From 538419a23ff571ccfae05b8791c790f42d3e907f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 17 Apr 2022 12:19:20 +1000 Subject: [PATCH 001/243] #1153 New markers and patterns for insulation batting, steel, and wood grain --- src/blenderbim/blenderbim/bim/data/styles/default.css | 10 +++++++++- .../blenderbim/bim/data/templates/markers.svg | 4 ++++ .../blenderbim/bim/data/templates/patterns.svg | 7 +++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index 2a5aadf779..4d52799fb2 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -25,7 +25,8 @@ text { fill: black; stroke: none; } .annotation { fill: none; stroke: black; stroke-linecap: 'round'; stroke-width: 0.25; } .solid {} .IfcAnnotation { fill: none; stroke: black; stroke-linecap: 'round'; stroke-width: 0.25; } -.PredefinedType-MISC { fill: red; stroke: blue; stroke-width: 1; } +.PredefinedType-MISC { stroke: black; stroke-width: 0.25; } +.PredefinedType-BACKGROUND { stroke: black; stroke-width: 0.18; } .PredefinedType-GRID { marker-start: url(#grid-marker); marker-end: url(#grid-marker); } .PredefinedType-SECTIONLEVEL { marker-start: url(#section-level-marker); stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-PLANLEVEL { marker-end: url(#plan-level-marker); } @@ -33,6 +34,8 @@ text { fill: black; stroke: none; } .PredefinedType-HIDDENLINE { stroke-dasharray: 3, 2; } .PredefinedType-STAIR { marker-start: url(#stair-marker-start); marker-end: url(#stair-marker-end); } .PredefinedType-BOUNDARY { fill: none; stroke: red; stroke-width: 1; stroke-dasharray: 12, 4, 3, 4, 3, 4; } +.PredefinedType-BATTING { marker-start: url(#batting); stroke: none; } +.PredefinedType-SEALANT { fill: url(#crosshatch1); stroke-width: 0.25; } .PredefinedType-TEXT { fill: black; stroke: none; } path.PredefinedType-TEXTLEADER { marker-end: url(#leader-marker); } text.PredefinedType-TEXTLEADER { fill: black; stroke: none; } @@ -54,3 +57,8 @@ text.PredefinedType-TEXTLEADER { fill: black; stroke: none; } .material-sand { fill: url(#sand); } .material-concrete { fill: url(#concrete); stroke-width: 0.5; } .IfcSpace { fill: none; stroke: none; } +.PredefinedType-STUD { stroke: black; stroke-width: 1; } +.PredefinedType-WOOD { fill: url(#wood); stroke: black; stroke-width: 0.5; } +.PredefinedType-STEEL { fill: url(#steel); stroke: black; stroke-width: 0.5; } +.PredefinedType-CONCRETE { fill: url(#concrete); stroke: black; stroke-width: 0.5; } +.PredefinedType-PLASTERBOARD { fill: url(#sand); stroke: black; stroke-width: 0.25; } diff --git a/src/blenderbim/blenderbim/bim/data/templates/markers.svg b/src/blenderbim/blenderbim/bim/data/templates/markers.svg index 3ba0be893a..a62a65dc4d 100644 --- a/src/blenderbim/blenderbim/bim/data/templates/markers.svg +++ b/src/blenderbim/blenderbim/bim/data/templates/markers.svg @@ -1,5 +1,9 @@ + + + + diff --git a/src/blenderbim/blenderbim/bim/data/templates/patterns.svg b/src/blenderbim/blenderbim/bim/data/templates/patterns.svg index 3a9ea5c53c..fffeff04e7 100644 --- a/src/blenderbim/blenderbim/bim/data/templates/patterns.svg +++ b/src/blenderbim/blenderbim/bim/data/templates/patterns.svg @@ -3,6 +3,10 @@ + + + + @@ -80,6 +84,9 @@ + + + Date: Sun, 17 Apr 2022 12:29:34 +1000 Subject: [PATCH 002/243] #1153 Drawings that are pure annotation now do not generate references --- .../blenderbim/bim/module/drawing/svgwriter.py | 6 +++--- src/blenderbim/blenderbim/core/drawing.py | 16 +++++++++++++++- src/blenderbim/blenderbim/core/root.py | 2 +- src/blenderbim/blenderbim/tool/drawing.py | 8 ++++++-- src/blenderbim/blenderbim/tool/root.py | 3 +++ src/blenderbim/test/core/test_drawing.py | 13 +++++++++++-- src/blenderbim/test/core/test_root.py | 6 ++++-- 7 files changed, 43 insertions(+), 11 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index b6e3407daf..16e3a0db72 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -149,9 +149,6 @@ class SvgWriter: self.draw_dimension_annotations(obj) self.draw_measureit_arch_dimension_annotations() - if self.annotations.get("break_obj"): - self.draw_break_annotations(self.annotations["break_obj"]) - for grid_obj in self.annotations.get("grid_objs", []): matrix_world = grid_obj.matrix_world classes = self.get_attribute_classes(grid_obj) @@ -293,6 +290,9 @@ class SvgWriter: for text_obj in self.annotations.get("text_objs", []): self.draw_text_annotation(text_obj, text_obj.location) + if self.annotations.get("break_obj"): + self.draw_break_annotations(self.annotations["break_obj"]) + def draw_ifc_annotation(self): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index 845d35ed89..d421d98a5c 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -115,7 +115,18 @@ def add_drawing(ifc, collector, drawing, target_view=None, location_hint=None): ifc.run("group.assign_group", group=group, product=element) collector.assign(camera) pset = ifc.run("pset.add_pset", product=element, name="EPset_Drawing") - ifc.run("pset.edit_pset", pset=pset, properties={"TargetView": target_view, "Scale": "1/100", "HumanScale": "1:100"}) + ifc.run( + "pset.edit_pset", + pset=pset, + properties={ + "TargetView": target_view, + "Scale": "1/100", + "HumanScale": "1:100", + "HasUnderlay": False, + "HasLinework": True, + "HasAnnotation": True, + }, + ) drawing.import_drawings() @@ -161,6 +172,9 @@ def add_annotation(ifc, collector, drawing_tool, drawing=None, object_type=None) def sync_references(ifc, collector, drawing_tool, drawing=None): + if not drawing_tool.has_linework(drawing): + return + context = drawing_tool.get_annotation_context(drawing_tool.get_drawing_target_view(drawing)) if not context: return diff --git a/src/blenderbim/blenderbim/core/root.py b/src/blenderbim/blenderbim/core/root.py index 534ba9ab15..bb3ede124c 100644 --- a/src/blenderbim/blenderbim/core/root.py +++ b/src/blenderbim/blenderbim/core/root.py @@ -21,6 +21,7 @@ def copy_class(ifc, collector, geometry, root, obj=None): element = ifc.get_entity(obj) if not element: return + representation = root.get_object_representation(obj) element = ifc.run("root.copy_class", product=element) ifc.link(element, obj) relating_type = root.get_element_type(element) @@ -28,7 +29,6 @@ def copy_class(ifc, collector, geometry, root, obj=None): ifc.run("type.map_type_representations", related_object=element, relating_type=relating_type) root.link_object_data(ifc.get_object(relating_type), obj) else: - representation = root.get_object_representation(obj) if representation: root.run_geometry_add_representation( obj=obj, diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 8926ae9b39..0007e7779c 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -176,7 +176,7 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def get_drawing_target_view(cls, drawing): - return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"]["TargetView"] + return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("TargetView", "MODEL_VIEW") @classmethod def get_group_elements(cls, group): @@ -730,7 +730,11 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def get_drawing_human_scale(cls, drawing): - return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"]["HumanScale"] + return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HumanScale", "NTS") + + @classmethod + def has_linework(cls, drawing): + return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HasLinework", False) @classmethod def get_annotation_element(cls, element): diff --git a/src/blenderbim/blenderbim/tool/root.py b/src/blenderbim/blenderbim/tool/root.py index 3225907780..cf1fbecb20 100644 --- a/src/blenderbim/blenderbim/tool/root.py +++ b/src/blenderbim/blenderbim/tool/root.py @@ -58,6 +58,9 @@ class Root(blenderbim.core.tool.Root): def get_object_representation(cls, obj): if obj.data and obj.data.BIMMeshProperties.ifc_definition_id: return tool.Ifc.get().by_id(obj.data.BIMMeshProperties.ifc_definition_id) + element = tool.Ifc.get_entity(obj) + if not obj.data and getattr(element, "ObjectType", None) == "TEXT": + return element.Representation.Representations[0] @classmethod def get_representation_context(cls, representation): diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index a18d3fa140..4cfa4b6d10 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -121,7 +121,7 @@ class TestOpenSheet: class TestRemoveSheet: def test_run(self, ifc, drawing): - ifc.run("document.remove_document", document="sheet").should_be_called() + ifc.run("document.remove_information", information="sheet").should_be_called() drawing.import_sheets().should_be_called() subject.remove_sheet(ifc, drawing, sheet="sheet") @@ -162,7 +162,16 @@ class TestAddDrawing: collector.assign("obj").should_be_called() ifc.run("pset.add_pset", product="element", name="EPset_Drawing").should_be_called().will_return("pset") ifc.run( - "pset.edit_pset", pset="pset", properties={"TargetView": "target_view", "Scale": "1/100"} + "pset.edit_pset", + pset="pset", + properties={ + "TargetView": "target_view", + "Scale": "1/100", + "HumanScale": "1:100", + "HasUnderlay": False, + "HasLinework": True, + "HasAnnotation": True, + }, ).should_be_called() drawing.import_drawings().should_be_called() subject.add_drawing(ifc, collector, drawing, target_view="target_view", location_hint="location_hint") diff --git a/src/blenderbim/test/core/test_root.py b/src/blenderbim/test/core/test_root.py index 79abb8bcf6..1e37e1d926 100644 --- a/src/blenderbim/test/core/test_root.py +++ b/src/blenderbim/test/core/test_root.py @@ -28,6 +28,7 @@ class TestCopyClass: def test_copy_with_new_geometry_derived_from_the_type(self, ifc, collector, root): ifc.get_entity("obj").should_be_called().will_return("original_element") + root.get_object_representation("obj").should_be_called().will_return("representation") ifc.run("root.copy_class", product="original_element").should_be_called().will_return("element") ifc.link("element", "obj").should_be_called() root.get_element_type("element").should_be_called().will_return("type") @@ -41,12 +42,12 @@ class TestCopyClass: def test_copy_with_new_geometry_added_afresh_for_speed(self, ifc, collector, geometry, root): ifc.get_entity("obj").should_be_called().will_return("original_element") + root.get_object_representation("obj").should_be_called().will_return("representation") ifc.run("root.copy_class", product="original_element").should_be_called().will_return("element") ifc.link("element", "obj").should_be_called() root.get_element_type("element").should_be_called().will_return("type") root.does_type_have_representations("type").should_be_called().will_return(False) - root.get_object_representation("obj").should_be_called().will_return("representation") root.get_representation_context("representation").should_be_called().will_return("context") geometry.get_ifc_representation_class("element", "representation").should_be_called().will_return( "ifc_representation_class" @@ -64,17 +65,18 @@ class TestCopyClass: def test_copy_with_no_new_geometry(self, ifc, collector, geometry, root): ifc.get_entity("obj").should_be_called().will_return("original_element") + root.get_object_representation("obj").should_be_called().will_return(None) ifc.run("root.copy_class", product="original_element").should_be_called().will_return("element") ifc.link("element", "obj").should_be_called() root.get_element_type("element").should_be_called().will_return("type") root.does_type_have_representations("type").should_be_called().will_return(False) - root.get_object_representation("obj").should_be_called().will_return(None) collector.assign("obj").should_be_called() root.is_opening_element("element").should_be_called().will_return(False) subject.copy_class(ifc, collector, geometry, root, obj="obj") def test_copied_openings_have_dynamic_voids_added(self, ifc, collector, root): ifc.get_entity("obj").should_be_called().will_return("original_element") + root.get_object_representation("obj").should_be_called().will_return(None) ifc.run("root.copy_class", product="original_element").should_be_called().will_return("element") ifc.link("element", "obj").should_be_called() root.get_element_type("element").should_be_called().will_return("type") From 6fb3c28f1a72055dada5906a919743d88c5d19be Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 17 Apr 2022 18:41:19 +1000 Subject: [PATCH 003/243] #1153 Switching representations for annotations and drawing cameras now works --- src/blenderbim/blenderbim/tool/geometry.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index ed146e454f..403fcce455 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -202,9 +202,16 @@ class Geometry(blenderbim.core.tool.Geometry): ifc_importer = blenderbim.bim.import_ifc.IfcImporter(ifc_import_settings) ifc_importer.file = tool.Ifc.get() - mesh = ifc_importer.create_mesh(element, shape) - ifc_importer.material_creator.load_existing_materials() - ifc_importer.material_creator.create(element, obj, mesh) + + if element.is_a("IfcAnnotation") and element.ObjectType == "DRAWING": + mesh = ifc_importer.create_camera(element, shape) + if element.is_a("IfcAnnotation") and ifc_importer.is_curve_annotation(element): + mesh = ifc_importer.create_curve(element, shape) + elif shape: + mesh = ifc_importer.create_mesh(element, shape) + ifc_importer.material_creator.load_existing_materials() + ifc_importer.material_creator.create(element, obj, mesh) + return mesh @classmethod From f70ab060e3cb9a486f00d89ca2812a0dd6a9eb1c Mon Sep 17 00:00:00 2001 From: CyrilWaechter Date: Sun, 17 Apr 2022 15:10:18 +0200 Subject: [PATCH 004/243] Add default when getting space collection A case has been encountered where space object and space collection did not share the same name (eg. space.0011 and space.0021). @Moult I wonder if it is expected or if there is a consistency issue with space object/collection naming. --- src/blenderbim/blenderbim/bim/module/boundary/operator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/boundary/operator.py b/src/blenderbim/blenderbim/bim/module/boundary/operator.py index 2aad9c1bc2..4fd108d1fc 100644 --- a/src/blenderbim/blenderbim/bim/module/boundary/operator.py +++ b/src/blenderbim/blenderbim/bim/module/boundary/operator.py @@ -26,7 +26,7 @@ import blenderbim.bim.import_ifc as import_ifc def get_boundaries_collection(blender_space): - space_collection = bpy.data.collections.get(blender_space.name) + space_collection = bpy.data.collections.get(blender_space.name, blender_space.users_collection[0]) collection_name = f"Boundaries/{blender_space.BIMObjectProperties.ifc_definition_id}" boundaries_collection = space_collection.children.get(collection_name) if not boundaries_collection: From ca502cc2934d77d6d207c1fbe3f9c02ef0689b5f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 18 Apr 2022 10:26:03 +1000 Subject: [PATCH 005/243] #1153 Fix bugs with importing existing annotations --- src/blenderbim/blenderbim/bim/import_ifc.py | 31 +++++-------------- .../blenderbim/bim/module/drawing/operator.py | 10 +++--- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index cb41036dd8..e5e35d110a 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -1509,9 +1509,10 @@ class IfcImporter: return self.structural_member_collection.objects.link(obj) elif element.is_a("IfcStructuralConnection"): return self.structural_connection_collection.objects.link(obj) - elif element.is_a("IfcAnnotation") and self.is_drawing_annotation(element): - group = [r for r in element.HasAssignments if r.is_a("IfcRelAssignsToGroup")][0].RelatingGroup - return self.collections[group.GlobalId].objects.link(obj) + elif element.is_a("IfcAnnotation"): + group = self.get_drawing_group(element) + if group: + return self.collections[group.GlobalId].objects.link(obj) container = ifcopenshell.util.element.get_container(element) if container: @@ -1531,32 +1532,16 @@ class IfcImporter: return element.ObjectType in [ "DIMENSION", "EQUAL_DIMENSION", - "MISC", "PLAN_LEVEL", "SECTION_LEVEL", "STAIR_ARROW", "TEXT_LEADER", ] - def is_drawing_annotation(self, element): - return element.ObjectType in [ - "BREAKLINE", - "DIMENSION", - "DRAWING", - "EQUAL_DIMENSION", - "GRID", - "HIDDEN_LINE", - "MISC", - "PLAN_LEVEL", - "SECTION_LEVEL", - "STAIR_ARROW", - "TEXT", - "TEXT_LEADER", - "LEADER", - "HATCH", - "LINEWORK", - "AREA", - ] + def get_drawing_group(self, element): + for rel in element.HasAssignments or []: + if rel.is_a("IfcRelAssignsToGroup"): + return rel.RelatingGroup def get_element_matrix(self, element): result = ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 940afb575f..dd498fd9f0 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -442,13 +442,15 @@ class CreateDrawing(bpy.types.Operator): svg_writer.camera_height = height svg_writer.camera_projection = tuple(camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) - for obj in camera.users_collection[0].objects: - if "IfcAnnotation/" not in obj.name: + for element in tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element)): + if not element.is_a("IfcAnnotation"): + continue + obj = tool.Ifc.get_object(element) + if not obj: continue - element = tool.Ifc.get_entity(obj) if element.ObjectType == "GRID": svg_writer.annotations.setdefault("grid_objs", []).append(obj) - elif obj.type == "CAMERA": + elif element.ObjectType == "DRAWING": continue elif element.ObjectType == "TEXT_LEADER": svg_writer.annotations.setdefault("leader_objs", []).append(obj) From 9fc0baf1755c7647a2ca4603ebbc18c325c32986 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 18 Apr 2022 10:27:06 +1000 Subject: [PATCH 006/243] #1153 Add support for IfcAnnotationFillArea representation --- .../api/geometry/add_representation.py | 47 ++++++++++++++++--- .../ifcopenshell/util/element.py | 4 +- .../test/util/test_element.py | 5 ++ 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py index 9bac3ba502..99fa4d658e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py @@ -149,9 +149,7 @@ class Usecase: shape_representation.Items = items return shape_representation elif self.settings["context"].ContextIdentifier == "Annotation": - shape_representation = self.create_geometric_curve_set_representation(is_2d=True) - shape_representation.RepresentationType = "Annotation2D" - return shape_representation + return self.create_annotation2d_representation() elif self.settings["context"].ContextIdentifier == "Axis": return self.create_curve2d_representation() elif self.settings["context"].ContextIdentifier == "Body": @@ -172,9 +170,7 @@ class Usecase: elif self.settings["context"].ContextIdentifier == "SurveyPoints": pass else: - shape_representation = self.create_geometric_curve_set_representation(is_2d=True) - shape_representation.RepresentationType = "Annotation2D" - return shape_representation + return self.create_annotation2d_representation() def create_lighting_representation(self): return self.file.createIfcShapeRepresentation( @@ -293,6 +289,33 @@ class Usecase: self.create_curves(is_2d=True), ) + def create_annotation_fill_areas(self): + items = [] + if self.file.schema != "IFC2X3": + points = self.create_cartesian_point_list_from_vertices(self.settings["geometry"].vertices, is_2d=True) + for polygon in self.settings["geometry"].polygons: + if self.file.schema == "IFC2X3": + curve = self.create_curve_from_polygon_ifc2x3(polygon, is_2d=True) + else: + curve = self.create_curve_from_polygon(points, polygon, is_2d=True) + items.append(self.file.createIfcAnnotationFillArea(OuterBoundary=curve)) + return items + + def create_curve_from_polygon(self, points, polygon, is_2d=False): + indices = list(polygon.vertices) + indices.append(indices[0]) + edge_loop = [self.file.createIfcLineIndex((v1 + 1, v2 + 1)) for v1, v2 in zip(indices, indices[1:])] + return self.file.createIfcIndexedPolyCurve(points, edge_loop) + + def create_curve_from_polygon_ifc2x3(self, polygon, is_2d=False): + indices = list(polygon.vertices) + indices.append(indices[0]) + points = [ + self.create_cartesian_point(v.co.x, v.co.y, v.co.z if not is_2d else None) + for v in self.settings["geometry"].vertices + ] + return self.file.createIfcPolyline([points[i] for i in indices]) + def create_curves(self, is_2d=False): if isinstance(self.settings["geometry"], bpy.types.Mesh): if self.file.schema == "IFC2X3": @@ -600,6 +623,18 @@ class Usecase: return (co / self.settings["unit_scale"]) + self.settings["coordinate_offset"] return co / self.settings["unit_scale"] + def create_annotation2d_representation(self): + if isinstance(self.settings["geometry"], bpy.types.Mesh) and len(self.settings["geometry"].polygons): + items = self.create_annotation_fill_areas() + else: + items = [self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=True))] + return self.file.createIfcShapeRepresentation( + self.settings["context"], + self.settings["context"].ContextIdentifier, + "Annotation2D", + items, + ) + def create_geometric_curve_set_representation(self, is_2d=False): geometric_curve_set = self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=is_2d)) return self.file.createIfcShapeRepresentation( diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index caa618d373..a3813e5d85 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -89,12 +89,12 @@ def get_predefined_type(element): element_type = get_type(element) if element_type: predefined_type = getattr(element_type, "PredefinedType", None) - if predefined_type == "USERDEFINED": + if predefined_type == "USERDEFINED" or not predefined_type: predefined_type = getattr(element_type, "ElementType", None) if predefined_type and predefined_type != "NOTDEFINED": return predefined_type predefined_type = getattr(element, "PredefinedType", None) - if predefined_type == "USERDEFINED": + if predefined_type == "USERDEFINED" or not predefined_type: predefined_type = getattr(element, "ObjectType", None) return predefined_type diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index 8a14e6993f..e2b9c72a80 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -148,6 +148,11 @@ class TestGetPredefinedTypeIFC4(test.bootstrap.IFC4): element.ObjectType = "FOOBAR" assert subject.get_predefined_type(element) == "FOOBAR" + def test_getting_an_element_type_without_a_predefined_type_attribute(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcAnnotation") + element.ObjectType = "FOOBAR" + assert subject.get_predefined_type(element) == "FOOBAR" + def test_getting_an_inherited_predefined_type(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") From 647a5105b5b460b2eb577047929958bbcd8cf41e Mon Sep 17 00:00:00 2001 From: renjianqiang Date: Sun, 17 Apr 2022 13:40:12 +0800 Subject: [PATCH 007/243] Fix the bug that can't install python when IFCOS_INSTALL_PYTHON is true --- win/build-deps.cmd | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 3d5b705bd0..ad208015d5 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -403,16 +403,15 @@ rmdir /s /q "%INSTALL_DIR%\opencascade-%OCCT_VERSION%\samples" del "%INSTALL_DIR%\opencascade-%OCCT_VERSION%\*.bat" :Python +set DEPENDENCY_NAME=Python %PYTHON_VERSION% +set DEPENDENCY_DIR=N/A +set PYTHON_AMD64_POSTFIX=.amd64 +:: NOTE/TODO Beginning from 3.5.0: set PYTHON_AMD64_POSTFIX=-amd64 +IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= +:: NOTE/TODO 3.5.0 doesn't use MSI any longer, but exe: set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.exe +set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi + IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( - set DEPENDENCY_NAME=Python %PYTHON_VERSION% - set DEPENDENCY_DIR=N/A - - set PYTHON_AMD64_POSTFIX=.amd64 - :: NOTE/TODO Beginning from 3.5.0: set PYTHON_AMD64_POSTFIX=-amd64 - IF NOT %TARGET_ARCH%==x64 set PYTHON_AMD64_POSTFIX= - :: NOTE/TODO 3.5.0 doesn't use MSI any longer, but exe: set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.exe - set PYTHON_INSTALLER=python-%PYTHON_VERSION%%PYTHON_AMD64_POSTFIX%.msi - cd "%DEPS_DIR%" call :DownloadFile https://www.python.org/ftp/python/%PYTHON_VERSION%/%PYTHON_INSTALLER% "%DEPS_DIR%" %PYTHON_INSTALLER% IF NOT %ERRORLEVEL%==0 GOTO :Error From 2cd7b08c474039be1b8ccdc94ea6be4c53684c13 Mon Sep 17 00:00:00 2001 From: renjianqiang Date: Sun, 17 Apr 2022 13:49:46 +0800 Subject: [PATCH 008/243] Fix the problem that build dependencies failed under Debug mode --- win/build-deps.cmd | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index ad208015d5..6eb6bee01d 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -210,10 +210,10 @@ if NOT "%USE_STATIC_RUNTIME%"=="FALSE" git apply "%~dp0patches\mpir_runtime.patc IF NOT %ERRORLEVEL%==0 GOTO :Error cd msvc cd vs%VS_VER:~2,2% -call .\msbuild.bat gc LIB %VS_PLATFORM% Release +call .\msbuild.bat gc LIB %VS_PLATFORM% %DEBUG_OR_RELEASE% IF NOT %ERRORLEVEL%==0 GOTO :Error IF NOT EXIST "%INSTALL_DIR%\mpir". mkdir "%INSTALL_DIR%\mpir" -copy ..\..\lib\%VS_PLATFORM%\Release\* "%INSTALL_DIR%\mpir" +copy ..\..\lib\%VS_PLATFORM%\%DEBUG_OR_RELEASE%\* "%INSTALL_DIR%\mpir" IF NOT %ERRORLEVEL%==0 GOTO :Error :mpfr @@ -235,9 +235,9 @@ if "%VS_VER%"=="2017" ( call :BuildSolution "%DEPENDENCY_DIR%\%mpfr_sln%\lib_mpfr.sln" %DEBUG_OR_RELEASE% lib_mpfr IF NOT %ERRORLEVEL%==0 GOTO :Error REM This command fails because not all msvc projects are patched with the right sdk version -IF NOT EXIST lib\%VS_PLATFORM%\Release\mpfr.lib GOTO :Error +IF NOT EXIST lib\%VS_PLATFORM%\%DEBUG_OR_RELEASE%\mpfr.lib GOTO :Error IF NOT EXIST "%INSTALL_DIR%\mpfr". mkdir "%INSTALL_DIR%\mpfr" -copy lib\%VS_PLATFORM%\Release\* "%INSTALL_DIR%\mpfr" +copy lib\%VS_PLATFORM%\%DEBUG_OR_RELEASE%\* "%INSTALL_DIR%\mpfr" IF NOT %ERRORLEVEL%==0 GOTO :Error :HDF5 From 1705e6f565554aa601aa4111e775935ae1747019 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 19 Apr 2022 15:33:09 +0200 Subject: [PATCH 009/243] Changes for mpfr toolset discussed in #1993 --- win/build-deps.cmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 6eb6bee01d..c14f0352be 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -229,9 +229,12 @@ if NOT "%USE_STATIC_RUNTIME%"=="FALSE" git apply "%~dp0patches\mpfr_runtime.patc IF NOT %ERRORLEVEL%==0 GOTO :Error if "%VS_VER%"=="2017" ( set mpfr_sln=build.vc15 + set orig_platform_toolset=v141 ) else ( set mpfr_sln=build.vs19 + set orig_platform_toolset=v142 ) +powershell -c "get-childitem %DEPENDENCY_DIR%\%mpfr_sln% -recurse -include *.vcxproj | select -expand fullname | foreach { (Get-Content $_) -replace '%orig_platform_toolset%', 'v%VC_VER:.=%' | Set-Content $_ }" call :BuildSolution "%DEPENDENCY_DIR%\%mpfr_sln%\lib_mpfr.sln" %DEBUG_OR_RELEASE% lib_mpfr IF NOT %ERRORLEVEL%==0 GOTO :Error REM This command fails because not all msvc projects are patched with the right sdk version From 2c301d734b1696c3f74c8b6767437499c535b109 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 20 Apr 2022 16:27:55 +1000 Subject: [PATCH 010/243] #1153 You can now specify the ZIndex of 2D annotations --- .../bim/data/pset/EPset_Annotation.ifc | 11 + .../blenderbim/bim/module/drawing/operator.py | 42 +- .../bim/module/drawing/svgwriter.py | 363 +++++++++--------- src/blenderbim/blenderbim/tool/drawing.py | 4 + 4 files changed, 191 insertions(+), 229 deletions(-) create mode 100644 src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc new file mode 100644 index 0000000000..d4af62a002 --- /dev/null +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc @@ -0,0 +1,11 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION((),'2;1'); +FILE_NAME('EPset_Annotation.ifc','2020-01-01T00:00:00',(),(),'EPset_Annotation','EPset_Annotation',$); +FILE_SCHEMA(('IFC4')); +ENDSEC; +DATA; +#1=IFCPROPERTYSETTEMPLATE('3VuPUwdCD2Qx3XDDRs0R1N',$,'EPset_Annotation','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2)); +#2=IFCSIMPLEPROPERTYTEMPLATE('2P7JN79n96Q9pElZ83LKe4',$,'ZIndex','',.P_SINGLEVALUE.,'IfcInteger',$,$,$,$,$,.READWRITE.); +ENDSEC; +END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index dd498fd9f0..cd53cbb40e 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -442,46 +442,10 @@ class CreateDrawing(bpy.types.Operator): svg_writer.camera_height = height svg_writer.camera_projection = tuple(camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) - for element in tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element)): - if not element.is_a("IfcAnnotation"): - continue - obj = tool.Ifc.get_object(element) - if not obj: - continue - if element.ObjectType == "GRID": - svg_writer.annotations.setdefault("grid_objs", []).append(obj) - elif element.ObjectType == "DRAWING": - continue - elif element.ObjectType == "TEXT_LEADER": - svg_writer.annotations.setdefault("leader_objs", []).append(obj) - elif element.ObjectType == "STAIR_ARROW": - svg_writer.annotations["stair_obj"] = obj - elif element.ObjectType == "EQUAL_DIMENSION": - svg_writer.annotations.setdefault("equal_objs", []).append(obj) - elif element.ObjectType == "DIMENSION": - svg_writer.annotations.setdefault("dimension_objs", []).append(obj) - elif element.ObjectType == "ELEVATION": - svg_writer.annotations.setdefault("elevation_objs", []).append(obj) - elif element.ObjectType == "SECTION": - svg_writer.annotations.setdefault("section_objs", []).append(obj) - elif element.ObjectType == "BREAKLINE": - svg_writer.annotations["break_obj"] = obj - elif element.ObjectType == "HIDDEN_LINE": - svg_writer.annotations.setdefault("hidden_objs", []).append((obj, obj.data)) - elif element.ObjectType == "SOLID_LINE": - svg_writer.annotations.setdefault("solid_objs", []).append((obj, obj.data)) - elif element.ObjectType == "PLAN_LEVEL": - svg_writer.annotations.setdefault("plan_level_objs", []).append(obj) - elif element.ObjectType == "SECTION_LEVEL": - svg_writer.annotations["section_level_obj"] = obj - elif element.ObjectType == "TEXT": - svg_writer.annotations.setdefault("text_objs", []).append(obj) - else: - svg_writer.annotations.setdefault("misc_objs", []).append(obj) + elements = tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element)) + svg_writer.annotations = sorted(elements, key=lambda a : tool.Drawing.get_annotation_z_index(a)) - svg_writer.annotations["attributes"] = [a.name for a in drawing_style.attributes] - # TODO: This was the old 2D annotation box checking system, prepare to deprecate - svg_writer.annotations["annotation_objs"] = [] + #svg_writer.annotations["attributes"] = [a.name for a in drawing_style.attributes] svg_writer.write("annotation") return svg_writer.output diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 16e3a0db72..c312a17c83 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -65,7 +65,7 @@ class SvgWriter: self.data_dir = None self.vector_style = None self.human_scale = "NTS" - self.annotations = {} + self.annotations = [] self.background_image = None self.scale = 1 / 100 # 1:100 @@ -140,178 +140,163 @@ class SvgWriter: self.draw_line(element, "background") def draw_annotations(self): - x_offset = self.raw_width / 2 - y_offset = self.raw_height / 2 + for element in self.annotations: + obj = tool.Ifc.get_object(element) + if not obj or element.ObjectType == "DRAWING": + continue + elif element.ObjectType == "GRID": + self.draw_grid_annotation(obj) + elif element.ObjectType == "TEXT_LEADER": + self.draw_leader_annotation(obj) + elif element.ObjectType == "STAIR_ARROW": + self.draw_stair_annotation(obj) + elif element.ObjectType == "EQUAL_DIMENSION": + self.draw_dimension_annotations(obj, text_override="EQ") + elif element.ObjectType == "DIMENSION": + self.draw_dimension_annotations(obj) + elif element.ObjectType == "ELEVATION": + self.draw_elevation_annotation(obj) + elif element.ObjectType == "SECTION": + self.draw_section_annotation(obj) + elif element.ObjectType == "BREAKLINE": + self.draw_break_annotations(obj) + elif element.ObjectType == "HIDDEN_LINE": + self.draw_line_annotation(obj) + elif element.ObjectType == "PLAN_LEVEL": + self.draw_plan_level_annotation(obj) + elif element.ObjectType == "SECTION_LEVEL": + self.draw_section_level_annotation(obj) + elif element.ObjectType == "TEXT": + self.draw_text_annotation(obj, obj.location) + else: + self.draw_misc_annotation(obj) - for obj in self.annotations.get("equal_objs", []): - self.draw_dimension_annotations(obj, text_override="EQ") - for obj in self.annotations.get("dimension_objs", []): - self.draw_dimension_annotations(obj) + # Experimental integration with the MeasureIt-ARCH Add-on self.draw_measureit_arch_dimension_annotations() - for grid_obj in self.annotations.get("grid_objs", []): - matrix_world = grid_obj.matrix_world - classes = self.get_attribute_classes(grid_obj) - for edge in grid_obj.data.edges: - v0_global = matrix_world @ grid_obj.data.vertices[edge.vertices[0]].co.xyz - v1_global = matrix_world @ grid_obj.data.vertices[edge.vertices[1]].co.xyz - v0 = self.project_point_onto_camera(v0_global) - v1 = self.project_point_onto_camera(v1_global) - start = Vector(((x_offset + v0.x), (y_offset - v0.y))) - end = Vector(((x_offset + v1.x), (y_offset - v1.y))) - vector = end - start - line = self.svg.add( - self.svg.line( - start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes) - ) - ) - line["stroke-dasharray"] = "12.5, 3, 3, 3" - axis_tag = tool.Ifc.get_entity(grid_obj).Name - self.svg.add( - self.svg.text( - axis_tag, - insert=tuple(start * self.scale), - **{ - "font-size": annotation.Annotator.get_svg_text_size(5.0), - "font-family": "OpenGost Type B TT", - "text-anchor": "middle", - "alignment-baseline": "middle", - "dominant-baseline": "middle", - }, - ) - ) - self.svg.add( - self.svg.text( - axis_tag, - insert=tuple(end * self.scale), - **{ - "font-size": annotation.Annotator.get_svg_text_size(5.0), - "font-family": "OpenGost Type B TT", - "text-anchor": "middle", - "alignment-baseline": "middle", - "dominant-baseline": "middle", - }, - ) - ) - - self.draw_ifc_annotation() - - for obj in self.annotations.get("misc_objs", []): - self.draw_misc_annotation(obj) - - for obj_data in self.annotations.get("hidden_objs", []): - self.draw_line_annotation(obj_data) - - for obj_data in self.annotations.get("solid_objs", []): - self.draw_line_annotation(obj_data) - - self.draw_leader_annotations() - - for obj in self.annotations.get("plan_level_objs", []): - self.draw_plan_level_annotation(obj) - - if self.annotations.get("section_level_obj"): - matrix_world = self.annotations["section_level_obj"].matrix_world - classes = self.get_attribute_classes(self.annotations["section_level_obj"]) - for spline in self.annotations["section_level_obj"].data.splines: - points = self.get_spline_points(spline) - projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] - d = " ".join( - [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) - for p in projected_points - ] - ) - d = "M{}".format(d[1:]) - path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) - text_position = Vector( - ( - (x_offset + projected_points[0].x) * self.scale, - ((y_offset - projected_points[0].y) * self.scale) - 3.5, - ) - ) - # TODO: allow metric to be configurable - rl = (matrix_world @ points[0].co.xyz).z - if bpy.context.scene.unit_settings.system == "IMPERIAL": - rl = helper.format_distance(rl) - else: - rl = "{:.3f}m".format(rl) - self.svg.add( - self.svg.text( - "RL +{}".format(rl), - insert=tuple(text_position), - **{ - "font-size": annotation.Annotator.get_svg_text_size(2.5), - "font-family": "OpenGost Type B TT", - "text-anchor": "start", - "alignment-baseline": "baseline", - "dominant-baseline": "baseline", - }, - ) - ) - - if self.annotations.get("stair_obj"): - matrix_world = self.annotations["stair_obj"].matrix_world - classes = self.get_attribute_classes(self.annotations["stair_obj"]) - for spline in self.annotations["stair_obj"].data.splines: - points = self.get_spline_points(spline) - projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] - d = " ".join( - [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) - for p in projected_points - ] - ) - d = "M{}".format(d[1:]) - start = Vector(((x_offset + projected_points[0].x), (y_offset - projected_points[0].y))) - next_point = Vector(((x_offset + projected_points[1].x), (y_offset - projected_points[1].y))) - text_position = (start * self.scale) - ((next_point - start).normalized() * 5) - path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) - self.svg.add( - self.svg.text( - "UP", - insert=tuple(text_position), - **{ - "font-size": annotation.Annotator.get_svg_text_size(2.5), - "font-family": "OpenGost Type B TT", - "text-anchor": "middle", - "alignment-baseline": "middle", - "dominant-baseline": "middle", - }, - ) - ) - - for obj in self.annotations.get("elevation_objs", []): - self.draw_elevation_annotation(obj) - - for obj in self.annotations.get("section_objs", []): - self.draw_section_annotation(obj) - - for text_obj in self.annotations.get("text_objs", []): - self.draw_text_annotation(text_obj, text_obj.location) - - if self.annotations.get("break_obj"): - self.draw_break_annotations(self.annotations["break_obj"]) - - def draw_ifc_annotation(self): + def draw_section_level_annotation(self, obj): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 - for annotation in self.annotations.get("annotation_objs", []): - for edge in annotation["edges"]: - v0_global = annotation["vertices"][edge[0]] - v1_global = annotation["vertices"][edge[1]] - v0 = self.project_point_onto_camera(v0_global) - v1 = self.project_point_onto_camera(v1_global) - start = Vector(((x_offset + v0.x), (y_offset - v0.y))) - end = Vector(((x_offset + v1.x), (y_offset - v1.y))) - vector = end - start - line = self.svg.add( - self.svg.line( - start=tuple(start * self.scale), - end=tuple(end * self.scale), - class_=" ".join(annotation["classes"]), - ) + matrix_world = obj.matrix_world + classes = self.get_attribute_classes(obj) + for spline in obj.data.splines: + points = self.get_spline_points(spline) + projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] + d = " ".join( + [ + "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + for p in projected_points + ] + ) + d = "M{}".format(d[1:]) + path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) + text_position = Vector( + ( + (x_offset + projected_points[0].x) * self.scale, + ((y_offset - projected_points[0].y) * self.scale) - 3.5, ) + ) + # TODO: allow metric to be configurable + rl = (matrix_world @ points[0].co.xyz).z + if bpy.context.scene.unit_settings.system == "IMPERIAL": + rl = helper.format_distance(rl) + else: + rl = "{:.3f}m".format(rl) + self.svg.add( + self.svg.text( + "RL +{}".format(rl), + insert=tuple(text_position), + **{ + "font-size": annotation.Annotator.get_svg_text_size(2.5), + "font-family": "OpenGost Type B TT", + "text-anchor": "start", + "alignment-baseline": "baseline", + "dominant-baseline": "baseline", + }, + ) + ) + + + def draw_stair_annotation(self, obj): + x_offset = self.raw_width / 2 + y_offset = self.raw_height / 2 + matrix_world = obj.matrix_world + classes = self.get_attribute_classes(obj) + for spline in obj.data.splines: + points = self.get_spline_points(spline) + projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] + d = " ".join( + [ + "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + for p in projected_points + ] + ) + d = "M{}".format(d[1:]) + start = Vector(((x_offset + projected_points[0].x), (y_offset - projected_points[0].y))) + next_point = Vector(((x_offset + projected_points[1].x), (y_offset - projected_points[1].y))) + text_position = (start * self.scale) - ((next_point - start).normalized() * 5) + path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) + self.svg.add( + self.svg.text( + "UP", + insert=tuple(text_position), + **{ + "font-size": annotation.Annotator.get_svg_text_size(2.5), + "font-family": "OpenGost Type B TT", + "text-anchor": "middle", + "alignment-baseline": "middle", + "dominant-baseline": "middle", + }, + ) + ) + + def draw_grid_annotation(self, obj): + x_offset = self.raw_width / 2 + y_offset = self.raw_height / 2 + matrix_world = obj.matrix_world + classes = self.get_attribute_classes(obj) + for edge in obj.data.edges: + v0_global = matrix_world @ obj.data.vertices[edge.vertices[0]].co.xyz + v1_global = matrix_world @ obj.data.vertices[edge.vertices[1]].co.xyz + v0 = self.project_point_onto_camera(v0_global) + v1 = self.project_point_onto_camera(v1_global) + start = Vector(((x_offset + v0.x), (y_offset - v0.y))) + end = Vector(((x_offset + v1.x), (y_offset - v1.y))) + vector = end - start + line = self.svg.add( + self.svg.line( + start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes) + ) + ) + line["stroke-dasharray"] = "12.5, 3, 3, 3" + axis_tag = tool.Ifc.get_entity(obj).Name + self.svg.add( + self.svg.text( + axis_tag, + insert=tuple(start * self.scale), + **{ + "font-size": annotation.Annotator.get_svg_text_size(5.0), + "font-family": "OpenGost Type B TT", + "text-anchor": "middle", + "alignment-baseline": "middle", + "dominant-baseline": "middle", + }, + ) + ) + self.svg.add( + self.svg.text( + axis_tag, + insert=tuple(end * self.scale), + **{ + "font-size": annotation.Annotator.get_svg_text_size(5.0), + "font-family": "OpenGost Type B TT", + "text-anchor": "middle", + "alignment-baseline": "middle", + "dominant-baseline": "middle", + }, + ) + ) + def draw_misc_annotation(self, obj): # We have to decide whether this should come from Blender or from IFC. @@ -346,12 +331,13 @@ class SvgWriter: str(ifcopenshell.util.element.get_predefined_type(element)) ) classes = [global_id, element.is_a(), predefined_type] - for attribute in self.annotations.get("attributes", []): - result = self.get_obj_value(obj, attribute) - if result: - classes.append( - "{}-{}".format(re.sub("[^0-9a-zA-Z]+", "", attribute), re.sub("[^0-9a-zA-Z]+", "", result)) - ) + # TODO: reimplement + # for attribute in self.annotations.get("attributes", []): + # result = self.get_obj_value(obj, attribute) + # if result: + # classes.append( + # "{}-{}".format(re.sub("[^0-9a-zA-Z]+", "", attribute), re.sub("[^0-9a-zA-Z]+", "", result)) + # ) return classes def canonicalise_class_name(self, name): @@ -382,18 +368,16 @@ class SvgWriter: if result: return result.string_value - def draw_line_annotation(self, obj_data): + def draw_line_annotation(self, obj): # TODO: properly scope these offsets x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 - obj, data = obj_data - classes = self.get_attribute_classes(obj) matrix_world = obj.matrix_world - if isinstance(data, bpy.types.Curve): - for spline in data.splines: + if isinstance(obj.data, bpy.types.Curve): + for spline in obj.data.splines: points = self.get_spline_points(spline) projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] d = " ".join( @@ -404,7 +388,7 @@ class SvgWriter: ) d = "M{}".format(d[1:]) path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) - elif isinstance(data, bpy.types.Mesh): + elif isinstance(obj.data, bpy.types.Mesh): self.draw_edge_annotation(obj, classes) def draw_edge_annotation(self, obj, classes): @@ -423,22 +407,21 @@ class SvgWriter: self.svg.line(start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes)) ) - def draw_leader_annotations(self): - for obj in self.annotations.get("leader_objs", []): - self.draw_line_annotation((obj, obj.data)) - spline = obj.data.splines[0] - spline_points = spline.bezier_points if spline.bezier_points else spline.points - if spline_points: - position = obj.matrix_world @ spline_points[0].co.xyz - else: - position = Vector((0, 0, 0)) - self.draw_text_annotation(obj, position) + def draw_leader_annotation(self, obj): + self.draw_line_annotation(obj) + spline = obj.data.splines[0] + spline_points = spline.bezier_points if spline.bezier_points else spline.points + if spline_points: + position = obj.matrix_world @ spline_points[0].co.xyz + else: + position = Vector((0, 0, 0)) + self.draw_text_annotation(obj, position) def draw_section_annotation(self, obj): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 - self.draw_line_annotation((obj, obj.data)) + self.draw_line_annotation(obj) v1 = self.project_point_onto_camera(obj.matrix_world @ Vector((0, 0, 0))) v2 = self.project_point_onto_camera(obj.matrix_world @ Vector((0, 0, -1))) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 0007e7779c..e3b2dbce36 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -732,6 +732,10 @@ class Drawing(blenderbim.core.tool.Drawing): def get_drawing_human_scale(cls, drawing): return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HumanScale", "NTS") + @classmethod + def get_annotation_z_index(cls, drawing): + return ifcopenshell.util.element.get_psets(drawing).get("EPset_Annotation", {}).get("ZIndex", 0) + @classmethod def has_linework(cls, drawing): return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HasLinework", False) From 3aa7f8e4c8492c4fb523fd0ded47ea2f0d1e258a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 21 Apr 2022 09:07:42 +1000 Subject: [PATCH 011/243] #2150 Fix bug where manual offsets and autodetected offset could stack --- src/blenderbim/blenderbim/bim/import_ifc.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index e5e35d110a..967438af86 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -391,6 +391,8 @@ class IfcImporter: props = bpy.context.scene.BIMGeoreferenceProperties if props.has_blender_offset: return + if self.ifc_import_settings.should_offset_model: + return self.set_manual_blender_offset() if self.file.schema == "IFC2X3": project = self.file.by_type("IfcProject")[0] else: @@ -403,6 +405,13 @@ class IfcImporter: return self.guess_georeferencing(building) return self.guess_absolute_coordinate() + def set_manual_blender_offset(self): + props = bpy.context.scene.BIMGeoreferenceProperties + props.blender_eastings = str(self.ifc_import_settings.model_offset_coordinates[0]) + props.blender_northings = str(self.ifc_import_settings.model_offset_coordinates[1]) + props.blender_orthogonal_height = str(self.ifc_import_settings.model_offset_coordinates[2]) + props.has_blender_offset = True + def guess_georeferencing(self, element): if not element.ObjectPlacement or not element.ObjectPlacement.is_a("IfcLocalPlacement"): return @@ -477,11 +486,6 @@ class IfcImporter: float(props.blender_x_axis_ordinate), ) - if self.ifc_import_settings.should_offset_model: - matrix[0, 3] += self.ifc_import_settings.model_offset_coordinates[0] - matrix[1, 3] += self.ifc_import_settings.model_offset_coordinates[1] - matrix[2, 3] += self.ifc_import_settings.model_offset_coordinates[2] - return mathutils.Matrix(matrix.tolist()) def find_decomposed_ifc_class(self, element, ifc_class): From 87cb1c69f4caa09045b8986d850a0a54ac7a6f0a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 21 Apr 2022 09:09:34 +1000 Subject: [PATCH 012/243] #2150 Fix bug where cartesian point offsets didn't consider object placement rotations --- src/blenderbim/blenderbim/bim/import_ifc.py | 81 +++++++----- .../test/bim/feature/project.feature | 15 ++- .../test/files/manual-geolocation-coords.ifc | 122 ++++++++++++++++++ 3 files changed, 187 insertions(+), 31 deletions(-) create mode 100644 src/blenderbim/test/files/manual-geolocation-coords.ifc diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 967438af86..a3b714a202 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -428,10 +428,12 @@ class IfcImporter: props.has_blender_offset = True def guess_absolute_coordinate(self): - # Civil BIM applications like to work in absolute coordinates, where the ObjectPlacement is 0,0,0 but each - # individual coordinate of the shape representation is in absolute values. + # Civil BIM applications like to work in absolute coordinates, where the + # ObjectPlacement is usually 0,0,0 (but not always, so we'll need to + # check for the actual transformation) but each individual coordinate of + # the shape representation is in absolute values. offset_point = self.get_offset_point() - if not offset_point: + if offset_point is None: return props = bpy.context.scene.BIMGeoreferenceProperties props.blender_eastings = str(offset_point[0]) @@ -441,34 +443,41 @@ class IfcImporter: def get_offset_point(self): elements_checked = 0 - # If more than these points aren't far away, the file probably isn't absolutely positioned - element_checking_threshold = 100 - if self.file.schema == "IFC2X3": - # IFC2X3 does not have IfcCartesianPointList3D - point_lists = [] - else: - point_lists = self.file.by_type("IfcCartesianPointList3D") - for point_list in point_lists: - elements_checked += 1 - if elements_checked > element_checking_threshold: - return - for i, point in enumerate(point_list.CoordList): - if len(point) == 3 and self.is_point_far_away(point, is_meters=False): - return point - - for point in self.file.by_type("IfcCartesianPoint"): - is_used_in_placement = False - for inverse in self.file.get_inverse(point): - if inverse.is_a("IfcAxis2Placement3D"): - is_used_in_placement = True - break - if is_used_in_placement: + # If more than these elements aren't far away, the file probably isn't absolutely positioned + element_checking_threshold = 10 + for element in self.file.by_type("IfcElement"): + if not element.Representation: continue elements_checked += 1 if elements_checked > element_checking_threshold: return - if len(point.Coordinates) == 3 and self.is_point_far_away(point, is_meters=False): - return point.Coordinates + if not self.does_element_likely_have_geometry_far_away(element): + continue + shape = ifcopenshell.geom.create_shape(self.settings, element) + m = shape.transformation.matrix.data + mat = np.array( + ([m[0], m[3], m[6], m[9]], [m[1], m[4], m[7], m[10]], [m[2], m[5], m[8], m[11]], [0, 0, 0, 1]) + ) + point = np.array( + ( + shape.geometry.verts[0] / self.unit_scale, + shape.geometry.verts[1] / self.unit_scale, + shape.geometry.verts[2] / self.unit_scale, + 0.0, + ) + ) + return mat @ point + + def does_element_likely_have_geometry_far_away(self, element): + for representation in element.Representation.Representations: + for subelement in self.file.traverse(representation): + if subelement.is_a("IfcCartesianPointList3D"): + for point in subelement.CoordList: + if len(point) == 3 and self.is_point_far_away(point, is_meters=False): + return True + if subelement.is_a("IfcCartesianPoint"): + if len(subelement.Coordinates) == 3 and self.is_point_far_away(subelement, is_meters=False): + return True def apply_blender_offset_to_matrix_world(self, obj, matrix): props = bpy.context.scene.BIMGeoreferenceProperties @@ -1719,15 +1728,27 @@ class IfcImporter: and geometry.verts and self.is_point_far_away((geometry.verts[0], geometry.verts[1], geometry.verts[2])) ): + m = shape.transformation.matrix.data + mat = np.array( + ([m[0], m[3], m[6], m[9]], [m[1], m[4], m[7], m[10]], [m[2], m[5], m[8], m[11]], [0, 0, 0, 1]) + ) + offset_point = np.linalg.inv(mat) @ np.array( + ( + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + 0.0, + ) + ) verts = [None] * len(geometry.verts) for i in range(0, len(geometry.verts), 3): verts[i], verts[i + 1], verts[i + 2] = ifcopenshell.util.geolocation.enh2xyz( geometry.verts[i], geometry.verts[i + 1], geometry.verts[i + 2], - float(props.blender_eastings) * self.unit_scale, - float(props.blender_northings) * self.unit_scale, - float(props.blender_orthogonal_height) * self.unit_scale, + offset_point[0] * self.unit_scale, + offset_point[1] * self.unit_scale, + offset_point[2] * self.unit_scale, float(props.blender_x_axis_abscissa), float(props.blender_x_axis_ordinate), ) diff --git a/src/blenderbim/test/bim/feature/project.feature b/src/blenderbim/test/bim/feature/project.feature index 189d244bd1..f88e918f94 100644 --- a/src/blenderbim/test/bim/feature/project.feature +++ b/src/blenderbim/test/bim/feature/project.feature @@ -270,15 +270,28 @@ Scenario: Load project elements - manual offset of object placements Given an empty Blender session And I press "bim.load_project(filepath='{cwd}/test/files/manual-geolocation.ifc', is_advanced=True)" When I set "scene.BIMProjectProperties.should_offset_model" to "True" - And I set "scene.BIMProjectProperties.model_offset_coordinates" to "-268388.5, -5774506.0, -21.899999618530273" + And I set "scene.BIMProjectProperties.model_offset_coordinates" to "268388500, 5774506000, 21900" And I press "bim.load_project_elements" Then the object "IfcPlate/1780 x 270 PRECAST WALL" is at "0,0,0" +Scenario: Load project elements - manual offset of cartesian points + Given an empty Blender session + And I press "bim.load_project(filepath='{cwd}/test/files/manual-geolocation-coords.ifc', is_advanced=True)" + When I set "scene.BIMProjectProperties.should_offset_model" to "True" + And I set "scene.BIMProjectProperties.model_offset_coordinates" to "1990711,5971553,22700" + And I press "bim.load_project_elements" + Then the object "IfcBuildingElementProxy/NAME" is at "0,0,0" + Scenario: Load project elements - auto offset of object placements Given an empty Blender session When I press "bim.load_project(filepath='{cwd}/test/files/auto-geolocation.ifc')" Then the object "IfcPlate/1780 x 270 PRECAST WALL" is at "0,0,0" +Scenario: Load project elements - auto offset of cartesian points + Given an empty Blender session + When I press "bim.load_project(filepath='{cwd}/test/files/manual-geolocation-coords.ifc')" + Then the object "IfcBuildingElementProxy/NAME" is at "0,0,0" + Scenario: Unload project Given an empty Blender session When I press "bim.load_project(filepath='{cwd}/test/files/basic.ifc', is_advanced=True)" diff --git a/src/blenderbim/test/files/manual-geolocation-coords.ifc b/src/blenderbim/test/files/manual-geolocation-coords.ifc new file mode 100644 index 0000000000..c0d843baf7 --- /dev/null +++ b/src/blenderbim/test/files/manual-geolocation-coords.ifc @@ -0,0 +1,122 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION ((''), '2;1'); +FILE_NAME ('', '2022-04-06T07:53:12', (''), (''), 'Xbim File Processor version 4.0.0.0', 'Xbim version 4.0.0.0', ''); +FILE_SCHEMA (('IFC2X3')); +ENDSEC; +DATA; +#1=IFCBUILDINGELEMENTPROXY('0WxtKqfTD7uRQVvprDAkUF',#13,'NAME','PourObject','PourObject',#14,#26,'ID20ef7534-a5d3-47e1-b69f-e73d4d2ae78f',.ELEMENT.); +#2=IFCOWNERHISTORY(#5,#6,$,.ADDED.,$,$,$,0); +#3=IFCPERSON($,'Davies','Tim',$,$,$,$,$); +#4=IFCORGANIZATION($,'ORG1',$,$,$); +#5=IFCPERSONANDORGANIZATION(#3,#4,$); +#7=IFCORGANIZATION($,'ORG2',$,$,$); +#6=IFCAPPLICATION(#7,'1.1','IfcTool','1234567890'); +#8=IFCOWNERHISTORY(#9,#12,$,.NOCHANGE.,$,$,$,1629180000); +#9=IFCPERSONANDORGANIZATION(#10,#11,$); +#10=IFCPERSON('PERSON_NAME','Undefined',$,$,$,$,$,$); +#11=IFCORGANIZATION($,'Trimble Solutions Corporation',$,$,$); +#12=IFCAPPLICATION(#11,'VERSION','APPLICATION','Multi material modeling'); +#13=IFCOWNERHISTORY(#5,#6,$,.MODIFIED.,$,$,$,0); +#14=IFCLOCALPLACEMENT(#15,#24); +#15=IFCLOCALPLACEMENT(#16,#23); +#16=IFCLOCALPLACEMENT(#17,#22); +#17=IFCLOCALPLACEMENT($,#18); +#18=IFCAXIS2PLACEMENT3D(#19,#20,#21); +#19=IFCCARTESIANPOINT((0.,0.,0.)); +#20=IFCDIRECTION((0.,0.,1.)); +#21=IFCDIRECTION((1.,0.,0.)); +#22=IFCAXIS2PLACEMENT3D(#19,#20,#21); +#23=IFCAXIS2PLACEMENT3D(#19,#20,#21); +#24=IFCAXIS2PLACEMENT3D(#19,#25,#21); +#25=IFCDIRECTION((0.,1.,0.)); +#26=IFCPRODUCTDEFINITIONSHAPE($,$,(#27)); +#27=IFCSHAPEREPRESENTATION(#28,'Body','Brep',(#32)); +#28=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#29,$,.MODEL_VIEW.,$); +#29=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#30,#31); +#30=IFCAXIS2PLACEMENT3D(#19,#20,#21); +#31=IFCDIRECTION((0.,1.)); +#32=IFCFACETEDBREP(#33); +#33=IFCCLOSEDSHELL((#34,#41,#46,#51,#54,#57)); +#34=IFCFACE((#35)); +#35=IFCFACEOUTERBOUND(#36,.T.); +#36=IFCPOLYLOOP((#37,#38,#39,#40)); +#37=IFCCARTESIANPOINT((1990711.,-22699.9999999999,5971553.)); +#38=IFCCARTESIANPOINT((1990711.,-24899.9999999999,5971553.)); +#39=IFCCARTESIANPOINT((1989711.,-24899.9999999999,5971553.)); +#40=IFCCARTESIANPOINT((1989711.,-22699.9999999999,5971553.)); +#41=IFCFACE((#42)); +#42=IFCFACEOUTERBOUND(#43,.T.); +#43=IFCPOLYLOOP((#38,#44,#45,#39)); +#44=IFCCARTESIANPOINT((1990711.,-24899.9999999999,5972053.)); +#45=IFCCARTESIANPOINT((1989711.,-24899.9999999999,5972053.)); +#46=IFCFACE((#47)); +#47=IFCFACEOUTERBOUND(#48,.T.); +#48=IFCPOLYLOOP((#44,#49,#50,#45)); +#49=IFCCARTESIANPOINT((1990711.,-22699.9999999999,5972053.)); +#50=IFCCARTESIANPOINT((1989711.,-22699.9999999999,5972053.)); +#51=IFCFACE((#52)); +#52=IFCFACEOUTERBOUND(#53,.T.); +#53=IFCPOLYLOOP((#49,#37,#40,#50)); +#54=IFCFACE((#55)); +#55=IFCFACEOUTERBOUND(#56,.T.); +#56=IFCPOLYLOOP((#45,#50,#40,#39)); +#57=IFCFACE((#58)); +#58=IFCFACEOUTERBOUND(#59,.T.); +#59=IFCPOLYLOOP((#49,#44,#38,#37)); +#60=IFCSTYLEDITEM(#32,(#61),$); +#61=IFCPRESENTATIONSTYLEASSIGNMENT((#62)); +#62=IFCSURFACESTYLE($,.BOTH.,(#63)); +#63=IFCSURFACESTYLERENDERING(#64,0.,$,$,$,$,$,$,.NOTDEFINED.); +#64=IFCCOLOURRGB($,0.333333333333333,1.,0.333333333333333); +#65=IFCRELAGGREGATES('3dUdx5Kov6leXMbv_Evj3F',#13,$,$,#72,(#74)); +#66=IFCOWNERHISTORY(#67,#70,$,.ADDED.,$,$,$,1648232845); +#67=IFCPERSONANDORGANIZATION(#68,#69,$); +#68=IFCPERSON($,'',$,$,$,$,$,$); +#69=IFCORGANIZATION($,'Simplebim',$,$,$); +#70=IFCAPPLICATION(#71,'Not Defined','Not Defined','Not Defined'); +#71=IFCORGANIZATION($,'Datacubist',$,$,$); +#72=IFCBUILDING('1cVfOSwd0DwZRaHgXu8a_f',#13,'Undefined',$,'',#16,$,$,.ELEMENT.,$,$,$); +#73=IFCOWNERHISTORY(#9,#12,$,.NOCHANGE.,$,$,$,1648135363); +#74=IFCBUILDINGSTOREY('1PRG1GisebkPvVjTc0dKhA',#13,'Undefined',$,'',#15,$,$,.ELEMENT.,0.); +#75=IFCRELAGGREGATES('0mzX8SC9TE2x9h5brYnb63',#13,$,$,#76,(#72)); +#76=IFCSITE('2AlxJCEVKnYUYG6VRdFCmy',#13,'SITE_NAME',$,'',#17,$,$,.ELEMENT.,(0,0,0),(0,0,0),$,$,$); +#77=IFCRELAGGREGATES('10$gKGL8H5nRoXtsiwnv6O',#13,$,$,#78,(#76)); +#78=IFCPROJECT('2tm8iIrI_$r8NRzOY_fHvI',#13,'PROJECT',$,$,$,$,(#29,#79),#81); +#79=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',3,1.E-05,#80,$); +#80=IFCAXIS2PLACEMENT3D(#19,#20,#21); +#81=IFCUNITASSIGNMENT((#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#94,#98,#101,#106)); +#82=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.); +#83=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.); +#84=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.); +#85=IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.); +#86=IFCSIUNIT(*,.POWERUNIT.,$,.WATT.); +#87=IFCSIUNIT(*,.PRESSUREUNIT.,.KILO.,.PASCAL.); +#88=IFCSIUNIT(*,.FORCEUNIT.,.KILO.,.NEWTON.); +#89=IFCSIUNIT(*,.ELECTRICVOLTAGEUNIT.,$,.VOLT.); +#90=IFCSIUNIT(*,.ELECTRICCURRENTUNIT.,$,.AMPERE.); +#91=IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.); +#92=IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.); +#93=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.); +#94=IFCDERIVEDUNIT((#95,#97),.LINEARVELOCITYUNIT.,$); +#95=IFCDERIVEDUNITELEMENT(#96,1); +#96=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.); +#97=IFCDERIVEDUNITELEMENT(#92,-1); +#98=IFCDERIVEDUNIT((#99,#100),.VOLUMETRICFLOWRATEUNIT.,$); +#99=IFCDERIVEDUNITELEMENT(#93,1); +#100=IFCDERIVEDUNITELEMENT(#92,-1); +#101=IFCDERIVEDUNIT((#102,#103,#105),.THERMALTRANSMITTANCEUNIT.,$); +#102=IFCDERIVEDUNITELEMENT(#86,1); +#103=IFCDERIVEDUNITELEMENT(#104,-1); +#104=IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.KELVIN.); +#105=IFCDERIVEDUNITELEMENT(#83,-1); +#106=IFCDERIVEDUNIT((#107),.SOUNDPRESSUREUNIT.,$); +#107=IFCDERIVEDUNITELEMENT(#108,1); +#108=IFCSIUNIT(*,.PRESSUREUNIT.,$,.PASCAL.); +#109=IFCRELCONTAINEDINSPATIALSTRUCTURE('2et5jeJgD1OBJkFAZevcaR',#13,$,$,(#1),#74); +#159=IFCRELDEFINESBYTYPE('0l7quQJkD3hv69HoK6sZxD',#13,$,$,(#1),#160); +#160=IFCBUILDINGELEMENTPROXYTYPE('0wvZ60EKXBihi$_raqzBCm',#13,'PourObject',$,$,$,$,$,$,.NOTDEFINED.); +#161=IFCRELASSOCIATESMATERIAL('1RfoofYsj288$ePu$MZZC_',#13,$,$,(#1),#162); +#162=IFCMATERIAL('Undefined/C40/50'); +ENDSEC; +END-ISO-10303-21; From c3c9ed2975b03b87a64f469d24bf5a5856289457 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 21 Apr 2022 09:58:28 +1000 Subject: [PATCH 013/243] #2150 Document how to manually reconcile large coordinate ranges --- .../docs/blenderbim/georeferencing.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/blenderbim/docs/blenderbim/georeferencing.rst b/src/blenderbim/docs/blenderbim/georeferencing.rst index 35843c2c9e..dfdd347a48 100644 --- a/src/blenderbim/docs/blenderbim/georeferencing.rst +++ b/src/blenderbim/docs/blenderbim/georeferencing.rst @@ -50,6 +50,25 @@ applications combine both of these invalid workarounds. To see which workaround was used on an object, check the "Blender Offset" property in the ``Transform`` object panel. +Sometimes, a model shifts their coordinates for some objects, but not all. For +example, the walls in a model may have their object placement or cartesian +points shifted to map coordinates, however, the object placement of the site is +still at 0, 0, 0. This creates a problem, because either we can display the +walls accurately, or the site placement accurately, but not both. Users may not +even realise this is an issue because many IFC viewers don't show object +placements because they are "invisible". However, because the BlenderBIM Add-on +is a full authoring platform, we do need to show these placements and thus it is +the users responsibility to reconcile this inconsistency in their coordinates. +Either the user needs to fix their file to consistently offset all coordinates, +or the user needs to manually tell the BlenderBIM Add-on which offset to choose. +In the absence of manual intervention, the BlenderBIM Add-on will make an +intelligent guess, but it may be wrong. + +To manually specify an offset, simply load an IFC project with Advanced Mode +enabled. Then enable the ``Import and Offset Model`` option and specify a new +coordinate to replace the origin's default of 0,0,0 in the ``Model Offset +Coordinates`` option. + Coordinates and precision limits -------------------------------- From 1237a8ce9710210debb3f2fd1838133b59095351 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 21 Apr 2022 10:41:47 +1000 Subject: [PATCH 014/243] Improve georeferencing documentation --- .../docs/blenderbim/georeferencing.rst | 98 ++++++++++--------- 1 file changed, 51 insertions(+), 47 deletions(-) diff --git a/src/blenderbim/docs/blenderbim/georeferencing.rst b/src/blenderbim/docs/blenderbim/georeferencing.rst index dfdd347a48..500c08bff5 100644 --- a/src/blenderbim/docs/blenderbim/georeferencing.rst +++ b/src/blenderbim/docs/blenderbim/georeferencing.rst @@ -11,63 +11,66 @@ IFC georeferencing. Here are the potential scenarios you will encounter in the wild for vertical construction. 1. Correctly georeferenced IFC4 with a map conversion transformation -2. Correctly georeferenced IFC4 without a map conversion transformation -3. Non-georeferenced georeferenced IFC4 +2. Correctly georeferenced IFC4 with a map conversion without a transformation +3. Non-georeferenced IFC4 4. Non-georeferenced IFC2X3 The first scenario is desired for most disciplines, such as architects and all -engineers (except for civil). +engineers (except for civil). Typically, this results in small local engineering +coordinates, which work well in Blender. -For scenarios 2, 3, and 4, the BlenderBIM Add-on will automatically attempt to -offset coordinates to preserve the precision of the model. The first coordinate -greater than 1km will be detected and used as an offset coordinate. It is -possible to specify a custom offset coordinate. +Correct georeferencing requires a projected CRS and a map conversion. +Unfortunately, many users may be under the impression that their file is +correctly georeferenced, but this is rarely the case. You can check whether your +file is correctly georeferenced in the ``IFC Georeferencing`` scene panel. If +you see "Not Georeferenced", your file is not correctly georeferenced. If your +file is georeferenced, it is still no guarantee that the georeferencing data is +actually correct, but how to determine this is out of scope of this article. -Non-georeferenced workarounds ------------------------------ +For scenarios 2, 3, and 4, coordinates may be quite large. To present this data +in Blender, the BlenderBIM Add-on will automatically attempt to create a false +origin to preserve the precision of the model. The first coordinate greater than +1km will be detected and used as an offset coordinate. You can see the false +origin, if any, in the ``Blender Offset`` section of the ``IFC Georeferencing`` +scene panel. -The unfortunate reality is that IFC2X3 does not support georeferencing, and most -vendors have poor and inconsistent support for georeferencing, even in IFC4. -Some users may be under the impression that their file is correctly -georeferenced, but this is rarely the case. This creates problems. You can see -whether your file is correctly georeferenced in the ``IFC Georeferencing`` -scene panel. If you see "Not Georeferenced", your file is not correctly -georeferenced. If your file is georeferenced, it is no guarantee that the -georeferencing data is actually correct, but how to determine this is out of -scope of this article. +Instead of relying on an automatic false origin, you can also specify a custom +origin coordinate. To do this, choose ``Enable Advanced Mode`` when loading an +IFC project. Then enable the ``Import and Offset Model`` option and specify a +new coordinate to replace the origin's default of 0,0,0 in the ``Model Offset +Coordinates`` option. -As an invalid workaround for correct georeferencing, many other BIM vendors -simply offset their object coordinates from local engineering to map coordinates -without properly storing a projection system and optionally a map -transformation. There are two common invalid workarounds that are used. +Dealing with large coordinates +------------------------------ -The first invalid workaround is to shift the origin point of objects in the -model. We call this the ``OBJECT_PLACEMENT`` workaround. The second invalid -workaround is to shift the coordinates of geometry within the objects -themselves, and typically leave the object origin untouched (such as back at (0, -0, 0)). We call this the ``CARTESIAN_POINT`` workaround. Sometimes, BIM -applications combine both of these invalid workarounds. To see which workaround -was used on an object, check the "Blender Offset" property in the ``Transform`` -object panel. +In scenarios 2, 3, and 4, a BIM vendor will typically choose from two possible +methods to offset their coordinates into large map coordinates. + +The first method is to shift the origin point of objects in the model relative +to the global coordinate system. We call this the ``OBJECT_PLACEMENT`` method. +The second method is to shift the coordinates of geometry within the objects +themselves relative to the object placement. We call this the +``CARTESIAN_POINT`` method. Sometimes, BIM applications combine both of these +methods in a single IFC project. To see which workaround was used on an object, +check the "Blender Offset" property in the ``Transform`` object panel. Sometimes, a model shifts their coordinates for some objects, but not all. For example, the walls in a model may have their object placement or cartesian points shifted to map coordinates, however, the object placement of the site is -still at 0, 0, 0. This creates a problem, because either we can display the -walls accurately, or the site placement accurately, but not both. Users may not -even realise this is an issue because many IFC viewers don't show object -placements because they are "invisible". However, because the BlenderBIM Add-on -is a full authoring platform, we do need to show these placements and thus it is -the users responsibility to reconcile this inconsistency in their coordinates. -Either the user needs to fix their file to consistently offset all coordinates, -or the user needs to manually tell the BlenderBIM Add-on which offset to choose. -In the absence of manual intervention, the BlenderBIM Add-on will make an -intelligent guess, but it may be wrong. +still at 0, 0, 0. Since these coordinates are so far apart, this creates a +problem, because Blender needs to choose between displaying the walls accurately +and sacrificing precision at the site placement, or vice versa, but it is +impossible to satisfy both simultaneously in the same Blender session. -To manually specify an offset, simply load an IFC project with Advanced Mode -enabled. Then enable the ``Import and Offset Model`` option and specify a new -coordinate to replace the origin's default of 0,0,0 in the ``Model Offset -Coordinates`` option. +Many IFC viewers only show geometry, and don't show object placements. This may +give users the false impression that their coordinates in their IFC project do +not have such a large range. However, because the BlenderBIM Add-on is a full +authoring platform, we do need to show these placements and thus it is the users +responsibility to reconcile this inconsistency in their coordinates. Either the +user needs to fix their file to consistently offset all coordinates, or the user +needs to manually tell the BlenderBIM Add-on the coordinates of the desired +false origin. In the absence of manual intervention, the BlenderBIM Add-on will +make an intelligent guess, but it may be wrong. Coordinates and precision limits -------------------------------- @@ -86,6 +89,7 @@ ranging greater than +/- 5km. However, if working in local engineering coordinates, a single transformation is required to convert from local engineering coordinates to map coordinates. This transformation includes a scale factor. The scale factor is only assumed to be -constant for small sites (defined approximately as less than 1km square). -This practical limit of georeferenced vertical construction is smaller than the -software limit, so this is the actual limiting factor. +constant for small sites (defined approximately as less than 1km square). This +practical limit of georeferenced vertical construction is smaller than the +software limit, so this surveying convention is the actual limiting factor, not +the software. From 337ce89919a6ae0d7e447a083bf3be0d4c0acf18 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 21 Apr 2022 10:47:09 +1000 Subject: [PATCH 015/243] Fix bug where "Not Georeferenced" showed up twice in the Georeferencing UI panel --- src/blenderbim/blenderbim/bim/module/georeference/ui.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 062b229bab..456d378f03 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -119,9 +119,6 @@ class BIM_PT_gis(Panel): ) ) ) - elif IfcStore.get_file().schema == "IFC2X3": - row = self.layout.row() - row.label(text="Not Georeferenced") if Data.projected_crs: row = self.layout.row(align=True) From 80d86659928c6b46c23d6f6eeda2b988a741a152 Mon Sep 17 00:00:00 2001 From: Massimo Fabbro <79401028+maxfb87@users.noreply.github.com> Date: Mon, 18 Apr 2022 09:56:08 +0200 Subject: [PATCH 016/243] Insert the link to Reboot Addon --- src/blenderbim/docs/blenderbim/installation.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/blenderbim/docs/blenderbim/installation.rst b/src/blenderbim/docs/blenderbim/installation.rst index dd13288af0..d2a7bc9b42 100644 --- a/src/blenderbim/docs/blenderbim/installation.rst +++ b/src/blenderbim/docs/blenderbim/installation.rst @@ -137,6 +137,12 @@ Blender for the changes to take effect. In ``Edit > Preferences > Add-ons`` you will see that the version number of the BlenderBIM Add-on has changed to ``0.0.999999``, which represents an un-versioned BlenderBIM Add-on. +There is a useful Blender Addon that adds a Reboot button in File menù. +In this way, it's possible to directly restart Blender and test the modified source code. +The add on is available `here `__ +(check also the related forum discussion `here `__) + + Distro installation ------------------- From a66ba6a6f9dc54f2a7cbe71be0ee2ae982ded11d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 22 Apr 2022 10:05:59 +1000 Subject: [PATCH 017/243] #1153 Reimplement metadata keys so you can specify attribute-based classes in drawings --- .../bim/data/pset/EPset_Drawing.ifc | 3 +- .../blenderbim/bim/module/drawing/operator.py | 3 +- .../bim/module/drawing/svgwriter.py | 37 +++---------------- src/blenderbim/blenderbim/tool/drawing.py | 13 +++++-- 4 files changed, 18 insertions(+), 38 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc index 49a45176d1..6bc308f0e9 100644 --- a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc @@ -5,12 +5,13 @@ FILE_NAME('EPset_Drawing.ifc','2020-01-01T00:00:00',(),(),'EPset_Drawing','EPset FILE_SCHEMA(('IFC4')); ENDSEC; DATA; -#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7)); +#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8)); #2=IFCSIMPLEPROPERTYTEMPLATE('23JavTMk98ZxXhrUEnjAcf',$,'TargetView','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #3=IFCSIMPLEPROPERTYTEMPLATE('1yVWUt5H9DAOuu0OaMMLpe',$,'Scale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #4=IFCSIMPLEPROPERTYTEMPLATE('3gsuPBtU93b8f0gg1pjkq6',$,'HumanScale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #5=IFCSIMPLEPROPERTYTEMPLATE('0AK5C2UpL4$eaac2LszAx$',$,'HasUnderlay','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); #6=IFCSIMPLEPROPERTYTEMPLATE('2j2ZEZR8X5tONm7kli5hM6',$,'HasLinework','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); #7=IFCSIMPLEPROPERTYTEMPLATE('1ttChRysH9UuEX2FeMj5Hu',$,'HasAnnotation','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); +#8=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); ENDSEC; END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index cd53cbb40e..d8478cdecb 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -444,8 +444,7 @@ class CreateDrawing(bpy.types.Operator): elements = tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element)) svg_writer.annotations = sorted(elements, key=lambda a : tool.Drawing.get_annotation_z_index(a)) - - #svg_writer.annotations["attributes"] = [a.name for a in drawing_style.attributes] + svg_writer.metadata = tool.Drawing.get_drawing_metadata(self.camera_element) svg_writer.write("annotation") return svg_writer.output diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index c312a17c83..3665b4b537 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -66,6 +66,7 @@ class SvgWriter: self.vector_style = None self.human_scale = "NTS" self.annotations = [] + self.metadata = [] self.background_image = None self.scale = 1 / 100 # 1:100 @@ -331,43 +332,15 @@ class SvgWriter: str(ifcopenshell.util.element.get_predefined_type(element)) ) classes = [global_id, element.is_a(), predefined_type] - # TODO: reimplement - # for attribute in self.annotations.get("attributes", []): - # result = self.get_obj_value(obj, attribute) - # if result: - # classes.append( - # "{}-{}".format(re.sub("[^0-9a-zA-Z]+", "", attribute), re.sub("[^0-9a-zA-Z]+", "", result)) - # ) + for key in self.metadata: + value = ifcopenshell.util.selector.Selector.get_element_value(element, key) + if value: + classes.append(self.canonicalise_class_name(key) + "-" + self.canonicalise_class_name(str(value))) return classes def canonicalise_class_name(self, name): return re.sub("[^0-9a-zA-Z]+", "", name) - def get_obj_value(self, obj, key): - # This is a duplicate implementation of the IFC selector key in Blender - # In the future if all this becomes purely IFC based this can be deleted - if "." in key and key.split(".")[0] == "type": - try: - obj = obj.BIMObjectProperties.relating_type - except: - return - key = ".".join(key.split(".")[1:]) - result = obj.BIMObjectProperties.attributes.get(key) - if result: - return result.string_value - elif key == "Name": - return obj.name.split("/")[1] - elif "." in key: - pset_name, prop = key.split(".") - pset = obj.BIMObjectProperties.psets.get(pset_name) - if not pset: - pset = obj.BIMObjectProperties.qtos.get(pset_name) - if not pset: - return - result = pset.properties.get(prop) - if result: - return result.string_value - def draw_line_annotation(self, obj): # TODO: properly scope these offsets x_offset = self.raw_width / 2 diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index e3b2dbce36..22f46d16c8 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -723,15 +723,22 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def get_reference_element(cls, reference): if tool.Ifc.get_schema() == "IFC2X3": - return [ - r for r in tool.Ifc.by_type("IfcRelAssociatesDocument") if r.RelatingDocument == reference - ][0].RelatedObjects[0] + return [r for r in tool.Ifc.by_type("IfcRelAssociatesDocument") if r.RelatingDocument == reference][ + 0 + ].RelatedObjects[0] return reference.DocumentRefForObjects[0].RelatedObjects[0] @classmethod def get_drawing_human_scale(cls, drawing): return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HumanScale", "NTS") + @classmethod + def get_drawing_metadata(cls, drawing): + return [ + v.strip() + for v in ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("Metadata", "").split(",") + ] + @classmethod def get_annotation_z_index(cls, drawing): return ifcopenshell.util.element.get_psets(drawing).get("EPset_Annotation", {}).get("ZIndex", 0) From 0c06c67f2d20ecd3577943eedd6b3dcb74b0e0b5 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 22 Apr 2022 12:41:21 +1000 Subject: [PATCH 018/243] #1153 Storey level annotations are now automatically generated for sections and elevations --- .../blenderbim/bim/module/drawing/__init__.py | 1 - .../blenderbim/bim/module/drawing/operator.py | 62 ---------------- .../blenderbim/bim/module/drawing/ui.py | 2 - src/blenderbim/blenderbim/tool/drawing.py | 70 +++++++++++++++++++ 4 files changed, 70 insertions(+), 65 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py index 795a33d173..0eaf27f532 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py @@ -47,7 +47,6 @@ classes = ( operator.EnableEditingText, operator.EnableEditingTextProduct, operator.ExpandSheet, - operator.GenerateReferences, operator.LoadDrawings, operator.LoadSheets, operator.OpenSheet, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index d8478cdecb..4b491b22bb 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -738,68 +738,6 @@ class SelectDocIfcFile(bpy.types.Operator): return {"RUNNING_MODAL"} -class GenerateReferences(bpy.types.Operator): - bl_idname = "bim.generate_references" - bl_label = "Generate References" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - self.camera = context.scene.camera - self.filter_potential_references() - if self.camera.data.BIMCameraProperties.target_view == "PLAN_VIEW": - self.generate_grids() - if self.camera.data.BIMCameraProperties.target_view == "ELEVATION_VIEW": - self.generate_grids() - self.generate_levels(context) - if self.camera.data.BIMCameraProperties.target_view == "SECTION_VIEW": - self.generate_grids() - self.generate_levels(context) - return {"FINISHED"} - - def filter_potential_references(self): - for name in ["grids", "levels"]: - setattr(self, name, []) - for obj in bpy.data.objects: - if "IfcGridAxis/" in obj.name: - self.grids.append(obj) - if "IfcBuildingStorey/" in obj.name: - self.levels.append(obj) - - def generate_grids(self): - # TODO - pass - - def generate_levels(self, context): - if self.camera.data.BIMCameraProperties.raster_x > self.camera.data.BIMCameraProperties.raster_y: - width = self.camera.data.ortho_scale - height = ( - width / self.camera.data.BIMCameraProperties.raster_x * self.camera.data.BIMCameraProperties.raster_y - ) - else: - height = self.camera.data.ortho_scale - width = ( - height / self.camera.data.BIMCameraProperties.raster_y * self.camera.data.BIMCameraProperties.raster_x - ) - level_obj = annotation.Annotator.get_annotation_obj("Section Level", "curve", context) - - width_in_mm = width * 1000 - real_world_width_in_mm = width_in_mm * scale - offset_in_mm = 20 - offset_percentage = offset_in_mm / real_world_width_in_mm - - for obj in self.levels: - projection = self.project_point_onto_camera(obj.location) - co1 = self.camera.matrix_world @ Vector((width / 2 - (offset_percentage * width), projection[1], -1)) - co2 = self.camera.matrix_world @ Vector((-(width / 2), projection[1], -1)) - annotation.Annotator.add_line_to_annotation(level_obj, context, co1, co2) - - def project_point_onto_camera(self, point): - projection = self.camera.matrix_world.to_quaternion() @ Vector((0, 0, -1)) - return self.camera.matrix_world.inverted() @ geometry.intersect_line_plane( - point.xyz, point.xyz - projection, self.camera.location, projection - ) - - class ResizeText(bpy.types.Operator): bl_idname = "bim.resize_text" bl_label = "Resize Text" diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index e21b9d6006..5eb481576c 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -62,8 +62,6 @@ class BIM_PT_camera(Panel): row = layout.row() row.prop(props, "is_nts") - row = layout.row() - row.operator("bim.generate_references") row = layout.row() row.operator("bim.resize_text") diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 22f46d16c8..defdb23234 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -408,6 +408,10 @@ class Drawing(blenderbim.core.tool.Drawing): elements.append(element) for element in tool.Ifc.get().by_type("IfcGridAxis"): elements.append(element) + target_view = tool.Drawing.get_drawing_target_view(drawing) + if target_view in ("SECTION_VIEW", "ELEVATION_VIEW"): + for element in tool.Ifc.get().by_type("IfcBuildingStorey"): + elements.append(element) return elements @classmethod @@ -437,6 +441,72 @@ class Drawing(blenderbim.core.tool.Drawing): return cls.generate_elevation_reference_annotation(drawing, reference_element, context) elif target_view == "SECTION_VIEW": return cls.generate_section_reference_annotation(drawing, reference_element, context) + elif reference_element.is_a("IfcBuildingStorey"): + return cls.generate_storey_annotation(drawing, reference_element, context) + + @classmethod + def generate_storey_annotation(cls, drawing, reference_element, context): + camera = tool.Ifc.get_object(drawing) + bounds = helper.ortho_view_frame(camera.data) if camera.data.type == "ORTHO" else None + reference_obj = tool.Ifc.get_object(reference_element) + + def to_camera_coords(camera, reference_obj): + mat = reference_obj.matrix_world.copy() + xyz = camera.matrix_world.inverted() @ reference_obj.matrix_world.translation + xyz[2] = 0 + xyz = camera.matrix_world @ xyz + mat[0][3] = xyz[0] + mat[1][3] = xyz[1] + mat[2][3] = xyz[2] + annotation_offset = mathutils.Vector((0, 0, -camera.data.clip_start - 0.05)) + annotation_offset = camera.matrix_world.to_quaternion() @ annotation_offset + mat[0][3] += annotation_offset[0] + mat[1][3] += annotation_offset[1] + mat[2][3] += annotation_offset[2] + return mat + + def project_point_onto_camera(point, camera): + projection = camera.matrix_world.to_quaternion() @ mathutils.Vector((0, 0, -1)) + return camera.matrix_world.inverted() @ mathutils.geometry.intersect_line_plane( + point.xyz, point.xyz - projection, camera.location, projection + ) + + obj_matrix = to_camera_coords(camera, reference_obj) + + if camera.data.BIMCameraProperties.raster_x > camera.data.BIMCameraProperties.raster_y: + width = camera.data.ortho_scale + height = width / camera.data.BIMCameraProperties.raster_x * camera.data.BIMCameraProperties.raster_y + else: + height = camera.data.ortho_scale + width = height / camera.data.BIMCameraProperties.raster_y * camera.data.BIMCameraProperties.raster_x + + projection = project_point_onto_camera(reference_obj.location, camera) + co1 = camera.matrix_world @ mathutils.Vector((width / 2, projection[1], -1)) + co2 = camera.matrix_world @ mathutils.Vector((-(width / 2), projection[1], -1)) + co1 = obj_matrix.inverted() @ co1 + co2 = obj_matrix.inverted() @ co2 + + data = bpy.data.curves.new("Annotation", type="CURVE") + data.dimensions = "3D" + data.resolution_u = 2 + + polyline = data.splines.new("POLY") + polyline.points.add(1) + polyline.points[-2].co = list(co1) + [1] + polyline.points[-1].co = list(co2) + [1] + + obj = bpy.data.objects.new(reference_obj.name, data) + obj.matrix_world = obj_matrix + + element = cls.run_root_assign_class( + obj=obj, + ifc_class="IfcAnnotation", + predefined_type="SECTION_LEVEL", + should_add_representation=True, + context=context, + ifc_representation_class=None, + ) + return element @classmethod def generate_section_reference_annotation(cls, drawing, reference_element, context): From 3264f338c73c99bf01da190d96cb4e0ea335013e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 23 Apr 2022 11:10:02 +1000 Subject: [PATCH 019/243] #1153 Section RLs now show storey names or custom descriptions --- .../blenderbim/bim/data/styles/default.css | 1 + .../bim/module/drawing/annotation.py | 2 +- .../bim/module/drawing/svgwriter.py | 26 +++++++++---------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index 4d52799fb2..b3f0017b48 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -28,6 +28,7 @@ text { fill: black; stroke: none; } .PredefinedType-MISC { stroke: black; stroke-width: 0.25; } .PredefinedType-BACKGROUND { stroke: black; stroke-width: 0.18; } .PredefinedType-GRID { marker-start: url(#grid-marker); marker-end: url(#grid-marker); } +.PredefinedType-SECTION { stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-SECTIONLEVEL { marker-start: url(#section-level-marker); stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-PLANLEVEL { marker-end: url(#plan-level-marker); } .PredefinedType-DIMENSION { marker-start: url(#dimension-marker-start); marker-end: url(#dimension-marker-end); } diff --git a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py index 63fa0c4225..e89e4db636 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py @@ -157,7 +157,7 @@ class Annotator: obj = bpy.data.objects.new(object_type, None) collection.objects.link(obj) return obj - elif object_type == "TEXT_LEADER": + elif object_type in ("TEXT_LEADER", "SECTION_LEVEL"): data = bpy.data.curves.new(object_type, type="CURVE") data.dimensions = "3D" data.resolution_u = 2 diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 3665b4b537..d7fa9768c7 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -180,6 +180,9 @@ class SvgWriter: y_offset = self.raw_height / 2 matrix_world = obj.matrix_world classes = self.get_attribute_classes(obj) + element = tool.Ifc.get_entity(obj) + storey = tool.Drawing.get_annotation_element(element) + tag = storey.Name if storey else element.Description for spline in obj.data.splines: points = self.get_spline_points(spline) projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] @@ -203,19 +206,16 @@ class SvgWriter: rl = helper.format_distance(rl) else: rl = "{:.3f}m".format(rl) - self.svg.add( - self.svg.text( - "RL +{}".format(rl), - insert=tuple(text_position), - **{ - "font-size": annotation.Annotator.get_svg_text_size(2.5), - "font-family": "OpenGost Type B TT", - "text-anchor": "start", - "alignment-baseline": "baseline", - "dominant-baseline": "baseline", - }, - ) - ) + text_style = { + "font-size": annotation.Annotator.get_svg_text_size(2.5), + "font-family": "OpenGost Type B TT", + "text-anchor": "start", + "alignment-baseline": "baseline", + "dominant-baseline": "baseline", + } + self.svg.add(self.svg.text(f"RL +{rl}", insert=tuple(text_position), **text_style)) + if tag: + self.svg.add(self.svg.text(tag, insert=(text_position[0], text_position[1] - 5), **text_style)) def draw_stair_annotation(self, obj): From bd16345b7622c1b26135d08ff28e47cabffd7e90 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 23 Apr 2022 17:25:39 +1000 Subject: [PATCH 020/243] #1153 Utility to convert an edge to an arc in preparation for angular dimensions --- .../blenderbim/bim/module/drawing/__init__.py | 1 + .../blenderbim/bim/module/drawing/operator.py | 51 ++++++++++++++++--- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py index 0eaf27f532..5b18d9b10f 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py @@ -34,6 +34,7 @@ classes = ( operator.BuildSchedule, operator.CleanWireframes, operator.ContractSheet, + operator.ConvertEdgeToArc, operator.CopyGrid, operator.CreateDrawing, operator.CreateSheets, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 4b491b22bb..b92240b1ab 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -191,9 +191,7 @@ class CreateDrawing(bpy.types.Operator): return svg_path = os.path.join(context.scene.BIMProperties.data_dir, "cache", self.drawing_name + "-underlay.svg") context.scene.render.filepath = svg_path[0:-4] + ".png" - drawing_style = context.scene.DocProperties.drawing_styles[ - self.cprops.active_drawing_style_index - ] + drawing_style = context.scene.DocProperties.drawing_styles[self.cprops.active_drawing_style_index] if drawing_style.render_type == "DEFAULT": bpy.ops.render.render(write_still=True) @@ -420,9 +418,7 @@ class CreateDrawing(bpy.types.Operator): camera = self.camera svg_writer = svgwriter.SvgWriter() - drawing_style = context.scene.DocProperties.drawing_styles[ - self.cprops.active_drawing_style_index - ] + drawing_style = context.scene.DocProperties.drawing_styles[self.cprops.active_drawing_style_index] render = context.scene.render if self.is_landscape(render): @@ -443,7 +439,7 @@ class CreateDrawing(bpy.types.Operator): svg_writer.camera_projection = tuple(camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) elements = tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element)) - svg_writer.annotations = sorted(elements, key=lambda a : tool.Drawing.get_annotation_z_index(a)) + svg_writer.annotations = sorted(elements, key=lambda a: tool.Drawing.get_annotation_z_index(a)) svg_writer.metadata = tool.Drawing.get_drawing_metadata(self.camera_element) svg_writer.write("annotation") @@ -1317,3 +1313,44 @@ class ContractSheet(bpy.types.Operator): sheet.is_expanded = False core.load_sheets(tool.Drawing) return {"FINISHED"} + + +class ConvertEdgeToArc(bpy.types.Operator): + bl_idname = "bim.convert_edge_to_arc" + bl_label = "Convert Edge to Arc" + bl_options = {"REGISTER", "UNDO"} + + resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1) + should_flip: bpy.props.BoolProperty(name="Flip", description="Flip arc", default=False) + + def draw(self, context): + layout = self.layout + for prop in self.__class__.__annotations__.keys(): + layout.prop(self, prop) + + def execute(self, context): + if bpy.context.mode != "EDIT_MESH": + return {"CANCELLED"} + obj = bpy.context.active_object + cursor = obj.matrix_world.inverted() @ bpy.context.scene.cursor.location + mesh = obj.data + bm = bmesh.from_edit_mesh(mesh) + selected_verts = [v for v in bm.verts if v.select] + if len(selected_verts) != 2: + return {"CANCELLED"} + l1 = selected_verts[0].co - cursor + l2 = selected_verts[1].co - cursor + angle = l1.xy.angle_signed(l2.xy) + + if self.should_flip: + if angle > 0: + angle = -((pi * 2) - angle) + else: + angle = (pi * 2) + angle + + v = selected_verts[0] + bm.verts.remove(selected_verts[1]) + bmesh.ops.spin(bm, geom=[v], axis=(0, 0, 1), cent=cursor, steps=self.resolution * 4, angle=-angle) + bmesh.update_edit_mesh(mesh) + mesh.update() + return {"FINISHED"} From 2081dc4c0856a839acc1dd49d4636b822158a760 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 23 Apr 2022 10:51:16 +0200 Subject: [PATCH 021/243] #2156 Don't try to convert unset placements in element hierarchy parsing --- src/ifcgeom/IfcGeomIteratorImplementation.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ifcgeom/IfcGeomIteratorImplementation.h b/src/ifcgeom/IfcGeomIteratorImplementation.h index 24074078ef..d809383325 100644 --- a/src/ifcgeom/IfcGeomIteratorImplementation.h +++ b/src/ifcgeom/IfcGeomIteratorImplementation.h @@ -1045,12 +1045,14 @@ namespace IfcGeom { Logger::Error("Failed to find decomposing entity"); } - try { - kernel.convert(ifc_product->ObjectPlacement(), trsf); - } catch (const std::exception& e) { - Logger::Error(e); - } catch (...) { - Logger::Error("Failed to construct placement"); + if (ifc_product->ObjectPlacement()) { + try { + kernel.convert(ifc_product->ObjectPlacement(), trsf); + } catch (const std::exception& e) { + Logger::Error(e); + } catch (...) { + Logger::Error("Failed to construct placement"); + } } } } catch (const std::exception& e) { From be65f77311695f2f2e0a6e1e70b828d50c4c39e3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 23 Apr 2022 18:55:55 +1000 Subject: [PATCH 022/243] #1153 Breaklines are now pure lines separate from fill areas and orient correctly --- .../blenderbim/bim/data/styles/default.css | 7 +++--- .../blenderbim/bim/data/templates/markers.svg | 2 +- .../bim/module/drawing/svgwriter.py | 22 ++++++------------- .../blenderbim/bim/module/drawing/ui.py | 8 +++++-- src/blenderbim/blenderbim/tool/drawing.py | 5 +++-- 5 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index b3f0017b48..888e167c27 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -23,9 +23,8 @@ text { fill: black; stroke: none; } .cut { fill: black; stroke: black; stroke-linecap: 'round'; stroke-width: 0.35; fill-rule: evenodd; } .projection { fill: white; stroke: black; stroke-linecap: 'round'; stroke-width: 0.25; } .annotation { fill: none; stroke: black; stroke-linecap: 'round'; stroke-width: 0.25; } -.solid {} .IfcAnnotation { fill: none; stroke: black; stroke-linecap: 'round'; stroke-width: 0.25; } -.PredefinedType-MISC { stroke: black; stroke-width: 0.25; } +.PredefinedType-LINEWORK { stroke: black; stroke-width: 0.25; } .PredefinedType-BACKGROUND { stroke: black; stroke-width: 0.18; } .PredefinedType-GRID { marker-start: url(#grid-marker); marker-end: url(#grid-marker); } .PredefinedType-SECTION { stroke-dasharray: 12.5, 3, 3, 3; } @@ -37,11 +36,11 @@ text { fill: black; stroke: none; } .PredefinedType-BOUNDARY { fill: none; stroke: red; stroke-width: 1; stroke-dasharray: 12, 4, 3, 4, 3, 4; } .PredefinedType-BATTING { marker-start: url(#batting); stroke: none; } .PredefinedType-SEALANT { fill: url(#crosshatch1); stroke-width: 0.25; } +.PredefinedType-FILLAREA { fill: white; stroke: none; } +.PredefinedType-BREAKLINE { fill: none; stroke: black; stroke-width: 0.25; marker-mid: url(#breakline-marker); } .PredefinedType-TEXT { fill: black; stroke: none; } path.PredefinedType-TEXTLEADER { marker-end: url(#leader-marker); } text.PredefinedType-TEXTLEADER { fill: black; stroke: none; } -.break { fill: white; } -.breakline { fill: none; stroke: black; stroke-linecap: 'round'; stroke-width: 0.25; marker-mid: url(#breakline-marker); } .material-blank { fill: white; } .material-diagonal1 { fill: url(#diagonal1); } .material-diagonal2 { fill: url(#diagonal2); } diff --git a/src/blenderbim/blenderbim/bim/data/templates/markers.svg b/src/blenderbim/blenderbim/bim/data/templates/markers.svg index a62a65dc4d..a2bfacc79f 100644 --- a/src/blenderbim/blenderbim/bim/data/templates/markers.svg +++ b/src/blenderbim/blenderbim/bim/data/templates/markers.svg @@ -57,7 +57,7 @@ - + diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index d7fa9768c7..fc5cf2b36e 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -557,14 +557,16 @@ class SvgWriter: ) ) - def draw_break_annotations(self, break_obj): + def draw_break_annotations(self, obj): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 - matrix_world = break_obj.matrix_world - for polygon in break_obj.data.polygons: - points = [break_obj.data.vertices[v] for v in polygon.vertices] + classes = self.get_attribute_classes(obj) + matrix_world = obj.matrix_world + for edge in obj.data.edges: + points = [obj.data.vertices[v] for v in edge.vertices] projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] + projected_points = [projected_points[0], (projected_points[0] + projected_points[1]) / 2, projected_points[1]] d = " ".join( [ "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) @@ -572,18 +574,8 @@ class SvgWriter: ] ) d = "M{}".format(d[1:]) - path = self.svg.add(self.svg.path(d=d, class_=" ".join(["break"]))) + path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) - break_points = [ - projected_points[0], - ((projected_points[1] - projected_points[0]) / 2) + projected_points[0], - projected_points[1], - ] - d = " ".join( - ["L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) for p in break_points] - ) - d = "M{}".format(d[1:]) - path = self.svg.add(self.svg.path(d=d, class_=" ".join(["breakline"]))) def draw_plan_level_annotation(self, obj): x_offset = self.raw_width / 2 diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 5eb481576c..0f586766bc 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -361,10 +361,14 @@ class BIM_PT_annotation_utilities(Panel): op = row.operator("bim.add_annotation", text="Breakline", icon="FCURVE") op.object_type = "BREAKLINE" op.data_type = "mesh" - op = row.operator("bim.add_annotation", text="Misc", icon="MESH_MONKEY") - op.object_type = "MISC" + op = row.operator("bim.add_annotation", text="Line", icon="MESH_MONKEY") + op.object_type = "LINEWORK" op.data_type = "mesh" + row = layout.row(align=True) + op = row.operator("bim.add_annotation", text="Fill Area", icon="NODE_TEXTURE") + op.object_type = "FILL_AREA" + row = layout.row(align=True) row.prop(self.props, "should_draw_decorations", text="Viewport Annotations") diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index defdb23234..0999571946 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -46,10 +46,11 @@ class Drawing(blenderbim.core.tool.Drawing): "PLAN_LEVEL": "curve", "SECTION_LEVEL": "curve", "BREAKLINE": "mesh", - "MISC": "mesh", + "FILL_AREA": "mesh", + "LINEWORK": "mesh", }[object_type] obj = annotation.Annotator.get_annotation_obj(object_type, data_type) - if object_type == "BREAKLINE": + if object_type == "FILL_AREA": obj = annotation.Annotator.add_plane_to_annotation(obj) elif object_type != "TEXT": obj = annotation.Annotator.add_line_to_annotation(obj) From d49095844a815083b979cbfe727a190dcdfc7fbf Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:03:00 +0530 Subject: [PATCH 023/243] added output directories to .gitignore --- .gitignore | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index c49cfab341..84849e6861 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,15 @@ /_installed-vs*-x*/ /build/ +# output directories +/cmake/out/ +/docs/out/ +/src/examples/out/ +/src/ifcmax/out/ +/src/ifcwrap/out/ +/src/qtviewer/out/ + + /win/BuildDepsCache*.txt # IfcExpressParser residue /src/ifcexpressparser/express_parser.py @@ -13,6 +22,7 @@ __pycache__ *.py.bak # Visual Studio Code files .vscode +.vs # PyCharm files .idea From 0cf3c97eb20f4c7c012e4605e3f82440ebc61f3f Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:03:30 +0530 Subject: [PATCH 024/243] Updated to use Qt5 --- src/qtviewer/CMakeLists.txt | 40 ++++++++++++------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/src/qtviewer/CMakeLists.txt b/src/qtviewer/CMakeLists.txt index a1649011aa..3a694899c8 100644 --- a/src/qtviewer/CMakeLists.txt +++ b/src/qtviewer/CMakeLists.txt @@ -17,39 +17,25 @@ # # ################################################################################ -# Find QT header files -SET(QT_MIN_VERSION "4.5.0") -FIND_PACKAGE(Qt4 REQUIRED) -FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtOpenGL) +cmake_minimum_required(VERSION 3.1.3) -INCLUDE(${QT_USE_FILE}) -SET(CMAKE_PACKAGE_QTGUI TRUE) +message("Running CMakeLists.txt in /src/qtviewer") +message("Provide the path to Qt5 via CMAKE_PREFIX_PATH") -# Find QT header files -IF("$ENV{QT_INCLUDE_DIR}" STREQUAL "") - SET(QT_INCLUDE_DIR "/usr/include/QT4/" CACHE FILEPATH "QT4 header files") - MESSAGE(STATUS "Looking for QT4 include files in: ${QT_INCLUDE_DIR}") - MESSAGE(STATUS "Use QT_INCLUDE_DIR to specify another directory") -ELSE() - SET(QT_INCLUDE_DIR $ENV{QT_INCLUDE_DIR} CACHE FILEPATH "QT4 header files") - MESSAGE(STATUS "Looking for QT4 include files in: ${QT_INCLUDE_DIR}") -ENDIF() +find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) - -INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR}) - -SET(QTviewer_SRCS +add_executable(QtViewer ../../src/qtviewer/mainwindow.h ../../src/qtviewer/mainwindow.cpp ../../src/qtviewer/main.cpp ) -SET(QTviewer_MOC_SRCS - ../../src/qtviewer/mainwindow.h + +set_target_properties(QtViewer PROPERTIES + AUTOMOC On ) -QT_WRAP_CPP(QTviewer QTviewer_SRCS ${QTviewer_MOC_SRCS}) - -ADD_EXECUTABLE( QTviewer ${QTviewer_SRCS} ${QTviewer_MOC_SRCS}) -#http://www.qtcentre.org/wiki/index.php?title=Compiling_Qt4_apps_with_CMake - -TARGET_LINK_LIBRARIES (QTviewer ${IFCLIBS} ${QT_LIBRARIES} ${OPENCASCADE_LIBRARIES}) +target_link_libraries(QTviewer + ${IFCLIBS} + Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets + ${OPENCASCADE_LIBRARIES} +) \ No newline at end of file From 9cd3d73a2386b276208e9d18a249c13ff0a35a4e Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:03:56 +0530 Subject: [PATCH 025/243] Enabled option to build QtViewer --- cmake/CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c904c85509..df4c821a70 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -66,8 +66,8 @@ IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE "Release") ENDIF() -# TODO QtViewer is deprecated ATM as it uses the 0.4 API -# OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) +# QtViewer requires Qt5 +OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" ON) include(GNUInstallDirs) if((BUILD_CONVERT OR BUILD_GEOMSERVER OR BUILD_IFCPYTHON) AND (NOT BUILD_IFCGEOM)) message(STATUS "'IfcGeom' is required with current outputs") @@ -885,6 +885,9 @@ INSTALL(FILES ${SERIALIZERS_S_FILES} ) endif() +IF(BUILD_QTVIEWER) + ADD_SUBDIRECTORY(../src/qtviewer qtviewer) +endif() list(APPEND CPACK_SOURCE_IGNORE_FILES .git From d91442de59245746e0b0806885fbd9f4a83a6a82 Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:23:31 +0530 Subject: [PATCH 026/243] Revert "Enabled option to build QtViewer" This reverts commit b82dddf441baf6a05e7439b91c7b240f852c9792. --- cmake/CMakeLists.txt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index df4c821a70..c904c85509 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -66,8 +66,8 @@ IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE "Release") ENDIF() -# QtViewer requires Qt5 -OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" ON) +# TODO QtViewer is deprecated ATM as it uses the 0.4 API +# OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) include(GNUInstallDirs) if((BUILD_CONVERT OR BUILD_GEOMSERVER OR BUILD_IFCPYTHON) AND (NOT BUILD_IFCGEOM)) message(STATUS "'IfcGeom' is required with current outputs") @@ -885,9 +885,6 @@ INSTALL(FILES ${SERIALIZERS_S_FILES} ) endif() -IF(BUILD_QTVIEWER) - ADD_SUBDIRECTORY(../src/qtviewer qtviewer) -endif() list(APPEND CPACK_SOURCE_IGNORE_FILES .git From be7e85fc2d96a252eee9a76627c1cd2b2e77a0ef Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:24:19 +0530 Subject: [PATCH 027/243] Revert "Updated to use Qt5" This reverts commit 06fe4abf6a662bf892092ad45ff8d50e4592cfd5. --- src/qtviewer/CMakeLists.txt | 40 +++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/src/qtviewer/CMakeLists.txt b/src/qtviewer/CMakeLists.txt index 3a694899c8..a1649011aa 100644 --- a/src/qtviewer/CMakeLists.txt +++ b/src/qtviewer/CMakeLists.txt @@ -17,25 +17,39 @@ # # ################################################################################ -cmake_minimum_required(VERSION 3.1.3) +# Find QT header files +SET(QT_MIN_VERSION "4.5.0") +FIND_PACKAGE(Qt4 REQUIRED) +FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtOpenGL) -message("Running CMakeLists.txt in /src/qtviewer") -message("Provide the path to Qt5 via CMAKE_PREFIX_PATH") +INCLUDE(${QT_USE_FILE}) +SET(CMAKE_PACKAGE_QTGUI TRUE) -find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) +# Find QT header files +IF("$ENV{QT_INCLUDE_DIR}" STREQUAL "") + SET(QT_INCLUDE_DIR "/usr/include/QT4/" CACHE FILEPATH "QT4 header files") + MESSAGE(STATUS "Looking for QT4 include files in: ${QT_INCLUDE_DIR}") + MESSAGE(STATUS "Use QT_INCLUDE_DIR to specify another directory") +ELSE() + SET(QT_INCLUDE_DIR $ENV{QT_INCLUDE_DIR} CACHE FILEPATH "QT4 header files") + MESSAGE(STATUS "Looking for QT4 include files in: ${QT_INCLUDE_DIR}") +ENDIF() -add_executable(QtViewer + +INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR}) + +SET(QTviewer_SRCS ../../src/qtviewer/mainwindow.h ../../src/qtviewer/mainwindow.cpp ../../src/qtviewer/main.cpp ) - -set_target_properties(QtViewer PROPERTIES - AUTOMOC On +SET(QTviewer_MOC_SRCS + ../../src/qtviewer/mainwindow.h ) -target_link_libraries(QTviewer - ${IFCLIBS} - Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets - ${OPENCASCADE_LIBRARIES} -) \ No newline at end of file +QT_WRAP_CPP(QTviewer QTviewer_SRCS ${QTviewer_MOC_SRCS}) + +ADD_EXECUTABLE( QTviewer ${QTviewer_SRCS} ${QTviewer_MOC_SRCS}) +#http://www.qtcentre.org/wiki/index.php?title=Compiling_Qt4_apps_with_CMake + +TARGET_LINK_LIBRARIES (QTviewer ${IFCLIBS} ${QT_LIBRARIES} ${OPENCASCADE_LIBRARIES}) From 7c89aa10986bea7f0ce5abf93c7f281c822963e5 Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:35:25 +0530 Subject: [PATCH 028/243] Enabled option to build QtViewer --- cmake/CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c904c85509..df4c821a70 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -66,8 +66,8 @@ IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE "Release") ENDIF() -# TODO QtViewer is deprecated ATM as it uses the 0.4 API -# OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer (requires Qt 4 framework)." OFF) +# QtViewer requires Qt5 +OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" ON) include(GNUInstallDirs) if((BUILD_CONVERT OR BUILD_GEOMSERVER OR BUILD_IFCPYTHON) AND (NOT BUILD_IFCGEOM)) message(STATUS "'IfcGeom' is required with current outputs") @@ -885,6 +885,9 @@ INSTALL(FILES ${SERIALIZERS_S_FILES} ) endif() +IF(BUILD_QTVIEWER) + ADD_SUBDIRECTORY(../src/qtviewer qtviewer) +endif() list(APPEND CPACK_SOURCE_IGNORE_FILES .git From 421b58850ce5e83e0a54d8cb53f3e1e45e627ea7 Mon Sep 17 00:00:00 2001 From: Dushyant Basson Date: Sat, 23 Apr 2022 16:35:38 +0530 Subject: [PATCH 029/243] Updated to use Qt5 --- src/qtviewer/CMakeLists.txt | 40 ++++++++++++------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/src/qtviewer/CMakeLists.txt b/src/qtviewer/CMakeLists.txt index a1649011aa..473013a726 100644 --- a/src/qtviewer/CMakeLists.txt +++ b/src/qtviewer/CMakeLists.txt @@ -17,39 +17,25 @@ # # ################################################################################ -# Find QT header files -SET(QT_MIN_VERSION "4.5.0") -FIND_PACKAGE(Qt4 REQUIRED) -FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtOpenGL) +cmake_minimum_required(VERSION 3.1.3) -INCLUDE(${QT_USE_FILE}) -SET(CMAKE_PACKAGE_QTGUI TRUE) +message("Running CMakeLists.txt in /src/qtviewer") +message("Provide the path to Qt5 via CMAKE_PREFIX_PATH") -# Find QT header files -IF("$ENV{QT_INCLUDE_DIR}" STREQUAL "") - SET(QT_INCLUDE_DIR "/usr/include/QT4/" CACHE FILEPATH "QT4 header files") - MESSAGE(STATUS "Looking for QT4 include files in: ${QT_INCLUDE_DIR}") - MESSAGE(STATUS "Use QT_INCLUDE_DIR to specify another directory") -ELSE() - SET(QT_INCLUDE_DIR $ENV{QT_INCLUDE_DIR} CACHE FILEPATH "QT4 header files") - MESSAGE(STATUS "Looking for QT4 include files in: ${QT_INCLUDE_DIR}") -ENDIF() +find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) - -INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR}) - -SET(QTviewer_SRCS +add_executable(QtViewer ../../src/qtviewer/mainwindow.h ../../src/qtviewer/mainwindow.cpp ../../src/qtviewer/main.cpp ) -SET(QTviewer_MOC_SRCS - ../../src/qtviewer/mainwindow.h + +set_target_properties(QtViewer PROPERTIES + AUTOMOC On ) -QT_WRAP_CPP(QTviewer QTviewer_SRCS ${QTviewer_MOC_SRCS}) - -ADD_EXECUTABLE( QTviewer ${QTviewer_SRCS} ${QTviewer_MOC_SRCS}) -#http://www.qtcentre.org/wiki/index.php?title=Compiling_Qt4_apps_with_CMake - -TARGET_LINK_LIBRARIES (QTviewer ${IFCLIBS} ${QT_LIBRARIES} ${OPENCASCADE_LIBRARIES}) +target_link_libraries(QtViewer + ${IFCLIBS} + Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets + ${OPENCASCADE_LIBRARIES} +) \ No newline at end of file From c2cad06cfa5c76a8dac2043ba34d6c79bb5ff1d9 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 23 Apr 2022 15:39:03 +0200 Subject: [PATCH 030/243] Default BUILD_QTVIEWER to off for the time being --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index df4c821a70..fea3a0b9b8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -67,7 +67,7 @@ IF(NOT CMAKE_BUILD_TYPE) ENDIF() # QtViewer requires Qt5 -OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" ON) +OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" OFF) include(GNUInstallDirs) if((BUILD_CONVERT OR BUILD_GEOMSERVER OR BUILD_IFCPYTHON) AND (NOT BUILD_IFCGEOM)) message(STATUS "'IfcGeom' is required with current outputs") From 31ddb0f2c58bd90b07f1c47057799ce6fe2aefde Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 24 Apr 2022 10:00:16 +1000 Subject: [PATCH 031/243] #1153 Add support for Annotation3D representations --- .../bim/module/geometry/operator.py | 21 +++++------------- src/blenderbim/blenderbim/core/geometry.py | 2 +- src/blenderbim/blenderbim/core/tool.py | 1 - src/blenderbim/blenderbim/tool/geometry.py | 4 ---- src/blenderbim/test/tool/test_geometry.py | 19 ---------------- .../api/geometry/add_representation.py | 22 +++++++++---------- 6 files changed, 17 insertions(+), 52 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 8f8c301913..376660a96b 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -206,25 +206,14 @@ class UpdateRepresentation(bpy.types.Operator): new_representation = ifcopenshell.api.run("geometry.add_representation", self.file, **representation_data) - [ - blenderbim.core.style.add_style(tool.Ifc, tool.Style, obj=s.material) - for s in obj.material_slots - if s.material and not s.material.BIMMaterialProperties.ifc_style_id - ] - - if isinstance(obj.data, bpy.types.Mesh) and len(obj.data.polygons): + if tool.Geometry.is_body_representation(new_representation): + [tool.Geometry.run_style_add_style(obj=mat) for mat in tool.Geometry.get_object_materials_without_styles(obj)] ifcopenshell.api.run( "style.assign_representation_styles", self.file, - **{ - "shape_representation": new_representation, - "styles": [ - self.file.by_id(s.material.BIMMaterialProperties.ifc_style_id) - for s in obj.material_slots - if s.material - ], - "should_use_presentation_style_assignment": context.scene.BIMGeometryProperties.should_use_presentation_style_assignment, - }, + shape_representation=new_representation, + styles=tool.Geometry.get_styles(obj), + should_use_presentation_style_assignment=context.scene.BIMGeometryProperties.should_use_presentation_style_assignment, ) tool.Geometry.record_object_materials(obj) diff --git a/src/blenderbim/blenderbim/core/geometry.py b/src/blenderbim/blenderbim/core/geometry.py index c2329e44dd..6ed2e53f12 100644 --- a/src/blenderbim/blenderbim/core/geometry.py +++ b/src/blenderbim/blenderbim/core/geometry.py @@ -55,7 +55,7 @@ def add_representation( profile_set_usage=profile_set_usage, ) - if geometry.does_object_have_mesh_with_faces(obj): + if geometry.is_body_representation(representation): [geometry.run_style_add_style(obj=mat) for mat in geometry.get_object_materials_without_styles(obj)] ifc.run( "style.assign_representation_styles", diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index a77f6cb006..43686ecf8b 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -206,7 +206,6 @@ class Geometry: def clear_scale(cls, obj): pass def create_dynamic_voids(cls, obj): pass def delete_data(cls, data): pass - def does_object_have_mesh_with_faces(cls, obj): pass def does_representation_id_exist(cls, representation_id): pass def duplicate_object_data(cls, obj): pass def get_cartesian_point_coordinate_offset(cls, obj): pass diff --git a/src/blenderbim/blenderbim/tool/geometry.py b/src/blenderbim/blenderbim/tool/geometry.py index 403fcce455..15be6ddef3 100644 --- a/src/blenderbim/blenderbim/tool/geometry.py +++ b/src/blenderbim/blenderbim/tool/geometry.py @@ -75,10 +75,6 @@ class Geometry(blenderbim.core.tool.Geometry): def delete_data(cls, data): bpy.data.meshes.remove(data) - @classmethod - def does_object_have_mesh_with_faces(cls, obj): - return bool(isinstance(obj.data, bpy.types.Mesh) and len(obj.data.polygons)) - @classmethod def does_representation_id_exist(cls, representation_id): try: diff --git a/src/blenderbim/test/tool/test_geometry.py b/src/blenderbim/test/tool/test_geometry.py index 43bb06c419..b6bd2ce162 100644 --- a/src/blenderbim/test/tool/test_geometry.py +++ b/src/blenderbim/test/tool/test_geometry.py @@ -102,25 +102,6 @@ class TestDeleteData(NewFile): assert not bpy.data.meshes.get("Mesh") -class TestDoesObjectHaveMeshWithFaces(NewFile): - def test_empties_return_false(self): - obj = bpy.data.objects.new("Object", None) - assert subject.does_object_have_mesh_with_faces(obj) is False - - def test_non_meshes_return_false(self): - obj = bpy.data.objects.new("Object", bpy.data.cameras.new("Curve")) - assert subject.does_object_have_mesh_with_faces(obj) is False - - def test_meshes_without_faces_return_false(self): - obj = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh")) - assert subject.does_object_have_mesh_with_faces(obj) is False - - def test_meshes_with_faces_return_true(self): - bpy.ops.mesh.primitive_cube_add() - obj = bpy.data.objects.get("Cube") - assert subject.does_object_have_mesh_with_faces(obj) is True - - class TestDoesRepresentationIdExist(NewFile): def test_run(self): ifc = ifcopenshell.file() diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py index 99fa4d658e..2bd2a785f7 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py @@ -115,7 +115,7 @@ class Usecase: if self.settings["context"].is_a() == "IfcGeometricRepresentationContext": return self.create_variable_representation() if self.settings["context"].ContextIdentifier == "Annotation": - return self.create_geometric_set_representation() + return self.create_annotation_representation(is_2d=False) elif self.settings["context"].ContextIdentifier == "Axis": return self.create_curve3d_representation() elif self.settings["context"].ContextIdentifier == "Body": @@ -149,7 +149,7 @@ class Usecase: shape_representation.Items = items return shape_representation elif self.settings["context"].ContextIdentifier == "Annotation": - return self.create_annotation2d_representation() + return self.create_annotation_representation(is_2d=True) elif self.settings["context"].ContextIdentifier == "Axis": return self.create_curve2d_representation() elif self.settings["context"].ContextIdentifier == "Body": @@ -170,7 +170,7 @@ class Usecase: elif self.settings["context"].ContextIdentifier == "SurveyPoints": pass else: - return self.create_annotation2d_representation() + return self.create_annotation_representation(is_2d=True) def create_lighting_representation(self): return self.file.createIfcShapeRepresentation( @@ -289,15 +289,15 @@ class Usecase: self.create_curves(is_2d=True), ) - def create_annotation_fill_areas(self): + def create_annotation_fill_areas(self, is_2d=False): items = [] if self.file.schema != "IFC2X3": - points = self.create_cartesian_point_list_from_vertices(self.settings["geometry"].vertices, is_2d=True) + points = self.create_cartesian_point_list_from_vertices(self.settings["geometry"].vertices, is_2d=is_2d) for polygon in self.settings["geometry"].polygons: if self.file.schema == "IFC2X3": - curve = self.create_curve_from_polygon_ifc2x3(polygon, is_2d=True) + curve = self.create_curve_from_polygon_ifc2x3(polygon, is_2d=is_2d) else: - curve = self.create_curve_from_polygon(points, polygon, is_2d=True) + curve = self.create_curve_from_polygon(points, polygon, is_2d=is_2d) items.append(self.file.createIfcAnnotationFillArea(OuterBoundary=curve)) return items @@ -623,15 +623,15 @@ class Usecase: return (co / self.settings["unit_scale"]) + self.settings["coordinate_offset"] return co / self.settings["unit_scale"] - def create_annotation2d_representation(self): + def create_annotation_representation(self, is_2d=False): if isinstance(self.settings["geometry"], bpy.types.Mesh) and len(self.settings["geometry"].polygons): - items = self.create_annotation_fill_areas() + items = self.create_annotation_fill_areas(is_2d=is_2d) else: - items = [self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=True))] + items = [self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=is_2d))] return self.file.createIfcShapeRepresentation( self.settings["context"], self.settings["context"].ContextIdentifier, - "Annotation2D", + "Annotation2D" if is_2d else "GeometricSet", items, ) From 7c460bcf2904a00d5cc8e4de2e2b73bb68f02a58 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 24 Apr 2022 11:12:24 +1000 Subject: [PATCH 032/243] #1153 Viewport decoration now supports miscellaneous linework and fills --- .../bim/module/drawing/decoration.py | 118 +++++++++++++----- 1 file changed, 90 insertions(+), 28 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py index f29e038f80..7f9af997a5 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py @@ -170,12 +170,33 @@ class BaseDecorator: returns: iterable of blender objects """ results = [] + decoration_presets = ( + "DIMENSION", + "EQUAL_DIMENSION", + "TEXT_LEADER", + "STAIR_ARROW", + "HIDDEN_LINE", + "PLAN_LEVEL", + "SECTION_LEVEL", + "BREAKLINE", + "GRID", + "ELEVATION", + "SECTION", + "TEXT", + ) for obj in collection.all_objects: element = tool.Ifc.get_entity(obj) if not element: continue - if element.is_a("IfcAnnotation") and element.ObjectType == self.objecttype: - results.append(obj) + if element.is_a("IfcAnnotation"): + if element.ObjectType == self.objecttype: + results.append(obj) + elif ( + self.objecttype == "MISC" + and element.ObjectType not in decoration_presets + and isinstance(obj.data, bpy.types.Mesh) + ): + results.append(obj) return results def get_path_geom(self, obj, topo=True): @@ -247,7 +268,7 @@ class BaseDecorator: """perform actual drawing stuff""" raise NotImplementedError() - def draw_lines(self, context, obj, vertices, indices, topology=None): + def draw_lines(self, context, obj, vertices, indices, topology=None, is_scale_dependant=True): region = context.region region3d = context.region_data color = context.scene.DocProperties.decorations_colour @@ -277,14 +298,15 @@ class BaseDecorator: self.shader.uniform_float("winsize", (region.width, region.height)) self.shader.uniform_float("color", color) - # Horrific prototype code - factor = self.camera_zoom_to_factor(context.space_data.region_3d.view_camera_zoom) - camera_width_px = factor * context.region.width - mm_to_px = camera_width_px / self.camera_width_mm - # 0.00025 is a magic constant number I visually discovered to get the right number. - # It probably should be dynamically calculated using system.dpi or something. - viewport_drawing_scale = 0.00025 * mm_to_px - self.shader.uniform_float("viewportDrawingScale", viewport_drawing_scale) + if is_scale_dependant: + # Horrific prototype code + factor = self.camera_zoom_to_factor(context.space_data.region_3d.view_camera_zoom) + camera_width_px = factor * context.region.width + mm_to_px = camera_width_px / self.camera_width_mm + # 0.00025 is a magic constant number I visually discovered to get the right number. + # It probably should be dynamically calculated using system.dpi or something. + viewport_drawing_scale = 0.00025 * mm_to_px + self.shader.uniform_float("viewportDrawingScale", viewport_drawing_scale) batch.draw(self.shader) @@ -671,6 +693,7 @@ class HiddenDecorator(BaseDecorator): GEOM_GLSL = """ uniform vec2 winsize; + uniform float viewportDrawingScale; layout(lines) in; layout(line_strip, max_vertices=MAX_POINTS) out; @@ -725,10 +748,61 @@ class HiddenDecorator(BaseDecorator): self.draw_lines(context, obj, verts, idxs) -class MiscDecorator(HiddenDecorator): +class MiscDecorator(BaseDecorator): objecttype = "MISC" - FRAG_GLSL = BaseDecorator.FRAG_GLSL + GEOM_GLSL = """ + uniform vec2 winsize; + uniform float viewportDrawingScale; + + layout(lines) in; + layout(line_strip, max_vertices=MAX_POINTS) out; + + out float dist; // distance from starging point along segment + + void main() { + vec4 clip2win = matCLIP2WIN(); + vec4 win2clip = matWIN2CLIP(); + + vec4 p0 = gl_in[0].gl_Position, p1 = gl_in[1].gl_Position; + + vec4 p0w = CLIP2WIN(p0), p1w = CLIP2WIN(p1); + vec4 edge = p1w - p0w, dir = normalize(edge); + vec4 gap = dir * 1; + + vec4 p; + + // NB: something should be used to affect position, otherwise compiler eliminates winsize + + dist = 0; + p = p0w + gap; + gl_Position = WIN2CLIP(p); + EmitVertex(); + dist = length(edge); + p = p1w - gap; + gl_Position = WIN2CLIP(p); + EmitVertex(); + EndPrimitive(); + } + """ + + FRAG_GLSL = """ + uniform vec4 color; + in vec2 gl_FragCoord; + in float dist; + out vec4 fragColor; + + void main() { + fragColor = color; + } + """ + + def decorate(self, context, obj): + if obj.data.is_editmode: + verts, idxs = self.get_editmesh_geom(obj) + else: + verts, idxs = self.get_mesh_geom(obj) + self.draw_lines(context, obj, verts, idxs, is_scale_dependant=False) class LevelDecorator(BaseDecorator): @@ -990,21 +1064,10 @@ class BreakDecorator(BaseDecorator): def decorate(self, context, obj): if obj.data.is_editmode: - verts = self.get_editmesh_geom(obj) + verts, idxs = self.get_editmesh_geom(obj) else: - verts = self.get_mesh_geom(obj) - self.draw_lines(context, obj, verts, [(0, 1)]) - - def get_mesh_geom(self, obj): - # first vertices only - vertices = [obj.matrix_world @ obj.data.vertices[i].co for i in (0, 1)] - return vertices - - def get_editmesh_geom(self, obj): - # first vertices only - mesh = bmesh.from_edit_mesh(obj.data) - vertices = [obj.matrix_world @ v.co for v in mesh.edges[0].verts] - return vertices + verts, idxs = self.get_mesh_geom(obj) + self.draw_lines(context, obj, verts, idxs) class GridDecorator(BaseDecorator): @@ -1363,7 +1426,6 @@ class SectionDecorator(LevelDecorator): self.draw_lines(context, obj, verts, idxs) - class TextDecorator(BaseDecorator): """Decorator for text objects - draws the text next to the origin From f2c4b20187f82d666cdc25adf8eee9d14bf4b204 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 24 Apr 2022 12:25:04 +1000 Subject: [PATCH 033/243] #1153 Experimental support for curve bounded planes for 3D annotations --- .../api/geometry/add_representation.py | 67 +++++++++++++++---- 1 file changed, 53 insertions(+), 14 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py index 2bd2a785f7..f7b1a30721 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py @@ -115,7 +115,7 @@ class Usecase: if self.settings["context"].is_a() == "IfcGeometricRepresentationContext": return self.create_variable_representation() if self.settings["context"].ContextIdentifier == "Annotation": - return self.create_annotation_representation(is_2d=False) + return self.create_annotation3d_representation() elif self.settings["context"].ContextIdentifier == "Axis": return self.create_curve3d_representation() elif self.settings["context"].ContextIdentifier == "Body": @@ -149,7 +149,7 @@ class Usecase: shape_representation.Items = items return shape_representation elif self.settings["context"].ContextIdentifier == "Annotation": - return self.create_annotation_representation(is_2d=True) + return self.create_annotation2d_representation() elif self.settings["context"].ContextIdentifier == "Axis": return self.create_curve2d_representation() elif self.settings["context"].ContextIdentifier == "Body": @@ -170,7 +170,7 @@ class Usecase: elif self.settings["context"].ContextIdentifier == "SurveyPoints": pass else: - return self.create_annotation_representation(is_2d=True) + return self.create_annotation2d_representation() def create_lighting_representation(self): return self.file.createIfcShapeRepresentation( @@ -289,6 +289,25 @@ class Usecase: self.create_curves(is_2d=True), ) + def create_curve_bounded_planes(self, is_2d=False): + items = [] + if self.file.schema != "IFC2X3": + points = self.create_cartesian_point_list_from_vertices(self.settings["geometry"].vertices, is_2d=False) + for polygon in self.settings["geometry"].polygons: + plane = self.create_plane(polygon) + if self.file.schema == "IFC2X3": + curve = self.create_curve_from_polygon_ifc2x3(polygon, is_2d=False) + else: + curve = self.create_curve_from_polygon(points, polygon, is_2d=False) + items.append(self.file.createIfcCurveBoundedPlane(BasisSurface=plane, OuterBoundary=curve)) + return items + + def create_plane(self, polygon): + return self.file.createIfcPlane(Position=self.file.createIfcAxis2Placement3D( + Location=self.file.createIfcCartesianPoint(polygon.center), + Axis=self.file.createIfcDirection(polygon.normal), + )) + def create_annotation_fill_areas(self, is_2d=False): items = [] if self.file.schema != "IFC2X3": @@ -316,22 +335,27 @@ class Usecase: ] return self.file.createIfcPolyline([points[i] for i in indices]) - def create_curves(self, is_2d=False): + def create_curves(self, should_exclude_faces=False, is_2d=False): if isinstance(self.settings["geometry"], bpy.types.Mesh): if self.file.schema == "IFC2X3": - return self.create_curves_from_mesh_ifc2x3(is_2d=is_2d) + return self.create_curves_from_mesh_ifc2x3(should_exclude_faces=should_exclude_faces, is_2d=is_2d) else: - return self.create_curves_from_mesh(is_2d=is_2d) + return self.create_curves_from_mesh(should_exclude_faces=should_exclude_faces, is_2d=is_2d) elif isinstance(self.settings["geometry"], bpy.types.Curve): return self.create_curves_from_curve(is_2d=is_2d) - def create_curves_from_mesh(self, is_2d=False): + def create_curves_from_mesh(self, should_exclude_faces=False, is_2d=False): curves = [] points = self.create_cartesian_point_list_from_vertices(self.settings["geometry"].vertices, is_2d=is_2d) edge_loops = [] previous_edge = None edge_loop = [] - for edge in self.settings["geometry"].edges: + face_edges = set() + if should_exclude_faces: + [face_edges.union([self.settings["geometry"].edge_keys.index(ek) for ek in p.edge_keys]) for p in self.settings["geometry"].polygons] + for i, edge in enumerate(self.settings["geometry"].edges): + if should_exclude_faces and i in face_edges: + continue if (Vector(points.CoordList[edge.vertices[0]]) - Vector(points.CoordList[edge.vertices[1]])).length < 0.001: # Maybe we should warn the user to weld vertices in this scenario? continue @@ -348,7 +372,7 @@ class Usecase: curves.append(self.file.createIfcIndexedPolyCurve(points, edge_loop)) return curves - def create_curves_from_mesh_ifc2x3(self, is_2d=False): + def create_curves_from_mesh_ifc2x3(self, should_exclude_faces=False, is_2d=False): curves = [] points = [ self.create_cartesian_point(v.co.x, v.co.y, v.co.z if not is_2d else None) @@ -358,7 +382,12 @@ class Usecase: edge_loops = [] previous_edge = None edge_loop = [] - for edge in self.settings["geometry"].edges: + face_edges = set() + if should_exclude_faces: + [face_edges.union([self.settings["geometry"].edge_keys.index(ek) for ek in p.edge_keys]) for p in self.settings["geometry"].polygons] + for i, edge in enumerate(self.settings["geometry"].edges): + if should_exclude_faces and i in face_edges: + continue if (Vector(coord_list[edge.vertices[0]]) - Vector(coord_list[edge.vertices[1]])).length < 0.001: # Maybe we should warn the user to weld vertices in this scenario? continue @@ -623,18 +652,28 @@ class Usecase: return (co / self.settings["unit_scale"]) + self.settings["coordinate_offset"] return co / self.settings["unit_scale"] - def create_annotation_representation(self, is_2d=False): + def create_annotation2d_representation(self): if isinstance(self.settings["geometry"], bpy.types.Mesh) and len(self.settings["geometry"].polygons): - items = self.create_annotation_fill_areas(is_2d=is_2d) + items = self.create_annotation_fill_areas(is_2d=True) else: - items = [self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=is_2d))] + items = [self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=True))] return self.file.createIfcShapeRepresentation( self.settings["context"], self.settings["context"].ContextIdentifier, - "Annotation2D" if is_2d else "GeometricSet", + "Annotation2D", items, ) + def create_annotation3d_representation(self): + geometry = self.create_curves(should_exclude_faces=True, is_2d=False) + geometry.extend(self.create_curve_bounded_planes()) + return self.file.createIfcShapeRepresentation( + self.settings["context"], + self.settings["context"].ContextIdentifier, + "GeometricSet", + [self.file.createIfcGeometricSet(geometry)], + ) + def create_geometric_curve_set_representation(self, is_2d=False): geometric_curve_set = self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=is_2d)) return self.file.createIfcShapeRepresentation( From cc8da4abf4813cd861b66c336e38012def1782f2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 24 Apr 2022 13:13:21 +1000 Subject: [PATCH 034/243] #1153 Symbol background option for text is now stored in a pset --- .../blenderbim/bim/data/pset/EPset_Annotation.ifc | 4 +++- src/blenderbim/blenderbim/bim/module/drawing/prop.py | 9 --------- .../blenderbim/bim/module/drawing/svgwriter.py | 7 +++---- src/blenderbim/blenderbim/tool/drawing.py | 4 ++++ .../ifcopenshell/api/geometry/add_representation.py | 11 ++++++++--- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc index d4af62a002..f7f77de276 100644 --- a/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc @@ -5,7 +5,9 @@ FILE_NAME('EPset_Annotation.ifc','2020-01-01T00:00:00',(),(),'EPset_Annotation', FILE_SCHEMA(('IFC4')); ENDSEC; DATA; -#1=IFCPROPERTYSETTEMPLATE('3VuPUwdCD2Qx3XDDRs0R1N',$,'EPset_Annotation','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2)); +#1=IFCPROPERTYSETTEMPLATE('3VuPUwdCD2Qx3XDDRs0R1N',$,'EPset_Annotation','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3)); #2=IFCSIMPLEPROPERTYTEMPLATE('2P7JN79n96Q9pElZ83LKe4',$,'ZIndex','',.P_SINGLEVALUE.,'IfcInteger',$,$,$,$,$,.READWRITE.); +#3=IFCSIMPLEPROPERTYTEMPLATE('2P7JN79n96Q9pElZ83LKe1',$,'Symbol','',.P_ENUMERATEDVALUE.,'IfcLabel',$,#4,$,$,$,.READWRITE.); +#4=IFCPROPERTYENUMERATION('Symbol',(IFCLABEL('rectangle-tag'), IFCLABEL('door-tag')),$); ENDSEC; END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index a959f4e7a5..3502bd5808 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -401,13 +401,4 @@ class BIMTextProperties(PropertyGroup): update=refreshFontSize, name="Font Size", ) - symbol: EnumProperty( - items=[ - ("None", "None", ""), - ("rectangle-tag", "Rectangle Tag", ""), - ("door-tag", "Door Tag", ""), - ], - update=refreshFontSize, - name="Symbol", - ) relating_product: PointerProperty(name="Relating Product", type=bpy.types.Object) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index fc5cf2b36e..9b345fad62 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -499,10 +499,9 @@ class SvgWriter: (text_position * self.scale)[1], ) - if text_obj.BIMTextProperties.symbol != "None": - self.svg.add( - self.svg.use(f"#{text_obj.BIMTextProperties.symbol}", insert=tuple(text_position * self.scale)) - ) + symbol = tool.Drawing.get_annotation_symbol(element) + if symbol: + self.svg.add(self.svg.use(f"#{symbol}", insert=tuple(text_position * self.scale))) if text_literal.BoxAlignment == "top-left": alignment_baseline = "hanging" diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 0999571946..99a6b1b946 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -814,6 +814,10 @@ class Drawing(blenderbim.core.tool.Drawing): def get_annotation_z_index(cls, drawing): return ifcopenshell.util.element.get_psets(drawing).get("EPset_Annotation", {}).get("ZIndex", 0) + @classmethod + def get_annotation_symbol(cls, drawing): + return ifcopenshell.util.element.get_psets(drawing).get("EPset_Annotation", {}).get("Symbol", None) + @classmethod def has_linework(cls, drawing): return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HasLinework", False) diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py index f7b1a30721..cbab82e81d 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_representation.py @@ -665,13 +665,18 @@ class Usecase: ) def create_annotation3d_representation(self): - geometry = self.create_curves(should_exclude_faces=True, is_2d=False) - geometry.extend(self.create_curve_bounded_planes()) + items = [] + curves = self.create_curves(should_exclude_faces=True, is_2d=False) + if curves: + items.append(self.file.createIfcGeometricCurveSet(curves)) + surfaces = self.create_curve_bounded_planes() + if surfaces: + items.append(self.file.createIfcGeometricSet(surfaces)) return self.file.createIfcShapeRepresentation( self.settings["context"], self.settings["context"].ContextIdentifier, "GeometricSet", - [self.file.createIfcGeometricSet(geometry)], + items, ) def create_geometric_curve_set_representation(self, is_2d=False): From b5ee20cb7a1a97eb923cdde215cc0f63911a93e3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 24 Apr 2022 18:39:22 +1000 Subject: [PATCH 035/243] #1153 New global referencing property determines whether or not a drawing is mean to be referenced from all other drawings --- .../blenderbim/bim/data/pset/EPset_Annotation.ifc | 2 +- src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc | 5 +++-- src/blenderbim/blenderbim/core/drawing.py | 1 + src/blenderbim/blenderbim/tool/drawing.py | 8 +++++--- src/blenderbim/test/core/test_drawing.py | 1 + 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc index f7f77de276..78742d16b2 100644 --- a/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Annotation.ifc @@ -7,7 +7,7 @@ ENDSEC; DATA; #1=IFCPROPERTYSETTEMPLATE('3VuPUwdCD2Qx3XDDRs0R1N',$,'EPset_Annotation','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3)); #2=IFCSIMPLEPROPERTYTEMPLATE('2P7JN79n96Q9pElZ83LKe4',$,'ZIndex','',.P_SINGLEVALUE.,'IfcInteger',$,$,$,$,$,.READWRITE.); -#3=IFCSIMPLEPROPERTYTEMPLATE('2P7JN79n96Q9pElZ83LKe1',$,'Symbol','',.P_ENUMERATEDVALUE.,'IfcLabel',$,#4,$,$,$,.READWRITE.); +#3=IFCSIMPLEPROPERTYTEMPLATE('1Wpx_r2xj1_9w5JpI0QRJy',$,'Symbol','',.P_ENUMERATEDVALUE.,'IfcLabel',$,#4,$,$,$,.READWRITE.); #4=IFCPROPERTYENUMERATION('Symbol',(IFCLABEL('rectangle-tag'), IFCLABEL('door-tag')),$); ENDSEC; END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc index 6bc308f0e9..a0542cf821 100644 --- a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc @@ -5,13 +5,14 @@ FILE_NAME('EPset_Drawing.ifc','2020-01-01T00:00:00',(),(),'EPset_Drawing','EPset FILE_SCHEMA(('IFC4')); ENDSEC; DATA; -#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8)); +#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9)); #2=IFCSIMPLEPROPERTYTEMPLATE('23JavTMk98ZxXhrUEnjAcf',$,'TargetView','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #3=IFCSIMPLEPROPERTYTEMPLATE('1yVWUt5H9DAOuu0OaMMLpe',$,'Scale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #4=IFCSIMPLEPROPERTYTEMPLATE('3gsuPBtU93b8f0gg1pjkq6',$,'HumanScale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #5=IFCSIMPLEPROPERTYTEMPLATE('0AK5C2UpL4$eaac2LszAx$',$,'HasUnderlay','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); #6=IFCSIMPLEPROPERTYTEMPLATE('2j2ZEZR8X5tONm7kli5hM6',$,'HasLinework','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); #7=IFCSIMPLEPROPERTYTEMPLATE('1ttChRysH9UuEX2FeMj5Hu',$,'HasAnnotation','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); -#8=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); +#8=IFCSIMPLEPROPERTYTEMPLATE('2NPPxuABv1huDTVh32TFgw',$,'GlobalReferencing','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); +#9=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); ENDSEC; END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index d421d98a5c..6bfc86a612 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -125,6 +125,7 @@ def add_drawing(ifc, collector, drawing, target_view=None, location_hint=None): "HasUnderlay": False, "HasLinework": True, "HasAnnotation": True, + "GlobalReferencing": True, }, ) drawing.import_drawings() diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 99a6b1b946..3bc99ccdd6 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -404,8 +404,10 @@ class Drawing(blenderbim.core.tool.Drawing): if element in existing_references or element == drawing: continue if element.ObjectType == "DRAWING": - psets = ifcopenshell.util.element.get_psets(element) - if psets.get("EPset_Drawing", {}).get("TargetView", None) in ("SECTION_VIEW", "ELEVATION_VIEW"): + pset = ifcopenshell.util.element.get_psets(element).get("EPset_Drawing", {}) + if pset.get("TargetView", None) in ("SECTION_VIEW", "ELEVATION_VIEW") and pset.get( + "GlobalReferencing", False + ): elements.append(element) for element in tool.Ifc.get().by_type("IfcGridAxis"): elements.append(element) @@ -820,7 +822,7 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def has_linework(cls, drawing): - return ifcopenshell.util.element.get_psets(drawing)["EPset_Drawing"].get("HasLinework", False) + return ifcopenshell.util.element.get_psets(drawing).get("EPset_Drawing", {}).get("HasLinework", False) @classmethod def get_annotation_element(cls, element): diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index 4cfa4b6d10..2edf11e063 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -171,6 +171,7 @@ class TestAddDrawing: "HasUnderlay": False, "HasLinework": True, "HasAnnotation": True, + "GlobalReferencing": True, }, ).should_be_called() drawing.import_drawings().should_be_called() From 7b71a7a866af6ce5ea792e2f97dbbc3a5149b251 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 24 Apr 2022 22:15:14 +1000 Subject: [PATCH 036/243] #1153 You can now include and exclude elements from a drawing using queries --- .../blenderbim/bim/data/pset/EPset_Drawing.ifc | 4 +++- .../blenderbim/bim/module/drawing/operator.py | 2 +- src/blenderbim/blenderbim/tool/drawing.py | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc index a0542cf821..9bcbda6d2c 100644 --- a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc @@ -5,7 +5,7 @@ FILE_NAME('EPset_Drawing.ifc','2020-01-01T00:00:00',(),(),'EPset_Drawing','EPset FILE_SCHEMA(('IFC4')); ENDSEC; DATA; -#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9)); +#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9,#10,#11)); #2=IFCSIMPLEPROPERTYTEMPLATE('23JavTMk98ZxXhrUEnjAcf',$,'TargetView','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #3=IFCSIMPLEPROPERTYTEMPLATE('1yVWUt5H9DAOuu0OaMMLpe',$,'Scale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #4=IFCSIMPLEPROPERTYTEMPLATE('3gsuPBtU93b8f0gg1pjkq6',$,'HumanScale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); @@ -14,5 +14,7 @@ DATA; #7=IFCSIMPLEPROPERTYTEMPLATE('1ttChRysH9UuEX2FeMj5Hu',$,'HasAnnotation','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); #8=IFCSIMPLEPROPERTYTEMPLATE('2NPPxuABv1huDTVh32TFgw',$,'GlobalReferencing','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.); #9=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); +#10=IFCSIMPLEPROPERTYTEMPLATE('3Z0BXPSG5CWgtI33ioV7aj',$,'Include','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); +#11=IFCSIMPLEPROPERTYTEMPLATE('1RVts_g3PAw98PJA2yL3bO',$,'Exclude','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); ENDSEC; END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index b92240b1ab..fb1e2aa1fe 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -302,7 +302,7 @@ class CreateDrawing(bpy.types.Operator): body_contexts.append(rep_context.id()) continue - elements = set(ifc.by_type("IfcElement")) - set(ifc.by_type("IfcOpeningElement")) + elements = tool.Drawing.get_drawing_elements(self.camera_element) self.setup_serialiser(ifc) cache = IfcStore.get_cache() diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 3bc99ccdd6..591ed2b766 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -824,6 +824,20 @@ class Drawing(blenderbim.core.tool.Drawing): def has_linework(cls, drawing): return ifcopenshell.util.element.get_psets(drawing).get("EPset_Drawing", {}).get("HasLinework", False) + @classmethod + def get_drawing_elements(cls, drawing): + pset = ifcopenshell.util.element.get_psets(drawing).get("EPset_Drawing", {}) + include = pset.get("Include", None) + if include: + elements = set(ifcopenshell.util.selector.Selector.parse(tool.Ifc.get(), include)) + else: + elements = set(tool.Ifc.get().by_type("IfcElement")) + exclude = pset.get("Exclude", None) + if exclude: + elements -= set(ifcopenshell.util.selector.Selector.parse(tool.Ifc.get(), exclude, elements=elements)) + elements -= set(tool.Ifc.get().by_type("IfcOpeningElement")) + return elements + @classmethod def get_annotation_element(cls, element): for rel in element.HasAssignments: From 38e4ccdb0a28e1e7189348a3d4ca5af052c934ec Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 24 Apr 2022 14:50:53 +0200 Subject: [PATCH 037/243] #1153 submodule --- src/svgfill | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/svgfill b/src/svgfill index 01a2fb4943..2b28e69b13 160000 --- a/src/svgfill +++ b/src/svgfill @@ -1 +1 @@ -Subproject commit 01a2fb49434920eb5cce789d14fcb425b9fe82c2 +Subproject commit 2b28e69b136d939a46face3ac87e9c9c8aed3dfd From 5bfaa32c7c7e6f7d98f6cef0dbca289ba8b02a78 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 24 Apr 2022 14:51:24 +0200 Subject: [PATCH 038/243] #1153 add ray_distance to tree result --- src/ifcgeom/IfcGeomTree.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifcgeom/IfcGeomTree.h b/src/ifcgeom/IfcGeomTree.h index eb586c27e0..656ae2c868 100644 --- a/src/ifcgeom/IfcGeomTree.h +++ b/src/ifcgeom/IfcGeomTree.h @@ -46,6 +46,7 @@ namespace IfcGeom { IfcUtil::IfcBaseEntity* instance; std::array position; std::array normal; + double ray_distance; double dot_product; }; @@ -467,6 +468,7 @@ namespace IfcGeom { ordered.insert({ u, { u, sidx, c, {P.X(), P.Y(), P.Z()}, {V.X(), V.Y(), V.Z()}, + d.XYZ().Dot(p0.XYZ() - P.XYZ()), V.Dot(d) } }); } From efc43c0fe91183bca903a61828f0ec26d7ceac72 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sun, 24 Apr 2022 14:54:49 +0200 Subject: [PATCH 039/243] #1153 merge-cells option in draw --- src/ifcopenshell-python/ifcopenshell/draw.py | 245 ++++++++++++------- 1 file changed, 155 insertions(+), 90 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/draw.py b/src/ifcopenshell-python/ifcopenshell/draw.py index 8687edea8e..02e0ee950c 100644 --- a/src/ifcopenshell-python/ifcopenshell/draw.py +++ b/src/ifcopenshell-python/ifcopenshell/draw.py @@ -56,6 +56,7 @@ class draw_settings: drawing_guid: str = "" profile_threshold: int = -1 cells: bool = True + merge_cells: bool = False def main(settings, files, iterators=None, merge_projection=True, progress_function=DO_NOTHING): @@ -173,118 +174,182 @@ def main(settings, files, iterators=None, merge_projection=True, progress_functi if not settings.cells: return svg_data_1.encode("ascii", "xmlcharrefreplace") - - # Parse SVG into vector of line segments - # - # The second argument 'projection' tells the parser to only include groups - # that have the classname 'projection'. The IfcOpenShell SVG serializer puts - # the hidden line rendering output into this group. So the sections are not - # included here as they already form closed loops. - ls = W.svg_to_line_segments(svg_data_1, "projection") - progress_function("creating cells") - ps = W.line_segments_to_polygons(W.FILTERED_CARTESIAN_QUOTIENT, 1.0e-3, ls) - progress_function("done creating cells") - - """ - # Debugging tool to plot line segments and cells - from matplotlib import pyplot as plt - - arr = numpy.array(ls).reshape((-1, 2, 2)) - for x in arr: - plt.plot(x.T[0], x.T[1]) - for x in ps[0]: - plt.fill(numpy.array(x.boundary).T[0], numpy.array(x.boundary).T[1]) - """ - - # Reserialize cells into an SVG string - svg_data_2 = W.polygons_to_svg(ps, True) - - # We parse both SVG files to create on document with the combination of sections from - # the output directly from the serializer and the cells found from the hidden line - # rendering - dom1 = parseString(svg_data_1) - dom2 = parseString(svg_data_2) - - svg1 = dom1.childNodes[0] - svg2 = dom2.childNodes[0] - + def yield_groups(n): if n.nodeType == n.ELEMENT_NODE and n.tagName == "g": yield n for c in n.childNodes: yield from yield_groups(c) + dom1 = parseString(svg_data_1) + svg1 = dom1.childNodes[0] # From file 1 we take the groups to be substituted groups1 = [g for g in yield_groups(svg1) if g.getAttribute("class") == "projection"] - # file 2 only has the groups we are interested in. - groups2 = list(yield_groups(svg2)) - - assert len(groups1) == len(groups2) - - for ii, (g1, g2) in enumerate(zip(groups1, groups2)): + + # Parse SVG into vector of line segments + # + # The second argument 'projection' tells the parser to only include groups + # that have the classname 'projection'. The IfcOpenShell SVG serializer puts + # the hidden line rendering output into this group. So the sections are not + # included here as they already form closed loops. + + ls_groups = W.svg_to_line_segments(svg_data_1, "projection") + for i, (ls, g1) in enumerate(zip(ls_groups, groups1)): + progress_function("creating cells", i) + projection, g1 = g1, g1.parentNode + + svgfill_context = W.context(W.FILTERED_CARTESIAN_QUOTIENT, 1.0e-3) + svgfill_context.add(ls) + + if settings.merge_cells: + # To be refined: + # - Find cells on original line segments + # - Associate cells with IFC entities for merging + # - Merge cells by discarding edges + # - Associate cells with IFC entities for styling + num_passes = 1 + else: + num_passes = 0 + + for iteration in range(num_passes+1): + + # initialize empty group, note that in the current approach only one + # group is stored + ps = W.svg_groups_of_polygons() + + if iteration != 0 or svgfill_context.build(): + svgfill_context.write(ps) + + """ + # Debugging tool to plot line segments and cells + from matplotlib import pyplot as plt - # These are attributes on the original group that we can use to reconstruct - # a 4x4 matrix of the projection used in the SVG generation process - nm = g1.getAttribute("ifc:name") - m4 = numpy.array(json.loads(g1.getAttribute("ifc:plane"))) - m3 = numpy.array(json.loads(g1.getAttribute("ifc:matrix3"))) - m44 = numpy.eye(4) - m44[0][0:2] = m3[0][0:2] - m44[1][0:2] = m3[1][0:2] - m44[0][3] = m3[0][2] - m44[1][3] = m3[1][2] - m44 = numpy.linalg.inv(m44) + arr = numpy.array(ls).reshape((-1, 2, 2)) + for x in arr: + plt.plot(x.T[0], x.T[1]) + for x in ps[0]: + plt.fill(numpy.array(x.boundary).T[0], numpy.array(x.boundary).T[1]) + """ + + if iteration != num_passes: + pairs = svgfill_context.get_face_pairs() + semantics = [None] * (max(pairs)+1) + # For every edge print the two neighbouring faces + # for x in range(0, len(pairs), 2): + # print(x // 2, *pairs[x:x+2]) - def project(xy, z=0.0): - xyzw = m44 @ numpy.array(xy + [z, 1.0]) - xyzw[1] *= -1.0 - return (m4 @ xyzw)[0:3] + # Reserialize cells into an SVG string + svg_data_2 = W.polygons_to_svg(ps, True) - def pythonize(arr): - return tuple(map(float, arr)) + # We parse both SVG files to create on document with the combination of sections from + # the output directly from the serializer and the cells found from the hidden line + # rendering + dom2 = parseString(svg_data_2) + svg2 = dom2.childNodes[0] + # file 2 only has the groups we are interested in. + # in fact in the approach, it's only a single group + + g2 = list(yield_groups(svg2))[0] - # Loop over the cell paths - for i, p in enumerate(g2.getElementsByTagName("path")): + # These are attributes on the original group that we can use to reconstruct + # a 4x4 matrix of the projection used in the SVG generation process + nm = g1.getAttribute("ifc:name") + m4 = numpy.array(json.loads(g1.getAttribute("ifc:plane"))) + m3 = numpy.array(json.loads(g1.getAttribute("ifc:matrix3"))) + m44 = numpy.eye(4) + m44[0][0:2] = m3[0][0:2] + m44[1][0:2] = m3[1][0:2] + m44[0][3] = m3[0][2] + m44[1][3] = m3[1][2] + m44 = numpy.linalg.inv(m44) - progress_function("group", ii, "path", i) + def project(xy, z=0.0): + xyzw = m44 @ numpy.array(xy + [z, 1.0]) + xyzw[1] *= -1.0 + return (m4 @ xyzw)[0:3] - d = p.getAttribute("d") - # point inside is an attribute that comes from line_segments_to_polygons() - # it is an arbitrary point guaranteed to be inside the polygon and outside - # of any potential inner bounds. We can use this to construct a ray to find - # the face of the IFC element that the cell belongs to. - assert p.hasAttribute("ifc:pointInside") + def pythonize(arr): + return tuple(map(float, arr)) - xy = list(map(float, p.getAttribute("ifc:pointInside").split(","))) + # Loop over the cell paths + for pi, p in enumerate(g2.getElementsByTagName("path")): - a, b = project(xy, 0.0), project(xy, -100.0) - elements = tree.select_ray(pythonize(a), pythonize(b - a)) + progress_function("group", i, "pass", iteration, "path", pi) - if elements: - # Put the IFC element entity type on the path for CSS-based styling - p.setAttribute("class", elements[0].instance.is_a()) + d = p.getAttribute("d") + # point inside is an attribute that comes from line_segments_to_polygons() + # it is an arbitrary point guaranteed to be inside the polygon and outside + # of any potential inner bounds. We can use this to construct a ray to find + # the face of the IFC element that the cell belongs to. + assert p.hasAttribute("ifc:pointInside") - # Obtain style (IfcOpenShell IfcGeom::Material) - style = tree.styles()[elements[0].style_index] + xy = list(map(float, p.getAttribute("ifc:pointInside").split(","))) + + a, b = project(xy, 0.0), project(xy, -100.0) + + inside_elements = tree.select(pythonize(a)) + + if inside_elements: + elements = None + if iteration != num_passes: + semantics[pi] = (inside_elements[0], -1) + else: + elements = tree.select_ray(pythonize(a), pythonize(b - a)) - # This is just a demonstration. We compose a factor of using: - # - ray intersection distance - # - dot product ray . face normal - # - style transparency - # the factor determines how much white will be interpolated - # into the style diffuse color. - clr = numpy.array(style.diffuse) - factor = (math.log(elements[0].distance + 2.0) / 7.0) * (1.0 - 0.5 * abs(elements[0].dot_product)) - if style.has_transparency: - factor *= 1.0 - style.transparency - clr = WHITE * (1.0 - factor) + clr * factor + if elements: + # Put the IFC element entity type on the path for CSS-based styling + p.setAttribute("class", elements[0].instance.is_a()) - svg_fill = "rgb(%s)" % ", ".join(str(f * 255.0) for f in clr[0:3]) - else: - svg_fill = "none" + # Obtain style (IfcOpenShell IfcGeom::Material) + style = tree.styles()[elements[0].style_index] - p.setAttribute("style", "fill: " + svg_fill) + # This is just a demonstration. We compose a factor of using: + # - ray intersection distance + # - dot product ray . face normal + # - style transparency + # the factor determines how much white will be interpolated + # into the style diffuse color. + clr = numpy.array(style.diffuse) + factor = (math.log(elements[0].distance + 2.0) / 7.0) * (1.0 - 0.5 * abs(elements[0].dot_product)) + if style.has_transparency: + factor *= 1.0 - style.transparency + clr = WHITE * (1.0 - factor) + clr * factor + + svg_fill = "rgb(%s)" % ", ".join(str(f * 255.0) for f in clr[0:3]) + + if iteration != num_passes: + semantics[pi] = elements[0] + else: + svg_fill = "none" + + p.setAttribute("style", "fill: " + svg_fill) + + if iteration != num_passes: + to_remove = [] + + for he_idx in range(0, len(pairs), 2): + # @todo instead of ray_distance, better do (x.point - y.point).dot(x.normal) + # to see if they're coplanar, because ray-distance will be different in case + # of element surfaces non-orthogonal to the view direction + + def format(x): + if x is None: return None + elif isinstance(x, tuple): + # found to be inside element using tree.select() no face or style info + return x + else: return (x.instance.is_a(), x.ray_distance, tuple(x.position)) + + pp = pairs[he_idx:he_idx+2] + if pp == (-1, -1): + continue + data = list(map(format, map(semantics.__getitem__, pp))) + if None not in data and data[0][0] == data[1][0] and abs(data[0][1] - data[1][1]) < 1.e-5: + to_remove.append(he_idx // 2) + # Print edge index and semantic data + # print(he_idx // 2, *data) + + svgfill_context.merge(to_remove) # Swap the XML nodes from the files # Remove the original hidden line node we still have in the serializer output From 0fe32c0c75ac1b9cafcbdb12e30165491763ada1 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 25 Apr 2022 09:53:49 +1000 Subject: [PATCH 040/243] #1153 Add support for radius annotations --- .../blenderbim/bim/data/styles/default.css | 1 + .../blenderbim/bim/data/templates/markers.svg | 5 + .../bim/module/drawing/decoration.py | 95 ++++++++++++++++++- .../blenderbim/bim/module/drawing/prop.py | 13 --- .../bim/module/drawing/svgwriter.py | 41 ++++++++ .../blenderbim/bim/module/drawing/ui.py | 20 ++-- src/blenderbim/blenderbim/tool/drawing.py | 1 + 7 files changed, 153 insertions(+), 23 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index 888e167c27..b89ee77859 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -31,6 +31,7 @@ text { fill: black; stroke: none; } .PredefinedType-SECTIONLEVEL { marker-start: url(#section-level-marker); stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-PLANLEVEL { marker-end: url(#plan-level-marker); } .PredefinedType-DIMENSION { marker-start: url(#dimension-marker-start); marker-end: url(#dimension-marker-end); } +.PredefinedType-RADIUS { marker-end: url(#radius-marker-end); } .PredefinedType-HIDDENLINE { stroke-dasharray: 3, 2; } .PredefinedType-STAIR { marker-start: url(#stair-marker-start); marker-end: url(#stair-marker-end); } .PredefinedType-BOUNDARY { fill: none; stroke: red; stroke-width: 1; stroke-dasharray: 12, 4, 3, 4, 3, 4; } diff --git a/src/blenderbim/blenderbim/bim/data/templates/markers.svg b/src/blenderbim/blenderbim/bim/data/templates/markers.svg index a2bfacc79f..ed34d6687a 100644 --- a/src/blenderbim/blenderbim/bim/data/templates/markers.svg +++ b/src/blenderbim/blenderbim/bim/data/templates/markers.svg @@ -16,6 +16,11 @@ + + + + + diff --git a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py index 7f9af997a5..f177bfe493 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py @@ -590,6 +590,98 @@ class LeaderDecorator(BaseDecorator): self.draw_label(context, obj.BIMTextProperties.value, pos, dir, gap=0, center=False, vcenter=False) +class RadiusDecorator(BaseDecorator): + """Decorating text with arrows + - head point with arrow + """ + + objecttype = "RADIUS" + + DEF_GLSL = ( + BaseDecorator.DEF_GLSL + + """ + #define ARROW_ANGLE PI / 12.0 + #define ARROW_SIZE 16.0 + """ + ) + + GEOM_GLSL = """ + uniform vec2 winsize; + uniform float viewportDrawingScale; + + layout(lines) in; + layout(line_strip, max_vertices=MAX_POINTS) out; + in uint type[]; + + void main() { + vec4 clip2win = matCLIP2WIN(); + vec4 win2clip = matWIN2CLIP(); + + vec4 p0 = gl_in[0].gl_Position, p1 = gl_in[1].gl_Position; + uint t0 = type[0], t1 = type[1]; + + vec4 p0w = CLIP2WIN(p0), p1w = CLIP2WIN(p1); + vec4 edge = p1w - p0w, dir = normalize(edge); + vec4 gap1 = vec4(0); + + vec4 p; + + // end edge arrow for last segment + if (t1 == 2u) { + vec4 head[3]; + arrow_head(dir, viewportDrawingScale * ARROW_SIZE, ARROW_ANGLE, head); + + gl_Position = p1; + EmitVertex(); + p = p1w - head[1]; + gl_Position = WIN2CLIP(p); + EmitVertex(); + p = p1w - head[2]; + gl_Position = WIN2CLIP(p); + EmitVertex(); + gl_Position = p1; + EmitVertex(); + EndPrimitive(); + + gap1 = dir * viewportDrawingScale * ARROW_SIZE; + } + + // stem, adjusted for and arrow + gl_Position = p0; + EmitVertex(); + p = p1w - gap1; + gl_Position = WIN2CLIP(p); + EmitVertex(); + EndPrimitive(); + } + """ + + def get_spline_end(self, obj): + spline = obj.data.splines[0] + spline_points = spline.bezier_points if spline.bezier_points else spline.points + if not spline_points: + return Vector((0, 0, 0)) + return obj.matrix_world @ spline_points[0].co + + def decorate(self, context, obj): + verts, idxs, topo = self.get_path_geom(obj) + self.draw_lines(context, obj, verts, idxs, topo) + self.draw_labels(context, obj) + + def draw_labels(self, context, obj): + region = context.region + region3d = context.region_data + dir = Vector((1, 0)) + pos = location_3d_to_region_2d(region, region3d, self.get_spline_end(obj)) + + spline = obj.data.splines[0] + spline_points = spline.bezier_points if spline.bezier_points else spline.points + if spline_points: + length = (spline_points[-1].co - spline_points[-2].co).length + text = self.format_value(context, length) + self.draw_label(context, text, pos, dir, gap=0, center=False, vcenter=False) + + class StairDecorator(BaseDecorator): """Decorating stairs - head point with arrow @@ -997,7 +1089,7 @@ class SectionLevelDecorator(LevelDecorator): class BreakDecorator(BaseDecorator): - """Decorator for dimension objects + """Decorator for breakline objects - first edge of a mesh with zigzag thingy in the middle Uses first two vertices in verts list. @@ -1517,6 +1609,7 @@ class DecorationsHandler: GridDecorator, HiddenDecorator, LeaderDecorator, + RadiusDecorator, MiscDecorator, PlanLevelDecorator, SectionLevelDecorator, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index 3502bd5808..13716fce9b 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -351,19 +351,6 @@ class BIMCameraProperties(PropertyGroup): raster_x: IntProperty(name="Raster X", default=1000) raster_y: IntProperty(name="Raster Y", default=1000) is_nts: BoolProperty(name="Is NTS") - cut_objects: EnumProperty( - items=[ - ( - ".IfcWall|.IfcSlab|.IfcCurtainWall|.IfcStair|.IfcStairFlight|.IfcColumn|.IfcBeam|.IfcMember|.IfcCovering|.IfcSpace", - "Overall Plan / Section", - "", - ), - (".IfcElement", "Detail Drawing", ""), - ("CUSTOM", "Custom", ""), - ], - name="Cut Objects", - ) - cut_objects_custom: StringProperty(name="Custom Cut") active_drawing_style_index: IntProperty(name="Active Drawing Style Index") # For now, this JSON dump are all the parameters that determine a camera's "Block representation" diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 9b345fad62..7411fd9ab9 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -155,6 +155,8 @@ class SvgWriter: self.draw_dimension_annotations(obj, text_override="EQ") elif element.ObjectType == "DIMENSION": self.draw_dimension_annotations(obj) + elif element.ObjectType == "RADIUS": + self.draw_radius_annotations(obj) elif element.ObjectType == "ELEVATION": self.draw_elevation_annotation(obj) elif element.ObjectType == "SECTION": @@ -622,6 +624,45 @@ class SvgWriter: ) ) + def draw_radius_annotations(self, obj): + x_offset = self.raw_width / 2 + y_offset = self.raw_height / 2 + classes = self.get_attribute_classes(obj) + element = tool.Ifc.get_entity(obj) + matrix_world = obj.matrix_world + for spline in obj.data.splines: + points = self.get_spline_points(spline) + projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] + d = " ".join( + [ + "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + for p in projected_points + ] + ) + d = "M{}".format(d[1:]) + path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) + + p0 = Vector(((x_offset + projected_points[0].x) * self.scale, (y_offset - projected_points[0].y) * self.scale)) + p1 = Vector(((x_offset + projected_points[1].x) * self.scale, (y_offset - projected_points[1].y) * self.scale)) + text_offset = (p0 - p1).xy.normalized() * 5 + text_position = projected_points[0] + text_position = Vector(((x_offset + text_position.x) * self.scale, (y_offset - text_position.y) * self.scale)) + text_position += text_offset + + text_style = { + "font-size": annotation.Annotator.get_svg_text_size(2.5), + "font-family": "OpenGost Type B TT", + "text-anchor": "middle", + "alignment-baseline": "middle", + "dominant-baseline": "middle", + } + + radius = ((matrix_world @ points[-1].co) - (matrix_world @ points[-2].co)).length + radius = helper.format_distance(radius) + tag = element.Description or f"R{radius}" + + self.svg.add(self.svg.text(tag, insert=tuple(text_position), **text_style)) + def draw_dimension_annotations(self, dimension_obj, text_override=None): classes = self.get_attribute_classes(dimension_obj) matrix_world = dimension_obj.matrix_world diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 0f586766bc..30a5e77234 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -65,12 +65,6 @@ class BIM_PT_camera(Panel): row = layout.row() row.operator("bim.resize_text") - row = layout.row() - row.prop(props, "cut_objects") - if props.cut_objects == "CUSTOM": - row = layout.row() - row.prop(props, "cut_objects_custom") - row = layout.row() row.prop(props, "raster_x") row = layout.row() @@ -326,11 +320,19 @@ class BIM_PT_annotation_utilities(Panel): self.props = context.scene.DocProperties row = layout.row(align=True) - op = row.operator("bim.add_annotation", text="Dim", icon="ARROW_LEFTRIGHT") + op = row.operator("bim.add_annotation", text="Dim", icon="FIXED_SIZE") op.object_type = "DIMENSION" op.data_type = "curve" - op = row.operator("bim.add_annotation", text="Dim (Eq)", icon="ARROW_LEFTRIGHT") - op.object_type = "EQUAL_DIMENSION" + op = row.operator("bim.add_annotation", text="Angle", icon="DRIVER_ROTATIONAL_DIFFERENCE") + op.object_type = "ANGLE" + op.data_type = "mesh" + + row = layout.row(align=True) + op = row.operator("bim.add_annotation", text="Radius", icon="FORWARD") + op.object_type = "RADIUS" + op.data_type = "curve" + op = row.operator("bim.add_annotation", text="Diameter", icon="ARROW_LEFTRIGHT") + op.object_type = "DIAMETER" op.data_type = "curve" row = layout.row(align=True) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 591ed2b766..5f5ac885c4 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -39,6 +39,7 @@ class Drawing(blenderbim.core.tool.Drawing): data_type = { "DIMENSION": "curve", "EQUAL_DIMENSION": "curve", + "RADIUS": "curve", "TEXT": "empty", "TEXT_LEADER": "curve", "STAIR_ARROW": "curve", From 9b13cd8d5f33eae2061649219979f809ef618dee Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 25 Apr 2022 10:02:00 +1000 Subject: [PATCH 041/243] #1153 Dimensions can now have custom text --- .../bim/module/drawing/decoration.py | 25 ------------------- .../bim/module/drawing/svgwriter.py | 12 ++++----- src/blenderbim/blenderbim/tool/drawing.py | 1 - 3 files changed, 6 insertions(+), 32 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py index f177bfe493..01eeba8795 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py @@ -172,7 +172,6 @@ class BaseDecorator: results = [] decoration_presets = ( "DIMENSION", - "EQUAL_DIMENSION", "TEXT_LEADER", "STAIR_ARROW", "HIDDEN_LINE", @@ -481,29 +480,6 @@ class DimensionDecorator(BaseDecorator): self.draw_label(context, text, p0 + (dir) * 0.5, dir) -class EqualityDecorator(DimensionDecorator): - """Decorator for equality objects - - outlines each segment - - augments with arrows on both sides - - puts 'EQ' label - """ - - objecttype = "EQUAL_DIMENSION" - - def draw_labels(self, context, obj, vertices, indices): - region = context.region - region3d = context.region_data - for i0, i1 in indices: - v0 = Vector(vertices[i0]) - v1 = Vector(vertices[i1]) - p0 = location_3d_to_region_2d(region, region3d, v0) - p1 = location_3d_to_region_2d(region, region3d, v1) - dir = p1 - p0 - if dir.length < 1: - continue - self.draw_label(context, "EQ", p0 + (dir) * 0.5, dir) - - class LeaderDecorator(BaseDecorator): """Decorating text with arrows - head point with arrow @@ -1605,7 +1581,6 @@ class TextDecorator(BaseDecorator): class DecorationsHandler: decorators_classes = [ DimensionDecorator, - EqualityDecorator, GridDecorator, HiddenDecorator, LeaderDecorator, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 7411fd9ab9..d890e00e32 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -151,8 +151,6 @@ class SvgWriter: self.draw_leader_annotation(obj) elif element.ObjectType == "STAIR_ARROW": self.draw_stair_annotation(obj) - elif element.ObjectType == "EQUAL_DIMENSION": - self.draw_dimension_annotations(obj, text_override="EQ") elif element.ObjectType == "DIMENSION": self.draw_dimension_annotations(obj) elif element.ObjectType == "RADIUS": @@ -663,10 +661,12 @@ class SvgWriter: self.svg.add(self.svg.text(tag, insert=tuple(text_position), **text_style)) - def draw_dimension_annotations(self, dimension_obj, text_override=None): - classes = self.get_attribute_classes(dimension_obj) - matrix_world = dimension_obj.matrix_world - for spline in dimension_obj.data.splines: + def draw_dimension_annotations(self, obj): + classes = self.get_attribute_classes(obj) + matrix_world = obj.matrix_world + element = tool.Ifc.get_entity(obj) + text_override = element.Description + for spline in obj.data.splines: points = self.get_spline_points(spline) for i, p in enumerate(points): if i + 1 >= len(points): diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 5f5ac885c4..0a9878989e 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -38,7 +38,6 @@ class Drawing(blenderbim.core.tool.Drawing): def create_annotation_object(cls, object_type): data_type = { "DIMENSION": "curve", - "EQUAL_DIMENSION": "curve", "RADIUS": "curve", "TEXT": "empty", "TEXT_LEADER": "curve", From aa3325c01049d0360f6901c7e388ad976265baf4 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 25 Apr 2022 10:32:33 +1000 Subject: [PATCH 042/243] #1153 Implement diameter annotation --- .../blenderbim/bim/data/styles/default.css | 1 + .../blenderbim/bim/data/templates/markers.svg | 12 +++++ .../bim/module/drawing/decoration.py | 9 +++- .../bim/module/drawing/svgwriter.py | 46 ++++++++++++++----- .../blenderbim/bim/module/drawing/ui.py | 2 +- src/blenderbim/blenderbim/tool/drawing.py | 1 + 6 files changed, 57 insertions(+), 14 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index b89ee77859..d1054ad4e2 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -32,6 +32,7 @@ text { fill: black; stroke: none; } .PredefinedType-PLANLEVEL { marker-end: url(#plan-level-marker); } .PredefinedType-DIMENSION { marker-start: url(#dimension-marker-start); marker-end: url(#dimension-marker-end); } .PredefinedType-RADIUS { marker-end: url(#radius-marker-end); } +.PredefinedType-DIAMETER { marker-start: url(#diameter-marker-start); marker-end: url(#diameter-marker-end); } .PredefinedType-HIDDENLINE { stroke-dasharray: 3, 2; } .PredefinedType-STAIR { marker-start: url(#stair-marker-start); marker-end: url(#stair-marker-end); } .PredefinedType-BOUNDARY { fill: none; stroke: red; stroke-width: 1; stroke-dasharray: 12, 4, 3, 4, 3, 4; } diff --git a/src/blenderbim/blenderbim/bim/data/templates/markers.svg b/src/blenderbim/blenderbim/bim/data/templates/markers.svg index ed34d6687a..06c72f146e 100644 --- a/src/blenderbim/blenderbim/bim/data/templates/markers.svg +++ b/src/blenderbim/blenderbim/bim/data/templates/markers.svg @@ -21,6 +21,18 @@ + + + + + + + + + + + + diff --git a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py index 01eeba8795..a1eb06b3a8 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/decoration.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/decoration.py @@ -378,11 +378,11 @@ class BaseDecorator: elif "/" in precision: precision = int(precision.split("/")[1]) elif unit_system == "METRIC": - precision = 3 + precision = 4 else: return - return bpy.utils.units.to_string(unit_system, "LENGTH", value, precision=precision, split_unit=True) + return bpy.utils.units.to_string(unit_system, "LENGTH", value, precision=precision) class DimensionDecorator(BaseDecorator): @@ -480,6 +480,10 @@ class DimensionDecorator(BaseDecorator): self.draw_label(context, text, p0 + (dir) * 0.5, dir) +class DiameterDecorator(DimensionDecorator): + objecttype = "DIAMETER" + + class LeaderDecorator(BaseDecorator): """Decorating text with arrows - head point with arrow @@ -1585,6 +1589,7 @@ class DecorationsHandler: HiddenDecorator, LeaderDecorator, RadiusDecorator, + DiameterDecorator, MiscDecorator, PlanLevelDecorator, SectionLevelDecorator, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index d890e00e32..ed0aebfafa 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -155,6 +155,8 @@ class SvgWriter: self.draw_dimension_annotations(obj) elif element.ObjectType == "RADIUS": self.draw_radius_annotations(obj) + elif element.ObjectType == "DIAMETER": + self.draw_diameter_annotations(obj) elif element.ObjectType == "ELEVATION": self.draw_elevation_annotation(obj) elif element.ObjectType == "SECTION": @@ -217,7 +219,6 @@ class SvgWriter: if tag: self.svg.add(self.svg.text(tag, insert=(text_position[0], text_position[1] - 5), **text_style)) - def draw_stair_annotation(self, obj): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 @@ -265,9 +266,7 @@ class SvgWriter: end = Vector(((x_offset + v1.x), (y_offset - v1.y))) vector = end - start line = self.svg.add( - self.svg.line( - start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes) - ) + self.svg.line(start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes)) ) line["stroke-dasharray"] = "12.5, 3, 3, 3" axis_tag = tool.Ifc.get_entity(obj).Name @@ -298,7 +297,6 @@ class SvgWriter: ) ) - def draw_misc_annotation(self, obj): # We have to decide whether this should come from Blender or from IFC. # For the moment, for convenience of experimenting with ideas, it comes @@ -565,7 +563,11 @@ class SvgWriter: for edge in obj.data.edges: points = [obj.data.vertices[v] for v in edge.vertices] projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] - projected_points = [projected_points[0], (projected_points[0] + projected_points[1]) / 2, projected_points[1]] + projected_points = [ + projected_points[0], + (projected_points[0] + projected_points[1]) / 2, + projected_points[1], + ] d = " ".join( [ "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) @@ -575,7 +577,6 @@ class SvgWriter: d = "M{}".format(d[1:]) path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) - def draw_plan_level_annotation(self, obj): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 @@ -640,11 +641,17 @@ class SvgWriter: d = "M{}".format(d[1:]) path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) - p0 = Vector(((x_offset + projected_points[0].x) * self.scale, (y_offset - projected_points[0].y) * self.scale)) - p1 = Vector(((x_offset + projected_points[1].x) * self.scale, (y_offset - projected_points[1].y) * self.scale)) + p0 = Vector( + ((x_offset + projected_points[0].x) * self.scale, (y_offset - projected_points[0].y) * self.scale) + ) + p1 = Vector( + ((x_offset + projected_points[1].x) * self.scale, (y_offset - projected_points[1].y) * self.scale) + ) text_offset = (p0 - p1).xy.normalized() * 5 text_position = projected_points[0] - text_position = Vector(((x_offset + text_position.x) * self.scale, (y_offset - text_position.y) * self.scale)) + text_position = Vector( + ((x_offset + text_position.x) * self.scale, (y_offset - text_position.y) * self.scale) + ) text_position += text_offset text_style = { @@ -661,6 +668,22 @@ class SvgWriter: self.svg.add(self.svg.text(tag, insert=tuple(text_position), **text_style)) + def draw_diameter_annotations(self, obj): + classes = self.get_attribute_classes(obj) + matrix_world = obj.matrix_world + element = tool.Ifc.get_entity(obj) + text_override = element.Description + for spline in obj.data.splines: + points = self.get_spline_points(spline) + for i, p in enumerate(points): + if i + 1 >= len(points): + continue + v0_global = matrix_world @ points[i].co.xyz + v1_global = matrix_world @ points[i + 1].co.xyz + self.draw_dimension_annotation( + v0_global, v1_global, classes, text_override, text_format=lambda x: "D" + x + ) + def draw_dimension_annotations(self, obj): classes = self.get_attribute_classes(obj) matrix_world = obj.matrix_world @@ -687,7 +710,7 @@ class SvgWriter: Vector(coord[0]), Vector(coord[1]), ["IfcAnnotation", "PredefinedType-DIMENSION"] ) - def draw_dimension_annotation(self, v0_global, v1_global, classes, text_override=None): + def draw_dimension_annotation(self, v0_global, v1_global, classes, text_override=None, text_format=lambda x: x): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 v0 = self.project_point_onto_camera(v0_global) @@ -713,6 +736,7 @@ class SvgWriter: text = text_override else: text = str(dimension) + text = text_format(text) self.svg.add( self.svg.text( text, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 30a5e77234..3aae7f0388 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -320,7 +320,7 @@ class BIM_PT_annotation_utilities(Panel): self.props = context.scene.DocProperties row = layout.row(align=True) - op = row.operator("bim.add_annotation", text="Dim", icon="FIXED_SIZE") + op = row.operator("bim.add_annotation", text="Dimension", icon="FIXED_SIZE") op.object_type = "DIMENSION" op.data_type = "curve" op = row.operator("bim.add_annotation", text="Angle", icon="DRIVER_ROTATIONAL_DIFFERENCE") diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 0a9878989e..d4f898ad98 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -39,6 +39,7 @@ class Drawing(blenderbim.core.tool.Drawing): data_type = { "DIMENSION": "curve", "RADIUS": "curve", + "DIAMETER": "curve", "TEXT": "empty", "TEXT_LEADER": "curve", "STAIR_ARROW": "curve", From 8aff4badf7d1fd18dec2504bb50625998fe96ec5 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 25 Apr 2022 19:37:03 +1000 Subject: [PATCH 043/243] Minor housekeeping --- src/blenderbim/{ => scripts}/demo-library.blend | Bin src/blenderbim/{ => scripts}/dxf2ifc.py | 0 src/blenderbim/{ => scripts}/extract.py | 0 src/blenderbim/{ => scripts}/gbxml.py | 0 .../{ => scripts}/generate_demo_library.py | 0 .../{ => scripts}/generate_site_library.py | 0 .../{ => scripts}/generate_util_type_json.py | 0 src/blenderbim/{ => scripts}/getIfcElements.py | 0 src/blenderbim/{ => scripts}/get_description.py | 0 .../{ => scripts}/get_volume_by_material.py | 0 src/blenderbim/{ => scripts}/obj2ifc.py | 0 src/blenderbim/{ => scripts}/site-library.blend | Bin 12 files changed, 0 insertions(+), 0 deletions(-) rename src/blenderbim/{ => scripts}/demo-library.blend (100%) rename src/blenderbim/{ => scripts}/dxf2ifc.py (100%) rename src/blenderbim/{ => scripts}/extract.py (100%) rename src/blenderbim/{ => scripts}/gbxml.py (100%) rename src/blenderbim/{ => scripts}/generate_demo_library.py (100%) rename src/blenderbim/{ => scripts}/generate_site_library.py (100%) rename src/blenderbim/{ => scripts}/generate_util_type_json.py (100%) rename src/blenderbim/{ => scripts}/getIfcElements.py (100%) rename src/blenderbim/{ => scripts}/get_description.py (100%) rename src/blenderbim/{ => scripts}/get_volume_by_material.py (100%) rename src/blenderbim/{ => scripts}/obj2ifc.py (100%) rename src/blenderbim/{ => scripts}/site-library.blend (100%) diff --git a/src/blenderbim/demo-library.blend b/src/blenderbim/scripts/demo-library.blend similarity index 100% rename from src/blenderbim/demo-library.blend rename to src/blenderbim/scripts/demo-library.blend diff --git a/src/blenderbim/dxf2ifc.py b/src/blenderbim/scripts/dxf2ifc.py similarity index 100% rename from src/blenderbim/dxf2ifc.py rename to src/blenderbim/scripts/dxf2ifc.py diff --git a/src/blenderbim/extract.py b/src/blenderbim/scripts/extract.py similarity index 100% rename from src/blenderbim/extract.py rename to src/blenderbim/scripts/extract.py diff --git a/src/blenderbim/gbxml.py b/src/blenderbim/scripts/gbxml.py similarity index 100% rename from src/blenderbim/gbxml.py rename to src/blenderbim/scripts/gbxml.py diff --git a/src/blenderbim/generate_demo_library.py b/src/blenderbim/scripts/generate_demo_library.py similarity index 100% rename from src/blenderbim/generate_demo_library.py rename to src/blenderbim/scripts/generate_demo_library.py diff --git a/src/blenderbim/generate_site_library.py b/src/blenderbim/scripts/generate_site_library.py similarity index 100% rename from src/blenderbim/generate_site_library.py rename to src/blenderbim/scripts/generate_site_library.py diff --git a/src/blenderbim/generate_util_type_json.py b/src/blenderbim/scripts/generate_util_type_json.py similarity index 100% rename from src/blenderbim/generate_util_type_json.py rename to src/blenderbim/scripts/generate_util_type_json.py diff --git a/src/blenderbim/getIfcElements.py b/src/blenderbim/scripts/getIfcElements.py similarity index 100% rename from src/blenderbim/getIfcElements.py rename to src/blenderbim/scripts/getIfcElements.py diff --git a/src/blenderbim/get_description.py b/src/blenderbim/scripts/get_description.py similarity index 100% rename from src/blenderbim/get_description.py rename to src/blenderbim/scripts/get_description.py diff --git a/src/blenderbim/get_volume_by_material.py b/src/blenderbim/scripts/get_volume_by_material.py similarity index 100% rename from src/blenderbim/get_volume_by_material.py rename to src/blenderbim/scripts/get_volume_by_material.py diff --git a/src/blenderbim/obj2ifc.py b/src/blenderbim/scripts/obj2ifc.py similarity index 100% rename from src/blenderbim/obj2ifc.py rename to src/blenderbim/scripts/obj2ifc.py diff --git a/src/blenderbim/site-library.blend b/src/blenderbim/scripts/site-library.blend similarity index 100% rename from src/blenderbim/site-library.blend rename to src/blenderbim/scripts/site-library.blend From 07d2cc62c1e3b021b6c8121625c866224ae4bbaf Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 26 Apr 2022 09:53:32 +1000 Subject: [PATCH 044/243] Fix #2163 bug where launching viewing apps could freeze Blender --- src/blenderbim/blenderbim/bim/module/drawing/operator.py | 2 +- src/blenderbim/blenderbim/tool/drawing.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index fb1e2aa1fe..01172440c3 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -53,7 +53,7 @@ def open_with_user_command(user_command, path): if user_command: commands = eval(user_command) for command in commands: - subprocess.run(command) + subprocess.Popen(command) else: webbrowser.open("file://" + path) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index d4f898ad98..8f25239d9f 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -329,7 +329,7 @@ class Drawing(blenderbim.core.tool.Drawing): if user_command: commands = eval(user_command) for command in commands: - subprocess.run(command) + subprocess.Popen(command) else: webbrowser.open("file://" + path) From d4ee74455c445355c41f2d5e38226c50845f6f99 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 27 Apr 2022 20:36:32 +1000 Subject: [PATCH 045/243] Show construction type descriptions as tooltips in BIM authoring tool --- src/blenderbim/blenderbim/bim/module/model/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/data.py b/src/blenderbim/blenderbim/bim/module/model/data.py index 1ee9a3f7be..393fe73273 100644 --- a/src/blenderbim/blenderbim/bim/module/model/data.py +++ b/src/blenderbim/blenderbim/bim/module/model/data.py @@ -58,7 +58,7 @@ class AuthoringData: if not ifc_class and ifc_classes: ifc_class = ifc_classes[0][0] if ifc_class: - elements = [(str(e.id()), e.Name, "") for e in tool.Ifc.get().by_type(ifc_class)] + elements = [(str(e.id()), e.Name, e.Description or "") for e in tool.Ifc.get().by_type(ifc_class)] results.extend(sorted(elements, key=lambda s: s[1])) return results return [] From cfa1428a75e73cfdfcffe689d688785a7bfaec43 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 27 Apr 2022 20:44:26 +1000 Subject: [PATCH 046/243] Fix bug where material layer set usage axis was not consistent for non walls --- .../ifcopenshell/api/material/assign_material.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py b/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py index 4430c2eb63..70a5040352 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py +++ b/src/ifcopenshell-python/ifcopenshell/api/material/assign_material.py @@ -91,11 +91,23 @@ class Usecase: subelement.SweptArea = profile def create_layer_set_usage(self, material_set): + if self.settings["product"].is_a() in [ + "IfcSlab", + "IfcSlabStandardCase", + "IfcSlabElementedCase", + "IfcRoof", + "IfcRamp", + "IfcPlate", + "IfcPlateStandardCase", + ]: + layer_set_direction = "AXIS3" + else: + layer_set_direction = "AXIS2" return self.file.create_entity( "IfcMaterialLayerSetUsage", **{ "ForLayerSet": material_set, - "LayerSetDirection": "AXIS2" if self.settings["product"].is_a("IfcWall") else "AXIS3", + "LayerSetDirection": layer_set_direction, "DirectionSense": "POSITIVE", "OffsetFromReferenceLine": 0, } From 7e7d57685570490588a719b76cc7a62cc2c15b14 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 27 Apr 2022 20:45:34 +1000 Subject: [PATCH 047/243] Basic WIP Australian project library with some materials and walls --- src/blenderbim/scripts/au-library.blend | Bin 0 -> 986888 bytes src/blenderbim/scripts/generate_au_library.py | 254 ++++++++++++++++++ 2 files changed, 254 insertions(+) create mode 100644 src/blenderbim/scripts/au-library.blend create mode 100644 src/blenderbim/scripts/generate_au_library.py diff --git a/src/blenderbim/scripts/au-library.blend b/src/blenderbim/scripts/au-library.blend new file mode 100644 index 0000000000000000000000000000000000000000..0bf2d9f7b7fc7856dc6a415728d27a0561bbaa6c GIT binary patch literal 986888 zcmeEv31D4Cx&KWA?GaGRUZBu)PuFZso3=@AmM*uYEu}5AEYhY)Xaa3h(v_t&qR3^@ zKPYJNJ+Xpd6-7ZGR)nOqfL8%Q6se+8e1MUM>vQQ-@ch5u%>3>>cXG~Ml9aZQ(@y5h zIrDup^ZmZ>o8`{cD??$dO~hKO|mU-?+9B z7rS{ZnYnn0b4w@`S$g^vuX*^l3BOqqMvortjvqhXJ@d>nvkJq84RZ?%3$vnO8KtGA z-J&D?kr+c>W5loW<+b@$R#tY4 z&gRpX(+Us4q@bX{J?pHq+`)qfs~Gm$TVdqLkqUq6)x_edZmHl3Y!M(|p1&JuZ&?TX z{M~MwU0$m8m6VjkZ5=k9mzSsf<rqH14BqOyiz64ZjCH=Y7=0dmnZ8reQD4 zk2XQx&~MPA?vOXr@Oj{eI^#a-g8RsaH28SihICn3S-dW23(8~N&`$VOrcrlq+fi3< z8hO34u-k^RQ3m@tVstR@XCDArl+If27F3+8_`xI-5X2L90d?c292 zdw`BdA`unPN5jWpY=CRCX3bK45w6XfH_xrAs!}#FfBt-RAAEYlCuPb5^3wsxJ^w>@q5U(Xwf3KuCC6ludjEPE?uhHa=`@`DBp6h@W)sa`qWT=c*WKoWsTtkOyhzLyQ0(@Cyh?Lzj^k zG`I)dhabVcIdkSH`+z(SMu0w{Pvsce8)IDH4e(n*Vak*#t~Zodl_sUV_fnk)@yB&< zU3l)TFV4}PgM~l(f7k^2Q1nlBD3~zTEf|k^tISU&j2|~f#rcvK*wJ=5<^eBUW8XDy z?3gY*?J{~h4STU=h&1KPI0%;@EX%9AhrgGfUzx0rH}=;5VB(K?C43>q798h!<8h-f zM;xy55L4gU#8f5ak9@bHY%^0tj0VzPZexhJDsf#9Bll- zKL~$fh<>8BwpRJ=+UZl3Kc7B*x|=_Gr1%5q!)UR4ne$0}D0RXQf3IEP+?KzMk2meb zxx6|v{Jk_@Ufy%N4oKVeL>jt#u%&^3=A^yneBlKhN#@*!6uk z@Xy5lQBTZifIG%kh%qOeJh@c-LZw?hz0|FlKG7|oHc@n8tUJQ9Za^RMZp2>vZCTo~ zCI;Tv4>w-JT)47kikcJS+%GV1Q0y&>=XSm9dLItM#Fn!WE zx3YYq3S-8M@*P9G8@RI!;&02)mN8}Tje{`r;+zhDZ{8q&-ZFV^*Uwvj;6FmvCP#@) z_2zsD^JR?xFqTW_|4S#q=F4T=Q{qmWHrbsrxmfvm^!ejWz*yi=_WjTSKm2XkQs#_< zaPnfw^K9@Z4Pv_tmhFwb_4MKod}dB4bj!z2eAn^E*dP6Q+2nCYJ@vjxo64~G5w_5YaT;d*i5Sa)WvjQuK0=@ssbDP;!*f4})Za14jTYOG%&nByGdJfaVl|$`xB~KkjM>Eqbx1=e zVE4F&b|Hig6d}D&>W6-!F6Z~!2+t?5@J4V|PDr={zm}zfp(=ct9!L+w7 zULAlO7!>}3!H}^B2Y>Ll$NzXP2p*c|7mc!Vt59^7TZGem>PMPbD8e7oo{eO`EhfTxZqwmK&AAT8Yf2bF(LkG%b z98_CbCTjsjV)KRW^eGeF3R(YwpJzXSIYUYD1o7SF;sXk04pFN5j)|fV7(ZYvIep?- zbq!<7X$9Km$3Q1Umx?fckg){D5twU^9yvnkA)b%o9C@I7V`O|VUY<2U&*(=eKd(%^ z@+Jn1i4kKjmfrIU83TgGdoAdkyu2~XW9+Syx31Iy;D6RxL)_sb503pqX14tojMvXl zCra7l#D-B9_-VAmTQA5M^zaiUg5#uO`24X7ud*rf9A0q4*iH2T;`f0Kc|nK36VDzI zBMqN|`=tfrWlVtiW}zFF^`&YVPe7-z#suuu-qQjZFI4IK=vUyg&|i4*2QLP%oN-S1 zBlhCMa~o4$uMAhX;hMzyAL_zj(;!VcZ|p6b^_nVmnuh+bMEXM+@0AqD9)<}M-7zCY zzY8kd(PMh|c{#^_e)x|arJtjXmKZ)AIAYv}FmXb@!Wrkv=c{Wt*J+H;;(M^h==~+= zH|YC;G0Mc40@vXS&^IVQXYOG>03N6#^$YiL4*K!ZH%**4LFbWcxCegdqcXwYD}Nh* zVhFr|4aTEO&O6V&Q1<9xKhEMMi`{b;&yn$KwfF#S58y!^KujL-Sa_8KU)f__Mtmn0 zxJBcoJ!51pG)nA5a2`1V&s&oNZ1b!kdG4^`BMyrHhwN*O>iw$Egh&1lOFK`}=w8|rW$rQ(mcihYtARPa9+G#oud}I45SvgLBM# z>l^Cb3og9Sy>!(oxB0Tm-TJ2GYL6E7w9J?NEj7|7mdpGc_`-fC6&AV0V!H+7WPFn^ zx;$#MJ4)~!CGkj!i80Q-0lsjQw0*SrvV75tF{0dwG6AogO9b1(kHo^iS0zj)q!x8dRsxvQ41a9dZe zaW}PG;jX>(L+;{*=el!6H_FSVy5Y*O!fmAB#{evG4$Ps?#8vG{6Xxq9^Kf-e=5eoGA>3a5t|z!``Xv+-&^e z|AE28@%b`#mo?9+B{JTh>{gV?xP4lo%)<-Z*)wHbu(H&hHdXuiD$Ez8&Qrzi&}RZW z_zd_8j_(R(ERS*A)H3lSGFB{|By&s|FHVyF12M417!UP>U1Cg$IX~_pKgO2mZ=g4d zMy?eW=y4@?d)zIGXxA{Xu>o<2TH8*UG+ejQOx%wZ6W=-Mr;W_v)=%-K($J>NZ}w z$~}AGY#H-a$T+1~+3Iw`)h{T#fjI-P$GJC#Uibvy5C1WvG~b;fWANVc{a*Wro!j`2 z@%VrGW<2LDD%AcO=k(w3|JV6{X1&3ez8p5p`61>E(3v8!`*AW~ zR6gJI56UOVHLM$g26Y(esULm6*Z$e>cNc%`b-3!9YuuJ~SGeb#vrzUh&vREbUFKdc z{r~DUYuyVkyx6UtRT1ys{BXy$IOcxm$_M!4PF(>06GbKmYyWT1^M8y{fL(Fncs2H~ zte7l5Th@H0Opx`ULh;+;|E2v^;{T^l6`v>m0RA6qLwFuQ{|_I+u_DIv@c&o~m?~=n z@a1~FK>KgxEt9^ZSTM$1g7<+x)_~yuRX-qf7(aM%=Q-^^9sXY1SN>moKK#CS4u?K} zUF&-HA{qNZ2WHKh?bga3D6EB{EhEO9CH>8C)xPO6{?j_ZSYuBeV4Q6C>jFIOF;>)l$+}r!ah(E^l)B%qDz2kl_{@#Ays{?q>iTNJJ z0n1mcP;Eo|5a82>j~=Y>&lg+K*k|bfy}kf)4G6#{P+d>pViGw*a+lf$#=eASmHd_Y${=+Y0w z$A78upDy_@XBe3`)E#k<#(%)g#-D3%<76xc-wuBVeL;*q9P>l(9I>ak^%gzxhwT$< z>HyP-Gr^zZz>6-vL}8A#o=cW5SNk6zpFyXc=8h|nwHbxKJjW2d@C(2`?*HSsWBdo~ z87J!jZNFUll>(7@#aNk($ry{a+Z!?MKL~%=I?92K!`^X@YZ%wzy%2=n!mYRXc=5M& zAY1%l|FHG?hDPNBkVcJtf2W&mic+=*+akAeBU74|c^c%zefZdBvM6nk`f z%h&tyA^xb_g{v-c7c5yA_my59$OM1r0rB@@k8_j*{6~!)Dq}!d(-i$8{@T`wtHzr4 zAD{mP_BI886KnW>vOgTI5r60;>JAJcJM;svf9ilA{C!M71W@wRZ2tpXab=J&*V51JAq0+V{(K3xC)?#+FP7ao2mb8O>Hih} zqRaWB1NrjI9<~g>fY@u_@EN1U_Z<#c`_+N?qn-tmWZWWaQ|Ob3KX3=me)xN_=eZYq zoYN0rFaC)qo*2h}GIUEYvxC>(*{>sJA7RJ1S1$eObOzyx`5*dNw4t}~$9EXeM&J*9 zp#S%i>5+8Ji+{!0weIA~sd4|${@>OC=mP_BM@;PP7&<`w5l<|UJ+Fd4aEk}E9*DH~ zAn$dY3%!jy)0po=hv@t1|Iwer7JCc-g$oxdT?YQ(JxunPOdB!Ioit*Mn?GFE-=%-x z8V}0FUT^dhxHfTwtmh5ad$w@xaMBOrk9xxHxkg3%rw$Nr>H=~1!y0(Q{=9+XKYTN6 zy!ih~QWkALG1h~BC)SL+`g~#!tTEq5jBD&SF#d-xhEId7qA%!40N(h%5ZXoiA3k)L zJ9lJ}TRlSbOmqNpKzs4+7L5Ne7R0*#?Af#3qH(fcOZF&1FAi7yp}(7NxYnJ2!6K!z zz@1nVd$f_b^BQ7avvt9nhTWfV!U^(Rc8EK^aFlxHo4{R<`4Z`1%!xf?=#UqC=m79X zIq=cYf!+$xsjm3Tyk799{{#M*17Pg0`c$F8IOK4$d2d~4|ETNi$ZTaN7{9>&y*_~b zKicWV-itr=fU>ahKmPdR6)vOYnP*w0?2T2n?!`Vk`}bn+)dAoSUxxC}Ip-W@yZFu$ zY!PdcSQ9|tciA%057<8J*B}3U#T)X19U&jW;fyDU88+xOaidfyMs)tC>s%em_JRji-?VP6saFV_1ot|5kufg`YjPTB#u zF`qYv4q+TX{2@2!0s3?A7z2F-=bc#FIo$Pt_@jLsGkNVl$Opjh16%e5#M_RM2iJy) zT+#o-{;|iiWNLxxx3vzW$6Wb$U~B^DIQRF?6LF6HplAc?1}xMX8`jx80r*2F?Et*I z`FM`}*s}@zfjM*-@`Bu;2hbJd!8!6lR}dd5_`@bjX31QCL3Mon$Il0N{Q&#^bUHx% zG5?2OhU|*v-KQYzIWJKCJH~emW^RBnKWL{z|0E>!36d@nUkn_2J3yC!Kd_~q;2d)s zlm+|`cf9TT(f)z|qV<=!)r%u;vAk=^@h295>U4|r{!{@xqoKKAV6`49Xp=C4_NhfK)r!Kd;;VK{=gr7Km7z^ zT!W8*e?W|U@DJ!G5I~E3@DE5se{di9n1_6T3;P({!#VGv9QHTF(Z)Ajnso4E4Bqu$ z+umvG-kA9F8q;Lbu4w#u9CM`O<2jA5*T1X$#9d(y z+=)H#pMKEshphuMV1e-k@CSYzBckttERlwdAP?jStPq$Fc;Xzm!_I&wV#puYai8NC zl!Y?D7yLoP&=bEy{J|UFe#ZW7)|a-An6}T@>jUTqh`%?64&Xle*(Cg>trdcQeEg;` z?~1nhTI)Ct%*(x?OO zBQFBdzz_M52EIH;KH`xnem%{{@=)Jac~=Lv&-WC1ssr@@z#sKI<&;zO`VV9R{Eh#& z$8SvQet7x?{YqDymSod@<08TWPocEBGvvCoDLu)l=eKz4``pcB9s zF|NaR)BocdWQ}~d4jzc9OUQ?F$PGG%vY{{V6+Ok=OAq{^e<%+)ah;1cPv39bI@4ZX z&vWm*5Z9nbd9oi9{(tabZU1;jXL?wkBT1kg)6VrcPGib*Gxx31ryp8r91 zy&Zt17k^*}9S3&67xII=fFlFa%tOo}58Ma-kR$MApN};7fCl-24S3@m<@KiThaLcb zlt;gha!@zak%78^d~74n8B-q+QxA9z^&cYdV{7~eEB`-Q>=SsG*WevKJ#J5qlkta7 z@ZwIL(Rv|1L3mA(ch%Vc!(Mtj(EmdZVE@1axB*AV3hhRkI)LjqM+_ODKcKEa#os9WExJ|F7od^5(X=>cZe2JL-K6L``17qzM^MA;Q<165?K)$&- zRo=m(J>i_?M@#e~jsf zuYauj1?WOV>i?0CUa!6h0Na9m5u+U+nqBHv$oKYO=Xg$!Yq&RDzEM7^SZrR-{Q@w= zKH%l%JqF+pJb^zjg-)Ox;Eot+_Mb@8w?lq7hn|2Ad60&^!}lUD?x7CQJH)t#bL7W8 zD@zyb%*?+CS6O1uyo@;E467a77{)%dSM`T)@d=mX-U z0Q}80?dKEr4}HKjC<{sq*>2pU>#w+o7Y#H(K7o z8zb-H;hX^&0RNRMS1MZI51By+hzYQSK0#N|R_FryeBg_7@FL!jCwL-1f~_~Whil-& zyhtN2_(2zN9Xz2MJ=Fu^58hKzC#g5bGbqO!h`SeC@446Rz2|8AP!N5s@Q3fG|A!4KT@rn!z5yHfb@&Lx44}a| z@8g`lg!e!Le%?CZ9M=(Wj{DwoqJbWb&z`gGg|P+_nL_R^r{5@#2fQDjdQ{$;2yEZ`O@iOcUgIr zx_0*2^WBBhE8Q#0s^jy2=rm-F`dr(%$X&7^qI@{V`_)o!>PwFYQnV2(L}{ai?2lX?G~i{095wkbV8Ufch}U(O558jXB= z8@ddA1y1=B8s^Nw={%u9KW7}%g~_@)i#f3R7v{o@>YVVgLIZPMm>o%W10F$Ztt zN9ZnoJ*A`n2mZ^i`LerY^H0;1SoMS6{=kd5_Z;@m zG`{zO^*`AE5PANuWg&AT(f`S!1CyuY+duN$OTIr-Dt#^X22YZ2J>k1RlT0X)@5Gfz zKN$~``EF&E{C17lCIb9DVqnVghd1V!ASg!r@cb8hzwvE8v|k5l-&h^S z$!{f&m2-7n+U?DQ>toEf{nWY8t2C~~u}hr8{vbQl5w?Eot+%SWvmLNw+)o$K=VPBJ z{2lZkYe(?^W5k!0%GznMV2QCC0x*J}08_-k66K>Vm|xIlfIs{`Wd&b=bL5Av0cYq8 z=+HL!23!M9e)#pqwK2jUC)<3abjoamobk+KaR2>H^>mb3;dxEeMnu0--rHU%@2A2y?~Bs zU*tdcx9T&spMDN_*hr(0-Hw{f3UAY`+kmv&^lYE$_3)yEe58>*bpa+ApF$sB>vq zrCT~V`8fvbiuNwz!7zL9wjO!pGpcsC^LgHFLmK;F=Bw^-H(vJ{^}F5p{cik5Hf(g=x^=2v^i6hr(fZH0E7x7`HmthL zz3q#8-I~a`O2+8lAuIeAF~)ru_aLxsr~~e!z0gz00y4%q>IoU4Ezl2KL;KJM;0K#S zJ#ZZXd=S7J0d2$YlcR00P4IwCqb}eJ?7;`W`wgDu5gC_!_!}zUK9rJl!tTHhxDLfxj082 z)DPE?2Xx?vdyost!8O_=uOlWs%K|U)N;J{NT@k`4V`b-nfPsbchka$G(QNA3fUydYm&K`12aeKs~+XATMa_>&TC5 zxQBDJA2K6v#NdN#h!0kP4+1`rC;c4ig!*^`>Vvrq{1D_0-vD0jff9zYf z6aHh1cnkQMOpm4Wmo~4RU$-{X{MqEYI*ZKC(?3@JFDTBLt|+ z<%It2${;^o_)q00qOW`}$zO1M$O6u9Zrq$VukOmmR$j?2-tzIMo0LB@@qwFlI%eW6 zH<V8~H9Il1CrwTI3zH)1QbAGB-L^#7i^0_8Gxj311wep0o! z^YY}_rjIYYLG4dKEH*tTENh444ag>by6Lic+y3SjY<)5HED~XQzNVm(-kss-{4M?VAKGH=E z9r-2blIzKQq+4d_$d7c4DHrA=UB00sKjsgGPEx0&V?NSR56O>o+Xf`lF(2uekNlY4 zHb9@DynH#OevdZzZI5akn4fYb&b&@~<|loVp(o$Y0DMT#{G=~4^yEu9laF0K^ON2& z^yEwWp!zdE>Gv5sCtu1vYT99!&-|p{Y3Rw9@+Tjgp7}{nKSRF6m3(Y^<|jSxlP~H0 z>c2}e$BaKKGWbW0Un3vNje5|TLjR##upU_6$tO#1GvExx#&yNd*Zy4jv;5EedZqHS zMotmR>qDPaeki&^$1Fcx44;Do`gEMcRgb9xB>^npA(u0LD4>$gWynQe`DcHk#u#4vFV#}U;2q$5!X@2gnoAP87hQAkXO(F zzLc?@2OKbBmS%-Y2C&uA-kDnV(cd@gzRScmeYWX*(>FC;ru(RL^qoK1k<^E$%g_77 zjW`iE>I(5x`P-hW)pQ28wjU>_$uuCo55ki}OYf-~g#^b)JBAk3Vk}q2e*&BWyTyj_R@Ceyy@1pir>yZ%vW(b9U5j7vrwo?r~hc|jcHQ($L!Y>e1AM&>`ky@>}zjr1Nw=Fl3`~`djnr(pkk!<0cxWz zVsGH24`+t9H>P_l&TrIq7P&Mtdu!?eZWtTTH=~hkXR5Y{%U1{N6@3f)680_TcD&DF zpTxeAeH{BN=0{9?G3q(x6!a~+G}X6MYk5buzpDC{L8eb(99gOTJ7X{3ROf6n`xf$N z-*S>j1pxr5x*?vn7zLhJbU>UbQW>n9tDrRrOf_*$hx z-dv3-F=J0;acWH8@*C5)nAjrEI_a#^Ivz7|ItDvm>b{SHu2WYqUnB0R$`ln;$I`{J zP9+4fFY5W!zr+n>LQmdH7gw)sUQ@TBxn*rg{`cx}O%~ibYjocdk3Xj80i7n!gjJQv z)ZddCvT)^qeJqo6@_#!(PLVI@=RY$VFRk0SdV_~kcBd#0xU&9kKzUote3kVgcEr`W zue-R`wyas#vc7pk^V(G*`DLx5?CPH?_tsQ5t$VSY3)MO}<6Q<%##Z)}Nyl^7#+Ceo zaE;#GySTFc>2PJeY+NH>>MpLc8(Y>iZfLzSZ$V2#<9d%sdVG3q793*t-=^kEjH3ou z##yimz0Z@m3$CV|AY5bj^e(Qfe_C8ky=+{$u9dwXmc_%CjT=I%de>GVTA$@PkHnKt zxgN)OnZcEDa&8%;eblT&Uaw>OKGQa?}J8^yE>c;vF%U8B+Vaqd&drEJ5{rt~7o3x(F`m?^QKWoKy9S-$>zf@}H zox1+f?X7BVi26t6I@>i+&WR1%fEa!L<~8T6YizCC(9*iFwMEW0GtQy-S4 zSJj!)<8IWC`B}fF?a4Txe&^4bxwK@)@^h9f@3xjC3eND1@?(8iKemhYM*Zf`TpUrg zTi3ic)HCsASi6M$SRdAp3|Q}Y{btV=@u7k}f|u;m#*`oR(ykvF^tS#*KCAVIG0U-a zpY>zDRP{R)`p0o>?91I9@64BB&T0%|d;Mt3f@72E?-}Qtevxq|tcV?B(BRxVKOz61 zelc=i?~Zp^|8)H#>&3bgSLgoj;<~7DZ9`)#fbH!e&xbPs!{o{TsvgHOK5)IBcQVd` zRmeQrQY1F6!76l&C$o(!`3K?Zu?M=1Yg1iA@2?R-rXR(h43Exx zw7oKJGPp9%kd4YFkGtZBjVt*F;Tj#*ySTFc>2PJeY+R$x<7$6S_Uj2t8nSF*>X>m8<1&LQ<8<`6k1;I{?;|i9SMm?SH8#9=ab^9};mUg1 zxH>y@f1f?B=bfK7vq3NG_Tri@O{uS>(APi@f_js>i=&pVhHr;>f3U zI%d|rqBo{q??aK86K8v1KAR^*tOxg#?KJi3%1=K5B^~pTZi}HKKhoF8GeqD+I_4u? z#L$r+=|Z8$l)93R`A9d&(2*bMY6c|JF(2tVKceMJexwWaM?G`m^<+NM?J{)am!Ly= z2|DH@UDVK#UxMz`Bs%6J-7-T*ex$1z0J?-cnU8e&hK~G57YYqiWD3AF_x82wY`H^mDuHH|> z@|cfwO@@yA5_CI~GJv|%ai#?$9&|+bY8!Ne&)+X+CBI6?YmRs!2HxV z+dj}v&@(^jcN%)~?KJve>pSV0pY&S{J^51qSP#~V^vqBCh@mH6(z6~mJ@b=(kfA5v zXqx&nKj}NS8~ZkVNFO9W<|q9wLr=b>XFKfrGe7C0hMs(BPg^X%O8GHA>6aOL^36Bx z?=-PpKJ$}4-_VmU=~)k(p7}|C;4{V#7(TSmeF61ne$vMbJ^7M8sC?!p{dPl7zO-|; z!>&K`lfKE&lP~Fm^q2WbUuNjZm-K9hT|V=Z-ZAv#%XZs-fcP^%>GzrbpM2TwAbRE} z{Z2zqzSKMVC%gX4Px>u}o_wiyLG;W|dX8Vnmvlk(XMWPNe&kEs{Pa)lYc}H~?mdfs zEP1>{`d!9;q9(TeL5>WfYGh#%yUk9K9u|9VYjXPKqI2-uOXcK0qWZ6R++g-KukzVr z%tob%p%3VZ9K(nE%3_Uv{En~Hte&sd@fWOgih|@;wd(Ogq0^A9?Rue=J?=D? z_AJ-PZdC+-S%3}Y_l_*~Kz{b2skyVvzI)`Ri5qbuZc(EL#8bDhQ}Fu9-b8DWp7ul{ zo%(FBx&0gOf?9$kET>g%qQg0%0l6oL3il748S3nZkQ%o$MfaiinETm>rhcEiPQ=v# zJI9fkCT_%uxUn_FQ>EKJSsQBmbpkh}4Q>m>mX;cOI@9R=0Fyr6FdJdgsc^ea;}+7m zjm+unhY*b0Sss7ohnuEmYx+(M+zv={=yzY2b0glAjr6W*rObH9Zsv-O<#uU{yCx^J zBSoDc5A=iV_t+0cZqWT8*AdwNu|Ma0fc+thpdTM3y8NgFyq{f@bFZqGZ$J2>AM1Y5 z#F1v*Upbfi^;;|@IHp~a5AD*IU)v{YHK$(a2SZbYm-K`2*nS5jyMFKPQ?I)fp-S)W1I)4xEg+ds=9J?3k-%0qF1o4BR&q=_+@e21ZGJTW2ZT;1_eO6?T zcXvXe`@4n8KERKqqxE@bf zd#Ac9LLY>@KB%6WoIHCGxzaDw57RF@QSF!MuQ@-o=V|tQ34Djhcwo2`2ET&$7xMaj zR<7ju&rj~VRexW}#L>0dAIH}B%rBDB3~6Nj3gtoWqR zieF~zJ3qo8i5qbuZceMQ<0QK~LFOkn>`l}f>A$G-jdJmm=Eh8;(07?M=O?$Bbf>?< zt9hkoej?ACJ{kIL4nlB$YFH|N<=3BTOFKGg#Oq%?IUN}>aU)K|jeeJS>efuE4XwEA ziA2kW>vY>E_TD2Gzh!Q`DE=PD-8u>pH>P>t+-9V3J4S>m>j7#!)n7RNH1{3}!MMRk zvY!dY?I_tJkU%SO#-fkBn79!q;>MN`Po@u5oXSrUH@|s@9xEKGT4!Ibv*E95UYU+k z;U@ab{J#(a=;N`+l~>ucciwqgmusJ`ZtIXmPzm~oGFxBdEOM!}BS z+{m=>kQM(~Idj^XCU0BuePxZ|&;8@SD{=oXLvtSe*mD~zCZ9IxaY=?j4;ncy#(nTQ zOXxu(=@9tN5MKYO=|jg}^FLK5?)c^I&0o2z3iRQ(Lsh>$VRlEqVWT@FZ^!bVI#oB{ zH$D9Go6ZbN9m3MSlKSZTsy4Q~)-H8uKlM z{QI8jALZ|;I{xU^@E^aPTh;l%E9Lu_59pZjhaXjzJos$;uDi}v^`Eu5IsE_T&Z-gK+kf}; z?d`d5z1ePMQQ2X)WwL?LG4qpG<*HvkFK?VD^4M+7tCsJdRrWJ|rOqphs=fzl8T)3+ z`eLGPAk7IK6>^-D6qiU1u;F*nk{IX6B1P`e0|%BD+RQ?f|_;+uAVMASg;mX3&y2eS98VVcACQmM@FPt>BzM-LUYT?S_`o@MS zjhB{|PF-HKytJ@zi-d`nty^^j0v%lC_%{;8K0H28*^ei!7??Efy?ftD%#-IcRpEi5 zXPh%b}=~*PFWJIRY;bH{wLxoGUeM#8WpdQY#YLW12ZdcJ)en+1{XLf6v_Da{#7a z@+AOfZDB|5>E{6bZ9xPdS9p3iZ;?7=~C^j_=(=fsUT5x1DJU*dVFo9gF# zP$$?L{goeX+R~EOEe>^CdZT>eMx2Nnc@s~0yW??rv(IC1Olx~95cy#|E)Oz7w5KVO z#(`@%nC5+4+wX3h9K93W-cy@fymD{$QG)yqhT#Lf^duBo|F@0ZwU^HO`rJ# z-0)pw_LrB-xnDP7HyGXUk#N}GZSL(la}6|!@50>Ne%q3+sQvsH7jYcKaS`9E;CPAq z3pqaGc!>K4y(&QHw#2op!IG2^0F&rkln6U8C@AKE+l(B320 z`izU(rdi{l!)IJX`E_Y=Umq74oQRvVU+V$!)bdCg7s(|&N4=Qiq%I;;<5s!KaS_v# zyX3?Lzj4v&p(*kuR2hH;`f0KPZhB3FS9GlVR~cz#_Z2~MeH}<8y95qg8! zRMZf@#=Af1m0avk^6yieubTZyCXT#r`oTAQHZCF`+I#fBefYICCy$GEZ%$6LQ33I< za`lbO_b0s~Zzm%7%L3dezo7j|nmT#CC<$X-r6cYy`&Z&b+??NN+=%C)Zdf`$ow|N~ zcYhLbB5tuxW5-E$x1uH#y3@0+hjiW(kXa`ClQ1sDu}ygseeU^-wehOt{Yhn^wtfhy z?F}{ue-*sXrSI-fB2L6DYWyzo)bc(2_9t;Xn;N&|@ob;+lLjZ^Mmr#$OdqN^$WO9= zfdC%!2H~wH28ZDc6p}vPVG@uHvPx@C+|->_Jw(B zZ%j}3;`;*|;lyAd0!35jab=7fxw~fCKlKpqvyuY*3m48pJM6)0sWWJBGbLKep{r@eD zYjiqtlYYN1^6}*Fkl00_pD@eF_N|m@^h>g*!a2)hKGH2SbmT|6tpk$jn2&V%hK~G5SJXebp3FzO1Gk&+ z85#NnU2=KMN4l7yBfkXQIcoKf?PEUDZJ(v}fc!|ebwDy5^O3H}(2*bMLZPSCDa&I% z(v=xH@*~~G{>gOAM>@yQkss;wQ|$zP%tyL?M&HSgbVdE~G(17ae59kjkRRznq3LSK z#P%^C>6nlFm@ev{pu>02XovicP{h=e`KeExmL8y7&@(^j2hpxgOg)GO&@(^jJ7*Yw zVCbn2tOx7G@|mCXy9_<~lAiUj>6xGOQA1C@)T^NSGe7B<8G7<1eP=-XnVCw9-hq@+CcSu<4nf^t?~Lq-Q&LANqs+LF~8r9L%{nx&J19)L-heZ4brLsY_p`_DC#{ zo&w(yo0l^^7f#M^ZOj>Cz9VMh$Xj~-JoX2l=T@wAiWu$LA%&3-*9o29`|(>{t6A|q z{rjwRih|_U*~)Wg^Bu8y@(nQre_5b3%CA&p2l?5DrcQniX6HE))5MK95jW}q@ziaT z?}oL#xi`^HNmoVG^OVH3;IqNzR-TW1DUA`kWH22KVP|5G7!(a#87D&L}ph-S_ zHFe+pju>$wZjcEM;;9mCpQ#O1^-tg==^TUGV6i34iE!{8wgD#1XZjOOIu&l7=U}qm zy&z|3EC3Oncf@+o55~VAHl`_~0K`v8Z&c);GO#OctE-;hSyKFF`#J|gnVcGz5t4JpyjeGkHS#AN%N zY$=r<#`=yJp3$(}Wg=9_6*`RYyr~c5f2${rZ<69Z);2)F_c2B>Jy!po2a>t{l99sb z+WF&c@%Ix{dT2%bdAB|K&L+)%hW!frndmKgzQz8B^JLCfIq%~I_|FGvCU4Dmm?Kl+QWZi6is( zR3Qm14Zl8DbCY+kJo4i;#+uqjn0JrdnBxQDMBJhWG;YLGxA5?N9|No3|Bmlt5GUdm zG4@M554C0n*&A#PAvJEv`_~S2TY95>+8c2qZsbio6YpcpFylJDryAOgy!j%#A_;g8 zlD!uFBHxW;qj6Et{JYPOiwsW0E$W(ak52=WEg?QtQy3^-S3>@r%$``XTs_?Ll{*Orogw ze)DfljsCT79ke&%MBF0Aev|DE?_cEZO-Mk}RU;K{iEF`Ud>`ZXjBzUq-68K|+>rt| zmIi<2hnt>(^xgL{h!b(6Jcwr~lvgblCHB@S*u`pJZXf-`rXjb?cwx-iy=&)=m@!ZE z9=eY?KkaFWq;cRH4yN^eu1o%7Rw(q3S#O=YtKyiKPOQ?u!L1BdOysO1a%fNLaR>1q4>|Dp@J-?W{^jcaMv@|p> zX>Dxu%a!>x8NwtTkh^+bZ}!)5oWx9AN8-8>$4eX^aUF^I5u?8-ka(H^sMn8)GPsOMYN|TGfv|A5!1YnGE%P}H6N|Nj2UciG2xL4w*&{2)^`rrn_53I{pEY> zN7-S^^`j&zpYNRU{fgKIlKBiwgdrT70j zCXW43|6aKB3H_Wfc3blPOuGnlY4+IB&f}MczUIjd)`R=d2bp?xrNK&mV&6OSk*>4a z>;t#x?e{B~k94~X9r-27#cE!nJmw=^)X9!6?rei+REi-iFN4i4m{R-wIUB00s zzXV-!dCW(;0|r;}BV8!;M|ov4@%!)0N4l7yBR|p=_D`l`KGJPBbmT|6Tl*!`F(2ug zsDCC-&?UEz`AAo0@{=Fw3j6Pu*>nOw<|7^Rkss4r2PEk5Oy4p5x!-x;=bu*ZBQZbm zpdRx&^c(cdPx_sPo_tAf>mTWvpY&S{J^2z>Tc1eJ{G^WT(hoB9N?*SuUw!@}pe$wwU^yEu=%F(80e$qz`J^7NJ?Xc;YpY+QNJ^98= z{e$S4pY-{Lo_tBqdf4SNKj{yAPRoycx0~{VkO#OrKV}8;vdrtRH4oJ{N_N;So6LF<74!EJNkZ~^%7PlMU3|Bkimju_;6kkJJye%^}a+~cKbx>J~XwS725ZX4!$q(ppSfozwi4J56SPYKP376bQpC4Zu2Ez@6MAxd^L67eP4n&5jV&L2k}%1 zye|>Db&ooiKkvAoseOB!#x0ZgB?^qarNYhgd{OrI7Un$E42+rteFz-(x=*xz+4rHT@ySuN;RR2pCsD zNCn0p{6PeZ{ThY+f1yO|=R=||oBbLlj(pJcgD3g*Tj?R7KP4a9rE|O=zki5b;^2FO z+3jORJ8`IfaQ~C?Oe0nuV%()449WWvg|d$oA=oa#4}5bQt9TGwS_|K79N7dNy$) zZc$^u#4`wsck6l(ZY&?;mtfrb?tTs8MBFG3;u#8kMeOP;VsD>Nt4#{Qpd z-7BGXwCFva2jCeW?TLPo&;6Lz_cPhAQP_V^4nnZKp`NMiO;fWqeJ4i$wnF5>ezULa z*RT=dGc0`_I+Oa~s(*a9Mq}#y>F$b3CmoQx+OJ{8MI0wNX8oSyri4)liO~uW}wT-x+5-$n=Y6`i*N?N^s0^l4JPL{v)UO z@q53FZE%=z((YBsX?-*B?_JV99BP~tx=4?c;xYXJ*9$OC`n-H&93j~LDZi(M_iKi~ zD#ZNJ)XC!{5%Cd!5I5pP++wF`+=!=YXj@J)PCdb`4VcULma*^nHgnvtHxhbp9~!s5 z`<-#(MBJih7&}g~yQZ2@=xciuvO)THDqSQOrNQRo`aCu-hLq7 z3I6H_KDcRWjFS>aK=l$Cj({`T8*w6T5#x7>=b>(jU!Q?Gp^srdaNG~j=)@I6&{RcZRR9lMXK zzVN$F^~+!SQx)h>YFyv(z7K5b*g7w-L+a2mdi#gNKm6dTj#q9tr9Q|-Hd=5*{l`O<2sL-m&~e7pU|i~5JZ^vcX{pY(s<`mg&}pVZ!1 zcWnCwv9DAvzJGb?AAj@m-j_cA;@;<J*4ch{WM0QA(IvKg#eY0KZPhPVR4)DXj>kTK=VbLg ze#}FTlVfiI1pY;I)HgQ&py9*+pHITq*Xgh>;61 zzMcMz{00c`g~HO0$2la^cTK^cs{JWueMww}@)g`K%I9-@9@lC1hjHDB>rh_K|4*DL z#*>(LpL(i1k?t3~-n8q!Vd^_MjGZBRo*EtIw?5=8#s8f1DDvTWJeKFfukEL`nhT%H zjYwX{@Gl~M745{K)|;vd^|}S)1RiF83f7x$?RUBg!Si461K*%^3vd8J2TS)*{-HRC z8*w6T(JL-g`?HCss#_amjpOjc4SIi!(FJ%ZyFW z<@xdly(5`;9~+KAAG!C}E3w{&`*@bhH2C5Ex|a3L8=70zhT7ZPSqGNMIq|5>YtVOM*jtszg?9XgG%Y~vNsSh_a6}!>z;)gFmRh<-u8_|L%PZ`G-wtNE{C4oM z!VqDgsSo7;4Nn^14#s`-uRwy|gc-&3A^LVO#&KS~z*x_AC(R!7&!m0_8q$%+*zqGWJGnpn z<6V2b;)~~lKIBP?_29dyP1opm)Z!WAC;AJtaXOQabc5bB?J?~l*|q`6bj(M(&Kq@k zUCYH=Vu^QXnU8e)eyrt0eu?su>6njn2Tc9Qk95WTlk3TRq>C9k@=MSqm&bgh+w!c& zm;4fRyVY=)@?<{J4KnQ`KhkX*kW9yXq$|5w%ai;_7Yfy>QH{_bq^OJu2 zHZ33WC7!nak)HWUzw5U~&rLmutF2F@XMWO0+jRNlOMF=m%7OIEPx>3m(y{m7U8BZ!{)N#8kJmruTwyRHAkkNHXOnD&z|aSx(re$wxHP1m1%S??fv z<|qB2#c!zglP~R$d~EqKf1KXPk9E_sN&^YzOZHKg@U84|Bd7`BZX$O#G<7)MwisN~DwCCUb?8g=dF&e)JmibMD7f zT+Mf#=9koZ0LypAnRlQ~92>3s^~kv7{+;>v-F@LstS7|o(J`;H^GADjNP>JgZ;Fob z4HLxtdZ6XkcW$PV(e4{$)g zf%aCZx2bgw=W;FA==a}Jd#o7S^x3APO;0Mkb~fuc9ew_bJCg8Cm!J2E8*w6T)C1zF z^Z!xs`m37XCekCGAg^@snI;3*P_6uUK5PAE+*z`EijW$&g`)e=`!D+72I?GH(ajAF z44oO;6wl$THn=_3tZ`%fB|Ywsn%Jsi+GJ<{2bG;Tj*in2L|*PbZcs+nbF7?0H|@iD z^NibIw>%auI%na`MN8()T)ceYlI3gbHZ`xR!&>C>m36JmlPX>ir^u_xjG`;IQ~u?; zXUXL^rNWGn>-}A`ro9q1xG^L3nfgn8=6&k9N~?FnhsE{z7)c)!()x^VU-8{<>gxa_ zV17@Fzop0fEW^Y~pOfDWFOVkz2$I9Ka+~D29zX7<&!8sG!*e|Pe3{l~=YO<5J3rNN zY^TxZP958&Mpynyee);Mpkw=f{`<5ZM~=x*pMTXeeP(^B&(2qp>+MWU?#Gh#xxQuX zhQ=)$>_((W*Je%8mD$U#>q1vX$}PsomHZx6S318d#Eti$&oFGtfpUr5ujN8{Io~-k z$=`|ML;fyanR1G$NFmO zztn5yqFg8k$|d?$Ef>m*`5Aj9vaYppQ*+~H-pVLm*bN$+@fk)gxK1CVezVK;PVr94 zCiF==pPTm|lRf^Oa-ke3m)O^|TqrM_Rabpkzp?ewy829C1tlMUMI5+#tg>s-=BHu9n#psP)fY**zH?M81Yt6>%%I|mzOxX zU&uy3!(l3Q>|FMV9e({0(;Knw54^8oh4;@Nw=tySzcxO zqv7In;a|Mpaz@TEp6rqTGB`i1W6v#h>U{VDU%8Nua)}1elV3tE4UMZe)Gg0eIx|3( z*E8vS%E$$E^7Ff_YbLRC?|%RBi;)B6LSB>?(~N88%!d&*$k29EW5aTBo%M}t8rN>f z)WOV|Rhu_M6Xz|=me^E+`hujNTttO3KAfHYa-rQ&F3xwfzR|wy0uuVt+PGTH^fQ%+ z=Cr6=RLQldOQSDile4ExIS=^Dg>s-=B99pVV*HHFG$EJzmes4p;mR6FHj=6B7FBXB zB5C9@E;)P3l=Gm!Tqp<1CHh^XFGg={rU|(;uU)^PZf(5`b?rQ<(sQ~+mCUgqjaMm@1z;mO-#<7GUeoc z|37`lFGdcOOQgg27o#^e(}Y|ax;2pRjd{RpY2E#o+CL< zfPXP^pj;x~H~z)wja@6s#n_Qdl3H4`Q5j=LGEK^k&RdUL(#VC+k-RiP=gzVIa-ke3 zm*@|Se=+j1`B5%-G$N1EvPOQE(DhVf)~Aun2kc6xNIM_!mkZ@Uxx}6}{>A8x&609i zD+_gXtFzG*&1pe5>Ady0FpXSfb9=@|P(MvMP%h51#=jW7u?wJFjB{DOeqH9z)WB$|d@o@h?ViY<`rBo&_}2ZK$(zq)zi&ta&rCCXF-xU>doc5YL(Z z#5vPnE|df15_{hG7o#^e=VZC)XGhDkP@Ud*e)P9A^P>~(N~cIWx4iJY-#mbFpj@06 zjDInDW3yabJ9EKIOa#`~H?GZc>;hhkyGNE(jb=06y+E#Fyo=a-=r=V97;LY93mmRyU4Y4&+w&tj&Bv)F$gKsit@(VrOqV)Vx5 zAD7FzrYqMs*Js_t*{!kxFuNr_y9%KxK5`itl3BFb_=5NDGd-L~FY%oRP!5z!>_y{W zjNaJ%<8qOykt}&HU*DJ={4z5VvOL-Dk+n$URXNK?F5dNBzV{v{NO9tH_{)WIpj@1n zjDInDW3!CQrEX(GbBld9eY(1PWJ!#VP9v8=Nx4%eoIU<>p&Tfe$Ufs=jNaH><8o$|d%5 z<6n&4*esLfvV3*(%GSEpES{8jl52*sYO$9viZf zkFg_cBD)g3b>0%gB#UnQfi!Z#I}Mp0&d>ejLOD<_u~&?LF?wV3H*#sdw7!0IT{kAw zN?$m)!{Jc49u#>Z3 z=9X+XbV?c5q>)Qr2K8VT=K}wE0OdfrM1F1ji_sg>Gd6O$qK+4`jD>zl<9d0MAWJ%L z_WCq(8S2fP=G)&4b7K!uS0^q%;+w$sm$Coav5e8g zeb>l=a*4fW{EN{Wo28M9?0Tv1)^kSXce_h$DpQn3F2n6gr${>|`L9b+4wQ@YhVd^( zUN%c3m-?1XjT>58vVW-tgcG|(nW)L2G;$e{$eQ*naDCUvfpUrb#`qVbH#TDyS`OLvJ4 zlQ+`HWfTj`AP!vLHFBU_$clQyG~@Vux_jGSdgc9qXVb`KG%K4y?64$Rn#H?Urh_Og9!FW)nz99SgV zo7kVw{U*Pg?PUGgUbc_z<$cN_^05!7_cY`0!wAOmM&|m}EgRN%x5e*fdt(>=Vk^HZ zc|aP+??}8Z=g{YLM>cz<((yVt_m7tEpdD@6GBD)K)Ze?Xf6KY)dHtQ9$n{@R-wy!( zyQD(=eh0tj5xZS~&x7Cj;CDRuJrRBvhu`&JoA^D7$7M}CSA?d&Us3iXO z9-%41D^?wf$M*Ltv-_UMZ*#T$*gnRA-}CsRet+G$*Stq>V$yXt&Oc7SKi_HMbbO*c zc#j^q5hvot@`$HS|A)xBWH0Z9)OT2JSLxr$#eYe_v)<2{4E*j2_w_N2Z{Ku1G;W`j zmkqt&ugsV4SLXZX*Brch-znJH2dGJ2l{1*9A?Hs9x2N=XSR51E^x3BKZ(gtLqv->g zegB~ImF|E4ph{XpJAOkd8gE>RO8bZ?MecY1mb3qHB|pXye!p^kW8UKWjjPvn=i#hR zGw}UNIb`dTILnh~FKXJ8`2I2Wx3FA(zY@-k9`mo<*KgoVG@@d^~vOl%I!^ZD{ z@%vb47Y}>`7thvLNH|V5PZsx|CoR_B5OTi#v!w4NMRT;=;&GwrH%tBd%>$LXzl=Qh zIrW_%VXF?>D*Mf-;Y0r$DfZ#lRx?9Wn|`zEspPcb9TcIRIMnm3{T)Ip{U+ls-@(Ff ztrYh^Lj^4hP2Ke`_|B5cE4toN)X*Qa_kWL0JV|rDqvh&6XZlSO`>@FBQvL_c_h$xX z=6_>Hxk>nDS{QL7PQ=Zbq;VsjnqQP7_p z)+lU^{wf%^#BX-c&p6-h8@LfC;zpc^r+i`h@lfbGv9D{4eK9>lrSnC8#S*Ybp6_kZ zFX9>wrg;vW4_nT@e;o)%I}PFU4i2xavhVa?O>%`zffCI-xZ>ry;(-n07qUVFrFX(X* z;}q4;=+@2?wVmgmoSD7HdSLH61VrLQ+??q~ABd@gx`9C#_c%e!-yMn*7;w9+tUU&6RYO+;7_N)tLfCtaEl(-eLoG{h!b&( zm22FHr*6u+no!%%_a>Sp>Ci<_AYCk>+}ya_*wtMoO? zugGbc;TC(oBtHMogg^7ZPeK`4U;FtP^EsdTebVzCKb7fm)b zGI#oT38>O%OPS+r*>?$D`7fzIV-RHXo*oNu3~o%b|DgU-pQDvppQ-0M|H4{%b80VX zL)v$AAbmg{mOxLu$K57DefHk-IoJ9uOmad4us$mDGwt~m-vE8aSP>yepY{AqkMn;a z`V3wO&WDowW!A^}AG2TMEgkQC`Uh%#hcWXV>X`b>`cj`GrrtsI^XPN8zU0-jFI?$b z%@kdEUQVGOjDzZ%?t0+&d5jz=7xJOJm}Z=i3%}=z&*)|TNxU9?K+jZSypao%kc&QK zP-zZj2TY`iok^E}+Wy|kLZP7^j}vBo{N~8!&or!4-ljjH|DZqN_?CV~Gszc!vitD_ zL!@IWjlOWFxiKh_A?fT(Devp`p5*>UZE7oCrH{hr_s0hszreI^&`In#$K4q6A} z{0jQ)KTf|v^@*tWoBirV^Y!5@^Y0&dzq_$>lYZ_Ox!-@hx6>L2cD_G(obGgfH|e=L z#>kwPs&TKWnDRr?8s`6nT!)>W{U1NXI3wv8{JjUeT-zCH>yYt{1bu9J>7GY%HsV`b z!*`$l<;Pwrd8q>FAMJB0U)eo4{O7A@tGt~jee+ur=FSP9GX5;Z^Ao4%KlYzT?PJy_kV@g$(p|H@2iJZUi;xoIwoxVwA^nC zzr6dI@cv)E`PlzWdI@!S?C-z6xbo(QF9;vFW;W^&-gv{n|JoP3IsC@>vpS>>9n0>& z;jvR6?cXtK`ZvQ;hwwcU&I})O>z6CO_RJr?dG9}KCe6NX{bOss^J?Yiem5|@XVdq` z%=`X3yRZAngqq@0F5gq(&ffF=HUFsE{Oz%OzI|6y&8$$Q26fN@t;d11eFR_IdH;PC z6=i>Z^qCbU9iVk5{YRBe{qil>ce&PbLhg5w@0CG6sQl-yw;y}sfp1UqFWctUH_{({ z_<=5R&h%Q(<UZy%b7TA5 zA-A+c;_=M{M*Q$k7gtURmp!t-{dZ5_-k$r`o9(bi`+(h+9W8ci*2!L#41W1+xt_jS}_gXI|!&HdTD~&eJNff9XV7#LVd@zq!|VY2C)vz4YKeUX3H?l!CbYA9?dn>@LszHrji`i6$asf8l+)UG+tU-I(2!`^3uY>EfOYPwrr0U#04WvLvsJ7kE$Q2TlAw@&q05r`SKq=No+9!Tfv!3xmG$Ucb5d(i9_wi*nO_hK3^SToWMivClFD{x_Q1ltw0EV-T{8# z8}z&b)Oytm<66%?knd@^Mqe=N<|YQeo*d3s^*B6c;&i+sf4U-R{GBd8@2l~+C_ix` zZqb=$ozdW_^Z%|^$A=$o(EDrHC{L_$J6841Nw~!fZVwyWOza`;)@k%>X5IV&|9OlpPs^jd5hvnC zzQj|dl~0qi-51UXJ+!U5?D6?CLTz6!|3bT@GdSoc`5enj;vL)OsHaNWPp;0*&&7N_ z2siLZg&U~jSmo;HRG@L5JUF;*xlylMIA71q-eNtlx9u{PXTSM3X%pJ%nEn%O^gFl* z&KY}|kAFTcB>j^d_N>g0(|gzYx&-hX0Q-h83qDx-;(g1_I{Y*a=LH7er16UJS} zW7vNZk4A)oyx zNkTXR6U2=;5jSU{#*KLDrm4ApN1~aDbZ_mmxJlMn{q|V|;RYXx5QLjOjz-=4l%F&> z5x3a68aLvpu{w0mvx9KMej$X^xFw!vqaA$-H{wLx&^{crJDoaoe}iyCjc9Lv^VUf2 z4Q4bH3XRH5Jhwe`ElFLn)37A|o?NP&%1=tmnEw}&8T!~dxC3jRNk=x%ZO{JX((t;Q zIxAoQ)9vc{)S45I>G|)h8Yko+tTG$bkJ9KGuBiYwh8+xx2CU z3VONUAzSgVb+b+AD&H^kmkW)gLvIM*%Y_&6;lA_EL+v@IjO^$?@oh=Bg-`$ej_~c* z3=Qx6^X;fZQ8k8!+-zFuJ+Auf3Nh|HN#5xulZ8tuy6JYFa60=l|`@ZF0Fg<=IY-b2-SQn z_sKoC$#dItueYA96m>6goY`~0@> z2jm*k(|-Bj1J!a3`H=qW4`y|IVE^1l&mTTyH`=rJ;RnNi`sMYHHC|Nyi12vifvtlo zn)(f{n)s2I%Y{ezcIWR8)Vz6p#S_2X)*(DP{(Rg`9hbKL{n0JIII~K4RDtKe!;$GT zTEBddbI)Yd79Rcm%SA_TYX9lOU#M7p;!TzReC~xf&+p1}+i%=+RQqGKKYncQxhHp^ zEPI6j{wb^Hwq~8;Rq*mup6eN$SI{pf^4M+d`_FBUfA6`i(vbI_+rIbQ_Hci03q^f5 zpW7~8An#p@bBx@l_m7U0^MtSTIM#sE#f#>*$S)aZ`75IV%&f~dTj^BE$d7-&65rG5 zeBmy&Uby|b^VIis4s6qL%)ECOxl_N_mWr2b^UwOgcrs6@SdURgj!o|r2E0ddqAG)Q z%tyNIw>_=KvE-*R%b%?SlIfU_bc5!;q2xe*q?1@J&9gk_BVA;+rXxSnZ5@zI$9$wK z`|azhJn|!5QU4P~k8(mRkNHTq^V#uAF65V>3mxU9V?NRmU-C=PEs*CliSn3_bj(M7 zOm7{qK+SJZ&wRN^y}>teUtk9C~(fmOf=bUqA&Tk&)&g)A10l7$b96#v6kM;+0QEuY!13mbW zKgfmtfCJ(=|GfSN?HtzMWS4~7JMh{0fLhM7xli)aCpvrwRx;7*|PuI7;5aRxOv-&8X`(D_s1kALNQom)ft9 zxs-TwEgoF;ZlvEC_&kr19?$p8s@Y5Z;^%vyzbT|U)}MW`1a4vE(RTDU8wPH`3Ap)E z4uGf5;6~E(`n5r3DeR@!1>xepy(M~|2>ntNzkfDos0`EibFJRz_inGQmVd=@JC4de zm;1>Pay9qcXueXftd%5e^A2zWPQVQr1D-m3eXHkP`7q)(edhYsO`DEUxE(n$&mG}Z_AgXs6r55n$8|A_t%{b`(Cfp+|OE_?Ljb?~!l z?pEoF><2x49+@w0ZjSD+vLB1;w~Ay$qEIg(2lX;iUgq*v%{B=AVE+70oaf1X;K2LA zmqdSdj)!_b2%LZ$@((<9xPx$eHs79l9@{T_tmU|1e^(mkcwT9Q`5aG<=XZ0yaK6(4I_UWa1?N)MioGFG3b*jN zp2TmRiwRnGZJdjR(a)e?K|cd|=zr|@J@hwt4+A~B6UFZ2eun2qCXIe2{(Wnm>~nzo zU%G$s+bip5e366pDt%g%yy-J^x}~3~!?~B}cg$QB`Z=F`srN0ctAiW)zBOs|UZf3v zV~T69SRTuLf^-+vUTN;|`<9I_%h=W~*ayG~xaH?M#tnFC86DHTHO=b+c@*{*sqiGasV3IReLy;) zWkQJets^9icnQK$@5#pdmN%LtuB_!>@%qMc`91k@c`gL9tGV_0PPjjm>KkwZZs~a% zH{hxBtm?#SV$L&2x<6+DUFB(a%KT zrd!D1yi$JhP{Iv30XOuQz*B4bORb(aZ*8D;4$oKNztI^WxKG}^ANSbZLlpK~^Jd^z zxEb}0&Yv1vvqAmh>l@c`{>9ZdjhkLyher)1+<+5sLmq)A!duFXE(tm{sBh7B$y2pk zD$N6VuK&s(Bli6iN>cqB64jGB4V2#Y5cw&LsXc@!Ugn6rVYaWL-)8 zeZ<4z2TAV!Bx}6p&t$%KR?9CB{K=Z}y z?lXtBK6-fnCl3AgwEeDmyotj1owirQx)ryqXuZBSxAvf#^usT`GUi$^>w+|2D-lPr1nMg+q-#z9p2-^ zPZ)UUOJ%UuXY@Lpw=UK0%FoNXpqyTB=ii{$nPk5jUT{$>Jhx(b>3O^ME`58`-9{8t^3G;yte7>wJggo$h-v22(9?t_E_~v|0^k$`Z z`j{{u=)gDj63qvB`R9!erxSGG^93i!3;4p%10DE)FXZL5B`HI@3(jUhUdho9oe#k|>QNHZ-gC6`1(*8g$@*T$ydhkO&!#P_;^%uN$oe{Qa|>jg_!HWN+@vn!xttnf z$icWuwj)a3?yXub=67zf!o{E3A};HJVFo?<-_{AZ${{s=+!u;y}s@) zT3>e;(HFz*-Bk9u+&>&4S91^D^>x4rxIyp0Q-w2Ew|d@dYZ2#hSa9Pnrt%&QzJSXZ z31i-1e=A;7=l?3)!sE~Ht+}g~fAP4z$7rvjaMRrRXABt+*EhAkPTJj}v%XG4Bt<2U z*QT>;60NU8zlVMhc0b+&Y&!z|Df-9!1Ie?A7L0Iva4P-yd!OFuW9UzGS@dgVeI49| z(hq(zs^3y#ivB@+>WduI%iP%!@-j!x(8ACUuCc;JAEoli6sjM@cRt}3^n*Nq?(v$3 zlItE=e>5Si^jDAq#XWTULEr@3vRxWC;HmYIruKBn!+~x%yqUiDxhZ&Rl#k1OOGJc5 zEco7M1j#me3-t{+0k^c&U*Nf=GZ$ySa9u-t6^~nZ{(MX4WiXx(+<+5sgKXd#eDBkj z`iAd)>iYIK(jN~1(E>qlyfCvq`Qm$gA&hvwSNwaQ-sppwh^{!?R2)4guD%5ll$as& zhjHWYeWKqyi~RJzwVk6XL)32|EaO5z+;F3F8YGC&4%Y>?6># z%k|*nb=nVOy%eeoB9$$u=>y>`+!U#Ktg_O8Z-ysL}-S3Hzw`QDW2UTDf zt@#njqIHFEE3}K^#s{=j6}F2)7?;q`)*21mfD>@bo~v;Ko?ANo#oFo8Y2)>vpDj(c z4N(9$-~`;#=Sw{f)w|PZJYej)AbTACs0#m#Zt_|izS>o5q5bCHUr8V)-X0&I?)ul> zf?EDXw>>Owe`>4HUPX-$Xl}NPf@>(%H{b-^d}()qr_S{!T0QSh<2{7J&7V-XJx>HL zi)#8}aQl7n_z2uy_HM7`Up#IiQuQ-Yxak&>*YO5u1wL?ZdoJo5Z~|_~3Gme6H)d$} z3o~w5y0m}6g4%8>EeK%dY_tyTTe~Yz~sBcl@->?;uK4)8@W84-W zNcODQJ8x3Llaxn+!1HGu7dp>l1o6+0&HUtibJeD3-e_Tm%0N^4`3qCb$9{G{x7X*I z`o4U4>a!Uy^ix$iNdj5$5Wl|Me9}>;eg2YZ@5+olV(A_uj`;My_o5{YnbdzDci`0R zXWTorZOZh9Pw(^e)cQjnn|ky0%Nq{(ue}=DraU}#=3c*=`c%`(sYKVn{vV(H{}c_= z{@1)~RrrDZe>(Mz1D}}si=Er29`Ii`C_nQuExSxRZ&cUR9pCw!3NwA{v3Dujmh(TG zciGQ8|9#x;Q(v8Pv!Z2rE$7!Xa2!965bz*-Q2jt6Gt`v_haeC9X1@$QjPul9@Y5gzLv&UYZ@CrdfoAjCuJ5iuDE+~ZUUyzb7$y?n0Gq{t@?{N|U-U|k~Thb(zUpJTFey>>S~A>XIF zQJ-hz|L?k@=U%d2u*S5E$LG%{LOO7s&YU0UbQH=8fBz43;LAO(`5+JcT|0*PKnK2! zPiQ{K10S8RNh|wNo_#1wy`GfXEhwbtQe$a!zL--*Ve0DhmKj^{#mheL^>X}_0 z!4G=yZ+t+ve~^pk#_@w5{7Y7Ae#nL1kPqk;&j&sDbHWd~;J51q_(2c;w}c;Zk^VS- z(1U;dLpuGCi+tPl3(p5V_{Xl3{7X7ee&YB+5B}UEnjdnJ?l^wXgTMY!%@4Wg5A1r5 z^n)J!4LQlbqyzeo;|D$Xmk2-PqJOa43p^k6;D1Z_As6K)jvw^kpYsEqe#k|-q^%~FHdwb98+EJg=KaP4rKG*H!5j(}7>vo8o>n3jQBE8=;{h5e;)_6z} zm+@Rq#wg@qUt9K5QSuhHYEd}P=AARb;UW*BsM&f+LK)vpJ$b}lq>W5lbh zUz$6-Z`-EX7Q?^|H~}}51K_Fi_8gt#_VU^wpM1{Sv~@waxDV&L{aNs{sMS7F`&_p- zN4(p6lj!62BQkCc^y5=W$3)RdNzcVDEeiMoqsa%9oi zttZmX%cg|iO+~+lelUHr?g!C7!j6VL7WZC(cD#iYb~KG3)KZ&p@`zFVS-Z$KBs)@{ z>ju~VtnROJ7f1D5rS**V6mn26Bjpu*H?@L(Fwu8YllOz;Nq4M2`x@%~AaDY1$UpGZ zVf(wOjN4hNUyS;0D(n^ho+MugauFq3@;^(wkbat#dQX z=~VAq(yySO@qePn*U|sj@2hxk!+W6lyjQ6ZvEBJP{l?Il+ON@BHJrkzI+~O3%)-rH zqWhQh=PT=HAP4PLw7k0MI^B5RdN;LKd?BnuaesTn{!{0NuGyP-`J60q^Yg%-N2f;C zQu9OShxXFD7XPAkf#zA+Sc-_x1v^9hqxr7^+VE&cH4dtHYo0sM`?+gt;<2I49g8I9G z{7FhCH4EyZdZ8|~Luhx<4rQOw?GWrZaV!e(hAAg}0zQhV&ZiSav;T2Z+ zPAh!B70z57(yxD+6~4v_FSEjZR`?z(yvhncYK4Ddg@0*XUSfq;Sm8UZ@cmYJjTQc( z75=#ue%13eU2_r&!_Bt?(zTaIY2q zv=z=;;j69ijaK+JEBtLM{Gb(HXN7-ch1Xl*7p(9rR`{=0c+M)dzK&NbsrE_2{C;DG z-)Du083>X?8_8?0+pBPTv*|Gdb9aTq zS^uF=s&O;ucX>Gf{`xt6p?C{F-|ml%@hcNg=*u3z;`_Lw=n=FIQi9kH>pE-s98j^?N+t?=fzO zbvT&6!nzKm=XHAX*-PfJdEVu1WMhsWbEq20k9?0`+ok#uU)=2fllS;5D|?TJ9J~*v zzZ@Yi^Q%^!Zh4Q-yf`BiMy6ui_sgJ&9#2ei?*8~OdyzJZjVD5Xar0K1+pb|T3EYNm zb2(g21sym6H~$Ka8}QUw%Cu;A5O8Z|%xU}uZshn&a@@GTJvc(|8n^9fY+z_zzzsM7 zx17{p;JKx99o6=5nz*gv-vshU%{S_rHgvy71e|~yZ~~qxtiB~eJ{rfr@r_GcADQ{1 z8Oz^yN6Xrm&XM*KT+uGt$$yV5jNk5={f_dy3zZxizh?p(zaKy5KO^}UKW>J0G7dM* zUHH6h{SMc+CDe$Zzx*p@$hHrn@`y1^|CL}ICZOBF)6l5pCBbdy8`UwigWZYs(O4%AI}_`k%_Q-B;0Nf(_9d6t*J}Tzsz6j5@Bi>hZC{F;zDDecr4ja^ z`H&bt`a8%$yP3T@N*=FITVSW`pyoaIB5f42 zFZo$4cQ?{qRDY+r!}ev8_9ZS4Tg!dm2AqJKf1Sn+c&hYfY6cHCHP_AadyGA~1-R+? z>ZG{Ey%%WQ_`6O+>jG}T3Ap91mwFtkcc)MHyrpXc4Ny39hYDX#H!;8QoEYKDgb?e4 zr%L#gXeFj7y4hGCO#4+EypPoIFWycOk*dAgRlNn{j&^lT8@k^I0#3j!EA1}u)LNL* z>Ycu9U7(r$bU1VQ+FR-7cO>E$)Nb*$LOULCLm2TA4M*X&9br^Mb7s6vdo)RWy7pH3 z#pA|pB>%XdiN`JcUJzYukc@4^MSTNKzzwMfo(OL#H>$5kT7X-0|MtQ*1(W~ZujI#_ zk-sQc;YMW@^t|?oGrIRD-KfB^xEzE!a4|Yx6 zz00+$AHVs;)s%+SJC0kC`r5rar*=R1yPSrmFTZl#s)ij8Xg;NBLqDaV|F>hOAAaQR z-(J(Q>WUUhL(8`hy1wa}z3Nk6U9k76-#mBll%Cgi?0@d5?6k?dFKhbc12gYC^Gg%f zed?^GtzUTOpV$7SHvRAmb0*CA=d`73zw>{8YW?TPH1#Jq8-z1A0DWjSZ`@N|N*|n` zsb?-+-Fli_h)a{pbbyqUR8dQW3! za+d4Qq)uy^nre9Px&Bulzox(Tm6!W3qOt@jQVXi zypf*o^V(_}-BtC;9P?4P^`F|>+EIJ#qE1c;(lbIvOes&(Zdkf!6R)h=m0luiMi`vV zJ1jLYaemvpiDyhatgU^@l=&0qHynQWU_wF{nvIWEII)9^zd7p}K~v`T%=sa?D$pLk-L z=RMaG2y>VaB_V@QgHe^Be5|NE(?n3;u zkOgOKr`>dYDZS&fDPM!F1MaOx7Ts(*A`NH#&hk7He z9FIJh_d&~X=TiXf+`ow)am*WcspIh|a;F#q&OKi z_|mWH=RqFR^7W}PUWgBL;9D1F`KnFhH3wZ(GajKW$ z_N9()f)0G3gFJ*kH74NWHV@?n=NK)Kas+zl)lN4*SGAc!5B|3#47t#goqq6x9{h9u zqj5nx@LW3|;0HbUv%(L#cy1g&=)u2H_#qeRhkl_KJRkJn&&|~J4|1WuIDXKB|1IH% zT%yqYgZz0?# zLcbJ6@B3bJhRQIFU)GZSNc$<@?bX%tuQ+bUQQ7Bpn3E&qYVIL?j+WpA+(gBBJXJVz zeXHly2RNy)#?3rO>v!^oH%1CM=36I7xEOB6JUQWZNKIWW|Kf2w-e|9)aMRq#&CqeV zzNvGxq}_dyvX-PxQAXWXt%jZGU2ms?yd*tG3;iDYLD>E1AJPAzAC9wY(2gI^WsiP5 ze=w`&Zk4X6u@C=ka;^Z}|Iz(b?rTx~R%rmxp86sO^)gak!8uwL^n;1c(MsMAz9jmy zb3D}hLEr@3kbmH*!}d8^jN2Y-IWFoPE!ZnqlZ)_m5FT>%_+9uMtywkKQz^cl=%UIn zvzz6f#}MsHbK7^f{V>8dC+Zw68Ban#gXg3F!TXy1-iP-v(6c*H z>`v}ycs;Ppc^%We=N?+8{rs20 z-XayAM4=-k;sNP|>~+aUSn(2squ!G*rZq&t`qm@8m9_kfw-1<^VLA1t;K!{t|dogF7&^qEOL2_T2H=Vr(K$D4aBV{Uw`k%QyV`wvj63oe^cwl zsR}mz_0smH*WY`}YL@Y4>Ld65VdiI6@TNzw;lSI-@bkF!aIMrh8D!6n4fvb ze=m_|en+yHpLsaUa^E0XuW0_v7ayD3eBKiet+{sn>lB|!J@%KSsUPomZT}(Zzi}G+ z-}Ts})OYG@QvUl+Nl_Y7D=xhD-kAq%-@NpaOZq7d{Wo9MbZFlvZ=3wc+kV$fX=whh zTlPs^deX|K6KB18-%)eFa^LfxI_vx6{`mN`+<56^6ZYon!CUwohGg7B#cVB(bN5=J^*m_bwmnF!& z`oKlhHK_7Dh3;kee#Ps_<^A$`mc;@~Tmg-p*R63q`3}C$PRaG;yChjpzRRQ$YCZXk z_62R{EbJ|zsi7M^-1C1%TTkb_xs$x}7ENeBzuOy@>&bOnr`~gnHczz)Mp)GW6~1BV z(iH!&mYiM42-=jvt25K-J$G}iC&&6aoEJBM^>rO>^LcgM#EFv!PYp`a6=ld^%;EKCpaWl@ z@IfB=G9r#dRATQtx=MQw?10Ccc zJZbbJs#)ax@p?nlL#!9`XNBtn%Be57LJs&r5B>(>hg_69yF7p&^x*Fhe#pgh?Q#Kr z(1SlG{E&<1#_@w5{BH?AbqTjK@a|{@Ix-rAIA@R@UIkp$VIyCdWigk9{d}HA9A7hIDXKBf2{PUkc)K3 z@q-@xY2k-l=pXHitv}F%AN@JxqWr}1gC6{l54lKp6u;VMCw2qoPjkNs+Yfkthm_-- zxTu$S9@Z=H_-LZ_s@KSRRk-)ayvu#sh1{ermxtxlGW#M22T{+tBpre`M?c00XOgiPZj3%shR86B5ovwM|p+oRcmAtTGU3UW4d*}z#&&&I?^pEKO z(4WWIwde*x!xnw~(uN7xfZyP%r%`d2YRGydpPq3~&QZzzxX& zo;vK-t3oeZ+GX6DsnJ0_eu)y4q&?lHCY>oyxh=F_70{&!GRY-?#DphWFUu zX`Z(qC5PX)){#4!26gwZxtn}7k!#BRH)Or4xY<>@f5|;mSw90gXs>b)M#;OURi_*K z1FyEiX08hToKL>={=lb+m-h#XTd+Tn&tu)6cK7iwemxJ%W4Tw+?;9eY@8QziVMHUy zK)%hm=x2Zva7*`V+<>Rf(3fbPBVU7o+f{;_xE11d2Z6!m-o7+$LwCI@Z~|`r8mY&T z_0HB#^}})Nu(+0?+CrQ~U{WxPgoNnRwiW@cGBmKLR)C z19<9iM*1^$ul&B}eUawYKi%)Gxx=1w2YblfU+Tm45%nTO7!fFj8|qth|2B}PMI>M= zyT$$6;sbf#k+yfx44)sDUpu*5Go>z*;xPZVqhHho zdhB<>{ub}$b37o1aoa|iGYKDP=Yl9q5 zq3~afa1aya;{#3k`aLRv4&pDb1#dRa9j0@*zT>@I!@uY<%#7xF(NXKTqxMbUf!neR z+<+5s%SrtOo;r_w9(%2U6NNKtjc{>I;C%Ma7sD-d&i9et7i#zyj~mxF{_(zvc-)5Y zz6rqzxB&s+>3MZ6p7(32Uwkgab*)pDy?@=icD{VZ{mVbI_S6$@Zmp#@a0mMFw@I!e zJ@SQik?-+^u#U%>hyR%AdHswHM83aMD6ivMm;A?%(A^><~&xCY8hfTXFrSt2@LABK_$@k|KC1o&v?YDo&ZBZ0e9wigG;OIx zm0?pNm;0#i6lm_SyM!ur`Qvi~E_*o0D~G?N!tWxzVISqu0YS*e z?FwHy{>#KWgX~7Qp2jWsUM<<@``64=zj%9r<+0r5wb8h-1U5Zt^f9GOJ|r&S2AqH! zG6y_$_)B#D*B!w)?n);O}0MOW$+Zzvh=U z{40$c*SDJqJNwey_T6nitZ<`jpx^ux`9fwp;kAub7A{nrsa^1uCv<@ncvy9$ny@NfAhK) zE$BS+5Klku5N|@m#6vu}*K^2VKH14~8gLpI0vhP*KC5SO+r0Lk31@JtF$8ktvfwnZ zg*8CN!D_Y;a3ML( zPr*0^fA49BQSsvx{-bjKnz-qo$$RPgsBr~6CEkVo4LPvCvpdk1q|S`UaeUTUOd#;HlM2 z^S!4pQ#k4Hemb1FeC@4t<2!=IFJ!!6g@l0{!ibk>I10DzNU6cN;CH;IYj34rJZ_l( zEsopJJvR?H0XHZUcp|)|Tyu=VOoM43M2+X}Fsd%PcAG-BBEMf(=67d>zSwtXKe_kp zW;=^<-<|#Qt6u7!XYS}f?}s1cdgMKE;Kx(9e=OZ}-wm(!bNITN!w#$8a8~MVzkgJn zy|(z#tNRa~vto6B`&AF|7$NijfO!71DRmf;XTD9c`iTF1#KZjOlH7Ypmaq9Ud;a^3 zmbw0a)_8Z;wlM#aT_>l0bKjR&U;Ow7S5q2RzkKb|)V~_un|k%DuW}li9%{enu<2iz z-n`SxkM>g<`XBh^Pod$jeI??1Wrm-OA)p8Y4ysG0WY+Bd)SWb1Pg-<_TD`cIoC z-~D9&%4H|2^v^u6Gj+uWW;X3N{<}&aD^C9Cs@ul3rw*F7LFt3@$k({1x|BZd|G}=Q zsb?-+-F^Fst4YS{9mlOm-TmTkn{GPnyDX#W%dcFwDtAY1^ZN9Lev+YNGXFkzENmee zq?6%sMSV{;={+ttm1!xH+VRf~soD$w(tpr)U+y3Eg`f9dwBd@p?(25H`pCuyMmHUG z;7|KI|Fmp1Ka1Z(%qy;aGHKY)c4-3*^5Q+^dAetbvRPC(pt1A1b$)kNuUDx2yR##y z&)$_@B5SA>$9GrTCwyY@nUPu=+BX+;b+`BQs&B3i%luEA-!^aJ850j{Yo9V@{>1si z^1HM2-B|vHtorHFuIJ^*Z?}OG*72L`yR+$$wD>Z$i}&OcPtf;mpKA`M3u$GynSShg zOiO(y;yk`5KON6BaTmTjo7+#1`>;J2w3TsO!Ts4Mo!owY?>XJ=btklSF6s>;2Elh_ z88Z6hdv+cF?#eM6;I-J8gpN)DQPBGE;+NWZ)h~s{#jsi%>0iwtCk}l8%ZumQ* zpaY+Ol6)W0;c5k(EJ@|cT zZy*=#fiE}!SEL{G;BOFq$n7YBALzl~A^ebw=hs{13eN{U_?HMjT@6m<52#uqvW~oipFbl^Tq%--~`-I z4uGdl)kgZB(93Is6jIpJ-=_@j#ryV_sC{Hy*rH^cu{jg0E2Q;l@Am3y`4>O#%jNz! z`f<6R93fY8zm4WNxAqnImNrTRfg5lFZeRnRD$L&%_09;!>s46e#`eM?^y3S-jFB+L z>nB+8nmYei;dU{NiO6_8;dV$(T`m9OaXX$cBik+(H_e@Y#*pzaZf{X;d}()IB)_P) zXdac(R+M5(NABeDKRYi;zblG<5B*^Jce)=$|A_t%{c(fUA0qeY2NQo+bVvEFDBR!Z z{wn=^RKJC%#Ji}MS&@T!87a?wS2SLcn>hx!0Vm*wWB^YccHb3+UbeK$xHVIwla>1W z5+%rPgQC(HVJbwCZ8i7&-4^S0`~Xfv)cCg&SOqOhFPy{ zG2yxPcSU!R^e`QdlOg;OQafj;wu!#(<)29>4Blyph_%B!1&p-~^EC07q@_yE;lZ^d$Ei=Ml z9g6$Q`Q%HTv#@4w;-&RbaD#DQkN1_3okHuQM%M17e$l$n(rBd*$&Fjr#uB*vn049o zL&mn|qMrdyz%Bcd#tnGtd@ZwZssy)Y!A;x>af@5mrg0m(>)L=5a7%BLdK{{Er%`=d z{BTe!mVfc}jq4iPtN3+o zLw9`?Z~|^DmAZ4lh!;O`@AeO2h*(xZ!+^nD_|Xj`UX6@-H4Yek9A~ zekKYx&CTl(gKJ2&lhQu|H{=p{>ah7;(XX%eykDhg<7jt=y0$)#=O4PSX z{w=m{1obUyUE9dofjq5ba<(`D_iyUEqGIQ~NhwNF9?5))yhhU9`H?Yv(|uPoRy8id zX~1c~X~1c~X~1c~X~1c~X~1c~X~1c~X~1c~X~1c~X~1cqKm$Bh89&}wK<;ih4LA)r z4LA)r4LA)r4LA)r4LA)r4LA)r4LA)r4LA)r4LA)9a}6XLPh3Ll#WQR4IXYTlJQkT> zJGomkg$D3lQQ6;u{VrNE?b?=oFxc0E^9iuO66X$peiW^Z#rNKLzYCwAHlFsoaD3Dn zSpNw*$64I$t9qS$_RXmMDR@e}i+vN2gZ03DG7THqL2YAz_>g0j?NV?RU8>v`>lKH{HfX^%*P& z=QzjVrn!giJ|*A;+|Xa5-f3Mow9?624+VO!qwpFP{u_Ph0r&Zv5Ad7r%@Wwdyczfv zZpQbQ={%3+-dOdE@842X*Z5Z)H{ToM?U;X3-nPl#+4eknyF~07;D($4PlUIW8(k6t zyM%Fz+NU&r8{4PkKX>nc^LJ@WT?#iUub{{I+wa=vX)gbvYwySIF1Xj{Wmc0tPCtE} z`^>GY*f-GgrXTy?W2pXSQZwni>NK5EeGi>WP2w_#(b?5k(s|W=bVfCYAEa}v_ouU~ z$LsT|Gxz<^el5>je&w3`55A|F`7gcxkW}WGomM}7vp%o-?K9V=9=rF8O}ihg&#SI~ z?7meOzUSuDDNW(?s-Mpu(?V%z`RBhcY+7*T_Ng;ot6BBJ`^Mk<*w}0OuUfZLQ{O-K zPrdNII}dBQYt!29U$?c6KJ@>sz2@J?Jp9niO|2t8+qU+bf4{8thW{Kx`z2K$lGoQj z_2JInCbY}AlAg64MW-<<<6#A)nbc`bQ&SBOKG*;17Grr2esBde_Ig@!#_BGd>Ce3W!as-?d8wj<}!Pe{B6*I?|k8d zynru!{x;~q*C%|C2R{4!ZP0;lz3@RE_{Lf1Z-Wkepo2Vw$64oZqnzUW;07tTpa+h& zo)||yV+-`)?+|{-1ukPHACL=v(1U-8@Ix-1YwHdCpa*|W_#qe1jpGMB_}>zK$VK{X z{p0zd2Y>xXrM`$jwUr*T`yb~!+~!t-$MD37BgI)D4Ca{jis>A%Xj`row+xk+8db2)Wh zkb`k3|E(x_?)>efdaX7ca05=jEhpswcAyguLtoPZlr0X$V$ zowxn305{|O?Y|PiCSm%wes%Z8$Y2HLSrVPU9n7+z-#1d+wRtUFR(BnOjMEF&_iB5?M)kkzeEw`2|1pfH3mg z)6urLeePN97gUht&6!W6pYyBESC@Wu=$x<4bDkp$#yVG@T}v}_@fYiZ?Ht%OSO=7T zS+7?5#Mv8+K08^VR*G_4(>>v;UNN=zmAqCGq({4CjaK9LPbtn~sv_&R2)p zwzv!2fD>>-!hoj^yYtndmo4owZp~ERP=8;d1aW^^>Y}ODZR$#Iq4U-8T>E_W6Rh*q z5#H+0SC@VT{S3xi(f?pP!X6jEd%9U@`1>*ZK8^F$#}zwY{RBB*UEG{EN1wMoTDzv) zB!0A4kc0Nh-xSert(houbFyx+IUNp{cp&GKFLl0p<~ZV|b&GI~`Sjp?^>MV;lz;K- zaabP9jazT3x%Fx)rsXS1z1Eal?_b~soPb+)gf0ibQ{^CYYpc%5AmHXP=7d|`)$>Ly ze;~NUtvA)U4c+yozzMjeM@l^o)jK|4{TmN!?D#K*GZ(E3!o__!U;S07cNR6z`!!!2 zyie17(67DM=zR6ph(2x|71uSiS5fD55A}76zzMkd((VFJtz%jzoOx<(pl^4+dZ3HV z>&v&3f)j8Q zeqTzAeZKn6#m-lMO3qgoH~Ti(->_3<`&}Rh>w$A)qU24Vq0=qk9`w+v&> z`;^2jz>UvWPmWvMeix0~(B1C>oPe9ZqtxS2y`y~+Yns;u)v5TtiOq4oI@h;T>Bsx? zqV~HS>8+&LQJz$FmGpdD8)Rgg^X2zV2u{E)C+#lq)ES%7>YcvKz->Pr&Ro9sRwDS0 zVgw+gECR?5Z+R5+6Vt|r!vH$17%_bXS5{~molSW>>G?aoV0+wPfZn%?ds)ZI)VD~N}#*o8l!BfWNK z^!bFj&d~Q`o_ykoX?*tkfv4@Pev>CpZo;<}*xhwRo%gYw<={qBpyfZViK&m#|8&A&J0w_d*g zqT`4A-=J?Z`?)Bs%(#>9W>O1oyMuI_NyWW4NAcpGecpb#VaO@wrhk4@U-9qj>VCX7 zz9=g3YyYzML;MbIUv#gI@A=~9rI{nx~0 zn7?6KLqPIH-yx;3k|@M=y!-1kFpM;ie?Q`Pr4sp;c=RQO)YYg}XZXA7wOiB?)zKqS zw`nxB`G%!SX$<^{X#AGWd1gm%-MqGW z9qo0Ui|TqiI(zDR)Z_>YEqOIJ>+dmhI`#K7v*cp_L$!GkGK!tQ8bMz2R`#pfj!WMa zw&%9DIC;Gqrw{ZXdPJA!oX; ztiGP!3kKZGq<0Iyzd=4+9)RH=E>7PPN;LR5eP%r92HQSJ-z@kn*DjtD^=!nkJJ{){ zzeUpVwJn^E+w}80zFs^XC{NHI%F{;Cr>Uz&ZD&_(jbxWRe@3zK6ka1?u9M*O@f@Sc z$93Z5_IVwPI_I@5^d5Z#c|e+xhpdzZco#vnAf$it9#!g>rS0CzK;KYe0-fEn@2-T?dSJSP;V9!w3;WhFFLbxQ9DuZ zi#e{39DmXWryqS>YkJ>ed<$swX)cXeE$Ug^MxuI2!h*JiJ?)V^^E-PMFKoMD0)4`B zJ~embcAYo3>x@sd&+DDrbx!X>or2!(bIM?!*LH4a?*(N&Rw2+ z?sMCE&*^TT+ub?;%=Wnp+UE5t6_a`+R2$EJZrj3z?H82d*Ct(iZ!hVpXMzeTO)u!` zKARJcl~>UK*-uw5m&`VER?ErBSX2qh>uL6}#~m~4=wzI1$1iN3o2&@hDOJUS%ShLG zJ!Ju_dFFOf`CincOU1+qhZV&}X=U#G&TcA$on4FQai=O4{E4nKVPyF2g^Nb}+_T#j zFQ%LuiKc2XuYE$-x$WJ$;8TG=j~=$5n_6hjoD}vjS)O8UZ%21Ksbk@MBArMX3DYS> zEm+v4${?y;1WDWZojr5UFPkK~E*XdR*aThtvySmvY ze|W~R$0zHu!kyiRT24Otq+?rVCF32;?k+L5uD6Ts5Vy(RF6b}n<$VzCaZbW$7ug+* z{w}@8_d?^}rhNAE^ZAF1+hY!!eB2&SU#MQx>SnYrXggILuGO6LvDdX#s-i$VKW8Vzb>c{AYQFyBGRtWQ!Uv$H7u#vA1mA@9!`|qq7(Ydsr z82esG02F=u;3k}3gaZNgn_--U@Eb_syP;kck}Uc8H^VK}T~3_PFi~BTCLM9;#3K$p zf{SkHThYbV24~B^O-`LU`LKzH9@fxs=v2xby^qq%WrBOr*$V?-$*U)7RQSa#`rUJq zD#&5V(A#I^d#s|!cgH12_}#MvNx83{@!}%iJemAc`Th&@2st zG-&e*X#Y#O=)aI2q%ZpoNuSJraQb@ASu}TXSI^wVgE0BAQSuKL>9qS9=k z`m$g9XOu8*BbR)AUp2nCu}@rUebk)W_5GZf*Pp5Vyfq|kRDN%7%{b4) zXUw4jQSUF=-4-jC^=e-JzG1nvwmZZ5>#kAj7xfxMx)E_vIiTy*8Qz*5 zW<*36+l+(=Ik0=%XWvf=7jE{;^%g;cLSlz{h*wi`JQ>h1PdJ0GjoC33lB zmWNl~GmY>4YUdx&@7QMWz+Hdkv!CSg_>LDIP~#L_?>i_G_2_Z(vmC$gVpT44%k+G; zy^bKeOL^sUG-UclNPeHoxt=cH*3hxWye1%qso(iiJW7*Si2~HXus|9 z*KuWZ`SafqE`PaP@%C{Hl|R%blrMHs{vfYfL^5_5SbGqGZ689i+PZPIJ+$GYk?k?d8!oNns-<}q0Ye=N(2c#VNJ4m_Ppvx!99o`djM6b%-3sSCS9Se#K%3XTT z^2*)zT<-WM7s?&vRIA+8yK)DWlWVr=rr#hj@ZoX<{Us@P3SucQYlzn@M<{0)hxh^F zKcUOnTR+n4rBKc&T3!CT$}49(a3Tyt9pwyis#VVVZuzZy&l1cAQqG{iq~#3dWeq)3 zl`|=Zxqzpz-53*@u2ubWMMd!{OjFF*f~$d1ri1 zrrXdTzDiN*VwzwNIH!-VLYLDVYW{wAYSf0u`v0@z z-t4L}iu5S4N^VUJ#|ce8^KcyK_&NMd4UB(3MSe~rUtBNvnLE>u^@8$@xfqmZ&=X0X zH!4pY&-W!Ctq9v=)43a6U#4}V^`&*mxSPL#0zSq^z2k}glJsR0i5YWlYsk;@ZkUVn zKP~Tir-*yMj8Tk`cSRWs;pb*(Qy$KcZl(gkWnvdOQ<}Vqu0sx)Fd_IqqrK;>-Y$2b za3a+?BBueT0jB|{0jB|{0jB|{0jGf>tbw|g;2k5 zWt@as_`JEZ3hxc%4$_PCA-#}=e9)%%j!F_d_asQH%;ofENufB?72^Rs*2&`qe8DX~ z9>A!?U-dILB$`7RVT?XRN!z$I*|9dmWB=kH!hcmUAzOX!bq47DCGtT=&Dpokh_wU3TRmx7G1MTW& zwOugKQw!CiQ`YfSdL8M?tF@b6s?UEz*#C;Y4|k4)H+?3br<5OY`c%$3ubdvGEko>gww3#H&KjG5QxF_gr z7xEzw@^c~|&n5XGR)2#Yi^9#g?*>CY&d5{kpJhwo;weGx_{45DWIp#I_QT33=9l0*5s#tgI zjJm~@Z6@ouTh{})$dCPO&OfIQbj8v)nCHX#QcvNQN+0Or(#QF#=J}?!-jH6_Uxor` zZyt?lXJ^s5JG0vdZnbc`&u9B09rMYLc{}pvuk6jgQS+jlu4cN6_V%wa=_)+moi$AB z?WBE%i}DS*xF09iKPX(ku^UARH~yG%8z^%~&uQdGUJdeC?=dH-?_1Kz{&eP-I%F!A zG%mtewGbxxN;p_nDEHX1Z}I*LxN*#Np$KRtbhE4gm%o4Q?$8mg_G=X2AjUFE#$5;G5sKH5Jj-#ZT7HUrX+GlRZ)S;QO4-xHyg<$Tg0b@FTBE4-AZ}E_x-T zFV>;?3?1fit71RR!FCpp0m8n(7$EY4XKHH3hOa_bLmiBj?exs2S0DcUho`YSf!v(z z3)lR^{V&S6?H1~V@tH`sp+6o&3k>}{4o&-9dX`|*O#8=gRpUtkPILwh?Bkhw-|7JD z^aFkNf-2jErtPQOpv$JP2q7u(0E6G0kH{I(`L&rDY`ztdYX zJ?T1S(gvl$`J4uv2Al>;Xn?wrOlmy+9VrHKVZWm7<9ZSV`}kLX{}0)KnH1a-&#kxj{VYGb=DcbdKeBn$U_k?{6`y$Fd4)V?Y0$+u$Z680k=`*Xx&)xJOyL+^4deDEn zJ~v785BI-j|7!XR^#c1C`irxVpSg9hVAGts;^A`&>|>U*k;DV{dMZo-uBx1u^-jns z<@t{MiBo)ouE~?{&C3~6r|Y*aFF~0>Ic9n@4IJi+@A(I6dpCEGcC+KPo1UOuf1<=s zlK9CIf0)EimHYclQ|FDLoI@_kdAa-E%(Sb-T7R-9C0h$(u?^9nS+-4oVRjiGo)3Zk zlB~T@YkQ=8R143Ik3LfLeDK1Y4COl}hNizT&%hJ+BiJ|E)%q#GO{*vN}ez#h9_Fd)9{R_}CF*N-F z1$@90`b&yuPVA>@;aPu`tDnFqu!Bu3*{SjtA%Iob$t$LVTy<29UDi4 z3v~fJp}(YfrsaL6T6lI`>)P7@E#POn0R?=(6Z%Vvr!ViN)xtA<_T7CvuH!D&fQ=)< zh1vn0&|fJ$^Ye{zF75#48|iD9ZD+O@CMD^e*rAB)l1hlCQ~gn{L64ufc{7xm@?594 z^7Iwd)#yU$?m7)P4LA)HYJd**p?+Sk$J4V=QF97BPq8`H<8k_Gyb-Z|Gez6)dv=&b zs4FTT9Fc6kQOijBcN`Jo2OeZ%Fy|o@Tp9#P26PT0xlCWE9zA^3Q z8@0;vdW-6h4HEG(KD-_e`eQp->zWDjI5d@-Z_L}raz1(a_VM(EU1xX|Y*)!2btgFs zoa+PcKzyn!W{-6Cu`Ul$<*M{OXCIf=QM7&sQe+*E(}2^!@YDcXRF&GtUaXB8t<(7R zc)VXFdd*E<5(KrgB;tjA4Ex zpJl5r?nC%0bZz^%U_bXe+w;rtk60xrvayd;i!SYKHj0oc}KORn)vm{ z9-Y~9fY@S5bQo_R^ZE+5bHi6Ae;xV{4RMU;I!80#z2&OSDZU|e5p zkcb!dG4xlleY`?{=U`y=aoz0R?#{(M-hd9xj~ze$YGJm^xue>NY>Tsxi`#K=WlrCB z_Hl9j#Ot=4qUva!2Al?lw+0ORcz>;lsPSX|PF{b{jt~=QTB20 ze!+bRUxjX|@#CzskG1OZ`itt14HEIfK8F4(wvX?u$UZ)~)w>*Xt|nu)RMo zpWKiK>nmViMA^rKvA!bb>|;akT;8I728noKA47i?+sF40+&=DF)LzK~i&*>krowEO zb4S%z|7dL=5AS_utTxq_iEH~223=4FhqvCKheExC>uFRx-*cDKfYX4}KoSk8@7-@@ z`}6RP@W}M%?O}<{k00CAQRCoDlgvK0r41waTF2!y;50BSH9-AfCdFg6)&1UTxIKGE z5mm#k4b};Sh`E2Ye~N(lw%+k$8Z)otd#g8vzqbneBFa97{>rhB?frRaXCE7dE?jnl ze%BxoFYIIJFU~$LwLg#LY$Tb!;BJ3!HNZBUh5-BUeGa{=@K)$fFz;aA&ZJ-{v+SRk zQR3(O*|fHI(;v{TKTEs04{0}hyu_a<@v|lVWQjjTyAaR$=X1Ux7v((q>_^6juR<4T z*YSmaH@@?G?)#j1wUk%R`FpF-AD8n&T|-`QE+xuGwea-&-1n&RaH{$M3`{qmfRF1N z;|cvG#S`_sT6p$d=f3|3jDmj0#FG7m7x0AslH!T>x>|Vp2l*ZD`(nV$#t~t}2QKi0 z{*vN}ez#h9_Pyx7=NO;_{A@R%fDd>=e@XF7i~UqBJhSg}^%EEkq`igylH%!$9b7Fu z(_eA@XC-(-e@XGo$@@&T@a+58hBI9M2}JF77GcB(Zoa)0{UyaSEAOS%!ZZ8y$+by)@TjlCT~0?PLlz8;H=o6DDFawz*hJx7n9xOp?X>?8|2 zy(QCAp-p5KMdx=Ka2jwLD5e4K2KD!(Xu?quM$K7l&htR`Dwf>BxyJl>8>f3~o^Pb& z@!G*@I1khcmvtT}>Luh=8d=y;j7TK*W=mqjafI}s8yHOUsQi=kcgMv!M<*Ks-xI1LOp4FvY_$k79}k3;8mCQxAfer`SwRPCUNm%{yP=tnlE+8oFeqpka__C?;r!wVCc>`ttGd`mL^I4V^pbEj(ixSIQt3lm^sxHWt? zlv8NdP1}z!=z{cDQ*VWBWAI!~iTmCvYr$Pk15N`&T?3=Mt?_%SMYSHXb%}CV?&pSm z5oI3-+C%?Z=-T#i!G7-D-G1({9!(no{(u5L*vG!;FU~$ryq~*o!1i%>+j-uEi32(+ zU*#s&K3;*$4$M{cH~aDG+s9kKoyQ6^>!$5T7<4FinUu4Sp_@P_h2zDAdgD9pavE?N za2iOafxtfYMtW)sbz#5adBxXPpsh;wL~h68_H*<2an$n-$=j@bT;6`}=<`9@{!;r~ z#lDELkNMkQ`T{P6u5BOl`icp2H$BL1ciW~1)6PDI63LD0gAEe#!aj!n;_Ty6`?>S$ zkMF6(KCYYDHjmCcYVYkSOliqGvG(z;C0UCSsQR0p>(*Dqm#et)7TkC1D*|1Vr^ljY z(?vQBI1M-r7#iSiP}U#I-6;FCxP9!|Hme~&${TMVGj)k`S@>D@Pd$Xwz4fj?Zl*Nr zpI(1#hokLbl`-QF>|@v$QTFkmtUq@4v7z-0VHfo?NW=^KI9p=;II(@asv`S%c1K(H z;=)uWx)W<3|4$UcQx11i62;e=2V49zUjcf=bTI_w;&T zj32|kh_a7^@qg|^_$qXx)>n*|^%Z;2`U-y!xBgh`4*HAgj{^$$U>`$&1GSG?jyf-2 zaJSFPr#+v7EuO610Q>NL4((ldD|BZ}D1<=xy!`PI58zwb`P$x1FVL>vq1{}kcC%+m z{Mi!UCGm?TzFWI^D#|(JqMQ%{8d>R)Qz=mlRK5?BHtQ*|E&wSqYxdUs61C@;*~7Jkzdz z25?5M>B3ltK}KG@uRwoE@yyD5X|?d&_*GXw1Elc2XuAOge83a>D}`r%zsgSrI^THo z!nU5?&Utk++81SB_Q5Zi&!NAbxfo4*ZC-;!dTN`m+z7;O-ynL}QUxR;Sf3CBSV>2 zux-aS=&%0%A3760lY(1Xh2i$B*q#(^>&14@d3#u%nGeH8L|W`H?kBU4L7mJUM`ZYc z137?wT+w>Gn(%r&*cVauagcA;IbVgYw%K@(jE*n(o|LnXwQ58^(S5K%B3{_XS<&A> z?PHds*5e88;q`c^ONGx5urG`YzN28r<))KGKfO*B3dj!149YQcZEv$un4g(DPuA64 zpxyLE+VwxB-Q1@oJ|poLOZ+7gf2npMp7YP=dOONuAzdA0D&UFX*O0HcA_ zPv|cxo@lQJj%SeCC||u>|7@tmtdpkSAQ3O>C-j#TPxQOh!n4DzCosS=F*N-KiG?Th zmlV&e*iY5Mv+qi04+UtM7@Gco0zTAF=r1XrX|aQ=h3Cev&P4+|0K^HQ#`v;d(Bmg=-pnjF$^A}m$#oU3r)8H{ z$KW*JG%$QMKm+ny<$U9a5z#$#etuCP%ZKfm1v?Cgx5@d&5#jkp*cY&akyln3{JLM@ zTytL%c1z7S=G=UvR#{$eQT?$&B3`zGc|9KV$9AyRH524qBqF(Du>m$&p6W&ZI0$^7A$w41$LyXh+>{%VQ;io{E@>bluQgw ze?S2r@Pz)7;+d0rUM)QP+;|KiBG<&w^cy7N1)k7fQasUK4;;_Jw3v5%H$P>l!^F_^ z8zkZdp3q-XJkjq~4bQK*`KbUc6GPJ2TN+TSR0QO*Z@ zzOm1}zeDBZn%J9ugG9U-FNOX}z3&0ftdx(c;d#9qFAdN#F*N-F1$=otMSn^0OiMkl z7M}GtIXr>UKFDahrcdLe{tDk^~ zToXgnZ;*&LkEiG_DV|xepQ?qYzh>FD-1;lvWnyUh5g)j~6Z%VvXIkvwYT;S`ki#=T z$;8m~2NduDPv|cxp1!=#R141zhbJH+*Tm5D8zkZdp3q-XJah71S}i>L9G(VPCWfZp zAhGa-{z~DQpKpAt()q^T?yj@i3lmiOPI$=0p#O&9AAnbl17*LV$4}h6nOSa<`<>pB z>nhyt4xq$37N-HHf#IqFnl5njjg^8wjs)NbSuijLWxjD_c)k(#1?*s+^Wlr13BT?a z_%8P)VYk$LW7^F(YL(^n7S$gcB;w`w8uh&a(I4Bv70ova?uGM>z%-nO0Q>NL4w-X> zTux9vX|`~B(*2D)7K&BnEq$lVAKoSNhu_j}_HON_@0IxbB>sMhUn%hqY8T>Jk7|FT z$VE9H?D@v@BW^qfI@j$)@^a4SsX~9H-uHl~FXf|Jcy>5E12_jV9wYioif2yhdA0D& zIXo-E6Z%VvC)(?Q<7p%}!kc~6wYPyF-Gb`^i)xxvG;Tga=5c^j2mlV&m zyq8uBPycaOKLbF^w}+s=Qh4U)8%KPulh@N6NP{26#!7-TY2WmdW_B)IXx}X>91OQu zY9xM&{1)_w8^#BF>&**>Q1s<}y9wh#o(% z!oaxdqF1J|zAE{CBV^{s?Zv);9gO_&GvU`5F{jy==y0j|#;lufWJSqk_pt~gK5!Wy zo^OQy*bWZLavq10=c(rH;~grokLy~x+uMS~mFGk8E#SJd;7(aLRDI2T-`U5yUZO0O z=Q{hiJbeYaE~~6MVy6M8f#IzIGN&@BQKW-X_HjMYz&^%z&Eb}(!g%|b=LeVlXlF^UVhaec8tB3{_X(BDAqW0s@7Hz2rU zJ>HW~JfYsTbeamEUn8}L>1rh!^U|Y-QQt^sS=rUHuI?f2 z`fIhDTc_RZqY|H!_#aCA;}ZX*cJUm%2SP5&`CzZd+xU^Y|J&_%h1N~%O+VrTm+?{G zHy8btnhybUp*B>~MGjB63X(O}{}RUf>D+ zCB+l%^}z8gOpAFZeVVJEfj&$OO@BZEAMk|!lH!Sew_131I6MInxh96D-yjh$@Pz)7 z;+Yovsakku9i9eQCWfZpAhGa-{*vP9iyd4oJo_A;23RJBrr#j3@Pz)7;+d28nQGyg zb9fqHnHZXWgT%rU`b&yuR^Cgih37_xrva9Uq3JhBEIgsVQh4U)8+Wf{zVVP5?d^-( z7kLvWPAW`NsXMXrjo&QASv+2if2Mz|$4}h6nOSa<`<>pB>nd#L7B8GG)@i_Lz-b`R z0C$6WJ>Ka3^~#~Bxd@)Ch+B_0dGh4^oL?Zfm@j_5k=Nrz&1o3Y_*tPJ&8;+XJf~aF z$8ZSqmdYDS-)5L^ROx|%!Sju~eeU#BPsgrJ_uTaQG@i4y!-PR=@t?|v$Kw?0Tm-Q% zUAp9hb))s8b!hj=0R?=F zkNVz#=#TASt!v0pZu0ebbpy7K7q<2Gwl6xQwQEstcUw=$= z+*8gzE^W)jmAg#J*~js^DX!P@3#{XC8gLpIt{UJ~?U@vh4dcRCB*N_S*|Txu$FNUL z`r`iL_A&3BDRPBuW1>sp`CIe&G3$8p?>qarxPIbw zTV`o>vDBFa97{&XL~sbSrR-BRl-a?U>1 zD$DCFTz&(c8f4^!eGL5#)IMf8YCpH&j{V$t+6_yWsx>?a!ws;xyl;}JA`KmD|}cm4I+&Hb--v%k`A`u`;UHxmDx#J?c%8?+1YoPV{BNaUiNm%pDI z5~E%J<8FUppqZ#LjD+CB+lT*3H>F-6a8+r z@XR_q4X{iMO}{~6;R*dE#nTu2sakl}Klgw;-zE>2iJ|Gw6XZSl{!{dq6wjR4!BxZa zd532nq=DE&qQ9hgX61dRT6m^^>+q}uPv|cxo@se6trngg4$lD20n|_EuN0p7{oG9h zoo_sL(E{4B(oS2tm0SMOyu#OG$@$%e1_t0&V|)Hfdi=!Ao0x32vv!T#4sNDAf~w~h69Dle4wOiHiEv%}@>=Z1X&I~em!jApRk zhx-J+3f)rkjs9M4KeyH$^oRb{bOQ?bc-%ql=NA339UPSBJPyhCbEgMxAD>ls0-bd< z;49WXzGuK96{9MXx!*baSl3IlJSF!#`#8C-!g{W(@H%d%0jGgsr2#UnGAUYkR^|10 zrcUGct1uO8J(I)mi_Mq6lMmZ`b{HINuf)ZHrd)R%G2jPY7#M@H9&b!|Js#|fDEm0b zTizZku#-#K$7yFD14eS=`eK7bys(dtZ+>0hdwq@x^4hgqZ6k+Kjycx!bC@qKZ`t3=y1GAT*MC*Jx!1IteM92^B=K)b z{9h#gZ`xG?=?~|h*Ka{C%6Yl#@oH7-f^)rY{m0p>KYH(~{_&rEuzz;vqSgMX@9%Km zSAo_8?9Fn3Skq;E_NN=rAD44`{dD^5eW~49BjpRS18mb$RtAdgh!U-M*3ESpkU{^p zYmkVSvE{Xv&>v%4SnnYxz!P=8T6p$3JPoj*f7>-kEIgsVqF-6Mb;C@Z9L|G{6FWwrh}BctU?k@l1;?RV_UI4Q}mEfR>FT!T|+* zsGrbZQapXJiK~TYy~7g_kqi86*B}uu@Pz)7;+d0on`+^ic6b_K**GF>kXU#^e@XGo z$~$Vc@a%AS8ejoG+ciimJfXi*c;?sUomAo6W8Fzz=bYJ5n4r>k3SXy$=ibu1#VFJ` zU;6KQEXB>C*<~kL*y$~qo(lWWVnx%%ISn`sI1Pj}KqLHa?lGj10R+Yo4}M^WfiWm^ zkA8UW5%vY_U;|>bwRoys8nf(bWrLh3rJaz-a$YPI5^tf(WEGF zfWQLMI|9;_0|k*H?Xn;utn^;}0RqCQG!+mV{O2X}Hk0h`ZFcWg{mbO@$#O3<(`!p6)FNh5PL-Ypq(4r#^FO*$aBayl-T2!xibRBi*t9{IgILmbN|D>Et#w@U1h;uq*%9{F_AYd&0jCU8C(vRDpTnNczDiTIi2 z6Z`Ja`Sh*}o8#tuGH|dQvNEGWMY!JJ`b7N9@`+<`xcE%sd@^LQ9I`T_V&D_;Gs`FX zQsLs$`W=rwYHYC_va+Uu5?-H(pIJW9Ck_{%5u8t?h@>ostjwrT5&1;?%<_r%HsRva z!TDs!VmV}GM#aD<;%AmmE4@bz7oX9bPlha(Lsn)~416Mff%x>q9y^5^du$vzJZfO@ zUjxyq&Q7UlxkTEm+X{L^nFDfXR_9W942^9!=4FnXd93u~XwdDI8*l_T0#7XhFbv{% zK~xa5*p&uKa{to>_U!vpnw3Av|9g*nwr#Zg{vNugEEr#PD~auqcfr&ci27cbs>_^* zGA66JYAlG^huJAgix6vEiKxuCql2Nw9+l!rJyPepAn0G9AB^V%$4rgyg1C9?Q6WtI z@i!JTDpZ8~RERwye&7d(5_|Oc$2~*#k9+ru9!$Oq@~U?w&E;V8_0rzrl@nBkaxFTu zsQ$5qiIfLbN&sa`8e=333|Jlo;bQi$YeBB63HxASbu?MKhP6C@y5{roc$oUC1MGuE zf8225hJA^8T;s9-4Y(l|#=2oXroQ%TXT>Fs07rl$kQ@T(ge2G#uMr%RS=E|=|D}8{f%+G|{9{!Ueqo&OovKu8-%H4LcGRva@*WY=awN6B z$iJJXVu$$Qn9HV`21@83BYyt;<3i*6Qf_L&e;X_JcN$-U;PH>+LiLZEL=Nm5HL!4< z*nT~*a>1p3{o~JrE61p}a$4Za0u{rW>jsQo1Bj6VS;wr}5 z=aJpv{U2NQ`2PK4&xsZuI93?ai7)^>^Jl)ztZ{nmY2RsWmU% zpO5Z;f$q;w_ZL)CEE(?uv0QBD!M?kaPU%gw`@jZiV|R7$xz#21Y`p7_A}{Q6@^+4p zlhjum$G(G6BOHlspCF#vxye?mZ}~pLc}<=Xl>vQJbxS zZIjbb?zP>8)Oi&iPs277T*`3^4lm8uO|EJ3eH;Of07pQF00|@TIHV4d5H^Ys8(h&G z9gI|oLuS^;A<@4;KNw;`u)r}uU$g|S4R28u(vd3;8N%!8Y+@t9GeBF1MBKk$RK z*qw(5^WV^;yki_vJq*@G5Y|TK2W~09Ecf1ZgC}y0aY#0vS<*xtGQD@PN_%q_p>f5c zG_F`&P2DBb)EPndzfAX+q5I3y{pHmZi^upBmW%B?*f^x||GO$3zwDYW_1v|3d%ImX zPG{N`&A*|CkdqYKl`&;hs0jQNBQoL#?Oc5yh}Dgk@W02kvb9*1gSM4Wxi!X^J0(T! znq28ySMH^wcg3B0Q?};k&l+oN7&*mlO#>zD!w^4xAEs)x+_uycV}2Ns-%jGq%oqb@ zYdl+NUl1zKfnv;VK4*i}kra6~ri=;|foJ7gY!tshb2iu~W1k*6pWbz0bCNip3>-!t zahp-0BJzp&ndKA5=5X<8y~$(D8e7PpG1W9sLOu~cvwS+Jj}%DWhWG6Y(?4r<>mMgp1E;&L=~bkw@HSR1AC~erEY} z(tFo%@#*AzGGrlt#*|Sp@QL^Z;?on8d^hx%YO7qCBft@Osu9RV&K|$5r$$e-n3e`i^551IJTVc?B00(b zyOHp1y=RH3uh<7I5sqbCm0eKpf62G?l=`59p~fU@kvglZ`mGS-c5>eh!FRi~d0zA{ z&<{q=;F#LC3F9d*-f5tiq=V1rD;%mnfS<3GQK2HtJHWT~5I^vPLy1Xx{NrgM`^UY9 z3DMpaG@pab*UMtNS58nFN}IG+R{i5}ek0DiRxF4AhHu0{4cTkcDC0KjY4r~$ZrGP- z_-V(5ynp_igjgSMT=dteulpMPxn+jg{L#SXUzWhQ7{Gr$jKxe72}f5DM2)=Y92i)vdTXn2WwKq`07i0rSVX#&xw1iq0u* zTyj?g42|0aOT%}ku@rp@{ug|E8vP4j{&8x|AG^7K%mD9iEM`=wi2gC+=g&V5^ld%Q z{PBtu`NwhnhI`l1WDYi8FZG>XIYDJ8eTB0MpFdVngSG_=wlP-5ea5_aJD)#BY!EkJ zsW)zr!xxSKM}Q+>27$Evzgf({6i~Bh!;!OY+Yj zLthollKlK}q2!B#V;NV)A`|)jd*_d}iW>Z5Wd}MKp*?@BmCZ^xe~kWxFaJ0-=8qlR zKW1R}Hx@H0R7C$6@$=^&o1Q=ZJazr!R{f(Q&AG=u{(^y?qwIa!!Q?1?g|!CvkNx{_ z{@RW2P1Q8;cngDx!ak_@&rC-W{rc+;m8fUQt4Y3KhL8X)XtE z@4U2KUO7Q!DA%jICijnn^Xv3&ko(7aJj`PmR9ofB9088NQ;mS;9|!txZ~y+W;PFw- zLFwN=hVNHAlYAjw{xO*|R-R`7zuwRMv95mRoRH%sl zG2)kE|M)Otpl{V=Vxqoclr}J)m+&}il#2lW!nk3KT z2yg^A0=^Jn{bO~%ulZx|=PR_b7A<@p-q|BQA^Ksk4`uAfG=12Yo82_X`3>8KO&DK| ztD=&Of2=FQoPTWQ{XDH$gMX~-KnEin&sU&-;mbcxjpr+@1^M&G8oStrjj5)A68gu8 zUyA+XQz84uQ87Z{=Hw^T1)Hyz{cf+EpfVKy*kR}Xu{nRv*yhx2?jQTcB`~HzwN?XltyV;UTU$@|B?{Bx#!WqkFuZL~9Pqm4QL z7`4r%MTi=%Xn_s}&L8Jqzh8nCFhm)!r}N2%`C}|aO|8%9|C1H{3t#@RcHS_Cz~Y?- znm=}M|5%02gP*VQm{Fl3`p1Z0sQxjOlSIly-u?Y2tFZ>jeb)fmqwzmkD_7p6#5$my zVkZ8RRlE1njtuS1T3hvZ-F4K|SyxRR_0`nsp!*xr{jbygP3Zn+YKo=8`NMZwuv~2C z!Tu*}p#O7B;Qx1nkdxF`8^^wbQ6nPo1OMlU_(40z{!Y`x^0e=^WBUjfpKi{l27d^A zB7SE1#OpjUwuS4gPsjd&vn#BK~Q-cNjM`NmKpoIM`;%Amm9CyRT zX9VXHDI%$nN8DyqsEB+berEY}Q~xPkd^$Lv3|YvZF=bQ?d?J2k`E*i0I9z;2b3Pfe zj6C8tqhjC_@iWV(gWk`Ci%%!#lOYTFGp3A+fltKGET2|-Um7kx6F8p?SwS5ufuQogzX;idD{7&Gkt*@VEc$pO`WNU26B3mLj)}55 zCO|ffCHgc_ywSJp86UAD3T`;v<{mNXG>R8$N_L%GhDG=A8c#t+-7sk@z;Iy=z)Z_xdn>HaQs ze^)idqT&1@-iYO5J5TL+qnqFFA><_W)yA>SGHOJ``BKC$(ET3r>7eZ+Tzn>RJ{h8d z=M(WW%cqrI=i%bh`aO?NX@myPC*o(8PwcNl=Tob#FDZia$-ojkpNOAXK5^U)7oQH! zXNvel{LJ#{p#D?1_>AU!rif3(&n%x->Ia95PbcRyMSLQDX8Cl}`5ub>k zSw5ZgzBF8Xx;dXI;uG-;#HT0Tn3S@3W8qe@JwyBo2u=qw=c|f)ymErdQ09Rg-PHLL z9yjynQzxI#aZ4VbVCIH`YQ0>UBft@Onh+qf`tkPWMio%y*WXyos8A8&DiCi({J;-R zQM{4zu8%h=?cDQTB3lb=2W%e7urIlIW5x(5w=ub{@O;5C-p)G8+P4?6R5iYB?Lp&* zQ8a$oOHCcU)zsRT?(awU$I$(8bpJq_Ur3C*K3aPp4$H-M9(=q}tEVq1iQn%rupsZo zlu@A~#v2j8K=*qXZ*5Ee|Y1K`u;4r{~N%ViLY-rl4`PXMwAuy!0taAZ_K8TH==)melTJNP7TWH z*Z|M~_WCr?`;FE@>hV;&r~OyocC|6r8yA@8g?J<42Yzsh;*FGdW4w_Zf^w>_gT}o+ zAGTib&eG-hiY3CiqN5CDAJJK;8<6iDLgR-+Y5Z`wnz~1*sq-DWe-zyxPxp_Z`^Tv% z7LV~MEEn5(YR4O`Kl1n#Vy?AoV|&*$P{Mcy;uq+C5BYS^_7N^VBRHQ(5lM|a;x?l~ zMdTClGs~xyUgzQB)4};<$U^>%DWhWG6Y(?4C-&Fj;xn4_$&h8_5w{r?1D}YWSw3;x z4HutI&L=|_@@GsL6$77$pIJT~)PD*Wp9!2#hAbnGxXq{-_(c57@@b`haJcw%b3Pfe zkUwL}s2KP}{LJ#{ruQ@9;xmc!$&h8_5w{r?1D}YWSw5ZgzBF8XT5s|DPmL|)&zNc& zDB=AI;unZdPrUKZ6vZ3MH;L>O)4S(zp+bdq;2^;+MTh~eL{#2ALk9!Dr&_u4AbaMs zD{IpKYqT4-4gcR5Z`f9Au!q zO%--wpUX{9~xY zbMWJTf$`P2D%wzQKmM_VN;k;137zk9Ae{Y@mOP{)I39SbL5U#t>M%(?I^Q zll#XibRPVCjmL}%712LN{8H>6=Lp$99x^CJudDd@yJ~ul`@By(m>i`|x}DrVPTr66 z)!wu`?jLJd1czfVO_l3%1ULduIReB%j<-KgKnOH{Og^9GnLobx+ha0E8gIumFoyd6 z%*^{L+Ps^tbfa%feZXYrk97t7Q~q&^zK@sP@V*N5FMRpO+Wie+4vTjh$Uk;-|5%02 zgP*?rYM3%=L`44>@e9>IhH{cfc~;81@qLv=3l|3ceY|}7s(Ni{aR+vn{(Y50>@F%p zdvi`!{awdYPdU&!+q5(*5)3{sn4^#p8V-mW%B?wcl5X;Li&o5d?J2k`NZoyTzp1zK2yXe;%Amm?61Sc zr<3!UB0dp6vwY&X8!kQ*IG-uv6Y(?4r-S-W;o{TH`AiX?h@V+Lt<(<=7oSO-&lK^A z_?hL?P48#I#i#W)f4@N^G#kHdyj|;^&5G9pU2zJAP|D6%<(xEsq-g1ZsxB~NIswAmOMVe%ngOmhPeqxfFtm9 zAn>n^H~Nl$2v29cv9Lbgi2eoo!5Cu%rv_y$CI({(ELs{U-e^5GQ+ZE9wR_rs{f))m zxIkP*`92=S5By*)ZtlTfI=eECa#G7aea{e4EeZFl@f;=INO?EL8;L%(*VjSgUY`$J z0iJVZ-g9DY_3_4|>@F(9F|CVf{BQ}4AAX>wj^%1~&n%w~dOs5`J|j4v8l55BuONPA`Lxpe(s1$V;C!ZtPsA?}pPqPQ zv5@19v4bNAM+w1y7Z1($2lE){QxuMXSF}LCf za0LGQ2*5Cy((mIzUlq)f{P*#)C0`UAOSe9a-^WA$0{vi&GXa}goECZUP6Ndo9X#I1 zv_ino*UG3+5#x=BANawc#2Y>Sak)_a<5t}VM#e>zZypudcTgywkM{rlkFUK?JD41$ zuW+v8{;}^i<*S`}=W+ko8xwPQ2GdlzE=PbP@N^@f`NtWGsUtc1S}ZQ$bNTx|UggS_ zl`)UiPhL*mKZbAdC9~*!W1?sO|KK0z8rRi6C_1OKamif~z8`JeCVji%d(p;i6%l-{ z1^tU~`NvM~A2UtR-&oA3P!auO#4pAEakbF><01Xx2G<=JIn=wBrgETT@VOlDnQJ;z z=_?$ca{t(zKj*vcasSviE`c#M-A=h8M}Q;n)FYtz$AP|&=g&VT5T>es?8`rAX!_Ut z$IFH`Rq#LuL;Zgh86o8m?Wzy^;IJzT1?qcIKVO{bO%T%;6bCOXaE@0gk{^jzDVo$Iw>= zv-p3$0!j(+KM-&%qc7(@I&UjcnmFpGcxc+a+tb~wJ@!P)y+4$t$) z#v1rK572?r^taDghS}{RL=jgaD*p|K=P>i_TjYC>TEERaU!fGQZX4&1joWHX&_721 z!k2%nYQit_;+-0wugG?G)UGP>9ud-VBz1ECSc8$_j^&Y2@QCOiBYyt;<3i*6(rc!c zJ@eU>Uf%=tyr0)KbpJRuc5rkG9As?1o^wOt2nwO4%6U6J=kv$cRM`TmRzn!BNchcB{A24j?jLJDo4@wuKcD-@{;^3O zSHJC&@8Ae<1ULdl1jslTZ-1WT26{g)g6P0pCp_bO@wdms2aLC4YAn=yTi>7M_EzxZ z`0~#^I}N@u$ydf(*bjF9-sg|Woca3w60CqB%7CHo`C~XEZLt>7|DP247ry*s4L`sf z7Vp$Je|+W1=v`&re6j=5ypd0KSWochk5%jtKYjbvFx9j`LjM@?3)Me{a+Lp*qP!db zPioP^g~~mc{^-faMV>V(8@9FkDt3qZe^MB8@%8OvXm9TAs=w>psiqEDO|84s)V-VT z-$VEBrTh2M{rlAvkBs+$ST45n)c!xIX#PEKgq)2meM5!i zsrpXRP_TW3i%%!#lOYQ6H>QjV6_HQG&n%yKorjCh1kNWzmXSx?W>gG(B7SE1#Qr*5 ze7ZTG3|YvZF=bQ?d?J2k`NVNITzn>RJ{hu%JmNN^V&D_;Gs~xw`cL8F(|VWx|B%KO z@@Gsn4U};FMEuP1>7agaxcH3Vd?H08HS&ntj0zQzPsGnGpH_N56D~d-oKJ=<3wOq_>AU!GGrNf#BD~!z$fAth)++vad61-#+b;yQH33`v3)~)CeQo! zn4Zfq@6!t=N15Yueyz@*@VFVancz~6TX1-3V`(r=mFsc@I08>E0?^06Fo@6NsZl5` zUZo)e->~=hJf7P3Xu5%=Uli$FVGK0&VWrVZUp?o;++PHH#&H{QH9QfA7E%)85JtReQE_FBYxlqt5}1A zhX={@^LV2|_K#zG4vvZm$N#M!r{@}CqO?iJLDfHgy5CFIwF%n3Fb~@rqKw;W`gG%l zSQxRwd`x}qM?87T5#R`L1Og#o?tSjR(?14Z5B)tKwWmIxXU|jlJ~#RozWiekGMYa| zF@tdfmUz3-KlXZ`oBPKqR1`07-x#rE)QE`wv6JHG&p$T(KDRSu|9J4gsF+@ZqeFgU z#qa#_3H>PtyQQ>2>tQ~B?7K~&ZNugM)>CTg zK27(ZrTfp*{TJ!}Z`2fvhx3Q`8?an#=c)a^ijzMtgpiZeR~yH^gHapWb1I&$oM=lW>ol%8racs>z7vwUKI9WFlIoKL0& z2hS(sXO>SKcf-YJLQZ~tYJ>*QC*o(8Pbc-C!o{bX^QqApfpDE%K@e9PK=Y5q~A;%ks zbQ?S{vio4By1|KlrZWZMWN_sewUs$O=OuOiB%IHc84s+VFW~>L;*Ae^&LhqLhySI) zaS_e{WnZbU{l3nc=Wzr$0vrKv1kwmuAT!|qtNh*1<9XNAlS5-@+BUwg;>n?c7I)L{ zfmoZreR@svTSbT}u0+(muM(F3SE2p|`oVZUdZz})3|PEVW4zJ$Jf8I=|303I9pdM2 z{MEETg18F2uY&l2AFN^xdp$fzrk}@K9IAiZI%-(mfssSuu%Rvbro@zSijhMQl{V?P z5`O;}uL-S=EQj1b)^O1z?jLJdaET+p5qR1W(7mr>1vI?J6+z(saq{g1ePc+;63{;m z{Qc+v|F1&*3t#>*{8yy9c>FOhKiTLX8=uE>aQ_%VBq{4xu`;7VMf8smKY#vlpy%;C z^T!{B>>o$>?%p>hYS5riUs&<$AD{LyzKSnDop1%?t8rB*1pWW)`zl2Z@2gP%!k2%n;Ra&}EZ%7#|Jcd> zV--3Net@BIWmKq${xRYgs(%dSDDSIK-i`08ki$`K^>xs=*XP4la{p-r`;&WL1@=SP z2S6|^kng^x`n%5W)YNfPO|9Rnsrv`I{}$bUhwi^e_y44(STvl!^1cc!7u$JizpoO_ zpBF;NNos80xXq|g5%^L5Uxnfq=y@UJ6Wd3)_;hkU8M2T+W6G!)_(c57@`=}ZxcE%q zd@^JidBkl-#lR=xXO>UwufxTsoAb$#h5Q*)M#aD<;%Amm9CyRTXAR~^@GF3r-So}6p_@(BW^P)R75@z zKeK#V>HSQ&_>AU!GGrlt#*|Sp@QL`D<@tW#kdJ85IMch+iN+J@Lj3 zp~oAC^zRnpU#lpU_8V_J<9&L;fX&-r+-y$#yFLzY6s)&=1D*0XDU`5sV?Qc&CBljcy)qRH5_W2N)Vx zMum!Sp9=4*Ab#Knt5}1AhX?cjud*X#|G0Nd=>HiTL{(lfl zQB!L%{quO}U-(i-9=?MruA3)T-_rzb^flVjz87Z`k3y2 zLibxb_J;4mI?}4CHNBc*@o@g|JRX*d?L4)g$4lVx5QLnh#`cZdj0zQjA9x-Q@e33W zK|bBIeT0ioH|LWf3;8pqjEaFz#Lq0Bc%6rf&m_(#Lza<8+-6h^d?J2k`NaM@Tzpz{ z^XGjuwvaz#s%fBv{Vn2WmQNga!^LL==MyO+sgXzAW>lz%d?J2k`E*nNDO`L;b3Pfe zkUwL}s2KP}{LJ#{q<(O?_;hkU8M2H#;x?mV;1lsP%O~E?gp1Dv&L=|_@@GsL6$77$ zpIJWfzBF8Xx;dW=Sw9&I2 zQ09T$8Pxd`9yh}_6I{x13l1;M*A2S8as!S4N8ss2fQ*Cj_DbaZ)1_0RP`+Xo@H}1w zSs^wCF};hwJyxDE!!$5_`u;4rZxP_})B7$I##iI2XoB5;Hr`lVA8$ne0{vjb44fL2 z)iD8}0qpf@pm?K$#~W41JhirdT|jKg1icTx{p59dAtH_j?FANqx0(Y_p6S5plj0@e6dnhkQC{ z`v@1G);v6(p)nOapNOAXKCSdR4;P;f&ZkCa2-hd#XO>UwufxTslk=G(J`q2&eB!tp zE1H%_>9QM?^iTJgS#(>@3A0$ zX8E+z`_gdn>EL{7bcS%hg7^jE(-Utzm%?~soqj_GGBplD^c!!y5JVw9RF(NpcPVxL zgvZVN^$E%6bKH{0Cz!b*A8nLpaRfL5905S!-x_bk5So#tr!(GIQXg+b{{sDB1S_@T zjcy)qWZIp-v6xYzBE}mLKk$Q76mO)wr$)RnyLWYUIcDOGz8>s@w&yHOJ`q2&d|K&s9xgtUIG-uv6Y(?4C-&Fj;?w#(pD)!24Zgoc{LJ!+<8HY4 zjNp7~bcQf~B7SE1bWr~(Tzon>pDE%K@iWV(mHNTq;?vFfOc9@mpIJWL^nNB>d?s-| zQ^Y6YXO>SVy)O+HpVk++Kco>Ff7mGkpWb1Msq$>#3$lsmQU=j!^NkQ^O+((5kIqh;{iks8X?>B;e`|yW?++ngsaL#2ce^7V3ub zeq&P_KWt9phb`6A-AYZJZRq}XbbklBza!n>NlmeMPdtN`i|stM7eZ+TztAYpDE%K@iWV(m0suJ;xmc!nIb+BKeK#de;qD9Bl7cjhDK=c z{Vn2WmQNga!^NkA^QqAp!uW~!ndQ?#{iks88O`}j5ub>kSw5}Q4-OZf37pRq@rn4E z< zA5`@lZ~PyFKnSAxeq$GP{)ETP{PhXR=X2bW$0wM%p%B_IH{l3y1fC8A{;lywEli{5 z;pvPwzO0WoI;ekvesF5X8=XAf$h10tV=<#bMT|Ehe&7dd4H?RTC0;taGLFi%?9=xQ z5otcn69gzHiDX(S@2L@Q^c|~Hj|{(N;*GsDb&sUH-`JJL48TcjzdjK^vwUKI9WFj2_HsV8CLBDU zh@V+Laoi0Tp9x=aK2yRc;%AmmH}#*w#iyI|snHpNKZN+1<mVM7l_a1jRnC?j+E5%QZ(F8 zlpzxXIA_LGz^~Z6ar4N2QG*AE@?s+`)bCWpCBH}Y-m&0~(n|fU?;KQ8)PVcz!ej&Y zm!{|EruwL-zsFbSnZOS9(C!hn!}9L`JkX9Sl!eDbJ+zDHq}C71OS;k1jw@@2dT7_4 z+F^MY&v&rn%G#kG+BvBmmUrY(V>_;_9qOUoHfo3E?cQa#=AC<7<%G#kG+Bv8lmbYl(^LAWWJJdtFVbl)GoBCcBJFcu9>Y-f% zwZrnp#0z#@Sv%B2yK~eI%S*a(L&BA{Lp`*!c2RM`@{SxjB;m^1p&r^*qjp%{ri~jV zTvY<&R+F^O5ZIbg-SJn>o(C!hn z!}1m`$Vcj_uB;vEp`<+|;2={`GJwMb#yJ6H0%Y);cIn`Pk z|86?n@lX%#5~v-Pcj8!c4<_vKP!H|SQ9CSeO+tkI_eYP!hxZ5Tj)!_^XN{!SAGQDa z-aTm7wn>!}0*n8`pc-H*cz}vqL?!b5lDk5A43V(9xc_v!>1t_0aASwZrnjZttEt_UY5I z>FiJs?IOC->yO%BIM?1jV|sS`r|Z}2@I*bdYftU4JeMrm-TU?_eGH2y>Y<&J+F^Ms zSG+{}>v#$IKs-?o?Y2=nEDw$a?Q_fKS9JA6J+w=rc39rIGiRjb%L*%f8e31)L%V$4 z>GenLNxPP2&X^(Y*`bk^1l3{wteGg745>4$2we45ADuTJ1p<~*>-l)U)w+1P(gQosE2me9`yR7 z_RtS1$Ae0e1^Gigw5vw#usmp=cy6p6>Y-gUwZrn@cxO(X@?5)kJk&$G1=J49+qSi; zecafwUUsO5c5Z5iY?2>YKP@r{$FQ1 zxfY~-d-v+v8S0^361Btfh>d;joH^1r7cS`RP!H|$^`zGywVymG6KR_pMAFae>WO-2 z=b(02-usIdDSimpv$&uh+6|+2SRNUlr8Nl&qSyFG_0TSXZew}m`jKF4Cw;x{{7?_= z&QUu&F8CkImo0yO&w{n4Ml|E{w`J+!Mv?XWzw159AS>j?GGE}Gh5 zd5RtFTUa~PL%Rjk4$A{OsH3r-sE2lLYKP^aomyY5o~Va*kEk7%hx*XI*?OWL+C@au z>yO%NcKZGk_0X<8wZrl}c5pDVAfBj)c1~)Cw_WopYN&9|6sdDJ+ym7 z?XbLaXWH6teivoGa;b|B7t}+$h`#jtqxQrPw1W@2V|#U-9qOT7duoT}T{w46TEDI= z@j>hB>`)KwoYW4>8~^UR(%Lnp>>EBUud_ovwA)7Qusq;FxpobH7V4p061BtfX3v@> z9XoPF+P-a@jtA63yL|oV^+)ZuZ>uIPS-eY<&3+F^O%w;XUgB;$C5dT2L{ z+F^NwZ_-|_c#nTn5A71@HkJq6LEl2|<8*kU9@?Fwc6eNJeu@pWHTL{a5ACe|>GenL zKV4r=nLqn{%d0v&)I+;!)DFvo>kjVW;Qo<49_pc8G_}L>;GV-dF{9W05$d7c0&0il z!9C96_h0n7e@8vEb5lDk5Be53p7FjP_0aASwZrn@UV7z<6<+sMsE2kDG4%SQ_T)ZX zBHT-tzUidH1@+LbJ+;H~;NA$@sL@YGJ+yODJ1p;~yRk}pIrw!$9e=2YcH5{OmIrgR z4}KYBpD;eX&JOj^E{WP`)Kw9MlfW z8#gwM{q)IJWWGo5*P$NT4Wo8gp3*<~@Uu`4?GmURmIrf+b7ntlH{MU99@?Fwc39qr ztBOgiFM|CG>Y-i4h=a;JK9&aY*K$kLBSu+BIk?2-QeH%=+?}-Vh(_MC4%NV+~rq7Td31RQJKXV`GGh zp3+lAxEw?&(KMc#usIJyJE%UEV?C$W$Ni`uP4%%H>koQ;+>iPRRNp~UYgI{jA87@?)P*E5d)p~ebRCy(%9Au<$xkBt6n-1&ZtDzPd z%sGX6j8N>XT`zl`pGC+ZV2~Q>{X1DR(>0W1{9QK5V+{Q%u567kPwj8nJ(_IXXWRx& zHjkB!`><4_PI7v|=wkVpf^DkU$I}uaC96^<$hgEac|=wglG0V?A*jQ?#aHZE%5;NDS#bY%sz;oPj2k15(3vBCPG z9@Y=_F$KHcJ-ffzBdTZbnBL$Wz1h15?hIp!^+UX{ehCym#FgS#d+^|ay}Jz=9F+z739hxOLAzb27`qXzbl?Dsd+6zhle z!TLG3tN3BPp?=K=MWx22VTxB&!unx-uznHry2pC!@M{$pIr#5^&(r^5eXxGmFJZlP z^?NNgX3*e)k-cNW4=3V>^}+ffzF2Qv{p!YcAJRYSZ>XIhc>H(j&xh#0m#rNW6FZo& zPVO30ZTXgz6unbFPJ~*xvEL81oYc0nM*nyG_vEobKM+!O@t1GZNp2hVvE{O|aUYgr z)JaY+7+owMQ?N}H`*>O+q-0gf1R0ljCXdL+N*oS1R~T3ABEg;<+39al{YxuzskI=|AniBVJg)B#Iy6 zO7Z*0{CBJm*3aou`NewE`u$`6JJtv57qLsNAJ$vf{{8{~9qWVjbJO}^y`g^pr2mff z!TLq-R`J7n>+t&r{CBJm*3U}&C9Joue*b{~j`hL%VZVa)*46Ky@ZV`XA$b42Zfq?1 z?qX`pw<9K)UL`_;VSK@T!KTK3KUn*4>02MoRN_8t`7r;E3)K7HIREaZ@g4V(!f_BM zgm^*n7^5F+^kx0!BLa~6vSIfdb%NE$vW#|EuD^V=!_=RizkIaA)SsS`A5XO)C95tE zcCmRxRu+=R+kuyTG@xUcf2W+KCn``Ldwkr+R4p*2zt+;~_sddR&VR+;lnDzhC7YH5`yoQX|kH38O2)=CC{UEbC ztZdwec1E4#^n%gF@-YS5RI!hzB|=J8rA&}i19i0?If}+tpJ)j?-rfgCED+^^WNgJ5-1o7=>*i zwbJXPpoqO{drN7V#`c-g@>0v*dhh?|J$(|rr$5Ks)6?5VKhWTKW*pP}<+H{3vSIgw z%<8bRaUa?lb&}HyMibv3aUAM|{Slmp@f;uz&I9i0vA=>m z)PsGBFF@PoQ|}AV=kr7L1;TMx{~h5g`m6uAFOZMl)2m~cukjMDSXhkvjN3*X<9_3| zQ6IKp@u%l6U$xSH{ptD3*DO`ZpPrH*PqiT>t1b_Av3W#R7Lxk$1<3Ay#1|;XeF2pk z^%uul?B|jjYgxOL%GP~qzltfAhvOq|WBpJsx%&N6zJM~0({}Z=j^j=0k>@|iAG6^5 zTJ;HmMlO+4Uulzi6|0u7RJHOeVF=XUAO}pK?akM*L&>x5R^KPI)_TKhPCU8ttnt*Y zd3;cISf=xrSdZP4|Ih;G2kiyc+^}I-toPOPW=|PZ*zNz1GModRcNW;-i-Lglfj8gb z;uj7WuCk5g!m*O$+v%g78_P(|?Z4~X+4D9&gA4nH5>Se!1xa1jlkNJpy*V1ni}R})cRo>sD7yDuYPb|;d~!*eP*no zJ_Y>ZNEVLs<&`;8y-ql`&@aKVp&pG35Py#PEATuAT%(O&eqWy4twEynAW~YG^Io1y z?^uMNr=OKi7Ved}cVIuMbCZ^ZGDTX1&A*j&z4Ovna-%&Hq+Jp6(kTv$@R2wqasR`L za^{kKq)c~v-&r-%B4pfGPM-Eh-NYpycbDF~vo+6cQr_LU%f%`sm&kdqR+OG;S8Mw! z(IS*=`K6eBNlAIay|U8wxNq)lu3-@lN6(f|j@Tn_xmsR2d~52Ado?XW?UnPy8x2JH zQ2xe}qeJ~4+jX!ABl8w>bvXQz7uSB}$B$See z9vCbg8k0TiH#x{tYdu_jMdE+ne@~*56yRw@aKw zcy3WcSN&RbZFw?glUlx?rkVY*McC!8ARhUnn%r=2H|a)|oj;x)U=eQC>Fk>D$Hc@k z*IG!Ur!0GA({C2x_3bh8spVU3^0#ZG*Iv)E`qx)1Lfu}kxsDz=F1LAQywvBLTq{~P zvk22at00dpc~CA^{Z%RcyUlYe)UgPQ^R|^=8r4WVdTNuD>1g316UZ?hzq3_7_)}WZ zQF^5`dP}D0t7%Ai?c3U>{pggZ_30tSX1V@FwOEUgt^0X-VWyYmbS?TwyIbTwKEJI+ zc=@ZU;>USDkYAeCTq;`OgLTc@ScDoTdpZ#NciAz1yiv!g3(#wm&4 zmyeZ7O>0^0M0Sf{Yn9EFbI3w@<>rafv+YN1ELGVe%v*9!d|c~g`9y|n(w?`icj~@q z5h|2DC>Gf_S?8m{CJerg|EM98S%=TfXY|@a}12tlwvj}U}lyRMiuP1J7 zyhLhR@YQ2S1`-U$_DsAmYMm?%Z7FTMfBb__TUmtTm!^wJe;t!2BxRMx)<3-Pxk479 zz>Mmy_GJ!=)gG;u`mL}WzEvY())(VQdoF$Rlw5HBNZa8% zE2U>voGMkJu|>#KFN>?hwBz!#jt^{?F78{HzOF_1F0aj1u=z`3{zCJmbQ7{ae5<%c zIFspr^4Lx#5=&3o8Hqtj8Un`F||3=LkGnPwbrFt`7`3MJTs9+Lq(NS^3z^a?+#hLuTKuZ4vSpkG7r8*FN#XEq$b4vku9bk#KZ9 zuA;c0_%T_iG0XOX?U@fAd`0@=F%4W}Yhi_kQ0 z@5G12$0YtyxR2EB-jbY0NgI#s^M)((t?BZOH{X^1nA!AF4)Q^!8>1H{uIaVgc4|p` zY243ojrT=agq$VHx)Riv}K;$bU+iS z@co$|9wggSL%aalbE+t31gniSHlz%<;e?tnXCBwf#^==|ZIhse7I0 z`y3|yfiz{F9RFKk(e~VGsodV;16Eor!ps#`*MuKe%B8;_BK3K*;f5XsEyAbci@SD~ z|3)tLYn)`0o|}7t^v~N`os^4J9%lQX>^!N_w_gptb;%+Oi_YLmQ}`?S+=b2JxU0kG z6#v2^6t3WwA4;9Y+EuejpIm%%c(q&>p+&a06YCyH>l(j0tF-IE)G39?d2E|~Li}U- zY`H{*Wn$HK+g4>K*Fv?Ar-}n77qCsA)le$ayh{1++F68&@-o>ScSb&3!)=pq-w*$Juw5hJ|@i(H&&Y` z&l@z}cG)&;$AHzO&OdJ#kHw6UEhk@=mi1YBqGJ_{(EP3U>*tYqoaP>#TdQfsA?IHB4NUCY>vB zODl23gGLj#k@50IxsJApJuR*eX1^{Td*QQ5WzJfJ%VXQSa`h}HC+06NjTl$#?%JEA zyf-tu3T2!xf4l!j+oV-pE=Vmb!lFX6~5Iev`Mg>?Cge^7T1I2}i=z z%&rmcMKwRUJ4u=%#JzLB0O6xucUQ*=mE<~yno2Xq?D?z4EsL=Bi|1W?_stM9e>`9M zWwiL$pQLTP8PU>}u~-LLSW!V*Tiuqc(sYZE_V!0&-8rAg&efuL)=_rJp^Idk-f>K< zFl2#T@Vyq|SJm21@A(7avejw1=Da0x&PyHqOEc882p=q%CiiTaPaOZ*1}W=_{zW#B@#Bw*>0Emj z&62BS>nLtr{>l0`uUdp-osY}WFC@wZzi%wIIx0`9L9T@}12c%NUGehfLXpzWlGWUB zy;W}Kk`MefSWb7VgY@&W_AL*|HSO4z-L-1yczHzi8Pe4HU++KM(IWhk=RxA)Ztsc% z?{ARCb&F{}ESp8R7}?JC)}zIV^{1DUwoWJ+;do>bUh7fEBWA{Vpb3zM6B()o~x|fV)LhB&1Ly+4O(Xr zzB!-8b>iIg#Q3ZA#a&Y>W;lL;jQc-VmLF$YWUINftyJsh{PiyMu?X#pyzE*!qq2DK z@+9d@rcbJto@xI2qv88_`zFF0HTcdIrUGl}HV&g*X#=l6enFD*%N^AFxm1hlYAYN}fXLU(3 z{@yEC%Qp6|#kKxiR_TrBX1+J8l0`V$=?w9s_RHzhEf*(Wf6Lj2w5!C7bL8F|56U)a znK^jWvNIeU=4E>}jEBi(1VN4Yvk&!nl^|MNPey#1BMZ-1^LZYfYs zDqpH&KL_a#e!6OrY%NB~)5pvfM>VVX$xBr&LcL?vT?dBD7G2_EDbx6kIaZSM*tzel zJS=Z{n`=^cXb6*STx+9eKlp@rn6nPLQsSp7KYDzsS8oTs>E# z4+_|BzujBGy+jznh}ien+^+;b==>xf3^Y?Abdn}MXthDC0Ws@z!!pr65 zAKq^#_H0sK8vfvXpLIm9%l3Az+aq?#FCTteDz*!@+v zScDJP7j+G(m0dh{cB)inWbr4C?+AX^O1d05=E-FXtrVkn{jq)GT5>PcKE111&AMWd z&ez0(N$p15C4EHWR_Ek?Lr%&E&z})9{5E||Ptqn=*QqL7^Jj1^*mh2wy8orAnMq%_ zFH>ydhDTXkqa!YgLmwWDA471y_v%dBd)KV4qph!s%L=W1H&a%Nu+q}P_4xM4#7nuH zl5Ng2mF5y$%FHk6no#R2x!7m_6K!8NowMh(MX33w)ivq#2|44wOXA&o8ONO>ZTFQH z`CZ>Xw_9F!qpGdxqCXSgC`sCGTv^wlF-ydrUoDre7nKjKhCU)|0oT~Ojl}!C=1BI@ z4S!xp>Q}B>K39PWyTrYB7fW%Yt7jaO$s!EiT+-F^&BO8%;(O0LI%!h##}=V$o*(5Y zb+XGpOpcdw4W9esZF0Xg{uT7(+2PstOyo|dN&-y+wOU*q4;ZV|e>XUpZX zpO-%(_ZlBxa!*{EpWF)-FC`ut-YD^ZN4rT6U(J={XVPb{I5JJHo7hZz?vrxT%-dIE zs)}Sh`sfw$^Qu3}dFo}8u9V+2qi!jJ^SG9YueB;9zV*-{ef(#9)XgRqA?v9p^4@~y zcK)$_vD9r-vBThVorrqV^;Z9x@{W%Eq~FJU{X-#AzxoAAx{lY|FQ?mAQOa{~=eVP! zZLD8zhbWTUtX1k z1LWR7d~N2QI~Jkk*oX3#Oq+LJoIXbSy6f&%mj!a%e3@K7Zz*g0_F{~bvCPjguafKS zv(NI#!=}ZHi+*`MK%x*9~%sH<~P#N?P}}X}6q=9~(2f7QVPiZn4HD z^^eFq`B^glPOW@Xb}v3#b8gis((*cmTi)DC{KUSEQBuNh!^=`Y3_}Nb~ zySg4bB$FwNjXCekTm9;XWIiIYk?rx_qe|Y8tRuHu=MjJC@CkWy#RE#-b$*rV(>>EO2vDf<*p z88Q4vxGqOcEFpH?A1^NbCaZM5;?0=f$hDC5y^UhW+8gC`-9w>v3vr$xxotdh9$(+A{!VTJgL%{gN)xu)NFevWvJjB%xltr7<{t+TlP zT{8A`+AO{`b%Q)OahbThP4x04(ic~F?-}WTB}&LWGcOnW_8Rs>J%>g3ZQeX_(hN~d z+vltp+xnTV9nzD&u26MXe2a(TU+F)QCeD~5b^MKtACn8YN^dSB3%`yMZ*9-~Lz($x ztjJl<^+~#U@~``Eh&?~(w{<_c_Dc*9#LL_E+7b@7kzOrQxY@5=$hc5{u6XtFNqP8% zi=wMZ+eI76HNC*TMJ&*Li+q0SInmiAaZUC##3$@~MC|bFEV<&r3u5em{$Eul*Ll{L zu823Um6HeTz9`lmIsb>6{D_d-)N@1pnMK-N8|d^ z$Uk#*D^J>Fk*2xi+;`s=vt0jJYM1Uo@79F#n{QPW6ASf&ccC_>FL5GY8>dCsJ}R%+ z`0czRa$SCZO0?E4BMF=xC#SsH-;)MH4Y>yk{Z1IS+jmE1oO3(i~ATeHCAx`Sn zrbJP~Z_)4m60L8nty$e(TddGJ-5XU%oBTajX6a0eE{W+Dy(YGME3Wt#B(LpXN5v~e zhuU(y(nQ=@dD5WgNV~d}`$bpPk*V?Ot0_gd~n^I;2y+ zv*emdGfk{NvXVINqf5qO0(J~j){L)ynA@L?UU>~2M+(5^oiFByBzb=DjW^p=%|&JU=Wv(B#v#} zKCx^1&Em1Bj>X24`+y4Nrps@(o+v)|)neOA=VuR}PTEWQVTHs@53`FmGBuD27XP+e z6M{kUkxRsPE0+;l4q7g5Yd`Z1`95i<8IFk`bn0ZA(`l)Apu;mAXAyt*a?U@+z3+{w z8DDOi*r3Jx9S)Wv^M6@7xISrmT;486NweoTcHSam(X&&aWXG3w}Pu%+gsw~;p?UGbwB)iP-ili(WAQSaFHA0 zFAF}EmdV%7^ot_nuXB#rDRxBS+l8A*SK4jM`V5(8c+kV<+UA%kPWottbY#`E?@qQM zKFy~5uG-TIC~dOYhr7RbJKP^n<~&;LE8uFpGn4$lHqsWm_>=v;s}sMe zL{8U^Z^tBd{P32o+q?m3>JaR|PU+R{pk83xQe!A`K|2cW%`9gekdG3by#oIk=i{JiG zbHo609o71#q-#yP-nMM>62yI5^1N1t+$VRtTFLc!LYKtX&&(4)Szj=JEiyJfs?k6$ zk$t_Gx9@Us&xP$n>)jytja8<~Zqn7sdfEQc;_B1m z#CMl85Es;F(Z4(NO;$PaliSs>Fg!mhkEdzXlL;joj~*6(U7Gku&`^w=3&!+bLals{k*vTw;G z*4{8gOvv}Et#8Hn-hYw2v?Jqft}S!Korhl+Clxp{^zr{JLZLQMiKiYf7N@^kM||U% zNyA5-CwJ3lBGmBM!%RUPs2aZq=LG_E-8)TsQrk_-ygJ!%q=DX52m~cdOP& zY%$}!`0SC51HZdY`m37@$r~pBmPyVfeme0UZ1IOMEV555>Kw*#JI#! zRnF@2%9DGh!>jM>@~(6{DGxgpsmsfmiTF+1TPH&QGA#X1PYRLp@?KjY?_6(Dj*G`w zHMOCw&$t$f9_GDMX+UCurX6*8({>z{)2$ew%WH9@y!>6yp}M^2V;No5%5~D^9k{YU zPCQygmv_60C}u5FUxxbi$g%NJy)mR8n%U5HZ*K)959`u;;!VJM(S60S81Id)MfnKa=N_qOEb9^#Sy=W90SX1Jh7o|U;SCSycv}TBrY2;TbFl( z)cN&{({*`pj7#VBdRvMemHSoD=hYjZO+1x$pJIEXOycfJi%1_~%jo)Wh+c0`*P^cM zR~siveMX9Vwz{65Ncs|Y{N%*BMZQsNFFtv&?n`p5PXA_sY%P3B$-De;N5aV!#P3{M zUS6F0ypq@Y*RyNSEhDz1&Zl3~<1#1isQk&FH55I>U}L|LVwu}++tD(0r90Be7VBQO z2uBvyk_%ocCAMn3K`Qc^S7?DF6hG2+Zdo266rf4|g)jF;cXRg@nVFDq{N z>LaOt+~FS3>}N{SG)Y`hV#(MGDCXDqmk3qmGr}|JxWJ$VuhWBtH+8|0Hr@D$gSF`(%Y<5y*s=RDPMHZKw?85SNK8MTHjRw;huo zLGwYs2a{io(eFp|p`QJzOde+xVyRq{=+>k9aPFkJk)^26h5RMNsCbV50d`H$RvD6mZAdi zTb1U6EK(WT+7v1$k#r)Jq0HB)yo03JHlPf!fihnrWf!C6L;Z=%t>j-Jzg4MRfuzVa z@YRc~VB3fM_N6kJ@)Ja=5B0A_WzZSG=+vS4P&f6<-9?2GMBYGkh|B6}4`kZj!#l|B z6x$+7`<+bn;au?C;aD@6d~5@tgKYqcSVDE+T$WK8@|RN?^093cAv=h>O%@e@z!7Aq z|JPK8-A5StD3#%QJxk>YB*nJTfXL@*KFHrtxhzS)rSeUZW}(N0_cNcT`5?bUWw3of zWoUzVENDCFsBJbPSE4##`wEpCk#rrE^Ag>BRKGsSYfSS&{|zcvBKs>dW#aV?O4pC;5?zuAiu!KFdkrj0V+d1kr&_=t~bzuYnM!4 zDe^t?TZYO7iQEygi4L@Vy!Jr{xP*LYpWQ&DSLC7!#;;Mi9Lax{%F!gnHVOPo zWQFsEV{NALrzG7;WjGfXl^>Hd6D>z3@)tB8u-Zpu$Ui`3sCzvsL*5}qK0)QSB*nfZ zJ(0hq`A}yV51?*^$Zshs!+8EOt-}+@V`K}JCz9+mR0b^5Q#l=xv7P52GPZN*tH?AA zS&EXklLdj?HYzgI0ow-HHim4X1GY`541GSd56CZ0Qm7xwa6N{dXnuP_jZkw8<4zhJFH%1#SEtnh*GlqB7JC+Z%B^g~>F34oT-S@_Z_H zCF%QAhCaB5QlBCMLq6aF`OvPg{Xl*h z$R_#Fp0WJ^Za7Z8N#t1AM|2vH@_=L1XWK>{$R;|#1&%==V;@+P$gh(XbYMT`=OH=J z4j>=K9P}rlo;_*4MDp=mVn|*b&4+7t9F;*I`zUA&*e^jJ(}t|jS3v$W5XrG1pWMcf zrHBAH)B};^L;2V?Kp)!%aMYFRmm~6GvVuP7E~PS@$1*BIJ6%I%C|RRwMU^i~T0x!Y?GfEo)gILSSr6rba3ng8SjsP z!$M>m^ljv~1&Bock^EMq`EZUsA)Dkwec;{$!}PnpHq1w zNw-lM%5gFId#DW8CAM2A^DCMUZ4<^bs9S6Ddzj`!|8YW*iwJPs3p9ThNv~146S2cF z^g79db^vvLmi*#%osq~dKsL#Ta8^zB>|+XG!>B&Iw&AbKtUxy=q1v`O28HySW&QHN9?^pXcknk7wm|rSf0=4 zv$uW!cki6t$&!R5oA{Ktdh(w+cgmTWf6BdkcOV{l{-D1Mw1C&b$)NCuzaj+rXuzF2(#JUaXVMRII^~X* zkPrM~%%Ec*iz=PCZJeDt8V~V-wkA%7t`865qy_P9{W?fC+w&0rLKpvh;T)&K<+)C$ zZOw-xr7v)HbmJ0uyR(z$9iD!#(;pH(?DWe${Tb`o%sd*Mg4s# z(9;6lc!fXj2X;O8P#wd)Vp{M#iS{Ke-1xWCGlaV<9`;n>fll8+mPVLm|5ShfaQd@C z>-Wc{+xjv>y6sCz%Qz%0c6)}_PI_m|vcsvaPVX+XF>{$wJWBC(* zx{E`-PIWqS)v*%%VJzA_kNpJCZhKDZI4ZD*+_rrt{Jl$J{=Dh*9fVIh9Uif+5C^`j zaytINC$qocbn=8Z*wI7&)J|zHeH~`m-_zd@oL*VDqtibYZge_v2opa|zS|!78d=~9 zcGA{%`t`yGosPYs(+3Id-sb@6wr>Gjx;T3XS#QW~k^b)N+KRTcam{nt+Rl#7y*lyH zS$oji>#xl}?B(qK1>N==#D^cm#|N83*zb3CcH(#SblbPEuGVsP>XI!XAN)Vp>Gue~ zaQcP9i=Ey|Xni+Kd5j41Nek{Fj2qa)c`_~N^RK*oY;M8l)y_U#XnT@(rGMz`%vt+d6wQ=~FPv-cdIC$@DHx?ie9tGcQqRd|)23F^m2QX4x0(uZ_o}rPEK?=jiX}PA8771y4)= zkF)P3Omq5y!mphErO^05p1V39(2WDk6BeI*j1QE{{EiRX3z<96Bl z9AIs-`wP-if8vn8aR9q<08ZJM1&t5%1N}`}@;gd`PX6po(Rb3{fvD0u$o9L_DQmXV zSws2+@za7eg!@%mjJ~ZH=;3pc92dWr@B*ik*7mWi4})D=#-i;p@ZotEpE++gr#~uu z%;_D3#wF}aot?6lJDvWqeiaX#K za=*YV`vm3D)aCP|EWbKC<=Xhg9(8u&+TI&`1(%k3SsT`q&b&tc@9VE|uetOiFw0Jy zHclt4ags4)dz+5Z8Mnm8=i{BeoyxQ^Nd2e-ao{s^1UmUxy{L=vg#2tg(w;Uijh3Dz zAuakzPG@YM?DPXvj;&3!zugm2ud`hod_KqNtf4k%vUb_Jz%HEBEP?|M|}RrGgHr~ga%wbQZh=kzf`cx-9Sw_yEo zzSY-N<}%{!AX`;uN4GU)M_skPYb^aJqAUJ``rFFsl-tGWj|;22eA-E`=Iq}K*&{MG z(}Yc29QOWpPuf*__rRVOtnEj-IK7o>CP`Ip3;oSTmCk;rw~J34>o4rwi&9og{iRKb zKUaS*aXS5fnbR5f<{Rt6#m>IBaFNp^LTd-|q5kAadw%Nl!9wfD>!iQr?1u*wn7vusgkM^6dtwS)Yan@G#^8Qb?Zlm*^kkI2q_ zJNiEQYyC)FjL*cW<>KH&1E&v>P8~?gzT3tf@tH#{&q=6?1NUrvk#03+*=Ojl^&|ao zDP|Yn`XW^pi$6knj|}opOQBz$ln|djO+|IO#b<0j;Oyl8kkjGtF-|AWDyQEiw0hy& z3(o$QaEz3sGg_8m&d%J>!0G*kwtlsdey_7L4=r)}B4IdxrUlROvYkCw z7-X-q@WJNZzS7}0KH!UuFXoSJoIk^5KaMDh(@1}<@0i=n|8(g#*QH7)Y)MmjZLXjm zR_?W)JzY9{CI46T*X9TOw7QVDm4*JYg!mwSpwIGj?1Zsr$+wdv=o5v6(eatE=@w^} zET$8Ou%)f;bZ~>yLCbTp;#(Zr&*G#j4%f(scCfacDx2BSt&dJq9LtCLnxE7QpU8)L zo1e6e`9K?6xs+pVPJ0@c$lH9NEc1bM*3Ps&K2a7(JoFRw*VZ-WNz+rMTR!8Yzb7Gn zWBs*xub=eZm}Li#a5^x}m9?$(=}yNMs2cm&!Z@LBdl>dbhX#>q2grKBT!F2R)3Fhc za?!b;F};b?!QO$M7JG-x&JD76$f$2&pI%)jO-${QF+B6Y0s5EdGiMYQH@|C%=brHn zS(9dZhs>Rac9arve$NxaLnV92-yMX^AAKaWCvCL5@Knh*k~1aECH*Ug^Ua$==AOG0 zZ-3zhk{cxr72Z`yJ20=kEn(feMe$h!FBh_=ua)h3;b?`w5%OF!N60hIcZ8=1n@KK` z4u@`6ydlEXLgwbjh4@KY>T`y|a0D*nH~t?kq|6BtY}8fNPH88ZrTEo^ze_qxZdQE# zA3Sq=Q3&sDl(5gGZEn;>=JmBo$K1YH@}wkJ_Fzqr{Un8tQaDSPq42vx+yC6F@EC=s z3x5*+Tk(Ds;!C=8_F(@dEWA-jUM(f;@n}!l^+Vw)lFKCIOaA|oow@Zx<;%FQsLo=X z?JPV^;f=CWzxyPYOD@s1XM`(+luf;(!d{B^qp-KIf^3gVpDYaner&viy3odOua)EzU0)@9Oz9a{jIRfU zXDWQ1Fe1E2xV><`u)nTTzj+EblK!@&vE+Q&7*jh*Z!UR9vZun^DBhVu+M=f95lI8d z3#1qBAfbNLllsyROC*QtdPUj$2sMZ$xGXG;#2(8oQ5y(H&J-&WTL313o} z^z{Ayk~<~266Tj(g}VsrN_tAVNzPU}^5dQ!UX4%~UtX4efN(b<>EIWBHR{^i&}}cMwij_#x?;!uy0{gzy+X4|nm1PrB+t{Q6$; zJ`)}%*-<(^G1tzNFxQ?Yfd}n{cL*;MwiV72P8L2Tyi)kH5Uw&`U#~EI!uJ*@OZJ!S z>x6qB?6*m%kEWsEI`If&=lVIa(+6h@X@d=tp^`Tw%&q&V9NL6AoqEvDwD)Zi+JkyA zzkQ;3`wIUpd|kLf$b7g_$T+)D0xy>fNzdE{m$nyLn0ONupZkDsB?}ZjU&tIXPx!vD zpRSJ(E>yUx1P;=kv@7jF z-(3nXkxswACnR6;r<{5c)}Y@cEhUU0@?sumK7UkrqvSowi;^p4drf$e^2OhiB=8JA zkw5DQ@vab(&(4ZhTlj{gnuIpYki058^{qXBSVXBaE>hof`Z19FX1M?wsC;O3+Lgq#0N9L+~C9NfClJ9hl zGV$Xa<=0)voQyyC)lagA21IY+dAdGRc(-tdaIEA=#hWK29qGyETwx>OhZ3$6#{PjM zTXA1jn7&|4Fu#2yWPYC^Y#>=DX|M1)34UH8Y%hF3(m^s#=?@hCB55e0AL-9KB?n0! zl+cf_E8Y;{I^k`?EaCA&%6v@HR$8|Ui z3)w4NB^jc4T(2a=#}>MNxbPkczU(hvT%qgxNho`N3F+{a{K%K|wB0=t`YcCynDT+^ zHI;rl;c*Hx78p;Jg{iU+5Y|v!%4M$XCmb(4R=7~{n6uAPcu(OuLgr^|%;_B^*|Nba z`kFfJEP=Z%Bsof-3FM2=7jm43vzN(1!H=Y$4+ipPrEfV_kTq8Z%wh*2mqP`J=2lxta;XZYINXQ(qt>W*i@F$9Qns6J1s|&f`>7wfug!qf!`2W77v*bX9>&e_# z*i`tQY^+JMgl&b3Bu$=+A^lfuk15ruaYJ}QLA@Hs=W zK-bytv43W~Y$s&Q)|arZtx}lwUnbmE@vEyI(-q!FI8C^hkdM@0e{j90JtP|x=NchgzD#n8g#Noi`FtvTLDz2*;v3@wA83z@gm(zH z6&@x$N?Ro_eUk)!txeNq_ylj37ZP{ z64nr=2^%TiO~Mx>!@_04Wx`$MCtSKj;kJ@LBs~-!A?YGv zPG~3F_rmp($%@}eSW)Nc+oRB^k zB-~cv^Mv&2CP{UL>BAwyqZH?0;SoaGBo$>lRAJ_$Jr$-r%BB4OD$M-FJT+DNCBln^m4xI&e&oB8 z!e%m28kO=dk~INXVRVqGT79*GhP%(hU_P&62{j; z34Y-pe$G+4hlPy0tAtU>>5`u%v}FU?uMoZ}Iad03VLxGKVQ(R0aG>xJ32W3l3co3V z9784W9{xWroiVjZVR#7N;2qD&{wrh4cw?Dec`@QdM$@q@#p>qQ4l!X`lpd z=LqWw;SOW*ElD-Wn-couMqNKa_?QHL`$~>+Lc822p-%L{B*_;N+G(MrrQ-c2X(;(X z;Z8#K1?&&%3FphUPSRddSz+3?y{^3^WNrFLNLyEu&}XMgu9O@oIaY#S%av}NaHWuT zrakc!e}_p}S7?(bb^R@+d0jF>;ZG&>|KSqmo9kt#ZnOn_ffsEgZDnsIyj94)fc*h& zHAdk+LhfG~AB+>m%eA^rKQp!&r|(OsH}$6-evvSrHdZ{^i~9)1R5hiC@9>`Xqa75EJuoW{1FgmD13 zACMd@`(wfbBm<-`RKD~Z{YTm*Lb%NSrk>&)BW&a1UM;LCIZN`RggwXMx=tUq5Yitt zWG7$tN!v@O?fVJGN@hr&P(1bqaDco%k+7c5lD(bqVcFqXGa+?jf3cHrl!P(7o1~9q zXGw3#1-gE=aDilh2|mu0oG1HoVS8aO;ZR{)lEu% zCB^+tGE#DY!Vw|Y8VEm?ydj~l50%uFJTAFG*Y}p(BK=v(NlN#=aGq>O3NH}eDx8ik zVa=H?+rHu*{^2M7vd*3$WKN~-?8jO6dr5jos>}ACg#9;rllx_BBD_V|RX9jeTQXna ze+##l>>~X;NoDD4gq?)!JJt)oR+u&%tMD(vlZC8rdrD^xGXAR|%KPK0)}kq`LHM*=ax8k@nnO0{0(~FemM< z>x_Tej`7o8c&DU_>=y}tlC7`s1_|Ty8rf;P?y|$BQzY*w+)x64_EUHt33=`-Sud$2 zxmD>R!kdJTD&CR8FN7byA>WRgbT+C@tyuZ zQaDUtgW2N6N94&lO!aPfv&q&x$E)#w(J7a%8g>M!%R+x66zSNufiN0XZ zmnP{gy|wUO3EcTm;iHAmOV&w$TG(E=PS`+lxOCbOjxU!~mJR;G<7b8J``{Nnx< zx{l8m3aKCUq`tcgnHTAks*(*pJ@C4yA!Yac3g?H$BWnp{a z53+R=z96|tvaQ0SB=l7y$p@0IlG+m1kmr;xLr5DPFJ$b{7wmI~3KvU8O72&fxrlX% zK4r`?uD6qIjAQV$%ztt zpTadst!={nNN3qe%lg$*m?ryd+2%`__b!#tehqbfFCqJF+MoOLQNoTw`ki%({-9sZ z5MCvrPcN1Xlfdzb!fho7N&Y42AQ_-^yXsm8;cmj)Wcx(2r^3ut!-XdcpO*}kte5Pm zcxMTzFTPX%?G*1s;Z3r4kn~ZwqQWn6U19c7ltXzb!p8(r$uh}K3d8L`B%35$2MJ#% z{Zru;O822~h7g{m%6^1|`3SwTY_tpf+eP@fWN*n}2}Nc|T1b{kSWi!rk$G`@h3Vsc z6kaS$myP~=Lt)n6t0Wa9dq~DePL&K(Jld7^Jw^h5o>YALda|z5_sq-Vgl!~aC1)z! zQpkFrE__FrDtu6QgOI!!hqo!rxMqCcEUYELXWDk45TCvfGCw^kOc%m;cs*2-B6(Br zzJ&SYXOtBL655+~k4hewF#mrm8{?00I6*jA$a*kVI9_3%J274uH;folL>IZeGt&4M{pDP>fOndhr zEFsPeNfpUV#p@!ZE+Y~fx)+P1pzKSG4D(O1${ za)D&3u2qseDV;WjSMY15q>W^Z>|KQa6@DZ+P4X|vRF(g=aEz|i5yIhngdYpP5HeQY z5t0|&IZ$|?aES0K;r^22CC4fs#@$S0_xmeMx{<5{dQ3nd%n&&9&e6`wwXoA*k-ke&MfBAxr%3w53S$%hKl9<)mz z>AOkBOXf>vOJ+%0OZHP7#{csY(w(pPv?1#%d{DAZ!Wf71X%gx|pU}75w{I_GzN6mMkACC({eHqlvK=M- zMnW3;^D*H>#akh~Te4J=t}y&O;M#-)WLPC8LyaM0lC(yGtJ^d`jVJLj1&E{O%;Ay_nPY5#Frp+*iTMM5Tt`YVZ z4%PJ?h0h8r3t4{}3ad(3;~!N#=KfsaIN@^P3BuPU!zC*e{#^0)7S0j=Dmh)kTy>xD zBS}38V`OIu*A9@ptm{pMeU%Q5+#tkH{K2oz!rg?dt8WUID%?cKTyn6G`vvB%_odgB z9Hw|VLgqraaK41S#B;(!h3`se&o?BsCC4fLc0!&rc2b;^6=qC!6H;&LPdhO09HMy7 zN{6rTcA;>J4e4?G`N6OEZ(2nd!@B@FCUzk$|N?4nE3z;vD7BcUU z2ECS$w%Jwqvg}fWd!8GGZ%c9|ugH$i+_y9pzADU+{aGRXaJzKoh^G{W7qcbI3GBl< z>e?V7?Xps`i{vHAIg(MbA0m8Qc$W~atd`uR@GHVEgtrMRtDoix*DHLD@CD`lscC;q#_A;Q~*tAw8@T`M8azZiFnzwL$i`nvEV#iLy2LB{$9A^BY; zOcm~`ba1eOaH?=8;Vjv|)pgbh){B>g{}qnZbvTA^w@CJuzL%3p3STVYx%pJ#1472{ z=fZu3+bZ9Qipz5vIP;m1`Q~%!tar?f9}8CtHwx2qoi%?L-Q9iG9rTEebE_zbV%_XCnwCG0zQ)HS$QRrrR&j6KTUR`Op- z3th{Q=u*(fwS@3FTbLsw{r0}FhLCj*KER7v!k>k->yN^dgg*&8$o?`R30g!KFGLiRO$k9(SMN8v0X{Y}5~y$bn~KYV}}Tql3Z;rkzWR#mt`7!lI0@Q&~w zLh496W9K^UyiRs_440rc)x`GG<%Elq{D*~g>bZ)>>U(tFa1o( zHVW@4oFc3uoF?2)I8HKLLK!oJcgsFgc(nw6-X(im3C|~|3;CXVTiI7gdPx3|P5%eq zt4))#qx8O#*Obq7LgHZOdvVgk3Ao=?LOkNL9^E5h{4oye2;Y=2CRnFpXCk|Q|NCI& zEpu>RDJbw0`#np6F$%vBS$@u#jWmY);79%4#X)C3Qg;02qw48XF+kb}eS7^idu30r zD&68#^K|AIiw}1#4!kvcO;4}o>FgmaKI^5$Z|vEdc=qO=eyFD(?!{*wvpm~-aXNWA z{b+I6&zXL-7l(c}e~$6uu%1}_9ahYwbHJ_|klW-rd|o_(>W-|gx5dHRE%{)lw* znYr4^TI$(Xc>2>`9QGI%{{>Hf(bJiKE&n$>JM){_-}CGrdin-04*L{~|AnW2?Zy9( zr+??^>>Vv~Vfs$eEg$9?(|7mcRQL26UL2n1So~U^et@Uf z_w+`devowYp_ykt#M9Z!SpG+NI`gpE+e^26I(v532#dpW5z~8l@%wuE058t5o<79W zPxRumHd&tR=S*j>W%_teXYDsT>z?VX3FiMPo_>a>&+_zhJpFu6XJ2LcTUj{SHsR+tcs&^oONeT^{r7OFVtKr$6QCt37>A)4%fcZ#?}wPyfl&fAe%UlIFv<(yhMRd-f`xzO$$A=IPv%SU&rDdQDHS?dkPA zy^*K0?pr?1J^e6GKf=@5qgwoqp5E2dxqq`bM@zRl_Vw(1S7C9uPd5DoPao##JUg*C zV?BMMr%(3u>7IV7r=RKRvpxM>Prty^=Xm;Mo<7gh7kK*ho_>?3-{$FyJ^da}f56ip z@$@G=J=fD$dipb-{=BDiZ(;4v{k7?@dvVzJTibFEWBPhe-zeSEe&*S~^z2`I_HRA? z2T%XS)Bo^v?j@{T?q5vj9>jF+FHC2zZ#vK8^uIn8gFUm^d4I)pzH>1B08ek==?8jx zQ%^s{(+~IbHlE(z(>r^5cTex>>3ux?7*9Xe(~tM`3{TJW^f8`3!P8Ij^l6@cil?99 z>9aij98W*r(=Yb)OFjKcPoMAU*LnJlo_?#R-{I+Zd;0yJ{;;P%?&(WCeTAn#?di{X z`dUwa#na#L^tV0zeNX?$(?9X_&prKLp8g+C|K8Jo_VnL9y@JST{H)~ZJ9v6kPp{_b zdwBZZp1z-_r+NATp5DOI5A^h=o_>g@AMWXGJiWcAclPw|p5D{b`*`{>($y5f_#Ncg zhj{u>FV1k!KFZU_dHN(zpW^8!d-`dfKGW0B^7QjO{X$Ql>*<$!`c=}cE(<*S^`3r{ zr{Cu3i#`1wPk+GEAMx}jJU!RbS9!qdO@ z^lv@=2T%XS)Bo`Fik0GHVLMN+?CCps`mUb7r>F1Z>HB+nEl;oO=?y*oAWv`R>4!?U z{yp5YxAFA$p5EEhyL)<1>6TA#&)(nD2YLDsPao>(BRqYyr;qpaEKi^6=`%e2bm`{L zOwWFnXFu1|&-e6;JbkWob!9M?FZb;8Jbk{WU+cwR=;^n3ac=kY#a^6yJp28g{bA4k zm}g(&*_V0tRi6DBPk+vfv)0pJ@$@%5{cY*ihVOay^`5@bi}RUh|I*X{?Zx@l)4%uP z{Os9(^Yo~vSKKb{PbE)}czP92-^tUfdHU|2zL#|C-+ev3rWdD{XRqt&4L$uJPjBYw zhkAM|PjBn#9X!2fXMN|Shk}vOACBg^Viz$_w_8R2^z7X9u!EZ&*1W|*O*mGkR6n07 zx17~$1HVc&;}T>R84^BsjXXCg&-2%!W|iZf6B9qW6@91=d_nXWdb3aDhp@f;Dig^M z{~dMeVD;wvf`2|?3q*e0yuZt;e<`u7@=nZ`vI^_(oP2nmm`7=b|E#+E^^Ooo_@pb` zI>F`#sq^Zc8ZAw4vXRICDc4`#vh6-s?$9TJ+IF?zMe}t@8QpQbuuNpW3x6pfBtJ=yT9Rp^RRvM`}J+Ex&QgV7VUM^ zHQ1^@@p7Akr(GS`hK!o^5VqA%ZPWJ7XJ!Ys+b8e)EVi#+s@it?{!Ihhfv3LnHnyL3 zt=x89pA(j#A2+kff5FsGes8nO;KfIvZnj?06>*ip}nSI7SdtJdataJ0j}@UvdyWrFAnryIyd5#f|TracRtx_mwN+S!=F}Yx2t#Mp0B?2l;MvC zw$(4z<15*em)*Y=kN(>&e;f;@Hd(#&hqlKD@qV7WDZqt;D&-!1M5jRi=)9(Ut)242 z#`d}Q4e1d0*C9K2JuGGQyC>w<*?DD9x0TuTz9nAofx~l;JGa?V^ii`1vDHoKHeqn? z_9s3b*s5R9oUb`kzImu`Zk4m%32Z0M+2d(!Usg`f?bz>|z&7*p8bQ9<9P(6JHB#KP>Fb*SRUFXKtJO>m_#vwz*ei z1@m;)+)tK{?KL2~Iu)Viz)kNZ@d_8ID>+7!x%I$pah4nD?KKAvct6NuGf}WAx@(1ve zHI;G~el;<$t;v3oud!3IyERx^=dc+;ej6Um9fNIsyWvYu-8nt5wY~oOpq*1+xnb$z z%sm5JlZ(zglz8_Y`NGm6?XM2XZ902SP~ZFRt&*F57TY)zjScmOZA!WeuFJ@cGKJz%Wezu`zZTgJ7Md!TfN*jzdAiA_o$p+ z0f$~`k(Rqt_OpSl{^iGZBwp=EgWRU;{u|huUcLTEY%@9>kefYwP0-gBvw7>odtb-x z(`Zb8>U6M~)4}FWZy`Ly>0mHul|OixvxC8; zBs<&*28(pCm5T!}OlM$+JiRHvV8AIp7)-*_*~rt@w0UellrY}HehVVy`zQ8(TnW#6 zPR!K&u=`RQ_aT=OW5>fWKjNmOwAgdDZ!Qg=PfkA1UAXG!@psgz18sk*cJK9P^Y zdF0RNQ(8OOa*8?*D9d;r?kBLsKausNQ*UxCN}Y=8cTw^xEDruyy~8~cmiUJ;AMP1K z8~dd}@yo$pXXMCF+v*uw>jm@oZs+Ul8N=sn6;z#yd7iV81$Eq7KCJgSs*J5?a45g} zg?r@Et99gsaQ!s2oD<77|14f%{*~r)HuGmoh=2IxujkYulGY}R^*E$>L9U)(Yxv`2_V=gP0%Pbb+xsa^y(1zbOmm&u{l>_kAAu zR5x~J!;WpAN6^9#@vsoj|6n8D8uu(5ysB=ii>}g5hS}Dxxu_ksF>mwCyhl(jwlQz# zwGkhirLC;zX4w2Pu#wh$AwRQOJq#q&$tf8z(gTQobgWj*2<1ow~JJu|0<&l^JB z?8GrUeuwh}BiH8UP&Yeq!nUmyJntZVN=j-_P8cUOuuvX$@($yt2G2Nl2<)|j=NjSj zj8HdwMAyyEo-%y4Q7d?^5kAidb+Z%4?97efbA?*LGmh}tMyQ*eIA%vDJ${m37$-GI z8$L%#4e}1-rv~-#(}w*Vwomv>rB=}9VV<>uwAQxd7q&^QppDHR%C){=t_+{M)C!)t zgwI++-R#6MJ8fom_8j4}qFO;ahx2Z&pe-$aFh44u?bB>spdAYP95bM2Mpj`Fws0-+ z{*vbmVH@S2Fm``m!siTjUu(Hj?^F@h{5VDz*q>=X*0y=`DZw0_lCoTnO0u1vDhze@ zYZk|k@7u+nSbRU9`AWOStpS>^wEqj&gD_6IS5~O|dHQL?{QdaZL0Ugg-#6a}zbrq# zpTA$OpN}6WuMf0U=#QVLpHJR4NtM50d_PY=t?#GrzweK4-&_y#-#nlE>~VkmdinnN zy6=Op`*rbkKdrC(Wo@o!dwkfE?sGM+`|a=RzHh$n*TvWUw7%}wrJ(qJ{srlNo<-69 zvWlYneilV9$WP{twGtb1Fl!d; z2WuM7=eb5*NK1XtSyzZheA1y4kNBixZK2Mz2W4QxAD;1J=Q=i?{ac+u!q_RFJi}+x zVLMQlR0-t}hkR>FtPN?GGztFTBk@ut)&^38{KyyoiBn5rZ3+^`PXFO2{#u*T{t|uYyIuhzwSAs7GNa&XaE{vV)^(FKZWr2jTlb(DU zO6Wi9N5a@Chw>Up=y%!zB#fQ%D3|gm7hhxh0Qa2A_5o%6+})l#%Z1=W9jH%PeY!nz zX`c5}sduD;zRP#dzmHVGv<)Bnln-b+?QJ@KnoggaP9LBv+h7cs9e$gh>gjbnoj$fW zjXk}Ir?>F*mY&Y{J(f1z(>pmGf4X^k4^Qvy>HR&O_F-S-w;TDCmBhYx`6;>YUG#c$ zQ@L5HpU;)sBKO>=q#4(D-@82aVruw&rg8YaOU_ec!tYUr2b5(zXYEP+L_RK^dXsNq{@S&o`fc$`iuhyoW}Qv^q{?up zGvX6_)bTD1Q11O*E41U8O;cJT6&TDLwptq(Wf3vuj41(8hNX6;i(H zGo#&Ivh{szyY%q;hmb+KxA(r22;*TRUif`Rg_Ou!wS(_Lu<>08`C+sC!tW$1q}-?c ztz3(TjXK~<_?=Fix%YP6LB8NkXw!2E%`w=>u|mowz2l58BS(fln{Cd@Y0eg=ZCm-| zc4p(-4B}z4wBh$2aU1@a&z3f{;Z0aB`C$vcON#pv+9)Mn4?mvO7aOsNhmE!hZDCq# zzeJn$hxvDZ*I7aT(k@mvY}Qs*H{${Mna|khkI)vDYdlD_S-G?xK3loO!(ukd4Q*k( zfR{4(e9hZ3#QyU?_?4w%ZU6eGeXo>oe}NyI0~vAl?(&KCHr__HgJ%-qTv9uDe!?>b zo`$e)hw;*a=MLesh1$V$AD$f%2V~7gXa63~leL3qPvO07T5yj`Uc@0kp7EeF&xW7c z!E=uA*-P!9EXxO9LVH^9>?TZ`7CZw9_ffTj=MOv+Ay1yY@caawXDH#`x_0oK$l_C1 zo=FjhJ%s6`vp766BE9A5>sA)=iANmjYW`#6xfFJL-h@v3h4(n2J$!CaJ9tK9Z9=Lr zPFm2G<{QtE{66Bj5P5=@4@f-h4=TT}1=1JBE z);?QBk0N%%CAkT>l> z-I`1A3;(Q*$&b9L7e3(|zEUsRfW1fq3FXyx;rc?#CM|L7gRjIRKIsVa!5{o04SCZZ zv`ealcBIZ+OOxOi*YJb#$dCF`7JWk-&_1N0E^r24X-hc3b&zl)iPZ^T@PWAW1Ab5* zkoDXwPG9Uq-%#ePa8h!Xg!NEysPo zVo@4Op-sx_)9vof-#_InUi0Hf6-=A*p{**YpHKbo$%u@W*s`XgYaW{8VQr z&pMu7-|6H@pIch`#dP}6^p>99+SAiLy_2VRb2{br@bunZoc^9Z$crKe=Ac+d69dZL3dNp{@It ze=RBbjRU)$EatfPc`P6LrIQAr`N7_lF~`Tg6Vi+^6E@j*YFz6*v#D;GD(L){-SMcB16a_{H_d*52c#TzCW9F+^plU z`QM*)JL;@aW;379KlrWb*!=IsEI(|P-|Crzb?X@aev}fQpV>BMv;6wbObzPhe=lbF zVY7HA&b(H)OZnG#RF6UJrd~WNXqWB!b{Iyy!}n;_u3Pmp0^2J`)eP!U_469-4r&_y zreZ|ri^mafvF5m+F3Akyz1a4=N!Xh8f2r-DDg6UmTFb~3Y}G5=*tT=+@O}O1O{)fN zuwg}3+sA&cAH@5%;pH=kH}t5+ZR-x%Ik3H6=gL#D?S18!ZE~i4)|NK7q-K@Vv2_`8 zZJQ?h-5uDP)_5ndT{&k^o7<1i2yCD1H#M-Gqwi{OcHa%2+v2gQq=j2jQhd(k*Xxv5 z)*pPyQXvtyU;MMa4@}(8<412bg4w&vry3IOv3a(^ze)!3+ydR6@1Qex^IRkRm&@Wh zZOR&o9X-4+y*WVAV;7;_eecbIg=Y`g!HCmA;$i2xj0hj-ApV)1`)qW4G@bdJ=O@@f z?!VDNo&lkQ;oNp}fIPdw4swr<4)Qz*9pw25Iv76txH-V^nZV7#vjLvH5C^0!(P`)P z(rn*k^ErMN_DS}8t;D?XGiQxG@r=l;eEvFFQ3YDo=s8ni)<>N&lz(5dCpK& zifk3}B43uy{dQ6Bfr}EausE#yg zJHPuY*646A!_IZ{4`tYyGhB`9o|1?_vzmEer}z${hQUdtkCuamVYfN`Hd61o-D3@BfgIyFZ%5pq508G zI%Cp5W5({cWls212+mD5qs5D#6%c=xu=)AQJj3YG&dyx^Ze}xeMVKGIc_7czCbu~p z8}ZDxZ04`QGXk!gEi9!%;IrA*%-lPON4b~i92VlwKlRx-^oB4un+roS1CW_;? zPa?<3V@n^}GfR}FDr9!KTBHTgza{7khdS-%H{sm?zt(;?zt(`?D)T4VOtk%JTk8o_StIg zBi%m8>bSK5Bs1xxj5r*;L!soO&&j@FlvxI;)bJyPt+VLz4^HCzw8-`0`KEph^k9BhRJ+c<6&$8a zjG2G9SO0#aGe%@iPVF^mMCR1VnVI=VE6mCe&-e4Me658WBTqbgFZB(*!m0ixa;l(G zB2B{Q7?DFAz8S8U5r=-d;Dbg+d;el#j`z-u1J9xYp zZ||e0P0gA%wYZ}#h@Tp!wY-ai9mU!+l;96NApQ8(ecPEtnz?>z5n^%j%s=kDjwva~ zj*`_K^md!%@AnDTPx{-n5C2}c{!fV{v{R({9Zd&${oQZcA}qxXh^`6D?lJk=FR@e)5}disEgo-(5djzgt@4L!@2aejhMt z{Im%r@Ai~r)0=Jb8sohh6+%Lq| z0mld9hm{v`yvga3mmmGK$DcTA>S&8sTue57yu5H7h}_xf0rvax^}oybNg2G|P_j?t zIs5k{wr+k{J+E^72wThDN7k9zJ;o0=pCBtetPtik18bR zhVb8y{*Uycr%p-f(XYptiJASTo-#g(O>F_reqDgQ=w`-Ydb+DmyNdP0x)I(c$b|b& z?~`7mOZbd5ZX<4(KEG!}VLX?AJkj4+d(8b_$q?SLNLhG80sQEfF(GUGn2DoGTJ=gn z!tlGsFc0>RDJebmcc>aTr)K!PvXyMbY44uxJ58E8B~{Diq;aLq(0_-H7W=RJo`vsP z#7}tTODsFt!}F&DO97Ss$vu~hrOICk@+z$1BE8>_pM$BgY`(GlZN5o$`5RhqM0Q_V zr1x#emoMi1_ytrg|C;=DtV|Vpnx1l{XTj^>_O8ViEq~*U{y59Ru;l8<-gejq(6Lf4`BhGS(r7Niq zr+ImtCB3+xQ*%TKI-X}7;$H`D$0PwfBFpU*vICdTg>2LJL%Maxo0bFmAol~vhw>Z zmyzqmU4Qb+E74}_&+^0zUKqb9f4wAe{gtW2A1j-@DWkB@X}V}Wltw%FWuIMG!R}g3 zq3yrcOHbT?xoAa#;+Ach;zP3SP|~t}AI?yKzCe~s7(a|*=8;ws=5quc8`p@lTw>{p z(&ma@;HRCgESFe*MMct(wzNLv#T>;v$z08P!J37jW8)feO0!&LxAlH_E^xJ~XU`#8 zO0TfR>SiajFX04<6$DmzP~`D6ZBN#?inuV=>8%*kUi#{X#^;@>ywP~+2I={?H- zSR)k!%j!MKZBsHjrlkDVK9cU<)94mrH~0Req3>#bV|%o_?}JpE~F9J(rpPXeo0@Y=Hvz}Bv3_^s!}t&xn77}PeGf9(^j5dhe~)rr z$L7tC``h%pwL@_+*6*&Lt=}yl8}~WKwt|YJi(eIr)b}I+(O;uMTT0Q4$S}S;F3*WB`_5p6)w|#*1Lu~)kH}5`R zeXGQMK!+(KM)saOX5#QMS>rQ#K2fAkJVk1Uex14$DUBbA_ib0mu-W^zN4kB$bcZwY zqMt|6bbH^HHKXi)Pf^kP1!L$J<({fC=dFtG1BQ6>*Fs(Q*RjHD6Pp)Y``Ek?>5+FI z5b2+HUg(f9B{MaNS6Y)zZ?!7@_ibt4!#l1n2lE2=qE=6P-!}1GnHWDDA7cFI<;IWW zO-|pu{OC7r*py^`a+7R&fy3)hYN^L^j8OGdF5kJR?fo7e8R>4oy~zOB{M-nZ4y z7`%`7KDOgSj32!nKOAo&eG1}7YTt|zW2P1NNlcs{B};FWsF0GrZRzeS;78Sto7Qao z{9s>U^~}4k$mU(Uw)Ss(u|CG;5yy)dPrh|Las0_SxHVd(X5_oMrowdj~^`glp*N_m|La~}Qu;P`u@ z@xrzmjd=lnSUvr9rg`%R+uftHP@6ZOk{+8s93Nu*=~m@uR=vhs`6s@~$sEGpA;ZA3tVzJg?$u z$)=B&R{HzYkt0`j82wWDSYNE3TjYo1LyR8-96uaya(d+DN58Dh;nT)vl=!Em$)+z` ze$4BTQ%?9{^-SQ0dq=^WKO7%o{21i;Ve`ny+w*+?W&NAle@uxUkS3eHEcvl^P5%yy z$_YQLo(cSL&Fk^Q@gc^K;~YO6Z*oTEk_%Hlc5g84tU zUtLc4VfFO+5ql>`@9M<%r;ZOXehhK^uz6%mUVg+jr6t^gB%8i0`O&=jZtXXf6Mk4d zeSXB-*5ilcLyR9MIDRQI<4w+leE3n)&8a#!;71ba%a$LP$6R-QIKMrJ-M=_K#P~7V@x$hk$$9xv zqAy+Iotlzt`gm4u|50k^YNfVcF#n5{i^>TrZ<1e z;{A`cJzA`)f2lqHu#&bewC5jIPka9(Z!Nw3hvP$xA6bqcjyHMJ#ru~N$4YX*r}3kt z>Er&C{{CZakM66wl@oqgJ#GF7+tvMk)j!wM@gc^K$&Me6H}U=mwf5t)MrR}%ixEyX zeY~jBe?GRh#|f)OmlJ+iJ&hmX{=5jBb^LI=$(f#a|IusGwUh?d#F~=yzik}>w?+K^4#Y-Uc`7}zYDSXWJX?|#Ghl7 ztjCj0Z#5|ko{X$}_NqnYgeO+dBJ;%Y!gyl+5OMs;IVCSo`e#fWRl=Xj1z9JX-ux>Q zp4>KP)#`G>6RT&DdE$OgmdF$9kH~3xc~YVuw^?SwWYb$#rGMVIew&tkw)cCqt#{qw z%pCh2c7f-OyWdg9emCiOV!yMt^Gvu;N+&;ej!R+Z|8_{}pns3BnCJg`@wd(%F-Dgy z?y$oS>5)hzef#aV52S2M3v=IRpMA2MHf%fKU%hI8Ew&`Mf9M9 z4vN;RS1-E%{`&_$?7sW%fgd~WxMMc`QxZRR-F4UW9zA+Qd-m)Z2>Ovn9vSV{ty|zn zhYlTr_Mj~ieb{43#b2iT3T=H`=dXzW@mzee}_RFZe-wB>JF! z3i_f(jT%wfKy?VPxb4utfB)!!0Ry4~2M!Db{g`8p34FniUcGunk2>n8pkMHzO`A4R z`l4C0W&tm2)v6V(UcGuyK0eS6RjXFbE=oU8-(!zGHad9l;FuhD+;M>ofAE8L!3S%H z_U+pTd^q&bLxZsa7vLjpAPxn60XMhAN%@&hS;rrLeDuTK?fqm%Ep@9$Z1WsBTFh9Tp=7k0g8boW>tQqwEF1zd!_yG?J>jUzo>`|jeMaPaE z8=W+1QuO4LPmZ2>=9$r1vt~t4KmGLR$C%Wpbg+6zFMGy}8PW63J1;tK-n{5_*IgIA^2#ftvuDqao^;YlLEq31@Rd1&dBOUC zxskD0r%s(Cltg1^-Vf;r_Co!m=K*hb!t%O`Sa&T@4x^4=#x)A8NK)3d!v_M zetGoNQ%{YK9z8nXDLk+~U~XhA`W#?w@HxO5ksk*spFXGE>F?>&rw4Vv`R1FW%a<>Y zzVN~e(Irck1nn?$=FET>^Z{dm@)?Va12}NlVTVPVG-(pd$%z~+sC=zoLHWiv%0K6v zbD}rga6?e{r=EH$`p6@XL}`yR&Nw6R)5`DNyLXYw-_jUVKQ6QS!!yd6J9loBHdwrP zap21Z7hDjXHf>tK6XpqP|Dx0%{_nKYP6f^Z8p}cXj5D|o2jD&&yzs&cgZ4P(lvAQy zXD(olOdNysKkd&RfjPkX9}ciK=hydU)BK$cujm6f2oGon>Pvr2nKC6PoB4>gA2euC zz<=gq`0w+NHJN<@`x45A`@(#=XXS&+YZ>KJN6>_RVQex+n476P-1Fx^)`26AI3n1a zF#c-St{sej%BSrMoBPZM%^lg4ot2dpw1JgNooRC`o4JRvZ`@~Z!u-R2fOW88!-m29 z2j`HY)ZKhgpDtsrLzrur6Rh6M(X_kG|2Fqn+xugWzNc*FeapM3sJ>rz{q@%ea~|V> zexUx8Z*{jd*y>K(vln9SO-oA)+MfBhsAVR`JOBLimoe|%bI(1|IdkR&T*L?V2duwV zcbj)udu-m(UOC`iVxGkfYdy@?oU@F%Z{fm)QRY6@3HpHgv-a8kgSxXXXHU-BSKP7+ zi+|~*moB3{uDa@~U~XXiG4C<%;2m{m%&Xp89Akx*v!!dA&(qc4%QVj{(>k+E?Y*pi z{rbzauBC4&?LXK5dM#k*>E_fb>A&;Tb$o_?)s)P4Ck3_2x4Mwi*ZcR83W}Iu_y2t- z&Y#G8rfw{9JG9tucih8}$f@D?L>BAne9zOht1%4nD&#<|Sj0e4Sv=?AJYB0_;(4%^ zfb(EW^HaZH*q*B$THf~j$-?HJ#W(*F)4B6%|8M8%nm^{B`EPzZ|Lj=NKmR;k$EUy2 zdAk3#Mk)rD)p@$+LgaM!{p>v<=D7284J{t{cY1EgI10|ubM>=x^dhdFe!YDCuX2vw zHfrq^a%{76^v-nswbR#I=uo4;0A`+ozy>l0646 z+4SaDMR!hGPAUJp)th497g|YM7t-&nK~_(DzpcP?^c){z{Fv>=kK;{Z>%`BWNxV|D zaI)#+rIhyjOJUBD%gV?5k5PN4&4SeTd^jj2}6UAC5QiG@+L4Ie5vY zkNZ5jR;P~Nq6Yq~uvvbZ8?L`eIn?7Dn+3+K$obbcynZS?m zIe3aUe>gtG_;HcrhvQAWKSIs=x1>jnB%40&PucKeQ90p<)iZ$~u6aFvI6lPqF~{-4 z@h09Mp;offC*rvzn?9aX+3;giIpK%ZGl3tQ&mWEtF@9X)_~CdH?~hQ6ZA!PgbM(Uc zMJ_KV&&gap6Zqk}+nYZeA7cEt%<;qVrVxJUn1HS69KEon^~(uAte#ushvP$xA6Gbj zINl`kBiVECl1(4?r)<`j(dC36R?jW+!|@@;k9m$CjyLiC2(@I-!AmxM+@G@HNByhH z$NFOROyI}n`wz#57(cFd{BXR9_eZG3e&3sTp@`vR)5nV`8-8qhrFquInekG#HZAr& zuB&GPKU{Ua{fFa2j2{aeKOAoo+b7n)B|M}k+4OOL%7!2H-z*>euzLFZ$oCvQ$A=g{ zu66uyyovWmsFmnT7cY}!)5o)N{3x|^^unCGl@oqgJ&hmKKHqcn93Nu*xZd%@@h09M zq2`}+mUyiw;bhat%P5=qV{|#;ht<>gQQ$dxjt?<@EOh*EyovWmsQLX{k|ieD^l^X6 zh98T{2|ui!TjYo1LyR9cIes|a#QP)E?3}Yidr`y5rnhp+>iv(^<%AzrPkaBv+BHOP zf9m)Uw*dA=s8}*cw)Z`as2U9qQ{?Ol&r^-O>h2`6;HaA6P{Q-i_8h{3-o&^epGC z8)Ltdbia$V-$`1n?f0P;HXQn0b~W^VqccWiPVO~nMCQ@cre;l>YCrh3cw0h?pBg6L zQuNKP_tU%Tr_1_>Hc}tox^Fv^$bD|V^iYVKB`mgKp3YQ6c9g8{pkItg{(hg>?<8IO z*f@_oPKl5#_-G%S2)@9Rxsn7-zVhUz4l(d4}*FACJi5#IW=UW#oJmjzu#pS zrLM7lcl{jecQ-z4yd>r|VAA+$6H4CgDaoccf3~sT$ClH6w{|El#`@j$v-P{>Q_#5Y zG-gWHcn$aoB|JHO0_!?9zIJ1+Ycoh^3L-FHW?x$U;-T%9d=+PUXOGj!HjPn|8-qE)M9_)^;b zT%fbOmOk@LH22wOqf4HCI{MhkmC*;6E{)##@Was?@472`>9yBJXXu>CK|1TKi_RG9 zr1LFH!-po#nx#Mc(o50jUU?;u)i1vsefq^0qbqf`Bfj9r{W@>$cAYnQwaz@8sk07` z*O`0x&_U-r);i#T?2`J?tVN6T7vFp{`tn=_L)wkb{zW(mJ(bwO5FTmH{ zc_;dcZ05)Fuf7_6Ms2a;`R4;49?*Gjw8ND;^X-(g&yM!fS&y_qNqnH(w?6nFy6(dd z13`cD{r3YuUX>p&uUi+i1wPOpw8P`-i~AmbJmBV>tFMlZ(;1B2b>>}rwL#Dqb?asq zWsFeIx7V+azVp#XF(HgE`0<9?gE;id+SgwXc=6PlH31(US+*?T0W*;gG`)OQ)>&Hf)H#_wmP}NPib!WPjW9f&QT{-~$}Bet?gR(YXs2M91q4 z%5FOEwLNF8$_MyZSR0Jb%F3qP4>oR$$@|jZ#~1lQo6ru{7q7T}V0=6!J~Ad~gT)U$ z6rHc}aJtUn?5Fb&see)0fO=B)ho5|sN3g|wpf6lMz=b?*;COJacyNQxA3g7~%c3Xh zEXaLLX2DWv~DA)4YN|&If#?kKS^8v^HQ&uHwvB%}#{`?N9m5Tee(QQ2Er4@`JKf7UgYJ*`Iy+W%To}z6$&x4qRj` zz(dBOao`z^1LlH9SFDKMrL%7rXdJ@9-a7x%>R;0GH^~QliIp!7SozEaYcv-y4k`aJ z%766HV2wQU{PUx|b?&j%zpyd5=&rk##p+KxSR2p|6556K59+_A@>PGWB>oAJT?)4T++#ijZJ@etR<`SRYy14>AND0rYCmw_6Hi1J z-g#&AY@Nky^KU`Cw{m^F{mwg=!E=1@>uz(O&A)lt-Wz-L{na(bsjSFZgI;@j6Zqm)a<+Oy?5CLd{7(E_OEGw#2$z_hdpVq4_vh>dbj4B zYc=Ml>dal%y~Mnd3E!c)>Gs8om%+PW&2weLIojRU+(AQ!E=#7IEv02|I`7(RmtC=7 z!Lm!{&0BWGsZ;m^nVBNt33fUb*j- z012~&w~v-)SuEmPd9Q* z*q)0VS~>Ro$-+D@;=EsrZ~i5w`+uLOYyOyj=D+#V7NX5W1KTr2D z_r2p6A+C1k=^Fa3{+*s%GLC}tbY1=Id*XALo@?~Ni$!uBbsEs{MCH`(;&S6RL1zNs91Z^Rm8^|bfg3p`KP@gc^KTsM9kZ>&EI z2|ui!K0o4p?d?MxA7cD?%JIYTCY~nLl06SM+4OOL%4VNBx}2;p zR?jW+!|@@;k7pb|9B<));RJl%4_k43JY3H)%~?X5444>5i`@A%<(lgN)`&%;eNecYe2 znLk#S6Mk4d6Zogu^gemFkF`0=vihvQ8mKaxEUH`(-Yf68Wksb5a`VfEZ1 zKO7%o{CL&z!|^8GAEB1)dAP}@kNZKSq}mepo#d_~Dw@+kZGd#Q5>1u-ygx!M*1sh=>`+-Gn?CMO z+3+K$obbcy>GLDs^K=~_V*FU=_~CdH?~hO`(U&e>CdsCcXXW@&%IE1WDkuD~dKy1y z*L=^@b$p2N;~mEj$D4S6gqnZeY2vk_gp*AlFQaVckJaUbA68G}M}g<*IzGhs@t)&{ z<4wFjLe1~rk}NUFrjPqmHvHIBPWWN<+#)|5A7cFY!12TJCf*;Rmh5@B$)-1d%IZDC zMIV-r=O0#2d;i1QHAHWJ>i7`j$9l&P$D6$A%E5WMX_0dA{>LU)Pn$oC7XkX`={i2d z__4w9!|^7OAIYAFn{4{HKV`GNEUHsJ_+j-leiV3~uH!?D9~&J%9B<PuKAx#uNKph~tl+5#HL=FdOp=~_z^4`aWRbia$V-$`075%>E^3mg9B&(rRzm@m%bo2XNwzW-R$T$z)3w8Y*>vuOkB90GQqZ_h_B`BV)0=-~wg0PMuYBzPteyq$|7hv(xh3c6+Wb=BdAe>t zVCN`A+#Wp)IwP^C&Z%qHu3fZg)27k-_3KA#)Tprx zU+}3k{TVP|z_J-LW<*ap<&@}joe?^D^5p1*2@|53IyZLk;K9*eI(RX}G}@$Q&6??F>paMFb!ISvK3nJZo~bh`@dZD|jvX7#$jFHH>!b5q>5F>x>P6LlF&~Q44wSh- zXOUiW%{BjH@6Dqm&#v;o5MUF6284xi8VNZmEsjb`)m7DtQnFg^>aK1@q3Xq5Eh$CQ zgd#H|GeQ*^5giekmDwO8JjXL(``7~po5Tj2%_doF7J*5OJ$-DCaoQNXoS7lLfCryB zb8_bR53||njh^qj_kO>4@iHQ_s=K9`Ij6HvSNxXy-S^&o_uY5jeap}O=k+em$mMh9 z>s!9%TTB+rgXAz63|?;G47snv`K=$q8G6uFs{`eMb#W&;$#Q=8cYpWGe;H?y>VMvU z7tU<{PMjb89pCXCMII;z>cuzV{5tAq7iTA~uCBiP;SYb<>f!wP^Cko4fqHpXJ-qXs z?|hhPeed^v@5|qZ^9c1n@0l0Aqb!sM>IC)Szr&f8st4*L+vg3Or+okY_nZ9R_O`c~ zKAa^3w4+Zk%^$!yn12Olk?Mcm^ZEDSd`jhkbwPcgPO=_8^{G!4GFZVm!fX#8_`nBV ze%HI+^)l0!3{KMnmXT@x;1B-b%X@o!6aVuW^FdiK57YVSI4ws=+@ztsOvDA7A&SIZ+U4}`sB;9|23S4 z`C~Ybm}$L)vr&Hu=T-i%JWCvT_*tBl%sf&L*cND`QXQa8eBp%`tZ!gDqz^*f*;D><=k_>i?VH{N}0k&pLtr zTKcSirca&!ahwZFIq-j8v+UGAwpFE1`RC=Q9b|vR`e%R0_Q&68b+2cz8J|k^pZU=L zlndX{KFqQK(m&c^>L2@}_q^vl*8bQAXX&2O=dbF3>9MT*pXpNOOq+I)WoO;f4*yx4 z+nTpO`X=;~XoD|Zx>VSn(`=vekjj8*vrQ;%+9%mywms?|ZE$LTHgSG8`@yfp8P3

z?-iz3+Xm)j8Y0c;D&oXf%3>w&!o) zTxjY5Wk0R#?0?h;%l5MW```yZ`0~QSg4v!sO*5y1d| I3N4(^1BIWca(wp9+e&W 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

qaLiXSloOs^L(H5l`jhxq5=U4SemF(Ge+J*DZ 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 +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +# fmt: off +# pylint: skip-file + +import bpy +import ifcopenshell +import ifcopenshell.api +import blenderbim.tool as tool + + +class LibraryGenerator: + def generate(self): + ifcopenshell.api.pre_listeners = {} + ifcopenshell.api.post_listeners = {} + + self.materials = {} + + self.file = ifcopenshell.api.run("project.create_file") + self.project = ifcopenshell.api.run( + "root.create_entity", self.file, ifc_class="IfcProject", name="Australian Library" + ) + self.library = ifcopenshell.api.run( + "root.create_entity", self.file, ifc_class="IfcProjectLibrary", name="Australian Library" + ) + ifcopenshell.api.run( + "project.assign_declaration", self.file, definition=self.library, relating_context=self.project + ) + unit = ifcopenshell.api.run("unit.add_si_unit", self.file, unit_type="LENGTHUNIT", name="METRE", prefix="MILLI") + ifcopenshell.api.run("unit.assign_unit", self.file, units=[unit]) + + model = ifcopenshell.api.run("context.add_context", self.file, context_type="Model") + plan = ifcopenshell.api.run("context.add_context", self.file, context_type="Plan") + self.representations = { + "body": ifcopenshell.api.run( + "context.add_context", + self.file, + context_type="Model", + context_identifier="Body", + target_view="MODEL_VIEW", + parent=model, + ), + "annotation": ifcopenshell.api.run( + "context.add_context", + self.file, + context_type="Plan", + context_identifier="Annotation", + target_view="PLAN_VIEW", + parent=plan, + ), + } + + self.materials = { + "TBD": {"Category": "other"}, + "BRK": {"Category": "brick"}, + "BLK": {"Category": "block"}, + "CON": {"Category": "concrete"}, + "WD": {"Category": "wood"}, + "ST": {"Category": "steel"}, + "AL": {"Category": "aluminium"}, + "GLZ": {"Category": "glass"}, + "PBD": {"Category": "gypsum"}, + "AIR": {"Category": "air"}, + "MEM": {"Category": "membrane"}, + } + + for name, data in self.materials.items(): + self.materials[name]["ifc"] = ifcopenshell.api.run("material.add_material", self.file, name=name) + self.materials[name]["ifc"].Category = data["Category"] + + self.layer_types = { + "WAL01": {"type": "IfcWallType", "Description": "110mm Single brick", + "Layers": [("LoadBearing", "BRK", 110)]}, + "WAL02": {"type": "IfcWallType", "Description": "250mm Brick veneer", + "Layers": [("Finish", "BRK", 110), ("Ventilation", "AIR", 50), ("LoadBearing", "WD", 90)]}, + "WAL03": {"type": "IfcWallType", "Description": "270mm Double brick", + "Layers": [("Finish", "BRK", 110), ("Ventilation", "AIR", 50), ("LoadBearing", "BRK", 110)]}, + "WAL04": {"type": "IfcWallType", "Description": "150mm Reinforced concrete", + "Layers": [("LoadBearing", "CON", 150)]}, + "WAL05": {"type": "IfcWallType", "Description": "200mm Reinforced concrete", + "Layers": [("LoadBearing", "CON", 200)]}, + "WAL06": {"type": "IfcWallType", "Description": "250mm Reinforced concrete", + "Layers": [("LoadBearing", "CON", 250)]}, + "WAL07": {"type": "IfcWallType", "Description": "300mm Reinforced concrete", + "Layers": [("LoadBearing", "CON", 300)]}, + "WAL08": {"type": "IfcWallType", "Description": "140mm Hollow core block", + "Layers": [("LoadBearing", "BLK", 190)]}, + "WAL09": {"type": "IfcWallType", "Description": "140mm Core filled block", + "Layers": [("LoadBearing", "BLK", 190)]}, + "WAL10": {"type": "IfcWallType", "Description": "190mm Hollow core block", + "Layers": [("LoadBearing", "BLK", 190)]}, + "WAL11": {"type": "IfcWallType", "Description": "190mm Core filled block", + "Layers": [("LoadBearing", "BLK", 190)]}, + "WAL12": {"type": "IfcWallType", "Description": "90mm Wooden frame", + "Layers": [("LoadBearing", "WD", 90)]}, + "WAL13": {"type": "IfcWallType", "Description": "64mm Steel frame", + "Layers": [("LoadBearing", "ST", 64)]}, + "CLD01": {"type": "IfcCoveringType", "Description": "110mm Face brick", + "Layers": [("LoadBearing", "BRK", 110)]}, + "CLD02": {"type": "IfcCoveringType", "Description": "13mm Plasterboard lining", + "Layers": [("LoadBearing", "PBD", 13)]}, + } + + for name, data in self.layer_types.items(): + self.layer_types[name]["ifc"] = self.create_layer_set_type(name, data) + + product = self.create_layer_type("IfcCoveringType", "DEMO20", 0.02) + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=product, name="EPset_Parametric") + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"LayerSetDirection": "AXIS2"}) + + product = self.create_layer_type("IfcCoveringType", "DEMO30", 0.03) + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=product, name="EPset_Parametric") + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"LayerSetDirection": "AXIS3"}) + + self.create_layer_type("IfcRampType", "DEMO200", 0.2) + + profile = self.file.create_entity("IfcCircleProfileDef", ProfileType="AREA", Radius=0.3) + self.create_profile_type("IfcPileType", "DEMO1", profile) + + self.create_layer_type("IfcSlabType", "DEMO150", 0.2) + self.create_layer_type("IfcSlabType", "DEMO250", 0.3) + + profile = self.file.create_entity("IfcRectangleProfileDef", ProfileType="AREA", XDim=0.5, YDim=0.6) + self.create_profile_type("IfcColumnType", "DEMO1", profile) + + profile = self.file.create_entity( + "IfcCircleHollowProfileDef", ProfileType="AREA", Radius=0.25, WallThickness=0.005 + ) + self.create_profile_type("IfcColumnType", "DEMO2", profile) + + profile = self.file.create_entity( + "IfcRectangleHollowProfileDef", + ProfileType="AREA", + XDim=0.075, + YDim=0.15, + WallThickness=0.005, + InnerFilletRadius=0.005, + OuterFilletRadius=0.005, + ) + self.create_profile_type("IfcColumnType", "DEMO3", profile) + + profile = self.file.create_entity( + "IfcIShapeProfileDef", + ProfileName="DEMO-I", + ProfileType="AREA", + OverallWidth=0.1, + OverallDepth=0.2, + WebThickness=0.005, + FlangeThickness=0.01, + FilletRadius=0.005, + ) + self.create_profile_type("IfcBeamType", "DEMO1", profile) + + profile = self.file.create_entity( + "IfcCShapeProfileDef", + ProfileName="DEMO-C", + ProfileType="AREA", + Depth=0.2, + Width=0.1, + WallThickness=0.0015, + Girth=0.03, + InternalFilletRadius=0.005, + ) + self.create_profile_type("IfcBeamType", "DEMO2", profile) + + self.create_type("IfcWindowType", "DEMO1", {"body": "Window", "annotation": "Window-Annotation"}) + self.create_type("IfcDoorType", "DEMO1", {"body": "Door", "annotation": "Door-Annotation"}) + self.create_type("IfcFurnitureType", "BUNNY", {"body": "Bunny", "annotation": "Bunny-Annotation"}) + + self.file.write("blenderbim-au-library.ifc") + + def create_layer_set_type(self, name, data): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class=data["type"], name=name) + element.Description = data["Description"] + rel = ifcopenshell.api.run("material.assign_material", self.file, product=element, type="IfcMaterialLayerSet") + layer_set = rel.RelatingMaterial + for layer_data in data["Layers"]: + layer = ifcopenshell.api.run( + "material.add_layer", self.file, layer_set=layer_set, material=self.materials[layer_data[1]]["ifc"] + ) + layer.Name = layer_data[0] + layer.LayerThickness = layer_data[2] + ifcopenshell.api.run("project.assign_declaration", self.file, definition=element, relating_context=self.library) + return element + + def create_layer_type(self, ifc_class, name, thickness): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class=ifc_class, name=name) + rel = ifcopenshell.api.run("material.assign_material", self.file, product=element, type="IfcMaterialLayerSet") + layer_set = rel.RelatingMaterial + layer = ifcopenshell.api.run("material.add_layer", self.file, layer_set=layer_set, material=self.materials["TBD"]["ifc"]) + layer.LayerThickness = thickness + ifcopenshell.api.run("project.assign_declaration", self.file, definition=element, relating_context=self.library) + return element + + def create_profile_type(self, ifc_class, name, profile): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class=ifc_class, name=name) + rel = ifcopenshell.api.run("material.assign_material", self.file, product=element, type="IfcMaterialProfileSet") + profile_set = rel.RelatingMaterial + material_profile = ifcopenshell.api.run( + "material.add_profile", self.file, profile_set=profile_set, material=self.materials["TBD"]["ifc"] + ) + ifcopenshell.api.run("material.assign_profile", self.file, material_profile=material_profile, profile=profile) + ifcopenshell.api.run("project.assign_declaration", self.file, definition=element, relating_context=self.library) + + def create_type(self, ifc_class, name, representations): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class=ifc_class, name=name) + for rep_name, obj_name in representations.items(): + obj = bpy.data.objects.get(obj_name) + representation = ifcopenshell.api.run( + "geometry.add_representation", + self.file, + context=self.representations[rep_name], + blender_object=obj, + geometry=obj.data, + total_items=max(1, len(obj.material_slots)), + ) + styles = [] + for slot in obj.material_slots: + style = ifcopenshell.api.run("style.add_style", self.file, name=slot.material.name) + ifcopenshell.api.run( + "style.add_surface_style", + self.file, + style=style, + ifc_class="IfcSurfaceStyleRendering", + attributes=tool.Style.get_surface_rendering_attributes(slot.material), + ) + styles.append(style) + if styles: + ifcopenshell.api.run( + "style.assign_representation_styles", self.file, shape_representation=representation, styles=styles + ) + ifcopenshell.api.run( + "geometry.assign_representation", self.file, product=element, representation=representation + ) + ifcopenshell.api.run("project.assign_declaration", self.file, definition=element, relating_context=self.library) + + +LibraryGenerator().generate() From e7f3856d64da870fac8fc2b52333daeb92833e1a Mon Sep 17 00:00:00 2001 From: Adrien SCHVALBERG Date: Tue, 26 Apr 2022 11:46:21 +0200 Subject: [PATCH 048/243] Fix shared libraries exports. --- src/ifcgeom_schema_agnostic/IteratorImplementation.h | 2 +- src/ifcgeom_schema_agnostic/Kernel.h | 12 ++++++------ src/ifcparse/Ifc2x3.h | 2 +- src/ifcparse/Ifc4.h | 2 +- src/ifcparse/Ifc4x1.h | 2 +- src/ifcparse/Ifc4x2.h | 2 +- src/ifcparse/Ifc4x3_rc1.h | 2 +- src/ifcparse/Ifc4x3_rc2.h | 2 +- src/ifcparse/Ifc4x3_rc3.h | 2 +- src/ifcparse/Ifc4x3_rc4.h | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/ifcgeom_schema_agnostic/IteratorImplementation.h b/src/ifcgeom_schema_agnostic/IteratorImplementation.h index 5639f8c743..51798f46c1 100644 --- a/src/ifcgeom_schema_agnostic/IteratorImplementation.h +++ b/src/ifcgeom_schema_agnostic/IteratorImplementation.h @@ -49,7 +49,7 @@ public: IfcGeom::IteratorImplementation* construct(const std::string& schema_name, const IfcGeom::IteratorSettings&, IfcParse::IfcFile*, const std::vector&, int); }; -IteratorFactoryImplementation& iterator_implementations(); +IFC_GEOM_API IteratorFactoryImplementation& iterator_implementations(); namespace IfcGeom { diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h index ceb6174755..9b962d2278 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.h +++ b/src/ifcgeom_schema_agnostic/Kernel.h @@ -83,7 +83,7 @@ namespace IfcGeom { GV_BOOLEAN_ATTEMPT_2D }; - Kernel(IfcParse::IfcFile* file_); + IFC_PARSE_API Kernel(IfcParse::IfcFile* file_); virtual ~Kernel() {} @@ -110,12 +110,12 @@ namespace IfcGeom { return implementation_->convert_placement(item, trsf); } - static int count(const TopoDS_Shape&, TopAbs_ShapeEnum, bool unique=false); - static int surface_genus(const TopoDS_Shape&); + IFC_PARSE_API static int count(const TopoDS_Shape&, TopAbs_ShapeEnum, bool unique = false); + IFC_PARSE_API static int surface_genus(const TopoDS_Shape&); - static bool is_manifold(const TopoDS_Shape& a); - static IfcUtil::IfcBaseEntity* get_decomposing_entity(IfcUtil::IfcBaseEntity*, bool include_openings=true); - static std::map get_layers(IfcUtil::IfcBaseEntity*); + IFC_PARSE_API static bool is_manifold(const TopoDS_Shape& a); + IFC_PARSE_API static IfcUtil::IfcBaseEntity* get_decomposing_entity(IfcUtil::IfcBaseEntity*, bool include_openings = true); + IFC_PARSE_API static std::map get_layers(IfcUtil::IfcBaseEntity*); }; namespace impl { diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 8a64b9eafa..0be1e861d7 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -42,7 +42,7 @@ struct Ifc2x3 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 82f8748c12..2a0652b192 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -42,7 +42,7 @@ struct Ifc4 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index b11950332e..72ddc03341 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -42,7 +42,7 @@ struct Ifc4x1 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index 94afa26112..832b401d23 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -42,7 +42,7 @@ struct Ifc4x2 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 15dc641edf..970c7d88cf 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -42,7 +42,7 @@ struct Ifc4x3_rc1 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index a382d8958f..9648cad06e 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -42,7 +42,7 @@ struct Ifc4x3_rc2 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 611b77393a..1cc2ffcd4a 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -42,7 +42,7 @@ struct Ifc4x3_rc3 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index 292ce3921e..2a35062a95 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -42,7 +42,7 @@ struct Ifc4x3_rc4 { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; From 11c3a6e547be13d4510df6f880acf7fc53af1ae7 Mon Sep 17 00:00:00 2001 From: Adrien SCHVALBERG Date: Wed, 27 Apr 2022 14:02:41 +0200 Subject: [PATCH 049/243] Fix ifcparse/Ifc____.h template --- src/ifcopenshell-python/ifcopenshell/express/templates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/express/templates.py b/src/ifcopenshell-python/ifcopenshell/express/templates.py index 6870608335..af9ad4d1e9 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/templates.py +++ b/src/ifcopenshell-python/ifcopenshell/express/templates.py @@ -36,7 +36,7 @@ header = """ struct %(schema_name)s { -static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); static const char* const Identifier; From 9ea6499b5a5e351c11f33170c9af10244e13d103 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 27 Apr 2022 22:19:31 +1000 Subject: [PATCH 050/243] #2082 You can now filter by metadata existence in the selector syntax --- .../blenderbim/bim/module/geometry/operator.py | 4 ++-- .../ifcopenshell/util/selector.py | 4 +++- src/ifcopenshell-python/test/util/test_selector.py | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 376660a96b..a8ba8566d5 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -321,8 +321,8 @@ class CopyRepresentation(bpy.types.Operator, Operator): class OverrideDeleteTrait: def delete_ifc_object(self, obj): - if obj.BIMObjectProperties.ifc_definition_id: - element = IfcStore.get_file().by_id(obj.BIMObjectProperties.ifc_definition_id) + element = tool.Ifc.get_entity(obj) + if element: IfcStore.delete_element(element) if getattr(element, "FillsVoids", None): self.remove_filling(element) diff --git a/src/ifcopenshell-python/ifcopenshell/util/selector.py b/src/ifcopenshell-python/ifcopenshell/util/selector.py index 910f287647..c8b7a2eb91 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/selector.py +++ b/src/ifcopenshell-python/ifcopenshell/util/selector.py @@ -192,7 +192,9 @@ class Selector: element_value = cls.get_element_value(element, key) if element_value is None and value is not None: continue - if not comparison or cls.filter_element(element, element_value, comparison, value): + if comparison and cls.filter_element(element, element_value, comparison, value): + results.append(element) + elif not comparison and element_value: results.append(element) return results diff --git a/src/ifcopenshell-python/test/util/test_selector.py b/src/ifcopenshell-python/test/util/test_selector.py index 3c138098cc..37a744e6e4 100644 --- a/src/ifcopenshell-python/test/util/test_selector.py +++ b/src/ifcopenshell-python/test/util/test_selector.py @@ -33,6 +33,13 @@ class TestSelector(test.bootstrap.IFC4): ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcSlab") assert subject.Selector.parse(self.file, f"#{element.GlobalId}") == [element] + def test_selecting_by_attribute_existence(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + element.Name = "Foobar" + ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcSlab") + assert subject.Selector.parse(self.file, '.IfcElement[Name]') == [element] + assert subject.Selector.parse(self.file, '.IfcElement[Description]') == [] + def test_selecting_by_attribute(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") element.Name = "Foobar" @@ -40,6 +47,13 @@ class TestSelector(test.bootstrap.IFC4): assert subject.Selector.parse(self.file, '.IfcElement[Name="Foobar"]') == [element] assert subject.Selector.parse(self.file, '.IfcElement[Name="Foobaz"]') == [] + def test_selecting_by_property_existence(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"Foo": "Bar"}) + assert subject.Selector.parse(self.file, '.IfcElement[Foo_Bar.Foo]') == [element] + assert subject.Selector.parse(self.file, '.IfcElement[Foo_Bar.Fox]') == [] + def test_selecting_by_string_property(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="Foo_Bar") From 3f28ae18c024fc7cd28b551a6a8f6263bc104d1f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 14:16:39 +1000 Subject: [PATCH 051/243] #1153 You can now add / remove / open schedules, implemented as IFC documents --- .../blenderbim/bim/module/drawing/__init__.py | 4 +- .../blenderbim/bim/module/drawing/data.py | 15 ++++ .../blenderbim/bim/module/drawing/operator.py | 84 +++++++++++-------- .../blenderbim/bim/module/drawing/prop.py | 15 ++-- .../blenderbim/bim/module/drawing/ui.py | 35 +++++--- src/blenderbim/blenderbim/bim/ui.py | 7 +- src/blenderbim/blenderbim/core/drawing.py | 36 ++++++++ src/blenderbim/blenderbim/core/tool.py | 3 + src/blenderbim/blenderbim/tool/drawing.py | 33 ++++++++ src/blenderbim/test/core/test_drawing.py | 65 ++++++++++++++ src/blenderbim/test/core/test_geometry.py | 10 +-- src/blenderbim/test/tool/test_drawing.py | 59 +++++++++++++ 12 files changed, 305 insertions(+), 61 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py index 5b18d9b10f..ba5c0d3d97 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py @@ -39,6 +39,7 @@ classes = ( operator.CreateDrawing, operator.CreateSheets, operator.DisableEditingDrawings, + operator.DisableEditingSchedules, operator.DisableEditingSheets, operator.DisableEditingText, operator.DisableEditingTextProduct, @@ -49,7 +50,9 @@ classes = ( operator.EnableEditingTextProduct, operator.ExpandSheet, operator.LoadDrawings, + operator.LoadSchedules, operator.LoadSheets, + operator.OpenSchedule, operator.OpenSheet, operator.OpenView, operator.RemoveDrawing, @@ -61,7 +64,6 @@ classes = ( operator.ResizeText, operator.SaveDrawingStyle, operator.SelectDocIfcFile, - operator.SelectScheduleFile, prop.Variable, prop.Drawing, prop.Schedule, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/data.py b/src/blenderbim/blenderbim/bim/module/drawing/data.py index 20cc167c93..049f8874a8 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/data.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/data.py @@ -24,6 +24,7 @@ import blenderbim.tool as tool def refresh(): TextData.is_loaded = False SheetsData.is_loaded = False + SchedulesData.is_loaded = False DrawingsData.is_loaded = False @@ -94,3 +95,17 @@ class DrawingsData: ) return results return [(h.upper(), h, "") for h in ["North", "South", "East", "West"]] + + +class SchedulesData: + data = {} + is_loaded = False + + @classmethod + def load(cls): + cls.data = {"total_schedules": cls.total_schedules()} + cls.is_loaded = True + + @classmethod + def total_schedules(cls): + return len([d for d in tool.Ifc.get().by_type("IfcDocumentInformation") if d.Scope == "SCHEDULE"]) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 01172440c3..008a8f3d1e 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -913,55 +913,53 @@ class RemoveSheet(bpy.types.Operator, Operator): core.remove_sheet(tool.Ifc, tool.Drawing, sheet=tool.Ifc.get().by_id(self.sheet)) -class AddSchedule(bpy.types.Operator): +class AddSchedule(bpy.types.Operator, Operator): bl_idname = "bim.add_schedule" bl_label = "Add Schedule" bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - new = context.scene.DocProperties.schedules.add() - new.name = "SCHEDULE {}".format(len(context.scene.DocProperties.schedules)) - return {"FINISHED"} - - -class RemoveSchedule(bpy.types.Operator): - bl_idname = "bim.remove_schedule" - bl_label = "Remove Schedule" - bl_options = {"REGISTER", "UNDO"} - index: bpy.props.IntProperty() - - def execute(self, context): - props = context.scene.DocProperties - props.schedules.remove(self.index) - return {"FINISHED"} - - -class SelectScheduleFile(bpy.types.Operator): - bl_idname = "bim.select_schedule_file" - bl_label = "Select Documentation IFC File" - bl_options = {"REGISTER", "UNDO"} filepath: bpy.props.StringProperty(subtype="FILE_PATH") - filter_glob: bpy.props.StringProperty(default="*.ods", options={"HIDDEN"}) - index: bpy.props.IntProperty() + filter_glob: bpy.props.StringProperty(default="*.ods;*.xls;*.xlsx", options={"HIDDEN"}) + use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=False) - def execute(self, context): - props = context.scene.DocProperties - props.active_schedule.file = self.filepath - return {"FINISHED"} + def _execute(self, context): + filepath = self.filepath + if self.use_relative_path: + filepath = os.path.relpath(filepath, bpy.path.abspath("//")) + core.add_schedule( + tool.Ifc, + tool.Drawing, + uri=filepath, + ) def invoke(self, context, event): context.window_manager.fileselect_add(self) return {"RUNNING_MODAL"} +class RemoveSchedule(bpy.types.Operator, Operator): + bl_idname = "bim.remove_schedule" + bl_label = "Remove Schedule" + bl_options = {"REGISTER", "UNDO"} + schedule: bpy.props.IntProperty() + + def _execute(self, context): + core.remove_schedule(tool.Ifc, tool.Drawing, schedule=tool.Ifc.get().by_id(self.schedule)) + + +class OpenSchedule(bpy.types.Operator, Operator): + bl_idname = "bim.open_schedule" + bl_label = "Open Schedule" + bl_options = {"REGISTER", "UNDO"} + schedule: bpy.props.IntProperty() + + def _execute(self, context): + core.open_schedule(tool.Drawing, schedule=tool.Ifc.get().by_id(self.schedule)) + + class BuildSchedule(bpy.types.Operator): bl_idname = "bim.build_schedule" bl_label = "Build Schedule" - @classmethod - def poll(cls, context): - return context.scene.DocProperties.active_schedule.file - def execute(self, context): props = context.scene.DocProperties schedule = props.active_schedule @@ -1269,6 +1267,24 @@ class DisableEditingSheets(bpy.types.Operator, Operator): core.disable_editing_sheets(tool.Drawing) +class LoadSchedules(bpy.types.Operator, Operator): + bl_idname = "bim.load_schedules" + bl_label = "Load Schedules" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + core.load_schedules(tool.Drawing) + + +class DisableEditingSchedules(bpy.types.Operator, Operator): + bl_idname = "bim.disable_editing_schedules" + bl_label = "Disable Editing Text Product" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + core.disable_editing_schedules(tool.Drawing) + + class LoadDrawings(bpy.types.Operator, Operator): bl_idname = "bim.load_drawings" bl_label = "Load Drawings" diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index 13716fce9b..c3d127d5fe 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -153,6 +153,11 @@ def update_drawing_name(self, context): core.update_drawing_name(tool.Ifc, tool.Drawing, drawing=drawing, name=self.name) +def update_schedule_name(self, context): + schedule = tool.Ifc.get().by_id(self.ifc_definition_id) + core.update_schedule_name(tool.Ifc, tool.Drawing, schedule=schedule, name=self.name) + + def update_has_underlay(self, context): update_layer(self, context, "HasUnderlay", self.has_underlay) @@ -231,8 +236,9 @@ class Drawing(PropertyGroup): class Schedule(PropertyGroup): - name: StringProperty(name="Name") - file: StringProperty(name="File") + ifc_definition_id: IntProperty(name="IFC Definition ID") + name: StringProperty(name="Name", update=update_schedule_name) + identification: StringProperty(name="Identification") class Sheet(PropertyGroup): @@ -305,6 +311,7 @@ class DocProperties(PropertyGroup): should_use_annotation_cache: BoolProperty(name="Use Annotation Cache", default=False) should_extract: BoolProperty(name="Should Extract", default=True) is_editing_drawings: BoolProperty(name="Is Editing Drawings", default=False) + is_editing_schedules: BoolProperty(name="Is Editing Schedules", default=False) target_view: EnumProperty( items=[ ("PLAN_VIEW", "Plan", ""), @@ -335,10 +342,6 @@ class DocProperties(PropertyGroup): name="Decorations Colour", subtype="COLOR", default=(1, 1, 1, 1), min=0.0, max=1.0, size=4 ) - @property - def active_schedule(self): - return self.schedules[self.active_schedule_index] - class BIMCameraProperties(PropertyGroup): has_underlay: BoolProperty(name="Underlay", default=False, update=update_has_underlay) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 3aae7f0388..085780c5a6 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -20,7 +20,7 @@ import bpy import blenderbim.bim.helper import blenderbim.tool as tool from bpy.types import Panel -from blenderbim.bim.module.drawing.data import TextData, SheetsData, DrawingsData +from blenderbim.bim.module.drawing.data import TextData, SheetsData, SchedulesData, DrawingsData class BIM_PT_camera(Panel): @@ -196,22 +196,31 @@ class BIM_PT_schedules(Panel): bl_category = "BIM Documentation" def draw(self, context): - layout = self.layout - layout.use_property_split = True - props = context.scene.DocProperties + if not SchedulesData.is_loaded: + SchedulesData.load() - row = layout.row(align=True) - row.operator("bim.add_schedule") + self.props = context.scene.DocProperties - if props.schedules: - row.operator("bim.build_schedule", icon="LINENUMBERS_ON", text="") - row.operator("bim.remove_schedule", icon="X", text="").index = props.active_schedule_index + if not self.props.is_editing_schedules: + row = self.layout.row(align=True) + row.label(text=f"{SchedulesData.data['total_schedules']} Schedules Found", icon="LONGDISPLAY") + row.operator("bim.load_schedules", text="", icon="IMPORT") + return - layout.template_list("BIM_UL_generic", "", props, "schedules", props, "active_schedule_index") + row = self.layout.row(align=True) + row.operator("bim.add_schedule", icon="ADD") + row.operator("bim.disable_editing_schedules", text="", icon="CANCEL") - row = layout.row() - row.prop(props.active_schedule, "file") - row.operator("bim.select_schedule_file", icon="FILE_FOLDER", text="") + if self.props.schedules: + if self.props.active_schedule_index < len(self.props.schedules): + active_schedule = self.props.schedules[self.props.active_schedule_index] + row = self.layout.row(align=True) + row.alignment = "RIGHT" + row.operator("bim.open_schedule", icon="URL", text="").schedule = active_schedule.ifc_definition_id + row.operator("bim.build_schedule", icon="LINENUMBERS_ON", text="") + row.operator("bim.remove_schedule", icon="X", text="").schedule = active_schedule.ifc_definition_id + + self.layout.template_list("BIM_UL_generic", "", self.props, "schedules", self.props, "active_schedule_index") class BIM_PT_sheets(Panel): diff --git a/src/blenderbim/blenderbim/bim/ui.py b/src/blenderbim/blenderbim/bim/ui.py index 000ceac13c..2457cd99bf 100644 --- a/src/blenderbim/blenderbim/bim/ui.py +++ b/src/blenderbim/blenderbim/bim/ui.py @@ -106,8 +106,9 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): name="SVG to DXF Command", description="E.g. [['inkscape', svg, '-o', eps], ['pstoedit', '-dt', '-f', 'dxf:-polyaslines -mm', eps, dxf, '-psarg', '-dNOSAFER']]", ) - svg_command: StringProperty(name="SVG Command", description="E.g. [['firefox-bin', path]]") - pdf_command: StringProperty(name="PDF Command", description="E.g. [['firefox-bin', path]]") + svg_command: StringProperty(name="SVG Command", description="E.g. [['firefox', path]]") + pdf_command: StringProperty(name="PDF Command", description="E.g. [['firefox', path]]") + spreadsheet_command: StringProperty(name="Spreadsheet Command", description="E.g. [['libreoffice', path]]") openlca_port: IntProperty(name="OpenLCA IPC Port", default=8080) should_hide_empty_props: BoolProperty(name="Should Hide Empty Properties", default=True) should_play_chaching_sound: BoolProperty( @@ -141,6 +142,8 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): row = layout.row() row.prop(self, "pdf_command") row = layout.row() + row.prop(self, "spreadsheet_command") + row = layout.row() row.prop(self, "openlca_port") row = layout.row() row.prop(self, "should_hide_empty_props") diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index 6bfc86a612..fe9e4ef74e 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -89,6 +89,42 @@ def remove_sheet(ifc, drawing, sheet=None): drawing.import_sheets() +def load_schedules(drawing): + drawing.import_schedules() + drawing.enable_editing_schedules() + + +def disable_editing_schedules(drawing): + drawing.disable_editing_schedules() + + +def add_schedule(ifc, drawing, uri=None): + schedule = ifc.run("document.add_information") + reference = ifc.run("document.add_reference", information=schedule) + if ifc.get_schema() == "IFC2X3": + attributes = {"DocumentId": "X", "Name": "UNTITLED", "Scope": "SCHEDULE"} + ifc.run("document.edit_information", information=schedule, attributes=attributes) + ifc.run("document.edit_reference", reference=reference, attributes={"Location": uri}) + else: + attributes = {"Identification": "X", "Name": "UNTITLED", "Scope": "SCHEDULE", "Location": uri} + ifc.run("document.edit_information", information=schedule, attributes=attributes) + drawing.import_schedules() + + +def remove_schedule(ifc, drawing, schedule=None): + ifc.run("document.remove_information", information=schedule) + drawing.import_schedules() + + +def open_schedule(drawing, schedule=None): + drawing.open_spreadsheet(drawing.get_schedule_location(schedule)) + + +def update_schedule_name(ifc, drawing, schedule=None, name=None): + if drawing.get_name(schedule) != name: + ifc.run("document.edit_information", information=schedule, attributes={"Name": name}) + + def load_drawings(drawing): drawing.import_drawings() drawing.enable_editing_drawings() diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 43686ecf8b..146445d35b 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -161,11 +161,13 @@ class Drawing: def delete_drawing_elements(cls, elements): pass def delete_object(cls, obj): pass def disable_editing_drawings(cls): pass + def disable_editing_schedules(cls): pass def disable_editing_sheets(cls): pass def disable_editing_text(cls, obj): pass def disable_editing_text_product(cls, obj): pass def enable_editing(cls, obj): pass def enable_editing_drawings(cls): pass + def enable_editing_schedules(cls): pass def enable_editing_sheets(cls): pass def enable_editing_text(cls, obj): pass def enable_editing_text_product(cls, obj): pass @@ -187,6 +189,7 @@ class Drawing: def get_text_literal(cls, obj): pass def get_text_product(cls, element): pass def import_drawings(cls): pass + def import_schedules(cls): pass def import_sheets(cls): pass def import_text_attributes(cls, obj): pass def import_text_product(cls, obj): pass diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 8f25239d9f..b3cbb92028 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -98,6 +98,10 @@ class Drawing(blenderbim.core.tool.Drawing): def disable_editing_drawings(cls): bpy.context.scene.DocProperties.is_editing_drawings = False + @classmethod + def disable_editing_schedules(cls): + bpy.context.scene.DocProperties.is_editing_schedules = False + @classmethod def disable_editing_sheets(cls): bpy.context.scene.DocProperties.is_editing_sheets = False @@ -122,6 +126,10 @@ class Drawing(blenderbim.core.tool.Drawing): def enable_editing_drawings(cls): bpy.context.scene.DocProperties.is_editing_drawings = True + @classmethod + def enable_editing_schedules(cls): + bpy.context.scene.DocProperties.is_editing_schedules = True + @classmethod def enable_editing_sheets(cls): bpy.context.scene.DocProperties.is_editing_sheets = True @@ -197,6 +205,12 @@ class Drawing(blenderbim.core.tool.Drawing): def get_name(cls, element): return element.Name + @classmethod + def get_schedule_location(cls, schedule): + if tool.Ifc.get_schema() == "IFC2X3": + return schedule.DocumentReferences[0].Location + return schedule.Location + @classmethod def get_sheet_filename(cls, document): if hasattr(document, "Identification"): @@ -273,6 +287,19 @@ class Drawing(blenderbim.core.tool.Drawing): new.name = drawing.Name or "Unnamed" new.target_view = cls.get_drawing_target_view(drawing) + @classmethod + def import_schedules(cls): + bpy.context.scene.DocProperties.schedules.clear() + schedules = [d for d in tool.Ifc.get().by_type("IfcDocumentInformation") if d.Scope == "SCHEDULE"] + for schedule in schedules: + new = bpy.context.scene.DocProperties.schedules.add() + new.ifc_definition_id = schedule.id() + new.name = schedule.Name or "Unnamed" + if tool.Ifc.get_schema() == "IFC2X3": + new.identification = schedule.DocumentId + else: + new.identification = schedule.Identification + @classmethod def import_sheets(cls): props = bpy.context.scene.DocProperties @@ -333,6 +360,12 @@ class Drawing(blenderbim.core.tool.Drawing): else: webbrowser.open("file://" + path) + @classmethod + def open_spreadsheet(cls, uri): + cls.open_with_user_command( + bpy.context.preferences.addons["blenderbim"].preferences.spreadsheet_command, uri + ) + @classmethod def open_svg(cls, filename): cls.open_with_user_command( diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index 2edf11e063..859e2a9362 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -126,6 +126,71 @@ class TestRemoveSheet: subject.remove_sheet(ifc, drawing, sheet="sheet") +class TestLoadSchedules: + def test_run(self, drawing): + drawing.import_schedules().should_be_called() + drawing.enable_editing_schedules().should_be_called() + subject.load_schedules(drawing) + + +class TestDisableEditingSchedules: + def test_run(self, drawing): + drawing.disable_editing_schedules().should_be_called() + subject.disable_editing_schedules(drawing) + + +class TestAddSchedule: + def test_run(self, ifc, drawing): + ifc.run("document.add_information").should_be_called().will_return("schedule") + ifc.run("document.add_reference", information="schedule").should_be_called().will_return("reference") + ifc.get_schema().should_be_called().will_return("IFC4") + ifc.run( + "document.edit_information", + information="schedule", + attributes={"Identification": "X", "Name": "UNTITLED", "Scope": "SCHEDULE", "Location": "uri"}, + ).should_be_called() + drawing.import_schedules().should_be_called() + subject.add_schedule(ifc, drawing, uri="uri") + + def test_using_a_document_id_in_ifc2x3(self, ifc, drawing): + ifc.run("document.add_information").should_be_called().will_return("schedule") + ifc.run("document.add_reference", information="schedule").should_be_called().will_return("reference") + ifc.get_schema().should_be_called().will_return("IFC2X3") + ifc.run( + "document.edit_information", + information="schedule", + attributes={"DocumentId": "X", "Name": "UNTITLED", "Scope": "SCHEDULE"}, + ).should_be_called() + ifc.run("document.edit_reference", reference="reference", attributes={"Location": "uri"}).should_be_called() + drawing.import_schedules().should_be_called() + subject.add_schedule(ifc, drawing, uri="uri") + + +class TestRemoveSchedule: + def test_run(self, ifc, drawing): + ifc.run("document.remove_information", information="schedule").should_be_called() + drawing.import_schedules().should_be_called() + subject.remove_schedule(ifc, drawing, schedule="schedule") + + +class TestOpenSchedule: + def test_run(self, drawing): + drawing.get_schedule_location("schedule").should_be_called().will_return("uri") + drawing.open_spreadsheet("uri").should_be_called() + subject.open_schedule(drawing, schedule="schedule") + + +class TestUpdateScheduleName: + def test_do_not_update_if_name_unchanged(self, ifc, drawing): + drawing.get_name("schedule").should_be_called().will_return("name") + subject.update_drawing_name(ifc, drawing, schedule="schedule", name="name") + + def test_run(self, ifc, drawing): + drawing.get_name("schedule").should_be_called().will_return("oldname") + ifc.run("document.edit_information", information="schedule", attributes={"Name": "name"}).should_be_called() + subject.update_drawing_name(ifc, drawing, schedule="schedule", name="name") + + class TestLoadDrawings: def test_run(self, drawing): drawing.import_drawings().should_be_called() diff --git a/src/blenderbim/test/core/test_geometry.py b/src/blenderbim/test/core/test_geometry.py index bb3da2f854..a22267cf8f 100644 --- a/src/blenderbim/test/core/test_geometry.py +++ b/src/blenderbim/test/core/test_geometry.py @@ -60,8 +60,8 @@ class TestAddRepresentation: profile_set_usage="profile_set_usage", ).should_be_called().will_return("representation") - # Styles are relevant for meshes with faces only - geometry.does_object_have_mesh_with_faces("obj").should_be_called().will_return(True) + # Styles are relevant for body representations only (as a simplification) + geometry.is_body_representation("representation").should_be_called().will_return(True) # Add styles geometry.get_object_materials_without_styles("obj").should_be_called().will_return(["material"]) @@ -102,7 +102,7 @@ class TestAddRepresentation: == "representation" ) - def test_not_handling_styles_if_representation_has_no_faces(self, ifc, geometry, style, surveyor): + def test_not_handling_styles_if_not_a_body_representation(self, ifc, geometry, style, surveyor): TestEditObjectPlacement.predict(self, ifc, geometry, surveyor) # Add representation @@ -126,8 +126,8 @@ class TestAddRepresentation: profile_set_usage="profile_set_usage", ).should_be_called().will_return("representation") - # Styles are relevant for meshes with faces only - geometry.does_object_have_mesh_with_faces("obj").should_be_called().will_return(False) + # Styles are relevant for body representations only (as a simplification) + geometry.is_body_representation("representation").should_be_called().will_return(False) # Assign representation to product ifc.run("geometry.assign_representation", product="element", representation="representation").should_be_called() diff --git a/src/blenderbim/test/tool/test_drawing.py b/src/blenderbim/test/tool/test_drawing.py index 91b96f46dd..32b9967418 100644 --- a/src/blenderbim/test/tool/test_drawing.py +++ b/src/blenderbim/test/tool/test_drawing.py @@ -87,6 +87,13 @@ class TestDisableEditingDrawings(NewFile): assert bpy.context.scene.DocProperties.is_editing_drawings == False +class TestDisableEditingSchedules(NewFile): + def test_run(self): + bpy.context.scene.DocProperties.is_editing_schedules = True + subject.disable_editing_schedules() + assert bpy.context.scene.DocProperties.is_editing_schedules == False + + class TestDisableEditingSheets(NewFile): def test_run(self): bpy.context.scene.DocProperties.is_editing_sheets = True @@ -125,6 +132,13 @@ class TestEnableEditingDrawings(NewFile): assert bpy.context.scene.DocProperties.is_editing_drawings == True +class TestEnableEditingSchedules(NewFile): + def test_run(self): + bpy.context.scene.DocProperties.is_editing_schedules = False + subject.enable_editing_schedules() + assert bpy.context.scene.DocProperties.is_editing_schedules == True + + class TestEnableEditingSheets(NewFile): def test_run(self): bpy.context.scene.DocProperties.is_editing_sheets = False @@ -263,6 +277,22 @@ class TestGetName(NewFile): assert subject.get_name(ifc.createIfcWall(Name="Foobar")) == "Foobar" +class TestGetScheduleLocation(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + schedule = ifcopenshell.api.run("document.add_information", ifc) + schedule.Location = "uri" + reference = ifcopenshell.api.run("document.add_reference", ifc, information=schedule) + subject.get_schedule_location(schedule) == "uri" + + def test_run_ifc2x3(self): + ifc = ifcopenshell.file(schema="IFC2X3") + reference = ifc.createIfcDocumentReference(Location="uri") + schedule = ifc.createIfcDocumentInformation(DocumentReferences=[reference]) + subject.get_sheet_filename(schedule) == "uri" + + class TestGetSheetFilename(NewFile): def test_run(self): ifc = ifcopenshell.file() @@ -408,6 +438,30 @@ class TestImportDrawings(NewFile): assert props.drawings[0].target_view == "PLAN_VIEW" +class TestImportSchedules(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifc.createIfcDocumentInformation(Identification="Y", Name="FOOBAZ") + document = ifc.createIfcDocumentInformation(Identification="X", Name="FOOBAR", Scope="SCHEDULE") + subject.import_schedules() + props = bpy.context.scene.DocProperties + assert props.schedules[0].ifc_definition_id == document.id() + assert props.schedules[0].identification == "X" + assert props.schedules[0].name == "FOOBAR" + + def test_run_ifc2x3(self): + ifc = ifcopenshell.file(schema="IFC2X3") + tool.Ifc.set(ifc) + ifc.createIfcDocumentInformation(DocumentId="Y", Name="FOOBAZ") + document = ifc.createIfcDocumentInformation(DocumentId="X", Name="FOOBAR", Scope="SCHEDULE") + subject.import_schedules() + props = bpy.context.scene.DocProperties + assert props.schedules[0].ifc_definition_id == document.id() + assert props.schedules[0].identification == "X" + assert props.schedules[0].name == "FOOBAR" + + class TestImportSheets(NewFile): def test_run(self): ifc = ifcopenshell.file() @@ -475,6 +529,11 @@ class TestImportTextProduct(NewFile): assert label_obj.BIMTextProperties.relating_product is None +class TestOpenSchedule(NewFile): + def open_spreadsheet(self): + pass + + class TestOpenSvg(NewFile): def test_nothing(self): pass From 3a90d664fa0c0a32f85768b2402d617c019183c2 Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Sun, 24 Apr 2022 10:54:01 -0500 Subject: [PATCH 052/243] added 3"=1'-0" scale (a common scale), and corrected 6"=1'-0" scale --- src/blenderbim/blenderbim/bim/module/drawing/prop.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index c3d127d5fe..1105869828 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -99,7 +99,8 @@ def get_diagram_scales(self, context): diagram_scales_enum = [ ("CUSTOM", "Custom", ""), ("1'=1'-0\"|1/1", "1'=1'-0\"", ""), - ('6"=1\'-0"|1/6', '6"=1\'-0"', ""), + ('6"=1\'-0"|1/2', '6"=1\'-0"', ""), + ('3"=1\'-0"|1/4', '3"=1\'-0"', ""), ('1-1/2"=1\'-0"|1/8', '1-1/2"=1\'-0"', ""), ('1"=1\'-0"|1/12', '1"=1\'-0"', ""), ('3/4"=1\'-0"|1/16', '3/4"=1\'-0"', ""), From 07fa7003fb19ed7aa9d964dbeca06951d5cefb18 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 14:33:57 +1000 Subject: [PATCH 053/243] Minor fix --- src/blenderbim/blenderbim/core/tool.py | 2 ++ src/blenderbim/test/core/test_drawing.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 146445d35b..ef8440f7c5 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -185,6 +185,7 @@ class Drawing: def get_group_elements(cls, group): pass def get_ifc_representation_class(cls, object_type): pass def get_name(cls, element): pass + def get_schedule_location(cls, schedule): pass def get_sheet_filename(cls, document): pass def get_text_literal(cls, obj): pass def get_text_product(cls, element): pass @@ -193,6 +194,7 @@ class Drawing: def import_sheets(cls): pass def import_text_attributes(cls, obj): pass def import_text_product(cls, obj): pass + def open_spreadsheet(cls, uri): pass def open_svg(cls, filepath): pass def run_root_assign_class(cls, obj=None, ifc_class=None, predefined_type=None, should_add_representation=True, context=None, ifc_representation_class=None): pass def set_drawing_collection_name(cls, group, collection): pass diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index 859e2a9362..f6484cab03 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -183,12 +183,12 @@ class TestOpenSchedule: class TestUpdateScheduleName: def test_do_not_update_if_name_unchanged(self, ifc, drawing): drawing.get_name("schedule").should_be_called().will_return("name") - subject.update_drawing_name(ifc, drawing, schedule="schedule", name="name") + subject.update_schedule_name(ifc, drawing, schedule="schedule", name="name") def test_run(self, ifc, drawing): drawing.get_name("schedule").should_be_called().will_return("oldname") ifc.run("document.edit_information", information="schedule", attributes={"Name": "name"}).should_be_called() - subject.update_drawing_name(ifc, drawing, schedule="schedule", name="name") + subject.update_schedule_name(ifc, drawing, schedule="schedule", name="name") class TestLoadDrawings: From 265ebaebb8e4d1fef2d7de5fd6b5103d66e2a172 Mon Sep 17 00:00:00 2001 From: maxfb87 Date: Tue, 12 Apr 2022 22:13:55 +0200 Subject: [PATCH 054/243] Refactor BIM_PT_gis --- .../bim/module/georeference/__init__.py | 14 +- .../bim/module/georeference/operator.py | 385 +++--------------- .../blenderbim/bim/module/georeference/ui.py | 51 ++- src/blenderbim/blenderbim/core/tool.py | 13 + src/blenderbim/blenderbim/tool/__init__.py | 1 + 5 files changed, 102 insertions(+), 362 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py index 7d644a30df..71196793d5 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py @@ -24,15 +24,15 @@ classes = ( operator.DisableEditingGeoreferencing, operator.EditGeoreferencing, operator.SetIfcGridNorth, - operator.SetBlenderGridNorth, - operator.SetIfcTrueNorth, - operator.SetBlenderTrueNorth, +# operator.SetBlenderGridNorth, +# operator.SetIfcTrueNorth, +# operator.SetBlenderTrueNorth, operator.RemoveGeoreferencing, operator.AddGeoreferencing, - operator.ConvertLocalToGlobal, - operator.ConvertGlobalToLocal, - operator.GetCursorLocation, - operator.SetCursorLocation, +# operator.ConvertLocalToGlobal, +# operator.ConvertGlobalToLocal, +# operator.GetCursorLocation, +# operator.SetCursorLocation, prop.BIMGeoreferenceProperties, ui.BIM_PT_gis, ui.BIM_PT_gis_utilities, diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py index 5b3e09037d..62e8e02b7d 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py @@ -17,345 +17,72 @@ # along with BlenderBIM Add-on. If not, see . import bpy -import json -import ifcopenshell -import ifcopenshell.util.unit -import ifcopenshell.util.attribute -import ifcopenshell.api -import blenderbim.bim.helper -from blenderbim.bim.ifc import IfcStore -from ifcopenshell.api.georeference.data import Data -from ifcopenshell.api.unit.data import Data as UnitData -from math import radians, degrees, atan, tan, cos, sin +import blenderbim.tool as tool +import blenderbim.core.georeference as core +import blenderbim.bim.handler - -class EnableEditingGeoreferencing(bpy.types.Operator): - bl_idname = "bim.enable_editing_georeferencing" - bl_label = "Enable Editing Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - self.file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - self.props = props - - props.projected_crs.clear() - - blenderbim.bim.helper.import_attributes( - "IfcProjectedCRS", props.projected_crs, Data.projected_crs, self.import_projected_crs_attributes - ) - - props.map_conversion.clear() - blenderbim.bim.helper.import_attributes( - "IfcMapConversion", props.map_conversion, Data.map_conversion, self.import_map_conversion_attributes - ) - - props.has_true_north = bool(Data.true_north) - if Data.true_north: - props.true_north_abscissa = str(Data.true_north[0]) - props.true_north_ordinate = str(Data.true_north[1]) - - props.is_editing = True - return {"FINISHED"} - - def import_projected_crs_attributes(self, name, prop, data): - if name == "MapUnit": - new = self.props.projected_crs.add() - new.name = name - new.data_type = "enum" - new.is_null = data[name] is None - new.is_optional = True - new.enum_items = json.dumps( - {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} - ) - if data["MapUnit"]: - new.enum_value = str(data["MapUnit"]["id"]) - return True - - def import_map_conversion_attributes(self, name, prop, data): - if name not in ["SourceCRS", "TargetCRS"]: - # Enforce a string data type to prevent data loss in single-precision Blender props - prop.data_type = "string" - prop.string_value = "" if prop.is_null else str(data[name]) - return True - - -class DisableEditingGeoreferencing(bpy.types.Operator): - bl_idname = "bim.disable_editing_georeferencing" - bl_label = "Disable Editing Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - props = context.scene.BIMGeoreferenceProperties - props.is_editing = False - return {"FINISHED"} - - -class EditGeoreferencing(bpy.types.Operator): - bl_idname = "bim.edit_georeferencing" - bl_label = "Edit Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - return IfcStore.execute_ifc_operator(self, context) - - def _execute(self, context): - self.file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - - projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, self.export_crs_attributes) - map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, self.export_map_attributes) - - true_north = None - if props.has_true_north: - try: - true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] - except ValueError: - self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") - - ifcopenshell.api.run( - "georeference.edit_georeferencing", - self.file, - **{ - "map_conversion": map_conversion, - "projected_crs": projected_crs, - "true_north": true_north, - } - ) - Data.load(self.file) - bpy.ops.bim.disable_editing_georeferencing() - return {"FINISHED"} - - def export_map_attributes(self, attributes, prop): - if not prop.is_null and prop.data_type == "string": - # We store our floats as string to prevent single precision data loss - attributes[prop.name] = float(prop.string_value) - return True - - def export_crs_attributes(self, attributes, prop): - if not prop.is_null and prop.name == "MapUnit": - attributes[prop.name] = self.file.by_id(int(prop.enum_value)) - return True - - -class SetBlenderGridNorth(bpy.types.Operator): - bl_idname = "bim.set_blender_grid_north" - bl_label = "Set Blender Grid North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - context.scene.sun_pos_properties.north_offset = -radians( - ifcopenshell.util.geolocation.xaxis2angle( - float(context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), - float(context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), - ) - ) - return {"FINISHED"} - - -class SetIfcGridNorth(bpy.types.Operator): - bl_idname = "bim.set_ifc_grid_north" - bl_label = "Set IFC Grid North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - x_angle = -context.scene.sun_pos_properties.north_offset - context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) - context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) - return {"FINISHED"} - - -class SetBlenderTrueNorth(bpy.types.Operator): - bl_idname = "bim.set_blender_true_north" - bl_label = "Set Blender True North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - context.scene.sun_pos_properties.north_offset = -radians( - ifcopenshell.util.geolocation.yaxis2angle( - float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), - float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), - ) - ) - return {"FINISHED"} - - -class SetIfcTrueNorth(bpy.types.Operator): - bl_idname = "bim.set_ifc_true_north" - bl_label = "Set IFC True North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - y_angle = -context.scene.sun_pos_properties.north_offset + radians(90) - context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(cos(y_angle)) - context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(sin(y_angle)) - return {"FINISHED"} - - -class RemoveGeoreferencing(bpy.types.Operator): - bl_idname = "bim.remove_georeferencing" - bl_label = "Remove Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - return IfcStore.execute_ifc_operator(self, context) - - def _execute(self, context): - ifcopenshell.api.run("georeference.remove_georeferencing", IfcStore.get_file()) - Data.load(IfcStore.get_file()) - return {"FINISHED"} - - -class AddGeoreferencing(bpy.types.Operator): +class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_georeferencing" bl_label = "Add Georeferencing" bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - return IfcStore.execute_ifc_operator(self, context) + bl_description = "Add a new georeference" def _execute(self, context): - ifcopenshell.api.run("georeference.add_georeferencing", IfcStore.get_file()) - Data.load(IfcStore.get_file()) - return {"FINISHED"} - - -class ConvertLocalToGlobal(bpy.types.Operator): - bl_idname = "bim.convert_local_to_global" - bl_label = "Convert Local To Global" + core.add_georeferencing(tool.Ifc) + +class EnableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.enable_editing_georeferencing" + bl_label = "Enable Editing Georeferencing" bl_options = {"REGISTER", "UNDO"} + bl_description = "Enable editing georeferencing" + + def _execute(self, context): + core.enable_editing_georeferencing(tool.Georeference) - @classmethod - def poll(cls, context): - file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - return file and props.coordinate_input.count(",") == 2 - - def execute(self, context): - if not Data.is_loaded: - Data.load(IfcStore.get_file()) - props = context.scene.BIMGeoreferenceProperties - x, y, z = [float(co) for co in props.coordinate_input.split(",")] - - if props.has_blender_offset: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - float(props.blender_eastings), - float(props.blender_northings), - float(props.blender_orthogonal_height), - float(props.blender_x_axis_abscissa), - float(props.blender_x_axis_ordinate), - 1.0, - ) - x, y, z = results - - # TODO: what if the project CRS units and the project units are different? - - if Data.map_conversion: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - Data.map_conversion["Eastings"], - Data.map_conversion["Northings"], - Data.map_conversion["OrthogonalHeight"], - Data.map_conversion.get("XAxisAbscissa", 1.0), - Data.map_conversion.get("XAxisOrdinate", 0.0), - Data.map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) - - props.coordinate_output = ",".join([str(r) for r in results]) - context.scene.cursor.location = results - return {"FINISHED"} - - -class ConvertGlobalToLocal(bpy.types.Operator): - bl_idname = "bim.convert_global_to_local" - bl_label = "Convert Global To Local" +class RemoveGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.remove_georeferencing" + bl_label = "Remove Georeferencing" bl_options = {"REGISTER", "UNDO"} - - @classmethod - def poll(cls, context): - file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 - - def execute(self, context): - if not Data.is_loaded: - Data.load(IfcStore.get_file()) - props = context.scene.BIMGeoreferenceProperties - x, y, z = [float(co) for co in props.coordinate_input.split(",")] - - if Data.map_conversion: - results = ifcopenshell.util.geolocation.enh2xyz( - x, - y, - z, - Data.map_conversion["Eastings"], - Data.map_conversion["Northings"], - Data.map_conversion["OrthogonalHeight"], - Data.map_conversion.get("XAxisAbscissa", 1.0), - Data.map_conversion.get("XAxisOrdinate", 0.0), - Data.map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) - - if props.has_blender_offset: - results = ifcopenshell.util.geolocation.enh2xyz( - results[0], - results[1], - results[2], - float(props.blender_eastings), - float(props.blender_northings), - float(props.blender_orthogonal_height), - float(props.blender_x_axis_abscissa), - float(props.blender_x_axis_ordinate), - 1.0, - ) - - props.coordinate_output = ",".join([str(r) for r in results]) - - scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) - context.scene.cursor.location = [o * scale for o in results] - return {"FINISHED"} - - -class GetCursorLocation(bpy.types.Operator): - bl_idname = "bim.get_cursor_location" - bl_label = "Get Cursor Location" + bl_description = "Remove the georeferencing" + + def _execute(self, context): + core.remove_georeferencing(tool.Ifc) + +class EditGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.edit_georeferencing" + bl_label = "Edit Georeferencing" bl_options = {"REGISTER", "UNDO"} - - @classmethod - def poll(cls, context): - file = IfcStore.get_file() - return file and file.by_type("IfcUnitAssignment") - - def execute(self, context): - props = context.scene.BIMGeoreferenceProperties - scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) - project_coordinates = [o / scale for o in context.scene.cursor.location] - props.coordinate_input = ",".join([str(o) for o in project_coordinates]) - return {"FINISHED"} - - -class SetCursorLocation(bpy.types.Operator): - bl_idname = "bim.set_cursor_location" - bl_label = "Set Cursor Location" + bl_description = "Edit the georeferencing" + + def _execute(self, context): + core.edit_georeferencing(tool.Ifc, tool.Georeference) + +class DisableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.disable_editing_georeferencing" + bl_label = "Disable Editing Georeferencing" bl_options = {"REGISTER", "UNDO"} + bl_description = "Close editing panel" + + def _execute(self, context): + core.disable_editing_georeferencing(tool.Georeference) + +class SetIfcGridNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_ifc_grid_north" + bl_label = "Set IFC Grid North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set IFC grid north" + + def _execute(self, context): + core.set_ifc_grid_north() + +class SetBlenderGridNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_blender_grid_north" + bl_label = "Set Blender Grid North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set Blender grif north" + + def _execute(self, context): + core.set_blender_grid_north() + - @classmethod - def poll(cls, context): - file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - return file and file.by_type("IfcUnitAssignment") and props.coordinate_output.count(",") == 2 - def execute(self, context): - props = context.scene.BIMGeoreferenceProperties - scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) - context.scene.cursor.location = [float(co) * scale for co in props.coordinate_output.split(",")] - return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 456d378f03..984590e51c 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -18,10 +18,10 @@ import ifcopenshell.util.geolocation from bpy.types import Panel -from ifcopenshell.api.georeference.data import Data +#from ifcopenshell.api.georeference.data import Data from blenderbim.bim.ifc import IfcStore from blenderbim.bim.helper import draw_attributes, draw_attribute - +from blenderbim.bim.module.georeference.data import GeoreferenceData class BIM_PT_gis(Panel): bl_label = "IFC Georeferencing" @@ -31,18 +31,15 @@ class BIM_PT_gis(Panel): bl_region_type = "WINDOW" bl_context = "scene" bl_parent_id = "BIM_PT_geometry" - - @classmethod - def poll(cls, context): - return IfcStore.get_file() - + def draw(self, context): self.layout.use_property_split = True self.layout.use_property_decorate = False props = context.scene.BIMGeoreferenceProperties - if not Data.is_loaded: - Data.load(IfcStore.get_file()) - + + if not GeoreferenceData.is_loaded: + GeoreferenceData.load() + if props.is_editing: return self.draw_editable_ui(context) self.draw_ui(context) @@ -76,18 +73,19 @@ class BIM_PT_gis(Panel): row.prop(props, "true_north_ordinate") if hasattr(context.scene, "sun_pos_properties"): row = self.layout.row(align=True) - row.operator("bim.set_ifc_true_north", text="Set IFC North") - row.operator("bim.set_blender_true_north", text="Set Blender North") + # row.operator("bim.set_ifc_true_north", text="Set IFC North") + # row.operator("bim.set_blender_true_north", text="Set Blender North") + def draw_ui(self, context): props = context.scene.BIMGeoreferenceProperties - if not Data.projected_crs: + if not GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Not Georeferenced") if IfcStore.get_file().schema != "IFC2X3": row.operator("bim.add_georeferencing", icon="ADD", text="") - + if props.has_blender_offset: row = self.layout.row() row.label(text="Blender Offset", icon="TRACKING_REFINE_FORWARDS") @@ -120,13 +118,13 @@ class BIM_PT_gis(Panel): ) ) - if Data.projected_crs: + if GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Projected CRS", icon="WORLD") row.operator("bim.enable_editing_georeferencing", icon="GREASEPENCIL", text="") row.operator("bim.remove_georeferencing", icon="X", text="") - for key, value in Data.projected_crs.items(): + for key, value in GeoreferenceData.data["projected_crs"].items(): if key == "id" or key == "type" or not value: continue if key == "MapUnit": @@ -137,11 +135,11 @@ class BIM_PT_gis(Panel): row.label(text=key) row.label(text=str(value)) - if Data.map_conversion: + if GeoreferenceData.data["map_conversion"]: row = self.layout.row(align=True) row.label(text="Map Conversion", icon="GRID") - for key, value in Data.map_conversion.items(): + for key, value in GeoreferenceData.data["map_conversion"].items(): if key == "id" or key == "type" or key == "SourceCRS" or key == "TargetCRS" or value is None: continue row = self.layout.row(align=True) @@ -154,22 +152,22 @@ class BIM_PT_gis(Panel): text=str( round( ifcopenshell.util.geolocation.xaxis2angle( - Data.map_conversion["XAxisAbscissa"], Data.map_conversion["XAxisOrdinate"] + GeoreferenceData.data["map_conversion"]["XAxisAbscissa"], GeoreferenceData.data["map_conversion"]["XAxisOrdinate"] ), 3, ) ) ) - if Data.true_north: + if GeoreferenceData.data["true_north"]: row = self.layout.row() row.label(text="True North", icon="LIGHT_SUN") row = self.layout.row(align=True) row.label(text="Vector") - row.label(text=str(Data.true_north[0:2])[1:-1]) + row.label(text=str(GeoreferenceData.data["true_north"][0:2])[1:-1]) row = self.layout.row(align=True) row.label(text="Derived Angle") - row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*Data.true_north[0:2]), 3))) + row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*GeoreferenceData.data["true_north"][0:2]), 3))) class BIM_PT_gis_utilities(Panel): @@ -185,11 +183,12 @@ class BIM_PT_gis_utilities(Panel): row = self.layout.row(align=True) row.prop(props, "coordinate_input", text="Input") - row.operator("bim.get_cursor_location", text="", icon="TRACKER") + #row.operator("bim.get_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) row.prop(props, "coordinate_output", text="Output") - row.operator("bim.set_cursor_location", text="", icon="TRACKER") + #row.operator("bim.set_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) - row.operator("bim.convert_local_to_global", text="Local to Global") - row.operator("bim.convert_global_to_local", text="Global to Local") + #row.operator("bim.convert_local_to_global", text="Local to Global") + #row.operator("bim.convert_global_to_local", text="Global to Local") + diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index ef8440f7c5..8d5997e8c4 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -246,6 +246,19 @@ class Geometry: def should_generate_uvs(cls, obj): pass def should_use_presentation_style_assignment(cls): pass +@interface +class Georeference: + def clear_projected_crs(cls): pass + def clear_map_conversion(cls): pass + def get_file(cls): pass + def set_false_is_editing(cls): pass + def import_projected_crs_attributes(cls, name, prop, data): pass + def import_map_conversion_attributes(cls, name, prop, data): pass + def export_crs_attributes(cls, attributes, prop): pass + def export_map_attributes(cls, attributes, prop): pass + def set_ifc_grid_north(cls): pass + def set_blender_grid_north(cls): pass + @interface class Ifc: diff --git a/src/blenderbim/blenderbim/tool/__init__.py b/src/blenderbim/blenderbim/tool/__init__.py index 7ae4c6fbea..929c26f030 100644 --- a/src/blenderbim/blenderbim/tool/__init__.py +++ b/src/blenderbim/blenderbim/tool/__init__.py @@ -27,6 +27,7 @@ from blenderbim.tool.demo import Demo from blenderbim.tool.document import Document from blenderbim.tool.drawing import Drawing from blenderbim.tool.geometry import Geometry +from blenderbim.tool.georeference import Georeference from blenderbim.tool.ifc import Ifc from blenderbim.tool.library import Library from blenderbim.tool.material import Material From 445e77bac047190baf5362da5f41d44c2c1f67dd Mon Sep 17 00:00:00 2001 From: maxfb87 Date: Tue, 12 Apr 2022 22:16:02 +0200 Subject: [PATCH 055/243] Refactor BIM_PT_gis added files --- .../bim/module/georeference/data.py | 112 ++++++++++++++++++ .../blenderbim/core/georeference.py | 93 +++++++++++++++ .../blenderbim/tool/georeference.py | 99 ++++++++++++++++ 3 files changed, 304 insertions(+) create mode 100644 src/blenderbim/blenderbim/bim/module/georeference/data.py create mode 100644 src/blenderbim/blenderbim/core/georeference.py create mode 100644 src/blenderbim/blenderbim/tool/georeference.py diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py new file mode 100644 index 0000000000..2fa8ef89a0 --- /dev/null +++ b/src/blenderbim/blenderbim/bim/module/georeference/data.py @@ -0,0 +1,112 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +# ############################################################################ # + +import blenderbim.tool as tool + +def refresh(): + GeoreferenceData.is_loaded = False + +class GeoreferenceData: + data = {} + is_loaded = False + + @classmethod + def load(cls): + cls.data = { + "map_conversion" : cls.map_conversion(), + "projected_crs" : cls.projected_crs(), + "true_north" : cls.true_north(), + } + cls.is_loaded = True + + @classmethod + def is_georeferenced(cls): + ifc = tool.Ifc.get() + if ifc.schema == "IFC2X3": + return + + map_conversions = [] + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + map_conversions.append(context) + + return True if map_conversions else False + + @classmethod + def map_conversion(cls): + ifc = tool.Ifc.get() + map_conversion_v = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + map_conversion_v = context.HasCoordinateOperation[0].get_info() + map_conversion_v["SourceCRS"] = map_conversion_v["SourceCRS"].id() + map_conversion_v["TargetCRS"] = map_conversion_v["TargetCRS"].id() + + break + + return map_conversion_v + + @classmethod + def projected_crs(cls): + ifc = tool.Ifc.get() + projected_crs = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() + if projected_crs["MapUnit"]: + projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() + + if projected_crs["MapUnit"]: + projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() + break + + return projected_crs + + @classmethod + def true_north(cls): + ifc = tool.Ifc.get() + true_north = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.TrueNorth: + continue + true_north = context.TrueNorth.DirectionRatios + break + + return true_north + + + diff --git a/src/blenderbim/blenderbim/core/georeference.py b/src/blenderbim/blenderbim/core/georeference.py new file mode 100644 index 0000000000..4ef8dcf960 --- /dev/null +++ b/src/blenderbim/blenderbim/core/georeference.py @@ -0,0 +1,93 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import bpy +import blenderbim.bim.helper +import ifcopenshell + +from blenderbim.bim.module.georeference.data import GeoreferenceData + +def add_georeferencing(ifc): + ifc.run("georeference.add_georeferencing") + +def enable_editing_georeferencing(georeference): #TODO simplify this function + georeference.clear_projected_crs() + + blenderbim.bim.helper.import_attributes( + "IfcProjectedCRS", + bpy.context.scene.BIMGeoreferenceProperties.projected_crs, + GeoreferenceData.data["projected_crs"], + georeference.import_projected_crs_attributes, + ) + + georeference.clear_map_conversion() + + blenderbim.bim.helper.import_attributes( + "IfcMapConversion", + bpy.context.scene.BIMGeoreferenceProperties.map_conversion, + GeoreferenceData.data["map_conversion"], + georeference.import_map_conversion_attributes, + ) + + bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(GeoreferenceData.data["true_north"]) + + if GeoreferenceData.data["true_north"]: + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(GeoreferenceData.data["true_north"][0]) + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(GeoreferenceData.data["true_north"][1]) + + bpy.context.scene.BIMGeoreferenceProperties.is_editing = True + +def remove_georeferencing(ifc): + ifc.run("georeference.remove_georeferencing") + +def edit_georeferencing(ifc, georeference): + props = bpy.context.scene.BIMGeoreferenceProperties + ifc_file = georeference.get_file() + + projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, georeference.export_crs_attributes) + map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, georeference.export_map_attributes) + + true_north = None +# if props.has_true_north: +# try: +# true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] +# except ValueError: +# self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") + + ifcopenshell.api.run( #TODO use ifc.run + "georeference.edit_georeferencing", + ifc_file, + **{ + "map_conversion": map_conversion, + "projected_crs": projected_crs, + "true_north": true_north, + } + ) + + bpy.ops.bim.disable_editing_georeferencing() + +def disable_editing_georeferencing(georeference): + georeference.set_false_is_editing() + +def set_ifc_grid_north(georeference): + georeference.set_ifc_grid_north() + +def set_blender_grid_north(georeference): + georeference.set_blender_grid_north() + + diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py new file mode 100644 index 0000000000..16ee96efe0 --- /dev/null +++ b/src/blenderbim/blenderbim/tool/georeference.py @@ -0,0 +1,99 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + + +import bpy +import json +import blenderbim.core.tool +import blenderbim.tool as tool +import ifcopenshell + +from ifcopenshell.api.unit.data import Data as UnitData + +class Georeference(blenderbim.core.tool.Georeference): + + @classmethod + def clear_projected_crs(cls): + bpy.context.scene.BIMGeoreferenceProperties.projected_crs.clear() + + @classmethod + def clear_map_conversion(cls): + bpy.context.scene.BIMGeoreferenceProperties.map_conversion.clear() + + @classmethod + def get_file(cls): + return tool.Ifc.get() + + @classmethod + def import_projected_crs_attributes(cls, name, prop, data): + if name == "MapUnit": + new = bpy.context.scene.BIMGeoreferenceProperties.projected_crs.add() + new.name = name + new.data_type = "enum" + new.is_null = data[name] is None + new.is_optional = True + new.enum_items = json.dumps( + {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} + ) + if data["MapUnit"]: + new.enum_value = str(data["MapUnit"]["id"]) + return True + + @classmethod + def import_map_conversion_attributes(cls, name, prop, data): + if name not in ["SourceCRS", "TargetCRS"]: + # Enforce a string data type to prevent data loss in single-precision Blender props + prop.data_type = "string" + prop.string_value = "" if prop.is_null else str(data[name]) + return True + + @classmethod + def export_crs_attributes(cls, attributes, prop,): + ifc_file = tool.Ifc.get() + if not prop.is_null and prop.name == "MapUnit": + attributes[prop.name] = ifc_file.by_id(int(prop.enum_value)) + return True + + @classmethod + def export_map_attributes(cls, attributes, prop): + if not prop.is_null and prop.data_type == "string": + # We store our floats as string to prevent single precision data loss + attributes[prop.name] = float(prop.string_value) + return True + + @classmethod + def set_false_is_editing(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + props.is_editing = False + + @classmethod + def set_ifc_grid_north(cls): + x_angle = -bpy.context.scene.sun_pos_properties.north_offset + bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) + bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) + + @classmethod + def set_blender_grid_north(cls): + bpy.context.scene.sun_pos_properties.north_offset = -radians( + ifcopenshell.util.geolocation.xaxis2angle( + float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), + float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), + ) + ) + + From dfb980e0d1b13e3883222f1c0be61948e87a76a1 Mon Sep 17 00:00:00 2001 From: maxfb87 Date: Tue, 12 Apr 2022 22:22:56 +0200 Subject: [PATCH 056/243] minox fix --- src/blenderbim/blenderbim/bim/module/georeference/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py index 71196793d5..609e9ce0d2 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py @@ -24,7 +24,7 @@ classes = ( operator.DisableEditingGeoreferencing, operator.EditGeoreferencing, operator.SetIfcGridNorth, -# operator.SetBlenderGridNorth, + operator.SetBlenderGridNorth, # operator.SetIfcTrueNorth, # operator.SetBlenderTrueNorth, operator.RemoveGeoreferencing, From fcd5908ac95a70bdaa356024206f4f85ee6b783c Mon Sep 17 00:00:00 2001 From: maxfb87 Date: Fri, 15 Apr 2022 14:52:15 +0200 Subject: [PATCH 057/243] Finish refactor georeference module --- .../bim/module/georeference/__init__.py | 12 +- .../bim/module/georeference/data.py | 16 -- .../bim/module/georeference/operator.py | 78 +++++++++- .../blenderbim/bim/module/georeference/ui.py | 18 ++- .../blenderbim/core/georeference.py | 64 ++++---- src/blenderbim/blenderbim/core/tool.py | 13 +- .../blenderbim/tool/georeference.py | 144 +++++++++++++++++- 7 files changed, 276 insertions(+), 69 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py index 609e9ce0d2..7d644a30df 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py @@ -25,14 +25,14 @@ classes = ( operator.EditGeoreferencing, operator.SetIfcGridNorth, operator.SetBlenderGridNorth, -# operator.SetIfcTrueNorth, -# operator.SetBlenderTrueNorth, + operator.SetIfcTrueNorth, + operator.SetBlenderTrueNorth, operator.RemoveGeoreferencing, operator.AddGeoreferencing, -# operator.ConvertLocalToGlobal, -# operator.ConvertGlobalToLocal, -# operator.GetCursorLocation, -# operator.SetCursorLocation, + operator.ConvertLocalToGlobal, + operator.ConvertGlobalToLocal, + operator.GetCursorLocation, + operator.SetCursorLocation, prop.BIMGeoreferenceProperties, ui.BIM_PT_gis, ui.BIM_PT_gis_utilities, diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py index 2fa8ef89a0..263e75774e 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/data.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/data.py @@ -16,8 +16,6 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . -# ############################################################################ # - import blenderbim.tool as tool def refresh(): @@ -35,20 +33,6 @@ class GeoreferenceData: "true_north" : cls.true_north(), } cls.is_loaded = True - - @classmethod - def is_georeferenced(cls): - ifc = tool.Ifc.get() - if ifc.schema == "IFC2X3": - return - - map_conversions = [] - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - map_conversions.append(context) - - return True if map_conversions else False @classmethod def map_conversion(cls): diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py index 62e8e02b7d..b41a36379a 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py @@ -19,7 +19,6 @@ import bpy import blenderbim.tool as tool import blenderbim.core.georeference as core -import blenderbim.bim.handler class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_georeferencing" @@ -79,10 +78,85 @@ class SetBlenderGridNorth(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_blender_grid_north" bl_label = "Set Blender Grid North" bl_options = {"REGISTER", "UNDO"} - bl_description = "Set Blender grif north" + bl_description = "Set Blender grid north" def _execute(self, context): core.set_blender_grid_north() +class GetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.get_cursor_location" + bl_label = "Get Cursor Location" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Insert the current cursor coordinates" + + @classmethod + def poll(cls, context): #TODO is it right to use the poll method? + file = tool.Ifc.get() + return file and file.by_type("IfcUnitAssignment") + + def _execute(self, context): + core.get_cursor_location(tool.Georeference) + +class SetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_cursor_location" + bl_label = "Set Cursor Location" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set curson location to coordinates" + @classmethod + def poll(cls, context): #TODO is it right to use the poll method? + file = tool.Ifc.get() + props = context.scene.BIMGeoreferenceProperties + return file and file.by_type("IfcUnitAssignment") and props.coordinate_output.count(",") == 2 + + def _execute(self, context): + core.set_cursor_location(tool.Georeference) + +class SetIfcTrueNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_ifc_true_north" + bl_label = "Set IFC True North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set IFC True north" + + def _execute(self, context): + core.set_ifc_true_north(tool.Georeference) + +class SetBlenderTrueNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_blender_true_north" + bl_label = "Set Blender True North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set Blender true north" + + def _execute(self, context): + core.set_blender_true_north(tool.Georeference) + +class ConvertLocalToGlobal(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.convert_local_to_global" + bl_label = "Convert Local To Global" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Convert local coordinate to global coordinate" + + @classmethod + def poll(cls, context): + file = tool.Ifc.get() + props = context.scene.BIMGeoreferenceProperties + return file and props.coordinate_input.count(",") == 2 + + def _execute(self, context): + core.convert_local_to_global(tool.Georeference) + +class ConvertGlobalToLocal(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.convert_global_to_local" + bl_label = "Convert Global To Local" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Convert global coordinate to local coordinate" + + @classmethod + def poll(cls, context): + file = tool.Ifc.get() + props = context.scene.BIMGeoreferenceProperties + return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 + + def _execute(self, context): + core.convert_global_to_local(tool.Georeference) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 984590e51c..93dcc34c38 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -18,7 +18,6 @@ import ifcopenshell.util.geolocation from bpy.types import Panel -#from ifcopenshell.api.georeference.data import Data from blenderbim.bim.ifc import IfcStore from blenderbim.bim.helper import draw_attributes, draw_attribute from blenderbim.bim.module.georeference.data import GeoreferenceData @@ -73,8 +72,8 @@ class BIM_PT_gis(Panel): row.prop(props, "true_north_ordinate") if hasattr(context.scene, "sun_pos_properties"): row = self.layout.row(align=True) - # row.operator("bim.set_ifc_true_north", text="Set IFC North") - # row.operator("bim.set_blender_true_north", text="Set Blender North") + row.operator("bim.set_ifc_true_north", text="Set IFC North") + row.operator("bim.set_blender_true_north", text="Set Blender North") def draw_ui(self, context): @@ -83,7 +82,7 @@ class BIM_PT_gis(Panel): if not GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Not Georeferenced") - if IfcStore.get_file().schema != "IFC2X3": + if IfcStore.get_file().schema != "IFC2X3": #TODO Is it correct to use IfcStore.get_file() or is it better tool.Ifc.get()? row.operator("bim.add_georeferencing", icon="ADD", text="") if props.has_blender_offset: @@ -179,16 +178,19 @@ class BIM_PT_gis_utilities(Panel): bl_category = "BlenderBIM" def draw(self, context): + if not GeoreferenceData.is_loaded: + GeoreferenceData.load() + props = context.scene.BIMGeoreferenceProperties row = self.layout.row(align=True) row.prop(props, "coordinate_input", text="Input") - #row.operator("bim.get_cursor_location", text="", icon="TRACKER") + row.operator("bim.get_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) row.prop(props, "coordinate_output", text="Output") - #row.operator("bim.set_cursor_location", text="", icon="TRACKER") + row.operator("bim.set_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) - #row.operator("bim.convert_local_to_global", text="Local to Global") - #row.operator("bim.convert_global_to_local", text="Global to Local") + row.operator("bim.convert_local_to_global", text="Local to Global") + row.operator("bim.convert_global_to_local", text="Global to Local") diff --git a/src/blenderbim/blenderbim/core/georeference.py b/src/blenderbim/blenderbim/core/georeference.py index 4ef8dcf960..4e5a174b90 100644 --- a/src/blenderbim/blenderbim/core/georeference.py +++ b/src/blenderbim/blenderbim/core/georeference.py @@ -18,71 +18,60 @@ import bpy import blenderbim.bim.helper -import ifcopenshell from blenderbim.bim.module.georeference.data import GeoreferenceData +from math import radians, degrees, atan, tan, cos, sin + def add_georeferencing(ifc): ifc.run("georeference.add_georeferencing") -def enable_editing_georeferencing(georeference): #TODO simplify this function +def enable_editing_georeferencing(georeference): + props = bpy.context.scene.BIMGeoreferenceProperties + georeference.clear_projected_crs() blenderbim.bim.helper.import_attributes( "IfcProjectedCRS", - bpy.context.scene.BIMGeoreferenceProperties.projected_crs, + props.projected_crs, GeoreferenceData.data["projected_crs"], georeference.import_projected_crs_attributes, ) - + georeference.clear_map_conversion() - + blenderbim.bim.helper.import_attributes( "IfcMapConversion", - bpy.context.scene.BIMGeoreferenceProperties.map_conversion, + props.map_conversion, GeoreferenceData.data["map_conversion"], georeference.import_map_conversion_attributes, ) - bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(GeoreferenceData.data["true_north"]) - - if GeoreferenceData.data["true_north"]: - bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(GeoreferenceData.data["true_north"][0]) - bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(GeoreferenceData.data["true_north"][1]) - - bpy.context.scene.BIMGeoreferenceProperties.is_editing = True + georeference.set_has_true_north_prop(GeoreferenceData.data["true_north"]) + georeference.set_true_north_prop(GeoreferenceData.data["true_north"]) + georeference.enable_editing() def remove_georeferencing(ifc): ifc.run("georeference.remove_georeferencing") def edit_georeferencing(ifc, georeference): props = bpy.context.scene.BIMGeoreferenceProperties - ifc_file = georeference.get_file() projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, georeference.export_crs_attributes) map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, georeference.export_map_attributes) - - true_north = None -# if props.has_true_north: -# try: -# true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] -# except ValueError: -# self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") - - ifcopenshell.api.run( #TODO use ifc.run + + true_north = georeference.get_true_north_props(props) + + ifc.run( "georeference.edit_georeferencing", - ifc_file, **{ "map_conversion": map_conversion, "projected_crs": projected_crs, "true_north": true_north, } ) - - bpy.ops.bim.disable_editing_georeferencing() - -def disable_editing_georeferencing(georeference): - georeference.set_false_is_editing() + + georeference.disable_editing() def set_ifc_grid_north(georeference): georeference.set_ifc_grid_north() @@ -90,4 +79,21 @@ def set_ifc_grid_north(georeference): def set_blender_grid_north(georeference): georeference.set_blender_grid_north() +def get_cursor_location(georeference): + georeference.get_cursor_location() + +def set_cursor_location(georeference): + georeference.set_cursor_location() + +def set_ifc_true_north(georeference): + georeference.set_ifc_true_north() + +def set_blender_true_north(georeference): + georeference.set_blender_true_north() + +def convert_local_to_global(georeference): + georeference.convert_local_to_global(GeoreferenceData.data["map_conversion"]) + +def convert_global_to_local(georeference): + georeference.convert_global_to_local(GeoreferenceData.data["map_conversion"]) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 8d5997e8c4..da0733aef4 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -250,15 +250,24 @@ class Geometry: class Georeference: def clear_projected_crs(cls): pass def clear_map_conversion(cls): pass + def set_has_true_north_prop(cls, data): pass + def set_true_north_prop(cls, data): pass + def get_true_north_props(cls, props): pass + def enable_editing(cls): pass + def disable_editing(cls): pass def get_file(cls): pass - def set_false_is_editing(cls): pass def import_projected_crs_attributes(cls, name, prop, data): pass def import_map_conversion_attributes(cls, name, prop, data): pass def export_crs_attributes(cls, attributes, prop): pass def export_map_attributes(cls, attributes, prop): pass def set_ifc_grid_north(cls): pass def set_blender_grid_north(cls): pass - + def get_cursor_location(cls): pass + def set_cursor_location(cls): pass + def set_ifc_true_north(cls): pass + def set_blender_true_north(cls): pass + def convert_local_to_global(cls, map_conversion): pass + def convert_global_to_local(cls, map_conversion): pass @interface class Ifc: diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py index 16ee96efe0..587acfcabe 100644 --- a/src/blenderbim/blenderbim/tool/georeference.py +++ b/src/blenderbim/blenderbim/tool/georeference.py @@ -17,11 +17,13 @@ # along with BlenderBIM Add-on. If not, see . + import bpy import json import blenderbim.core.tool import blenderbim.tool as tool import ifcopenshell +import blenderbim.bim.helper from ifcopenshell.api.unit.data import Data as UnitData @@ -35,6 +37,34 @@ class Georeference(blenderbim.core.tool.Georeference): def clear_map_conversion(cls): bpy.context.scene.BIMGeoreferenceProperties.map_conversion.clear() + @classmethod + def set_has_true_north_prop(cls, data): + bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(data) + + @classmethod + def set_true_north_prop(cls, data): + if data: + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(data[0]) + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(data[1]) + + @classmethod + def get_true_north_props(cls, props): + true_north = None + if props.has_true_north: + try: + true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] + except ValueError: + self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") #TODO use the correct report method + return true_north + + @classmethod + def enable_editing(cls): + bpy.context.scene.BIMGeoreferenceProperties.is_editing = True + + @classmethod + def disable_editing(cls): + bpy.context.scene.BIMGeoreferenceProperties.is_editing = False + @classmethod def get_file(cls): return tool.Ifc.get() @@ -63,7 +93,7 @@ class Georeference(blenderbim.core.tool.Georeference): return True @classmethod - def export_crs_attributes(cls, attributes, prop,): + def export_crs_attributes(cls, attributes, prop): ifc_file = tool.Ifc.get() if not prop.is_null and prop.name == "MapUnit": attributes[prop.name] = ifc_file.by_id(int(prop.enum_value)) @@ -76,11 +106,6 @@ class Georeference(blenderbim.core.tool.Georeference): attributes[prop.name] = float(prop.string_value) return True - @classmethod - def set_false_is_editing(cls): - props = bpy.context.scene.BIMGeoreferenceProperties - props.is_editing = False - @classmethod def set_ifc_grid_north(cls): x_angle = -bpy.context.scene.sun_pos_properties.north_offset @@ -96,4 +121,111 @@ class Georeference(blenderbim.core.tool.Georeference): ) ) + @classmethod + def get_cursor_location(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + project_coordinates = [o / scale for o in bpy.context.scene.cursor.location] + props.coordinate_input = ",".join([str(o) for o in project_coordinates]) + + + @classmethod + def set_cursor_location(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + bpy.context.scene.cursor.location = [float(co) * scale for co in props.coordinate_output.split(",")] + + @classmethod + def set_ifc_true_north(cls): + y_angle = -bpy.context.scene.sun_pos_properties.north_offset + radians(90) + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(cos(y_angle)) + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(sin(y_angle)) + + @classmethod + def set_blender_true_north(cls): + bpy.context.scene.sun_pos_properties.north_offset = -radians( + ifcopenshell.util.geolocation.yaxis2angle( + float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), + float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), + ) + ) + + + @classmethod + def convert_local_to_global(cls, map_conversion): + props = bpy.context.scene.BIMGeoreferenceProperties + x, y, z = [float(co) for co in props.coordinate_input.split(",")] + + if props.has_blender_offset: + results = ifcopenshell.util.geolocation.xyz2enh( + x, + y, + z, + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + 1.0, + ) + x, y, z = results + + # TODO: what if the project CRS units and the project units are different? + + if map_conversion: + results = ifcopenshell.util.geolocation.xyz2enh( + x, + y, + z, + map_conversion["Eastings"], + map_conversion["Northings"], + map_conversion["OrthogonalHeight"], + map_conversion.get("XAxisAbscissa", 1.0), + map_conversion.get("XAxisOrdinate", 0.0), + map_conversion.get("Scale", 1.0), + ) + else: + results = (x, y, z) + + props.coordinate_output = ",".join([str(r) for r in results]) + bpy.context.scene.cursor.location = results + + @classmethod + def convert_global_to_local(cls, map_conversion): + props = bpy.context.scene.BIMGeoreferenceProperties + + x, y, z = [float(co) for co in props.coordinate_input.split(",")] + + if map_conversion: + results = ifcopenshell.util.geolocation.enh2xyz( + x, + y, + z, + map_conversion["Eastings"], + map_conversion["Northings"], + map_conversion["OrthogonalHeight"], + map_conversion.get("XAxisAbscissa", 1.0), + map_conversion.get("XAxisOrdinate", 0.0), + map_conversion.get("Scale", 1.0), + ) + else: + results = (x, y, z) + + if props.has_blender_offset: + results = ifcopenshell.util.geolocation.enh2xyz( + results[0], + results[1], + results[2], + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + 1.0, + ) + + props.coordinate_output = ",".join([str(r) for r in results]) + + scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + bpy.context.scene.cursor.location = [o * scale for o in results] From 99c5f895fc078fde55e8fad87af2a011446a626f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 17:25:22 +1000 Subject: [PATCH 058/243] Revert "Finish refactor georeference module" This reverts commit fcd5908ac95a70bdaa356024206f4f85ee6b783c. --- .../bim/module/georeference/__init__.py | 12 +- .../bim/module/georeference/data.py | 16 ++ .../bim/module/georeference/operator.py | 78 +--------- .../blenderbim/bim/module/georeference/ui.py | 18 +-- .../blenderbim/core/georeference.py | 64 ++++---- src/blenderbim/blenderbim/core/tool.py | 13 +- .../blenderbim/tool/georeference.py | 144 +----------------- 7 files changed, 69 insertions(+), 276 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py index 7d644a30df..609e9ce0d2 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py @@ -25,14 +25,14 @@ classes = ( operator.EditGeoreferencing, operator.SetIfcGridNorth, operator.SetBlenderGridNorth, - operator.SetIfcTrueNorth, - operator.SetBlenderTrueNorth, +# operator.SetIfcTrueNorth, +# operator.SetBlenderTrueNorth, operator.RemoveGeoreferencing, operator.AddGeoreferencing, - operator.ConvertLocalToGlobal, - operator.ConvertGlobalToLocal, - operator.GetCursorLocation, - operator.SetCursorLocation, +# operator.ConvertLocalToGlobal, +# operator.ConvertGlobalToLocal, +# operator.GetCursorLocation, +# operator.SetCursorLocation, prop.BIMGeoreferenceProperties, ui.BIM_PT_gis, ui.BIM_PT_gis_utilities, diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py index 263e75774e..2fa8ef89a0 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/data.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/data.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . +# ############################################################################ # + import blenderbim.tool as tool def refresh(): @@ -33,6 +35,20 @@ class GeoreferenceData: "true_north" : cls.true_north(), } cls.is_loaded = True + + @classmethod + def is_georeferenced(cls): + ifc = tool.Ifc.get() + if ifc.schema == "IFC2X3": + return + + map_conversions = [] + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + map_conversions.append(context) + + return True if map_conversions else False @classmethod def map_conversion(cls): diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py index b41a36379a..62e8e02b7d 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py @@ -19,6 +19,7 @@ import bpy import blenderbim.tool as tool import blenderbim.core.georeference as core +import blenderbim.bim.handler class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_georeferencing" @@ -78,85 +79,10 @@ class SetBlenderGridNorth(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_blender_grid_north" bl_label = "Set Blender Grid North" bl_options = {"REGISTER", "UNDO"} - bl_description = "Set Blender grid north" + bl_description = "Set Blender grif north" def _execute(self, context): core.set_blender_grid_north() -class GetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.get_cursor_location" - bl_label = "Get Cursor Location" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Insert the current cursor coordinates" - - @classmethod - def poll(cls, context): #TODO is it right to use the poll method? - file = tool.Ifc.get() - return file and file.by_type("IfcUnitAssignment") - - def _execute(self, context): - core.get_cursor_location(tool.Georeference) - -class SetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.set_cursor_location" - bl_label = "Set Cursor Location" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Set curson location to coordinates" - @classmethod - def poll(cls, context): #TODO is it right to use the poll method? - file = tool.Ifc.get() - props = context.scene.BIMGeoreferenceProperties - return file and file.by_type("IfcUnitAssignment") and props.coordinate_output.count(",") == 2 - - def _execute(self, context): - core.set_cursor_location(tool.Georeference) - -class SetIfcTrueNorth(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.set_ifc_true_north" - bl_label = "Set IFC True North" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Set IFC True north" - - def _execute(self, context): - core.set_ifc_true_north(tool.Georeference) - -class SetBlenderTrueNorth(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.set_blender_true_north" - bl_label = "Set Blender True North" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Set Blender true north" - - def _execute(self, context): - core.set_blender_true_north(tool.Georeference) - -class ConvertLocalToGlobal(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.convert_local_to_global" - bl_label = "Convert Local To Global" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Convert local coordinate to global coordinate" - - @classmethod - def poll(cls, context): - file = tool.Ifc.get() - props = context.scene.BIMGeoreferenceProperties - return file and props.coordinate_input.count(",") == 2 - - def _execute(self, context): - core.convert_local_to_global(tool.Georeference) - -class ConvertGlobalToLocal(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.convert_global_to_local" - bl_label = "Convert Global To Local" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Convert global coordinate to local coordinate" - - @classmethod - def poll(cls, context): - file = tool.Ifc.get() - props = context.scene.BIMGeoreferenceProperties - return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 - - def _execute(self, context): - core.convert_global_to_local(tool.Georeference) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 93dcc34c38..984590e51c 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -18,6 +18,7 @@ import ifcopenshell.util.geolocation from bpy.types import Panel +#from ifcopenshell.api.georeference.data import Data from blenderbim.bim.ifc import IfcStore from blenderbim.bim.helper import draw_attributes, draw_attribute from blenderbim.bim.module.georeference.data import GeoreferenceData @@ -72,8 +73,8 @@ class BIM_PT_gis(Panel): row.prop(props, "true_north_ordinate") if hasattr(context.scene, "sun_pos_properties"): row = self.layout.row(align=True) - row.operator("bim.set_ifc_true_north", text="Set IFC North") - row.operator("bim.set_blender_true_north", text="Set Blender North") + # row.operator("bim.set_ifc_true_north", text="Set IFC North") + # row.operator("bim.set_blender_true_north", text="Set Blender North") def draw_ui(self, context): @@ -82,7 +83,7 @@ class BIM_PT_gis(Panel): if not GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Not Georeferenced") - if IfcStore.get_file().schema != "IFC2X3": #TODO Is it correct to use IfcStore.get_file() or is it better tool.Ifc.get()? + if IfcStore.get_file().schema != "IFC2X3": row.operator("bim.add_georeferencing", icon="ADD", text="") if props.has_blender_offset: @@ -178,19 +179,16 @@ class BIM_PT_gis_utilities(Panel): bl_category = "BlenderBIM" def draw(self, context): - if not GeoreferenceData.is_loaded: - GeoreferenceData.load() - props = context.scene.BIMGeoreferenceProperties row = self.layout.row(align=True) row.prop(props, "coordinate_input", text="Input") - row.operator("bim.get_cursor_location", text="", icon="TRACKER") + #row.operator("bim.get_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) row.prop(props, "coordinate_output", text="Output") - row.operator("bim.set_cursor_location", text="", icon="TRACKER") + #row.operator("bim.set_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) - row.operator("bim.convert_local_to_global", text="Local to Global") - row.operator("bim.convert_global_to_local", text="Global to Local") + #row.operator("bim.convert_local_to_global", text="Local to Global") + #row.operator("bim.convert_global_to_local", text="Global to Local") diff --git a/src/blenderbim/blenderbim/core/georeference.py b/src/blenderbim/blenderbim/core/georeference.py index 4e5a174b90..4ef8dcf960 100644 --- a/src/blenderbim/blenderbim/core/georeference.py +++ b/src/blenderbim/blenderbim/core/georeference.py @@ -18,60 +18,71 @@ import bpy import blenderbim.bim.helper +import ifcopenshell from blenderbim.bim.module.georeference.data import GeoreferenceData -from math import radians, degrees, atan, tan, cos, sin - def add_georeferencing(ifc): ifc.run("georeference.add_georeferencing") -def enable_editing_georeferencing(georeference): - props = bpy.context.scene.BIMGeoreferenceProperties - +def enable_editing_georeferencing(georeference): #TODO simplify this function georeference.clear_projected_crs() blenderbim.bim.helper.import_attributes( "IfcProjectedCRS", - props.projected_crs, + bpy.context.scene.BIMGeoreferenceProperties.projected_crs, GeoreferenceData.data["projected_crs"], georeference.import_projected_crs_attributes, ) - + georeference.clear_map_conversion() - + blenderbim.bim.helper.import_attributes( "IfcMapConversion", - props.map_conversion, + bpy.context.scene.BIMGeoreferenceProperties.map_conversion, GeoreferenceData.data["map_conversion"], georeference.import_map_conversion_attributes, ) - georeference.set_has_true_north_prop(GeoreferenceData.data["true_north"]) - georeference.set_true_north_prop(GeoreferenceData.data["true_north"]) - georeference.enable_editing() + bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(GeoreferenceData.data["true_north"]) + + if GeoreferenceData.data["true_north"]: + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(GeoreferenceData.data["true_north"][0]) + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(GeoreferenceData.data["true_north"][1]) + + bpy.context.scene.BIMGeoreferenceProperties.is_editing = True def remove_georeferencing(ifc): ifc.run("georeference.remove_georeferencing") def edit_georeferencing(ifc, georeference): props = bpy.context.scene.BIMGeoreferenceProperties + ifc_file = georeference.get_file() projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, georeference.export_crs_attributes) map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, georeference.export_map_attributes) - - true_north = georeference.get_true_north_props(props) - - ifc.run( + + true_north = None +# if props.has_true_north: +# try: +# true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] +# except ValueError: +# self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") + + ifcopenshell.api.run( #TODO use ifc.run "georeference.edit_georeferencing", + ifc_file, **{ "map_conversion": map_conversion, "projected_crs": projected_crs, "true_north": true_north, } ) - - georeference.disable_editing() + + bpy.ops.bim.disable_editing_georeferencing() + +def disable_editing_georeferencing(georeference): + georeference.set_false_is_editing() def set_ifc_grid_north(georeference): georeference.set_ifc_grid_north() @@ -79,21 +90,4 @@ def set_ifc_grid_north(georeference): def set_blender_grid_north(georeference): georeference.set_blender_grid_north() -def get_cursor_location(georeference): - georeference.get_cursor_location() - -def set_cursor_location(georeference): - georeference.set_cursor_location() - -def set_ifc_true_north(georeference): - georeference.set_ifc_true_north() - -def set_blender_true_north(georeference): - georeference.set_blender_true_north() - -def convert_local_to_global(georeference): - georeference.convert_local_to_global(GeoreferenceData.data["map_conversion"]) - -def convert_global_to_local(georeference): - georeference.convert_global_to_local(GeoreferenceData.data["map_conversion"]) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index da0733aef4..8d5997e8c4 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -250,24 +250,15 @@ class Geometry: class Georeference: def clear_projected_crs(cls): pass def clear_map_conversion(cls): pass - def set_has_true_north_prop(cls, data): pass - def set_true_north_prop(cls, data): pass - def get_true_north_props(cls, props): pass - def enable_editing(cls): pass - def disable_editing(cls): pass def get_file(cls): pass + def set_false_is_editing(cls): pass def import_projected_crs_attributes(cls, name, prop, data): pass def import_map_conversion_attributes(cls, name, prop, data): pass def export_crs_attributes(cls, attributes, prop): pass def export_map_attributes(cls, attributes, prop): pass def set_ifc_grid_north(cls): pass def set_blender_grid_north(cls): pass - def get_cursor_location(cls): pass - def set_cursor_location(cls): pass - def set_ifc_true_north(cls): pass - def set_blender_true_north(cls): pass - def convert_local_to_global(cls, map_conversion): pass - def convert_global_to_local(cls, map_conversion): pass + @interface class Ifc: diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py index 587acfcabe..16ee96efe0 100644 --- a/src/blenderbim/blenderbim/tool/georeference.py +++ b/src/blenderbim/blenderbim/tool/georeference.py @@ -17,13 +17,11 @@ # along with BlenderBIM Add-on. If not, see . - import bpy import json import blenderbim.core.tool import blenderbim.tool as tool import ifcopenshell -import blenderbim.bim.helper from ifcopenshell.api.unit.data import Data as UnitData @@ -37,34 +35,6 @@ class Georeference(blenderbim.core.tool.Georeference): def clear_map_conversion(cls): bpy.context.scene.BIMGeoreferenceProperties.map_conversion.clear() - @classmethod - def set_has_true_north_prop(cls, data): - bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(data) - - @classmethod - def set_true_north_prop(cls, data): - if data: - bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(data[0]) - bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(data[1]) - - @classmethod - def get_true_north_props(cls, props): - true_north = None - if props.has_true_north: - try: - true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] - except ValueError: - self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") #TODO use the correct report method - return true_north - - @classmethod - def enable_editing(cls): - bpy.context.scene.BIMGeoreferenceProperties.is_editing = True - - @classmethod - def disable_editing(cls): - bpy.context.scene.BIMGeoreferenceProperties.is_editing = False - @classmethod def get_file(cls): return tool.Ifc.get() @@ -93,7 +63,7 @@ class Georeference(blenderbim.core.tool.Georeference): return True @classmethod - def export_crs_attributes(cls, attributes, prop): + def export_crs_attributes(cls, attributes, prop,): ifc_file = tool.Ifc.get() if not prop.is_null and prop.name == "MapUnit": attributes[prop.name] = ifc_file.by_id(int(prop.enum_value)) @@ -106,6 +76,11 @@ class Georeference(blenderbim.core.tool.Georeference): attributes[prop.name] = float(prop.string_value) return True + @classmethod + def set_false_is_editing(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + props.is_editing = False + @classmethod def set_ifc_grid_north(cls): x_angle = -bpy.context.scene.sun_pos_properties.north_offset @@ -121,111 +96,4 @@ class Georeference(blenderbim.core.tool.Georeference): ) ) - @classmethod - def get_cursor_location(cls): - props = bpy.context.scene.BIMGeoreferenceProperties - scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - project_coordinates = [o / scale for o in bpy.context.scene.cursor.location] - props.coordinate_input = ",".join([str(o) for o in project_coordinates]) - - - @classmethod - def set_cursor_location(cls): - props = bpy.context.scene.BIMGeoreferenceProperties - scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - bpy.context.scene.cursor.location = [float(co) * scale for co in props.coordinate_output.split(",")] - - @classmethod - def set_ifc_true_north(cls): - y_angle = -bpy.context.scene.sun_pos_properties.north_offset + radians(90) - bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(cos(y_angle)) - bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(sin(y_angle)) - - @classmethod - def set_blender_true_north(cls): - bpy.context.scene.sun_pos_properties.north_offset = -radians( - ifcopenshell.util.geolocation.yaxis2angle( - float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), - float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), - ) - ) - - - @classmethod - def convert_local_to_global(cls, map_conversion): - props = bpy.context.scene.BIMGeoreferenceProperties - x, y, z = [float(co) for co in props.coordinate_input.split(",")] - - if props.has_blender_offset: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - float(props.blender_eastings), - float(props.blender_northings), - float(props.blender_orthogonal_height), - float(props.blender_x_axis_abscissa), - float(props.blender_x_axis_ordinate), - 1.0, - ) - x, y, z = results - - # TODO: what if the project CRS units and the project units are different? - - if map_conversion: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - map_conversion["Eastings"], - map_conversion["Northings"], - map_conversion["OrthogonalHeight"], - map_conversion.get("XAxisAbscissa", 1.0), - map_conversion.get("XAxisOrdinate", 0.0), - map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) - - props.coordinate_output = ",".join([str(r) for r in results]) - bpy.context.scene.cursor.location = results - - @classmethod - def convert_global_to_local(cls, map_conversion): - props = bpy.context.scene.BIMGeoreferenceProperties - - x, y, z = [float(co) for co in props.coordinate_input.split(",")] - - if map_conversion: - results = ifcopenshell.util.geolocation.enh2xyz( - x, - y, - z, - map_conversion["Eastings"], - map_conversion["Northings"], - map_conversion["OrthogonalHeight"], - map_conversion.get("XAxisAbscissa", 1.0), - map_conversion.get("XAxisOrdinate", 0.0), - map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) - - if props.has_blender_offset: - results = ifcopenshell.util.geolocation.enh2xyz( - results[0], - results[1], - results[2], - float(props.blender_eastings), - float(props.blender_northings), - float(props.blender_orthogonal_height), - float(props.blender_x_axis_abscissa), - float(props.blender_x_axis_ordinate), - 1.0, - ) - - props.coordinate_output = ",".join([str(r) for r in results]) - - scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - bpy.context.scene.cursor.location = [o * scale for o in results] From 2313fa00ccfce3ea019e40d6f7774bcdefdb559f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 17:25:22 +1000 Subject: [PATCH 059/243] Revert "minox fix" This reverts commit dfb980e0d1b13e3883222f1c0be61948e87a76a1. --- src/blenderbim/blenderbim/bim/module/georeference/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py index 609e9ce0d2..71196793d5 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py @@ -24,7 +24,7 @@ classes = ( operator.DisableEditingGeoreferencing, operator.EditGeoreferencing, operator.SetIfcGridNorth, - operator.SetBlenderGridNorth, +# operator.SetBlenderGridNorth, # operator.SetIfcTrueNorth, # operator.SetBlenderTrueNorth, operator.RemoveGeoreferencing, From 200a343746cc2e06991f9eb8570a542cb4f39a7a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 17:25:22 +1000 Subject: [PATCH 060/243] Revert "Refactor BIM_PT_gis added files" This reverts commit 445e77bac047190baf5362da5f41d44c2c1f67dd. --- .../bim/module/georeference/data.py | 112 ------------------ .../blenderbim/core/georeference.py | 93 --------------- .../blenderbim/tool/georeference.py | 99 ---------------- 3 files changed, 304 deletions(-) delete mode 100644 src/blenderbim/blenderbim/bim/module/georeference/data.py delete mode 100644 src/blenderbim/blenderbim/core/georeference.py delete mode 100644 src/blenderbim/blenderbim/tool/georeference.py diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py deleted file mode 100644 index 2fa8ef89a0..0000000000 --- a/src/blenderbim/blenderbim/bim/module/georeference/data.py +++ /dev/null @@ -1,112 +0,0 @@ -# BlenderBIM Add-on - OpenBIM Blender Add-on -# Copyright (C) 2022 Dion Moult -# -# This file is part of BlenderBIM Add-on. -# -# BlenderBIM Add-on is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# BlenderBIM Add-on is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with BlenderBIM Add-on. If not, see . - -# ############################################################################ # - -import blenderbim.tool as tool - -def refresh(): - GeoreferenceData.is_loaded = False - -class GeoreferenceData: - data = {} - is_loaded = False - - @classmethod - def load(cls): - cls.data = { - "map_conversion" : cls.map_conversion(), - "projected_crs" : cls.projected_crs(), - "true_north" : cls.true_north(), - } - cls.is_loaded = True - - @classmethod - def is_georeferenced(cls): - ifc = tool.Ifc.get() - if ifc.schema == "IFC2X3": - return - - map_conversions = [] - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - map_conversions.append(context) - - return True if map_conversions else False - - @classmethod - def map_conversion(cls): - ifc = tool.Ifc.get() - map_conversion_v = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - map_conversion_v = context.HasCoordinateOperation[0].get_info() - map_conversion_v["SourceCRS"] = map_conversion_v["SourceCRS"].id() - map_conversion_v["TargetCRS"] = map_conversion_v["TargetCRS"].id() - - break - - return map_conversion_v - - @classmethod - def projected_crs(cls): - ifc = tool.Ifc.get() - projected_crs = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() - if projected_crs["MapUnit"]: - projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() - - if projected_crs["MapUnit"]: - projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() - break - - return projected_crs - - @classmethod - def true_north(cls): - ifc = tool.Ifc.get() - true_north = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.TrueNorth: - continue - true_north = context.TrueNorth.DirectionRatios - break - - return true_north - - - diff --git a/src/blenderbim/blenderbim/core/georeference.py b/src/blenderbim/blenderbim/core/georeference.py deleted file mode 100644 index 4ef8dcf960..0000000000 --- a/src/blenderbim/blenderbim/core/georeference.py +++ /dev/null @@ -1,93 +0,0 @@ -# BlenderBIM Add-on - OpenBIM Blender Add-on -# Copyright (C) 2022 Dion Moult -# -# This file is part of BlenderBIM Add-on. -# -# BlenderBIM Add-on is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# BlenderBIM Add-on is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with BlenderBIM Add-on. If not, see . - -import bpy -import blenderbim.bim.helper -import ifcopenshell - -from blenderbim.bim.module.georeference.data import GeoreferenceData - -def add_georeferencing(ifc): - ifc.run("georeference.add_georeferencing") - -def enable_editing_georeferencing(georeference): #TODO simplify this function - georeference.clear_projected_crs() - - blenderbim.bim.helper.import_attributes( - "IfcProjectedCRS", - bpy.context.scene.BIMGeoreferenceProperties.projected_crs, - GeoreferenceData.data["projected_crs"], - georeference.import_projected_crs_attributes, - ) - - georeference.clear_map_conversion() - - blenderbim.bim.helper.import_attributes( - "IfcMapConversion", - bpy.context.scene.BIMGeoreferenceProperties.map_conversion, - GeoreferenceData.data["map_conversion"], - georeference.import_map_conversion_attributes, - ) - - bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(GeoreferenceData.data["true_north"]) - - if GeoreferenceData.data["true_north"]: - bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(GeoreferenceData.data["true_north"][0]) - bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(GeoreferenceData.data["true_north"][1]) - - bpy.context.scene.BIMGeoreferenceProperties.is_editing = True - -def remove_georeferencing(ifc): - ifc.run("georeference.remove_georeferencing") - -def edit_georeferencing(ifc, georeference): - props = bpy.context.scene.BIMGeoreferenceProperties - ifc_file = georeference.get_file() - - projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, georeference.export_crs_attributes) - map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, georeference.export_map_attributes) - - true_north = None -# if props.has_true_north: -# try: -# true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] -# except ValueError: -# self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") - - ifcopenshell.api.run( #TODO use ifc.run - "georeference.edit_georeferencing", - ifc_file, - **{ - "map_conversion": map_conversion, - "projected_crs": projected_crs, - "true_north": true_north, - } - ) - - bpy.ops.bim.disable_editing_georeferencing() - -def disable_editing_georeferencing(georeference): - georeference.set_false_is_editing() - -def set_ifc_grid_north(georeference): - georeference.set_ifc_grid_north() - -def set_blender_grid_north(georeference): - georeference.set_blender_grid_north() - - diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py deleted file mode 100644 index 16ee96efe0..0000000000 --- a/src/blenderbim/blenderbim/tool/georeference.py +++ /dev/null @@ -1,99 +0,0 @@ -# BlenderBIM Add-on - OpenBIM Blender Add-on -# Copyright (C) 2022 Dion Moult -# -# This file is part of BlenderBIM Add-on. -# -# BlenderBIM Add-on is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# BlenderBIM Add-on is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with BlenderBIM Add-on. If not, see . - - -import bpy -import json -import blenderbim.core.tool -import blenderbim.tool as tool -import ifcopenshell - -from ifcopenshell.api.unit.data import Data as UnitData - -class Georeference(blenderbim.core.tool.Georeference): - - @classmethod - def clear_projected_crs(cls): - bpy.context.scene.BIMGeoreferenceProperties.projected_crs.clear() - - @classmethod - def clear_map_conversion(cls): - bpy.context.scene.BIMGeoreferenceProperties.map_conversion.clear() - - @classmethod - def get_file(cls): - return tool.Ifc.get() - - @classmethod - def import_projected_crs_attributes(cls, name, prop, data): - if name == "MapUnit": - new = bpy.context.scene.BIMGeoreferenceProperties.projected_crs.add() - new.name = name - new.data_type = "enum" - new.is_null = data[name] is None - new.is_optional = True - new.enum_items = json.dumps( - {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} - ) - if data["MapUnit"]: - new.enum_value = str(data["MapUnit"]["id"]) - return True - - @classmethod - def import_map_conversion_attributes(cls, name, prop, data): - if name not in ["SourceCRS", "TargetCRS"]: - # Enforce a string data type to prevent data loss in single-precision Blender props - prop.data_type = "string" - prop.string_value = "" if prop.is_null else str(data[name]) - return True - - @classmethod - def export_crs_attributes(cls, attributes, prop,): - ifc_file = tool.Ifc.get() - if not prop.is_null and prop.name == "MapUnit": - attributes[prop.name] = ifc_file.by_id(int(prop.enum_value)) - return True - - @classmethod - def export_map_attributes(cls, attributes, prop): - if not prop.is_null and prop.data_type == "string": - # We store our floats as string to prevent single precision data loss - attributes[prop.name] = float(prop.string_value) - return True - - @classmethod - def set_false_is_editing(cls): - props = bpy.context.scene.BIMGeoreferenceProperties - props.is_editing = False - - @classmethod - def set_ifc_grid_north(cls): - x_angle = -bpy.context.scene.sun_pos_properties.north_offset - bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) - bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) - - @classmethod - def set_blender_grid_north(cls): - bpy.context.scene.sun_pos_properties.north_offset = -radians( - ifcopenshell.util.geolocation.xaxis2angle( - float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), - float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), - ) - ) - - From 9483abcdd5f92dbb638f241901463b84b450c3fe Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 17:25:22 +1000 Subject: [PATCH 061/243] Revert "Refactor BIM_PT_gis" This reverts commit 265ebaebb8e4d1fef2d7de5fd6b5103d66e2a172. --- .../bim/module/georeference/__init__.py | 14 +- .../bim/module/georeference/operator.py | 371 +++++++++++++++--- .../blenderbim/bim/module/georeference/ui.py | 51 +-- src/blenderbim/blenderbim/core/tool.py | 13 - src/blenderbim/blenderbim/tool/__init__.py | 1 - 5 files changed, 355 insertions(+), 95 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py index 71196793d5..7d644a30df 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/__init__.py @@ -24,15 +24,15 @@ classes = ( operator.DisableEditingGeoreferencing, operator.EditGeoreferencing, operator.SetIfcGridNorth, -# operator.SetBlenderGridNorth, -# operator.SetIfcTrueNorth, -# operator.SetBlenderTrueNorth, + operator.SetBlenderGridNorth, + operator.SetIfcTrueNorth, + operator.SetBlenderTrueNorth, operator.RemoveGeoreferencing, operator.AddGeoreferencing, -# operator.ConvertLocalToGlobal, -# operator.ConvertGlobalToLocal, -# operator.GetCursorLocation, -# operator.SetCursorLocation, + operator.ConvertLocalToGlobal, + operator.ConvertGlobalToLocal, + operator.GetCursorLocation, + operator.SetCursorLocation, prop.BIMGeoreferenceProperties, ui.BIM_PT_gis, ui.BIM_PT_gis_utilities, diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py index 62e8e02b7d..5b3e09037d 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py @@ -17,72 +17,345 @@ # along with BlenderBIM Add-on. If not, see . import bpy -import blenderbim.tool as tool -import blenderbim.core.georeference as core -import blenderbim.bim.handler +import json +import ifcopenshell +import ifcopenshell.util.unit +import ifcopenshell.util.attribute +import ifcopenshell.api +import blenderbim.bim.helper +from blenderbim.bim.ifc import IfcStore +from ifcopenshell.api.georeference.data import Data +from ifcopenshell.api.unit.data import Data as UnitData +from math import radians, degrees, atan, tan, cos, sin -class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.add_georeferencing" - bl_label = "Add Georeferencing" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Add a new georeference" - def _execute(self, context): - core.add_georeferencing(tool.Ifc) - -class EnableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): +class EnableEditingGeoreferencing(bpy.types.Operator): bl_idname = "bim.enable_editing_georeferencing" bl_label = "Enable Editing Georeferencing" bl_options = {"REGISTER", "UNDO"} - bl_description = "Enable editing georeferencing" - - def _execute(self, context): - core.enable_editing_georeferencing(tool.Georeference) -class RemoveGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.remove_georeferencing" - bl_label = "Remove Georeferencing" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Remove the georeferencing" - - def _execute(self, context): - core.remove_georeferencing(tool.Ifc) - -class EditGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.edit_georeferencing" - bl_label = "Edit Georeferencing" - bl_options = {"REGISTER", "UNDO"} - bl_description = "Edit the georeferencing" - - def _execute(self, context): - core.edit_georeferencing(tool.Ifc, tool.Georeference) - -class DisableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + def execute(self, context): + self.file = IfcStore.get_file() + props = context.scene.BIMGeoreferenceProperties + self.props = props + + props.projected_crs.clear() + + blenderbim.bim.helper.import_attributes( + "IfcProjectedCRS", props.projected_crs, Data.projected_crs, self.import_projected_crs_attributes + ) + + props.map_conversion.clear() + blenderbim.bim.helper.import_attributes( + "IfcMapConversion", props.map_conversion, Data.map_conversion, self.import_map_conversion_attributes + ) + + props.has_true_north = bool(Data.true_north) + if Data.true_north: + props.true_north_abscissa = str(Data.true_north[0]) + props.true_north_ordinate = str(Data.true_north[1]) + + props.is_editing = True + return {"FINISHED"} + + def import_projected_crs_attributes(self, name, prop, data): + if name == "MapUnit": + new = self.props.projected_crs.add() + new.name = name + new.data_type = "enum" + new.is_null = data[name] is None + new.is_optional = True + new.enum_items = json.dumps( + {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} + ) + if data["MapUnit"]: + new.enum_value = str(data["MapUnit"]["id"]) + return True + + def import_map_conversion_attributes(self, name, prop, data): + if name not in ["SourceCRS", "TargetCRS"]: + # Enforce a string data type to prevent data loss in single-precision Blender props + prop.data_type = "string" + prop.string_value = "" if prop.is_null else str(data[name]) + return True + + +class DisableEditingGeoreferencing(bpy.types.Operator): bl_idname = "bim.disable_editing_georeferencing" bl_label = "Disable Editing Georeferencing" bl_options = {"REGISTER", "UNDO"} - bl_description = "Close editing panel" - def _execute(self, context): - core.disable_editing_georeferencing(tool.Georeference) + def execute(self, context): + props = context.scene.BIMGeoreferenceProperties + props.is_editing = False + return {"FINISHED"} -class SetIfcGridNorth(bpy.types.Operator, tool.Ifc.Operator): - bl_idname = "bim.set_ifc_grid_north" - bl_label = "Set IFC Grid North" + +class EditGeoreferencing(bpy.types.Operator): + bl_idname = "bim.edit_georeferencing" + bl_label = "Edit Georeferencing" bl_options = {"REGISTER", "UNDO"} - bl_description = "Set IFC grid north" - - def _execute(self, context): - core.set_ifc_grid_north() -class SetBlenderGridNorth(bpy.types.Operator, tool.Ifc.Operator): + def execute(self, context): + return IfcStore.execute_ifc_operator(self, context) + + def _execute(self, context): + self.file = IfcStore.get_file() + props = context.scene.BIMGeoreferenceProperties + + projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, self.export_crs_attributes) + map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, self.export_map_attributes) + + true_north = None + if props.has_true_north: + try: + true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] + except ValueError: + self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") + + ifcopenshell.api.run( + "georeference.edit_georeferencing", + self.file, + **{ + "map_conversion": map_conversion, + "projected_crs": projected_crs, + "true_north": true_north, + } + ) + Data.load(self.file) + bpy.ops.bim.disable_editing_georeferencing() + return {"FINISHED"} + + def export_map_attributes(self, attributes, prop): + if not prop.is_null and prop.data_type == "string": + # We store our floats as string to prevent single precision data loss + attributes[prop.name] = float(prop.string_value) + return True + + def export_crs_attributes(self, attributes, prop): + if not prop.is_null and prop.name == "MapUnit": + attributes[prop.name] = self.file.by_id(int(prop.enum_value)) + return True + + +class SetBlenderGridNorth(bpy.types.Operator): bl_idname = "bim.set_blender_grid_north" bl_label = "Set Blender Grid North" bl_options = {"REGISTER", "UNDO"} - bl_description = "Set Blender grif north" - + + def execute(self, context): + context.scene.sun_pos_properties.north_offset = -radians( + ifcopenshell.util.geolocation.xaxis2angle( + float(context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), + float(context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), + ) + ) + return {"FINISHED"} + + +class SetIfcGridNorth(bpy.types.Operator): + bl_idname = "bim.set_ifc_grid_north" + bl_label = "Set IFC Grid North" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + x_angle = -context.scene.sun_pos_properties.north_offset + context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) + context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) + return {"FINISHED"} + + +class SetBlenderTrueNorth(bpy.types.Operator): + bl_idname = "bim.set_blender_true_north" + bl_label = "Set Blender True North" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + context.scene.sun_pos_properties.north_offset = -radians( + ifcopenshell.util.geolocation.yaxis2angle( + float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), + float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), + ) + ) + return {"FINISHED"} + + +class SetIfcTrueNorth(bpy.types.Operator): + bl_idname = "bim.set_ifc_true_north" + bl_label = "Set IFC True North" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + y_angle = -context.scene.sun_pos_properties.north_offset + radians(90) + context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(cos(y_angle)) + context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(sin(y_angle)) + return {"FINISHED"} + + +class RemoveGeoreferencing(bpy.types.Operator): + bl_idname = "bim.remove_georeferencing" + bl_label = "Remove Georeferencing" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + return IfcStore.execute_ifc_operator(self, context) + def _execute(self, context): - core.set_blender_grid_north() + ifcopenshell.api.run("georeference.remove_georeferencing", IfcStore.get_file()) + Data.load(IfcStore.get_file()) + return {"FINISHED"} +class AddGeoreferencing(bpy.types.Operator): + bl_idname = "bim.add_georeferencing" + bl_label = "Add Georeferencing" + bl_options = {"REGISTER", "UNDO"} + def execute(self, context): + return IfcStore.execute_ifc_operator(self, context) + + def _execute(self, context): + ifcopenshell.api.run("georeference.add_georeferencing", IfcStore.get_file()) + Data.load(IfcStore.get_file()) + return {"FINISHED"} + + +class ConvertLocalToGlobal(bpy.types.Operator): + bl_idname = "bim.convert_local_to_global" + bl_label = "Convert Local To Global" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + file = IfcStore.get_file() + props = context.scene.BIMGeoreferenceProperties + return file and props.coordinate_input.count(",") == 2 + + def execute(self, context): + if not Data.is_loaded: + Data.load(IfcStore.get_file()) + props = context.scene.BIMGeoreferenceProperties + x, y, z = [float(co) for co in props.coordinate_input.split(",")] + + if props.has_blender_offset: + results = ifcopenshell.util.geolocation.xyz2enh( + x, + y, + z, + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + 1.0, + ) + x, y, z = results + + # TODO: what if the project CRS units and the project units are different? + + if Data.map_conversion: + results = ifcopenshell.util.geolocation.xyz2enh( + x, + y, + z, + Data.map_conversion["Eastings"], + Data.map_conversion["Northings"], + Data.map_conversion["OrthogonalHeight"], + Data.map_conversion.get("XAxisAbscissa", 1.0), + Data.map_conversion.get("XAxisOrdinate", 0.0), + Data.map_conversion.get("Scale", 1.0), + ) + else: + results = (x, y, z) + + props.coordinate_output = ",".join([str(r) for r in results]) + context.scene.cursor.location = results + return {"FINISHED"} + + +class ConvertGlobalToLocal(bpy.types.Operator): + bl_idname = "bim.convert_global_to_local" + bl_label = "Convert Global To Local" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + file = IfcStore.get_file() + props = context.scene.BIMGeoreferenceProperties + return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 + + def execute(self, context): + if not Data.is_loaded: + Data.load(IfcStore.get_file()) + props = context.scene.BIMGeoreferenceProperties + x, y, z = [float(co) for co in props.coordinate_input.split(",")] + + if Data.map_conversion: + results = ifcopenshell.util.geolocation.enh2xyz( + x, + y, + z, + Data.map_conversion["Eastings"], + Data.map_conversion["Northings"], + Data.map_conversion["OrthogonalHeight"], + Data.map_conversion.get("XAxisAbscissa", 1.0), + Data.map_conversion.get("XAxisOrdinate", 0.0), + Data.map_conversion.get("Scale", 1.0), + ) + else: + results = (x, y, z) + + if props.has_blender_offset: + results = ifcopenshell.util.geolocation.enh2xyz( + results[0], + results[1], + results[2], + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + 1.0, + ) + + props.coordinate_output = ",".join([str(r) for r in results]) + + scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) + context.scene.cursor.location = [o * scale for o in results] + return {"FINISHED"} + + +class GetCursorLocation(bpy.types.Operator): + bl_idname = "bim.get_cursor_location" + bl_label = "Get Cursor Location" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + file = IfcStore.get_file() + return file and file.by_type("IfcUnitAssignment") + + def execute(self, context): + props = context.scene.BIMGeoreferenceProperties + scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) + project_coordinates = [o / scale for o in context.scene.cursor.location] + props.coordinate_input = ",".join([str(o) for o in project_coordinates]) + return {"FINISHED"} + + +class SetCursorLocation(bpy.types.Operator): + bl_idname = "bim.set_cursor_location" + bl_label = "Set Cursor Location" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + file = IfcStore.get_file() + props = context.scene.BIMGeoreferenceProperties + return file and file.by_type("IfcUnitAssignment") and props.coordinate_output.count(",") == 2 + + def execute(self, context): + props = context.scene.BIMGeoreferenceProperties + scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) + context.scene.cursor.location = [float(co) * scale for co in props.coordinate_output.split(",")] + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 984590e51c..456d378f03 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -18,10 +18,10 @@ import ifcopenshell.util.geolocation from bpy.types import Panel -#from ifcopenshell.api.georeference.data import Data +from ifcopenshell.api.georeference.data import Data from blenderbim.bim.ifc import IfcStore from blenderbim.bim.helper import draw_attributes, draw_attribute -from blenderbim.bim.module.georeference.data import GeoreferenceData + class BIM_PT_gis(Panel): bl_label = "IFC Georeferencing" @@ -31,15 +31,18 @@ class BIM_PT_gis(Panel): bl_region_type = "WINDOW" bl_context = "scene" bl_parent_id = "BIM_PT_geometry" - + + @classmethod + def poll(cls, context): + return IfcStore.get_file() + def draw(self, context): self.layout.use_property_split = True self.layout.use_property_decorate = False props = context.scene.BIMGeoreferenceProperties - - if not GeoreferenceData.is_loaded: - GeoreferenceData.load() - + if not Data.is_loaded: + Data.load(IfcStore.get_file()) + if props.is_editing: return self.draw_editable_ui(context) self.draw_ui(context) @@ -73,19 +76,18 @@ class BIM_PT_gis(Panel): row.prop(props, "true_north_ordinate") if hasattr(context.scene, "sun_pos_properties"): row = self.layout.row(align=True) - # row.operator("bim.set_ifc_true_north", text="Set IFC North") - # row.operator("bim.set_blender_true_north", text="Set Blender North") - + row.operator("bim.set_ifc_true_north", text="Set IFC North") + row.operator("bim.set_blender_true_north", text="Set Blender North") def draw_ui(self, context): props = context.scene.BIMGeoreferenceProperties - if not GeoreferenceData.data["projected_crs"]: + if not Data.projected_crs: row = self.layout.row(align=True) row.label(text="Not Georeferenced") if IfcStore.get_file().schema != "IFC2X3": row.operator("bim.add_georeferencing", icon="ADD", text="") - + if props.has_blender_offset: row = self.layout.row() row.label(text="Blender Offset", icon="TRACKING_REFINE_FORWARDS") @@ -118,13 +120,13 @@ class BIM_PT_gis(Panel): ) ) - if GeoreferenceData.data["projected_crs"]: + if Data.projected_crs: row = self.layout.row(align=True) row.label(text="Projected CRS", icon="WORLD") row.operator("bim.enable_editing_georeferencing", icon="GREASEPENCIL", text="") row.operator("bim.remove_georeferencing", icon="X", text="") - for key, value in GeoreferenceData.data["projected_crs"].items(): + for key, value in Data.projected_crs.items(): if key == "id" or key == "type" or not value: continue if key == "MapUnit": @@ -135,11 +137,11 @@ class BIM_PT_gis(Panel): row.label(text=key) row.label(text=str(value)) - if GeoreferenceData.data["map_conversion"]: + if Data.map_conversion: row = self.layout.row(align=True) row.label(text="Map Conversion", icon="GRID") - for key, value in GeoreferenceData.data["map_conversion"].items(): + for key, value in Data.map_conversion.items(): if key == "id" or key == "type" or key == "SourceCRS" or key == "TargetCRS" or value is None: continue row = self.layout.row(align=True) @@ -152,22 +154,22 @@ class BIM_PT_gis(Panel): text=str( round( ifcopenshell.util.geolocation.xaxis2angle( - GeoreferenceData.data["map_conversion"]["XAxisAbscissa"], GeoreferenceData.data["map_conversion"]["XAxisOrdinate"] + Data.map_conversion["XAxisAbscissa"], Data.map_conversion["XAxisOrdinate"] ), 3, ) ) ) - if GeoreferenceData.data["true_north"]: + if Data.true_north: row = self.layout.row() row.label(text="True North", icon="LIGHT_SUN") row = self.layout.row(align=True) row.label(text="Vector") - row.label(text=str(GeoreferenceData.data["true_north"][0:2])[1:-1]) + row.label(text=str(Data.true_north[0:2])[1:-1]) row = self.layout.row(align=True) row.label(text="Derived Angle") - row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*GeoreferenceData.data["true_north"][0:2]), 3))) + row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*Data.true_north[0:2]), 3))) class BIM_PT_gis_utilities(Panel): @@ -183,12 +185,11 @@ class BIM_PT_gis_utilities(Panel): row = self.layout.row(align=True) row.prop(props, "coordinate_input", text="Input") - #row.operator("bim.get_cursor_location", text="", icon="TRACKER") + row.operator("bim.get_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) row.prop(props, "coordinate_output", text="Output") - #row.operator("bim.set_cursor_location", text="", icon="TRACKER") + row.operator("bim.set_cursor_location", text="", icon="TRACKER") row = self.layout.row(align=True) - #row.operator("bim.convert_local_to_global", text="Local to Global") - #row.operator("bim.convert_global_to_local", text="Global to Local") - + row.operator("bim.convert_local_to_global", text="Local to Global") + row.operator("bim.convert_global_to_local", text="Global to Local") diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 8d5997e8c4..ef8440f7c5 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -246,19 +246,6 @@ class Geometry: def should_generate_uvs(cls, obj): pass def should_use_presentation_style_assignment(cls): pass -@interface -class Georeference: - def clear_projected_crs(cls): pass - def clear_map_conversion(cls): pass - def get_file(cls): pass - def set_false_is_editing(cls): pass - def import_projected_crs_attributes(cls, name, prop, data): pass - def import_map_conversion_attributes(cls, name, prop, data): pass - def export_crs_attributes(cls, attributes, prop): pass - def export_map_attributes(cls, attributes, prop): pass - def set_ifc_grid_north(cls): pass - def set_blender_grid_north(cls): pass - @interface class Ifc: diff --git a/src/blenderbim/blenderbim/tool/__init__.py b/src/blenderbim/blenderbim/tool/__init__.py index 929c26f030..7ae4c6fbea 100644 --- a/src/blenderbim/blenderbim/tool/__init__.py +++ b/src/blenderbim/blenderbim/tool/__init__.py @@ -27,7 +27,6 @@ from blenderbim.tool.demo import Demo from blenderbim.tool.document import Document from blenderbim.tool.drawing import Drawing from blenderbim.tool.geometry import Geometry -from blenderbim.tool.georeference import Georeference from blenderbim.tool.ifc import Ifc from blenderbim.tool.library import Library from blenderbim.tool.material import Material From a4366ef151b0336b2f4197145c55880947208f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Tue, 29 Mar 2022 15:02:12 +0200 Subject: [PATCH 062/243] [IfcConvert] Export tasks in the xml conversion The exportion in the XML format exports in a new tag, named "tasks", all the tasks from the file with a hierarchy. Each task contains the IfcTaskTime object if it has it. --- .../schema_dependent/XmlSerializer.cpp | 48 ++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 2c0d1c27ce..ca3f9fdbc3 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -380,6 +380,37 @@ void format_quantities(IfcSchema::IfcPhysicalQuantity::list::ptr quantities, ptr } } +#ifdef SCHEMA_IfcRelNests_HAS_RelatedObjects +// Format IfcTask instances and insert into the DOM. +void format_tasks(IfcSchema::IfcTask* task, ptree& node) { + ptree* ntask = format_entity_instance(task, node); + + if (ntask) { +#ifdef SCHEMA_IfcTask_HAS_TaskTime + IfcSchema::IfcTaskTime* task_time = task->TaskTime(); + if (task_time) + { + format_entity_instance(task_time, *ntask); + } +#endif + + IfcSchema::IfcRelNests::list::ptr nested_by = task->IsNestedBy(); + for (IfcSchema::IfcRelNests::list::it it = nested_by->begin(); it != nested_by->end(); ++it) + { + IfcSchema::IfcObjectDefinition::list::ptr related_objects = (*it)->RelatedObjects(); + for (IfcSchema::IfcObjectDefinition::list::it it2 = related_objects->begin(); it2 != related_objects->end(); ++it2) + { + if (!(*it2)->declaration().is(IfcSchema::IfcTask::Class())) { + continue; + } + IfcSchema::IfcTask* task2 = (*it2)->as(); + format_tasks(task2, *ntask); + } + } + } +} +#endif + } // ~unnamed namespace void MAKE_TYPE_NAME(XmlSerializer)::finalize() { @@ -392,7 +423,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } IfcSchema::IfcProject* project = *projects->begin(); - ptree root, header, units, decomposition, properties, quantities, types, layers, materials; + ptree root, header, units, decomposition, properties, quantities, types, layers, materials, tasks; // Write the SPF header as XML nodes. BOOST_FOREACH(const std::string& s, file->header().file_description().description()) { @@ -479,6 +510,18 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } } + // Write all tasks and values as XML nodes. + IfcSchema::IfcTask::list::ptr ptasks = file->instances_by_type(); + for (IfcSchema::IfcTask::list::it it = ptasks->begin(); it != ptasks->end(); ++it) { + IfcSchema::IfcTask* ptask = *it; +#ifdef SCHEMA_IfcRelNests_HAS_RelatedObjects + if (ptask->Nests()->size() == 0) { + format_tasks(ptask, tasks); + } +#else + format_entity_instance(ptask, tasks); +#endif + } // Write all type objects as XML nodes. IfcSchema::IfcTypeObject::list::ptr type_objects = file->instances_by_type(); @@ -565,8 +608,9 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { root.add_child("ifc.units", units); root.add_child("ifc.properties", properties); root.add_child("ifc.quantities", quantities); + root.add_child("ifc.tasks", tasks); root.add_child("ifc.types", types); - root.add_child("ifc.layers", layers); + root.add_child("ifc.layers", layers); root.add_child("ifc.materials", materials); root.add_child("ifc.decomposition", decomposition); From f089d03dc613bf908c32947cc86fabcf6261a7ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Tue, 29 Mar 2022 16:23:18 +0200 Subject: [PATCH 063/243] [ifcConvert] Add related objects in tasks --- .../schema_dependent/XmlSerializer.cpp | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index ca3f9fdbc3..904132c921 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -407,6 +407,27 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { format_tasks(task2, *ntask); } } + +#ifdef SCHEMA_IfcProcess_HAS_OperatesOn + auto operates = task->OperatesOn(); + if (operates->size() > 0) + { + ptree noperates_on; + for (auto i = operates->begin(); i != operates->end(); ++i) + { + auto objects = (*i)->RelatedObjects(); + for (auto it2 = objects->begin(); it2 != objects->end(); ++it2) + { + auto object = (*it2); + ptree nobject; + nobject.put(".id", object->GlobalId()); + noperates_on.add_child("Object", nobject); + } + } + + ntask->add_child("OperatesOn", noperates_on); + } +#endif } } #endif From 89f13aa1e4690ffacaccbcca22f05b1474484401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Wed, 30 Mar 2022 09:44:28 +0200 Subject: [PATCH 064/243] [IfcConvert] Added IsSuccessorFrom and IsPredecessorTo in xml task export --- .../schema_dependent/XmlSerializer.cpp | 76 ++++++++++++------- 1 file changed, 49 insertions(+), 27 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 904132c921..9a4a017ffe 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -380,7 +380,6 @@ void format_quantities(IfcSchema::IfcPhysicalQuantity::list::ptr quantities, ptr } } -#ifdef SCHEMA_IfcRelNests_HAS_RelatedObjects // Format IfcTask instances and insert into the DOM. void format_tasks(IfcSchema::IfcTask* task, ptree& node) { ptree* ntask = format_entity_instance(task, node); @@ -394,6 +393,50 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { } #endif +#ifdef SCHEMA_IfcProcess_HAS_IsSuccessorFrom + IfcSchema::IfcRelSequence::list::ptr successor_from = task->IsSuccessorFrom(); + for (IfcSchema::IfcRelSequence::list::it it = successor_from->begin(); it != successor_from->end(); ++it) + { + IfcSchema::IfcProcess* relating_process = (*it)->RelatingProcess(); + ptree nobject; + nobject.put(".id", relating_process->GlobalId()); + ntask->add_child("IsSuccessorFrom", nobject); + } +#endif + +#ifdef SCHEMA_IfcProcess_HAS_IsPredecessorTo + IfcSchema::IfcRelSequence::list::ptr predecessor_to = task->IsPredecessorTo(); + for (IfcSchema::IfcRelSequence::list::it it = predecessor_to->begin(); it != predecessor_to->end(); ++it) + { + IfcSchema::IfcProcess* relating_process = (*it)->RelatedProcess(); + ptree nobject; + nobject.put(".id", relating_process->GlobalId()); + ntask->add_child("IsPredecessorTo", nobject); + } +#endif + +#ifdef SCHEMA_IfcProcess_HAS_OperatesOn + IfcSchema::IfcRelAssignsToProcess::list::ptr operates = task->OperatesOn(); + if (operates->size() > 0) + { + ptree noperates_on; + for (IfcSchema::IfcRelAssignsToProcess::list::it i = operates->begin(); i != operates->end(); ++i) + { + IfcSchema::IfcObjectDefinition::list::ptr objects = (*i)->RelatedObjects(); + for (IfcSchema::IfcObjectDefinition::list::it it2 = objects->begin(); it2 != objects->end(); ++it2) + { + IfcSchema::IfcObjectDefinition* object = (*it2); + ptree nobject; + nobject.put(".id", object->GlobalId()); + noperates_on.add_child("Object", nobject); + } + } + + ntask->add_child("OperatesOn", noperates_on); + } +#endif + +#ifdef SCHEMA_IfcObjectDefinition_HAS_IsNestedBy IfcSchema::IfcRelNests::list::ptr nested_by = task->IsNestedBy(); for (IfcSchema::IfcRelNests::list::it it = nested_by->begin(); it != nested_by->end(); ++it) { @@ -407,30 +450,9 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { format_tasks(task2, *ntask); } } - -#ifdef SCHEMA_IfcProcess_HAS_OperatesOn - auto operates = task->OperatesOn(); - if (operates->size() > 0) - { - ptree noperates_on; - for (auto i = operates->begin(); i != operates->end(); ++i) - { - auto objects = (*i)->RelatedObjects(); - for (auto it2 = objects->begin(); it2 != objects->end(); ++it2) - { - auto object = (*it2); - ptree nobject; - nobject.put(".id", object->GlobalId()); - noperates_on.add_child("Object", nobject); - } - } - - ntask->add_child("OperatesOn", noperates_on); - } #endif } -} -#endif +} } // ~unnamed namespace @@ -535,13 +557,13 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { IfcSchema::IfcTask::list::ptr ptasks = file->instances_by_type(); for (IfcSchema::IfcTask::list::it it = ptasks->begin(); it != ptasks->end(); ++it) { IfcSchema::IfcTask* ptask = *it; -#ifdef SCHEMA_IfcRelNests_HAS_RelatedObjects +#ifdef SCHEMA_IfcObjectDefinition_HAS_Nests if (ptask->Nests()->size() == 0) { format_tasks(ptask, tasks); } #else - format_entity_instance(ptask, tasks); -#endif + format_tasks(ptask, tasks); +#endif } // Write all type objects as XML nodes. @@ -631,7 +653,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { root.add_child("ifc.quantities", quantities); root.add_child("ifc.tasks", tasks); root.add_child("ifc.types", types); - root.add_child("ifc.layers", layers); + root.add_child("ifc.layers", layers); root.add_child("ifc.materials", materials); root.add_child("ifc.decomposition", decomposition); From 99d8a225a9c627946686423ce20772db25f0e3ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Wed, 30 Mar 2022 13:16:09 +0200 Subject: [PATCH 065/243] Get IfcTasks from IfcWorkSchedule --- .../schema_dependent/XmlSerializer.cpp | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 9a4a017ffe..81461ae3b7 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -553,17 +553,28 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } } - // Write all tasks and values as XML nodes. - IfcSchema::IfcTask::list::ptr ptasks = file->instances_by_type(); - for (IfcSchema::IfcTask::list::it it = ptasks->begin(); it != ptasks->end(); ++it) { - IfcSchema::IfcTask* ptask = *it; -#ifdef SCHEMA_IfcObjectDefinition_HAS_Nests - if (ptask->Nests()->size() == 0) { - format_tasks(ptask, tasks); + // Write all work schedules and values as XML nodes. + IfcSchema::IfcWorkSchedule::list::ptr pschedules = file->instances_by_type(); + for (IfcSchema::IfcWorkSchedule::list::it it = pschedules->begin(); it != pschedules->end(); ++it) { + IfcSchema::IfcWorkSchedule* schedule = *it; + ptree* nschedule = format_entity_instance(schedule, tasks); + + if(nschedule) { + IfcSchema::IfcRelAssignsToControl::list::ptr controls = schedule->Controls(); + for(IfcSchema::IfcRelAssignsToControl::list::it it2 = controls->begin(); it2 != controls->end(); ++it2) { + IfcSchema::IfcRelAssignsToControl* control = *it2; + + IfcSchema::IfcObjectDefinition::list::ptr objects = control->RelatedObjects(); + for(IfcSchema::IfcObjectDefinition::list::it it3 = objects->begin(); it3 != objects->end(); ++it3) { + IfcSchema::IfcObjectDefinition* object = *it3; + + if (object && object->declaration().is(IfcSchema::IfcTask::Class())) { + IfcSchema::IfcTask* task = object->as(); + format_tasks(task, *nschedule); + } + } + } } -#else - format_tasks(ptask, tasks); -#endif } // Write all type objects as XML nodes. From 01c6a0d9be10be5dd6b3e8f87bb6866e362b99bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Wed, 30 Mar 2022 13:48:48 +0200 Subject: [PATCH 066/243] [IfcConver] Changed OperatesOn hierarchy level in xml task export --- src/serializers/schema_dependent/XmlSerializer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 81461ae3b7..e68353c71a 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -419,7 +419,6 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { IfcSchema::IfcRelAssignsToProcess::list::ptr operates = task->OperatesOn(); if (operates->size() > 0) { - ptree noperates_on; for (IfcSchema::IfcRelAssignsToProcess::list::it i = operates->begin(); i != operates->end(); ++i) { IfcSchema::IfcObjectDefinition::list::ptr objects = (*i)->RelatedObjects(); @@ -428,11 +427,9 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { IfcSchema::IfcObjectDefinition* object = (*it2); ptree nobject; nobject.put(".id", object->GlobalId()); - noperates_on.add_child("Object", nobject); + ntask->add_child("OperatesOn", nobject); } } - - ntask->add_child("OperatesOn", noperates_on); } #endif From 8396c68e75d6679b556aa2c7206afeba7f7b433e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Thu, 31 Mar 2022 11:33:09 +0200 Subject: [PATCH 067/243] Added task to property / quanty relationship --- .../schema_dependent/XmlSerializer.cpp | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index e68353c71a..241ae982d1 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -415,18 +415,34 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { } #endif + IfcSchema::IfcPropertySetDefinition::list::ptr property_sets = get_related + + (task, &IfcSchema::IfcObject::IsDefinedBy, &IfcSchema::IfcRelDefinesByProperties::RelatingPropertyDefinition); + + for (IfcSchema::IfcPropertySetDefinition::list::it it = property_sets->begin(); it != property_sets->end(); ++it) { + IfcSchema::IfcPropertySetDefinition* pset = *it; + if (pset->declaration().is(IfcSchema::IfcPropertySet::Class())) { + format_entity_instance(pset, *ntask, true); + } + else if (pset->declaration().is(IfcSchema::IfcElementQuantity::Class())) { + format_entity_instance(pset, *ntask, true); + } + } + #ifdef SCHEMA_IfcProcess_HAS_OperatesOn IfcSchema::IfcRelAssignsToProcess::list::ptr operates = task->OperatesOn(); if (operates->size() > 0) { for (IfcSchema::IfcRelAssignsToProcess::list::it i = operates->begin(); i != operates->end(); ++i) { - IfcSchema::IfcObjectDefinition::list::ptr objects = (*i)->RelatedObjects(); + IfcSchema::IfcRelAssignsToProcess* operation = (*i); + IfcSchema::IfcObjectDefinition::list::ptr objects = operation->RelatedObjects(); for (IfcSchema::IfcObjectDefinition::list::it it2 = objects->begin(); it2 != objects->end(); ++it2) { IfcSchema::IfcObjectDefinition* object = (*it2); ptree nobject; nobject.put(".id", object->GlobalId()); + nobject.put(".Type", object->declaration().name()); ntask->add_child("OperatesOn", nobject); } } @@ -555,7 +571,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { for (IfcSchema::IfcWorkSchedule::list::it it = pschedules->begin(); it != pschedules->end(); ++it) { IfcSchema::IfcWorkSchedule* schedule = *it; ptree* nschedule = format_entity_instance(schedule, tasks); - + if(nschedule) { IfcSchema::IfcRelAssignsToControl::list::ptr controls = schedule->Controls(); for(IfcSchema::IfcRelAssignsToControl::list::it it2 = controls->begin(); it2 != controls->end(); ++it2) { From 29ecba293ba30334c496c113fe397047ee73db8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Mon, 11 Apr 2022 11:47:53 +0200 Subject: [PATCH 068/243] [IfcConvert] Added calendars to xml output file --- .../schema_dependent/XmlSerializer.cpp | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 241ae982d1..e38a6eac1b 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -479,7 +479,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } IfcSchema::IfcProject* project = *projects->begin(); - ptree root, header, units, decomposition, properties, quantities, types, layers, materials, tasks; + ptree root, header, units, decomposition, properties, quantities, types, layers, materials, tasks, calendars; // Write the SPF header as XML nodes. BOOST_FOREACH(const std::string& s, file->header().file_description().description()) { @@ -590,6 +590,24 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } } + // Write all work calendars and values as XML nodes. +#ifdef SCHEMA_HAS_IfcWorkCalendar + IfcSchema::IfcWorkCalendar::list::ptr pcalendars = file->instances_by_type(); + for (IfcSchema::IfcWorkCalendar::list::it it = pcalendars->begin(); it != pcalendars->end(); ++it) { + IfcSchema::IfcWorkCalendar* calendar = *it; + ptree* ncalendar = format_entity_instance(calendar, calendars); + + if (ncalendar) { + auto working_times = calendar->WorkingTimes().value(); + for(auto it2 = working_times->begin(); it2 != working_times->end(); ++it2) + { + auto working_time = *it2; + format_entity_instance(working_time, *ncalendar); + } + } + } +#endif + // Write all type objects as XML nodes. IfcSchema::IfcTypeObject::list::ptr type_objects = file->instances_by_type(); for (IfcSchema::IfcTypeObject::list::it it = type_objects->begin(); it != type_objects->end(); ++it) { @@ -676,6 +694,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { root.add_child("ifc.properties", properties); root.add_child("ifc.quantities", quantities); root.add_child("ifc.tasks", tasks); + root.add_child("ifc.calendars", calendars); root.add_child("ifc.types", types); root.add_child("ifc.layers", layers); root.add_child("ifc.materials", materials); From b14de15a683a9c65330e35cdbb6019644244b88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Mon, 11 Apr 2022 15:51:08 +0200 Subject: [PATCH 069/243] [IfcConvert] Added Output objects in the XML file --- .../schema_dependent/XmlSerializer.cpp | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index e38a6eac1b..d02a97d8d7 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -383,7 +383,7 @@ void format_quantities(IfcSchema::IfcPhysicalQuantity::list::ptr quantities, ptr // Format IfcTask instances and insert into the DOM. void format_tasks(IfcSchema::IfcTask* task, ptree& node) { ptree* ntask = format_entity_instance(task, node); - + if (ntask) { #ifdef SCHEMA_IfcTask_HAS_TaskTime IfcSchema::IfcTaskTime* task_time = task->TaskTime(); @@ -439,16 +439,44 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { IfcSchema::IfcObjectDefinition::list::ptr objects = operation->RelatedObjects(); for (IfcSchema::IfcObjectDefinition::list::it it2 = objects->begin(); it2 != objects->end(); ++it2) { - IfcSchema::IfcObjectDefinition* object = (*it2); + IfcSchema::IfcObjectDefinition* object = *it2; ptree nobject; nobject.put(".id", object->GlobalId()); - nobject.put(".Type", object->declaration().name()); - ntask->add_child("OperatesOn", nobject); + if (object->declaration().is(IfcSchema::IfcProduct::Class())) + { + ntask->add_child("Input", nobject); + } + else if (object->declaration().is(IfcSchema::IfcResource::Class())) + { + ntask->add_child("Resource", nobject); + } + else if (object->declaration().is(IfcSchema::IfcControl::Class())) + { + ntask->add_child("Control", nobject); + } + else + { + nobject.put(".Type", object->declaration().name()); + ntask->add_child("OperatesOn", nobject); + } } } } #endif + IfcSchema::IfcRelAssigns::list::ptr assignments = task->HasAssignments(); + for (IfcSchema::IfcRelAssigns::list::it i = assignments->begin(); i != assignments->end(); ++i) + { + IfcSchema::IfcRelAssigns* assignment = *i; + if (assignment->declaration().is(IfcSchema::IfcRelAssignsToProduct::Class())) { + IfcSchema::IfcRelAssignsToProduct* assign_to_product = assignment->as(); + IfcSchema::IfcProduct* product = assign_to_product->RelatingProduct()->as(); + ptree nobject; + nobject.put(".id", product->GlobalId()); + ntask->add_child("Output", nobject); + } + } + #ifdef SCHEMA_IfcObjectDefinition_HAS_IsNestedBy IfcSchema::IfcRelNests::list::ptr nested_by = task->IsNestedBy(); for (IfcSchema::IfcRelNests::list::it it = nested_by->begin(); it != nested_by->end(); ++it) @@ -465,7 +493,7 @@ void format_tasks(IfcSchema::IfcTask* task, ptree& node) { } #endif } -} +} } // ~unnamed namespace From 2d7a90bd2b312c2215009876a079428dc6aeee3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Mon, 11 Apr 2022 17:13:22 +0200 Subject: [PATCH 070/243] [IfcConvert] Fix crash when IfcWorkCalendar does not contain IfcWorkTime --- src/serializers/schema_dependent/XmlSerializer.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index d02a97d8d7..28ea71f832 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -626,11 +626,13 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { ptree* ncalendar = format_entity_instance(calendar, calendars); if (ncalendar) { - auto working_times = calendar->WorkingTimes().value(); - for(auto it2 = working_times->begin(); it2 != working_times->end(); ++it2) - { - auto working_time = *it2; - format_entity_instance(working_time, *ncalendar); + IfcSchema::IfcWorkTime::list::ptr working_times = calendar->WorkingTimes().value_or(nullptr); + if (working_times != nullptr) { + for (IfcSchema::IfcWorkTime::list::it it2 = working_times->begin(); it2 != working_times->end(); ++it2) + { + IfcSchema::IfcWorkTime* working_time = *it2; + format_entity_instance(working_time, *ncalendar); + } } } } From 952d1c3b79a5fe2bd6eb0b059007b15f631fd9d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Mart=C3=ADnez=20de=20la=20Rosa?= <36189169+christt105@users.noreply.github.com> Date: Thu, 21 Apr 2022 14:08:36 +0200 Subject: [PATCH 071/243] [IfcConvert] Added IfcWorkPlan to xml export --- .../schema_dependent/XmlSerializer.cpp | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index 28ea71f832..816bf583f8 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -507,7 +507,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } IfcSchema::IfcProject* project = *projects->begin(); - ptree root, header, units, decomposition, properties, quantities, types, layers, materials, tasks, calendars; + ptree root, header, units, decomposition, properties, quantities, types, layers, materials, work, calendars; // Write the SPF header as XML nodes. BOOST_FOREACH(const std::string& s, file->header().file_description().description()) { @@ -595,10 +595,11 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } // Write all work schedules and values as XML nodes. + ptree pwork_schedules; IfcSchema::IfcWorkSchedule::list::ptr pschedules = file->instances_by_type(); for (IfcSchema::IfcWorkSchedule::list::it it = pschedules->begin(); it != pschedules->end(); ++it) { IfcSchema::IfcWorkSchedule* schedule = *it; - ptree* nschedule = format_entity_instance(schedule, tasks); + ptree* nschedule = format_entity_instance(schedule, pwork_schedules); if(nschedule) { IfcSchema::IfcRelAssignsToControl::list::ptr controls = schedule->Controls(); @@ -617,14 +618,41 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { } } } + work.add_child("schedules", pwork_schedules); + // Write all work plans and values as XML nodes. + ptree pwork_plans; + IfcSchema::IfcWorkPlan::list::ptr pplans = file->instances_by_type(); + for (IfcSchema::IfcWorkPlan::list::it it = pplans->begin(); it != pplans->end(); ++it) { + IfcSchema::IfcWorkPlan* plan = *it; + ptree* nschedule = format_entity_instance(plan, pwork_plans); + + if (nschedule) { +#ifdef SCHEMA_IfcObjectDefinition_HAS_IsDecomposedBy + auto decomposed_by = plan->IsDecomposedBy(); + for (auto it2 = decomposed_by->begin(); it2 != decomposed_by->end(); ++it2) + { + IfcSchema::IfcObjectDefinition::list::ptr related_objects = (*it2)->RelatedObjects(); + for (IfcSchema::IfcObjectDefinition::list::it it3 = related_objects->begin(); it3 != related_objects->end(); ++it3) + { + IfcSchema::IfcObjectDefinition* work_schedule = *it3; + ptree pwork_schedule; + pwork_schedule.put(".id", work_schedule->GlobalId()); + nschedule->add_child("IfcWorkSchedule", pwork_schedule); + } + } +#endif + } + } + work.add_child("plans", pwork_plans); + // Write all work calendars and values as XML nodes. #ifdef SCHEMA_HAS_IfcWorkCalendar IfcSchema::IfcWorkCalendar::list::ptr pcalendars = file->instances_by_type(); for (IfcSchema::IfcWorkCalendar::list::it it = pcalendars->begin(); it != pcalendars->end(); ++it) { IfcSchema::IfcWorkCalendar* calendar = *it; ptree* ncalendar = format_entity_instance(calendar, calendars); - + if (ncalendar) { IfcSchema::IfcWorkTime::list::ptr working_times = calendar->WorkingTimes().value_or(nullptr); if (working_times != nullptr) { @@ -723,7 +751,7 @@ void MAKE_TYPE_NAME(XmlSerializer)::finalize() { root.add_child("ifc.units", units); root.add_child("ifc.properties", properties); root.add_child("ifc.quantities", quantities); - root.add_child("ifc.tasks", tasks); + root.add_child("ifc.work", work); root.add_child("ifc.calendars", calendars); root.add_child("ifc.types", types); root.add_child("ifc.layers", layers); From 6bcf00ef31ce2c427719cbcc0dd26b9e9a4d563a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 28 Apr 2022 19:57:47 +1000 Subject: [PATCH 072/243] #1153 Reimplement ability to build SVG tables from referenced ODS documents --- .../blenderbim/bim/module/drawing/operator.py | 15 +++----- .../blenderbim/bim/module/drawing/sheeter.py | 11 +++--- .../blenderbim/bim/module/drawing/ui.py | 2 +- src/blenderbim/blenderbim/core/drawing.py | 7 +++- src/blenderbim/blenderbim/core/tool.py | 3 +- src/blenderbim/blenderbim/tool/drawing.py | 34 ++++++++++------- src/blenderbim/test/core/test_drawing.py | 4 +- src/blenderbim/test/tool/test_drawing.py | 37 ++++++++++++------- 8 files changed, 65 insertions(+), 48 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 008a8f3d1e..02c919eb90 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -624,7 +624,7 @@ class CreateSheets(bpy.types.Operator): props = scene.DocProperties active_sheet = props.sheets[props.active_sheet_index] sheet = tool.Ifc.get().by_id(active_sheet.ifc_definition_id) - name = tool.Drawing.get_sheet_filename(sheet) + name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] sheet_builder = sheeter.SheetBuilder() sheet_builder.data_dir = scene.BIMProperties.data_dir sheet_builder.build(sheet) @@ -956,18 +956,13 @@ class OpenSchedule(bpy.types.Operator, Operator): core.open_schedule(tool.Drawing, schedule=tool.Ifc.get().by_id(self.schedule)) -class BuildSchedule(bpy.types.Operator): +class BuildSchedule(bpy.types.Operator, Operator): bl_idname = "bim.build_schedule" bl_label = "Build Schedule" + schedule: bpy.props.IntProperty() - def execute(self, context): - props = context.scene.DocProperties - schedule = props.active_schedule - schedule_creator = scheduler.Scheduler() - outfile = os.path.join(context.scene.BIMProperties.data_dir, "schedules", schedule.name + ".svg") - schedule_creator.schedule(schedule.file, outfile) - open_with_user_command(context.preferences.addons["blenderbim"].preferences.svg_command, outfile) - return {"FINISHED"} + def _execute(self, context): + core.build_schedule(tool.Drawing, schedule=tool.Ifc.get().by_id(self.schedule)) class AddScheduleToSheet(bpy.types.Operator): diff --git a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py index 2a8229b660..e90d7a9c6a 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py @@ -31,8 +31,7 @@ class SheetBuilder: self.data_dir = None self.scale = "NTS" - def create(self, name, titleblock_name): - sheet_path = os.path.join(self.data_dir, "sheets", f"{name}.svg") + def create(self, sheet_path, titleblock_name): root = ET.Element("svg") root.attrib["xmlns"] = "http://www.w3.org/2000/svg" root.attrib["xmlns:xlink"] = "http://www.w3.org/1999/xlink" @@ -62,7 +61,7 @@ class SheetBuilder: def add_drawing(self, drawing, sheet): filename = drawing.Name - sheet_name = tool.Drawing.get_sheet_filename(sheet) + sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] sheet_dir = os.path.join(self.data_dir, "sheets") drawing_dir = os.path.join(self.data_dir, "diagrams") sheet_path = os.path.join(sheet_dir, sheet_name + ".svg") @@ -112,7 +111,7 @@ class SheetBuilder: sheet_tree.write(sheet_path) def remove_drawing(self, drawing, sheet): - sheet_name = tool.Drawing.get_sheet_filename(sheet) + sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] sheet_dir = os.path.join(self.data_dir, "sheets") sheet_path = os.path.join(sheet_dir, sheet_name + ".svg") @@ -168,7 +167,7 @@ class SheetBuilder: title.attrib["height"] = str(self.convert_to_mm(title_root.attrib.get("height"))) def build(self, sheet): - sheet_name = tool.Drawing.get_sheet_filename(sheet) + sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] os.makedirs(os.path.join(self.data_dir, "build", sheet_name), exist_ok=True) sheet_path = os.path.join(self.data_dir, "sheets", f"{sheet_name}.svg") @@ -193,7 +192,7 @@ class SheetBuilder: titleblock.remove(image) def build_drawings(self, root, sheet): - sheet_name = tool.Drawing.get_sheet_filename(sheet) + sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] references = tool.Drawing.get_document_references(sheet) drawing_references = {tool.Drawing.get_reference_element(r): r for r in references} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 085780c5a6..8c3335d945 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -217,7 +217,7 @@ class BIM_PT_schedules(Panel): row = self.layout.row(align=True) row.alignment = "RIGHT" row.operator("bim.open_schedule", icon="URL", text="").schedule = active_schedule.ifc_definition_id - row.operator("bim.build_schedule", icon="LINENUMBERS_ON", text="") + row.operator("bim.build_schedule", icon="LINENUMBERS_ON", text="").schedule = active_schedule.ifc_definition_id row.operator("bim.remove_schedule", icon="X", text="").schedule = active_schedule.ifc_definition_id self.layout.template_list("BIM_UL_generic", "", self.props, "schedules", self.props, "active_schedule_index") diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index fe9e4ef74e..10b02438cf 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -81,7 +81,7 @@ def add_sheet(ifc, drawing, titleblock=None): def open_sheet(drawing, sheet=None): - drawing.open_svg(drawing.get_sheet_filename(sheet)) + drawing.open_svg(drawing.get_document_uri(sheet)) def remove_sheet(ifc, drawing, sheet=None): @@ -208,6 +208,11 @@ def add_annotation(ifc, collector, drawing_tool, drawing=None, object_type=None) drawing_tool.enable_editing(obj) +def build_schedule(drawing, schedule=None): + drawing.create_svg_schedule(schedule) + drawing.open_svg(drawing.get_document_uri(schedule)) + + def sync_references(ifc, collector, drawing_tool, drawing=None): if not drawing_tool.has_linework(drawing): return diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index ef8440f7c5..29129a2ec5 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -156,6 +156,7 @@ class Document: class Drawing: def create_annotation_object(cls, object_type): pass def create_camera(cls, name, matrix): pass + def create_svg_schedule(cls, schedule): pass def create_svg_sheet(cls, document, titleblock): pass def delete_collection(cls, collection): pass def delete_drawing_elements(cls, elements): pass @@ -179,6 +180,7 @@ class Drawing: def generate_sheet_identification(cls): pass def get_annotation_context(cls, target_view): pass def get_body_context(cls): pass + def get_document_uri(cls, document): pass def get_drawing_collection(cls, drawing): pass def get_drawing_group(cls, drawing): pass def get_drawing_target_view(cls, drawing): pass @@ -186,7 +188,6 @@ class Drawing: def get_ifc_representation_class(cls, object_type): pass def get_name(cls, element): pass def get_schedule_location(cls, schedule): pass - def get_sheet_filename(cls, document): pass def get_text_literal(cls, obj): pass def get_text_product(cls, element): pass def import_drawings(cls): pass diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index b3cbb92028..ad7b472eed 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -29,6 +29,7 @@ import blenderbim.core.geometry import blenderbim.tool as tool import ifcopenshell.util.representation import blenderbim.bim.module.drawing.sheeter as sheeter +import blenderbim.bim.module.drawing.scheduler as scheduler import blenderbim.bim.module.drawing.annotation as annotation import blenderbim.bim.module.drawing.helper as helper @@ -72,11 +73,16 @@ class Drawing(blenderbim.core.tool.Drawing): bpy.context.scene.collection.objects.link(camera) return camera + @classmethod + def create_svg_schedule(cls, schedule): + schedule_creator = scheduler.Scheduler() + schedule_creator.schedule(cls.get_schedule_location(schedule), cls.get_document_uri(schedule)) + @classmethod def create_svg_sheet(cls, document, titleblock): sheet_builder = sheeter.SheetBuilder() sheet_builder.data_dir = bpy.context.scene.BIMProperties.data_dir - sheet_builder.create(cls.get_sheet_filename(document), titleblock) + sheet_builder.create(cls.get_document_uri(document), titleblock) @classmethod def delete_collection(cls, collection): @@ -173,6 +179,18 @@ class Drawing(blenderbim.core.tool.Drawing): def get_body_context(cls): return ifcopenshell.util.representation.get_context(tool.Ifc.get(), "Model", "Body", "MODEL_VIEW") + @classmethod + def get_document_uri(cls, document): + if hasattr(document, "Identification"): + name = document.Identification or "X" + else: + name = document.DocumentId or "X" + name += " - " + (document.Name or "Unnamed") + if document.Scope == "DOCUMENTATION": + return os.path.join(bpy.context.scene.BIMProperties.data_dir, "sheets", name + ".svg") + elif document.Scope == "SCHEDULE": + return os.path.join(bpy.context.scene.BIMProperties.data_dir, "schedules", name + ".svg") + @classmethod def get_drawing_collection(cls, drawing): obj = tool.Ifc.get_object(drawing) @@ -211,15 +229,6 @@ class Drawing(blenderbim.core.tool.Drawing): return schedule.DocumentReferences[0].Location return schedule.Location - @classmethod - def get_sheet_filename(cls, document): - if hasattr(document, "Identification"): - name = document.Identification or "X" - else: - name = document.DocumentId or "X" - name += " - " + (document.Name or "Unnamed") - return name - @classmethod def generate_drawing_matrix(cls, target_view, location_hint): x = 0 if location_hint == 0 else bpy.context.scene.cursor.matrix[0][3] @@ -367,10 +376,9 @@ class Drawing(blenderbim.core.tool.Drawing): ) @classmethod - def open_svg(cls, filename): + def open_svg(cls, uri): cls.open_with_user_command( - bpy.context.preferences.addons["blenderbim"].preferences.svg_command, - os.path.join(bpy.context.scene.BIMProperties.data_dir, "sheets", filename + ".svg"), + bpy.context.preferences.addons["blenderbim"].preferences.svg_command, uri ) @classmethod diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index f6484cab03..19e69f1f97 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -114,8 +114,8 @@ class TestAddSheet: class TestOpenSheet: def test_run(self, drawing): - drawing.get_sheet_filename("sheet").should_be_called().will_return("filename") - drawing.open_svg("filename").should_be_called() + drawing.get_document_uri("sheet").should_be_called().will_return("uri") + drawing.open_svg("uri").should_be_called() subject.open_sheet(drawing, sheet="sheet") diff --git a/src/blenderbim/test/tool/test_drawing.py b/src/blenderbim/test/tool/test_drawing.py index 32b9967418..fbe28d318d 100644 --- a/src/blenderbim/test/tool/test_drawing.py +++ b/src/blenderbim/test/tool/test_drawing.py @@ -51,7 +51,7 @@ class TestCreateCamera(NewFile): class TestCreateSvgSheet(NewFile): def test_run(self): ifc = ifcopenshell.file() - document = ifc.createIfcDocumentInformation(Identification="X", Name="FOOBAR") + document = ifc.createIfcDocumentInformation(Identification="X", Name="FOOBAR", Scope="DOCUMENTATION") subject.create_svg_sheet(document, "A1") assert os.path.isfile(os.path.join(bpy.context.scene.BIMProperties.data_dir, "sheets", "X - FOOBAR.svg")) @@ -221,6 +221,26 @@ class TestGetBodyContext(NewFile): assert subject.get_body_context() == context +class TestGetDocumentUri(NewFile): + def test_get_sheet_uri(self): + ifc = ifcopenshell.file() + document = ifc.createIfcDocumentInformation(Identification="X", Name="FOOBAR", Scope="DOCUMENTATION") + result = subject.get_document_uri(document) + assert result == os.path.join(bpy.context.scene.BIMProperties.data_dir, "sheets", "X - FOOBAR.svg") + + def test_get_schedule_uri(self): + ifc = ifcopenshell.file() + document = ifc.createIfcDocumentInformation(Identification="X", Name="FOOBAR", Scope="SCHEDULE") + result = subject.get_document_uri(document) + assert result == os.path.join(bpy.context.scene.BIMProperties.data_dir, "schedules", "X - FOOBAR.svg") + + def test_run_ifc2x3(self): + ifc = ifcopenshell.file(schema="IFC2X3") + document = ifc.createIfcDocumentInformation(DocumentId="X", Name="FOOBAR", Scope="DOCUMENTATION") + result = subject.get_document_uri(document) + assert result == os.path.join(bpy.context.scene.BIMProperties.data_dir, "sheets", "X - FOOBAR.svg") + + class TestGetDrawingCollection(NewFile): def test_run(self): ifc = ifcopenshell.file() @@ -288,21 +308,10 @@ class TestGetScheduleLocation(NewFile): def test_run_ifc2x3(self): ifc = ifcopenshell.file(schema="IFC2X3") + tool.Ifc.set(ifc) reference = ifc.createIfcDocumentReference(Location="uri") schedule = ifc.createIfcDocumentInformation(DocumentReferences=[reference]) - subject.get_sheet_filename(schedule) == "uri" - - -class TestGetSheetFilename(NewFile): - def test_run(self): - ifc = ifcopenshell.file() - document = ifc.createIfcDocumentInformation(Identification="X", Name="FOOBAR", Scope="DOCUMENTATION") - subject.get_sheet_filename(document) == "X - FOOBAR" - - def test_run_ifc2x3(self): - ifc = ifcopenshell.file(schema="IFC2X3") - document = ifc.createIfcDocumentInformation(DocumentId="X", Name="FOOBAR", Scope="DOCUMENTATION") - subject.get_sheet_filename(document) == "X - FOOBAR" + subject.get_schedule_location(schedule) == "uri" class TestGenerateDrawingMatrix(NewFile): From 21fee721be298466a1bf9134c20501d22bea8b3e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 29 Apr 2022 13:32:34 +1000 Subject: [PATCH 073/243] #1153 Implement adding and removing schedules from a sheet --- .../blenderbim/bim/module/drawing/operator.py | 60 ++++++++++---- .../blenderbim/bim/module/drawing/sheeter.py | 80 +++++++++++-------- .../blenderbim/bim/module/drawing/ui.py | 2 + src/blenderbim/blenderbim/tool/drawing.py | 20 +++-- 4 files changed, 105 insertions(+), 57 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 02c919eb90..8497947cd4 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -555,17 +555,11 @@ class AddDrawingToSheet(bpy.types.Operator): has_drawing = False for reference in references: - new = props.sheets.add() - new.ifc_definition_id = reference.id() - new.is_sheet = False - if tool.Ifc.get_schema() == "IFC2X3": - new.identification = reference.ItemReference or "X" element = [r for r in tool.Ifc.by_type("IfcRelAssociatesDocument") if r.RelatingDocument == reference][ 0 ].RelatedObjects[0] else: - new.identification = reference.Identification or "X" element = reference.DocumentRefForObjects[0].RelatedObjects[0] if element == drawing: has_drawing = True @@ -583,7 +577,7 @@ class AddDrawingToSheet(bpy.types.Operator): tool.Ifc.run("document.assign_document", product=drawing, document=reference) sheet_builder = sheeter.SheetBuilder() sheet_builder.data_dir = context.scene.BIMProperties.data_dir - sheet_builder.add_drawing(drawing, sheet) + sheet_builder.add_drawing(reference, drawing, sheet) tool.Drawing.import_sheets() return {"FINISHED"} @@ -597,15 +591,18 @@ class RemoveDrawingFromSheet(bpy.types.Operator): def execute(self, context): reference = tool.Ifc.get().by_id(self.reference) - sheet = tool.Drawing.get_reference_sheet(reference) - drawing = tool.Drawing.get_reference_element(reference) - - tool.Ifc.run("document.unassign_document", product=drawing, document=reference) - tool.Ifc.run("document.remove_reference", reference=reference) + sheet = tool.Drawing.get_reference_document(reference) sheet_builder = sheeter.SheetBuilder() sheet_builder.data_dir = context.scene.BIMProperties.data_dir - sheet_builder.remove_drawing(drawing, sheet) + sheet_builder.remove_drawing(reference, sheet) + + drawing = tool.Drawing.get_reference_element(reference) + if drawing: + tool.Ifc.run("document.unassign_document", product=drawing, document=reference) + + tool.Ifc.run("document.remove_reference", reference=reference) + tool.Drawing.import_sheets() return {"FINISHED"} @@ -624,6 +621,10 @@ class CreateSheets(bpy.types.Operator): props = scene.DocProperties active_sheet = props.sheets[props.active_sheet_index] sheet = tool.Ifc.get().by_id(active_sheet.ifc_definition_id) + + if not sheet.is_a("IfcDocumentInformation"): + return {"FINISHED"} + name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] sheet_builder = sheeter.SheetBuilder() sheet_builder.data_dir = scene.BIMProperties.data_dir @@ -978,9 +979,40 @@ class AddScheduleToSheet(bpy.types.Operator): def execute(self, context): props = context.scene.DocProperties + active_schedule = props.schedules[props.active_schedule_index] + active_sheet = props.sheets[props.active_sheet_index] + schedule = tool.Ifc.get().by_id(active_schedule.ifc_definition_id) + sheet = tool.Ifc.get().by_id(active_sheet.ifc_definition_id) + if not sheet.is_a("IfcDocumentInformation"): + return {"FINISHED"} + + if tool.Ifc.get_schema() == "IFC2X3": + references = sheet.DocumentReferences or [] + else: + references = sheet.HasDocumentReferences or [] + + has_schedule = False + for reference in references: + if reference.Location == tool.Drawing.get_schedule_location(schedule): + has_schedule = True + break + + if has_schedule: + return {"FINISHED"} + + reference = tool.Ifc.run("document.add_reference", information=sheet) + if tool.Ifc.get_schema() == "IFC2X3": + attributes = {"ItemReference": str(len(sheet.DocumentReferences or []))} + else: + attributes = {"Identification": str(len(sheet.HasDocumentReferences or []))} + attributes["Location"] = tool.Drawing.get_schedule_location(schedule) + tool.Ifc.run("document.edit_reference", reference=reference, attributes=attributes) + sheet_builder = sheeter.SheetBuilder() sheet_builder.data_dir = context.scene.BIMProperties.data_dir - sheet_builder.add_schedule(props.active_schedule.name, props.active_sheet.name) + sheet_builder.add_schedule(reference, schedule, sheet) + + tool.Drawing.import_sheets() return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py index e90d7a9c6a..7855e6067c 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/sheeter.py @@ -59,7 +59,7 @@ class SheetBuilder: with open(sheet_path, "w") as f: f.write(minidom.parseString(ET.tostring(root)).toprettyxml(indent=" ")) - def add_drawing(self, drawing, sheet): + def add_drawing(self, reference, drawing, sheet): filename = drawing.Name sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] sheet_dir = os.path.join(self.data_dir, "sheets") @@ -85,7 +85,8 @@ class SheetBuilder: # here to accommodate browsers which do not nest images. view = ET.SubElement(sheet_root, "g") view.attrib["data-type"] = "drawing" - view.attrib["data-guid"] = drawing.GlobalId + view.attrib["data-id"] = str(reference.id()) + view.attrib["data-drawing"] = drawing.GlobalId view_width = self.convert_to_mm(view_root.attrib.get("width")) view_height = self.convert_to_mm(view_root.attrib.get("height")) @@ -110,26 +111,24 @@ class SheetBuilder: self.add_view_title(30, view_height + 35, view) sheet_tree.write(sheet_path) - def remove_drawing(self, drawing, sheet): - sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] - sheet_dir = os.path.join(self.data_dir, "sheets") - sheet_path = os.path.join(sheet_dir, sheet_name + ".svg") - + def remove_drawing(self, reference, sheet): ET.register_namespace("", "http://www.w3.org/2000/svg") + sheet_path = tool.Drawing.get_document_uri(sheet) sheet_tree = ET.parse(sheet_path) sheet_root = sheet_tree.getroot() - for g in sheet_root.findall("{http://www.w3.org/2000/svg}g"): - if g.attrib["data-type"] == "drawing" and g.attrib["data-guid"] == drawing.GlobalId: + for g in sheet_root.findall('{http://www.w3.org/2000/svg}g'): + if g.attrib.get("data-id") == str(reference.id()): sheet_root.remove(g) break sheet_tree.write(sheet_path) - def add_schedule(self, schedule_name, sheet_name): - sheet_path = os.path.join(self.data_dir, "sheets", sheet_name + ".svg") - view_path = os.path.join(self.data_dir, "schedules", schedule_name + ".svg") + def add_schedule(self, reference, schedule, sheet): + view_path = tool.Drawing.get_document_uri(schedule) + schedule_name = os.path.splitext(os.path.basename(view_path))[0] + sheet_path = tool.Drawing.get_document_uri(sheet) ET.register_namespace("", "http://www.w3.org/2000/svg") ET.register_namespace("xlink", "http://www.w3.org/1999/xlink") @@ -142,17 +141,20 @@ class SheetBuilder: view_width = self.convert_to_mm(view_root.attrib.get("width")) view_height = self.convert_to_mm(view_root.attrib.get("height")) - group = ET.SubElement(sheet_root, "g") - group.attrib["data-type"] = "schedule" + view = ET.SubElement(sheet_root, "g") + view.attrib["data-type"] = "schedule" + view.attrib["data-id"] = str(reference.id()) + view.attrib["data-schedule"] = str(schedule.id()) - foreground = ET.SubElement(group, "image") + foreground = ET.SubElement(view, "image") + foreground.attrib["data-type"] = "table" foreground.attrib["xlink:href"] = "../schedules/{}.svg".format(schedule_name) foreground.attrib["x"] = "30" foreground.attrib["y"] = "30" foreground.attrib["width"] = str(view_width) foreground.attrib["height"] = str(view_height) - self.add_view_title(30, view_height + 35, group) + self.add_view_title(30, view_height + 35, view) sheet_tree.write(sheet_path) def add_view_title(self, x, y, parent): @@ -180,7 +182,7 @@ class SheetBuilder: self.build_titleblock(root, sheet) self.build_drawings(root, sheet) - self.build_schedules(root.findall('{http://www.w3.org/2000/svg}g[@data-type="schedule"]')) + self.build_schedules(root) with open(os.path.join(self.data_dir, "build", sheet_name, f"{sheet_name}.svg"), "wb") as output: tree.write(output) @@ -193,12 +195,10 @@ class SheetBuilder: def build_drawings(self, root, sheet): sheet_name = os.path.splitext(os.path.basename(tool.Drawing.get_document_uri(sheet)))[0] - references = tool.Drawing.get_document_references(sheet) - drawing_references = {tool.Drawing.get_reference_element(r): r for r in references} for view in root.findall('{http://www.w3.org/2000/svg}g[@data-type="drawing"]'): - drawing = [d for d in drawing_references.keys() if d and d.GlobalId == view.attrib["data-guid"]][0] - reference = drawing_references[drawing] + reference = tool.Ifc.get().by_id(int(view.attrib["data-id"])) + drawing = tool.Ifc.get().by_id(view.attrib["data-drawing"]) images = view.findall("{http://www.w3.org/2000/svg}image") @@ -232,24 +232,34 @@ class SheetBuilder: for image in images: view.remove(image) - def build_schedules(self, schedules): - for group in schedules: - images = group.findall("{http://www.w3.org/2000/svg}image") - schedule = images[0] - group_title = images[1] - self.scale = "NTS" + def build_schedules(self, root): + for view in root.findall('{http://www.w3.org/2000/svg}g[@data-type="schedule"]'): + reference = tool.Ifc.get().by_id(int(view.attrib["data-id"])) + schedule = tool.Ifc.get().by_id(int(view.attrib["data-schedule"])) - group.append(self.parse_embedded_svg(schedule, {})) + images = view.findall("{http://www.w3.org/2000/svg}image") - path = self.get_href(schedule) - group.append( - self.parse_embedded_svg( - group_title, {"no": 1, "name": ntpath.basename(path)[0:-4], "scale": self.scale} - ) - ) + table = None + view_title = None for image in images: - group.remove(image) + if image.attrib["data-type"] == "table": + table = image + elif image.attrib["data-type"] == "view-title": + view_title = image + + if table is not None: + view.append(self.parse_embedded_svg(table, {})) + + if view_title is not None: + path = self.get_href(table) + data = reference.get_info() + if not data["Name"]: + data["Name"] = schedule.Name or "Unnamed" + view.append(self.parse_embedded_svg(view_title, data)) + + for image in images: + view.remove(image) def get_href(self, element): return urllib.parse.unquote(element.attrib.get("{http://www.w3.org/1999/xlink}href")) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 8c3335d945..fd40ff178e 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -420,6 +420,8 @@ class BIM_UL_sheets(bpy.types.UIList): row.label(text="", icon="BLANK1") if item.reference_type == "DRAWING": row.label(text="", icon="IMAGE_DATA") + elif item.reference_type == "SCHEDULE": + row.label(text="", icon="LONGDISPLAY") name = "{} - {}".format(item.identification or "X", item.name or "Unnamed") row.label(text=name) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index ad7b472eed..22e91b7ebb 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -340,9 +340,12 @@ class Drawing(blenderbim.core.tool.Drawing): new.identification = reference.Identification or "X" element = cls.get_reference_element(reference) - - new.name = element.Name - new.reference_type = "DRAWING" + if element: + new.name = element.Name + new.reference_type = "DRAWING" + else: + new.name = cls.get_reference_document(reference).Name or "Unnamed" + new.reference_type = "SCHEDULE" @classmethod def import_text_attributes(cls, obj): @@ -838,10 +841,11 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def get_reference_element(cls, reference): if tool.Ifc.get_schema() == "IFC2X3": - return [r for r in tool.Ifc.by_type("IfcRelAssociatesDocument") if r.RelatingDocument == reference][ - 0 - ].RelatedObjects[0] - return reference.DocumentRefForObjects[0].RelatedObjects[0] + refs = [r for r in tool.Ifc.by_type("IfcRelAssociatesDocument") if r.RelatingDocument == reference] + else: + refs = reference.DocumentRefForObjects + if refs: + return refs[0].RelatedObjects[0] @classmethod def get_drawing_human_scale(cls, drawing): @@ -893,7 +897,7 @@ class Drawing(blenderbim.core.tool.Drawing): return rel.RelatingDocument @classmethod - def get_reference_sheet(cls, reference): + def get_reference_document(cls, reference): if tool.Ifc.get_schema() == "IFC2X3": return reference.ReferenceToDocument[0] return reference.ReferencedDocument From ac4679a37641b4edf3cc345ff6a4f418d0b36b5b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 30 Apr 2022 11:40:19 +1000 Subject: [PATCH 074/243] #1153 New CAD module with basic trim / extend tool for 2D linework --- src/blenderbim/blenderbim/bim/__init__.py | 1 + .../blenderbim/bim/module/cad/__init__.py | 32 ++ .../blenderbim/bim/module/cad/operator.py | 76 +++++ .../blenderbim/bim/module/drawing/operator.py | 1 + .../blenderbim/bim/module/drawing/ui.py | 12 + src/blenderbim/blenderbim/tool/__init__.py | 1 + src/blenderbim/blenderbim/tool/cad.py | 290 ++++++++++++++++++ 7 files changed, 413 insertions(+) create mode 100644 src/blenderbim/blenderbim/bim/module/cad/__init__.py create mode 100644 src/blenderbim/blenderbim/bim/module/cad/operator.py create mode 100644 src/blenderbim/blenderbim/tool/cad.py diff --git a/src/blenderbim/blenderbim/bim/__init__.py b/src/blenderbim/blenderbim/bim/__init__.py index da0194dcec..58cc86aac1 100644 --- a/src/blenderbim/blenderbim/bim/__init__.py +++ b/src/blenderbim/blenderbim/bim/__init__.py @@ -27,6 +27,7 @@ modules = { "root": None, "unit": None, "model": None, + "cad": None, "georeference": None, "context": None, "drawing": None, diff --git a/src/blenderbim/blenderbim/bim/module/cad/__init__.py b/src/blenderbim/blenderbim/bim/module/cad/__init__.py new file mode 100644 index 0000000000..37c10ff84e --- /dev/null +++ b/src/blenderbim/blenderbim/bim/module/cad/__init__.py @@ -0,0 +1,32 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2020, 2021 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import bpy +from . import operator + +classes = ( + operator.TCAutoVTX, +) + + +def register(): + pass + + +def unregister(): + pass diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py new file mode 100644 index 0000000000..0533c636dc --- /dev/null +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -0,0 +1,76 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2020, 2021 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import bpy +import bmesh +import blenderbim.tool as tool + +messages = { + "SHARED_VERTEX": "Shared Vertex, no intersection possible", + "PARALLEL_EDGES": "Edges Parallel, no intersection possible", + "NON_PLANAR_EDGES": "Non Planar Edges, no clean intersection point", +} + + +class TCAutoVTX(bpy.types.Operator): + """Weld intersecting edges, project converging edges towards their intersection""" + + bl_idname = "bim.vtx" + bl_label = "VTX autoVTX" + + @classmethod + def poll(cls, context): + obj = context.active_object + return bool(obj) and obj.type == "MESH" + + def cancel_message(self, msg): + print(msg) + self.report({"WARNING"}, msg) + return {"CANCELLED"} + + def execute(self, context): + + # final attempt to enter unfragmented bm/mesh + # ghastly, but what can I do? it works with these + # fails without. + bpy.ops.object.mode_set(mode="OBJECT") + bpy.ops.object.mode_set(mode="EDIT") + + obj = context.active_object + me = obj.data + + bm = bmesh.from_edit_mesh(me) + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + + edges = [e for e in bm.edges if e.select and not e.hide] + + if len(edges) == 2: + message = tool.Cad.do_vtx_if_appropriate(bm, edges) + if isinstance(message, set): + msg = messages.get(message.pop()) + return self.cancel_message(msg) + bm = message + else: + return self.cancel_message("select two edges!") + + bm.verts.index_update() + bm.edges.index_update() + bmesh.update_edit_mesh(me, loop_triangles=True) + + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 8497947cd4..cae1419c51 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -40,6 +40,7 @@ import blenderbim.bim.module.drawing.scheduler as scheduler import blenderbim.bim.module.drawing.helper as helper import blenderbim.bim.export_ifc from lxml import etree +from math import pi from mathutils import Vector, Matrix, Euler, geometry from blenderbim.bim.module.drawing.prop import RasterStyleProperty from blenderbim.bim.ifc import IfcStore diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index fd40ff178e..558e0f30a0 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -144,6 +144,10 @@ class BIM_PT_drawings(Panel): bl_region_type = "UI" bl_category = "BIM Documentation" + @classmethod + def poll(cls, context): + return tool.Ifc.get() + def draw(self, context): if not DrawingsData.is_loaded: DrawingsData.load() @@ -195,6 +199,10 @@ class BIM_PT_schedules(Panel): bl_region_type = "UI" bl_category = "BIM Documentation" + @classmethod + def poll(cls, context): + return tool.Ifc.get() + def draw(self, context): if not SchedulesData.is_loaded: SchedulesData.load() @@ -230,6 +238,10 @@ class BIM_PT_sheets(Panel): bl_region_type = "UI" bl_category = "BIM Documentation" + @classmethod + def poll(cls, context): + return tool.Ifc.get() + def draw(self, context): if not SheetsData.is_loaded: SheetsData.load() diff --git a/src/blenderbim/blenderbim/tool/__init__.py b/src/blenderbim/blenderbim/tool/__init__.py index 7ae4c6fbea..12bf26b42d 100644 --- a/src/blenderbim/blenderbim/tool/__init__.py +++ b/src/blenderbim/blenderbim/tool/__init__.py @@ -20,6 +20,7 @@ from blenderbim.tool.aggregate import Aggregate from blenderbim.tool.blender import Blender from blenderbim.tool.boundary import Boundary from blenderbim.tool.brick import Brick +from blenderbim.tool.cad import Cad from blenderbim.tool.collector import Collector from blenderbim.tool.context import Context from blenderbim.tool.debug import Debug diff --git a/src/blenderbim/blenderbim/tool/cad.py b/src/blenderbim/blenderbim/tool/cad.py new file mode 100644 index 0000000000..008cc803a4 --- /dev/null +++ b/src/blenderbim/blenderbim/tool/cad.py @@ -0,0 +1,290 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +# This code was originally taken from https://github.com/zeffii/mesh_tiny_cad +# which is typically bundled with Blender, licensed under GPL v2-or-later. +# Modifications are made to make the behaviour more in line with how intuitively +# CAD drafters use these tools. + +# Changes include: +# +# - Instead of AutoVTX, user explicitly chooses V, T, or X mode + + +import sys +import bpy +import bmesh +from mathutils import Vector, geometry +from mathutils.geometry import intersect_line_line as LineIntersect +from mathutils.geometry import intersect_point_line as PtLineIntersect + + +class CAD_prefs: + VTX_PRECISION = 1.0e-5 + VTX_DOUBLES_THRSHLD = 0.0001 + + +class Cad: + @classmethod + def point_on_edge(cls, p, edge): + """ + > p: vector + > edge: tuple of 2 vectors + < returns: True / False if a point happens to lie on an edge + """ + pt, _percent = PtLineIntersect(p, *edge) + on_line = (pt - p).length < CAD_prefs.VTX_PRECISION + return on_line and (0.0 <= _percent <= 1.0) + + @classmethod + def line_from_edge_intersect(cls, edge1, edge2): + """ + > takes 2 tuples, each tuple contains 2 vectors + - prepares input for sending to intersect_line_line + < returns output of intersect_line_line + """ + [p1, p2], [p3, p4] = edge1, edge2 + return LineIntersect(p1, p2, p3, p4) + + @classmethod + def get_intersection(cls, edge1, edge2): + """ + > takes 2 tuples, each tuple contains 2 vectors + < returns the point halfway on line. See intersect_line_line + """ + line = cls.line_from_edge_intersect(edge1, edge2) + if line: + return (line[0] + line[1]) / 2 + + @classmethod + def test_coplanar(cls, edge1, edge2): + """ + the line that describes the shortest line between the two edges + would be short if the lines intersect mathematically. If this + line is longer than the VTX_PRECISION then they are either + coplanar or parallel. + """ + line = cls.line_from_edge_intersect(edge1, edge2) + if line: + return (line[0] - line[1]).length < CAD_prefs.VTX_PRECISION + + @classmethod + def closest_idx(cls, pt, e): + """ + > pt: vector + > e: bmesh edge + < returns: returns index of vertex closest to pt. + + if both points in e are equally far from pt, then v1 is returned. + """ + if isinstance(e, bmesh.types.BMEdge): + ev = e.verts + v1 = ev[0].co + v2 = ev[1].co + distance_test = (v1 - pt).length <= (v2 - pt).length + return ev[0].index if distance_test else ev[1].index + + print("received {0}, check expected input in docstring ".format(e)) + + @classmethod + def closest_vector(cls, pt, e): + """ + > pt: vector + > e: 2 vector tuple + < returns: + pt, 2 vector tuple: returns closest vector to pt + + if both points in e are equally far from pt, then v1 is returned. + """ + if isinstance(e, tuple) and all([isinstance(co, Vector) for co in e]): + v1, v2 = e + distance_test = (v1 - pt).length <= (v2 - pt).length + return v1 if distance_test else v2 + + print("received {0}, check expected input in docstring ".format(e)) + + @classmethod + def coords_tuple_from_edge_idx(cls, bm, idx): + """bm is a bmesh representation""" + return tuple(v.co for v in bm.edges[idx].verts) + + @classmethod + def vectors_from_indices(cls, bm, raw_vert_indices): + """bm is a bmesh representation""" + return [bm.verts[i].co for i in raw_vert_indices] + + @classmethod + def vertex_indices_from_edges_tuple(cls, bm, edge_tuple): + """ + > bm: is a bmesh representation + > edge_tuple: contains two edge indices. + < returns the vertex indices of edge_tuple + """ + + def k(v, w): + return bm.edges[edge_tuple[v]].verts[w].index + + return [k(i >> 1, i % 2) for i in range(4)] + + @classmethod + def get_vert_indices_from_bmedges(cls, edges): + """ + > bmedges: a list of two bm edges + < returns the vertex indices of edge_tuple as a flat list. + """ + temp_edges = [] + print(edges) + for e in edges: + for v in e.verts: + temp_edges.append(v.index) + return temp_edges + + @classmethod + def num_edges_point_lies_on(cls, pt, edges): + """returns the number of edges that a point lies on.""" + res = [point_on_edge(pt, edge) for edge in [edges[:2], edges[2:]]] + return len([i for i in res if i]) + + @classmethod + def find_intersecting_edges(cls, bm, pt, idx1, idx2): + """ + > pt: Vector + > idx1, ix2: edge indices + < returns the list of edge indices where pt is on those edges + """ + if not pt: + return [] + idxs = [idx1, idx2] + edges = [cls.coords_tuple_from_edge_idx(bm, idx) for idx in idxs] + return [idx for edge, idx in zip(edges, idxs) if cls.point_on_edge(pt, edge)] + + @classmethod + def duplicates(cls, indices): + return len(set(indices)) < 4 + + @classmethod + def vert_idxs_from_edge_idx(cls, bm, idx): + edge = bm.edges[idx] + return edge.verts[0].index, edge.verts[1].index + + @classmethod + def add_edges(cls, bm, pt, idxs, fdp): + """ + this function is a disaster -- + index updates and ensure_lookup_table() are called before this function + and after, and i've tried doing this less verbose but results tend to be + less predictable. I'm obviously a terrible coder, but can only spend so + much time figuring out this stuff. + """ + + v1 = bm.verts.new(pt) + + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + bm.verts.index_update() + + try: + for e in idxs: + bm.edges.index_update() + v2 = bm.verts[e] + bm.edges.new((v1, v2)) + + bm.edges.index_update() + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + + except Exception as err: + print("some failure: details") + for l in fdp: + print(l) + + sys.stderr.write("ERROR: %s\n" % str(err)) + print(sys.exc_info()[-1].tb_frame.f_code) + print("Error on line {}".format(sys.exc_info()[-1].tb_lineno)) + + @classmethod + def remove_earmarked_edges(cls, bm, earmarked): + edges_select = [e for e in bm.edges if e.index in earmarked] + bmesh.ops.delete(bm, geom=edges_select, context="EDGES") + + @classmethod + def perform_vtx(cls, bm, pt, edges, pts, vertex_indices): + idx1, idx2 = edges[0].index, edges[1].index + fdp = pt, edges, pts, vertex_indices + + # this list will hold those edges that pt lies on + edges_indices = cls.find_intersecting_edges(bm, pt, idx1, idx2) + mode = "VTX"[len(edges_indices)] + + if mode == "V": + cl_vert1 = cls.closest_idx(pt, edges[0]) + cl_vert2 = cls.closest_idx(pt, edges[1]) + cls.add_edges(bm, pt, [cl_vert1, cl_vert2], fdp) + + elif mode == "T": + to_edge_idx = edges_indices[0] + from_edge_idx = idx1 if to_edge_idx == idx2 else idx2 + + cl_vert = cls.closest_idx(pt, bm.edges[from_edge_idx]) + to_vert1, to_vert2 = cls.vert_idxs_from_edge_idx(bm, to_edge_idx) + cls.add_edges(bm, pt, [cl_vert, to_vert1, to_vert2], fdp) + + elif mode == "X": + cls.add_edges(bm, pt, vertex_indices, fdp) + + # final refresh before returning to user. + if edges_indices: + cls.remove_earmarked_edges(bm, edges_indices) + + bm.edges.index_update() + return bm + + @classmethod + def perform_t(cls, bm, pt, target, edge, pts, vertex_indices): + cl_vert = cls.closest_idx(pt, bm.edges[edge.index]) + bm.verts[cl_vert].co = pt + bm.edges.index_update() + return bm + + @classmethod + def prioritise_active_edge(cls, bm, edges): + return [edges[0], edges[1]] if bm.select_history.active == edges[0] else [edges[1], edges[0]] + + @classmethod + def do_vtx_if_appropriate(cls, bm, edges): + vertex_indices = cls.get_vert_indices_from_bmedges(edges) + + # test 1, are there shared vers? if so return non-viable + if not len(set(vertex_indices)) == 4: + return {"SHARED_VERTEX"} + + # test 2, is parallel? + p1, p2, p3, p4 = [bm.verts[i].co for i in vertex_indices] + point = cls.get_intersection([p1, p2], [p3, p4]) + if not point: + return {"PARALLEL_EDGES"} + + # test 3, coplanar edges? + coplanar = cls.test_coplanar([p1, p2], [p3, p4]) + if not coplanar: + return {"NON_PLANAR_EDGES"} + + edges = cls.prioritise_active_edge(bm, edges) + # point must lie on an edge or the virtual extention of an edge + bm = cls.perform_t(bm, point, edges[0], edges[1], (p1, p2, p3, p4), vertex_indices) + return bm From 03831d440c7108c92a73abe6b45761ce66fe687a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 30 Apr 2022 15:50:40 +1000 Subject: [PATCH 075/243] #1153 New CAD workspace with hotkeys for super fast CAD operations --- .../blenderbim/bim/module/cad/__init__.py | 13 ++-- .../blenderbim/bim/module/cad/operator.py | 8 +-- .../bim/module/cad/ops.authoring.cad.dat | Bin 0 -> 116 bytes .../blenderbim/bim/module/cad/workspace.py | 64 ++++++++++++++++++ 4 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 src/blenderbim/blenderbim/bim/module/cad/ops.authoring.cad.dat create mode 100644 src/blenderbim/blenderbim/bim/module/cad/workspace.py diff --git a/src/blenderbim/blenderbim/bim/module/cad/__init__.py b/src/blenderbim/blenderbim/bim/module/cad/__init__.py index 37c10ff84e..44d7cf1ce5 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/cad/__init__.py @@ -1,5 +1,5 @@ # BlenderBIM Add-on - OpenBIM Blender Add-on -# Copyright (C) 2020, 2021 Dion Moult +# Copyright (C) 2022 Dion Moult # # This file is part of BlenderBIM Add-on. # @@ -17,16 +17,19 @@ # along with BlenderBIM Add-on. If not, see . import bpy -from . import operator +from . import operator, workspace classes = ( - operator.TCAutoVTX, + operator.CadTrimExtend, + workspace.CadHotkey, ) def register(): - pass + if not bpy.app.background: + bpy.utils.register_tool(workspace.CadTool, after={"builtin.transform"}, separator=True, group=True) def unregister(): - pass + if not bpy.app.background: + bpy.utils.unregister_tool(workspace.CadTool) diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py index 0533c636dc..d4ff417384 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -27,11 +27,12 @@ messages = { } -class TCAutoVTX(bpy.types.Operator): +class CadTrimExtend(bpy.types.Operator): """Weld intersecting edges, project converging edges towards their intersection""" - bl_idname = "bim.vtx" - bl_label = "VTX autoVTX" + bl_idname = "bim.cad_trim_extend" + bl_label = "CAD Trim / Extend" + join_type: bpy.props.StringProperty() @classmethod def poll(cls, context): @@ -44,7 +45,6 @@ class TCAutoVTX(bpy.types.Operator): return {"CANCELLED"} def execute(self, context): - # final attempt to enter unfragmented bm/mesh # ghastly, but what can I do? it works with these # fails without. diff --git a/src/blenderbim/blenderbim/bim/module/cad/ops.authoring.cad.dat b/src/blenderbim/blenderbim/bim/module/cad/ops.authoring.cad.dat new file mode 100644 index 0000000000000000000000000000000000000000..cde9c94df799b332b78003ccb2322249f248ea90 GIT binary patch literal 116 zcmWG@_GkG2pMjy_QGMg3jSY`IHDYc4W5WPf0X}a4 literal 0 HcmV?d00001 diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py new file mode 100644 index 0000000000..33908b3e60 --- /dev/null +++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py @@ -0,0 +1,64 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import os +import bpy +import blenderbim.bim.module.type.prop as type_prop +from bpy.types import WorkSpaceTool +from blenderbim.bim.ifc import IfcStore +from blenderbim.bim.module.model.data import AuthoringData + + +class CadTool(WorkSpaceTool): + bl_space_type = "VIEW_3D" + bl_context_mode = "EDIT_MESH" + + bl_idname = "bim.cad_tool" + bl_label = "CAD Tool" + bl_description = "Gives you CAD authoring related superpowers" + bl_icon = os.path.join(os.path.dirname(__file__), "ops.authoring.cad") + bl_widget = None + # https://docs.blender.org/api/current/bpy.types.KeyMapItems.html + bl_keymap = ( + ("bim.cad_hotkey", {"type": "E", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_E")]}), + ) + + def draw_settings(context, layout, tool): + row = layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="Extend / Trim", icon="EVENT_E") + + +class CadHotkey(bpy.types.Operator): + bl_idname = "bim.cad_hotkey" + bl_label = "CAD Hotkey" + bl_options = {"REGISTER", "UNDO"} + hotkey: bpy.props.StringProperty() + + def execute(self, context): + self.props = context.scene.BIMModelProperties + self.has_ifc_class = True + try: + self.has_ifc_class = bool(self.props.ifc_class) + except: + pass + getattr(self, f"hotkey_{self.hotkey}")() + return {"FINISHED"} + + def hotkey_S_E(self): + bpy.ops.bim.cad_trim_extend(join_type="T") From b2aca0ae364f422b396821265782dea96e198a80 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 30 Apr 2022 18:17:39 +1000 Subject: [PATCH 076/243] #1153 New mitre command for 2D cad (like chamfer with 0 distance) --- .../blenderbim/bim/module/cad/__init__.py | 1 + .../blenderbim/bim/module/cad/operator.py | 51 +++++++++++++++++-- .../blenderbim/bim/module/cad/workspace.py | 6 ++- src/blenderbim/blenderbim/tool/cad.py | 16 ++++-- 4 files changed, 66 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/cad/__init__.py b/src/blenderbim/blenderbim/bim/module/cad/__init__.py index 44d7cf1ce5..2512db37fa 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/cad/__init__.py @@ -21,6 +21,7 @@ from . import operator, workspace classes = ( operator.CadTrimExtend, + operator.CadMitre, workspace.CadHotkey, ) diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py index d4ff417384..60622a74d4 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -28,11 +28,8 @@ messages = { class CadTrimExtend(bpy.types.Operator): - """Weld intersecting edges, project converging edges towards their intersection""" - bl_idname = "bim.cad_trim_extend" bl_label = "CAD Trim / Extend" - join_type: bpy.props.StringProperty() @classmethod def poll(cls, context): @@ -61,7 +58,53 @@ class CadTrimExtend(bpy.types.Operator): edges = [e for e in bm.edges if e.select and not e.hide] if len(edges) == 2: - message = tool.Cad.do_vtx_if_appropriate(bm, edges) + message = tool.Cad.do_vtx_if_appropriate(bm, edges, mode="T") + if isinstance(message, set): + msg = messages.get(message.pop()) + return self.cancel_message(msg) + bm = message + else: + return self.cancel_message("select two edges!") + + bm.verts.index_update() + bm.edges.index_update() + bmesh.update_edit_mesh(me, loop_triangles=True) + + return {"FINISHED"} + + +class CadMitre(bpy.types.Operator): + bl_idname = "bim.cad_mitre" + bl_label = "CAD Trim / Extend" + + @classmethod + def poll(cls, context): + obj = context.active_object + return bool(obj) and obj.type == "MESH" + + def cancel_message(self, msg): + print(msg) + self.report({"WARNING"}, msg) + return {"CANCELLED"} + + def execute(self, context): + # final attempt to enter unfragmented bm/mesh + # ghastly, but what can I do? it works with these + # fails without. + bpy.ops.object.mode_set(mode="OBJECT") + bpy.ops.object.mode_set(mode="EDIT") + + obj = context.active_object + me = obj.data + + bm = bmesh.from_edit_mesh(me) + bm.verts.ensure_lookup_table() + bm.edges.ensure_lookup_table() + + edges = [e for e in bm.edges if e.select and not e.hide] + + if len(edges) == 2: + message = tool.Cad.do_vtx_if_appropriate(bm, edges, mode="V") if isinstance(message, set): msg = messages.get(message.pop()) return self.cancel_message(msg) diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py index 33908b3e60..17b6dd36d5 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py @@ -36,6 +36,7 @@ class CadTool(WorkSpaceTool): # https://docs.blender.org/api/current/bpy.types.KeyMapItems.html bl_keymap = ( ("bim.cad_hotkey", {"type": "E", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_E")]}), + ("bim.cad_hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}), ) def draw_settings(context, layout, tool): @@ -61,4 +62,7 @@ class CadHotkey(bpy.types.Operator): return {"FINISHED"} def hotkey_S_E(self): - bpy.ops.bim.cad_trim_extend(join_type="T") + bpy.ops.bim.cad_trim_extend() + + def hotkey_S_T(self): + bpy.ops.bim.cad_mitre() diff --git a/src/blenderbim/blenderbim/tool/cad.py b/src/blenderbim/blenderbim/tool/cad.py index 008cc803a4..75d8c445dd 100644 --- a/src/blenderbim/blenderbim/tool/cad.py +++ b/src/blenderbim/blenderbim/tool/cad.py @@ -24,6 +24,7 @@ # Changes include: # # - Instead of AutoVTX, user explicitly chooses V, T, or X mode +# - Instead of adding edges, existing edges are extended import sys @@ -261,12 +262,18 @@ class Cad: bm.edges.index_update() return bm + @classmethod + def perform_v(cls, bm, pt, target, edge, pts, vertex_indices): + bm = cls.perform_t(bm, pt, target, edge, pts, vertex_indices) + bm = cls.perform_t(bm, pt, edge, target, pts, vertex_indices) + return bm + @classmethod def prioritise_active_edge(cls, bm, edges): return [edges[0], edges[1]] if bm.select_history.active == edges[0] else [edges[1], edges[0]] @classmethod - def do_vtx_if_appropriate(cls, bm, edges): + def do_vtx_if_appropriate(cls, bm, edges, mode): vertex_indices = cls.get_vert_indices_from_bmedges(edges) # test 1, are there shared vers? if so return non-viable @@ -285,6 +292,9 @@ class Cad: return {"NON_PLANAR_EDGES"} edges = cls.prioritise_active_edge(bm, edges) - # point must lie on an edge or the virtual extention of an edge - bm = cls.perform_t(bm, point, edges[0], edges[1], (p1, p2, p3, p4), vertex_indices) + # point must lie on an edge or the virtual extension of an edge + if mode == "T": + bm = cls.perform_t(bm, point, edges[0], edges[1], (p1, p2, p3, p4), vertex_indices) + elif mode == "V": + bm = cls.perform_v(bm, point, edges[0], edges[1], (p1, p2, p3, p4), vertex_indices) return bm From fb6dc45b1b1645931d279e242b325424847c0209 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 30 Apr 2022 22:44:37 +1000 Subject: [PATCH 077/243] #1153 New fillet command for 2D CAD supporting both bevel and chamfer --- .../blenderbim/bim/module/cad/__init__.py | 1 + .../blenderbim/bim/module/cad/operator.py | 90 ++++++++++++++++++- .../blenderbim/bim/module/cad/workspace.py | 9 ++ 3 files changed, 99 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/cad/__init__.py b/src/blenderbim/blenderbim/bim/module/cad/__init__.py index 2512db37fa..e73d402ff5 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/cad/__init__.py @@ -22,6 +22,7 @@ from . import operator, workspace classes = ( operator.CadTrimExtend, operator.CadMitre, + operator.CadFillet, workspace.CadHotkey, ) diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py index 60622a74d4..b6f69284b1 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -17,7 +17,9 @@ # along with BlenderBIM Add-on. If not, see . import bpy +import math import bmesh +import mathutils import blenderbim.tool as tool messages = { @@ -75,7 +77,7 @@ class CadTrimExtend(bpy.types.Operator): class CadMitre(bpy.types.Operator): bl_idname = "bim.cad_mitre" - bl_label = "CAD Trim / Extend" + bl_label = "CAD Mitre" @classmethod def poll(cls, context): @@ -117,3 +119,89 @@ class CadMitre(bpy.types.Operator): bmesh.update_edit_mesh(me, loop_triangles=True) return {"FINISHED"} + + +class CadFillet(bpy.types.Operator): + bl_idname = "bim.cad_fillet" + bl_label = "CAD Fillet" + bl_options = {"REGISTER", "UNDO"} + resolution: bpy.props.IntProperty(name="Arc Resolution", min=0, default=1) + radius: bpy.props.FloatProperty(name="Radius", default=0.1) + + @classmethod + def poll(cls, context): + obj = context.active_object + return obj and obj.type == "MESH" and context.mode == "EDIT_MESH" + + def draw(self, context): + layout = self.layout + for prop in self.__class__.__annotations__.keys(): + layout.prop(self, prop) + + def execute(self, context): + if bpy.context.mode != "EDIT_MESH": + return {"CANCELLED"} + obj = bpy.context.active_object + cursor = obj.matrix_world.inverted() @ bpy.context.scene.cursor.location + mesh = obj.data + bm = bmesh.from_edit_mesh(mesh) + selected_edges = [e for e in bm.edges if e.select] + if len(selected_edges) != 2: + return {"CANCELLED"} + + # Assume the user has selected two edges sharing a vert, but merge verts + # just in case the vertex is coincident but not shared. + all_verts = list(set(selected_edges[0].verts) | set(selected_edges[1].verts)) + bmesh.ops.remove_doubles(bm, verts=all_verts, dist=1e-4) + + # Subdivide one of the edges to give us an extra vert to play with + # without damaging any faces that already exist. + cut = bmesh.ops.bisect_edges(bm, edges=[selected_edges[1]], cuts=1) + bm.edges.index_update() + bmesh.update_edit_mesh(mesh) + + is_wire = selected_edges[0].is_wire + + # Recover the original intention of the selected edges after our bisect operation + cut_edges = cut["geom_split"][1:] + selected_edges = [e for e in bm.edges if e.select and e not in cut_edges] + if set(selected_edges[0].verts) & set(cut_edges[0].verts): + selected_edges.append(cut_edges[0]) + elif set(selected_edges[0].verts) & set(cut_edges[1].verts): + selected_edges.append(cut_edges[1]) + + # Calculate the distance to slide each edge to make space for the fillet arc + shared_vert = list(set(selected_edges[0].verts) & set(selected_edges[1].verts))[0] + v1 = selected_edges[0].other_vert(shared_vert) + v2 = selected_edges[1].other_vert(shared_vert) + dir1 = (v1.co - shared_vert.co).normalized() + dir2 = (v2.co - shared_vert.co).normalized() + edge_angle = dir1.angle(dir2) + slide_distance = self.radius / math.tan(edge_angle / 2) + + angle = math.pi - edge_angle + fillet_v1 = shared_vert.co + (dir1 * slide_distance) + fillet_v2 = shared_vert.co + (dir2 * slide_distance) + + normal = mathutils.geometry.normal([v1.co, shared_vert.co, v2.co]) + + center = mathutils.geometry.intersect_line_line( + fillet_v1, fillet_v1 + normal.cross(dir1), fillet_v2, fillet_v2 + normal.cross(dir2) + )[0] + + v = bm.verts.new(fillet_v1) + steps = self.resolution * 4 if self.resolution else 1 + spin = bmesh.ops.spin(bm, geom=[v], axis=normal, cent=center, steps=steps, angle=angle) + + bmesh.ops.pointmerge(bm, verts=[shared_vert, v], merge_co=v.co) + bmesh.ops.pointmerge(bm, verts=[v2, spin["geom_last"][0]], merge_co=spin["geom_last"][0].co) + + # If faces are involved, then the chamfer edge protects existing faces from the newly created fillet. + # If no faces are involved, we delete the chamfer edge. + if is_wire: + chamfer_edge = [e for e in bm.edges if shared_vert in e.verts and v2 in e.verts][0] + bm.edges.remove(chamfer_edge) + + bmesh.update_edit_mesh(mesh) + mesh.update() + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py index 17b6dd36d5..93871b4c4e 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py @@ -37,6 +37,7 @@ class CadTool(WorkSpaceTool): bl_keymap = ( ("bim.cad_hotkey", {"type": "E", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_E")]}), ("bim.cad_hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}), + ("bim.cad_fillet", {"type": "F", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_F")]}), ) def draw_settings(context, layout, tool): @@ -44,6 +45,14 @@ class CadTool(WorkSpaceTool): row.label(text="", icon="EVENT_SHIFT") row.label(text="Extend / Trim", icon="EVENT_E") + row = layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="Mitre", icon="EVENT_T") + + row = layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="Fillet", icon="EVENT_F") + class CadHotkey(bpy.types.Operator): bl_idname = "bim.cad_hotkey" From b465605b63d17ebfb50ae42c830b3c0f7c8e0b67 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 30 Apr 2022 22:55:45 +1000 Subject: [PATCH 078/243] #1153 CAD tool now provides hotkey access to offset edges command --- src/blenderbim/blenderbim/bim/module/cad/workspace.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py index 93871b4c4e..5943ef57b0 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py @@ -38,12 +38,14 @@ class CadTool(WorkSpaceTool): ("bim.cad_hotkey", {"type": "E", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_E")]}), ("bim.cad_hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}), ("bim.cad_fillet", {"type": "F", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_F")]}), + # Enable Mesh Tools add-on to get this amazing tool + ("mesh.offset_edges", {"type": "O", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_O")]}), ) def draw_settings(context, layout, tool): row = layout.row(align=True) row.label(text="", icon="EVENT_SHIFT") - row.label(text="Extend / Trim", icon="EVENT_E") + row.label(text="Extend", icon="EVENT_E") row = layout.row(align=True) row.label(text="", icon="EVENT_SHIFT") @@ -53,6 +55,10 @@ class CadTool(WorkSpaceTool): row.label(text="", icon="EVENT_SHIFT") row.label(text="Fillet", icon="EVENT_F") + row = layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="Offset", icon="EVENT_O") + class CadHotkey(bpy.types.Operator): bl_idname = "bim.cad_hotkey" From 4d447c169fffacbbe09215e68a37a63a2f477cff Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 08:50:25 +1000 Subject: [PATCH 079/243] Fix #2176 --- src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index ed0aebfafa..fa0f8fbcef 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -462,7 +462,7 @@ class SvgWriter: drawing = tool.Drawing.get_annotation_element(element) reference = tool.Drawing.get_drawing_reference(drawing) if reference: - sheet = tool.Drawing.get_reference_sheet(reference) + sheet = tool.Drawing.get_reference_document(reference) if sheet: if tool.Ifc.get_schema() == "IFC2X3": reference_id = reference.ItemReference or "-" From abcb492e5af483cd4614c09ded03eb12dcd1a8fa Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 08:57:23 +1000 Subject: [PATCH 080/243] Fix #2174. Don't show meaningless context dropdown when reassigning class. --- src/blenderbim/blenderbim/bim/module/root/ui.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/root/ui.py b/src/blenderbim/blenderbim/bim/module/root/ui.py index 3cfd87fb97..369f0b50e8 100644 --- a/src/blenderbim/blenderbim/bim/module/root/ui.py +++ b/src/blenderbim/blenderbim/bim/module/root/ui.py @@ -54,7 +54,7 @@ class BIM_PT_class(Panel): self.draw_class_dropdowns( context, root_prop.getIfcPredefinedTypes(context.scene.BIMRootProperties, context), - should_draw_product=False, + is_reassigning_class=True, ) else: row = self.layout.row(align=True) @@ -74,9 +74,9 @@ class BIM_PT_class(Panel): op.predefined_type = context.scene.BIMRootProperties.ifc_predefined_type if ifc_predefined_types else "" op.userdefined_type = context.scene.BIMRootProperties.ifc_userdefined_type - def draw_class_dropdowns(self, context, ifc_predefined_types, should_draw_product=True): + def draw_class_dropdowns(self, context, ifc_predefined_types, is_reassigning_class=False): props = context.scene.BIMRootProperties - if should_draw_product: + if not is_reassigning_class: row = self.layout.row() row.prop(props, "ifc_product") row = self.layout.row() @@ -87,5 +87,6 @@ class BIM_PT_class(Panel): if ifc_predefined_types == "USERDEFINED": row = self.layout.row() row.prop(props, "ifc_userdefined_type") - row = self.layout.row() - row.prop(context.scene.BIMRootProperties, "contexts") + if not is_reassigning_class: + row = self.layout.row() + row.prop(context.scene.BIMRootProperties, "contexts") From f54a5cf6e03fd77311fae562833a4a0da9d38bf5 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 09:41:03 +1000 Subject: [PATCH 081/243] Fix #2048. Fix bug where material and style IFC links were severed after reloading a saved Blender file --- src/blenderbim/blenderbim/bim/ifc.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index e4b86ede7f..fad719ac59 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -232,20 +232,27 @@ class IfcStore: @staticmethod def relink_all_objects(): - file = IfcStore.get_file() - if not file: + if not IfcStore.get_file(): return for obj in bpy.data.objects: - if not obj: - continue - if not obj.BIMObjectProperties.ifc_definition_id: - continue - element = file.by_id(obj.BIMObjectProperties.ifc_definition_id) + IfcStore.relink_object(obj) + for obj in bpy.data.materials: + IfcStore.relink_object(obj) + + @staticmethod + def relink_object(obj): + if not obj: + return + if obj.BIMObjectProperties.ifc_definition_id: + element = IfcStore.get_file().by_id(obj.BIMObjectProperties.ifc_definition_id) data = {"id": element.id(), "obj": obj.name} if hasattr(element, "GlobalId"): data["guid"] = element.GlobalId IfcStore.commit_link_element(data) - + if hasattr(obj, "BIMMaterialProperties") and obj.BIMMaterialProperties.ifc_style_id: + element = IfcStore.get_file().by_id(obj.BIMMaterialProperties.ifc_style_id) + data = {"id": element.id(), "obj": obj.name} + IfcStore.commit_link_element(data) @staticmethod def delete_element(element): @@ -300,6 +307,8 @@ class IfcStore: @staticmethod def commit_link_element(data): obj = bpy.data.objects.get(data["obj"]) + if not obj: + obj = bpy.data.materials.get(data["obj"]) IfcStore.id_map[data["id"]] = obj if "guid" in data: IfcStore.guid_map[data["guid"]] = obj From 9577c40386e34528473f1a8c674de71b1fecb74c Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 12:01:24 +1000 Subject: [PATCH 082/243] Fix #2107. Materials and styles in the scene manager are now shown alphabetically --- src/blenderbim/blenderbim/tool/material.py | 15 ++++++++------- src/blenderbim/blenderbim/tool/style.py | 3 ++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 9ac4345587..3eef005d8e 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -56,15 +56,16 @@ class Material(blenderbim.core.tool.Material): def import_material_definitions(cls, material_type): props = bpy.context.scene.BIMMaterialProperties props.materials.clear() - for material in tool.Ifc.get().by_type(material_type): + get_name = lambda x: x.Name or "Unnamed" + if material_type == "IfcMaterialLayerSet": + get_name = lambda x: x.LayerSetName or "Unnamed" + elif material_type == "IfcMaterialList": + get_name = lambda x: "Unnamed" + materials = sorted(tool.Ifc.get().by_type(material_type), key=get_name) + for material in materials: new = props.materials.add() new.ifc_definition_id = material.id() - if material.is_a("IfcMaterialLayerSet"): - new.name = material.LayerSetName or "Unnamed" - elif material.is_a("IfcMaterialList"): - new.name = "Unnamed" - else: - new.name = material.Name or "Unnamed" + new.name = get_name(material) new.total_elements = len(set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material))) @classmethod diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index caa87ff36c..4c42e0ab57 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -183,7 +183,8 @@ class Style(blenderbim.core.tool.Style): def import_presentation_styles(cls, style_type): props = bpy.context.scene.BIMStylesProperties props.styles.clear() - for style in tool.Ifc.get().by_type(style_type): + styles = sorted(tool.Ifc.get().by_type(style_type), key=lambda x: x.Name or "Unnamed") + for style in styles: new = props.styles.add() new.ifc_definition_id = style.id() new.name = style.Name or "Unnamed" From a88b83306e580210234c8e7cacf1732c85a30044 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 14:43:00 +1000 Subject: [PATCH 083/243] #1153 New arc from 2 points command for 2D CAD (based on view direction) --- .../blenderbim/bim/module/cad/__init__.py | 5 +- .../blenderbim/bim/module/cad/operator.py | 50 +++++++++++++++++++ .../blenderbim/bim/module/cad/workspace.py | 9 +++- .../blenderbim/bim/module/drawing/__init__.py | 1 - .../blenderbim/bim/module/drawing/operator.py | 44 +--------------- 5 files changed, 61 insertions(+), 48 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/cad/__init__.py b/src/blenderbim/blenderbim/bim/module/cad/__init__.py index e73d402ff5..179cf3005b 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/cad/__init__.py @@ -20,9 +20,10 @@ import bpy from . import operator, workspace classes = ( - operator.CadTrimExtend, - operator.CadMitre, + operator.CadArcFrom2Points, operator.CadFillet, + operator.CadMitre, + operator.CadTrimExtend, workspace.CadHotkey, ) diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py index b6f69284b1..8d1be13cbf 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -20,6 +20,7 @@ import bpy import math import bmesh import mathutils +import bpy_extras import blenderbim.tool as tool messages = { @@ -205,3 +206,52 @@ class CadFillet(bpy.types.Operator): bmesh.update_edit_mesh(mesh) mesh.update() return {"FINISHED"} + + +class CadArcFrom2Points(bpy.types.Operator): + bl_idname = "bim.cad_arc_from_2_points" + bl_label = "CAD Arc from 2 Points" + bl_options = {"REGISTER", "UNDO"} + + resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1) + should_flip: bpy.props.BoolProperty(name="Flip", description="Flip arc", default=False) + + def draw(self, context): + layout = self.layout + for prop in self.__class__.__annotations__.keys(): + layout.prop(self, prop) + + def execute(self, context): + if bpy.context.mode != "EDIT_MESH": + return {"CANCELLED"} + obj = bpy.context.active_object + region = bpy.context.region + region_3d = bpy.context.area.spaces.active.region_3d + cursor = bpy.context.scene.cursor.location + center = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, cursor) + if not center: + return {"CANCELLED"} + mesh = obj.data + bm = bmesh.from_edit_mesh(mesh) + selected_verts = [v for v in bm.verts if v.select] + if len(selected_verts) != 2: + return {"CANCELLED"} + v1 = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, selected_verts[0].co) + v2 = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, selected_verts[1].co) + l1 = v1 - center + l2 = v2 - center + angle = l1.angle_signed(l2) + + if self.should_flip: + if angle > 0: + angle = -((math.pi * 2) - angle) + else: + angle = (math.pi * 2) + angle + + v = selected_verts[0] + bm.verts.remove(selected_verts[1]) + axis = region_3d.view_rotation @ mathutils.Vector((0, 0, 1)) + bmesh.ops.spin(bm, geom=[v], axis=axis, cent=cursor, steps=self.resolution * 4, angle=-angle) + bmesh.update_edit_mesh(mesh) + mesh.update() + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py index 5943ef57b0..df653ea33a 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py @@ -37,9 +37,10 @@ class CadTool(WorkSpaceTool): bl_keymap = ( ("bim.cad_hotkey", {"type": "E", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_E")]}), ("bim.cad_hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}), - ("bim.cad_fillet", {"type": "F", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_F")]}), + ("bim.cad_fillet", {"type": "F", "value": "PRESS", "shift": True}, {"properties": []}), # Enable Mesh Tools add-on to get this amazing tool - ("mesh.offset_edges", {"type": "O", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_O")]}), + ("mesh.offset_edges", {"type": "O", "value": "PRESS", "shift": True}, {"properties": []}), + ("bim.cad_arc_from_2_points", {"type": "C", "value": "PRESS", "shift": True}, {"properties": []}), ) def draw_settings(context, layout, tool): @@ -59,6 +60,10 @@ class CadTool(WorkSpaceTool): row.label(text="", icon="EVENT_SHIFT") row.label(text="Offset", icon="EVENT_O") + row = layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="2-Point Arc", icon="EVENT_C") + class CadHotkey(bpy.types.Operator): bl_idname = "bim.cad_hotkey" diff --git a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py index ba5c0d3d97..62f56ae128 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py @@ -34,7 +34,6 @@ classes = ( operator.BuildSchedule, operator.CleanWireframes, operator.ContractSheet, - operator.ConvertEdgeToArc, operator.CopyGrid, operator.CreateDrawing, operator.CreateSheets, diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index cae1419c51..d377c7a922 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -40,8 +40,7 @@ import blenderbim.bim.module.drawing.scheduler as scheduler import blenderbim.bim.module.drawing.helper as helper import blenderbim.bim.export_ifc from lxml import etree -from math import pi -from mathutils import Vector, Matrix, Euler, geometry +from mathutils import Vector from blenderbim.bim.module.drawing.prop import RasterStyleProperty from blenderbim.bim.ifc import IfcStore from ifcopenshell.api.group.data import Data as GroupData @@ -1357,44 +1356,3 @@ class ContractSheet(bpy.types.Operator): sheet.is_expanded = False core.load_sheets(tool.Drawing) return {"FINISHED"} - - -class ConvertEdgeToArc(bpy.types.Operator): - bl_idname = "bim.convert_edge_to_arc" - bl_label = "Convert Edge to Arc" - bl_options = {"REGISTER", "UNDO"} - - resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1) - should_flip: bpy.props.BoolProperty(name="Flip", description="Flip arc", default=False) - - def draw(self, context): - layout = self.layout - for prop in self.__class__.__annotations__.keys(): - layout.prop(self, prop) - - def execute(self, context): - if bpy.context.mode != "EDIT_MESH": - return {"CANCELLED"} - obj = bpy.context.active_object - cursor = obj.matrix_world.inverted() @ bpy.context.scene.cursor.location - mesh = obj.data - bm = bmesh.from_edit_mesh(mesh) - selected_verts = [v for v in bm.verts if v.select] - if len(selected_verts) != 2: - return {"CANCELLED"} - l1 = selected_verts[0].co - cursor - l2 = selected_verts[1].co - cursor - angle = l1.xy.angle_signed(l2.xy) - - if self.should_flip: - if angle > 0: - angle = -((pi * 2) - angle) - else: - angle = (pi * 2) + angle - - v = selected_verts[0] - bm.verts.remove(selected_verts[1]) - bmesh.ops.spin(bm, geom=[v], axis=(0, 0, 1), cent=cursor, steps=self.resolution * 4, angle=-angle) - bmesh.update_edit_mesh(mesh) - mesh.update() - return {"FINISHED"} From d80e26e4aba347d742f4453bfc822d976d9941e1 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 15:30:37 +1000 Subject: [PATCH 084/243] Design new icon for CAD workspace tool --- .../bim/module/cad/ops.authoring.cad.dat | Bin 116 -> 836 bytes src/blenderbim/icon-cad.blend | Bin 0 -> 156961 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/blenderbim/icon-cad.blend diff --git a/src/blenderbim/blenderbim/bim/module/cad/ops.authoring.cad.dat b/src/blenderbim/blenderbim/bim/module/cad/ops.authoring.cad.dat index cde9c94df799b332b78003ccb2322249f248ea90..88edb8568c4d4a906f45f158cfe1a7c0919bf4af 100644 GIT binary patch literal 836 zcmeH@F{*<=5QaTRZs4|-HZM^j2r3wN4U!lnpj*6z5D^v$s1VuCHtpsDdI?MGJ%AVS zO)l_Gkb!At=KFpaVtC53C`#2b#+fGcUL7VOhq32~p=wpndSAIHDYc4W5WPf0X}a4 diff --git a/src/blenderbim/icon-cad.blend b/src/blenderbim/icon-cad.blend new file mode 100644 index 0000000000000000000000000000000000000000..92dc30b4a1bd0bb289826c1303171e7a2080394c GIT binary patch literal 156961 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

|{oyg$48=KN4&{_=G8mq0NFO^>kZB@81jF0Di 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 literal 0 HcmV?d00001 From 02903c4929a8dae099215b505c5ee978c4485aa7 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 1 May 2022 17:25:03 +1000 Subject: [PATCH 085/243] #1153 New arc from 3 points command for 2D CAD --- .../blenderbim/bim/module/cad/__init__.py | 1 + .../blenderbim/bim/module/cad/operator.py | 84 ++++++++++++++++++- .../blenderbim/bim/module/cad/workspace.py | 5 ++ src/blenderbim/blenderbim/tool/cad.py | 32 ++++++- 4 files changed, 118 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/cad/__init__.py b/src/blenderbim/blenderbim/bim/module/cad/__init__.py index 179cf3005b..dd7efcb577 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/cad/__init__.py @@ -21,6 +21,7 @@ from . import operator, workspace classes = ( operator.CadArcFrom2Points, + operator.CadArcFrom3Points, operator.CadFillet, operator.CadMitre, operator.CadTrimExtend, diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py index 8d1be13cbf..5f3a974a3e 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -140,8 +140,9 @@ class CadFillet(bpy.types.Operator): layout.prop(self, prop) def execute(self, context): - if bpy.context.mode != "EDIT_MESH": - return {"CANCELLED"} + bpy.ops.object.mode_set(mode="OBJECT") + bpy.ops.object.mode_set(mode="EDIT") + obj = bpy.context.active_object cursor = obj.matrix_world.inverted() @ bpy.context.scene.cursor.location mesh = obj.data @@ -205,6 +206,7 @@ class CadFillet(bpy.types.Operator): bmesh.update_edit_mesh(mesh) mesh.update() + bm.free() return {"FINISHED"} @@ -212,7 +214,6 @@ class CadArcFrom2Points(bpy.types.Operator): bl_idname = "bim.cad_arc_from_2_points" bl_label = "CAD Arc from 2 Points" bl_options = {"REGISTER", "UNDO"} - resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1) should_flip: bpy.props.BoolProperty(name="Flip", description="Flip arc", default=False) @@ -254,4 +255,81 @@ class CadArcFrom2Points(bpy.types.Operator): bmesh.ops.spin(bm, geom=[v], axis=axis, cent=cursor, steps=self.resolution * 4, angle=-angle) bmesh.update_edit_mesh(mesh) mesh.update() + bm.free() + return {"FINISHED"} + + +class CadArcFrom3Points(bpy.types.Operator): + bl_idname = "bim.cad_arc_from_3_points" + bl_label = "CAD Arc from 3 Points" + bl_options = {"REGISTER", "UNDO"} + resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1) + only_recalculate_center: bpy.props.BoolProperty(name="Only Recalculate Center", default=False) + + @classmethod + def poll(cls, context): + obj = context.active_object + return obj and obj.type == "MESH" and context.mode == "EDIT_MESH" + + def draw(self, context): + layout = self.layout + for prop in self.__class__.__annotations__.keys(): + layout.prop(self, prop) + + def execute(self, context): + bpy.ops.object.mode_set(mode="OBJECT") + bpy.ops.object.mode_set(mode="EDIT") + + if bpy.context.mode != "EDIT_MESH": + return {"CANCELLED"} + + obj = bpy.context.edit_object + mesh = obj.data + bm = bmesh.from_edit_mesh(mesh) + + selected_verts = [v for v in bm.verts if v.select] + if len(selected_verts) != 3: + return {"CANCELLED"} + pts = [v.co for v in selected_verts] + center = tool.Cad.generate_3PT(pts, obj, self.resolution * 4) + if not center: + return {"CANCELLED"} + + bpy.context.scene.cursor.location = center + if self.only_recalculate_center: + bm.free() + return {"FINISHED"} + + def get_distance_to_other_points(vert): + other_verts = [v for v in selected_verts if v != vert] + total_vector = mathutils.Vector((0, 0, 0)) + for other_vert in other_verts: + total_vector += other_vert.co - vert.co + return total_vector.length + + # For three selected points that represent a start, end, and point on an + # arc, the start and end verts can be identified by being furthest away + # from the other 2 points. + arc_end_verts = sorted(selected_verts, key=get_distance_to_other_points)[-2:] + normal = mathutils.geometry.normal(pts) + + dir1 = (arc_end_verts[0].co - center).normalized() + dir2 = (arc_end_verts[1].co - center).normalized() + + # Let's get the matrix that represents the coordinate system of the arc. + # This matrix allows us to get 2D vectors for calculating the signed arc angle. + z = normal + x = (arc_end_verts[0].co - center).normalized() + y = z.cross(x) + arc_matrix = mathutils.Matrix([x, y, z]).transposed().to_4x4() + + dir1 = ((arc_matrix.inverted() @ arc_end_verts[0].co) - (arc_matrix.inverted() @ center)).normalized() + dir2 = ((arc_matrix.inverted() @ arc_end_verts[1].co) - (arc_matrix.inverted() @ center)).normalized() + angle = dir1.xy.angle_signed(dir2.xy) + + v = arc_end_verts[0] + bmesh.ops.spin(bm, geom=[v], axis=normal, cent=center, steps=self.resolution * 4, angle=-angle) + bmesh.update_edit_mesh(mesh) + mesh.update() + bm.free() return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/cad/workspace.py b/src/blenderbim/blenderbim/bim/module/cad/workspace.py index df653ea33a..2203846f36 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/cad/workspace.py @@ -41,6 +41,7 @@ class CadTool(WorkSpaceTool): # Enable Mesh Tools add-on to get this amazing tool ("mesh.offset_edges", {"type": "O", "value": "PRESS", "shift": True}, {"properties": []}), ("bim.cad_arc_from_2_points", {"type": "C", "value": "PRESS", "shift": True}, {"properties": []}), + ("bim.cad_arc_from_3_points", {"type": "V", "value": "PRESS", "shift": True}, {"properties": []}), ) def draw_settings(context, layout, tool): @@ -64,6 +65,10 @@ class CadTool(WorkSpaceTool): row.label(text="", icon="EVENT_SHIFT") row.label(text="2-Point Arc", icon="EVENT_C") + row = layout.row(align=True) + row.label(text="", icon="EVENT_SHIFT") + row.label(text="3-Point Arc", icon="EVENT_V") + class CadHotkey(bpy.types.Operator): bl_idname = "bim.cad_hotkey" diff --git a/src/blenderbim/blenderbim/tool/cad.py b/src/blenderbim/blenderbim/tool/cad.py index 75d8c445dd..d668e0bff9 100644 --- a/src/blenderbim/blenderbim/tool/cad.py +++ b/src/blenderbim/blenderbim/tool/cad.py @@ -25,12 +25,15 @@ # # - Instead of AutoVTX, user explicitly chooses V, T, or X mode # - Instead of adding edges, existing edges are extended +# - An arc is reconstructed from 3 points instead of a full circle +# - You can now derive the center from an arc without generating geometry import sys import bpy +import math import bmesh -from mathutils import Vector, geometry +from mathutils import Vector, Matrix, geometry from mathutils.geometry import intersect_line_line as LineIntersect from mathutils.geometry import intersect_point_line as PtLineIntersect @@ -298,3 +301,30 @@ class Cad: elif mode == "V": bm = cls.perform_v(bm, point, edges[0], edges[1], (p1, p2, p3, p4), vertex_indices) return bm + + @classmethod + def generate_3PT(cls, pts, obj, nv, mode=1): + mw = obj.matrix_world + V = Vector + nv = max(3, nv) + + # construction + v1, v2, v3, v4 = V(pts[0]), V(pts[1]), V(pts[1]), V(pts[2]) + edge1_mid = v1.lerp(v2, 0.5) + edge2_mid = v3.lerp(v4, 0.5) + axis = geometry.normal(v1, v2, v4) + mat_rot = Matrix.Rotation(math.radians(90.0), 4, axis) + + # triangle edges + v1_ = ((v1 - edge1_mid) @ mat_rot) + edge1_mid + v2_ = ((v2 - edge1_mid) @ mat_rot) + edge1_mid + v3_ = ((v3 - edge2_mid) @ mat_rot) + edge2_mid + v4_ = ((v4 - edge2_mid) @ mat_rot) + edge2_mid + + r = geometry.intersect_line_line(v1_, v2_, v3_, v4_) + if r: + p1, _ = r + cp = mw @ p1 + return cp + else: + print("not on a circle") From 2a1aa535bad528a354e9cf50ae7e30716046329f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= <57102715+brunoperdigao@users.noreply.github.com> Date: Sun, 1 May 2022 19:03:28 -0300 Subject: [PATCH 086/243] Added VSCode extension to Live Development section --- src/blenderbim/docs/blenderbim/installation.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/docs/blenderbim/installation.rst b/src/blenderbim/docs/blenderbim/installation.rst index d2a7bc9b42..b413534d3b 100644 --- a/src/blenderbim/docs/blenderbim/installation.rst +++ b/src/blenderbim/docs/blenderbim/installation.rst @@ -141,6 +141,7 @@ There is a useful Blender Addon that adds a Reboot button in File menù. In this way, it's possible to directly restart Blender and test the modified source code. The add on is available `here `__ (check also the related forum discussion `here `__) +There is also a VS Code called `Blender Development `__ that has a similar functionality. Distro installation From 32c101cf74c8e05da801cc62cb723da03e9ae315 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 2 May 2022 09:20:33 +1000 Subject: [PATCH 087/243] #1153 Implement angular dimension annotations --- .../blenderbim/bim/data/styles/default.css | 1 + .../blenderbim/bim/data/templates/markers.svg | 12 ++ .../blenderbim/bim/module/cad/operator.py | 24 ++-- .../bim/module/drawing/annotation.py | 9 +- .../bim/module/drawing/svgwriter.py | 111 ++++++++++++++++++ src/blenderbim/blenderbim/tool/cad.py | 3 +- src/blenderbim/blenderbim/tool/drawing.py | 19 +-- 7 files changed, 157 insertions(+), 22 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index d1054ad4e2..2f7601f990 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -31,6 +31,7 @@ text { fill: black; stroke: none; } .PredefinedType-SECTIONLEVEL { marker-start: url(#section-level-marker); stroke-dasharray: 12.5, 3, 3, 3; } .PredefinedType-PLANLEVEL { marker-end: url(#plan-level-marker); } .PredefinedType-DIMENSION { marker-start: url(#dimension-marker-start); marker-end: url(#dimension-marker-end); } +.PredefinedType-ANGLE { marker-start: url(#angle-marker-start); marker-end: url(#angle-marker-end); } .PredefinedType-RADIUS { marker-end: url(#radius-marker-end); } .PredefinedType-DIAMETER { marker-start: url(#diameter-marker-start); marker-end: url(#diameter-marker-end); } .PredefinedType-HIDDENLINE { stroke-dasharray: 3, 2; } diff --git a/src/blenderbim/blenderbim/bim/data/templates/markers.svg b/src/blenderbim/blenderbim/bim/data/templates/markers.svg index 06c72f146e..87ba553db2 100644 --- a/src/blenderbim/blenderbim/bim/data/templates/markers.svg +++ b/src/blenderbim/blenderbim/bim/data/templates/markers.svg @@ -21,6 +21,18 @@ + + + + + + + + + + + + diff --git a/src/blenderbim/blenderbim/bim/module/cad/operator.py b/src/blenderbim/blenderbim/bim/module/cad/operator.py index 5f3a974a3e..c380cd3175 100644 --- a/src/blenderbim/blenderbim/bim/module/cad/operator.py +++ b/src/blenderbim/blenderbim/bim/module/cad/operator.py @@ -223,6 +223,9 @@ class CadArcFrom2Points(bpy.types.Operator): layout.prop(self, prop) def execute(self, context): + bpy.ops.object.mode_set(mode="OBJECT") + bpy.ops.object.mode_set(mode="EDIT") + if bpy.context.mode != "EDIT_MESH": return {"CANCELLED"} obj = bpy.context.active_object @@ -233,12 +236,13 @@ class CadArcFrom2Points(bpy.types.Operator): if not center: return {"CANCELLED"} mesh = obj.data + mw = obj.matrix_world bm = bmesh.from_edit_mesh(mesh) selected_verts = [v for v in bm.verts if v.select] if len(selected_verts) != 2: return {"CANCELLED"} - v1 = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, selected_verts[0].co) - v2 = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, selected_verts[1].co) + v1 = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, mw @ selected_verts[0].co) + v2 = bpy_extras.view3d_utils.location_3d_to_region_2d(region, region_3d, mw @ selected_verts[1].co) l1 = v1 - center l2 = v2 - center angle = l1.angle_signed(l2) @@ -252,10 +256,16 @@ class CadArcFrom2Points(bpy.types.Operator): v = selected_verts[0] bm.verts.remove(selected_verts[1]) axis = region_3d.view_rotation @ mathutils.Vector((0, 0, 1)) - bmesh.ops.spin(bm, geom=[v], axis=axis, cent=cursor, steps=self.resolution * 4, angle=-angle) + bmesh.ops.spin( + bm, + geom=[v], + axis=mw.inverted().to_quaternion() @ axis, + cent=mw.inverted() @ cursor, + steps=self.resolution * 4, + angle=-angle, + ) bmesh.update_edit_mesh(mesh) mesh.update() - bm.free() return {"FINISHED"} @@ -291,15 +301,16 @@ class CadArcFrom3Points(bpy.types.Operator): if len(selected_verts) != 3: return {"CANCELLED"} pts = [v.co for v in selected_verts] - center = tool.Cad.generate_3PT(pts, obj, self.resolution * 4) + center = tool.Cad.get_center_of_arc(pts, obj) if not center: return {"CANCELLED"} bpy.context.scene.cursor.location = center if self.only_recalculate_center: - bm.free() return {"FINISHED"} + center = obj.matrix_world.inverted() @ center + def get_distance_to_other_points(vert): other_verts = [v for v in selected_verts if v != vert] total_vector = mathutils.Vector((0, 0, 0)) @@ -331,5 +342,4 @@ class CadArcFrom3Points(bpy.types.Operator): bmesh.ops.spin(bm, geom=[v], axis=normal, cent=center, steps=self.resolution * 4, angle=-angle) bmesh.update_edit_mesh(mesh) mesh.update() - bm.free() return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py index e89e4db636..7401b4eccb 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py @@ -164,10 +164,11 @@ class Annotator: obj = bpy.data.objects.new(object_type, data) collection.objects.link(obj) return obj - for obj in collection.objects: - element = tool.Ifc.get_entity(obj) - if element and element.ObjectType == object_type: - return obj + if object_type != "ANGLE": + for obj in collection.objects: + element = tool.Ifc.get_entity(obj) + if element and element.ObjectType == object_type: + return obj if data_type == "mesh": data = bpy.data.meshes.new(object_type) elif data_type == "curve": diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index fa0f8fbcef..30233de575 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -20,7 +20,9 @@ import os import re import bpy import math +import bmesh import pystache +import mathutils import xml.etree.ElementTree as ET import svgwrite import ifcopenshell @@ -153,6 +155,8 @@ class SvgWriter: self.draw_stair_annotation(obj) elif element.ObjectType == "DIMENSION": self.draw_dimension_annotations(obj) + elif element.ObjectType == "ANGLE": + self.draw_angle_annotations(obj) elif element.ObjectType == "RADIUS": self.draw_radius_annotations(obj) elif element.ObjectType == "DIAMETER": @@ -623,6 +627,113 @@ class SvgWriter: ) ) + def draw_angle_annotations(self, obj): + # This implementation uses an SVG arc, which means that it can only draw + # arcs that are orthogonal to the view (e.g. not arcs in 3D). + # Gosh this is bad code :( + x_offset = self.raw_width / 2 + y_offset = self.raw_height / 2 + classes = self.get_attribute_classes(obj) + matrix_world = obj.matrix_world + + points = [v.co for v in obj.data.vertices][:3] + center = tool.Cad.get_center_of_arc(points, obj) + + bm = bmesh.new() + bm.from_mesh(obj.data) + bm.verts.ensure_lookup_table() + arc_end_verts = [v for v in bm.verts if len(v.link_edges) == 1] + arc_end_pts = [matrix_world @ v.co for v in arc_end_verts] + + # Probably need this when rewriting to use an SVG polyline instead of an arc + # arc_path = [arc_end_verts[0]] + # while True: + # last_point = arc_end_verts[0] + # found_another_point = False + # for edge in last_point.link_edges: + # v = edge.other_vert(last_point) + # if v not in arc_path: + # found_another_point = True + # arc_path.append(v) + # if not found_another_point: + # break + + distance_between_end_verts = (arc_end_verts[0].co - arc_end_verts[1].co).length + arc_mid_vert = arc_end_verts[0].link_edges[0].other_vert(arc_end_verts[0]) + is_reflex = 0 if (arc_mid_vert.co - arc_end_verts[1].co).length < distance_between_end_verts else 1 + + bm.free() + + # Calculate the angle + # This is the true normal in 3D, whereas the camera projection we use is the drawing direction. + # This assumes (because we use SVG arcs) that the radius is always orthogonal to our view. + # When rewriting to use polylines, we should use this normal instead. + # normal = mathutils.geometry.normal([arc_end_pts[0], arc_end_pts[1], center]) + normal = Vector(self.camera_projection) + dir1 = (arc_end_pts[0] - center).normalized() + dir2 = (arc_end_pts[1] - center).normalized() + + # Let's get the matrix that represents the coordinate system of the arc. + # This matrix allows us to get 2D vectors for calculating the signed arc angle. + z = normal + x = (arc_end_pts[0] - center).normalized() + y = z.cross(x) + arc_matrix = mathutils.Matrix([x, y, z]).transposed().to_4x4() + + dir1 = ((arc_matrix.inverted() @ arc_end_pts[0]) - (arc_matrix.inverted() @ center)).normalized() + dir2 = ((arc_matrix.inverted() @ arc_end_pts[1]) - (arc_matrix.inverted() @ center)).normalized() + angle = -dir1.xy.angle_signed(dir2.xy) + + #if is_reflex: + # angle = angle % (math.pi * 2) + + # Center of gravity of all vertices, used to help position the text + cog = Vector((0, 0, 0)) + for vert in obj.data.vertices: + cog += vert.co + cog = matrix_world @ (cog / len(obj.data.vertices)) + + radius = ((matrix_world @ obj.data.vertices[0].co) - center).length + + arc_midpoint = center + ((cog - center).normalized() * radius) + + text_position = self.project_point_onto_camera(arc_midpoint) + text_position = Vector(((x_offset + text_position.x) * self.scale, (y_offset - text_position.y) * self.scale)) + + center_projected = self.project_point_onto_camera(center) + center_position = Vector( + ((x_offset + center_projected.x) * self.scale, (y_offset - center_projected.y) * self.scale) + ) + text_offset = (text_position - center_position).xy.normalized() * 5 + text_position += text_offset + + text_style = { + "font-size": annotation.Annotator.get_svg_text_size(2.5), + "font-family": "OpenGost Type B TT", + "text-anchor": "middle", + "alignment-baseline": "middle", + "dominant-baseline": "middle", + } + + angle_text = abs(round(math.degrees(angle), 3)) + if is_reflex: + angle_text = 360 - angle_text + self.svg.add(self.svg.text(f"{angle_text}deg", insert=tuple(text_position), **text_style)) + + # Draw SVG arc, see for details: http://xahlee.info/js/svg_circle_arc.html + arc_proj_end_pts = [self.project_point_onto_camera(v) for v in arc_end_pts] + p1 = Vector(((x_offset + arc_proj_end_pts[0].x) * self.scale, (y_offset - arc_proj_end_pts[0].y) * self.scale)) + p2 = Vector(((x_offset + arc_proj_end_pts[1].x) * self.scale, (y_offset - arc_proj_end_pts[1].y) * self.scale)) + r = radius * self.scale + # reflex = 1 if angle > math.pi else 0 + reflex = is_reflex + if reflex: + sense = 0 if angle > 0 else 1 + else: + sense = 1 if angle > 0 else 0 + d = f"M {p1.x} {p1.y} A {r} {r} 0 {reflex} {sense} {p2.x} {p2.y}" + path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) + def draw_radius_annotations(self, obj): x_offset = self.raw_width / 2 y_offset = self.raw_height / 2 diff --git a/src/blenderbim/blenderbim/tool/cad.py b/src/blenderbim/blenderbim/tool/cad.py index d668e0bff9..e367e93810 100644 --- a/src/blenderbim/blenderbim/tool/cad.py +++ b/src/blenderbim/blenderbim/tool/cad.py @@ -303,10 +303,9 @@ class Cad: return bm @classmethod - def generate_3PT(cls, pts, obj, nv, mode=1): + def get_center_of_arc(cls, pts, obj): mw = obj.matrix_world V = Vector - nv = max(3, nv) # construction v1, v2, v3, v4 = V(pts[0]), V(pts[1]), V(pts[1]), V(pts[2]) diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 22e91b7ebb..168f0e9fa8 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -38,18 +38,19 @@ class Drawing(blenderbim.core.tool.Drawing): @classmethod def create_annotation_object(cls, object_type): data_type = { - "DIMENSION": "curve", - "RADIUS": "curve", + "ANGLE": "mesh", + "BREAKLINE": "mesh", "DIAMETER": "curve", + "DIMENSION": "curve", + "FILL_AREA": "mesh", + "HIDDEN_LINE": "mesh", + "LINEWORK": "mesh", + "PLAN_LEVEL": "curve", + "RADIUS": "curve", + "SECTION_LEVEL": "curve", + "STAIR_ARROW": "curve", "TEXT": "empty", "TEXT_LEADER": "curve", - "STAIR_ARROW": "curve", - "HIDDEN_LINE": "mesh", - "PLAN_LEVEL": "curve", - "SECTION_LEVEL": "curve", - "BREAKLINE": "mesh", - "FILL_AREA": "mesh", - "LINEWORK": "mesh", }[object_type] obj = annotation.Annotator.get_annotation_obj(object_type, data_type) if object_type == "FILL_AREA": From f8acde080157d300fa0e17fc77f4e21c8a221fb2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 3 May 2022 14:32:18 +1000 Subject: [PATCH 088/243] You can now add ports to types, and ports are created when placing occurrences of that type --- .../blenderbim/bim/module/model/product.py | 21 ++++++++++++++----- .../blenderbim/bim/module/system/ui.py | 4 +++- .../ifcopenshell/util/system.py | 3 ++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/product.py b/src/blenderbim/blenderbim/bim/module/model/product.py index ab47a6866c..1415d407c9 100644 --- a/src/blenderbim/blenderbim/bim/module/model/product.py +++ b/src/blenderbim/blenderbim/bim/module/model/product.py @@ -20,7 +20,9 @@ import bpy import mathutils import ifcopenshell import ifcopenshell.api +import ifcopenshell.util.system import ifcopenshell.util.element +import ifcopenshell.util.placement import ifcopenshell.util.representation import blenderbim.tool as tool import blenderbim.core.type @@ -81,7 +83,7 @@ class AddTypeInstance(bpy.types.Operator): elif material and material.is_a("IfcMaterialLayerSet"): if self.generate_layered_element(ifc_class, relating_type): return {"FINISHED"} - if relating_type.is_a("IfcFlowSegmentType"): + if relating_type.is_a("IfcFlowSegmentType") and not relating_type.RepresentationMaps: if mep.MepGenerator(relating_type).generate(): return {"FINISHED"} @@ -117,11 +119,9 @@ class AddTypeInstance(bpy.types.Operator): collection.objects.link(obj) collection_obj = bpy.data.objects.get(collection.name) bpy.ops.bim.assign_class(obj=obj.name, ifc_class=instance_class) + element = tool.Ifc.get_entity(obj) blenderbim.core.type.assign_type( - tool.Ifc, - tool.Type, - element=tool.Ifc.get_entity(obj), - type=tool.Ifc.get().by_id(int(props.relating_type)), + tool.Ifc, tool.Type, element=element, type=relating_type ) if building_obj: @@ -136,6 +136,17 @@ class AddTypeInstance(bpy.types.Operator): if collection_obj and collection_obj.BIMObjectProperties.ifc_definition_id: obj.location[2] = collection_obj.location[2] - min([v[2] for v in obj.bound_box]) + unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + for port in ifcopenshell.util.system.get_ports(relating_type): + mat = ifcopenshell.util.placement.get_local_placement(port.ObjectPlacement) + mat[0][3] *= unit_scale + mat[1][3] *= unit_scale + mat[2][3] *= unit_scale + port_obj = bpy.data.objects.new("Port", None) + port_obj.matrix_world = obj.matrix_world @ mathutils.Matrix(mat) + port = tool.System.run_root_assign_class(obj=port_obj, ifc_class="IfcDistributionPort") + tool.Ifc.run("system.assign_port", element=element, port=port) + bpy.ops.object.select_all(action="DESELECT") obj.select_set(True) context.view_layer.objects.active = obj diff --git a/src/blenderbim/blenderbim/bim/module/system/ui.py b/src/blenderbim/blenderbim/bim/module/system/ui.py index 33a0e975f6..2d38d902c0 100644 --- a/src/blenderbim/blenderbim/bim/module/system/ui.py +++ b/src/blenderbim/blenderbim/bim/module/system/ui.py @@ -140,7 +140,9 @@ class BIM_PT_ports(Panel): if not context.active_object: return False element = tool.Ifc.get_entity(context.active_object) - if not element or not element.is_a("IfcDistributionElement"): + if not element: + return False + if not element.is_a("IfcDistributionElement") and not element.is_a("IfcDistributionElementType"): return False return True diff --git a/src/ifcopenshell-python/ifcopenshell/util/system.py b/src/ifcopenshell-python/ifcopenshell/util/system.py index acbedc8305..0b3e50a469 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/system.py +++ b/src/ifcopenshell-python/ifcopenshell/util/system.py @@ -40,7 +40,8 @@ def get_ports(element): results = [] for rel in getattr(element, "IsNestedBy", []) or []: results.extend([o for o in rel.RelatedObjects if o.is_a("IfcDistributionPort")]) - for rel in element.HasPorts or []: + # IFC2X3 only, deprecated in IFC4 + for rel in getattr(element, "HasPorts", []) or []: results.append(rel.RelatingPort) return results From 96babc450610fb481bb184cf84e3f01d63d35351 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 3 May 2022 15:48:41 +1000 Subject: [PATCH 089/243] Creating a flow segment now also creates 2 ports at either end --- .../blenderbim/bim/module/model/mep.py | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/mep.py b/src/blenderbim/blenderbim/bim/module/model/mep.py index e971318d78..4d3c03d8af 100644 --- a/src/blenderbim/blenderbim/bim/module/model/mep.py +++ b/src/blenderbim/blenderbim/bim/module/model/mep.py @@ -54,7 +54,6 @@ class MepGenerator: self.width = dimensions.get("NominalDiameterOrWidth") self.height = dimensions.get("NominalHeight") self.length = 1 - self.rotation = 0 return self.derive_from_cursor() elif self.relating_type.is_a("IfcPipeSegmentType"): @@ -66,14 +65,14 @@ class MepGenerator: def create_rectangle_segment(self): verts = [ - Vector((0, self.width, 0)), - Vector((0, 0, 0)), - Vector((0, self.width, self.height)), - Vector((0, 0, self.height)), - Vector((self.length, self.width, 0)), - Vector((self.length, 0, 0)), - Vector((self.length, self.width, self.height)), - Vector((self.length, 0, self.height)), + Vector((- self.width / 2, self.height / 2, 0)), + Vector((- self.width / 2, - self.height / 2, 0)), + Vector((- self.width / 2, self.height / 2, self.length)), + Vector((- self.width / 2, - self.height / 2, self.length)), + Vector((self.width / 2, self.height / 2, 0)), + Vector((self.width / 2, - self.height / 2, 0)), + Vector((self.width / 2, self.height / 2, self.length)), + Vector((self.width / 2, - self.height / 2, self.length)), ] faces = [ [1, 3, 2, 0], @@ -91,7 +90,8 @@ class MepGenerator: obj = bpy.data.objects.new(tool.Model.generate_occurrence_name(self.relating_type, ifc_class), mesh) obj.location = self.location - obj.rotation_euler[2] = self.rotation + obj.rotation_euler[0] = math.pi / 2 + obj.rotation_euler[2] = math.pi / 2 self.collection.objects.link(obj) bpy.ops.bim.assign_class( @@ -100,9 +100,24 @@ class MepGenerator: ifc_representation_class="IfcExtrudedAreaSolid/IfcRectangleProfileDef", ) - blenderbim.core.type.assign_type(tool.Ifc, tool.Type, element=tool.Ifc.get_entity(obj), type=self.relating_type) - element = self.file.by_id(obj.BIMObjectProperties.ifc_definition_id) + element = tool.Ifc.get_entity(obj) + + blenderbim.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=self.relating_type) pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="EPset_Parametric") ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"Engine": "BlenderBIM.Mep"}) + + start_port_matrix = obj.matrix_world + end_port_matrix = obj.matrix_world.copy() + end_port_location = end_port_matrix @ Vector((0, 0, self.length)) + end_port_matrix[0][3] = end_port_location[0] + end_port_matrix[1][3] = end_port_location[1] + end_port_matrix[2][3] = end_port_location[2] + + for mat in [start_port_matrix, end_port_matrix]: + port_obj = bpy.data.objects.new("Port", None) + port_obj.matrix_world = mat + port = tool.System.run_root_assign_class(obj=port_obj, ifc_class="IfcDistributionPort") + tool.Ifc.run("system.assign_port", element=element, port=port) + obj.select_set(True) return obj From c5773b56651f1fee576d5d4471f5cf5fb1f5c8c3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 3 May 2022 16:50:55 +1000 Subject: [PATCH 090/243] Port locations are now auto synchronised when hiding ports --- src/blenderbim/blenderbim/bim/export_ifc.py | 13 +------------ .../blenderbim/bim/module/model/mep.py | 9 +++------ .../blenderbim/bim/module/model/product.py | 3 ++- .../blenderbim/bim/module/system/operator.py | 2 +- src/blenderbim/blenderbim/core/system.py | 18 ++++++++++++++---- src/blenderbim/blenderbim/core/tool.py | 3 ++- src/blenderbim/blenderbim/tool/system.py | 12 ++++++++++-- src/blenderbim/test/core/test_system.py | 17 +++++++++++++---- src/blenderbim/test/tool/test_system.py | 10 ++++++++-- 9 files changed, 54 insertions(+), 33 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/export_ifc.py b/src/blenderbim/blenderbim/bim/export_ifc.py index 063c793c80..941f3ca485 100644 --- a/src/blenderbim/blenderbim/bim/export_ifc.py +++ b/src/blenderbim/blenderbim/bim/export_ifc.py @@ -148,7 +148,7 @@ class IfcExporter: return checksum != str([s.id() for s in tool.Geometry.get_styles(obj) if s]) def sync_object_placement(self, obj): - if not self.has_object_moved(obj): + if not tool.Ifc.is_moved(obj): return blender_matrix = np.array(obj.matrix_world) element = self.file.by_id(obj.BIMObjectProperties.ifc_definition_id) @@ -162,17 +162,6 @@ class IfcExporter: blenderbim.core.geometry.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj) return element - def has_object_moved(self, obj): - if not obj.BIMObjectProperties.location_checksum: - return True # Let's be conservative - loc_check = np.frombuffer(eval(obj.BIMObjectProperties.location_checksum)) - rot_check = np.frombuffer(eval(obj.BIMObjectProperties.rotation_checksum)) - loc_real = np.array(obj.matrix_world.translation).flatten() - rot_real = np.array(obj.matrix_world.to_3x3()).flatten() - if np.allclose(loc_check, loc_real, atol=1e-4) and np.allclose(rot_check, rot_real, atol=1e-2): - return False - return True - def sync_grid_axis_object_placement(self, obj, element): grid = (element.PartOfU or element.PartOfV or element.PartOfW)[0] grid_obj = tool.Ifc.get_object(grid) diff --git a/src/blenderbim/blenderbim/bim/module/model/mep.py b/src/blenderbim/blenderbim/bim/module/model/mep.py index 4d3c03d8af..b653eadbb6 100644 --- a/src/blenderbim/blenderbim/bim/module/model/mep.py +++ b/src/blenderbim/blenderbim/bim/module/model/mep.py @@ -106,16 +106,13 @@ class MepGenerator: pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="EPset_Parametric") ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"Engine": "BlenderBIM.Mep"}) - start_port_matrix = obj.matrix_world - end_port_matrix = obj.matrix_world.copy() - end_port_location = end_port_matrix @ Vector((0, 0, self.length)) - end_port_matrix[0][3] = end_port_location[0] - end_port_matrix[1][3] = end_port_location[1] - end_port_matrix[2][3] = end_port_location[2] + start_port_matrix = Matrix() + end_port_matrix = Matrix.Translation((0, 0, self.length)) for mat in [start_port_matrix, end_port_matrix]: port_obj = bpy.data.objects.new("Port", None) port_obj.matrix_world = mat + port_obj.parent = obj port = tool.System.run_root_assign_class(obj=port_obj, ifc_class="IfcDistributionPort") tool.Ifc.run("system.assign_port", element=element, port=port) diff --git a/src/blenderbim/blenderbim/bim/module/model/product.py b/src/blenderbim/blenderbim/bim/module/model/product.py index 1415d407c9..d9fe8797db 100644 --- a/src/blenderbim/blenderbim/bim/module/model/product.py +++ b/src/blenderbim/blenderbim/bim/module/model/product.py @@ -143,7 +143,8 @@ class AddTypeInstance(bpy.types.Operator): mat[1][3] *= unit_scale mat[2][3] *= unit_scale port_obj = bpy.data.objects.new("Port", None) - port_obj.matrix_world = obj.matrix_world @ mathutils.Matrix(mat) + port_obj.matrix_world = mathutils.Matrix(mat) + port_obj.parent = obj port = tool.System.run_root_assign_class(obj=port_obj, ifc_class="IfcDistributionPort") tool.Ifc.run("system.assign_port", element=element, port=port) diff --git a/src/blenderbim/blenderbim/bim/module/system/operator.py b/src/blenderbim/blenderbim/bim/module/system/operator.py index 290654884e..12e78cda4d 100644 --- a/src/blenderbim/blenderbim/bim/module/system/operator.py +++ b/src/blenderbim/blenderbim/bim/module/system/operator.py @@ -149,7 +149,7 @@ class HidePorts(bpy.types.Operator, Operator): bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - core.hide_ports(tool.System, element=tool.Ifc.get_entity(context.active_object)) + core.hide_ports(tool.Ifc, tool.System, element=tool.Ifc.get_entity(context.active_object)) class AddPort(bpy.types.Operator, Operator): diff --git a/src/blenderbim/blenderbim/core/system.py b/src/blenderbim/blenderbim/core/system.py index cde210638f..7153ab8c53 100644 --- a/src/blenderbim/blenderbim/core/system.py +++ b/src/blenderbim/blenderbim/core/system.py @@ -68,16 +68,26 @@ def select_system_products(system_tool, system=None): def show_ports(system, element=None): ports = system.get_ports(element) - system.load_ports(ports) + system.load_ports(element, ports) system.select_elements(ports) -def hide_ports(system, element=None): - system.delete_element_objects(system.get_ports(element)) +def hide_ports(ifc, system, element=None): + obj = ifc.get_object(element) + if obj and ifc.is_moved(obj): + system.run_geometry_edit_object_placement(obj=obj) + + ports = system.get_ports(element) + for port in ports: + obj = ifc.get_object(port) + if obj and ifc.is_moved(obj): + system.run_geometry_edit_object_placement(obj=obj) + + system.delete_element_objects(ports) def add_port(ifc, system, element=None): - system.load_ports(system.get_ports(element)) + system.load_ports(element, system.get_ports(element)) obj = system.create_empty_at_cursor_with_element_orientation(element) port = system.run_root_assign_class(obj=obj, ifc_class="IfcDistributionPort") ifc.run("system.assign_port", element=element, port=port) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 29129a2ec5..790b702ea3 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -473,7 +473,8 @@ class System: def get_ports(cls, element): pass def import_system_attributes(cls, system): pass def import_systems(cls): pass - def load_ports(cls, port): pass + def load_ports(cls, element, ports): pass + def run_geometry_edit_object_placement(cls, obj=None): pass def run_root_assign_class(cls, obj=None, ifc_class=None, predefined_type=None, should_add_representation=True, context=None, ifc_representation_class=None): pass def select_elements(cls, elements): pass def select_system_products(cls, system): pass diff --git a/src/blenderbim/blenderbim/tool/system.py b/src/blenderbim/blenderbim/tool/system.py index b2109330a1..74ec903033 100644 --- a/src/blenderbim/blenderbim/tool/system.py +++ b/src/blenderbim/blenderbim/tool/system.py @@ -81,9 +81,10 @@ class System(blenderbim.core.tool.System): new.ifc_class = system.is_a() @classmethod - def load_ports(cls, ports): + def load_ports(cls, element, ports): if not ports: return + obj = tool.Ifc.get_object(element) ifc_import_settings = import_ifc.IfcImportSettings.factory() ifc_importer = import_ifc.IfcImporter(ifc_import_settings) ifc_importer.file = tool.Ifc.get() @@ -93,9 +94,16 @@ class System(blenderbim.core.tool.System): for port in ports or []: if tool.Ifc.get_object(port): continue - ifc_importer.create_product(port) + port_obj = ifc_importer.create_product(port) + if obj: + port_obj.parent = obj + port_obj.matrix_parent_inverse = obj.matrix_world.inverted() ifc_importer.place_objects_in_collections() + @classmethod + def run_geometry_edit_object_placement(cls, obj=None): + return blenderbim.core.geometry.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj) + @classmethod def run_root_assign_class( cls, diff --git a/src/blenderbim/test/core/test_system.py b/src/blenderbim/test/core/test_system.py index 2cf955bf4b..3d818fe301 100644 --- a/src/blenderbim/test/core/test_system.py +++ b/src/blenderbim/test/core/test_system.py @@ -93,22 +93,31 @@ class TestSelectSystemProducts: class TestShowPorts: def test_run(self, system): system.get_ports("element").should_be_called().will_return(["port"]) - system.load_ports(["port"]).should_be_called() + system.load_ports("element", ["port"]).should_be_called() system.select_elements(["port"]).should_be_called() subject.show_ports(system, element="element") class TestHidePorts: - def test_run(self, system): + def test_run(self, ifc, system): + ifc.get_object("element").should_be_called().will_return("obj") + ifc.is_moved("obj").should_be_called().will_return(True) + system.run_geometry_edit_object_placement(obj="obj").should_be_called() + system.get_ports("element").should_be_called().will_return(["port"]) + + ifc.get_object("port").should_be_called().will_return("port_obj") + ifc.is_moved("port_obj").should_be_called().will_return(True) + system.run_geometry_edit_object_placement(obj="port_obj").should_be_called() + system.delete_element_objects(["port"]).should_be_called() - subject.hide_ports(system, element="element") + subject.hide_ports(ifc, system, element="element") class TestAddPort: def test_run(self, ifc, system): system.get_ports("element").should_be_called().will_return(["port"]) - system.load_ports(["port"]).should_be_called() + system.load_ports("element", ["port"]).should_be_called() system.create_empty_at_cursor_with_element_orientation("element").should_be_called().will_return("obj") system.run_root_assign_class(obj="obj", ifc_class="IfcDistributionPort").should_be_called().will_return("port") ifc.run("system.assign_port", element="element", port="port").should_be_called() diff --git a/src/blenderbim/test/tool/test_system.py b/src/blenderbim/test/tool/test_system.py index 0e8fc3f021..2d70c6adde 100644 --- a/src/blenderbim/test/tool/test_system.py +++ b/src/blenderbim/test/tool/test_system.py @@ -177,15 +177,21 @@ class TestLoadPorts(NewFile): ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") ifcopenshell.api.run("unit.assign_unit", ifc) tool.Ifc().set(ifc) + element = ifc.createIfcChiller() port = ifc.createIfcDistributionPort() - subject.load_ports([port]) + subject.load_ports(element, [port]) obj = tool.Ifc.get_object(port) assert obj assert obj.users_collection assert list(obj.location) == [0, 0, 0] -class TestRunAssignClassOperator(NewFile): +class TestRunGeometryEditObjectPlacement(NewFile): + def test_nothing(self): + pass + + +class TestRunRootAssignClass(NewFile): def test_nothing(self): pass From 280236290e3ddcd587c01c787ade5c70fb8f0e13 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 3 May 2022 17:36:55 +1000 Subject: [PATCH 091/243] Fix #2182. File export IFC menu item now defaults to save as to improve usability for new users --- src/blenderbim/blenderbim/bim/module/project/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/__init__.py b/src/blenderbim/blenderbim/bim/module/project/__init__.py index 7898d1ddf0..1e63507dd1 100644 --- a/src/blenderbim/blenderbim/bim/module/project/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/project/__init__.py @@ -57,7 +57,7 @@ classes = ( def menu_func_export(self, context): op = self.layout.operator(operator.ExportIFC.bl_idname, text="Industry Foundation Classes (.ifc/.ifczip/.ifcjson)") - op.should_save_as = False + op.should_save_as = True def menu_func_import(self, context): From 933383926717707c8a7a57ac8d7b00c34dfe5eb1 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 3 May 2022 18:05:27 +1000 Subject: [PATCH 092/243] Copying an element now also copies its distribution ports --- .../ifcopenshell/api/root/copy_class.py | 11 +++++++++++ .../test/api/root/test_copy_class.py | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py b/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py index 1021998af4..acb57a9979 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py +++ b/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py @@ -45,6 +45,17 @@ class Usecase: inverse.RelatedObjects = [to_element] pset = ifcopenshell.util.element.copy_deep(self.file, inverse.RelatingPropertyDefinition) inverse.RelatingPropertyDefinition = pset + elif inverse.is_a("IfcRelNests") and inverse.RelatingObject == from_element: + ports = [e for e in inverse.RelatedObjects if e.is_a("IfcDistributionPort")] + if ports: + new_ports = [ifcopenshell.api.run("root.copy_class", self.file, product=p) for p in ports] + [ + ifcopenshell.api.run("system.unassign_port", self.file, element=from_element, port=p) + for p in new_ports + ] + inverse = ifcopenshell.util.element.copy(self.file, inverse) + inverse.RelatingObject = to_element + inverse.RelatedObjects = new_ports elif inverse.is_a("IfcRelAggregates") and inverse.RelatingObject == from_element: continue elif inverse.is_a("IfcRelContainedInSpatialStructure") and inverse.RelatingStructure == from_element: diff --git a/src/ifcopenshell-python/test/api/root/test_copy_class.py b/src/ifcopenshell-python/test/api/root/test_copy_class.py index 39198260d6..fb67ac3214 100644 --- a/src/ifcopenshell-python/test/api/root/test_copy_class.py +++ b/src/ifcopenshell-python/test/api/root/test_copy_class.py @@ -149,3 +149,13 @@ class TestCopyClass(test.bootstrap.IFC4): ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=type) new = ifcopenshell.api.run("root.copy_class", self.file, product=type) assert not new.Types + + def test_copying_distribution_ports(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcChiller") + port = ifcopenshell.api.run("system.add_port", self.file) + ifcopenshell.api.run("system.assign_port", self.file, element=element, port=port) + new = ifcopenshell.api.run("root.copy_class", self.file, product=element) + new_ports = ifcopenshell.util.system.get_ports(new) + assert port not in new_ports + assert new_ports[0].is_a("IfcDistributionPort") + assert ifcopenshell.util.system.get_ports(element) == [port] From 6e55a045500ba1b270eb9fe1f1d317d2b1fc64e1 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Tue, 3 May 2022 18:21:51 +0200 Subject: [PATCH 093/243] Refactor Standalone section shader (#2172) * Refactor Standalone section shader * Remove leftover code --- .../scripts/standalone_section_shader.py | 336 +++++++++++------- 1 file changed, 198 insertions(+), 138 deletions(-) diff --git a/src/blenderbim/scripts/standalone_section_shader.py b/src/blenderbim/scripts/standalone_section_shader.py index 8068914183..7d732dad2a 100644 --- a/src/blenderbim/scripts/standalone_section_shader.py +++ b/src/blenderbim/scripts/standalone_section_shader.py @@ -13,11 +13,9 @@ bl_info = { import bpy -from bpy.types import Operator -from bpy.props import FloatVectorProperty +from bpy.types import Operator, PropertyGroup, Panel from mathutils import Vector, Matrix, Euler from math import radians -from bpy.types import PropertyGroup from bpy.props import ( PointerProperty, StringProperty, @@ -30,62 +28,131 @@ from bpy.props import ( ) -def update_section_color(self, context): - section_node_group = bpy.data.node_groups.get("Section Override") - if section_node_group is None: - return - try: - emission_node = next(n for n in section_node_group.nodes if isinstance(n, bpy.types.ShaderNodeEmission)) - emission_node.inputs[0].default_value = list(self.section_plane_colour) + [1] - except StopIteration: - pass +class SectionCutawayManager: + @staticmethod + def get_section_tree(): + return bpy.data.node_groups.get("Section Override") + @staticmethod + def get_sections_map(): + section_tree = SectionCutawayManager.get_section_tree() + return {n: n.object for n in section_tree.nodes if isinstance(n, bpy.types.ShaderNodeTexCoord)} -class BIM_OT_add_section_plane(bpy.types.Operator): - """Add a temporary empty object as a section cutaway. Cull all geometry rendering below the empty's local Z axis""" + @staticmethod + def purge_all_section_data(): + section_override_mat = bpy.data.materials.get("Section Override") + if section_override_mat: + bpy.data.materials.remove(section_override_mat) + for material in bpy.data.materials: + if not material.node_tree: + continue + override = material.node_tree.nodes.get("Section Override") + if not override: + continue + material.node_tree.links.new( + override.inputs[0].links[0].from_socket, override.outputs[0].links[0].to_socket + ) + material.node_tree.nodes.remove(override) + bpy.data.node_groups.remove(SectionCutawayManager.get_section_tree()) + bpy.data.node_groups.remove(bpy.data.node_groups.get("Section Compare")) - bl_idname = "bim.add_section_plane" - bl_label = "Add Temporary Section Cutaway" - bl_options = {"REGISTER", "UNDO"} + @staticmethod + def clean(): + sections_map = SectionCutawayManager.get_sections_map() + sections_map_iterator = list(sections_map.items()) + for tex_coord_node, section_obj in sections_map_iterator: + if section_obj is None or section_obj.users == 1: + SectionCutawayManager.unplug(tex_coord_node) + sections_map.pop(tex_coord_node) + if not any(o for o in sections_map.values() if o.users > 1): + SectionCutawayManager.purge_all_section_data() - def execute(self, context): - obj = self.create_section_obj(context) - if not self.has_section_override_node(): - self.create_section_compare_node() - self.create_section_override_node(obj, context) - else: - self.append_obj_to_section_override_node(obj) - self.add_default_material_if_none_exists(context) - self.override_materials() - return {"FINISHED"} + @staticmethod + def unplug(tex_coords): + section_tree = SectionCutawayManager.get_section_tree() + section_compare = tex_coords.outputs["Object"].links[0].to_node + if section_compare.inputs[0].links: + previous_section_compare = section_compare.inputs[0].links[0].from_node + next_section_compare = section_compare.outputs[0].links[0].to_node + section_tree.links.new(previous_section_compare.outputs[0], next_section_compare.inputs[0]) + SectionCutawayManager.offset_previous_nodes(section_compare, offset_x=200) + section_tree.nodes.remove(section_compare) + section_tree.nodes.remove(tex_coords) - def create_section_obj(self, context): + @staticmethod + def offset_previous_nodes(section_compare, offset_x=0, offset_y=0): + if section_compare.inputs[0].links: + previous_section_compare = section_compare.inputs[0].links[0].from_node + previous_section_compare.location += Vector((offset_x, offset_y)) + if previous_section_compare.inputs[1].links: + previous_section_compare.inputs[1].links[0].from_node.location += Vector((offset_x, offset_y)) + SectionCutawayManager.offset_previous_nodes(previous_section_compare, offset_x, offset_y) + + @staticmethod + def override_materials(): + override = SectionCutawayManager.get_section_tree() + for material in bpy.data.materials: + material.use_nodes = True + if material.node_tree.nodes.get(override.name): + continue + material.blend_method = "HASHED" + material.shadow_method = "HASHED" + material_output = next((n for n in material.node_tree.nodes if n.type == "OUTPUT_MATERIAL"), None) + if material_output is None: + continue + from_socket = material_output.inputs[0].links[0].from_socket + section_override = material.node_tree.nodes.new(type="ShaderNodeGroup") + section_override.name = "Section Override" + section_override.node_tree = override + material.node_tree.links.new(from_socket, section_override.inputs[0]) + material.node_tree.links.new(section_override.outputs[0], material_output.inputs[0]) + + @staticmethod + def create_section_obj(from_obj, scene): section = bpy.data.objects.new("Section", None) section.empty_display_type = "SINGLE_ARROW" section.empty_display_size = 5 section.show_in_front = True - if ( - context.active_object - and context.active_object.select_get() - and isinstance(context.active_object.data, bpy.types.Camera) - ): - section.matrix_world = ( - context.active_object.matrix_world @ Euler((radians(180.0), 0.0, 0.0), "XYZ").to_matrix().to_4x4() - ) + if from_obj and from_obj.select_get() and isinstance(from_obj.data, bpy.types.Camera): + section.matrix_world = from_obj.matrix_world @ Euler((radians(180.0), 0.0, 0.0), "XYZ").to_matrix().to_4x4() else: section.rotation_euler = Euler((radians(180.0), 0.0, 0.0), "XYZ") - section.location = context.scene.cursor.location + section.location = scene.cursor.location collection = bpy.data.collections.get("Sections") if not collection: collection = bpy.data.collections.new("Sections") - context.scene.collection.children.link(collection) + scene.collection.children.link(collection) collection.objects.link(section) return section - def has_section_override_node(self): - return bpy.data.node_groups.get("Section Override") + @classmethod + def add_section_plane(cls, context): + obj = cls.create_section_obj(context.active_object, context.scene) + if cls.get_section_tree() is not None: + cls.append_obj_to_section_override_node(obj) + else: + cls.create_section_compare_node() + cls.create_section_override_node(obj, context) + cls.add_default_material_if_none_exists(context) + cls.override_materials() - def create_section_compare_node(self): + @classmethod + def remove_all_section_planes(cls): + objs = [o for o in cls.get_sections_map().values() if o is not None] + cls.remove_section_planes(objs) + + @classmethod + def remove_section_planes(cls, objects): + sections_map = cls.get_sections_map() + for obj in objects: + tex_coords = next((n for n in sections_map if sections_map[n] == obj), None) + if tex_coords is not None: + cls.unplug(tex_coords) + sections_map.pop(tex_coords) + bpy.data.objects.remove(obj) + + @staticmethod + def create_section_compare_node(): group = bpy.data.node_groups.new("Section Compare", type="ShaderNodeTree") group_input = group.nodes.new(type="NodeGroupInput") group_input.location = 0, 50 @@ -112,7 +179,8 @@ class BIM_OT_add_section_plane(bpy.types.Operator): group.links.new(greater.outputs[0], multiply.inputs[1]) group.links.new(multiply.outputs[0], group_output.inputs[""]) - def create_section_override_node(self, obj, context): + @staticmethod + def create_section_override_node(obj, context): group = bpy.data.node_groups.new("Section Override", type="ShaderNodeTree") links = group.links nodes = group.nodes @@ -121,45 +189,53 @@ class BIM_OT_add_section_plane(bpy.types.Operator): group_output = nodes.new(type="NodeGroupOutput") group_output.location = 600, 250 + hide_mix = group.nodes.new(type="ShaderNodeMixShader") + hide_mix.name = "Hide Mix" + hide_mix.inputs[0].default_value = 0 + hide_mix.location = group_output.location - Vector((200, 0)) + backfacing_mix = nodes.new(type="ShaderNodeMixShader") - backfacing_mix.location = group_output.location - Vector((400, 350)) + backfacing_mix.location = group_output.location - Vector((600, 350)) backfacing = nodes.new(type="ShaderNodeNewGeometry") - backfacing.location = backfacing_mix.location + Vector((-200, 200)) - group_input.location = backfacing_mix.location - Vector((200, 50)) + backfacing.location = backfacing_mix.location + Vector((-400, 200)) + group_input.location = backfacing_mix.location - Vector((400, 50)) emission = nodes.new(type="ShaderNodeEmission") emission.inputs[0].default_value = list(context.scene.SectionProperties.section_plane_colour) + [1] - emission.location = backfacing_mix.location - Vector((200, 150)) + emission.location = backfacing_mix.location - Vector((400, 150)) transparent = nodes.new(type="ShaderNodeBsdfTransparent") - transparent.location = group_output.location - Vector((400, 100)) + transparent.location = group_output.location - Vector((600, 100)) section_mix = group.nodes.new(type="ShaderNodeMixShader") section_mix.name = "Section Mix" section_mix.inputs[0].default_value = 1 # Directly pass input shader when there is no cutaway - section_mix.location = group_output.location - Vector((200, 0)) + section_mix.location = group_output.location - Vector((400, 0)) cut_obj = nodes.new(type="ShaderNodeTexCoord") cut_obj.object = obj - cut_obj.location = group_output.location - Vector((800, 150)) + cut_obj.location = group_output.location - Vector((1000, 150)) section_compare = nodes.new(type="ShaderNodeGroup") section_compare.node_tree = bpy.data.node_groups.get("Section Compare") section_compare.name = "Last Section Compare" - section_compare.location = group_output.location - Vector((600, 0)) + section_compare.location = group_output.location - Vector((800, 0)) links.new(cut_obj.outputs["Object"], section_compare.inputs[1]) links.new(backfacing.outputs["Backfacing"], backfacing_mix.inputs[0]) links.new(group_input.outputs[""], backfacing_mix.inputs[1]) links.new(emission.outputs["Emission"], backfacing_mix.inputs[2]) links.new(section_compare.outputs[0], section_mix.inputs[0]) - links.new(transparent.outputs["BSDF"], section_mix.inputs[1]) - links.new(backfacing_mix.outputs["Shader"], section_mix.inputs[2]) - links.new(section_mix.outputs["Shader"], group_output.inputs[""]) + links.new(transparent.outputs[0], section_mix.inputs[1]) + links.new(backfacing_mix.outputs[0], section_mix.inputs[2]) + links.new(section_mix.outputs[0], hide_mix.inputs[1]) + links.new(group_input.outputs["Shader"], hide_mix.inputs[2]) + links.new(hide_mix.outputs[0], group_output.inputs[""]) - def append_obj_to_section_override_node(self, obj): - group = bpy.data.node_groups.get("Section Override") + @staticmethod + def append_obj_to_section_override_node(obj): + group = SectionCutawayManager.get_section_tree() try: last_section_node = next( n @@ -185,7 +261,8 @@ class BIM_OT_add_section_plane(bpy.types.Operator): section_compare.name = "Last Section Compare" - def add_default_material_if_none_exists(self, context): + @staticmethod + def add_default_material_if_none_exists(context): material = bpy.data.materials.get("Section Override") if not material: material = bpy.data.materials.new("Section Override") @@ -208,92 +285,74 @@ class BIM_OT_add_section_plane(bpy.types.Operator): else: obj.data.materials.append(material) - def override_materials(self): - override = bpy.data.node_groups.get("Section Override") - for material in bpy.data.materials: - material.use_nodes = True - if material.node_tree.nodes.get("Section Override"): - continue - material.blend_method = "HASHED" - material.shadow_method = "HASHED" - material_output = self.get_node(material.node_tree.nodes, "OUTPUT_MATERIAL") - if not material_output: - continue - from_socket = material_output.inputs[0].links[0].from_socket - section_override = material.node_tree.nodes.new(type="ShaderNodeGroup") - section_override.name = "Section Override" - section_override.node_tree = override - material.node_tree.links.new(from_socket, section_override.inputs[0]) - material.node_tree.links.new(section_override.outputs[0], material_output.inputs[0]) - def get_node(self, nodes, node_type): - for node in nodes: - if node.type == node_type: - return node +class BIM_OT_section_plane_refresh(Operator): + bl_idname = "bim.section_plane_refresh" + bl_label = "Refresh Section Cutaway Shader" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + update_visibility(None, context) + SectionCutawayManager.add_default_material_if_none_exists(context) + SectionCutawayManager.clean() + return {"FINISHED"} -class BIM_OT_remove_section_plane(bpy.types.Operator): - """Remove selected section plane. No effect if executed on a regular object""" +class BIM_OT_section_plane_add(Operator): + """Add a temporary empty object as a section cutaway. Cull all geometry rendering below the empty's local Z axis""" - bl_idname = "bim.remove_section_plane" + bl_idname = "bim.section_plane_add" + bl_label = "Add Temporary Section Cutaway" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + SectionCutawayManager.add_section_plane(context) + SectionCutawayManager.clean() + return {"FINISHED"} + + +class BIM_OT_section_plane_remove(Operator): + bl_idname = "bim.section_plane_remove" bl_label = "Remove Temporary Section Cutaway" bl_options = {"REGISTER", "UNDO"} + bl_description = "Remove section planes. No effect if executed on a regular object" + remove_all: BoolProperty(default=False, options={"HIDDEN"}) @classmethod def poll(cls, context): - return context.active_object and bpy.data.node_groups.get("Section Override") + return SectionCutawayManager.get_section_tree() is not None def execute(self, context): - name = context.active_object.name - section_override = bpy.data.node_groups.get("Section Override") - tex_coords = next( - ( - n - for n in section_override.nodes - if isinstance(n, bpy.types.ShaderNodeTexCoord) and n.object.name == name - ), - None, - ) - if tex_coords is not None: - section_compare = tex_coords.outputs["Object"].links[0].to_node - if section_compare.inputs[0].links: - previous_section_compare = section_compare.inputs[0].links[0].from_node - next_section_compare = section_compare.outputs[0].links[0].to_node - section_override.links.new(previous_section_compare.outputs[0], next_section_compare.inputs[0]) - self.offset_previous_nodes(section_compare, offset_x=200) - section_override.nodes.remove(section_compare) - section_override.nodes.remove(tex_coords) - bpy.data.objects.remove(context.active_object) - + if self.remove_all: + SectionCutawayManager.remove_all_section_planes() + else: + SectionCutawayManager.remove_section_planes(context.selected_objects) + SectionCutawayManager.clean() return {"FINISHED"} - def offset_previous_nodes(self, section_compare, offset_x=0, offset_y=0): - if section_compare.inputs[0].links: - previous_section_compare = section_compare.inputs[0].links[0].from_node - previous_section_compare.location += Vector((offset_x, offset_y)) - if previous_section_compare.inputs[1].links: - previous_section_compare.inputs[1].links[0].from_node.location += Vector((offset_x, offset_y)) - self.offset_previous_nodes(previous_section_compare, offset_x, offset_y) - def purge_all_section_data(self, context): - bpy.data.materials.remove(bpy.data.materials.get("Section Override")) - for material in bpy.data.materials: - if not material.node_tree: - continue - override = material.node_tree.nodes.get("Section Override") - if not override: - continue - material.node_tree.links.new( - override.inputs[0].links[0].from_socket, override.outputs[0].links[0].to_socket - ) - material.node_tree.nodes.remove(override) - bpy.data.node_groups.remove(bpy.data.node_groups.get("Section Override")) - bpy.data.node_groups.remove(bpy.data.node_groups.get("Section Compare")) - bpy.ops.object.delete({"selected_objects": [context.active_object]}) +def update_visibility(self, context): + tree = SectionCutawayManager.get_section_tree() + if tree: + node = tree.nodes.get("Hide Mix") + if node: + node.inputs[0].default_value = int(context.scene.SectionProperties.hide) + + +def update_section_color(self, context): + section_node_group = SectionCutawayManager.get_section_tree() + if section_node_group is None: + return + try: + emission_node = next(n for n in section_node_group.nodes if isinstance(n, bpy.types.ShaderNodeEmission)) + emission_node.inputs[0].default_value = list(self.section_plane_colour) + [1] + except StopIteration: + pass class SectionProperties(PropertyGroup): should_section_selected_objects: BoolProperty(name="Section Selected Objects", default=False) + hide: BoolProperty(default=False, name="Toggle", update=update_visibility) section_plane_colour: FloatVectorProperty( name="Temporary Section Cutaway Colour", subtype="COLOR", @@ -304,7 +363,7 @@ class SectionProperties(PropertyGroup): ) -class BIM_PT_section_plane(bpy.types.Panel): +class BIM_PT_section_plane(Panel): bl_label = "Temporary Section Cutaways" bl_idname = "BIM_PT_section_plane" bl_space_type = "VIEW_3D" @@ -316,30 +375,31 @@ class BIM_PT_section_plane(bpy.types.Panel): layout.use_property_split = True props = context.scene.SectionProperties - row = layout.row() - row.prop(props, "should_section_selected_objects") + layout.prop(props, "should_section_selected_objects", text="Only Selected", icon="RESTRICT_SELECT_OFF") + layout.prop(props, "section_plane_colour", text="Section Color") + layout.prop(props, "hide", icon="HIDE_ON" if props.hide else "HIDE_OFF") - row = layout.row() - row.prop(props, "section_plane_colour") - - row = layout.row(align=True) - row.operator("bim.add_section_plane") - row.operator("bim.remove_section_plane") + layout.operator("bim.section_plane_refresh", text="Refresh", icon="FILE_REFRESH") + layout.operator("bim.section_plane_add", text="Add Section Cutaway", icon="ADD") + layout.operator("bim.section_plane_remove", text="Remove Selected Sections", icon="REMOVE").remove_all = False + layout.operator("bim.section_plane_remove", text="Remove All Sections", icon="TRASH").remove_all = True def register(): bpy.utils.register_class(SectionProperties) - bpy.utils.register_class(BIM_OT_add_section_plane) - bpy.utils.register_class(BIM_OT_remove_section_plane) + bpy.utils.register_class(BIM_OT_section_plane_add) + bpy.utils.register_class(BIM_OT_section_plane_remove) bpy.utils.register_class(BIM_PT_section_plane) - bpy.types.Scene.SectionProperties = bpy.props.PointerProperty(type=SectionProperties) + bpy.utils.register_class(BIM_OT_section_plane_refresh) + bpy.types.Scene.SectionProperties = PointerProperty(type=SectionProperties) def unregister(): - bpy.utils.unregister_class(BIM_OT_add_section_plane) - bpy.utils.unregister_class(BIM_OT_remove_section_plane) + bpy.utils.unregister_class(BIM_OT_section_plane_add) + bpy.utils.unregister_class(BIM_OT_section_plane_remove) bpy.utils.unregister_class(BIM_PT_section_plane) bpy.utils.unregister_class(SectionProperties) + bpy.utils.unregister_class(BIM_OT_section_plane_refresh) del bpy.types.Scene.SectionProperties From 8c3e29c3514e47b26a2255010702490eae481719 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 4 May 2022 13:06:39 +1000 Subject: [PATCH 094/243] Split BlenderBIM and other docs to not overwhelm users. Use Furo theme for Sphinx. --- .gitignore | 3 + src/blenderbim/docs/_static/custom.css | 10 ++ src/blenderbim/docs/conf.py | 10 +- .../{blenderbim => devs}/architecture.png | Bin .../docs/{blenderbim => devs}/demo-module.png | Bin .../docs/{blenderbim => devs}/diagrams.svg | 0 .../{blenderbim => devs}/georeferencing.rst | 0 .../hello_world.rst} | 4 +- .../ifcopenshell-architecture.png | Bin .../{blenderbim => devs}/installation.rst | 86 +----------- .../module-architecture.png | Bin .../{blenderbim => devs}/native-openbim.png | Bin .../{blenderbim => devs}/running_tests.rst | 0 .../docs/{blenderbim => devs}/undo_system.rst | 0 .../{blenderbim => devs}/ux_guidelines.rst | 0 src/blenderbim/docs/index.rst | 39 +++--- .../docs/users/install-blenderbim-1.png | Bin 0 -> 289973 bytes .../docs/users/install-blenderbim-2.png | Bin 0 -> 84667 bytes .../docs/users/install-blenderbim-3.png | Bin 0 -> 60333 bytes .../docs/users/install-blenderbim-4.png | Bin 0 -> 229054 bytes src/blenderbim/docs/users/installation.rst | 131 ++++++++++++++++++ src/ifcopenshell-python/docs/Makefile | 20 +++ .../docs/bimserver-plugin.rst | 0 .../docs/bimtester.rst | 0 src/ifcopenshell-python/docs/conf.py | 72 ++++++++++ .../docs/ifcclash.rst | 0 .../docs/ifccobie.rst | 0 .../docs/ifcconvert.rst | 0 .../docs/ifcdiff.rst | 0 .../docs/ifcmax.rst | 0 .../docs/ifcopenshell-python.rst | 0 .../ifcopenshell-python/api-documentation.rst | 0 .../docs/ifcopenshell-python/quickstart.rst | 0 .../docs/ifcopenshell.rst | 0 .../docs/ifcsverchok.rst | 0 .../docs/ifcsverchok/installation.rst | 0 src/ifcopenshell-python/docs/index.rst | 32 +++++ src/ifcopenshell-python/docs/make.bat | 35 +++++ 38 files changed, 334 insertions(+), 108 deletions(-) create mode 100644 src/blenderbim/docs/_static/custom.css rename src/blenderbim/docs/{blenderbim => devs}/architecture.png (100%) rename src/blenderbim/docs/{blenderbim => devs}/demo-module.png (100%) rename src/blenderbim/docs/{blenderbim => devs}/diagrams.svg (100%) rename src/blenderbim/docs/{blenderbim => devs}/georeferencing.rst (100%) rename src/blenderbim/docs/{blenderbim/developer_guide.rst => devs/hello_world.rst} (99%) rename src/blenderbim/docs/{blenderbim => devs}/ifcopenshell-architecture.png (100%) rename src/blenderbim/docs/{blenderbim => devs}/installation.rst (73%) rename src/blenderbim/docs/{blenderbim => devs}/module-architecture.png (100%) rename src/blenderbim/docs/{blenderbim => devs}/native-openbim.png (100%) rename src/blenderbim/docs/{blenderbim => devs}/running_tests.rst (100%) rename src/blenderbim/docs/{blenderbim => devs}/undo_system.rst (100%) rename src/blenderbim/docs/{blenderbim => devs}/ux_guidelines.rst (100%) create mode 100644 src/blenderbim/docs/users/install-blenderbim-1.png create mode 100644 src/blenderbim/docs/users/install-blenderbim-2.png create mode 100644 src/blenderbim/docs/users/install-blenderbim-3.png create mode 100644 src/blenderbim/docs/users/install-blenderbim-4.png create mode 100644 src/blenderbim/docs/users/installation.rst create mode 100644 src/ifcopenshell-python/docs/Makefile rename src/{blenderbim => ifcopenshell-python}/docs/bimserver-plugin.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/bimtester.rst (100%) create mode 100644 src/ifcopenshell-python/docs/conf.py rename src/{blenderbim => ifcopenshell-python}/docs/ifcclash.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifccobie.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcconvert.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcdiff.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcmax.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcopenshell-python.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcopenshell-python/api-documentation.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcopenshell-python/quickstart.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcopenshell.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcsverchok.rst (100%) rename src/{blenderbim => ifcopenshell-python}/docs/ifcsverchok/installation.rst (100%) create mode 100644 src/ifcopenshell-python/docs/index.rst create mode 100644 src/ifcopenshell-python/docs/make.bat diff --git a/.gitignore b/.gitignore index 84849e6861..c7065d9913 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,6 @@ htmlcov # Blender *.blend1 + +# Sphinx +_build/ diff --git a/src/blenderbim/docs/_static/custom.css b/src/blenderbim/docs/_static/custom.css new file mode 100644 index 0000000000..a2c5bdb3b9 --- /dev/null +++ b/src/blenderbim/docs/_static/custom.css @@ -0,0 +1,10 @@ +.blockbutton { + border: 1px solid var(--color-admonition-title--seealso); + background-color: var(--color-admonition-title-background--seealso); + padding: 5px; + text-align: center; + border-radius: 5px; + max-width: 500px; + margin-left: auto; + margin-right: auto; +} diff --git a/src/blenderbim/docs/conf.py b/src/blenderbim/docs/conf.py index 62b5dea99e..e3c6526151 100644 --- a/src/blenderbim/docs/conf.py +++ b/src/blenderbim/docs/conf.py @@ -35,12 +35,12 @@ # -- Project information ----------------------------------------------------- -project = "IfcOpenShell" -copyright = "2020, IfcOpenShell Contributors" +project = "BlenderBIM Add-on" +copyright = "2020-2022 IfcOpenShell Contributors" author = "IfcOpenShell Contributors" # The full version, including alpha/beta/rc tags -release = "0.0.1" +release = "0.0.220504" # -- General configuration --------------------------------------------------- @@ -64,9 +64,11 @@ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = "nature" +html_theme = "furo" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] + +html_css_files = ["custom.css"] diff --git a/src/blenderbim/docs/blenderbim/architecture.png b/src/blenderbim/docs/devs/architecture.png similarity index 100% rename from src/blenderbim/docs/blenderbim/architecture.png rename to src/blenderbim/docs/devs/architecture.png diff --git a/src/blenderbim/docs/blenderbim/demo-module.png b/src/blenderbim/docs/devs/demo-module.png similarity index 100% rename from src/blenderbim/docs/blenderbim/demo-module.png rename to src/blenderbim/docs/devs/demo-module.png diff --git a/src/blenderbim/docs/blenderbim/diagrams.svg b/src/blenderbim/docs/devs/diagrams.svg similarity index 100% rename from src/blenderbim/docs/blenderbim/diagrams.svg rename to src/blenderbim/docs/devs/diagrams.svg diff --git a/src/blenderbim/docs/blenderbim/georeferencing.rst b/src/blenderbim/docs/devs/georeferencing.rst similarity index 100% rename from src/blenderbim/docs/blenderbim/georeferencing.rst rename to src/blenderbim/docs/devs/georeferencing.rst diff --git a/src/blenderbim/docs/blenderbim/developer_guide.rst b/src/blenderbim/docs/devs/hello_world.rst similarity index 99% rename from src/blenderbim/docs/blenderbim/developer_guide.rst rename to src/blenderbim/docs/devs/hello_world.rst index 89e20e53fd..8e88985edc 100644 --- a/src/blenderbim/docs/blenderbim/developer_guide.rst +++ b/src/blenderbim/docs/devs/hello_world.rst @@ -1,5 +1,5 @@ -Developer guide -=============== +Hello, world! +============= The BlenderBIM Add-on takes a unique approach to authoring BIM data. Traditional BIM authoring apps create features that are tailored for a single discipline's diff --git a/src/blenderbim/docs/blenderbim/ifcopenshell-architecture.png b/src/blenderbim/docs/devs/ifcopenshell-architecture.png similarity index 100% rename from src/blenderbim/docs/blenderbim/ifcopenshell-architecture.png rename to src/blenderbim/docs/devs/ifcopenshell-architecture.png diff --git a/src/blenderbim/docs/blenderbim/installation.rst b/src/blenderbim/docs/devs/installation.rst similarity index 73% rename from src/blenderbim/docs/blenderbim/installation.rst rename to src/blenderbim/docs/devs/installation.rst index b413534d3b..06f24abb95 100644 --- a/src/blenderbim/docs/blenderbim/installation.rst +++ b/src/blenderbim/docs/devs/installation.rst @@ -1,28 +1,12 @@ -.. _blenderbim/installation: - Installation ============ There are different methods of installation, depending on your situation. -1. **Stable installation** is recommended for regular users. -2. **Unstable installation** is recommended for power users helping with testing. -3. **Building from source** is recommended for distributing a build from source. -4. **Live development environment** is recommended for developers who are actively coding. -5. **Distro installation** is recommended for those who use a Linux package manager. - -Stable installation -------------------- - -The BlenderBIM Add-on is packaged like a regular Blender add-on, so installation -is the same as any other Blender add-on. The full instructions for end-user -installation is available at the `Get BlenderBIM -`__ website. The latest release is -typically updated every few weeks. - -Like all Blender add-ons, they can be installed using ``Edit > Preferences > -Addons > Install > Choose Downloaded ZIP > Enable Add-on Checkbox``. You can -enable add-ons permanently by using ``Save User Settings`` from the Addons menu. +1. **Unstable installation** is recommended for power users helping with testing. +2. **Building from source** is recommended for distributing a build from source. +3. **Live development environment** is recommended for developers who are actively coding. +4. **Distro installation** is recommended for those who use a Linux package manager. Unstable installation --------------------- @@ -226,65 +210,3 @@ Required static assets are: bim/data/gantt/jsgantt.js (from jsgantt-improved) bim/data/gantt/jsgantt.css (from jsgantt-improved) - -Where is the BlenderBIM Add-on installed? ------------------------------------------ - -If you downloaded Blender as a ``.zip`` file without running an installer, you -will find the BlenderBIM Add-on installed in the following directory, where -``X.XX`` is the Blender version: -:: - - /path/to/blender/X.XX/scripts/addons/ - -Otherwise, if you installed Blender using an installation package, the add-ons -folder depends on which operating system you use. On Linux: -:: - - ~/.config/blender/X.XX/scripts/addons/ - -On Mac: -:: - - /Users/{YOUR_USER}/Library/Application Support/Blender/X.XX/ - -On Windows: -:: - - C:\Users\{YOUR_USER}\AppData\Roaming\Blender Foundation\X.XX\scripts\addons - -Upon installation, the BlenderBIM Add-on is stored in the ``blenderbim/`` -directory. - -Updating --------- - -First uninstall the current BlenderBIM add-on, then install the latest version. - -Uninstalling ------------- - -Navigate to ``Edit > Preferences > Add-ons``. Due to a limitation in Blender, -you have to first disable the BlenderBIM Add-on in your Blender preferences by -pressing the checkbox next to the add-on, then restart Blender. After -restarting, you can uninstall the BlenderBIM Add-on by pressing the ``Remove`` -button in the Blender preferences window. - -Alternatively, you may uninstall manually by deleting the ``blenderbim/`` -directory in your Blender add-ons directory. - -FAQ ---- - -1. I get an error similar to "ImportError: IfcOpenShell not built for 'linux/64bit/python3.7'" - -Check which BlenderBIM Add-on build you are using. The zip will have either -``py37``, ``py39``, or ``py310`` in the name. See the instructions in the -**Unstable installation** section to check that you have installed the correct -version. - -2. I am on Ubuntu and get an error similar to "ImportError: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29 not found" - -Our latest package which uses IfcOpenShell v0.7.0 is built using Ubuntu 20 LTS. -If you have an older Ubuntu version, you can either upgrade to 19.10 or above, -or you'll need to compile IfcOpenShell yourself. diff --git a/src/blenderbim/docs/blenderbim/module-architecture.png b/src/blenderbim/docs/devs/module-architecture.png similarity index 100% rename from src/blenderbim/docs/blenderbim/module-architecture.png rename to src/blenderbim/docs/devs/module-architecture.png diff --git a/src/blenderbim/docs/blenderbim/native-openbim.png b/src/blenderbim/docs/devs/native-openbim.png similarity index 100% rename from src/blenderbim/docs/blenderbim/native-openbim.png rename to src/blenderbim/docs/devs/native-openbim.png diff --git a/src/blenderbim/docs/blenderbim/running_tests.rst b/src/blenderbim/docs/devs/running_tests.rst similarity index 100% rename from src/blenderbim/docs/blenderbim/running_tests.rst rename to src/blenderbim/docs/devs/running_tests.rst diff --git a/src/blenderbim/docs/blenderbim/undo_system.rst b/src/blenderbim/docs/devs/undo_system.rst similarity index 100% rename from src/blenderbim/docs/blenderbim/undo_system.rst rename to src/blenderbim/docs/devs/undo_system.rst diff --git a/src/blenderbim/docs/blenderbim/ux_guidelines.rst b/src/blenderbim/docs/devs/ux_guidelines.rst similarity index 100% rename from src/blenderbim/docs/blenderbim/ux_guidelines.rst rename to src/blenderbim/docs/devs/ux_guidelines.rst diff --git a/src/blenderbim/docs/index.rst b/src/blenderbim/docs/index.rst index ff0669b07e..56f7bafd78 100644 --- a/src/blenderbim/docs/index.rst +++ b/src/blenderbim/docs/index.rst @@ -1,26 +1,25 @@ -IfcOpenShell Documentation -========================== +Let's get started +================= + +The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with Blender. .. toctree:: + :hidden: :maxdepth: 1 - :caption: Contents: + :caption: For users: - ifcopenshell - ifcopenshell-python - ifcconvert - blenderbim - bimtester - ifcdiff - ifcclash - ifccobie - ifcmax - ifcsverchok - bimserver-plugin + users/installation + users/exploring_an_ifc_model + users/creating_your_first_ifc +.. toctree:: + :hidden: + :maxdepth: 1 + :caption: For developers: -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` + devs/installation + devs/hello_world + devs/running_tests + devs/undo_system + devs/ux_guidelines + devs/georeferencing diff --git a/src/blenderbim/docs/users/install-blenderbim-1.png b/src/blenderbim/docs/users/install-blenderbim-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc0e419f96f7e02c26e85112acfd4be31ed104f GIT binary patch literal 289973 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

TXcY zrOXuGFJOgxTmXI-`8&V+L#tJf`tEwWev_s8Elx5#Hob`Q<6rx!^$$YwYWC}m+Mt5+!c2m61S5y~Top4o71Q}VwJ5Y$H*kN^P4i!*JlEM| z?`T()U_A@o3Vj_TPTu;fj*co4H+$Rl+Q9!0Oi~4N$Bf8ezbV4R%DBBBbtV6;THd2hb<~6r2w11 zZso>?Q|G~PjR6(kYtxqBowXP~v8lfq5TSY`1Go-f`|W7ie(qkgiKa%KHPM*py>*)V zZZbfnaB*>^;I#rwL@9242t*Ie;Oc~aay{kOHLI8R5h)7$=O?oEZq*V$RjbJ{YbRVi z*DQSPRL|Jzgw9e`>OXdI6pnf;;q5DrlueK|)z-ea z7N@EKFe1(}RPj7{>5##Hl6NF~a?Gjtr5G%aIPe-l1_6{Epi3pODWZE7_0IXe^;;Fy z)@Z8r6+GbcxCI2Es#jC&GvS(j=G`8F-7!cUwsc=jQZW!%qT4HsUb1VNYMZ->QdCXi6pR=uIcqoYc6x#=}IV#Y|Dg#Ki!oPTnJ>v$n(gW9IvbAZa)a!Q?o`@SZR1!l#k(rG`COq0Px zHJmrnEqn40F{ae&F> zx7Mn3l@2Gu4JTf^tP+#8d0txTbcwtDxBs|ccun$hm!0*8gYq_7EOVl;iAJ&Gl@020 zq`P5PXGA+jMrX?-xKq3=rYTo|1vh|>fE=;oJ3bSDp6vhp3Xu|D0HX#Fp9Pc+KyeJj z-ynEgC56GHe#Ai!3>JiYbXK2l`o)fjNco7-f$bxea_~`aXVg}mgMfk7SUD@hp8AvT z-)5O4dW>W)?{;fJlk9q|4GNL5Goebx4Ier8=HzqoqX)k0H7PuJ!s~_LF=L4Ht%Vw6 z`#L}EtG7L{_!N3=3>UIzf@P$Em96Fd zZVS^qA^u83NG_S|qo`Fj&qgK(`3rIJ6~*(pcjTBDtAzjD#&UOYj5+EP!5W!QbWoJg z+c_tunzQVaA=Q{ZhfWs935f^^T&I?eSi2!U$v<@e>bL4eOTK&g@+EcorU#&CI*gqS zk$(A`K`V-Yoxq6OS~l#JxLtwlkN^x*YzbMkf(i=@S$~Ns%r4eNg3AuE+-rx)==dC( zhDfOQm1_0rs(uS_L85RX()fS)peWnnbS}>PPG6Z}9uC-V@=mngzxt+zx_2<|-|ZT> zc~)k9A02IUGH>Lz@3xGvUe+7#-;Fsg%xflm3eS7=@JvDK&CR+b7fS?0{=b;h+P`qE>3BBrG*U5|YeS61pVZ^k(mqQbe~lvYPL zrBgl!Ty>%vLx!I2x4^L4Z_m8|sQFHz2&7tc zqs1ZY_*RvA@J(?>&bt5s%|7mzZ3)y3eRM6tY*QnM3SEO@$mxrRuJJAGRIPpLsIM_c zAsmSx9t520IrrMbF(zymPR!(zyvxw+s*voKrSc1-?XD(ysah5jHI&+dsX^Sx*aaGE zKEy2HuaAsY`vOBEOHu5Pac+o673*LtdD_k>UY3S_CjS@@8PY&Mhk1egz*%`&*Dk!sPWFUC(c+w$lfG{}@ z$-1`l{4KAi;H$|lj;JkX&0XVD*r@YIn_8_;^!lhwm5MAGh%^zLVjo54V@a{c3~>5q zeoF+IbN?$)an;B2I{xNqzxeEd{u0rRA$llXPVZ%JdV^v%rF{2!Jtcs4##WztfBZ)AJTen#iW+ux6$~{$B;s zl!be4#26)EaEpKn=V<(Qorw$L>0&bN-8xDw6!7(d!Hyn&f7j8WVA!Ew94VQPVjO<=1!yi4yTI;Tpod z8{Ubg!BX^AVGd(VA~WCU0lo-gXs*;q!l%_GHRUz|UU zWh4l(qz8^?Z+-gCb=9R#is9oxH#TF*Qxx&{!%39yxSB^-swpgkyyC`X?6Aeci_r3R z9Yt{!cin%gGVwj9m);bB!U?2F_PTtG(Fp>~Mdu#EnmI$;R3&?rl=aHItjmVDQ+6JD zy`vQU4&c;Wa`BpM2+fAIZ@&@V-mBFrwbEn1*4ER6anzp>8&tkpwwq|KN3e7g9MdD= z)~ho{wqLYJ4%}#w6tr{qw3zLahL^)a;Gj;3t(~$}uGMby62K5TsBjk(10Dth&N>S! z#;TqQo04>e9QzRh_fN9xJ)vcxJc&?oE7)?2q}P12*Kk9Nso&BrsL0M*Ho}7;W7ebgBCFx-{Nr3DJYEqClyxg+ zYt(BO_3KaFr`O+*-l6(b`^|pD=33H)ay9AYPFgSe2@S=htQ*sWB0KbBi>ie`&ui;A zxe*B{N?7iQAjVOj(D}Qz`?Qeu@DfM9=1=6*eXM|3vF#b8h|$|tw+uDN#eNqUc)U4V ztRpMU)*(M^vdtl9*^h*e()onbzp-;1xBabTzeHiB_*rHgXt=)vWdtNBhSO9)bQ&Y+ zCH2;u>k3k)sPGXPq{aj`MEpM`JEH=Ow^Q)l?qQ$p-#GqLZ;j=ora;9586cI;gUkWI6MMQp zjt;~SG$*%<$JSjvkVz)DJ9`!Ru{&&QTb#5%c2X{U>v+JA(h(_yBA;&UwxN;wW%_+tEKeP+xv3O>KA_Gzp9M9iG4WdG*ltC2m<{so;?O+6vT~ia7b(y7J|0X#` ziY%pHAO6?o?=(-x0G3RR{SGpW^@y5JL>He*ZUIR3aJKfX;_gBw$cJcp$ix~B|LgUrUK$4z483TkgC*3X}sqD)!XVbs-&ljDG?)PQ~3K*Qbz{9ka9AUxE^ki?A@ncwOT9d&K=^=PeEWVU6FnI zKj7O$bgyhlpB$mNb}LQ%B&6w$I?Tq8S7Ic{l8hLftIxO==Ic>h3M$ar!6>5HNLxFy z_fxJ7hH8p}krsKq%0v4K!tZW$U~VrIrIc#qK6T|Nz3yNMIgh1x7)<8gImfY=?&t}% zTz;h4&w7L zhg?B14u`=H(@){+b)k8vzHG&XMme-?Wvt1|kXI#fOTJ(%YrpSKE|yWyl6flOug>zA=iVITL=i*?RVYn9XpFiLifhlx967hA|>9V5rZ z@92@man00rLoW2k#1qH!cRK#bzQ9G)#IemYCii2d(95%~Sn?zD;Y^q zqxgeasY>iqcyGK89IF#wWXPamQfWudmq^@7VbPW+)0u;L!d|hp3CoRl(W2iwPfzE^ zw}q!$i!1%qbT+@(dy)EHh3jt%Zvb_J+sh78v?{FWHUoqcKvqJiUvbqYd{H7$K%8te zMu+IeoQ4k%TQp;-@-mGeS$@Acb#{(-@YxN#8(<0D3kK0ZlOK%Fq?W0}nypuU-Rpnl zO)+EXl5SZuUk-fRp#zhhM!j;9z$M4V2;i`Sv=Jl!T|v1brAkACHZl?3-U8cMZA4)| zaVS+*4c7G1967dUD2(s+k$PB|)zP|iHSOE^@F2#nwA1s#_aK4rY?qEI?*sL;7b*AG zEzhndSS5`Ri$L9l?R;ccPu6dB6v#2iMV6ZwdE$%N>P(XENcP`S3Yg2Xg(svci8GbZ zu(~8BY9`ZJ3>|-qJAKJ#bjmhJ3Tb@|q#KC2rS9x1+ia6#A8zZ>!Or&nUhQa;I=U-N zq4)P$g1=(QtdL-1s~Uz7@vyZ42<8ZzLJ5L4PxW6TYQ|!DdHrQrTXUqS#{A+J2inq#xUYfN4sw|aIm~Yg7%s4`6S{vbnQMhCcM>X_;BrN9ER??7f`0FpZA(Th}x0B&%jRFx$K@>Idxv`YxU+?d!-(l~s6Fzp{h%BP2D}NVYd`Sa2mqt$ z201iIUoo=@?NS0zm&z{DHn`~WRguM3ZN9@0fCs*=`o^Q3(oI|ZlS!7B=0|3v{rnhV zrue^UGnB^9*}1vnEx6wF&lP2jK(=U+?X};k(}cV-u11 z9o1MYM=zobuNe+VtEQ&61VrIUm{<}_DyX;bWv z1%6|Gw0BU8h%05#@!T=Q6KH;z7R6kMR(C4eS^g@rduB)OTc)&SpdahwC7K1#GUtx~ zv-RW2yBG26*5mc~{Xz{&go4gatq!A427O1&7$|8oJxy3qNS*^k}Y zj<=v0O;Bb401@z@RI)flQ6g9jQ13j0lm+OaydIbFK%4G!X8{!~$t5s%<|gWW_kG&) z?R)(FVePuo=h5Q3q#N@Z&3s&7j}-h@*8u^a5%9WQZ);np9qjii`}@v-2hW0`tS%HbXO3t?6pZ3H>*UMbexU@+QY+G9lOhvXA~` z2HJ1Oe2_}@2W>4vJrJZMdyp-Er$eQwuNvF|R$b(fj>;jPd+nj)k6pa259V<{95#M) zb{R{!=IXE^Yi_P9?YieG|COMjmHwzKGB-ek$W%f;l$y^^v0gI3?&PXDqjJx&&w0Qt zoiHLMVB5UX=PPQprD(V@vB=eNQR$7?>7X5o)nRAjgVcTtu{sSGd&YbE+x|=fK7)qq zRdkKoe{az!oVe{rCSP5_JzQ1xZ+hE#lK9+oQ*6%K`8Y+Fun8ZXGK zd3)kD10i1gAX0|&?a}-FAL*l9=C&0FQVju7RFlD178x#i^%YHm>cW36bz*fK(KVPd z^>Y%|xISn&707Q5${9bOZJgTOgNFeG;XoT)7!VC#+ceK2Cy zszCy>!MBwfJt;g^yO(Z>@Lh=Hp?nAJ?HpKR!&&E7j@HLt`-SX>S?Y71o)Hi_Qo;+l z8a$1-Oqd0R>zTa#ZokS{j%1Mz&tgVMBW-qsIydU@Iu>8-13??goXaWDyBQ6}(tQQ? zu+-_SH1)k-u)+59H_?QuORIvU1${BTiHvuH78MhSN-y=J0I?a&3Ow(guC|&-+Az@#~5tDfxqK;H=sm-dQcm1s|#jy|; z9_KTHgZ`!bSf@Ohyb%8QQDO5>uH5Oa_OsYWbhLF;Lf==4zs>yb4whR9;E`Te@@O)z z>w`~Yxz+-AOz2w2>)-e@Y5haHeji)El-vH@mjwb82+UCy#!xpp7}&|q@S-Tdbfhqu zlo4`Nd&8_s!j^_nr%X%tBlB9{H8x4iZszP;$&Mv6V&2?T-6q}##4+TZ-OkjW6EQj9CZ_fLQ{vGMy&nIJ`m>=k<(= zIIg-T?I0d2g&Bsmm`}?Cqm0@Tu+UZ8;KzVs>pjJpy|K(Yw=Cy0NA5-5?wap)X6f@R zPMp$@xo%r&gEjwv*-))rC6d!%!?9K8@!CV5-K$|kkURrrZ?^1-9E$^2L`>hC?$A=@=fEgF7m3Dm)yPJI7Npt=1=Z|?}I8ydyY)g7l zlHc+D4VdCYffYvzG$`=tK+Dv!uY24DWeP)Q7$C`}Jp?2kZ}pMbNxu5_-w#96R=}MM z^@Ioo<;2X*?YM8$X9WR-_H&{3z;W**r$5euU!h5FbFD`%|CyYE${K)8m;f#XgXRyU z4ggZ>=NcED&OPnAPlNuxXyG#?sP36rw+YYAdtdwXG}@OGY%O-+Gg9esX&FCk0u{x4 zooikVHi{B3)$?_GL*2rK#S4+jXfr{z)odd@28tPBkD(>eHBsn>uK8JKXz}FRiNt;$ zdS${RDb+{t4~|*9Gz`~F!r26SCbfc=mK|9JDw78nS%}GSg5mAi4t9XW87M$fey0dX z|87e=6If`lR8c8*KHH^1XJBK=k9se^`CGuMRtt~W+>l|nsS1UQrV9t=k3+a;#>G%5 z#M+i8ex;IIZF)>u?zfD+LvN$pA1i1L{Znl zjP*ph>uwfIVfJG?()@@z|2ZLmA3WdpvTa@~3L+oh%(icQS8uhfFCkN`fg?Q`(u{w( z_!_)HoN z1LF(SboF0BHdMN>nHA33Ro`~W@^Fza)_b-y46PraYRshc^gfpQ<$(S2c5=5>cLvbc zV~Y?H0?G>1-}meD{TeXsB?9bLsB9aUx^{wkWA$#felr>vCxAj@w$`;3IQDjr@~uSx zfz4~!tT_cuLc8WeXn-gzn8pMCYd84!9OiW0Hfp97y4#=c+l>HTq)}^$59P@d-`@ja z#=+u#do}kWZ9=W}z3YSh{nflNlviKQjbT0g@Eq{Mpz)UOyl^HC78-Cd+Pz)$@8a}& zb+Ndqso6tLaK--z{3k4I9hi`w8&zI1yt!nyv2k%J1FQ{L`|{d zDYI$*P&Q;@Z2k$N>pA7n#3AIs@?HAjiT7OG6msjoH~!i~x0pFZg} z+s_S1f0#pu>v;aXADUBCFeb^-$_0c&c)2p@Qu209(bagc*@dL_s`{o(a+K8Sj&ZDe z;ly4;d+)BY?*Mf+W~T~I!4kro<&!sFd0_|XdS@%0J>%51r*pSn)skQpwjHr}`@?gm zqe?6+hqK`G-241X#o8jHEX}g!izWz!R&OT%=Ut*t3)*fWJzL{%y_qsqeZ$paiC+e* zs20;bXXfpq1HkX(_kbngD(1^VR|pO#kpgW727={If>(RNc|PQ7VcdscPRB|9v!l$M zi`Rh>#XIVl4tc&6eF{o_LsQefnr#mtOXc9?3=nY&&Vq7{negrcJ3Wo}V87{QcVrqSsP!oIvBBd3YNY8Ob8e z;~!_~+<}g<$kh7yNiNf*Z^qII&LBN&ZMYVw@9(Z)6HK&~8#VMWc?Qm!HLdZ9Affxf zw%OK}-OSV!Xk{uu5M)rd;l0kdRgw6 zWql5oMXR*Wc6qNNALw=64i$|5n<;h}t)1IUGK%hf6noZ`6F(^pA^#?4cf;@i8luX< zy*0sfRzJ*MnubGvz3}@buU4??2MhPO{$6`5t>{x1N;0VE>#w4UQYfD&pxpD1GFcG5 zgMDo~U;0p{x;=O3p8YBgjoRd-$WbrXu?5W|hdrr9Z^}dZ5;I{?n9q3j4H4`}!Vk{% zSn(oUv)_Xu>Z*LZjk4vAj$dcKm#BIDxb-9rk*r$?!Icl(ib=t4;bU8j`Zf5HG5I4k zP8c`jL!vC*FsE(tElr@liwz`{1s4(RpX$GFS~B3{9H|`s{-TY7PE2n~@uAM&-``z) z97u>Fpax;{fY8%o84hjbps{B1n`Ww^;%5O+wNQ?gMjr z(|?zOj*X;I{F|Y9#|CkCh-w4nGfB70#a2{vdSgt@=Qb|n?&v{^f_LU6y6tU$_pEqr z;RSVG<$Iu2 zlBSPK4~kO}(=6XgT=?wxGPmKoq~XvGCrWU@n}hemIB)DXU2B-OKFj@jB)^r2-^z3e z-PTMPHaQmsI=?)FKD!C|pa2;ZJ}UO|b9rjZ<&)X<;{`rzv5~qs*P|Z0_G=O7J_;vb z=_*n!c6c85{pQtX@HDo$Vd(7UCX`LIf#u`0@&4=elKRq49A z9NpGw!@iSsKD8|$riRC`LE<>_G3FkJNaJmqoaBhblOyinx-?_t(&Nv>b-h{*CW3JJ zr)Dp`hL>Dnl#Myt_Cp4nozj9s3Me?zB8@asLw5;C4&5jsb)>rykPhhvk?tBn zB&DP~1{i$zJnMbe_pLSOEZ6a`IkWG3U)L|c`q?#RD?OL#$e&>io1U~s!C*%vcjHiJ zlOTN&$!O?u40Q0vd6PkfAToX!Ki)ww3VgsTa7W|p{QPm6O8P*>qNpRyrwE4OW{!j@ z70#n{=pe*#xcsjq^qUf~50E>G=QyW3LltLAK(?gAjWaN_9(}wUx+t?Ac9~ts?tKHC ze^0SHPXgrMf79dnR8sO}A?P1U7&M?xEG{~B$ODZ-1bP}x#$+2lK{9G?Nl){mAqO-? z19+BPJ393K239)@@J>@*t_M5c+1Z&HII+z}!~o;kL;<54H_!sP%$bL!MR>qdzQRGi;LH@l>!Biw^Mo&3@&_2UK=4B(Ep| z77DC^-q+hjs+B6DS+5~+E*pu8k6DXWGWFF2rkz4n2G&E;iP*?Xoy7T7!S#?D)>FHl z$!l08-nH}g+7_<0&c^x8SDY0BArl^BvZ*sX$85M!S^wm(Jh<;haEBDrbM0d5tmH6| zEL`I1o@b2`pkG+>q<2D|Y6TzdG5p;<`~eQ(F|Sb7kF>X0pS8Inva_AuEC&X?5xTnz zVY;zW1B$*7a&) zkAxf(tu%k`pjaH2v@2hR@WD{oFzyq^A8%iG$fU|{yx8Pl7JY(|K0Y3KdwzbNCSlm_ zTTh#KEf>VQvyaMu|3K#-@8kp;IkjZEp{Z=y;R1oCEOehCDZ}XI>l#YRjr3gmn4^~< z85q5lm4nJ6pr!+H`Dhd@*y!2pdNALM7a`nLZR9!EGezLfSgO2?JdZLB2x(d98~9JYmBHE-9Z^Y1l&@FFsP=)B*SN%YFh z=;!RLHhH@z0LfS-KZHEwzd;r ztRu{1TRi1PD;Ksnn9p4sljf)vJRbad7kj@#RMf=r2V{vQ$T0w?j)sXzo-0ZE z%^Q-b?K&iR{FW{!CHe~i2XHHVvtXWEh>>ec59Vrp@;yqFNBLe-j{nAo zX%L?w;>t}d{+;7x$Jx!DrD=)wP$s=BqQqJ<#+O@)+a!kISyLA*riYL47UVzBXJ-)5 zi98ZHY;A3ITz0;XMfdp=l2K*B+fLWmg9@Ftm^R2~rsIK(GQEX#uU1D0zlGA;rhj5W z{gwYJT04Ke<(*l2avJCC&w|06rN%pFqSQgX(W*?<8ZW2_R<(f*_}42M3j3YQ!9z26 z@S(C!;B%jxQJW00Y3KHHolFpjvB|JePZ%lgKWzmCYYtqee5H^Y0v6ZTHPEgdc}eo20_t+c4XlpG0(YQ*Jb= z*Y9F2JYZ7r(8`CuxzbGPNV*L=?`09f(y?|92nhJQzb_}A(+>c3vd^!d10$om=w~oX z5|WT)usNWit~_-UOmp4j2vI@d60b9a^l^Ppj z6v>jGk7nw@wg_CytOYGC^CmCWD;z^*Mz@kTCU~r231laC13q6M;X0@PZHy%;_4;pW z4?pB(@ZgY5{VvT)p0=gz5PC~4rOge|W-|9!ieDR%gq6zqX+(L+h+20kmxfbq!BBqs zC10+OpjU}ogJuy*KU5C%T|X|)cgEPdK+`hcPOdkYlu>CAuB4U6DJmrwllyp< zYM-2@ZA|*Vw)jTl>+2hsgt*Jt7$Fz2bka@3@SdMFBreegI=KbMTb3z z-CeB#1&}aM7gYn`MGVaCsxYXE`>{BDQI|X8VK;7*9?u^D2leQ`%?j1#0v~J)w4ZYe zdD>x=zL22@`%p~f1;}s^bD@fmJMr4M)JGXr%9UrQr=>mb3)8QDJg(5$woL(m zPt3LZ2}SloK>mViHsF2bOigq2|0Ivvpy{rRTM?T%7?qaDqh@`x3tc%u?fQ3}9SLn} zx5Q5**ZWQNI!4M#g{VqS%7`7q>PkvGdM&=?cl>~xg#Iv3;N?V4bJgr_2^;n~Na|9q zw#z5+-W}FR_|cy*T{9n@<`~}XL}$HpxsZ4NJHN-2h4N$+GCAeZDc5`NBK$EfPNQuz zRwi9gdAf1=ec`vU&Y9m?RXjl{Zc-*M$9M&rT$ElHCo9TAr1N5F6OmHBi?;#I&s-@K z>*S`MTTP7Qc00A#iGs;e>$Zfd-j;WOPo%I-XVqn{&7?*)c{iiHI4%# zg5iDWw;bg!9)rHK^3?JEo$&tq;CI+gjlQh_@u%v4*}B{dT60~Fd#NoqhLTj>ImRq; zoy&u|ss*h${koF=fVkci$+*)g$5Wa0+k2z4tg|fpPD{@(Xgy_18uI4P{IL;F zw6(K$2rWj+u=V=e69tb#BV_^+dBo3~HNT?~sp0o`9nqEGE9U9g_YvYl;=+A`%DEhF z;U72RPQ$sz>_b18GQBHf5y~pXuVIKmAg{^H*3RSXCuOrxF2Px`=3_!%pqguvrTi}* z+Z8@oIS-Ixvx0XcayuAVVfays(R^`lBg9I?|CI8j6F%E7|FeG0U5~TSwetj?L5 z-Mazz$-abAu%>@C2N5H4jm}Kyy2dU(LU#|3yv9aq07^4ptbi^$0`w4W^eha7A`NMW zZJt6zF8nW#4d!7uS9WE(Rf2Jg6l%hl7)QX2My&tXtgy7!Z_#vdayf=K9OH@rzl_>J1-b7ScnZK?h5XiwW|1Xur64B zqlp&3w(VJS{og)t*mhbC&<~>^)VcTa%~IH6tJfL;%=c60bU6Hjn0R1eD~Zb?d>~)u>X*qq)v zgPnr|CoW~3SMo1cvC1Ljns}cu%T%O~ZfX4oR-~Pr_WeJUJmOBEthmN74A|U^#Qeym zXC1l+4^;Hf;qEl^5of>+s-j{tD;kQKSiqTcw$rW9>0gVHh$aaZpXZ?Zx#%B^ zV$km%iihFEWSTmiPFH@BQPJNMSF31SEN1FP^+vLIF*qvYo?j84=3f!utS@{d#)JYK- zOg!YnxQM)uG_Lzut{(zO1pqNnGy!Y7D+oyfDN0mmQ37E1#2pq}sDQRa9Bp|kH*6#( z0etfBVz-xRo=*2*B(f$fNfbK>>N(<)*zf7nn={H^7m1rWpj0va0Nea#HAs&BiNVGQ z-Vk7Ebdr{8mMZYw0`hsTBz*i({dZ}on@daZHfV2e|JojG@Mtz#wBh;^zNTGyAPTIa8fI;(EE1p z(h=LK%_e!vZ{_{4%W{AOh~H`BSU(sd{3(`ei z*6saSR@$ZERj5k9rat8TmmtVzPuq#OUH4BMk2~{*O>%vSR;h8RI2!uywYK-dr^}vB z|KWZT)`)=N`KmQs6YiZR9IN11mc->rheKHQIBo0yX#sY^XNH*P2ypc}IMzigqoYo> zA>(Z^f!tAhOQusSMjMddNJ#7B9}K$n1_I5;ZB9Jg*3Dkfv>q@$hNIuU|F==?2sGtU zrhi>UbNLqsi&14&9dsB+^;H2x|09dQ9Bi?4n=%O7QFM96mo~2i4Mbg^>$SL-&|*j& z_fV+*1yFqf7D^*# zTUzW4goC`0uR?3^)5Z^osE4-)XuH1h0kvYtfM&NPQYKuBK+u zAI*q9TzdV$JLo@D^36U$$I zCUUoq<2GFd$ph=2{j}Pk*q8=<{t2YOfT-TjDp!e^3yZv@k9XEMqK6{uK3~jk*%EJb z2BuI@|E_l%+^nLhb?SPwa!TGn;hVJll%2Md#BgIFCkb|+=zFm;1`~r#vic3-{mMoo zU7C^8jzQUIm9}cG6?D1{I>!myoZKu9{B0@NaV3(XWDa!+9E5QIb=_cfE73k*UI zNkW{X!y;hGNjG*mx9c3w`S{EN?|L}I-_tv{kpX+m?%cKeI*7i1L*_f$_xVcTUj1?| zz!#<7J;BgspqXO)7jbLV8hl^OObY1 zgN#l=Jft5IXN&}uN`fez{aE-*CNmCGEeO31UPVfNmMHtAj89JU6UP*aQhXN0e`*j8 z^0dog%)l!oo=yd4zJ$^Dz`w=Y*xKiI+Gjka^Y_WmHQaSc`oOCQEEFyiCmY^dtxEzg zlbfGYMX^yv)#7JKAbWXTFGhEdByw&Gp29Q6snsjACo;C>-nWz0za*SdrOC`AS}uDC2<8k)S+J>1rzHg?mOiy zu70;eSdH*2Uc!dKSu5yJ6mKJw>B29t_DLAUAXd~N$7=Rdo{I7(lC&clM5ci;OjdK1 z&@lW9a;c=u0R6x*0rl&G;ri}K`Vr>L1p}%Q>xskulsU&hH!+^e&H6+Jr)?pgSsA21 zx)p00OYlfb~(J;*W;B{mc=?ZCbaoBm38623bX3oe7`E%**Wa(*T|1*)@UBshT{QD`Cd2r#IQ6+Ou(DS%+K+{!QTsj$@ZweWT zcY;+^&J!9XW8$ZvrS6Z0y)C0(Jw(IcJ~`Kvo(BsNtp^>gFN&)$6NlN1F0T9IxIpq2WX&FJ*dB$v;V z*#{9Hug?qXOV?N1%}>I=zvb|Eu?{K)10^S0_d5^NEj-s6YDi^u+KqWJpF;>2A=cOL zy(xr;A+zgGEOCRu+vT@YYsI#)c~WZQJhwkOEDPi*S<{}qP@H+fw1W13o+bu6qXm(t zBQG|$fR_VrE8DLUiTo4A>v=mCh$}nGg{NZ}jNd65Vp@Vhgi*G|sUSr#UsmFCf|<;j zCCh##eVp*%6^JYWsu4r{K-vP6fOEtZXfEYwJFjr=y*}R!2*O3^HX~E4Yj%ba&uBEC zl8dfl?R_L1X4WlLJQW`pX+e1JU2hF9e9q_Y43m0Fm5ub9@(zT<$&vn#0Dx^{mZ`ux zGBp5jzZWc^(~uABJ>W=y;T_%GqEM)5)BLS8+A(y76j6}Yu4^?oh&zY>>&rPoh!%H` zZYgSLH{a=CZ?jPsW-DYh@gOZvf)D9fs?;bl&O*fMM;HES9YGCOiAl!qLAwQ+mv*<1do+f`0#q6=AV>x<@njNk4n0!7u|wW}I?p^~%Is<7*E* z69fO0{;OPPtyPlMd0#w8&ntiKqk+9{)%$)O=Vk-L@Rcd~>P9VFK;p~7N}kZ(E2jSS zw&lhr+3HmB}t4XGnEzM%CdT}&kdRq7YVoOi1>}SitTZMKRl^kioFr2 z79hkzp->YZj6tVDK_MtN`v!F4Ybk;Y9kVE#uK_;(ry0vV*wjYB#;u-t;D+CyuNS`l zo9_z54u(t4W$Sh?#k*p}uQ{VdHdDXmfW$QCrE3Xrf1yv%)l^Ey%+Jk(FH0r`x)n8q z-rCy2c%Mue_ir+UEES4FasN6`eAry*=6PCwns+`QKgcS6cO0`erOfMyAE;GA36`$y zt40vmDkYwS%V+q^8%Si=(1}l)!kz zLCTwZXJR4M{X@d=sGZm&c~etUiVu&7!+_@|)IsoF1Puw0UmXAG1!g$(UUY}t(kMer zEHB4^9cbEq@Uvf^&jzmk3D*_m70VClW4-fN8?V*iQu{NW71s$rA*FJP904EnpE>zH zw)bH54OVzV8==BDsf`^cOXS;xnV*-h^HU=$!ra&EUXlYP6J6;FO3}>i`R5$%Ye#ND zx_iB6QwMsrIR7p|oOAD?H}1jhWe^x{UK;(|tY0PV;N$-|AV6A6&uK%s(_nHlc?s1lzMk_-e?0SRU` z{nU1SJ4kQq0aVk`dcqq)ls~|3&@uIywP~OZiX+>*`}P)O3ge)MBi9)XdF1Q&V6WX< zciyJjwzkXVG1X~qk+s&&dEI!|Rx0xnJ0uW_DwQJ<(ty4jAI;E?2hEo3ovGoj;P9{~ zJSW=(QwsV!OxjX{9qKh#5>!a-#2-YJM`U}i(iuF~1;0h4n5(5cOdWCZgBVt~7H;s^ zN7nX9_*%;8ZX_W+k!)+Q`XRq&yFgDXHy+13JbC(H%o#3G`%uoWrr~+~v{H7O@)gAy z1I6YvbERQqB-D#Jjp}%xeHqg^H5@LmoSa&1Y+Mis-8EEEc4XAEHquVi(&Z5#>rCg! zq8^h+=W0I5===@X847&4wtbL~wj1Mre>q?}<0#=Ui0M%D?tX!$;+ww*4imd#p9%+| zN{Cq6vv>*KCzutGPS49IDackjp)V`7_OLIgQ>I%{_sPN?TD)lJ;akf!=jRZPqD&HMMSW?#Z$l~H~r5676JEd<-t1Oq=(?f7*I=N;nlM z>K%NG^VC-S-iq24hL?xO>ioMZIiL&yF_8{7vZw|xkhy+^s0s{4pU@sDT*mdALvWCI zhHLg>b!Z(7T#uT}*N3w+_>;59&a2lj8h5dHgnpk~wndvJ?+-F(X9&~ol|IT_ApENN zgyQ)oyV3^D8#T3bvDR097pZNnpj{Ub$!QAM%`pof8-_4#s<}l5$e(lI@AXY4;(f>& zCx5cKIUVh`mxRTjcJEs@9eJ9l#WoaTEbuYk!?xx9YgPF|QYrHwhC&C*UPYq%G(I|k zLPD2Ee@w$BG2(rHX_1cj@RJzS+j%Vp2;EiNQK-!~Q*14HF=3dQnlgQrIHf(i`<0W% zcIFp&B~$)#*TF%FjSTB3TS5YR)dkP@N3au3v28j_%WmP*$nh>dx;b$wAuM9ZcYBw4 zVqCpfwPZBRopbAIOe@)2b@UPmFj!9S!=V{|aPkoC2j^xIUQ*H|eA|gb_ zuNI17^juquQNEpqK^Q8ssqa}rv?9!gPa#lVMEW9^%gl-iPElr1U_iuv-*B$cyrH7N zTckx7!L2yijzro_$=!i>YgMOF%BAkb^m`xGJ#eKma zGZcq$wVVItagwSEk&e%h?v^~Bhsm+(hg1qp6u&D@>Mq`7;k04lRQ;rp_LJFB)_1L=B#YjmMW-n>Pmf z+Ue{*pL}PKcHF_2dgi-i(l_qc+XaJvM2$%_9=oYbDJkjjJdbts2uP7Xr#tzTo}HcT z<%E{Y|MqS0+Mf?aC%}G9et;E7dv#)*%T=IEkRPh0L5twSpA_8r z-A{YCh5KN#jT%kBOP0kqILCYhgtzE8aQ8+8>S0(n~<(} z3U}>%?NTy^IlUhAs2%#)ip21HV(5fRo2(!nLcwjN3pZ?zaQh=^c+QJmX0XbDRqKB& z3o(cEwN#>k4WLo;yV(0aF%j#-q#d2Pi27rrR{FfvQL|7zNj9+!N5n*=Uv@k~cwEN& z2VM7|=$`RVXuZCMeA#p3{ zQzXuB0pr<8F#4&muW@5s3}fmvOWfXQb6Gn{hf@xbKlRYs0WA5v*gUrKzRTQ9jl;#$ z03SA7{p-w@lIJhad404^`VNampp^LL+f#+AVj?DP5qiVSCXiOO434suq}h*3h}-6r zd^#iL9_3f$hzMCoxcexM|8X|mpLSSJD_Y!%*S`~NlWT&|cq+?R%MoEA_#a&GgAy_O z7GnFlhAEP=3h$n&e7iTA&=e42NTSVw*D7ddA=#6(Jd!PS7Llb!qOCbR7JjSf9u>Njb2wzu)c zrhwpydtL?vwQtl;4PTLatheFT2_1ZD3xbKjOQAkE9 z<|1JC1p+#yLULfG0m`>+ z4^ytB5pp}&;(P^UC27to&7B+bo3T2>{l1{gV4fdepS59cAP$YkaVh~#zQ#;c~7 z;_hdOGluwZ;WkrwIB<+T*U*CBwZW^~nSXHA3`LuDTRXZo;Na<9ctTvA#u?5} zdMH4;JNkIiP@WYg#VX$a+wpJlLupPMOHLb^Vyk>kYfS!4X9)c#A>z{Y?1bH|Pt~-a z>Fm>^3v_-6w{=?ijFyKO>wRfW7o-;h$~9*(6Qa4grnJc10-YHAnR}iVe;=M8+wHEb2d(f3$;rHelq%(!jYK zw3;G(h`5_M*TH{zd@}%Rkd`bYfx_~wV;7#`{@OuWoP=SDBye!4_Hrq*EfWxWBgI#Q zz1zX+2*Q`hBkun>ZqoMw{6XyaRt5uZdUB@3`xURedlrpd!gzD@1fC(gGytomWwvU4YR42vV8}(A6%(9PS91?kW)XcA=99&@K%y(EZz{7ui%^QcBW- zKy^C$YgE21jtA3a0?{$S++VnD>YJT0ND%lW7u#Pa9 zso5uGACp0%7Q82Sf0c^;0(8Y~xf7hT`Ui6#@wNx59P8Twjzt=nvgj;~Vdhc=c{&gB zL@A`4yvPd&`G$Ux?pW_Kt2$lZUQa;(ZZPPE)cOROa(~hOY@s0>!&qNH|6kN6^DgFp zi+nbSyn6jIR-B6Ya^q%lUOw~ou?Z`wudN<4@Xkp>_=VV6l$h)Ys|Hq~;M zy>%I?@!3{BJV$ML-1>(Bkd2~!qdsXo#b06=ML^~UlX{t?BmlE_4J7S-!=4cSIv>0! zL5VIWC4R#LPww$Q5*xuyi@~GHE+Y+Y?v&%6UTZ?z{DDvoor_JO&R>+zGBPuJKqUi1 zJwbWw4OsK2K|^O$3DciOMT5v3=F27{;$gs2x46AEyky1m4S86HjUU`R$N~SJ5`M<# z{tigD(BbSZK-b?;4xlA8*Os>{idGMyr*lWUym%vHC$$3SG71jeNR0XqBffH?8^d!4 zer(;WF$`fzB*l!lEfhwUjmOG~i^Eriz70c{ui%D%{bPjJU$- zIA7YSSfL(0(+H4YDw4Df{#|1HAhGBRr`k?2wKQIsjZg~PG)e6%CNplS(Xj!5+a=jp3{zY+u9`pA(XmVUP80Upx^zp?pMNi4L~ z=qA6aDv7tsU}^UAaA)W$8Q`g^8zc~pQ)nus0@*d}0_&hE zXsznsb(JfS@Zb1Of{{8sLqkAoPfjxA!&Cn!q9tz|zKrqQSVpiUC0LUdLw-(ukv|W0 z-!+}}c;UAlN>OG)BC*C%Rj$V~M&G#OSPE%{Q&{$TB<2XH%0Sa(OSGX?pPA~NC2}Gt z_4C*WI0^Y@oI!+1?|@Glu*B)^_jc&wa6r?)<*mMZ=%Q z*{^2i_y^M7AFdhoJV-G%dlb`;PQU_?)eFU6N?IaAP(@B|o>WTfr2kU3dSm9l$#T)& zug%nxgQG4uG^CoNp~4o}5pB*U*QYN7aS92U^`%xCI(%L+MZdW|8S2tK>2F^msai`a zog^n~D0R0j4B9^CCbJzJO?os8m9!>(mZMRH8VneIotJ*Ar2GD28pyNIU4dwh=*pSx zN`;kN7}!XUYjaTL+t<|_r#=g=y;P|HOZ*QQ^pbtuNqy=YndgWMCPaUWl}Q3MPZKy| zKMkFGw~KP3(G$69TA+kA2f$d0vOMX49e*>qrkv;00fC#!d#!eLWDt-%@Jy(|zM4DE zn`6D}-9I?ROsQx?%JJ}LCZW6qcjfapUu<<|e-S{x!#iyGBc<~uCZQhZoG5NGd*=Ac z$CI;?ZAFo`xG+tgW{#)7kZT*%^i8ao=;y3txW1 zA1aXpW|N;!f!_7H35sFqVikG>EzY$~H~6~nY+q(0T?uA?v4Lnbf*Vyd&G8r}Dm)E6 z8+foWZm_}d+ts8{Q~)cWUP3~lQG3zmX!vHpRdepYe}i`h=TZ%H5@hD^kJdr)S_}3; z3j{z<0@xC;M1oJPl|FkU;ylVIpz+usi{z$}`+cB59dJAvIyGaXiDKzI(m>R%sStK2 z+T4cTY==96{A}Rza_uXd^3mK<`_;vppvc|IR^kjHXTjN&7#@R{OYca_JeOQ5p=q(Wauz|9fx2-oxHdWJA{ zETG_K`yFqb#Mw@syz*>*pdI(nL(H>V-$XDcPu(^gZi@>r;GOgrv(VQLuHdL@r%80JbO5iG2^;? zCbjgC`mupv6u%$_KPkTc?=m?E8INg4TLrdbTjRS1I;*Wf!o!8I#r%)~wm%qHOMMGu zykAzg^|15wFp*;Zqi^)tx|#LZKa|fP+FgPX`H|jn(?iU9V;r;$C9sFGZu{yspeSb- zT)8%+BT#FJoueIJ>&rvJf&rqh_Zp^sdp$TF#RyeAP&0DS9~+isX%6Lq9cV*UvxWNm zm~*!55IMdb{y{F8Z9)ip#80oR!XNRqyM>)POI}>^sqZ?6fCL!xs}1g9g;5brF+2GK zH)GaUp-a8?p$YW3zxGedn$b_M=WoZWzw#3J#A?!@ zcXWHPKj-^5@2cmBk9;`g<-B9ZJBxd7gH94Afa-@3^@o~w_gx>kL$V1jrW3Fe;Nu1V zKF3U^uLH$vpv9}Q3*81~1c;$c~E{PS{1{m4>liX49d=XxVPqr^%EHk*s1=$c;>in<-&U|q&GFPUcSSg zdr<}V^ihSGE~{Pfm4&h8yUiJodq4S@T{Yb|kcAQ4Mo z&2~YvEoeh1nLNY$oV&B4jt`~{yn)A2py?>zM*Sf0b~UXAS3|Y^5p^=Gg432m_SF<(Hhe~8Z>!y2O>58CvXB) z!?UZvveyd)zIK(|xQyO39ntIu^cw{2kWuHP99g%R`0%h! z;yp%_F_W2qn>V_V<22`=SY_LZlK-yZayMEm+Q2T3gV%zp0t1aHE?P1oFM&&u}*fe911T=4UCJ^?2%JC8ZVv@vI<3UX-+FLnF(2?W{5RE zagi~xPD|qv(26tWzW;$2uS&tK%z8*xgtcb%Bmc4QyHya{qY#i-=W&`sMlv!PKs2fjU*(BVPM%ot%j7($e`F!emYg zjM}|fuB(=fl3yzaSYcbP$43E8zT>SZiHygLpO9j?mKovfOy-uJ4u0{jH2EQVb#8<* zt^JcUj6LpL2iLCxOdT zW&meQs`@ieen(P9zP>zPltRww4a3GDXJi5$-3IczXT6DlknTe8uxc^m$u1ZIKXJ;g5bfrFdm7iS@}d+T6RJhEFtjyYl0jO$C)&ed#<;oLTZ+ zedGcbA1ol^Q4R0iv*9`G-eA$?`Fc^y;O-g&aW_xvAAvCpMMh!kskD+M*7aFOc}ap= zJY_Z(6-Lh*M=%?9-$2fJZrD$rhz#$$#3II31{AU|BPOmlFj~+1&p++bgy5H~cHNZV zoSO(Q?;!a!(2h*zPfHyD0lQ)8l(4M@yjnBvfNVs&azQ(>pz{*p z4?ZAt2G-zek6j%?Lc*2mAH+YvBC4V>0~FxECXa>*Eh_d8w9qG}T?KGHuE8+=4Ro^9 zBmX0*wtYwEA0SEG1>L~`R-f1P2E9Ne^B#~0?N=bnCt98ZklNhWbl9qnovGD1uW5(-tI1vYtB@$fBoytnikKC0U=kbrr zbjob1zboCNlB(1C=}8W+k@lqNsn(t<(OkLu4Q;w%Nl@5^WzHZz=ZuuQJn%#?Q%szb zn$1kw&g4D5Kl&Iio3RGZliuyt*w$@m%55-9KVj9!@ypB5zT!{4FZ-*#w`l4nrBouA zy{*68XT-^#r*MqY8XYhHPaWmg4r$li*MW=E9vMWOs#lnvcr9+$E>1?U@WQ-kWnJ%@ zTmvhj;g&qZL_VWdY0c}9M(%+P%3BbwK5YbDsm(>JEDH>A8*aN)+vh)i z!BBCutOm#rjq^DO@8++rPNkQ`G}{#4FaVZs6TL z`W6#Fh&B@S_4fm-P2BK?%e1P{sLYCw>4s7Kjh6AO1}CKp>U`D`$Q00ST!5a_8c~cQ zJQ&fK!pRW#amkwieDLQ9ej*@^Z@N7h{^ketJ3bpp!a!ghJ8DA)4iA`h7JRm{Ks9<` zFql)i`3Q}?7Cq1+fe?B|aBjLY1fft1koPeYzdNXMu7_K=CoeA#gVemZfBo^gMzpuZCN z^zevXKtYBuAZCo^YO0>UlS-_7KmZ{^XwqyL(Exrg)RnQ`pXRguZbw&3WyarZ`}1|H z00b9DswY3sVB#P_#{|r3mf(+Vm=zf4Uf61pdHA%s!?1DB9zKs%vvAu`m)9sS*`uWU z++sb!-s@n(6O=*VO%M5-MUYvjTd_=J?_3!y_p%Q|^~cgArq%SI{>)>O?&Zqcr;q07 zzFT)H`bzt@GZa=(9p+?^RB7Ak%rY&R>MIrFRPDut&q}+*ZnQ=BuWfdIgLkRQNG6j( zY2w({)q>t+7b)@D$vMsq#|^MGj|a|thCQn)t#&*&F*jAIQCy$mhVFXZlIyb!9fn~& z4T@Py+{h>QNj7pC!;DN8sSq*|ne)taU=P!KlE;p_f1Tu)sGC5f`SSAvQAA+W;X^@v zm>`ICFnabjdB;t>beW?wgkQwq8nd?W2x#DdI}43&SnyHeuc8-CG$1@y4>lYXo1Yg> zaQKu8-tjWfssi)yjPm*qlL(8KXUq)wg$wv-D7p=({-KQSr-;*dwW|eY2SuJLXh&XZ z!w0pQOv;7`D&J|+43<7uNTgRO+g(!3almgVNyqRvDR@(Hrss8nYS@igYLT@`v)WBO zET@7$8}`y~cqbsCZEDgX;}cDO?7ovD^`y7F$;l8FUH3v_WUtgLAAyQJgr%j% zNp&oqZ!Po1#;%=-GPN-vwluEQlndr|0@3+XQW$%+C5UHjB+$VpK>B$*^md>$UGC0k z?5RGCdD|B7V*l5G;k&&!`|6<#y&ANIRDjjI^Q`6vaefQwG z=-sE1Gx~H6^^KCw*k~7BqKGA&KWTJ-7I_UwX)$&-NJ~TczFroorxNCw5KG1U)R<%3 zS4hjHfEs}_6rHA$Irq5TM5IgeJc%>KpEzP@{_)8E)xF_P?j$7zR&w?ehw~e-@n&?A zVDY&u)Z8OJ_;r8oewWU7-P54WPRZG`U+}-g*llj6QT7#)A!~9xjL%qpn#v=ap`W6# z8AzX41XV_VuY1pXC;CZ!VEO#y1EF$`b|tTDA8Yr!M!S@a?1fyBQI3*%048P(ZT()w z_#MC=#!nsrcBJ%s3PxegkI1CXcW){xNv4ES708wi_t93G*B!iipH%D3X~jyp`hY*o z4s~AkX%y;!sJe>z{(h4t0$}KSzDi)R{emZIc!;X9h=C*Iucv?7{&mVjjrfd_ zV_b%n3yQ|T3wzCxA+FrI8}YJ$CuMf)tzQi){=~^Y`VQXU>0Km|-6g1@L-l{7PmzEF zz}`>r#cY8B$dQX*2?J zQ8J%Sx{&m>k0^Av@g=Pk+pL4seGI_JgRjfB%Pg_B^~&635+9$Zxm5@M4;Q(@Bf}Ey z^!}v7`zK|OB36E5FP?b!?G9gc(U;3Hi)Q3<>%N=T+1GOOR)rtdx5!>4-gEL)Fe@8)Gzl3b zNWLdv5~tC*mZDHXsj?pAx%;LJrHrs*SIO+#rlxH$T%%1?T33erZtJZ1Qk-?FF{w{Q zc3>sa>2D&UhBLfJEg6i_*-d{~>;BRfHYWi51oJt}_sSs}I<&4}1I?uODFXLocC2pE z@ipv)Bd9X7Uj1JFRr@$;pmP10$YWa1Eg6AdYHsj~YZlE?n-j81mbB-j`z4THfCMv^ z> zYBRQe9sZR0`2kj&q8JoMQ69#FT~R(^j5UgR_p}Tph48=GSvA1>eVi(M4uJ^@hfJInz|}W$bv_*=o|I@|RFe$KS(o<5iKjqA;#% ziEHe}wKpR-qmhrJ4Wm;cUc*CRvegOl;=FZy_@UC^u|B=E{JkG0Rkd#KrZu`1r?4&k zU&3r+I3Jb^cl}>Ac&<-C#FS!^z4&aPe{4Ggt-sQGhE#PDU862>^&*l_M7u&~^gQW< zzSIqcq*vmlvw95!cr+Xz-4laC{|qQvn1Q**#8ZJ!j#RTG@u|=-chTp_)Ebq!9bfl* zK5L&o)63#?a`kKBFqw??S4cz%w>~BT&jJH6OLIZ^kh}N8U!(k_%F1AtsE6YvrQzXg z)ebm4p_gtisPBnjw;vRlA3|MT>t7Uo>5|2yrTi8In;URu*->$N+nOoSh~%0SK-}oT zG4wkE)*|F)VtX2fI0JR*@<#ziEs9mPRUg@WAp$o5rxu5m6>dhPj?{qFzPV4s><# z%IiUbWt$62?O!TXO~1W(JX{swqBO>Wl`C%&z7{U0nV-K1JNh~4h||_}QF6bd_4$7mKYn}XAm}CYKML8qw*3s3o_^o| zpOV&;Ld8Jr-JIs=>~4UW4_ll*#HTbVifXE?l&=*f9>eoq2fKN1Cd(&?Z9FeMzy$#v*FXn^p6Tim2$pBp4{WL=ZX#CZEoY58uHTt=!|PT*3;&K zEJ+I(G5>5b$TtC8q(1F>5{2?UCVP#r5No%}4xxr=w61EO&-OSs?(ZS_)CZP>p%*Vr z0wsE9tR}b<1TYQI7X>iJ-n%~+fyIN2@Shw=$=3DIFXx|&$sAr7kkb6C&+Nu@gxi)Kw^QWDN z6)Mo<_b%LH^u!ZJ@a4~X`LdG$_3Qkf;vBPfx9e`rNo%z_nf^y zyLw_sx~zS^^q+g#_(>4Cdi802@>TC~VgO6BK#{i~{LrwYD*BQQLZ}MXF zztX10jMeWLoBY7lKKuChX6^5@kJ6{hP4k|dh`i^l#3vf(e;@*1gyjuND4~B*x6g$f z$#`GY)Sl2MM~`I9x(|Fy#UzhSrVDi#uw(w|Sh8#v5vp@_N}!!wcA^ZI+{lbVnr>>L zG@Ci_KFUg0F@}z_(+%Ie2r-Cq(!FYRT=+J^heUxH<^)6(j}mDm(SWmY8GsD+NHe{k zDiH|-g5Jl@Fe1|99tBEeVx+yW)909Bz^2d9qRc%hj}pYG>yTfxQn3@la%WS-=HTJM z2f)n?k-{Uc8 zpoyN%mBA);8&2Vd_ogiq%lJ#kxCutvsvrkVHI7sm@G)D+*)q3uQ!wWk8ZeJC(lNNto_-UR!W$?5*S+SY*Z$8y zuMxhq^|~I%(^f-@7rC7K18KCyamJUszY5Q4=@(FOaL%M)Rp`~T1<4tWRlAYv zdyOO48h>)gx7MqC_vCM&$+C6m1Qi~kj3)7|GiIIcW)%r0Dwwr^U#A&(FU+;SNeO4i z8*s|dxmPg6i`qWHaFcu%B}OQ~0M{w2R4~gVCU)PMa=3#LYSATd7zBH+SvN#%XliNgEpzSC-Y?yBLE5OJI zPf`}dcmxDJ5(R~U2LmDSF`V|%&-}&jLc7ASiz?iBHJseR$|nTQFhlm=2Pu9Uh|uO7 zh||aQgBCNa_haz8ZsF+<)|=fp*=1-uVJ;bpOpkujfQS3y5iOyC6w12(d!W)kxoT&G zLt@|Oqd|5$40zV0vRW{lTd69c(9HyGI|sBE)e&e?tvmJR!|8$q+iY~D&m|ICCdTSw zZD?aATv2{RaYZN5PGQ#fzJqjr1iF)r&Fc>8${10qxXeuC>QixP4-JN48>-VoH+>np z1gm-V7p?`Qu@#Ub*j3|cf6A%WbpyEWPR{hdWHGzBGE_1#r2Qms^~zzsmf*EPYD*wr z1)0_hq~&`vV*|OU^C_`5dWU+6Mc;wO*Ctw{=~5lZ4^dAE1KIMVBO0@sZGR6 z2qmX$Z&81R#(V3p=(OA`8YGm%E*li_%Ft_b?)OJ!PO2HNmvEo_-uK<`O{A~`Z4|H` z?rv0rM1arJ8L)RVbE-QobN~ zfZ7#D+uPyJjZDS=Eu~E?qa(0IXbtjy9cm*k<8Me22E-2&yt!mH0U72G1Zy6D?A!>* zsvzaX&npP~HPOV`pzk-{y|`t&bCa-M z%L*}@A5Z4&ZxIB;(S4SvokTVP2+V8vbiHwlDe_WgdTUk3=JL*9p>6rRs(6e<&q+M# zB1B)e-r|!z!v8isaoy%;DVg#bq>@VeCW>X-B_U&B2cg3R6{kGrCddz#J! zf5laoH~w7zN>MpXB?G-6Yx>vM5zXwP)biA0ZaibBzvdzXW6Gy;lwDHmQC|n^e5Z3X zI=b9tLl(blQL-mTmwGQ?s%@iMClC{1XZ$(l&mXq}r($&cK!JJz1fR7Hu6gmEs*D4% z>E^EAKz227nOm8{%jTOP0@~1P*Ku z3gYy{UQFDBiTZRs1~cSs@Ui_%?I5}k#@E`Ln|CxTGHPzwyR7{q@Gu#jC6&C^?DK`~ zyFR06Ila*}Cw@E37ju=4%DZ`jPqnsQ+(AkyU{rw+cV7YMS@z@~%1EW+LgktkB zqOXaW@1ov)WmHmQY?!nM-p~t_w`Y0RN;kCJMBQaT{B$e)Qhxv&tU9wbU2Q<%IpkDFhC_`0IRYNreowfA&$^A5ti^%yftLYsLBS*&GYU+Z10lq9 ztO-%>+{a*)_WVye8$pK~Lu+}Y>oi{U>)fECVPnPp*nDn634cfQ>2$nx0{j>^Oc>un=N9j*!KUg1vu#5ff0m z(hnTYs=&fjt9#D|c*`_MKV1m481!>qrR_rj!Dg;~Osc-wc*bo>3Y%n}ByF>JQBOx( zx3Lc~Wv6k%F|Di~`<+mf>^yD#qR~&2+Tx91>YOzQe>+7R(N3ay_Wnf)mEo`Fp1)bv zUPP`N(PQc(&lJSG%gi!tx*0JNNsvu5&B@4+0H&>$PnC4n%BPta^kq^>k}WE-TyZvC z+*~R5unEqkPX#;S!-?=QOk%P?-K%*p!4jhVc+vtc2}*a+MS``hmE+~pPF+UEy-^v6 z>noZVDLN*CC05*T8V}gtw5zfK+yKwGQ538#{kaz3Dy%RGLZnd?Mz~uEf47~Qlajr# zhtlK`7$M*R_&kPt?tk0Pg&Jx%K~Tdy1yGAjYMyT{Vum4skpM!s6n?uCMRxF{`{nt{2(Wv8!q?2s~EQ)_wEc?Eu8u@hAh1M;tjy;`N|9sW7 z-j2v+|B3V#G<-V72ry`S`$l36l?zDBwBAAh2{T{T!96S9pnOcN1Cqj1z8Nbe9Eqo0 zTG>XK9j_>47AcO^Qt-oMoF{P#GeQ$$r$Q5lC@ys8B_8cz+wENt+GK-K!IdBQ<|E4N zFG2Y1&b>Yt~ zc4Gb2h?ixxY?xnn8%JT>C0m_yFYqP`U4dMn?NXKf(;;g~vGsER$oXq@`M>g&(+y!S zw0#gqPbQ;S{OPvU)D9&zw&6kLKZMhw>F6%2a*^++c&nhJTNZBC73BGz`1p%p{@`H~c))06Gn%Hxy zrfuqpwZi|y-6jpvBn_gp{mOmeY5H0kh<4;1CW1-|&}*i*x+XEh=pD6U3*L(Y+R=jJ zV#HhWoWp;pC%vjC(ZlY+$h)DgblH*|C_qum;B6D>u7MxLr;9fd^Ft*I`_bd*r4yp6 z$?x#&a!iggqpLoCT~oAvG451OgFN-V&|Rd#K{igKMt(VS(JaUOJ4P6|uKMQFi~ty>;(~mFQo<%(@_5PjlrOXEE0{-+Juid}#(_PogF5 z$m7AW8(w={jM(*D0k^;B@5qR$(Yat3>3gePuUaHgR&12kEwbgF@fFSO-7V(qNTpgNIjIv_06EWE65=Dyc`S^&b>Z@cfdeiLjeV zV+d;Pq$wB1?h?vIIEa}vzft1Wke8%J5vTaUpw_RwtY&j&H;R&V8nMHRo;DGo+ZMUG zxxJ3E9r`IR*vEAQQi>=C%?MHrysc}>apr@+X>nZCmAnF`M1$w&Uz(Z!k|Nn9Z@cjX zT+UB?wTy_h8S;2YkJ9r3Ok%O|+gY8HcQ8_c+t%HOnl2tX>3}yT~3Lsz^-d69n#- z4RAABUVcftX-1CN?|92uD9s;l_zMFX|d&1*izDw&>0gqdtq%@J*{Fd()OtCk~nsI@S@cSiAX6-;7L%48oKAv$C5H zcM|T9xcG(*MrXI{Q{Ny^%FxG(gw{}MRLGDO3COt(E?FS3;4i<+w57mjkLJG;@LwHhU-oj#J9;5wKk7Slh$fw$C1|YajZ~ZS1I~`#;@4pDo`3Eq5 zMFt0VdExL{U&LL}<1^XctduR-_yTkBWt7)yH)5!dkB{T_;h`p(T4#H6OQBZ8g3@W` zsD7kq^8s?2%V;S&M)Ia}j|4~XoWj=H_omVQzaJwKgm`znR3^61nqyjHY2+EAR#MTQ z84fFl834iUa|`6!n4q%;w(Iw0rYG%m#a|%bH$FuFO^3W=n0uUI-OFN|-l*|6(+90l zT4Nt#6gcySc#A}P|8QmGGG%U`z)VkuOTBhAQ(6uvk!jhs#CS=Z#yA_3#hDT$XE>%@ zwQ_J%A38ZoJ%z>1!S{aSGk#C5nll3dfGlWQMWn92f4ZZQh*}9VEE05STk$yYsvLEr zHi$(IG0?gGw<&4YSek6pLm=ld5x}?37AK9&AM>1vK4v>I_bDy!FR`~t5Wh7KreJ1R z=Kl4Xl)WArW+h5uJ6+#?^KF(PHqCF6YX=uxuGNz2no(=F6Frx=2)R?ioBvvg^P%2v zv)N%SqlM4l*|DxXTFMLrJM{`hiQf0x#v6sA+}7V;F$P=r<6M{uH+!wNCCD)`x#(#8 z9k@i8mGFOZlHo=Y4q4G{dY^bk;`O%t@X$?IORmptV<3TkC*8hikAv`o3w+eA!}1Dj zxSv2Ame##4TXNmqLd{4go0a%_yS-*I9#D5I>j-8$U@FK`zh4Wd0Ki3 z_RgcC!BlF z;Zj}M!d=;PJ&Wp$Alck!D7ZpgDuzBg=@s@ekv1yrW@JHwuDH}4qL9;k1 zZxCRN8MSrie(LMSO(hiy)Lw4tHaz?Q?b+V7an4A`k#Gb#{kePD)Orut3>5U;OIC~%=LAK*#Ak@(#_3V=>xOW1X*AalHnu1t|&RulSR?`;`JXiGO zc=mzQnHk;5M(ruYcaN@pKl)>Q`UHGifh;^oj#;TM*yDwGhg#p-3RU2oQ)jvvB$x7} zJjVsOkK~&~cmbM;-|Mqc8>7|F+{MG3#zVn$Xv!S4uS=sEi`VP5IO9Iv@<*~p*s!{r%Hr2m1#!Y8&Evz_&> ze3!?{B;IP)vFoQK)Ty#+L3vf0PH5vNew1-{(T$6IXo!`T(8esgiM88HLLv@1uq1}+ z#Fhg@*l+Kl^$JxvAHGkS(XB^Alh&-t{T0P~|7)bZDifC{2>0Ed_>pRLYA|`{jWU#W`+KWRA zN2un^L1r>qs(SCfP7C{+zWQf=amNon>nTg@AKiR>M=Q`a(Uq|)UheiyKP+)Cu22aN zKSgfVJ!f4?A%FTD=%*1l-n5EB-=Y4TXa`4CC?7j|4mLzk+26l!T9$qi)qu zNi=V!bXnyxFie-`)t6zon5Vg44rYn^<3##njjPNH8O>~K&b6b3L8c;k-co2qy<}&s zm6Nl@_j*O4=edJ#kx|k?8+!-^^G;@zltd}LkOu6)Rrv21yM0H+&bY@?*%oQdUa%uRof*ARCAYBT56qyAI>=O!=B!(CDfn{4EYI41HCB1z}*7f~- zC3VBhp9db&1XGyLh^>%nQjJAU%r8KTHEOhFfZe zEr0{_SPXZwmShD3eHaMMe&bcg2{OGvQyO?%AU(y#q-g>!O#kKR#l)cxNf;K1 z$>qV)W0X+-ILl+)HHeqwFlZ+Qw6e@M_G*720Rf`QLi@bmOFAihCS;mI&rm{5#t_z zh+_8L41)L7vwufU$7f(OpxMY?5F6CfMDrPiDovHss$&^%#C=y4CXjGuh@N0EO3QOD z8_xbp538GZxIWsEdHDwtIHCCvzfuY-a{Gc*QvrZ{0>|TQ{nMva>B-8lr9>&e>z_kcfAoJZ7cWR1j*HnuK z)-6tUqUM8fO+Dzx%6k!8(%(kUj^8}4CL%{3Y+;*c2|Pw#U3>BRoHA&Idi|{5HfDxm z*1O?Ba_pn1<>!qmEG*L|a&V^`-*4Xc`@RP0|BT{aPG<sH3q0a1I+OVhzS+~kLBq1B@aLe(dzJieQ~%F*V7|@yPb2-S_Q^E;AL(Hb8az4-(KoH zCUU`2Is2sn!Dzv;ixTWge9NBnj|6Byi!nM_Z23Qx>MM}0u{~L`{s{Jji#~Xz6-Pa$ zG(5qjc#KtKOw|j%Iqaeav89(U#QWYx-M+8#LvR{mEmGpkGpQXjxo+(S=z0G?<-$(y%8|NYV>cIzN^lJ4% zf+N{!Ivx5gkojRh_4i$7Wm>xtnnjmAVt7sfndwWBKFmR}=AbhM!YDc7LZ)eam^!|~ zL@-OJ&8yH8EusR`gjr#a2przByyB5E!_JS_Tk+zW%p&c|d`;LF&FOMQYHUvNWp&pU zOPq#AE#lC`t4kMQE8AWi@_tD+-qV{Vwb%AxXY<)S_40@{$|$Atv=M@da=aszv2RrkKh@{AgoQoLyJ)tXr3#U*;SeT>VhOVo^@T5J^v3&3d}L!UXWD+u=y`5UMJwgG2I$YAAp}~wLlpk>29Ds4;BqjH=EqwUV+449)wjuHOB|x@{zze zd2`VA)bMIZ^9W{mPk?X)FvxfS4*aO729cfWC&xe=|8wPjf922P;?q<(dAL7(Fwj4Z z5WS^+%;J!Yz|GTp$%p#$q~o7uz=h@S8e?SeUP=0@`uHM}G5xs{gXTt01x9%~qSmTYu34?W#>$sRPu4@Bk1%2RB&Eua^!+Aq zXe|^I#c&N}HOUZf; zAGV#<=c6}$-56bx!F*}bX1X*z%0uc){)Yg-4n)FIba^Ur0@UegM!#U85%O|<9s>a-U8)gx_OtKI?!oNWf4 zYpB52M*r;N>p5YhZV-bu?Q{MsPx8^iLqQ=0h*=<3Z2Axc(HLK!ZL`%Z)|y7tk-;qL ze|P$|>7;_>g2!qK>|3I@eWH($PHnQBlelR)&!4B7ePh*2zYtIAGcXRhpT!<8$VZ=wxk>{Yk)ih|Y|n}=OzXO73e^}ECxAwOc8Ix%Wp^9wk64|_T2 zj?u9Dq&l9xdrd8IG0h*{hrbaQ3Pu>?Uu|uMEeMLW-R%6lK;&7Cyak~stx4O;5SRggV^Vq2kU5C`>{GKe38@WK1&6jXbBiA#1}TSAZ2dc4t3u$DDMiS#eb1a_$PCYN ztoQ~1m^;_dEc5u`ou?us-UL8}^+nhcPnjW04k0Q{P};l0_W^`x_=;2ya zyrm*86=Qpp{dP_;oXIM7;n7pP{XXEiA;_^r zKmhqM|80N37`PH*NDQv_EcJQWDTrYN_zaepj~Q>5cO!hqTUg7%^`cH+FrDhFV^)vb zX4ku2e4Kl=T@o_pcVQ%KvG=3FR{WtuRw#|~wq}rPbZ*l{oKbslJ^KiMroD-k(Syt9 zBIq%Ti8$URirnYm;>1XzX`$Ky4Qwe*MQ>URg+U!!^ zWd%;tAj-)oT6fI=TR9P1d(+*_K-b-BBu>P zt?DCHk@cxP-q1Y^FV=@@XtEysOc1Xo>Yqq3FB!M8c?o%9(DF@okFNZ zM4*hw#sqICg?!Ik7`snJ<1Hw0!5Y-acFInb<(x& zAH1*CQpb>CLay*lGp9>AM2Xb^&~EG69%tM)=lzC9u=6f(CfV6x12{ciRp+(M?Yiha z{m-8U^b;V2_bFIC7#8?$8QkWWUjpvE&dESL4Z&j&g563d<%eR$p58F5$1oH247oR% z8n#`^)pMPGk9V+Fwlf@${|4c+OslWuK-c6LsKlIQ7SJ?9%H3Z4 zvzG{DWLAVW3wDY*BCWYn2vPezYonfvZt^|yjiKZZ&NH-=cwl8-Eqv(srP(?1F^;j{ z-eI9sawjt8!)V3_T)UEiVqXBPbw2$Gt%h_a0Y$Xv0@jn+T~7oRa^7-o@irGseOcVv zjVcB4C*}8eS9O>Y`%_NYG+q1r85{xt(7E2+?GP`v6ro9XSE=60cs;`X5G7%vGzr)g zz~i9alR%xL;F>8%vrK)$?UtDf&W{T3+tyA>0zKY99M2c%U(DatF3PUGB6?-gO<1?! z(23`k#KIZ!673nb{}KRE&GLASN`02fuS7XNbGZ^Zsp}kqCkChGcB@@kD~I-_#tL$z!RF#%`elYd!%vzEcg&YEls?dn^rh*z`Tp;pGQbLD4n%-~+(kD%|EtY^JDOe5^fIwD z&py(E{8jMmukVqG9!I^WNtQPTX$#;AAfTmc|B`nW`+_ag#_+W zj|Q-x+vZ30AP1-OD2&qxM0Uu(Xa#8NrX_cBz@hHH%hr%ivCeo5FgrTpx(BczvLZDM z5Ww^|y7}|H^3?b-7;g(5G$a4V1chgN`~l||ASUs9pRwG73dVoYZ|(H^hB|=KzD6J2 zgz97YBX)y3U$KDCgcCTwEzV`2xI@L0g*-|P281c+JC%kO4a}M zN2&LiJfk9H2~s{mm1}UrpXFoxN&Y#4ZZ=7nRzkQh1FFHyVa^U>kGseJ)gKy|USwe% z!(o{sn|_EyRm+&-bk z!6`UOJ{e}-Nah}VB>x)HS;$XasF6;|ZB2>>#IJwgjW>R6E}S;M&y>vZ{-CZ+^#^6@ zM|n0~3!MlTF`JZ7*fPUw!=swWFowAc_)Vq&v#C1)H{OV{C9&N-`=GlkX;HQ;w~2uC zFd6re_0cUxuRs!vG zew(wOAEi0MkUV>73J6@-+weciVjQp4ssIvR_OLVgKu`;H_*~xm$DInPc0}1FF~9$I z=fR9r6NP3P7c3n(u`dRB+H`$BN!kU0oE^DDO2g&Z$77< zi|!Ajg`Y)I^c2jE6m0JCL*znGm-$GV_6il*r9|M`uL+Th@4GTzGWZsNv!q3@%3eE< z5FfjPqFCQ4Nx5X&gdJZyDqr^dXq4mEq}_-L-kRUQ1S|wL}nDCyCZV=4h_Wne4UcOA|dk6fvjz`sd*g0qBj>`|ud@*azn*Z46qo zKI1!X4NN63Ct&ggv1{{UO6ngGwPI1W(p0evV*5YQ;r6+{^>1awfulUsXU1(5*O^F- zzAxF_yFT3urynUKA>^t|Bv!5-6Vt?eHt0p0#DR@AC~X-QxUzZgzTUU{p<}L8IyJLE z%A4%SMVKG0jv+0w-M_2#6%{wePo=t4ufJQ@+!)+M?QI?%98ZDjSO1x|<8U?Cn;2+LNw7W)oCqlg_#eclsD8z009{7JybnNG|={l6F3}0c}aVc=& ztV&7MV#^6TJaZo4vJZhcOp%_|o%GolG-Sp}5f9*OUgmst3l}dDxp&|%ZsmLdvp464 zmHDQKm#CMf^lD~1#b#4Q4a?Bs{}@SLwBi&QfXG%;mZTPqfz1w_#h)mXJ~>n$x>LA5 ztXlDw;Td=FcQ5vXnBZh5nhADTFMUE}U95>3(-ES-A1~jH8d>ff@x#HGSnenUkx$}r%OPFJP{(x&%l4X?g z0>t6``1E}$YI<}bUl^vZ4MLy@IfrlXjR(TgcgiKwb=`Q@1CdQZ~Rt3k$><7 z$K|ByxkuJ2n&PlDwxcuwx$5`wdjQ&flKgTd{{v(e-u6ijq3SK9fwW6tT+oCXgxx4IC95@lpf+>(yDh|VwVc>D zulyo|7*YMl>~xtf<4rp-U6g_hTiFK_J~^_ht1N2Y749{Q&5y&O7=EFQGU=O{JxuqX zX0uS@mD%Q7otGT^!@sNoT2U|)l2MAfY(nnru7X%+VYU%tC3(#ct65* z^i@0D7=fAWRXZ`Ou<|t$?Fqn#qCBRjD|m1p7jo~D}K~{j2;=AEOa-Sbi!S# zY=OtA7Heo;-*7_y?*a_|3#)$`_D?0AJwcWiHIE=+W|l9?m&bZg3gM6%S(N!QqK7*{ zC4U_IXWNgct#hxpnB?5Fd06!G`Z*W~5Q18|?j3)fkthC!DR3UvJ}G^m5Ak*ck$I)+ z^44F#BU*h4bYs5dzf{k$i5Mq%#;TjP-i;)YziR3X!QP3q+WGsE&r48KdSyyT`sLC! zl8}bNCYtP6d)szgr$Ev`GI3(bB@A|cM@r51*&8T4vXMvFMg&WAp-+pXWlGSiHEOIP z^axOkC8{XB2BY?;E_H#vPohOf<7D-0(S0T1izKIPseM3EBH@SpBeZu z7TKsQlE4pLMl$jYl8}zFVPN$@`^o!~s!XS4XXkQ>F7M<}hxUnDt{gl>7WSk>HhS^M z4SCzm`?GwJJB9Te^$B{>Lj_RMcLNyd31C>Hce~evX;iPS7da=+Pan0 zOJc=jq4Ek8(4xCe|8n{qKf1ic#7WF;Hxv8~2w~8o5hPsJtP>Or?6LfWbres~Zq$_Y zuFvHI3`OI;Ae%?m4)cG0d~^md7k&ub{Cv>waw&p2$Cvx}5?ZCLI5MFvJ|}dQ{=UjUl^{??<{L|9yC) zKbU&7GwGAyV?K3`?3fxg6T++79KP5d)GUIUc?bq`$Rk+bj9oAp?}u7MQs$$A0I%;?r>) z^R9AisT65lXREdzveeDBX&Vg; z^W!_S*DqTy%c*%0tFRol4IM%ZMO?s4#OJa0(YM#LP1nN)cIxUuimu8=x>{G{`mxbI z^z^T@5?`O;5XF91A;rk!-Q&WtL24{uoN_V$&QxMpFLe^B%xB|9v3yVP&b=%6-I5>1 zH%(kFo)xKDGZp09FQ7TaSu@R)t4py85lQyus?e2@-6hl4Z%DdNI4mjmzaD(Vj8sBC zAjXfrXkhb5{TitG+Q7@85<+}Z;Ih&hbh|@gJlIpf<|4GAe!0Hc<$TI!Shp_{Cl2LK zx2tQ*U{S6!CIu{1(Eq^1m`TD{7U%@py|N6RT!uft3qe@7C$@Pv!dAL-J1Ryu$Dbc~ zzL$C5gc1Yf%Sp&kJch0sPvDGo%n36fV@8T@+$`Dr$J*HhHS;b8zH=EbAuy&Q8pQvC ztQSnaNn3nR zezU64@UfmnB;V%~^wiI{x2a}+t1qTKp;xH8+dx?O#D}ltAQt5bd)UKUhKLtWx-b#* zGoPQRh=P-eVhv2rK?SFtP#OPWdu*5iA%~Ewk(%d@roM2lT+Rx z@UgiO8B$0y5X#uupyj3A!9V}R^fZT25yhDa-AlAO7V`2k_sX4pBtJB%<*&llfur1b zO(iIobMHCOba6<2Mlv8mnyh4D>Lmfz*G;BL4CsMofR=-dDqEB%n3?8i`d_0>5=2E0 z6ON!-I7vv`(J>{$%5RRjWvzaAxqbY8vV5w&;dxWkxp**eC=F_5E9TC2hq(7?=4og( z-7)JF^ccLDo;`>Jd+-EwUvSH399LGKXi1S(Lb!jCL#_WIZ~CYI9IVjctJ`ieKS6>8*QmhC_PI70&Hk$A1M5`3 z8DL_ox=W`kzC-O-*0}BP4QR3laqwVhp1Zz64LIigU}W(Bh57w-2r1+$<%(9!l_~56 zDb+M@1j2rcVWPjb)UZuvi?tICTwAI}psGH9?CJjlX#JAW!46X|rVug*s9UTBcY1?* z=2?j876W0GW!<@wD)T^XMY<(HV5Ymnn?J{%AFO%!jw?eUw^Y>HX#1ZFrZKoj1C{C2 zZ+-O9zY_N^uum{0hz`DDPld5z7>Dt?doLeoy-Xz@l0Z>G^MEYoL2}@zQJdkZh)*hO z+kL;x($7YKm3n}Yz*=hb0$Cc(!+)vz6KJ@Tq&c_$kfjYJxOnci!r!GlLr?b`J2>i{ zPU$h!J|O_S`dhMJ4tMcz3d6y{joiJPBcKz|N1$oNDR_8W~sv5GAigXUF!W! z9ael&`(XrybKR6tk0p#MoyAOaF_y2N0n}Qm(kc2d_~1?luqdnd#vj^if7zE|3^a&Z zFYdTmI{XQ+LK=D?IPDvq4tRROs6^mp+g_c~lmFQu`neG-t^g!xG&aLJAIkrrqkT3- zbzVR2_r&=KJml3=!U1QSsfJZ}^lwtsp!IYw+|Lw66{t29n#eor-3N*Zacd@b36E0- zD8~uuFd^&Wp?&O6nv#x7L3k?zLGg(~*3OXoegN!pD%B$T-1Ri|@@=I7JTDQAw zhT%xX8x=t=GY9uePNu})LFfXA_#_U!=_z%EjhnH0 zG7wnr7z$Bqm7tfXSEm@1C)N+GCS_hIC+Ii9CvsA;^qZ>31bSDMnZii_ZSO`+7JN9j zxbscY4zfllNq5e&FEmP%zMWxY{tdhRJcxiWL>Ku-9U)`p*`2`7&uiM2K`CP|ebH)5 z%Q>bFXwslr(p~Jv8TViFxo;OYn8ff=YGPQ~?YSve#v>E-x;YCuV17zk4OiutBd$FfzHwvy&mP z)h0-}G0<8d1iA_?saMV7Zm$+=jv2uYt6hSZ?6@mquNATp81ot0NGD^6D~*YYkcdK)qb> zm}HylMwqgpXulrYS*PRMrXYa?9Er02q7V5QB?z*`r?LF~MGhN%V_#iFC(OaG`aX4v2)S=z}e8zG`J`2`dERfhe0=c>s&=eITcZ$?)0 z;K+fD&QaY;7w-VUY4=qMW3HD;NYHHO#2BXq(WuBePQBfYx6o6n9W&oFA{xQb*I9Qa ze?l*#1vSBK!OBr@1B{AMdK`Z(<0-9V&NaFV z;?CJU`w7}lBk4Sr^A68oo7^W?x6V0axf%7uz2&K|2fJBw#+q*LvuPCes~j_mhb*+N zo^y*?h;@$`u{YY3%+B&5rz@g?rj)gW01neFDK)eg+M<^frp(S@Nas#~AHV+RTbC5u z-{U>k+q3%?GSRyMZmW*yp6!3~=Qd2(rVDm2%^qzE6r2?GK=)))R0Smi!j$_TMKqR)@hVNm1#1Qg!;6z`*(JY=Y zu0NUh)AVhFpx}1SC*RcHfY(jLH!v)5<4OPrMgNsfTg#*7Fhhm6WPj}8c1$CG>+g8M&RY-* zAGbctGbRPJI6ypD^(}|T>%?p!pv1)eSFlCIJ(Y+r|Iq`^JbBswNqZe0yjQz}X619u zo$@Rbt&@=2Ap{=nZ)N`@jk2B1;+EPLi2#Qvb1*UoGSph2FGdE`tC`B|p>2e(&B#0# zod2{AVr&)5rHI3h6GYnUhBGrcqV~McF^Zoza6COgo3QmTD4+iPz!a9Nb0@;LHDQ@N zqx|WeBqQM>+S-OUfplsz3ZWZ{zoQb-#~;F_rn};lNeu3t?biv6b3|Kpgj_o_S6lDM zEYSIvVoWg-(fKfc18MgPYF%?#7MKIgaZNmg1S%H6FkoE*9>R?I>SQ%4h4OB+Zo;xPK&6bX9YZDvW09 z&(FpKR$h{^QZ5}9BH=5xo4lV231s<#f@=NF3I6R;J36%KiZ%RiL25kMl>sC1Jl+2q zUq~R)c1VpR-@!eAS=C^vbufyv+MieH1L_}jsg(7#&y(djZJUvfuh^|fnV!)_{qX!m z*slLoQYhU~?Jg@S2_n+4SAFj*EB@7tTVS+gHtsxc>3Yz=hA6#PU3n^f!C5g~aXQ4n zYsK8uT#PP(boOb+(i_|pq zBL=EM8`zCz`Lxr1c($h;Wy8n&os^PFfA zZS4+EUJW0n(d{5wa2DTxQ|&$Xk`Dl|(6(Kl*J>%+pViL+qN?yCAE0hKlpSuyWB*zN zifqMau>aA*$=haX5EuvxBY zsM6xdS7D(6C({-2uDSoo;`TVN5_t1rN6mLWU9lW4MZYq?j96IP06G*?l4>$rqmI%D zdDNo!{u5-;GRdarhHWm)5M%fL5^`eUkF(9emSl2SGw2KVol~T_PEvFUDl5#Xusn6P z(jkJ9K}v0;5u@=@_`)aYbi#9}c4>F_+iYd_hHuH6YUM6WGy)N%|I~Qjy~q7~2V$d2 z)u&wKyRO`IkPMR2DsS5riU8b*jxGT`aj=kWp%IHIdy!Mb()VXG^=eyI(WqK8N6uKe zWq68=LnDzOB{k-4tvpS(a{0XwS)B6xzySK=bkt3Rmp3#aA;GABn{f3weasgPj4zae z7H?J_{5kZRYwWu{{v8=7*IcCrT#?)O~U@cnqHASOt{d za&t_4>se>mX_3tXb@~qcjNFW2UI@8OO`3V^1hmdW0*&hp0_U5_RJqx7IS?eN#3WXH z5sQ4lW>qUyPeM=7WT+?1F-cjjQ><9B_zm+scHw^}#cfXJ%0eXZGPRyVG7~+=h{83kCDJOxYXlV#%+SSXfIQVsaJ<_4%2&Eo>L;iWTU`WL`x)2 zp5<^25@%Gn-m`4NHQ-YzHV?9uAtfJIpbVr5I3gTBG#;*7s>PZY;f{*W$EFJATXBD? zDMz7dhW``)b5oUY0q&Q`^?rM>sRjfeu4@LRK)_>l!sKWIFRe_MX`R{DFM`iFbc5s> z0>C<)?VHp3pD30@MFdj}xEsi;b9JH!8DRbJ7C!v{hEs{L0h~$#o+bo)2=Y{z@_?C# z${(=a1V*BW-v?kVP`#;YFb&us!gAAv2@z8=kg9M5Y?NPQTLLPvcp2>XRe%FO;y>Xu zhy-EG${<;?z>n>6Cr0c91DG7Rt%4Y6f2-665EXv(FE{2#d%NKn3g9sUJx;d}+gU^i zXYN?XLgRn5>dkf`B7Y3v9jCAnL~dmz2$`o4c0zeBVEaze{_960K!JT1w5I|A^O>GI zFF;dnq=vpfi`ua-R5@5WG3+O2M|HK9*di=Cj0637C79tLFS@#+Yu2>rl=u1J0~2Z< zS3)9xU?OfMbz8kbTf4MLhC{*P*~mbM7MhDw8?bR@QUCJ-233jX!PgFdeZ5)oH#*`) zuUzpE^1IDh!XDv77{wE^Gv!~bd@wA07AB#*2V23Z@0-p&1RnkV89#43*K4A%2JsvU zQaV!PyI$kZ(~~9>Ri40I2|f#L%JUd)xN~uxq@C{ONl5=o=+E=~>SDO|jwLUXmno&s zV~ZCiv;W~D#6}mKH=uE!q^Kt+wENRrEb*ULG7G*S7RLY z(XbRHAzdG>%adz2_;mNrW%8l1^%HP^5mVguKcWJTwt!ED^jz28TxPp`)g8!H;^D$* z1Lrk2I1IdRFFrar;2{`41T>1&@l!)miMydNHQH5^doS+ zBu>NVh?h+mfP`;mC0PP21_JDBbcU_9oDNF~r1b#D-2#=Y=qE25kPzYX-qcWZYA-y5 zIV-r!r~p%z?tL+b;F-fNTVSs&`N$Dyk0bCUleS-~RY)LdE2KXA0ro>IhCfeb4Rut6Yg2da=8s-(Y$FpB4ag z+f>Q_+(+*@G5z!~_bP3*ezbdyo%YGdao*O<4|2Z-PC%JL^#*ZhY~9LqeGtK1_JqVV zNQ(D2%ZRqudbDJkX4V-F@r&P{|4l^y^2XDQ=k?8z0C`kFwR;JVDw+rg&nArD@4YHQ zmy+sUbSU1BHSk_Kx*69X6*&7J79b|MpUIB2jJ<3jy;+8i@kGI~(vnXE2lHTBHOUvc z65#q_9Aj~0x9&NvL9)UlN}b(q^uNma9Ric1T#7G(enNZgxtv+q{H9rwO*IV0-?kRIeU_3Pn01 z@jWKlAx97&1Bq-PB1DTOZK#V+x%5NxGsJ-cdelcq5;tQph`$l|fGoHzdtVJ`0sr~? zlVl`6>ieS*1nvc@5pT*GfRq>k4Uf=zBrl>Q0toe+sP&ZvI%%brd2Ii9l~F1H_{#ET!+XTslYwKJDRvU=?LOYakNc}!ewaUfJqK~{I`jCwQuo2P|FLTT zpO8#(Ya}&32tX4dGZfcaFdZN;(WxtW_yF!efe%e8wbaOFb{aV*Ro_j{O*z|ID5#^! z5){;2lJifo-J?5_fUdbzN{)kAC=m-|-ZbJ&^dt^9#-a8aH_GYLaWf}=4F$kn@C`w({Z?=%>bP-l}MN_NU~VpxjDvez(yg#!t2 zTOV5Wa41EBK>Q-pM^#Ous!7A~wf_TXdbLK<9tv)zRg(6rU{gs=F;!D7Vf>c>ROScQMUqH#P=p#h{-q!NTBgXnBT1%^)L zjwBaNaV&@g{O|!CYn||iq(GX06h-k|M`w7aZtT6b51K^%qUwXU&Yx8#QW`7{5-GaR z?8y^x_H@SBKJ&EA5Mf1qzi47~ZMn!j9ykTHRSq48If&b(-`kI6u^ayz6+(iOlXeUy zr8_DAq?I-4R@h%8ITudBVK6YO%HJuDF)5U~J#h>wB4niU zrXALF_q8zXI$N@~s~*lZ;BNMA#z^u2Fkax<`82VlrW?5fFCfmF%A6S4=%kMk3n-~* zBkwWB2lJWV2o#x>9*0US6aZpUtuO>Y(_6!N7p=c;`g+jiyHQwM7Ow6nlF@RT_Z1?N zq{4gO2FcIg|52%aBY~EINB&_aCz7<~`5Wn;@Pq_;hHtD}$Fo131_%V1`+l~`^ZZK` zU|(3+>8m$P*9S0%k3+y_Kz>XD1+{<<XQ}|={k+5%g!j89>O(XnAvxjMRwIk63 z4Lmb<(j7U|9PL6Gv^22zbcS*%qge5fpQR|I`=dxQ9esOBu)vX}Th#Ox)i`PFX6U+h z?aV1X^o(aEU$H^@qA84BHwqW_BEcBDk|}_G(ULFq&a=_=?Ni)E!P&#xsh#xGz&<{F zZL0_vGy3d-4?ZKaR$~H+?`TuZnK=Ax;=d{q5!l6r{TOkce|z!15=d_gO!M=!b!u$| zBJS^fG>ZN#X8^#rKq(~vmgQ^ES`QJ~W+6aAd;Yggau&cqDVg*my4GnZ6VY{;5N~zk=;L?%K|Ai zIDq^GbwZt_R|+0bkOD_=Qc_Y&f|_cq;Seweb=gr*2PHb-2Gua%?^pqd!4nUdIX6AK zD@K~NJAD?>6TQ1a;zw%XWBF@ZH;V-PLnSNKEE&)ZPTLAwN#E(? zew$PDXAi|{njb|-c09GOOqU0L8!R`FDFuBG3sr!jnIy2jV})Muv^7aoP@UD45Y1Xm zkG{r_i0er6EyRIu9LBD=rcXg8!}Mt5s_l-iJM<;Lqwy{Hh?>G6y&d7!47b4)Sn43MB*|ZPPZBcygMTdREcXq?%A6k zR=)(QhrjBwJx}wArsAml7rJ-){NCq{;X+;-HeGw&f7dspYvFlP^d!TBjGD6#(Fue8 zK_KmXFykzc5E}`xq_Y8seFoi>YjeMc5>P=^{yRGrnNyO@Rn-_!I4D`bo~K=H%7zrm zC8;Q`a!E{Pwx*xn%bQj#-c5Q~IHjAOK!=W%b6AqTD|A17JU>L2$!AUJ?3F3Je$@A6RG2nd63d zYWsKDzkBCAKxXffhk?&8$x^(fN!VrO+mPwp!Vp!cTV@Q-Lu>mtDw|=p`(hSmGSd&r zQM<1^_P`7XgkxJPHCTKk<3-ZwXI?%8k?#t3k*UwCMP5+FOhBOEBHimgFMqb90}0d&psD?KAI{!xUQN=`;H)d~e;LdkKvpGgUaqTrzCG&CN{`p(-NZJhScfaskMMmG^w3&&K&5=10 z_;uX03f7TXVq;sq^0j;eRrpk|iuh2six6h|u3OF^`<)t^Ax49(*&MzHH zTP~6n2s3OB%vwY#CD1&v#WrQtsa2YHYsLc(@wZnwytC%Z9;=rn$vZNij_rD_&pKqR zw#5BZV}_6QMvUZ??|&pk0}USUOC%;wG5k;sJfwQupiNJjOJ3V}3$`rO`{xO_*b59K z+CJhiY2XzBvKqfE-x{R*-d`j1K|q{ebb$IGOXB`*#wgozN(G*7^UdcaYJmu*pBaDF z68iT3OSZF(o0t4XLTz^`EhHzf6K5eRgoUgLJ`x-Cie}&9ZW%BkVA8{0Jb7b|bnYb7 zE|hNyEx1YwUq2%E8f{K9Zx%DNWwQAX%J-Xn0Jgrhl@3XKzC(GSQsq1N12 z=d~tsHcGAyuU7HQ#Df z%p@j$Q;$fJ7w|Q7Be8VxElbtad)$>!Qlu!=;ri&T_IY`T(Nyzg%cDrty z2VFUcK{Vf+t0}ZH>|sTFwVi7yb?|0Cpk33y%5ca|oVVkX;L^?EoOhdgH)3?>B3gjq zprV57)R=C+IR)rt%H+mr5)z*Zz`Y7k_~_*e$;A832tC`-`68p~0!cC`hth;&giDK? znu{g$^U+p-hQP+dhL2q4WwLVy+2_B8=3mYgAL&dFdPsKve15t7qFR>dduX4u?!!M8 zPQgU!Jm$aQ^02e_=}-{eO&62%PTnzr@q`BMA^Jvhk;aCZ93NmddH8=^Yl5Qw9LBBK zc|B;tlPwda4fC1BW>}-+q&b^ivicgQ18Lf0odnl=Xh=JRvTVFh*?J>>HjtPu*nQaG zm03hzbeqRzSlEuU`K7KuvrXi>3%;LU<^^*ut8Z=t<{WVxul-_1{;)pLdF0YU_x;%Y z&PD1Yz(bhGAK`GnHDM$g8?uF^SY(DB`aaw?oKNd{dpG`TYbpyW%(KvE^G|S zub`9#Hb3CDAkGF!XP}!37UBkjVb%diPeh_}^X=he{8zImuQ`!MT!WZFSiV zyJSxGsFn`Z=H?d{&*7&Who6`=B@Cjy?m^}?IWwITxVylvZoARuTo`h*|Jf&4l6H^R zX4djstQ_T&NR%b(KX`V>Ewv(-zXOytaVkA&Qk3Wt6=@UtS+Z>4*EUlUh43oTan~RX z;*E|bGDG-3*SigO#|%3@a_}K2mbi=gSt@Q2Ecpi0&&5e%Gj2hTso?xxC?&@Av?PPN z)n_A2ViaG>oH)Y9=ro$rBg9#zlV4*rd1SzH2H5ILM@`Hjakv4c4a$kK{&@CAD*_nHyr~9 zy_hW@xib713+N@B{YB*JV<;y4Xmv`4{7y~p zg2&*@l)-u<$ho8hFTqCcC2jA}C*N5TpQNM!&dMb7kS6J zEGmD^>XY93L=jF{@-Ox^XL&~;_79fKS@DFQ#f&ST7)c*gpJ zqR(;;r_am&L|{1ck!w81?SFb<>cMD^B=!1$w7&8tHVURfO!kNY4~evMIafx8p4NuKVnSN_?op#40&8;UBr^ z;@+as5KWAGpSGN3-RUKvLKx)q4>>>m2z}`~u$f4q!MPmLR*G#J&5te!60yUYT?V|F z#@P~RA?z8Uq-0r-&3LkNgmCziL)fZJF0U zaa|v(o&&qp*dDuK;2i|@_@fx0TUIdrT6}l0+_v&Lr{=47rtv1G8rNgWkj56njSC*` zpY$6U7xb_F0xx7G16=a2|9fr*S3M8&gk}Bo%p~E`e!#9u$?G`65NxnIfL`3nYv0E3 z_htKow|a>NBKq*;{Eb@xkrVCFgvB)5iJY|bl0I6qwELp@K^=IFr+OsxQmsm+r|Ww^HoT7=VoMCv9-_XmI*-k=XR^qS-~*_ zlwAB_&nYA5k%C(W7(&xLXgIor41nEWf&?dtk<$?T9!s1A zzUuF<+lXFnh*-i3_x{w+?Z)jYgScuidSB3GvRu5mZ<0AkVP9zg??`8M^gFk|S>VNr zA`+vBV1SGUxav!g5OzMA7H-E@*DBKu1`XkGJ!dX`hvz$XZ#01N5rW%8yq;jyEQOat zEtKcFr{8(P@HZDiYzi!(f+F2^Om=HQvWzS$J_RRPw_^6$q|B(CKB4?|_-Jso7 zvB;Y>2$!VxS0XgLKlZAfXf;8s3-qnv(RtMV9EU?9xkYRH`Y*?DMS}CN1=I8bO@(XX za|%H<9hMbYkwD52#M0_>YS?4W%jKBkHBXktPR)ZS8BRWCX6W#|7fOB7G|L%8jNv`T z;hY>CIW3WL%os;N`$8QA zA1y;Z-*j5#-&AfK@r2Sdzf9;~0Yt@z(?*v8oy61Z3~Dn$p-v?HM7<7lJyf?Acc*@!187OCd4r&So##%dy19fPmyHGXdtt z>9u2fq4UnZ*Kar}=LK_$lCINN<}Qmw7$?wBva5IN4WU2;jJb@~RC5EWtzsxnbiRqV zLgJQO;bx;yw;&<`#Hz-$1uP%2f&s3ihWMc-nFp@~)rS-HF_TrYg0r664dtV0qNqt+Sbz1!`gsN>!^ z<-y7A1(SHx@*;g_CMI$N-i5gjz&cB6BhnCiP%l?3N{_0qC%gJ~K@mMauq0Xdx?yq8 zExdg^YU`}cT>gyPUi3z6rc9i=o*om|M9W3dCD8^q%2J>K(b52mP5THSkl(dd&?AI|cOMz`@(%_4+UEu`28yt=PI5bonJNU}KOxz*F8^588lQL9^KmC3cbzI7v3Sc{$TKF@~h4I>-6ZfiS&EaInu{#c9- zNxsOuY(d8rzslyY{<7#Yvzik^)s-6~PQLdVaAx46s*Toh1NGyiHop;l<8!`p36_!D zx<@4zp8K)<%ovpk^oG_8Xa6uNHVOvr|J_Gs&?p-S)$I$7Co1N%ElAU~h~#AC`wh-c zK)#-;Y6WKY<$@IGP1TC^-OZbL=-Xksx4ezq;+hM37a^Jb>cQeka9VOApcm>lRVN7d zPh6%@E0pKDP5>8K?s@MEo`vxBE9=&1IVn_jDFS9%wBIOH`~xh{9lE#ozk0f~8pw%f z$pK~d)Kkz^u%#OoCO*T~6=nj$!LU=-_7Lo)&|#;x>nTn&CjdcUj^calGx02yBQqpJ z0k=|oUNt48GbEQW|2B@JywPBbaH>SXZS6K+omH5Mn)4Gdv|0~EgZUR5uk zc*f@EBivedKOoGSF>UO+1HtpRUW?yw#E(>P6p@JgGr7)kj1JIvX?+#abbrmd%qsUb zE?uPMS@{S%6UDP{8fvBJ7U&Z9c}_)~R?s}Y8Nc_TDa4-LxEt?3vF<9?vB@~U|*L8e`!^nF3QqOXA(p1X*Z z00BEVS8wc)-^HbRtiroKy9QZ;lsQRVA0YQj%AyZS7X^kzUs=A{)ijwR?+ixVqJM!n_Q%527)TPs0Cm1{z_Uhu9AG$*`OHd}QU|r& zN1IZ(AMY1ivk8*P`Jo8U+dQ6U5jkK51b!H7B3NzGf%bgJJPx|a9xRw{dvB_vC2HC* zk)6K?BPg=t_i@e2MYjh75by;qjTZs{KLu?8_)1JnRzUV{`RTsr!n>c>4(UxuQ?hf- zh^|Q3tq!08>my-VhBg4Yqzwt6IxgrFx@_v7kK-1?ZQX{?12J*yeGfO&k%fV<6#Uwu zL@<0qcsF!0Hs$$dF0Y%pLGseOWDNrF1!q3hQpM7LP-Lv6)}Y`k`5s7Gkb?jH8W|X^ z3zb(-x!hq#=UYDS*|KEZyliOLmw5Xf9G&CazgR0ao3qtff%FNmHZiA9>^1D>x818L zGV<4p)QdO2bSqp}EG`T08#d}|GD3mk%h56a9W_W$%B0dzc0T*33J?V7iB$!B4BuK4 zU$u5==M^mR-UX0Ny7zbK&cmI+)GD^$^a!BiBn4JLZd+RR`Yljflbk$9X@B!2m#@tP zq{EXw5>O@t@14ezwyA5He3V@}gy!eklk@}+Nj%QwoZZ95}jAjP?RQGI<7WHKb&(H+KqdLAD6o>W20 zc1w0%;izNCRg6l@tQHa&V@FfP!;(A_W~gsMCnxQhFTn|=aM`AUF0y!(XrOHdat9a0GQ5GVcq z%d<%66F~C-Jyy#IbNdlsNH$sb<@&A5d!4#OaMo#Ng_?oIJy@G2dNNn6Z!qqep5~xq z?h7aw2)aN7q@48k20DJPR0L|rR_iq-Gjxhf3(5u><)ECAS->F80$15cvgd$b!! zZ<^Q=m?+@AW&OSdI$o^cf|GvDH`(G9EUy{koC?>+o|-0^{goElALz)SIKKv6p?a8! zK$=X>yLX)+hlEA4=ft*Rd8ESBpZzjYHg`SNNN~ia85SaM4~jYr;TitndO$MagBvW8 z&Vak*dlZW%jlaR~`)fyXvDzJ9@ROXPOzObv7J5C|53d$E@kmT$2fEo8(jaz+@mDvu zOX}wnXE8>tl%KB-YY54|CLcSCP@5GAd`bw#v#8NYeCH}+V1P1KDl}Q@#EUIe_Cm8O zCZi4*5ImnKRMCO~6)s}e5J+h|%Jl1+I~k$eGY#m&!c3G;OArA4E7&fe*-V#qBJ2i( z?nGAaAPFhtDF4F(yfR}-^8P2;a(Q@9;CnSg-Ss0vE8EQ>n;vEMz^q^CGno6@+j9a! zOtKWfV$oEu!oe({dRFA*-)@L~Ui(H}9i=~TS&Ei`oI zUN;I%m_7>%g+gxiUM6cGEgT$@eLg=s`#G+F7RKXVqevhG7hjN9YdO%?#@&WVYosSt z=oS_6>U69Gt_cB(7$I_RT+53GTU|lg-o?9n$N@E>HFn;en(vl*n!>Y_95bDUOm?tZ zCFOm7^;A*FNRt~H`catRAFpI)Tb35TamfY^p%oEdwImk2MFPxx7G7JG;vrcKZ&uwq@}6NZ)z#59jlm%xG#%hZYh z7xlx^sHww@`4d?1t^2qFHkuB&kc+BhbwoQ43!{U53!zghV2-C}fM*TD;=_6u7i^}E zF6!I8(=ASceF(RZkY#f(aOVO`{zS>h7l9A69G z5dX?n)<&|e$8;PQ2kVM;4ttL$h@|j^&lAe-*PF?dwC#^;(2v_Vy$O3qYVgTE&yIgS2$sxj#y|fUa^I#=?RPq~-B2rH(QiT*cNE3DXqCdlp&J_Ov3bRV zSFeTwHi4oo~J@@^3y~*fAR~2XH+4q0eQr zhURXnO?l^(mSGe~7oBfUyS(5%MlX@@Ll`4oYI+m@zBT-GzfiNa+M;3*P{cgaJu>a} zWHX(Y>hWVnPcAi=@6T8MGwUkqmip`H0GIZh&(L$!7u_svdSm=^K*5exxJ5eh%&FG3 zuhvi;3YzFoFI#CAA#rYn@?!WX!`w+@qMIi-+w<&kU;gqbWEl(YO!#CG)<*OgEAs2f zu?pM8kJxOEKurqMRnSz&!~6CxcZrI?%ub#41*(nbnrqi~qIj!;S4~Xn(>pYomLU{# zGSyO~qfpf@%Utn~i71-8kINiMZPmKVPV`k|`(*Fn?z}1VLPre6^ zVBHa%ZK3@M%=8pE>yz(QWPmRr_$@`{wV$`u0Mlc;)Z&poOC-ZKrzMWN=LT{lbSyH= z=BOw5ssQwZKp9hb3%75YUH4Cd=bt;}MfYW8R$^<=$T_*sXI$-lm z1>!m0us{2K55EnB(OMExBh4p1t+jc8J={?fo7w@MbNT9z;9vCiL+zj^6>u8YS0{Y; zyEYHex*jbR6HoM9S0(HWLLOkzC632Y)SWT*SH6^qro3N9NE|@J)>%P?=LXfPOB^v` zTZW+ay3O@!W;&mCsl7Mn4qM>%6HO8?uWtWU6DJ-G@p{)RoVmc>uS|rmD4L~EfBJj- zGUp!vVMSkhxrbGP39~e?i-0A);mqoBYAkL0Eq!%7Ui0f6i&CHaujVWYW-=7L>jIv4 z1(eSPU6lS^Z(gQ;;;W=p?{Xsi4sWKps(ObhNA5Dx*6njO=|rzUqzW4pJ*Q1h_h5Q@ zc3g9+I(-YRuiq6x4{rK-fBoosCM>^`&T~^=HGWS~s)@kY@Rm|8GW@ zfE25=Ulzy4!C8xc`x0a&8GvwDe-*DaLImX}V80YORicGh_Fs)Bw*>*j4D9*9X@dlU zzDLAw*^!I@Cx`$UfywJ}q3=y0!v8hxqG&G{hpC^YLBkgb5qa04q4gmj*~s7lbP8vT zNapQSUPo{AU8Xb|z+eags$I-ktOLt3rlr%&%j_}BmGQTnJ=d_T7{iB~8TVe%C4YqR z+*X?X9|R4H6XFPH*j%-u6<}%C0e+>}ftx+>nVPibM}#EKHaauA9xg>C8~TuCT@PCP zXQ&9e4IumZP3g7(%t%R;4ziW?krr?ie%XAvJm?u6#k&X2S&tupebL;7J;b}0PTyf4 z{rHZ4WF^PL zUy^kDu_6*TzX{%xdC7N2-B;he672g}?`6*TgB5?;PN(YEPFA$~z*B7K+s%bbsi^s~ z3ZNL*c>X1Y_)tLZ??HMR7~kXw8))camL;OCz9YX-K1J z)|BUj+Ly&DN_aUv{rx&xyt5!oSQZ=l$d*fy)Nb-s(Wz&?Jpey|i)NyqFIb1Vz?ZU$;7C{i zWD!BK0((q^E!p03`!aF(r>QKUQ2YomXjXYRh>krh*mdSy)0#VuqnE4neeg*KknMMF z6Ep$a+3XvT3K0qhwD7CZ5b?Y}&Il>){;!EjAGl|!ZY>tz90h@q)qf^-K!s0@s7wUm z2MAst=tYo`eD2n%*W2%R+bh8#+5&jmtDBkjrC&aub-nR_&Dig5Z+CjYG6d~Dwd_?x zkHAX3S@com2lKWM&EU~KN~2UU-bP;vPH^Tlxy;q$@EyS*)4s@g;&{RM@I(c^p*4H7 zpY{9mJ7aj)d(q?W%Ll?h`_yd~r0FuAGo`A*4wrC>zh+5g0sES;YTMqCd%U^C&6R~C zZc7s`qx@*)gB@wwGS_vTGR;KNpoI+&GJED_bU#VuP@ znVi_f2YtG@AkltM5v}f&nZWB&%JxJXOPPue-&x`hbQf-d=xa2({MIdk)psuQ2~BIK zF8il;XYpP>Mm$~=Y(^`pxuL(!TXPTRt$b5fav=Uhf$N9dA3IL;!*%)E2h;6=$2C;BJ8ly+`iGK?lUM1T7OklLOxx94|_ zMcu2nf8O3AFqb{!7;aWE1feWRTWZj%iy8_BGYA=lqAp> z$zxna3ho>OpKCJ>O1b^-VCuisi*U=l@%lGP3&?e$>alncWKHp`JM2cq&s(FbFLw`v{q^;`zVPlPsgakzz`wg-@25rJ~CWfF`=)#Rp*)sLU z>5Z$hi<^dvi%N&j@G24icDc`PQGM|e>{=`fWbYzuXo+OrfVDHouR!3nE#TmF2j^%N z;MTVo?w_j|d~jb4MxqH=K^VV+8@Cg&4Gcub6`@9&>3W3bmr-$U)WtpFu%!Vrf>JMa zWKn;?zpZa)zW45`ns6L%v@q_zigUlXF#I@CQ=v<~!G_--wh%YC}EA z=6Etxd{&_>lq9axOSu!JCnN#CTQ{$=9Su^M(e~@cyKe5I0^fWk{{H5x^dWOpnH+oy zeH}sn;$G>GyXUv&cQ5K0*BY)`MyX>C@lxj5F89mw`QyfJb++6R0@EOclkdyf4=yu!WK=87hsY5WJs4%V-|p9QTTimQ zc`{pXPmLfA9?^{%I^A_pU2cj)olSbf!6*$OApquVe}E_Ke{|IR^1T2sx}Hw&^UbXT z0G__S~r%#^{bl%IRe{{WphWP*ctu@XGU0%MnvGs6#1rfW&_S#N@z8fS_ zyoYmg+IPQyxPOAZ_exs}o!qg0qb%K{ghXzVm3j83*WjLG7+#eH`c6d!F-~#h zH@*SG%~*nKU6IZrv+O@Ine3C2KFW;J;kaH&W4bSTYXTN@HZk5~M|cbFdceQOB|R2s zi6ar4qo)oIM@ckpVU}7j@^piQtth|h@wzF> zF|!u=mk1BJxDTRwKSK3ecz)7%S$#H4Z56ML%<8iT;1(At(Fe30Al6vp6rKfwIJ#K| z<6%^>5r1Mrh?8B^4H|S|#X*RDV1D1h$A&V7_;#woXG*^nC!xxPEP({5Y4CrVfR76j zhCw|=!_Mui%d<11$)BnS?jDgrfUv)%q@-M1HmM@j)zb^M{MfkuueT0d6NuXcasTA7 zU?Joe(a|`FCGnZ#S^Efo?nHkeD3G4eaz=jw@*+zco8JwN>nLl_v4T;iSiuOhtn6uE zU?7<8ytvhYH`dkG(o)5k%#?pX+=&i=;`<1~Qf8Z6Y~HIjk)a@vI$&;7p?AcFyrK(S z*Y-VbIo;28MDZzKAzSM~Lo7{lLLZAR3lcRIhiI%LRkajlQW%w3_nJ?JZ2Gh~jlO|U zki76@P{S!7a`-7ky-}K}kymeUpLbFniLKqg_ZaWq#9T|ZZ(Ee!ci8< zVi|9ZHbW>atopQ5+lxJpXB0B7 zWln0_a>6>j9Z{DN8M_uR4?~5h6vi>7q^ZDDo9V1P`gg6VhXhHC(3Tyi-jYd+nS)bm zzn={s8wCi_WfS$xgRb_X3$3W5;$c8f)0Rirh3k7Ig%CtE+?_y!v(;>D*fhbi5umQe zk%^BbG%5c3-bVb}mCM^>-~~YjUh{H1MX!H3Aqa)1f&q!f+z1XfcIbIxffcyTL=YjV05U=^ zF8)zbfon5UUaR3h_AAB$k0Pdb_t_n?ACK#vc3E?CGds`bxn~u~fc`zLijZR*cRa>L zLJ|=beJb2>B3?7#D(njmUEphn@3;MsflF)fq;W8WvEU}V4>OvFBnj9*GC|4``h;(F ztBFPiultZSH%vXhjq7eF*_OV=+j!k*<`Icug<*+TKQxAXmBhJb zol|pd-Lkw6r0G=0tNV*~X`PROFXH2QC;6=2^*7){8K4Yt_S$z~g})Spe5Fnxmbm#P zW+01osI`hB8jKC)=#_s(!<^Wzu#x^lF=}O2^SPiZOL5LFo04^gp=K|=1WA7&Gx`S~ z+__Dbd5?RtB4y`$LRE{C39I3Xg-?F%?clhp8a}#(KQ)|>B<23G)_&{N*1j#nqlbD- zWzl6&j%;OP6F9#wYiO9&(1y)&-YXkGVsy}hkGXM8)ETnL3dD(D0G0#ew%_8!gmF#f6+HXJe6*XFi2`Ehi zh*DeqzfQbtSV0C_<#;6RWqak3IE3RukMUP;p7RvuT%~VqNWsk300UUK48bgVvo`{qrAhDfj_b>V=4t!#p&Sh!%Qm4w%(cFqS4)M$?TVKvW5n_y37xv<@aI>5 zOw4^wJUv?t@KI(weaWNb9&UNM%mt7Pl1A1Sw6WhS|8gQb^F00?jdNETx$}t^sod5J zw?CE9%Y0ywexs2yZ4h^>R${lbCcBt*e4B4;Br66%m*a{Z`C&jdS-BgnCB>uTUK1xM zo}^FLcY?R{L45003c@r)jsztVYxN}!f+qUiwXkC`+59?Mh!kh5FN(kJJb}6Ir%wNp zMd^rk@C#wP;&78nUPs!N!6ly(tRtv?!I=c?9^Kum`SEMg&o@Rj1|m;`$NR*arzQzqG+J zc5K;wWI92whZ+ttZ}YrAdknqPdzuq`olh@r;lNv~%if7Gc4EEgS@t}pr&Y%u7s$e&Oaxb6-)=9Q#7~8kD4cB7D_x66>^MdY#pmZ9=6)t7Bpg1^tp$-2 zZyAn?q&7>HMZJb>h0A`hfHl7R`IJ_Vek|&$_yEkep?ouK`qxKXKQ>1P963ZsIB=iV zVmV4*X3I_ITb}8yYPO*h^NxUDi7Da8vz1P}s5Yi7L7oowl|BC5$g#%y=&>2Y>D`7? ztLOO~KQA@uXn+2zC`nJYD2cS8a01z%N9l;uL+g$HO|(alaGQStz2x_n{l7PL3A`^ zbraX-MMi~CPe-4jz1>^18ghBr;tXHrszx5K&(f<(r{*#MX_>UD%-|L90^yNdr;4AT&rD(Ha-3gJe?WcF$VcJW7buXNK zcPUm1Qof+YSuin_K>GUk2ydku}?fSjqeU#@lP8sFj!hNaMK_DU4^ zEQD_Ml5Q!(``&qYG~CpUyWNC8P8vu4sl!pL`LI2e3_^A>e{8E~fgwk(RqFSL4Knf~ zL0mas17RaY27-bcm3f)3Wi&Z<$xoQA#g*Jp<0iwkLl~A`Y$>+&w)Ljx5>?ZUG-jro zXN_pZ+nR2^X}u*%I~EMi)TZM|w$UP|KBU#TPI}New#dH?^XI?KfLi}L-?_D|JLH7c zUY8~`cDk}f0f9cUKazpRCUI4{J53hn^E=Ha>ScekmfdqrA8vGNj{eb7dGR9IrE09d z+T;H&rEK$8uK&u8_kD&fD-xBUUAlnt)*wORjQ&gJYPpaatY7%Zg9!oyXHKgwTxBwSfv>PUCS{kAEd=_H;ej4YDc`y<)|@%k8ZFi7tEW(} zg}MjLWm0V}j{Z}RY7uHLaq56h8i0~p7QKg_cD>;LfZBl>PR*N0qsFpA%n|1H0q+fY zg09yH>Eg2NZFG?qwRMS9bmhXc{G?rt-P6<&++s=#9Q)LT1)WW` zCB{PnK0BLy9!0m%kZKt!St5x!#L+TEom=gB!Ic^#EopQ_XcaL-SHF0(?5(tYUwyux zYHO^QIJOX{$3%^~DwUx~#nkQxStcT<45}6`Ba`fi5m<#@Vo~!<lthOguEC|A!prHCy z8+tyLB|1h8DtEb?_+I{|O!h}0R^9kOpqkS$pM#{72UfS#{+6n^l)*0O>;~?0<<&-@ zVNoM*U)JAZeaei7K?A-rAh^$&4X8+9Ti?`i9yM@DVbbJUxhualetuFQlntSoFuxVA zks&R56t!}fy17)XFPhLFx`7QV%#6^(2`dYccoa&Lk#5bKh#%FoG&z;sLFF+;f!ka0 zU;mhW-M#MU9}k!Fm3a1P@$b=!Rvl3EgvE(eaa>=fVK_{Ha;#uZ&To-}gM%%1%o6ib zdAPD^@gP;&o7@W9;T+@nWngEvL-?Irrr=v2shn7r!nGgY84aZa&QdIMlZfr(Wn=$` z1<-7);34?P=W~7Yt=T}cK2g_>Yc_t$e<(7hlk7_?&#An$^0Qa0uwLu+P2|@V<2K2> zHs%x zR__U?f<2XqbAP&dt7q6x8xhujhR1tfa+xGA@kL``q1XC!s`Oz{ovt$ITUbzQkC^x< zmV=E0Mu86TPCsMfUgmN5n<3&J9jTllplM0?d}_va&Laklz8kVq9E);L#mkl|V!LiqcMv zf-K~8X4x{kv{ZRM$f>8t{R*!m4>ZR03UK&$DvXr}oL9|=R~$T~Qe~-XpV^@qpj<$WIdc@P2s!SaxR&)U6eXCGgwS?(` zc<|0y*#gpv_7xYDSQ3ZaV20q|i!Jg$*ZjN^cRua%(P|0}nKLB>P6~DvGrPo$>(V7D zN7bGWqMcP7Fp21)!^>j6K(#9ATH|XBpQUS{r^!RsB+DVu0 zQ2eKcGh!D@Uq}n}0$)iu(zVS`P3dn6l!59tRT-thnA)g>0?e9hfAW#U^rAYc*_TYB zf8T5Q;;p>F;sOx1vIt~i5)K<*YI(Oxm zvuA%1U#dl7bn*zSXV$dbsTDlePBg+)nq~ilSAe&{3uBov@ufp{ZVtE1ie{(LaD_ov zR7ZA6hi0`|?LmQ{Q=6^3zPFkh#Nj_M^4Db}V=$U}*YRhf_4UT3u3i-{Tl_D&-a0C) zHtPCC1f&!}TBJ)l1qA7m5~M>wQb1CrLon!6N)Z%9l!u=B)j^-#gAX z#u>*k{6ob%_r9)mt@WF83M4a-(d;da=>3#ZHa1`5!&%K;f3oXYNr#ICEAMq&EcqAm z0Mp$4MEm;@4|(|8*3FVw+;cI?*Sh-)BB-PPEF}Vt`_oj;^V#vqxeQ*Gbl)XFCOpuG zF0$=O4Qn|*9Vzl8WXB77Fj;gt&C#)GzDwZmw`4xfIT_fcXYC_;Qv{U6enIBn?>4qH ziG|JSlc@t0Bm99IP!2LN(H0O37&_1msI*22Hz4Zrfkf)#yGQ-v=`{5}BT5miCU#LASH^TEbWL=6Do`E;2#MpE*eJ zS+f7S$CzTUoM~=+7gU2M5w57au2KT^jaHaxX~+Jxis$`lJ^Wi1 zQJk+ag-)xIek*c|KTWaDK(}+W?506?Yp8&%J_GKgh+@lKJ7FD!+qK%JFR2z#dxVc6Bnj@C7EA7bOI%kSi_O<#Rq3&QL zM({>fQ&(5h#9ra$twjt#+`vpmJW1Sx2hsi_>4#t-^b1t^VV)AE9?Rc@ssFq~sb;FU zElSW5K^Bn0kXhQLJ7XUfpBpZYtj4k>*ci^5486L+&Nb!!3PL@0Rz!FWToh z<<>tw8)}%`6Z@^0^33p7%Cp#TzR@(3h_;<#(+Mq{aMJ>P`ujFwd66Sm=o=xTT_vMu zr$jMjN{yANa!GGlN$i5Sw~y(sh8bJV0a44RjzxLRCVMP#8nc9Q612_B=3jpZmrYP- zzcOWd@hLM8`Bc!d+Csjc7jMmn7>P+`po{y0SX%Xj@HCh`-;gi_X2} zCN7rB>(KQ>v;B(Rx=DI%#r8#of{Fdm@6p7JbB%jKW6N`~9Qnt3TxH$M_UF0fJ)a|G zOsY=aOsF$HA@oeX^?cQLcQ{@qj_aGw+Md8qf4u{-I^>u&ZvR`O_+mxBJa(2KxQ&Vm zUABg*WtZ&_qs;T7EEA-0 z!aX&-n%$q8CV)MCiy!kW?(qF6#>n!{EQDK8EDQP_Kd;&PO)!`IzRSiHAUAyMWyF$1 z{5f|thhYG7koMQGnowAuaz?3t*pXq*)YsR4WBRaPgdfx}>oSNjtcJ19e#M|1#xiWF zp0ZfYk;Q;P6vgyD!(43oNY-teNAt}-DReTmzG2!(& zsZlHcdX%25OBGozuNC!BR^^zeu(}*$?DbQv?iM${+K$NJ`y{AoUeWJgZ;g1Jw;Ff* zz@NtQsTj`p7Dn{OdaMK>ZArE^wZ_{1{(!es<)jnfFX(^mVBSDOLn@SR?-%kzWGg2% zHEyqAGfTbUU~KHOt_(%{D2O}_)4Oxo@&B^{fo#EKgZJEKbu>_&KmcY4)h<=ORkU~Q z;Wo@$etHxfj@y=uvQkvqS$F*?_k}gTr3(wwgr~#-`;yJu=PP}g5E|qOnVg#Jq=kMb z?j1zl)wqRqbYE&HXBitq)hgoEsw1!{8Hm?~vz=G83(&DX%>u4GbBjZFxj1cRw65OH zC8H{?=1q*&mm5lv_ud;$46A(lrD-O`SJaR)*L0`D-dY;Wl%aV|;5Pc8p_av>5u*`z z#ab+*_l3KKG2Y7jVNm^NT++2iw=JyG@G$W)+UmJtFHKz#N`I%%8`k>%9F-(f9@$*+ z;CA|VGJX}bg;0&lZR)8+BWB^>X7Tw_f?eykbJ$hxn{BG}FjWP;wXRt2H_3Nv?%Xlm z45;e}Dcz*SP51*p|rTj5uqcvSXN-gegHE(jF4`+x5Hv-EoAy8f#3>3 z0IHXAE^eU~N>?04?*E}a>m@zS-?cKRy)#;Q zW&Z6ryRkmvxgtC!(s8SQQ{RY&GBTQ1;b@xEku!4mi3A~uuC4+z39{~7rPX^1?vRz~ph4?;pF(#`aAKm+icRfZOM{CQ8 z$wzvQY06UArf*ealu@3n_N1^5UN3-}c`PaZ2ELn{aaTaGK)J#XWxwA~YV zH!5E~%`kaJS!o_n`a(Hu^>A}oeU*gkv_dcpsU;T;)U$Vuc&~%;k2G4 z1Fp9gMeOow3+7Xup3vC1d-pD%MI-LvnLpS?(@1z;KRMW>sQr`IJ*-{f$Z05^D|zk- zcGEy($y_R=)?67@gV{B>&Jh6KBze^K0C76~&)o^emE#U6N-sX$`Brma`b^=e*kGMz7;w&q^Ij9!)z3d7|r~>+iCO^H2NlPZ7c?maH|+i%Y7~hscrwIY!_R1a4=4O_%?ffvZ-Wj z{Biyq+AqTrDJF~L4({B^YID6xbl6*8`W|O=vWv!ad}%+c?)5KIkSW_7pDZX($}O#o zJ*g#$q;K!6iz6M6qr0XkliQhWQ9g;^G7u5q@Mu85xM!v$by$wvBepj}heMdzbLOC} z-NUI)0h1_R5R^_x4aPBZtq|h8k}Vs%9Wbh1 z*LJeYG#F`k+{PTFwW!FnJU`wl$I0pv!TDND1tUzg!J$b_{UG>851Ze0H7#*nUF^xA zHfl*C%JsGhZSnas?>e`%7gbi(A2bb_rk%smkwa5pJ9tj&a9FczvIR(ygod1?InE~K z{;-xv8)lFhZ;ooR48vU140w)D`au{q9nI^vqAGXp-*U@?KC$C5So9%49Ws*!r%42S zgW}>hfSjXTT8_ZrzC{Ai0k5Kz@|Upb`tSzOgqv?m42r29znROdIB-V4{KtRp%{nck|`$Pjdd@$Fy#5sAaI-eUXx|+<7_*5sA@8 zUnxMH|Ev^&z}jHg_t5h#u-#aWmD&No0MqK6CyTn_=u@ek@-(gG&;- z_VMWw$Xn>rfYNT>x1W*T#&4g9Ey-rdNaQn}4;Q zvr%L&cDFo1nYi#A^p!oEP=N*}-W%B`c6P*!cjTF^7bgDR)n0fTiYvIhyz8I276(vD z^iSHI>b|)#=qykYre|gjK({KNR!jDDJH2Et2);nhv(7I`(>`3Wx8Ne@ZyFb>-bT zH)^phO>46Pta8S^nix0))O6>jL6wvHb#ELm-z%4{(*&HkLUC_oWW)y?3e36L!;nT3 zji`(CbJy=LBohC=&Z7PM_xk3Ia`j>hL7UF&t#>xSV6YjGDs)+a-&N2+6Ve8py4IZS zj~{|BP$)Pc&j4`Tq@{Gr+Tl}4S)lFu#s#L?2&jieZF6D2v|AG5HSd4gb~k~ z(GpurIA*T?Id-u{<{m|!Z=xMIN?xRvMZN04^Dn-$C~NGZK?`L-Bt z9e5PEF2?IyAocOe*LQ{9d-g@9kBTg?!6*jzr7gJ3!K067Yw~T&al{7=uQl+6kxP``nPLqzUJ$jNi@KxAZjGNGvR+%CAQ)iS`9T!b$;h&2a%z0FxQp?gj^iMcEh&9(qTo0c z-5Gl#dWbWra4jGKJ@ioH$-u#T|4iO_^kGb0uT8!_D1rDWxn@0yvQQD^2ie*9JWpz4 zO%vwZaWf-6uW^bABu8Agi#s`@<=J__^Csa{mts^j%ZQE>o2~9rYKfXivKqd8x{;cR=b4C4e_D9jdlSh?yEXoQ|bI)pYaGRuL>p*tUleINYLlKF82Xg(o8U{r@ ze*d1yo$t?u^Ui^nyb@@4+&9MFfcA$5@zq6EDyYK$^P_{%sv^L2I@VIIC`SA`U}4Dp zmRte8bzd?wu>sL&K~}|jYzlf(d_0~l_%7apdoMAdK9z9!q5%>jD>5L2ooavFxdj%B zBD;Q8ggSIlNrSN`lE&=`X9g^@i3s8su*4}LCY+@B*b_dRwa5YsiIJ%W7 z`u*Pq&1LzaPk)524x9Sq8K_F^bP68U6ZyYvq4iNaTtj$#K=Fg&W|?>~{77^;<=N|K zq|;&nHbP(^+Yp1Mg+c-N{olZq@Y{4!BE0JF;75-hA$xbXzDTnc`t|I;!&=l{6_>Bo<18l zJ<)B;e+2BYetwH+V&gT!L{T@cMW50doBCch>aCKlG)Yb*zA}>iGqbmxe9!ji@K^!W zo4_5K^kv6WV(u~Xv%?hHG#VH2FXhHA4?cwQD`=^_uBOghb!<*Ep2RPerD>_srTKw1>vr3-DyBGZ zX}vL_^h&o``I~J|30y49bQwO$NA{bqTB3j zFkQ18(Y@CYU}157dW4v&OD)^)cB#0rnu|%A2_~^l1%f7 z;=J5j8aWO6%Fj%_+b0BU@+ej-D2!qi;a&3 zNj8_Q8JXqFGb-Ww)kMkAP$*6p-``L~@rIvIo)n&CULDz5Fe;6v3q4v6z}cy*#6?wa z$gEHQBYaRv(q|ukc|uvEka!zgy0mX5!LY)FNB^OdthS?+1X3Me7JlGf#+hd@P40Fh1$4~ENKmN*rrJ&VV{m^Wm^RnpE zOG`S^%~)oj#|M`3j?+X4F_WS>h=DwJx~A!5iA;0-6FVLWdHaJMA0#HPRC#Mj0qk~0o!wE4q<#Zm zBHF+$lk-MPSwx22UePCUk2%B(7zE}x7zkc@M7G z+!oqQG&&ipX%!Y{N6t`dg~JN}j% z1GfHE<*MYJ*_{N(X!f600~LuOcRL~t?YX4rKGCLq^6QS4rl-fMF_4*+X9*fa7j{O5 zIP)alFv5ooS2FFvuJDk4h^Sa<+`~oXMi)t=q8DpJh`v6Yf|q=v1uTUUO}+7Q^b4Ay z{x>4o!uTb&oT6QmrYgtxet z7v^@dIltHT=D;^dh%k;+q5gPp4RJf4`B%O9Hk}<|9^qG^bw@&+Jl}BEA{XGXWo2aG zBZcLd*98CcXLK|a46Vb3`{3AuhJx}jEO|(I)*MY2UF&mT0T#iO_qxL=Jp@nBDk(S zR&<%`d~(Z~8_BbcdI{4^`oo8w>YfhmS`e$t5p z-m8|#`)o9!cst+bBU>&)68-l{`_Rmi9vi5c;pvOp`;Oy}`thi&{l(fGh>yQhuqCln z)Xa9eczs%Wl02H&;bOly(6%V3;rbJf6wqHXSl^lsm2H1Q^(K7x-fT7=rJHm15Q>1w*?h{qH*#{|pbaVLoRZTBlNr ze-bshf{vFs=;+kXsVDQQ_4YwvTEt)k*=V3TivS7E9F#+Fn>2y6+ri<}&Kr~bs)yxI zz*{YxoclNYCFc;fNpKB_9zj8v%HD6i{kQq1b0eHEc!It`!vS&k1=|P2ZyeEU!TA#| zikmoJ;Z%wwGvwE7t04BL(5#0q{69B)K0f+5o^6jk<=dCbkgyympSXq88`MQ6U*8h9 zzZ@|l=L?EtOO({IEfhReNkI-uXzTG7KCJo754WQw>@X z!E>(=(Kc3Z))A=pZw(nc&jJqmpJ+`bvk)v*<9syy*;q;NOyGr8u4d<8$xaOoy@m4t z;R-ENf!uI`nbg;Z#eGFc>3Xt>q7#{Ld3AlgSUl>RFb^)27cU_0UYbhWJ$Gnw(y{dx zOL~c!{ZG>_#R$qkXi;l!#bC@#WzjYs_H+rJp6(}3|3=__nv2YSe#rDbOmm*R)@3s@ zIXY@s%)XRhZN9ExK%i7MHl)UCWai)T@>N&`VPDG9h|z2e_1@!!SHJD9eY`P0D5P#h zYgo+0^mp`WIdk$KcBj;ut5}#o*vih1*jvg$~r&&^=FB;1KIr(}Gd}o+v@JJk_Fqs~?E%*uK zUftl$rIsv!{in}s;{#skqWRrdK7;935M z!gEuwaIVH`@7B0^(RMx{`%vz{I7rr+87#M`Bk=>(!rruVmr_pH2v9K`D;9CrerG}@ zwppoULx`X#dH$_hQ|CeX$mvbqYJXelvTP#P-#XMCJ-?z1E0>mDOOlQLX zWMib%?w#j1Xsshh?uf+rTTnd)_4H^^y1DfDg!N4A@4G|m9h!cc653w=HSW6~>sH_O z@Uz~Hh-&)!?fjm(HI2HsL`0Ek*-35O2KZFIzpNHWD&}dP9H^_xOmf&8?Z3-#<@d*C zPs%I5lzc7jko%nxc+Pg4S#F1xxD428{620O9%!^Qj5l|eM0 zr+d3uvHEE3&3t}K`#B7Kxv@KrW3R#YUd+AohdTC?wZ*95sYh;ux26qE#$)I>qtF9e-_haJ9qLtEY8MpEYIgdC-SH1#;HIFwy->*}AMI z1wNF!`}<*7mFqnaWebX+S!4VcuwlYc744K^Q8p2!BN^4PNYcuQ;w>2U^vzf$#F;$R zsIo+R{58(l`Ee)en_p)t-nv68Hl>*a*J5!F*2d0}OW%FAOBkl3T84_gLsV=QCu5NY zJ7&@IyUzZ2H`5G*eVa{f20|`#5tz3n<s&+Na!sitUxWqFYiI>#~mGkU{Dbg?nQ^ z&>v>8Zn_fYWj_)ZHl>oWwTZ2#r0~+957cmm+$hj^Tvv00xahF{cCOnU9xG{1T_Gj}a z{vZ7NDS!3&yU1RuYHvMc2u)YzC)?$BZCK_@BUXzN6E<~wyZF#7&KitQS<1^nOiqmh}zF+Z;-&A@kR6d*Ht+lvtbl(*RjL+NKq1F{2gQ%QYT^| z-{yHuzdupR`KEYzRh;nsXhHmkM85E<Pr_p7R{ho6 z%{R{;vnE`k)B=-@gF#LERC9vbl;hiHUC*gMJ!&(2Xyt#XcdfbWiByERNW zv43SbjlUJ&_VTUG$zi?pM{y+aMM~wByW$@?M{x|Q=nq_!aC1T(3=NG7j4SfLRerWp z7tf8e=rk%JR7*pbIlyVNN9sZXiQB68`fg=utNwP3y#AZ5S<~xzo00QLH(u?tj=oTG z+J*byv%{c;4udeQx;SNK z3^jhgTlACFSS02U`HjCym$c(C$SY;Ho@8>TB~{`DH^{z#_%chFKc!^E&vbPAnx7CJ zzhmhg>@Mir`yp@1S3MXFM@j(VVC6dWmHeK4SN?Bd-yyK}V`F1~1_$3DLN*2>u-^|1 z42=8wHW~eX{K`u!f!lu#K(V8vKB9h2Y6(4a(Elwy_tw(JNML}JXCWizx;(uW=Wz~i zfWJvg=u@NqC%KSqLxMi zIqqFP`6J+{v&a>%T3?q}O)T{%+Ad83$N6mEx`Qnv+a51CA^aNS&EgNmpJs4gO4Gpz z5`p*=x#CsuG|05H&ki~^Za50gVHi&?zsjDl$et+gJ2dE1AJAR$ZATfed4kmt&MTI1 z*K{kB#`e~rn%2kWZ7)Yu3Qbph?SbJqgF}pHQkkil_z4_ZuF!nZ8h_eiPs`^oW*uJ| z7V9aSfN6z`_uRH#Lgq(zYoWCX18e$G=bgh)(psphD5978`!= zJGOafM#tm3c~4DSSAsb-w>6LSsD|d6kGb6KPwNNTS#uu2BwPTHO)cDUJkFc8sTc=Y4jKf@@?`|`1QriYlBjA@b~{QZd)CUi3@^HMY*ylA&5Cn`?nuId8? zW~bOFN{zLZX2ET~%cg{7@tek;jC&kYCpPN|`LOXl*=#_AH+7Lvb$} z)ANkcmtG>^Udij3cRas7r^mK#9*8(`9gWvTUGvS#%c~M_GHUt^Hh^$44U=p^DDXjc zqZJ*zIz(RQ2nR>&*dl3q^Qxlv*M~3#CC=768Dz`b6sY{u7U)y(NG?}Q& zwJ2Gu({g8Sm->^EC=Gddx8h0fdcuTr!cC$U(Z80gZLL~17=*s9X+*&dnAiy@=jZqG zrpy-iHxA!fKjRAY00Z&mXH~YrJ#B zK3mmUn@dDR3Tkw_d-EXN{<^L%s5s?~-@~eJR3+@~%d+S|(t<#~KJDF`K<-||&>J}S zlvT{v$OSqx1(}tb{LDnrWl`_?I+jb?e=xKR*qP;-bvEj^zrS>yOVIM$IDLFa=U8NM zttoFEI?_4h4BV*k2q<_UShHoU%)u3!H?v5S96*o%@;F#@i9VG*myl@r%#yV>z}6SmiWEeTYMWS|F&~K zG``m;N12`YfnR{O;a)k3N5}eMXg=E6<^-20nEE;J1gO~o*Tn>5uB$u<#F%6lKcmUc z98@(c%fsnN_5F=3L+n@k#!Ue)rXJgLZAJg37l6?*GhU;RYTtR(FVy=Xa--1Tl6hHl zf%ZJp-8N>(?`-(?@@92EUZ=;8q=jv{z#u7dl2%FxJRMyg%^$mSqaFBA+98eoBViv& z8zUBCv?GiQg+ibAK|Z#s6q&>U&l{x2tke9Af_Bf3}?7cIx;cex_b|@u!{oiE(+H-@5AL{d-5(>U!79cht;{NSSqH!M}fS=^2EbLc9L=BR8?< z+y~YDem+0yI{Z5bMLBADS9`CR{2T8eVRuu%M1OUr$pVw$`fvF}B7C9Kq8R!1*G5%_ zmwwqVTMp6r7PQLny`v9{M1RoUpy#8nUSqBccL zdHn_5xg>{2LwV^$HTziaJ8RFon$ShhdrwX~;6)@Z?ud$zH|RXljd@B}S~k1Ms`ez` z1f*Ml?uBBEgk0|Q<8(*zV!vlZQEx*ww>!;?0WFv6No3p9(QT4C>jy_Rc4=K*-$hO{ zWDE}_+*W*nFE#*Bhe&V|67m{!Ls5o0vi^>7tqab4ZOW)8e)e@Lra9wibjJxHR~yx{4-J1w<5D^nUl-&umMq4YCik!DSYupPP3vJh zZXODkbMQzD;b`h_z42r5aC`b_;xi`e<;#AHLCM@+Ww0oRlnuV>H+Gmdr79W{QZId$ zL(yVXkpCc{qqa6wz5_M9rnhCmABwHXFN2nI<@79yksiw&h@W@BsTw#*3#7uXrW_dd zuC=cUNc!`o9Z?@<^#|RN|5pI#n6{sap!(Wpuz5HL3y5T6vRboH@T2qEmNS2eJKjQ5 zU5hSSUtaEz;HlkfT+Fvw#I$5vKMK83R8v+~W$$PN%)byD2UE%dhS~F81q61)CTh8T z0_WG)fCXf&E?ZsW(=~v@b!cT=XW&52T>LziNYJyK>}=`J8!jqq_avP%dcU(zzdLah zn2A5CaTCiPMSqkz%y~qlpoNfBo)VJsSC3uBIKqOInHekHZB85FjQ3*}eQm@twP`H8 z=w9LmvClmdJ=X3Q!g?hWnB9@rvYsOKjzFM5zfLK~57oE#ym}HgXvWs}RpEpG4iuf+ z%z)Hm*%`2l;!R@^80)BVTsrE-!6q=_P~Y=>Y;*Xjpl{F?B zziUrQOUaKJz4{BotmI7VKZOL<2LMO^+qyuJX&rk9HSK&K%Rw}+q(u9Bp#XaZMkFoO zv$**cEH=^WxWGt&^!Tld=0+;fA+SJ;B#Zdm3gy5`c1?+g@14o|eU*Vf?FUp_v2kCByg$+Kj%!+%j54$u-5X5Z zaIv7$;VYUUZAm2XO1LZNYBM-ZhC;dJj%)JBBpx!e8jBJ9BfF~OoU>XVfsQl3^lYlA3J&8 zLJ;T)U@;0yUU2i{+E^c#u?Q_}TP@t9F1Tf7ykzyRrz1|DC!~vUP$Mm^_waHcMvW=2 zMUjEJ@{`)Z&r}8^FJjFM;44!upvfJ!JWm+6ZL^V}rAwF=son&P8t=UBusI>9{Elcua?K7VR`_^7%gJ(50#%W-Z))YCL>#KE6aOrGTf1-H?ZIK zcvzoD_hvNhrE-goZLgFMZS+R$p9K>eM1KqyKCPBzcuIh^RWmL1T11WPuMNgTsSzmK z0SKozw7CWn20AiJx|xW9jM@YYgYVM%tJM^6+Qe*a7~}`c943J*y!_{=8#LYCZb8<8 zF-9k{cR`tJC|9+RK#=MwaZSDdT8?D(v1GZt=z`?$hTe+uzN6TRb^+sieQV5F6+@12 zKq62{Ch)CvY!f4bS*lPCb#Zr<+MvhTi`-#PxEZ7|lNY{Iz>oUfNn1X7iTgQznXV^3 z6erte*{!PB&nGW+^JT{y3W(?2{r*?4=J2a(Q+N}W1(|5Q21A2;>aaX}XnXsFE}Li> zSc`xUCT@XsiD9D!e{5x`fGOk7!k9qJkb~^N#~lZEf0tC)ilEWPAYp@pm*3>Sgno}x zsv9&4vKP}Mf5oM2L9O%ykJ>Z40S|rM!8mu_;F}d6 z6wy4Azi`dbU61}Eyhc`ybaN3r&gx{&UN;l5v-UKLTrDgqgAkN`#;zW zK?R(X{_7jDd2QGa$r~RuvS#+-n)Kf4S1|`_7%>K z+M&uZy%+KKn*5R+{2?Kk-dM{wHA(jh8rJgUhrfaNNUt4G>{pxSWv-z zCAIHzi%m7@c9_C|ik=0lu0>^ws)jYx!+sv0=61(c#*OigzM5GxSJM2}a4P6oz9CbP zI_^OJxT4{4RJF;W97EI_C$f1`I`T^0+}n-41v^R^CtQi+yrlT)d!#w~1`Ou=-u!4K z$4hlLA>5N&;|0q_F?C4boiwwC`lGyNnS_oGP?>2)-Pv~L#&v0(uh)-G2``!@XLd6@ z&9%Mk-g2dPm1rg@D)w-0VWpLH`>-p@QPgLQYofy1@|o~>=}#lLzKr@Kx+dYkEkJWk zf4#aT_X*J0EDkU#`yT}%Df>tNj*EzWDs!~6ym^QKAD{WO+8O%DPw@!khJ_E1H9DNf z@51<=#n)+%bm#BMk~M^~AQC*O(Vl0?-aI&gLPLH=)l5*FXUBVSv&2N(%*kdD<&8De zUYERMonR9E^>0sB!dhMdA>XkC#ur76fXnPvbgfb>6@A%KDO-ujepF|(wH~7T*fwo- z6X73rK3Xpd^ck&f4to2ECK`Op)*sDVJ{1xS*y|BtUH_|J71X%A1DzJ=S_Im6oDFVt zn+f(vo!!Y|AJOjoqU&mzJJ*2Q^y;ihqK{`_(Mxl~OULmvxAO5#_PQGp*A2X;HxDv^ z%jtchBasHp6*yI^iq^qU-0&hUwSM{LjlMzu0@`z-l1!J+6SvYQJnv`C9jAZ5zDMhO zQHdRLd>P}VUoawqc{JN|%-p1wd4ApV^_?TWfOB8)NlcUW@DKr8WZf}K z7$-rxE*j8ULMnauLl_w+_{<$=E7P1k|G!abh1T0yDM3(1)?A#Qka1#d9D=Qly0&iF zf0zZ%HTkveb9&2ZQLRuCcM(%llK043|DTTlTg8OGSOC>g!Pq8cWKXwi`-Y&4 zt}a>clT!IsW-uf&HBHHm- z6yvsNp&f7JjM_~h3|WoPhVV&-VFW5H5)+U?()vaFUcx)(hPDxd&nvY9u& zG@JH@5jr&nGkU%Gx2*$)Lyyd@{r^UHSUm%h4O(~Hei2dg@Ff5wU0P8Ad3Fqm9bX{f z4#0vNp|n{`&SFx0Bi|HXW@o>>|IU6>wfel&?Gq&y(Y0%gpEMd^MAwyRI-~gpnl6axr)X5@YG#T?SA-L?uUjv*rdI1cdt=cY&A? zMf_9|WCo@g`uY@zW6=!_(J%HdT~E<1iOe4(o1ONLP5*zXYEyAQ6Cp%8BQLMZ^+IT4 z-hoGhwuD!z?)jc9{~-A^;qSwsr;d(fb5cNA022;dI@pB-6*%l4E}CW+yC`$lTUJdM zyzt$wBYtSfLMd|W#{oDXNBi7MqR<7%PvA0IAgoMAuXgmLTpL>FiP|$xAMuqo7W2NoI`gX>fYxVX?aMb57buS!Qlpa?(QD;8ZnZE#0Jjesk_PR z!h)t8Dn7MS3^LaD;ym1gJdUOzCs(=!;85jnzXpMx&1D!5tbLi zaYACv7~LJb)|eosizP66BPPUYTK@k4*GYo5QHK#X+`EK_XI8S(nk(w|xKB@)rCI>$ z(dIHPCxj&3%NR61>qRVSX+T84&|Z23a8^Wk37~j_4mT3jHk|C}#D{DGEu z_sUMaAF-uFGT`S+$nr#B?AaXvDeLFa=78sjE+tuBC&WRr zhH@~YS4nWwA-NXZJ2u7<#J3$6B0-JkpQJ#V z!%#ZdY)5{n;Ps)Qp-!St==iO)spvBu@f7uAy>y|BI?cj91nLjAM48uEEv!GLByJ174)1V3#3c;JT*(or&` z`G$Oj29+)hfL}92l|irpBK!b0^sv)b@)c)6jhph^>w`CS>C)GN3hIvSO}rN45o8C+ z2u65V8e1?m0|y~Sj8tfP*z}}s7-0A|5-XX{HHJd=vp<7TrWes(>J+^E|D~xTPW}%~ zO@HnVerpzRmmn{|sdi5E8o&&VQ;!dvgDC9g1Y&?ko8ja}glZroO| z*L!Ix8cP-%Te$Ub+2W-P?nAS-RFb9zLk` z&OP@WaUrCt_~^^+;TLMoAIQY!{r9B7uI6bt2%Q>}1d}7? zTkEtppW$1%cG{e%wcjZ#yLzzy^jDn@iPDSb^_%-Mp|{2h#U(>FUY)(2KH3Q+azW=> ze#p@jRPJIZ{fDeQ@H?u^VOUm+l*_0T7s(HXOYT3y3$`=`3EGxdM3NzhL!BoSJFq)6 z`2=p7=MyYQzc(2Srt_y<8_GlIEFjFn=+3u-0b!)Tz#zJ}8*@F-1o5z}*^*`8^8kNL zOF;YoYxA0_QA!^F%`m8Nf=NCmf?_@Q@UR3?iAC+!|HWJf!!$xj&K_?D^huyYibP0Q z=vwbtRy}lLeOvi$>103P;vfJGWZGu~uDNd?oqpS8eR``z>m`4xXlu)M4#v+^fKx}! z*uBgDdQl55sTSbTh&W&)Tq~e)_Yc2Ap{1J0(*z;P+`b_GJ|`8l?QTRi3WP}q_hMeC zWwGy`0mwa5wVaA$e)_}Yd8LXNo$({mbM2A%+_ze^+o1U z(3l@Rzt?VQ5XKgrMkLBqW|4I~p!ZO)JiFYURE;_^dN_!YR!vz`=l-?g)m{+;o}xSB z%avMwFCzCBA3m(M|5NNOxXee^2cv|t6grA%E;|~YfaJ*@n-W>Iw=y64Q7tD1|Asj$ z2-+9jz9D7;5X}VI{?~Cu?^fG2dJaI7y+lpsk>@-8qi)f+8?wPk9FtYm%PbN*Sc)(7 zmgMf8>aU!-@nG{V-1sv=&B}R+%OwX;pI@e#1{8aag3As!KVGMGyqlJ8l9aorwk?0_f%;>?`Qxkf;RWMuiNm2-H(|IpMS^ij`@wMcu@<4(#bZ*vVy{&-&FhI7j-23dF$F%9tR%ik2EgbdHwngdnJqA#4n~$gpxCY# zWo2A)5oU%KEZtC7>FC=)UVTHBhrBO!ox5WVtr~EvW-k9yZVjiBV&v~MdN`t_r=Le5 zU^Rf>7PY0HAr`K4mOF4zWKxx3_;px~`wY|SS60cnz>R|>Ur?Go=RWyTzhu3-BEg0!REd&C0CEjG_lkR=LJ9DY+) zD(ZT4S$0*7_Dd;JZT6pJG+z!~iarkd+9TSy z%kntC-L{%9Y-OY8J|9oVcFc_GO8fV`dlmreP`D*Oe-3Zj=GvN^5Ovec%x6)5Na=;_ zjM3@$E!kNclnhz!j<7YSH+q9`pQY!(?YwXLrdmv2qFP_ChuZ26P0pivVTU2a&t8Ee z{`a^uDiXMTJnH^BzY`ZAro;ExR{Y#(=H04P?zUA<{tKHfYdCT?@_P#6yh<<>cNurA zxP$>r0FqK_0zLAmE2x)Im!CG;?RiQBzt|#>4lyi@&NtN1yeC>e7?ka{7^^7z2z(Y? zRKdScy5N6=Yp<2VBoB)_ev~~tZzufu?zha|9Bzqk*2AqFXTz@)#p&4_@Yen^7#D2o zC!~z+J-D~u;YhX68f4&JL8t+b^Eb4koTB)p0r!N>{_S`lQ<1(jy(KX2AXM(~n-1Of zNJtEpWnjS7iPCCMw8IkOnn;M!z zffkiKJoH)2*@M@$eI8)7hh0x$>iPK5E3-h1o7fccwFcepmBs?eufY&5*~L$shD}Vq z%#C{QWVZ|)w`i172`=*_ym&7jt;m?;W*GG@yujP#HTZ;qdsU18z@G)QUOBemR0+vA zn1Kw+_l2*yW(=lVTOpGm+95sTVF2?OBrl(qSrd0`Y%trkI~q#1&ls7JZ|Y zTuNEcL%T5qP6`8Ag=0rr!6?hYc59a<#=D!t_{KJEE}3CLmLd+tR=s)QSM0R@^HSrZ z#-T|0@Z5Ya(`gjNa!=ALHg_kAgZhSXkqpl777tZ(4kr$kb+|gCH>e}8R5;q_dvfDA zI@h3a0Q~TVfMAbJQ;^F5tTW-(!F>puP_*C4dBA?1gj!Uw>A^;RzG-%KmMyE`{kQ9Z z*W<1;T;d_I>Sy9{xuz_d-bySJO5^u_nVy1JK@ZJ7haLa&cj$L6Q$uU50s?&gm-Nca z();&fVhpRRvvYEO{`^OWJ~(=z&Z|49JNZcywLE*9qyN#Fqwd~W!hzp3BIk7lUj)XF zUBw4tktZNDiUhqaEW&%_ii(PbV3m8vR-(L2Z-rMz5&@VIaR*mrKkSI$m`n>lHY6o7 z5{ruzCa0ShXQ(3IBe&M#2nbU8=v+qyd3GP}MUFGRNOjwLbr|V7vCKi(JC+-_4+#ML2GFq|h&47@kho)iU0kf~Q6-Y+&C- z$~{WSkNdO5T=PgyP$KHon(*pX@WY-5lin71FOOz@w+BDKMV3zK{IgS z-Nh>agja62a~6U3@&sfyAf-K}7Der*+!xKs&3|KMoRvj)2k^R=ck0AY7}q}tSci#O zx4(C#R5J1;edA=ca_+RNk%r~P9$ug4TxR_TYPB!f96nU;FJACZyuTHZHBH%Wk9r^? z679;Im8jxl6#BS49Pb-$DpyB7pMG8=Za-^@0T*N=^GQ4qwxHu!EVH1g{pC4+i^##} zjJCk0M?nh=;jBiD#HW{wG8a6FH4>+v9F|Fjq_8D+9G&}^ro4;#$<>jo@@vI={^FC0 z;|i7hq0-t-LmoqQM`JMQjE(J(I_s$(@bVdpVqCbayLWe zIlg+duCy=j=%yW%9V;37m@fakm1M@YBV)b&_A$f<>SKK|dUKRH^NJpqtp3UzIUnKW z@e1bx_MN9z7hZ=J3&K~Wj8SjT#+7Vth0Wu9!^FTLz^^;2SiXd@Od~+_?kjWM!2xQh zX6iNGjn(s1I$w^HS6VI~FvsOv?}rBA-C#AhvU*)R@5ODz=!m@NtbR&rYKu*ioZlE2 zdXH`IEmu*&?Lv=>374V)9ZERY?Rl@Kozamby3;SE0&j{mFM(+y&l+pr~l)j^f#l?B%if`D=BFd+!iu z1JtN2U!v(QouRhu#x793H7M@)obx&z-Y&+aEFa+Qd=K^Z_P$Px4<0tOnsT@7NE_SJ zxw{Krign{}7>>`)&At8bR$<+05?PVMUkjcM098j|)w!1LdCSyif4up!XEY06AIn5m zJ!uG>JITzfv3h%XfRV`{Bo8F&epty=c5!i_^8JF#npxX(8eoEtM>2+5@;SW*iLZa z6!>|ae(6jaI8AYN4_hv1ulr>4ibs^EZ=2m@hQSY8+U`xv4rBfhk+qBhb5fZj=0(Zm z=egqbi^=SfSJ)V?D&G~oAZ6b@5fqcZ{v!nQ%QJ3hc`^^HbjWqPRrpjhHOejA9kWdx z)gNJZoUF2+O5jkKlY>m7IK4PIHM^q-l{>HdV? zKF^uTE-h_whDP~U+qSPh;cMqXe4>eDDpU)FQ#hw*v#AA_N2?5hWs}@xf*1ROj4LVi z<2QW=O;H$Z{*Z<>|0!SbxaicYt@tM|>Q;8wO#Ih>&tdupr4ka-9E-fdE_3wnMl|tN zrI*}W=t^|j!j?rc8>)9ccKo|O@B6AV@+88LxvG(VLUQy>;8@zktaZ?>~_I3)2j_Rb%az*l5B&pERbT3R6*{;*x6L??&s!td_;D z*mjkJ&u_YN<(0SCwMK&o{`8{4-p)iJ&VMFZDE^2BV_IOcFZ4zon-rC}DU*#;r{@uW z+W!1~*+WwQN?;B6qZY3XDo=8YH;9PUuZ3OF>hoH|g=Py#iHTeIL_DeNdU`utJqSP0 z@4*8S29EdFXgzI6riadAC1T8PUF2c0aTOjiCe=#pL+6_)L*4dWMZ9Q1j65&&u zY;Gz|uU}r%kcP%2O?|GDGtYIVi-u*^L>69u3O=8AoK8vH{Jv7TS(TG8AK!Av!)GXU zZ)`{DS4hWZ%SvVW2VWtl+8~^P-s=DrQnv~|OiGS+m|4NpvTW+w^!SF((8}&r3a&Ay z@SF%vcf4CUCtW1Q5lD0WFyZ!yf#P$?T{m$u5{65)+2fe-hx5>XB@Z?^;@r>$n z5DhK%j^@gpTh>n9r@YYXp`Bv@Lf@R6oCSd_yJ_6}FKcsxaD*+ z>4x5qqZ3r(RJL*ON_lwPg))`9x@=GPx74^h6o%@1dBwa9pjRQE>@1JYP#b@u%wB5$ z?KjFAj36Lmu}mrcS3a{a{Y#261gJv|m%E_#>Zu z;1(`Z75r#3WXlg<*q}Npz@fe5N$&eN*OD;n*Yj4`q|2-F8xIpj)87Xx@aswoYdnUz zYTPfPyzwy9)%eeSO5? z31osaM4#Zy>k~>WE7!LlSWw`xMh%M$JQID+v6kLG+bnvB6L~raoPQ-dC%lfw0 zE9JgFV$jNzF<4coTe&DM(oUw-9ylPyy!L41^ZG{R4Z=Jl6CZ`vQ_2`(dLhxkfs_TP zScB<(8@>amFCf0ifA>K+q87= zo_vmq{Gi3a8!;s~!G?)lIZL7B^xQtAlsj&y*yt6k1Fh8U(NNmlBjk zowbIiH*wrqO-fk|qJ>yKX(~ak$oo5)Dj&)&$xnW8DZ`v5tl~PaKc@L{`f^#i*!#e~ zTEfh>COzDrD%|$7o;)v&=^|^O@C}v=`q;^hFLP;+P$Drtzo^3n3|E&qM2AvV7AJdG zYW7j~n3GF($wCvD-hZ`sC>x{Nf9l42+PNsVoJ%2!F}{9b0w4xKyS9Wu)sxPxr=1Iq z8jUj~NngDlnyj#$(~Y73OFE4c71pz_54oov!`8Vr$+e(etkL9 zZsx`~2h@KuCc4O5M$lpjqxRXH;J?97`?h($<=)ZtsSd~%q%eIxRC_FDvxR{S3_ zycC<6i|{=@cs)_+6TC3To7flrr{lc7Z0mj9K5NT1MP+*os&urw?w0VkklM(4vnLG- z4Kpaa9A}Q?S)Jr_CJ%p3UYPksIxW7-P4xjMfs>pY(paI~isAiu0(r%#CVPJ3_?@yR z&@jmyb4iq3Pg_i6Q!FGF6{$2hPPv%T9n3%+(_CKRSZ#VN+S@-e!5*ua5Wi*G;N^Le zrgE2#eJS_`!&VgPkA!h1>y!R(Kb`0*c&7_r{8`$&0lcQ`J~8Naw@hkXXCh*C!fsETY?Nu-@ZpS_Tg}U2S1GVU-Bc(Pb?X*xQa=AWiIG8@Uezb zqDyM9Hw;xcgW^X=eKV4NoJ+|QW_`na$~G^sLLqMC&*R`v9KBiu&ck=(

kVbQ`8CB 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 fZ=L^txg(AkS~vKpAx38zIN(y0Rgw0 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/installation.rst b/src/blenderbim/docs/users/installation.rst new file mode 100644 index 0000000000..f62cb8d1da --- /dev/null +++ b/src/blenderbim/docs/users/installation.rst @@ -0,0 +1,131 @@ +Installation +============ + +1. **Download and install Blender** + + Blender is a free and open-source program for 3D authoring. It works on + Linux, Mac, and Windows. It is developed by the Blender community. + +.. container:: blockbutton + + `Download Blender `__ + +.. note:: + + No administrator rights on Windows? Choose the "Portable .zip" option when + downloading from the Blender website. + +2. **Download the BlenderBIM Add-on** + + The BlenderBIM Add-on extends Blender with OpenBIM related capabilities. + +.. container:: blockbutton + + `Download BlenderBIM Add-on `__ + +3. **Install the BlenderBIM Add-on** + + Open up Blender, and access the ``Edit > Preferences`` window. + + .. image:: install-blenderbim-1.png + + Select the **Add-ons** tab, and press **Install...** on the top right. Navigate + to the .zip you downloaded in Step 2, and press **Install Add-on**. + + .. image:: install-blenderbim-2.png + + .. caution:: + + You do not need to unzip the add-on file. You should install it as a zipped file. + + You should now see **Import-Export: BlenderBIM** available in your add-ons list. Enable the add-on by pressing the checkbox. + + .. image:: install-blenderbim-3.png + +All done! If you check your Scene properties in the panel on the bottom right, you will see a panel to manage your **IFC Project**. + +.. image:: install-blenderbim-4.png + +You can enable add-ons permanently by using ``Save User Settings`` from the Addons menu. + +.. seealso:: + + If you are a poweruser, you may be interested in the **Unstable installation** to help with testing. :doc:`Read more <../devs/installation>` + +Where is the add-on installed? +------------------------------ + +If you downloaded Blender as a ``.zip`` file without running an installer, you +will find the BlenderBIM Add-on installed in the following directory, where +``X.XX`` is the Blender version: +:: + + /path/to/blender/X.XX/scripts/addons/ + +Otherwise, if you installed Blender using an installation package, the add-ons +folder depends on which operating system you use. On Linux: +:: + + ~/.config/blender/X.XX/scripts/addons/ + +On Mac: +:: + + /Users/{YOUR_USER}/Library/Application Support/Blender/X.XX/ + +On Windows: +:: + + C:\Users\{YOUR_USER}\AppData\Roaming\Blender Foundation\X.XX\scripts\addons + +Upon installation, the BlenderBIM Add-on is stored in the ``blenderbim/`` +directory. + + +Updating +-------- + +First uninstall the current BlenderBIM add-on, then install the latest version. + +Uninstalling +------------ + +Navigate to ``Edit > Preferences > Add-ons``. Due to a limitation in Blender, +you have to first disable the BlenderBIM Add-on in your Blender preferences by +pressing the checkbox next to the add-on, then restart Blender. After +restarting, you can uninstall the BlenderBIM Add-on by pressing the ``Remove`` +button in the Blender preferences window. + +Alternatively, you may uninstall manually by deleting the ``blenderbim/`` +directory in your Blender add-ons directory. + +.. caution:: + + It is important to follow the sequence of disabling, restarting, then removing. + If you do not restart Blender, the add-on will fail to remove correctly, and you + will need to uninstall manually. + + +FAQ +--- + +1. **I get an error similar to "ImportError: IfcOpenShell not built for 'linux/64bit/python3.7'"** + + Check which BlenderBIM Add-on build you are using. The zip will have either + ``py37``, ``py39``, or ``py310`` in the name. See the instructions in the + **Unstable installation** section to check that you have installed the + correct version. + +2. **I am on Ubuntu and get an error similar to "ImportError: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29 not found"** + + Our latest package which uses IfcOpenShell v0.7.0 is built using Ubuntu 20 LTS. + If you have an older Ubuntu version, you can either upgrade to 19.10 or above, + or you'll need to compile IfcOpenShell yourself. + +3. **The add-on does not install on a Mac with an M1 arm chip** + + The BlenderBIM Add-on uses the IfcOpenShell library, which is not yet + available for computers which use an ARM chip. You may + compile IfcOpenShell yourself to get this to work, but this may be too + difficult for most users. Please consider donating so that we can devote more + time to supporting all platforms. diff --git a/src/ifcopenshell-python/docs/Makefile b/src/ifcopenshell-python/docs/Makefile new file mode 100644 index 0000000000..d4bb2cbb9e --- /dev/null +++ b/src/ifcopenshell-python/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/src/blenderbim/docs/bimserver-plugin.rst b/src/ifcopenshell-python/docs/bimserver-plugin.rst similarity index 100% rename from src/blenderbim/docs/bimserver-plugin.rst rename to src/ifcopenshell-python/docs/bimserver-plugin.rst diff --git a/src/blenderbim/docs/bimtester.rst b/src/ifcopenshell-python/docs/bimtester.rst similarity index 100% rename from src/blenderbim/docs/bimtester.rst rename to src/ifcopenshell-python/docs/bimtester.rst diff --git a/src/ifcopenshell-python/docs/conf.py b/src/ifcopenshell-python/docs/conf.py new file mode 100644 index 0000000000..7d291e12ef --- /dev/null +++ b/src/ifcopenshell-python/docs/conf.py @@ -0,0 +1,72 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2020, 2021 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = "IfcOpenShell" +copyright = "2020, IfcOpenShell Contributors" +author = "IfcOpenShell Contributors" + +# The full version, including alpha/beta/rc tags +release = "0.0.1" + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ["sphinx.ext.autodoc"] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "furo" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] diff --git a/src/blenderbim/docs/ifcclash.rst b/src/ifcopenshell-python/docs/ifcclash.rst similarity index 100% rename from src/blenderbim/docs/ifcclash.rst rename to src/ifcopenshell-python/docs/ifcclash.rst diff --git a/src/blenderbim/docs/ifccobie.rst b/src/ifcopenshell-python/docs/ifccobie.rst similarity index 100% rename from src/blenderbim/docs/ifccobie.rst rename to src/ifcopenshell-python/docs/ifccobie.rst diff --git a/src/blenderbim/docs/ifcconvert.rst b/src/ifcopenshell-python/docs/ifcconvert.rst similarity index 100% rename from src/blenderbim/docs/ifcconvert.rst rename to src/ifcopenshell-python/docs/ifcconvert.rst diff --git a/src/blenderbim/docs/ifcdiff.rst b/src/ifcopenshell-python/docs/ifcdiff.rst similarity index 100% rename from src/blenderbim/docs/ifcdiff.rst rename to src/ifcopenshell-python/docs/ifcdiff.rst diff --git a/src/blenderbim/docs/ifcmax.rst b/src/ifcopenshell-python/docs/ifcmax.rst similarity index 100% rename from src/blenderbim/docs/ifcmax.rst rename to src/ifcopenshell-python/docs/ifcmax.rst diff --git a/src/blenderbim/docs/ifcopenshell-python.rst b/src/ifcopenshell-python/docs/ifcopenshell-python.rst similarity index 100% rename from src/blenderbim/docs/ifcopenshell-python.rst rename to src/ifcopenshell-python/docs/ifcopenshell-python.rst diff --git a/src/blenderbim/docs/ifcopenshell-python/api-documentation.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/api-documentation.rst similarity index 100% rename from src/blenderbim/docs/ifcopenshell-python/api-documentation.rst rename to src/ifcopenshell-python/docs/ifcopenshell-python/api-documentation.rst diff --git a/src/blenderbim/docs/ifcopenshell-python/quickstart.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/quickstart.rst similarity index 100% rename from src/blenderbim/docs/ifcopenshell-python/quickstart.rst rename to src/ifcopenshell-python/docs/ifcopenshell-python/quickstart.rst diff --git a/src/blenderbim/docs/ifcopenshell.rst b/src/ifcopenshell-python/docs/ifcopenshell.rst similarity index 100% rename from src/blenderbim/docs/ifcopenshell.rst rename to src/ifcopenshell-python/docs/ifcopenshell.rst diff --git a/src/blenderbim/docs/ifcsverchok.rst b/src/ifcopenshell-python/docs/ifcsverchok.rst similarity index 100% rename from src/blenderbim/docs/ifcsverchok.rst rename to src/ifcopenshell-python/docs/ifcsverchok.rst diff --git a/src/blenderbim/docs/ifcsverchok/installation.rst b/src/ifcopenshell-python/docs/ifcsverchok/installation.rst similarity index 100% rename from src/blenderbim/docs/ifcsverchok/installation.rst rename to src/ifcopenshell-python/docs/ifcsverchok/installation.rst diff --git a/src/ifcopenshell-python/docs/index.rst b/src/ifcopenshell-python/docs/index.rst new file mode 100644 index 0000000000..c4aab3ecd0 --- /dev/null +++ b/src/ifcopenshell-python/docs/index.rst @@ -0,0 +1,32 @@ +Let's learn IfcOpenShell +======================== + +IfcOpenShell is a + +A coloured icon: :octicon:`report;1em;sd-text-info`, some more text. + +:bdg:`plain badge` + +.. toctree:: + :maxdepth: 1 + :caption: Contents: + + ifcopenshell + ifcopenshell-python + ifcconvert + blenderbim + bimtester + ifcdiff + ifcclash + ifccobie + ifcmax + ifcsverchok + bimserver-plugin + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/src/ifcopenshell-python/docs/make.bat b/src/ifcopenshell-python/docs/make.bat new file mode 100644 index 0000000000..922152e96a --- /dev/null +++ b/src/ifcopenshell-python/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd From 194bc53bdbd6073ba8046d2df96a00cca5553c82 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 4 May 2022 15:54:15 +1000 Subject: [PATCH 095/243] Minor refactor --- .../blenderbim/bim/module/model/wall.py | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py index d41f8d5e11..368c907350 100644 --- a/src/blenderbim/blenderbim/bim/module/model/wall.py +++ b/src/blenderbim/blenderbim/bim/module/model/wall.py @@ -688,23 +688,10 @@ class DumbWallGenerator: for stroke in layer.active_frame.strokes: if len(stroke.points) == 1: continue - coords = (stroke.points[0].co, stroke.points[-1].co) - direction = coords[1] - coords[0] - length = direction.length - if length < 0.1: - continue - data = {"coords": coords} - - # Round to nearest 50mm (yes, metric for now) - self.length = 0.05 * round(length / 0.05) - self.rotation = math.atan2(direction[1], direction[0]) - # Round to nearest 5 degrees - nearest_degree = (math.pi / 180) * 5 - self.rotation = nearest_degree * round(self.rotation / nearest_degree) - self.location = coords[0] - data["obj"] = self.create_wall() - strokes.append(data) - objs.append(data["obj"]) + data = self.create_wall_from_2_points((stroke.points[0].co, stroke.points[-1].co)) + if data: + strokes.append(data) + objs.append(data["obj"]) if len(objs) < 2: return objs @@ -726,6 +713,23 @@ class DumbWallGenerator: bpy.context.scene.grease_pencil.layers.remove(layer) return objs + def create_wall_from_2_points(self, coords): + direction = coords[1] - coords[0] + length = direction.length + if length < 0.1: + return + data = {"coords": coords} + + # Round to nearest 50mm (yes, metric for now) + self.length = 0.05 * round(length / 0.05) + self.rotation = math.atan2(direction[1], direction[0]) + # Round to nearest 5 degrees + nearest_degree = (math.pi / 180) * 5 + self.rotation = nearest_degree * round(self.rotation / nearest_degree) + self.location = coords[0] + data["obj"] = self.create_wall() + return data + def has_end_near_stroke(self, stroke, stroke2): point, distance = mathutils.geometry.intersect_point_line(stroke["coords"][0], *stroke2["coords"]) if distance > 0 and distance < 1 and self.is_near(point, stroke["coords"][0]): From dd127db9690f6f4eea54927d33ebb68d83dace75 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 4 May 2022 16:04:18 +1000 Subject: [PATCH 096/243] Minor documentation improvements --- src/blenderbim/docs/blenderbim.rst | 27 --------- src/blenderbim/docs/devs/installation.rst | 2 +- src/blenderbim/docs/index.rst | 7 ++- .../docs/users/exploring_an_ifc_model.rst | 0 src/blenderbim/docs/users/installation.rst | 6 +- .../docs/users/introduction_to_bim.rst | 59 +++++++++++++++++++ 6 files changed, 71 insertions(+), 30 deletions(-) delete mode 100644 src/blenderbim/docs/blenderbim.rst create mode 100644 src/blenderbim/docs/users/exploring_an_ifc_model.rst create mode 100644 src/blenderbim/docs/users/introduction_to_bim.rst diff --git a/src/blenderbim/docs/blenderbim.rst b/src/blenderbim/docs/blenderbim.rst deleted file mode 100644 index 3beb554aca..0000000000 --- a/src/blenderbim/docs/blenderbim.rst +++ /dev/null @@ -1,27 +0,0 @@ -BlenderBIM -========== - -BlenderBIM is an add-on to Blender that turns Blender into a powerful BIM -authoring program, supporting IFC import, export, and data manipulation. - -This documentation is free software! You are free to contribute and help write -this document. - -.. toctree:: - :maxdepth: 1 - :caption: Contents: - - blenderbim/installation - blenderbim/developer_guide - blenderbim/undo_system - blenderbim/georeferencing - blenderbim/running_tests - blenderbim/scene - - -Indices and tables ------------------- - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/src/blenderbim/docs/devs/installation.rst b/src/blenderbim/docs/devs/installation.rst index 06f24abb95..1f0979fb4c 100644 --- a/src/blenderbim/docs/devs/installation.rst +++ b/src/blenderbim/docs/devs/installation.rst @@ -15,7 +15,7 @@ Unstable installation that they are typically updated every day. Simply download a daily build from the `Github releases page `__, then follow the same -instructions as a packaged installation. +instructions as the **Stable installation**. You will need to choose which build to download. diff --git a/src/blenderbim/docs/index.rst b/src/blenderbim/docs/index.rst index 56f7bafd78..1eb9fc0651 100644 --- a/src/blenderbim/docs/index.rst +++ b/src/blenderbim/docs/index.rst @@ -1,13 +1,18 @@ Let's get started ================= -The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with Blender. +The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with Blender. + +.. note:: + + This documentation is incomplete. Would you like to help write more? `Get in touch! `__ .. toctree:: :hidden: :maxdepth: 1 :caption: For users: + users/introduction_to_bim users/installation users/exploring_an_ifc_model users/creating_your_first_ifc diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/blenderbim/docs/users/installation.rst b/src/blenderbim/docs/users/installation.rst index f62cb8d1da..bf6b050118 100644 --- a/src/blenderbim/docs/users/installation.rst +++ b/src/blenderbim/docs/users/installation.rst @@ -23,9 +23,13 @@ Installation `Download BlenderBIM Add-on `__ +.. caution:: + + If you are not using Blender version >=3.1, please follow the **Unstable installation** instructions. :doc:`Read more <../devs/installation>` + 3. **Install the BlenderBIM Add-on** - Open up Blender, and access the ``Edit > Preferences`` window. + Open up Blender, and click on ``Edit > Preferences``. .. image:: install-blenderbim-1.png diff --git a/src/blenderbim/docs/users/introduction_to_bim.rst b/src/blenderbim/docs/users/introduction_to_bim.rst new file mode 100644 index 0000000000..0ffea5938f --- /dev/null +++ b/src/blenderbim/docs/users/introduction_to_bim.rst @@ -0,0 +1,59 @@ +Introduction to BIM +=================== + +**Building Information Modeling**, or **BIM**, is a way of digitally describing +our built environment to computers. Aspects of our built environment that can be +described are: + +- **Products**, like walls, doors, and windows +- **Processes**, like construction or maintenance tasks, and procedures +- **Resources**, like labour, materials, and equipment +- **Controls**, like permits, orders, costs, or calendar availability +- **Actors**, like occupants, clients, architects, and liable parties +- **Groups**, like systems, inventories, or zones + +These objects may have lots of data and relationships. The data might be a +classification system, physical material, associated documents, simulation +results, construction types, or location. The data may be relevant to multiple +disciplines, such a architecture, engineering, and construction. + +.. note:: + + BIM data is very different from a regular 3D model. In fact, geometry is + optional, and most data is non-geometric. This means that it is not simply a + 3D format that you can import or export from and expect meaningful results. + +**Industry Foundation Classes**, or **IFC**, is an international standard for +**BIM**. **IFC** is the most well-established open digital language for our +built environment. Most software will be able to describe their **BIM** data +using **IFC**. + +For example, **IFC** will define a wall as an object that can have a name, +construction type, and quantities. **IFC** will also describe that a wall that +be associated with a location, like a building storey, or have an associated +cost item in a schedule. + +When you use the BlenderBIM Add-on, you will be able to view and create **BIM** +objects and relationships using the **IFC** standard. + +Things you can do +----------------- + +The BlenderBIM Add-on is designed to be a full BIM authoring platform. Its +capabilities have a similar scope to other modeling platforms, costing programs, +scheduling software, CAD packages, and simulation software. It is too numerous +to list in full, but an example of what is possible include: + +- Viewing models, including spaces, properties, and relationships +- Edit and extract attributes and properties +- Moving objects, and changing their geometry +- Create new objects using library elements +- Manage classification systems, document and library references +- Generating 2D drawings, schedules, and creating sheets +- Investigating and editing structural analysis models +- Connecting and managing distribution systems and ports +- Creating construction schedules, critical path analysis, and generating sequence animations +- Creating cost schedules, using formulas, and deriving quantities from model elements +- Clash detection and managing issues for model coordination + +... and much, much more. From de1dae8b6e8100068e09082215a987989a078ec5 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 09:28:36 +1000 Subject: [PATCH 097/243] Grids are now locked by default when loading IFCs --- src/blenderbim/blenderbim/bim/import_ifc.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index a3b714a202..483473a969 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -518,6 +518,8 @@ class IfcImporter: if grid.Representation: shape = ifcopenshell.geom.create_shape(self.settings_2d, grid) grid_obj = self.create_product(grid, shape) + grid_obj.lock_location = (True, True, True) + grid_obj.lock_rotation = (True, True, True) collection = bpy.data.collections.new(self.get_name(grid)) u_axes = bpy.data.collections.new("UAxes") collection.children.link(u_axes) @@ -535,6 +537,8 @@ class IfcImporter: shape = ifcopenshell.geom.create_shape(self.settings_2d, axis.AxisCurve) mesh = self.create_mesh(axis, shape) obj = bpy.data.objects.new(f"IfcGridAxis/{axis.AxisTag}", mesh) + obj.lock_location = (True, True, True) + obj.lock_rotation = (True, True, True) self.link_element(axis, obj) self.set_matrix_world(obj, grid_obj.matrix_world) grid_collection.objects.link(obj) From 4e2400952abd5148192bcf6d125cb9eeae224291 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 09:58:10 +1000 Subject: [PATCH 098/243] Fix #2147 #2143 Fix hanging when reloading a cache of a file with 2D and 3D data --- src/blenderbim/blenderbim/bim/import_ifc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 483473a969..72dae171be 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -168,6 +168,7 @@ class IfcImporter: self.settings_native.set(self.settings_native.INCLUDE_CURVES, True) self.settings_2d = ifcopenshell.geom.settings() self.settings_2d.set(self.settings_2d.INCLUDE_CURVES, True) + self.settings_2d.set(self.settings.STRICT_TOLERANCE, True) self.project = None self.collections = {} self.elements = set() From 6a82f27d48b648dad3c509e8e8d81164291281ad Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 09:59:04 +1000 Subject: [PATCH 099/243] Standalone Blender import script now available for debugging --- .../scripts/standalone_blender_import.py | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 src/blenderbim/scripts/standalone_blender_import.py diff --git a/src/blenderbim/scripts/standalone_blender_import.py b/src/blenderbim/scripts/standalone_blender_import.py new file mode 100644 index 0000000000..c91c2af0da --- /dev/null +++ b/src/blenderbim/scripts/standalone_blender_import.py @@ -0,0 +1,125 @@ +import ifcopenshell +import ifcopenshell.api +import ifcopenshell.geom +import multiprocessing + + +class BlenderImporter: + def __init__(self): + self.file = ifcopenshell.open('/home/dion/untitled.ifc') + self.cache_path = "cache.h5" + self.should_use_cpu_multiprocessing = True + self.deflection_tolerance = 0.001 + self.angular_tolerance = 0.5 + + def execute(self): + self.created_guids = set() + + self.settings = ifcopenshell.geom.settings() + self.settings.set_deflection_tolerance(self.deflection_tolerance) + self.settings.set_angular_tolerance(self.angular_tolerance) + self.settings.set(self.settings.STRICT_TOLERANCE, True) + self.settings_2d = ifcopenshell.geom.settings() + self.settings_2d.set(self.settings_2d.INCLUDE_CURVES, True) + self.settings_2d.set(self.settings.STRICT_TOLERANCE, True) + + self.process_element_filter() + self.process_context_filter() + self.create_elements(self.elements) + + def process_element_filter(self): + # Blender users can typically customise a filtered set of elements to import. + # For simplicity, let's select everything: + self.elements = set(self.file.by_type("IfcProduct")) + + def process_context_filter(self): + # Facetation is to accommodate broken Revit files + # See https://forums.buildingsmart.org/t/suggestions-on-how-to-improve-clarity-of-representation-context-usage-in-documentation/3663/6?u=moult + self.body_contexts = [ + c.id() + for c in self.file.by_type("IfcGeometricRepresentationSubContext") + if c.ContextIdentifier in ["Body", "Facetation"] + ] + # Ideally, all representations should be in a subcontext, but some BIM programs don't do this correctly + self.body_contexts.extend( + [ + c.id() + for c in self.file.by_type("IfcGeometricRepresentationContext", include_subtypes=False) + if c.ContextType == "Model" + ] + ) + if self.body_contexts: + self.settings.set_context_ids(self.body_contexts) + # Annotation is to accommodate broken Revit files + # See https://github.com/Autodesk/revit-ifc/issues/187 + self.plan_contexts = [ + c.id() + for c in self.file.by_type("IfcGeometricRepresentationContext") + if c.ContextType in ["Plan", "Annotation"] + ] + if self.plan_contexts: + self.settings_2d.set_context_ids(self.plan_contexts) + + def create_elements(self, elements): + # Based on my experience in viewing BIM models, representations are prioritised as follows: + # 1. 3D Body, 2. 2D Plans, 3. Point clouds, 4. No representation + # If an element has a representation that doesn't follow 1, 2, or 3, it will not show by default. + # The user can load them later if they want to view them. + products = self.create_products(elements) + elements -= products + products = self.create_products(elements, is_curve=True) + elements -= products + # Creating point clouds and non geometric objects are specific to Blender so no code is shown. + pass + + def create_products(self, products, is_curve=False): + results = set() + if not products: + return results + settings = self.settings_2d if is_curve else self.settings + if self.should_use_cpu_multiprocessing: + iterator = ifcopenshell.geom.iterator( + settings, self.file, multiprocessing.cpu_count(), include=products + ) + else: + iterator = ifcopenshell.geom.iterator(settings, self.file, include=products) + cache = self.get_cache() + if cache: + iterator.set_cache(cache) + valid_file = iterator.initialize() + if not valid_file: + return results + total = 0 + while True: + total += 1 + if total % 250 == 0: + print(f"{total} elements processed") + shape = iterator.get() + if shape: + product = self.file.by_id(shape.guid) + if self.body_contexts: + print("Created", product) + self.created_guids.add(shape.guid) + results.add(product) + else: + if shape.context not in ["Body", "Facetation"] and shape.guid in self.created_guids: + # We only load a single context, and we prioritise the Body context. See #1290. + pass + else: + print("Created", product) + self.created_guids.add(shape.guid) + results.add(product) + if not iterator.next(): + break + print("Done creating geometry") + return results + + def get_cache(self): + cache_settings = ifcopenshell.geom.settings() + cache_settings.set(cache_settings.STRICT_TOLERANCE, True) + try: + return ifcopenshell.geom.serializers.hdf5(self.cache_path, cache_settings) + except: + return + +BlenderImporter().execute() From b8791d43aac772955a600c89f803ec142f168eaa Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 12:19:40 +1000 Subject: [PATCH 100/243] Minor documentation update for loading an IFC model --- .../docs/users/blenderbim-layout.png | Bin 0 -> 235687 bytes src/blenderbim/docs/users/example-project.png | Bin 0 -> 236386 bytes .../docs/users/exploring_an_ifc_model.rst | 81 ++++++++++++++++++ src/blenderbim/docs/users/installation.rst | 8 +- .../docs/users/introduction_to_bim.rst | 8 +- .../docs/users/properties-loadproject.png | Bin 0 -> 43191 bytes 6 files changed, 89 insertions(+), 8 deletions(-) create mode 100644 src/blenderbim/docs/users/blenderbim-layout.png create mode 100644 src/blenderbim/docs/users/example-project.png create mode 100644 src/blenderbim/docs/users/properties-loadproject.png diff --git a/src/blenderbim/docs/users/blenderbim-layout.png b/src/blenderbim/docs/users/blenderbim-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..574874d3ccf529d089be480a7cfd6a8bbdd78f61 GIT binary patch literal 235687 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�S=NY;TwBIYT3$!ZB7v`V)L(( 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 Qi2@%P2?g=8r~3Z?2cih5p#T5? literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/example-project.png b/src/blenderbim/docs/users/example-project.png new file mode 100644 index 0000000000000000000000000000000000000000..4686b0a29450d112ccdb12cbfbe086b2cd711760 GIT binary patch literal 236386 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®o2mujpbWCkslIiA1f=~yO5 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%0D`llJte<+NrI4JEkQDO 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 H`__ + +.. seealso:: + + You can find more sample models online in the `OSArch Open Data Directory + `__ + +Loading a model +--------------- + +Blender's interface is divided into panels. The main **Viewport** panel shows 3D +geometry. The top right **Outliner** panel shows a tree of geometric objects. +The bottom right **Properties** panel shows data and relationships. + +.. image:: blenderbim-layout.png + +The **Properties** panel has tabs to switch between different types of +properties. Make sure you have the **Scene Properties** tab activated, and find +the **IFC Project** subpanel. Click on the **Load Project** and browse to your +``.ifc`` file. + +.. image:: properties-loadproject.png + +After loading, you will see the model appear in the **Viewport** panel. + +.. image:: example-project.png + +Let's take a look at the **IFC Project** subpanel again. It shows the loaded +filename, as well as the **IFC Schema**. There are two commonly seen **IFC +Schema** versions: IFC2X3 and IFC4. Checking the **IFC Schema** is important +because it has an impact on what BIM data may be stored. IFC4 is the newer +version and it is recommended to use IFC4 models as it has significantly more +BIM capabilities compared to IFC2X3. + +.. tip:: + + Blender's interface is highly customisable. Panels, panel types, colours, + sizes, and tabs may be edited to suit your workflow. + +Navigating a model in 3D +------------------------ + +TODO + +Overview of all objects +----------------------- + +TODO + +Viewing element classes +----------------------- + +TODO + +Viewing attributes and properties +--------------------------------- + +TODO + +Viewing construction types +-------------------------- + +TODO + +Viewing materials +----------------- + +TODO diff --git a/src/blenderbim/docs/users/installation.rst b/src/blenderbim/docs/users/installation.rst index bf6b050118..26a64468a8 100644 --- a/src/blenderbim/docs/users/installation.rst +++ b/src/blenderbim/docs/users/installation.rst @@ -10,7 +10,7 @@ Installation `Download Blender `__ -.. note:: +.. tip:: No administrator rights on Windows? Choose the "Portable .zip" option when downloading from the Blender website. @@ -23,7 +23,7 @@ Installation `Download BlenderBIM Add-on `__ -.. caution:: +.. warning:: If you are not using Blender version >=3.1, please follow the **Unstable installation** instructions. :doc:`Read more <../devs/installation>` @@ -38,7 +38,7 @@ Installation .. image:: install-blenderbim-2.png - .. caution:: + .. warning:: You do not need to unzip the add-on file. You should install it as a zipped file. @@ -103,7 +103,7 @@ button in the Blender preferences window. Alternatively, you may uninstall manually by deleting the ``blenderbim/`` directory in your Blender add-ons directory. -.. caution:: +.. warning:: It is important to follow the sequence of disabling, restarting, then removing. If you do not restart Blender, the add-on will fail to remove correctly, and you diff --git a/src/blenderbim/docs/users/introduction_to_bim.rst b/src/blenderbim/docs/users/introduction_to_bim.rst index 0ffea5938f..0b5e6fa0a6 100644 --- a/src/blenderbim/docs/users/introduction_to_bim.rst +++ b/src/blenderbim/docs/users/introduction_to_bim.rst @@ -12,9 +12,9 @@ described are: - **Actors**, like occupants, clients, architects, and liable parties - **Groups**, like systems, inventories, or zones -These objects may have lots of data and relationships. The data might be a -classification system, physical material, associated documents, simulation -results, construction types, or location. The data may be relevant to multiple +These objects may have lots of data and relationships. Examples of data might be +classification systems, physical materials, associated documents, simulation +results, and construction types. The data may be relevant to multiple disciplines, such a architecture, engineering, and construction. .. note:: @@ -26,7 +26,7 @@ disciplines, such a architecture, engineering, and construction. **Industry Foundation Classes**, or **IFC**, is an international standard for **BIM**. **IFC** is the most well-established open digital language for our built environment. Most software will be able to describe their **BIM** data -using **IFC**. +using **IFC**. Most commonly, **IFC** models will be shared as a ``.ifc`` file. For example, **IFC** will define a wall as an object that can have a name, construction type, and quantities. **IFC** will also describe that a wall that diff --git a/src/blenderbim/docs/users/properties-loadproject.png b/src/blenderbim/docs/users/properties-loadproject.png new file mode 100644 index 0000000000000000000000000000000000000000..8c38af054f1cb12f7d3dd3451e516c930834ca94 GIT binary patch literal 43191 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 M07*qoM6N<$f-uJ(Hvj+t literal 0 HcmV?d00001 From 85122ba184f9d4fd0ac79ca5e847fafa195a0678 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 14:43:34 +1000 Subject: [PATCH 101/243] #2185 Document how to navigate through a model --- src/blenderbim/docs/_static/custom.css | 7 +++ .../docs/users/exploring_an_ifc_model.rst | 58 +++++++++++++++++- src/blenderbim/docs/users/frame-selected.png | Bin 0 -> 158654 bytes src/blenderbim/docs/users/navigate-gizmo.png | Bin 0 -> 32381 bytes src/blenderbim/docs/users/x-ray-mode.png | Bin 0 -> 170760 bytes 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/blenderbim/docs/users/frame-selected.png create mode 100644 src/blenderbim/docs/users/navigate-gizmo.png create mode 100644 src/blenderbim/docs/users/x-ray-mode.png diff --git a/src/blenderbim/docs/_static/custom.css b/src/blenderbim/docs/_static/custom.css index a2c5bdb3b9..4ecfae2065 100644 --- a/src/blenderbim/docs/_static/custom.css +++ b/src/blenderbim/docs/_static/custom.css @@ -8,3 +8,10 @@ margin-left: auto; margin-right: auto; } +section img { + display: block; + margin-left: auto; + margin-right: auto; + box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; + border-radius: 5px; +} diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index fc3a4cfe3a..ca83eee456 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -53,7 +53,63 @@ BIM capabilities compared to IFC2X3. Navigating a model in 3D ------------------------ -TODO +To navigate, can use the **Navigate Gizmo** on the top right corner of the +**Viewport** panel. Click and drag on the coloured axes to **Orbit**, click and +drag on the magnifying glass to **Zoom**, and click and drag on the hand icon to +**Pan**. You can also click on the grid icon to switch between perspective and +orthographic view. + +To switch to a top view, front view, or side view, click the relevant axis on +the **Navigate Gizmo**. + +.. image:: navigate-gizmo.png + +You can also use your mouse to navigate. Hover your mouse over the **Viewport** +panel and click and drag the Middle Mouse Button (MMB) to **Orbit**. Scroll the +mousewheel to **Zoom**, and use Shift-MMB to **Pan**. + +If you have a numpad, you can use the numpad keys to quickly switch to top, +front, or side view. Use ``7`` for top view, ``1`` for front view, and ``3`` for +side view. + +.. warning:: + + Blender's hotkeys are context sensitive. This means that a hotkey has a + different meaning depending on the panel your mouse cursor is hovering over. + If you press ``7`` to go to top view, make sure your mouse cursor is over the + **Viewport** panel. Be very careful where your mouse is, or you might press a + hotkey and it will have unintended consequences! + +If you click on an object, such as a wall in the **Viewport** panel, you can +zoom to the selected object by clicking on ``View > Frame Selected``. The hotkey +is the ``.`` button on the numpad. After zooming into an element, when you +**Orbit** the 3D view will rotate around the center of that element. + +You can also zoom to all objects in the project by clicking on ``View > Frame +All``. + +.. image:: frame-selected.png + +Another good way to navigate is by flying or walking around similar to a video +game. Choose ``View > Navigation > Walk Navigation``, or use the ``Shift-``` +hotkey (the backtick key is usually to the left of the number 1 on the +keyboard). With **Walk Navigation** enabled, use the ``WASD`` keys and the mouse +to move around like a video game. You can use the ``Shift`` key to switch +between moving fast and slow. If you scroll with the mousewheel, it will adjust +the speed that you move at. + +Sometimes, you want to look through objects. You can toggle **X-Ray Mode** by +pressing the button on the top right of the **Viewport** panel. The hotkey is +``Alt-Z``. + +.. image:: x-ray-mode.png + +.. tip:: + + Blender has lots of hotkeys to do things quickly, but these can take time to + learn but it is worth it as you will be much faster. These hotkeys can be + customised in Blender's preferences. + Overview of all objects ----------------------- diff --git a/src/blenderbim/docs/users/frame-selected.png b/src/blenderbim/docs/users/frame-selected.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd1a016e723882ad041e598c38f4d540f63710c GIT binary patch literal 158654 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 PcSeKAs>oDJy$}8$P+XYn literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/x-ray-mode.png b/src/blenderbim/docs/users/x-ray-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0649bdfeadcdd019cc686db0892a72d37976fd GIT binary patch literal 170760 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

#wIF>^7glhdV+-F$uDn9UL>~V_+3=f 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 Z{{`=-$|7K8acTen002ovPDHLkV1nY~EoJ}! literal 0 HcmV?d00001 From 3213af2f48eddbea432e18aba601458fa2a11118 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 16:29:40 +1000 Subject: [PATCH 102/243] #2185 Write documentation on the object outliner panel --- .../docs/users/exploring_an_ifc_model.rst | 35 ++++++++++++++++-- src/blenderbim/docs/users/outliner.png | Bin 0 -> 93463 bytes 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/blenderbim/docs/users/outliner.png diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index ca83eee456..72e099caab 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -7,7 +7,7 @@ most users will be interested in. If you don't have an IFC model available, here's a small one for your convenience provided by the Institute for Automation and Applied Informatics (IAI) / Karlsruhe Institute of Technology. It's in German, so you may need to -use some creativity when reading the data. +use some creativity when reading the data :) .. container:: blockbutton @@ -106,7 +106,7 @@ pressing the button on the top right of the **Viewport** panel. The hotkey is .. tip:: - Blender has lots of hotkeys to do things quickly, but these can take time to + Blender has lots of hotkeys to do things quickly. These can take time to learn but it is worth it as you will be much faster. These hotkeys can be customised in Blender's preferences. @@ -114,7 +114,36 @@ pressing the button on the top right of the **Viewport** panel. The hotkey is Overview of all objects ----------------------- -TODO +The **Outliner** panel on the top right shows a hierarchy of all the currently +loaded physical **Objects** in your IFC project. These **Objects** correlate to +what you can see in the **Viewport** panel. + +Every **Object** in the **Outliner** represents an IFC **Element**. These +**Objects** have a name with the pattern ``Class/Name``. The class prefix +represents the type of object, and the name is the name of the object. Examples +of classes you will see are ``IfcBuilding``, or ``IfcWall``. This naming +convention makes it easy to quickly spot types of objects. + +.. image:: outliner.png + +Objects are organised in a hierarchy. By default, this hierarchy represents a +breakdown of spaces, from large spaces such as a site and a building, down to +smaller spaces like building storeys and room spaces. The hierarchy will always +begin with an **IfcProject** object. You can click on the triangle to toggle the +hierarchy. + +.. tip:: + + In large projects with deep hierarchies, you can ``Shift-LMB`` click the + triangle to recursively toggle the hierarchy. You can also click and drag the + ``MMB`` to pan left and right. + +When there are lots of objects, you can type a name in the filter box to quickly +identify objects by name or type. + +Clicking on an object in the **Outliner** panel also selects the corresponding +object in the **Viewport** panel. A good strategy to find objects is to then use +``View > Frame Selected`` to zoom to it in the **Viewport**. Viewing element classes ----------------------- diff --git a/src/blenderbim/docs/users/outliner.png b/src/blenderbim/docs/users/outliner.png new file mode 100644 index 0000000000000000000000000000000000000000..d568f9ed07249f7079fad8368065c4d357a9799b GIT binary patch literal 93463 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

H9MwgkDa3hXu}RL{oM-V$cu0a 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%0D|C4Bb@Y%=y zpT6dmZ%%5_*NX6$n~r)%+JE2*z=@0EH)JKM5La(6bUc7@h*(hNIWbL$8p{PkJ{=eu zLJ@`{`~^OE`*5U?Xee0k6)ov6@o8&KK8ijzl?GkTEI8azM`-qa-u<(ztfu;wM+Sse zWV1{^KS_T*MK49OE{1ij+U(=40y7YHP=p`vFD8PE1uw7muEM4mrL8INlCntpOqg|B zT6z{y0L&OWS=jL}xwb z`R&KgKVvk1J6c=6F;V?sVeYe>;WV+wt&Y9JBSVZAi{>1j_I58;7M8%N3xKl;bpRmT zYk{fZe;fi$ND>M_Xdg#LD#4^_e@iAq&V<`Z?$6MG43VtEym$``(@cQt;vKYhkURoA z4d_GMVA*C4(Xrpt-jX{4W%^odZ95W6Zcq8vCRo%A2<5luv>czko6SL$pB+&9Jw1%qolmPyAw9&`be#p5Q4T*6*zuXi@>&tQ{;WDY>IXVx-my^?&2z z?{UEYKxEesf4u8_NV0$&o4GB13jI+WNK!%9#`=m!2dyGCmzCL)F2RCF8agH>et%Tp z;1!_?ZLFmGW+J2$SWF$?!o+>S)v#9&A1*nxKrrFCfVm30JMf1P0xb+z5=w}wF*@AB z>;mKKyEkuMlr0Po47>zz!H4Dnrzc!jF{q(H3LS;K5l+^%KrByGqn?AB<|C;iv`cj* z-mv!BoA+3ob$N8~YHR+4ec(9v@jAj-^|I*jzLz0 zh~_yKX3sQ`NP_(rQ;1yDvB^)Lq=6J6F|opY&mwTF?Z*Eu`?;%+Lhs4z3u6f=zCGJ>?VFzUt?>QfBu`0@ME{}YXOKzVzTa{xXz!2IhUr*5~jdGJh69yfAsQfL~W z`{G{aASkZ*ZVx^{{b5Te3z#u=VRt4bK-j4(k%zl&I;u?puQ3RRw*JLj^Nx3*>Euuo zNV4qUM)fiAlNkkf6WMo!!$-Y%5%zB420{zBiNsu#M#<3U^YKgHt;1Lzt= zYu1~E*5)j!K2c$%{ztKr^VpBZN4#x#emLw#YPj7UCd$Wm za$BJA<*2+26r&R}QtwAZ$WOu_!TOZSG{sN)4wWE!r!Xj@%V`%MUvl_nK`}9Op*+Ry zzOqHppD;fK1!9it6CHlS#^R4S%vi)o3{9|NXSpud^7%fhfUV+9TNYAezNHNxRhzQt z8EFtvd}7CCX6EM9diIm~ajJa52SGuj%?X>~oZNV<8kh)QSVQKOQ)C@MzKK{u)o(L& z=n@&=h19Q!?0YeajWg9<%I+Uxso`GncKOFx?Yd#m6(OvA5I*u0chp7T~!ck!*(y zMk*7~WvY{w3|jy^(xm1E@O~7)i)C;NB4nu$0RFro*HRDPwuel_ zN7!%&k%mP8>+!$oMd{m!l*8Hvtc56L9T-%WliGK(v+bfp!7o4NbHHOk%2{4XX=!PZ zYRY%e;f0+%Q?gYrTsVpL6|_C+-w{SY3r=l$4~iBub+p|YD5n02`ZsY0tRPJLj~~}T z?QieQw0u3qFluw`^kj3mXq#oTy}#|?0JUAoWRT8RPyTSrj*Qg+iKI6MPzL!hBlJT{ z%{g_U3CD+>1|$V@yaqc4dOM$4(!K@=geLDy=kHfBf`Yt;erW|x6qpMa;0iR8k%tYt zm>z_MbtH;6zsZ*!EflMvWm}QlIl8Iwz5l#|6NP$0OR~R8@otHe|A;|fl;=j9JV0f6 zpV1;!;R_4IIX*qbf|kru`Jd(f=ds8yFpxtu94pb_$^=W!E?Q_u+=!&dgMJm18wh{3 zx&cK+H#0?9_T~lzoRXL;fenXb7NF2ib-Kf23J`PuK7E6GVBkh1yjV8KVRv6tR8+_5 z%0UE`L>-ecK9fE=C`+6)ZX-9$#-`r-$t3PSY#&(2zQa7yC3Rwu`sarsEyn!3fL<{r zxFs=V&!FlbK9FMdHF>nO;1Nt& z;yGTj@ofC@A{}oZ`MJfsE6>WleQ{gsT|KExUkP;*?uT*7N7jdMJECk95?|S9AYO4B zgifs}(h_en}! z@D&e$>Vojthln@|v3Uz~ENfHBOxhASx56 zEtIJ6iP~dIz>X^#ZS5|N4n@@6Vd)cY29&cCzXVVm$SNP&1Uxb548bXYhHQ742r2qi zR==aJMrjA-Ts7!^>Q@e0YNwc3uJoE-D5zwmA`uxuhb38HAr39Tf~wy3#9Z38gT1KX z@=i|X!*75E2+_c5q-6%DEpXj?O#g_3Mfy^CW7o~cUA`K0;+_W|k4 z1Lu%^_!KS~VMW#RTh3W4P8;j78jSp$u%6LQ|5M`ev>c9~|B`5q{`K#CM%W);g>W6J zT^C`(zzv&JwI{ILf6Labnebo`lF)IM8v+{@3uWBirSp#H|I&I4}B9BaAkrK23Vq5 zyS5*98N&3WA&eBgg2g}{>NE5s#<-fthwXDnXfGGv#h z+Y6l`;Se(==(C)|0qz3{{Cs?xFE2_*4I|!VcCO-&EzzKO;SLdeS&A6<)E`@yWS=j0 zbl6R5uCuc7xms3lewW(c)@u4Vg~_dG%z%RsddTD7_9dvl!8@7a?9$mzL7I#I(L}!2 zD(HZd#3_j~F$Ff#7=sIt*v9#*YuTLDE1m1;vM;25lG?V_Lbkv68Vs~1t9CXB=amI7 zUZ3Qaepb66AvpE=5M6w@v+Mp$)%>ckJxy;2IpF}0~Uh$tTy(y+}TH}%DG!hm> zMMEVYtczLu@VfDZ=aLV2qdMtyEnXkI^{Fh2s!3N{XoYR!uR59YtM^SQ_PGPl^rte< zJV|}syz($y`Nc;IBTEK6EuE;&? z5)Pa%x37mM#>^u}>-o8Jw-jaiRo^&i3s2O=2#ZrXmOgXG6w}^L7WukoRG~IwN2ssZ-0Wq# zD6sVV{XOx7nO)oQ+Mkd4#B?`GIi4f2CEH|&+SAlnO?X9M9@uvD#v_P{U}E5>F#yX8 zF9Uo)4;lTK(7v3sah(!(kk#yvGTvG2)!YV=&Jg7`#P`$53E#p=lqL-NpK$uNv{T?T z+wXg=55n~7?j?5~R9_x5^0~nMLW6TDXbt6=pPent**wQ<_nL`LK?3p4-wIlrMC~zg z=ro_O^ajvCS)X;^_)Fy9`BO`dG%bzmEk{BaaL}QGiyrPk84PRVUW?d)qAGiM-UYQJ z)o?taczW{|+K9uv8BtN3xI-E6Qa_exlt*NCKFYLx3%#al3^V2F!FppkMR1C6VjcMtL3L3f8=s*=;xd`0G{Y z4~3uB%sS>Gaar9d>-T?1xoK`+(PJ7|_zwM5r7s&uh7akq8(3E|FeJ*)-wE6WbJIH% z9Zhyhi&ns+BT(IF`XonW1ud&h7QQ|bTSR5Q$*Mzapao%Kpc`<+S+^C8D0q`5Om+ao zr9WL^*1V1%1117rca@tq6_d`p6=TZx3qD(vdd}Un<)_37QxOY+=%YeYY0&!-^9I=Z zUvdeSDLzDDAs%a>@kLNlXx5&FXwue{Z%K?m|41cw@C^{D1dt0Kk`=CYRfY5834#fu zzs)XQym$*Stpk^9J{EoNO^VZNPy_A~X%*I;$)VrcIw*9zp(mxxpzUgi3EPE+w{KSf zf{=O@LBWljd7bU;AEJ)Yfx(ksEkgnN5jhi#T@A+f!>{+Rfuu?{#lRVMOi!;^zJdbd z6ZF;HAer@}+QB))^@lin6mEHFKA`(*&{Hf=+IT=n2brKJOeC^V^bhFz!|iUr1yIWo^~yj;7{yCDDc zC5uMm$A#>A$@Xln(RX7Itm7W5p2Bt(s5{UXA))Ld-#MwcpwM$!;5wbM19Qbw#^L{$ ze1eSCW&9>EW&s0z(eUsK-Bzi0jrToHXYi;Q7#UOIT$)YWXO4*`E*D+6?4JLl{TyAW z#6+k5Wz7Qf`IahH{lga9j-$i?{eJXu#xOY%u!rpzsLS<3Z-m*myUQqzA;mGo?k##9 z!#<9IJ;Wf}eC8C19$P&I^nzobNHq{li2d1}ZioNBpchzQctRnFtwfy02dj=S;F8_| zOnEDXAKByA>Sxd~5PiJ&$sd8`>=)W4*m2070$LUA>{epXLlgsRG9QqNX<)Zzo1HMU z;8F7u%7slGbBXe{9#N4-H3`EMs|d9d1(_!XM1x&Ayckh|6-=)vsqqFlQu-ZmcF z)`|PgtGbet2Os^-rJPLPr)Bz5>WkHlhNPTl8c-X&zV-0gp>A)w%mEr`0v& zwR8`u47EtKx!MZuJ{t9CxX?82jL^F3yq2|>5)i=KNKgL;A2~GiH~8>@8mFO6wXPFH zMcyemMqin1_lnMV}HW*%;M>uj? z6=0A4myXlUUi(+ap;flU&5tcS?gw~KqgGlvkbZrh-{r9K*q2Wa4{1d`*Ba+(&bPiw z{qth6Dcw6xZnFZ2cktJtpW`FU+1&8g?Qr?AB3=W%M>e~mzDMf+UkEhuyG-_~qHkgi zF*I>=yJHq%V`=aVwShWsP>3`C|DS|nHdeg7Eb8}G?k9_79AmZcNjel zaj5jyxZyB@v4sFcB;lm)YzMn*9}Q-06f$KC@N{117jR`-;Wxv;vZG(E|X z;Uk`#`Gr%R8D^!}yEr~RrMK2oYpN}3s~#Wxn(p}h-;^pxoc(QG zaySd#Liu3*<3Brc4AzMh_py6<9@5~B;86*jxgnR1<4F6?Gx~U4R!7%myQ>U6&vl=I zTE@-OpH=l6RY35THAY&J#lCQOeaIh<^P|0ms28SzxZt{1Iih3wP!ic`<`hml3|XSb z@6x4+a{m_<_q6Xkm*EdJJ4ipw)fE%|Ndmb0919Tb?0trF8B>e=loBVsUaMW}drED5 z)u`}!ygFc0b$xyD6b^g-tQPsURs|icj3cKI%NqQ!U1VVO+N-n^(wEZeD3~tPKGYp? z)~Qh2a$LAVVC(FU!AORwF_*}c+55)ZgABF`9t&)C&0}l6cBgRCGsd&!`c>4D3n?@O95Wo{$ zP)Hc~^%Y@j2_#nBwdQBDjPSF1E$ZlJX>;T3OE*W|-I@zCF3-YkPD1jKdM{y+ zMZe6;tgHdxg58{)Q4KcVz9otr$MKct@;jet|5s_kd_f|!&bz?3u9?an=0qbHhV`$# z8!~Q+rNyI7w@W6a$&EkWh%!OREq(c8@d$(HQ8nA}?}wN(-3@Y<*Sim&iQYQK0i$XM z#5j?4g9zs&Yyh=dYzN26lSW9*_AS`4>ze;X8P2y6cO@2b>;b7av0 zYLAbE!y0%!C8Dx#WwYt}&8bQPO|nvmCP2ss!9~7eJWG($ zxKD+jL_7=w1M);9;}7dWdE(h5Fzd!vOGr%+a~PVKNVgBZADj@xnvJ>c_(Ro@*q2MO zOiWA{O--v|euumKGs18T_d>Hca$h}2%8Pk*{;cFv0f)>X8I3i;XH5r$ZVS3(|Lg`B z3e<_$d8h%_86yi4&gx%JVi+ETj8-w5LD}6%R6) zfUaC2Dj0GJ{g$WstH!W_G(3DeARJmKJS)I}zrs3s)S93#6*e3n_;lXCUx$km=t|^a zFHFNoxudGz2dN5WJ|$X&t@NX{(8!PI*2v$6l}I*7O$aj~Pli7uH3&;!HYB+m*#%!F zzdkD0sU0PF)P6+|D=oE0&5m~3q%;>-!?KX2G4P_E&x!%rux^YQ>qrqQ+0>M*mFp6qFbMIYSMC7+o-GI>VT{X5G5Y^1iURdHjQR!i4U@AnECdJJt{O zB7`(aJpyu4P;W`(iFDr4(QPF=Oo6LRzSWI+bFDy9$BUDIcu+>tP*O0-{;`NuRjq*y z8bA&5;ySQ*_;B%fC!eL8Ne%Z>5MDEgmiY`6EY*X+yi{-uFWwg~?4oo@L^i zM3eyk_8)!eA~U)n-NQ*W3Cciqie?o4CY2y3;5WU5*^*_PjUZHbmQwNs9PTWq@bcuQBjee1?W9U zhJk6qGvjH54Ea0UY|tRdq7PzmtWMC<)HEJA&-q(RS9hNZm$co543`!SNetuVsO01lIiez8kOxQ;*+9MH@gT6zQIXj6^!? z@R>tsYr+Lg+90q8j@)fSAQ|9CL#njtUzn!3E9RA^`l-z8t>;hH?~8vC|D|`;?d14) zoVvMQdqhM~2nLTFQ8)4DM&0C2bjg4q(Td_g-2wCfK@>}pCQm?J42XQ%Imx{v$qB_~ zu?eIf&~?7~m$5l?lOdBVQLr>+wd%ET|I*90r(k%)!?Ivc zjgW_QBi_sFc2t_}aHU*NwG#CP!UU=#TTbHRq~WVbw;rSr5ebpmBaGtZ9q({xtK7Ij zR;H136cL_5PT_nz^_Pr&NLx8Ul#W#AFw3cWqrtEA41PD3B6((7Uq2n^=7jweS}Cj> zyCjnVZL3BSd)Zp>4M7GVOa=UuI92upz?2N<+sKHgMiTa4veUR#{q#75?3NmyG<%*d zC-_KER!<7HfNG$f04~Z!HQ+yJH|6P&TpzWu;K1m^?-Sk`uP7TjH%TYSs-D?fEakeB zSPSsJmw>8{Vbg>S^%C|JPh1V4fZlo;yL*X4P~L|TVK0(~#aasshp>zlfhK`#Q*P_6 zOI-8a^x&yIQLo$^?UQeMMz))KBs3TkPtcjzlMz{2>YZ!O7H>AfjM!+r7twf}y6}FM zK?1KOzu}Y&I-(YmdD-Lc-Tm+q zAQp>&HZhHWheI0`drC|pmVAnJr*P3+bmeAitEY>Ywd1rLyJ;=Eyg9PPlypnN@?q-0 zj62sf!;368L1rxL5jv>53g-t9o2Nu#q?bW{ZmRD&;C)_=RI}@=?BS_VP?}7)`ET9 zTl+NXZ*U&{TEHB?VOP}Q`+Q=iVdHL#91##Gko=LtNMUGrb=!k=@87-ak3HKTaR26! z&^-XtocP21`D-O^0!~gFGmfcu4+2NFe7tCX;hWZ-O4m~iGd5az$x_Ulg&6(HKem6} znE2gU@}fiP0^M$bl&9+%?LMEEPU5_tw`k#w-)Bk97kipRrYT-#(O*AUts}}Vq`d!N z=f;_C4GQaUCYj!Ww<)n{r<_O2ju{R9UIDQg4@e0HYL5eOX-OGIao~7|zl)e!&|3wf4p)#qNICAe4K*U$$$N`6 z7D9P_Fp2fL{IY<#FFr+N`J`~it;*v!f-acrOSSGEx)$*w!HUK@`_rhjOXHkF6<5ZL z;bZ%|*;JcL*uR`IJ(SKP8ZE+f)vTxpMVXK=(dtwQ*XoDyImjx3WJ6qVa2X7}UBU*M zkRYqhYXZMRtR$}#iPd6r5vrnLJ~)wn3`UIWu!$M1v_9gmHP%})|NQG?Z7tcELEb$Z zei}IZdTDr$CEMLyh@XM7>DPkj<80$fz6RaQFF4B4ONYdXRE(Mx#0rFb>rjXQu0zGg zF*$im|Gsgy7HajQOEz0FVC@TTB}8HnE|6i62hN69rR3uNtcCM0_U*r~5*OqWm6TS? zvalx@>nr==hJxER>56?=(7e;8#YIuMds3YU| zb~r9IYtO?{nAf5WqHyr~zrFYo8?dl<>1B&JxEl=8pifJ{9>wf`CFYF}423q)`G9wU zm>S4>AV}w3i+mLLT_PEla`Mb<$eJCpGX}|_ZV@|umCo^_F9p5ZV+_w6KA6~IJ6LqY zjYt3aQ%CLB#Zaq~b&E)M*8F4-3F>ZKbsOI;=@`IMhqwn(pWq(*3aevvwquY%qt!b7B}?`( zozFL3Jz=d1O^O%s=L;OwYqBCy4z_UMHMtRKOZ4+hd7xB-b43X}?OW@7SGiTjMN zq|vJoO$b5Fua1F%fo)wGVt*tLrZ-uP01&Lb;=h4T{elLH5WPz*k53DIyD z{{O!+Bc{7jW8p@;IPhALk@N)LgMXSAq4Di(K?IfD?yzZO);C@#BKcBqjW7sf=aRCr zUzHvDF11o}%C4B!Nn8?UAv+^F2da(DIwdL7mcMX*&TEL@z-@5$!{VnxYj*O%f5J6U9=Pi`@h@Xg4>BW`lINqQzL!e{ z#Ciubhhdjuss%-X+hPZ6e=bJgi80g;nlF^)b-OPA=F@v!*b&vSdDEu-OzR=WVJ4{r-w^;% zgbb(v zu3}=`z;GXvm*|_#Pim-SIj}ir`?h<1k9BBrtu%Z75sI<8l00uDX$-sWstZBZ4j?5gu@N7H@0Ri1mjvWy6l6HFy##Yili@ zPp=T2d~Z~C=Ph1fOcUZxp>(?bcI!H+R1I(HPui`iV!`Qvw2HQ{EwOBa8ArXVgzdOh|6@`v za67p^uKL(d#m& z?3k4%d(sqR`k|W9xLvEg_Y*l$(YT_9gHwlOHPZGgQrpU(zu;wTbi$;#Zq@J4QC;>E zQG!%=Zo^tD1heGdkR~62#rSlv2c6XFlRP(uLGF8wS7+CMsP#J$#63-tYfug$yDFgs z01V_#QBe&o*Ff4zi)!2`Y0hEGM;}#qUy|lwS@ zZG`gRmGX=S14~AT|j=4;Jo5tR+=RJA!T}AI?9Mw6^c#d65J2E~&o&bb5 zem~lZm&(AFg&nlo2{WZag1R;89#C%7F-c!b0ZvFCd<(HbVWP%1=4!Z9V|oIC5b{#h zjcG6NH8(b7UMje#U`1=xGE{$5PSrf8snJ-Nc)IX(g9nXycACUcfrm;rpE@3ug6oLz zwAgcrw}LG6XwwUG@XjGU*sLE8fHh0C8d0mAw>&&5lvUMh)TjPiR@t_7{U*kevA8t}d%1>^h(q1x>1Y!c80e+nma6@2rZ!UpZHtTNVGil3qV`Rm9)%?_{kVioB}p15egE&-Il zCxOwl1o9|ZgA`p{1iJ~GD|blSISjO(=ulQaY@5l26R>Iy6Gc5v*f(%m0Z4pAC)CMj zhl5>y|4hexze*Yl#@`gW9Gi5qq$Txy2rt*$KOd*F^Wd61*g(%;r;u>p_k;wS#Kg;N zb7RpXrx682`;zpD~hiuLG9ow)S9RPTYLVc=HCu?FGMqtvk zm9P(YB{6jYgKft=CMvn^4W_ozo~EW>XH=@y(Z-UXf%j*dS>ztBy=_%g6rC07oiz|VUc)PiJ-q*g zHi8&h>hZ_I9BOK63I!ohW#BgiCdAprDO`Vb^^why(2+O5>upHARNSl=Q?XpEJ_*B>7%x{eU+J>^Pv2Uzfuo!x_w9MKLDuvPc^il_#%rgT4xAKA8( z+w0^b)_c9=M!iS(T(1`HYUq6!0s65`NND z<|DGv5%O9i%?;e42=ihUa5<32Xjg8UdMjBoPuw1~v@xV&?2+Id62yW00bUy?RgOBG z1~4azF+cN)JdUmvTz0ibm2BqF=SS=TSWOF|4J9tzZ9uXq__%!)qN>(V0Vy}Pw&q+< zygkjGwudI$>C34L(cgL}YnO`5FYc<|JJ@c>(3>-5@wq7~xH{h015I;ugAH zor(aB7+HxQTg{nXJ`nK4rcK9T8dmIT+&WDvoO}2BWC+dXwuPJ_Rm=Q_*5EYhm;$JC{B)XAlcN3@|+zpN{)zhcn zV5N!&z6z*^s5MY`O2_q19#0J07f~&#R^g0E2cNcu5bG~|w+FFQ5T0(5nkNz$dZ1U~ zh17MP5P|Rqk53E+kqd>_RsUcVnFRGsSYQV^3iTbN&d({Nb!-kbMkIQSG7)}>VerT? z<7N_Pd<0&qRgvW@APufH(aM{>nmnpF|4y}emD8nXfqfT!`GX&p&%gQZSN~B|SKJlo zXw8NVL#YLm`e2)%9<*`;sX-a9z4sRqq)68w(NAHw@i?xquAv!OSy^mT=0;WsKmWEn zZ*Q^F;HYy$rimxv;B>k{h!tM0DyL-M&i~csPbLK+vMpM4K`7hMYOwO0RProYN z#qOQl6LeF@jcxU+RcOT+WIT2TJ`z-k5zMmv##d=#fd%j(dx*k>% zS}ASW-#(~e0giNZMC~q$2y(VLCZ{NnzIVZx-LjG37!On~XC|Sn=AuCUK9sb4pj7sTc(wA;_J9SP~##9=>wo1OvesL~H@!aMw8o7*( zF%9}ox?%onC*}^VQj2Rs6=R3Dk}?h*HBjI9IL_zW?m?t52CWGA%0HBPnh3Mt#AHU4 z2Cm-dj0_BiS5QG2qoH&7oL*Z6-Bf4xUVJtWC-G<1)(S95*le7jYcVRNRXvUa6?npp z9ox;>nFBCUpJ?vr1jZ5dR{ckjm?i{lneu7Nv$;vPBUtcm&GZ=uv)1#=B z`{pD8fi4bslQ_@GhjNo92}PawOo+oBKRJ1b!RHa)4mS~TQHZkV9sqoPHEHy^NHR3I zME11sOo>lqrS>oD)F-}(R}rt`x^+Q|FLC&DM;Yk? z;U3>HM9;*8ut&ss4lC`Xb47yK`S(z!MfCMmeoJZT+g^eQLI7Vys3j2kb-z zlAY%A@{>)xZN{aOCl3$aEQsVwmCDMI`!II8xw%^48s~o&JvKC~-;ZoD$>`xO{ihNI zqX@O0UY~s^nM)ZHKCt}Ae)0HPn)|G;khd9+MMb9vk9V!T7Is&mlHdT!N&Z5bxg)A* z=iB3#gN81mKfp3x_$NAw zGGXbQq>|EHqiHtTg$7Rt>z%iRO>7y+&o1}502Xz(1%Lju??>Gi$=d{l!74M zHY_5=_<|GOoowwuijZ}xdefVwlZR8E?~oZDSLkj2^)Hlz>SII-CiZ>C7ojZL0MQ#R zjR%agXqJ8Q-5CZnZwk;nV)Cj)SVST1zS&dW9(TBuJg7KN=Za>GjoW7CPUaxAvlTaR z*1cSQ5Sw7;@e*^h6+(1B{4BMHGY7HL^s7CGfk-=pi~j*S57$rl#j8JNx_@g+myyr( z*63HSG{bLKW~p2<;@5k&XQ$}9;2mcam-c^Naav8^rF$;KK1`&Su|rqv-ISM4Z+MSo z8|Tz>HlIdbZ;y)8E)G4^5u(LIl|VX7fF~D%EQ5R&MDu>+I1Tj~h#P7t*s(LW+%`PF zF_&h><1XlOAt8bp@K>JI@qK*j*7-cq@RF37pSTc93ET~k!Nr!uvzW0E2Jh?ZD-;!Qun-b+Bhy=j z0^N?IxCGyzbf)vmXu97lNp&Oh4*C!3eW*-DjshAH8Fr8u0)IIx-XLO4u4>ZFCCiq* ze0)}pZIIh0;gn^2d=%~p>^jT;q;LeT&PKo?HWD)dnjgfJU((r`-(%!3+E})$aLjM$ z^84amxbZWv7Yn7|9R&^o#6Lm53d_i=@eAYYCJ8i@dwuHfe}{SJYRC$HoQ!ZV8Db70 zEj;jKMKq1JzrJ|{R!HS{qPZO-RXR^<{7V17sR5*}iZs1~?NZA_^zp*$8_X#h??D#= z+|}C8Km{m8?Fr=Tpkk4_Ce)1LErFw)GR#`v){d-(t;Zytr!f1m1ho8yEYx~5PF9b@XIQ$Zl66jXmg!&?& z1;{Y)@jd?0q5abWhzZl9Wv2gF{Z_L{=w6ft7*~Ne|Mpbxl88GrbDPnw>*;!GYLCl< zy~o3E%$xuxM$wLe0z_0LX8^ef_SAxOa)jW`{XqwRJZb=C5&XS_rmv5@4aO& zhE=$rIlXtnW_uB5X(4PjL-qNC`;=q(ZNFt1wXI& zB;-EeR_;iA+ZgNdtP+n5diEktHy81O+AzevQ}}si5d{jmf1fM`jjr^byP8yPH~U{h zJeIIxekU0(6kUFVtcb`b6FS2lUIEY{D@KqW25wOJA2J8boUoqY;ytl|tA+?X5R=Hv z%fiz6rBW@bfox)iDF@WmYGf|iu?h|J8ITFtNfVuw@>>+c#O2ZW*M&pj^61aT&RS?? zx9}uk7$>M!$wevOLd88U?nu=bT_riQ$e5<3RC0380H;Z{DA z7@A7qx^qV(9iT$kxCi^K?2L%b>#cIRN{be@?#;L(k+$?9M@ks9Iz%{kK%)l_AKu02 z4=5=~s)6R2X3^3G%LhIVQn-n*cJ8<%?02NU7{4rBEbbVZ)8WTrY(hB51F?^lFHvv; z?MuqSf**GU7RWI@Q}KZ14d)L9>G^^2(&Y9mtPRA>1>t~*1EhZg_w}B=drMHx4ziet zlXy?aJc{AZ5EI@5B>_RfK%6M#G_a|cs6e{}yWLJ$ejtyL0)HV8$@rsTczOXR6OIlw zb#*y}pTLh=Sfz`IiERZR2xA3S)8F^~033?nlnR@4iia!>QvETAy@D$9MPy|LPfk@oKbqQPi7cA3Fa;s z!d6^E2{ks{_5C~4fPe?p58{Hyb|+6v4evQDj8b@_ByS5o~K zl=vU=2mXerwm&)s;l65&PlY9_<)W$|Co`6a05EvM3q$^aeFe0QAd#obfZ?Rq4-Fh0DH-E*Igga*v)N$h2pudbr zTJT2^ehlCAAl#pF4D$boDcWBcEX>Vs)bTTp=ouNK`P3;hBu7i?cGfMBA;#AZAF>z^2ZfUs~AG*lCRaAL`x&8tb-i z8zrTlN~M%3V^NeL5=lg%h@z4qQb=ZHCQ0Omui-TezvC z@l!rFg~(k(tG!ej&m z=l@L4#4wg+-epFnYFj!+)Kqw~VYh*%Y7_D5z^Nsqb=M@X**H^4pMdVVuA17~f^Xwt zrMkM%cHzDW2Ma?af$-kn*GcI|-DWhl8Kj^IOQ?Fj(a7IN|AXyt;kk3?D$sa<(PiOUQexs+xyv(S{!rIl zP*;D1pBTZwScoC?4?%sn>}S~1s{xmN3aJm9zh^rp*|=S$D3*Y*F3NI1|;137`@Ilf=0vmK=xJjTu zql0?x?(dn)NROr}!Eyf)5EdjN>0|==dk8-u^kk^h(8V-?$j`$*DS!2AxIux$Rc|lh ztx#*T@q_LMa0)aJ1qEiZAJ9y4FUGY*v2P%w8~la07pIMIX=B$;%z}6oFLE9v&$J&F zWxlCI-hXWDz*H0W62@TCm;C)dQZ5oT zbB2@iqk}XGH@)w8F@}`DmeK6ofTzJu0gK&z@F2Csm}Nw__vvSFUzW4IR+Zrs-c-GC zH0g@ksRN`|0)h}Ca)I6ekDq7~KMqMuiMY}%-da^&`El#O@M$@aR6;IH7BE0k|7`i0ONsc%m4VAy~@pw@zFg9(?h zi{b9kq(lAD7ApUEykX+M;UAgQP~+j}lgk4AMYcef`RqUQ$1X%P+=@BtcC>r*#x?3% zJcG2~KE#ZuPI~+_d-eyf=JKUxs%`&1UhCgz{B9&!uyP-L%%|BL21k|Bt^-9c1#I@b z{}?o>z`|sfl&BtLJ26bhHf>82du(Z({~d=?yJ_2$@b7IdA$$jnz5cOyZs!D*U7vg8 z7R!i8g@-D1j6co8CMeEtlv~Wz=FWZR@4?Fw0n_6`=6SWmv-zLeHMXTCkC_Zi`>^WM z+_DgHc5bsuU)Jx{#x_p3Jg2CmC52;ud+z5uyNYMI98WIYkFTQsd8DGD-s4?ko_B%J z8yK=u~?ay zKF?WpEOphMck1fm=EAPZoNLEhQ|}yZb%?25sCas$j-g9^S@iz$6{RPY{?B>8Sag33 z+LXI?Dff`!B!#&B(TS=MZ^~yOSLxiR@s)i1_jE0jl- z#=4nb%4S%s*fe)5x^4NcYvcUIeB|KFd+W-R9FL~ARvJvQ^fPuYT#hX8IKRQg>uG)U zyVLu!w_kTlALvncDEsMN?0+(rrgejyPij)G*lT00v&?Dy>k}F^my3#IVrP!JEZC_V zMf8mN>pk8)XE4Zob#k(OHL6E}>w^K)7w1&(Ab~qi!n1|7bas2Yg*J=SY?`n;$+4la z*xN3g{o0_s^~Ra+&Hb!5erdBf-2UL=U@+yq;d9Kyl&#Rmo*M1(q|&&r$_Jey1vu_1 zkMf^9#h&&xHev_u=Cy4>Pbq#U9!OI={GRix%ZK$U1zEkpY*U*!_-!hpYeyWY3sp)( zDmbf>EpLi^#19^9t$Vy+(?W%7cu?2x#jqESmmk)s^FC>bNu;Dax_M*m4Vx>RzGGrr zUGtLy9PC!^XBYMfG=w4DL8@kn?Z!9liowwfmM0B1$yru@QvIyhY@F9vKf8fbOy|u? zO>uF6!n%}$cQy#v$N$Wq8FFP%8+2q`W$Lf7?B-iIL9Ft2&Qk*L0~VoBJE)8xm#j8pU3W>WMer<~NKJ553ua$Cvi* zx$rgkXl&kC-BDOPQlKoX}Ngx|STnty7xN zE3&VcZ}HKls`p)Qdl_4ry65z2>z8uRkKDP?X7zB~gJ)}cRC#8v^4nj^JG-0|%pcFq zJ-+3@3KcaJqY@{zj9_mbc?KdCygJmj$e@fQt_j7Y*>Nc5j%ox!$_NdBfzTAgwjs zyVjoGHzB^?B*w;vJ^%J@f11#x)s4RowQ%ehQ}gh(p<&Th92mXO?;d=o!a*nBj!jy5 z=P8Gshj_n7`mH2*N_VgYKbF~+c4;WLNi_U8BTIDgxuPEut9Bnb#KqKvvZmJQuv(uO zvb#Ii`uk{vRMvp1u!pGKA;nLgar`&; z4|U#IDr{_`tPwh%6=;+F-bqU{!t7`D8|I6H#>~_^+k!Q#>Mos=_0Ov7jqRsvI#lWF zTh-dgS+M_|-O|UVV?wTqL9(N7vI`#F_2l$;cHz9VL(GD}i}F{|=M5hQ+JxqFwdJ}V z_VUQT!n8(k=b-8SCaoat+2l>7n`xB#J+HbQeKG3heRAi8JTBp(ruF+9zaBYrH9Cze zzvCWj*MoVni)m6d51CGOZt62gxpuvUPHv1rCMKDGdN9ANI5yvoqxfg@hwKHxqfdTo z6n*8LSr)ssPhf9XRd(Q-^Sn>)NUaEWjK1MnRvN4K+h%)p^O_#7ug;q<#agkq_Xi8D zIO){c1+JmUX&)Dgo$9RGe`%sG?KFN@u9{KzcQ~-#3Ep1)@n~0Ly2!rqCcpE2zf)2^ z54zY@g}01#e#AHAxvJ-IZbp(v+o{#$>yhOpwc*8yT*2+a!#85Xy%#+MTU1q(bC!A9 zQ(H<^`IRSMx3zC~O%mnJQ8n}QRPxe4q1-1@aBAOV=iq=^wZCzQNwru| z_phXPuCBYc3m;=&!}gMG-_zxuPXFKhot3*dXzz%xOKrqFpZS5#~hrI>B2?|9>ymEGw^ z$8%oBN8;q53>SU!%+oPGwI-=FZ~Dtoad`{D$?xUk3&n=+jZvO#RFTai$8YybE~Ki@R`l!DdC{Mf3d zn9Lu->cV91i%ai(gmVXIie1!Si}3P%YW+UdesFJP7Kifbw0d`Aw_clgJFl)a2R5Bd zFq+k0oUoqed1LJVlE>0l{4+jc%e=>QBtMtE_g9NgH*VOemoub!^YA~J88_8WWoHRS z3ae+FksGxT=A_K25%9LD*uyMN9d*BH-PlWh%ZkqAV9C3ITvUxO3%2#&erDH~4-kVZ=uPnD~!y|qFV=M7(ne7uB750qeHkMJ= z+@_L?x&NJYi*?7#P2ZDdwlHs&TUkjFu;;x?k-l%nQ1>juv0^E&E?xaf*ZPi~JKs;F zYb193Vxbn6TDG#v((7f)NqxIsTvTEu!?9W5SG`Pd0sKq$@}jU`pzG z7yUS#&$_HmO>un%FHg$v@vk1o_8tz+zMD&B5`%qeYogTMhZ;hh9iCP3maihqH=fHk zmKaGmvtst%!sr_N=iDc&F-zIJA3vxmUNY-6JwxGcSMa%SG5a!`M(-AVf6-2weW&HJ z##Tk6ig%qlAES1mqmH)b_VGynH4o|^$?WTTJ3cvNH}`g;jOq!?7q@-ov!(B3N++TZ za@RVI+p+AJwlv*~kJ0jyZ@5O$tclEWr~2Hx{dXiTj;`3iqmkdFkRN|U{kgW8cd=R7 zk+x-~V{bIImbPgXb$5hUn>FD&e(r`wlh1T>yO(UkbXb09fXmh;wy`YDyY&+{Tml3*Gc?MN z-#fbZ#+TkSH74~ha~o^}GU;xbPFN*=50uy{sl3JHQrLrcr*CD_usxmMrIe(4J2!Kk z)l37^Ir;FP7T@C4wHO{v@_r8**ipMO%c@MD)9EMoMj@&EKpI_AK3CAz-0sPg7`0f# z;aK^vi-SJ4fj(gu&YoZ2H2Y&nzv6zpn`W)AuSM4xy8E%Qu^W0^`fEcX6k*e3OpAcVJdMh!XU!~6y@Z(;`?3LPs5l;Wm z=V?-v-+1b_zgf#F=e;MZ^17G%tt=Ys_phatcRHXPX0a-7xbD)Zl>D$lW}Qug{Gi32 zx!KAWSx(O~mg2({LJfSK%zQ3?s(yW+Io?}}s#;;s!taZ8-75Vz(m#Hw78ncf&Gxxu z>2yImYM)5LKj&TOc}2uC#GQT1+MWhD-p=@(zQ8kLF>zw|Xkw0^wxbqXZ&z?cPVlAm zPAZp7ctlH%^f=~iZ)x&>%c)PrIc2za)x-U*0t;YZ$IFqnoj$(;trl*dk`bQg7CEnW zpV+g^X);6{>vax3-^sCOk6saFgU;g5zRxAGA7=vpZPc=Id-f5|Eb`C4c}cI6Iv^@x z)hhX_qob~w;k>i(3;SgEjt9#x)%Xvb@3ZqwyLp(p!hN)(Yy7usXKvz+CLPVAjCYTP zs(l*Tpi`u+_KN(?yYw6#gAF9W8?R-3dOHx?9GlXfoAQ-bT9lOz*Ecx$uFnoGk{pep zXY=>Bqrqx`m>nyhaWoc^>Vt#ot~%XCEPj79nBiBI^w&G3PiY@a4DjDK^{^+`dFvL# z#*pxP9g%WqBLf4*2;Bg}qQQ-lE^UN!z!@xUD!*)poa{Ypz!V8d+9?Mp3OWydS(AjXfUss**iW9xBjht`!VF6!%Yrfn9go?OO=Z6eINPt z*%#d$1M6RniUK4B1yXUmX6cj`vM$OpZIw||+l3{*MbndO*y+MD^@73Y|ID{F@qylE zpCmG?e}PEJ?i8$2n*G9;RIyKpbS14hk-Wco->vvMr9v96w>^^` zzpkO~-m)Y``&PgG>I#b*uYUp7{h)_YZz@9)^AIa@Ir+*pWJE(hxzokPg~V)w$4%A< z(@c_!IDdK-YC>XYh1tCTP1@*h@_F{G1VIXL?xO+jfAMW`8fSv-d{k0@frf2I+y0%_ zvxjVq9yolxZqoY6R8q?3K~`;C#S=!i6pPSrjEISWd>+ODKM-zeQ&21QjCENq8bfyl z%jh*Ejka8JA%O?+1(G`^|2nw{;Rl@w1+h$lmxE`2b=s_|wH0e!2WtEPSZfh^I>hLC z*W^wK{;w{sg+Lb#rNY*LI*hcE=F^ubQC)p(Ncjqio%AIMp>{4PWFdTJ$es0|4p*mz}tETnVsSBTaC;zh1a zeE&ddp0)2z+Sa+Qq9l>C#x_qG+oWyjf9X7t=hzT7_#nptLw!GWAo z`ROCiN{rO1!6YvqOq?(}+Ysg8FxzUVQFO;4q`Di#6!OK{rKG~Kxx^wFEg4Xq;v6ag z#YkGOYm>7jsB+h7Ye2ek7LB-<64YpSo9YZ`sQhE+QtzwWXOot`w>l*`ee8d5e$|Eb zIPpR9!67&t zp{^zx0Guj;a@C|o1*9zw7Lsp{f@ShV;hT2AMvZodCjE=QaiEYrK6Gt}jirQk((F0; z>j=LN-U4(rI0V?GT(Q&qnU&`_Es6gKIbvsG0odAYbadpaKsQH02E@I(^%)V(l&`t!Ie;C#{rxsb#e+HQZy?~A%wv}Eq_fFf|W@&gOhQS7&_?&5t z_VClS#VP3rVy$=?+cHakKi5(#+v&BSwMu9;{6WIJ^6>l%2`@yV8X$00Sp(D14Gj&( zb?eqaKt_xIg1XH;UiaaaAp9hWM31I7g(M&08@IsEQQTdgkjIxG)LaC??!4Ii@`IQl z1t;i7UgxjCRn?hoL2UT};_a}g5z)O8BjghB7@fWSAO;oF2ui~zI%eHRd`jP<$O#JM z7()}~F3_+zcicV?vcZmo{LL4&+{`u1;K8j&|5C6m#@cfut!2Jw=8Qy@RDuioqV`CF&1{?nk43y0aMn)UYR4nA-C<5Cx z4Au>#OviiI!>kXq3+!o;jR%Q!3eO(6@~T@#22Ov zNazvYq!8Ll6ROn0be={0+!<3k$<>wQYZ;Pp%vpmA>N`8dyIG0EQ{Za-fs_InJWvdH z4&j5{0TS`K#3qPAVqI2OkP7q`Rqs3KhciiT2)Spd_I+|#Q09>~^AR~nkj}10otU4Jfkf^uUzg}D<(Q0F4q+lg!Q=ZWB5lX zfsoHn%J(oDO`&~+WHTb7@Ex*wYHj!B<>r#g1=K7v63-MYn~)RVXpBCC>{*3j0eDiB zj0*TI3+LxbCDb-=l4+=P5%Az-p6k~UWklp7Ows6*i=oZ^6KtV?zX63s5Hg(=FM%W! z5(N~ItLiW_huDtq%7eg`#QY*Gi}Y;W!D)Y^3WkPgG!Q@x3dIqK)W*%H<1ZrDs|G=Y zTK@eI58K#?FnLi+Z#(-%Dp}TPMnzqHesv_&LH$zm;=I(7t7to72L@*=OtCnrrX;5OK;SZug0crz~a8 zbJKpa+_E&cK9FW#xm&dC(v(EMLq~sNX4hzq&an2lrb%&1sgW40qTpsBZAEX}mO>o? zhm&(1n`mVZia7YuY&oHEXH&!32a$QyvNkPBS7z}Zq=D;(`bz=A8l3a^y(2EfLXc4~ z04KZPoq0>l#1)aUp5T>nYMv2iA>vczUN!%)DcMWYR>ordFD_qEYGwIRxK)KNgvAxq zlm@El@l5*#1SrHt;j}h8zYj;$87I8+kZF_aiI!2eqUcStH z@MvbQ3S)wI012$e)EXSjgdg$v;1ZN0YTnwbj*rw|UwwaV?&HN{?N(-OmHgdv|J8C9 zUuFjK`N+{z2$|9#Nm4ebv@?Bq&+hi^?Ucwg8TX7NdR&}zy+>T4#B485v@zJN9h#Nv zT9ou2&b}Mk8Xg+TqM4*7{?24G)cG6k!v(vbUFQc$kTNm^(}fGO^dZe5?asG<$d%0+$tzhee)p8QL`_*XN2dTR@y_r7~OPk1`k$j zm7Uk|hXFtR0|L65SEI%~ku6w2J6)C=tN!4_huv zkl+pdofo%%&d+a{so$wqUG2MY$#U6LDj?P>9>B!!Q>Kj zNKYRS?FRBs}MULF}Q``zqSyd;^3a6Z@@ z@h9;3yB7Z*wLm$uB@*Nb61=XbhhQ~5$RVhCLbVV#r^rN)w;mnV9OB|kKwHEEg)H^;cfW^sK5iR;bwoH#(?Htz#a5IWixf!;D3@>U7n)8C%H5;Tmgq9!!cXa*dYNy!B6Z` z6`dG*Pa&cg+Cez7s!MKu=@(i^5=MCkP6`};MB`I1|J`%0cK%eF<3M7gaKK0W2`lk>bGl_iTIe1VX zh7U+Uc0ophAKXnX!2s{fZZS(&#M3@yJnk?s%7oDg{<<1KCj_2*OnW>70s3W?9_Bi?i>%csEvO%4LrC^|?dN3GYM+;@siWwUzAGdkQ=?PL<-MUo@i4nqV$;g~UyEH%l3_4t(7F;H{ zSdC3gV845h1_@vh=ASHR*gzlsHWfOQ9t+MVi7;Y}C(2w{UG&gv(LUxA<@1 z2V|l>Nb?J*CWcFRDTr{DB;8zHUA!E?uichBD~ebT3@T@&r71}oJ5gbv7YH(9XvpVL zEbx#c^g)Ge`e*@1Ih!ZeFPLt6dp}@Y#_bDX;+_pMzO75ROM;HsnWs-;WbnX81J*x{^c%#` z>*nay`+G9)_#!;HoQS7bw`o^K-r-9w-8iKXsAYu@uhZP_mVwl>$IcCg%LM-}9PwG% zZxNsucKI{cqS=punwc=mAOAXA7-2EO#k}LzQHV$J1}MK2<1h%Mll6fG6;^;M=WSdwZ9TxKADv=l8$(!`xy^$%_-~m9NJ4JYLzN8kAtr+>v;AWuO~^ZMbH8 za8Ln2ph}4dwjqqF>oNi6gANFlNV>>lM=PZ@8hN|IAg4}+6gJ)sIU(B+wZpT19uxUd zc&YRK+lVp6C2 zKav#=Vj)SLF-{nw%>30OO*D9`T2_<5rIm;Ph>@1U;Eg>SmBrgMf~!xrAik9-xRbhu z;ng~7Gek!LDP|P1EATvsE@k7m=MocRfE6|UhSEdj!48^PC)M1Sg7=K)SYPyNTfF!g z=jZp7!L{b$u?SDoFbfFH5I9NRMYvmGsMbSN1_dc+fa4h}D5&Aq4hcO=hT*Mq6m}ap z!_QzBMu5xPvrmyFhjT*ZVVDcpK$qDfT;A^FRVGW-4zbkI6rgwdpLi3 zz^e9|VnEjCQdQtFE)^fF2LK*TY>wCHY6W^=fqOnn3wbIIJ~G44T{kdzke;4? zSoce;Us7^%AKoxkcd0_1b6DnJo_$UkpF(9h)^QX|HzbH!T#$2KRCk4Fis!&L*yAe! zoe|#Jb8kJXF3ut%8$_V*u3k!s=}#vi;X13ZCqXTNX1YOL=g08uK-4YwGKkwDxI&N| z7YYY)ikeo5C0#9M^;eJuxP{Y%+X7-w?S7s^^_v>>Z1#FSr!Ad6yJ%NtdYqRbeN)T% zoi?F%-jIb6s|A7{3<2TDa?@^H$9A-h%fSt|8vf!ZsJuWzh-ptmhAh?(xE%0BB)kh- zfq&=eK)s#@M@FmbvJaHgTo4Gu^=3C8!%lTFI*F@zev9*G8z&A*uOm&Hsxvy?483H3 zhB;F+&*(9ZSXj(YAff_R(Px_xy@YPTf8gUPIAh#W9`;q>c=}cTrq50Dl7KjvD@Olf zJ>t%WPo&WTQ6YGFhyz1+Cu!#tVy~;hnf?u(UtExWqxJ`JRbXs<iNq^9kg!&|LoXzpO)Kl*9u{WS%gJ6H5UMpnu9T3hdJwq}5q=??$LB2W&M&0qQWR zk4MJ7FUSzafW26i!~Mt>RKBz(^uxY~$owtIudQOv$Hd{ zAeqKkFu!ro8c!}|lA4L2piYh@CBOzxx7cTvh|vL~2>5pJOM3v#e2FV1jQ?f(8G#6) zombJ&c#K9#R0KCZxr#Fp`d2{;(S0AWgoK0{aEEqnsqShNpZFVZR3A~5T|+4?5J@zb zEM&I8(9u*|=j{0c%m?Xt*tS1%n%Q2GE`a-eI|~b6Xo)y_x-nx8 zTYBh`q%vYRhwB4Sgag}l^2+Jy1Gi-VG5_UWis`@djpdHx;rHCt2a;cBP&u(h?mv?M z^OADE%@ehgZq za10;})B3ZpF!;=XxVXm`S*6lx744#N zd=V*#VSec@9Dwcb;lCIx?io`w2=y>rj=onOaX# zagAfE-+#0Kiq+NCn~y|XM&TF^Cl9zOtJ5G{GT5m)`IQ|x ziY2Z&g}Il)zI7U6zA(VGWP?d-{>X3YJuREz`Xb0vs5J3)Lp58Xr=;%PF^`TzE_>kWd#$t* zs!>}k>}epIA+0FTD^dX$@e|%v`SL|e?k^984P@~}h|lQ3oF3rMK9w(jcgJ5f=$Hh` z&V83`cNDviNZk&>6C?!mNC4R$n6B|pQ1XL<$NYO}hrV|6n+Oq|KFv$(AI_3itji6au#w;`Ug3qXUdO&`i zhI3{{aIFc=t+vgjNtbw2>6S}^06I6Qz@kl?OBLtN&Z)#EQtV(vv+z*(FI zKvY+X?}owv^Y;3Oji3#l!li`fx*%zV{s0VlGT`UJVGIQeWh8tsF!1uj_HFlAVwu)Z1|Qfte~g*m$l;i#ZiKPDscmRpYjVbB z&~X`bM-Y^ehGPSzsR!WG)l4E}*z!b6YXevuIsR+#ny>&&~0;IW|5G}Hc#;b1$wDu9>)0W@+4_Uv)P4K*k(B-F^xckpv> z0w!Ac-ahKOcVm-{lNs|nSs}x}4)i#H{4*FLFxrU(QEp)nbVZE_cX1|nS#9kTyirJm zp&)&OxC97^OA;c{*mDoyCk;z!^R5CTON+XybcDwAl-$Fq(um#-H6pf5a-#Xyzeqc? zmDQBmsv24s$)B&Sbz*z?reZbbd_(b8&3z%eYW$vTD81F+!0)4O40{Z~0~N`_gDnwm z6GQxNi2H?Plf-#OP}}4hBAdwHHoMqi>ITdl6<{44u=Xad1f&(BGbIR6!dlF)|4Bh_JRi`_e?s*QVoH#l^5WtOAqWulD7{TkShx&ELa?z4#pDaYu>9!hDIsYX zFoHx&TVbdqK17U}LiWFOVRj_b9Iz=CL{slJ2{3F<1p`K`bRbN?|FIivHdQPKoW*=8 z3y<(cUf{5wfMfU-8MO`tDqe;NfP z!y!ELNHTjU)3Cfv7l?yAOW4VdEAF?8kdvSDJ?fXy^T1DXnW8$R_l5Ssk?p^;ZtWdf z?0=D}Nip|UxQL@?ex5kz+;)Q{9pT{Qj64(k(^eqA>ZExK{AFa>`T3;U z$0Xk4feLSKWv7HhJe|z$pZ4F#y2(`iZmyN|fA}9%~cHk)ttVpB=0q`*6n*&H^5F?v! zOx0B>o;h<3wLFclTtH(30oMWeMFW+3A@d|J3oit=X0sU`UteE>si}^o(3NW1W582VTK;tfRk%#B$#@BPzDYSW~HQTWdz$$|cxz_gZ zngV;!tds zbm`|wK>;(u)z-EyU2|%=w60Ued zg+M`}FpEwWL0I=BnQBb#;A48Y-clW;8NAPU9>{)2dK)r4`*1>%qZvc4{AAdW)LbJo zt?{%v+wqfCk91$I&OLN*UHrvbX$Mcqo+?v)fm?CQ+**8e}eW%KR9~lg$y>5%gBIgQl8XkQ!Zu&GZwlcaVacZBa21PdfC9aIh;nCF!6 zqWk&zq3ZXD+oV_ed}hF!tTTo;Gb9igfE>O5fT;}|bb)UFM=*u1r~iN{Y>|PC5Jia$ z@jqZH%T$Aaso|#skRV}h#B?r$fAR3ZLGb}|?(=p~m?TdsJKLghHpR>Aws@dSArH&0 zMd)b;!XFf?+5FCrlfAfrsSOr z4P;(|O%q8)-+Ftw>ME50_-7IYPcO!5|<4pMKvLPC?=YbT)7p(YjeFsZaQ?Gw@u;{_f*D@;FZhtWq7<+F} zON3{_M1UCxWUJ8K<@qhKV$>vZk2F5OH%G`87%buYk8UC%k%Je_FAW~OdQny?*8RtQ zhY!tuork)X5aQC>>VnsdrpkQ~zhKdcMyE69&XHaRY8&8-;Ec2aGhn8dw_d4+6spu!12Gc1di8d|tjh=x?DM zhORyw^Tf#e7g%LU@aoMpYzK~kNtUS+ysg|v$75S*fu+PoR)UNTosyN9TYHyuunT~Y z227hxju*Bo+z)SJ=LJ+{npTg@R4?IQ@X~Q2qw|Ne%IBU^x1)FFQ#<-B=qko|b(nuV zJ<-`!sny+o>-U!w;U#QiP9`+pMsaV{Fn+K-8`c2p*<~ts!yAmvZb;~0CYK(xHDuYs zEXvdsla`uVf?P`^CAgiZMb;{*uOrq=35b(2G|e6wz6_1=?p`BWvH8?RUYgC1=GZDw1 z2(eP|?zlHW^%C2)CZ2($yl+0Ktga>k63XAK_Gt25y*m4SQmUrfgbF#yE0cl6zrN~u zpXo+g6GnrUZ}WdLCo6g5_Qu)SMGc1@Nc4l=F`;L^_3puQ{YRFxE{iasvH>;Mh`~kb zhJ3{NX8{4_n6}V3cl#mdCd|3Gn;&_22+d0(0s|wMuvyz-x6}W^gK;Q$T*#b>;aT%~ zeqZOp_*(-}Sv@gv?j2R#Cg$MH249w@%URrH*z!92iaK4)TbZb@+QoKVC|p5-7^=y+ z5x|1&K8Y$uz9eF#aT-Qxvz9^42Dp@RkCum*_d3W=GI!&7gc86TI0F+3<cnom}|eM`+;)#$x>0G~$i&_TBEJH+%QHnP$VH=9SeV8bu`?PlMwt zd6bt_7?nfjzO4+EcRRB|;7Gz`apDpESNF=SC~3|>b2uBC^ zvEk<8JIxR8c`Fy+Ry zj+G=xI>11Jobhob017vBYI?dJ0_fzFNNYxGp3MOgEeYyK#N^8>6k|X~w|>iR_G8EL z_2kYG_73DYE(wxsOmgXgz-VrZX9PxiFxAs{LQgdI?T)eQj-VFv3sLkcylc6)4srMw zT1I)?zn!EqnxC8d4SWrjXlPyhh9w$>*s)_Mb(O}wj#?Qn2fST}L_~UlJE$Gx;q#_izXgLc7Al+X znkbcj@T8wWP|WMs)cEGu9iW+)1Cf$}I*w;F&A)gl;5O&e(* z*yUT{joH=P{Q2`?pYAV(NTa}@e_t-jNQAWoQyK<@Jb{KgEK*V>F)iHJocHc%p6R1f z40yWR^@rh7-l^;H;0%o>v;RmI^>Me8AT`w>>=oYvQn9)$-+~-)0sYw3$kl3ZULnFn zEJ!fy_5hW|W@QBcmR-=&QUvH{bDpLJ7L1rUz&81*ofKp_IXRIb0SgiHRO&W<;4Lrt z6cvKEOd|Hq7cX&A@&|miF?nHSx)LAp@(?vq%%H*q%9u?hpa>9Eg#806fXoCqF~wd) zttlYu1z7<%Zn$G@fK;BwaZ>PtfJhRdgQX`hQj9?)iM56$9%W4=jSd?}OnbXP2x0IB zM=h+b8jMMsm6a7~RF5Fc=DBcPO9;+>gunh9ZB0&o|BJRDnvAhd^#X6jkNee3tqZ#x z*z8gIDhwH;`)0=L=Tp)OuIgmVvtiMSjR}JL@2dqK$4Znz#F!5Iq`5nTN^uR>f^5SY zr5+q!a%$c4Tczt@g+xl6;&gj?L*Vf7Z{<5)IG*hOs(6I^`)zY`{-UBHqN=N&;q>4n zXbV~t{M}WokIquz2EUSLeWrTOY;&)jHOA3$WE8j_y0_(Jk!tCV-z?EWmuueSY8Wjy z6ayt-$S=i=+i>$RQjG8(l|AQD3@&WJ4NJlTCMHTjSOG~5W{{!)C{cBB9jmU_!qON# zsp^(rg-&xM4**DuaFVU5*Ql`fFMI#~AD87HY$zB#9V*Jj^#H#B1vfJ^D1kmzVuS`B zGn0biHAJY!B1{5|IEtiA!E^v?{J_kBE%E8q?7p8Qf*(P_id42p=fJvzx=UZr0qp6s zcKHrqI|!x{$HEBob?Ua7ZLE1vpTW1q0b4np;k2 zQ#WGv%glGiRRS3@I@k0tnq!rO|K5>vD>^#5=f@AS_$0s!pUYkl4p$1>z_)Rx&XyRg zNY-!K5y2mSam0=PKgdg=sDsDt@&5-HEG#Lu$C&QPHLg!4+hf2pUVP!IdcEbzm~OUvr6BMStO}P?rYzAAUT>m1jh13&QuC6Bj2XR3eh`^i_L5nU4 zg1CxTW(4qP;JP$Gfb%kf{mC0Oz@7-98t^!|RYA9sW=kyF$@ZG8X^|C;KmzZxe*l;7 z$;)SUx6{i;NvqMxN-E?w8VNz%j@3z7d%KqAL(q02FSG}(#Zmp{s+J(az#srAHjWWL zi`_#{KiOIrN+QDy+dD*0G6?EYAbLemfhajJS3|FQ9cr@B(9pv_F7tw2&LO)|wO)i4 zL3<|)U~`|HVZMm}$ zq)FE-qMapB42>j_M*zMIuKj{>0_vG74=?PdB4tESAbd&Iu0aV5hNtVul((~arwr2! z-|Ym2kGb!T%}?Kaq~r(PpwaqSlEZIXmGJiMbNC5BL;(r;E6X>BpNdcM_4jW!?K~&B z@DKhLL|(7^%o3;#(KF~GGyXIY^Q&~SSg|5!kLXpfjlu?pRyM6u=)RlVQOKjfYoS6D zu~iRqbB{s@gX`t??1%9TF8aggl_}j2Mm< zz{4@)UwH{J2PqFW30yB8-mgh7vaU(qW})aZWY36Zs>T0xd^>_q?x&yIys(cU$tYhi zSHHdG!i=_L+8m4iCN}IYu)x}%y}AlZ8z4}KsTtJ=SL#h!8HsX!)n>+NVnL<_ZYhDk)n+sTEhXL z8hJ@uwzkYj6rL?~?kNTXg@3Hb$3}(qyT4JW=rcM|Bzs@vZ2m9I)U)d>U6U;3$TP&10JE4(DSxFVY0wi|m<+Tp2qld>1092kFSPmtOdbJxSc!%qH2wOKa9e-B`2U zuFLKl_eEKQ>923Yi#(64jxD7ks2z(?h+tk|1OyRvl)dQJ`XOddk=3Ly|)bI?DDjFdO_VCtML1O;LQO405jr10_CvbD&5OmxGCT&YL z$C_ixB5T(izRdf}?#PwKN!yGPndV<#N5pN?wT&3V?k*bfm`-CI-7q{uGVPQ40__(E zV~Kub%NClTZH0w}MAuHXRu_LGw3;D$Qz0`+Rs%-B%!J!ud)y{-v0LBYFYU_stPcGk z$+N=rh9)NDS(mCcb=wa8H*r@LPr@V+(gPW7kRb*-UJ;!=_ z)#ofF8Kb$U+RTinIgzFpeSTm3$OGm}a_cW!+t?6Phn=1-L#@1)}^L#_j)7H}i#nos_9kr5psQqG_w z#IWmDum|cwRA9kxg|JO(Fk5>B1h(RLis1lmMr1rb0$@NKXE~IRF}?1KBe%WA>$=0X%@olM9wD@LE~>Q-Hx9FK3N4caI;_38SE39y@bN`eHX5perPamoC*gc@x?S zvnz4e%yDhE@LpBq7;k>8&Q|q4BXyzV8P^_}feDA(fu|3Oz{`MdPf51@w6Z?2VU8XE zp$Z0SkQ875CNgAz%zkKJzIlmu-MqX+nq4rL5~5YK`_2wjhu!+V_HT6<$-gEUTnx_L zZ`U`j3w#T*B?!B1A_0TXs+`CO7vo)tj4sV*8x+I{kuMf7s*BF}Lh|ISU%#H!;U_IvE-tcw!8VLDS2lK>WO8$EqXVga)Ld%k@mGzPE@X*_wQqvudu09y%R=wO{8ohn}v z&c|Owq@oWB4j<9(VL%2dENXMJN0S>Ge(P`H;yf=AP*P%z&Mii%L%M1TZ9;KyIVw23vn_h1>Nuv=hE z5Mg3|`y9L@X!JwnTG7g)2_9txa;`3fuYLpgx~-rUBo6AV4w^OMtvL4b{>8OlVy^Vo z?OS|xaRaegT!|Jwo_Ln>lP9Oi7M)SQ7#ifa!qD~QO~ew^3gj(HQX|#!Mr@^Zbu@Tv zfli{G(z3E%LoU+j8Wear`(IjUmoYGi@%xq{siLY!)o8!V7R;gJ+?W!23qyp!D@8jJ zyNRSTlL{R!hLtjKPgoMLV;hQND;+^|U?DvxDNy!Pjh7AaEo>n~eN>7W3uOQBY#stL^s{7#BE4W5H;y@2=4+&o$T1P~5JXw=r%y}I+`;N7Gc zSF=V&CcdpeWTZVx|MRfcwzUuzY@QYW-{BZ;fd9ZT?4Ci5lFpQW!!c}1|G+Vp2AJ^Z z=;<-+Ln=)Kcbb|CFo{av_<+MvA$DMlE30bo%Ep=3*6Qrl-#4DRuruc5?}_>LEdI2) z2GW9z#+zE4^A3<&kmN~H;RQUqFU+xf9#)(RZiw-Qv1E;)`@$r9#<_1@pgK3Gvh8iWW!suM-TrIs@KjH?CS_2@jXVJwoo%&e^S$m)c68mrY*d_1G{k%3GGcxVRE8vNnQ z7qv-OY!T5Zj#W|QB?o+VAg_K1vKGB*UsrE>J{^j}Bwl5d1F~qMgla3A66A$7# zjohE5B}cesh->MWp!v?gMH?WiyA1 z-L=i-;98z=-_bu5T-u_Z3|6b@f=azhz*KMs~CQWj-f54e6bdVszSj_hzAGeBw z3Gxa6QmsT%EB|A20b~FhZ2F7FNjps+wBffyidA;!C)k@kIkv{eX^(|-c*TrXas9|g z{L+yg8R4ag-!HZW1qI8=vo}cf-T%SU#dPpDv0oS&ok4QDblfBO!BcNGa01?{g+V}y z7Sb~K20!7`PC8#yRIXWa4(M1})t>kxB(&da?rUg27lhyk03M?s9Px42y!*ISB(wI0 zA6ROBvYvs};Bdgxmq$#VE(STt>ysn}rOB7w*ekbo^v}3CDo!dWDvl4WHZU$C1su%h z(#mGu8s6N6Q)0bazsRzsin&}Gdr?eF2qtbReg9u419p$U;R_a~<4c2hDXMzaC++C- z2X#INHE03he0-3FH1Z;GZBX~|$&dje8x*qZzc(Eu>_ccbI8AxJ!*C%GS?DI!W7&51JFfwvX*Uij3&aIv`s|OFH&_M1qUvqWk zou2n`Zs*vBn=eEybRPcr)7i|K@ap-iu1>FHyW~_=bT+5l$G$vGBD8(PLc94U1|K*% zp}oPDem6>8;4z1q@F#*>Sv(Fxq=>x&J1=i_&r(Ur350Ndgav3bCl~aNW#;-vHRd2fEUCcQ#6H5 zS}GPK?a=khXPMv?j)@!2G&dRxrHH(b2tM+4U5v~LIv>f6(me|g9nTolUrE_p9Q~#) z%kBRCXv-c97KHPMzW`zA&BmdxUcKV(e(3K0y}!RDe$i=Vq2H_eP$v@(FQokAn?oQ* zT77_0uT(3~JE;#5GOTnTv{Hy%xT>AC6seR`oJT2r)pNKz`&xXJNm^pXRnb?xyk$mH zk{wq&=kv!&uNo?vw{744j`XUvcdy6+5CEV3gp!UO>wH|~sIa>6tTC4h<6iVFn1@L~ zFD^7NDTYwc01SFy%J6;h;t~4>kd)xFpD^3~jL0?-M88Sb-KEhj6*CX>bRV}jF$on1 z{gD*D78>pUOta}ynO^#yq&Ofn)PEji^t|<>{BLi8lds_S;zUyL&b)SUq$Pz7vMoL6 z4PkP_Z`y5nx7|q`Q21Q|_X{K6oGMBqyyj=NBqO%%K9U#`NPjN2QJu^J(Q5C%*K#Rn zoi^0^m?X%yO*YTq=kKv4w0M%_b#P9;F!bSb1-BehsJFARd1J~019S)aHXH)Ta94=p zmVgBX9!r1NLcfEw3KlUTal4512fg$xG_>)CtJcX;k(JK9rJ~u{(Lrzr_K;ZlTaLDgP`nHc#dz}y;vo1Q zcsNs#OD-g&T3tH}<8@@i&CNG-aWCP*!pU5X*B&i$9Yi417r*A_oQ4NQgy%P|BkI&TU7BU1qefqSq zdq}6}ztz?iZd!TLq6Ly2;IV%Pf#jAl-OMl8Mtg*{P;S)aSWMD`=RK=qo@;Z|ueT&! zt4~{qb-!KC@CGl88)^)}RSjyhsUJ$E%u=>$wADdM{ab3~ULZ7MW^|#jn-zicx zo)kW8`-dA+#Qu5%C^hSw#1+$DI#l)Eama2EGbh&C`%&CL=htl(iBPCv>>uCjYO7kuK#)7oEPW3IIqun z>%;$Jxc~QkU)S$@{eBTFg_*j%tz7}~6p#Bq&&xZ|$3z+4+j!R#xCn;0xEKT&qTlLc z4~_o?aV#$CzY@o$zYX^HBgPR%z$}@Zi=X^?C&<_n{btGp&wbp3Z>Q<#C=yUiY#3RZ zN9qM~lCk&$kr$!Q0B>b0tT6#VSqI=!46!cI+gktnh{_=dAO6=e44HIsFM~P_2oMUy zvcruMj{F#?-GG#%K{x^D%{@hKrV9Ev)@|t9KpkFe?21i`=?EFCw-5Cr?`iQ@ZkB<1 z2++@TC0*h{(&FdwlH zq%e}b)#LZp?Z#Q$xJB9=Ul6Q2aP|kTVud-gvz@h^9tx7p262CCWp&>-K$FIslOXmB z7z41TB7{yjBV{sD(Zd;Vd1KR9U!OU^(r|zx>JSVSrKP4eA|UhARQ1t!Ww-pzSDq4k zq(}5kjZa_WR4`~nxx-epueY!2Wog3g9U1FEMEnqE+@JOEM_cXf;k6P&T0DQ%JlvB0%2Dr`uAp0mzhwDad`JfU5_eHR zq@8U}7U{5l=7n+bdadp6BOEg#9k+pSUB;@!rSj2)AkVE*I`hVJ2bNJ{dE?g?===+B zUnQ|WGm7d1^S4|Lc_I>tbV&F!k%DU*s0;5WLzDJ%U;{!%Q1K!X z)%DQ0YaEz<{a@(xwT4=HXy*>W6ocubK~f`frz)jlt!4pNi~SJT0kwcl!Xd zqhhnIk~u$r>gxUDqHJjm!R_#R;JilRwXzCl%?qE&Gi z6n}o&TU@9quwgeL`q!6(MwtxwA(Kb3`cp zXE%qily_!XguUDyYqk=Sf)baq`?jDqzj>d$)8Gp;i`QMs)&36lI!}b>V(zYz_MEkv zi`SP{wN|)dj?r(au_kQBqHuievn4#TIL4F4x3#368{BF%?_wHnV|K~abboc>l!SPl zOU^Ml@PYx0gQLk+4<8OdKawy$eBl{uJ!gEjL)VYu+)I)VwO9@%KObK9R$Y?C*jij! zF-*8+iZw&K6k5mSX+Iqd0xp{lJ$ZQ6uG?ZTaM^$TVoL@In$B?m_y#Az@FmPr$^)gX zkbj;>U$!Q%a|iPd&57;nZQGJH<+Wmna%;POH~7uCj^&cji7hN&T|F$P-l(qM(cC>g ztg&_s3_35!`V^P+Hk|YdobI=R;c*#}wXh*H4bLFSp9t8uxU@ubcQ-8*v+(v-rwCsx zICd#137M;byj`Tl3oXzT7z~e07TLHFbax5b_-r_dA0C@1Ibr)F#SHB^Ip;cbk1XHc zGOuAbq@!5ufb|!=RqzB)HzQi*lD0*BC~CRDuHe2I2xkpdJ!MoB6Djh_{RVFGeZ3Usc)-zG>uOFehL?#^!F5~yI%IFNx2_`ZAnhEhji zNTLFEZja=ei~<*j4C?$@)7{y9B~2MOZ=QeQbMctAg|j03FLUnS-)NH`)Dwb7v47jW zUSPulv9kJ9;RA!}R&{s$Y}G=KZ&unC3uv+G$scld#x(RMLylClSB0es1%gev={i~* zKmedgu0TmraCtp{1hD@JvUIF#Y5cC+JFTqNz~_$6dE`l>b!Es7GSk!Za&l0nx3C}} zLGr9?wFY^OOu~+J_?28uKjXISFoF1;v3CPrtVXRt3yh7At1`LM{4W-yi0?v@R=Fi5 zBGAT!wZ~vEd{3OXV5iv(Y_<0oADnRd0NL~P^)-jO@4iRF#^g4^dUq`3-GXP-Nax!4 z817)x`}Zx%qb5=SJIU3O3{Uk@Yfia{Wb3t+7GJ zNgVlDc?FXdRJLdhjvib2LAM5Ts?3pXq_sR!{fNMnQq18;2vL z_s3Sr4XWaQ!JFQ9ddHWUg_N{3!G|A3ncOujo`}jwP2=zk>|oB!`j<8CWz146Mt8jS z^GT|Pc#=Wse%&?p-Q^!AC;Y(9KrpRcC{_Cr`stUzz~{`osxLt`D%Whp;JJZD&?|ta z1Gat%5QOsJx7}rvvvWdd0ge~JHzS@q*zfC8-{Veg4~tw1u5nDvgC9|olb8f{OHom= zM8b1q#l9@SI#G6m0no>*S-m{YP@NA)#hSf(k>eUxSQMIi;ndp^p_|5CF9F zMqZ5cwwIqjUxsc5oMKoMy~@?o!0IiA%jJ5nPK}L`!7}5{UY$0_2)F_C%`D(EUm$^c ssKALd3)a5Wg6C?QIN119aCy^ayACRomd_YAKs-3g+G@AueKI}v9}LhD$p8QV literal 0 HcmV?d00001 From 53c050c6ed9cdd64a72b59ec4ee41a4c99fee9b2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 18:00:42 +1000 Subject: [PATCH 103/243] Port locations now sync relative to their parent even when not actively displayed in the viewport --- .../blenderbim/bim/module/model/mep.py | 6 +-- .../blenderbim/bim/module/model/product.py | 9 ++-- .../blenderbim/bim/module/system/operator.py | 2 +- src/blenderbim/blenderbim/core/geometry.py | 11 +++-- src/blenderbim/blenderbim/core/system.py | 6 ++- .../docs/users/exploring_an_ifc_model.rst | 4 +- src/blenderbim/test/core/test_system.py | 8 ++- .../api/geometry/edit_object_placement.py | 4 ++ .../ifcopenshell/api/root/copy_class.py | 15 ++++-- .../geometry/test_edit_object_placement.py | 49 ++++++++++++++++++- .../test/api/library/test_assign_reference.py | 2 +- .../test/api/root/test_copy_class.py | 2 + .../test/util/test_element.py | 2 +- 13 files changed, 93 insertions(+), 27 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/mep.py b/src/blenderbim/blenderbim/bim/module/model/mep.py index b653eadbb6..3fe07c3fe8 100644 --- a/src/blenderbim/blenderbim/bim/module/model/mep.py +++ b/src/blenderbim/blenderbim/bim/module/model/mep.py @@ -110,11 +110,9 @@ class MepGenerator: end_port_matrix = Matrix.Translation((0, 0, self.length)) for mat in [start_port_matrix, end_port_matrix]: - port_obj = bpy.data.objects.new("Port", None) - port_obj.matrix_world = mat - port_obj.parent = obj - port = tool.System.run_root_assign_class(obj=port_obj, ifc_class="IfcDistributionPort") + port = tool.Ifc.run("root.create_entity", ifc_class="IfcDistributionPort") tool.Ifc.run("system.assign_port", element=element, port=port) + tool.Ifc.run("geometry.edit_object_placement", product=port, matrix=obj.matrix_world @ mat, is_si=True) obj.select_set(True) return obj diff --git a/src/blenderbim/blenderbim/bim/module/model/product.py b/src/blenderbim/blenderbim/bim/module/model/product.py index d9fe8797db..b56712216d 100644 --- a/src/blenderbim/blenderbim/bim/module/model/product.py +++ b/src/blenderbim/blenderbim/bim/module/model/product.py @@ -142,11 +142,10 @@ class AddTypeInstance(bpy.types.Operator): mat[0][3] *= unit_scale mat[1][3] *= unit_scale mat[2][3] *= unit_scale - port_obj = bpy.data.objects.new("Port", None) - port_obj.matrix_world = mathutils.Matrix(mat) - port_obj.parent = obj - port = tool.System.run_root_assign_class(obj=port_obj, ifc_class="IfcDistributionPort") - tool.Ifc.run("system.assign_port", element=element, port=port) + mat = obj.matrix_world @ mathutils.Matrix(mat) + new_port = tool.Ifc.run("root.create_entity", ifc_class="IfcDistributionPort") + tool.Ifc.run("system.assign_port", element=element, port=new_port) + tool.Ifc.run("geometry.edit_object_placement", product=new_port, matrix=mat, is_si=True) bpy.ops.object.select_all(action="DESELECT") obj.select_set(True) diff --git a/src/blenderbim/blenderbim/bim/module/system/operator.py b/src/blenderbim/blenderbim/bim/module/system/operator.py index 12e78cda4d..94349cfd74 100644 --- a/src/blenderbim/blenderbim/bim/module/system/operator.py +++ b/src/blenderbim/blenderbim/bim/module/system/operator.py @@ -140,7 +140,7 @@ class ShowPorts(bpy.types.Operator, Operator): bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - core.show_ports(tool.System, element=tool.Ifc.get_entity(context.active_object)) + core.show_ports(tool.Ifc, tool.System, element=tool.Ifc.get_entity(context.active_object)) class HidePorts(bpy.types.Operator, Operator): diff --git a/src/blenderbim/blenderbim/core/geometry.py b/src/blenderbim/blenderbim/core/geometry.py index 6ed2e53f12..65742a684e 100644 --- a/src/blenderbim/blenderbim/core/geometry.py +++ b/src/blenderbim/blenderbim/core/geometry.py @@ -21,11 +21,12 @@ import blenderbim.core.style def edit_object_placement(ifc, geometry, surveyor, obj=None): element = ifc.get_entity(obj) - if element: - geometry.clear_cache(element) - geometry.clear_scale(obj) - ifc.run("geometry.edit_object_placement", product=element, matrix=surveyor.get_absolute_matrix(obj)) - geometry.record_object_position(obj) + if not element: + return + geometry.clear_cache(element) + geometry.clear_scale(obj) + ifc.run("geometry.edit_object_placement", product=element, matrix=surveyor.get_absolute_matrix(obj)) + geometry.record_object_position(obj) def add_representation( diff --git a/src/blenderbim/blenderbim/core/system.py b/src/blenderbim/blenderbim/core/system.py index 7153ab8c53..490739bd0e 100644 --- a/src/blenderbim/blenderbim/core/system.py +++ b/src/blenderbim/blenderbim/core/system.py @@ -66,7 +66,11 @@ def select_system_products(system_tool, system=None): system_tool.select_system_products(system) -def show_ports(system, element=None): +def show_ports(ifc, system, element=None): + obj = ifc.get_object(element) + if obj and ifc.is_moved(obj): + system.run_geometry_edit_object_placement(obj=obj) + ports = system.get_ports(element) system.load_ports(element, ports) system.select_elements(ports) diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index 72e099caab..a4754afab6 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -65,8 +65,8 @@ the **Navigate Gizmo**. .. image:: navigate-gizmo.png You can also use your mouse to navigate. Hover your mouse over the **Viewport** -panel and click and drag the Middle Mouse Button (MMB) to **Orbit**. Scroll the -mousewheel to **Zoom**, and use Shift-MMB to **Pan**. +panel and click and drag the Middle Mouse Button (``MMB``) to **Orbit**. Scroll +the mousewheel to **Zoom**, and use ``Shift-MMB`` to **Pan**. If you have a numpad, you can use the numpad keys to quickly switch to top, front, or side view. Use ``7`` for top view, ``1`` for front view, and ``3`` for diff --git a/src/blenderbim/test/core/test_system.py b/src/blenderbim/test/core/test_system.py index 3d818fe301..df8ff35228 100644 --- a/src/blenderbim/test/core/test_system.py +++ b/src/blenderbim/test/core/test_system.py @@ -91,11 +91,15 @@ class TestSelectSystemProducts: class TestShowPorts: - def test_run(self, system): + def test_run(self, ifc, system): + ifc.get_object("element").should_be_called().will_return("obj") + ifc.is_moved("obj").should_be_called().will_return(True) + system.run_geometry_edit_object_placement(obj="obj").should_be_called() + system.get_ports("element").should_be_called().will_return(["port"]) system.load_ports("element", ["port"]).should_be_called() system.select_elements(["port"]).should_be_called() - subject.show_ports(system, element="element") + subject.show_ports(ifc, system, element="element") class TestHidePorts: diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py index caad38bb05..f604d5a3da 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/edit_object_placement.py @@ -103,6 +103,10 @@ class Usecase: for referenced_placement in placement.ReferencedByPlacements: matrix = ifcopenshell.util.placement.get_local_placement(referenced_placement) for obj in referenced_placement.PlacesObject: + # Although a port is technically a nested child, it is generally + # more intuitive that the ports always move with the parent. + if obj.is_a("IfcDistributionPort"): + continue results.append({"product": obj, "matrix": matrix, "is_si": False, "should_transform_children": False}) results.extend(self.get_children_settings(referenced_placement)) return results diff --git a/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py b/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py index acb57a9979..15ca564142 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py +++ b/src/ifcopenshell-python/ifcopenshell/api/root/copy_class.py @@ -49,13 +49,20 @@ class Usecase: ports = [e for e in inverse.RelatedObjects if e.is_a("IfcDistributionPort")] if ports: new_ports = [ifcopenshell.api.run("root.copy_class", self.file, product=p) for p in ports] - [ - ifcopenshell.api.run("system.unassign_port", self.file, element=from_element, port=p) - for p in new_ports - ] inverse = ifcopenshell.util.element.copy(self.file, inverse) inverse.RelatingObject = to_element inverse.RelatedObjects = new_ports + for port in new_ports: + ifcopenshell.api.run("system.unassign_port", self.file, element=from_element, port=port) + matrix = ifcopenshell.util.placement.get_local_placement(port.ObjectPlacement) + ifcopenshell.api.run( + "geometry.edit_object_placement", + self.file, + product=port, + matrix=matrix, + is_si=False, + should_transform_children=False, + ) elif inverse.is_a("IfcRelAggregates") and inverse.RelatingObject == from_element: continue elif inverse.is_a("IfcRelContainedInSpatialStructure") and inverse.RelatingStructure == from_element: diff --git a/src/ifcopenshell-python/test/api/geometry/test_edit_object_placement.py b/src/ifcopenshell-python/test/api/geometry/test_edit_object_placement.py index 384c5fc5d3..e213ed21a2 100644 --- a/src/ifcopenshell-python/test/api/geometry/test_edit_object_placement.py +++ b/src/ifcopenshell-python/test/api/geometry/test_edit_object_placement.py @@ -460,8 +460,55 @@ class TestEditObjectPlacement(test.bootstrap.IFC4): assert numpy.array_equal(ifcopenshell.util.placement.get_local_placement(subelement.ObjectPlacement), submatrix) assert subelement.ObjectPlacement.PlacementRelTo == element.ObjectPlacement + def test_changing_placements_always_affecting_child_ports_as_a_special_case(self): + ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcProject") + ifcopenshell.api.run("unit.assign_unit", self.file) + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcChiller") + subelement = ifcopenshell.api.run("system.add_port", self.file, element=element) + matrix = numpy.array( + ( + (1.0, 0.0, 0.0, 1.0), + (0.0, 1.0, 0.0, 1.0), + (0.0, 0.0, 1.0, 1.0), + (0.0, 0.0, 0.0, 1.0), + ) + ) + submatrix = numpy.array( + ( + (1.0, 0.0, 0.0, 1.0), + (0.0, 1.0, 0.0, 2.0), + (0.0, 0.0, 1.0, 3.0), + (0.0, 0.0, 0.0, 1.0), + ) + ) + shifted_submatrix = numpy.array( + ( + (1.0, 0.0, 0.0, 1.0), + (0.0, 1.0, 0.0, 3.0), + (0.0, 0.0, 1.0, 5.0), + (0.0, 0.0, 0.0, 1.0), + ) + ) + ifcopenshell.api.run( + "geometry.edit_object_placement", self.file, product=element, matrix=matrix.copy(), is_si=False + ) + ifcopenshell.api.run( + "geometry.edit_object_placement", self.file, product=subelement, matrix=submatrix.copy(), is_si=False + ) + ifcopenshell.api.run( + "geometry.edit_object_placement", + self.file, + product=element, + matrix=submatrix.copy(), + is_si=False, + should_transform_children=False, + ) + assert numpy.array_equal(ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement), submatrix) + assert numpy.array_equal(ifcopenshell.util.placement.get_local_placement(subelement.ObjectPlacement), shifted_submatrix) + assert subelement.ObjectPlacement.PlacementRelTo == element.ObjectPlacement -class TestEditObjectPlacement(test.bootstrap.IFC2X3): + +class TestEditObjectPlacementIFC2X3(test.bootstrap.IFC2X3): def test_changing_placements_relative_to_a_distribution_element(self): ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcProject") ifcopenshell.api.run("unit.assign_unit", self.file) diff --git a/src/ifcopenshell-python/test/api/library/test_assign_reference.py b/src/ifcopenshell-python/test/api/library/test_assign_reference.py index 8565514502..1133b592d6 100644 --- a/src/ifcopenshell-python/test/api/library/test_assign_reference.py +++ b/src/ifcopenshell-python/test/api/library/test_assign_reference.py @@ -38,7 +38,7 @@ class TestAssignReference(test.bootstrap.IFC4): assert reference.LibraryRefForObjects[0].RelatedObjects == (product,) -class TestAssignReference(test.bootstrap.IFC2X3): +class TestAssignReferenceIFC2X3(test.bootstrap.IFC2X3): def test_assigning_a_reference(self): reference = self.file.createIfcLibraryReference() product = self.file.createIfcWall() diff --git a/src/ifcopenshell-python/test/api/root/test_copy_class.py b/src/ifcopenshell-python/test/api/root/test_copy_class.py index fb67ac3214..ce9875c475 100644 --- a/src/ifcopenshell-python/test/api/root/test_copy_class.py +++ b/src/ifcopenshell-python/test/api/root/test_copy_class.py @@ -151,6 +151,8 @@ class TestCopyClass(test.bootstrap.IFC4): assert not new.Types def test_copying_distribution_ports(self): + ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcProject") + ifcopenshell.api.run("unit.assign_unit", self.file) element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcChiller") port = ifcopenshell.api.run("system.add_port", self.file) ifcopenshell.api.run("system.assign_port", self.file, element=element, port=port) diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index e2b9c72a80..c00931252d 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -363,7 +363,7 @@ class TestGetlayers(test.bootstrap.IFC4): assert subject.get_layers(self.file, element) == [layer] -class TestGetlayers(test.bootstrap.IFC2X3): +class TestGetlayersIFC2X3(test.bootstrap.IFC2X3): def test_getting_the_layer_of_a_product_item(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") layer = ifcopenshell.api.run("layer.add_layer", self.file) From d4b2cc7f2cb791ad36ede2ab5b724782e5ec9bfe Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 5 May 2022 18:00:58 +1000 Subject: [PATCH 104/243] Bump IfcOpenShell build --- src/blenderbim/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index a18b59d45e..8828a7c727 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -115,7 +115,7 @@ endif cp -r blenderbim/* dist/blenderbim/ # Provides IfcOpenShell Python functionality - cd dist/working && wget https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-$(PYNUMBER)-v0.7.0-2985bba-$(PLATFORM)64.zip + cd dist/working && wget https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-$(PYNUMBER)-v0.7.0-1b1fd1e-$(PLATFORM)64.zip cd dist/working && unzip ifcopenshell-python* cp -r dist/working/ifcopenshell dist/blenderbim/libs/site/packages/ From 3f6d25ed436bbb8d2da06697a483411b380ca9c0 Mon Sep 17 00:00:00 2001 From: Emad Aghajani Date: Tue, 3 May 2022 02:26:45 -0700 Subject: [PATCH 105/243] Fixes #2175: Fixes a crash when blender is in background mode or is used as bpy Python module --- src/blenderbim/blenderbim/bim/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/__init__.py b/src/blenderbim/blenderbim/bim/__init__.py index 58cc86aac1..c29a3f9298 100644 --- a/src/blenderbim/blenderbim/bim/__init__.py +++ b/src/blenderbim/blenderbim/bim/__init__.py @@ -131,7 +131,8 @@ for mod in modules.values(): def on_register(scene): handler.setDefaultProperties(scene) - bpy.app.handlers.depsgraph_update_post.remove(on_register) + if not bpy.app.background: + bpy.app.handlers.depsgraph_update_post.remove(on_register) def register(): From 4b6ebe7b1c2ae5c9fef8e04e454dc3ffa96ba535 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 09:20:24 +1000 Subject: [PATCH 106/243] Fix bug where deleted objects were not cleared after saving --- src/blenderbim/blenderbim/bim/export_ifc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/blenderbim/bim/export_ifc.py b/src/blenderbim/blenderbim/bim/export_ifc.py index 941f3ca485..691b097ea1 100644 --- a/src/blenderbim/blenderbim/bim/export_ifc.py +++ b/src/blenderbim/blenderbim/bim/export_ifc.py @@ -97,6 +97,7 @@ class IfcExporter: except: continue ifcopenshell.api.run("root.remove_product", self.file, **{"product": product}) + IfcStore.deleted_ids.clear() return results def sync_all_objects(self): From 92432f453d3087797b10adabd31c6ac0881259e2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 10:35:12 +1000 Subject: [PATCH 107/243] You can now remove ports --- .../blenderbim/bim/module/system/__init__.py | 1 + .../blenderbim/bim/module/system/operator.py | 11 ++++++- .../blenderbim/bim/module/system/ui.py | 1 + src/blenderbim/blenderbim/core/system.py | 5 ++++ src/blenderbim/test/core/test_system.py | 30 +++++++++++++++++++ 5 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/system/__init__.py b/src/blenderbim/blenderbim/bim/module/system/__init__.py index f87f83740d..6cc772e135 100644 --- a/src/blenderbim/blenderbim/bim/module/system/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/system/__init__.py @@ -31,6 +31,7 @@ classes = ( operator.EnableEditingSystem, operator.HidePorts, operator.LoadSystems, + operator.RemovePort, operator.RemoveSystem, operator.SelectSystemProducts, operator.SetFlowDirection, diff --git a/src/blenderbim/blenderbim/bim/module/system/operator.py b/src/blenderbim/blenderbim/bim/module/system/operator.py index 94349cfd74..9b9165e97d 100644 --- a/src/blenderbim/blenderbim/bim/module/system/operator.py +++ b/src/blenderbim/blenderbim/bim/module/system/operator.py @@ -154,13 +154,22 @@ class HidePorts(bpy.types.Operator, Operator): class AddPort(bpy.types.Operator, Operator): bl_idname = "bim.add_port" - bl_label = "Add Ports" + bl_label = "Add Port" bl_options = {"REGISTER", "UNDO"} def _execute(self, context): core.add_port(tool.Ifc, tool.System, element=tool.Ifc.get_entity(context.active_object)) +class RemovePort(bpy.types.Operator, Operator): + bl_idname = "bim.remove_port" + bl_label = "Remove Port" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + core.remove_port(tool.Ifc, tool.System, port=tool.Ifc.get_entity(context.active_object)) + + class ConnectPort(bpy.types.Operator, Operator): bl_idname = "bim.connect_port" bl_label = "Connect Ports" diff --git a/src/blenderbim/blenderbim/bim/module/system/ui.py b/src/blenderbim/blenderbim/bim/module/system/ui.py index 2d38d902c0..e65e90f87f 100644 --- a/src/blenderbim/blenderbim/bim/module/system/ui.py +++ b/src/blenderbim/blenderbim/bim/module/system/ui.py @@ -185,6 +185,7 @@ class BIM_PT_port(Panel): row.operator("bim.set_flow_direction", icon="BACK", text="").direction = "SINK" row.operator("bim.set_flow_direction", icon="ARROW_LEFTRIGHT", text="").direction = "SOURCEANDSINK" row.operator("bim.set_flow_direction", icon="RESTRICT_INSTANCED_ON", text="").direction = "NOTDEFINED" + row.operator("bim.remove_port", icon="X", text="") class BIM_UL_systems(UIList): diff --git a/src/blenderbim/blenderbim/core/system.py b/src/blenderbim/blenderbim/core/system.py index 490739bd0e..b635521222 100644 --- a/src/blenderbim/blenderbim/core/system.py +++ b/src/blenderbim/blenderbim/core/system.py @@ -97,6 +97,11 @@ def add_port(ifc, system, element=None): ifc.run("system.assign_port", element=element, port=port) +def remove_port(ifc, system, port=None): + system.delete_element_objects([port]) + ifc.run("root.remove_product", product=port) + + def connect_port(ifc, port1=None, port2=None): ifc.run("system.connect_port", port1=port1, port2=port2) diff --git a/src/blenderbim/test/core/test_system.py b/src/blenderbim/test/core/test_system.py index df8ff35228..01c4171def 100644 --- a/src/blenderbim/test/core/test_system.py +++ b/src/blenderbim/test/core/test_system.py @@ -92,6 +92,15 @@ class TestSelectSystemProducts: class TestShowPorts: def test_run(self, ifc, system): + ifc.get_object("element").should_be_called().will_return("obj") + ifc.is_moved("obj").should_be_called().will_return(False) + + system.get_ports("element").should_be_called().will_return(["port"]) + system.load_ports("element", ["port"]).should_be_called() + system.select_elements(["port"]).should_be_called() + subject.show_ports(ifc, system, element="element") + + def test_syncing_locations_if_objects_moved_prior_to_showing_ports(self, ifc, system): ifc.get_object("element").should_be_called().will_return("obj") ifc.is_moved("obj").should_be_called().will_return(True) system.run_geometry_edit_object_placement(obj="obj").should_be_called() @@ -104,6 +113,20 @@ class TestShowPorts: class TestHidePorts: def test_run(self, ifc, system): + ifc.get_object("element").should_be_called().will_return("obj") + ifc.is_moved("obj").should_be_called().will_return(False) + + system.get_ports("element").should_be_called().will_return(["port"]) + + ifc.get_object("port").should_be_called().will_return("port_obj") + ifc.is_moved("port_obj").should_be_called().will_return(True) + system.run_geometry_edit_object_placement(obj="port_obj").should_be_called() + + system.delete_element_objects(["port"]).should_be_called() + subject.hide_ports(ifc, system, element="element") + + + def test_syncing_locations_if_objects_moved_prior_to_hiding_ports(self, ifc, system): ifc.get_object("element").should_be_called().will_return("obj") ifc.is_moved("obj").should_be_called().will_return(True) system.run_geometry_edit_object_placement(obj="obj").should_be_called() @@ -128,6 +151,13 @@ class TestAddPort: subject.add_port(ifc, system, element="element") +class TestRemovePort: + def test_run(self, ifc, system): + system.delete_element_objects(["port"]).should_be_called() + ifc.run("root.remove_product", product="port").should_be_called() + subject.remove_port(ifc, system, port="port") + + class TestSetFlowDirection: def test_run(self, ifc, system): system.get_connected_port("port").should_be_called().will_return("port2") From 42edcda8bd0a96e6cb090c8729b215428baac2ee Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 10:38:38 +1000 Subject: [PATCH 108/243] Deleting an element now also auto deletes its associated distribution ports --- .../blenderbim/bim/module/geometry/operator.py | 5 +++++ .../ifcopenshell/api/root/remove_product.py | 7 +++++++ .../test/api/root/test_remove_product.py | 10 ++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index a8ba8566d5..83c19d4a5e 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -334,6 +334,8 @@ class OverrideDeleteTrait: elif getattr(element, "HasOpenings", None): for rel in element.HasOpenings: self.delete_opening_element(rel.RelatedOpeningElement) + for port in ifcopenshell.util.system.get_ports(element): + self.remove_port(port) def delete_opening_element(self, element): obj = IfcStore.get_element(element.VoidsElements[0].RelatingBuildingElement.id()) @@ -343,6 +345,9 @@ class OverrideDeleteTrait: obj = IfcStore.get_element(element.id()) bpy.ops.bim.remove_filling(obj=obj.name) + def remove_port(self, port): + blenderbim.core.system.remove_port(tool.Ifc, tool.System, port=port) + class OverrideDelete(bpy.types.Operator, OverrideDeleteTrait): bl_idname = "object.delete" diff --git a/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py b/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py index c4f195a13c..489be2a31f 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py +++ b/src/ifcopenshell-python/ifcopenshell/api/root/remove_product.py @@ -57,4 +57,11 @@ class Usecase: self.file.remove(inverse) elif inverse.is_a("IfcRelVoidsElement"): self.file.remove(inverse) + elif inverse.is_a("IfcRelNests"): + if inverse.RelatingObject == self.settings["product"]: + for subelement in inverse.RelatedObjects: + if subelement.is_a("IfcDistributionPort"): + ifcopenshell.api.run("root.remove_product", self.file, product=subelement) + if not inverse.RelatedObjects: + self.file.remove(inverse) self.file.remove(self.settings["product"]) diff --git a/src/ifcopenshell-python/test/api/root/test_remove_product.py b/src/ifcopenshell-python/test/api/root/test_remove_product.py index 7bfaef0243..7eeb17d3cf 100644 --- a/src/ifcopenshell-python/test/api/root/test_remove_product.py +++ b/src/ifcopenshell-python/test/api/root/test_remove_product.py @@ -130,3 +130,13 @@ class TestRemoveProduct(test.bootstrap.IFC4): assert len(list(self.file)) == total_entities - 2 assert len(self.file.by_type("IfcDoor")) == 0 assert len(self.file.by_type("IfcRelFillsElement")) == 0 + + def test_removing_all_distribution_ports(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcChiller") + port = ifcopenshell.api.run("system.add_port", self.file, element=element) + total_entities = len(list(self.file)) + ifcopenshell.api.run("root.remove_product", self.file, product=element) + assert len(list(self.file)) == total_entities - 3 + assert len(self.file.by_type("IfcChiller")) == 0 + assert len(self.file.by_type("IfcRelNests")) == 0 + assert len(self.file.by_type("IfcDistributionPort")) == 0 From 316a2b7f531a3f9ce9733364027bd1389de56097 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 12:46:29 +1000 Subject: [PATCH 109/243] #2185 Write documentation for viewing element classes --- .../docs/users/element-class-select.png | Bin 0 -> 252047 bytes src/blenderbim/docs/users/element-class.png | Bin 0 -> 238840 bytes .../docs/users/exploring_an_ifc_model.rst | 81 +++++++++++++++++- src/blenderbim/docs/users/outliner-filter.png | Bin 0 -> 34428 bytes .../docs/users/outliner-isolate.png | Bin 0 -> 258342 bytes .../docs/users/scene-statistics.png | Bin 0 -> 26893 bytes 6 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 src/blenderbim/docs/users/element-class-select.png create mode 100644 src/blenderbim/docs/users/element-class.png create mode 100644 src/blenderbim/docs/users/outliner-filter.png create mode 100644 src/blenderbim/docs/users/outliner-isolate.png create mode 100644 src/blenderbim/docs/users/scene-statistics.png diff --git a/src/blenderbim/docs/users/element-class-select.png b/src/blenderbim/docs/users/element-class-select.png new file mode 100644 index 0000000000000000000000000000000000000000..dda36889baecc3b7605ccfd87baf0e518d46509d GIT binary patch literal 252047 zcmeFYWmH^S)-GJQyK8WFr*MbhmH;6@;qLBk!3h!w?(P-{t|38!OK^Ahgu6L?`t9!V z-9PUb-~HFcphnf&Yt1#+lxIG3vx!nukwZf!Mh1aEXbSSu8Xyo%HwXlcfd~(bbi8U& z0f87gy|r{)H6R`oj?NC|R<>pou3nC26lR`Q<{*&gV$o--B(fIguxArI1Lz%yAP771 z486lQ0AXe$`EJW`m`=vM;?ey*F4rY$6w8-O!)LEw0cSS-2JhLb=F}^8-;#UvkI?@L z=-PP{x_kQL-_?A(zgrP-|K)OS=vH@2(R<{UYxVG!^XdFL=hfY&NxJWwKdyP50iAV! z9%2)_;_IH>^G@yjenwxl{nod9(q|YrC0XBvzHDbTlyeB^40G#@7ZZE7lbWkKe|r+} z{-*19fXQv;nJD96vgE~6*3WV1q(9PWbU7byJ+{Mw*vASDHFKWzW6nLhsfJk3sN@66@NNp>Ie8eE!DKE`9I1&T>m*AKmGhTZgE~?*d;RP zAk%f+`DfYYcc;$|n|ZaZ+wZnAG5d4B!9#q9yq1%=BJI^X%~oljE`%;2-LDF8)F}jA z9)y(G)g;cf9DQiJe#?-Ce$x04v8u+)oL|{*rZ*ym82xp-`eIpQP0Mh`fA?l35gZtQ~2C*!T6Dhk-pWtUhi(tXG`c~W8%jFeSor4*fR|{Tg?>(0M;zd~XxX${@c@Oz)vmND& zl2rw-8>hwvE|aYJ+cF*6uA7%mTQA>E`}aOLbUjN<_o_~BeE4WE?=KTu(|j{T8@yJ? zU=GXjg*4Jr6H$JzH2t33IWGFM@s3;}(`(a28P0~>NUR=TNf!PmEFprfNG9j!n%1_| zXY7`{fY{HPdw(EXe?;s92zWE&Ri-{9l&fVP;LLbvw(!`q9U0WUUo3spS@PLYz7C<7 z9S%j0zG~2cY|&~ZiK;2-2zWtRKdixEn2zFNIyxQTz--Fk7;ZcbBS%}BVM-+An_2; ztm3m_;eKe+(S3Cus<+uZ1K!y5o^4j8p4hQ{RReeP`Jk0|yXSZb-cn)$=fc*%#&6+| z`4|C4qXh>~iq5gzkx_dh@S3z&`=S()mnvHGp+bqqjrjOH7 zdQYsLKC}t>8$WPYy65PufBUjamM>#noL0{l7&3^ImQ}|+MZ|&Uldiha4DmmHD}uhb zSh9sye*C)QMx;u~IP=^0H|($lS0?Lznks#}eZ~$e{I2dB=*b!;GW4uTqDocS@2t3q znb)hmjV*$Ig=pjp6A;y+jqOkEknxfbu=|DDn=_MH=yz-{sSs)@k?A*F8bZczm)DCY zWgxleD4m50#_ilAzU5d_t3Jz}mD^+6!C5~k2}m;gGGt>v$XiAjQ__x5*L2uQT`4~( z4km7nV#2!LRQk~IgNtU_IGH;9{1`?0Y-uJK80S=o_&_FAJq9<+@@?(I)h(!$%UrNMfJ3N7Fs*50I783$+Q9jtj0af~QlvP6ok<8nN1W z2FuZ|Eayg}vaFnMzttDuwtn&(VJ}}kc+FdT===59C3$8ehK0>++@$?ie|zdz6==kz z1^UnwyU@B3DW8xkJyfr7z`_*HH$J=ih z#P#1n8ViI}`x=}?(mcCe`7&GVY|oD0h%0yBZ*?&Ku7~l8-f3%5%0ohl46(UYh=r}F zB2nNh9EI1}L0l9_8@P@eGses)BBQ>hvFk5@6(pd4xZCOj0#J_l}>at|8!MfTu5g+m(n z4Fz^t7@V+1Z3n&17jk!~2F@xl)w&q&-H7QpXK$udyjLJ|3koS*IKcx~id6;;8R_2J zWKb3#9}#Ei(E{1|#tNnbiBUGC=2sFmm3~B1{8ai2Jia1!gn67DxkiD6sZ8R=~lZ%pOv6Cx}h{{20oXD}kA zE=?<_;$)n!(5;v-t-lx%L=(-5x!PpoK|-<=>~@o8LxvnYm(M>hwn-H`&NPgehttC>tx!Bh-tI@2K}KSoln+iAnQkYQ@L!YQlW0BE@Jlefq2kilT;AR9;%-i|K=h*t6eo;(<5Pl1LGVu3%dv z>F5|p1$0Zm#M&Q6%|Mompy)oXqAYlnFd5Lies-T7wk}~TJUC>Wh|j=uXQvd$`cyqsNP?J7x`X$ z${YD0EBMtY$`S(FUB9p)PY#U&r-NJ%2HT+W%i3Ujp1+xv>xZH)vP2}CJcxmI#${r32 zEyx>QojMP>mV^5tG#O}NE&_CEnjhOge;p$NjgFZvE3w&2lBypkgJrZ0P`$@}u{qky9j+yTx zLVD6=;4Fl;%!Ms9)hu&J=%9Y4RM@J1*h77*#ixbC0WHgBdX{eS;QW>fL~neZ;+}{~ z4YzU9p&Aey4vMZ7!wBDXwb@{b6l@_Fi2RE92XmiL54wLeVO>!EeP*H63EnqKr}?xP z>)<6wZ=i7q=cHF*l2MX3N$z@z<1~qLUQF9O;%gqHPinuBvUtg2bR?xOZyZUu78T&| zPS2IYmt<38#E&;&%w;z9>)weO)VJH`!aifRL3E>x(4>p&A@<+v^f%Yy90EQsurXYu z`n5)&Z)ltgNJyr^PjdzLXBc72&|wb1t9Abd7kZzNgve;r)#a9;VwEj7I&6f|M95bc zD06s4G9D)2C&=AnxKg}ZE^l*Hkj{tRYHm}>)EDOO2O3fKDWEaoS$+$}`u-W=ZIm-SubIYcN+`Ra%>7;JCEKZUSv;Y{$ZBMwiXF2e zgFDYdwU6KCq584!)EDGCPF6rDUGt2%@B*SO)CXs721jBG(!Zj=s!P24W=ia+s4F2z z57o~ZT=CKF922yaJB{T5m0vAWdbKt?0gZQL1XWhq_e0&M{*HAe47sSBqN-Y}Ykup} z*qBQ(klSrDP?l|6<|`MAhzUxnYVByrL!&VqUczE-Pr|(F!q&iBkO_N>t!b~7eY{WU z&bMuUzZ&WSXBiT#yiQDve&}cD3-Uk=OlWduB`haq9U`7+R=K^*?*!%?$cwPG-Jt@6vYrkxHI$i^m9oP1ZPE%_n$RN?K2eg(M;14iayf#AuH4k(BmX0o4~C;a@E zGKmA)hWt?Tt5P;$E^CeG`pq9uH$g-Wh_9Hi+rqmGh-urfUUv_RB!$O<-qJXlW#Tl3 z`d-6kAFFNJBuNNB8U83K*!Q@gq zWc?)9OeDIDRBA`fzD8y4Mi%!9YBYQoeum(vX^50iv6TlxsUaC%PLF_ciMN1;gnak7 zz``VdC@qSo<<%!sh7#+H#({hPda##&!dC0C7CPaBl7c?0d4wUg|8B1hA+NhAa=Jtm zQh3U@3JO~#y!O<1wQ%P3ZpK2)nTLaq+|f`cv?5P>j{WLlNuyA*eF+79brL2N`nGm&$qUyaL-(3LbP^7~1Ef1De&m&k0+x zRI=@6a@bkX{FW}%56A?8J3TRBG3csbYV#gAqhd3+&p~ju4q9S0=0r8QH#$zgKVMeP znlY}Q=r}#&g`)Ct5(gcNuW5#DB!Bo*(aoa=!yhy*$7WQI%rv=vJ*QC-Wt|%63ylkj zGv-VUPNwBmXY#a4#Ii)4T3cQixhdihtgq?qf&v}BucB-2{#LmSeGnutM2jDUOM5U9 zluu24DMu5EX|8LcJsVvFns@Xq73m;3b2F+nFigRbT~%k&!giL4wLqOz=ihH~hi_2| z#?`o<#cQXAUH*cYgM4(5T>rt;Ey1xc^=ueNO&BG>1dHE2=(+E~P19HPpg^*MO)}~x zl=R(M#y3YRbhIB42jY0$hRS{@T1yJ)3MU911B0-`wdQ=;EC|+Z32#kj0(y2z#rQIx zoL_1G+&`?3w;F3Nha2e$97F1U+ zo?1_@4UP6nQ*BhpB-*MNVyAZr4|vqjY0OwHqnPiJ}w6AA*5O za-Xv1w1p)d-ZrR!(!r(eJ@eya&+fhg$}K4S2o%RyrVuTS8X4IlwI2FYhblbNwNm|H z&ec9v1K}`{x3%KEnNr5|!{Oit8`hX5*EPRW0+``FH!Kf`kDLs3)yQyLns&YJ2nkPi z5iROaoct1lVR_7i z8oeV`qcY8y&3o|KCplo`umkS7U@QMSU1S^?hruA9YE0d$Q{|j zXT%dyaG0X5LFm80M$G=q;Clq;cuywzhOzd({vFeF{J9nvSw^{U@O9F`>MS3n(BVd$ z!XLyT$whJz@CwfRZgujzawl!_B41>+PovG)tW__IO5=pZ6s#(sy4y9(%B1U!8{eqm z9}&%I%SAh<5SYYQKYoLW5d)`@K@RG1`==#F{o2xZM$f9Mm4c(spjc2++LCE{ded3^}B4oCNLECj=*$NJNnAJ@}*r5aY?EJ*KwBAFB=Cl<>6T+(m>+ zPgn5Tah1;S_DL3axL!#UQO-#x{$%cE@Mrmqqfqf}N6P0c`Afz8k>>!OkpnetZU75x z5;^`TgDK5BM2VIl|D9qwHEP2wn~&3zd93z+2MIWJ?KU%$m|XIMixBrf`A7sx?Lhpj zM>I#p)Gx@qRQ0dcqZ0>n$fG~qm2;{&|nxZ+tVOm%9xrE>Qp(;@lun=Yn=5A?`pPtwqV zU9@fb;636Y+8SLRAKvXZ(O*j6Y{yOGcN6s~uN_ZN3R8`_c9-?_MPr$k?WmPa`wx)^ z+7||B@?T}eiaYxl^J=Kw!hALKQMRQ zvMjE4yTfP)ZiQMl@16H+)g@|zDa#I)HkF-*6zTarzZ>XM9hBxSE`?e}m1d-V@n-yT zTo(R%Qhoeq&>igQG&wy&gJ+y&sR-YsFAZxZd_n4Z!UVnkmI}vNS>=k`cN8-a8`Q7J zG`-X8!~%4YT1mp^Kvmp-*k8@3%pvFeS~JW4)nu=A(%M2|1@-}h-^aW~ z#nM{GUtXOUw4Y}_pz-1ffgRcR$;9x;e(&V3@F0iwV<3hs6d8n6(&`4>t4qa3KCM+Q zrVZyT{UG11o%#N52CK>Wse_Hw~W1&B2@4Lk&Uhy(Xa4w1t z@d?cDmKDZ+P^frwE>RHeaCk#WjJ2QfdNAyvI-lDBK#@CDbF!&&M93FM*H5g^~v|4 zba>LlhvRt;ikAAO#tG#U#2o59*@BJo$FxEnm6Ml-}8xJhNU*)WLQmGW(t<$A{jeU!SRd5O4#ItnUuAtY{0J5tu#J{WEhX^p~0 z%njGKA7n6ajeg=LN+;tT-X^FZoZc2Zq&>w-eqLQH%g;AkO>8RvE1Y#QXm(~2qh+?# zjRA`@myPi3D4R;u@EuxK(9c82$e#rAj{*-LbjB<4%HGeU1`=Z;{8^3sagbKkflB) z_2bMPdF!`JvH*iMl>PJAQlO*oGHhw!mzXBu%0Hiey%}~p zIbXBjf`DZ%st8A3#&+yaHc&M+-Ob)IZ^$kMZD~7H?5T=d;+x@G~(M}N}4^P zcqyV~+7lPOgm|c}VL@b%-+JxvVC%jGiiZz-Uk^WZyK2vJm_=lEfE%89i;nl2EO(rrE<=#GUb1thb}Mwe0d+P2UJp zR6mMSgLf1Lz(gUiwWunqOq(P6{Zp7#lMfou5_SkK>Yo>u{ zy4Bo7C}#2o$}z-!@M#o#Mp7xE~PvA1f6#7Xsk5bGDM9re_F%d4eT4({vrka}I(#KkL-+lL&( z!_vR&O>ih>#J!-9g&3mbyx^pUG_tN8RO&G=OwO?{?%%?Y_yIZFS|JlvWRmIQfQ@P+ z=&C;u`cU3@+qS@R20MLPfZS~a87=k$R9h9x!8b4Th3IcLf zWkK-92?NAkYd)|tE<}4B1))7Xj9OqWKT>+kFu6c5a;kWqYIeLE)_jSc*;W+#;Y31i zw6%S1TvL)GA|yDTmJ+O^wj!M@>g#z}ZYzFCY^=gR>eMjU*ioE}U;jq0u&xh!g4>K+I?58E36X3f>!9bcAE&4JScrj%*ZqqWOuh%RURCBL!?v$wnHoMlc;u?< zPOY1WblOl>^FR#-fcbc<5egDOU?Q*tcPt9dx9kEq2uG$dVlGQBhSswy2Z2^!w(&VS zL&!dQXe_fA8hp}OLPWUx^vpXBQ6o5b;o-hE$AHu21XW8In{|KS^M5&Mn)G7Ta-0DO4IO{HdQHvy4ZTVa)7C#MoYK z@(~5cOT^CNLdjFfOXU1lYYpu};>g+MbdQ>QAW4f#dc<-cZtW+PI|A!fYM5F9hH=54 zBQmxmw{4x}tyd z#i~5x%Ve>m6o+AXhprO+NAU4v_xq~+BtDv#(h^~ zrFTFGT0GP`L+njqotoFe^p>f|T<*diyW=6NyY2n4ra=2`RA#o{0ean4c`p%diym8| zd0-l)I{hgXlR8Hr%zs6}MP_lMW&#Y3Ya7{aUdiv?b!144_dO`cD%u@S=ytx~X5W`Z z>GD(98LK_8H?DeU=k8$tBYc_owI??s1R^0~C9d-WNrX?M?&L>Jk;#w7t+nVi{GrY1 zvnt|F>Q7GaewH1Y1w}2%HahfNNn5Nlhf%Q~d2}%A$~*GtFdN3Gt7^)LZt^E@OU*T9 zm1PNIe^ZdGIqxSBi?8S(j*?#6i(v1fX_L88Iw6wmIs1Quhbju(k0~YEs-+X{^@(FJ z5qxYJp)XslywOfiD16IanjL39WF5D`lTsCj;arVt@P>zvybYrke*ameT!}ii^rpk4 z)iE3#TZ);)-9fFWjfxocssCzp9$!fT-q4*hNtp7&l-13#w;lQ<18Gs&TC;=AW@&4+ zI4(yYO#C~%J$RoZq{yng94ctmZ5Sas9 zX8?nE2<_&lj2o$@b8`ksrl4)aHyv_)YX{BFHGK%C2Q0+ME(fDKM#Sqyk~@o78djkT zHpD%1l|#;$@s0@)?}#0ac=&Heu?yv|I5DaEVw1{u>^P}S;U}c_D&klTa26l>_6)_s zJ5zYEIs1GOKMtx=?_y$g*wV-H2agLeK2CF8gKr%U0)j=+1Z$+4cCpl%16*bnIeD$c z65mdQS?lJPXaE^l#$v?zTGyCu_cV+1Zo%%=>9R zIBcPW4spJY_P$VzA0utXH7pw9C~GW@QlLP8f0R(C>E|U7Wjk-wurEPdbF#cUnT-Cm*4JQM@*Lkn01dod5ZZ6=pfh@vFik1|vS&wkL&zt`LpoqdAFGL5 z{DAm5F;d!xTE?+UPU)bZJLdLma+YH#bBn?)GlTg4dS`~vNb}xU&--jB^4>2}DO?GA zWF&k*^l>~!>9?$@uvaVtBo>i^a}2g5ggjbuOy3O&qy9&NAZ29QZ&$3_tX5&t3O4)w zVs#CHy}jRsU%d8IOqPZ@0%37a(#U?|h-zYRwN~B_Ij+;>m?=(VWOP#HEtsMz zh(AVdv9Wm;+nnJmc{*)5B zaq?^BMXaB+2xG7wdR;3_dRbJnd?rn(&;%HQ<~@9tDLQM*?k#T7dqjQooWX*|rC#z{ zIX3R%c}E)lT;ct^cFmhmlyse{p7-Ll618Pmy0C(GGTT(o#7WW^9qaiFqw-N_W5w9Z z-qD2mB(IN(v%PPRQpmY9Fet2r;dKP3m0$Hqy?20pO0Yg^YnZ<9ffcut5s=f`xJJ~b zz2~Kg7?i$nn=riKXsYfryv`}K2RpD$`_K=8hxA*5kms6<8Ml2|5^sGKhZ9yU=Wa40 zeoFgJ&u8v6qKROK3&}7FYL0R!=HwxJ+Xz{(#25B>nGg^^;kqzb%|;TI7Vff_U2=C- znR6qy+kh4=q=w~W#Er##u;C^d)>C}yn;u!Zw9m8T%PBhMWdht-c~FqF=nF2T6i6K zRZxA++TrBX7fo(LvYxSGtI#hzKR&J{-@!Q{?Q*mg#?G}8U878u5rOg%5}dN;+@rQd zBFfEwiD$*4;TX}&O|=~)Jx@%z9h8JRt8Ixx<9z_j&_X*Rv5tJTiMx+iZ9YV)xfAnE zGYvVu8#kE3{jeI~w{dMEh>0v>hw}wSYf|5V5Bt@kJek?d1n$?hSE4hyG4QExK1R$n zm|=w`9SyS9ae{l%L%S?j-f5vEe!sP?91K=h!XcCy*k@cQdQ+nJOJT@{cvQNzLRkWf zq&rNgk8C0MTaT-jK&e*W&yOL6R?=x$-33GLGh23eb>OWbUhhNQV#drS&Z*CLp*B!< zg|M)B4Z-E=w90+7P1eEFLda?|^Ld6W+n^)~m)4Rla$VI?D86?QQ8aVY1#yl;92yh{ zWect|Bd6t>`jM)-v-(qYV9igKw7;d`2nv0v@@8cxIxdPw@t4uRnVERf zs(c#5&vED{edT#NM-piE>vF`w{I#IHDub~&>zeoql2{{1)!tu6^%Yyw$|Tzz%w$w{ zgS6k9spL;pE&i4zak|hu6_?(FG+G^mBSDL9R8JM#r4wg@BrvfO(!mN1Qg3-c zW$qy-rieuO(34I?g*U_1-biQ?eG;|W^*oCywCt@y6&6!%9;F`_2HvErMsc5NEFBF? zUmthG+X<}AUOp>W1oZFDx6AQhbt79XO@_lGtE+j%=^p#hy29J10%!=L%~`1pX@gZ< zH9FbtY5ryTF;deUO%vTvYtBA_G57lCCoj2(+`HMJQ}uR#cZ3L)W_~&m6TIXMvQ@RZ zFI0?LS?0#5n0p{3hz$SUGQJP%P)s-+uf%fIId`mq%4eF5*NIs&=&}bRE6I+F;8wMf zDBWLR4V67*5v08AJ)6SS9Uh!{-r_&D(2pQq8@(EmKbf}bS!^Qi#SxD@BE>-+QJ-fn z-$WXzqckRwHOpXN+n|51ZKKH5Vl^&5Fsy0wIhsR5Py33xXG;U??3TEGoT(;^;nR+T z+5t_1QGx}bVe+Pf@nhJpiYUCgizFA-xC7AHOJKSj;w}IFyQtNEzmqpO&krX4RA2t8 zvZ3rDYZP&O;maR7vV7UEQht_E&vS+FRzg@u3gg)8C$d;P>}b>pq=tFT*In=Z8wT!f zM9+T*f}pQ|z!+oq`>6lY3NC(a!B2Cn=DlenQnSi7!%N2*QsI}?>mQhr?W@-iqL(L? zU6>7?!;*ThG1sM%*KCr8nWB$pZuWbVS>Wgy{$8h}D%3GF90Y<2wUUxjQ;?GS=aY=U z^NXMT5=G?u#7PGXr|@N%(A_behSdgof=eR{-sBzDMwE)L%?_*ppYjMgD~{l)8o|X79EoquUI$FNqowVJ4-2YVYz(% zI+{ZglOsCeJBx`*lExXC;Vt6XHQQLj)A(;e@0pH)z(9H7QPe5A6^iVYMzpcVe)Ts= z+8Zt#oXKqRPs45loBU%kX>i#@yxjX<8w_UCD6>YjHp#ARHDOpj_G}$LaGg^(j=?72nF%g!r&LK zL!Nt1?W=mXLep>+K1 zV9ri?0fx;ZFo<4?&+IMoPh4cUwcjzFj0jh&&>}Vl4pn}iML|RdOl~lwq|nqd-wbZO zJUlEMp0lm4Z(;5do!#Yr@{RycoDy3BPnPN^D}hZM?ARct4#s9|o_3DFlcyk%u$ZSK z#KZ>Z#*ED@tn5XoPTRYvD6C9HsNV7_b0|AXnOR!NdpnzHdaG!ec-xo=no^00A`5$h z0ReVqt`G`OJ6n4fu%`&sUvj~~=a*r2DvH0RxY~$N=_spFNI5v0QSh+wuyL@;cv`u0 zQHdf`2s@jagEgdO{}us!6QQznb#(-@vwL`Wuz7H^IXGLea|#LyvU6~;b8)c(Ggw`` z>|G(AtoAO{FCzXSL)y&6#M#Qx)yl!1;zcIJ*ul+Jgo+BdPVrCu>>QPq|3|#N%imT2 z?7{8{ab)LY<6yV5WB>ORF0L}}fRMix`oFGl(E=XOW!Ersad2}sF_UpOvv;NbcM+y0 z|FhoF&Dr*^uCT=h4DM*V@z3dM*buh6q1^@NYn4247 zZo&a!H8vLHXXP6eZ;^1L5fe0FNaqt=onDhR-2vuh*ASxlY|E|@GC{sWbKQ9+V zK#-rC)zs9Shm}W=%beAim)n$;+ti$k%b1hboZHOoFKtXsz_Jd`b`ZdwR(22zGj>ON zi@z?s7#u92rXWJa#m4ck5j9(gt2wYhgi6WE-p%u07qqPG%rspgFV^Jbda?q&H^HELW;I9?HS-?`xW)N2gXDtT@ zTM?=kl_*|T{uSO7!vAoJyp;H%>!ldu3z3Y-QApubK-!SI(U8UJ&(ho#wzoj8CX;NWHD z;M3yd0&{bNIeC~lIlvqoRP28rnEfTI|9N6z_WzGfg#ViGZ!iF?`^OjnF92Gx{|{XK zZL=3M{y%*E?Ti11I{>2pyUG8`zW+7Xf6ev3vcUgp@_(c2zvlX1S>S&)`M=Ti|C_mx z|JCrA*#j)d188Tu3d`4lRtVl$QBE54{PL6gwImrBL2{JWbpe4;a9)0)KpCG2fk6aU z1!Wn89XNPsN;J$pu>uf?0;C`*4U>QZ$`sZ*u9?Pg?E$3gC z#T7|1ErU@1HTPw7Z55O#4*j=)?qp~gbw_9C;FOdUaa1T(-sle>eq4~o%7%RV_S%t@ zemE8+VgH?hKNyDP?_E7N#%fwx_?eiQ6VuXe=T}d+wnCR$98g|u7{VJG8n(8!reA*o zdbWfSQ*-Vu87i#Tii)wsm%+=3m|Ml`&IK5haC(31e6+w;%;?xC-$gap)J3=y@jE7W+$ za{4c*o3pb(CAz-vpSU45HXm{V{^+i~SabLG6UP`7qDn2G32bz}wX$|YeZ8cP4xyx! zl+*c!%*V8}WEbQxXqVkFxHAUc(}H->-X(`FR!nX2zAJ0aM&L_TRiQAlLvUz)T@+*MQ)>jZ83WOyy_-Vj9*-wu6WDd=&(wT9o2v2xBGa}+U-ON4FiKk zNNAb61~>)H!otG&`|K?KuP<)gYZ0j{Enhl|B=a}~$Vo|2U%krFJN47&QZtk<`f2ed zPwYe7R}hpc3O=hIY@H5jnO1ZnwH)zhoG4V2yB&kf!4L@H)!rn`=1}}lMNMZk5Csjf z`_S1c47kYObHuu2@N+Z3Zq`-YMjBZ?YZIrQVjCMicp4uLo+e}B4h{~fP{|IOH3nZXiHW26S3F_fHQSc0OY_1HK4|2; zw%(CEoUJ;aedmz4Dk>_PE*2mPk3p^!cYU;gLoFM_k$XNh!LPaMd@x;hc5_45(c?rK zjz$uG@~eGrv2%zP25p_}C2u+CSy)&wv9KikRWo>yZfHADe6WAK zno{NTfAVxBMeyWN0iObDXlQ6m)S1Xd4jAiq`hIFGYVMrg{X_x(7f=kU5PJ6dM)(| zh#bq+PLYS3W0WR6AlYl3He~@-!y)48xW2x=n7Fv1<>gHJU%l~)ii&a>kUKj&5s{H4 z0UWE=Z^`Kj;hs0G)schYr-Uo88zje!A^?wmZ9Y zSnZ4j;(~&kdy2x6I(Y<>kTCLHi#=}}Mq*;(e49(jq)RfrYIs!@YaFRy@Y9oT3<*EF znVH#-9ndQQM-UJIc%63}D5W#jp!ifpcsRKAtNp3rA3wrg7nP^%zJLFoGEv@fcZ>`q z{-W2XPf@+Sk~(^NR2&?bZ>#kw-PPQLzV-A#K_HNX*G2LQ3KFui@UCDoUq8RR8SBKX zEahsusbVw$!PS6Q$+GC}vP)@sd2bjB!JliD+bI@)v<#?hVK1(gfM>sp60vz2dU|Rw zn0PdmwXaOG1SI@=Tff88DTGiuz+9UJAFzlx4R%mI1IxQ+ROGN={k~@*?<-3d{Z`EC z>S{txW7t#{U1R*>X@?K;G{MqTK{_mSFc*zhQ)fGw4!r{daIgIDC`n04hra?Fgy^&J zI|lak^<{omDPvzl?GtCgFDNfZrbMTVL(uliuw}9#l-<76Yw#BTYcAu zb4amx$TGJ+EhH(VfD-&EusqVbsD7~P$%gUE{@>^il9!zt2KJpk`PkCN6XS+0K9f}RC-o5q&)3{+SLSrt#^@SDM#ef1bQZ!LEptlaqTti%`HGC;GcoPX{_p z)_6b>1cEP5D&p)1|0lqIdR-Rlik^H+Va}VhjI8y& znv`Q;WRw8P;2D5tdG+xe_$2uO&2Ve#f z2`Q+nOYG?Q7z+mnMovyHxv|yznh9`Or{AL^pdo;q0No;bu`N@I>|<}eZPnFwPFujU zKlas{1@H$-4uILvBxg-CfTaI&BW3eb3~_;8CU)7A7rG&5;EvhyUF=g6rM{ z)Liv@n9+Lk`&8yPl@w0{PNb$>M9mJX2F%Ab`fbL!I)J`CAqY-ScTPZz&s4lEFzoVY zEoTxMt-o6f!Kk%e-~yoeI;v^?Y`u?=*BTdqt_)hVY#_bvHa^tW)%EQB$W+Lkn3}@r zi@+EPLBIe&ae;z*d2|$IWMl-Mh;wjdsa%^G8XyAkd zhQ3&jH^o4$h+_IYA(a|yRGr~+ahEx!ngx_9TK>^7MpmD#Pem}T* zdU^sq7AWB9JVIg>9-TBYG!!7>%Sdi~@%Tx_z5 zmM96e*W{j)pZ~Hb5_>*Ac=#~bg4Q(DyTQpGc!r3sHx8nDr%B+ zn*nfrDFpraz|I5!JAVa41Yn@vxj6zLN9j)6oi@XbtXjkYG?{x`jE+V&H8<}CIKu4g zEI?r7%*~4>AT2vT+k_vk4_WV-Qfa&UyPa*GWAK z3P5lRgvXcCeJ8p!OH?AGq9lMKRckhiFAS8KRscn+7O*aNeo&u+-H!-g7!JS^)~Cxf z(|K+1g@uJ3Pgg{MYKNepprBSU5t^abX-6Y10M-$1?C8P8FT zW5h-F^!BD=V;f`n-ex+24Hz}488Ge(sovk;S1Z#pB7~Qbkue3$<_ONdMfCmhv5m?W zwXb_*1Su*i3P?psAQY5;2CM#7R#Bmo%uGu|u(7cL`Z>a5#rHs-jZA%dwt1anzuX#R z@YQ=AsIaX8&o3N#V`Jkb<8TQGs6|D|iDL%?5jbP0*wDyfMS{aIvy5aht=7o_+>Sj*j9$f+}bO6qtHdzF=|<2)V6? z++2#S?d`nUT1=pT0AM`;7&I|GUH<2wkjF{P2Lkq_-4=lI1IBT5aS4&9kp!|vU0prs z?(U9`Re@u>A0+gFuTd4)N2|S~|MAL1wy<(o{eJ0pK3${{9|_=Aa-J zV3{~u8nuW>7OeNxb!|lj^S9B_#FP|m>a#&7QVmT_q$)o@zw@;on7fAuNg8ZQ5fL(N zZSAf106(j3Zk7djjjf%Xx|*8!SSAjDmuFX3{Xip|JGBo~1C`GL5+DSb?Qx#%FE0DN(j$05I}Wn8yfmNR{bJga9Zs5 z6%J9rF#zXycyOTp^nl;jbDYNghyZbE9b+}U8ajJ{TmVjK`YZwdlFsiy4wP;#E-rw` zi4S@J4J^QQI8aRz>P##w5P;rFzts^61h5A2P8pzzZ8-}9HBx!S13<5yd4E~+QNRW- zRS|$WS-3yM!B8;pn0|=DOy9m(PEr97HNSVglR#qN9!D+`eY@g=p`xNvcxLIgL<{sk z4C9Y?cNBbl_`15fmP^g7R8&;87USeBy7jQYX|b@dnob0y)Ny6wNTYzZHMrQSmIVc9 zn}K(rLx4d*e<{OvK#%!yzNfp*`0J#12I!gAr^ucc&QlZ!^MF?XHqR^H19siR)JYux zQd}Y0QeGaBPB|kK=mU(_x`XI$L(7?s4GCQ8SO8)lyS%JlY1p;Wty2oT=C}`RK57{n z0?wBw#?7&Q_m#N8-{(6k2PY?IWNhpJK<4Y*4&S_h4IUmIomHOd+<{fIb5gFLnWNmFLM{ao<9e{9@9Y1fV1AHO{lxHkb z(ii}t0VLTNATSKoVUY#yoamYdR9q4~mrU&+Y#kpY$kP-)tkoFk!hl5XE>$n!0GKE!{>Ede)rlHtA|pR>TjT>bLZ^ zZ>iZ1sQ-jqrii3uWQp0?aah!{-2f1D{k|djq|8JA9#D`lJP1g@`ucin+wI9BMS{?X z2x>}7DC0UpAhBB=*P#u3j(L5b&WE-Hf%-K#Ss{OH%1Rj#Eh;l*OQ>Y85HibN86gP~ku3^Y85v1b zWD~L?TL^`W-|KolpU?M?-*G(8arAg@_kG>hb)N6{YrW5Q9H!s?;zaJCC@b9oNw+|; z+g;2Pzot$wRaA~GSL(hx>6%zN!$PXUWM9e#;^MM0e-L+2O;=a(&AB*o_qC-gyBsVA z;AXk*#%GspTrz%wyfBNJ?_OVD53H(Q6ux8B#eFnJ@Rpp63^&A zAcg^-NUCt(i9H3No|Kun4Yf}KJ1$~!(BmK7py$@P&GkhU^vNH1XDo|M4VxyD|2C<{ z9cl@11OQ+VDnJkNS|LCNo&vkIt7R+8m)%6)=0{mBv(svXWJg9uzEI^I`uS5<{rRh$ z93Zbob%QXD)TMu@)sLP$q2S=)Afy4HK;r~&z9UJhyb2%QvndBvwijcMUU@1+O2Z@| zbSY%&?^MY_Xnw}GEK_oY&8o7XbRLJWy72jEE+;sus1hMB%tLQPAN4@>)E&G!Sh;Xp z^Lu}PD$!m7rk!r8h?~z9(U23% zvIcEN9^wPaG9i!&-8VHedjS6GwotbZI9}rZ9|4G#N^Ai`L;A$ez}|g|io^&Zb4cx8 zFX}-!F#Ti3;>=85g2^2_*2F2%u=S;R<|g_9ma)DLQ-Nud50Dge0qB#LUeF&sdK3>h z<0EZqsj9lV4@5;H;2^vZ*rN^|FCsQ}`~Lm=9j3eJ2q3JZ!xAB!uYHB>hWn|k0}8{Q zw;;-h-x;8&w+npuPzGQH7)Qvwg>!x5?;tAMVNnZHEuu=%L5GhVi74CVM*3lD zmPOnq{=!%_h^7xz?a1}CW^ufWC{5FpqKY_`QKtoVbg-oR8Yd4AH3+13fhnES%r|fB zK0@t+8e9j7GKl;}|I=>EqEL|^3GwkmKYm>NQ)J9cwYj+|;kF|5V`OA_X67M?O+sldq`PTj4 zNjyMREiE|@@xNE{BtZtXa`i&zs$#XoM^iXC-U>IXDnb{J_*vg5Ukrs%{q)Up^44_4>vo)5-zYarO$dV?t_dDKJxsmvm=6<1}+#U!N0b zAUP$4)N4jK{m#=)>U8_HieR?jWK=f2$Rx&bv7wSr; z)>~RC;hz`)#H^tAFU${10~{Ja6$fh~trb#GP=I4_C~F`;KOc2nYv!K{K*l{cQq>^P(JMUIdsC~JjUCLK@$I3v11pZ3E4_;Br(yZ<#k zS4uP@>GS7FplIT0QU%EnYYvOC23Q0Bi=0Kal(q;hd4xhoPQ;Di>4EA?M`e1a1J-c(@=9--A~`0IE2&BT}XI)Th+*nVB)0T|#T#jPCNn zXU;rZDnVOB%g-w;`~Zdu#$PQ&tI2=0fRUk1ob~w4GCx4;_x=6s*1d%_==lVW5~B63 zs5txP@QXEPVXe^*PX$2N_Ea{1{_F#O_lbKrCRsB#d4PUGW8dsb723+u+#m-?o2`Qb z1xa%IOQIq*eE!VUJfyKRbRi~d$V$V!OM7Evbktb%5vrhbYI?d)GVl8OVl(k*Pi;YH zHu@TWiaXR*lCyI+WaWJAhX5w$xg!rsNpbx8_3N$EEbE`S!CgRayQJ246RI6}IA@gN z0)BM_(s3>7SkP;#18LD;V^7rUhdMeY+|trA{auNYwQBcrF2@UPZ6GpgOaYehvzb2e;{rdjBkFnOmuX@xFaK~yPzGQ&(KC+wP$+(1`Y}Hor?n!BOV7VEC<(B50Gyi|TwPG`&ZF-;T*`i?5A2-xCZ`@6AD8c8|Kw z*Qs7<;m-GOGhx9GaL2^zkA4A)&!YiDw5JCt{p&@7@>CSU&KI$lnTG zxaZ&?s&hzp|Lp4K;$QcFvn9s*d`FMo=Wlb62=hfBh4~=_MHfb4bx#iqILW?MW$keNa$5_tv6-0>FkjxAHzL|wP3?0K@0casBp|@N(8^XrK?yJ* zN(NDAfLT!=Ky+oCu@U>c!Ux^|-b^OH(r@8}gq9>G zRuqu02R4m83TFJ&||H8V%0OFWft;kIB$J6 zx6=}Eco!FkzrQ~a8mAMptQs!tt#`uL=^O&+<7%J`@E$uR>)=r6eG}a;9E)lgXzRlP z^T7YN>>;VsdK`^XBov2p_m-+XxBlHC+V{6I$D`;|LLdM#a&q9|!$8{-?rRPk`%`1y zWJmPj{aD7```lmT)c|fkU=nl*yBC)gtSpg*F4d(LpT63G8;)}ua zKO`&prl0`a&?@gh$9D*p-Zzf(P?GZnb19<~|K*JNGCVRO{l*!<0_zl#%7 zZ_CQM%AΝ82<2R_zA6WZ+TuO6JYf%jWzE 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 >FfkDI8>fd1|h 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�YrI5r;7IyqY>!&!`Y8tT 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ξ`xJF%!tf4~=C!?7yu@YATQ6XthokIdYUt^PpkSasq$zk;WS^%m&QY=NIeCI$717Tvcocx9$mm`9>Tn9VD zbTx?q<%9hreR-2S+=}sm!LxT^5PwsW_PnQjRx65hGV?*9l6XzA)>HiV`{!(j4GM-S z&>nB55Msj`rOZV-tGXso(o4V6Sb=xhdUMBR5e%|}ugPZZwTip7@|snZFVI1<|5oZL z5&CMe$o++&P))#c$V(PYiPXoYXCuX4Fr0EPceg-(kf_cT4$JH(Ual_6%9Q-J%GH^rNFm9uWv|Ic7AoD z7p}=7GJE%MX5I2y8DoF{csxVTjI8H4gZ_{O;~h>1jc$dBvnnJ z^TQ`mw{aR^%dVyaz9lgdBFYrq)O+W}(Z2)?#BjZH)VF%K=q41Y!dTVm$4Ln6TsI;d zqbpdW{8&M)LL3NT?+1~s;kolM(3`*g?@wL2hqH|L`Db=8USb$j(!dy3G=P@po5BjI zThoUZ2NL{-ub(q;1rd8wjsD}@6($VHD_^lDxOf~xFX6_k>pXdZ7*5sr>yGaPXdjMQ zZAr%ks?3h{_rv=MecjVa=6sD87M;0m-+m6|*0DSK*R?Lr@-lv0inY-cslsvEK2r>m zO3e3`gf9j{ZxJ@P@9xNN%_rRK?764>hNNU#w9#)Fgg48>LcVZv&>fL6nxn8)4&dOSqV*Sv`%J1`z)+4$*EHM=zqgZ51Xa zQ_=j;$ugx?Fr<~Ucd@*@ATH}k>64Y^!qd0D4i%<_Z1K@5!$OEAgJQoodsSO`sC*U5 zs{vY~zf=j60mHv!6j< zDE+cp!ID*bw|>#=VVA+qIlUtiM_g)yZ)AjI$Ub;zM!u}hl|cNJGEe#J;E4Ounx%=Y zjlTq5qmdXUnu(Ef50_I|?3Hpt6&?Pow`H~&c>!OD-Q7JRX(x7Ua*+Wg_!Yp z@^HJ+MJOt6Ufo!;9+9k5G~vnSO{H$p zHJSoJ)q*er)nIt7@$R2Fc6`^)K|G8piq|DJ&MWT+3y9O=xZHY$=(uWY;SlQPZw~12 zJY4YZ3FP#|6sb-7$yhd7ZUX~|M+jl~bO_h~w?J1rVR6E(_UVVanIct=`P>HnUWt6w zWOLUu*BM~3CHs{3JhW-k=zg4Tdbs@b%A?+ugoC#g$2)QIH#~j|=j7B>uv#B-Q5+db zIJAf`F$U`9r7ba$y-~od*yjhbwWmKOM~xn&IwaN>r$=-)*LCv#!yb$yZ92-*ft!~k z-D4vJMqNE8-xmW+bpGyKS1z*l)`Tgrsgo1@ot$6j8yq5ak*T|oLTbC}o07O4BGXg| z+asZ#uaC0D9vC>rhh42>*DAQHH&F97Fq=0wD#&0YvA%TLT7c zS;}hW%x_MK3AKbje@JfSDbSEeJJe8*(#zw2QA!s{{|@!vnJXyqt4JfPNq82Y+O#@K zX0;w79j>ipMJ4(u zRJM|q7x)+&-=j9U#H;p3+Aoob@XW76+@?I`=OS$x(+PGTXajUFSLuJ(1qneZqrr$cO zT-7%xvmU>L=8yC?z96_h}o1Vs{fCiH-rzPSWgAetKWhIuGc&#v0bYW_LYMpvE26uW4 z%+0E+ylacUiVQ0Y(B{CGt6+FlZ`&f~575GFqj6|_ALeH-Fn=ć+HeafSEK07DX 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 look no further. Navigating a model in 3D ------------------------ @@ -141,14 +142,90 @@ hierarchy. When there are lots of objects, you can type a name in the filter box to quickly identify objects by name or type. +.. image:: outliner-filter.png + Clicking on an object in the **Outliner** panel also selects the corresponding object in the **Viewport** panel. A good strategy to find objects is to then use ``View > Frame Selected`` to zoom to it in the **Viewport**. +The **Outliner** panel is also great for isolating portions of your project. You +can include and exclude portions by clicking on the **Tick Icon** next to +collections of objects in the hierarchy. + +Let's isolate a single building storey. Start by disabling the **Tick Icon** +next to the **IfcProject** collection. This will hide everything in the project. +Then navigate through the hierarchy and enable the **Tick Icon** next to an +**IfcBuildingStory**. + +.. image:: outliner-isolate.png + Viewing element classes ----------------------- -TODO +Usually the first thing you'll want to check is the **Class** of element that an +object represents. The IFC **Class** is an international classification system +provided by IFC. Example IFC **Classes** are Wall, Slab, and Door. Every IFC +element must have a **Class**. + +**Classes** aren't just for categorising elements. They also indicate what types of +properties and relationships it is allowed to have. For example, a Wall +**Class** can have a fire rating property, but a Grid **Class** cannot. + +.. note:: + + There are hundreds of **Classes** to represent all aspects of our built + environment, including non geometric classes like Task, Occupant, and CostItem. + However, we'll focus only on simple physical **Classes** in this guide. Don't + worry about memorising all the available **Classes**, you'll get a feel for them + as you explore more. + +To view an object's class, click on an object in the **Viewport** or **Outliner** +panel, then switch to the **Object Properties** tab in the **Properties** panel. +You can see the **Class** name in the **IFC Class** subpanel. + +.. image:: element-class.png + +In this case, the **Class** of our roof is an **IfcSlab**. You'll notice this is +the same **Class** name used as a prefix for the object name in the **Outliner** +panel. You can also see the name of the actively selected object in the top left +of the **Viewport** panel. + +.. warning:: + + Not all IFC models use the correct **Class**. For example, a chair might be assigned + as the Wall **Class** instead the Furniture **Class**. There is a special + class known as **IfcBuildingElementProxy**, used when the user is unable to + find a more semantic **Class**. If you see many **IfcBuildingElementProxy** + **Classes**, it is likely a symptom of a low quality IFC model. If this is + the case, scold the project manager and ask them to do a better job. + +After **IfcSlab** it also says **ROOF**. This is known as the +**Predefined Type** of the element. You can think of it as a further level of +classification. In this case, it distinguishes our object as a roof slab, +compared to other types of slabs. The **Predefined Type** is optional so you may +not see it all the time. + +Press the **Select Icon** to select all objects that are of the same +**IfcSlab** **Class**. Then, you can isolate these elements by going to ``Object +> Show/Hide > Hide Unselected`` (hotkey ``Shift-H``). To show all elements again, you can use +``Object > Show/Hide > Show Hidden Objects`` (hotkey ``Alt-H``). If you want to +hide elements instead, you can use ``Object > Show/Hiden > Hide Selected`` +(hotkey ``H``). + +.. image:: element-class-select.png + +.. note:: + + Remember that Blender's hotkeys are context sensitive. Make sure your mouse + is hovering over the **Viewport** panel when you press a hotkey or no cake + for you. + +You can also see statistics about the number of selected objects. If you right +click on the bottom right status bar and enable **Scene Statistics** you will +see information like **Objects 4/4**, which means that 4 objects are selected +out of 4 available objects. This is a great way of counting objects like toilets. + +.. image:: scene-statistics.png Viewing attributes and properties --------------------------------- diff --git a/src/blenderbim/docs/users/outliner-filter.png b/src/blenderbim/docs/users/outliner-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..aeb2ce55a18c293368216d3d2056904948cd3631 GIT binary patch literal 34428 zcmeFYWmuKbwl++Mq)3-^Nq2Wkmvk+29fa;@)SUeXj5Q zbFS-q|Lx@kuJx=r$DCu#5%;*ChX@rV8MJ4F&!C{7(Bxz#)u5oDL%{oVBn0p~Be8EA z3W|)xM?>39&BT+;$;Hva+RmKJ&D+VG%-qY`0t(7&t{}}ifw&~$-D7p6AJ2F25p7DV}jxa9_M{G`;xTd+w{I>1t3s15!yV=^W5VmXD#19 zFPm$%J-4iJxof4quk63rnrZW2e0SQ1F+Q@@XOxwGd)0h>yEhYlMKt!ZO}hBv>4xo&avRM z^aiCD(^Zg}yES6W)Q9DAaxMHLc3Wwj6XZ4J!6b53OT`v;KrHq5K6J-Jp|Z0L5-(fS z1x7lShn@GgU-1@7)R4q%<+i(MTiI+X3BoA8j(m>^54|;*JjK24>&ptjo{@x$($b-3 z*Zy_U*u${OLM6*G8o`6x`qqZE=Dr2`b$1?0NDiS3nGJceN{Ay{9j11_QXq{)9DSb@ zoH)HRM}O)I%}LWZAI_AT<0Zn^8|Hm`fdn7uiquRpkQ9THUC9G<4>v{`i#F8cnaa-D z2TO~7>)Mo+J;Szq&D5-=YhQN3J-1)9W$1HIb|w6W*qKVSI+}lO8xqau{d;3Lv4qw! z)wL&C%dn@cX>QlH)H*-T{FPRjPQ8h1Uk3Me<(@q&G)ea0n!IV(*ZZvh^i>dg*|xmEtU7tgx~5e*Kx(1)UY{Va1GEUzth7}xoQ0H z!{C#VQer!!RKuZW@6Sy=$PRzr;U~_>a~GZwl@-q5^7yTx@nb-g-d&sYFumI&tIH!{ zeOuHVF50KZaiUy-^0I3B5s0iz|(Ps zgj+@m50bsuH9;%8G|(Gz@4x?Ir?Ifk_<;?ve;BH%gw5%m71!;NMV z^J+G^)=;Ro=XIq=+RZdc41F{!uI)tG;&j;JfN$+S^KaD=rV5#2*wJQG>x8UN-7NA; zYg?qn=ul-HGzuRhK6_KY^?R)l>xOr#9aNCM7pq2N)E6FV-Ob%TreT|&1hH}-o(-8^ zDgL;wPnXsmgRg5n)1xE*6^0I-AssV5h)TdZTPLCUf*48{MaF)^go~8nxAxGaUwxCu z9yNN(Otv=S0N(hQ>^qyB7?qC~2SF=xvF+dP>yQq86Z+)SwP-$D*C`(C!)s&9B=qUH z^0Yr#4R2-E?W&sBp;$}`4KEg*XpkABCW)H2RDG?0NfymT;n1%^jj=4w#`&mrl^$CC z;Y}L$QWP8ok1eQH1PMo;ZOQ^IOkz;dbmnJ(*Ej&GaK zy$4-_zHW1q@2pvqLRM5K+g?kFL2d?*6#2vQ<;X=p_VQpR_F{vv{^{HjI#y_P#|6_>P_Pl2Nf z9zlIEW(%cckrwu>Ztc8zWl(j?-h$h@xhSZ3_;OI}b{=sR$dY7O(}+F40>3r0B;R^} zOi2HFa?v+&M{t1kws(w&cgzI-BX3Q0h3L44_twy$lpL9@X%kPTgprK~ds0EG%MymUx5QA2)`9K~FEMG0poU0Ww06I|fvXkiII0)d zA0c5Ft)h!l%WF+hH6jC#osna++XK_htb6C31SFp5=8mYV`u7mq& zRq~8sHn!M~nJznIYU5;pLpc654u67A5w=5{He36PP>p`dh}iv{J5dYe_9E7g@RCGG z%Dtl|crHW=yJhW*(KPQRq1^_PLPLm&j{-B}6`*~j=IXppKYABaFCs4LPUZ4VvE7D6 z5f*r#2f{{8vbI-nXRP48t4ealAvLBVD8oe09wDYp;?J6TJFAa0xWKELT6{pbPA2oc zY9zTZ*aQv^$CBg{)(OKXsAF8}hsaVS9Ak7U4iQd6Rg^1ypX%3bj;ZFeJeWK(R-G{J z<%Tq3cx!lXOpi=5E7Lij;%f$uRfFeAWkl*MA2C=tzlH4S6bEtzN744SiTdqecej5j z)L})%%l3xWPiUt#c4v#Njz?CDj=xzk=b3U@iCyOugwWNYx075-v$hk;B|)?+$(Qn4 zIcmfd*B9|p`!rsOXCLkai>8rV=tOtPpE~Vpu(hEvOVk=zL$Fn*v4WRA2d4 z67ojkk~e;$J@fZid@rFVn*c5=kA4CCF(huZIfFGYCZVtpK0DSR5V4YYK~dKok-pXr zXD|tcD-$YJz7XnINUkwxhe*{KE)a5qW=jc^4}XYTPnKLqYx7lwvI27t%I4#|(~KyJ zm-vTV!3HR+z!Jus7YI0`ESTEU)cFW;UtjnvBq6E61`oV3jD2RkLsJz`{v0hxiUM)9 z`ulG>X-tH!cNV!iMyx!VHG~ToFR)w&G{q5@K0ulI(+IYc7GSEdC4GfoD_fAJhv3`9 z(F~*_yPOLY1wk=VMa$~5@|er78st8IQ3X@=4icm|Dt=9cySao$6n`2s6hf8;&qVO0 z?0s-qHqQ*S4&pOYIloBgcs^Iynhou~o$TjmlNg=4F=*BzVmNNn<(2}YFA7pLDnn+p z%;peyrve{zxt9H5)_d|$C3!XkBVd!EDFZ)ZGk*yxd4ERWYA$9_f)GvTa?jx)vsRF$^Yw&OaJAN?-S@v$EWL`bi zFtkGIWR@&d^*(Z0VLIQ0^^;ZSECyW+wE3T=i^&!q?0<0Pny>G?j3uz=T zxZfMv>qpm9Q4f5V46PVRi$zvhp7 z9r)JCu{~6BP|pL2*GR_OgLyyv1ypkbS7BRs#dn<9aAqM&;j=lqYv>8_SAj_74ytV` z{L#)F3>L`89o;S+2&ts+6isr!(xFzk4b4ZWo$O`TK(#ss@9h97=U zm1HaZjDk#P38yH8&?Y=wUyaCWavU`~=%LWOT-0y=SZY)jv%4)h6tl|Sgwv{|4uuZp zJyv@}5wzK)v4ku}gwl&XQTRNJeZ2f81T!Z%#lpy;v{;@{3^Sy869!+#X2c_Qzlork z2-V~+mHMN>qV|w}M@bmb+~*@Sb6Ll#VT7acG%RD;M2zD&(S>G7c(Ol3O};m>uzyTr z9W?G&3XAO!>t2!k(^3AzIKE7wvBJ+}2i0}od}&OipMY0r$V-&;ScD66Y#ct8a8hMl zcg45I)5)M?YGBW)BwY9?Ty+U5IG3CZhszIYJ*Wb2o_(4@L{5`o997gNvf{apRpxv( zzt?YDr+}2xMTHRYNOLrI#Y7~y>Iha_=&y&KY^OQQ=cHlP$_+XOunWDyF`K$m5wI%V zk~tsF4F2F1QGe;kr(}TYOI+bRY!@Bl!?E|8lQ`ztKpYWj)+(BL$4ve%n_}8rj-M!( zmMK(9osc^%m8N9;Ap8i8%J_O9(5hct9>RI|+3h)dP_W%@UY-FntQ;kD$q(F%@MjBj zMse|bW-wgXDy^E^p)^=&e@LGZuly|1 z$4rwk|1%UfuV@}KK~LfDSTrn%@9*cXP=xrm*+1ZEM$w+3--(ape2DieCE%xkEPvU1 zp0j0wfDG^O+1dQXZ&P;OD~T`NtVrv_k&VBxitDiAw?fYO^!HyWd$e{FcuVhN)D8t) zW`!(Lv4}5+dy+b%Fbk~0mo$+`;`+#7W>Z&|*d%9DskrfMOqfgM;$vm>CiKq09n8kp z_Luy|lqRr4%pe{(KHRB}bekV!%Jgmpt5VTWfu4PzwB^pnLJKG(B!x9P@YogYch1&$ z60Sd3BkXKo^;evKb{^%;q=ZH)tzbHDQGYX0kv3^-8jt)k*psXtA<*rTDG-}lwq1;H z^EQH)=E3A4$dVfAT0p2Zz@sJ0B^kC0Gr2V>Qc-A}ChVOm=EL{k#GCH@^QhQiw(!ke zO6oT=b#eJQ(awp5H1eimWuENb**x)^7EV*V;%iuKas^vWHGE%Q#%72=;xSy zdlT%xP}%Bqm*A3grBq3z7QO!YhkaQadaEIF7sVvhd0LD0b;~4;Wh50vEoz0jn`F8e zOP?40_pn45XYI!41}pnsXNcPJl7=S7!m7Fv%)$52Rolx5a+r?Kd{q4|YU zWwI+#NcR#(4`!b(!XE)o+(+*+@Q0WN1#E&3DwceoOrWB{%gIAJ1|3thu0RE{$6!IV zlWr?Vd!pB`MI1Vx1{}R??N-2$ZGqEUK&JGO8 zvxzV1`6%1u03BTxnpM@=)tS8UJz&sI!J2aad5Bi9I-aN$+$ICV=XX`{uWIIWqqBJ( z4vYVgkF}~`3Kcm2RKwVn%P}Hg z?>ZlG=BS4a-D2>jcowum?9A+?avg{xW#io~h}9XF%Uw08M$pZkyHOjb1=qLRLf%G? zlyskr`u*2Md!*K}HRBIP1hp2}MV-5BVP8Z>F)O*C7A{gX)@JxJMtOWepQvDu@B5yy$K zOAeDG_7+7%uAfjkZ~P=2K=5?h$yNg|Riq(s-U<<_)_-zAnpD_V z&4HPh-PBU47;maHmbMCUsI$QjHL6Ot1y%E<9bE-Qg#7W4Edx`br;G=hWE_9|*%aaK zvR;abBy^Ti)k=DxrV7FI&pG6gD_Ld)sPv<{-HaWgq{3Ey#@~n2mq*k?wM0-Xc02X3 z9&d_L21|Xt=j|d0P4p#wt$Cn*1LWWzf_is&^Kcam&|Sh=t+y;yTUe3f=jb`09J?>E z>?8fNQXC3kB%#nqQ5ENpoD!%EP&lMp@;mm zDNa%tIxObi&Q(zL%ZihcKr`zZAqj1SPk6p7iI=MtpK>j{55^otlZ|8U$1gIKhzHD< zIGyt+A<$_?H>P(zcB4~-;o-uQ2^7a-O#0n9Ghq=qNR7{BecyCmx%}ksSfelJfQf{Y z3JavLVwK*rdA9DuSj{>s>;8+~swC??r!nHi!DBEUGkl9#~yDgf`v>Ki%m0z8{QM78#Hj8JWQ5|V6IUy#l zE@XNqaB);EA!PMtSY6*3EiRK^Lv+%4)x5~W)PU)#b^HUKM6>mJp~T&pjR1)kIvLz= zd^L;JG09)vH({6l}VP7cs1%&66e;hMnIpx_4*jS82!L)z2A~K+l`_!%- zgbLfiY^){XvS85Obl~@b{YR3^C#zyp<7`Q%;TI0P1a^{Zc5AQ!5)UW6e%(4{Cn}7n zP3gLf%)u_=j&O0|Yn>VNg?J`5Un_H4A+_doIQoGF1f30{l>PL-AV2a=3A9rj^|dqIH6^p}T2<76M?SV0L4 z?`WYAir-G+4HnRGw?T(zmHKVsSBO!p6Y94wsK#4UQB#s|} zwyp07Wvo=7iKbYZ5p42IiM+bHwdFaDktW$cOBh1Gti;UgXP_EBX=Rm~#4vf2qJ;q6 zII5Y2lL5aGj4i8OHaO8Y5PtZ|-f`w#P!nQSq(}6y+G`sH{LzL!3)Acp@^!5@Eb^A{ z6*$+jQ^h`qNjCIUVjgdlCAQibwHxbCxTtv8k_It2y{N((9PzPY{EIZxVRjLRLS+{4 zkSLg;=KU<6Pk!KoT22D(qv8lRVz>&hPWjGo3U-ah6_QM#Quy`>R@%PDo5HL=H>N*cH2brId)Oh zaCR(>sdoLf0k#-z)0cYc4peaggflG*YgZRql2-46VuZ_Eh72V6HS+pP6jtbyz851~ z89ciU@40^KeNmb*la*GKNh0rzrE^rFlub9RX=Wl#kR_z-moHL**c8-%Sg%F@9C1s#j zI2$Ty`BobKoXQ9c(#4ej8hws} zpk|TTe8oI^7~ZNfEipIaMTb&Q&okbNgarhap%GbVW468c=c8Q}qt!Z_#rg;dQfN?I z@`P1=Wu}nycy`&ZtN1J;VilGS_DW7&t#~u9e0@56szyAQBPlEqpISj zDvq@-yN>0i$tRt5cS*}1#^n16<8=@f26qJIN1|EsDPew&LM<|0v~*82J19W({>#&(-vt0=x92gfAp;6Vm+7~LrfTLV` zjStU;>PA-lT7S4;_%+1WTgc#e@fbeYt@8y-!HchYi-buajNd0d z340fOU1Mf2k^gj){ekQu@=tsIrApfoT{{0&MDB8f1W8iSE_XazbofFw!&~#`aGt#G z?o1Qm>;kBF8d4vnAFlN7<{P(OI#> z^S_d((4bl{Cg+KWvI)YkKnYaxz@qK9b(qrpHYcBj67cM1Y4SOnPP1HK__Z%IIsVt~ zpBn04CMt+7d$1ZL*4XXSi<%IBVX4#lZD;pLBf?a{S-~a~&``ZlVi{rZ$`&Bb7{jUl zb{M#Po@Z>5NOnh689d{Sa{aq^&d$np(e?~)hr@doQXs3)E!d&3UATz1Sr)|pYpv(3-Eux(VhYvck@TlE z2iApU;5T$>*Br~6T_%u2Qm)AZKk^IbzlSW0_NKl_uzr0RsNsd&{egQtgFDE54eAoc z^cm~7UNmjpDIs+U_hQHDlu*XQV$B_t6L+;~12ln?)d#{ReomK3XqRqg3eDRyQZdW- zi5e=?1I+F#8XQLqi|;J^zlrs`SMJ{0uh~sk?!3{|Md_#+F;U!)PEdP6toXH#y^g4a zIxF|Bt?oughj@Ej>T5}j=((Q)D__tFGE<&wXcruQ8}@}PP=>?C{noBsF6mO=y#Iro zsW;)lkvMw)R|LP{jX zd3;TS`e#|}o~6uKc(vjkPBv8QFO=hF2fl!13e9tF7w~btKDjt(umg21Eg#&Z}W4XDA%`32r1+6v!Ni*^VthW{fx#OF~As7RndqzL|{9I#I84&&>Ty(;a{Y49q@h2Su za0R<>6fh+gTaqYVC2Ps`q2ou~8VUF;Pc+sH5`ZTMLaikvROBQi{_8;j@OVJF{|6!2 zE>YqhqX}Fo26PWh=YEx*j^M)ZJgpog9PzTz;*fy?qtSeFIcH~VeH8S!j9Mi6>F(}M zIB*>pm@>4qQh4+y0dhG~(TIKbUYIWiQ&XBUcpT|}~qW3ooZ z|6qhDC8!;f7+oP9Uoa0>-;Lb!`AmK92@I4K973I-St83^szDpR?N-%F&|Gs}V@qU~ zz3X@HS?3v+N`cQL;NsZvUZbnj-Zw4?(HWQw{~8V{{-WL*f1$nky+@~HQhP7+?%jv) ztyMqVKTF7(K7SogCN73%u3=26RH795j`M)l?=Ga=h$2P2oE@JJSLGeT>_y09$B{!> z=SFA>wj9(dUf&HqLX$_3#iDa-9LZO27`UvUS1kwMxC1{akMG$tdBC09!{W`@E6&0) zdjKZ_*3hxcKV2A#V3)ximY5iZQfkof%G=Y^((y6V z`r-=q`h$yy%sAHoc%XyO8a%k6t*F2cakOVPF>^FEXZEsp0uOdTK?#a@IhjCg&E3dM z%`L4RgeZ=h+bGDa&4ei4a4E7XI!TyYSOBEruEz4(CudviAv zGB0~O2UmVCA&S3p`N8|A%PbURe}}l)3Q=e)s*p)Ix|ox3GIKJsGD&$^d$3aoKO+-# zF|*)Tla&6a2=GaW!phCfiJyhV)6IEM6u~ zENslIEcW&+|31UjP09lZ`R9iIuQOaV!1FIGYUZwv?k*5>DGzf8H_Cq(VFvlvd?$Ao zyT9s~L0HV~%ITHcNQ@A{}}0JZSmj6`X76H`sS}X z|Gp70{aPzt(h=hRv^_aVA&RH<`OO?5)@J;F-|}!<@bH>(nKSWm zLs*$O%}m*ucsU^^Og!e?yqr92JbVxn$iIn_b8vMtae$aVi2}lzt$`d~P7VtWGYC7A zDIYg46Q>EcDU&H1uNf1o2?qx&FSi8*VqyMoB9vXMfmfQ?{rj$-M416mtX$@%99-Py zOdO^>oIn(h1rr}HgoBBd4Pt7+3*qKr<>vV-$_&CU?dW1}0*=$#-o(eX8rFgDt0Dr7GQ!9g@Uz%yVrkzpfP>c6gA|6dNvgv*Sb&CCqK#LLUh&BVzKjB9Gb&B?^g3gIwe zV>9RFVE>1D|B~+NXyN8*;$kjl2{Z-T00;W34H?~EQ_}y>y?9!gKiLVGk%^UyiIrP} zjg6m+ho6<>6&ou*D=P)dKNV(qit7K;SdiuaV-vx@1O6=yfO-G82GR@2RxJNYSO2ux zlNtXXzW#X@{|{FHqW`nV|H{7qG1q_0^}n*f|7!4myz4*a`d?Y#e>M0&-u3^Rxt{%Z z!(;9MP>?5RXHwswje}MQ!SuC^B-G>6zwDN;iQo#dldO&_6coyfryppj&*}K!BBGm| zq7>q9cm!xZSWh(0eDGjAl$@lPhS%JFhNl6XLIetziPonK^B6dDmM3JMA_2?;eNnaRh5m!Ce#sp!rHG`+-1&u9dlPOLsN z0agS;h;A7T3ybnHK2mUCR1^yPr&1d{amcS}-H-3YV#1dh(#MWIS z{U4)~8ZeHF37MJv6l3#gX_uFGr7BL{86fvSKAQ8K-&URJY{OJ0{FfN{Tn>$AI*(lcF1>vB?%l@5hVgjfT%jtZi;K&7 z>wL8(1~W6W&vMJ%>CoNHR#xqtiA`8!4?)ZLt()gJOGHO3IKNiTBfy`WGJ} z{V$XS10yLXZ<7sNZWdi@s$ng+0`@;7sS;(%#mo1oB}W#ttJZ#=(W_11ycO|dM&035 zXMN+DT0C!OZ?7o)-eIw6tlCm}e}6wbB4TwkMeI6sE43zW14YeBZxK zVZD4gvepxYjDiAL?~U>D@tOWb&9jLxV^jP6;m;l~FYnzJn%qkn89#r&sJuL#H!)usRk@;YnbtBqmpVp9M)KFwIITMcj=p!DZVnw4=_?DKz;%V8 zm7H6T=Oc@WiPbnRFBvz|X8Dbmdf4o5T^%jA84|%NE04&R4Vm?wyv|aH+25kKwgHtHJkyNF4eJHZp{GROF*LeDp}s+aADx?=ImxY zPUNsi|Jl3X5s}A*71!}*Psiabk&(m2=AI+Nhua&27N1(3gUMeUqc*ixwYt4=FXP_5 zg9q8l5I^JtrHs~%p0+mrdS9FjO``MGFi9B3%i&*@kfS{!KLaK7s1hgNIDWp>z4flM zfIcQf4ALKcF9Yn(`CG4+e9w2MO6EM0<*D!gTtM0bp=+!s!rI$K85tR^=IfX;_}z2C zW_bk!Ccu_5z1EOnU}2@!%O-Ys{r_-+K-+fXC-plP13vE!{sw7#ykN+`(dKs-hKL!k zc8%Sv+R?4W&(Cb0hx)>|`y3&LUACE-8(PPKzCC@fNyX6`eJ&U#zAA6sUoF$p(eN`HmmOT=NbJ8ykDH$=%k__kgRjtLr&j(2SvP4EXuE4-a1zz>we4 z;@>h?m%G-b(F=(a3d_oRDPNFqeC*`LPqMSKgN=*3G{fV`0!#TbQaT$IFhk=L6EV{% zpFcie*K%(}3yuU(5NAI1QO6~|je1U}(tk3+_e!k9adlVXEQHzmG#i5T(C&$Oe zvsLDT_vaI)B(L6-cMl98mubD0l!SZ!{Q1*R42-zjQ~rW4U#i~T`-n?OSkIJ`Kr!jo z7=uv!etXzVMNO?qAa8T9+HvyiMSp@=A)l(M>W>V86wf8^_uTe#+xOGoyppA<(& zqt@Ba(=>?)`CgV{e<2X?V0`)Z+N5ky<857=a+a{&VpDQ(a4^GSRa3%VW>^@57hKWw zw3~~2S(SpD8)unr?b`Lpx+dvFoxL82R+c=<)a-0BtQRkI>K#bdY*uyavRvBGzzg=( z8;bk_>DjYf*RA32!0#3sob%?YzVQj1eW>PW-K@La#(9Z>lk_RnTEEFHf@jGq#C+&u zrEv#LxnYaEiVCJ<%LOhl`UZ%WsW16#s11G5>bjbRcyPDNI38VY@5&^URx zJvy7U%=)0yBp7^mcQ$f%()l3``-r4No7Z4C~ zbTUwiHb=eTKw6xYFY=@Vm1MV;IR##U`joJ)RSp?61aD={lH&xup zg}r__S@c4_V0`7ZwmbDqORlLGnP$-jm!)N4FFvSbPWOM@4Fm4~{s@JTA;FlKn9wE5 zx87gsebOtx}#G;%f~GO|6EH!wKZ`SWMYx3-6- zL86A5n)B8Rq``?|%~wtCd%d2^{(X-RS0d#G&AppLDT>S@iyc8jI9;I$o+=QArMNE) zzkG`%?Ck8i;n{V|KIZ3BX)xee4ySi?b>$7ln`YpLyr5OuJ_y9a!O`4odWdA(InDSo zX0@xZ%55_l&a>>7c(okRHW#In;xZL^Qo^b{I@5<(fV|1?wk_)9#5z-Mu%4(ayt>j6 zqTk|!!^6WP9ZM|d;J}Z+=>9y}v#gU+U;lGf+M#6N&XeB!dj4Y)f&%*@P;Cg2DI8Ql5y(*7fh(Qu>d zmI9$%t<6-VPPN5{^z`VA3=)8v?tmZfFSVp;mT2W@mFQHNA$uM!tb(faB|AH?zhAbc zWqRn*Kv&mi`KWn)eZ4D+rL}*$Os~=7fDmftn~^0b_6k|T8MU@EE<@cvVUDzQRw;MZ zbidMseDKYYU^e_N3qteB>p2O_fv>%~Sb705HZciGPEPJvuF);)z!B`Fp|*`ID4=fk zJi?t>(V|wClZzOO@@|``u~vVw6pd0kU970Onwoa4jb_ZQfcq}?SLLkU*;#^GT}5Dg z_D|9Nx0jWkM}}}>qBMzY=7ZSj85#8S^yEA|DIj~Ag5?xw@{HQvuC+`8WHy%8Y~+18 zYYFUthK!8tv)tFyQ|YoPFC9bJ19A$J^+o_Ph+~k)6+g2y% z6C)F8!;&1ATm6r2dS1)Rn+~V*O_8Rgr~mlH zfD^;S@%yxuJ+ae$H1yjJ6x!~H%|{B`newvJ`uTdtG;<{Vhv8EiRRL{1y=wnkkGGHa zp4@i7oR%}UM7R+^MN`P&*SvdF7P&V&590pFk;4tD5_r7(x6toBJ!`1}Q}a!o5Ofm$ z3ZDxb8pY2VC1Kh7MiMhkYc1r|>c#%~H^Fn}Yuyq1%WYXqdUXpktMZL}7>zlx*V}n< z49n5N!qPD^_G+r->FLBDne?>m8-cr??tIN!O2L~NjZBDNGv(LO-MyFs8UIJAPIY*6 zbW-Luf`T`!o-_3ON%*s^%E(9O%S(ydn3*??yRdsMF2#Pg*Ea|?7j=>s05cj}TK1*U(sjkqhy2C+oaLqvao7Hl5rAVS3d`jc6}jvMp4IBcfY(5?()7pLy4u>F>FK(`#KLbb zQ+P-1@f6z`pXB_+VVd(L>8^UhwTd)yH5mAu4s@v{$h_gv^y-T=7&I6(Vmywxv3J+;pM9}2$@ZU@mj{r z!a}}RH1{n&BJu!~tZc8SI6Eemrqkl=r?_PKOW7P=g+(M+NNO%YP6Ut zOr7#~@O}1nR8lPD1h62qkR$$>pl-O2je@{%c6MfKPM0q*y}LdcPfm!Bk8kLk9C%g3 z#Rex@wm(Gv^ioxh4hnsGnW5TzzbK*qW;|rZK38ii^Z0PTv)IfN6clt}S`rQdb*vI1 zLmF`B42s5=lf(Lb;~_GjOk7y=rN_{(2!NE4$D(Igs7~kd19pcRoKQ1riLX zc-p$UE;py<`v(UE!hXDfGb8bbjX^f$<=Ky#2AJ3!6? zm}b;=LZ$H(fq{`RdO6@R<6G+=`MU?uPSOpT6P;aM^#PGdN!Xycg=`NG4?d4=u3P9Y1Mb+Qq@?=I*by*D z6{;Z)nerz7{`Tst@6}g z6B83oOES4c*l3mcYfwYG^Wuc%0SpBzaoJ!-*V=Cjaej&NZQyiB+@Ed zfLsT>k}$bL`=u;+^=51FdF3qd@7{oyd3(Kzxa4=H82eI0Nf(Exk06nclCo>X8zvf`Ex7AF z#+yG&*aWB-Vt!nD#;>1t+5Q(%T3gctUI!T42f(^KpC>7?q(brlXg)g4Gnv~z=Q;> zJmN3MxZVDME6DLA1q3iO1Y4jM(bgss zOct)=56-{;#}6uIW^@2>07UFwE-Ni<@IIrtyu1XYP<%#)qK5}J=q#rg1k{Jj&CO3h zF=q4F*9M{5QLQwjN)g`4iE)x4}VIe?cca(n)d?JXe3n9 zus=CSrdUhQ_;|urRsgB3tu4^X$=#irh9)deCJvanGnPaEU*xUe?Ck8?=>#kydIc!B zy|E;(4Gl@5z>WYg&g|^$WT17PvZ)<&*_>_h<&g+OHF@$vGc#jzb15(oG+E>f$&nbs z*MXqxJX~lD0kp$QzvCcn%bUxg2kvPP8ylPCt(!&9Wj6acPWjib!SpEYEWW1=-tiPx z$LwAnF4}s00>O~#mL3y>222bXEPT{@05sL~^%(LE0Gn-cY-L>u{|LikC*dF&Ik|IyswL4Bba!tr7AB_g=?Mr5nwNSi zD#mUkep*@|JC0tJSFz!!4_R{(f;~fydCIi(3iP?`=NJCiFob|4v_bG>K-q=&nL#zG z8BYlrWMq)#sHh$c6*UqSH~zk-8W9BqlDIfK0yyrc^z!6o@eSXsDjdli7aA(184{4?X$H^|bk|J3J#I$uLq6lfh|1s6k(1}hWC{DHa#$+W z-X=;(N*)7tAWgHL49UyOi`8XAmf!O*T7hPLyx{fzTx}F6tAzIV6o~_10(y(@)%2|} z6;&u;xL)AmTDYwbF_^mp+V|7vta{-}%aKgN6cTQ`)N?qX7*uM(%I(FTrPgAJR@qt* zBI(M;Kq8=LNMfYBK#M}aY77O6m%?Yxf&345Aa9>11Pqw516y^0_7G5TSU*2=L4N=E z~k%4Vgh&B~mmT0fSxGuNOcwy|%X2KQz>}w3PX9f4jc6))@qg zC@U{tTon!QE&v+t8qWL|j%@W<6a>;L`Yg zcmt5jkgLPRPn;Gk}0wJpSf00_Kwzz}VKlKw=dfOhd1bmOF3N0zSt{4q5*?*X06&q0zqWu9o?v!6VmD~VWokOI66H7o0rkMSq6P*LTpwT2dN zl>B-RGy}~StO_U5bCK>ZLu|XbR2oj(jo~;3}E6)PCtKq;%5Om zqlS=~#Fv&b0&Yo8QIVR0;x7r8?-E1EWqL4I3!Khrts5EiFyUlKpp~1nYq20LV9dz(!C|5PSxFd1`7Z zzH`dx6De>o#|0<0GWEu&0DQ{-^5t~KC}0d!QF(cJfX4GdF#*i03rNr{lIJ)trhR>U z*0#1}K#w#wHs%vnnu`jO2k;_5<$)Um-90_3+S;Y zspiJltheLpzp}I3e-01F0%8tC5owDeR7QGws<1ylXuDT|9oTMLE5OYJIyxi(5da@5 zr=*0N_@~BdEV!_cPAHCon)+R5r#QGV09p=7=9I+Gp9jGa6)?3Ek%9hktN#P#lWA>j zUrS3Pxc>e@&c%fTJQx_#%EbU6iUi(YLSDyYAXc_AePf@RuRgn96+wW>35SM7SlQa@ zOXqXd1`Z;30lJPf5MK#k1&|@ecHGiM0!TBI`T(ssTW3#n^!+S$*8lh$Ba@KRO5hS4 zxOD>o4rw7G`2>nyz7y{N(y!N|SgrvQ1hbQ4*$@G20X+Wk$q6|xuXZ$nQU*T`;Ol|; zcE|w>!7YbqLas>5EPt)^hR>YV38{uvp#OZL zsPORc00`*GmrLwkM;%x>IACH}T3Im$oJRc6CcupvYUNkDt?Z0UOn^(z1C1@9VBaKs zV;D?0$7g2**%Wa5dz&L3uC7lRD4o|iS64zs%d>|YKsPA>D4ab!EI^Ydcz4{D+x(K0 zwA^za*!bl1v=d|@z>BT#?E%7_5(wttho@whzV-@z_ivK1N!` zr=<-6qQPrB=RK6Hl2W-#iKQ#=+dE#+uj4*urKa|O=CZZXUuJ2$69K9=t}s8}?=YD-tM)_vllJ--hh++cC;(+V8L=ZtE4dYV|+4?hribkwuQg+^C}OhKKI75vWm`Ly$Mx66Zh zT5s5^AT}?cYD9Fj8KA>JY^A5Chlhth0X2)MTHh;&yZif{x!PAFLRZ9i%=#;Uu){@^ zy}dk;z=Q+b2U0sYqF*)Ei31miaBxllK!P&(1LTx3n_8scc8(FjE>Je~=}UFL#Xz@% zge?p1X<@?UNJluLj@3IF0n`Dw5HXrWko87%lV@jUW~@$c0I#{Sv-8Al0d5r=GFDkx znR{B88ZOMn_5pAQ+w^)yMn-_5z~^yDFEj%X3{;4Apl%`R<`cV}!eWHGSBP>m7~OHc zGr{L`PABqkohLRM91^lKngbh5<^)m|TW_2B5bjta=;H)D4;26ryxvyCxGsdsMHrItl#$5fRV@I2mZ+sAb2NQd_4i9^L1i%e_!AJ5diQPfRo2% z)D{HZG`zy*IkLWbH(aXdV=Ky35s^llo zx1WG5b2CEX0m}nC(8<&D8+LCYJvuu2mD~U6>?@F!QJIt4+xySwX~`;BwnGsgM;9L9KlupjqYd)+bTRrhAp$lAK7e_oz70$ADc759Up|LP83F%s6~(csK@@ZxMJ3KEiB#d|#mtzVYw0>}G^^uxUVe9V>j1QaQ;Uj*7HG{2 zT_PgS<@C)#M@I+1_*p^*`IdiY0cL04(%*82GW1VM@M#k|B^8GETarPOr%+>Pxw(l1 z1qA`8q+}$mzpCfxO%#w&Qo08|k|9)b=!a_^F^P#5a$NjS%@Il^7!m=Yp~I#rwaWyA zge|Zig?y}b=Y%3&bA#pP?Tri<26D20QyHdo~`BFB_v$U(?lL=@Dzl7LBq@(JTaj$Ffh>E zf=MO(nNmRDKJYAnm$0k9l$xT<2Xjxo2bEx`-b*9uOJ)eHM2C%$MyQ`AOu8Bx@Wn!G zy}i9mDuqd%9036V24(&4r(dw_Gj*qxH;FFMerJW_&IjII^b-Q>8R^uQFPIvE2Z2angpB0o=0cPrFOpM@B?kEJ3-Bj`w{C(G^}@#k zg=9;5hQx(`XasZk-Zk|Xx0W{tu!Wx;4$8ygQF7UB9(hy5P6E}W+vUfGX8Z7OI@i%2 z0;mpXzr09;{lI4vix++3L|STS)d1q82(b2mkdXW$%)zpvO0CA{I&@&TQJq(9_K(D!-hZIMrXBnI^jJiTy3m>Vv3>)YKYc zkIOti^@V)~T4OVipB2C<-`$T$phhiLEhnacly*JI_7-3ST*qZv-_S6gFhV|O=;>Ix z1K1+857q&0f-k?^_r0yL@ntvH5`YevV0s3IIbeaXYmt$WW7&26R)nKvZm33on;IV{ z1BL>%86^H?5cPm0&MYo|glm9Q6BRxrxbqX`+jIA?g@tSgGqlbHDS>n1w7iHr_R00t!rOJr^NQmCfOk-tr zHNwRN^+_^Y{#7z9lWMWA4>~@=F1MJf?SN;7rYn-A0Or)a?$L(4i>(U%IFzn!Cv~nF z`tORrzfF1qi7@I>mk(;P1QT+jgAEqY#`KR^QDT2`!oSftx_ za69EOHFY7#-K4|EU?u-4GgX%U{=5gYaw`XiC0P30#7m!sjDh#yx#T~c+J8&H+>?;DXx2M~pvDZa9YBuZQBgvG<#=vy52RsRIl6|AjHsl* z_`obAb3BLk4l8#aw#HDW+}{T1vdHfNYk>$P4>TH}WgNF91@sD7)Ch?fDPk=$j4cLM z(Jcy!Uih4`PmFJ?<=q1>X3BZ_e#*X!V(`S}<)t%_C1O51It26wdH?6+X&r0*3Gzz< z3~X$a8OT%t-)&qtLqSHagv?9=zvB|*2qL4S!Oj5LasfULDmwag1z>;hwq<};-TD{y zFVGTXcgzRpQ@KF1jG?5Uz%mMR%kzJgo)O77;q{0Pz0VH>H4g%TtwWt?Zf=IXhHtex zKm+>1fzB29_{+=wuYM!}gxHv<`eP)p_>b&Qe~L(&-ri6L@`^rT*FW{?xj7I9y^S)9 zOG<=(S%^bpS{lez<%AT}FQ~#DeSK{}*(#t1~_LqN&^}KKg zG4OZGbg zwr_1ogD(TPHo4;MA3hrD>|`?nxqIHu5Q58j)~lhEr`7@=6Olwhcy3UDm%2%;g|wwe zV5PgC9cV+*1nBnx3e1$}^`)oY&n zwr!t48%RSCL3x!kq+@K{0kQ);xZ+>==c|`MFu;3REF0F$iIkigEmb=o_s6Byw(ebTm#`%f0Mh z*!Ce9N~_R#uA+iur^{22Mxe@%>H|xVV>Bldx3YxUf;{l0wuL6QsfSb>9}b?sjl(iY9n#(62V9vK#P z66zapMGsR{W7#JqZomo`B^;P~^Pe*R3BRO5M9-*6kY|ZG!s*5A;6y01U^D#>fcqvj zE$uiKhW0OAMX`9=qbE-k)?R=w-1)zl0p@a~J=ebMPA9YeyzXaqbzd@Q{g5*MM26qK zeXWn^W1#e9PlfmSy}#c~|KW4>4$$oO4mx;uZ>Eq4)x4%8h$Wc@}@5S$JQEtu3l zL8p@>?XVmx6|=N_1eP4UtkU2i0Jlnp{0MB}JBY^X_zHTdYX42+-WdvAldHwRSPmUT ziW1_dl{Kp4P}bu(^aK0#$f0r~q+7d`qqeDO&aem)B)Z`mw_IJ%8P1Cl3jeMK^;LYP0z79XHdcsNkd3ef%Ga4BJ29!JY9f0CnqO6&^6-^J_Dct6Q#Ki!n945 z*7HWA#WV<{2(eHq@SX`7l_2HC5!bz;ffH`{-j`lJ{Zo}>7oao4{$wHA8b^>Mbr{;l zxc)!tKIvqi;Ygu2&>e)s2c6V;_9GEuo0OeCfQa^+Uw^X|a~N#d;8Q@x>7%&*73O~l z{RH4^HoJ!f1_ri+)n4jZQ&YnaB?plxc5&DHpR#^2YuCzX$z#~5I*BF$*Y_aXN` zcxK3He)qhp5?dsFYSIj#6O^o(=72jIwNAI7$>QR+jE#K-V2?=BK|<`;hZ`s=kPL#d zMQceE5gpwMGI%G{VKGSh0K7sp8U!YWX2a>U^PW8|AHoU&KZL3Fs7ZVF$vk0DK_6iU=yO@2faN zbOab3+MVGT);|ywMMN~g;sLAlCQ!m#72ocmdV!voq`&|gV>1*U2onY2i~P5+Kl^Vb zpZPzP{GMYdNdH60cNrNUzjODlFPKw+I-!dOozGMNPV4lLr@IT8-rH3gh^o(RITh)k zlIIU{T>?Nt0#eezygX(gFVNckA?O5|;GRy3qX7xl0H1aMhRJ_cowll$0pw&lb^GCx zA@WAV;IV<+f_MjwM0BjeH3)trJXVx2e@ySH?}BU(S~aNf-H8J6upV}M`L|;y(dA;> zG0^eIf5(4<|AoLs8~&ry(^}gpvUEIlD+F3@yEnBwPQh8r9{~J3KaVJ?5G>ZY`r~nV z#%{l+05gDrgOduaBPy~|gQX38A~1m92Lm5}IQ|V8uT5$!lkPyO7}{%bz@&!1lU{;1 zO>pmCI*|vxmI35>!4(WZz+$_VpYY*@LX81DBg`zsKO-d-S5b*2UJL(+lD|R%Cr)sr zkH9*FEE(tof4kH-mzG-LZM@cVZ_50Va<>A_5k3JBtGSJhZdjDguw{i#v)8y?U0p%- z2rVdJ1&Ia_YsE_%%`?^_yHz;|cr`=zA|NOTVY5iL2xWj60bNgTJ-h@r1o0*q*N*jGBBroL5E3k2U9h`!rFzsOUQ zVTe*AB4}2#uVCBqKvoYTG~6yzAQ+>)Kiyk=Vm#mrv4yd6^DcM@dKMPoE{RZMKIsEr zgFFJ^8i^44GKl*gz*~ zS|Qg^q;iA;itsTI_yE-1le6^#uNqaH8#)YMgA58jl6bi2V1K?{}m@9@XbhH4JS`PmtiHMvD2*!}l4 zY8-Gu)JDT0{t2ZQQiJ}Zn?NX(#WgIuRig2iA@PzdOIHX|2Z-GVKSBIDw0To%IvfI{ z8q{eA^(Z+;RSXCAEZI$QuAA$IsWOdZnjF4eUJw03>(?i0sj+4=kpj ztS2`hC{1-W2^xE~<2EQ6kmqN|&0q%t2eW{SeUFKffguna189Pj0t$!!7nS{Z^#7u= zi?_~b{-?~IlaG+u5o%6i2grsRi>Ry?p9+5*iW&Jf@Ovd=3erg}NJX=W(&^ zvNVX9p8^A45ughEk~c_V>|9@6?U)Z0>nTSi6(4t$A9Nc@q| zu#~>|)6()0Y&KvD2t5y+VWfYG>$*>@A#*eX*n&SdWZ%KgEw`LzA@$v> zO3HctLl%BMsO5o*WnG`N@uMJny0a7FHQ}+bqOdAKu8#WrQXs|b;R{s^gQ09iT3iFk zhk)F0$+!>^aj1BH8Z67Osh^#1ln8IHuMuWWmBz`Fh#el0u-1IBnM*6AQRJ0igsQ6(T}(piv=|MPLjr z916M1aI&ElMjW(qHqaC5rh&M)*Kz2hX#<)9IxKH_D6i;_=_vmL4g~G4MqJ8%5z{K9K82A=eoEs%Q~iijXK8 zoZpi7jou7h2)%U3Z)RyJozpPAmaB?LU1YFgldkg_wry4(TR7OcEiEl`#RF@F#l=l< zi}%l$7)0*c@M3*z%H?Pko`veA57-JpI1!S0XR5n7Gz}=eTs+A++0zgzf*l5UNI2U76AT717z+0;2VwtDC-8VuhNzxwqK5ST+f{%g!Csb2Drtv zll}b4qQ1R&K!e54n5~ML;V+Hud@3{{+MZr0N@btw>-$E(??tlq%&eIR=K~t&H60F{ z!PtGg&y*jc(!QaqSKD&3$B#Rv>W9FM!r6_iMpQbCmr|&yYLLuvr+f!jlL|#&TU*oj z)J8322fihW7QN31Y9fh`-_x~A|2m{ z|D=UPg&BQl*F%mFv70a2y8hlw%fJ=&aoa68z0?3Rjav6T^8IHKyx->z3p$eu%cup; zx8e&R42x9$*V8gdDYsG4nDLzoCT5ah%nO6h+d}s8R_o7s8f6+H173n+}yDi)QR&r}OWn5bP5vJZgQt!rN?o+2ydSt3(e*L8shcJ%U zgv-M%kiNh(q{2Tu!7}8@ssPBqlZ{iBPQ2hN$itjw3*L;N9+ ztd5B-@zG&t^hpv=guHl=HsyGFlZI*fDyV~Ho{X&i6)mTh{;K2-`S;B`-5JxGi!N^L zDAnjmEQ3}n&A7!j*ul|a;$2ky1)o~WgNgU`Odal@M8r051eZspFx???duUWyGyPOUve0- zOI(xflNe#4mL53L(!3LLs46en53G!McUexpc%I2(G`szIV(yAU!eIFx+j`z*s(z-* zd84&M0fnwym9Py-&eAiVnjmlaWeb~AH4Zr8Wg%;r%S2XmxvwQ!oAB$4{M&==sqmo6Pew+_oCSB%>+xvr%q;%!5Y}i|2h7yvBlJQWL!1;tF)T zb@}%4n*d=61r0QcUWXH>k%$zAITyEkdhnxX6c3*L3pJXS1h4e?6qs{IJy5g>zNeMi#0y z$#>aq)UzOwKfe_qjqY<+u5Z=gFvqSg$lqf)eev>oi+T6ZPOo*p&dGKiAH0gy;brGy zWm7rMJ;Vzuc2*A=ZsjSpbGhkt);L8dQxh|g6#9i3H$pPxR-WOZZn}1qD1ANA3m-PG_Do`fJ zT$SZs-Mhyz@y)EGml3Ss_j`p$F4{3aLd$;sTD0Jq|LA3oTm5sQZWalN=r-be0owbH zaF?<~kgb)*b}l&0Wk*y48lqS^t*!W5@y#SSEzv139Ol!$;6FO&pWw{(lt^5e!ZA$4 z)lD?%Iq@>zwK110O21pBA^f4@_KnM|JFFG0P$*%CJUO;)9ux27tn(&5Qo;Tf#f9UZ zOVf9Nb-PQFd?F;EubisA5A!j)>6zWG?#7=yxc%=GAAD9EGoPJ`FC`Mq&jq8= z+u???Z3~M;`yzG>3F^~QS&ru+;+D-S^1av25nXRR1FmIiBDy|f$_!T4PhU%>%YQ;Q zypnv#z=HDF)s$j$thAG$69(~jbq$`ZSEL=Pi;7S9r;FTNeiM=LZuvKL{4k zlt68j%5R7Z#qQ^pU;RB6V=1j6lr!`YN#@9;r+~=f*2thD2O922UBmfR;yJGmKb1ua zhQ$-!QDD5u`SVsSTL_85>`$(ezQtVr%u#~dUN(mDCZE+uGE7w!_0HAnLcx?oqn3Q1 zrR_Isi`kU)%%O90a_qhaOa_Tzd)K_7C3{%LW~KpAX*UCm8Nl8VLeZ!Xf$`?Ge|`gM zp4wB}hjv!{Q`4StIozBK9pT^dlaqGx=a}dQ!Xm%=$4Kb*6HiFi#?Sw3dku%{*!BXH zbWU3xqAU5wZKxgwO&6s8F3Tg*`d-=i+C1KB&kdO`$v%ux*&;P4&}z7mv6=RwAx3s8 zh{?1|<$-hMh@$gWtKKuur-Wptyd{a-l6D%jo^R6T7T%j5d?j0ReT*K@aL%+;kSlIJ zA>NsF@J>!`(vZ+>tT}+&@Oev)Y5l{7B;vF>+%7HWZ~!9)!)f$GdrN;GIO(<`QQ+*R zi!8r@zbMzp-BxfVV0qKrCw|Au-=LXBuh4D(_%305y-@e3$NX%kWda8) zMtr^}zl(xdS-Y=&KUJa7=>C?ibbtI^VtByHwwROnK|W^iX71{EUJsZ`Z&K2})UIVF zOJ}^!8T!G(G+WWt(d|;df9)@zhg{ttQWI^1J&zxrUOLd6Iw4x)V%t$&^CK#GPA-?R zyG!B1GfPQCLk`bcjCX{)JXxQUD1WN^H}-Ip!b1tMsvq3;d6ho1 zee0xvC?fWGHI?U^$<~&BKgJ?Qf)CMGy>7M~N7suCLrPV`7uVz2)uEpgYS>AF0wn@Y zW^kZ9mzphg56BUX0sp{jOKx*S>j(S`O-P4i$iHwJW&T&G2`sq;DI^x#!5 z|Dfbn`>1G>I3nv$tMe{w=G{~WYoyJ}f*Qi|*^2=bc}^={>E9Z{f9~~62iYp8&*hft zH_P9TtvRDabRf~|qc<&622I{FtCLSZy%1EcTW2Kkap{c_Y@dH*xu1hB4oW2>VD)E%d5gE^AQp zQlwErJo}X*Mv#l=>7IK>&31xoue;*$gzJ{;aptE`%(Nmg88=C~qOSxdWc(8=lYV^E zA2L5tR=Fd)PE1ETP}x`GS;RZBx15s|j&7vV`da6f1?7J?$9`0GRP?;;t!4Rfx^5-| z5}c*}l5(G%ckCgn!uPGj?`OQb69!vrq5;?`MOA+mRU}i_zVV@mgmTHq1SDI{qJ}P? zc6v6HMJ-;-Hy>dBiW79d>*0ar5IxAT?^V%f#2*`<-=*FCNm42AJW=2CJkpE)ZEdj~ z7ACv4`=A1k&%WQ(`u7ge?H=dRM)ss?mjhD`F(Z1xZjbtYbg6g zv}dV$d6ki)K#67V?72X%q{VB_cdy^zk#{FN>t5_1Wvwq*+TYH3x3-oS>{3$4eP8z} zL%N3Jt)8|T3@nA@?c&1o$M^H@3s)RZ+(~$MFVviin)57@ue$r*)f30muA+fX+xY#n zQ9`Yq-xC*q>b3To;if;~d(L$J=CW>;gbW=rPwCTz0D9 zf0vAGU9`%r(Rr1iuayhG;ci?#hXNUuXCYFeo7LAo4hqjLpF7$p%fv|qu6KkoQP|Zt zG(*jhFD_+o(i?B?T-{Pj`|d5P_@OI;#2xQP7V^oTZ(o>P>qPO!QExI}V(w+s{jnQU zJ|+x*qhf@#=~AK`kLvdkl~U~Xrb|SSZk?GZa*STvZmWNdH4^@$HE+(}?L`&!X$s1n z^x%onEin;6!JD%`Zp3zT@zpRH+Vu&P#nte+6;;X-7-6`5q{r)ROi>0 zmF)D$E4kX%^>y`e+`Slu`?r5?`M7(&?1+)R4-o5y8? z-m-UyU&fN~qhIgvjOIbjui1#6&4eZSZ`xN4Y3y@zsLrjZI|JwZeRLJR8C-k`n_G6M zhTm$^dPZ1}C*ZZ6}^;&?o?i_0a?7LXPer*`p)8=ktHSaw5u=_Njxjl{67 z=6N`->{*f%awA|C_2j&$q;$7-$n=zly*fbn;Ue-7gA#^1ide;qS?OYZWIt`*?GON zy7$ei$Y%01OF&!UdiYY}%j$YCDbq#y3rZf>PjvyP$X+ifzrlY57|mb3W>B5K5~QcM zBpqlwy)XMEQr2^qdtC?x3$=*^!vj}REa<4?77`tym9BWC6&i9Quka69tL;cv5<#0< zx7^a~NRg`}3?=pH#CvzOllPl5-=?t8x#N`|Z!(X(zCWk`(Cg=&aOy7vQ9qm1@9j-_ z*0qg29^PBY6%h-Oik8nin=qEZy4R<%F^7SKmVv)?D5BY>HCj+dl*H07~W~V?6bC&6iD?cGtrY4;-HroqHrDx^d zYVfyIp1Fo9Q=P^THAuS1RR_H`vM^tYvM(sC&|zH-Se@|fx}0|DyJ5wSu1b>+`$zg|__f%fx#Y z`Xl1FwJ8GL2GoUk_@(312(o@>uhMN7?Ou^q+kWtAL4WLQylqn2$SSjKFX;oN@bYI` z-gJJS7~kfdm%joO91Z=kaq(yj-%B@?J2$Q%&pqAE5U~7PsalL%Kf=P}Np~5Ud(}6z zU}EdMG1TVd((`9U&91bxVrTEVzPmPK`OEE?CUuGFwZnbq@Xrf4cf(&@y*nRO+hV8< z%DtglTe%{%C$dm76L<63{t>6BC>{09j-rnG9-e0NJ66dh*A3NM3oKq(0UK6PUA%E? zl-?KB{K+yV>a}CHb@yUBsNe7!-nkG?1}zIrLFgO<=L zZDRKnl@6s{w3AYnMATfKS>$VIJDK%%&X|A8+Ms-V?qcBS;WxrV!eZv#uTBGV14cs?a!Sgy@Ri}kAsd5c z7Z(?FSuBl4T%DYF=Ee7d)m|G*tXixkmf zH^yOUcgL>e{T?z$1m}&BgH2j;JoKB&L~N&H9ecb59w!Xjmd@YT3n~)_PZTI(Pmw<6 zVAq9TZ!I~-J#o2Rt;>g{Of+Z3GjjNcWdn~NzuW0U6q(ZAgy*y6k}24uR&n=h<((C# z6gelRL%-cw$MB(oZ^3U*Dl5+>sR~~h1`^0Xi+*!oiO^yu0z{4>(d-{ijfE!6F){noSA%c-*i=w}; zUYpA#iu27=&pEdxnXi3G3onhDo`BQvB{58T*Gs4S9;b1UaW9Fi4ehu@`JJqgH(7Qe zF&yC>bUBO>_Vv0K_uqUJVs{u(S(;!I`D=aEeA<0=X@*9Nw{UxtWVs$KP@z^Vnz3~~Pb-emfq1riZU{izk&mGrWd zAsP+TN}j(g@-Y&l9VEFG3J=ZG>G{d=%H1kH-g+%;mAMrbOM=n+4KFB| z&nND#A`()A#AiLvc(3({M+>&3)!pQr=T|3Vj%m~Ek4#agV?1PxrRYh^{H$X_Qg$X^ zjq$y^V{Jw^_H$#puhpRBt#zt*vbzvDkK2d)=#Fgm-3rgoXE{&562>dFC;aIxPUw#3 z2~EBfvammKn6B7h8eg@uGWN+b$!szyk<(NT;Zl`Q)Fp&bBma9pJ-x{9;KXhWcN6s{ z>f4l@hjRBj%3?IS?rcBv>R%w=Wlb!P?M{{KTu(U7t=JrGt!FU2T28BArD5m0717dc zwP_WdtLojMlT26oNxy;>Wk;NL=I>D=mryp9v(eb=x=#8rtv9__k6+p) zg{z~t-X>ciry27a?jjRdc)cIIFrr7QMmiA^cy&52I9hGUXl!kaL&D};b!WMFZ<~=m zi-mV_;w@3=TxU?hn{aA!JpbDAnUL2a)gn^7D7GW&Wkl$Booijh(d?hyqt1;?Oc4VL zlK}$+1E}y+LAzvBG(hYnG|P4Siq6rwL58Q+UwNu*bNh$d?a7B9h~&xL$@`pMUqw;U z5+{XCXg+@Z2MOmKSNaIbie zIG#JYz|o^8-IAO4*T?WT`CKtMe(!|z-D$d%SbpgpJ=bdP-sOzjUm$N?3f5o!mS%Qp zf$co%{F#`;dpvro6&qU%P{VIQJGIS063Nt$Ji~a!zp9BUNNc)Rn2$WN+H}fhwwF)i zjN&JS^Qc<~%W zb(#8e)DMAYSQgcLw8e5InVAJYy?o&J^v`jx{D1iDRojsB6prPVuBoe5*e6I#Tr3Pe z__`o6tW`Dhu-A#!UbKvAZBU1#bxAw>&}gX+bA4pu(P`!#!c z`aA~xzs0HxTG63gX_lNQMNq}M)?V{f=w3$=R(s^6r1z6Jbcl9_4Wl7npnSpzretQ3 zdcL&1Eb~eMnfX4mjmTY6@<3l-wX{|vE*&<~urOj?r&MM8jMg-p+)Ltj!iE`tM+QE1 z=;&+|7VW*V{#Asg^GN4+y3yiWD|_9iCQ)BA3+cuV%u83t+2W)!+`Te|m0x?)dX2QJ zP*Zc<=KSqz>=r%x=SW_sL$ke#X`RE6pAn_Kr#));<+G^6Ax*D{k}T5)4%F`qS#Uz^3DCV{)6RtzRp#NZih{<*@fLc{wmpUrI1mI^Cu z3W78j?H3me7UU*XnAbI+sPI2k$Gaq!M4OtppykX@@T%{s!u97<=`sCY>(_5~a1t3@ zFVR<>w_aH=^W3h@UL{Y-j+w7O?f4CZRLiY)oYMu4d9Pa$BlF!*xim8v&Yk=&SI-QjJ3uwxFmQH2xr9uE#1Wu?| z>JsrRQ+-F&2NC~toSxa6Wp1Tr%{z(I_nRCOT>gmR!Gukt3#|Q|**a z>w69-#px7I3jLOJLUL2VzlI6F6tsI&_YyWW3w{7#%TzQ8aU|d7j+^Q{U7z&S@Ayj7 zD;qtzHK0@%by#8HjUDQjhYOu^N3x`&bLnheJI$OzI6GO}E zuJbMUS_f+7kD;7A*U~Lh72xx(?>tcI?NDv*xK&@Ff0-9Q)6@)S(e;c)ML!t@V3P}V zpQ=t}4U(M}7i}t6Jbb6+=x{;vXQ2PpJNbllthNd_?;ML#62PClMi7MFN7u-0S!hqj@t^I(7wIC22}!@nfA!w` F{{inM%eMdk literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/outliner-isolate.png b/src/blenderbim/docs/users/outliner-isolate.png new file mode 100644 index 0000000000000000000000000000000000000000..320142c4ee1404fc42c43dbe6fcb94416c07500b GIT binary patch literal 258342 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 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/scene-statistics.png b/src/blenderbim/docs/users/scene-statistics.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d8250049d8a7ec3d1643b29d2e72ed9091dc0e GIT binary patch literal 26893 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 KM)nDtoBs#8>IRGe literal 0 HcmV?d00001 From 73e048a9a8ec30f95183e0b115d5aa1ce3070f53 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 15:35:39 +1000 Subject: [PATCH 110/243] #1153 You can now manage assigned products for all annotations --- .../blenderbim/bim/module/drawing/__init__.py | 11 ++-- .../blenderbim/bim/module/drawing/data.py | 32 +++++++---- .../blenderbim/bim/module/drawing/operator.py | 22 ++++---- .../blenderbim/bim/module/drawing/prop.py | 4 +- .../blenderbim/bim/module/drawing/ui.py | 53 ++++++++++++++----- .../bim/module/geometry/operator.py | 11 ++-- src/blenderbim/blenderbim/core/drawing.py | 16 +++--- src/blenderbim/blenderbim/core/tool.py | 8 +-- src/blenderbim/blenderbim/tool/drawing.py | 20 +++---- src/blenderbim/test/core/test_drawing.py | 22 ++++---- src/blenderbim/test/tool/test_drawing.py | 28 +++++----- 11 files changed, 137 insertions(+), 90 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py index 62f56ae128..87caeeb83e 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/__init__.py @@ -37,16 +37,16 @@ classes = ( operator.CopyGrid, operator.CreateDrawing, operator.CreateSheets, + operator.DisableEditingAssignedProduct, operator.DisableEditingDrawings, operator.DisableEditingSchedules, operator.DisableEditingSheets, operator.DisableEditingText, - operator.DisableEditingTextProduct, + operator.EditAssignedProduct, operator.EditText, - operator.EditTextProduct, operator.EditVectorStyle, + operator.EnableEditingAssignedProduct, operator.EnableEditingText, - operator.EnableEditingTextProduct, operator.ExpandSheet, operator.LoadDrawings, operator.LoadSchedules, @@ -71,12 +71,14 @@ classes = ( prop.DocProperties, prop.BIMCameraProperties, prop.BIMTextProperties, + prop.BIMAssignedProductProperties, ui.BIM_PT_camera, ui.BIM_PT_drawing_underlay, ui.BIM_PT_annotation_utilities, ui.BIM_PT_sheets, ui.BIM_PT_drawings, ui.BIM_PT_schedules, + ui.BIM_PT_product_assignments, ui.BIM_PT_text, ui.BIM_UL_drawinglist, ui.BIM_UL_sheets, @@ -91,6 +93,7 @@ classes = ( def register(): bpy.types.Scene.DocProperties = bpy.props.PointerProperty(type=prop.DocProperties) bpy.types.Camera.BIMCameraProperties = bpy.props.PointerProperty(type=prop.BIMCameraProperties) + bpy.types.Object.BIMAssignedProductProperties = bpy.props.PointerProperty(type=prop.BIMAssignedProductProperties) bpy.types.Object.BIMTextProperties = bpy.props.PointerProperty(type=prop.BIMTextProperties) bpy.types.TextCurve.BIMTextProperties = bpy.props.PointerProperty(type=prop.BIMTextProperties) bpy.app.handlers.load_post.append(handler.toggleDecorationsOnLoad) @@ -100,6 +103,8 @@ def register(): def unregister(): del bpy.types.Scene.DocProperties del bpy.types.Camera.BIMCameraProperties + del bpy.types.Object.BIMAssignedProductProperties + del bpy.types.Object.BIMTextProperties del bpy.types.TextCurve.BIMTextProperties bpy.app.handlers.load_post.remove(handler.toggleDecorationsOnLoad) bpy.app.handlers.depsgraph_update_pre.remove(handler.depsgraph_update_pre_handler) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/data.py b/src/blenderbim/blenderbim/bim/module/drawing/data.py index 049f8874a8..a91f7690eb 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/data.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/data.py @@ -22,19 +22,40 @@ import blenderbim.tool as tool def refresh(): + ProductAssignmentsData.is_loaded = False TextData.is_loaded = False SheetsData.is_loaded = False SchedulesData.is_loaded = False DrawingsData.is_loaded = False +class ProductAssignmentsData: + data = {} + is_loaded = False + + @classmethod + def load(cls): + cls.data = {"relating_product": cls.relating_product()} + cls.is_loaded = True + + @classmethod + def relating_product(cls): + element = tool.Ifc.get_entity(bpy.context.active_object) + if not element or not element.is_a("IfcAnnotation"): + return + for rel in element.HasAssignments: + if rel.is_a("IfcRelAssignsToProduct"): + name = rel.RelatingProduct.Name or "Unnamed" + return f"{rel.RelatingProduct.is_a()}/{name}" + + class TextData: data = {} is_loaded = False @classmethod def load(cls): - cls.data = {"attributes": cls.attributes(), "relating_product": cls.relating_product()} + cls.data = {"attributes": cls.attributes()} cls.is_loaded = True @classmethod @@ -49,15 +70,6 @@ class TextData: {"name": "BoxAlignment", "value": text_literal.BoxAlignment}, ] - @classmethod - def relating_product(cls): - element = tool.Ifc.get_entity(bpy.context.active_object) - if not element or not element.is_a("IfcAnnotation") or element.ObjectType not in ["TEXT", "TEXT_LEADER"]: - return - for rel in element.HasAssignments: - if rel.is_a("IfcRelAssignsToProduct"): - return rel.RelatingProduct.Name or "Unnamed" - class SheetsData: data = {} diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index d377c7a922..a16dd25f2a 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -1246,34 +1246,34 @@ class DisableEditingText(bpy.types.Operator, Operator): core.disable_editing_text(tool.Drawing, obj=context.active_object) -class EditTextProduct(bpy.types.Operator, Operator): - bl_idname = "bim.edit_text_product" +class EditAssignedProduct(bpy.types.Operator, Operator): + bl_idname = "bim.edit_assigned_product" bl_label = "Edit Text Product" bl_options = {"REGISTER", "UNDO"} def _execute(self, context): product = None - if context.active_object.BIMTextProperties.relating_product: - product = tool.Ifc.get_entity(context.active_object.BIMTextProperties.relating_product) - core.edit_text_product(tool.Ifc, tool.Drawing, obj=context.active_object, product=product) + if context.active_object.BIMAssignedProductProperties.relating_product: + product = tool.Ifc.get_entity(context.active_object.BIMAssignedProductProperties.relating_product) + core.edit_assigned_product(tool.Ifc, tool.Drawing, obj=context.active_object, product=product) -class EnableEditingTextProduct(bpy.types.Operator, Operator): - bl_idname = "bim.enable_editing_text_product" +class EnableEditingAssignedProduct(bpy.types.Operator, Operator): + bl_idname = "bim.enable_editing_assigned_product" bl_label = "Enable Editing Text Product" bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - core.enable_editing_text_product(tool.Drawing, obj=context.active_object) + core.enable_editing_assigned_product(tool.Drawing, obj=context.active_object) -class DisableEditingTextProduct(bpy.types.Operator, Operator): - bl_idname = "bim.disable_editing_text_product" +class DisableEditingAssignedProduct(bpy.types.Operator, Operator): + bl_idname = "bim.disable_editing_assigned_product" bl_label = "Disable Editing Text Product" bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - core.disable_editing_text_product(tool.Drawing, obj=context.active_object) + core.disable_editing_assigned_product(tool.Drawing, obj=context.active_object) class LoadSheets(bpy.types.Operator, Operator): diff --git a/src/blenderbim/blenderbim/bim/module/drawing/prop.py b/src/blenderbim/blenderbim/bim/module/drawing/prop.py index 1105869828..2016f23dd2 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/prop.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/prop.py @@ -377,7 +377,6 @@ class BIMCameraProperties(PropertyGroup): class BIMTextProperties(PropertyGroup): is_editing: BoolProperty(name="Is Editing", default=False) - is_editing_product: BoolProperty(name="Is Editing Product", default=False) attributes: CollectionProperty(name="Attributes", type=Attribute) value: StringProperty(name="Value", default="TEXT") font_size: EnumProperty( @@ -392,4 +391,7 @@ class BIMTextProperties(PropertyGroup): update=refreshFontSize, name="Font Size", ) + +class BIMAssignedProductProperties(PropertyGroup): + is_editing_product: BoolProperty(name="Is Editing Product", default=False) relating_product: PointerProperty(name="Relating Product", type=bpy.types.Object) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/ui.py b/src/blenderbim/blenderbim/bim/module/drawing/ui.py index 558e0f30a0..0b8f719a1b 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/ui.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/ui.py @@ -20,7 +20,7 @@ import bpy import blenderbim.bim.helper import blenderbim.tool as tool from bpy.types import Panel -from blenderbim.bim.module.drawing.data import TextData, SheetsData, SchedulesData, DrawingsData +from blenderbim.bim.module.drawing.data import ProductAssignmentsData, TextData, SheetsData, SchedulesData, DrawingsData class BIM_PT_camera(Panel): @@ -225,10 +225,14 @@ class BIM_PT_schedules(Panel): row = self.layout.row(align=True) row.alignment = "RIGHT" row.operator("bim.open_schedule", icon="URL", text="").schedule = active_schedule.ifc_definition_id - row.operator("bim.build_schedule", icon="LINENUMBERS_ON", text="").schedule = active_schedule.ifc_definition_id + row.operator( + "bim.build_schedule", icon="LINENUMBERS_ON", text="" + ).schedule = active_schedule.ifc_definition_id row.operator("bim.remove_schedule", icon="X", text="").schedule = active_schedule.ifc_definition_id - self.layout.template_list("BIM_UL_generic", "", self.props, "schedules", self.props, "active_schedule_index") + self.layout.template_list( + "BIM_UL_generic", "", self.props, "schedules", self.props, "active_schedule_index" + ) class BIM_PT_sheets(Panel): @@ -276,6 +280,39 @@ class BIM_PT_sheets(Panel): self.layout.template_list("BIM_UL_sheets", "", self.props, "sheets", self.props, "active_sheet_index") +class BIM_PT_product_assignments(Panel): + bl_label = "IFC Product Assignments" + bl_idname = "BIM_PT_product_assignments" + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "object" + + @classmethod + def poll(cls, context): + if not tool.Ifc.get() or not context.active_object: + return + element = tool.Ifc.get_entity(context.active_object) + if not element: + return + return element.is_a("IfcAnnotation") + + def draw(self, context): + if not ProductAssignmentsData.is_loaded: + ProductAssignmentsData.load() + + props = context.active_object.BIMAssignedProductProperties + + if props.is_editing_product: + row = self.layout.row(align=True) + row.prop(props, "relating_product", text="") + row.operator("bim.edit_assigned_product", icon="CHECKMARK", text="") + row.operator("bim.disable_editing_assigned_product", icon="CANCEL", text="") + else: + row = self.layout.row(align=True) + row.label(text=ProductAssignmentsData.data["relating_product"] or "No Relating Product", icon="OBJECT_DATA") + row.operator("bim.enable_editing_assigned_product", icon="GREASEPENCIL", text="") + + class BIM_PT_text(Panel): bl_label = "IFC Text" bl_idname = "BIM_PT_text" @@ -312,16 +349,6 @@ class BIM_PT_text(Panel): row.label(text=attribute["name"]) row.label(text=attribute["value"]) - if props.is_editing_product: - row = self.layout.row(align=True) - row.prop(props, "relating_product", text="") - row.operator("bim.edit_text_product", icon="CHECKMARK", text="") - row.operator("bim.disable_editing_text_product", icon="CANCEL", text="") - else: - row = self.layout.row(align=True) - row.label(text=TextData.data["relating_product"] or "No Relating Product", icon="OBJECT_DATA") - row.operator("bim.enable_editing_text_product", icon="GREASEPENCIL", text="") - row = self.layout.row() row.prop(props, "font_size") row = self.layout.row() diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 83c19d4a5e..541cb0a92d 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -331,11 +331,12 @@ class OverrideDeleteTrait: self.remove_filling(rel.RelatedBuildingElement) if element.VoidsElements: self.delete_opening_element(element) - elif getattr(element, "HasOpenings", None): - for rel in element.HasOpenings: - self.delete_opening_element(rel.RelatedOpeningElement) - for port in ifcopenshell.util.system.get_ports(element): - self.remove_port(port) + else: + if getattr(element, "HasOpenings", None): + for rel in element.HasOpenings: + self.delete_opening_element(rel.RelatedOpeningElement) + for port in ifcopenshell.util.system.get_ports(element): + self.remove_port(port) def delete_opening_element(self, element): obj = IfcStore.get_element(element.VoidsElements[0].RelatingBuildingElement.id()) diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index 10b02438cf..fe82d49ade 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -36,18 +36,18 @@ def edit_text(ifc, drawing, obj=None): drawing.disable_editing_text(obj) -def enable_editing_text_product(drawing, obj=None): - drawing.enable_editing_text_product(obj) - drawing.import_text_product(obj) +def enable_editing_assigned_product(drawing, obj=None): + drawing.enable_editing_assigned_product(obj) + drawing.import_assigned_product(obj) -def disable_editing_text_product(drawing, obj=None): - drawing.disable_editing_text_product(obj) +def disable_editing_assigned_product(drawing, obj=None): + drawing.disable_editing_assigned_product(obj) -def edit_text_product(ifc, drawing, obj=None, product=None): +def edit_assigned_product(ifc, drawing, obj=None, product=None): element = ifc.get_entity(obj) - existing_product = drawing.get_text_product(element) + existing_product = drawing.get_assigned_product(element) if existing_product == product: return if existing_product: @@ -55,7 +55,7 @@ def edit_text_product(ifc, drawing, obj=None, product=None): if product: ifc.run("drawing.assign_product", relating_product=product, related_object=element) drawing.update_text_value(obj) - drawing.disable_editing_text_product(obj) + drawing.disable_editing_assigned_product(obj) def load_sheets(drawing): diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 790b702ea3..123bc1e5f5 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -161,17 +161,17 @@ class Drawing: def delete_collection(cls, collection): pass def delete_drawing_elements(cls, elements): pass def delete_object(cls, obj): pass + def disable_editing_assigned_product(cls, obj): pass def disable_editing_drawings(cls): pass def disable_editing_schedules(cls): pass def disable_editing_sheets(cls): pass def disable_editing_text(cls, obj): pass - def disable_editing_text_product(cls, obj): pass def enable_editing(cls, obj): pass + def enable_editing_assigned_product(cls, obj): pass def enable_editing_drawings(cls): pass def enable_editing_schedules(cls): pass def enable_editing_sheets(cls): pass def enable_editing_text(cls, obj): pass - def enable_editing_text_product(cls, obj): pass def ensure_unique_drawing_name(cls, name): pass def ensure_unique_identification(cls, identification): pass def export_text_literal_attributes(cls, obj): pass @@ -179,6 +179,7 @@ class Drawing: def generate_drawing_name(cls, target_view, location_hint): pass def generate_sheet_identification(cls): pass def get_annotation_context(cls, target_view): pass + def get_assigned_product(cls, element): pass def get_body_context(cls): pass def get_document_uri(cls, document): pass def get_drawing_collection(cls, drawing): pass @@ -189,12 +190,11 @@ class Drawing: def get_name(cls, element): pass def get_schedule_location(cls, schedule): pass def get_text_literal(cls, obj): pass - def get_text_product(cls, element): pass + def import_assigned_product(cls, obj): pass def import_drawings(cls): pass def import_schedules(cls): pass def import_sheets(cls): pass def import_text_attributes(cls, obj): pass - def import_text_product(cls, obj): pass def open_spreadsheet(cls, uri): pass def open_svg(cls, filepath): pass def run_root_assign_class(cls, obj=None, ifc_class=None, predefined_type=None, should_add_representation=True, context=None, ifc_representation_class=None): pass diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index 168f0e9fa8..a0099e9ccb 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -118,8 +118,8 @@ class Drawing(blenderbim.core.tool.Drawing): obj.BIMTextProperties.is_editing = False @classmethod - def disable_editing_text_product(cls, obj): - obj.BIMTextProperties.is_editing_product = False + def disable_editing_assigned_product(cls, obj): + obj.BIMAssignedProductProperties.is_editing_product = False @classmethod def enable_editing(cls, obj): @@ -146,8 +146,8 @@ class Drawing(blenderbim.core.tool.Drawing): obj.BIMTextProperties.is_editing = True @classmethod - def enable_editing_text_product(cls, obj): - obj.BIMTextProperties.is_editing_product = True + def enable_editing_assigned_product(cls, obj): + obj.BIMAssignedProductProperties.is_editing_product = True @classmethod def ensure_unique_drawing_name(cls, name): @@ -282,7 +282,7 @@ class Drawing(blenderbim.core.tool.Drawing): return items[0] @classmethod - def get_text_product(cls, element): + def get_assigned_product(cls, element): for rel in element.HasAssignments: if rel.is_a("IfcRelAssignsToProduct"): return rel.RelatingProduct @@ -356,13 +356,13 @@ class Drawing(blenderbim.core.tool.Drawing): blenderbim.bim.helper.import_attributes2(text, props.attributes) @classmethod - def import_text_product(cls, obj): + def import_assigned_product(cls, obj): element = tool.Ifc.get_entity(obj) - product = cls.get_text_product(element) + product = cls.get_assigned_product(element) if product: - obj.BIMTextProperties.relating_product = tool.Ifc.get_object(product) + obj.BIMAssignedProductProperties.relating_product = tool.Ifc.get_object(product) else: - obj.BIMTextProperties.relating_product = None + obj.BIMAssignedProductProperties.relating_product = None @classmethod def open_with_user_command(cls, user_command, path): @@ -421,7 +421,7 @@ class Drawing(blenderbim.core.tool.Drawing): if not element: return value = element.Literal - product = cls.get_text_product(tool.Ifc.get_entity(obj)) + product = cls.get_assigned_product(tool.Ifc.get_entity(obj)) if product: selector = ifcopenshell.util.selector.Selector() variables = {} diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index 19e69f1f97..290c4f8ca3 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -43,30 +43,30 @@ class TestEditText: subject.edit_text(ifc, drawing, obj="obj") -class TestEnableEditingTextProduct: +class TestEnableEditingAssignedProduct: def test_run(self, drawing): - drawing.enable_editing_text_product("obj").should_be_called() - drawing.import_text_product("obj").should_be_called() - subject.enable_editing_text_product(drawing, obj="obj") + drawing.enable_editing_assigned_product("obj").should_be_called() + drawing.import_assigned_product("obj").should_be_called() + subject.enable_editing_assigned_product(drawing, obj="obj") -class TestDisableEditingTextProduct: +class TestDisableEditingAssignedProduct: def test_run(self, drawing): - drawing.disable_editing_text_product("obj").should_be_called() - subject.disable_editing_text_product(drawing, obj="obj") + drawing.disable_editing_assigned_product("obj").should_be_called() + subject.disable_editing_assigned_product(drawing, obj="obj") -class TestEditTextProduct: +class TestEditAssignedProduct: def test_run(self, ifc, drawing): ifc.get_entity("obj").should_be_called().will_return("element") - drawing.get_text_product("element").should_be_called().will_return("existing_product") + drawing.get_assigned_product("element").should_be_called().will_return("existing_product") ifc.run( "drawing.unassign_product", relating_product="existing_product", related_object="element" ).should_be_called() ifc.run("drawing.assign_product", relating_product="product", related_object="element").should_be_called() drawing.update_text_value("obj").should_be_called() - drawing.disable_editing_text_product("obj").should_be_called() - subject.edit_text_product(ifc, drawing, obj="obj", product="product") + drawing.disable_editing_assigned_product("obj").should_be_called() + subject.edit_assigned_product(ifc, drawing, obj="obj", product="product") class TestLoadSheets: diff --git a/src/blenderbim/test/tool/test_drawing.py b/src/blenderbim/test/tool/test_drawing.py index fbe28d318d..64048c8192 100644 --- a/src/blenderbim/test/tool/test_drawing.py +++ b/src/blenderbim/test/tool/test_drawing.py @@ -109,12 +109,12 @@ class TestDisableEditingText(NewFile): assert obj.BIMTextProperties.is_editing == False -class TestDisableEditingTextProduct(NewFile): +class TestDisableEditingAssignedProduct(NewFile): def test_run(self): obj = bpy.data.objects.new("Object", None) - obj.BIMTextProperties.is_editing_product = True - subject.disable_editing_text_product(obj) - assert obj.BIMTextProperties.is_editing_product == False + obj.BIMAssignedProductProperties.is_editing_product = True + subject.disable_editing_assigned_product(obj) + assert obj.BIMAssignedProductProperties.is_editing_product == False class TestEnableEditing(NewFile): @@ -153,11 +153,11 @@ class TestEnableEditingText(NewFile): assert obj.BIMTextProperties.is_editing == True -class TestEnableEditingTextProduct(NewFile): +class TestEnableEditingAssignedProduct(NewFile): def test_run(self): obj = bpy.data.objects.new("Object", None) - subject.enable_editing_text_product(obj) - assert obj.BIMTextProperties.is_editing_product == True + subject.enable_editing_assigned_product(obj) + assert obj.BIMAssignedProductProperties.is_editing_product == True class TestEnsureUniqueDrawingName(NewFile): @@ -423,14 +423,14 @@ class TestGetTextLiteral(NewFile): assert subject.get_text_literal(obj) == item -class TestGetTextProduct(NewFile): +class TestGetAssignedProduct(NewFile): def test_run(self): ifc = ifcopenshell.file() tool.Ifc.set(ifc) wall = ifc.createIfcWall() label = ifc.createIfcAnnotation() ifcopenshell.api.run("drawing.assign_product", ifc, relating_product=wall, related_object=label) - assert subject.get_text_product(label) == wall + assert subject.get_assigned_product(label) == wall class TestImportDrawings(NewFile): @@ -514,7 +514,7 @@ class TestImportTextAttributes(NewFile): assert props.attributes.get("BoxAlignment").string_value == "BoxAlignment" -class TestImportTextProduct(NewFile): +class TestImportAssignedProduct(NewFile): def test_run(self): ifc = ifcopenshell.file() tool.Ifc.set(ifc) @@ -525,8 +525,8 @@ class TestImportTextProduct(NewFile): label_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(wall, wall_obj) tool.Ifc.link(label, label_obj) - subject.import_text_product(label_obj) - assert label_obj.BIMTextProperties.relating_product == wall_obj + subject.import_assigned_product(label_obj) + assert label_obj.BIMAssignedProductProperties.relating_product == wall_obj def test_doing_nothing_if_no_product_to_import(self): ifc = ifcopenshell.file() @@ -534,8 +534,8 @@ class TestImportTextProduct(NewFile): label = ifc.createIfcAnnotation() label_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(label, label_obj) - subject.import_text_product(label_obj) - assert label_obj.BIMTextProperties.relating_product is None + subject.import_assigned_product(label_obj) + assert label_obj.BIMAssignedProductProperties.relating_product is None class TestOpenSchedule(NewFile): From b54caa89674411927b82447195783aa26b43ebf5 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 16:21:12 +1000 Subject: [PATCH 111/243] Person / organisation roles and acting actors are now shown --- .../blenderbim/bim/module/owner/data.py | 23 +++++++++++++++---- .../blenderbim/bim/module/owner/operator.py | 4 ++-- .../blenderbim/bim/module/owner/prop.py | 8 +++---- .../blenderbim/bim/module/owner/ui.py | 15 ++++++++---- 4 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/owner/data.py b/src/blenderbim/blenderbim/bim/module/owner/data.py index 3eae8fc574..972da087da 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/data.py +++ b/src/blenderbim/blenderbim/bim/module/owner/data.py @@ -93,15 +93,17 @@ class PeopleData(RolesAddressesData): def get_people(cls): people = [] for person in tool.Ifc.get().by_type("IfcPerson"): + roles = cls.get_roles(person) people.append( { "id": person.id(), "props": bpy.context.scene.BIMOwnerProperties.person_attributes, "name": cls.get_person_name(person), + "roles_label": ", ".join([r["label"] for r in roles]), "is_editing": cls.get_person_is_editing(person), "is_engaged": bool(person.EngagedIn), "list_attributes": cls.get_person_list_attributes(person), - "roles": cls.get_roles(person), + "roles": roles, "addresses": cls.get_addresses(person), } ) @@ -151,14 +153,16 @@ class OrganisationsData(RolesAddressesData): def get_organisations(cls): organisations = [] for organisation in tool.Ifc.get().by_type("IfcOrganization"): + roles = cls.get_roles(organisation) organisations.append( { "id": organisation.id(), "props": bpy.context.scene.BIMOwnerProperties.organisation_attributes, "name": organisation.Name, + "roles_label": ", ".join([r["label"] for r in roles]), "is_editing": bpy.context.scene.BIMOwnerProperties.active_organisation_id == organisation.id(), "is_engaged": bool(organisation.Engages), - "roles": cls.get_roles(organisation), + "roles": roles, "addresses": cls.get_addresses(organisation), } ) @@ -212,13 +216,13 @@ class ActorData: @classmethod def load(cls): cls.data = { - "actor": cls.actor(), + "the_actor": cls.the_actor(), "actors": cls.actors(), } cls.is_loaded = True @classmethod - def actor(cls): + def the_actor(cls): ifc_class = bpy.context.scene.BIMOwnerProperties.actor_type return [(str(p.id()), p[0] or "Unnamed", "") for p in tool.Ifc.get().by_type(ifc_class)] @@ -228,5 +232,14 @@ class ActorData: props = bpy.context.scene.BIMOwnerProperties for actor in tool.Ifc.get().by_type(props.actor_class, include_subtypes=False): is_editing = props.active_actor_id == actor.id() - actors.append({"id": actor.id(), "name": actor.Name or "Unnamed", "is_editing": is_editing}) + if actor.TheActor.is_a("IfcPerson"): + the_actor = actor.TheActor.Identification or "N/A" + elif actor.TheActor.is_a("IfcOrganization"): + the_actor = actor.TheActor.Identification or "N/A" + elif actor.TheActor.is_a("IfcPersonAndOrganization"): + the_actor = actor.TheActor.ThePerson.Identification or "N/A" + the_actor += "-" + actor.TheActor.TheOrganization.Identification or "N/A" + actors.append( + {"id": actor.id(), "name": actor.Name or "Unnamed", "the_actor": the_actor, "is_editing": is_editing} + ) return actors diff --git a/src/blenderbim/blenderbim/bim/module/owner/operator.py b/src/blenderbim/blenderbim/bim/module/owner/operator.py index d678369ac2..48935f91d3 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/operator.py +++ b/src/blenderbim/blenderbim/bim/module/owner/operator.py @@ -315,8 +315,8 @@ class AddActor(bpy.types.Operator, Operator): def _execute(self, context): props = bpy.context.scene.BIMOwnerProperties - if props.actor: - core.add_actor(tool.Ifc, ifc_class=props.actor_class, actor=tool.Ifc.get().by_id(int(props.actor))) + if props.the_actor: + core.add_actor(tool.Ifc, ifc_class=props.actor_class, actor=tool.Ifc.get().by_id(int(props.the_actor))) class EnableEditingActor(bpy.types.Operator, Operator): diff --git a/src/blenderbim/blenderbim/bim/module/owner/prop.py b/src/blenderbim/blenderbim/bim/module/owner/prop.py index 49759be4bc..57e1095c8b 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/prop.py +++ b/src/blenderbim/blenderbim/bim/module/owner/prop.py @@ -44,14 +44,14 @@ def get_user_organisation(self, context): return OwnerData.data["user_organisation"] -def get_actor(self, context): +def get_the_actor(self, context): if not ActorData.is_loaded: ActorData.load() - return ActorData.data["actor"] + return ActorData.data["the_actor"] def update_actor_type(self, context): - ActorData.data["actor"] = ActorData.actor() + ActorData.data["the_actor"] = ActorData.the_actor() def update_actor_class(self, context): @@ -94,4 +94,4 @@ class BIMOwnerProperties(PropertyGroup): name="Actor Type", update=update_actor_type, ) - actor: EnumProperty(items=get_actor, name="Actor") + the_actor: EnumProperty(items=get_the_actor, name="Actor") diff --git a/src/blenderbim/blenderbim/bim/module/owner/ui.py b/src/blenderbim/blenderbim/bim/module/owner/ui.py index e3902775c8..09865648b0 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/ui.py +++ b/src/blenderbim/blenderbim/bim/module/owner/ui.py @@ -127,7 +127,9 @@ class BIM_PT_people(bpy.types.Panel): draw_addresses(box, person) else: row = self.layout.row(align=True) - row.label(text=person["name"]) + row.label(text=person["name"], icon="OUTLINER_OB_ARMATURE") + if person["roles_label"]: + row.label(text=person["roles_label"]) row.operator("bim.enable_editing_person", icon="GREASEPENCIL", text="").person = person["id"] if not person["is_engaged"]: row.operator("bim.remove_person", icon="X", text="").person = person["id"] @@ -171,7 +173,9 @@ class BIM_PT_organisations(bpy.types.Panel): draw_addresses(box, organisation) else: row = self.layout.row(align=True) - row.label(text=organisation["name"]) + row.label(text=organisation["name"], icon="COMMUNITY") + if organisation["roles_label"]: + row.label(text=organisation["roles_label"]) op = row.operator("bim.enable_editing_organisation", icon="GREASEPENCIL", text="") op.organisation = organisation["id"] if not organisation["is_engaged"]: @@ -254,9 +258,9 @@ class BIM_PT_actor(bpy.types.Panel): row = self.layout.row(align=True) row.prop(self.props, "actor_class", text="") row.prop(self.props, "actor_type", text="") - if ActorData.data["actor"]: + if ActorData.data["the_actor"]: row = self.layout.row(align=True) - row.prop(self.props, "actor", text="") + row.prop(self.props, "the_actor", text="") row.operator("bim.add_actor", icon="ADD", text="") else: self.layout.label(text="No users found.") @@ -273,6 +277,7 @@ class BIM_PT_actor(bpy.types.Panel): blenderbim.bim.helper.draw_attributes(self.props.actor_attributes, box) else: row = self.layout.row(align=True) - row.label(text=actor["name"]) + row.label(text=actor["name"], icon="USER") + row.label(text=actor["the_actor"]) row.operator("bim.enable_editing_actor", icon="GREASEPENCIL", text="").actor = actor["id"] row.operator("bim.remove_actor", icon="X", text="").actor = actor["id"] From 5f1b5d0c63d681f90a8f2f4a2a44cdac66d64425 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 17:47:24 +1000 Subject: [PATCH 112/243] You can now manage actor assignments to products --- .../blenderbim/bim/module/owner/__init__.py | 3 + .../blenderbim/bim/module/owner/data.py | 44 ++++++++++++++ .../blenderbim/bim/module/owner/operator.py | 24 ++++++++ .../blenderbim/bim/module/owner/prop.py | 9 ++- .../blenderbim/bim/module/owner/ui.py | 37 +++++++++++- src/blenderbim/blenderbim/core/owner.py | 8 +++ src/blenderbim/test/bim/feature/owner.feature | 27 +++++++++ src/blenderbim/test/core/test_owner.py | 12 ++++ .../ifcopenshell/api/owner/assign_actor.py | 59 +++++++++++++++++++ .../ifcopenshell/api/owner/unassign_actor.py | 43 ++++++++++++++ .../test/api/owner/test_assign_actor.py | 38 ++++++++++++ .../test/api/owner/test_unassign_actor.py | 29 +++++++++ 12 files changed, 331 insertions(+), 2 deletions(-) create mode 100644 src/ifcopenshell-python/ifcopenshell/api/owner/assign_actor.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/owner/unassign_actor.py create mode 100644 src/ifcopenshell-python/test/api/owner/test_assign_actor.py create mode 100644 src/ifcopenshell-python/test/api/owner/test_unassign_actor.py diff --git a/src/blenderbim/blenderbim/bim/module/owner/__init__.py b/src/blenderbim/blenderbim/bim/module/owner/__init__.py index 9b676a586d..3c9ba9de47 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/owner/__init__.py @@ -28,6 +28,7 @@ classes = ( operator.AddPersonAndOrganisation, operator.AddPersonAttribute, operator.AddRole, + operator.AssignActor, operator.ClearUser, operator.DisableEditingActor, operator.DisableEditingAddress, @@ -53,11 +54,13 @@ classes = ( operator.RemovePersonAttribute, operator.RemoveRole, operator.SetUser, + operator.UnassignActor, prop.BIMOwnerProperties, ui.BIM_PT_people, ui.BIM_PT_organisations, ui.BIM_PT_owner, ui.BIM_PT_actor, + ui.BIM_PT_object_actor, ) diff --git a/src/blenderbim/blenderbim/bim/module/owner/data.py b/src/blenderbim/blenderbim/bim/module/owner/data.py index 972da087da..be1cae0192 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/data.py +++ b/src/blenderbim/blenderbim/bim/module/owner/data.py @@ -25,6 +25,7 @@ def refresh(): OrganisationsData.is_loaded = False OwnerData.is_loaded = False ActorData.is_loaded = False + ObjectActorData.is_loaded = False class RolesAddressesData: @@ -243,3 +244,46 @@ class ActorData: {"id": actor.id(), "name": actor.Name or "Unnamed", "the_actor": the_actor, "is_editing": is_editing} ) return actors + + +class ObjectActorData: + data = {} + is_loaded = False + + @classmethod + def load(cls): + cls.is_loaded = True + cls.data = { + "actor": cls.actor(), + "actors": cls.actors() + } + + @classmethod + def actor(cls): + return [(str(p.id()), p.Name or "Unnamed", "") for p in tool.Ifc.get().by_type("IfcActor")] + + @classmethod + def actors(cls): + results = [] + element = tool.Ifc.get_entity(bpy.context.active_object) + if not element: + return results + for rel in getattr(element, "HasAssignments", []): + if rel.is_a("IfcRelAssignsToActor"): + actor = rel.RelatingActor + if actor.TheActor.is_a("IfcPerson"): + roles = cls.get_roles(actor.TheActor) + elif actor.TheActor.is_a("IfcOrganization"): + roles = cls.get_roles(actor.TheActor) + elif actor.TheActor.is_a("IfcPersonAndOrganization"): + roles = cls.get_roles(actor.TheActor.ThePerson) + roles.extend(cls.get_roles(actor.TheActor.TheOrganization)) + role = ", ".join(roles) + results.append({ + "id": actor.id(), "name": actor.Name or "Unnamed", "role": role, "ifc_class": actor.is_a() + }) + return results + + @classmethod + def get_roles(cls, parent): + return [r.UserDefinedRole or r.Role for r in parent.Roles or []] diff --git a/src/blenderbim/blenderbim/bim/module/owner/operator.py b/src/blenderbim/blenderbim/bim/module/owner/operator.py index 48935f91d3..38709184b5 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/operator.py +++ b/src/blenderbim/blenderbim/bim/module/owner/operator.py @@ -355,3 +355,27 @@ class RemoveActor(bpy.types.Operator, Operator): def _execute(self, context): core.remove_actor(tool.Ifc, actor=tool.Ifc.get().by_id(self.actor)) + + +class AssignActor(bpy.types.Operator, Operator): + bl_idname = "bim.assign_actor" + bl_label = "Assign Actor" + bl_options = {"REGISTER", "UNDO"} + actor: bpy.props.IntProperty() + + def _execute(self, context): + core.assign_actor( + tool.Ifc, actor=tool.Ifc.get().by_id(self.actor), element=tool.Ifc.get_entity(context.active_object) + ) + + +class UnassignActor(bpy.types.Operator, Operator): + bl_idname = "bim.unassign_actor" + bl_label = "Unassign Actor" + bl_options = {"REGISTER", "UNDO"} + actor: bpy.props.IntProperty() + + def _execute(self, context): + core.unassign_actor( + tool.Ifc, actor=tool.Ifc.get().by_id(self.actor), element=tool.Ifc.get_entity(context.active_object) + ) diff --git a/src/blenderbim/blenderbim/bim/module/owner/prop.py b/src/blenderbim/blenderbim/bim/module/owner/prop.py index 57e1095c8b..c1a2e65915 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/prop.py +++ b/src/blenderbim/blenderbim/bim/module/owner/prop.py @@ -18,7 +18,7 @@ import bpy from blenderbim.bim.prop import StrProperty, Attribute -from blenderbim.bim.module.owner.data import OwnerData, ActorData +from blenderbim.bim.module.owner.data import OwnerData, ActorData, ObjectActorData from bpy.types import PropertyGroup from bpy.props import ( PointerProperty, @@ -50,6 +50,12 @@ def get_the_actor(self, context): return ActorData.data["the_actor"] +def get_actor(self, context): + if not ObjectActorData.is_loaded: + ObjectActorData.load() + return ObjectActorData.data["actor"] + + def update_actor_type(self, context): ActorData.data["the_actor"] = ActorData.the_actor() @@ -95,3 +101,4 @@ class BIMOwnerProperties(PropertyGroup): update=update_actor_type, ) the_actor: EnumProperty(items=get_the_actor, name="Actor") + actor: EnumProperty(items=get_actor, name="Actor") diff --git a/src/blenderbim/blenderbim/bim/module/owner/ui.py b/src/blenderbim/blenderbim/bim/module/owner/ui.py index 09865648b0..2cf26457c0 100644 --- a/src/blenderbim/blenderbim/bim/module/owner/ui.py +++ b/src/blenderbim/blenderbim/bim/module/owner/ui.py @@ -19,7 +19,7 @@ import bpy import blenderbim.bim.helper import blenderbim.tool as tool -from blenderbim.bim.module.owner.data import PeopleData, OrganisationsData, OwnerData, ActorData +from blenderbim.bim.module.owner.data import PeopleData, OrganisationsData, OwnerData, ActorData, ObjectActorData def draw_roles(box, parent): @@ -281,3 +281,38 @@ class BIM_PT_actor(bpy.types.Panel): row.label(text=actor["the_actor"]) row.operator("bim.enable_editing_actor", icon="GREASEPENCIL", text="").actor = actor["id"] row.operator("bim.remove_actor", icon="X", text="").actor = actor["id"] + + +class BIM_PT_object_actor(bpy.types.Panel): + bl_label = "IFC Actor" + bl_idname = "BIM_PT_object_actor" + bl_options = {"DEFAULT_CLOSED"} + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "object" + bl_parent_id = "BIM_PT_misc_object" + + @classmethod + def poll(cls, context): + return tool.Ifc.get() + + def draw(self, context): + if not ObjectActorData.is_loaded: + ObjectActorData.load() + + self.props = context.scene.BIMOwnerProperties + + if not ObjectActorData.data["actor"]: + row = self.layout.row(align=True) + row.label(text="No Actors Found", icon="USER") + return + + row = self.layout.row(align=True) + row.prop(self.props, "actor", text="") + row.operator("bim.assign_actor", icon="ADD", text="").actor = int(self.props.actor) + + for actor in ObjectActorData.data["actors"]: + row = self.layout.row(align=True) + row.label(text=actor["name"], icon="USER") + row.label(text=actor["role"]) + row.operator("bim.unassign_actor", icon="X", text="").actor = actor["id"] diff --git a/src/blenderbim/blenderbim/core/owner.py b/src/blenderbim/blenderbim/core/owner.py index 65b28cac39..dfeec08970 100644 --- a/src/blenderbim/blenderbim/core/owner.py +++ b/src/blenderbim/blenderbim/core/owner.py @@ -165,3 +165,11 @@ def disable_editing_actor(owner): def edit_actor(ifc, owner): ifc.run("owner.edit_actor", actor=owner.get_actor(), attributes=owner.export_actor_attributes()) disable_editing_actor(owner) + + +def assign_actor(ifc, actor=None, element=None): + ifc.run("owner.assign_actor", relating_actor=actor, related_object=element) + + +def unassign_actor(ifc, actor=None, element=None): + ifc.run("owner.unassign_actor", relating_actor=actor, related_object=element) diff --git a/src/blenderbim/test/bim/feature/owner.feature b/src/blenderbim/test/bim/feature/owner.feature index 3e8f13513f..7852e2d70e 100644 --- a/src/blenderbim/test/bim/feature/owner.feature +++ b/src/blenderbim/test/bim/feature/owner.feature @@ -277,3 +277,30 @@ Scenario: Edit actor And I press "bim.enable_editing_actor(actor={actor})" When I press "bim.edit_actor" Then "scene.BIMOwnerProperties.active_actor_id" is "0" + +Scenario: Assign actor + Given an empty IFC project + And I press "bim.add_person" + And I press "bim.add_actor" + And I add a cube + And the object "Cube" is selected + And I set "scene.BIMRootProperties.ifc_class" to "IfcWall" + And I press "bim.assign_class" + And the variable "actor" is "{ifc}.by_type('IfcActor')[0].id()" + And the object "IfcWall/Cube" is selected + When I press "bim.assign_actor(actor={actor})" + Then nothing happens + +Scenario: Unassign actor + Given an empty IFC project + And I press "bim.add_person" + And I press "bim.add_actor" + And I add a cube + And the object "Cube" is selected + And I set "scene.BIMRootProperties.ifc_class" to "IfcWall" + And I press "bim.assign_class" + And the variable "actor" is "{ifc}.by_type('IfcActor')[0].id()" + And the object "IfcWall/Cube" is selected + And I press "bim.assign_actor(actor={actor})" + When I press "bim.unassign_actor(actor={actor})" + Then nothing happens diff --git a/src/blenderbim/test/core/test_owner.py b/src/blenderbim/test/core/test_owner.py index 91e23281c6..0587e3b8cd 100644 --- a/src/blenderbim/test/core/test_owner.py +++ b/src/blenderbim/test/core/test_owner.py @@ -259,3 +259,15 @@ class TestEditActor: ifc.run("owner.edit_actor", actor="actor", attributes="attributes").should_be_called() owner.clear_actor().should_be_called() subject.edit_actor(ifc, owner) + + +class TestAssignActor: + def test_run(self, ifc, owner): + ifc.run("owner.assign_actor", relating_actor="actor", related_object="element").should_be_called() + subject.assign_actor(ifc, actor="actor", element="element") + + +class TestUnassignActor: + def test_run(self, ifc, owner): + ifc.run("owner.unassign_actor", relating_actor="actor", related_object="element").should_be_called() + subject.unassign_actor(ifc, actor="actor", element="element") diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/assign_actor.py b/src/ifcopenshell-python/ifcopenshell/api/owner/assign_actor.py new file mode 100644 index 0000000000..eefe3d5142 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/owner/assign_actor.py @@ -0,0 +1,59 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2021 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import ifcopenshell +import ifcopenshell.api + + +class Usecase: + def __init__(self, file, **settings): + self.file = file + self.settings = { + "relating_actor": None, + "related_object": None, + } + for key, value in settings.items(): + self.settings[key] = value + + def execute(self): + if self.settings["related_object"].HasAssignments: + for rel in self.settings["related_object"].HasAssignments: + if rel.is_a("IfcRelAssignsToActor") and rel.RelatingActor == self.settings["relating_actor"]: + return + + rel = None + + if self.settings["relating_actor"].IsActingUpon: + rel = self.settings["relating_actor"].IsActingUpon[0] + + if rel: + related_objects = list(rel.RelatedObjects) + related_objects.append(self.settings["related_object"]) + rel.RelatedObjects = related_objects + ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel}) + else: + rel = self.file.create_entity( + "IfcRelAssignsToActor", + **{ + "GlobalId": ifcopenshell.guid.new(), + "OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file), + "RelatedObjects": [self.settings["related_object"]], + "RelatingActor": self.settings["relating_actor"], + } + ) + return rel diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/unassign_actor.py b/src/ifcopenshell-python/ifcopenshell/api/owner/unassign_actor.py new file mode 100644 index 0000000000..9bd8b2f834 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/owner/unassign_actor.py @@ -0,0 +1,43 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2021 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import ifcopenshell +import ifcopenshell.api + + +class Usecase: + def __init__(self, file, **settings): + self.file = file + self.settings = { + "relating_actor": None, + "related_object": None, + } + for key, value in settings.items(): + self.settings[key] = value + + def execute(self): + for rel in self.settings["related_object"].HasAssignments or []: + if not rel.is_a("IfcRelAssignsToActor") or rel.RelatingActor != self.settings["relating_actor"]: + continue + if len(rel.RelatedObjects) == 1: + return self.file.remove(rel) + related_objects = list(rel.RelatedObjects) + related_objects.remove(self.settings["related_object"]) + rel.RelatedObjects = related_objects + ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": rel}) + return rel diff --git a/src/ifcopenshell-python/test/api/owner/test_assign_actor.py b/src/ifcopenshell-python/test/api/owner/test_assign_actor.py new file mode 100644 index 0000000000..720cf1492b --- /dev/null +++ b/src/ifcopenshell-python/test/api/owner/test_assign_actor.py @@ -0,0 +1,38 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2021 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import test.bootstrap +import ifcopenshell.api + + +class TestAssignProduct(test.bootstrap.IFC4): + def test_assigning_an_actor(self): + wall = self.file.createIfcWall() + wall2 = self.file.createIfcWall() + actor = self.file.createIfcActor() + ifcopenshell.api.run("owner.assign_actor", self.file, relating_actor=actor, related_object=wall) + assert actor.IsActingUpon[0].RelatedObjects == (wall,) + ifcopenshell.api.run("owner.assign_actor", self.file, relating_actor=actor, related_object=wall2) + assert actor.IsActingUpon[0].RelatedObjects == (wall, wall2) + + def test_not_assigning_twice(self): + wall = self.file.createIfcWall() + actor = self.file.createIfcActor() + ifcopenshell.api.run("owner.assign_actor", self.file, relating_actor=actor, related_object=wall) + ifcopenshell.api.run("owner.assign_actor", self.file, relating_actor=actor, related_object=wall) + assert actor.IsActingUpon[0].RelatedObjects == (wall,) diff --git a/src/ifcopenshell-python/test/api/owner/test_unassign_actor.py b/src/ifcopenshell-python/test/api/owner/test_unassign_actor.py new file mode 100644 index 0000000000..c7e4e7c220 --- /dev/null +++ b/src/ifcopenshell-python/test/api/owner/test_unassign_actor.py @@ -0,0 +1,29 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2021 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import test.bootstrap +import ifcopenshell.api + + +class TestUnassignActor(test.bootstrap.IFC4): + def test_unassigning_an_actor(self): + wall = self.file.createIfcWall() + actor = self.file.createIfcActor() + ifcopenshell.api.run("owner.assign_actor", self.file, relating_actor=actor, related_object=wall) + ifcopenshell.api.run("owner.unassign_actor", self.file, relating_actor=actor, related_object=wall) + assert len(self.file.by_type("IfcRelAssignsToActor")) == 0 From cc88e6f11270ed91c7219d85036304f7626d6680 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 20:44:26 +1000 Subject: [PATCH 113/243] #2185 Write documentation about viewing attributes, pets, and qtos --- src/blenderbim/docs/users/attributes.png | Bin 0 -> 212733 bytes .../docs/users/exploring_an_ifc_model.rst | 76 ++++++++++++++++-- src/blenderbim/docs/users/psets.png | Bin 0 -> 42193 bytes src/blenderbim/docs/users/qtos.png | Bin 0 -> 60561 bytes 4 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 src/blenderbim/docs/users/attributes.png create mode 100644 src/blenderbim/docs/users/psets.png create mode 100644 src/blenderbim/docs/users/qtos.png diff --git a/src/blenderbim/docs/users/attributes.png b/src/blenderbim/docs/users/attributes.png new file mode 100644 index 0000000000000000000000000000000000000000..7fad33199eada8c18fb588e33baf6ab19b360c59 GIT binary patch literal 212733 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%0A$M18jBs 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

hl+PWJQ^VoaZjjodOFJP{?^EEW6~>O~;T7 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 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index 9825eb85b5..b76a48360e 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -192,12 +192,13 @@ of the **Viewport** panel. .. warning:: - Not all IFC models use the correct **Class**. For example, a chair might be assigned - as the Wall **Class** instead the Furniture **Class**. There is a special - class known as **IfcBuildingElementProxy**, used when the user is unable to - find a more semantic **Class**. If you see many **IfcBuildingElementProxy** - **Classes**, it is likely a symptom of a low quality IFC model. If this is - the case, scold the project manager and ask them to do a better job. + Sometimes, an IFC model will use the wrong **Class**. For example, a chair might + be assigned as the Wall **Class** instead the Furniture **Class**. There is a + special class known as **IfcBuildingElementProxy**, used when the user is + unable to find a more semantic **Class**. If you see many + **IfcBuildingElementProxy** **Classes**, it is likely a symptom of a low + quality IFC model. If this is the case, scold the project manager and ask + them to do a better job. After **IfcSlab** it also says **ROOF**. This is known as the **Predefined Type** of the element. You can think of it as a further level of @@ -230,7 +231,68 @@ out of 4 available objects. This is a great way of counting objects like toilets Viewing attributes and properties --------------------------------- -TODO +You can view the **Attributes**, **Properties**, and **Quantities** of the +selected object in the **Object Properties** tab. + +Let's focus on **Attributes** first. Scroll down to the **IFC Attributes** +subpanel. **Attributes** are a limited set of fundamental data (usually less +than 10) associated with all IFC elements. These are fixed by the IFC standard. + +.. image:: attributes.png + +Here are some common attributes and what they mean: + +- **GlobalId**: a unique ID for the element useful for computer geeks +- **Name**: a short name, code, number, or label to identify the object for a + human. Basically, if you had to annotate the object on a drawing or a + schedule, this is what you should see. For example, a pump **Name** might be + ``P-10-A``. +- **Description**: typically the longer form of the name, written to be + descriptive and readable for humans. For example a pump **Description** might + be ``Water Suction Pump``. +- **Tag**: this is an ID that may link it back to another BIM application. For + example if the IFC model was produced using Revit or ArchiCAD. +- **Predefined Type**: basically a further level of classification to be read + in conjunction with the IFC class. + +.. warning:: + + Some IFC models have poor quality data. For example, if the **Name** + of a Window doesn't match the window code (e.g. ``W01``) you see on a + drawing, the project manager has clearly not put enough effort. Shame on + them. + +**Properties** are other data associated with the object. Every project will +have different **Properties** depending on what information they want to store. +Each **Property** has a name and a value, and are grouped into **Property +Sets**. Each **Property Set** also has a name. + +You can find **Properties** in the **IFC Property Sets** subpanel. + +.. image:: psets.png + +Some very common **Properties** are standardised by international BIM standards. +For example, the load bearing **Property** of a beam should always be called +``LoadBearing``. If a **Property Set** is part of the international standard, it +has a prefix of ``Pset_``, like ``Pset_BeamCommon``. + +If you see a **Property Set** without the ``Pset_`` prefix, it is a custom +property defined by the author of the IFC model. + +.. tip:: + + It's important to distinguish between **Properties** that are + part of the standard compared to custom ones. When **Properties** are + standardised, it means predictable digital workflows can be designed. + +**Quantities** are very similar to properties. They also have a name and a +value, and are grouped into **Quantity Sets**. Similarly, there are also common +quantities defined as part of the international standard, denoted by the prefix +``Qto_``. This prefix is short for "Quantity Take-Off". + +You can find **Quantities** in the **IFC Quantity Sets** subpanel. + +.. image:: qtos.png Viewing construction types -------------------------- diff --git a/src/blenderbim/docs/users/psets.png b/src/blenderbim/docs/users/psets.png new file mode 100644 index 0000000000000000000000000000000000000000..1e9493741c2ac454e545af768a6bb1a336cf0c43 GIT binary patch literal 42193 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

J7&Qls62iBc}(b9*~)tv&|K3y68q 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 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/qtos.png b/src/blenderbim/docs/users/qtos.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7b250cf8c31867d2c6005f84ccb1fe696e141d GIT binary patch literal 60561 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 literal 0 HcmV?d00001 From 60303c6560a9791b9332d69a9804db8866b230c7 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 6 May 2022 20:51:36 +1000 Subject: [PATCH 114/243] Minor fix --- .../docs/users/exploring_an_ifc_model.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index b76a48360e..f89c9f50d7 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -244,15 +244,15 @@ Here are some common attributes and what they mean: - **GlobalId**: a unique ID for the element useful for computer geeks - **Name**: a short name, code, number, or label to identify the object for a - human. Basically, if you had to annotate the object on a drawing or a - schedule, this is what you should see. For example, a pump **Name** might be - ``P-10-A``. + human. If you had to annotate the object on a drawing or a schedule, the + **Name** is what you should see. For example, a pump **Name** might be ``P-10-A``. - **Description**: typically the longer form of the name, written to be descriptive and readable for humans. For example a pump **Description** might be ``Water Suction Pump``. - **Tag**: this is an ID that may link it back to another BIM application. For - example if the IFC model was produced using Revit or ArchiCAD. -- **Predefined Type**: basically a further level of classification to be read + example if the IFC model was produced using Revit or ArchiCAD, it might hold + the Revit or ArchiCAD element ID. +- **Predefined Type**: A further level of classification to be read in conjunction with the IFC class. .. warning:: @@ -283,7 +283,8 @@ property defined by the author of the IFC model. It's important to distinguish between **Properties** that are part of the standard compared to custom ones. When **Properties** are - standardised, it means predictable digital workflows can be designed. + standardised, it makes it easy to manage data. So if you need to isolate all + ``LoadBearing`` elements, you now know exactly where to look. **Quantities** are very similar to properties. They also have a name and a value, and are grouped into **Quantity Sets**. Similarly, there are also common From 816a690519af35a63dc7c2732ec5fe88f74481ea Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 10:20:11 +1000 Subject: [PATCH 115/243] Commit WIP website design by Paulina Godoy :) --- src/website/210626 Logo(1).svg | 543 +++++ src/website/Ifcopenshell_logo.png | Bin 0 -> 2266 bytes src/website/building-3d.svg | 1 + src/website/code.html | 59 + src/website/code.svg | 1 + src/website/community.html | 59 + src/website/contribute.html | 59 + src/website/experiment.ai | 1459 ++++++++++++ src/website/ifcopenshell_logo-04.svg | 1 + src/website/ifcopenshell_logo.ai | 3198 ++++++++++++++++++++++++++ src/website/ifcos-graph-1-02.svg | 1 + src/website/ifcos-graph-1.ai | 2035 ++++++++++++++++ src/website/ifcos-graph-1.svg | 1 + src/website/ifcos-graph-2.svg | 1 + src/website/ifcos_classic-logo.svg | 1 + src/website/ifcos_new_logo.svg | 1 + src/website/ifos-graphs.svg | 1 + src/website/index.html | 66 + src/website/learn.html | 59 + src/website/products.html | 59 + src/website/styles.css | 197 ++ 21 files changed, 7802 insertions(+) create mode 100644 src/website/210626 Logo(1).svg create mode 100644 src/website/Ifcopenshell_logo.png create mode 100644 src/website/building-3d.svg create mode 100644 src/website/code.html create mode 100644 src/website/code.svg create mode 100644 src/website/community.html create mode 100644 src/website/contribute.html create mode 100644 src/website/experiment.ai create mode 100644 src/website/ifcopenshell_logo-04.svg create mode 100644 src/website/ifcopenshell_logo.ai create mode 100644 src/website/ifcos-graph-1-02.svg create mode 100644 src/website/ifcos-graph-1.ai create mode 100644 src/website/ifcos-graph-1.svg create mode 100644 src/website/ifcos-graph-2.svg create mode 100644 src/website/ifcos_classic-logo.svg create mode 100644 src/website/ifcos_new_logo.svg create mode 100644 src/website/ifos-graphs.svg create mode 100644 src/website/index.html create mode 100644 src/website/learn.html create mode 100644 src/website/products.html create mode 100644 src/website/styles.css diff --git a/src/website/210626 Logo(1).svg b/src/website/210626 Logo(1).svg new file mode 100644 index 0000000000..db188eca8f --- /dev/null +++ b/src/website/210626 Logo(1).svg @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/website/Ifcopenshell_logo.png b/src/website/Ifcopenshell_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ac9394a243ce1c1fd581160cd8b4bd879c34b284 GIT binary patch literal 2266 zcmV<02qpK4P)RCwC#oqK3obri?X&CA(tO_`f- zOvDFcw#&m8&PVUmb(?~%f{Hq5hQbsS^M?vDWr>In1dXT&z7_?Y_##86bI;7_s&i{o zTjvnB-TtBIAHv!$>E@FA^ZagZ)^u&tzmU*i{C86~K>oo9hjlFvOKxmUpO(g%F$*$O?nFdfRfYzA&n_00VbTZ@K!Xt1>|EA`;TtAQ1|dGPtKFpnBY;LBzW77C0~Hu0JOU7{ z5{qd4KQdzwU;k<8T3{1~Y-IUDeCOwzF^rj?un0i3NGw2MEC6wR?~M)|k@yIS07R<< zevlXu5rJqkF;bxj#BT1ocCg(v zQ!NP5Y9BQ;`MwHw22wQZ zv1m<0G#|%*S0KUQE05rh2)+xS5sx;_>m91U35Y-O-**{$eGEM`dv5Igx({dehsyO> zXt??s=f-wYi^V%nU%os56% z-Vy)YLoh+?DpOg5`K3pZY!JeCiZtBRJ4g_XSo%WA5NbM<_}&`>D@4JDZUv>GrKgV| z7H)h?id%0xA@REx7~dDbp;}nDaelA178C#1y<^f>Gi~NPmh}xq^Y`FOJP=?;m5UcRY7^M;Fx57d%w zV@hjMvgBV|XQr)99PoxUma3k&ft(QazxZaXeJtk$L=h)4;vc#kIUzO$2Zk_P%j4HP zYH9+a81B!lM6@|;`Vpig7kg~Yk~QL~^c>~1Guv~X_=S%hZy$NBmG{~MMGNQJFz3;? zU5>nWK+JihKPX9Bc#Dr}QZ?nyg4S4OukPDBsX9@f(&eT{2C@&T58Ok;Pm_o^NeS^VPlpw+>r|?E95tfvT*CGxBV! zLoeAn=B#XL4%AFpq2VA0%Q#S(uZ@(ji3rqeZKmO;TO4{5(5XWuh(bW0Y_aPgX98%T z?y7_hKdu4wF{br#odi+PhWsrZ*pB)kYri8wG^);rFKa_}1`NU^h~t#`pawHsV3-rc zNnzf_EkJTBJOeF7hyTpA}dT+sDxwh4|jy zn_XsLve^VOhc_c1!s|@lVFmc`MD;^_xqB&Z+uUXeWKZ8@#L+5& z_(XJ>3qdvW68{LRnM1Q;M;O~Sr>UF+R}M0oDi6fP8&|BgNfJLF5Nwimv=d-(X!r4V zIrA7oLxo8=jIGRdYH5)PSh*kqlxT1GOhdd>(!O3A_7%YhqNo}@CWRmhn)v|>L8Nf5 z0OM8f38KjGk7);1kP-!rAPSn&G%sCoiXa*fW(t6sR5ObM`s=`e?*rxGyNl=bgKE%5q@T zCgxV4|HAWsoc1^=f;hQF5uopq3%c_vW=RlF8HFIcz(VKlg3ci%h+~;I% zXRK_rr3RsCwYFD!w{0lZhgzx}n4&|AJ#_V!vQ>V!R5+we_am0M#WqcO>blJpbq+zf oAj*?8{K`k|o2v3ClK%x501=IG?qHCVH~;_u07*qoM6N<$f->YeF#rGn literal 0 HcmV?d00001 diff --git a/src/website/building-3d.svg b/src/website/building-3d.svg new file mode 100644 index 0000000000..dfc64f68e8 --- /dev/null +++ b/src/website/building-3d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/code.html b/src/website/code.html new file mode 100644 index 0000000000..d8e179b832 --- /dev/null +++ b/src/website/code.html @@ -0,0 +1,59 @@ + + + + + + + + + + + Hello plantilla + + +

+
+
+

Code

+

+
+
+ computer-graph +
+
+
+
+

docs

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+
+

ready to get started?

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/src/website/code.svg b/src/website/code.svg new file mode 100644 index 0000000000..8fabc0a1a5 --- /dev/null +++ b/src/website/code.svg @@ -0,0 +1 @@ +>> import ifcopenshell>> f = ifcopenshell.open("/my_model.ifc") \ No newline at end of file diff --git a/src/website/community.html b/src/website/community.html new file mode 100644 index 0000000000..7a8e39da0d --- /dev/null +++ b/src/website/community.html @@ -0,0 +1,59 @@ + + + + + + + + + + + Hello plantilla + + + +
+
+

Community

+

+
+
+ computer-graph +
+
+
+
+

large open source community

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+
+

ready to get started?

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/src/website/contribute.html b/src/website/contribute.html new file mode 100644 index 0000000000..6cd7d75276 --- /dev/null +++ b/src/website/contribute.html @@ -0,0 +1,59 @@ + + + + + + + + + + + Hello plantilla + + + +
+
+

Contribute

+

+
+
+ computer-graph +
+
+
+
+

how can I help?

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+
+

ready to get started?

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/src/website/experiment.ai b/src/website/experiment.ai new file mode 100644 index 0000000000..0b0976f95d --- /dev/null +++ b/src/website/experiment.ai @@ -0,0 +1,1459 @@ +%PDF-1.6 %âãÏÓ +1 0 obj <>/OCGs[21 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + experiment + + + Adobe Illustrator 26.0 (Windows) + 2022-01-14T10:48-03:00 + 2022-01-14T10:48:01-03:00 + 2022-01-14T10:48:01-03:00 + + + + 256 + 228 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA5AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUtv8AX9Ps6qX9WUf7rj3p8z0GaXXdvabT7XxT7o/pPJnH GSkV35tv5CRAqwL2NOTfedvwzltT7Vaif92BAfM/bt9jYMYCVT6rqExPqXMje3IgfcNs0+XtHUZP qnI/H9DKgFG3kLXcJJqea7n55Xp7OWN/zh97El6Vnr7Q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FVK5uoLaFpp3CRr1J/UMo1Opx4IGeQ1EJAtiWq+ZLm6JjgJ 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 /KrZikwzYJdirsVdirsVdir/AP/Z + + + + proof:pdf + uuid:65E6390686CF11DBA6E2D887CEACB407 + xmp.did:391322c8-c9b6-0f46-8d96-f35661ffa7fb + uuid:1291e777-cf33-488c-923b-b0020473254c + + uuid:8ab008d7-a503-406f-a04a-a2a1399fa9d4 + xmp.did:d034ec7f-995a-184f-b064-35514c45912e + uuid:65E6390686CF11DBA6E2D887CEACB407 + proof:pdf + + + + + saved + xmp.iid:391322c8-c9b6-0f46-8d96-f35661ffa7fb + 2022-01-13T22:44:09-03:00 + Adobe Illustrator 26.0 (Windows) + / + + + + Web + Document + AIRobin + 1 + False + False + + 1920.000000 + 1080.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Grupo de muestras por defecto + 0 + + + + Blanco + RGB + PROCESS + 255 + 255 + 255 + + + Negro + RGB + PROCESS + 0 + 0 + 0 + + + Rojo RGB + RGB + PROCESS + 255 + 0 + 0 + + + Amarillo RGB + RGB + PROCESS + 255 + 255 + 0 + + + Verde RGB + RGB + PROCESS + 0 + 255 + 0 + + + Cian RGB + RGB + PROCESS + 0 + 255 + 255 + + + Azul RGB + RGB + PROCESS + 0 + 0 + 255 + + + Magenta RGB + RGB + PROCESS + 255 + 0 + 255 + + + R=193 G=39 B=45 + RGB + PROCESS + 193 + 39 + 45 + + + R=237 G=28 B=36 + RGB + PROCESS + 237 + 28 + 36 + + + R=241 G=90 B=36 + RGB + PROCESS + 241 + 90 + 36 + + + R=247 G=147 B=30 + RGB + PROCESS + 247 + 147 + 30 + + + R=251 G=176 B=59 + RGB + PROCESS + 251 + 176 + 59 + + + R=252 G=238 B=33 + RGB + PROCESS + 252 + 238 + 33 + + + R=217 G=224 B=33 + RGB + PROCESS + 217 + 224 + 33 + + + R=140 G=198 B=63 + RGB + PROCESS + 140 + 198 + 63 + + + R=57 G=181 B=74 + RGB + PROCESS + 57 + 181 + 74 + + + R=0 G=146 B=69 + RGB + PROCESS + 0 + 146 + 69 + + + R=0 G=104 B=55 + RGB + PROCESS + 0 + 104 + 55 + + + R=34 G=181 B=115 + RGB + PROCESS + 34 + 181 + 115 + + + R=0 G=169 B=157 + RGB + PROCESS + 0 + 169 + 157 + + + R=41 G=171 B=226 + RGB + PROCESS + 41 + 171 + 226 + + + R=0 G=113 B=188 + RGB + PROCESS + 0 + 113 + 188 + + + R=46 G=49 B=146 + RGB + PROCESS + 46 + 49 + 146 + + + R=27 G=20 B=100 + RGB + PROCESS + 27 + 20 + 100 + + + R=102 G=45 B=145 + RGB + PROCESS + 102 + 45 + 145 + + + R=147 G=39 B=143 + RGB + PROCESS + 147 + 39 + 143 + + + R=158 G=0 B=93 + RGB + PROCESS + 158 + 0 + 93 + + + R=212 G=20 B=90 + RGB + PROCESS + 212 + 20 + 90 + + + R=237 G=30 B=121 + RGB + PROCESS + 237 + 30 + 121 + + + R=199 G=178 B=153 + RGB + PROCESS + 199 + 178 + 153 + + + R=153 G=134 B=117 + RGB + PROCESS + 153 + 134 + 117 + + + R=115 G=99 B=87 + RGB + PROCESS + 115 + 99 + 87 + + + R=83 G=71 B=65 + RGB + PROCESS + 83 + 71 + 65 + + + R=198 G=156 B=109 + RGB + PROCESS + 198 + 156 + 109 + + + R=166 G=124 B=82 + RGB + PROCESS + 166 + 124 + 82 + + + R=140 G=98 B=57 + RGB + PROCESS + 140 + 98 + 57 + + + R=117 G=76 B=36 + RGB + PROCESS + 117 + 76 + 36 + + + R=96 G=56 B=19 + RGB + PROCESS + 96 + 56 + 19 + + + R=66 G=33 B=11 + RGB + PROCESS + 66 + 33 + 11 + + + + + + Grises + 1 + + + + R=0 G=0 B=0 + RGB + PROCESS + 0 + 0 + 0 + + + R=26 G=26 B=26 + RGB + PROCESS + 26 + 26 + 26 + + + R=51 G=51 B=51 + RGB + PROCESS + 51 + 51 + 51 + + + R=77 G=77 B=77 + RGB + PROCESS + 77 + 77 + 77 + + + R=102 G=102 B=102 + RGB + PROCESS + 102 + 102 + 102 + + + R=128 G=128 B=128 + RGB + PROCESS + 128 + 128 + 128 + + + R=153 G=153 B=153 + RGB + PROCESS + 153 + 153 + 153 + + + R=179 G=179 B=179 + RGB + PROCESS + 179 + 179 + 179 + + + R=204 G=204 B=204 + RGB + PROCESS + 204 + 204 + 204 + + + R=230 G=230 B=230 + RGB + PROCESS + 230 + 230 + 230 + + + R=242 G=242 B=242 + RGB + PROCESS + 242 + 242 + 242 + + + + + + Grupo de colores Web + 1 + + + + R=63 G=169 B=245 + RGB + PROCESS + 63 + 169 + 245 + + + R=122 G=201 B=67 + RGB + PROCESS + 122 + 201 + 67 + + + R=255 G=147 B=30 + RGB + PROCESS + 255 + 147 + 30 + + + R=255 G=29 B=37 + RGB + PROCESS + 255 + 29 + 37 + + + R=255 G=123 B=172 + RGB + PROCESS + 255 + 123 + 172 + + + R=189 G=204 B=212 + RGB + PROCESS + 189 + 204 + 212 + + + + + + + Adobe PDF library 16.03 + 21.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 5 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>/Shading<>>>/Thumb 32 0 R/TrimBox[0.0 0.0 1920.0 1080.0]/Type/Page>> endobj 23 0 obj <>stream +H‰ŒVËn1 ¼ïWè,K¤ž×¸AOiøÐÜ¢9ØÒúûiEi-7A`À+µ$gHŠÞ?¨ýÃÁ¨»/µ¼.L¤cN*YÖ6Gu黬‰²:w„bÐ.:ÅÉëhH‘ÚeV.°&¼+ûÓ2#çÅ;£Sv †a3v›²¯§eFΑX7"Êž”xÉÎéÌÔ#“ýˆL°kléŠ4›³B§…sArìÒ‘YG\ÔÄQ9rÚ‘W)^G&û™ Ð̶ÑvÄscÛlö}lFÎ*vÄzmSRâ…Ò”Ít“Í$Ù6‚tEšÍY¡ÓòCýFµí¿úõ¶P2:ç”9eðÙm&8Gã”OV“E‘¤ N—åîYí/F½½¨ûgõ´<• +N¨ ¬r6š½+ÉxÁåb“JV3£(BÔœmµGöF[[óy yÆÁ+Þ`Òž)eí|XÒ&2Š6këJÙ•'"[fä¼PH ¼6¥yB+#ÎÚ;?ö=y3rîÈH^Gr*FW'ÈŽfJ=0ŠÈXÚÄÕhTȹ¹Fæ5Bq ¹f“†8@œ&§Í †§Èm‘*Wêj͇E«RØ€ê±èÒDÊâMÇ`Ñ_W ìG +à‘`MÊ‹à!6ËM`ß„1#èXM¨|‰Ü£ã!pgVn—RxCŒÁ y\D¿À^B×7 WØ÷ŒL,ø´vWËa¼Mqߎ‹qBÎÙ\Œ‚´j'RŨàFEª^¨JWˆ£‘f7I¥÷DréMIŠtïH“ °!©5Æh…zî¹¾L;°©P2Rfý5©C1<]%§›Yx¹™—c:öy1Í“ÏÌ ynÍsmž|§fáí¼”;ÏàÏÌíyÖßü˜šozS§•ãlRÈWë‘+L¥:ß¹é 2•ð• £.ÿü¬îö‡£U‡£Ú?u<|[ðË_ÕCxU¶ø(}ÑîhSÜjlbqU~»,Åà|Äš ̧Ò7¼®Ë®Ò²ävJNóËÕ#G„¹´5†ÿyöÆ«w:”ˆNä5‡u]¾NK]:®‡ÚÙÕeyˆKúÀ%$Æ[Ýãn­ÄѺ^‰Ö¥íÇW¢[žü®ÓÀ7N…gåÕxÖõʳ.O9¼ò4ïðõiù'À¤§ +endstream endobj 32 0 obj <>stream +8;Z]"0m\I+%#)/a0Q@^PZ\46I12"F/H4cN(9F"q&n&[HoL)(Aa:6e&QnAXnp>EY,^ +5AjigKGOP^:HYhgEL;L5q_uY_L`Fn5?5cp1Z46$\hfUAXg\ML-cG.:ZjlLNNqtfK) +FCRP/T@[5Sr:e\4Ha&08fNN@Xs$K-* +%E`SIUQR^W9'AWG(Po6XErC;.:[\Qd#FZ,b*UaIdeX6@dO%Q`"M"sOOna>,eG`PBp +'1p\*nn9%d;9G[MQq6Gj8gYo8aLFM=HgoCIfCYMX#K3*+Q:LjVr%p"q:*:1Q1$Xf2 +/b8*qU0oG8`'[S=W>CqO(3O$?.#%3u7Lr?fL#ASCdLfJ&)J1-*LW%Jo[X9!=qu7K48Z9q.FtP`O^3DilQAjq5@HX;55C/*`DgT#Z1qB3DUKe +,bfJel&*4ak2=^J]K\Fd4J_U1$+M>6aSa,nQQs9GFf(ITbqdeQVtl!VD262($ag#Vp(j1 +e7NRd!M3tQnr[5`G*VYbm/+\1V(aBC\V8jb'SE7Q$!oZmF3Hu#TtOOIqbPY=NtMEc +DguHX!s!e(>4V~> +endstream endobj 33 0 obj [/Indexed/DeviceRGB 255 34 0 R] endobj 34 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> +endstream endobj 31 0 obj <> endobj 24 0 obj [/ICCBased 36 0 R] endobj 35 0 obj <> endobj 37 0 obj <> endobj 36 0 obj <>stream +H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  + 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ +V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= +€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)Ë”z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ßÞô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð +¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 +N'çÎ)Î].ÂuæJ¸rî +î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö +n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ +¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû +endstream endobj 21 0 obj <> endobj 38 0 obj [/View/Design] endobj 39 0 obj <>>> endobj 27 0 obj <> endobj 28 0 obj <> endobj 29 0 obj <> endobj 30 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 43 0 obj <> endobj 26 0 obj <> endobj 25 0 obj [/Pattern] endobj 7 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 24.0 +%%AI8_CreatorVersion: 26.0.2 +%%For: (Paulina Godoy) () +%%Title: (experiment.ai) +%%CreationDate: 1/14/2022 10:48 AM +%%Canvassize: 16383 +%%BoundingBox: 262 -968 1533 154 +%%HiResBoundingBox: 262.798332256441 -967.069302399053 1532.71817856816 153.264030934281 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 14.0 +%AI12_BuildNumber: 754 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registro]) +%AI3_Cropmarks: 0 -1080 1920 0 +%AI3_TemplateBox: 960.5 -540.5 960.5 -540.5 +%AI3_TileBox: 539.130009762943 -837.600006103516 1380.98999023438 -242.580047607422 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI24_LargeCanvasScale: 1 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI17_Begin_Content_if_version_gt:24 4 +%AI10_OpenToVie: -305.666666666667 765.666666666667 0.375 0 8913.33333333333 8118.66666666667 1503 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: -305.666666666667 765.666666666667 0.375 1503 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 7 +%AI17_Begin_Content_if_version_gt:24 4 +%AI17_Alternate_Content +%AI17_End_Versioned_Content +%%PageOrigin:560 -840 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 17 0 obj <>stream +%AI24_ZStandard_Data(µ/ýXœ”nÝ…p 40Q’BÀÀÀˆˆˆˆ’ö¯õÇâ£ý·Ï8ë‘âXZ·F€†NRÊ$¥L&=³©0€@ +i  Š«¢F /àA¨H+: ¨Í†b‘@BjXX(×Àp@,(~4D"ˆgº¨\eÀcøÌHx@Œæ•hlRgÒU™fvíøjC5¿ñ㤻k*j¡ßТßÏYŸú!ìœÜݨV»hòr¦jǪsmËp@˜«l£ÙWÐFõµ!™Ñ¯wMyˆŒ¦º¡ÉèŠápQJ"šLÏÌ58eºÉŒ*Ã4Uñw— Cųi¡ +…â> ÃbA‘H<ÛQhG‰ZP$žx6bX(Ä­¨– 3¹¸$Ue%lÇ0 tõáÙ.@$t»Ïð9  ‰†…S,¦TfÌ' 8 ¦˜OˆT–h8 †,„ SZ8 ªÕPf ¶ ô©uÂé`Ù‡ð6vnýŒéîn¯"‘Ïy"ñ$,4"æ‚Òò2¹È†ì=ÞðJ8q ¤(… / Ãq@,Üá*ˆ!ÕxCeÖ°9;¦Ýò<;‡VuÅé çå‘dXH ‹aÁFGEU=2 ¥ÈÌcÊvÆuå9NÙèÐuÍ;Ú‰S»¯=³6ùš XÓPÅÕ‚}¡½Ä"±XX0,†¬ˆñT24ŽiZè˜R8pÐdrܘA£s@p€aq@à‘`HœqˆD¦AÁ `PGÓ°Pd}@41Ï"ï€8 ~@Ôц2,ŠÄÓ(‘> ¬¯ˆbq@,(ˆÄó€ÀsQˆ†…"q@àÙê€(™Šg8 †aæ€PT±8 .q@”¦Â‹zLåsú  ++¼ð¢¡×ºs&êð€8Ä…¡L†9 ( +*EÃQE™b!±ÀP‰iU‘•­Ä?¡X8 fa±°X˜2L}×â¡(±8 z@”ï€È'žP$ˆ¶eÆÄSæ; ò´X0,ºÐ0 ³˜*Èš@£Z(Ú0 R,Ê^\.Ôªa¢È2aw@$ ¡C%r*Zä"ë Šâ€HÅ …B± X( ŠY¨-8 ‹†…†…YtA‹ZØÂ‹[à‰Å0” +ÓÐrÃ5`¢AѰаX˜…ZÀ…ð‰*óa^q@ áa vŠ…EÃbJe>Ì+††9 ¨Ê|˜ o8 žP,,΄ÕA +†C¢ †¢Z£h°†!ˆ…èÅ› +œk5ЂŠë ]èBâ«¶ Äb …B¡8 ]SÔ™I$~@$žÉ¶*µaÑb!ÑDbµkµ!ñ¼N;8:LØà… Œ pABâ:™qócŽ–k™ÑS¢Â23™á뉊|óâ€xÉœgh¹` Åá[n‚u SÓ±±›œœIÌ,ÌÃ4LÃLˆiÛR©ÕrÝë‹Ífß7ÑÄB]4´¡CC¥Õaò-´ZU•Í\ ˆÆÂbÃ-Nq?<_]Á N8}6“Ç ¶0…ÝЛÙC-`¹ªZS ´@ +:%™Šˆ†²X×Z¥v1 £˜ÄŸOÎÇccEm8  ‰†DÃÞ€ Øp ×` ÖP ÔІ6404$~ G ´ðú€˜,¬+—UÕT ´ %è„tdDTbèB}±W+uÊ0 “˜œdÀ4#†‚ …í€è¢ ¿Žxgo a¡8 :PLͽs’I(3ÎEDÿÝUV±³x4–µÂ¢ÌÑ" ˆ +(2À`8[µ©ÿ_þ17:hP¦í°µSeÍ̈́ղĔuy.½&?¾_–¯ì&ç/œ3›¡XX04ÔØ16¥2¦%lˆah`X,(O< ¼°u ‹"ñijuˆ†Å‚"qZq@$à‹"¸¸…¶¨-º˜EÃÃÂbaaA±XøB.àÂ-xÁjº0 +ÅB± P(Š+RŠSXaŠR¢Šb †Ä"±P$‰'2‰K8a‰JP¢‰I4œá‹/\ñþîÛëô~Þ ¹È…Td"yé´¬¤lN6 .p˜Àc"â¡Ñ°°8Øp ·¸…S\â~yxw>»:ºÞ1×`/¼`…¾Óè³m.“ëqƒ1ØÂLa »¥¡ÙÌÊÈjc ÅP‹Z(E%êU D™‘ †3<ˆ3<ñÐÆ`† FdðYQ‡¡aѰ˜B„¢ˆE-Š¡Æjdef¶3´[¶0c°×ä²Ù>£Ów ^ð nð\®ÎÎw@Üáåý§8Å-Ã5\à  ‡ˆ‰Ç*pÈ€ 8ÙlRVVZ://11ˆÌg"©È…\$C2dCÎç}O¯Ûí¾¿ã3ñÄ_øâ‹3œá ŸÄ$(A‰J–°„N\˜ÈÄO$‰„"¡H,$‹Ä"ÁhH4$F1U‚¥(³â¨@Å‘€‚ÄŠAcÆ!ÃÂJ0A¡ƒ1aƒ< ‹ŒT!Â(,@‚bø€(@\:`A p A„ +L`>P»:P ” ƒLø@ XP)ˆð "t€‚†6 uÕP€`‚"l A T ð …D +"T˜P‚aTx0 ¨@…  À%˜ ÁxP +*D@AHˆTx0&L°@ÔªBƒ  hÀÁ„ "èCƒ"0Á +!ˆÀ4P‚„LàA +"TÐà$D(  ‚„ ð@Â:ø@„ˆ@ƒ +TP +*DØ€aH ¡B…C#*hÁP€0 @Ø`t¡‚)à`B +$@6% 0(<à A&ˆð@0 B” €°Á˜ 0PA#ø€ÆZ„ +@À@ˆ Р`…Hˆp0 2D$D¨ !… H˜› T 8˜@a"„B$@(A &,l  ˆ +@@f °I€P¡ÂÈšîáOz;)97ˆ@a eÆœ !B"P„<˜¨0à d°B…(@¨ÀA"¬Ù8e‡õ£Æ˜mŽ’êsÌ0–ÌáÀO`B L°€&@SF¨‚ R"dPA„ +&,d !B (2Àv@ < (ˆ@V@:€@ +B@á2ppÐÀ„ &@à€ÀÁ *!< £è B  P`Ƭ($20 "0 RÈpm&-dT€‘eEó?/“ÕquMofæ+ 0ÊN‡Ÿ™ª¼ÌA˘ 0,s‡Pá&( dP H ½crZ€1ã€Âƒ˜`x`… +D +p 3 XÆ:„*@¨„<(A2Àq!xÐÁ2¨$p€„”Ø€ƒ(Pd@m@¢£ÂƒP˜Ðƒ ¸ hð€ÅPÁ8€°ñ ‚!x!á Æ: 0ƒ tAƒ &PA„ @ƒ 08 šdõ©±#)w\óœØ, +•;ÊóMýFð^€Q³3QU¥ˆÀ 08 ÌUîÈ{¬`‚""l `p@TÖuB "tÐÁƒHxÄH;Àt Àj€Ž@¨ð`!aBDx $@(A +L°€ÀA…ÀƒB`Á„ &,`<<˜@Æ(LhÀƒ‚däh@„P€€ ² 08 FŒ†( +*< P¡pÀAÆ8… @ °€Ä©@øÀ„ ¨À€A‡gÏ)ÒåÞ”Æ' gl7Ì#[Ïð”iu‡e÷Ì ÕL¥Ü”n1¥¡dÉuVÞtLSUiµyÝÜs„%? ðÒ¹ä‡Íв5òwh5-1ß' *4<$“Û¼°¦JWMÂé¸åÜM®4ªéҡɨwIðwó_}—Æ‘ÏÕVíP^}Ì“ôóÄ“||-:;{ÙÕXÆ>éjìlIäsóÏ”ëÝäï@£$Âß‹ÔòOЦhxs†U|ÞÉW*~î—jÇÙ‡8èÛyÓÃÁ—²L'üüRÜ4©šÁÁåÅíð]¾X¼ÁŸÑi·9ßÍi5Gßàk\¹J ºY¾S÷ƒvW>çï‡Ä:DCI“, Ã3lç¾£ê({ž¦ðîÍ_ï°ö£Ê§’Vš~W¤{¹H¬hPRuŒ~œ‡T*Áª9Û4j•Ððhdgì{ûËe&MÇn45ÂÖÐpÆžU,2Ä#›±ãX Q—4cïÇ‹†§ óŠ:ü¾N÷“±v`=øÊ¢¤Ê›Õnƒ(-÷²Kí¸Ñëw·ŒÑhï&OŽg·ØjãÈ÷ÒsÒ“uti²ž>]]ŽÇ¬f²>U+ ïU…’„4åúágTvŸØ¨d¼‘ ŠFašpëÕ¼œQýŽ”%µa;2‰Œõ2 K<º´3üå,sÔ)k«êƒ†RG¦Á;>¿-I\ªà *ù•Lr‡T¡«ÅFQÓXi{¢q†3gyGË ­ƒ G.f¥:²{֙԰î­`‡kTF‡uÙõL°#ˬ¬. vèÒ2iÄjø²FˆH¿©ÖÐ.¶ŽÓ™‰®î7º³"[“Î>u~¾4†RÔOÝUJiœuêîæ—}éTUÖìnä”1Óë~4)”õ²ÑóÑÕÄ5 ³eFR¤áÚw:’\õh”­ïG„‚gø|bJkا–(¥³2BÛË(­n +é3Âc}îåsØ‘üÎYB´*ÂOi Þ’hdj¤q¨Æ‚5èWIU™T—•w“U<%®‘x—ÅötgIýÕµ$ Krlê„iv™Ï·eKІ•Ê”s¥³âLR/d#Ó‹wÚø}hðhtÁD£ŒåÇR×ê¸[ÉY½B4Ì~óU]Wº«©Îìø0)/¥êqV«£¦ #}òŽ’œÆ»UëŽHÐFÖ Õjê›Ñ$ kŸLÌ3Þ3±$én¼¤9:¼¹’Ô‘W´Aåÿ÷*”{¤•yðVsrý™Ån Õ QGLƃÐYE1µ¼'uÐ “î’5ù²ÿîÃKÖlÐÌý÷©^²8‡ÿe;:e‡3ƒ·J¶%fãÐ5ƒ§êIÖ6ð5-Zoo‰&Ÿz|ŽFø‡î¾fLrš9÷Á·¾X)]Î;Ž-F—“EuG±šôÝ)U?!—ÙYG]^îAffuë¸Q}Õ®vWöñ ûepP]ës9k²õ}&G²ÚòóM7kÏÑŠz)Ö®ã{VG •øÆ‘®µ¤µÊïɘLj'ítÏßÉ™ç9t§Á‘qz`Ödïý+mé$=ÏJW‰b7ìÔ™*±»4Fü†Ëôô±n¡›vž¾=Oè˜t÷*gbúž’7*«ÒƒœxH™¦Ã<Éf¬L¿jJ3«¼?þ±:r6î«ßǹ%m5ŠòN{Zb5°5vÄÚ^s©ÃéÐ¥”ª9»ôû’ç&/}£³ÔU¬† ¦ïC£¿òošYÒ¦³JgÍݨ)W²$e ç\KÕ¨Ñmîž—œí2ûèþ QR‰ÑèÔ6eºû^“'ãslêU÷\©b4hêê>õ²z)G£5CsèžF!áͯ«‘}©÷«ZúÓ ;!ãœV3u¿¨Ä:ªvKgJ¬J²k¨éÓ$ŠñªòΙ™ÓbW‰¯¡ŠÝ®’[–çˆîîKnäÞ½ÜûØHÈ·?shDÂq£"´Çíúy•rÊ©›ý›¬–*Å9n3X~’”]G5ÿìÀã ÝÀ“eúù^èè—³Q5G·˜w}"å%¢ÜålÔ°ýš9ÚÔM¢ñz†÷Ž !: Oì‘WÉë ú‚7òÆêüšRçFGùEfRÙA6r8rî©_T(õ޶Òîi¯¢2jæe&fUê†eáÑN¶‹'©v´×pzí‘æšnÚ´ŽÔ$´“ºˆ—h¯¯ä†‘ÇÉ®i¯¾â¡Ad$ˆ=ï[D)Ç7ÇñÓŽbï0#Éq¤}êö¦¯v•Ãaú¹r®ÚǾ$Þ ¡==S÷+Ú3©ò¹4²|ÊíÅ«üŒ ŽësÐNh&ŸVepTûA“ ?Ob‹Ðì9»#©7ñ‘2ßQŠå¨äÐÀš’Äa5…¶÷(Åò鳳̳¼Ÿe,¬,ší¾¥¸zE5³ý/.K+ÉtS³e‘IÞ0åÔ¼,y£WX¶SÉ•ÆÍKœ£ö,)Ñ8Ê=Ñn¨–ƒr.ö‰w}ÿ–¾ã +­lpü»ªøfwòŽÈªd”û°ÁÕeÛ´òrèA$ÄÏÝŽY’² +~TÑìvªVfhÜ-åÿhJì(ÿ 93òKF’–77Y~¥S(;þ¹Î`V^’Oƒ–këeùã!ÉÄÉy¹n&éª&ûrÊ&¿²iôm +Ód?”œ92NÖ‰n­\„tt–%˜Ö3ý…G>¾J0;ò›Ž²ž-ÅÙafu™eå©ùXxÒÙÏÞå°ãã¶ðXdy³_G–ÖðDc„†w~ÒXŠT{Gj­_GáQ"ÕH5ÊLÿêP¨WVª"ò}~ñøi;ì¬ðLTùâÉæö'íâyÐ.Ñ*í¨¥;o,'fïú&‡ðÎúh÷¾›'½Žb V•iÒÓ'|Å®ƒ,É„Ÿ3”œzѤ?t•»ÂšÂW å¦ãÐæècÕÉ]ÇÍ Ÿ6JMñ:>Ï,37féÕbw–TÕÏèºY½O1…œo Og†tf !^ïí âVÚ®r é +ïlæcx³³Ðtdú°å»Ù³9«á‘¬„{·¯²Hð#¤~kîS¾œó&ôÑq/}"J©ë°Ëœš{±tGÍH*G5îÆšªˆŽõ=±²Xn~ðеíw5¿*©–™%“/?R9Ò\Ô¬Lãï6¡`uÔ¹r—YSw›–œuاÒ„EºD$½…wr9¨e„~’I~MG±è{®£˜ô³3Ý ³’¦Á(Â1¥ÏÆ㸳ç*®ÛGe}q•íb8Œ0Ó÷ºF\40ŒŒ(ñšµÌÂÛÓDsóqe$°Åd€Á€ 08 @ pÁ„@Bhð@‘A H`p0a‚ÂãƒH˜¡‚($ „„Œ 08 J0(€Ø`Œ80 0¦C£cc†X 1$†e€Á h 12mÎìÔ$yiøõ§ØEš"¼_'ŸÏYÐF *D 0&l0¡ÂH`@B„@PØÉ2Ô¹qNÚª™å!aæÔI c‰EÃQe‡‹¢¤¨ˆšRAø»Ba†šDC™ŸXX0LÉ|˜O,,JVœâR±àK(¼H£b¡m8 O<µÈ…<&ξ¸âúï+Ÿ•Uï³<ò™MÑ+ÏìÆ«ÎHhwV_ºÖçéÎΣè:ÝY=ê©­÷sbÖÈ<µ‡–V4‡n]¹¤W“CwΔ¼†½“øßá-½ÖH{Î2³wÖ¸cÍU©5´˜^ºÛ¬«aê{Õ ªªùÔ€jX!æÏ2hÓA–j`‘IÒ¸©Ì;]õ}Äôí~¼XŠ Ã)çØBIæI„3eãk™'}Væce’h–yR¬®)„#D–¶ëón‡½7Í{¡tî8¢«DwTón””<¬9qÕ }¼ËÄ«ê̹#ˆ&±[„Ö#wX¦ãOtUÒÌôÚ½dXžšÑÈî„d©‘]gä©°ÈÎz–CvžQ”ó:²¢ôêÌJ…Bã +«êlµxàÕÝ[5’Ö]šÉÍéÎĬø²›ú2{²ö.©á] ORÚÕszÄå‘X×ûž¯AWu_udŽŽÞÝ––ªßÒ*ïpfá]Kè¨F=i6‚¿éxG»ËQÍö¡¥ß:W#Ñ”£É£¦xëÊ~øvλáɕ娰ƒ?òØ(–XlKUL›éf уG—¿·»<Ÿ iÈiîÏóåkù–¡šaYMwEjh|(©ø;žÔ™ ©¦¿ZÙ4ÅÞõšâ=vb6Y#­›¢•®#µöÚ¾Îzµ^©^GSïK8XU)5Ås^Ö…vD9­³²Ìt¯ÒtðY6E2x¯Ï%J5§Tú{ÇR2‡hdj÷#²LLô½Þ»”,¢”7Wxò+Vs­e“ÏÕÓ:5v»¬±Wóâ"gU‰§#͈²>Y3*¬»O)Ó?œøÚœ•‘«R.±óÔUož|dNÂó…ŽìY)tô#Cœ£t½Tc”N-«¬DŤ²ûëÍ–ècuóSæZtCTUΫsÚ•a½wRwdU’9¬æ¨ŸºžG¿ÌG±v9Õ×;äÔàuÛØk~â¢<2|’,YD‰™õ³Ì +‘NÐ*•‰%ed9îò•óØ÷WVYJU–MÕTÌhkÄrÖÝ…u$„ãŒxÃÐO” ŽÚ±ì&iªB[ååÀlæxÜÎUs®^K’Â;­>xÊ»2Ç«¾«)•Ì~:ex¬XŽ<‘er`íšÝz#%¢f™¥Ýº`éF!ݤхκqæ)óÚ*Ö £R©ä“B8pŒzv#9‡½4'U¬š ¾ÐžCøñ×V™äàQ íFgÉ!üp 5À²3¡½N”´…~ÖÊÓÞ›‰Š¤²'Û•òëÎl.eæéw¥K¡ßsgö'Vöì½ké“„GªCô}ÖqáMO±±Śاå°Rn +oê“_É,}gƒ¿“ ¶ãÞ[?V“j¥==Z¯jh9-!f ­J˜6æ³Ù%<:CÃq íøÊ ¬ íCÁ! "TxPaJ€ 4H(!B… +` îZ¥ +h`¬£Jã´8‚E‰”sIrD3gv7ËN"’Ct™ÝÌè²";M’Q¥’|eÇÛH½òŠˆ(•BT3»¯#“6+Ýã|ž +yØé2Ñî¶áIùtù²[´c­äsyt“æ»Xމ«Ô´ÛÅr˜‘›æ!Ë4Oµ‰èš¥ÙPbïþù3Šš_zí¿A òîìgì¤ïŠ6é;#Nú 3oÒ¾ÎÛáõôæÕF$VcZìA”5é›§r†¶©IÛÔ#eÒ›é×µ7^·÷Ò7k +]oÔá%ÝHyÐ aú™Vè—~ɳûgWvC$ffI4ws™ kÎæÎ6wıœëæL/©;[š§r>ôÜ9S±NÏ•œõn“}]Ô"—o‰—Ê´¥\~®ÌŸt!þÒ΄cÂÒ Íç'ZOÙg<«q&¼´K5©.[Þ¹ä“ɳó)§Ý«ÆeËRs¬ŠÊ¯2K«¬ò©e±l^ˆ–¹Ê–G£*[vÔi¤È²–T~–.–(G—䳕³~bZ楻±oN²Ç§+¿RÍJº‡Dph˜nÐ…ö»,I:)”¡œÒÐxâÙthô’†ç1B#!š<ûLZ¦40'ïä†FL“æ!¤aS”64êaªaû~Ì©›Í¥–ÍîgÉ{-;Õ…“̆²&³!*‘Ù³Ž2D§š}HNÃ^¬ÙáÕ²LòƲÊQ¿YÅED3”"êñˆcO"º¡¥á˜ù\<ÌÁ1+’´q.±›íÄŠ†jû\Y¬ˆ|26˜wµš‹YCô •FÚ™½…c¯êü:®òœáØ`amú\©3ÔbÕZ“ `ÁE¶Ö°¿Ì~ö‘¡š™ò=Í +߳ߔI‰P2Çì5Už‹%)!¢áü»šÝÙ‘IkÔLh³’Õ@L™ñTZã2ï"ÞB5z3x#ÕJÒ¨£¬3¬kðl·šKX¢9š!æÅJ˜h±Ò0üô°êb6dE–$ãÏ5bÙä-,±~Ðe:í|WÏÛÏV’¯ëuj]4¬Jê9h[ß~wÚR§FÕ³õñ¬¥Æ¥M’Ã>êà ÇöÄù_ÙfËuØ*_âñC,³Ḭ̀æÙ,”Õ9°5Û¸]…bqÐïôò¤¼üjhƒ>! vÄ=ÇK<ê;pT§fs,‡6èj:f¦e%¯jXí&GŽŽZ“uÐv­´,#™ùç9ªÙ­uŽæçj’P ,ÑÏ2ØÊ³‰1íä–s2gŒU=!7·;ßlNŠ3B6?ç.‰-¢éX²;BæcÇÑSêA3xæQê3“£¤ô'sn~ë&‰Å±4'vœï~¹)“>;›•?—$–“cä¾'·a;,r¥YQ"ÉmdVn™½ ¤y‘3%mX:Åì2–ÔqŽP+1{5Ê„X¿RV‰v©‡UŠ_ÏUëz +‹îÌ„ÓV=[ÂiÚÜ2ºª«6‹g›}ˆð˜3=úUÝÎW"¤"¬zKèhä[¤¢Ó%ez! ]Ö/éBF#oæç¼}†¯Q]½n•š¬Ðp\s½÷=¯ÐÐ,ËÕ?˜výöâË•b“ëˆE±i$e¹ZWdõÐkÅz_M¬O]åŒ óê5—.’øãʇ®!‰%Ööa*Ÿ]Å>Ê„g”tÖˆ}¼ÖÛÕY¹ZíÕ]v’¦I©"ý¬ÒTW·Ë“òÀÊ‹hÄp`_óשæçtÿ:’¥`åM–õÌ»»ñ-,ºËX?fɱµÔljn=iQ: ÒHsTáPÙ­šbDIõiý7£Ž—ÍÉŽhÙIáÉÞñÅäWžYæí^x²›¤p˜=Sv¢ž˜pYL“ÃÆZf7•ÉÐ|øN^ª‹?KWö$¬ÑÓ,“„ŽuеCÍyٕЇµlyXy25´ÐbÏ>v'SÂ4Ù¹õŸ³¾Æ2‡Œã¼åCDvF%¿®B%;â¹ZsS«©PKhÏcfR¦ÝJ~]Ùønñ„”G«ÔÛ»["Ö‘ +?UÓKTõkê)ò³óæØÜÛ9³—Øj^>¥ŒŒÌ„ÌBFFv­+ÚÒÒhäv3_•„ð®7(ƒiôàïò ›£²Yyª½^ÖøC¼[7Ö Ç¤^­Ký,3_ÄÌ£eZzŠÒé¬<ËÆ4ÏJIüUJ“dò>Ê!æ &ffoïû¾Ç2¥Ï&á‰.iÛÙf2ÙfVŸÉd’¤•5˜Ê\Î@óÉáˆG!ÑÈ”IQ’9§*[,¹«laŽÌ‘¤JIg³j£ õ%F‹óHLN3’£K:ºéˆÊ&Vu5®2§òª¬¬¿Ìì†2VI[™”Ëõ")»æ-›‹ä¬VVf4¾ôœ½žyŒ–b>ÒÉ!!!!᱄Ð?gd&ssÓ¹¹Û³—33:ÊkLª¨ªªª\VR5®«²Ÿ¼Æ²®¨G ÒÑ^ŽŽzttt„$E&*2••dbæX2‹$Ù¼;|IyLƒ{~ mÅ_KT¢¼öê¿ÁyšÏk>‰jÊõ™ÕXiÚ³ÑVî oÄÚ;û ºÍ»Ñ?øÁZ•¦5ò´n¼Lš¢Bñ4ÿCÁD;™$[ša§øßÆÿ~ÿ{kšLN/-èC£ËhA›îwvw(h¼‹ÙfÃ3Ú³ÑÄl¶»|2w—b£ó–F>ÞÐ÷:1RQ að(uSgu(u7tò™<1ÞHÓäD#}äЦrøÊáaÚáaG)_| ¦ ½í%†3îm¬ÑÔXK[ûñ—ûŸ…5%¬ “jã+þÚª¡+Rûºw¹gTìe§ð&-Ç™s“WËÉÒÐã{›wT£=4=´3‘ÊEãY.Œð¶»ÄCßJV­kÅš:Úú«¥©%ºº.Õ>Ó, ½Ò'{ëRS£»±9ˆSiòMÓ­2ìô%,©´ûs§³þÅ’òR,–9rŸ\Þ§¤Y˜gÂ/´*Zz?ôœ.Lºô.±n¢ôzÒ£Ëà +a„î,+t‡‰rgu488X¼¤X´šï®Ë#“I29Y¥’Éš”â¡S0Ÿ9â<ļØÙÙ9³bggWS#vø»øþ”Â4©4úpJè5f¢ÖÔìX×OŽaé¶ËVhjƒ]hj»»rYÄÊM­4N '‡l¦Ù2ŽÝù¹÷Þ­Î2®Õ™Õ7”Ì]U¨ŠÍ&Qž©÷MíÈú¼”{¼iÑ¥›Þ¯DbîôîWÅܺ~zæZlò¼Æ‰DÖÖ•T"ÙÙ„tÖ¾LÐZÌÃv(¯ÊêQVµÍ$Øžrz"ê]êYuR·ÔOê/»”ºá3s¤S³¢Ú†',_2óBI#•)•%••^~+Áêù®ZX2L9_®šÅjù°ÚòݪYyò½w%XÍ3Þ®j¦C»WŸvÉjï3-Žáœ] ,w5¥L–(hB&µW³ªª¨¨¨’$KÆ,[W¡2™ÐU1åˆÉŽÊSÕBõ:+¹T •]²²äžÒ Ì(¤2J»L§r¤•r¢$²±&å°F†hd +P#3ds&Sv"*ý>Éa /¯ ÙÈÊÏÊd$Íî,C'ƒX'3è,™É\¥æF¦'W’+9²¸¨äêªNYC9¥œü”YLMÑ呵U’.”šÍ‰ú‹ív3‰y\b6›ÅLسyNÌã±mÛ¶Í•ØWDbWÅ&§ NÙw!“-…L6‘…|C3¬ØòyAò{Û6’]óÅ>eå¬ÕÇ)GB…evWKŒ–±³ŒÉXaÊXï—1+£C_u1ì¥Åœî©$m»gI§É–».MìŒWuüÍå¸Pðøçíh$orÊý(t›\Ö[BǦàK”×™e¦oŽ gÐh¤SL¬´¼glæjêb™åIƒò +oZ¼$Ä© Ž%!Né­#>ɯQ‘!aÍj†$_g—£TÊežô#_G鯞Ò÷κôøÞ Qú×]œrCk‘$^ÊñirD“ãÙÈqä8DWIaÅ.™˜ÍDRþ•ÓMJ±Ñ'I×*çšîJ‘”•”Ù‘*e)ˣυ¬¬'iVibW"J&VÆ~Ã#–œÜÚHNr²C’Ó ‹¬¬L!ÏÕi)/#»U)å(±(Gu?9BA40€q +‰ 6€Pá@ @4€ ˜ LðtЀC¼¹Ú:äžY„í{ãç af/3µABj³u§Ø»kïãlƒçâÚ®iBße³Ð=ôç¨H”7Hs'ü‹nšÙ‰Ñœ¦Hc‚®)æ1;èÚSüõ Ï„tG…§é]q\Geþ‘]YBªi~FÉÊWa’Óê¶ñ’(-%ñŒIG;%{¯äÚÑn$éÐð-Ó†µgÉFìeQ6m|}{©7¯šÐÿºDÌÄ£ÃI*¡Ž_3Óî¡£ÁãÑÓ¨òxW/,#ÒØ_-âá;Êùë¥eùˆw¼³"R}´Ë±YÚífÔTO#ÛPáÓÎÆfn;«¹uÈubÚsëØ]Íq&å^¼ë4«Xâ¿øÊ›×^¶&ª6i?Þ™Ô#էߊ(u¼M¤^W„F5³¦±‘rXQºü±{Ε+k5¥;4¡¬Ë»œ”£“çre+‡ˆÌË©ÆÊ¼utE>š¦EeŠ?L—µ´Ì³7eöa­Rƒ"’Y¢[}¿#ñÞÒxî–”ø¢oŸ—4‡­nTõí¯3i|û“þ¾s=·oXvIð:UŸëìz­•ÇnÝõ•~õÓ}ªÚ ÛTÝsž^ùÆ‹°>Wc帻²99·ÕàiU–s„ƒæeh¹™0çSWÅj3§º’·®»Ï¥E’4Š®}¿¢|'s%Ë +/¥_É’\U!^âÇÒ$ÂÏá']DøiMï& ŸÑ‘ªz†B5èž”gª´~¥—yðІžkJ˃ÏIlÍ͵î¯%¡ºªñL»Áf^Ѥ­y?üÈÑåjüê¬ÂG³ÆRŲ]ÓDÕÄSkÔÉX×ü^*¬ +ú=w¯B}hîž§J¨dÎ †²DÍCJ!¤ˆf&3€ 8 ‡Ã¢!ѤÚ~´žLb¥IÃ, +rLcŒ@$jlûU½*ƒ¾çÍ/,Ía¯só@ˆjýñ‹i×XÔ» +j&¶ÍöP‹_¯®o „·ºä:bXÿÓ›NþO¿´”Ö,åRÿÓÛ„«èÜe<ÿiýK½Ø1œ²WI{]MmÔœ–¥Å®}_0:êsÖiÞíiBüÙ‘Io·ðd¾ùn<]‘ƒD$v:±%ºÕÌsÚ`ßjÛµh¬ŒÑ8Ýb¢>¡Ðö +¯Ù·7mF¹âtshÓÜR0úu·Ù´1XM—1>Yv)šf¶`Q<™iŸ zmâKJ2­Q—?H›b¬.‰Ãtª‹¥Õr¥5ö¥¥"UX²ÎBNtéám<1žäëµôs'¤ZÉ•Ã&–F+M£GbéBÏb¤™ž•žšMW’(ŽÑnŸbhûÐìr RkÄ;Œ;êÂÓ+\ÎÐÊ1?nˆÒ9“&a´=!ÒÌ 8#]æ ×q:èD$µ#ŒÑ[Iý+bjÃh+麳µMÚ"!½zÒ5·=äl£T-µH$Çë§»¸tV:Ž­C9vE,•Õ=­¥e–C_­Ò¥¹ïF.¥J;zßKŸ'ó–L˜^ʺVcJ~ǘ.ÌnS´zeÀŽÓi9ÅT>L9ŸL¯"¡Ès¦‰2cbJS~þL7†qMý&O Û´Ø'¡•ÁŸÀi9´À‹j•,õr=꺇L3L¼f3<ËÓcT©]rÆAZ ÜgÑ +Z½ÓC]ç³ê«™¹€b‚ºòï õ\bÌúiÝŸŠî¿$êRðÁ£E]É"¿ÑÒÇFµý½c WìQ—¤#ÕiÎPª],®ôybêi¬©»éÔ,YæLŸº9€†êC։ѣ*5aŠPÕŠäQUÕ}XEû³j]§Ê\^µÚÄ9;K»XÍFl8gõ{ÆnêZ¥¾+΀«olZé.V›¯&Iç̾Œ“ª®± }õ¸e›Xƒ°wØÕéèöÉÃ}@¶¬ª½;µ6ë¿zJý¬ +½“¤õýr÷_Z¢¸HKk墯ÇVVQsd¶õ«[w@=¿uã=‡+Àhö°µ¡ß[Ñ5µ”ÓWWIXŠvuqúÞuå¥9,®½‰dËÑDB$ÄçuLS«Ãšð{åG)`‡¯1¸¯³ú*FåXkÊ»õuˆük•ÈT8±ä*`—-°¤·`Œ™2»Êaûš*Á +´öx.Qì–‡* ëÎV4±¦ÃgÅú”Ö/åGc™L¬‰c5U$ªûdÏôDF¶Ñ1 «d[È›ž¬ø¨¸àâ” ª¸_ñé±ÐWVc8þ]:!ñæ6¿¬éB…!ÍÅìu® +›Ù/È•±ãb®ÛÓfñœ%ć,’ÑÚw¼IžÝª°[ë³UÉð7Ð %C[n:¢hýˆ ÓÑ0ªDÂÚÈ8–þ{° +Û—VÚeó9íþfm#"Ô¦g©ŽX»FÕêš)•˜tµr À¬½Ë·Ö›Eöa-Œ`O ¶[*“2¶×•-M4·žm#Ï«œ¶J\8+Þýýjal›þÛ¯ºíqøp;“(7˜[ ―¬nѺHן1´6Í[ÍÓX†Œ÷vbrÄorGp¢‰@,$²pû5„n­H¦µ#nÁݲÇ݃q,. +×ß³q¯ÒïÛ{Cþ$I'F¹áÜâN¦ñcÌm˃ôl®¡¢&i0÷¹' ëß²ºîõoÙqt/V”qéžx‡’þéê¸Ãªk§KW7fĸM¸îeÂ.ó²«>îù¨ÝØÁv{·ë’/øÊÜùîú§« +¥ÃðÝ=]à}À[ATÔ +o‰x¡2ñÎoÒˆª­v´SòòT•¹.ïxà›wV!èm¹3b'½ò/õº>(¯‘î ¦‡†ì]4*·×„9†SàÝëÜB8|÷^‚ýÁ8úî<ò}‰Ì‰Jš/d$õоWZÅ>ë;*ÅŒµï)uº¾ïÛñ»ÿ Oè7äA¤1û-|šˆâoiĵ­˜}ý¦°þWÈy‡l’:ãþ¦ÍcÕK¡qI| KÒÀBÓ"–6‹åå|+‚ÿ%L,Np Óðãç_0D<½g¼¬|ó9Û@J†2–½sÄof—iF¸Y3¿¢î~MÀN¸Û +áo +¯©;íQ,\•ššK gÂ!z¤æßœ£†ûÖ0^¢‰À°oø1UËÑá'FKÇÌ®­» ¥× ¶X‡xiˆí}-bµa¼|Äs{“s½6"E‰1E•ÆÄ½$ž©3 I§NÜþò¸Cš€7ūؓ¦ñK>¥õ72뇉(»¼îE½€åŒEä Æ8MMÿÊ8ÏÜÁ3¾–â%²»ÅñUŸ¨ñK¦$ÏÆk\éðޏ1xvUp†|ï/ÍåD<hNÝn@9 ³"Ö:Êq¾G™ûöÚêå´ +srÍÄ×ʱ <ÚÂ4·hUŽWxÙ± Šb£ß#\•ëЯ>¹rLç‡Ái€ÇÊq¶Þ.ô¢‡fSŽu3Õ*ƒãÓ‰±ç²ëÁñ|» +‘ŽËaküvÎ_¦…f8®øg@9åQ‹Ð¸ÖÅ>C)8¦wÄÙïl{Ðr¹ƒc瀡¸±Hºhö6¦§y²{£õ6V½ãØ3ñi‚rWž3çàm\…Ø“'ƒ†KÆ´CQÚ~—NНpêRÏ6λ>Ìo¼vlc1¯è!ï¶)êj.Ðwk|õR³¸…z{s„'¹ÆÒwF‡Å}fäƒ[c¬_o¹Æ§ƒ¢DÒÿRFŒuÒØÙ–2­1U]­ÑWqŒïhlv|Ñ8&â84VñzæŠî‡&,Õü +¥ŸñzÐH–»U²\ ±¢<.ã‹Í–uŒ—Ì æÓt1%$@aœgÍŠ]ò<™„âÆ©d ¹?„±tÍ¢ÁØè^f‰06\Ò§ò‚-`€AöÍ1vcõXv:yI+8é=]Â8ÆR.ÆøŒœã#D±ÅÝâlvŒØs¿c Ü+["ǸŸ1c$ à€*ò\]P3®ÎSæ9®:4zÓÁD̸©ù„Ä£˜1º¹)1ãª[“éVcPÄ”ñZ;Èøî‚^½qCwœËŒ'Dk>/ÔÝÅ+O÷“ã<’†%æú–…2ŒKÎ!øžÕB8O…±CU«¤#8Æw9®LM©Ÿ?¦D¡ Y]ޱ¹çsõ 8ÆP²AÃþAñvŒÏú5àôÖc<Ï49Œñ ;Ânß'Œ™Üut±« +¸5€Jf¡[†„c «QÂ8%ÓúšÂç„q&^à ãú„k7a| ÝJ-ñŶ'ðiš™‹Í›+h.®wîDí÷D¬1KߤڔSí½à\ì¹Ryyœ‹ fC†¿>CÌ+þ}‡çbó‚ÀuÌnÄÇu.n=M…/Ö|7ýŒ +¿] +á_Ì¿êÓJ{_lÇ2j£Óõ¸r Ýåúâ~úBêÁFóúb,oïH¬Œì‹Ïõ©”¾Ø”³,¬}±(QøÅà +Ç-þâ*òqÿù_Lzz‚,¤þÅ¢*4LYôbŠ]<×{ +è!ôâ(ìXï-èÂ*Â.^¿! 1šiM±Rì)ª#V¹ë½Ñæ/>i| °GŒ#.óŒwåüÃøq!Á¿8¯PÃjÕvÐ^Ì0H4CJεî6RS±J”·ýbWwã0^½H#CÆJ‹Q®™ñpy…¢±%'÷j5L°ÑÆ,ú9²ómÞh|àðq,+­|ã§ëú&nßšŒ€¤Ów2Ê7v1èÏò²ºë|cæD f&ö·#Е2¬ö?Æ,â@¾oì7†4ùÂÀ|ÀdÅFð5{u\¹G êj´×ǽ8æÚc¶a”œ(mÚx¢Ç¢I¢&“Õø ‡Ã…²ÕØJºShýj¬êgõ–M7“jW°Õ8V·ðƒj,-Ù8Ÿü3šÅ?Å1c\ïØ9~#y@K”D€æcÛŒÐuÌ8׃Ç2»ó˜ôXJý­|<ƒlêÔÀjjìÇ£¹ üì®ìä¿…]Ì¥@ÂL,hcî i›Áç'¶S¨8Î,hŠÒ +2fs zg—œf !:6 Åê· «yì¼–8uÓãƒv+ ;Ì,¥Íu†SÜ™…>h¨³€±P?h$UêŠ÷>h43š³pR9Ú’Ï-»ôàÌP„³)Á°àÖý„&Öà ÿOhPfZB¡MW,Ñf‚«( +ÍJ²å˜¬vø ÍÐKœ¦þç„~תՌ=¼†xµae…æ„öE+ lÏ„þYQ€˜ÐÉnÑÁÁ s§Ì9Š-`×° ½3:šOýÅ´«¿ÝÜ Š„Ûa5囄¡ïã¶/ns© -g¹¾ZI!¡áúÃø-t”Äéì.V]ÚÐÕ#al1UÞ†¾•‡U³a²’½Éìr(zw¬÷ºÌ‡¥:€‘7ôi¡ðèMÈmȽ¡qÒò Ký‰•yCôõÕîktC#r ¢’ègAeIJÑM_-z¤±’ÑÈC·žJLùíhYß"ÿèsê}s]iJkRv¡#é5ÙhÒï" ?ˆÒ*E +ª©¯´›/i×—/FÇt š&¶ð*Tgʦµx?Åik#ÞÖi_6b‡ž¶rý´BƒZ8\-ûPËBü"Fm‡Ômí ñŠJ0L}S¾°Sÿz¤sJÕ‘Åå`ªëªz”!»êóƒY=túVçKÓœxv)°æ‹bŸ¬­îìoÔ9ën'Wœ—Cú+«þà‰kMŽ’.“ ·µÍ'QÊk8iA¹pê‘Gןk×âZsÇkæ{M>3úú—]³i0ÞûŠ‹ß[˜Ñ% ì7Ã^ú¹šKR[&[ˆ°³bôðoØ«íþAc?¨®¶¦öácçñª@ágVì™ÕlÍ+d·Ã- Ý÷.MÎnËìžI}FTrƒ²²¼6Ùm|ÿòz{š‚¡HoÛF\EV執ç3B~æƒyû·@xU–ÉÛÔê¥ ,ãíx÷àFùBß>¢e¦ŒYDQ›p¢ôíphí|Û¢£ O-’\iÑ·EÊJ^€Ž.¼]›hW¶ÆÛœöõÁœ‘ïo·5. +¤Rx›¨ARám#èª:¼žø6x¢Gvs“Ø»~"ùËñí;†Þ~DRËwðö€ænàí0·ŽßQÏB=ÞN¹…Ktü8ªâmacÆx"°o LñvÁÌ⣇ïx[½¨´àA¼ÝÊòìr õ“·M³¸ÓmXˆµ9éör"™¦÷Üøt;ôŸÿnG˜Áˆ™nwPÀ“Ÿn{N`Y‚ÛðšÕÀ n›ù´°O¸­þ\¯…ZºÀ¢åëAå/‘ ê¶Ÿ&j]Ðúp[d³^}ò× Ãm®}®šóþ¶‡R†¶Òo»ý-¿pÀÚÞ¤Îð±¶Ù´zƒó#ûgmƒ/H¸0ZÛŽÞŽì–°’û·YÛÄ/µ†v­ílŽ­Z(¹;0<kµš+h¶åàňÃeH#6í °Ø>Äô’@hpæCM+¢Îv˜\k´PC‹³}ÄvO«@x†³ auÝ«èA³JÄl0o¶SÍÞ<Ú5KÝ2»ýªMŒý28/–x=³m^.YP^ÌvÉ2*[a¶ãHA#ñé™, ÿ™mˆÿþþÃvQ ;çùÂaaË"³­>ƒPmËݶó Ÿ^4· Ô §x·/ÞÛÓú|A·ýÄá“Wð ~·ñBu1†_èê»]3Ö›ÐwûGq§m|;¢æ/{ ¸c)>ášâF­îÝtÇÝn²GÎ^qrÿ9Iz0·Å„‰œ;Úþ}RèE~rÅ’Ðý$>n³7·kbé¶œÄx¨î”`®ûH1#e÷¸9u»1„"¶-ôÙ ‰wKŠYE“ '|ðî1›" ؃‘¼ÝŰ3ôL¬vw?o4”Û}+ö‘ïn+µñûðéìîÁߵͷ»§_¸à/î¦íî.3eý”w7"tú£Í£Mïî”â¥÷* wwg›¬bÐÊ w÷•jÆ‘¼»ôˆVÕÝí.Í ¾9úîΗéLh}uwW þÛ†¼#µ¡ÌŠkXZ°)œ¼™ª†Þ%‰ÿšýÞN‡å ÕñLüçïU~”ÀacòÿA+f ØßíBýª +Pº«xùïVl”‡"¤mþîUF&’ðïþ×Ê#Þ—¾<Öê;ˆ79ýêCˆ7ÕâjxWWa§ŒZ3¼+3*œüöÒ'Þúkí©r^ÿð^bžñµhiÞÈ‹4— I<¼/[ OY„,D€¼MÑå[†:… äÝ„þË _‚¼Q°³IË2@9ț؉JG¼ÿÖ¿ÈÛWö¨áÊ«yoóï´«;¼ïh!LÆïnʇôØýîet«ºòÃ[ô2þ½:h>!ohT@ +òÛ[‹…¼‡ÑC0o´$‡ +½Ã¹ÂÕ;%ó¤ª÷¤ÐÞ]Lí{oã4¼h»¶ßL&|¾íHGöÍϯ xV:4†ßw„Õo®Ó2›;TZaÙøo ¶³%Àïc xÖPæ÷]êÀá^Ta‚M)ºÇ ^¬8x°ƒð0„WQxÅ;\Út…É‘HìÃ9éÃ2ë6N#œ½ìÃk=¹âÛ¬ï˜Cy·ÉH·Ä{$ sßO´)~6A™Ø1Ú¸ÅÓUŒËG2.õþÒ¸&Û8•Õ“ãP÷ÈeÇ¿"-Gçñ‹Ý©<ÞØŠµòqB²òGº³˜ÇE:àˆ|ôímhäÇJÀá §7KnpY“ׄ‡}r49Ê­þ²ss{9˜fåÍ„½%×ìŒG-#–Ëå#ÏèåÁœz§ŒLqoy2Èug«3÷a|¹l^clšŸÄæ}Ž'Îͱ<ÒýçcË9¾D«Xê|ì¢%*ñbŸÞyÚ•D:Ïçñyª ÚÏKè(E/«AW';×B÷š%½ÇÌ¥(º¸å™2úÊoA +:ºø !ÝgÅš@}h‡€‘ªe H½ÐÑCC†Xоû›®ábO7§ËQî¢ßV+êÖ“°ŽRç˜å©s-ÔÙžê_õt¯zuãêÝ"}`=ÒíÙ“õ8DZ§d–H-õŒä:òZ§·ëí°{ý𯿄“"ì+bÖ·"=Z¾Ùë²”–ïâêfTô$Y(’vÇð‡*µÏ6Æ>®ÝÚàüËöPêì¶i¨ª×ÅL!à®ÄݹëEùa†bÙG<º{fe)¬;mðy-²˜[¸è» VÄûïs“ö­Lìð •½rCñ}»õ1¬'ɽó‚Í%ïßE|6Óò øˆ»sfðŠDx5U‘X…†÷_5Á¾nÄ<ОøÍ`ǯ) ã5xü0Ý5þ¤ñ¹í~ŽÿÜŒ>÷ñ0äÏeÆCËùϸM“×»eÛ€ò÷T>94ˆ²¼Ä^þÝågù2‡y93otõd5ïÞ¼ÿ Žžóˆß6«Ï[²X/‚$ˆò&ÐWIA&ÀŸMI@Ñ Ý¤9²ÆméèEì ÁÄ$á5+l铜~$H‰Býù^WþRéB ÇTA(&W_—õµÌ“¹õ ³àÖ»£wR¢p£»Þ5`5\@Nìã]é$û¬:iöÀ‰»Fû§ˆ’>SVÛÂùöu÷9îkÀ߃î•݇Q¼_ÚûPèµïöL~mµ€ýô¾KuáÏà ¿æh=ò6~˜ŒÇ6±æ~X'„O®aK¤ üßþ¬“³µ˜/‘°fø*Nñ1ÇÊ rð/Ä/Ï¡S¡h› +é¦UŠÑcŽEGÜ_Š¿Ìe²”â»Èƒf{b@Šl¤qÅW#Ž9C9„¯V@A-ŠOÏybüJÇÏѰó_pïäÇn••z|ÚîòyÍüqG6Œ7 ¦Í„&@v‰þ!éŸä·›þ¤Â2X’úZým Ôlëûÿ×§ÔI*öÈ…·_ ”Ñþy:uú*Zõ,¢ Øþ¾ãĹáþ¦;ÿ뾯¼Å¾éýó÷Ùûá4"·*F"~ªÆß¶ýƒ4òד~-ùJÏð“åïE¸j~ø$®ÏŸtøO@×G¿8õÊGýЭ4Ò nýS—²_0i{ÛmDÚÔÉvݘ¥€¿ßÛ™ˆø£å.ö_<ˆÿ)]b“WíÄŽ|!8vù¿˜uh0e;HC–¼¾Ð¿µêŸŒö‰›ýÇ908»¿K“ø­á?&2ÿéUýÓÅû/Žù¿…õ_ÿŠ[¿–[bU€‹SÊL ~&,¥ Š&~L’¾8€vÞ­‘ò~<@áJ ে6ÀT)Øï‡ÀX ^õU$´Öàw-×=(Z…ŠŠ@uŽý +P&†äŸ Äbÿ‡é‡÷ÊdÞÎ3¼Ä ,0Xû|>C€w´Õ|Ô%ýKÝÊð9C+t1õÕØ óLDÇ¢¶eKW¨B,»OK5våQ_ŒõSªñ“–ñyì ÿ¤Û©†ä@:ƒñËÖÖuh¨AtC­Ìž9¡URXÈýÍ­²£+VŠXQܸ”=ëϵ6¹˜B~!+Qµ©¢«;á¯tç¯ç"ÊChék®¼}hÖZf+e†Ý]©¼.ôH«ØW³ïö­Ha*pÌ|߈”ž¨õBÔõˆ/ÖL@íÜç|ý·´ð¹¦ìGçžêâôS'X2Ð]i3 Éé©´ºÖSè÷ƒ®Ú‹zãêúŽm°•Äœ›UØ +¨Ê%—¿Ÿu-ÇÄ@5'äDZ»_L1hi¹¸Ûô1(. RÜ%|àQv_ÂF^eËñô¯ƒgä]M4ômηCæ‚>%ýjö™dÚ¡5wá9àÂó@€û@Gà" øÍI^÷ªQÉBmhhŽ UÙu-ŽMYÿ:+°Æ&ÚÛH“/·ŒUÞíLôa?×.ÂTQðòˆTa°_ê¡õm`Meß|÷§½¾üaA]¤¡ƒ =·8å8”›|;ã¤52–;š)`ÐüI‰GCVÍùP@Òzü¤R946=i6Ÿij¸ùÂJÐò“¼ãÒ€…ý¼–0‘mÖàvÛÂZùrÐÌD%q­ Á{³ Ûø½?@“8° ©¯E¾rÎ{åúÁ$1xã…#‡@ÜQªRØC Ï‘—Øh¿ÝœÄÜp•/kpvLï3*­;a²™¶’2^}Ö%x¢ƒ¬––£„#Ï›:àJòB°ËºÎ÷Z#‚ „Ñ™P˜_%è²G6uÇ„{p‹¦ÂÏä¥up6†À¶ä»rÔ“»ºQ©ž-õô•ú×,´¥`Úm@ü–¼Ÿ©1`wKN +qˆOñ”(áÜW9 þS`•Ôóâß]¤âÂ÷¬œ«b9ÓLª9yg¯É¹çÒÁæfFAaÎÞ™äæNzZéÑXµî\jZœæ,^б*™µÚ¥Ô'Äad—tuKÉî­œu+SQö‘ÉlCJü·'<ûª *ñ°nÇ ÌÔWí‘»EdžþâøS:Ðà¡H@sHQŒ¬Âš<ÚÙûµ¤ëÅÅÂÉ”'Ø IA£\ÄÉ®¹¼Q ¾.ñ‰Þ.AA71ö7XæUì•Aƒ~×Ík@>mÅŠû–O…Sƒ++v]}^"Oh÷¹Àõÿ7 +m¢tÌðßµ¦úñ&®^áÞ:¼A„Oàïž!x¬ìðÕ`ýÈß(\xÌË£¾a?ΞÖíò!"\—ú.jÀ šR ±›-¢?² >ì*°²NgÖ¹òL›en¡¾ZK“忳kÁžt&nS‰fA©&*8­ßI©¦ížl¥EXd£9—ðž÷,Ìá=#²Þ1KÁ_æÝ’·èÅÐi;ÒžÓ§Kž\/Ó˽#¬Ñ#‹áèDbñŸ¦/“J$—òRVH„(£ï5m‘¥™mUŽÜêê­ÁúïíO«2{‹¢YÚL¾h/fuØ\ØÝøÄöÑùÏD(ÂØ ä?ò^j%ºyS=ŸŠx  *³®ÀÁ»ÂUv)ÄtÝÀß1-ƒÈÍTs¨ï"™¨ K«"ÿã­²~îß +0a^ Œ—òÏžei"ØåÀÌ“N>Åd¦kw•ØÌ¶Ž7…©¹M˜ÁŽ k¥d± ƒD´nXˇý¯1 Æ–e( J8²Õ‹#‘ËmÚ‘|ŒáCø•£;(b*•*ÛZ[C0²ç¢<¼„?ú ⎉oØ:‡Äe‘‡øŒ‡ ±ä®RÒ>M/4I#8ÿþ@{ûŸ^Üå2ÿ€EL²ÞÞÎP¸VLv·Ñ â;É:‘ðÄAæa†; œO ½ÊÚR‰— +WO%ÞZŠQÅ’»@ú_«Ù ê1)Øw1úu¢‰‰¡I¦?Ld@*Ù±‘EkhfÀi²LŠÃT YëX©ŸÅRwi+n_žóØÛžVÖ¸^—Ã;Ž#áJÝøEᲈ™Ã\0²”BÙò+ çæ£áNH‚•{;%rWЯÝùè€ÑÚ™vƒk¾X£‡U+O˜'&§â[<÷ÒÆô¢OG×;G´:‹²»^µÒk_j¬7^6d“H±'d +»P²–âq3Q¡Ì@QOw(,ÂÌ<çZò > ÈR™Ré 4{ÑkI¦Ö‡6±fƒ—š†˜€w•hYæ´ý1jF¶bJmLç +ó&ß„â·uë"yX;øeNRѶe+€>A7íüzžð”4“oìtNòÎ6oh:-ýÙQò½`—“¬(´7çp­·±r[ LPŠæ Äip6á6œÈ MšÏÀ”X¾P{O2ŸY=2ðÒª å &¸d«³$Ô„Ê• òRþ‹ ÄI¨â\âu è7½-¸™Hâ®]qµ”Nx]FÄ[_纊:W×ÀÊ>’2“Ç#^TM™ÛŒ¥Ÿ“Ù•õ¹1Àc­³Ù:^<Ó‘£›~F[ô#@T1PÕ˜Z¾n+”äW¥Š¬ ôé¬ÍnØGŒµô{'Œiæ['TèQEÛ‚‚ókQ¤˜«ßÉÈUv–6n•B_6çÂvÙnai w ‡ê¢C.Á\@Ôoo6·ø.è~pØÅi»ê«SôÉæòeÅQ…‡y·d}ä‘6t3({wõZgæºíòGØ-{ížµxR”ÉÞôtBP€÷Bƒ:yöH[öÓe¢P€Õ›BÃO›ÔáØô ‘bê šñ'ð?ůJÍ;Üe!–S¡Ýcl ¢ó”B©BêGŽFdèÎ+eþÄâH(EP‡2ôPBØ…ŠW5¨9€'›ÌŒ÷P¢Ãn ÁìÓîhŠ×wâèmUÂuVs¿˜ÀB¦³Íz*«•sà¢ð•FΙ<ƒè@b!šú¨oûÈT0,À€ã]0ɇìktåF»kv¥¬¢Ú‚3R†îÛN!‘nú‹Ñò±bÐýÌuC$séȪ•©8Éq&ø]‰pçÀIfÁ,eêÍËÔôûHŠRÒGúðãÌ…+”›î°6åaoZô _ŽÇU†Xél"{˜ºöO¥áœ¥V4é“9Ï>Ö&yñú_p:ñgfœµ +h¨¤žD@ñËÐÊ}›Ç¦r–í¿Iªè)Gw-WÊ{'£¤P°jobT&iŽ 6òY¹¾³kp”…mª–vÎ#¹ +~cX ‡W§_ ήמ¡4{ ÚR…–7àYÈ=ûø‰"m”r´­¡SIìZv”mw/ß±¹@wÜá¿è½öaˆX¢5KÍ/ÙæzhÕ«Ž=݆­~^X”2OØ^ûƒ-Ÿ£êÕM Q¯Á’*Wû޹ÕÙ©t…Á˜àn?G\ÚáTŽ_Ùl0á©®ü‚&Æ2kV lÂ' +ºB·¦}QC“ûÀ̲pŸ!‡Í×[ÄÜl@êä­®P¦âÿܲs©§Š%—¡ú‡'0Qbð¡ ¹a†Ö,厾»ZMªLyo޾Ÿ<.VG¯wH?+(›è;¸à~ À,ƒ"\÷9⻢­ÃæIô`dWzîÚ1–þLªdIeJá€j‘Œ»I`˜CÜW”›²-Ìýó3g‹!NR•š|—àzm"æe—àYP‰cüK /ž³P +%»Æ×Yn„‚€g²,+õЏ°˜ŒõÄ©è8یԘ¹Zxˆ’ îœ#ɤ+Oªaáÿ§¤„Šzøôù&´+5ôTÛ(Â}âa\–½œ¶¥<"éc…U×ß\ÔÅœÁÆ*¬ óX7x`JÂLÆ…– §^ýv øA™˜,\Gá€òA¶WÎÙÚ' — i6¯º\g;¼q†ÜÞD”Ó +ËDÁ±ªñïÔ®‡Æß–(rdÁÄù¾Ôñ'Õ•æ(ñÉáoÚåo–‹níu(ª!Dþ€•zu…jµ *ÇÁp ¿Nĵ«ÿ&˜E†Ó)„ršöû= „kÀ£Úý©µ/Ä5.õdL2Æ¢Ã5‹G³‚üø¿.òÛßú‹8˜oµ±²ÇCÖ†•¬ëÕF¼8´Á\’=Û®=‚ý1§?æU´ÿLRš&Tf0§­­¢ð¨\0¼'uñù®£[qP˜Ï±+Ùè'¬K™…‹~m*BcVz¼/-Si8ÓÎa¯t`Cε4cw‘ Š~y‚%РÕð $a#!¬GÁñî,××Þ’w‹¢h˜H¿/*gÖψ~Ö¤ ÛÚ«FIÉLók)êc=Ê[ñ¨–Lò|¿jQ^˜Áp\)3úx؄өÎ,ÏÕТ¶ü=‡œ¹¸eê®ë1œÒu‹ø±DЪ`™=G Bº‚Ïêl¾ÈSM‘:¨ô+›…B‹ñ¬Öæ/‰5~¿Ñ´ éï](û>ý]¯ÝwI*S§bÏZ5v¬¿³° 7¦lÝ‹‘¶›’štEèH-ÀçÃ%…œä˜ßcCõk[Pi M®õPMÖSÁL?•.pû¨åÖæß8+MP¼½lsjà‹z'ý¡0¡srt}•]ƒ9á÷>P]í?R€ŠclÝŽÃMÚ_Öj-¬ý)zcŒÑõË“mßUÐY?ìkU¨Dc5G¹z/ð¬éÀ×%èâl8̓mŠF’ÑÔ>g¥å”¯ŠcùKƒ¡kȳ»çšÎs#Fº„Ú¥MôGžF>erYO˜ÐUt}riTòÍ 7ëê; çx›ÐnŸ—‘õŸå§b£p”?oFa íî²Ìö$Bš¥;í†J2- òiø• ò ÅÛÍø<ñýnøÊæ¿Z¸4è„qAãz1Ò_09ù1‡†’¸F*5¾Î9¸ÈpóÈؘ+"¸ÛL×Ãé§ð¹,|¢˜fB-q·XŒb\áö4겜u©!·Ì•ÃE‚§Ðsš4./[àie4¼1…•ÌDPêJ§JÂ=>—›¥Å}ÜtØeÁ1å«]¶†(>üÚÀu’p8ÛE9þ½u†9ÑwTqÎcª]<¶ +_ +ÿ~1ƒ$K«–yÏ„³sð¼=¸ÒÊUÜ¢G㠉ơȨvÏ^LM±kî?ÌèÙ£üW:•<±³Õê‚, œú~*-%k»ü¿ñŧµs+{ž@» Ž(.& +ø;gv¬Ô«¤—Q“a„1+höDâ%°±bi<^Õ\àÀ«ÒJÁ(¥ön'ôM…dšËµØa?¶!,ň± )ÙùESó¸£j÷ sÞ* +Òʰ»æ3 RL¨ÅØ›!—’)»†ÖŒ¾Nsy£©Ù@h…¢¾ FQÙDh·ç‰e-»Ã™ðÕ°‚DÓ¸5S I!_]8­â!–¶Ž“¦URò¸`r‚†"z´ª'”ñüÖ“zšeKZÍí~­èbÃÖ¹°S›Ì3Nö“'ü©´Uo>:=h=˜ 6D6™Å ”,Z8¿bë£Ue‰ŸdàÉÆQ¥3’læ(²í*ÔëcžFvg¬å+œT£ùlã³€âwuý;â·ò:ŃXNZI–k`OJ8W€YšN¯ý€ºjW§aéî|)!¾* °9ņ€õ=7M²MJ%Ò[ŸÜv`rtÏñáÀè%B]+UÒp‡îJB̤]ø#ŠóÞ ‘Ð:OM0-ðuëUGE F𵕕Î&êU³væ;FàŒU$Þ~ ½}>çtsV.Ú˜ É« Smd£0®ŽœŽ'niS.Þ£¦QS›\Vðð~ƒÛRˆSÉ’a E'LZ)Höu1ŽŸûbY‹gr×Ýq~Ää“BQr_o\”f!˜Ñ—»§ËX_ËÕ•Sí¦I³%Ãý&#ô&yÕÑ×ì0ULw‚“ô&aBØz$N2„ŠèÅC9.5YÇ’ëßä*t´uzß pDYa Q5JàËìD´ºÕ…¯·õ$ÐvùŒUÍøÏ¤ÛR^?•fP(›NŒ¾­]š/ó0ÂNùµê…¥4 ÎZGÊ<K{=ÿ!ÍÔ­ðÅmVX΋‰”†:•Šh-2ÜÍžqcÂÿGXÐxB:nV|¬ìAqKÍeX¡ÛuÅXï»-.dFÙx“k¶OsªƒïÑ| P¡d6§"Ú"…á—l¥º\ͦl¢£˜Xò‡÷áâ<À“¸×'”É’i¢!“¹5Þ Æ0ÞQƒQqï•–«Û.óEqÕ[¨¤šÀK’Õ,>B#X /\i¯,!¦•ŠÒ҄⋟íã éÌu¥ïTJú úúèp|8É‹”$hA(º©³’Û?ü*¸õ8u󽺎ûÃ+Û_æ#[Çùª4‰ËñŸtty‡l:¢Æ°ú[¦îÀ} ; ˉ'¿P5a)Ä ›,ŸÿV‡i°Î‹áC°íÞ·­ößôÝðOÝÞaÅWã[HtÀ¬„ØìàFÐZtã³û +\^¸t-¯FÒ›IŒ%L”‚ÉÉ{»ÏÀËp¬²1\1ÕŽænQ@WÚm‹•+­K “a° àTòsÚ#Œk& Sp0ÒÞçà›Ï¿! %ɾ1),¶œâ´1 +táñšÂ»Øu¼†“˜Hìµ/ÙÍô$Á‰³ÌÒ„Z˜ƒ&ô†@ˆÂñËãá Êu¨®j§›ã·Së;azì-[D((DLËæob%Ûê±CkØõtXØþ 2Æø3¡Ïöu=ØðZòX+˜„b7D"ÏZé#ö›8•Ù¥ÑAÌ"·3䢸c¹y;õÑÇca§†‡Ó³G—¦u„ÏB£‡‰=•bó&zU§R~[à[öCô|HŠœÊy/,ÇåÇ`|ÅñæA—‚}áÄ_¿‡–ºû)Q3oL¯Œñqoº‚&ܘ…UK®\?Á[-Æ™fì­Â*41+D…B©¬k‰=NÚ Ì/eÄK"êæ5}´ãŠÕß’Åôb²•w¥ÃxxÜh#v ±ÿ +w¬M©”’9}ì)Ç&eö˜ù™‰<^컨^#QÑõç¦p¥­£GæF¿ï?,Ùiø§ötÜfqEmtÀï,­Ó$žÍk™Ý}ý³·¨ïê¬ò¹›»zÃòAm`J^(iò…¬‰8ü18ýž 'D[¬œ ¢Öz­±<²\)¸yœ ]ªî‹0ºnÐ!v^/ÃÖ¹þûÿh¾dQG.?í=œ ,£Þ96¸Œ{¶¬èÀª £‚ö‚ÿ|æX³ Cµ GSqcO¢ VŠ—ha ±d/[],ÝÌË!sqoþo|Ö]"—g!ýÌ\Wý—V|vn@Æ>2,#W¶ÌPÄ+L/›ˆÑÐDÉN šÄ! })KMŠþ ÊüYgGýr䃗5A_Ú¿ù ¤ÍgÉìÐÐr¦Ýb®¹å+­œOÔŒ³‰êUÎ1ÛìB¢)˜¨Ü8¥H7þ2ŠH±¹“ùím(CÞa_M'øÙ!6•‰þ˜„Ù¿L¬oÑå1³}Ž«+ Oé8*‹!–JD ž¿–ܧ#‡ób»&™¥[XBÊl¶‘6 €¶5Y°§fy) ¨‘Í– A›™³áÿ p½s’ÕôiKI)i]ù¤Cy× £^ŸY“+R¥ÔD¤<¿Â¤ÛÓÅ u-Þê ªpOô³×ܺjdÀJŠÔ­p,ôðhÿª‚Wé  ”éQ£C½&À“:ÓB×EžÐ—z¬ë×Ô¾ •Zm8…¯}%bÅjô}:sÅ‚ÞÇä_£ö9l¨­†cºÇ_ˆŸÄU?©Á9tè.΃Ðu`CgÐ[‹ Ò»È}4ЉBöáwæ» ‚±ayè5¡“@IÁæå¢R ÿg†è_i€ëjŸL »Ãù =Š›QµD“èÄå žSýi`-±ÓÃÒ…R‡˜_’ÃèO±6C€vPe Ì5 Ir€ˆJüe°È3ZîÎèì½Ý&E~FÑåÑÓ¡”·W)bw%øä;ç`(ÊŒùÉÒ™ƒŸF …NüðIj´ÄUÆ€½š„s¦P., —%ÇÂßóg±W¿ÞH%½ÃKdI–Á,C°ôK ̨¹20#SªÐQ'$d2%·Ò×€íj‘ ¹_W+™ °C‘W§4’)ö‡2EÊÚÞZà*Ó?€úÕ÷±)rR¤bbo4…X¯ ¾GÁ%@IÄ껞ûoàPLõ¨n)F…PfuÂjyr-q”†®ôÿt2ëQ^Ü„æÀÿÞ"i|þKyÄm ×8Üúµnїп*õrqî>ž+PjzžÎp–$2ì4*è)¸>–Ýçz\AÐ Ä|›—B?¢Öhò@p®ÕäZ}‚`œ:‚`åYñ¨¶²Þݪ(©y¨-1+¯ÕXÄØ+סšLäD¯õ†ZSÑ]ä4ZÇ ˜çòòè{CNQÆÛc2˜ü@0®sY¦\iÖs·Ì/hsË*Й¸‹Üª© ÇóÛCÐodGa`†ÙȆp¾Ïå‘»dô'ʶ¤CnpИ?Cgvº¹"8Ÿë/;àIbð2¥N&efm8õJƯ¿¿„FÔÍÖÆÙ²Rðz”1…{W¤èIÉߢçñôþˆ{k"îƒ&Þt'.é@¬€gÔïÙ6ßÃìbjqìZG¬ù¶ ößÓb†ûÌTO#ï¥"ЯÃ)ûrs[Ó÷ÑTbÚïÅë +)ëåƒÝA? y³‚X«ë—ªÃŠPkx×Õ:ø‹3¿BÔP”ÿÕ’Ð}dJpZŪ¢ç ìMŽ©y„©û& >/½Ìš!¸/ góþIŸIƒýq˜Ùý9Q~Èá`ÉÄþg¤wUíP‹\cþ‹5Ånr¿RB e§÷ +–ØÃßÒ)JíG bÌÍË‹ÏQ™?pOb. ƒ.¦$1Ç,sS˯J`®÷¸›yƒOª#ñ~ +VŸ²E|w`F,m¿`ÛKq;´H•þ«ût+,]›…KÐWSå,}£'D›Õ*ãiW¡0ƒUY)§Æµ %š,Þg'rÐ+ñJÊ + 6ÎùHàãV¾m "Ñ`)Ýi¥Ã}•BŒJP§:\=f1Yæ+ÅÅ›°õï·y…ˆppëê.îÖˆ›Å+n'ˆyuµ×ûýÕOH¼è9¾?U€¢„!ßèw®çV¨ïB˜6gú¼‚a>lý²;eÉÄòÿŽ(N›iªæ0C¿é¬co +gf› W±#s| +ªø”¢Ážíw>6¢SûJôqµˆ”AÁì3*¦|£OW|%%¤g@F-;ŽG ft•ºâRis<ÖÁ‰¿‘žC°Ö°R‹µ2^ò#¥n/d¬ïrU!Á˜¢ /ñªØ|DnèÅ>að“]¿ ¾—y0éíìæÖ…ý 3ŒÕs\ŸA¼yoÐ1JÅT Jþkýi`ˆl¨Ê]µ©á|ÍËMš†ªs¯hßò¾#UæõÛ Ó„m3šN´2m†|þÝo\OilH’¼õ¨}ÈPº[Z%ìgÄœÎÎktk22—äãA¯vQ‡â¶ŠÁ:ø¬‡ &ׂ‚æ)z¢àªj\XÖ©²‚ÉPÈÃÇÇì©qàF*×-¿D /,6â|¡ƒ°5)i›ºë‰½¼ÿ3í¤œcb¿š­8Û)8¬}sŠ¢íÜl#VxÉ zI3ž9ÑK'óº\"uì"רüøkäПX¶œ‹iR€Jt¼ÜVÓßžò5ù¤üŸ†;†hxɈaS ÏÈém¼)Pˆ)zÖΚŠFua9„`å;CzÍkõýAßþõí6ñíÉÞf’’ZÛN3¡•Vã¤Êïâ* Ž%÷ÉÏÒ*[fžBË„j2g{HY%Jï”èÒÅšs>|³V§l졌mµµ‡g `-"lgêîë;6½R7Jpqrb/­Ææ§öšüwY¯Ýÿί@L‰SžgG1yÅ8ŒÚ2öD¦iÅ*Ñc×µ¶ˆf]Âu\Ç&):(؆I"§aç.¸ª£D@W`sK{·@¤E!—œÕP+B@L·-.Yb¶=Ç ^ª%j~y‹÷@V-zÅ÷§/‚U*|:{ôçÆ YZKãõVæ4jî2¶lºã2f}!H³¦]ꑃLˆ=*P•î"74é¡y й*„R1!pz¸.kR¼º²jÑ;¾ÿõE0o!ªõúcI+‡Å^´'c¸2 5Ç“ Ê fªS™¿ºþªÍWà†ÏI ÆÍ=°sã&`QþÌ4#%4Cx†ª²l² “ì"›ö„oøŠðVdì•Ød±+ÕªK•FO²¥¦•S¸“.“p´CùšØka¤=É„1w=ëOU eQ¸ûé¯éÏ5ú/ûìÓé00¶©ª¦ÏK¼c²w2NıÎÖ«.Ö"^%0@e4e &†”P†"f#°\pVßv‹C2MÆÄ þ„¡A¾“&R"KöÒO–¢HEÍýá÷?jvb±›y£p¦Ù OyAU˜ƒrà—9‰#Ó‰ZR­öWÃwxY›¯m’ùˆªù­@Æ5Ä·„«TòJÕ6î£mÎ_6 û‘âÄ¡êR I§bwøíw-ùXÆ„vÖ’áVG?U±á %¢&4F7‘UqîØéÀ‰4»o¹ïïuLH£B8”©ÝÆÄZZ‘KÁÊŽŒs“0éJŸ"~£Ñpe’vÅ›76$HO˜øä~‹•×p&©Æz.ˆv È;Ëp6 NSo1à2NÏ•Ì7n‹cí=…züÆUWõªþ<ôA«DÔº}M ¢WlÀ +û;‘yÿ¥añ•˜lуŠüCBóÞK³bª^¡=7¯Ü‹¯>H*· „ËZÌ–/BºóŠNVý†IzÑ)þuX¨F'id»ù¢WhôÈ2Jª*¢ TœÔ5C“Y•x|ë§ŒÿÜëÔÂ?ûÏYÆÙ>L†GqÄÆ‚ætµ¾ßj­ váxiN±%7]ùdJÝÏuø/=þçoˆé/³á +ÚQ¤&Dz®dížå¤}ƒ†‘”Ê«Î^c²x¹ÏÚÀZƒÃ2¬C@”ªêÚ÷D-úì4q Pi©ì„#n×SmoÙÝʩºg(Õ¯ûÕœ^ŽÑg3úA~^²uwžð Ü êáí.ë—µí5õÈö&V70MkÏ@µ/µójÏXaÄi©w4K&ÍLÓ=ÏHmßd´¶[ESŸب_IŽiþ¹xŒÝÓªâË. @WF2Š»PôÞ”¼§ðS Qšé½#Ä÷Æ# +¿÷¦ÍÁäsJµNñ‹Å‚*“Þ¾z¹»Â„¤X«LiOT/:øÜðÉd –]zE†,9~‰œomÿ‹F6 á¶FÅf¢~ÝȬ˜…ÿä&U]”Б:lB¹Ô¿O Ðî/à2ÕÔ9²÷1›!ƒÜ4€‹zA—½2…4&þÔ(¤¾qÊ~#äôG˜«@¹è}}à º<•£Ú®œØè§ ^—ű >›yh³ÆõVÑê’ fiŠ.ãpUDMJ¨Ã°Šr„¥At ¶4ê*70k/ü—àÔܼtPc1Mø]¬gð°â×»Ù‡!qSÏéSŒ>û"†ßi/¥ñs³0jt¸ÇžÂ1%Î,™èÿ! ïUWBm:n¾E¦lN¹·,‡FBµž.¯¬½š`§€ y/p'Þ^Da@E;¹n¦ØÜ4Ÿa{ÛfÓ®†p€ñ ZÿÿOTѲ>ßÍ +VõÖ¤œÈ‘Ÿ?1X }¬O‘uÀ>~i½bã®xqje§×mØ`®^˜™Y2«öÆýiÑ¥²ŽøŸ;×ä„ì (—>·yéù'²zX±Rl#è7Âà°N¶@[¿ƒµ½Ã³Ž  +‡•»€1„0)µ@ ^ÇŽ± 9ivÔŽhî¨pit$ÐÑÈUádôñú’=ªÎÁôÄE„Œ”*'ð®°g´Š±´~ƒpOÍj© +wè°R¯òø˜Ü-1â¶ö f_·0 Rèèñ?lv ì"ü›8’öΣ›u—‡.3x›`ñ„m@ÁÊä¬:.Š”9EK?EÓ;ö4ôõ'Ów ‚° ¬•2í§,’{iz +¸e/Æoñ\ΠÔ—oY´Hf[êÄòZâóÛˆ÷6-m?.]„¢üL?ûqî6{ì²q:Ù}ú³âÈw˳—ÿ©8¯´îe°&Þ×#;¨XÒªD=«Šöš™˜<l8&} ±Q0ùâI]Gr ?ð¥D9»ÇËÞ "œQ¼4XRTO˜#­Ä¹§P93d…åÕ$£>Š&ȬJ†ŠlGÂàÓ›«È?g/™Oy¯œáréiˆ}FÞ-wáOxM¡Œ8©f,GÚu Ð*\ÃJ½ÊÜ’è¶›ï5ÐÖs8ïÎßæ÷¯}Jñ¨•›Š~„ÔKIÞv·¬b2õæY“¤­±ùGïЬŠetŠB»´2ðìT“[†³¹éz˜Ê*@ J¦­+§*'iÊ=šW»WaÐ +Ùç™ëUh±k^¸z~üeLxo$ Í~¡ÆÏÚÔk[õ=–ß;ogç°R¯Í|Þ0Ÿ ÏÍnD߇„UÈ~È]@XoMtÓç@r6E4¬à« Ïtû!«’XÔÃøk(ã7TCh7QØÉ–vG)ôq°ìLhHàÜlùÆ'ŒØ¿N„°¸1„¨ƒíÞtoƒIáëAÖÈ +F÷£ä0ç w6¶S?ͳM›*¯ÊhŽ…¬Rü§¸ÕŽšL0s '˜÷Pv*iLNŽ“u•jXÿCxrªDâˆ&t¤ƒÅõEv•²s +aƒFc4áq±â†z_Cö+ï4ˆ[® dÆè!& »\}ª¹Œd–€K˜¿UCcò2¯\ÿŠ2z(ÊfaÄô溂䈌„þ™îR+»Di© +q~´ÞN1¢ø©qÁ^Ým²]uVºrZav4¸TÀe¤£±L6Ys¸3å6TåÈÓjì2®—ÔØkÂPÌCUÔÛ{$º”³ê„³³b­Î§Å™k³91ÍïˆÃä V©¹Lð¥\„¼ehxôâ!Š7¶ˆäcÄ¥‰èŽUˆr¨9*m@Û-ÀÊZK‹nà@ÕÌùȈ_@ +œ.ƒ^O€Þ*\JÌNÃ(áaªÕ-Æ2'\PI@^Â,E”…WO8„(ä(e#tE) mˆR^~…{ú‡Ó +´-||ḠüÈ+ÀÀA}<ƒ6ŽäÞC cÂ8£=г6sà›?¯Iwî´$¨+á¼>*Ñ81Þªw>×<Íè ¾§c›{ödœ"ÔN¾OoŸOIc$ÿçðTDZŸ:e·B>¸c¨ëËYëﱈŠ÷á˶/˜ç¦ /@úÙÿ¼Ùþ…dÌîÈÞŸóᡇäG~ã~šWpœ[eŠA›%c§™jÁÍ{·`¢Ðùô—3˜#kó86ƒ†é‡Å ýÊζ=“WV‘_ØYœ`ÝFw¶^K3X(le“µ†y°¿Fÿáåªe{ŸÞ×v(/†jÏÓç…/Þd ³\LÍÍZzpÁÒ4>(í$Ǫó§Ç#ÅW`ڵĖvÐBS)l¢Á°*R³¹ÑWéâ[n»Íí¤HîƒO­üDiºs÷ ¢>*’|PÚÌ9qÖ¬Cõ“vó©zR¯S2Û5ÀH‹4îµ3ryñAxÒó“|Ñcžwy9vö8z‘ߘkʱc£D7 [Ä‘<èúa_y U Œ’0Û5&¦Ùÿú_VElÊŒ}µâh-î_ÿ^!÷±Lz–§‹J2ys¤ƒ‹,á£%‰»%Iº¤­—t~Iœ}ÏF¬µySÙ–ø3f]¾í™m)^R +àÁuˆÛƒÜ˜†Ä ö_13±à¨ ÜhkL"ð¯*Qú%{2%™'¥n ‚÷ÀÚìñ,Eý­!û…Þ‘}sb\yÙF`²»ÿðK†;}Ø]Mgy¢å½áóbógk¿AÁÙ¹8›€sd£*&,EöójNÌYƒs ¥ ¢'ûÕs3Õd-²RÓÕ„%XúŠŠ~|ÐqõëØŸ&ôœ ýäÓ? œÉA©=wX>†þÔà[yðêßEŸBÿÿeæî+ĵ&§´ú—Ž…Yâ¯7øÈäì>“• ±/í¤4néœI¶ö_E2»-Í'ë<Üý£uÖ"ïÀn2z³(~´ë-Ä‚7Š»/ +q`„W±Šy »×¸ -b­¸“ëW*!¼Ö‹Þ }”ŸÇËz‘æ÷âÓ&\<]³\ËPŠ*ʵ:ù–>Xj0uF$Ö&Ú±VIbhê!rÐÁ oËÇ+:ÄZ» *euž±ÔPI¦>‡cþÐq‘5â•qð4¸è%vlcZ¸ýlA¶Âp³ÛÙÌð7‚–j!ŽˆÊ×á xç0Ø8¹Ð°Â$1aÝž7¾óŠ-a !)× <ï€Ç׃¶Ü1Ä\†Ã„'HëA‰5¬˜Z™p¼‚D½zAèï¾ûYÏiòÈ/ïØY‚‰†Ýš~ñŽ‚‚0D>™›¼iZ\D¦4ÄÕ–áPzÿ6¼CÅ}ÞYÎ-^š  +Ø„ýÌ[˼(œÎ“KˆÎ.bËY–w¯òÖ”w‹ò~€põöÑ´|IÀ=| ÌP!(6„0¬$«JtÃù#žqƒæF9.ÔNÜøhZ#{†uÛ¸ÚkÜ tq2Ô¡ã´¬J;бƒ®8Ýš›âTQÜ7;óN·¸c•vf‡²``§<{º³Œœ“NáÒ'Üí¡˜{ýàx:8‰Ø±lp'ƒËؾӛ/»à2©àÞLn¬’cBÊõf@ßÁa·0íôª™liÜw/¥"ú¸uª=…á?3‚•€' ] [ÆÒ6(ãYñö½k"lõ½ä„Öû't*qšÀȄȥ8§"4ž"Pƒ‚1£&2ï¿´´¢z—| ʧyä„ö×!¸‰û÷¿í+f6EF÷âS߉^)– UZ0¥;ñ­#dŒV ƒ&.E×Õ›«‚7R§ëôztÑР󜛈=޵‚¹¡±Á:ÃGüjÑN謋¹£BÀpÝî1ÒP,WYi#αOIÅ 49§aEw¢oQÛ£+•ÙÌŸƒ¬‡VLÍÈ:¤e:éiLäºä* nj(µMÿÛ0¬ÒìA©L4Oðl¯SI ‰„ #¹4’\ÛmÒÚ £äL“\ˆWüÎJÈ‚CéîÁdhz’¢“x9I„“ä[°IƒX IÚLÚ‘IWL: ˜´à’¬–ôÁ’ÆVÒ$•tJIPÒ¸“tdLÒIúyHHImˆ$«¤z Hzô‡#39ùãÿާÿÙK/ö™J¦ÔÙçGÔ¾÷¾•^AÖK¥oaq{z®L€5ü~€i}¹Q…Ü Š2ÞØ“£/öc8>›Õ‡¬Ó}|ˆ¿„zÏ„"à2™KNÑPoB(|+¡WIÉïA‰Å1DÏRDd{@‘&²³%ÃÀ­IùƒÈŽÌë#bd0Ú Ü™1³úÌõ1‚7 +<Ü”…WºÞ¼6± OLœˆ*<æOWa‚.À¨€Búí/¡E½"@ÆÇñQ“‹"q“¹6€Ï6või’ªZ5#ƒ/[€,©[}çüò 3y´‚mÀsN¼ïÝ•þº  PµðXG—Änäò±ÒÄ5P?†S‚M‰7[±\Z$ÁÑÇt=sw?ûèFx~&‰â>Ã9–“.#9|ùJR¼å óÑÓãY«9ÓqüB>3“SÛ7%Ô§Ù¹‡¨à¼ºÕo$D‡áùÐ! U Dl +@=P· }ïÊwL–A*úv ¼Œ¸KÛ³¾£/Ö+, +|a<€ê…eÑ dàÄÑ4†Ç‚í€éë‚J èbâ +çâÎ\Ä”ráí)(òŒ xä‚ZôqCH*AB.®ÌÅT·¿…Ûó´¶}ãÚêBcVò¢Ø-ï_Ç{ oüî¯Ãv7”ihuàÜåh®w<ÎÎB t¼ÅEeø_Õ¥nwxºX´à4? qX³æ¿ù|2ÿÐó°'ùjêr9€š÷Ç^\Fµ8ËuU¡ÒS~0[Q•íp'ÓvóSZám½žý3Û忲+Rý øêFDø.ð£øÈb¬/Þ,¸²,Ý!}ò·³¾Â¯ÍŒÆ3‚j¿í|¸ùDÔlj§@óÖÆpN{¡žþÿÒ@§È$zìßEÞÙ432Ñ…ìѱ;—lîÌ<ü~4:í2Ö 4@M¬`Ý/Óá— µþÖazäú?ûÊÒ'±­wÜàú?Ø?5„õ™~…hzYÒSÀ?Ã?ŒZ «^‘]·‘, ËúÀ>ÂØ'ÕÝrûûõ¾€èzCñü8ÏDÛÍŒ *Bã€i>ˆ/ÛZªÂÒ½Èå DâÖ.`ùDz­ÚKY/cÞ~‡?±Ðˆüü÷OÓE­v½ò…ÑÃX ù^|õ÷°îXqnªM•ÜÐ +{(G¡©¨Z†‚ ÊÝý¸HØþ•©_&†=Ô¯J‹›m-Š'­pc'¨ÙÀÓ4—c ™!wH2ÊÛô÷ öÖÍu¾ €M‰1þŠáñˆ±MMN¤5Κ€Gåp„µ2x¶%¢—cBW\—XU*³~›D:>u&—,§©¶O”€~ôž3ÆD¡ +ìÛ€=„ÐÖ‘¶B=`ÊMã¾-É3#³ؾýÙµ‰MlÜÀCn"Êm +´bwn-t›Vèu©·×Âá[ò™Ž÷¼x‹5·È;wkê+ç5o¦Î‚Loœ ‚ß;ÍÊ5­¾ÄR¸æ€Qêd€ˆ(ˆå½ÅB«8« » žcX<—©¸Hl`v%¤Åg¤XpZO¶°{)ÕH5ú¹M­qdWˆÿJZQ¸ i¡ÐÕw:î¡åKÁÆa*ù«—AcXôüK× @ºüO+\1Jl„’Jzæþ_çzš/óÐ•É Òó:ŒÔÁi¡[øç÷¦&d ªïŽ!í ~ƒZl)æQ/,w÷ÊÇË$,ó¨ +9ŒiX„\áîôu³ÄÁ¿‚¬aI©Z†a/{jÇã5zÜP0L]Àí4Róň½}}çj[òÇdò?6¾^K.„b«oH—û ‡0–(…’ûÆoÄâæ!Ì£R!¤ñ¡ `¤Aì€sî.œ dKtêd7›,eÂu¬èÂà/ƒú¸áþp$ÿðìÔÿÉ*@¿ŽD|q"RŠ× ¤ sOP—ô©Aáo_±ãcÃO¨7OSc·PXÁµ„À¯µYZ}`xö–z)­ 'ØwU ô°1eh¦‹üŠö¦†,d`ÖD^²—ª’Àf•6ô˜¾hËÿ†x§¦ÿ°·®oŒÉïÎ2½@ ä–f9ÐÖ›¿“þA­ˆ‘±>¡Ý`ˆXkgÅ!óx»—¸ÜsªVKÄEèò}þ+“†6SJÍöâvŒÄŸ¿·<…ʲÄ{ ÁÞô¨·Ì”Þ«¾~¿£¬»¢]bµ?ðª<ž —­QgC ª¹ I8¡Íõ*Y!ƒA³»Æ[òpFÄYɧA–{Ø“~³éçŽZš®{g½9Ýu'p$ª7Vw²+g´’ÆI³¢Q«’ŠBø+„p™T_%Ùqe7ŸîÇìröüêJû'ޙӦ>/^èsÝ+Q ahñÚG¢é-I¡Ú8ŒZÃ%$øŽÛÃÊÒœõ³8ÞuöcrÞFæïï‚‹ÂùRßtH»úãèवª"­õY¾KrŽƒž9WZ>ÀxÈ ÿ`ý÷>b ;r<´ +0xŸ¸±Í‰FL‘xkD§Éánþ౫ø¤®ý +¯a;œdñæÛ4êÜÕSÙ&¸ô7óéG„ÌÀ³ðU"Œ…v¨f÷üçjÞYòc ö:Ô+R6*v~%-ó +_/ãÖLs¾PÎÑV_ÿä U믓¢jùWïÔñŸà9é§Mý£=ðü; +¸fQ WRé&þ‰ñ>º´lþ·‚)e’)¥ä¸$¥»7ûRqe,Þ£¶î‡êV‰[äNz{ıôE#½=!‰G‹]ÊÔsßr²øÝß•ÈâqM£Ä]'Ìcö 1ÑÕ{ “?*i‘r‰Ù¼z14¹|ð‰Xf”OÝ_‘ÄžYæÉ­PyQÄ>nd±ÉŒ'âER¤ªŠâ#N\…ÈôR+ÕHÅêïâ×½7üÎØ¾ø="åF½bÆê„'©U—ò3› •úkŒ)ž}u^œyo¸‰Wôf›ÎäE8 ƒb"Û°Ò]ZãXÌŽ1JºIO_o—•ÛGÒn«mÛeŸHaÛŽ¡8½Ìã2V³«ñJjd_5Zs‹ª¤¨æu6Y8Œ,>ÅOI=ÎP2‘¨))’JJF£bÑâ%‹™¼*âÐÂm|d4ö×’ø{uFê—’2¥ä+›bþ™MÖ +_Rókh§Š}3›gJmáÌ"Ÿ5FRB^<ŒlÜèA/4•@2¨dIJSM’stí O”ïžRÞ‡=²ZR¥ØhÛÛ5& +5Néñoây!ž1Høa?º¯J¼BOKTc>|L£Rå†(›­„U¦ A‹”\â:8x—7¸…o!Sœ$N.ÚDfPFrñJIÌ—¸Ë3ò[š½”Š™ZÍÉ –kÜüJi1~Qh&N9•Ò¤´Wh´ MBÊU Kp•!‹H™”HLÄàƒä’àê#óxÇ2’ ÙaÝquv  ŒÔ˜8ü.¾òz‚7G1ï—ü@ã·±kHuE ÅåbÇÌÔº>¤‰>¨AÈ5j’„\]3n#͘[V…†Ê"êÌ)r£:3H¢JQ­(F˜ù›.«†yrURLõ5‡¥œç•¬¹HzHÚˆŒµ#5d¤VªÖ˜¬Õ‰ES{T­Ssù]—ìkdé$…H4–i ’JKYªÉ¡OJÄÐph²$ê9Ѧ›®ò6%Â?¸N:¯ñ™0¤jÕ¤æE +Íš×794 Ó~ÎT¯Ocè4£ÏŒFæ_G1"õõ¾W¥–¿+Eñ÷D„øŠ7Âx ’Þ VÄ{?^Çqu5$¾,^OZ÷«ž ÕûÕ ¿ñKãžÞÁ‡t¯ ­C"1ERäŽ&ÒžN Y‰Çá(‰Ô÷*‘òl¤˜ŠQq/ËbŒ­’Õ|§Œv)øM*n‘’í¶%h¶¥åzBô[É*‚DŠV¡)í“ÙÄ0[ŸHͬ¡“cdT'YhF¦³è¹y\|÷­W£¿êM_of¤*ï‰Ã·#^$‹ Š¥Ô×+îÜù²¿íoÇ +¢˜ÎS7®éT¡\Ý[§(Ñ_;ýE1 û…ÄúkߺƒVjf”òi1yô.#RT+תˆ ²¼fÎÕXè%BKIŒXQ RŠÆMZcí!R+ǨCvÇdªKã04%‰|Å™*,£±¢"4 +CФHz¹PüÁ +œ ñÒY/Q8mJý¬Ñ*{Ð-õ˜„ší׌ÖÚdŠ7)ö,B¤+Šw6¤HR_ˆÐlÖ ‘ç4þÊ,ÙAV´ÆŽ*JâTŠÙaµâ3® šð MLl*øi˜àzzŒ¥¸i” +Ù/ÊŠFt ±/Ù4ÎȃÇ2:%Nå>šœmö#/r‰^h!Úd£)©rl×XrÓ Ž ß@\~Ábà›B´VÿMA‰õ`BÔˆ ;( çýË_'¦ž:3}ÍEŠâó?D¾±B¹žöD–7ª06òÂ>^¨p!ÊaÆ€Û< ÀÄÃQÁ ¹íœZz,ÿHzHàÅw°&ÊÕ¹YÁÕ`fj«Y³(©­9ˆ“ÄMKÒ®­ Š}P„8M(x€ HL:´ù†Õ¼T¹Ô4+ÇY«• 'ƒq5¨ÖMS.jШ³ˆ$ è¦E0È>Âþ72\ ¶²RƒW¨Ò`ªø¡¶jÅpÚ ÑS‚i½ éf@®ºÊ€‚#ìO3¼Îþ4`ÁbÊ(îX¨N7ζ\«\³Y°uÖ¥ÆœÖ +Ó ä­XB4 ¢â ‹ÈPP¾ž&L,1pH\ÙˆÞ‹dµ&ÆŠw2<9Ä8¦®î¡¶§´ñ5 e“¤©·T߯ x Á4P‚\àE€BhÀ",P€‚@à  ÐÀ0px p8à ( `€J Œ@°@8@B0‚X°@ 6 t ðÀ. À€^(HðÀ(ЀN <  X Ä«Š0CÆ·O"ªà€Uõ—WÁ«ì>ôáqŠèÕ\æ³S…„˜¢eÜü.Óä´Øë4@Ð\Š^ ‰©ó)†ÌèQeŒJíãÜ–¨Ò¶Þ¤},å0ƒ,ˆ|ìÊšKuF[T-!M1Aºe°÷ U 3þÉGhá— ¿d¸‚Âa0\T|)]HD,4ôI“¾˜ZtQsa/Êœñ_›ºŒ4ÎX4U°£/¤F±²¬2OjÂZ+¥'¬ÅÈ[ŽàX/]Sá"¯Cò)­(4 +ŽgR“™¿hQ+-´ÙiÈ ’Ñ$CB"5ÉY›±"4ÓLe^ù$Îm’g>¬LJñ»΋{ÑO§ΠuŸ*S1Ìw^gŸ7#Òþ¼OX桾αQ$¼÷LüØ%Þ3ô0Fç„4-fæ›Ïüóù7Á'² IæûÈÇÇ>)wõqÂ|Ñ[FöE^Ô[(o,yòÂ\…vÜæ×Ó­rUd¦úº÷¤a÷aò&__›ÈßväU‰#9øãǧæô‡8ž„t’„³’^C¿tÆK¯  +V ¤bL­C4ñ%Äùd4Hýq&1´·8ŪªCGS¯y¼PgVÆè/±Ž¸{36j²òF1ݤ„½FºI$s"ujˆ¾?šÈÕ5 ¿¤9Jœ#i’¾mkn$z[“$».éõq×wI<2Äžm±9q9(¡F»Æ3¨Äk”WÕf FÉ‚G¥X&¦&«¨L3jQ¼ëF^5%7õ÷H!®ž"®ÝeªÕ‚k{‡pBŠªAM ­Â3j4C\Ì5ת‹S”ÖéĤµÓ–ÑX‘ÏÊ–MV +vkH•õðÚ0„!¯q Rõ.5"«Sdf²©Ï^t´ýòLè3úcö¡ëÙ?#"š •æ“šgHûŒ„âKUh©mÆÁR„ ÊG§éìÂ?.2‹›©aMÈßTˆubg…xÆmb‰kîÇá#‹†dGê0QÄö>B?â¶I5Œ5Ržuµ;B_i©Ï%žxyU?EÊ­±˜¨Q¥R¸B4…ÔŒB*j#¡M»ÌÄD’ƒ«¿Ê¿yP¤ˆ ß"!µÁ_¥ò†ÐàS!4jÙ\ÄLŒ‡f¤‚*Âü®ëkIÕ3ö´Ùø\Õ£2ö?â'¶&¥NA¬ B´é7Ç)ŽñþðÏàQ$L’”ïHM­fÂ"/’5¼sLÃ/2%FWµ’ +Ñ¡P”1Db|ϣשfUd%åà ¨jRJЋj–ÅÔª ´‰¹6T5~ÂÄ„JUýD_c¹êéÆNˆAäL‹Ê©… ¢§c*¾V¥„ª9ˆUtq ùš*†¼Å‰ï^žU lÓÚcd ìAŠìqip¥ÂÊ»Kdb|9¨Sšœ^&3œtaÌèãÚ’àX$HY­¹½ ;ÄÁzVp—ÇTË<•‹hQí ¨µÌŸ–J3wŒgÅWESI•$­()¡8hêáÁNÄÌUqT¤XVøl2žÐH<.mµ2ße•(áGq)Ò:‹èE)·N‹S椮^% þ¦Þ¤‚Eá_”H½ÍR6F£¨›R²@´Yw¹ëeÃkåZ%Õ*¨oa=[#VU&ØÚO ãCÍ_cDN¤H#ž¶„Î9)ŠÞ2OdÀŠ1J­û–Œ#ƒ¡2˜ÿ¯WL«8# -"Ž\SæLÁñŸQüܳ9¨nCgœ"â; +SAç^¦W9RHO5eòŒT?fþlcÕL*a bÐÃjX~X1rÃë^®2´ˆZ-SX$1±âŒ×z/õPÛCLôú7Q‘ßÌ=⩘S™"¯Õ¦Ô¾¦žŸ‹”ydlæ•BÄé˜Fê +JèĦ„ú9ñó… jœRspZ„ˆœP 2ý8Åuj$ v„‚”씨³v‡m*Ú +ê±0³¡XƒÐ¨Š3œÅ"T,Î/>¢j‘;<&‚ì!j×g>žYªBSöA™ÂÇ3y,ôÐ ÓEr +šÎ5#XV2˜Ù©z^%N–£º)XÞü„ìO?5tñS³‡á3”9-f˜a9¡† ?mB3Œ8ÍE ™]ðiÀ0p¥<˜Ì1ÌEÁa„ +q„ó_C Rßpâû!š!‘ê‡$`ÀSb­Â‰ØˆD$FÃ-ŒØ µ–(Ä +Ed„C» („È4l|˜ÌV¼. ³âY¬áJ*Ùr°r{H'1€„[ .ºn’‹#Aе”¼xÒ©ªè©PUŒhˆ “ +›ÛѪFÄ„F}B£]ÐŽ  ƒƒ*ŒÃÔà $Ñ +$"£]P&ÚQÄE(Ú±ŸF4 +•Ú,ÐEÙ– [ñ"á“0ûg ¶RaVz •ý8qê Ašë¬hc»ÀÑ@¶ H’ÀNU» $ͳ] ¬/°] ,áÎh8I­WθY$Ç«aaæC™Ëà ô@Œ¨“ŠdM(×y(¶ ^ê˜('"Z}Ø$¬´„qdö¢0dËÀÚ(°•ÑÔ¾Áí˜TnÛ.˜³…oµ†YU×¶•Î+LÛCDèŸÛ’$E“ãì’e 4~„vK‚]™`»Ô†HTð¸±Vq¨*ˆ•ËhîxÑ,Æcûå 3ïÈ63)–&oaÆCá^…q»`AÉG‹Œ FQ˜în”t *—;ÝåŠB: ã +åvÁB†HXA»€hÀ@öËTР+S™U¸ +‹žÂDùv:uЍHòMfb¦:p.r÷0a:±@îteDže™h1J”V8©¼í‚`MCDg(âÐ*Q-Fø8ÕHŠ@U¨È·FWÀ@¤‚y=ê¡NÕ›d¸Y)ˆÁpfír͇d/«„›6 b ©%œøèIäÜUšYéØ'‰t&Д^õðj8KµÇpáãGðÌl>D±àp 3t +BúÃg ÙLø´2¡„<&óC.Bݦ³ æ¡^z-|ææÈâr½U2é„"Ó„š‡ºézU™)»À€æ@g¢† ÓY¶!ˆøH4L-•þžS"óE=œCâjnaÔµ +3Å0ÓÊWr‰ +ÍtÎ.@6€4Àñ‰I…œƒê¦ÈUn˜ PÀ`]ÔáˆÁS´? mSŒZœÍ—éƒÁü¤gL è6´ €ˆÀ +(`ÀÐÜ!/ªœ>µàX¤…9‚4 H°ƒÈÂ…­ ŒW÷íf ©ó?,6äá… ÍH'šRèEƶý²¬ ]0©—zðe œ žªº´D³)WUØvP 5AFÐÒ#DݎÞš@Å*ì â0¶ÌÊAN 1¨ð £PŠp*ÑäË<¯X­˜f•šš5aN˜’)ª êR-’À¡ÈýOæ­š²:W—ÝÐ0Œ ¡‘š‘ä@賫œ"â¼&´à`åx`ר£ƒ¾®1Уu½Z)SÑAIž·2è²ÇêÀƒá‰^%®[|Ž Í£ÆáEæ©Dñ‘0u(ƒPWa(Ô9°X¯8'ŒQ!ÒWJ¤ÏÁÌ#«xùe" +“Q jÛBÈzMœ(òŠŠèù"™z(^êåÿæAPMJêà[ð´—ÈNßëà +(¡È´ˆ =¹£]s…AœàI-2d‡¥q‘9 MŒ¾ŠÜ%t(% žƒ +*¨à§ì`ah$„ösíD O4¬¦bRmRKL¢›òî`*âÒ¢°‚…%ñU,­™¨t7%v5ã`h"ÁˆXŽö—h0|.‰‚!Q€t|Ð!¤ @@B¢/mÆ—®ÒDþÛ]EÕÍ¡¹àdyAJøƒ‡8/T9Â1_w]ÝÓN8¯ßaƒ5Í3D±—¥ ÞU.–\ÕÙW é`Ä#Èñ˜G#¥=ÙWÅâ78îAåçÕKÇBYîb¿idÂ÷ “B@A9`oFàc¹¯ü\ir»H_ˆæÊ„œy?¼·Y>Ù›E<Â-â¿©Å •ˆr-ïòØ{Ä?ƒYà¿ùj”ùí,ñ¿[XÅyCA²"Cz¾|´bϬ°­@r|}Rt=G‚”¦fÏIœ(”w¬‹+´XT-FW'P;ï o[Y¡}×  W'=ÖÎÇQ7$b£‹! Ûf2Ÿ®…~Ѓª®<üGójdž‘¬ñ3L5c5£Ôn¹)5@ xbz0PRŠèZ†qi½NĆ% Ñ๢»8OF6&ÕÎw$×Ðm¥Ó&0¨!QN±REbè1’HÛìQšUB4Îð¸(®ôrRùïjÌ@-·Ec_ð²âcœ‡8¦½k ‘Ì®‹ˆjª+hy`Y°<ÎÕ*CÇ/U¢ž ô'º¸²”†¢B傈öåÞ›¢‘‹KËMÍDê?Ýà•AŸyè*.†sNzJÉ/>¼;‰Ø?œé ÚYÀÉB´òŽŽ ”µ‘Å ÂÔ1ÉǪ'dP³\òB…Î…A©¨wr¾PÖµ4P‘ È-©uh·Ì£O²;ºù»«/t ++&5ï^}­Øö«£‘¥ëFÈðóÿs ·W\™ŠC€rW•¦ª.ááƒÔ—ê"y>šÖG›rÃ~6º/©>TWÌ€åQÒXûÙmêq‰å¡G…ôèî°ËGë(|Ò#?Å7Ô»|AX/D¯¡ewÕf®duˆp},×7Ä'wj¡` 6ŽŸj‹s5Î& sy bø«Zu· fNK”24œ¡X‘;¶^-vGO®;xKœYŸÊ”À0Zð!CO™k*•ÌõOý¸×‚?ScYÑK‡NWöG‡ˆm/$7Ç^n,¢DðÏ&ªõr~è´ÿÚdýõ +%¿ÿ¶QrR(Åô^ЧݎG‚MDzŰ…›±k-Š +_;umäòNü¿8’å¡z‰oSJ!q¶Õíÿ†J.¼'"Ož®ØøiüÉ2J½è”Wá`È‚+ŠÏp ‚ïô4@Ž}\e\¤¡‚ö)êÜk³ùmµHÞ1æ9SÄÇÒ·‹èx'Ú8è|ê8w^.ázzÓY˜ÐÆòÃ?-NE,_364,#è£@Ä&’IÍcÖàuÖGeÖüpï7ŠƒÇšXÔÙç3A{È=W4u&õójÛB¨;âØfUm…ó½7‡­ùSîn¨ÉèíÉæLž—ÂìO+GD)9‘ç= f>W«ÎÆÑÜûYµD@X#¶Ò¤;›$:›×¤ Ni“TqݼK¿½<{vÿmïí2_ÆGid6ØÅ¨þ®¸k¡qù˜¦v‹wÿ±ÊÎ$Ý]Ó¬eŒ:øÌAÔ'¤ËÙûÎîo-½´p;€Þ@záÔé_¡ep-kæËÞ4¡¿w:ˆ×">3wšýæ,+U²KE΋±™Û£Þ¶ ÇBfÝðáÕ‚2¬îÕÚôäîj·¹™œjýï· ËP~‹-µÆ6dŒ ybªM‰êŠ+O*‰P1®/ùZ“>B Ÿð<²ÿ}«ñqByõ2½¯Añá@ð»ÀÁÛ³4B1~/Ó[Sø›øƒN©q’ÙMxúxr‰î0¼ý`Á*<3]Ò…ê0ïáL§£/^G¨1){‘L>³Ç}|ó “€‹ ÿlhæÆqÈÆ‘”Zÿß{ ƒ‚J­&\,ã{Ïž(ä£!{äß=…\ûÁúà83ø‡Þnh{G¦d³(·oÚûF¦P O°Î¥Þn„QŸÒéLÄɤ ÿÄ"¤~ ƒ?ñ¦¥®³1ؘ9°lWöKŸ-(uÊM(ädŠ'Dq÷þó.ÇŒšE™¡.¿…\$wÉÒ/Žõ`+ÈÛ6Çе9[ž«É$GH¯V6ë1[ħ/Òïr]9±s[–…àMAÕ,HÖþйþ·üÚ¿lƹ¦%fÿ†ûgè}~ÏRîÍ~Bƒ‡¾¯;…B†áDç¬e{ÊÝZW‘K:³ƒÈRM¦ Ù‹BRÔK‰íÌh®?=r„|E§®(´ä¤ ®$ž¦»œ2”Qõ[˜•}7’EXœìrÐIéƒÛKÜžÜæÎ¦ûù6ÒgZ8›Éƒ×>ˆ“)Ç0lyê¤ì¿þdç9½dƒ'£f55¤x‘:žþæ9‘¸AÑ8ì°­›Gö8zÉt/C>”ªÉ“!­Ñu”`Wõ³€½ø\a•;ª"£Ù÷n.„÷CÊDO¡9^YD é7ø“@Ê}#ó”팻\ütüm Ö—““83ð= «Ó í4IxK­~h­ÆÅÌûûT{¤jP öœ4]Ç_’¨qÒÆµ–Mù’B þ{„^7s×æÛ–â°È˜^½Î›ullÝA²3>…(KzN§°n蔈ÿowŽ?bhv`‰q þãÜÙVX£"ésZ-¨ŽHe¸¹þšFüvÏêÝM—pÒA²@Þ%e‡ÀJê÷Yz +õ˜áXî ”mv7ÿbsPôg*O©]ËXº,xì¸)“™Èc.¬‰{PP¤œYw³ÚÜÃR,øäÐÚ…÷„Bt㘋²ŠÀ;ÿ•½Íì?ª]’§]^d›@Òi¯¬…÷÷df¾áPÜJÏßÏy[sxÉï§ñÊôÌ>&}OµðþJ.ô™Š<˜g +=zš*g“/ËÎcõØÓ/w´2AõRpÒoh‚, rXŒ¹ß–&’@x*Ë+Yï.Ûå&äù¦íõˆÕ›JMwtKð̇ôf¡Ž*11³4"ÜÒgh®Eæ*w[‘@ò(cùtZJXÕà?2\gJ¦Ÿ ”Нfuä-ÀÇe´ÈÎ( +àqUÙ?åv ÌãGÉ …úsEÏ œx<êŠGê'¨—Šª 7»ºBZ T†·)ãDø6wyH›sVÚ,â4Bމ×Üc*=Z6‡Ãj´ŸR‚tÆ˜Ùæç0bÎ U§ú´Ið…³ÜûØü{p ýˆPJ_B¡ÒVnù1^ŸÉù¡›\Q<…5õÿ¨irÒ·P¯.>²øl9°ˆ+näÏhõÕ_T“‚5Z᜾ÙH·€¥=a|¦TUß-ãƒmP‡nòsø)\[$f‹E6R˜"'Ý¥½S tÈóîns7ÿmåôÔìŠVƒ!à¼\RPEMåã]1P?;àœxriH›Óž?`o‡¹¥±›ú& ¤:ô +Räôxy ŠÈ‡Ýj«SئÖ•ª9­ÊšÄØ]æ‰ÎAƤ¼­Œ2½ŠAÛ*'Z0N~Œ'(ò˜5Ó[œ¾}Çä±^ˆ¤‰~h + +≩d⨗'mì³¼ ‚Ôšx](ø³N4@n´§Sò…<ýÙç¦)# ˆÈ¤°fé_pmâ’\/j×ñµF&'nÐ ø›_hS$€˜çÉû^ùœ«µ„îZKÄîßåq]R×-²úS8ÕíæÄ +6µ*­J˜ |»Í9¤?Îdü÷‡§ |V`Ÿ²~ˆj¨‰ÊéYDìEÁÒšãl áÞÑ,Þû{éì¾CS½ð Å0S+KeŠû…hcSby -¨®ÿá/TØ`œHÅu˜ ߥ’/8O±Ø"±> öv¦e­\”cW9ÊZ~ +êæ›ºñîÂÜŒ™ä£¹'®‹ + -Áýé±h=A­¸™Òdw€½™/C°…À$õù°Ò˜a4t6¤F¢Ž›¾WUžxD!5è ½ò«¬o„ª÷¤Æ ’F$ÿvßUÛâcY§¶þ…‰œ_ñC#3ãÚIÌF,[Š‚’/áIU•«î¡.˜O`žû‰õ0v£Òk ›ª¼Œã~à߆ãbqX"e¦$‘B¨L‰Mo•õ +3‡Yd%ùé‚Fë¶d´·ÏL-bíèÒOÊ÷Œ ! +Ë5à‘ëISFs?ØXGí!ïI̳Tᥠ+³”H¹±vÕ#AÉ&)ùTô領ã“Cý³YÀpí OK wô-¡¢,´IJºö‘ßè'²]yŒK$ë,"t5ÿ ªE7+ºJùÎÉ0,=tpÿQæ>“m) +¼þ‰PódyqCáÂ(4œ…LãÂbÅ:ª­ð£å²´pcÓµBN©Ž—ç„7W€ ÏÒ£|²Äò˜vÅîÕ7}ÆìLyM#¦D“ZB†˜~?æÕ|SF–þgjí"É{8"¬,îëK[ëW ÄÑ€÷(Ø*ÁIµ5ËNÁ–]ˆ›Žÿñ×`øOì(l ˆ“è?D­Õ_\6ÆJ¿O²lXïHe“Þ¬Š–hQ˜ßH$ò ÙÜ0\.ÈFKÀÄý3®Ñ> MM“~p9F?—õd“Ø ?‚yæÝ`8âͲÂR7DL9£&7’ ?/_ÅhEHdŸ‘Ê×bÉ×¥Ÿ¼‘÷²©ö&RØz‰Ç»”ìÍ¿CŽ*‘î¸cc1!½Qˆ»qϘF´¤ÀˆõÆŸï‹J žOƒÄÞD’şبohŒ€ýÆ{íßloÙ…yàÛçÔ?8ô(#†Ós¼‰…gAûf'Ç]GæŒ3¤ùžõâq&Ð* ^ä† EîßÉ1ýWÀúÊ æìÞT‘iNöýàð䙜s2 =çž“°ÜAGn`QûFÝzóÂÒq~’Œ}?‡5AÑŒ©ãê(L€W§/ Æe‰Ýñ‹$!%f¨72äA=º·£ý[×U1Š{åôšE×S$6¹u@FNÄ:›£*kÓƒº/IC>žp `i2ûRrVqäŠ`Ýõ¿^S"ÕŸÁ¦y™©î o×+i®;ßµ`i0 &^t"…¯‘Üý…ìdŒO¶T@„…â-%Ÿ>ôJË| ÙUÁéœÒ m*pÒÛ–Ë&D¬Hâk-+!òô¸5»èiªS7ݪø¾&§”¸ZF›öþߪÍ8må{ƒ„¢ïc‡Îžl(4ìÍ:¢uéívúÓFk¾xúˆ`=ˆôñEÂú~..]¥ä@¨Žë-neô¡?ÈÓÖ¦¬ÒúÀqQŽz@×O a ú”-i8FC[aGq0ký¿òjw¿ÎoM¸Ý¤úrúúƪŒb'/úÏ¡ S òfó4ê;CôOvJŒ/[Z„$éJª „9ÊF &âhåkÈÏÐ…4ê“…4VÑþÍ[IΞ… +àI´\Åo×¥øÆ¨$´â£J¹ rwÌ=Ù ñ(Â!ûï Ŧ ­ù¶jê”î0Ä_3UË»?ÔäÑdCVœÄ÷l{ÏêT@–ETJþ@r°e‹¾ÙÞùÝR$Yª!·ë™&´Àª@5úP¨îeb(‘‹A*{YÔ‹ýòT’ eWZå7*\º³,Ö+¤ÍŸlÔñ¼3ÖG(á.‘t+¹«T¬h+”ñ;›´¼¢`µ¿&óq( þl¶ 7´L¸ µ¤X ( +©Lì´w¦M7°N#ä¦nZK·C”ž üÓü3/otæ¹&|*Ùs QaéÚ¸d3Ó%ÚðpzD~˜Žp¯”6´@°­Y#¢›Æœ.‚¦â‡üMuT&`(Ðé]MÎkÓEˆK¾€“ö[´`„JçN’sœ±vQ³Æôo’ÐçËK x±¿W»J0 +1ä¼BR ±l<”DÔøª‚@˱š”­bñm—ˆ4ö9J†„~ïþ¯,Ô(^¼5‹”KS4¹îÿŠÁ]?ÇêÈ×ýfŠa¯ƒ#F໿“í« ‰O€À0O Ü¶kÎB@š#[ô?z¶ðå@µþgÖÿ=€¹“¡ýŸÚÎ*ù8zðû?± õ›=àÒþ7Ú…3ÉWöüŸŠ—‰ +@Sävø?u¸°¦ªÜÏ1°†œ`êÁ­ÒpRYžOð;ª,@Ï#G®¾~á@mdišÔúæ®0ÇÙ/ñ@óŠT#±¨r +ˆýp @þÔl;¬p…t—Ýý?%¾Z$YZ£ñkÿPUuawŠ3ÅѽЊ—VÝÈ—6˜SÅNôèH?v ’K'$tK ® àçQH"–Œˆ¾}:ÇøðQì¸>¢i’,}º=,É‹ØT¡Óù¤©NYÙk’+•%“xßÙàŸ¤Ô"êÒµJæ@;¨lÒø*Ú²¢]«˜ +„ìßsž&†ƒ aíèR§÷ª#²$Ø –~“ÍšÎ×Ôͨ3 '÷ð¿…3Ïñ}@ÞÄ÷Îfôç0É Ñe3U'¬—crß@j4#X[O$—4Ô‘™´…ÿsI êþeÜÜÌ—Ûe¶ ç=‰{ÊÄgŸ•Y£©—~¸ÎõÔ¹eÞT +Û¥µÁ±¸2vd„êÙÂâJŠu8›t[ÿŸ›s ߨ²9ohœjÕ $§h…ùXÞ"íÐXé#ÚÇ)c9Ø¿Êæ£ØtÈKÉÉW+)AVx*²§:t%֗׬cÜXɆuï G¢s÷1„?ÛwÒ¢¶ ž#©ãmã‘á¤/†q䋚:FeÉ®ñãÑÇ@~ ‰w•æ¾ÏÚZç<ËXÞØ!ö¤rŒVA…»](IЧHZÞ±˜rƒÑCsVÊÅ¡’hÓéöõëµ´ïGn„DìñE‹ù$mQÑjPEçÄ%‹s³¨CíN¿÷T5~{Å$à£ÙȤãßà®ìœƒ¨ +GÜÔ¦µó's)OVA‹ãä0‚©øÀlÛZMÅÑ +s—Š›'¦Ä(ù +v€Þkw•Ö*DŽÆº¶nI,ùùÔ7j‚éxný`l;ò6SHóQà4Üx*7ólVÒvÜi¼$©mF67B¹/EŒl1áÑ—›G^å( g€ ¨yƒå4è…]‹ëê—ûDÈ)S2QK¬}[çºÒI"d7Óõª†›`.ßií½"|j*G•ÑK²Á)oѰqs`)S¦©†ý™ã6d,ƒå{}ÈEãײa(^S«úùEʈ¯Îtι9i%ÃÞÎáS)z(Yã퓽ÂDEÈ úঠå=7ìÇËs)¬§< «OQîëyeji/AÕwßÖ þOsѤ„°´ÄßVÛ.y¢“µÄÃ.£… +°!`[ž·ÚýŽbìyHjTeüyøÑ²%ëK@!Ï{ *ÙœVKÔûù›§Ì˜r}ž+=[ƒä«õ¡OËV×W÷¾·JËÿQAX¬æ!õµ›×>ƒ{س'ì§Ë!¨‘Cé×C­mèŸA¼–ÁiŠžø®L0OǬmcCM‹[jñE}òÛ7ʬ™môè\>`P+=ZȨÖìŒdUø¤9?R\ä*£\°aØxz‡é§ÄõŸéN!±gæÞˆR"ª ûAÔ-#¥SBRH“$eÏÁÇM$×:n/rdؾ°šÙ:µƒJµ?åxyÊ4£4Ã;x{ lÂ×@¨ë Â­]÷Ëð„`öÁ7¥J¦áÔf±¯8Z”~·²FlåUÜIƶ©­"$)¬§‚4"P­"‰4¡)òj³\]‚ÁuÅ”ÞàT‚:½´ÙùÆUú”‹‡±×eï×tëb*ÌJóWŽX…~Ê’r¦PµÉ1™]GáJ™'V1 nfƒP>w Lõ,†‡ñR&fFÕFo‰§½±Ëß~•w%Ú×ÍîÜíçeFT‰_E( º¸3`XXJjg"e…aÀ,”“þid¥Ê A— ©Š¾>g¯LáçùO­¤|¤IªŒ÷ËáÓÎ.Ø:Uʸ–£&üׂ> øp-Ö"œ1Ô Ì´3\úõN±ôˆmêãeo`•pÒf…ò)Bî_?Κ[4•ÕÂGáˆÞPk¡Á<.á_à6_ƒÚ°Ì*¤ªÇª1VbŒ!s’ûWJ xhÿO1EµyÂÐ=„í߯àÂäº'-ÈiAJgƒÉ.G´\« »PoÏŽq¦GÞi*® ê#ÅaA0 ã›.à ~ ˆ{¨”yHYõíÌÞÍV‹/€H@ú–…ïõx¡õ†BП6S–Û‡ŸHÁÊÖHáxäkÇ)2¡Â‰v™ì““÷žÁöjï˦P¾ÔØZïÞ˜>ºã«Ýè3Ö½,,Õ[¡ƒ˜‡VX+7¶p0ãüp¾¾©Ž!ÏD£©Tñ² +ïXT宼ã[ÿ]…}ŒËÂ&ÎĬº"8×ëÙ‚'\ÆÛÜB‚ÅE™åf,¦Æ»}×–‹[L¨Wú:‰g¡n%À@ØþÈøÎÏcÉkÇ`§.ñÖx–9¿ñÞaîåìkÙ³5·6ù§Æ9÷Ök·;„ÿw÷ÖKúYˆ|«ó^‡ÜÛgðþÀÖÃbxç/›ø½'Á ð /Õà(…Ç$¥Î»EԌ˜҆µFþÌTô]¶ƒli`š¾Ê°´!?úFÄð:(¢½U¿w¿eþ•Ð÷Ìñ+‘%ë¯v|\ëÖ‡ ¼ŠðȱÀk|«:±]K3]£‡ £ÀÔH…Ù%Æù°ãïÏÔE¡ ~qÝ(´ÃtG%'ïÞ¬Ž»ýø¤Sá+*µxLƒ?Mí)9Ã%ëÇwþ-1wES+l»rVþÁ ÝQÀÇ˰@ŒxÌDÉ^B\H|DVÇã^p¯xp¦S¦Z"Mº+7<¶»£,{'š­“\z]P_Ö²¹£„¢FªŠ,h.!ç8á÷qLö£V2D+mòƒ…²­6BcäÆ7nðõÓ²¸8•Å¢|„ªÜ˜ÌVˆ_j +Àä[½AX&/Ô§XW‡¶€¿Å+ñ¢"ŠÔPx ·Üs¿=q'T¢ÑàjM¿˜0–É0pý=ÊäòŠÓ—6¿¢x4²œ¬”Z#[‰.åÌ]ÌyÍÇÕ¤ž,ñE³ ‡zy_ü«y-ûc¯ÅÊ;u®hW€$°ëÞhŸ~ }‚”íü€/àÎXèÉR‹Å]Ûi’†6é]‹¬h:O‰Z©™‚)¬ÌEÏ/PÅ»¢ Hÿ4{R£žYß4²Ù÷E~›ú=ðlÂs~@é.ÔÒ2$°D‰œ÷òüŒ’ŸÐìúV`Ö®ØçÌ•žøLy£9øâ£“­ çá0§së +âŽ\5 ºWDS]WÆî¾çB„5Uˆñ}^±AZÞ«¨–áI wiåœzŽ;qÔ|¯†¨úí*蘗(‚@FsK¬†ÞÆÛ1Ç´ ±xD¨½_¯ˆ¶ :_¡Äþ?ÄËj~øiyØÄi£¶ódŠºœsmª×L¸løv+rV<ìÇöÞCÈÖ("Õg ÊŠÙnf¥R+h&]$ 2êö}¢M‹3J§:¤é¥A2áìÜ!º»#]E‚É´wWQrîÞ7'‰;\)¢ôÉ÷™Ù-³j¶…ÔíRE‰6xï€=ô¼‡cF3lŒ·´ÿ6AÒ–"÷4 ß›¥¤1ÒÚZhÒ¨/e ;­XÑÈòÆ¢HRæYû÷š®{Cï"Chx!mŽ ŒÇn³`ã;Måg‚ØvÐN¯íþØl„½¥Ü1- ”Ð’Õý7‹&¾>.±/þ`™$ˆüZHø •Òö9$rw2$6ÀÃ8f2ãð @òA4f’yš=Iô Š™0W˜,B€2´ô‘ e”‰Ð{@ブýù ŽØ ‰~HtõÃH@”ûb$h€ØL„èـȄáÈèaJ0ç áu—@˸%°í‚x5&37Å$Bp5&< ±ç•BÐ}LâÚ:Ü’„qª ¢¬1¡"úâ›xö°˜0pŸÖàªaÂJ"š„M„“‘"Ê&ðVDòÂ)0 ¶ˆajIÐ/õYi ãgÏ&Šà]GHï:"q0Aè~ p?bÇ_r Ž|Éì!¡£Nw¯Ë#›! xITI¤×%Ì3‰Å¹dãIÈÅ%sQBwJ×UBÏ[€%Šô¥§Ó&µd#—(Ärí¢½쳄ÿ`ÂoY c‚²,Q­Lœ%[Ï„¤°Ä1M }%Çׄ’®DoMœ*ÛD]+ÇéÀ“X‰mš³Jè脃*ÕNLKɘpOŸ’“=!×”ô«Oð,%Ô?±)‘wá<„¢PŽ(PýìN *”TãP¢®'|¢Gaf1RЇݓBÌ%9ÐÀ«I=EC¢€†IˆB—D„šKÂÕT’ȧPüI²y +K’tGNÔ @0H|©øôH.¨BKA`|4–P‘ŽÄ»Y¡;#¹Ö +üV@^$ðèŠ©Š¤‹WP&L_1"±XÜ9$a¡€!Q‹ÿ„dØc¡÷ ±OŸ×Ã, ’4|F+g¾ÓXh<ž4PƒUÒ)»²-ôGÎ’©ãG8E-0A¡V¿G˜«ÅHÖ#«ùZØ4ÜÏúÃ#y¸IIåÒdGLÞbª:â.qeèT¹Ø0Gäž‹ñqdÎtaá“PúºÀ`8âÄ]lûF~:ÝH¼ð÷*—û؈ê… Ñ“£ƒ»®Þßl¾PDL­¦Þë£MüE¨©–8a;q]`äIFŽ +†´1âèÁ8%Fö C$aÄÃ8F®9 %p:I‡/rbˆŸ‹Ä21€8¬ªs@/¿Z¤DfIgŒÝ°HaF3tEÄá1|¬ÈÈРŠDEú)žd,-E´›Œ#›tFʘ ŠÄ[±ž²–±ÙÙH9‘D_FVšHŠÌhÁD`4cr%òÐf˜í$r±Ý'ÊÎ`ŠD õŒ ˆ÷gÜ3"»AC¤"bñи!"_Æ…HrÑpÝwa DH#äSè|Ž˜†VuxÈÔ0¯C–J I1wÚTirw5ä½!š›5®Ú÷ÖP°†(¼Æ8r4°¡k†XŠ/žl„ä8{dÈ+m(C’kƒ÷ \¯ ¡æ¶qÜ ìn,=æE‹É_«(š¤|³c¿Ýø’BàÈ1PjoìnB†}ÃxÅ•pœJB ž#DLp!@$Z!ÒpLBž‡‡òˆ÷BY¯9ÈLãvƒTóqàÖ‘ã‚C9pjŒ,Çl$Š9Pafͱ䂨M羂Ìûò¦ ZCǸdà£CÅÄ€éX7‚,¡1„ Vªê¸÷ÓYG¼È„×!§ˆÑØqƒŒ:;¤W Š^;Þ?<ƒ;ôF 6Ýñô€Ìx‡T ˆµ}ÇOyq! ÁCa€¼gxÈ3@:#$©x¬@r=¼mòØò?$/ŸÜ8þƒ=–çŠé1ÞýñÄê¡™úCV\þèë1Yø#µh®ûÊ ºìŸÌÑì¶ÞSý¥¡ìàã`~¬1>”Ǭò3ü?KdÔ«ï#±tÐupk°º#ö±~Ç>;k}T1? bp'TÙ6x‚d3Òd}¾é6¤ÑcÂ:åáâ7’}ýÇ}òOÞˆ„Äʉ>nÀò€ôÞ{ìN w~ÿØ•{(0ÕN'¾<©Lõs÷ È¡a;%H1Y›‚8bØW³@v{D8¨=JN© 2-{ )3HwA´X\­hÑû a»Pö(Oá‡]f°GÍ0*>ö‚p·Jäpõødæã@ÐiÓàôeRv;ÆQÄ 4=žó"=¦)Èy<;ü«ˆS +òöóøNA”Yç¡xÜEž:MS>›G¾„óÀHZdäAyœJA¢Ð‘hîñh&AbŸ$ãþvŠG$È âQ5-<ÚdBÁ#Â7À\.äÂÈïÀ éð'î¼c±œÞ«ˆŽeryæ©R©²›B‰2Î@t½Ž‰Ú1Júì–Hq+}R ôdâ›:Žô^Ç/ ÷\ÇCH¡ZGh¤Ö‰AV‡2婃T6êˆÐz:r“Æ1±€Œæ% ˆJ‡üº&ÈÛ)+úСŸlÐA1ýµ)=¢Ñ:GS4Å9ž|lŽ©â3G+ÙhÌÑÆ8»2Ð˱¨| ·Ê‰rp«™’‡äˆ­‡.¸ n©>8:ŽúÿG&ã A /‹ã2Åñ€LGŽ•RÃQíY8`®Ž.¾ ޤ.Á·€¼'p "ŽP!ï7ȇÛCÖ}#gÛâ)ßhŽìIÜå`z+€Tå 4-€hÁ¬Ä„»6ÿºzM7*¿çFaåÇaÜ( ÙÁtÿšš— IÄ6f¸ú_ùÁ/^ÝBàm(ýN¤H4 ”· ¡ È/‚€d&êQjQýãǃ€`%s*ñƒHž›mX=o4‚$Ê6ÀN n +ÛÄ üÈfAÒ© Ö¤´‘¥ Ú œrõ²Šm²‘BAJÇÆÈOQO‚›/lD¦ÀFÍl_ƒÜR +5˜Èt ° ®Ñi¾Öȕμr£ã ÄXd´«Ñ’²UN1U#½‚à_ ¸ÔŸêQƒANC5 "ôi‘ƒð9 z²QÓ !¿˜Æ“|M óÐ^Ù2 ø„ÈP<Òb!ÖG‡.d®Ñ?S7 )D4Ìá Y q 4NÔs7äùg æ¡>#x‡Ðì8øÙx† ˆ¬ÚO!¢ŒÎPžˆ\Tä 1Fúüf“ÈÂ6CÅKä·f\Í4CŠ,›’"‚“V*2+f쮈60ÃÔ,ràeqé-íùggƒa¯ Éyª2&eD”¡ée„‘A'#0И ¯‘%CƬ/8¢°ÈP®:d\¦#ŠA†¤÷Ç(åŽ,õ¹åðÍ77 |„L"AqŒ³ò#ÆßTÿ€D„ƨ8ÇqÉÔ£…‹Ãp2œR…Ä´b¬å!Ñ]1äÉRŠñÀHtF9’Ÿã’h‹Ò’äjL%ɬ.É,Cá0Í$;g}é #|“¬Za”åIP/(Y‰0ôEÉi¥$ÜÁ%1ð¤ä§Œ«=t` Š’/Ƶ(Ñ0ò J¸ºà.Jžà‚Zý” Ù/£„¿ÀöJÉNÔ*PI}! JÆñÅñ|ß‹æT"Ø^\ŒÖ ^>éEqÛ¼€8’ͦ’²Ä‹‹ x1;•𦍒J¨ 6UR‘]|‘ô ïgÔE.‰t¡—€.ôP%°› Ru¹ð¨M.ð9.:kâ"©U¸@ÆJŽ€‹S+ k¾[4+ Ϋ ë¶ ¹’žÚ‚÷µ{Z¶°öÂXWRçZ0¥ÁZ@™¿#žZ°¹’ÅÓâœ[iq%G|+á-hÚJæZ´x{Œ÷,0¶’bsü¿G‚5‹Q³µ,äm%)Ê‚û•¬H3éÇ¢C,0È’ 8ÜŽ˜ÔdIÿÅI–ôšXüÒ’¥ì~NXD yHL( a‚h&¤¶UàöЮ¢¶KÀr `£m‰æ¯Ò¤%¿Ê”,Aþ–ˆaþV¢¦¯Bï*Á_ž }S‚y/)Q4LEQ§)QŠ@0xr‰%Ë¡ÈÃbÈ/)Qò9%B¿Ê˜ë!ç”ÐÕ® +ŽÎZTX!2„Ž5X!–‹¢¸ÍXyfIäbE‘1V„I L‚OQ¬L7$¸Ó ”H.XéÛ€R‰bù&Á+«eM±Âà’@ÖLIЄ’D&XI ’ˆ*áH8L œ×D¢Í]¬<?†B‚#aå/H|¨Œ“Q²€™Í#ʳ;¢i¯2RG迸a'W Gêm„±WºFà嫸Ò`ÆÎUÊÉž†b«ä#˜^h=¸ˆÆ?‹ˆÙxÿþóªÉ`ŠphˆPC+洊ω˜¾*ÍKV˜D¯*⎠KY"Ê?ˆ¬2äCÈlxˆPiõUÉžC0‚7„'}5Ø«H0ÌÝ«‚+}$éªÊPböªH¦ytVI±oå¢.õ„¨x•I“ØV`eÊ+è•bÅ]fîK|`%í¢XQ£ÉŠŠmV4¬¦}õZÑ•óEˆ ¹ +®Òå +‰¢Už„SWV|r…þŒtEšº+%h^±%!ðÜ+“}_Ù„¨,åI0ƒ`W°¼ ,p™`±‹±<ÁRäÈ,‚%UÉ ‘·A à£ã³+$Xh-…"àFMH°¤ä8!BÅMˆÉi –„ð ‹Ú„8ω’°¯EX2¥¿¤aq› HfA×â8gXš%!ðibÃRÓñœÎ*-…P*k…` ŽŸ¢N_CÄ28!– ‹0 ѼŸÞŸa)6zrú dãÏ ÍG­ ªŸ " n +‚u” ""–œ ˆœŠ¥T !KrÞŒeÀø¿xP'¥š@0,û; ö'‹‰â¡ì  ,ËJbf˨BÍ„IçÀ9Ë·Á>Ÿ…uâZBæµ;üs´lr‚¥X° R•`àO-Ðézµì=®e |¶è,eË|˜§-RÞƒ»¶åÀ=l·¨5¸F( »åôz¸©·ˆV=8û[6¦‡Oƒ‹4ôà͇Ë=~·b\œbpK„òpå2óñ@„¹4a<\œËæä@Ò0x%]êÁ-uûh¶.½êd—u¤%´]>¹ÃQ»Ëß¶Ãó»”v`…—aÉ—„°Ãnñ"ø¸­JÑGsÉæ…ƒu@F/xÈzÑŸ:ðZ{±ê³Ã÷ÒV:Ç—¶Ã^Ða>ûò¼ â—AÏaHBƒØ{[SÌ_„ðÌùú&À\ƒ£v% +€¡ÀXb9$˜jD'L¼ã€^0‡…bŠCŒƒÉ@º!Lqá·%Ìåľ +ÓB9wa²úâÄ_ËÍ0åù†¶z‡9á «y%vCÀ †~n 4b&7¨Á³ÞÛp~bô훦‡Š9¥ ÂÅbÖ¢ ‡.æ4Úpc²2ÄŒ™Ùp©1îÆ‹à²_CBlXH6Űl >&´ÁŘBf‘Õ &2ßSÃpŽŒÞ¨Á—IæJEƒ7=L†º&ê’J<'ÚÀ5(£4ü,†¥ŒÑ0¥2„†v+CþÈ2C{©-óÚf»Œ”œÁù—y¶FGÌØÏ$id&Af0­™ùîhFcË Y3k+ã6£DÊ gæ&Ã:9£O2HgFE†i;£ dä™þ{FÿÆ`ï3¯à  ‘'hè.†–„W1€44Sö´ hÒÝFÄÄÑa8j4r ƒg|4çàþHCWæÖPšbƒY–fd`˜Ä4Úƒ¼¦YôžÓiôæXÞÞó…@¦1»Vø¨Q«L Á¼Ռà v«š["èh5ì—@uº+¹:“=CM¸Ê…[“Á¸€ ׌Vu×[Ù¼F*K'ø5#´…sóµ lÒª|›½ àŒ'Q’:ZC6šÎÂœÊÆD`nX ³ùOh;›à±@m&£MUÅBRª6)߃¼6¤qñl³ä+ìp¼ÂÌÛhÏâ nÀñø1°7SµÂ+ÑY!6åÆåÓÁí x†éF]m½n¤dÌúµ×MT¡ËÝ€K`›½QAK©í5êA¨°¡¡ï)¨œB\¾™ÒÜ7˜¾ßŒ^)¨:·“œÉ“Bo)äÎhB…‡Ò(0œEEA%áü! +Ã,Ý…‚zªx¤G!Px8â(ú 9ŠO ²8#z‚•gþNXku‚ ãŒ›†üqœ²J95>¬Fr2» ÂtJçlBcùÙ„¨¢u`på¥UΚð’!š3™ õî `ïaBå”~ «U΂.ž¬%¤D±R2+!ü,'j¾cGf/Gi”ÀãïIÈH4 Ä]ÎfIªËÑ$t +†E„¬ËD$ s0„ÈÌ™þ#¸Õœc°–7GàŽ`Ÿs&9ÂýÎÑj#Èð9_S@§ŠF@ 2‚œDgý"|ÕA'éLZ.´tÄȦC$?æY¤Ž|Eu2SX«cµuœ™­SBÕ:$ê\‡œ¡Ù×Á$ÃΗ´­Ù±÷ÑŽ«–µS'I“lmçAöíåãŽ7BwE&»ƒ]|â⤦öNVÖ¾óÿ@@ðØNðå'Kï]^«ixö­–M@'BñDŸV‘|“®ÐÑ’q† }-¯õ62aêðñÁ£•ÑÔ»߃S·A¢ä_{p¾|²Š™(gQ|g¬n{p‚ù–ýrÓÛ,U†º„â–g{ðò÷…æãÛƒœ)»Ã±=Ƚaùö†æbÚ8ÂV1åÃöà€¡/Á¿BÚØÀ‚Š&4‰L–XÛƒ3Ô÷ÚÈë¶Ùñûaµ‡ÍžT®Úƒ>)N +ø€áœYkž€Ì‘ÛäQ{pªYÞvг?ˆãºî8ù Moø³ïãS eÂ/¡FfÁœÐlÎãÄr÷N)YQÄ•ÃèÁ`“Z@ÙËÁèA®¡…|Ë¢U¯Ñë=*˜…˜³¬âà¿&Ä-=z°˜ñ²P ßÈr»“…õàq=4Â×zªp¬…`ô ¬””ýòKžF„O.šL©Þ‡/œÍ³¬È(«+UÜ×vÈ(“EŽ,zTTRŸÆP©œ6. ]ØBeÉ4yàaéB« žÛ¢´sq‡c.øßsRPb.`a×ðì°e† Ãf +!Xºt˜é6öŽ«` Èb§…k“`¥ÅÓ˜ŠX¥œpPÌÒy4«ˆÖÀ#ò£\Y MùžnüUÆQŒv˜¿^FE†b„¾‹Y3´zû£›êœ_XÞL VL*Õû;¬­àj- Ðh`ÓWÁ¼‰@ÊÎ9¥°*à6%É´œ[£¦p8~e骉 +xAõ:¾Ç­¸SÀCû¬˜Ú.ÇȨîŽBA) [«Çl]øm7HÝí›W  £›¡)ÉX* + +,…4W=4ÓJœf +ä +ŠË+lq_qú ¶…¸’ú š°¨>WKìU z‚ý)B|¸/ÃuXèuôÍs‚*„%Ûo„]ËкšjøÂÃ9Ö.)£ ,ü½Zï)#ÐO ïÅdGú‡€/å—`Úiä\Ú]Ñ.Ü,?_€ ®/x²¹JPJÀC¢¦¤ÀIÐ~øòêÖ$(¢™¾Kz ª*P’ƒ!€9‘3R÷Ýx GQp‰œu[—l9SÃgÆÅs'½xeÝ_YG„*‚[¯ba)SX:öL‹7{£²©‰Œ_†„VŠË9m þÚn¯DF™P®ÇØ¥+&Ë î­$Ÿ~°YOZ9ftRþ-v2/¥ 2 Fœ³!€K…òõx` ÄçH©þÀá² +û@üÀ<Ø9CfcŠªO¸@øcfú€MI[¹·×€ˆ™öJŠððu=P?!8x.¼ëiÃiäq9ºã¬îâ$#Á2R'ø¼ecë˜ÝëÕ&††Ùì=õók”yšU8d’ :åÅ ¹ ÀÄdí˜P`xgò2¶Ê^ðð}Ðè‘öqM‘X8`Ð~!Úzê˜ÌÖñ]o] ‘¨¹?u/˜ 1—µ¨ŠG"Î*l€®Üj¤#9Öt8<7Ýýж1Ig8â(˜é·›/ +"—!‡g€¡ËÎ<0pº ˆNYñKÇÊ€¢AƒY´PÐñµ»uqÐðU>)qÃ(3bà­”d†d«ˆaÀèÒgñWïŸið½EÙÿZÉfŽkc§(Èá|¿Â:ÊÝ +vÈõ&_-s»€³5Òg¦0pŸÇ”7jM›ÆÇØi…w¢>OS¥æ`ä–·Ç«q°¤i¨rVæÞ)ùÐ ,‘vÍo2· q¯;l“®@³Â‚:×B.€0Múr}ÃLªãàa%·;%Ê™`]}¢¦«êx’Ek3f“@•“™¸ÿp„'0sÎw"fF‡›À¥­4ùv^EîZp3¿‚mw“ƒ£¶àÚî,šüŸ×§8Ï÷=—–0ù/=£Y;BÍNjڀǸ¶DÐEÅò ¸Ÿô ïž~«X–jt ø¾åböì®[¬\Ó„F{à‘hphc_+8 8« Á]Ä`Ø:ø©†TM¼€ •ý\ξÕá,b6|v…Ežh£5šFm¤ÎSiðŒWÀôŸ¹ªÃÊd€öª€‡`ávE¢…¥€=æ¡D$Š 6Ó ÔWZJÊל€md2³ò60‘–mtL_Ä% ¥ê@VK‰ 8¬.îö.¤A[Œ€>aÁܽ‡+ò rf†œáË @]óù»’íµ …'i”{éæ‹:=©ÅCZ(ŽTá(Vˆèn|@)D”Oå[ñj€nÞ$Ï9g ‹.4€Í»/‹˜•w û!yA"Èc¼?…âÁ1KŒ[G[€$sŸV‘6Ì£cy>)Àj¿9çÚ +Ú(“svH€Ç™" °šc3ŒÂ³«•p©N¤q& ˆœ%€v 8ã€IÄ›ä¾ç\98 ¥ø&(À¯3_ Ñ ¹Á÷û®Ãs{ +[œ˜Sf„åJì—²{â­Îÿ<(…ˆÐþߨ›“b¶ÿ/€¹á"Á&9ö´ÿcšΑ:íÿ7¦¥G‹æÇþå æØÿs¬ÆÕmgüß-åÄñ¿} Ã¿OÓ‹ªýïW¦Šy9¡Iôÿi¦l–ÄȆ +»Ë*LICò¾ÿÉè|ÄYöü–Ùfí6Õå×þKêuÈûÕ¿0W|’IG=\è¿Xýmó¥,ôM"W¤— $ ååßó;ÚWc»v ´ý÷•Pca ¶@ø?ₜxxÿÜ4jçE~i/8oÿC†û“ª²7oC¿»[Ÿý×Ä‚„…Iñ¼þ4¹w|zcÌ«þ :Gí”(˜þ ¨Œ'¸ÃëKü\qâ õ/­Õù§Í0ƒñ@w]™uˆ$ŸÆÌkå¿»TÚA+íà_Cµðµ]ù4üÙóúBœÏ þIè—}?ÿ cËÇ/Ù@–”€AÞ¯·±6f@¦û‹å•Vý“Pá~˜Aÿiuý·w!±ýð“K°£ŸýEÜ_‰Äd0èŒý§2ý"¦–sA¯ß-ðÜHp,Aë/—td\õÛ¼Æ~Ù¬¿êWù;”2¦ÿY£šcú}À—ƒ[ûw¿œÀxô+ ý0ëœìIiï¶÷ùÍDæ_¢tK óÓFÍ™1:S˜5_Æ4B„7Å'æoDÕ³*r©²ü¶÷Õsú§§Ž*åž]µ´‘ÿP‡´ÀŸ»$­Ç/_o +¬·œÒø+UÔŠà{åM½¢œþ§¼~©mÞߘŽ<#F’kSÑøË‰#¤cœµd|x×ÃŒŸMö½ b}ÚW-šó=Rö>”+Ò¯ÙkPˆ÷y‚‰!¢»xuy´Áñ¿5™‘2Ù}7Ó =A•º*,é d +endstream endobj 18 0 obj <>stream +‚˜÷+W|Ò,Fù‘o?@AJèæB^ÛW\Xúâ³ö•ód­M,­ö®£}l¸´ J°6Íþ Õ/;ïjˆìƒ¦Ïò‚ÒÜ.%ö!D’áßsì»ã^i\8ÔÍ~ׇ<¤NTÓp‹Ü­T¥e}†¥jHÞºq>®¾ÜaÁ¶§aèßS}´À‹:êØ”ÌZ©âòÌb¯”ú9Vmâ–n‚úJ¥¥ IÄàôUgÛÊß:òŒ—~Ñ1€K%ù&ýëê ÞÌŽþÿ‘#]ýkV6bjvÜ-úœ©:~è¥ Å@ÿ¤>ã½.§â‹uÕçs.3âøÀñ|¾š.¦xþû¹NÚÂ ÄÆöÌo™Ûbo~'6(_0ç$w¯Õçôƒl¢† ¸Ìù€»²pEüÍœ/K¬m^¼aÎß„0K¼Iônþ{Ì¢0h¬ØÝü¤ ÂŒ Q{7_Tƒñ“ò“5zˆ©n¾ÓA\”CKsB4\¾9NgÍìÊ{j¾F¸å pj¾$lƒÖ3Qšß¿ˆslÞr÷¾Ô|Háj>œVqĆÊ—# +SóÕœ(‡ó "dÔ|ºâ–Óõ4ßýFLó_œewåO§ùù‡…Ä ÆíbÇ›"ƒä}vÔNÆ£ Ô•’nav”Áå³l4P;|^ù1íNlœçhÊïo~•¯“Ÿ“Íߢ¶#%kѵÕ,òuöX/'sŒ¦¿ðæðWKóøu\Û0òF+ ÇGaçá–XÎ4~Ró’41Cõå ¥í»â·Ê[IÁ>)Lyqâ+=i9ºpK/â7ŒŒ&>ÆIgàÞr2üM`£eøÊ]Ù ‰ ºÆøð>z žÊ;Œ! +„¿3]¶x½ >~!õàú8a”r Ð=Ì¥ª½Áôœ¢ +)à'Á6»!BWÊ’A.2TÚãÃTé÷ëÔˆ;`ë{üÎÿ¶°‡ïwâáÁÁï{/qKТȦ zo@q %º|æa¸]µüã½»› ïž-à‘ÖÌwàsÃç0½µ{ ”‹aÝ;8Ίì<2”~tF†9ÖÜŒ—O·|ÄÄr§6e]ž¦è÷Au΋‰P=^X¿ý§ß\œ¥F§|˜“$æ6üê°í¯Ü§Q³.Ê혵 (c3!÷ZûîW §¯å¾¨}ÏC4×ñˆ4¤=ñV8¡e;ôÏu{–aõŠãÁ ³Ù î“–}…°¨àÓâB*„dßݰ©ú ΔgcXµsÆÃKìÏÁÆS132KØ‹Šö‰TÔ±ùµ®€½„Êãr¹¥T‘øú³ñ¦çh‡¾ë=¥"…Áッ¥p3s=é +ÈAŒz4üéÖ;º; V襫õ¼*£3“¦gf½®Fº`ØÀ;¬ÇÑ")¥tõ,‹<Õ_ ŒK-VORdæQDÕ_̺3×.]Χ>4DmbÂWý@K}ß"ÈÖ<ù™>D£>ïýê¶Ö6cB½¥ž#%ÖXŸÃ§§Lµ# »Óé? Yæ«LvE›¾–ƪ()íâ˜8=jé­®U‘@õ„Ò‹*w`º+/“ùH/™@i ˆ„‰^RGRÂrÊ)Ð:„†êå%Yô†yìi"Ñ»NAf­;ùíkCÏ_—VèoäÐësIðð?4ª¾ ýFöM¤/˜r z!Ü{¬ƒ¤[Ð{t-Ù™#µü¼C¤oFý½çÇïBú÷ü“„„REó<_ÁÚˆ +h7¼w¾ÛCoïû^ê|,|øW¨ÏÍys- è2-%Î{×ã”—º“ùÄÙÍ«¿à²yÕ“6ÆH¾hš‡5ÑWËÔüÐîæÛFèÏ|{íÍCì%_æ[2%X6혿1P‘Qôî†y|ÍÑŒ_ϰS8~˜‚–£Ëws…{_\€Í–Ǻ"A»±¼­…G@ôXžÔØÓËòô€·jåŽ4à2k2**o«»!—lF'"å¹éŒg‹_L/‚ûäOJÀ?_ÚÑQ«”û3fFyÇ’Ÿ0Þ“qJY€$oaýõ´ÎµÎãFžINT†ˆ¿ªDÞ+¾o)þÆÈ„<“Ìä§ß§>+RèÏ?³ÞuÇ×WñJG‡˜ò˜Òå²³oÞ½;¾4¾=¯øNºUŽ;Î +i40tm +þâ}óYh·Ô¶ø ÒêìK°Åºâd€màôን⹀[N< êfçvCkye‚9%~R“O*$ªQ?ÿb‡|Å8„@üeŸÏˆZÔàáÕ¤ÂbÅuû–7¼ž+~¤+TX×*9Ì0+}Ñ…÷8ÌË@'eÛ©ð\‘ÞŠ˜Ç{,á…±âütö–ÂCB9RÚ +=àÖŃªI¡Í ×w˜«+¼hfCTxl‘ÔêCE¼ÀÙà^Ì­Þí ¼Ð01ÎXõáPG[ÀÿóF­âÔ™u}¬ t‘¨€Z.G0üõ‡Ê:S¿ÌeQ©«¦r>RÇñŠôH¯kp÷†ü¯çÝ¡nð¡}Z~Ô=•Ê}zvÜ}#¿½ÙÚK8ª¶9§ÃƒÅÃ2o:AB¹Ð3z8äYÓée–3=Ÿ"êÓ«W,¯()øréû3¾äÉgŒê+] öÇ̹”Á 4CþBQÁ{œôãJÒLMã/HÒ ÔI"½|¤7˜àþàé ÁÝ~tQB»Ñ9‹·]Ù c2úÀn BÂ=°'ˆÊÏIF@´¤è×oìkK³0wIt×X¯f(ò¬=N§÷8j]q&î ½™Ä¾M Œ<Ú…¾›{¶þ K4Á)¡3³Å=W ] yIfY£§t»ñOášu«M™ä€w"Þ ž@‡ÅÛ\߀¾|ø¤§Ô˜.knäºQøÿ<4)ÑþÏOXsKÉ^™¥ü~~³ßÅë~ÎÅrÂr?ïIÀŸuø @¬mbK‚£ä G:^¬@G.×K€®ÒƒN.v¯ N^9¬äâÃÈô©þ8×ðå©notZG@GmÞ¸Õ™„@G/›åP}¦|PÖ ÿ@ou"“åRè´ÄŠWÿº+T\ÆóttZ"G@ȱÂa†œne²X¨™‘ðç„Ýpý!—Pê÷¹ôëýè}^|u"LTJÁû|à‡yö J½Ïé0kðPÚ|nðaš°ª {¨RÀ&6==/„¿òš¥<ïÙ[­_Ï×}ú1ðóÖàÎ˲˜»vs¯s“Pä9óÉ„>Mçg+8¹PsΞñ>óZ”s›[X€oˆmq¾€î² C.8ú^¹mCi&y_²¸S :Ü܇Df= ¤2Ïæ4. û:Þkþ\mg-VõPÍ÷…‹œªhiÎ +]W<>jª¬&ÇŸ‹=gÞ­¹¹¢åÌ[f¦¦iûŒÝ&˜ù2j(]Jæ×â]ã7x¢Í1aVjçòROóí“¡Æ%·¼âŒ/<07†k 0#Ð_nÄ#R%¦™Þö].³‹ÚZA$æòyæ§7Qo¹*™#p‹|µ¼1•ºêN»»ùñ*G{X~Œr jÁ3Ò•{:í†e9ÕN`åÁ0¹¹þ0øT¾%p’½9iÜ)'8ÀWšó°:€W´¶…½ßò°QþàšÐ´”œ `iÌžæÉz´Î!&TÂ'¿Ý,AåLNN;ñnf?ÕKNª~É€£VÉ×sd¬’{Ž’ªA…Tš0É#{Ê–jìÊoœ¤¢ƒ%I:ò°J¸wo¬#çJØ?|¦Ò‘ÛÓ>ûÞrªß¾¤Ç6¿àC‘oÝàÊ™A‘³TŽéÄìôCž¢×Œ’ d…Üÿ)j=èJJòãѰ¶ËæÇ%ÜïÛHfIÉ£0íìÐk\ùñ¥+0÷É»ÃUs^íS??î¸9r1û–üø\Åo) zOÖçÇÀ¹^ ¶üx"/`ðS~œ„;Z°åÇë>¨ßñÏ»ª4#RßV@žûö6ù´ÄrÄŒ_ã°XŸr“`p³£½ÈËâ& Èí›vd[ò(Zj4—…QyŽ}𨦠+rÃOúÑxÐò…Óe]ÆN²Q‚\»»>%XÈ9»X©Ø«‚$ˆã·@¦ª /|;Ý{Õ!í(jʰŠläO' +¯P7¬ãQä™åÏ£‚TTƒªAçO è«äRŠÃªÃ +rë`ð΀¤ Wuà‘Ê'ä&ELÈ¿áß…Ÿ¢6pBþQ÷ }Íþ`BNçÜ4ˆ-Ì„|7ÄCzžÊ¢åOÈ)ø–ä/gÅ«^¤£ ›¡sʭ㨠 m°t>ÿæN—uF:r›¦ûmV{@©s«IŸksåT òÓòˉ­gT¯OùÓL@`¹£ÒäÍU»ßhÇ +'Èc|²t@©4Lb3òLýÍH3öÝQ÷ƒ9ՂܰäP{H…ò[–Ùð ŸðaáŸ÷~N¹w%ËÛ@9”T/þ"‡™èùD9¿&·5À)‚œÅþ,.Á*È5Jó„œ7Îþžò`Ÿd7ä ¼û´&©YB¾˜ú3^BîD‚6ÝcS«›„·y¹œ6…q¢GßäΓ놸*ö’³Pßþ À¤xXŸ 5S„îñ1læ5{€ YŒÎÕOù*–ð.ZH–“øæ5€É ^ +ø;˜éôˆ;ÐfØFð,IŒ<³"n‘ù6«ƒ{œ`ˆ¿î ¾Úz®R ÄÄÊäø«4þZUøKØ_탇#ø|ÎùxÃ'ቀ|aOä€×~dK#ÓyROd¨á{*LFª‰8Úb†sпša ø–éÃpÙÈ_Ÿ`ÅÐJN…Ù–O•;E,œy«¢ÈD!@Pá d-Gÿ„¾óK¸ý Ý_â‹Hkq#|œøR áO…g£^(ã˜ÉÚîÒÁ»®^¨uð<œZüá‹5x}6€bð¾£=ƒy¯,8¤¼'’|Î-ÐRð•,÷‘‘FI:Iðò\m£ÁåÀ>vܺÞ¸¢ù“\õH²]àÎ nÔelk3ÓüÀœÀV¸cdNª×.Û@Þž¼”o©€›k †­PTç†Çy«7ÌA£ë¨ /8p¾gi¶ºéü‚ì8«ŒÐé¿Y¤f'¨Øï3ÉŒþN·T6Ø~¿w\3 ÙœBY¿oH±ìAÉ|²Ô°ŽøMœ¾-~™D £oÓÄç²û®BC‡ë;~¸„²owxXÎ*a +3õ­LaËtAãV oЪy±½.ß,Pî¤ãÛIý<ƒYê¼ðM›1TÙ'ë ßÛì ÿ"Â;÷Vp±ì¹¹£>ãJíMîYn@2øÉv +{£Bã¦Àäå¶c‡R°xů§·:¶ÞU¦|0¥!FïI„Íõ¦)Ôóö9˜ œ {†4o>¡×´òž§éÀ3í"ïçÀõú«‡Çf¼ßN|0†=ÐïŸBSŒxcŠSU?\~M:x'ïJº>°Æ,Mþî.êJ¡É[9êÝýJƒÝÍ­ w·WMVÚz êHÛý(ŠfEîA?ænqÐî ®ÕÌÇT “>vc”aôºW¼K‘~LÃs~iÝKp5o/íøª»U5£¿pQ,®FÝNHE2JÓ=hž˜ûѶé6A¼™?v³MË‘ÃÈ^•Üú?·«Â‘ع jœ°T#»ÍÝ8Þk²§úAæ^i̾0Úro!ÓsláI¹é°6CÊTø9ÛInµ¬Îzÿ6â#€Ü<àïmøÁqcã&*°B§3ßâ>þE q“b¦.nãkåœqT³ƒ‰úϘ7ÕuA»?€ pËŠÓ zWùsM&~[½V£oèÞÛ^,5b+Ó£ÍÛ:LfÍÙ°»Íé4REÝ~¸ûÛ–ÛîzðÁF±Ü~[щ씿%ÄÍá6¨<ž1h§Û6 ¾¬QËŶ‡>E6ZPÛUR…y£Ïökq륷еD\¿È‰dCzèÚ‹Ô̓mr”ŒÛx[v½¶Õ)L\{!aé‚Ö~ŒtšEä«m( + ¬jWùtê-µç:Í!OލLjgÊU¼µ€N[sÿ¬v§nbÚ=5Y8DREÅ'móºù³Â£}I•dE´¼ÍÐFŠŠõ}o6´C`^¢>['ã¦;F ¡ˆg;ËÌ$Ï.º;Bgãíʉ¿ÙÏY·Ÿ(«G·fO¿*ÃÚŸFFhyíöêî†Ù>]6*o`OÏäƒb¹F ѯٛÕA¡®:HaGBAmBê0¸Ó-˜‚z·c³2ÿ8ZA]%åG4¥‚º!ÃTÞž_»2 +jr'A¯E Pï‹ãp€”™ îö‡øÛƒ>ò ¦Q3󠎘°>å[º¨ÙÔ^Îô¬½ÉÚåÜÿ$È*øé›™ )²ÒÀOŸº1=VK7X;üôÊÎê ñ½nÀOËñ–;sb¨«\BAAM ]¥Ê[P‡"xgѽXP§ jBƒŽÊ\PÏ à^,f^ êÿíš„òrƒ”“îa $A‚í9à^pï”þÿ§éúÿßtýÿóåÍ—·…^ùyå]DÊ”¤”"ûó‰tý""" ° C¯ü¼’d¥¶"®$²$;}lþïíÿÒý"Å<¥Ë¾ïÄ È âýTBð^ºãÝ:âµûgPîRœ[ÄÃyÈk8Κ£—vçä­Ý9|h?ŒµE-»¿;€j÷ÐdœÏÌcª$)Ö…¥Fú/æßwâ$¼¹>:Á¤|ÞX0Þ?‚p?(Q®jÆãM´x÷sòÒþNŸ›:œÃƒ +çp¡Å8<ÈP®*†b‘cž·±»eØÂ4Í׬CN³oôÎꚺ²Y(Ñî> +ˆ;’q¿µšj6©e÷ÖN íd:¾§l(ÚQ% +o( +o& ½†Ø”õ†ÓÏ{ëI)®¡I§?àù—;qþ©‹÷5FäݤIVºìû‚`ÚŽpÚÛ”6•‹Æoäx—ãØ¡ýž¿¶ÜiÓ/UÐ×¹o@@Xƒ—ÒY‚’Í9jDár¬ó-=„!˜4%žö&œ´ƒ‹Þ@çßB”û5tcvMX­ã—f? +þ §œþ“ÌoÀ³/§™û²gâºh"Ⱥß*ö H?æøëàµ}ž¾¸oÔ˜—Ê}Á´7¯ºÏYYÔ³y«iT|g0@Äwû#s^²ÿ#H½SwvSųŽ8 WÂÜÃuøÔ~ =ôXwOÅ`¬+Hé¤7œ~ÞŽlÒ'í%L²/rÌûJ–}¿ÑŽI³"%ôÕ5eý†£@Ôo‡ÜVCG–X‡G‰ ô‹‰’Œ/(qø§b(ú €;â¶/”H÷…ëüYí÷ ²ýŸÂ8ߨöyÈløáÛJ¬ûA†qø ޳wæeÞpZ¦íÏ4rc3M]XÐìŽ2Xwl‚?d!µçS^«‰é߀ÄÓC™ú Cº£ƒ^JÄ¡ïÙ‹ÃoìÌžJÿ“h >”X‡ßØ™y™2/»° _ªãBÇ\J•zùá \®Ó‡öoìpôÒn¤Ì<`Ð3m’}ƒˆ¿Ê¢ñfûà/ð–#Û âxSp²YW X¼›FÇ·#7ŠÔ»¼P´­: k2í+ŽÈ:Aé_NÞÚ T÷•(É>A¨à7ÐIÆ8ÿ> GßÀÅ¡Z¤ÃsðÔ>ŽÚÇÁCó<âµp"\xh‘.÷ |“`EÔ‹Á€Qp+ s¶% Tð6ºÄc"ÑkwLÚZ–õդݔIÎ!Ÿy¶.ðÌ[íç°üœl~ I0q dO3F˸á`À4)’ï3PÁXs{`ÖO¤ƒxR¥Ø? +~'Q1î4BìŒ {Àµ?óö®É›{Ûj+ ín‘ÌY룒FÀéÇe3GvÓ¼‘Ñ@q¨ÑÂosWfÓ¼}Ñ?q¸Ï¿»AŒDûAŽF{ ä’æ¹¤¸Hô>?ˆ +J +%Êý Cº{ “ïG‘ĤH¼¡L =æø%Öý÷Ïcô˜÷:ýðžyÐàÝï‰óJ—}߀&_ºì B„Ë‘ùðž~¹S§_ž¹—Îá?q8Qâ]Ž©—1âáJ•z¹Ðbb„ó=„l \cçUßôÝ6ã10Î^Z½¤9¾;p)¥ÃPZü++%j*’ôQdßtHçwúܼ_Üïé‹û6rd·ŸÚ?zÔû Jï(SAü(ò.ßé[ÃuôB ó&LqìÓ¸…ÙÔ1<“Öeãô•y²š—Y ƒgؾÀDv¾¨rR”»õ¾Ò%^x sü*ñ|Ží¶©³‹(é<†¾Z£±VbÐ IÎÙ:kuŽíÎÑK» ç.ñ¾Ï¡›]CGVÛÔÕ@„s^(±î=æ=Úéð©}4®Z‹ÆÁC«¹û²gâ¸j¶¯:‡íßà™ÝN=ÁX"”à*Å»ZCq s|5Òý¦O²o BÑW_8ÚÕŽþ¨±ïó¶Ý:äµ;irßö¼'0á¤%0Ѭ/ ÁüÙ’µhàíC(W߈Ïè Å9û@¨à­‚ ®ðÄs¦Ši#eæù¡Çº»IÔÏæ&™´-\鬼@¼ƒåî·¯GlV'yây§R?» +ƒñ–2QhÀóï^°âðnêÿ¾·û'Î2´Ë +é¼P¢Ý=ÔˆgK¡@¼%ᤫ-=‚OÁ/e¢ðW[4Þ FÿrÀ¸¯ÓÇæƒ ãpždTð+8Aè£J ‡ï>Ï_ÛïtóG”xCŽr¹Ñ¢ÎC†ó6pfA†rÇNÍ×Ä™Ù9xkÿç/.OšÜÈúá Hæ Hæ <—$ÇùÑcîøöáˆôU‹wdÞm“7FSÏð/ ×’aëú9êÕ¼‚±Â  ­ (1odÎM›€~g¯ ÷ñ‹ûJ˜|Ÿ©’ŒÿüÍùœ=5O´x‡K™(ü PâGz>nxR¤^—ϼuÑ3j\ô [˜¾á û?…o‡Ï즂Ù_µüû£èæsüÎì7®yFî ¼CVû8{i5ÏŸ›ý“Øæ!åî¢I;4™ç}áî<°zÆík®©«qîÔ¼y­Ö!Ÿù¶[‡Ìfߨ¡ÙDŽv<ã¶ŸÃwæwúÖ~Î^š¿¡;»iÜÂì™´.ºF.̾¹3³eÚpp_…è`!dÒþLãfw0–•Ȥ]¥±x7pqøÈpt +ýóI˜} Tú+ I{ +B| s܇coDÞŽhú L8½'šw·¥ÍFáæž­ÄÉw7’ýŽ6…(žt—ˆeí4ê÷oòÌj81úÈRïÆòp¼·A*k,o#Ê»o£g6Ûà™Ñ:ã´{GÍ#ôV77È%}!Ë(ÃQ:•P:ûC²V@jø\ +æEŒxøÝ™ tHws…`ÒŽpÒ @ ‘÷p#Ç»üèñ./ZÄÃù¾Ò¤7 é‡3eö}¦Ìñ—"aøœ0üMšb€pŸgì†ÛÀù·²[§oí Úá2Åá¥J¾Ü©Ó2Ì<ǹ’dᜧ £eغ¾>ƒq¶ƒŒ5…%žóRæø¦’}o³dÚÂà?6û’ïÆ¤¯pbþ~Ia‡ B¢¾Ú ¬yÄo?Èî?‰þìÈ;‹#ònâôkÊ$ãM›ãüÇÌãìù Ä8œp†-LÛàÙ6sf6 ]Ø \xÆk®¹£iÞÂh™´?˼ý™Z–{©f÷Mœ×\“'6ãô•Ù;€löÍ^™=ó–Ï1`~«s}µ:Þ’iÃ盽²ÚfO¬¶±;«‹(í¼P?¯„Ùç}á¨e,SžkèÄîö;GŒvSÇn0õËþRÕò/Í•̓eÞò/]˜Zv;ˆíš:ÇøRf‘£Jœó9ãµÚ'0ÎFâ» +ã¼O¡›Ó¦ G +ˆ;‰Šq¦Í=\h±Îÿ ¾ÝAr7P"œ ^ÝCèf'UŠoòÒjµ.ð m4‰ç pú}"Hº£—v×Й-ÒÙ<~põÍ™}“Gvû¶ý$K>¿ …¡Ï0e”Þ¢2âöEÔÆâxÜákû>€q>i ð¢ñ~*-¼‡ë|`¾3^RœÃõˆ ëþâݜÇéð¢F;|(ñZ¤ËwúØË¸ý/5í{©j¸Mœ¸ÆÎlö1„³qúÎì·0ðLÛØ<ƒæUϸuÍ8}g6àš÷9|»‡ëî¤Ì=ïàÅâÍ`…áÇáK³iâÀj Â¸d™÷•*Å<n6µ Ÿ©g88†ìöRÓòï WM#6ÓÔuÑ1^sVL½CÖ +:”û>p·Î¸­þI„»‰íüΛm3‡Fר‰Í8{hõθíÆÙ3»qòÐnÀ7;ˆÐî9ây!ź{gÌæÝ¸æ@5 óÆî¬®±+£qöÎì:3Z&ë;æ |«$÷üRfßïdó4raõLœWO!›}`Ð9ÖùqÛÇÉ;ó6tdvܘ½3v³ P¤#4áw›dÎDsîÔ¼Sçß?àè“&÷p¢F<Ï3nÃuÄkwPâœ?’ÜóEw¨pÎ÷ü½ýûæÍÆÉ;ó9xhÇ.ÍçÜ©ù›º³ Å8©‡=îÙH–yžˆ±ng¼†ÛÄ•y<4E½o‰‡/]òåB‰u?GoíÆÑK»}á~ånñš÷ „»(õî&O1NäˆçuÈkw  ”ç<}‚÷Rfßgâ3éR4gK4g¨ÒBœ;³ R8mG4ç¡E<¯Ó·öå† íp C¸¿Cn»uÆi^¨1î)Âá;€l¶ Þ˜M5 ©eô™÷RÙÂÞ»²™gÐÍr¤»sÏhjÚý)³µhèÂÀ<†l4ç¤Ùg'iöÙCv6Ñ#žm4¹gYîÙLÿî1m¨ƒ^ˆ1(‘îz¤ó>…rµ!Ü-¥‚ÐC’Yg@Ú ^ö ²}š·/[f ,³†ƒeÖr/UíÞ¢žÙ^êîó¨g¶7fÌÞJ*ˆÊ}ŸA7$©÷‰í< ÝX†­ë‹#6«uÆi7¹Íï×î D¹Ûï/eŠ=ÙÍÛÔÕ5tduaÛÀ—Baè‰óìžB¶»gðíÎÙKó8zeþ†ìî!|³—4ù¾ƒ‹·N¿£‡vÓ¸Í5ue3Î^Z=ôHç”ÞDúºy²›ï|»çì%N² …‚ÐVâðFšì»ƒëî¼[1ïB¤ûG’z¿Ñ?’ÜóN~9Tiáí cý dÝ€…¢m sœÖù1›ÏÙKó4pbu ÜØ=¤X‡+QøŸF#.thç™*ɸT‰C?#q(±ß·ÕÝ:ã4ß3Èæ å~`Ûçùcû?†oŸˆ±?’ÔûA…tŸg܆ëˆ×¼ŽŸÚÝ#èæ‡é¾OàÛ×!§y²›'jÄóEŽyþhï/eö}›ãüèßg âÐ? +~¡Â:§. ÿ„ßBÿõ†¤­ Ä d(÷mæÆ¼LY—Ý؆7mŠñ§Q¿pReT÷…åò A¹\G¬öqôÊüÌ[mCGf]Þý¢€ÞÀ' ¯ºXü\8ú)‹¿èñîË yp{³zÕnlÇ{‚L›AŒÂûïî!dûCŒvŸÁ‹D;냲~P£Ñ«2½‘ã]Î3~»}ßþޏíÖáSûFzÿ©tÐ? ¡èŸL½OàÛÇ©Có9wj?§íóˆ×Â@‡o¹âîøö}ß¾ Z-sæEË qÕ<l¿ˆ2”ûH‘|é’ìãl81º¦¬¾Ù;›yüâl Â9dH÷ƒç|OàÛ dHgÎyr›ç|³ã¼Ñ$ž2ô DÞF‘z7Ïß›Ówf÷ºy¡D¹OÄX‡Eæý(ƒ¸ÕFdÍ EâmÀ“Œ -ÖyžÀ¶(Î3}Žo(„_Ê„¡7ð è(õn¥Ë¾D©w#aêÝR+í2m,o)†·” Côï#Uîù!ƺ¿d9þQ&=‚Ñq~$©÷&ñþ‘äžO²äûM™düÀgà? +ˆ+UŠýPbtHç} +ÝüŽ›÷ |ûEŽyÞ‰Ó?Ðé— Ú}?7ÿCç‘&÷p¦J2ž4¹‡ !Òý Ã·\iRŒ?‰âBq$H½\Èpÿ”Ë… +íð"G;Ühq?‚ÌËwÄm7ŽÚí3è†1Ö}¤Ê»œˆ±ß·Ý;ã5¼H’/‚¼ûI“{x’%ß/‚¼ûE‘u¸%¾d)Æ‘ùò¡Äºÿ#W)dH‡ëô©áui8‘b]Jˆ+Yêå6rc~†Í«–Ëi·.[‡|öuÆiž*f©c¸w¨‘îUÊý¡G:¿tÙ‡;q޹€þý¤Ì=³wvÓÄÕDt_j…àW ¢ð6:þ;ƒk5MØL#6ßà™Ý@†tö‘äžG²Ìû;‚m5•,Œ“‡fãä¡Ù6qe7šÇÉ;»uúÚn›94›j†ÏT³œ¾±3ó7wc¾æî랉ãªgؼè¾3ƒgfÇxÕÞ˜°ýµ±+«‰í¼Ü˜çñsóD‹wj\³L>Ï´yÍ;ä¶;(QîÆy½4;ÍÆÉ[«yüܼ‘¤]O Üí3w -Öy¡Åº»'°Í×БÕ7wh¶äÝ?ðI3qêåP¦‚ùƒŒ÷“(áG*øŸJ=Rdßß·Ý;c7›i“ì§^,ÚP"?“fîôù÷›.ÇùÑ#ßwúüûT2"ë+È›AŠDï`âG +ˆIê}¢Å»t8ç‹ ï(óðÁ¶Û0Î/Öý$K¾ï´é—C‰üQ¥„8’¤Þ:´û=€møOaœ/Š¬Ã‰í<Ð!Ü':ÄÃyÆo· œ™ßé[ÃáþÍ\ÚMÓ6fçÜ©ù Bº¼iSŒK• Ä«+¿ˆ8T(!Îd)Æ™.ÇùS¨ n€‰2WÂÜãJâQ¤a%K¾?ÔH‡ßÔÝ7ydw¡Üg²ãJ–}_©Rì…çð>4O´x÷£Lñ(ñƒ¸PbÝÇÑ;³qòÎüP"]îó÷öoäÌ|Î$8‡+QòáL•d<'/íSÅ>XF Ÿgܺæœ1Þ3Èö©iøÜ;høÐqpVbÜ÷)tó5ubuÎøÌ %Îý@6{çÏÍöAl»wüØ|QeÝz¤ó@…q~çOí¦©ë¢eØòY¦- ÖáSû>†q6NŸY]ƒ'VSÃì­Î!£ÖžQ£eμÀ5raöÍÞ˜·©#»gÖÀj*Y¦Žå`š70º¦nÌ–aóྠ+Ñi!¨g6x†Í«îÞ+«žÅÁŠ:ö½<€ovRæž§Q#³mæÈüNŸZ>ÔX÷uøÔþLZ—-æwÆk?ÈîïôµÝ;â¶íû徑ãž7zÌûL™ã¿tÙ‡ëÙì¾4{çÏ­æ l»‰ñ5¿TÉŽ-ü +Lú"F½;G/í®¹ £kèÀî"Å»0‘b]Žc‡†ëè©áAˆo9Qc®C>û3l\5• ÿÊ´á`À³c‡f˰áà˜/pVÌ×WK†-ŸqøÎìœ>´³7æuÆh¿&n¬¦šÝ[Ô3ï•yË¿8d²[rîÆÙ;óÔ²û#æ·bÈê­˜°Yk&. ÎD«wÕj;°Ù†/ÌžyûSÍò/uì{{xÖŠ£¿5tb4žš-³Çx·º «{¬Ô3ï‰ Ï3qa0̓eÚ¼wf.ÿRÇjoç C·²À*æµtüÔn¥N½›&mìϤuÕ;}j¹Ð¡ÝB¤û7tg÷Ï Üm`sœÞ};5;GoíþœóL–âhàoê Â8³WfSËî/Õ,ÿîø¹ÕA‰rÿH’ïVPÑ–PäÒsyLÞ H¿O1d(÷wþÒü Ü/Š´Ã£Lq(QÂß´)Æ›4Éø!œÏÙc³uøÔ|Ñ$]^]¡ø˜0Ìïr Á9(°î÷²å4nböÌýSçãü ÞÙ]WVçì¥ù!Å:¼‰³/Wšã=‚mgoì÷øÅy$H½|‰r/lÔ˜‡ïð½Ù9}hçNÍÓ¬Õ2f\´LYx¦i ›ià¼ê6°¹‡ ç‡ íò"ļ|è°.ש{ËyôÜÂHw\N˜ä°Lrø€&`8g`~`Ó/ì3è†ßÌ¥Ý8ukwÙC—v#)òåØŽ¿‹C_ªäËqðо’dž„‰‡×ЙÑ8ti·ß[>dh—+YêåE‰wùP"]®Dɇ;yŽs%Í=|¨±îSÏÂ`*YÞ!¯ÝEŽyß&9œäÈÇõ#(÷wúÔrñ^S7VÏ´åõÌ×—jægµÿ­É£cºf­ž•áC÷!>ÈÄ…·¨i‹ÊfƒwÕl ƸÛGqÍרyÙ1_Þ=«†îCXɸm-ÂÙÔ3üÛ¿XVT´°Wæ, î^YY1cà,jš÷ÒÔ}sÍæœ@³úFl6Ç|}µú•† ýÖº¢–Ýßš;0šF ,£ö¿Ô²[«ƒ=€è¸Uˆþ¯BÄ€ÍZÔ´{–Ë¿3p8Ýq-1^^­˜±­¬ŽoaňÙYT²\‹:öµ¨]7-ƒÆEïŒ×ðqÛ÷ tÃkäÂìŸÃ8;©Rìù€é¾Ð¡O’ìÑ*÷|‘$Þ½Ó×v˰yyeÖò­1Y=ähw 9Ê} Å8»GP®NÂä»ú}¦M¾ÈPî¾å;㵿CNÃqôÊüQ$^E:¸CVû4r`uŒ¾ucwføç FâF‹zxΛ·™C³kæÂì˜/ÿé©c\àÀ6Gí¦£iâÆjš72ºFÎŒþ!„ó@Œo·Lš×ÜïÙK Ï5ob·œ™¯q#³iÜÂj9±?ƒöeSÁþ¦Á1aô·æN¬îtó:{mõOaœ:”Ã}üÞòÀµp ܘ¿©+Éëp¤Æ¾©‡èçFz_‡¯íãÜýœ=5ƒ—vçì©ù²îÄ9ΩV,âH}ø]™ÏÉKûH–yÞÇîϸ}Ñ;ä4üè17pù—;a’ÃI“{xÓå8gª$ã@ˆpøNßîã‡ëŒÓ¼Íœ™mCgf#MöÝM˜â°‘"^˜(ñ.߯á5vctŒÙ½Õuu%—ƒmôÈj*Ù½Õ½<ô6ô/=ß²âÚ1S×åµùÏÄ}©g?«e…è\^4wbY9gà²Ú,ÓæµE'楖åZýÎúе8xè[4tÛŠ ŒEu cÅ ÑXýæð¡{P¡g]Ø@uõhæÂ¼5zcàš½1° ß]Ó'ö){ûaÕ½8tÂCÌXVˆ°-¬¯9‹úåCPÉj-*Y­ö Ñëzˆ zýÁCÎ;‡‡«ÕVa xÅyipÂr«œªœ°N\*'ª2Û‰Êɪuâj«œrª«uK5åDåDåôsx°l'wˆ b`fsbäðt°ªœHåð¼‰ÅÁyy!´Qe«ÙëÕµ«ÝReµ['k6»­ŠóÒr +[ÛÃ3SQ]¯Ý.•¶»­ê^­TW5+ÕU›Õj¹Ö*l–{­^¹UjÛl–kÕ^±TÖ¬uk¥¢ªVm­Uëu[EUµr­ZJµÅj«²Õív«½Új·ZmVËåf¯V.—K¥åj­[*kuËÝV¯jU×ëu‹Ýb·Ö V­5»½âZ­Ö*ÕUmLkÅZ¹ÜkõнRÍ ª²W-¶›{ÅZ±jYlu»­²^»Õ*ìVíºåjÕî­Ëåfàb»Øl•{­âVe¹ØnÕ¶êºÍn¹Ûì•kÍf«º[.U›Ý^±Øì›Íf·ÙìU›½^µW.×ZÕf»Ø­6«ív·Umöz¥Í^µÛ쵺ÍRu³UÜ-¶ºÍr¹Unöz½f¹Y-7«µZ­Znw›½Z¹TÕm¶‹íb«ª[m¶ªÍ^·Y­6«Í^³ÕlöºÍn«Ø¬›½^³Úì5˽f¯Ùëuª*»ÕV©²Õ.¶‹½v«Ü-¶Û­jµØë–ªªÝv³U-v[Íb³Ø,¶[Õb·Zlöª­j¯ÖꕪªzÅv­\ë›áŠÍ^¯Ø+·j{ÅRa­W¬ÕнV­Y«›µb·\¬›ÍVa«VìÕZ…ÍVa¯TW.–»µV«°Wn5[EUµr¹UXkK…Íj¹U*,ÖºÅRa¯TØì–Š[uÕ½f³ÙîõšåRa¯Ük–{½^·×ªíµšÕ^¯×+6ÛÍr³Ýn5˽V³×ë6‹½^©²×ëUKUÅ^¯×ª«Öj½j©®Wn¶kµ^­Uݪm×zÕr»ÜmÖj½nµVªkk½Z¯VíÕzµf­UÛlµÊzÍVY±XkUµÊš­ª²^³WWîµ›Åb±Õ,·êšåVa«Üªl·ªêÊÕv±ÕmÕUK¥­Êj«Zl–k­ÒV]­Y­µKUu½Êj«®×)­6[eÅZ³U-6‹½f­UWkÕU[Í^©ªºÝm•ªªJUuÝRU]¹¨ª®UÚ*UU·Ú¥ºr¯Ùj—êzêb­Uתª¶K¥Ír­U.Õõ*{µnµTTجÕJµ½Z«[ª-Õu{­ºVUµT× YkUKu­f³T×l¶[¥­ªj³Ø*–jK…¥ºb©®Zªk¶ª½R]­\ì•*«½RQa¯ZlU«¥ºf©ª¶TÛ Ú,·ªJE¥¥¢ºr«ÙîVÛ­v»U[®¶ÚíV»]nµÛÍv»Öm·šåv»Ùªl•»ÕZ·]-7KUuµín«ÙjV[ÕVi«Y-•u[ÍZ¯Øk5Û¥êV³Ym¶«ÕZ«Ù.7{Õf³Ýí6›Åv³XmÛÕV³ØnU†.¶Ë­^±ÝjV{íb³[­5kí^»Ú ØkÕÚÍb»×,–[ÕÝn³TUk·›¡šÝf³UÖ¬¶ZÕÍZ³Öjöªª[ÕµV]«´Yªn·«ÍV©ºÚª6[Õ¥êRu«Y¬¶›ír³ÚlVK…åZ±[n5Ëåf«²\.—«åb«ZÕr³Ýê–‹ån¹Ùê–›ÕRaµ\k5«ÕVe­Õ¬6ÛÕv«X.–ËÅr³Xk×ZÍ^¹Ú+÷ª­²Z¯\.ÖʵZ·Ölµ*ËÝVY«TÜ®µJEÅåVU©¬W«5[¥âRuµÙîÖZí^±Ö®–kÕVeÈj«Ü­–»Õj¹[-¶ÊÝj¹Ök•»åb©¸W]«µÊ­ªÛb³U­•»µn·Öl÷Zu­Âj³Vªª¶*»ÝZ»Û*.•ÖÊ­b±[¬Õª½V­[«µªµV¯W*íöZµf«ZëÖjÝj·ÛjÕ¶*[uÝj·ÙjÕu‹­j¹Úªª­¶jk­Ún³TÛ*ëuªªÝb©¸Yl7ƒÖºÕvµØí•kÕf­×®–Š«ÍVY»\ë¶»Õb¯T[.6[åb¯Y®ÖÊåZ¹U®6KÕÕZ»U.7[¥åRu¯X«µÊzíj©¸Wë•[¥Ún·Õª-–ʪíb·X+Uv‹Ýr«Ví6kÕVu¯Üêµ[¥Ýn·ÕëÖzªj±WìÖjÅZ¯WUl†íµk½V±Ý*k5{íf·ÖnU‹åV±Øn–*K•Ín­Ûmöº­f·WìÕjµ^§®×,Õ•»­ÂZ±Um–›­ºZµÚm—*ª”A"ÑÂeÈ¥‹¿,Âf©xd°2‘‡£$`PJ×”‡= 'u˜ $ÄùX¤Ol%šCÙ ‡(Ý4CoC ß\¡gi©ºíTŸ€¥ê´ÖŽ¡«í `»nÇ¿¨q]dÚÊ:ø0îaY(bN_¾’>ÂxUÞè–˜d¯hdß)xÊ8™Å…d”Žu§@,û ŒRžÈB&W^`Ë[žòAlÀ–ˆNíšY¤;5`‘î4Lã]"“ä"¦{BxHö¡q‰ˆäP0H ^¸&Wd« *)þAC’ Ä„$ùG +J²‘{CpHŽ}¬Ø\\˜©ÂŠY–(7Y˜¶Ø9l<.On@0_ìÈXÆ"EOÕ"‹Jú1!ù7$TÒO¨%"ÂÅ$øk dñ^( ù°4‚ÄÑ¥ãU7 Xe X`å&Þ<°Ðzh¡¥à5^ú=±¼¼”2‡iZEÍòÅ–1È#a¸£lñ|X°ÔƒZ`[–VIÛ„d2þq«œL¢7 „tòH¦ea’ÄËH%|Œ3¾t‰X`¦+/àUK€—-³2-ò–Ж*¶UòAù|´ƒ$RÉŠÈñ‘ÐH¾%&"ó’àp´ƒÒÃÑJRÇ&qFŽx¼#PîJYÆDOPi±¸Dq„¢’ÆÏQÔ‹` »- ¢¬#+DùGq0t¦ +,gœ…H99Oå6'ìQ ­r™ihdÑòD•²³rï·¬ckÌ%K½‰x$ÑP祣’ñ¥ã‘¿ÊÃ#‡”ˆC)…H*ÁÖ[r·ƒ2äÛ5!‚«Uáá•, žZñ‰S ø“#¬œM¹”ì#¢‚²OHK±’zFpDò‘¹—Däž{JLHŽ›`^">ÔT<ýËTÅŒìËÝ8äKÞY:¥mó¯‰å帉æ&å)¥‹-aO€G +ñÒU¹£KX$.]œ'¨¤yvF‘ó‹rê—6‡D€·O6¿V(1£QÙá%Pñú”\"þDD’Ø„I–;îJ|.Š\¬J |jŠgð":gc +v‹òãG +±â¥Jן"]oR|à`ZXä__^à ¡,⻀ȣ–/Ébäq@Ø21‰ ¥ß‘NJ²‘PJr’ÏI1‘zJj8Þ5Ùáxçd‡£ŽvQr8ÚAéñx׈䞒”€K-#§ÜUžÐB†©BK™e[Ä tÉ) È6Z*%î³ðIb'#?É_º•|É ‡œ†Ó˜ðøó•ów|÷²L±%“téz$ò%|hïÇLíxäܱɗðJ–[pJ¿xÚ%ŸÃRÄ× +°°ë,"ð ð´µ á¿°Äø¿ û«@ +û›€´·<ãëf'³ä -`ˆLÀüÆ_¸,A¡´]Yœ$!ä+òR‘Ç»$Gñ”i´[’¤ÑŽ ‘Ç<$=ñ”a¤‹RÄѮɎȽ&)$ÇGH#“,F2>Ù›D\"x)%/ôTn³E•³ÉVÂ0ST1;Ô¥ëíHfÒâ_]akŠâfRjànVˆØkY„Øz\¦Ø”7¶„Q +áò5G%ȇ`À¨VV h‡òZåYgH2›€ 8?/BêÃ%XòÎRÔ8EHië•ò–9BŠaÜwå0ßÃ(ü-)%îZÊŠÛ J œn‰¼ +Ž< JÜ L6Û"5 .w$ ._•–Oê( ‘$NI¤<&¦’b%¤•~P + Ÿz:B!KùâWÅIM(dJþ©ØD𒬤sS± §b“ÀÍÍ(s‘EÂp 2¹ò‹` g …L³Æ•²¿"Mò9 ùÁIï”ÆùH0”‚½¸Ìð}HŠä~Ep©QÁw0@­ RIS@¢y[UéÌÁNH¹æ)$þL¥„ϧ°ø_Y^|[LímËù +¤ñnÃÐwjwQqg%PÂÎ@€ZeXò…”áÅ‹r•³LÏ(p“0¶„%RQà'V9À/RAD’@nÙBËØ¦§”¸MF&š…L1ÿhZúù¼$¢vF€S/ˆò¬ +`ÕSªu]"šÕA.¶ôŠ,ù”3²„UÞè6v¢Å.S€ XŽ +;J›ÞR¬E_®z€Õ°±•dÉ'ƒlù*|’÷ƒ2ÅC*é•9ÃJfXÆ•P Û +®*‰ôV‡0Î @:›a™‘Ç1¡Ñå!Ñ:j AË&¸Ã¦ôUù…÷ ›G–°D)_pÆ$_rËUÌ&]hc,&¯ô”ÒFù7$tRLdÅ䘈©å HLI'z’0¸€5ú8 ä†krÅ1JP)l•ˆD)‡hZ*´4­’æÅÊ­åFþ§ ÈµNIÜpHr„w8隢#ÌÅÅߊ"âÓRPÜdNh|C!O¸6aL1 "lj¢Še,``N\àLô}êX]w.«5ya^~/”[`y-œwªÄWæÀVY‹b&^’;ª€5þ°ÒU¦‡­5ÀSË@c0‚PÀ¯"Y[}½­Àˆ¨+\ñ¤ Š¿#^­¡h‡ oZ˜€¹„±w€á¢4¥‚vÙå³Éææ9LP)mš'ª UÞèùcK×x‰”ÛÊ»ËKŽÚŽI‘/ˆd +n¸Ì·ÄáE ³E–²MTÔ6U\9‹¢Å«0Éix¼¤É×C‚£‚ã¾³¼°½``Ì!P1ƒY‘ñͨÌÀלÜÀÙ ðøcSpÜ·–søÊŒ¯ÃöR¢‚ LI‹0¹á6#7ÂsGppA)àgu)aƒ0€­m2I?ÈÑXSýxœ³º”°Ã[pÔoWÔ‹§à–0´Œ9*9 7„Æëp¥6K x,Dæ.ùz€È7ï +•:1ʼPŠ_EËoTâ%ÜhDKXðI•Oæ½U¦áÝ€^+“K/T Ä/-¢[\SbÜnIzànDxäjHnägOnà_YtÔcXpÜoQvàmM~ü¶&8r9)Cþ %]|JˆäwI€äpT„|5):¼ž”"ø¢)]vQ†à¸6¦EMÆ%‡?›"#Üg¤GW[”¹0 3†JÁbapÜcatØmZ†ØtXšÔˆ§VrÅ)\pÉ![º.[\!c<õ‚†¦<¥ÌrÐ$¦âAJP)l’¦T΋€Á½€± ½à>„r€7Ô€ûðÊ^‘H\qȸ.5˜Bf­¼o™`‚™FõpíÉú×Ð{ƒÐZÖPºC—Ñk +©ß²búÿ)Š<‰ <ÈŽ®?C¾È@ŠpÝñ>S²ÂkžRþ¦óCP`ó«íb ¾ Óo fÆl#€ Bs‡N|Ä`´94ÉÌénÈ£;â#ϱ¸ð@Â;µäÑK´x‡? +~lIzä’nc±&š¼«*óӲûUñáÃ_hÔàbÌWPVƒr#?krãwºÀ½SRÔ°ˆÚVTDï V@kXFëð\bIPx—Œ†µNM?Ö”Roµeô–%³î.¹¤ç.'î2&/Âß,$<*›à ”Îá%,p7!1¼ìvàøR3ò«‹IŠp>EŃ‚#Œ÷D~¶e‡ÿ€Ž7À˜ÄI®y£J™¤‘,]ŒO°„¯lù‹NÀà–&ªœI²àÆ($LNVÀKýg€Û.)4[LæÂ,_¼b“/x¸€Ñʧ޹ìC«BL½õv¿d‚/$`úͰå³þpô[Y ýY!Ž÷„¿ +‡¢Ï% ѬµB$k+ +ï"J<»ŒÃÛj éµ¥ô[Iõõ9MÅ4ÿVNàá..<×–¿íHa;<¸6 Ü“Ø6ÏÈmɨ}y3Tá¼»„ø¢Ð$óæðåóη¸ð¹7h*^»cÒ¾Þx´±; o §Ÿô.¥v)"ìpùZ]sArté%)‚ËQ)â=lÌ]ð&3`Ç]#0cÆ€ p´ø~ðrìͲ¢Æ§À¸¿¤ÀÀÃO^xºŠŠÛOAñ¿²¼øe\rܹ6è{Ë‹ú«K;üE†e@ +:„'è+0)æZLÔ¼ˆ¨5„ñÅÀ…t®ptîÉœ+œrÒ¶€Þ¶ÖN?iLDmÄD˜f""Œ…ÔgY1õ²ÚVTD=‡,£µ+Ÿ´veM¥£Ñžð¤s¶ %t¾ %t–ÐÄÌÁJ¨Ý•Ƈr£+ŒÉ‹—Ââÿ)1umEŽF½e€  *æ,0+f;K Û®²âöZ)q[È" +Žðd“榔¦­øcUnx2'4þ—•·Ÿâ⾫¸¸·¾˜°³¬”°5L­! Á¤)0᤹>,ëìI[«ÒC‘þq Âu!1îå4ýº„þ* ÄÏ¡ +ç§ŒvmIÅ-Pá´Ðh¤Ðx¬# Á´5œzÚœpæ”dæ^&¢a°%+¸ÔšÐ§=±ã_jÔÌŒz¬‹ ÏÇ îWäHî +Ÿæ¥ÇíÆIÍwÀ›ðʯ—•¬|äûu€!à1xÔ^ð1ç +à Á¨ÞPf¡UåS Á‹ÀÙ€¿š©t\qÚÙQ,íìÈúÃЯå4Ü%bYOÍ0ü\"”S.¿ÈãÍÊ÷kîÄÄdµ…œhÚ¢tÖÕ¿”‹ÀO壱æÑZl‰ +®°$,¸*H鬃åjžB7šê‡$ÔN;ªt7r¼Ë!$¹´Á[RÜžJ ¯‰&ÞBið$ãJš|?*¡}J)øÒzf2"§£ ð`K^ähLjäw–uL½\(–3UGºŠˆ#mgiqwEqñg*+lšâƒOSÜ\LTäJ oS9ám*-l2)5p5,>n¸+@>×–6‡LgT2Áº€~ç++l¥…÷J9a[qQc¸"J[°òIoƒ\ÒÜ!–5„$š³„%›4„%š³„%œô„'3)ŸõRŸujú=œ’ÖNAi WDgíÊúǪ„à½@EᯢÑè¨`pÂçòÀ¤±œ”~ L>o R8í[Lë VHé +§ óŒw÷&½-b9S8ýoÀ"ZW*áˆf= '= '¡J§½Á ¨ ‚‹©}u¥ôÞtÛ#ò–°„“æ +Á¤¯6?…&™¶„%›t• G[“/<Ä(—+]öý +@.¿·È§×|ôë1õ¢ˆgˆâySÕXô +Rz)ë¦Îñ7zÔû?€o¹NžZŠs+BË»ÃQÇÃ^‹¢ws’#';¥µ ¸7€!¥5P:ƒ8@D}yQ°ƒæR Uà ñÅòb¢öp‰ùZDr60‚\qîÑ@rsÑåÝõå¼ÀE¢ÀÄßíTª†¢wàbñ>@êW¡è‹&í|bœ7Ú‡#(1þ;i>ç¯Ìb„óN£~^ÊD!Ñ£ï |óA‡r”lÒ!NE?†*Ÿu‚÷Ñfž=4YW_<ÚR+í¤~j„àÏy´-lù¤1d¥ŒÒ¬Ñ3o]ôyíF@ZXC8¢IkA!qg òùÆãÝ€…!ÞÔ9þN¥ãÿ$"ðOÙP´±C"ë+o(…µ6ˆåáÈ&­ýQYWa0J€²I{ØBZcM!õ]%™3UGºªGc½rIK ¾på“f°BÑ>@:hWˆ" +ö€…tAŠC%‚ð3iþ-(¡è¡J o+¸<0iª7•‹H{ÛòÖö¸¤¯8(ëmKúzãÑ–€Ó~°‚ñȇ‹íòA¶¬ Ëš‚Oz Ež·…d8B…&z(ÓAëŒÈ:ÂMúBÏz˃ÒvÀ"ñK¡ Ä¡Fv}\Ö׎÷é ÞÄ96Àé÷•.û´Hô@ÿŒ ïþ¤ž¶Gä=õâ—aøŸFœ ô ^~M1¾„É— óKÉR/ïù{ûG‘y8Lz{D²®ÒHDªÜóJš|i²êFãíàÅâtÉw1êmúå<ã¶/£Öõ¥®áà9®Ù¨2ÏÞ©¬­;m&Ïñ½Cf³k䯿š;²9‡om®¡£eظ¾4ubà6°3.p ݘý“wçŒÍîš»0:ðìÖùC[Ê\ ÂG *x/aŽÿÐcÝã”é _€‚?ŠÄÃã¾Ò¦Þ—JAè˼ [˜6£ã|—É&øÃÓÛc²fâÿ±tHw+aîáQ&½‰ SïZŒ³‡"éî)Œw7ˆ&!Iç|µAYK™H¬¢Ñè¥PÞN¢€U8}׈æÜ=‚IOÁHôN¡·Q@{û#sÎ0¥tÖ0E´Öꨬ |ú£ƒ~ +ÄÛA‹Å;Ûƒ’ÆÚ€¼«n0ÞR(o%K1V‡¤]!‰ç\J'íAISÁpôO¤ƒxQ¤Ž$©7ä8÷«.ý‡(¢~Í:¨p×ác³ƒç|”ŠÁ»Â)èluÅÔÆÀ”6€9ÕBÑWµxüØŽL”x‚OÀ¼I“¬ ”§‚Ñè¨8 B¬¬»•,ù~ÒÀÏ@Å¡`œ'b¬C@ú'¤8‡+aîíÕ<dž 5Bð' ôQ%ñ)ˆ¿êÅ"΀Ä!~©÷ƒ +çžJ ï(„¿i“ìˆú.œ B”ûJ˜{>@„sž(ñ×É[“IËyüØ–@÷¼‡6V£w*›»³™JÆå¥šý-™µ./Ï `MãföµÁ+£—:ùnêÒjqšÇ#³iàÂèö[I³Ï7h‘xÅñhT™gUæÙE’xB‹uW‘u–Gä½í!‰½y;yþª6”)!ÏÛçùcû +Zú^H½†-¡4 +B›èÑî3YŽs%J>% ó<2m-½ãœÇÙK«{ +Ùî'ÓÁª”s‡%½@Å¡W`ÂÐK‘0<ê‡9îù¦L2޽ys}XÖP&ï¡Hº›Ç&𼫡LÖ["™3% suÅ£} ”üé÷§^4ÚÕŽvŠ^ÁˆÂ¿d)Æ$õ¬Pô R$F•ĔġH™:û¾“( Ÿz±xC@’©CNó9ã3¿ó·VÁŠ(˜Ž‚Â[) ýT/ ±5&m.É›‰CœI’œ)ÖåEu¹æe^U GÏ@Å¡_Âäû;â¶Û&N­Z¬óR& ý‚†H”yNx‚PA܉3ð;yŽs"Hºoƒ7fÓÐ}Ñ:ã4$©·Eâ=å"ñ?‘þå@‚sxÎÚçñs+rÌóG|êD Ï±œ‚ÁxEæÉ}A8›8´ÛFŽì¦i«gÖ¼è5¯{†Í«¾Ñ+»wþÒ<•ÌÏ1^à-¢‚D”ÐO!ŠçL$YçeÔºÀ4rb_¢I¼Új#²žŠ¡è‰ ÷è¡I;š)”l#(h/möy$ïRDmîË:‘îïŒ×¾R瞯ÖP4’Ô»…çü’&ßOP"ðf°BÑ®¢ñxC•âJš{¸†~ Eï …¢·päòSÁpŒó[vÿ‚“Nû@i -$9g;‰ {XFë­ÓÞ‚ÏÙʲ~*üMBk I8?‡$›x…!šv©aÓ&ÙC™æR%}ÖFe=…¢Ñ'(ý«’Áø«-}S% Τùw3H‘x;X¡è¡RÚK¢b[g0mÎùS£Dý–&˜Û“~àbÑØÄæ ¤+D鬷>.i©ˆ<€l6Ñ£7‚ÄûBŠuw’dßOPø¨(üZ‘w(õ†%¡ö†* õeÍ€…¢@Oªßä‘Ýl‚æ-lOYaßùàÑ%FFXÃiéü$Jè¥H~ªwiá/BÌÃ}Æn]Fu\>Éa$H½ü‡Ð WÒäó’tÚžh†µ:,ëûˆpÎ/aމH“{øO Ü?‚ÜãDþëŒÆÿDŠ”û8|egïÌûü¹áE‹uá ‚ÁˆCŠtð#IêùÂyA¹»Hï&м»ˆŽó/ƒ‰^ÁˆÂñÚ£_‚üû‰o9ÎÝÙ·‘C³kâÌlŸ¿¶°ÎÞ>ÃæUÇ|}oÏÁYýJƒUϲ²B¼û¦|ÖÜš3Ó¦øGNŠÂ{ “ìyþàl#N;»zƒ±vPc±¾Àe„7LIŒœ-Ç /šÉ‰¯¡I§"1h©wcwæ3w%ûªŽu‡(Ÿß‘Ë_u±ˆ ðج‘ ³{íÅ¢Š}ð†, 6HåÌ$*¶—<ùn3 í.LÚÁ H:*¡MU€£=¡‰f}áÔs“ÏûB’Λ˃ҮŠáèŸDqßÉ“ŒÊåD‹wø“(¡çò ´µ1(¿ Ã(SCo ó*%Ä¥H…ïn2=ƒ í!ɺú‡Žf +5 +hK•`¬!ñ_¨2:ÓPJà¤|ÞÙ –óƒu‘#žß!·Ý=‚n>§OÍÖ¯ÝH’zG•yÞ€(ÙkHÖNIm P>iîÎÙjɨÇb"šk òy' ü÷jõ« ´0¼ÑŠÌ‡)±áC0!a/±x ÞÝD‰wy"Žž›'b¤ C… +æ RâH’x¹`Ü!–ƒÌüÌÅñèƒí|ã>¡œM2žD¹D8ç‡å˜:¥Jâ\$æP ƒùKÀp“¥Þ„)WÞáR'ñ*‘v–‡ålµiK@¼•2Å'ïÌóÝ®;}#›_ÍZÉ’ïÂA†«- s¥Ì<<§íÇtÙ[¶Ê¢žy¯Ï ÜUÂÐguHÚHø}!G:›Fnl¦šá[1]öÖLØ—'ð­îA|›ƒåj#Í»º ÅÚK1‘{-Y‘ƒ¨bj{`Òù¹6(ýâÝâ#·±+«iêÂÀE”xµUdm!‰æ-¡ˆåýDú— !ÒñŒÛŒïò(‡v• G{ D5ë(ƒ6UG:ÂÍ9êDà_âäûLÿn+ÈZ‚’ι’ÎÚ‚Ï:CÏ;’M/ˆf E:ˆïˆÙ~MÜXsgöuøÔ 8ı5½Þ)ÓoÉÑ/¯žXÄ¡> óA8| “—%³–à¤sŽrAXãüÍ5ve`¾2š‡ìæŸJo QFç_Lé,*¥ßJ‹¨§Ð„“¶Úˆ´ŸN ÚN¤€6ƒ‰vƒˆ÷Gd½`Ä!>¤h‡óø¹y?¸ZA ÄÛʉ©ma (­½Ayk@Òé½GLó +E0gÔ¼ì¡FºâtÔgI)aSͰO±`¼p +âK—dŸ$Ù÷oîÐì92ÛÉsÞî€ôÝ•?JáG³wÈm÷“(`.E¢ðýÉéð™´/»ç³W¦,<ÛÔ‘ÝC‰uß&9W²ÜË{Ûþ M5û_êØ "ŒÃ­2}õD#Δ¹—ßÄå6mdxŽNÓæ©_~ÖáSû\4Ú²”Ö¬„Þ”tÎN ·R¥ØIê )Þ1eŽñ,H»COé n…±ˆðüËkÜÈìŽÓ_jÙIÖÝŒlÒ–tÖFýÙÕ·:|è2\èY:PÍp¯9ÍþiŒ£ƒéjAµyi”ïΉ¬Œz¾¶;ÇŽÍû²å7ucøMÙ½T)Æ©^<ÞM›€^‡ÌfÛØÕ:䵚èñîEÚá?€oùÝÙǹ;û Œ³å“急´VÒÜó Hø}K4ç `>i«-£·+ž¶¸Ñ$ž”‰Â/Uâðjò#¹¬ŸFÿP#õìÓ2f]uܘ¯‘#³}þÚ¸š.Ç9’â^øç/7JÔË›(Éá§OÁg ~ 30—Q˜/HaèÐh3‰Šm*ÛÇê\X fæòofßM¡I¦Ý%rYcmLÚÚ˜sT Ã{ˆÑÎ(ý«¹I2gXDë,+£ø +iî èò$Ä‹íÂ9}hÿgPî¦Ås¶zBzW½€¼¡F ÿS¨ î”ùwĸg•AYSÁpô:Ç(1ïŽ"1ˆkqPÚV÷Ñ£žOà›„—?+rŽŒÖÑcó;}l9Ž]Ú¿™C³iÚÆhÖÀj™3/ºf.̾©+ó9xh?¨p/z¬ ßè•ÝqÕk««›½1Ebð7mŽó™50ºßõ7†Ë®c¸ìºg}Èê$xQÃé¬Iûƒ—à SDgª6QÁ»‰sü húáS-ý¶‡ä%‚Ð/aŠPÁÿ$JX#fSËü'ïìB¤+bÄÃeиê˜/û;ÃæE )ÖÝ +PÚE–w7›ÙWf w;ˆîa†‚†^wð@5û[:ä4»ѾÉ3«eÚÂà›½³9ÇïÌŽù²¿]ë +«gieQË蹦ÌëŒÓ|”©¡·°”æ’½O ]s7Fϸ}Ñ7shö]™ÿ„à ñ¼µŸƒÇfóŒåî*½†,£´ Üm©wWåx¬/`ñ¬-hñœ«h4ú D¹ßcÈödpé’ìˆ +Þ +Fþ(SÁÜ@ç¸æM̾Á#ûFva Â·|f­‹žyë²wøØðž¿¶iq¯ë@&¹KéQŒÚå>c¹<)R/'RÌû>ƒn2qapL‹ª†kYæÕ–€þ J‡ov‘$O!›]$‰w 9ÒÝ8xi7ZÙÍCfÑ(óò£ù„8V‡¤}áÊ'ýЍçöÀ¤uøÔµŽkiõ|ëªH³îꉩÍ)èƒëhÖÊîqZø‡Ð ¿Á3»iÞÂh>µ6oë I›)¨àÍ„9þH“}÷O \¸o-è®Á +Äß@…¢_ÊìËÁ[û8tluÛ±.\²¬#h1øEÚ죡V‚±A&é +^BÁ¾|ÎA‘t3$Ý×ʤÒ{e`|‹ŒaN€¬pœ"Åv‚RBÛÓo––vÙ©¿¥Ç¯½È 1 `Â{¡‹é×{š¢þ2)ñ/D¥©f<ÚR$o SDk«)¦¶&ž5( 3SCÚÈ’> +èÄ€¬#Á´€’Ã8vd95ìþ8wd\7vdx$]X û‹Dï`â=iGÓÐ…QÑÂÞ™72oN^½Cn»iÞÄÀT0üÛé/V÷^}è"hè]: f캶’@ûèmOïµÈ%5 Ïêà-4odৃ6†L¿À”‚«„H‚1|ñµ @éw)Ôü÷5âäû^À/˜µW•~"À b0‚•2Çöuˆ%x‹‹ +ºÌ‰φäF8‡â‡%y‘s)Aβbê»D:ÁS1»P4Á NÚŠ´ðK™H¼‘ ŽÎÚêa°—Æ-ÌVšãU3q +F,?‡ œ¹ B<1§†…çþ¢_UèÐ1d#ô¨¦}[Õ­Ñ;óö4¶Í3u_Z1a`+ª›×¢Ù Ó2PBð ÁËçֶ˧–ƒ"Š`)ŠÞ8ñ «BÃouAQcƒh~Œ"ÒHŽd•Âî.Á¤7$P:wHÀtÞ`@éœÅåDOqás'/>¸I ?AIçœt)¾”ÚZPDøäDŽuJÂ~2E¬uÆm³S蟿 ”ÖpúykuTRÅæ9¦Ë;SÁh›† ìÆ©Kû=o_‡Ìfû¾ÙAv`60­®eå¡gqðÐk,«~oYõV::ÖÕ‡®Aƒ†n¥ŠÐ JXK¥X¬/d){è"jGpÂ9Gp¢9Wi<ÒF“{¶Ïá[xFO˜2ú¥¹¤¸?  â‹M‚ù]×S5ëH<Á~xÖW“·¤ßÿ ŒÓéCû3ha»{°w†­Ë/!È5!Éå=£07àIƬhü:Ç\T¯0¸o³úÒƒ.ÄóÔ‡rô©(,Ž`š·èò®Ž ó†è \è´z,·ƒ7dºŒû&¸‘¨•DJöMæm=B鵀ó‚‹5ŽGÚésÐ^ÐB±Þ2‘¬ ð» ˆð«;|­ãŠØè‚d¡ÄŒLØXy'¡µQãžJ¬«¼P´;h­!8 ý)ÚÑK˜‚óV5%®E„¯¢ñxãЩù6°çÎìëä±áAƒsx›¯¡ £©c^^q[݃7w°‚–BÐ¥Ð7`°0#þÖÔ‰Í3n`[5xgß<3o·¯8ô%#ÝOƒþdä “};<ýPÌÂ*ÇørH€ ­¼Ëš¯È0ùÇ®3'4ò˜ÒL¥ãZÆ­K+Æë¡¨6c@ ïÿBƒæPÞï—3™•wWt®¥€:¬%Ǭõ¥ØÂ[Ü%œ_ `L¿U=&ÁC’x4Ðb-ÔXg/qŽk(‰t‡%AJé|!ÊèIf !É¥ÍáK 0}ªâÖ`ÅÓNÂ컓,ù¼)™6„'˜ô踖¡ûàžgYõ./ˆ¼²¯Qež …àl¤‰G÷ ÊÍQ/ é"M<šFNìÛ¿ˆŽ[ žÑZ:‚l`¢L½/“ @/ˆ_ + ŒØÒ°ÀŠ­ P±µ!/²¶¾À˜3 âû4‚Ðj¼£™@ýê; ç YJÁ¥ó)*ð¯*/~•É™š†kQÓþ´…/¥Þª’sg¸ªãqOIƒ!y‘_-)½›2ÉøÎž›ï!¿å>€oyàZøFÎÌÇpÝ4MšØÿ!tÃuÈl¶ Z>Çt³¨dßÛ³@„è dè"dèMAúO'êB6:V… =ŽpÞ Ê9pL˜ÖuŽÎ’ÉÃAĬͨuáB¤vY +‚™‘yV”7&œ4”ÏÃÑ™‹Å:ˆñnî)Œ£¡H$ÎXšß +§¢`.m§Ï¿O!ŠçŒ 1ÁõÁɨ]u±øyöØÂÝÓÞ^{±zø«•#v[8 ¥µ ŒðXUHØ8ymà¡‹¡Wèfè¶z :E¥c,°ro"~]Ùo¶ÜâÃŽitrLÛ6ÍØã ¡LマÀ€ù3{Ë=´¤ +HAÊÕJÖ])žßï—u^ aÄM¼üŽ$ÉæÌÀŸZÒAy_)Áx´  "_iGnäY"—`$Êq„)®Fë S:çM<ÁD•vöŽ›m„È—Gâ +Fþ¢†´’§ß¬ô¹gû ÆÑ3q_^6<ÃÆUÛà™Ñ;â7»†.ŒîXYV}»ÅÐ 0èö¬dؾ¶dÚÀ°jÄl!œh0^(ßȺËB¶@”q`(¹º*?± +QÓ/À +«ü¥„2Ø2‰+-J\u 0KCy…‡ò -íЬ:½Y$œ^`FÌW`JÔ |~‰"ój½µÙˆ®BRé½B@ zk&øZÅÒËAàºJ +Ÿ…åD`âÌ:¦ ÅÔÛ³×Ê‹¹ë‰ ßuêàƒ“>ZÌ ÿˆÝ¾„úâÆ‚úæÂdÀð®~V¿2 Ð@q{þµ’š8KÕ0ì^^­þ¡‚ Ê8ð­ÀŒš‹·%ŠíJfˆ˜2¼Cÿʲð3¢î·ìâÃ\Æòa­¼€Ö\YÞ»r¾‡P¸%€é2rÊe‡¡1_‹d~•<ýÀ`b ÑÈi8q ¼¶2"Ï`)¸JÑ–À$³Æ€”Vp"±&z´óDŒz7„"•w®¤ÌJJèW°‚ÐV â°–z±8g‹\ÎK™uomõmÖCÿfù#H»®¦~h¶ï*`õm–Cß`!„ŒZþÝ \«gÞ¸¾Lž€4`žÀ90Í\ÙÖfŸÖ…r‰-»¬Ã+ÀÚÏ€h»ÌÅJCùtÃOñ…žE%Õèõ¦¡îÄCÔçdÁ( Ý(ä@Túg¥C8—5©7C™(¬7„!ñ•[²# !•¨ãI®³%4ò`DÐLdû@f¡·R}WiagèB:guh‚¯1,i,ͯ•Çå·ª‡åW Ó¯¦z…ÁT¯ïZ^»‡°òv +6ô<ð ®ÕK%òj&|õçÝ-d9G}æÍ n,~!p‘…mšõ„"R‹é3q뀈ƭ¢Q2VÎd\¡¢¸|n¸–[t PÞÑBYG‡©² +FL/Ä<~a»×½Bƒ¤Nc£zØUŒc(z1¶¢ò²‰¥ š%#ÑK5„Òkƒ±1Ó9ÙÁåvdFW–Sš730ÍØ·† |ŠGGá@ün0@Š-0.6î2&/ÂYQRÐQ¤Žsâ8ªE"xƒL|­°âë @Œï$¸Y•õ†VlakLÚIƒ{aD|xc9nk_½ƒpWR²ö$§Ý‚ @˜t[ + bkC¹E7P-*-–ZÊ-Bè Ë¬ù¸D¼ÉÈäÏL˜z +¦„f7øÀ¨ã`3íi™„Ó2®L(Y7ˆHa… e$ÂÊY²æº<©ÅÂô ­°â;•ãqÖ0ÒùíȗӢľOMà´|ÖÖ6-ž~–N/¥‚ÐרÕ8|hW^Fø ÆÑU<*¿7õ™“»ãrî[ zÒ ]éIBWz‚Гl»÷ +k +Fâ=H¥ò$ƒíä¡}Q»æ»wy·ú7ƒ‡Þuõ†Oì +ÂP„è*3Ñòe-WwŒÕXee°ê2— Ê,4Øœh“ÐÛ@8è4õ?E¦ãðÌ õ XªÉ8L ~³D.g YJg/•·â¯5±R¤ëŽˆpí¤”KB‘Ë; +ôoê ¼0ûÀÙ%–ௗ5‡/¦³u‡%Ø 4ðî9¬ó>’©Õ!3´°E2½EŽvy·¿vïBøÐA\Qĉ7ã`^Üb)Eò¿(Mðµ0@l|9f1~Ðt^šÔ€S¾Ü–/¶ŒEÞãuød÷_ÐzW +—`E¡ü$ƒƒ² I[(-Ä$†¹¼UЯGK]Iæ§ÓÌt,ÒþBÂÎäÛU¦Ý–!8BÏ/“aº(:ÂX +°#@ɬ™<Ç÷àœLZxîà-2o\_!KºùÃR€·¼°˜m+5hˆ¡ERËŠå «œ#ËB9F&† ªZù2’,2hÊ]Â:/Oí>K§¸‰ƒDùº´Ø¢‰kÃêU]mï` $ïÃ]žrõFÚOh´r-¼|zÅUþrõVF`+\6„…r >7ø.ÄÞÝ~à Íu + +è˜Âi°P¶â+ôו~ƒ£t,¥óH€)€1Ý¢+2O“ä«rãV;Íÿ,+<× ¤M“÷îYl(‰™ÂHhÍØ}aõïýФbPkoJ”;0ŠoUr•àåUO 8«F.k¦Œ-Ëhò0+«Ü ¯‹ð_06#0áÌWÐòŽœÚÊ9®ŒZŒ¯r>Õ<Ùô0¡ŒÃCVÙ‰U„r’ M8!açávæDÚ¶ß…xÐA08гEIý@OPgºùéK2>=¨çЪìr‘,E#[òD§^öé ûE{‹ÒÖ†óöÊ2Ã'òxâ¥ÄHŽyñ·˜¬¨µ76g6ç*"–ß;LŒÚ"èlM¯“ C-­F\¡•«xíÊ|Ç\¼Ôb@òÅnùÌbR¨5UERËCÙÖ]6’•Vβ•W+?Ñ +Qr5—`Íå&Wà2bå°ÚÊÐR+/ õ…€©r +BU%P9¹°ÝgŸº”ÏP÷é;]¦Ó<ñ(u-«Å1F¥yß'þê”Ò\`^x0­¼{ Ç5|I4ïW倬-D¹C,k›:²»oà`Õ¹× T4., e!¯$p/.Q×3°[Y‹×«|šÅ¡lĶ £Ã¶Œƒƒ/o±âË‚Àì‡#Ì\\2–ôCr)62B2²É]Y™!6”·l¸–\€P>Å€—°+à*¬,€+ºŒ€n9 £²'„+‡\šjÛNè}пSQ}kÔÔzM·é<élÊqȪ…w¡aÓOFàU6m´0»‡ÐÂÚLa­4JÜe +,d˜%ª ¿`©·Ê0¾G$ÄZ\ŒÀ ++ùZ•{\Õ,ŽuÀ‰T±ÄCÑCWYK@-Øae\åå@xËtÈ*/Àá¬L,»Sxï– €lå!À<¦qÀ‡ SÖò– ÀAÙG  ݙʹ}îvÀyÛÕ:XûÖªk•”ú“ŽP?p3Ô“l„:P×éT­‚a83T."lÄ+‚d³QÉ •,÷Y’€óò¯˜&u¢>%-`•5º„‘—\¹÷šD¹ÙÀ@{•‘xë2‘,­r‘Ør ´tZ9@©‡»<D^Û) Àw0ÿÑ„•±¾˜½Ê]Bl•Xe(+ဠr€àumdÄqcgm÷Zƒ”Tßà@A§± ºÙ„j—óà z§ú‡¨ž¶Mлè^§¦n *ên‚fz’ÌL"na« ‹ï€)öÛ¸ÙἋ ï…Ûk+#î c]¦@?n ¯e€´F-©ÓÉ+&"‰|y ˆ? Üsa +àí*„‡ò• Ö² K°¼ 4ÅBO‘ñjݘÉ0¶#þ2¥fZ '‰”QPè–“`È–“\*ߨÀT!¡‡ÉâV†Úµ;þ}pvÐçjwà kIõ Šº…#£Î5"êtŒ¨f‚‚1t¾B +À,p.hZ"?Šì»;†ºVeù˜D<ù÷ÃTRüC¥àÌHË%tuå0__>½úå*WàòÊM:((ÈP$eÑB‚²‰ +ÊM0L•e`àAÁf‡ö&_vç‰avG +b6Lj`–æ߃™un~^q†Zk~NͼØsÐÇô;Zª»u˜ê  èU ¥®dcÔƒºÐ ÎÑŒÐq†½Óf̾!L8ÅHÀLî 9…Ô#R$’/H”ã2$Å?dDöù Ùç#F¥aFÉÌ(oŒ1¼x IÀ³•Ðz+°u¡ÜDÂò‹ @G'ÜȨëîw´4r…ºHB@:@§e”y\*ר` Lb‘Ç 36Ü®®B‚âRŸêêN4A݈&¨Íõ¥¢ÎD3Ô{ttŒúOÛU]öâaPH¦ã/xFŒ|F6O +áâ¥)âtí²Pç%aŽÏKÓ(j‘-²„U–:Q{¤Ô«AL}‚Ý»ªƒm¡º}¬ +ªkXRê|Šz“ POÒ©©‘é4xŒ„€Z P&ÂA­ŒeËŠ•ûk´‡r‹-«rY_ ùRúé˜Q)î$4pÇÉÅŒ:aTáÊ“‚8«¬¥ƒµÜCR@%4•e@È‘âXucÄÏJ}Qö {‚«¼Aª›YôZSÏB°Ô-1u +IJ]ÒR×"!uí‘Rß!õîQQ¯`à¨g0€Ô-v\î!©rÉwD‹%_‘*”|BŠPŠÈ ìcRìCɤÈHE‡>;{ÐÕ éRW•‹T @£* °ªÎI/è™÷‚ŽˆÕù0èmZ¦ÞeMêXOHýÂR×"u+‘Qw°CÔØõ#ªO?¢ötÔ n@f¨3Éu%ªPO’ êHÔ ê‡PÊM2<&!¼ì+ò£SïIÏ>%U@ùšXñìcÒ%³¯H•ɽ"K&Å>žX’y,¹¼QÀ$b—†"œ‘• ÀÒ–…`*»°¤…±+³" Û ­tµ:ž`©wI-Qꄌº„ ¤Þ%2êS@E}Q¯u;HJG©#Õu ÔyºµËÈôŸþÓƒºOL§neäåXM Õì#Âds¯ ˜Ë<&_,÷€±ì#rE’ˆŽK¿94ýxÑüÓñ°"“ˆ54?´ ®ˆ&Vö‚Õ¡|eO“> ½ÒûÀCRRß`DÔ³ õ9ê¨Ó”úg ÔѰúA_ã*èùT§p¤Ô!u©¤~D%ê>937Jý¹!ê® ¨Œhݯ²W’}ApLöñ1)öÑd’oÈI±“~.Å=‚\ö9¢IöqärÜÃÈ%yGÌÁ,&q\öéØâÁÊ „Ú’úé³1·µ‹94è_ê@×°tÔ­;C} +G¨;°êR3DÝ PW¢þô ÞÓºN÷é<Ýh¨;ÑñtŸNÓqd|´å#.ÅBnlö)¢¹—DŠg“.¡ã$_DÉF¸ŒéòIbE4‡”Ð?T( {hNÚXAi¸ãÒqT‰š"Š(cfe,YRådL¹¶=ÌúÔ/%õëNQ¯ÊêT4&{JŠž¦-ÞÕXļÒñÈx’°Çå$aKÉÃ}<ºÜÊ<.Ðè(ƒÐÇtEGÝPO ÓÓŸf|:P7@ýéJ=¨ už^ãÓ™dˆúQ P×é:½¦çt™>#cUÐD¹ˆU# +-a’I*%ý†„N."ñ›Œ<Â7y„O2°‡çä¸Ç‹Kr8ÅBŠxúñ0¢IæñãÒOÇÊÀ(( mpž€"6VF S™tBÌ&~ítt°‚tÔ“ºO÷¹é5½§Ët!¢žW¨ÊËa@P +Ѥ$÷˜A)þA£rü#G%Ÿ&šâ!§~>N5Ç@ž`Š8©÷¢é·ƒÉä'¶Â’•¡IÞYL³+oO•Mp Aq¡£utëOŽL§Ùé:§ïôŸîÓszNßé95Ô.Ó©T™#$&Ǻ xù I^À.ÉM6íí˜}¨ãt™^Ó{é7]§í8õ« ×%”ÔÊÈŠKd”»¢“1Jßa”܉Sà'K« M +¹”QÙç#†$ù +LF#Ž3¸x]."|ärroŽI¿ ¦“?H!Å5 ‹8fn>‘ [§­:‡§ÌŠ­^©Ò´[ªk•[eÕn«Uݪ픗•Ê«Ëó¢ +£úšÚvµ_S_TaØ©kV 6åõU%Öår¿®VlV»¥²ŽyMQ…‰yMyaÁ°S`TcÙ©±­6ký¢Ò^·['¬µê–Ã#vÁ‰êŠ«Íj·NUWkÖI,Í ìë”æå÷vÁ k­Ry•µ¥] ª +ÃVya±T]ëØÖ ¬;V†²z]ŦƸ[l˜•ê:{Åyi óòŠ‘y©}pÂZ?\ c3[›8-Ëb¿ÄÀÆÆ¨ºTÜ©lŒ;µÃb§´Uܯ©k˜U +Æ•ÒðaŽ{»ÀEUõá‚”S§\Z.*®71;¯+)'N>ÌW!ìXì¯8/ ak  Ê^x!Fº&öƤ eb°†.Œ®¡#«˜X¤AL)½C\qc]a¦`E„w(1ï¦i#;’ÔË´^ÂEÖÙ `$Ò f0Ò H tÞG|?Áè ŸR‘Ø´)΋ñp%̾&L¿?Äh÷{ +Ùî¿5¨qŽ~*qØ c­T)6Q8uB:Ìû@ˆr FâQ# +ÿS©àW¬«#4ñ‡p"ú¯6(k&N1Ð`]“¥>¤h÷‡í˜XôV,zm˜5WÇ¥M%#²®* ²¾Úˆ¬[$ÞØ éþ_¡Ü•Ƥ]ÃFã %‚ð=ò}¥JqU !C<ÿ#Ç3nSÂä‹Aø&ñ|QäÝíÔù÷¸8ôP£…ˆ±Ïì :”û7si÷ΘÍ;}þUÖý!E»¢Æ=¯„Ùw' Ä¡B "óð&}VFäo€"ÏÑ[ó[¤"ýËuöؼ \Ræžÿ!Œc´û9|j¶ÍݘMiw/X1ˆ/Haè¡D~)…_k#ò+!¸Ã×ö{Ýzü޾͜™í#èæ•4ùþ‚ˆ¿Cˆ±®Vª{2œïŸööV!fÎÆjìÈ»Jãßöˆ¼(ó¸¼_¸.{‡Ìfó¶ÝBŽs6 ›X]ä˜ç…é> Ø-#æ¡¥¿dó/HaèuÆi{>¨pWšãP"¯4$íF=¬ŽG»~b7)á1@é´„ÚŸdÍ!iK8¢Y_qTÒÜš³)¤v+¥õ‰·YFoQÅn¯`Ü!™¶” Ehà頋ů âí´)(Uâ°æN¬¦ªýoXÍ´IöV0ÞdLÎY—t”B§Í¿’Ôû>‚p Rú§ÐA<ÊT%ôS(ï"œ0ìòФ·8.í©Ž·ÓD"Æ:É2ï7}&ýÃmXÚS(ï¡dü'àmÀÒ/_Â~¢d_„Yg×à…kîÆÀM£ã»«d,ÁÈ&]ÃÑ/]’¯7"í?µ$K¾$H±Ü˜ïÞ žYãº1$ù´ÃHTäø¸* ¶ƒŒ7OSçøEÞå P–@´<ÿ‘ä^’dþàEâÏæxô[•÷Ï@"D»ÜgÐ-ªD žíñè¥Tz¢~øR¥Ñ"žç1yWÑx´ŸB ½%Ù# üS,oA*m*¿P£Ü¿Ñó5ua6y ¨ào€"ñG•òÝüŽØÍçð±Ù?‡q DøáضõÆ£€4Ð#]òÝLœbE:ˆG‘üK—|yŽ^Ú­#^;Šì#’¬»eÔºÀ=¯·º Þê·ÖUìÓ3où\䈧uä“+‘Î{è.ϱCÃáð²nÔ˜‡×ÔyÝ3saº{y³.(Ù¼!ô ô‚`z-uÆiZ™³…ÓÐ9“ÑŸeÄM/)o!͘Xô4jc5’å]^…qˆø$‡Œz%ï.k.MzBOzCO¡ç-%° ³/ $2¤Ã¡F ?7Gå‰C•â<ýÏAOåÂÑciTÖ]—5—¥½à„!Óe_Þãצ`Dáç긴³1&½ Ã(SCß”ù÷Ÿ@q(ODĺ6êžÄ¶yé³ïF`x;Þ L0Úˆx‚-P×PFä¤|ÞZ!–tUµÑcÞÏÙc«qòÐlrší3ç tRÇìºg…ÈʱSÃ1ñ¼}’R/L@ñPBoZ@ïC6i F2}”Þoê?€ñhO¡hôG|ÿçoÎ#=ŠýTŠEßí1é©\HÚ?r¿ÆÌ®‰«wÆl¾ÈÑ.wêüûO¤„>ªto BÑK•8ôEŒxš¹UÆ£ÇÎxÔé RlòìôPô +H þ-qLA®&K¿œ ³/B¤ûG“w¹Ô BœJFdÍ’9oTÖUu‚ÒÁ{(’îRœ«*ól"o'ÎÀÀ¶¦M¾|‡ÜvßÜ™Ù3r\3µìÖŠùújɰå3Ÿ›ï|»mîÀüÍ^™}D©¢ (Þ ã©—G‰ ôGy9[˜Ý3¨–×àÙ1_Þ­ns1¤x÷;ÿ¨a\`ª˜ýÅÉC³>m +K<çù +¯ +h]5ãñNðiè6ÉarÚc~$y—#9Ž}”©!·‡em¡ §½¥qy/Uòå5qcõŒÙW}#göwøØ¤(Ì©\(âPŸ…Ÿ‰R>räûN™‚ج0&m'ÎqŽ“wvϬÕ7rf~‡¯í9ò}* sl¿A‰ÆÛ “>rÜÕÉøÔ EÊ“s—%“¾ñ3›iêȼ6|côθí~2ô ŒÎÀˆ ·¤ˆø °ˆz +Lê,ȃ”ÏZ‚Ë{©’/œ“wžI³…鸲5$=“Qü#òvЧÅsŽ0d“¶Ö€¼…í¼Sç_G +KŠ7R垟y ›©gø·ÆnlF²Ôû?‰r5Í[Íøf)âyêWøÛg-,™´ðl³'VÇÑÞþ?\É€yÑ7rj7ze^&-Lˤ…g²®Ù§ÐÍGˆÒ ¡e„}å1I#Yêý»3ÛFÎLG¬öD:©×ÀE¢oà"‘fî˦–}pL=ËœuÕ6sd¾FnlÉRŒ+EŠÃAƒtùãž@—*qè¤8ôLšâš:±[F Ÿ©eö,cÆUÛ̱åF‰zy¥_øéS0Oà˜È Ì¥L © +p´™FÅ7• Çêa,2—|ˆ\Ú<0ç(JÿêmLð,¢´ÖÒÿ™ƒ”æR¥‡¸Ò£R¤]—Ž-_’ä c(âio8zG‘þ Ãº{Is|G™ô NþlÊúÏÁfá–¥¥Ayw0zk))Å7ñôU2¿Ó§8\Y÷:ýò B2o +H2o# +}üàp¢Å»ÿjè¥F ú%Lñ×á[û4lavM[˜Ç±Cû<f]:vi\?~s¸¢\nc7æ{ýáª×F~&Kq>³V÷»ÇpÙ5•ë¶{+¬žA‚j>_q@Þ¸”˜/œ†ÎU4ï-o(ƒ™}^êÄàO@(dˆç™&‹ór²pݽXW½¾ +ѽ´¶xÙ<öÇ£]µÃÑ>ªÔ»iâ¼æŽ±è¼1c·VÿßT1ŸÕýâgͬyÑ:~iöÌ[ÔháÇÖ¸¬­4$m(„<m_‡¼vK¹üY\J=/£u +B%J> R//RÔû H reÐÁ™wuH%Ê!è Ä>ÿ¾LZ^×Ì…ù"F:®@6›;0?dh—9ÞåH{a$I¼0ÒäÞdé—7e’ñ¢ÇºŽYŽ“G–ß܉å8xhž:æçîÝ€ÕÃXYKœ|þ@ ŽÁ﯇ W " ¨pÎK0²IOhúݹ¤3L5D­¬(üEŒxŽt9“¥ø'PîûÂͨÝý{½1]õ·/ŒÞ!«ýB8Ÿä™ç¥P Þ\#>‰¿OãŽé¢³b¾f,jîÕùc£ƒån¼30õ¬k«¦Ž l tü—4÷p›º³OeÅ/K"#Œá‰÷”­K‰¦—UN®¨ÐÂh°ÎëŒÙì$É>ÜJòfúÜû¶ý¨~aí GÜ€g_®ógöy×î%L½¼ISŒ3IŽó Ã9?t˜—„™‡ßà™Ý9䳟Ã6.ë©‹É2¯HL3¯¸VUêÕ¦Œ~=”>k )n!i+qxswDz)…x’£ \þ3ÈÆ5ÔH‡5ÒáDŒuÙ”J•bƒ—vÏœ™Í>‚qI‘zA‰o¹Îø ŸQ Û3j^6Ø-óÅUË”å65ì¦;XCˆ˜/°W'0ÍöJ™yù“(¡_ª$ã<ã¶_´ˆØ”xs}t‚CH!ýܘôÐbÝß«ýš¸0Ÿs§ÆCfÃkÜÊÂð/u ¯eиê›;³.ïÖSiáå4·¥³‚œóT2.˜×ÏÎæ ¬¸P zœ£ ÚO'œP´³œâb=ÀÀ¤¸È9d Uzœí +Q6k R>ëT@ïQDý%œK#òn0Bq§ïíŽ25ôS0cÂì/5ÍöÚä‘ÑP¤ƒ8*ž^ÌÁè8·Ñ»qúÈî¤K½oÀÓïèüûD‹x>I²O@øwüØ<Õ̃©j¶×&oŒÖ ¥Ókx’‰ÓÈyÕDt¿)TÜ”IÆsìØåÒŠ2Âw"zg ò©àÄ¡@_ºãG–]Kƒ• [¸¦ÒâæË!¤‹,ˆŒp*"æ(RÃÿZø‡ íòž¾µ.¢Ä9®'Ò¿üè1ƒO;D“ΰ#œtÓ¦ÿ¤»ãþäž*-ܯá3j^w ÝPá[®36Ë{Ùr*š –I»Á4qbà™9°oÎ_Y„"ž`«+¥6…÷2ñ;(ùüP"žH½ŠÞg‡ÓÀÝ8zfJ~ßIJtc«{üÚºþV¿½XýÆÝjÇ Ã:¯ +¨Í’9+iò}òZí“øV3q’m)†~ s|oâÙz0ÖUŽt†0%¼eEhäs6l€™‘[€2:/XqhK©8´àX¬£ZÖU?é T6i¨^‰s+d’¶%tÆ ÄÓÞ°$Ô¶Rú±xr}`™giPúüÅá4n^6ÕÌÏÞ +Aý²¿ÊÔ««;i®(,p±#.ÂYTFܨ|Ö D ÚI˜}7T +Á›B•ÏyâµÖD–п€Åà?ªÄó JÞUŒ÷ÔŠÇ; ÒîÁ¤7$áüõ’R.-%¥ø$Ÿu•‹F§.íË”…g8°ÛH/L‰æAʧ­áÊgýáIgNAÊf€Ä ý“(WD‰gO½h´'4 W0ÒY/YŽÿÍ^™}£Wæ“"õr +G2m R>m U>kM6óîLú@i ísøVÛôÑ>„ru‚RBB’Np'¡Jœyž(òîv2ý»»L(í \>é*DÿcgSËro Þ8 Ï>0°®²áh;`¡è•2ÅÞIôïfàb±n%{>6»ç/Îþ”Ë{þâlŸ@:›çoŽnð‚ÑÖjRâÖà$´†ðãÒ¶Júm""º2ÙüC‰u¸ ZØj¤óZLJñ9JŠ;›có[}áh'ð4¼™2ýlæÎjš6°Ú@ç8— äòŽ £òC‰ ô<lŸÆMŒÎéS³ŸDs' ñ¢€>QîÇtÝàâ +D ý¥‰û¢ƒ +é<¥8ìÄ)/MòqѬÝÔ2ÿÅé;³ãn*í4Ú?‰ruí¥žý,™µ.ïPc^^ºK‹:ËKŠ&Í¿;çŽí÷Œån&Í¿»)“Œ÷ÆÝ8ygw¥ØsPÚWHBq +G:k81:(Qn{ãwâÄiÔÄèn{µbÄl P>i Q:k§Q?ŸˆVÇÍXýC ½B ]Ä 1^vVÍ]ÙÌ“Ø6AÎÑ:„kà¦}u'š3 Â{güfàS°æñƒ«*ûj §žà]DÜ ¾”Ú pÒCt¾Çpm CûÀ¨`íÔ9xK@¼·;,ë E6=!ž¶ÕÅãOrçM˜~¿ª‚ñGà‘iƒP"ú½IB»²–€æVU@½†+œ^+dÒfðâðf +×LÿnîËP{#ò6ðùw)Ú}§Î¿OáHg}åÄ3¿:õÌ;Tñô¦hÞÕ•<ûì¤Í={©Slg}PÖ®Ú¦tÚO#í»±™ª–‡"éîm‘G/J&=5Cñ&’¬»iè¼5ydsNš#hf?‘¼»G0é §¡ ºˆ¨­º”Úšp‚ˆ`ü4s¡C»?“öî„«;d)¥½KLñnLÚÁ +Eï@bÎ`Dâ?Ð ˆ+=Žs,o CqÿA È:CP‚MúÀgà/J¼Ëßð¾$ɾßÀ„¢ïþ¸´ tþý63û.Š´Ã§P(â\,úqÛMÓöe!Æý ‚Jã§riWg4ÖJ˜}·á›ý8çwúÞü ÚWÝý7‹zÆJ¬Ó¯Ý3ib´Ü˜Ïéc£‰õl¥ËñÍøfSǾV÷~èP“Gæ EsÖ°%”ö1Œ³»WëŠ&®l>ºÌ³‘0õ ZÒÊ)¶îР¹¨Èð °  dâ?rß E_K!‘û&&ò¬Iz)Sì¥N Þ +N ÖC‹vž’Ñ_š80z(±wÊô Òá2ka:Æ ¬eö·zx˪kyÈÐó¬2mù—¦.ÌÛCTØÐ¹ +ºýJ‚…0ðÕÍØl.²Ì£{ +ãhÅ·z©Sl AÒÕ2g\`¯®zHñîvP@¢ý»Ì°Ù¦ñ_R +ðYZJØX—à¥Ìñ}ÍYw8%µÃHLpÙÕ°!&§£€/0øõ†¤ý ã=Å‚± +ämáˆgí¡‰¨½áôó®Pä“~5¼ ùî1Û=æ¢Ý_›<²HQ®®É Ç„áYT4¯eƒgFãè©ÑԱ異…½:ã¶éQì‹÷|¡›MãöEw¯…Õí lòÆh¦O?êY×VL™­¥öUãÒò1œ£‘.ùì#J½ÛænÌŽ«½Ô2{‹ªö³†*él.MðQ@s§æÓºf³.ðùž²âÎâr¢¾âˆ¬yÛn?7ÏíYSx +.ÁX)Î ÎáG{8‚Ñ L<ë I:m% =_šíCw %Ö}!C<ïãGw=æý%̱‰Ä»DsÎÐ…tî6Éœ£JÖÔ‰Õýgupˆ4tdà£Ë»¿ÄÉçƒén?5[ÇÆé[ûþ,ÊÍC’u5!Ü<óöžYûú9Ò¥\Ú LÚ8}isŒ¾%ä8gSÕ€¬¥R$ÖM£ã;ŠÀB£ZßVÔ^0*êkŽËÙçoÎÛÈ¡ÙT2o´!-¾ÂGXäL›µÍÜ=ähg%{#Ê»/Ä8çuþÐ4ìÀä²ÒqæÄøkìÀì¶…ÕÁ²@ÌÄ}iQÙò¬˜1ðÕ  +B»wy?tn ]ëB†›À3¯‚Á¸€~·C4ÁU?$ÁÕ’`-L°†0#¾öxWIæÜGŠ!‘*yÛ“x}ÚâîÉœÈ`¼?@ ½Å†¬ðгcÌŒ °¹I ¼Ѫ“³‚‡ R$z¨PC%‚ðèßÔ‹E{ sügÞ¼è¿3[ŠC›©ÓïŽ1³CôDš¹±/Ï`[mcWVSÏp¯Îx­nÚ$û0í&Í?O36w¿uÕ;PØÐÁ´°¬ ¼-d!ý6 Ó7}hàº3° [˜êu{{îÅÂá[›¼'Hù# 5´©iù·çß+ª¾u#6›œ´5l#8᜙2ýîñÛÓ§vûÊÝL¡d;”Ïo‡0#æ`FÐS0 é¥Ìñ€4Ð[sHÒ P$ÞNƒ¶T D¢G;U¢ðö0EÔþ61qçOVàxþÊŠ‰ÚŒDï8gãì¥Õ5ve³ ›——:Æb´ûÛ —ô‹M~÷޶…*¡ó…/¡s‹õУM]ÿ1b~kìkáô¥ÑÕáù+.)6WÕТÊ]á~ó­ÝëþÉhr!ëœÏõNÙïþ—㼿{hù}¢³cúlGGÔKaÂzåŸ??&×õÛÃ<ÃÙü‘mäOv•Éëa\79> VF2¢§)?+Òÿl ½uKh²2á ¿9ïï¿C“Íý3Ö>,êÇwe¯ÌϪø~êú-kùYÙ˜†{Föî'ôgû|}Ó(2}_Øëô½bþ½^©ªõÁ†ý†69=âl86ü­žžégÿ"4žÉa¶üY1çÉsþßçßÇê¸oÛþzI;/ÉQýÌeÙ?+Ò˜m5òí"öµX/Ån-'ÃÒéž'ïôØbÛG1¬/~•v–’˜ÀÍ‚%ϼágÍþðNзOç^½ÄøžsypÿÅ~1cÁÞã–ì/ì.?¼ÁÝHãgíÕWM¤ûYÍkãñ!³2ó˜€Ù’¤ôg0Un~öðå}Z‡—çìcÞŸ\ùƒ6I†‚nÿH1SObß¡Ÿfg‰Ëû]^o±o9ã°•òçh»Õ¦Çz]ŸÙç?ÛOèõ¿qX”aV.%·çøƒûî{ï±µæ?ÒÿûQi/"ÿ9ü¢¾ž,¥óqKÁµÄÃÑY{«ÿ4¶¯;¯ìŠŒÿRty:RºŽ~ÿr>^QÿõÙZ[©hï!ÚÉØágGîÓÆyáÕ·>Ö‚=cî@úI]̓ì[KU—_®ú=/@¼«E[C¾Ý-¨ñ_^¼O'fÓß!WKkORz÷<Œ@ße&~zuø>;ÂCæ…Æ½ÜJ|Ï÷弋æ!aÐAN’æ0ߤûHÇß§Ã̬$ýmvÑtí +åʳÝs¦ +Ðãƒd! +’ÚÄgñännÛí ¤ô÷Ø[¾êOÃÆ•©üÔë!YûŒo&>Ú÷ýpâüy€éédmSÒö”>î\z¶…òÔ ÔB>·¤wÚs¿$²DúR}¢ÚLÒÞ§ÆÖŒ\[)g?h"èµl«\Uý·i›Õlä.Öú`“Û<¢w½ÝbèûBéÿ<ɶ&_ ÷‡mÛŸu ÷]z±íI°ü3K¨æ€v—ÞI²§ò=ÌÐÙ÷…öAm˜‘lèJdu4Æaæ26çÇæêÃUæ»K·áˆÞ)ï—Òæ\×.ýÞZÉ ”ç?-Ùýá^Dnð=zŸÉ…™t,ŒýÌùoO¼zÛH:¶*mOX£'ßuûívUE6°F±ñÜ\ûI9ëÒ'&O7ܼ5V™é0i«â°’åòI6¾ñúϨï¯ÁæÖü"¾Ê<>•kUf¾î©Ú1ÊBsFÝ[¹t‡¹ÿ’±nbßûçaê˜}ìøß×ײ‹ón#v5î¡Ûãk/èå͇é<P!ÃŽÃÑ­,  ˆé?)¾M“Í‚Ù×!!碙…#¬T}õ¨žž×è©åÿËÿ7ß‘Ìe7±9Ãhò/)¶r Õ_X˦éЯdé·mN³Î&ñÔ{óCZŠTÏŸ´!ª®Ÿ&>Ì:¾”¬Î‘Œ§º°Ìïš .C>ù×¶×¼î ô[5‹ýûÞe‡×oèÊÌð#‹3Ømƺ_Ÿæß •¼¹îÕóTû~b½8”öh÷)@Æo†ÓŸÛÈ{·ÆÝ–[×#Äì«äj¾ƒû·WccŸ<‰8 ŽgCfXï׆‡ÇŠá]Qpjª=l÷ÔÚ b[À;âKÞƒ%îEÝbâ+ê<òiŠ[½ÐÑ~Àå[Y=£„ú +Gj©Ó|£hÄ3‰¦õñh=½ÈóÌû1(qvŠ'(\ƒç>7o‡œ®Ó½{dx#)Ìo ?ërŠTÆbüÍo Ga𨠰Äß tN´Lì²–™2ì÷Îàßÿb¸šíX©Þ·'ê4ºQù_õµí`w?Pañ°A†/Ò…!ìžö˜  ’`¹QÜÂ{h:L =×ã]<â˜<>ÃA›dÊ´QkÑ9†Z À5hÔÆ)÷ý>\ôÁ]ñ{È |·h? Ó6&ÙÛ‡ÀUŸªa½ÏîyùÝ#ut…©êàUÁ|8Œ`Œ—ÿ¦¦yGâúlôÌ{†nÔúúAœƒ[Ä»z–_fÒ]A;ûZ G}šâuÀäfÛ9%ü[b>ó§1¶ao³·úg#ê?M¶Ž «í€¿ÁÎиsð>{ó%/ŽºÈÄÙraW· Æ­üPã~ Õ|î¸Ä£¦dH÷ø–º>c²­ßÆÙ×Y| +¸úr,Ê]Ô„w0»\»üÀƒ/ÿƒõ3 ÿŠÎèäÿ…RÍ´_ÇÑë¥ ½$—7è5<ûîœö3äÝöŽÝè’.®¯z'ÜõzèþaÔ úvñ™Hô‡ð?aÙýì·±„Ç\ì:%",××Úwó(†}œQk®Ó”2à2À¨ ©À>eª ¨›«ÿ?Q!¤SzˆE\ÿWq©À+ØÌO'svU%<’÷U^9]j“ +¶.ô„ÿÅ?‰Á%ë"â’è_£¬Ñt»ËAÈ÷©Ñ.Ýf¼Õ" ˜íæônâÁx²É:‚‡¬e– E_Òx#‡¦-1àsŒ¦–+£Y3rBn“ýúÈï€#ËT~¨œÏíjÒð&fsyA³hŒ*<‘v-6¹’Ÿ2QYaÕ„6e½°t¥'- âI9{äìÌ$ çcNB)­_frôa‘þ2R Øî™”,"vmüât)´ª‹ÿxsæÎ,P8¯†1fK/ 4áŒYí(èŸ0»»W9ñðö½¥×0Í’˜Ê ¢ÀÒðFÒ“2@“hxudN® ‚;½YBy ht{­ÝAÆeúN&Y¨KïœÐ:(Sæb£¤ïðm`˦føÚGÿ鍊aÎÅ„vmkš€Ða—,¿2pŠý€>šg$·ZFx­¡2}ªëìT½Yšgú/ÇüeE è³ 5Z‘O—µKçd—¯0îÛî•ã0Fâ_¯ˆÊ PöL/n…‰¬kpiig˜±Ûg0ÖÞûj,>ñ‘5 +ί>¥³íK‹"AæŽåªà–_`¨=D'¬‘t@Ð* (¨ 'ßÝÍq£sÅñˆfÈ0÷ª¦ã#sYÞ‚À7æ=õ‡/8HóJŸg€c€­‰„·¬¸K˜~=n ?æLHæÁÄ¡ïj” tÎŒåyÃñ$m¹P\פ€±c§a \­:j©¢bרoœ»yrø’ŒMߎLxŠÌ$¶™p@@ÂüdA2 ȸwNdÙb^îÐà_žxüFçòü¸‚À 6F!ØsòÅV`L|U¶ä ?p/ÜVÄÇ‚gì“7ÄL`˽ú¼Ý3–Ïv®¬z‚ [€ìÑ‚Œù¼7`€q†Úö† ¡vQœŽ†#x–“ÕöÞ•*q‚¼›\â7À8šêÊòTT‰HaW¹®ybz˜ÆÑôØ…´:ÅMh‰XÁ)w 3\ÚÝç™qXÌJ…o%湟MêSQ•Åtú¿GSÄ’·€3q±-*åÆáÐGI¦jVÇÕ—'A]d«Ÿ¡Á°ñ·Ua‡ÂOy›ØH/EU…¯® •ÃÝHõÄUèP6"æü™Ðõ~•'Áè‡âÖä¿hN–®–ž Y“}X ¹%n³ºÅ÷UªqÆržr@ˆÆüï8òõ,^ÎÑÞ¾„·OEÅJ¨;Ž-ÀG7»ÃáêÙüA;+æšp“#VPwçqì1öoãkVÒ÷Ê|hÒœ–r†Ñêë¨P38{:1áQ]ãI>™[¯ËFYŒýºWGìÌbb†õö`)(…•g°¨tt哊°,7ø#=w·N鼂D¿ŠHfŒ÷»®—…ü8ô ÞVLó0Hí·ÚlÒY{–]ÔVVÍ!ÊYj’°.Õ±|u”ïl!bËø@‘Ù&»j\Œ/a¥ëº&¼Oê)Õ»ùäÅ —#fÚKæ}%2½qˆ!â²õ¶“~T­—À[™AºfyÑÁ*õCºm÷Û&H¬É¶å‚"ʳê¤4œ>“ˆ×´}w;¸Ý9üEPéN]»¥q†<½DzÁoýxÖ“¥.Ò¥G×¢Ç:ÌD@Mb¼¥kw`H0&uö)®ÅóIä™âÑâ‰li&mÁOÂ7Ъ~^…‡[wuJsyƒ §"Rj“N•SKK(‰ ªÙ?`æ_ËàÉÁŸ3—B„¸D:J¹O™üáÝEÈiÞ(Aå&M±îJ ^ñ6R°¯F´«‹5¤ÌôûBP)û‚¿Õt +Í>ù³Í©2RÜIß÷¼¸£âÊadÇMÖ €f_¤wAÓp"Ñõt­mÁ3@·–Ђ_Ñè´Áo R ½ ïÏ)9µØéàA÷gȉÈKü×v4ß ÿ˜È=´˜„0æ-G‡F |vŸj¶!º/Ç}P צ#¬’ñ"-÷ÈÀ*`a +?è°†S—rµ6 +&É*=/ÑY¤(qAâª+®ÐQR¤Ð·°×$L ÚQ…ƒƒ¹ºsφ žpÜçÜÅ+ BûgÁ% ©‘ØDÕAجÑ4­o0åÝqaŽ'4åíPuÔ ÀÕðƒ~â$d:&ï³·‹tÍ QxI„póH¤¿CÄØÓ«‡ûì\ûÉhQô‚ƒøëÂè:CÆ×ÓJÑ1ŸˆÈ·ûÓ4Ž"¥Ðæío&÷÷!oTPQ:-ïWM‹©£ÍâN€B"’ ¥¡&û¬ÞÖE !dŨæþ$;ZÛaÃl\6¹ø~µyŠÌê±xJ¼xÇTÛÑcwRâ!\û8÷OB¡pt ‘».-ÞæÀþÐcøÑ+³…&ÉgAió™rFZçL&´¶ï”ƒÊ…H•Û0ñjXþ¾önÂZxBƒâö¦9C±.ÏÐ}òrv~˜ÿÕª„9û{?ó[´ù\A¨¸Ÿ –œ"£b~˜ú‰móÄGu×üR׌Õ Ôj¸<ˆx7ʣݲ]˜|rK„Û%PM@2çá—5y£š¯‚î>RLƒ>4À‹ˆó¾0ÇuŸížpF7ŠÜ!‘A¿Å5ÆA‘–&8f +Šœz'åmø.ôŒ¬“vºVc2¦í¤œñA*;ñf¦#DY—Dœb"C0 ³/ö7ʶîbƒÆÁ®uÓ¶ui±•”åp4ý3HQLW®Øxq0*K‚YîÒ©~²w6ª7’G öW iŒ¿F«n0϶¤ Hã$ÊШTdÆlú3¤È’"CqGínwC]ÔCJtƒN;äN0˜vŒôÅ"¾ÌpÑûãé«M·rmJѾÒdk Ç΀°(ù¾#ØÒ^ÇCêìȪÄðû–¹àîá‚Ëþ¿µ-@£—,Eð¬§*È8 +Ø(Lüy±}¾¨Ãn›?º/^¿X‚s +E…;:PÖǶxl,E[hÔTlßh*„ÐNŽS* Ãj¶Asëè‹3ŒÅdn¯&€ü…Yªv¸«s,b|%<$9;Jš büA,û)Q–¢cpøª}Ê 4¯08¬£ù|54muåZ8,4ß`?´!gráÖw¢ß̯R¶ó&e· 1Åàc_4kMNBA⯤,/Øš "Hw= L²™bjæÔR×64ÕÈ,XÝdù‡÷Ëp+m¢gA$x“Ƭ’ÌŽkµг³ÐM—³ýÛ#Øþµr,ñ&z‘F\’±ñ%íyZ}?íÖˆ9 +¡I®Ø 2w¸ý*˜©É³w?äN4”i ü±³OlÑš?Á9léûQºžØÞ—²3U |¯Ø*߸®®AWZý‡6SÞ BÔWRVÌÊùÅ{N!a!Á^°dªjˆ… +ڬذ™¤d ÒuPN¶‘šúL´jì¡5-Û+nš·¥Mî ¡¥}NLGËÓÖÄÄ ÎÌXt®|ou¡°€³º[憘ý=yŸD –FKÔÏ!8ðuˆ‹ySWW0Ñ W¦«GåðZx?AA«€eÙ¬-jL—È2ƒA¹*b’¬1€(…\Kw¨Ïë<-Èú.–Ìù¨Z™°ã®¬G€Œ9¡€2øµ€d» $¢øŸ‡h¾:]hâ"fó¿‡ñó‚uAõ¶¡ ”o®HÀ2Çž]›|B¢ ömÛÝ—M3¢4§K޹%Ž‹.BÄà ©nÊÝœ_SZ&Ã;Þ‚A½Ô)pÑavư`ñC4ÌqQO"f8? ­ô̇l¢-ÖäÝç ŒçMvµ-ýN1ÝXi;´XÑOÇjâBý^’æAØKB7•ù:È&Sp¬€X›Ð¹mm fñ‚ÂÌñ8IšÑROh|s×k{m•ñSš‡nËjw`ž% +yöÈÅUµ¹+ëmhCÊf¨¹ÿ÷emœþQ±ûÔ×t\•ä$«Øy-•†á˜ë o~Q…×ÚRH°eÐð‘ˆ;´Ý(øIåò›::…H)UþM²¦Â5]Sžðã h÷™Ç Bèï{_ŒT +OÎ=Éý{”;âI¡e`—˸-´8Žå`¸ÀrRÊCÑ`¡¹¥ì®Škðâ†zú29Rw&ÛëþçN‚ºs³¢¬Å²4Þƒ%‘\s-ȹÀâ"^‹=|:OnZŠÈ2´‹9çm qMþCÃ0læÎ³¨V-z©ä€Úó¨ŠÃ¥Ë×E˜h²{õ„¢qþcÊ62´±½óò#€õëA”äüg"ÝÂK•ßIVc6{ÔMyÃGîì~ã<'uöA¹ù­(g&Æ<âxf6­ˆ$^ŠáàFr¯[ÆÝÓ=M¥Þúàøõ5Ó«Òz@+‡Ž)0Á°”IÀßɰå”>¡a˃®?Nt¨,àÖfIêÜRÇXü,Iä$l ŒVô;s°tîFo³ÓîäÅm‰t=ÈhÊÜçf¤£3vÆ¿?/mýh¡­Ðœ‘u£¾³6)š×gHŒ6‰¦Ãeé´ê;ñ‡dZæjCŸ‡pOÐÏ\Á_@ÆR'MòM±_jÛü ÑoD'øôOÁ|(>³‡:Õš²ç#"§æÐs"4x‚ÁŒè^9Úl£À9˜äÔGïg•¶IS<hµN¦89SC­E0{òrÞ.9Aæøõ!6í^¾Ÿæ cÆHI$í,ØÀ~†%ínœ-L¯µUH»Ê¯„}jB"¿Z(œ™í¸}ƒ{Äzü™ÌØa†¾ËƒÍ>ðŽÈZ :d’`¹ç‹~NI¶¹U5¨nø‘/{c¿gØ$Tdjijrò +ø)O¹š¬]àö“7ˆªù?¤d‹mIi¤§U-L¤°b3SKñÙÿâu¼‡Ý!‹Uä/W{üýuÂ+$>ÏÎÀ"…–¼÷Ô‰½‡Îsø {ÖÐP3T´m:óŒvËÅö2²lF!U뢇Œª×»ô(mJ‹Îª!¶œ|T¡Ô³_fÖÓäÆŒ +™äØÑCØY’*¬—T€[>¸ÚD3¶½À}|g÷·-§ë “ï׸kÅ€#NöѰc”ã¬ìàbŸÈ—ï’ ŠÊ–Ç´TéX¬+BõŹ^ÇÇIS–A¯d˜oPâ³ìwuÈé4Aææö§ÝËÂ}€3vì:HX*5>¶cΛ#ašôRr€UW +5ÿm”œI¶hõýÒ\¶Ç'-KÏi7Ž’7Ú42*ø¿$Þ‘öƒß"49ötY_q“Ó¢2¢aQ«=¢ôvôkKLMàøyà“ü“¶þñìœ6ËÈ µ‹ý´ôsÒRa(ÃßY+É㑇;‡h”QìIˆ®O9•—Ë|…­H]nx˜àEÍ)êr¾'Ñ,ª²K6©UþÃŒýO£"Ù¨ ¬ ³J(×*ª¬5k­²f­UîU‹­^©¾Â¨Â¾Â®×*«–;5vÕr§ªÆª°SØ00¯)/®× +†¥ +«²j½¾¶Ö*¯ì”V›ýšê~ya§ÂưÖ)«v+¦¥ ÛVYµNXë¶[•Óf¿ÄÆÂ¦¸V,wŠûeÅN}}a±SX,X¶{ûâŽ}Qmµ`×1.vŠ +ìËk +«µb§¾¨¾¼¦°]±±**10ë8- 1Ë!#<®òPµ†s;LqØpÞt¬¦ÍÉmkšhé +Ï>„å M°rD¶¸ôèÓîL`qgl¶äÀ·‰oAv…AFúHѳÜýRây=¨;ðÒY¿6×8?„Y<¹ƒrÍ€Ó) +ÙtMÑðpö‡e½°€èá”sSü ÂÀ‰¸N½ËõåôŒ |miú©”^Êß61„yB‡)*’†s‚pê- +ÛB*½bÞÔŽ +Ä/Ɉr 8£Y°Ã* ¥‘ fr²ðô,ž/âéÊ:[íƒúE ÜóÄLJ÷I•Ä_‚M³f@!“~W–ë^å,›âäj'±«ê eù6׼ǭ35#Î-ýIià¥Ë2°Â|yÐ3r,Ñ0b³QXþ€&rg£q­»{Ħ¸àü Ûl™j%f”šç×½:ÜPuvdAbMå9£/Soh§×ò9±?.E%jÂÖIkYiÂã˾/4ÇýÅ*J&í¤a–&…9rÛUEÊ–èwó\}Ë €·êE’ˆõ1Ö-ï•UtXÖ¶ ×™µý] +<Ë5(׬ªF»¬·ª"¿¨–jô(Y8SHU{ˆúJL5ñ`Üж¸ÝäOåQØœ 8¨#ä\Ì[©àæÚ2hñ@¯ˆj¿ï¿C‘\¦kºŒ•Ed?ôái%ú7¥¨>µs¨Ž –w0Sd‚Nç½ãF /'Ûj5óºªÖEÐÍýd]ÞÙLœúhÍI{Ÿ¦Ãiñí¾ø/Ÿò 8ªÞUüÔEŸ³•ù¸•AäµFóüsJ@SÊ˳‘UF!¹”õ7zœÂPS¸Âù-)Än¥¤T\¤¨ÇµŠ+‹œ|?X$z2„½ñ`eD’3Ú<Íãg+fxæ‰Íú~È: Ò‡ŽAÛ à©@…„°ëΊEî6pˆ¾ÍtìÊ«í ·eâý™˜íqQ§˜âq|8y}.6œ­˜Ù†Ò8Î'ŒÌ›:g'Ê’‰âòA&5§åD.\r~¡5ÚŒL«GcµÒòðÙ±¯XrÊ\õ@‡’:c5o•6– rà3¾¨¿r–:`·¢Ž7Ý,rÝ"e¼+àˆ‰½Ñ^¨¸KïÜÀ J.ñàêYËcì’5¸.©ŠGÝâÖ´õ#òÎÒœT5·ÐQ2¹üfÖ¡q +6ãq àÀüî<¶?ç^ÂÇZ¹{†'Cìr§u9˜fÝ㳄ã<^ÑÇlk¯°Óæ4„“þA%·ÌåÀ!õ é©Ï1‡18[½Þ¯Cé{…íqòägä—Þc%”è[*ÃDrØÜƒ$CåQ§•§ òE‘½Àh÷—d? Ûá_‘źjÐxGÈF‚”écÇO:'#Q›Oê mSùC'Ÿ\Ê/9wÿÐFaXÀ‡yuÊ!rŸ©_4ÞÛU€Dåwx¨ð–+ öw=Y¡£R@ìÀìS–Šq ªj ãšc]¾^5 WÆ[ÇÜiU·`ÉY„íîÍ m_QâLöÎÛJ.Ÿ‘¥¡æ(¡¾#…”f+p#­‡üœï„2$«ÌF;{¦®òÈÛÚ‚H!·ášÇÈV]n)•HmJX°.F<´­4g‰Žü~ ~GÔ)q²íµSEàEþ%ÞÁ…õù:¥!B$ÓórÚ8Q)úmõ¤#xƤÿ ¿Ã jz£€ îN'J`ƒ±´`Þ,wW Ý*:.{楧§°íò'ÕB:ÉœàŒÐÍõ  cúyCB:…N¾%r¢õ[êwÚUVãù¼›0Jn×Lòט¦Aò ]NG°èRª"2àQÛìçBcÚ$®üÁÏBO&=Tª~WCwâÍ\?ç­m€ tm–·4–±›µŠÔ­œ3ƒï!v‹›ÑysBƒƒ¬¨ ˜×Õ…ëË^'بâöí Ðm‘¦!Y1"[Qê`Sïî5ÙMF®s‚sY%oâ’ºE@œt=¦Ñù/ËZú(Öº²’ýúG–ÙŒHNCv³Ó5ûÚÜ¡~8 jÒ ÍkŽ Ã@i¢4¾è 2SKšêÍ ª}ùb›ù7•†ïÖ× ¬1 +TfKöÆ‘Ó@v+ÂRÂòH¢œàJ >ÎV‘ÙhI>¦»sߊ¡6ž kP/iˆVÔëŒ<YÅP>Ýó×°(È(€9“ BkŸÜB&4.§=èD5+“bÏM‘ {eÐ qƒ¬MPa7_Æ1œöŒ‡ïy}>L¡‡#2Û,ä“ìèåb9LúÇåQÂ]; q·Ðaߣ¿Ö¡Hð« Yxnv’ßë’ŒTJШÂ3[¿¤4…?¾ ®øý¬vt<(ðÖÎVÕéŠ×ýªà.޲!Gâ¸iôÎ‘Ñ ¦”ý\гtk…õ‰9º'=Þìì$´—X¡% G/ÅÛzVqIXF/ÁDÿÿùêk@œ´Î +¸,Jžø†³ÂŽ;0õ»¶Çó´¨elt+×|xa|M…ô¹Ï&ßÌ7) cRÉàN7/'Kr‚éçÐý¶„P$Áæ(¬¡!K=a¤“ºÉ°££í‘ŒäîÑVacÔáöÉâ"Ç«êû9 -EcÄÜü¨Qgll‚g—K +¾*T5Øú@tyµ¹¦M¬?Ë ¾Š,2ý×üùÆxýÚÃåv +Ñuòêãc‰Â³{º?Y£õªR ðŸ0Ï’“±ÌäŠþ9û,RûKf¹l?ùÔ°_6ˆx%ù`‘4‡Æúf…i¶ŽâfáždŸ ´ù,ë„A{É„üëdÅ +‰ ¢m÷.ò½™LðºF|Ç l˜·a°Ëœª0\É)™Ø÷ó×>g:Û'XËâØ›âÈ;²pŽãÕNuMæèImhU00ŸŠà !¦ºl¤š­YkmÀÒO©a؆L:ý6µ&ÅsmúMVcá.ªôsDš_¾w49HÇúJú p»¬™´îººë< ±SæÊ(¼:ó˜Ihð¶í×›M{³ÈMè¯E=`Éç ÞTÖÞ™×ÅÜ îkYúEnâ†b³Ô‚ÖÊ••¢£Ù‰BšåÁ¢‰j‡¿ß¨_>í€?݇_PM.55/п 4 ºNî"ºgJg¡i8s¾l}/ãlÙi‰êmDÙഹ~’næ`>NbU´W^ãKŽ:ˆÖ¸}ßÁ9zµºL³DRz„[¬H0E„:€\FDDDð¤ÒÒ{q«ÃeDz«Ìü´$:<¿m<§ƒÓØ®¿R×µNè9´”RJ)ed ´] +?E$ÁÉÅ€ ° ˜ Ü¥šÓž=vöÝ·Þ—ÖÙ7LëÔ÷ò§÷©íœbL›t[ÌéËŸ_Z·¦}âü¼ÒëªñSQ¼i~@T}Óõãïog¾ùn¾'Ö:gŠO'Îq‡Ò8îåá^çá8¥q( ¥¡4Žó 4΃Ò89¥½.¿µí*UÝå©MÕU}ë©ÞX+\7V®Ür¯böºóÎÛºÚñͦ,ÞvÕx»ª\U)¬o®u½³Û™1µæ¸ÄÃq÷€pÜ‹ã8ûû·‡Û{ÓNûæž{-­_ÿÿ_w.c9ÕwÛº~k)çü1W)~@<9cÝ/ÍüZŒi½¯iµ_©µÜ–¹ç–_Êû¥ÿ•>·7¾ëÂuž5Å7ã~)ÆÖR¼±8þ´o˜kÏÞ4ÝÜ“ß>ÞûjýÔz8Û;ï_­ÝüjZÛ·Sœ_Ûý¹r¼í®V×ï(¼ÔÊ;0zdªôM±ŒqæˆSAiN¥¡4”†ÒPÆ©JÛ˜ÕËÑ;Ž`°ô€©Žü>˜ +J»Ù[iUÍßyßúÕ©ÎYw[ýÍøò¯¸ÈŽ4 H š½×NÕaU§Sݦ÷Šo)Œñöy{[ +{(”†Ò P€l}¯³Þiï̘Û½] 4ºQ„ÒPJSÒõì[ßfß}›w÷¾M­?v Ý8zè…IëšwÇY_ºûãÍÖmkËm¯¼ck+ýÓŸ¹nç{ù½9|ŸZÛÿÅOõ…£Ž§þêɘéíü;ÝúÆýÔ–Åýs/n¿Þ™³\å<œÇNž·Åf·mÛ6Ýé÷J¹Þ›òmßj[ŠísÚî¯÷UéÛ$vù^ß{æ¾_)~®ãû€¼ÛŠy­o­åÏuN¿:û€¤:?+Ê (OåÈAõõEVĈãYy«QTy¥è™Ugïþ¼ÿ­¸¶ï^«®[_M¿ÎÊ9þœoSÓÝ7Ýsý×GÿVy@­sé? ªû×ç×z7ïTWjíFñÿÏÇ[]©ÞÝÒ|7}·×[ÿmÛ߬½tÛi»µ¿3¯[úwüõòLß> \¦›ûw#ì%ªfNo5Åq¼¸ƒ7߿ͽë_Ö׋ñ÷§u⯙ֹñÝ_»±Î7gŒ1ÆöæŒ1ÞøÞü€¼j®ÖV[­­osÛ¯Ö> ¯»o½÷ÿÖZq­õÞÿ[¿îmÖ{ÿ¯®[ß|oέoÎô·iéÚN¼M¼iÜÁ_½M¾MÜõ½ÛÄÛ6ñ¶M½e]õÍy›z{éÜQmsg½·ù¿ÍßfÖy›zÛf†&Ö{›{ê½M­·ÍuÇüu¿Õò·ÕÖ}µæ×âÍïãïxóÿj;þt-•a¯Î“Ú¼;î—n<-ï›fiân«pž×oéÖ÷-ÊÏÿåO¹ý­>µoé}üskÏo÷çÛÙµÎÔþí¼Òþ€x®}Šç½_ŠçÍxf{§ÍšÿÿܸòN{@8í[KëÌš[Ì·þn+æµêþg¾mƹgZûÕúÞ[ïÛþºj½Íú×õãוæŽïëþÕnÓòZëo—Š;›[«õž™rþ{›™oÓzú¬¿mWO˹¦|fÚ§­³þïm{õ»yæÿÆUnfª'ï–v¼ý¦ün›½öᨾÈÆ¬^z£÷…8 ]¥Êcž ô|¦lç¾zszŸó™íöª—iŸÙn/**­øÞŠo½øÞŠo}íýµNgVU§âΫ:3ïZ3Í|ãWÅÌôµÞ·æþv›Oë²ÑùYû6kªó€pvÓvÓvÃGëo3ÛIùVk¦5S-ÏYÓkíÂåÞ»Çn3ïÌ·™-ÕÛ̶ôáÇB¥ºrëFqÕ±TÑc×KòÛð Vß(Ú¿¶™Ûï¹Úmÿj:³Û¯Oíþç×î¾9¯Xã‹ÏyîjëÜxWÞë¶šo|»µ6åQL҃ŰÕt¦ÅØj *VÓ™µ^Ûû¶›[þ×¼s½ïü<ÿwDW[ëåµr¬q}þ÷j÷ÕV×ý{_]íµ}÷ý{oÛq~ÜïÞ9ãŠùÕ=ÿÎ[ý[ÿ¾½g{³ÎÙò^{ýú¼ïØæ¿Ø^ZëµÙâûÕ^ªÿíå–Û×@T¬­³®›_Ë1×–sŒ­¶WW¬y¿o®yÏyoMgî­ͽõä7ß¿;÷ž÷Þ˜où~^qͶo^?ß®iÍšÎü¬¨h:S[hêÏXó¬ëkn9¶™ß¬5×UcÌ9ÏúësÜ7ÕtfÝ0yä7ŠT¦Úêx+ëKõVZ³å˜×ËëÝ»¾]gŽ-ß¹v³Åï]ùýÇÿo¬MÝ+ÿ[­Í¶æ®óÎ_¾»¶Õþ}úoiýÏ·c«3æóÛwæxW}¹ý¾qÕ[Ýó­VÛªûÕÜÚnïw½«ÞµÛœõÕû{¾_ïÞØ^Ë_#šZc½õå¿«ýÊq½¶c]÷[yÍøöm»ÎßwÆúùÞ˜WZû?ÏyW[w¾˜ë­q}\­Ötæoh^þöÒœ¯}Þ³µ˜c­ç?·ÿ¹µõÚ¯œg¼ùÍøf®éÌÞ5¢™ÿòÇV|kç—ÿ¶™V›¹æãMgâûѼù/¿û¹µùëÎØ~}ÌóÕ5o{/Çù^Þ{Þzkœ·æü¿bþ¼r~ñý×v[}Wkß^{íßÍñ¿Ý›ënŸW]ï›o¯¶¾¾¼Ö{ßWž·Í»[‹ŸgÌ7ç½vMgVhòüZå·ß®íÖO+ÎúrüY_K¿êl;¶ÿ猷æ\[œ7·¸âL_Ó™kDÓÖ}qåŸë­µVqÝ7[ÛuÕy×úšÎ¬¶WûŸuû¿oíYïkkοÆX#š?­ÖæšqæµVŠuÞ8wÞqµwçü5yßZMgþ~ Deç×tf×zï‹?cZ­Ýûî×WZ­Õ[ÿã{»­õVûºöÎ5­³î¾õÝ9k:W\1ÞÕÖ»í~Ž­¾üŸó}­¶]gŒuÆ;ókï¶µnû|÷Ýy×xRÛ{Î9[½óãÍû½ú;ïVÛN+Ǻê›ûÅXלïÕ[ÌñÖtæó׈æÎZÓ™¼¿F4+þ·´îù¾—ç«±ÍØî¿×jDÓÞ޿ߪm¾·ÛÌécmkÞßëo]iÏšÎÔû3¯vêþ•W½óç[÷Ü»­õj:sãÇÖÏUãjiÕX[ëýšk׈æã·¶oÎqµZïÏ[_Mgr«Í}m¾¶^Þkî[gk?××k:³_hÞþÜm¿õŸßþx÷Ú¹®cmùåúï[në­WçºñæøîïÊÐÛèH¼wn5ïŸûů+c 8•¤ã¶Znñ¦ùÞ¯ys{o»Ï£o~ÚuöV£7Qù·Z×óÆzì^œ\'¿v_\5νvDSä!*•¤S™$AEÊ4½²ôÀδ +A¨>âh%N†·š£hºø:˜w Á(¶FRå»ÕiÂÄñÓØl’£71½Qdy¹ +;Ð,U‹ÒßáN&Œ*r‚)U  ‚¢9ze¬4z%oŽâ*ì@éAT~sµÖjnõ¥•óúÀWrØ’d‰ÛæKëÖ*;Óä›çÞo¯ß«½÷ÿf«3Æ7Û:-ÇÙæý»Úÿ›³áøÊô òØMŒ^齺ïC’^¸ +cbX"W¡ó>µ?¶•Vˆ°W&œ“åAp¤J¢ÌÅWÝKUÓ+ÁŽô ìÎ\ÛÜ{Ö5×jñ®¯³¥Us˫պbË+¶ó­Ÿß·1ÿ|yÏ—ÖÛqÍÏ3þKëÌùm½\×zõÕsnwÅ·ÚÍŸïû½êœßrÍ«æ–^ÛïÎz?­3ãÏûí®Ö~­•Ömÿ;ÖºÖ­-æ›ÚŽó¾×Ú\ïŵ溯ΛߪïÅßñÕ¸ëÌõ׉õߺŸçŠsÏÜV¹ÆøZ‹mÎó'Ã|ŽÍ{?¯׊±íx×ÿ·ó·ºÍûùc º"àÏa8úŸÿUC|£W"i8DD‰¢d`ø\myç*/ìÞ‡×|Ÿ¾ê+ÇÏãÀ;½p=sÆDˆŽ ¨¬>²Œ•*å‘™1A7–eè}¯.A§ú^/Fø­¦Xª<¨â_(3-V~†bˆõçmbn7­ûf½éw$iŠ_Sy@™äAX…Øù­5¿o-®ÿXç½ZÍ;æ«U)ô€ÎËyg¦uÞ›ixÖÊb©< –zçÕyŠ£ûYgý™ÉÔYgfÏÌ´•Ä’àƒà€ÊbÙ6:-qôbž™Ën#¶zÜjz)qÅ™™Œ››*Scç ¯þHo„ÍÎbÜÚRÅĈ™§v iÖ¯< Û´dh ›wŠ«P\y33§eôVciŽÞFv¤Ù"cc§~1ÐÄgï3¿æšk®¹ÆL¬5­$·qÏL÷æù~ï´r*æoüúu¶½ãý;s[õµûÚÚ1¶B%²P(±DàEtÞ8€¸ßôkÛ~êÙ­¶v›ÚZ;§ý­sÚÚUUÓ[Í®ô8Æ."óÜw§çíÞ¯žß´Ïž·ùœö›/ÞWo»ë¦9­6™RÀÊ`(¹åA)c`!æÉdÉŠgR[†ÀeˆdÀ¤  - ÀMPŠÊDÕ k)P05Ñ”tÑÁÐZ`#¶µ ¨k#Q`hl#Ol" lØ(:8g;Øf£m›+"Œl®ÔËt5T×”aa !U%ƒ/D‚ .Ä€Ã(d :TÅ@{@6D¤ÄPNâÀhd¤ÃŒ$ + ø1pÀ°ªÆ“Š, `P"·˜Œ ‹sËËEÆçº`t`êbÀ-.8y¸xwáâ —ŽO†¾H.&ô‚éøh—ÌÁ‹ö€$Dl>KC&jX(< –•‹š,ä§Cd¡¤ˆã¶Å„ñd,*¯C±D:eE×Xá` «ŠªÃÀ¨LNaDeóÁ*!P¥äšÊîºRÑY´’i6”Šö€$(¸J +jĽ( Í¢Z1X壠$l0L”Õ©4¢`±¡CÁ@x@ ÐŒ L©Èxe£ ' +Ë›PŠO8¹ÈÞÆµ›¤D&ƒIÄ$tU& Z4Ñ +çS˜\¼é`‚Ùx{Mèäaå¢Lp·Ê&/ ¦™4Pšþ8VZ‡ 4 U” Mî“fÑ4´ÖCK¤Xµ£m&4 §ÔZØ9¼†A‰a4Ρb¢iˆ&†iTT +b¤†« Õ@b\HºÓD£@t@) +4¤DA¦À +6Î]( üÇSÁ6(Œ^ð’ÈrGB-h‰ ` +6<”VB)R°Á™’–"”hGƒå¼NždìL$ëŠEb!Ù4ü€a’h\œ$TO ’ƒÃGR€BAÂBÐ !»—`î$K¸Å}É‚>mŠÔg‘´ðDR0ž"-A)#Ú2â&X$&yE:,$¾ˆ!°" ö•Š ²*9„®ZD"&J‰HøBD0iUŠ”0¸8ÊEpƒPäÑòD:,F…޲‰`„‘ +ÅG8rD{@^¤¿„ŽT#¹Ej‚‘¨hU"Ig!u`’H¬e‘kPfªŽLDKbÖaqðÊêÄ••ØÊ¸ÍŠ•À*VÙ b"•ä |0m‰ +ŒL{@ZT d VdŽØD&QQ%2L²“zÈFzbÊ,˜‡ ¥u\Ɖm ™Ve0m!Sè0…²‚qÊP’ Oö¹t2̇ +Ù†f"!+1l6Ù¦˜h2í)U*„Ì@&q-àPÏ.Ig#êwf@b 3“œi‰ØÍ +JÉͼM~ö`zÕLómd2Ë–¢cË& LdÈ&£ —L<,Ù˜PÉDõ€’iH.i&YÖÚZ–ÂØ‚Ìác É2&‘l’eY¦mY–%àRn:Aåb%$ɲ,˨d "Yvé—¬£ÂÁ’E2.–H–eYÉež”e˜â“e «HöRe$ÙöI– Á†Dê|.ÆÆúDèÆ9)ŠG³Ï±,¨ƒie±Gä N†‡H–%HÑ]˜©FÎe‘™½SZ;T;ÚB­FŸ‹‡¾u0–Ä¢3¨)Pi!$þâµ1†Õqq8(tB¬ @zºÁxmí)WŸ'T08qÂ=–LÖÀàÊ$H Š\íâ@˜­JèPxŽÂ,h>Ï„ªAëÒ(D Û_œ×d¥= ¥ t>‹ƒÕ«£¡1:¢K…8i\›Æ@Ç­hH‚X’u& +D‹Žè©Æå §‡Î†Q² Uʲ á ò¹²,3Ð@ɲ‘¡ Ëh +“eY)"ɲ;p]X–,K A‚Ú‚Ù¼Z™Î–l‹-Bo| Z+Œ°I‚?¡Q. +>–tGÛÊ$Œö€\7ÖðÑ(¬ÏÅAA +”Q)(ØKÒÈŽŽiËtî%»”ûEjD +Ô‚é:&ƒå ½²ŽPÈ}Lµl'÷,˺JÇF´ItŒž'ú-Ë2rƒ ŸBõ¢ÉЬpämt¦ +~]è•Ý腞Ȁn¹ÆŽ4zï›Hy%Ù…À/¢ ¿Ñä‘ö**¾Èï5Ao5Á.üXS$cô¦§CQ5Åp† 8 ›9Ån|¤÷ GâðÈo5½U§ú@X7»06CoŠàØ©ºò#=•Μ¡zsìÊoåÍn޳#CïƒÍô¦§úÀ¯”˜4ô1Mñ%ªæ¯¥»ÆæØ­Æ.¶1ÁŽôJ2ÆÑMRg(’“KT  ~\cGz}cÄ׊ŸÝ(z•øÁß*=øEŒ"˜í§¿ ¿’ô>_ë<áW~+Гc×y¬#Ænvå ú˜ì8ŠªÕ„ÍQ»‰‹J«ì`¨ð; ’ÐüZ°.°›_vºdy\~‰žÒôʯE1IÒa°Øin¼yÆ]ybyLŒø­<`,4â¸*­…,=’äx`ªË”ªïS™áï›à¡˜àÅkÍp4gêkEÌY†ÞÊSu!œûî<ï<‹J–ǽÕÖ+€@Ðóè¿|þÅäø…¶Þö‚Þ›”ØÅæFøõGüÊ‚,C1Tzd*vz^Y1gy9½ð˘¨ +;°KÍÛ¸Ëða£w@„ÅDzžAÏs¿²ƒ½DOèc +E•wBà­ÂÑï½òR/Ð{àÇGSKõµ(ȱ38®Pü6¼q"ð@تX³þˆ#¼°M¸ïÒ(Š`h#üZäöçó·æ³Œ‰.•ºÊ¬Œ•fqê%çê7¦ªÐ;vc9ûˆ3[¤Gš}ÄñÀÔôÊÉoÎÿqÚÉ-¶95Þœukãƒè€1˜v)ÍW}Lu YB¹Á<ÄV ê(«º°apí׉‰ ÅnݵÁ<@”D¤ØQˆx—J3 ¡Ø’»6!ŽÎåE+‘#ZR¤³ÜTF¢ôª‚ö€Œ(Ñ‚ˆ "Ýw ºI&ÚH¾L̦´$„E:†^ c;2$M¥c3°˜X4,"Ϫ ¯•™À,D›è' ¢ 3øTL,¤‡ƒ„Íâ6tbd b@ÒP,%†uךP“ŠF Ðeƒº Vý\Œ¨„"ˆÈ Ћ.Ò«— ë/“h“Ò|™Em¸„‚«= ŸŠ®TIÀ|J/að/aðIh³Y t¯= Ÿ Qß<\$¯•Ñ>^+Ó!ÅÆv(p.±ªÀ6š–ªÂ 61m.1ÔBÕ& Õ$!ê›L´Á|H±cÉœË?x.›Çd°Á<î gê¨&P¬§BÔ7‹-4 R<Àhçà¢Q«çÆÆŒæÛ LŠ-°! h¢ÁCXàŽô•´^@ò ªº@AYh|°&Ñ& ¡Ú…"¤ö€dX0x‘P±´ò'›"™Ølâ'lÉ€¢ šQ$Z¢€DTµäÂBÃ"ñ $št©¡ú±‘‹»´Â‚Ç1V¡ÉTJÈI‹ ÏÁF{@8™¡”+Ù˜,&$äfÒPld„Hpà$(¹¼%¥ù2ŠDc¡~"Š]…0*BJ™Q0‰0 ŸØ$ÛxÄ “ð91x’C¦ãy×'B³î–cú°©–2FÎ%PLnIA#qDR&³ˆ&—õMnÇ$zíÁ ‘–³“ÆBå(Xè˜Å“å̇’‘‘/g3¯ÎCiÔ±šq¤•ʃÂ}@iÆ1Á!«L¬(´ÈˆƒÒʨ,¯)C^hD4¶¢Ó‰ÔÅ%ÔaÙ¸çÚÄŽ—ƒÍ÷ÅQ¡HŽ„Ãf¹ GˆCˆÐ”ÁBç (. +ž‰ + 袓Љæ"äVP9ƒŒ‹„Šå 8pÌ6±L¬††I‰mP:–1.£6DH )a5 ”£ù¢()d“Ñ.°y^–y!£ +endstream endobj 19 0 obj <>stream +´ÇðjJ¨µÖZˆØÉª~Ahë0µpùt´Ì ŠÙý†Ò•ŒQ%u1 N‚Â;ãHàj‰0ÅG‹¬ê衬ˆLº¯¦‹T&/$8N"á˜h‰…L, _,4YUŽ ··—ЈÍF‚Ê K)…8™D€* ]Ä GRa²ª!-ÁÈ(Šl† r¤ • Å’êD{@ZùÒ]Q3YUÔ+fÀ‚ )q ¾ ˆ Qé¸ê@‘-p½q€<$çb´(”t< ªö€„*&Óë–Ÿ +Ž’C„ÔKD)£b Š’ƒB]R  +ÚbIP¸°‰ÚŠ2" ñ¹‰ª= |•Ú8Å$¯ LTO‡aÃA{@P§ÒÀ[5`l ¤wpª– ŽåRèo¼ôƒÄµÉŽ…yÉ  ®*À!èAQžpq'-ѕ͢³¹ +Û“U%e +;ázàä¥À#ÇLF ¤°áQb¢ÓDÆ¥!¡©=  ¡ša0Nœ +$zê¡Ú](.Flôx¨…ª=  ÆÂ‚ |hB˜„$Åt‡är¨xn`TIªƒfX€ehÈ&AKœEœ´˜&>ã(Ź|+31^ +Åtð¢ˆx²’èqÒb‰êʃ,°H4™¡Ú² b…ª ᆜ#!Kºª,°ö€d‡‰þp–¢ U) ±&PÈI„À8jˆ‹£u¼ðœ´[¡S'µD¢ìÈ5F×}È-‘Qúɪ^lÀˆ8©= U9áL%},c‰0Ž$÷±˜¬*(ÊLJÃ"fEœDZO2ÑãÜ¥ø¢Ã[Bƒ±¤ØÁhˆ=x €·«"S¿G’Ãdj¦¥¼š…2­o¸ƒUPêGÈ!#ÁÐú‚gAp8°ÔljcQ4­ÑèêF£”€_ 0Øæ–-ˆËæÁˆ>ÎU‹µÝsºƒ† +"Åæ"ÑX¨/†¼Ál*LÂÇ A¡aŸ¬ƒF碅Iøhy³C> ˜µDKExl‰„Å.tî䊘R¦Ä'$F™‘ÝTÀR‚C=ÿ-‹¬à’X{@,ž,‡›sù£qú€£ Ïiò²t(ÿ„V§À§“L6ÈŒ„סiD}!“êúä &Ac¡FD¡/x î<¤¬Z‰2&ƒÏBÄ‚ôq´dŒ°˜&…y †ö Àpa7MVjÝXTÖ§Ó@H\¢Îútʈ„‹ðp`KÂdê-[ ˜ “©™ÔDfkä æ)xÿ#ކ€ðA@iÈF¥YHѾ Æ‰ ª0zôfc¤QtäïІ #Â4P'LRªF`“j‰wA,é655£ +1ž +)½B BÖÀëu" ðÚ¼*"/ïc ;éڜτkNºK3Ú€q¼0'Ž‘Ê¤9´„Â9„ßÅÄÇ`ÁÀß8ºÀÖÄ+cj!„·•‰¤k59•6F×Þ«Àr±b%–ªcá² < ×) 1y¹2`Ïr1ñZUõ°âØ0ЫnÔ ª.ž<©´d¢tà*ˆÔeL™&V)“ !õ`ź“I¡@G1¡Ða¤Fª¼0 áúУa‹¦U¡Bí¯ŒP Š’¸ìÏ«@V2 Ñ6°Á1ƒ;=Hd¤2´dB3²Œ ,…QàÓ<™JcÁؤ ¬. l܆‹ Éú Îz " +$p­ƒ¬¯Ë +p{‘a‘’ÈøXì Œ…ŠäÚ¨@¨`J º´a `mp(´Ÿ: +Є5AÚ´H¯1'\£ÄƒÂ©€ÄAÃEGB2¡ºH¤XåFD©r`Š Á#0‘,f)8¥ 2¢“ÄÄËœ$^ >±9nD5e*a=hˆV饇ˆâ1VFöP(Q¦FÂÈ$éZÖDq:J±ÈEÉVŸBˆDK /I¦p¸iŽCkcc2„É~$OçÛ&²·8.&ZÜ…C9qÚÒ±( g1ò +W~­†Þy  +hÈ‹R¥aãM´2Z'ŒÄÛ08ؘ…auŽ‘Gu!1â°X8£MC„Áh¼¼6 VÅ‚k4}< ½.ŒL‡ˆ¤Ò2DÚ‚q°ŒDø–EËA&"ËR*$áòB½•A‘”Åëò8†Èráз™d@'’ìÃiQd|(-1|H‡Òþ¬bŸ QŠåa(Ë“gÃYŽç^¨G{@0ªÖ‘ˆ::c…5t^±‡Þáp tZ…ƒÃ¢Ø àlX¬@œï¢»W†Œs½V +™V9)Pîæ(dD¥ŒBï`cÂÇ Ô%˜8X)!ctØ$¸<Û–0}°ö€lRÔftipØd¤>šÍØ 2ØÜÌÓ4L 4ªVç ±¬.Ç"aÓh`u°`ðŽÀHÕ2ø8< +²¤R PÔ®D 0P¬¸ŒOIù|B"FÁ†íùh"¾X˳8%D²HèààÁâ»à°žQàit-ÐC‡ML:ÝÔàÙnJ’ΡÐðq„MŽ;ž[X À)J¤sR+r_Äqµ]v3±+ ˆ¶ö€„V–¾5Ƹì‰EïÐ`LiÔ "BŸ2^Ðx®:—‹ÞƒŽ\76U¶”2YóxD9²)z./.L& .‰É —— +ÁX0àÉ& ÁO™ÁÚRKÌ78Ž«PÐ3.Cg›®„Fö\ Ö7<},—"á:ì>y++¢— +kaÀÓ`A¸±ŠÆZÎס٠ÓBø¢çSo·(ñ¤Ú¾e9i>cqø×®2ÒÞµ‘šïCªR|6&ªÄT2ÔP—ªK"q+N¥RSL™™"¨¤²éc‰E¡b†hfH£@€(Š„bIŽ:dÄ€oZ6„P<š +#@ Æ‘EAA 2ˆdŒR†¡šÚø„]~¶? +ùÇÛ¨S¬RAr5^—XIC]:ë®mQ³Äç‘„[ƒ ²»2~¬—àtÑT·#–0Kª¹}rÍ·ÌÂcÒ7äŠ:zÅ<ÐÌñΰ=ÃèUPFý³îZA +±çرȠ„{à·­ï©x@P³g`«—{Ccà=‡Š&aåF›±‹÷Œ7—$ä<Ìˬgá{œgQ=—~Fì¤dºeE¤?$ +ÁHI´}4»W‘Žwîñ¥mi‹-—÷è ŸE(Ág ùÑõÚ²ó¶ŽiË&²Ë¢ÖÂ6gÃBG3uÏt8òvÏDj`V–¶-©å#–„¨rÐÁÝ Éñâåïy¶»Œ-1 +NpÌÄÖµM ‚›j“TöÆÕzU\ƒb[„$/N©‡*%2£úàm§Äë“LvBŒ1¢a²^d%9sÑb‰9Áâh­RêQ£«Ô“#ù¦¶¢1pž½ÿmÙ( ј(ÖC(]å8Ê4# x}›T¡„ÙNük´ƒ"k#ü +%ïÕ®¢¨/Læ§oµ¢1OJ:ðÉ«aSi?¶EÌ@rèOYë–çý…3·[eˆÓöGc^çèf<þkr×Ë»{ÎÚ€ÂTQ”kÉídž¯Ò4ЇÈÀ²S–Ùg¬€/ÜõȤËç3¨g`øžó(ج.efÛu²;‹©¬çx«ûžÊŽ\õ»h:‡øÃÇŽ „ÍLó¤U'—5Ÿ×¿fa»<Çy•*•ïíjÄÜ’¨D©•„ܶ,‘Áøq½ •±¹‚æ‰æòû¾MNïAn|%8ÛU”åø¿ü3YcJÈŸ/¶j ´LDz5¨ôJð‡XºøVŸOª³ü’¯KV;ÀÏÁUiŸF­É‰ÜrƒmƪhbÀ°è .Oúõè×°ŽíºÙ㇤ØÔœ +n×ñÔáü<0±Iû ÚbµLÞTnžß÷¤%?¦¤1ÈIWökdEìó€c6‹ö+ÕaÿÀa«olØË~™r¡|ŠÚ9çpB8Ê×̬¼ÂV9àpxú6g(Ò7³7å¼*}ßãÿÞñRÔðùI¢Àe=´"ÿDé©/-Ñ8}I¸¦uËîts ”©ZYƒ€iÙ¦K5aL +‡Y± 6â +KA|GÖº+.ÃM½ò! Æøøû~–k4=çC””¶ôÿJ¸„¶º³ š0«ç¯Ë}wrÎh£ÚBfÊŠþ×c«ƒåœ/R,±˜áZ"hMè2_6/[¨Q}Ûra4ð—å¬Á*¬’Èà ëB¿™ ÍzrìfÀÅiYíB`‚—:·ŠxìÌÜÖPwLoE¡0ãOÈ+W[6rÿ!Æ×­.üVKƒWó&…8<® _Àg6½1…Âý‡æ‰ ´é, +@w©y“Ï›©»{ûy1ß-e‹§³Çwlíí“ÈT¾eã`¹¨«Š`ò©<+ÇáFp ·—<—Éy[¨""Ïc FZzKÖ,Œ¤~ËV Ÿ‡¿ÿ˜¸<Ñ­™ˆº­Ý6ÔüÛb±¼ýé´Cà0k(ñÑiÉk&Ÿ< ìX¢í·Ú®àHxŽ´4yc‡V|sšb ×¥Í%•õÍl´_Yx\1±g‹ƒ-Ñ`úšMM¡Æ1án3‘:•4+9u‹ÛJb FugÏØöÒDKj\.rÿ§ºÀ” œ*PbT –Oϯ}¥bP’ÚaØ +÷ñù1˜ +4#ìO²WU/Âi‹Ð½&k؉zï¦Éº Ü}R +ÛW„ús8äÔ V‰Öìúåã.£**ý¨P¯Ð–Ýa ¸æ(‹Ö¡—¦Àà ÄàÈ uå]®KpF><â•Þ¥œ!dæO WñPîôx¦«Ô.Tµ9¿ÕdöRþx͈XÐÝýƒá×à.EûàU8(EÅM‘Ž$œ{–˜Œ‡Q§2SÐÃRå"š%7"•­&kLœˆ3¼>𘅺¹yx°˜5ºP;:½ÿ Y ¦Å¥<E%«ð;ı`%¤–*.†(±+ì„T4¥JÇ_9à¦-RÈÌ0x|iT:®Nʇ¬ìÇ©.7tÞA¢Óy¿Ÿ¿Ý@€¡¦Ï>õ9KϽ‹€yïÉV7˜X;8À«Ý&¼ + Þ¬«Š³5 ù놿gáglq ËLÙ*~4(^è2à$3EÌ7mF̬0æ¾µ Xè0NçÒ¨=€íQ¨Ï*Cø®7¯Ø“ñ츞ۧ½ÏÍŽ1\H4êÈ-<ûØ“¬X¥ì‘’vÃC«>Yï[½k©~NËôyÉT±ÁW»¨s;—©¥€\0hxcëƒåSY?®}ÞCèoÆwm-ø“¸sc‰%ñÔßa|x G©FÙo +ô§ãW“ò%U<ÃÇ&_ÐÆ­Cöžy¼=èa yƒ¨‹’F>WGô“V1HCÙߟÞûƒšµÓKii²‚º¼އq"´z ç᥿£ÉMÈé o=[!"¢y=Nçƒ' ¥ˆ C¾‚Cò†Xäë‰æ æŸu '?‘ÀGü‡oblþÑí®âj9]ï)„¾8ëHgƒü f2ðÓ¿øŸË×3màNJ\@ìK˜ß ”ú€ŸíjPÅ?9zɆ"›{„¦,Úcð3ªŸœmlìÇè:Ì4 ãGUÜ>òlq0µ'¾»RvfÈK¸½~–­œÃI•[¼ 6í¾nô¢±ôø-¾ˆNwnŸÅÞhæSmUó×­ZqW|¶cEôœZkå†c×g×h^}‰BSk3éšS‡„0‘±šœ6â´VW]wMjî1ôlue(ã0Mù =eºEe¢TÍHÅŒÈg‰Á$Åébyb3’ì„/‰*ïk¼¦z±ÜêEWb˜ÓðÂWwZu}f/dÁ„­Ä˜™,«m(ÁÆz >R%«A\E“¹å±)V1H”ØFìrè(,ÄÌ ÁŠ +¹çr¼Ã¬_DEH?Ÿ¼¡) +»¥o<+îæTÁ;êÄÕ7‹û€äiP0œÑº(‰/yGÓN9Ÿôñ_„€Úóm¶ÇÄÇ5ó“˜IC|å¼Ó·"®10câ 4QŠ[Hîk_2`@wö¹º­ò»’WAŠTáR’dç¶¼p{pYÀ%Ô}_A ÍòôbË“w¼3IÎQ°x`FQ+b9=Ï¡é®û¯Q ´ièƒø‡œ|TàtL#EÂ4( bC^wH# â´ÁÆò m«Þȇ¶Oø CÃÓ2•áð«Îýàh|¸]¦jxŒoîɳjsý/îM +ý»ŽÉ“ÐØÔ5L·û &i#g}§úØcz–3Yulž…ë¤"Î@,kŒ £O^ÐÕ3ЇTJb”KÇ©Œ¹š¶±Â( ð:Ñ,¶ü×€®c +ûhPõ@Är£W +mòˆ ùibd.Ÿ0ò¥ +¨ŸñàûžÖ¨ÿÒƒíNÑÏ#Ô-zš0?£dÌÓ4éG+0~m3C3tV¬˜žÊÐëW ¨S.|½§ƒSž%ŸN\í€1pgÒ*òÎ Ø–³– ³"'ÖœbXÅ‚°‹þ}%ÃDé3'ÍVØEÝŸ‘I8Dû}ÂX쬌ÓÏ”uZá r#,’øÞ‚Âb®ÜÿBKYçP¢ët HŽW©á!˸|Ùª<91qöË 6¬·;{ªìßT¸ö çEä¸"]ý¼¼¬‹ú±ýQ«š¤üÅ1#dðf' p¨´¢ät{,Ù¬¾j’ àóˆåìÿCÝüô&êڤМ´EØÃ­xWŸˆ‘šz2F(Ôn±”¯ k#ÉŒÏGp¨¤C¤¿qÖŇ÷2¼]üóSÀ~$d>hr}q¯i{îvÍÅì÷+%þN5ä#CGElºŒƒ£¤#·¾°Y¸Æ?óóÿã†êÛ… 6¥«ífíÆANkâÝéH'K,ÒaUÀ+I'÷Ò-ÊÌe÷Hz+ß‹«ªÙ)[í MHƒB¼lueø÷T9$  öïiMr3DÒ‹Šžºo(ëjYQ%UÈzˆ/’ì""Šð#Bi1Áâ¡{@$vŠW|™ëÉFà<¸tÏKÑú%•`t4®²¯qZh©`'whÉØkgËII¼Jâ UA+Õˆ¦«-ê8 +u“ÉÚ™ÙUÂHò)z2Gÿ¡ëƒ,5"ÚV ˜û±6-ÄݰyV9JIxŰ…fÈ÷`Hß–83øµŽÉ¾8ŽÌéñÂÓ ½¡šbFzÈþâ{ç ‰¹^!ã›ÌƒÛ¸âX}ùt² 턺{KOú=8’ò¼A4{T øJAØm“Љ­ìàê’ÄVºÆlN}ƒ6 qãFý±hâiý¥ƒ»‡”¾IY¶Š(¸ðÚ ~ðŠb'hÚ6DµÞþ²“O~EIo|ý0;¸Œâ‰%ÙQ²ÖØ„[ròàÇúU–™…ñá•Íb“ý!ÊÄ@dgkŸU…‰¼;ø¥JzÐD ÿKÚ¶ñN¥G ¢Ë²úå“]ÓÝØ³¬zŽJPDÙ# +¤ï¿SO 6º̷V-7}‹f¹ÔNèô]üqì%ý˼„˜þÃ)O8èS¢HÚZþˆ ZµßHÜËà×,T4·ˆåRiîtj_é‹Ò 6¡ Qº"ßê§åúP÷ª.L#0ÓLgMâSî òsù¨»lP 8ÿQ=’D÷ï‚7ü²^þ'f‘:yYF\l{s¼_Ê쌘ié~Ý É +2³íw !^âuµ_VI´gœOI±ÔPf Ù´õîz½Ö òó9RŠêy™¶Óñ@ò(…Íœ¤{’ñhàÂjî#×Lzre;øOUR£™„v ‘(7åé˜üâC’7¾É8DIh.£¸²±(oßø»êe–Âfõ[šN½5Þý +ý»rM²šúÚ ´‡ß†cÄÊRk©]û4fƒ¥9fº¦Æ½8(”2ŠDìmWœ?(v)ÿŠü²d]éxGò¨Š-¶IhVþ¢0ž±¤LºA;}áúe˳Õå–}%Çb=ÇŽTþî¿Z Hˆ‘-ÝÏ!ÂDŠã’Ùâ9+iñÙêÿþHøÃ?Ú,%æÒ(þ£Š‚Ë=½,Žt/—G ë6Lı¤]­®$.ÀïA|[¾¥f{P S„7v&‘ôì[ªÁ)65ÿ2¨A㕤6WÄç­%«[îç–<¼š¦ï¬#ׂ`lͦ)ôØÙªftÏ +Œƒ„¬i2QýªUž›W3ö»íY³ÖL³yÑŽ®g.Á4º–‡SæNÇ–ÐÇ)C’7ÌÂ\©l ·'ˆ×W 0DëK·¹3ë NP¥¥0.Ñ©Ž»Èm¹‘¡¸‹[p?»õì &×L•²LäÖ}6 ä><+3´ÌyÚ8‚> °#XÒØ „sbèÁëÙÑÙÿ{öpUCåjOîhP>Ïåà ­ÿ¥T„u¥mï%v¿µ.h)·wûà÷9YU"1ºÄ<0¦;Ö#Y9ºlr©¤94áiÏ ÔcG§|±¯tvíc$/s +”"b=жø³9»@í_‡+…é €ë¸Hšúˆj³Ê=KÃ`)V#(Ȥðå¡fÎ`êB”Í~P;yL¨¶“T,!,™8‘ Vÿò>|¼#p±ŸßI¦€rL8ãàšK•Cp<#nYû‘vÛ4uê|÷lŸ6Õ°ên(ûù\æ"á•ÛH SµŽ6#ÄÛ> »©vTH°ž9šIt×iss:ĈÂúïÀB’÷y“3ÚêÜ¥ú;ñÔóÂú½NÜèäã™Ì»Cÿ“öбƒuY¸K´ŒÍk ÜÑ#rzMŸOßÔ5±ÃÍÏ,€n#¥pˆs +ìPc}]$Ê‹ß&UÝ·†@ø ðÐáÃ%" }­;a°Î“˜’²¿Êe |ª¬J»ÎýÓÏù›ÕÖ_‘³NV#§£é†(Ãl;¡i>e®Ä-—ÜŒw#ÈÚ«=·H!GÄa}Øq­{B?q<_ë­UêsŸ•àL|Ž\ã~˜ÐVmwï¿Çú¤ßÔ,ÇÙŽ­˜Ú[¯¥ñ~â¿ÿ,g¦1Ï?£K±Š/=û@ÒÂ6[®2vß¾êr±¡E¨Ž'¡Wi¾C¼ á8-sx9Ñs½(ÈjÆTÛ’š2·«lyg%®Ÿ[UEgw”Ù“Áî$Š@ _}8O<Æ”,±_úÂïÁ+\ˆKa5W;ª–Cæ¶7_jöÿì´ÓGkÂñ­KÖì¿$¸½ŸH›v?–u( +‰hQÑZœ„'ò§Rñe ê7ÀÈ+’Û“Öwœ4ò€L +q÷¦`­{>…Ùy@ˆ|ô,ØØÿ)GWÍ +“"h—ÉœLƒ±D4èÐß™ĹÑáìoªªE¾èÎ]æëQG!¬"ÛK,ZŠà8qþXPÒ²’û¶MKzAæ‚ô”^5æÛϾn@ÏC«Uè™ÔšU˜{MCV‘‚*r´h€×‘4 +›Ò¢E/÷¡¤Í„]< 2/Á<óG¬(¸³úL¥ì‘w¢”ý: to=¼H€àmº5žeDÞ/,Q}œ*\Ÿ]zhþùW73àý½)äG‹[IêJnYÝTL+&ŒðÞJß©øèÓ‡‡&¬*sºÇ﮼µš•f/¶Öÿü©¯ˆ¿4c)ˆ5Y¹ç·iÔC˜°ïà ȉFü‡~ìe«*ÂZIXË¥µGÕæ MA/vb” +7“ +€úEð¶Ô V¬¹®pË­ËÆ^Öt{WÚi²}°“Êtµež)IË`Uqk€‚d”¡?vÜv¦(¬àŽQŒ$뺗Ó»Uk¬C±ZÀk³Ý“Ò +y g¸8}5Õ‰%A’¯B‹Í±©>):<ÿCµqË]õÎ+ȯ{IíUœ^+1);uTTÅ~Ò,ºD¿¹höIo3Ò ÀSA{“ ˆ);·‘"¶yáÊA…q;x5‹//HS¨Œ–oxæCmkΡ¹3Ç­cM£'Ží*VAëÔ‹­„ i|s\Zqî¡Þ².Ò?O»'·&êÀÔæ +Mª¤•˜æªÛ¨ä|þV´'nï645-‡$ôŒ°Öö~IÁÿ=¼˜ !»!Ûßü¨¶ÑYûáÊŠÈ“ÕØ1,7mLiºC²íl m1{SañI•µÜ¶ÌŸNJ®=É—eª-O `ÍHáüÿ+-)È6­ £PÎô7ƧNåGv‚µÐÌö+:w„«¹ÙäÖô GuÛ·ÕýânÊ\oxߺ9žð L­©¼šDªþaUWsOá×62Á‡ñLE ¸ïœ" oüïð¹À8Õ_WqðÈ6e} >A¬8Ù÷™¼7gybð¾‰5ˆ ¸âèÕ^{ØòÊå&Üϣ壷 trM!BÎuBk‚MŸ² µ(F‡¤IsÍ»“qPŽ’ÕÙ®˜ö“‰U•ÛÙ–†ã{<”hpQæ˜$eYr77eBŒ’vã rhæ•›JPµð. +ùÊÚEÎ>°jAeÃGÐ&¼!ðPõi“þƒK™¡×>QøðU.°:|ª©ßiAø#[ŸYÈiþ˜ú>Y ˆÙøñ|Èá84(>Ã@Žñ‹:°¯&•\Yv¼·:®ÿ@t ÆŠ]á0gJ2„?!èF£ËÀݶáú[¹•ÝW9rS87;èâ׊E¶õ6?eu^†kZCÖ m °ÎJ/´˜ÈZ¾Z¢jÑÏO¿Ô²„À+þzñƒÓô¢æH£2iÇ 2VÖ¹[÷!/ò¥@w*]®mQû¶úÌ +L?&îöÖˆ%YBáÕr”`4‚4?W¼n¯š§WJ•Ô¦hàMkÐ12Jw R€áÕ‡9b«ývU“¼&DóÞÐCO^EÐEI †¨[!…(£ÒÔ—ÍD +ãÔê0ffýd›Ÿ“™¼ÍÒ9ÿ;)Ò<.ç¸ÐWsµ2ñÓ`RýsÌpªKÛµZáÚ-A Mup +PS‘Ö¦jÄcö£Œ: +¶Ý„šqoOxÂóÎM(oW+bá`e˜`ø¹¿½¯ïŸy+4â0cÇ)?@@·¥¬ðÔ/€¦ÄºÝý5üÅróßpô‘'ú‘)h/…-¢Ž†¦QÌ“ÄÁD1IJïR¾_Óˆ ¯,J†§·pqã–2Å(ƒ™kqìøpÙÔ¶(ׯ*~4Ûgœ'à1«¢Å¦âFą́t¡ÙD‚ìÔ…ïp»ÿøŒ'~° xoâXeA Y- –hµAæ–ä¼®}„fŸ$òdÕø[J´”Ï?o Ô™8-ß‘¥L +ùñ**›}ò>l‹€˜IA½š féf‰ÃûÖã› ÜÜOd^K®!*3;µI¤=iÜ9ÂÀ'}¥˜-Ã\ÒÔ­6^ +z2¨£± +xˆ‡S~ÔMÆ"öºá—˜‹S/¥\è{Gò8+GÕ†ÂÕp]Õ3˜ÄQõ¶L’Ή=-Kµ¸™ƒû°i:Ç 4½ŸéþW3û|ýÆi:コ&Ét0šÕ[:'a¦”œ¯8 º™Âìå±+‹s!|Në\ÊzÚ–©ÐuïšqbˆÜ¦Iè4/¦(Tm±ÜZ 5ƒ©”F@1BàD¢3‡&'r¯5_5³<áÓµNb²¥}èp* ížéVZ#ÓÍ Bé±²ÍÍ]«<1ùCm@€ `KµÖŠÈÂ$_{p—¼l܇® KNé2ıðÄåj¤-$æ¼éÒÔ®èÉL1L8Ñ5а+ªdRZÁ” %#µ, Ém£€ºìl1m5)ѽ®Hñ­6ydÛg“M[dq‘—|H î“ +ÎRä¦B·H\±"Á^«D G"ü"ÎrµF|ƒ¾¸¨iÆKeßÈx™¼âþdÙ‰-B¨u¥ˆ‘ÃJ©HÎm^ œûŽT1L†“Rl~zŽéçzãAŒt6­œ3st”ØÃvIÑ*ç,ä¼q+äÊ£ê¬ -lXòR¦š®×Ìź°†i“¦ØR–§æhÓÊm•p{ó-†† Hþ6 ùJŠÜô¢=Α;d§BP£è§l[ô Ii0‘³š@·n4Æû +ÁÌ‹²†_¬£?U…1Óåh¸Á߆õ®Ó2àSX{g[Ç—yÔ¤%A +œ‚Ëzߘ:r·Æ{½ÕneÀ[&i?$¼PäŽf;¹Ix»Ð¿0½"<ò'ʹGh(ŒÜÔ$T==»V^_çö(@–:ZŒOÔ‡CŒ†ô5“ +x´\¾æm såVûeÈÈt¹q'Ü( ùÞ›¤¼D·Z²èñ^ójæ·ØÚè¨ï¶Õ>¾!†èФ=ñ`À)m ¬8x¨^ z"À±àCëÒð2€‡2N8HYb\Qô2‰jnv8Úé¦EK˜€'C«•©6B‘â-̉Aá TÈé5ÑîcøñÃ[Í&0%²‘äÈÂ`ôã±3Á¨€ ®¹œ ô|Jȃba¬ã-7u±X3©ÄÇ5P« + ÕM—^l¯8G¢žè½È˜Uq~Òˆ^ ê³e¤FÑèðµºzX{å¸!ôz¨Â—׳PoxáÕ.:-` qŸ3îN‹L­ºÕ³+¢Ò6Ò¾ˆíÌ*«D¥àÍŠÏéo—@üæ¤å˜)è8ªkáwŒèm}ºÍü~ÀÁá·šIð9/‹U˜@ %ÀCYÄNaÚJÅ —óæÓF]Ÿ†‘\J˜ìéß´å’fâhÛKž!çëúzØ68ÛL#rcÈW­Ù®6Fë=¤«ÇE]¡ÐÖ$V“y€;cùûdÌR~!a!ÆmAÜÏg™:ÇocÝG¿ÌΜl›8F6KP- +úÀt”[Ùßn"ø˜Îô*–5ý:Ó«ÓZÖ<Šë,4šÎ!ÿ`’ & æ@ÇAw^m3ðé7 Rµ®ÇŒøÑ"ý%Š9Úé8;0ýÃÆ>@þÔã 8k›CÖ¦Zñ|Õyï>QòÕ›2Íp”ß¹ÃõÆO¥Ç¡CÚA|‹C`)›5_ b{¼ÏCò[I-—Üp•ª­jÍÊÕžékØQûû²Ùà†4¼}÷è=Ìa–˜FTÜ"<›«šg ’oƒ÷ŒÈª-Ü€Œ6I&(÷™'QÎ5òÍjŸ!'aˆ²­n) + @(­î‘#]ñF¹£Ò@•¥–AóY6äfü]'¡ s唬V)ð"’mX$UÙ£¬S&ˆ¿€KFöºŽA(&“tuë”0ÔKÒîs‡^“HƒAÜðc%KM*„ãRmd EÎ;¿ìç¹Kó~Øz/#ê—4@ŽALFP`˜ÎRä{ñ¯/@@Õ]U0–é·Î¶21O¾ÛØM?²Ar$cœÉ·€@“» ÎíäšÄñϧ½C¡*Z·§Ö•iZ@òé@C¶MÜ!]Z§Hýß gA)³˜“ʯ>Wš”ñ—›½ :ã;ÄÞ+×쉿Cø¬d]ÙQ£4娟AºZ:jÀO‘º»¨tÅýžÈI˜Äù~::Ë?‘º‹¦… ¸ÔÛÜ]w¾:=Q2ö+ÚæØÎ¥ ± Èë^ ΃€‰}b6Â"±DÕ£î¨R¼)Z©zø/EtªP6’†Éi×ù‡*†(Ï÷»^xsu’w¸Wc¥LÀ±ÄVƒxqC"'¸j?ó…†_—¾Árn`sÔZù[Œ/ò1›W}p˦ö~8e´)j"yý„€ÙBKˆG…™å¶¨æ&Àò‹n<ð­Õ \\¥¹ +©Z0Ü‹p ¨w%²tä +$q¯2y¨k`GO¯ˆpøBûÔ¹$KëÀ^®Ð +šjO)uk>Õìž©¼%0UÁO½ÏQ\û\Ô.4´HQÞä6‡««ô2ÈiEëgà0/"¾O¯°ô‘§&3ßSço&œÉdßÈ,¯˜…ô­eô(À° ºžRd†Pƒt½bdÓ—wˆœjª‘QŒîFˆÍ „céˆÏǹÿ®QÁ½»3#˜1Js‹ï3V÷ÛBMìzGŒZHØ{÷j'†À$sKW/î…:HKíCEõ‡&Þ¤£l I؇ë&fIЦ…%X³’&ó]SœXÊ])œMZ¬ †øºA‹¦ºw>àÚ%Ïvÿ…ý…—k¥ÍmdÒ¹œ2Õ¯éc£fÇï*:ƒ¼ð÷m$ÓŒª#&|ÂW„è±õÜCƒrÈ”Üæ™5Òᇪߔ +ôT¡2skP•i Ì¿ÃÉný©Ï5_i¾ avPž*óm»xwb»f&&?ÙvN*ß¼º¡çÎb¹–,äœlß‹1¹šh"´/¬«¸kf|½Á^Ï£D/tIòEö+2Q`^¤¨ÁD˜^S†6ÕNaå †³ ü,’k·Œò†Úªa\msœ Pô".c‹O}Øç-ÛFŽB„°k(×ÿo\^3.ý®&†„žÔ¸ÿ¬-ÃÌä•ð¦¼~ãçȇ^zD/zé•Ç£¼îXlB##ÒKYo2ì1¨UÜ4½4˜^À$;ÖyØ‚*=\î…2l‘‚ C f˜n—$•èFÈ™•D|«• Tv9‰û‹[Eèb×ÓA9oÙ™¤+“FìƒlèR¸å¸˜oûbý y 4Ä%ž!,ñtšY,(A»’½j_ûÜÌ‘€@EŒKêUò'bϵý'e´õ~‚<ÈÁ:ÌPí>³eéH&l:Ý͵9^£@ zrÍÿâŠÎ…ÒÓQßý¾aðë³O%°Xáàò„T5'?Žô_¡× S~ƒ*V^Þó˪ûJá#oÜïÓ:žú:kxv!'~Œf¼Û†&½yjJ%"1.Üa¿@oäó·,}Aj\Ûº ¤±+èÛážo tì/Ã'ð˜"hŠžjz»–ƒyMT+J,£ + ”I+3÷¾Þ•ÿ þ̃°-{™'|ûUâÁdj SÈ j,Ý:*»q™,²…^°?´!ÏÖŸ öÈ46†¥}d9ƒ|XÙèSêU'îÀÏ¿IŒÁ¢Ñ"Ì¡ ß¥?E7ÐÚ}Ých |W“àV©¶Ùg˜Ö'bwU®È@'Õ6CQ«ÜGí„ñÉ=2>Ée ¯fßQãìí¸[/í”û%¨ä˜BK‡më}\GqZ-˜Ew½öe¨Ö +T0¿PQ² WÒŠ>’ÛžôÍ Ï*+(šò*6 ¡ÃAYnKý ÷°»È¿Ñw¨ ÑäÑz¡AƒÜ!ZjBÀÒ ›’gÏ´t˜ÝöÀ2q]ÆUüæ.³ Ö6ÒðãV½ÖZR[ÃxV¾å³eZ¸B ÂcŠäç[EÓ‡„ПÁr¹õè>&¡nÛfr)á#}b+9©ª‹0q!®4zÂÔX$ú%¼•=ÆM`^YØA[ž¬wz¦¸´å´dP‰Áž(1£`Üä I?Ì6%§Ä‘™³7س±•ϰƒ‘³dOïÁ7•xgÍ™Š¢s³q#Çý +Rh1?¿Æ<¼J.¯; C™ Äщrr6? ­;ÅaiמWTŽI¡úŸÌÛZ¦÷&;s÷ f¹¤#\h¬Q­’èžL>¤<ô#¸ 8$Yiƒ¨2¸m#÷;[”©~DzRÓ 6ªÖ›I†’=|XkDYìvqØ.xBÂ=?aMdùË~ Eÿ™ÉT/ÙÝ4|úº£•°÷¬´6wÆuÜN 6¾äZŠèÔ§·m.‘€ö±‹ÅG¹Zûlß4ðiHIÚÑ6­9ßr9¼Á~OQB½[£pBh‹@épE,ñ ¼‰V¶sà¤Í89oà*Î܆"²ÞäÒ/çM%d6Ç%Šš2ÿ™ÿXª ¯ ð÷<.®í:Gºä¦L¬VÓ›ƒ•&[f¨YÒ‹³Óå)ϰêíÃdso1㈀c*ÎàË´±oˆ=ãol++R"Yäæ?>!ÒØó;ó¡…þÖÐQX_ˆ¹& ïH€#mÌ‘EöÌQZ„RéõKECv¿w»hí¢‘£=È©ã¯!6,k±7¬·Õû" íS‡Éz +ÚN,ìÚÑe²2;ûË–l¡a¿Ÿåà-0Am„žÂÀ³¢À@’ÎO„M†MýƒM¡"¥ù•ä%uÐ^.¸l=*i #.¬ô5ìq1”ÍÙ©?±`ëL+Ýð«‰ÑÎ mhχª*¨ò¹[šXiúš ºz¢ùMaðÒ3&@¤ÓoÅÈJGiOWÿ¹´`ö^¸çiï´ŽÆJ„ÙLj•¶¬ï(M4YGW®N<é²FmæóQͳUvË"âž”`´ò‚îZ:˜i.÷£I/2ô7ú¡ŒsmðæÞ £ä}k”ù¬æQgoÔßÏÙÐìÀ•PÅî!ˆÍôå„hûÛcÜ0ð÷! A=ÄÄ@>i®e'Ã÷r:¾_°SÌÉ–©ÙTš|Xb”ñ³@éâ}Ê…§Ü¨§ïôdQèTB¯ÇH²œ’ýz™ºc9©á®v}^MNÄ€H5*÷ÃZ?[-ÆE(Šá5+vÂÁ¨¿æncú”zªMDèeK`|«·™i¡NeçEï#¥hžô_OB„®GT†ËÁ%‡  £ k‡ÊLnÙD‚Ìàé;  žº3Z9¡¤XnlEK¦œ”­Ìo‡ôRô¬¿¬Õ·ÚU]_[\Íê°˶“Ó‚ÃdÆë¨Bü+—"f1³Éþ#˜PÊmš˜(IŠ›ç{‘ £ÍIE\G;šI HÂ5(Ç1橎¾s¼eÞ®Ú€&|½K¥!Ÿ§:?;Ÿ‘¾ƒÈ™,­½\X^y3Â\X'ÑÖÉèl5ÅÙ¸Q5·±VeÂy'˜ÚpC"»4ÚI‰·»l.ò*¨Y|;¬?ëD™&¼5éQb E=äqŠk´&{ùrɽÈe òÈÑ^²Q&Š;<)6ü½ª$Kü?q»çp|a(a×Ñ[Ú# h,%ô?ïN4&B8t¦Ê×A(•€·¶7kåŽÍsŽO=ÖZ·âò•zNüÈ“«7:X»ÆüÄäg„`Ð÷¢k˸O5Îä,"QèRFÏëö\ÌŒ)š9 iþ i±ÖH$¬¡ó*]²!ºÏ%(Œ¾Œa`ûh¥¥yvhsMÖ´uûÊ‚•ú8—Sgõ¦ +íb3É“¸ÄkÕÚÁÃÔ Ãù¾ÃÔ¾ î‚OL¡ó§@ž…Áˆ˜‰È¶Ü!DÆiJÄåÑ·3bQÙ&&œ¨w“¾k¬ãçry€Qdû¡×Cè±ìÚ¥÷Ï +7^Õ.qò-s–ÊA^¹è¾_L8ºD™Ëv$ªP8¸èPìI™` äpÒañä%¿ÔRùeYœ]a(ä¿P ÄQñÂy#•U¡1Û¨Ì45þ´•ý<ã〮2R’T8½¨Úò€Û£Q“PhÔ«1h#°Ž(h ?§P”Œy‰Ô¯HT¨°af.á™~à + M¦ñ,Ù)o,¿1?î²ÃZa«Iª©£éÑ·DZ¦Í(Ž—ü^'ذ/aPñ™“¡?ºWK²íèaèÉW¤X„-ATÌÂCñTA42r¨ãf¨Àw…€¥C(Ê Y³Qãb‚j æ]$ ʺþìžÇOkÐ}tdñ¹ýgàGÏøä)¼Í2t(%İ­ +»øB¤–âà÷¦#‰c D%Ô£®s°·Îc„Ågÿºi¬‚A…¹‡¹ÓõóÓi4J†X²Ü¼4ÞÜÒ–«ÿƒúT’yS?\bÀÔÏ ðë+º#ê+e<ñcãû_‚1eâvÖp•:¹ +æ9ø§dSIu( ¶'‚â Ã1q\˜”%€—@¨Ð߉À±RøKþvÔ'‰ø®$þ” ^™Hz>”u׊ô nÂøqh\ݨ̇°'r‘º .>áùíðÙÙŸô¡vDÏ(_Ü@}ÁJèºR°!•7ëköîúD€«pöÍý¼s¾›’Äïˆ* +’üu‰VÁÄV=öæ­H4Ç…Zƒ[ÍCß͹aÔË¡yžìz˜@‰]zUw'ê=$ß àQí7’ð…‡v¡sÌ2‰áëTäÔÁøkW<\1Î϶`² ¬—Œ¶á~­ +C¹B†4DR/^Ð̇ó|ÿ‘A®ƒi†B¹wÃ8'—9ƒîõï7­…´ ©ÖtÇ©’3;²­ ñG9ˆ!êpNB ¯Ìhrì <„¸û£¸O-œÛÑ¿Ëm€Ñ±Mƒ0¸Ÿ¼m9)Uï ¦í‘±-Fs¬BJ¨‚•Ó‰=Üùý1\fn׊A<Ò?ÚÍ8¥sª-h]Yùlb–±‹Ý,»±–Šaa÷5-fâé@¥íô@¡LöûWìBp8o@idÍ6š”NuÛ¡ÃúÑþ“§ I-©¡ú,{õˆ#I-zcÄ)•m‚œUA'ôéj¥ »~Ú-(I@†QaáÐ4DhXÒY)ç¶‚öÊAq©‹kBs—E¸eº{¢Ñmñ¬Þå[`Ñ3{‹RbZd/šš˜Þ RðýbêéZÑêa½DôT^ ~>àT^Ô=}w*ÎúGÁ—½[ Ì ÅÓ¨ªšgfö7tò¬CVÜ•%’âœ`ª—‹’kÓc7mMb\}Í)ZÿîɳrÎ ¸b`‘°‚”’è‹”ØS¿ðô¸…~:C7µvûõ¤À†[rØäm'ÔR¶A\Ôsù“I^™dÂ0èà½Êë–’¢ŸMÎäŸlkÊuD·Õ-}^ÿTŒßU|³€\nS, õ·rï0²ŽÃÎÒ{+á~g›1?ÝÖ5@íy…FýA·'Ðs­ÞZDq÷±w£Ñw$0|ИÂ24kê߆Kcݧ:Ô©Q Õ‘)Ú÷7õ0AÒ^ó»ñ30鳨ÈPØ ŠTh¼¾ž+±€1JùnK®´T]©±Úü¿Ð ÕüJ¹V($y<À€R£>H!1€2¹Z`v“ÝdŒ¤S€5“Š[=è]Ìÿ0ô¥Ž/@t @&z” c):>›Å6 +‘èV»v&àµG@%/«§ ͬ¤wÕ±ÓýeQD[ÂJ¦Û6fs<¯Gý8@_@ê; .´ÍZ5%å<_$å̈x:‘è,§ŠÈt9UL="º€„x#:Ý[‘\¶ $É,†vÊÔ²Ø[̶´ÊßYéT3"$àyl¼*Qpß¹v.4ï\äyºÎR=b‡–>\Ùá®,‡BÏH(ä21·áL¤úͤÐaP–{âL(΄âš9"RdT•F%Q×Ú§”[Èg¨„~“Áêà(’?#¢Ái28Š| ‡äˆhpÈùÀQ$ó>ŽHfç~¢—¹™Zæ'2µÅu$²ææLMqp$r¦¤ýDžíR$Ò‚ªïÎTDx^ZpÓ43¾–?Îm­vYTœh2«E +Ù¢²xP–kQ‰&¥72[!xÔǤqÃÑT!è)>cÒ¸5Ť­zºâ9ÄXo¼#ñ*0—ƒ8rX´er‘Jh L×4f»3:xT Èï,‡Ô€êñ"ïU™VlK ø¨ºP MH¸ÂÙÆÝ [~Â/€V¡Ý fÝ+Ͷ?>5>l%~!Iü*âwšÆ·ýømhfýB3ñë ðãùM&C˜ ‰?ƒRÍ¿™]Pàå|zu5ü±’*Ä<¢S†ˆïl¢-) +JW—Òî\¨é`¢`ò”mò”Yò”„‚©$OÙHž2K†2tèV¥Ri…ÚÐ!³#d\KVP– +ÊrÏ…ÌâL8“ %‰¹…¬‘[ÈJ\i»r|L·ñ˜4îIÛå ½‘Ð •´]Ì2h»˜åg(*`vÁ©¥e¬Z±œ«VÌÖ>¨ +•B%’•Ú³"4 +å‰"9SËèÜOäL¨¹‘ÌîF!‰œÐÜH&gj$§êÆ€Á`x^%Œì;“wãìLž]ÙB¨YÓ´ -HY*ÌÂW…YZ‰2+Qp:šJ¬ó4ŒÂÐç™=ÂÐdqž–Ã.ΡuÙe^Z9ìÂ]‹¥¬ ,W´¨PĸÑ\ e¹¢É¬èh2«Å¢b<&ûh„.È£òáÆeñ1kåÆ+aïNP“ƥ̶§dQålµžª;Œóœ$hј’|þ™£n±¹È/`ÖÃØ‚ÄQ½»L*\H xÇþ‹ÅVOgbèZ"gfØ ¡PÀB”ŽßÁ^«ÌU x¨#»Økp9ìN&Mp€!@8 Ž¤âðø uàÝ鉿Éä€@EüNŠø]hfý@B4˜‰ŸÈ`&~¦Ÿ¿“fÖÏò3ã§Ê“ñ³¨Hâ·ÙƯ`‡KŸ‚sK¨ƒK=1œãPh’ÉÅ씜”][G׬Ùx.yõC4§fЪDÁg¹sm47RM%“©TENH/yÊv®K·BM2tȬnU4ÈŸ ¡Î |º |¦ÙUÒ­Jã@•CåP9ÔÂuhÝÒ¡uÏòpe9T…š•DB P–{fœ[Èr ™Å™PR©2X¸Q 乑n¤éF•¾Ï¤q{›s¤ín¤ 5«-ÔˆÄlÌ fc1Æ bö:dµZû ¡ÂJí :X©f¥ö¬«VÌÖ>¨@H—¶öAM G‘œ?#R58 8Šä¬Á9F‘  + #R58DErÖàÐo–½ÌœB‡ …š5“s?‘s/s#5S µ#‘AB!SË$BG"gj=ÜOä]æj^%Œ¦²‘½>“Fy@xH" ,ÚfõÈÀ Ý*µÁJ-"aÖ<½îm³zLäukŠ Úf½ñu)ÑtôÄë‚¶YÉZàj€¶Y³@$½W-mÏ`— +µU¢à†¨€YƒBÎDK<ÑÇ=·A¯gRðHäT  +±®_uS5Û¬ºoó´x_dh¶Y=[.¡6K{ËV€“‚#E2j`@3IK$ I’§˜n³Š‡+³t›µAÛÅÂEºK+µ;Ô6G+µâªD©Äfå6AXCÀX]PµDëb0ixéb¥ª4“ÝæV›x /fÿ&“’Gü,*’ø• fâwò•Ä×!_õë@½°¿ÇT?ÐøªßÇWŸ@‰#~¢<¿² ?¯ÂàÄÏ®çä8WJTðA³JÄÁäu=¤ƒK>\b$6ezŸˆ§ ¤rÖ‚SoŸmVX,aA‘è2ùlœmVVGãÄÞ—!8&ìƒ z³½+IG uÓˆYÁÈ@ކ9ñ%²N§àõUn6À9!œ‡£ …ôá7(aõrˆ k¡¾ÌF2i€—Õq ×ä¯6§Ç„ArH4–†{R–ëÞJý¤“¼;oœò`K0ð¡•Iˆ¸-)m­+À àËTÝ7b.‡Ý¥¢,ׂХ‹Ùæ±¹ø\Du|eDï±+.¥Î–0E'â[´ÂŽAʈó-¸ù¹4¾€È(8ÄŽ€çèé0ŠÛNÇS“n1vt:†*€eAËÚFÌÊ–H^Êjhž”­¸"$Éæl ’…¹ F–Y…ì^#Ò“ä~"÷27’û‰ÜË܈æFr¦–ÑÜÈȃ~c0Û¥òla # K±íRCºv)lòR6yf½"ѬiN v&O×Yß°«6$¼jÖ +¾)>æ ß\!X|p… ¬à +A#§ø˜7Eå(É…™ ZwÑwiq»C jVRTÀlŽT3‡Öe¬.µÌ¦ÄP–K){Šãx¥ Œ.Ë%˜¼•KJtz&5’"Õª(2ÁC‘õ+r™ÂôÀ¬PœßË¥O° ãÓ¬Ä`á+Ð[ÙÍÁ +߰ˬäi›•”œVx`›uàU‹aÁ*‚^*žWcNLl³’´‚ŬÇÀ,Ó:1pKõIGL®{ŒjÀQ^+Úf)"EÎÀ¢mÖL qÊz1]‚ÓëzÒ×µøä/´ÍÄÚf/ÎUA Êui7îl³â O¯ít¶Y­‡Þ©Bk§uØ ŒÎ “­ R@Âîˆe³bD%³‹Ø.•€,ðÁZF‘<Û¥ð˜k•V„¥+<ÒJ¶˜'@MÔ(Ù¥EüLêÜ ­^¥´ª‘Š~}£¿»´“è%ñ¤¯ÁD^åÉ_ ¡@BÆ×{â%^\­®¨rŒHžNoiê°@$½wÃÓ˘ÞR’HINˆ¤ +­á=lÐ[B +Ä®¯X7 › g +Q‘z³Xµb–VÉQЛË:‚‚SRô°»˜ÄhOœ¿¹ÐOñ6x_¼¥c$«‡  +<ë¤bC4R¤Ú<Ê 2b€Ò22”¡ rÑÒårJ +‚gÓ9c€®q«MRM¢ ýÙ…¼Oã_#h«,‰UYÖƒ–ÖÞ2•R’H/ÙѨGèõ +˜å°<mi®] +‡ˆñ4K›‚˜)F7G°gj:¤HÎX‰\b€RÁ+(Eò”ÙÔ'YàEÍ-d–‘n³Ö˜AÌ.RÞj‡¼Ò†ú³:Ó6ë˜káBÐ) Q„!~ ¡:zõË,Êñ O&U?¶S‘ä$u)ò§r]Ï&0ᵌ9eœ²i°ðŽ´ØJÉê;ž  È!5ëNm³"lI3Ñ¥H€D´e•ƒ´vâ–j¢à\À#3(Ë%'“Æ%¬Ô–¼€ V€J¨¶\F [CÐ*+ã)½Œ"ÙµOº€æÂ-Z8AYîxÑCë’#Ú.p•–WÃôRØ qfšO,† ,"X©I‡Ö+(Ë\¥­‘ +˜mm\¬,*½XÕ  à¿Á;=`›ˆ&8MŸ¬‡b49·£RÀäÞsá³SÆPÅ>{J&=¦Š1•–A&¤MÉ¥Oiw°] +_×.…­À§´»dÅMn>¥í˜¸'[ÏÏçµR‹Ghiëž4®õ å-íUU Êp vc’ÓÜD8%1*ËM9ÌÒ:ÂfS‹O¾ê‡ÙÆÏ<ÀøTŠrü>y2~šY¿ Í<´Æð+ ô.©øÊT0£ŠúcÉümT‘sc€"[& ˆSŽ88Àäc›MLÒ’»åe,Æ—Zœê7¹`ñslãWcô>YèP| Ù- …€Q(ÞœIÄ“ÊîæÞÓ)Å…ƒÄ \é’6œjéQt± +¢ÁÍêY ¡ ÐÑH@ ‚×åp‚Æ¥Fœrä\r›ÙV˜§wÅŒM´j c @¼XLw¹Ál£¡ s6Î6AB$4±®AB!Ýd +cœßñKÉWýN£?P8ýÌøÍv¸ŒÄjåTNåTN­ÍéHäFsMÜh4 ¡ÐPí0UY| P`”P §†¨§.¬Ô28µ´6“v…*© Á†æˆ„!*\p*¨/8ž×íaš§çÛgdp S©†Aqx"-±ä!è=**´«”šõ€YrÃ.Äßd²ô­.¥Uìô÷ýM&¿ª­‹"0Q,åí+bžÃ …‘dõt´Ä„m×.…ëVÚF®Å •l +½aÌSÚN©1ðbu)í`òå¶?&=ÚaŽ' K„ÂÅcÁXA €Ûlgˆén¼]LW`ˆ´p1^Ë@kW@(èbZ:Q¬ õ7ýÿí ûf¯ÍÿZKêÞ);ož³öúó¾¹%ï¶~4ô¯7¶X÷¼;ßßÞ›u¿û_ŸµÏÜnŒ­ÿØ“þcƒÿ~{±öšã½·¿Üoƒ¿ùç{µî~“þw÷ýâû3Îý[û?ß=“ç¹×ÚÛ«õíkþýý½[R÷ѳþØStÎÙfÉ«wïzÛï1ù{¿÷’þf=^?×ïO^®GCïÿwKö{óÅV[®-©/6ì¼½õürŸ;i=÷ýÚÝ=Ù}6xìûߺã{·»_Mz{û5Ü‘óm³!ÿÛ·½ÿÚß1É÷½Ø^Ë=ÆöÞÍ;É­Í9ëý&=Þ£[l9övóKÁûbû7Þ;÷ü;ßøgÃÝöcÌ3çŸìÜò1g®1&¹'³Í}{›µÇ¼lyÇ×À­½þòl¹Ïdß{4`Ío¶¾ÿ<6ï9cËoöçNî«7þ:ãl¿íäµþoûþX“øë¯/¾ÛÛßw&;ç9äyæþï=²Ç›_ì¿õäÎûR:Ï÷÷±îäÆ><Ç“¹[>vl· {­×™÷¼¹Æßÿî·ÿÞkØÚn›9æ_òÿ<¼÷<÷½wΣÁ÷Ï=·þwòÞœGÝï ûñÆo²ïN(¼xÖxg|9ÉóÖçK(Ô´o!ë ƒíàu±·—cïñÝÛcëí+sŽÿߨk«3îý_ͯ·˜óŒ=ï{[›}¯pNÁgÃ×÷gòÿŸ;Æwó|­Ç×nËGÃÞ~[¯Iî5¶ú’¿îóÆÿ«÷×øâž­ÆäY +5Cþük»ïíýߌ÷Ý]{{ù¾'¿Ùð×ÜçÍmÏ[kóÍ=ßý½Íº{üwϼs\5(/ŠÎ¸—ïÝ …Z)çû5ys :c«?i=ÞœBáÄ–ë¼¹Þ„ÂÉ=ßüêÎýö¼wóÞš[l;¹}&jùö ¡pzëq¶¾ÿŒµõúrò4to7¾÷ß ºã~¯æ_OjÞwÏ_ÿûq¶žäwnýÖ8ãÑp÷ÝY[ûïdλßÿoÆß~Il7¡P3ôœ¯Ç}÷Î-¹-ñß¾Lf®{»jáZ§e²10®¡…sm Ö`·á÷K(èbhm˜Í²ÍL¾ ª\ž^Û)7(c¼ U‚–¶ŒL6èetf˜Äx@ƒˆW³Í:Ör¶ïÙO”DEàÉl@בD³žôFf.H€v¨4•åÙT2d`F$à G£ …q‘áL2$B@P&:&,”G„‘P +²ÅQ Ä@d1tf” Ô—^ÓOQn®pÛ1-_Gd·„lñ¶W)^ø ¿¯¹ÉíÚ{L¿i½Z‹†–è;öØ„‹2òæ›QTp Òöh z²[Åá-ŽžJFÄã$ü ­qžÎšƒ‘á¹u› ‰½hãÝÝ +A,N‹X)å)ѳzЃ’GIyÅ®@zò§È÷ÿݱ¶öòXlŽGÃǧ5Z:»4.‡Ögáhȳp,õ¶<óÔK“õ#‚sK“Ë-î·Œk›8cξs?>®˜‡s‘¾ã— Pé.Û‹Z¾(wŸcÜïVbAÔ,õªC„cea%6ée8ü;Çj²?/¥äà3¥ Ëõ¸ŒÛuK©‰h·ÂgÝN„3÷z)¡ãº¹ÝG“hô±K%A h= ™˜ÿ¦4€½ý®I©À ¡eÆE`™íaE/DPâÒdî¬È¥×¢n(ðeâÌÖÇ‚ÁÑs†Ï¥åà§VȈî1ÍRj/¶úEôê–úǾÎwÅ]?Ì-IH@PÌ5ÏÙTj6¨¹8V0r¯Q ^Ð@†Ä\ç[­žÙãkGƒ¢s†² eÙCúܦ« +Ìù4¢).;%0áÇš>#úx…ípøë¨:ÿ`Å‹raKè+\R6#ZÖ¼@ž¨â^pª°Þ˜\è:¤bákZ4;ÞCu´‚вþ¼ŽU‹ËîÆøqAì4áÜ룺\ø+0wúmÎ5¥.âìUib²° »ïUÐðhªgHX¼FOQRA¯èh‹O1ù,Lp¡C‡ÇD ÍH㬤‚‰â"Î×ʇˆÓºŒGjfÉ‹¬û +À×EZ”í`Ê8/,¤äöj°Q<~Ê›'Áææ%À…èW²AVËäµø3Dôš,qõñk¾PAºiJzjä¾lÁ)%hò×ß8²*æ‡wu)PqH‘é,‰[gÌ:ù45j´«™½ 6ÈÞM‘âb¶Ç°Ñˆ±¸YÅg.†øÉÜnݱöš.ÁõBzb=üR~o'²ê™¦,¶ÁOÕ/ »îáä& >ŠfP–&äâø^ÉdQ'˜—«'íˆ^iÎ-ñ©ž°¹0R° =ÓÞ3ݽe„«{õžgÆ¡4FCíª Ù÷):©Š3Q¢_ˆLLxø ¡}´ë›_J“Žd6䦌-³¼9#m¥ŒLE­$*F^×Юb¦ˆb9Ëi9^42_ßH¿qéý3¯±†©ùL]ÆåÙá¿Öb]c!®´ëŒ´žiÃÂOðžx­(¸Ð ú T2Èÿæiʇt[Ž ?hP?Z¦™…Uœk<œqæ6Nõ)âS!Q¶1C‘ëÞ¾åéÔHæ_dIŸJió(6‡^úŠÅ¡Ë*hÝëN@âÄ-µ5áãMgoЦJXê‹Cè`‘xŽ3Ö‹U¯Œ~\Ä£“D¼± +©?­û£;™ºcaD¿]¸tXœÛSg¾Ö£{€ÅQºluì|½¤Xd‰W]e“5;ê> 9%¶ÌÉ¡×~R¿kæbÐ;â±ù‡‘:”Ã=¹¡7á¦*yŠÅ2âD ó(x>ùK F?ìU1³ajú ;Ñ8s’ˆŠý39^ÝT`º~LÄ(΂iVQ®Îr:ÿ]ásªptáÙ¼Žj5aØR(4ΟیäÐËïNîËP liš‚P½eúJo8gdXš# +úó©C{;‰C¦Å,‹#KÞ“×TÜù4«W±>)ñ~ÆÏŒŒ¯âfÛ©ÌaøŒ¤BV®òBSŽO6®ñ¬¹À׿ܾ{…'®a.Eü¼`Lm±q¿yàéh“¾t¼v4 ) `_ο‰`ŸÄNxÌÑJ¡зàƒ‹@G%²ú¥r-·¤æ"57HÑ¥ÈM§füôÊê>K'l‰…b^i 1‰Ü)Þx({ËYlÕÖç 7ßb:’‰A•Ž¥gC%X•Žj¨Î"“ê Úì5–v¯}¨|›OÙ Á“D[‰ã"—“°XùK’ÚLAÖ-~CرʹàßDÚ냈W +$ad(£6ª·’£Èó*^ÚŸtÊuÅ„ËkéÏ÷û¹C@pø§³rP)Îî„ÝmE’ÝFOP9¬¿Øj¼nž›q¸R‡I/89WxÑDBàûIoÃŽqÎéÝ”6÷S$9Ðßp…n ©øè`(á÷‡ˆY°ÓŽ›ÅÈã§± o6Qq@œ +:ôŽnst60–+tD1a»ç +b`„±éè¹Dê8µL$l*"¿ÆYEÉÐXÓ~~{óPÖkzÙÖÎUØ 0ÌÄEãK ;¤Ç›A¨ŠÝóðf7³¿‚®[匢£ÑH°ƒžîË*cz?„֫ΧðÇ]Ä%uø&<ƽ”ši/”Œ?Ñð›Ž2;eݸú@r)NÿåÅ ªlõƒd @S¿wí#ëñklâ|˜nÀÉ.?øÂ«˜Uh¶„V‡òž°aHU Šsœéô´ ~¾’ ~Þõ(–Psh9rz.ºf%R÷ª> Xxø°8†’;ÉL`tÉf¬ÈÀÝüõÚþ¦Ùu%&9X,ç0QVX`Ï0Kr=f¨ Èܤç2_ +?etrì/3àCÁ€|†c­±–AìŽæ—!%¶hcµ'¹q¿'V‘×ÙæcãæO0B$]O“7-òª]…:­%èÄ|Çžvmù>Áj9"TE…ßB!œàËG½RËG©ö¦:ã0Q· LBˆ‡Rwš91gqíÛI€wîlÿã¤]‘8s¥Å¨–ús_[µJ‹¯æ.ˆÉ·™ê¹þ„–aªbÂm#þuÁÍ}F,¡šX®ÌçÚ7@˜ ƳçQúñ@Œâ(“«•yÌÍ_üŽúé•ã•2¤£—]U+se6˜ñ X‡b×#*è÷Pއ=àXL%Ä71\¼–à«HØ<\wê» +hÉ)Ä^êaTpt…]¬$œoKæGø_ìÑÞ´è„4$H½åE•âïq€ÈÇZžÉt4ýUáeËýÌÒ ÞŒâdðš _NÅ‹÷“^‹xBÈÝ/¥`°‡¿Hp¡:ÌäïéQF< t0\MñIÁ÷¢ÚL7t³¤ƒˆ§…âi8žÁ˵­ælCÙ—atÃQ4¹õSÃtлN¶ÆI”¯Ÿæxv“KXõ&85º÷Ä o ÄÄœ +7¯™rÞ !é#‡›»ÔþHî7 +dªº'©Ùõðýá-lK†§ºHØão¥»@diØÔÒ(Ç ï‘<ÜÚâ0§ÑÕÒ•aºF¹i´¥…î…ŠÉ|zÆ­d>Céæ$õ þÊv„ +þ{÷dõX4çòCzÿeèØ!Bìˆ{¯Ãô#Ç æìQþ¥‡i»·B̳(Jȯ,“µ²™Q”ÿZ¦—57Â%ȰÓàa)V¬ƒ­µ¼Ü3! ´¿Q…£R-Y–E¤zÀ¯†Ê.þ¼/—PÉ)iùva-Ã(-Jè¼fé’vdTÅŃá¨wˆBú/íRk´¸¾LÄPµA˜˜x~êÒC<ê ü&Œí3'Hn :aA<­ FŠÔY‚ô(X;Íh¬iGù)Å€¢”úµLŽ/ö!«ŽÊóYç5Ó5ÜsXo4ºh&Ê/>,2'Q¡?vÃÍKEípÔ¿Ù©¶¹£Ð~H Ú£Ué£_Ýux«þAš£æy­‰OÁ>Ø+Ns©Öß8Ë,©ëZ`D¢Íx}îMª½êA»QÕm2d¼ Œ¥\ƒn¤phj`Úà‘e‘‘ð±Ä=Í ü&ÿºÍ8X—?³Y"  S"*ÆsW"I…^ò£=RG´¿1GÌŠu‹Õ› Ô-œ‚Š;æéÒ1(íHÕ%$Š::‚ƒ/šŽ{ t J]]|a ž Ðq©”K]cžóŽK¢\zwVÿŽ‹M¹*£•zÇÕ®\&µH½ãz+׃‘ü¸ª¤aMñ@ÇÕ…,îmÊeÎc›r%ÇZ¹€ T¢ã!ôïžb¥Ss½׉¬êÁ¡À;.´r¢è¤à`g¥œn‹WSê}z¨ñfá9(Î"÷ÿÐãÀ$!^’쪷ìØh”£AB§¨@à +¥Z¢º¦¾þâ>Mq¢.úÄô¦Q1oCøô©í¦¡ +q¹(Î.hŸØbØŸ@Xƒ kö3Ì16üð%EdÖ™Ld8Vëòò-ÛBbã`:Ÿ˜Ldha +€ñ¥Ñÿ-ì±iËXÈ‘1#Ä@ „2Á–LéÊ‹zmàòÏîQKë‡pÿÙå¸ÒU&„˜Æl˜!±?èªODÜ’‰"yaê±MÖÁÁtÉ‘ˆ#k’¯PÒ?¡pŽû¬W~ãƒÐ݆`þYO^8’*€AÌ6±>C%3¼aÆüR8^Þ¨Üâ+ÙˆÙÌ Å­äUÏ‹¥$dêßÑX¬‘0e‡ SL½6ÎU‚}e4»[SÏ¿©PÖ&E/b±j)7Ѷ•æø;·R$Û9—€`/^)5İc0)ë‹Z¨¸möC&änš"wcá $Z7¸ Ø÷˜ÄdŒÃ1²q_dZLWBYpØ_Ÿ’ÏX‰â\Î'ˆ®WK2‰sTþ9 5J^QtˆäíȘF)í}y¼>б™6ðr"ˆä£ü©[H$¿²„0ÜAÙ§ÏçÏÍÍbißgEL„Ä9p¡ñbµƒ•P"bÓÜ A(º€ÒÈ=(ð_ð>ÿ,Õ‡Öu]½ì³Ì¨ïÖö¸Šk®eœ,ã–ñ^¾‰æã=¢AnsÄ5AÇ¿ÏA©%E|Ñ#55 «³¤žj3,È3ã Â“q2à#ºq,Š,°—ÔÛσ$ºá£XRB8 +kï KJ„‰;Ž18E?ª0«Q?Á:_SÁÓXV^R×´¶ø¡÷¿±Š+Û™ÐÚ(«¡õaT/ùÒŽ¦%^Ë¢«P¬ïUgqÿ~ÿŒJŒi'(9; ¼´ ZÚïųy2"½ÿ÷¤>I|¡„£Bw`Y¨áP`e¾Ö¶Œ<¦†k4yržÌc¾ZðÕa6Õvd™ÑÃ`×¢ÒØì´§Ô"ÞIVïÜð-Gʃ}ÂÚdñvVÎ'Äš/íV–Ȇ§š`A>RÄåb +®,úˆ63U»*s¹„ +¦cv!î©àÑÁïg_´×/[àË "@Â×k\ö© ¢%n«š¢]µ)uÜUu›ºÖ!"88åH BÂaªMð¯¢p¦9“?´e:1<™ëŽÉ6†Ge@ïK„“¢t çÞµ%ˆëƒNi—u‚àT÷ù/—°uÈÔØä’Œ?‚€á°-sQB”jÎÚjXüí|Ä|ÜzÙL4|²{ò{;xd4©[‡œÊç%Ú-صNT$'IĤ@Äñ .Ĭ½ÊXò-¸¯p¶`ÆæãEz$E2@&ÅgpçsˆImçO…ø7z¡IõXrž0Áö7rÉS8ŠI1½lÒk5ĤV¼"sJ“Ú$ +‘>Ö0f^MGƒÝòpÁ¤¹áôñ2'ø JöÁZŠMÚj‰b—ˆXiü¤ ‚¢†®žyÙ +Qšs67oóKpS¬_ã…t}d¤ŒA0öÀ°¥ÏŸ^ž©VM[)‰‰©¥µioNaKæRßo¥— i@ÌÆœâúÌ2A­.üŠÛ”Àdø]U8­ÊÑêõ—¹¶a‰‚mÚØ%]D­ƒ§Xùx!l¬Ô·Ü7ðhñM{U+ª[½ I“ ¯gV·È?¦³™!¥9hñ8ˆˆ;ŒiQŒ¯`¬» f±dÞ“§¨`l'3ÓÒÒ¼“UËÉÜ1ÌÓaŒz_;Ü  z ý\ºh +’}…3iip· ÈÚ …`_›ˆÊ¤èÉ2VÎi†làÁ©wôê{£–rƒ Ô.„Ì,÷øÌ;!WnSl†è ÖÇËo†t­Y[‹x4=÷ÅCÞJ&FócåÂãÁ‚¹H6ÎX±ø#xÇ^sAf +XúŽ5>àì‡%š?\-çˆçæ «ƒåßæ;î ¤Xý8'Ũ|z›”œÃ½á²çÜwŽ]Üöb|²jZKõtÑl’$p­,õ{\4òæ#e}‰,ú(ž©4óÊ#kÈ]s 5´Øoç§¿&?—ê?Ôm÷’OÑÈ|2¡C—ÕF™iCRÓ²¨½»ˆà7IX’-Îâ¸bI¥W®41¥¿Üœ HÀüF!iúðúj…mïd²âØo™”J§â©§gÁÀIJÍZ~-ð¼îý{ºSjt "ÄÑ‚Ê%økCù·±–˜õdDÙ+1Öˆü¨¹— ꇺ0’`K‚FVõáocÿÍ¨š„²¼yK9ÞÄø„>XµÛ«¬oZ· õײ”=g×õh<‡Àë¦MguÕãëõ¦G×ö—”-†yU!o(þk—Ó×8ç8•´§¦š% NóÎŽÕHNifÓ!ñІT< ~CTrØar°ÆC¬1º¥Ok‹Š3…ëʦ^â1þbî7‘“"†(ÿ¹Î¹ñ}#ƒø‘ÜG@ˆ•‘™hWRJØÞHD±b…ÒÂ75ãeG‡&ZkèÜ„¸u4 Q-¿¼ H¸\Ô³ÔwÑ$TòB^i¸b¨žç$*±-ó³h†À"„ÓâÌÀaþ±¥fO°*}ZEÞ<‡3b¸ÍÑzˆ(Ç‚ñ*&ÄØZaŽC ¨gŸb;Ù#¢æôò©þ£ö!ĶZu98ÄÞ(Û’ƒsØÐÀ­p|˜[“|¶RÛf)RTü‡Yís”‰ý}ÑÊmB¼Å&Ÿ¨ð¸@ªä~:!Öñ K£n—; uö2œ³ñ²Ð`‚"A–«(²gÍäê²Q±L5úßé‘‚›/Gë;»T™–A/•)Žœ,ÿ+§_’{ôºtöFN"; +¬‡üà^‚˜Oè”*—>ÓÞ"¢õ¢M' ‹pU¦as(Øå2oÞõŠó²rM'å¸:5®Vx²hœï7ZÀüé•’¼DrùëX#¦œT€ÅðLº:Oü0°™×VôÑ¡CQE™,BáÖJKÙ¬seGnکˤ“½˜5²2;üÓ¶˜™¥pÊH^ C†²!5¡%y¯lV_3اù;ÿ»„JÓê©ö'H*=ÙÈY ï*œxÌÍ1.ÿ.ÏJq³‹…c®‘~פm½ +ÇÙdù~Y¹Áñ³Ã²Kq`<*ËÃã}¿—ÑûH@;«z]Èéí ÊA§Â oímÐÿÁÛ=¨9“@Ùýb²†,BÛ¯¦Õ‚€Ú!ê‹&ö,7aÝEĔ˥a/eÀEÉö +eùmév g òŸßȱ7¥[kìµµÇTŠÏ^ÇIð§ØŠ1«f[ VÉš>Dô¾yçóƒÑ­ƒz&ÍúàOU0äC!ŸÁ =aeÀ‘A4SÕ¯r?˜rÄÑxuÜ:ƒ—Ûç j0ÌЦ‚œ59ƒ‘v/lµƒ#„n¶oš$7èÿVƒ}…‚~t%d¾÷UwOe¥í«8ƒãT1¥ÿä­åÊNNÆ +ŸõžÖåb§¾Ô`Û AC$µì*Îå£O[ëJ— +j#ã¼3¡Œð^¢™*ÓÚDúûy³\q +¡Ã 2+˜Üá×±½ £•MH˜=jc#@^ +±ºù¯®Á®;Ú>ÀA‡ÿ#Ñ_Zš‡¼Â‘hÆd*ôæ_…¬x Ãs%ûÒê'£îX:—ÕÉÞÚ“¡ (™’«UúÇä¥Jsx®c¥ýé'&o×U‹›2Ê„â?À€|§ÿurA‰ýõa&>ê]Ÿ+`ÅM–¤ñØÀ?ÀüÆ;ºpð6×lög&ö‚ Á™O­,–Ð[úcµÕILLÙ]"]„±º†¤½b›„‚ëWi HæiHe8ÎfPY0QíGÑÒŠ!š–d.1 ¥ƒô-ãçf_Ïyø˜ä3•m'D'H*aZ×âtú žh¢éd–á¬dtuÄopøcùdðžÀeƒ³óAÏ?æG(Q³ÁןGÚyƒÏ#U ü£îtQ|å7øÓ/_¬~Ë‹¤R³¯WÄ») ¨Å§ÉùA"Ô´©Î{ƒkzò Þ'®ÍC6xÑß[q:7Q{¥† ¾ï^PNƒŸeŸA6ØsZFKϪ•n6˜Ø~y£­¼ñ ðžj®HyCž]Qo3'4€²,“D´H¥ú¦ÍEÒ_w8haªÖtsKâ¾éÑ2sP¯|ÿÖbÖJE…‹âÖ´ŽqÀF×¢9àÙáôþ3V`<0tø9Æþ y>F’\y4 ¼NØl9ƒ–ÕîÙ +û´¬DÔqé·¼ûçà5ÖZ¸DÌ~TWŸ:ž™±ÊÓAêàðÛ½Ív•œÉ¨[Å÷ +®¡fÝAïabo³hDôÓŸŸï\hâûpüC:cµ „îûü€Ç–º*éP›¾Ue²—A>&½l—>Z~…•?q¨Ô8gç_ºä=ñ&öÓ\k"ø6©ï—¥.ªé::EåtWX§9íd”ï´¿1¯-â‚ouF£Þ’“³Ÿñ^àŠ}B6›ÿIs›T—B¤tËžiyÒM• ñï8|íÂz\#?²ØrÐ;ˆÚËpiB745¸R­Û¤{{:ª Ø`¬ä¶Æ °oÁÎÂ×út\VœŠÍqÖeöWO”è‰!éTMQw„®pÖJ!¢hîmMð§`A?Úxùƒ~lCÀï†|_PZ#%îœ`Á‰0…hQdeü⊀-F€vËB¯Q‡[#÷Mélù˜ZÈØž‰ñ:ôr±õ/€1%“5¤BøwAP8kfB€©pÓ£fæJƒæÍÇ4½§¸þìs–B?TùƒÝùˆäçê“Dï¢Ó¶¨9OÒ3>® 8ù9¤‡U)iHÒãvçò­Œû¨çXbZÄœ¦¿˜Ût 6+¹u¶¢Ñmˆ§„¨´O ou¹ðk¬~à®ÙQ0/ò6c <«W"“ÂeÅ©¸¢$MÕ·Mh9ã¢üOŠ|ÖÜymÊ\85NÖ”1 vå>)”W[Ùp6!XKÃÒ-Åk/Å9u'9Já­§}>[éƒgÛeC#œJ¿rÄ\ãÍžP1s²"‚iÂÙßÒ:.[fÞ="Vì)г±_H0ú]níòú8ôVu`–ÂM ­npÎ ¹ ^@·¦DL¿G5}>sÔô+G€ÍD3©6IV–R@ +På#³eÓs]:§Y¼«­\˜‚g×@IJ@Sm[3–Ž=~°q· Ô.›O½ü͸”âÊ1Ú,a\ò“9a•¿Ós|£ýè÷w'¦ðŽ}VÇõ …{0ÆÎ'9ì¸e;«8r‰ÃßÉ+û|äâ­èÙññdfÑÚš9,ò1˜Ž*ú§÷ý*ü&œä^(²¨~`7iBü›Ò‹ÄoÜÑHÓÞS[–õ;àWþº¶pâž­Ù §B¬Ve¤agb8#@/Šáª•‘ïa;\^]½Óì/Ea¶CN.3ak'úÐ"µðÝ@ªè4êU*LI_¯/sHêaJìú#}ñƒüT£™­Ü²Hl_VØö˾"ÑxÉ£ØØ˜ôMÈIðZ÷¢â'uA3ñ (¥N<_y ¸(üJ_áRŸcy½lŗH_=+ië䘽çkë5åXúæá0ÿ ãŒ&$Ré|ƒ+Í!“NêѶ‹U#ã€÷ñïEÖEHb±aU)*Óim΄±P*XG•Bs+@&¬4}¸s’¡(vM]ˆÕàÊ:®ë uYÌ“¹œ3{;ro20ú¦.=—½­OÖØJ2y¿î“|*óÑs Ĺ“K0÷JŽàÆ‹áØÉfä‚ÛÒˆo§½nÕöÈpj%7%랆éw&˜€KÓ€ÁMäÎãŽÆ*vÁɳ3Oá@/Ò Ì¾òù€»~'«XGÁÊ€¬Ô 1Ñf(&®œCÇCîw ãì[i®3ŽJ„Ø´ ÝÒø´ûUöi#·AÂÁ|e 6I½ÿ§!4ë…B¾2Í/޶æ[3׳h¶®¬5Ò°É¢’¨ÏΗY½0?3;…ǰ¸2šCÞ+¶ã×¼u qò^Rt'c«o¾¬Ì‘Ȉü³gIŸ’yt&p`8”>ˆ.-^Z¨ýÙUL K›¡c°rk“çä•‘Ó ‰#)(²†´Éq¨?m.3Ô ÀYÓ{E§Î~DQ º°ïõ m:¸­œ'K¨ÍÅ=U§Gñ4§>ƒ†¨¯m¸”ÎõŒåQê[3¹×׫P_Ér}wüt挊}³IµtP7A}kf××ýùÜuƒ‰ëë;˯›NŸvÛëÛø5Ê_½¡Ökª`¦}ßÅö=˜b +©e#ìƒã싦>•©.shëƒãéÀ:Έ Ήÿ‚à£n¤mY¶2jŠ"/wxHço—(`‡¨®\Oe7ÆÔ“åHn ЇlÃêÞ†cÿà %S'ÁÁKá‰àR M¾Xùr!rÐE Ú.Ͼ—æÌ?qÏ@¢x.ò°cÚPµÑ§Œx ¿_wk#•zé…ÚÍÑŽt8FRÿYÍ ÄH¢è « ̃!Ê&…'‡švÌïônáìǪêÄ^µÀUf™N4µò³Ðý|—#OQ¤Ú%§;&(‘–HÈhÖût…Uó,˜= 8Ä;6Ÿ9· õ°½€.×"ò ¾cþn€w"©\Å#.xú‚‰É»šnÇmÀºçy4=F­ürz©³öàO;Ó|ÖïW³þ^ͧºâ3Îh XÈí)zÉßSÃÖ‹'wüœ`u›Û¥«g$ð?ø‰G;”øU—½ø\NÁ^´,}ó©)¬lÈËñ³©VÆþV’µ™¢ýßůt=„Oi–Ïå'%N†Épw䄆¼Mb8“&4—:eWYÛm‹ÏÍxóËg},’¡Ç¢ìÄg‘N26~‚‘gêváK +äq4ýØêŒ²šÚÕzœ¾]¤ÎáýRÁ‘ î«KRçrÃQºÜ¯ »ñ$ çÓʆD™ZXŸ6Cp,B,mXcGe¢vÖ'>Ÿ³Â„µ±GEb©‰[ ÀoRûÃDä¸[yã27 xY´*#bŽÍyš{¬ ŠhîÆöJ¸l"¶”Y€À¤Äà(JùÞ)J'êñŠèߟ‚ ?—`Ðݳwk†ì„6 RKù‰.i-ÂŒsv!„*‰¼×ˆª”ú_V»pµl½†nT8°]ÜØç"Ô÷“ð9pÔ?ȯG^ 0úÜ&‚ðmÙ/¯‚g½ 2m=¶6–ŽóÌN­\D4+ö`°‰|/Ĩ¸.îÌ‘(0âÇÝe)OëÚË…uf +ÔæA’¨ +¬ûï91qT¿êµ<‘úßÛ³–dž½!-šÀg´5\X »Rk|èñ“PÌ1ù´të+¯Mäî[¥ Új莄ÖÍ£ŸŠf¸è©D2¹Ö âÑá;qÊ*–Â0Óªd ¸´; ÓÜïI¶ä•k 8ÄÄÆý:Ï{Ðê.ä­Æ‰èÊ’É å ¯¨½š¤sÄ0lzú½ž¿(¿W›Ùõ‹­¢¡ÖÉÓ “M߇ó"¢Y@H^„An(=Šì ™‡Zûõ©™ yñ¦¥GÈO?€Á޾|˜‹VµK¸!„ ©»¹‹Æî³àoæ¯Æ. 5Pƒn% ~ÕéOŠTžªÀñÉ•p€q3:„'PÓ¿iHéðz)”k çÄ}#ãªÄÐ|ÜVµ‹h¼5€{bO„Ä‚¤ÓÕ±º·O}”]ž‰i°)šxÐÜý“qÂ,ÞN­ä“zˆq« ùñ|’Vg´…^Ø•1à}ø¦wõ³1†EIÐGCÌ·qd¯é…332`¥¢\³ Èh3VZùäû‡÷âP!g¨¤÷ÈÙ h äFêN°Gî÷å`¼åÂóµÝ2¸Æ&Ž 5ïD¢´bñDÀ›Kºf%Ò ªähQD°ÑÈßKgÈ1ßç#G’AhÔ þ¾Ü.×»G]rö‚OÞŽ%[ ‰k’½½W$ÿ¥ïÿþàøKŒ“Äc cPbR0#É/Ì!ƈ/Á7,Èç§4:¯£‘“\> +ǾŒÍ™x¼Êà¢!Ÿºð.*µ$wØ8×Â~9 )Í[·Á‘˜è–uòÕ¿¨/ämø=Öè¢IEßwÆ 8ç¸}Q(s8Œ¦R¬ˆ#§U¦†'t 4±†™ÏXå8°F8¯ðhx©Óþ©! ÑcÖÀ4qNon`f,œTÁCO;O€(ôp®´½_h bŸî3 +Tµš¬xÜnSz´÷‚=ªèYŒl±ŽNÑ ®.Ò$znQÝýuv¬#–ÆËDùHW„dà 2,¥ï [-×ë(äD)_<:àx†¤H=ɼ¢j\Åú¸Í±M$?Xf§0¤ÏTÊך£Œ]špçN[ò›׌Æábø¶ppX­!MÉPñbKC#1sƒ®„åm8RàSƒrUÒ ¶):u é·åÞÓ„â‘l.0å•B’x0ÃÉÓé¬×Û§§¶“Öt¥þaµIùæG>¸i+=ßdaùûb’p¹ÎÝEŒ+h³ÿó¸ééyµ‡èŒÁ¦Öåeˆ 9"|ãјVÇwp]b¯®¡"ytbªUžÎsàSûެì6€èàAPB5T¼ú(g€>|“ > 3„;‘ò9þI¥Ã2ÿc†SO#-Û ó=ÚýäZç—‰¼Ø\'lyñ¼ [û(”fÞ¡: –Ôy |@»æë²‚®´6àyÞ$AQÛÀ³#Þè’êP«SfpB¿æ«ÇûwDé”§ø³XdO¤h¯'ãMA¼‰# +¡Jcåc˜]psšXÈ+ v±…˜¸ƒJ0aræG5zº¹aÎ… !yêçiÅãµ;_cFC ,_Gù²?Àí‹I@›†ÑAL™97ÉàBCR\Í|¿îRß,–¼Y`­ßi¶r³œuAb¬hÞ럯© +endstream endobj 22 0 obj [21 0 R] endobj 44 0 obj <> endobj xref +0 45 +0000000004 65535 f +0000000016 00000 n +0000000147 00000 n +0000045965 00000 n +0000000000 00000 f +0000046016 00000 n +0000000000 00000 f +0000053507 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000053580 00000 n +0000053776 00000 n +0000055372 00000 n +0000120961 00000 n +0000186550 00000 n +0000000000 00000 f +0000052206 00000 n +0000221317 00000 n +0000046500 00000 n +0000049312 00000 n +0000053480 00000 n +0000053367 00000 n +0000052392 00000 n +0000052514 00000 n +0000052636 00000 n +0000052754 00000 n +0000049169 00000 n +0000047458 00000 n +0000048607 00000 n +0000048655 00000 n +0000049347 00000 n +0000049557 00000 n +0000049442 00000 n +0000052276 00000 n +0000052307 00000 n +0000052874 00000 n +0000053017 00000 n +0000053130 00000 n +0000053249 00000 n +0000221342 00000 n +trailer +<<94E13ADCD8080547BFCDBDC255427506>]>> +startxref +221553 +%%EOF diff --git a/src/website/ifcopenshell_logo-04.svg b/src/website/ifcopenshell_logo-04.svg new file mode 100644 index 0000000000..dbcfc2e8b3 --- /dev/null +++ b/src/website/ifcopenshell_logo-04.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/ifcopenshell_logo.ai b/src/website/ifcopenshell_logo.ai new file mode 100644 index 0000000000..ad13131e22 --- /dev/null +++ b/src/website/ifcopenshell_logo.ai @@ -0,0 +1,3198 @@ +%PDF-1.6 %âãÏÓ +1 0 obj <>/OCGs[25 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + ifcopenshell_logo + + + Adobe Illustrator 26.0 (Windows) + 2022-01-20T08:57:53-03:00 + 2022-01-20T08:57:53-03:00 + 2022-01-20T08:57:53-03:00 + + + + 256 + 132 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAhAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq1yXlxqOVK8e9MU03ih2KuxV2KuxV2KuBB6GtNjgBBV2FXYq7FXYq7FXVFad8Vdirs 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 q7FXYq7FX//Z + + + + proof:pdf + uuid:65E6390686CF11DBA6E2D887CEACB407 + xmp.did:0c658445-e1db-8541-8c0b-e7cd52e209ce + uuid:7f549f80-a97d-4a22-9636-c366af4954c4 + + xmp.iid:a19f939e-3ec6-644b-823a-085bf7599bd2 + xmp.did:a19f939e-3ec6-644b-823a-085bf7599bd2 + uuid:65E6390686CF11DBA6E2D887CEACB407 + proof:pdf + + + + + saved + xmp.iid:73bea4f3-54b9-ab45-a100-67d183c9f468 + 2022-01-14T12:51:33-03:00 + Adobe Illustrator 26.0 (Windows) + / + + + saved + xmp.iid:0c658445-e1db-8541-8c0b-e7cd52e209ce + 2022-01-20T08:42:39-03:00 + Adobe Illustrator 26.0 (Windows) + / + + + + Web + AIRobin + Document + 1 + False + False + + 665.333333 + 1127.111111 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Grupo de muestras por defecto + 0 + + + + Blanco + RGB + PROCESS + 255 + 255 + 255 + + + Negro + RGB + PROCESS + 0 + 0 + 0 + + + Rojo RGB + RGB + PROCESS + 255 + 0 + 0 + + + Amarillo RGB + RGB + PROCESS + 255 + 255 + 0 + + + Verde RGB + RGB + PROCESS + 0 + 255 + 0 + + + Cian RGB + RGB + PROCESS + 0 + 255 + 255 + + + Azul RGB + RGB + PROCESS + 0 + 0 + 255 + + + Magenta RGB + RGB + PROCESS + 255 + 0 + 255 + + + R=193 G=39 B=45 + RGB + PROCESS + 193 + 39 + 45 + + + R=237 G=28 B=36 + RGB + PROCESS + 237 + 28 + 36 + + + R=241 G=90 B=36 + RGB + PROCESS + 241 + 90 + 36 + + + R=247 G=147 B=30 + RGB + PROCESS + 247 + 147 + 30 + + + R=251 G=176 B=59 + RGB + PROCESS + 251 + 176 + 59 + + + R=252 G=238 B=33 + RGB + PROCESS + 252 + 238 + 33 + + + R=217 G=224 B=33 + RGB + PROCESS + 217 + 224 + 33 + + + R=140 G=198 B=63 + RGB + PROCESS + 140 + 198 + 63 + + + R=57 G=181 B=74 + RGB + PROCESS + 57 + 181 + 74 + + + R=0 G=146 B=69 + RGB + PROCESS + 0 + 146 + 69 + + + R=0 G=104 B=55 + RGB + PROCESS + 0 + 104 + 55 + + + R=34 G=181 B=115 + RGB + PROCESS + 34 + 181 + 115 + + + R=0 G=169 B=157 + RGB + PROCESS + 0 + 169 + 157 + + + R=41 G=171 B=226 + RGB + PROCESS + 41 + 171 + 226 + + + R=0 G=113 B=188 + RGB + PROCESS + 0 + 113 + 188 + + + R=46 G=49 B=146 + RGB + PROCESS + 46 + 49 + 146 + + + R=27 G=20 B=100 + RGB + PROCESS + 27 + 20 + 100 + + + R=102 G=45 B=145 + RGB + PROCESS + 102 + 45 + 145 + + + R=147 G=39 B=143 + RGB + PROCESS + 147 + 39 + 143 + + + R=158 G=0 B=93 + RGB + PROCESS + 158 + 0 + 93 + + + R=212 G=20 B=90 + RGB + PROCESS + 212 + 20 + 90 + + + R=237 G=30 B=121 + RGB + PROCESS + 237 + 30 + 121 + + + R=199 G=178 B=153 + RGB + PROCESS + 199 + 178 + 153 + + + R=153 G=134 B=117 + RGB + PROCESS + 153 + 134 + 117 + + + R=115 G=99 B=87 + RGB + PROCESS + 115 + 99 + 87 + + + R=83 G=71 B=65 + RGB + PROCESS + 83 + 71 + 65 + + + R=198 G=156 B=109 + RGB + PROCESS + 198 + 156 + 109 + + + R=166 G=124 B=82 + RGB + PROCESS + 166 + 124 + 82 + + + R=140 G=98 B=57 + RGB + PROCESS + 140 + 98 + 57 + + + R=117 G=76 B=36 + RGB + PROCESS + 117 + 76 + 36 + + + R=96 G=56 B=19 + RGB + PROCESS + 96 + 56 + 19 + + + R=66 G=33 B=11 + RGB + PROCESS + 66 + 33 + 11 + + + + + + Grises + 0 + + + + R=0 G=0 B=0 + RGB + PROCESS + 0 + 0 + 0 + + + R=26 G=26 B=26 + RGB + PROCESS + 26 + 26 + 26 + + + R=51 G=51 B=51 + RGB + PROCESS + 51 + 51 + 51 + + + R=77 G=77 B=77 + RGB + PROCESS + 77 + 77 + 77 + + + R=102 G=102 B=102 + RGB + PROCESS + 102 + 102 + 102 + + + R=128 G=128 B=128 + RGB + PROCESS + 128 + 128 + 128 + + + R=153 G=153 B=153 + RGB + PROCESS + 153 + 153 + 153 + + + R=179 G=179 B=179 + RGB + PROCESS + 179 + 179 + 179 + + + R=204 G=204 B=204 + RGB + PROCESS + 204 + 204 + 204 + + + R=230 G=230 B=230 + RGB + PROCESS + 230 + 230 + 230 + + + R=242 G=242 B=242 + RGB + PROCESS + 242 + 242 + 242 + + + + + + Grupo de colores Web + 0 + + + + R=63 G=169 B=245 + RGB + PROCESS + 63 + 169 + 245 + + + R=122 G=201 B=67 + RGB + PROCESS + 122 + 201 + 67 + + + R=255 G=147 B=30 + RGB + PROCESS + 255 + 147 + 30 + + + R=255 G=29 B=37 + RGB + PROCESS + 255 + 29 + 37 + + + R=255 G=123 B=172 + RGB + PROCESS + 255 + 123 + 172 + + + R=189 G=204 B=212 + RGB + PROCESS + 189 + 204 + 212 + + + + + + + Adobe PDF library 16.03 + 21.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 5 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>/Shading<>>>/TrimBox[0.0 0.0 2840.0 1280.0]/Type/Page>> endobj 23 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>/Shading<>>>/TrimBox[0.0 0.0 2840.0 1280.0]/Type/Page>> endobj 24 0 obj <>/Resources<>/ExtGState<>/Properties<>/Shading<>>>/TrimBox[0.0 0.0 2840.0 1280.0]/Type/Page>> endobj 27 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>>>/TrimBox[0.0 0.0 665.333 1127.11]/Type/Page>> endobj 67 0 obj <>stream +H‰d’MNÄ0 …÷>…/ÄvÒ´Ù«uÁFˆÕŒ4°àú8(ŠÔØÉ³Ÿ¿*î5£;d‡njpBf™-3cŒ“õÞ£ÙN>ßá ¯àòJ˜WtGÂ5¿ÀBøàžõôã nÈHº}KË2ã$Á +ãùåêÚR;&…¼Õ³$›o©5ŒÌ«œ(á(3Dkëv†NàŽ\gùë>%?cÔ&;÷)ØйŽnX”3¶¸|Ô¶„ÁWQך)–Úº GÙ;j#ž¹8ÊÎÑÜM‡êÀ#mÀ#À[]þÍëÿ¹ë 1–¿½ç5pìÀ5nÀ5ìÀCÜ€ï¼O} 'ø`ã#k  +endstream endobj 25 0 obj <> endobj 72 0 obj [/View/Design] endobj 73 0 obj <>>> endobj 68 0 obj <> endobj 69 0 obj <> endobj 70 0 obj <> endobj 71 0 obj <> endobj 77 0 obj <> endobj 30 0 obj [/ICCBased 79 0 R] endobj 78 0 obj <> endobj 80 0 obj <> endobj 81 0 obj <> endobj 79 0 obj <>stream +H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  + 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ +V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= +€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)Ë”z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ßÞô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð +¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 +N'çÎ)Î].ÂuæJ¸rî +î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö +n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ +¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû +endstream endobj 76 0 obj <> endobj 82 0 obj <> endobj 83 0 obj <> endobj 75 0 obj <> endobj 84 0 obj <> endobj 85 0 obj <> endobj 74 0 obj <> endobj 86 0 obj <> endobj 87 0 obj <> endobj 31 0 obj <> endobj 29 0 obj [/Pattern] endobj 7 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 24.0 +%%AI8_CreatorVersion: 26.0.2 +%%For: (Paulina Godoy) () +%%Title: (ifcopenshell_logo.ai) +%%CreationDate: 1/20/2022 8:57 AM +%%Canvassize: 16383 +%%BoundingBox: -354 -2643 6680 915 +%%HiResBoundingBox: -353.985146939322 -2642.330078125 6680 914.999999999999 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 14.0 +%AI12_BuildNumber: 754 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registro]) +%AI3_Cropmarks: 1106.33333333333 -2637 1771.66666666667 -1509.88888888889 +%AI3_TemplateBox: 960.5 -540.5 960.5 -540.5 +%AI3_TileBox: 1141.39999389648 -2494.43443467882 1736.41995239258 -1652.57445420739 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI24_LargeCanvasScale: 1 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI17_Begin_Content_if_version_gt:24 4 +%AI10_OpenToVie: 923.666666666666 -1005 0.75 0 8866.66666666667 9264.66666666667 1076 898 18 0 0 1362 125 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: 923.666666666666 -1005 0.75 1076 898 18 0 0 1362 125 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 7 +%AI17_Begin_Content_if_version_gt:24 4 +%AI17_Alternate_Content +%AI17_End_Versioned_Content +%%PageOrigin:1 -1081 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 17 0 obj <>stream +%AI24_ZStandard_Data(µ/ýXDÒ*ÑG60M“äÀÀ¨ƒZ9¢æÆb7x°Gº-ÚÐôô#åÕœñŒì½_6êSRRR"ä”zXDÀòqx®Z±Z¥*ªbN™JÒJ*¥„ÒIŸ¿séÒ­3~þ ƒN:ꬓC‡)R´¨‘£G!¤B %ÈÒŠ¹³Kl-eÉ:öŸ½½·1/¢©©¥¥áY1bЇÅ0¸;Œ(,‡"Ñp, Æ„Zp8h(‰…ƒ +t Ó ÁR@44Á !Ñ`,PØÍ@Xp0 Ð`XD@A$  X$*$ +ƒ"9#h` $hH,H€€h0 Æ™ ÑXP8 h(¡Ñ€¨ ……„ã@±h$*@8ˆEbh0, HLà4#À˜`8H8‹h¨À@‡„$80&$É „âÀðà0A¢!áÀ@4‰ãÀ¨ÐP$0ŠCC P@B「E#±°Ñhlj†„ ăÄÂÑ€h(0,&P ÄÂA±˜B-8Æ!a Aâ€,8(báXH`8¤ƒ†D"HÀ±€Ø@‚±hH@4`A1‹ (  Â‚AEbB†ÅLP$Šãb€• Ba‚aÁx HL@44 +iA±((³¤¨@4†õ|ûñ ÿÎñ{!Á @„v»Ç9P$&$ @L8ë­?’ $ + @A1{˜3©Œ Ýlp8ÈÀMP$H‚bÒ“ïp€Ø@¢¡á0âp€sô:ðÑP†¸Ã¢qPŠE‚Aâ€,&,"00 (Р@H°0Ă¡‘X€Å0Xp0ÐÀbaA€ã H0T8Úëbç¥z;bG:?{.§²¹ýgë.®Y&bJÙñ*\§}eJ²ÕõS1‰ÚÞ.oŸEI²…Åt{Òæ|ö¹˜ä휞䵉S1}p³ŠÁ,&7Ùb¸½˜?(IÉI·®˜Tf]M.AYLrV*W[»˜ë„“ÃÏiUWªDŽÊóœ_ß^žÝ2eH ï ³‹iÿƒT²d*1»»b(¦˜_ß^Þ]Ý\Ü[ÛD—*MŠôè«k+ëªj1©¨§¦I®T™ù¦®ÓȆɭS—î*F­bS—Ûó¹„Ò*F©µÔR ƒÎz/F—Þº•¬„’BG¥­¹ÄîòôáÂ/39;‹ùD™Re’§©z©º_´i×&{ŒÎψ“õuãýI§¯3ºƒN1ê¬LH]”I'N¯fó§™ýæÚö¥¦#vô­wòçok¾z[î›®%‚ÞÈwž­j¿iÎßî©–©†Ï¦žÞøwi¨ü̇è2r¾È·#ÙG[+b~ða¥x“bŽ£¾bîØÁ\I5zïÕÄ[輿7gRÌ*F¥÷æM¼b’…Î;¯¢âuB‡‰(½-.£U«>|N¹ÛÊ쓎Ýe&j®fÿ;JJ%vg¦ËŠQIâ±Kåå?褥ÛÈRÝÿ5ñ¾ÏÁWx¨Ç×IbsõçôvâyÇ3K͉‰%µ™Å]¼´Å(b>ëãŽb,ŒÅ±``H(Nß~žßí§#¿šx u&K%ôhå«…©–ºÜ^ÌA)S «³Åܳ梅R1]Œ2…–JÄwÌml¹Ë׎œž÷ÞbV7­˜$ÕjrÞ{¹ý¤dýO*Æÿ¤bR*ãtH­b!ʳMͼµzé Å¥]L'·ø¨½óúÞ¼š˜,•Ð{ó*Z²:߼Ŵ£´’—*·?JJ¹˜¥öð¯Ôåö?5WÕRI¡SÌ“ b'F뻘ÝUÌÉÆ³ËNõTDõ¨c1|6!ͤ¹ËË­Š{N1é¹»7­,†‘ZÅhû*æ]UB¯‰i)ôÞŸê,&uÛ›U‹ùTÌJ.Æ}Ù¶JµûÏ·ÙÑÓIÅ4ÄUÜ×å?è{u%T '^²:ߪºQé³*d«¼©®¤Š‹áæ¾¾F<\õïvGÄ•;Ùd‡Š_¥„N^¢3óTñÔU_¢dÞÅ“çùS·ýÕJÿƒ’Z­:Øè¼ó"êK¼R1j©• ê¦"¢Ã}îÙ:ZœpJ™ùŠQXL{1ž¬ÿAIaÄ]^ÍÔDã¨ui1ê·˜äõ\Lb³šZÌ£ƒ’*f%‹íNj춞^k«"Gk»˜eÕ¥´˜],†Q¡³¦ÅôÛQ‰1»cówë¶b^¿!¼ç;sT%tÞ›WÓ” ã^Æ“Š)¦ͳ©ª˜(TŒÚb¬Q“ÜÚ,½ª=·ÿ™.Ò¬Å<6²äÓbþìrºeÿå^ÖÔb’¥R1èüjçAUÈÕsÊíP1ÇŽZ¦ofiìÞ¨†0;"v,þïî"÷b‡¶&ßû#ã#v&»²qî§¢l»™üŠê«‰—,Õ¼‰WLR b1çORzøÓÇÑ*Æÿ wRXŒ.·ÿIjùJÊ8á^1ü÷Ke1©N«ß‹Á]†Å(òbŽ”TâØx5‹AÃëd¹˜d%–ãœÉZ*¡ƒ‹Åøý5ŸÞfÞ“Å\«i£:S1§¿ßO<ûÉÔùü.æôÞ¼ªœ»ˆ‰™x‡4{1«Y úæÕ ½8ñÑ…ª] Ç¥*&u¯&Þù2sÅ~V™S’œp•ý‹9 +_ßÒQæ¨íЦ{º˜ÃÔGŽ’ÝR¥Y­o!´ŠYIôÜŠ+¡NKÎ'Ó$;vÚ-×äk–4©ešßi›­ìkjÍ|«wª—««¹û‰ëÇÛý\>‚ŒÇþ±™îãv¦"v´¦6³þ^»ëë©-b‡¯Ÿ£ñ%âûè‹ØÑïxùØvÖ¹Êmد¦¼wß÷f‹Ìˆ_?•Û+[cgow»BWgwå‰óûúäÓYÇ©M½½ŸQ1IUÛÇýOêy¨±òf[ûŸqk&“èCϧ›7WZÅ<µH¢ž-úÙ&çÚ·å*roò9ïzÛíÞŸ¾ûíâòù¯Î‘+KŸÎ—²…K±»1<×kÍãî9>øXFÞÛ#ïàÃx3;õÿõ°»7¹yÞ½õÜdVnÜ}C¿ß>Ci9öžbtƒ ?B(JI2FJ©D]¯_h©•¬K2Ù¤“OP¢’$¹bŠY }g1+½ã— VS­•âÄóæÕÄ+&Yíli³’KvÌ‹yï]5K–«¥£ˆŽïÕÉ帔%{¦îÚg.{ó¯.#VŒÃà€Xà@*\€‘€LÍ»Û÷½6üu=DËnnÌ^ÿ´þ´|_ÃôgÍõ~tÌ»m^GÛKÏb’Ä«xPRx0õ“û¤¶K]n”T1÷©˜TËëH\MåÉJè’cè”æ-O޼˜KWÌ'ê8oBçêàªnó§ªí"ÿŽt¿£©­~ßš3v"úšk"Ÿ6Â{üLjý¥£ú÷Ú1b»ª¯µ3ê6ß"ì쬈–íúšœ‰÷¬ˆÿo¬™Ç뺎 §"ÿk¹ÌæËœ¨‡{vý|‡˜zÖ~ý†ª{ì¨íþi‹Úþ©•ºìBµRÿ¬RÚþ¨˜å>(©•¨+NÉ%¯ó·³Ôô÷k¾oULÔÑÌL<3nMÏÔÉ̉W]ZÍ}P#.tL/ñM+Ñjbëùô/¶¢ä=ì`@$’¿®¶ö«1âíåþ1bGçþï;»n÷nã]ß}1vwIçZjq]jµ*;mò¨ÑZ'séÏûó}âÊ»:ªF}Ö:YÖd»“_ŨW·¸WõæT~ÍŸ:ñ%KŒÑ©ÓÏŽÅ ®¶G§K%u”+V»R1 5õøw¸O\̳~-¹2& p`!Aq`@ ØëHúñ™Ž4š-’®¨º¨º¨ž»~‹mßÊûok÷ ’¨Ä4¹YÄÌÀ ³ 1  Â!aÑt ~ NTB®\P8‰“(‡a!„Œ1€ˆ1DdfJl`øRŒ]€†\›R™*‘HUãðæ2W¨‚…vm&†UàW4}0VÇð×1Ð]åþ5RçÕ·d­ž÷Þc°u¿Ci«ICÔè€6X6Ïün&Û¦æ´ä[e,÷+DR9÷©y)Qs^Œo=¹ÿã7l}ÚöÇåìðûƒí$ ”uë¥gQ‚Ýóà»as8Nou/9þM¯p‡Ð¦Jëô˜¹rËÑ,»7€»¤iç£Â%w]Т¥Ê‘±"äÛõ“ƒY…W©9Q;ýÅè˜aAT¸oZWhD:IÚd̲vþ¬šA†r§cE/Ù©Kì-ýCó2$GJ‘óɪëf~—¾¬˜æó|¬ú³%6 +Ì„íÁqm.ok9c£_k®Ýä¦"ä¶RÚzªà Fƒk¦à¶Ïé ¶Fö «V¥1¬¨Ë¬Šôï­¯«Þ z\¡DfúèK8ÉlÈä=O%ÃÀôkÀx€±,£ð0£ŽVC ÅÞP®(,Þ¨býªGˆ†ÉA§ÁWšÅ§×I–Ã_sä˜ø*¥2ÃBm}¢š:‹'ûåÏI²ÈïùpB¦¥“pq„ÛBüÑÜ/²EyIµIåL#e^‚ {.ßBtq¿ó ½äxÉâqùp5±ëlÜ£ŠüàÙ`‹®Ó° +˜œÑ{;x"i­jsƒZʼˆhœ¾'H +Ðú(ð©¥Lz è&ó´•Jš¼1Ñ I¨¸Z•ÝK%B>n*´lÓ)œÓ’ksúl¹ú¼qTîüéÁh<¾’ÿÒ"Ô_Ý=À’ŠÒ"ðï–M¸’¨´¥ª¹Ï®éî峂ŒÁu«Z7«©÷³‹8<+t¬°3¸pWÕ=S! éÜ艰õªYï"gk‡:9kÈ¥!mY–úêVxcHGƒbÜ^‹©ñôšC”]¯¬û{ho-’UÈbQÂ6ÃilKaRg-ö19¿(§Ÿ’õ÷’|æ4ƒR¹Üþ[OÛ2ãcíC¬trËËq-O†au•R;“¹ÏÆQƒÖ<Ø%_rHÞÛ3ˆþŲ‡`zù¬„íÑɦ\r´ÏÈv•ln™’ Œô„”j>™k¸_ ŠÇ•y½¯O`¯¼²µí ¯a±… —9ãñúKËâxY(Ýñ‹· ÕeÆ ë8þ!ô˜ŠÒë[D ¤¼bêW䆉Œ}3 øYëý•ÐÔ2¯È Qw yš¨ñ¦RÍ ˜ön³I¾˜è¬`‰œou¼p“/˜¯áé¬,û‡€m?<žONay¹OhÍq†úo×òÈfh ÅGrTõŠ:Y¯ZrŠzViœŸòѧå—†*jzµì»:©­óp-Ó‡úöD¾QyL}7=ê§—½¬^3¨0OTã¯ñAÙ½™…'mœk8’ˆ…2÷ßÚ©Iž®¡,ÁϘµã˜©5÷©rM§sN sŒIon?ÕÈDAœ6‰“C" d5àm8,ÿ£*¢€4¤³³½³á¶H³ J2š9'šÙBr)½™{˜›úÃñ)›ýÇkÐý9èHø·Ü¯P>½&ý;«Y;aìÞ/W¼‚¯5ÎôŽ Io[åï‰ZèñU´W…ÿOTý'ç:‚•z¦<£j3¼ +ªÓæ Nÿ¯9µ+ž.ôU"h¡éZÂvÏHEPñ¨™(NßââZe–háÔù7U³®ÎX{þoÒ‚u~®ò±¥šŠ†fq çO¥Üy ^e°5„±’KãgЦ%ßs‡AhX>ä‘×ÃMN«3ÌBDÁ5#¦…è…„Í/\Ó*[Ær¢*,WÃʪ”2¬Uƒ a‡ÆeÒÕÊ-h¿]øwóéL¸MviÛ£$S˜S1ä4‚¢yŒ°KÑ2‡Û<ˆ§ +hŸ½B"˜]i6JgˆdËÑ^tn;™~„¸YØ(Îöþ–Ógè’ñÅ'ˆð xÇüf×jMsÀ!ÐÂù#Õàò. &Îþ\ßâ®h3o©y—n¸GŠY¨_ˆ°ËètÒ–ÔVàONóø–$â¡ ƒHDAfmf EÇó°éUXŽžUöU…?ŠX‰´òLýÌUR1üÎpÖ:K6W»"ì“QÇ™g}¼Öˆøé†@g<ÇèÏuÛFžäg0¶è7<ÃMžÜîV=ÉÖýÏN²Ìßw•*ðY4Úðïàùkó˜¶\-üÚÌ…V4úä +«°P +õ¥q‘$ ¬²òò¸ ú“< +eRµ§1‡öl¸†±‹`IçCzÃ/F•"⋤K¤x%UIX<³Ö™Ø …W!óf¢ÁƒPçiÊôoÜLî2$y×(L%Ëx‰í9 ¬æ¥Xÿ:j2Ä:K ´€sLû Ъäÿ7 +cä4y(ÂLHÖÁQ¬*I_«L³üÍVÀUbÎJjƒ<Øå#¤‚½·½=×-<ÒûÉô®À»­Vê«x·Œ 1ñtð3F—® +Å(PKõ5×Òn6&ó üC$xÃ?Zkç¤yõþì!y(²@ëL:ÚŠ=ðñ 8š0Au8—‰;±‘®—nÚ c0QƒY¤9Ø=’h=ÈuLì’‰½M¿íWŽ9À‹¾@`Üÿ}^–‚PâÙE›Åwž9…|†1¨¤y›´î|²Nû†užáÛ#•B.ªƒÉnî›k>4ú¢s]BP-£MÒCà¶0zCew4ìE'CªwUŠD Zâ]®øxzh«n@kbìÉá +ÖVD–©‰fCÄr7[D•œÝ9Á¨×„Wˆh%4,#¢||O° €~¬¢À‰¼cÓJ"*{r%šà~žl/-ðØšŸf DoPm'— ]“ÞU}€žˆ®Ç—H +Ã>pSn³ÃÓ#WÿHN#·z¨Ë¥¬lˆl}›²ùAªn¼›/ȇï}pÚ;³³E;{J’1ŠäªA×ñƒg˜ß¾¸YŠ¥¥¸/Ƹyí4D»¤ûÙ•#()ÝŽ¥;}ŒœÇïæ¯s®¡ª*#¶*PÇÐ;œ/nxöZ1býp·!‡{é=xñ:iü9Ôu4Š÷¤| %4!×Ën%”fߣªGYÄõ:x=ÄÃ+í¯ÄH}E4*"Øj…¥bY‰åLN”ÈŒFòN4zšÞÉܪ"(D-ªÜ Š›Íoa¥¤é`Ç $üCk\.+³öDT|œÄ +â1ŽO€É +M¡Úsæ¼TÈpÅòH72áqs%Dâ—òƒdûUoÕ¤U±³);Yì×7üKÎÄ2vèjcwP¿Mz6$xÇMýbûnJÕ]Á¿<°¶ „¶ÁbÌa,œ¢|Ž4qÂ)×¹O#60jFeè† »ä À˜Ùû€ö~¼¯[ øþ4Afþ”º¯z,N`wItt£B„Ó-Nz·þ¶Í…¡ŠÌɱɳCèh‰üÔ>…óž°n`ät"Ê „<, áSª{hÃDôºÌHî.ì…^l†l_U’Âû¥Œ‡B_¶È¸z(-Õ•&—ãâŘÛþ?Ĭ—QPÄ’òãϵæg&‚#Cr¼<þ9ÏŽQ:(ö4íkÜ1×±‘›:ÿnƒáp~…Î~÷ôÛŲ¦{㟼ôÜ’œEO7ÄsÿÎÔ ×r?ºÈøÎ±–Ú¯Ù/yÒ=7V$9ªýHÓLò sÚAGs$QIdÄ'P¤ŒÇM jWWã£v°½ÈÜÅW@áz½UùÅ|cÎÄ(Î;Xm),],œÊúãþµ€¼xilË’»òåä4[Û@Éi;å£Îqj£Ïü»H +§ŠøÚ¼(@t7¬Êó|±¤ƒ‹[Ö#Îr‚¿Ë?ùû–— º›Æ¶Q¹ˆµ=p: 7h`s§–»òô3lÿdX)`r¿()œ¡½ªeº;ÁC´µà¦…^M~[€ºUêʹóüð%DyŒw)æ)9æ(S3ñ `´'+ì1p@åœöiB@j·hÒØ»ˆ" %BÎ mSƒÛÌöyè—òž9y¿³…éFR\ýZ’wÝ*ᙲ¯ 6"™W† (Î9õG¥`)ЖÉ(º®lge_ÝñúÁ:8ØÕUFf#í ‰À9Pû ioëÖäy¯aÀßù+¦¿i2…„MáÁP¤©â54ˆâïû ª.6+§ZèôÖ*¯©¢±x|ç?}êÙ?£N,ÐÏrKê±:Áj[Yf«=Úä ÂBS;ž]Xņ3{ÐëÆÌÛÈÑŒŸlû3½çÔÇbV«Tþ¡‰&·Ç£ãÈý(àOúÖƒÐÿÛÅL£ÍŸR_ã}QsC;αÏ"õõÈ];ÎpD¸ýÌ6¶&{f—xw4YçµÆ?>k¡Ñ²áæÒLbí2¸Š°” LCLຢM òt&I£^üš‹]‰]йuÅó56@riº+ÄßAœ‰‘ešjq‘B–(wn"~é’ðÒšSËé­¶s W£TàË(6¬h'š¯ bV!ÄAõ}ªrÊ„—XË t‰¿l{äÐ,¨·a†„oòƒ¨g€n_‚_w³×ò±ub°S_Te ×øàó>®'‚p"£B¡ ؈-h4 ðß0\¨õ½%„pxΠ è“*$|2§vqµQ>.aÙ,ÂÞl„&C…®ƒÒ ~­°ÕÆð’<¬Á‡ŠMÕ9æu…€g³hˆcC2YÒ¼D-~¢X2êïçE°˜ÆÇïÌ1—Û†Áx?è]¶î-èÜ…h¶­&”ûD¤mèÜä–en®íî+­×J@TðMĦ“Z)»ÂÅ3è}=§~Mµ‹wa%ñÄ%Oaóià ³ç—ìGQU ß³|º +²Öž¬+@ë+϶€×8pÈŽ/†&v(ç8Ù£–ý ê2ÿ“{Ä5ûè×7*ÝEfM6Dh¤–s +Ạ°¹Pgöì5Õò[î• ,Ç5uÊoEÓ­¿×wéÔ’™uêS¦i€ZòTwfd`rP5³p,µ”»Ùtò´ ’¢°åNy³W—Žë˜ñe +ýÿc%7êÇ‘'žŠ›s¦;—Zõm,X<Ø +%yâ[ }œ°ƒØQ¢$Ö¹ÁiXæa)a•šU/î bOoTÜ6‘©/^WäÒ¡‡†'ÑN¼V¾ý<ÚEˆl1ÓÊS2‘IC„9³û3“îoªÚ›7;Q¸óæP¨~ O~öuÄwIÜBhñÿû™Ð{×ä$ŠÍð°€óók„Ó¬Þ&{Ë·&ŒPÜÍ dNóü +ãð¨PÛöµ™(Xcí=x¢;0îD‰JÄ÷¸#Ë·bE.ñŒ²X'¸xß ¤+ùÈæ©dZÚ©@mei$rÓ—Ölø#©µ’òLêíDZsºún¡” qgõ„~ž¨rù¤aþ³®Á²Š‹a*¾€2SÖn¦’?ît c;c'ðw ׉_wúx#O»ÔZMŸ~^?–²ˆŸêꫵÏ5åØ$õ6:“ûÇdÕjl±2q/ˆIé=fl¹ì³\œ» ›àxz W&²ÛÏ÷š¡—9+ÌÅh¡&TR¬¥V‹¡úëm K±Ž‘(Ì …³Ñz¾>Љ¹ûŽc Ð9—(ˆhžˆW=‰†Ò1ùï¾bqÆëÝf3fŠ›÷ +%«˜ _šÇÏü‘úÓÄ¿bÁÌù&‹ÀSã¤|C”½² f|ÝõÊ  Š!—‡¹y`÷9.èr†Ú3¯E—Ì‚XÁÁºU-5|ûm2ù[âCáÅ-~ NÅn££ºMÙÕµE›FÄH…n£U.¸8·!{U¾Êjõ;¬x¦kh­3„AÁƒNlC"7%2pˆ[œNëãðQøyÀº «ßºÞg‹±xPÜUáçiJ¬@ùK{fîýõ‚÷¹8ÄÍ®5Ø1A¸rõ¡[Sú,ªÑ}é ¼·’Ñ •Y·é6óRWEG2Ð +Ü­þ/A­íHÝÅ ²yq®úƾâñöÖòVþÈ•ý8í¢ é¼°Q5{šÕØ…åi:³TáƒÑˆê£­ª~.“ëVp:øXFÌ‘g·hkt" !>k%µÖ÷Ôùt±b²RG&UŠOš R"€ê½ËM­¨õ h‹ÑêM1 A•4ŠcQLSŒÊì!j¾¸ÏE± é6Ó=¯ŒF…ñ7Pà[bwEcUø*Žìy±¾P™«E®Ð`öz_]ÏôýôÉÐÛ-v€N¿p¦®ûicM~!ÝÍÅýÐu!d%½>/qyù,¯"⮢O]Åçµ=t2œy_ó/2—·}zmó¥àNûµ’xïkéF]MzEpv¤B¬s¹XÐÜkÍ›½ÙŸQ>Æy›ö?”HŒÁn$“’¿öé(k{Bb,¾9<>C‘ô°­`Nâù—ϽÑh‰½l¡º»3ŒÃ§'Ajåɲ”¸èvj­ÁWn,/Ÿ!ÕOÉ^,ˆF„n¦¤ ; Çú=Ál€Š®ÐÙð’‘âv&ñͦZélx÷nÈÓw›“Õ` 1ñk«õš»ÿ@†6¥çT¡ÒÓ8ãiH}ÍL|TýÜ>YCñ™0üŠEˆ¸G" á\rkå5B å“Ùû@ÁÔœŠ`$¸µ×!0+„}È ¨¢N%x¼}™ ñØ€ZoN¢…áH'p-Dg62ut¡Oä°¿æaÿ&º¿ïý(e™é¦k:Ëó—x7=ÖNEUØKÜ&H±9ݸ†ÕœßÓÄ ¦ƒªÆfL­¸±dZƒoÅÙ;pùnvA'¡ÏµJµ-È; "ÈÉO)äËõI +C9Âথás*3Qei$êÙ”„-b ¢Þ†«yÙ¦1ûiü=-Ì>,§¦ØÇ%VLÁÌ'ÓeÕˆ«É¤z‡ ’¤J2£+DŸ•"ŽoZÿŪ>†gª#g}yNÖ¹ŽÑT¶¦hÔjm¬\Oj55!v‰vRÜaýÀÜ< {j)&½œì/°›?ú G0¢‹¬ØHþ#‡Š¢ZÐ iFà¡êDÑ´æŽ Ù¬NA]/'Ëñw íqØBÁ7µWkñ¤Å£ût 6ÐA'«'¨=Jèx¨„îúÎÒ³‡‰‡õ=£{m,¯ƒRÍÍ<p`Añ`<<Óã—’æŸîA%ÉTÅ÷Á(ýìl8€Â7eÅê‡YŒ!"XæÁ› J¥ÃI>¨ ² ‰_$äf-¥Ö†à‹€hHï`ïíÐü$Ê´ì<§ó×’Yü̲ì 0 yÚéÃÀñQRS‚ª'ø ÈÞï ÌàGÅ;03m@ètÃ$eG\Ž1û~âMÛÅd®p}åD|©Þ\&³¯PŸ­óqÞ3+@fÎÛuåö 7èåÚŸõoµƒ¯°Öž2(ÖqéØ\ÀRàeþ2vc¼®x~,Á.mÚEuI +ÜŸË^@\ªß~ÜñÂÖámG‡= Wˆ +€úsÈO+¸])þtƒ­÷þà–ìn β¡æ•½IYôÐÑ÷¥Ah_Ê&¥ð™¬ ð(„9ôéõjMwï8¯"Ë7:"*¿@[Må3UÛ:Yä:ÀA#ÇkZÏ£œ‡?µT«”Z›”„U=„j̓ÙÝc–uêö‡ +}¾£B=¦ý¬à? uœû{s~fî”W¢;ÁL4š”Š(ʘ¬/‹LšéN¨L8íSæW¨S,/Öq€j¼ð„Õ’M ¼ó| JQÈùêô»5G’¼¯³úâ‚”ŽR“»ôuŸšMš¸¢x0ÈÚËò§ÐYCyn 4º-.Ìùñºçæ°©óaÔ¿Ýå³AÕµm@¨=*‚¹ƒxž‡xÁ—A@ŠJËýƒ]j„¢ï't ÅŠŠþC)–Ûª+D;* R°á‹šÙð¡á— z—؈ÕVÁ̉~¸¢ìû‹r‹Ò§EóTn®yïÙþð´-H‘à«iÎbå’àûÝžù£vV ÐXˆ<µ—¡æ*Tfå‹EèÄçE;37ÜÖµ*î•G¯6¬}ÁÓ6Ž®ïDDw¾†}½dÞ…¼xÜ^jl€"Ñï5îLߨI•+Ó™ßz’p¹uV­KIW¦ãÎÔó¼ôÿî>†„ßRšRwÝÃ?;WI#¤4EÚ4lbo×›jŽŽA +Möä/{µ_„ÄÀ¼¼³GkÅwyjª³S„þ#Ÿ45þ&‚ñK„ÅzXÕ ±¨û¥ŽC3 +¤Q*p…gaD}º¼lè ¶ávõ²"òÕeM M*8$i%s gÍ!†NYoNAð.pw§¼(sí¥T<ÞRmYËZ)F6qgÝ­»ÇQQŽ‹?Dã‚ëÆà6”ë‰6Ò‰. 2^]`ÿÄÉišx¨×Qb†óåf€Á‚;\iÙ¸ãæê^6WŒ•{¨ìé7¨…ýÑ{‡-7Ü`.ûˆüö Ä +~·÷J¥ZlúíbJZñäôUbå–Ê„æñR~dnÚï˜í(c;1âSÊÖ˜4h›Ž #·ÊKø#zö™çëÐ2ËuD±¥\ökanÍMQÚà,Ü>K±Öræ¾Çˆ2ìÁ%ö¬ 5W˰ƒR`|gñò¬ v~×x¥œ“'ódÃ0MY8m#:I!Tõ%|jŸ¸€4ܪj~ ÔüÂCèt(ÞÔ÷–¢HߢxB1Š›È»w¨4ì¼ìœÑ +%ïà›\LΟ~Ôë/<®Ô… gúYu8X{0ýÿv™« ҭý§L÷ NÄÝy$1g²_0*Qÿ™lQ4Pù´i]‚žÑM‰Ô—l +›“ƒ½««³&/·Â®vƒp‰EÓg T–´•.£|÷ÇòØ,Е»iLؤZ)´SÉ»æÛ½ÃwÆ{Ør–ÑFEXÍP°«?Žxô»Èqjýš¼ -¨"6,0ÿºÍÇÓë–÷®û7±âx wÊúÕ“yó¿¹ÐHô<Èë×MÚ!~?’ †…„7Z³uu²r×·5á)a‚Jáå TÖò9msŸ"×´’ëZk[:8 æf®¡ÐKŠæJW]Œ"{¾ÊDXo@ÓÛ%WPÎæ¹edŒwzÈE#|pÈ÷÷qìqH#+/ ‡–4  –<öºyÐoÝ,¦ti®U4·¬ZB¦œiõîe{c—óª¢Òs‘·Ÿ&:°[OÍBÕF0ÜåžEÍ?m_zÕô® +7‰¢ƒ¸’ÂÅ+±g4îŸö0mÚ+>Už²ós9ž­9ÄL–þå©ÙõS­í˜ôwÊ$¿ÞÆì— Ú·šq¬†ëTñTÃ}€°ýL ²ßF+ãÃàLªÏÞScHŸk0¦ú…QŸYæ;,2ü¿DÎDk~0sm lOì–Ü4Ø}_ãiH±pt‰‚…aI%¡%Àô +SC­5–@‘»…‘ K:XPS· +'ÖSiaÉKå@u±@ŒhâXgIjÜßUS{šJ¡?eÇZ¾?Fº`ÓȈ¶dTIžŒZSFœ+£ï<]T^B2‚à5£ŽÕabÎ(pgTà@øÆ%u`Î,§°“Þ¢¨‘Ü0` àÙØÈB;OgºaWiÄî)C‚¨Ò$ëÔÇñl¹ÚáÈ;ö~½ nxŸ«@ɽ{VTŠ´À޾³w·‡ÏÐ<‚•K ¹ÜЖX½&{ïåZ 5/ÆÁÜ^ó¤–×y5|.Ѳ“ÚñÎޙ܈%z‚Æ4¯ÆišŸB{gPí‘GemÛÄNM)Z ¾8ŠZÔúcHif4®)ÔÇýê­ ú¿?܉—>¿ç­Œîç¥ÌBŽJÇ_îc<\<ÈL +OÄ>‘ú©gŽÒO¨ý|€7Ê{,âØk9ÃD,ï¾÷ŽÆ÷æÕsøƒíIÃB ù=!š¿ßcJÐÓe­}sÖ~޵¯TÎ+ ðáGÔ'/¹¢1`¶=àûÛ©*ú>‘RûȨ}¾¶A@ô'øº4ø˜FøÎ§)'׳]uV +ä9ÚTP>î±”‚LÇ»mÅ>ûD_‹[ ì¦;ûXŸì¼¥EkkhVl J\Mbÿ^E¬º¦(£—;T:dŒ1dXúœHs$!ÑF3°„ÂåJ)B¨ÄXQe6àf) ³ã \ð.ê¢xÁ“/rЭŒ3^ÍA%Òá*ÀöB;5¼Lƒ jüŸ¹›¾Ù”y¹• ²{\ïSu1ÊîmâÄ0ÄÆ”Ó´Ù,)%áò­f},¡)U_+¹ò´qj¼z›¢à-L¶°=¢‹ëYtì,]Uä‡JöÀîŸnUª)v4ç>N8³ §˜Ë¬¸gí‡cèYD ·§¦!X\(Uú;döan¯Z’€ð¥ö¨F–IŸÅk# Y„âàrókŽ™lc’\) +®¹SmîÕÅ÷OUPÞû$Äeº$>šo‚ÊL)±}¦ù÷lØ  =žÓaí¼3‘†J4é†rfÛ“€‹>PS\!¨ (ä[)Ð{¨ä-S+éßãFŠ=BˆOhwzä}ž±{sŠâ r=k¸Â½Ç0®j©a@HÌË^w cüQ¨ ®ÜFxýmDŽÀù³\0¶4íØ@uÌ‘ÛdkÈóØœØÑÍÞ|…Šo4¤áLöéTøxî®XV™Ú8låå=‹Ë|N¡qP‚DÌD²±D|-Ç säV¹ªœ¥9PDFSœp,NkŒ“,S¤Y­Œ3~ÂÎqRuÐTÎ`OKu$qE’‹ ¶²!†©¦U}Ͷš~ú`–¯]J×™`!;Š>9W€Àw ¥÷4.~{fé"ÅÖ“&8,^ï‡Ì#»ôÄ¢‡5Õ.\âM©ÀKz¨\ow=©^J=bÚHÞ¸gàHfñ¡{æÈÃÅà óAjVZ2då×qâRw;òÈ:zþ]HÝo§ˆü"ú‘åBÊœ£‰gw_vm•Åé ¼ qã%ìš~œ^@iþën? :Xš×uô¿.Wƒí·Y'… +ð\íh.A5í7X‹¾vÖ”±º!²‹ ÍÅ ¶W9ÄTuÆ_ÅR†Lb«QWDsØ ±×ND”_cï@¶ nmŽe:j˘yÈ@A C›ayÆCh—1M“ˆu!…‚²oÁ‹AژɺѦ˶ˆuø8ÛèÙ@¾cœãíQm3{Q@Ûà)C’λ·¨p¹-Ç­4׺ î9J€$·ÃÝläfüÈ3?pŠ>RQ¼0ÿ2õ.«=rŸRï0ö“§˜§”­¡î~Äxãž÷Ô/µN!õ8žÁ·â¾û…}L䔆¢øÏUØãdXò9H6ÌÙÕó,¬W³ùyõXñ•ìyšœRÇae^geHépÁ™€g¿ÛñéEü§ê¤ gÌDŒbèd¿A—Ì‹_!¤§ö’AfÜ£±¥á§P—¼$ýµ©'zILh§s:‘^!Ÿ¾´­Ñÿ¦Ì äAä¨{aR:ºßÊw‹>DNpòCréçI~9ZS‚’ÅÅé-…Xš‚7?²ÞÈo Ü“1y±wa´03çptÙ!Ä!8l9Vk‡£^Z[”Îä”B,‘ɧkí¦^Ö‹õJjJùB£{ka¹…àAªÓŒò2 ÓZM ,V ÁÓæ~~o‰ŠÉùP u8xŒ#2¥žñ [™iHf\*SpŠÂ~L—‡ Gí*lùA‹û3Ïcàâ™*ÙÀD&Û;¶ý¾°™ ™µzm¶P“¡º¾ÄC[`´HØž¥íÎüo¬á‘Ô–»Àj+âÖhm3 ÕÄÂjóíÝÇGÕ$=¦[ônðC“ÎÄóço4é,(Ƶ­E*mœùZ¬‰ºmg„S}eì’0U`Žq<]ÄHæ:Å£ßV¦²ÕXMã¤KÓ‡ñ Í…é€dWvg–@z÷ fc¦Méql¸·Ô—IÈ[nªid.*­Ù†‘Ùv=Ú‡·¢7ÞÞ”·Ýy[No™w½ÛÛ­>K%·½ù‹owv˜oën£QuÞ» ŒÇïë÷\ÈF¬ ×»!6²’\1?¦¹Ç;[Ã~;AƪIgV3˜0ÃF#㬢ÿÖ`j5…> ³)a–áÔIbœ ?DëtÿÛK—ˆ ·’2u7¢¨ÊtYËõè©ßUëmÌ £6 ÈßpUÌ êTõ>fWa),T0.°»™,(bÊ4w…?ª˜À*—i·‘¹ü:¢,´wÊ\ !cŠê\YXgR¶AÇäG[XÛ ‹µ§Òe”î[¨w‹ñ ÌŒÎOÚÝë¼¼v‰… +‹,®Ûee–óä½ê¬xëŒ0¾þBYÄù¯ºTЃQ|Sói±íZÏ&RNÃåszâoǹm3ð†ñ!e ÛÆ6¶’e¼¦W0³xäôàp_r¤·?Ö£»M¬éxÓ³6?ʱc-aRur‰­i€äá’ç»íüØkHQ-é~àpà‚.ƒs‰ adðáä(' ¥ð4ÚÃ8â³Þ¡B"èðv` æš "tfD³9´‰‘ļð,€Ä´Â!ÐÙn(ÓjÃBªÂ óµE@h+Ñ <¨3Je†.)UCsÝr&)n©…Åô04‡®ca}Âå‡ób)‹äÀ‹ñGâ®âËc+çDA’{½Ö›EI·`@ŽÞÐùTÝǺ–¦JqB¢HâU¼±Ñ{^ëEÓµ‘#&s-ñöLú£.ŽÚtA‰¼»*ÇœËh²t*FÒ #à9‹ +¸êúžF“g³yµU¯_—dŒ ûÓ«YUAÉûP ¶BH(β[*šÂÁœ"„ï“»Kåõ£ +:7ÕdK‹S¡°¨rTMΈ7f#d,>šd”…Ö³¶º…Wžø]1™-”"4J(ó£bô ±s©Kã>¶±¾À!—CÝÊ‹ÙÏϺxW¥Ðris]gÃÚ5šm ¹¥õ¶< +p!—$~ó÷\OªËN»±,ï¾®öéßÇÄìR‚CÜ'$¢~¶<ÿ[.ýÛ•AÙξì®}[õý³nß ÛgS¦í*å“ï®Ù¶#^H´£/[^øö(ã®è„#ñ¹Ø‚uðÓ'ËJÕo‹‰CdÛëña-2F‚iUö‚Ñ¢‚ž±!%˜¦ƒ–ÿ«¼þÀÇâ«k s­…÷Èšm4F¡Ý:>Z鉸Àþ¡Í—í²øÀøºOquˆ—ÚÀû‹…X}…,µBöÐ]šX©¬úœÙhÛKœ²T”*ᨬBmÓ êø;šé[d½%(B7¤wMÛv²ÕYgÅ4ˆ–WßÚ$Y?…ݲ®Éi*p²æyç¼B¨y<ºÙÚ˾sAiäÜ®S‹ë&̨S®üdôhG*©áéÃ!9ĵA\>ãksíÑ€¯J»”DßšÛ(ÕÍÂu*ÔY"‰PêΠnÀ‚<s/úÖEæ„ܯ°6^ôÔÝC®ËNÊmÌRäI&t[42,ÉúÜ} ágG'&W“@8!YenŸŸ8 F ˆK +ˆÅ‰\~”›¬+¿y2Šú·ìIdA‘fxqÙQ´(ÞØPAêL)°TÉÈöÍå+-‡ À>*ôؼ¢§/©Õ«Gcf¸JЉZ•Áw2Ü_¬|Tû0‡b*­Žù `åÜjŽ+ƹŽþžO£v‡¿Çî”ňŠÀ25æ«àŒ—Á©ä÷KàwíÕ”‡ ÉBø fûù6Ôó%,¤)lõ¯­û‹[×ä­Jß“95‹Œ™Ú˜Ÿb3u_‘BRɼiž=3[á‹Ëq:üMÍl*gC—ä˜0ssí#²•–…ÙŒ‚r¯ ;ï°„F#‰&C¤~ý´âÌN_´†© \ —Š¡Ë0é-u`JÎÎÀí0œÙ‰·8¯ò1$ÞY±\nÿr&_Зk¢wA{„µòGyA»Ö2ƒwCí[Jå2Dþ=¢Ÿ™ØÇ2}ž¥Wææ²“Yg©fÈDVôù!7^kÖxð©êZÑÚ(g<„eÆÎÔrÇ.ÅxŸ‰LЫ­:‰ÓâEûWvþK<´ßþ±Ã}âÑ|xÛo% +©ÚðrÓ”…ÒzX@ÍÓ&kËisP³7î©+8¹/Ýa‘ó•.p uõó—ÝPÆé®©}%¦«¨Ï]t7ÞS(OŸÜs,kí…ÆÔ›GRÓ`\ý*õæ]¯Uwî08íð_ öeä!Ð<¸å¯Ó¸_¥€R$•¥ÐÕÜ%sŘ5”~TÐë ¼{ßut%Ñ-ÌÜu÷yHD.rx+Xåž‚ô£–Þå%E­ÌJ'1%SÒµ„ ÛR+´ñDÅ]ˆÑ¾µ+ÖíŽ"èÑû¦g,˜,ñ€ˆ’@MJöô Ï¥VÃluÅðWÀ€Ö8ÛšHÎZŒX49î3¥¨—µ}DÊ“.¶Kä¡l1ìidBà{Ò&F„Œdè)Ð^›} ]a8P¬sÃç±Ù,ù’sðQˆ’gOFß$ÑÔÜïH©çñ I¨9–;êÈŒx—ÚIà9#jX•OL­ôÜñTÒH5¦žƒnÐO»%¡jZ[X®ÑÁ}Ú þVêt‰Ì‘OÚ nÆ™ÇÆ +lkÚ6NŽØY·*®M¿Ö"±á=Ùtœ¶–„bòT (aòªç{ âà([U“#Œ±ÃK3ÉŒ]£ÕÐÚÒÚeT‚Šår_•ш¡Œ-í°Vd$§ÒŠMÇ-zrKÄcJ1⸡öóÉmþõÜ6ït‹Â&nuÕ͇PnOÉð¼c†îJ¼p|2ô ‡Îõ/xáÁ\XøQd= +€ÄÂ=i¡´Â{*,6ø58SL‹ö9°R¸(‹fÚ9p¾À†•ÇuŽ´ýŒ…e }ºVó‘8‰¤VVAPÁ‹6+cÓ*l‹8Eï®ÚÜC³f+ÆPýÛ…»çx ^£B§_Ÿ™¹§·ÍZ%"òàGNs•Î ‡ÿ¬R¥æT“êäƒ>^c·ù—v™)¾jºGÖ¥X4î“î´ÅÇ@4«5€ð”PùG”?E=† ¡åtLÈìà^‡fᇞå"ëv©O|-úW¡‰$0ÎÇ'­š½'ëÀ>å;pp+F<Ü"Jå2pq.ÃÀ¢›ÁVœà‹£PªT€ðß#izš¦\8(w¼ú$—<–„l5)Âm-®•Ï{cç÷å'ÝTš h8ûjí÷FŒ1x¹TF+ÌËS꟦jµ¨Ä‘¿Tú~[ˆsª ñËÊ sJVájµ¯ût —À5¾ÅÛÚxµâªV<3ÁcÓêP‚Âm:K˜é  ÒÃeöVzBùr;ɵc„¤B¢ûË›ÙÖº¥KQÿž³œçä”@v¯¶›ÜŠ‚KXsÒÖUô2‚âíñæãSÆD`L-!h\"È +‚ÁÕø=ó<`GçAxmM ºKÇjO2ŒÉAÖÜQÿqÔX¨ÒÌ{*Ü3³p\çƒL¶µtP©äX¥.Å[JbÙHÁâ¦54}!äëèÑ ”DÅk/,wå…¨» Äâ~¢M=¢ øhrgõííå^Ž«5vñÂBàµe2`tQ®SÙlD[«Àœþ¤|±Ìj…¨¾^5ÝöàFô‡ÅQݢņtA³å%ÿFµs ‚¢( ÔélBï‘$üÿÿ|ÙÁœ³ÇÚá diÜì¦j 0Xhª XàS™=ÌÏÃ<ž)ÞaÑ®uš7|Þ³eRm7MhüKã»Ê tƃ‘be•3˜¢/Æ1.¬Þ×ׄ«øû_üZ™¶±J½S±ñªÌ|«ö^«vXœ*„ReÎ`ÅücY—µ”ðÇDs«Œz¹úŒ®¼]e¿ÇÖ–^µüC Xœa%4eÈÎä ì1¡†7ï¡Çe‹Æ{×<Ö&²–OF•–Eï輨Ì!}_)˜]Àã¦iCÚ²Ötlo®šå˜8RäÐ..’w4)4óNªIn°!˜1„àçdÕCƒä…ѹŒ½ô8…Û~µ!5hE|±Â!¹ÿ¼ð‘û,SŽÉc;yðÆÅþøãb¬mjŠ•)H‰€K3•¹*êXæ.V!©i³ËJ)V†£"{ýÈÝø0,z7ñn÷½Aì -Ï®HöV~°ñ0Y_{f +â&å³ î¤“§3ùŒ•|ü€[’—¥5æÖ¥ã¬Ý'Rˆ¬å‰]Ï\û¢ñŸZå?´d5—£1Ì6çz3dùèá Ü„è)Ý)1ï-dþ î,émºw"ž­L[Àï ÁÕDqv~ûà1¨+jË'óÆô\ó`7Rã7q‡¯§€Ïýõ èJÀ‹¶ïéçPFaN–`”šf¥‘qPÒ‹žÕÞ+oj.Všß³Š ¼Ô|ð+1@ q^@èYTºÉ»OAo“Å—{Ü+ï55ÏÑ*PIÊy¦KªK>éÝ(6ò%D@‹Ò É%að2hBfï£@vä.‹aÞ¥¶ ÈÏ æFŽ!ü°Žf/•Q¿z©ëöDÁf”a.4•’¤‡O>gìûì|vKU\p(í¤$7ÅOí©ÜƒÁœª@Kœ ÀMäü€ +¸1ÀIPZ@2Cmk.øyMב8½<‰ð=k*XÃÉÊU;È·-0Ãàðçÿ‡¨çåìvkýñË'r§Âá¯PηIJšE™õQ:,Et£ï2Œ6Ï›ç¢rPÝð¬ÿ®ñÒ{Ã_«ýbõgç ö’–ˆéYì‚ÜxóÍü,²'‡ðútùFWÈC[)ŽP£ËÌ|tÔ?Ïuòñ‘®"qH|äÍ%> ‰EírÑ——di‰grA¯ãâ¤fì´==ùÃåžö´G—y·´e—½O§q;$mî€Øvu¹šÕ–có•Í߉6X3uø·® RrZ¢©ð3 ¡i†gÿ˜çc8_¼i'Bßò_ãMjLßü~97¼ÑJL…Jƒ)tZ°ÚÈ‹f<:LJ¤ÇœLÅIv?¦+ûVÍš¢>”~Çø‘5/ ¼Ü¡0T%’Äêq4qHø„ÆmVÎgVô#ÎÎÂ茗³\vÊ3œ>Ìêë{¶à7Α²>+Vbz¢Ä1aÕsœÍ’˜æW#|õÔ«­%JHhíê1¹¥& •«%dnMÛQs1µY•ï2ŸX5OåTpùÅ„U߬ªW×Ù?´ò"6OˆŒŽ£”r›}9LG²tJËý,( ™äªi¨²ä郴ÈaH|N[È-ƒ²A—=Nj¤òŒ‚Kìü©é˜æü2${Þ(&ÆòÙñ*°3‰z¶å4ºK%¡f•VÖJÏ !²¢³-ñ6çÍù¦ÙrÆOÎ×qªÎÉoþêÍÞnnææÄnó©ÍVÿ9Ç@7>“\csÉ +¾…¶pæDça5'R.âçô·¨ÿo¿LVi˕̵–6êÆI>UOÍ3~š±)÷Ç8W1ž01ŒaÁøñ‹‹^,íâ„·øT‹íYÜ‹s_ña°ŠÁz+>KÅ­N±ÊKqnŒâ#yôAÅÙŸø©œª£/a¢Vœ‡Ë™xVÉf=T†±,|o×ÍEyòåÅ{¸®Â5mI%ZÞô’R&vš…Ë]áBNáVâèÕEOLÓœxèxhSJCÑÒ$©órÏø½=«Å0‹Œ;ÚÈAÑäÏ¢â!†ßcAâŽ6u Uú§bÁá§l•†Vh”–8æk¬hê´­[Uä*f0ÅÒ @ºÅ„J‹™t·‘ÆU¶“Ä%ö$‘AbxLÀ‹;Ò±Nn¬½ÆP€Ô1HGœC:N£ÓF=Ýß(úŽÍ@âIsþÏ5cÁmý>5æCIh¶?ô´y0:…6;†b‰™1®— L*¢fhUá)`åôÒ˜¡© 3Ü~Qdê2Z ,¨2óu7&j¾7ò•æ5¶¬ˆÂ“ÆÄ7óÕzGýµàÛBx¬5ÈX¥HJÍÜzx»OŘu àWX1ž•ô,€ãÑ Ñ» qiˆöø B‘D?̬mUáÑáO†CâéÐõB熞lè«apüXhõ]Üû q.(u1dWÎ…]€ZÛ)Û4tH2çùSqÌd>°žfŸƒÇ /žù ‡7´¼ÍÏSô5ËŽŒ{Ò]íql£a%T„1ÜBÝ,+¼@ƒ ó°puüã¯é¾Ò™õx!Äø`BC¨@×A?Í‘qâhiº@(Aé *H£D©‘\WžÓ›'«þ¶—c»£`rxéEßç1j©ŸSñO<úwe½À5óÞÄqðÌ{B;œú"Ú!¡8ØB¸à_ïM–tyM7ä?ç¸ã6v›Ôh$â)Æ4d°áªµØhêD’GÜ=èÀiî=3Û2Ç“ü½èÔÀ9Q[Êñ±Zf~åZ™T9OÙLŽ|H—{¨:™¿É‘L¦ŽüO²e$Ó˨?²¿‘ùÁ &Šö&‘#tÈÆö}­kCµ@ßàøp 1‰&©Vj,¢§dp–šœQ“ã*B¼ÐêFç¢!„Áþ`C ˲"w%Ë€Zf´‰’^IÉ&n)ý%£V-/Nyª ÒK0¬^ +^í­"ÅnÀ Jÿ‰I9âtj׫j‚Œ)åIîØ'¾¤ÝÇK­Õ–ïǾd#p ih­¡L#Ê[Q8—ºwÄâGܹ¼å]«©sîlÅñœŽæA±„\o<ôc×õ1cJ.†yMÝ+­L=ÅR³Ñ¥Ã +Ž™ü¶A؉߃IùÞîUudõ¸MqþWW¨¤@¤ÇÉñn˜nfq{W&Z­ÓÁ«û:´nä{KGSëtú¯®w¸©JܻķL\ ‰yâU)®WRqSƒ •ëdÍw"¾t&a›O"YéìfŠÑ*ñ(ˆXô2#æ»CÀPM‚ƒ#˜þOTYÖ‡ÈfˆG>Bžm1Ÿ^›ó)'â¹õâ f1ŽUæM™4Àzƒk‡€hµÀ[:}väÞ‰<©›üp¤¥Ö„,¿Ðk‚$ ×gþÓ;ù¬iµX›v½Î›ôì8ýoîtã¶ÄyêuÃ=¹èÓö§4º”XUpT™”«´ µsWîø‡Î?ÛC¸…+ú&`aIê™:r®o–EÉxoÿY¨Çã{V šñ'ÆcÏø¸ìÛÔ»‹kX|É‘˜¨Ò›b5EŠJ§Ò…¶C@©¥±ŸÈLf-Z3póä?é¨ý>ÿoßÿæ áº·“†ÑpSsþ¾SNOewVÌ—Þ%wî »õ;ï•jººŽÝÖ®0q +Æÿ㥩¢Üy\'QFLxü†¡ìÐ’a=owáwèÒ6R¾ö78h)_ûȽ‰¨­%ì< ®Ä„“¼èÙ•™Cƒ*ÿ`¤tqøÿR툨Ð7aý_{U‚ŒtGpíYe çé¡P '&™•ÌS¹x±jã"³Ù2àúÍ?;<¥Ò舘 X¯úwúªç¦j®Lˆ9ÓË+8?A"",”¬R½šë9©­‚6›dpB|¬fóÖ{ó ³:;›W-ƒ·KEÍÊ«Ïf¶ëÞZlœf”¾¥QûoNàƒJr¬¦uDà0ÚIOÉæRß§$œ¥¸©ÊúIÂêÕó½ç®E!í©J™oOùÏ_>ܸû瘔­$äbñD3)ÙïiËPdul¬b£Q ¾œ0ÛNøÒ÷mÅ“›"}Y*ÿ¹zkݤà^E†¥þžj?le¦ò•í%0Üt×ÏÏq~-a‚seÑyÆæ·‹º@Ö×NÉMÑì.n@ms߉n§1ÃJ»L÷͸ֵ7ÂDòŸè‰UãÏú¶7A7Áââ§â7Áå¶2Â6éàóáíëøœQþõ_Œïÿ>ÿÈ1–*ª¢§³(“!Q0%³ ‚Ûï~=Ùïœÿ;zðì•éö‚¶?Løx)ÿ~Øq —Å:"…ÿ€b*£nßà˜^ ½ÍPçkêÙþ2HF>­´>Ê\¸~4'>”Åq +!ðš¤Ò$³Iö`脊h”¤”)ÉTö3~`"!"/# k +@ +m}±ïA½EJ¯ø÷`è‚ £h<(Mi‹{†²éëeÈê³Z?”ª ’)›f&£õwÑÌKÔ’ðj$L‚Ö‡BHÍHëÙOa]3“ÑúX9„ð d“¢U8Xò`ŸŽæT “XØ ¿P¤t¢4ç†=Mˆ$¶H_Æ>Ÿ‹Äª¥/a}c† Cz*LL& 5›ý¸$y`*ËÆëã”0)ó3#Vôba¨ð€EY”?E q”@²º¶*'â!•†µ{¢ßþ0ªÒP1}+i+•"ú’1°DÃFô•@BÎ4ň~8¤T#Ü9ŸÝhº”¥Þ®o… æbÛÁ,ÈËgîåÁ65á4½ƒ;›æ¤çã+ÊQrò%/Ÿ#Sáh%¢ä!ëx*ÍE„B‘â!yiN¦)¥÷—£i.dƒ‚Ë¡2)†ä²z˜R>'–„õBBåªH“\̃ §ZÁPó þ01\H'#yP)Ȱ ¾ƒÇïV ; Èhè€"á3ša†¸À™C„+Ó¶“SЇï`Ò RwÀR„‡6—LÃJ;èl ´¯”rh–ΦvP³8ЂS­ +Ä•O­$"~B&sRÜœÓ “#ó—3º+N2~}ŒR¸‡ÌH…ñ`º™×—>ˆ8óñ " ÄZ;/]!j^æÃ¨À’G`6ž)g –ƒRMZ†|’=ç‰adÃq…h>$šÒ#èE&}¬EaœJIʄïhI'yÌÿ…ÇÐ.døŒk$ªé1½EF9(SPÂä€)ÊBÈeJjnvÁ!ÁrP4S£íœiq™I(’„ІœTµ¥ß­I t³bÆé(¢¸ö ªC£»†Â¶=ø<t*¨È¢õpXf²ƒy%Lå äAû×#³Ì8#!‹9¨…‡Š5d>˜®2¡\õÀÄGͰè2Í+“2PJ"¸J̯©¡H룊jLó*’Pœ›¦á9é…âjFz@ñÿ¹…û *uÐ+1aö©Cç€( ääl\2¢ZkNŵTœ‡Z{P—þs=Ô‚1ÿ>¸´Ñùdêá>`ÛÊ<ºƒ9]ÖYg¤ÏIhß(PfóX\µyQJ6ñë+¯fÇ©Â"Œ„ÖYx^² Jðœ8›¥"âoB˜Õs^Ÿ SÇ+8gP„ðÈTµùþ…mœP>(šŽ#E¡sÐs±ygˆQ6øXÌ—OrNlñòûšÀSqæ"®¢ò¼BÍ”Hù€.b•9Tjj’*_Ö–¦•ºþIazpü>ÅÊ•aÝeÇ$Th=ÑÜÅ‚S>-*ˆÄtÊß?DÇDMùå8ÈD*•ï¡ò_¸|Õ:”w`Ž{ å’˜—«0£C1¢ã9ˆ¬|c±-µ‡÷ƒÊ¢„ò`17ļ÷ÍŠ÷-5zEC.rÇŒ åCFîsS²©0<˜D0†¼ó@ˆ41§ÙCå öqó‘9ˆwP{ó€ŒN )¦A%Bî %t²¾åS„„Š„ÚIpå3Š‚idá‹iërèHÑ%¸Ð×Qsù1!§œ«ÃxP”iùE6t¦Ô0”t{@€x¾<4TžGQË8JÃj_“:Üyw@%F“™öËæ¬zPøP¤ã¼vIUƒç`1$²EWd)áT'á¼Q%-ãÇŠb6!œWŒ‹„·Ä1äÜ»„wôf.Þ<\zwG2Qéà¥N·ä×H…³B^ûµ04J×ÁACìúPt «‚v@§ œ:[å×÷Àá¦"qòF5³±¦ˆÂÌ)LV’"_"N ™(2ͦ4_*‘Kh‚}P³P³Î45QfRLÒ]f¤v@wÌ +ù6©Î«a–«šª¢’™ƒ–Щ§ûà(®§~¥Øl'Ƭ¼jLN\‘ZÑ s@DSÔÏ#a‚dœU/û‚ƒdˆÈñ}BV8ÐÄ)üê)ô;¨‰átP}Èû•g…¡ƒ:øñÂXFêÃ~(šR_ŽùŒú*.<¦ÊÖ+|¨„G„ ƒÙ+¨'µá1Y:íA ø5¡è€hBªÓqL,Â'Vúæ Ð:X#Tð€$$TBÈý†Z/O+ÚªiÝ/1 IêÞoËF¸Öý=x<˜ª„šN¬n jÌ +‰‹CÍÁFHܳ„aƃ‰Kp¬ #Ƥ0/êw0³´XñÐPÑ=߿þƒª4(üYðk/j†,QF7hB™ÚVvYór‘èì{ª1D° ôµïƒóVøÃ†„žÂÀ˜–þX†jML”øR®ÀÚÁ³*©)ú r˜­H.v釃¡Š¢âb™ˆâÈL{*Ħ/µ2ù ¡@eöC¡"†¦¨¹È[ÅBâpZ¨º1¡¡O ôÐØtãVpí ­L•T«OBVCbé´VXì`ƧýÚ< íàáMè$l£öeè0´‘NFI¥¿#®_„uÁ³¡agâʪòG†7ÒQ„ô‡<þèôˆ°í S¡1)õÑÙ¸ý({C4êUªÃwÝ$.ªÝóDé®ùdï¾W6;Øtª,Äv@ º|Ò:;`‹&=¦*vÀ £üà,ÌI]&&v0Ô8ù$2af/zÙ$F³ÒïÒk걃‰¶üá:ãðˆÈÌ„úxäy%›Ç¨]ßJç´Ä©H4›oA$Q”¤Ü‘ŠGh¦ÒÛq`ì ÊCß«McºÒ‰•À Íí‘úA•a¾„%æ!~×øƒ…7哬 ³ƒNUHÌG[ ï`-ƒÔ¬Ê¹i¦yšçER#ñêA3šÝÏH|D‚ÔA«jd˜žz©ƒª…›@RÕ0=·Id2^8L•„Ì“0ÝA «Òˆ÷‡dØdp@3aꀓ’ü¢>;(:|Çì`TütÌy©ª „fy^0ÌØ1 –¸Át 5#XÄ}(”Tåù,,ØÀAMÍj­z_&ãŒúED!(@ð€x@€*àœ€ðÀR@4ø<à,`'P +€€ƒÄ€H +Hà‚$h€ X°x@@ +$pà (8¨@@pàÀÁb08ˆƒÄAb°ƒhÁê /Á`°T5¦=W |ù+Ø;1„t_&RˆTIÔRšš…:dÅÖQII͹Œ{ÐKÂ4—Ç…®b\If.§h…ª #Ä:²UTä¹|3JÈ +_Í¥ŠFèôºz¸á1Syuñ‰Î¢S½¬,t‰Hpì Z²äQâÐRH˜ÿ‹¾ÆTJË‚XBPÇ,òÕéa]¤ñ‡}I?,Q ËòQÂk‰tä¨(É$_mä£òúb&œ EÄ52®Ž”ä› 2Ê„ªƒJ ÷ƒÇK–×ðñƒÑ:²Ët5¸Ü^â,¬aérJÈ¢*ù‚£’Vˆ8º U$AÊÖÁL]êQ‡=¿”H+H)% ‘Xhy@K„ÖIæ’a Œ‰æ ä…—AëIz3¬(B®ÔÔIЪÂá-FÄT^Œ|-¡»*:ë–ªƒË|‹øÀÞÄTÌ‘,U$ÈÐ ¥"2•û!Lò¡‰¶è§N÷=|(Œ¦£§ÖCB§SS›*©´¢­ˆ¢˜ŠŸ¡²G?s Ã>D:ñ„q(!~@…”N ­ƒ:éu@³×¾›#Yµ²ìÉs ĉ2YÈs0uŒÊQÍ&#™ƒr%<*(ÊMo¢ë c‚Œdm Œ¼‚ôƒ_F¨$ÒPAà õå8T~à‘ÐØ1©Ÿ‹BÙŸnáÕïmp) R;Ýë$3u=V‘êüÌ8E +þŽ™ö/"ImúÍl|éD"ßÓ……n¾BÃ…®h/‡!©0!41OøŒmy¦AŸ³¶ê÷JוËŽ¥nd¥Vl$ª•*#U£×i8¥Rx¤ž.…‚Zƒ¦~Q +L +Hà‚¸@@Á 4X0€ƒ¤€,pp@¹×9ÀDÐÀ$à +–L±Q±bŠaȈißðJz:8 Cdißš,öŒbrAŠéé ä¥FH²>R\Û{!ÊíxŒÇ±@ôœ*êÜ=p”IŸS¯@{£žV ©áDÕóЊɸêûÐ:héUlU"ÜŠÈk« mæ?éÇÁè¯úãׂÔÌôcZ”gFòŒ‰¢<%¢ª‰²g1ïÐìüjfÑ98Yå×±0%7$Ê6wb¿*_f›ƒËûMùí*p624ʼn >`©üª +ùãjz:Ò 2´m‘1¯¥,17æDá0–‰1/Afܪca<䘻aÌÑ\Ž ÓUÓže=à„¿ER; ·ÂÈÁ#õ£,DŸê˜&'ÕãUnšFå`Lz˜r0ÄYÜš(=ú¬ÅC\‹„Å­q¡ø"mhUJÄçÄ¡µz Hj·N¥ˆ[;3‚°µůñ¡Ea8µz\qÍ/*‡ø8öÍíð9BÁ_VR4…†@Ás‚,ÔÏ”„⡬ƒ/!šÆ‚{¨Ò8J*5}D9Äx@uÿ&ÁŒªƒÄƒ†°<˜L‚rà~Ο*äu=NÜÞ/ ßy0é9 ý+¶ÁšÙ9"Ù¾ä‚<×>΃~´6HšµÄ —“Tê@þvÁ#¢–‚;(ú"ùR«­Ç£¡ +ŠVªc!E_wB…Á™¢‡ +é áƒÕÌ܃գ’ ä!ǃ괟Pô"‹ÏÂ"Žñ) $4›ÁdÝ0P€ ,t'ý¥ýô‚â(•¯Vè›h?! #)TEû™RãÑF"*Å¿˜Y{×"Œ “ƒµc倨B„car0U÷ˆî@9ØDÐD-dX2e Y‚Æ}W42N-QÍ)t¤"‡Ž¥Ç†D̃+tˆ š>ž‰¤Qoý$¡û§ÊÕñŒ¼Þ+¡n¹œ›… ò:` m~?wÙA(ä@äµù4¢ S6CØÃÂ}Q<èKí€j‡Ù+u >øI"â «qvÀ’ÅøA[݃ÙÈ"z@Aä/öðâ=|öPŠ´> ÇCNS4ܘv@²XíS…ÃP83OUjòÍZ¨9è:Q†ÃÍì‚Ü™TKLlýq W{ëbËŠr@#?A“7˜ª¾ƒVœumhÚÈ&°ïŒßÆ„QD ëWÌCÑFÔO£kZú >í`øbDÉDažú”h8…êAùáOÞP4ŠV]´ƒñܯBÔ<?¦ZQQzß„÷Àº„Õ +‹Þ6*œPµðVí= Æ…® +ÕƒV+´Ñâ“¢ÚȘDóÖƒJQæƒJŽ‘Ír9…„3­£ì©oìOÑÓX') ‘XƤðÁjJƤõ^Ç'ÑÞê +NÇŸV)(„nwüøH -æ / q.fue¹I‘Ô7J¤œ|BD…öàS–ZA±§—‡­ÁÐÌOަs|¦P¸g6Jq¦ïˆa%ºy r˜9¸Lyºù€Z1î]!Á¡z #ízDŒÐô4–.‡Ðj•êèÄ*Ù9âk¨LòQK¤‹zÄ®"“ƒŒÈNVäPÕ¬sW.‹3ˆ£{HA¸¼ô +œì£{5 +êÈLhæ…B¦„ÄB÷ÄÊÅ“V²ÚEYi$\ŒGCˆBò Å&òÚHár=)Gdd«ÑØíƒ¤SEløyÇ3’($‘ËX‡õ8rY‚˜b rJ>Å–5 Õí)}¥ÌÂÌ +•«å»ç5B¥¶Ä²¿NT¶ü?èGqK›–‚̓b‰e2Bó`~ÉW]V$™…)K5r‰)üƒY^C‹æþÀO…³ÐˆIc +å’ýÁ×½#S±L¶™Ê-PfTŒø©”)?¨~äšðò@|@ 2Bé€v‰_N‰ËûåÄV !k¢¤¦“¼jf&üÖÇ„·˜ä§’h8mòƒ“ï&LX<1Âê@„‚ÒWV¡dQ“ÿ5¡ƒKãìÃN:û…L_jÚªw.töf:¨!=¹ &°fÔA£“ö¦4ãž åÁ?(Gú"-ùj«xš+t ®âÒ‘ÀtâÖԄ؈V4}t&ÄHev¼ùš¾bİ¢41ÕöxÑž §Ó Ù™IL{q$:n‘¯þª0›7ü; ²Hú|ĉ?£ÒÄ”dôšÓ3GùƒlSÚCäÛ5±¡ ¥`—˜'=>¼j‰   ëÁÛgê£Ñ}L®¾1ž ÕU‰“Ç ³ Áy‹íQoB½èt?w§…çŒbLæéCt|bì ¡˜w¤ÁÞL8Ÿ¢¸ +§}ÊßѼ\ç"Ÿ)gNΖQqU —‘Z yNDn°l5d!KLÈ–e5м‹~C+Z¿9eUÒ)’Fd>±w®oõÑNw’ó®s¶ õ*¦Þh£°ç™‘g§ÎeeGháŸà*¤ø'E«}ƽòklË\…¸Ç&æÂ‹¶„#Ùö‰X‰;!©B¸EëEÞÖßú¯–"VŠ”_<üDiP‚‚¸šÒccNOEÔYÏ@±‘ÌŠUXŠCCC±‰–+õn‚Z5ÚV¦+ÿÿÿïð‡¿Áå1O+Ñ1¶±ÉïB¡ÛLAÞj^þQ¡•q[é˜oš*†P(8VÿP ¢Nˆ¢[--Fÿmúçóïª!*(6å@2YLds>Ó™¡@¦y¨]—&Ôd;Ô¦†ºn[ÂPcaè CCÕ¡¡E(b}t T ü¶‡:•"¼Û´2fZËC£­?ýaþ—ÄHs©¸†gôÙD‚3âöy·xSŽ6µš¨V¸*&jÖŠƒ7…ç[Íp&;²‡ªˆbax%a´•AxHwgІüŽ•ÍëHBNî>kuÄœy×G¬Ä—òI¡/“䨽âCq*iñÕö!7üˆ#ŒøVr–øcƒ^óyQ#|[¯!÷Õ˜“™X롸˜©~±;Å•æÅšs4½”%P&"TO Y°ž‘ ¥ +㇑ÕH&’M<¯¬¤NÏ7#d5¦wd5‡:—½úP²Í#6ŠRŒ½·¬Š‚˜- +ÔÀ®—•ˆˆP(”b( Ñ $“Y ˜&YÌŠ`v(^0e”Ë4THñ "ŽJˆ%%áŽ1(Ä#XVb!aRád1m’¨0$‚ŒlLCHOrü}†¡‘¾ 6B§Ò¡Ú‡à„ ’ ä’†˜‰‰›0c C %ŒŒÈY+…³ÂéW8Y‰©a`7‘P +kãäþྯê°„º®CMÚ„ºŽ u8lÏ‚ˆf7F‚=B[l†p5(ª´ç¦[¦M:Ð/µ´àÖë@ ô<ض‰öê{<¬…qÊÆBÒÎÌa¥É!:Ñ­!Uˆnþ­”Cž™ä¡´)‡º¼SBÙ.—i‡[¦:¦9}b*,èô×;ŒP7]a~ +¼¦ä“ÀÓ*ÐGÖ,b§±¯Â¥ 6ÂbT$Õº#1òÐ_êðbPøBM‘(Ö@Ñ"QŒŸœˆô¢¿RX"ɸ•†ºLNA*LÕЄý .§°¼Â¾»äa§ï-QØ/óà +§Pê„¡h*œ^ 'j8M#œ"œÂÈ"AHÆÁêš â¸¼b›|†òº0žy/TÉ ŽiO\.‚´†Vº ÕJ5ØRD¡JE Ñ¿t" §7—á g‡ΓF$%UŽ™«.e†2VÂPæ†/ÐÀ0€ƒ³`A\ð¬ ð@ `¨À1XÁ&à@ ƒMÌܽig"mß„!A¤ +ª}&b "q«Í £ÍÌæãGQrge’_+!oÈሬ bÌIyÕvBã2FŒšÄ¨Nµ ÏŽÑgS“8C¡363 +ËPêm©‘81>¦PR¡¢«rÛ4EV+©xêYÔ/Ô 5FÔ‰P* ±¨U.­¯Ñ&Ú”°VA6}4'.kà™"ª¢!Š¢î೪ꆯRê4#1úËF4ôˆëC³VK|¢9ÍtDœO +·Õuâ`¦¼J7(ôê4ñ.:•x´ÌbTv¼‹ÎHœ‚棙ÅJFü¾ð¢ÕlãáéÀŸFõ§»Š;q>ÿŽ(ÈéeäRs)hª™aë Â²øÑyň¥V‰q†X2u‹‹u°¨±XjRþ-PM?ŸL ñÉp„>IfL(6)øæÔZñÚ„ÔZ¥̧ùÎ÷wP4ߎy‹Eù}\ÂêÀ•—2¿ÿ\Åðûÿ—Û/Iç€h2e:›É£â¢èíá=O)~äç}Ê:nˆÜ1Žx.$yÌLR3# ã¡` ^iÅß”Lª¯I§,dd$[Õ甑ðÍ2óxQ˜0Fž=áž³^(©Ð =ŒŸ±E‹Ì$Ñ=V$=†¤GYHzLbA÷ŠžòD‘M)P8/Ö˜ “Ïx©ƒ†\rÌ*LôŠ¢ILÌd&h6ʈ¼ª´ªF5ÜÕ|è†#ù‚DHN—„ƒŒÄ•IYÑ99Žhš%>…d¤@ž!ÇÌEÈÂcæåàx*ßÓzÚi/5íD‰DÆDªf:OyÃuÎt|0²œ3昻ù¸¨ä ê܆ZÆ'SBKØHTð® —ƒ~QôÏÐ6“ƒòh÷cZU»Kæ´Z䀸•êáÇy3àAÉÈÜ7k "²z5 TˆêãÔXƒF9 aCñ`Bªî²Ìö‰ÊïüôP +<(…¸Â,ÖQ< EHÃ3©£<•úT£EKRG…ʬ)Ùrg¯{;è7±š ùÄÙw0äH‘w «yY +5$1Á;àZòi¦ŠF&pã”‹È ö„Ô ½‡8ÀÁ_dY¨Öü:âXMeç$:¬ì\($ìtÓ +vÖ½â2ì(ldZ +ŒˆŒ;ÐH ç‰PÝË©6Lœ3 íèÒ‰yªv°Û-A,Á‘G±lÙ¸Áâr@2»çu9àˆÜ#;¨:Xthæn9ˆdÀð[]ø\%43 Üå`Có·2A&úéÅî Ì ŠÆ¯‡ƒ>#M„Ï0]ý4G ñ7ã*"Ub‘n™OÕo”AÞæ=£LøUêÃy]n²dE”‰QÆÌ<äZt„ŒŽÑMb0ú:GhY8"‹"vȲfA_ÈâÔ ¢]¼ÒøÕgöáèã±F_«Õƒ² +êÂ_Å^O¼ÎŸù‰Xf~Ay#8~„==úê„ÊCR;]+š_iþL4sb->a]£MQ•Á²‹-?¨\öIV~4Š]kQÓ|biÚ"V‰†(ž¥b¦2“æÜ¼fjj^SèɆþÖåÈ:¡Í:"“ÈvÖ E½RÉ|8J¼Ì)cº‡ŠS"–«áL¶ ˆhFC4CC3£àPgof™fCžqbCC~eŸ‘ÍB¦^‰)óêBº…w£S]”—DÓr&ÃÊß‹Mt™O7²D+­nžÉܱÙ3"Bž‹cf+7 +ÆM †*ŽSf Y&Mʬ9±#5Œ‘šGùØXgmÅç.®Ã KíŒ4ÕhÜb*ö_Øø>_©[¯!3ŽÉŠ›ŽF‰Ï{· +ÚjJ:üš5e•iŠ%t*v:c‹œô´èk aÑlYFDDÊU#"%Y­TÈN&¦§â¦ÁrG†Ûµu˹oÐácûquWÆžÿ[Œ{¡cG¡k +’Vƒ½E+yÅÈdäùéž–Ìt¬p/Çýp<úMo}_p"2 “¯KTÔ²®‰9Œ¯ˆŠ‹õë÷Š©šPÌòMM£^bí­¿š'”MÂ~Â|Ä0ÃóqŒð¥Ÿì}hÍ£ÏÚ…,¢¶b祹ÆA«™  ±Ÿ Ú ­ªŠæ’¢™¿"±6´2ݱLÇíæ%®MøQƒR(è!KL‘ÐÆêP_å«1¢?Wgô“¹‡—Æm.ݯ2Ô0ä…„I!K£E»í†ÌNÄ´e}l0žüÒ¢ŠZ!×Lj#V)NqlÏ/3íW~wŒÅç’…”Tô [áÓ*üøÈb׊­in‘Õà>ó·î¼t)òH8$)Ž‚ žÕŒ©ff<ÚøC{4h‹óV¹1#—ÃâŠÇsº‘ÊPIåwåU™eÚ©–y‘eÚ™åŽu+4Ii:õTÝ‘ÍȤª.õ$qW&óLÐmÆE• +ÙGÆ­Îê–“mÝvA,Õ«oƒ`_Æ;EÕ¹¬XnW¾œ[Ä%œFUÄfy±™¨1/Ÿõ?Ή˜â6Éø“:ù1éÌ2p7î|º‘è"sŽœ%û•ø‰¤¢â°f¸ÖçCTS´¢™f&«X±d¤›ÍÅRÏȤ"ª8ÓÙ.Îc$u ²F¢(v7Qêd¤^vbq^w:˧s)Q¸lØhçÕ‘˜±Ä”dêNXæ˜Ï5¡²ƒ^þ”e\Í™šbxw©Ñ²?›ß~ic=bUçæõbŒM&îœfC¯6Jàl~Lí{›¶ŽZ[K+¥2Û½G”ýš¸Hj3¯-F)ŸÙ'šÌ®©yõ©RÕE« ZÈp41îTF¤«© ÉH7Ö…Ó¹Ñi#æå]KÉHwn"TÖñfDV›E·†S2ª´¦„“…läS!U3§ØÔÌ+ha3f‘¨f¾ÙÂd D|¢±2µ!·J vc²_ßœüQåªç+‰\§ºæ6ë;V||Aú5n–ß„ý dž7™¨–TŠe£HXöì$ÚêQ¯Æ‡ØµŠRCÔü²ŒÇtgfÁÒ\ -È‘ª05’’¡=TM¼‰šús8m3÷´š|3½$¦¤[Z„}‰î†~YŸ…]4šPØiŠöRª ò!§Npõ¸cêB¤/!꣊‹‚bôà +N¦&F©˜Öhqµsz¯j”‘jk$ò„ŽÂ’"‰'ÂŒ%×–2#LJŒY[2ÈIƒ¤¶¥*¡ÆÓ—.Ѫ )\wx씣/³À±'Ë$&V‰n¤¾NUŪ¾£/#цïNbº ßfÞ"’…2ó#e¾ÄB¿_Ec¾½tÕ¦h¯¦^Aʲ ¬˲3™Ñ[­2ÂûÖ#c Íl‚BP99è35¥ÕÔJê\/—¿$üàÝ“›ä¤hËäA>­ª¨U-‡°\.©“Il*“Éô’ +EõTX1Dݧ0D5AEUµ÷û¾ï$f8ìµ"|(»c×4í¶óš¦Mb¨ŠÄBLÅÕB(XFð£ŒÒ ,Ö"µ‘„‘¤&†TUŠRŒP®•̦@Ý%˜\Ã`ºZ†á‡7‡7Tdä`¤*.$$RRòKÛ—BTŠ®4ˆÅra[â×Â0]¥Ò2ü°qm6u˜Z¡>q ‰D"‘NH¤Î˜FÞd$qÍI<Çø•F¦¼1¢åIYc<¾:cÌ6Æ Žd÷b&GÏ3õ`#ꈤI©b¼ÞÙ!Iå>$`büC?b@‡ 1ÂÊ„Yƾ9šI¨Ã, ™·Ãè/H‚Ú0îQHBe“:$³¹0‚&’x +ãýEF‡#)MÂh’$ƒ00+ã``P’p{Áp>ÁNIØy`Lè’$U`„Í$Á ¸7 ]<‰tã;ÿ‚ýNB«ø‹Ú<¤Ïý¢ÒMüz“°»¾a&Éw¾( e|y“0¡4“¨ï½ø;“DÑ^üp’ù«ÙÉ“txZP²ƒy¡f”$>^<Þð‚rQBÄï¢Õ«»8Ä_¶‹•ž±‹¢ÎZ %Ñ¢.(#] ]”ðÆe”ðq!5JâY.Å‚ˆq*â‚´6ÂÅEFIêß•‚½õÊîg[äÖÞ¶ U•¶Ø\)‰K¶ÀRô&N¾µ $¥!?ý6”R‹~§„2§E1jkIüI‹4E ´§„g …ç x¹ìJɯݛE­S3³ÀŸn—Í)áÞ”ÈSYÜÒ”¬kÉÂÉ[úá! ¼¦$;7®tj3 P*9iE,XjJ8dXhG%!„NÉ ²TÁâ“U’€¶A\ _Y%âûŠ“VÉ€îŶ’pä¢í +ÙÒÐVI*¹â|[ ¸bø+¿­¨…,ÉdÈ`´¤f¤-¡XÑ—DnVüd—Ä$+æõ’ÑÄŠ†"ÀŠ{ü%d|¯xö­ÕÁ„BÐYç7ƒ˜¤€AU„1™‹«¢QAtª‚j-½q ¥ŠŽu ­ Šªg¥©¸èñÆj4éŨÈõ4y¨Ø…5™ë£6l"é§8¨Mò±ç&Eè)rðM?ÎgýN´Ä)Þ8NReSt_NR¥)°Ï S2ÅCÔIj`Š®±“€\ +tî„,ÅáIÖ)Ejy’Ч'¼œFsOr’§å“l"Å ÷É@ÂðàýDgG1 ì´Q˜(I2ŠŸHP¢Ë(f…¸(”ä)ŠŸI(4%Šy e4ˆ¢Q„Cqo …ýB±ò¡L0¡èQRÑ¡(µµ,J˜‚â*F¡\ ¹F ˆMG‰âÅtÑG‰ŠŸøiHCŸˆ?R¢ß€­'ð0)ÔÍéPJñÄÿ`Þ +ªZ²ujS'Þ´*Ãz)JäacÊKnB‘ð”Æ‰:LŸp‹I íMÜð© ážÈ¡pŠzgâÑ2;é +TÛCWB4Q›§„p&.ˆŸB31­†›L€*ÚtL¼Î”ùJ(aâ#¥ù—XV¦2o/Ñ©dÙ%^†Îãísèà]m‰0C%(ZâÞ Yâë¨Ê¾¯„¤UÉÔJ|Ff• @Ô¨b¬¡)q)V!”O:¢©TûìOâeXeW; ‡®6ƒ[§c+jkI”’ +ªddIpV«ò³Zq”ÿźN[ÅÄa§%ñ“LŠU’<¬‘Il+•T«HT‹ŸVQ U˜PžUÄ%u_wˆÂUD¦Ë²B¥o¸ +uK¢k³Jn)‰ÓY%hr„V*“$’šU’~óäæV©õF¢ðVÉj‘ør« ‘ØTú†IS ‰ŠY%F‚rr,eí#îaÝ#¦`:«Ä(8òrG|VÙ3áêQŽ8ô1*܈Š®àÒˆø_îœ#EÓf“,¬*¼#Ëÿ"þ¯J»€`ŽmKÈ"VW•Œ­¤ŠJE°ª*¼“"L¨@iR'‚¼øKÄ ìïOÞŽˆvEDˆ©’¬·Ã”ÁTù +ˆPUxº‡xU²¹CÔÞ©ÄË!KsCpŠLCœŒ® %ª0 †X-ƒ qÜ5T!ö +Ñím +Q2Z'DRQ—uÜSB\…*³½w ÿtN…B¢!TÉ6æ³¥ŠnĨS•¼7ˆRÌ ¢ÌUáŒÄd/«`Û*õ1n•ÃËJGZ$Ê*LÜ*úè]…‡üWQfW¬ðNVäKZSm;+Q-ÓŠðZ)ÀÑ+úDÜ +3×Zî§m¥ê\IsAœ)W2Z£¤+ƒâíŠp â¼²| ÂËŽ´0™{…-ÎòŠ,Þ^!u’WÄÚ+•Rìž04%ƒø—ÎÈ«JÇi© +íõ¶Aö»$ÚÓ^!,¯RZc¬eãØiA`‹»ì+YcGz+ªÁ*×å;]_¡Qv®@Õ¿9ñ,þ +—˜nmjÿôWrkA¼ßÜÔ(8øP£È (åÆüÚ >…XA*cgƒøß +2G%t ɶؾTú +žj« ÷WÌA‚(Z›Ïö§@€`ì&( ¼‘(,o`a’¡w°DïcŠo\X<@X„{ÿˆ…ËýáXÅ’`ùCÑŒ%Œû}©L?@óXT~0*²„?àëdáŠû0ZâõáóÊxȘ¥ ]Cï°¦Yò)fB‹ å,Ñ?z¶á= ©~Ç{ȱh ½=MZˆÌvœ–)®‡º¥–쩇WK\éá¾µ =¤÷µDá<üŠcKÆpXA[FMŠg[u<¼!nÉ¡x˜¨n_xhݼ%1<¾ +.å·ôç;\Tá®1\f=w(§¸äwx两¾v˜“‘OÎø–ËÿÙAnsY)v0êç’ãu89¤K´hQ@¬ƒµ.ñ£± «4VÚ%¯H‡Žh—PD„· »tبD©gúwIÃsx^Fzñ›Ã¨™—E~Æ(zÙu9`®^ø‰Ñ^˜+½¾&ºÆ—LÈáABn·ôWë¹¾xç¿¬à— ¡½è—Bäü…jí ­à_ò£ì¥˜~ a)`t› Ì~CuUñ ?½a=ÁÌñÝP“LÕ¶¾f×<$ƒ-)ðšK%Lj·auÙ†6&›ÚðÄ. Úpy†™¼lè‡IwlxÄz˜ü… ³ƒ˜¹1 Bs%~µ†Ù¾Ö€CÅ0Öp°˜ü°ú¸˜Ð§\ÀÔF —3%Ê +ôŠ˜Dš†{n ›n9¦D¥!æŽÉBÀ÷Æ ÿ2é’)d¢F4zÛPd¤.Û²3”d°u†Sâ ƒ]2ëÙ r›Lšáá'|̰)3íËŽÊ$jþµ2iV†ic™áQ†°±eRK’p]f’A†_&ëáà0÷c¸Cf†êÒef"6†CÒLäè53f‹¡žm&-Åpý›IHbø!g¦1´”΄7 ÇÛ™`†yfÚn{FZÂ0oŸYí`PóÏô`¦õó@³£Ú˜|x‚Ðä`ÈdhÂù ÑðVV4ìøvœFSÙ½sFN½03ÒŒ,/ž4A ÷‚¥I×N»þ^ZHšTéæ4,;6|š4” CMhqÝ£†ŠìbjÐx ¯ -ßZzLƒw˜-Ô¨i’»¾òjx©ÆkÆ—âΚˆÐÂ#»Ö¤% \³p…p²ÐK×péXx1¯In›_©fHíZX`lx6qcfƒ`›ìw…ÁͲ¹‚e“M³©èVhLÎ&ž{W¡®¯K›ì`…”j“€«ÀïÚp¿*LËl“éÝ5îËÛf~§Bí6K…÷ÅÛ°rz:€=%„ +ÅMz<ÙžÜá$,è§ÜdÑΛÕ/£L7ù*…s’ô×Càn™~šgćÆEuˆÉ›à…{¤7,…u{3ñC¡_Òð-ò ùBaH°ƒ¾}“.Px×~ÃÍŸ0üߌÉ'ÔœPzÂõœèï„O¦Rmpá$3'$°ÂÉ '@i8¼Ü„S'3lBg#Nì4öÄañL8`q+ò9ÆIÈ`E³q®j˜B'h0a©Òйö£—ðPG { x 9‡€8”Û~ä —–ðp5 ©%¤…%\+áô)¡jÈa3J˜ñÈÉÅ“PŸIÈSI ³zH”KNÛíàgY=PNºCÂZê +ZÚð#ä>91zàžŽÖ®]B3UŠ#ÄžœP6Âõ§jh„/,gú¡–Ë ù"\°0'Òa»ÌgEˆ§9YQ„«¹9‰èrNÍL„°“‰€ÝžÃuˆ°úçdø!ô:é:hEtø(mz¤SaK'¯é”ÜŠ>`yŽ:j4T§1ß©óžvÕaB†à…uûj.,¢ë¨ý:œÃŽ^vÈ7Ôq á?³“‚.Ú)¯vŽ÷´.)[o'§‰ã+ë¸èŽ «v§j5ÞIè±wªË¢Õw2ÒB*ÿ P{7tr2º‡ ݃GJ áëàÙF›¼ðÔO@<™,„'R<–Æxä;³r<óÐÚÆ‘6ÇC_²Èòp÷ —ð¸zRÎo·žpñÁ‚Àž¹”ìä=¸K{F‹w¦ÙöÀ ꢧ´0ìIŽXA¤Ç,Æ>,Ò!¢J°@b«¯ðÙ,F¤+zÐ}æ (Åœy Õ¨¬ ³«’v™Ð¶hú®ñÎkÄ<àWÄw“Žy@³YÎÏàyYWo¿ ðx°ç“ ½n1ÃD›ƒV*êôDPp‘Dù·îaŸ±i~fƒï»^¿ªdô4-i~q_ÃcëwÀK W0€øÀÔc|¤¡þwû°'VqÊd¿& 1ÿÊ ¿Ýi¦8¡I6Yðùhgn`±×®[Œ\ÇE‡ù kT\}Jñ ÊGÒæ9#Âë;X”cNÀ¦ û–³òKÔ ðÙ± ©$ügW@ CÚ÷+k÷ÁD“ÍmnBÎ}˜![Å?%sí ã@«Ÿ>Y–×Öʨ³6©oVª¬ˆ BŒ€yF±¨ìÉæ>ÆA¼ñ½×¤H¬ÝÁBþ>$DƒÑ,ÔChg->š*ÔA‹-×^ )€ë«/E°°v%.Áa†Ðõ^±W‹N…'¹ªÓSLT&@hôƒNóÀTb®J§lhËÑl7üèÀb»È4M§âÎHâ+)mŽSî,Ê®qð·sÿ ~(Ñ;!¨&&ÑA½Ùg:a{¨‹¢ð0Z~%:x¸’±U°2U&ѬŸ—Ñã6™èÀøÆ&!ð¼v$·[ÓŒš +O O­d[ð9Úzèv \«¡ 0œ Zhj+VE0×Dse/Í;_1%,Ü:ÖŠÓ«Åú…YðnQÕ©•tÕE^‚ÇãA×j=«Î³œÂ¥æMf?e‘…“_ë +ŽY¢«Ê‰]‡UmÈÑLéb¯=ãžZ3ËPœQH‚íû€qî•8$ÐiM¯Æ³U\!ÿ|Ë7ƒc;b®ù£rCÁv žo12‚O¤—ň—3-‚à”¸ä·Qe”ŠÅAÄ DFcÔñC Úû@Q* +‡ jž›"È>–z{!€5L‡ñFdB€¯’uÖGî 0‡˲1-踄‚€°xÓ2&»ŽãY<”‚è\è‹JX5ªÎq;´nƒÑäðüÅz²*øy«n8$é8ÐzN¦Ã|$Ê·¼l+Ÿó¡Â«2;Ax!âk=ÙRa°1&ÌQðºJ›°Ü¡²Ód;u*§Lv }ùÇÐílo3ÔBuRm‡fŸï_•k<=?8`-¼9Í©(~äwOœK8†ÍV…œWáþ2ï ˆ›>‡FÇLr} +‰ (/WÈi¥÷Ä“\¢ °9'ïG+et¨W•íèt2аM‰èƒ|˜mJæc“º‹gÁkR¾3ÛËËÄ Àå/™À7âÙ†ƒ)e Ü‘¶À‘-¥Ýp.RpA-¼*‰†7RnÐohhŠÀÁëðbðêHÐÅÆ­}ˆ<ÉX|NU°/k³mo-rXꃌ²ex¥a:TT¨—[#£b9Àw¬À“ªFÃ{:áªú¹Ñtäq½\iJ‡±ò]Ë9? Q`<ŽiB j||'Än'IY̽º™¹cKØ80ò‹éu8_NÉJ`¤‚/@6ºž @ÀÐ Ñvç,Àkðøé·ñe {|HíV%6_î)”2ð™ËrϽ:u +h=Î8§o ObFWøÒ¨.`ÛÚ¼|‘«@X~a‰ï}p\å5ÖdÒ›‡Äò%`†i¬¹£ÑvåßÀé›`Ìdž5­€2w„N¿oÅýŽYO,n Ïs!"ó_C®ðˆ++ï¢Ä F’ÇjS>À{¼ÆrvEÖÁÁ)§¬Ã @çl7;ÏúY€TQmN‚ îÌ³ÔøÐkƒç–"\@PªMmCLÀ™“t¡@¸Ø74 K¼yãçH ðš®ý©e +Ïæ\Ær·”›ðhne…4ÌÛ§ g¿">¤ÀÀÉ™Ç.°\œ µÊb.ŽtQ—º–ˆÐ(%ŠY¢É  áÉ2ÿœ™¸æ€;"´ÅÍ‘·2{´ @>î ½à¥À¼øe&%ˆ×Ó·üÃS=”kqò»­m•ܸº=räsȵâA®»Á¸ 8ó#--”¦ÿ¤*6&*\ÓŠ•Àå¼t1-$¶mj(j0þ”ðµ€ç,øÊOýœhC€ëïN¹Rw(áE_6<D%€tJ±'#€/+gVtÐ4;°Ÿˆß°0þ>á\ଈ’R¹ÿ&t:ZîÿÉqbö:Ñî¼ÿKûpP +>xÔÀ¸+hÿï¥Á}:žÚþ‡‹v˜ ™P•ü?Õ<èËPÄñ¢ýW…7jä!í¿õ +_JªX9â¤ý_*Æ ’CxŠö¶z cÖ‡0•BµÿäfËŒÆÒÙÿÅCößÄAvP´É꡽FÆ»ÝÇÿüLBMƒH¨ïŸ&Lz+œøþ†±á¢… +ùTòý;Æ‚²Gù¾ÿµÏ*‚FVþqÓþßyË…@fYý—žÜÂê‚ä€ÛiÄ… ú/³¨,¹=ó/Ú'gŠÈ¿ôÀ&“ +õ‚Fè ø†¡zc#ºóŒ-%®ïofŠ$4s×¾[A uî&‰³Ž³á¢ýuoJáÉW´Ëù$Ž†Ã + ÐqùõoøÞ:Ôøó Ÿë•TÒ V0XL×+ no"üý¹î(vEïøú.µnþ2d?œ¿ä”yhc»Ûzùwÿ¨ +òþ˜üu¢v¼c0ž:þÞè7"Ì$HÿäÅ ßú¾gW¤ßR”ÎøÓʘZÏÛPL,p&áÓQÞ~áý¹JJCX1>ûÿWkÞ~&jùj/ÔŒùFf?CyYö£\d =Zð—P"·®_Å’f ë÷Uªäì’ÐKõ_þK…ȸí.õÃ'jÀ£HzYÏé‡K¿I‡ay©9úOJåèWC’@Š|Í% ý}4k"[`]–ÏoRo:çõGÿò×Kó[,‚ªŽÃ0ó㉚6˜ɽ7íñ´ÂÆ•ÜÉgä%mmw´ÈOíEã³–>?}Í ‰hBq™ñ×àÒ¸*?Õ×¹Ún.„ÿTˆ>ÔK¢LéÒ鼡ìÕúí#ìàuÿBÎÙ§!éªÀßš: •[ü}cêß|Ÿ¹Vcø ¢†ÔÓ«ðþõ—·0£v¿Ü"K&”¨.Ÿû’nd5â†Dâ}´¶>>gw-<“ ­Þ¾f?Z2`m߫׸ª}×^ž= ÚZG¬ü(½0Ú2´?KšÄ;tª‚Äì×¶J#ü` òûú=ÅQÕnØ¿HdΟ}ý(ˆßt}­ +«cñNïa­?—D‹½Bëç:H6ËeÊêïØÎ„¾IšÑ®ÕÏÅxÜCCê¿u^å*dãÆþé‹R{T5UÎ6}ÙÔ¶¥.K<2QÏ4á(‘ôu:§Ö‡ÉjAÐcoô¯w.J¥yŒD?£“3[Ï–è× +W™–$$ôþQJÑÅ}ËÀÉJ·CtÏWB¶ÂúR²É/­×³¸¨é–Ê–óÛTÄ‚øäæ º2©¤l' æ[ê>ü‡ÂËüÄ=³qÞgQŸE0æ_b6€/-—o›SÔâ6—ÿ`Õa n@H.ù:ƒÈÜ64å÷©@ã›\ùªV÷}4o£VRš51à‹éʧ•®l­tÄtå—>Í˵¸ò¹¯%u—ò%ˆ‡J¯¢”ò³Ò…m<ôPÊoŸà5[ƒ,lC[•ò—òAÓ# ¯ôöázó K`–3ªÔÊÉ/Ö£Kðääwú@7³Öz +9ùñª7·¿›k;ÊÎÉ¿MæLpò¹Ÿâj@Ê8‡ž}Nþ,sq\QQªÆÉçJlYž7ùæ×¿(›ü¬o3D®Hï’M>ç¼44¶ö`Sâw/ †;‚"LG6vëåÈ2 éYƒ +cˆ)xxÇ7×åæv㯿‚6”O_¾ªoa4ÂÆÅG!VûóŒv5ÔÊù +%„÷hw[iÄ\-FÞT;ج)¿lÎ&•z)]1|øeb#gÙ‹0ãŠDû; ð{¹U^°Z„Q÷lüî ³D Íný7ð+Œð øp^jr™õ÷ØŠ F•éïoÄ &T#>õñûôÎ’;š†r@ßßøÓŒ—(ŒÿÞG åèC#[5&ò¸ ²˜®tSu›÷€ÇÎTPØ©Aeb˜Ù£›™Ä»—;p1êp0»§Áü‹žKñÔ}‘ß”kÐýY=PØ¿fæQâxRì9sl•ó¹ÝÇ+=îƒá»Ôî¯Êƒ^5Gý³ÎËÍù ûö{€Û&O·'fŦ< +¨èµ}mæ ØþU¹|n õ ¬ý³Ôô‡¼™2ÿ´§sª¤ä.IöHr3"¢þmÝlôô,ê¡ÙOËKƒº™±ŠvVökŸe#H‹Š"ûùðU†lrªŒ½¥jg<¬….bï~*¸¤8?ÊÁ~²=Og}äFÁ ò×÷]ÄëõuåšÞÃÚ•Vìz™3ÀÌ€)ƒÇõ¤³ñLá hëS‘56}¥Æ˜{´^ó¢ 0]·ÕÊJÖoWxŒ¼¤<XÙ"fê¼éâ­~¹ €o<üí>W}ûǼE/ ‡JõÎ{n÷Ëvç÷íÔs]7¦žËSê›±´ ý‹ú®R,<L õ¬v'•±–òô<8ýXÓ]är©éEšh³&% ãWॷÀîNyÑc®ÒþçWØÊ½9ĤïˆàS"Eý["½¹,…vî†Gÿub­¦,XE!>Šº•Ù)f\Ñ „ ÏTDô*@‘sÂÐÓ•Ã#Ýè– À0ó š“lkÿPÅèIl„¶ÊÀÀ)ØÍñÒßéó€&z®Ùó¢´ÖÁàmnÔ~Ûð½†@ Ÿ ºi°­¦Z„sáÃeäy8‘ÂJ,9€Géäa‘„w\zöÆ"œ+ +³ùjnð!;<`ˆ+—]íyûÙô¼R‚Ë⥅kŽlBü¢˃xs'ðÎ)^ÞÉ +øÄk´]røFçz±R÷TüûbˆGk›…ßïmË8ûôÓ`]ñ ]#ø”ÕÝwúþÄ 8õÊð›(’ù:„¸jùît¤"¬.Ú"|·gàD$„ð½•LªÜ-éͽ«m­Ï”p{Wòi›ÚDXê]г–XÛôzï)4;óNŸÄp¥¢T*tc§tx¿Vt ¤hîw'íÉ=KùSw·Ij=EvwÆîáâSÍþ s»Óä ÆÁÑ€àAÜ™*‘ewÍ/^ +€ëžÂ Ùåñ{ÂKbïüŽ\…ä¤ûg|Ûä ,>Фµg5Ð=¦D¢ˆ8ÀY+ÞÜщáwè2ªËýépYMš*¹k@O@÷üâ-­gÌ*ØÝDfr‰;`‡¯ä³“Ï„{J]—(ù¡Gÿwïa€!uÕ¹·K/F1 @ŠçÐ|KÙ8¦{6·×øºšÂW€LÔm7õH†K»Ú,ÓvJ-eæØªÓöÃÑ©Y6§”íŸSNlÉŵ7¡£j?úä«}‰_CCÕÎF›˜=ω€9Ç]õÀvÄ7Tæ‰ í#ÞåÏ}v·àò:Ñ »ÚaЫœ×ìh¦*ÝøX9‹Ù‹ËÒû Š˜]þ½W´1 ‹E–] Çžâe?Qƒ;"¦®$:²³Ñ¸¸2‘! »ëÑ6í‡Åoì¤fnçRÌzž.Á×Å>ðÑÔø|PubŸÁ/uiÕ‚xØqc½oí*©S·TTØ¡B4,ƒÔ/ì{ž‚ýÜ)¹–]) +`/N Ýj2rSÍ}]éAB ä•‘{RFÒ¼™YK´ô°äõ¦ƒ«Ö{õ`»®¨p}7u -]gã‘×2]äYyÊ!Ðr}ê² h¶»žà:²‘›ùlÐn½)U€úµ^^‹}å@UÂ@)_¸#ÒkrÝYPZ<þ9¡¬;! ;…ÅzIšXÔ® ëí—nòzëC·‡I;~^Äu7ü- Wÿœ° +++Ñê@»“UûUoíZj9_‚¬ê•­I°4ÕÐÙ-žH -þ®¯½S÷5¡¡K¨alÈÔ +/p.'xˆ9—Ý> =þb?H+@ç/.ZÅ TíÍúÅYá‚v…\³‚¼°àL§B-ا+Í“%O+_?¾ô» z Äg_Ø«y¬éÜÐÖr°ÜLŸ^é Ó묺i`ÖoÞô‚wÔf½Ò³hîEPSz¬B°¹”?º>DîI/£t)é:!)Ê"½"«¼Î‘Esu Ý£8Jš1غ£“‡¯yø/ùmtá%@“º«g'£ç[µÂq?˜ý›ú7ŠÎN©B¢w§àƺïæþC×,(JNºð‚yyf¡»m‹ŒÐ§=…ä 0'™‘[ƒN*Þ/ +Ç‹ÿ^f=&“ çXhúo¸Zü16ýþç$öõ ß7ØÏÛØ^=+£LèÚç lýg#Ð>§¦>’Sžèéäó¬>Røšî½ ¬Éî‚þyP–ÑóD¥´ÍÊÒ Žñw^Ýk"çwŽ}xn˜&òœÖ׆½¶.£Ç‹<× ‹XòœÚGßLPÜäùXG©²ô<;¯ÍHzî<³×c×a“çýâ8Èð"Q½“Ésàtc'y¾P«M+9¹Óä¹¼Z™]­ä¹­|Jý”|ÉsÂÊ«`ÉóV½§j_È’çPð vòü‹`Õ9C8Ð +]3Ù"àùC1 ,­%˜üv¾Jzÿr;Xdʽ~;§Çá˜ø¤¿Û9f/1¸Îý×—ô€(€è•ν*­_b•͹m1x¯.”’ó’#»yä}1ÆÄyFg`o…€ó̇)r_ànžбc.fh¡‘Û<ÚáÈÇG²yt‰'6^4×|R¥Uïã¾KSHËÔüóÙ½:Ã[i.;[ÍÐ%Œ Yn5úG0œ9`"‰ ¨ +¿Ì;2-HDÜdÞùhUi]sCp¦Šš˜K‹ŸCºÇ;¦ÆŒñHè"0ß4·£¸æÝÎ ŽéÄŒ!¾œˆô–díòòÎÃ(8E.gÝ'¥]^*Þm;ÃḬ́´Ü1{è…W&Ë[eô<ËŒa$U‡fúÌ­­âÙV‘v»Êa¬§—(Sy‹2pÀ ‘NùŠUHêÑ®ëGŒ/ø-ÊåcÛô÷Ay~ú02S+ƒ'ßI‘Ïc„â°þM¾d™DJ'E–É›xµ•§œÞjc´}µ)¹RÓ Ù”i%¹é+&‹I È$oßä:§il1޼,h%°Äó"ï$¦™j7xŸj"ïg¾ˆcV#?tÈ‹n4µC’`<P¢QÈ;–Â-cÀÏé‚|<¡i{D9èüÇ¢í*Xç! ç%6&Ÿ +Èo2Ó@pšíéæÚ±Â=>ÞÄF¼f>|6¹ªŸ6ÏãaÙË‘,%Ýñþó÷´£Ž™ŠTŽG€§ŠœIqÉ´VèŸdúº*ÁqœwÃÊG&êŒý5QÁq{ ¶÷ˆ+Ç·*m†í”88.ŸITžHp†ë³z†Ç9þÛb"µ ¬¬Ç|ˆ ê•4nùÀ’]üø0U2Î û'Æyúõz` `|ÿ…QvÚ >šŽÞÅ_r˜a³c—v‹kA‹Req´Š^ÿ³ü„åÄ,ý!\ܳNÅÏ`Bhb³®µTŠç = +ìš ¸F½u)œ8ºÒ^u/ñuí2¹ª&ñÿÀqS¬ Õïg¶ Pøjø”‰‡=4¦´ö⫪úÊ ÏÌX‘åößøŽÅì‹dè;ܶŠcÎ4çcÈ­·9œ·.çà0‡Të äTY^…¼P7Ü¡@•jKÇ Ôðlˆô­ï(Pex¯³L"„žrÁðÿrð¹ž±š —²<{Õ=^áÈN¢$¿ëQ˜Â£4é ¯sâ"'–_^¢Ú*º†þUÿ(Us*[.Â[ÅŸó‚a± |‹lù¥­Î*.ÇGqè!„~‘ZÜô ^Ml窼àÕ:K ¼Ü"ÈŠ³ +^uÁ29ÁÕEÉà¸Îg 7³òÀ›Ž×™x8™Ð~Ø “08Rh‡r 1'\w’'gÁIþd¿„™d–Ÿðàê¶¾®|œùÜ‘ ®ÊI®n¦`BnÃ5û·â$hr1쬻¿OÊÞß°ÛS˜+ið4W«ÇS¿ y†î÷•A +è~#јŠ9±ÓC}ÁŸ‚,¿KM3BJw5LSó¾ƒê”ð{j~D-ô”¤ûÖªcúé›M˜É¥ “„@áùÆ Eä´C•õ¿…xãÔÆ÷Ø-y| ‡„œkïßÞs|Ûž{ÚÊ-^½÷:5ÌÀ’1îÍKé+­4R´wF‡øS´ñ‡¯÷¤ðÙÆjõžC¨É,M¦oz7Ñ…tûªBô¾2"Øw ÄÆ?®ªc0ŽeÞwð¨BNdáÂf+å-ÂpÃr_>1j±yèŠÎ*2¹xsåç…Ãäy‘&px‡659˜é¡àíwt%œ§^-~÷š·jÞ}Ó?øg´ÔÝŠ? _=!àåÂÝ_Ê üÅ©W¶û1ÐõÙnXÝ ‡©~?»µµbɯ$bìN¨V&Œ<‚&ø^7tÅ­»ßrµê¦åœŠ4;ñ)¨;6DY3‚ ¹i§mÔaº UK>ñE¥fãÑ=¯ŒºsyRj#&rbùÜøŽšq_ößœ»˜ ‡p Š™kn»@pñM Ò€˜…aÁ@Ÿå®MÝ'w]×½f&­a`ÀóÝòtäpò}ÜP3)`PãÞ{Â+¦ïÀª±¸Š˜ w#nüž³¾-Š5Ü[»fô2ИH„;/µS!ï Ÿ„à–Äü™˜ 8þíIÞ¿=œìT}›)³Föv;þºWŽ· ‹'è4ƒrí6Cƒ—Äç¤èvÊhõöÀ‡“Û$Åкu?AÓpÛyC|7‰·í¡SL­°jz®í¾­%8yNìZÚβ<ëÂÙ²¾‘~õ“mi6¸›~²]FCÂ=Fº7fòp±mæIƒ Å-ØÞšÑÌ^qX^[G“€Gg” ׆àx“ß;kKUmJ{vm[\"5ÂöyÚŸþ@¿¥¶ád‰ ï£jÛæLAä´W&„í*$Ô0mBùѯ'l‡'mi£,ömñmta¢mÑÅ/iÊs² e£ ív­b¬ŽÞ +´k¿OÜu#Ÿ=K† ¶TbôÎÖj÷l™³Ó©¾»›Í¾’ 5»¢”üÃ^B¶ÌÎS$Ÿ…Ùb’s¹—ýã³\¶@X–®(sË~+œ m‚êñ”-96¿  GÓ“Íê3£VX>ƒ@5ŒªE¶N èœÒ0dP‹Yöåä7ÛÑÇP\®”ÅŒ]ÈR ÄU÷9M]lŸÀ6>qP±u¡g‰]ËòóXÆKì™ šü--¬ bGVzðBöjÏŠnCcAâ…6æ¡dѹ {SMu°Ó‚¦ÍÆgq˜‚­_~2½…”‹€öÌ­ýxŒb†IG7¡SUÝRo0äýõ‡õCé†Z~çQ"ñ8ô5ëÈtj†ÂGô½žY×RŠÖëŽÜÁ”Ú¼«q„ÃðšÚ!¯ƒqlsrõ¡Ow ›rðo>ÞBìº ñ׬£­fA-×PÐÚ +ásÝ$Þp*ŸŠ8l¹VN0„Xž×Pƒ:® ¨°F©Âpx+\#= ™¿.ã[s|xð8‘1·ÎG79X]¥¶¾È£ÿ§™!ÁÖ¢ág‹Á¤«5(M­išáÌÔMëômá¢6Ó–mˆh­¨Q(uFéük F¬ö@ÖqÓA€Ÿ¬éÓ–GA‰ëØÆI±ñŠujÏç>†Ôãΰ†¬ûêDg`©b» €ü%ѱ¾š'|ùãÕ#Ô’¢ÐÕÝhZÓÕJÅPF(êµWï_Ã+r­•Íy­‹­Þï)9Øé¹dzzÞ-›þû½Õˆœ Û¶Za Ý«‡•ýá/ñR<­šcfÑøj‰ªš…£Ù±Pµ H1øÖWŽ©VðbQ†_Ÿ»\Gõ>+/h‚ÙPÝßI¢˜O}ά~圆±³Ï©m"@=­+QM­Ïù°bêo<K6 +;™,uÊ?Æ(`LQ +¥³=!åÞ‘º!ìÆñ|Ô§ïnu˜kÔZ+0uÆê€Xe•DÍRæG ×PGgLÝÙ€PSŽ^ëîJKCè9PÏú¨qXZ•ø§;?jK¬ú4ò!™ žãÈS’=MÎ,æ¿y4žV¶Ë¢3¾‘DåN7*íÈŽàÙoRÌVN—óìIdJîôk™)³†q§Ë£×Q¶;Ó‰õˆ¶¥G1Æ`~ûQð[ÄyÐ'ƒÔ-fô!]^ç…õxH1À +ŸŠ‘F!!BÒ9·È*©™_Q†l¼§1“n\•‚áI‹-|¹FégÕØOi—tòŠ+ÅÏY VéìÎWú8ã=¡¥,]d\J8ñ\jÛìì-­¡•èЦ[ú1-ë–âSç»Ôp=0E3³61Ï3Zx.™z~§J›)GOð® ‘¦>´ãP”VЍ×~›Ê(;dÌÐ#Sñf—ä”_TŽ'ùÒq¸Pجg… §²ºº¼|åj.æµ=ÕÿWcŸò,±tšÖÜßo–š¿5 ¨«è–õ‚Áÿ¬5Ô3¼gefˆÊBJ*ªµ™­w¦Qß§ô¨ìªÒEd¤Âà“J•»o,Õ–”$LÝr5uë`é9µ®i/Fª UJ‹‡uTŸŠ\ª4§U§6qÕ©ªI~­‘U?t1杖·¢±z&+†f5;NlµŠ…Žyû +¿S5¦ôVI]6PÎÕì ívèͳcý‰V34·ø¿úÞÛA«<ÕgÒˆõ“Ü=­±ÂÀ|d…ûuBdY§X¦E¸Š¼|VÕiààh=tÓljýe­:áB" q Ù0Rna! Z“N=ÝEιÛi‹W*oõ%C5 ‘^û6ØMƒì¿51¸©l‹¼ä +á¢9}2h¸|â·nÄ…Nü"W9 Æuö_L,ÊY4¼¹¯É ”ë{Q” Â0ÂÀäÓdÜ*Ó\Ñk/;I¿.çšëP”=·rÂÎA÷rÂ]¦-=NºULˆÓÝ,SwÃWw¿Ú›Àuq6»,Ø=°.hEe÷hÚ…]Ã$¥Éí^X¼Ë]ÀBŸ»N×dØÜ»À D=Èò©&#á çTˆ“xñ à&ï?B|$¯•ÍL8-ï™mÞƒüÒÇz=æ!#½K†jªÔkE†uÂSêÖ; AÀNöΠïÂ÷‘Ô½Tü'ÐïEâ£Ø _6Sqò…Ðø™ïË#ÅXE_V_¦€vi_—¤£÷e‘i7oüA`Q‡ó$£ï±_=H’ð÷¾òê¯sã,æßpþ÷­=ÝØFÏRóÔXeÀûQE?˜Xoâ´'Ö"aÃ%'[ãŽøXCp{†Ü¹ÄV0›û°ÄF~½\°Áñ‚‹Uç6jÖ3¸;1q_Jp…²x0♈aw°"ü²tÖJ˜µÔ&(øU¨ðvô¹&ÔÇba66[ÍÐO]˜lÁ"Â0\‚QEÌð¬&Ò¶ úº‘àÂroX¼vXÎalD"ÆDpQžÀ‹Ò@ŒIÛdâ0Ä£†ŠÁ¸Ôž>¶Ä¿¤¶.ÒÃöˆñÄR¸(ülÍbâ”Nüí£>Žœ™ŽY¯Vß«bRÉݦ¼b‡ÿ“rw>#q‚‹?6'/Ö:ë_0þ~ë2äëÃ(Eö9£ñl&cX ÆÌ£Y‹ÕYcA£7š Â録§ÐÜÆŸ±‹>Ö•ncEFZ +lŽ[¸ñ§Í…pó>G7ž‘ò–·­ê×ø t©ú¹äU;k¼7PÁ—‡×¸ËLŒbSöi¢Dßkl@Ž­Ll\PkD³¡„Ù©ž³ØøCP$BÁÆ5éÝ™All5¶ ¬¢GŸ¾`ã·ëѼö…û?ØN.4ï³×쫇e=»Cׂ%ñV|Õà®16­0Ç&©ä{lG–BJ“k,e q–Ù®q=Jâ¸^bõA]ãþ•µc×x`h·‡¢æ¢Î5®XjK/%ØÈ–V°4fÆT\œ4†\…+Z~pKÃ|œU#óHÃГÆ5Ä ;Ž—"õ™$rQÊ T{µÙ°Žâ {¨Ê–Y7\Ø—ÊGùDoÆ43s¨m³‹Ðq`‰v²:<fôôfüîá A‚¶h1_˜’²³@j½%Ó¥Y36ÑRÿ» iÆas˜CˆC3¾/ÕþÐãÈ85Ѽƚº½„s'8–Œ¥ï¼[r±¢X”y(±ÈX½KŸÀfÉØÏ¢û b¼pýafëˆ1ŒZEÆJ«~óÃØDAC›ÃÈÀœa,å¸/Œã>yþTA³…>yÆÂR÷~½Ìb‡4Å{t|2y±0ã ÷bYò6r±ùÊ…ú¥ÖÊ äbZL`u·.ry®„jC‹½Éš3í¡Å²Õš?‹ [À牡Ū–ôþ*óäh7£‡A†' ðx'9-1ZlNÆ÷0h±wb.a,Z<-‘¬\üƒ~_‹Î¾\üà¡åâÅ ò!qº\”ñŶK€ýDÔåPËOoÊÏÆÙ v•C(|1(¨ dâ‹áÇŠ/^bÀ¾×ªò¦‹Û£+v1]|‰•ÐX/W/®œ}Í.T±“ešfœH^˜Ü«oR-ÎcËj1[`ìÚ±›É´ +® 2TZì”|^.vZÜÍ:?¿›D?t®‚ÉÅBÍ/a?ï]¹Ø|0³d‹\Œö|g^\.>›˜g¸˜Hcot§>-®+å­¾ Å‹ó“÷õ1ˆ´xtu†ÓåÐJZ€QZü”7aB£ÅRûeZü54©“l,/Á¾Pæ*Ž °ÉµÚ^Å–mwa_ïaW1FLÉÙ«X%×6å*Îa-`®â6&:¿Š$+ÊFÉ÷ç*¦zX,nYTvéÿƒÅGu -ò3&´Jæ2 oYKêÓJÃâšzÙ ¼¡W…ÅÆª»3æ%ãañ#0´dÉ=›1,Æ(‘U!,fcmX,ΜiÔí±8Ь·;f,¶Š%áCcñr:bXeW+®£ÜÏÕäqäxc9©À­ÕZ±­…¸‹©TÍëÔÑKX@l¸·¨•—ÝX|¬d‹µ@æåNr¬ÖbÂ'žX¼¤ ɯzE™ÏDð„ $ˆVYh/è<‚Z@ÝÄ“E¢b±yƒÈ¬ÀµOUÑÅû¨èo_|rE'Ãxw ÷þÿ R1c"TŽA4†]ã^wó§ÌŽxœ½2Q û!t€ìÑéhÜòd?sífuˆ¢1È¡ü³/C+ Ç¯ð›hl$Œaä‘ÙɈÆ3h¤Ú…õ B›½Äè°æ fµZ}†>mŠsõíq%ÌÉCÑcƵ?y²4tç)ØàÀÍÍÇx³è· æÇ8¦é¨ÊËô5­ì4â1&+-`ã¯ÒÙ9/c¥e¼¼U c4¤Æ|j-dãXÓÁs,ëÍec#5Ëo7NÒÚÌÄqäà|Í1CùëxœÕtH´Róè;ÖY.îÐã Ãݼú1 ÷A +ßï)e…ÕhÐèxû¼ŽSŠn  &艬nlÍOÊãEÅwH)©Õa!Zƒä`(É'zͦde¶ðžK½eò››LÒyðdNU?(OEQþÕ&e·MyçÊlø¤2¯gšæ˜Ç•wžÊP–˨Êa3ËW•g¦£5q‹q߮騌®–¹\~!ò»¼2;p¤ä‰ä„/whxyÀ̘Ä# +óvA¾ðóMÌi0=ÇìÈ%3Ì&Œw»Hæ2ÿj' ÜÌø…æXö@wiÆŒ6 ­SSŽé9a¯™‹¾”gsm´'?™b àæ;M:XÞl +ηd³•¼óf.bîÍ'7w·šénû˜_g £`&Õ'ÜYRÀ¦w!ÁsRZËóÖ÷¶…z†èž9ñ3اùü(Ÿ—© c¯-DtÈžø(‘{¶äŠü멲Œ&ŽãAU¥F©{΂ÊÞ÷MKtlê¹éÝ3$£Ú“Ì6ݳ];°d™)꙲âAY=ÿ¢† ‘÷Ààùœ=ÈÏT¤Õ«þ\K™ÉŸ7N…J;c“?=Õ1“¾ öcdþPYÒðçýÐ Ö¿ÁŸÁ"ökáÏ—¢•âÏŠš9ˆ­°ü'Ô©t‰»mRÀzJ˜©?ËT‡Ë´Ýysٟű«Î›Z€±GÖó¬ÂŠ­Œþ¬›Å»ºe³gzê„&ÖHöЈ®\@Aà‰ƒ3%h$ü' ÓÔ¡½cÞL¼ÆË ÝcÍ =@[<®¨ÆÚí¡—&7 ë•¶ŽÐk•ñ´f'f!•A£+0 4Í¥mG½@k'ûÒ)´°'V]Ú aãE²*8š ôö[&Õ+ ´¥F5ƒÔÃù—1HÖùhd”•›Ú¥@kžúõ?4qád2Ð3ØYL€ïÂPôÅÀ¢ÕÒA«Ô›F ÷íLMÑv‡}FôâÍÔ!Ðí²ʧÅçC ÇýÑT#裋ä+ëø\U9¬A»]›]àVË5èå3ÌlaHçwv¬F>p½azvG1Ô¥,óàß ÷u, ý…ùp®¥ºA÷Ö”w+EÖeƒV¡¯ôM_á ¬ÔIèÏZh’‹zº‘cÃÍs¦hÆðˆ¢_LíZ´nÞ +£íÕ»ŠÖ- i¾“- »:Z–cDùÑ|HBóÒ!õŽ©s’I/ÖhFyù²J§ÑÒo!¼V¨ÕK£ Ÿ–é‹„ˆ~¦ƒ^c„Øô <œÆT²Õ]çé0È傟~ êaw†HuÐ-ÙÛ¢Ž(ßGMy^ÀôK§ó©%Srj©I† ªÿ•ê”ê=ÀßLÕLФ¤9¯]Vׇ[½8—›ÝଷY„W®Ž&Cjå5¾ÓÁ$ëÙ‘Ü1ù¿YkGþØ`:£usZÀ°Ö7;5¯­{èZùÖ§ÖsŽëÐ1è:Dæ×Ù5^]˜ç;¶ÅòõÚ¥ýøÑ×D¢˜+å&µ­3°$–?ذX8Ö$êfÃæR]½ا–ˆ ·Û·bÛ=6™Æn…„n·.ô„bØDе°3^ýñ ÜâÉæ%ÍÐò…Ta£fë/Ôšr¶ælÑéÉgKF!îýÍødÓíÏ À¥M__ÆPAíõ¢ÚàÌЩ®Ý[Öíl>Ü„Ç~mOæÉ" ¿ükÙfþ;PFÛWI¶±á0àm'Çøò + í@'KÐr<Ûªï(™®€&ÏöWý ºÏ6Q'å¶5IÜGÐvKBv +mÿ†êÓIW¬´=û¸ö“[ +¾ó‰YÅz€¶¥ë,AÛ;rd˜åM’@Ûø¯Ä*ð¢Ì(ŸqG^þ m@q"6øCÄ íï©÷‘*\ÀEæÁ¡íoÁÐîäòÉ mºîíò—F²ß`‹”» ´M§?ÛlÀ¬Æ¶WP²Š&jg×¶q%BDó¹¶¹³ßqPËËYhk»AÖƒæ… ÃÕöüŒ@j;D˜z/$¡¶Y\‹PÛî¥Î"äÊÒ¡Ú¦Q€¾%*ÙFýÕö—AAÄ?`Dµ}(f|xÀRm£` mŽTÛs™XÉW²†M±¶ûÉðÍͶGû›ͶG"QŠíI£šígü<ŠÍ¶ uÁͳdÍÜlà~ÇÒlÿböIl3Ogb;]'à†Žû Mlëyæ¬Â®Ù`ͲN6¢2×/»€ØÙ†æ‡ž šB±Ý¹±¢> j˜ÛîÍ;UÝtØ—Xl¶£ØzQº6$,Zºöj¤ë7G¼‡®m!ÄK×–Øö½µÐšp‡ª®}Á%òšÍtm×*àzA‘[뛊 ËG×îx2M답!©Å±nÉì#Fšu§Ú +‚¿°Îf¥[E]ÖF&kš)4°ËÚß¡n:üIÖ–Tê.W¤¾XÛ—¡¯XÛy˜9™<èõ]$¹${”Ìæ‹>œÌIDKX»‘¸ ]i'9amÕÙþ˜ JKX›×B{Ï’ˆÑ8¬­{\ø»Ä§¶CQÇÃÚOíã•ß°¶å ¹ötlorsÓÕm{ãå¢NÛÈÛ¶jt¯—¹mÛ€ŒxžÓ6›i:ŠñQˆÁ´ÝÉ~¸›€ÓvIÔ +ÜöÝÌ”òNËíÿ=ÆšÔnË*¾ýÂß‘ +¸×ÌtÀPènL@òâÞâ–;nNôG“{?!¨Çx&w_΂¯´¹q[ É-dàn¼ÜWθœÛUP; ›¾Ã9é®¬È™Ô ‡&®›4ƒ ×};>ÆÍÖNÿ\w8ø€„fêðº7g5¾­ÛýŸ1$ud-aÞºU<ÔÈ¢WÕº”q2C­;vïpÌþg×[·»:ˆ#¥ènÝæ(oômÝBƒçÚV«ÝºíÑÈ KÖÙÚºy†Ë˜~ëF|+´7·î§Ò “¿­­Þ+Ý™¬D·î]†t€H²ûÞåÞ¸EåÅKÉp²;ãÑÀXd7£ík‡‹†Èî7+ŸcãÆÊöõÝ¥Ýør/7ŒiQâDÌÔÎc·mrw*–ÓኰŒÝTò¼ù¢±ÛvŽWªÝÉÓaŸížìçW0ÙnïÉŒ«éÍvR¦UÕîÎWð†@‹,¨ÚÍ„¾Œ¿$:¨µ[#ûPÉ›m­Ý“°ó»Mkwc(šÙX¶µÃN ¥KÿhQžîöŠX[j)t7L¿žGwC²¾H6kR¼tw¸ *ä@woÇýâÓÝ>Wï‡SÆ'ºÛ“û†db×®Ý_™Â‹ÝÀ¬™å 6i±{€T×qíöW/ê +R}èJwSœéÄP~²Õ0]Dwg<¡ä»õ7d…÷ W@×ñ[ùMÇ{Lÿy0oœ™ÂBor“ãe5Qõšðm³w:tœå½õå‹0ÃÔ;5”)¾ÙF>Î7Í7goIÈ“ø-åëìC¿]êàøÛ“/€ÔÑ÷Šü0‹<üj¢h'pÅ®"cÁ9°g­²¢Cd>;Â;a‡L,Ö… vs +†áÇs"£†·ëÞ/ Ù®bNzøÿ€$%ħEüyb2T熗MÜt|=)^È­8Q§Þa‹;Þ/.;”a‹Œ§|®÷ï¦<½Æ·.6Ö¸¬)‚×âǺÜv¶´ã´,y=¾!õ*ôÇORTÉ6îhØéÈS|;3ò`ðh‘܆㵒÷ÅåPyÞ@³'o%ø¹"–qqÊ5Ã;V¹­c~xåI³|ùO1R.Þì’; Û„ºævÕ‹æÄ»V7PÌ­VæW§»3ïH·Ý4Çûš“¿¬ãækAµ˜R8GX%ß˹¾:gˆ~çzÐsÎ|ÞÜø\N.»~þÑK’#_ΈAgÁã ÝÍ+ø¹‡^RƒÐD? ² +£2]ñ ýé1Ð=ôÚ£ˆ …$›¼S:¶*öséÇxsȽü7üÝtb!¤Og*¨ÓŸ¦?[Ô‰|^º˜ÔÕÿ9õú‹¤:1ÛÕЪê¶úÈbÙQŸ=²^ ÌGëo­¶¶>u\œ ’‡]÷õz¿FÛýõ[L»ýöÍ–Øn%ÚRÛ¬Ÿñ­€ZvL·Åfßþ v=d“™¤ÝyiDû‡P£ßÕô©/Si„ç.Ù>jlû®º&¼Çξ²|8‡;A$‡ ¹ûö.×Þ¹…¿[ݸáV÷/‹‘ )Ô ±wŸ¤Æÿï:Ê­ü±!ß$w•yq ß]õtÑ"é÷õŸóHìß4à7Í´vqcðE‡ MïGM°*üóò3Û¾ËÔ ï7 +YÄÒQt_x°ÔóéGW<& ‚a|)5ÚhŽ¿`·=åã%kqH„¼šF~¨–<¸]vüÉ{_òG?å°ü,3~Æäò›áøÕêÈeÞJÙœFjþ<ÅÄbËìãÌy,‰‰ÉxHL‚Ïë×ôͼ­ èÁ¿YçL!QAVw”¢¿vô4!åMú뿺þ^zÁ«­õ¦'+€zz{qRß¼R½_þ%!Õo1ž¿_ÂàÚê«“õ”Ó‚·m½Ã•À®÷ŒÎðüz¯?û5ˆþÆÌ>E´Ï*ÿcV{×1  Óö‚ÝÛ£žqÿ‰î }šÚ=¾Ž÷ÜFös +üÍd½—DÝ£¤ïe­þ>ãFiùþâM8ýø[;@‚¾÷+ èûgϱN»¬…½D×ßk ~4§Œh ê]àпjèþi¦eê¢{¸¼»q0 >_÷"K|0 3—×à{1ßÿ…"¦ãnØà¬ý2 ¾\.Ÿ]áþh óN|ÌÎåú‚UÅo!~IƒüÕJ> +!4Sþa5ü™q “ùkóov>"9îüÏ¿Ö+d¢Ïf¤Ï4¡?Ö4}ûFýR- Tž€Ý¯Ò¦Ö5;A–N’©r‚¼ &¯Ï6prèbß½4—Ͼz+mØ~»Ä}Xømb÷Õ†@˜J°Þ¿Vâ|øûrÞùàÿlùu­÷æs–±Büßú–ÀŒÿ†üCäW[û÷àú•¿}x«ÖüugH%ÿüjãÉ~ý£ Qÿã¡1œZ¿²“…ëc¿&"ÍökW]jþš°ýVÂæéÓi¶ÃÒý)×1­ïçÁê\É÷3¬È…,üûwüÇœ>——ÿ/…µŸ¿§’1sœþÂög¹¿ +ÿs«ü_ŠzøíþSµZw|æ&Äà÷ÿ>þ¿0iO@K["¾i€¥ïžC“ pž»6ò 3@V; ÌØ”AÚ`!ƒr( Èê|è#ÅÏþ)›À •€³Rᇻÿ&ÌÏAQ&—½áýcàU žuVˆ0­Â«ú¨ØRo|Ygm$Ôâ†#::]W6žGÈDœª%¶E}¼nm©F]IQÓj&õâ?ü[â·Ÿ•³#%Ý‚OØ1æGÖK°W²÷®úc½¨¡ÈH­Ð|æÔXI±=.xo' <ºõ)¢ÒjOÏó’ªõ¯ÃÚ¸vbXðëY¼¹ÀÑÞ,Ã3~Ÿ'@§ëTA"2ü4/ßÉ%È=N­ÈJ¹=W¬T¿Xèx<ŸÙÉW o*;´ßd˜ñ/õGí ­38Èñ[ûôâ9š‰ÌtfÂþ0XÊjÌÕ¥¨¢Cžä·‹öS³ã)uCjwî`Y4ž—Zèe»²[uýWïíÉWÖ¤ñmÌýPü[aFåºKˆŸ|ˆã²žò}â´´ºç#Åã–næî´ê’ç¹{ðÈEs²Þsö7ˆŸ{*­Tî=3”—„ˆGN9&‚,r#iû‰æ'œÚºzô%U7Þ·ùFöÉí”sdŠ~[nJŠï¾—cËb ÇûÔ…Ë娹H!W6Í”T$»Âß UÚÚÑ©?q}dÛzïu¬ sÍãS yN &Ùy8-¿˜ +¡1ÁU èCǡ˜Cšfxô\—N¾ù³¬ `Á¬ûŒ˜Ûe þ„eáøíkõ®#myYEG)ÜVÇ­9—rÄoG©ITíH+êz$CIGŠ‚ üË&#k±;êÕ¥t^L&nmOš°€T W÷í…*»*a')Dás-úž$Íùç €YÙ¦I¸rÐèÒ ­F¢Õ¬™Åah/à¾~Ñð[Ç]ÀÏ]§t‡­0w(ì‰<Ú=ÑFÐsCýÌ¿â+MÚ%ú6óô¥gÿ7«ÅŒÚ¡Ó&dª0÷Ö*Ú@¢Œ6e–1æö‰mdócËËï=ÀPå{œ&PX´e[£¡KgˆÐL*bô•Ýÿ:(P~}ò@{öKÆ£Êx»*½ r 6ЫL Èø¦ŠÑùºÆN<{fT’ÔsdáƒÙ Ôpn)™õÑS Ü~Êf=?Ûš.#HzN‚£IZ,Xy…ðN¦9R63ƒœQÌg S©`[“7V›sÖýE[p='T¶Rµa\ÑÜïûN©L]•WgàÄ™¡þ³M»@°wà¯íÝã<ÚBGÍ"‰Ïu¿®Ï{$v³òZ(áí²š _Ãõc¼¡ÁíPôÅŸ4zF ˆEèñ(?‘„Ö·’’+‰Q2y£+¶òI8pÙBþ÷€AV‡=óZ¦¸®8T—8]—M$"@x­×ç;4M'½m +9e/nZ'G«ÜkÇNäWìE)01 ØÍ¬®Vf¬«ZðÒd¥‘€7’RÅ(/Åb²âq^µŸœ«Çì8Ü=H\:çÛ ‰"}Œ ½þz݇¨&‚°* 6zp_æm6„m{d9䎰€»!ë9_e£”-¯©¹Ç¨Z¯gc7³»¥ú°³<–kP@ý‘(É" +ˆ{¢B>Ÿ<¯\YEŠ|§6:£í“U‚²ïöLÂý%Uã›gœ \_ºæ…Å4(ä/>ƒPcKCÅæMÖr‡=Ï{A0`›§à“Ä{DÊIúGßeê[´›(x\twˆB›ãNz˜Pöâ]3h(ŠO¹“e 6Nîð˜Ð3sà7d‘äaHñ7;Úe*)2ö‰Qf‹Jx*ÜäœIHsPÑ€a:E¡“`ê>¨*ƒFHEÀ샮Yàõ«:ÀÔ}¯×FØ‚PÌqûÏÄ=;ÂïËÑ¢ªSˆ&˜ÇÜôߥRоúb}R)òÝUPdw=C^!BŠÆbŒp*¿…\ =´¹øŠ 9FË–¿”û=%ÞDVÒððQ`”V¹ŒJ«ÓY¢‚Ž˜¡ž !Òð…” ÿ X÷À“Jiú ?LÅÖî¿Qmëf½"A×í)™ÑPo-âã)~«8,â’ïŠ4‘9ƒ¿ LT‘7‰GkH€¸Fõãÿ …YK2̯>Ôd®4•¯Ð¿iz¨H0´;)²l5 ÒÖW(¿"œaxåÈPFêè@–“nfhJ^—/á-÷1œøýWèØE´ uW“õ)Z‡­-B”xÒ¤2æ ìçp¸™fÐíº2ôTI ¦IHwr—ÔxRL<"&…~n:=x´Ô™è%З•þÑÆ4\ª>ãå!ÍÖéáP?'ÃAÀOS/ÈËŠßEÄ÷ûîouªûš±xs¹ÈÀ^.­©léWÝ€tf¸A{î>{fÇýwò›#ˆœ:³§T*²DGò;³­ÚÄf?–Ò§²ŠdàaÛZa­:Ö@B“¹ ÒÆ1‚{¨·J̉ØC« {âæ€«R$ÝnÁR¿èä6ŸY–ºèöÌGŠDå—ÁdýÍN–há¾âÖá´gM°Ø€^}ÖÕ‡‘²ffÐ…2ø¨Ø.£ûÜo ~áÆ$Fläª†Ž¦hADq tPÈb{(µNšãf;º ‚´LÃáöÞB³7—‚ËÔÓs*ÜÕmÂ9®×M3° +ÙêV$ ô “Óëöáuïî‰5ý¸aÁÌÂSŒ$¢÷±•hÆ:DƒìYÞËms<”ÚPÝà1ü™R°I«òAuÓY$~h}ú­5´@9WrtýyØÄÇ29·©3$ÄàýRa«cH)ÒooÌe h]ª˜ÕÂÞão(Õ^ORŸYM–‡XHº1¢±5ç²Èïþ'ùP³å¼ô <×)móPk†½/QbˆE¡ž4Ê•ÒKyB¸(™GÎT’&B^šQ|*)V½Ú!¬â{±'ÍP¥=bÃÜ¢^!ÏbV(§)_}{mîþ@ûìÛA HáÄ%lnZT+„…êÂ-V¿çU†â®Õß&ÇëýÖÀæ¯Tð‰Ôìh¶>LR‰Ç®©þþƒJ5î|ù‰Ê8e î)Àé6Ðáð8·JâÝ"â.ðÅC0…W˜ÄbpåïÿÓkÞ¥ÖÀoÂAžý°=Äâ©CbÜàî^‚Œ6R¥`ßÈì¼8JíÚ‚f.Øæ¯^‡JÀoº& +eGÅÖÒ¶˜„A´Òã‘w\0?B&„‹‰$`ËC ‘(GïÙ--^©c•†FÓ¬M& ‡r/›zÒÁ{Ü‘†Ÿüþà±díî† € ¥m‘‚1aB-x1LrDÑt Y‘ÁàÙ«´¸ˆë®Ío»Þ4x±±QKQ1q¹ÓƒBÇ F ‰™\â»ì•;&òÀË„¶œG_§–ÈTäW§xYÔ[ƒzç]Î-ƒÎe¦bJenTt—»Û–ùn›[V¶,¶RâXð\nò¢ÌG‚½qŽ¥ ÍV4[Àhü–­½:H=Þ IÛ ÷øøBýaj“+vO¸Ü䉞ѾdÐ35]Ïh0˜æ§'ô¦m`˜Ì;QµÞÖ ¬Æ"sÖ»ö#Ú(“ÓE!†“rE¿í áÈ n•ñB?ò6ߢè·>¬•[M€ª< ·É¦5ª®,ˆ‰—Á†½¿¨?‹“\Ssµ–¤5̰wÓNЪ|“ɨß%ùEjÚÐé²ù¶\ ɰ Íä]Þ$‘o¢mìäÊçGr›Éé´³9žôëf–C#¹SšçÿœiLZ¢,ma3&‰EçÈôR¹«m|% œêÛÒl˜÷ž½éŒ‰7BýùÄ/žU]àÔN†JYKà +I1ö f ©ævúOG]=ùI%äH T¹ÖÕ•PøˆVjÁpL4ä=îK€q[0Å)0ÿí^ÙYÎëf¯efÀÛ "ÅÔ™X$w‡’Ju~œÕzF>C¢ì#l'ÃjFgû¤7Q:¡ÕHþmB“hX÷PìÒýR_f«tæ™âëÞÖ[†¢÷µŠg‘~)‘¯¬°L4¡BYIÙ[uï-göN¨$ ~•½Ø4Ë&|%ÛOHe¾·¿E~¨ÞÄžD:çF]íœD‚L˜~ý6þÕ°„‚ÏQc¸±„ôêf·Îtcf_?h5  O7¿¢c× ù šÆR:‚ € ͠ǸÃëì§*“€òRê™p»2 4ª9Ê4DQÑœªÝíÃ1Tq* ß@Ì·‚LÇ­¨¦^˜Œ8Èø¿áý]¸OGÅ›D& ±ÂsÇÐ]’.Ö¯âvA³ƒ¹°…3|±vIþŒã;Ž)Þ<…|bˆN×zÛ§s‚ó‹"kß¼zƒÄ‡F¶îŽ+ò?θŽ)‡- °0>¶=Õ 2å¡ÀÄÂc˜VN,¸¦v”Üs6ÙB,/¶nr¤~T4^Ò+mâ×’u°Ë>—Ô©$#\‰3ÃèêÔ(ù"³Uçdsª›æÍùÑb³Ñ‘îˆÆOcuåTÆÖ` +ð€š§'¨O¾ZÍâ¤êú:ÂÊSC]Œ4 ¨[묑…9›8z<—MŸðr” ºâ1,Ó7Rh‘ÜTqáo¶‡™Õ'xvTÄ÷+-òI9uE°8q'ln;–{o‹B#æg¶¦ßÄé÷ Z?ÎÄR }èu ò07Ä‚x’R\“N´N'ó§¤ÎjNøúêû؃âZ>B‰0SÎ% a¥šcqa²ûVsçÚ{ò *–Ð÷0ßb•? èœZ3êl÷ãbÞ0ÌŠ¤’RYb„J­[LJøá=€Åê¶FT![ÓÑCƒ|xÒ˜àâ Â—ïæˆ×<Ê6ꀊ™ °•ÆÎVî§p^ Ö•¸äƒSžªŒ}ˆ¨9ªàdP^3*rA— )ßJ­Æd˜‚4Ôß¾²I:8ç'€Ô3®¤)EËQ¯´G ¿,ƒ¿\¿qàÏ3lÉ¿–EÐ;ªs¡ˆ3-©T,8å#Âçhe–1¥iÔÍþúºûЫéÓòKD{hYùņg²I†"`bxõæú@ú@ñ ôv¶)¥"ʵ^–uPÈkf{… ÔáëfLÓˆTÉ:ÌPyŽäCG:éDYkY™ŒGØiÄrOÕ‰îKù6‡în ˆ«s^Ly*ÓhÐõâ&lG6z6¡˜-Ò„‰³0V5dƒ¢5‚hN'iH(ÚÎi*OÊ]§@¬Îñæ6bƒD°xÌå4»ÛoJͱ€ƒVŒè•qRæoþ®óí¦,Æ3¬Ë¶?Í•hf) ô¿1ø6a`w™ÜÍD¬G©Ñ +Å€m2t› -hÑ?œÂ‚B<’(™óùZòÛ4–`Žpb¶8fê§AïG0ètªµ`ÚŠÌŽzïÚرFC}`ïB­œU '8Ì!¬ˆÝ¾Jq~jÓöøYu‘ðc¢¨• ù<\9 §rØÇüâ= +håmtÖ³Ö%U/† ®1›¾{`;§<ß‹ôà[W‚–š9jÚQö(9ß^,ïé#`•êÙÐ<üÿ‚‹C“Aƒ£|ª3UO‡ƒW IäóQpÍ`¸•îÈ &ÔÊGè›C PWåÙ„×k]VûfªOÐlÓžÖw¸YÈLåÍG‚ %ÑØþíÓˆ?hN'ËÒ‹ÄA)¶jçÔj~NÄîÚ8Àÿ¨Ð6NðÓKòÿŽr!Oëxl¡†d^ýÄj£g¼V„HàtΞb(£o›¤`Ì’úsâԇƃ#;Šàt-rñºåEh\ÂÓ’S^;ƒ5> ­È¨4—NÓ•±=ÖA@ðoÛoYkƒÊ“AŒz[®¬^ hœE‡Öµ¬[[75—?{$¡Gk.5pCìuœt²öúîïSìIÄÆp蚨U~LÆôSçB +‰»!€ˆÝ™²2º¦]ö†|'^½”X5þÜQi§ø|#…Þu3ÙFðr!e-‘𫊊Õ¼7=|ôm,ÚѰîâîù›Ì\Àñ?FJÅìoXÑÌt׬¿Qÿ¤E6ÔTÿâ×™M|m(ÙC\Ö©ú7ð#Î/´õ]²1ƒÙ6)BNŒËFR`¸WÁ$‡¤æØ4”8é²km|f€1D…ÝGÐÄãšé2JSÀYUóàóUqÜ~9£ Y +XŒº'3DœHõdŸC; ÆuÁú:ûƒ´,ÿ|Æ¿¿2ó‹Saòb? òš@èÞðI>g{âfaÚL‰±HÃûd*|uj˜…» Ÿ0mbßÿY¦öCàôaÌ•ã+`C’ŸkYGlù8qì±BÑ^€ÒãAŸ ]#X°þŒr]ë3Î÷/¿E4´ß¡Ê!Ò~T~LA¼k°’»I'f²KKŽ™)Jâ¶xæ’mòœÜÕåÍÂZ†#š2#BŸ›>-‘_f}¼²š¨éé«“²Îœ±½3Ô]üµmÃÖO¾}kY?5"ò˪”{Ý Dµ–ì%ªI%tn:5ÛdDûSkQ ­·ùjÍ–†.$"÷ê=нØÁ0 -ùYle¾³)#€È º™>=Ì4Z Ã’Æ­2ë–Ñ$FÅ{õA²}¦‹ÈfÙ!~ik×ìU ·­$š6iŸ»=í‘™:¯yZ8ÉWÙE˜ÔK{ì8ÃÝ#olþïÂgNzl¢¹üÇÙ+ÃÔüÑ07:Y%mcͱOòø~ƒ— Q/¹ÀU¹0ØÝàý:ǺC0·rÊ¢xfµdðy¶Åø4¸èÄn£ÃÉá@j鞆‚ËLG0¼*!8ûom'ðTã5ßnŒÆWSøH60¾Ò­Ë¡=ùr3£fŸÉœ”â«Í•Ê ëÉ áð;Ì¢ÃÖ/Љ—¤IøNŒU»³©Ìi᪥$g´ +ö$ü¨}H]Úþ„÷GŸb›Šyæ|¢œœåW–å6~/Ú +'N 7Šî‰²¥ÀØ=ö]èé(c®hîuâ@Õø ˆŽ,xŒïÓRçr½ñ¦³/«Ò\Wx"¦tœ6pCäòbâšX²™z˜ñ0Pù*£S²P¦Ì¾“I\B '†ËãºÅ‰Õª¹£ ]¥F¨ƒY 'pJE šKR_çxø{ ÷E3DvÁ 5k?:±Ú½*9“J0•imTÂZÍ7.x—q*Þx¦”úÙ=´Íèóí¤Ùhq®Sê]!"mshýñQÄãγJ-$gâ7ªK$¶Ö $K’1åNËñ0,·ÿ7’I5~àR'4g ;Uå*·6îd gHs“±~‘ÃSôÃvs¡.¬MàkÌ”pñ¦üFJ#Œº¤¦3 ã:ä±¶F„×4ª•V•ýD;îûH›$ÉÊC)Ä®R_=ƒÙȪ o…xÖTi#œ€Ðɪ&öïÞ¾UôŒM¶ÁÓ@¿Ê‘»'…d.^˜ò¾÷ƒ*~'€)šî®JiQÔ×ÂØDôxÑ +7åú×Ô\*üÞúÛ:|íso@k¬Ft'y–¾;T¿QÚR᎕>é!“UY= ¡t– +0Q¯ Y +¬kV¨üŠfBÛJ@J/éiÄ0fw&‹‹UÎ*ì£â¶xãl¶eEÊcÛ Z³šw¦=ê(ðª¦ÌÏù»åu¸ó1\úuÀžAO0Ø}0*‰"­f¾ö¦÷BbóÅpÙÿ »§ØDE®8~J$~b*»V Þ(¥˜>‚-fêtz D>Y§,.¦‘|»Æ8o“ùb“„c¡××êU f$!‡Ð?ÂDfwwqÝá&¢7œ¸Àó¢æ;UI”€quôhw Z·¼“×Zb£´Ñ%»YaÖetnQÔäçj,Çÿ³sW5­R?"›˜ëŠ.±Î ûêM«ƒÉ#Òüs,Þkæéx”õhoWËciÞ=¿o•¶ýŽA÷‚BHCÿ6DôrVx° hD)"Ff<‚[MÈ'»OÓ ´ú<‘»EÆ· áÀãh‹å6î‡ËñrqrL=ã”ÏHç›PmŸõÄ÷HaAàÙ9:•à #³!à­Ö *k&ËÒC±r­›î½Êy’SäÁÃæ%®AÃ4Т[û Fi#Lp)³ 1v³—€>n¬íÌ_(¢JgH¡Ã“4É +ˆ”U&¯„¬€Èõú–õÊ{[V¬Ð+?Þ²ê_óx¶Ü:¶~¨ÞK¶1vF-Ý”ò<‰Ã™¸¤Ð,¨Å»>³ñfŒPÿ°à¼}jZ ê@þï:å§+ÝqùèlPU,Ü}['‘‹Ô”íì®:ðyª,dwWÁ*}K$g×Ó4 ú^x©æõ¯ŽÃ+oð˃ÁüÞ³H.MT)küA?tah/¢º½ù@b´£Œ‡.T@ã0Lê›)+”nƤ¯>ÒRf'¬\=‡÷^ûM4€„væê¯úÚ¥$¹\ŸÒzÃ-àsìŠîâ=N ²,]fêM”‰:[¾¾\ˆ¢2 &æãUýÖ.æ3ÇàÃ*Cú¹'šT$ŽÒ;IHÐÏñ oùBAOv +{6Ú"g94d²yó…_Iù£¨H÷.½q~VVD¤²¡ÄÔîšÓDRbçYÚe©ó_vÍÏÏI/ ßåE‹n%Cbäá:VC-×®ßz{Cô"œÜjLÑ|þÊIî@¯}ŸvæŒköÈ‘OÀÐìB’xEzŽ(wÙGT"ˆLi tuanšs#&Ixi½=Â?ïÑ­éª8Õ÷¾áÄÊûx)GêÍòéÛ=ñ«Mï»4¾5Á¨k×”Ö}úÃúgèÍX–ÙJ:—ø¯–¸wö.YLLøç Hp”Ï&ûÏï#=£îi£§èÁÀá¨Á$ä +äÀŽã§sî +ùmÀ”/: „ôQs"Š¿ÉƒPĤܽ°~­6Ò}”°KU¬•Ê‚z¯ÜáËÚìÜ¿”Òæ^Ï~£Øjd©U’Š;“)zeÍ$ˆ·;ìtÊ622|ÿ¢ÐAo+jôQ&@š÷LÇd˜ØúaDn¼S‡½1¯JË1LÚìºÊ„É›]NLW¶ª#¨¼aн!A”>Ihzj®GDþœ²Ë†ê¹ àÅM–Ó»½«ÈšÔÆ¡-LÈÞíHz¡xt­¾àú5­L)ä¦?Ø\P–”ÄšóO‚†µ¤I‰°KUBÖmŽIAàëbŸürPh±"Ô™ª±À ]Ó¼/ 6Øe´^^Sró©.ÌOÉPºã¬Ž:P.¬-ª¡mb7E–;ëŪŒ¯‚tGX×èMÚQŽ•tŽp¤Ø#cEk5Ò¶·È+zåçN²`ÿÈ.ŽœñLoÝH¨IÕ^wU…túºg ¡Ô¬6õ›#<)E÷òÀú£qC¿ys\²G÷E§NúÏéNžÜuÖ„xúØ—ùÐM¯ápL’ñ®Kh¹ Ä’<ŒXaa­ +øõXë ·ÀÆ¥ÿCÕÏörç ’‘½Ó@eò2âÍîÙÍ纉½Ä{—ËwQ %”º(fú)ëÆÁ›@蹿<7IøOñ$ý;ÝSŒLRsï!¯&ò`³ o¹8?†Çó6ÞC¥Û_dBïMp¬723„4Ô%QF ¥ÚzŠcÆþ]5/r)Ýò]‹éQ3ï­:(šÍ*¦cÖ˜¢hîq´ßÝR0}’ˆ×ë5þH¨¿úþæÍMŒøRkeQú0Ï.08Yy %øW{¶ec”ÝÖLm”¹çÚÏýcÀñE$âv­÷U¶¤mU}ŽGÃÿÊ|¼M;ýO·'@-îj} +Žý¶!»º´i“o¬¼¼8~³êh®' œU£iHÍEÓ îƒêC†»(i4ßôÄW!ò+Ððö&œ5 ¡´œ+žœgz1D©„1hÝžzÇJMûaªéRƒN*ŽÀäRã–·Ò2Z^ú¡Kà›¯R-°5'£ƒ?æÊåuض!:…±§€C¡‚sֲةݹóÛe#õÉÄox%¨1q–"Yf`×>$yÕ¢Ù³órå»#o-¹­+Ka@ŠÑW×k¿?÷AZ¤®"_ÌqÌ6^ØVAc«i"N°¨|S¢—¶I)VïÀÇŒP³"[ªn°ÜOaHÈ/îãi\CWÆr™Ø¥ýß7·ˆÕÆ9";Åm5MÜãzÉ,Ð@âä¯A™…ÙøÝœ öre–ð••i»QíУ ¶÷±˜êÞíÏÀqÆP}cÕóø0“ùcRIÿò@üÂ%Z8t]‹hûÚ.êè !WîÒéméëÔâÐs£5F&£ÊCQ© ‹>ãå +TœŒÔg2µu-mm2Nf³FAïn²1þ9 ’ç xèP¿|F§í®ò"šJÁ2À·ÐXÔìÑÞˆÞ5Ð,çWÂÃ_¾DG«B‹xL')Â+‹p¶L}¨ûz0©KF«B  +NÉûô6•J"< w*>tLå•ÔÜDÍ 5ãèÐ VÏ ºÊ³éB­ôEÛ/“!Aíô<¬r*%ܾF±èÍWø`ˆ;Ùj4`âEÔÕ{À=‰ü¡õŽª£ˆ‰}Ñ×o‡®F„ñ|sîBtI*ch+CÖÞwf­ +B—hož™LgEq[HÓöŠFÞ'!Ýü=@»šiâ)¤Mô]^­„õ1³ŽRZ[u;²@ÌDe…£óOÚïyeY«Sl«¡ïÕ“ù8Aä`;?!P"¢4Ÿ+ÈÚ +Z°¶Ø\a6"bBÒšåxÇn·SuwAa4g{·?Ñ$¥yæ$s…9õ»àn£Eï[ £¼0ü×Çÿ†ʼ¦ &nòµÈÕ¥z_ÃfõýÌ f²Óóõ +’Æ/~¢G¬ÑMi¸XE0KYŽk”s)¼‹÷XþŒ¼OX}j›ßÃÀ\ùÏ$÷­%©ž-È~š·öl6 ­ËÚÞF׸ù; ¿¼«"Ø6¨o €KIѪ‚.o—;Í#)Šk´ùû2¾F3I¡KkÎÙPp­à(ô³5á)ÉOD[°¨ÀÔ0Oûó+TVT,¤ü-+yÕ*¿ã"U,¦WofGVË!Åi['ýûijöÙh÷¹ÿï3Òˈƒä×XõýU¬HSÊ¢!ö'0ŸšÆ•ˆ€àÈzÎDI½m6äëÕsìfɺ~YòLY7ú?oŸ(Ÿ}ÂÔ À´‹~-ÔÂÜ…#p™‰µbW9Ì‘¢4Ê>lˆQÌ þèn@ÌAmˆèÒñ‡r<˜ô«1 ~›\g6Y*ÆÐfYŸ{Ï0T&~1I=á·¿P‹x‡¹Z>ó +FÞJUºç5¨ÈÈ? .ˆ×BùXûY*Ë•„T»Ã½þSET¾³½˜FXýd¢_ÞqŸ®,ÓJ_)5“f=z¤AVäât½õOÃ'ŒVzæ/" %/­? ™÷÷ÂUÝÖG“ãkf6Iãªúí‡ï[Ï—ùaKt…μk#Ý.>×{ðÔÄ¿²ÞŠk€g3„Ã(¥âæu„¡›ó T‚³Eè%üÿú‘ ;jõÚb}ÖX¾çó”ÏWˆ™xGT “š—wŽ•/ÆÂc‚@Y·jø¥jX¹—DàxßJ:YûoSÌ2„j#½¾}鋜÷Ý.ÅÑSŒ%NåâsižuïhwàKÙܳ»ƒÃû>¼˜ã°e<Î"2ñ<ØNà­å‹4S;!”ʇKU,Qïj³2Ç¢¿/’ôõXd”ª–_Á÷’tÞ.ƒ +f'A¢=à^pïýß+1N§ÓÉÊ?QÿÄTw( € +( € + Ùd7%˜WÿˆÉn²;Ü+ð\,Zifã!K(]*Axg{Pš®SÏÐQã¯WpyçCqòõ (ó~&F»Š“¯o8æ°‘ÆÝCƒŽÂÞgŸÏôH×'!ÆõF„m¼Rc\Säœ?ôw¶õ­ñˆo}‚I» +sï㯗 +endstream endobj 18 0 obj <>stream +è7=ÒõG„pýPß™_$¸Æ+9¾ùI‹p<Bµ>‰PÎÊKÛyÔÀø »2¿èO­ïiÛuκôŸ82Þ(Ðí_€‰çS è³:{ 9 +ýž¾‚I<_eÞÁóÏgÙ9ç;UÖùhøù@ý¨N“v=’¢›ßó¶÷ÌyíFƒl½‚É<ßiò®w’ÄãÛü;1> 1®—ãϯp#Р è¾õ>taºÏ\dèöñ¥õ=l`üOœ˜à¯ÍwŠ´óHêù?sc}”«ŸâùwÖý“çåšõÑ1ÿ^Q”P±úÓ)£ÃµžHßyãÊòÂø#ö>¨ÏLâCÓ‰ +Ïö =3^Iò­Gbtã®ñA|d»ÎŽcöß8gÔ)YO4¸¦ûÜå;r\ytK¯Z§S,pȰ¦9d\8NXÖt‡mKï©ëâyÞ¼öœ2­<êõO£]ÿT'M ßyëÒqÌøéJj±â)ZDÃôiŽYV¾ZE­X§N¬ˆvõVB}izË:^‡ÌKçióâƒîÈ~$Å·ÈŽ¬ÏÃÒq̨xP^Yo4èÖÝíAxg»œXO¤ÇÖ/-ÖñKŒs½˼þ‰òÎÒ3ÓìÆô >´\ÈïlOZ”ã›íú|=PÀÞAç_°‡Ê÷?UâñAwhý\YïTYç?Õ£>UÒýO–w>Î>þA(_ÿ ”¯‡Âäû)Ìì!|úùNw~„}„‚=Ð@~Á¥žŸt8׺õG‡m¾Ð”WÖ á¥õ×ü£Â¶?)ñÍGà÷Ö#øcë™éz§Ê:ßÁçž_A¡!ÔÏgrŒûð¹ý@vd¼Ú–Þ'¦²íB{hüOÝ”gÆý¡ñD{jþš¿£ÖÅï yéAxg=Ó"Ý/áóï°éçW˜!ø¿> +3þþ“{~È:? 1®?*„ë“ +áþ“{¿äÐ×ägz¤ë•áü$Ƕž§-,çYÓ×|¤Â·ŸÈ/­/úSëæÌü;2þIÒŽ*á…`?¡Æ ¯”H·ÿÐí;q[øŽ›Ö®tGM:|û}àÄ| :2ߨ0íOR|óôÂú³«<êåKqÎü)P_Xß'¦ã˜ùÓÓ©R*³ÿö± ÓîÄúžº.(O¬ßYëÊ£`{U4Œ·ÂIû¥>z^ûQcÛîSÆG¿vé _uã•WÝlÝT9kÔéOŸXôG–ëÀiÝpdú]Ù^Ôׯ+˜Äûtúõ 4óz‚k|OÝ—ýÚ¥Q°_´‡–²õLvû…z)”|rê×3ØÄó ²õA|c|ÑŸZ¯äçK€ñçGø ì`âù .õü¢@5þ§ÎL²#ã• Ý~VÇa¡Æà¿´÷#økóø½õC}f¿—žSæ… ®ñEk|\ؾ£ö•ÿÔñH‡oþ‚Ì»ß Ïú;ë}êºú¡½5¾©‘îЬ£.)ÎùAviúÏXïGÆë”iå8`W8ÎõÖ9ÛºuÔ²ò3­{HOG„û• +ç~$·è-í¢C£61Æ]AUêQTêQ\öQlúý 0÷¨D€h~OÛØîóV¶ï yí>nc{Ó¡ÝYìm#þ“¤Ýï#'Ö;=Þù *åü70ÜÇml'ÚKû‘á~§Iº_É0îG2tû"í|¨Í¼ßé²ÎGR|ë£aÔiÔëŸé•íJ‹s=ƒJ=j‚E»«¢?¶>èŽì ówÞºòœ³?Ïi»’FÁø‡¬—îÌuá7X7Õ:EBÅÊ·P³F­ŠŽõUQ3}ÔG¦#H\Û‰Ëø¸,ýÆ…U‹u +ň•o±M« +¢š ó¥«TjETŒj…F®YSS7]Ó©èo¥óæbúvÿøå=x`÷ )ÕUÂĺSEE¿véNœ®Ã¦5Å!ë¥Ñ¯j¦`±ú+Z¬}T‹­›*:¶ß8j¿4GÍÇWŸŠÅM–ÕMWÕÔêWIÝpéSQ¯Ÿ*ÚÕSE±vGì +Ê+óƒðÎz"?4‡mK/"\ÓHâñL‹vüÜú#B8>Áãß$YÇ+=ÊíAwg;ŽY–NÙ_Õƒç•#-ÂíG‹l=Ä5}è-OPi·7Ýë`ÚýÙz‚iP^Y¤7æûÐ}ñLŽrPÀ =²^‡M+¿ó«zàÂtœxƒþ"ÿgÆó´‰é;m[ú ^zƒ5•F»®¦C}g¾Ø®£Æ…ë¬uå:i^ø^¨Æ#HLÛqƲîu¿­¢[Ô{'kçaãwмt´­œ‡«Ïs¡Gµúû†ŠOo¶péNW>ô‡ÆÕåE‚k¼!›O´—öõ•QwÔºøž·/?)ñÍoR¼ë™é|šyÿ#]dwÖûÄ…õ?ud¼ÜØþSGÆé¡ùP™y«ÑoR¼ó{à¾øŸ¹±¾irŽ'ÚSësÐ\àAzc>ãœÏ€’ԣ&€¬óPæý +$õ|…j~Ð]™O´§æåñ®iΚ–4ÖO­.¦Z¬WV,t⸦~ü¦?zd7ÎYV•Ž—Uôë§Z÷)+Õ‰k•ˆ«¾âDTl*E£J݈áRë~BÅš¢ˆuJ„‰(šO¥Ó¶eµC×5Ý©ëšòØuá;w\Ò›¯©ÕÚ³X±Z•8±ò,RÜtMµ¸Ñª’ºÉº§¢.øQ¯œ*ê•SÝlI[¬y k &Ö\EŠúP=Ïn µ!k-«T\»P.T U·Pí—ÕB½3T=»P ¿t›ª…j¡ú!)ŠÅÞ‚—XW ?B(t(ª…¡4®5µ,« \c`'~„¢ Z™•á(ØžéVži¨W–éµ,*¨­2?BwÛ°m·³M»6ü¶0ÙÛ³<ÏõëÆr ³pí’Ѳ\¿3·¯üÒoÛ².ý²/L»-ûÖï\Ã-ÛÒñìÊ,MÓs=Óó,Ïu-Ão]×í\Ï/ݾ,]Ó,LæÂ0LÇtL¿$Þù•é¨ú}_¶…ɺæ7~ëfáno ®üÊp“ˆáøÉb–¦Ý¶Y7¦ÉfÖaºžÉJ@¹;=ÇuM¢ŽíXfkØ­]¹Žm—vaZ¦kZ†ëW–]›®[6–i8Že8–e™–ex–ax†ëúegÙŽéYžÙYžeضiv–á¨Y†gZ†YZnm٭阥åºfk†a¹–çZžß÷k›–á·nYZ¶c;vYz–ÙY†g¹–çYžeXfe¦ešå9–aXžeX®a–a8ƒ+Ó3ÛʬÛ1l³5Û6;Ï1L·ìLÛ2;Ç4+Çr,Ç6;ÇôËðÌÎð˭˱ýÖ/“€c†c¸vi8nãŽß7†ÙW~ßX~cºŽßX–ݘ}cø•[¸ŽkúeÝ®YÙmÙ·®Ýøµã6–çšmã6~é¸á6–é¶v£lX–e†åºá–k†iØ¥aVža†cÙ–kÙ¶Y¹†Y†i9†áV†axnÙ†ažßž[®eû}aٵߙ•ížk»¦ÝZ~_˜žßö…_øá~å×¥eÖ}aÙ}ãøuY÷•]÷…å(¸†m9ŽcV®]X®Ý˜­]Ùv]¸ží˜¥]xng·†[{vå™c¹~ÝÙ…_y~íÖ…£äÙ…á ó,».;Ë®ÌαÃòë¯ Ϭ ·®mÓlë²­ Ó­ ×î̶®ÍÚ-\Ã2k·0œÁŽ_vÙÙng¹~Ùº…£dZ®[ø¥ç¶å÷miøeé–nava—[˜„ü²s ³²Ü²l»³ËÎrÌÆ-ÝÆ-·ðÜÂ2;Ã-üÖ1ÜÊ3ܶ1<Çì<·°ÜºtK“˜åÚeÛvn[¸fe›žmۥ뙵mÖ¶kÖ¶eÛ~i›•kÛ–]™­éù¥í¹–[7жiVfå™Ý™•çö¥Yù…c˜•mYže{ž_V¶kžeÙ¦iYŽm9žíØžY9¶]vl×,Û¬<Ãv,Óó+¿6lÏ$b˜}m9¶a9®]›¦å–}m›+Ó²ì¾ò̺¶üÊ/+G¹¶k¿.ìÎrkÛö,³­=³³ìÚ­ÝÚ¬϶l×ò,Ës×oL׬\ײ+×u[×s³s Ûñ\Ë6K×qM×2K×òÜÆsýε<·óìÊ/+˳lÏ6×q]ǵ¿öËÊp=Ã5<»ï ×u¿õûү̺rM»/ÛÖö˶m]»lûÂï+³mÝÚ³lÓ/kÃñkÏõ;»$䙭鹦繦瘭é¹~a¶¦ë¸­[˜­í÷ek×Õ¢c™ßš~iú•mØ…Ýx–ß–]™¦_›vëv~k6Žéø}g˜}é÷eç—…áv¦aö•Ùù¥ß—žišuiWvaz¦eÖ…é˜ëÙuéÙ¥_—¦å–~k[fg:nk9¶IÌ/=ÛsLÃõ;Ë/lÏm=Ëîk×/mÓs ·tËlÃr=¿uýÖl=Ë­=¿6[ײ;×­ Çïë¾°=·5üÂ5ÛÒ4ͺtܾ³ÓñÛÊt,³/M×ì;Óò;»6\³°íÎ4M³0ýÂØ9†cú}ãŽbc4l¿0ÛîËʰ-Ó¯ÍÎqÍÆ±-·r+ËôKÓ2L³2 Çðû¾p–[¸¦ÝøÙY®e~癞i›~cûiÛcúegš~ez~c9~Yš~á—fmú…Ûxvå7~Y·~Ý·~ã×mÙ·Ž_8ÃLGÑ/ûºð+Ïl\Ç/×´ìÆvÍÆ,-¿®üÊõK˯ϳM×oûÖð ³sýÎðL×5MײlÃ3]ãP/MÇ5KׯíÚì\×/ìÎuýÖõ[¿-ÌÒuí²´Ç0k»0\¿rýÚ¬]¿oÛÆlk¿p†¶f[Y¦aÖuß™ue7~é×ng{–]–víw~íצ_×–a™~iÚŽÛ׆[›[yŽcú­çZ&!³°ýÂ¶ËÆöÛs\Ë3ýÚ/-³²ýαý±l˳ýÎo=×vÌÚöÓ´l³¶mÛoÛÂlÛ¶2Û¶mëÊ6ëÒsL¢…mnÛ–fáÖžina8ܲqÛÖ®ü²q[Û,·q ³qû¾q[Ë-l³tÛ²rÛ¶ìÜÂp»eé†Ýºmé¶na­º…á ­;Ï/ͺuíÖ,,Û.í²µËÖ-+»qˬìºö;Ë2;»2K»óL»nûÂQ²ÍÒ.\ÏlíÂ/<Ó1ÛÖ/ Ç4Û¾oüº0íÚµë¾0œ!naö}a8C̾o-³/LÛöûÎtܲµÜ²5M³ñ Ãäמ]¶–_Î ¿¶üÒu³ókÃìü¾5lϰ<¿í¿ö[ÇílÃrËÒok·,MÏô+Ó³ìFÅ4[Ïlý¶­=×qÌÚïûÚ4k¿öëÂôÌÚ/ g˜á¦ãºfí—nÛ¶á™u]™uá7–Y÷¥e—fÝÙ®Yú}aøe_8Ž[¶f_–Ý7®ax†Ù†éø­í˜a†á ôüÂ0íÚ5;»®íÂ,íÚ6ìÂ0 Ã2LÓök³4 Ã躮i¶žg7†aø}ß:®ë¶eã:nç–c¸Žefc¶vß™–ß™cØ–Ù8†ešã®a¸•åÖfcúeiÙ­_VŽáÖ…m–ŽY9†a¶¶mVŽÝ–gÙ­é™ãv¶kÚm_–Žé8Žg;¦YšžaZv]š¦cY¶_¸~YºÛ—Ž]—¥é˜®Ù9vm–Ža8ƒÛ¾$äZžÝ7–åZv_·}[»fiØc¸µeØuÛÚŽí¦aw–gšµß–me˜vY:¶Y;†á 3̶2]×òKÃê7þb³€ïî<˴ݾ±üÚ, Ë´k·±ý¶0m³n Ï5K·ð;Ã0 Óö\·-,Ë-[Çs\Û,M·tÌÒ²Mâuc»Žawfi–†éÖeë¦a~a¸­ßw~á·eeÚ…áú•aX~]–gÛma8CûÚ4̶-LÓ¯,Ç,lÃu Çrݲ5-¿s;×6-³²Ý²µM&Û¯ËÖöû¶m Ûn=Óñ%ËdôlÏíËÚ3kϵ Ïq-»$f™•]¸fe(ú¥i†3Ô1+»ôL×/+»3ü²¯m˯KÃQðL×/[Ëp,³sýÎ-L×o-ËóëÒvm³tMÓ.+Ë0Çó[Ë2LÓlMÃõlϬ=³³ ³ó ×¶;·ôë²3Ï-Ó4íÒôL×uë²qG‘iºžkV~ëyfgÚu[Ù¥iv¦aÛmeºnY[®c:®ãwŽYú}Ý–µç8®çÎ@ÏvËÚ3\϶ËÎ4=ǯ[ÇrlÇö ÛöÌÊ­ìÊ0ÍÚu\Ó¬MϬ=ÇoLÓõ ³µm³2MÃuý j7fëùeÛº†Ù¶žkº}_ø…a¶­_3-·0Kñ Ëð<ÇtËÒ¶,Ó³ÛÚm=³óK¿2]¿®Mϱü¶ö ·¶k³4m¿,Mð<»pË-,ÛtMÓ0=¿p†¡®¡¨¸éÖ•íVžë¹i(ž_–¶ëضc˜¥³t(v[9†c¹mã¶mÙöë†ç¹–ß8ŽëÖ­aû¥]7žå¹~ß)¸Œžç–•£æÎ@ÃPo Ãl-Ãp¶!7ªª@×ô·òl×°¬5×3m»lܺdoí²n̾5+×2ÌÒµ––ÌÆ²ý²²ì²³üÂd,-·.Ã3 »´K·/ Ӵݲô¬ϬۺtÓï,×l-×ôü¶4ûÖsý²5 ϲLÇqÇ3ü¯M³vÛ¶°ËÆo ϲ=³ñ,».ûÒ4Ó¶mÏ2lËòÜÒ.mǶm³®ëjÙ/kÓmM³nMVÓì[kÅ-ÛÚs<·/·qLÛ4[Ïî+Ç- Ë6Ç4+Ç,Ç2íÚ1+Ï5̶´ü¶6;Ó¬[³pݲs ×õ<·ï;Ã/Û¾ZtìÚ¯ Ãr\Ó.,Û4¿6ÍÒs=·-mË´³5™=³ö,Û°]ËìK×°–<ÇóìÊô ÛpüÊ®=¿®=Ël »tM¿¬û­\Ó²M»µl×t<³²–\Ïn³¯ ¿´-Çôl»rí²qûÂòܲ¯VÛt»µ<ñí¾l=·0Û3<׳lÃ6ÜÒv\ÛµüÖ±».ü¶o ¿ð+Ç­Vì²p̾Zô;×õlÛrlϱÏ/-Ó5=·6³³–]Çï\Ãr[×íLË, Ç,ü²rݶ¯kÓ-Kk½r »1ûÚ¯=ÛíüÒ¬û¶v+Ëð Ë/ ×ï+³1­E»1-»v;Ûñl·v\×u¿okÃì+×0·®ë²°Ë¾¯=Ût;×Z¯,Ïvk·-<¿³]Ë´=³ö;»0̶ó<ǯV[Û®lËtü²­­5»nûε;Û²ìÎõìÎöL¿d¯ÌÚu,·µÛ¶¬ kÉn ¿îÛ° »­ÃòÛÖ/ÍÆ®Ìºo,ËtÇ­ ·³,»¬¬õ¾qý¶ðlÛïëÎ2 Ó¯lË0ÓZdZddóüÊ®ý¶,]»µ,³ò<¿. Ó-[Çt ·,íÚ4,Ço Çñ[ö¿u=ǯ<îm·í,Ãö+¿6Ûr;Ãvm·. ˯–<¿ö ·2<»­ëÒ®k³5üÖ³ü¾pÃöü¾2,¿4ÌÆòKÃvì¾6Ûs ¿/üÒ4ÜÂô ÓuýºõKÓ-lÓõûÂv=·.[ÏtÛº³m»uk·®ÛÒtL·¯ÛÒî;ϵ̺³û¶0=Ǭì¾rMÓ5m×v<³²+ÃõÌÚ®ÖÇq Û4ݶrÛ4<Û5íÂ,×/ ×ñ õÖsìÆnüº6lÏ´Óî;·óËÎZomÛ2ýj½®ëÂ1[kÉó\ÃvǶû¶sKkµ² Û.Ûnû¾-íÒq»²L¿l ¿vÛmmË, ¿--³/üºvý¾ZuË2-Çò;³v-»²M¿3̾¶Û¾´Öë¾ôk½±-×´[×óKÛôÛlý¾²»°V,·u˾5]×4ûjÙoÜÆõ˶íüÖ²<»®×1»ó\˶ۺ­­ÅÆñëÂ6+kÙòüÒqë²5 ÏîlÃm]³®×qK»l+Û¯-Óm,Û³+Û¬[Ãî ·³]ÓsËÒ²üºíLkÕò+×p\×µǯ̶s<×2<dzmÏq]Çq=˵ÍβÝÊ®ÌÊZò¿õ+Ãî¿®ÜÆ2ëÊölÛó»®–KÏ.l×4l»ñ+Ëòlϲ·­üÆr×® Óô¿°[ÛoìÖuüÊ. ˶[¿m]ÏoíÖ°=×tëÆ­l¿v¿­K»²kÃ6ì¾5ýεDz ËvK»ô+Ëïk×/\Ëñ̶¶ëºs Ûsm˵lÃsL»­]Û³ Ó­üƱ+¿óûÎ1mÏuüÖ­k»ô\Ó/<¿±+ö Ëñü²rí¾öì¶-,Ó/Ûuý®DZìÎvûº³]»ðËÂZ² Ïñ\·îûÒ6ÝÂö+ËsÓóÏï«e¿uÛÎò;Ãv-¿5 ³ñìÂ2,Ïp+¿P3m·ríÖ°ǯ۶4ÝÒ1]Ó´l·µÝ²ô<ÇplÏ.lË6ÓtÏo[»´KÇóëÚöÜÚn+ÓqLËïìÖïL·®Ë¶ñûÊö\·õkÓ¬\×. Ï®·ó+Ç-»óÜÆó,Ëmü¾µ ¿3LË6m»6M³ôûÊòlײ ³3ìÒpÏv¿r뾱ݾ¯íڲͶ0]³¶Ö+»o+Ë-ϱ»õlÏµí²´kÛï ËlýÊZZmmÛ®+¿¯ ×dõl×¶ËnKÛ® »líº¬Üº±íÒµm»ïL³tëÊ5\Û6<ÏoKÖ³MÇòkÁ±-˰ë¾Z¯+×o[·íûÒ4l×ðKÃv-¿o[¿1 Óqm¿³íÚð+³¶íÆmýÚv=˲–³u,¿ïl»±–ÝÒï;Çr ·t˶3ìÎvL»6ûÊ®Kö;·´¬ÅÊ0üζ·³ ³1,Ûml³v\·î,Û¯-¿¬L·î;Ûq[Ã4üÆï<·s=Ûq¿ìüÖ³ü¶´[Ïîë°-·/Ërû¾² ¿-lÓs»m=Çl«åÂs̾dslÇîÛÒ¯– ÛqÛ¾smÇvíÖµíjÙ5 DzÏ4 ×pMÓsܺïüÚíìÚö×¶lÃo-Ãvk˶üÊq[ÓöÌÎí ÓmK»± Ëq ˲ý¯ÍδëÊtìÊ5-·s;Ër Ã6 Ën<Û4ìÆ²;³°ÜÚò;»u;ËöûÆ5 ÓnÛ®ÛÚ¯lǰý²sí¶ó+Óó[î=Ûp-³ñìÒp캲ݾvÍγÛÚ²lÏ0L»n,Ûqüά[»ukÏñ+Ûu+»l]»´ »³<Çö ¿0;Û®Û.,·lm»dö¬åºvËÒZo Ï/l»õkÛ¶=×tû¶;Ïõ˺ïÌÚn<»pK¿Zo[×.ýº²l¿5-Ç4 Ûr=¿ôüÖ­]ϰ¿s]C½vë¾-\Ãp<öì¾Pn E×6=Ïó Ëll·4̾¶ýÒ´ü²°]ׯ[»llÓvüºqÍÆí<Ïok¿3=Ç´ëÆm Ç0Ì´K6×mÛήÖûÚ­ÛÒv[ϯ;Ûq=Ûðë¾u+ÃsmÓv\Ç4-ÛðLË,íÊm<Ӯ뾶íÆomË/[Ûo[ϬkÓ¯Ï0̾vëÖ1ÌÎö\³³ÛðËÂvýÚ,lÃvüʯ]Ë-ݺöKÓ± Û3<ËöÌÚ®;·r\׳=Ï.íÊ/]×öûÎ.MÏ1-Ç´ÝÒsmǯ,϶k»4\ÃðlÓpLÏóë¶-ûÊ­[Ç´ì¾0ü²nì¯\×/ ÓqMËö<·6;Ï-ûÊ,¬%·3ÜÆµKˬ=Ï/ÝÎó;ôËÒm ³r 5¿²MkÍo,Ëuý¾4kÃm×óÌÖ/m¿.LÛn-¿í ÓrÍʶìίÜÚókÏ1뺴ݰ;Zn˾¶=×uüÖ0+ÏnKÛ³[Ï´ë¾ðë¶.mËtL³± ×µ–l×1ìÖ4ìÊökÛP²û¶4ÍÆ6ÝÖ²;ÏñëÂð×°\Ï1MíÓt ϰ\ϯýƶÍÒ®ÜÊn=»1ÌÚuìÚ´lË. ³nMÛ² Û¯ËÎt+Ëlìº/ ³ö\×3 ¿®ý²m Óõ,Ûô\Û°ÍÂo ÏvÛr;ÓôKË3+ÃðûÒ3k¿/ Ã4 Ór+»³ Ëu;ײô]Ë6lÓ5Ï1 Ûð\Óò;¿rûÂñ,»î×í̺v춯íδÍÚsë²4í¶2]·.Ìʵ[ÛöKÓ/ýº]-kÛZn;¿°ýÎ2ÍÎn]»l ·¬,Ï1;·îL·l«DzÛ3MÏtL»±lÃu+×´ÇZv\³3»qÓ±üÆôÃ­ÜÆol¿u̶u[Ómûº±MÓ2;ðk³t åÆ/LÛpìÆ.,·óû¯[Ûs\·¯·ï¿3ÝÆqÛÖñ %Çv<ÃoÛ¶l,CÅs\³m]ökÏó×m=·1ׯÝÚsûÚó+×5ܶ4ëjÁµüÒ3<Ïv<»°+Ç5<×0MÓðl»±«e×lm×íLÏóÜÊò캯ÍÚ±ý¶3 ÃsÌÖïkÇ. Ó¶íÒ2ÔÛºn»¬;Ó±ËÂòë²­³4 õº®ÓY:ÝÎmÜÚíÛÖn ·- Ós ÃpLÇò<»ï[ϱÝÊì«õÊñ·¯M·ðëÚóëάìÂoÛ¾. EÓ´íºpüÚ´ÛÚ²íºð+Ǭ¬ÕÎï[¿. õ Ã. e¿ðÜÖ-Ûε+×í;¿]ZrëÊ0]»ôìÒ/L»6=ÃP5,Ï2×´kÇíüÚ®íÂ/ÌÎ5”ûº0” Ûs\Óðë¶0ÜÚók×ïûÖô UËöÌÆ3T\»mû²ò³3-¿ð<ÏP2ü²³ åºð Ó­ CÍ6kÃ/ý¶òkÃr<³¶ëÚ°ÝÒ/ Ã4ÛÂm¿2×âØm߸žeÖ…ªcŽm—µ¡êö¥åžç7~ÙÙž_xž_¨·}_ºm_ûeeXv_9†éX®íùáv~a~]ضc8~ṕÝö…íù…c¸†[z®]Ønã +®c×µ_[®_¨Ú~e¶~iúµë÷eáê•g—¦ß¹¦Û¸~áúe_ú­_—•e—~ëú…ŠÝÙ~¡ìö}mئ[÷µÛv¡dšmé¸¥áØ†Ý™…ã8¦áÚmÙvv£¢ ì8~ß·¦í†k8žc¶¦¡ìwVSƒ+KãZ[Ë¢‚M¬uqE}yq¥(3K;qUvuf6u3³’¿Ö¶Àò7váµ2.­4.ª+2°Y\V ZYË,ŠkÌEÖØ–‰ދŕØ™‰+2°jcf$®Ü¸ÀÚ¸Ò¨ÖÊTh€’][«nYš®i–Žç8žßº®É´^Û¶çÙŽ]²Tî–J*=ün1ör¡y9S&œ.¡@]†â˜«HÓÙSmé¤ÚQ&ó Aû:Jd…ýÜ„qWài×ïÄqáy倂Ør©ƒð¢™³öxøõíÅü>s.,9®¶¬pŒfn´È– ¢á-“Çéˆ0šº„P@i1îß`…RŸ¦Á±óbvð%ª\úv“HÁ¦žïti×KÀ¨‹:Uh~g‘ñã^nðZXzübY†üû™9`XÕ]&ïÖÉ"îFYÄõ3;v,/<ú[Œÿ‚£Ÿ~Á±_eÉñó]vðº¼.f‡îfˆOffÉ®V¦I•fˆ~â÷1–Ój:¥w:ßeoƆ¾ùˆ2Ÿx2œ8턯¡Læ¬\Þ°`â°\Þ°dâ¸hÞ#ÀpæQ]@ù©/0ú_@ó_:ñe>ïJd®AcÆß^!‡`ï +Qä+ä°`cЯ“TâR[BûY8÷`2ui`ä&Ȁ⠾tÞ€$î6•Jœ–2yøÂ95aæ3¦³•ËÜC–LÜC–L|ÄMÝÄšN0ô¨2¡»‰3´ǽ–L¼~R‰ÃDûZ,õX0q—È¢~iGEJdû(ïzM({+)œY7•N=Yø–T^6÷v"?G ?Ga¾@3¯_b¤ë‹úÒ~ 92j„LÀ+N&wi>uß̽ÌËmË¿×!¾ÍÝDP¼Ä¡7‹bä;›¹ àW€K€ÇÔfH¥ÖÔÈS,0ㆥ<Þ dèåL™u8F¶[‰2fyWàa¨;¨Á·CÑØk‡òx î @÷؇¼$ot¸Æ3ð¼óÐÈëƒøÆø¾/Ý(Q‡z±ÇS¨!˜ÄÇù¥ñF„l®`â-¾|ö#ÆpæfüíL˜s:ä[3aÔ)è Ô€îõdüõrF=DN|Ä™NÜÁ ?²0<' Ò+Û€ +æ¨\âT]fì$ÄpjðÁ¸_(`Ð_ ™×C…æõbøõˆê1Ǽ‚Â=B Á|v2ys ‚‰ÏL$sÖGb‡.˜xŠ4 ¹TPÞ¾by·JqW‰bN7¡Ä;€ÉœŠ(É[Ðq¨7ÔAxùœ¦0Z!!F`¯à’¯C>B¨ànAG¤o{4î-GV2™ÏJ(qØHdN;¡Äá"Œz‡*•º‰=K<ªÒ"Ü?ôg&™Ì?LÙÄ+Ì8d°é·O¸!¨ÈbOC> À7ˆcÎ +&.BËfN'‰Ô1`ØS¸èGñg/¡Ìá"‹;P@AfƒÌ½Þ‰òîÂC¾A'ßRc\ÏÔH7+qÜ3ô ô)Äì!¼˜`#¿ÐC°¿ÄóŸ*íhò]9MÒýC|i=“ãœ_¥§©<æ¬Ã&É:ÞéÒŽo‚t‹(îz îM”v»R"æÞ/”wÖãaI£eþ4‡íê^’œÓé)’ù‹dQW°™·é™é;l]÷Nœ×ýcWvï¸qá8fWR7®iŽ™VØÕtÇ­K/2TÛòÀö¸-Ü/lâ{²¬cÐwðù·?UæõHŒoŒu`ònúLŽr¾QáZï„I×SÀÈñ8fTL Gp¸ÆÛY0§*ÒÀÈc%¹‚̼>Í7"tÛ*ë| 5y > ù¦Jº⚎äè¶gð‘¸ÛN.qV4o˜HdN¡†¡+D‘§pcp‡úìsòö”ËÛ¦R‰gðaÈCyòí ^ôé4Ë›D˜Ð»D˜Ï|>"™3àìã¼ä+Ü(Ü1ì@Üe%‘xL¤qw‹$înîN“xñ‘G„•ÍDM\V‰·>y €¾’#œßôH‡´ØÖ³<y^>yU.s#Á6ÈÎL7Blã%äÜA|é¼W”¡ÈÒ‰3¨Ì°ãww0öqE‘|þξÁ¥Þ„Ð@¿õ¡È[ÈAhTø†ðmwš´ë€úõrõ­ñI‰o@ùŽÛ|§Êº =2>©qN ã¯êÇK áçgàQØ»=} 3}¦FºÞH° B¨à.!F`¿SoðÙÇ_àq8ÁF Q![ïTYGć °O2ŒóæÊpÆ~¡=³§Î:~ B=~’ÈC…æõ³~Â?¾ÅP¾DO<Â@=‰®W0™÷;EÚY 1øsHb©cØQÈ%¶ñ>ucù Ù [$ò–Lâròj òf 6ðÜó—ëø–z~\Äq¯—LæjîHŽn»Ð ž—G¨!˜ÓQ,ïW:oV£ÞÀSs¯ÏÐCQg{,êròdöO“x>Ó#‡¼†høùhú@hÞõPŸ}|†ˆû†*–@zcüO^ÄW‚Ìç÷rƒ_qųo{4ÆC õ: äna¡¯àQïO:|û•ß~§Êº¦È9÷Ç"o!!ÿTi×áíw&Ç9¶žèOgMlçaóÚuδòœ²,<‡,kÏ1ËÊ{è¾ö ¾1>êÅß7YÓ*Ÿ< /žý/›wÒãC†5Õaã’&AÊå/Ç<ÃC>©±G‚„ÃxêéhôéO˜wü„…; +0Ÿz e27*tëƒòÊz'Í:žr¸ôH·%¶ñO—vý~»‡º+„qêç;]Öùj òfòvò!¨Pö­Å.¾J÷r£±ESoê§=¶éP1ôøf^äU_dð!ÈlÞo’ÆBè_¯Å3/a%³?aÓåR—:¸SÃï§@ƒ—‰Hæn(òBù\ ‰=»C‘_ Ùç+¸äÛ-à0Ü1è8ä#àðÓŸ>ñt À±û‡ ‡Š¡ÇÓQ*§µ’J\Džf_|@$‹fN/¡Ä)Ð(ê3Ó“áø¥F¹þèðmOðx×?õë+äìç$Ž;ˆ.š¹ ,žº‰19l$2·PÀ¡þà³ÏO ‰×3絯Ó-tÒ¶îizÜ’$X\Q|PK| ½!|òfömÆ]¨`¯T8çå¡a-)¾]5àÔ£65ÒýEh¾Ó¥/Цž‚Ë%u>2™ÆíÛø§Ê¼þÃ&È:¿È­gj¬ó%Äìá Š=„{>’#[ïc÷ÅûÔ…ñD|h¾âõAç__A¡°oz¤#òSã‰þØv¥G¹=É1noð™÷_èAØ_ØaÈO!”W†”Ç?5òõ†i¿O\XÏÃ&¦ï¬éD|gT º2?Ç,+¿qÑ[­ÿtj*±bZ±©0®'†3¯‘\Þ +0ñŠÕ&ÜÜŸ*õx!>5})Ng‹$æ† æ"aµuåÇov@,<‹¾„M^ À%Gº¸0"@µÁ§ï*YÌQxáìCP¡ìYˆ<ûz˜;l[úš[IE¹ú©‰3zÜDòVð‰§?mÚí‚ êv–JCF\Ž@½5`Q÷ å2ñeÓDÎ]„ͽN©»?yŸ~>M¾jSÏ7dû“ã|Ÿ|$RŸDöf J€1È3°äó%„ú@ ãv @y  êHoyQ¢®À“AgŸNFb¾!ÊæTĘ7Þ…† ç.;™¼5ühÌ•åø ½³}èÿ¹#ÓðÊö¦G:&É9žÁ§?7yÌQ|ÕCtáÄk$™÷ +,/x©,Ÿ‰(œûP¿~õ­¨Ö(,*ìÜŤ¡n]!·È2C¯ qGð·'ÆýF…n@th|R¢5‚çßoG ßô(÷õ­yx2Ù›¸Rù‹¨RÙÇFy£@8"¿µÁ ƒK=?Ad‚À6i‘M&¾†„NÀ¿ÁduÁäž¿ *çS°è»@u9ÉäýqÔ)Ø(Ü,ñxŸ¹0^H F¢È“˜‚Ùw¨r™;MÚõÕ"¼ð£²;'Ë9ÿçN¬¿ÁÒ«V|ÅT4Œ·"TÛ%Ðäå#ºƒ{ýÑ¢›®ÃÖuGÁüª,½*çLK*ä—–¦ÝF‹lùÒe\~AÈa΃©ñgaÑñ³CO‘E³¯‰DòH‡qH…qG‰n<ÜW®ó¶5UŠ”Ëß#y+—{)“;P¾ÿ¨ÐM(ïli1î—0ƒPw‰,ê +(Ä01—ÀPo•0â¸\ÞløõO™v}|û›¤1ïpEóE31e3'!es'Q“ïÐä2 +èá™õ;k]¹OXdGvá¡aä1ÔPä¡,÷ž÷~Ö¢Sð/úSóŸ*íü^,ó[4o <s¾°{îkÊc÷… é¡ñB÷^^Ü(ØÀÀ§Ä„ö+Ð|ò´dâ/G‚ @ +´O·ÐÃP¿Ð£p‡8ædúH‡p¾Ð/´§–O Q¸¯ØC¥Ÿ‹Dî%ªhòVT`ü ¤TæeéHŠn=‹//ø)04ô6Èä4C‰»ƒÌ?ÿ‰ROðx×÷ĉé;l^:Ôf•FÒÈÛE${ 1{1=Hïl‡ðÙ÷S˜!Ø7èäó“Ýüœ1úúßV8_Ô›çÍkG2|ëTêýN“uÿPßYŸcv…GÁzi´kŸ"\ó_ Œá†Ÿ¿)G¡†`O!L¤q·›Hî¤Pæ^üõHŠnѰÇÃÊwغø6/ˆïìjeÞßtXG-â[ó— éþ‘zTœ¿ƒM?¿¥ßO!†à_Ç ¯ÁE]Á'ž5ë¥Ö+)9m¿4AåÝþA‹¥nG¡Ìc"úŒ¤ò–@cpGJ„ã„òåµËû„™Ï|ŠÌ _ÚôOQ¥³‡°è+!ÂQîÄú"@¶ýƒ—Í{ÐÝíѸGx!ØCðüó¡,ù˜ë^ ‘yëc‘g ™×#Îífú³‘HýÒ¸31Òù¥u8€²—4¶yá@tf|ÐÙï7Ö÷´‰é:g]:eZ9NX¾Ó¶¥÷¼}ñ?rb½‘`›¯ÄøFí¡ûÚWœEÔš¯ˆê©ëâ%Ìì`æý9eZøºçÒ›+=¿¹ÒóuJÅÔJ¢C +2—<ê*ÖØ˜’óy·AuŸû‚̼žÁ垟aÇ!O+yÜ%ÄäŸ*ñú=„ÏÀ¶-=úÅK}æÂö£B7¥D9Gì*¿q¡Ks̲ð£Ã·} B]i2n×A“â”ùÓUoÁbMáaÄÊbC‰5G‘" +ÖWééC…hxÏXŽsFöÔ…Ý?{aú ]ºREI­STSÑ/üÞyÓâòÆx 0ùX:ñZ'òsÓwâºð4xO›˜Þ÷Åý©ùKþ\Yÿ#g¦ å±írò%μÀ‰þØö%GºÝ=€1af3fóv…(òF†lýР„}O”z¼ƒÏ¿}‚ Á^Œ¿ŸfÞN—Þ#çÕ/5ÂQ¦ý9eXxN–dgæñýMˆuX ,õ°œñ|¤A¸Ÿ(íOàH÷'ÎõD€h8kÔéÍÖT*JæS-MÎå*°tö$®lêM‹u~]ZO´§æéí;m[zÎÙÖmdø–;ˆÑÇËK"óÚ %.AÆ_oTȶá5èìóå"‘ú…õ&G»¡?³ÿ'ŽŒÂ3ëßx¨Ë>ßBž¶±$Å7çß/áð'ã‘ß|–}þ‚…†½ƒ}ocýΘî3G¦݉õ@vd«OEµþUQJ—oQ\`è +ÿx£¿7²¯=(oŒZˆæ÷Èí:i[8Й"ˆûäQW`éàóoWP™×7AÞíE~jÔ»2#B· : +û 9ù'Ë»¹²>èÎŒçKë‹úÜz¥Ã9'Ê»*³ÏŽ¿ý‰O.lÂ+Û‹Ùö£Ã6D9_H¯Ì÷©ÓèÆöŸ¹²ýÇN¬§JUE¿viPÙŽ¹Æ[Î)ÔK:|£RAÈkèaØ/¨äë¡2÷z‰æôÎC‰{ÑŸZodÈæaÜ“ãúŸ¹±>è7"lóÛü#Ä5ßhÍýq¨´8ÇóÀqí8fT\'.ëÒÓ{èÂò·¯ûÈnoÐÙçCuêù@|eyì–F¿öª ?3 +Fޞȡ.†à>á†à>¡Æ ?¡Æ`|@dnâ ç^Å%Ô/¡E“o°É÷Ceúõz îðÇ}Á¥žå]ÏÁI¥‚J¦N3‰Ô[ŠýÒbÜï'ÖñýP˜{T 4úˆúÔü™ +åÔ1¦%Ö„Þ®`ÞdöH‹oüŽC~”J|Ä•MÝC–LƒDž&_oTÈÖï¸ué;oZ9ÐÞ˜áÅ_OâK&/"‹eÏ`óî×is¡ç¬aáIoý‚N<þ¨_¯ 2¯’;ë…îÖú%Ź [/ô7–ƒ–•¯÷ÔT4ì®Zðo'¡@ )ÍÄò~šÌë™éúž·°=ÊE½ðÆ|§Ê:ÈŽ¬ßqã‘ßö ?s`4q_8÷ T0q…úS¥¯´8×;MÞõŠp +.ï| <D1Dæ|,ê>÷‚ôÎvܼ ß| 1yÄþ)Rϯ@ƒ°ÏðãoÐÙ„wÖºõGˆo|Y?hÖ ®ñC}g½ž™_4˜Ö¾õFƒk~ÑŸšïSÆã¤ù8ÎYë°uÝ:o[S >°]BÂÜf‚9UqT¿¿Üà©´ÀèMTÙä#Àäݼä)Ä ä‡êÖü80¡=„O?ÉðÍïãq¾²ô¡¾3ÿIÏwà™wå$I÷ ¦!ècûîÄú8º±½ÉrŽoð¢W€©Ç_ÐQس(îfýô&kZE”h¶ËN÷[0sÖÄ}Á‹¼ý(Ñ_r¤Û/ô8Ôß#9 ‡:lÄ1Ê÷3W¶#\ë"õøž=M=*“¯o},òxòHˆnþYï'ÖûȉñBxeT£B5*¢ÛOä—Ö̧Õ^LAé¼e%‘øƒÐ¿}‰RÎC~F©ÏG&s˜H£¾ÀRïG/ŒÇ1Úæ¤aáD}k|…{[0ûV*}z¼NÛŽƒæOúÆô&G»ÞBŽÄ¼VR™CôHâñ^üõPŸx>” <¾ =^¨¯¬ÏIs1ݙ㺇Ïò :u[Šå=/‘Ädî]ñ´yí:i^xƒÎ>? Áž'îK×Isñ­ù 6ùö ? u (êtJ¼vB‰càaÈ7àôë-Ô(œ@ðÈ­7"tÛŸ*íz 3ý +8 ÷0y•y=’á[_4˜Ö -1ÎõPš{~ƒM¾ß0®Zã(ïz—zþåQ¡ÚßÄhç7ØÜû¡4÷þŽu¿‘`›_Ä·æ'ÆýMtÿR¢œï$I÷!¾ñF‰jüP YŸ£¦5ÝËÊ{îºvž¼®©OÝXþt™·£@ §vÙÑG‘¡‘·Bq&ǻ݈кCã‰öÖú¡»µž‡Ík²#ë™éú¡»>“cÜtWæÑyþ *ñ¨>r^½Ú–íò§9cXºÏݤGÆã”Q§9f.¦IŒp¼’d›otȶ/1ÒõN”rԧʼžIRŽÿÁÛyÞºt¥H7ÞAž¢˜OÀÈ=¶é@|eùžØþC7¶ ¶QÊõD„húŽ›WÎó–#lã ßz&ƹ$F8 ;²Gì*Ç»Â}äÄvâ\è9kW¹Ž™‹üÇN¬ï‘Û9|ÙœÆQ"§¬ÄrøT™·#)ºõ 8õø 9y¶Ç¢ÎâXä™ïz!¿³H¯lOYçÓJwY2ñY.sU*{™ÉcÕé·²å=xa¸b›ÞÀóoŸ›TNApÙ¼ÛŽz“åÄø¶/øÜÓk+zˆ2šù……»Ñ!ÛžƒæâöÁËlÊñP¡{:ë#q§PCÁ&ß^Aá¾@3¯ºKÛ‹üÜt¤A¸ d·#)Êénî¦dâìEÞç_O¡†`ÏîPܼàû‰úÖz ;3ÞhpÍg°©çwþõlòB‘ +ãz!¾³~ègŠ”CZdû—é|!=5žG Ìh­÷#ãwÖÀô¹²¾ˆoíOYç;øÜó+Ìü+Ìülú==æýLŒs>‘_ZÀPÍAŒ>ž‚¸+5Îí1ët§L»}A§¯È¢þÁË&nG™Ì¡^ìõ=s`¹ŽÎ4I·ÇIwÚ‰dn¡€Â})2®ç¡»yäÀp ¼±=èOŒwð¢(îµJ\Ä™Óe>qbt°o@ù÷+%Êù=pa:B·½~R‰{ ’‰?è lZ¬ó—ã~&Ƹ_ QÎgZ´ë ñ|—{¾Ë»^e^OaÆ`_ÁÆ`¿àÏ7úsûìÈz7/è éðÍâKëƒòʈúÔz¡<4ŸG­‹ßAûÚîÊú#A8Ÿ%õIÒî‡ÒÜó%Àøû¡6ó~§Ç;m¼ŽÚŽc†%%\Ó1üHÌ?`Ù¼Ÿ,óö¨WoµR¥S8gÔiŸ™ÎÔh·ÇSñ¨Ø¸¥lpè-ÄÌÈa"‘¹^Zo4èÖCø ìå"Ž»lÄq_¹·ÀRÏ_€™÷ñ>ua¼Qáš/Ô—cFÅyäºtž60]Çm+G kšƒvuïÄuá:i[8ÎXã¤õwôë·Š‚íU:kY÷Î×ís÷¥õ™é=u_zNÚßhñUë•”jõ§U8gþÝS÷•óÔqåÔ'ž¯³Î?B|ã‹ +Óv#F¶¡Ü>ˆ¦'Äë™ËqȰ¦=rbø¤Ï s¯Ojtë}èÆö70#D7]hO-ï‰Ó{æ¼v¢¿³>Á¤_Ç O"Ì ¼JŒŒ=Å™O=6ÂdwÖõ­ñ@ýx =w¡‚;â?Ôwæå•!¶ùKŒtIo=Ra\°ÍGBtó•á|$Ã8 Ñíº3ãuκòµ¯½G.l×;ÛîÈt"¾6ß[(çºý?of~ÝÙŸ”èFU©G}’¼ûïü&F»ŸÏ¬²Cã‹üØz :3^'Í ×IÛºÙö‰âỷÓô¯ÊIãš&9Æ%´ë„úé6L© Ș®Xªw¸¢y3%ÚùAxgº`Þ´\ædü5ØäûŸ"óz¢?µ¾î‹çëâ{èÀv ¼0_诌çyûÚqή¦9kYwÖ´*º•Oá”õUѱž*‡ â+Ë{ð¼ò¶ÿÆAë¥Ñ±Þ*JæSé¬qMwàÀn¢A5Ýç.LÏAÛšæœuÝ9bYyÖís¦ ý•ñD„i;ãÛžÀ²ŽÇÐq· c°÷±ÓuÖ´r‚k}Óä\ï$‰'ć¦G¿ü;æOo¼v«èØ/ÍQ»ÊuØ´n7,ü&랺Á«n¼¦TF„l=‘ŸÚ”w–ªíI‹p|Ÿ™ÎÓ&†ïÀqÝ>ubyPÞÙîS¶û̉íB}iºQ \Ÿ´(ǾíAyf<ÚÕÔG¦7UöÀ…å;p_¸O]˜¾ã†ãŒ]IsÔ¶¦B~i9Ócÿdyךñ:l[yÎZÖ ™ÞàE´øÆáõ>sa<›—¾ÃÖ¥å¡énâ´dNm-–·ƒÏ¿Ÿ82J“¯o°éÇ'€¬ó“åx¡¼3¯l72lã™ëx%Ƹ`?Ä—Öï=qbºÏ\ÿ#'ÖûÀñ?qd|Ï[˜ÑáÏÔHç+1ÖéM“s|Râ[P^™Ï³öÅûȉÒõKrþ¥ÝdøÖÿЕí>tc;Q Z Û„WÆù©íL‘tû‚MH¯l72dÛ—åú'K<^çy Ëwܼò¡Á³ýŒ>ŸÂA>‰qN4Û‡ÓöŸº1Þ‡î‹ï±óÚ‡Óô§K»CÄAæ^ïC'¶ë uÝ;o_·OÝXŽÄèÆ?ÜÄè#úCã…ôÐø¡¾´Áa›þ”©§G¸¨OÀA¸7AÞíF…oûÜ~T8·ºõLt½"œÏôXÇCiîýBw ;s ?ó ê 4ó~£Á7>(ÏŒÿ©ãuÔ¸òµ®éðÍŸ C°‡ðâ¯WJ”óáx’z>„|†H†o~ÞÙÛ”7ÆšñÙú¡¾³^ˆÏ¬/Lë“ß|¦GºÞHЭÊ;óðÊx =²}èGRtë‰üÒz ½1^HOR”ã•çx&H¹þÉò®g€™÷7èäë-ä ä!¼øëß|Ÿ·1¿èO͇àù×ÃEõ 4}ƒl=O[ó…¥õù 0ñ|/ö¨ $ç|‚kýQ!ÛoÈöá‘õ>t_|NÎãæ¥3QÆõ >ûxœ}<˱×Àc‘ϱWbŒëqÄøéJµš:$Ûc'‹»‡-•º…‚;S¥Ü>hÖ#%Âõzêò’È\ÃE݆2™³@ +ù¥Å¸_(/m'òKëƒðÎv ;²~‰‘®‡ +ÈkrÈC€Èù¥õ>obüOYÿs'Ö á•Q¦ýG‡m>‘_ZOä—Öó¨‰å8aY8ŽØU.ÄgÖ+%ÊùFƒl}“£]ÿD©Ç®é:j\øÎ›VÞSv í­éÛx£A·ÞȰòKÛ ºéÛx!½3^¨/M/ +\ã— åx0ù1þö%Gº]ˆ/M÷¹ Ó‡þÐø#C¶>)ñÍgrœë%Ìô_"޹†;ƒM=ÿñò;Ûªñ +8óö1{ +5yœ}¶ÿHÎWZ„ó—ë|¦Æ¹?ïl÷¡Û‰Ñ|¤Ä·¾I2îOJ|óƒòÎö ¼2_éÑÍWjŒë@Öù &íz¥Æ¸^ÉñÍwŠ´óŸ&ñü&E»Éð­/úSSj<tóîÈü·1?éðíÐè;MÒýèï,zQ}æÄtŸ91gík÷‘ã}æÂv »³§ML‚ùwìÇ{àÀøž¸.~'ÎÅž³v•ç˜eá?va|˜~“•[ÝPu)ÜWž´Çó°uñB{h|bÙÕóåß9gYwÞÙndÈÖ#\ã}èÆô93Ýg®,ÚCã—á†üÔv"@µýñ?B|Û‡üÎø7¯¼'NL_jŒëpêQdÒý`üý~$î>{=„P@¾Éñ®TŠürÊiSd^ÞT‰—C½øË=„Ѽ9hÙœ&IÂéA{fúR¡Ý/¡sП C°oð9ˆ;mîÝNœu:Qáž³æÂ +ÇÌŸæ˜]åZ–i`GÄâ€Og€6S´*«¬ê—©Õ))âªtÕÈ ¾šf…Ýî=# ôŽˆXò÷ªP:âM‘ñè¨%î«J€&ªiLÀÕ)"6T¿Œð«¬àª j«*€(¼Ê@ŠºjeÄRusÃÂZç2z ´Ò°J3HXé¥kÑ:¤³ò¬*@Âd;!/ÐIå«¢ã\dø.F]GlK_[PIaâ #¦Ùée‡¯JcÄòؘɫª>¤L3ð¨jÈÚªN‘®¨*‰ÚAìBáãHÆâ)Éa +¬*š}hзªˆú«°°ª2€bªúÀ‰°*¤à¾À* ¦jH@Õ\ÜyBèÕ¨RYU pÂBu NíÌ1kn¯}7½’¡x×*8Â:;9­€ŽÖ=Hkž£Á +´Fg( È$!‰X¥OQNJLÅ+|}bÎìa°2ý«P¬àÚhÉ É(ÐGA£%9DÍ––2{/»Y›.Ó¬j«¼eŠª*¥E\¥ÁÍšb¯†a1W¦p8 tÂ@ÏXƒL×Ý ÜYU5-ªª[V¨^9á#~šÈÙ<@ÖêÃ{^ùÃz‚…Õ† +_XÁ<°+[ + «ŸU†5î„„uŒ~°b]h°ZA-X_#¥µAQΚ ÇÐQUm"e·@=-L ꯆŸÅ€=ë}Udì"à9•2À üËúµ4Qx*èÀ)4Q¤¢ð2JAÃ|5 ¾& ìm À +«)ªeL¼U %ž0)â(Ìà‡!)ytfÙ7Ôx-ì5à„‚Í¶rpP½ñÁ®Z!W­ˆ P-BA5F‡¡,ˆ4Î 1x]ì5¬€7†õïfW´V* +K« Jk¦¥µ^JZ5-EWܸñ Ü蛚6Àç¿Ðø™ïöuD +U>5Éh’ ŒG<&@"ÿ˜X:Nbq{«& å«_¢ú꘨i• U-(&TePƒâAµˆU-#2TŒªÒ· ÜÜãÄNâ2()”¦üÉ:Eì4äyÓÐäöBøî0ÌÓ£ÃÊØ5aÃ)¬h(2¬,.8XYO«ÏÒj´åø0åAÁ#Q÷¥»òJ–L¼*m ë |i¤‹"ÅÑΉ‘yJ€<â1âx·DˆãÝ’’ƒR-½¤%þX“õפÞ¬ºUZu*U-%*T{ˆ@@…ÐC7;hJžb}¤æqCÓ4;L¨¡¡šD…ê ª3<$­YôC ^Ý@å$­ +tŒÖ!  ¥µHh-ÊÅ«kR@ö=±\Œ«²FQnÊNG-yOȺŒñ¥ŒRðH&eàœ”0¼9î8³%º…ŒÑ/¿5ìbU5S]Õ¤FTËQe#"AõGdfñÅò¯”9»J±kš kß6Xs Ö© Ö:ÁÓ +9­¬‘ÓšÁÈie¬8X­*DXµè+Ü k—a-ñä´b RZà Xíìà¬:„–Žš†øPr‚¬j¦jO ™ÝÅJðÕU+ªL¹x@Š4rïHI<%M<ýPyD,’ØØxÄïÏǘ«90 L§ªhP¼U%# ³Ã‚* ?`Ýž){o´Ç—†usÊ®z&(¬`¯ƒ5Ÿ `rð´†XR°~Hà´vhzZ禦ufrZi¦¦ÕfRZA0`ZI0hZC@hZU@5XE,€Z+9­FÑ£uh%Zyj¨SÕ0*ù”Ô¸´«bfÏJšLº- hÖmQ“Y—åÌ¥Ý0’xM Hê%9`2O HÀ$–…Mcxé3¨èjoµ +ˆ¦jŒ B]eœbïzXUa%ÛÀ`Åj—Ö –V –ÖœV) N«Þ.XÿwÁ*!ÁÊBÓJBÁ’¢¥uRSôhEZV uhõYt¢p}†¶4¨rä‹’‰Y‡eŠæ6–sZXŒ»RƱ.ŠF<$Q"óp‰Ô; Êc‘‡,&vb1ó#Bæ'«®¡ +QíBÂAõÆ -tôFW†ÕpEƒÕQ +ŠçÂ:æ6X»X¨5+ÔºâA‚FRZ-!­ ‚Ö@Gë ¦µÏÒªEZÖ£¤ÁÊ€iu³´>èYZ¡€’V¦œ£UhÕÐÔ¡Š# úÇ<* ŽtS¸4ÒIQBié…rpJâc^"‘yHxúÙ¢égÀLAC‘ðj>Q»[‚†ÿª²™ªP ‚HÌ ý¼jWG+ +뜉«œ kk‰«Þ +Ü «ü`½0X?(9­ñQÓªhiµ¤´RðYZŸ¢H+QÐ*´þ¬HëК z´6ØYZ—pvnÖh¢&U&&-±¬Iâ-ABYWe ¥4“vRÆDÚ=‘‰ÇHäxK®@â5âx¸„°±qIŸ¢¦··'jr·*D’;D…h¹k&^aµÜ+¬…RV» Ö³YÁŠõ&X¥ 4­"žšÖ¹Ii}“–V AI랣•)J´2E‡VQ£•ÒªçhuŠ­ pŒÖ¦¨QNTÅ…ªZH0Z ¤¼“ÂD“ŽË˜Í»+c:í´Ù¼Ë¢ÆòNÊÈ:)X ñ–p™ÔK‚…²¯ˆ…PÆØâåUU@j®>A¡Ê#4‰6ŽŽ­x\Qa%Óà`õ<­Xž>!­Ž–ÖFM«´´f@ ´VJZY£¥ÕBPÓÈimÚQZ¬F«ÐJ]qpÖ¢µh5Z‰nÖh•üà¯`d_ÏË»(Y0ë´´¡œËÂf²®J›É»(eíš¡Ü;à€Ë½$O.ùŽp©ì3 +dáËCN*g€:¼hqU×H¡¨–1!¤å®Ã*i¥!E‚«‰¥¤uŠÓzK`ZqNkoÁi‹¬]±ƒµ¬ž°þ"¬˜œV šV +?M+S4i%úÉéY£Ñ¢ž¤uü š(f»¨:õxçÄä]“%xK´@ÚAòˆ·„ä^{O:%ÿ˜d>ö=™Œücbù˜§¤àIÈÁ$’ˆDñ5T™„ +cÇa]d‘aÕ'<­*$­&œ–V*M«ôAÓJõ@Áj"‚Óúá©i•žÖøÈie¬t–Vk‘OÏúÃó³ò¬="4XQCâÑJ$å]*‘wNŒHâ9I™çDeÞ’%”xJœPÞE¡r©·„ +ež’)”zHœT)’ÐåÝ‘4¼VµÒrˆròòæþ®x'.¬=…k‰'¦õ BZ3ø­xŽV +9I+«S´h5Z‡Ö¢h%Z…Ö¥+”Î’ÐJ´ê¬>8Ds•ÊJ¼'E0ï¤H¹¬³fó.‹Ï<+l>õ¦ ð¢Ï‰N='d>ý’€ñä["&2PÉ%¤‘ƒH(_\!;¼á¥ ¬jfŠBUF WôºõBXE(%Xá ¥ÕýAZ[!£•2Z5ð ­­Ò*)­tÒÒZ5­¬ðÓ¡g Á*¤³ò¬ëMt‡iýWpP¦óWõ‘Ž`àë´Ôp|ûæ±î‰H>&/ ûš€Bú)ñ|äk²éx·D¤ŸÐÇÏ/cˆEÚ\JQÀ—\¤’¨„2P å#¡’Æ»$jv Õ$"tŽ|mXó@XXS(1­|¬p†V9Dk£•A´huZÖ£UhUº!Zà$­L7V hÝYVœ5çpEUÊ +Åh¶ù¬H>îAñ„D¬²éHÅÒ‘ŠÝ£Ÿ’MÈ<%=(õ”‰÷DÊæ^’)—zI˜Pî)"éWäFä ‘Ì@]¸ºª ´PPõpƒéë[ˆ +ëtBƒ56bZ¬D+QϺ³îø¬8«Î‘PÒúƒpÿj,"ÿš\Fê) ‰ÇDˆd“$í¦d¹ÄƒòEsoɗ˼&\*ñšl‘ÌSårIHÎ.f‚L%=­¤-† ®šfš¡Zã„ΰ «˜ma}‹”|pV hZƒÖ¢•hýYÖ õg'ºâܬÑ(S“žÅ7~• ‹Gk´(õ´`.Â1ÂeáÂ(w…Šc”‹TøeŒ“„Ì"'Yeò¯ ¥daBÊE*|‘œ]Î"aˆƒ 3IøÑQ¯‰ŒÃi²ìÎ0pŸ¨r9íÌšW1ÖKN++Ó*´­@kÏÚ“³æà¬8<+Ϻ]qtVžgÕY×ÕgõYƒV¢(Ó:³¢r]"nü™˜«œ`«À*²OJ¦#ž”vTt@æU ¤‚(9(%qr±ŠÞã EH=$HîY"©—¤ˆ$ž“•xM‚Lî! ™—Dˆdß‘„F.3£°ÍMYOQEc‚èŠÞ‡õí»J9p°FàQÒY×õ&ºFWœ ÁÚ%µáDŠŠ¸êұꪽj&ª«ÚFªð‰¾cÝ3’wOº@æ%òˆÇD$^“xJŒDöÀ²/É‹ÈÀ%”~J<#ý”€JîpÀd¤8JÊ,o‘2€9F Ñ +êfö¯j) Õ&’ĆXÇ>\X%ô$­=ëÏš³ê¬7ëMtʹZV¢iõY…pÖu]oÖžhM +‚Z£<ÀOG"KU0刦1‘­Ì•ÊD/w„^°† :F Òï å#ž“ŽwK~<ê1¹Q™8Åo1Y”ˆUúíši¬ƒbrÏ H>& xI”@ö!A9#Œ˜!˜5>WU‹Õ]5Û­ÚÆJéÊ_‰uKfW ˜Ö¤UhŠî¬C+ÏŠà†gZyÖž5g݉®ëº®ktÅY×u]×u]×õfÍYwVŸhõYƒV•g®8+Ï +´­E«Ñš`¥ÐDa »ò UE“Bï‹ä¢›$‹p`˜” 㦷@îA. ðƒf°[Zl¤“¯ɎǼ'8ó–äpÔ;ˆc^’yIˆ@î!Ñٗ䤟ÏÈ@%”€N$!“H>&y„,4€òѰÈ#_“5ü…*ŽÑBœÃÚ¿íZAhÁ´­9«Îгæ¬;+Ïú³­A«Ïš³ê¬9kÎ]oVœgõYuÖœ5gÍYuVžµgZ‹V(päÀL ò­PŠá§"Š–eb¥à +%aÂJbƒ{ç{8:ÒGB®.)!V€T㦙1Cµ5ÈŒÓÀâšêa0•U #÷¦p6ÚAQÒˆ§äÈ#Þïž Ü{ò¢±ʑǻ'@"ý”€Bö5ñ|ä[2ã±/I'äËÊÃ+€“6Ê€’Iãÿ¥ùÒó%à…/D£¦W$Âæ*®«²jT(ª_N(HÀRDo!p±>¬U´†êš„µ"­K«ÐJ´ú¬?«Ï´­BkRÓ +A j}Àä`Õa³ +!aËäŠ U+dðPÑ6 c”“CJ:îZ}Æ­0¢a—‚ €ŒSÕ.+öÖà¶äó²˜è†‹âÛ—,“Œ^èôÔ¬Éß`æ~¢Æ…d ”ÆI@'•{Mj<ê1¹1ùÇ$óRÑʦ¡•@Ê?)’’{T2íœaœ“’¤Ñî “F;&J&û˜ÀxtbëŒ&üV• Îf€3S¾z¥‡*‘IUG¬gTò +¢B…5~r°²GP«„ž§*‡iM-Z•p„Ö¦õhmZÖ'ּÜ=*Š(¯bíGŒX#$а&è±°*­PëÑš`=ZŸV¥•Áª”ã`…zº°ö,H=ÂMÉ Èh!Ø¥{#‹pbp0Ây²·ÅHd^OF$ +\‰!À‹ñË>¥Iȼ(2"÷ xRþ1á¼”²h‰É…2ǘ¯Æ*h®PÃS†z1›<¤(i˜dñ±OIgä ÊHB%}GjDñtd”r‡G¦üDuˉ +5 ‰»Ä:5·kˆ9Ãê!nW󻎰çõÆx]1¢^}©‡èV œ³/D‰uR!ª°héã’²$‹¨Ù2´ò@8å^óïK"ä\s]‚,¾}i2y×åE¤3^lÕª¬ªaTà)@€édá–¾E8-Mݾ(€èö%Å8+Q õ¤À`¬{’äñΉÊÂ*„>Ðjl²æ +RÇ.É>'žxL„<ê5©ñ¨ÇG¤ÞŽuPŒ<æ-щˆ¥Ï2°;3^v¯”è\  Ë!ÀeïkÃFw¤a¦Ëñó ™£¡”¿Ç½&5ù x>î=éœ,¬ˆh%}Ùg¬DTŸ¨x’‘È‚‰r1ÊN RÕ&RZU-Vs˜Áé@ƒ‚Y€¿,ÜòG¹Çe’’L[%Œ1d“=Òt5RIàêÏKÞÎŒ™ÍôÉÐ1c˜Yò8 ·rf‚i›ä¦KRI­F*l¨” é¬äçˆÇäG$Ÿ’—”Vä0¯àe~vIKì¢æ×³²¥Ÿ#³eÏóÂ…7´’æç¤ô"G¹73 +ä&$;La¯`Á’óÄß*EuÕ„/Q~5L‹»¸ý®<°û]q`g« *­ +€*­j-ô*›|u ‹¿Ê†…_E êªz¦ÅZUU6ÐtEîa©¤äó²H㌘Ý5xO*UîM)¤L»)£Ì8)A +¥dB¥XT˜D²å*†#=ÊÌxÍa)“{%¦J¬J¦êñÇ­Èf¼¯8Ðï¥Q£Ç [Œ¼ä¶ ‰¨q1™£Œ×% 0fœ¡_Ò ¥|Ñâ +€< ÔÀ·ðƒ'æ?ôRæWô‚Àÿ8$Vâ¨0À„InrIƒÔä‚& i…²¯ ($_ËIA+†”ŽW샰ÁÂ[àÛ­ú€YÖTU ÒK|2G/I».œŒp]š8ÒeÑá˜GÅÓÑK Ç9+Fáº(Y„ë¢tQ ßÚ*¼•.»$3]Ÿ6ÄœÉ@Är(ãðŠ"'/d‡RÌPÑ3mQ=2բʤ^mpËfÂ2«,ff~aÄÜRÙ×ÄSò¯ ¥åàÄIc¾Âª^¬¤Õ#UyœÉ1 ©Nö=ɤ\¼’G¹H…O’ +ad!ÃHÀ'‡RÌPé°Pñáº@éá´DñÉÆ$á¯`¡þ}!ÆQ ‡”A& ²O +åã]”‘wO†Pâ=)òH7ň£ ŽuVr4Ö]©ÑXw¥Æcž–JÊB.}—‡_ø,s˜ÓÛbfW„Âæ× s†É§e’2OË%fä¹Hi¶¹Àw|²K‰š-Ç&j°2mˆÛÔô¶çå ß« ¢Ÿh Æ”æ‚)]1·˜$üc1YœXð8 «úiÉòk5`D_+£Äoó²äçóß~á“Xóy“hcŠæ…Iïø„LÖa“.X|O¢`¥Yâk¡)àwÁ¦‡ß·)€Q!­…‘НJ™JL²uÒÐÊ_äÍH½)ž‘zV8!ñ¢ðp¤»2d1N ’Ÿ-Háº,Y„órÀ"\%ŒqZš<Ö]ÑÙ‡EqÒ1Lœ¤ 4^•9Ð|M†k°‰š?Ò€3[/BÁ¬q +r1ÔL̲÷È„ –â6 ”/Ô±,Iú»Ì[:¤ugÂèVÔ`1FaC%$ÿ‡@›|‘Êþ¢6_™3û_˜3<â5›)|î@z~&†o›:•1xf~ô½ºÔº4;p«j)š¶ÜAÐhfiÓ+Àæj²³Ëå DH=) ŽvRz4ÒE‰Âg… +£Ü)ŠpX¬(Âe‰Â8WE £Ü•&‰n^¤,ÂiAâX§ÇcPÇ?+ˆŽ‰\ê ±üQ>z™óìü†¹cLd2[•8ƀ邕FÅ OͲ£*#C§úòéƒ⣑‰¢—y¢Ó!F,’f+ò .ÚÄ8é7(ð‚JFÓ9u¢Z¤U•ÉT¬Ü`È2ýÅJŒ'9!3¿¦ 0d™1Àœi¾“f) YàìqÕ¤„^è«ÀÐØs0:v°.C|7,Kþ³.Fþ±.Cþ¬6èfl¢ä} °;ú@À…ä$—·HÁ*†„P # ©BòU¹t¼«R£Ñ. ŒG¼+ ’{]%¹n.vÑ{tÂ&kmÌ–<ðI˜ŸóPË¥ÞMÌC-}™‡Zü01½´9JIàê/K™þPŠª¥h¼.‡”ùâ“¢å¿rk€òh•aIâ­á‰ãt„B§YáïªHù÷¤T¹"cÄG¡@ |v"‰¨r¹¯£ùO·€^Ýafô·ü¦€ÞÅ™=‹40tZÊä 7QÜ/øäQ´ñÔ±Äðð§ ¡“ ª¯`‘6Y“)CL˜å¦5Hi¶ Å8ÐŽY€GÀÏX¥rš.ÌM0k˜‰Yø.³VòU¹œÜ£ÂI †,Œ_¬XT‘H(@Rv›P*Ëç +𨢓‚¥ rfK²ˆš­¼-hô/²LÙÄTÑÇÄ8Ññ4C¦T"½Z@É”ÌÌÝðÊ™ÒI‚\Îø{]ÂðWÔ\Y!óUi€™.Â+b¨ºLÙ+ŽV,”Ä»„@o03Aþµ,B°R4ð"—¤Oç€sŠâxTµ‡U\›.z¤‘3[†`Øø‰VØü“6Æ€Aò@Õ(¥Í/¹ æ,’Š'$^yQ`LNi¬|ÜB÷è-Å% üŒI¸‚Ô‘†+²Œ™daÂH?(—“‡Tþ&aŒÛóBf'ëRäïÃÜø©¾ÌØÕª@%D²« ÊêU}•—=æÆîµEH?ø„˦0`žž^Ø2oŒ!‹<ÀŒ–Ö~ƒw}´+Ï׫-v涬à'QÝ!•õ@“éÜ—+¼äf¶$‡˜á*T¢%ëÉ-E&d°¾P¢Ï +lR10 oêÀ³¯ŸŸ<æ+ؼØW´‰‘ƒ(³‰3ÅëÕ|vȡނ>¬ÆeÚ‡@º"’6W‘0ĈQjzI‹¬ÔÒV‰É…­²ÌÙ¥1b’EÔl92Iƒ•‡ÌŽ&ÊŽµæ€.‹”þ¯JK›~ÒÈ®Êg¾0gˆ!ÃÌQ&̱ š,A+_¨yX´ôtUªø]bŒìû™ºUw‹rÜZd€ô`b‚øe[Šøf]’ô]aŒì;š!7µLÝóCϺ’ãJëÊêU—?WÔ³)E¨mTŒ\uu1 ŸRCCg¡À |Ö‰k8@1o™0ÞSjhèÔ4Fò´2UrÄ/ ø“>Ðt-^Yàì’O§@™¬*Ó®D¹± Ešu€(Ò¹2brC/i|A0kxA/hzÅ+k¨ŠSÐPÿ¸Œé½Ö4Á«ªB¬L$‡Õ›…Ò*ÂŽBé4ŸUWa~ìhV”øhQ’üdUŠüa\Šø.ÎÉ»ÌÙÓ¼ ñÏ´0éÏ´ùÙÀ@é“\Á²»å³ÒäWó¤'s„§#ÅG| Î ßG#DÇØ‘{!põnЬ3/Eþm:ï„N¹0²w%pD?CEw3£%/üBæ? ƒ€ÿ% åŽ2^‰_ÖøyhƒGÚ0ó5 8¥±òÊ_d'³GbÂ¥´ñûÖ´Ñ×`'ì²?ˆ&;a™øÃ( ø‡PðñP“k9ðä¦ +@)¥rªà?SyÌU°ñÜM¬éÌK¤ñÄQ¨y‘K…å«ÈÀèû/7þ±,Dü¹(H°ø–@q¡×DÊU\“%Ô°+:²î0¡T höÀ”Îj&§"Cš· rë ™²pàÆâR ?õZ,·"@ºÜ¨,ù3oc4o ÀȧäȳÊ ÓM±ÒB!ó JóŸ¡™¢g- ç02½ràÎE%8Lô35Pt´4Qt/6Kr®èac’ìZd à÷5?rªš!z$<Ú˜%<•|ÚÀ;Š9¦d]ŠüaZŠôX_xøVapä(Ì|ê+Ä|î&Ètæ'̼ȩXj\qY¹‘5Åò‚JõF/&”_‘æÅÞÁ‹enc¡Äo56ö¯,=¨Ò33ø b0§&½©X +ðÑžüÈ‚CbÄÙ”YXYpPÿ09ú´.F¨r\žøaið.p$÷ ‚ûYÙò_óõ8å V"3ÔÂ2izÄ-müÉc @`+ñI¿žkr>Öèp €ÁÍÈr žaÃjaã¿©Xõ‹Õ]]B¢0¬<8àie³±œŠh†”DÎ\E™Î~Ï^~²¸WÈØ»FyIãÞ¡Êe>?yÌ'èÜ•"åô @÷i@w©4¡ý +0|Î%Æ‹ñ÷dløT5<ø«4:ú3*Pá–$¹2Á@ŒéáÙæU…CæÂŠÄ˜ÌëÉ ´Xî'Øpîü¯@¼õ¡ÈÏH u¸£#iÜC|áÄU ª·C§ZÉñ—9‚Õæä,:+R|61RxDn,,™z)€dÏrK€Ç´vHU¬±1µ:£#÷ÃøØ]€ñáS¹ôàñ19v>ÌÞÅ™ýì¿Dð=MÜ…š!;• }Jx làQmpÜ-ÐÔÈU¬‰‘—H@†t 7ˆ2·=Åòñ%O‘¦sO‘4ñ…?‘åSç«Ô âYbP¥º€òSd`ð*΀ê+Ä|ò'μÈCáÄg(‘y{DQ÷ÀEóÆóÆóî esz‚Œ§ŽeÅG¯ö¤ÖV–¿¦€¾óc—¢Ñ‘çdrìUmràU +ÔÐ¥ãžj£ãÖÏìÐõ1:v+24ög>§¸`â'Ú„â8™}ט"¼×!½ 2Cv> }Ãc¯bSCŸ"CC/æ3ߥÿ%¯—LærH}>ÒÈGå»2úSÃjJ¬û\îa9ðìëY!…ý‰1™=¾åV˜~1™:!Џ!Œ9‡*•z‰/›zŠ-™¿‰+–¿U–OªWdZ„PǸñ}6Cò¾M¼K Þ.KO +ªZ™&ýØ%;Ur»ÂèeÒðt ˆÉµªT¤.eÚå@’²¤XlðDxp¬B¿~R‰ÏG$ó R2oelàø=ˆ+œxÐCé‘®'úS«€ƒ‡à èK€ñçCø ä3ÜPÜ+Ä0¬`cÐNr‰ÓF(õ :÷ 0 “ßü¦É¹~çƒ|>‘I=à Ž§žß ³og0¹÷?Uæö >õx¥Ê7}Gnkº×5]ð"o·¯`N;LÁÄ]‹ü¥\ÄQâ#K0i— ‡­‹_y«iNÙÕ> +§N­’ã÷¹äðKˆéÔ1èHÜ…hæõLŽq…4 +u¨M¿žé±.Á㯡‡a/ÀÈÓF$÷œ~I…p? š~¾¬„‘§#wð¹ç?Iî%!ÊñI wW£ÁswŠÔãtúõ +HÜ78‘Ô'äøëÙú:.~çmKÒ+sÐù×_¸aØKÒCãƒðÐø;3½ˆpíAŒ=?f¨¿Eu ~|¥Ý®  +èK˜Ø?QÚý?tc;^“ã]ÒãÛŽC†5]ÿ¼jÕ§UëNUåêñœ´ÿVZ”£¢ÂyE"ŠæŽDèöÿÀ‰ùE€jþš¿¤8çï¼eí9mT|Ͳšqsß $’ÿऒǰƒ(olNby‡øây·Èò¢Ÿò"cDZÐ𫨀þj ò:d]yÓdÜÏú ôpêQ¼èã'Ð(Ü/ð@Ìë$—¸)›¸ +›¼)™;…ƒ *ï¨þÖ¨Gƒn~„‚}}€ä.qô#„úù 6ù›€|Ëc‘…HæöʼN©W°1¨€òîÚ;› C°¯PêòHžÂŒA 0ù–|=„N@?Âfaá["ùáÙýÄy·;€á·Cuúíj$ê¢lNCˆùœæ]dü'Àpîó“IÜ5 1_bœëêÌrŸ91HoL'TãhöE»ô|j1õGæ²¹óVB³XdéôUtñÜS éÜ9@ÁÄCL±ä%Ðõ 4ó4ø`Ô3ÜPä™íú"¾6¾‰Ï€‘·•@ò-G½È­ßAóÒwÖºò <3^iî‡Òäë!€òBý 9y +4y¥D¹K¾ÿÂÈÇAîŒlÞùvòfövú•W &÷~•wÿQ¡[Ï÷S°è·@óº‰åM3‘ÌY ŠùƒPÀÉÑmGpØ–/IÎébôíP™~C}g 0íþ ½³½'LÏa»º£_;Õ )ŽÙ í¡ñC€i;OœßS÷¥3EÒµÐÒé_À‘¸75ÒýbòLŠs¿Ú–>HöïÈié7.¬ªVý ¤Ã¸^“/ºu5réRŸ91ŠóOÿ€eó¾¹ÜàKˆéÌÝ ŒûÎA +Sª7†´¸æ3=ÆýM‹y¼ƒµ’É<„–LB¹?IÚý;k]y˜‹¼‡ ¬²3³€Cðoyú8{‘xT¦E»Êò/6àõ©Ceæý>sa{N™VÞÃÆÙõL‹v=†ƒl@c†âU©GeZ¬óõü 6ý›•u~‡.–xÏØ­óæeÅc×…åí`ò!º¼¸Q´‰W‰Ñ³0óÉÈ’ËM÷`8óO&÷'I;êÏ\5gLK?òs»’‡<òRY^øðÇÃŽAÿƒ—Í›LüÒ¸ÂñPš|®ÆX6ïùJüƒÌÜDM¾ƒ“J=&²ØCÁ×')ÊñLŽr +"ùü}wšT2AÎí­]AØì»Â0‘§ LÏ!»Âo¼p«›¬©´pÍ…,öl ªÛ›Ônl· ã0 +Ì ^Ä—Ï{ŽÂÜÏ$)ÇS¸Øc(À_PÉ×ÄhçS€Aè71Öù 2Qe3w€)H'‰Ôe!‘;Š)ž;Õ•PßÄ”MÞ’ØCqâQ•ßz(ͽßÃËýCË}‚ A¢=5? 1®‡à9ÈSQÈ?Uâõ@ve½ŽÙ–¾s¶ÅûÀ‰õB|`X@pcWE{mþQ!ÛÏ×ů¹Š¨5W!ã¯W0‰÷ç”iåëžOo®ôòhdÈæ@ÓχâäëqÆþ|§m‹WJt»ê3ã‰Óâ‘á~¦Å¸¿I±ŽÚô(Gm‚¬óLîý ,õ|%Æ·ßèPÍçaóÚsȨúNÛŸ„ØFê3ûsưp6ê^^ÉpŽ?RdësØ®n¥É9<–N~ÄM!=4~‡mKÏ1Óº‰Ùrwp‘G½AgßPß™t7æÿàõ +0쩲„ú"®`îþØzŸ8³Ü±m—p1Æóžò"c?qåEΠÒÏ‚Â>ÃÄžòè[qè'XÄóDâQÙlúù´ÉýÒtw¶ûÄ™éEn»‚Érb|´‹¿W+R+Ujê)ÓŽoOoü]šÂDÔ:e1…@°ï0÷ ÅSJ;¡ÄI„ù¼KxéÌ-èì•åÝ~“xE~l=QŸZ™Ö¾öVV7X¹tGn Ò#ë‹Õø›s<……{=…‘0ƒ¯×AÛšÞ`áS7.n©è˜oÄg†!²írdzÓ#]ŸÁ‡án/¡Ì3à@ä›&ç”å6T©ãúÊr&IºÜC˜R¾Ë~ + ¨ÿyÔ'Ä Ük$Ž<…‚~‚Eº+}l Ù’¢›¤èæ'%¾ÉE"$ñx¹±=' ì&ú[KàHgd˜öå…ù9dT=‡,K×!ÓÚq\\å8_¿ÝÚñuZ¢Å‹©ߘÎ;YÎý>ù'I=_(ï¬WB,\`é·×K4§-À€öµ’J ñ­Ê#ëwÖ¶øŸ82!=3íkË—F»üGì*ï‰òª‚*¸OméüCxÑÌ‘Ûø¨×•U—ÕR¥œ.™càqhÄØ†3íÓ!ج`ãPŸÚêãQ¢¥†Ç⌧ã­¨ƒð‚™Ã™£Ó¹«ðòÉ›¸’ÙÇB÷ 2ƒîÒv 0ù > o¶titL·â™óÂ#€ú'Älò%²Tþ^äýhÏŒ‚ñÓ(™nÅ3×…—£É—àbéë°eåInýO¼–zþœ/t·Ö+%Êù~w”T4 §Zð"o'¡€Œ©¿õOPÒõ:n[Aue8w)—WT^dð(À|î$ÄpN°A¨?øìóŸ(ñ|¦É•ªÄ +3¬i.fÇnwÀ,/'@¨(Äĸ%€ö:{¤A¸è® +ɰí +(ßÏÄHâʦÞB‹&µÃ”L|&ž_ôç¶ù­õLu<„PÁ ¼2?‡,kßqs@0íÊû‡úÌþ¨˜>ÅÛ§:k\Óœ6-éß)›ÓeBuÜË Þ*KŒÅÎ>B  €<†‡C4³®|hï «¯Zw+©U… ë +*Œßøb:õº‰åíti×é•åD†i¹‚L=ÂAþ©2oÇ”Ó5(IÌY"‹8‰hX}Iò·!¢Õ%%Ȣˋ»‚BBBƒÄ\ÂŽ¿Üeˆ{ƒ‰G°áÇ;eÖÅO ñ^<ïW6uX<õW<{©*›W*²dþ²H"¾5_-K‚ñ÷ŠWµˆºÐ¥Bzh<dÐgáåòêDLêÅ^¿3×…ç°]ÝF‰k<ƇÍÅ4Z¶KöÂt&ǻ݂ŽD/þz'I¼~ À3òú2öz¡>²Ç kªã¦% "$Ã%èÌ9\ÁÄk'•8„ξ‡ÍK×9ÛÂtòí¼qå8a.î¡<5¦ŸÈ¡þ6yÄA|Ù¼Uœ åЄón‘åE_Eô?!¥’ZWˆPaö¤¬Ê=•{…Š:ÜoDèæóFÆ#®]I€ñç³<ÿsÔ¡?4þ‰òÎ!…²_qÅòêD–KŸfÒÈ#ø‹º;ÛƒîÌ ²õJŒo¿I;ªS¤Ý¿Äøö/È´û™$åø¥J8^¨ïlÇ!£NsÔ|œg® W ©·µÅ‡O5æF‘¼÷ »´}HO-GÌÅ’âœ3aÔS\ÙôAdÁÔ›(éú"³A!Û.á…µåaø;MÒý=ra»4ETÔK· +DÓ%Ð|@£?zdÛwغ}jõ§S8d.ª€øÌð À³»h1-g²¤ËY$Šø•—|.*<¨Sbdì$Äpæbê *ïö8þöc8o |æTebð,Îxö +ì™$åø4úvÖGâžAã.7iÔm(•¸ +™}Ž%ôŠêJ¨/¢ +gîòPô}ÞÆzœ/ê­£¦µ/ÊQ?T¹ÜI€áÔK”áÌUpÑü?€ÁÌÌÔ‹ Ù”"åô =uZ<§ ¦hæO“y}OÝ—ÞC÷Å'p¤û?P±ÔG€áÔGŒáÌOhÁüm*•xƒP?ˆ0-ç¹ë‰Ùò¡ú+šS[<2çø$Ǹ +ßng‰ÔE À‰³B ù¢Á5=úõ[íÈuMtÊé dôå.‘EC‡¼“%õÉ·[à˜/èÔãîÌô!¾5½¨íâ[Ó‰üÜt!¾6üBDJ ½ÄÏ|J}…Ï^‹„ÌÉðÍÇ£êHŠnwazáÚ>!G ®ÁE½È-Ï­¢aýN–’â\N‚V¸šùÔ .ùöŸ8³~(mWpÉ·/°Ôó‡úÖvŸ¹°=A$_3‰Ô£ªxú¨hæj\¸‘!]„чÊìóuȸðU·¢ºáÒCtáÄCxÑÌ¡^ìñ?}bù×-µªQbÁ¡ÃZƒˆ›,}j'îë2<»Ûp À²éw9‡-—w„{P^ο\hO-g’¼Ë;|Ùœ¶PcgÁ&T÷Ð%Gbtã‡Ë*ðÔ¼øË¡4w +6 +wÉdNB +&?âɦþò`ì,âý *÷z6GbÏ!‰¥ÎâÊgoeÅk +Kç¿bL'_¢L&??Ô-ô Üxæå `ðí5”É|D–N<.â¸3àäÛ‘áz(M¾þÍÆ ï3Æë°eÝ>og{Ùϳöµç”iáQ¼tõï*œ/êÍ¢Ns̲€òÆv$D7¢?4~J‘b¢@ásW&e8NI„ñÄ(óö¯j±JY°ˆžýҡ³œ Ònß0Æòî’g©!¢ó]vð¦dNƒêÒÚŒ;‰+›{‰,œ;…;“ãÝ•éÇGÌIÃÂ×^jJçlëFp¸Æ3-ÖùFƒn}”«Ÿ®¾UŒ*EpØ–C¨!˜1ºá8cYT7.¦Sk”ëœÁ^e ôJBæ°îS*tܶ¦@c÷\×-ë«|òÂn ?±|Õ©¤Ö%TAeÝÂKç-%&´Ÿ*SCES¯‘Læ¤`â.F=C‰|†÷WÈ£~‹fO•Ô?Q¥“×ÐÃQ‡âä£`ÐW™×#-¾ñGo9‘ Z^T˜¶ïÀ}IÝt}J¼(0©Ñn¢äÛhæõbìù 6ïü£E·"Å´<èï,ÿÙ ÓqଆþÔr¨Í¾¸°ûÆÅN•SæB:ˆ¦7IÖñHm»Nۮö5ú#Ë‘ãr!¿´‡ìêÆ)£ÞBe<ƒN=¾vR‰ë[nôaW‚Pû.8zZ.s'I¼Þ'ŽŒ'ò[ë5ühÌIXéÔ7<ÁÄpúõJ†qQ`št—àñ®¿Pã·™Pê 4ùú30½GN Wr„ó3Ü8ô5ð@äƒðÎv3ºQáZÿ ó¯Ï#±oy8êlÅÜ©òn' +LÓ‹úÚø »4>GÌE¾òÒ©hØÕôÈð ¯lÏãÂyغøŸ;3¿È­ÇPÀ!Ÿƒ™ñóZjüòHüɧ`£pŸ`£0GB„ãuÔ\àQ/\ª³¦…#¾ùP–{Ô£A7§ŒŠßdM©Àúª•Zµb¥JAbý§TàœýR·-«µk=Á^£:„¸ÑšFõäÝJ“søàNt˜–?iâéGn9NØÕ' +G:ŒÛ1`¨÷j‚èfašð.ÀÀO¡¡¡ÇG(§O–y;|€cŽâ ¨N­Rã +n.¶#¸˜f™áÃEu ?÷ $º>÷T6óZ>u_8wR8q/÷¥F»=(ÏlÏ1ÓšFÅv)ÏœWŽà-ߙۚÞlùSQ1žŠG ÷¡#ã]½UTŒj”w–71âñJŠuüP š®ƒæ_y*©UoÁ‚g® WÀ¹ êºùҩȶ¤dWTDƒmx¥ÎI·óÄué7\¹UôK¯Š’õSH’nz]årÚà³÷‰#ãǰn0¬i^FÇ>…€6☠ùíB{h|­¤2ÿÀ¥sJ#1G:lCØæ35Öù^ˆÈ²™‹°¢©O 1ÈÛéDjû‘á[4(Çí¹íKŒsýSe…†»íäò&¡ô¶µXÞhî¼qåë>Z§-Zè¸yM™(ãú§L;ÞˆÐmÚ#ÓöÌpŸ»2i"Ûôø– ªÝ9i.¦9e.¤ݦx êjüé>wc÷ —_u´Ø¦·Cs +8 ó/òö9üò ¼ ’6 #·j“#‡ ¼‰øÚx61½¸‹AÙá‚J¥€_&_ÎÓ†#-Âé :õø¥È¸þ(±â+¤òjÅÊ-¨L¿~NK_µª¤V­)9k.¨¢fÿÔM×4*¨-Â@}ŲR±Ö:¬T"Hôø…YM0ÀpêN) årê2yœ²C§s“Êi‰dHu,7|ûŠå}ÖÅÈ¿ˆdLV`”1ÿ%~þeÇnK±¼5IÜUtñܹ èÈZ#⣠,IZ·> +3ŸnÈ{ 8 ùžƒ¼„ :ù2ô@ÔŸ*óúœ´,üg/LŸpƒPW ¹·ß€é-Ö +¶.©àYÎ÷•GÃ|+ ¼²|¦¯ÁÇ¢¾à’×iÓºW¾*jEñÁĪE%5AGàâ ¨t =¼çNlºã6Å1ÚF³v«õ·’ò±+»ÌøÛ=€áœ:Ô£c¿tý¥QQ4¿ªì~`ÃO/‘æÅÍaKæ­ÀroÂKÛîÈv¢?¶]§žÎ! §E2nmdà|4âO–yûP?þ=à¯pÃp‡ÒÔ)Ð(Lb„ã%ÐÜS„ùÔ¥Zjì?¾ïÅE¦FŽÁ‡!OÔצûÔå;p_7ŽY–U´ëjŠ”×ÓN(q Dhîí€,ê!ÆxÞ"ØxÞ| æHŒpz´Ì—ÞpñU]=•ÏÝ.䇆í•ñÙr#ŶAbžà2ïV‚¤Ë‘ãv¥Gº< RNg²¤Ë„îåNšyù šî37–+5Îílîï‘ÆœÞ2yÛY*qj@¥+ÖÌÀm)–wÑßÛŽãå"or´ë¥Ylð^NzPG€ÙÌßvêTéQ®Èç©ã’ã(oŒ_¯nªujĉ›-ª(#ɶ)ƒÓœywÜDòVq&Tqf3*$›® è+ŽÂDS ;)‹ÔÀÿ09ú(54òÊä”)Ò.:¨÷]zìpEdÝetè}L´P Ÿ„¡Îa¹Â_‘ ²K¹§@FnÂÊgŽbŠç.Õã_å“ç ¯“Pê.È|CÍi/RXI¥ôD 2þzy=r^ý€þ;dq·ðÏÀðß@åòÞPÅObœÓqÊ´¬rØ®¤=ucR¤E¹ÉñmWŠœÓxòíO•x½ÏÀ½ˆpm_yQë‰&VÅŠ>¯nòˆ{Ó9}“PJån2VÑ/_ŠCæãB|hººÅò>Á†ÆÔÎ醸Q$ÜôhÒínâ´»ß'S ظ[¬ÁqÃK&§Oy9hŸ~áGb.‚ ¨tó#ÿÅѧarè-Ä„î(Ìĸ'ñ +8ù÷HcNbŒgCqÌ¡B÷t 7w`6§&Ú„Þ#Ò€Þ(ØØ’P@†4ÃEÜ)ónÚ+»qÒ¨Vë•Têfë® +â;ÃÙ!†|…„;Þ˜ŽsFîÌ}IŸ6ív5øv£Ä·œg® ç¡óº(¶QøAÄg†ûÌ™áIŽqM“w:ƒ|¹Qâ[žÄ(×4‰§)¾éK‘s:ãÎI·C¸á·#-ÊåN”y;ˆ3 R +ĘÆNq6ˆ¢®Aˆ#®`²š;Û‹úÜxR:odBó 9u#A7>m çqËAýzm|”‹*½ÉÚ­V_*½ÉÊ­V¿JjòpbYz•!âhòmê` ´ ó ƒp;ÄA¬ñœ~`Ãy9ºÝݤoI«(ä˜úi€¨HÀÆÔ‚ŽÅ›ÉO¨‡èC:…††þõ…H_æEIŸ¯‚` †•50¤V_päÒ,4z^:ñ6£Na†á^"Ìg¾" =D–ÍüC—ÎÛŒA|iÒoðÙÇkøÑ˜sR©;èÔ£úÀyýÑ­½÷‰óºêóò•ݨj îxò‚îHŽp¸ŽÛVTŒj•“æeõ3w†éí:i\Ó¨–/]q©Ôj¥bMÁ¡Äjcè°²è0"«*AçNkÙ´‚¥PF·ü©uZÅB'Ík +Á >¢ÒmB§î“Çé61¤!•>yîM‹פK™vRa¥EæHž5fo‚Ó +?§N–y: erZ…@ükËÞ¬Jêß…¿e¥ÇuåuŠ ÞŽ¢9ÍðcÑîr9}`£OòKÃ{èÆî<2|h '2LËxêé ÈtÞ"μ˜ÎZ$o +<u'M;½Gï ¿áÒ§V½ 8,©ÒdÜÄwvGÇx«(™_4(vçÄaYE¿ò)œ4ª•Рþ@GàM¢Ï›*MŽ\ +÷3/¤n â düå¬F¼%yWàQè.q¼-ð@ÌPÚºéA|fúR¥\¾T)§g²ˆŸP@ÆÍ"8‡/™S˜|ùÒ£]¾`“o— +èKø$ä%€ +öjîMxk>UµR§V:h[º$žï9ô?L™ìO8Éü)Ìô +×üèõ^¥,Z¬Q P¬#d«„VÚµw謆Ïîœ7T7[ÓQ4žJ§n‹Š?é†5œU´N* R§ŒZ¡€ éÖ!|•šyìäRúàE!Þ´¨ÇGÀ1ˆÛX*q „Þ(€q›P ôžBÀFî‡áÁÿ[zôS-4xW4ï”xûƒÐAªK ¾¯bã—ú2C‡£0Ê;»¡<ùx`:ñ_8÷ùˆd”ë¾o°¬î¨®ë˜ií>ocý_Z¤g¦¦éFpS3-ª•jEŠuêDŠ5—Z±îU+Ö+T¬#R”X¥¢T¬%J”Xߖê½:@ʰ¶à5K +…¥›Ä4¨6¤é´jÆåJ‘twƒ¸g^Ô—vûÜÝr ê,ÚÄÈM¬éÌÙ$ˆù‚P¾|Ah^Ž Q –éU7`ùÏ]^¤¸†'ð¬Ã‹Óðž<°;úµO­S!N¬ù Q1|ʇoLªß½̦4Gç“DÏ2s@.eÓ㞊) ¯cC—¥HÞ >s +8sgB§)Ô|ê¶dÞ¶\Þ¬F| ²N'"LËúÂpa^Hqpì*È!­TJŸ:óò CsU6§˜læ°ÈÝ©q¯/ò[ºësĨúÊO­r̰ø +2þ®U—¼+„q÷q#ãsÌ´vŸ8°hÎÌ7lóÜÌø·-<Ú•e„w–®Ýë4‹uÃüaå`XMŒ‘ÃF•î¼qÝ9hZU;raÒ90«U:±>-aX]X!,aX½¤( 09œ’ªþžHª_M‘ÜN +ª*Wa[„ü*€+ÍËqа¨n²ö@~d÷аêÙÁOà†•”MÛ‹ ’KüGc@NEsÀMÅfÇ4›U5–Liˆ60¤®È)Ò£Žñ ?R|ÓŸ2óò3 qÙÈ$NLè-ÂË‹›CË|ƒJýSüK޽™M=AåÝž`ÒŽÆRßÀ¥êÌËqÜúéúO­X±¬XìÈ}I—$çt8þî¥K9|¨í–ÐcWº”Ãuظ¤kOÅbõW°ˆ†áT@fÓ$K:©‚}VnJ?4 £ªÄ:ªL G•‰ô˜ªbãã&¡@ )ú‘b® s/×€¤ñq&tjbø&‡ïbLÞ}òxGÇ|ªèX_åà†‚M¨•ËäñVÊœ›²Goj¾V•–Ð}¥žT‡Æé¥ýD}iÿÐ_µ‡ Œ¿¹Úq1®¾(ÍÒ3ÓqÄþûk:õê­Ö)-ÖH¬%8XiX‹Ö¤õˆÇÁ*BÄТš•QdÛôf‹**Ú†OáÌù,nÊîÑ7ªŠ#P¸© N§à¤Jʬ³b¢Ä»‘ëð 9ñirÜ(¨1í †SÊ›’‹hóâ®@D0Ç`€¡.µ´ßCòÄE&¨4Ë]Êêˆ,ÑZÁtð)¸3ØäÛ'à(ÌxöéL’w9 @œDÒÿÊ *Þ…†Ÿ"̧þáJç4„N΀^óS ’Ó\0­ž>óî!?¶|ˆpm:âÒ11Hx41MöùˆbHA(*%áÀ ++|ÜfY–ôXf’Ü$ØÌ°z £ðfàx7YÚåL–t¹Ó¦ÝžÔ·;Yæå|4Þ*ÖÀÈ¥^lð9˜;¯eßg) WF®HãMáÆ 4èöõùKŽt{ϾþÒ¨un=¬"Ы=‡¸áâ©,ºM“.å¦G“tT°Ê*œMÜvà“ê(oªé…ßìˆÒФê?@•ª©j©UR6bHÍm>§Z)•U 0£ŠDrPÅ[6©äœ>mêá .÷n4ožzúÒ¥\®&‡¾ÉÂ/¦A†fÒ#I·Û}ò8 ¡€çtÁ‹>\IÒnJ‚R¿ŒŽþËJެ¨11v‘|þãÞ!ðªBŒ¾,œ{XCsiY8ZÔ~ŧ¤«” ëˆ"V)'¢füZŠ5ÆbUÅú§`±’ =¬= EmV8o¿ÔúS¡X§@€ÐÙÓŠ‚À%±\½¡¢E•ËŠ¬ª)U2RwÕJ‹ÛJª¢à!½ð£qj!ˆâ½aL§Õ‰ܰZÓâ¤WdBËDz2™Sc,ól@w[xü¿—½×”!ÿ”û‡,™¸TÎD™ÏÛÄÜ(1î\Ã#Ì0¼ã$—R_>§x(êPœ|ý/›·ÿ¤Æ•Š-/t–b/TgF]yÜjÍ­¤Vª”êmâ‹'NÕE/5f†î3w6]9Ø#V6‰Õ=bmÂÄzÅ"…Rhž”VÕŠ•¡ú·ªVru‡Š k'ˆx¸¡øqfAºªBTРÍÔ®n«ª* +NÙr4þr̦TÊG>çÄ µP‰–¬=*Vþ­0A|;üp#Å9©€Sÿ üHc¤ø¨„’ ʼn–s† ™*³@4 ±\8ü z:ŽVŽDÁ(ˆ\† @  ßIlå,éôVšò5.êÛrÃ!ÏzHÿÏêNëãläÝ–ø³âž‚Ø/¦ÑùŠ×rj~Y¯{ßþG¿Îe“‡y6îQáœèÞŸó>x³ ûÃåþr܉{2ûz££–ñ]q ò¡3¸È›7EйòŸ(4w?« w&ݲ {ÿQ¾|ÒO|wIñkUÆU\UWøÏï#œZ»ÊOÞÜ\ÈÏçO‡Éï¾×:Îø»o'~Ÿ`Ý1×ÛŽŽqôXjwÙ%øYOd?&_zÊFdÎp£FgÁ·“kò‡4®Su|@À>‚àXý¬ÍÿÙÇ_·´c·B‘Çðÿ72ïïf»}ÛÙ÷ÏIéá@÷ãß¿W-?ë6ú© ÏÑAø³r³i¸—é? +ûçÎÓŸ¶ôÁ¶ú›v–ùËÈ>\Øï{5ý÷z<ð¡UúÁ6ô X>=`·´Á + +œÛõ³¿t9±Lf¡~ÖVóÉôø¿ññ}¬‡þÛÖ4F½Šû¼(8ª;ú6œ:øgUZ³í[nîz-Ö9ö†ñ??tlíy<é:“äÜ`}Žb¼ïâÇÌYê–ÜÜÃAÁõüÿYé磄뺮©²fѨy ‹ °ü¸]Ž}íÐEØ#޼èÜ>QûgÝÐY3þÜLïÁgñææ;9™[$}Ü!Ï+òÜžG&"ác†Kçn>ëg¸]òÄûÍ_‚ƒ~|†x…^úY‰Ò‰]ÒÏjêB÷¸ë]ÿKW™óqe9ÿï`ý¬~íæfÇ`¹³Jéá.Ék;oc‚îg½Ò7Â>A‡“*ÝçXŸ{õ[øæ\6bÿÅzìã7žó…=ãÞ¿†»Ñ©Ÿµ¢¼jdþV“æ5'àCV>ÌcBÿlIr·g°ëÞü:´ÿW2z­Ã¦‘³ÿžä”´èÃp"ܶde¦ž÷yâivÍjy_¬®·ì«å0‡¯›?±çhËõ6¥Hn¯kWéç¿Ò~BÙÕ7Ë«aVv+nÏ»¢ÜÙí½w¤ÛÚàóŽò#¹÷‹­¹E(êF‘ÈO’%BW‡Òó`|µ–*ûøåwÛó¿«Å_yò¿mAøþ/¯DŸNÌâör½=íIOï=#ß%Çþôê¸üÙi<œ{Ö¼Pé¶ÜJ´7ß—O_´M ºËßæ@ß”ÿ‘®`Ÿ>?™•›Íû;]»Ùyÿ_sÑëLfùt|ÁAžMðøžŒvÏÛv¼•`ù=ïÖ*E'Pã²­»ýéôÒQÐ|Æo¦5ï÷KjˆëϹOÝãßæ•´«JŸ{nÔlÍÜУ©žVúGä/ * 9ï×=ÇÿÅ%,·à(`ò‡|!]ëíýÖ<­UR ÏÓ8øÆNm­Î3(˜®šmOË`5Tï“Ðÿ«ùqŠßs‡KSŸn}’klþÑHÔxÐG»7XÿŽmòÐHé½°„ù»ÝYîÄ'µ·’<<õ³ö…NÛ¬aFbîê.«o‹ ö7ÃÝBÛ\¿\…·›ü­‘®}œWBÖë@ùÚ’=cýtúñÓ$½_aÅ^tÆ`O}kÍVß±­öîÒ}?]ðÖTu×oA…­öä»Ìxî¹*‘Ut#8ãeÆæô·¿åÝ'Ñ7éxÅžgÕ´Ãdë„¡pÇá¾6¹‰ûB÷7ºV(`sÇý"ŠyÊ"*×ÚšQÛ=•.}{‚;¿¡5gåæV/ñ&î/ÏœòݹÄ>/6æ ,è³/Túÿá^+FfÞ­¥]ÝqCÁ½Ç>¸ yý£ì‡éì×…ßýk¼UÐ?vúŸr6ýü FËe™zfiAX©ï•¯^Ãã? y_÷ÿñÿ§Ú‘»Io†QõKR•ävi]·lš+ökƒö[Á"w¶Â7u³onû-žÿ÷†È`ýüë³f¾”Λã¾>ÕÕežEf‚Ä‹ágòµâ^³[ôIü­8Vö¿÷®¿¾~ÿ^Yî÷ñð9ì"ÞfÎÊ×çkt'·ûRb½ºÍ3ÐýNŸ‹qÜS þf~ú?þG˜¹[Öu[Nf>BêJ«ÌÀ*˜.c¯æ€ï“Y™d)Ϫ «víß÷XÑ•vEWº¡œ¸‡} ©µÁboéßaÏ¥e˜ƒU]ôMÓ-Ö×cògùiî?Ìþ…Z•ƒÎqk ›Q2¥W Ä,u­t£x—žIÜè= +¥OߎóÔã1´ëÙý» u®}îæ½ôipÖiì¾{¦ì$l~nðç*q9%F¿°„¸ÿèñ[üRašt=Àø»pŸÝ»»|ìLýÑï]fî°òP+¸ŸûZ G•eŠÎ$ }2ûÀ?§Ä‹]ø™ÿ̱%Èä©a³ôŸ¾ÔOË”WrXm÷û ó‚3 –}þøÏ¾õ—¼€ææzÜ8ûn/Tø· oeÖú8néACèï¸ÕU"RNü9«ës‰Ûz~ž~Öð:’n_â—Ï}ld¶kÓe‰µ%®!8Ôû™¡¥£Üï¯r·]é½ò?Ê]ß}xÏÆXÝh«Ì‡PÎgâYÿK¼÷O¡1òù¥?±¿7÷“Ø“|¾5|f=#1¹ñ+ýob¬ïÃÕ„>Uè†W só^É÷e¹¿.ÿk#®ÜF,Ðè¢ûp²û\ûk |ºØ÷{ðöà3­Âý?·ïŸCZVÚ¯¶ÂÑg2/÷¥—ì±=]ž=äF{ö4Ͱ ç¶½Ã²»7ôÎÿY\ïê5ø¯‡êbº¿]Ècý ýO +½û•úÜ«þ»íEMºœ +5ÁúMyùy¿Ü«KOhŸ}õ·ãB§Æþ”Ý!‚1@,dE‡®j…bk8µ°þx ëWp¥~+Ï;Á§@Â'cõ[7S4‹µÅ%ñ¿ +»¸! §n·û@÷;e¨D·!¾,#ÌÌ/½ÍAw²E²Å–¹y(ú-×Ôc £©[KHâs‰¦ä®Œ×šM2Ž…½ý‘§Z¦Ä¿ò˜Ë²&+Z˜dӷ¢qZÒHiªb³J2âç QUXa»Š6XøoìÉÓ âI;·ÈÙ5“tMÏê ÖKiégrͶ`þeH%°ègҹɽ0fñÉÑ¥ «®Šz§ZwÈ×'œ ¹TɈ ´±µ5ù§Õv†ð*`<œ³iáÃü T1ß!k~† ‰7Ò?õ”ÌjÃiTG0Å•ÿ°?½1)*áÉ~…Ö +À„Qí}NO&@Ô…Ç5£uæMA˜kã$ÔQÓö@í»7úkÇÚ”–rò˜ §mût ó­ØgK ÒÇ £yÎXÞÊÑ–YkA®ØJcVòÝŒÍú_ó×1JðÏn)˜PyüqY¯NA8×–å•7&Æw]´ˆ-Ÿ¸Ù36q«1‘•cùÀK;½Ç[ÔfŒCïñÕŽ]díòásiæ”â¥÷a8vÆ^èò‹3ZJé˜H:MÐE´=ÄMr¼iK1Š ¹â‰ÜטåEØÐæ +|dÞ#øáóƒ$¤Rí`j°d"”eEMÂú¯ä´TÄ„»Œ>úþ%À{ùðaíIZ‘Žârö~G+àÄPu¬Šbu +_ÚMû, o“~Á¤Íyx t•J,GÛì»OŒùd‚É/BLDº9ñ«š½%¤ìMƒŒ®Ž.Þõzk°¤½mÂÖx{‚tÂÑÅqݘh Y¡ŽT|U$á +íWÛr¡¥Ë$©þ1á“T ‘5{!óí<;H.Ó¸Cõ æïüµ˜e/`^Ù@ +f};*ÁøCTp|‚âÿÔx.`<—Ñ5þžüp*ð +¡ØœYˆú„IÎ0šƒ~ÊHò_Z=Ÿ˜`BMq+”ã%º)¶-÷8öãô®¸›orÒ!}B‚t@ÏÖ=GÒads”Ö¬y¾•¾ZiØýmÅô8ìÂ¥‘D§½È©§-Ÿ_Lã|äñfÐóƒÁ;Å$•'%«{í;¡%@ÚûE•KÊȾì‚O¶O‚¼Œmé»¶f9˜GnpåpÞ$ÚFÛøH›… úÎ[*•÷.l YúÍNâË1„°ë[P‚MûPç£`%Ô‡L„we<4\uo—ayþ …4œ0FM„B£ï Yš[M×·£vØÒ}³A9 {⡊Ä7D×® ¢œŽWɵ]ŸcÔˆSz@ZŸ]–¦gb˜Æq¶ÍžÄÐĉ ªáÒi²²“þ;YC¤€ˆ#c“lÓWYV vAßç2ðcÌ܉„[ ö±¨ ™–³Ø|›Š`-W(¶½A×}[@áÒœX¤©ËpÞõ€ø…f;QK>ðÁâœñ%÷ð<7©Í1‡›¨†ñù÷%/á½÷“Vþ”‡]•®µKf˜àKÔfŠLâ ©trLè홀ÎïÆ`¸¬Ý/cÆAÖ/ÐbðfonýÙ:}²¡ØÒNÿÉï!P±¤ñABÈ“ƒ3w12*•þp°@Iµœª ;´eyªfP§™ä¼Ÿñq¿V…”)üosÀ ƒ§¨ÆñUŽðp'N˜‡R)Ä<ªÝÏÌÄ2úkb}4[J¯J#‡ìä^7°²uKÞb5ܵRNxt£±S§1/÷;bòÅO¼ˆ6ùB¼}6Æ(ê ÎDZµéÑ_‚ŸéyîüÕÂĶC¥ÒäVÄúCì¸F +€·óº‡G:[cã5öhêOPEGüV¸ ”q˜ÉMçŒmÁMU´g —ë²þŒ7®Ž|W*Ͳð_ êgÙzPϸ +9”“è×&zQåVñ>²€Žøƒ°ê³’ Gq£þQŽV€aF¦É°sV¢-^µÉhèW&®uAjdÂ@é²âÊ«CUt³S^²û×{vgÌm–ýæ!¤¡U ƒù𤠈­=sú\Sp'X$ AÞA\’§z¹Žtû§Yµhp)jã%„û˼çF±¯Ã—fzÍ&X=YÞ íTI:³F , Íæ<;äD Q}t•º9ñâ(á*Õ·ápp5CiÖ -v·ÉotëÚ²Q¿ëé6ˆ:Ê,Êr¨_ÓƒR#äÙFÞ]HÅFX.Sùs°µ·†Vó ›Ìxáß@½˜Xh¦íOµoµ¢ Ö~Î< tõê,ת;¶•jöÿÙy Mž¥?šŸâëC¢[>[hÌ[¬uú —‰«:+€°"|»ç™ÑñDüÒÌyƒOÂÚ@£a}C‡GŠGy—e8õ˜©õ»^uV„Μ$ðøþ1{ rîó<ûŸ#—KE +ñ +é0ùÃÈT+O<ó†4ýë ´xNˆ«N´kŠ5b,gÐæ©²7¨[¢NáÑê/’1¹9aê(6§ÏJñ$YÜ{Åaæ7™È oHÙ|yíR‰ŒÅð/²–® ,€1 ¡iVœ4;×ÈU ÷a9©DKa7§"ÝÝp&%9qÕÀéJÀàÍ©%AÖÒCcaNâ帤‘Dûc•ÝÕ›mªÏá®Ö[° ®ßlnüËÄÁñ¼#%±¢â(@ŒMþ k€øR¦×fa]X²ÑYQÂØÓ$\’Ž"´5Ð{M1¦Ëv` +h°ÜÁá\\ІÝ:áÑÏßð~¿V ,´U+¨û”ajª ÷ýî4>,MGµ\~BÏsäPSÞª±-qE…ÑjèAÿè«|{P¢´ã×ìã#/½f–<’ Þ!dì먵¿Áî ìW¯EQÌ‚ø<ëÙ_× CªC 阺!hEäÉýiV%'?wm0ïï yÃâ%5ð"ÔôŒ´}ÜI' ‡Æ RÛdÀ€{ ¸¨†|Õ;<"xGÊl€k\ŽºŒtšÑf!¨¦[C¢‰wœØö(ŒÛ]”#Ü 9WFBpô)¢Hºœ~›5÷5 ÏòÊÏ|ѳ ióåèdr4í+Áhµ8|eÈ6—4ù}ýÝÀ›u68›¼ý§9G1I?hròbåü†þWØJÐÆ±ÎØ¡ói6¯yé(J¹Ýøé³–x¹0–úi¨yb|uiàÂÎ_=gðßÑpSð-aÊ…96«.ÌjŒ%òã™69eÚ÷HX£(ïÉøZâ~OÁõS":ý/wÀµŸíƒ9jàÙÁFÌ=õq#W $ÊÒoɇŒUâÂÔMp¬™htf3½pSc!ÞךŒ³#*)gk£=d;z›¿#ÂYXÄD*ûb{£÷ílU1Ábà€°¬¿Åõ†u©WbKÙ¤(8‡Ù!ß@î_~Ž~‘àEQR¹Ì’ñ®{dȺ±ÑG’ SøISc,OõÝã.µgšÓðPbàX§Äÿ6ŒÙËZ´†,±E›õÅQ+nð¸†7aBœw£z}@&.íé‹Qبx“)ùvlœ¼¿…6]ÜA|3&Ô«AV°O7|0Â6’O ’|Ú+÷Öw€U]³áK„/¤háß!cNöÿÚÛq.të’½]ýõÄ5 Êh"©”Û8S‘>_hI-5D…š;”®° ´‚á¥ý(T;!Yl¡ÍœòH"KÛ :µŽLtö1'“¥j:i¹Å_\Ce 7мGyB»gga!ƒÂÂxJj–ràà\í®Ý§¬ôOäv¶Ò|Ï0&Z7µ|G­æÃì',œ#—>epwˆèæ7z¶+&”Þ.•)Æ&öÅ[)¥ …_Éß`ù5Zp³Q ZspU`š)vã ¹–€¬¨d<:KŠAÕT•Ë'‚yÌgƒgq=U¶Ä­x*¡HÞɬEVs•ǯC|4ìƒNÏFX•w•¾Œd«ì2YÆFOn®æ¢2Š›‚Ÿy# 3.,]ŠlÀ[54?£nûcܱ‰è5Ã%^j}‹ ïrÏë5ÉpõƒpFØÃO/ø‘û¯š ß%ŸÃ ¯<ê¡ø«H=”Œñ™2Óxçnš‚“ª¼Þüæy$åzQ*€R”j4mrCÏå9à¤vÔj¤^û…ºÈ6Q0[Òæå‘Ÿ:•äJ©üμ +„¤wƒ"8Di#ãJÍ=¨B Ö(Gýú© ª˜¯Át@ 瘹iÐôZVÀu|<"`œ£ÎN :§h¹dÝ˱FR(;n9For³vmÊøl¿¢‚ûð-ÝÁmhŸ€’g†åÑköL]°Å%÷‡«‹ Röø…¿|Ö6kØ®Câ‡ãmÐÄÓð1 +Å&³ Ž’Ü6tf¾4©ç\ë˜ßÅK‹¦ôøÉãC.ƒå +3Ëÿxñÿ˃lN5¹ŽÂÌñé”E¿ÀËì°:Á…’=2•mc˜Ô}ó¡k°–-’-Xþ¶ƒ*«Èô Á{Lékà(Mú^W_÷‰ôYî$¤C¿Ä«Í)ʇ±éì’i€¶k[.Ïéû]Z|X䣘ÏZ:iˆUã•&Ú/æÎÉVßmÉÆÐˆ0ÿq:#×lÙÏŒ¬0ú˜Õ•»Ýý4m{Fá5F¦þÒ_`å Oº Tq­öÜL¤Kôž9´8‘h?1ÁÄ#ïVüÝlÃÀIg’RÕϬÖl#EÎVX§ÂDn·u•±ÊO"CÆ–‘2‡îhánâÓëÐ3¾A„D¢ÎÂ1Ó㌷ª\[˜Ô–Ãi·Õ¬GÓ`ä׿ƒSY™f{uÄ>é1ÀÂÛe‡DbjN~•¬~‚@ÍçHA‹e ™wÿÁ½¡Xw4û ØFÒè23Æo~cœgü¶"2EU³²ä^Yª˜ò›,r·U¹žaézÌ“µ_£J–´Zøà‡ÕÏ´ÄVæ?zØKoá´;2`•ýü5„=(òuJ*„Eœ›‹´ {ïål;´7 +pŒ›qk¡æmp.—»òl—T•%ÃCª—öÙs¥…MÕ°Êœ¢¢’Ý32>šÑL—»PH:Š÷L…*K@vá +ì PùüÈ¡¡©÷L—Þªnï&}w}áY©Ãeüµ`r-Vp¹#“ÈÀ«&‰ÊN1%U*»Ì¢ðÅÒ¦$^ÜNµg)亹‘ˆw:wÕ«”XÍmêrK–ûô\‹{˜‚,ƒ¥ÁÀ[3¶‹˜r¢´ Ù*¨5 &žäêô#méD]Ç–çú DIk“KÇl7N%¯±iç¨PHI¬Ä{ +x“+„…u•,Û®¸CÑ Îˆó…NíÖ\oW}Dk‰4À o?á÷ð1C2“Š„ã=uZGF:[S.ôr¬«Óá H…ÐäþøY‰‡6òâ¬I–Ô¢y& #°±g27éy(7 +y¯ÓR^JnÏIL*2³O¾líéü]½4F=;Ú•èûoæ‰*]A‰Ù±1æé¦»Óœ@½¼° œóúðMØ}Y¹:p8¯h¾Áó [L‰©å¦ØxPá˜^ é`þ#èÈ5ÒêÉ–Kö¡P¹hõÒŠ”}¸K²iè+ô œIT;I¨ŒbÎëÎßop5z»=D ›P®ýPÓf²¯\LÍ-ºñß ¥nAžæÃž´–Tûå# Èçþß90„€‹{>þkfÏ»dm^z .S@Ë­0xH0qIò3z…Ø”geï•'¢rÓBðŲ›1r\œ³Aƒ¿ð¢\–ï2*œ4®v£ÛcC’MÐä¾×VæÙ%ô8Õ yýEë´ÓA¤SkÄ K³3æ¥2L•[¸7^@aw^?)ªÎù£8×›vÉí*›D‚¢1¨–‘Jµí…→Ö]Lº Lÿ`åÃ1&UÄCŠÍ‚]wkV&b˜É¯_($þdó{ž8O Ÿm™uï‹Pe…ö8".¨÷ƪfgœX“Æ_±g4çÑ”Vñ$~iÆHú‡~ÚF¼ Po(;ˆ!÷¯mŠàÇWB܉+Ýüç™±ù½‹)qˆÖâ@È‹…“HâpFŸe €Ç‡¸òŽ0Qi‰Ä™ôNa, + +äK„®óT489gÉz *:µ,XRÖ·!ºÏïã4ìú­ Ä +¶‰~ZEkQúiÄÊRWG%Ϩ* )Rà ŵQ$)$I'јŸËk¸a4P‘kÑ<±÷ºäŽŽyu±™ÄЯ² +JcœF¯*¬2ê>½ê±R˜é]¤ô&¿\·÷}üïf,E•|¦1‹œGQñûg ÅØòSá¢n&fÇ<^`~²zØýPL¬ +¬†Q¦ œ‘À`ãmîÜpRu%ïÇüy]dºàWàѦt=H±þH^Ž+¡ÁUÈÕ(í –xŸOn$ophº…å&\6Æ–œÙH¨”ü~½ÛÛu+‰ °;:<¾…=®Ã·“sAó…p}¸‡­Àå*DuÀ5ÙJTƒ.kat¼Œ&‡;§Òâ¤9eð +qñ«úuWÁ¤ÔJÍ@QÌŠ7~ßVÆwtvfà•ÀìB"ÈLÙ £÷ƒŒv!_Pæ7ÔSãÑZ8ü™`D%rº/Â/lÉqëÅK.ÈÈbÿYö út÷x¡ƒÕÚŒýc#„f‰7{Õ(’Jº’…þšrçºé$DÌÊ‘‡/׊+W_Q×Á¿Ô§æ‘p +µ$d(\ð¸d1‚÷ €žÁ ‰È€òØ÷ðÿ-Êà +Ia×&˜läRg ¼ü‰h„0&¨2b¨twŠn–6›/P{µ8Ô!l-£á«W‹«ã? ùuè^Ç3Ë X®í¹ªd‚v¢Ð9AVEè_Û‡LFÖˆ ÷Ï•ØoV´Ëæ—+}$+³=Æ=SùcÑ_ä“GTØ'BÐÅrvE•3I«;ÅcvD¶‰HO¡•Þ±s)÷K]‚D/¸ñgç>/¹Gá0lo}HWr²Úž¤ÆÖ*¸6i4D´>+œ³þå[iËÔγ}4û÷ÎÓOÑç¿JCŒ ùÐÈ=éìºQ{ "2m*׺Ý=À¤•Ñ[‡Ž¢Op«,4\ˆB‰.óu@º¸%Onsâ¾cAB0¥§Ì´&©ªô[ºwW|Sþá¯*µ“ή©Äß½â´åü€® )Çd;„„‘]dx§ú»6kwÞMb¡Ú/ù€†ÁƒTK,†WqªØ·m’f½q`ú6ôíulªõ27K¨ÙTзe–ñT1¢ŒÎî‹ã¹[öëË©º\ʼSl0WP½Žl „Ü`z2M‚òch}tÔz]¹Á«]o´ÂÀ'0Š¡1†éI=@iâ”rE¡Na–¾T´¦xC *aÚY«AF‹LÒÛø>‡åަøURð./ _À›N™&¥ð—˜å;$ïL¶æÅ«G2]å<³tC^?X; +Öý.„pÕ†ƒ¢Ž¶ní”{65â½ÂLŠú{·÷dD’ð²ÃGÐKj=Ý»CYS‹àëï  !óGƒ7¤Ûœƒ<C˜£èŽ3Våòð@¿¶ó3ö`BUß4»‘o ké ðùˆ íì"Œ1ÇH\eJ‚5ARŒ$x}zZÖ·Îcóð¸jeÄK‹-Hùw„ZÖ¦—Ÿðú÷î{—`†íƒÓóób™¾æ@T%/¦Fh»˜—Á + +ŒÍXumfËá:“ܶSòWÕ7…cÄðºÏZW×Û<1~á ¹f%h2Ö /ãzˆöñ’ ¦\Ï ¾þ‘k|†™÷ Hu“ýÏÁk +y¿ +¨hÞDÃùjÊq7E“e jCÀZxJÉÂnxAP–R‚ÑÀ7¹6²T zÛÑúI‰'sus +.ã¼¥,Á[ÓÛ:ÎE|ȉs‹N“-(/QØžp­Pšª,€Y´PšÍÊ£~ +ȆêJqD?n“-EzÉþ—¨Ù¤DñG:Ó¯Oü4Eë› +]õÆ* +“IPÞ쫇ä%$î GÛ¸.‚võÉBÐe êì‹Å¾h:ú¶g!5RTz.s~YÔ®3‰øÿò¬ââ?Ås÷£ÓÙµµáYÆ!‘ïðÍ Ñš¹)ñtí½bú᧺ÚLËxJ”¹Çª$ë÷oh$08©ä*Êõ°Pú†É;œ»´m©Ð3¦¯vµ«¨[XF¼ß*Á:é¹ÇUÀ²"Cw•‰˜ Lsª8EŽ®¢"e­ÀÜE2o¶õ׎jI€¯Õ³5ò9Ak•»¤ZØýâ„îÑ%*K“ú" +Oa–ÇlÀØâQ³%˜Åú*š¸+?ª8XuÖ qûÎ ìÈÊjá¬(K3+Þ0=æÎ™X±˜Õ$t-Úí{‚¬âá6¾<”^ÃÂ_õÖó?Ä” +Ï%/ˆ˜t_µµ„XNCkþV€¿¿Û¶<6ÿó9”EÙ *™dAÃaöt*KÚ%±Ÿ^×£¿dùè/+Û(T.ƒüØü<ì§qWKHõ³LØ>4v‹A€bŒ~#¿#”ÅsÞUü|y¿±kZȧ˜r"\ĸC¥þõI òá‚‹ã˜ù•RI{ pí~¦p‚kw…ï1µö0À«„ñWƒÚã¨T€­æ©”âèá»–D…À"iÊ4U,v A:¹ùNR£0Ùþ`Ü´¨^1då¢Añbóêm-¸*ÃÄÙ󈧳¯ÃÀú×ßm›+d·˜ÎÈâ!°-âC°˜¦½ø«Áþ‰ð|}RŠäcƒ€*æR‹*™W.õÅx +{æØ—ÚïˆØ²ÑÃi‚÷Ûãß&ÙÖ’¿ÀÃ.𸠱°,†Ï ¸»\qáô™‘-ÆE¢IH¨hWŽ'H2l„©ÆŒÌǰe1Ë ¿(ßê™g¡/Âx iMä™—H„‘5nßõJg8Áø ïÏÉ&Iñ«:+R`«Ê¥ˆ"ÔV^éÏTi]E€`{>Òýz€¥æMu ¶¦Ë!]É‚”·é{cÇiÖœ‹`X‘µÞñ°ãÂϼ‹ñ ´ù ‰+4¾ÚSÙ .û´¦S½ QZÃa©›Z@ó²j(G-¾`ÝÕ÷FPÀ¨3ØèB ,±¿,GÑ¥xÕ(6c2£¢bÖជîùÍYq›\PÝ’ÐïÿÈ –f!ïlN·0¤)d±Ý? Ô²7ñ)Ê„ÒüË ®g¬² jµÑtózw‹ 7JA‚v`æ ¬Üž¦ ±¬$)žÀE½†#ìdôW©_øj*UoPö¸/`ôµä[éS®`†“Z˜€ÞBT`mÛ€Àꤧõ”u!™uýO{¯3‰_¤'ÿi=ëò¾Ð…Òß©š¾þÝhìbüR.÷  Pqþü±IÓ‚{§º/bÀ?ç6hž¾ÑŽ(¯Ä%1¼ÊFÊCow81ðè˜a>–'¢P<0ê™ì°3”@XfÙ¨g`;«H!µŒ·0š=d^€)C/ªpÀÀ JýWhT6]-Š…æD‚Òë±Á  Å•žDÌ4ï&UWM(&¤–4 ô3p² 4úåʼn€ïïÅNú QïdÓ.Õ]£É•2Géz¼Ó$ ÍnNƒ¹Ú½|µ‘'Š9²“ã #]Ї‘NìJPQšTJÞP+ÄZ#A––+¯*E-(cªl*3;©V8¶3q•uÙU„†ATÙÈ^i…s¹T²Ò¥Sê ¾]®8áYתÚ%‡FùXl–×X:7O/XYQï­ G!W$Z§3«I­Pá92êL¬i]ŸAÞ"D|Û­W±UÃ@Ÿ‚8ë­rjÙQ*x×Ù [ºóU +|Í«–H¸%7½"¿@‰‰Kÿ]Tê"¶¢!›ésµ„‚ÁTV)ÓgÄ­ÛÂÆÌ‚Ò°*óJµ|ÿRl|(×ÿ™xo£ç ~ÁŸºp2.¾_/’ ¾ôk´Ú áFB.ˆºQ¾ÑEð|)H+LÓ¯¡êq¾Œwn~qíœ0áH8"‹ 0ãiγ™cŒ +Rð|†¼'èKHâûš #“˜LTû†±Œ[0$³ýNLx§-`1¦È‘ÄaàS€½=ÝGÇ%„”ÖQAøÂ+2t—ÝRQ2nÊLÑÉØ‡X™þÛeäžöØŸÁÃ[̑Ɉá­ë`/N9Ò*ëöZá¸-³ÈKšžÿ"¡u42æ D³y5éö5’Ñ@ç-¡ðÑÿ"|òƒ0U1Ó¨Vã#LÓÿ/ºŸZáÈ ï¨Xì$ YkÿðáHF¨*4X²mxflÀ’Òˆ& ªlŒA¦¯Xx–J"Q”’Ë—+­Æ4δcÍÊ¡ ¿/¥£t\dPž®«ß¯ayÄRB†Íî+%pF• 0lÖé jm®¨œüË@ywP´’Þ;t_ù¾6R‰.J +ïÚá(·†nTÛ³ÇFHˆb-6tÌ&öµ~öÐ&D¼¥3µ¡)£e›<¡æqv›XÕ†ˆ ~*67‹ôåá»u³k,™^ßÍ$@‡¤XôÆÏœâ1L|“ýæk̇ØpöËCJ£08óà©¢püú]ípÞ¦.xâ4Õ3QaDSÄØ…Çã“9+/‰('9Ô“C‚NñR@ob3ÁK0äF…Ù19üܵ®b¢H&¸%¿È~QŒØ~K ÐRÐ2KaWë˜X¿/ mžOî¹õ‘ý›$üö7&‰Sv'\~È*­ŒORìXv«†9£„É•‰m‡+ɦÓWú#ðTí#Â{ÅÞ×#ûóºdA%ÑXìÚñ×»}ïÐIx«½~¥RµüX_rtxFP°HÁÎ*‹ôP=bÕe…’£ÚoÇÙñFôûÆ[P@½P¶b/8éQÌ|&„æƒÿÝpÇf šÙIàÞõJˆ={mÙ¢SIÌ(“5x›¨˜ÙØü^ƒ7ÊpŽ‘á=z=‚騊j +V¼ò¥ ÊAd5;~«ãC>óG–àÎÃÛ:Åöï<)×qh‡(Ìæ)¦PTʦmÅ-^T +ŸùP®žöÂÃÖ 0¨`Üóhvè·… +"¼åx¢ÌÌÉ­ìѧ˜í²¤–<uûrnžþ+Al*A}]G—¬¨ ’žbU/¯QÏD™•Ý ôÏX©RѲÙÂVÁ²ò$(fmïÜIØMÊw##aÀ(CËðÎê&SÙ(ØíY³d„å4á=-‡+€Is’éqõ‹™-¥ø_+(P*r³Õ"¬D-HgB­Ý~$c©Æ€ «ãíùî2÷ÛPKlˆÙü0Ÿ„YJƒ\\)ù ´‚TH–ÚžËÈ…£ÓÈð&H#óØ·~”CÐq Ä +Hëƒ[ö¶A8e.nÀ:)ÿ]AM‘­Â46ûP—ˈ"‹œ]ËP´g„<o— #eX>[j‡1äºB:ús!p‚QÜ”©5,‰‰MP .¶è#Q á3(n¤$¸¸¯È`UO…”¤Ùo‰špQÏûääýÜõn ø±dH×Åî„]$—sµâº3º]ÔSŽ\Ž`”+%¹jV'E˜&cÅdúuT«`6.S—R¡qBa@V\ð©mÎHfÔB†a·¼dsyÏÉjO]mGú!§/dVÐïI?b‘ÀuœÝ)‘Ñ ÀªŠCBG1,³)·¿ê¦ñí2ÀBn‘ê…s­{̯qgb‚6nº{ßy…v¦@ô“W­Y’s|9q«ÄÔ¬a.I¯¿ÉŠ€g+‚ÌõäÇЛȢ£es%yÌQÔx‹ +–¨<É& +5–8xXs?p°\à"‹UÀø ¬>üÖÁMƒ;¾”(èü„©ì)õòâˆäö¥Áëù‚žÏNDÍQæ^jÀ½›ÀþJ¶¼>Ê» OÔ®÷¹IœéY!5'Ä G¢ +“óâ\ŽK[ðJQ%¨Ìôì¾Àg°'V!ß«Ú*Í&‰_ÙëÅÖ0¥0JuŠgÀ‰!òIØÆŠÐKµ)‹²DO +Gƒ”Tgö…Ù"ò[À\µ{Û¾ýÖnÃkÞK“@›{‰cöWÍ®eR‡ÿƒ#Å333æ:4 ÂRAˆ\¿6¿Æð5èäŠÊ&£†Å=™—ÈX + ÒY¹ùÇáD«6Ú)UžX¬L–‘2â5~e/ÕÖˆŠ‘¹âПg?ûlÀ.Ê@Äœu‚ÕŠäÍŽÐ@ÕŽÞš²0¶§vdP£FXÅ99."Ô ¢C‘eH0Á‡J¼+(p +%‡o‚>Ú>rþ h*ÖÊ"ytð&C 'æéˆŒ ýj …';ÂÜa¥6[UÓ¨¬8D^‚tf#‰`5 +SLD¸­ü¢û¥Â³ºÈÏTPÂz*8‹\‡µ¢K¨ÂY5ŠúøDë[ñÆ©‰(»Y"±‚5IÔ.ª ݈Ìb·DTÓä ‘Á jf$ì!Kµ`i‡Ú§¤É!³nÁÕ†j™ ÂÑ—¾ ÈP_þ…|ƒïn!×<˜ú—BúVNÈÀwZÌ”…›/èócL;ˆ#`!‚ÜP\–àe +\Pµ‡4ÝÂàJ‚Ì] )ŠÁ¿È¥°CËê, %Œt¨-óÍ×êV€ö@HñŸa!ÓûóÍÌæO½wtr +vK£¨Š-£=Âqÿ–gÖ• ¡¿ü`Ç$G‡6ÈëDk™€¸§-vöùK_úvâ\¹J, k%äÆÕ°Ø”5ä”Ý“EˆO‘N dß´)¦:Ã,!ÃÄ9 ¥<âÚºÜà⸦Ï>1Â\¯C&+¤pÎjU¬îÂÆ;“‡@µwk„‹6üÒd؇;WT¾ã*êùr3R­²#L††*tS“'ÓhÜ©Å2 ßw„œÎ +6f0ö§B@µ¥fùôö܈HùÑ6T{{*¤ˆó¦ó•¦òô JoRö0Ö5WÈÓí!îwðUõÝS-­ Í!®®lo_X<¼i +£W¦2®qeа‘À~“='ÊÝP zëY…ùŠ‹“zx©]¸ÃÖ³äL<^ô{˜QßzÖ)ÒõÈòÒÏ=‡QÏT„BNİR6¤š¦‹y4¥ž}óÛ"ô…%õ,€Qœ"kµ–ÔÃRà²=¸»ÙHê9¬ T)*| LÊA¢ÑÒ<ÊÎu Ð˜ÍRbõüƒÖ sÚ-¬Ö3MìíÒ‚OÔÇm-5Ά=ñ¨Œ§·é硎ëÙ§ªãàˆêø«Lvê}©³š!s«ÒƒÑ°]ã̤k1-†KéÇyªÖ$‘šEl~ñI “§IùíŽGai†ÖÒð¦x …äôhyÂ. uje1 ! ðÌ]ä–à p¾3¬¦8¾«ññPïÜaFñ6Ò +.)\œ;wk7mÑödI—ÊSoV%.´Æ'4aŒµÐˆ~i7é.ÁzB<®¬´•¬³rÀõ šrwÇ iODaªAÔä-rrî Ó(œ }Ý(á¦A8e…$íg"R¹,FþßèSX©û@‰™)ÁH•Ï,2ú3Ì1v²jц¨ž±¨€UíF{‰<.z#](Dm&ÞB§4L…Õ£‰™!ôèÊV¢d BWË# eZ/3ë:ת4ÂÖà æ¨ù«:&[̲•\§æC-¸;†m2Oꘅ§ LâNZÈó7´¥bZÔùŒ*e¬Ž© ¦Ìw²è·5¦Ÿá-Ž2:Ïše)ÈÈbˆ&Ž+¦ÏŠÁp@’›œ)1 +`*"óQ‹® ÊJ|˜@:“cúQjkŠhÿ-ïM[ ­<ˆR sd˜aæšÛ½+a }ÕY4›±ÍÁìÉwew.Cúc…“3Ðk‰£´®þ^<>ÔëÀ„Œ ÿYÑ[êbÝ/*‚Y{±^ðéQ¨ƒSg¾ª=î“ú4 Uo›ùïÚ"!8çÔ›ÍwÃ¶Æ +â.Å8)ð:ü·ßÀ¬ò ë2¨l±?Ò‡ „A3bÊU¬£ˆ¤£ Y§œ†áp‹ä¤Sªä‰ýìX¶‘§„ïnJ{Ü?Bâ@¦”0U%_bº¢`ø ÑÀë”°̨̲q‚n^—+>¤kÍÞDÉ]Ä‚°<ölU_;LTGAC.”õÆ"BeMd%µÔBm;:€(ß«ÛìA†n°…¬d‹‹å.¦Î%hI§ó4 p ³X¼|‹Ö¡Å'Fk¸‘à— ¬÷]ÌÓVW€,ƒ×ƒ7› õ'þQå(‡Úß äm–M ?§Œ!}Ê,µ ôõØo„ÑŒì¬<¬¬¾`~ #¿†¶d8ïVÓäÍ;óû-*bÕäw/6%±uœÚÄûY!ćlé¥W¼(°¶2to!µ Ä= H±‚¸Y’C.õ'Âë \˜‹ÃƒxˆšÇyô ûÅÿ¤çO=s8Ž2\ZNÄ…ÖCŒšL0°Ö²òNa õÙ (Ç ”,_ ˜>É¥PØÓŠ¿UEž„ÂbAñwÁ“F]aÐÙßëw6÷þ‹½§ÔA‘Ž*u”Q;á¯1v¬%ñj±Eµ§7ç«|ä[x|’ßÚzW±¡t­à"ж(CêS‹5aœÏ”—m,ЖÑU…ÀÒÍKÀ“3Ì|Œü†i×âîß´3( T3uT:Š=AåzSÔ¨Þf›¼Jdâ!iHiœÈ|z͈!IôBÄë!÷q(¦©{ІGµ‹âA»³M^öÈ]º<Ùõ’R-(2Òq¡rBHw¯‰¶šäH&ªÎMâYTÑœI ÔÙ’tÑníó[2}y„éɺ؃)d™“‘ó¨¨ܦ`G¶Ë›r ^ýØ|;4ùf<Ȩ ©&»sP²v~ª"ó;ÜÕ#‘6Œ´²™n¼;! #ëFááØùT$ÑO9§54l,{XGÿ“¤½Ý+È”Ãü‘ƒ•Q»§´#ê ÍS‘þ»w1}`¢˜aâà[1°µX§ H0ÐØ^Ö?ÚÄ‘_¿’,9IzüdbV`þÌF|SôAxš@É8ºï!"˜%3ÌJ”Ðà„$ g©þʵlR–ŠÒ§VÂm:õþùÈèVÊyÌp lê\ùJÁ­Ž/e\›L:2 ¦=“‰o˜e][VœGLƒêKÆì‘hÄÈàñ¤ªqy1kh²×ƒ*‰s$€â ´ÎàŠy”ÓIú+Ñ@ ´¦´½¢ ¾à º]çg¦ó8ïÒ=Ø&b“_>ëÍ= µóÅáÏ*²A¬~¬ZÝpf$ý’Õ”€'m;‡¡¯%_Š»D,Ó^ÌæÑ¾Ûhy¹¨¾xyÑJ‰Œì%d ¤d2çÁè±ðäåjr\tmV4çÂ[Ѧµ‚Z ^îî¾åø9i ^Øè}"ÐÇ ÄÆTĆ@€Œiàø@^ ÛPÂYý/ŠâŽžö™.—ÓøØº jF&ƒ§SlÐáP‚*('¸å”¡êÙyOö²<Ðisìï\;›À;T¡rHm®ŸŠËÓ!ešáT­+òEŽKöð¼äö÷ÈDK2Kky|§!ƒû¥ôW‘bÉÀäMñü!°løèqÜhìM:4:¡oÆ/âõsÖkõå³n5ÂÒ6uÇ•±º­øvB¨¢5T‡òóÍa7XÜô[¡ÖA”ÉB0qýX*2ÈÞª ø>+ü¿Sc£qůآvaB±@¿]ˆËßbõ‰íG‚xë>byüýÆâo¢ÜGq$ï¥ì`´Ú×"Wª‚_Ômˆ÷{½(¾ ó ÒÀDÊ”;` +~X=LK>|Ïq’¯7š²8%Ž’ïB׺£´P’|¯® +oÖ¯ð4zÇÉA;úþ ÖDéeH™a¿WãÐëÆ{,ezfÁ§ +¾=ÜAd¦Ž²‘QÐìá8?«ä·‹üJ!ã i¦_l£"€ôn +V·Î,ÌN*4Ó!ôõˆ@ò Ë‰ˆ= ×»C;'HàÍéÊA°R®@B%PªàþÏ­%׬”¦Â·šS;—_P¬*Îj(WçPõzS|vÙ°Ÿ¢~_¦¨\'²gË5SÊÁôx=Í'¯’Ky07¶þÿÀP¦LÜ“ÐV„6{$Þ·E¸-|•ø— ÷ER—½ïÂõ¸ÂlŠ4ýö#ÙE¾ŸxÜÉ õ16AÉ{NÊæÆ‹S¼ÒóŸù(®UÿÆw{‚:äИ=Of¹([×g%æøˆŸ¦zØp¥\rÅvV›,<2!ˆô +p~%ÜRëÃß+Äùví©òæ•%©¡•6IϨ±²'aE{²äØÃÞkÞÚ4ŠëL|ê + ­»“UV¨ãRíbšÁÔ¦´žA0Ä‹¡ÈmB±ú(ž<÷- +î‡k*@ÁÙ”ŒÔæ'±2Hm4­BÖ.Òv(…¡|!ßeÌe"x—,8F³åŠô‰ˆ,ÝM•5o)•×”5 •¾Kc{‡I¢ü+ ‘6ô—Do{f+ŽRœ¥˜ànF3Ù¦æÍ8ð.Z2%ܬ±™eKÉÕ(,U)EÈÇ—óâ$EVŽ÷D Hé +Ö.DæÅùùFA9Ì“J¼E]¨:·•‘(ŠW‘W’‘D¥b9Óéq‚ã7TefˆÚ˜E„ßEíÔ=óœ`æe‘váË+ †ÚÕ5¯‰á'©Ï4$ŠˆzO¦4âòDŸGÃRNûQ}î¤nÉ/c{ÑY©é$-ÐF£¸ <9%R§¾½¶“[¦* .9;˜jä6);f±Þ¤ß «¢62¥ bŠñ;išJ¡ã¨œiz%õ5^w¦o@üƒû2P¦R6(µò–Ü9²˜ä™y¬e†Ð‚é 0IòRÑ‹Öó·´@ƒS jÌ–%c×ýÑà;îª Å•’ÅEï©s~cªóy#‡ëüR²û~(*%â’ªÝÙ“Î d»áKJuÂô´9“d Eöj/·GDÉ}ñWœ")Á3©CW¿Š ºôöÇB>RÞpãD¸¾CžGµÃžäÿ‡À²ñ!‘:êhz#Ö Ì®F Ü,¤à@ÖVœÆØ›»OÒaQòÈ:ôDZR±˜ Ì’m÷ÐÆ†)êÊ´c)ë›ú]ÇÞÄx›à !÷×Z©ð¬O×{|"â”çò'áƒj† !4>’ÿÓHb5¶¡¨àˆ=ºÍ ‰G.åbûì”χТZì$D£{Ž­Vᑸ/áÜà[·˜¡žPBçÅ&Þ`BHŒF'Áâ ö=ëûˆëá­eæÂÁRÇ$˦¯f@2¯PÂãü›ÛûlËš"´ „¢Ûæ¯z=ññöl𘻒ˆ'w^¿Âé0¶ ÷bM>àíà àUù#`­uZm›]-íòÝ4 }zVòv!’\u÷μ·°n#Ûz‘atÜÍ¥ˆÑ<ÙR ¶¡ÞeÖͲû +Pî±ïB_qµsw—Ýè9()`ä±ömÈÎÛ§ÁòÒw_ÒÛàů • ÓåÕlÂóÖ^1pajÔ¿ +äe3×£§[aÖ¡¡å}Qè6ÅÔv~Ï7óÿ"ÐWXäüðÃ^àÉX'lË.ÝOËŒ –»2D¯\V0£•‚O;Ýû¨F™r”[Ûß>å‡uå¦Btvy^û‰³Ü»rÜìçíw€ cÇ û—[æéro„À\ +@^.%Áss›Ä?Ö_,©¹š¼D¥ºtËA/¼ôˤÝ]­Î tA9x<6“©^u¹vMÛ¯­‚®þÔõHE)+²«yšìnošn°Õ6¼Eæ Ÿ%®^»ÚfÞ«èf ó5è‘Í0üÊ ÙœÇÆÏ;ŠÜÞg19Uçû—…ÚHWè#|¾Ã¹Ïç[¯„ +Ô€¥ê›­ò"Ž?ð½ú|˜ûÓ +ÓŸ4Wn»á÷=&Û5C¥üÚÑ» úûªÊWª¿ÆVöô éïsàù{(i9À°”Ñ—-²ø:W6?ôWœb´Éh`©ã÷È@}vdÅw8~nÆrÁÐf’ Ç<@‰€Oüº%h—øgÌ­š»cã÷uhõJFßfÄ;~Á«z D*°:öê¶“)|ÛvD±ÄËžÊ[-J‹›£z„°ôìL¡ýºaØè“éYÖº¸ƒ[Òf¶ŽZVëö ]€ùDa3o®§”Ï¡ê/ƒ_ŒoN·„B—wŽC«Éÿ¨ ‚¿Ú$VCaØc|mLÏDNfj^ð UÕ–‰¼3Jˆ¶ÛÌñG¬³# +|ÅC¯J+EÈ„@˜¬ö ŽpkvÉoâŽÚ ¬òjˆNµ¢c…EúÃb¸Ì¼È Ý‘f±~Nh;„HŸÊ`‹)‰‘Ýœš„cÝüËPT³ÅвJRøÆ.8vxúÎ ÎòbenDäs†—ý%UNàdÕ +ghl8Âk±­ú‘¶e€˜ºÚ[g¨ê …©dìèÌ5Á@ÄPÜÍ¡C°é!QùPÖœW1÷Çêq`Š%áCÞ[ '·0 ‹Usn!s 䄆^æÛû¬BÎ1‰((ñ 8©ÀöNµ3Ä×<†Ø—Mt‘Sû¥HY­Ò(Ó–ÓD 0KFgÁumÛ Äøj€Ïsw ©O7ËÔ^¬ ° á[ËŸàf"KØdp÷ˆßzµ–ý³ÓÁo}èÊç»NþÈxT`Ô}ñÉ8œR+½¢—Èq]î÷äO³²µûË‚‘^4r °ü½v +^y£2c’Æù9Þ"„3( ÇïOA˪ÐY]ÙÊŸv¨çojY„ðÛ¨¼‚ÒiNf"©ÚûÄnsK·„Šó)I?Ÿ.È:e¦C!h*ŸK_k P¬ê„ìYJßG¤á›!uLYa.¾Ÿr…(ó?°>d„%zæ¼À4ð„ÛJ¦ÉÂüR­žô?Hp/X 4°wÂ…Ÿ)§œ¿;bß.ðmw[}‚h%àÔ¢ZÛ –7Ò[Ïô•#s©0‹y‚ÉA Û¼0‚ã²}­:]A¤ðÖgú°h8ÑqÎ]$*ÎJ¬ ”¾ßj÷,ä|°ŒÙ͵ôÂ\¢#dºÓCžLJÍUµÛ` 4,=ú¬–I¦fCŒGDIÖ†‹6C\ZÈ7þÇg¿hÑêdòùz ›¾ÏÆBÓ(NŒ%9td(¢ß§ (ÛJ´O?ž%a§ÔÙLņ>­ Qâê¤ì% +¥?µ^ŒD»À¯<ÙPœ@Írü‰cRO®Ó¬2~¹õLټØl^RjÑHì`]Î:ÓÆÈéµ´)Iš$"›÷"G„gJÜëCÏ«œ;ŸÍRF A` 4X«¯ô$"X„l!ÙµçY‹ß»Y#!GƒM«ÌnÙ[¢*Îâw «$Ú㯕p†<Ÿ;öüôÁÆn¸ªæ/¦4ÚõN6¾{±L;Å ²A´VVѲ‚\æÅ]Öÿ™ý¾tððÕ"€mÍ0N^.48î™<<ˆ~æB  þ½…¤^Œ¡P7Çø"‰«ó+ŸwÀLLBš…D,zÁ°…Šël¹µKMɈúÊ‚=-7u«eÒ^1G°TŽ;HQb~™j]T°ßÍ¿î~VÿÒ‘ÿiWÉ2^.·•^½?ÉÄáʤUõ—Õš4N§+y‰œ8:Ó f¤#ñLεçž!yé¶s…¶Ä ‡472‘ÄåáLÙÿ7:Ï@áþysûduƒ;®ïa™†• BÐl®{Õƒï2f<#Z2hl¶ µÁ´(ðá‘£“…ÊŠ‰£k0È;¢0ƒ¸ƒÍ›<ÙáÏí=3*®Lç"{ƒ¬"¥`êßIª¶@ J¸qZꕵš ’ìâ"u¼Âv0êÊÑ*™cÈ78ÐÏÁºÑ•n{JaBÛçÀ¨²‚›¥ù’¨ÙkJ@(ðÐuÃ[(ï3Pñ83õµá`õ¢»À»-C3€c2YóXƒ†Ïj¸; fÇb‰!«6Þ½ÿ¥°„,&ú’£ñQæI&A)†l5Zù"Ë Æ(ГÅêY–BuÉ¿ÀăËùB)o=­à%¥"$Ê’¸fç1 ø²öòå&ƒ¸~aOÌÇ!Òy·snÞfz6]g;ìRÀë’Qþ;ýH]p Ì +,)]tá2Ç´ùA"®÷Ú¨ñC/3¥U@x^ŒÁäzôÔ‚ƒüe»™š‡ Éì ¿Ónk™åiŠkkjš³ä+\s.,ç*þø+iûÞêvÐõ·[óЃ<9Ò-­p¹àý fJYAÀq!6å¿£y´û&n Ò°,|M§Z÷~V1¸@»«çQ¦a$Üœ†Io9ç4DhÃìéDÀÕ^¼£ÞÂëù@4nó¤!½\Zð”sEdDJª¼5€¬u’íÃ= _óS4×ñTÜ¥=þd­™AX¼ÐË x8³j…† PŠê°„Ý«hì»nlbF X„žbËäù²²ÂŽ,³üHûiüѪH/sii%ð%¦YÅ«±i%Ð5~ÿãÄÒÐi7ôÛ~HŠU’ØF+!;!íF5'áq[<¤òÃÍŸwÀCzÖ@²KÈúÜ-BôO/2Ðù„KM£š¯/ Q: [B˜nˆý‰ ¤Ø“”ëyeëÃC9ÝTiªTi3 L£©žÌ?È4ýFÅNâ ów:ûŠ‚W™é¶íʺØÙ!~„ è¥‘Œÿ|ð +·[°ÿ—{à‰ú³—S<`±ivRùÖL И’쬘4aíÀË"ßbŤD}ç¦Òð0V1Iïã1Y¾1LØ0¿“€&Y¡íŸê¡žøì¡0™÷€ ¢W|Øw>´&aÀä +?Ü&¬êj-úÁ°JüÁ­@>˜¬`ñ$@¦€8Ù¸€¨L$ T$çþº64}Éš¡ö—´  <Ø H“Í?ˆ§íš00¨Lq÷—‘!B_²#µ&^BÜÄK†í•Ñü!º¡ˆLv ­HD)Tsɸ&‚W2;ŠMYíŠXòáYDy=/ÂmucšÙ3‚².YÃFüÍ%…#Ä%ŸÕ…nÉÊóˆc4B]åG€Þ‚„µÄ˜Cú,©í"Á³,Y$„%†Rïeà·„˜°Ä Q›JfS÷¬¸_ ÄYIg n)†K¬¼J¾ÈKdU%[ &¾M%!ZQÉ“'OÉ–ÈÄ]ÓL fJÊ8oc«RB®˜ð‡”Ô&¤%?ù&âu¡Äq”<„N\úI6ÉNtèI„ÄÎ:É[ë‰SèúŠ6I³¨smIv0¤Iñ?™Dâ9¡&ù Q$4RQHÎÅH’¢>´“ä"/dHS  .’ SI`wRÈy$¯é Ž„ ˜ÂÕIˆBâEò»œ"2ãdó¹DÂò=ÅGˆ$D¨ÉŽáW3 Ma_>" m± +þ ÉJW¡p +J&$BcVÈ$ߪ'ɬ·¢U  s…@ò…WñG†ó•÷Ù²ùÈ·…Å)éVC±(ê‘úp3˜w,>…ÁÚ£ $ ý)W…% Z„G$iY¸æŽ¼ÁšÅEØ‘É4‹Ò§#‚í,=G¾jhqQåȤ¥EiqDVª…DB…ÛìÓѵxr#„f Âå‚[øÓFÂy 1ØÈû‚‹æjd«ââ±:˜Mjœ&%§‘­8_E#±Š?ÏH†Ò…Þ«$ñº°_¡$îBç´gÔïàEêõ+Dy‘eŒ¼’Ô°Ôé,š{„©½wË0š¸ú¾h°‹ìÏ_\ÇE²`ˆÚ"ßq´ÈŒ¿²Hò†ŒŽŽ‡ƒ WD܆üUä0Œ‡äŒƒå0ÊG„U§J‘¤%†bQĤDSE¼ÏÅx牌•1Z817†&ò ;Æá%²ä£ÆIaFd—DF2„B"Ÿf2âÈš¡# +QÆã‘ +CGyXËH>DvêËøÚB$Ÿ†éBÄ34£lYA6ã# gh÷CÞª3¢|Èvç·ôú;$vŸ¡3¾ËÛBBÐèˆCÄ44äÝïT4nÙUF…"¦¤!|†¼âÒxqO Ä¢q Ç6¨A( R¥†´/ÄÂT¢ iåjÖBæ*kÈb!VÜû]q`C™b>±<…´K6£Í™=!µÙ R&m$nÑßµ(…Öÿu Ó(Ú6Àžãòo£ùr㌲Ý(ÿAÄh7T.ŠÉ©vãŠä¼½ß)ȾAHƒ,û7È &8`2>· ¥Ž+È Ã!^ +bYˆ{Å9Ò8Ôœ æéq “ åF–"ÈìÉ¡ 10,ÄH0¥È5‡XbKs´H£|RÈX¡CŸ Äqt@}?—Db ŽN ˆPuxge ;Üu¸±Ãsùnv @†ÕŽÊüq};„øÏ&ýãºþÑ>¼ƒþ±`d€žï0¤?¾xœ•?Ö¥à1&Ú58:Ü÷'äõcæqVúè:=çÇ™ýä=(~ÓƒüXòâ¢÷3æ²÷a§×Ã(÷‘ÌHûˆ<{H`Ö‡{ ¯>Êò,§åÁ‡Ò]ŒZчp=‡ÐóñŒqæãpžXå£uú ®|LÈ$òìCÊ)ßpä×V$é%éÈðƒŸ¿Ç†ÌÝoõ=e\ý±{ôëý`ùóùÃBÛ#ÿD{|.ÿÑ"{,€|~=‚.@Ķ_¶\wÝêqЫojØî‰2É7\=ê,ð0Œ± ¤·Ý@ÀðÄ;ÿá+õ8q‘ÓãP+ 2zÒ#â$Q%Hç¶ ˆk½@JÐ*~ƒ ½gÐ’ä¹7$–=hÉ˜Š¯EÒúóà‚Ùy<ٌܕ2JYr +ÍCX/H‘k· b-¾²<Êo ä[y`‹©AyØ@yäszÇ/sÏ3ìñ¸ +Ë ¤€ÆƒBˆÂŠÇqIÄv ä„áAϺ,öàAÕx¦b¤ßÌ©p§ñ²@JÑ;¤8Þ×G 4Ò;!¼”Ü#åÐ#§àŽÏH ߸›¯œÖ´CÎ#ñ˸´”ù3 º¤´‡Yes©êØ"…ë@uÖq6îÕ¡µñ4@äÏÈVEG&c¨ºì?þ;4NýZ¦c7ùÓ)ÊÜ +HÕ‹b1‡*ý‡ FsgÖà¾MÊÕç&•Îq|{/ܪkªäœ9¨VÅôa^Jg9 NU9‚ðƒr$Á¸äd1Á‘ãY¸ÝÔN!qEµcý7ÇQ|Vãèâ+Œ£ÃÿàÀâØ`‸ÿ—T0¨3Çã*W~G±GÅæŽ=&,¸û7>ôšiëÐÂoœ jo\¨ÿÀÞ¨¥üƒyc–þÐÿn’lƒSÛndHAkÝ{M:žtksãhú”ܨKþA¿•þ°‰òA€wݹÛsÝ6.Êšm0ìÚ8TNµqoþ\Úè¿/™©_2Bÿ¨SÙ ¡ãl䔤þÑ5•zVö‡´@ÈPðúÇXÔÿQ}³±yÿCÉ5ý£&ºJ»¹²B¯>öè•™ú"¯™ˆøDî²ñ5ÝT Â-Ö;¶joÍxþýÛùÛØHRIldNš°ÅØx_ÝkÈ+ç®Fù)×`ô „›MÚ€NkL(k´ÿ kT¨alÒbÆj`“ jœ´ò©!³Ô€ +üÄ0j¼K¼5ˆ®Ä +ôI v4ÈÇÆz<|À£ÞÊe‘Äk$—w +0 : +2¡y…†;W~³…WE¹v+¢¾5O,u +5u~@y öhîP˜hîÄqåQ²^ºÇ•+ÀÔã1èHÜ5¼e#”¸„P˜|È:}p}cŸ"o¡F!PßXäœ.3¡¼I|yÃB už}¾“d^¯´(ÇS¨a¸W¸aøà³ÏWJ”›#ÐÿÅr÷Soyå…q¨B©OqyÑ÷\nüRch$1ºõ:i.tŸ90^(/mgwò+²tò ¦hæ *÷ú¦È¹Ÿ‰qnƒI=C…¿„P#û€>”fÞ¯À2¯0£Ï·à°O0iǪ%´ëã"‹|)”;†ù’x<Ë>ƒŽÄ1û 7þz&ʸ^.+ÏAûo;0 rŽO‰Ç_(àP×ð±ð‚OgÌK×YëÊ}äÈô =3]ˆOM‡ +Íëe(‘8ÄШ_ÿÀóÏÐØkè‘xóßRž50Áæ^//‘Ìå"Ž;'_Ïו¯T+é*]!µ^M§Q0} +”7Æ®éF…n=”§žo4ÈÖçŒaåÑ0ªT©1®ûÔNVN¨¶Ó<îždênG§G=?ŒÁjÓgZ´ã—åø$Å9½çžÏ@³G`¨ÆïÀuÝ8jÿTNë† +È·@óš æÝòpÔTò5AÒÝ9UÖùdö +,óŽß^#x sêá +'Ó#ß “JóÁæžÑ`›Í„R—ÚÚK¯ÀðExáÄ3äHìtò]ÈQØw˜‚‰s¸r‰ø’‰ËH÷ 8÷•{½‘!†‡¼-›ù†'˜Lt}N¿ž¤þàÓÏGB|[€i÷gÀ±ÈcØqè4ig„ض3IÎñMtKŽt{†‡¼l@#”ïª3ã‰úÔXÖñEk‰pý™Î×¥'5Âítúp òbüõjö3Ç~BŒ¿ »³~èmh/­çiÓ‰þÐx§K»¾žýq”ø–;IâñBzjüÚãV«Š-rºò¸ˆãîIìi%Ž;SäÜ••TG KÒ3Ó…úÎö£Å6]ÇŒ+WZœã +Ýz5­‡+kƒ’H^D̾ŽA(oL±Ž7ló ñü1a!º"]|„QϹÔð§Zhð#ºhê< uÎ 0ñ~¥D9ß©ònAå^”× šíA|e:Å6  ;s'I¼‚lúH„s=‚B¶ +2} 2{¡ýá[ÎAËæ´Å–Ï&™+ÈÄCø¶`rÏG:„ë‘á.Ô@ä1è@äg*óú¥ÞqÌ]s˜ˆc¾Ãp h,êsëƒìÎ ²ÁB u÷Ç¢Å=BŒÀž‰Ñ®w’Äs ÊñEjBygN•vböKr¼’cÜ¥É×_àAÈGx!Ø#%¾ù–wF„l}OÛØ”gÆCqò)I¾õH‡pJŠu¼SåÝþÀÓÏà9Èä8ç_¨ÈË@û 7 ýº2^Èïl_¹×CÜaÛÒ}âÊv!=5$÷žBA*³Ïâ3ësÀ\äë-­Z­XLéœuåN•uþ†M“t=Þÿ„‰ +endstream endobj 19 0 obj <>stream +Ç3èÜã Ýú!@5(î¬_™×CiæýE}lYTèÖ_°aØKø4Ühò=]ÚõK‘p>ÿcÆ;€¡qÜ#|ö>pd>tcúM¿=F"yÏJ(ï N2o +5q(O¿ÝI2¯wÂÄÛ™"ëZ Ž9ͤò†úìãw޾î;CÅ4íBˆëy«+ ÎÐj½uXKŽ3´[]uÚvåºÕ¢ß×n³à—Þê’]7ƒVìºÈà‚¶ã 5Ïìšv¹fX‹†ªÊ„¾Þ˜…Û±™na¶vß™†’[—ΰ•5·]uVMË.ä Yoí"ƒœåƸ`8ΠǶ›•5ôkoÁµÓt›Îš]d¨»Ü8ƒ Ù…3d¹xÝ×… Ó4Tü²h?B\" Ú¨z–gÊ…_ÊærQoeemmÍ­V†V†]d˜³²â [°]g¨í˜+~åšÂZšˆ«ÖU!‚¨ +WóU{•Æ—EjT wT ]C ÷µ–UÂ-Ë*ëëlL—W™ +¨øU!‚kËL ¬ìÖUaîŠã8víºÎêÊ åºp‘nç8ƒWÝ•«n¹¶²d- +\cYZR¨±,¨µ4Pñ˶R)ô¡¬µ¬[e&"D¨jèÁ%ºU¨QØËE õ5wܶð7¯|B DœE˜Ð½E™»T™¦ÈİB2œÛuμ˜éHXéÌŸ*óßô +> ñ Añ ƒ4w&F»þÁ @>CÀ°¨á”r†FRD„‘2a„CŒÀ(¤öªhøCÎDÍD'#³–:cŽOâéÐæ¥sT›¿@\d±xîår9¦QYs ;<œÅÙÖ$+±”°qš=œZÆúˆ8÷$eUB=禇s·©ŽûpR¨ó¹‚ ú`8±8ˆ“Šþ:{©ãôÈ hÉã@ׄþBmÃ~“‡ íU»}Ó=äD…TÞÜû£B"˜wN¨Õn¯œpá#;O>2çßksŽœRŒ:ï>Ts¶˜°¶c:¿ÝǾ9㫺enÎQ€Í9hñeÝZðëáõ©çR”[ŠÝŸþ&ùÞ åŠjCWì(ªk +Ñ7!‡ùÄàFÃŠš¬ˆ›í‰]–D99ÝG¤~¶æ$²/„áW©Út'm‚%௜?/βw|S^ºËÊ5fŠ•t:·>%²éß°®¶ìIDëµà0à×´°nû×¾™EïUÊïHI±ð)ôÎtÌ!µs¼úúáHD~ßôÙlÓð²­‹—–cüQñ:ѽ¼lÀ«dðŸh~_Û¼•6™/‰§™Ñ±oW²—|Ú·5±(øó$ýQ°àbõíÓ|F¾ˆí|ú@ß7’3‚N..öšÝ=¬ÿ²ñÄ qõÝ#üªw¡¬BþÒØwœ¬9Çt+Z®y…öôºÛ³õÃŨ•výÒÂðKt~›ßwÄÿ†åÎ<Ïòº +|?Çé¡‘§¦cdpí"«Žg®.­.;C,geزí8×¼•Á…›eguÁîû¶uåÂ.d›ÎPwÁYê¬6Î ·5œÁÌÃ5× »­üʯûÊ/[ÃsÌÂmÛÎ6å"««á 1—•áÝšã îVüf¨çx+K+ËíζۻؒkÚÍǰnë8ƒ‹·ÍÊ åºp]XkÞj\i.ÒØÖÖÆÀ¦j_Zk`kR³25®¶¬5­)2¶2­2.64®´\jY.ä–m)¼\Ze\cl.ÒØ¦\].†/887·ÖÝ«°v•Õ5&âJ…ˆ··-(e\i[c`_ZYii"4p­±¹K[[Ëâ`FáÕ@–UÖEm,«í nkˬ,×–YÙٛ˵e&ÕB×ð#´JÃP×ÚØ ¸´uc#ʲÀÔÔØ²P¸0™ °´µ¬j.ààDhqqIǸÊʲ¾H¼YeµX+ã"ãÒÊ;S+QVæ‚ÂënmepÁ¥ÖÕ5õºpá²me¥±nYXVÖØœ—Ù˜Ù×YšY‹8Îà¶e±I³ÔÀÒFÈÔÀ̤Ʋִ²ÒºbP]\%4h}e¥¡àÒJc3“–½ifkYi\gfe`k`jfgdf$Ü1¶²«¶†YdMÍÄ• +óœÆUf¦f–fbž)¼WiYkYc`4_™±¡™u•q©q•¸R!Â…ûJ¹^i\-´´´\-----­ZKKKëuµj-׋ËEk¶f¶66ÖÇŕֵ%“™¥u¥e­©q¥Áe¹eµ­mmeq¥m™µÐËÒÊâ*£ðJI±‘±iie•™•QxÉÀʲÜXkã*±µ¦Æù¨A:‘$I2lÁ„„D™bŽÕ$m@p †‚(D +A†A„A8„bBŒ€@j1JÂÎf$µZ‡Üø‚û0t×k¹>  ƒ@Qi <€š –àßÿxÃöfÑßt𣦝hD§©£õðzq¸ãÞyš` +´W£¸BëˆÓ5øAcY°‚ùE`Œ‘~‹5ÍŸ¸&šdÈXà‹l%  Ñq¶]RØÐî:óÄké.Gäm¯®8zº™·5TA^=^™1›_Úü~Åã€!vÒyÜ ÃHdƒa«é] ‡ƒYa`– Ò˜¡Mí„(ÓÓt®ƒ3…íØP"QpˆTsŒWÈâ·žŠH)"7ÓKÏ-÷d-WëçcFùË_Qõ¶Óýz&ê'Õúù˜¾>¯òaϧɹqòü +@ÔÙù gˆ;à$ æx¼;ç >K/a•Ì\ñ¡£E´#†•õL¿Ò@pÛBéUÈ+ô°pèe‡ÇZ²ëîo ýb­ì›£lf›‚Ûjš5‡ßM¤oÜJðJæÍ‡ðE}b}Õ¹õæSÆLÆ–ÄʼŸåô|ãDÖì Å›ëi¸Sï”°ì¼*H‡£ Õ1c@ƒe›L¦Y‡ÿÍY)P˜µKá9Ú\”½‚¸"ä†gŸP +œýÝW­M¤`á¨÷q`êIâê⩃ÕI&ÈÛd´ApQa®vnrgõ[k½º`o6˜è·M öÍ—MCéÌÊl’D¤,,_¾i$IW ÷Ä>Ké¢ËÖUO­Ò?"=Ý–íÀÈ.µ0ª©oü[6m:9?©(È!§û%mžÝ“¯iâ–&< þú¾ “|ͯˆŸáﺾ´‹»$Ì;éôè‘é–àcjHË$º­ÜVôÒv±’¶=ϵç=Ëá'Dãˆñ~’±ZÌÉË*؆…ñ®Òz˜ú–z)‰ŸC‘%ûÒ¡{\«“žxG+DSÆ„Ô⪚Þä=ÚlK'TÀ®Ø·CWqgi'ƵQŸ°œ§÷4’#ü›¼ãŽ»•¥S£ÒE·gÑÝBѸÃ6#÷A—üå+»*¦|£äÔÍå‡óÌݰd¸–¯Éù») DP{\K¬²Åq'õÝȬ÷¬¬Hœá°úö.À w”â%©/)`Vò¶Çíj¸y­ 8±6ûuLö{Î@{zߣõÕ—(ðéö4­e.¢ÝxÌxÚƒ{R¢zt8ü½TGk¢¢O' `CÍXg»ä{$qmkòS-†},}ñ›YÈ/rò‚6€?tü•~{­ÄÜ}¨J…Ýh7Q±Øo ó¤ßi®šg#‡ šê¨ÝSŽpkHÉEÝÖ+š¶½&UPçd9åqg”¿àQ9ò''žž®„Ì7Ç ðê¡é®ï*.œ7M’[MàRí]ú{6Å„ÌI£¯³[Š*‚'Ù´íwöìpRĤ*¬žTœKÈéÖ}Y¢ØaRC€šƒ¼ß”ÑØDsì¾ÀÀ#7’tË“NÑ£ï¹p“ÊÏ>¡Ð{µ¬§–æG§Ð›abK…îÖ,ýì zÑ +ãÃòuµ¡¶#Ì¡ñxó¬½ò¢wÒU¡5ÉÇ€z†T€Zu‘dJg¥áôf)Ö §/KA¡á4ßú—P¥›–,™€Ó Œ?+ëÌ¿`Ҙђ#dF05œ¾u¾2NÃY1L›“J,ÖPwhéL3OÛˆGàŒêÔ’¶ë|§f q§Ÿ—žnœËÅ“>7#N#W%GvœÖUD€ý)?p§I:„«ªªøŠU]UUõ6C¿µ4BÈRB¶íF’¥úLi„‘u¬úŠ }ÊÄh1¥”RJ)SÖ¯*¤þÎãàøJf‰1‘<0Œ“ £a2!áð$àÁ1Q@BÄáx0ð£,¨XëˆØÀÄDQáypP(ð<‘òÌaÆ·óškóºS–æKäŠÑ¢²0" ýöMÃû2”ý¿wùnÛŒ"’ƒtÊq‡q‡q‡q‡q‡q‡q‡q‡q‡q‡q‡qV–‡È-2¿ ï˶NY[D»z_Œø­1ö®a¡²,ôo3ʤ, fºL‹)ÕÊ/õ%ï„1m¥Yµ²4lSù”¥a™ªï-•¥9ç„ô;ë¶KSY²þ×#'LÈ·”7_eY`î–b¢'æ—ž²4.í­ìÊ•¥Ùä—¼1¡ÿ²ULÜF%&Ô—*ñÕ¬ âñ'”¬Z‹ µ,!Ï„ôöÊŽ/) äÞi›ù*¯™ßn_ç±[ÞŸ½YŸ²PH& š8€Á‚²<$ +½ ˜‡HÌ1XÀˆdq×`¨KF„ž‡c°¡pp‡ƒÉ!"Y@HD“&"O¤® Å£!"Yà-P¡B²¬`LP½»;³¼ÃHdäñ€Ä*& F„1Lh0xHÉÃ>=¶Ú×<þ3LÝÌ.9°À´¡‘¹Ñ–ûuBë áâ‘]JÉݹm=BCv×)A>ÓݥƴÅÈ¿±^Óuy¦„‰ÊÒ§²H@öLD “’@LHur{儉Æ1y <ž +{îh1A¬i¶-&HE+SÍ4MKÍ4M»þCZY5L®Ñ€¶Í¶Ö[!ÐÖ1wî&tÊ"¡á}BæÐ , &ÆÄ˜TYš²Kh•'³-ÛbEßåJDeiöÿ˜ÐözB‹Å -Úq@8Œ‰Ëc+ßï+}j:¢¹k M÷6ؘSX4 D¾½€„)%L‰¿î­œ»ËSžb)^ÃÖg ±:TŠˆcy€:ÏôMeœ¢©›"ú¹7Í7 ih@eqh8dÎó¨˜``bÂÀù ÈDÑÀ‹‡ça"i< ˜ @¨¡ÑÐýç!ñûÍŒ­9¹Îyãç qõ'þµƒ8_ZP–EsIY[p¯6§‚^ÑýIxO´íÚK´Š\ÝèÓôê3TÈvi™ëº4)KÃú¯µ—ð<5ˆÎÞÛ·Rv ý”’•‰qÓŽËšjî½!ÅM]Rç­S–Fž²4ï_l…˜Jïª"[q?ÖfâLÇé/5^BÌjDøˆ— õº¥¿:¤¯gé[‡ÊÒlusÉNY(0&I1èy@’É„±HmÐö¾„º-!ÎRõþÊžmjÍNMu@7wUUsWU[3WY ¶†hhˆæšP㢲@²Ó2ïÒÌÔÌ2ïÒÎ:!˼K¶æÜÌ݆挠[—žiBšX”59!OHŸ3Ò”¦„8-çnBœ ¼ „z¹ºKèZÞ„8%´ÌP#S;¿úñ§¡Z'³'ê{žÞkûákÆÇ$ÂXì!Ü~ý¬V„þ]ûxi¡YVsú•+Ëâ.ýÊñ’]áaå顿ť©ó¢¹’n±‡§ÝÉ|…‹ÿýÏÛ“Ë.]ç—î1ö­¹6¶!Å‚w*8…É#á°€I&(  ¦¡ÁÃ8ŒÃ8ŒÃ¨:48ŒÃØBç0X@ˆà8Ì ÆPEP8@ÿ€B0;¿ÑpH=#ýÃib888¤‡ø…ÇŸßÓ3~b0„&tÐK}Æ¥÷!Àq‡™` +(˜`´sÜ%ÂD @­Ø‰SÁ˜(à0ã"Lˆ8š‹ˆp<†„£Á31y(DØ ÆàÀùÏ¿†ouË\v ˆzÌPQ¯µÛ¼ÝònÙñŽ»Úš­-ûòÝ·Qkbc-îûÇ{Þ,·näÛªwÌ׊¿†ŠY{É—¯ÝoÛ––Ü·©–Ù¾ËÞμhê‹~ÚÌ݈œ¦Þ娚È^w_ñ&/5•y  Hðx ìišþ5 ’üs½½œQ±ôRÑÑ 5Õûï—¹IX€znè— qBä)%ĈQëÚU#÷„>)Kƒ=bôéúþ„²ÿb>s0aL&ÏÂy<fÛ~]Îê?Mh©ßüÑê’סµ„º™Þïu˜—šW˜)q4‘WÄg‹U(¨””˃V2‡hó@¸$ˆ#b©žU°bT2–N64Â@  …abŽ ˆ(†áPŽ„²èìb4%\iïéLýëœXnJ¾Zî4ý¥ž§™s„VzÐÌ®Cpgº»X]VÍékZ ÚÏT_ +(¸ÀH„±ÐD¨vÒì™?ø:]#Z]šÖÓß –×>* ·l³anʤl‡Q[U£:‚‹dú¨WÜPbã=TcÚNVË6ÅV˶¹Ò–õ¹šáL%IÒ)&m'› Ý$ê&ÝOJ¿Iiˆ°IžŠÐ.lµMJm—ÕíMzU5ßÊM#G;›@Ú¬5‘÷8§„W˜pÕ©Æ‹t–u9Ó•šü4~,Uû¡7€ÅY›Œ§,ãtò&ðÓ9ë +{PÃÈ Dî5HNÕ\lŸ˜ÕÙJ;©¿qÑ7üWuŽÿðˆÙÈjN¸è|‡››…Ééõ¸¢|ÃBOþ¤Ž1hÏQÆ«/5C!frvuÓ¼ ) ¿Y 9øÄ‚OyN17ÕYˆkEE>JÝ@x")À 7K‰iÈr‹´!ˆ”Ãú‡µµŽ2ÞäAûNŸò¹lÎMw˜»Çðáõ6`è¦Û¤6xtKÊÀŽ€Ê¶¬ +y´€#!dçͯd 7ë#ŸïÉþ+°%Sµ0Šh—Þ|7åd »„äl;Ñâ~®È€]º6Q&Ä*‘tÈ&óNì#(w¹ÎÝu…•o.},.14³RÇ0püà›jüQòñ¥i-téÉååÊ:ñNÿqƒ2]Op Àk(F’ª’ÛåRÃm†¸-i|Lj,{Ær.QˆÁò•~!›n”˜ºà[Yæ?Àå+°=‹HBÒ:v`jyqNO¦éŸ›¢uW6ph»&„ Úù­U¾V·[f; aЬªü¡CËQ Ï +Ýän²÷DˆÇ^ni·„cIÿ0UYPV8K¾¹Bþ½ ÝÏ-֒劥Tz(–-аBßZ/eo!}Š´E×Gç-(¯gõ6DÁ¸($-^ËUi}WEz¬Ó®>Zuí2ôöž®ÊI³µ9Nü잸ËËófÝÓ}á³ú”ög0(a“k•® Ò‘Ž˜Üé-%å»ýK­Ž€B|½sÔüîf&B‘Û¤7lÕŒa¬JIR#ðÿÌ|¼Q‹?Åtø7¡å]„õf‹Ò ²×sa#ަ0MÄš|e µÙû÷@&—«N)‘_>¢k,ÜÎrnÛ°Ö„¿>ƒˆM6üTÊnKf›8ŠÍš)³¿ê~Y IœÝÚH£á»dLu±ë|saOú7œ9³Ù›Èª3YþêEj&ÛÚáâÃáÓt0Í¡´û£ʀ§3×7H× +‘ŒÑ¢ìDQÏ&He‡Ú:l(là*ä °ISókGÕ¼éÁñÑ›Äóˆ¶S6Ašq9¾3öödÞ¨C”ßRË /­ŠA–Žy4vsl&‚ðrNh7¾*t^2Òt‚#Ôsa'æ E¶<Ã=0>æ˜kLÓõµH濊Ö÷Hxutlj.ѶŒ&ÖsÌ'n¿Frw ÍЃµ-žÀUaïÊAÝ¿c©žÝ)¨„ŒÌ¤ÉêÄè Ñ1túÄLnH‡pÂ5Uñr‰¤ÇIrÂkô6•g©i¤´V “ÉìÃÀ%Ñg¸órrÇ¥†Ï…ÛQTèÖó<šÔ‚;%Ƈi7 Òä‹Ò¡Þ@ò(UGj¿Ù»øÄp­Ñ ‡R]?¦òÜ»¾ÔÆ“ §6Ñò; leÒÄ—€òaEi& °Ô»–BŒnÐäxQ¶ ”Э>蔄óÝätög4rmh „ÊùX`”Ç¿Ü?!æ48•Ý`YúQo AlÇmðRö ¢¬ì!Ì +÷c%ÕK5#šêu£‰ku¿/N«Ã£\”Ógg`9T@¢|¸ay”Š9¿zŒ®SÙl‚7.næ`ù†'u i€š -;ûb¾¿ºQº@C°Š!~¤³éªªn‹ÿn/mO!Ͱ’«L‚ú9RµYÖgÉØáòNÄÝPýð×Veqg¤\B¥#›/DÊâ…½>1»$¤‘uõ\d’´~–™>‹@Ï"-¤™Jz(ì[¹(•¦)b½´ÔDêSø9O¥HŠ®z!U5 az!ýò ƒŸ´Òäø¬¿SU÷“@£uïlj‹ÌS¯=b‰Ão朤üñ•¶‹ên’(‹n³@{j”bw5º–`¢\ï×ÑbSíc~ lý0 õ>!þ[hC8JWHu^cvšsH‚ôÀ²…µèugJO@YÝ<4Û» +ïG²wÙ­¨˜ÒßîWu-£!xÂ¥Uÿ» wŽ—[Äg2ò5<"‰eCc;ÉÝ ç49HpÛJ)$9jsžà©Ç—ý3†q¾š‡–HPÀP™Â⣔B¤°>ÂòÕvçU ss‰’KW\Ÿ$,|0†vÎE–VW&ù ²’¿»Më”kªWPšrVñN¯þ«Ÿv…aGaÏ ê %cÈò‰SNd;*;–Tv._ï–ëƒy •gŠsÑ& ]»„œ•¾`eÀPï‰`L³fAY-R¤þ©&3»[™•4ïê=7gIÓâʬò§ðš=0ïZpe&k|[`6(à¬ÙÊ,u²2kXç+€ò‘„¤—lRÇ”‚–G¾Y×ÓÈ~™ûÌFó7c0¹xÄÊ ÄŽ“ó3A£h0Ögn´ÁAl0EA)ãof.­šd“È#´‰•|ŸÓÄ¡fO;‚ªÞ¤-S¬8ðëŒ0Œ=d™ bœßgˆIÎ$“2% Ñkv]m¯¯ÂÃŒbþ"‰^³ì5²p?¢+¡QÇ)‹¾¹<°/‚ŸÀš"دei”I(õ&ÓÿyÅU×ëst!†%@g(û€$*€–aŽÜ=Ç`>ÙñÿWÕ»€°É¿»ÃÀôI<(R1Ž +äpR¸ÀÁ–ÃA`ÅJ yðÌÜÙ¸ oT°eÐ÷ +o¦¦ÏÝY­ïr‡ì '6T1áÖßgn¯à6„…û¯‚®ýåÿ¯º3Á˜Fµ¾¾¸Š{v9ÚÅwÊü~Ðs¸£cA&ÃízÂÐóÛÕ™MKÙj³Šü¦Ïá„=Vg´¯©æïˆB»µå’Úd@”÷Lˆ¨NÖ8I 3ã5í—´/%‰žð%a›Ç’AXÃ+½3­|Ânôú«`„±†T +å™Pø ÿàˆ˜*[ë`Ú˜æ^¾=M}F8 Ì|¾Œk“¡ºç0ÄšBý ô« ÉեଠǸ…ŒŒ¬¬ëÜIÔèœà âz 6ÏdE£…&s§PáVã‡û\üx> ³d¡tw¶ÙtwèÎpž‹efMÚ›'×÷QKx¼I‰JV=­)éø_ôºKQUºÃRE œUÑTŽ#‚³"nÂÆ÷êXÁíôÎÙƒH m #<ÂËÎ6ô¬H%«#À¸¢Ñ´8äà^0]ºñ`~ÁɶÄ_¼xX椙 Yy3ýFò¢ àUëáLA²~¾ï /¸Ð-Ëûl®GQ30v:¹¤D„@åmá)0öZ}«ÚÃQB"sã;CwºÂ•jÏÌáŸ[aå–úº[ÌE·´q¤‹Á +ÞOè`#‡g±W\Öý&²^J@oX +cÁz*úõ)Ù÷k?#[/üg6ÿøª£°bùD÷é쉩L2þ…#SP*qðkOþUÖ?îž8‹ÌOq.5:•YCXôõyE¼Íjž¢ZÝ ¬4oç»Wm¯5´¸ð:U8¾~“+¡Š©¸•0˜òEˆTó=¯ü70dcs=i\z¡ëazÃñìZÎÒµB?7¤ÃÙæ_4»“pt7躩œ}ìÁreÈMÔnýäm¾#äyJ¡÷hKwÿP°:¼pÒ{ª8´‰NËl3IdéÏräýÓŽ?%;¡‡¨ +Øübì#xªLÆýéí‚™P®|Ëã³+€qÛ€ªùÒ>“ÁL_7û”U˜Y€Ó…:à ß”ÝzJ+Dçñ9 +jÔ-¬‘Êó† +HÁ)œ)WoZÞ@ch¶-óüø¸}&ïå¿Ù~x0ýMéyu·×½úŒG^Ð'»¿su°¶*¸IÂxh’<—p@>à…>¹"ðp úK0p^c‘´’¡ìîë/hK”V#g¹0qÎj\™èAŸ’žë·êâùú±%µA86¡®Hª3Ãh#zŽIDQSOééăˆcòNË×Ûš¸ASE]¨5ié¸AaåBñ¾aw6≿ù6ñ¥±SÞ ¡ô·£½¿ñkL“6WÚ‚2Ê«F¡Ö=dj(VÕ“2¥XnkÕz²2Éúƺ š*ŒãQ(L»þkl¸öHcç:…ç­ÍJóH$vY•Âq·Ý„M¹®M¾”©:«ñ7/ 03B[|´o,Àßóe;&3™½Š¹êÁþÂKàG[U/T¬¦´-èƒz®µH»râ—^D+?Äé¡uáœ9²'oÛ”A¤³L6ªpKä²{M›Ú„3¦9]Ú:=c•“=Ò?¶ú¨š²BVëm9–Š%±ÝÖüºýJФíHÅàñ©XÒqäî<èÒÁŒ‹µGØcéW@D%‡ °„,z‚#]Hà úÀŠ!8(uÏÔ%$Á^Ã6ƒË-öɬIb/,˜d +ql<Úˆ.á‰ï­GèEDnVqb³½`@ýóhÌš® â Ó5ŸWQøåù<´ èÐj1I,KÇ‘”XØp­' ‹Î¶gˆ¼­.þ+·¢í>iSvK&öác†¬‘ÿib+•Q¶ãÔñ=§Œ`ÙºÒ{ +ªäÈÄW9>¤¶À_„ت))˜Ý9©Oè†.&è.ÒãÀa„ƒ½”z‰† lÊÚ&NÐuKÒ‘øË]Éʹ©RÔ•Å/šåNˆ$]Ïû,±´6¤A Êrßüd Ù­ä¡›}¸Ä'Xá9ÁUÖÐB{Ât7A´2¦[ÆÒ»úÍ@m¿I= s Ò‚*ën|À:§ Ê€ÄMüÎî&ëUW2vøf‡¾=<Ñ)Ìa„›ߤ!¤œCá~ߏ•þòØS˜16¯&ä«Zßkø4*œ»*Ç•H‡ú +=%ÕH•‡†½™†!œØn~†0î"ÅÛÈŒç…ëg Zåñ¬æ–¦]'Õ1Jä±ÜX#\Ae8å`t&´™T JÝ…ÅÆ¶¨èÙEy$&oÉ<Å„ye^¯‘¢250@Ʋ~6”ä¨Úõ‰K”åzÁ¾ôw˜“½E›'ª5ÍO°Ô£ºvi Ùl¶UÁ Ú•˜€œºkË”¡‚”%Gê&'£|=‰ôuÄþ؃o‡1Yå\cyJ 9hˆ•x×›Œ”ñ¤0ßÓ9Ïâ7Ðn3½äR±Ë¯&Gäa …THž;^~XSºõòòæó”(–þÇuÛįï•€Mä‘É<·ÖK¼ rP™÷þeˆéübB{£žv—TtjC±QF±(\Ò¾lŒg½Ý÷Xtª>÷]Q>à'ÞðÇ.üÉ­š'I»÷í?ÄŽç›ÈŽäsÓ¹¤9Ž˜ÖÈ>¶\C×8þ1e˜% amX`ë+ww'p!BÑùßù1"Ep²mN´|æ_ï½ÙG²³|¬ülXÐÓÊV€Aí„ΓÚjÅmNäˆO{3‹¿>Jà(ßÍ¡øÛ©žw€b¤ÙQ½ð`Æld0zêd®Ù#¹2“;]7e§™³½¸ÎÀ´ ù­[¨ùjp +)4ÍwãŒäN?©c;5×°-½3¿ÜîV Qç´SIH{, Ð½‚yT7Jc© J¥ÆBÃd0 ÜÔ®wþû™©9UÂK#e¢ÅohZ\†ÃFâòM­±6¢¦…âÁ÷±-™HQíÊŠ( ¦ÄToÃø(Ñ›a¯²†V íz}G-®—A\HÜb±8L†æŠ2ý›Å| mÁ,оY÷~R—Ýß°°¯}~|Gd ¨ Tvñ­h-@Z©[Ç’o,¹B¸ƒèOP›  ÃU0xö›Ëð(€ý?")‚Z$‰B‘dC´&Ôñ&€Fz"ÁDsFCúb­ÇÙßÜbþ¶íàÿ[,ü7”V;¬™zW.Íá[{!<ñ„ G‚æ þz'2ÜX!+C,¤ig£=·¾æãî–Š7&G?_.ßnÅn|êþ0õg ›î¸ ÈxëéÑÑòuó`œÒטIF„~’ ´²¸3bôí¬Í^²ÚP¥üd˜Æ?wk’ö*hˆ˜žü.~þ8¿Zdnç¶äR”•VüþO^—;©«¥ÝÖ°6CkGe`ñ†=]›=«â«í ¦À˜èñ`©¿…ï ¥±?8F=x<š¨~òO‰‡TM<½¥Ã™-7›#g} +- ú4Ë+œ65i¶RÏ‹æí¡Y?ÏóÑ ""÷‡óÿ‘„4Uq°äkIê5}ø®TšnãÀÒþŠžp>`.z9{*-Ã,7¤.œå®“°{pÈ ›>ºÇt[”hg~>\-ËßîNM¦ÂïÜš„²|ް‘ZV¿b zÀRÒÝÂášdÎá0¸yýÖRšx“ªî0‘×5‡^ÔíQh€è|&…ú3*:Ò ©ÑP£¤dX•“ ¸V« :½õa°„¿;ƒÌ¥ï™³;Í›¬_ršJ‹DµÔÄÞ«Ü\în”Ï]7L\mÜ¢¶¬ÖZ›ÑV3‚_0 1jAóÖÆ—ÆÊ$¸io +]ÿ…&F5kS^l­‡¦œ~x”’#&£Í¶Î ¢©Â¡ÌÌ$až™™Ðµ\'‚;æÖeÚµMw¼.úü¥½Ç[¦3*yó¢[_˜áèÒøÁ‹á˜ï.Pnˆ务ó 5´Ix´4÷Ÿa_ùVÚ@ﯚ÷‚no¬ð!õè‰ù ’ÂŽq¶Q®9]?ãG ”£Ò€ÆH@ sUv«1ÚŽf‚}ã…fåÆÇq"ÏåVò  @ÍåæŽ„p‡kÍlÙøÕ1¬ª¢‰ÜÚ°;¯=Ÿ—‡Û–}î, +i&g¤ŠÖK{] ,-€•»ôôE|¸/& p7û#*JbÒåGºZd3÷$ÿ-+ Q5qÚ£ ">±Cl`†ø™â'†Ÿ±óF¬© bubý l­þd[ÆO¶Ð'7BsâÓXÌžž%=)Oã¾ÅðT¤ÚÞ‘tì`S'ÛÜœ9™ÉÉ|£ù£8 ŽÁ9ÕÞ¸ý<–fkÓãqËÚ|­ö”®)|E]ñíM!wÞÑ÷ ÅÕ@öâ>*!¯0ø-' -³ Iú öAù›Çy9ÏT2þÕÄ +d*Çݤ[?nÉZWˆSXÊû‰Ç£ôbòéŸ +Éᤠ+E¨5˜Ãàs˜=³Ë!+%Œ8“ØêëgL¼ ó‘Íڇ”Mײþ1=*ùŒÂâD0%U8n‡z‚“âw » +ÿH'G¿GNöQút®é +C‚ %}©<¨Í§BÙŽ2þ?ß„˜Pº]©.+Àõì!:R'Rþ\$ió/·Ù_ŸzñYu¾Í=}/†¿Jþw¢pÕw¿$ç7.ÆÍgÌ9­Sšû6}9Ò¾¬EEÇI4Ç”U³Êc^K‰Dûyèp@r]«Àƒ÷Ï) ƒMÍ™ÌÙ¹½›÷Ñ;Yõ8ûºÌhºè‰ôuwù€®.¹Á€ø¸Îµ-?ÈC ¥(âM ªUã­h1¢g!ªŽsJvA´¼yû=ÕP}¬bx¬zHFqÊ|÷¥oBtpJYOˆ†Fu$—ÄèöŸ´L{ytÒqJ8Ë:@{øèao8 ºÙ':òT^&ùqìWV=îÿ{ºSá,zù.C-ÿ, ö_n[N°C4Í´=¨ §h„¬BbÅ‚•«ðT™&cA.4 ´hžÎÜóƒ@e(ØåˆaDÄ·“:àüà3©<ÐÙ0:Ùóýµž¹A«¾ÞãŒDܸ'áCGFäÀW¶\cÿ+o‘~T‰Ý¡ÍdÂW”k_ãN[„{?‹µFŒ>ÈÀÈ6N†DûZår|çü@ÊÜoâLi×€îNÕ#Ýàuv1'ß=“нXáªmøM'å)Ä‹aF1 +¡Çq™FÌ“N]–ß<Ù4yj!ôÍmüÒmZz­"å[ø’wàz±7•lîèm¨â…„¿ô¿eÑe`õÞ_¼~[g W¢½391åŠ]씦í€3¸ÛòeŒ¯’ïx3êM ê–M„¶™Ÿ÷œü ‘²aÁoyxÏê.ÆŒù]sѼwiÍH™ÿëü:,ÍóýáŠiUÎÿÀ4„[7ïï^W *'»^.©£QFt§u MÀ§–Ùg¤ +5… ý»Y†×]Kú¹³¿l´ãHÞÓÉ`n©µÜ»±Þòš0°r™åºçb-ûc¬ lŒ†Æ¶G" 'Q·¡‹´jõ&VÀ h*OtÉšµê€|EߺA˜'±T9±&²8J w5 ‹®³¶õ¯)/çN&š.?º…sOtÌËÞ:gã”OnÉ2L˜f¾#*¸ÝG*T™³ÀpêV戫—¤É(ʬšÒøŒì¦[òë<¹ Ì‚ÌÞ˜ðI@NöâÁ3ÿ/F*)“&ú芛´iÅ`"ôÁÊ`¨¼J4®p‹$ˆ|€ñgÞ'e9hLïÀ‚ÝÐxÕBr`9Zœ!HŽ~¿÷:" èL®EÖßvÃN+Š{gàäLP–0ù‹ 4r¥tý|Bh•sYRåˆLÎyLGS. ÿ¤CìÅ€+¡žZéUaǘ7¶‹Y±_Mk-¬ ý@k _X,ffšÑÔ‘‘ ×s9€”R>¬¦´r¨ž31mˆm ,Ïû +7vµÈ¾—¢`”´ ü¥dQ™DÝàç®p™Ì—«1Ê&çb¡¸+¡Ž\X.Å'h[¦—èXƒ‰Š >¢5èD®xR©ãmZ6à†ù@d‘íLæ¾OœPÜû3Górìh=sq¾å1¥BK¬4­Å!×Cì&‘Á¬0xª¬Þž?-ª›0-ÂAÈ_,RïM1é‹LòÓ,²íËòCaÚü42–H=6º¿02L/^MÚf)g]-šØÄjƒ.I}ÄÇN}ïÀaß0t4lÄXh ›‘ê܈ H.zMŠûÌ2]ŠC‡˜Ø}ÍÌæLl¯Œü¦M¬ÁÍòk÷{pNçG@}g` åN£ö?t=¥Ô õù»ºþ~¬• äaI‚z>UB˜J4„ϵD£øi2p—g±_Ëᘱ'Xî_Y…Ü2Xdû€óú< %Lí!2.qf7¯Š%Q EÈ‹5·t¡'9°>¶EôS¶b‡„IJ„@뉒ò½¦]´B›Ä …N¢c œd•=’¥½‘«üŸ•~Ý®³“×@Ë{Z”íˆÄB*™ÎÅiÃBYÛÕß;¯áhJ>(t +Íé¼I]À™}ä<ÐèW@=ÅK‰©¢æ 2Dz¸BøÏþ¾…“öÇåÀêouM¢Ø ›–àž«ô_y¯ÝTqNjBЧLümêÿP“ò"Úë $íègµi¡ã^§xÏ +— dÚ¿m±\Q¿VŠ”e|.¤œà(i™j_’‹<,¾‚ÇK™Å§ý*ŠlžŠ/Fk6ô×Yw¶žéñùy@£%è+Å¥^æ‰4v Áâi{¡îYɦߴrYÇÙÌSMLŸpU¦›™?I2ÏÄ®Y~óÿ†ã› 0k¢9EDÖ|8…ùüü4œþÿÿ‡ñp ä•YûÁè­ûŒVµ +ÈD i71É”RatÀ¨’þõ!* , + +ßë¼I­?ßdIþŸ»ï¼kR—ãè‘y“Ì¿ÌäöŸì¼Ü{ËR–§îî5^ߌ·{ß“ÓbO0^Î|—%¹É¿¿.É1ë?j÷ãõžsæ?ïß}Ïúïò—y“ÜoŸIM’ÜçÍwI–¤&Ir—}亗œ$˱çþ¹/GM޽o¯I¯I^–ãæ£ÇýË\fõ/uYö=jÞ7sæ{Üë¼¹èµÞ|ë­'§ÅÞY÷Ñgòóýû÷ûÿÞ·ßÜçîÉÇN~ÿËq$É Æ#ɉ鑤çcYŽ$IöOúñ“úçžÇ]’?ë‘—d©sÞ^ÌããéqrZL0žßÓóãÖc÷ôYû¿¿ï{ü|ôþûì{ÿÿ^gý{IŠŒ—k¥V_saä(Øé^Ræyÿþ3ÿ™“š—ž—~ü}rÌ¥ÇÝ}'Éü¹Ö]kÞÉ>1=_æ¯yÞ{Üy,ýH޹óO–~ç­¹î[—\ÜZ¼ìÛýûþyIŽÌžÿ­K²gï}Þ~g_rÿ÷.7×¥'³'s¹ÇÑsOêrä:s’ì›ïï}÷¤ç_“yëü{æ»ì¾ëíûÏcç%¹ËìÇOŽºóÒëO’ýg1—Zÿq$óÎäÈû÷¤ïY÷¼ýãirbzüo.Ž#ßú—ãÞýwï=­ÿÖ]ë¿wæ[çÿÇN~>v>þ Æ+ˉéšïÎu/ÅÜy.?ÿšÜ£˜÷øý{×z‚ñ:×Óã£æŸ“úï=êLŽ}ë¬û¹Ï#¹9ÿ}äü—%éûHúÿµö¹ýóÿ¼s­ý&·çºç½õæ<{|kNþ®õ&Éïy¹õ?™}Ö$ÉG^æµç?gr,K2÷üGrd¹w×ìŸü¿Ìåãå‰éýQÛ{?/yé7鵘ûèùïzô|‹:ûq—}ó®õ8vÒÿïwÉ¿{'oìÓÛ™ä==fžsξ÷LòqïÒg?’9ë ÆË»Ì[ëÑ—zkMò\Žžä;#ïßûÞ'¦ç»óÞcûøsÎb÷#ÙDzìykN–ÿë Æãzï ÆÓ¤žœä¨'¯ôž$y×cóÞ$ÉIí{ÏbÞÛ“^ëÎýçåΙç­}.ËïÅìe²$='Çq‚ñzî¹w2ïÌÉMêïù×ú’o¿K?öîÇNŽŸo.fÏkrçLnýÉ’,é{''OÿÑO0Þ/õÄôr×z‹™$9ÿ#÷}}“šó=1½]ŽŒçI=þ¼=_êü³'uÿú“¾Ërçñžg>Áxd×Ó#û.w)f=fßóöÛ÷Ìus91=Ý=Ÿ`¼¿'¦Gò=9}‚ñJ>1=^êÉ©—»äYëÏKÝÉ2—ßçÞýþü{Íõþ}gž¹3ÉËß9©Ï˜Mk§è—åßþ—z,y×>÷uWಠοóþ»“âȹÎ#ù7ç%{ªÏG-–~LÑ7]-´ÞÞg²d÷ï™»Œz¾IÞ³ïc™1æÉkoíi±8[³¡@(hÉJ^Çéz–Pv+=PgÖ£a)ê½m©àUO·ÀÛÚf/IÙé¶Žª”»V=™Þ›Æ;қƤÞۢ칺pzâãÞÛÿíùÅÙ[ ÓZr\ÌœºælñYòrYò2ë2oÎõîãöcï|ÜÙÛ¿{$5™·Ö|Å\.<‰ñ"-=Ýd$2²$eS7Õ¼iœæNUÓ¦Rj|®é)]kìå=W0œ²¥î;‹ùrâ¯=sí;óÒx=áôDŽßï±,GŸÇœw'³öã³ÿûç-fïsß?÷]öOzý¹Þš÷¯GþË‘‹™—=ú]s1{ã¨wæßçÌ=÷¾ÿ¿ÉÜyÞäןäºÌ~õþþgÿ·ÈwÉÉÑ“ZÌÞØõHêMæ½uÎYÌäÖºìÞçLúÝ?)î²$ß|ï1sÞs3ÉýH~ž=³Wvî{éÇïõس×<“ú¹åø}ÿ¾w¾wßãxó´÷ñôe$©ö=çÞwÙɬµÞeÿzûRç‘ÔŸ‹ë®Àé±8 ù^ó'ˆÓ’™Ú£Î¥HSÓŒòhvŸ„oq‹äe¤޽¨ÝÓ!O1§õL£Þ É¥¹ÌÐÞk·RÎŒæ¢P¾=² ‚`;sžÄ]BåeÅj©|k–æT\ªeÒyÆþ Èè8Üï_þYÊžàTóG®Å™¿zä/Þ{¦ð›²o›ñPvמJíw™ã™ªsç{–àuGSãÝ™b<Ü~Óô‚ž¯‰ÂhB¡†ñ/{ZÿÓäâ‘Ù8«æ8ßc[Ö€xGZ *Ìzb5ñmóc6Usgs¦ætç/VE½6ž¥´Í"]UÄc¤¤âB{lËv¯Ç‡×ÿ&ÅLòÑ“¢>aØ€•mÕx7K Ø@BA‚²éŠÑ¤÷Ÿë½{Öº{]þ2oÿËþQ”Ħ6)¬Ò®+s'¹—=²‹¢ör—=ÒºªœuU9±ºCÙ6¿g â +Ï“,ÍZZ,ÖÆ¤©3}p@H?|îñÐÞöÊííýðüÞÛó¶~”!¿7:€Þ™—¢Þ§·÷L,ÉRÔÝãe)r3šK¯žþbÉGÞIîÉMæ‡ÿbÞ!.ú/–c¦üšô$³W>º˜=Ïù×"×â.¿Ø»¨žHîòüëÏÅLz±ôú¨yºÎ^u&vR …Yùðºû™îºÔÛùÈÉOzÝûq{Ö P§Êßk5|¤ªõú@BÁ6‰|GÛú ·ÝêSµ²êë"êS/2Óçñ‰ÒÇ+£/ž¡ï²{€¾ƒKò|/ì|]‰ó!ÞÄæ‹ +2Ÿ¦Á|¡f-_m²ª|¤…ò‘¬Ää …x6“|Ÿ*òu:§ü¸Èò¿7¦ÉÏààðßg 1~^µã">ð/%aý™J¹üMÔäcâûÞâû +€„B,ü¾d8|¸MÅø¾ +( +!%gƒ`ßf¸)_S?Þ[^„›(Pà¤W9R€Ðl÷h¶í;\BPà|Ò€MSAÈ6°)b٠̆ºԥô€`x£ââe§àrJ¶±¹žÀ˜ÀhNnô)ËX¾2ÛÆŒå÷}çBG9ØÃâû>—›þe™¤,¤ŠäsŒäã™lŠïû:ØÊ2~ß÷ÙfjÁ˜ßð}Ÿ ü¾o­ÁÈKêû¾ïE|ß§=¦×²¿ïû +6¡ñƒ„‚á³ø>ƒ¢ñ}šÆ÷(PÀ ™ Žmç"ý/G-c )b9uzâˬ÷ûF:ˆh(ÌäOޤì N¡¸¾æS*w›ïû@´¥šñ{<ÔâE< Äóºæi®–Â:ï­mÔžËìtQ›=Ý·µÍØ“€óÕØâÓÕX•@+ZUË=Y”Ža5äáXÏLŒáǪ™˜£)-<‰JSc6E=¡Ý:c=[ïø”µïì¢[¶uÜÛ¿—\ûr4-f=pf¿íšæÚ×6kÙVÔÊ.iíÌyöN¥°j³C«z^Ëz%,·SÑTT°8e³ñxó«ëLt ÐV5Ñw&ÊÚÛÃ6ám]u¥‰è;“Å­û®³üKñ]g¢¬½Åj,ko)«®´q¹ÚW•F’š“bfSõÝ$â뺳3«2ø”µ7Ñ=×7%Њè;ËiíÌ©âëºåX–:‹c9¾3Xt @ÓtÅÌZM +ï´³§èðŠ4Z ãÞ3ǦoMt ßv&º´4VMk§ÛÒ^wEŘ¥½§LÄåj´tÏ•§°»m,Òh-š¦«LÄåj®¹™-nÅÜ á}]®k;s½U%`€D6E pÀ +"KY‹5EÛê¢o*®1 , žd|Ĩ\›±ÍTKO7×f8šRºª´ö-¡©,·iÕø<Á1Ûrâ–íPð›Æ)üªZrÛÔãT×ÓScöô1j]wÏ—Å,v½hÝ3F­kšáãzÊ<—Kòuß”ÉKcÕÆò`8}]w‡òHò–†~ùK¦ÇzWŽçîâ¥*šæ<Ö¨³‚EºÊ¼4>×VaUßšgÀŒMßÓ…Ùó½Òs©yñ®ÅÍZçyZ{.ñÎw$¯ôd¾ÿîÛ³Á©È+=Ùëi}ÏV¿§Wòqôä8r à™, þØ1- åÚ8ne‹¸WX@ƒ74XˆäÚÞÍÎøÔ¤«›;á=k×8E½']cU”Ue1P¿'Ì&ŽSTºÊNõ= œñ‰žqšC‹Ë‰%Ênb}{. a£ÌX «¡SÚºüzÌÚkr—{“^÷®Å¼9Yv’oÝ÷ø·.ǼÉÍ'¯Üã +Bùƒ_<\. Ê.™@³è³•Çôá¢äÂ/ä Yj©b´s˜¨J`Ž …SÆÉ0—ä]¡OÙ”œ|6X–cr°{3i¬“ABa¤Z%¡‹Ñ 4»+Æ=À¢×›QKƒwvä‘ÿt\H(SlÇJ»WÅS:œ¶]Rà6:’cg( íl !I8"‘¤y äF£ÃÈlüed«‘áè“`n¢­ªR¢ F¥ˆVŸfˆn+[¨qQ B ¡€Ù±IÈõþE(V6Py¦'ÐÊ€`‚ H %]Ù>0[ +õ )å3Ú;Æç5Ë›'3+Pyn ÆÅC¥žÚÚÈu([«ƒ{KšNTæÎËu¦hÂLPG ið£9aD>ŽI2Ž +—Ž8¥ "áÀ7–‚ãÊ5ÔÍå{©6ŒÆÇlTJ²A‰\ÍÅÆ‚iD‘ôÑÀ#©Aw-„feÊh™O£2”оdxc$f@B!œ½.æ`b 0ovA˜ÜÎTbn¸Æv*n«ÆºÔ\èæ¢œü‚ƒ|—C-¸@Yœ¼X & b)O÷­hœ³R +¹¤ +ìQ*¸ÌãQI¸ªK RD£x &ÓL(/ÈtPøøq' Ä*6™ÙÎÑ„6(“Œ«ò˜ÐtŒ×?<3[i@½e,ãa‘XùŒ%Š •„`š”Vh4Ž™é’v!$ ¡ ™¤ÔˆkK]³bøD>'1¹ÔFÄ1ð݆HÊÛÆTº«¦,Ò]n éPÞ, õ$‚ß1Ðw;Ï"‰ÿ"Ca²Ñ¾(‰Û”Ù˜$H(pPFIúþj W©óëb•ùê”ò(†ã;úû +¦Ñðdásí1$ˆj3s4¬rŒ¸p„î0•öÑhuCèúô90éa&†tPÈ$–¡ÿZèÆ-ˆÆ?²ÄUc†0ºç,JÃàŠCH·ITŠnSl´¶Ë Ú릥ìP1Ùû¢êÀ½*uXÝf´Lo²UiQ>=ÚÆ@M4„1Ò$B ¨q›Gn’e–¦¶Ê‡RüÉœs¬dÜAÅóÀe±È2ƒ’2*4ˆÁGEáq„1èì2ñ€~ˆìtz@øÇYÙÏ*vT SD „V"k±‰ ¡@º6‹¸Ê^`B1ÔvÛIÄ=D¬×Áƒ¿ÆÕ£¥­ K7º<.ù)àãK±† 'Ë96ü`æà%˜Ëq€g$‡Ê7Ž‚ö1ày8Û9ÄP O†8¿è‚°á ß–ˆ®Ç(¤åM(3t$a¬ý;„ÕŒ° ÖÆ˜Šk¼ÎUÖ0H[Wãl¦FŠà®w* 懂„Øu°1þUÇ …JŠ¢2@_{À`e>-ŠK X£3"lPaPB!’Q +3Æ,Å(&^øŒY!÷ƒ.fçëµH ØÔ‚¢ E‹–„³YÄÿ6YD|é­’&.¾ E± …Š+bžPNº2ÓD˜8©‹k‰ •7 ¡°¸¨–D.EÙn.!&L(N‘è'ú%r3š –b7Ы7ÔáV°\ E$Q c6“ÍQ´Œ)‰Ñ^b²çHƒ/Å.C£V …ÉNò¢»ˆ|€CØ@"¢à9¥ä…0#" 1'ÄÈ +EˆÇ…w +­É >DAèb¯‘S}#â’d„Í4µŒC UHDí’€¶Ì‰=€„ ´o‡ª–Þ³t n ;(×á1¹¥Ýô*&8VèÀɨÎôi·“å@“ à3÷!OŒ‡ïâúÐñ¨Ç%S[¥'ˆe8x•"6€„‚ç—\Ì=ä :—J5l„fèìœÌûP1ƒa½¼ ’3» ©U¬2°¦õdè"”d u^!Ãêy dÀ1 N¶ŒAçz-†SA1¼ØˆÄ°PŒ¾á¹Pȉ47HNQ6€ðÃ+™Ð jنē0ˆ0îÁ°;=Ÿ¡³ñ§cÍtŸ)’ÚOçŠä¾NNà¾ølm_ˆ‚Ò>„ÛB?Ôi%ûcê î W÷2;ÈeLTr P«*œƒÜÏ©ì,ºÁw]Ñ•¾û芤+ü“û€tEE2KŠçfƒaܦØ,*ŒÍ¢Â°íe0lSâiSbrPÂNmwj0%~Ƀ¾Û- –85)¡f·‰¥ÝmB³5ŠÒÖ,4[SÐÐ%J”6QbÃuÇ¡Œ|‰ÑC¯.‰|ŽÈÁäêoŒ6-Ó觨- %R©6Ç1À®~ð9É@(êƒÝ»0HB¶V‡Ãü–ó“âdÚrµßذ[DšIÂRÄTð tþh]ÔH C“ÉÌDLæ“ò‹åÝhR.ÆEVRPuåUˆÀ}Q!&oà‚¨‘8üÒ;úFÉ£%!EÒJ+YH3Ç’XÑŽµ0›„e°Ìä°LÌdd™V˜a±X©áìM3hƒ¦é^fF +:Í¡SÐ\תe–”ÕbÕz=¯Î¸.Óu™;ä¢Ôª¢j©Zª“£‡¹RK§ %2¨–YR$¨ªðÏ©€\U•Ï™" :˜"•TUx\ŠT>£®Dì>ú“û”ˆ„BG¤ù'—0DüÁ•nƒa$:µ°k˜’¨Ä•¸SÓNÇÁ·Î"XêB†³Ý²ÁÆu¸(áÆ$øÆ`CzmôÆÀá_=DËšI(¹4ôâáÒì%MÁ¹4t.Qq±ÝûMH†ô@Bw­r脇cp¨"Ù<]²æš«» –¥aGªUZLÞ`ßÀkçu>~¦+&á,âàËÑq'„laÝ¡ÈÒâÀip턎1P 9>I5¾s|(ƒ•ãc4ŽOK@/öø/„£„êfs|$â´øb×n_DÆ~tÎê,ð*5Z:,˜¾´$MY" nÑ¢H`¸#ÆdXfº .Ì3´QÌв˜¡¹ b†ö3´,."â"òÆZ­VÌÌ‹-? CgQóÚh^Qвër].såÐ)h ‚Ù!†<$—†nH. ÁÁ¼]™íÊlW¦ªÕÀÁifàà4Ǚ̑@³BB2#v¦œ3bgšs%“‚BµP-ñ “3á”å8UáŸÜ§ëJÿ,@ºò[ŒApHW>ü“Ea·yn çæ‰=±fQ#0%nE0%Î1eRÂN§Ö©u öÁÖûÀ€kal-Ìî<\-Ì~?n›¨i(q”Ý7QS5Ql÷ãt[&2œÚÀeΩÛ2Wo6Ík£óðôfõÚh‡‹š%Ül ’KCK ÙD¢)©vƒ£(QBM+rh +;Îâòº44Æ6’Z›ÛäP‚ £L¿ +8Mê³|ÿQTð«q â7`#©buà0;Ì1¸ vî„8øQ.9yOv¯‹Ñs…ŸRÛ!‘@Q˜Ñ‡ÑYì£Ñ8Yß8˜ÀÕ VWu0Õö@ø†2² ý5ü&eˆ‹¬“ÆñeNÇÇÁQÂ$Ä›Íñ¥n6Çç*?/ƒ£„ߦü<>~y|ƒ•ã‹™ØÇWƒ·èÕ ß™#S‡¸Í¡×Åvé¨(#ˆÉO3 ƒ"}©!:zD±è,XÈkavËB ] ]-—«:D ŒC‹,ƒeo̤ˆ‹-¿±›(v$@ÛD±3²‰bg:\Özc­K÷Ò½t/Ý‹uNÝ2œ:1hšî¥{™”pµ:¼^á[§ é´ìºÌU+d¸ª–‰Ô®ÚU»jWªÖWº4ô.”yààvÕ®LJÈ¢é-Íé-Íé-Í‹ô–f‚E„–+™¹’‰jÅ“ƒN΀‘ƒN?èäL;Óœ+™'T‡ä\ɤ€<¨ªpþ™"•ä‚@U…sQU8H((L‘Jr¡ªÂ9È5K +d÷Ñ‚E„ö2)á‡ëJç»®„ŸÜ¢G$>¹bAðOnç–t5‹LK§ åveRB †mQjUáž[bÃÏ¡ƒas:=·¸Ãv¦@æW³¨œ=”™”°ka6H( +$b-ÌVÅÎ4'*qÜ *q§öUbJhÚ¡-ÌÞœ +4wj¾u^­VÅ~¬J%4H&Üb,†´±‹™;ƒ‰bÇGáÜ0 m¢æ$l·Èp2¸ ¢ŠÓl …7fRBÎÉ3œs:ŸIqD*d·e ¡À MÃù) 0[ˆ& ŒÃu¸Œ—AÓòÆà¤Im„ë2)š×F'@&wšV‚q 2E*av°½1X8DÅVìbžG 7 ±”®æëpm”צ@Ìв¦à +¢Ä„aݲppš«ô–æ\ɤÈ&*Ä 7”H‚à ¡ i Í¢jHZåЭrhBæ´"¸¡P: +Ä©ABAS`–Sã ImP“Ú ¸Å„[g¹4t +]¸?Ù‚r%Jcëd0qÐÉ%•YR>“jàÃ/ mÊ4ÇÆA M"ŽêìÉÅδ̒¢ØÝ5ÙÄm$ …K¤qs†ï^Ȥ±{8JÅFlŽj³YFÿäê§H%Op0™Ù#LCÌu uðàK N>9$`Œ¾T ÛÈß©8$öXúTg|«YeÅÁ«f îr ðËcœHÄÁ‹™“uä`÷ÐB\l1úûîZHV°_qd"Pè|"*øRr­ð£4QlÃ{ªŒ>¼1\š!›¨ƒâpÐÉE±QΫÅÉ(bˆ¥d†Í.ñ=~ +V4¨Ozа>LFã4©I'Õ,Ø(bALÞšÆd@™Ó(yûº"Èjå!/,ØÙ‹jÊ ¡Š`ØíLé “oˆNIq™o„h°ÎÅ.ï ÉaL$fOÞW\,LnŠMÞ·2ú+ÔÄ ž›ÂË´”dˆ9£VÊ!†Én ¡°ÒÅ +°Ìexü÷hu¹Ñ†À5EqÆáË“¾s÷y…T.ÅǼïC+»¼/c'Ðì1Å-C¢ý\*pÁa RUø@Ĩ:£hŠTuÇI ù–‘­:ؽϤ# UŒþ‰Ä°­ q.ßÁ;6‹JÙ¾à¶$ÐÌñ‡×'†8†ÇáSƒ_±³ (¶('@BÁ66JâÔ8x' 4Çr;†ä@úa/`íÞÊ7`Ɔ3”G¬¯óýã¶ÉÀ—‚—a! èL±  +œV",åLb k hZ·id€AB‘"Ár±âK,ÖUX—–Á +$ wW´šSÕêÐ*ƒ„ÂGe5Ôîú-Å*g0ŸÎk +’J ;Rôz€à4‚ÊŒ‚K&†³¼ú6DÞtÀ‘°®c€㦠”-ƒ{môj•Ù¨´Æ¹X’1D42$³ H%ÃÑ0˜lèR:"RBH,6"Éc80åPŒÂ ‚ *†Rªˆ:”–ZÐ qp’±>°`ñ“Õzøz¦`í‡Ø¢gÓ¢qö5é‚eXJ´ëB{éy÷d½`ËÔC·C(ð‚$Æ ÒÅŽ !R8“Í0(è`… ¯Íüsdôº6Vçid÷2Þ1zº½'’ZƒÔh„Jž >Àð.‹\ÉBÅæ‚¦ÁzJûÍ”£5†µÍ½ŽFy_ªÁ·Ò°#ú±¤ãATÁ…\Nóµžæj©Láa ±–N@ŒFËÕÔÁ9†ßëà–¶ù.÷æ2–ü–“2(ŸŒŠMÊ~‡×=Ù!ôï|CøêE€ÎªI–4êér3±™ƒÀ™gùðø i"Ÿ.þâ5裺R‡Ì+™-„8ÆË¤>ÄÃk-‘À€'ĦýT+./p¥ \uWjÿh*¶¼°¬´X±UŸç²‰â/ó£7LZ ½€…NÇä_ÇÀ?¶䉜ÀÇ­Èüsðs„8¿æ,xˆ³)7„ñ'ĆZ›Cü8Q@> Bì,Ö0ÝÌÄ â#Ä4aÕý{ˆEÙÀ!8‡­ƒ„£„ø=• a–Ê +ŠÐÕ˜{ˆ¿2Á£l´bm5Bl^!“¨ ½ÀHr#!~ëËÔ—FN^×, x8EÿrŒåõMêQQºõ×ÌîK|ó a'†QÙ¸ï«SåpùS6Ÿp¤kù<Ÿvø*âtàlUÔ¥º6òFeGÒzíþ%XáäíRm¥ú7HD`½hA"ìì¸a3 +rqÙo‡¯ÿBAR²2Ëû£°:p\+[´ ßW¥Ðùƒ+žê]ŒZþìšÍ¦<Àðl´¼§å0˜Æ×¶È;@H‡(Š2< +WZÔ—ÍnF悦 ã˜tÝ‹UPy”u²!ÔJ–0f)ab½…æßP¦]–’üª 4¾AÙ§{| £ µŒÑŠ#t¡‡¹‘Ùô WaÜýEîãšæ=*ÅM’]î²`몘T±ß5±œ¯Âëp¦eCeV%Š6‰¥z¥˜?ØTVÇä}‰¾Ñ+jMáuaUï X*eÌæ°#żöF˜ÿ@+Ú=М@Ùòâ¾B„úuEó§Ù!í‹þ#FýûþΧ B­{åš›õ!5U±%Âü ÖFV6Ž"FcB-'gðÞr€¡W×Qg°VûÒ£_ Mº@„CŽÎ`Ô¸—y îàèîÍæ‰MR,ô6ªÁ"…’ËèÉ4 qªîסíÃr{wP%Bi’7Ätî(g²±á!ïÉËÜÕI¿:ë¶£!#!òºì.oç»O!ÉY*C¢vgByÂÇ»R¦µ“ôû9˜å +&„8 È,žÈýQ§ÔºíÕ&é[)Ø„Yy¬B“Ñ7¿Ù5]Gcàðû€âޤ,mh{…ËvÃdTÃ?±Yq…_¬‘ìGUwX4Gà\vÜ€&!›ž A%£®”¶&ãUÚ¾çºÖX°N˜crÁÚˆô|ÄÌ“ÿ`²Î-üêBëŸÁM6GÛÒçýD¦flPPc¯Œ{ºpä&_Ѳ9M˜àlÐÈð½ÒBBˤ¿}Û +jÐÉþ îJŒ 1Qí55$Ôq(5þaÉ"j©Èº/êÐ]ZU V6•ø*—]†V5éU»@˯0ú‰³¥ŽâìÃ¥^'Æ“2{OÇI=‚²ÄQ5U–=ZâòÖWxáœ9e”(içg^ÿÆ §½¥BÎfïZZËlNqÒÍ=¿ºL*¥%,67 œ§©©ÿ +Ë’×ÈZÏò¿£ì!wJ +âpüMh%My6ÀL©6]R·=yU“8`Á’ç…A~ßbc`Jhh@­8-gÔe”s\¯¤D/ƒüŒdì¢3àÌp貎@…§Þv A‹ã¬,rWþ*?ðû!_‘ÕˆÀGº|„E#ÀcE§»V¾S {@lF€ë€éÀ@¼™éí.ªŠCÖÚC|‚\}l…À`I>úkˆg±‚ðÖl‰Ï.à˜ŒšHW—nܦ/€w|Ÿ§Š=~£{?Жpz®ÊY$7:éOs’~ó‘·C‘gUÜIq‹ù”‡UènÔ¿(16b¾‚»Ï;€6Sm¹uä¢:ÑMžÆï¸Þú“ 9bõìÜ5¸ÌQÞ þPÕ> +ÂbàÒ‚Õœ¢$´ÕwŽÐêØ¥åŸ ù-¸ó$Ûèphœ\´ìØ[°9ú”¢<ËÛg£Ö4†4¬ÆR øRäîC`Žbèð6õŸwV¶ø³¤uY sã`Ž ¥ñN›ÐTszK!7á¸o:¿_v\÷™ùÊôA±'(ŽädM@ÒÐæ¨¯>N·U˜Ùø¦»W7hsEÝ[#@¦_ýM—ž96ÙôKìEΉFÅl’&,¥ß´Au ™i-››ë ;Mw]mOqXå²2B€`ŸÍ˜i«N¨ti肇“ºàruµ·(@Ñ\ ã|Òæp{o~r¿™ã„öñßÖ.šÂæì:.°P’hŽ­¦’WþokŸGJŽ>y;ŸWjðŠþ|›€ W}!é0¿L”ýä}—f&yËp(ª‹¤ãDÿ~ +ZŒ­ ßNÓÑÈ»½sQÖ¯‚üõò¦ÉÃôòðº-<¡²aìçC‚d«"IÃã08£N/bÓªÕ‰ïé:h¬f¬ƒ‹î/ïÃl`jc3A…Nd\Eêávƒó|ÊäüúÄÑÇamºsëÙ‹¿d¼…po§5D¡>¸„Óăž^"s´”©o¬xˆH¢‘+˜EÙ{'n ¸¦EÚÙ<7 DÚß,Xeå´—µŠVãRåÇŒSÿª½Ý=àq>ˆu³V˜ç¾ž|Y¬ h SØë "ÒwqГjt+d+@\­¿e …ض>¤oc44Ù3BúŽ' TÛ½MùI"ÐL³]©=ßv/ó šµê{ož^g]Ÿ,AìQ0–4‚f³êñY×Zù¥D÷¿<ãD@àÒ! ÀÐ`³&ÒÎñŽU »XãÙ“§ðô‹Tñ Ä.•¾‡»['«ŽGAçɺ‡¬&ƒöE›a ˜Z¹AR¿ÛBΦúýc»7>ã(!fw¡œ4îà~?G…¯AJŠ``L¤^ ¾lCÚ:ë1|ýu«Å’CÒÌù‹Þ—@]Z#ø +–À‹êFÝõ|Õ‹}7ó¦yÌx®t£9§¶øÛ‡§ukOP“¹ÎÌz_o–n&2$ÿ9;á.™7=“ï˜Ü¤¡ R‹7HkÙJ'&~¿M¬F ”kØäEꕆ,©û£È¡¥M¬¯Ò¢hgãi,€”šÎ‹Vu6'ŠŠ¿(×ë«¿é¬Vä“i—é"ûÞ‹1Å„eƒ÷‚#‹/žú~hzæ +o6ùŒHK$± ¬¸…<ƒc÷—­pUE‰;üI§ÇOð +‰êr”í… #Ë­90ÁíLåà°* 8VñÞÐU%8TXOª50_½hÿ¤q’¶¨f‡Þ…ˆœù]Ýs&Q$ï‰îØ(.mt¿³£!‡_]Æ€Ÿ5Ö‘Ú ƒì‰ÚØbд!BÒ^e5`ÄÅMÑxÖÁG»WÔp4¿:ÎzVõ%&RU›õå–‰WSsï,?o:"ûõÕm‚lw=xg?Ê@ã%3²Në%§âß{∾ +¢’|¦9­¥Êl†.1Oò> $»cžþ¾°w)RyDð‡üB.mòw­ÚÀâÝ%hËå 0€ø ÆàÛWÑ+–:Ð;½ LCMàú>dõ×B2Æ®qrQ»ÅÍË]6Ž„ëKñ©+uÇÍø%©Úí¾ÒîÖ‡ r溊XŽ6 +”Kˆ{ÑYœ‚AÊU*èÃ'ka™¡y†H`rÔ +³o‡³fM\ÿ¥ýj9‡pÒ™’Åœ‚#5£ÄäÅ5rBÊoÃN¬'ô˜:íº²oKuž‡‡ñ>7ŸµeH¦8Oxˆ‚>›’ø3€#XV·s=¤ û1˜I?uæ¯&Ôz†ž¾Ý»Î–«¥b¬W—ÒŠ¸ˆÈÁ¨´q¹uim¬ù'ñ°ÚÖ‡¹¾ç- ¬Oã386"–Wm°c4E-ȧ<Ûƒ€×†EÞ‰Uü$Æ Iíåx%ˆÈ›Rª4ÛQ+ùpX(æviNmîXSðˆ¥ˆ©ZËãr°å ô¯3£â¦Bå=¶|±¥þí\ z)ƒê:‹ ²¦¹sì*¨++E—„E‹ãÖÌ©D~KÑëN§þ_Mã”q¥P½¶Tؽ]îáó]Ô-,,œ8!~ ©GŒ$ÀŸéspBô–1Bx<çox¸‘ˆ¼5N:öÐ$íÔ~1 ÙjQƒmâ{ ¢æ'¹³BDA"~b“(Ï<·½\<ÚLù yø ª¢ë†×ˆ[l˜x¥š§ê¡y"ñÿa³–šÒUCºŸÂ‚Ïö×H§@²ä-¡ªÙúyðÙ­mY¿T$­ù¢lFªJ@KÁ£ÍÃ@arBNæÑ÷w”W#A—ÃR«b/¸d÷0Ìf½íbóTîïp0e³¶ìBnjªê®ð[SgшÜ)‡È?FQ{5¢s„aQ¤å'[üæw«zvýŽW4„¾Äß Âä÷á¼Ð4 Qɋ瓛Tá/Y‘¾C¦RÖÒ‚å?ê> Ytñ ™CÃY¹@ùiG®?È­F¨ûÇ…d¨I±‹&ËÏ æ,{_»,;\@ƒv£,UG£A1xå‰@Ñu=¹@0RF‡üälÚã(4I:ø` åNé9®ðûÓª%>v© +|4o4,ù±ûEb²¥Ô Õ»7C4öÌì’#+˦éñÀx÷»Æÿð6¼¾ûèã”'ä㈂(gŠûÂ\Ç€BŒëM·÷LÇXG”`‚Ú-84¬ôF@J/–§‘+•âó2ÃsSìÈ*ßô^K@N™Y›r€G&»ßAöS¿w=r•FGŒßhå1€{¸¶¶ƒœú?ŽŒ#‹ÙûF”©SH›ÐÕæp¯1i@uÍÕ}4—Â+L7²ÜKŸ È#˜GÊ0#«¬–vÔ‹} \ªêž +ɹ |¨vlój _‹[ Û}w÷9’X;²ÂZÖHJ–Ì#yƒabÂ÷…þM±³úl’F•ÔAÂmË^p›Ö8þˆ—®½hR×4´J’gœ†¿p'(‚ŒF +öV·ñx™‚ë5ëç /~~!?Ûp5±ŽBx-⛈ ús<ÛÅPEç‡Ó•<ÖŸ[‚'¤‹p>™@ík8Ió9,«ü³æÎæÍ€¢DÚMjèù‘@kÙâlaî¼§U8_ÁŸª]JŸÌjáÃy°½Ãh€$>!0IT-5Y{ì&s;ÚAGyÂÌ&i7UÄw Kä]]ô\’êv?âÙa.Ç‹4vÝ>186ÉÀg¥²”†7y¶em¯cÏÅm1Ÿã¬’â|"µ•Ö+˜ëIÛÜ1‰ïÁÕ"…c}ÚT>9­9&êÒR9!‰Ûߨòh$†d /¹Øð ‰!-†5˜-ùEMp%±1Œ‹_±J¤Ð0xò«Õ¥¿ßY³û 0Ç ‹L%¢Qž!´› ו¼#¢zeçanjŒ&ï×­øoéteþ¯Gê{Ýú×±˜]Cwöpã +i =¦Ô +K”­wÄW$ìZ‡¾ï16ö‚íNúÃE¦œ8ÛF‹vë6†Éªm%àk°iJ<ÆÕôŠú§Û&>Ôú0ÓöDþ“…OÝ«årîQîUA±g9ç9SÒóî'Z[SZE†pÉ+ŒàVß캠¹j€ +ÝѽU wú}À·å;BQùÀ×ÐSd&ü7¡¢ÏGÁô^×à§=sÞY¨€Ÿâð~:ThNg®À4R½zßSÐOlvö@ÐÒÔK÷kCá–ÞR/oß°Òÿ®Ì€Dî;ßQ×t²,làúààÈ›ž¶8Ðf$á\3õóïÀ„Ø +JÞÆ¹ÿAG”–ÒÇ¿¶EÚéˆÖá÷fl¤ ~`¢Åb%N{ÌÅ™¤'8M'ÓF£Øb9îp,LÈy§³ßÜx¹P?3¿V}æÄôÙAÇl©šCƒTÌûhxVˆ#»Ö؆â£îÀ«ê¬d¼iy lcž·*%1[ŠŒ·a¨´šOÚm·Ð ŸÕÎ'Ù§Gv†¿­,$‰JÿÌ,!Éù™Qncú¼ËRGØ&z•í+çoãu,¶I•µ®"°M|g¿÷†Dí>rôI¹…¦ 5 l¾·!—ŽÎuBE唚ÿË®ujM^Ìö¦šsÉdJ¯†c½Òeó‡þ»|è“zúT‰û–ŸÌu ‹• ðsº”R|ý]æ"ªc~3›X@5-A¥7ó>D)=T4•—+á!pgõ@œ×öVÞÄL1™VÄ"WŸU) +µ_¬ÙâÆPÂtŠD¸ÒIŸl¢¦!cbV×FqýlÁWWX´ +îŒÇ»ÁйdqÓ:´fRÇäÐEgmb0Šò‚Åä3‡G|üIykBc°‹­.¸Ü:ÉÌ©Ûi[¸™ƒ·i3 +­}uÑî*7•ûžHÍ)C fSÇ0Z`gö…ˆãúM“½²ÿË 3pŒ"v²´¿$s!ÕaNçÀI“ÑvèÈ +˜ÕÆoŒ!éöýqNõíÚ4T,›z‰ë…Šdä÷ø¿GÓ·4pš)ï‘í÷¸»ã˜Z¤‚¸8i7»xE4Z”\$QXÚ©É”æW›ÙrF{„vÿv@lß6ˆÈ†2KBÌà VaWHi+FØþ[µn3ו*üÐu~“ì>ù7y?Èz'œ{årÞe î•ʵ’P!°1¯œ_é”ð†nŒ9öOýd0” U›ÆšŽ¦.>(ÑÃf×90‡Õ™Ïw‰Ó,ßá6ãÚ „Ávܽ h‹uŒÜ«Äå"8£Ì¾ M8£æäx<9°ÅsÎ4<‚\ںʚÄ+VÓÖ°ý†‘™u-'² 0ÄKž£kíB¼+fªŒ6Z0J½¶Î1€4¾2Fÿ¬‡“!ôÙ*@mÝbÇ×ü¸)w9¼Íž=™Ei€4ÇxaÜw‚éDÝ\ ÕPÔÌXQ]œ?ýEF¥Õ³/¬Žg·Q¾+®øÅަ >½M@dÝèó‹F¿¿|¤Ê'ýóþŠª×Ö£•|YP€ßzw-ŠNGaµÇç·´TµŸÚ“ù ^¹ÎžÛ[÷ûzOýTEÐæþô"é¼$9üD6<·œÐù'…Û¢ãeõ¤¥$YÊRfle¿q†¿¯?¥‚ék •ª%ö:•czƒHñŒÑ/*^ª„廬 7Ö&‹B&žåˆË|\Dq¦‘îÍ”ëtM¾írt‡ú¥Ûxµ‹Eb)Ü?qž~ŃˆMQ:X4ÍF=Ì-~ìëp 3aap‚Å1Ôui‡ÏyÑÅ>¤EH©‹ƒ`Oñ‹}´›Î3Ôr9§GLã«ñx°4bhFËEöÊš³¹Kh e»÷;ï&™Š”Ÿja´Ë'/d¡÷þíÖýó°€²÷†u›õü þ©'Ê›y"ØJ§ô©+ž’Û¢‰F½¼QS»RmêˆvCGRx’3¬¨=dWÅ.`TÆ“îÄB;qɯÁ§aƒP"žQoI*J->íä‚ä&ƒG{)k–*ذØH™‘.ŠÞy ”nœÇ¯Ø¯ÝÔ¤û±jovÝ3F%òµú(è5ÑžO´}%JíñöhðžÒÁô×°î±Ó¶PàTjÅÞ€¼˜9êUKIm°œ/µ@_ecf^RGcœM`Í‚‹ íÁï¬{§O9'z!Ø#/ßÜ–¥ +&û9ËÒGñ8l€-‘ð ­¸™GÓé§Ú0œ£7cÚZ˜(ZG5;èNE$‘¹ìñÔ.k«Ñ˜*kÀ=A®[¦á›E»€G€ðã4ôÜ ÆL†$ $Ã].j ï +…ˆ8ŠÇ¨úës0¡ÏH +aα/ì^ª_`Žœ% ÷BµZ6¹ä_€©Z2Ô - ð”"õ¹zGæŠ&ø1Vù™|ÊYµ¶€džBO~e-e`>HÞmÀ0õòók!%Xä"ÇØU‚À×ÚÔ±Ã&ŒAkJ’"…„·µ¤E…óŠiðƒ LæàfÇÀ䇎·b „Ý’5E±Á» æ“PúM3S¢íM[ٵȜøn‘¦›gQ ºCn¸®‰W|"DÜût‹*ÍtÉ>X†Æ3QpNÒ´w]£Ôø“½øa¢–zÁÊØ®ëôTßê—ιàÐuõ£>¸K7§`#’v’C®úÆYÛ½d÷è=Õ“ Ÿ.âÛÄž óÝYG)n$æòº'°L¨Ih†TɦçZUª²¼€\ÝÃB£ªQgÞD¢‰t~=a!ké~œ^Q£ÅX¥o¤.Ø ]кx`ki Ì¡Àf‹ª »Œ.¸2Ø?’ÖköJn3‘îF’]È=4o÷ÊJûþò§Ü€ÐÖƒQÊI”­&‹5ã_}ˆ´¹êaC"|Sˆ•ïT-µ%B»]!q_Å3uf±?àKKÃP[Îê°àdE2G¼Sµ=ÂæG`ü%UÀ {ž°ó)7',o¡H‹m’7’`îæàŠñ±*R´v,»eÇX>L¶Ú¶Ê30zÔ?ó‘žLœb¤%CEíåð·1O$‘œÂ„ãrAb¿·üAYíXÂ{RÂÁ ‰ Ï_è&­5A«ºCô¾;?ߣ±€Ì@3'2›ÁøCá˜XÌj P¦³2‚rB;_"Ù®D•"×ýd/ÂÇEÅ8Áa¤¨Êûqô:èþä¿—QÀúÙ ªë&„z7º4ö¦é…täª@uH ÕÉb€p°“ +ð½ÞŽ`+ã'œR–(Z™=­—¥[3XAw_,rIël~—0ŠS¡)œª&öziRðúº#5â­æí¸}öšäµáY^#O_W J˜©ÓöVÈÓ!RʆQG…C‹UJ_tzÑ^\€u#{Ø/)þüêP§­ZPÎw@ä ÷´¼ ‰M§Aï2þÌ„‡Wõ4ãšë¬ÉmÝ4y!0•ÈÇ óöúÀ"îVqË›$1ØÖx%²mEŸ`Žw=R̉cYEF:8ÍÊÆx7ôPI¤-æ€Ô޾›Ùóa›!½2 yXÍ®orÌÓ¦‹u‚G‰y3D$¦"¶„§ÎTd/]À*j9ðò)Äî +ÜfP˜¼Ø–ˆ‚¸ê£¿F„Þ]vª}ESb¢íAb%¾Ý©XÌÜ™+¨DâW›!ëPÛ®!µ{NO”œ;ïŽ0’[»±I*d¾U•Ã%dÃpÞ±C÷àîò#k0P7ïÔŽЫh Ñ!¥9ÄÑK`Èñ&0ÌBÁ¡Â¯z¹©Áþ9…•ãv!£U¸‰º nŽ(ñ¨| äŸõ±Tº£¢g=(ÿy=Á“<ùÔZ!¸4Cƒ#ÑÀ¨˜o.IAÖ £O~žZ §V3*Ò\ÔH¬âG:‘‡»0…™*{Ä5‚-L§¶b‚/‡›;ø ;/C4«T=¿¬-Ñ*HÒ…'£ß:¨ÚwïôC£ÃCš©?\.zC CÂÛË]Z÷ê¡ÆKñ.—6òv … MM(·×_µ÷pb•`‚‘<ÇQu‰†ï’’ +£ü>ö¡K¼^íˆ»ã³æ"¸1gÒƒ®ßLWƒ‘ùäLŒ×Bw¢{Fp€òÆ­é©#ú‰hç“V2ãüõæ\°ÐÊCË&Ëxqìd'øiÖ´—ŠèÈ…™˜¦Á¥}wc-í1\{bÂ[ƒ“°Œµþ*OQ€>+T£W4£>0 éB´.,²?°¥¢#‚ƒ,lvÕBÇÄXL¬ïi®´¯çEiÇÎI‘†A59‹Tú4–·Í¨J.!˜TéÚdTç‹ýêÛÈ/m %qV8Oh×–j‘ŒÏå¦ A˜ü—a£|LlĬ1¦ÕOÜfÛ·r¦‡³Uet}ˆTqý»€å9Ú?5Nw>ƒÉBqôŠBŽŸë,0Í*¼s(—@µ˜×L~ËCà2ï34g!z¶òwä`egzƒŠiAš ÞÌ›T(vaZ°c1¸â ¼€·[òV”›ЙïCÙÜÝ­ÆpOçKK 2ÏºŽ ZÃm6Ìke>wèý æ…'Nâ Ì«„‰‘’±Î¿é†³È×ô x(€–”EifÍaVÖÕNÿ¹Âq¶ òVr-ÒAœëŠ +‘ñ1­DtJp3ºZ‡©ç„b”qÚaùÚjðüÆôYÆÎÆJ‡“\‹ ¬=a2|ßGš¢¹Þ +à ‘Š(˜Lì î¯IåÊŸ‹¬î± b".«¦cÆÞŒûªàí:†"¿ŒYü¸~F¾)â~eEïL~ÑZ§r®[¤ž3W„nW|8žÿîÈ7áQµÍ¦°5t<ˆ%f¡„†+}Ò^ ¬ZŠçÛ£„f”À)´‰ê[Ú˜<´Aœ&]0“ǚDždw@!Ô$"ÅÇQ -PñØAïTò§r9ðeMy:Lžÿ9âÒ‹'–·¥j]´œWpï›þ¾å#ùɱZzZ½Ëm¼‡r]M®~«è‡I£Á2ñ™£ëQjs:É¿(<ÍÙìc«EÈã·È*@MBq¹ +*öWNQﱯ%»D=i©ìbÇùì#LâÃæ”Ý~) Èh­LssLê¿n(±•klöÚcE³škp¢ëJ`WŠl¾yîäJ¡8¤Ì2Η-"ÁÑN«§!Çì•HÝÌôgµPþ"¨&r‹*\ÐrÊÝïÈÑPt”Niqˆ©\LØãpœyþ¨\¥C)'.¢ +6OƒË±-ôYÓUC‘f%ñæ2}¨AjM…ŸZÊ1ÕOìÁ•[îà#A=iÚ«-Œ ÂZ4cK€6MÍÍÁ +/Q)º†¬]£Mê _r»&#ÿxÉ¥•`Ç0uÁÑ-Sƒâûþ£Ò7ö}¸~#(|´™hðØÎ€†žbØÍ¯ƒ’sžðÔ²LÜÁ‡¨ÏA?M¼è¤åÎs[~dšÝ-gîØÃ’I„\6¶³Ú‡\Oidb«2O¸™°ŽBÇ™åIàÈNã$Û‹**$¥ÂŸOóßIÉù…ÅíÄ"äBDáóñ¡~BE–Ð Ç«7(•_07E¯o¶Lï$/ªÞo tÖH‘"LwA©V‘<•r%tÔ˜wœ·3;’ž˜d×’:£ 7DæBgT,)×Q‘«ôÓÛ_\(ÉkéXéÿ9V§Úê±ÍYÊÈô7˜÷|¥Ú'¦Š-M÷$gp# +ºMÇd˱«ÁQ¦€3§A³AÔ"©Yµc¼b¾'ÔæÉ’¹ðÅ–$¼3]ìÛ"¾¶Ú<¸¨ö 4>ÙjŠA„"zú&-wðA4Øz#ïØ@ Ê.-!âh§šºÏÉÅ.7 ±§…4-Ä6 øQš]×é€ÜÄ‹+:pÓ/ºÂƒ…f®ðßKb¦2oƒ9^õ\9ób"ÝØëªCëØÉ§|ßhY¿+ÀË\A2è¹Ê]ÃοRQŠ{¦p ‚äº%D–éJÁÊšcÁçñ¥òº^ÈFÓ—pÉ Ráoݘ…%8ˆàÝ䎀·ö*‚Þ§›¦g§K¨wJû¼,ñÖ}‹Îj¯nŸó'»òWûX['/×§ô¶sž¢ºŽæp Mô10æšY\,ɽ±xÓ ·ÒÑsÖ‰ŽÓ™æ¾¼2\ ?Ð^Î唃6}róÙ­Þ_DžÐôêPäEmuØo øH}>ËoGì¥I0.)òÖ•rÓë¿1s4cÝiQ"lìÛ3ôóh×EÙ%ƒw×VfÚì¸MÕ¶T:æ”üݪ’}Å!!‹¥\5s'Þ¿ËœhëJð3ZOÅÚÖ&ŽTÑ9@ò­b.ÍáQÞç9GlºïÁc,0xZSjÇEFþCeüG€Ó}KGAÊÊfÚ"5—yƽ—°:­f•BÝ¢ +¼˜ s†¹SWTayc64iC¸³ž²@Âm€pX‹Õ&Ÿ3ßÚTÚ×ÛL]‘šOB +³ä­•ô5÷Áùì—p¨“×9ê#"ª%߆SúH£L•ŒˆB¥Ê!³U®zwÕ-щDY¡èöTtS¬Eåçöµ$ÇÀÕòz€¬]¿:?Åìg-IϹxL„)Ë=616A¸+Ý©pRY±¾fÞFjŧ›~¯é7Ñ÷}’'9޶pâÒhCSÞãÂrú s2+܈ˆˆ?¢"»XÓ_ÓŠôEqD(T^I?ÿ.F8©LBM‘âdýÿkPlç¯A^<‹ñœ¾T𑤈¶WJrÙP¯¥¡••µÎý»/º*<:镳þÓ#(ï`ÏÐ÷úQfLuž¡+æ”Z@r¡Šú˜Q*ò÷CÛvŸŽžà°o J®ºŽÉukÔ† ø‹ëp,>f@ HæRlÞ”ÛŽ)Ѭ ÌyíŸr‡ÉEmÏ~E@ +)›”ù ”厙/.λö‚©—ò‘¶µGaã’<ÅÇsvY/])˜'c…^ïZ.PAŒ½’Èv¾/e]l¯ŸK¤4:ŽKË +.‰p¸‚uÓâ®kì.!®R.¬~;;%îñUÛ@·ÉKoWGB¢²‹;÷„z¡sT¼Êû%ÁÄ…y [pŠ(þÁôklI)¾C“•Kæ& +دrúЀ¤ã·kÛÆ~Óù”Üë&G¿µÇÚÏײHA™é> —¬€ˆÜr†F!±e_ÔT#xpŸBw$ÑA.¡–,$ÛåÚŠÖ-\.&rý+Ý´ƒ+Þî_ž#ƒDâ•è¾½„{eÓôúFê[*‡·¿7NÏ¥Ær†Nc]šßwóg@ø{znJ«ÜH+?V‰]K[3(u¥ýd`º‡Éüd[¤©2oQ8ú^ëa{-í¦Ú¶Úº!ET¾óP¬lN5ºå¯G¯Ôý\Ÿ¿ri¯BCÛ-©œ G²±xTÛôâªÒèT·vÞP@Ÿ¡`ù0èo\Éé™è¸8ε+Œc·îEÑF;œbgÕ[ɉ Q' ã¬Èû㘱җ6êýìjBÝ„UêûJJµM€@r'ïhF kH™ß ^ŽÇ-˜álV³ú¡7ŽæÀŸYïX¿ÓÕ­{#6̉ èØ6#›CW’^† Q*¥º´«IìIÉãC4P“–@ŠN”hÇ–ó—(!ÞÂ5ên+œ.ïzm4:¬eîèRIÐcô6X²ÔBƒ"e]ŸJK Öè¬ìµN²ñ’D•÷màŠÝï™tô á÷Kz#õü ý—{”æ¬v5ç-.þõÎ>#Âç¼¹Ü3ŸuÚè*(¢’ã/}]™ŽŸ@pÐèQÚü’ë™+Å/=r5B=³Øéé üƒY8!ì ÙÎ6-»µØÐ‡Þn*†ôvãâõ$UWß7ÒøG0[ƒÒFÎ~Žaâcg‘áEuZ4õåtýà+Û<<õ`ûKÇçW¨°‰°ƒ4ÂtsÓæ;ku¦`ØœÎÇã€^¦›\¬EÎçëîm.é|Õh¦Ñ~¨˜;nö6ãŒQ*«” Ÿ€Wq’ºä‰À(ÊTðò*èaÅUp‚q)êSš9Ç˶¤¨wé,ÍiË÷è+ŸäÆA¥ ¯W‡~¿‰oÌB|_'Yõõ†¦°«Wa}ÜÈ4I*\—}ßà‰ê­êë ›ˆÞ[{w#Cä³îX­öy£)¢÷ß—™•˜òÿ¦0½7ÃïìÍ}ìñˆÜ¬£ ôê YbãÆp[áúCšÜæñœ¼©ÀC´r[/ásê’ŒB Á· ègß¶¡õbPØâi!òTاã%@É _ëv³™Âç&}AQ#%s¹DÕ‰z­Âó°¼ÐÆç>ƒd$ZG´1>m&“«Ò¢…m»ê/lxÊÐ% nšæ-zEÍQ'ˆ0eúBOØ‹º–jò­ºT2éάmrOk…½ È'ÀÇ¡Lœýƒ¿jü=‘ºwœ;™.ÖZ0ây¡á¨9( N PfD<{9F!_;RF‰}2úö±ÿ~,H¨qªÎöÑMGŽÕ—™E>cÇpÝ´t€Ð™µc>ù„=?‡É~Aà¡Kw!£0s¹æ·E> +«<¹ 0©Q`þÿš +²¤Jþ…볚›Á§Äù±-E mï~ᇎpeúMnáFyÚ‹µKr7•r©úýÜ\/ +a¦@Td&‘ +=Vs®ýöu+'8Mþ¤»ž@Q:úæOÆÃg"¦:u§ÎÎBÑØò–ëù*_v°ÉfÇ”g4MRÍ¥oüs"Ødà°N,¤Ãf¸ º¼m'îü#"š1z3ë\è˜þ´…'×’'§þq˜Ì™\ÙŠ§¥ÁI`fÍfô žfÄ…dª4bµ¿a×±’b]fknÜ—£UAH{u&­ù-²…é',˜H¯&¸ äu;à<ªšÿ&SšØ5;—P³ªŸÅ6 ä›!éÔ_õZðãÈ6gê5V CŸ] +‚ùøúi ú¸ïbëŽ\O!AÍE×­ÄÔëY&%©;þƒÍÛ+˜R +À§Ãb'„+¼«[X?Æ ?Päаe÷§(ÿ¯µ"Ñ*4m +¢1µnáÍÕ×A­·gT]eÜ•užu:ìéû¯3¥[?%nðú’(g³(´ì”1ÀÆo}/#ç}ÏÖÄIï8Éö­b7â%„8¨ïïú¼t)ç~mi¨eÄÄNý•@èêË&§ D[+”ðá3 [¤PŽšf›¬ÌÍ}Ì0Rô2RúiÅŽë–>ˆu¬ã'ržŸx'1›Dí¯¨žõϾĀڢeM@±*^pCͪKž¼1K¢æcH•ÞµüüAͦ^›pjÎÖ1XÓ—¦yK®PKÊ:áË ÀBöB©‚iºî÷Õ +а&:TH˜*fÛ¼ÔqjP®H9H8mWE?-æyóüPMU¢#Ôtñð¦—~à§Á)$”Êٹѹœ}†aò?°{Æüª]2h +fˆuŠwÿ€íçç­Ð­ÃJQIÍ™á6AñÂü`qhúx'AÚ”¦'”€ie²Ñ^8¢1ñC¼7¬ç0q¬îþZV¨ÂfuR¼ÈW Æ žë{þ´?ÖìR +‹ˆ)·ùcJ!·U±´è&‡ßA˜àÆŒŸ»ÚÐ Ÿ*Ì}Teð¡E3Cö]Ǥ!Òë`_ëô$¿*ìÎV6b+l\óÚœ@p +B¿œÏ$×íe3úíÅDR 舱¥EÓJ¨ZÅ‚k<@ãXp§ýHBQ{á:Ô¬dºÛ˜%’t)<âÔôÝS`Nn‘Ҍٸ³‚1¡`ôqÉFz0[ZòÇl˵z¹ÓjáxV=Ç"oV焈‚lë¬plÄ#È—¾„¦‡¯ýoì"ýŸmr~ ÙRLŸu»{±þ«thÚ;ÍyXBtYþÚ… ,„ܤ؞X7²öÀO±UaÓ°{sK®ì_r—hYr"DKP S 7•^}Õ­TRþ{<Õ­&þ Òªžì\¼ßF/Zé­üf{‹Šë×I¯èª¬/ZjLœRtáåˆR骪³y+öabê% ©2Í&óV2mtF£/·‰7šMS{áØéŠé¯5DèZësoŠO©+G³²šÞ `€l<ÞxÓvõh†ÞÛˆ©õ+¿º[eí.»w¯•©¦Ø¿’_²r¼{šQÍ¿ö£œtù†V¥5ã•Ý»§êâ-Ê¿(¥êë`QšÚ]ºVSþÌ+W~²¦MÙÚñÈÔÖJíys¶#KC¬ +¸jüfŽïrÑrÖw|‰{¯§N]^Ñ¢³[õB©åJÔZ½]¯*K¹´Ö-fÝrUËW…WíÙ›JctšæRMnbšñ˜WÖšHêRš¢õ²¸lÑ©Ñ|õ[Š· ˆáº,Å¥êÚ=L¥RÌgÖ^V™ò,37±|^[?m×Qñ“Ì®ðÅΆOò¢©ÕÖiªÚMú¢äb)š§y:Že.JaíM÷Šæ÷*SÍo:QK•œ§_íPÑ-Ã¥ýsŽþ¤©/@ÀÀùŽ®ó*úÔ¼cù4ëJZtã".e}òjˆÖ_íº·÷Ò•Š–n°HeképõôTl&£ž–}Ô/Š­§›>*åL±hõL;e³û¢Ö•-¯«îRqt¿§g²¼÷FƒVy>£²éfñË¢Mj-Šâ73bÎuë÷m÷»Š{w6éÑæ¢œÈwsxˆß³™Ïò|vK¡ñî¬:—¸(·„û¡:ýü¥ Qí£ÅÕÂÓkaê¤:/m-“0ëF©²n§àÊϾb­ÓV?up«6Ï¥ç4íG5%ÓN·¼üžU°¬+麮ìN3ºb©™9о%·÷W¶x£[ /‰n~²Âü’­éÕÐï¹ûº´¹ºNUt·k¹þ W‘(î¹]͈ê;Ua:ªÜ´ÓÜæ¢à!*ž­Âï¨w%ߢrfw/ÒªÞÞÝžxUNôá¢-¢— ˜KŒZrAŒ²1™Ð€ñàƒ HŒŽ+)‘&BBI‡—dXJJd‚’`ãh„ ’‰$ 8”H!É"¤B&@jƒÐs´x1ƒ¸p£IÝ0޼B I‚¥aÁBlh …=ðâÃBH=б!%“õqŽ.P°™²< aRãƒ"7°1bBˆ"HŒ( âàD„"1‘¡:ˆTPpŸXp¸€PÃäD3 S€ + 5(<¨QࢄDRè €ƒ1a‚‡€ $Ô /D.,(J2`ˆâh,Ã^,à€‚ + µI‚5$@0DHرÂNÈp`c¤Ä(*XȈ ,D‹ZHð¢B.¨ÀP!"`ˆÃ@½àÃ… 0ÄXŒx©¡&XxpƒäÆ!!&LˆcR.è àÐÀŒ824 £‰ QD )@8òqÁÇf$‹JpJd€XðÀ!%câbÑÅãã[Àâ‘@™€“I‡I‡I‡É¤Ã øÁ u¢‚=xðàÁÇXä°*.4ðù8€Ä„ +*t˜4Pࢄ@:LD¨Æ‰ƒ1âB 9øxPc8Pá A‡I֠ÇµÃøn $˜%@*@ø áEˆ‰)v 0Q1"Ç‘sáAÀ‡'4`0, DˆAŠçá±<;H.Á‹R‘âD " x˜H0ãC‚ý8€`;p,Ð@„#Ç +›$X@„Üx²€ ¢Á‚¤Ìø BYkÐ"ƒáˆœ¡qâHä08tˆ8bàD ƒ `ìøpq0 °`%%6#j|È FD˜~؈0âG&•a)© 5 N˜¨` +\”ØÐàEX ™NŒLxÀ‘É!¸ß¨@R6À@"H ¨`2(,àÂBÉ92Ù€#E"Ƈ…rQƒBêÆˆŽ‘‰ƒ ,”àÈŠaARscxBŽ*Ð&*˜Š,(© ¡&¨ÀP ‡"Ô`0Ç8 ú8€@»À @$P@d, B9X˜¨`“Lˆ4¢RxP Fœ.4¬°€a‡ LÌÈ€âŠýºƒB*”À°#2P@…„ïdÙ¡‚ (.pÀÑÁEXàÀùAÁ &7HÊ„ 7&|lp +4LH€‚ ma2’†.ØÇ DX8 j Ljà``0 +\”Ð!À˜AÈ€Ò:`ÈD',œ8ÀE†·G&G£ƒÕ +™8(qbdB+päÏ +Yp 0Ȇ`ø#]BGX@„öÆ10,Xà‚Q(ÀÂ\ +BG&Σ +™œ0عŽL(Q%pd²ÆÈ„Jˆ”À‘‰ˆ…l)‘.Ø`'&°Ø±Â\”82!2P`P`ÁŽh(Š$3€Ð"pb>ÈPb,Œðаáb€ ð€Æ ‚ˆ&H1pd²Üb p´(¡‰%¤€#“£*ŽLTƒ„Å#!pdR–U¡CÈ„\£BàÈd&4`<#‹PR%‚D„v Ç +Qࢄ&*LT°! dÐh ‰`aÁ‹ $”…õ I} @c€^!òqÁŒd±Ä˜p˜lÀ‘ Lx¡cC@6àÈD;† nD„Jä…*Ø8@‚U”(±B‰‰0ÌŒ…™„$(èA ŽL,c†ƒ%(¢ÀE åP#‹%ÒÂD… 3Á؆ -2¨``Á‹Ò ¡ÄA†!&,J”Ø@!‡  tÌ åà™`¢Cˆ $âB/,ðð01&„Øá@dñ Aˆ‰Gˆ%ÆÄ„^Xà!ÂD‡Laña@‚:L ’º° €X% T(è@!‡"D:L @u€†Ãñ@ª!" + ´!Âä.t˜4G&2f,  È@Á£F™¸ðp6Bvx„2 `0‡È@˜¡¢K¡  4¤@àã$¼Àcqà` #[ÜH Ä;ŒqãC”  ø1ÁÅŽ +,ã… +8L ðà£\ìø°"…mÁÅ l¡Ár¤ÐQè ` @˜€€‹¥Ê¡";pQµc‚ƒ +þ8€@Ä  P(Á!Á‹ÑA"+Àá±hÈ G†‰ + …AÅŒ’ àgb¤ˆ L–@!ŒpÑàŒA5Œ€â f4xá í£‰ >¢<¸ˆT°¡ G +vàÐÀ 8¾‚B 8p€° À}ˆxà‚j,Z‰Ñ±‚6,ða]€!¡}@° Ð  0@‚*Hh1‚°Á#hr<è@1P¤à@)*$±#„„JV¬È@0l² ¨AHL&àˆ02©!L:Œ€`!F4ðÀ#AhàqYãÃãã'Vñ(Q¡†Ê’Ê€ VÀ¸0 @˜Ð€dB0 ti€cˆÕQ"¤ ˜€ƒC-r¬°LpàBDÈ帓DÈÂq˜ã€MNŒ -L|ÔˆÐÀ,8€€8€€Fˆ&L<q² ^tHð¢C‚˜ ¸¡‚䆊&$(& ÊÆ 'lœ‘à„ + eÁÂÜh@âˆ×ARcD$#vLpQB^Ì 3¨Å‹ € aÀ‹{„€¦DvË?k,ϵ‰y[]L»ûdv5£b¦ô#-Ù1«J‹Æ˜ûZ´*sž™åíÖªù>ÿËžÉ 3+‡¾ª.Ó¨¢•$ܵÅ_Í­Ôá•4¿/šëš\e:y5éPÑæœÞИDjF·…K6§¸…{ˆV°¨P]EÆA4ûx±´0KÇP‰òªÎSŠGz.âUá^Ò. )%Ù˜ji¥•³G+¦N«¹ÙêM!kýê÷ã#–nj-eíÜhoUKÇTNC#´’§?õPÝÎ) K½WÞÛ4"ú wQÌ +q5×·ºuPoåÎ̭ܵí—Ò~FxHheËž>¤½§ñ´‹bÕEL»½²]JÇ+-•,WiUo窋b6Ñ&Z•‡PõDxÆÙJ3霴h']×ÛŽ8jº(ªÏ´±šnci–´w´Ÿª·ÿiišDO%"=f>·Ì~ÿòf}îMñ?DsÞÍÆ'âÇ4=¥Ýf”ÑXi¸»µ·¡Õz‘ÆvsêuzJeä2²[Ó¥"Þ±Ž‹4;u¦›ž*t.бʱl7g½&¥;+ªôåumÔÌFšx³¶ííŠdkÛQ_Ï77"—‹¨f]ˆjº9K%¤ô寴JmgÉ6oÔ¯Û¼­ê¥b4U«ÙÒ3£µ#²3[_šK¦Ñ3§³6ËŠÒÔjÑ’jç…yš´z×t+;Í.ÑðH¾1¡*þk5Z%UµÌ­Õ1Ù«lûžéf‰„÷½îÔHõçZ½šïo©>Ã$2¢Â×è<šZá\Öç +­ånÝœwQ²(SÇŽVîDø›»]”¼—Ïxúl-êž)íÇTãw¯ÆìE»(‹zL{…Fz«‹b›»÷¤±R³Ü-4–uQÒ¬²ÌEjBS³ž)ÙØª•ÏW[«Ýgúîú¶–º¢[q­°uMv>ûÿU7â8ŠvÚÒg-Ö"Öñ´™K¿MÚ\º¥±§«òtßk»RQÒ]Ráõ>zK[U„‹zåñea®soêy¾5ËÍ£$­µòýu:³ÒÛžM}u¯ÆG®4:ÕOM“& oéÐF®åÚRÕ]wvY·‹X³h•õ)ËÒK´ã(ŽY.ŠuõGÏM\'Ù‘µèÍÊ%—ªªîó•y¯k‘nJûÖµŽwÛšÄ%²k­ƒ^2Óí<‰¥GFi¹Ô­ž¦Ý™ì­:®5i«2kŒ.íæH˜‡Ÿ¥\oÌ,[c¥.Ýt¹z<}÷–tº;¢œ\cz OÛºœg_µ1’Õ‡D«E§v»{+…µù´+Rš®G¬ïj]%VÞîóz7¿Ý±j¬_”+×Òdånº–Ôþ“w?˜Š¯½C%šÜç­¥yî?Zª¼¦ÕQ^•}LeKè´<®ê O7EXö³Râäo\ÃJªÿYŠu®I×Õ¶°ôLWoo÷‘Ù“x'Ýùj¾Y\¯ ºêiTG”´E¾îM¢õ­ÞœV©ºÌcöí©U:yd÷©Èîjµ=¹ªÒé¾(õ£òb©¢Öþ¬j¬óâýDR»½YÂĤ1[œõ.Û¿îc/Þdþ½-3},Mïîõzž­i­£¬ûê—z;õ2ò‘.Qõs¥è£­ÕMy³¿סiŽ›…õtšQþù;9q—oÎnJJô´E¼Ùˆì«ûIJ-–ž¢]ljZIƒvJ³Š.Kúª¦Ù”"aæ ­hšÌ:wtnY¡•ËçiœF>;£Ä*Äݺ^mËßÄséjÚC"¢]×HSo”uKT2{Hs•p±Ìðž‡H«Šÿ.J‘Qæj%95UKwhI©êré¶%-´’Z6"´¬Â]¤q¢•;×;v´›&¢â m­¼¹Tªs«‹¢…¦ˆT®Q+ùÔ¶ÁÚEAõfNÖѶK™„®ôomó6YºÚîá<)OJ»Ÿ5õh7ª†´föµr+¥2ÏTï[«7Þ]Ó–Ò¢•ýšgSÏ~©Œy5V´òTÕºuYë¥4‡hç#"ËãîB¦š–³t+e=jMÒ.ʯ¬j¿Y[þ.Š•ní”mR-ï”Vš.Ê>ïFM“-O·(gkHŠy¹™öÄÓ½èÈW{¨cÞLyïï™”jz¢æ­Ð@‘ºELû©úÈk”‡”Þ#~_ß,嵤×[ÖÓ?Þ©"Qž*j^/‹l·¿13ÅÄÃZò™ª)ËlÕ˜¶f4¦'ª:¯uîþÓ™} 'ïœGT©SZŠ›'Ê)#Þž¦Ý”Þgœsžm›¾š¾¯P]Šetr. +êšmH)od>uù׼͚’¨in¹äiý¸e¹(§ft­C­ɲr¡5+²ÑÜÕ2Ú¤ÙªüIi3Ó¼•Dõ?·LÖ<Ú]çÁÊËÉÚŸf¯É»Ë6sQ0òÎùuÞ–)¥m‹gó¼DSuÝ”‹¢[øµY¡ïð,ó¯µLrùôŸ£Ä¬T²£¬\ï•æòŸjÕ¼­LÍ›Ôprhã¬_©vÕU©©F¥ïÍíå†hFºõXÖ"9õ~>[U2áÿ¥KÂ+Ô“Ížìªt4í ´9ÿ­èUQmÞ=ÇùE©¹3étxƒÆÔü–Ïj,¿(å³ï·r»#32sަšqìFFµ_½×ll×+ºÄgžíL§ž•Z…§5­VÚ e.ý;tßiçQ<¡9Ë2OëJsǶ°>‡·b–Š—vü¢”m:M!–sŒªëÌ¥´|šp +oohëY#’’&âfžF¢Â»‡î‹ëÒˆpÇwJjŸîËü«Ïšsø$Ÿ©Ò–]&j­m]¡ªÍÚí\Ÿ•›KýÁ¯}î[Á›4µinå[±<´¯•Õ]FÕÛÞ®®åØfx2»ðæªÅLܬò­陪›¯ÙÊ««²ÍåÜCÙJWiŸ+«e^}8iúºyYê¢ÖÕ¬9—îì#3kêí~Lßmݾ¤ú’Ö3:ÔrÕÎO©PÍ.‹¢E¶IKHƒŠÞº}­^t[Õ;"Žv²ÐÊõÔigK7‡xyd¸ž:´ ‹N¤^Õ2ÝÊÝ¡µ‡ÚgíÙwVJYóÿ:ûY¹¤ÌE*©ž®å~R¯L±Ö²Ìȹ(F»ÖÈV×þJS5åÚ%ÑyÉÆ‰W6ŸÖUË…z¹(×Ì]þ»w¥¡ËEqÒÚSVt.ÊÓiÏ:5ª¹s•¨NS”.¥L[³Ë¢´bd¥ô!#}mÑìÞ +ÒÑ”wOMT$¤*MÕÓhå¢ÔUj¦ qt©hs®Ò¬ºÆ¬­TºÁJô]•Ò¨7kLW]^œœ=õ·²Š7ºª¼«Z:On™ópÔ)yóþ(e‰¼xúÑ|ŸJ5I¹¤¢izNºw”‹’ew†{ÊÁý¡7²rF¢Ë1ÊE1¥¬{Ÿ©©»¿ÒÏíukŸš4¸_¬ÓUÌ<÷6û²°F÷KÚwÓôTÚûÆöV O/)7ɃjvwY¾¡½_UQžiâ¨>³ôtojÖÐHÑ;¥¨V†O›Õ¯+çò‹bÝãšè:×k~±Í4|áa¶Fk–ŠiKiÓ9K\¿0ïÏgé³ÏY’Îâ—,»%"Ùô]Ksm¢íŽèPëR<¯µ®[5$K¥õmôR÷vmÉÎpóéȲ”¬#QýÊ0ŸiiuZóBC»Q4¡Ò4UïpÖg–ƒE{þé’Êv¯öTíj°L¤ÐêÖÝEUYyöR4ÝX¥Õ~È·4jY¦5ÉHkuo×nÔ¾ÔŽ7‹ +Mw³KÊŒÞÍ›êŠG¶»kLx{³ÕùwÚ,õæç®VÚLºÑ¥Ñåi%Ùéצ4¦4R»+œÛ/aÝ—ìfõ[x¤•7º˜k\ÛÑ®‘´¥«kF5«h‰DÿU¨ÎEDWŠtÎÍ—ÒcúL»ö8›gtsJua%©)š¥Õzó+gÍë§¿¤'Å2ßbúòPñ¿›°Èv§¢z=‰hÊÏåî},k‡rÕªéúÚ§ò§½Q%Ö=}»æ¥‘='«‡1qõæ=ï⑹Tk},JW­zmìˆúªoÝÔ¨¦Ž„•”–¶¡gm©QúN³èÜ´í(Ú0¿6‰Vôæa^¾²ô°ªæh¨{ƒ6Í;±Ni¾¼n­ë¶׈ŒdC]ó*>­O$Å5š§pqqQŒ„›d¶ï'ñ™w²n*]š^™¢-ª]þ¶\¼omãmn_#ûVj‹ËêÖ¢½ÐžŸ£;­.Í·Êú¬«s½£±·îi··(›xº)îté¾U–—™þ©æšiíùÕI©Î¶¦ŠjûÍtVʪé¾›šd2ªS뛘WÔ¹©”PéÇŸqvwÑJ»âüVw/׎æn3)¦]åÞÏ_Ým§”x™ž³TŸêV6j]\«=Uó5ºY¤¾¥{8Òû¤ZtÏkº5Ý +qvsЧ[\¢ÚÕQ<¥ówQ*Ézó•¬õÛE1$²Å«¾NíˆvÈvQ^v®%õù¹c£2*¢gþ,d­Ó“âK=‘Þ™vK*_óªÐÌNTÂ{i–~ñyv‹vÝË+Z5óÝV<†ˆuÍÛ»!]s~´S·»«*ëÅ3]U]Þ~—gG»$+Å¡Ó+Í4ó™bDRåמ¸g­?g+{ï{ô#ÄÚ̳ò+QÕvV³u*­ß­Y½G´õ7u퓘묓¢©iò»i%³M[6«ŠwW—ƒ/›1­fÖØÝ÷ö[·v[JU¥\ï3i}ÌüÚ +oT¿‰µEh«ÿçô¦3éfþFÎÛ5…颵j©C2¹Ì¹;{yÛüΚ´C/šžMGH¸4¿´b™H÷wîHiˬgÓVåöÙj³íäK´{ÙÝÒXëÆ.Õ7Sç|{§¥W=®o¥[Â=:óIkÉPí¬&ïføR=3Ž]9÷Ö¹»ÒÍ:‰rmè^>¡}kDˆ¦S!bú4ËÖux®ç¬%ž|h¹7ùk6v’Õî˜sïz¶¹‘ÑùJE.Ó*œržôhЖŽgv¿²B[i¨cÓý¬¥âÚ ³~æ"2³W÷άVPélU*£áࡾꫥ¨úPçô¥™KmÌzݨµ:áuêHyd‡ˆ7ø<úÐç[u„dG½.i•¢*í¾Pçx·»ÖÍý‹n§ðö×Cýê¥Ùxšgw³Yw·»üî¥^9Ï”tç’þ£Mo2«ÄÓa©çòé¼óâ=?]Ók^§òϧú÷LòøÔFf¿©wèèu“¿é©ááBýuÑeV¶x[_£&æqoÔI¶WjˆKsÜ/ÒkìI˜/ÄC»¢L<½ŒJ¸Ü"*zP¯…‹rwZNZ•b­íâ,áBwGoK6¾L54%Úúô:W®ÛA½Eq-¢míoQŒv¯ü¦&Qæi%¾,£¿å”F+÷QéS¿3%Òéþ–³ÓBÿÊúò}ÕÏ%<\º2µÕ:Yþ‰‰é:RÕ,ßž)mKŸ–eçZº¼\Ž6Ï;¥ö©®VæÉ%§”ì%B;Ÿ4¥¾Ôºåà埮¼!MÛ£–G›w¢9÷°Ž†4­äíjåï–gÓö(¯™O¬Ä#f.‘Rª­å)q_E8š¹–J©µ5wjDÂtêèÓ'+ÃÄûíç™¶ÙóVó~BšÿN¿ª¸Vk«¹˜i«tN;«ýu.ó_”;Ów¦/ÅY=)©ÚÍ­mÝÇiÃ\#}ѳr¬§§Õ§–.}¡eež~µÖCyT•–uÇ©¬²mí˦5û¬ÊòÍpèÿÙeÂùÓ +åænnÚNþ²ê;÷DŸÑQ"ѵ”µ¥§ÕT¦?1ñ†®²!¼SõÖ½ëÒíh»sϾ¿SŸÄK´¼k™¶¬¥ª¥cÏ<²Ó"ÕšºY¦«hìÈöksÓ +å¡Ïrè‰v¨¶º^1«…Z9çJ½9Þø2¦ê$¦ÙÏ¢ÓÄãzRmÅ1–}ÙCkú—«f×¼1L+WvnÒ’éå&f]Íœ.L#Oá5kó|¼SÄÒ¬´S­¬Ë_š‘L§ùé©Ó6Vú4$Ä߯ÈY8y¨ˆÆc⹜‡g·´™7G˜ªú;]ºììlš$¼ÄëŽ/õWõÕžS}Eˆµ?ÊÑÑ—®æ¤Yçaý®º/ÒÒÜHeµCN+U›†žÚý=çLÅEA=*]ÒÒÒ¶Ä;æXšé”¥•Ò\4,¬ºÁDËÅ;V.ŠoËžsuGwí`¥•§5Ñ“G̬4£2\”´Uý*íŽhô¦´²kJÏC:[½*µ´ðx¥¥D‡‹²Ii|îyñ*±œEV·¾ qQòŠi$Bü:©vqQ´òùÌ.Z«§\Z¥¼T¬¡Éç(«ÊîpQÒÒlšÇLgYVïûDóøpQ<¹T¿*ã¢d–mê3מsF2,,Û"Ú³ô¥VÑÖjŒÔ¼”‰išh8ª‰x5f\”ß{g≞¶³°N¸gk-œÓêžíè*Y.Š®z©N—¦4möICÅéO]„¤VßÙ<]=fxèçQuÍZ96\Œ–Уy›‘±¶¦ ¯º>M£æú°¦2IQï\«¨†‰êëÕ]UáÙè¦#Ü:ÍÓ—Ç +/5ÌŽ{‹¢¾çg}»+¦Þ‰nUoQ.ˆÍH9ù[”#êZæ&á-J=1mèûó.jâ••Öì].ÚYîÔ!Ù9u·J§óúx·(K_µ-Í™‡->Ô˜oñ@J@ £»lM»ºÙIJFß½íx=¼ïâîZÁã–.ÊažH1Ç…»Z¦òúƆªªŠ?ºOª.ŠŸE—WK—¨¾ÓL­¡›I¯î¤c©ˆtº(§çÝêžÆè0qΈ”®î[1Mq ïD——h½åæ¢WÓ­1³<Ëóy§·–¡1øý%Ñ®o;Ÿ]êUé¹°pó¾®Úé‘Í’´Nmï¦"³-Iй(6»­Ôð*K^ÛÚ£uéâúp~wïÝÇÅÓ{mÏnò©ÙießÛ]YÑžÞéa­ž%eËü—Õn3fëêNuÏPm¶žDÞUòliêÚ¨¥Uš¥©]U¯2 3]¶ôäi1_Ò¼ÄÁUÄÕ2m}lF5Z¯“ÑíqÎNŸ£j‡V»© Õ‹ïSv¦Y­ýÉÚ£}¶|eÊÎËwåßT¥xE{ïÔ–®µ<*´’‘èH™Ï¤=щN m“l¬W'ïÙÒígZ©´§Ô­5µµÏR¡úFïKF„ˆJ&[}§;Ëô顚©á©Ý¡'©ª}¦3ºHׇg²3š™–ÕmZ‘ð”vŒî›ž¹P•ÊF³ò©›«³8›§´'™pSÍuuZ¿©¢å½Ô m]ˆeô§-ÑLµ¾Î­¼kjßs%*ÙÕf¯ªZÂ9Ûµ%ÚÇëy©ÒTäÂ4Þüɵ;¢Õ Ùè>]ëá’â¿Oš¥•Í‹bú®ÍÉX«©¶»m®Ýl—6.c¢™'7 -oÊNO%³Ñ†Ì‹bD$º;D5Ûÿ¿¤Y3¥¼ÜZ£¡¾òs-=5­:Ìš5o.êT~Öêj[¹Š66Y.åÍJžéªN­Ñ‡l´÷ϳÌjí¥:z¼»ýDµw':_¡ÙÓnÃói!©Í›•Y·õ¶ES­ò™­¶uu9k³"ÓS—v=š¢Òó:õÆÎÔª\^³5+åÑ[“Œ*-½(‹z„©§¾îÙZÝàY¦ž®¶=¿9qîŽåK%rZÒ]£ê¼SïÚ׋’f4­ÛYõ¢`þ½jFúýó«E•¾×p¯éÁõ’Ïõ«ÆlVZ~Ò-ŠÝмˆyKUÞqsËÓ²\ª4ùô‘á~\§‰t³²…dªSu¾Ñ§]n&¥éèÒ‰6Jü3Õ“ušt3Lµéž¦ÌΉ¯!»eiw‰ŒnÍTE /϶N9g·8mªJâÞKÇìEÏÈrÑ8·[”¥]#ž™Þ¢œÍ#òŠÌŽtìnQèkVpÇ¿E)+Ÿ½9Gþ¹|8u¶bzÞ»ªÚ‹´t¶§ÛN3îZõ´wF­<ž•ÛÜ• ½¶,&½éj¦¯#ÛB[Y®¥å];GwE¦W¶(e2]«4©³®ôI§ÉSÓãáuìÈ‹bKdö*§ÞœÌ¼(v>ïE¹B33Ļ۔‘--ÉÌgƒef{ÅV?Û±ùÒ謫y©Õ;J–ëE1þHhH8KN#5/ +Î’¹RsÈuÓY²ÝØÎº¡2LïïlñOhXƒ6ÞÊ4½(ʦËz­Êš*óo/…®2×E7«~>µb:Û®ÈÊÒβ¥¹2+{£-ÊšËl¾z±íöˆ#%cî¢T¾Ô&Ëü¹gËlNJÕ[QS'½t5efoO¤³±™+æÒˆî¤ôï2uôîÍA3+ªW^[Þš))•m–Ydž²-%U¦~†V²Ù‹’°ŠF׋R{=+Z&ºµ*›•sUyknóˆÒÓ-JÕÍV«N{-ë,ÙΖÔélè ǵ¶Á³ç™pogϬài^šLç2—VîѬ$é)ÚI«ƒvKÕú̺c;Ã:TÊ[~BÛE½,õåMªµ³v‹‚“hÎÄ[”E3=²oQœ&²Ý1ßrŸE˳ýíf¼Eñw|K³ô™Þ+íeW³¾záÍŠóþõêÔ9—VX;uwÓÄ+Â{YoQÔ’.ÕÖ†ÊVÔÇ£š½wbŽ÷Pk̶‚F¤ß¸­…èsÞÐÇ„µ[‰nñ‘·¶ø(õ’w/Çv3-RÅÒû=OJ>úNí7¥FH¶ˆWŸÂ½ÌRúZéëz*[©æ®mÝÒ]%Ã1Ó´:¢¦*:“Ȧ֪©V3\¬“q¯EÇÝ¢-T4LÛJ#õ•l÷Y¦KzIЧÜï*Õ½Rs +ñÊìÌtq19ƽšMye©UèË%/méS†—¶/ÊDÕS¼Ãïžj×oBš¢ÄÓ˜ÓÐwÄ!*Õ¼•ž6yˆl?hiçì^Ù«®W»Þ1Kµu&滑–»ãÚ“Ñ•ˆ§8¹t”Tô-º2[S›ü¼Ñû•&}°òÖˆ˜”Gu”{›©¬«v.Ÿ·ðl7ž¾·"»»,MËe˜†µvŠgxßµB,׫GõG»ûÛ-ï”VVÒh¢S]z7z¢ü·¨F )ïé==fýöòÌðe8™7©xµ½$ÒÕÁ<¼óÒšo—Ðìn“õ¦Zò©Fw鑊r.õ6V4+Ýÿ¢;ÒŸCJwûµ²p7íDÎ×Îæm¤ª:Þò0É/:îZdôB´U\U¥­³¯Žñ„_2M”ÿìýV…¯g–6—Oóªk,Ë(mðng'ÊMÕ/ê“|ÛçgõxçgaéÒabú'½±Ñ©uÏÿÂA#z¡ÑÝYnZ©¢ÙjûçM–(µL…§%;VfÙOs¸”´7Uß5[Ë$Kò_µu¿ÙÍ4.ž!ýœF5žÝœž¶ö3–÷è¶õKt÷å‡EÆ“"ծ͖t÷nŠHwo»îJ÷êÎn§UêÑ¥5«Ô5.Š‘³&m¶v‹jšU:ó÷6ŽÐ»zÇ<Ì›i­Hµ®Ð¯¥¢¼ÝÎêªLF¥õ•b™âaz½CßBÅIÅÊÙÍÚ–UZ1ö[Å›+ÒîiþžÛ­Ü¯iŸ~_ö Ýšw=E²4å~L«hU÷¤•jM+;’©×”ó:éeò ½È¦ç_nÞgQÍÌÒgƒ4¿Ýû”Z»¸C‡¥…W+ui¥æ+¡ïj¥XûoÚ7E»TC";YéÙÒN‹4‘jI³âk×0SoMf=ÑÎu“ÈFXãÓ¯‰¨‹“ßE¹ÓÜÜ«¡¼®Õ^Žo-׎.D¯. +*æñHÏ_ÓÂL[!æ.k6—­1+¯ÝÏêò¨Z†åÒEŸo¿Ë=®Ý_¶¥vEiö³òé¶Íê, ³ÊöèFO§;eiÔS^VG“iˤS¶¦VÂÜÔ4Óê•Hi‘v­lsÖÉ*ÓN3iÕiy†u“Dv3s­"Ÿ¾½3õ¶fmE•7­KL¿ŒÌjë;yGVô{R­O7‘ns^çzµ¶¿Î;¯Ä<3ÊÛyœ¢4Výf·¦Væ «°ïû"­teÒ¦‰4 OsUéëÇŠLí´öK*Cס•Õ·¾Je7K©ºFôISïtO–xfi¸5J™Vª¤D=ýÌ´rÍv^yµ“Êô9åisö_Ðìæ”ž}Vþ•?´EBýµ>HisÚã)©¢¯‰fŸ£ÄM²Í|¶GÊ/ÖХݘI6û­——C·xxT÷ÂÝ3³¹»^gsuãÖ­qiòöêÒöwµï¢Ò½ k‘Š–î„ghƒ[Jù½ÂÅJ§î’Õ´Ö켪ºS¹w)奎­f8«uªôRZáÔÝÒ}j·ICÝ]ŸwP3‰<»•»Kˆž»jÙo—é­dk÷X¿·¹Ô<-D»ÚÛ:æ\ÞiõAº¦qÕ~¢L«Y=zUi‰‰¸H¿ÿï*}/õjnm¯NâØ¢ŸeÓúPiñiçóï?¦ÙyVñN×QuhÑ䬼âbŸ¬=Ê»Ä:¥½¨pQ ïL‹¥y¶ŠO›òÍ7V\jŒvHh¶Ï§Õ$béêšy¶žÓU}~d5¼¬<$\Ú²RÒ¹L-J´\Sº$ ‘U]–¶WSWe£ÙÛ;êµU²Wªñè6¬³»Umû¦™qõ²Ž‹­Tgm•N˜ûQ4Õš´§™0 ŸE/ôq”£fŠt:xç}:õ¡}c†ä;¼–tÏŠ´ŽF ÿ5ôÚÞB…_Eû\µJeeU3Ò•3ªÅy&ͼ|¡ÑŠê.â-.îhQ-Š÷4íÌıî¢ü¨VÑv«ÞBuNyïéÍ+n–^w”C´‹RFZ;§3]U+M×E±É®læýÝoÏ7—݃íWŸVеg'ß"ޙ̴þ{í- óuyûNš/ËŸÔçQÏ0ó·Íuù<3Ö%UÚ’M]Õ mKUÇìº]*y_–µ:D—¦3%çg½‹;g£µCZ+>ÞËWF¿ë¼P¿£N<-¿Òè&„´D¥{‹–¦4ížÎÑMUÏÒ½¢TãebÍ´†eäÓZæ!êÎ.Yî õh4úöNÛÕ_=ñ>µÛ+ýœi­tslŸ–RRž“NiOkç›SO‰j }"gÝi[Ñ•YÓðEyõ7½¹…³ÞÑßU“y?þîGC“]–)®VY~V|ê]ž¯¨ôL‰…äÉT“¬sÑ €S‰CCш€:¦?w ’ÆÂÀ8Dy–‚Œ1€ cÀdˆŠ@êsˆ£¸Ú9˜Êxù!üÃrmVíÜ|[¹|¤º«sC*öezU:‡,‚ 󆡥±/P±÷ÿóà–Ü*j&Tã2«®¢Š±¯Ûõ·,hÇÀÖ7˜#{œ_\ Ž~Ú%Ìi¼Ék%Y«;?Õ­(z¯”RéCÜfà|Ài¯dgÄñ$Fc*15V‹å’‘0A«Ë&èe04Û™¿ªZ«ª7ÐyZ4/S Ô[¹È]ä¨iƫ̧+dXƒ~ ~¿ÝÆñTUºŽ©DØ j„z¨ï´8¦ð )#gõXE¦LÔv¬–Pè%“Ar)áÀ†Þ@Ð+,j–ÊýÀ†8H«>Ĉ͒ñH*µÃÞ8ÃAKhe<؆TL&_P.º·>Ú¦Øl``³Ž»Àtd2œ+¹dh¯è®/O}®:PWý ¾:TY +-æ &hó‘v]æ¹°ˆì~ +BÆãžµå‘l„piÖ¯„õIÚ?š*ä³(É^|@Æ&ަÝMµ¯ý1MF÷׬µ +7;¡&?›áŒðý†“÷6"wJ D¯©åÞ£D¡=)_4|o+ˆµ}Þ«SÄG=à ›¬¼×aZgn³-݆+‘«Ï"kŒ’©‚ï©Jý¬{j=ëÔô.å•}θ7¤qz +Éü«ê¨rãÁã{wàÒÊ7Ûê|¾EºÈ£—D)‘skg÷¯Ì«™!¸"5 ûÏaÍÄäÈ“’ !»uÎ…cG0Γ á¸Dcë6±ô-ÿ"ë>¶öãõ†ËÎÌ!-oÿ +’˜QbËÛ,1s?-þ B,Õ{±àœ7&}WIÕæ[z;úÅ—¡c:>×µ9`ã§EoóÈš8ðÃ3ªŽœcwÝÿ—hŸˆmÔ®Ò$^}µ*Ž™Ï=¦6n70¬•™B£L6ž6¢%7lú"Cˆæõ¢ç&j£!2{dSÒÔoOÝ#&õ@:o]•ÈG(K ó]¼¾ÕÚõÜ£ó:\”k+#n4{\—æ NÜzÚŸÞŒl¬6Sôþs‰FXæ îË7”A˜†HdÊ“ñ¤'§Cùh…~V2*ov¶‰{µ¥¤&³Ûz3ëÔ*ûϵ.“+KN¡*H:õRxÈ(Û)ÙrÌ™a‹%Åšb®ÖïYÀˆb­'SÀ[»jm)…¡_¨mR›o˜(´l#¡û´ÀéC€Ðsjî£Ü5¤£í›!C¸cäkÙeÖLð6z>ØËri§rV,ËiÙÕ›XAT‘ɘ¢þNÒÅt†Â M/.k;ŸÒC"EC>„ñ å?ÝØŽÜ[v¢,(uºp¹ˆîö†~®Ý„ª?0E ÕˆgC¨þ¾”R±Ó_ µèi˜Kð©’:(y ¬ýmgsĬSdéî¢ã«$ Dm2µò;:ÿziÇr]‹C¬Pk¶Ë½0å‘â…Óg ŸÎM\œäóÅG¨W3+èÖ‹¼žÞŠ)ìãc-½j_pJ…ò¬8˜(ïW;,¸ Cx‹I¤äVºGK\HS?ú˜`51ÏVël‹ObiǵþÂ(ú¸ï6µt¶.GphbKÓ —Õr3 +/?Ó'½|¼œ—IëZ{ƒlE qÞ× f‘­ŽÌ9ÌŠtÕŠmIć˼úz0Ë”SrÈ K)›ò¡å]ȉƪÂ@G¤^>¢‰N²R^iü¦‹añ¤ÑBJ)˜ä’œ²« ^†@Õ~¸áöRÖL×Ç1Hc-ӓ)0O²s DÄ*(#ÅÝËðz)f²Áö= üæ¢C_ñǃûï]ʆø¬qGDü‹h;ø“kn”(¹áá«T ZކðŠæ÷ô¾is¥ªüž79 +4ÆUï쇬àd +ÆÁí­ 5ÈdÈ~RJ~vÜJ~èY-Ü{j°czrþÅ\ +oFrÁ`>þƒ‘öæ[T[Cs¤M–àrÿ0ØÓc{ÊdÎÙ,OîÁbDcJÑãå53‚‹ª\’šrOæšíµ¯í«Wä¬a\*ÿ—z[èÛŠ~§Ù{ÅÇjdÁ6€ 9ÚUçƒ1#.YÝæ’ý•‡Ò¸-êEûµ_D…ÑÔ~Ñ1!V%Þ WÓc6¤„¥=ÄÜÄ9zSã&1ûeuè°H‘gÔ¸UÖâEë W‰ àò€h¦ÁzQ½GeCp +Œ@ªºle1¡=HÝÌ3‘”bÝMž¢6 ¤CÊr°³„©ßø_޾¶›‰OŽr{Úûõѽá>ÔÖfëÍÕ—ð;úŒÄù«Ý2ÿÔO«rkŸp4Yêá».)T@[î8#å/ýf¨æj÷'žR OLK¢Ál”æKaî²ÈÄ_˜ Gs£Âðæ™-†¥fÓkà¾å<5Ä,Ýr\ò܋ƚe°c1§c²·¼E/~!**xë7{[c¢-]〷¢îÓÆ ¨‰—º»‡-Vv«Êºx0Tc¹<9´„ŸòCw_§Éîàè5G•J¢vö#âŽò˜â5ùN%y´„mpÐñâ«RÏ6“4úD ˜×²—¬@WžçÛ;- ‰ûm«[«ëÖlãÙ±ØõŒ‹ÇIhÆ[¶0•2–ÆçÑèÈwA£˜Bž‘˜‡V[:¢Ë¥°#ãóñI“TÉÏ#.­ +ÅIõEǯ'8 µÒF{ä‹Y.…F¦VÄçQŒG¿uP3»ç¶j2ºä¨±šòö£K4ƒs°‰Ìñp "¥…¤nBÐ}&âp+;~•—ÆF„„V+¡­Ô¼Ü®sÖw^I$ßFD™ƒ"˜ÄìO‡ƒš"€’A¦LwD¯¥Â棇¯Ö¶¢ŠÉ)’‹%È©Ðt—¥ÀE„tŠNJŸ›SJõ +« +æ‘€ÊED·§¹´Ýƒ¤Wú#šƒ—yÛõføOÛ‹ä›äŸtÜñÞñ1µ\OµŽÄÃÓ•yVZÕ3Wi©vèÉ»ƒ˜eh¼[ÅšU®¡’Ý^äí'’¶OÐk ˳¡ÞG" ðªFUŠ7‹y—£7WQÉùõdKŽcnâÁ#DÿÏ1iì‚5ñdÌ•ù-@ÒÉ‘¡è¸øé–ù3SvÒÁQŸ<ä•ÍŽ–"¸ 9jÄw¿ÈfNæKNt]NžÓ“÷û’ÃQ{üÑÜDÁ­Ü\÷[rÖ()ï5¯:âS4NO5µH© Øt®Ãy\ëæØqùùu>I‰¶¡\á¢D\×Á¥µ»9içøW ™{ûrÄF­ñ§çÅ͘ötj8/±Š hîD£ÀXØo¼,Ôä•yò wŠþ'~кàj0Wåwîš:ÕÉK¤y9z‘ã`~•»#ç媚éh¹]á]œ G&Ê eH Ù¦"bÀ9Ûœmé˜2  Qø ¶^«õ‹‡,ë{LÊ[ø2Åû°!ç›éÞWÑoØŒ«GÎJKÜç*eTU}-?]¡º +!Î4¦~h¢@]ë i™nÁø[rPAª(õf÷ˆïfCÈ›¡õ’:H݉4 áÑæ¥ÜÔÎ]´3œ§Fg¬˜8¸‡R{iâ¢La» L%3/ŸQÆÕž^p˜ÖÉðP`ϤҜÆxÀvè/½Bà6ŒàÄjfSóülhª¬tOàŒ4ÅLíbžbô°´ìÆPÐî.C_ Aÿ‰GçO+Bÿ"Èxo J´„9?EfYÑ„ÇGðÖ…¿s‹9£}½nCAὨbV…ÏÛ½(™}pI6 +b4,x‡ ç‰êY†ÄÉVSZ§$£»Ë:\âZ¨g6Õ . {…†>!JÉi¸w‚G<ü:¨—R¥I b" ö¼}ØB }+?ƒvJÍ"Žâ?Ü /¸™^oÁˆËŠ-îaŠíäy±làµA}ÜÄ»XÄß˃Ç6è ýV{ÈFþÙÀªÑ”U‚Åk™Õʧwܾî%¾êåüÉTÂ|¹BTRémÕÚÓè¯s’ _M5ÓgY(€ +âq‹é;É›–·oŒ,þã¨äUvH¢ñÞt­H"ÍóÂââO´34h*Ç+ß³r9#3JÛ«GÑÒ¦¸y: I¤² x˜–Ê.%t¯H:w ‘Œ„!P0©ÏÓ‘EdÈÝÜ19*ŠdÜ‘˜9Eà¦6ÏK¿PÐÉQL¾Èño>~ŠhRgl‹…½G¥ƒØ:Ä&´d»š <’¼^×Ä¡«Èˆ™Ñ¼DêˆD’Óhµ#$ø˜×S•=ܱÙ=j_F/«R”–$Ðâ}þüìï˜}´q04‰dhoW)„ÄÓ>1vo”1b¦’ê`1ÿŸìñ7àGAP Þ‡7‚e=·§æ~bD祵Ñ?)­A‚Gez•<–l^Ýæ,áYÄÍ/¹'œ£Ýgñ\ZÛ„ã*ãq àØ«´¸´?Ûnáóò +ûcÓ€–„N9Ñ„€c¥,ÔrZ‹AÁ À·‰x®}ÔI&|`¶øê\Žr)IàÉâàP³Ç0–>qP%Y*=ÿ‚@"äv"”5.ï R{] ?&ÜùBýç ÝË\¢ü»”ðp…-­vƒkgrÏÔJ˜û)…Yƒ + ˆ“Aëû4³ÒH|›ƒŒ# +!”N$üÅpžÎöÅVük¤ªZñÑtr3¡Øœöø ïÔM—rp(¥­ä²tûÙÉrÕÜ|€@ô£èGkFìÓ7à3ð…rþP™8ç•D¡dш£ÌÏHÏ¿œu—`Þþ¶òÁBMê4V:‡nh/oslÜ!–¯mÙçŒÍÂÉk¿5 =ŸPRàoyllW¢é›™X¯¹صÁ¹ù%²¯%ÝËÔ’ãÞz oH ðàB®†2Ú)â‰ejæwIlÇ›‡¯ÊŒV;ÛðhQ\^Ž—*½ÝËë{zWI¯„«Nñ%° €‰í…Bò{=n88ô` +Q4È4€ÿþÑ~õ›èNÔÌbsÚ¨øשL’ã5—×Ú–í߃¶; A4Ë]€Ï +.üˆ8º¿ Š>VjTåxr\Õ kÐÌŠ§…µo.ÛH‚7Òžzˆð›€_âó7©f FÑ¢0â¯H˜hˆ«e“ b2ààì>(d Î«]¡áÙy0Qî’'†£hs´u½¡¯ˆÛœð‘lL(6–ö–q·ü 'x^dÏ#~ ®$í¾äFxÑלrÆú\™fH'\‘ɱ_gg°¯.{² ¦Ñò`ð›’âj$¡F"ýYª¶ì”Ÿ} Ž‰Ú°·¬iÎóB§v±N ‚©.½ÚT_Gw`2‰*ÛwˆþÌÞ®;¸‚¸É`»zp|Š;ºÓv“Ðv¡î×™±\šJ4ÿ¾wÔD2%Onƒ¼‚miú,è 9R¹7b8â1²$(SâÑݬ¾‹Qk(ZŒPA}ôù¼“ˆRŠN_cÙ.bß:vËÕçE¦ÜS†‹DðUÕÝÙÙ{Ø'ÃP¨ýöÞ±´Ó«B¸B7 +?*å+/Ó ?‘[Û;Úµ ëD"OroO¦ØpiÏéO„õ{r£Ï¬¬—`-*+`OâódI˜Žo˜’ì€gI"ûžŸ„3/[ŠK y+^(ÖiL&§¢ݨÛ Öë+½Ö)’9“õ”© Ïb~Ëöýþ9‹^gG7“ÏØ1®€­•dÄh˜æÐ°¸^-ñù  ècêðòVØtß1\»8GçÈUÉÔŽ§è:ßÅÝ mfò`­îà A‚&bP€B{ÿ}RjPe(ƒBsêšÅ€¤†eRÍdŽ÷¡xbs/æØTàK ·oUÔ¦ë§Ò[ÜKô9rÈ>0ò’C‰ÛÏ»@%ûV+=`avô +`Ÿu WÅ—%.ÓÍS×\dq)–X|°].† 7m® +4á©n¡üèçÂN"—!æíÔªùHZùF¢"@>—Uõ%Õ‚Æß t›¼Ì§™·D-ÆiüZYYü޽ÔI5­90;L&ú(CBÒÑ1ÝHhšå4®‡~Ǿ'FÖ°Ï>5¾£Ù‘"ß_ŽÉËø¤üËŸ–RÆ!}5Ë] lëÔß{¡Z`]ŽÄ>[9 ›yQ‘€ë¹˜D¦¯.¬Dœê»jdaÞó|bÄ?ˆix«+ª#’œ”w”„8@n‰8$eµ–4¡3MyŒRš·Tµ“v½º6ÛUt»LƒV Çàmàl1 z§m±n§§z#3GŸµTìß:1úêK8­9Ú{ÿàx-‡èRÓ‚´ò UMý¿Z˜U;«–­€š<ŒÅû†6‡`yK¦óœ%ÏÖCŸîKyÚÚ6Êt×ÃílfæFæç³ºj”Ÿ +áHjÀ3\ëб(}@.%!Øbû.*B „IV¡:vÈŵÑèþÔå +á Ž@Ò×|NÍת ~LeÅOòa‹âE9°×“Íc\g–óH[™xé¡wâÁ„°"%^SîìÊéÓªáÚ|ó-¨rÒ0Œ¨S±Z,G#m”´{­ }Í´Ì%(½y, +ÿÈEti;ýå}…^H-Žö‹Œª8×`§Ž·*AÊ&LÔfŒ)šmY6Ñ´ðx£µÉU!(ºªKã™—åkše¯ÈXšZ +ŸóÝÔɇ~ý£¹2Y&³ó½T ƒJ䥂‰¸Öt 9×xuƒ$B«c"ºù:ÏYT×+ÏC$ë˜ò¬‹ÅêFÙXæ•máÒ26|"þ•(' ±ô;38Oõ—ˆÕÒM€„Éî8»Q´ÝH±[šŠ†tfj6>·R£$çI$ÙAá~g@ßÖÅ££Gí%³hðÙâ_'NäMü.FðálÅÚ+)_®Ûœ¤‰ÑÖeƒmÓŸÙ¦”y⻢ !«ðMšÒ9ÆUQ˜pº +D^þ:•*UZ lë8M (ü ãM†uI±/OƒqvU¤!BÃE±&‹VáM>fÐÒ$Måd;×úF»fbacãC_t¬²ÊfBC$ô¢5-YÇ'ËE I:vºŒÿ2¾psyî}u9ò›ù†çÂqµå ,qRc59ñfO­ˆ1ë›6y3–§¢é…æA1m¡es†l +­çï]Úƒý?·…AdÞÙÄÓïÙA½éƒ-8ÒkíO‡ÂWîÈfŠñƒÒ •4õ–âM$®¡Í’¶wíô‘ÿfpÕ‚v‚~µg0¨ž‡Zøç×0Ót©ŒÃEüàCBõñLX’ÒþÉQP’ +ÝŒd8Öè…éàÖõ÷¯¨¢Ž²”êú2%QÉ>LÀMŸ„_Œð”}×TZ¼=u¬XX¨oA§ô ŒööVŠ^(A9S~ ¸Ì–)ü6É"cÎc)XHÇÝ·i²W“>ŽO^Æ ¤)=‘I“A¾ß‰Oƒ´ùŒG³ÂÌ7WàùïÏÀ*³ ÜEé#È$ß |ùˆZ!~}år1° +—G;êQçY¹/°ÙY¡ÊòÁî8îRšº—c%Šè?i>ÈZýš껾ç­â•Ž»Pö<Ðêc˵©ÎŽŠë+^Ôëž(„¹„J…U|Ì#}­*¹Ó›Ø +þF\8ZÑ¢eù?è€S&Ó‚u'~oD“á-t Á|»zYÄB8ñHÃ^‘mP#Ñ× FÛg›ÐY³Ñ¤N2nH˜I-wPro”¦ý“$®CCkÍ›: ·ÄëЋ„|60›’Á‡€óêö!™PBÇNdäER7ÚÆô1MÖþFU,‘Ó@ˆQ[J`‰vÈ\E•ˆ.xõj¦6R@CN^ß\ÈèÞMin|,RßÞh˜Ç䔽|VSšaªÙ5m;úXO£¥[ízW‡Õk-—éf¦î± C÷%E«8¨ÔW"R¿Ìp }C +…Dœ‘´*³^OœŠâÚ}–¼½tçèn<„÷nŸ¦Û!œÈ.ÉPMóÜzR—ÿC¯. +,Z"-‡2J…/J XF-fÄó\Q󘋔%B-wL×öHiúÈ2â3e&È)—rüË’ËÆ½RY?9FèŸâpº^¢ôjóhÑô»-cÚXŠg?ÔªÅîëWï©H‘µ®×õÒ£ÜOÃ[ iÁ«Ÿh²'ß‚W +Q"º……Ÿxg´v\(S-‚NÞØ´³M㸒ÈôÒ±Erì÷s‰eðàBÎDCîȶ)O¥èvó¯pÕ xèÓ¹*°ÿÌ‘¡E€É(ù£rõ0ÿŸç·pk–*øÊä3u$€jQô¥±TJÊ!àÉ&½€îÜ{Á±øŒä4Ù_{±Ìåáh‡Û×ÇIÒÛbûh'FÃÏq\Æ©` ÊdÙàŒpE +D“ÚyèÏxå>F®j¢tE.M_Ô´i«R$Îé”þ¾%âˆ2Ù üµŠfàÁ‡k€¤¸¸Æ=`b“ãØ¬ù„åÄ¿´ñU¥^e’mP'U^´j5üäzG¡ÅK ü°šàK‘äfÛå!æg¶Q«ò¨ y[Ï8¶£ÛX¼¸(m®`‹­#cW òSÃ܃Ew>ˆpÐ&ÂÊ„TøØ=ЬÙ3Öê\Ôš4·› ͤ¦#®¾hÙñëMŠ-“C6Îý= ^ï¬û‰w^ꮩÐ(—¶†&9p‚sóÔºž£‹X$\÷ͤ|¸èA>2­[ë§$‡ß*~ásâ bsò++nîoݧu0¨ 9Î-à‚A¨jŸâ¶PÚA ®ÔÜÜ`?ÝË(®wÄÏ@VÆ&ÎÁö&XäÓÎ ׈"bÉÏ6A‡)îGõ™žóÒÌní^!à*Ž(>kP="µóïNhÞË©µ^è÷?Ì¿.€E¯NöûèEË@e­òHƒ /€rªIŠ ëèzšxoVç‚Ír3«¸è¥Â®ÒѢɪýYg¹yØxÌHØá_íñûѾKÍkÞ%ò±ÌUÇÏø÷ǤÊï)Ÿèñovz|+L´‚e²£>,«Õíjyg:­ÕqÐ…>Ü#˜¾>ø έ½…u "8¦RëU¯uwšãÙ‹RAï¶ÃÂ`î`…¥¿t6J§¥+±ÆjbQüÌÒn](Ãi`DÐ×Ê Ø..[sðñ|ç‘ œà"ÕCÐ×ENjeeo@nAÞÀ“Ø× ‰µã +Ô‡·Åb¤Í™®Áí-àZzžü;ç7™k0ÅÁ•õKdãbÀdÕUn{=Xµ˜ªbäG8¨XKH1 +U™„°”ʃjDob{ÊÞ¡\x­#bú‡ëês(<¨¾Ô´´æ°Ñ~#º7iï¶"Ðg¥W:<Å`5½~ó FaV1ËY†²2Äk“dŠ]–s’…/´,Ã騖ÆZQ2ê‘ÀûåG ÔóJ÷ØÛBcÒ'ŽÙçøáëŒø€¢½/:·È ¾&ŽDHŒ¨lYѹ¿ˆÈ™ˆœÉpJ’kËÎ֚ы¥ƒ1]Ï•aRž¿5¾¨Kª ²g…£ ÛkµH4påRÏÉ›e Ç +†è¤¬+èIN]3e¨žb¥ÔÌ´þ®BÖÍ)dçpš°ý¡<4{dz`>S +ƒË-u ¨Ê:³ÐX_ò…;®SI;Î6¨oA±®0Ý8ïË,3Z£·ª=¡ gªÊ´šµf +P’–5zºøedðŒÚsEÂ`5ˆóhJ—«q3n Àº,K»öu¬󋂃[5]#[AÅÿD-Òb;ûödì@;†.ž`’W¯ +Jýˆ‰¸¯äÓ´´FÖ +BÁÝàç:ÉÕDJÙ÷Ýö­y†£_øàÞž{„!½xÄ}µa‚ñahû@´¬½‹¥¦¹‹^>x¤£)¸ÔY,ÄÉE+°‹-}Zr„h ÖÑ; _”-`7Ú(²ç6µÑ·‘J¯q¯¡‘<$™™—À°ÄñÐ8Õö7Ú„ÿ"1¦–Í…l,ÇXHš‚ÊñǪ?5”ïCýÜ$ç˜×:¿¹4«•øv‰ÔË_Ø’¶ÌUÓ¢q¥’rê¨âÔ"5Ç-RO}[t¾«þöÔÙ|¶­0ÇP*=el'‰×Bl0zl*ÍåÓ µ#µíÂvÈ"4“…–ÿ©ZÂŒjönJ@1€äÇ{yY<^¿'gØöSÞM-‰@æ)?iï¡ÞÌï}4˜D#'̹j›S§ +A¢étÂÎÇ#“Ý\Mƒ­þ\—IÒ¯Êʬ|.´-¾·ÔÙ‡7£òlM#EJzªÞò+2éS¸M™™%k½Û…ÑùdÖ+*Yv6XJ8ΪdÏÆ“ gzo3á’š ÔŒ¿ŸšÊǯۣg%Hª²>ÄѺ¾5"Fÿ ¬&ãˆT°FŒÔ}ÆŽÒCUÁåf&Y y#¡9—žE“(RM}ãb6áÞÃ+Ù¤Pkn¤Ò½Úcu1±Äã8nÎ÷Æu=LĹ‚jKõÙA!8ÂbíãT_oàZ¢Ï‹0å$¶Ìýø/ý_wÚµíu¸7ÑÈž÷ùS00XÅß°ëÊê­L°œü”§J <9¡ÙÔïÞ¡€æáâÃýhòë;ó7NìÖ”/!†¦OÔs&œ>=äÊÊ rÌÆViÞïÑ9bܬb®æP'èqŽ0É.ù+Œ:!\ÇÚ ›Š> c³ß0Óq›ÙDW!§WR!Æ.þïþò)Æ$^e(*’Æ£)ե߲‡"Ìòf/G‹2ïDq6 d>øërI\$[*aÀÉJP™Õ(Â.©:åkIß×"¾4ÌX!uŒ")Äp‡èâOzôèA‘¦’®ˆ pùcšÊ«³« Ö‰yS!1õt_°ùèµ`nçÕº¨d}þ’€%4è²JG㙇óŽ ô8ýÙsŽøÊu +endstream endobj 20 0 obj <>stream +š05¥J¥ÔP×Á@¬F‹ý‘,4I_Ì]›þóÆŒ»ÃFºf<ÏŽ™š¦‚óT=d„ è¼J” ¢~ÓÈN´šl†_dHÛÛ.gkM“ž”ÂÖc*[þÄ‹PšXHí£‡T‚V¿Á»%6Ê +ò«ûÛð%n^8YV5x•)ÜýZ°Tm°ðA˜g9Û¢ÈÛ^]š{ŒÚeÛÏ–° âþ‰ñc“ÿó&xŸß'Ã’z@¿¨[VaoRje¿¶ºc)Y4 &I!¥UZTÍJªWâ’$ÖÕíQd– ü@b6ID0Rx\©£ú}ølÿÕÁ\I)5uêŸEI”ÈA@Ðís³›T–PºÈ=ô¸Á‚°1„›sz~j¹‹Î¶a¹H¼îÒ53,èvÌøE:®šµa€>ßü3¡€ZÞTË$W¤?tÐ +˧–eŸÐPÒ§N›Ù;t¤‹p/z†¨XÕvŠ÷ŒqzÓæ/“L0ZÁo:8ɪ3‰•_Þ¬%ú‚÷ÔÕ?BÎÏX<õ–¬Ž†kmž2ì˜ÖkËl0Û>CkbÆ+QwB?v“o€=½æ—÷Š»㉊\<„‚«çÚn·á"¢~ç׈`@ŒHóãµ$Iu›6ê°¹¢” ëì^–ȯÈòëe*M2œ[#·ßÕÕ(g/`ƈèæó¬v» Å•Ð=ö-Z¸+~ˆ´4ØàƒÃ䆧¸ã­én·V° ¡KHÇ'»™‡ê1ÖÊe[¡’bÜôîCàvua¦°ú°<¡‘¾â„å,–Œ‡KŒó{×üÞ(‘“ËErìa‚ +’]rÄ\óÊüF;´ùKÞ-™‚è"êÕ½&m,1!ÒÅÀ9g•:2®ýTz«…võK~‹9±=ÅÕl-öb²âB×ÉÑzצ&ŒÊ[bTŒÞ»Ù!ë•öòË„vã?@2øØÆ;Å«q"AÅ3)61Âxi,–‹ 76Ç {{@9Ì_¢™•ŒÓ¤¶ae'Cí³"‡û¦Œcšša…¸É¡M<1IœîE0AY¥º¯¦œ_qÐl‚ÕÍ:ÔÒ¥d¹·nÂL+¥ÕÒšølšÔL“eìLݾ.(YMæD°Ìïã’Y®ÈÓ4Q7AJJÀ'Mø° +è[(†túcÓ­W½E“Žñ T&5sŽAÔ(ð†C\®Þ¸|ª¬6åAgSà·DмÔOM3æ ÇtB¾Ìü·Y&ÍÝÔ ½¤’°QÂx„Æ %n$t $ÉYP¦øƒ0:ñöЉyA.Н¸EúqIG'Ü%fÒmf7$Û ÝO6ŒÊÓýÖ1;ÒÑW Çf©·—“q)6".KCüi·ØJT:BóhÑ ±Yc ôŽœº7î±R,Ž!I¶\ÓAÞ³‹Ø-=z tá¹#¼n„8ƒ”rü +zß’±‘‘Ž$øáXB€´‡?°R™ÚcºR;¤õ€uªk²¬ãÏHre¦ì`犄bÞéõˆ¤»ÜÀÂNJÓB¥­š…£.q©ÈjÙŽ¿XBV7Ñx˜gÄ‹„±cSÕ+ssêwµæ@ÔF¿\—RÆyL‹yüt¸n‚H•¯³‹3øX—w ±Ñ¯Êd\®Î˜}qvfò´ ÒaZP ©Œ~r†fcæOÚ>õa+òîyÕŒBç7;M]dÿð›¢>W8&@ûs¬‘¬°³ÊÙdqq°Ä&ÄÅ_&±R9V8YùL|þ½7‹9áe(S¬h#$êã×ö§htЬ­·¯†œbfü–›»÷×k¤ƒPfNå ýéÓlÍóñ +| W+×Þиmtã!Ü,ô@£UT´æ©†su G`+“&MëKL^'Ñ”Î=y¯sƒ@7 ˆµ˜òY¦¤W]©µ6¼Km)J4~Z·Ûµ& )“2 ã·p$΋\»Öî|¬®Þ“7„XKR?#Ƀ&2«…-bäâÎö%ÑœI(2±ÆEæ1Â艦O½®¢¥¥]êÔ€8±œŽ!Š\m†Œ®¡–¸“hÙ”ï3›€%Ô3y3;v“øbž3%QÕM’õä‹FxVPG2J^±çñ†Ÿ*Ê8±Å9Ù£D4ö*‘ëe‰®É”B5¾@BºÒÄ i”ìoûo¡pp&$»ýVimí$€±@& ÅÒ£\â'6 sHÛg5meÙ©Ó…‡ÕçvJó,”É”;eØßÄ~f.¶O*F”îyâ "BæCJ ž_Ì7Yª„«Ô$b”PU +rä,ù–V†úÿIÓ|Kaàå¦/ÚûóÆáþ…”Œ[TTy¡h¸q¢Œ$"ÜUá«m$Ä®¡^'‹áô¸;Yj3‡ç£¸åΉCU)zHG°„ÅÒ–™¦½(áÞÏר®`­2÷rP1Õ#ìM ‡&±ˆù±JŠ®$n_ˆZLYc™²ßrâ9fêè9;BÏ ˜òF üí·Ò0~0Å×›QQíc8 I(k#ÜJà +ÍÿÊf\íý‰Uò¸=‘dBhÁÐ +Ñwò¯ZWò¼RøQâ±BÐ ¨$Bªá  );s°7AöaƸÚÕ©‚;°±€rRì[~@8Š)×è7I ÛÊ”2ˆ–S ßÄ`BªgNr +°¿šÂ õÞâõŸþÍЊ »ªô@èÎd£’€K>Lòc-¹ ø÷ç¯êöÌĽæÇ„犃D»Ñ¹pdÊǰ•6’Ôñ ¾å–oò87¿~ˆØáóß3dŸ vùÕã³g”pª~ˆr葇r5… (a +‡Ëvé0:Ì +Ì»„yzsýgÑTš vÊÄ[þT„gз˜”¯÷¸SyóO…­ÑaQY¿™ðâµ—¹è²)ÅÙåCYâ›@U«È+KÂÀ´Û-,JÝ)wäÍÑ.½þISÏ6²l~g1qAŒŽ+Úëdz‘Nó9cjwí?ç-ñ£Jt¦~I’È ú iQI¨…¼d?-Í­žíp‡M†æÖÇ 58"—íæ5.*îëK(#µ:Øcá½W%F rµLÔÏ—„?ªØ :5‚ð,ЉŒMô±YðÈ%5_Ãå;ŒýXö/ýø† ôëÓ”³ä›×ì}º +èq¶ '6ºØðMÄØ½ÂêŸL†@ePJ¡MdŒ6PÞ°ù¼°MnèVäŽ4ˆKáÄÿJ4¢ Åö›‚|ã¸Ñ]´7f‹ù88œqÄÅF¿Cb¾Â4œ¡©I•=<58œ°Ãj‰æ¸o}|_ƒH{®_š  jÑ–Ð-¸zE¥í#ý`ð»,+܇@"÷x‚4ª%7žYíÉ: ì·&Ûä澡Ù…n¡›è ž•^,:¯Â—&èú »Ih§<®E8\9zˆ?³í•6M‘pv¹w¹SÄþEžÊ‚¦råÈF)à&”Ä¢D±Â1gÖ¡®æ$8ãîqGìÇ]=×#< F,Q ÄM|â$`»5æ”wC4„™!ì#À~~Ôq7"®¨g=ŒZßc}"V< ‹D€*ô ó4ÇöêÕT1f—õªu@Íý3ÖÌ—T¾‰âgBÂ{9çLæo§˜'¼`…WÊ$·ÐA¡f3FDÏ·o£FšLkiVTäÏu Œ­¶¼¦m”©:ƒ¸—öÖeIâ6üË«ƒô>ïôÜ,ÃÌnÞ‘ÉYå»FpVõ-*rš7)¦©=Üù»ÖêšÝo ±l÷K'¸ì„^·œCæe–xý€€Å,„´Cö[ŒÑ¯?dÍ<±×Þùh³å"µqƒÈøçìDl7ÿKC£L‚ïÊÔ‚ƒî“‡êiýý‰<š,ÍV97Yn™¤¶¥—ÞÃBlEÁJáͪ(,߃¶×Œ33>¼T&e¸@öò)ËI"óýÚsÝhW9ÕN¿G‰Ï F¦T‰~äð¿½%r6k躈ÌöÓUR–qº¾éï%ö¡»À¾E_ˆüb4Ù°÷{ã¾ù‚a½ê:ûç Œ;±´Žl¢CŠBªô´ÿR²œ vjh 69møÚ«h ž ã&z&¹~ãÇ“¹)²“À€7­¶÷òAuײÒùv;p…î†<Àç°JzR5µÂì*—F‹™;ˆËHBå­„:“;%؉%‘aDÒjÈ5–ŵ2ñÞÜ¢ ôŠ’Ð»/‰)dˆ~ +\tö,£Å_?ª3•'Ú(›[ƒl¼n•ÆsñÍ<³UM§œä¥i1µé¸6+0Ö?ÓBš3ÍȰKÉÎ +IÈôyÒAaJ³¦²Á¦ê¡4û_¾¬|5c?×û«úNpA=ÑÐeüâ†Cº¾8VM6C6(쇕˒¬+æ+ü$—øQ©pSewóÃF‰S´)¤’­›Z‚)D\]nÊQ±”" +„ˆ¢åΘ•˜1æ…µ»Û ++fq0w—ËcV—Õ&d#âH$øŽ2*„ÜøvÉ&õ*¹{ö}ïKÍcÁ6”š¿Á€(°*ádÔ}(p¸s30!­áÎ1±¶~‹úJ7 + *J‰¤”°»åA—‘vÀÎd±÷µmWí8Pr.”TÖ6Wò +æ¶Lò{g±ë 1IÖkKëY’õs¤pï5ÏØ––FåÏçÒíÿ~Ý3]«—'ÿÆy&ZJ:ç×yíá|‚ë2Æä{1aquIyì€v°¤×߬'´A{ƒ5,ÙßÚ:¿-8ÆRË´×Ðã ¹±îºÛí@ü­#Ça‹éÆŒsé„ôÒ¡·VÒ}ÂŒ×ÑAö^¢¥çm¿º{ó@Ú£áiµY&{!gåÃYòÛZ†P—nê=y|ißEü»^óèOc"Èêû¸‰°2sR鉶±5íê¼G¿. £ë(_4Dw9_ËæsKËMíG\ë*tæu¸Òz^¯­=}½•ë€`6hÖ4­(Ñáɪ^ÇV4—Ì»î™Ù‚K'ýñêXе7³@C4pVìh‹g%¦È+=ÎsÃ?€ #1±9‹¡xÂ)§q¬ºa§ËsíŸf‹i\ž—,[kO Aˆj:†´åΈ%dy“þ`¾Š :ž›ËøsøµFýKƒºéæ[)‰5ˆÓJ¦™…õ¤†ä-€DçñdŸûîžE9ð“wíKœ7æ˜ +™/²:ø†°õ">Jì…ª‹®?¬E-3Xë­–<ÓS¢*JůóÅpt{PQŸ¹!Ib‰‚_ùÑDØ@¨²TlEÍžªüo^«:بþq ¦¢½†ÂD–>IÓó K6ÕG ?äÿùÈ!-ßõå5l‡gþ* ^½Âkš#ѨAW¦·nÃ8Ï]%@s ƃ´Ê•k¶ÍÖ }ß_`èÇØŸCˆÙTÐŽ%ä±rU¸¼Y)žù¨bòTÈœX‡j£ÛüOç>LУ4atOŒaEЛ0^"á‘TõñPš(°©¿k(®(×Y,&Ø~{ƒeMà d¯‚š0 æ7ì¦7fPŠ…CË/àdû+¼Ð­ËLQËêѱ¡d¥ÉcÒJõä‹Ü)lW—7s§=)Àj/Jà>}ç½GЈ$q•Ê\¡ú&¹ÄÁÇbÅ ¤ím©’¡(ôY¿“ÔGƧ¯1rú¸7°d—¥¾0ˆYÝá§C€ÓO.sNØö ŸLÂ0fŸre_jþlŽ|ñóI͘¥Þ­^ø»àã S¥äHÈÌúÙ%óbU¿¸[‹hÁÚù¦5c¿púv°,çYá­#!»¿$†c–E¨Lϸ°[FX‰};3 +6‚ÌgEÖÖ´ÌEp´Ô)'¥˜À^n,zbûÙ5ý†ÍÄŽsS,혞¶Å¦<@œ^ u~r`/A |œÛxšdÔéõ©èæ!Ìoy~1G5”¥•>wŸ¾ó¦:s"E9³{(<$šË(Å4eNmƒKÒb¦Šwœÿ…¢äÊx¥Ũ +æ«k;¤ ƒCùj4Džï1Õ“ÓBÎí;JÅ p”¢èôϤ9KXï`]76*|¥з"!ÞÂ38bÏwnj#~Ñ}ZjàÄd²\TY¸ùòfQû ¶r7éˆu|-ËU3·ñ”·EpÂ:VÔ¸ú‡yöp{?•B÷&à7¯6¥Š$£»~ï»â@’kÓJK=°UÍt˜a—ݽR½o«WLÙeáD[im‚0H€çñ" IŠÿÏr?Ö[hg +™zãeK­2K +¯Œº:ƒ_ÔB`}™¹R|ó'ì#^Bþ}) \žŠ¿µM ª1“üŸ^9"ž|ˆN£ÁœOIòQUW0a%‚aIhˆxà< ůó,ÜÚö}¶¡ì«¨JÐ޾¶v0¥ék±ë©eïÓü¯›D݇‰ ž{ÿ˜ !N‹@ñÍ#ÔáiÞ7Íh9ÝeŠÚEr˜?â#©‰ê‡ÇoÁ'’È*‘B¬´@ìy+UìBãÒ°ù¯´¥ÇÉ‘íAk–p–§qLw.ÆdTnš©¥%iº¯*a»™Ÿ gÉÜþ=”É]À>›»l'ƒ½{®Æ +¦¡¹Ez³!¾X½EÀ÷¤8¹7_ÂÔ‘ÿZ y»QþFVÒö>Up€õZôÓhÝ2ÀofžËDZ|SçÆð;`_H1`u0·Ë[ñ†Èí2´e["ÑZÐz´Õ@Íù¬¾°|•þXZÓð@Ë(mdUæ•ÅXRÝ·xPêŹ É·4Ì2@¾\#ÜkG'¦Á¡^,Ĺø6ÆŠ”Ô#§lˆs@btO%Zñz,prK²ŠØQˆQ1DôíqZ¦›ž=‚¸ +žÏ¸w–p²G:lçE7·3Q$<¬M' +èïyÀͧ9åtÔyÕ©,wD?ü)2Yjoßå:Yõ”6˜1ͳ°úÏíÝcH¤/¥ù h¼ñÎ:uõm0"}›±ÿÈÏ‘jÇÚQ©ê¸á@\P¤ýÖ è)D0§ ϲˆŒêxKœ¯çðǦßDÞ­[ÁÁÊÖß"–ˆ¾Ç”ˆd¡"o3t!uÅs"úD¹%©°§ ÔG87(µãŽLö@E¬AÅy¤Æ*Ä¢ùŽ`úe-Úáé:× nuIÓ¨gÅ…Söã:_¹N™ÝqqÊÕ{§§{Ç·rEQFîŽ .动-rw\~)—Ë`#ûqýGvñ«Kì¼ÐK¹ð|££ríó×jʵl€é¸þ::âH ø©q…WÓlUM~Ç%7åŠ(*È\¡ì ª”·Ëâ_•‡ +ÍGaö8<óäT.| Û}†m +Àłâ~±ê¾·/¶`QåhDAŒ« + +O ²¼×Ä¿þ ÒÃ=Q¿õIK6¥Á`JÌ@ú¾MãŸ/ST-&ŸÀdˆªøi>m‘uiÕsô† 0 •ôE(Gü'³z8;Ö +[àÏVÿ”™¨ÌA4/ó‹ÌÁ:I}EMd;õŸk|D¼¶6°•"Ã!ðû€ðÁ¡è-n’W.o{ëñ¶MVŽò]» ·Êñ‚øüÿ·nW¯~kð‡Ð…®] à?tø±)˜¨Å4ü³?¶3q2tÉõ‚u U(îÑ|€ÝM㬄^‰‡TCYƒJY ×KI¥»SƒN >¢geÌ÷Ö^›_ÎéöÆô}Ø+ùd6饸Õ^-„+–RaL‘ëÖÈOT˜N…À1áSÕFĪÔJ†-Í|P\TVþ_Y;Š^бóÓF Ÿ›•f¯;7¦ŒÁÎ2‚ Ó(žÒm Ë…‰(¡)^p7ûm%¬ÜëÓåÑô” –6&^ +ì“ÅK=o8&é¸Ï#ç©([PØ$H¾:ž˜øŒ¦ëti&A•_ÙP;y=#¢ü5íÈ´”–$˜2£c§ÓÀïAÈîÑÖ¬Æ&ˆ0û”ƒxðh§Ö&·ü£nÐ#y¼À(·‘J?è”teыӄ Ï_É6ܹõ&fÑAù|„G*¿ [-8j¿Ó¿ Ä˜ùø™yF‹µI$þy ÑGÉ¥†RÇKmOtѸ4Cù]w‹÷rM5c¨FáK³€,È6&K˜Éݺð@Š!°¶A”Ža´†ï§å¨“·h¿“FN3oåHò ø¾SPÕ²Ð-~L€º‰(*Û®MïG· ÜWÑŒ™d¾ük»­\·.º ÞL˜u.Nö‘Øã°ønŽX“.ý¶sÅ^+dr¯âùã¿ÉC[œ J·ª<›IUjvQ;X”ÈBPÝ™ÓZæg„Ly=¦þ¸øØ¸{MˆŸ;Ù{5æÂ¹ YØÊЈ …ãpm&©œp îÞ_òòÈð¹n¸ð-jäî-~Zxí?þã.¯·Sà-ŠŠ¤6„Ë]N:TÚÉ¥VŒN‰jõñ3òIÃç=H£3ÏÖ¸€Tl<}`8†8]OOCÿº–*®ÿ‹ç„Ũ?þ°Oí’¿¸Öåfx!×`VÄØ«L‘Žg±ª`å2Dlg—Au®è"U4ÇÛƒjûÃdþ­<4p×U}6>ê瀵©‰Š´˜–-%ÁÈxs/Fšvh”ˆæÂísî¯;ùé,)èù{b„æÿá|3¼ÏÒ6k¦ÐZTøR8§…ð>ŽŒÕ/)þ0ŠþnØc,)Nì(Œú>Á’’¼Ü5½˜—Ôì¡®Ÿ°Þ¬©ü- (>q¹{Iµ%>´P²ƒÆI°¸ ßÌ)k£I ¤¢Üw ÊÿÆ +.¾ÃÊ¢¿—ƒ¹ïv{øÜïÿL1Æ©í yÕïÔÿ‹hçï{áÎæYÒâ¿õI}†IŠû¨Ã= x´#º2iDÛã1®±#Õp²ïdÝ™¾šâÀG0›ösdÙ^T®[Gÿa|˜˜”b>ï+ˆÜ0xŽ_¡Oæ?Iü»Ýçû„T1=Ko­»´a"XÜäR¡\쮌%?‚ AÕþå2þ¡‚#q‚"E¥àQG·Ìf_0Ö»Ã4†–q}½æ®É +ê«dÚ­òÚ V  ,ä¶«ºŸºúz#Øš# +f³ ²÷=.¹É“9HûÚ’Šë.÷Æ4ÃË«h’ÌTéÁk{µàÚ`Mþ¨½ºtôÐ\uþSw.×!WG5¹ù)‚XŽ±à¢„áj4˜¨~`•í}Ø}æ§qšhªNVï<ù÷!±SѤH'¡ð yŠÏ+ÓÝò̤…“yœ‹ &uùÁzêq‘"½ÜVó.Ë8MŠ'2ËÈw“èj MêÒyç3’Æ¤ÄæOûƒÿâùchR–­ÊÖ<áqJ?l—¹\ž +H1)Þ¿À_¯ÉuL꾬hÄiRÓ›(‘JÖ0¨àUOÇMn·l ¦²ŠÓ'Yæ,~‚ø`5‡M’y(êøÇVz…Ö–UÐëádÉ0[iæœò‘¿m¾Ü”šÌ…ä®Q¾æuc,øX«úxþ@ÔSOµ}ÉVx$vd¤^hZ¡DоÎ(ºRIø×r n@Lìç4?ÏL ê>o#Jõ"ùéªÂïUaèêuXæ:R/×<þÁ6!À.ºèÉþà Ò_‡j!,åJE î«îhÑ[4;¾Z¹¾º5Î ‰ÏcÑ^6)¸9qd"9M \aZD»_%I—Oו¼Rç,¥”)%™n©F§_'þîèa½ˆV׿ℳ4QUÆa¯f. "Q"¦xI ®ü¶" CE‘‚Ó²)"úŽŒŒ±˜`xªJ R#¨ˆ¥rCD˜(ï@‰N´eÌT|f~0ˆHCb¦6Jt6&´¢>Cø« '¹ÓÒ¬‹Kk1S§ªº»QŠ„,PŶX‹ÈŠ52â +[‹½PÔ§BBkèlˆ•ZÆ4Öëò¥­VB²¥K‘êí¢BÊ6 gšº|&TÊ’õAÁPC–d”b9S%â œ*Ê–bâ¿Î ´'|ÊÎaW2Z\\jÚ‡bl—¨M”øŸÀèl +$*1ðciÖn85.–Z ¹Vžt>µF¯h‡üà+-1ê Q‰î5P”‚èë¢á´BʉWB¼ êáõ4Þ¹ÁÉ2 ¢ð-tq# UéKSH%IBÕ†¦^«@P*¹Sà%´ËT'èáÈH0yýÕ@ìèW%’^šÚŠGVÂ@ÐF‚"šö´ í Åâ!@OÃCó/cxJ –pU‘QzBšð+ançt‹I*ö‚v]óçáDoJ„ÒÆ-a©¡ðgyÔü_2ÁR•!!E¸ˆ“સT°DƒaØJÁÓØélä=ËnRá"U\¨5>³zîL\Ü……‘•7‘nªo£†‘16ÏEŒTˆkþ±tÆÜÕ\VÁŠÎ·zýPÚ!¢QºÄÕ–£f^“±>/EE*,ö—£!¶Ù°‰–W;d!¾„Øá% `‘¡-QˆQ´$‹a¬h7HƒÊ6èaî7Ou<¡Ûñ„ÉåW7áh‘'k"AÃÍmò‚?­Ž# û!"HjHÂkÕÙêó6”©“D/I0º^¢†‚Péá(Zrj itdDÖ8¥Q(i D%ŠiQ0 :šz‰!SÁp4Ìs©‘`ê\Z>U4RÆÊ‹†Ý3ä ¥"qÆ8é¹ÔTØ‹¯…/„ãbj;òcµƒ]GMqßÛp”ä %#¢"&\Z˜Ì0‚¼ ˆuJû¢#Ô(LB…#äì%*†ê“@RÃ%¨ÄáRK„JLT&pÚ© j$\ku/|J±@ušÏƒ¢a´Ôk„˜±+ –Æ|cn|°w.ÆÔ<d¢\ÕT4Ðhx%Ct G!%3dª YFÄ&î0â™ùæîeö™ ÒÕ¡ RbñìDìe¨“÷œõuÌ'°$ÂANB̾Nˆê œ«[òI’˜“ì2AdFèšI,ÈÈÚ›df®ú¨ýf’4v* ”òľÜáýRã’!žeçÎXÑàËiò»Dv²ÈÔ¡ˆ9åpïÝäÝC Ë»ý­ + +a’šõƒ¡Þ;ªYTWo‘H„úÄh]îBÒ–'Š‹ˆkb +ÒFEh±+»QdPôTÁAAbJ’!FTí>Ä‹rÒ„â.Ÿ¼e•ƒz] Z GCó┃®ÕŽe™‡‡1%a/·Zι@ùù0«‘ ô‰¡rÀÀ¾:ò>pÈïpŸ‘R&ˆ’6Cm@ÖwQ%”¹˜ø AòçÖ@™H@w#ÀOqh'_<½²Ç‹+Т½=M½Á¤ñ5Ô®tx†qõEešsÒ)•e_S¤-HŒ>§¨¸CääÑäêÃcZÃñÁ\¢^nTǘåY.0†%%¥ +LŒ*>–'‡¢?­EÔŽHæ4¯´YíÁGÈ3´/€)!íAÉ×aÚbÕec5ŒÐЃªv1­ E¬ýE-¡ê¼°ÚƒÚ¥Ó³BQGCÛƒZT‹ö†eD»‰<—`šzý%«½¾¤½x©5ÚW$: “„‰Œ 5{ÈIâSRAf +»9†Îø¬Sãþÿ!áC3Ä{@´ì­Â"ÂuHÂÈž\!SpQ}&¸U3²åK%•ýÑZ/“=8±îá„Tލ¤è»·™`Ån¢Ð 1B¯E4Ë&$p1}/Ïe´#"7߃"W=ÁÁ¡„þ›°ïA·n$ôÐø|Pgïl£beûHjnúáÛùbÅÿ¡±·^…„R9°ƒŒ–“qFÙ€'\zgW£Rbý]pdž5G7ó¡¢0¯›âA4Åù0„¡‡…òoìâ º0„fê#Ü:+ ù'ÔU’'¼Š%í*äõ’Tƒ,Ê2T"4ïBí×»R‰©— L!eeŠÎœVÈwAv% …*Î"íKsâçóÂ"°ö¿Ä÷qŠÐý³NÔ¤*¤õ Ó¶€ŠèY›ËÅ‹Hô+øÆ.ò€€£§îàÄÝÆ4"£s©Ú$ yû0Òqˆð'T Õ@[é*‰cNÓd`Ô˜@%´GèxyNlà!kJ#ñŒ²IT§Ž‰MÑ4QCnLtœ+‡}–¶Q: S%éÌS/¦pŒä.Ó9GTQ;&•»Lçlp×£V7G­§Hy: +‡]º+ÔË’¨hÔo”CËömµè™™ÀBk´Ä,¿5;KÜ¡Ò?DÙà\*œ©~ŠÌg83n† úñ:]Ñ2ÙX ÖK ¥ˆÊjnŸ(mI§G„íFDÝg.ò &bä&;`Y¨*ü™6Mƒûç CÌ£‘)I¡jÓ )°¬9mPs¢£Š¸¨Ý€X"t˜®p°cHçNcµÔ§¤<§þõÓ§è:$¢•qWª5Y6$SÔ•§Ì+J(ÅÜS%n }Ä=¬¢Î3&¸:¿"f®*\µ%¢gîZx§0cÄA(d1BŒ¡¨ŽÅ%dVP¢«5HÉ{ÈNÍçí… ‘F*PŠÚì1%1 rJU2µº´b5Cž]H­ê-®!c±šðXj’á´ÄK±$®ŠÏ­vL³ÆÙô ? Ç„AªU„Uÿ  ?âU#ÞÂ7¼2.áçtY£t-«)£8 ‰ 2%öI5LFÜ+‡|A†ùNá!’Àï1ôÌú¡25†U•3"¥<ôÆÈ{yLÄé„{÷¹^‹‹ +›B£)!;ŠFí)Ü‹ŽP°G–ˆÛdìÆ3~ílÔRòKJ=ÇÝ·&» S0«Šugåý¼ÖÒÁñ.î g— ݃r-E­V"há'#|ëÔe›î3Õ Ñ‚KÃYùÀÎ¥Zq÷ף¡L¨xˆI¢d,›yU»™$Ö¬.Á„Lq9Æn +‘¼A;KF"&š¦#) ‘@ܪèá|$@su:»Â‰y_$çpò¬ª †çaÈ—#J°„hÕ’ÙËš£á"©´/$#žz"$2ILe$Í«¨ÿëAËHÔ2x"Ñ!w2+°ä ¹;MNåδHþaù(¿dSh®ÒrÿÞׄáªlˆÚÍ1ÒMÑŠˆDå@Jî7¯šŸêA—[a® +×T«ÐU#˜n\ÀDŠ¤Ô–ë(8Â?ÿ0'™ÍÎ(H"$D8­g¶Ê^U¤iÛS0ÍgTì6šU¨™ªÛÁCÓú¬kf†{Ó¯NŠ…#13.…5vÌ„üãØ^;5P&°5øÒC©¹Kö S §æpQužq' ó‡ +’¡ +B/‘ð‘˜l9õ|‚;C›‘þ"§.ÄU1\Æ?m³Ÿ^|"ÎÓók‰bŽsëÅj#‚n4,D=‘Ù Dš°ŸPÓYŒdêØDuu +±©Aî‘z{n´éG¥d8>Ä/“Lö¡rß[Då= Ä»„Sy™/á—¡F< µ4†Š«¼ì0#ÄFí¯+ÑÓ~yõ;¥!T¯‰¬½¦5‘èCû µ*â-¨[xQ:yΙ‡èX‚¡.ül݃Íô¤°Ḛû%d6÷ †všr¹·jnÛi”Abfô,(B¿ÉK±Ï_ ¼Tm´*9‰|> ’n–¡㉡*÷•ìò¡Ì]H£’jp•犈U[ÁR¦Îª«S"h—C]¢èëë„)ŠñFn¶µ´T‘m£9Uv]2T”ïô +2rð&·L¹ÄYŒ«u`Ó¤µýÑ@×e\á’88 ÔOãŒ)iqâQšblTÜKiPstƒ[: "Iê5*§ƒ¯Oˆ/Ó´ýÆj š}(Z7ùE©ä›‡1áƒîM±6‘n£Hœ²ª•ê€FÔ‚“ª0* *“„t4E©“bDMXcŒB‡ºò蟈m\µìÓ#1 "x…Xû¢‚s*Ó‘5H(ü1A†z}éÜk21î7éeîFk›¢ÑkÍ,µšÊ‚¦yŠíþÊ46†æ¤H+L'D˜‘lR Ò)WÚýª¡ñ»»£2Ĺ„p̰‘ã01\ÉL«l„Ó^ùm‹)ÁûNÃ=…7 &nJ¡@œ@@j"D‘jâ©®BF¹ü$œ™äÁ&=ßg(Ð'B_„¡Úü$'AŠV97»ÜÚaF?Rž¡V>Ž›\ž ü‘/YðعRû‡3®Ô>];ÚyÖ ’㈠Q-'A—aJ)1ª(ˆ/ל5Œî-~f^P¤ÄÆ•ЍèÎ+ýÅ{; +Ô ™@Ó…ý¤QQT– !s‘$±ª‡<[ò5ÒYâé‚bª¨T|<¸;¨~8HXœ®E1Sµá'ôâPZõÃD  EW5 •ËE²É7*ºã‚DV„Ìht~ýT¨‚¨£!Elæ+F¤Hd[´•+B#L¦Î„² n¶˜Ž¡Z HvuZ¡Xÿ´$*¨ûÐsWˆñªÁ-ŠíL¡=fj â'#ïë†ç!z¢Œ(ÂABnª’¬—QË<–‚ˆH_Dñ¬±©C¯ +ÑODÉþE“àþôðŽ¿g„hê;R+MMx+-~:,cóz=¼ô"ý&–=º?H_^2õ®Åe’“ÈÈ,rCÈÛ3ó€iÄÍsgªt0àUE²šîEL;Ë穞´¨ZC™^9T_£[H!R]ݦ¢Ðªz(ÈQÖV¸ 2Ù)3HþÄÌã5ŸpÚyL,´H¯*вCA™–¬ f€DU” !"%FYDu@ø€ˆ>—™•3!tK¸V3Â@0âTPPCXŸMJ¤FÆ$~‰ëÄH•SÉÔ¼4ñjÐa •<­ò-’¹Bá +ŒRªJ`ÔXÄ*J˜U‘"üGcäÕ`ÀÄ´5WA½s´¢*Õ ."T™×ððÄ{›9Üÿ¸V‹ðÇÏAƒB=D¼×:`ÚnÆd¤ÃÆ4;ª"ø/‰a¬J|‰ß ê^ÅΊü@ü +#ÃÜÉ?BÈâ’ÅŒ¤M¿VeÌHp„ù¤jÔ4¼ß/FQƒÉCt±¥ƒdLå;Ô%—x£‘ÑØ@¿é!’é:Ô&\sD±–I”7½ª£‡MDQY«ø¸QBŠ¢ø5•‰›"c©¨LÚÔ†ª(‹04 ªb†v- šs¬ÈK‚5§–ïûl(Lj\Âô ‹xLÓþ5ª +š"ErÖgãÇDk1Þ8(îX«¢2çãjˆgL½¤TP„( Ñ´¥•8š¿ÕªÍ“"È¿õ"©ôáÎ7šx¹ÆNÛÖ#V&.×%¨ƒ˜ÆaEŒ-c©¬ͧb¹PP« ^B ÂóŠ Qƒò9´z¼jÀ²a¢¢©j ]ñÏTоÈZT¿POÝH*|r ÎÕ é¬&ÊL#KYÁ¯ÊÅ쨧ª¡ž3GåæÀ*Ž´^\Ræ JzNÄ)Ô^©«d8Ÿ ˜Ãoª¢ƒ6j«;Œd*·à">ȈèÕ +@Á™: Ñ0TÆ 0+ ÿ2ÖSR󚘬d³‹Åu¿”¤ÂßP,R¼o?›³&• £† ¢?µ‡mSg®ÈíÆÂÌM4ý)h\€?òq!Ð$L±­ +:`+å "¼Î ÅAÅÊV%Ф£Á +jxÝñ +‘ÑHaë%éý£¦4eé:¥ø +¯wÓí¯C%ÒÁ̈tPå0‚PáHGË2Nk ²f:¨' T'>@V¥hhøE\AJŸruцt@ÇëtPù_ј +°úŽz¨:-VF5O1 ;(¶:’ƒ¨x%³C£Ÿ} ÅL9bª]²O$22)›9¨û€ Á X0¤òE¸JÅË—ø§Z$š +Òê%Šå`Šâ§°˜•rc +õiDZÕJ¶G¨¡U@òT)ŸšaùLåpø?P(JD3R¢VDSàRsJ´Ç;!2Bñ“PÅHÓF§¨üÉS”v4A”šð¼­áÙÏŒ„ø›Ö„EE3_ qj,.#1a¥íjžP!Ѱ¦ê½úNæ*†ÈÕíÓ‡}ˆî +?±ðøR¡<ŸO2‚8Â-… rÛQS}'Vឨdpʺ&G¥ªš C ƒ‘`x*›Ye<€ül(”Çâà0ˆ¢Ä@ ƒ@Å€a ÝQX®wL5J´•°¤²vû‡Z H6óU˜6Ä9Á¸cš({ˆ¡ì ¦!!¶ã\8ƒÁÃê4+ªq¬x… 7/ê&ŰÁ= ï$GS{ióz-|é•yéÂ2§ºÑ’òÙµHk©¡ cˆ\f´\~.î õø!9Ú‘ 7Þ!‡Z?###Ý´u3e2j¹;í"¶ìn"<¹2g÷ð%&Tõˆfe®› ÷?[Å?û­éÉá¥è2üªÅ²–‚qK…l8úl·¿8Å,dQ6L´™t¦’ïÝ‚gJ0µÁIÁù„ø”¦/¾ ^Ò@Ï›LÕ{’¿¨g9yíÐõ  tUÙ?´êÊkF© ÌÏû?™CQ1µÝN±7 Ú¯h仂µã +‹o,¯ìþ W‚n_b|µ¿S¸ê'Òd6Zz€ ”¹{1êçh(lÆÞt!Oh×Z ÓkÔ·OÒœ¢¶ oµÚ’õoa~€¦¹×#˜É=0Ò Äê_öT£N,ærµ®ØbïÓiHÀ“êá×!ˆ$% ;«FÖ¿^eÛ»Ú6%`…ÌmAjAEʪÓR¯¸Hå>TÓeEX<rñ +(wÒLÍˆÒ z±D¹Zy•ùMgÿòjꟑ\n1ÁcøËˆVÏót ޲ÀZÉ= ‚›Éô=Ô=É,ý-ÕÝo7Û ÏÓ­nnu87ÑUý´2&gCf!ôº OqX,-t7À!0ˆ6 ã•Þ㓼)‡ÙÅ€î½))NíûÊ=¼TîMër #Ȭ©4ò_AývRbi-.¢(©CðÏbï܈-©mˆ2K–¶ƒ, Æõò‡†ù¤ªý¬\YQN\뫵Ӹ½Lz˜÷bÐŽUÿÜÁ„žWý.Ìu:Тʽ=F0ɪaž±È¼×eióü–ª+èUò%à "÷C²éGº|t&~Fâk´„a’À +86»Ã2Ùu¢Ü1t;£2A×ÀÿE7Pèb£ühx4§¼ÿ¹.}va%b6°’€`½`Tx÷*€É4zýCÔÍÌÎéÈÔzÈ—Y­ÿ¤Oçxýάâp})"™dò”Ž™Ì ŒÕemµ ³6º"¥\ö@ý欬‡©®²÷e¹ÛlFµ]bÛš]nS,\h|s fp%§é¾L{}P0äÛ¤€ï^,ŸrGsv8€Ñ‹a.·¨Âf(Ìg/•Ä1B> + 6ÿdšØÑ×¥¿F{`†l-\72DWrý’ûÏÃfðÚྡྷ”k¡¬STp´Wºx˜çòôZA¨1mႈ´ßK¦m^€¶c.ó`TµÄX ýoâ4”ðé!ÜÇNV˯eN]<ŸEñûg>p¢GéÙ%+ô¹цÚfëË~\BIÜ÷Wa9§d}ÝfeU£ö¯P1NFQüÂVÀ„Âi×.²#´¡³‡P†T -ô((Å"Úê*eäŦÌa™k>O˜U§ãÓsç÷zU؋ͫg£V¯÷ÆÆ£¡†8çº4• P30ŽS8ØZ½ q¾zêŠkLQ&q,Vè¼R0¶¨ Î:dÁªàZS#›]\ÅòO,U%rW u—ÞÝ,¦r_˜e­Yë7 ®ŽÞ>”éæ3S¤ú³³7 G_j¬gRˆí˜r « °ÁMYÚ dÅåãEH*.ß* "L¶œ¬rrScwÂÊÀÌ5ŸKr!¡žçÚí^0‡ÑÀ¸4ì "¦œ u^âµëÁ|2Áº +1Z9ä7¤*À4Pàå^âX}qÚÈî²uÜçSƒY lÝ—+ÒIžÀqª€¨»@¤6yÀÂôKIGn®y[ áý°)"Øòú$°H+¤ð„k ±VQ˰ÖÄ©R¶Í˜KÒ‘c²ó"¸¢Z%I&2u7äö¼ä$Õeñ³À• +ul®\™”õ.½˜m¥\=QûŽA*,jÒ‘I‘¥è+L"¤€'ìƒp\yJ˜—‹¸HÝ…åúªI;p-ú/ÔKÖ;1é_>øwd–‚¸Ãã€6ìð‹!iz4þe€càKù~v +»BzNËŠ‰sãØ'@osrHEZU)Âô»–üŒÖø$E?Ve˜'aÎj0ë2r–sÈF;*ŽZcøÆÚ«¤ˆ–lÈ ¹aAñwá2e¶vç,ìõ Ò¢ŠKOX›Ð$µ!¢¯ MÜnZí9ˆ;1PQ«L­êq™—ÂAl¬–Ï–ï´+FïŠê`ÏÕÐS-ÖϪpHö%:‰ÐZ%=Ñ%‡¬„@ã‚ÒûBý*»‘ß瑎;¶±:Àkù< ’¦q¡ 0ÞµÛÉÁiôñ‹J—96ça?ÛA#¸´tÿU©aÉ·J<3>âËt$eÉ#¢¸÷êKýÿèµ´•{.Š2GZƒÙ`Í=é@70]`/bª`Mìôkc½x¶¾³‚'‘“ç^ÆuJå¨[UŠ^§¾—îHœ×¼B± ÞºÏnÈçò¥@"‘|S=Œ/TÛD n„þ 7A +µÁ54ǧ Rdª*A¢öFâ:¿gï]úÖÆ«; J²P¯š±+im f;mªJŽ6mV9•,%ⵈjÅ^åd ª/Õ/õ%¨¾ŒB¼iBVC=ÿ„´ùù—›µ €Ø2vDøõíçKÅY^Õœ;“¥–5—ÅèÚ‰¹@”gLZ0ƒ: lÙª;»}Jœ#–318î+ñ.8ñ™¡\id›™l¨¶oü„I‘‚w.Vô î5Ê…Gó”äq½µv®–±q¾ +È/¹Uqo¨J:Eü÷ËdXè¦Ä ý»`±ê¤:íW*÷¶€ªïÇn#6%êCSALz¹˜é ÊpÕQ³ÓQ;ƒü™F5·pÞœ†Ê‚'ˆâÀv`u¥êKGè'ëæÝZËöÙÔè†Rv-Ö”’¬Ò¹ƒZ €ÏâáÛvÐ@–rîl‹È[bƒÄEÓÇ5ÄH£Œ˜ØIÚF8Š`±5;÷Èôiµ§æûlé"™èÔo¹ÿ\l,^%7éÎÈÆþââЕeÕ—·ÝøEz%è%­‹ÓVbq"§½œ‰‡r©îçÆìØ\`§Ò›«±‹“莡EÕqf4¶É¶àýÈö@PV6ª;Ùù šNìi#¦CÎÞØK¼CœóŽqT åþ±Ž&`œU:„C„èÖ‘8kXuù劥¡\²FñÍ=w +2`dÁvŒ ++UD¸Ô!™#g€‰>ÝÊœG·>ü¡»?O”½S]Œë‰w£`Ñ\å½à ^kº›Ó­7ÍJTn…Äâö™Ü96f†–(Á’Ä`ªñ_”´ºÞÙ’EêH5ë`*ô7îág C<€e.ÊÓ½TRÛY¤gEb. mK \=’êÃ;s9Æç®_o ª=áœOÇ¿b}}·‘V&«A=ãç8‘½Žãpºˆx“ï<žkºWlÜ„qîCÌ[5rrúðɘ&™”z9ÌN°×‡ÍÉ#„ºý FKP¿îtÔ)FqÚRÚÙA ?vmLö¼±ŒPv>#{´sbbS</ ÍòõÁ€‡~ ÊËý[a1a¨‰±é»P~g y…ã±ôðr€Tò7œ DŠv‡cTyÑþ ' ŦÚ¨Lùtƒ‹5¾°Ä÷Ê^h`¦‹[¶žÎàaü5°;0ål(bÈît©È¸ÕY_ÀÊÔ]éjS]-Emk[ð¿:é!GKÀˆÉB¸"pŸf˜\è"rõ'Û¢ø~ý-»›vÓ\ý{[™Œìc,§ˆÔMJm„ÆÍ UÊŽjËï8EÈüÄCW™Ù“š3¢¬‰ufOT½ÔuöаzÄC$`‡XªDZYü¿3¸ ¡'As/mw…4˜ô!oÈ8/Ý»¡êRí_î)8AøzÆ~ ¤g, +ÁŒ:߯)\&ý„AÕ÷3™€À®ÿ‡Ž£†Â†ééíÅ ö÷Àgdo†$4Ï…˜åè©Zý ât5…âÿ0 +í3d,NåPMç€ÂìçÓ×ÌM¯ÉÀRdcà©¿ùév졹XCš¿Ï ê'—Aj^oÕó²ú_Së,LÌÈvÅ3¶ ÜÀ‰oj«NÆX6–¶®a°‡]|äçÐÈ:‘ +¬l„Ëa‹ ’8Æžâ©0±÷Ý–g.µª€z˾’–D©¢k[8tÉæž;™ÉÍϾ|Ú#çÑ5¶‹J 9ˆÿ’J4&ER”³ p)&VþÓMŒŸÄC´ÙÛ4’ZôÅs.]ÙÆ<ß‹,vA¸–éËØÇÒö0Dÿq x`¡¸ývIn¨ðɉj)WBÿ\î¸h"景Äò\C³ÜÙÚ˜†Œ¬Ÿ¯Í2è§úë&oLCðl@ä®NW‚Ð…ÕG „iN¨Gĵþ’<Æ ×Øÿ6b«â¬'Ꭰð(Æà1Àò#²¡„´¤>¸Û` |ÌrD`ÜfÄ`±:Îû"EÌsÎà5”õãmÑ"a7Ö’Lec­¢gD]p¢Ö¥Ú&‡û+ð‡ÀFßÑì7 W®áÒÏéz*ÝŒmùÎFéB‘ÓWæ¯û€Ú©-0ƒº'èö5M†ºïš~œ©¦Ö)Pq9Sx w ™XûnÊø§ 12p#í0“~;%µ?=»B7I¬xIœ’v^>´Œ[+2h'¡SLyÆXt˜¬nôvàä$$æŠ:æ[5IàqYOþ>ð<žà³ +ÌD»vp.êÙí0†¿«Â ¸Ú¾F¯–y( ²l@‘ݶ+…’xˆIf€ìqÏ-–~$8¼“Ñ9!%ÅuýôÂ@¶o޶¬QŠ´Îaà:—¦Ë¨ÐSÑ—¤Y¨ôƒ<æÞ ܹóFÅÿ×ýf(;ÐÇ"dg½"ès ¢¬s´^#²˜¨ÜŠÀŒiQ‰Ðh6î~ìDŒÀô¢Ðaî”™`^RbÎeÔ ™¥ž×b@ù‹û=㊴:[nfÑûu‚%ZÂ#®Qõ†qÒ:‹Ÿà42!4•_b°Ï†ä¿F!Ø‚=\Ì£[%ö§ÒEí)¯tfzºUCf]ꋤÂ;YÚüO¥(liPI†ˆs‘!æûãÇîíÏ&DÎxwF–ƾ˜¥Õ½z¤L¿ÖdÂ6Î1¨ç›ÛÝ¢¿ Ò\¹ß³Ýž´oÒh³[œºÐã ‘Ð¤Ö$Íñ}NT×å³8DÛ0{iK:[СAßh»x‘¾% g:àÿB ú£¿Šb¿#†ÕñœÒÀf%Þ±!““"ù¼šQÝKõN¬/šrRÄ˹ ùkÜó¢Ý$¬ßŸðáóël^ÞbVÌŽŒ¥)VJÓ¼ì1£‚ìòÔ+Ø“Ž¼àJ%x©^Žçò¬ì¬F'a†jG[ññ2AwM£ÃÔ¿•­ù3Zk´˜ú'æ¬BHÙìµe&@ogøwÞ:«¡¸YB#@Ϻçû—v=“Äß=cÒF¤…Eú€$ö×9“ZÛuä2aØ´¦FÁ‰³›n,(SÎÞÇy ++æÜÖ_@Q‰‹É +}­®mõÒ]uvÄž4Š'ù@h+ëax&àå‡ 2KŸPØŠŽVKú¨‹#¦èÜ8ò]H¤z%Yî®*þ%™Ø{7ÚÃåu>xÃ< ½æ4 ƒ— Q÷VN@ȽK|ÌØÂs߀táKaÙöøÞóàI®iyc pðÔ_D)µìè0ûÈt½g2#/‘™=;­ÃÄH͘ôlߥÕD±†ûúHŠ[5_cZZ]J=‚ޏA*qh -ÚëZ˜VyUüg’¦[…u¡õ½~†+góØlùØ„4–E>Æ®GÉ¡kÖ(ìäø§Ïº¶è@s¨÷‘F&ñ¬ïÁ¦›&Üú‰Ä ÕvÐ[µ¥6‘–°ëRºHl)Dì ld}—!Ëœ,!%‡œª¤‰ŸFþá¡ÛC~:½^¼vÁbÎc9\üáh6qÛÃûËÑ㪓°hYrœ8[ø1%†ÍÏK#óæ™Òd S0³´Æ#r°Ÿ[ˆÒÈÁ2/¶SX«s%!&ÛÀ68ä —­4$´°ü +-ÿlkSiéÅ9qSK„Õ»T5“‡Á:Ý´F=2œŽ9ü¤%YW5rïQBT8K—ÿ:¶ÀQ:Ѥá­ïrUé¡X)š +×°„Z©x ^õ……) +FÄçh“Ô…hæðÐÃòX@½É¦•ã²K2NºjéºQÒÅ´¾Ñ2©aÊÕJú*ºªÔ9Ìg8ã°!„Bë¯ø%Ä1I—a©/*⺗f°·°©•MëkzÚHd’DŹ—5~'B"tV2©]€Î› vi~Üøu³/Ô*ðwŽEgìU’8(-¤ƒzª + Îw|%±’|lt±ì(*™ùÞtEµ1ÍCpë:^çÖó ¨ ‡Þ éWÕ[$[ +ÛeýxÖÄaÞáÊ YGÙ>¡¾¡3Q27m]‚07aQØ µ‰ã$»xÃÀÛÔ‘µ4²¢!2 “âXÎ"~|]5Ù6Ká¸à-õkOz?. È?)Mº)‰×¨ºª•àU‹8j–ì7çÁ¥j’3voÁ9x…Ø«¶ “è{ÅGgk±j”O$àþ7Â&¿,PÎÎÄÐf;ø‹B1‡w¯ +ø°76 ×[ËKdJ¥Ä?¼n[Ðsds÷Ï-¨=ª‡V¶éL„ãàF®'®tµ+vñ0˜qHB0Íì+åíþy€ÇX«Ø +Tú¾”Ç}ÐJÒ12ÀÆà\ywñîì-'r@e´á˜Å\gš)º,¾Kíá°Ú‹È¸²ÎØögZ89f§Ü@£_ׄ¥÷Î&Â5œµ`…ö¶Œ÷:馉_û°Õ\RÓK ïW«W†²‡ÏÎ<`¹q5 ØZŒ£à'>VBÐd‘³ÚL`‚S‘¾ˆÛg¤á³V¯Ñð7W>ÜLïŽË ,OlãEt*¤“[‘5uëÚ@篹sóü‰ÖDó~’1~²Îá¾2ÖÙ£G„jxg‘U[á‡=G„¢¸B²ãÁTG„²«ºWœŒë1qDˆV¦C©þØ'³Bž·åi#H”é¿`WSS÷dnâL¡¡ù‡O[ÌY’ŽA¨Ÿ×l,Ôïÿ¯]¦lܹ̉ËÎÙ +€®/óñBEâK{ –úž/ƒpÜ“Èy ƒ‚ÉL:Z¼×âzXµxbþ>cÆš4Þ¹+9^Z8ònsE½Ù‚’wÜ9»^þ¨œÁ0Ý4äæ–$#iqðCO²CâƒÆ`A5­’¯€gAn“Qºmî+xº\µ7ù)§˜Ë ÂFzòX;aÄ\ +2´².]79XΰÜzØœ·v¢MÑDôŒéÆÃlßZ5ƒÝ f0.)j# Ì„Þ(S½¹Ü76k T4º÷;²@õ÷wùÿD*z‡V§ìœ:ð(mX[ö—}ÆlE0!9nÓ =[aÒÔàŲv Ñ·<‰pƒËHß’³f’5m—2œy”„Š!y> šÏÑçóÀÙ‘J­îá¦;“€ž+ÆYü ”ý¼“;X«s°Ò¾i÷Ô<÷_¢Uº¯ó.ò¦7ü ñg/êŲVwIÀ3–†KrŸŠ[h»Èé‚Èv> Ï—cS3éñ² ŠÓÜ-{·ØóþÉüvpkÐqQú.^J¸a–pLóŠ*9™ö(TÀ+AáRa¿í§}©ˆ,6ÍÞ½ +Õ°M´(·àô<%™%V8q†£.<EJÝãTÜ­DI¢Ï=JgÁ´õÜ<º˜“(T§'HÆ|¿#À™Û@Q=kƒ¿¬Š­óõ´k›|•ZÅÙ`ϱÀöÓmG;Lਹnº¬@)óÕgë†9B&F޹÷Š&¨ÎRöœHzɦ‰Ðfç&ïêñ^ÿ¯íÇﲈ:ªf2åŽ×”j@ q€¨XÊ(ðșޘ`g'áD´df¾„šá1m†FÝ9µ~S=Ípîߦê) DðKw´’¤_RPŒ,fn«ÞÈ$R‚ÿ‰ð€AQÇ›hŠ¢yrÐN.ìל“ZPiyûZÐ0§GU¾˜lr„ +ÀÙåtrVS'X¦ (ÑúãÖ“÷—¯y“€Ç¡¤çB¼_'ˆµ +™B H Ñ¿•ò‹çÜtÉ;+‘O5Wú¦°‹57b"#‚æsYÈÂ+B.ÐêÚ¿‹ ËsÇ-ªíÍDƒÊóåÛÞÈ¥oÎCô© <_âÐ>õIå8T¿µ^-ÐÈׯ+rzuyÉiˆ†’†[šù†¯‡•<=HOÐÄ·ý EúÛ-p„M0Õ"Íqúý`‘¦ü¸’I…,®"œe"cOà6îÏO,ÞÒ ð5©w”$xÈYhb³œÎ}çÊÛR¤‘)ÌkVðº/5ÝQNoBÝå(š¶ 7X‚N²lH3îôA¬á~æøùJ\ØôÌ?<¥s¶|Yüƒj!_ëÛ%ŽKÖ™ƒ|à˺Þ-×Uc^t/*ɨƒ· ùÑœ¿©]Ÿ€ªè h*û:/â–XÞÑÌ(‘8–Ä EJåõh¸­CªXbkÏPâàó4žÃ›ÊU’é/kŽH}ÚG‚²P,ä‚6âÑ… ÇÄ8½A VŠzÁ=toÙ—¬™m‹P¿éÃ’ÉQÌU™¤Üâ¼8 ¡ßD¦¹\;ÔƒÖ›ÅX»–HE«Ó²˜‡¶2w³‡wñ«÷¿4áZÁy‡Rž5Š\ÐTûḛ̂C †U]]ëÚs«ŠUæÆ ÄXckG{ƒÔ¦±¾€7SǑߊÝÏŒr#áƒÁŒ‹“äÁ}æöe»YÓ€$'33 :„÷¤PHÐǺœ ·Â5Ïâ;«àºÓ6Ý×%Ó7kÑy'×·Ÿ3½‘eB⺅ý<Ô¥‹¿“QHVcYüòÈ– +*7L{äÆäðÒ;–D>#à‰h¿I@åÈLý?sÎ2¦¨òè^(ÛR ±ÄÄ–tP‚ѹÛÓ¬,Ë bô2®#».*©ïèe´Y)ðÅè3%ÐîÌe¾(s}M¼¸çíbµ)tçAéÞ A­[7ZO½öárÄdjÈK¤á)CŸßëy3q\üÖ^©ðµÐÉ*"·K›3DÙñ2R‘Ę˜“DÜ<éfƒ€¿s³R¢ Wø£ŽwAÌp™þ  +Ñ%ê~ˆ~ôßã‹·âŠpU¶LÃ+l´»<ó§2© +­®É5«¾"„+Q§B1Z=q6»å½5`©ÃÂÒæ7qHÎH…LÕÎ 6¾ÒZ{ÒÊhª Øò›ÛØægê^MáÕj›HèhO\g`ªµ_ã~£ã7AGõñ¥¯ùWàTÔµeÄ)¯š¾/WïqÇw0˜6dÒ0¤ +0Š(kÒù€>|™.D–ÌùݾÎîÇÃæÁ}Ì%D¿ÀšwªîÁ™íC3ѽ0$ßHáÔ^vf°pPEVbp–vÃ[Vòú¥N>B¯pQ8–¡§ö-…¢‘L9:±Çfâ“â.–#ºG¨Î%`£ ]’¢€H%w7Bm°T\lÑQËÏ„t €1Ûò(7Rò‹+xhÄâ8*.Õ¬¡*Dø¾Œ­äÒ./>y™¿‡hÛç°.kŒÝ¶‘ê3G¿  ¥fÛtû„%z½žÈGú“wéÓ[OÄÑÆåBÔï†Ü¨®_>3%f‰’– 2;>; +¶ÿ´~ŠÆf DA½„xöòä&S]mÌõN¬áÉÔlÑÏ)Qs(#×ìƒra× ’$Kæ3j®ÍÁv«É²Bëoúy Fc7 ñ’€bÏjTVéŠÁ³‚Ъ½g(rÉ[ËÎ8¡êýUÖ¹Žšì˜vÏ–¬ÒÞÀ ·åqô†*v¨– šU+¶Èµ-s4wÃ% rÅ–+^ +g ÃßÉä»/f#³\¤µ-o*B$ë ÈBd]å9ü˜O˜Ÿ…m¸ð±žÄ6Yü"M•ìîü»ÆÉe™#ùž^oêß<—îàDÊÖËÀ +øT„U<ãšólï¾TÃÊ`#ùÌ"Ï +}£äç2_—Sàô/žGµ¼k»ÏãZ#‚G0O½©T[ºš¤2a®]Pó€I˜iù‹j°qh§(%ÃL“y“>Lóâ% AGåÞ;ƒ›ó;ˆBCxÒ€ÿ“Ä9:aL"HRUA¾z¬îgEÄkK1õ?xÆÆuB¤êˆGB#ª=Ÿ¡$٤¡—ö–ŠT¶I¦øœ¼À˜0pBeš¼Þ³¹3Žá+ë†AUq‰Q(\½·‡A:gêD€WÀàp‘LU§s°q^¸ö¬Lï87ð7™wÖ†!è„Åø6i´ê²Ò[ù­ ãüÌÜóTý;ùͦ2*0Ǥ®Ç;üø´Aî„t‘âJEˆööì¼oìï[¬ÞÅW†jŽåå&`y%Á-ƒõ¡]–:~}P1…êÁ°Wä˜éº3Ì*ÍBÜ|œÅÏQ¾Ä¬øÖXÆYkÛNAAÃüBÂ$k’ñ‹«>Ô!£`íÙJU0óÒŒäÑ4M¢‚ÆS¬‚ƒ=—fÈ“Økh*Ó¦MºÓGFÕ ¸×ÓC&;/ÕuV¿¥®Cïù–âTìòÈË}ɰd¸Ùdº;bК§gs¶Í™òšJ0"p„Tÿ¥|ãí¢(Ö®’XPkó™±—ö×±Àå]irÁ’‰?¬â_X,šæM›VgjIð‘E¼´Eìrƒ•ýI8hÜÞDÉÉÝ;H…+®„° +w•ÓÕ³hž”6·SB<  +eÒÇÎ-²Xñyc}$ÛòX Óñ‚ öˆyÑ^½l˜AæO†I~È•A€ÌÙ 5ðWq¶je°%ÎZ Š3Àßh,æ…i®®¿àrþ¿k4ùà h ßáÊ»%TÔ¼)ZñЉ©65£€ï õãhÿ¸+øÉ’©µ ?w‡ç`” +•P+ +¿¯±–oÖÈ„¤·‹ÒfžB¾`ØnN§q¥~[˧²1xèú +—ê34|YŸ€ ¾Ì-ˆ"x½"ŠžÝ|pñÓû•ôSœn¿Ô¿ÌÝdœBQ®²ÂaŸI¹ìØȳIÏÝ1b)AÏ]rš$À$6Ž]›vXû<—µÉ‚ ÚZ¾ðÇàmÄhmâÍ3F"Uuxd¬ Ìõ^¥¤W¾|müÌQùó8b¬ö9µ–¬CÒlzÍ-žnÁ» ’m!ñ®Êu€Èky7¯yW,ǯf‹gè0´> a{^„󯹬ó6Rˆ$;Âõ ð¿Û%ì[=©g¨ÍO&Æ•'½&E3 :޹Q™Voœ%d8CG+Å”úe_P®_ÃIŽ× b +ãá9£)†Ö/&c\fnš!…i<Œõ'&lê¯FÁÖ²ôÕJ6£‡·hDÄpåË,(ÿ¼sš‘ fè)#d›Ô +„“Ö±îHÎ} ƒÖó×è´e/=²ò¢Ö6©+^¡?Óä ‡ÇZk'\çOto(Þ¥D×P>T›’ľôžY—Õã宂bE‹ã’4®ÜÊ·¬$›Cc÷ÙU¼vÒ1ÒMHñ2š Î6s}|"ë0êÏ%ˆ~©${1Øñæ–Ó÷¡’Y†…äKz:1A†<‰ ëþKÓ®vÓ2Åú‘ß+Ôƒ r4“Þ#ÏÁy˜àŠÓ¾…#jxz8ËŠ¼±ÅþP”ïLE ç¬ÕŽ ætÅð|ª‚”ÆÙ"\DFâ ÒZòµ–ªÅd¹O–{‚ð0¤xô0YâÁ˜ÐÆwüŽ ŠìX¡à9N^Â&0ì °Ëï~àë<Ö{CH¸jÆÀ_>åët‚‚yÀHŒ›/J† )K>Œ+È‹¤ûgâp¦Ö9ð[-á¬}ÝÚ@XúZ@ô‹ÇX0ÿb5œúS ‹Ö(ôg^R>oU†p™pjÞU˜#hµ8 …jÇz4džšwëuP¼Žô‰Š"^!± +w +pŠ ¢é)BÚÌ$A˜+¼gÇë.Q\áñ2Î;ÂÇ%fÉ@jZ"(‘ùÑÎ1hç½8$0-d*l…ÉVœúB&,,3Ý'IíÁFÁ¹Ìí ulʨ`¿!1Qr¤¡áñóª‰Aû‚°3)G×Gåa¹pÉÒoïå Šï¡¼èô  `Ü'þ?(Íݶ´ƒÅ&9WJ½cÞŒ½âGíî£wIë±À‰ +¡G&R'4Ô«ßÑ_¹(T^ ~¹Ì´˜NgAS7 þéëËlæctCñ¦cñŒü!”Påy—)hxo^$)™UñémÃ>yÝAÕëüq}ùÅÊÈV4:Y˜Yµ~ײã¼ ð¦ÈfVÖÆâøº=m…5Á0h®rcEï†V €‰#QŒ:¦&#„Ó©Íc·¨úíXOšñÔŒ§M¤œ_zSçëÛ5óWÄ6Š~B7;O¥)Ã÷Å9•@ ’€¨nÂC¶Ó›~é×häIH#º\Vn­QO0l$J: e ñ”guû6õ»òL¦<ÔF5ò1±µ´ë¹[ «04%qPµ‡ŽgD‰3 û%aðIR[ r…ð’Xª0½iœ‡IºÅ½õ.Ÿ +­¤ž \Ÿú² vú½b2Š:ð.¨¸c84$NOqþ^þ¡ >¤Æ2³GT˜òØBx£„"BÍœ¾[1áUó=ýû{ß!ð«ÂìþÉŠ–cÝ“PʇóAã81ŽŽnà¢éÎîµ^17™2¦MWMîV î7œ½Ë ÞvÒNÞš(²)YJfB"ÿv­Á»tãvÙDZ“ZU6 P™U—0¼ïÏó&)[*Þ°cÉ“l>®ð²BÁ:ªì#»ñÜïä¡_œÓÕ3é—¬ªkOˆ_¤Ãy KÆÕgmí§[mF½:Æ2aL™„Ñ~Í”œ¯^>~›ròJƒ71Ç–%ÿ–y$â·£\ƒO>ã³ÓìïA'Y“Ž–av™Lóæ©ªÚYìyb°°L ´Í]w‘F +ê6i‚\bh!®49 n-¨ø»Žñ ŽÈ»zÒC2µ·9õßM1¸KŒCáNƒæ~oí[pÆ«kà¶èl _(:Ò´ jÆØebþÏ䉤¡vþØÕÞs&2S©#y½”ëÍ¥Þx¡îŒlL~À©"# 3oªñÞÅ?µ²c®™S¨kCjG6ŸÊý`^õ-ËÔÆ µ˜üµ)m÷ÈÝ‹ž,ÙÅ".ú“»’µÙÔÆÕ瓞ÕÄ,€³î]ª>NïI+¯ÿƒÊÛC/màlk;—ÓÿؘiS¥žX9¨ž,æº<"'5©ŒH`oîê ØŤ ïék2¦!¡•€‹d²S°±VQl?9£OÒ-‰VŸ~çÙ™Sr0ÚzW”¹Ú+׋9¬ç°*_b„EW]ç`´–Í=€ KdPÈ.8¾n…R³ÎV 4®îþÕ!HªB`âåÁ㢑«t!Õh^B è *PF¸ps+›…™æù~H }òš}¥nŽ^Ÿ2²çÙ®Âé8§„3 k`ñs&q1 £bvŽcq$)q äR<®ÕDgÛÃ0h¿¬iAÖOÍù‡$,’m¢ôpW¯[×µíÖN! YŸ»¿ð˜™nqV€0"Öü"‘VË›ŠüôS³÷侊„¢Q=I2Ù‰—Æ Â:– ÷Luµ` +ר!A‰½þ¥œKýæ~•éí §l /1¯ÈÝ`ŠtbÑõ&$”&³trYc{p¼ßDâÍ”©ŠËËeú¨ÖFþcœèýu±‰ìëmh,SŒÒ1š¢KX QŽ`ŘCËL*1±<ÍþöT-ŒÆýqw\(DàÚS¨«rÓšlsjò»¡hѦM_* %3µ³1ˆÒ*òá4S¨8qTôg"·í=R˜¬)9ÏÛa}ÌV²1¨D_‹F)<íN¥&ÙRy†®ë`¿d€•¶´K^z Íèbë¡ê­¼u„‹ Sä”/ÛÍŠ¹:hÀ„¦œÒ%§BD!˜[¯Â»=¬9²ò%f¿·ÝàqœÁY!±’…mâ°êœ[mÝZ8{¸ù¸Dvl7 B»ˆNÁÃÝC-ù&ÁÙ'%þ,‡,²?ë8Ôª— +?@Ým7emR”ÙBÄnJ +>3Pº +k@‘-ÚFsa™ ˆýNŽÛI¨avó§ƒ)O Í“R>çÚ€§U̺Ñ;ºÄåU%Û>¾v”ªKÊ=W,:ÕgÉ|›íÞ¸™äšÓùq±rH&ØÑsõûuúT +œI· ƒÍŠg9ÛK±Ží&F/ .Lg¹Ù dj»àsk.çÁc‡ÃäQ’§³Æ!>|£Y’±é¤ + nµ8¤-B±Ó4SØU7ÉÞÆ;¾üuúkñMLTôŵo¤â¸¶©Ò£•”¥…–•—#ûÛæ·®*i>jÏ|.Â"ó"Gýæ­l<‡ˆã¢—‡]ùÿåo%ǃ 7Öx*Ó()[~Ι;©ÿ“<øØ™¶Nعê~B6°›ûJgŸE\ÆÏ¬ÈéAÛF˜_]ÉÈ— £~Ø2\5ÅSÛàZWÏ(u` œ¡ÀTf£FRäÓ‚Á¹¢'+( ´$P’÷æœh8Êj¢×ï·e€@Eö…üv¸ßvuØЗo'3—6uª“Ò,ªö „#0ùÔâfN¬Í,"úe:—9ÑW'åd» ŠÚ2ËðÃ7é¼ÚB ¡]’H¿¿±bºøj¥¹±˜°öÛ3»yòCŸîÇöcü®ø¾ò!tňa®  ¢‰î‹U’ÀƒwIáClp§žª6ÞÏBDŸ’BÒé%’ÇP4·z: ‚lbU +‹È‘¦|xâ]Y©ËNøm1° ç–NBuƒVèI`}»ÁÈ%f +þý—>C®º\O˜ úŽQ* ùö°¶øV·—Óùfw¾ _¹ß|äògQgI¬zæ5Y4•Þ®|ºu0 sÀ–}cf 1Ðd"H v = lÖ] H¢KÆÀcO¶>ÀWí.6Bª›^g±ŸÂVîÖ VûŒ¥òÊ/[9)oŒ–ñ;r#ž0 ð ±ÞÅsôñQµùùµoob´èŠëC +YÅOÕf…D¼$î®k©góñþð׬å´HšÓµ˜„DL ã j}Où‘c) D1E›=1ÿº,›C©Ùé¡4´zH5rLsïY4=„&„MÖf¨“¥|ö0ú]Rh^([¶’Â’?£ž›ƒÈù˜Ž·µª4›þŒmk-ã=œ5i9€¦@eór5# É-'ø3Á¦;=…ÅÎT}¶ ã…¦²e¼<|à…7ÊãE[ŸëŽ( øóñ¼ä\árÕ–P 4ßþfm®º~kùóxs%Ï–óNûjžÐ-T@¤ÐDt†œ\~Ÿ“l²q¡õ¬˜ùV2q®Ðj˜ÇΙl4 š.]‹ .Û)›ÜŠ´qh°bÀ™ß~¢1VÀÙ,Àó¾Y™m¦Ó#ÓÞ8VÊ3{'jÈí#Ý‘†?däõz*‚Ô¯”:€8ÅMX7›ôæÂ3W=-·aØ a²éL€­8š·Ò¾ÑÄ•òžV•[FY.HÆÎ§Í<¿c¹4[Ÿ…òl8f ¶P%‡ ûÃ}¾Ỷð‰éÉ7 ™æ =,Ä4¥Ád¤wÎB˜'6>žƒ („ï&X + Û$R¡ø:JÎò–¶{Á CšÃ^å\Úñ‡VŒ4+ï2oå$Þ$|àºöá÷ôu˰s°@]¶ñ^.r˜æÝFP™Q=>¢‚Àù¬ÃŸWi$£Ñò+SSø,áÅÞm¿Œ˜~iî§#ƒª¼è»É†ñޤÐj@uÇÕof2ëÔáL—¦-Y[ð¥å7*à<ÆyW*·°Ÿ°£A€d֓מÏu ÿäPŽKµø¢Çoæ 6?XC”F€‹’[ŠëE˜¿4r$k~`0K؈1 53nç8®Â2W—èm2†O­æ/3´’l< ª¢öìâo2ÜÀa’´‚˜J¼ŠiD¦®),L.É„fÌ}´pJ¿³Z¯ø:oô…@K~•¶(4 }¥Ü +m/d‘#F‹`)Ù¬—ÿϲý¨KÖ¦1¶_ N=»y]½a2íYôD| x§_z‘¶àæhÛþå(ÂLk÷8Àä’)¦©Aй­ˆ-,Ó&_Ô˜åЃK’ 8ßêãaí;¢–úâบ!•3n¯€'jÃEY1fÄÛTmƸMÔ¼R +±%Dy^)òa×1Oi%Ùm÷¥ìäÚºfs%Šÿ_a>=8R$DKí›#ùJ”?¢E™M™æ´Lïê|,¶™KR‰äá¹Â6–ÌdÇÖÈ×q³Ir‘ÞØLBi–t„†·Ð¨®ãgOŒuôdw`H4v½Ø¡Äzƒ +b’ÆÊ€”OÔÃNÒ’LBûW䢣û *ÞÛŽ_õþÀ¡‰Œc€4^}êÃüÍ‹ý=jþBalù¢îû&Ž÷}Sœ½fØŸOã“«7÷‡ª’†ÿ§}> «ê’òr(ÈXeÊ·»ä7¹ÙÐÙc`c°vÞrN½t¤†?"ß_`›âñEÔFpÞpöó&ý€: d‘Täµïœ5E»_˜üMäíEIb\SÌ—„·©³Üò çc…nñœ¥IÓ®l\W6Ì `’®‰6$…ÄÒþöÑÍQ@ #rŒ&¢«ðÜŸ¼  åD= ÅȘTfÑ!V«ÔWíÖw]¥OÆþ§p°ÃŒÆØ!H^øØ£·Å”ÄZÿCkx^Ãípس TþIØÆê—¥Åã‘á0"ƒXÒT†€Ëº¡H÷+NÖ‚¨í:G.c>\qŰÏBÍY 9×Ó\v†îtÔ¸oHâSwžæ BˆÙ8î#‘Å@áð¾ÍEż˜_D:HÇ¢‡ÉÜ(WiÔô߸ÃN‚£(Á‡Ø;†iÌ„rÐ{É× +_'4x)öqâBþQJaÁ©“¼DÞùÌÄÊ~(Ç—\±wõO Ï{äT 8!ÿK›oEñÐ+»¾Ð]Ô—¢ 1€fñŽÁ$¡{¶ÙKzÕ(¹/BUÎþ‘¬òÌqjÅñÝÞÆœoä.[š£k'v7<¨UçpˆÎ2 ãG°c7&'N–]–0ºm'hF8_h%t»dBá»àU›9y_QÎ"©·³,ƒ¤ì’õu“Á\Û<–·ï’s–m/Ù§Â…8ÞŽ•©1ë:ö—ë’P+…üÎÅÌuIBöjOä'ä‘Õ°íZ(„óiZµþ¦¬jpö_À™¨9ò³Š WIÓ¬*… G}3 á÷ÔRÚP ný—=zÀ̵%,åÌãxôgƒeÍjD@{äB÷=ÛÒˆw åzIJä­‚urx° +\ŽH#IºW÷ޱ÷Ù¿BûiQeÀ^2ëùn¶Õ;#ò<Ãð7I$F•é‰;>VÎÚÈñ‚2ľ íTtõ]ìH[ÎÎËä~p ÌP…±,Þ©÷.ÏÞßÕˆÍbä‡B†ÒÌ v%ž3’ÐxD.¯Ži*=sôa*¥Ÿ€*:ÓA±U Ü…”#‚@+ºLzéñ7*B•>ɼûd+P–š©ù%Å2ðQ5AFÍ®R“¸èà ÷ˆ¬ûˆèÕ*ÀÄøïShÜ%;£sLÝÍìG'únÔ†—ÁÇÞ†ä9‡QŸ‚¹öe¾~ÖW„KY¥(pbYTŒù°'㬃¡fùÄyÍž¬ØÓሡ˜·%›>d $µ%@r¼†ê×éШ_IÚf [L{Ïëh'ýEB>dTY,*Û,Õ°5?Ú+À·¼M úàå,e^Þ³$áÊ(l 4†mFF´ùêì¡é× ™‚^w9h$d·mÝWÀ÷°OŽE¡Ó˜PÔ׌΂Ohà`söRã’7‰£+ùÖ€æ‘HWfýòE ‚!®bN\Jß׿á3pª7rݲºÐ­¨Æõ̤‘ +rðɆñ k­Ê²tœ)FLÆ0aLö¶ÑÔãׇÄ~±ô˜½ ¨ Q£Œ¸!"WgY¿-x¹ƒðJŸEáx^ù³ìkæÃLÆÒí×{Ï0ä.ÎÔ¨¾_ÒÂK(Õ;e³ÍdL P™s&Èýœ¨SðSRqvM.ü6y.sðîg«+Ò¬Äÿ|u)Þ¨ +ˆx”ßMÕ$q)ƒ<„L;0Bö«Ç!0Õì’žÚDXŽ\Cðøä1wùvÛ¡³}ƒ®›œVÀ³ß–wC_Ä1®ùý?Ï+u¬åg¯ã˜ûb¤Ælž ðA˜ök!60èÞRÀ2o\«µó9ÙŒœ/>Ìäj3+Y'Š]*x3¦·Á_,Õþ?ä1 j<&“,¶ZA»,Ñ»Œ¡í2ô5ŠØ…èLÁÑdp·jæ}ÝŒ¦Žš}úMuZ®Oܵ#°5f^[=#½}RÝRwö–äF«ÿÑsD~²f°Xïñù-:kx~›R-(·jâ¦T‚h=OÏwwK)媲E*ïœS8œÿ²ªe d„¨[©—ˡ͙(àxÛ‰‹hš€”cÂq†S„‹m³¬Fœ¿úròÔr•/ðf*Âàé*œ3cq”I¡™ëCe/yæÏƒõ{']‡­ÈTï˜×çÔöyì¡„gÓ‹]›¦À—ârDúq¡¢¸ev±¬Q>{<ÖB·•…à‚Š©ËÀÙ1Y_TòÃZqHúæp³ÍÁÆu(p-wÄ Ñ×­ç æVå:£Wœ´j“;OCIçò¿ñ +®“ÁŠ0­œíëk0ÏΕܥú7‰áŽ*g‡r¥‚õPû"Ê‹t•Y™Ü!02×dj•˜œ˜#£B)Ë +Âw_Ò_þµE+,àxE¬C@`¾ ›ßÙ]èæ¨¢*¨3cçߥ“< oÊ*ÞÈŽÒÅó¦ŒbfÛËØL¨ü•6_ØVÇÙHÛÊ”bßË8º•RÙaðïh!Ç ¯…賬°÷l‰b€ æ€,;n ~€?\vê¸àõ’µ/cùü' cßb¨¬}Õ®KŽƒð··ýž4“ÎfzCþPà0Y ýVæÿ!Â#­¥b“Ù>+C§=œzàÉg?¥ yĕך´­ÛJfôÊØ6[•7VE±r½ÂsEç{©ÚQ³³m|Ú¼¤°|. ½’ª uZ¯KãØ‡º 1DSMK¾Wç7ØT’$·­±L<×ÿg&}÷ç]æüŒ‹ZÈϤPh½*ÞI°EU +'žŽP2Èóèÿƒ0)×(wéPb2…³kO©b™“ Z •ùÕ6”æš š …ð† +sеvëËvÊÛ§aÆÌ)&ªHh‘];­Ÿ&pä ŽØàÆ–Oä±±¦må~váò¼bvCHÅþq“ ö@¡ßœNbÀ{·Za燩•j~©ü1zÙ-2@­ÔàÿéP:ƒ­#oìÖjßz}¾üé(_¾S¤¼(šŸs +±VëwS}&f§·«²?:ŸdÎ2OvzË‚Y»›±XŒÉÖÂ_Lƒnœ¯/|#×¶uÚfz­iîòNkû4!¬è%ðã ¤Áqªg¸?«—>˜-§¹v¸­ªøžmˆ÷ U¾Vðº­/ UÜÓëîÞgë P6[~¹¹'xÐÙÜîþÂ,+áJ¨4c˜¿Ìÿ*{Óhvi4ð½Éرù6¶¥Ã!I$®YžÇ4÷·![ÖŽåÃäðÓµè/ËðõåDÝ!Õ£^¯ ÖÔþˆb$˜<ŒÇe™rÙ4×ɘäE½€ú×Tâû\€WkÝ'Ù,äXöTHrÀõõw\Zä¡„UtýBqí„£N»9‡ßÓæ ¯ÜtbãíÊITËæ…#ÝéØ/;õ¦l¹ø01ÏŠÓºñÃãë“È~á†68¦!´ßoeÿ:•ÿ̯‡ èl±á²Ozð|r ®Ö•83¿æA%UX‚ÿûÕŠ‰ÃP²ÓâÉz¸ä +#ï‚éŸ+Jä3êì@UŒŒ &”Ëʽ‘ÇØ{33„ä(熅çÒ’EÞæ±Ë¹Žmóx[ouÙHyÝÔ¦!¾[”#57;G¨žûíævü^vyO„F;)»–b¢BDÅ¢d4À÷ˆÕšg‚{±’)a›úöç¡,ÈÜkˆ,!.æðÊâU˜WƒÅ†ÿ|"¬àØdŒ}¡z `Z ðNëA–ºw‚ìãPeƒ¬¼lë9“ >»ˆK5–•úËÛx€* ¤ƒ¯Zú•—e؆‡p'Ÿ§6EwíªXÓ[“ˆo´©Yt±EŽÐ]¿–¸Ô[E š*§©ô¬„<À¨uSúr+ÃÆÛj–sGR2À…cDIÄú>…¿2‚4N@œÅèT®†m»zÚò‘Tb&Ãl, ;$ÍÉT«,ï”ζѷ ¯*Màƒe)ž2˜šÛ@ÕÆãÊÛĪÞ+l šùºÚ‚&[ghž¡4ñy*'‡´ï('#B u ÂØ›`Œè ÿ›ý½ct/#MxsEc¥¢iÁT 7bCXòãEFžC ú"B¥žê¸âÄô'vèÏŸS%ˆ¸m]~ÇÎH ¯ˆ‘Ìì(Ý–ú]ßë†\Ž(=¿±Ú¦†»W®4Èj$2Ò§Kâ^¥€‡™t'DDÄ5Ùº²D*Å…î e(_/Y²Y$PMšDôicax'¡³ÀþÄõµ9¶ –2×Å(Ë +µ<M.dno¹—•$âB:ÅR]sg¬̉-ž‘2•­Î uH»Góò3ÀM'ÌôÎËj>UGd|`ÊAñMÿg©^-Yb#ŸO¡UÇlJÖqT~Tx€_‡-g®¥x +@h0tÜÝ ¦¦ô‚Q§˜¾“IKùÔ”" µ’i‰Ë¦ÀXndV° þjàslÕ]“]ï[I|ÇñZsêßïc,˜´À€9Eh$rd¿,B›ë›bMpþšðñFãT¨¹ÜdºÛM¸e•óB‹'Ä÷´/%€äÐëÙlؽŽh;Or‡1îõ@zS@Qk3èü Z% jÓ–PëÝÞõj±Êv_çà×mDٳѰ.àR~£"ÐTõÜaDœäÊW¯‚Iq˜£;§P`Aµ”—]¥b+òw 8OÏТúÕ½›S"sÀŽ–]¶“w@hÄ S©¨ šu+$V’R(‡¦”á§ôz8í UF Ævûª¼³ãµF]#\¥T²”¨":i¨?ãvŠ ™à0ýÍe¯Ò(&‰xÆàבâz}Z¬0*Aå¨Þ<#¯u[z;‡°‡P¤ÆÖóÈQ^N<³#¹‚!œt¹Ï*XÅÇCçô=ãyY©OlL²”rÉK1±œb!<}¿í˜Hô§b3@’C¾ +`öêiçq¨Ž–TÎhc*,D,Lœµ(3?x¦³@Æ‹öcΨÓÖN%äAí!+”)Vl¿UÕ˜rECäÚ'â{•².w£ƒ¶ºÁ/žÆEð…¡D$"ü¤ÍJM†G(*„Í&× Àw¬íø¯D›UßSÝ2 Ï öØFûŒ~OmÕAs{}5¾âëK£×'a[G}õL_ƒ"¬)À +¹±Ýt~+$@éDd%Ó¤²°ÏÚóɤ ¹ÍïV@kúÃUn@€§Å\„QA•'uäuŸkuo Šó'‡l@£€b降æ7õŠè««F¡:m®Ë\‡1qB 13è–Ž`Yrt°[z½nGÊ cl ŠœìNBý:x»%½€%mâ4!‰÷(‹ç#$Ï@@Û¬6•‘7KNŒÃ…î2­jŽ–¼ +ÓZHaz~÷ÐnøìÍ´?j:þ:%›¶Úè®¶ñ%°0þöGô ¤@ãñÜeàïöƒT•/}dœd7½ËbP†>t£]Œ´[.ä¥`K€þÊN91‚qÑS¨ˆ.-`ŒàÒ¾lA…c + E&<õ©+\n‰Á@4ÁFØzÃLtók0瓜•*~ÙÉ`ãïÂÑÈâ’Ó´ ñ‡ZA«4ªèì¹MA.§°C©µáMZ¬/Ë=H0™ÕÃ…w€Åéá"!I›ù­÷Õ¯h˜.·C]›~[›Þ´ä¯ÊN*‚ |çr^;9éÛ“£Õ–ô‰yÄ>ëL?ºÌ™à¹jÂîPL|pCÇV@^Cáœd|²Þ%Ó¿%Uô×Ôÿ&—Panæ ŸLþ欱ÄïÏh~™ATèÉ)„“Àd7 í0Æ“ŸÈpgQ„dJ‚.§ü&‚Œ†{ªS*»‹=¡Ö¼0¥‘ÖmE_eÐË7.VVáZÊšp¶žY¾ù!0ïõ9¸ +wé T¢} ½Ó:9”‹ +’t{ó®50îÐæ0‚¾3¯¼ž·þÐÑEJ*~+é,È0^¼û¼Ä]ÐUÚÕ‰¥„DgžCRŠ]Ôšt˜å²}`nùVvBÀu½Öù´y~ŸmÔt VŒvx +j‚ºèøÙ8´йá—ëÍð¸VÒºO•Œ`ÞJWDdåô °Ü'»ôßäK.Kï-i –VÈ@#€„J'›—¹oX ¸žQ !}·MV‰äLC‘ÌÅ”/ÔpaBì0û.Ùªj­T¢Ï¹­f¯)«ˆy+c¸«§™%dA¯?»ÑòQ°Ì_\ÆLÔŽ`@ÁB¼ûòœ¸¤—P‰„Y§|•.¸ŠÜ`Z¾^:s½¾äŠî+0ß2z 0Ƶ¾ò¥êßÏ2uz- Šn|1 Áª‘ëÌ¿}GÓ!·Ø"‰mqÖ÷é{ï‹y»ï´õl +űn3bè_5ÆÐ/˜"3¶ ¥¹×¯º=«NÏü[‘²÷)ÝŠ¥7nüìÂLçHÐEµ¡WT”ìËÉ,¬“4(^¿‰°%½ôf]èÂKüáÜ +”f¸­áë5—eÅSg¼ ¥#ÍvV—S!¸Ñº$Œ÷²èÔèÅ41ÚÄ}rÆ$ž€aCkñ‚––}¸b3¡-=çüÕ!¦vÀH•²&íF]£ÈeÎsìØò"å´q¬ýI%ÜB(§Â/ö’ rñn÷zó&óÒI˜˜LZRIm³‹ú@líJ0±é\tÇ Œ„æÆ4;i—DéåÅÅ­/7kF¿6¡¡’`„ÜÆwŽ IO“™.¾5¶¦p”|ßÊ&9Bå’‡añûf·QrÜŠhúÞ(]/(#)öbT¨D>]€ÿ÷uÅ¥¶§Áx—DâÐ\‹")MÔ®…u—dq„3€â(Y÷ßTÊÔg>’Èu(tAÞ¨re•€Y|ÌÁÅò¯ðèéÀE8*Ûñ˜ë֦߬ôü©b‡U-¿(Ü߇‡zaiß[p rd!N¸ãb›zð)g‡š$Þ)–h%#™):±ŸK8jœ ¥õòƒRûÉVYä3óy1ý"ИuvÖ-c&G…~œfû…ç×i³¸øq(‡R‹%AšŸõ%:ü«fšÍ^ Ryã7 àxF”_:®q5Þd‡ÙA?få6!p?œ¹ó pïËF-kÇì(0«ž„FüˆÃ¹¡óJ×3ZнƒÎ\àôu C'J–¨;œhe”¼`ª zB’š¥yg'Wñ»ýJWD %Ó›ÄOÄí.DŒFP®ãáˆùMfÓ€†Óþ fÿ+r¶ß•ž¯ÎØDïÎÿ‹ÕB®©Pã¼ö%¬qßí¸%KPDL±Js‚éœ9¹•hi˼FµûÔ„ˆl}Œ² ’)LVºSö:4¤ªqÕåßwµV]|r¦b– …TH\¯ÁX/B‰Fsœ ÔoµmaC¬H€@® ãëÔDCˆÞ<8®Xê?ö~<äøº&»8X_/™~bÙh8ãPI5¦«íKõùX +Õ#„ d,㼎-~†2KúaZ°“ 6›¼´L-ûý9îÏp57 ØCó(-vŸ¢e_ÖÐkø°$·rfEϲ0çY©é.ÚéG¹‰„¿¿Y;p(¬òkSD2QÕyæ¾&2~1E¼b …ÌLèA'`1(q«]bþ‚­!ú”UVưä]xi8>ô׆х!'ŒócF㉭ÁÊËô™¿Ó57²*>Æ`ÒÍ]jr¾Å³áóLãPŸ#fï«šŠ›DƒâÊÖs2è,`6¶ÐA0.ºŠöår ï=6ëÍÌ‹)f/ÞϯUŽâ£þX´¡‘‰Ò ˜_âq¬ '4Z@Vœr"ÈH¢#Íg&‘Ï×k£+§$•K‚nd•(Ó®Á¸cCƹò°qq ËÊÄ' JM,øeŸÑ¾¸°”*„ò·„r3ܽUõ¹5Úï–+î7öíå×´€TSýº­ ×!e®õ³"n ™ÒÔëQ u‹™‡™6“ý9ç#/?«*™¼o¼q,žäG±0Bt€› ‹;ú÷:7 Æ!Ç‚j÷ÎW`G +’6ÀXu]9à úÒæ¦$bž +¨d1¤9gkt5¼,„|lh¼ += ÔúpŒ8y¶l› +¨kƳB±‚ûýÇ1*Mí­"%©ùØB‹ *b‰NXô„d†dVyÌBÎtê`Šåx/ÂVV2ä±øÈm4Ø£ŠÞšèž"¥¼n¨‚x ã`€ŒÏa†/Å\¶: ÛmŒgè +Šw§ +”H:2Mf±JE] +ž¶ƒ¸ãêhƒŒQ"Þ v1R(}H[E›Zè†A!ÎFÛ°ú¹sº[™Èƒjè1K’êÉm˜·#b@+ÍAUÐ2“•É’y†b¾Ó"…›å䙑ÏW<[§\jT÷RS†wÞ +e,²Z™h‚¥ˆíÌ igÎ2dB)`Õ% I†R ?¦24¯TxU^9¨QÜl„ZSd=… +•Ô¸·°¼ŠP®éÅÀÑÁP¨Šf Ç«eÓòˆš¹"Ý!ªN"Â;<V%žPÓŽ`Ì^$¡ƒ›HA§ñf¤¡¨‚s™Þ0ˆ*ÄÁljœM.tàšèe¡ €¶¿¨&†u: ‘GýT[(¡- ¡i5©@Pí²®…8ÂO¯BD UÈ"r¡9BJüÒO[ é Šoezzñ¾äÊ.[räòŒx_lÝžš%ÕØŽc#^¥ñ$²ø„($jÑŽƒÊ.Ç<(*ŠAýý©’Y (.fLõ?ã²i¢³5Äá +QôŠWí±7%|‚¦öN¬çéDèS燥բ,'Žê×+\q;ø"Çá"y%¨ã ³ð–4Ÿ¿¢1ÒˆT‹Ý ®ä×Ö€êÈ9îÀB Õp…jg„ô§#`f4  ^L=¤uà¨×>e"z§1©P–“„ˆ:0…¥l½®UÆšQa>Áª*`„¶;Ø=-Õ±&¼oŠ#f¥¶¤Y”" +æB^ó㚌P£ƒÉ<.¤y©Iaœ+Äèà2ÂQx«v© ‡oÉËP55i耦æ`³We°+úlSYËLÑK„Âi*T…vˆš§“8]4Ü A‘)ÖœV14,sXÍ%Uph$\Y>`aNì“ô àÎ-Jßbù˜"ŠØd£9$EÓ‡äÊî.$´#š¯Ê«-‚åF7´@PZ8æøÖh¨Ä +2¦/ÒLG(*,”‰à™q0CÛ¢R õñ¬3cù³ôt˜O Z´Ö‡}HHj¨ÌÄ*øÓš‰alKcF K…’0Åu0u*t>æ©»DM< +(ßQ®-´@ c'„‚*r¶.ô`ÃZIÄ LM׈D"ó€Íµ u-ƒÇê‰æ ÔßûoÂ4Ñ=¨™¨<‡4¥3QcØ•¤VmìJ§hxÏþùDСœ¤Ø„}ä5§%/žJäEŠ!ÍiÇt® W UÔ§œêÌM"FEÙ@0$^**•Pþ[–³$ƒûPm ºŠFwSÄþHÛ™DP¥÷åÚ yT‚­¡aú¡Q¹Œ“B2«>Lï E…R"U †Æ›!Þ:؈°,>„«A"Sô9½$Ž$öÕ§gFú!%hø=Ø·ˆP+®8•*–@T^Þ¸ƒìVXq(HJTi!× zŠ*Þ š¨ág\R´“)Dw”ÔJ‚­ ÑÓá›ÎAk£÷0V6ìmIô7£ôgt· ŸTŇ%qÊK|•üò™{Ó0‰zîÀ¯#H\””Œ¡µmeÖõ놗… ùc¡Ü‹;¨¿P¯hfv«“JC-#”j„ÛsÃ%lÓݪ±ˆa$ªÝÁ´¤meBÞtÁqmòVsLd.Á˜ `„jÊ'’Ç#5Ê †‡O’”§5ÉÁ†žPŒS¿`i3ý¨Óûh`bc(¬¥K,Ì(•ѨSß¿ ÁNñž«Ø‰Ð}3ªÆ3­‰Bw—XHb"ªE"Ö»£^1 +Öƒ¸c©IíÞ:!­Ø$¡ðY¤íà¬S“R Óïþ—ö«ó‘훡¾Á`šR„ËÛ-Ë“®w  Ùa¼ƒ’úÈC‹%³sÞš U" _Â@j ÖßRT/Z-ö(6ÁÕ@Û0Ų +VépµåÙ„˜zóhSa)ŠòU¡½+j¢2a¢Î÷&à³…“éUáD d‡—a$63ÙšW¡A½D•ˆL±ˆ£°?ESIœêÉݶʋo£°9½\™{B2øÉôHë¶›DI©¤¤Õ„©ÖC½;TŒ°÷A¬O´’b M …‘™âƒºz!~EPgé&*¨!Æ¡ÐElÑø'jl Ÿ¯Ø°G´yf8QÚ\ôa?dV%,y73Sr`ô1ï:­{oŠž‹V±|¡ëVÆöI…Íù©+›‰‰‡±³ÎDóy3Kà]SnD´åvAìÜ.õ¦©;3§ƒ´Êõ½ÏYeŒ‚ŒÈTÂ\Òë#®C¸!÷s›Iý,#Fú¡)K‘§ô¡ž2 “ÝA[ŠiQ¡ä,b ´•raG¡"ð¡÷¥õXJ~"÷ÏyÙÿâÀ7>÷”èÑ—¯[/>x^jüÓ ÎÄê§Î t¡ÌXj ® ù 'ÉlqÏ3ç.uî±bTS¦å áUzdª%ô0Rc“¡¹ óF‚î (¿A¯C 7»Pà¶1‚8QÆ[øÄÆ%¦-Ò±ÐZ¹‚ÂèA^HLG½fáD_ÑA$X³ DïvkÆBÕWS`=Ó°µ÷2’ƒ«HëiHÊÃëqá:BNz+6Œ5¯ æ8ff,„âR%DE%aÈ3ß!$A¬yExɯûY¸B Sr°!=(†Î &Ee‚9˜¾¸3˜ª<ª r@5R+Ã)dbÚà8’yrIè$ŸK3ÈAM~‘ÈP`D#ÜD˜6þ¸(,Â(…a㚎F° ppÍ×:‚©s(¼öM›X…¨K©ü¡Ç•ã`Xl„9Œ.!UõrF +BìLTQW ø$„Ð/áÐ +D/É%ãªÆB}!–!ï3Å Z«eÖ˦ ¸$ÈÁ§fN(·TþxPƒ|**†y2_ÿZã`e™"j)ÌÁÄ56ÕuT ªíÀ¢‘P…¢jWô*­Æ3-†ºÐ•”j!h‚P,jü‡¤ô¸Š3!fÈRöPå±4Ê•¢¨k>2¾'tüi ³TEŠÞªÀŸò– +G"f#+SÒ©2Bæª +j„÷19´ŒôÇ""2Ý +m-èäoøB3b”&Å@X1ÿÄü{ygs°fH• Ú¸ (:D<üê˜&#€­ØËí)›)ùÈu¢O)i F ÆÁk6žŽeãBç«G#‹»V:Ô¼ˆ %tšÀøÐ@ЕÉà@Ä„v{Å Km‰XPP
iH`["½W5Eäò=í[hÔkÀåDQCì=GɈg¤$ï<-‰ùîOé¬A›úêE^úhZøý%%ùÞ*Ã(˧Hþ¯~Z6,Ë"¦¤a (*Vÿ~Q¤(©Š¨† ð)Ü`‘áeœî•ñ#^(¤‰Êp=Ô˜)&0: ušnñ1=_¤ÜÔ~&ì?EÖô LW0ñ¬È5Cí‘ `ójpzÕ*B<H”"„/o¥u¨øˆÕ zV@ñ•+ Â`L'Y?pjà©*™ +1 V]T©®¸˜0”(0ÌBfˆ$ÖcfgI )¯Æ{&E¡<ÜP'LøjýÜU:¤€¦U#²jï"EÿÌ^¢ 昘µC‚‚VA#n¦Á.2òqV#R±4¨F‘$“cÂI‚ÅÃHqA£¢ì*äA†7¼ ¦€]­u¤ <öж[Ú}a’‚4·èÀ€ ÆÀäw5ò Š*Qó´$xÌg1õÊ'¬‚ÿ ÑØZ&b>‹`ß§ E2ÿ?.)¡÷0ç»2B´q¹ê€š¯Ùë#k”“F«Øá’Éê\§«¨Š®!Az'q^­JU¨e; O>Výù4@+£àAc¤9ì 0€àÜÃÄéå ì €MÒh…TDq°òiù•NoFl*€æq@{îÂlªYD`‰•aIãÕ*Ã`2Ƴ½êTø(¢uLÔƒ&¬™NXWV‹VôdR1Ô~ꄯ³‘¹_Q·ZT3 +;Qh–¿ë#Á]&ÒQ%Áõ’K¸jÒÒØÓ ë.¥íªX£¨$H™ah55Q¤Þz„—K†Ô¼h<t‚ö+²,“u­ƒÕMÀONTxx/ˆQö‰©™"{h¢È#r{ð-ÇlS²‰\æ Ñ>æQ ¡L_aÔüàé*ÆÁæ"L!6vŠ›F$ÜE¥Ó·4­Ô³(‡)& •$ßX£Ø·˜M¦¶†]!áã%h¨û§)šD< †ÌìÑO(ÇEžPEŠÂqPŒ ! QÅè¾–RH…á˜#Ö ßŸËOõ9—M顸hí!j; ‘L:œ'@@Ijìq]‚»-q9eÌ{5ç6Ü ÅTˆlâ߇? ¡PÝ6jù¡Hf‚¹˜@#"õӟƨäÐ +ö¹—NÑH + ãp@x"”ò€m  8(’D9bAˆbÀ@Î*ÀÈl$é˜h(ýîÀꊪáOÚÁD&£¤ßS T^øÓsWÎ~gS6VòPy!L´JÑê‡f•¤>Úú3œváôÔk `C’S.yj ÿ@ÌÚ5¢¨ÄöWMå³ :V£ä¦y¤*•äcËcÖ!5†ž… cëãUÎ ÒYø•â\à/ˆ¯Mzï3³Úš9È üqãª?XfܨÖ>^ÜlÑ?6IÒâm¬°3!„4(~Q‰àÞÙOì~?’ãca©ÂD”›´ÝV„øE•Ùkfê¢õUinËá†{å6|¥nzã|7’ðŒhdó]E´Ô©&hc\MÂmÈ÷¾‹Sá]‘½ª$Zg\Ä€/‚^\•ÇŇgý«vr|íc|h¢M¤ ûI¼Ù»àcÚÅ#mE+­<+ÀcËXšÉbáEÙ3ìD¾«×%¤÷‚1¸ÑÇPœ”å00ª&!ãE+é0“ò§›7‹´à[[5ÁdYïPÄ{aù.åùÇk+5]lS7:ø¯…õD+pLô^ZœgQmXŽÑC:#Eäi2 ®Â1Œ-tòÄj¤ÓHZ@V©UañÉøÃ +ð)Â`9ÄE$wþ¥|ƒŸ®mÏd^©ìÄ_‡Ê‚f6¡¸\&¦]Fö ¼ã êñEˆlÊ@ :NéYH—Hï¦sJ£¾ÞY+…úþÆ?"cÕSNÙär:úoÄ<Í òd 5BMÊr´—› 7vHö\É`•‰ÌÓ‚ݬšÉZÔŠàtÝñŸõßTDrʃ‰—)@拃¡-|Ñó/ú Ïh˜öµ¥™yDÖ*l ˽†pÌcÉ_y +=˜%”ãou¦ ]‘KY`Z’ 4!^.»©¢zJ_âVCBNp€ê\Ñ^oÆIsbiC¨Ïµ;õçGé½u•^»šÂDt–{â€|„‰<.IµÒ-ݨ˜„‚ís d/ eú‰^(=h]Ù@S2ìþ–Ò¿Á+›ã%]þ²µ–žo–™zzÓ|zºcç!~çšT³R“îÎ÷ª¸2–?1eÈ0Ä%‰†õ?'ÂåôN}˜] +H 3ÇôHQ˜U¤9ãÊJI</mñ*÷1`ès†÷S—ÀŸÄc6?ÉÑ +eÒ‚°µ´<Ö'ê—‰Wú¡¸Ëw€»Ê}å|EÎPÀº‚ÿký?ÓqJÜçåÁåäü=5êZ²Z-ç”×R»ŒIµF\AGnvµT¬›†(Æ+šQ¢E)›– ©6¶&ÍFÁý‡ÞÝå±H‚æFîuÄHC²¥Ôr7Õ25«ùÄÝ1£ÃßMêÛÅ EåMì$»GE ŒHs`Ã.æ&&"íYKê]LèË¢ÝÁ. +€V“)¬ÕG:¤ñ>‘u$Qû¹hW<-Ç–¼ñ¢×Un:Á +¼êu1úÿ4«$±õ(Ÿä ÚîØè¥p».¦7c‚Ö„%« Òº.ú£ß“ŽuÕ/»}°âº³O?ƒaO +„Z /ãxF;ûVx4bÌeæÜ«T‡¼×É8Ë~µ¤úÛÊ2¥ì™º€ì’ò¸\ö?Œ ã:A$w¥ §¶LBð?¡(ÌDÎ+>¹L£ Lý ÖÁÃ!ÂdlOÞ‘J¨éÍ ÐaNõüض@ ô™òîØ‚”“l•Ëÿ$tû0€b'ųP†ulÄó„aŠÆ)årj\÷?»Ìø0&ìÏÖ7é{é"ëÿ·ˆ^l£ÿg k ø­LR- ‹ã²ÕĈmˆÃ-lGSpf@&áçƒrlV ®ç¬B”n«ˆ“;eÆè°U›ãª+Á2¥í‹ÙÄbØrtuT­ÒE5\öóí"Û]w0^NÐÃf[eá­èÒð•Ñ, +(.‰ ¨’†>˜•Î4L/1e²ÐY©Ú¨èâÃån<2 Ñ£õÑØšLDûå: ]ˆ.°ß¬Rú­¼-£X~ôDU¶Û–²j{ÃPžã> åñeÈ5žÏ)*?¡ µôê6“X×4U1_ÅÊñÄöÀW¾Ä^Ú_[À èBïÀ=È/dèêáVÏõŸ‹æ}\3,ECJ\ÍZÑ8\9Ì[ù¹Ø‘´À‚/*ŽéQ*ƒm>)f_—ùkŸ¶Ç)ÕŸ Æ¥Ðó\ŒîêF™t‘¨ÝuJáËmb4¹Ýƒ†,°Ól̦5à‰\r×uA|‹¡7àuÇ8ÔW®³ ‹8A[í|ÚsOAƒæ"™á óˆOuJÀ“ZJg¾÷«há‹·Èó­+Uè¨r¶»ägn^f¬ÇÊ0×]¥F2ŽO47fN¥^'¿úõž’·™o2*Fœ)ÝWN°"ÊÄjTÍV@6›Ë£d×*i^=ÿ̤Xð™Á¯þ£ VÙ™>2ÆÂ;ª4O@—C¨-TuØÚiæ&ïð…L(ãÐ`§¤±cýÜslû\¤ò™×LäÚÉÔEÓé3HK»»ÛËü]ëÒ˜˜n ÝHN¬ŒYx…U^–=‘!Kº¸£h¾?Æ6Ï[õ´ÂÅÒik$2Sµ ×Âcš!áA¼|ï¤ +Œ×Ûp¦qø2/ù—ÕSqŒj)¾³°9¬ìì•®£J>uJíb +.í(ܘ»k4ŲZ¬z´ËÞ×QÐuÖrpÒË_l²œËfI‘s9q€Ëßî°<¢›cô8Æ5äZ ¯í¸3 _%b< ŽUg fUšÁ¢Vg O#Δ"~Q±0!Ê#sdK‚ÿ8c“ž+\)gœ¾äƒ›dVwxvUU ‰¨GüyA§-Þ«*ÿ4@(…í fø&¶JØÙÂ~”v‚lÆ èÎ…áÛ)jÄŸÄãSž¶Ä…}oA*kOwÚ#3ŠôÚd€Ï?e¡çEØòÆ}Ì£º¼a493bÚÌ”Ð5W÷1/&wz)Õ¸,5Üö>Z?â. ¢ô +ð¡:™Ž u™ƒútm)~†JÊ‚\(&x¶q\wŒ&æÊžã€(àƒÄ ä¹W„8m-µm¯MMSÖSÃ-+…¼G«»Ô…t슫e +(2Åû;žOä/Ë‹» BµDg“íåö/ñ 5låi>€ +éÂiF…ñ;vÀÐá „Ô;§1O› +.Â`ÂYމ­ä•J›ô>¦ÆL^¢©kÛš`°Ï<¿€S„9}Ìë@B¨¾.T9í Y â1UŒS0{®>$/ADmÇ¥\JV€r©”½tl3 C*$`’“@•U`¿é£SÞ¬ÚJð—lÿFJnÁ W[-ô ’hP¥ q½ØC󗦇<1R{"Ãsís q=¹.|„fR…Î^cÑ£K‘~IhÁ%µ'y=—‚ Û¾îùC]µ>F§@Ó·íu¤aê^©ˆ³´!¡£þãíÍ;¢‚¸tÔ < ß—Å"GÀ}P$±©7µk0hÚpÞžËÒñIÁµÀlò¯¨¿Åb6QY7ë- KÆáq–«ÁCÑ€{‘.|¦¦³9ò±l,å“Éü¸-ŽUA‰ó“†-°Ý“ÔLuþ¶àÇéÙ¿G‹RY§0Ö!Ç ÊñûÉÌ'hw$²¡– \ ™ø#“¤ÌüŽsY +mKʕڧËÚ0²ïÄ•§îÆ@#̶Ÿ¼ý$µyÁ#ÖxŠ §íB„ÀS‚Oë|21ç<”ø˜z“ü9qsÜc¸e-h7зæå®‹[•°»)KÍ:ë…}¬®¬I +X¤¶îÝ Ò~Pgí¨®,›ï¬âzrMÍ[š (1ppï,ŸÁFdÉuŸýf£|f,a¼VcFघ«–è(Iì„H¤´d c…ªiëc.î‰á"cW63ˆb‹fê~Q}ìþ32$çÉ?°Ú™³.bÅm é.km ×rlÍ.>ЃqÊŠï[KÅpäšÄ¶Â?ÀEZ(}?„8'\ì÷<Å׺«ŒýSD%\ÔøÄƒKJSÄ<Ý) ÄHPX¤n$þ$‘-ƒìx„T¥OrBšòòòKüîÁEô/Ùæˆu(žƒköãÀÏ ÍÜ“32$7 .6H@<ÅÁ .z¶QÓËwTû +.P¡3Êp6+“ã8¬ä Ó0œ¶. 4v (ørT(ŽJÒ6ƒãŠ§Ã»s¯‹*KXŸäo©ÿ`"ü`åg>®aܽ}Ò¤"2ŠKw3Ÿ¡³ú{žIu_ »Ù[]Ùç+²|KÂN±§hXi¯RaÙÑ;"gƺ#ÕÔRñF ñ:wÚ@- çwDÿ·S£$›Ö —“MZµÉå®ëUÎáY'nSÎüêñmQ{“ϰÇÚÌ*«+¯òênâEnÓd”¡Mëͤû¡Žm19oôÕ‹¦¨kÅf£Ú&q¨°§bhF'²™o¼Úmä1—n¿‹´RЊä[82¦ŸYêµK,‹¹ÄœIس@·¡-ê—*b‡–ï-¨™íÏÜ&a±Á;àS@ö (oT\u÷$ETËÓ)û)¦ *Þ‘õâ²£„¦íØ/‰ëfKÔÙ¡ÉNå#..)›Ûæzå £kic£g˜:½7wGZ:|,ù@ ¹Nœß…Kí‘NNE39 LæÖ”áÚãä´ëƘôA§üawr¾Z9KÐ-ÈˤÆà|UÙ2’O, Ã( ¤Ó¬h/X‡².‚T…Àؘ¹¾ð+òT§óà~p@ƒw ÉËÃdô€K¨åYêœb!©âBr}:wp7îPÖ‰m)- ƒ¦ÅÇz© úÁálŒ‰{ðñÜp–˺±”É@ Ýy¹¨•å +!™nvc+vµž!¦@×á¿Ê#û—oŸ”†Õ$‘‡)e&îŒw"Ïk&|Óñ¢†oÄ2q9ýá§Óæ{ðxJ“æLc &Ò.9nµ“}ŒÑ!‡ñ·xÿ@âv³1¿Ô¥ l8¢2wí'^>a\ìê^jO¤[®²¢ö´[*tìþŽÿ2Ýë`ðÂ5ãD ³ÊˆaO’@"ÑÊÿ Æ7#Æ.I£NèXéÜ¥O \…ÖGçÓ…Í"÷´Ûð7’›ÉšÀHÝÉFlÐ)sø-ŽLnô:~l@ ²Ã)¯ytaꕘÏÈÎÖÄì:¹§+¼’[ìŒÈŠ„ŠÇP/´ìFW‡dryŒ ê) &kñÖ@öÉ\x£úe8r1ø'/@ÀrO¹0ŒkBcŽÏ$ènY?8€˜,÷4'ä‚‹òuáovO;­—¥tŽº6 ŒÉ€‚H$»ARL3è iSØx¿Þ¦ý-¨g-ÙêfÇjà:(•i_;{sàHtÐÁ†¯¦sãéÅ DÜv¶U\ŒdŸõv¿0ª]˜Ê‹hêjšø0Ÿ#%ç9BÌ7¿wÊÏšpSÈbQß<ì(p­½Ze‘˜³R\õ æ”hÚÍ®²T«Wý4¢2žœBX†îô(Ê”Ñ;v‘Hyé¶áa.$(²áæòÈÿW´ü\Ñ”nE-·%1|kšKkcÐÚ’T¹tŒâì+(ZçØè³%Ô2ŠûÌ/³6Ü1¸-J]„._­Å³KöÉm–v‹ +æ,‰—æuáËÔHœæâ"¤dä3 u ornróÄf¶'æDoƒ]€Óµ† +d!›Û‹[x9qà‡P%B»¼2—ÁYGBý¤YÍŽ&ÕºµZòî^Ôj7¯#þ?YQžUÇlÜô˜û­^Ü¢!ŸLÌñep8S=…ˆcÞtÉÓöt÷AÓ3U‰H‰§VÑJTD+¢p“HAO:HQ±G¿ÊóOýÝ*eì_-ÁoedT‡Œ² ô-5¢FÇü†C±¦vW»}T`n¾U´L!šÌ%z€•{TYË“ôk[°–^rÞã99 +8ÄY‹sn|œ2Ë:¥." „-ì5}ÇNÉüRÎô_•2R2«§‰ÌÑëcHïÁÁƒ€ˆÄŸ$šôƒÙLä¬v'«È"o×Ë 'ç=t—³"B<#xVi‰ +(9 †Œ-_”Ø!hì« 0ïW×_l†¥©&çsâV1¥HÃ?ËÒ³XéšxÎl°+aâÊ Ðp@:ÂãÌkÜN³öã³@ì?Rk(>$,GßP;YϱÚãØ’£À Jùk6œh–¯‹JµcG< Å ZŒë È ­G<˜TÃÜ´‚‰ƒ±ûü"רÿüôÏZÙxðæz&ÊŒ3'r†ûüUCC1F}<@Ñýç`qÀIbØÙ +±eÝŽéûDå°8%£mIžÿµ|ij^˜Žì²_¯Ü“W[yÇ¿¼2x ˆÂ¦ý^j”<^‹f v³tNãB0[ä÷éBäFp?N}F¤ì¬͡ެçðÐË+Zò£ÿ +ׯp¸ëýƒ„ÖË¿‚óÒ),Žƒ5ZÛZ?Š0Âj!ÏD)þ=Á0AÿU®Ö:¤yñ§N;¢&áhòLbÍ”(Ê›ëîu‰¨ðh +L ±š:«f@Ç]ʇœqaÝ£uö†ê<Áb2ïõ`ðMx,D}ˆH-¬à ’j2/ÿðñ ¢ã ¤NÁKøð…ÿ†ô=xY•›šxÌÐÌÙ&1ûW8ñ„¼oØ1½•,SI…óuk‡)OÙÉãÔ +b‹:¼Ï”Àþ0c®‡o8…%swò´FS½2©jËîˆ=lL ƒÝ53á‰àÃŒúÆïŸp²Õè0À ^ÏoZ"‡´ìbb¥w%œ@' =ÜþGÒ¦r, à'øê0p1Ò_ïö19ĪGÈ —ýÓñþ©$Ь^WW¸pƒªh¯5ˆ¹$6ª© +›º §Ì‰¯pñL=w8ªñ4‘·Á\ Åi‹(Fš”u]@šâiw>¬ŒÄ¶y‡4ñõÐ_,o½Öã@þ€f1«þ”LÐs|Ûö¦¤¸‚6tJ…&'Æh5âþé,ÀSUAê V9¹Éº§¶p½#~™É)Wqxê^ÀµœÇvé’l™¥ÈÒ¯öùÖöCçÎxd½³{{ 3H‡Ÿ|ªÀK„í¼B2ï{Ðpq.ršá诶h*©¸;Û±xF×zXúú$-”ªX*Q56ƒ¿v€9¨=£èÅßS·¥æøUli¥X|¾ÔÚ,iv¾Ûê£Õ/¥#‚(–6þš¡{!ÏzLÞ0ã'Y ×_ }ëÞ%/ýˆtK°!—Œ *‹Ø€Ÿ(Å$QØ`" gcNuÙØtz¨¢ZCDõcÛ k bpNy˧E|+D´3Á@É]Ô¾,à]Iï`éyêD?qÏA° +¿Ù$é…Èü§ÝªMÏ’!hQvnƒ{°;h¨ÒFÐm’Í„2ãg¸ôûö¥xµ]AƒúcNö9Ì'?þ¨ñ…é:]†H*×ÂsIvÀ¾&Q·úeAßàÿ.ï“'¼¢óƒ†~YükR4 ~%ÔrXÒ!â·ðpÅ=e‰îù?25‹tôó %‚pr3€Ùg‹í1M9²pHüØ7wX>R>4 Ù"o"{½ÛÚŒƒ€Þ?›¾õ†²V¾ŒH® É@PÊÀç‰GÇü] òçýþ”ƒŸÜD›çÀl¤mÏYCæ2áËé~…ˉr×÷-8¢Ä%·©üÙ¾ +ºM?-Úñg©Ê#&b»aiö³¬Þw+P¡Z)¼àõ^ZÏãÿÔhìzÒŸ¹­V¥@'ìduž9å½èkÛ9^ž&º +‹Bã—2ï[ ý¤VlÂ}tücèñÜ*6¥ùGõsÖCýGë'è긟ºBÉT±IGÖwlTŒWìóÌ Ùkifà<žVÖÛÉË>ñ•æ+dÏ¿jN[v6I;»“ö­Ky÷#7ùÛ±™1¦8}™ &¤2–,¿H™öG=¸ÞéaC„ƒ…T?@ª¡Ñ>N7¦ìI¬¿Ð"›"ìC’Ï/_‰”:eûÃÙ%·¨R.Éj°üª±¡|Þzr¹÷V)‰·¾Â›üZúÓˆ&Í¥\-Ð3;üœÉmÆ …Íþ6€Á"%Ÿ.(=×ù•?O“²»A ê$§¼ÃÇc›@^áÞT¾Gpœ°±ùí ® î8RM©0,ô¸^Ÿ®ØcVx&Uµ]ΘŒ¹ûúèÏw9èÐPÖIµjlˆÇÂÌ£Qæv_J {8›Ý ”F1-ñ+Þ¹!šŸ /¥8A£G ‹ÅS;‹bFÔƒ”°_ÖHâk‘‚Æœb-kÊnCZê†7ædˆQSÞ5\Ü…APERXüCÊšg‘ëDì¼Ó}Ù +Ή¥ì™"o²¬ý‹N²ã¢ð ¹Gåp°HžüàÆœ ôDÖò‡{ün<ç¶µ­•yžÞF6ãh¯¢.W w°Á93æysŽ…ƒÖB7ù““ÜÓRºA‡Q²‹–4à¼Î°î—,ßèÕ‰™Q7ˆà%i»›\ -´%æõJr<Îj:¨b¢ëTO0"‰0³óং\È£± +åÉ~M¬ªÏÌØ#s%3š±7ZˆÝï51󽸀e?¥“ÏÖ¼þý)^ÎóÊ4pƒº¸HˆGY£€e³û¥ +‹5¨ä ¬2Þ/‚E¯uºü©–‡”ùÜÑE÷¹˜è#^ñÆASÑaäÊ¿{²ð½!¾«èïÎÝ•ž|Bˆa• Èà”" 3ÙÝç&8› €‚Jeúrð…`ƒW½.NzX”ü®ÔÀ§–~ ˆïeÆlÈdBñŽ×‚I#2RåõhzJè®¶Þ§nñÙy1)(_¼åâE_#­øÂúmï®Ç 3⥇FƒsÞ¯8\­£æµTàžñ§~͘ z„A=<$ÜE¨ggþrA_\á‰K”C¶QG‡WÁ´BàÒóbà¿éºØ»Ÿ¥~Zóh ¿­) O˜ÉAö¥ë`ÓHO€´ÕJ¤¦ƒÙê0=IO Mƒ¬¯óB e߀U¯lbØLžb˜"CBedž8_l<5'Ðkš'[UÌ`Lqqôb—d€¾´R@;MÅ3ñebuà¯)bfA‹zŠ”p¨úyêµêoZ®~8 OÃÔã/Ÿ[Ø3“ uEâ¥ÏÓ&ƒ^KCŸâ‡j~¤Ø€ðÖ§“Ï›Hb´Ö¡3J$Ñp!™ÁgÆ'@pŸe$© +FHy6O×åþ ›·MHúö'Æë®¬Z8ô±íàðøŽFm–3þjv©lÔ·ö¯¾=ƒ})BZDnxD"O(Nxç¥ìÂ{él +gXÂ$õÐv*×BÏÛÉ{†À¹·JÂó2óÙm™Ÿ?R +™,¶>œô±jÂGÁ ‚~S +#­ˆón*iF+l<|‹”eg"{µˆ&<>æ;Ž’é2ûGzŽI}€´…LÛp¿êÄ Ý¡@õîÕCõH’.¶à ŸÒÊ»c¼´/M#{§‚_ÉâlI+,n¸é»ÆÐѬrsùþI‡ÎÇ!K}r6?&†9Ð +Ås@žQÜÑÀiµ}4¬+ÄLeZã—×ê³ÅbuEm¦%B&C@Ïk\äÖƒ&Cæzžš±<¯üiöæ`& ókÇ Ê»¶V§|el÷|'9@< iY¤í†dÄg‡Ñ§&•ÏÀîàÔºªÈG4_úøÉkÖ(¶¿á 4€úÔð|^* +¿ß0¶Ñám¨IO¥¿&Y¦òlG ä<BLŸ«)ÑœGO¦(þU³m.Ý­SÇöy¦z]=ßÀkÌâ\T~.¶€»Æø:é¨}aç˜x:°@¡ ÔqacV‰Þ¹Kùmu4™+–x3_³ùÓ¤™S(âÅÅryÅ“FºÃnÍéb1”™…+ü’ù%s9KL ⾘SÚ|‚˜XÏ@(Áüžy’O/Ï_k§ÁÄÅñF‰3Fº=±ßS÷¥cÍÌ;ÊýÁ8>´ôD"§yàMììü˜ô^êèäeJ\@JºÝ%;wzžš5œ»Ë”­=žCÝ‘·ÿ]¾þ¸J›Œ1KÛ™•+‹ö7u½e••Û^¾˜r£`Ê-Š©wñš~ÍE?T„?óÿ +¦>Qv~¼¡ÜSÁ'_s­†ïh²*rGëX·IhªÞþÅç«ìÖ<@Í®´T³¿–,b$ÛJø4zÁH÷?®2lÝuÛÕ||OÔÑÔâeŠ8´‘R‘ˆލ…%úÂLú2T‹‹ðëÐÄùÍ ìëE¢õŽ|ÛëçiѬ –B:‚ÿIÁ®ì=W”<ÿs+;ºô*?«' Ê»{;üÊ·U±¶?Ý=¿R[Áwȃ³C!<ê…Ý֛Ĉý¹žØôçØ³ÊŒ?+ªâjÞ ¸õVA +Äêuÿ]'8>÷UXȪe{ÑtÁHˆ qF·' +epæ%‹u\Ÿš“ð#Aךì1…f™Õº@Ð'0'.I¥gdÉ"$¾CŘKˆ6Ñ¢E‰;üç,6SQ÷ZW{|ÅK•AýlóÆ{ðÉ3 ØŸ67L `±êY–—ÕFL¢äú€¿FØþ¢<–ç±HgÄÁ âóö8.ühÁŒ”‘­\ô$õfMŽ]Á}¯°ýMqYŠ.:ŽY¦1‰$E¦'1צ<9–mQ¸íƒÐû ¤G½°.pêrCWˆÇ@†¹±bÕUø +€dkš-¨7®É漑õ|—ñ—˜{IÈíŽcó‘m9u”3#ï +ÉI“E›€¬> h +—ÙsS…ÖfÄÍ€+^öÈæˆõ¤GÁ{eÚ¡P +¹S§ƒÁùêJ ò†£c=Õ£`ä2t ›=vVëWò%["–üôÒìBebåÐxûJ»¨Ópí6Ÿ“\ÍÛo”oWˆ±×gÙÍ+OL.žIº-PIÛ*ZÛ;…s=Ñ{÷rõšã€@‘=0¢5’¿=I+ÌC³AàëU僴+×Ný3ñ;«þ¾[GA¶ê‹?¸¦d÷æßÅ¡N+©mZ¾²š¡ðýLÛ¶;¯QþÆ]=/½[zí¢„Ps»µ×ÂvýË|¿Fs¨€âºìu&¥râ„q2±¬¹ûáÛiÑĉÍûÚc•î7²ìús«ú¯ÓNËÛMóc æÂƒŠé0©òîÔ>nq…_öF.ÔL¨÷ÜBª +],cû‚[FÉúdz3ÜLî®x‚‰ÒZ®Sâ¨èâ’úÌ] 0}ܯü)vHê…Êœ3o IË£§Ûÿ_ö^†¹ôa˜" @zE‚´?Ã3‡9ІRêÌçôPpJ-’¢Ã vÁTHÆ¢¤Kϱ Ô¦¦ž,Ÿ¨Þ†Îa`÷fîüªv½ÎÂüÿ¤Ä•ÔÀÃñHÀ>E~bÍCó7ħ3BT‹zâkæ¢ÿSåKôCq ³va¹†/_(܇¥¯Z)FÑÖ&’ +Šg£z.Ûž(t*M+„÷$ÛÒç?¶X7F¯Fè’^_ýu£tîcÆ¢‰“Rx½ÙÑ2ì‹‘/Âßéë¦ü·oeŽz$A  ŒB•'ßÔ”Ä + OM¨×_îc²|ê<ß-ÔÃlÂC–žºÿkoQ€‘ª(h3ãyHh_¦ÿtÛÙ¬Eüñ³¼Ù®{މ©­Ã(bü g›Öž¶]½C~8»2ãÕÿ÷á½h,,þp€˜sØn’‡ô†¤ò!ðáªEò]jÆØÚ̈´øvZøÑå^õp ¾~Žro(Ö3øÑä.&qq—$žN d-#OãxøC˜]#BOû†©¯ …SlŸi Ð²ÛeÖz¾*Óø€%p`î0¯'õn¤kíx®Ñ쾋ÐMÓ´¶æ†Lðsà7î6B¤ã¦~êDYâ-mËÂ-“ÿ9iÅÝíƒvÄæÅX%@!ñ«ËÜÜ^]‘h"D|žÎ³X¿Á4`è2÷ÏKÜËÛ‚MJ÷"•~kɺã‡Ó¤P1£X{„FXC]NõGÉ‹8ž¤'Êo~ýRw“†4•t +—ì\™ˆ»´³ðëNÝŸ1é—ñà{Ÿ1‹&ÈQG ³8Œ¢A9÷œ{“;þLVëZYÿ¥ìkúI +b-e+E=Ç—§IÃÕnÖpÑ4‘Ñ!í^ÄL33ZÙàÜÚ×ÞÅTZxNžÈ6I5ÙÉÐG|éT"n¡C,“´Ñäù·/¿Uj~qgº®±(\H9?G¡r¹nh;vÚô2ëË/Í”è‡À9p¨_ŸÊÖç¥Êo‡•œª¹·–#RAçÃ%h˜bÔô צ²Ð-ò’Éyüºë,´“¹2Ñì è±Gý¾"“0üµÎhøC°GÅÆ:áEºÔ„ÏE°²}ómµê#äK ¤%ˆsÐVíVj×=§¹K~ƒm?pê²4¬èÁjÜ¢‡émø”—s`{&Z&à] Ö ´Á—¤]²#ÒªëâÙ-ù˜–ln>Šß2̃¢ŽÂ70zÅÒZG‰œÑ²«Ž¬ð„A 4‚<³Zc[#@ÊG%º™’¦éKƒxvØÈø ™¡\4ÁÇînK¼¬XÒHüˇ³&­=Tƒ„2{Æxüžðvît‹´=¾¤x ‰ÆüpïÆq©0«}KsñrïÐó!öj À>‚So Ô‹6©rĪf€EK¸'ûÜðhá›g}YßXUŸ¡—dù2øPÞ°qàÚáždšÔbŽPÅ!Š•lf9øyïZƒ‡Ú¡bÎÓÝ‹m÷6mŠP³[¯Ud‚܉FTïß@ìÆ­? 5ÎÁ&*VÒ9ɲ0Äõø«ÚL‡®Ö­á¼>"êé·,¢AVJ@p)-»Â»rüöÙKˆÖV!mýý¦óH’áÌ A‡˜ÛÍ)»f2¨ÇŸÊ€19¹zV8c8¢FüÙhÙõºùùº³Ç0[.Ÿ¥j™–Óî<´ÅzÍ iuŸ™k1,ÀûqŸ‘ëPÁ¤A½¦þCÂȼŸ#Ò}['¸a¥ÏUøÕ†t>¯Î"…Y|ºlÒN1Üe–ç5éÀTFR™gÊÙ ä8 h0Âpf"Á:û[‹P}–í¼8~Dr +ù0–²<Ãj|!•ɧWˆ ä[qk²++m'PÂÚ=2Û°ˆ÷yüó +âÈ­•¢ùâ±ãB^Œ²–¤MCÓµ˜¤Ã) +Ëe/Þ³ë>Õ#c ∛o+´Äl +P2Ùã[ìTÏìG(XΚUJí`Öâo,’|nò/LÚø³+4D©hªg$ãñ^g†öH…ªµžƒ†âRúÚ ø!¤ïøãèü‹îÆÍñ¾™j+ÕYðÇí[ïâkʠ亀ù˜4Þݬ0 ž×Èý;˜Y?¥,µÑ.k|‹ÿƒ'|§”ÓÅü×ÄuŸÁáÈ1©¿ ÍÏt^ý²Å¤‘pšÌO´×ÄRdZûNñÐ+Ç ‡£ÍËÓn†Åg”Åöâ"‘¿vA}ÉÆÀ5øì£í"µþ¯3ÉæÕd§1ynŠê³,u$*o@¯eõ¾ʸSênÖŠ"ÜàQ®6µE1²%ŽUÿÔR¼ÞsŽÂo‹0ˆvmrº¨WÈxX”Ï'›Zò +1ˆçÖ¬¹òØ…ÃF_xhÙÛŽwE¸êRÆù&&iá3îxÆ<(÷äA»^ïï–Ø¬¡» iÈLÇs˜àgÌ <–`é%Ô>£x‹ô¦ßxtô[\ö‰w–²e%«Ý ÎCôgožšÎC1‰’AiÂofXÛ¡6þ<’`=þ˜(øck¹Úmbų¯ÐâøB%XÛóʇBo×b§ÐEi-*mÛûÍ’¸Ð,gÑY3v "Ĩ LoLX-ù¾ÎòT)ñoOÎÀLPTÁðtÊéHœDšÒëöŠÉÆò vK0Wÿ;Î+`Mˆònó< ß 0ƒ ÌYµ˜½…¨¦A%ÆHu8Ë(šÆÂßP¸áo(0⻪×/¾ª´BÖ¤´ÊâïÁÁÕŒŽx™'ªR£ó〱Ž‘Ìÿ ÓÙÒîÖ–;[”ˆ0ĦЙֺÂTf•ðEÙÓF*ú­>q¼EH5«Kƒ%à”þ…sÑËÛÎhÚ³N#í\'f +\aW!pÖDÚìî[ÒaLÔäM¢Ôžp1B/I'ÔC $˜ë†ó†€íÞ@Ævä-ÇW^=’Ÿ€¬OOsϺH ~ñ³Ÿt=k °lbsgü¸*”“ý«$Ú.æÂ>Χzñ›¦Ø[ÔÉà&Þ𪘟h˜—›q#!#³×ìÈ€(T•°–eŒBÀ‚Ò ð´â|W(1*Á5ÔÖÜׄ!m•JF$·‘ óH+Ôeê,ìeÔEbЦ4Òœ‚?†ˆIøˆBÍ«Œ"Øç »'LûÚßñUGàaƒQmØ¥ùý•¶ŽÏÓ à|¾œ ¶(›_m5¾ãјð½Å”<BNÈ÷Ÿ @c üÕÐè˜jã¤$„ºŽ ýh´_öi3«ÎY:¢)%›N*zF‰ÇgÝZ!?¨îpØ.¼¼¼·Dæ†êGl{-³1ŒY u—‰ q2¡h¢Ë*þ²{e§òzÏÙ`\˜í|òð“-"¿=/pB +öž&ßn¼"¿–à…\!ͤÀ±û;…’ªÕ\Û)Pv 0–îHk È!êßéÛË5ýtRj#’ñž•[w„ÏIV Jh’6·9Å‘½pxò;ŒC7T õ㨷pN’)l»v²ä= +LꑉîœõOó#X,DÛTØŒ–÷émÄ$9 GÞ"„ŠÃ\ÊèþOÃ}]aÒIól ÍΤÙΣEÆ%Œ,x;@Öœì¯5‡[íòŦ0ã¶kp ˆ`ûö’Äï9úÅIåeJµ3D“ ¨˜wjú?5Jˆ%5õâ Þ–KÏFc9—íñ¾@˜¯ŒTôŠ9š cGk`³ÖJ†¬ËGR”]ޱI&pã·ï25°;`øà©GͬzûÝ}c2Q<$üo¡ŒwÔçHw…É—p¢r;é†Q¿Ýâ)"47Œ4yô>’êÒ8mÍçý_&—uóLŠgÈaxëÙ˜‡r#êYÖ­¤ív¡ÛÐE°{%+Ôô=­Õûì‹3cBc=±RÍÚëOY+?@& Ýz«à³W³vw¡îËA Mé  »u×Pé4ùß©Jl܈{µ 8ÛöÿújîÖÈ$z¯Êwg;™ ©é€Ò·~JχDK7Ü”€9ïʧчB6#… ¶iñ¡Aóû&4¨Ó< ‚½ +€aö<;в¨¼’—Ô¸e2 +LC·7îˆvˆæ!µ$É'b È£³9Ø…úf\,_N¤ì74ƒ‚÷ŸW…D4ȵ ÑvõpüìWèno +½ËæÓKƒ¨ Š„óñ£‡cS‰SÅpþIZbìýòeò0æ 0§ojryö¡­Ô­Ž“óñ¨@+H‡<®j¬KÎo_š‘ÑM‘_G›RMsOe”RµÍ‚œ¸±p×@€Â#Wï9Hâ~ ¯ÔîÊù2ƒý/ÒÖ¥ä/"lL€ç- ”­hœ&d{¥ú,k‰Ã„Ìèð„µêÝîŽDÁÞ^¬’…˜¾&>TûÜÃì¯*:ãžbôƒ\¦“'ŽÁ´eå[‚÷CM§oœÇ³]Ë äç;¡Š»)0 Væn”ÝH—+ÏkÓ@~¦‹±#“·ßš»ˆ_xøvW ¤†³ ]û<âðì@-‡¼¹|Ûuô!äCÚ#h³cðöœCc R^Dj›~ñöëýó+ pÄ´sÛf.ˆÜÃÆ™fù€’^Þ*^N¼$(§ÍÌa³Ô¿$ôpó@š IõáëSòRññË9Õk¾=¼¼™˜Y|“*X¸Ð e`tùæµÀ^·âw7`ÆÔöa#v š Š­ê +„i‡jñ¨¾ XvT0z.’$®Õl #ur#àyÈe“ó;YŽ Æ3Ù6 tÑ‘uûÌÎí¡ÐïIWtާLµH~xÒYF2µn^QZ$ß~¸ gÑÑ‚ßQ‹ëypenØw.0s©Þ—Ò¸ØÚš6Þ)É[‰j7/‰0‘—“¥£^îM¿”x² Å,*ˆ1Ò±š¿>‘ 3MïdhóqîªBÞ "5Œ (±î36áÆ~¶%ÜŒŠU-×ÄÖÞ(æ£V‚Vr|7#©„¯®LŸvù­LËÖ‘ÔðF<ÃPG3eö¯ÿ Áyq°q~ñM˜äўǓC J>ìx~ÿO.ûâká\ ¯ˆòWtN‘}[tb%2G`AßÃB~Þ+…O ¥ÿN (ƒ-Ôzâ°â[Á„ï…¬>œèiAá{†Ã¹ªL`Iöaι Ÿ4W¶‘±¶Ûê¶9â/Q>ø%æ(8öÄ jÁ» +9i† J× °e:åàZ«Ú/g’Œt%¶¦\Y¬åV0Õ¾Bµ…?Í+±oG0fçš®[5ÿ+D*¡pPaQÖrË-*HÓ£ ]"ïûñ“ŸSû±ã „4Ñ*[W ¼‘EÛkl=!#­ö;+°~ l ÿ•®œaMû5b¦›)M±×òÇH³éŽ"^ +ÈÜÄD~Ö*Ù¯bXmAµyF*®÷$!'}v{ÞϬC¶)‡£‹üüw.G ³oi‘x‘'ØÃnƒ˜À6"™ÄNA¶yó» vê6ò+;ñSÚ¸~ cÚÍÙt±É/îs‘DsŸ³A¡aäMÝ®Ûäš]¹8‹I¢rÕïOKàÒ]Ç,-†„2C‚™U&]Þ¬ÝÇ€ŽÞ)Äà1ÞÓ6†ÇÐ;r7ãì:ß|r`ä]/g²üˆ¤I~-I§ÓÉ^lgGÝ×àøÔhÄéþЪ'œ³àýâ?ys–sÀË&õÆûÒ¡¹0']t°7†Y‰h ¨iÝ™]6Ä”[cÖÙ¦xK¿¢fGͲ°e'{¢"ªÖ£Ó)¬i]„j,qæã/Ñr”V6Av‡œ.—­'ïe¡º=Àâ’}2#S‡M½Ö“äVf¹A=0ÌZÀL"ß"‘ú·ò“ÅÇr§µy6" +ÔÔ.kˆ¸øº&ðÇ)VMz¤®¥ö6Ä”'ŠqKéP„G´)X­xbn-vZ±ÛÐÙ£3Ëeq¶%°ä¨Úú=ÒF{˜@sê žvgƒ4@ùÃ'fŒ,Œƒ¡6ÓP´bÁûš\ß2ÙÚPBÈË4 ¨ù5Þ!³hÂc9©Ô0#RSEa)¹ó;#7ýS7ÜøŸøÎÈ-l¯͡ˉ¥Å|³|û½Bˆ0f±ä0¥{±0aoÉ. ÷»öy¸ÐãY.½ÍÚ'TAö§AÈ2+C`¿–y 6À&®äð‚iJùÅÓ ašFn‚Â.›G!vßÑkô˜Üs7ér”Q¨v±ß–ð²uõ;ÓS½‚¦´A—΀hXX{ç%PlºÍ è’²X®(JOsC¬Ò˜i¦â×’.´ÎY]É €ßPŒ˜gß³˜¶ÎõipoŠb¢oáBŒ0ù4*ê)µ3«”°õƒ¥'U ¾Šþ4.5cÞÉŒ8X6H¬ßB3ˆ6ìº*Þ,5÷ÊZƒúâÆ`gwz®îu•0à^+¤°YªyÄLª9Vù|÷Aè®ð¥z.­ŒzlWÆjÝdž–ˆ±ëˆÍ—Tã£Û·.‚ö5TP\‚a•ã 5iñ8#†Ë¼QÛԜݾ¶/…šΚñ*fþX}½ ÔsŒ¶Ú‹së”aßüÉû6#jDüÚ$€`™ROågVÖÊsY6dª‹€7<è3±og':.Èiã¾ÅáÏQ2ïvaŒöx1y†ý8re¢M÷°ÍËDÍpšeÅ™íDù²÷g6,õ`Î&ßϨépÒ·jG$½R;ªÊô8Ò›ÌÇ8Š7#)—æPM¨íÄ'"~oËšP¹¨!ËWÏe©rèE%ï3õÜ“–lJM*qh‡Cë3\þëaÚVL °¨àpè4·u\YOox~öÿ(nQ†ÍÀ?ÍgbÍ£®-LÓ#x<稿Eæ){a(¬Íï™ÍìÇ1^½ÜŸbó yÖ$ÒÐ 6{ÔÜRÕ 8Tœ™åÕ Ù¹Ê#ììSÀKÀWV<£˜^´ T1Õç%ú5ù:‚7BÎ6;4Ë ’‘-FÑà +Ï-¥ÄL™o›É ଠQ[Š +cßø0¾·•J Zv«\¹GÚ-ïKé#ÂtGÓø·nå°½dÔUö¶†h¡òC\1D|mÏ.Ç`Ù‡++e·+dzVåÚ×Z”Y»„;(æ$Q,ã+¡ÙÑŠqw×apÅÅZDQ/¬¶áàNY·*ÌQafáVW¿”ª8Bíó„¢Íð™g/Ôdr¶üœž+s"×çk.€·¬¥õ×:4Á ÕRUZžÜ,©fÓZaÜî'B²uä¯Bþö›<ÇÚMήßCОwÉMUæ·ìÇä ÄucÝkàÂp4þe쳜N2’Ek ÕN—D¥ãYzÔÌS C&{/Ð4PŽöØ&™6p û¢MÀKÇJ–°æÝyŠ>ÊE=4æX^FI€ ঌ8GÏ|ä`Ìª× ,T˜‰ôÚç0n%¥ª€ ÿQ¬”Ê¥¡¨WÅ“Œ,ËA¥Ï8³ŸŽsèzÝŠf™Þ‘Q´sY0+£—‘JéâTW¼^®½FHa'N¶Á…áëSžºµ”¾n‡b–Š;aÅ]àZâhÿq%>ñЉ9ê}—·hžJ³Tý¥”š ©\ÉB‚·sF:ín'Ý…ërN`:tÎU1Fµò¹Ë\4{›JÉ«‘„ë}Þ—t`D|ö$—p¤ÁS&¥´äªÈŠ—ïrÊèzÈü…•K°IâAc°g@ëXYºaš˜üt¯|‡4&|!÷¬hO{ؽ‡B§„Å.èꬿ01ÑtâYL ‰jù)k0ß“lÈôÀÇÎH¢}7Šˆ0Óä@…³³éÄf"’_dM*, Q¨Ã1¹Ÿui%iæòÎÊqèÛ‚ÜLÄÁù"~6)Œ˜HŽ¡h±ÐûÙ †–¹›$Sÿr2í°{ôb—ÏgFð§Á|¬e®3à_q.r*–ý¹ÎõDHdè´.põ +ª8tÐv +¦?ó9æ¾j«5‚•_‚CŸ[]@TÛ•€IqYE—È»úÜFzR¼‹VDØÌpÏ Ó ÎÌ4”¢Ÿf½Õ*–=Ù¿êk¬SL¥^øšÖ= ༬l;ƒÌ·sèëܤn¡3X¬Ú¤g±û'úæ‚¥P^å'”:öØrúJq]ÿÔínKŸy-Ñ­W{Ó0Ðч²ÑžÜ˜0 A­ “#:bÁ}_wÆýÍcœSõ$—%Nk_-e¶«Ùð#”ùžÑ¾O „•|.¯LkçùD¶Ê÷íƒad?C6‡A°…Dk–æC›ÌS’5)± !‹0~Ý?jÑY¨_Í0òi(‡½ +‰C„BQr#ïòB_ PØ´kLÈ b5Ó´â­Œ ·$e$ö{ÕéŸ\_Ä›è«qF³Âß,›Êò'< êµz„¬ù.¡&Î:Œe‰ñåSê‚KÍdYõÕ†°g†z<˜%KgÌ)«³=Ä™¾ÃABåj²¶šky:aFÓ4ú ,¥©L>¦ê*gµØ‰¡Äãòóÿ úµ'¤¼¡|m|Sh^X¡=g/ |XóÔ7d7߬Ø(Õ Ü<µFÉ\Æp|@ÞÿRl¸Ó¬YäÖÜõ¸Éàêç6PãÐ4J‰#n‹¦†É4ø1Y9ZG³ mE SKAVY£m]5"®îõ–9K‹˜#N¿¾]¼S«±?Yr®”hÃýÜ‹¯’mw¦ß[ht¯C„f~°•ÙA~{î‰.c‘è3õYÜ._é¹ 2ms$+îQì ­ø¤\¥É`Ó§ Ã*UËŒ.¡%gÚT,Ý2WCŠx?´ZîÁkdè¢@Œ9&Ó2Â& +Åû^Û)þC‰çÒÁ+Má6{n¨t’øCuù\ìçgèØSÕ/nÓ +SÕl²5ƒ¦ÇÄ86?™†ºb6öÄ×\ë·L>6SᢰfDò/o#Ž÷*[ë]ë!›{ͧb C,dY4‚¾ÝŸ“@¯ší@R©Å0Ê ¬\Ò`²¢E˜ ¢fy%ô¥µ4xHW¯FÄ3a.+S§´é­fÙU*,8X3QkEzÝažvpeU¶s +«â3gL«q1°Ê«5Ä,ÈÌ2!•¡²ãé1òE®>J…°p?oÞ¦LxŸú„CT攨5'³:bñ~2øð-Ûá™æ¹ +Jšæ­"«8Ì䇩 f”¹{½|ë.|­{sÌ_Í÷F–¶Ìð0­añ%=ˆO>F‘ˆf:ËéÕãˆqm¯Ò.ÆxÞy >= +¹[,äc›9–T”!#‡ `Àè÷“nœY“™PNy,µLdx]ÂøŒÞWdà.‘餀Rà•ÿ{ÁøÑk{»†?™ “M ÉuL•zn¦¡kµ>®¥ µ" ¿wò—=ÚGì’šÑKo/£KcW–9ôߣ& Ÿ#9M~‰ÐZám(øÎ6ˆÚ¸ÚÝÙlèb¸_oÉ•G|6ç°{®wŽtç´©Œõ¹F€§X•B‡Лùj¯´à©Mh†AÔ:B^¨ÿ)Tÿ7b%tØ +ö@{Ëm^~Å3k1—:6¨³å‡B“LrÓ‚,¹>ƒª²¯ÍbŒ˜ª^«>¯#¼"‰.œE,¦[‹Aãí»â`®ˆÃ«ÅVN%UƒFŽÎ.XÞáBåPŠÂ-‡,“M6nq,ા Üé]Y¬TŠ`‘QÞVºTˆ³øÔ'’L}°tèžëôÁòú†R[®fiðéãn‚Ðrðþt.C F“d¡LJ¸fL de£f¾ÆÎŸYÛ³uÍBÖ¼”s´‹1=kP¨qv !?%‡gRîQÍü“ü;{(Z‚üXÌwQ0<ƒ{àEø%è/aá‚Yƒq¶à ~ 3¦¤f!6ÐGÄxÞ•}™'OàÙ2¸x¼33†;þX]¾1Xµç¶fyw|‡@ŽÔY˜?ÆÑßÌÕx:Î#!‚9bã ±hU‘M'æVHª7Ë¡®Þ6–©çD¼Ù]ë"Ê}ù,CdJUÐ\'¼ð%³ýˆ Óq!-Õ “—±´+ø/P ÁÊí’Ò884€æNHÖ«‰Ç´ð5\±2 +êfk"ÁP^@)ð¨ëŒ¥ó£ „yÖú#±àG®Lä~Ê#Ÿà¼¡Ê}YŸ“e¶Oܲx¦`Y4äñLöoõ ¥a.Ü›Øí€ÈÀÓ%àÚó]ó¦Uáê»ðÆ7œ®Á…k _Öç5,[AGÇòy(WNdP9˜ ÃZ+¼ *ðÔúRÈw¡· fó>ˆ÷¿¢9Õ¬ª«F=U Ä"ƒ}/f¤©^9tmÅÚÊ8Ö“0ޱ~kþGé0í>…¶n2mNÕ!ôš$/jWjÊ],|7–û»Cª! ëq ¡ÒŸµ–®`Ø ÜAGq–ÙÊ~yÈë¡Ê’8×N¯¯Ï ð²´L¤ŒhÈD 3 ;ÁVlÂ13z‹Y›2V_[øÄ™teGåI)„åcèHUZÂ8ŒØXhm´`I󢄮*æO Ë¡åý¶ï ½¹²To#ÐSS$Òe7rY3gð:s{ÅUY½\vÏdJ‘áöçØ%ßþêfG£](K‚aíX‘Ú¿ ÎfÎ +:,Ü=! —B:öVr´‚ÈÖmöǃúR,™Ù8ØÍr´Y^d)ó†_<ñÝŸZ–÷•sáœ>'¤Þ +löÜv¥|Y}­o$kBL…Öë|V“XY²áÌsff"•…Å äñ$ÃÆ†]ÑŽ˜Cæ%$ZÁ™™ÁÊ‘|³á=kݼåì— +Žì*ò¡ŠéÃ%vJÓÆ¹Æ…î;Ú;ñ3€ˆn¢¥yT¨ aZ¢~ä– ]Hó ã.öôåº ÉÏ×ÑV>c—-ÁýƒI&¥5‘£Àu¥È›€úPØ8]Ätâzd$£×³á'bí¡ÿ§L)«çGžo蛩mciÛ¸¨…‰Ïb%äÓ“,R¿#wʲY&·„>VyˆCž‡‰(vìY²’‹=”ó:^2hý\Ý=íÀì•÷ñ¬5c˲V-úp¶JeÞ˜»Á¶Vo·ªÑ°ï‚´‹±zl–ÿe‘lšf:´êðͲ6½cÞGWâCòÌDìrqŽ…d¬V©l§=}E-Z¬£ !oÚ ÑMxœäÕÛåÏšfòÄl«¦}¬î‚NMعrdÑ]q ¸%&L僜(ßèf³ãÅ”“Öo·Oºâ…Ò¤X±çY¶¾T®‹d¬)xŽé"xÓbHichx±¹“añv¯’5§*Ú‹b”âeçgkè¸ÛeÏ¡ñÍ”B Dƒý¸3½z«Ž™´øãj IkkΚl;Y@‚;XY‚ D«–ëgZ˜ÇG:¡)´àÙXšy¥ô̇=õÐdV†®FŽáh >›iбû¯: &Ú=dxtàOŒ áÕ'Ä£VÒm ÓyFÞº æè¨“í:g›ôŽœîgñª9rj(=©¶@×rµXV ááÓö¨+s²K—͆ Z[ô! >äÈ=êªi±ö›«A†œ¼#¦4%·†*¿[b«X1Üè†ÃŒ \ä ŸÙ”é«‹§Ú–íÙÓ˜¼ áõóy^6ÐÜQ£RÎM/P^-äI²·ìWÂLë  Küüù¾ÑW¥Pc(y_„`úr»C!Kv©–éIVñ..ëÔ[Nwžx‰1×/b”®2UP¤‹9Õ¸”-9ôŽO™ìl]ŠE±Ð/mæ§9ØÈ1ß,)bòs¨ËôbmjðÈ„ÖÒ£±¥£&¤çÉbŠîÊ:B5=O»® +çÂÞrÐÆz¼ÐÆÎ|yÞ>ŒäGÒàDÝ`8:¶âƒ3¸@´b€ ƒ¸©1ÊMdƒé¼HS1`B0ÎC!Ú‡¨—FsIŸÒ!Ÿ¤]OåIˆ|Ž']ôr{5Òí—×Yÿ/Œ§ÿŸ7בJÛÒ1c°†Œk›!t¬ša€.¯œ!r/ˆßŠ8ŠP1½,éy;ØM6½¿L ›Ò¤)Ðh7—»”]ç” +ëy!t~nA¦þ#ͦºŸF©*…™°䤢>stream +1ØšÙ¹FÖÈwk¹ +þKå!“µðë-Š–'–mzFMÊsÅ{R¹ +€°ž™ ]Ž–ÚÊ\‘i´HGVZ²v2Ï™ ã^ÔNzîÖ¸O0‘­¨ŠðëAùi¿IüÙ]B®Â©ØEÿ·4«Pc½ˆc™èƒjÔ‹ør4³šÃ¼™Å·…!Éàƒ6;³™c'$±)n½ +úHØ·’\~¯°Íe(Í´$Úþ¤Þñu#FnÂI=¢6žWú?üWj1ùG^¸)iCáéö~¢ñBÙ-pjÝ<Žär½m0†ò0¨’ŽÒå?›e2¦g‚_‡²H´½}˜wT®‘‚Äé‰JÑ3ÂÕï=à¾JÆí%”Î_ø‡í¯f%5ø¯¦9‰,. ¯¹´ÎmRSG0Ký,|VÆ I C¶õXSÞBö½6=¶Hn–_¸·Ðç祇óõká1BÉÞï•sÑd—'Bø~·’â•'‘¾J͵{J5˜w–| V£«Rë‹I'‚q´ˆ¥<8˜E‰Û„<9Ç23­¨ÚÖñño.n ’Šü*]Œ¢çÝàLçÚØâxóÜs+èn@®¤Uˆ•è-«È5p#ê%]S´SmÚGúæH®á<_‡´'îž`]Mìèl>Ø,íyä9wÎAâ¨!xŽÌ•·¹>1¥ç€íI®âÅI,vC•LöÓ`òƒ™~X>5} ƒpcƙ샫pb/Üš)…!)Û?+¯I<1%°Wg?zâN? ÔçbÒ’+Ö}4Ñ¥ZæŸÑazù݆ò¥sÍœ~Cè]žQborœr‹Z4‹-‘+g9Mo”Ý9õ>Pý¢ÃL±.›ÖGÔ}W,p¬¦Q3™ô± +~õûäþqA{å&nÚ"¾Pµõ€ûø…“z³…FÓûKøk}CùDÛß.ïX£Šˆ“ðlΙB»|æ+TÎXFK`%fªÌ·¬¼b±ž²ùÍûW²E9<š®´Þ£ä@¶ÈLPÅsXKSÊ~jŽÚšµ†P—™ÈËÔŸ3Ig ŽEÌràQæ8…LÿœLÍqãƒI•ìõ¿SVrZP&vWb L ™ˆ©rAåšnÀiï1C‡L~LÊ| A!ÂŽˆZŸXÖPbA¥°œØñóÖ*ßÕ*Veˆ˜Y"#ÈÈ%þ5í]YKC‰k=ôàáéF¬|2‘IÐêjÀ‡ñ‘Ì’¡ø†ÝyXPÍUæ+_Ÿ¡J$ù£pòÍ%â J‹4±n˜©øu‹êp°Gš“ghK™`#°óÕÇ0”Ïò‚»DP¸È¥oYÖc«æËu!Q&ŽjL-` 1Ùdoä·‘BÈ8¹ÍÖäRСj-¼uÐ)¨ÜÝpN ŽØGå±ô/ÎGñ+Õ<T&©ö=øéËﹻ7ÑYÂÇX ¶8ž—74ÍÇÆ2©›¼SPÚÈŠSòÆôÜÇæô®ݼ`±x{Ü n¾«×aA¨ÒØ4"Ìx\¬ŽÎ”^Ý[îËW¹Gåm_¿¯'|ñ7âÂf£,}9‡VªÝ|3ÿ¼ê#ýb¿¾É"+ÌutX•ÚêÏTŽcz/&§O;bîR$þªF‡³°d"=â´õ÷ä9‹*êh‹JÆ +o…$z¾ùÎq‚ ópŽó‹ønL–qË_¸côYœ-,Ó%ÒÓƒ1ë += +a\\ª‚‚M" SRiÿy|qëdcr}è˜ßh\öΔ2K¹:!Ľ¶©¤oU ÍäÄÈ@ê'k·-4 r ™! +cÓ¤ªùQ`ŒmªŒ×àØ±Fa™¡›Ãî° ïÝÔiþ°L?©©i 7ÕJHg=4Ç/s%Α­:ÅÖ:sRæã`'Óp¿·Ä/Ò6+VTC¯ò;5Ø…/ÒÞìébR"MUÃÈb|7ÒkwŸ21"rÆn8Þ!2êÇŽ²Ýݘq7k§âwtæ«#«cì›l6Š«¹!‰ñWŒ«7~Ên–Å MMjwÓ*c-ŽÌ¡»{؈oʦÅ~ s§©x°)tØÝA8’ê=‰©auVvvêNA,[vr9akJx=;;úaË•G/ûÕð®ª?²üîC„VtuU©³ +cK¢îê¼íŠÂX¥îA +.ªË€ö£u6%¥ÚX¨vµÝÚ™¦D‹;IÜïH׊•Xsy…Å#MÛï4Oý!+‹ŠA}®¨U.9£ÝQ9r®™|èRVš}jù_{™ÜDTµšÚ1ké![¿VKÖøBãʘ™QÙ<Ä’š)Ú´nwìÜMÓZe‰3¿î¼©êògBR’„sRÑgRm46d íL»Î÷²«š ïc9¶6„â,_ÍñVtñÍx*Ü l/W ÇíYÌä`S5ªðÅ!/æ^>F AƒóÝO’×qd¬ór‰dÚ‘°»ªŒåº¿§/ˆÂÙJ†¶éÈHV$¡ÿDŠAša¯Üºù&‹S=Õ0^&7‘©“ +O°”*oE{Ð4»åC&¥KaßË#_ƒÔМg¬,ˆ#¼1N‘ª#öÙÇ"ƒdª»ÊÃY•Tùª%º ŧE½º+!©‡è(j¤~é”E/—H¾õ1E9Ô‡UúLÑ}Úœ‚ÙGþàØ4v3чâj²“Qd"½G†W[-wª;Ýf=7¬–RƒúQµ˜‚Õ+#Qµ³zVÉ„ŸçèîöÚ/‰L¿W_)vµ•ÄÊîô¢‚7ÅtÊWX¸œÏrªuF(@é>Ìx`ÚQs¬<4F£QZò¼¹—£ƒ_ÜL-L¾;ºÃ¦¡|ä$ÝÈ惣±˜± M‡ROøDuNÅý Ô%r Aƒë•k%"•µ¤ÈØe:Xç³øK¬Eõ«(Y±†-‰!¢ZUQ‡ÌŒ¨fTµŠç‚*¬”z6C2g©× : +š<B#´;ùÕ‰y«;"4«2I-ùŒõöžÌ¥ëŠtf æk†VÞ¬Ü1]ô“cWéãÅ¿áW4Ö‘¶Xw†(hë8VcdýjÈš¹ ŽªÄ53%…¬ŠHÕLhi¶ãAWœÎ“Í”iÓ²²çFèÖŠá•îê!­j’;E*Þ\T‘©N—ŠVYŠŒ•ð\öÆMÖ…M]ÏŒ© [—2š®šOM¨êZ“‹ ±¡ZÝ‘b–ºu^ÏÛíY%ËèfΫ˜ÔƒÐ×$ች ¨Ž¬²”i x:…ucZ®×2$±·È8%ï"BVœÓ.Q†ÈXs4òº²QTE2³Á÷ °.Újª¥ì$ ±+—â‰ZîÅ9ßT;õ¸½*Eâ…¬MŽ*™Ì‚wh{¶¢†a˜YÄè¦mî:}ÈÝYårçºrùΚžbD6 +ªÞw0yL2•φ(óÞr¢2›Ô-æì[ø¯Ît eú s™@ÐàL Ÿ?û(SâCë›XF"7d\Ò¿W§““„‹|Ìá.±-¶sMfF* G&CÑ¿ÕæÈCeS—‰2†Fn#Ž‘aC¥µéïnä[‘Í + m\BDAûÄkøµhU FGu,²™ÝÀ3uìÝ¡uª2­*®¿-!œûý„+iz¶ƒð„/ËBÊ4˜YCdWV9Ü36“ݹn1¥Þ㌿ ó Õ8ÚG$"q¼:p[2E{&âD®È¦s>_Uæ72–#ªMµa¼³“²TÖêEñÈ6ÔVz’¯¢EåÒž.C›”&ì¹sB»³ƒpTÒÞÈ¢â4ZB™‹E«S»J‘NšVhŸyªR!S«ã¡ï4-™nU"²ûuÌUlØcR§ˆ÷Ü1ޤ9rŸâDõ«ŽH­÷ИQôJš}>eg’zãúTѪêBæf艳K9Û9„òáÉ‚ƒ¦:aò^ýar‹ÐO¦ ›ZE>4¦°¡7%÷)¥+Iãr«óN1;¨õ^,Üò"b»þ'BtÃBÐ@HTËb#ÝQjJA'a Sfó4H.öŠ«2QÛ.$2e?K}IŒ˜ ¾­±ß$ä@8D‡@H¯ŸÂc݃ژÜ\¥RÛémÎeÒ×é8“R]A÷œ_r ;cÚÁ¹ä$ê…«-é b–¢ºmhns䱋ÝnÆh$Áç—àU®×¾ÌÎ÷bJn#óë+VÆjG‘9ViÇzmŸrä«¡3²ÈMVK™ËÝœ{cFÃs…NÖ^¡ií(­1¿ú“‰H^ RBrœò)>™í4Tc²c Ea}D:­™Þ’ŽÜþ0Ép¬5ëÉ@c±Àp*WQ­c;Ñîq'iãÀ©Ö¬VUTš˜³œã㙉EO^¶Å‰lŽg1#{)XxTETµ¹:›š”̵éés{Iœùîå*¿afz§Cb‡Ç7'SÙHÌ„y†æÇ+38Ö‹›ÇÊèž‘Ë%Fõlž«Q¸áx!…íA­\ê­ÚKÖ¹¡¡‘óhW&dW•.^/ránâlpcœ³(çì÷×k‚sô™B|dâWÌê/3”òscô¹"…zT/Ó?Þw÷ØÆÆùFÊQF¢9{ŽÔÝì¬càÒPÕ”üóËèýØ[»‡ùØú}Î.w#»RÔ9â(ß UŽŒe6†ö’ix ?wí­cá0²H¬ÊÌÊB¬Ÿ¸õé•<Mä¦jäqV›»öe²_ÕRÔŸê#cCf4ìÜJL8bÞHíß%¶qý>Sþ­Žøè1ŒÌPQ[ò0xÅ‹eV,ÞRbââ/ETqÓ0‘a8a Ïe¸–ˆ°¤\lýܤ¢Ø–IôÔõªgÇ|Ê&™ÉÑïp9óø| ¨Î¨Bv™îÆæ:ÏGóÓ‹QsjFž:Y\e¦iäHB#U»ªtdÆô +t6‘’ûYkˆ&ê9VŒøŸÅerfîQAvÉE2%YÚIm!=ź ÛöbÔÙ·&²’ì–;3FµgUï5è5 LÏ¡[¯žÿ V¤N¨Ìij©‚=êÍŒ { 't¥·ì4ËLUNñƒ.óUÌZ–#ùLÆ'½ŸhÆ2§IÜœTXöy8‘x–>˜R5õ³*Šiõh êýHÆ÷ž¥örV½7&6&)SÏJQFêAM¸É;ú®•/ˆb,ŠSíˆñ̳$܃£1÷TÖ8וC¥‹£Öê¾xœÞðT•ëdð´Øü'ÊǫÒõSss Šu¯aG,Ï 3 ®dÓP5x¼±˜;ÒfÎ |©Kí›N5%O OJö¡;™ÒëtX}NÒfÅ ± :æû éŠâFUeç™HÑЭVýaB¶cˆÂ¥%¯è#V1â²÷¢`éÌù'5¬{‡Ðd q¾ëhn¥"ÍDv/'P{’Ñ”ÃÙ©Rsˆ]áð=3IËaSÑ•È4R”(;LÕþÑ ëXs’²œU•G‘ˆ"Q÷Ý'’¬Ê¬Ñr]XÏ''yP9 ‰e…¯“u]l(´±h1µuJ-æúæ“H¤ŠS®ù·rCÎWÒ›E?£ž$|Ó4 ±‘6‘Y‰qEw¶l›SÍV<‘2GÆNW¡òcdðôÀ¹‰œêÕþ Ü9TzÕ·yµf~&aÝ]ˆåßЈÝR_<`ù†hu"œ‡©9® ΃ú(æøánS™Åÿ)Wkó`ŸÆ®æ²û©ª ãÝØµ3Tå0–˜Ô%f<5ªâÏžv½‰æ ëƒëÍ£}ø]oª?9 ¡šˆ‰Æw'µ”¢®.äèæL>ÐÎó÷mI.Ø—])v_§j‡U¾¨¤z餤DU32¥M +==úÿûĽÁí›üÁÆì"•ðAè_y¸™‹Š¬Ë½aº²f1÷ÏïˆÆ:W gj?Š“‡öè7UåÖò3 ¨ÆˆEÄb±Ä"k˜sT27–0ƒqXAÕÎïnLLtA ¦:c‰\.e‡±-Ó +’ : }Nãµ%GÅ+•a¨F&ì&$mYô†ÁPDDh§š±›V|_6mQùõÑ=lrm«vg‘ódvÍ­Ä|¢r<¥ógß|j섎$œ«²ƒÀF×äÌÕr ³’¦îÕ∎t«Öø¢Ô•Ÿ;Vðr3°É‹Ò8“̘|ÿRþÙÆ3DSi‰ŒK&#}hæDSš£]Fºi§!4>³¹Ñ&p®#{癪™0gß?rEËÍPj¬ äªÅTÆö°¸5ÕjgX1’1¡:3ˆ5gU%åÎFÂ3 :º™`%Bs'd²jT}Õp­f&s +¼úvöŸÑó6D,B®…«ñЯT3$“ý¶X¤?ì1ìlÕp Åž,Dæ$®LZظì<ÓÍ'9:¢X2h®9Tí¿ùé•1ß(rÉ«†ØÁ¦¯’ZUWb¥¡ Gî { gaôc  $0: +k©`ÁC&"㹘3¶\•û%Éî„‚;FûÏt #·²„©„<;œÌ(n±T°`‚yÏÌ#q9[‘g$ºî´m­UDTt¥ÈØ Çöj_>Õ‹3¢KÁ †S»HéSh:$M¥„Š(ì·S‡»Åd,(âs¹b*˜ÎRÙhŠSwg"¯°6µž0í4X $`‡ŽS=öÀ\_{à¡ £`ãéÐx¢lz0c3šéAÜ8qÇtêÁêñTôLšà€âJ‰Éw¬Y”Œüm½äG‘åèd ×‘øOýÈÈdèêáª_¹;nx:6lh’ùy¹L>u›ë*Ìós“ÙüAp‹öðèæÜ½îœÆŒwMÉè骨žÝ'Uì‘ÇœÄ h@/WÌ͇’i‘<Ÿk†s<¶ìêd±šü«kƒæB– ³R¯ü8㪕ƒ>òßâWcŸWHdBWÕñxFw·äáw.$Ö\M"ÜUïe’8aMï3ÄšÇfctTK™X•–Ù6’OÉ,]«ŽÅòшÄÒEW²Åx^z¤‹ªS0I¯R*™ Ź Üêë,Êbf¿F‹Â]2%Óƒö +¡=4Ù{EGêÄqæ”ζ†ëa‰“ÎîRêFîÒùoç1î¼×2÷;G!åÒÑEQY–û¸&*!’ÆquodÜ11šâI‰Ø·Á©Ðùîöª¤®FáÑ)£–É©“‚bRS65§=™s&¦29ŸTÙ³¸™î5¿«è)üÄdžÔ¨Ôñjª…Šf + ƒã€Hh•M¬®ó`•âàP<‹ä(†A +bÁ<)#Áš ÉLa&8>Š3Lƒó] ú˜ûEôî ‹yèøuLZ›Á:˜88m,iåñš¨Šôÿx²˜*wH4ÍùšU5ºfÆÊƒê„Ê1×zp.ùŽ·¬¾Ã€œ=QÞûV - +²7§RÒ½ú‰vË$úœ èÝjI†0o“%N¢·Dy½É“ÑdŸà±šï¿hB&à1Éœá a¢´DÇxpUÁ& Á" ¤\ø‚Œæ3&L‚ÙÈà<—Ò€cÑb½¼¸ –‘¸]33&ÅÄý,šOÂ>ŠÄÜP˜™Œ¦[¬ÃBÔüħXX˜_qžiT  7ôùßr\…Ö½dn3 ºÂ‡r³YÍq°é7Ý7÷üe¶mº9ºéKÂÃçAí‚ÞŒàTÆ:„wmºô¨Ÿ ˆÉζ釞%î/¿’t52>jˆEä¹»÷z»Ó +oxyÞ&éošd{_¼!‘Î{QP* éEHsË|JöFX3Û©$%Ã7½&õ¨‰ÞuÕ$5/!Ú‘0sÌF ‰óY¾îåðv§ -¥S/`ÄÙè¢D4¹+€ŠÔa™V¹¨ÑóŽ é¤™‰*{Û«"Þø¼„|ÛÕfØ^Q3§^Hât~HDasºá¡;¨µeqMŒ´$Œk«¿éH®diºâÃÄu¤L^?õ¥ÃÝxcþÄö×€T9i¢×Ïÿ>ð`òÐ$(”ò”KQ +º‡1AÑ…Ûàæcc}P£Ô»uü'ýºä‡! +¬9OÅ…DÃ$_qt¹Aac‘ ï§Õ_(Dà/?ðnïÙ%uð–Gò¨;å.—FfZŒßÂ4E+Ìñânqözoc‹€?XeûÁêÒÿ¢üôùWÔ॰xgãÒÑ ü¹#&ÿ3£ÓF£“µÚ£à9¤´3FëŠÀÿTÄÖG\¬¢°¾knkäÌ=bS4‡¦L£jØùb9ß; "ÄñÞÞ)ŸFݪŸ¹™šwÁËcwÁÓ÷lNNÅ×ÃÀ«l|–Îñ)Ìæ>GAþeÜýÄ-°ÈvuÝ‚Õ  «pèŽÑæñH\¸ÛÏ‘®Cæ«Õ¾A„ÿÖAƤ° +‰¿8æg•ml’“W|š@ü 5'èþŽÏ?ÓO±PÌgëya¦<ÅLÄðš—I?Þª§ì:Kg0|LµKTžƒó&,ôQŽ)(¼:Òì”næ*žj».H3x‡CU­ ÷#q ]>RňO²ÍÔÎC’«5FŒÕ™àŠ=*!EÆÜwb9¬™Ù)ׄ 6k–XÃΫ£*’ÒHÕ×Y9®Ð #:éq3¡&}ò”C»µ¥ òÍÒVEèô„@-.˜Ì§Æ1CÚ 4 ¿O Ãðá 9TçÛö ú%‘/Hÿ„™äÌŒ##d»ÿ%¶yòvg[ìý²í +$±šQNB pó$͸;^©œóý ä–•."ªd#i…ŠeÅNQªô:ÏC_øm ósÝ%ë„ü;6E[}r·q.Ö*D(„n!£ìX¼ìMˆo%€”É[!ÝŠvÆ–až 2’€±ËRч‰sˆcàß4Ê{ñÍÙ¥—vÕ!žÄ¿-)byž3^¡Àëlx$›šj$žM¢ì `x´å!Fb¬ìrr§'ü†Ñ“)¶æÒHP²õ‰dzgí>’™STÚìïf†²jÛK ¸ `Ïusƒ©6PG€d7'u†L½ä¬‡ío%Žx’ärÀ£:•û™fE¦?ðÜüPî,Ýb9Šôà¶E»ÁÐÑ”Oï‚‚IN8†®ú"ÙaªT¬ ø-Õ=# 6ï=KOóVäø"Ük»ñûà†Â|ÌåÐ…êâ–”çEtL¢‘. è<ÍçSÖ‹A“ƆçÚB…—ÎT"f ©"i”íX§w+ H¼Æ±™Ž¹J¨î{½~™2Yà訙e†‘؆êæ`DI/ò?E%ñ •hÀzñ ø£EÄ ÝûHu»â1-Ï…¶áŒ î ]oJRkÒ·uù.EJë¿Rä.ÌKó¬ï6@¸_ºa§‘ „Ï¥s£4$¶~Ú Ö6¿{óì\+Ÿ¿zîZ¤€DM0!¼%ÎqÑHvj BJ2ú¾²]—ð?Z½ægÅrú£p)C/˜A»Ãó—Àئ³WÄ 6E4ÔåÁA +Hˆ¤"Uª9)d¿èX€{¶ˆî¸oG@J>ÈlƒÝÀ±_ GPe'?âÛ⺡ºµ’X¦¤q&í£Z•‰ûÎ;g-×T<†žÍä÷˜šðx™[ÖgCfaxbJ‰B.K¹8úˆ U^ŒôÓS6š÷.ujˆCÙs’Û YròO:>ñ—³Ô\Hˆ4ÆP +ÆhÚFñG¸ߋΠ+)2 ã:寯æÉÐ<¥áûÇ Xœ ¶JEÃÈÆËéÕ-ñ#lb!d †[’Mûþ3ñu‘Ä<NÿãÛy’Œ sãPÈüô££¹è¶ª„º†MÐÞÊY:»ªÍÈÊ.‚8ljû¹çEO· …QyƒÚ|(R™HAÖ¡ƒ¾û¡*ÞÄ"Lä+²´V;`@mAJù{ëël™0— ŒK%«…Ý\Ï0d ‹.|\Ä3¥A©ÄÍV…@,ÒŒ×1EB·ØÚò M•µ©ô¸•gÜè"ÚéI1_¹+)Õ}+L…#)%¨Ð«Õ +áÚèÍóD(²T®¢<Ê/§Š¹³„TŒÇbáʱ•Û8µØxtxBµ‰ +Û‰\ôQã‚Y&  0ÌšbìŽp{"%+µ2V ^P84Þg³Œm‡—Àu!d(<ƒñµ¢k>ž¬–:òÖ—’Ý(„ç*¶Ïü,Ú°Ÿ¯}fb¸d‰za—µä`·Kô»ad—¶öýÛy²é‰›¿bžAN{ª™é_ +¯c +ÁÓus‘O÷Ü8¿¨–"ãËméf%zF¯”Í#zÊT€t¿(oêÈ‘‹q¥ü0‚°æ)KV¥•É Š²¯#Š-8“Ëü k¸[‹MEJ?Z¾[¨ùæÏkÁ\ÅdNÛŽŒ?ÍÂŽb·ÀÊÊR´£‰ó2{ùŠ—[|rMôK‡j7+†€3ÚA'´û•m.?1®]`Ä+ÂÝa‘ŠOå…ÔÅ›ÛL ä¬±%ÍË_²ðó'vc“e+vBb¶„öUÆf¬˜Æyp§Ÿ°àØŸQ÷ÍR6M?þGh¢” ¾vznœ7Ú$:ωÐdÛ{%˜M¸Ýæ Þý¿`ܘ1ó;··–naÊ90×W'ÍW="ý©R|¾’ré0›~(Ãc +híV%p©¾~f•¾Èi7¢ÚâÓIz¤ã¢¤X §`ÿ©î7ôöx*' ¸Kßp]Í–HÉðP¡ó¤þKbã^ðÓX +øló„Ï JDÄÍйñ¥üRŸ-û˜=*ÐDÎÔð8y“¾§2·žcn¤ˆ:a2‹®ƒÚ17=Jô#J”"~ȯ‘YKJÅêØ·Ìwl—ý¯žL+?¿ùJSøOùa=C¤ÎU-·•|›ËUöÖ,6mCGÊêÁPøbW·®™óáO…À=R0)ŠN¢^Y‡¹AyÁ”iɃXXÃæ„ÕýtâÈ9TÃ]¬ËM^õã‘V¾YD¡` PÏ0ÞF¢$:TJÒ…ÔÁGÚµrZãqÙ'›ûȈF°Û×€¾|ЀûÏFó\´^P ÃmžÃ8âo¸•u$êG™ +xZ4! ¦Ð¶­gh§^éäÁ÷må‚1!w«‘üWrß@*à,³!Áå’¿ +lsS»ß¼+xæøÊ ××úΠã®׺Nï› ít 0ˆY9éûYd"ó˜P +ªÑÌ>³‚ˆ· ªñýL1ÿîJÖqx0Šdúl>…H붉UƒW8ßl®0sI(ÙÓæBÆÁÞ×g2ÌžvŒBö¶ÂÛ?êÆ51&ce¯ÃËíÊCÌá¢îú…qà•0)¶–ôáÇc·ìFöÆî9øÉ•ã“ÚÙQµ9´ˆí¡Úls§MöÔÇÞfo³uþš]Ò-Ö:á +ÉvC?WÉ®LecˆiWF@¬/h˜>Kõm´a‹ŽÔ]Žk[¢AõŸ…¡E´K Íá.©®äù¼eZKX@mÀ6+¦‰…$™ã(|VÄ‘œßt-_jž•^ßbË +±9àPƒËþ;—϶…N™s]ÅKćXp£õaŸôŸñ´óqYÓ?«ø /ñÆz, {rJžCítÈ}RÏTf Å{%óÔµy·tln)ßÓ·, ÈLL—:øI¥Ë˜AqAë$G{ësˆ^"Ř1/KT_6Ø\´^PÄ/ÜxóÊ‚é¶Í=ÿÁª8˜ z¥è²–H&Dô_–H¨·‡?­©ƒÿëArˆãV½Ÿ©9Ö¥á¦SN”¹;†,6,q¥*ª®ò´®Ë ݬ¾YG$Hfio×[¡€ÆYnÅp{¡”!¼Ä!•‹Qá°ä&BÚR‚ïr‘Rô×HB;—5òá_{6º½©¨áR{œ!§Ô ¸™T£2(YÇdV»X¯6,Ï©C¢òœ{îâ²Vfðžú¬”ŒÓàj™mšµÜ‘c·’EY8¿p8&€CÈá£>±°Ã^ú!pûže«üSt?¶É9¹@Ò¹©tÆ[gÐôúÎ;àÃVMrˆèøŒèi[е҂ëˆ^$ó"%„6¢ø²Å±úL&² ¸2¹Ñ¢È¶ÒÔ@íƒ Ê!É!Ò™ÿÆ NÙ@Ac© P§Ê»Ñ„,&µœáò}z¾¶i Î"ÈBåûd¹Æ:^1òƒÃÑ=)µ#µkW…ÌIßÐNß–„9cTö›T[{$³äX;ó ÿo}Ë|¿JTV‚ Wçjâ‚ð:® ˜ô•c:øjÕñ3'°Q2²âÕÔ*W"ˆäfŠiþ•@jǵ­°H3ÁoÜ㪑& –üûöÁÃ-¡k‰2¦ä¼}#kßߎ¬ª>Z:ç†>W(‰ÆG÷&QÊØ<戊J@)¤gUÉÄCƒ° ] *.™wŠöì +á³¼Ñ}…0K§.„ “-†ëìjÅG¶Ð9RH½œTª°*cX¾xÊ™yìn1°¸¥+hc,n¨¥‘´Ï|ÔU«¾¶ÖßÔ0cŽjÜÜ"‡(Y­àlä™ü˜°ZF ÎëNË„c‘¦uÌŒšQV Äi±¸¿É5¬õ”I™ÝLz%5ÓÀFŽÆ¼8K†JvHÄLUª0£ú£FîUA²7Z!UÊÿyõ¢Çuw©¯ œ ~¸4ì ¦Ýõå?›EögE¿ïÅ«*çßÊøâ·Rëå-”Ö3Ço–&> s +þ®}?u=éÀ¯µ:_^ñ.Eªæ"¥ZòOðÜ¢ uƒ?©!l 4us»:!]—(“|Ükõ-–0â ›f]*"AjÝÖó\sÁßFqÍ¥å +ýc`¡†Ãkµ5c_6xy„…áÆœÕ™1QÆ])7Ðr“‰zuø˜C—/€¡kZV òøhD̯}‰“3ópVøÃþ5¦Œ†Ž +!å™#’E‡®GëúlרŠõÿ²iù#<Ó2ˆf yuꉔ¡í° zSêí•U 0ÎPAÿ…‚T؉;%?G¦‹üe«m¥¾¯—äà€Z_òí£Ojб6»z¡ÇÅ„½ÉÜhoüý¡¸{y‹ßÔÕ¹ê#É’"_•qMRñu:’&1Ñ—Þ=# µŠßÒï…ÁªLådŸ øêIË F‰BÕoËß·¡ ¾ÓcHs4C©†-5ùñŒŽÌÅZ ‰’^†¸c Û°aG~ÀT€ÐGwAÇ014,vÝUÏîâ$k§’i|/¡þhŽø ­Œ <4L N&{åi&ûËA]ˆmmH|Ö ¡¢‹XÔÌ™»1úDcÌZŒ¸Áª"×z4iõÖêåÁâ”2¸¿ƒëÒp™ÿkÎt?_ ™{jà¤A—¨HP8m( õ·¡L4@F¨Z4EoBÿ¦;—«}Ü +B<èœr£îd¬±‚5ô#rŸtAblÅ(Š{¬I¥»Äv¡2¿¹ü?`µb À¨ +ß,‹ØPúÂüáSˆÎ¦EëGår1vÙmbÙP@7¯o³""Éä´‘­¯Ô±A;ÎcX’8m}S&ÔóˆÃäÉÐï|.øç¬ÛˆaPÒ!r6î¹Á™¸Q©ÙBÀ–•tk”EƒäÞù~½øšóL*A›K·¿%?RgÞCêÍ0Ä«ŸzÎÆn6—e“Z¯i¡&`œ@7òt–H¡èD¹ú`šh븬Ä|£¸ Q>fèÎXhåAj1\̨[:Lߪ¹s²gõ +%J7Ú²Ý. ®žýœ ½oÉéð‰}tðä'†°ÓÖáû“¬dÔ™3Î=êoNѦºéí '‘q3ûHöòÍ@u}Ö +UF4«w … ‡¢€ÑQº5à1tŸ¸J;DHeKa€x8þaR¥EÖ‚®¼¨ýª#™ie¼eê²æ,‚å°Vžòçv«Ñí:³bp»åXñªç6`¬ÅÉ휼H\¥÷*¢lÑ­´ª}ºvÓ–ÑÀ>ûÊ«@h"è Åî§Yâð ‘ऊ4X†©û ÀÃU=ýŠÁþGj‹US·ú>™Ý)¾l/á*Ëa’§‘JP-w;nÁÝ$xód3^7ŒJ\¸ŸÆ +um„‘`QËA¢õPwÁzã>Œßw2íÊê…5­cÇ\ëËìe€ÂXDS·&9&›¡©êNBºÓ âs}`²GËyúHb+ÇÀŽ +Me-g±ftÕ 4~E%,­\©±ëö¯q:´pÙùãÕV¹ +Y›"àYt¿aÙ@9Cǹ×,=!áœéwµeíl—U&-~%=ôã²)Æye9í5ƒ˜%ÚL´ƒÓ·m‡`z±f­cÙÕ2x„åBÚýGû{Ò f0£ü[x‡k™å>Kes}6êÞF' ¾Â°åTÿèÑšÉ+ÄšŠ˜aÝ ³8â¡3%4wû…½dï9Çy˜…¥—£¨;w<ï®Tr¯sÄR†4ŽkÐ:Ùqv¹~‚#ùŠºGY¥’plÉÌUKI÷‘A:¥@N8¿ùÑü¿HéÃ}k˜U'vœ4¼ä‰ò_7¯ £Br¢÷õQ-¸žÖ•£,Á +~^ÔþÍ*¤qYË^T$h1·Ì[GúÞ€QÆ• ô—]åAR±Ú*8(µ\ì-.„á›ÝØL`Kȸ-Q•ǃrs²?¨ûäç²áÙL‰XYzèRQÃ!¯àã3Sæûþi›qŒ1°îV.íĉbS;|haîo²Û×Ù»ûÄÀˆÈÿÎø±˜&ÿ,fj¯#x™²mÍ«1¯±ÇõÛq‰è–ª¦å5RT†_»·>$J»Á=ëà…vaÖŠµ2ž[ÄÂGè6ªð1wo›žKõ|ž@—Ü9`…ô¡[G2û’®ŸµÊõb‚jÌñŽ!|†`}:šH&’Ä$¾ÀÍ· ÔRW 냶`A#D\OÍ9°%t/òñça ³Ppùöh¯À§Áá%úâ=Vï<¥Äbx|h#OFmU]”ðí‰[_­_.=mW£T¼ +0 •}Õ¢”¡!>;rÐ)_Éž¡í‘Òò[ý~¡㵟õ¨P3²"”¨Ú\é„Xã¬Ô¦¶xêHoå–ÔÚªzC@ë§ÍÛq…&¤‚¨DÖ|6n#þ裀æüÀªVÏ…jÁ=Œe&¯Ï à1°Ìç 5Õµgaä®Á[ +^sŒR¹e:Y8¸½ 1&ñ ω +ú˜ÆN …]A­Ÿ1hè΄yÁûìÎÈ»%C¹ß©~KÛÁÝc‚wúH¢€) +ë¼0ÏŸ“k%ÉÊà ƒ$„³t'!f8Š7²OUáJ æö:ÐÄ +ÎÒ©A |¦G‘¡.%w\“&”e+{²6”{Ëä¶§ˆÑ6`¡ÃÏ–[ÞÝ@$$Z߆=yÈZ¥¨nÛ§ž hÓúè°¾)iù½D’”½­‡“@WÅ£99z¢ð‰‚Š¡¥²ßºY ˆEÛɤ¬FBš¨Ÿ'e8M {ÂgpSÊŠÈ Mñ‘ \+ܵbõ?I-ÐªÝ :°X¦TSPú‚/r bÀLU†&€†c­·s@¶ˆ;â܉òÝú£;³'åN²_ûÌ0JЀ${$«‘Ê+ÂfŽr†èBEC‹g±ë;”Ûêå C% Ij8CЉz ÜÒšÔÜ‘!&5½¥¢ôIiÀB-4“ƒÂ*Fl«öª +2Pv“v&1GÁ G‹h¤Fö%D„î)XPÀ€&áÒØä Lg¯ßˆïõ_$l«œC;¡¼\˜ðÀuˆˆ,—–¾\ˆU«åµO^ÃðãŒ6ÇènˆC†¿Ø3œ¯7•ÏIÑ(³Fi(ÁŸÌz®ø¢‚–îYòÿ¿L¾Ë@u©gUpL¿ïEÍ)¼àÑœÀû>5¦žF$ˆVLãQú +š††I=ìÃp›x)ÚŸ½¼äØy{`×ü_ŒõÑY)yÈCåÔi勳cE™ÆêJìÀr'D½7!d"*Ùé‘{jPwI}gTÆ›L®’œ€²aà"^YTFRV£”i[.=´ +’õ±`¤·A¶>Š’8XeÀŽT²?™jÁ¯~¯ + Ÿ ²Qô|,B°iÅP·Œ=ñ|ö!QV§"¢›lmx\a€WÙ7®"¿Îè6¯=¡2>É ½ +ñyBáEiXÂÁíCâ’Bá [ƨ•AÒ×>"àŠ¾ï_ âçªi¤-èXÖé¡”Ú¹òèë°Oèmc˜ ‹ø™ÚpшæÃuè´cÞTn¸¾Øw†8 û±rýU‚Wuà› èRȘpl¥†h ‡ÅkæljåÆ/Œ² #ªmL„±CÈòõ9˜–( tÛ]¨Ð=8ú3ÆM~8ÜbP%Ë/»ù×Ùï]b YŒ©Ëи¤Fôþ>„ª½X3ˆ2ì£CÅŠk­Á#j>±`y¾¾ ¿} 8<Ÿ›œ1Yl †»°yG=ý•ûò9£Å¨‘B²ØŠó·R\Ñ~±Ì+[î.ºY±óÀ$x‰ ,p±õÈúDŠ:fhy+xõHŽéa~³< NѦ}Ù1 t )'²…ïG¸²¡?ÞŠäÇÃh$ºÇ±BÎh¯–ÿýíß ¼.#ó)§¸¦¨¯ï ¯‚ÂÄî&«J ß…y“o¢—L#qŠnßt8K|kd¼RºƒP%.%é0Õ?Ø«íxYd ì'ÍÆ?° ¯òêŒWª°m—LI?™†fƒ¤›;$cŸ‰aAw “(±˜ ܸ™õÑ㌵\g(µÛ,ÑŽñ@Á†©!gL­n·«>ÀóÜÐ|[à¤Ï¹ š´. Ãíÿ7"$ìjØô§™?§Œ¦ HûV°qãÉoýOÍ=gkÑO`ZhbEùþ¿ŽÊ?É CIàTr«™¢ê‡ªÈldØ(XBmÓ—¾}†Ôp½MW×n¬£žÍOƒh +ø=Pñhl\í0α­ëÿõ `'6 þeûç 6hN8îW ¶ÔÄí˜uqOís +‡gö…yšÈ "Ž„élLIùØÓ!Œx‡%³g?„TÊG)Ó·âEÛFyЈoù!¹„ÚcµÔ‹´™£Å˜nôãÿ!èj›H‚TÏR·¶tM›Á¶!½ÔC7¯[•ªðÔ¦ÁC@Ž¢Á1d±ÅV~Íò3øVÖ6o«T¡¾žþ3½…تyW&ÑþÿHïbûŸ—U¼o •#Þm§… Í În|–YÀ¡™~ +é«´¸½.¨ý¾jÁÐY§š¤Ò)¤rV3Í`”`dž„÷¦JYu÷W²ÁWÝx4õ()BK¶íxZ£2#ð0ÃÉ@“=Ëkº—øÍ=KÙ 4ȇœÀ«È4¡Œ:°ë­ï³âIÔ¥NTÑ!ã(ÑÍ Å‘¶YâdÖŽ¡j+T¾¤#Èž¾÷£ !4\{Óü-ö¾ßsÔt:Üõ­ZàxDÆL¥þLÐa˜TÿÂižN ˜DWU)oY˜Î3p9âNxpçÜçeñÕµQ;RÅj¿1WÐAt îü>³Ún˜^Ÿ´á…[шÂî³Ê]Šö„¢£œ/¼€Ã é (ᢠáÆä*K×y‹Zñ­¹nD€Äç¶ã39 ù<B<™’‡òrp½YôŸqŸXŸeø"Òß3o½Â2þ±ØV/ Û!ï5µ-zÔÄ„~ùÝ”»ã•„÷ÛcRÿÚÛ¾@ÝYÂuå.cËþ8õ¬h»yæ"«ùŒN8)¼jFI7;v«sOÙ{á…‚*ˆï ç<ÓI]úä€Þ”cíÖÀ,èƒØ‡Ç0èúŸAz —. ;œ½ƒ" ¢ºïä¯Yö”Áó$ 5rR A1éhoIõ¢ØL{ Ÿ)”S–çð|È@u ­50eã³W ϵNÝѵš¯1å¤ñz€º]‡5^wf0 ¦¬º˜!ÑA^p¥Œå¨±„éžUˆ‘ˆîJj(zÐã—F3y²WèÔVq¯ eô÷ÓU€œdè›xv*¨˜¡×8¤ÎÍ‚oy²än¿7Póµô§Ký9ºÚ¤hšhÀNîàqª”˜ªíOÓ3~6tAIó»ø®ø3 \¦CÊù(¨ÈbmvmU»¬,E‡éÌ­ÖaÉvE<:Ÿ¢¤·åE>ïæÜ2%øIL“ØP Eö°¡Î=ŽrËëŠBm ‰§åƒÌfQ’ùKŒ¦îã)O|u˜;£éíÔ1ÖÙï®DZôŒ"<¿ £þy8o°sH_ÚRÙ­xeá£Ws¡4šÂ|ôìÈ"–á£l³þê•É&qÒ ö˜×Ñc–ˆ¢†Mñ[ø4j2¼‡¦pµS¤J––üdËU[É œ>‡;N¤•ɸÐéätQÀ,‘ùضÕ,u"Í0J¥á鱬œf‹¨?™4’îkëðŽ]ZTà;Ñî–Ú¡¤'ÞÐ çM¢nxG¬Ó®Huöæ„fö’[J¯^åIŽ]É«ºŠÍ<ÍÑ`pˆ`„ͬr­A`Áß07HÛeÔiì#\vãpˆi´:³Ì}ý-´{+/Í[ñëÜp×Þ%g¹‚©ªÉ,¡îS[è‡aMTa_U 'K¥>¢¨ÀdnCüX¤/a0xa“TßÉk2Kúƒ’HÅ0#'÷qó ̱ͰžÉËš—K•*`ÿ=”…?éOF› 'âO¢§æö°l P,™G^jÛ4>õcEU +UI¥ÿ™«vSüSâņ”É™Á)Ì_*ÅÚ4åÊz©2]KË]ý‰ÌbؖϳHàkhíM1vUG&ÊoDBƒº8öeã7+x8Ä!hÈ@É/TR¢P9.)éÜ•–Ç2ˬ&nÄšN–?šo¼ZJ¾¨© ìÆL‹tƒWØAp Énû’™® EfCb±%x ¾nÿ»ËÔ/ÝH†4éê‘Á‹¶Y@<©Ìú*ÐH CíÄë)/¶/ôª0>[gcƒMUUÖ¯fÝsY"XŠ:´ÄúV9ܨ0+ì V{c9[rYÝ7ÄåÐ.²É›Exm-WÁ¶ì¸pxãut«µ-ÇC´aF³=,¤Ä5%ÜûɼJêP§Â7Ø,-&ÿc|‘C¨l“»˜¦J &[]ßzÅFŽˆ?£ÐÙ½™1Ðn鲿f æJÃØ ²€…¯-Ú²àl7]\QÑpŸ·×$ÙT?W¿U ìü–ã)«’Þ àyx}ŽÈ§\[Fx-ˆK®'‰f£[Ž+¼Ìˆ6ô2°a¿§s°J-„ÈbÁ¬‘hÇ%,Ýr¼v)ò–|p@¿¼k´1NÄp6±DT±<™×Zôrª·k7½S^£õðvyˆÐÂeò±(l¾ø–ãE¹[Ú0ÔFÿŽÅ;Æ&£]ÐÂ&LJ·îDªXDS†s4,dµÄ„»6—YÎöñŸì|c[ 3´ÿiÖ(ÿ&´äî—47ô0‘þc'z§8âtËñͬ†2@sKDòœ) ^„ ¤ZfØrô@¢2Ûת¬9 +%&ž6a,ºsyvQ—5º†N® ,»¶4Í–|˜„¹—VÒ*GÊÖr ¦0‘“œÆ‚˜–cØS‡VW~ÈÀ‹ü‰D<ö¬€ä:=Ì|«,[ÐÀÒh%dÉl õÚa¯´5ǃ¿ŒÉ‹Þ’bLù<­ë­.À8+àcyj^ïÙØ;˜ù††fØr8T “Gx¶wÖ$µFÔr³ô÷œÁæŒGj-G`6.?‘fl«TÙ]Zó¤ÃM»±AŒ `äÞ@ ‡¸~fÆDMÒ@bR‘Úij)4‚Íp8ÛzsÏn–p\»œÕ"¯S¢‘†J÷+ðÒ=ñ‡îÂÍ?ÒԜʤÁ,PAy‹PãÙ¦‰Þ¼*…îy2Lÿ8*Ž}ÍP„f}¼*V•’—´Ð3á£QÖðÀáàøv&Yxk‹0#±#Ÿ33¨ów³V µCYV÷¦¯ˆæK`Ö눫pÔEÌê/`ðULOørØzÀi¾ ßîá¬6 V°á€Ÿ[½@ÄArè•M´òrðLjŽÕfGÊ¡ô1ë[¨(æE™cMR_æp4v–ÿŽ1E’¯7JuÁZM׌ êló¥ØÉŸÖ¸ƒÔÜoÓÉs´SK˜SS¼ÞâÛJªýÇNs´Y‡8aF0*Dnê€U½h*âžóiZ@ƒÆDþzžú÷2¶ +´0’`¢@¹éÄ''àÉÚÿ2cåm@~ÈŽ¼HÓZ'{¼')5×ÔR†6€¢8 8€ž#Hí˜ÒWKZPJx.BñêL6JÞØÅYsf7®±žæ’4ïH)8$Á…‹wÆå¯'kÖŽ¿>ÞF4Ó]·S€ÀGbö5/>ÖÍ­„€›±rê[%Y.‰Ñ>Ø-|ì_è|q¨£hã®áê°9[ðpD¼ó»_¡«±¿™4ƦÔ˜9xæRD@;{ÿ¤&ÿ²…ËËÚ&% þΣ¹Év{bášR8 §½=ÎvÝ[uišy8i\¢ÑÔ8ftˆíÂŽ ²Çd•tÿÖEì2tf&T ¿–eFˈ¢ÙëºîxîšA묕v«*3Æ//5ïÂ¥ÐUwFÁÓ‹¹SÞÌ¥,º3iu6Ysåy±Ä˜(D“Ueó‹ÞŸÄœ¶ h š‚ôRHw¨@ÖO” U{ùdµå11Ô {¾:jêÃQ E)ßI“#R¦½Q]E¿ÜD/¶v½(C*Z‚ŒË°|³ÎV‚½dU˶Oät¢q1<ÙÞ_œ£È»Vú¹ZNšËˆÖQ}aÏàMú¡z­™ŽeäîJŠ Þ¶ýI:ôQ/š~óý<£¡°àbøä›¦QóaýA'ñbÆF`¶õ5FUkàée¹ê-t‘ Å=Ê­4ítí%¼A©–M–ÛŒ—ÛWéiíÿ'y6}^N”cGQX~æ@®˜}™8N|cΘB–œNbþ"ªkõ:¨T¼þ±0¤Ô˜âœ=Ò©ôðBº…0ô®e.g³Íi†ý +Ûð Ò~zµÌ:|r0Z¤ÓG:AŠˆº1ö9ÂêåÒ9t£ë;Ë:‘”+x%š± SËúZ¨ÕÆ=s\jec¯ž.i"1lHÏÆÙ8Ø]ÿ:31CbÇÏä@ã¶µ“n…¡çš5˜mj¹š\¡ë ñü ¤'¾~h$ Ò9I çÑ:“ƒbã÷.kÇ0^wðLm—ÒåÎî8u¶Ð6Ë—–>hrD¨Ýp›6vEÐ0=`Ìò²shvÐÕrAE”öM`ǸÉѾPQ·íÓµñe6D,öaP]ôÌÏ·hPM†}†û{±àLûÞ´ÝÝ1oàÚ\² +æsrx+ ™,=R›“ÚÊàl¥¼Å›‘õmÄîq¥6êV*9@C<4 üeŸkäJ ŠMøÄ_³Éá8(0܈j×Ül#rF%C–„Ö§uIÎ/]Ê›¥½áfàÄ&ŸÉ­ÞE^ +_&frhòþf®•BB–-„È6aEó|5‡Lá².|šsCîÌãocß.'bŸ‹k{³*A+nVœ—ÕÅïnôG67¾—‹]w.æÒþ³½š+iuöô 69Lo&ï¨#LГ\“(lAsã Bwž¼29¶¶ŸF¿h&îjÖëüpŒ‹…FÐ5PPÕ‚³žµäì‘ãW|2°²5Ñdgð‰'éÝA §HEñ"„;=ŠÉDÉb´Ùì®"Ãã‡ä.ŽƒÉ"âø¶‰ð-ú«t Ðüâbá’B¤–©.pyL ^m*εú_xœDH¬>®ÇÏPÁ¹_Ç‚ +Í37Y’JÞÙ–nd4ŠG庱{ÞÝ*‡œ¨—€8Ç‘âÜÍwŽž­C²>él†XÎæÇò,7ŽÍr<Ý™L£ƒ¿P†qÙÆ¸€Ã*ך„ª‡Iñàd½ÎânÁìæêfœ —•(søÞ)gE@†Ø=;ß2[‰½]dwΩÐIÄ=¯WÉhØØâÓ¬²i‘·Ûжf&±4Ê´] ‰¾gDȺÌf›™b&AKS¼M´r—6¯ê÷lN»0ÓÏ¥–ÈŽl«fÜN0ؕږÉÙjænl´lHãoÔP¥Ÿ=SË+ pÅá Ès‰V"Ž•[HdáÉPJÍØYB’[î'¨5É "c®š1 ÄwH- ^8S žñÅ»!å3Œ7WÄÝ + oÕV/9z³ š'm^ôG«Âì(®1zª—^GcÄ‹wMˆ¾XææLâ-Mö•§Y3$Z`s‰Ð\ºáfƒÃô°ÅýT!2vçÉœmÕÅ䯙H¢Œ-FZ‘Za¼}r³õ…LâÛWnÌëWݨÉr#ÏV¯]iü·¦–®ê4»7SÊœp9™{Zú3ô›¹S"¿DÆ…/ñEŽÚ²È;‹†k^Ã5,1Co_øÊâüOLÇœ® +LW¼ÒÚ–,èÒåDÿñÐåäÉÕ3çöä±a0•øØ:“ÿjîÔ¶‚ö ƒ§1`×d)*Õ@‹ð.ÓÊjJΊ?¼ÖJÒ’>dÌB $ao_YÀ%® ºRˤøä$^RÄü·”1YóvȈ»5†¬ØRÈ*îü8®&5ºðµýqÔ^­…®C6éÖz$«þŠ0úH$žŽÁXÓú!í¢YÐHýã+–Ø/dý.êÊ.Ö?8‚H]R±*µ‡ii™Ðìf P²w-_«ñ‰„aRƒ½{̼bOÒ¬. ;¦8•¢9ǰ*7©Í)GJqk‰g³¸VY¬*ΑyÐerT  Ä9O6eÆtrxKëù Õ[FЈô™dZ G¿}¶†6­¶™U“Ê$-è-ìGbŽ2?KõÏŠ/•q£ÈPÚ™êÑ ¸ìÑG5 Ò´s¾ô6¶¨Çá:ÏCñ¯Úfr´€â,í§-í˜Çä,w6R&NkRžÔÇa€†©¡hwŠñ‹,vîÅЈ Ìù­V}Õ!J¢[dÈÜ9nr¨DÙQ4ÌÒEŒ#3ùEÎ’‹ÃÃ’Û2X3£ £|pÄÞ‰A¶Â%|m[•<“›iöŸ™àNCûÊÀv– JõÔ+7¤ àä{f(øSñ‰ËÌ¥kËfÒ…N>7ò‰Œ%Éé`“y¼ ‰©–=mu1¹Dn,ÓcÒÇÑâI<¨©fõÐbo«4àmãÙr’Qtöq`~ª9·b‰8”ç/32[1&«©þ£W‡+ýk“(Å´œÄeþœ"°í¡ìºÝÁ~©9N_ Ç›X®{ €¨Ì:Y­¢\g5"zÄ`® àò¾cz‡’åãàÁvÞÓÉ¾Íø)À­¼e/0U~XsYQõ8ðtJºl©'nË÷«u¸4}HózTjœŠ‘Ö}.MD¦G_Œþêñ&l‰õ%ïïæ‡ß¯&»×‚8pcþ”ÁiÀT&ï b–K†=÷jå—ã¼ÝPÞ±~bå–%ŽE%œ‚Æ‚ïº(ØØB=÷3GkˆœÿÊ” ëò }A{¥Zû.T\ +¼Ï“±“¤iÙähTð²CË]\í˜åÞþÊ×ãXð8°ô5(¹qÔKæ +¹%ÖΆLšñ»¤µ¼âåÏ}ÇAÚǤ×Ê7ߎà…?¢Þ2XìF@Hoyafmº︤d›Ù„áªÁ`—Ö…Ïó x×ápÈÎÇ÷Wü¢&ùe"é^#§|ð3µ©3`áVŠñe(Ž.¾ibààšûpâPËÎ%xºYƒ¹%ïÞ’ŒÅT@£Æ‚§˜ŠÄ‘Ä[¸o·-üˆaèÉ蘤ò§5ÔàÐý§³K\UF?Mÿ±]\ðèÉšu›S¶òµa~»$Ôˆ}¼€ Ã~ÆE”•ý¿×ÑÀûÜ*Ÿ/Êmª\(©Uð÷ öqœäãꡌõȬnÚ˜4v¥Ge]ØáÑ-7¡¨Å£_„aI†Ì€Öc;‘W<*.pï¹ÅáÛŽxè­|S¸YPÎI‘§‰?†¦È»sâæâ Àyv‘ø2¶V²aSc•jL@œ„ãheKØÁ²±‰Õ^Vϲ •ÁxÖ'«äv‘‡ÐÇ(ü³ƒM£îñºpõpFD¸¿/8ÂÈu |C¥Áq t +eD¦7júHcK«uIy $+Zq4Î,„IEV¬Î!Z¬°Ë6üW†DŸ 2¸ŸÀÊa!.ζ|úaæ>UÜ#$.²u­ÁNæ•AH>sŸ–ÿeFà °íïy³}C…ª–¦™Á%æn~ö<ôþ \Hßù$>OÒNý€²ydWb‰CYyˆª[¿U«°£NM\ `@ïÓ¬ý# °½ªGT .òI š@Ô1®õýû.wŽåÕÎ à`A\j®f·EŒà}öà¤\úp¼{ä÷}ÏÕŽ½wh<¬Ó¬û€u íX"ŸÞLÝĉ)³5HÿP#ðƒ 0w>Ÿ•0õÖP‚;¡(=b/3)îÕÜ nŒŸà°è¡¯½V’S–ôvç;I¾Wò]°è¦lÔÀêhÈÏ*© +psy +º(E¬{Ã: +¥^„ ›L®'ØESXÓ ™Åß‚ ­‰g¢t@<¡BF:üÜ; £æ IÛ.™” +”çàPܰنùö[mCçÖ%Àkë%& à¥âa9Ž-èºs؇3g[<ÖÖ¦óöR E°wëïlHRþÌaºƒ|RãåS°Ît1µUÌrÕS¬ÂìY»3¸h3µu%-þ^÷^fƒ‘BJB°fç̇WtøàSÆ.Ü'Bîo×9`bòžsâí1…©Ñ¸me,b=\˜>UåØÞÂé+R¬l£b¯Z(D$KQ(ω¸©ó<·–Ù@ÊKÐÎûƒN1ÛªÛsà5»ðs«¸&*UhãñáîÂðú9 òZYX.ìÉaª4f÷$úog»ñÙ™yX‚_á`ìëV¬ÏBy´4™!™œGoÄWhëîòË¥rî±ø?ÖÓcÆoMQÏ>aœl³ûÌ=”ÞR¾”aFóåh}Q3ð×ÝëJNCT ÙÆk©8;*;*%8®:†üxÕBö9kX”÷®þklcä/yI”ÅøÚgªç%›åÉ«FíÀÇ™op®´~ºšÀLçµyadD×ÌsgÐ"ÈTðWGA °¡CB ˜ú~>Šïk%MáÂ'«ê¬ä%^ŽÜb1{l×N±o‹°5‚aéT‘–m®Õâ8kÔŸÁÜdB|øMb‹CÍÐíÀ-!þÎ IHWç1gy& C]Mcº€‰;jM¥u3ЉøF‰˜DG\ ¤9]¢±÷zââPÿ¸? +‹”æÈ‘]î¼cî-9ŒÎc}46‘ÓÉÉ+GQ£A³ÂÀXðÔÈ{Ç|:;Ì ¯Å°0*IV7Ò@ì~üÏ7$ZÖ[Xûf×Ïç”C +I–šXªy5ï&×µºlÙ¹ws¨nØ/°±__­ÔUïâ­+)÷ˆl¯šÁ®i^ƒñšæîðêô¼è.L¥ôƒš,`8ÓØ°Fƒîâ ¾)„æW¯¢‰ò¹?Ë™N¤F¤¸|; !õGIЖ âÂîhZ9 Ùcª0tqØÍµ)Ù& nõô/¢ +˜KØ .Ô,3EWÿ"ý…Áh{ÆÁ·¾"”\îáŒX›™&‡'©)_¢KÇŸæFýcYŽªvwVõáp… #È Ž“ÿ«¾8VÙ)Éä ÛäÏÈȵ·É‘ÌsoÌ, ãXJ:>œ¥ê®¤û¥ÄA)w/þ>4¯¿… ã.ãáe@ŒƒÖl»n¸ÒaÚ ·OË¥¨øïz!ÂV6Îc ã  ×ŽwŸä /z–¯ý&aã€a«§Qº1ëòÈ¥°ŠU3ê4ƒìÄØ°y(î»zZ -öi¶™D –D”¬kÃ8Tv&ß‚fˆ±áäHÛFq¼R‰ ä°é,iEÿب³ƒéÐÂñ +‡qÌdìw(Ì3ÜUpÜ¡8ˆ&¶«!q[¡3¦£ð¨š…TÂtꗸ䡀ÍÙ଱UñðÆa3!VRá±hg AÍ[†Üp¤»´_tÏ:ͽ2âK²†¾ÂPá˜+@’`õoûë/A„))êºôéu¢‰"ÀÎí¹|Òƒö¿ÜDŒÑ@Ạ1Š[CaF³ý(¬ˆß¡8àib°no½·qDV×wrýA¼9c )y4–rl8#ˆõ’Ýì.^䮈®gõQc.»zú Ž,8ÌëpugØKø¨ý±©ØÃQÝ`à§@%6\¬sQ•Éë(úÉúyŽ©yn-ñ†Ð¬Ï潜Ì,¶(û¬jåJk€L¨B Ì“¾ [‘m!y„ž}{Rñh`NyÂõIV Тu–îX»qµ.q{´«éõ +ô@éŽè¸&Hz½zD*õÝ@a‹£¸‹œ)ÔÒÒ´^1’ã;m…»cFKcj¤‰ptÒ¡*U'鉈4±ÞâÂÙBýÏPæ£cK)ý„ "(‹ÍŸœžl +yà±—÷š?»K 4l§]ÔR»†©nÏãòÝiêÎFˆ;ØëÄ~ÎZ ºM‘gÓ%€ÄŒ2üVŒôÄ+[UDakTÕ¿µ/ñ‹$´rÜÂÜ饷„¢¤E(@!é£cãÒa-޶ºu‚}>‘Ú‹¾ôX_( £K +¿Î;1‡½½¨+¥øw™t˽7¬ù`ý ›ïž±&~+Q5§,uYÀ[2ÞÜî yó‘r¿²Ü«!P‘Ê”>Ü& ØëjQ”D1ÔÇ‘øèÑ€~q«Bº$ªA\A&.>Up>ü˜.«d¦e̵ý}ÊXÅÒП^ṞgÅ¢vt,ªqœô¹×· ÌØYø²¯¸²ü(}_B¨ÂjWTžÈÝ3cà)e܉\¾¹ÅÁ’Ë*{áÆa¶yNúüÞ~ûé¾ßà fŠñdUÂG› ©O ßÅæ0R&!ötPÒVÈ‚öeÐUaÁÁD#¬RC“âLE@ðåjÔ4â'¤¨u´¾“1ÅZ¬ñ]´¦|ŸIÛ\ ˦I'UÈ`€Ýæ÷ÆÜ +?Œ©NÂõŒ~5åTŒ%0Û·æU+®Œnì´¥0>÷¨§iÙÌ(R®«ý&ÉØò‡eaÆW²«U ÿ¡Hã;ÐEP¾ ™ØÇêa +Ÿ|"ðí0`?eB¯cJC¤‚p]ÙÎgQêS{”J¸r0Ξ¿‡Y¶;¤=«Ü˜–ñý\W;â‘Öõü³¹¢$BÛrK#¹/ˆgšÞ™v!=“|'%È‹ÓT +åÙò ,ýéàN{¿üƒ–:tO„.Qƒ›SåË x}òœ5ÓÛ÷iþ1‚  rhºBkЙØ÷Éh!!šYœ1š#Åñµ2&ô>LSÓ§,`-…¾ô_»ZLõº¦¾<Ö[»]9cÛiéþì " |$íy‚:9µìŒ¥ïŒ¯:鱟Ø<pü…¯ÄÕ e]ØÂR„ÆÎû;Nù–Fe5Û*8»[¤†ó,Ä[ôºÅ7^'i×hCya`J)ÒP'oq‚d¯|X@_€®©/y_$ˆ®·0ÇiÐeñíj—å96ð› F'Â\_åÄ*¥›¦²ãÏZ+Ò^ TxxîË%7‹µ“ô.,-ÞVÿGƒSz¿Ì`œCi¢Ù0Ü£²0µôTÿRžÜr%ÏG'FG×t_µDð{®Ç^+Φ>¢´tÕúÀ`£¿‰|”äMˆ¤†þƒéA%@²zñ)ÕZ±áÌìªiåÓQcãÆø•_›Äüûf¼àp|H@‡Ëé/%·)WA{@äŒ ÒÖ—2UT'_Œ`­Ý7+*c£Ë„0WÖL{+Þ¡ë!Öù!‚E—rñÝRØ^åªÙÌC{˜ Œ‰GÊ¡!nƒvKhTL%‚.'­Î±d8ÚÛ"Ó=™n.c˜ž " $Ë¡+)ý¤'­°!Y‹=VÌ[\›hMþë[Ú2|t™4Á/°/c~•i­%,½L=[ôlR`D É%ÈÑõ†~Pq¬ŠóAïø3ÈŸPJç„M¹=A^O¦îš Kón›:=æÑ|Žä#T·¬1·oM¼Î`©è:J °ª”»÷œãåËßB´ˆÞ·M¼l¡D¤à-P0•ÍRô³@®€á\ ·›wÿ ¯hB­ r·Áü0)aU˜­b{Ú¦0É”oÖ±=Áí¬˜Â[Ö0¡qŒ1…oX‚'Š®5¦EÖ6o³RÇ`†¶g¦|3£yœd-Ò!LëŠô"3rîFÊwÜ1Ëz4˜Cæ7pÈOÔöÊ~äPÏëW}ðfW +d*Ýœû„ç¯"…¼)-_ijŒo%-Wï˜%wGÛZAmˆ¨µCþõ#ú(-g§ÿ/6J´ÒýXNlmL¡wœ6Úgs–tµ­ :³§F@sV‹æýTÏ™ÙAáÆ£fúA¦ª¨1!swIÇkd<ò +¾6…e¾•kY:bxWËôF–5Ú¡#±ãÇB•-Æ?ÿâÆ—FöP™§y©+ÚbrÆWÈà,:ÜÛ4“¥/}±C{Äÿ²ÌÎSá8°"t§Ë”øwú%Ëd€ˆÌSwÇòЉ4Èš_1•VW­%iÓ\M=¶iŽŽŽkÀv¤L5äPæ6%°­:5Ù_€²XmFceˆ.ºL¼¦ šØÉ"€>DØÐ|É–y›¿™òªJ ÆŸ=¼ÂÄå?pKH#Åyt xÛaÚáUöÙéì¡ÊË]%YúÏ˃E)ýV’¥…Fù¤aûpf<$JÞú' 8‰¡ûjoÝ(êÝvË$¥ž‹«VÁŠŠ¿fÝ0*J´ÂÅ_ܺԖY Ák—1óÐ÷ÏQ¬º  +žàÇ{ŽM;NRˆ°s‘ ÂíIoU1¥Šµíl¥ßw3ÖÏ÷9³f‰o¥uK4€"öÂ9`*“Ê Cð×Ùõm%ždûM«í/á$x]ã~ÅÝáòŠf8ëa±Âgzã„çjÔbb2«°®j£8¶3oƒEÁA@Åb§ÈÚØßò\ÖR³%‘—#ø¡`ztØ›Jˆg¼ìck¥&½‚_t´ùH®¯† @°ßÏ‹vCýRðÎTQ|y¸µ”IëpžÁ¾5œ-c\ÐÖV#¢ë¨NwSº‚+, fð˜Pµ–v›ŽICû€xþ'W™),ÂuóX+\Þ|&óÇã|¨D}É¥lEÙ03=[ɯÒ†z¡Õþf§òÓ½ë]sæ,ˆßk¹DcFÑ~Ä ¾£nàƒ5m&~^äûFjZð=iqJÒz†éý€»5àjUîÙ®ð2.cjû‡±:‹x­Ä7¨Ð¾ƒ¨sl¸ç°IÇ8ä“gˆÜF) Dl^”¡Bô—‘k¬Îj6$­`êdÁ“v}áA[¥Óg£G­ã]’ŒÊ¼P œBÌh%v\Ì+;Õª³:RJRÏ=¾¡\§™éq£KVQL¡t1iÖîcÜÕÀj•ˆÃÇ”ÚÔŽ?¹[K Ì!Û[^éÔK¶Ï1Ëè,XÁàíRË#`KÓ˜jˆþ^©–hØ¿N3ón²›Üì ­ ƒe%§(8 0 Ã8Å+*á°$0è×Ò0¿ôŠJ|£šP補bý‚‚Z)­P‰@’ª{mÞ釶c2º>¾FF‡Ø"›O³Mtªfí¶v +»d0€®–v``KÎfódÞ5E½DwE ÷!›™i¨1ªÊM2ìŸa AJ€¤"„#¹HÖ‰(c”‘F“å“´NaA±WŽV†Ö†’'ôø1jHtfaýÿ ¾ê4€ ;yw£“d!Îc)¸yà†ö}ºC+7Z|;*jTÏ.ZÎsj°ÕeÃÀÄNØõf€~ )eßµ%ìëUAµçšSVêÐ}"Å’Ô¨?»qÄ\ yåÄ¿‚/»ÜÁ¡óÆME¹;ˆô]˜duZõæ8Ë“(‚ãMêšaÏ‹Àm,:+5 ]CÉßøþééEtPz $1õ£ü¢WkÇ´åÉ jlñÊ«[å¼ü€ø¯¹Ë ¼Ð‹,Öj SfKmB«É l5媆½íð ×ó¶:ùzã “OÛnrü²Ïó¨N·w¢ï²vgÞɸ¾zŒó½˜`CÔäSÌG +endstream endobj 63 0 obj <>stream +H‰ÔVÉŽÜ6½ë+øÍf±¸ÕÕ#''ô!¾7‚ÌAÀñÿy”Ô’Ò€s5˜æ+±Xûrýýæ®_nÁ}ú忦oS®æcrMªÉ}W_‹k!ù&ÈU‹^ó8ârî1íÀ<@*^šËwÍUQo.ƒ36WšúRÉuÀsÇ)u,µß.Á#?ÖÖ‘¬ÌOQÑìSq¬;x¯ ä´^Q{áèI ÙçBAùtOî 5š©gA˜#›7åàÍà$¶àbKx¢ÿù³KºÞ çvïoçî·ß6Ñßœt¢¸¨’Pþh M¢ ¨(‡ßøÿ"0D‹°…X¡’m÷ï1]úC¿Ò‰ú>¹ˆ/ñ°QWŽí•å¥UaØ®‡þÂût§µ/ôÖ +¯eÔúÏ¡· UD4×þn™Ù|) í¿’1çÒ«ÄFÅ­²ÿ¨Š yÖgVÜMYÁòmåþÏË; ‹+%,¼?²ìeD~:ËX[§!÷Á!“9Q&qFR,F,“=!ZgCê@˜7BDŸ0íD(^á„EÉs±pŽõ »'™†ºˆ6Ͳøˆ0è–õ`9Ž~µ€Ñ¯lH7Cjê@èXoh·‘ +÷7.Á*ÂV3ÏÅú F£ŽgÌ:Ä:bhãnqH[†Æ‰0ƃ¸²3 t±áÔ´žWŸíм ìEhÍ8nŠAÁE°ŽÁ¸çBs$yL¹$}Uîo ‹Bà†‚„å‘3[8ùògóX7'zæƒùŽ•Tæ×ÿXiŽ;ÐiC:¯T§ñ€È,sôõñ²;7ˆ,†ÌǨˆk­9b“ÜFFÜFÆç/ØËߦÕC +endstream endobj 64 0 obj <> endobj 65 0 obj <> endobj 66 0 obj <> endobj 90 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 93 0 obj <> endobj 89 0 obj <> endobj 94 0 obj <> endobj 88 0 obj <> endobj 95 0 obj <> endobj 96 0 obj <> endobj 48 0 obj <>stream +H‰t—ËŽÇE÷ýõS“ïÇVcC+Û"¸ö„!.Šh6ü÷>7"»§«F&v×eWd~îq>‡™ÿß¡sûòˆÓâZq¾x-ýL>Vœ÷{œïa~¢bhiOqn­èŒ¢> ?v;ž ðªãyOcA¡©¦iï­½íqT€8÷ÎÚÜ[¬øqE°sÛgì@y‰wjÜËh[­yŸ<·É—²‡4ÍÆ’ìuÉcŸ=òZ¯¸›2çeœ ““ÓÀ¼Û¹@²3hµ:È›‘( +vHy·º¥ PöÒÝÌ 1+eOAVò>‚½TöÞ›±(Sƒ +ùåÌ 9™YVâ>ŠùÒö’º1ûólz¦ÅZt+gÈÌŒ=È ™Ê Kåxîø$çf ñ„›úÏÌ\ ™™:”bõ2Í´‡ªgœ‡€¼‡8÷ÌÌ23eŸê™ >(z­íšíú,Ê9ö¬F ¤³,;gÈìLOq £U}0&g…H¡˜Â½)|ªŸ°s…AtÅ+¼{×k‰/ÎìûÅ€u3'ĬŽBÀ“:Ô½Ò.…¬•jÞ4Ü*[¡³f7s†ÌNßsÔ÷6Ì›Îp4 +¡,§0Ôde¨½ÝÊ3`6¨oÀ—!_êf@K²‘<å J +M§Ä½®.Ðá*UºúF¾@Ó ¦»Ï$ ÑÞ(ËXvÎÙÉ{å祓X¥&kôÂÈN* IÆ YÝÊ 9éÿy­Q/58‡Ãt„=ºš¦ßóènå ™™N×è-«[*ú^h#jdNР·Ri9†+´ìŒ&¨‹ˆyfÆ8‚Yá¨ê@*î­Ôœ¡Ã¡šIMst­W¹CÎJr`²  j8îvž!³C‰Ta¨³{éPûÕ@©š…ôåÜ­<Ë[Ê€¡”à´:¢ˆ+6aÝásy…‡ºÞ¢D»I\Õ¨6ÄÜúp@\ ýЗ™3t8Ô2ÉÊÙå‚uDvsöL`%‰úÝÊbF ¨Nz!ódM’œ³ +d^gu ª î4–3ghÙÅŠ|ªë­d@°eñßÛè¸@©> 1AYäÕó½oÚ–;CœêûhfúQ^<æ:œ€•35M_ +Àœ}ýeÖ ljN¢ȶfØáï-ÁåjãX`ˆ:¤)èG‘jÒtÍ-1»ª’™ $3°+!5ºX:Ëtî%MY°´ƒÙ¼¹BO +#•ÐGi’>J“ø$M bMÖŠ’L!ë7µ™¹  Ïn©¾®Ðá»=B¯*B3ÔÞbê’4ƒ ':vKLZK–¡ ¢za8*CälDÑN×O‚FÈÖˆ"ëFqd¶š ¸B²Ã J†vØs[ÌÁ{,k§C»À›.ÉÎ:.Piw(Ò’…Ê¢JFIÍ~ûïÛh½´Ÿp2jñ –Ë=€«MrõÈ®ÐáP‹NìLŽAe›‰ý¿Oô2;¾áKéV&‚1µÆZüCÊE¿¢ê¹øç…û^°]§ž`z´LŒ×æX+ª@%N©Ḛ̀'|k¹‘n¬¨½–4_D¥ÁŽÍË~–• zïÄRÔ„ôA¤.ŠpˆíØ1“Û9C÷ö)Í–sNfG[•lA ® ¦.Þqp¹sBG‚>L¾pÝP[hÖlF :£øÒº@f'(¢gÒ‚…ŠË! ÏD'½¡Ï´‚:Cf®Ò•–ä!rÅ?•Ct”$€Mr²“ªè’ˆA·„›îìºL2©Õ‚ ?«RÄůÜN¶êCZ^ »ò±vÊÖR0bDÐè"Ñ·F›ê +‡|ÁQz  ɵ•~d† 7)QÓR–°5­ÀÎh’""¢»ž0 —g¹r‡ŽÛ×Û¯Û·ï·×Ÿ?‡í÷·¸þ¾øÇ—o·Ÿ~Û^? Û¯Û_Û>Ý>ñÛ‡™žÜÌ·'裞iã#ô8ßÜî”G«góÀÆ +LaÁ³,øZùx‚Lúõ¨Q9 `”ß´ž©N„ áf¯Y±Uw…¬:Kñò” *S9) ¦›Î«Ê0©•´?ŠüŽ~gÓ=¯]^×Íj0cMº"Gþõ|Åú¸?vO%ØŒ:®Z‰Ym ©æ.£¼Z×%ä ™ô[ò`ÌÄ ¥èÊ0W²o°ª¥Vסá©EÂÍ]xrñ2À$“éÎâ¿1?¤èdv8–åÏÕ0Iy5 iþdaˆŒ–¤=Cf‡zkaJPÛgîT¡ÒÕÔ…¨ /*èrxGŒcOÒ~w~ÉÅø¥6ã)˜ÃrŠD¦NÈ¥¦“”œG Q]_[[¼–ŠóZéª{‚Ì 9 í®+­ÉtyB£1g[Õ‹wŸ!3[k ˆ®%¢Ïµ~Åçy®5 ½.ÎÏïkà ²m¢Z'_:í‚ñíúZJ­ùJïKé 23„3Ö.K¶%p“m»b[‰MXØÚˆÎû’|†lÙF]mµZß³|áÛ½ÖÀÚÏ’AÅïV÷•ý™•nJA›¾ê–eZ gÓËî4M"½@=â 2)´'&IvTþ&­gW4b"É—Þî‚æ 1#ÚÒ3i)_é¢Ü]™¤îºäàã;×Nº@‡C=dÓWs¨À4ž:Iz«DnÒv‡gæ˜ ô®D[ÝexlUÏxèJ‹¡qQ—Ö}匎LL˜»‰à HM>.Í)-+¹é™æLNT’ªÆàÃu¤iY›hé](LzwIÅ3bVÈqfSÙD"¤‹”„t5ELäÊY wëª{B–/Òel†i:Qò\f¥ÏÍ7ò¬A,»æ¤y‡,ÖI÷úÿÈ.wYŽ#ˆúóó"«ºÞ®A6ACôeˆFS€@@€þ^'"»ïNׂƲâNg=232Âd)#@W¡2_fowœOèŠ3ÕëIäÙã³¥,a –…š\‹ÏŽâ¸MÆ'ä8ò&ãò&v£ê¡b÷2ÂòÐð¶7uÝŽç±á9<4í“ ÊH­0Rý2dÕ`³µ¾ü×tÔWÛ6.Û¶V»y›AÛÅa£v»Á貃¨1YÈétËd#Læ*—7mÃFtµõÛ~@—7•}“¥ !nÓkÏ EÆ’¨"!rÒ`‹ +ÕÓ6À„ù*t”\6zxí Kö³mƒÎ€d*Ä™<™–N×ÝžáK3œ_4NS剜ˆßj“µái +úÄO[i Ú¨0i ì 9‘£¨Ì–uGYPj­ÍjBdc&ßÊ-¢<3×x‰ïðBÒlýZO–IßrGù„†Iú N§ú7 2¯P¢¨1~¡ãë=â<¡+NfÛŠL+9¾B鱿úÐæÿ^ß sƒŽö#}\h†aèò«oÊ C¶¾8«H†]²sƒ®¡";ë,Z/JDó@š.s\⊜i4÷£ýW¤er—æ+ˆ#„ráîå}äïœ5¦eUbÁ7;dËñ¿YâŠÐ!ö™`YͪßÞ† _áãäï¶!÷ïPýß¡/W’¡Õ$*64d/šß,‹Ø5tä +º“Àß>n£ð Y£Ðп:À°pDihtÒôWPi°ô.í¦ÒOH™Ç$žXázSå! gU:˜ŽÚR%5›ªcCeÈgŒwQè]ËÔÅ)¨pã*ºhŒ :7¨¶ÊŒˆzùMIýDqPÅÿ}íˆ?’`¯n°¡:4 **ºù +`dðÁ¸Îó„®8UçÑ£¨¤!ÖÐ`Õ:™íjƒzôéU}E‰JjHõ–Mã +Hð43^æp‡Î€Ð³âÓ)ï¢×UëÔN Imù¹E,]~mE˜'ä0\ðXžU‚V]Ó ÐcomØjÄyBg@„÷4Ìq‹nÂ$«8LãE»GêX×­žÐÐá ÊR…™7ûðhn©Pu`ùqžÐ]„$ âq³"–*8æ É(tFÒ7ÈqÂvH] pßlÉÔ²Ùq²Ë\:FVÖqžãðs‹$ÕŠâ(VyjYÅéJÄ´TÌ;¢(6+Å´J_”.}’­[åB. éé~D²6è È›h'ùS|…yGÀ)Š”LLÀ :’þ¤²4P䲊ÌY¬!9{‚|ßê 9 ÝQ¦\ 9†Ì…t¯$YPFG<ò)Ý¡ojZçX4X‹­N Àl%{4¯×y"Ž‚£ëòG”âÔ¥ð|¾x•ÍкºúeÖr½¢¡”:\a†–§cörÜ>b‡.íë]ÒIòòà{ì׺\Í"{bè1ÍwèòXª½È>Ú6RžJ)ã}åãò‘lD·Ñ#̹Ì礗»¸¢Xh­x 9Osëu_§Ù Ç…È[§ã¬ùˆ„”lÍ:Ši¾CŽ· G<^BªOTAoÒ*Ž u0õ}ž'ä8Ù‚Hþt/&ý8Ô4¼³MiVº˜wÈ.űvñ™ïEÇ3Kà£äÀä±ó øLÚÓqžÐå%2ÏÐ5p–ž‡ª.ëPSöÅQL1÷Ú Åá>I…0†›ñ\Y÷N]mÞ}‰óC(?E¡µPï¡îGôfihe`ÐÆ×ÍY"Šæ(ê9ÝZ;$ùÏy¡÷`ó¬ÚãuŒ45÷ØœãñÕÞB·ïm„&<ÛE*‘uÑèÐÜË_ÎÆëR?Í ¯ß_ÿxÿûõŸ×Ïÿ5½ÿõç+¿ÿý%þüó×_{ÿüëïùýçïï¿ýöþåõ ¿]žiqÎĬüãµÄ.SP–¬]šÉ~‹Ùi’Þ®KC¿Pª¾Açk*²7@yO®Û55|†ƒ|O¶Dc-EMzá „Ò#,©r;IWɬ!êïk-J©*½9ŸÈ‘o„`Bñ–šêS%PeAv$>AÄp§åOä@çŠËjM5Mµ|Üä D€Å)&B9Óż'µfêq’ +ˆ—å©ëáà4 öÂ:52”>˜´QóSh+ÎÌSõå”lÈiD{u½ó'k“NEëצûÓˆ×|"§‘Ž@›°È¨Ýßè4M5Ãq“l‰þY#+^≜Få4QAè-'\:!<§rž‘“²qŠ ¹êbê, ¤­õT>,e²A áÈñDN#ÍûÊ Æ7S!’•È„h¼Y¤º|‘' ’à‹±5h¡™!½¥_HRƒ3þåc§$zmñDƒIÌšQ£„ ŽÖÝêöñ,ŸèÐÞ;¢¢¿Ã»u\£â'Õ§…åî‹D®¯»Ðî³C…@á *´®iéi­—¿8<â‰(O࢔uTg‹9;4Ùõ˜ |ëa‰©OD1j”ÅXRݼ"šƒDÄX YÓÕÙ"ÈkÐØŒMñáÄ4þe0 +e&¦µ¼KÏ¥Èé†(Æp5&!ÇS¶—8–6TB(Ž#iIª=v„(ãA’D(y>-,¸Î/©\$Û¹ñ‹*nÔ QŒe1=djv«,ŠsЩÉÍtØEõåô{nˆè—5}C>“º\.Kk¹7²×$T´N&~Åx"ŠÁ~‡¦„ûÅ”8n†çPÛS|za:3µêO„ܘtj2]‘Vj‡†±š™bZsÚá›lˆ"Ëæ!ϱƒ›Ð&|IÝßGÜd%ËÎ9=ŸèpÏ嬓S#pã ŠH^OÝÈõ²•;r¾$#iÐW¸JŒþGV â$dh ÊŽ5µR³®²#Ä`[,‚FÂy²z¨[)ÍáT5®B:݃~ƒÎh +*ŸÐHß¡ãÛ‡_¢q Ðð†º´b„¾t*½·¸à  +‡hS¥ìëäݵ#?×y òË_Uý@Ð,r7Õœ“ÇZßËM…ÒhˆÔ‚¢›çס5¥¨yË$@T;ÂQŒpož¯ÌU^Êt¨Ñ'.YúeÖ¿Ón›!†Ü§gVO²¯æŒ:P*zh}é½Ñtˆp0cñÎ<ÀºäyÒdXIg‰9•Zw€'¢šÝ×\¢<¤—Ô‹1gšäNóÐÙœ¼!§eWã]$Dj{îVµÇëÔcèÔf"Û…P •D¢qJìÿŒ—ËnÝHD÷ü +þ€-Ö»jÛF£wƒ1´hï…AkA7à60ƒþû9‘IÞˇ†T!2Y••9Leæë\õ‰aå¢gD1tÉlK1sŽ•§ÀبK:•ßô 7Ø4vEVã¶áJ$ ÖRõ+•%°™>ž +~’3¢2\ÝD%( ¬- ’ +¼w—Ƀ§b\Õy¶:¯jT(’‘NÝëòL .Èjˆ¦[IDÒQºü‘d…[¡áµŽ2†6HÖ-Æñ‹ùäjÜ!Ón– z’uÑðQ»Ébœ‘Õ,O 24S°Ž²ïÐbosÑ›RܶGD1 J™W ¾Ó¾Ý}Ë&ËZ[6ú#Z‘^Åcïm˜ðimú¶[ Ö‹H1¤ «° ¢åðsËA²lòt\OVòõ +Eá=@Í%Ž9k—C’}­óQÛ©ç-Âñ©DkÌ%ø;Ï!®ÌOWd=#9ìHÊFÙIoÕáb$ÅÛ»kPq¥ÆC¿íˆ¨C‡‘RñÝXW:=ÔþÉ'QH +ç°ÍXô‚BÞ'jîeà\šM³øEi½Ž 2#COÈ öh +{$Ô°XÂ0y{ãÒm’-kÒÓ>8böòŽ­G¬ß¼AËX¼¿ò{®IJQ €ƒ´ â¹a6ؼæïóŸÓéå·×eþãçæ…ŸüÇÛ÷é—oóËë{œ¾Ï¿~›¿N_yV—ˆç'Ȩó÷É Ü`E¥U8†³r§!XrºéË’mçlÂ6= ujaàéG™˜B!Wª€fV·¥˜½kÆ|›nalæã ÝÍv‹Ù8L•äaâ±6-ÈYÏHŒ¤™í.²JÛW$®¥<÷Öú‘ãak;B ?O“€Ìûi›Ríµ%¤6Ÿž)ÚÍ"žØ*7Èĸ%¾RmñÞÒµTú¤ÖÝ™CFú®ðy1…U²(®XñµgÙ–~«Úr·¸õnqë½®.³Ýàã☳ơdÑxe­Cìå„X”fe–ù‰è%ç¡,W“ms$"ê l»YÈDÑk&µYƒþ©ˆærhåÈ:lr~E, +¶ËÒ R*kŽ“pƒQ$ÓL‹r†,Œ†”Lk X²ÇR}98(lfr†®h´XÞt Ø}å&)  ¨Ú ­vOWÈâpÝÚ uY³½FPÄÂÂUÀìQÞ¸ÈÏf)¯ÈêHeó­Il@V›WMºÕ†䪩nÛͲ8Ýæ üé¾ZTeSEv0cU}Ûç3‹s†'j#NÑä£ýÈ0³,¦ø,aQ}§p-ÙZá +­1i6Ô!b23’5g2_@~ü’a‚¶8gÈâ0'„œ5÷´Ù€j@´QÀ'Ù '/Û_ Õ!IVÆú,–Yj«×Ì€á\¼®Å5èלdãí5úŒ$'öY’¯©9Zx’/ÐF$ž“2fIîö~†ÿâ2ˆº47Žm;ghu(뎱©v­¨¡\ŠÃF‘gý¡µ=β8¤…aðúÜ­ãV¤¥q ªíc2Vz›nâ¤ÅcVYµd*›ì Œ;™ViÉÓsF¶(CœCω†`G„2ÓÌ=4ëd8ŸàaÎÐêPRh±%Uþ!‹Žjt «,`¬‘Ççmq²êÒ<Ò¶‰bÒDʳO7h=B4∠’ ž‘·êécfS”Æ¡G1Â4x<öèY¯ë`qN´xgq† Ö1\+âá×^ƒëÞ’FTÒ‰ZF4~Q“¬’Ê€x^–’ã¦v)’'sGÓ-D³¤pv“ ýS³©xv ÇåÁbˆôËpö#áìGBùh)åÅk²ìfØ-”"ƒ'2mr0f‚Ö7€1±] ÕÅ]ƒ ^!r ¶0Ê4°Ä¶D˜ˆ^5gDwDÔ¬äj ÑRñ01«#¨ÔwÖL,ä¥Qºœ'A7AýÝ‚Î;'Éžö±V‰uk§ ²ÝFØÄÎ +Z†Bkó‹¬ÌÿžnÐöIÈA`­b‡¶µÊF}cÞws„, ¢®¤Ø™¨Z6D]¾L•W,„G9C–éz7ÆJÒɘ:i*jÌB3Ž-&ˆŠsV‡Ò®b¬&þ §$x&T˜&ÊÃs|V‡‚H¡*òIMY!È'o€\fÎrfÕ㜡ա$FG'›šIÀ²4SRYHU¥Äš[Ý·s†uC˜"ÏœýµE"„O77€ø‘uöQšÇ9C«CvÅT.öZ¢®ôŒê«8Pä5¨„âqÎʼn²¹ò+’'ÖÁ5×ÓlOX‚Y§¥r†ÔSrÀ2µŽ5y’°aέ©?«l¯ÜK—¡q7z,ŽÚÉ­e5– —]éò^ñÙ™Ñ`˜ dqœèDx-XSâÈúf÷îÕnæºUç ­É•dŽ#“ W@À³]‚‡qVYhNÝeü)NÇå¤`ƒL37²ÏC4‡;Û®b\ew·ÈâÀX¾Å^"sÔtyˆ¸™i½BÏù_!EÓQ;ð3–Ù^ÃOñ·‚aH‹²Œ™Æd`ªóç Y Llp«¼€Z““㞢æµ*:$‰Œ‹ßú2FfHBKRr•šmÞÓm$¥ +ìœ|,ކV²Lg‹Ó3m…6Ž6–ÐUïŒ]c.ˆ¢ÐQš K‘URyh•{‚Muª"Ë=ÐÛ]?#¥Ø˜WŠŠS¨þÖÈÉOQ5ŽÁ-<}æ¼B'XQ6Ía‰nèÌRÄí ¤¤ÚªòY®y'du”Q–±0w…“ ¢{oÁ‡Íò"y†lÊ+Ÿ¹’Y¦F¬È1Øoî³.sIÚe'Eš24FJÄ/ÐêNE&Ô¶!‹oî  +pm|¸‡zö%Õ|Éûôûüçôczùíu™ÿø9…yáß'ÿñö}úåÛüòúžçŸïó¯ßæ¯ÓWž]æû‚ÇÊzR¿þõ/ óò… _^ç—æùõË?&þòŸùúÇìQår4êFEü’ô)ýíûô)͹M»ˆË2ÃT¥ÿ®ÿo“ýš¶§£ò¼’í‰×É7*õÜ¡Ì}%vPÒùø,„5b¡¸DJ„ª‹ôq(š§á€9¡€ÔgwlÓ‡iTâQÒ4|ÈÀ8K†ñ²A¤^ Ñ ÕúwŒP’«‚Ñ”‡mO³!Nx̾܀<å+{  ´^ ŸP›;­Y’6¹}«X´6Ù0†=ÇãwHqülM¬2?Î. ¬%>“VÿËxÙ#KrAا˜ h‰ íõŠà6!chH†t}}™Õ=¯hw¯»(TefM¦¿ÞÏ9; ¥lO6n€;ãœÇ} &)Í©Ÿ i)À"Žèªˆð•1¦QæVÍgrÝÖoµÛ° Ê y !˜ñΨ å­u" Ó‘Y¶NþS@šÕanâ`ú¶½½š_kæ:Ï"t$@w ¨–ýä8¢½e¨LÇÁ[ÕxF:€=™ñDj{œ+ä8LIâ£%ÎY†Šv² eÍ ‘YIÇ(¸¯˜ÄÓ+R¡oâ4™‹aH" +€x¶x&1ËæÙ“o¸#¦Ótþ€J–ÝÔ¡]ø »¸§v‚0`zøz@ïoh¤'TžPKîŽ34NR1 µª³Ñ1-Ö=Ö4N‰wFmq´+ôŽÓJµ­H5Êd$=-je á9¼î)jóŠ( +ܽp2‚Ö¦bÂÛ(þÁ.›ò\I8‰Òz³Í~@“lew½HþíJq Ðr‰óÜ w@¹”W´œÂ4¾y½¯dˆ¼\qß7ÈA¶Ò½hTBÀ¬:ŸŒÐðzË%Â\G! $C£þ`2Û¦ 1QúÞÙj‘Û䯧W$˜§m™=PJÖŸ‹QÈb¬FYÊÚõáäÞ!‘j_¯‰sT³t˜ÅÃÕƒžDš”G°ÿ)ZÎ}bw–„=pÁ¾l}3¹6‹ÀͶø) ˜¾N{£Ü54bŽÖ`_ûò#±›ô¾AAýGœ#Öëó¥MeÂÇ?»Ù˜ò:ïoGe?ºG¯O¥g?xN8ÊIë}²““¦¡Ð¢¦Ô2dóësYv@6úscH6[ˆF{`ï†F™æL‹9òcÉ dÆ·[Ù+}°÷‚­ûä’þ;´Ý¥(©PK ¦7zù¤—68¿þ’—ë/—Ue’Õƒÿ8A§­Pz@g>f²Ñ‚Šö‰çý±•àìlaôìñ€|yE…†Bâ1Ôx4‹ŠO(TÀ´ÂnÝ/ ÷sƒG“Y3TtÃ+‰›Ù M¼”½ÅÝg¹uµø€Þ‚˜3¥V@…²ÏjºÚ´AM_$Qt[™J„¹"Š¢²wÍS¤bÑNúѧZ„Sa§‘ Tš~ÍžZâx ããü›Å^4Ò A]%mt-Š[ƒc›ÎÎ"ΖØ<†°ÓKÒ®¼Á”]&!雬!íã·%7ëþ¹C +Se–Ú«¡:š.(‹†o"çº\gS5)ß¡÷ +*:"aP0DŽߪ\Dã™Ï~*ã[Ný¼ÅRœý`•xStu‹Œk©ß#}\~=g쀔ù=Ñ…?É7QdZæú¾À2%Òí|¤0:–æD äûªšFõ Žèÿ÷ëùµÁÔÙ€$7®Ÿæc•¡6Q5CËð Úã7Èq2F~²e[H¶€BP.¹€² ÔhÒ;äz¦A¸ð"~ ÝIÙ€L†¶ <9ÎrØvj‹Ã–“€©ЦãÐ %žØmøÚû«e½†·t~¨¤A' º.Ê`kËë#Ôz$¦Tš{›bËÀF³…ãEG€ÚRdç9 «Fl3%i€L7“à€¢T®È;HDä.¤öÄ#Ç" ¹÷©Î4ô Y"57ÈD¸ùÖÊPŠd¿`X-i5yíÈËøV·t¢ûÒžÐS'ÊS'òI'DÖRVA¾s^Ò^ˆeKc¿¼æ*§"?7ÈwN©4…n¾{×WuQSTÃÅDÆÜ›ÜðQËWhĬqô×dªÇ|dí‡îëØ`HmšÑ[Wèm«ÞÔ¤ÊK>>Hšù¶E$?!múpüR¸ÓV¨ú-ÈÕ-N‹KnܽÊYvŹAà } +ÐéÆh5]¹6iÊPÀM¹Ý·s…§g}0)Î^‰cÂèÓë)Š_šƒäTÅŒ%²sƒF¦?ZfŒNV,=Ô·×›ÙAë5¢CoÑ̰µs*)štITÕØ|i\£š ëØrlç™Î1 16¡¯P +zƺ©‰¼j¡f<nÊìR4ÔÆÐt‡g†>Šâé|}‚g0¬EHÆhµ" +D\há××yƒd9Ó”MÏ…¡‘•h ƒúB4‹ÃÜ ÷ jãq³£;R|«Ñ\™<ÛéRIó´ÁÑ1÷SuÊ5z?7â*ßé꛼{=§ë€Þ_Ÿ,…v–÷{YÝò +\ñ¨Hæ²…¸!./ˆOÃ+>ˆ‘âå.ZlkP®Cº/vàĺº‚t†Þ¡-} ŠR±ˆIƒ3™ÓýfÛÉû +íì­‰“üÆ©ÌÌÝëi¿'«Ùô5>çÇ}ž ¼K ¨iæ1y–n`%Aë²{Ù _¡wøì¶-CYöerÕW- œu`Œ˜N:p@ï¯ý¥c\fŒÄÀ²>©éIýüÏ?æ·Ÿùùûë·ô×ï?ÿþÅ_þ÷ú„þ÷+¢æckì ]©ú”þö‡FMxê¥ðŽÞåÍü[ÿ£nõ³U?´?û7¼³6­~}ýþ»,M]°0CÊ,‚#v3.‹9ïÇùðÃ3$ˆ¼4×TÔKåùÄh:ùXž7¤) \H OVá4|@ š~}=1‡ª¡Kü'³€¿l-©¥êñ„Eý9N²»5”`ªbn‘Œd²1ån«t©¶@ZpÁS,ôtS=æ¤Â,zÒÞvD£Èîys’ÙÌë†9–jÇ4øy~q lH[ Z-’RäêŽ)W–¸ç¤^WÞ'•ï32ÙmÍÑEj%6¶ˆuÃK>zS +©‚.?W¡ºœ½/®D¥Wå5@ej`˱¯;¦Xî_ï‹L·eL^\Ú–Hð”ë¬|(Kk¾_…„¡2´©é…¿CD*DŸâäÃuùbêÛª½m2½¬ñô´¶xÙ‚> ÅÁÛb^›ÈT²¨À „-Ç ötJÈ"t‡ÞgHvÐ䯚«ä•µVBàlRÚ™ƒÐþ–ü½ Kº `'ÖðÙYSO´v ŒØÏzT´lòj%^ë9ŽcÍlš¡3­#Ìrz™ìÊ" u‹ä%«%ÏM`ÞåájHýz´¨s ‡ €n·,KÙR À©€ÊfÛÓ|…'|Ϊè¹úYëK“`ê;Е JmØd= =Î"»üÊ’ÅÏÒhŠV+Û:'¶‚û¹BGùTÅéîGz +uuWNK\‘Ã\¡w@¾c,Loþ:ûBä5®¥<Ÿf±¶ö8WHqô>ý%¹nYYÕÔˆà®,‹«5WÂy¥ÕÛ^Ì7ÈaªýýJÒÝCì "©È ÒXãþš›ô#Â\G¡î)‘ ÁפN’÷£55žM±úÑÒî\ƹEHqtmÜõ\"å”q¦éSð¯“ÅÝã¡çÊf(E¹"ÎCJ;—_B¸6ÓŒÐ\4)¯æ +9,3ÅžM…Ã4 ¢I{6ï†y‡M\{v¼!ŠÛ(“îSÀ›´ÁĈ`Ì4‘ÆÄLU|E¥»f'NnºÍGLù€M ¦Kû ,qö=Ì2—⢠IS̺¨.‹Èöøäìº1Kîm‹¿Ž1˜Z«‰0)/ìS£ê$aÓ<&=àƒSÝÜ£‚oâ0ýHp'7(* 3:¤¤cêö•F˜mRM’ŹAŽ¿à¹g‘auœAPE4ï´ÎŒéytªp£®È;Õ…4Or|!±:dšFQL•M4÷ö¾"Š2³«‘朚=˜%øAd¼MSuF-fÉ»ƒ\YrGìÇ lÒC•æç(4ÙÿÉ®–\)Ž ¸ïSôÆSÿÊÚú y…š…Ù?YfÑX$,ßžˆÈšaºž`*èÊúeFD2ƒ {ðn{* +Æ8#”_0E£ý†H‘QØ+Ú‚† aüwö Áif…¦­ îE­d¢eĤƋÆZmÈix< ëyØÏÃqöèÃì½S'3BÏPJJ½H,æ3eÀ$¸á»Å|†wR£yz&Cä,rnˆOQ‘E€sçàs%¹;v¦ðÁuú8 -v§é(ªÁ’3BÉÁª‘WbÕ4B&@!á¹pðÄgj4ßÏ1ŽØŒP•Ü €Ý‡EYiIÍM€yÊ®â€Q’¤Ç2x.E\ˆvv&£FìÌ h…Î8p¼àN+rÏäæZµ\ nÝí÷)NRiw+ó½ l–LªPÕm /aÜ„[ÜR `kLóÌWMˆ3Ña$®£¶*Ù²iáHqŠh¸\kçòl„ £Ô?š ´N}˜¦âœ!ÅAcÓ"”5È k,’ZéI†úŒHþ^ Ä8A$ ¤¦®<¬Ó뀢 OÍOu>)Ë+%0®ª£/Å›ìEœ[Y …Á-uBUöO@¢Ù¢ÓšH—>3çŒ(JÒCÑ%ïØ +vÙ&/,R×aFU/ˆRÌG Hc{v¢¬P9Z¿Â¦4ñ5èµPqÕ\øèp(âžLµKæçC `_X!ÊÒŽâÊ¿@ŠA«žUÄ 7y·Æ–H +þʯÛhÆ 2âh{ºöCÖåºG1*­hAf†y®3t8”eÖyeݧEÞOa< +%²žÕc¥I®ç QçÙ45Rèm¬\ÌyѤÜãÁ¥¦î¡L¡šD\X‘sƒt]kŠÅÖSß° <Ô:±8TàKášE!t@rfÙª#fJ¢7cEf‚b¯"4B}vtö˜)ÙC!Erc&È8‹ù¤1ªÜ"Þ6UGê(hÁ uPÌ!¶à‹6 .¦Àƒ°ä„8ƒ¬üjÒC‚ð$ ìyZ¨=™e '·¬ññ<®Ë¸/ã³cŽñn™›úŒÍ%†‡¡(«s׃»RE‚¯Û_û¿Û×íúÇ-ìÿ|ßâðçâÿ¼~Ù~ÿ´_oŸûþýóþîÓþqûˆoÓ…=A¦ð%~û[a®/òrÛ¯Ú~{ùsÃÿü·?BÝ=j¼_öNåÀ*„¿l—Ȇ¶p}ð”p«_ »Ùô®Ý?®“ù÷ëvÃö®ºÖ~^ ,S™ØäÇjÅô2Óo_L?çbóÛ‹/vùµÚ»÷/;þù)ÀW€ +endstream endobj 55 0 obj <>stream +é€äé€ä9ùwŸ +wßLøµw¿ˆRø R’}»÷•ªýühøIhi¨ø¯-n•ô#ô#õ”#õ”#ú$ú×4>9ù\èãéÍ‚øèg%TÃÇøÇ{uøï³UŸÓhùƒKÌ¿"ù:j÷ĉù[×ûŒùÓzvpï’ú¢\¦Šúyv“¶ØúPÉãbÚäùˆ·ïj-ù¤Üv'ù5˜g¬ö%ùª1ÞAÿßõ”#õ”#õ•#õ•#ú¢\¦ŠùÓzvpï’ù[×ûŒù:j÷ĉùM-è s·ù_Î; #>ùrVÔ 8yù“qß )ú N³ïLúßIî IeúËQñÝiú¶ÊúÚSÄùçébˆœÌùn=íªºù€éE IùøäŸœ‰>õ•#õ•#õ–#õ–#úßIî Ieú N³ïLù“qß )ùrVÔ 8yù…à MÃzù•«9 d•Dù§@© z\+ùÈUÆ [?,úC›Jø)[û JQÊûÜ 9O×úó¡  …ðú!ooË1Åù¦)ê .M…ù¶ÀU ErVú0l¡àdhõ–#õ–#õ–#õ–#û JQÊúC›Jø)[ùÈUÆ [?,ù§@© z\+ùÉÝ3 ¦luùì  ÑôUú Ð üù¼ú.ÇŒ Þ tú­í zÝûˆÓ'ß”Õûd1°¥"û>ÂŒ'úiR (;©ùêìa ‡Ouú ƒ ³› úˆK÷ P‘õ–#õ–#õ˜#õ˜#ûˆÓ'ß”Õú­í zÝú.ÇŒ Þ tú Ð üù¼ú.Óh +(zúMPF +U7öúly" +€„ˆú5H +cÂûo +ÑTûð&L nü,ûÎ/Ò ?¹qû¬ÓŠ »úÑa ¯ÃúOÄï + +42ún~ +7´0úìx† ØŽ™õ˜#õ˜#õ™#õ™#ûð&L nü,ûo +ÑTú5H +cÂúly" +€„ˆú«ùQ +ÖYöúâ#i /Uøû(ñ „hû9„ hÜû¿…§  ü¬y] +Š˜iüp–` +-šaü5;Ë Ì·üûS~’ +e“ú̵x +¸Ö/ûü ²–ûƒ¨™ +¸õ™#õ™#õ›#õ›#ü¬y] +Š˜iû¿…§  û9„ hÜû(ñ „hû5T¼ ®¯MûLê< Úéûeé„ wãû…M® êÙuüÔ ›nÙý>ô IÚüåd +èÖ³üËâ +¸²šûÞ - C§=ûUG< “ êûlHx ÀD½ûòÐU lû²õ›#õ›#õœ#õœ#ý>ô IÚüÔ ›nÙû…M® êÙuûeé„ wãû~~ + 0MØû–¹› Zˆû®¢# „7ûÍ`> j£yüXTá :ýO€ ¡ž[ý5oô t$Lýæ F +ü(ÜÆ Ê/ûÜF ©{ûµwµ @öü>DÉ ñ<õœ#õœ#ö#ö#ýO€ ¡ž[üXTá :ûÍ`> j£yû®¢# „7ûÚG¬ ÙÑ$üF* ,PŠü-aE ~/ÏüJ—ò fϯüÙk "ÜËýÙÔŽ ²cý¯( YýQ þé|üˆ+á |h[ûùÆ À=˜ü#|× ðjü®¾“ Éäö#ö#öž#öž#ýÙÔŽ ²cüÙk "ÜËüJ—ò fϯü-aE ~/Ïü@Q §Š2üR ÐJcüd¹Ô øjrü# â&þý“' ¡îõþKÏ 7¼fþq( óHýîIh ß~,üíßÞ Oýåü]Oý *ünån ºïüý¸€ v%×öž#öž#öŸ#öŸ#þKÏ 7¼fý“' ¡îõü# â&þüd¹Ô øjrüvlì ¿áü‰ÅG«Šü˜¤¤o¿¼ü´ ¸ZžäýF ûþNê ºþ>‰† ŽOœþ)£ü cÀÓý$ëT Íóaü’Â; +|nü¥'?2вý5½ òX–öŸ#öŸ#öŸ#öŸ#þNê ºýF ûü´ ¸Zžäü˜¤¤o¿¼ü·’1¿e§ü×®6 ÇVüòXWM”ý °¾Dqóý ƒáíëþ°Ñé¶»þ“­dMòþpÕ.Ûbýh¶têKüÒôVªDÏüñsøë´ýƒ^ÿ¼€OöŸ#öŸ#ö #ö #þ°Ñé¶»ý ƒáíëý °¾DqóüòXWM”ý ì £8¥ý$¤)ìBý<€Õ3{lýS™Ê"åýê¬5ôäÿ²(§þèeÇYþÌý´ ‚ý¼¯¬a´|ý%DJbòý;½ÜØýÑ_Ô¦‚Ðö #ö #ö¡#ö¡#ÿ²(§ýê¬5ôäýS™Ê"åý<€Õ3{lýPïÁ{jgýd¦ÒÀÇýw ‹|ýŒgýõ"þ%Nð̯xÿBOŠ28ÿ-’ÿAPÿfõšdþsBœ4ýh¤jÎýyn´²X5þŒüƒÍUö¡#ö¡#ö¢#ö¢#ÿBOŠ28þ%Nð̯xýŒgýõ"ýw ‹|ý¹ê$Êýˆ­#F&dýX7f¡Mý£ë³YCBþ=–\3Ùÿ]X4öVõÿTïWÒäéÿM8g®…¢þ02cñãý–{Ýa/ýœ@Ÿ8ÈYþ5-€g ö¢#ö¢#ö¢#ö¢#ÿ]X4öVõþ=–\3Ùý£ë³YCBýX7f¡Mý—ßµ‡(ýŸ=°§Éý¦r'Æ=ý¸Ñ<¹êYþS'ä—eˆÿuv^¯ÿm•©< Úÿe‹°ÔÞþEÉÙWWý«s1yÊý±–ך¯²þKGouQfö¢#ö¢#ö£#ö£#ÿuv^¯þS'ä—eˆý¸Ñ<¹êYý¦r'Æ=ý­šÁå~ý´ŸÅ­ý»{E"4ýÌ §#þgáöïñÿŒMÕÂÛžÿ„Ø"¢+Tÿ}>Ø€ÉþZê±¹˜ý¿ùÖÙ$ÿýÅĆø¸œþ`!ÖE–ö£#ö£#ö£#ö£#ÿŒMÕÂÛžþgáöïñýÌ §#ý»{E"4ýÀìÿ@6çýÆA]ÀœýËw}zª/ýÛgØpCGþváSAûÿÝW#šmÿ˜$r­ÿ’G÷ãÓþmòçfýÒÁ4ÜÖýÖ1mS_¢þq(63º;ö£#ö£#ö£#ö£#ÿÝW#šmþváSAûýÛgØpCGýËw}zª/ýÕÀ¾´}Výßsë¬aýèéy C/ýövöªàþ’Ë©ÿ°Œÿ½á£ØNFÿ³¶ +žñ½ÿ© åbµÊþ‚ º’]Wý屪nýí Þãþˆ ÆNö£#ö£#ö£#ö£#ÿ½á£ØNFþ’Ë©ÿ°Œýövöªàýèéy C/ýöqŠÇþ·YéT)þ U–>6mþp_8¾Åþ²Õã)hÿäŒ?ÑÿÛ5÷³¦ÿÌäÃK¿3þ¡ÎÉs‹þþ…„xþ Ò"ãÖ’þ©yÝÌÕVö£#ö£#ö¤#ö¤#ÿäŒ?Ñþ²Õã)hþp_8¾Åþ U–>6mþÌD“Nþs_ÝÀþPÔ–·þ"žø‡ÛþÀ†õïŒÿ÷¨ÇÜÿñÆ„¾5Ñÿëœðmxþ¹æÄ†1Dþç ÖjþÁƒÚ´¤þ»>¿ÌW“ö¤#ö¤#ö¤#ö¤#ÿ÷¨ÇÜþÀ†õïŒþ"žø‡ÛþPÔ–·þ è]uÊþ ùã’Ê`þ"ut½eþ$Þ@¼þÂûž¸4‰ÿüÇŸ±ç`ÿû4Uƒz'ÿúþôIeÃþÄqAWsþ&6<Zfîþ#h‘lvþÁhT‰ÇQö¤#ö¤#ö¤#ö¤#ÿüÇŸ±ç`þÂûž¸4‰þ$Þ@¼þ"ut½eþ$…J¦/þ%Š>=@Õþ%Š>=@Õþ%Š>=@Õþóy=@Õÿÿÿÿ=:çÿÿÿÿ=:çÿþï.Í®þÅ#-êþ&îHEþ%Š>=@Õþóy=@Õö¤#ö¤#ö¤#ö¤#é€äÚuÁé€äxœé€äÅ>é€ä´îyì0BZµeîs†Ñ/v5ðmõòÔ8ð¦æÉ_M4ðßÞ€ËÀCñÐH83QîëvNa`ìm6'Úלìm6'xúèì0BZ;Üî¬x™›éC†ôŸRñZ$ñZ$óy$óy$ñÐH83QðßÞ€ËÀCð¦æÉ_M4ðmõòÔ8òjŠÀ´iôüÄòçõ„><éßMõè¦oª˜öM ùõ{Òö±oé{Gõ$r•8ô™óH‡1 ‹—ó•i¡šò£|ˆ âŒômÚJ¾2ôÀ +·³)Móy$óy$ô#ô#ö±oé{GöM ùõ{Òõè¦oª˜õ„><éßMö6è-L£öÙT© å÷iüC µýë÷Þx K¦øRùÏà`øÇ{uø(vâÈe^÷vRj{÷šs™Ÿ/ö›P î÷MÐx­ï<÷³õ%3[£ô#ô#õ”#õ”#øÇ{uøRùÏà`÷Þx K¦÷iüC µýë÷ŽœÇ ÜËí÷¯ó +ÍZ÷Òwñ +,â‡øJsK ÅÖøÂn¦ ^Ђù:j÷ĉùƒKÌ¿"øï³UŸÓhø{1— +É®ø„ qÕ§ø'îz žÁaøœ‡ñ 3Ëõ”#õ”#õ•#õ•#ù:j÷ĉøÂn¦ ^ЂøJsK ÅÖ÷Òwñ +,â‡÷ãŠç +@™˜÷ô†% +T3øc» +g®Åø + +šèøø°v ŒúùrVÔ 8yù_Î; #>ùM-è s·øÕ2Ž t±ø[†B ÙŸøn,ƒ ï&øæ'Ý ˆõ•#õ•#õ–#õ–#ùrVÔ 8yøø°v Œúø + +šèøc» +g®Åø|Ÿ +zûø%yÑ +ÔÂø5{÷ +££ø°»Ž +@¼ù, Ýwëù§@© z\+ù•«9 d•Dù…à MÃzù h‚ ²Ñhø"ý +í'ø ¿V +,¹ùk¢ Ç«õ–#õ–#õ–#õ–#ù§@© z\+ù, Ýwëø°»Ž +@¼ø5{÷ +££øTñí +Ë±Ñøtì +óIwø’Í d’ù!g +»>üùuÈ +\Sú Ð üù¼ùì  ÑôUùÉÝ3 ¦luùN—¯ + ‚EøÐ7q +hœøòi; +”#áùm´® +1ìõ–#õ–#õ˜#õ˜#ú Ð üù¼ùuÈ +\Sù!g +»>üø’Í d’ø°ÓG B'øÌjÍ j¶{øèËø ’ åùj± 6Ýwùë?i +Û®úly" +€„ˆúMPF +U7öú.Óh +(zù°y +‡³ù/'¨ +ââùM¤… ‡ ùÌŽ +°gdõ˜#õ˜#õ™#õ™#úly" +€„ˆùë?i +Û®ùj± 6ÝwøèËø ’ åù"¼Æ ßûïùSª„ 1ù…Ø… ~fgú H© +[ú’¸Í ×Îaû(ñ „húâ#i /Uøú«ùQ +ÖYöú*¿™ 1‰dù£ö „ÒpùÚ¨ ÝÈ„ú[³E ‚¤òõ™#õ™#õ›#õ›#û(ñ „hú’¸Í ×Îaú H© +[ù…Ø… ~fgùŸ›„ ¤¬ù´Ô ÌûùË” ó«ÛúT[9 ¤G-úÝ"^ Tâ€ûeé„ wãûLê< Úéû5T¼ ®¯Mú®ä˜ þGú& § Qbôú=›: }–ÓúÄ# *MÈõ›#õ›#õœ#õœ#ûeé„ wãúÝ"^ Tâ€úT[9 ¤G-ùË” ó«Ûùáõ. ‘–ùøA @ôÖú Ê) fϯú˜¾Ì Ipû#³o ÏÃ2û®¢# „7û–¹› Zˆû~~ + 0MØúõ¶å ²†új¼T Ë,èú‚÷ä õn˜û Äø ¦Çõœ#õœ#ö#ö#û®¢# „7û#³o ÏÃ2ú˜¾Ì Ipú Ê) fϯú5>: ´¸Ëú]^I ÿžèú€íüJ‹ûÁ–ûž”! Â"³ü-aE ~/ÏüF* ,PŠûÚG¬ ÙÑ$ûOX÷ %WbúÀ2Ý i,žúì1[ »¬ûws pCnö#ö#öž#öž#ü-aE ~/Ïûž”! Â"³ûÁ–ú€íüJ‹ú‘ï(o–8ú¢©(”¡}ú³'Ú¹}ûC«ÞxàsûÔ5Ð8¢{üd¹Ô øjrüR ÐJcü@Q §Š2û±L- ë}û ¼L+©Cû33Tc…ûÂ-‚löž#öž#öŸ#öŸ#üd¹Ô øjrûÔ5Ð8¢{ûC«Þxàsú³'Ú¹}úÃ5ÜÝÄÞúÔú¿wúâd¦%~wûtvèéŽüU¬T¥ü˜¤¤o¿¼ü‰ÅG«Šüvlì ¿áûåâú`ýÙûS¹à†æûg ÄrŽû÷­Ë„@söŸ#öŸ#öŸ#öŸ#ü˜¤¤o¿¼üU¬T¥ûtvèéŽúâd¦%~wúþO4mïìûµS³:Ëû3å÷Ù¬ûȸ)ÂU¤ü]…^ŒÑœüòXWM”ü×®6 ÇVü·’1¿e§ü%zâûúû`”1[û°‚‡}¶ÃüBÛAK^öŸ#öŸ#ö #ö #üòXWM”ü]…^ŒÑœûȸ)ÂU¤û3å÷Ù¬ûK!‘<Ñ„ûa”w~6ûwI”¿ßÄü[ÿ‘§ü¥njbGŠý<€Õ3{lý$¤)ìBý ì £8¥üwêؼ­ûßô´M|ûø¦âP²ü‘¾i`ö #ö #ö¡#ö¡#ý<€Õ3{lü¥njbGŠü[ÿ‘§ûwI”¿ßÄû‰Ø:iû›º¥@8û¬÷ |ê¯üEØ$Tw˜üÞ¿,ýw ‹|ýd¦ÒÀÇýPïÁ{jgü¹ÝVª6„ü ê‡ÒnLü4¡˜ÅüË¿àé:'ö¡#ö¡#ö¢#ö¢#ýw ‹|üÞ¿,üEØ$Tw˜û¬÷ |ê¯û¶;l›…û¼jï¹gßûÃ^)Öë¥ü]Ò±|üö³|ŒeýX7f¡Mýˆ­#F&dý¹ê$ÊüèÒ÷MC"üO"_r¡nüV™“ý¶üïzk–{ö¢#ö¢#ö¢#ö¢#ýX7f¡Müö³|Œeü]Ò±|ûÃ^)Öë¥ûÊ3»ô{HûÐßÉp¸û×n0-ËõüqÄØ G$ý èÂSý¦r'Æ=ýŸ=°§Éý—ßµ‡(üþ5 ¬˜*ücØvÏ 1ük6qîëçýçÉšö¢#ö¢#ö£#ö£#ý¦r'Æ=ý èÂSüqÄØ G$û×n0-ËõûÝö©J- ûäazeôûꨶ Ýü…™ai«ý ŠkA²xý»{E"4ý´ŸÅ­ý­šÁå~ýDüùüxS?'¨OüRUF<æý®ê#Ãñö£#ö£#ö£#ö£#ý»{E"4ý ŠkA²xü…™ai«ûꨶ Ýûï’œš»ûô]²·tyûù£ѹñü”„÷´¸¥ý/þ:—±jýËw}zª/ýÆA]ÀœýÀìÿ@6çý%ü%_îüŠ‚â|ã‰üÖõšs,ý*ÇÏzÇÖö£#ö£#ö£#ö£#ýËw}zª/ý/þ:—±jü”„÷´¸¥ûù£ѹñüs—Dâü dÜ8lôüñNh2)ü°@P7ÖýL”Æ8=‚ýèéy C/ýßsë¬aýÕÀ¾´}Vý:G{Ñ„üæìé=§ü§¹ r¡ýC>®¬£ö£#ö£#ö£#ö£#ýèéy C/ýL”Æ8=‚ü°@P7ÖüñNh2)üýLÈtmü,>ªûÆü40l2÷üÑ„¡\ÜÏýnê%MŒ•þ U–>6mþ·YéT)ýöqŠÇýZU¢ü¼Qÿ°züɪ«ýfQÖø¤bö£#ö£#ö¤#ö¤#þ U–>6mýnê%MŒ•üÑ„¡\ÜÏü40l2÷ü9û™¹™™ü?&'ýWüCŒÿ7e’üázë.ÍCýbè&4ôþPÔ–·þs_ÝÀþÌD“NýufÁ¢¤:ü×g +ªI_üÝ%ô¾Íýz‹aæa½ö¤#ö¤#ö¤#ö¤#þPÔ–·ýbè&4ôüázë.ÍCüCŒÿ7e’üF×*q…ÒüF¿q¢¬üH#IÈÜ¿üæ@§Å +,ý„^Á7™þ"ut½eþ ùã’Ê`þ è]uÊýƒfüäÅhç•üäÜΞBý‚âs–œóö¤#ö¤#ö¤#ö¤#þ"ut½eý„^Á7™üæ@§Å +,üH#IÈÜ¿üJfxÂüK}=FÃüK}=FÃüé=¸=FÃý‡fò=FÃþ%Š>=@Õþ%Š>=@Õþ$…J¦/ý†gìxÂüè8Ħ/üé=¸=FÃý‡fò=FÃö¤#ö¤#ö¤#ö¤#é€ä´îyé€äSÅé€äñ:ÿé€äd9ëóNŒòíû—SýÚ +ïç­{ ïüpîð58†a*ðmõòÔ8îs†Ñ/v5ì0BZµeì0BZSˆbëóNŒñÉVî4‰jSî:•Ã'ñZ$ñZ$óy$óy$ðmõòÔ8ð58†a*ïüpîïç­{ ñŒŽN[Mwó™cPñ5ôW Ž Xw|ô»tmÞHµõÜKdõ„><éßMôüÄòçòjŠÀ´iò1˜øGö‚ñÅ€ÇÀ†óvAÖ¼€ó¶¤ ?'›óy$óy$ô#ô#õ„><éßMõÜKdô»tmÞHµôW Ž Xw|ô÷Î ß.ËõŠ, +ik“ö |ù +öà»ö€øÈ +‹êvöõz… + ô1÷iüC µýëöÙT© åö6è-L£õÒ€NùWõ\5æ dúõþ®? þuNödÒì ƒÛÇô#ô#õ”#õ”#÷iüC µýëöõz… + ô1ö€øÈ +‹êvö |ù +öà»ö-†8 ÄqöK] >Õ¤öj…â aú—öâ= +úô‹÷Z|— +“è’÷Òwñ +,â‡÷¯ó +ÍZ÷ŽœÇ ÜËí÷ +GÂ2ö¢ö +®Î,öÃXa +×Ï™÷7÷Æ +lÓeõ”#õ”#õ•#õ•#÷Òwñ +,â‡÷Z|— +“è’öâ= +úô‹öj…â aú—öyíÕ s¹‹ö‰> …ZØö˜v –Þ}÷í 1Ð÷‹½] +̼³øc» +g®Å÷ô†% +T3÷ãŠç +@™˜÷k +§Ÿ£öñé/ ­‘÷Þ~ Fû÷zßÇ +¹@ðõ•#õ•#õ–#õ–#øc» +g®Å÷‹½] +̼³÷í 1Ðö˜v –Þ}ö§äq ¨8ŸöµHj »@öñW Ìêî÷>öÜ iÕ÷º6r ¹]ø5{÷ +££ø%yÑ +ÔÂø|Ÿ +zû÷œÖB +àò÷!ŠÎ C$Ã÷0ï Wø÷ª:; +òê“õ–#õ–#õ–#õ–#ø5{÷ +££÷º6r ¹]÷>öÜ iÕöñW Ìêîöà ” ð÷-öüÉ ˜«÷Ä 7Éz÷–W Ø©Òør¸ y„;ø’Í d’øtì +óIwøTñí +˱Ñ÷Ù²V .Ç¢÷[R á\÷zo µs÷õº‹ Ri õ–#õ–#õ˜#õ˜#ø’Í d’ør¸ y„;÷–W Ø©Ò÷Ä 7Éz÷2Ó% [vÕ÷K‹A €/÷eÎ £•A÷æX† HeÓøg’? í6eøèËø ’ åøÌjÍ j¶{ø°ÓG B'ø2xø ¡'¾÷±'† üQ>÷Ì¿ %’øK1 Åßûõ˜#õ˜#õ™#õ™#øèËø ’ åøg’? í6e÷æX† HeÓ÷eÎ £•A÷™zL éé÷Å7Ž 2Í&÷òˆ xMføxø= $þløÿha ѵaù…Ø… ~fgùSª„ 1ù"¼Æ ßûïø¡ƒ ;+^ø´ ŽtiøK§± ß„øÍ:` „`‰õ™#õ™#õ›#õ›#ù…Ø… ~fgøÿha ѵaøxø= $þl÷òˆ xMfø Ü] š¨³ø½í ¿×ø1>£ áßÓøºÉ ’u7ùBÌî C‰ùË” ó«Ûù´Ô ÌûùŸ›„ ¤¬ù+` ÷úúøL G_¨ø¥… o©;ù, ï fõ›#õ›#õœ#õœ#ùË” ó«ÛùBÌî C‰øºÉ ’u7ø1>£ áßÓøElRÛBøYLè'`ølò.IhXø÷àã ýâù‚Õ† ²[Ûú Ê) fϯùøA @ôÖùáõ. ‘–ùY. iü2øÎ3x µv”øäA‹ ÛÓæùmŒ Œõœ#õœ#ö#ö#ú Ê) fϯù‚Õ† ²[Ûø÷àã ýâølò.IhXø4È rø´|VÒçXøÔz³ÕHùcMÆÑâdùò Øõoú€íüJ‹ú]^I ÿžèú5>: ´¸ËùªO…? +ù)kDFùCOhŽúcùΑ%C‹Ýö#ö#öž#öž#ú€íüJ‹ùò ØõoùcMÆÑâdøÔz³ÕHøã¿7¨-øòÈXø˜ù•ßyƉù’ã9Žú"£ÕùVuú³'Ú¹}ú¢©(”¡}ú‘ï(o–8ú³‰ùrŒ5óµIùƒL#º ú%$ÔÙ‡öž#öž#öŸ#öŸ#ú³'Ú¹}ú"£ÕùVuù’ã9Žù•ßyƉùþÌšÃìù 6Rºceù,ºÛC!ù¾6 ž®8úPMWb`úâd¦%~wúÔú¿wúÃ5ÜÝÄÞú2±Øüçù ˆ¾Z…ôù²M¡}Î|úBé^=œ`öŸ#öŸ#öŸ#öŸ#úâd¦%~wúPMWb`ù¾6 ž®8ù,ºÛC!ùE 7tBù_¶‚Z®@ùukž˜k³ú +>Ábç«úŸä-c£û3å÷Ù¬ûµS³:ËúþO4mïìúl7媄Õù×—ßßYùô‰¤%*8ú†â0è¾ÓöŸ#öŸ#ö #ö #û3å÷Ù¬úŸä-c£ú +>Ábç«ùukž˜k³ùŠWÖpQùžŠ³_*ù²RLDúI$½wÿúà7)î«áûwI”¿ßÄûa”w~6ûK!‘<Ñ„ú¶Nor[zú*9 ìIú5ã“ úÊ‚ ®JTö #ö #ö¡#ö¡#ûwI”¿ßÄúà7)î«áúI$½wÿù²RLDùºˆ‡}ùÒÎx¿¯ùâH6öCóú{):ÍÐÜû-¥]Æû¬÷ |ê¯û›º¥@8û‰Ø:iúòŰ0˜úYÌóX8`úk¯}—<ûÓ³h«5ö¡#ö¡#ö¢#ö¢#û¬÷ |ê¯û-¥]Æú{):ÍÐÜùâH6öCóùê¼ïXÿùð(»,¯HùödG;ëúÄ!ËÔû)¹mü[½ûÃ^)Öë¥û¼jï¹gßû¶;l›…ûTzÇœúƒ£âèåèú‰Óe?0û"ÀEÞ×öö¢#ö¢#ö¢#ö¢#ûÃ^)Öë¥û)¹mü[½úÄ!ËÔùödG;ëùü‡ÀaÎ}ú‡Ñ{اúj:•Zhú¢ÀárÕ—û=‰PPÆû×n0-ËõûÐßÉp¸ûÊ3»ô{Hû0‰ë`ú–,{<^fúœÞxYSÖû6‰"3õ‰ö¢#ö¢#ö£#ö£#û×n0-Ëõû=‰PPÆú¢ÀárÕ—új:•ZhúX®Ü*ú#/ÇÕƒúÖ&àFtú´ÇÀAûO·Û Øûꨶ ÝûäazeôûÝö©J- ûC l±ñú¨¯'ŒWYú¯ +¨QûIp …«Jö£#ö£#ö£#ö£#ûꨶ ÝûO·Û Øú´ÇÀAúÖ&àFtú7øþú"zR(Uú&«É(Ï¡ú Èfû]˜`îÁ,ûù£ѹñûô]²·tyûï’œš»ûT¡-¼Kÿú¹'êÙG^ú½ó”ô!ûXäoÔ{³ö£#ö£#ö£#ö£#ûù£ѹñû]˜`îÁ,ú Èfú&«É(Ï¡ú/&pX\ú7ó6°!#úÛGé˜&Ðûwœ›€,|üñNh2)ü dÜ8lôüs—DâûfúT#LúÊŸ³; !úÓøm34ûoPgHö£#ö£#ö£#ö£#üñNh2)ûwœ›€,|úÛGé˜&Ðú>ó6°!#úI~ÒúTÅúT©Rú[â·š/€úùH;ŠÙXû–³¬{‰ü40l2÷ü,>ªûÆüýLÈtmûƒ®‡àt¯úåä1î×­úò+}ES*ûŽÙ&.Qîö£#ö£#ö¤#ö¤#ü40l2÷û–³¬{‰úùH;ŠÙXú[â·š/€úa0Üßå!úeÓê¹úiÏQ4mû·Hœû¥¥@ÏüCŒÿ7e’ü?&'ýWü9û™¹™™ûœ–ÈïÁúþ–_ДçûºÿRjû¡8<ïkö¤#ö¤#ö¤#ö¤#üCŒÿ7e’û¥¥@Ïû·HœúiÏQ4múlÆ<…ëúl„ÿ±dæúmÑÔZfû î|ЇÓûª Ù̵@üH#IÈÜ¿üF¿q¢¬üF×*q…Òû¨ï,z!û +´'|÷œû +¢\­’Sû¨¨¥í-ö¤#ö¤#ö¤#ö¤#üH#IÈÜ¿ûª Ù̵@û î|ЇÓúmÑÔZfúo±‚QCúpž½=L²úpž½=L²ûÇ÷=L²û¬ñ1=L²üK}=FÃüK}=FÃüJfxÂû«þQCû Îà~°ûÇ÷=L²û¬ñ1=L²ö¤#ö¤#ö¤#ö¤#é€äd9é€äd9é€ä-‡†é€äiÙúë¶Z¿jz탧ÕÌCÍïD`hôïvjñ[”£ï¯\ºÈ Ÿïç­{ íû—SýÚ +ëóNŒòëóNŒòë¶Z¿.-•íáÎf¿¼|íçÔelœñZ$ñZ$óy$óy$ïç­{ ï¯\ºÈ Ÿïvjñ[”£ïD`hôð®‘Ý 1_ò2¸ Üï‚ó)àÐ +Ç™óÓ¥X ôTô8H yåŽôW Ž Xw|ó™cPñ5ñŒŽN[MwñxË`uà ñ ²€õ¯ûò±÷@ ô,òò”rYYóy$óy$ô#ô#ôW Ž Xw|ô8H yåŽóÓ¥X ôTó)àÐ +Ç™ó¸³â ?óô; +H ¹ë·ô®÷À 7½õw µ ‚4Cõë‹r =ýö |ù +öà»õŠ, +ik“ô÷Î ß.ËôØÈÁ +œÝôbxk +lœõN \nõi:û +‰ÈÕô#ô#õ”#õ”#ö |ù +öà»õë‹r =ýõw µ ‚4Cô®÷À 7½ôÌoª V¼õôæÌÜ wãÜõ“Ô —•õÑul èÏöIv´ É‚öj…â aú—öK] >Õ¤ö-†8 Äqö š  :!³õ”ž ¡-¬õµ´b ÉšÕö*MÙ ^¤õ”#õ”#õ•#õ•#öj…â aú—öIv´ É‚õÑul èÏõ“Ô —•õJÕ ¦Ù~õð ¶‚­õ+ƒv Æ$õý» hOöwas ¶Zaö˜v –Þ}ö‰> …ZØöyíÕ s¹‹öXع “‚ˆõß2[ øvõð'ª ÖØöh(ó ¤ÐÍõ•#õ•#õ–#õ–#ö˜v –Þ}öwas ¶Zaõý» hOõ+ƒv Æ$õ9R0 Õp:õE æS¿õQæ· ö2Oö'\¤ O#¬ö¢¢) ìíöñW ÌêîöµHj »@ö§äq ¨8Ÿö†ÏT Ç®”ö ‰Ð *ÊSöŒð ?Eö”9< Ú1?õ–#õ–#õ–#õ–#öñW Ìêîö¢¢) ìíö'\¤ O#¬õQæ· ö2Oõk'; <‰õ„¦ 5çßõœÀ÷ U4Pöx~ µNGööÒ V(±÷Ä 7ÉzöüÉ ˜«öà ” ð÷-ö¾ýf ö@) o-æö_×Ï –ÖöÛ#B 2÷áõ–#õ–#õ˜#õ˜#÷Ä 7ÉzööÒ V(±öx~ µNGõœÀ÷ U4Põ´Ó të‚õÊ¥È •­—õáw’ µžöÃ4Ë Hv÷Dn„ Áö÷eÎ £•A÷K‹A €/÷2Ó% [vÕ÷០yÖ ö- Õyö¬c üØo÷*Õ + ¸Æõ˜#õ˜#õ™#õ™#÷eÎ £•A÷Dn„ ÁööÃ4Ë Hvõáw’ µžö7Ò ó?ãö6¾©4ˆ½ö_7®r4e÷L1Q çE°÷Ò¡u “ü¥÷òˆ xMf÷Å7Ž 2Í&÷™zL éé÷xÄ 'žöñõ Zp©÷#¸L ©š ÷¥Jû N|eõ™#õ™#õ›#õ›#÷òˆ xMf÷Ò¡u “ü¥÷L1Q çE°ö_7®r4eöt#%«Uö„­³±&>ö–é3Ð Ý÷‰BKèÞøàg ü„0ø1>£ áßÓø½í ¿×ø Ü] š¨³÷éõ¹ ¶Wò÷aÚ¼ ÷vÝÂ-?÷ýeŸ Ù¸3õ›#õ›#õœ#õœ#ø1>£ áßÓøàg ü„0÷‰BKèÞö–é3Ð Ýö¨Ýˆïÿöºœ| ÅaöÌE,÷ÃE_®ÿøN:cÁølò.IhXøYLè'`øElRÛBø&…÷›…jÿî÷±Ç§R_ø:š©@ùõœ#õœ#ö#ö#ølò.IhXøN:cÁ÷ÃE_®ÿöÌE,öë+Vj‚+÷ ”u¦5¶÷(ká¨ø(vâq.:ø·Iõ-;VøÔz³ÕHø´|VÒçXø4È røq‚Š©9í÷â\pí)ø Û5»ìø—K—êSUö#ö#öž#öž#øÔz³ÕHø·Iõ-;Vø(vâq.:÷(ká¨÷5Žùÿ´3÷Bá(O²÷Pä:t”øT¼ŒÐGôøå@êù•ßyƉøòÈXø˜øã¿7¨-øÆŽRO;ø5þq:høG™Ð³$øÖrÐo< öž#öž#öŸ#öŸ#ù•ßyƉøå@êøT¼ŒÐGô÷Pä:t”÷\ͪWÂú÷kqæsÅA÷uØÎ‘Üø~¥F,øâù¼•ðcùù,ºÛC!ù 6RºceùþÌšÃìøó¯l±_øa†Rí–Zøt>^¼GùÚÏŠ+öŸ#öŸ#öŸ#öŸ#ù,ºÛC!ù¼•ðcùø~¥F,øâ÷uØÎ‘Ü÷‹ÃKÊþ‡÷£·°'¤÷¶ò68ýºøÇ@>àË\ù\a«Afùukž˜k³ù_¶‚Z®@ùE 7tBù)ª1›ø”ÃfõŒø´¸©õGùF^Dm‰âöŸ#öŸ#ö #ö #ùukž˜k³ù\a«AføÇ@>àË\÷¶ò68ýº÷ÉŒšp 0÷Û€ï¥F ÷ìÛبtùÛ‹¦¤ùší\Ú‡ù²RLDùžŠ³_*ùŠWÖpQùpþØéFøÙÚ¢ÖÒøò†âX>Nù‡kÐ"õ•ö #ö #ö¡#ö¡#ù²RLDùší\Ú‡ùÛ‹¦¤÷ìÛبt÷û¢â Ô€ø âL?&ø™Lo7ù4™b- ùÍ€T¦òùâH6öCóùÒÎx¿¯ùºˆ‡}ù«›¤—šèù¢ç¿Ò°ù&âaü¢èù¾¨Îö¡#ö¡#ö¢#ö¢#ùâH6öCóùÍ€T¦òù4™b- ø™Lo7ø>r‡£gø#懟ðÃø)j ·†CùI%õyþ1ùâОTŽùödG;ëùð(»,¯Hùê¼ïXÿùÕõ Áìù<>‡E 9ùC¢pbh°ùÜQ:dö¢#ö¢#ö¢#ö¢#ùödG;ëùâОTŽùI%õyþ1ø)j ·†Cø.ÛÅÏ!²ø4)êæ@–ø9`UüèÜù[®ŽÄ2bùö6¡­‘új:•Zhú‡Ñ{اùü‡ÀaÎ}ùèîVo&šùN‘À‘™ ùVx#­Šùð"͈%áö¢#ö¢#ö£#ö£#új:•Zhùö6¡­‘ù[®ŽÄ2bø9`UüèÜø>´g‹3øCêÓ)¶îøI–?fùm´® KÛú¥ˆ딨úÖ&àFtú#/ÇÕƒúX®Ü*ùûó{»)dù`ü³ÚÔºùh›êõœ¬úø€Ó#¸ö£#ö£#ö£#ö£#úÖ&àFtú¥ˆ딨ùm´® KÛøI–?føLÖ)U\vøP–ñjÜ2øT@ßcù{6NP1çú¯‘3*­ú&«É(Ï¡ú"zR(Uú7øþú rLÅùq/!B4ùw?;.·ú„ƒaö£#ö£#ö£#ö£#ú&«É(Ï¡ú¯‘3*­ù{6NP1çøT@ßcø[ÙJ©Ùèøc®Ñîøiû ø ù• Э×ú1_ʸ³„ú>ó6°!#ú7ó6°!#ú1_ʸ³„ù• Ð­×øiû ø øsÃE/•ø}MJŠVÞøƒ¦QÈ&ùµV®ñtúRŸ¡:ú[â·š/€úTÅúT©RúI~Òú;ö%daùž+ÏÇ`ù®ýˆqHúK¥CZ ö£#ö£#ö¤#ö¤#ú[â·š/€úRŸ¡:ùµV®ñtøƒ¦QÈ&øˆ`00¨øŒÝ=@Õþ%Š>=@Õþ%Š>=pGþ%Š>=™Ëþ%Š>=É=þ%Š>=É=þóy=É=ÿÿÿÿ=Ï,ÿÿÿÿ=Ÿ¹ÿÿÿÿ=pGþóy=pGþ%Š>=pGþ%Š>=™Ëþóy=™Ëö¤#ö¤#ö¤#ö¤#þ%Š>=@Õý‡fò=FÃüé=¸=FÃüK}=FÃüK}=pGüK}=™ËüK}=ÃOüé=¸=ÃOý‡fò=É=þ%Š>=É=þ%Š>=™Ëþ%Š>=pGý‡fò=pGüé=¸=pGüé=¸=™Ëý‡fò=™Ëö¤#ö¤#ö¤#ö¤#üK}=FÃû¬ñ1=L²ûÇ÷=L²úpž½=L²úpž½=v6úpž½=™Ëúpž½=½aûÇ÷=½aû¬ñ1=ÃOüK}=ÃOüK}=™ËüK}=pGû¬ñ1=v6ûÇ÷=pGûÇ÷=™Ëû¬ñ1=™Ëö¤#ö¤#ö¤#ö¤#úpž½=L²úpž½=L²ùÒ{q=R ø–(ü=R ø–(ü=v6ø–(ü=“Ýø–(ü=·rùÒ{q=½aúpž½=½aúpž½=½aúpž½=™Ëúpž½=v6úpž½=v6ùÒ{q=pGùÒ{q=™Ëúpž½=™Ëö¤#ö¤#ö¤#ö¤#ÿÿÿÿ=Ï,þóy=É=þ%Š>=É=þ%Š>=É=þ%~b’ÇòþàÝèTüýÁuh7ŽïýÏ2WB~þpdabÿ’â*“Ÿ¼ÿÛY%ËDÿÿÿÿ±8óþóy±8óþ%~b’Çòþ +¼^í—Dþ«ôt À ö¤#ö¤#ö§#ö§#ÿ’â*“Ÿ¼þpdabýÏ2WB~ýÁuh7Žïýà†ÂóýÜhÏ£ßü˜¤¤ JVü´‚ SuýF5Ñ\è^þNêÁþÞ(chÀÿJjÈz"þ4ÔŠ¶^¤ý“®>–‰Êý7VFä¬þýÕs¤p ö§#ö§#÷°#÷°#þNêÁýF5Ñ\è^ü´‚ Suü˜¤¤ JVû“"V ƒúª"Å5«ø,×Ì$¨løM“ò$ÈÊ€ø½m›%8¤)ù|Rû%÷‰ŠûŠËE#éý1sÝ!røü(¿!mEû®œ5 ˜ $ú0l¡"å÷ÀúËßö#*1Î÷°#÷°#ùÉ"ùÉ"ù|Rû%÷‰Šø½m›%8¤)øM“ò$ÈÊ€ø,×Ì$¨löIù.&ŠÛ-ô¿š(Gñë)Ãyñ¥ +)/CFñá¥ó)ÁZ•òEƦ*Ê eô÷K)¬ž÷mÚ²(ûåö®õR'G–öj»C&«—Sôȹ()Æçô“*Ú(£éÐùÉ"ùÉ"ûâ!ûâ!òEƦ*Ê eñá¥ó)ÁZ•ñ¥ +)/CFñë)ÃyðTat)–û=ï €ˆ)ú(Çí¼F–*<ˆ`íÆË%*JEPíæG *ëwxîWb, õ#ï†+Ú+ѝðíHg+YG8ð‰'´*P’zðij“)²uïAq*Á7ï;K*¯íqûâ!ûâ!üë!üë!îWb, õ#íæG *ëwxíÆË%*JEPí¼F–*<ˆ`ìm £*~íèë˜* …~é€ä* —Ié€ä* —Ié€ä+>º•é€ä,{ +ë5ê«,{ +ìª|ü,Vl†ì‘wÇ+'~ìrNë*…ÏVë˜* …~ë5ê«+>Àƒüë!üë!üî!üî!þ%Š>=É=ý‡fò=É=üé=¸=ÃOüK}=ÃOüJöÖtQü,b?ªÞµûð¥Ûx4üˆ+áù¿²ý)XAƒýÁuh7ŽïþàÝèTüþ%~b’Çòý‡U'’Çòüé tVðüLjzºkýhº¢Ù.Gö¤#ö¤#ö§#ö§#ýÁuh7Žïý)XAƒüˆ+áù¿²ûð¥Ûx4û³¯  ³ûY–[6¶þúâd¦U‹›ûtv’ „üUεmü˜¤¤ JVýÜhÏ£ßýà†Âóüéõ’YTÀüHÏG9æûë§»sQÖü‰Å“öö§#ö§#÷°#÷°#ü˜¤¤ JVüUεmûtv’ „úâd¦U‹›ùôÐГp#ø”Ã!¡N9öÝ\œ#X<÷M0W#È`÷÷½$84±ø,×Ì$¨lúª"Å5«û“"V ƒû  Fmú†èÐ ùc~"'âùŸÖÒ"Uañ÷°#÷°#ùÉ"ùÉ"ø,×Ì$¨l÷½$84±÷M0W#È`÷öÝ\œ#X<õ&«%´‡ó9”&oõ“ðÚO']}ñä'ï”ÜñSs(¬*ñë)Ãyô¿š(GöIù.&ŠÛ-õÚ%t&„õ•ëe%Ž0óTÈ' âóË0Ÿ'|/ËùÉ"ùÉ"ûâ!ûâ!ñë)ÃyñSs(¬*ñä'ï”ÜðÚO']}ï»z‚'Ô¯BîÏH(.Çòí`5É(kží~}G)8ëíù*)¤kí¼F–*<ˆ`ï €ˆ)ú(ÇðTat)–û=ðÌ‹)ãïïøk(fÆ‘î¾={(Ãâ@îÞ g)e‹ûâ!ûâ!üë!üë!í¼F–*<ˆ`íù*)¤kí~}G)8ëí`5É(kžì/œJ(§oJêù…(Æáé€ä(Æ!ˆé€ä)dDÔé€ä*né€ä* —Ië˜* …~ìm £*~íèì]åí)ãÇ­ì>Ã)B•…êù…)d'-ë˜*b2üë!üë!üî!üî!üK}=ÃOû¬ñ1=ÃOûÇ÷=½aúpž½=½aúpu9UàúTémbú›âayú¶¿®åûWëW½*Èûð¥Ûx4ü,b?ªÞµüJöÖtQû¬ÓŠtQû˜…Uàúð Ü|‰5û‘Aò›·ÿö¤#ö¤#ö§#ö§#ûð¥Ûx4ûWëW½*Èú¶¿®åú›âayùèT#‘Z…ù—J`Ð ù,ºŸÌàù¾6 ÜaÉúPMWö²úâd¦U‹›ûY–[6¶þû³¯  ³û”¼Þ’ú}nq¾Î¦ú)a¯ÚdõúÇ ú"ö§#ö§#÷°#÷°#úâd¦U‹›úPMWö²ù¾6 ÜaÉù,ºŸÌàøVI£ä/÷o }fÇõÛ~" õý¯9"xßÙöm‚ó"è³”öÝ\œ#X<ø”Ã!¡N9ùôÐГp#ùb¹VÛ:øè–—ày÷‰BÆ í@pø$¶!1z~÷°#÷°#ùÉ"ùÉ"öÝ\œ#X<öm‚ó"è³”õý¯9"xßÙõÛ~" ô6'#”“Ïò(­¡$Ѥ ð$c%§7¡ða%L&9Nððº5&Ëf>ðÚO']}ó9”&oõ“õ&«%´‡ô¶Cð$ŸàÌôr á$g‰òeBŠ%c»[òÛ¤«%ÝÞEùÉ"ùÉ"ûâ!ûâ!ðÚO']}ðº5&Ëf>ða%L&9Nðð$c%§7¡ï"“&cGî#ö&cgí$ý&™®Ûí"lz'1Ì(íAîL'ÒþPí`5É(kžîÏH(.Çòï»z‚'Ô¯Bï~å™'B—óï_(x&¤z–îC’*&øjîca'™­¤ûâ!ûâ!üë!üë!í`5É(kžíAîL'ÒþPí"lz'1Ì(í$ý&™®Ûëò+ñ&ÏöšêÚ£„&ë|Ué€ä&ë«Çé€ä'‰Ïé€ä('øNé€ä(Æ!ˆêù…(Æáì/œJ(§oJì u”( NýìL¹'kçêÚ£„'‰¥êù…('Ú¦üë!üë!üî!üî!úpž½=½aúpž½=½aùÒ{q=½aø–(ü=·rø•í­7nÿø}jò/ì8øM/#J¾ùo²¹U[úäátÜêú›âayúTémbúpu9Uàúpu9UàùÒ@"7nÿù¬ÕùH÷\úN!h 8ö¤#ö¤#ö§#ö§#ú›âayúäátÜêùo²¹U[øM/#J¾øóM©E÷Ôþeã+÷uØÎê6ø~N(êù¤ÜнÓù,ºŸÌàù—J`Ð ùèT#‘Z…ùÓ»³“®ù2za¾ÔøÝ³$iÞù{ЈÀÿö§#ö§#÷°#÷°#ù,ºŸÌàù¤ÜнӸ~N(ê÷uØÎê6ö¸3°´RMõžNSY…Cô>`O ¹‹ôýKž!xvPõmX!èJ +õÛ~" ÷o }fÇøVI£ä/ø; YŽÕ"÷Àèosö]9¢ j¤öø¬÷ \ª¡÷°#÷°#ùÉ"ùÉ"õÛ~" õmX!èJ +ôýKž!xvPô>`O ¹‹òÞT£"sñ9!­#3L—ïn×–#ðñµïÒò[$ù¦tð‡D%‹½Ãð$c%§7¡ò(­¡$Ѥ ô6'#”“Ïóát#sѺó:"Ø^fñêÚ£„&ë|Uüë!üë!üî!üî!é€ä,{ +é€ä+>º•é€ä* —Ié€ä* —Ié€ä* —Ié€ä* —Ié€ä* —Ié€ä* —Ié€ä+>º•é€ä,{ +é€ä,{ +é€ä,{ +é€ä+>º•é€ä* —Ié€ä* —Ié€ä+>º•üî!üî!üî!üî!é€ä* —Ié€ä*né€ä)dDÔé€ä(Æ!ˆé€ä(Æ!ˆé€ä(Æ!ˆé€ä(Æ!ˆé€ä)dDÔé€ä*né€ä* —Ié€ä* —Ié€ä* —Ié€ä*né€ä)dDÔé€ä)dDÔé€ä*nüî!üî!üî!üî!é€ä(Æ!ˆé€ä('øNé€ä'‰Ïé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä'‰Ïé€ä('øNé€ä(Æ!ˆé€ä(Æ!ˆé€ä(Æ!ˆé€ä('øNé€ä'‰Ïé€ä'‰Ïé€ä('øNüî!üî!üî!üî!é€ä&ë«Çé€ä&ë«Çé€ä&M‚é€ä%6é€ä%6é€ä%6é€ä%6é€ä&M‚é€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&M‚é€ä&M‚é€ä&ë«Çüî!üî!üî!üî! +endstream endobj 56 0 obj <>stream +ãøCãøC*þZãøCÀ| ãøCÀ| å°!ÀÿÞçZUµìÇèï³€:ùèùµx* ³éÎ —ÌéDÕ•Ýç“}‡.VmåÌÎヾåÌÎã+Jå°!ÀÿÞçdRÜ—çeH½DmñZ$ñZ$òk$òk$éDÕ•ÝéÎ —Ìèùµx* ³èï³€:ùê…2íˆ (ìÂöøÛÇím\ƒJ~í€ zj?öíµô-ÞÉÃî×-àåì,M%êô¯bÔÁ¯êÆtýê÷âê4åx›âì¿ßÔ ì69,K yòk$òk$óy$óy$î×-àåíµô-ÞÉÃí€ zj?öím\ƒJ~îÔéÿ Ý¥ð$žè°¦LñWOÊhÜ{ñp¦JáÈñ¼Õ|ÊB–ò;Þ>æüðô¨|"ž‰ïŽŒ’tÆÓï5£÷r®Kîç®dôÓð=õ’«™ðušâ<óy$óy$ô„#ô„#ò;Þ>æüñ¼Õ|ÊB–ñp¦JáÈñWOÊhÜ{òŠœ /žó¤%(æílô£÷(·§—ôÁkO˜2|õ Sú$±QõÀ«Ž]!Iô¯ì~Dóƒ”ñªycóŒ/¿äò£×Ò4ìóÁ™OÇxQô”}F ô„#ô„#ô#ô#õÀ«Ž]!Iõ Sú$±QôÁkO˜2|ô£÷(·§—ôãFGìÕõ p"½:õ]ªWuÑõ{Æã8ºõÞÍ~Ȉö†¸ÄzÕöE|PÏ3Aö4¥•‚õcÝ]õºnͺõ>ŒWSUõ‹oÉÂô#ô#õŽ#õŽ#ö†¸ÄzÕõÞÍ~Ȉõ{Æã8ºõ]ªWuÑõ{Ì~rZõ›ZÓ‹^üõ·ØP§o'õÖ=†ˆ¯ö;<­äaöæÛ`\Ì öÈjó>òüö¦ä$"]õþó1ä¸Ýõ™èÓRð+õ¹À +l¶öÌ@ü„õŽ#õŽ#õ#õ#öæÛ`\Ì ö;<­äaõÖ=†ˆ¯õ·ØP§o'õÔˆÂþaõñ—~Þi+ö<8ù¯„ö,ßÚuFö“Ë–n «÷CI´o€÷$zÔ—`B÷Á†z)ÅöZ"Ô7Bõó0¼£ªéö:_¿1ºöu?!Pý:õ#õ#õ#õ#÷CI´o€ö“Ë–n «ö,ßÚuFö<8ù¯„ö*Õ¼ ø«öGM 0 /öc˜¥ K uö‚mû , uöë<–Ás'÷žw QŒ÷×Pî…“÷aˆ‡ÑŒÂö²LÔ‹)ºöIxõÄöf"ó  /öÍ +¤¤aõ#õ#õ‘#õ‘#÷žw QŒöë<–Ás'ö‚mû , uöc˜¥ K uöq¸Ž X©öÍ@ f&VöÜX s˜uö¬È T–F÷‚)êçm÷Ëì6ƒ€÷¼û(%í÷­Ô¾öúGóÏäYöã 9–öž¹ G$'÷9ÜŒ§õ‘#õ‘#õ’#õ’#÷Ëì6ƒ€÷‚)êçmö¬È T–FöÜX s˜uö›HÜ §Œö¨¯Ä «mö¶ ¤öÕA ~½ñ÷?³) ôñ÷õðÍcN²÷ç¯ATj“÷ÙbE{>÷$Ú"ùáùöº:9 b¥^öDZó pÅF÷1l Òõ’#õ’#õ’#õ’#÷õðÍcN²÷?³) ôñöÕA ~½ñö¶ ¤öëo + Õ¨f÷ ;A + + ÷Tj +CÉG÷sªX +%S?÷áË9 À8øžÇ‡ }Vøg"‡Úøø.ÚôŸm÷xP Q²F÷ +q9 ¶Â?÷?{ îŽ}÷ª&9 …гõ’#õ’#õ“#õ“#øžÇ‡ }V÷áË9 À8÷sªX +%S?÷Tj +CÉG÷o +^­…÷†ÂÔ +{ï7÷Ÿ‡I +—ñ^÷¾Ý +y¾œø.¨ +zVøîè n/ÂøÔ2 PQø»Å 12á÷þ!w Üó7÷ŽPì +@1â÷¦ +]¶Úø?– ø›«õ“#õ“#õ”#õ”#øîè n/Âø.¨ +zV÷¾Ý +y¾œ÷Ÿ‡I +—ñ^÷¸Ü +´6Ë÷Ð\Í +ÐO^÷è• +ì;øö– +ÎQ7øy`` +léuù<Òx Èù#ì ªFÊù # ŒQ³øHȇ +4œG÷×Y" +•þn÷ï¾I +²_âø_ŽÕ +O!7õ”#õ”#õ•#õ•#ù<Òx Èøy`` +léuøö– +ÎQ7÷è• +ì;øÂ2 2 øͦ $»ø0±Ü ?¤•øPô "•øÃ` +ÂxVù‰ª# +!uùp2J +޳ùV˜Í åâ}ø“! +Š¼êø #® +êBø8/" `»ø©ž‡ +¤þ”õ•#õ•#õ–#õ–#ù‰ª# +!uøÃ` +ÂxVøPô "•ø0±Ü ?¤•øHÙX [_ø^8Ü x}êøtã" ”–~ø”Dž wI•ùÊx  vùÒo +{› ùºAü +]¦ ù£Z +>U^øÜÆI +ßÅ?øh:Õ =n^ø}šY [1øða +û«^õ–#õ–#õ–#õ–#ùÒo +{› ùÊx  vø”Dž wI•øtã" ”–~ø¡~® ÍdøÍ“® „òøù‡ <ñãùaü ]úùËÕ Æmãú__¯ /,Óú0øq +ô vúùÕ +¸-}ù8U: V2ÓøÀà* °´øìÓ‡ èënùa^ü ‹M…õ–#õ–#õ˜#õ˜#ú__¯ /,ÓùËÕ Æmãùaü ]úøù‡ <ñãù#© u# +ùJìÆ ®ºúùs!€ æ‡8ù’)J ʽ!ú Oå t‹­úá•R ãøvú¶ºB ¨s0úŒ¿q kù½+— ]¬ùBî X!ùiô ’ðãùázq 9Ìõ˜#õ˜#õ™#õ™#úá•R ãøvú Oå t‹­ù’)J ʽ!ùs!€ æ‡8ùÅ+ U) +ú +¼B ÇîgúQ»5ª`úoþ¯ Åúï§ Ìá`ûÎ÷ IqÌûƒd ÔNúû8à Zòúc}Ÿ ê¥)ùä 9YXú(ÿÕ ­äÌú£€# W¾Žõ™#õ™#õ›#õ›#ûÎ÷ IqÌúï§ Ìá`úoþ¯ ÅúQ»5ª`úvÆlžú”i¥hú´¥¯Ûë–úÒb·ÂÓ ûS¬æwÇü8„; úÇ­ü"· À>­ûõ· ƒwû¾õéoú”^ZQõhú²&˜‹÷Üû1Pý=>õ›#õ›#õœ#õœ#ü8„; úÇ­ûS¬æwÇúÒb·ÂÓ ú´¥¯Ûë–úÔU§Üúó•I‘"ûjÖC2û/g&ìû²ä Ã*üœvK©Qü{—™oÃAüZHÇ5ª`ûuqq²©Åúò¯úQû»+1tÜû’ +õætõœ#õœ#õ#õ#üœvK©Qû²ä Ã*û/g&ìûjÖC2û.µÞ¶\ ûJ¡˜ì«ûf"Î";€û‚• &¶üÐZÇ_ôüõß×VážüØ|Åüº®¨ãÓ`ûÑ"Z„:ûKÛˆž?ÅûgÞÕ–Iûêr Ž=¾õ#õ#ö#ö#üõß×VážüÐZÇ_ôû‚• &¶ûf"Î";€ûsØ3= QûqWªJûŽôr2û«y[„ôü1.4„Iý!c¬ÍýúKçÍý{s€¾üq3ãùxûJy%ôˆû„‰Apü"ÅjýUIö#ö#öž#öž#ý!c¬Íü1.4„Iû«y[„ôûŽôr2ûœ} Œ|ûª,Ö¦–ˆûµÂqÁu+ûÑp«mxüXqÞk2åýJÀîЦý>P°ä&Qý/ÆDÈKhü?‘b5¸åû¸uíÝûÅÚæŽÕüL NŽ+öž#öž#öž#öž#ýJÀîЦüXqÞk2åûÑp«mxûµÂqÁu+ûÍÞ·öÂRû妿+E§ûýÇ^ÿ+üèÏJü ƒj Pý–å4¨Ýý}ãq®Jýd¨9©üür2˜¤Õûé’bຟüîK ü‡†æÖ!Jöž#öž#öŸ#öŸ#ý–å4¨Ýü ƒj PüèÏJûýÇ^ÿ+üÛ°’ûõü,Ø4Å;ü?ûæøÊˆüYô°äâ üä «žÆýÞC[Lþüýɸßæ#ý¯?%àU¶ü¸Ý[DÈ·ü.´·~ZüFÐý±4RüÏ|jt…íöŸ#öŸ#öŸ#öŸ#ýÞC[Lþüüä «žÆüYô°äâ ü?ûæøÊˆüT7æ,üh4^lCü{³  ˜ü”µ¿}6bý #‰GQÞþ4î^ þ k¹p3ýóÚüùžzâAåün+3üSK— ý 9ÀdöŸ#öŸ#ö #ö #þ4î^ ý #‰GQÞü”µ¿}6bü{³  ˜ü…rS¨ÛCü%ÏÁ~ü˜½CÙèÖü±D Çš,ý=Tj“_·þ<ù’=3Þþ2¹ï#$§þ(oÝbý*ŠjaÑ3üžtr– ü§¦ý¯/jý3cyPö #ö #ö #ö #þ<ù’=3Þý=Tj“_·ü±D Çš,ü˜½CÙèÖüˆýæjü¢OòHbü§ þd‰ü¿S$ì^¿ýK·™¸ó·þL1Èd) þG"ÈW=yþBÈJAýBn¡ lîü¶ÇÓÒZüº’ àB˜ýF¨™¬$ö #ö #ö #ö #þL1Èd) ýK·™¸ó·ü¿S$ì^¿ü§ þd‰ü«Cý +³$ü¯r¿ü$ü³›æ#4SüËœ$qÏýXIzÞÛÏþYžL‹l·þU,D~eþP´¡qL¯ýP4ׯZüÇø­ZüÇrý9 ýSÑ×ÑÔ3ö #ö #ö #ö #þYžL‹l·ýXIzÞÛÏüËœ$qÏü³›æ#4SüÔ§r…ýüõ!<ãh¸ý'$>ò ý) 4/Tîý·ÚS°þ¿Ž‚ºBîþŸ›DX‡þ}Ló¿ýý{²zG/üì­Ks>zý KÓÅþý—ç¡\×ö #ö #ö¡#ö¡#þ¿Ž‚ºBîý·ÚS°ý) 4/Tîý'$>ò ý-<›ªýFæDõrý_\<Kßýs =ŠþŽzMïÿî¡ØiSþöΚ|‘‚þÛ²L-‚ýÓþfDýCeKŒcýZ–çt±ýét»vö¡#ö¡#ö¢#ö¢#ÿî¡ØiSþŽzMïýs =Šý_\<KßýliruóTýuM‚ ðý3rÊÎÐý‘¿È¾7Tþ"û-šÙŠÿ2ðØ`ª<ÿ(]3ýßÿÀ(cþ_çE þý€°h_’ý‡Ù×”^%þgrn--ö¢#ö¢#ö¢#ö¢#ÿ2ðØ`ª<þ"û-šÙŠý‘¿È¾7Tý3rÊÎÐýˆáSô¸Ðý’\ÀÍÈý›«SFý­Š:lçþ>òËàÿQVä*¡ÿGjƒ¹9%ÿ=FçaÐþ-V×Ç‘ý›m©è!Tý£Å‘,÷þ5’îÚcö¢#ö¢#ö£#ö£#ÿQVä*¡þ>òËàý­Š:lçý›«SFý¤énHý­ôc•²÷ý¶Ò×¼C=ýÇŠ±“{þY‡ß“ždÿn2ØbXÁÿdÈ=9-\ÿ[+-þHÇ<D½\ý¶LLb¬Øý¾4‹5þPDjrÿö£#ö£#ö£#ö£#ÿn2ØbXÁþY‡ß“ždýÇŠ±“{ý¶Ò×¼C=ý½ÔÈã8lýÄ©ß M\ýË]S.EýÚy‚$È÷þmoÈ X’ÿ„:ŠÜA±ÿ} Á´ˆMÿuµ¹‹ãsþa +À½)ýÎz؈ªýÓÆÿƒsþf@þá™’ö£#ö£#ö£#ö£#ÿ„:ŠÜA±þmoÈ X’ýÚy‚$È÷ýË]S.EýØ¢™yMýåJçÀ8Éýñ[×ùðýþ6™ûåMþ‘ö±å;ÿ¬§T¿ûÿŸÒ-w±ƒÿ’Zs+ÅMþ{ŠXÜ.ýç¾ÈoNdýò%©¸$&þ…!Šœñlö£#ö£#ö£#ö£#ÿ¬§T¿ûþ‘ö±å;ýþ6™ûåMýñ[×ùðýú#ßH6lþ{ȉ]þ +i-ÆoÂþS¿ãŒþ©pc­‰«ÿÇ€\\„ÿ¿ÐMâeÿ¶ïÀþ›aL-ÿøþþ¡@.þ +Š‚|'þ öØl ðö£#ö£#ö¤#ö¤#ÿÇ€\\„þ©pc­‰«þS¿ãŒþ +i-ÆoÂþ—öçøþÐ=½”þþßt˜Âþ'Ÿ©osVþ¼g<`ôÿÝ`ÐI&UÿØØ\®'ÿÏ5±Ðò«þ±%¹ï6þG¸ý[Âþ#pç8˜'þ·ÞÈ&{ñö¤#ö¤#ö¤#ö¤#ÿÝ`ÐI&Uþ¼g<`ôþ'Ÿ©osVþþßt˜Âþ'VÈâOþ.¡™BJ}þ4äï”–þ9踑²þÏ1=‰’7ÿô¸à|0éÿî $wÿæDà¾NþÅKLÕï³þ/÷’Ý)³þ3ªþ?lþȃc1ØVö¤#ö¤#ö¤#ö¤#ÿô¸à|0éþÏ1=‰’7þ9踑²þ4äï”–þ9‰kæìÚþ9”¡+¯âþ;öb¡}þ=Èþa\VþÓ>\]¿VÿûÜsWÊ}ÿùر;âÿù¦=ÓöþÔšáWNþ>4äÚþ;Û©*j»þÑ:š#0»ö¤#ö¤#ö¤#ö¤#ÿûÜsWÊ}þÓ>\]¿Vþ=Èþa\Vþ;öb¡}þ>-çÐêþ?ƒß‡ þ?ƒß‡ þ?ƒß‡ þÕs…ÿÿÿÿ…ÿÿÿÿ…ÿþžÐÌíOþÖ¹Òâ(þ@zŠÏE(þ?ƒß‡ þÕs…ö¤#ö¤#ö¤#ö¤#ãøCÀ| ãøCUü´ãøCëzzãøC€ø@åŸêwI‰ç8§–¬F<è½xù.¸èÍéYd&¬èÞËŸÏÓèï³€:ùçZUµìÇå°!ÀÿÞå°!V€råŸêwëËÃçIw;bçImÔ ñZ$ñZ$òk$òk$èï³€:ùèÞËŸÏÓèÍéYd&¬è½xù.¸ê*é#A§ú놺4¨C-ìËÛc%¯ãí¯š9±í7ˆcÀ°ím\ƒJ~ìÂöøÛÇê…2íˆ (êtK 4ê;ѬŸîë¼æÊ-ëÏ騄TÇòk$òk$óy$óy$ím\ƒJ~í7ˆcÀ°í¯š9±ìËÛc%¯ãîGk¦ôwïT•T>°ÜðrÁUê¿®ð¾ðÑj®ñ Mé~{ñWOÊhÜ{ð$žè°¦LîÔéÿ Ý¥îŸL™V¥îQ{wï ÄѾÜïØol1Eóy$óy$ô„#ô„#ñWOÊhÜ{ñ Mé~{ð¾ðÑj®ðrÁUê¿®ñ‘nF•è¦ò˜^?O^aó‡Bà 0³óæ+nž¬ºôE}++ô£÷(·§—ó¤%(æílòŠœ /žò>R Ñžñݘ'F¦ò÷FéÛÚióEBZqdô„#ô„#ô#ô#ô£÷(·§—ôE}++óæ+nž¬ºó‡Bà 0³óÂWê C”óû^ vJô4–» §sœô—W 7v7ôú£òÇvõ]ªWuÑõ p"½:ôãFGìÕô„c8`Îô!@•Ðiô^d´ Gô½if’½mô#ô#õŽ#õŽ#õ]ªWuÑôú£òÇvô—W 7v7ô4–» §sœôPº… À‘ÃônJ´ ×ÍÊôˆÕ? òôíÚ ƒÝÂõRÙ) ¦uõ·ØP§o'õ›ZÓ‹^üõ{Ì~rZõÅãâWuô³Á! PŽÂôÓOv i–}õ6[¬ù“|õŽ#õŽ#õ#õ#õ·ØP§o'õRÙ) ¦uôíÚ ƒÝÂôˆÕ? òô£Û + ÕÊô¾¹Ã +%oGôÙq( +>ì»õ@]¥ Ò õ§O¼ f„ö<8ù¯„õñ—~Þi+õÔˆÂþaõoÌ_ 18}õÚG ž}õ%¦@ ¹ FõŠ« JÑùõ#õ#õ#õ#ö<8ù¯„õ§O¼ f„õ@]¥ Ò ôÙq( +>ì»ôô( +Xd”õ¾O +qºËõ),Ó +Šï^õ‘ûo + UõúÊ + µºÃöc˜¥ K uöGM 0 /ö*Õ¼ ø«õÃé@ dFõ[¥ ëþ”õwŒë + }õÞ šº}õ#õ#õ‘#õ‘#öc˜¥ K uõúÊ + µºÃõ‘ûo + Uõ),Ó +Šï^õ6aH +—ŒuõCІ +¤VõP®) +°ªœõºh8 +FûÃö$"H ÝGNöÜX s˜uöÍ@ f&Vöq¸Ž X©öéó ÃCNõŸ/ã +,ò(õ­D• +:o}ö1 ÏÕ/õ‘#õ‘#õ’#õ’#öÜX s˜uö$"H ÝGNõºh8 +FûÃõP®) +°ªœõ]4Ó +½Î?õiµã +ÊìGõv+¼ +×ÿõàË¥ +o6öKkŽ +mö¶ ¤ö¨¯Ä «mö›HÜ §Œö1ŽÌ ëVfõÆîã +TfõÔUÌ +b#Gö>Û øtmõ’#õ’#õ’#õ’#ö¶ ¤öKkŽ +mõàË¥ +o6õv+¼ +×ÿõ¨! DÃõÙN_ ?ø¬ö + v sÓöx.X ÿ¤öæIž +¨äu÷Tj +CÉG÷ ;A + + öëo + Õ¨fö€Ï! +>qfö£ + +£{ÃöGo@ +ÚÝ}ö²` +r³õ’#õ’#õ“#õ“#÷Tj +CÉGöæIž +¨äuöx.X ÿ¤ö + v sÓö"þÄ Œ"ö9w §WöP&w Á²úö¿ñg ^tO÷/¼X +û5¤÷Ÿ‡I +—ñ^÷†ÂÔ +{ï7÷o +^­…÷ð1 +ÃÃö‘¥ '^ö¨Ñg DI÷÷ä +ß-âõ“#õ“#õ”#õ”#÷Ÿ‡I +—ñ^÷/¼X +û5¤ö¿ñg ^tOöP&w Á²úög1 ÜGö}¾H öWòö”R! lÄ÷Á† ¯÷w+P M¢Û÷è• +ì;÷Ð\Í +ÐO^÷¸Ü +´6Ë÷H7ë uvöÖÎ" x×öï( ”ð0÷^ó 1±…õ”#õ”#õ•#õ•#÷è• +ì;÷w+P M¢Û÷Á† ¯ö”R! lÄöªë– *•öÁcg DtÄö×¹– ^;÷J· þµv÷½´p Ÿ*8ø0±Ü ?¤•øͦ $»øÂ2 2 ÷Xh i™Ë÷U` Én÷4`Ô äé†÷¥Ð9 ƒ‡_õ•#õ•#õ–#õ–#ø0±Ü ?¤•÷½´p Ÿ*8÷J· þµvö×¹– ^;öîS + wÉ_÷/½ “[g÷\Ì ­—v÷‹Ý OîWøbä òE8øtã" ”–~ø^8Ü x}êøHÙX [_÷ÕÛì ºš÷aPw C¼÷v¯û 5²H÷é³ Ö,¥õ–#õ–#õ–#õ–#øtã" ”–~øbä òE8÷‹Ý OîW÷\Ì ­—v÷A‡ ⛼÷j.ë ýo÷’Ù` J¼Žø +C9 ðÌwø²® –áúøù‡ <ñãøÍ“® „òø¡~® Ídø,þp + ¼÷µƒÅ „ò÷á˜Å ½ WøV$9 _onõ–#õ–#õ˜#õ˜#øù‡ <ñãø²® –áúø +C9 ðÌw÷’Ù` J¼Ž÷º’Å /÷ß® µ`ø­® éûø~ÔI ’ê!øøúä <¸­ùs!€ æ‡8ùJìÆ ®ºúù#© u# +ø¬?A Ï!ø29 %>úøY@I ^ÖëøÐÆ* ìoõ˜#õ˜#õ™#õ™#ùs!€ æ‡8øøúä <¸­ø~ÔI ’ê!ø­® éûøQRäP@"ø’»ÔøÔ2!âôùS“*Ó#ùÒ§#„iÅúQ»5ª`ú +¼B ÇîgùÅ+ U) +ùJá «TãøËy€ ú­ù'ülÎoù‹¨J­Ìõ™#õ™#õ›#õ›#úQ»5ª`ùÒ§#„iÅùS“*Ó#øÔ2!âôøö’:T‰ÅùªÍ‰â"ù0Ç#½€ù²Qr‡ú3[€&÷ú´¥¯Ûë–ú”i¥húvÆlžù÷κ¾hùu¦2Ê`ù“ôü>Ö*úÆð`õ›#õ›#õœ#õœ#ú´¥¯Ûë–ú3[€&÷ù²Qr‡ù0Ç#½€ùNbˆðôùk“i#YhùˆdüUtú ¸ˆQú¯ƦôûjÖC2úó•I‘"úÔU§ÜúS x^,pùϬ¶¥„üùîìÛõ¦úp§›¨ûRŽý̓Ïûܬj”PÇöŸ#öŸ#ö #ö #ü{³  ˜ûð@;ÅðûdÌÖûÏúÙ_ 1³‰úâ{+HÙ$úëŒ_Ñæúô†v˜4û€–íB]¿ü ¬æ#Kü˜½CÙèÖü%ÏÁ~ü…rS¨ÛCûú‰Þ¿Çûmîú;ûwœq+—rüÖõ¸‰ö #ö #ö #ö #ü˜½CÙèÖü ¬æ#Kû€–íB]¿úô†v˜4úùÎû[úý{qSKûíy˜šjûŽQíe4ýü°Ç1Éöü§ þd‰ü¢OòHbüˆýæjüx UÞû…+MÀæû‰ÚJYèCüðC%­Ïö #ö #ö #ö #ü§ þd‰ü°Ç1ÉöûŽQíe4ýûíy˜šjûÓZ¤™û ³ ¯‘û “åºöSûšA;ˆ`Sü&î‘UÊSü³›æ#4Sü¯r¿ü$ü«Cý +³$üå$>,û’7Îp´,û–`õ|÷‘ü"ÅjI’$ö #ö #ö #ö #ü³›æ#4Sü&î‘UÊSûšA;ˆ`Sû “åºöSû,RÎò üõ!<ãh¸üÔ§r…ýüGú·–þû¹$ã¦bûØÜõB:öüfT¤öö #ö #ö¡#ö¡#ý'$>ò ü„Zk.KûõŒæ—jŠûf¿ÇæÈûQÇ!û–ýím„þû­ÉÖ½Òkü>QÖ—–<üÎÔ<qZý_\<KßýFæDõrý-<›ªüž²ÇàÀüæíäßü'…îGHÐü¶^CD¡ö¡#ö¡#ö¢#ö¢#ý_\<KßüÎÔ<qZü>QÖ—–<û­ÉÖ½ÒkûºÖå¾DûÂ=æ çÈûËv 4ódü\· ÿüíòrî25ý3rÊÎÐýuM‚ ðýliruóTüÛárœ/‚üJ•;¿‚üS~æê„cüä ÄSkö¢#ö¢#ö¢#ö¢#ý3rÊÎÐüíòrî25ü\· ÿûËv 4ódûÔ{¿\ÐûÝT˜‚bkûåúý§ë5üwä,‡J-ý ÇÀf©&ý›«SFý’\ÀÍÈýˆáSô¸Ðü÷ S5üe¼¿8¬küo8,aÁdýy,>nÐö¢#ö¢#ö£#ö£#ý›«SFý ÇÀf©&üwä,‡J-ûåúý§ë5ûî¦ýÍsÿû÷&$ò8’ûÿrÖ3Tü‘è,ø8¢ý$]‚Ú=ïý¶Ò×¼C=ý­ôc•²÷ý¤énHý‚Žéü€Š‘¬Ò÷ü‰›zÔ=àý ³­ªö£#ö£#ö£#ö£#ý¶Ò×¼C=ý$]‚Ú=ïü‘è,ø8¢ûÿrÖ3Tüî;:‡Éü Gý^ü€€Þtü¥vbený8g IýªýË]S.EýÄ©ß M\ý½ÔÈã8lý+_r-ƒü˜c‘’²üŸ>CB§¢ý1¹4$½Áö£#ö£#ö£#ö£#ýË]S.Eý8g Iýªü¥vbenü€€Þtüê¿Æe²ü*àŪü6ZGøÂüÉÐr1N|ý]–%¤6ýñ[×ùðýåJçÀ8ÉýØ¢™yMýE¬S”ƒü±áªõMü¾‰SòdýQŠÏÖãö£#ö£#ö£#ö£#ýñ[×ùðý]–%¤6üÉÐr1N|ü6ZGøÂü>5χ§.üEöZÄ(ºüMLbý}eüá©rë#„ýv ØÉ£þ +i-ÆoÂþ{ȉ]ýú#ßH6lýf^,^à²üÑûpüèüÚSj±ÎÙýn¸›b>ö£#ö£#ö¤#ö¤#þ +i-ÆoÂýv ØÉ£üá©rë#„üMLbý}eüSÿ×6âáü\ÍylÒ›ü`¢‰ Êüõj‘‘”ýŠ7Kƒøþþßt˜ÂþÐ=½”þ—öçøý}:çAÙüè\æ$‰üñ• ^Yý†‰L<Êö¤#ö¤#ö¤#ö¤#þþßt˜ÂýŠ7Kƒøüõj‘‘”ü`¢‰ Êühh°ñüo=Ç`#Œüuý¬õœý +Y‚¤ÕÃýŸœjœµéþ4äï”–þ.¡™BJ}þ'VÈâOý’4ðÈ»üý5ßø»ý€°X³ý™^°Joñö¤#ö¤#ö¤#ö¤#þ4äï”–ýŸœjœµéý +Y‚¤ÕÃüuý¬õœüyl™ùÞüyP‘:)}ü{'ymx}ý—<iÛ}ý¦ ™f>}þ;öb¡}þ9”¡+¯âþ9‰kæìÚý¤@çï ³ý¯‚ñ¾?ýÀS6Œ}ý¤D/Lâö¤#ö¤#ö¤#ö¤#þ;öb¡}ý¦ ™f>}ý—<iÛ}ü{'ymx}ü}¼ýÔ,êü¿‡ ü¿‡ ýˆS‡ ýªç‡ þ?ƒß‡ þ?ƒß‡ þ>-çÐêý¨¸ŠÔ,êý2[ÐêýˆS‡ ýªç‡ ö¤#ö¤#ö¤#ö¤#ãøC€ø@ãøCxÓãøC«ö™ãøCAt`æõx1B'Äé¼LíØ7Lì*`KÈì`3þ<Ÿì–°±(äìËÛc%¯ãê-«€##ïç/½•8ç/½Ìæõx1¬©þéò ŸLÁé÷Ò3®š!ñZ$ñZ$óy$óy$ìËÛc%¯ãì–°±(äì`3þ<Ÿì*`KÈía¤×@|î„‘\̸ŸïŽ8{l ïÚg÷ëþð&—tk^áðrÁUê¿®ïT•T>°ÜîGk¦ôwíås¹2jªí—~%´’IîÐÀØLlïeØ¿Póy$óy$ô„#ô„#ðrÁUê¿®ð&—tk^áïÚg÷ëþïŽ8{l ð˜UU žáñŒ—U ·ÏVòjŽ^ +l·òÉw ù3 ó(Z …´«ó‡Bà 0³ò˜^?O^añ‘nF•è¦ñE>ʇÙðä„ÑŠÿ¯ñë€ DK^ò9{/Âߌô„#ô„#ô#ô#ó‡Bà 0³ó(Z …´«òÉw ù3 òjŽ^ +l·ò¡iŒ +š® òÖQÊ +ÉÎ^ó ‚é +÷qfón‰… +‡nfóÑ +qô4–» §sœóû^ vJóÂWê C”óco? ·!ŒóR7 +'*(ó9Xf +YÐùó˜W} æGfô#ô#õ#õ#ô4–» §sœóÑ +qón‰… +‡nfó ‚é +÷qfó%¨Œ ÃÚóA:” $9ËóYÒ/ <µ^ó¾ÑV +Î~ô#Ö +`L^ôˆÕ? òônJ´ ×ÍÊôPº… À‘Ãóí³ê +0(óˆ© +žÆuó¦?V +¶}ô K +Fõ#õ#õ#õ#ôˆÕ? òô#Ö +`L^ó¾ÑV +Î~óYÒ/ <µ^órå Tªfó‹Ön lx0ó¤¦ „)òô ’• ¾Wôr„¬ +«XVôÙq( +>ì»ô¾¹Ã +%oGô£Û + ÕÊô>Ö^ +z ó×éâ +æsóòÂê 0ôWǬ +‘Úâõ#õ#õ#õ#ôÙq( +>ì»ôr„¬ +«XVô ’• ¾Wó¤¦ „)òó½{^ ›Ð~óÖ/ ³[óîÁ ʾGôWœ `#úôÀ^8 +õ‰¬õ),Ó +Šï^õ¾O +qºËôô( +Xd”ô< +ÄÐ0ô$gÚ /j}ô>ýœ HÀ´ô¥ï´ +ÜUõ#õ#õ‘#õ‘#õ),Ó +Šï^ôÀ^8 +õ‰¬ôWœ `#úóîÁ ʾGóû + Öu†ôGË âòôù íÂ_ô}: „ êôæô _õP®) +°ªœõCІ +¤Võ6aH +—ŒuôÍ’¬ &ÃôcØ kÕôqÛ xmôÙÐv ÒËõ‘#õ‘#õ’#õ’#õP®) +°ªœôæô _ô}: „ êôù íÂ_ô Ë ùúô*¶f -!ô6Ff T~ô æO ©‹~õ ‹Ó @Â}õv+¼ +×ÿõiµã +ÊìGõ]4Ó +½Î?ôózÄ '‚´ôˆÚÛ Fô•[ê d!ôÿú 3µGõ’#õ’#õ’#õ’#õv+¼ +×ÿõ ‹Ó @Â}ô æO ©‹~ô6Ff T~ôd—8 Bæ¼ô’g rìÓô¿°n ¢fÄõ-Ë´ =K•õ›ì• Ø6ö + v sÓõÙN_ ?ø¬õ¨! DÃõ=c8 u ÃôÏ7! Ú¼õ‚_ Ñ¥õk-~ ¥Ûõ’#õ’#õ”#õ”#ö + v sÓõ›ì• Ø6õ-Ë´ =K•ô¿°n ¢fÄôÖò ¹—•ôëJ Ó%ÛõÅ¥ ët–õp• ˆ5ëõà[† $÷@öP&w Á²úö9w §Wö"þÄ Œ"õ´Ýã ñ=¼õE W T|gõ[ + oç0õÉ;† +Ìõ”#õ”#õ”#õ”#öP&w Á²úõà[† $÷@õp• ˆ5ëõÅ¥ ët–õýê û_õ+) Zëõ@Ä 4˜Ôõ±~Ž Ó6­ö"èW qÎëö”R! lÄö}¾H öWòög1 ÜGõ÷8@ ?Zõ…ÈÛ  ¼´õœƒò ºøÄö Nã Wºõ”#õ”#õ•#õ•#ö”R! lÄö"èW qÎëõ±~Ž Ó6­õ@Ä 4˜ÔõU• LÑ!õiþÄ dâ1õ~ÁO |Ñžõñ¾¼ Kúöd¼) ½À¼ö×¹– ^;öÁcg DtÄöªë– *•ö9Ì ‹éWõÆ„_ ënúõÜü1 \ŽöNeú £úgõ•#õ•#õ–#õ–#ö×¹– ^;öd¼) ½À¼õñ¾¼ Kúõ~ÁO |Ñžõ“ÒW ”ˆûõ¦& ®8ãõ¹ÐÛ Æ˜oö.Q héµö¢Öó @–÷\Ì ­—v÷/½ “[göîS + wÉ_ö{U ×TöÏÄ 4ý¼ö¦Û PÄö©ã ñ +!õ–#õ–#õ–#õ–#÷\Ì ­—vö¢Öó @–ö.Q héµõ¹ÐÛ Æ˜oõàˆ_ ÷ÒÜöÄŽ(uëö,Xžö¤ þ—"÷ië ¤§ +÷’Ù` J¼Ž÷j.ë ýo÷A‡ ⛼öÌ}­ @DÜöU š$!ö~4 Î…Ôöò¿w pçëõ–#õ–#õ˜#õ˜#÷’Ù` J¼Ž÷ië ¤§ +ö¤ þ—"ö,XžöQ|o‰;ösF–»P*ö–9Ü뤽÷`w•sI÷Ї?Goø­® éû÷ß® µ`÷º’Å /÷C(ë ÙŽöÈëã/Köím1e$P÷dó 49õ˜#õ˜#õ™#õ™#ø­® éû÷Ї?Go÷`w•sIö–9Ü뤽öݘKW:÷q`¯-A÷WCI‡÷ÖWA¿\"øUk9pœ½øÔ2!âôø’»ÔøQRäP@"÷×,I¦kû÷W¾žõ%Å÷˜…X`mÜø  +M9õ™#õ™#õ›#õ›#øÔ2!âôøUk9pœ½÷ÖWA¿\"÷WCI‡÷w ­=ì÷ì n³Ý÷¬âûž9ø.-*S- ø¯wY!ù0Ç#½€ùªÍ‰â"øö’:T‰Åøw~A£C÷ö¦îO‡ø69#§åø‘`žÔîõ›#õ›#õœ#õœ#ù0Ç#½€ø¯wY!ø.-*S- ÷¬âûž9÷ÈiÍÎq÷ã‘Qý'J÷þY‡+¤õø²®äA3ù Õœ×ÕùˆdüUtùk“i#YhùNbˆðôøÍ¾;œìøI³û‚õxøfêxµ½íøè:BjÂÆõœ#õœ#ö#ö#ùˆdüUtù Õœ×Õø²®äA3÷þY‡+¤õøÉä[gÆø.æ*Š|ÎøF¨½¸ïBøËéŸu"åùQ$å1\#ùÖeÆí•aù¼Á»–¾ù¢Â®ˆßùi‡ÐHxøš# þiø´!pF¶ ù7…Íÿ]€ö#ö#ö#ö#ùÖeÆí•aùQ$å1\#øËéŸu"åøF¨½¸ïBøR’pÐ ø^`ç)§øjôþ ýøðC®¼ RùvdÍz +§ùü‹ˆ8˜ùïèÕg+ùã5Q—€ù]ôpJ^Bø×ͶŒYRøä†Õ¥.˜ùiǶagÖö#ö#öž#öž#ùü‹ˆ8˜ùvdÍz +§øðC®¼ Røjôþ ýøuåãøß‡+qZø‹ÅxBÉiùÁ:ŽÖù™Â—ÂYÞú Ãõ‚Júai#ú .:P²iùƒ ’­yøü#Òè ùÛIë6ÆùŸ©;·öž#öž#öž#öž#ú Ãõ‚Jù™Â—ÂYÞùÁ:ŽÖø‹ÅxBÉiø žppòýøµ(ìžnÇøÉ_QËBbùQÿˆŽŽbùÚš#QÔÇúc:Y ÆúMeäÝú7Aa³Ú§ù°@ô;ù'š20¾ù=ÇaºÇùÄÊ€!‘öž#öž#öŸ#öŸ#úc:Y ÆùÚš#QÔÇùQÿˆŽŽbøÉ_QËBbøÝÅøHrøó"#ˆjùr—Pa ùŠiÇú¢:ÝÙîú¡º ¤–úý#tRRúxx:E¢3ùïÝŸ‚[Îùe´ü»”qù}9åêD‘úåR­–,öŸ#öŸ#öŸ#öŸ#ú¡º ¤–ú¢:ÝÙîùŠiÇùr—Pa ùæŸ|¿ù&ü¨iþù7ÝÓaùÂxB|‘úMë§g˜ úÙ_ 1³‰úǘhSú´BÔ^ú*wq ¢ZùžþpC{¨ù±ŠÆr…zú;¨39L×öŸ#öŸ#ö #ö #úÙ_ 1³‰úMë§g˜ ùÂxB|‘ù7ÝÓaù?„è×ùGòYþ%¸ùPJBG‘ùÜ`:ß úhp˜ªÒ¨úô†v˜4úëŒ_Ñæúâ{+HÙ$úW a~½¨ùÊ÷i²øùÔ¶ÉëCú_v” [ö #ö #ö #ö #úô†v˜4úhp˜ªÒ¨ùÜ`:ß ùPJBG‘ùTyÕ°ùX§Æ(^4ù\ËQ2Õæùé/ÆÿjßúuŽŸÌrûíy˜šjúý{qSKúùÎû[úlíÖ¶5ÏùàŽüé›<ùåŸôó,úq˜À¸¸ö #ö #ö #ö #ûíy˜šjúuŽŸÌrùé/Æÿjßù\ËQ2Õæù`hQ=€ ùcúH$™ùg‹åR½îùô9: "Sú€æíŒSû “åºöSû ³ ¯‘ûÓZ¤™úyt€ׄ¡ùìÇ+ +¡ùð§qŽ™ú} åâ#‘ö #ö #ö #ö #û “åºöSú€æíŒSùô9: "Sùg‹åR½îù„2§l‘ùŸ±ÕùM¡ùºXiH[‚úI%ˆDú×ò§ïãûf¿ÇæÈûJÖnw4û,RΟ/Mú oJWvŠû0üå1E’ö¢#ö¢#ö¢#ö¢#ûËv 4ódû:5 XVÈú¨ô {´’ú¸§Ÿ÷ú +Ãa5ú(FÕæ÷ú0PB ÎMúÂ3Öé-EûTiÈŒ=ûåúý§ë5ûÝT˜‚bkûÔ{¿\ÐûC:¿mšú±W+ lúº*iÆVûKq£sö¢#ö¢#ö£#ö£#ûåúý§ë5ûTiÈŒ=úÂ3Öé-Eú0PB ÎMú8då,Ÿðú@RJN¾.úHÖpÑúÚˆ+R#ûlý4(lûÿrÖ3Tû÷&$ò8’ûî¦ýÍsÿû\ÃiîúÊHy þèúÒÇŸ0Ã{ûd«33Eö£#ö£#ö£#ö£#ûÿrÖ3Tûlý4(lúÚˆ+R#úHÖpÑúN J‘ÜÁúSæ²â²úY¢åÓ*úì“·¹¢û‰ÖœI=ü€€Þtü Gý^üî;:‡ÉûsxæX‚{úà‚ sâúæÜa—rMûyWRyˆlö£#ö£#ö£#ö£#ü€€Þtû‰ÖœI=úì“·¹¢úY¢åÓ*úe2å³úp5χ§.ûªu·žWû q°sFûÍýìôÑû±™KÖˆ6ö£#ö£#ö¤#ö¤#üMLbý}eû¸ïR×Fû$’C"1'ú534‹ú–g·iØ/úžÅ;›ç£ú¢@˜˃7û7+½ûËÕZ®Šeü`¢‰ Êü\ÍylÒ›üSÿ×6âáû¿¢ÇI<Âû*ÄÆW~Nû3’inûÈK{QÒö¤#ö¤#ö¤#ö¤#ü`¢‰ ÊûËÕZ®Šeû7+½ú¢@˜˃7ú©z˜*¯'ú¯ÔZ}÷úµB§ÅZÃûJ…½:êûßεüuý¬õœüo=Ç`#Œühh°ñûÓ¡ûŒû>GÆ5ŒûECu×'ûÙõChCfö¤#ö¤#ö¤#ö¤#üuý¬õœûßεûJ…½:êúµB§ÅZÃú¹OÆ Ôñú¹ €H}úºÌýxUûP<¿t¸ûå²q}ü{'ymx}üyP‘:)}üyl™ùÞûä$ûN’¯µûN|CE}ûãÛ3=Æ}ö¤#ö¤#ö¤#ö¤#ü{'ymx}ûå²q}ûP<¿t¸úºÌýxUú½L×Ï…ú¾‹ŸŒ¼ú¾‹ŸŒ¼ûT 3Œ¼ûéŒÇŒ¼ü¿‡ ü¿‡ ü}¼ýÔ,êûèG ×ÉêûRÁqÔ2…ûT 3Œ¼ûéŒÇŒ¼ö¤#ö¤#ö¤#ö¤#ãøCAt`ãøCAt`ãøCÖôóãøCðæ»Ú¦ºQéJîYMxëˆß˜j}|ëáä;l´Ùì·îá;Ùì*`KÈé¼LíØ7Læõx1B'Äæõx1B'Äæ»Ú¦×»÷é£ía‚驤ñ]ÜñZ$ñZ$óy$óy$ì*`KÈì·îá;Ùëáä;l´Ùëˆß˜j}|ì¨ßÙNí´‡È ZÃ/ îƒGï(É5 Peïtø±Š®eïŽ8{l î„‘\̸Ÿía¤×@|íOY/ íçÛVªî3¦÷wNîkQ’êɾóy$óy$ô„#ô„#ïŽ8{l ïtø±Š®eï(É5 Pe îƒGïŸAÿ +Wêð€Ðl =}ñMÙø Ç=OñîGø +ÿôòM+ +Œ?»òjŽ^ +l·ñŒ—U ·ÏVð˜UU žáð‹ )°ð[“ ž%ñ!>l +X¾Gño9› ×Ruô„#ô„#ô#ô#òjŽ^ +l·òM+ +Œ?»ñîGø +ÿôñMÙø Ç=Oñ€{/ ñ¹ñ±?á XWñâo Go0òŠpÊ †ìOòíwf éOó ‚é +÷qfòÖQÊ +ÉÎ^ò¡iŒ +š® ò„7 +º6Úò ã” *?vòYA” \Õvò¸FF +éKâô#ô#õ#õ#ó ‚é +÷qfòíwf éOòŠpÊ †ìOñâo Go0ñúø \ûŽò*u p¥Ìò*Ï ‡[HòÖ~¤ ÊSÄó;ƒf \vóYÒ/ <µ^óA:” $9Ëó%¨Œ ÃÚó .A^ò¢’« œx¬ò¿ß” ³£ãó"ëÊ C âõ#õ#õ#õ#óYÒ/ <µ^ó;ƒf \vòÖ~¤ ÊSÄò*Ï ‡[HòAô» òXø³ ³òoÛ Ég)ó'Œ àó† £uó¤¦ „)òó‹Ön lx0órå TªfóT–V t~òí¤? àw~óE7 ùúómIù ‹Ã@õ#õ#õ#õ#ó¤¦ „)òó† £uó'Œ àòoÛ Ég)ò†Î/ ßBòŸ³ ôõò´U/ +1óg-â T‚óÏü} éç´óîÁ ʾGóÖ/ ³[ó½{^ ›Ð~óžîê »ó6³ %µÛóPxf >ênó·j} Ò~Óõ#õ#õ‘#õ‘#óîÁ ʾGóÏü} éç´óg-â T‚ò´U/ +1ò¿²» XúòË ŽòÖWe *Ô†óŠêù v„8óô¥ ÏÄôù íÂ_ôGË âòóû + Öu†óÜE} õ™Wór‹n _H0óž? kÉ@óèlÚ .òõ‘#õ‘#õ’#õ’#ôù íÂ_óô¥ ÏÄóŠêù v„8òÖWe *Ô†òá à 6!@òë¼… Amûòöf« L©ãó¬µ švôZ¤ 1Qô6Ff T~ô*¶f -!ô Ë ùúôEÚ  ó•¥ñ Ðòó¢” ŽØŽô ʤ %$õ’#õ’#õ’#õ’#ô6Ff T~ôZ¤ 1Qó¬µ švòöf« L©ãó!+N yƒóKz7 ¥Û`óuSf ѸPô2`… &gô f Àó8ô¿°n ¢fÄô’g rìÓôd—8 Bæ¼ôE«v aÝ´ó×^ Æí­ôŒò ú1wôs8 ‘s­õ’#õ’#õ”#õ”#ô¿°n ¢fÄô f Àó8ô2`… &góuSf ѸPóŠßÃ ç žó“V þÃûó±dÒ61ôqµ? m +ôá€0 ½ÄõÅ¥ ët–ôëJ Ó%ÛôÖò ¹—•ô·Ã Ø$ +ôGìâ ;bµô]ãà VŠ9ôÌ +@ ño +õ”#õ”#õ”#õ”#õÅ¥ ët–ôá€0 ½Äôqµ? m +ó±dÒ61óÄø¤+àwóØv Bcóë×fXÊô¯ZO ´ãõ É´ Rž½õ@Ä 4˜Ôõ+) Zëõýê û_ôö¾ "DŽô…N¬ ƒ¦µô›þ Ÿõ É~ :`Ôõ”#õ”#õ•#õ•#õ@Ä 4˜Ôõ É´ Rž½ô¯ZO ´ãóë×fXÊóÿCùo ®ô”……U9ô%Τ›m½ôìs8 ú­õ_p¥ š‰ +õ~ÁO |ÑžõiþÄ dâ1õU• LÑ!õ5Éê jÑoôÂÌ~ ÊWôÙ>´ ãûÅõJ® ‚™žõ•#õ•#õ–#õ–#õ~ÁO |Ñžõ_p¥ š‰ +ôìs8 ú­ô%Τ›m½ô9L ±BûôJâÉ`ô\Dêß“Íõ%ÿòAŸIõš€0 ãö)õ¹ÐÛ Æ˜oõ¦& ®8ãõ“ÒW ”ˆûõt­ ²:Ìôÿö8ãëõÒê+!Üõ†Õò Ëœ9õ–#õ–#õ–#õ–#õ¹ÐÛ Æ˜oõš€0 ãö)õ%ÿòAŸIô\Dêß“Íô€ `ô£_Ë9îhôÆMvfLIõ•÷¼Ï ö a–u+óö,XžöÄŽ(uëõàˆ_ ÷ÒÜõÁ7´0–õIÂ¥owõs +¢¾*õ畆E Aõ–#õ–#õ˜#õ˜#ö,Xžö a–u+óõ•÷¼Ï ôÆMvfLIôèf“A‡õyÁõ'Ànî3€õýH]±öwBã…Aö–9Ü뤽ösF–»P*öQ|o‰;ö2Mg¥ßÔõ¸_üIõÜÏW1*öTO×0®õ˜#õ˜#õ™#õ™#ö–9Ü뤽öwBã…AõýH]±õ'Ànî3€õiÝ!Fh¶õ É!¢ÇõÚ_úN€ö¹öóvõY÷9 +ë(5ô÷WCI‡÷q`¯-AöݘKW:ö¾¡ +g2"ö?8úµëìö€¾Pmìöû>žÉG®õ™#õ™#õ›#õ›#÷WCI‡÷9 +ë(5ôö¹öóvõYõÚ_úN€õ÷†¼%”ö-HS…˜ö)o\í÷ ì–nY÷6Å·ba÷¬âûž9÷ì n³Ý÷w ­=ì÷XÖëW)Yö×{ë¢5QöôoÖ—÷s:9‡Ý:õ›#õ›#õœ#õœ#÷¬âûž9÷6Å·ba÷ ì–nYö)o\íöBv­«qíö[9ÖïötS­ÕÖ÷]ñ"‹5Î÷áJICÒ ÷þY‡+¤õ÷ã‘Qý'J÷ÈiÍÎq÷ª½–ç*Î÷'^Ô.ƒY÷E,­`Oˆ÷Æ‚NÆõœ#õœ#ö#ö#÷þY‡+¤õ÷áJICÒ ÷]ñ"‹5ÎötS­ÕÖöŠÖµ-êÖö¡ @Yhyö¶ëµ„C‰÷¥hÛ ø*GIÐBøF¨½¸ïBø.æ*Š|ÎøÉä[gÆ÷ùº¦sB÷tt*·JÎ÷ Xèúõø„µ¡¢iö#ö#ö#ö#øF¨½¸ïBø*GIÐB÷¥hÛ ö¶ëµ„C‰öÁéó™®CöÌ×`®ì$ö׳ûÄÇ÷ÇôV¦øNÍ¥qøjôþ ýø^`ç)§øR’pÐ ø6+`çE¯÷°¦)@¿÷½AyøB]ôýÈ·ö#ö#öž#öž#øjôþ ýøNÍ¥q÷ÇôV¦ö׳ûÄÇöâ–1Ùjöí¶íÛõööÆûmî÷é!A™æøp"žXÜRø‹ÅxBÉiøß‡+qZøuåãøYÝA+‚+÷ÒÛäk·$÷àóƒ„íøf<®A‰Þöž#öž#öž#öž#ø‹ÅxBÉiøp"žXÜR÷é!A™æööÆûmî÷ û. S÷ç"X$÷/‰äcýø%öäü4ø®—àH3øÉ_QËBbøµ(ìžnÇø žppòýø„û—‡ ÷ü[`ôKøT"ó£õøš[³t˜öž#öž#öŸ#öŸ#øÉ_QËBbø®—àH3ø%öäü4÷/‰äcý÷A¶ëªî°÷VGÒ¾÷e+"ü-,ø_r͘™øéŠŸdT¿ùr—Pa øó"#ˆjøÝÅøHrøÂL NCø8#ìFŒøPŽ®t)îøÙ:7{‰öŸ#öŸ#öŸ#öŸ#ùr—Pa øéŠŸdT¿ø_r͘™÷e+"ü-,÷uC–%æ÷…ÅMf ÷”°Iu ø’ * jù ôæ;æù7ÝÓaù&ü¨iþùæŸ|¿øúþ¦² øo‹AƆSøƒ¦ô}rù &»DÏöŸ#öŸ#ö #ö #ù7ÝÓaù ôæ;æø’ * j÷”°Iu ÷œŒÜˆÚ‚÷¤Xžœ%÷¬¯öîø«¾QYÖKù7ÔI%›×ùPJBG‘ùGòYþ%¸ù?„è×ù&û·røšw"/ìKø¤`FXçù/vÆyþö #ö #ö #ö #ùPJBG‘ù7ÔI%›×ø«¾QYÖK÷¬¯öî÷¯óÔ¹µ¡÷³ÔÃi÷·©*Í Èø¸4*xLSùD“Dæçù\ËQ2ÕæùX§Æ(^4ùTyÕ°ù< 0)öø¯ž—c”þø´Yn¤ ù@iÝ:i™ö #ö #ö #ö #ù\ËQ2ÕæùD“Dæçø¸4*xLS÷·©*Í È÷º÷®Öæ‚÷¾@–໡÷ÁƒäêïøÂãì— ùO‘Bd† ùg‹åR½îùcúH$™ù`hQ=€ ùH*hO‘ ø»}‚' ø¿ ŸWÀùKÿxYì¸ö #ö #ö #ö #ùg‹åR½îùO‘Bd† øÂãì— ÷Áƒäêï÷Ûá–8œÀ÷õYp„$ø ñ Í +¡ùªÕ„@ù¤wôXØùºXiH[‚ùŸ±ÕùM¡ù„2§l‘ùl¹4°øÝAŸå8ßøý:;Sçù‰Ñaõöö #ö #ö¡#ö¡#ùºXiH[‚ù¤wôXØùªÕ„@ø ñ Í +¡ø"ñA¹ø7-A^x{øJ¥ £;ƒùX +ÍdVèùè2>¹ùü7q0†÷ùç—æŠùѶ˜¹ù»>B¨Fù*¥pÎD’ùDh™{ùÓkYó•Lö¡#ö¡#ö¢#ö¢#ùü7q0†÷ùè2>¹ùX +ÍdVèøJ¥ £;ƒøUežÅT&ø\®çÌøcõ¦ <‹ùsðìÏØú,R«¯sú¸§Ÿ÷ú.JzÙïú¼:U‰5ùôüc"’ùbÅÆ†u&ùlY­œÉùü§‡qkö¢#ö¢#ö¢#ö¢#ú¸§Ÿ÷ú,R«¯sùsðìÏØøcõ¦ <‹øk°—*¸5øs>®K†øz¥‡k«Éù x6 +‹úí iƒú0PB ÎMú(FÕæ÷ú +Ãa5ú ‰ÕÏø±ù{¦BðŽƒù…¢ŸäØúãŸò’Eö¢#ö¢#ö£#ö£#ú0PB ÎMúí iƒù x6 +‹øz¥‡k«Éø‚(h‹Ëàø‰~p«>.ø­:ÊMù¥]͘ÈEú7Ó#zÍ“úHÖpÑú@RJN¾.ú8då,Ÿðú'¯8@Áù”†¾V*¢ùž)iyþ&ú0—YhUö£#ö£#ö£#ö£#úHÖpÑú7Ó#zÍ“ù¥]͘ÈEø­:ÊMø–,Yé1ºø›„:§Áø Å®%u›ù·pø^ºúJ†·ÜîUúY¢åÓ*úSæ²â²úN J‘ÜÁú=Í—œŒƒùª×Q·ìù²T—ÚàúDÉí¼¦ÿö£#ö£#ö£#ö£#úY¢åÓ*úJ†·ÜîUù·pø^ºø Å®%u›ø«{ a|øµµ™ÙÑø¿sÅÏöeùÚ$iª¶|úm䀔 6úzÄÝ‹÷“úpú™ŸÎШ£ú¢@˜˃7úžÅ;›ç£ú–g·iØ/ú‹·õp^ÊùöÙô~¥ñú°ô³)Fú–$q¡ ö¤#ö¤#ö¤#ö¤#ú¢@˜˃7ú™ŸÎШ£úÒŸß">øãÞ¦öõ£øê’Náùøðjì›Ðøõn¶Ý¿êúð¾ÐYú°9BÈ9(úµB§ÅZÃú¯ÔZ}÷ú©z˜*¯'ú ÙÎ/Ô”ú †7”úìôŽi(úªÊõ€Õfö¤#ö¤#ö¤#ö¤#úµB§ÅZÃú°9BÈ9(úð¾ÐYøõn¶Ý¿êøù2ôÆ0øøÈpW}øúr€ƒ,ú# +ü}7?ú¸€Zyš?úºÌýxUú¹ €H}ú¹OÆ Ôñú´Fa³Vú´üdâú!fˆQ¤ú¶¿ÞIâ¤ö¤#ö¤#ö¤#ö¤#úºÌýxUú¸€Zyš?ú# +ü}7?øúr€ƒ,øüÛ*Ûr øþ€’Wøþ€’Wú)§Œ¼ú¾‹ŸŒ¼ú¾‹ŸŒ¼ú¾‹ŸŒ¼ú½L×Ï…úºÿqÙ¬ú%yBÕ}Gú)§Œ¼ú¾‹ŸŒ¼ö¤#ö¤#ö¤#ö¤#ÿÿÿÿ…þÕs…þ?ƒß‡ þ?ƒß‡ þ?ƒß®_þ?ƒßÕþ?ƒßvþ?ƒßvþÕsvÿÿÿÿvÿÿÿÿÛ8ÿÿÿÿ®_þÕs®_þ?ƒß®_þ?ƒßÕþÕsÕö¤#ö¤#ö¤#ö¤#þ?ƒß‡ ýªç‡ ýˆS‡ ü¿‡ ü¿®_ü¿Õü¿üÛýˆSüÛýªçüÛþ?ƒßvþ?ƒßÕþ?ƒß®_ýªç®_ýˆS®_ýˆSÕýªçÕö¤#ö¤#ö¤#ö¤#ü¿‡ ûéŒÇŒ¼ûT 3Œ¼ú¾‹ŸŒ¼ú¾‹Ÿ®_ú¾‹ŸÕú¾‹Ÿ÷?ûT 3÷?ûéŒÇüÛü¿üÛü¿Õü¿®_ûéŒÇ®_ûT 3®_ûT 3ÕûéŒÇÕö¤#ö¤#ö¤#ö¤#ú¾‹ŸŒ¼ú¾‹ŸŒ¼ú)§Œ¼øþ€’Wøþ€³úøþ€Õøþ€ñ¤ú)§÷?ú¾‹Ÿ÷?ú¾‹Ÿ÷?ú¾‹ŸÕú¾‹Ÿ®_ú¾‹Ÿ®_ú)§®_ú)§Õú¾‹ŸÕö¤#ö¤#ö¤#ö¤#ÿÿÿÿvþÕsvþ?ƒßvþ?ƒßvþ?ms¿ÁÄþxžý¾‚‘!(—ýË~ö!2¾þcØT!OÅaÿvtT!¯ÿÑÅš² ÿÿúd܈!þÔù=܈!þ?ms¿ÁÄþ˜}2þ²÷štXö¤#ö¤#ö§#ö§#ÿvtT!¯þcØT!OÅaýË~ö!2¾ý¾‚‘!(—ýhî"Øüéæ$é¨ü?ûæ&¿üYúK&*¡[üä&cå5ýÞC[&Ššþ’ºç%wDÿ##LCþ¿<#ý|eß"çJý°$“Ëöý˜„ $±Ñßö§#ö§#÷°#÷°#ýÞC[&Ššüä&cå5üYúK&*¡[ü?ûæ&¿úîü;)Dß“øûŠÍ,.B¬ö†.œºóö¬ .»±ë÷½ó/%kû÷Ê/ä/ÙÝìúaäa-B/ üv™j*'N>û|h+)ȨÙûõ)XÁáù|*,M9¤ù­rp,·}÷°#÷°#ùÉ"ùÉ"÷Ê/ä/ÙÝì÷½ó/%kûö¬ .»±ëö†.œºóô 1 -Ÿñ5&U2þ™qîÐ4O“îè4iŒKîT+÷4ó©¸î²ËÁ5íÚöò•4†<;õ2{g2qŒÎô~Û1½Bô=†1*$—ñI£3’;ñ¸õ63ŒbùÉ"ùÉ"ûâ!ûâ!î²ËÁ5íÚöîT+÷4ó©¸îè4iŒKîÐ4O“ìp0j4ø­êÈbR5xzzéXY5Îöé"I€5Û [é@ #6sd¸éo^Õ7†¹ë?öéXY5ÎöêÈbR5xzzìp0j4ø­ì6ì‘4n•°ììC3Ù RêZ4S6êpÖ4ë‰Þûâ!ûâ!üë!üë!éXY5Îöèû³Ÿ5>?öèÝðü4¥æ™èÁQÝ43ç.54eôæå“B)4ŽgKãøC4ŽŽ‰ãøC5$ ãøC5¹ŠãøC6O +©å°†6Nî¡çhN`6#×çYü5û¨ç<‡Ü4ø—å“B)5#âCå°†5¹s©üë!üë!üî!üî!ü¿üÛûéŒÇüÛûT 3÷?ú¾‹Ÿ÷?ú¾Y+†5 +ú˜¿ÕÜúNŸ yÿúÞhq –ž#ûvÇi ´faüÏ Ñ€üVn=î½ü~à¢ûgûée‰¢ûgûSÔ$†5 +û+gZ(9ûÃÆR/œ`ö¤#ö¤#ö§#ö§#üÏ Ñ€ûvÇi ´faúÞhq –ž#úNŸ yÿú~ˆ!ð(+ù•Ñ€#^Ô ùr—$¿"[ùŠi$øf4ú¢:%1ª ú¡º %jíçû?pæ#ïa¨û¶³"d!Þû)Âå"90aú‘o#"§úéR#˜æúµ^¯#¶4ö§#ö§#÷°#÷°#ú¡º %jíçú¢:%1ª ùŠi$øf4ùr—$¿"[÷ß¶¦'ü¢ö.Ìo*iñôÒ0,"zœô|Œ?,Œ/ôæ@´,õã…õOõ)-_•÷•+ž+VNùgYp(bkMøÝAŸ()'tøiÎx'¹@{ö˜€ã*p$÷+w)*°¡Ú÷°#÷°#ùÉ"ùÉ"õOõ)-_•ôæ@´,õã…ô|Œ?,Œ/ôÒ0,"zœñöÁ„.>i¥ïpNš/ïNAì¯tS1—ìè¸,1ií!ök2'4:í[:D2±L ðR½E1vö§ó +¨G/¤Îoò óÒ/;`ò`uù.¨#µï©’t0yfðyl0ìÙ:ùÉ"ùÉ"ûâ!ûâ!í[:D2±L í!ök2'4:ìè¸,1iì¯tS1—ëO j1¥c€éàtˆ2 +íèjKa2^%Öè†ê€2íôÖ褭#3†N3èÁQÝ43êTh 3ÆEëߨj3Oë¦d‘2Äð¯ëˆdC2/{Rê f2 ûˆê)w#39OJûâ!ûâ!üë!üë!èÁQÝ43褭#3†N3è†ê€2íôÖèjKa2^%Öæô"92¨FZåvg2ÍÚZãøC2ÎiãøC3cbãøC3ù õãøC4ŽŽ‰å“B)4ŽgKç.54eôæçè½3ÓMçt–3:î#åvg3cZíå“B)3øæ·üë!üë!üî!üî!ú¾‹Ÿ÷?ú¾‹Ÿ÷?ú)§÷?øþ€ñ¤øýÌ:in­øÛŸɼûø–­I "òìù©IJ REŸúA¢§ p ÝúNŸ yÿú˜¿ÕÜú¾Y+†5 +ú¾Y+†5 +ú(Íain­ùùß—ái"ú’D+þÝIö¤#ö¤#ö§#ö§#úNŸ yÿúA¢§ p Ýù©IJ REŸø–­I "òìøRCô!|(Ý÷ì,"ÎFq÷e+"$VÏø_aû$qü4øéyÍ$«@ ùr—$¿"[ù•Ñ€#^Ô ú~ˆ!ð(+ùñ#!á8ÖùX­a!Ã'·øæcY#,ëÖù{ض#Jñ¿ö§#ö§#÷°#÷°#ùr—$¿"[øéyÍ$«@ ø_aû$qü4÷e+"$VÏöXÛ&ˆ\ôÈm@(òƒ.òÕ´Ò*åW£óŠ,^+™Ï/óóàÓ,ƒ¤ôÒ0,"zœö.Ìo*iñ÷ß¶¦'ü¢÷ŽÜ'l¹÷RJµ&ü-Áõ|äÌ)¦õöÕv)çx”÷°#÷°#ùÉ"ùÉ"ôÒ0,"zœóóàÓ,ƒ¤óŠ,^+™Ï/òÕ´Ò*åW£ðâÚÂ,Ø +vîßï.g«wì¨Ç/t½"ìbN,0nóû워j0ù Íì¯tS1—ïpNš/ïNAñöÁ„.>i¥ñ×ÊŒ.xHñ—L²-Œ‚îì¹/aâPï\lM/ÕUwùÉ"ùÉ"ûâ!ûâ!ì¯tS1—워j0ù ÍìbN,0nóûì¨Ç/t½"꾘i/û¾élzÕ0aÐXèDä0¦4èB——1¸Ðè`Z:2Q)qèjKa2^%Öéàtˆ2 +íëO j1¥c€ë;>1‹j¶ë=Î0õõYé³t1h9ÆéÑŠÎ2ˆûâ!ûâ!üë!üë!èjKa2^%Öè`Z:2Q)qèB——1¸ÐèDä0¦4æºó0ê—ÍåY» +1 SãøC1 –IãøC28‘ÕãøC2ÎiãøC2Îiåvg2ÍÚZæô"92¨FZæï)¦2¡ÊõæÑµ2 faåY» +28Nåvg2ÍÚZüë!üë!üî!üî!ãøC8†ÉãøC6ä…¡ãøC6O +©ãøC6O +©ãøC6O +©ãøC6O +©ãøC6O +©ãøC6O +©ãøC6ä…¡ãøC8†ÉãøC8†ÉãøC8†ÉãøC6ä…¡ãøC6O +©ãøC6O +©ãøC6ä…¡üî!üî!üî!üî!ãøC6O +©ãøC5¹ŠãøC5$ ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC5$ ãøC5¹ŠãøC6O +©ãøC6O +©ãøC6O +©ãøC5¹ŠãøC5$ ãøC5$ ãøC5¹Šüî!üî!üî!üî!ãøC4ŽŽ‰ãøC3ù õãøC3cbãøC2ÎiãøC2ÎiãøC2ÎiãøC2ÎiãøC3cbãøC3ù õãøC4ŽŽ‰ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC3ù õãøC3cbãøC3cbãøC3ù õüî!üî!üî!üî!ãøC2ÎiãøC2ÎiãøC28‘ÕãøC1 –IãøC1 –IãøC1 –IãøC1 –IãøC28‘ÕãøC2ÎiãøC2ÎiãøC2ÎiãøC2ÎiãøC2ÎiãøC28‘ÕãøC28‘ÕãøC2Îiüî!üî!üî!üî! +endstream endobj 57 0 obj <>stream +ÿÿÿÿ)+²âÿÿÿÿ(ï¾ÿÿÿÿ't‹nÿÿÿÿ't‹nýˆ't3™û9Vd&÷õÜù5uÅ&0× ù#0Ç&IokøîvG&Ò”ø—V½'ʈúÊS¡(£ôýO­h)+qýO­h(« ýˆ't3™û' é'úû!x©'«mžñZ$ñZ$óy$óy$ø—V½'ʈøîvG&Ò”ù#0Ç&Iokù5uÅ&0× ÷/e:%kaªõvãð$V=’ôq!#+ç/óêºÉ#JØmóÑ#»õ&òð©$7Þô7•%ÄÄWöaí‹&òÊéö¹’%úDu÷¿%ƒú õZ-™$u.Ðõ_–%~àóy$óy$ô#ô#òð©$7ÞóÑ#»õ&óêºÉ#JØmôq!#+ç/óQX"“ú˜ò¬RK!÷’¸ò"ß!W´Mñú¤è!u©ñŽÔ!ئ÷ðÕ¥b"€³šñvÃ#/ bò*#ü#Ù­~òÇKþ#jÇó4Î~"²ë×òÔT"‡sò/Ir"‡~ô#ô#õ”#õ”#ðÕ¥b"€³šñŽÔ!ئ÷ñú¤è!u©ò"ß!W´Mñóé:!0,‹ñÑÖ‡!•Íñ®ÁÓ ÞÆ®ñ"ì ü2,ñ!/![fða“!üáZð‡ÎÄ"(U­ð­à"UŽàñfG!­‚>ñÕkC!N‡ñ³7 !$ +ñGKX!‡¸õ”#õ”#õ•#õ•#ða“!üáZñ!/![fñ"ì ü2,ñ®ÁÓ ÞÆ®ñcd ʱÕñŒ%ä ¶»-ñzþY ¢â¶ñ\Yõ ÀZðëÀû!Œúð)3j!»…•ð;à´!Ñ-çðN®ï!æ÷)ñ+ƒ!E¦4ñ~Éú èSñm€ ÓÙÑðþsÃ!35Lõ•#õ•#õ–#õ–#ð)3j!»…•ðëÀû!Œúñ\Yõ ÀZñzþY ¢â¶ñiªå -îñZJù z—ñJ€ eä +ñ+e™ ‚°Wð¹L\ Þi\ïó¾F!y \ð…! ƒðZ5!¥þ2ðØíD!—ñK ¬L’ñ;¬ –ÝãðË › ôiƒõ–#õ–#õ–#õ–#ïó¾F!y \ð¹L\ Þi\ñ+e™ ‚°WñJ€ eä +ñ)ûL =&ñ +Zd ЄðëÏífðÌ“[ ŒðW¥ƒ a&àïŒGË õ,cï®Z~! ˜yïÐÕ}!LÌð–c“ ±êÍñ \e Yê2ðëÖð 0çªðy¸6 Œ•µõ–#õ–#õ˜#õ˜#ïŒGË õ,cðW¥ƒ a&àðÌ“[ ŒðëÏífð̈`Ä© ð°PJ›T,ð“ys@oðu,tŽ‘÷ïýoâøXï,¤ó pnïLs œ)Çïjõ9 É)Wð6Rò 5&’ð®ìàÀ1ð’ 8¶¥³ðÿî ´õ˜#õ˜#õ™#õ™#ï,¤ó pnïýoâøXðu,tŽ‘÷ð“ys@oðX²#Ë]ð&7Ñnzïó¢Ô‚›XïÖfœ2úïY§BéL5î~UgiéÊîµÃ’¿üYîì³{ ©!~öŒ0£ð:eï?åð Éëï‘ï?^Äõ™#õ™#õ›#õ›#î~UgiéÊïY§BéL5ïÖfœ2úïó¢Ô‚›XïÙ¯[‘Øïûs2¢ˆï¬˜\ ;µïŠ/#áÎïðœm`Ðî0Ë£ç³?îJ4±Œîbß?@“ï=S¹¾¢ÿï»ýÄu&»ï¦­GKH ï*-ª˜_õ›#õ›#õœ#õœ#î0Ë£ç³?ïðœm`ÐïŠ/#áÎ﬘\ ;µï•Øã˜ïj#¼{ÊïiI •ëïLÔ”­š!îÌ7ó„gíçpOg§#íÿê‘Á îܼpTîø&ÖB'ïxÉçü>™ïbõ«Ô*ÝîäQœ&õœ#õœ#ö#ö#íçpOg§#îÌ7ó„gïLÔ”­š!ïiI •ëï@Ý{F²_ï*ŒúSÇîóøe®Œ%îØî;Ä1¹îT»êwígfòk4íŽæx½èÖí»(¥M7îŸïU*|ï$n€^^³îý bù[î|;pUÈ/ö#ö#öž#öž#ígfòk4îT»êwîØî;Ä1¹îóøe®Œ%îâŸsˆE…îÑÞb]îÀ¾(=iî–REî ¼x´í/oŠïÄ<íAÏûK@íTwÈAqvîAÌÀÙPÎîÇšÆëî·TLw+´î3µÿ¹öž#öž#öŸ#öŸ#í/oŠïÄ<î ¼x´î¦„–REîÀ¾(=iîî°\<×îžtôYî°ZÎø¤îwR\â„Aíð ™Ùìûbw11í +0hŸ¤þí‡ßÇSîÙàdºËî–"ª,°.î…ŸµíÿHC +èöŸ#öŸ#öŸ#öŸ#ìûbw11íð ™ÙîwR\â„Aî°ZÎø¤îtø…?þîVWŸ>Zî=©Kø¥Óî&3Ü +yíœsÉ;¢Ëì iE +ì»bÄÙ¬ìÛ¢Ý&Ê–íлÊ0€îZ·w˜Ë›î>â1Oÿí·m|‡ëmöŸ#öŸ#ö #ö #ì iE +íœsÉ;¢Ëî&3Ü +yî=©Kø¥Óî%ü÷²`ùî¿noºíù£,ÚPí㤮<4¾íWÐ!g…cìU‡ý®É~ìl÷ïö™•ì†Uì@¤“í‚`¤ïSÃÏàíùºÊ}Ìæío:–¯Uyö #ö #ö¡#ö¡#ìU‡ý®É~íWÐ!g…cí㤮<4¾íù£,ÚPíæ÷êE¥íÓÜvª íÂG"lCí¯›y™tí!ŠdŸ þì¿xÜ”¦ì,ð ì@Ü/f “íC$SÙ¸íе„ù¢ÒíÀ r·kxí4»nâ‚yö¡#ö¡#ö¢#ö¢#ì¿xÜ”¦í!ŠdŸ þí¯›y™tíÂG"lCí¸ó;M}´í²„g.œîí«eêŒÁí™L×ì'í y?Rì¹Ox~Àìø™M’ì¥óº÷øív]}mQí¥·7ZÔ!í e×:üTíÚ#`_%ö¢#ö¢#ö¢#ö¢#ì¹Ox~Àí y?Rí™L×ì'í«eêŒÁí¤sWòtXí¡´Ôòåí–ö~¸ äí…õ`Ãyì÷ÑãlBëêfÑç¡ëñ±87oÔëù" W¢4íz7¶…í’TÆþÑ팦à^ìþe9÷4ö¢#ö¢#ö£#ö£#ëêfÑç¡ì÷ÑãlBí…õ`Ãyí–ö~¸ äíVB›&%í‰Öö~Øíƒ~c#ÃísŸëm¢Öìä6¢ŠýÝëÕB=»2ëÜ$YÙpîëã2^øW1ìïëÜÃÛÒíU%¦‘DíyøÉ‰W-ì뽩<³ö£#ö£#ö£#ö£#ëÕB=»2ìä6¢ŠýÝísŸëm¢Öíƒ~c#Ãí~tG*Îíy…‚+Ñ ít²cüíeñª®þìÖ +5ŠëÅAa¨þëÊM%~Õ[ëϹøœ®£ìÞ¨ßlzhín•çQ¬ íjÄÉ5o ìÛVR¹›ö£#ö£#ö£#ö£#ëÅAa¨þìÖ +5Šíeñª®þít²cüík-Û‹`íb¨tÑíYqTwÍOíLæ¿$ì¼3]•ð²ë§^Þºd¹ë°Èºï|Šëº¥Ý'?ËìË´8û!Mí\l[å)bíUŠ@°f¦ìÅ9Ë Cö£#ö£#ö£#ö£#ë§^Þºd¹ì¼3]•ð²íLæ¿$íYqTwÍOíLë€Ôí@œ’½¯Õí8§þoÔí0:¦t.ìž‹|‚]U냆™©˜ëŒ9Aï\ë™y¸O§ì®N7+¡í@Z³Åóí84·ÂÂì§57ØÓö£#ö£#ö¤#ö¤#냆™©˜ìž‹|‚]Uí0:¦t.í8§þoÔí2¬r Y*í-k‰Ûn&í(ð? ZÇí$*£/bì‘ß<«&´ërmy¸>ëwVø¥~ë} +½CË0ì˜6,|.í*?%h«í(‡òÞBÀì–ÂÓëŽ2ö¤#ö¤#ö¤#ö¤#ërmy¸>ì‘ß<«&´í$*£/bí(ð? ZÇí%—åe?,í%‡m3â„í$-— suí!í4 ´—ì™[Aëm'xën–ÞBënÍÃwÎFìŽ?†j¶úí ´NhÇí#L†5&dì‘£<9çö¤#ö¤#ö¤#ö¤#ëm'xì™[Aí!í4 ´—í$-— suí"E½Š_í!N–’í!N–’í!N–’ìŽï/–’ëj&Ž–ëj&Ž–ëk(Áìš×»G<í +"¾Î?í!N–’ìŽï/–’ö¤#ö¤#ö¤#ö¤#ÿÿÿÿ't‹nÿÿÿÿ&â)Üÿÿÿÿ&OÈJÿÿÿÿ%½cúýÀ‚Å%¼ö0û¨Y'%KúfùÓšJ$—#RùžßÊ%µzùj*Ç%¨Däù5uÅ&0× û9Vd&÷õÜýˆ't3™ýˆ&áÒýÀ‚Å&OZ€ûs¤$%Ô‰Ðûn f&ofsñZ$ñZ$óy$óy$ù5uÅ&0× ùj*Ç%¨DäùžßÊ%µzùÓšJ$—#R÷üÜé#ãõ¬ölL"ç¶Îõ9)!Ø“ÁôÁIý"I°zôdZÐ"ºÊuôq!#+ç/õvãð$V=’÷/e:%kaª÷d=$âÏ‚÷È'æ$l…ö¡ #XÐÉõÓÍ #å Ùóy$óy$ô#ô#ôq!#+ç/ôdZÐ"ºÊuôÁIý"I°zõ9)!Ø“ÁôxÚ´!NG³óâ„V Àó\ [ .²AòðÏ… ‘²ðò„ù2 ô³žò"ß!W´Mò¬RK!÷’¸óQX"“ú˜ó®n…""àžôëˆ!¿a­óv³€!#½ó#!!””Èô#ô#õ”#õ”#ò"ß!W´Mò„ù2 ô³žòðÏ… ‘²ðó\ [ .²Aó:¹“ +Ê6óÞJäÕíòûë À©CòŒÝN }òÏ e¶ñ®ÁÓ ÞÆ®ñÑÖ‡!•Íñóé:!0,‹ò_¿ Í+ÜòÎã? mÈ&ò¬Ð D4&ò@äD §7“õ”#õ”#õ•#õ•#ñ®ÁÓ ÞÆ®òÏ e¶òŒÝN }òûë À©CòìV®l‚òÜe–œHsòÌÃËŠ?Øò\0NçËwñë—T EWñzþY ¢â¶ñŒ%ä ¶»-ñcd ʱÕò q! kSœò}™ Ê»òkÌœùÔñü¾Þ Y/Žõ•#õ•#õ–#õ–#ñzþY ¢â¶ñë—T EWò\0NçËwòÌÃËŠ?Øò¼öx]©ò¯neìò E<R¾wò.1|®t½ñ¼? +-ÃñJ€ eä +ñZJù z—ñiªå -îñÚCß 1¢NòL]ÕéIò<ý1ÀÌòñÌ^¹ X‘õ–#õ–#õ–#õ–#ñJ€ eä +ñ¼? +-Ãò.1|®t½ò E<R¾wòƒ!-¨€òfZK ÑòIåÓäÓªñÔ÷ü<áþñ`§”ðSðëÏífñ +Zd Єñ)ûL =&ñœ‰ádßò [‰a†ññföa%ñH<¼Â0õ–#õ–#õ˜#õ˜#ðëÏífñ`§”ðSñÔ÷ü<áþòIåÓäÓªò.‡À&ò‘Ÿš~‘ñúG–vÇñ‚«Êy(ñ ‹ÜÌð“ys@oð°PJ›T,ð̈`Ä© ñA{µlš¶ñ¹-°4Tñœõšîâ4ñ'ìPFð‰õ˜#õ˜#õ™#õ™#ð“ys@oñ ‹ÜÌñ‚«Êy(ñúG–vÇñĬ-íšñ—bZâàœñhðA›Lçðìèháðpø5‚ïó¢Ô‚›Xð&7ÑnzðX²#Ë]ðÐN„ÏgºñMÿ‚Q=ñó5/ù×ð¢ÿ[„R€õ™#õ™#õ›#õ›#ïó¢Ô‚›Xðpø5‚ðìèháñhðA›LçñQwà_ñ=s²RÅñ(e.Ä,ð©Ëx@oð+1îÁ¿r﬘\ ;µïûs2¢ˆïÙ¯[‘ØðUþÔuÞðÔ¨ÞÄüYð¾Úœ ðBUé#…õ›#õ›#õœ#õœ#﬘\ ;µð+1îÁ¿rð©Ëx@oñ(e.Ä,ñ®K +À®ðÿ>ßç8³ðëLÄ.úðj~¸ +@ïéá#PÈïiI •ëïj#¼{Êï•Øã˜ðq¦šð•¸T<ñð~¦Ç-"ùð:v”Bõœ#õœ#ö#ö#ïiI •ëïéá#PÈðj~¸ +@ðëLÄ.úðÆ’Q|Èð¡t6Áwð€‰Ùñä,ïüW‰0Åêïx%8oªgîóøe®Œ%ï*ŒúSÇï@Ý{F²_ïÁ{ÈðEú:ÁÿðAÎu£5ïœ\Ý»r ö#ö#öž#öž#îóøe®Œ%ïx%8oªgïüW‰0Åêð€‰Ùñä,ðpÌœÏRðaQ>¬ÕyðR Æ‹_ïÌI»Æ…ÎïF3ù>îÀ¾(=iîîÑÞb]îâŸsˆE…ïfÑÄIcÇïìŸÉ þïÛˆ¶èHéïWVf'îöž#öž#öŸ#öŸ#îÀ¾(=iîïF3ù>ïÌI»Æ…ÎðR Æ‹_ðC0™i&ð2¸¸H}´ð&SÕ&½X^Ð2ïè­–åÊî°ZÎø¤îžtôYî°\<×ï6GÜ¡hï½h¤–Ê鉶〓Lï%¬ã»þ€öŸ#öŸ#öŸ#öŸ#î°ZÎø¤ïè­–åÊ^Ð2ð&SÕ&½Xð }ã²§ïñFþ£ÇïÚäd ZïQ#ô•‘îîÇcáÇ@î=©Kø¥ÓîVWŸ>Zîtø…?þîûHJM*fï…DÀÈ@ïg†êÕ[îà³ ÇöŸ#öŸ#ö #ö #î=©Kø¥ÓîÇcáÇ@ïQ#ô•‘îïÚäd ZïÅb"$3Uï°šáæ|ÃJªèd﮽Ö9î„Ú0‰¬íù£,ÚPî¿noºî%ü÷²`ù €Õ§ï;¢U»èï$ÆUÍgîšðLC!Ôö #ö #ö¡#ö¡#íù£,ÚPî„Ú0‰¬ï®½Ö9Jªèdï‹VBnmwïzÈl49ïjÔIûî¬îÝS!aôîOÍYFÒ~íÂG"lCíÓÜvª íæ÷êE¥îqð„¾õîÿµ™¾îíB5YŠÃîa]0„¤‚ö¡#ö¡#ö¢#ö¢#íÂG"lCîOÍYFÒ~îÝS!aôïjÔIûî¬ïb@„àpï\†×Ãï ïV¨îÇÜ¥ËA¬î9¡Híè–í«eêŒÁí²„g.œîí¸ó;M}´îFyr( *îÔºMsúîÎKyæ“4î@¿Å øÃö¢#ö¢#ö¢#ö¢#í«eêŒÁî9¡Híè–îÇÜ¥ËA¬ïV¨ïOÄ¡C¾ïI—­ruõïC†+X4(î´«œx'fî%Ñ ˜¥í–ö~¸ äí¡´Ôòåí¤sWòtXî2®µÏÍnîÁ‰D¯çé’i4î,|C´ÿ¦ö¢#ö¢#ö£#ö£#í–ö~¸ äî%Ñ ˜¥î´«œx'fïC†+X4(ï=t©=òZï7‰”$<ˆï1¹ò °î¢P©(m¶îç`EȽíƒ~c#Ãí‰Öö~ØíVB›&%î0Ñ{2æî®š]å™î¨ KA—Žî@?a}ö£#ö£#ö£#ö£#íƒ~c#Ãîç`EȽî¢P©(m¶ï1¹ò °ï-.0ñ¦ùï(½àØÉüï$c…Àxùî”{ûÛW:î™îö2»ít²cüíy…‚+Ñ í~tG*Îî Ý\)Ò‡îÄçÿî˜ÖUó¨<î m òÊö£#ö£#ö£#ö£#ít²cüî™îö2»î”{ûÛW:ï$c…Àxùï´NÖôïmbajYï ƒÉ55åîzÖ Kgsíê#úa™íYqTwÍOíb¨tÑík-Û‹`íû À­î‹Ìêµ5¼wž¦íòÈ7’@„ö£#ö£#ö£#ö£#íYqTwÍOíê#úa™îzÖ Kgsï ƒÉ55åïWÌÜ•îõaŒ“îíÀvDŽî\ ÏR½QíÊ\¥`ì’í8§þoÔí@œ’½¯ÕíLë€ÔíÝž'ÿŸÑîoª£òL#îcPºš2ÔíÒQ9¯€“ö£#ö£#ö¤#ö¤#í8§þoÔíÊ\¥`ì’î\ ÏR½QîíÀvDŽîèN&üç$îㆾ4îßsˆwŽîME˜náí»ª˜cuí(ð? ZÇí-k‰Ûn&í2¬r Y*íÄ[›)éîV™ fîQ^Æ+bí¿˜ôÓvÓö¤#ö¤#ö¤#ö¤#í(ð? ZÇí»ª˜cuîME˜náîßsˆwŽîÜg„R­UîÜwü%¸¿îÛ4ÓsîHÚÆ]4í¶pæõí$-— suí%‡m3â„í%—åe?,í·ÅP]GÚîJ:Z¤§îJ$#)Bí·àÃ0XÂö¤#ö¤#ö¤#ö¤#í$-— suí¶pæõîHÚÆ]4îÛ4ÓsîÙa‚¹ýßîØuv–îØuv–îF£–í³²S–Óí!N–’í!N–’í"E½Š_í´˜áºîG,½‡ îF£–í³²S–Óö¤#ö¤#ö¤#ö¤#ÿÿÿÿ%½cúÿÿÿÿ%+hÿÿÿÿ$˜ Öÿÿÿÿ$<†ýøís$»…ü[é#Ÿü1úq¹R"ýrWú=O#†ÀúOM$“éùÓšJ$—#Rû¨Y'%KúfýÀ‚Å%¼ö0ýÀ‚Å%*”žýøís$˜ûâ¡i$(ŽYûÝ)$Ãh>ñZ$ñZ$óy$óy$ùÓšJ$—#RúOM$“éú=O#†Àúq¹R"ýrWøÊT˜"\‰¯÷b7+!y0 +ö4û´ …CõØ ö] õ{"Ø!gyÆõ9)!Ø“ÁölL"ç¶Î÷üÜé#ãõ¬ø1‘ì#[c„ø•Ÿ–"å×÷M{!êJöÉyû"všóy$óy$ô#ô#õ9)!Ø“Áõ{"Ø!gyÆõØ ö] ö4û´ …Cõ 6 ’õ»Þˆ¤#ô Ø²ôô4Mh³£óÈv¯Ë´Qó\ [ .²Aóâ„V ÀôxÚ´!NG³ôÕÉá Ý*ùõCFä y®Çô¬å‹ë¢ôNZ© ]ô#ô#õ”#õ”#ó\ [ .²AóÈv¯Ë´Qô4Mh³£ô Ø²ôô‰ìåe"ôeëŠÃ ôIC¢Ž—óÚ†ìÑójøÈaK +òûë À©CóÞJäÕíó:¹“ +Ê6ó¦Ši§É‡ô³™HeÑóöÝÍ"tFóŠì…w´õ”#õ”#õ•#õ•#òûë À©CójøÈaK +óÚ†ìÑôIC¢Ž—ô:ÑË’$oô,¥HÕºôŽ»qœúó­õÀÏ(™ó=\Æ,´8òÌÃËŠ?ØòÜe–œHsòìV®l‚ó[+O ŠóËÄñ‚©ó¼ NßaYóLþ‘>¼Ôõ•#õ•#õ–#õ–#òÌÃËŠ?Øó=\Æ,´8ó­õÀÏ(™ôŽ»qœúôFÅaeôáâPóö‹v?–%ó„r9›O*ó^y÷qò E<R¾wò¯neìò¼öx]©ó-Ò +óŸ­Ë¿ó‘È¥«Òó!*- ]¥õ–#õ–#õ–#õ–#ò E<R¾wó^y÷qó„r9›O*óö‹v?–%óÜLg5ÚóÂZ2ý=Üó¨ºUܨ­ó3Ç4·ò¾Ù(ŒÅUòIåÓäÓªòfZK Ñòƒ!-¨€òõ:XÑò9ój3*yîßóMfÝUL0òÛH#°÷|õ–#õ–#õ˜#õ˜#òIåÓäÓªò¾Ù(ŒÅUó3Ç4·ó¨ºUܨ­ó®®»¥´óxÍv™¦7óa¦xåòé ÍK€òqã›!¯#ñúG–vÇò‘Ÿš~‘ò.‡À&ò£Üh«óÀ×´ó1qî ™òŒ-¤F/õ˜#õ˜#õ™#õ™#ñúG–vÇòqã›!¯#òé ÍK€óa¦xåó0«8Öó.ÿôR½òÞ=­³þvòaΉpñå_eN3«ñhðA›Lçñ—bZâàœñĬ-íšòßç8³ñ®K +À®ñ’GÞÁA«òêð{eñþWßâñÜs¡Nmõœ#õœ#ö#ö#ðëLÄ.úñk¹á~D´ñìQø8],òlïŒòræòLG'±yïò*¸3s/'ò M5<3ñˆèýt ¯ñ¶¬³nð€‰Ùñä,ð¡t6ÁwðÆ’Q|ÈñG/å6*ñ˯÷awñ¦…ã²åñ% ñ÷ß¹ö#ö#öž#öž#ð€‰Ùñä,ñ¶¬³nñˆèýt ¯ò M5<3ñþùÅðaññ"÷–ñã[cغÐñ]˜X.?ð×ÏÐOžððR Æ‹_ðaQ>¬ÕyðpÌœÏRðôþì:”ñzÇtTÔÞñkL2ŽðçIqb +öž#öž#öŸ#öŸ#ðR Æ‹_ð×ÏÐOžðñ]˜X.?ñã[cغÐñÖ÷º4ñÆüàœìÍñ»üÍ~‚ ñ4Äz¶—¥ð­Œ(îªð&SÕ&½Xð2¸¸H}´ðC0™i&ðÈó¤-²ªñPdñÄž@«‚ðr‰AcRlïäMã…ö—ïV¨ï\†×Ãï ïb@„àpïïÁ>º’æð~–—ù¶ðxMé{åNïêÂ4¡Hö¢#ö¢#ö¢#ö¢#ïV¨ïäMã…ö—ðr‰AcRlñÄž@«‚ðûì(#ðõˆ)ùððØøZkða;IMªïÒ`º8@éïC†+X4(ïI—­ruõïOÄ¡C¾ïÝÿÿjœÔðlà Jº ðf­š/ìDïØr<R‚¶ö¢#ö¢#ö£#ö£#ïC†+X4(ïÒ`º8@éða;IMªððØøZkðê˜àÁNðå6µÉ£´ðßõ̳\ðPŒƒÐ_bïÁ#:íºhï1¹ò °ï7‰”$<ˆï=t©=òZïÌTµÿð[½þ´ðUÍlæþºïÆòÝä@ö£#ö£#ö£#ö£#ï1¹ò °ïÁ#:íºhðPŒƒÐ_bðßõ̳\ðÛèKœ%ãð×ö=…ÂìðÔ§oà÷ðD2šŠ¿7ï´K¥š¹ï$c…Àxùï(½àØÉüï-.0ñ¦ùï¼—xÔN±ðL¹~*ðH³ ¡-︥j½ë»ö£#ö£#ö£#ö£#ï$c…Àxùï´K¥š¹ðD2šŠ¿7ðÔ§oà÷ðÌ;†D"‰ðĺ9bŸð½›¼òž{ð,éÐ ïœ6p˜ï ƒÉ55åïmbajYï´NÖôï«›Øtûsð– —ïjÙÇ–VîØuv–îØuv–îÙa‚¹ýßïkµZ¶q_ïþ$¥¹øaïý>– —ïjÙÇ–Vö¤#ö¤#ö¤#ö¤#ÿÿÿÿ$<†ÿÿÿÿ$<†ÿÿÿÿ#sÚôÿÿÿÿ"Oþ1R¤"N~ü†Y/!ô»ûØZ!c¾ú¸¸Ï"\GÏú„Í"ä×9úq¹R"ýrWü[é#Ÿü1ýøís$»…ýøís$»…þ1R¤#sA@ü/9¥"ì‡/ü)¦d#‡cÒñZ$ñZ$óy$óy$úq¹R"ýrWú„Í"ä×9ú¸¸Ï"\GÏûØZ!c¾ù—ÌG Õ pøW㇠+©F÷Ký1ï¤ö®¡8õ:˜öQ·‰ fT’ö4û´ …C÷b7+!y0 +øÊT˜"\‰¯øÜŸ"CñPù@¬½!Í©£÷ºÁ Íñ{÷~ó!ZA‹óy$óy$ô#ô#ö4û´ …CöQ·‰ fT’ö®¡8õ:˜÷Ký1ï¤öÇ‘lÂß(öNíéQ+yõã›Uܳ§õ*r"„½‹ô¾›Ïç¾:ô Ø²ôõ»Þˆ¤#õ 6 ’õ¼ìhé¦Mö*nè†']õ•Ä·ù5]õ74Xj¬ªô#ô#õ”#õ”#ô Ø²ôô¾›Ïç¾:õ*r"„½‹õã›Uܳ§õÈZEÀÍõ¯óM¡V-õ–={„sëôÖ»j%Â!ôg­¬… ZôIC¢Ž—ôeëŠÃ ô‰ìåe"ô fÇphõ+•hoôðq<B§"ô„„ô¥§Ðõ”#õ”#õ•#õ•#ôIC¢Ž—ôg­¬… ZôÖ»j%Â!õ–={„sëõ‰‹½ußõ|êxgcõpYªXúô­Æœöï÷ô=-¡T{—ôŽ»qœúô,¥HÕºô:ÑË’$oôYp²t¶2ôÊ ¬-RôºWjVôKD/d±˜õ•#õ•#õ–#õ–#ôŽ»qœúô=-¡T{—ô­Æœöï÷õpYªXúõc‘÷J½!õX­V;õLѯ,mÓô‡>Çô$ß"Çóö‹v?–%ôáâPôFÅaeô.å¬Dlô þéè²ýô“ÃÕ¾Vô"{K3Iõõ–#õ–#õ–#õ–#óö‹v?–%ô$ß"Çô‡>ÇõLѯ,mÓõ5r6Ã4õZñs(õ‰YÔ}¯ô<&#h}µóÇ8LÀŒ ó¨ºUܨ­óÂZ2ý=ÜóÜLg5ÚóúåÐfÎôoÞ¢©cuôRöã…s-óàØ)á!8õ–#õ–#õ˜#õ˜#ó¨ºUܨ­óÇ8LÀŒ ô<&#h}µõ‰YÔ}¯ôñAÕ·"©ôݢÐôÇïµ{·vóöþ½ *vób·]Žóa¦xåóxÍv™¦7ó®®»¥´ó®,¥Ÿ‰ô%Þ K"¯ô Ó&Có—ˆ~Qñõ˜#õ˜#õ™#õ™#óa¦xåób·]Žóöþ½ *vôÇïµ{·vôœ¤ŽB2ôy!ÄßôS‹̲Ãóx3ÂMHòûÄžšdòÞ=­³þvó.ÿôR½ó0«8ÖóNò¸Ñó˳–Ï¥ó©É†\öó%µïÚµžõ™#õ™#õ›#õ›#òÞ=­³þvòûÄžšdóx3ÂMHôS‹̲Ãô@.&°‚éô0Þ³’oýôþ…uÕó?Ôð" +òÁ:|9žNò¤1ÍRL¢ò·+ñròÈ¥Ó”1¤òæ,Äz”…ódÜL1AóP´< ¼ïòÔ/#YÓlõ›#õ›#õœ#õœ#ò¤1ÍRL¢òÁ:|9žNó?Ôð" +ôþ…uÕôZºYóþóQ<²…óîÈI ¶Ñó ü”Ôò‰^‡Ú¾VòlïŒòræòõœò‘„‚1èÛò®1:†ó/0CÓ]ùó, °Ò‚ò›ˆúA õœ#õœ#ö#ö#òlïŒòræò‰^‡Ú¾Vó ü”ÔóîÈI ¶ÑóÑûýæÜXó³üH¯šó™¬Áx–øò¬LÎà²"ò(ú“àò M5<3ò*¸3s/'òLG'±yïòh¶!™Å`òí5LZüUòơҵBòE¼à]„ö#ö#öž#öž#ò M5<3ò(ú“àò¬LÎà²"ó™¬Áx–øó&î\Ç/ó€Ò‚A_²ótª&cAòƒXˆ©Kñý”õĺñã[cغÐññ"÷–ñþùÅðaòþrHòŸÌxÄâYò{£¨{ò H³â|€öž#öž#öŸ#öŸ#ñã[cغÐñý”õĺòƒXˆ©Kótª&cAóhÓ× C!ó[F†ñY(óQ¥ÅÖI€ò\ 2àØñÕUNjó±ñ»üÍ~‚ ñÆüàœìÍñÖ÷º4ñð9 ¥–ˆòwÖm‹êòf.aMð€ñàUa‰[³öŸ#öŸ#öŸ#öŸ#ñ»üÍ~‚ ñÕUNjó±ò\ 2àØóQ¥ÅÖI€ó=WI wó'+7m$ód{:Í«òYÃŒoêñ™°½û<ñx$AÏlâñŒ;Ùvñ¤ê.B(ñ¾B®.™´òH?$ý4Ïò+ ¿1cñ£±H÷ÐöŸ#öŸ#ö #ö #ñx$AÏlâñ™°½û<òYÃŒoêód{:Í«ó,yØ òóŽ+Ö–Öòã~–§‹ñá;ïîN$ñUgbžÈñ@ð(öwñR†^‰ÌñdÇN–°ñ|<¼„” +ò!ÁYzKññK„ݰñgzùO/^ö #ö #ö¡#ö¡#ñ@ð(öwñUgbžÈñá;ïîN$òã~–§‹òÕÐUv·œòÈ VH$“ò»î˜Kpñ´#¬XÛ•ñ&u~Lñaq‹ñ!´a¾fñ0– +ò’‰ñEü}ã8ñÓ®¾5ñÀÕi…´¸ñ4ðe°Ë¸ö¡#ö¡#ö¢#ö¢#ñaq‹ñ&u~Lñ´#¬XÛ•ò»î˜Kpò´Ûçò°‹¶îò«q:ؼBñ¡­nñã/4TXñÄž@«‚ñ‰FY>dñ Ír‰,ñÉÑe5~ñ­)BŸ ñ¦9'«ñ§×Lç:ö¢#ö¢#ö¢#ö¢#ñÄž@«‚ñã/4TXñ¡­nò«q:ؼBò¦g6Ââ‰ò¡~"­|òœ«˜ƒmñ÷ÍJñsìôÊððØøZkðõˆ)ùðûì(#ñ 9ú»ùñœûÖsñ”Ê!áüòñŽÄ“dö¢#ö¢#ö£#ö£#ððØøZkñsìôÊñ÷ÍJòœ«˜ƒmò—¼qƒƒò’éRo +àòŽ1¦ZöñB¿‹2~ðïÙv¨ŠÆðßõ̳\ðå6µÉ£´ðê˜àÁNðûŸ(Õ[­ñ‹q¸`ñƒÿéŸD™ðõÜ¿*ö£#ö£#ö£#ö£#ðßõ̳\ðïÙv¨ŠÆñB¿‹2~òŽ1¦ZöòЧåF¢ ò‡.›2»ÝòƒËGHôñrÂiKlððâà\fK1ðÔ§oà÷ð×ö=…ÂìðÛèKœ%ãðëÑs‘¬Mñ{¸ývÛÆñv+:^ßÙðæ¼t|-&ö£#ö£#ö£#ö£#ðÔ§oà÷ðâà\fK1ñrÂiKlðòƒËGHôò|¿øpÜòv ŽÓX'òo®2°ñZß0Ô€•ðÊ,Šê´âð½›¼òž{ðĺ9bŸðÌ;†D"‰ðÛ½:ŒÃñk¿^$’ñaC +÷ÔiðÑP…yö£#ö£#ö£#ö£#ð½›¼òž{ðÊ,Šê´âñZß0Ô€•òo®2°òg;\h§ƒò]Ì(¨QòWëéïoÈñ<úîÄGð«FFó‰ð¢Óqýð©h²ZWQð³É”¢a ðÀ_ßšwsñRl[!ñBÛ?ÿð±Û‡UMMö£#ö£#ö¤#ö¤#ð¢Óqýð«FFó‰ñ<úîÄGòWëéïoÈòSŒ¶òOºóƒÅ_òLsX³Üñ- IeÐ¥ðšÞÝmÅ8ð•ðLp”Vð™ z ü·ðê]Ùuð¦]2Ôkñ8›ÍW˜ñ0N­â(ðž ž-šö¤#ö¤#ö¤#ö¤#ð•ðLp”VðšÞÝmÅ8ñ- IeÐ¥òLsX³ÜòIûÈ-ŒcòJY byòIA$ì“mñ&ÎÜòhð”u‡õòNð’: ÷3pð“h‹Žûð“1¦@;ð˜ 8=Oñ*•:©,ñ'ìP:Wð•¨ïMÚö¤#ö¤#ö¤#ö¤#ð’: ÷3pð”u‡õòNñ&ÎÜòhòIA$ì“mòGšu²ßaòFÄ^–òFÄ^–ñ";– +Ùðœê– —ðœê– —ðœê– —ð}û¶n ð’¸âµ0=ñ%(-¸·@ñ";– +Ùðœê– —ö¤#ö¤#ö¤#ö¤#ëj&Ž–ìŽï/–’í!N–’í!N–’í!N•ïfí!N•Æ:í!N•í!N•ìŽï/•šPëj&Ž•—‘ëj&Ž•Ã|ëj&Ž•ò%ìŽï/•ì§í!N•ïfí!N•Æ:ìŽï/•Èùö¤#ö¤#ö¤#ö¤#í!N–’í³²S–ÓîF£–îØuv–îØuv•ì§îØuv•ÈùîØuv•¢ŒîF£•ŸÍí³²S•ŸÍí!N•í!N•Æ:í!N•ïfí³²S•ì§îF£•ïfîF£•Æ:í³²S•Èùö¤#ö¤#ö¤#ö¤#îØuv–ïjÙÇ–Vïý>– —ðœê– —ðœê•ééðœê•Èùðœê•¨ ïý>•¥KïjÙÇ•¥KîØuv•¢ŒîØuv•ÈùîØuv•ì§ïjÙÇ•ééïý>•ì§ïý>•ÈùïjÙÇ•Èùö¤#ö¤#ö¤#ö¤#ðœê– —ðœê– —ñ";– +ÙòFÄ^–òFÄ^•ééòFÄ^•˸òFÄ^•­‡ñ";•ªÈðœê•¨ ðœê•¨ ðœê•Èùðœê•ééðœê•ééñ";•ì§ñ";•Èùðœê•Èùö¤#ö¤#ö¤#ö¤#ëj&Ž•—‘ìŽï/•šPí!N•í!N•í!^zYþ1í@{¢Û“í}ðUç““íq9ÝÚìÜ )À³?ëÏ%Á’YÚëŒQäõbëj&Ž=ÎWìŽï/=Ñí!^zYþ1í:"Äýzì¤éØü#tö¤#ö¤#ö§#ö§#ëÏ%Á’YÚìÜ )À³?íq9ÝÚí}ðUç““í»j„±NRî<=€ælî°Z \¼ýîw ¦úï£;¨õtûâ!ûâ!üë!üë!ûü¿‰dö÷ü+/qÙ¡üH:P +PüQö„Á‹ýˆ>„ÖO—þÄa!·5-ÿÿÿÿ·'tÿÿÿÿ·'tÿÿÿÿ$Åâÿÿÿÿþ¨4ýO[!é‡ýf‰#:½Íýƒ`jÏóúþÄa!·5-þ¨4$Ã$üë!üë!üî!üî!í!N•í³²S•ŸÍîF£•ŸÍîØuv•¢ŒîØ–fv. +îôäqV¿ï,ºè<Ð îŸïU ÆŸî +ÁeŸ¿í}ðUç““í@{¢Û“í!^zYþ1í³ÂÊZïîF2v+LîeIÁH¸ðíÐS+á©ö¤#ö¤#ö§#ö§#í}ðUç““î +ÁeŸ¿îŸïU ÆŸï,ºè<Ð ïd–Ý"á︼r ð&SÕøH Ìånïè­ ”ÏÖî°Z \¼ýî<=€ælí»j„±NRîElwÛ]ÔîÚ”êøÑŽï0ÈiÖ\ˆîžt¸ùFö§#ö§#÷°#÷°#î°Z \¼ýïè­ ”ÏÖ Ìånð&SÕøHñ9æ ñÅwòHD¡ + ùóÞÉ-t~ðówG· ú¼óÆA¥v‡ò¨DÊ=õðé_¨üÚ4ÿ  + ð õR Lçð{” ¹²ñàÃ+ £„ÅñPá d^h÷°#÷°#ùÉ"ùÉ"ò¨DÊ=õóÆA¥v‡ówG· ú¼óÞÉ-t~ðõu^1Ýÿâ÷\®—÷æùoP>¼ù7=d4á¾øÿ0­©køÇ.&qö~g€x@ôg4èkôζ^æ–áõ ܺv{­÷$Õ¿“ö¶tÜŸ°“ùÉ"ùÉ"ûâ!ûâ!øÇ.&qøÿ0­©kù7=d4á¾ùoP>¼úxÌÕMɶû>„úeTü§-ÂŒü‹!S5À‹ümý2 ÜüQö„Á‹û®ƒQ3~ùëFž¬ÿºú#Yw48 ú@¹ûÆ‘cûc1ÀpcbûE»GÛ80ûâ!ûâ!üë!üë!üQö„Á‹ümý2 Üü‹!S5À‹ü§-ÂŒýÁyе§þàˆ¿nj[ÿÿÿÿnNèÿÿÿÿÛíVÿÿÿÿI‹Åÿÿÿÿ·'tþÄa!·5-ýˆ>„ÖO—ý–?eç‰ý³cûµþàˆ¿ÜÉþÄa!I–¿üë!üë!üî!üî!îØuv•¢ŒïjÙÇ•¥Kïý>•¥Kðœê•¨ ðÈÕ’]äð©GÂ¥8ðÛ…|’ „ðN¹évX﹋ùXÜ7ï,ºè<Ð îôäqV¿îØ–fv. +ïjõ9v. +ïýd„’[&ð²Ÿ"ï„y¤dÅö¤#ö¤#ö§#ö§#ï,ºè<Р﹋ùXÜ7ðN¹évXðÛ…|’ „ñ ȳ”sÐñXÊ·›ûñ»üÍ­0Õñ4Äzuûð­Œ(= "ð&SÕøH︼r ïd–Ý"áïîžMLð”ðƒÆÀjdNðÑ’dcè<ð?9F„úö§#ö§#÷°#÷°#ð&SÕøHð­Œ(= "ñ4Äzuûñ»üÍ­0Õò¶Í Ï€áó§/ 7¿õS «ô­Ì C„›ôFJ£ÜfóÞÉ-t~ðòHD¡ + ùñ9æ ñÅwñ‰r9 )ØQñú~{ —nó?­¡ +±³‹ò¯Æ +r.÷°#÷°#ùÉ"ùÉ"óÞÉ-t~ðôFJ£Üfô­Ì C„›õS «öƒ‡y<íø9ÓZtÍúˆËQÅÇùßuñÊŠ¶ù§cCRcùoP>¼÷\®—÷æõu^1ÝÿâõÜß§E„öÕhâøÀ€¼ù§cCRcùßuñÊŠ¶úˆËQÅÇûS ûþÉ£—+üüdzqYqüàXNä‹üÃ4-OZpü§-ÂŒû>„úeTúxÌÕMɶú°ß®ÕúÎ@2g[^ûÔ¼C’yû·KH„gGûâ!ûâ!üë!üë!ü§-ÂŒüÃ4-OZpüàXNä‹üüdzqYqýùúo?·þüµÚ%Ÿˆÿÿÿÿ%v\ÿÿÿÿ“Êÿÿÿÿ³9ÿÿÿÿnNèþàˆ¿nj[ýÁyе§ýÏ"M™ýëùÖ¯ƒÅþüµÚ“=öþàˆ¿Ϋüë!üë!üî!üî!ðœê•¨ ðœê•¨ ñ";•ªÈòFÄ^•­‡òGÁ®‹ò]«ȈªòŠPçHüñ}p%¸ï—ðè<·›È·ðÛ…|’ „ð©GÂ¥8ðÈÕ’]äðÈÕ’]äñ"8 ®ˆAñDÙŒ±Z˜ð¯ ¡”ƒQö¤#ö¤#ö§#ö§#ðÛ…|’ „ðè<·›È·ñ}p%¸ï—òŠPçHüò¶õ òù”²)†ÊóQ¥ÅUl!ò\£•øÁ’ñÕkCÀ«úñ»üÍ­0ÕñXÊ·›ûñ ȳ”sÐñ ØÍ£Üñ¶¾À„–ò’‚ÌÙ}ñr9-¯v;ö§#ö§#÷°#÷°#ñ»üÍ­0ÕñÕkCÀ«úò\£•øÁ’óQ¥ÅUl!ô.7 ­>stream +ÿÿÿÿ5v1ÿÿÿÿ4Xö#ÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ4Xö#ÿÿÿÿ5v1ÿÿÿÿ5v1ÿÿÿÿ5v1ÿÿÿÿ4Xö#ÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ4Xö#ñZ$ñZ$ñZ$ñZ$ÿÿÿÿ3Êitÿÿÿÿ3;×mÿÿÿÿ2­Egÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2­Egÿÿÿÿ3;×mÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3;×mÿÿÿÿ2­Egÿÿÿÿ2­Egÿÿÿÿ3;×mñZ$ñZ$ñZ$ñZ$ÿÿÿÿ2¸¸ÿÿÿÿ1&±ÿÿÿÿ1”ªÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ1”ªÿÿÿÿ1&±ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ1&±ÿÿÿÿ1”ªÿÿÿÿ1”ªÿÿÿÿ1&±ñZ$ñZ$ñZ$ñZ$ÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ/äuõÿÿÿÿ.ÇT”ÿÿÿÿ.ÇT”ÿÿÿÿ.ÇT”ÿÿÿÿ.ÇT”ÿÿÿÿ/äuõÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ/äuõÿÿÿÿ/äuõÿÿÿÿ0sPñZ$ñZ$ñZ$ñZ$ÿÿÿÿ5v1ÿÿÿÿ4Xö#ÿÿÿÿ3Êitÿÿÿÿ3Êitþ\Ÿ3ÊN¹ü¸Ã3¡ûÁK3OhÀûF&3[ËúöäÃ3íúÉÃÆ4òôüa&5JƒþA35vþA34XðÊþ\Ÿ3ÊN¹ü´ƒ3§3áü—îø48‚@ñZ$ñZ$ñ]$ñ]$úÉÃÆ4òôúöäÃ3íûF&3[ËûÁK3OhÀù€¿€2ýÌ÷ì—Û2ƒìöhŸu1â©@öU©,1ûmÃö 2#ÍõÄÐk3m»U÷bÃf4ÔÉù&f4›ä{ùUÚ3¡¥Ïùr†Ê3b"÷Ù¡’2œ°“÷½_3+7éñ]$ñ]$òf$òf$õÄÐk3m»Uö 2#ÍöU©,1ûmÃöhŸu1â©@ó`9 0¡Oð™e~.Å -îG¿,swvî*7£,þãíÅiÞ,ǫ̃íPj-¡æï’DB0Ì–òˆOk2É1ò⌠1(,PóMBÄ0º…ð{Þ.âîð>]¶/n³"òf$òf$ó$ó$íPj-¡æíÅiÞ,ǫ̃î*7£,þãîG¿,swvëö#T*!Ù êÚ&'[ÒèØu7$R¡Âè¿°µ$e˜ è<$œ4,çMh{$öv%è¤_ø(2ôyê aë+(úIëL{_*|àÕëØ›ç*?`{ê¤'mùé’üØ'ز€ó$ó$õ˜#õ˜#çMh{$öv%è<$œ4,è¿°µ$e˜ èØu7$R¡Âè77¿"ά ç½M !:„cçk°^ž‚™ç_N§ý½æÍÿ¾ÄaÍåÈ$ ñ‚Êæ9ü!© *æ¡O#Xƒ*çëç"þA1èmä"á¢R窶ý!H½çsO!elõ˜#õ˜#ö¡#ö¡#åÈ$ ñ‚ÊæÍÿ¾ÄaÍç_N§ý½çk°^ž‚™ç²€Îæð¿´^¤Þæð¤ù»F‘æð¤ù»F‘æbK»I=åDô=»KéåDþîz¯åqC9èæ‚‘†#Tìçßå>`æð¿´^¤Þæb"üzö¡#ö¡#ö¤#ö¤#ÿÿÿÿ3Êitÿÿÿÿ3;×mÿÿÿÿ2­Egÿÿÿÿ2¸¸þxÖ2“Lüð*^1øÿûo¾Ð1«ÝûTsl24û²û82ÆD¸ûÁK3OhÀü¸Ã3¡þ\Ÿ3ÊN¹þ\Ÿ3; þxÖ2­úüâÿ2ƒÖ®üÆkt3*eñZ$ñZ$ñ]$ñ]$ûÁK3OhÀû82ÆD¸ûTsl24û²ûo¾Ð1«ÝùïX›1_¹øvlO0îX÷ sØ0W—,öÕ×·0ÛGÝöŸ;–1^øöhŸu1â©@÷ì—Û2ƒìù€¿€2ýÌù©³C2wdcùÆ_1æ µø?Ð.1q´ ø#3ü2;_ñ]$ñ]$òf$òf$öhŸu1â©@öŸ;–1^øöÕ×·0ÛGÝ÷ sØ0W—,ô8(/+Ò'ñ a-oGïv(^+EÐïZ™+©Ù@Õ,§îG¿,swvð™e~.Å -ó`9 0¡Oó–Õ.0›¤ô‹ç/¯‚Ùñ;³œ-Ôˆðþ3B.`:¼òf$òf$ó$ó$îG¿,swvÕ,§ïZ™+©Ù@ïv(^+EÐíKä½)·ÒëTU&ƒ*êc‡L#®Í_éßÖš#åi€é\%é$¡èØu7$R¡ÂêÚ&'[Òëö#T*!Ù ìZñ)½ìçù)ˆBë £¤&¹­KêŠØ'$f±ó$ó$õ˜#õ˜#èØu7$R¡Âé\%é$¡éßÖš#åi€êc‡L#®Í_éÍ "DÔèé[es ËëIé<K‚gè†mfÐxçôσ4ˆçk°^ž‚™ç½M !:„cè77¿"ά èºèq"˜èéIjn"{q èÔý ôß èC´¼!ôõ˜#õ˜#ö¡#ö¡#çk°^ž‚™çôσ4ˆè†mfÐxé<K‚gèÃLj蜀zC4èœUµ»Cåè É»Cåç7»F‘æð¤ù»F‘æð¿´^¤Þç²€Îç¥éaôØoè7=ØÁäè îsC4çQ»^¤Þö¡#ö¡#ö¤#ö¤#ÿÿÿÿ2¸¸ÿÿÿÿ1&±ÿÿÿÿ1”ªÿÿÿÿ0sPþ“{N0rÒ†ý'ŒM0Nü‘û¼U0N—û§pñ0‘oóû‹ +41"¸ùûo¾Ð1«Ýüð*^1øÿþxÖ2“LþxÖ1Eþ“{N1dýãï0ÚטüýÍd1l%÷ñZ$ñZ$ñ]$ñ]$ûo¾Ð1«Ýû‹ +41"¸ùû§pñ0‘oóû¼U0N—ú]ì\/Áñù@Ä/Xó÷°Bã.Ì…÷y¦Â/P5É÷C +¡/Óæz÷ sØ0W—,øvlO0îXùïX›1_¹úL]0ÙKûú4øš0HNøÉ¤£/ÛȤø­p0jOúñ]$ñ]$òf$òf$÷ sØ0W—,÷C +¡/Óæz÷y¦Â/P5É÷°Bã.Ì…õ-¶Wøò§D,…®ð¤‘«*œÖð?Ãç*{jšïÚö"*à; ïv(^+EÐñ a-oGô8(/+Ò'ônÄ).¨!vôÙzâ.:ªòBÏ,~SsòO%- +ySòf$òf$ó$ó$ïv(^+EÐïÚö"*à; ð?Ãç*{jšð¤‘«*œÖ'(™Bí΄%«"/ëî™`# +öOëjè¯#A•êç7ý#x1>êc‡L#®Í_ëTU&ƒ*íKä½)·Òí°²‚(µê î<Øb(xgìÒ%á¾Pì&Lu ó$ó$õ˜#õ˜#êc‡L#®Í_êç7ý#x1>ëjè¯#A•ëî™`# +öOëcØ!ºýÇêùx‚ ]O‚ê²ÇÛø‚6ê)©,ÐGé˜ZÍ04Wé<K‚gé[es ËëIéÍ "DÔèêPËÑ"8ÇêßS'!ñ™èêsÑ †EñéáÍ# ¢ôÚõ˜#õ˜#ö¡#ö¡#é<K‚gé˜ZÍ04Wê)©,ÐGê²ÇÛø‚6êl5“²>êH;ç'À‘êHq»>Œé¹yûA8é*ç¼»A8èœUµ»Cå蜀zC4èÃLjéNíϽq'éà<.¡Zœé¹©à'Ã=é+ (C1aö¡#ö¡#ö¤#ö¤#ÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ/äuõÿÿÿÿ.ÇT”þ®ì.Çlý^î=.¥úÏü¹Ú.dÀ,ûè˜Ý/j £ûÌ7y/ûìVû¼U0N—ý'ŒM0Nü‘þ“{N0rÒ†þ“{N0rÒ†þ®ì/ä5ÎýH`k/·zeý,Ià0HËpñZ$ñZ$ñ]$ñ]$û¼U0N—ûÌ7y/ûìVûè˜Ý/j £ü¹Ú.dÀ,úÌ…w.#ˆ6ùŠ9-Â/:øTF-As÷ùÕM.0ã÷Ã9,.³ÃA÷°Bã.Ì…ù@Ä/Xóú]ì\/Áñúl%/¯ ;úˆÖ¨/Æáù/Ó@.°ÎÇù7 /?Vñ]$ñ]$òf$òf$÷°Bã.Ì…÷Ã9,.³ÃA÷ùÕM.0ãøTF-Asõèþ,@Ûó®¹'*ÃÁ˜ñÓR(è./ñ&æÝ)”G¤ðÂ)ùh𤑫*œÖò§D,…®õ-¶Wøõ# L-“võÄ-/zªó¥ +oÛ òÅ$±+ûþAòf$òf$ó$ó$𤑫*œÖðÂ)ùhñ&æÝ)”G¤ñÓR(è./ï÷b7' xîzH²$Ó0ˆíy«u"g!ìì‹”"Ácåì]ã"øëî™`# +öOí΄%«"/'(™Bî¿(<'öÕïKN'¸‘{í‹«Ò%-oÕí“%˜):ó$ó$õ˜#õ˜#ëî™`# +öOì]ã"øì‹”"Ácåíy«u"g!ììøì‘!1#úì—éî¶hìVSš¥YëPs#Ò£ê¿*ïeê²ÇÛø‚6êùx‚ ]O‚ëcØ!ºýÇë{È[!¨Ñì +O±!‹eóëR= 2gãë  OËõ˜#õ˜#ö¡#ö¡#ê²ÇÛø‚6ê¿*ïeëPs#Ò£ìVSš¥YìK\Jõëóü­ OÀëó·-»;àêÖ˜x»>ŒêHq»>ŒêHq»>ŒêH;ç'À‘êl5“²>êrEªŽô«ë™arÞ êÖØ  RmêH;ç'À‘ö¡#ö¡#ö¤#ö¤#åDô=»KéæbK»I=æð¤ù»F‘æð¤ù»F‘æð¤ù»!%æð¤ùºù æð¤ùºÐóæð¤ùºÐóæbKºÐóåDô=ºÎGåDô=ºù åDô=»!%æbK»xæð¤ù»!%æð¤ùºù æbKºû¸ö¤#ö¤#ö¤#ö¤#æð¤ù»F‘ç7»F‘è É»CåèœUµ»CåèœUµ»xèœUµºû¸èœUµºÖLè ɺӠç7ºÓ æð¤ùºÐóæð¤ùºù æð¤ù»!%ç7»xè É»!%è ɺù ç7ºû¸ö¤#ö¤#ö¤#ö¤#èœUµ»Cåé*ç¼»A8é¹yûA8êHq»>ŒêHq»xêHqºû¸êHqºØøé¹yÃºØøé*缺ÖLèœUµºÖLèœUµºû¸èœUµ»xé*ç¼»xé¹yûxé¹yúû¸é*缺û¸ö¤#ö¤#ö¤#ö¤#êHq»>ŒêHq»>ŒêÖ˜x»>Œëó·-»;àëó·-»Ìëó·-ºû¸ëó·-ºÞQêÖ˜xºÛ¥êHqºØøêHqºØøêHqºû¸êHq»xêHq»xêÖ˜x»xêÖ˜xºû¸êHqºû¸ö¤#ö¤#ö¤#ö¤#åDô=ºÎGæbKºÐóæð¤ùºÐóæð¤ùºÐóæð¿´uRç²s™cçk°^×—˜ç_NÎsæÍÿ¾±¸cåÈ$ „”»åqC<2åDþîüÖæb"üü‚æð¿´uRçßånÛÐæ‚‘†R™ö¤#ö¤#ö§#ö§#åÈ$ „”»æÍÿ¾±¸cç_NÎsçk°^×—˜ç½M ;“!è77¿§k|èØu7#xoè¿°µ‚&è<ÙæçMh{¡_æ¡O”[æ9üÌúçsO«‚窶ý-]èmä”u2çëçwÖSö§#ö§#÷°#÷°#çMh{¡_è<Ùæè¿°µ‚&èØu7#xoêÚ&³ëö#T TA#îG¿ ¢»î*7£åMíÅiÞ€M‰íPjÔ4ê aë +Mçè¤eP C%¸é’üØ g±ê¤iëØ›ç 6¹¶ëL{_ +ù9\÷°#÷°#ùÉ"ùÉ"íPjÔ4íÅiÞ€M‰î*7£åMîG¿ ¢»ð™e~±ó`9 ÔË.öhŸu“nDöU©,z©Áö öùõÄÐk\/òˆOk_Qï’DB[Mšð>]¶dbð{Þ“ŠBóMBļ¬ò⌠MíàùÉ"ùÉ"ûâ!ûâ!õÄÐk\/ö öùöU©,z©ÁöhŸu“nD÷ì—Ûò. ù€¿€xKqûÁK&±pûF&O/úöäÉ}úÉÃÆƒ%²ù&fÚ5µ÷bÃf\H÷½_JâH÷Ù¡’Ùižùr†Êe¸ùUÚÔqµûâ!ûâ!üë!üë!úÉÃÆƒ%²úöäÉ}ûF&O/ûÁK&±pü¸ÃÕpþ\Ÿ«ÈËÿÿÿÿ«°¼ÿÿÿÿ«°¼ÿÿÿÿ!bÿÿÿÿþA3 +±üa&,®ü—îø=•Dü´ƒÎæOþ\Ÿ«ÈËþA3)füë!üë!üî!üî!æð¤ùºÐóç7ºÓ è ɺӠèœUµºÖL蜀z2æ#èÃÇ««é<*—Éè†mG çôÏòå©çk°^×—˜ç²s™cæð¿´uRçQ»uRè îs2ãwè7=XLç¥éa?ö¤#ö¤#ö§#ö§#çk°^×—˜çôÏòå©è†mG é<*—Éé[esª.èéÍ 1EIêc‡LÇLÒéßÖš°±é\%éZèØu7#xoè77¿§k|ç½M ;“!èC´¼d‰èÔýÂ8yéIjnú©(èºèqÞ +Iö§#ö§#÷°#÷°#èØu7#xoé\%éZéßÖš°±êc‡LÇLÒëTUóZíKä½ [_³ïv(^ +1µïZ™ Ì@ðî¬ŒÕ gpîG¿ ¢»ëö#T TA#êÚ&³êŠØQ³€ë £¤¼j9ìçù ö‘îìZñ ¹è÷°#÷°#ùÉ"ùÉ"îG¿ ¢»î¬ŒÕ gpïZ™ Ì@ðïv(^ +1µñ aÐmô8(JH ÷ sØ€YöÕ×·šÏ§öŸ;–ööhŸu“nDó`9 ÔË.ð™e~±ðþ3Bßtñ;³œ¢¨ô‹çÆ—Xó–Õ.X{àùÉ"ùÉ"ûâ!ûâ!öhŸu“nDöŸ;–ööÕ×·šÏ§÷ sØ€YøvlOˆÙùïX›cØûo¾ÐÊ?ÛûTslAû8¯ÒÌûÁK&±pù€¿€xKq÷ì—Ûò. ø#3üuá~ø?Ð.f'ùÆ_ù{ù©³Cþ³!ûâ!ûâ!üë!üë!ûÁK&±pû8¯ÒÌûTslAûo¾ÐÊ?Ûüð*^~2þxÖW†åÿÿÿÿWaxÿÿÿÿÈÒÿÿÿÿ:BÃÿÿÿÿ«°¼þ\Ÿ«ÈËü¸ÃÕpüÆkt`ïËüâÿò@ÖþxÖÈ÷Šþ\Ÿ:X%üë!üë!üî!üî!èœUµºÖLé*缺ÖLé¹yÃºØøêHqºØøêH;çNVóêl5âgóê²ÇÛ}—úê)©,bIêé˜ZÍEåÚé<*—ÉèÃÇ««èœ€z2æ#é+ (2æ#鹩àNVóéà<.Ô¿•éNíϸ¦]ö¤#ö¤#ö§#ö§#é<*—Éé˜ZÍEåÚê)©,bIêê²ÇÛ}—úêùx‚ÈëcØ»jëî™`k!5ëjè¯4…êç7ýýèóêc‡LÇLÒéÍ 1EIé[esª.èéáÍ#Ó%WêsÑïÔ?êßS'„€IêPËÑgájö§#ö§#÷°#÷°#êc‡LÇLÒêç7ýýèóëjè¯4…ëî™`k!5í΄Êø' b€î𤑫 _}[ð?Ãç +ú¬êïÚö" +•ß&ïv(^ +1µíKä½ [_³ëTUóZì)¢{ìÒ”[àî<Øb ý°~í°²‚ À0#÷°#÷°#ùÉ"ùÉ"ïv(^ +1µïÚö" +•ß&ð?Ãç +ú¬ê𤑫 _}[ò§D \”ƒõ¿Â8÷°Bã©’m÷y¦Â%á¼÷C +¡¢1 +÷ sØ€Yô8(JH ñ aÐmòO%k ÞòBÏ÷ÄôÙzâ<‡ônÄ)Íø»ùÉ"ùÉ"ûâ!ûâ!÷ sØ€Y÷C +¡¢1 +÷y¦Â%á¼÷°Bã©’mù@Äÿ’ú]ì\´y“û¼UmËšû§pñäª=û‹ +4S^‹ûo¾ÐÊ?ÛùïX›cØøvlOˆÙø­p Ê7øÉ¤£šNàú4øš.ãúL]œË‰ûâ!ûâ!üë!üë!ûo¾ÐÊ?Ûû‹ +4S^‹û§pñäª=û¼UmËšý'ŒM' þ“{NDþÿÿÿÿ4ÿÿÿÿt‚ÚÿÿÿÿåóÿÿÿÿWaxþxÖW†åüð*^~2üýÍd ñýãï›EDþ“{Ntµ¤þxÖæ?üë!üë!üî!üî!êHqºØøêHqºØøêÖ˜xºÛ¥ëó·-ºÞQëóü­iÊpìKÏ;ìVSšИ,ëPs#£w/ê¿*‡ê²ÇÛ}—úêl5âgóêH;çNVóêH;çNVóêÖØ iÇÄë™a<êrEªç%…ö¤#ö¤#ö§#ö§#ê²ÇÛ}—úê¿*‡ëPs#£w/ìVSšИ,ì—é‡cÈìøì‘Dó‹íy«uõ˜ì‹”´¶Kì]ã~*ëî™`k!5ëcØ»jêùx‚Èë 'eëR=C²Nì +O±ê´>ë{È[Î_ö§#ö§#÷°#÷°#ëî™`k!5ì]ã~*ì‹”´¶Kíy«uõ˜îzH²¢é©ï÷b7iŸ~ñÓR éUñ&æÝ áÒð }𤑫 _}[' b€îí΄Êøí“Ýð÷í‹«ÒH§°ïKN ½ˆ¶î¿(< €¯÷°#÷°#ùÉ"ùÉ"𤑫 _}[ð }ñ&æÝ áÒñÓR éUó®¹' +²Uìõèþ 5>stream +ñ2q ñ2q Ò† ñ2q ;Ëêñ2q ;ËêòøÜ–< ô¡©•b£ö ü$’¸ö!È*âýöG¯°­£ö†Yzýöôñ}aŸYó!nX/_ó!nXÒ¹ñòøÜ–< ô®Ð@ƒ²çô²Ò—V_ñZ$ñZ$óy$óy$ö†YzýööG¯°­£ö!È*âýö ü$’¸÷‰+в’ÙøÅôyÛÇùÎ/µPd¾ùâÑg:$ú%¥®èÍ»ú–¨—\d0ùvš'rIçøì™ù÷ÞA›KÐÿ÷–R¸ ß+øÚ•Éc›™ù›1þ·dóy$óy$ô#ô#ú–¨—\d0ú%¥®èÍ»ùâÑg:$ùÎ/µPd¾úQzúÇÍ#.9û1 ˆ¡vûGЋŠÝû•“DYuü?ÝË=û¦Ý N$jû%f3ÓnŽú´cJ_Øúe§“§dKúݶy’ û!¶ÁÆø°ô#ô#õ”#õ”#ü?ÝË=û•“DYuûGЋŠÝû1 ˆ¡vûLeQ½€ ûdåÓÛj±û~#Ðø +û”$ÕâáBûä¶žNëüm·r*N4üR= µü7hꇅû²B7c_½ûbR™§öûzêËÆ>ÕûȆX mõ”#õ”#õ•#õ•#üm·r*N4ûä¶žNëû”$ÕâáBû~#Ðø +ûŠN{ðû—×û£\ù#jû¹añ)Åü +Z Êæ÷ü–AOYN üˆÓI»ü{Q:ûñš^®8û ¢FñTû­ ùÿæ_ûüëÍ»Tõ•#õ•#õ–#õ–#ü–AOYN ü +Z Êæ÷û¹añ)Åû£\ù#jû¯Ò„1F!ûºàØ@v`ûÆ”öNøîûÜ™î:?Œü.¢gøLGü¼¶D‰*ü¯ñÆyIü£Ï hÉLüçÙÚb6ûÅ×|U|ûÐåÐ+Àðü!áÛèz0õ–#õ–#õ–#õ–#ü¼¶D‰*ü.¢gøLGûÜ™î:?ŒûÆ”öNøîûÝš„lLþûô\ö‰FDü +Ôh¥ä¾ü Å£‘±“ütßRaQý¿çðüîœ=ȶmüÕÌÇ©#üG¼ÜK@ûóŸ|W“œü +J?uü\^3#Åõ–#õ–#õ˜#õ˜#ý¿çðütßRaQü Å£‘±“ü +Ôh¥ä¾ü ͈ÂéÛü5cà ›üIÙ©ýrgü_£kéÍXüµ¦U­'ýKâgGbÈý5Gn'ñëý%”5üŒÑwr€ü6¾Ã®²¾üJâ$ÌûŒüŸj«Jõ˜#õ˜#õ™#õ™#ýKâgGbÈüµ¦U­'ü_£kéÍXüIÙ©ýrgüt¤6—­ü˜&ÙqÑÜü¼Êª€¶üÒ ™˜rý+„±`¤dýÉ;G+~ý¡_ÆFgýyÙÅ…Ê$üã³냃ü‰ãs"òžü­jd_h˜ý¨„"Ã@õ™#õ™#õ›#õ›#ýÉ;G+~ý+„±`¤düÒ ™˜rü¼Êª€¶üÏŠÆ‘üß8­äÇüïßîX3ýÀÉý_Ê’¹Ä±þýHaÌsýî× BáÍýÝ•ì"Öüý?ãHSÕüäɵ´+ÄüôzÒI&ýM¨\šÚ +õ›#õ›#õœ#õœ#þýHaÌsý_Ê’¹Ä±ýÀÉüïßîX3ý8;×ý]88÷Cý FÿT´½ý4½ECªÌý‘6+fþ5¹•½âªþ$d¤Ÿ™ÜþЊ€êkýqÔØÞ¶ý  yý$Ó'ñEýá:ó!;õœ#õœ#ö#ö#þ5¹•½âªý‘6+fý4½ECªÌý FÿT´½ý=Tª¤ýZ˜GÄ“‰ýt£ˆûËýˆFë‚Ýýç!e¾Lìþ‘ÏËslþuh”7ò»þU‘ûûý± ªO~ýQÊG|¤¦ýn +µýʺ.‚Ó”ö#ö#öž#öž#þ‘ÏËslýç!e¾LìýˆFë‚Ýýt£ˆûËý œý_@ 1·¢ý™z Ll¡ý¬U¾ =Ÿþ …û ÜÆþº¨Ì-¢þ¬×°¯ðþŸmf‘qÅýô¿ÜRžý”ŠÑ  ý :ý "æ!ýÿOõ¸öž#öž#öŸ#öŸ#þº¨Ì-¢þ …û ÜÆý¬U¾ =Ÿý™z Ll¡ý¥=ê gIý² + ,áý¼A ›ÙúýÎB& Éæþ/~Ï ewLþߺK "â.þÔÓq ÍGþÆêÖéyÌþb( 0(ñý¸§ Xw˜ýÄWï sÌþ$—õ HbeöŸ#öŸ#öŸ#öŸ#þߺK "â.þ/~Ï ewLýÎB& Éæý¼A ›ÙúýК) ÐÝVýåýI +´ý÷¼Ï +5øÏþ›S +)o†þk¥× +Ìôÿ ä? Ëüÿ ~X ”?âþöM_ \µ%þFã ŸJCýâÔ ÂÑ3ýö×Û ÷*ÑþX?ð ÎóÙöŸ#öŸ#ö #ö #ÿ ä? Ëüþk¥× +Ìôþ›S +)o†ý÷¼Ï +5øÏþ¾Ú +h€ þ2Ê +™Z+þ)« +È…pþ8x; +½{þ˜ +žU2ÿV¼Ä +kÙÿEæ$ +7sÃÿ3¨M +52þ~iå +<é*þ_ +[÷Wþ(–Z +ŽOÉþŒ+ +j±)ö #ö #ö¡#ö¡#ÿV¼Ä +kÙþ˜ +žU2þ8x; +½{þ)« +È…pþ6²F +øfJþCÍœ &ùþPr† S~þ^Ge In-þÄ© .êÿ¾8 @·ÿsñ? +Ѻÿeš +ŸUÇþ«âò +Ò— þFã +í[éþQ¢{ ù¨þ¶;° +ýûEö¡#ö¡#ö¢#ö¢#ÿ¾8 @·þÄ© .êþ^Ge In-þPr† S~þW'« i&þ[Çè V|þ`æv ”ôÑþmî ŒþÔ1˜ s'þÿ“¸õ J7ÿŽ  2Ÿãÿˆý† jaþËKê F«”þdüŠ _ŽÆþhÏ‚ vt¿þΜž [bö¢#ö¢#ö¢#ö¢#ÿ“¸õ J7þÔ1˜ s'þþmî Œþ`æv ”ôÑþeåp ª› þjÌ» ¿Ò¿þoœV Ô›ëþ{Ò¹ Ìcíþ⌭ µj7ÿ£Ê4 ®ÉÿžŒ yÿ™.[ a×þÙªñ ŠÇþrí + ¡¹Pþw ·šÁþÝN‹ ž»ö¢#ö¢#ö£#ö£#ÿ£Ê4 ®Éþ⌭ µj7þ{Ò¹ ÌcíþoœV Ô›ëþt` éeþy; ý¿¼þ}œ  «Ùþ‰¾ +˜þð&V õ†ÿ²þf ÒW¤ÿ®Q ¼™ºÿ¨ôš ¦aqþç» Ìßþ€–| á-þ„uL ö1{þë/A ßCœö£#ö£#ö£#ö£#ÿ²þf ÒW¤þð&V õ†þ‰¾ +˜þ}œ  «Ùþ <½ÿÆG \uþ™°ò lC(þž¤ ’1æÿ'[  (ö£#ö£#ö£#ö£#ÿÓú ‹bÿ èW ¥9þ¤ÞÚ µ.®þ›Õ¤ ºç/þ¤Úç [þ­°Ì @»)þ³iM y>—þ¹x§ u— ÿ"?Ÿ keÆÿíºC Z¢ãÿç} çÿÝ÷ö רÿæK ò=þ­à* û¢›þ³À& =ÿÙ -ÃÊö£#ö£#ö¤#ö¤#ÿíºC Z¢ãÿ"?Ÿ keÆþ¹x§ u— þ³iM y>—þ·º— ±á™þ»}Å ãp¹þ¾¶Ê ëøþÂ>Á âçÿ+\‘&sÿú G ü¾€ÿöˆB ÎlWÿòjI ˜dtÿ&ï¦ ©'Vþ½Åþ ®: þ¿½ ág©ÿ'Ôš ר=ö¤#ö¤#ö¤#ö¤#ÿú G ü¾€ÿ+\‘&sþÂ>Á âçþ¾¶Ê ëøþÁ—8k(þÁ*o[ê4þÂ'xE“þÃÁ›w` ÿ,ÿtÑYÿýÛMp£–ÿüÎßQ¸ïÿü§f+œÿ-÷°4|ŽþĦ6bþÂÄø[Nÿ+ò’Uê¥ö¤#ö¤#ö¤#ö¤#ÿýÛMp£–ÿ,ÿtÑYþÃÁ›w` þÂ'xE“þÆe±7þÄ4Íc‰þÄ4Íc‰þÄ4Íc‰ÿ-y_Í_—ÿÿÿÿÍ_—ÿÿÿÿÍ_—ÿÿJj®tðÿ.j*²¦¦þÅ î°QþÄ4Íc‰ÿ-y_Í_—ö¤#ö¤#ö¤#ö¤#ñ2q ;Ëêñ2q ¥3ñ2q RŠñ2q w—ÔòÐJÔwæÇôQÕÉ%íõ¢ìpK2ÆõÈÓIèýlõîº#†Èö ü$’¸ô¡©•b£òøÜ–< òøÜ–¥P\òÐJÔ¡}ôw¿âfô…ô{Â9÷—ýñZ$ñZ$óy$óy$ö ü$’¸õîº#†ÈõÈÓIèýlõ¢ìpK2ÆöõkÌ ¹øJm¨ù¶ÒDeLùH‡'ójù‹[n¡»”ùÎ/µPd¾øÅôyÛÇ÷‰+в’Ù÷cD°È3÷QÛiÖ_øXh0ÒøƒÐË2óy$óy$ô#ô#ùÎ/µPd¾ù‹[n¡»”ùH‡'ójù¶ÒDeLù|©§Úeùè¹HúI3v¥½ú–Œõ/xGúäÅèFÞû1 ˆ¡vúÇÍ#.9úQzú1™ûOù¿qðV‡‚ú6E +Æè“úzA`uN¢ô#ô#õ”#õ”#û1 ˆ¡vúäÅèFÞú–Œõ/xGúI3v¥½úafyºúw’…«ÄºúŽ-ÅÈúÞl1Ìû.Gï<Ÿuû~#Ðø +ûdåÓÛj±ûLeQ½€ úþݲú®íãILDúÇnfg.pû òýõ”#õ”#õ•#õ•#û~#Ðø +û.Gï<ŸuúÞl1ÌúŽ-ÅÈú™ítÒç_ú¥6ýßòëú°t°ìê»ûlÈ©£úûRdàfa+û£\ù#jû—×ûŠN{ðû:ÁmKGúéÉUŽQúö/œ¬*ûFéXÓõ•#õ•#õ–#õ–#û£\ù#jûRdàfa+ûlÈ©£úú°t°ìê»ú»ÑöùÆèúÅÏ꣬úÐs©Ò¿û"€ÒßzûtˆŒì4ûÆ”öNøîûºàØ@v`û¯Ò„1F!û^ÚltŒâû ʶ€(ûØbŰfûhÔm‚i¥õ–#õ–#õ–#õ–#ûÆ”öNøîûtˆŒì4û"€ÒßzúÐs©Ò¿úåhA/{æúú°IÖûcÝiûb¥$‰5û¶¾íå8óü +Ôh¥ä¾ûô\ö‰FDûÝš„lLþû‹’ ®@Dû7t«툡ûN3+ +æû CˆÈ–…õ–#õ–#õ˜#õ˜#ü +Ôh¥ä¾û¶¾íå8óûb¥$‰5ûcÝiû"‹ë~?‚û4íI™S>ûGÐ쳂ûÓÖvÐÖûóÖÀ:#˜üIÙ©ýrgü5cà ›ü ͈ÂéÛû̸ :ûv¥Y>ëNûŠð3\¢ûßyQÌõ˜#õ˜#õ™#õ™#üIÙ©ýrgûóÖÀ:#˜ûÓÖvÐÖûGÐ쳂ûn]çe7ûŽòŠ]Pû°X»PÕíü ÓÒbßücNêáïÑü¼Êª€¶ü˜&ÙqÑÜüt¤6—­üºsDëûÄ`zª´ûèm¡åêCü>«Á©@÷õ™#õ™#õ›#õ›#ü¼Êª€¶ücNêáïÑü ÓÒbßû°X»PÕíûÁz[jO ûÏž,…#³ûÞ“žàü9Ì\jü”Ö%50#üïßîX3üß8­äÇüÏŠÆ‘üvþ#üõr2Üü*§õPGÑü„.äܨõ›#õ›#õœ#õœ#üïßîX3ü”Ö%50#ü9Ì\jûÞ“žàûí£ß¸Ç»ûüUÌÒT«ü +Ðuë†ÏügMN¹>'üÃÊ&†ùrý FÿT´½ý]88÷Cý8;×ü¥.sQ²üüH­¨ƒïÌüXÒ¤  ü³à`k;ùõœ#õœ#ö#ö#ý FÿT´½üÃÊ&†ùrügMN¹>'ü +Ðuë†Ïü%í ^)ü?Ëë Q8JüWwD ‚¿…ü¶ƒd U…¡ý“v (K½ýt£ˆûËýZ˜GÄ“‰ý=Tª¤üà×(¿óLü“ÅísüžØ $XüûŒ'ñÍmö#ö#öž#öž#ýt£ˆûËý“v (K½ü¶ƒd U…¡üWwD ‚¿…übÄÀ ›ÂKümêà ´fTüxáh ̯“üÙ– ¡íGý9EÒ w.íý™z Ll¡ý_@ 1·¢ý œý"  CÑóüÁÔÒ nˆgüÎÿ ‰§ûý-/ \uüöž#öž#öŸ#öŸ#ý™z Ll¡ý9EÒ w.íüÙ– ¡íGüxáh ̯“üƒ”ñ åsüh¤ üŒ{ü˜RE +Õ¹üùŽî ìƒ ýZ˘ Ä,”ý¼A ›Ùúý² + ,áý¥=ê gIýE ® ’süãÅ- ºVüð¥M Ô9áýPáa ©zöŸ#öŸ#öŸ#öŸ#ý¼A ›ÙúýZ˘ Ä,”üùŽî ìƒ ü˜RE +Õ¹üªæô +E yü¾xG +s(QüΑl + Ø¡ý1Ÿâ +}6ý”®X +Y—oý÷¼Ï +5øÏýåýI +´ýК) ÐÝVýo]€ ù/ïý #ž +¶àý!†½ +O‰±ý‚îÓ +'R¹öŸ#öŸ#ö #ö #ý÷¼Ï +5øÏý”®X +Y—oý1Ÿâ +}6üΑl + Ø¡üÞ¸ +ÎÀ5üìýÁ +û ýüûl“ %÷ý_ùð Ñ)ýćN +ç«Lþ)« +È…pþ2Ê +™Z+þ¾Ú +h€ ý¥°d +Œ#2ýA/ +«!•ýQ‹ +Ûû ý´¥l +¸€ö #ö #ö¡#ö¡#þ)« +È…pýćN +ç«Lý_ùð Ñ)üûl“ %÷ýÆ| QvÍý­ì {gâý&Õ £ÊEý„ì ˆÞýê­P mñÀþPr† S~þCÍœ &ùþ6²F +øfJýÒ$è Œ'ýlSÚ 2Pðýys# `{ŸýÞ X A}<ö¡#ö¡#ö¢#ö¢#þPr† S~ýê­P mñÀý„ì ˆÞý&Õ £ÊEý%QÐ ·ÝÜý)oÉ Ìý.ø ß¶ý”[s ÆÊÿýúžû ­ßèþ`æv ”ôÑþ[Çè V|þW'« i&ýñfg „Zý‹ œñšý·D ³%ðýõ„` ˜A“ö¢#ö¢#ö¢#ö¢#þ`æv ”ôÑýúžû ­ßèý”[s ÆÊÿý.ø ß¶ý2œ… ó_ý7V ¥jý;j… ‰ ý¢$z WþÞn ë•¡þoœV Ô›ëþjÌ» ¿Ò¿þeåp ª› ýÿ¡è Æ#ý˜ä ÚtýËK ï«´þÆ ÖÌuö¢#ö¢#ö£#ö£#þoœV Ô›ëþÞn ë•¡ý¢$z Wý;j… ‰ ý?Ǧ ,h½ýD  >å½ýH6è Püý¯W ;ãüþx &Çêþ}œ  «Ùþy; ý¿¼þt` éeþ ¦% ^Íý¦› oý«-¯ )É«þç¤ ÛÍö£#ö£#ö£#ö£#þ}œ  «Ùþx &Çêý¯W ;ãüýH6è PüýK{Å cEÊýN°× u(ÖýQÎ: †¥Aý¹I› sSþ Äý `íþˆ—þ­°Ì @»)þ¤Úç [þ<Íw P»ýÓÇW è ýÜ¥ Z@4þDéÔ Jðaö£#ö£#ö¤#ö¤#þ³iM y>—þJ¦H ƒoÜýáßP ¥ýyK —ÖXý}ò Ë^¾ý€sH øq)ýƒe?oýì\ûþUœì¤yþ¾¶Ê ëøþ»}Å ãp¹þ·º— ±á™þNóŸ ¼ÞýåÉø Á)‡ýé‘ ò¸§þR_õ é);ö¤#ö¤#ö¤#ö¤#þ¾¶Ê ëøþUœì¤yýì\ûýƒe?oý…•ÉEŨý……ÿfyý†rØë„ýï°<}`/þXé®zÐèþÂ'xE“þÁ*o[ê4þÁ—8k(þXÇ>'ý@ &ýîÃcc$þWí ^u‰ö¤#ö¤#ö¤#ö¤#þÂ'xE“þXé®zÐèýï°<}`/ý†rØë„ý‡Â`³“ýˆh+Íg|ýˆh+Íg|ýñ­uÍc‰þZîÌÍc‰þÄ4Íc‰þÄ4Íc‰þÆe±7þZI³ŒýðûÒ±*ýñ­uÍc‰þZîÌÍc‰ö¤#ö¤#ö¤#ö¤#ñ2q w—Ôñ2q àÝñ2q Jtñ2q ³c½ò§¹³Â{ô üí)õ13òqÎâõWË™ˆõ}—­d.õ¢ìpK2ÆôQÕÉ%íòÐJÔwæÇòÐJÔá,ò§¹J}1ô'ëæš·Ïô+î=+[GñZ$ñZ$óy$óy$õ¢ìpK2Æõ}—­d.õWË™ˆõ13òqÎâöaªz倦÷d ˆÿ‰ø==ð8iÍø€7çøøÂâ‹•¼"ù¶ÒDeLøJm¨öõkÌ ¹öÏ„).=!ö‡•FƒO?÷§tX7¨³÷ÒuÍÒÄ~óy$óy$ô#ô#ù¶ÒDeLøÂâ‹•¼"ø€7çøø==ð8iÍø¨=W’Cù ©_îÊù`aÞL9öù­í¡ùûup½×%úI3v¥½ùè¹Hù|©§Úeù9ÍUù1;øë «@½mùW1/¦ábù›-…UGqô#ô#õ”#õ”#úI3v¥½ùûup½×%ù­í¡ù`aÞL9öùvbãcrÔùŠ?6|Âùžø˜“‡ùîÔyNð¶ú>°Z +^_úŽ-ÅÈúw’…«ÄºúafyºúÚQ׫"ùÃê³E^ùÚ7Œkú'¶¤ð[õ”#õ”#õ•#õ•#úŽ-ÅÈú>°Z +^_ùîÔyNð¶ùžø˜“‡ù©9§ŸRÎù³jì«Ñù½Œg¶·ú„stJú_|—0-‰ú°t°ìê»ú¥6ýßòëú™ítÒç_úJ“y¶ùùˆZ¼„úcgÈúT>å#5¹õ•#õ•#õ–#õ–#ú°t°ìê»ú_|—0-‰ú„stJù½Œg¶·ùÇÕ[ÂC½ùл ÎÐøùÚR[Ú°ƒú,^Ƙ½=ú~k0VÉøúÐs©Ò¿úÅÏ꣬ú»ÑöùÆèújÙÞ= ·úÍsïú"ÇtŒÝ³úsÃI–òõ–#õ–#õ–#õ–#úÐs©Ò¿ú~k0VÉøú,^Ƙ½=ùÚR[Ú°ƒùí5ýò®ÁùÿÞi +eñúKŸ!Ò!úfaâßúºzˆ£-«ûcÝiúú°IÖúåhA/{æú“[Öqsú?>v°»{úSóå˯ú¦B‰*Oõ–#õ–#õ˜#õ˜#ûcÝiúºzˆ£-«úfaâßúKŸ!Ò!ú$JN9‘6ú4¾>RáúEÈ.i‘¥ú›Ë,àuúñÎð37ûGÐ쳂û4íI™S>û"‹ë~?‚úÎvp½Äúxc¼ú@õúŠÁ(T°úÞê`Öoõ˜#õ˜#õ™#õ™#ûGÐ쳂úñÎð37ú›Ë,àuúEÈ.i‘¥úh|˜2Áú…ºIÈèÅú£çu÷'1úýbŒ¿¸ûVݤˆEû°X»PÕíûŽòŠ]Pûn]çe7ûZ¦$uú¾ f[‘úß5`‘u·û5wsTÌlõ™#õ™#õ›#õ›#û°X»PÕíûVݤˆEúýbŒ¿¸ú£çu÷'1ú³nŒ  8ú¿ÿ¹ &B¬úÍ¡F =kÁû(« “Òûƒ´ØÓ·ðûÞ“žàûÏž,…#³ûÁz[jO ûgÿC¡¾;û é£Ö–*û ‚ñj½ût”c¹û¢õ›#õ›#õœ#õœ#ûÞ“žàûƒ´ØÓ·ðû(« “ÒúÍ¡F =kÁúÛ‚ T´júèN` k® úõ]ß ‚XâûQÚ· P:û®W Ë…ü +Ðuë†ÏûüUÌÒT«ûí£ß¸Ç»û’šퟪû6K Ü{ûDË8 9ijûŸØô ™`õœ#õœ#ö#ö#ü +Ðuë†Ïû®W Ë…ûQÚ· P:úõ]ß ‚Xâû ÙÙ ±®û$ûž ÝÝ +û:K + +eLû™W Ý/Zûøg2 ¯õvüWwD ‚¿…ü?Ëë Q8Jü%í ^)ûÈš Q¢ÞûiV± ~Éû„ ° °£&ûà»Ù ~r.ö#ö#öž#öž#üWwD ‚¿…ûøg2 ¯õvû™W Ý/Zû:K + +eLûDpn + è•ûNrT +7ûXLÁ +Lî’û¸€ï +",Fü±+ ÷mìüxáh ̯“ümêà ´fTübÄÀ ›ÂKü´® Èø<û£€€ ó®±û®¢ + V­ü ¶• ß$®öž#öž#öŸ#öŸ#üxáh ̯“ü±+ ÷mìû¸€ï +",FûXLÁ +Lî’ûaè +bßÍûl³= +wðûtœH +Í…ûÕØò +ezìü7› +=(Sü˜RE +Õ¹üh¤ üŒ{üƒ”ñ åsü#` +ÒÍûÂA +8!tûÍïæ +Onü.+ú +$ãöŸ#öŸ#öŸ#öŸ#ü˜RE +Õ¹ü7› +=(SûÕØò +ezìûtœH +Í…û…3¿ +¹5û–óE +â {û¥f ´üt +èáük‚ö +ÄwAüΑl + Ø¡ü¾xG +s(Qüªæô +E yüIªK +m\ûæph +ßûú» +¿Ûü[iÑ +–ÊãöŸ#öŸ#ö #ö #üΑl + Ø¡ük‚ö +ÄwAüt +èáû¥f ´û³R— 4ûÙûÀȸ \ãÝûÍÄz ƒhü2QØ dBÀü–ß5 Eãüûl“ %÷üìýÁ +û ýüÞ¸ +ÎÀ5üzúB +ò^Õüa ]9ü%V =¾üˆpc FÚö #ö #ö¡#ö¡#üûl“ %÷ü–ß5 Eãü2QØ dBÀûÍÄz ƒhûØÞ¥ ª‡OûãŽ< Ð>ÊûíÛ# ô üS Y Ù¢Êü¹e ¾¶ˆý&Õ £ÊEý­ì {gâýÆ| QvÍü£9 pœ©ü=l ‹arüISs µR‡ü­ì¨ –T$ö¡#ö¡#ö¢#ö¢#ý&Õ £ÊEü¹e ¾¶ˆüS Y Ù¢ÊûíÛ# ô ûóç ™“û÷œ Ç ûûAz *siüa… ˆRüÇÌ} ø;ý.ø ß¶ý)oÉ Ìý%QÐ ·ÝÜü¿Œ ÒÊüYA, ë­Pü]_$ ÿ܉üÃ,@ äø+ö¢#ö¢#ö¢#ö¢#ý.ø ß¶üÇÌ} ø;üa… ˆRûûAz *siûÿSš <#%üQÿ Mxü<¦ ^v.ümö› G|yüÔ° 0‚Ãý;j… ‰ ý7V ¥jý2œ… ó_üÌXý J/üe› #8 üj ó 6~`üÐWa Ÿ ö¢#ö¢#ö£#ö£#ý;j… ‰ üÔ° 0‚Ãümö› G|yü<¦ ^v.ü /3 olbü € ¾üÕ# POüyõº {4>üáQ f,ýH6è PüýD  >å½ý?Ǧ ,h½üÙ ± Cbsüqé' Xr¬üv.™ jï¬üÜì TÎö£#ö£#ö£#ö£#ýH6è PüüáQ f,üyõº {4>üÕ# POü¿5  Ä?ü™| °Ýdü` À—Ìü‚Ûi ­E¢üêRØ ™óxýQÎ: †¥AýN°× u(ÖýK{Å cEÊüä[- xaÛü|ßÌ ‹¨-ü€ë ‹:üç5u ˆwö£#ö£#ö£#ö£#ýQÎ: †¥AüêRØ ™óxü‚Ûi ­E¢ü` À—Ìü!Ì à ›ü&jh þNü+Œé ¬Öü“šY +·8üû£Ö ú½¨ýc±F êÈ +ý^œ ÊübýX ò ©žüð‘ ¼ìMüˆ€. ̺rüŽwØ î°üõ÷, Úõòö£#ö£#ö£#ö£#ýc±F êÈ +üû£Ö ú½¨ü“šY +·8ü+Œé ¬Öü2˜æ T`9ü:w ˆ+ºü>ËV ¶r ü§’N ¬<ÔýUS ¢ ýyK —ÖXýsâ dukýk¹æ *Ý«ý¬v :ÓIüš¦V Djšü¢Öo }úuý # n¦°ö£#ö£#ö¤#ö¤#ýyK —ÖXýUS ¢ ü§’N ¬<Ôü>ËV ¶r üBSM äÛäüEhË u‹üHÂ0Bôü±-’*ŠrýGo$Ññýƒe?oý€sH øq)ý}ò Ë^¾ý?ú Õü«E Ú¦¬ü®†›½ ýYk þ-ö¤#ö¤#ö¤#ö¤#ýƒe?oýGo$Ññü±-’*ŠrüHÂ0BôüJ úS 'üIáŽpHËüJ¾‡ü³ü…-ý5s‚vØý†rØë„ý……ÿfyý…•ÉEŨýwùK~)ü³&ØMc³ü³óm½wýHšh¦Íö¤#ö¤#ö¤#ö¤#ý†rØë„ý5s‚vØü³ü…-üJ¾‡üKþ\¶"ÆüLœBÍkoüLœBÍkoüµá‹Íg|ý"âÍg|ýˆh+Íg|ýˆh+Íg|ý‡Â`³“ý„ü¶Óüµ7ͳ“üµá‹Íg|ý"âÍg|ö¤#ö¤#ö¤#ö¤#ñ2q ³c½ñ2q ³c½ñ2q ©ñ2q ï/§ò'Oïž/ó²10°sô¿f˜jþôþ%êå³øõ$ ă~žõ13òqÎâô üí)ò§¹³Â{ò§¹³Â{ò'Oœóð×–}õzóôÝßœåñZ$ñZ$óy$óy$õ13òqÎâõ$ ă~žôþ%êå³øô¿f˜jþõÍíåþù†ö³ö‘i÷tÅ ,j[÷åÄŸüÞø(˜KN¦ ø==ð8iÍ÷d ˆÿ‰öaªz倦öTƒL÷4Uö ”iLB€÷$õ#ì÷OúlŸ;Äóy$óy$ô#ô#ø==ð8iÍø(˜KN¦ ÷åÄŸüÞ÷tÅ ,j[÷ÓÙ|J/ø*•„Î ™øw‰!Î/øüìÆ¨õ÷ùJt•aÄŽù`aÞL9öù ©_îÊø¨=W’Cø““¿¨PøDØ ïܲø¯¿ÀU7Tøó¼cô#ô#õ”#õ”#ù`aÞL9öùJt•aÄŽøüìÆ¨õ÷øw‰!Î/ø‹_³6kîøœçõL|¾ø¯döaA÷ù9²íE2ùˆ÷“¨®éùžø˜“‡ùŠ?6|ÂùvbãcrÔù`u›xýmù…ý½—©ù&ž²Ø|ùt:>‘Jžõ”#õ”#õ•#õ•#ùžø˜“‡ùˆ÷“¨®éù9²íE2ø¯döaA÷ø¸‰Ík¾=øÁžÚv*¸øÊ¤€‡iùVVîù§‡oË«°ù½Œg¶·ù³jì«Ñù©9§ŸRÎù“8¢´z·ùB<—÷½…ùMŠ‘Îùeô¿ÿwõ•#õ•#õ–#õ–#ù½Œg¶·ù§‡oË«°ùVVîøÊ¤€‡iøÓÔÍŠÀ’øÛª•þEøä5 ŽGùrHÝ1]*ùÄQVïiåùÚR[Ú°ƒùл ÎÐøùÇÕ[ÂC½ù±Ðc×8Uù_À+›ùi½ù&Í(ùººãŠZõ–#õ–#õ–#õ–#ùÚR[Ú°ƒùÄQVïiåùrHÝ1]*øä5 ŽGøõºµáœùŸ#ÊõÈùIßÊÌù¨Déu]sùü^W6 ?úKŸ!Ò!ùÿÞi +eñùí5ýò®Áù×1h#ùƒ¥F´rù—ÜÑ`ˆpùéí.õ–#õ–#õ˜#õ˜#úKŸ!Ò!ùü^W6 ?ù¨Déu]sùIßÊÌù&±ôæÝù42 +´‘ùC¿q ¡DùÙÿu¹ëØú0_}:§úEÈ.i‘¥ú4¾>Ráú$JN9‘6ú]MÈTù¸JQŠy…ùÊÓ)¤ÿ%úøoeªðõ˜#õ˜#õ™#õ™#úEÈ.i‘¥ú0_}:§ùÙÿu¹ëØùC¿q ¡Dùbá[ IKù|…ú tt:ù—v/ |iú5,Å AuúŽ§Ü ”gú£çu÷'1ú…ºIÈèÅúh|˜2ÁúRÛ «ÛÃùù!`ãFìú< ûTúp~£ÛR õ™#õ™#õ›#õ›#ú£çu÷'1úŽ§Ü ”gú5,Å Auù—v/ |iù¥^Ê ±ÃPù°aF Ça¦ù¼ƒì ÛóŽú]º• „6ú¸Ä^ O+GúÍ¡F =kÁú¿ÿ¹ &B¬ú³nŒ  8úž.ó r{úCS UJjúQ—ï oqMú«Þ 82õ›#õ›#õœ#õœ#úÍ¡F =kÁú¸Ä^ O+Gú]º• „6ù¼ƒì ÛóŽùÈ{& ð¥ ùÔFô + ‡ùßëH +*õú„n² ŧˆúàë‹ “bÓúõ]ß ‚XâúèN` k® úÛ‚ T´júÆ2š fsïúi­Ü ˜°ÀúxÎQ ±ˆúÓÜ |¼õœ#õœ#ö#ö#úõ]ß ‚Xâúàë‹ “bÓú„n² ŧˆùßëH +*õùôœÅ +BÅ2ú +/C +j}Øú½ +’úÇÍ# +G2û&Ý5 +ü,û:K + +eLû$ûž ÝÝ +û ÙÙ ±®úøg… žú™$" ïAÅú´Ý© + ñûÒ íoùö#ö#öž#öž#û:K + +eLû&Ý5 +ü,úÇÍ# +G2ú½ +’ú& +¦ßú.ý× +¹Ã¸ú7¸ +Í-‘úå@Ç +†~mûEtö +[ÀûXLÁ +Lî’ûNrT +7ûDpn + è•û1¢ +0{ƒúÐÎs +[1øú܆„ +s‡û;š‰ +Eæˆöž#öž#öŸ#öŸ#ûXLÁ +Lî’ûEtö +[Àúå@Ç +†~mú7¸ +Í-‘ú@; +à«'úIýÖ +óO¡úPê? ÅRû%º +Ä03ûbbd +›ÝšûtœH +Í…ûl³= +wðûaè +bßÍûO G +qµAúíÃÆ +™ÿöúú=D +°ºƒûZyX +†öŸ#öŸ#öŸ#öŸ#ûtœH +Í…ûbbd +›Ýšû%º +Ä03úPê? ÅRú_€Š -]Îúor5 R³ú|>™ v”Tû1} ;à\û”‹w A¼û¥f ´û–óE +â {û…3¿ +¹5ûrùÚ +ÇE±û¿ø +êȯû$° `»û†³ +ï)ÃöŸ#öŸ#ö #ö #û¥f ´û”‹w A¼û1} ;à\ú|>™ v”Túˆœu ›;oú”½ ¾¦½ú b àÚ3ûYÓ ­˜Úû¾`ê ŽrþûÍÄz ƒhûÀȸ \ãÝû³R— 4ûÙû¢t A‰û=ÚÝ `‡wûNFè ‹eeû±a6 gî>ö #ö #ö¡#ö¡#ûÍÄz ƒhû¾`ê ŽrþûYÓ ­˜Úú b àÚ3ú©òÜ “ßú³nŒ %²ú¼“c ESÔûzA ®ûàD þ"kûíÛ# ô ûãŽ< Ð>ÊûØÞ¥ ª‡OûÉw# µ¾ûcª ÐR†ûq ( øÐŒûÕ¹] ÙÒ)ö¡#ö¡#ö¢#ö¢#ûíÛ# ô ûàD þ"kûzA ®ú¼“c ESÔúÁª UQWúÄÃ} e~9úÈnû u0¼û‡îr LËV ¶r ü:w ˆ+ºü2˜æ T`9ü)° ZÕûÀ… c¨&ûË·w ›'ü3ü+ ‹Ëaö£#ö£#ö¤#ö¤#ü>ËV ¶r ü8¸ + º³ûÏñ ÄB÷û~S Õ ¿ûŸ© þY û +bA"yíû ºDAplûÛiú8†üDƒ×2LüHÂ0BôüEhË u‹üBSM äÛäü<@ è{‹ûÓZ íŽAûÙ +üAàÔz©ö¤#ö¤#ö¤#ö¤#üHÂ0BôüDƒ×2LûÛiú8†û ºDAplû€9`v´û=zzû +c3rûßæ°‹¼üI "ˆvhüJ¾‡üIáŽpHËüJ úS 'üFU%EûÝ/ïW +ÏûßkvH[üHCq1²ö¤#ö¤#ö¤#ö¤#üJ¾‡üI "ˆvhûßæ°‹¼û +c3rû:W¸®ûÐXÍoaûÐXÍoaûãVøÍkoüLœBÍkoüLœBÍkoüLœBÍkoüKþ\¶"ÆüJ_à·ºûá±´|eûãVøÍkoüLœBÍkoö¤#ö¤#ö¤#ö¤#ÿÿÿÿÍ_—ÿ-y_Í_—þÄ4Íc‰þÄ4Íc‰þÄ4Í+þÄ4ÍžÀþÄ4ͺbþÄ4ͺbÿ-y_;Tÿÿÿÿ;TÿÿÿÿÍžÀÿÿÿÿÍ+ÿ-y_̓þÄ4Í+þÄ4ÍžÀÿ-y_ÍšÍö¤#ö¤#ö¤#ö¤#þÄ4Íc‰þZîÌÍc‰ýñ­uÍc‰ýˆh+Íg|ýˆh+̓ýˆh+ÍšÍýˆh+Ͷoýñ­uͺbþZîÌͺbþÄ4ͺbþÄ4ÍžÀþÄ4Í+þZîÌ̓ýñ­uÍ+ýñ­uÍžÀþZîÌÍšÍö¤#ö¤#ö¤#ö¤#ýˆh+Íg|ý"âÍg|üµá‹Íg|üLœBÍkoüLœB̓üLœBÍšÍüLœBͲ|üµá‹Ͷoý"âͶoýˆh+Ͷoýˆh+ÍšÍýˆh+̓ý"â̓üµá‹̓üµá‹ÍšÍý"âÍšÍö¤#ö¤#ö¤#ö¤#üLœBÍkoüLœBÍkoûãVøÍkoûÐXÍoaûÐX̓ûÐXÍšÍûÐXÍ®ŠûãVøͲ|üLœBͲ|üLœBͲ|üLœBÍšÍüLœB̓üLœB̓ûãVø̓ûãVøÍšÍüLœBÍšÍö¤#ö¤#ö¤#ö¤#ÿÿÿÿ;Tÿ-y_;TþÄ4ͺbþÄ4ͺbþÄ(>°°ÿþ­È{”Zþ—s& þŠ»éz&2þö^Êÿ·_z°q0ÿ盼òçÿÿÿÿÄ÷çÿ-y_ÄóôþÄ(>°°ÿþ²\à—†lÿ§G¬G³ö¤#ö¤#ö§#ö§#ÿ·_z°q0þö^ÊþŠ»éz&2þ—s& þUa¶RE¿þ^¦-+Øý¼AÿCñýÎQð D;þ/Žš5–ÕþߺKx;½ÿ?k’õÿ‡#Õ£ïzþÎ]uqñÓþcó\Âþ%¨U;,"þŽåºPL&ö§#ö§#÷°#÷°#þߺKx;½þ/Žš5–ÕýÎQð D;ý¼AÿCñý õj£·>ü &$“ÐúʳBeðÂúà€ö{¾wû*ïVÆ,Öû©þaE?ÔýhUæÙÒþ!¹»C+äýqŠƒ ý C ±·ˆü!Ýè:]’ü‰YJgÊÇ÷°#÷°#ùÉ"ùÉ"û©þaE?Ôû*ïVÆ,Öúà€ö{¾wúʳBeðÂù‰R]§IÂøuË©+öcþ‹W5÷öqúãi¦öšM|ʼPöÜòezëôø§æ¼ïWúK˜_£¡ãùÌ…b$ŽåùŸ½vøv»tµøeA– ¿³ùÉ"ùÉ"ûâ!ûâ!öÜòezëôöšM|ʼPöqúãi¦öcþ‹W5÷õ‘‮ˆjô¶ügð‹zó×Ü´¼ãóÞÜÚ%á»óóÑr‘(/ô#æR…Kõ¦""M˜õ÷§¶Ú?!õµÎ*}õŸâÊÀÒôÁ|ŸþD¶ôÖ¨{i‡9ûâ!ûâ!üë!üë!ô#æR…KóóÑr‘(/óÞÜÚ%á»ó×Ü´¼ãòøÀôHêZòg§_Jñ2tü_Rñ2tü_Rñ2tüÈ—Kñ2tü›ëò)ªœ›ëó!¥œ‚¼ýóúi¸É&òüAM~¿òg§_Jò)ªœÈ—Küë!üë!üî!üî!þÄ4ͺbþZîÌͺbýñ­uͺbýˆh+ͶoýˆToœn +ýsùÊk¿ýKΪ5Úéý± ªJ/þX^úÇþ—s& þ­È{”ZþÄ(>°°ÿþZæç°°ÿýñ•Æœn +ýÛ9öu3bþFˆP‰ð·ö¤#ö¤#ö§#ö§#þ—s& þX^úÇý± ªJ/ýKΪ5Úéý#£Š˜üç§ïÇb®ü˜RE†H2üùŽî®šËýZ˘ÖñWý¼AÿCñþ^¦-+ØþUa¶RE¿ýò#á4Öý†á_ÕýHä˜ïµHý²!ýÙ>ö§#ö§#÷°#÷°#ý¼AÿCñýZ˘ÖñWüùŽî®šËü˜RE†H2ûú5 FŠû¼bIÜùëh#†¡±ú5ÖƒÑú€Dâ~púʳBeðÂü &$“Ðý õj£·>ü¬¸Á{d¥ü[mÃ,™$ûZ*e¬¸<ûÁ¥ÇÚ!~÷°#÷°#ùÉ"ùÉ"úʳBeðÂú€Dâ~pú5ÖƒÑùëh#†¡±øÇ \ªñ¡÷i•bÂõë¿3ûöYX”¼¥ö;«òõùNöcþ‹W5÷øuË©+ù‰R]§IÂù>ãþ\Ûbùz»õ`÷‘W±öŸl÷à#2Gî\ùÉ"ùÉ"ûâ!ûâ!öcþ‹W5÷ö;«òõùNöYX”¼¥õë¿3ûõ,I‚ѳôeVŸ¾É[󚕃æð‰ó®ÀÉL3|óõa·yðó×Ü´¼ãô¶ügð‹zõ‘‮ˆjõi“ÙMKÀõToâä\ôƒ“•"0ô˜¿qM¥ûâ!ûâ!üë!üë!ó×Ü´¼ãóõa·yðó®ÀÉL3|󚕃æð‰òÏØZ©ò(¤#r[ñ2q #†ñ2q ŒËañ2q ö ¸ñ2tü_Ròg§_JòøÀôHêZòî«Qáª.òÙíýv[Ôò(¤Œ·¤òg§öÓüë!üë!üî!üî!ýˆh+Ͷoý"âͶoüµá‹ͶoüLœBͲ|üL|­ˆ'"ü:''B5%üBøÅü{EC » üæª!¯£ýKΪ5ÚéýsùÊk¿ýˆToœn +ý%œjüµÁ÷ˆ+ü¡kELJÈý µ¬aö¤#ö¤#ö§#ö§#ýKΪ5Úéüæª!¯£ü{EC » üBøÅûñál®îWû»ñ8a™…ûtœH PfûÕØò5¢ÿü7›]õ™ü˜RE†H2üç§ïÇb®ý#£Š˜üÀeµâ[üUAÍ+Mü-á‰ìü†kFŸö§#ö§#÷°#÷°#ü˜RE†H2ü7›]õ™ûÕØò5¢ÿûtœH Pfúæp»dÑäúcäŸÿèù §R ùV‹dñÀÿù ùÃ<3Qùëh#†¡±û¼bIÜûú5 FŠû˜øcÛóñûG­e$}ú]ÒDênGúÅM¦׊÷°#÷°#ùÉ"ùÉ"ùëh#†¡±ù ùÃ<3QùV‹dñÀÿù §R øÆZ®•öÉ”cžrõråÆ õšeq¶õ´&Ò?_õë¿3û÷i•bÂøÇ \ªñ¡ø|ü`OøO4¹ùßöñæýâÛ÷@²~4&ùÉ"ùÉ"ûâ!ûâ!õë¿3ûõ´&Ò?_õšeq¶õråÆ ôÆ\Wûô¬ä=ó]RD±(!óqy˜kó†n0±‰óš•ƒæð‰ôeVŸ¾É[õ,I‚ѳõ΢!• ô¸W¥ô1éÚðIôG¶[‹‡ûâ!ûâ!üë!üë!󚕃æð‰ó†n0±‰óqy˜kó]RD±(!ò¦ó²ÕIñìé¢çš™ñ2q çº.ñ2q Pÿwñ2q º@Îñ2q #†ò(¤#r[òÏØZ©òÅÆ©§×‹ò± U<#ñìé¢Pßãò(¤º-üë!üë!üî!üî!üLœBͲ|üLœBͲ|ûãVøͲ|ûÐXÍ®Šû¨Þsä-ûXvL‹úà=Û»D¡û¡šöÜ›ü ákñŸüBøÅü:''B5%üL|­ˆ'"üL|­ˆ'"ûã/sèûÊHZ)óÌü5–´>µö¤#ö¤#ö§#ö§#üBøÅü ákñŸû¡šöÜ›úà=Û»D¡úÀ#@]@©ú>sûÐ\úPê?”X™ûâÖùûbVŒÿPûtœH Pfû»ñ8a™…ûñál®îWûä,"¤j,ûxé >Qû@n>uDû©«{S™;ö§#ö§#÷°#÷°#ûtœH PfûbVŒÿPûâÖùúPê?”X™ùÒ¬kÅ]>ù¶ݵóø,ÑåÈŽø«àðGŒøöOP‘„ëù §R úcäŸÿèúæp»dÑäúÔ' VÑ™ú‚Ü&ù–Á\Èñùýš#Š24÷°#÷°#ùÉ"ùÉ"ù §R øöOP‘„ëø«àðGŒø,ÑåÈŽ÷B|e²=lö*'¢mÚ!ôùìõ;ÀœC¦õd¨ý€PõråÆ öÉ”cžrøÆZ®•÷îø¦˜ËÌ÷Ác1PjölȘ Åö»”oTÃùÉ"ùÉ"ûâ!ûâ!õråÆ õd¨ý€Põ;ÀœC¦ôùìô`–Î+dDóÂ[Ió {_¹óAY”<¼ÕóVN,¨Jó]RD±(!ô¬ä=ôÆ\Wûô¸WÈDÑLô£7ÄÛ“èóôÐqô ,¬Qóûâ!ûâ!üë!üë!ó]RD±(!óVN,¨JóAY”<¼Õó {_¹ò~ +›zTñئ¬«ÆÊñ2q «îDñ2q ~täñ2q çº.ñ2q çº.ñìé¢çš™ò¦ó²ÕIò£s и“ò޶Kej9ñئ¬~Mkñìé¢çš™üë!üë!üî!üî!ñ2tü›ëñ2tüÈ—Kñ2tü_Rñ2tü_Rñ2tü_Rñ2q _Rñ2q _Rñ2q _Rñ2q È—Kñ2q ›ëñ2q ›ëñ2tü›ëñ2tüÈ—Kñ2tü_Rñ2q _Rñ2q È—Küî!üî!üî!üî!ñ2tü_Rñ2q ö ¸ñ2q ŒËañ2q #†ñ2q #†ñ2q #†ñ2q #†ñ2q ŒËañ2q ö ¸ñ2q _Rñ2q _Rñ2tü_Rñ2q ö ¸ñ2q ŒËañ2q ŒËañ2q ö ¸üî!üî!üî!üî!ñ2q #†ñ2q º@Îñ2q Pÿwñ2q çº.ñ2q çº.ñ2q çº.ñ2q çº.ñ2q Pÿwñ2q º@Îñ2q #†ñ2q #†ñ2q #†ñ2q º@Îñ2q Pÿwñ2q Pÿwñ2q º@Îüî!üî!üî!üî!ñ2q çº.ñ2q çº.ñ2q ~täñ2q «îDñ2q «îDñ2q «îDñ2q «îDñ2q ~täñ2q çº.ñ2q çº.ñ2q çº.ñ2q çº.ñ2q çº.ñ2q ~täñ2q ~täñ2q çº.üî!üî!üî!üî! +endstream endobj 60 0 obj <>stream +ÿÿÿÿ+D„ÿÿÿÿ*]¾ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ*]¾ÿÿÿÿ+D„ÿÿÿÿ+D„ÿÿÿÿ+D„ÿÿÿÿ*]¾ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ*]¾üî!üî!üî!üî!ÿÿÿÿ)ê`ÿÿÿÿ)vý;ÿÿÿÿ)špÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ)špÿÿÿÿ)vý;ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)vý;ÿÿÿÿ)špÿÿÿÿ)špÿÿÿÿ)vý;üî!üî!üî!üî!ÿÿÿÿ(;øÿÿÿÿ(Ù,ÿÿÿÿ'©v`ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'©v`ÿÿÿÿ(Ù,ÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(Ù,ÿÿÿÿ'©v`ÿÿÿÿ'©v`ÿÿÿÿ(Ù,üî!üî!üî!üî!ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ&µÿÿÿÿ%Ûñ¯ÿÿÿÿ%Ûñ¯ÿÿÿÿ%Ûñ¯ÿÿÿÿ%Ûñ¯ÿÿÿÿ&µÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ&µÿÿÿÿ&µÿÿÿÿ'6¾üî!üî!üî!üî!ÿÿÿÿ+D„ÿÿÿÿ*]¾ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿ«'¨)è:‡ÿVS¥)æ[ÿ{N)ãóÜÿ¢)äyþûëÍ*WV§þðÄ$+=°ÿK+ü+?ø0ÿ¥˜'+B;úÿ¥˜'*[z¶ÿ«'¨)è:‡ÿVS¥)æ;ùÿVS¥*Yšqüî!üî!üí!üí!þðÄ$+=°þûëÍ*WV§ÿ¢)äyÿ{N)ãóÜþ¬ÁA)ÞÔÚþXÖ)×”«þoÄ)ÑFÊþoÄ)ÑFÊýøCÇ*D ýáëÌ+)Ë{þ<,³+0Ÿ}þ–qî+8P+þ¡™˜*Qòkþ¬Å•)Þ÷wþXÖ)×”«þR‰*Jó#üí!üí!üë!üë!ÿÿÿÿ)ê`ÿÿÿÿ)vý;ÿÿÿÿ)špÿÿÿÿ(;øÿ°»}(Ž9ÿavû(Œ63ÿ2y(Š7¤ÿ ž¤(ýwÒÿ#)p³­ÿ{N)ãóÜÿVS¥)æ[ÿ«'¨)è:‡ÿ«'¨)t×¼ÿ°»})›áÿ[ã&(ÿvaÿ[ã&)rÙ-üî!üî!üí!üí!ÿ{N)ãóÜÿ#)p³­ÿ ž¤(ýwÒÿ2y(Š7¤þÔ(…]Üþt ù(~…†þ$ø(xÂþÌ(ëšpþ )^nsþoÄ)ÑFÊþXÖ)×”«þ¬ÁA)ÞÔÚþ²U)k˜ÿþ½(øž þhàü(ñY‰þcHÓ)d¼Tüí!üí!üë!üë!ÿÿÿÿ(;øÿÿÿÿ(Ù,ÿÿÿÿ'©v`ÿÿÿÿ'6¾ÿ¶Jþ'47£ÿlšQ'2Yˆÿ"é¤'0{lÿUÏ'£·GÿÁú(÷uÿ2y(Š7¤ÿavû(Œ63ÿ°»}(Ž9ÿ°»}(ÖIÿ¶Jþ'§šoÿg|'¥—Œÿg|(úXüî!üî!üí!üí!ÿ2y(Š7¤ÿÁú(÷uÿUÏ'£·Gÿ"é¤'0{lþÙ_ç'+æßþý'%t6þF€Z' ?’þ;P '“¿þ0$ (îþ$ø(xÂþt ù(~…†þÔ(…]ÜþȤi("þÓÐf'Ÿ' þ„ÌË'˜Jcþ8ö( ­/üí!üí!üë!üë!ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ&µÿÿÿÿ%Ûñ¯ÿ»ÞÓ%Ú61ÿw½§%Øz³ÿ3œz%Ö½ ÿ(tÑ&½ ÿ"àü'0V¥ÿ"é¤'0{lÿlšQ'2Yˆÿ¶Jþ'47£ÿ¶Jþ'47£ÿ»ÞÓ&Àùžÿl•ý&¾Ôÿl•ý'26êüî!üî!üí!üí!ÿ"é¤'0{lÿ"àü'0V¥ÿ(tÑ&½ ÿ3œz%Ö½ þï¯:%Òoáþ«èë%Ìg:þhR%ǽ þQ¬W&­ieþF€Z' ?’þF€Z' ?’þý'%t6þÙ_ç'+æßþÙ[“'+ÄBþ䇑&¸Ëwþ•ð&²”þý'%t6üí!üí!üë!üë!ýáëÌ+)Ë{ýøCÇ*D þoÄ)ÑFÊþoÄ)ÑFÊý®ö)ÈÊÁýZϬ)¼Ÿ|ýÊ)²C.ýÊ)²eÌüõ´þ*$Œ½üÔ$ +¸ý. ++èSý‡ÑÖ+ À©ýž.$*;Oý®ö)ÈÊÁýZϬ)¼ÂýO›*/½üë!üë!üê!üê!üÔ$ +¸üõ´þ*$Œ½ýÊ)²eÌýÊ)²C.üûþŒ)°Üüñvù)¯yDüæïg)®%üæïg)®4ÂüÕq4* A¾ü²y#+4Ãü½²+µØüÈë+6íüê|*# ¨üûú8)±üñr¦)¯›áüàª,*!ÂÒüê!üê!üé!üé!ü²y#+4ÃüÕq4* A¾üæïg)®4Âüæïg)®%üÜy#)¬64üÒß)ª^–üÇŒ›)¨‚¤üÇŒ›)¨¥Aüµ]*“óüù*þS üœ%|+Hôü§M&+>ÜüÊE7*KÖüÜy#)¬XÑüÒß)ª|ßüÀ„­*‰Úüé!üé!üé!üé!üù*þS üµ]*“óüÇŒ›)¨¥AüÇŒ›)¨‚¤ü²¤g)¤ÊÁü·à)¡ÞüˆÏ¬)ZûüˆËX)tðüu4¡*+cüN2*òyþüdV…*öj üzª,*ú^—üŸ \*Ÿ}ü² )¤í^ü·à)¡,Ôü‹ƒô*Ùüé!üé!üé!üé!üN2*òyþüu4¡*+cüˆËX)tðüˆÏ¬)Zûü^úð)•Þ9ü5&5)Žaxü UÍ)†ä·ü UÍ)†ä·ûôð×)øûÈ+@*ÚuªûôÉæ*ât9ü!hŒ*êwüH•û*(€ü^úð)•ø/ü5&5)Žaxü!}*êüé!üé!üè!üè!þoÄ)ÑFÊþ )^nsþÌ(ëšpþ$ø(xÂýÖe(pÔØý‡•C(eV¦ý8ãÝ([Î[ý((ÍõLýN—)@=ýÊ)²C.ýZϬ)¼Ÿ|ý®ö)ÈÊÁýº"›)UòjýÊë(ã¨ÜývÌÊ(×}—ýkœy)Jx‹üë!üë!üê!üê!ýÊ)²C.ýN—)@=ý((ÍõLý8ãÝ([Î[ý/ ±(Z2ý%30(Ypœýe«(Wë3ý ëÌ(Éø/üøm™)<*üæïg)®%üñvù)¯yDüûþŒ)°Üý Ç)>µýE7(̨#ý´þ(Ë}—ýõ,)=lIüê!üê!üé!üé!üæïg)®%üøm™)<*ý ëÌ(Éø/ýe«(Wë3ý¥ (V-‹ýä–(Toãüþ$ (R²;üëð(Ä íüÙÀ‡)6“òüÇŒ›)¨‚¤üÒß)ª^–üÜy#)¬64üí÷U):)8ý&î(È:‡üõ°ª(Æbéüä6Ë)8küé!üé!üé!üé!üÇŒ›)¨‚¤üÙÀ‡)6“òüëð(Ä íüþ$ (R²;üꞣ(O6ëü×:(K»›üØ%(H@Kü¯ý(¹òjüœfc)+¨ÜüˆÏ¬)Zûü·à)¡Þü²¤g)¤ÊÁüÄÔ)2ÜüØo +(Á%üƒ(½mºü±Rë)/`¿üé!üé!üé!üé!üˆÏ¬)Zûüœfc)+¨Üü¯ý(¹òjüØ%(H@KüœT(AEWüu†Ö(:N·üN€Y(3SÃü8c(¤„ü!ºÂ)´fü UÍ)†ä·ü5&5)Žaxü^úð)•Þ9ür‘§)$,üˆö(²ûÊü_&5(«üK‹*)1'üé!üé!üè!üè!þ$ø(xÂþ0$ (îþ;P '“¿þF€Z' ?’ýý;Ø'Úœý´_.'ùýkA'Y‡ýZtÐ'w€yýI¬V'é§jý8ãÝ([Î[ý‡•C(eV¦ýÖe(pÔØýáGb'ýü‚ýòÛ'‹²óý£’a'€9ý˜b'ó/µüë!üë!üê!üê!ý8ãÝ([Î[ýI¬V'é§jýZtÐ'w€yýkA'Y‡ýb!)'$*ýXø'1ÞýOàB'È•ý>b'sÕý,ãÝ'åâŒýe«(Wë3ý%30(Ypœý/ ±(Z2ý?Ú}'èZAýQX°'vMEýGyÜ'u<¯ý6±c'çc¡üê!üê!üé!üé!ýe«(Wë3ý,ãÝ'åâŒý>b'sÕýOàB'È•ýFÑ'' ý=Áù&þ……ý4·(&üãüý"ƒ<'nÔØýS£'àÉüþ$ (R²;ýä–(Toãý¥ (V-‹ý##S'ä$äý5Rë'r1Þý+’`'pt6ý.'â2üé!üé!üé!üé!üþ$ (R²;ýS£'àÉý"ƒ<'nÔØý4·(&üãüý"˜Þ&ù£ýz”&öb/üþ`ž&ó!HüêÅ”'d׺ü×.Ü'Ö‰ÙüØ%(H@Kü×:(K»›üꞣ(O6ëüüÎ;'ÝH9ýiF'k‘ÇüüãÝ'hwüê´E'Ú)üé!üé!üé!üé!üØ%(H@Kü×.Ü'Ö‰ÙüêÅ”'d׺üþ`ž&ó!HüÚ$ &쮟üµçx&æ9Íü‘ªå&ßÇ$ü{JC'P÷uüdåN'Â'ÆüN€Y(3SÃüu†Ö(:N·üœT(AEWü°(_'Ï“9üÆT'^bèüŸ‚ƒ'Wgôü‹ëË'Éfüé!üé!üè!üè!þF€Z' ?’þF€Z' ?’þQ¬W&­ieþhR%ǽ þ$`Ÿ%Àä´ýá$Å%¶ÉMýŸ\%®ä´ý|i&“ùýkA'6êýkA'Y‡ý´_.'ùýý;Ø'Úœýý;Ø'ÚœþQ&¦‘ý¿~&šòhý´_.' í\üë!üë!üê!üê!ýkA'Y‡ýkA'6êý|i&“ùýŸ\%®ä´ý•4¢%­ËwýŒ¼í%¬ðöý„V†%«¥÷ýa^u&˜ýýOàB'¥øýOàB'È•ýXø'1Þýb!)'$*ýb!)'ýsŸ\&‘ô’ýiÄÛ&æ&ýXø' üê!üê!üé!üé!ýOàB'È•ýOàB'¥øýa^u&˜ýý„V†%«¥÷ý{ý%ªeýs£¯%¨˜üýkJD%§“ýFæÀ&ŠÒ­ý4·(&üÁ_ý4·(&üãüý=Áù&þ……ýFÑ'' ýFÑ'pýY &Ž”ýOD&ŒXý=ÆL&þbçüé!üé!üé!üé!ý4·(&üãüý4·(&üÁ_ýFæÀ&ŠÒ­ýkJD%§“ýZ“%¤@ýIÛï%¡Âý9)%žoý÷V&S +üþ`ž&óRüþ`ž&ó!Hýz”&öb/ý"˜Þ&ù£ý"˜Þ&ù€xý63é&‡Ì0ý"®€&„W]ý~è&öH9üé!üé!üé!üé!üþ`ž&ó!Hüþ`ž&óRý÷V&S +ý9)%žoý¶o%˜½üöH%’$âüÔÙÄ%Œ61ü¨Ú&n–Óü‘ªå&ßÇ$ü‘ªå&ßÇ$üµçx&æ9ÍüÚ$ &쮟üÚ$ &ì’üð‰&{b.üÉ~/&t…„üµçx&æ9Íüé!üé!üè!üè!ûÈ+@*Úuªûôð×)øü UÍ)†ä·ü UÍ)†ä·ú½ÞÏ)Dä¶ùvØQ(áÕ‘ø<ÌÆ(_ 4ø<ÌÆ(_ 4øšL(Ê4Â÷¸9ª)Ÿ]ÝùP**P*údWõ*” ú‘!à)±§kú½ÞÏ)Dä¶ùvØQ(áÕ‘ù_´û)U'üè!üè!ûá!ûá!ü UÍ)†ä·ü!ºÂ)´fü8c(¤„üN€Y(3SÃûaV'õ½ ùæ\I'™ZùøÁd6'â‹ø•1¼'ŠwøhÿA'õ ¦ø<ÌÆ(_ 4ùvØQ(áÕ‘ú½ÞÏ)Dä¶úÔ?q(Ó´eûü`(fí]ùº)Î(ï‡ù£ +Ì(wAüè!üè!ûá!ûá!üN€Y(3SÃüdåN'Â'Æü{JC'P÷uü‘ªå&ßÇ$ûpãÜ&¦™µúUä”&PàaùE÷S%à$âùÄØ&J¹pøí–±&µMýøÁd6'â‹ùæ\I'™ZùûaV'õ½ û-ÆK'„Œ»ûZ~ç'ÇÝú)²&»tîúŽÃ'.Æküè!üè!ûá!ûá!ü‘ªå&ßÇ$ü‘ªå&ßÇ$ü¨Ú&n–ÓüÔÙÄ%Œ61ûÊfb%Wt5úÅh‹%eÈùÊŽÃ$ g9ùr)Î%uUùE÷S%à$âùE÷S%à$âúUä”&PàaûpãÜ&¦™µûpãÜ&¦™µû Ì&9Ò­úmê%ÝŽäúUä”&Pàaüè!üè!ûá!ûá!÷¸9ª)Ÿ]ÝøšL(Ê4Âø<ÌÆ(_ 4ø<ÌÆ(_ 4õÈtÊ'[Œó‰&.%Úçñ¨±Z#ù²8ñ¨±Z#ù²8ñW$KI¨ð³ñˆ$îv^ò´0ÿ&î¯Xõ²(‰ÏÌõr·'´¦±õÈtÊ'[Œó‰&.%ÚçóW_ß&K‚¢ûá!ûá!úÑ!úÑ!ø<ÌÆ(_ 4øhÿA'õ ¦ø•1¼'ŠwøÁd6'â‹öw3+&-Fô^ +$Å~Mòq-#îòKÛç#V…‚ñúF¡#¨Èñ¨±Z#ù²8ó‰&.%ÚçõÈtÊ'[Œõô¢ñ&ðõKöK&—Úœô Ä%½óÚ»t%ˆ€wûá!ûá!úÑ!úÑ!øÁd6'â‹øí–±&µMýùÄØ&J¹pùE÷S%à$â÷%õà$ÿDõ3æ#°æÜó’5S",ó@›¹"aÁ\òïs"³XÌòq-#îô^ +$Å~Möw3+&-Fö£e¦%±öùÃe%i–Òôár $|"ô¯¬P$séûá!ûá!úÑ!úÑ!ùE÷S%à$âùE÷S%à$âùr)Î%uUùÊŽÃ$ g9÷Ô¸•#мPöøÂ"œOlô†õ&!gïóãÊ™!¾”¦ó’5S",ó’5S",õ3æ#°æÜ÷%õà$ÿD÷%õà$ÿD÷|SŸ$¥ålõdÎ5#?|"õ3æ#°æÜûá!ûá!úÑ!úÑ!ð³ñˆ$îv^ñW$KI¨ñ¨±Z#ù²8ñ¨±Z#ù²8ïÈE."CâîFÌ¿Ù÷píB´:eŸtíB´:eŸtìØ¬‘Ñîìö‘ê6äíI ˆ¼Nî³²"î9ïVÜ"K +1ïÈE."CâîFÌ¿Ù÷píí¶d 0WYúÑ!úÑ!ùÀ!ùÀ!ñ¨±Z#ù²8ñúF¡#¨ÈòKÛç#V…‚òq-#îðÜÜž!DN²ïu‰+2‘î‚máîÙ :~í­HÇ9lùíB´:eŸtîFÌ¿Ù÷pïÈE."CâðÚt!Ǭrð‹GX!•æ"ï +{ûWg5î±aM­ÄõúÑ!úÑ!ùÀ!ùÀ!òq-#îòïs"³XÌó@›¹"aÁ\ó’5S",ññt o[­ð£TS|oÜïÂ+8\niïW–ªˆ£îí´Õ‰î‚máïu‰+2‘ðÜÜž!DN²ñ.qå ò¹lñŸÞÉ Àðóð8¿Æ¨¢WïߥÿúÑ!úÑ!ùÀ!ùÀ!ó’5S",ó’5S",óãÊ™!¾”¦ô†õ&!gïó šf}ñјͪþñèá×Öùð,¿Å0;ïïÂ+8\niïÂ+8\nið£TS|oÜññt o[­ññt o[­òbÜŸ =“3ðüo&óð£TS|oÜúÑ!úÑ!ùÀ!ùÀ!ìö‘ê6äìØ¬‘ÑîíB´:eŸtíB´:eŸtìÀ0û+£ì]…Yä‹Aìx^——ìx^——ë¥ã®ÒêÇë¿ÚEMëfV>ñëw­»›4ìLÖÖBÌáìÀ0û+£ì]…Yä‹AëçôgûÂùÀ!ùÀ!ø´"ø´"êÇë¿ÚEMë¥ã®Òìx^——ìx^——ëÙkcI¥íë·øºõØgë·çl¢pŽë·çl¢pŽëD„ ¢r¸ê]Ã\¢tâê]ǰ Äêq'v|ÓëcÍv`alëÙkcI¥íë·øºõØgëDG šø´"ø´"÷­"÷­"íB´:eŸtí­HÇ9lùîÙ :~î‚máî´:¼Eí¬¨°‹ºíoþSëáí {jìŠqá€ÿZìx^——ì]…Yä‹AìÀ0û+£í*ňÿp“íž­èFÀí?ᨬ-ìÊLbÃdPùÀ!ùÀ!ø´"ø´"ìx^——ìŠqá€ÿZí {jíoþSëáí1aLÏí)Åߣ +í {¢ne잨¯¢neì+Eä¢pŽë·çl¢pŽë·øºõØgëÙkcI¥íìJ—a>˜:ìÀ5N'Ü¼ìžÆùߣ +ì+[†õØgø´"ø´"÷­"÷­"î‚máîí´Õ‰ïW–ªˆ£ïÂ+8\niïQ3&L…|îûdz1„ +¿+îS˜&ØiíÝþ=Ò¤íoþSëáí¬¨°‹ºî´:¼EîsDtáÊîæž™x·÷î«Rªûîo¸iáÉùÀ!ùÀ!ø´"ø´"íoþSëáíÝþ=Ò¤îS˜&Øi¿+î‰[ˆïø"îlV{Ékƒîl/‹¢jíøÌ¿¢l;í…ió¢l;í {¢neí)Åߣ +í1aLÏí¢‘ÁTî+7ûÖíøøÉm­í…ˆ=ß àø´"ø´"÷­"÷­"ïÂ+8\niïÂ+8\nið,¿Å0;ïñèá×Öùð™¶fÜôŠðJë +Ø„ð=ÍKï8+7ùÄð¿+¿+îûdz1„ +ïQ3&L…|ïQ3&L…|ïÄK5[©ïq\úM<îûdz1„ +ùÀ!ùÀ!ø´"ø´"¿+¿+ï8+7ùÄðð=ÍKïáQpÃ!=ïÆ‡†³6&ïÆSš¢gçîߎ¢jîl/‹¢jîl/‹¢jîlV{Ékƒî‰[ˆïø"î‰[ˆïø"îþõ"Ù<¤îßÁî³8PîlV{Ékƒø´"ø´"÷­"÷­"ê]Ã\¢tâëD„ ¢r¸ë·çl¢pŽë·çl¢pŽë·çl¢REë·çl¢1Ñë·çl¢^ë·çl¢^ëD„ ¢^ê]Ã\¢4ê]Ã\¢1Ñê]Ã\¢REëD„ ¢Pë·çl¢REë·çl¢1ÑëD„ ¢3û÷­"÷­"÷­"÷­"ë·çl¢pŽì+Eä¢pŽìž¨¯¢neí {¢neí {¢Pí {¢3ûí {¢²ìž¨¯¢ˆì+E䢈ë·çl¢^ë·çl¢1Ñë·çl¢REì+Eä¢P잨¯¢RE잨¯¢1Ñì+Eä¢3û÷­"÷­"÷­"÷­"í {¢neí…ió¢l;íøÌ¿¢l;îl/‹¢jîl/‹¢Pîl/‹¢3ûîl/‹¢ÜíøÌ¿¢Üí…ió¢²í {¢²í {¢3ûí {¢Pí…ió¢PíøÌ¿¢PíøÌ¿¢3ûí…ió¢3û÷­"÷­"÷­"÷­"îl/‹¢jîl/‹¢jîߎ¢jïÆSš¢gçïÆSš¢MñïÆSš¢3ûïÆSš¢/îߎ¢îl/‹¢Üîl/‹¢Üîl/‹¢3ûîl/‹¢Pîl/‹¢Pîߎ¢Pîߎ¢3ûîl/‹¢3û÷­"÷­"÷­"÷­"ê]Ã\¢4ëD„ ¢^ë·çl¢^ë·çl¢^ë·øºN«¯ëÙkcúÞ)ìx^­kìx^­kë¥ã–qDêÇë¿j< êq'ÎDê]ǰ8t(ëDG8vRë·øºN«¯ëÙkcúÞ)ëcÍvä ÷­"÷­"÷¦"÷¦"êÇë¿j< ë¥ã–qDìx^­kìx^­kì]…Y_ö¬ìÀ0ûÞßíB´: Þä£íB´: Þä£ìج ²¯þìö‘ ZK ëw­»©PëfVt%ëçôgH¿Þì]…Y_ö¬ìÀ0ûÞßìLÖÖµ ÷¦"÷¦"öš"öš"ë·çl¢^ì+E䢈잨¯¢ˆí {¢²í)Ådá í1aL'µíoþð˜5í {Ú|ÎìŠqáĽìx^­këÙkcúÞ)ë·øºN«¯ì+[†N«¯ìžÆùdÞãìÀ5N§[ìJ—aé³÷­"÷­"÷¦"÷¦"ìx^­kìŠqáĽí {Ú|Îíoþð˜5í¬¨°¹{\î´:ˆoÑî‚mc|îÙ7I˜í­HÇ íB´: Þä£ìÀ0ûÞßì]…Y_ö¬ìÊLbí?ᨘTkíž­\=Wí*ňEƒ÷¦"÷¦"öš"öš"í {¢²í…ió¢²íøÌ¿¢Üîl/‹¢ÜîlV{{jî‰[ˆT‹ô3ÄëîS˜«®íÝþ±síoþð˜5í1aL'µí)Ådá í…ˆ=dá íøø{jî+7I~@í¢‘2À˜÷­"÷­"÷¦"÷¦"íoþð˜5íÝþ±sîS˜«®î‘ž3ÄëîûdzýâïQ3&÷þšïÂ+8èƒïW–ª»áîí®Žî‚mc|î´:ˆoÑí¬¨°¹{\îo¸Ú¢Mî«ñÙîæž™ËÌ îsDt´¢L÷¦"÷¦"öš"öš"îl/‹¢Üîl/‹¢Üîߎ¢ïÆSš¢/ïÆ‡†‘MðïáQpbÙð=vñ¡ï8+7J¿&3Äë3Äëî‰[ˆT‹ôîlV{{jîlV{{jîßÁî‘KÇîþõ"kGrî‰[ˆT‹ô÷­"÷­"÷¦"÷¦"3Äë3Äëï8+7J¿&ð=vñ¡ðJë +l‚“ð™¶fgcñèálªóð,¿ÅEþïÂ+8èƒïÂ+8èƒïQ3&÷þšîûdzýâîûdzýâïq\ú*6ÛïÄK(nïQ3&÷þš÷¦"÷¦"öš"öš"ìö‘ ZK ìØ¬ ²¯þíB´: Þä£íB´: Þä£îFÌ¿ jŠ}ïÈE. +@5ñ¨±ZJÑÞñ¨±ZJÑÞñWù:nð³ñˆV ¸î³²VKíI +»ÇÈíí¶d ,¾îFÌ¿ jŠ}ïÈE. +@5ïVÜùw»öš"öš"ô…#ô…#íB´: Þä£í­HÇ îÙ7I˜î‚mc|ïu‰ O\ðÜÜž +3:òq-?“ÛòKÛçíþ”ñúF¡œg$ñ¨±ZJÑÞïÈE. +@5îFÌ¿ jŠ}î±aM –¿"ï +{û íáð‹GX ®ôðÚt |Õ{öš"öš"ô…#ô…#î‚mc|îí®ŽïW–ª»áïÂ+8èƒð£TS È:ññt +Õ(jó’5S 4Xó@›¹âÀ‘òïs‘+Kòq-?“ÛðÜÜž +3:ïu‰ O\ïߥ EÖð8¿Æ ›á¿ñŸÞÉ +ƒúñ.qå +Qʪöš"öš"ô…#ô…#ïÂ+8èƒïÂ+8èƒð,¿ÅEþñèálªóñј vÙó  ªoô†õ& +)ýóãÊ™ …íGó’5S 4Xó’5S 4Xññt +Õ(jð£TS È:ð£TS È:ðüo t#òbÜŸ î¹ññt +Õ(jöš"öš"ô…#ô…#ð³ñˆV ¸ñWù:nñ¨±ZJÑÞñ¨±ZJÑÞó‰&.jl/õÈtÊèøø<ÌÆäá¹ø<ÌÆäá¹øšLzM+÷¸9ª¥$õ²º´Jò´0ÿUÔ¿óW_ßùuó‰&.jl/õÈtÊèøõr·Ýeô…#ô…#óp#óp#ñ¨±ZJÑÞñúF¡œg$òKÛçíþ”òq-?“Ûô^ + öw3+>øÁd6$Ÿaø•1¼º +ÔøhÿAOvFø<ÌÆäá¹õÈtÊèøó‰&.jl/óÚ»t¼Ÿô Ä-nZöK¬©zõô¢ñSŒ¢ô…#ô…#óp#óp#òq-?“Ûòïs‘+Kó@›¹âÀ‘ó’5S 4Xõ3æ“:÷%õàEÒùE÷Sd] +ùÄØùÈ}øí–±3ïøÁd6$Ÿaöw3+>ô^ + ô¯¬PЛôár BÊöùÃeÚíDö£e¦Ò–ô…#ô…#óp#óp#ó’5S 4Xó’5S 4XóãÊ™ …íGô†õ& +)ýöøÂ¨4«÷Ô¸•sÇÆùʎäÝùr)ÎÎóÂùE÷Sd] +ùE÷Sd] +÷%õàEÒõ3æ“:õ3æ“:õdÎ5ô÷|SŸžœ÷%õàEÒô…#ô…#óp#óp#÷¸9ª¥$øšLzM+ø<ÌÆäá¹ø<ÌÆäá¹ùvËVbbÍú½ã#ÿ»€ü Uͽ°®ü Uͽ°®ûô]»H>ûÈ+@j$úddð°šSù>·ßù_£¬ï©ùvËVbbÍú½ã#ÿ»€ú¦®~Š(cóp#óp#òb$òb$ûÈ+@j$ûô]»H>ü Uͽ°®ü Uͽ°®ýXÈv{¥Ýþ¬•ýZ7ˆÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿæÃnÿÿÿÿþ–dó§ý+õä#­ËýB ø +ýXÈv{¥Ýþ¬•ýZ7ˆþ–dóæÉëòb$òb$ñZ$ñZ$ø<ÌÆäá¹øhÿAOvFø•1¼º +ÔøÁd6$ŸaùæWõªããûe©NÞÖüN€Y?xü8iE¢CËü!q4,¬[ü Uͽ°®ú½ã#ÿ»€ùvËVbbÍù¢ýÑÌ÷[ùº%z@OUúö@ââ¤úßêl‚ˆóp#óp#òb$òb$ü Uͽ°®ü!q4,¬[ü8iE¢CËüN€Y?xý…Ÿ\ÓïþÂËZ´fhÿÿÿÿ´Hÿÿÿÿ@ç}ÿÿÿÿ͆ÛÿÿÿÿZ$þ¬•ýZ7ˆýXÈv{¥ÝýcÖ*ìÔýz‘¨boÈþÂËZAÆþ¬•ý͘*òb$òb$ñZ$ñZ$øÁd6$Ÿaøí–±3ïùÄØùÈ}ùE÷Sd] +úUä”óg#ûpãÜžü‘ªådÌü{“ÑõÐküd›À€8ûüN€Y?xûe©NÞÖùæWõªããúŠpzšú)²ˆÒ•ûO¿18ûû8Šp»¥ßóp#óp#òb$òb$üN€Y?xüd›À€8ûü{“ÑõÐkü‘ªådÌý²qí+˜+þØüc•Iÿÿÿÿl.ÿÿÿÿ› Œÿÿÿÿ'ªêÿÿÿÿ´HþÂËZ´fhý…Ÿ\Óïý¨¼DÌý§d:ºjþØüc›4§þÂËZ'Ç +òb$òb$ñZ$ñZ$ùE÷Sd] +ùE÷Sd] +ùr)ÎÎóÂùʎäÝúÅq3;êbûÊfbí#ZüÔÕq¸X·ü¨¢öÚc‡ü‘ªådÌü‘ªådÌûpãÜžúUä”óg#úUä”óg#úm =fÁGûˆÔ“ ûpãÜžóp#óp#òb$òb$ü‘ªådÌü‘ªådÌü¨¢öÚc‡üÔÕq¸X·ýßDƒ>þï1ÀhÆSÿÿÿÿh>ÿÿÿÿÎúÿÿÿÿl.ÿÿÿÿl.þØüc•Iý²qí+˜+ý²qí+˜+ýÉ-l¡3ïþï1À‚æþØüc•Iòb$òb$ñZ$ñZ$ÿÿÿÿÿÿÿÿæÃnÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿæÃnÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÃnÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿæÃnñZ$ñZ$ñZ$ñZ$ÿÿÿÿZ$ÿÿÿÿ͆Ûÿÿÿÿ@ç}ÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ@ç}ÿÿÿÿ͆ÛÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿ͆Ûÿÿÿÿ@ç}ÿÿÿÿ@ç}ÿÿÿÿ͆ÛñZ$ñZ$ñZ$ñZ$ÿÿÿÿ´Hÿÿÿÿ'ªêÿÿÿÿ› Œÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿ› Œÿÿÿÿ'ªêÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ'ªêÿÿÿÿ› Œÿÿÿÿ› Œÿÿÿÿ'ªêñZ$ñZ$ñZ$ñZ$ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿÎúÿÿÿÿh>ÿÿÿÿh>ÿÿÿÿh>ÿÿÿÿh>ÿÿÿÿÎúÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿÎúÿÿÿÿÎúÿÿÿÿl.ñZ$ñZ$ñZ$ñZ$ +endstream endobj 61 0 obj <>stream +îXK*îXK*ûQîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*ûQîXK*îXK*îXK*îXK*ûQîXK*x¤ÌîXK*x¤ÌîXK*ûQüî!üî!üî!üî!îXK*x¤ÌîXK*ö0GîXK*s¾îXK*ñKòîXK*ñKòîXK*ñKòîXK*ñKòîXK*s¾îXK*ö0GîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*ö0GîXK*s¾îXK*s¾îXK*ö0Güî!üî!üî!üî!îXK*ñKòîXK*nÕîXK*ìbèîXK*ið½îXK*ið½îXK*ið½îXK*ið½îXK*ìbèîXK*nÕîXK*ñKòîXK*ñKòîXK*ñKòîXK*nÕîXK*ìbèîXK*ìbèîXK*nÕüî!üî!üî!üî!îXK*ið½îXK*ið½îXK*çyÞîXK*╉îXK*╉îXK*╉îXK*╉îXK*çyÞîXK*ið½îXK*ið½îXK*ið½îXK*ið½îXK*ið½îXK*çyÞîXK*çyÞîXK*ið½üî!üî!üî!üî!îXK*îXK*ûQîXK*x¤ÌîXK*x¤Ìî›øÆzZ¥îß¡®|#ï#OJ}Á¢ï#J•}›øï)\=6'ï5ŒÕîëÄý´¬î¢¹Ûƒî¢¹üòyî›øÆzZ¥îß¡®{èyîß¡®þ\þüî!üî!ûî!ûî!ï5ŒÕï)\=6'ï#J•}›øï#OJ}Á¢ïfå\ÒïªmO‡˜pïíù÷Œ§&ïíù÷Œ§&ïú!û²TðvºÈ®ïÈÓ¶ õï+ü é£ïs¬›ïf৬rïªmO‡˜pï°ƒ¬ + +šûî!ûî!ùí!ùí!îXK*x¤ÌîXK*ö0GîXK*s¾îXK*ñKòî•çò×lîÓƒôg›ïõ÷Êï0°xžï=¢û'sï#OJ}Á¢îß¡®|#î›øÆzZ¥î›øÆ÷æ î•çuNKîÙ”»vÿoîÙ”»ùvOüî!üî!ûî!ûî!ï#OJ}Á¢ï=¢û'sï0°xžïõ÷ÊïNž½ù¼ðïŒ ÿ ïÉè…žïթ톓&ïáÑò ›ùïíù÷Œ§&ïªmO‡˜pïfå\Òï`Óµÿ7íïT°e|TÅï˜3¢‚ïžEJCûî!ûî!ùí!ùí!îXK*ñKòîXK*nÕîXK*ìbèîXK*ið½îÚ,kVîÇdylÁîþîÆn+—ïnðÃlï s_õïõ÷ÊîÓƒôg›î•çò×lî•çpeAîÚ,íÍmîÍv!ïXçîÍv!qÏÆüî!üî!ûî!ûî!ïõ÷Êï s_õïnðÃlîþîÆn+—ï6Xq¥iïm¥7v… ï¥$zfqï±-)ýoDï½U.€|ÌïÉè…žïŒ ÿ ïNž½ù¼ðïHw fïïyÍ<ù’“ïÞã|½ûî!ûî!ùí!ùí!îXK*ið½îXK*ið½îXK*çyÞîXK*╉î‰È„ãÕ¯î»Eßå‰îìÃ9æ_dîøæ‰ë¹mîþó{nQAîþîÆn+—îÇdylÁîÚ,kVîÚ,kVî‰È„è¾¹îÇi.êt’îÇi.læ¼üî!üî!ûî!ûî!îþîÆn+—îþó{nQAîøæ‰ë¹mîìÃ9æ_dï_ê–ïOH;í£añGDï˜Ý ÷]žï¥$zfqï¥$zfqïm¥7v… ï6Xq¥iï6\ÓqËï*&¯ïXéïg˜Dó¹mïm¥7v… ûî!ûî!ùí!ùí!ðvºÈ®ïú!û²Tïíù÷Œ§&ïíù÷Œ§&ð1`ô“i[ðtоÊð·Ì¥eÔð·ÐÆ¥@*ðÊÞ) +ðîš 0Ãcð¥B['ð[øÊ#æðC¨Á Œð1`ô“i[ðtоœð ð€¼-Õ£ùí!ùí!÷í!÷í!ðîš 0ÃcðÊÞ) +ð·ÐÆ¥@*ð·Ì¥eÔðúã¯Øñ=qq¼qñ€=È_ñ€=È_ñ˜›;LØ•ñÉWŽV…ñ€uIÁŸñ7Ì;MñEä3‘_ðúç»®ã.ñ=qq¼qñO½ó@Ø÷í!÷í!õì"õì"ïíù÷Œ§&ïáÑò ›ùïթ톓&ïÉè…žðÍÔ ³†ðCÓ žíð€þDð“A.Òð¥ˆú!›ùð·Ì¥eÔðtоÊð1`ô“i[ð%8ð`‰ðõØŒ¼XðV7–hÇðbBñKðùí!ùí!÷í!÷í!ð·Ì¥eÔð¥ˆú!›ùð“A.Òð€þDð½ùù"Ä—ðúmR/ fñ7'J9¼ñO…t¾UòñgãC,)ñ€=È_ñ=qq¼qðúã¯ØðèŸî+>ýðÐAŦŽqñÆÆ³öœñ%H7šÌ÷í!÷í!õì"õì"ïÉè…žï½U.€|Ìï±-)ýoDï¥$zfqïÜ5þøûð͈(ðJ0Žªµð\s3tðnºÿ–>jð€þDðCÓ žíðÍÔ ³†ïú¡†¥þïè^ƒð%^š ñêð1‹TŽÕùí!ùí!÷í!÷í!ð€þDðnºÿ–>jð\s3tðJ0Žªµðì–… ð·d~¡ÏÉðødño­/ΛñÍÖ´¤Ññ7'J9¼ðúmR/ fð½ùù"Ä—ð«¶ážú½ð“X¸Næðϧ&¥ÿðâ)ªJ/÷í!÷í!õì"õì"ï¥$zfqï¥$zfqï˜Ý ÷]žï€ˆañGDﱞ(öC%ïâ_0ý¬}ð]lM&ð7èP …ðJ+gŽÐ_ðJ0Žªµð͈(ïÜ5þøûïÜ5þøûïÉòæüTÊðêj‘ð͈M¹ùí!ùí!÷í!÷í!ðJ0ŽªµðJ+gŽÐ_ð7èP …ð]lM&ðD'ß +@Ëðt`^,ð¤û¼uÂðÕ³Z&".ðødðødð·d~¡ÏÉðì–… ðì–ªµðh²Âú)ð¥ü+™ð·d~¡ÏÉ÷í!÷í!õì"õì"ñÉWŽV…ñ˜›;LØ•ñ€=È_ñ€=È_òŠ_6ü®7ód„K¾ôг¦’ôг¦’ôºœ?­¡õG²W»¿ô¼5æNÞòëÅò» i†S•òŠ_6ü®7ód„K¾ó¨ ÎCõì"õì"ìé$ìé$ñ€=È_ñgãC,)ñO…t¾Uòñ7'J9¼ò(ùeiZó±*ÿóù¿&‘fô)Ö±›˜uôYé‡'Ÿ„ôг¦’ód„K¾òŠ_6ü®7òr wØòAWî4þóF©=2 ó_Lù¿· õì"õì"ìé$ìé$ñ7'J9¼ñÍÖ´¤Ñño­/ΛðødñÇ“•Ö +£òœ°m—âóix†k|9ó™÷ƒHóɧœƒŠWóù¿&‘fó±*ÿò(ùeiZò›<äƒÜñßí ZàÙòÌÃB¢žðòåð“%#ðõì"õì"ìé$ìé$ðødðødðÕ³Z&".ð¤û¼uÂñf-ÄB¶ò#T|ÄòÙ6›Çg ó9e±ßu+óix†k|9óix†k|9òœ°m—âñÇ“•Ö +£ñÇ“•Ö +£ñ–åbLg òƒƒ”âòœ°m—âõì"õì"ìé$ìé$õG²W»¿ôºœ?­¡ôг¦’ôг¦’ö|ƒ:KøJ€8¶Ë«ùÉÒ 6\ùÉÒ 6\ú"—ÇÝIžúÔ#B+¹mù24æ‰Ô|÷=¥I:S—öÝzé"Eyö|ƒ:KøJ€8¶Ë«ø€©k;_÷ìé$ìé$×ã)×ã)ôг¦’ôYé‡'Ÿ„ô)Ö±›˜uóù¿&‘fõÁW—Ì!÷bËŠãÂÙø¿€Ð@eJùFŽ矌ùq KŽÕùÉÒ 6\øJ€8¶Ë«ö|ƒ:KöOi@÷3=õño"X(÷»‘HŠý÷ñºz‘hìé$ìé$×ã)×ã)óù¿&‘fóɧœƒŠWó™÷ƒHóix†k|9õ.c jö{ܺ÷µ*âJ»9ø ðŸñðÆøf»™+ø¿€Ð@eJ÷bËŠãÂÙõÁW—Ì!õ‘@ @ñõ3Eî¡yöÓÜš·ôK÷ +Í<ˆ—ìé$ìé$×ã)×ã)óix†k|9óix†k|9ó9e±ßu+òÙ6›Çg ôE/]óõ“b.=µíöªÙ¨ U'÷\e$£€ö÷µ*âJ»9÷µ*âJ»9ö{ܺõ.c jõ.c jô¥4Ev<öDíªŒ%¼ö{ܺìé$ìé$×ã)×ã)úÔ#B+¹mú"—ÇÝIžùÉÒ 6\ùÉÒ 6\ûIpµWÂü|°„ €W0ýLHò uÒ4ýLHò uÒ4ýÀAã Eº©þ¨3Æ +å‹“ýÅ—9Â-üüvžÍž_ûĆ#.ûIpµWÂü|°„ €W0üÝ¥V "]×ã)×ã)ÀÜ.ÀÜ.ùÉÒ 6\ùq KŽÕùFŽ矌ø¿€Ð@eJú'ö%û3ÉÏ +>…ûðbÔ ÔüdW ÖIüØP ¥é¾ýLHò uÒ4ü|°„ €W0ûIpµWÂúðT²€útí´DKhû§ÂÀ +mŽü·“ °sp×ã)×ã)ÀÜ.ÀÜ.ø¿€Ð@eJøf»™+ø ðŸñðÆ÷µ*âJ»9øï0Ç „ʉùêã +ü³ú”x –d)ûpò fLŸû|iã 65ûðbÔ Ôû3ÉÏ +>…ú'ö%ùÃb8õÖãùGö… ,Ëú^Ü +Ì›wú¿ÐÞ +nœ£×ã)×ã)ÀÜ.ÀÜ.÷µ*âJ»9÷µ*âJ»9÷\e$£€ööªÙ¨ U'÷Â9˜ +lƒìø¢ ºÜ5ù8- &ªÊú  Æ{´ú”x –d)ú”x –d)ùêã +ü³øï0Ç „ʉøï0Ç „ʉøsÅ ºó»ù‰îH Z­ ùêã +ü³×ã)×ã)ÀÜ.ÀÜ.þ¨3Æ +å‹“ýÀAã Eº©ýLHò uÒ4ýLHò uÒ4ý´sR peVþ3. uxÄþ7èq–4þ7èq–4þ·ßf“Bÿ©a6{·ÿoÚT ôÿé  öÿ…þ1÷¾ W.›ý´sR peVþ3. uxÄþƒ Z \8ŸÀÜ.ÀÜ.°Ø1°Ø1ÿ©a6{·þ·ßf“Bþ7èq–4þ7èq–4þRGǤëþfÊóÉþsbCÔ™þsbCÔ™þò+‰ü^OÿêCíS ÿÛÎZ<+ÿÆ${Ç­¿þÒ>^ëÂïþRGǤëþfÊóÉþå±rJK°Ø1°Ø1ªÖ2ªÖ2ÿêCíS þò+‰ü^OþsbCÔ™þsbCÔ™þ€©y˜µjþ‡V~ ,âþ‡[3§ƒfþ‡[3§ƒfÿé §ƒfÿÿÿÿ§~±ÿÿÿÿýÿø¼Q€nÊþþ×a†rRþ€©y˜µjþ‡V~ ,âÿé ²ªÖ2ªÖ2§Õ3§Õ3ýLHò uÒ4üØP ¥é¾üdW ÖIûðbÔ ÔüOº éË'ü–‡R ÖãJüÆoÈȰ°ý?5†°¢ý¿'h—Ÿžþ7èq–4þ3. uxÄý´sR peVý@za  |áüÂõö ¹³œý é ²ÎýŒÖ1 ™ôÀÜ.ÀÜ.°Ø1°Ø1þ7èq–4ý¿'h—Ÿžý?5†°¢üÆoÈȰ°üÞf^A—cüðpö»«füüq6Výx‘ì.Ð{ý÷V}Z0þsbCÔ™þfÊóÉþRGǤëýØPªÎýXYm/ŒËýkšÀ¯¤Výêõù–úÙ°Ø1°Ø1ªÖ2ªÖ2þsbCÔ™ý÷V}Z0ýx‘ì.Ð{üüq6Vý– ±¾ý¬ý,FÇý¶h§ˆýŒD>§ˆþ Ò§ˆþ‡[3§ƒfþ‡V~ ,âþ€©y˜µjþ·›¹ˆý…‰­üŸýŒ:Ó,Bþ È© ,âªÖ2ªÖ2§Õ3§Õ3ûðbÔ Ôû|iã 65ûpò fLŸú”x –d)úé‹m c0øû)à,8IûT÷ ÆwûͼÞù½ üM®ÀàºüÆoÈȰ°ü–‡R ÖãJüOº éË'ûÛÉ â²û]„^ 3mû =)8 ü *U úóÅÀÜ.ÀÜ.°Ø1°Ø1üÆoÈȰ°üM®ÀàºûͼÞù½ ûT÷ Æwûj„õ~‰ÚûzÂ)ìcû… žZ׋ü±SQôü€uª=Û©üüq6Vüðpö»«füÞf^A—cüdnšSFûä|¹lBûõëóà[ôüuKáDzv°Ø1°Ø1ªÖ2ªÖ2üüq6Vü€uª=Û©ü±SQôû… žZ׋ûÉLû–}8[÷û–œ§ŒÑüŸr§ŒÑü‘-H§ŒÑý¶h§ˆý¬ý,FÇý– ±¾ü‹Ÿs´Ýü v@ÆGôüŒ8[÷ü‘(,FǪÖ2ªÖ2§Õ3§Õ3ú”x –d)ú”x –d)ú  Æ{´ù8- &ªÊù„ Ü–Éù½4Q™³¡ùã~xZàóúÕ?*ÉhûT÷ ÆwûT÷ Æwû)à,8Iúé‹m c0øúé‹m c0øúl |bþú©óQöû)à,8IÀÜ.ÀÜ.°Ø1°Ø1ûT÷ ÆwûT÷ ÆwúÕ?*Éhùã~xZàóùö£Œ»|Rú]¡ú¿ËYûÜ pMÕû… žZ׋û… žZ׋ûzÂ)ìcûj„õ~‰Úûj„õ~‰ÚúêŽ^—g"úûb; ûzÂ)ìc°Ø1°Ø1ªÖ2ªÖ2û… žZ׋û… žZ׋ûÜ pMÕú¿ËYúl:á—gúUGDuÜúlѧ‘†ûˆ|§‘†û–œ§ŒÑû–œ§ŒÑû–}8[÷ûÉLûÉLûUßÛ)ûpòDq'û–}8[÷ªÖ2ªÖ2§Õ3§Õ3ÿÿÿÿ§~±ÿé §ƒfþ‡[3§ƒfþ‡[3§ƒfþ‡[3§©þ‡[3§Êþ‡[3§ï¯þ‡[3§ï¯ÿé §ï¯ÿÿÿÿ§ôdÿÿÿÿ§Îºÿÿÿÿ§©ÿé §©þ‡[3§©þ‡[3§Êÿé §Ê§Õ3§Õ3§Õ3§Õ3þ‡[3§ƒfþ Ò§ˆýŒD>§ˆý¶h§ˆý¶h§©ý¶h§Êý¶h§êúýŒD>§êúþ Ò§ï¯þ‡[3§ï¯þ‡[3§Êþ‡[3§©þ Ò§©ýŒD>§©ýŒD>§Êþ ҧʧÕ3§Õ3§Õ3§Õ3ý¶h§ˆü‘-H§ŒÑüŸr§ŒÑû–œ§ŒÑû–œ§­Åû–œ§Êû–œ§æEüŸr§æEü‘-H§êúý¶h§êúý¶h§Êý¶h§©ü‘-H§­ÅüŸr§©üŸr§Êü‘-H§Ê§Õ3§Õ3§Õ3§Õ3û–œ§ŒÑû–œ§ŒÑûˆ|§‘†úlѧ‘†úlѧ­ÅúlѧÅPúlѧáûˆ|§æEû–œ§æEû–œ§æEû–œ§Êû–œ§­Åû–œ§­Åûˆ|§©ûˆ|§Êû–œ§Ê§Õ3§Õ3§Õ3§Õ3ÿÿÿÿ§ôdÿé §ï¯þ‡[3§ï¯þ‡[3§ï¯þ‡V~/F3þ€©y¶½¬þsbC=ž|þsbC=ž|þò+‰SÆÿêCbõÿø¼QÏ ÿÿÿÿ;`ÿé ;[cþ‡V~/F3þ€©y¶½¬þþ×aÉçÕ3§Õ3¤Ô4¤Ô4ÿêCbõþò+‰SÆþsbC=ž|þsbC=ž|þfÃÄ„þRGÇJÒßþ7èqÏá—þ7èqÏá—þ·ßèßÓÿ©aüÿÆ${‡ÅWÿÛÎõ;Ÿþå±Ý-þfÃÄ„þRGÇJÒßþÒ>^c°'¤Ô4¤Ô4Ò5Ò5ÿ©aüþ·ßèßÓþ7èqÏá—þ7èqÏá—þ3.ÙúQý´sRß ¿ýLHòÙ âýLHòÙ âýÀAã ¸lþ¨3Æiì7ÿé XsÿoÚT;d×þƒ Zó?,þ3.ÙúQý´sRß ¿þ1÷¾øDzÒ5Ò5Î8Î8þ‡[3§ï¯þ Ò§ï¯ýŒD>§êúý¶h§êúý¬ý#1ý– žrWüüqýx‘ì ¢šý÷V}6åþsbC=ž|þ€©y¶½¬þ‡V~/F3þ È©/F3ýŒ:Ó#1ý…‰¡vvþ·³¹§Õ3§Õ3¤Ô4¤Ô4þsbC=ž|ý÷V}6åýx‘ì ¢šüüqüðpö“ÌdüÞf^ àhüÆoȆÇý?5†žÕ:ý¿'h·Ówþ7èqÏá—þRGÇJÒßþfÃÄ„ýêõù¸|òýkšÀŸÓtýXYmëýØP8ÈG¤Ô4¤Ô4Ò5Ò5þ7èqÏá—ý¿'h·Ówý?5†žÕ:üÆoȆÇü–‡Rx”€üNýe¬£ûð^IZAüdWyqÌüØP©‰WýLHòÙ âý´sRß ¿þ3.ÙúQýŒÖ1µéÖý 霤ûüÂõö•Ä.ý@za®ö4Ò5Ò5Î8Î8ý¶h§êúü‘-H§êúüŸr§æEû–œ§æEû–}û†'û… žô ?ü±ü!!ü€uªœ!üüqý– žrWý¬ý#1ü‘(#,NüŒü v@‰+"ü‹Ÿs›n9§Õ3§Õ3¤Ô4¤Ô4üüqü€uªœ!ü±ü!!û… žô ?ûzÂ)cÇûj„õÐíðûT÷ =¬žûͼÞUº¾üM®Àn¸úüÆoȆÇüÞf^ àhüðpö“ÌdüuKá‡ÅTûõëóo×ûä|¹âøˆüdnšûÕФÔ4¤Ô4Ò5Ò5üÆoȆÇüM®Àn¸úûͼÞUº¾ûT÷ =¬žû)à,)úúé‹mìFÒú”x¹¡ûpòé+,û|iãB·ûð^IZAüNýe¬£ü–‡Rx”€ü *UTPû =);?*û]„^^]ûÛÉ5cÒ5Ò5Î8Î8û–œ§æEû–œ§æEûˆ|§æEúlѧáúUG +ý9úl:màdú¿ËÐÆûÜ ß%@û… žô ?û… žô ?û†'û–}û–}ûpò îûUßsãìû†'§Õ3§Õ3¤Ô4¤Ô4û… žô ?û… žô ?ûÜ ß%@ú¿ËÐÆú]2])ùö£Œ“ûyùã~xô’"úÕ?$©­ûT÷ =¬žûT÷ =¬žûj„õÐíðûzÂ)cÇûzÂ)cÇúûb;JkIúêŽ^¸ óûj„õÐíð¤Ô4¤Ô4Ò5Ò5ûT÷ =¬žûT÷ =¬žúÕ?$©­ùã~xô’"ù½4QµÄ*ù„ráù8-(ÈLú ˆüú”x¹¡ú”x¹¡úé‹mìFÒû)à,)úû)à,)úú©óýéÔúlÓúé‹mìFÒÒ5Ò5Î8Î8þ¨3Æiì7ýÀAã ¸lýLHòÙ âýLHòÙ âü|°„ÏæûIpšSùÉÒ hoùÉÒ hoú"—Çr.,úÔ#B#¹¨üvžÔ¶ýÅ—9IÏüÝ¥V-ü|°„ÏæûIpšSûĆ#ÐI;Î8Î8rÆ>rÆ>ýLHòÙ âüØP©‰WüdWyqÌûð^IZAû3ÉÏíýú#A²aðø¿|€ùAØgØ>ùq KÀüùÉÒ hoûIpšSü|°„Ïæü·“Ÿ[û§ÂÀA +=útí´ ,cúðT²AU•Î8Î8rÆ>rÆ>ûð^IZAû|iãB·ûpòé+,ú”x¹¡ùêãRÄÉøï0ÇÊ­B÷µ*â¼’ø ðŸ]‚Pøf¶]¶H ø¿|€ú#A²aðû3ÉÏíýú¿ÐÞàÖrú^Ü ‚ÜSùGö…#sùÃ]ƒYœ2Î8Î8rÆ>rÆ>ú”x¹¡ú”x¹¡ú ˆüù8-(ÈLø¢”–à÷Â9˜âóßöªÙ¨úf£÷\e$«ò÷µ*â¼’÷µ*â¼’øï0ÇÊ­BùêãRÄÉùêãRÄÉù‰îHôÅõøsÅ”Zøï0ÇÊ­BÎ8Î8rÆ>rÆ>úÔ#B#¹¨ú"—Çr.,ùÉÒ hoùÉÒ hoù +&ÆÙ +Gø7“¤…¿‹÷V7<z²÷V7<z²÷žàºˆºBø'¾ Uxñùñ +Lú)ºô®{ùQž>C#ù +&ÆÙ +Gø7“¤…¿‹ø€YañâÜrÆ>rÆ>`ÁB`ÁBø'¾ Uxñ÷žàºˆºB÷V7<z²÷V7<z²öå¾gÜúöq-9­¿Žõù¢ìí¿õù¢ìí¿ö>® ZSÝö«u!9Æ¢÷-ç3 óíx÷¬Ö# §²ž÷.)Ô%õöå¾gÜúöq-9­¿Žö¹a ’Õ`ÁB`ÁBY¿CY¿Cö«u!9Æ¢ö>® ZSÝõù¢ìí¿õù¢ìí¿õ‚ž -ÄEõ_Ò gëôŠ ›ÌƒôŠ ›Ìƒôºœ!ÅtõBü!÷¼ õ£!¿Žö)Ž!ŸËõÃÅ ›æõ‚ž -ÄEõ_Ò gëõBñ/ × «Y¿CY¿CV¾DV¾DùÉÒ hoùq KÀüùAØgØ>ø¿|€ø#Ò½a^÷Q™„Zpö„µ+ã(öÉ#ÏIÞ%÷Ș¶µ÷V7<z²ø7“¤…¿‹ù +&ÆÙ +Gø±a€?Ôøié'÷ 3µºÎ÷èùs&+ÔrÆ>rÆ>`ÁB`ÁB÷V7<z²÷Ș¶µöÉ#ÏIÞ%ö„µ+ã(ö@¤(Wõ´s@gŒïõGÌ¡½1õ~@£v“õÃ.e~-õù¢ìí¿öq-9­¿Žöå¾gÜúö¦2†þKö]—'‘Ðõî¶WÔ¼›ö6ê"@â`ÁB`ÁBY¿CY¿Cõù¢ìí¿õÃ.e~-õ~@£v“õGÌ¡½1ôÛ$øÛè¾ôk¤¾öóùºq?á¯ô)Ñü³Ú ôYé‡ 'Ó’ôŠ ›Ìƒõ_Ò gëõ‚ž -ÄEõOw]»|wõ Æ9N0‹ô›» „·çô×HHóò+Y¿CY¿CV¾DV¾Dø¿|€øf¶]¶H ø ðŸ]‚P÷µ*â¼’÷ ß¡¸uökŸe/%Võ³.eª‚éõ÷ ä›ö@F‡}vö„µ+ã(÷Q™„Zpø#Ò½a^÷¸^d› ÷pæú‚èöº9–޹÷ÿSúÜ^rÆ>rÆ>`ÁB`ÁBö„µ+ã(ö@F‡}võ÷ ä›õ³.eª‚éõVóŠè1³ô÷½û!_ô•úU¶ôÌiÓÅo€õ\K2ÏõGÌ¡½1õ´s@gŒïö@¤(WõÞål¾C]õ–NÃQúbõ2މûõz4Ýúaø`ÁB`ÁBY¿CY¿CõGÌ¡½1õ\K2ÏôÌiÓÅo€ô•úU¶ô46Š 8óÏ㣹’Ðóix†ãöÜó™WïÍóɧœËè¾óùºq?á¯ôk¤¾öôÛ$øÛè¾ô¨ƒ¸i¥¦ôf×HüUóÿû.-‹Áô;ŒŠœÆY¿CY¿CV¾DV¾D÷µ*â¼’÷µ*â¼’÷\e$«òöªÙ¨úf£öë†Aõ…©úÚ•ôá§žq‰`õj„ç>Hõ³.eª‚éõ³.eª‚éökŸe/%V÷ ß¡¸u÷ ß¡¸uöЩg7Ÿ¼ö"Þ\ÃökŸe/%VrÆ>rÆ>`ÁB`ÁBõ³.eª‚éõ³.eª‚éõj„ç>Hôá§žq‰`ô¦p¨\ô;Û,eóä'ç ¯ ôQŠé!Ïô•úU¶ô•úU¶ô÷½û!_õVóŠè1³õVóŠè1³õX,{è¹ô¯Š1µ‡ô÷½û!_`ÁB`ÁBY¿CY¿Cô•úU¶ô•úU¶ôQŠé!Ïóä'ç ¯ óG81²ó4'æbk^òÙ6›ˆ ó9`ûoýëóix†ãöÜóix†ãöÜóÏ㣹’Ðô46Š 8ô46Š 8óò‰™ÁLó”VûJ]AóÏ㣹’ÐY¿CY¿CV¾DV¾DõBü!÷¼ ôºœ!ÅtôŠ ›ÌƒôŠ ›ÌƒôŠ ›Ìƒôjr ¨D‘ô+]v Á+Cô+~k Á¸ôX²Ë!6Ú ô²ú™" éô÷Õ†"XõBü!÷¼ ôºœ!ÅtôŠ ›Ìƒôj“ ¨ÑÏô¹!¢%V¾DV¾DV¾DV¾Dô²ú™" éôX²Ë!6Ú ô+~k Á¸ô+]v Á+Cô Ît ÍžœóäŠÆ Ý£Qó´ í;¾ó´RF îdYóÝâv!dØàô0Å "P¢¾ôe "?~Øôˆm".½ô6@ !Dl—ô ïh Î0óäÇú ÞÇ7ô½c!S´úV¾DV¾DU¾DU¾Dô0Å "P¢¾óÝâv!dØàó´RF îdYó´ í;¾ó›ý‡ õfóà þ9úóeÁ€!À¿óf‰! 9có=­!€ÇóÛJ "m•5óùü["c1)ôy"YŽ%óÕô!mÄGóœ:¼ öŠó‚+n ÿ²Ÿó«ê²!v¼U¾DU¾DU¾DU¾DóÛJ "m•5ó=­!€Çóf‰! 9cóeÁ€!À¿óI!÷zó+ÀR!*­ó +ñ*!$Øàó Eé!&¡Žó/«"!žËîóx Ö"N—ó›ê²"ƒ¾gó¼["w¤‚ónth!Š‘óIÛd!pó,!ó[óStþ!•7 +U¾DU¾DT½DT½Dóx Ö"N—ó/«"!žËîó Eé!&¡Žó +ñ*!$ØàòêQ!."pòǦl!7ýóò¢ñ)!Bkjò£OR!DlòÄŠÃ!½~óžÆ"­£Vó.±›"¢×!YËWòBÿH!^»òb‰•!ש6R½ER½ER½ER½Eò‡£"·òL ¤!Ý «ò.a!c }ò.f!`Èfòµ!!jJuñÙRØ!tFîñ«áC!~„ñ¬6!&ñÅç&!ü ºñøïú"ïlò*ŽJ"äòYäÍ"Ù!Ýòóƒ!çlòJ!l’BñÙ¬L!vªùñ÷…u!ðžR½ER½EP¼EP¼Eñøïú"ïlñÅç&!ü ºñ¬6!&ñ«áC!~„ñ~N¹!ˆ¢¼ñN¤!#žñÁ!™cÄñiÊ!›Ãñ1ºk"z"ñ\W# ’Eñ’¥Ó#‚øñÇ5k"ú.9ñ”,—"Ç:ñ~¨-!‹ÈñNjø!’~@ñhOæ" oŠP¼EP¼EM»FM»Fñ\W# ’Eñ1ºk"z"ñiÊ!›ÃñÁ!™cÄðSÀK!»1ïgÜ!Ö{æîXK*!ÖФîXK*!ÖФîXK*"TYÅîXK*#OupïH;#O ±ðx#1ÔÆðWÞ"<¼£ðT Ÿ!½ÛÓïgÜ!Ö{æïH;"TM»FM»F9µJ9µJôŠ ›ÌƒôYé‡ 'Ó’ô)Ñü³Ú óùºq?á¯óùºq?á¯óÝNK1"󣻞aËSóÐïÿÖìßóþ) Llô+]v Á+Côjr ¨D‘ôŠ ›ÌƒôYé‡ 'Ó’ô)Ñü³Ú ô +G¯ÀR¯ô==® 3#V¾DV¾DV¾DV¾Dô+]v Á+Cóþ) LlóÐïÿÖìß󣻞aËSó‡{m{ócpI{ÇËó7_ΉԽó`ô³ MúóŠ„â vÇ7ó´ í;¾óäŠÆ Ý£Qô Ît ÍžœóÞš XÅó´HÜâAóxòAóºú– g*V¾DV¾DU¾DU¾Dó´ í;¾óŠ„â vÇ7ó`ô³ Múó7_ΉԽó!};‘>ó ÃÙ™BËòð=¡ç“ói8 /÷ó>•\ x[óeÁ€!À¿óà þ9úó›ý‡ õfórh£ ~ìáóK j ·Ró0ô² ‹/óZ³ö †öKU¾DU¾DU¾DU¾DóeÁ€!À¿ó>•\ x[ói8 /÷òð=¡ç“òÖšªE¼ò»‘<´›¨ò¼É¼c)òÂ" 4ˆÔòæ‡; ¬³5ó +ñ*!$Øàó+ÀR!*­óI!÷zó"_7 ™¯òýÊé !Ž òßû+ ,ÁSó[ ¤U¾DU¾DT½DT½Dó +ñ*!$Øàòæ‡; ¬³5òÂ" 4ˆÔò¼É¼c)ò€jÄʽò`–‡Í¿Žò?>××83ò`zH PIEòµ¸ ÉZXò¢ñ)!BkjòǦl!7ýóòêQ!."pòÅç( µøò¤|£ <õòÑø FСò¦jû ¾è,T½DT½DS½ES½Eò¢ñ)!Bkjòµ¸ ÉZXò`zH PIEò?>××83ò.•ZÛò+òqsàÑÍò ×ÙåÍ®ò+T _Y)òJÔé ØßïòjQ!Rkjò}³^!Lðkò‘Ò!G›òoVb ΊòOÌ U=ò<í  ZX“ò^71 Ói¥S½ES½ER½ER½EòjQ!RkjòJÔé Øßïò+T _Y)ò ×ÙåÍ®ñú+kêŒ[ñç©îQ‚ñÕ*òÉñò¯> lʾòYR æÇ8ò.f!`ÈfòB¡![Ú¤òVà®!WŸËò7_Ì ÞPò¬M dÖòl¾ hR°ò$÷ áÙvR½ER½ER½ER½Eò.f!`ÈfòYR æÇ8ñò¯> lʾñÕ*òÉñ¯€¿ûs ñˆg ‰ñ^Í× Nñx~û ˆ÷yñ’0!Ú¤ñ«áC!~„ñÙRØ!tFîòµ!!jJuñç ðMüñÍ*Ô ut<ñ¡È‹ p´ñ¿¡´ ùcÃR½ER½EP¼EP¼Eñ«áC!~„ñ’0!Ú¤ñx~û ˆ÷yñ^Í× Nñ5h ?ñ ”À ¿ðÜ'à &9øðñx€ ¡ññÉ!!¬¼ñÁ!™cÄñN¤!#žñ~N¹!ˆ¢¼ñd•! ºÜñO+ ‘újñå` ™v—ñ8ÊN!gáP¼EP¼EM»FM»FñÁ!™cÄñÉ!!¬¼ðñx€ ¡ñðÜ'à &9øð& Ì E-œïNø1 ]×îXK* ^+ÙîXK* Û´ùîXK*!YBÏîXK*!ÖФïgÜ!Ö{æðSÀK!»1ð>o«!?Åtð;]l ÀéYïNø1 Û`:ïgÜ!XîM»FM»F9µJ9µJóùºq?á¯óɧœËè¾ó™WïÍóix†ãöÜóix†ãöÜóO¯Øî³ó{kbóIRÜwŒïóv‡=ì©Æó£»žaËSóÝNK1"óùºq?á¯óɧœËè¾ó™WïÍó|ä9c?@ó¯ÞíÖ–V¾DV¾DV¾DV¾D󣻞aËSóv‡=ì©ÆóIRÜwŒïó{kbóZ‚  YòâZìDòº¯@&m½òä?oœæúó ÏŸ`6ó7_ΉԽócpI{ÇËó‡{m{óYàø£ó/ŽãÁæó ê±eó9àNŽV¾DV¾DU¾DU¾Dó7_ΉԽó ÏŸ`6òä?oœæúòº¯@&m½ò¦üî- ò‘¬N4PPòz³ô<ò¡à³[€òÉ <*£äòð=¡ç“ó ÃÙ™BËó!};‘>ò÷í ÄÙòБÓ£Jò¸Ør«“ÿòâ—¶!ÿU¾DU¾DU¾DU¾Dòð=¡ç“òÉ <*£äò¡à³[€òz³ô<òc¨ÆC˜³òKfÜM £ò0ˆgSè½òTí ÌòyWD8Éò¼É¼c)ò»‘<´›¨òÖšªE¼ò¯mí3 òŠÔéºáòoÌÅ2Nò—,××83ò`–‡Í¿Žò€jÄʽò[²0L¥ò:G«Ó¢òÆÉÜ’<ò?_ÌT©ÇT½DT½DS½ES½Eò?>××83òf^"lñüÇöåZñÛ‘:lGñÌ”+pIAñ½*Ót®zñ­Yèy4¨ñÌÚÊòÀ#ñìV÷lFéò ×ÙåÍ®òqsàÑÍò.•ZÛò+ò YébáñíÏœéZSñÜ«¶î9õñýð‘gFRS½ES½ER½ER½Eò ×ÙåÍ®ñìV÷lFéñÌÚÊòÀ#ñ­Yèy4¨ñzÝ}}¢ñŒä4€Íñ| ¢„Ïoñ™µ¶þËèñ·_ËxÍñÕ*òÉñç©îQ‚ñú+kêŒ[ñÚ¯>q–ñ¼÷ +÷gñªŽHúÉŽñÊ•tU R½ER½ER½ER½EñÕ*òÉñ·_ËxÍñ™µ¶þËèñ| ¢„ÏoñZL^Œ [ñ6Ûö”Ïoñºjfñ+kŽMøñE³“1#ñ^Í× Nñˆg ‰ñ¯€¿ûs ñ‘Ö«v”ñwörœÔñP·OñnfC‰ª^R½ER½EP¼EP¼Eñ^Í× NñE³“1#ñ+kŽMøñºjfðìT¥‹ÂðÅ Ü«[€ðœ1J³ wð±ê.Ç4ðÆÒ‹ª~;ðÜ'à &9øñ ”À ¿ñ5h ?ñ¶âœ/_ñ2x níðÚZ}'=ðôD ¢ÒP¼EP¼EM»FM»FðÜ'à &9øðÆÒ‹ª~;ð±ê.Ç4ðœ1J³ wïøYMÎÞ½ï6ÍÒå2NîXK*å‡ îXK*c.îXK*àžîXK* ^+ÙïNø1 ]×ð& Ì E-œð¼,Év•ð ©îJ•Åï6ÍÒb»oïNø1àIDM»FM»F9µJ9µJóix†ãöÜóix†ãöÜó9`ûoýëòÙ6›ˆ òÙ6›ˆ òÂLa‘ +Dò”|££ ròîÉ%Œ¼˜óý†Þ$ó{kbóO¯Øî³óix†ãöÜóix†ãöÜó9`ûoýëó˜äz»jóOŽãíuV¾DV¾DV¾DV¾Dó{kbóý†Þ$òîÉ%Œ¼˜ò”|££ rò} ‰¬!8òa@¸¾ò=ùüýòáܮЛòºr %I×òº¯@&m½òâZìDóZ‚  Yó>B ò×í •×ò´'ä£ÚœòâMÈ^V¾DV¾DU¾DU¾Dòº¯@&m½òºr %I×òáܮЛò=ùüýò,WÈò»ò ÏY!ò*ÔÖ>¥òS<}ÃRòzmV:šwòz³ô<ò‘¬N4PPò¦üî- ò¦Äo+ò'òi7´¼˜òg¡¶¼lò‘e¯2ÒöU¾DU¾DU¾DU¾Dòz³ô<òzmV:šwòS<}ÃRò*ÔÖ>¥ñð·{ÜæöñÛ<{åxéñÃTësò ÎoÙõ®ò03¨R ò0ˆgSè½òKfÜM £òc¨ÆC˜³òcb'B ò>É$Éÿò#¶åÔFòKÒK?@U¾DU¾DT½DT½Dò0ˆgSè½ò03¨R ò ÎoÙõ®ñÃTësñ«¨Äò$Áñ’€(ùBÄñwÞèÈ\ñ¹üVðÛ3ñÛ7ÆiìEñÛ‘:lGñù‹Xc)òݼ[w¿ò³Y¯ñô#-à¬ñÔ–éUœñù6™am'T½DT½DS½ES½EñÛ‘:lGñÛ7ÆiìEñ¹üVðÛ3ñwÞèÈ\ñj’ý Wñ\èéÝñNଠ›¢ñ„Gý}¡ñ­)wfñ­Yèy4¨ñ½*Ót®zñÌ”+pIAñÌ:·n5?ñ¬°kô³.ñ›Œ„ùqÛñ¼Ör~8S½ES½ER½ER½Eñ­Yèy4¨ñ­)wfñ„Gý}¡ñNଠ›¢ñ@Å™nèñ2¿H§ñ# eÕNñ^ φtñ{¶ã‚‡£ñ| ¢„ÏoñŒä4€ÍñzÝ}}¢ñ!i{M`ñi5L1ñmsùÍñŒu~…HR½ER½ER½ER½Eñ| ¢„Ïoñ{¶ã‚‡£ñ^ φtñ# eÕNñýÈóðå …% ðÄ«³,¼—ð÷½ò áño› ñºjfñ6Ûö”ÏoñZL^Œ [ñY÷ŸŠSÙñ@±zñ²ÄxUñ6‹í’kdR½ER½EP¼EP¼Eñºjfño› ð÷½ò áðÄ«³,¼—𣚢3ûð€~ù8ü&ð\:´?á«ð†žÀ4õð›ï`°¬ ðœ1J³ wðÅ Ü«[€ðìT¥‹Âðì6£#ðÖ±–'bðªã.”ðÄÇó¨ü)P¼EP¼EM»FM»Fðœ1J³ wð›ï`°¬ ð†žÀ4õð\:´?á«ïÊ¡X‹(ï¨'lƒîXK*lâBîXK*gù8îXK*å‡ îXK*å‡ ï6ÍÒå2NïøYMÎÞ½ïødÌfïõ%Mž–ï¨'g¤yï6ÍÒå2NM»FM»F9µJ9µJ +endstream endobj 62 0 obj <>stream +ÿÿÿÿ]ÿÿÿÿUo;ÿÿÿÿñy;ÿÿÿÿñy;þPwöñ=@ü½ œeµû\È’jûPJþ%7¢û,LÞ‚z£úðÊr,19üqBeÀ¨þ)ñS0 þ)ñSUB@þPwöñ=@ü°“u­3Bü¬Áñ÷9µJ9µJcÁAcÁAúðÊr,19û,LÞ‚z£ûPJþ%7¢û\È’jùû¾’ÚøÎ-ôÐQ¹÷ÓA{˜ô÷¿©Ñº8÷€3EföZ÷á•ìO9ø&iïÊùn²g˜ÞJùª1ï'´ùî„*ž`gøº–JåtÞø‘»ŸEFcÁAcÁA~É<~É<÷á•ìO9÷€3EföZ÷¿©Ñº8÷ÓA{˜ô÷W!œÙîöæ6µ2 rö·âÄݯölåVÙR„ö#A}ííõ¤Ð¯êöc¾ öT‹{CÓöø¦;õêô÷Cj¸±û3öÑd)F€GöÔw“ü#~É<~É<ˆÌ:ˆÌ:õ¤Ð¯êö#A}ííölåVÙR„ö·âÄݯöhH„©ßöQóz€ö92rIMö$&(†`kõØPÇ‚OõUŒÇ5©[õo¤ÕSWÓõ‰²r7ÍöÖÿw°öSy¸¾Sìö<¨¡‘žõòkÑå.çˆÌ:ˆÌ:ŠÌ9ŠÌ9õUŒÇ5©[õØPÇ‚Oö$&(†`kö92rIMö-6Žd’¶ö!léVð½ö¶IccöÌø]Gåõ³èî)Hõ/ £ Šõ;αѧõH¢}&²BõËiz¸‹6öM„x«´ö ƒßjÕ@õÀ©ü«óeŠÌ9ŠÌ9ŠÌ9ŠÌ9õ/ £ Šõ³èî)HöÌø]Gåö¶Iccö á;ðFõÿaZ-ƒàõôD%¾Jõß[3h²õ‘tir sõ +ˆÛ¢Ìõ¨mê¨ãõ".˜úUËõ§ ãŽu©õôøOÒèõêxPA.Hõ†ŠŠÌ9ŠÌ9‹Í9‹Í9õ +ˆÛ¢Ìõ‘tir sõß[3h²õôD%¾JõÞgrägõÈÊyè^Üõ³pùÍ/ˆõžžmà`õNÁjØôÃáp”¾ôÛ&Ÿ=–ôòµŒ½BEõy¥S© õÉ~hŽÏõ³ô-ûoõfü:(ЋÍ9‹Í9Í9Í9ôÃáp”¾õNÁjØõžžmà`õ³pùÍ/ˆõž–î±¢~õ‹Q¼•jãõwœz ´õbëFŒ´tõ=oÆU-ô‚’&ð¾ô˜ + DÎô­#Òcˆõ8ÌþsÊõ‰À¢ÄÓõv í¨£õ&´ìä2€Í9Í9Î8Î8ô‚’&ð¾õ=oÆU-õbëFŒ´tõwœz ´õOyCÊ*õ-@ ‰Ñõ +uÒÕ·½ôöH6ç1¹ô¡Nî×éô ‰ùs¬-ô1d,®qJôVëèë¯ìôå–Ç‹[õ:Ì Vqëõ3ÍôÇ)!VžæÎ8Î8‘Î8‘Î8ô ‰ùs¬-ô¡Nî×éôöH6ç1¹õ +uÒÕ·½ôø§}» }ôé¿cŸ\ôÙòž„3!ôÆú•-ôo«Ç6¹óÖ–ðÀ£óçÓ8£óø2 Vˆhôöþþ¶ôäyâ̇yôÕ뿯ðHô€ãx䔘‘Î8‘Î8“Ï7“Ï7óÖ–ðÀ£ôo«Ç6¹ôÆú•-ôÙòž„3!ôÊiSiëô»CNlLô«û®4eô˜@DBÀô@¸üsÿF󤂢ÃO¶ó´øàDóÅ©†ý3éô^½¬©«Þô¶•¯yö×ô§©Õ^˜¨ôQ21¿´“Ï7“Ï7”Ï7”Ï7󤂢ÃO¶ô@¸üsÿFô˜@DBÀô«û®4eôeDýû7ôtš_ÉÖ[ô[Þñ–µôIgì¤Þòóï%cÏÏÌóMÕéAóhÎOcµó†E¸ˆWþô"Ò9Žô|öÖ'“ôb#ZØž˜ô +[J@”Ï7”Ï7–Ð7–Ð7óMÕéAóï%cÏÏÌôIgì¤Þòô[Þñ–µôP + {óiôDb%b3sô8ãxHÔôô&úæVçbóË¢÷€tó&×ëžHó3d~ÞMó@!ÌúdÍóâ7Y³KXô=“Š»¦ô2y’pDóØ/Š›-[–Ð7–Ð7—Ð6—Ð6ó&×ëžHóË¢÷€tô&úæVçbô8ãxHÔôô-·E/V˜ô!}*¾ÆôÌýgÆôÃì +†óªm1 /óFpI¡ó lM‹çŠó¡¦Ëäó¿lœc¬0ôγ=g&ô.J$¦ó´Ç\L«—Ð6—Ð6˜Ð6˜Ð6óFpI¡óªm1 /ôÃì +†ôÌýgÆôŠ!Ëÿóð:ɚʦóß`k óÏ[v÷¢óqIð˜ÊöòÅ,“Љûòל£™òí¢9`Gó”ýú%µóó7Øj¾óà5ɦ´(óƒ¹uÌ䓘Ð6˜Ð6™Ñ6™Ñ6òÅ,“ЉûóqIð˜ÊöóÏ[v÷¢óß`k óÏ9a;󿙘 ¬Yó°„‚ßáLó¡çaê_1óBj•ókò’8úò¢ Ÿi¨!ò³^?œ8#ó_{›dyó¿4aFù‚ó°üw*=óRh8û²™Ñ6™Ñ6šÑ6šÑ6ò’8úóBj•ókó¡çaê_1ó°„‚ßáLó£–x²k°ó— d†”Ló‹"C\]ó}ÿ¿ez‡ó^Ž ¡òi73©0òvR8×%>òƒðqÿÁó4LèÖSRó”ý¼ç´óŠž¯ñó*y”­¯šÑ6šÑ6›Ñ6›Ñ6òi73©0ó^Ž ¡ó}ÿ¿ez‡ó‹"C\]ó„¿ÝGYºó€[F2E”ó{‚z¾óo"ã&0öó?=ØÞòX$Md·™ò]u { ßòbUX’WóxôhÈów¡Pw?ósÿo:¸‰óRÿT@D›Ñ6›Ñ6œÑ5œÑ5òX$Md·™ó?=ØÞóo"ã&0öó{‚z¾óvÃì .îórÜõ +²ómŠJáOkóañ`éódþíòHâ;"ÁèòMÜÃ8L#òRñŠNH³óÓ;'iùójdU¡ãóf3üÖ×ó^Žu`œÑ5œÑ5œÑ5œÑ5òHâ;"Áèódþíóañ`éómŠJáOkóiöÍeód—áº<5ó`>‰§PüóUh®}Ïòóy¼‡Îò:rãr¸ò?)$ø(òCö± 5Îòûx|é_ +ó]k Õ\ŠóY¾%Ái òø0Ë×/>œÑ5œÑ5œÒ5œÒ5ò:rãr¸òóy¼‡ÎóUh®}Ïó`>‰§Püó\Íœ”8ÆóYol‰†óV#üoEóLíuÖ_òéϤˆ/gò/X ¦NTò2ö‰º<5ò6ªðΞLòï²—­³bóQ÷ ›cºóO\^ˆÉòímœHœÒ5œÒ5Ò5Ò5ò/X ¦NTòéϤˆ/góLíuÖ_óV#üoEóO§WJºjóIqì'ÕpóC‹:›Íó:öˆ «òØ*Œ2_ò4*ò!‰«XX£ò(IÉ~kòâ½`L$óE”IQIÍó@àú-D-òÞ”r?sùÒ5Ò5Ò5Ò5ò4*òØ*Œ2_ó:öˆ «óC‹:›Íó:úHôSó2–Q‡…xó-#ÔQÜ ó'f^UQMòÃær_ò«nëÇò–©q*ò¢©ë¡òέoÒ<Öó2iUÉ!1ó,ÕŠüòÉÐ䙈HÒ5Ò5žÒ5žÒ5ò«nëÇòÃær_ó'f^UQMó-#ÔQÜ ó) ö ó%{Líõó"hĬ]ófÆ›/ò»?Ì ÌñöøiÔúvñúO÷Vñþ4<4F†ò¿rÝ$]¤ó#P€ˆ˜ó" Üîò§ò¾•²øÍžÒ5žÒ5žÒ5žÒ5ñöøiÔúvò»?Ì ÌófÆ›/ó"hĬ]ó # œMfó Íz™ïó'ã_ªVó¢`‡ò¹±§bòñóZ€fëÈñôYh„Eçñô~å¨û¶ò¸Å}  -óÈœž>ó‘ñ{u;òº°€L'žÒ5žÒ5žÒ5žÒ5ñóZ€fëÈò¹±§bòó¢`‡ó'ã_ªVóÚC)ÉCó5R×Êó5R×Êó5R×Êò¹=rÙªññQqÝjññQqÝjññýá,7‰ò¸U(=ÈóTg*¦oó5R×Êò¹=rÙªžÒ5žÒ5žÒ5žÒ5ÿÿÿÿñy;ÿÿÿÿƒ:ÿÿÿÿ)‹ZÿÿÿÿÅ•Zþvþ™ÅJaýÛîx ýûÈÂòü¤Ñû¤ÄÒYåóû€Æ²·(ôû\È’jü½ œeµþPwöñ=@þPwöE`þvþ™)@aüäÝÎÕcþüá)?"´9µJ9µJcÁAcÁAû\È’jû€Æ²·(ôû¤ÄÒYåóûÈÂòü¤Ñú‡Q‚IJùuñùÖQø‘¡aàÎøR*ÕjÐø¸·Zò÷ÓA{˜ôøÎ-ôÐQ¹ùû¾’ÚúÿÞ0Q¹úcO7ߊlù6{l#Dsù ¤€ƒ—cÁAcÁA~É<~É<÷ÓA{˜ôø¸·ZòøR*ÕjÐø‘¡aàÎø ³ø¾n)÷º]XÄ÷^Ÿ«ú S÷ûÓ=¨¼öËWúD%ö·âÄݯöæ6µ2 r÷W!œÙî÷–xîO›ì÷áA+ ¬+÷pj@ ô-÷/ÚŽîp ~É<~É<ˆÌ:ˆÌ:ö·âÄݯöËWúD%÷ûÓ=¨¼÷^Ÿ«ú S÷GuWá†`÷2fÐÇ.÷‘œ®é?öлyð Dö„åU1)Hö92rIMöQóz€öhH„©ßö±ì]fC®öýÕ>%!Éöæ­½3öœÚLZ|ˆÌ:ˆÌ:ŠÌ9ŠÌ9ö92rIMö„åU1)Höлyð D÷‘œ®é?÷Æà¢s*÷ !–Óöüb!‰¿;ö¯~É žöbš  ‚ö¶Iccö!léVð½ö-6Žd’¶öy ²#r±öÅð¼ã“/öº*×Õñ6önPó[ŠÌ9ŠÌ9ŠÌ9ŠÌ9ö¶Iccöbš  ‚ö¯~É žöüb!‰¿;öñ—d}ŠÀöèHp^ÜöÝÿºc×éöI¢z©öB.—áŠõôD%¾JõÿaZ-ƒàö á;ðFöVÅ)üãö¤³Z½l#öš3–¯öMKÌîâÿŠÌ9ŠÌ9‹Í9‹Í9õôD%¾JöB.—áŠöI¢z©öÝÿºc×éöÊXJ†‰ö¶nð1‚ö£BÊSöS'?TìöMü‘ Ìõ³pùÍ/ˆõÈÊyè^ÜõÞgrägö,N$ÅA§ö|.ç‰)Iöf•­m£¾ö§|¬=‹Í9‹Í9Í9Í9õ³pùÍ/ˆöMü‘ ÌöS'?Tìö£BÊSö + +ÿ¾Lö~•­æÕöl¥›Í(ªö÷ÄÉcõÉIí@kûõwœz ´õ‹Q¼•jãõž–î±¢~õîp1u€Áö@-;àö,çÖ¨nõÜÿ”[ÈJÍ9Í9Î8Î8õwœz ´õÉIí@kûö÷ÄÉcöl¥›Í(ªöH + +›äiö)1h¤7ö aª7ÃLõ´hbli}õ_o¡Œõ +uÒÕ·½õ-@ ‰ÑõOyCÊ*õ¡&ð +'’õö\3Õ…!õÔéJgõ‚9×Öã¡Î8Î8‘Î8‘Î8õ +uÒÕ·½õ_o¡Œõ´hbli}ö aª7ÃLõùñ’‘õë¯sõõÝNLí£Àõ†ÚhÔ+õ0fƒR¶ôÙòž„3!ôé¿cŸ\ôø§}» }õM Å†gMõ¤#©T8Áõ•;Ž8F€õ@7lêБÎ8‘Î8“Ï7“Ï7ôÙòž„3!õ0fƒR¶õ†ÚhÔ+õÝNLí£ÀõÏ,àÕ îõÁ8o¼ÊTõ³t¹¤Ýõ[¤5Ô™™õÏñWÿô«û®4eô»CNlLôÊiSiëõ Ý86ñ`õx¸û±õB°Œ£^¶õ&áço9ÚôÎÜèžå‚”Ï7”Ï7–Ð7–Ð7ô[Þñ–µô¶%:k#üõgÃ@3#õj® BJõ_òNý€$õU\ æÖõJïÏ Ÿôï—÷¤±ô”?' ;âô8ãxHÔôôDb%b3sôP + {óiôªPVQõ¬(rÝôú²çôŸº9ša–Ð7–Ð7—Ð6—Ð6ô8ãxHÔôô”?' ;âôï—÷¤±õJïÏ Ÿõ@É:·ßlõ5Ž¡”#õ-RЇÌôÐÀ{°Òuôti¤×ôÌýgÆô!}*¾Æô-·E/V˜ô‰4½†ôåqJàx}ôÙ70ÇÞÌô}Ôðr>—Ð6—Ð6˜Ð6˜Ð6ôÌýgÆôti¤×ôÐÀ{°Òuõ-RЇÌõr:\¿·õÝ80ñ³ôù“§’Dô›‚y'e˜ô=qKI:Ìóß`k óð:ɚʦôŠ!Ëÿô`àø¤ÅVô¿cƒ +`ôªÌ +RÆæôNK÷x÷R˜Ð6˜Ð6™Ñ6™Ñ6óß`k ô=qKI:Ìô›‚y'e˜ôù“§’DôêãÈÙúšôܯ¯ÖôÎúæ‡&~ôo~¤º¸ôNÂMó°„‚ßáL󿙘 ¬YóÏ9a;ô-FÏ<¬ôŒÒšûÍîô}2ÑÍjHôdï™Ñ6™Ñ6šÑ6šÑ6ó°„‚ßáLôNÂMôo~¤º¸ôÎúæ‡&~ôÃ@?]מô·î6Zô­ T©³ôLhd):ÍóëÃtBËçó‹"C\]ó— d†”Ló£–x²k°ôD”×vôcÃs{kØôWM^O–Tó÷ÅTm2šÑ6šÑ6›Ñ6›Ñ6ó‹"C\]óëÃtBËçôLhd):Íô­ T©³ô§.!ü˜üô£E?éjIôžà¨ÖÄhô=ÀîlQóÜ£ó{‚z¾ó€[F2E”ó„¿ÝGYºóådÍ-È ôFŒð*ôB(Zóá{묛Ñ6›Ñ6œÑ5œÑ5ó{‚z¾óÜ£ô=ÀîlQôžà¨ÖÄhôš’Ä ô–W5±É@ô’6ŸÛô0¤þµ¬ƒóϤË}÷ómŠJáOkórÜõ +²óvÃì .îó×àÑñ‡ô9qëÛ¾ñô4ÉÛÇš´óÓ©6ß9=œÑ5œÑ5œÑ5œÑ5ómŠJáOkóϤË}÷ô0¤þµ¬ƒô’6ŸÛôŽ<ìÝôŠÝ|^Bô† +ük/?ô$+;óÂ-Z“Fýó`>‰§Püód—áº<5óiöÍeóÊ‘Q·¾ñô,ƒá£¾Qô( j!󯆲¦0WœÑ5œÑ5œÒ5œÒ5ó`>‰§PüóÂ-Z“Fýô$+;ô† +ük/?ô‚ôYÓ@ôèPHØ·ô|ó8=Æô®J”îó¸i\íõóV#üoEóYol‰†ó\Íœ”8Æó¾¼m€,çô!vmßô§[/ßó»´uo2_œÒ5œÒ5Ò5Ò5óV#üoEó¸i\íõô®J”îô|ó8=ÆôwåãôqZ-÷Tôkö®Ù"qô &òèL%ó¦W6÷sùóC‹:›ÍóIqì'ÕpóO§WJºjó±è¡8acô¿Ü)_ ôŠq{ðó¬A¨­œÒ5Ò5Ò5Ò5óC‹:›Íó¦W6÷sùô &òèL%ôkö®Ù"qôdU¦œIô\–Ÿe™ÆôWŸ×4Ëšóô#«>{Qó£¿H,éó-#ÔQÜ ó2–Q‡…xó:úHôSóÊ´Œô…é«rºóùtoI~ó–<}ÕÁÒ5Ò5žÒ5žÒ5ó-#ÔQÜ ó£¿H,éóô#«>{QôWŸ×4ËšôSç°ßpôP§~ÙtôMÛ´\eóê ݹË"ó†:y¿;Àó"hĬ]ó%{Líõó) ö óŒábTóðgÄ (óìÕÞó‰Iðç“8žÒ5žÒ5žÒ5žÒ5ó"hĬ]ó†:y¿;Àóê ݹË"ôMÛ´\eôKÇ3 ÷ôKÖ2píøôJõGXhäóçæZÕJóƒD]?Ðó'ã_ªVó Íz™ïó # œMfóƒñ°–Þ©óçôÏ•´óçåÑsX~ó„.x/ižÒ5žÒ5žÒ5žÒ5ó'ã_ªVóƒD]?ÐóçæZÕJôJõGXhäôI¶¥'ZþôI3Ô +ôI3Ô +óå!SÕêó-2×Êó5R×Êó5R×ÊóÚC)ÉCóʤ'^½óåÊ)Çdóå!SÕêó-2×ÊžÒ5žÒ5žÒ5žÒ5ÿÿÿÿÅ•ZÿÿÿÿaŸYÿÿÿÿý§yÿÿÿÿ™±yþ…<™WýTª’SÞ%ü4½RäÝ­ü¿2B ¯ûìÁŸaÐûÈÂòü¤ÑýÛîx ýþvþ™ÅJaþvþ™aT`þ…<ýOaý0¬r±Fý,ÚßÜ9µJ9µJcÁAcÁAûÈÂòü¤ÑûìÁŸaÐü¿2B ¯ü4½RäÝ­ûœ®výÛúµýÛ½ +ùPG5(¨ùŠ»‚fªøÑîϤ¬ø‘¡aàÎùuñùÖQú‡Q‚IJú«O6%IúÔ@ÜùÞ?q(ù,ùµh…ˆÊPcÁAcÁA~É<~É<ø‘¡aàÎøÑîϤ¬ùŠ»‚fªùPG5(¨øêeŽàDøá»ˆ¦ø;‡t/<ø÷ñãœrØa÷¨?öqê÷^Ÿ«ú S÷º]XÄø ³ø¾n)ø`*…q2øªòÁ-@føD=ãÌAø®1½[~É<~É<ˆÌ:ˆÌ:÷^Ÿ«ú S÷¨?öqê÷ñãœrØaø;‡t/<øø&¢*-©øÅî¿ÜøÇë‰1÷´=ä,©6÷hgÀmÉ:÷‘œ®é?÷2fÐÇ.÷GuWá†`÷‘/ê÷÷ÜþQ\É÷ÇïËBßà÷~<ô†})ˆÌ:ˆÌ:ŠÌ9ŠÌ9÷‘œ®é?÷hgÀmÉ:÷´=ä,©6øÇë‰1÷öZñàSž÷ì­Õ.é÷ã@Ê÷–*6 üv÷IF+IÝÙöüb!‰¿;÷ !–Ó÷Æà¢s*÷]aS%÷ª„Í!s£÷ŸÉL÷Sï+V.qŠÌ9ŠÌ9ŠÌ9ŠÌ9öüb!‰¿;÷IF+IÝÙ÷–*6 üv÷ã@Ê÷ÙIê¿%:÷ÐÓ5³9Ù÷Ç·§óg÷yÐÞæ”H÷+æl%7öÝÿºc×éöèHp^Üöñ—d}ŠÀ÷>{n=©]÷Œeàÿ÷‚ìƒñÚ¹÷6º1¼ŠÌ9ŠÌ9‹Í9‹Í9öÝÿºc×é÷+æl%7÷yÐÞæ”H÷Ç·§óg÷µË>‘(ª÷¤hz¥'÷’“Ìde÷Bºˆ †Ùöò݆ܨ–ö£BÊSö¶nð1‚öÊXJ†‰÷ + å¨÷gàÍÏËk÷T:$¶Æã÷Kóõ`E‹Í9‹Í9Í9Í9ö£BÊSöò݆ܨ–÷Bºˆ †Ù÷’“Ìde÷yfMØ:÷qÝ]6¢§÷a¯! D ÷JYåYö¾Ss“‡ñöl¥›Í(ªö~•­æÕö + +ÿ¾LößãMÜ÷1 #‰ù÷÷ /†pC`öÐC„¬eÍ9Í9Î8Î8öl¥›Í(ªö¾Ss“‡ñ÷JYåY÷a¯! D ÷@—<óþ§÷$õ“ż¾÷Mƒ™ÎÜö³T;Îu ö^Zóö aª7ÃLö)1h¤7öH + +›äiö™·âbAÐöîéd-Ÿ`öÏüKúbîö~y3ü'Î8Î8’Î8’Î8ö aª7ÃLö^Zóö³T;Îu ÷Mƒ™ÎÜöùŽ¥„¥öퟃm®öà©ûW>öŠ6‰F©ö3Â1»u4õÝNLí£Àõë¯sõõùñ’‘öN9êìaö¤•]¸½Õö—+ŸŸC9öB#XÓ牒Î8’Î8“Ï7“Ï7õÝNLí£Àö3Â1»u4öŠ6‰F©öà©ûW>öÓì¬@ùÐöÇXš+(\öºñ„¡áöc@E`Gö Hýu­õ³t¹¤ÝõÁ8o¼ÊTõÏ,àÕ îö% Ä¢Ýcö}xÈs(\öo„WZäâö ² î“Ï7“Ï7”Ï7”Ï7õ³t¹¤Ýö Hýu­öc@E`Göºñ„¡áö¤¤[éCŠö¹Á¾¹Çöy}'”mÞö6Þ¿^¸õÄôUêQqõj® BJõ(0DIõš„Ðs QõòYCáëöLÐðö3sx鬀õÛnyVH”Ï7”Ï7–Ð7–Ð7õj® BJõÄôUêQqö6Þ¿^¸öy}'”mÞöoÚ¿öfY³j9ö\þSUBKö¢¤}Ù|õ¦Jµ¦rŽõJïÏ ŸõU\ æÖõ_òNý€$õº4×ÒKö”F©ÿ™ö +þ’™Jõ°·»½€Ä–Ð7–Ð7—Ð6—Ð6õJïÏ Ÿõ¦Jµ¦rŽö¢¤}Ù|ö\þSUBKöSÞî@jöIžä,iöBÙ¥òõåÅ=ð›õ‰n*d;Cõ-RЇÌõ5Ž¡”#õ@É:·ßlõœ$éFZõø†ÿiQõíH R¶õ‘äß{Iz—Ð6—Ð6˜Ð6˜Ð6õ-RЇÌõ‰n*d;CõåÅ=ð›öBÙ¥òö2ZSîooö!{èÇ¿öÃq ˆõµ²CÁé¼õW¤Õã½ôù“§’DõÝ80ñ³õr:\¿·õwÉ6uõÖ{ºõÃjºèíóõfîf_˜Ð6˜Ð6™Ñ6™Ñ6ôù“§’DõW¤Õã½õµ²CÁé¼öÃq ˆöŽ.xãUõùÅ¡RÿÂõíqI.iÑõô}Kþ +õ.w±i’DôÎúæ‡&~ôܯ¯ÖôêãÈÙúšõHôõ¸%fõ¨}š¶©õšHÕp’õ<,h’AÔ™Ñ6™Ñ6šÑ6šÑ6ôÎúæ‡&~õ.w±i’Dõô}Kþ +õíqI.iÑõâæF ElõØÀzåtHõÎô¥ÂödõnSt܇~õ ®„ö˜ô­ T©³ô·î6ZôÃ@?]מõ"½ @Cdõƒiz&Ù¦õxŠÿbõ“r@šÑ6šÑ6›Ñ6›Ñ6ô­ T©³õ ®„ö˜õnSt܇~õÎô¥ÂödõÉœe±Ö_õÆ/7 ÞõÂ>ÖÈðõa1§r¸õM¿¡ôžà¨ÖÄhô£E?éjIô§.!ü˜üõÓãõhû5ËgyõeS¸8ÆõeãÑÂa›Ñ6›Ñ6œÑ5œÑ5ôžà¨ÖÄhõM¿¡õa1§r¸õÂ>ÖÈðõ¾a3~ýDõº–Nn…ïõ¶Þ'^f²õUPÍt8&ôóÃsŠ šô’6ŸÛô–W5±É@ôš’Ä ôû¯t¬mAõ]@Ž–¥,õYô„Wcô÷ä›÷ÌœÑ5œÑ5œÑ5œÑ5ô’6ŸÛôóÃsŠ šõUPÍt8&õ¶Þ'^f²õ³NGuõ¯q™>€Põ«×p/ ‚õIèŸCaôçùÍW#`ô† +ük/?ôŠÝ|^BôŽ<ìÝôïž–xiõQ‘'déõM‚ÈRŠOôëñ®hRdœÑ5œÑ5œÒ5œÒ5ô† +ük/?ôçùÍW#`õIèŸCaõ«×p/ ‚õ©²m¹õ¦a3&õ£¾r4õAyi—ôß4`%ä¾ô|ó8=ÆôèPHØ·ô‚ôYÓ@ôäâØEÇaõG'á3y˜õDé"}0ôâ-Y6°œÒ5œÒ5Ò5Ò5ô|ó8=Æôß4`%ä¾õAyi—õ£¾r4õžbsãU\õ™BnÆÒÈõ”b#«ªôõ1’gºÒÉôÎÆjÉúôkö®Ù"qôqZ-÷TôwåãôÙF.®Üõ<jõ®dõ6r²ÕúôÔ)éè,HÒ5Ò5Ò5Ò5ôkö®Ù"qôÎÆjÉúõ1’gºÒÉõ”b#«ªôõ­Dtߘõ†š®C¬5õ‚Ú¼sõ›î!l+ô»Â+âôWŸ×4Ëšô\–Ÿe™ÆôdU¦œIôÇ%b!1õ*áG„lõ#ÂM[ìôÀ‹[êÒ5Ò5žÒ5žÒ5ôWŸ×4Ëšô»Â+âõ›î!l+õ‚Ú¼sõ~Ájëªõõ{ÏñÅóõyNí¤ lõ|‰©} +ô±­å®ëÇôMÛ´\eôP§~ÙtôSç°ßpô·g›ú-ÙõAõZ­õMʉ±ô´v"ÓמÒ5žÒ5žÒ5žÒ5ôMÛ´\eô±­å®ëÇõ|‰©} +õyNí¤ lõwkZ‚ò§õw”–g@ õvªQ'rõÒIS“Øô®å¨Uþ^ôJõGXhäôKÖ2píøôKÇ3 ÷ô¯™—Š0Yõœ¶ˆcDõ¤5i¬†ô¯Æ“n’žÒ5žÒ5žÒ5žÒ5ôJõGXhäô®å¨Uþ^õÒIS“ØõvªQ'rõu“$î˜õtýÐKõtýÐKõ4Ò+ô­Ô +ôI3Ô +ôI3Ô +ôI¶¥'Zþô­§$ðxõ¦e'Yõ4Ò+ô­Ô +žÒ5žÒ5žÒ5žÒ5ÿÿÿÿ™±yÿÿÿÿ™±yÿÿÿÿ5»xÿÿÿÿmÍ—þÄ ßmd¡ý y7/™mü »rÍiüe<ÆvÐßüA>¦Ôü4½RäÝ­ýTª’SÞ%þ…<™Wþ…<™WþÄ ß5R‚ýdú‹ÙQâýa('Cx9µJ9µJcÁAcÁAü4½RäÝ­üA>¦Ôüe<ÆvÐßü »rÍiûŸìk²kúÅzáqÂúa-Mrcù£=ÒÍ!ùcœ± #ùPG5(¨úµýÛ½ +ûœ®výÛû Cf2.ûdm[jáúZ,fÌú1QgÆ¥cÁAcÁA~É<~É<ùPG5(¨ùcœ± #ù£=ÒÍ!úa-Mrcù´%˜ùa¹³ógùo=dj¼ø™ú×,ºøPZÈ#ø;‡t/<øøá»ˆ¦øêeŽàDøþøÊäßùHÉ5†õøãCú&µdø¢´Gt1@~É<~É<ˆÌ:ˆÌ:ø;‡t/<øøPZÈ#ø™ú×,ºùo=dj¼ùÎüPÔóøõ% ;â‰øãš1()#ø`Ó5–P/øý×p3øÇë‰1øÅî¿Üø&¢*-©ø;t¶¸Ôø‡YØÖðøraϪ •ø(«9í¦ÞˆÌ:ˆÌ:ŠÌ9ŠÌ9øÇë‰1øý×p3ø`Ó5–P/øãš1()#øÚëB4øÒKQNøÉ¶Ÿ +vìøDÛTvU.÷÷÷J¶6‘÷ã@Ê÷ì­Õ.é÷öZñàSžø @;Ì: øX$EŒ[øMlG€,Bø–#ÁJgŠÌ9ŠÌ9ŠÌ9ŠÌ9÷ã@Ê÷÷÷J¶6‘øDÛTvU.øÉ¶Ÿ +vìøÀüp¿µø¹Œ#öÕø±s%ì ø*‡LU¤_÷Ü š”E@÷Ç·§óg÷ÐÓ5³9Ù÷ÙIê¿%:÷î2ô«@¸ø‘(ª÷ʰ‰}|cø‘KAb%ø×å(×s÷¸åôgr´‹Í9‹Í9Í9Í9÷’“Ìde÷§fXQ2ª÷÷C[íø‚#U¯ÿçørì‚›ô øe!M‡?zøV¸§s`—÷È +Óøh÷v\1 ™ ÷a¯! D ÷qÝ]6¢§÷yfMØ:÷–O²:¥Ç÷è ˆ÷Ör®ç×K÷†Šm#÷(Í9Í9Î8Î8÷a¯! D ÷v\1 ™ ÷È +ÓøhøV¸§s`—ø9(-Låø Î6"ÕDø9\ûÚl÷qtgSªð÷{ˆQ ÷Mƒ™ÎÜ÷$õ“ż¾÷@—<óþ§÷UDKáS'÷ªyެ°·÷‹ Az¥È÷9o´?Î8Î8’Î8’Î8÷Mƒ™ÎÜ÷{ˆQ ÷qtgSªðø9\ûÚl÷úèšÚ÷ï”Ôg÷ä hÀˆ¼÷Jñƒ öô}ŸF=röà©ûW>öퟃm®öùŽ¥„¥÷ ¸r™é÷d;d@k^÷Vw¯'—’÷s'\:’Î8’Î8“Ï7“Ï7öà©ûW>öô}ŸF=r÷Jñƒ ÷ä hÀˆ¼÷جy¬åÓ÷ÍxÆ™„„÷Âj†h÷&,¶Õµ?öÎ\2s¥öºñ„¡áöÇXš+(\öÓì¬@ùÐö缑0%÷?””j÷1:íèÑ5öÚÃHøA“Ï7“Ï7”Ï7”Ï7öºñ„¡áöÎ\2s¥÷&,¶Õµ?÷Âj†h÷®Ãç^è£÷šG“9,m÷ˆLB™söæ6µZ±ö‹ðl…£Áöy}'”mÞö¹Á¾¹Çö¤¤[éCŠö¸ ÙN÷†®5Töø2€Dö -¯ïª”Ï7”Ï7–Ð7–Ð7öy}'”mÞö‹ðl…£Áöæ6µZ±÷ˆLB™s÷¿[÷wSšíæœ÷o áÛwöÊ;”ëönã&G-ýö\þSUBKöfY³j9öoÚ¿ö‚MÔpBÃöÝ©ƒG´ðöÒˆŽ1qöx>…[ëë–Ð7–Ð7—Ð6—Ð6ö\þSUBKönã&G-ýöÊ;”ë÷o áÛw÷fô£Èòó÷]¯Á·@¼÷WŸ¤Äö¯½ÑãþªöSfù +ISöBÙ¥òöIžä,iöSÞî@jöeÃÁ2UÑöÂ%× Èö¶Póö{NöZíÅÀ—Ð6—Ð6˜Ð6˜Ð6öBÙ¥òöSfù +ISö¯½Ñãþª÷WŸ¤Ä÷IBl€'÷:W]A¬÷-öû:˜¬öÙŸrW²ö#Èq”+öÃq ˆö!{èÇ¿ö2ZSîooöC©3áÐö¡ã¿Y¹öŽû•²ö1€ç»1˜Ð6˜Ð6™Ñ6™Ñ6öÃq ˆö#Èq”+öÙŸrW²÷-öû:˜¬÷"8•Ì÷Û¦ö'—÷ ç­Õ­#ö[‹6Y’õüj#íÌõíqI.iÑõùÅ¡RÿÂöŽ.xãUönlùÓöv8O‹öf‚ï&ÔöbÂHƒ¾™Ñ6™Ñ6šÑ6šÑ6õíqI.iÑõüj#íÌö[‹6Y’÷ ç­Õ­#÷ ´±ZöùŽ¥”ãVöðßµvCö<¼ K„õÜé¹ÜžõÎô¥ÂödõØÀzåtHõâæF ElõñƒgþÉhöR3–å]ÊöEk ¾ëÅõåâþÜZ‚šÑ6šÑ6›Ñ6›Ñ6õÎô¥ÂödõÜé¹Üžö<¼ K„öðßµvCöì +©gÂöé0Wµ’öåHÏXö/¿o±Óõ΢-‡[›õÂ>ÖÈðõÆ/7 ÞõÉœe±Ö_õÖ©¨¼™ö7ç‘1ö3;>~™íõÒ’Ž˜!¨›Ñ6›Ñ6œÑ5œÑ5õÂ>ÖÈðõ΢-‡[›ö/¿o±ÓöåHÏXöâ/Ö9ã~öÞѧ+D}öÛ†6òUö$ ê@ÌØõÂzÐVžMõ¶Þ'^f²õº–Nn…ïõ¾a3~ýDõÊÀÊvŽö,Qä`Åùö'W[OõÆ2÷f¿iœÑ5œÑ5œÑ5œÑ5õ¶Þ'^f²õÂzÐVžMö$ ê@ÌØöÛ†6òUöØ(£ìöÔàU¢]öÑ£ãòëÆö£¼Úoõ¶´ë'æNõ«×p/ ‚õ¯q™>€Põ³NGuõ¾»*F€ðö ­»2~pöÜo!‘õºKU7YœÑ5œÑ5œÒ5œÒ5õ«×p/ ‚õ¶´ë'æNö£¼ÚoöÑ£ãòëÆöÏ9]å3öÌÚ×sYöʉÎÊ+XöIèOåõ­Õ@ú¨ìõ£¾r4õ¦a3&õ©²m¹õ³ðmF…ö96ø½öj‘õ—æõ°{À šeœÒ5œÒ5Ò5Ò5õ£¾r4õ­Õ@ú¨ìöIèOåöʉÎÊ+XöÅÀ¯¢ÕöÁ*¯–O•ö¼Í—~1˜õÿÊQ—õœú•¦AÖõ”b#«ªôõ™BnÆÒÈõžbsãU\õ¨yAÜɹö L¼ÍÇaö#¨¯7ÿõ¡ÚßÁiªÒ5Ò5Ò5Ò5õ”b#«ªôõœú•¦AÖõÿÊQ—ö¼Í—~1˜ö·¢MtJö°šü!Àƒö¬”ú­Mõë\û +›Ïõ‡àÏK†õ‚Ú¼sõ†š®C¬5õ­Dtߘõ–E¶ovzõú›f\´õïcÚ1¯õŒ_£@;GÒ5Ò5žÒ5žÒ5õ‚Ú¼sõ‡àÏK†õë\û +›Ïö¬”ú­Mö©›$Óvzö¦ü#±%’ö¤¾™“¼tõà{Àœ°½õ|­¢![õyNí¤ lõ{ÏñÅóõ~Ájëªõõ„†`è:õèdãdüõâ¹JºÛõ. Ã/ážÒ5žÒ5žÒ5žÒ5õyNí¤ lõ|­¢![õà{Àœ°½ö¤¾™“¼tö£vF7ö£Rû]”(ö¢ IæõÜ8æMãõxLEPNõvªQ'rõw”–g@ õwkZ‚ò§õzɉ•õÞÌ©:€õÜûÔaÈõyrff´žÒ5žÒ5žÒ5žÒ5õvªQ'rõxLEPNõÜ8æMãö¢ Iæö¡oh"€Rö àöÌ‹ö àöÌ‹õØôõÐKõtýÐKõtýÐKõtýÐKõu“$î˜õw¢$LõÛ&{óõØôõÐKõtýÐKžÒ5žÒ5žÒ5žÒ5ññQqÝjò¹=rÙªó5R×Êó5R×Êó5R»­ó5R¡oó5R…Ró5R…Rò¹=rƒrññQq²ññQqŸññQq½ò¹=r»­ó5R»­ó5R¡oò¹=r¡ožÒ5žÒ5žÒ5žÒ5ó5R×Êó-2×Êóå!SÕêôI3Ô +ôI3»­ôI3¡oôI3‰óå!S‡2ó-2…Ró5R…Ró5R¡oó5R»­ó-2»­óå!S»­óå!S¡oó-2¡ožÒ5žÒ5žÒ5žÒ5ôI3Ô +ô­Ô +õ4Ò+õtýÐKõtý¹Íõtý£OõtýŒÑõ4Šñô­‰ôI3‰ôI3¡oôI3»­ô­¹Íõ4»­õ4¡oô­£OžÒ5žÒ5žÒ5žÒ5õtýÐKõtýÐKõØôõÐKö àöÌ‹ö àö·íö àö¥/ö àö‘õØôõŒÑõtýŒÑõtýŒÑõtý£Oõtý¹Íõtý¹ÍõØôõ»­õØôõ¡oõtý£OžÒ5žÒ5žÒ5žÒ5ññQq²ò¹=rƒró5R…Ró5R…Ró9 ¢ÁMó"’ 6äêó-T Ë€|ó-T Ë€|òÈ- ºiÖò R ®ovñ÷& #ŽÚññQq ™´ò¹=r ™ ”ó9 ¢ÁMó"’ 6äêò¾> (Z‡žÒ5žÒ5¡Ó4¡Ó4ò R ®ovòÈ- ºiÖó-T Ë€|ó-T Ë€|ó7« `.óG{› õ)õó\wd ‹8¤ó\wd ‹8¤òö˜1 wPbò6Iy QÙòbŸ Ä¡"ò&} 9PòÒ@ LwEó7« `.óG{› õ)õòᘩ á[ð¡Ó4¡Ó4§Õ3§Õ3ò6Iy QÙòö˜1 wPbó\wd ‹8¤ó\wd ‹8¤ó†nô +·WâóÅ"“ çx`ôÌ õVôÌ õVó»»õù¨ÍóF­{ò¨„ƒ †Ï±òd. +iÉHó “ +£;%ó†nô +·WâóÅ"“ çx`óa22 Óe§Õ3§Õ3·Ù0·Ù0ó5R…Ró-2…Róå!S‡2ôI3‰ôI ³ ¬bôMý> J<ÚôW˜W è¢óôÓÚ â”RóàÒ Ñ}¬ó-T Ë€|ó"’ 6äêó9 ¢ÁMó0ò ¢ÁMóå,’ ¬`&óê GÖó† ¾ 9K°žÒ5žÒ5¡Ó4¡Ó4ó-T Ë€|óàÒ Ñ}¬óôÓÚ â”RôW˜W è¢ôa3q †äKôoØ %°èô‚¥N Åmoô"Ò ²F;ó¼œà ž]ùó\wd ‹8¤óG{› õ)õó7« `.󙻥 i­Èóÿ&¢ }P±ôw³ Só¨”Á …|¡Ó4¡Ó4§Õ3§Õ3ó\wd ‹8¤ó¼œà ž]ùô"Ò ²F;ô‚¥N Åmoô¨Êz æ}ôáÀ£ +H0õ-R ’ÕPôÐÀ{ lЧôti¤ F?þôÌ õVóÅ"“ çx`ó†nô +·Wâóä­ +ÔÑôJŒQ +è-Žô…iË +!Ô‡ô!yj + à §Õ3§Õ3·Ù0·Ù0ôI3‰ô­‰õ4ŠñõtýŒÑõu  ¶¿õylê ]”Éõ‚Z  ©õOÝ ÿ£xôº\Ô îŒÓôW˜W è¢ôMý> J<ÚôI ³ ¬bô­“ ¬cåõ3 ¶¿õð¾ [.ô±yj L£ žÒ5žÒ5¡Ó4¡Ó4ôW˜W è¢ôº\Ô îŒÓõOÝ ÿ£xõ‚Z  ©õŠ»Ë ­®hõ—©Ô V7Ûõ¨Ó8 ÿ¢:õH­¼ ì{ôâÊÊ Ø’Ãô‚¥N ÅmoôoØ %°èôa3q †äKôÃCÿ wåõ(®ü ¤Îõ6¯ GÚtôЭ½ 4O¡Ó4¡Ó4§Õ3§Õ3ô‚¥N ÅmoôâÊÊ Ø’ÃõH­¼ ì{õ¨Ó8 ÿ¢:õË"A Ruõþ^³ +¨ÇàöBÙ +·*õåÅ ßlõ‰n* ¹!Ùõ-R ’ÕPôáÀ£ +H0ô¨Êz æ}õ¤ !Ÿkõlä 5¼(õ¢Û +‚}7õ>z +nk¹§Õ3§Õ3·Ù0·Ù0õtýŒÑõtýŒÑõØôõŒÑö àö‘ö ó´ ¿¥Wö¤Ü– pêÙö¬] "±¯õç£ ·Nõ‚Z  ©õ‚Z  ©õylê ]”Éõu  ¶¿õu  ¶¿õÙ³ ¿£wõÝä> l,õylê ]”ÉžÒ5žÒ5¡Ó4¡Ó4õ‚Z  ©õ‚Z  ©õç£ ·Nö¬] "±¯ö´D$ Ôx…ö¿ÂÐ †¾ÎöÏ" 9Õ%ö²k ˆœõ¨Ó8 ÿ¢:õ¨Ó8 ÿ¢:õ—©Ô V7ÛõŠ»Ë ­®hõŠ»Ë ­®hõð&È ÁQPõýŒÆ jàõ—©Ô V7Û¡Ó4¡Ó4§Õ3§Õ3õ¨Ó8 ÿ¢:õ¨Ó8 ÿ¢:ö²k ˆœöÏ" 9Õ%öí}Ç  ±÷ù p÷WŸ +x™öžnð +,ÓöBÙ +·*öBÙ +·*õþ^³ +¨ÇàõË"A RuõË"A Ruö1s f‘ÔöbKT +¼Ù^õþ^³ +¨Çà§Õ3§Õ3·Ù0·Ù0óF­{ó»»õù¨ÍôÌ õVôÌ õVô½a «Æõ²E#5‹öãu÷ò‰öãu÷ò‰öœÇX«Wêöjöìô¦j´Øó·€šùAôp.IEØKô½a «Æõ²E#5‹õPÌø÷·Ù0·Ù0Ïà+Ïà+ôÌ õVôti¤ F?þôÐÀ{ lЧõ-R ’ÕPõÃ=¾(Sö¡ç]Û´^÷·ÕÆ'÷pÓ6e¨÷*$—8·öãu÷ò‰õ²E#5‹ô½a «Æõ´$¶øOõfæçËËö[8¾•¿õøóµiä+·Ù0·Ù0Ïà+Ïà+õ-R ’ÕPõ‰n* ¹!ÙõåÅ ßlöBÙ +·*öÉ0¿ƒ÷‘…å”5ø‹³š%ÄøDßSuE÷þ0t Ʀ÷·ÕÆ'ö¡ç]Û´^õÃ=¾(Sö”•NbüölÇX™6x÷J×FM†röè•ü"dÞ·Ù0·Ù0Ïà+Ïà+öBÙ +·*öBÙ +·*öžnð +,Ó÷WŸ +x™÷Îþ¡ Ví®ø(-LµÅù_™‘n5bøÒø÷|hYqØø#¸0Ïî}÷éÊžyÔÏà+Ïà+Þä(Þä(ø0SÁ^²üøM ºSø×'ÜWèÞø×'ÜWèÞùŠ—‰ßá_úIÅœyWûjc&´<ûjc&´<úë#zÊ[…úžŽ(­ÖùÄ£kãAøô çÛÆƒùPÓ4‰ ùŠ—‰ßá_úIÅœyWú8i$ðÞä(Þä(æç&æç&öãu÷ò‰÷*$—8·÷pÓ6e¨÷·ÕÆ'øBRÑ;JÊøÚÔľ=„ù}ûøQàùGSÿ˜Eù ¤€©k™ø×'ÜWèÞø#¸0Ïî}÷|hYqØ÷½ "W÷û¤2ôœ+øœ?"r#çøbMÑÏà+Ïà+Þä(Þä(ø×'ÜWèÞù ¤€©k™ùGSÿ˜Eù}ûøQàú!kãü;úÎè †Êû„J^;¸Ãû]ÿµßaëû7µ ƒ ûjc&´<úIÅœyWùŠ—‰ßá_ù¸÷p6Ïùò»Å‚ú¨¡7*sAúpDÕ®tÞä(Þä(æç&æç&÷·ÕÆ'÷þ0t ƦøDßSuEø‹³š%Äù—:#½ù‘ñX¬Š¬ú$ÌSJPâùîO¯øÎ&ù´xœ¢Ÿ›ù}ûøQàøÚÔľ=„øBRÑ;JÊø‰pûJøÁèšÖuùS[·`qùjf +UBÏà+Ïà+Þä(Þä(ù}ûøQàù´xœ¢Ÿ›ùîO¯øÎ&ú$ÌSJPâú·«èûT +¤”<•û÷&˜P½IûÐÛðôfqûª•˜šû„J^;¸ÃúÎè †Êú!kãü;úOƒ:éõú‰Gg‘)^û-û7å½úõ2Éã ðÞä(Þä(æç&æç&ø‹³š%Äø‹³š%ÄøÒVûŒ›–éBûT +¤”<•Þä(Þä(æç&æç&úžŽ(­Öúë#zÊ[…ûjc&´<ûjc&´<ûjc&´<û*‹È‹û\È’óû\®T€±û8°4«?úðÊrñ+ãú¹÷–×ÚúžŽ(­Öúë#zÊ[…ûjc&´<û*pÊXûÝYÀëˆæç&æç&æç&æç&úðÊrñ+ãû8°4«?û\®T€±û\È’óûuåwÿ 5û•,ˆòH'û»¾jåÝQû»¯äóûšuɆ ?ûXvºÊãû.a,؈Òû 7 æ_FûTb qûuË:þ–ßû”ø ñ]Ýûp`<”E÷æç&æç&æç&æç&ûXvºÊãûšuɆ ?û»¯äóû»¾jåÝQûÎðÞß^Íûã¸+ØU–ûúÑÐÁ¬ûùß×Ï•ÈûÚ¯Dpœ0ûœ†X³ÖÃû„¢¼¼ûmgCÃÊäû¯fSˆ ûμcÞtƒûã|1×)²ûÂ>Îxâ)æç&æç&çç&çç&ûœ†X³ÖÃûÚ¯Dpœ0ûùß×Ï•ÈûúÑÐÁ¬ü’6Ékœü(JýÀ~ÒüBnI¹•xüB'¸)Úü%,ˆX~2ûëzñš”aûÎü¢3Šûµ K«ÔCûó2wh™°üV<È=Øü(ƒ¿Tü­´`\çç&çç&çç&çç&ûëzñš”aü%,ˆX~2üB'¸)ÚüBnI¹•xü\hZ²2IüxƒªYü•<Æ¢ ­ü”ñÍ cõüz|?þ¿üEÛw€Ø+ü%öõ‰ìQüÔH’üA…ßPjÔü\! °Æ«üw·Š¨µ-üZ“ÆIåçç&çç&èè%èè%üEÛw€Ø+üz|?þ¿ü”ñÍ cõü•<Æ¢ ­ü£Ùçèü²ßþ™«VüÂO •N?ü“’ü¨î­2Í;üwšs·üf;®w¾füUÑx|[7üŠr ;Êü£ŽîœBØü²•—í@ü˜Á7‰êèè%èè%éè%éè%üwšs·ü¨î­2Í;ü“’üÂO •N?üÑÍ‘)büáè•Ë3üòRˉޑüòÒˆüÚiI&íü«zðfxäü™ŽžjÃ=ü‡üDn$ü¹ØW.J¨üÑ~_m,üᜋü>üÈ€·+7qéè%éè%éè%éè%ü«zðfxäüÚiI&íüòÒˆüòRˉޑý9õ‚J§ý5ÄøzW&ýYóÓrNýY¬špüýE7Å@©ý•ULuuüõIU‰›üÏb’^6ªüþPëªßýîü€{³ý5}¿xoÔý¹¹TÏéè%éè%ëé%ëé%ý•ULuuýE7Å@©ýY¬špüýYóÓrNý~9-j#Ký¤šSd)ÚýÌjØ\ÊkýÌ.ÝZè¸ý»2uøeÕý™}5AÂýn2=BaýD-žCæbýlб–ý}ñóh;ùý¤^YbH(ýÀHfuëé%ëé%íé$íé$ý™}5AÂý»2uøeÕýÌ.ÝZè¸ýÌjØ\ÊkþkðbA ·ÿ(Yø,'[ÿÿÿÿ+ãáÿÿÿÿ+ãáÿÿÿÿÇíáÿÿÿÿÿ CzþG — +þiBcÚ»þk´h?¿ÿ(Yø,'[ÿ È1Zíé$íé$üî!üî!ûjc&´<û7µ ƒ û]ÿµßaëû„J^;¸Ãû„J^;¸Ãû›z2¹;ûÈÂò ¸Kû¤ÄÒÃw)û€Æ²f4(û\È’óû*‹È‹ûjc&´<û7µ ƒ û]ÿµßaëûwšÕv9ûN‰(z ¬æç&æç&æç&æç&û\È’óû€Æ²f4(û¤ÄÒÃw)ûÈÂò ¸Kûß“N±Dûûô% {ü Û׈ûýñõ¢‚àûÜÚD0û»¾jåÝQû•,ˆòH'ûuåwÿ 5û™ã—\JVû»•.ºp"ûÚÜ@­´´û¶DnPšïæç&æç&æç&æç&û»¾jåÝQûÜÚD0ûýñõ¢‚àü Û׈ü0v¹úðÖüCZsôŒüW±Kí¬”ü8|ø޲üüLe/¹dûúÑÐÁ¬ûã¸+ØU–ûÎðÞß^ÍûðÃ=±•ü^Óœžü$)à•”×üè¾7MNæç&æç&çç&çç&ûúÑÐÁ¬üLe/¹dü8|ø޲üüW±Kí¬”ül!çôüÞÈ:ü™a¢ؘnü|cZxìÇü_hÒAüBnI¹•xü(JýÀ~Òü’6Ékœü/ÂÊ(cTüL授 \üd£rüEIE *yçç&çç&çç&çç&üBnI¹•xü_hÒAü|cZxìÇü™a¢ؘnü°ø¬ÑåoüÊÊźüäšTÃ;/üÊ$bÕùü¯®Ënãü•<Æ¢ ­üxƒªYü\hZ²2IüybâÝñü“þ#r9Èü¯˜Mj`„ü’xH +Àçç&çç&èè%èè%ü•<Æ¢ ­ü¯®ËnãüÊ$bÕùüäšTÃ;/üñâV¿uêüÿˆ»–fý ‹~·œ¦üôvV×ÙüÛdrö üÂO •N?ü²ßþ™«Vü£Ùçèü¾O¬þMÆü×l‘_³üær¨ZÑ™üËõdúnCèè%èè%éè%éè%üÂO •N?üÛdrö üôvV×Ùý ‹~·œ¦ýš,³Õý*BŒ°Õ ý9.f­Fý!ÝL#šý ñTëüòRˉޑüáè•Ë3üÑÍ‘)büêÞ¾ñî/ýˆ†S´ý§ÃO²„üù‡îí·éè%éè%éè%éè%üòRˉޑý ñTëý!ÝL#šý9.f­FýWY¦`„ývnèŸ"Ñý—N“—‹(ý‚Ù¾5²ÔýndéÓÚýYóÓrNý5ÄøzW&ý9õ‚J§ý*Ø~ãm+ý?rÐE=ÿýaýÒ=HžýJ6 Ü/yéè%éè%ëé%ëé%ýYóÓrNýndéÓÚý‚Ù¾5²Ôý—N“—‹(ý¸D»`4ýÛ-u‹3ýÿX‘„Sýî\)!Ð2ýÝc€¿MOýÌjØ\Êký¤šSd)Úý~9-j#Ký’®Ëý~ý£Ïæ.‡áýÊ1 (Pýµ’üƬ¾ëé%ëé%íé$íé$ýÌjØ\ÊkýÝc€¿MOýî\)!Ð2ýÿX‘„SþS¹k¬Eÿ;—ªX <ÿÿÿÿWÇÂÿÿÿÿóÑÂÿÿÿÿÙâÿÿÿÿ+ãáÿ(Yø,'[þkðbA ·þ|é ¤#›þ[ )bÿ;—ªô<ÿ(Yø[íé$íé$üî!üî!û„J^;¸Ãûª•˜šûÐÛðôfqû÷&˜P½Iû÷&˜P½Iü ®,H¨ ü4½R8oü¿2Ûsáçç&çç&çç&çç&ü™a¢ؘnü¶\*8DüÓV³—ï½üðQ;÷›dýŒ¾ñ–µý ë2ný3û£äl±ý…Þ„{üÿ#¢EüäšTÃ;/üÊÊźü°ø¬ÑåoüÍöô1‘üè’5‘ë ý£ÛŠËXüäƒ×+*ðçç&çç&èè%èè%üäšTÃ;/üÿ#¢Eý…Þ„{ý3û£äl±ý?êÄá#ýL,^݃WýXÄ0Ùé-ý?²Šy$`ý&$_“ý ‹~·œ¦üÿˆ»–füñâV¿uêý XÜÿý%u€ž ý3¸|¾Šý™´[4èè%èè%éè%éè%ý ‹~·œ¦ý&$_“ý?²Šy$`ýXÄ0Ùé-ýekÖ¿ýrœ„ÓÞÞý€BЫËýhkxo‰GýPÌïh¢ý9.f­Fý*BŒ°Õ ýš,³Õý4¯’šNýLUšu¼Òý[ºr¼ZýAá÷éè%éè%éè%éè%ý9.f­FýPÌïh¢ýhkxo‰Gý€BЫËýšè¼Êt€ý·—Ãî}ýÔ­½áýÀ8=[=®ý«Ãhùe[ý—N“—‹(ývnèŸ"ÑýWY¦`„ýn¬"ƒýƒJ3iQüý¢§ÂbJýŠã½û%éè%éè%ëé%ëé%ý—N“—‹(ý«Ãhùe[ýÀ8=[=®ýÔ­½áýòPJ¶þ¼Ø±ú¬þ2FK«Û¿þ!IâIXÜþQ:æÕøýÿX‘„SýÛ-u‹3ý¸D»`4ý̹ò:gýÝÛuTÄÉþÄ/OwÉýì&í–ëé%ëé%íé$íé$ýÿX‘„SþQ:æÕøþ!IâIXÜþ2FK«Û¿þ´ºÏ•µòÿNÑœƒïÿÿÿÿƒ«¤ÿÿÿÿµ£ÿÿÿÿ»½ÃÿÿÿÿWÇÂÿ;—ªX <þS¹k¬Eþ¡P!Î/(þ£¾g33ÿNÑœùÿ;—ª¼<íé$íé$üî!üî!û÷&˜P½Iû÷&˜P½IüqA­ üj“eÁÏüj“eÁÏü|A^˜»ü »rPD³üXÕ°–2åü4×8ïäü4½R8oü ®,H¨ û÷&˜P½Iû÷&˜P½IüqA­ ü4[Û¤…ü ÈiI`æç&æç&æç&æç&ü4½R8oü4×8ïäüXÕ°–2åü »rPD³ü²îýI!üɇ?†%üåœü6Ëöü£š-{Ñü‚‚G¼ ü‚UKÑ¿üb¿‚%ÆÐüIA&0[2üI[c0͇ük ;ŽóSü‡ˆƒÊßübì}&±æç&æç&æç&æç&ü‚UKÑ¿ü‚‚G¼ ü£š-{Ñüåœü6Ëöüó†.2Çý›D,þBýØ~'€…üÔ¯“j»üµ~ÿ ÃaüµC +•ü¢ü¼Åhü’S‚ßü’1m)ü±‡vY¢üÄrXp8Õü£4öó,æç&æç&çç&çç&üµC +•üµ~ÿ ÃaüÔ¯“j»ýØ~'€…ý# ÷"1¥ý4?^ÉýGD”œ{ý =X²ªüð”µùüðQ;÷›düÚì}ýüÇœ šLüÇØÆ0üäø el8üú‰Æ]tøüÛ/öþ€ÿçç&çç&çç&çç&üðQ;÷›düð”µùý =X²ªýGD”œ{ýZGûýn%/ Ÿ#ýƒY2 ýN´áFyý4?æIý3û£äl±ý ë2nýŒ¾ñ–µýÌxó3ý g¹S^*ý9€ÞLxý`ÚìØ'çç&çç&èè&èè&ý3û£äl±ý4?æIýN´áFyýƒY2 ýït’|ý˜Ônÿngý¤¢ü5µýrâªÛýYK#CkéýfðÜ?¤ÃýLs˜ßAmèè&èè&éè%éè%ýXÄ0Ùé-ýY iÛ§Cýr> endobj 50 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> endobj 37 0 obj <> endobj 40 0 obj <> endobj 53 0 obj <> endobj 54 0 obj <> endobj 101 0 obj <> endobj 102 0 obj <> endobj 103 0 obj <> endobj 100 0 obj <> endobj 104 0 obj <> endobj 105 0 obj <> endobj 99 0 obj <> endobj 106 0 obj <> endobj 107 0 obj <> endobj 98 0 obj <> endobj 108 0 obj <> endobj 109 0 obj <> endobj 97 0 obj <> endobj 110 0 obj <> endobj 111 0 obj <> endobj 28 0 obj <>stream +H‰´—ÉŽåÆE÷ü +þ@±r¶*^Yn¡Ö¾ ¸¯ ´X¿ïs#È7ðu^´%tóy3cºùú·õõïoaýé/oëòu kL#¬i”°¾Øãï¿-ÿ\ÿ½¼¾½‡õí}}ýÖ÷·Ÿþò纼þ ô_,_׸þk*­o­µ¾Ö9×/‹à/KŒa+µóœÌcnµdÖÅóþÖñöK úÜ~},ïË/Ëë§hÛkÃÖï7¬ekEû ³¤n¹ù³~°ŸK¶—öw_j³ÝôëØ-v‹½µ-ç\Ö‚òmË—›‘fÔn¤=»‘öxy}ݼ·1w×–žw=,5ËvK_<о)¿vK—ÝÒ{CËÓ–}Ê­í[þ¸`ÖïîúìÞÑö”?5~#~\0ûw7|¨ÇqöhÌqK!ÎÿW=ÎÓ†%µ-Äò­þ(Ÿþ‚PíÛà'OOè O„ÐÒZbÝ*©d@è ¾\@œÛ̸cy‚.K u‹©8ÔÒXóäOa8GÀù3 Úñc9#—%c\ÑÔ`eKSÇ‹}«ðgR=†* m£Ñœ!xúÀÍ¡>ŸõmøixY@¬Ó牧mÕüTí³Ê¾Î3Ú:¥ý…´ç‰&ã¦ý„¡L>K$¢¾¤óÅ-רøD<'ž†Ÿúp(æ5#pѽƒ'å®–q~t q^hÎ4%o¡™ß4mÍ)mcj«P¶ à…¼U„3FP8î——%µ‚SU%x~¶´¦4=bÅd¹™à÷¢’\áx‚.Kìl_ðf˜´Ä?ŽC‹$!É$Z…8è„Iö^e©õ¸êÝ—rÓÄ gäN[ËÜ5eÇBù9^^+‰Ÿ*C ;m«Òhf1ÿœ8šW–ªSºjcZ«– #ù]»ò\òu`P*Ѫ(¶èˈqEDzNZˆáÅØhî†ðoÕšñNË’D¡YqÚ:¥hòA/†„ÐÖB¥ëêƒÝVTk›Îˆ²q ‰“])ûZõFÞF3˜ºëÒì'DL(#ñ/C*œZ£Rô*ú¦O[+òâxDà 0óÔ7‘©i¬e2àÍakMÌ44£ÙZQ‡ã„ˆ£ØÄW‰fW©L\mÖR^àe*zÜmpãNñ\–ÔahÒù§Fe[×…„¿HZ(Њ6gZK¥–Á:ã “˜3GSVñ.ÅÝr±Lµs²›ŽûÜõšëäâ3¦ÐHn+I7/ŒÇ-%ºÛ¦—‰.,¹Ç ¹<"ÖA]GR‹ïb7„T¯'ËÕ/·“»1ÙtNŽrc56KÓwä /ït pìNM +)ñ2Ÿ]Rm48¢’º>TþœÏŸIr/2rUÆ`ÚIj¢ý¨ÂñJ´Ð†UÓ#⪒¾Iã2ÎæÛæëRÌ÷£ûRC„å*MA&fôNgä®I T[ãUÖjŸ¶¦5ˆã„À!ÿpIpMJÓž¥uG| +³ˆ:Ö-8NˆD’®Š!¥yžÌî…áâÕÔ®Mä„ܤ7•'äI°Ó“`Ç;ÁFbt£R8U–œ6vCz]™NH)-UérÉ#rq'iòPT¬ +׎©Jz7=2É—e¹o9 æaÁO:¾6½FöŒÐ'óÇ q½.šRLO1j‘ ^6E–ÑüB¥ÁÉ›Æ ‘¾PÐUt"e6gÓPCâ×&͈ ÇÔ 24Ω‰RŒP2`4©Š†°ª p<Þý£S•‰ª–3rYšXUpÔ´¼‘bÛD’ LÝ@æVqVyôŒÀÑýæÁ-dÃ.îxMez:Ö.7áÎÈå)í!Z‹ï¢>¥Ië8GíûÝÉŽÝšJÒKÖk%Mƒf}ø£N ìùÎC‚—w¯6±J³w¯·üÍ=.Ƚ/ÞEê@àÐý”."d¤0ùD®ûª®ÿYΈ¾¡ïÒ»…h6à"ÒÈðVhºjU´uåmFɶ'D-‹!:ŠT·äTc{²uW ÓØ)·¨…™š>b qçaÀÐxAªM…Ç’²òb*$äGD©N•3@©TÕÈÞ d5j‰¬-»3ܯ½T¦¬@ ):땈¡––dj³÷9ªX'D=šéL€2»­¢G±Ø8ð˜ÖÇ4p[ësBa'fÔãÖ¥‘$©8XÛH˜ÓtÀj¢z.&r<ÀuõY‹`V]3‡õ(,Ë>|´z¼#õ$~7ïе4ZÓÀ1.·p V'äÕãè˜õG ÿ½©Çß3š×7HÞÞ××O1¬ïo?/üéÏõÊýuuÚ£¿ pÝCÖVúÓ—%Ê}e½±Wµ|{ÖÅÑd½´¿ûBõéÐúõ±¼sFí·-#ÿùžMÏc»—HòÒ†õ=]jE*nÏú÷±ØcÞߺ¾^‚¾/áØQ~‰Œë†.LS¡Ž2'6DxÇ$÷As§Z‡!êt3Št:R»šÜ3v–­Ù8+o¡uG˜„ H59‚Ø:× 3.©ýŽ%Qlê>Bb5DŠè@¨Nu‚Ä4‚ÍE`(Km†Ñ‡‘3Bg™¨!:gGègBŠ^ \pJ3ö3&*°¾C4öÕ€X¢#¹mzfGÒ¨NuÂŒŠö^†c‘‰Ìµ!ÁÙ¤jï ±¥8× #.Ó¤c=Ê[Õ»¶!»f7CþKvµìÆqÁû|Åü€%¾×FN bèß… >Œ8bøïSUݳÚáB€vY;Ó$›Íêªd;\ E‚/‰ÚO–1`ÉʸHwÕN«"jʤP+ÆXè¿™!"Ȇ|A»b•H¥Ò ›&QÉàŒZc|€Žm‚—cb1€[è*'º@ëyÇ:µȪT(‰á+ÖîhÐfã;è!˜ŽãÂz  fö3p϶©Š[ Žˆú‚„hh4± Â©úÃ%„âa®Âà@µ·§¢(n9{•©‰8C,œïàN«ÿb˜˜%a Qßj›ÄMB““LäÍS…²íňbt‹ hFgC>¯=:W&¬“¬WÀâ€bßâ‘b*’¡Èrq0é’LÁÄ0™§J‘‰´'Þ‹Œ>€s&YB Ò+q£QÖQ”¡Š£ÌÍÜ…¨Ódtà•Áiói{Z †È‹Á  8•f +GGîfû8)®’¸Ë=é9¢þ¤×+m­hj;LÐjïD»®Õ²{?<î†ý:œ—!¥ñý0{çæ@`b*¦“®¯ÓæÐ2‘«‚”1…ùÙHÍ„yä[¼·ÕZC@ÍÞ\f-ë1Øé.7’œLÒ÷Ø,ÃE}²vÀ®Må[Í^ExÌS:?²uðX°"¹qyà•iãÖlSWÄW29R=¦k"l6°ÕâKë4ßÓ^7ÅB²Ú"+½«¡ÑÀ5y'—+¢ŠO½šýì’ (áÀMbᥩîqçÜW€À¬ð¯â ³4Zl«¥ÛýI†ÙØ2‹s…»š… C®ƒ:>î3µ q&ÄîF˜w9ºAã‰sL\…3ó`šµy;.ˆ%ˆ¿‘ äÅ8?¸W‡ÕëÆ"‹Ki)Oh‰<óMJßc¢,v×hX—®DÈ…J3²®æ;ù ))Ý³ß ƒ£ƒªz(=…nH—¸F×ÔçD¦wÛ; k2¨† òBÿ޹S4¤%R°º@Š]¯dcŽˆÔ鱳ů$Ãiwt ²hDýS€ÚMI@æföHdFdätú£ &ƒ4-ÛÄ&õ1m[«Ú¹úo{Ä3-7ò¨‹æ1CŠöC‹ÕŠ!5¹y\°ÃÌií«ªèü’-90䙈 £åS(”©¯´ÉmPvG:«¥ ެŽÃ?`ìÍ‹³ù›#°^!½H9óx—ø¼hûq^Æu÷eìr!4÷:Ük·Åך èr…H^Ëî{©ß¶?÷¶oÛó¯¯aÿûû÷€¿öñöuûåóþüú%íß¿ì?Ox6ì1°£.ù$¿þû—Â<¿ ÈËëþü”ôëËï~ú±ßbÛ-,s’éW)°LCøëNÿì ­È×;óßÛ¦¯%ë!öCmZ0?Þ¶W¬ïão/;>þ` +áqþ +endstream endobj 45 0 obj <>stream +;¢úYÿÿÿÿ;¢úYýƒØH;¢úYüEÐY;¢úYüEÐY;¢úYüEÐY;¢ôbüEÐY;¢ôbüEÐY;¢ôbüEÐY;¢ôbýƒØH;¢ôbÿÿÿÿ;¢ôbÿÿÿÿ;¢úYÿÿÿÿ;¢úYýƒØH;¢úYüEÐY;¢ôbüEÐY;¢ôbýƒØHñZ$ñZ$ñZ$ñZ$;¢úYüEÐY;¢úYû¼~;¢úYùɨ¢;¢úYø‹ ´;¢úYø‹ ´;¢ôbø‹ ´;¢ôbø‹ ´;¢ôbùɨ¢;¢ôbû¼~;¢ôbüEÐY;¢ôbüEÐY;¢úYüEÐY;¢úYû¼~;¢úYùɨ¢;¢ôbùɨ¢;¢ôbû¼~ñZ$ñZ$ñZ$ñZ$;¢úYø‹ ´;¢úY÷MŒØ;¢úYöxý;¢úYôÑk;¢úYôÑk;¢ôbôÑk;¢ôbôÑk;¢ôböxý;¢ôb÷MŒØ;¢ôbø‹ ´;¢ôbø‹ ´;¢úYø‹ ´;¢úY÷MŒØ;¢úYöxý;¢ôböxý;¢ôb÷MŒØñZ$ñZ$ñZ$ñZ$;¢úYôÑk;¢úYôÑk;¢úYó“]3;¢úYñ;r;¢úYñ;r;¢ôbñ;r;¢ôbñ;r;¢ôbó“]3;¢ôbôÑk;¢ôbôÑk;¢ôbôÑk;¢úYôÑk;¢úYôÑk;¢úYó“]3;¢ôbó“]3;¢ôbôÑkñZ$ñZ$ñZ$ñZ$;¢ôbÿÿÿÿ;¢ôbýƒØH;¢ôbüEÐY;¢ôbüEÐY7ûUÇüE”¶4Ržàûélv0»l§û3de0»l§û3de0|jüw†Ï0EuþÛhc3× ¥ÿ¥i7¾#;ÿÿè$7¾#;ýƒÌZ7ûUÇüE”¶4Ržàûélv4ôŸý-¦ºñZ$ñZ$òb$òb$0EuþÛhc0|jüw†Ï0»l§û3de0»l§û3de-$4wú}Ph)ž†êùmh‡&<ûø¡¶&<ûø¡¶%Ã% ù+oo$Ïûw +à(küöÿù,-{Nþ+],ä1±xÝöYi§1t“Ù÷‹`h4Î4ø5?q88ˆRø‹M688ˆR÷M9[8uºÝö ¤5+Pßõ¹ Ì4즞öý:"ñZ$ñZ$òb$òb$1t“Ù÷‹`h1±xÝöYi§1ðÐõG>2-µóãVt/¬¾óE t,‡ òZ3¬)òÕñ"Ïc(žßòH($FêónjÔ'ªvëô”8*ÒEõãÑ.ó–öá`.vQõµ™-.¶IKôq‚±+‹±ªó€e+KÝ:ô½ýfòb$òb$óp#óp#;¢ôbôÑk;¢ôbôÑk;¢ôbó“]3;¢ôbñ;r8²íhñ¬Q5ÅXðÌÓ2æÜFð;L€2m HòŸ.2-µóãVt2-µóãVt5IÃaô~8uºÝôÐùÈ8uºÝôÐùÈ8²íhó’Î5ˆm¢ó<Ò05IÃaô~ñZ$ñZ$òb$òb$2-µóãVt2-µóãVt2m HòŸ.2æÜFð;L€0eæï©Ëv-9ûîМ:*…n¿í±f9)‘ÂÔïýª)òÕñ"Ïc)òÕñ"Ïc,‡ òZ3¬/¬¾óE t/¬¾óE t/Q¤öò‰ù,E\ñ7«,‡ òZ3¬òb$òb$óp#óp#$Ïûw +à%Ã% ù+oo&<ûø¡¶&<ûø¡¶xÐÝõ8°Fìñ!gzsëåÙ +zsëåÙ +9•>ìÆ¾>wÄß•ûæ5ô ˜—EøyìRм9ö.PáxÐÝõ8°Fìñ!g½¶•òJǺóp#óp#ô…#ô…#&<ûø¡¶&¶ËößÓþ'0 öõºE'ªvëô”8!Z‘kñ÷m¾‘ìò½0éCÜDÜê$ªû_§ëíßzsëåÙ +Fìñ!gxÐÝõ8°ò¦ÒôÜT à»uó;v±¾îøé'ÑÄð16<óp#óp#ô…#ô…#'ªvëô”8($FêónjÔ(žßòH)òÕñ"Ïc#ìÆ¾>zsëåÙ +zsëåÙ +î&(æ¹xÒ +Ç‹Ÿà‡”„ú‚ÙÃvMú‚ÙÃvMÔºOÚ=LB‰ÞÛ0ø-†OPâi[ ó¯ué…" µÕçB®Ìî&(æ¹xÒ +Ç‹Ÿà‡”„ ÑêÁáu¯ô…#ô…#öš"öš"zsëåÙ +û_§ëíßÜDÜê$ª½0éCè–äänlÇîÞ¥Íÿ kë;ØUôl +F‚ØÏÊb OÊÙI Wú‚ÙÃvM +Ç‹Ÿà‡”„î&(æ¹xÒÏ ]娧±°åOW­ âú5ߣõ íYXà ¾ô…#ô…#öš"öš"½0éCž;èb8K~úpçM_ߤæ gëã —â#f(J<ÜÄ qÝTdÖèl• ·†¬×bH ‘¸ó×Üw kë;ØUôlÇîÞ¥Íÿè–äänlÉ‚ã‡M(bãK\$6„Ý=ãf.•¦Þ+ø +ô…#ô…#öš"öš"_ߤæ gë_ߤæ gë@ÄÙå¿|À•9ãý¬`Ý~SߨY׋:”ÚâFìN·—Õzêµ"Ön– ÝTdÖèl•ÝTdÖèl•J<ÜÄ qã —â#f(ã —â#f(³êáš*7?¥ÛÕò×J<ÜÄ qô…#ô…#öš"öš"‰ÞÛ0ø-ÔºOÚ=LBú‚ÙÃvMú‚ÙÃvM’Á7Öaêd‚ÇrÒÜ<ØÌ­~ÏE +žÌ­~ÏE +žˆ‹Ï„aÑ$©€Ïþ7ÇæòtÓÓí )Åוp¶TÅ6Ö¡ÄË’Á7Öaêd‚ÇrÒÜ<Ø>«Ó;öš"öš"÷¦"÷¦"$©€Ïþ7Lj‹Ï„aÑÌ­~ÏE +žÌ­~ÏE +ž™€Ë­ØeºeRÈ!~º/¦Ä]‚ãº/¦Ä]‚ã|!ÁÄ]ˆÚÄ]ŽÐÛÈBZbfƒÌ)s—Òe3Ë삦™€Ë­ØeºeRÈ!~|9›ÈBT +÷¦"÷¦"÷­"÷­"ú‚ÙÃvM OÊÙI W +F‚ØÏÊb kë;ØUôl +R²Õ.d œqÑå}¹t±{΋ÝuBƧÎÈÈpþžHϣ̭~ÏE +ž‚ÇrÒÜ<Ø’Á7Öaêd¸ŽðÕèoö„úÕ¨:òÀ+Ò@Û5®£¸Ò€Ùdöš"öš"÷¦"÷¦"Ì­~ÏE +žþžHÏ£BƧÎÈÈpt±{΋ÝuÊÌ|Ë2=2t¸ÀÇÇèýt_KÄ]|ì6QfÄ]|ìøCÄ]‚ãº/¦Ä]‚ãºeRÈ!~™€Ë­ØeN˜×Ë_ì’Í$ËPµ«6¤äÇÇèýøy-È!~÷¦"÷¦"÷­"÷­" kë;ØUôl ‘¸ó×Üw ·†¬×bHÝTdÖèl• ¥ê$ÓúÝÁ ºqoÐ »oÍÒ°M +êʥΛG ¦¢EÎNò{t±{΋Ýu œqÑå}¹ +R²Õ.d B kÔ´Ž €lÔt³· Ž•)ÑJ +Jx·ÑŠEöš"öš"÷¦"÷¦"t±{΋Ýu ¦¢EÎNò{ +êʥΛG »oÍÒ°M ~ÿxʶ¢ /7ÇŠª„ .ŽñÄ]pÿ ð Ä]vö²s'Ä]vöt_KÄ]|ìt¸ÀÇÇèýÊÌ|Ë2=2 ËÓËĹ +G!ÊÕx ðò[ÇŠ°{²Æ¤ÇÇã÷¦"÷¦"÷­"÷­"ÝTdÖèl•ÝTdÖèl•"Ön– N·—Õzêµ/{ŸÒÇQyVFmÏ÷ù„Ä¿lÍ}- `ÝØÍ“Y »oÍÒ°M »oÍÒ°M ºqoÐ ¥ê$ÓúÝÁ ¥ê$ÓúÝÁãæ%Ó»Z þáЮºt ºqoÐöš"öš"÷¦"÷¦" »oÍÒ°M »oÍÒ°M `ÝØÍ“YÄ¿lÍ}-32tÊ;ÍéS®ÇMrè¾–Ä]k l¢ÌÄ]pÿ .ŽñÄ]pÿ .ŽñÄ]pÿ /7ÇŠª„ ~ÿxʶ¢ ~ÿxʶ¢ Ã3ÅÊw÷¿ m1íÇMwù /7ÇŠª„÷¦"÷¦"÷­"÷­"Ä]ŽÐ|!ÁÄ]ˆÚº/¦Ä]‚ãº/¦Ä]‚ãº/¦Ä]/eº/¦Ä\Õñº/¦Ä\||º/¦Ä\|||!ÁÄ\||Ä\v†Ä\ÕñÄ]/e|!ÁÄ])oº/¦Ä]/eº/¦Ä\Õñ|!ÁÄ\Ûç÷­"÷­"÷­"÷­"º/¦Ä]‚ãøCÄ]‚ã6QfÄ]|ìt_KÄ]|ìt_KÄ])ot_KÄ\Ûçt_KÄ\ˆj6QfÄ\‚søCÄ\‚sº/¦Ä\||º/¦Ä\Õñº/¦Ä]/eøCÄ])o6QfÄ]/e6QfÄ\ÕñøCÄ\Ûç÷­"÷­"÷­"÷­"t_KÄ]|ì²s'Ä]vö ð Ä]vö .ŽñÄ]pÿ .ŽñÄ])o .ŽñÄ\Ûç .ŽñÄ\Ž` ð Ä\Ž`²s'Ä\ˆjt_KÄ\ˆjt_KÄ\Ûçt_KÄ])o²s'Ä])o ð Ä])o ð Ä\Ûç²s'Ä\Ûç÷­"÷­"÷­"÷­" .ŽñÄ]pÿ .ŽñÄ]pÿ l¢ÌÄ]pÿè¾–Ä]kè¾–Ä]#xè¾–Ä\Ûçè¾–Ä\šN l¢ÌÄ\”W .ŽñÄ\Ž` .ŽñÄ\Ž` .ŽñÄ\Ûç .ŽñÄ])o .ŽñÄ])o l¢ÌÄ])o l¢ÌÄ\Ûç .ŽñÄ\Ûç÷­"÷­"÷­"÷­"Ä\v†|!ÁÄ\||º/¦Ä\||º/¦Ä\||ºeRÀ´ãØ™€½ ,ñÌ­~¹tú¸Ì­~¹tú¸ˆ‹¹5£…$©€¸»Ç™bfƒ¼‘¿ÛÀw¥_|9›Àw«VºeRÀ´ãØ™€½ ,ñÒe3¼Í|º÷­"÷­"ø´"ø´"$©€¸»Ç™ˆ‹¹5£…Ì­~¹tú¸Ì­~¹tú¸‚ÇrµÝˆ’Á7²Xûú‚®ö ú‚®ö ÔºO®|³‰Þ­‰2 )ű$Žªæòt´çi>«µÄY‚ÇrµÝˆ’Á7²XûTÅ6²:”ø´"ø´"ùÀ!ùÀ!º/¦Ä\||øCÄ\‚s6QfÄ\‚st_KÄ\ˆjt¸ÀÀòYÊÌ|½‡È$t±{º.'áBƧ¹ñ6ïþžH¹±å³Ì­~¹tú¸™€½ ,ñºeRÀ´ãØøy-À´ãØ6¤äÀòc’Í$½iO«N˜×½*Ÿs÷­"÷­"ø´"ø´"Ì­~¹tú¸þžH¹±å³BƧ¹ñ6ït±{º.'á œq¶Ô‡ +R²³‹¡C kë;°dê +F‚¯ê:ô Oʯpdÿú‚®ö ’Á7²Xû‚ÇrµÝˆ®£¸¶9%ûòÀ+¶y$*ö„ú³ËN¸Žð²Ñðçø´"ø´"ùÀ!ùÀ!t_KÄ\ˆj²s'Ä\ˆj ð Ä\Ž` .ŽñÄ\Ž` /7Á/TÛ ~ÿx¾cV »oºçU +êÊ¥ºªj ¦¢EºkÛt±{º.'áÊÌ|½‡È$t¸ÀÀòY²Æ¤ÀòY ðò[Á/TÛ +G!½äêÞ ËÓ½¦:¦÷­"÷­"ø´"ø´"t±{º.'á ¦¢EºkÛ +êÊ¥ºªj »oºçU ºqo·ËF½ ¥ê$´¿'•ÝTd±Ñ’Ê ·†¬±W¼Õ ‘¸ó°Ýæß kë;°dê +R²³‹¡C œq¶Ô‡ +Jx··/ë Ž•)·oé@ €l´EQŸ B k´w9ø´"ø´"ùÀ!ùÀ! .ŽñÄ\Ž` .ŽñÄ\Ž` l¢ÌÄ\”Wè¾–Ä\šNéS®Ál“T32t¾~þ‰Ä¿l» ‚2 `ÝØ»&¬= »oºçU »oºçU ~ÿx¾cV /7Á/TÛ /7Á/TÛ m1íÁl] Ã3žB — ~ÿx¾cV÷­"÷­"ø´"ø´" »oºçU »oºçU `ÝØ»&¬=Ä¿l» ‚2VFm¸Â Ò/{Ÿµò­æN·—³?ª"²Kh¿ÝTd±Ñ’ÊÝTd±Ñ’Ê ¥ê$´¿'• ºqo·ËF½ ºqo·ËF½ þḠJâãæ%´ÿü ¥ê$´¿'•ø´"ø´"ùÀ!ùÀ!‰Þ­‰2ÔºO®|³ú‚®ö ú‚®ö +Ç‹Ÿ¨2jÛî&(¢Œ„zsœÔ,LzsœÔ,L9•>›óA!wÄßš1pÁ ó¯uŸµ€4†UG¦PªM ÑêÁ§DV8 +Ç‹Ÿ¨2jÛî&(¢Œ„ µÕ¡wP“ùÀ!ùÀ!úÑ!úÑ!ú‚®ö Oʯpdÿ +F‚¯ê:ô kë;°dêÇîª1`è–ä¤K’Þ½0ŸváàÜDÜž•ü¬û_§µzsœÔ,Lî&(¢Œ„ +Ç‹Ÿ¨2jÛ íYX¨¬FÇ âú5©š[k±°£j­©Ï ]¢áq¹ùÀ!ùÀ!úÑ!úÑ! kë;°dê ‘¸ó°Ýæß ·†¬±W¼ÕÝTd±Ñ’ÊJ<«õ÷åã —¦–Ÿ._ߤ¢k~úp¡8²@ž; WÍ ½0Ÿváàè–ä¤K’ÞÇîª1`.•¦ªŽV$6„«|!ð(b¥µ´É‚¥,~ ùÀ!ùÀ!úÑ!úÑ!ÝTd±Ñ’ÊÝTd±Ñ’Ê"²Kh¿N·—³?ª‹:”­×¾jÝ~S¨á¥ˆ•9¤¼Rÿ@ÄÙ¢ú‚Ÿ_ߤ¢k_ߤ¢kã —¦–Ÿ.J<«õ÷åJ<«õ÷å?¥¬ä³ê§Õ(ã —¦–Ÿ.ùÀ!ùÀ!úÑ!úÑ!wÄßš1pÁ9•>›óA!zsœÔ,LzsœÔ,LFì—§ãïxÐÝ“US&<û´]©&<û´]©%Ã% Žñ$ÏBô—E@ûæ5”­m<½¶•–o=œFì—§ãïxÐÝ“USм9’‹´vúÑ!úÑ!ûá!ûá!zsœÔ,Lû_§µÜDÜž•ü¬½0Ÿváà‘ìòš¢Z¡!Z‘k–—˜'ªvë”%ÆÓ'0 ö’ÿù&¶Ë‘Ú+b&<û´]©xÐÝ“USFì—§ãï'ÑĘˆÏ±¾™Áum à»u•œÉàò¦Ò”§# úÑ!úÑ!ûá!ûá!½0Ÿváàž; WÍ ~úp¡8²@_ߤ¢kÜíUœ×K#EÍ2ˆ›K4Ê2ÂC\)ÅÇ2Â=e)f\2¡‹ïT@2+Ò‰{ƒ‡1îKý‰†d1°Åô‰‘K2ÅŒæ*2NíC=øF2ˆ•T3¦_2R˜‹ú5Hüé!üé!üé!üé!2+Ò‰{ƒ‡2¡‹ïT@2Â=e)f\2ÂC\)ÅÇ2ß`$¥Æ2ûñd‹»3Âqq°3¼zE2艩‹ß¬«2ˆ‰kFÛ2iX‰p´c2J˜‰võ2®Û¡‹éæ¸2ßi$LQ2ûëm,P2Éé‹å=üé!üé!üé!üé!2ˆ‰kFÛ2艩‹ß¬«3¼zE3Âqq°35É*™¯3RÉí»·3oЧã¶3oʰ~T3A€ã‹ÓÑ*2äóA‰^Ü92Æ‚‰cÁ2§ĉg!R3yg‹Û‡#35Ã44M3RÃ÷\L3"‘%‹×ö²üé!üé!üê!üê!2äóA‰^Ü93A€ã‹ÓÑ*3oʰ~T3oЧã¶4X6(ŒòTB5@*ZŒÐÈ–6) Œ¹e6) Œ¹e6 +A!‹|ÔÙ5Ì£=‰®q4ÔH ‰•™3ÜÄ´‰@U49RW‹´ÿ=4X01Œñîá5@*ZŒÐÈ–5æ„‹•¶ +üê!üê!üë!üë!0»f°†kD0ùo޾p’16Ø$öuá1tâ‘.{/1à( ‘C)2K¼>‘ $2·VgôÓ2P«»b2KJîŽðð2K)HÚ1¡û]#¨1.°ÜqÇv1ll‘Ž©ÌÄ1¢lVã=Û2¼xΚ 1ØÃŽ–”¿üè!üè!üé!üé!2K)HÚ2KJîŽðð2P«»b2·VgôÓ2í €ë:3"ê™á¡3X´²Ø3&’åïõ2ôk Žc×ã2ÂC\)ÅÇ2ˆ›K4Ê2Nó:>EÍ2„óŽw¶ä2·ıÉ2ðÂÕ§ˆý2ºÃŽnæüé!üé!üé!üé!2ÂC\)ÅÇ2ôk Žc×ã3&’åïõ3X´²Ø3sœºÓ53Ž„ÂÎi 3©fÔÉœ…3y46ì3Hû9ŽT×I3Âqq°2ûñd‹»2ß`$¥Æ3B$Ž^½Ø3Atö™#q3^Kú”p3,$6ŽYñTüé!üé!üé!üé!3Âqq°3Hû9ŽT×I3y46ì3©fÔÉœ…3Äf¶Åq3ß–O›3ú¨¾ë33Ìd@„> 3žsŽIà3oЧã¶3RÉí»·35É*™¯3eûüŽPùR3”-î‹ m3±L‚‡Ôq3ºŽMháüé!üé!üê!üê!3oЧã¶3žsŽIà3Ìd@„> 3ú¨¾ë34Ó¡¥¤ž95¬ „õ›6…vòoº6fªû2…‚6GÙõõI6) Œ¹e5@*ZŒÐÈ–4X6(ŒòTB4†yþŽ-l4¥WØiñ5@Hec5^üGŽ XÎüê!üê!üë!üë!1tâ‘.{/1²I—’f€}1ïÿV“žÕ2-» ”Ö…#2‘™D”ľÜ2õ}u”²òŸ3Ya¥”¡,Y3#[é“gµK2íV,’.D52·VgôÓ2K¼>‘ $1à( ‘C)2ÝÊ’SHw2S㆓Œ¹Ž2¿w¸“y‰2Áú’A|:üè!üè!üé!üé!2·VgôÓ2íV,’.D53#[é“gµK3Ya¥”¡,Y3‹MÆ”˜4V3½9ç”aÂ3ÙŸœ’ü(3©fÔÉœ…3Ž„ÂÎi 3sœºÓ53¥Ä’ MŸ3Õ÷P“G­B3ðßX“Bà¾3¾·”’Ȭüé!üé!üé!üé!3©fÔÉœ…3ÙŸœ’ü(4 Òn“>aÂ4: 6”xÁd4S”tãl4l\¹”rAˆ4……{”nò°4W;¯“4E‡4(ñâ‘ù˜]3ú¨¾ë33ß–O›3Äf¶Åq3ôŸ‘ÿЩ4"ãU“:ƒÊ4>í“7”^4 à‘ý.Äüé!üé!üê!üê!3ú¨¾ë34(ñâ‘ù˜]4W;¯“4E‡4……{”nò°5O”Vî'6óÔ9(—6áæÃ”$Æc6ÃÕ’è6*6¤Hß‘«¥ò6…vòoº5¬ „õ›4Ó¡¥¤ž95ëq‘ßKc5 ÉL“@ý5ù!Ö’ü˜_5ÊÞ‘Á‹Êüê!üê!üë!üë!2-» ”Ö…#2-» ”Ö…#2kpÉ–Šq2æâ=˜~•3Ct˜n4™3Ÿ>«˜]Ú3ûlã˜M3ga•Úå3Ya¥”¡sé3Ya¥”¡,Y2õ}u”²òŸ2‘™D”ľÜ2‘™D”ľÜ2ÇŸ•þ/ó339*•ë?~2õƒk”³:0üè!üè!üé!üé!3Ya¥”¡,Y3Ya¥”¡sé3ga•Úå3ûlã˜M4){ ˜E(Ÿ4W‰6˜<ט4…V˜4†‘4!SÄ•ÀµØ3ï+ÿ”†£¼3ï& ”†DQ3½9ç”P—Ú}7²¹•a\’6áæÃ”$Æc6áæÃ”$Æc6óÔ9(—5O”Vî'5O”WM’5mðó•”C,6F7™•t;#6óÔ9(—üê!üê!üë!üë!5Ì£=‰®q6 +A!‹|ÔÙ6) Œ¹e6) Œ¹e7s Œ¨ +#7ûÍ Œ”c8åVÆŒ…é_8åb³Œ…‰ô8Ö¥‹GÕƒ8·HœˆÌÒ7¾LúˆÛ®Õ6Åu!ˆðÕ×7 ‹iöG7s Œ¨ +#7ûÓŒ“¡ø7Ý ‹V¬^üë!üë!üí!üí!8·HœˆÌÒ8Ö¥‹GÕƒ8åb³Œ…‰ô8åVÆŒ…é_9Ï9ôŒ€:¹+ŒzË;¢ôbŒt4ý;¢ôbŒt4ý;¢ôb‹6';¢ôbˆºW:©½ˆÀI‘9°áˆÆÊ9Ï?ê‹A‘J9Ï?ꌟ.:¹+ŒzË:©½‹úÃ9ØFR8ô¶Ê×Ù8åVÆŒ…é_7ûÍ Œ”c7s Œ¨ +#71Döäš[7@¤ú"¨@8)ó¥w8 'ѯÝüë!üë!üí!üí!8åVÆŒ…é_8ô¶Ê×Ù9ØFR9jæ>úÃ9íî9u`:Èq93ïü;¢ôb.d¢;¢ôbŽðV½;¢ôb²HØ;¢ôbŒt4ý:¹+ŒzË9Ï9ôŒ€9Þ”½³ +9Þ”ŽûÀï:Èq9ŽõÜ!:¹+¸-§üí!üí!üî!üî!6…vòoº6¤Hß‘«¥ò6ÃÕ’è6*6áæÃ”$Æc7¬zÇ”lÅ8vÍ1”¦~9Ay“ø '92’º]­9"Äô‘|©=9jæ>úÃ89MLSñ7_vè_8y7~BÞ‘›Î¨7¨Ù’ÙÜ8gs#’Æø8H§-‘Šaüë!üë!üí!üí!9jæ>úÃ9"Äô‘|©=92’º]­9Ay“ø ': ¢+“òæ/:×ËG“íÀ7;¢ôb“è”H;¢ôb’ª†c;¢ôb‘lx~;¢ôb.d¢:Èq93ïü9íî9u`9ýH‘w#Ù9ýH’µ1¾:×ËG’¯¬[:Èq9‘qýáüí!üí!üî!üî!6áæÃ”$Æc6áæÃ”$Æc7²¹•a\’7>P—Ú}7ùx¯—Í¡8´MC—¼ÿ9o0—±‹9PÇ0•6 9Am"“øk’9Ay“ø '8vÍ1”¦~7¬zÇ”lÅ7¬zÇ”lÅ7»ÚË•T€¡8•‡C•Aû„8vÁC” àüë!üë!üí!üí!9Ay“ø '9Am"“øk’9PÇ0•6 9o0—±‹:+\=—¬Vþ:ç%T—§q;¢ôb—¢Ãí;¢ôb•&¨#;¢ôb“è”H;¢ôb“è”H:×ËG“íÀ7: ¢+“òæ/: –>“óEš: –>•1S:ç%T•+n°:×ËG“íÀ7üí!üí!üî!üî!;¢ôbˆºW;¢ôb‹6';¢ôbŒt4ý;¢ôbŒt4ý;¢ôbŒt4ý;¢úYŒt4ý;¢úYŒt4ý;¢úYŒt4ý;¢úY‹6';¢úYˆºW;¢úYˆºW;¢ôbˆºW;¢ôb‹6';¢ôbŒt4ý;¢úYŒt4ý;¢úY‹6'üî!üî!üî!üî!;¢ôbŒt4ý;¢ôb²HØ;¢ôbŽðV½;¢ôb.d¢;¢ôb.d¢;¢úY.d¢;¢úY.d¢;¢úYŽðV½;¢úY²HØ;¢úYŒt4ý;¢úYŒt4ý;¢ôbŒt4ý;¢ôb²HØ;¢ôbŽðV½;¢úYŽðV½;¢úY²HØüî!üî!üî!üî!;¢ôb.d¢;¢ôb‘lx~;¢ôb’ª†c;¢ôb“è”H;¢ôb“è”H;¢úY“è”H;¢úY“è”H;¢úY’ª†c;¢úY‘lx~;¢úY.d¢;¢úY.d¢;¢ôb.d¢;¢ôb‘lx~;¢ôb’ª†c;¢úY’ª†c;¢úY‘lx~üî!üî!üî!üî!;¢ôb“è”H;¢ôb“è”H;¢ôb•&¨#;¢ôb—¢Ãí;¢ôb—¢Ãí;¢úY—¢Ãí;¢úY—¢Ãí;¢úY•&¨#;¢úY“è”H;¢úY“è”H;¢úY“è”H;¢ôb“è”H;¢ôb“è”H;¢ôb•&¨#;¢úY•&¨#;¢úY“è”Hüî!üî!üî!üî! +endstream endobj 46 0 obj <>stream +ª¯zü­+®=€J®=€JŽ]Á®>M Ê6®vÜ®-H®Ñã÷®ãI®Ì3ïâhæ­¡DáH¸o«QÍ8†»ª÷‡È»(ª°G½È»(­÷ÖŽ]Á®>M ÊÑ7®yÆÔÒ72­G>š9µJ9µJM»FM»FH¸o«QÍâhæ­¡Dá®ãI®Ì3ï®-H®Ñã÷&þ®èI›u*®új4 ‹_¯F¸ +]Я ïHq ­ãÄÿe«—~æK˜±«}†Ìš4«i_afJ«­¹‡Å'ºN®â°œGœ®ô£kÐJY­É—íM»FM»FP¼EP¼Eÿe«—~æHq ­ãÄ +]Я ï ‹_¯F¸wW£¯+=à$/¯C° Cö´¯Z´d DÚ5¯U1Û Œ†€®.p +õ嫿o ®«Í_g ;œ'«³?ÀMÏ­ÿ#x*¯%Èuá `¯>-y ’^®`nP¼EP¼ER½ER½E +õ嫿o Œ†€®.p DÚ5¯U1Û Cö´¯Z´d uÆ^¯fœõ ¦²‡¯pÕE կݯ}hw Ö“_¯xÐ +"«€®R +¹øB¬ xE +†«†«þȰ +QS†«ósÿ Âä!®;u v©à¯am §– ¯k‹ ï^Ä®DÉÕR½ER½ER½ER½E +¹øB¬ xE +"«€®R Ö“_¯xРկݯ}hw +…c¯Ššë +2g¯—}¾ +^z𝤑 +_^¯Ÿ Š +¯£ƒ®zˆ5 OV1¬6uã áy¬(×_ +í~¬Ø* +UÐm®`ÙO +h寅\£ +2ÿ鯒ƒ· +4z®läR½ER½ES½ES½E OV1¬6uã +¯£ƒ®zˆ5 +_^¯Ÿ Š +^z𝤑 +·%B· +èK¯ÕÚ Y¼¯ëxü Z”"¯ç)• ²ƒÅ®Äß a–J¬„è Š¬l s °#2¬R= pƒ®–Þ +¸ o¯¸=O Àl¯ÐÄt \w•®¬WßS½ES½ET½DT½D a–J¬„è ²ƒÅ®Äß Z”"¯ç)• Y¼¯ëxü ©'°r ñ°£ 52h°1Ð 5èi°.Aÿ ”“f¯ Q(¬Ñ4: ÅѬ¸åö ¸‹¬›®º ü®Ûú& ©Ù˜¯ü"µ ñÄs°óž J+‡®õ¿ÍT½DT½DU¾DU¾D Q(¬Ñ4: ”“f¯ 5èi°.Aÿ 52h°1Ð y}°HÉ ¸0¬°^' òkò°q×Ä óƒ°o€ Wq™¯P×µä­$ã à+E­£C ›QO¬êO@ Þ·¯') yÙ/°E; ¸Ê<°[[ã áJ¯;UuU¾DU¾DU¾DU¾Dµä­$ã Wq™¯P× óƒ°o€ òkò°q×Ä gÁ°—…ü Æ_ï°¾9ÖŸá°ÜNãéѰÚù¡€'䯿ø›ZI +­‹W0-­jŒ?Ÿjc­@Ž  ×&¯z@Ó h¢°”ĸ Ư°¼ä”,èX¯Ÿ-ªU¾DU¾DV¾DV¾DZI +­‹W0€'䯿ø›éѰÚù¡Ÿá°ÜNã«´±„]÷Hö±6™j÷Hö±6™j÷Hö±6™jk{C°eSÚ.­íüCSÚ.­íüC«²­Í’&„ܰ»ý«^U±/÷Hö±6™jk{C°eV¾DV¾DV¾DV¾D®=€J¯lÕ°œ0c±Ë‹HTY±ÌX [ª²ââ¢"²R¶ÒG'¿±'Âz­[¯üض®-H®Ñã÷Ê6®vÜŽ]Á®>M Ž]Á¯m¢@TY°œý%/ž°Üî$–•™¯ªk›9µJ9µJM»FM»F®-H®Ñã÷z­[¯üضG'¿±'¢"²R¶Òhµ²g'pëQ¤²wH¨OQ©²)då±d®Ëx"°;03 ‹_¯F¸›u*®új4&þ®èIó~°°2w´è¢±<>)dà±N_-]aî°#S¯M»FM»FP¼EP¼E ‹_¯F¸Ëx"°;03då±d®OQ©²)³²¤‹LL²ºLl÷ƒ²Îô ´£Î±¨7óüP°p{ Cö´¯Z´dà$/¯C°wW£¯+=9Df°Tx¸ñ&Z±{Yò籓J4˜}”°jwyP¼EP¼ER½ER½E Cö´¯Z´düP°p{´£Î±¨7ól÷ƒ²Îô š97²ÙÀ;ƳٲâÜ)ñgy²îRú =š±È³D ‰—¼°£. կݯ}hw ¦²‡¯pÕE uÆ^¯fœõ .°Y á傱³$ Ëû±½‘ +Qçg³Rop +©× +²0~ Ì]± Îí Y¼¯ëxü +èK¯ÕÚ +·%B· +fà†°áÆ +yr²î| +b;ϲË +²ø¨°÷^kS½ES½ET½DT½D Y¼¯ëxü Ì]± Îí +©× +²0~ +Qçg³Rop +™ÿ³e/Ì +ÛQd³~(± <г’`o wâ²r, Ö±Qø“ 52h°1Ð ñ°£ ©'°r QÔ±"¼¬ +ñõ²Bå: 9ö±²]ôà ’cu±;µ‘T½DT½DU¾DU¾D 52h°1Ð Ö±Qø“ wâ²r, <г’`o Vï\³§BÎ ;³º¢k Å"³ÌЦ )޲®K; ÿݱ/ òkò°q×Ä ¸0¬°^' y}°HÉ x0±hüõ µšZ²‡à ô­ˆ²œn` SÄ–±|\’U¾DU¾DU¾DU¾D òkò°q×Ä ÿݱ/ )޲®K; Å"³ÌЦ /™ ³î}X …¶`´çm Êñ´-F– 8)k³Pð ¥aα÷OéŸá°ÜNã Æ_ï°¾9Ö gÁ°—…ü û±µÅh ”6²ÐIM òîòöæg Y'Œ±Ù:ÝU¾DU¾DV¾DV¾DŸá°ÜNã ¥aα÷Oé 8)k³Pð Êñ´-F– Uwf´câÈ š·¾´6 š·¾´6ê ³g.ƒ¨²NÍÌ÷Hö±6™j÷Hö±6™j«´±„]=ÖQ²3z ¯ɳHí!ê ³g.ƒ¨²NÍÌV¾DV¾DV¾DV¾D±Ë‹H²úÚÍ´*5²µY–¢òµZ]Wí8̵NèyûµÓ~L¬œ˜´¨”îà"5³} 0¢"²R¶Ò[ª²ââTY±ÌX TY²û§Ž¢ò´+s ¾i´eZ*($d³2Ì@9µJ9µJM»FM»F¢"²R¶Òà"5³} 0¬œ˜´¨”îyûµÓ~LÛ͵æ(;.µô'•£¶ÊúÓ0à´ÞáD³µøOQ©²)ëQ¤²wH¨hµ²g'pMã³’/R»´»'ÊyAY´Ë=¢­>g³ 2$M»FM»FP¼EP¼EOQ©²)D³µøÓ0à´Þá•£¶ÊúîΙ¶‹9Dn¹¶0\—•øR¶C3³ݤµw›%K8³õ°#l÷ƒ²Îô LL²ºL³²¤‹tÿá³Ìüf,áմ󡾌µ •Ê ³àÂdP¼EP¼ER½ER½El÷ƒ²Îô %K8³õ°#ݤµw›•øR¶C3³¾¬¶LãæºÛ¶Tã  d¶_=}Y1†µ9Ç¥OW´ò°ñgy²îRúƳٲâÜ)š97²ÙÀ;RŒì´‡³XZµ&'j2Òüµ/CWz›·´{ßR½ER½ER½ER½Eñgy²îRú¥OW´ò°Y1†µ9Ç d¶_=}3UͶj+ÍXŒ•¶tÊ}|½»¶$ìÍÒµZ¡˜ Sê´6C mŸ³šï EQ¦³$ 혲úi ÏÕw´ ÂmïµDŒ¨ÑüµPG(õ >´*²ÒR½ER½ES½ES½E mŸ³šï Sê´6CÍÒµZ¡˜|½»¶$ìÅ6Ƕ“·« ¤­¶§H J ¶¹Zƒ ¢pµ—ò ùò´tº +Qçg³Rop + +F|³>‘ ¾.Z³(}1 mãC´M… ßµo(÷ ašµ„Ì· ²VÙ´``"S½ES½ET½DT½D +Qçg³Rop ùò´tº ¢pµ—ò J ¶¹Zƒ Šø^¶ÉøÜ Å”U¶àÄ^ ýAˆ¶òðÙ +[솵ÒÈK +º‘Ó´²”] <г’`o +ÛQd³~(± +™ÿ³e/Ì +B´‡…½ âí±µ§¢ë +$?SµÀ›Ð +|¦g´ž\ŸT½DT½DU¾DU¾D <г’`o +º‘Ó´²”] +[솵ÒÈK ýAˆ¶òðÙ +4Á;·¼• +hFØ·'¯ +—Ø·'=‡ +üD%¶þ `µë´êÊ Å"³ÌЦ ;³º¢k Vï\³§BÎ +øJ´Çv¼ +“f‰µåˆ§ +Ì²îµøèD +Ϭ´ØáÖU¾DU¾DU¾DU¾D Å"³ÌЦ `µë´êÊ +üD%¶þ +—Ø·'=‡ +÷ªÎ·Et´ E"·e• ƒB/·~I© ðz’¶cH£ ]²õµHGœ Êñ´-F– …¶`´çm /™ ³î}X Ë'Zµ ¼Ä \”¶'@© ²?…¶J“þ xMµ,ètU¾DU¾DV¾DV¾D Êñ´-F– ]²õµHGœ ðz’¶cH£ ƒB/·~I© ÿÚh·¯L’ >&…·ÇÓ· >&…·ÇÓ· ²XÓ¶¯ŸU &‹ µ—jó š·¾´6 š·¾´6 Uwf´câÈ è9Sµ~ãÎ m|¶”Vì ²XÓ¶¯ŸU &‹ µ—jóV¾DV¾DV¾DV¾DµY–µY–¶ˆà¸ç•äß?Û¸èb¦~ÍG¹¯ŽÞ‘„¹TQ'D÷Í·.sx}jµÙ9µyûµÓ~Lí8̵Nè¢òµZ]W¢òµZ]Wß?Û¶‰¬Üå3¶ÈŒÚìŸ;µ•þð9µJ9µJM»FM»FyûµÓ~Lx}jµÙ9µD÷Í·.sÞ‘„¹TQ'677¹dúà‹ +–¹q’Ú鹂’ÌVNµ·6†ž”aò¶ ‘Õ£¶Êú;.µô'Û͵æ(Û3µëÌ‘œ£0·Ø,u^·$ùd:rlµùíæM»FM»FP¼EP¼E•£¶Êú”aò¶ ‘ÃVNµ·6†žÚ鹂’Ì*й•çv‘%¹¦§‚¾ù!¹·s[MF·o}³•%á¶H¶;•øR¶C3³Dn¹¶0\—îΙ¶‹9îè¶"R¥ôÜ·H÷ZJ·^±ÚCœG¶5ßP¼EP¼ER½ER½E•øR¶C3³•%á¶H¶;MF·o}³¾ù!¹·s[ãç¹À'ÁܹÆõR(Ðÿ¹Ð'ÿÀ.Ñ·Š&Û Fó¶d‡% d¶_=}æºÛ¶Tã ¾¬¶Lã½Ùž¶Rqjq¥ ·x ž®·€ô-åèj¶Z,µR½ER½ER½ER½E d¶_=} Fó¶d‡%À.Ñ·Š&Û(Ðÿ¹Ð'ÿJ¾¹ÙîŽkÁÓ¹ã|<‹â#¹ìºJ+¥â·¨­¨{ëI¶„*T|½»¶$ìXŒ•¶tÊ}3UͶj+Í2ƒ\¶ouuâÔ·“øÊ …’·Ÿo›Wº#¶yÏäR½ER½ES½ES½E|½»¶$ì{ëI¶„*T+¥â·¨­¨‹â#¹ìºJÌ?3¹þò% ÞºÿB8ƒº E—ñVi·ßÿÛ IF ¶½©ê J ¶¹Zƒ ¤­¶§HÅ6Ƕ“·«ÄdV¶˜±³kýB·ºå„¸ ÷ÏÓC Ýœ¶«rS½ES½ET½DT½D J ¶¹Zƒ IF ¶½©êñVi·ßÿÛB8ƒº E—{ö©º.¶¯Ü÷ºCkláKñºSŒ¤ ëê¸²Í ü–ç¶öŠ? ýAˆ¶òðÙ Å”U¶àÄ^ Šø^¶ÉøÜ Š1M¶ÎHC +·îpÑ l|ð¸œõ Äé´¶ä]ÃT½DT½DU¾DU¾D ýAˆ¶òðÙ ü–ç¶öŠ? ë긲ÍáKñºSŒ¤ “ºd6\ @Qïºs¬ô jŽºði +2ظH>7 +—IÞ·)þË +—Ø·'=‡ +hFØ·'¯ +4Á;·¼• +4ê· J› Ï3¸'\† +›é¸9úÁ +g¸§·èóU¾DU¾DU¾DU¾D +—Ø·'=‡ +—IÞ·)þË +2ظH>7 jŽºði ¿Â-ºœl +W㺹B› +;“UºÏA\ ¿Û¸š”‘ ‚ø>·žë ƒB/·~I© E"·e• +÷ªÎ·Et´ +÷·HAY +ˆ (¸bÅ> +Þ~¹¸„¡1 D½1·fêFU¾DU¾DV¾DV¾D ƒB/·~I© ‚ø>·žë ¿Û¸š”‘ +;“UºÏA\ +ªCºú¶] +ášý»pÝ +ášý»pÝ Éùè¸à >&…·ÇÓ· >&…·ÇÓ· >&…·ÇÓ· ÿÚh·¯L’ ÿx·°­4 „ið¸Æò Éùè¸à >&…·ÇÓ·V¾DV¾DV¾DV¾DSÚ.­íüCk{C°e÷Hö±6™j÷Hö±6™j&2±³þeNµ4²@s—oˆd²Û Ýoˆd²Û ÝŒ±ÔÉV1u¯¸çðâ +n¯$´ž}|®vضᰧ@Ô&2±³þeNµ4²@s—íbA±8`mV¾DV¾DY¿CY¿C1u¯¸çðŒ±ÔÉVoˆd²Û Ýoˆd²Û Ý[“³uÎ$©„†´¨ ¹Ä¼´Ô¿ð¹Ä¼´Ô¿ðiTb³Ï@Š´±à„g‹5±äÿXR˰a«,>Îײq=Ÿ[“³uÎ$©„†´¨ Xò ³šY¿CY¿C`ÁB`ÁB´±à„giTb³Ï@йļ´Ô¿ð¹Ä¼´Ô¿ðÚ?y¶@úð× à·âCþ¦s¹±F1¦s¹±F1|›„¸Ú¾q)”D·-ű0°âµ4èç³mÙøŠ_µ;´jÚ?y¶@úð× à·âCþƒ¸"¶áì `ÁB`ÁBrÆ>rÆ>÷Hö±6™jƒ¨²NÍÌê ³g. š·¾´6­ìh´ñZ»ZJµpÂyÁßRµýYËEkÇ´ïiëûï³éoˆd²Û ÝNµ4²@s—&2±³þe²}²Ì2Ç"³Øäø5®a´\¯ýÔ[n³T‘sV¾DV¾DY¿CY¿Coˆd²Û Ýëûï³éEkÇ´ïiÁßRµýYËÈdZ¶‰å¼Ȉ·#_⿌·ÈûydÝÀ¶ÑgmfµÌ¹Ä¼´Ô¿ð©„†´¨ [“³uÎ$œq´}‘®U),µ‚"3aœ¶#ÔÄ|"µ3>Y¿CY¿C`ÁB`ÁB¹Ä¼´Ô¿ðmfµÌdÝÀ¶Ñg¿Œ·Èûy®Œ¹ç}fÞº”"¤S¼4Ʋù ³»^>òϺ‡Â’¦s¹±F1× à·âCþÚ?y¶@úðUž·'è(l‡g¸-.®Sã?¹¹=€¸¸À_`ÁB`ÁBrÆ>rÆ> š·¾´6 &‹ µ—jó ²XÓ¶¯ŸU >&…·ÇÓ· 5¡¸.?°'ÿa¸¡[6A¹‡X—µ¸–¥>RÞ· J~ÁßRµýYË»ZJµpÂy­ìh´ñZ9º¶ M½ ©ÓT· N¢Y'·ŒóA4¶„àUV¾DV¾DY¿CY¿CÁßRµýYË>RÞ· J~—µ¸–¥6A¹‡Xm"¹žµævÙº(#ÅMź½+¡j¥¹ÅÍ4¸ÀN*¿Œ·ÈûyȈ·#_âÈdZ¶‰å¼;Ÿˆ·‘©F1ô¸–9Ë„í¹(—å.òs¸"ö_Y¿CY¿C`ÁB`ÁB¿Œ·Èûy4¸ÀN*j¥¹ÅÍÅMź½+¡‚õï»ç<Þ#¼-½<ðœŸ/3¾¸G2u«“½á¿rL'ó½ C"¤S¼4Ʋ}fÞº”®Œ¹çð³°¹û @ßÊ»O¥ú8¼ft<¦ê~»f]`ÁB`ÁBrÆ>rÆ> >&…·ÇÓ· >&…·ÇÓ· Éùè¸à +ášý»pÝ ½[U»kf ”ª'»Ñ`= f0¼AÀEm¦º%Þß6A¹‡X6A¹‡X'ÿa¸¡[ 5¡¸.?° 5¡¸.?° ¥º@¹:ýA ‰RT¹©/å'ÿa¸¡[V¾DV¾DY¿CY¿C6A¹‡X6A¹‡Xm¦º%Þß f0¼AÀE8ué¼² MòÚ½,æ$Ë"½±g*¾»Â«ÅMź½+¡ÅMź½+¡ævÙº(#m"¹žµm"¹žµQùݺ¢Ù7»-ĉævÙº(#Y¿CY¿C`ÁB`ÁBÅMź½+¡ÅMź½+¡¾»Â«Ë"½±g*WT¾º]ÕÊ+¿êA;´cÁ;¼RȲӿŽÃ’Ÿ/3¾¸G2Ÿ/3¾¸G2#¼-½<ðœ‚õï»ç<Þ‚õï»ç<ÞÓ'¸¼ìƒdwë¾=H{#¼-½<ðœ`ÁB`ÁBrÆ>rÆ>)”D·-ű|›„¸Ú¾q¦s¹±F1¦s¹±F1D.ê½OU÷"+ZÁ¤U¯$ ó»Æ_ú?$ ó»Æ_ú?%9(ÅëÇñ'i‹2ÅcW%Eÿ‘¿Øá"[»u´ n\—¼ÌyÔD.ê½OU÷"+ZÁ¤U¯#œ|ÀÁFrÆ>rÆ>Î8Î8¦s¹±F1Ϻ‡Â’ù ³»^>ò"¤S¼4Ʋm|¿6;®ýÃoÕ< ØV•Ǽ‘'!ðŠ÷ÇH^Ú#¿YÆÔ,Œ$ ó»Æ_ú?"+ZÁ¤U¯D.ê½OU÷m²‰¾%ÒXC„ܾ¨¹Û (ã_Âû¢ï!%½Â‡ürÆ>rÆ>Î8Î8"¤S¼4ƲL'ó½ Cu«“½á¿rŸ/3¾¸G2•âÁ¯ö ‹Å;TÊ¿É3o§ó€È¥"À"3È0Ãt ØV•Ǽ‘'®ýÃoÕ<m|¿6;–ŒÀU²›l^oÀØŽ¾=íÄÇøz›ÃäŠrÆ>rÆ>Î8Î8Ÿ/3¾¸G2Ÿ/3¾¸G2ȲӿŽÃ’´cÁ;¼R¾»¢ÃÞöÂÛ^iÇÈøG!øÊuÊXwмÉe½¿É3o¿É3oö ‹Å;TÊ•âÁ¯•âÁ¯k´bÂ1ò¢ Ç-Æd]ö ‹Å;TÊrÆ>rÆ>Î8Î8'i‹2ÅcW%9(ÅëÇñ$ ó»Æ_ú?$ ó»Æ_ú?%¡3Ƚf&%Úà_Ë41T&Z?Í·)S&Z?Í·)S'fêÍzºù)Öð͈¬)Kò²ÊHÝõ(|Hlǘ&Kß§È€z«%¡3Ƚf&%Úà_Ë41T'ü\Ê÷#¹Î8Î8Ò5Ò5)Öð͈¬'fêÍzºù&Z?Í·)S&Z?Í·)S&™ìLÎø™ó&ÉãäÐ=&×&éó#уþ&éó#уþ(B}ÑO.*s´kÑ*Õ*PÁÇÏÇqÈ*oiÎeXW'ÏY솙&™ìLÎø™ó&ÉãäÐ=&×'ý¤ïПÒ5Ò5¤Ô4¤Ô4*s´kÑ*Õ(B}ÑO.&éó#уþ&éó#уþ' +cÒÈë$')KÔ9M'4«ÕW7Õ'4«ÕW7Õ(I‰àÕW7Õ*¨9úÕW,u*¨9úÓòüa*–§ÒŽCÍ(:à +Ҝ˂' +cÒÈë$')KÔ9M(I‰àÓóÁ¤Ô4¤Ô4§Õ3§Õ3$ ó»Æ_ú?#¿YÆÔ,Œ!ðŠ÷ÇH^Ú ØV•Ǽ‘'!¼ôJÉâ¶<"iÎ Ì"ÝŽ™ÎgÉû$V<Î-«$%6wéÍñ<Ê&Z?Í·)S%Úà_Ë41T%¡3Ƚf&$lÑÉ1˜t"Õ(¬Énƒï#‡É7ËÈaÑ$¼å4Ë‹T6Î8Î8Ò5Ò5&Z?Í·)S%6wéÍñ<Ê$V<Î-«$"ÝŽ™ÎgÉû#nßÏ‹æï#CвÛç#`1ÜÑÛ<á$‹í«ÑÉf%¾7TÑ•5y&éó#уþ&ÉãäÐ=&×&™ìLÎø™ó%sFôÏ$1$>çÏ`OÎ$l”lЕÌ|% UwÐZ6CÒ5Ò5¤Ô4¤Ô4&éó#уþ%¾7TÑ•5y$‹í«ÑÉf#`1ÜÑÛ<á#}XÓÜ#ŒíÔ-v8#Œ/]ÕWC5$»„’ÕWC5%êßwÕWC5'4«ÕW7Õ')KÔ9M' +cÒÈë$%Ü1ÒÐ4¯$«A:ÒüTQ$»h"Ô-jØ%êÎgÔ9M¤Ô4¤Ô4§Õ3§Õ3 ØV•Ǽ‘'À"3È0Ãt§ó€È¥"¿É3o]MËRø»¹Í +ãr`ݤÏ_C „¥HÎÞKÌ!¹ÆõΡÝr"ÝŽ™ÎgÉû"iÎ Ì!¼ôJÉâ¶< ¤¿èÊVèŠusÊ“Ô ¶ä̳À!KÒáÌv²õÎ8Î8Ò5Ò5"ÝŽ™ÎgÉû!¹ÆõΡÝr „¥HÎÞKÌ`ݤÏ_C”ëÂÐ(‹¼-ÍÑ(÷Öp”Ò3pÅ!,cÒ!DJ"4v Ñíi]#`1ÜÑÛ<á#CвÛç#nßÏ‹æï!ðÃ×Ï·r° »–ÊÏó‘j å¼9Ñ ‹"w”ÐÏëRÒ5Ò5¤Ô4¤Ô4#`1ÜÑÛ<á"4v Ñíi]!,cÒ!DJÖp”Ò3pÅð³[Ó>P“ýüÔJ§Äþ*ÕWN•!-DÕWN•"\Ú)ÕWN•#Œ/]ÕWC5#ŒíÔ-v8#}XÓÜ"Ot…Ó +çg!–ÞÓ7!-WtÔJ§Ä"\½¸Ô-v8¤Ô4¤Ô4§Õ3§Õ3¿É3o¿É3owмÉe½G!øÊuÊXý (Ì-Vh‡©fÍöB2ä,°ÏÈÿê+¶GÏTÍ`ݤÏ_C`ݤÏ_Cø»¹Í +ãr]MËR]MËR.ìËDæmß¼ÍGñ ø»¹Í +ãrÎ8Î8Ò5Ò5`ݤÏ_C`ݤÏ_C+¶GÏTÍä,°ÏÈÿênUвj&5OéÑžFL¯LÒ‹¤©¤!;ÒgK²Öp”Ò3pÅÖp”Ò3pż-ÍÑ(÷”ëÂÐ(‹”ëÂÐ(‹_ÄeÐ[;äˆlÁÑd'0¼-ÍÑ(÷Ò5Ò5¤Ô4¤Ô4Öp”Ò3pÅÖp”Ò3pŤ!;ÒgK²L¯LÒ‹¤©d¯ÓyKoëáÔgä¯p$ÁÕWYõÎÔÚÕWYõþ*ÕWN•þ*ÕWN•ýüÔJ§Äð³[Ó>P“ð³[Ó>P“¿Õ´Ójp5ΛúÔgÙOýüÔJ§Ä¤Ô4¤Ô4§Õ3§Õ3*¨9úÕW,u(I‰àÕW7Õ'4«ÕW7Õ'4«ÕW7Õ'4«ÕW’Õ'4«ÕWâv'4«ÕX=v'4«ÕX=v(I‰àÕX=v*¨9úÕXHÖ*¨9úÕWíÖ*¨9úÕW’Õ(I‰àÕW’Õ'4«ÕW’Õ'4«ÕWâv(I‰àÕWâv§Õ3§Õ3§Õ3§Õ3'4«ÕW7Õ%êßwÕWC5$»„’ÕWC5#Œ/]ÕWC5#Œ/]ÕW’Õ#Œ/]ÕWâv#Œ/]ÕX2$»„’ÕX2%êßwÕX=v'4«ÕX=v'4«ÕWâv'4«ÕW’Õ%êßwÕW’Õ$»„’ÕW’Õ$»„’ÕWâv%êßwÕWâv§Õ3§Õ3§Õ3§Õ3#Œ/]ÕWC5"\Ú)ÕWN•!-DÕWN•þ*ÕWN•þ*ÕWž5þ*ÕWâvþ*ÕX&¶!-DÕX&¶"\Ú)ÕX2#Œ/]ÕX2#Œ/]ÕWâv#Œ/]ÕW’Õ"\Ú)ÕWž5!-DÕW’Õ!-DÕWâv"\Ú)ÕWâv§Õ3§Õ3§Õ3§Õ3þ*ÕWN•þ*ÕWN•ÎÔÚÕWYõp$ÁÕWYõp$ÁÕWž5p$ÁÕW×p$ÁÕXVÎÔÚÕX&¶þ*ÕX&¶þ*ÕX&¶þ*ÕWâvþ*ÕWž5þ*ÕWž5ÎÔÚÕW’ÕÎÔÚÕWâvþ*ÕWâv§Õ3§Õ3§Õ3§Õ3*¨9úÕXHÖ(I‰àÕX=v'4«ÕX=v'4«ÕX=v')KÖŸ;þ' +c׿Š'&éó#Ù,lM&éó#Ù,lM(B}Ù`G:*s´kÙ„ 1*–§Ø!<Þ*¨9úÖ¼xê(I‰àÖ¼mŠ')KÖŸ;þ' +c׿Š'(:à +ةɧÕ3§Õ3ªÖ2ªÖ2*s´kÙ„ 1(B}Ù`G:&éó#Ù,lM&éó#Ù,lM&ÉãäÚrYÓ&™ìLÛ¶ÛX&Z?ÜøWX&Z?ÜøWX'fêÝ4ºR)ÖðݨìŸ*oiÜJó*PÁÇÚèã'ý¤ïÚ­ð &ÉãäÚrYÓ&™ìLÛ¶ÛX'ÏYÛòÖ2ªÖ2°Ø1°Ø1)ÖðݨìŸ'fêÝ4ºR&Z?ÜøWX&Z?ÜøWX%Úà_ß{C÷%¡3áò$$ ó»äO{ $ ó»äO{ %9(äíY'i‹2å¬T(|Hlã_:)Kò²àf¢¶'ü\߸Q’%Úà_ß{C÷%¡3áò$&Kß§â.úŸ°Ø1°Ø1ÀÜ.ÀÜ.'4«ÕX=v%êßwÕX=v$»„’ÕX2#Œ/]ÕX2#ŒíÖ‚ +s#}X׫×o#`1ÜØÔ8i$‹í«Øædå%¾7TÙ?Ò&éó#Ù,lM' +c׿Š'')KÖŸ;þ%êÎgÖŸ;þ$»h"Ö‚ +s$«A:׳ ú%Ü1×ß@œ§Õ3§Õ3ªÖ2ªÖ2&éó#Ù,lM%¾7TÙ?Ò$‹í«Øædå#`1ÜØÔ8i#CÙü¤Ä#nßÛ#™¼"ÝŽ™ÜG¶°$V<ÜÊ'%6wéܾ8&Z?ÜøWX&™ìLÛ¶ÛX&ÉãäÚrYÓ% UwÚUJh$l”lÚ´/$>çÛO0Ý%sFôÛ‹D7ªÖ2ªÖ2°Ø1°Ø1&Z?ÜøWX%6wéܾ8$V<ÜÊ'"ÝŽ™ÜG¶°"iÎ Þð˜!¼ôJàÌ¿ ØV•âòä$!ðŠ÷ãgq#¿YãÛH¿$ ó»äO{ %¡3áò$%Úà_ß{C÷$¼å4ß$!#‡É7Þçz"Õ(¬á@ü¼$lÑá}Ü×°Ø1°Ø1ÀÜ.ÀÜ.#Œ/]ÕX2"\Ú)ÕX2!-DÕX&¶þ*ÕX&¶ýüÖd͇ð³[×q$·Öp”Ø|æ!,cØŽ1"4v ØÂN#`1ÜØÔ8i#}X׫×o#ŒíÖ‚ +s"\½¸Öÿ!-WtÖd͇!–Þ×xnB"Ot…פä§Õ3§Õ3ªÖ2ªÖ2#`1ÜØÔ8i"4v ØÂN!,cØŽ1Öp”Ø|æ¼-ÍنﴔñrÚX `ݤۗ „¥HÛÑ4ß!¹ÆõÜ —Ù"ÝŽ™ÜG¶°#nßÛ#™¼#CÙü¤Ä"w”Ùß•X å¼9Ù£ÿ »–ÊÚ»ïA!ðÃ×Úø›ªÖ2ªÖ2°Ø1°Ø1"ÝŽ™ÜG¶°!¹ÆõÜ —Ù „¥HÛÑ4ß`ݤۗø»¹Ý¤‘Ù]Mß§zY¿á–M;§ó€â +‰À"3â~±Ö ØV•âòä$!¼ôJàÌ¿"iÎ Þð˜!KÒáÞ8ÂV ¶äÝûÀusଦ ¤¿èàXŒÁ°Ø1°Ø1ÀÜ.ÀÜ.þ*ÕX&¶þ*ÕX&¶ÎÔÚÕX&¶p$ÁÕXVoëáÖG›d¯×6}`L¯LØ#ܤ!;ØH)˜Öp”Ø|æÖp”Ø|æð³[×q$·ýüÖd͇ýüÖd͇ΛúÖG›û¿Õ´×Eð³[×q$·§Õ3§Õ3ªÖ2ªÖ2Öp”Ø|æÖp”Ø|æ¤!;ØH)˜L¯LØ#Ü5OéÙ:¤nUÙý„ä,°Úæua+¶GÛZ§®`ݤۗ`ݤۗ”ñrÚX ¼-Íنﴼ-ÍنﴈlÁÙKY{_ÄeÚT9f”ñrÚX ªÖ2ªÖ2°Ø1°Ø1`ݤۗ`ݤۗ+¶GÛZ§®ä,°Úæua‡©fܹ>yý¥ØÞ‚*CG!øà9ªówмá"Ž¿á–M;¿á–M;]Mß§zYø»¹Ý¤‘Ùø»¹Ý¤‘Ùß¼Ýgž.ìßjŽÞ]Mß§zY°Ø1°Ø1ÀÜ.ÀÜ.'i‹2å¬T%9(äíY$ ó»äO{ $ ó»äO{ "+Zé œD4ší`S¦$ðþ/¦$ðþ/|›„ñÔ¶Ú)”Dó¯š"[ïÿ—%Eÿ‘êÖ“Ê#œ|éî//"+Zé œD4ší`S nbGíâûwÀÜ.ÀÜ.×ã)×ã)$ ó»äO{ #¿YãÛH¿!ðŠ÷ãgq ØV•âòä$®ýç? m|ë0?"¤Sîz¹ùù&cïQ6YÏ¢Ãð'²¹¦$ðþ/D4ší`S"+Zé œ!%½è–íO (ã_ç³Ò\CŠŒìÆÐm¸:쉢óÀÜ.ÀÜ.×ã)×ã) ØV•âòä$À"3â~±Ö§ó€â +‰¿á–M;ö ‹åt+á•âé^ÌŸ/3ë÷9yu«“ì͵ÙL'óí¤29"¤Sîz¹ùm|ë0?®ýç? ø€KæËmÁ=íåè^.l^oéÖæŒ–ŒêY°ÀÜ.ÀÜ.×ã)×ã)¿á–M;¿á–M;wмá"ŽG!øà9ªóÛ^i㨬S¾»¢æÐ‰éºés¸øȲÓë ±¹Ÿ/3ë÷9yŸ/3ë÷9y•âé^Ìö ‹åt+áö ‹åt+á Ç-ä‘îk´bè}‚©•âé^ÌÀÜ.ÀÜ.×ã)×ã))”Dó¯š|›„ñÔ¶Ú¦$ðþ/¦$ðþ/þMôœ>ß²ó6÷ƒST÷N¦ùxÛá÷N¦ùxÛák{Cú‘CSßÞüÁy~gdúþv7Ó1÷sjýŠÚqõÆfÜþMôœ>ß²ó6÷ƒST–Éøm•²×ã)×ã)ìé$ìé$¦$ðþ/Ï¢Ãð'²¹ù&cïQ6Y"¤Sîz¹ùØ)jñÅb焹ôh¨2 š½nö0>ºï»÷HsƒXø`§÷N¦ùxÛá²ó6÷ƒSTþMôœ>ß1íóÅ·®¥Êò›"[±Võ€Ü•>Æ™ökò×ã)×ã)ìé$ìé$"¤Sîz¹ùL'óí¤29u«“ì͵ÙŸ/3ë÷9y¨NÖîíÛE‹ñMý >,5òç¡” ²^ƒóÿÕö &‹ õ +X š½nö0>º焹ôh¨2Ø)jñÅb­ +ðî‹~ÐæïÄW¥BØòf1ssRkóPsÐ×ã)×ã)ìé$ìé$Ÿ/3ë÷9yŸ/3ë÷9yȲÓë ±¹ºés¸øxyóì¯(P¢ î3FŽ +ášýïŸm ÉùèñÏm2 >,5òç¡” >,5òç¡”‹ñMý¨NÖîíÛE¨NÖîíÛE%r³íçè9øðcº³‹ñMý×ã)×ã)ìé$ìé$SßÞüÁyk{Cú‘C÷N¦ùxÛá÷N¦ùxÛá ™Àžúsõx +#Aû2ðU ‘û²>s ‘û²>sÚÿÉüÛÇ/Pº‰ÿ.ïg p þ¤¸ ¾ôDýÓ‹¡ Ö•Yû£"Ü ™Àžúsõx +#Aû2ðU +˜»‘üPë€ìé$ìé$õì"õì"÷N¦ùxÛáƒXø`§ï»÷Hs š½nö0>º tŒù÷_O 7Éâ÷ÁØRïŠJø5‚*dÒù_:eE +úˆªW ‘û²>s +#Aû2ðU ™Àžúsõx %”ù[Á è¿Fø,“± r¤jøëln èB¹ú \9ìé$ìé$õì"õì" š½nö0>º &‹ õ +X ²^ƒóÿÕö >,5òç¡” +O_󴽯LvƒôP´ï>ïRô¸ÅÊyÏŠõâYæ´ª÷ îïŠJø5‚ 7Éâ÷ÁØR tŒù÷_O `[õü +Ë ôÌýˆ‡Q +õzI üéªö˜D6ìé$ìé$õì"õì" >,5òç¡” >,5òç¡” ÉùèñÏm2 +ášýïŸm *+]ðU'asðßœìŽZ ñ< vÊó1®>ïRô¸ÅÊ>ïRô¸ÅÊLvƒôP´ï +O_󴽯 +O_󴽯 +ŠHò…bÖØ3ó2Å$LvƒôP´ïìé$ìé$õì"õì"Pº‰ÿ.ïgÚÿÉüÛÇ/ ‘û²>s ‘û²>sþ¶ðûÎ&]çàû»ÔŸüÓO»ÚOü.Pçÿ¡ý2JÐ@>äÿŠ(Ïñ¼ÿp²É ¨ÿMÅÕ*íRüú¨ýþ¶ðûÎ&]óAûîå­˜Óxýà*õì"õì"÷í!÷í!@>äÿŠ(Ïçÿ¡ý2JлÚOü.P»ÔŸüÓOOœüèíwÚü1HPÔ4‡üA¢iÔ4‡üA¢iñ““ýo…ë,WZÿËXPÝòCÿ¹’6 +\ÿ kÐ6ÅhýHÑULüCîwÚü1HP£.|ý]¿Ñ÷í!÷í!ùí!ùí! ‘û²>seE +úˆªW*dÒù_:ïŠJø5‚\ÅÏøN‘Äʵølb7d©ø}Ðc‰ûù­šP¯MúٶлԟüÓO]çàûþ¶ðûÎ&ÃÜiú¤`—¦ùx€öâWù˜1È?úÂn-õì"õì"÷í!÷í!»ÔŸüÓO¯MúÙ¶Ðc‰ûù­šP7d©ø}Ð£šŒø“f +pø¨þk| ø·á!™p¿ùåжÏËû³†Ô4‡üA¢iwÚü1HPOœüèíí*JúíÌnϺ.ù¿‚Š-Š|ùÖáíY¯ÎûYn÷í!÷í!ùí!ùí!ïŠJø5‚´ª÷ îyÏŠõâYæ>ïRô¸ÅʺԭôÎò 7—Ùôê:t²úcôý(Pßö)DÐ ?W÷UaP7d©ø}Ðʵølb\ÅÏøN‘Ä!ëG÷$ý¨õ´åõø†'c½+öVôžc÷@Fõì"õì"÷í!÷í!7d©ø}Ð ?W÷UaPßö)Dвúcôý(P-ßÍõ BWõ ©%#é0õ.ÙAH<ö\¼^¬÷÷‰ò>| ø·á!+pø¨þk£šŒø“f wu;÷gI‹Zö9 ƧöN˜òÆ´÷{ˆ÷í!÷í!ùí!ùí!>ïRô¸ÅÊ>ïRô¸ÅÊÊó1®ŽZ ñ< vã‹ñORS¤lþñh÷.ŠnñxÒІÏaóавô³ôüÍP²úcôý(P7—Ùôê:tºÔ­ôÎò ºÔ­ôÎò ŽžKó¢o+ü±ñó¿ä÷7’)ôéÔõì"õì"÷í!÷í!²úcôý(P²ô³ôüÍP†ÏaóаÐ.ŠnñxÒи*½ñ†k¥B^íñ˜_@ËÆ\ñ¤iñŠ$ô}æûî!ûî!üî!üî!| ø·á!^¬÷÷‰ò>AH<ö\¼#é0õ.ÙžHõ7€€áõCQÙ’¤éõK¬e¡Iöz¬I¯í5÷©¬.¾‘ZøØ¬S(8øÏ$ç‹æøÂ­QÊ,Ú÷”¾n»}Töenê'%örF]D„÷ @ùí!ùí!ûî!ûî!¾‘ZøØ¬¯í5÷©¬.¡Iöz¬I’¤éõK¬e mñõOJ†6øõR„0õUðö…?™°÷´š~°øãõc”àÎøà.})¶<øÜg—÷­sö~/†6øöß”Û÷°Ó˜ûî!ûî!üî!üî!#é0õ.Ù#é0õ.ÙŠ$ô>stream +so׺ÿÿÿÿso׺û0´ so׺øÉƒso׺øÉƒl[Ø&øÆÁTf-€’øP`ñÍ–÷. l`ðg»÷9«›`‡Õëù˜o{_¸#°þJ=ÞeMXåÿ=½Ékåbáÿý¾Ðkåbáû.[Äl[Ø&øÆÁTf,¸ø¿–f ú‹ØPüî!üî!çè&çè&_¸#°þJ=Þ`‡Õëù˜o{`ðg»÷9«›`ñÍ–÷. l_£|®öðO^aÙö¾4ý]0…<ö|ñ].Úö‡ÓM\°Ý øâq'[¶Ž ýŒ +—\û |ýÒb¾^S^þPÿ_#AùV‚œ_¢ HöûŸ~^_s¼öÉîY]õï€ù(ÉOçè&çè&åç&åç&[¶Ž ýŒ +—\°Ý øâq'].Úö‡ÓM]0…<ö|ñ\¯Üö6 ZÞ¦Ûõó3MYÊj8õ³‡YȨõ¾¶sY70øX òü¶MY<Ó üú7ZrVêýA^>[l¥îø—Ûå[ÿ¾öAÀhZÜÙõþb#Z]õ+øXÑÑåç&åç&ãæ'ãæ'X òü¶MY70øYȨõ¾¶sYÊj8õ³‡Y@œµõ’œ¹X¹3õvyvX72ŽõS©»X5dÏõ^e!Wšó­÷²V…VgÓüO”üVòŸüt¥åWƒúü“ +WX¤$÷ñ¼òY>ÎõõËŽX·eCõ4ÜX%³›÷×gnãæ'ãæ'âæ'âæ'VgÓüO”üWšó­÷²V…X5dÏõ^e!X72ŽõS©»Wµ™ÿõ/ BW7nÁõ U¨V¼°ÕôèVºî¡ôò¶ÍV÷½÷D~TÓ×µûÝÄ·UVáªü§sU݇ü(ŸGð޼ÒJ>Gð޼ÒJ>Gð޼ÒIhÉòÇqÒG@ÉY÷8ÛÒG@ÉY÷8ÛÒH!׿÷‘ÇúIÜ›`óµ–JÖŽ ðä¯J>Gð޼ÒIhÉòÇqÒÞå(Þå(Þå(Þå(so׺øÉƒso׺öaPýso׺óù¶Žso׺ñ’lÒMkñÃØg ¨?ðæ|×b+w|ðëäaÂå«òp¯ÄaZ_fôÏ\`ñÍ–÷. lf-€’øPl[Ø&øÆÁTl[Ø&ö_ÎlÒMkó÷^Hf¥oóE@¶f–cõ³Ypüî!üî!çè&çè&`ñÍ–÷. laZ_fôÏ\aÂå«òp¯Äb+w|ðëä`óÊï×Àˆ_Æ6ïª<^ªpãïl)K^,sÒñÆÞ<]®‚Lô!|]0…<ö|ñ^aÙö¾4ý_£|®öðO` óô‘Po`‹ …ò6mR_H %ò¥^ßêôc—"çè&çè&åç&åç&]0…<ö|ñ]®‚Lô!|^,sÒñÆÞ<^ªpãïl)K]Îï*Æò\€z¬îì^{[~Ò î°ØÏZíZñ"xZ[â(ó]U YÊj8õ³‡ZÞ¦Ûõó3M\¯Üö6 \~¬íóÛi2] ½ñ…dÌ[ï¼ñB‘ [pËó»åç&åç&ãæ'ãæ'YÊj8õ³‡Z[â(ó]U ZíZñ"x[~Ò î°ØÏZþ7pî’/ZÆïîxMZ…õîW¾{YlÒð«¯ÞXÑ£°òÿ¸XX72ŽõS©»X¹3õvyvY@œµõ’œ¹YÒ¥ójYS¤%ó"ˆãæ'ãæ'âæ'âæ'X72ŽõS©»XÑ£°òÿ¸XYlÒð«¯ÞZ…õîW¾{Y¬ßî5b1YcîÜX¥‰öíóuQXžðE<œW_§¹ò–ìÐV¼°ÕôèW7nÁõ U¨Wµ™ÿõ/ BXP !òÛÈXó;½ð‰jªXuðe´WÚe¥ò¹¥tâæ'âæ'áæ'áæ'V¼°ÕôèW_§¹ò–ìÐXžðE<œX¥‰öíóuQWÀš¨í²†hVèb«íuçVâí;LåUj\ŠïˆzºT·âŸñÕ¿¦T](ô"í|Tß…†ô`ùšUÇLô¢ÏcVjBùòQ/W£Äð6œV5èÀïÂI½U‘ÿqò´®áæ'áæ'àæ(àæ(T](ô"í|T·âŸñÕ¿¦Uj\ŠïˆzºVâí;LåUOû{íé+T–m4ì¿}Sæy»ì…“ÔS&ažî΄Rf=öñuIQ¦%Ùó`NíRb¹óç›S)ñ‘óé5SÜk}ñ›ð¤TïS.SÖIŒï÷7S"Ý5ñU ÷àæ(àæ(ßå(ßå(Q¦%Ùó`NíRf=öñuIS&ažî΄Sæy»ì…“ÔS7'ÞìJßå(ßå(Þå(Þå(Má*éò„wN¶ÜtïÓ'OŒþ푲šPb?ˆëPU6OçGð޼ÒJ>Gð޼ÒJ×/§ðáúxK´Üm÷L®ÏìpxKÛÝ·ìRÒJðÅîVÒÞå(Þå(Þå(Þå(so׺ñ’so׺ï*S‚so׺ì¹so׺ê[ŒmH°êXÆ]gíÏìéºótce!aèõ·\bü‘ëT{;b” Lí³(b+w|ðëäg ¨?ðæ|×lÒMkñÃØlÒMkï(RmH°ìÀ`Ìg…>ì =gv:î‡Ðüî!üî!çè&çè&b+w|ðëäb” Lí³(bü‘ëT{;ce!aèõ·\bC®rè¿lÂa,“è•Ùz`$hè\O»_¦kê¶í–_(môí‹p^ªpãïl)K_Æ6ïª<`óÊï×Àˆa\!šíxü©aÛ¡ë0¢`®‚êðwU`DšGíOiaçè&çè&åç&åç&^ªpãïl)K_(môí‹p_¦kê¶í–`$hè\O»_aÀèoÀ^"N~çår‘]3.Pç®*\¡¶_ê\”\>oìZ¦=[~Ò î°ØÏ\€z¬îì^{]Îï*Æò^ úTìÐ)^Ÿd¯êz$±]Öê;¥$]çì–Òåç&åç&ãæ'ãæ'[~Ò î°ØÏ\>oìZ¦=\¡¶_ê\”]3.Pç®*\»Ò+瑪e\Ffgçz —[ÕÙ[ç[Ó;[;h9é¯ÄžZ ÷ì¶Z…õîW¾{ZÆïîxMZþ7pî’/[¯`ì;åq\*Z:éçô[«õEéÎú[Cœì$[£ãæ'ãæ'âæ'âæ'Z…õîW¾{Z ÷ì¶[;h9é¯Äž[ÕÙ[ç[Ó;[e¿¿ç;Ï6Zø ç²ZŽn¢æþdµYëw¾éPéYH€Úë¡ÅX¥‰öíóuQYcîÜY¬ßî5b1Z(ëápÍZËNéÀ™ZU©!énbEYºþGëÂS¨âæ'âæ'áæ'áæ'X¥‰öíóuQYH€Úë¡ÅYëw¾éPéZŽn¢æþdµY¹ôÆæÂ&WXñ?Ñæ‰>4X4fÙæS¬MWábè Ú#VÏgwêîVâí;LåVèb«íuçWÀš¨í²†hXc‘Œë`¿YýâéÖ‹X>ÅåèÖl +Wšè"ë'Öûáæ'áæ'àæ(àæ(Vâí;LåVÏgwêîWábè Ú#X4fÙæS¬MWvðæ"³ÛVÊOåàIV&Ù(åªØ¼Ufµ€çó²`T¦cê<£Sæy»ì…“ÔT–m4ì¿}UOû{íé+V€ò긻UV×èoá±V ý2è(ÿUV…QêvÃàæ(àæ(ßå(ßå(Sæy»ì…“ÔT¦cê<£Ufµ€çó²`V&Ù(åªØ¼U„üås¾XTíå@›ÍTaˆuåqS•¶üçViýRÉÙøé›bßQþëàD«R”Sœì!óS7'ÞìJ4Y¹ôÆæÂ&WY»Ÿäæ·õwZo :äk åY–½'ä.ü³Xòßcæ€g¤áæ'áæ'àæ(àæ(X4fÙæS¬MX5úàæJÕ½Xè€Wãý§èZKà&ßl+Yœ&eß?sXýÈöß-+Xg- +ÞÐVèW ãZ±V(?壊¨V&Ù(åªØ¼VÊOåàIWvðæ"³ÛWw°ƒæÝKX8» ãѾW~ó ã‹ÀŒVË{*åØ×Làæ(àæ(ßå(ßå(V&Ù(åªØ¼V(?壊¨VèW ãZ±Xg- +ÞÐWÑÞKæWEºÞn,¿VÅkÞB©U.†âÆàÎTb´˜å Ù°TaˆuåqTíå@›ÍU„üås¾XU…×ål‡[VR:/ã'êÒU¯,5âòdwTî-8å;cßå(ßå(ßå(ßå(TaˆuåqTb´˜å Ù°U.†âÆàÎVÅkÞB©VDøWÞ…ÚUÌÀÞÝóùYUdQ¯ÝÇöµS¹ÕzâF®Rä#ðäˆRãHœäŒ%öST™æä»~ÕSÖ±päà¿S×Ý“äÚøTT®uýâ™ÉT"9âr°½SUu:ä·XÑßå(ßå(Þå(Þå(RãHœäŒ%öRä#ðäˆS¹ÕzâF®UdQ¯ÝÇöµTûBÝž5ATœlƒÝx™ÑTHÞå(Þå(Þå(Þå(Q¯*–äNêQ¯Ì2äšKRxøáÑ6ÊTHGð޼ÒJ>Gð޼ÒF¾§ï3Ë®C‰ƒ²í¯@j(ºìýO@j(ºìýO?²îZ=Vò_º@VÜô'Ì4CÂT¾õÆ E™ô.ñU% F¾§ï3Ë®C‰ƒ²í¯BGk!ïÇ^Þå(Þå(Ûä)Ûä)=Vò_º?²îZ@j(ºìýO@j(ºìýO=JÍÃêVø:@¤T胡Ô7OÀæ‹–z7OÀæ‹–z5êÓèžS±3KªÎìŠ[v6oNlî¤ +g9­^¤ð–~V;輸ìg¹è=JÍÃêVø:@¤T胡Ô8Ü—]ê–¤NÛä)Ûä)Óâ*Óâ*3KªÎìŠ[v5êÓèžS±7OÀæ‹–z7OÀæ‹–z1l­â›Æ+ë»§Þt1&éã8ÙÉï&éã8ÙÉï%6sÚÊ(?!ÏêéÞ0ÙT'&•ã‡l[-XèW+À0>íä­É1l­â›Æ+ë»§Þt1*Fà »FÓâ*Óâ*ÀÝ.ÀÝ.J>Gð޼ÒJðÅîVÒKÛÝ·ìRÒLdz5éäÒI¹Àè ñ9F¼Ñç67ËCÒ4å¦ÉÍBÇ5ñçÊ©žAu&èéß~@j(ºìýOC‰ƒ²í¯F¾§ï3Ë®G©Ú%ìû®HÍêêÙ¦9EÃØDéf ÁDË>ë~™ +Þå(Þå(Ûä)Ûä)@j(ºìýOAu&èéß~BÇ5ñçÊ©žCÒ4å¦ÉÍ@è<âä[Ï>î±âc9@;R”<àŒÅó:â‚ÉÕ8ž­á䕇 7OÀæ‹–z:@¤T胡Ô=JÍÃêVø>h‚’è?ŠÛ?ʈæ.²z<ÛJ8äi÷Ø;wHÌæ|ã<Ûä)Ûä)Óâ*Óâ*7OÀæ‹–z8ž­á䕇 :â‚ÉÕ;R”<àŒÅó5ÓÓÉÜßÓÍ0°Ö½Ø©|,çÓüºŠ*PˆÂÕ°Ú(5ý×ckŸ&éã8ÙÉï+ë»§Þt11l­â›Æ2í àÆÎ­4R`VÞ´„æ.ýƒøÚ\ÚX-ŸlÜe!lÓâ*Óâ*ÀÝ.ÀÝ.Ldz5éäÒM³ˆ³ç«èÒNŸR¥ås3ÒO‹(#ã:~ÒLµpâ"PIîÇ{à½m—G:?ƒßJ¡×F/AUán§DÝ2Mã‚éüCÒ4å¦ÉÍF¼Ñç67ËI¹Àè ñ9J¥Š æh<9KɦäFËÅHöïâíÖG´réåÎÕÞå(Þå(Ûä)Ûä)CÒ4å¦ÉÍDÝ2Mã‚éüF/AUán§G:?ƒßJ¡×D…¬Ý×ÖAãD˜ÜBÜ8?V¹Úõl>z˜ÜƒùO<¢(^Þ–¶…;R”<àŒÅó>î±âc9@@è<âä[ÏBñ±â#Ch¼ßï,Â@¬  ÞIE?H“)à\†4Ûä)Ûä)Óâ*Óâ*;R”<àŒÅó<¢(^Þ–¶…>z˜ÜƒùO?V¹Úõl:;—o×$H5uý^Ó:ƒß1ßaÎâ¶°/jŒœÐ– u-·9×ÒIgÅ,çÓüºŠ0°Ö½Ø©|5ÓÓÉÜßÓÍ7URÇÛ "´8º#üØøÍa3ª™Ôíâ/2d5 Öö)CÓâ*Óâ*ÀÝ.ÀÝ.O‹(#ã:~ÒO‹(#ã:~ÒPvý¡á¾GRNÜTGO±+wÛ{GÛM!o&ÚD®îJ¢JèØîyàHŒNŒÝ69‚G:?ƒßJ¡×G:?ƒßJ¡×IîÇ{à½m—Lµpâ"PLµpâ"PMÙŒßì½fK0à Þ¥iÃIîÇ{à½m—Þå(Þå(Ûä)Ûä)G:?ƒßJ¡×G:?ƒßJ¡×HŒNŒÝ69‚J¢JèØîyàH#&ª×˜DÓE´š€Ö"s¥CY}«Ô$å@º`óØ{,ª?V¹Úõl?V¹ÚõlAãD˜ÜBÜ8D…¬Ý×ÖD…¬Ý×ÖEç½ ÛÆýµCGQÚ/Ù¾AãD˜ÜBÜ8Ûä)Ûä)Óâ*Óâ*?V¹Úõl?V¹Úõl@º`óØ{,ªCY}«Ô$å>£[ÑhpO:;tÍË‹¶67ã;ÉȧK2Ñ2&Í/X`1ßaÎâ¶°1ßaÎâ¶°5uý^Ó:ƒß:;—o×$H:;—o×$H; t0ÕÒ6ÔrêÑ2<Ë5uý^Ó:ƒßÓâ*Óâ*ÀÝ.ÀÝ.!ÏêéÞ0ÙT%6sÚÊ(?&éã8ÙÉï&éã8ÙÉïælÏ;²Ý’BÃxqŸ†µü¨˜qŸ†µü¨˜ 8ꆶè~ÇŒ¸À)³›Æº"‹$Óƒ¦‰<9ÐÔælÏ;²Ý’BÃx›Äâ\ ÀÝ.ÀÝ.£Õ4£Õ4&éã8ÙÉï(5ý×ckŸ*PˆÂÕ°Ú,çÓüºŠ"ªAsÊ¢æ¿*pé¿pèý¾†³9(ã †´$ýœªT†µÓqŸ†µü¨˜Ý’BÃxælÏ;²™¾ÖÍ_Ýb öî®ÌVEñ»éÀ\¾zGBÂ)¢…ÀÝ.ÀÝ.£Õ4£Õ4,çÓüºŠ-·9×ÒIgÅ/jŒœÐ– u1ßaÎâ¶°(n"`Æ2V!wD»ÌY÷ÅÑû°uœ(†±aq˜Ts†²MR¡¾†³9(*pé¿pèý"ªAsÊ¢æ¿$]”8Èï“ú&ºÏ›Çåð>š¼¸;c%é¾…ÀÝ.ÀÝ.£Õ4£Õ41ßaÎâ¶°1ßaÎâ¶°2Ñ2&Í/X`67ã;ÉȧK.1÷ÂÁÂHc'Ä"¬¸'Ö|#oðû­²¡þ†û¯‰ÆœÅÑû°uœÅÑû°uœ!wD»ÌY÷(n"`Æ2V(n"`Æ2V*ËR8Å(ùx#R¸¬¹ÿx!wD»ÌY÷ÀÝ.ÀÝ.£Õ4£Õ4ÇŒ¸À) 8ꆶè~qŸ†µü¨˜qŸ†µü¨˜ ¹6̯q>Ø +ªÂ<¨ŸäÖ JPÄ¡¬¡ù JPÄ¡¬¡ùÖÚW¢'=C6\£Á®†.ª}!àTþ±Äƒ +Q¾þ¯ìØ ¹6̯q>Ø +ªÂ<¨ŸäÖ7nq©ÃY£Õ4£Õ4’Ð7’Ð76\£ÁÖÚW¢'=C JPÄ¡¬¡ù JPÄ¡¬¡ùšž3ŠWiš°ä弤ú—*Ñh¼¤ú—*ÑhNô$—”`ŽOâ—ÝÊNìꊛŸ¿Ðzv.Ÿ]à&–ž¬î­šž3ŠWiš°äå¤ÃÈ›)Ɇ’Ð7’Ð7ŒÎ8ŒÎ8ŽOâ—ÝÊNNô$—”`¼¤ú—*Ñh¼¤ú—*Ñhcæÿ“¤½ë774§ +6ý|Œ‘&;6ý|Œ‘&;ÏWŒ‘&;Œ‘1ÆUòý/µ9”ÔÌù$“þK¯cæÿ“¤½ë774§ +Ïn—UçrŒÎ8ŒÎ8‰Í9‰Í9qŸ†µü¨˜ªT†µÓã †´$ýœ¾†³9(’$&­úœ§ Ö¦ÂF^", F11 út ¼ð š„¡6·: JPÄ¡¬¡ù +ªÂ<¨ŸäÖ ¹6̯q>ØñëÌ®…iZYo&® Ðbï§s o ï<#§îþò£Õ4£Õ4’Ð7’Ð7 JPÄ¡¬¡ù š„¡6·: út ¼ð^", F11¹®W ù=ÏÔ™Áþoêú–wÌö Š¢+–œ¯³ +ñV—¤ú—*ÑhWiš°äåšž3Š +ð'ùÚ‡Ó c©ñ`™± áã5™üù” +qDšuéÀ’Ð7’Ð7ŒÎ8ŒÎ8¼¤ú—*Ñh +ñV—î« Š¢+–œ¯³êú–wÌö˜$Q“-§ nKÆß[mú÷Œ‘$ TüŒ‘° ž£vŒ‘°6ý|Œ‘&;774§ +cæÿ“¤½ë Èž£“•ó– 3a"“˜Ó#„O*•ÄÔ¸÷C•é¶ÍKFn–RõÅêú–wÌö=ÏÔ™Áþo¹®W ù¾Hœ¯³Íƒ@@œ5º +[Ÿ™©™¼r™‡Õ’Ð7’Ð7ŒÎ8ŒÎ8êú–wÌöKFn–RõŸ÷C•é¶ÍO*•ÄÔÌV’¶„œ¥k㤯¤øsŒ‘™=RxŒ‘$Õ òŒ‘$mú÷Œ‘$nKÆß[˜$Q“-§ üÛô“ܵgžs’ÅNñ=º]¤¯ÕñÀß[ŒÎ8ŒÎ8‰Í9‰Í9ÅÑû°uœÅÑû°uœþ†û¯‰Æœ#oðû­²¡!CóM¨wfšŸó£ý …ÄüyDåjže%qó”žß´Þqó”žß´Þ£Eä¤ä›ËkªÊ¶akªÊ¶aÒ‰MªO!™°¤h½H£Eä¤ä›Ë£Õ4£Õ4’Ð7’Ð7qó”žß´Þqó”žß´Þåjže%…ÄüyDøò š²mbŽÀ¨—äH™G¤C•Û*‡•[•O*•ÄÔO*•ÄÔfH>˜Ó#„ÙP1›ÝLóÙP1›ÝLóLÒ)›cSEÖçj˜Z3XfH>˜Ó#„’Ð7’Ð7ŒÎ8ŒÎ8O*•ÄÔO*•ÄÔ‡•[•G¤C•Û*‡Ý’?m»Ü€uhλÛõïŒø žnŒ‘™¤øsŒ‘™¤øsŒ‘™¥k㤯ÌV’¶„œÌV’¶„œ7•’\öØ 4hÚF¥k㤯ŒÎ8ŒÎ8‰Í9‰Í9Œ‘1ÆÏWŒ‘&;6ý|Œ‘&;6ý|Œ‘&;6ý|Œy6ý|Œ×v6ý|Œ*O6ý|Œ*OÏWŒ*OŒÃŒË댄žÏWŒy6ý|Œy6ý|Œ×vÏWŒ×v‰Í9‰Í9‰Í9‰Í96ý|Œ‘&; ž£vŒ‘° TüŒ‘°mú÷Œ‘$mú÷Œymú÷Œ×vmú÷ŒAe TüŒ5Ú ž£vŒ5Ú6ý|Œ*O6ý|Œ×v6ý|Œy ž£vŒy TüŒy TüŒ×v ž£vŒ×v‰Í9‰Í9‰Í9‰Í9mú÷Œ‘$Õ òŒ‘$=RxŒ‘$¤øsŒ‘™¤øsŒmˆ¤øsŒã¤øsŒLð=RxŒAeÕ òŒAemú÷ŒAemú÷Œ×vmú÷ŒyÕ òŒmˆ=RxŒy=RxŒ×vÕ òŒã‰Í9‰Í9‰Í9‰Í9¤øsŒ‘™¤øsŒ‘™ žnŒ‘™ÛõïŒøÛõïŒmˆÛõïŒãÛõïŒX{ žnŒLð¤øsŒLð¤øsŒLð¤øsŒã¤øsŒmˆ¤øsŒmˆ žnŒy žnŒ×v¤øsŒã‰Í9‰Í9‰Í9‰Í9ŒÃÏWŒ*O6ý|Œ*O6ý|Œ*O774‰©cæÿ…{’Ÿ¼¤úõ!¼¤úõ!Nô$Œ@)ŽOâB†;/µ9…{½ˆÊ]ŒÏn—ˆÊi774‰©cæÿ…{’Ÿù$…"Û‰Í9‰Í9†Ì:†Ì:ŽOâB†;Nô$Œ@)¼¤úõ!¼¤úõ!Wi~ok¤šzíOÿ JPÄws®‘ JPÄws®‘ÖÚWvùG6\v =Ézv.yÂpnìêŠ}€¹¤ÃÈ}ö‡Wi~ok¤šzíOÿ&–zsa݆Ì:†Ì:€Ê;€Ê;6\v =ÉÖÚWvùG JPÄws®‘ JPÄws®‘ +ªÂpÆ>6ý|Œ*O ž£vŒ5Ú TüŒ5Úmú÷ŒAenKƉ@õs˜$Q…ò©€êú‚¨ƒ“ Š¢+‚ƒ Ö +ñV‚aÞ¼¤úõ!cæÿ…{’Ÿ774‰© žÝ.‰© ¥Ë‰@éç 3a"…ãê· Èž£…Š\ó‰Í9‰Í9†Ì:†Ì:¼¤úõ! +ñV‚aÞ Š¢+‚ƒ Öêú‚¨ƒ“=ÏÔ^R¹®W|/^",xÚX útxd4™ š„wé™O JPÄws®‘šzíOÿWi~ok¤ +qD~ªfÉ áã5#Võ c©ñ{¿¶Ù +ð'ù{EÈ·†Ì:†Ì:€Ê;€Ê; JPÄws®‘ š„wé™O útxd4™^",xÚX§ Ör^ +s’$&lUí¾†eç(kã †dûRíªT†d}pqŸ†c#§ò ¹6Ìi¯± +ªÂpÆ>mú÷ŒAeÕ òŒAe=RxŒAe¤øsŒLð¥kã‰|5ÛÌV†iËíO*ƒ[|y¸÷Cƒ6™½KFn‚ÍZÄêú‚¨ƒ“˜$Q…ò©€nKƉ@õsÕñÀ‰@õs=º]‰|5Ûgžs†[™üÛô†sÕ‰Í9‰Í9†Ì:†Ì:êú‚¨ƒ“KFn‚ÍZĸ÷Cƒ6™½O*ƒ[|yfH>€M-ÙP1}C–qó”z@›«!ËÜyÊ¥a®UoyP¢^",xÚX¹®W|/=ÏÔ^R™¼r™A´ +[Ÿ€1àƒ@@|ê–j¾H|pœ½†Ì:†Ì:€Ê;€Ê;^",xÚX®UoyP¢!ËÜyÊ¥aqó”z@›«£Eät;´¾knUš(ÅÑûhª´o(†g¾ÞòTs†fÒý龆eç(k’$&lUí§ Ör^ +sëx2sðW^׈sŠÎÛ2\miÄ«ÊÙ&lî+k€Ê;€Ê;pÆ>pÆ>¤øsŒLð¤øsŒLð žnŒLðÛõïŒX{Ü€u‰·Î‡Ý†àâÏG¤C„u`‡ƒÄ»qO*ƒ[|yO*ƒ[|yÌV†iËí¥kã‰|5Û¥kã‰|5Û 4‰·vC7•†ÃY±ÌV†iËí‰Í9‰Í9†Ì:†Ì:O*ƒ[|yO*ƒ[|y‡ƒÄ»qG¤C„u`ŽÀ¨<ðøò ~mã(…Äü{§ såjz»+jqó”z@›«qó”z@›«ÙP1}C–fH>€M-fH>€M-Öçj€Æ2LÒ)}¼ýDÙP1}C–†Ì:†Ì:€Ê;€Ê;qó”z@›«qó”z@›«åjz»+j…Äü{§ sŸóvS~!CóMp¨éï#oðûkn4éþ†ûi–‰íÅÑûhª´oÅÑûhª´oknUš(£Eät;´¾£Eät;´¾™°t·“BÒ‰MnÑ3hknUš(€Ê;€Ê;pÆ>pÆ>ÇŒ``'y 8ê†b7ÒtqŸ†c#§òqŸ†c#§òÝ’BV +؇ælJ ×&éã8@ †š&éã8@ †š%6s>V(J!Ïêé:ïw5"‹$Eœ¿ä³›RfI›T=ô|Ý’BV +؇ælJ ׉<9I|„pÆ>pÆ>Z¿CZ¿CqŸ†c#§òªT†d}pã †dûRí¾†eç(k*péY¯g"ªAsN}iË,çE#–*PˆÂCp7¯(5ýA¼äë&éã8@ †šælJ ×Ý’BV +؇GBVö®ñ»éXÃ’ öî®LÊ {™¾ÖKÀs'pÆ>pÆ>Z¿CZ¿C¾†eç(kTs†fÒýé(†g¾ÞòÅÑûhª´o!wD]Sö’(n"`Rí³31ßaJ=™Ú/jŒœHŠG-·9×FÖèÅ,çE#–"ªAsN}iË*péY¯gc%éZ›= +>š\hŠ&ºÏ›Q:`n$]”8P0¼pÆ>pÆ>Z¿CZ¿CÅÑûhª´oÅÑûhª´oþ†ûi–‰í#oðûkn4é'Ä"¬`øz .1÷ÂW^'67ã;OW©?2Ñ2&Kðø*1ßaJ=™Ú1ßaJ=™Ú(n"`Rí³3!wD]Sö’!wD]Sö’#R¸¬_ Ï*ËR8S÷W(n"`Rí³3pÆ>pÆ>Z¿CZ¿C!Ïêé:ïw5%6s>V(J&éã8@ †š&éã8@ †š0í”6&Š<ëcQ-ýo]J>G(‘ŸBJ>G(‘ŸBIhÉ&XÞ·G@ÉY!çt·9FßÖ'°…+,}J®0BE/ãûÃ3¨ö²0í”6&Š<ëcQ-ýo];F,!ï+Z¿CZ¿CG¹GG¹G&éã8@ †š(5ýA¼äë*PˆÂCp7¯,çE#–5]Ñó;Ê@Û@4JNLdz5/;¾BKÛÝ·- BJðÅ*ÊTBJ>G(‘ŸB<ëcQ-ýo]0í”6&Š2 æÛ7¹„Ú3ª/:´²?¤N2™=×-C06$]Z¿CZ¿CG¹GG¹G,çE#–-·9×FÖèÅ/jŒœHŠG1ßaJ=™Ú9ÎÑAóðD4^»:—,ªO‹(#5åÝBNŸR¥3­(BM³ˆ³1tsBLdz5/;¾B@Û@4JN5]Ñó;Ê7$¸=}eÈ8½ ?Ú¡+CH‰=8^wªA{°¾6ƒZ¿CZ¿CG¹GG¹G1ßaJ=™Ú1ßaJ=™Ú2Ñ2&Kðø*67ã;OW©?>>Y9GQàhGØÖ«@äÝRN<üBPvý¡8’BO‹(#5åÝBO‹(#5åÝBD4^»:—,ª9ÎÑAóð9ÎÑAóð:ר$Cë#ÈF7:G(‘ŸBJ>G(‘ŸBPíJ%ÚÖW`êó#ÊNˆ^TDæ"jÈ^TDæ"jÈ]ÜÑ« ž\íß©V9ÕUƒL3ÍûcN<×;ïPv«#s€ïPíJ%ÚÖW`êó#ÊNˆVr>4!…à,G¹GG¹G?·I?·IJ>G(‘ŸBJðÅ*ÊTBKÛÝ·- BLdz5/;¾BRãY,³•HY>‰²*Æ¡­_ºµ®)}ó»_C6ç'"^Ëì$Æò^TDæ"jÈW`êó#ÊNˆPíJ%ÚÖQ{ÂÈ(‹Q÷-Û*zàHXÇw(j©ƒWØ^.&&F²G¹GG¹G?·I?·ILdz5/;¾BM³ˆ³1tsBNŸR¥3­(BO‹(#5åÝBU6g3ŒTt[3ý1ÂôÒa!ê0‘Ü9`©§¯.5ä`2(é+Ùëå_ºµ®)}ó»Y>‰²*Æ¡­RãY,³•HSÎØÖ.ìJHTJCê1SŸtZ¤µ7/fü¨Y¶y-"ŽLG¹GG¹G?·I?·IO‹(#5åÝBO‹(#5åÝBPvý¡8’BRN<üBW‰/v:e¡\ùÒ½8¿G÷b‡‹²7¥¹-a˜™°2íÈØa!ê0‘Ü9a!ê0‘Ü9[3ý1ÂôÒU6g3ŒTtU6g3ŒTtU±5ó©¡\ +à¼4W£[3ý1ÂôÒG¹GG¹G?·I?·I\íß©V9Õ]ÜÑ« ž^TDæ"jÈ^TDæ"jÈ_3z("B#`£ß"/^`ñÍ–!ò;¨`ñ !ñ±"`‰0:’øÎ_¸#°Ö«^Ê Æ‹]ÛöV+zj^ÊèXãj¾_3z("B#`˜T"¤×_›½¬­?·I?·I>·I>·I_¸#°Ö«`‰0:’øÎ`ñ !ñ±"`ñÍ–!ò;¨aah7!ÞdoaÑØ!Ê6b@©!¶µýb@y!¶Õa߇éV Hasà–Îà`¦Qs«éR`/:’Àø9aR§}Þ[aa\¬!ÝÙéaÐ÷M!Éàahqk'º>·I>·I=·I=·Iasà–Îàa߇éV Hb@y!¶Õb@©!¶µýbxp!¬Õìb°C¥!¢õÚbè»!™Ébè 0!˜Q‹bгÁ7ËwaÐøwlwa”ŠÂâšaXù‹ŒX½b K—%bxe!¬9b°8!¢='bO"ŠBAš=·I=·I=¶J=¶JaÐøwlwbгÁ7Ëwbè 0!˜Q‹bè»!™Éc : !‘™ˆcXj!Š(Ócô!‚¬’c‚i!óßc6é ׺bƒÍ’_X#bGàg^êb ýýoe±bÆ•Æ/İc /!àÕcX^„!‰d•bû(Þ=¶J=¶J<¶J<¶JbƒÍ’_X#c6é ׺c‚i!óßcô!‚¬’eReÊ!Kdgm×! +uhÖ8 Ý/·I>·I`ñÍ–!ò;¨aZ_f$PóýaÂå«&¯¬Qb+w|)d¥b“•Ü(ûÐ¥bû¿È(é1ccÞ((ÖcÈ™&v¡b¡³ $±‹b@©!¶µýaÑØ!Ê6aah7!ÞdoaÉú$=Äb+—&Qbšª8&‰Ab2h$*ˆÄ>·I>·I=·I=·Ib@©!¶µýb¡³ $±‹cÈ™&v¡ccÞ((Öc—ç“(ÍScËü‰(Ãýd(º³c¢º&Z-|cEb #ù›Ýbè»!™Éb°C¥!¢õÚbxp!¬ÕìbÙ†$ Ñyc6ÝŽ&mWcn¥&cw|c ›${î=·I=·I=¶J=¶Jbè»!™ÉcEb #ù›Ýc¢º&Z-|d(º³d4I(²¡=dhè’(¬þGdYá(¦dCÀ’&DäÝcê'C#ãÈ·cô!‚¬’cXj!Š(Óc : !‘™ˆc}’#ò+'cÖý2&R*dZÎ&Kâ"c²_#ëDø=¶J=¶J<¶J<¶Jcô!‚¬’cê'C#ãÈ·dCÀ’&DäÝdYá(¦fAWÌ(s#ºgä@©(5ÛÚi‰è( „TiMq›%¦Á%iÔÚ#AòkhÖ8 Ý/·I>·Ib+w|)d¥b” L+múbü‘-ËÕNce!a0*¢cÅÃ01Pd&q,0Ôþd‡L/ö„8d%ý½-–ˆªcÄè-+6ccÞ((Öbû¿È(é1b“•Ü(ûÐ¥bü'¬+Zˆúc]=<-ºxücÅ[-§äüc\ÉÌ+I,¨>·I>·I=·I=·IccÞ((ÖcÄè-+6d%ý½-–ˆªd‡L/ö„8d·^—/íľdçµl/åÏe B/Ü\ádº´Ò-{ËBd]]c+E.d(º³cËü‰(Ãýc—ç“(ÍScøý#+-CdVT’-Ô¼dŠ]ý-„мd)Sø+$.=·I=·I=¶J=¶Jd(º³d]]c+E.dº´Ò-{ËBe B/Ü\áeH…¹/Ôà eyr /ÏÈ0eªD/ÉUqeP€ô-h9Ldöó0+'dYá(¦dhè’(¬þGd4I(²¡=d‘ …+2Üdë9Õ-tOeÙQ-n¬ dÂá+l=¶J=¶J<¶J<¶JdYá(¦döó0+'eP€ô-h9LeªD/ÉUqg0>B/š×æhµ|/aBœj;û¸/9Íáj^÷,Õ +²iĶª*pGƒi‰è( „Tgä@©(5ÛÚfAWÌ(s#ºfšå*Ô?ßfÖ¤ó-9»Áhyvº,ümhÝk*šŸ <¶J<¶J;¶J;¶Ja!ê0‘Ü9a!ê0‘Ü9a˜™°2íÈØb‡‹²7¥¹-c9î‡7†cì\ç7f^KdžËG7F¶Ÿc;½2‰Ð}ce,í0+(ce!a0*¢b£Æ 0Maâv@0ohÙaâv@0ohÙbJü…2Î!-cP]2©ƒ³b£Ñ–0M‹‰?·I?·I>·I>·Ice!a0*¢ce,í0+(c;½2‰Ð}džËG7F¶Ÿd÷ñ&76†eQ"‘7&xãeªHp7_Êdè(Ü2W,íd‡×/÷1_d‡L/ö„8d&q,0ÔþcÅÃ01PcÅÏ 0Çbd&äœ2y·ddý2gFd&q,0±>·I>·I=·I=·Id‡L/ö„8d‡×/÷1_dè(Ü2W,íeªHp7_ÊeÖÕš7AífnP7$f/ûz6þ2euc±2=§3e B/Ý”e B/Ü\ádçµl/åÏd·^—/íľd·j"/î}qeÁ‘2O…eHÊü2EÅdçÀ÷/åÉ‚=·I=·I=¶J=¶Je B/Ü\áe B/Ý”euc±2=§3f/ûz6þ2f\Â\6÷xf‰ñ"6ò’f¶æ16ì©àf¿2+5Ôeª%Ï/ʯeªD/ÉUqeyr /ÏÈ0eH…¹/Ôà eH‘D/Õ™Se¢*“26µxeÖÊ21‚eyr /Ѐã=¶J=¶J<¶J<¶JeªD/ÉUqeª%Ï/ʯf¿2+5Ôf¶æ16ì©àh$¸6—i…æN6Œ©]jî݈6hojw¤1ž‘j;û¸/9Íáj;û¸/9Íáhµ|/aBœg0>B/š×æg0IÍ/›œ$gl 02i¬Ë1Ãthµ|/aBœ<¶J<¶J;¶J;¶Jh#J½®å¯hšËxl hÖ8 Ý/Z“0Þ;¶J;¶J;¶J;¶JlŒQX¹²lÔêó%9òlù, ‹Öllùý Œƒ“m?²h ‡<÷m‰Ô; ¼¢m×zv {ë€mבŒ {2Ím¸:¯QmyußGQÕm& Mh;l×”S9]m -^¹žm?½ó †Ïm‰ëQ ïmedîgv;¶J;¶J;¶J;¶JmyußGQÕm¸:¯QmבŒ {2Ím×zv {ë€n%NÞ yµÜnvœ# wi!nËy\ uPnËr tLžn±‹½ 1)n}vÇ?²ón#$B\mÌW,Dâyn üá´n%Zi xý)nv³: v»ùnWÚ=;¶J;¶J:¶J:¶Jn}vÇ?²ón±‹½ 1)nËr tLžnËy\ uPpV l‹q« bŸ}so׺ WNso׺ WNso׺ï¨ so׺ PŠqeÎ,CžoçIV6¹Áp^L7÷pá kÒgq« bŸ}qeÎû›:¶J:¶J9µJ9µJhÖ8 Ý/=%uUCk¨Žq#NÛk{Þ¥ ©Hsi¸n ËÞuhÖ8 Ý/=%uUClî'Û[¬lkf¸'Ó`plâ +*'Ê[³meãé'ÀMumA¢É%Y¼‡ma©"ó lùý Œƒ“lkå³ —'ãkìÓ–  Â±lƒb#Él>¶í%mN}l½É +%c¿:l&Ó"ýÄ];¶J;¶J;¶J;¶Jlùý Œƒ“ma©"ó mA¢É%Y¼‡meãé'ÀMum§ÐÈ'»LmíX'¶n5Š˜'°…+n3»%I£nmöÜÞ"âÍ> endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 38 0 obj <> endobj 39 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 43 0 obj <> endobj 44 0 obj <> endobj 115 0 obj <> endobj 116 0 obj <> endobj 117 0 obj <> endobj 114 0 obj <> endobj 118 0 obj <> endobj 119 0 obj <> endobj 113 0 obj <> endobj 120 0 obj <> endobj 121 0 obj <> endobj 122 0 obj <> endobj 112 0 obj <> endobj 123 0 obj <> endobj 124 0 obj <> endobj 26 0 obj [25 0 R] endobj 125 0 obj <> endobj xref +0 126 +0000000004 65535 f +0000000016 00000 n +0000000147 00000 n +0000043162 00000 n +0000000000 00000 f +0000043234 00000 n +0000000000 00000 f +0000050783 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000050856 00000 n +0000051096 00000 n +0000052705 00000 n +0000118294 00000 n +0000183883 00000 n +0000249472 00000 n +0000315061 00000 n +0000000000 00000 f +0000043818 00000 n +0000044405 00000 n +0000045611 00000 n +0000566209 00000 n +0000044835 00000 n +0000510425 00000 n +0000050756 00000 n +0000046423 00000 n +0000050643 00000 n +0000563188 00000 n +0000563311 00000 n +0000563433 00000 n +0000563554 00000 n +0000563697 00000 n +0000508026 00000 n +0000563819 00000 n +0000563939 00000 n +0000508144 00000 n +0000564062 00000 n +0000564181 00000 n +0000564302 00000 n +0000564422 00000 n +0000514588 00000 n +0000526653 00000 n +0000543230 00000 n +0000347113 00000 n +0000507545 00000 n +0000507667 00000 n +0000507788 00000 n +0000507906 00000 n +0000508264 00000 n +0000508385 00000 n +0000359989 00000 n +0000379386 00000 n +0000406961 00000 n +0000426358 00000 n +0000435038 00000 n +0000454432 00000 n +0000466497 00000 n +0000483074 00000 n +0000344448 00000 n +0000345563 00000 n +0000345706 00000 n +0000345849 00000 n +0000045282 00000 n +0000045797 00000 n +0000045919 00000 n +0000046041 00000 n +0000046161 00000 n +0000045681 00000 n +0000045712 00000 n +0000050252 00000 n +0000049861 00000 n +0000049470 00000 n +0000046280 00000 n +0000046458 00000 n +0000046821 00000 n +0000046582 00000 n +0000046702 00000 n +0000049613 00000 n +0000049737 00000 n +0000050004 00000 n +0000050128 00000 n +0000050395 00000 n +0000050519 00000 n +0000346737 00000 n +0000346493 00000 n +0000345992 00000 n +0000346129 00000 n +0000346253 00000 n +0000346375 00000 n +0000346617 00000 n +0000346874 00000 n +0000346994 00000 n +0000510046 00000 n +0000509651 00000 n +0000509256 00000 n +0000508889 00000 n +0000508508 00000 n +0000508653 00000 n +0000508768 00000 n +0000509034 00000 n +0000509131 00000 n +0000509400 00000 n +0000509526 00000 n +0000509795 00000 n +0000509921 00000 n +0000510190 00000 n +0000510305 00000 n +0000565842 00000 n +0000565300 00000 n +0000564907 00000 n +0000564540 00000 n +0000564685 00000 n +0000564782 00000 n +0000565052 00000 n +0000565177 00000 n +0000565445 00000 n +0000565596 00000 n +0000565721 00000 n +0000565987 00000 n +0000566084 00000 n +0000566234 00000 n +trailer +<<1024B9ECB345AE4DA88B96C1E55FA7C5>]>> +startxref +566453 +%%EOF diff --git a/src/website/ifcos-graph-1-02.svg b/src/website/ifcos-graph-1-02.svg new file mode 100644 index 0000000000..611978b9ea --- /dev/null +++ b/src/website/ifcos-graph-1-02.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/ifcos-graph-1.ai b/src/website/ifcos-graph-1.ai new file mode 100644 index 0000000000..5aa605570f --- /dev/null +++ b/src/website/ifcos-graph-1.ai @@ -0,0 +1,2035 @@ +%PDF-1.6 %âãÏÓ +1 0 obj <>/OCGs[24 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + ifcos-graph-1 + + + Adobe Illustrator 26.0 (Windows) + 2022-01-06T21:26:44-03:00 + 2022-01-06T21:26:44-03:00 + 2022-01-06T21:26:44-03:00 + + + + 256 + 224 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA4AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYqx7z/AKlead5Uu7iylMFyz29uky/aT6zcRwFlr3USEjFXjtzb+UIpWjuY7E3A/vPrHpNLUitX aSrkmvfLI4ZyFgE/BqlmhE0ZAH3qDReSe0Wm/wDAwZL8vk/my+RR+Zxfzo/MKbQ+TO0Wnf8AAwY/ l8n82XyK/mcX86PzCm0Hk/tDp/8AwMH9Mfy+T+bL5FH5nF/Oj8wsaDyl2hsP+Bh/pj+XyfzZfIp/ M4v50fmFM2/lTtDYf8DD/TH8vk/my+RX8zi/nR+YWG28r9oLH/gIf6Y/l8n82XyK/mcX86PzCw23 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 + + + + proof:pdf + uuid:65E6390686CF11DBA6E2D887CEACB407 + xmp.did:33cbc006-497d-754e-b799-ad1d2cc5fdfb + uuid:759860ed-722e-4f78-8791-795710a66df7 + + xmp.iid:8a4ff8f2-3e33-8f42-8d9d-637e96d6ceef + xmp.did:4a31adf9-6be4-0e4a-9ddd-cb12c4756887 + uuid:65E6390686CF11DBA6E2D887CEACB407 + default + + + + + saved + xmp.iid:7fb25f08-3058-a741-a9e6-342376003cdf + 2022-01-06T19:11:39-03:00 + Adobe Illustrator 26.0 (Windows) + / + + + saved + xmp.iid:33cbc006-497d-754e-b799-ad1d2cc5fdfb + 2022-01-06T21:25:10-03:00 + Adobe Illustrator 26.0 (Windows) + / + + + + Web + AIRobin + Document + 1 + True + False + + 523.259259 + 480.592593 + Pixels + + + + + CascadiaMono-Regular + Cascadia Mono + Regular + Open Type + Version 2111.001 + False + + + + + + + Cyan + Magenta + Yellow + Black + + + + + + Grupo de muestras por defecto + 0 + + + + Blanco + RGB + PROCESS + 255 + 255 + 255 + + + Negro + RGB + PROCESS + 0 + 0 + 0 + + + Rojo RGB + RGB + PROCESS + 255 + 0 + 0 + + + Amarillo RGB + RGB + PROCESS + 255 + 255 + 0 + + + Verde RGB + RGB + PROCESS + 0 + 255 + 0 + + + Cian RGB + RGB + PROCESS + 0 + 255 + 255 + + + Azul RGB + RGB + PROCESS + 0 + 0 + 255 + + + Magenta RGB + RGB + PROCESS + 255 + 0 + 255 + + + R=193 G=39 B=45 + RGB + PROCESS + 193 + 39 + 45 + + + R=237 G=28 B=36 + RGB + PROCESS + 237 + 28 + 36 + + + R=241 G=90 B=36 + RGB + PROCESS + 241 + 90 + 36 + + + R=247 G=147 B=30 + RGB + PROCESS + 247 + 147 + 30 + + + R=251 G=176 B=59 + RGB + PROCESS + 251 + 176 + 59 + + + R=252 G=238 B=33 + RGB + PROCESS + 252 + 238 + 33 + + + R=217 G=224 B=33 + RGB + PROCESS + 217 + 224 + 33 + + + R=140 G=198 B=63 + RGB + PROCESS + 140 + 198 + 63 + + + R=57 G=181 B=74 + RGB + PROCESS + 57 + 181 + 74 + + + R=0 G=146 B=69 + RGB + PROCESS + 0 + 146 + 69 + + + R=0 G=104 B=55 + RGB + PROCESS + 0 + 104 + 55 + + + R=34 G=181 B=115 + RGB + PROCESS + 34 + 181 + 115 + + + R=0 G=169 B=157 + RGB + PROCESS + 0 + 169 + 157 + + + R=41 G=171 B=226 + RGB + PROCESS + 41 + 171 + 226 + + + R=0 G=113 B=188 + RGB + PROCESS + 0 + 113 + 188 + + + R=46 G=49 B=146 + RGB + PROCESS + 46 + 49 + 146 + + + R=27 G=20 B=100 + RGB + PROCESS + 27 + 20 + 100 + + + R=102 G=45 B=145 + RGB + PROCESS + 102 + 45 + 145 + + + R=147 G=39 B=143 + RGB + PROCESS + 147 + 39 + 143 + + + R=158 G=0 B=93 + RGB + PROCESS + 158 + 0 + 93 + + + R=212 G=20 B=90 + RGB + PROCESS + 212 + 20 + 90 + + + R=237 G=30 B=121 + RGB + PROCESS + 237 + 30 + 121 + + + R=199 G=178 B=153 + RGB + PROCESS + 199 + 178 + 153 + + + R=153 G=134 B=117 + RGB + PROCESS + 153 + 134 + 117 + + + R=115 G=99 B=87 + RGB + PROCESS + 115 + 99 + 87 + + + R=83 G=71 B=65 + RGB + PROCESS + 83 + 71 + 65 + + + R=198 G=156 B=109 + RGB + PROCESS + 198 + 156 + 109 + + + R=166 G=124 B=82 + RGB + PROCESS + 166 + 124 + 82 + + + R=140 G=98 B=57 + RGB + PROCESS + 140 + 98 + 57 + + + R=117 G=76 B=36 + RGB + PROCESS + 117 + 76 + 36 + + + R=96 G=56 B=19 + RGB + PROCESS + 96 + 56 + 19 + + + R=66 G=33 B=11 + RGB + PROCESS + 66 + 33 + 11 + + + + + + Grises + 1 + + + + R=0 G=0 B=0 + RGB + PROCESS + 0 + 0 + 0 + + + R=26 G=26 B=26 + RGB + PROCESS + 26 + 26 + 26 + + + R=51 G=51 B=51 + RGB + PROCESS + 51 + 51 + 51 + + + R=77 G=77 B=77 + RGB + PROCESS + 77 + 77 + 77 + + + R=102 G=102 B=102 + RGB + PROCESS + 102 + 102 + 102 + + + R=128 G=128 B=128 + RGB + PROCESS + 128 + 128 + 128 + + + R=153 G=153 B=153 + RGB + PROCESS + 153 + 153 + 153 + + + R=179 G=179 B=179 + RGB + PROCESS + 179 + 179 + 179 + + + R=204 G=204 B=204 + RGB + PROCESS + 204 + 204 + 204 + + + R=230 G=230 B=230 + RGB + PROCESS + 230 + 230 + 230 + + + R=242 G=242 B=242 + RGB + PROCESS + 242 + 242 + 242 + + + + + + Grupo de colores Web + 1 + + + + R=63 G=169 B=245 + RGB + PROCESS + 63 + 169 + 245 + + + R=122 G=201 B=67 + RGB + PROCESS + 122 + 201 + 67 + + + R=255 G=147 B=30 + RGB + PROCESS + 255 + 147 + 30 + + + R=255 G=29 B=37 + RGB + PROCESS + 255 + 29 + 37 + + + R=255 G=123 B=172 + RGB + PROCESS + 255 + 123 + 172 + + + R=189 G=204 B=212 + RGB + PROCESS + 189 + 204 + 212 + + + + + + + Adobe PDF library 16.03 + 21.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 3 0 obj <> endobj 5 0 obj <>/Resources<>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 936.06 589.333]/Type/Page>> endobj 26 0 obj <>/Resources<>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 523.259 480.593]/Type/Page>> endobj 41 0 obj <>stream +H‰´—ˎ䶆÷z +½€Ø¼_¶n;ÙÄï ±gQí`2ïä§Ès$µ»j~;3*²Ž>’‡/õò÷×õåÇW»~÷ýëº|Yì«5©…5ù`|jë&ÿù×òÏõ7ļüõ'»þú±ÿøÛË_Þìúý¿—OËË+jo_W·ÿ­_o¿õ@׿ ÂâÏ­±8ã­+kj&ù×ÛÛÒ¿y[¶š©5¡pG!&S£Ga‹Éš\üM GÉYSjYo‹Ö„L®n[«šÉ¡®Š 5š˜{ÅlL*Àq6­¸/ɸT´<Û ¥¢§¢3µy¼>+æã.å½ÓÉ´T÷ AË/Ⱥ·Ê¿=S§ Ug:]3®fÎPv&bFF†fÁeãÇS·¦Å=UeŸ7NØ>ɛ꣔ûÑ{賂düñzƒIÂ\áƒGŸz–>ïÝÿ |5­ÄàÐz'e d×»Ûe×÷èivË»‡Ç«xIJn®‹°~ÁFØRÀ6˜ ÅF6·C-È÷Å› f›´¬±£¢ãû›X”H/¶ŠÜwd:–qÖ}§GŒàÚŠ4ÜOMÁzݘÍ;lóíÒ¼Í{Ï=üo­­)‹nb¿¬&é¶[°ÝbÍÄ‚o±mÎc®ûà|ªÆálpØžöæq(9›Vç’IØLg<æg…Ã!×w¨igK°«Øìßµ_óÈko®Xlݧæ=Þí'4Ýιø|øèážZ$¬Á±}2毟ÙÒqu¹ÏΟ7ŒŸ× ÉN!ü·¾=ø”Ç¿G¢˜£{>|do ¡Ÿ?P/•®fØ™~´k±Ï¢S­»•1ŠÜvÄŽÖ§8ÄB?ò§*•9…'iUÖ„eÚ²Êz’ECbíw˜ç!¾¯¸§!ý˜rÏ)˜«>þg!X(ÙûBN÷0Iê+ÐãÔ—Þ ;/„S&4¸ŒÌ>%û~§$Yƒ)rݵ ÉÌgî8²3ä¹ãpd ¦ÈCw’,Á y.dެÁ YDÂ]ÛÅÊZç­¿´£Ðª‡ž*qhñŽB‹KZÅ£Ð"…Vó8ô´‰C‹zZt¢Ðêƒ>~PÓ,â BF‹/åøEeqXbûüq󑔨«ìøJÙ¯Jì^H¢EJ +-ÁZ¥dÐL¡UJ­Á ú4½—_ýŸ™^5›ÊÊŒFƒ)´xæÇu—Û)q;xpÇøÝo™E»úèâñ‘ïZƒ9ôT˜CK0……)´ShQ˜Bk0‡žªrh ¦Ð¢*…Ö` +->Ù¶_ºIù=}âÐ"…Ÿ(´ÊG¡U¾` +{û´¹Ÿ!´{Yc9²¨Ç%–"«yYc)²ŠG5–#‹w Yb)²jG5–"O“\+¦Vv˳ÖÔÀnyZ½ãÐÃ%-âQè)‡Vó(ô´‰C«zzèD¢Å= +=}âÐ*…ùj>ÿDz.Ÿ«ÍØXù(´sè)‡–` +-òQh ¦Ð"…Ö`=åãÐL¡E> +­ÁZ}²çŸ<ß’/+-ƒÖ`->Qh ¦ÐêƒÖ` +­>1h æÐâ…–` +­>1h ¦ÐâS‰&Xvç+ÅøDï|Zƒ9ôô‰CK0…Ÿ(´Shñ‰Bk0‡ž>qh ¦Ðâ…Ö` +->åj¢cw¾âLH•B«|zúÄ¡E> +->Qh•B‹OZåãÐÓ'-òQhñ‰B«|Z|JÙdïIùR3)ÓòQh æÐÓ'-ÁZ|¢ÐL¡Å' +­ÁzúÄ¡%˜B‹OZƒô|诺ջdbŠ /ú~¸‡õö¶sñ¿±ý°ûòˆOKL.‰–Òšâ +%‡Ï(´ShõŒAk0…VÏ´3èÓôƈ9ªþÏL¯ÊJFýcF£ÁZ<ÃXj`wÊXL¡ŸPd ¦ÈÓ2Ž,Á Y$£ÈÌÅ1ЬÁyªÄ‘%˜!‹IYƒ²ˆªi¡²Ö9S+½RhÕŽCO•8´xG¡Å% +­âQh‘‰B«yzÚÄ¡E= +-:Qhuïâ}9_%Ÿâƒ=ÿBú†!$zsè9éZ‚9ôœt-Á$zL:‰žÁzN:‡–àÇèÓ¹îcFúRºæÓ¹ÇL g:>6$Ù¯Á´ÜÉ&•¶VS£—ÂmqS¬_ºbròž”±£lõ¾pêQÆ…pµý·RTœR¥¥SqÆá¶â˜Â1«³Ðÿ=…£¸Ïj]ç+û¼õ7ç‡Ûr©¿¼rÅ[’æGnL?ÔÅnXÊÿ4ý8Nû]u¾¹yk2w«ŸnËõ›wïýüÿr #@‰ùž®ùt[¶ëWÛõ½í=öˆôï+ÿ`:Hé‹ +endstream endobj 42 0 obj <> endobj 43 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/XObject<>>>/Subtype/Form>>stream +q +/GS0 gs +531 0 0 453 -7.441061 18.5569458 cm +/Im0 Do +Q + +endstream endobj 45 0 obj <> endobj 48 0 obj <>stream +H‰ìÒËuƒ@@±IÿMgÍlçäÓjÐZ¿ãƒ¿Éž’#>pÀö|`Ov„ Œ`GvŒ Œ Œ Œ Œ Œ Œ ” Œ Œ ” Œ Œ ” Œ ” ” Œ ” ” Œ ” ” ” Œ ” ” ” ” Œ ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” Œ ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” –l,%ØR‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚XN°±”`K B B b9ÁÆR‚-%%ˆåK ¶” Z‰év#”˜N b_‰ÙF(1ÛQ '&;áÄ`'#”˜ë¬„SŽPb¨óN õ¨„=áÄ@OF81ÎÓN sa„£\áÄ G81ÆåRÌðJ'&xq„w÷z)ník!¬¸«7>XqCo°âV¾éƒwðÝùo~hÀΧ‡I…c +endstream endobj 46 0 obj [/Indexed 29 0 R 1 50 0 R] endobj 49 0 obj <>/Filter/FlateDecode/Height 453/Intent/RelativeColorimetric/Length 9754/Name/X/Subtype/Image/Type/XObject/Width 531>>stream +H‰ì—÷[“Y†gg×Ù¥:PBB !„Þ鑊” ]ª†>ÒD¤ˆ ‚H‘¦*("6¬ØÐQgwfÿ˜}Ï÷%@œÙ¹ü¸®sÿç‡ç¾žç=_}…Á`0 óeø†š`0ŸË€Ùˆ¿Ò‡¯1;¿F‹Ozðw Åø¤ÿ°;—¼ø“Bü^†`vˆñ'¤XïÃ:vav +ëÝX'Å4b;YãŸJ¢‘Š[ñG…Pø tAñæ¿0;A^¬Zñ¹R¬‚ô´½ó-ÁwÊC&¥pƒÔ‚´âóX5‚‚ð°4á{ÄnÌ€ˆŠtC¡a…ªŸg„BÒd©Âž={ÔÔ1Ô…ŒH Â"Õ@^ -J)¶íÄš«B> 4444{1Ô…HH¢"ô@bV¬I±}'ÖFƒ0 | ÈM ÐÆP‰F£!;H d’b}QlÓ4J!`.Àh$ƒ¶¶ŽŽ®®® ¡0(!JGÜ1j Å÷ªRlË Åj(+BÑjê¤: ‚¾¡¡!N7RbŒ¡«©AD”’CW´+)ˆ¦€õØ®*F|CB@Aì¥iú À`˜˜˜fÊ‚ò11a0@:´ ­@RE±='T€Ñ „€~@>3LÀs&“Ų°°`+±ÄP…ÕLØ‹Ådšƒ& c#dtH¡¦BéÄÖ7¦ò Œ *nˆ½4m]=ÂS°eÁ¶äp¹VVÖ€ †¢@8VVV\Ç’mÁ/L +ôt‘êj¿wb+%È¿†ÂT4hºøÀd±-¹VÖ6¶vvö<ÏÁÁ¡(googkkcm^°˜`…Ýš‚†Šb»N¬ÎÜ +#`3tõ As›Ãµ¶µ³wà; +NB¡³³ àŠ¡ (gg¡ÐI päó@ k.‡Í2‡ª@RhíEŪä9ñ)# $0ZP„–àƒ=/prvqus÷ðôôòò|0%ãååéááîæêâì$à;؃–Lh +C}](Š5'¶¬ …ä!¡0*ÂØ‚km>]Ü<<½||ýüE"±xß¾}$Š ¢‹E"?_0ÃÍE(àóìl¸–ÐÆôí;¡2pH«£A76eZp@G'ðÁÛÇO$ + “H$û1‚  + ‹ü|½=Á +G;k.›iÆ NÀ=¡œŽ­•€’@FìV#:‚Î0cYZÙò….î^>þ†0IxDd”T‹¡ Lt´T. +ûûzy¸ +y¶V–,3#=…ª5±Ùwƒ,‰o¿S5ÂÚÎÁ „ð…JÂ#¥1±â“d2Y2pC)P&MRbbBüØiTÄþÐ౟·‡«ßÞ†caN@OhÀ_¦c×®MkBYŠÙP×ÔÒ!ŒàXÛó…nž DpXxTt\|¢,9%5-=#33++놂@0™éi©)ɲĸ¸˜¨IH Ø×ËÝÙ‘gÃ%€‡Únr:6«‰K‚¦­ghLáèìîí¿/X!OJNMÏÌÊÎÉÍËË/((,,,ÂPˆ¥  ?//7'ûPfzêÁ¤„¸èÈý!"ƒ-8Á ëëh©LÇÆ5¡¼$¿ ˜ cSX 0ÂÃG.K¥¤gåäæ‘—”––••——W`(„RVVZZR,?RT˜Ÿ›s(#59ñ@t„$Xìëéꄜ0CNÐ4·® ˆ¯WKB“³aÂd[Fˆƒ$‘1ñ²ÔÌìÜ‚"yIYEåѪêêšÚÚ:à†R Ljkkª««ŽVV”•Èäåd¥LŒ“BQøy6–™±¡žö^ ²&”ŸŽÍvƒ¸$àÿ©gÈ0³àÚñ‘Áû¥qI)Ùy…òÒò«jêê7œhljjnnAœÄP"æææ¦Æ Çëëj«¬(•åçd¦Êâ£#B‘žµ%ÓÄh]Ml´kÇ¥¢$ ŒLY¡;aÄYZVn¡¼¬²ª¶¾¡±ùdkÛOíí§;:::×8ƒùr¨äÐ ±œ>ÝþSÛ©“-M'Ž×UÿX^\”—q0!9áéâhoÅ6g(j}:6^ŽU%ˆïQælk{«·(ŒHNÏÎ?RZY}¬¡éä©öŽÎ®³Ý=½}}ýýýç0Béëëíé>Ûu¦£½­µùD}ÍÑryá™)‰±à„¯‡3ß–Ë2E¿Žjb³Ý ¾:úP\[¾‹§_ $ +ŒÈ)—WÕ54·¶wtu÷õœ¼04<<22ºÆæË¡’ÃèÈÈÈðÐÐ…Ás}=g;O·µ4Ö×T–åf¥$ÆD„ˆ}Üœ`:à×5ŸŽ­•P솺¦–.Q<'wŸ}¡‘q20¢¸¢º¾©µýLwßÀàÐÈØÅKã—'&''¯\ÅP2 ˆeâòåñKc£ÃÎ÷÷tu´µ4Ô-;œ—•’½?Häåâhǵ€šÐ¡i@Ml²*JÇ%|7X[G/QpxLbZvAqeMCK[gwÿù¡ÑK—'¯\›š¾>33;;;‡¡ÊÌÌõé©kW''. žëíjom9537¿°xçî½û––0%²´ôàÁý{woߺ1;}uââð@Og8QR˜š- ôóò¬ÙfÆÄrÀŸc#%”×%:%ÐCŸÇ¥ÀÍJ"!5»°´ª¾Œ¸06qíú[‹wï/=züäé³gËËÏ•¼À|aV£X^^~öôÉãGÜ»³0?;}e|ä|oç©ÆºJy^fr\d\|[þ¡ÄŸCqLl¤„ò”Pî†ÐÃ?(J"O^Y×ÔÖÕáâäÔìüâ½¥GOž=ñòÕë•••7$o1@Æ›••ׯ^½|¾üôñÃûwnÎ\'z:ZªË‹rÒ &|Ýö°tb9Ð1¡¸/7?%t æÄnˆC£âS² ˪Z;{Ç&§çî>xôôùË×+o~÷þý‡~ÁPÞ¿÷óÛ7+¯^,?yxq~æÚøÈ@w{KýÑâ|¨‰ˆ`•åØä˜XS‚8%t M˜b7$ÑIé¹G*ëšÛ»F'¦æî=|²üråí»÷¿üû?¿þúÛoÿýûõá\e™†a|\»ã £3¸².j,R–VD@Y¥é"à +«B¬”i"¥)A‚…PÒ¥w!ÒÛIr’œtEÝò|çœ(Ü&À¨³‡ë÷|ó½×¼ïó”IÃeöãQ¸RSS’““âc££"÷ïݹuƒÝ¡!³§Œi×ÄK];¶}²YÃúÎÎñ§?V8L”%áL—•n©|»­ Ö}èÑ'žzæùÁ}ÿÃY! –~½ÖŠØ—˜œâJKÏÈp»Ý™4v*éi®Ô”¤„¸èCỬ‰åK>ÿdú¤±Ã¼Õ«{çö­š7þë_jÜw·³†:ÃDI”-ÎtY5¨šý­Íß_xéµþCFM˜:ç³Åa«7l³"Ç&$§¦e¸3³²=OŽW.‚ï4r<žìì¬ÌŒtWJR|LÔð[¾YõÕÂù³§|0bPßàžÏ?óÔ>T·æýwÿùöÊ·TòÏ—%aÓe¥[o«bÓeízÎ(ñ\·WÞ0lìäó,]¹~ËÎðÈÃq‰)i™YžœÜ¼¼üü‚2…¸Ì~<Š‚üü<Ë#;ËîJNˆŠØ»cÓÚK>Ÿ;}âè¡ÿzý¥lçx̆‰jAUù²ü•ßÄO ǽÕëÔod£Dçî½ûØ»ñÑìO…­Ù¸}ODT¬áÎòäæå1Å$Αäçåx²2Ò’bíß½uêe¡!3?7lÀ›¯t{®Ý“MÖ«móe•Ûœ•ãÆ‹&a Ç}5ê4hüxë]l”:2Ü®‰å‹?ûØ^Ž}z¿è Ô©~ïO+GI\ë$áì wÜå,6]>û|O%FOœþÉ‚e«6lÛsàp\²Ë›_h==VZZzÜçÿ4JK­Œ’â¢k"Õ±{ëú•_~1wÚ„Qƒû÷èÒ¡õãÔ©qŸwå¸@×ø’ðî ÎÂѤÅÓ6]¾þö»c&Ï Y¶fÓŽðƒ1‰©Y9V„„…pÒœB qŽÄâ(=v´øH¡5‘ž’¹wûÆÕËBç͘4zhÿ×þùgm¾tVŽ»îðm¡×_wíÏ“ðî ×ÝpãÍ–„³ƒÖ¬ûp“m:v}ùÃÆ}8ûÓÅË×mÞµ?*.9-Ó“gE8AX ß:N#pxOİ(Ž–)Èó¸]I±‡öíÜ´6lÑüY“Ǿû¶3_>Ý¢ÉCu¼ß·…z“¸¦¢$nò%T­¦³ƒ¶íØõ•7ßyïý)¶äëõ[w8Ÿ’ž•[àaA81|‡Àã„aQ”-.Êw®‰øÃ»·¬[±øÓÙ{oÀ/wíØ¦E“‡}[¨%q³?‰?T˜De_xwÐ^o þM—_®üfÛÞȘD—Û.‰â£Þ"¬‡3æ,‰s$V…¿‰Â¼ìŒÔ„è{¶}óõ›/ßþŽ­Û:[hÍjAþ$n¸hUƒªÕªgI´ëÔ½WŸA#ÆO›ûÅÒU¶‡ŒMJËÌÉ/*9vüä)'ç¾G`ñvaQœ:yüX‰]™®¤˜ƒ{·oX¹ô‹9Småx«W·çÚ>Ùô‘Ÿ’¸é¢IT©ô@­z ›¶l×éÅÞ}œ0ÍŽÕwì;—ì}7ì’8õíwÎý`_ð‹· +»)¾=e×Ä‘‚ܬ´äØCá;6®Zf+ÇøƒúôêÞ©%Q¯Vµ ª·W¾x•nµ$îq’hÖ²}gKbð¨ Óç…~µfÓN›.S2²íݰKÂ^3gé!@Ygìí°k¢¸07;=9Ι/W/[ðÉ´ #õíýb§v-›6¬Wë ªU.=‰Úõ}I÷%ÓWTâ»$¼EüÇß„]örØ0‘µç¦5_…Λ>aÔ`K¢sû–Íœ$î±$n­T^Wù“¸þü$ZµïÜ#¸ßK"daØÚÍ»"'¤º=ùÞ$Ng¯†¿ˆÿ p”5qö¬M'Jm˜ð¸Sm娵yMXè¼G îìK¢~í_D‡.=^í7dô$o[vû“°QÂÞ3þ".÷/ÀÏø›8c/‡ N NkÆXCú÷èܾÕùI\ïO⪠&Ѩ¹7‰þ–ÄÌEË-‰Ñ .wŽM—6J8ïE(§ ïËqò¸Í—9nWBtÄî-Þ$&v’èÒáR’¸º¢$†ú’Xç$‘èÊb Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $Ó IÿâóºHøü @1ý‰$2åÊ¢’Š» !ðZ“¸[QR¤”g‚Äÿs&‰[zõ !äž#Q¯'q‹#qéõ’¸ÔL¢$„C¢ü5’X ÉÚCb1GbÄ!1ây‡x’çI4êHÀ„ãDèH4>G⺄'q¨5 Ãö’0l“Äu=‰ûµõ O›šIÀ„°ú½™DÓÓÆ†úÚû¯›„5‘po›=:0!¤~דøï³6Høûr'Öí#ÑñE$œ‰„ð¥(ŽD~‘¦5 $¬~kMBS”Ï‘ˆÒ‘p~‰Ží%aO$NøŸ‰ Y~¡F[u¿¶®¡ñI“n™€ áõ›n•hzÒØPW{¿J«)Ì—e ÑyÿDž'1wÆ'1cîbK+k["áÅ“¸*Õ“¨®©{ÄzP!¨ø‰p"¸ƒãQ]Mµž„ô*OÂËÍÙÞÖÚÊòU$:èItjMb‘¥Õ&[{'7¯~çDâ«Òôœ<•Z[É“àŽfHX‘þßàITjÕª¼œtéU±èœ‘p²·Ýde¹¨5‰Nz^BÂt’žÄ.'7Ïã~çÂÄñÉé9 +•º¬ò]¡ôsèM Æ‹ ƒnÐ{•ej•"'=9^vÎ︧›Ó®m:“LÛK¢;‘0Ò‘°X³iÛ.ÇýžÞ§ƒ.^ŽKJ»©(¸SZAû¥î™h¢¿*ÍäÙ³&Ý#AÛeEéÅÍ´¤¸ËƒN{{îw$k,ÍáH‰î¼ŠÄÝ{™˜Nš>g¡Åš6;÷ôþ9042615;÷vqI9-ôLÐ6AïÄ3^RÜPšžÒ&A­å%Å·s³Sc#Cö>¸Ïq§ÍÆ5 çLŸdjbdhÐNLÆL$ËWf³cϾŽ +ø5âJÂ,¹²H£¥Ÿƒž‰†ÇЦ&ÞLÜHDããz$èßÐjŠ”ò¬ W"~ 8uì×=;l>[½œHLcb4°}$zéHL›mN$¶Ú}ãêqôäÙ á1×R2e´_r?GÍCÞDãRד'¼ˆ‡5ü¿¡Ê“e^¿~áìÉ£ß~c·uÃªåæ³§éHôz‰Î:CŒÇL˜ff¾lՆϿtøöû#¾gB.EKèäP—Ð3Á™¨'¤¢‘ƒ?‘Ç¢žADIq‚;8¢/…œñ=òý^‡/?ß°jÙ³iÆÑ‘èüïu~ŸHô0Äxô„©f –~º~Ë»]öñ?/Ç'¥fË•…êÒò*2QË¡xÔ@=FBŠÉ#D-‰¨*/U*åÙ©IñbÑyŸÃß¹ìþbËúO—.0›:a´ñ}‰ÄûßãI¼ÕšÄ[-$º‰ÁÃGŸ2kþ’•ÿؼý«»{𠺛ÀýÅš² +2ñ€CQWW¯ëBúiÐ\ÄQQ¦)*PÈ2Sb#éà8îåîüÕö®[¹dþ¬)ãG < oÏn:o·EâmžD—n=yã¦Ìœ÷ÉŠµÖ¶öNûzÓ~N?GZ¶<_E&Ê+ïÞ«&5µÔC$¤¸‘Ô‡ê{w+ËË4Ū|yvšTýŸ ´]Üï´ËÖzíß?™7óÃqD¢?‘è‘x§mïèIôé?hØÈq~ôñbK«MÛvîqõøÑ÷L°H—˜’‘“«$¥ÚŠÊ*RQ}Ÿz€„7’jòPUY¡-%ÊÜœŒ”Ä8±(øŒï®{vnÛhe¹øã&9lPÿ>¯ ñ.G¢k"1tÄØÉ3æ,´àN‡½´Lø…FÄH’S³d +2¡.)Õ–WTVVUÝmîzӵ̢ªª²²¢\[Z¢& +YVj²$&"4ÈïÄá{ì¶ò7èŒIcG Ô¯O®‰w_L‚®Ð®=z÷3jb:iúlóeÜ~ùµ³›§÷©³!"qlÂõ´,Yn~Aa±ZSRZ¦ÕjËù*0ÒƒæRVZ¢QäçʲҮ'Ä^…œ=uÌÓV Ú.—q7¨©‰‘a¿Þ=ºÒ ú›Itïm0Ј®Ð©fó—¬Xgm»Ë‘~ŽŸüƒBãâÉDŽÿÄôüâò­ÀÚú½Í­íÚy´»»û8Ì̧„–Äîî£G;?=|°½µ¹±¾¸¹¼8?=á#Ú/6:ªÊŒ†Ü,8.SΣ݇•8¸ðçàñ‰šÈ/,µØ.4¹Û»½CWƦf®-.­Ü +¬®­ÿ°qïþææÖÖÖ¦©lnÞ¿·ñÃúÚjàÖÊÒâµ™©±+C^0Ây¡ÚRZ§!J‚‡þ‘N‰ƒË&‹‹jB‘•£+2YmuMnO×åaÿøÔôÜÂâÒòÊ­ÛwïWWW×ÂÜÅ|JhI@.ßwnß\Y¾¾¸07=5îèëò€6«©H—“©€’€ãý7"ìÆÁå@&]2•Z«/6WØ.8]m=ÞÁÿØä×Ó³ó ß.~w}iiyùbÈD–——–®·øíÂüìô×cþáAoOG›‹0¢XŸ«V¦‹‰’@Çe¤Ý • jâoѱñ,øtˆ$ò ÖPl¶Ú -—Ú;{½¾¯üWÇ'§¾™ž™™››®a˜ +ennvffú›©Éñ«þ߀··ÓãnnpT##´•L߃%qT ÚrP5ÁMÀtdhò Å&K•½Îé)zúú††G®øG¯ŽOLLLb˜¤2>>6vuÔedxh ¿¯»ÃsÉ嬫­²FdÈ¥©‚$. ]p\FzãnЖƒº&90b©"S£Õ•–WÚõN—»íËÎîÞËÞþÁÁ!ŸoxxxÃ< Ÿohpp ßÛ×ÛÝÙÞænqÖ;lå¥EÈ…T,€Ù ¾dIDT‚^Ätð…âtè ­®Ðh¶TÕ8ê›]îVO{GgWwOoo__ße dz{{º»:;Ú=­nWScÝVi1 u¹„B˜ V<ñÝ—G”8\q ,.r¶C“o(*1[*mµŽúgsËE÷¥ÖÖ6ÇÓ|‰a(Ȧ­µõ’ûbK³³¡ÎQ[ B”òs԰Ș·•íÀ„O\˜1Ä9œ«²²µº¢ÜZY]cwÔÕ74:MMÍÍÍ-&É459 õu{Mu¥µÜBè´ÙY*ºäw#bI—#41q‰lÔ©Ha(4–šË,Öʪj[M­Ýnw80L’±ÛkkklÕU•VK™©´¸Ð¯ÍVg(Ò%©0þŸ1¡Ùˆ¨D¨&Âçr"Y J“Ê• EnXQl,5™ËÊ-«µ¢¢¢’¤ +èD «Õb)/3›JŒàƒ./„Pʤi"A2ÑÔo㸒 ×Ä_£Î|œ€{‚ÃKJ¦¦¥ƒYšœÜ¼|½¡ °¨Øh,))L&‚¢))1‹‹ + ú|ðA“•¡”KÓR…)I<e:$Ž-‰CÓrŠI!•)À +5h¡ÍËË×éôzP€a"(½^§ËÏËÓææhÔàƒBFÁf«qö‹3QÇÏm:ÂNÄÄÁx@QðA +±D*“+U™Yjµ&;;ÈÅ0H';;[£Vgef¨”r™T"!øPìÄxʈà!ñæïÆ¡š:ŸÀbsyIÉ)Qª8M’.“ÉJ¥J•db˜ +ŠG¥R*rYºT’>R’“x\v"Œü5(#NQFDTâpcF£¢)8¼óÈ +!h^H¤ÒôtƒBŽa¡T !©T6ˆSE„ç¡!X ¨"¢ÑeIqülPJ„œ Š.Šø„D¸)|~Š@ ŠD©€Ã\P@"‘P(¤ðùÈ.‡•BÄž£*âÝŒÖé5pQR$BWpyàERr2¨ÁO "À0‰P.$•6€lV"K494#ŽU"ìñ=MJMXAjÁæp¸\PƒwÃh "$Åá°I  DEP¿Ï·Gœ ÆI欈ƒ¶H@bl ÓA1 0q±àC°!ÂñNF„î‰àxRU´/@ h ÃdˆŒâ ±1HÂBˆ°o_ÃN„¥@V€„È D,†É!C2À\>Єx#ÂN¥ ¬-À $Rs ²:‹l(BB¼‡4'H)H+@ äƒtÃtȨÎ6€¤A!ÞËʉ”H äÅiÊ ã¡ÒŠ"u |  ñîF•YAhA™ArÃPÂEQ©¢ûðB„œ ¥ ­ ´ ©9 Cû<ì%Äû–‚²"èÝ ã ‡ö—ƒ>|€t)BVнÀœÂé…ý@!ZA÷‚Χ~/æoê³âÃ+Ž·Ã8ÞÝÿìCD+0'‘äãÏÀÇ–;rÒø?€Á`0 s„ÿ +0ê¡MÜ +endstream endobj 29 0 obj [/ICCBased 51 0 R] endobj 50 0 obj <>stream +ÿÿÿ +endstream endobj 51 0 obj <>stream +H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  + 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ +V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= +€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)Ë”z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ßÞô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð +¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 +N'çÎ)Î].ÂuæJ¸rî +î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö +n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ +¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû +endstream endobj 47 0 obj <> endobj 52 0 obj <> endobj 53 0 obj [0.0 0.0 0.0] endobj 54 0 obj <>/ProcSet[/PDF/ImageB]/XObject<>>>/Subtype/Form>>stream +q +/GS0 gs +531 0 0 453 -7.441061 18.5569458 cm +/Im0 Do +Q + +endstream endobj 55 0 obj <> endobj 57 0 obj <>/Filter/FlateDecode/Height 453/Intent/RelativeColorimetric/Length 9754/Name/X/Subtype/Image/Type/XObject/Width 531>>stream +H‰ì—÷[“Y†gg×Ù¥:PBB !„Þ鑊” ]ª†>ÒD¤ˆ ‚H‘¦*("6¬ØÐQgwfÿ˜}Ï÷%@œÙ¹ü¸®sÿç‡ç¾žç=_}…Á`0 óeø†š`0ŸË€Ùˆ¿Ò‡¯1;¿F‹Ozðw Åø¤ÿ°;—¼ø“Bü^†`vˆñ'¤XïÃ:vav +ëÝX'Å4b;YãŸJ¢‘Š[ñG…Pø tAñæ¿0;A^¬Zñ¹R¬‚ô´½ó-ÁwÊC&¥pƒÔ‚´âóX5‚‚ð°4á{ÄnÌ€ˆŠtC¡a…ªŸg„BÒd©Âž={ÔÔ1Ô…ŒH Â"Õ@^ -J)¶íÄš«B> 4444{1Ô…HH¢"ô@bV¬I±}'ÖFƒ0 | ÈM ÐÆP‰F£!;H d’b}QlÓ4J!`.Àh$ƒ¶¶ŽŽ®®® ¡0(!JGÜ1j Å÷ªRlË Åj(+BÑjê¤: ‚¾¡¡!N7RbŒ¡«©AD”’CW´+)ˆ¦€õØ®*F|CB@Aì¥iú À`˜˜˜fÊ‚ò11a0@:´ ­@RE±='T€Ñ „€~@>3LÀs&“Ų°°`+±ÄP…ÕLØ‹Ådšƒ& c#dtH¡¦BéÄÖ7¦ò Œ *nˆ½4m]=ÂS°eÁ¶äp¹VVÖ€ †¢@8VVV\Ç’mÁ/L +ôt‘êj¿wb+%È¿†ÂT4hºøÀd±-¹VÖ6¶vvö<ÏÁÁ¡(googkkcm^°˜`…Ýš‚†Šb»N¬ÎÜ +#`3tõ As›Ãµ¶µ³wà; +NB¡³³ àŠ¡ (gg¡ÐI päó@ k.‡Í2‡ª@RhíEŪä9ñ)# $0ZP„–àƒ=/prvqus÷ðôôòò|0%ãååéááîæêâì$à;؃–Lh +C}](Š5'¶¬ …ä!¡0*ÂØ‚km>]Ü<<½||ýüE"±xß¾}$Š ¢‹E"?_0ÃÍE(àóìl¸–ÐÆôí;¡2pH«£A76eZp@G'ðÁÛÇO$ + “H$û1‚  + ‹ü|½=Á +G;k.›iÆ NÀ=¡œŽ­•€’@FìV#:‚Î0cYZÙò….î^>þ†0IxDd”T‹¡ Lt´T. +ûûzy¸ +y¶V–,3#=…ª5±Ùwƒ,‰o¿S5ÂÚÎÁ „ð…JÂ#¥1±â“d2Y2pC)P&MRbbBüØiTÄþÐ౟·‡«ßÞ†caN@OhÀ_¦c×®MkBYŠÙP×ÔÒ!ŒàXÛó…nž DpXxTt\|¢,9%5-=#33++놂@0™éi©)ɲĸ¸˜¨IH Ø×ËÝÙ‘gÃ%€‡Únr:6«‰K‚¦­ghLáèìîí¿/X!OJNMÏÌÊÎÉÍËË/((,,,ÂPˆ¥  ?//7'ûPfzêÁ¤„¸èÈý!"ƒ-8Á ëëh©LÇÆ5¡¼$¿ ˜ cSX 0ÂÃG.K¥¤gåäæ‘—”––••——W`(„RVVZZR,?RT˜Ÿ›s(#59ñ@t„$Xìëéꄜ0CNÐ4·® ˆ¯WKB“³aÂd[Fˆƒ$‘1ñ²ÔÌìÜ‚"yIYEåѪêêšÚÚ:à†R Ljkkª««ŽVV”•Èäåd¥LŒ“BQøy6–™±¡žö^ ²&”ŸŽÍvƒ¸$àÿ©gÈ0³àÚñ‘Áû¥qI)Ùy…òÒò«jêê7œhljjnnAœÄP"æææ¦Æ Çëëj«¬(•åçd¦Êâ£#B‘žµ%ÓÄh]Ml´kÇ¥¢$ ŒLY¡;aÄYZVn¡¼¬²ª¶¾¡±ùdkÛOíí§;:::×8ƒùr¨äÐ ±œ>ÝþSÛ©“-M'Ž×UÿX^\”—q0!9áéâhoÅ6g(j}:6^ŽU%ˆïQælk{«·(ŒHNÏÎ?RZY}¬¡éä©öŽÎ®³Ý=½}}ýýýç0Béëëíé>Ûu¦£½­µùD}ÍÑryá™)‰±à„¯‡3ß–Ë2E¿Žjb³Ý ¾:úP\[¾‹§_ $ +ŒÈ)—WÕ54·¶wtu÷õœ¼04<<22ºÆæË¡’ÃèÈÈÈðÐÐ…Ás}=g;O·µ4Ö×T–åf¥$ÆD„ˆ}Üœ`:à×5ŸŽ­•P솺¦–.Q<'wŸ}¡‘q20¢¸¢º¾©µýLwßÀàÐÈØÅKã—'&''¯\ÅP2 ˆeâòåñKc£ÃÎ÷÷tu´µ4Ô-;œ—•’½?Häåâhǵ€šÐ¡i@Ml²*JÇ%|7X[G/QpxLbZvAqeMCK[gwÿù¡ÑK—'¯\›š¾>33;;;‡¡ÊÌÌõé©kW''. žëíjom9537¿°xçî½û––0%²´ôàÁý{woߺ1;}uââð@Og8QR˜š- ôóò¬ÙfÆÄrÀŸc#%”×%:%ÐCŸÇ¥ÀÍJ"!5»°´ª¾Œ¸06qíú[‹wï/=züäé³gËËÏ•¼À|aV£X^^~öôÉãGÜ»³0?;}e|ä|oç©ÆºJy^fr\d\|[þ¡ÄŸCqLl¤„ò”Pî†ÐÃ?(J"O^Y×ÔÖÕáâäÔìüâ½¥GOž=ñòÕë•••7$o1@Æ›••ׯ^½|¾üôñÃûwnÎ\'z:ZªË‹rÒ &|Ýö°tb9Ð1¡¸/7?%t æÄnˆC£âS² ˪Z;{Ç&§çî>xôôùË×+o~÷þý‡~ÁPÞ¿÷óÛ7+¯^,?yxq~æÚøÈ@w{KýÑâ|¨‰ˆ`•åØä˜XS‚8%t M˜b7$ÑIé¹G*ëšÛ»F'¦æî=|²üråí»÷¿üû?¿þúÛoÿýûõá\e™†a|\»ã £3¸².j,R–VD@Y¥é"à +«B¬”i"¥)A‚…PÒ¥w!ÒÛIr’œtEÝò|çœ(Ü&À¨³‡ë÷|ó½×¼ïó”IÃeöãQ¸RSS’““âc££"÷ïݹuƒÝ¡!³§Œi×ÄK];¶}²YÃúÎÎñ§?V8L”%áL—•n©|»­ Ö}èÑ'žzæùÁ}ÿÃY! –~½ÖŠØ—˜œâJKÏÈp»Ý™4v*éi®Ô”¤„¸èCỬ‰åK>ÿdú¤±Ã¼Õ«{çö­š7þë_jÜw·³†:ÃDI”-ÎtY5¨šý­Íß_xéµþCFM˜:ç³Åa«7l³"Ç&$§¦e¸3³²=OŽW.‚ï4r<žìì¬ÌŒtWJR|LÔð[¾YõÕÂù³§|0bPßàžÏ?óÔ>T·æýwÿùöÊ·TòÏ—%aÓe¥[o«bÓeízÎ(ñ\·WÞ0lìäó,]¹~ËÎðÈÃq‰)i™YžœÜ¼¼üü‚2…¸Ì~<Š‚üü<Ë#;ËîJNˆŠØ»cÓÚK>Ÿ;}âè¡ÿzý¥lçx̆‰jAUù²ü•ßÄO ǽÕëÔod£Dçî½ûØ»ñÑìO…­Ù¸}ODT¬áÎòäæå1Å$Αäçåx²2Ò’bíß½uêe¡!3?7lÀ›¯t{®Ý“MÖ«móe•Ûœ•ãÆ‹&a Ç}5ê4hüxë]l”:2Ü®‰å‹?ûØ^Ž}z¿è Ô©~ïO+GI\ë$áì wÜå,6]>û|O%FOœþÉ‚e«6lÛsàp\²Ë›_h==VZZzÜçÿ4JK­Œ’â¢k"Õ±{ëú•_~1wÚ„Qƒû÷èÒ¡õãÔ©qŸwå¸@×ø’ðî ÎÂѤÅÓ6]¾þö»c&Ï Y¶fÓŽðƒ1‰©Y9V„„…pÒœB qŽÄâ(=v´øH¡5‘ž’¹wûÆÕËBç͘4zhÿ×þùgm¾tVŽ»îðm¡×_wíÏ“ðî ×ÝpãÍ–„³ƒÖ¬ûp“m:v}ùÃÆ}8ûÓÅË×mÞµ?*.9-Ó“gE8AX ß:N#pxOİ(Ž–)Èó¸]I±‡öíÜ´6lÑüY“Ǿû¶3_>Ý¢ÉCu¼ß·…z“¸¦¢$nò%T­¦³ƒ¶íØõ•7ßyïý)¶äëõ[w8Ÿ’ž•[àaA81|‡Àã„aQ”-.Êw®‰øÃ»·¬[±øÓÙ{oÀ/wíØ¦E“‡}[¨%q³?‰?T˜De_xwÐ^o þM—_®üfÛÞȘD—Û.‰â£Þ"¬‡3æ,‰s$V…¿‰Â¼ìŒÔ„è{¶}óõ›/ßþŽ­Û:[hÍjAþ$n¸hUƒªÕªgI´ëÔ½WŸA#ÆO›ûÅÒU¶‡ŒMJËÌÉ/*9vüä)'ç¾G`ñvaQœ:yüX‰]™®¤˜ƒ{·oX¹ô‹9Småx«W·çÚ>Ùô‘Ÿ’¸é¢IT©ô@­z ›¶l×éÅÞ}œ0ÍŽÕwì;—ì}7ì’8õíwÎý`_ð‹· +»)¾=e×Ä‘‚ܬ´äØCá;6®Zf+ÇøƒúôêÞ©%Q¯Vµ ª·W¾x•nµ$îq’hÖ²}gKbð¨ Óç…~µfÓN›.S2²íݰKÂ^3gé!@Ygìí°k¢¸07;=9Ι/W/[ðÉ´ #õíýb§v-›6¬Wë ªU.=‰Úõ}I÷%ÓWTâ»$¼EüÇß„]örØ0‘µç¦5_…Λ>aÔ`K¢sû–Íœ$î±$n­T^Wù“¸þü$ZµïÜ#¸ßK"daØÚÍ»"'¤º=ùÞ$Ng¯†¿ˆÿ p”5qö¬M'Jm˜ð¸Sm娵yMXè¼G îìK¢~í_D‡.=^í7dô$o[vû“°QÂÞ3þ".÷/ÀÏø›8c/‡ N NkÆXCú÷èܾÕùI\ïO⪠&Ѩ¹7‰þ–ÄÌEË-‰Ñ .wŽM—6J8ïE(§ ïËqò¸Í—9nWBtÄî-Þ$&v’èÒáR’¸º¢$†ú’Xç$‘èÊb Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $Ó IÿâóºHøü @1ý‰$2åÊ¢’Š» !ðZ“¸[QR¤”g‚Äÿs&‰[zõ !äž#Q¯'q‹#qéõ’¸ÔL¢$„C¢ü5’X ÉÚCb1GbÄ!1ây‡x’çI4êHÀ„ãDèH4>G⺄'q¨5 Ãö’0l“Äu=‰ûµõ O›šIÀ„°ú½™DÓÓÆ†úÚû¯›„5‘po›=:0!¤~דøï³6Høûr'Öí#ÑñE$œ‰„ð¥(ŽD~‘¦5 $¬~kMBS”Ï‘ˆÒ‘p~‰Ží%aO$NøŸ‰ Y~¡F[u¿¶®¡ñI“n™€ áõ›n•hzÒØPW{¿J«)Ì—e ÑyÿDž'1wÆ'1cîbK+k["áÅ“¸*Õ“¨®©{ÄzP!¨ø‰p"¸ƒãQ]Mµž„ô*OÂËÍÙÞÖÚÊòU$:èItjMb‘¥Õ&[{'7¯~çDâ«Òôœ<•Z[É“àŽfHX‘þßàITjÕª¼œtéU±èœ‘p²·Ýde¹¨5‰Nz^BÂt’žÄ.'7Ïã~çÂÄñÉé9 +•º¬ò]¡ôsèM Æ‹ ƒnÐ{•ej•"'=9^vÎ︧›Ó®m:“LÛK¢;‘0Ò‘°X³iÛ.ÇýžÞ§ƒ.^ŽKJ»©(¸SZAû¥î™h¢¿*ÍäÙ³&Ý#AÛeEéÅÍ´¤¸ËƒN{{îw$k,ÍáH‰î¼ŠÄÝ{™˜Nš>g¡Åš6;÷ôþ9042615;÷vqI9-ôLÐ6AïÄ3^RÜPšžÒ&A­å%Å·s³Sc#Cö>¸Ïq§ÍÆ5 çLŸdjbdhÐNLÆL$ËWf³cϾŽ +ø5âJÂ,¹²H£¥Ÿƒž‰†ÇЦ&ÞLÜHDããz$èßÐjŠ”ò¬ W"~ 8uì×=;l>[½œHLcb4°}$zéHL›mN$¶Ú}ãêqôäÙ á1×R2e´_r?GÍCÞDãRד'¼ˆ‡5ü¿¡Ê“e^¿~áìÉ£ß~c·uÃªåæ³§éHôz‰Î:CŒÇL˜ff¾lՆϿtøöû#¾gB.EKèäP—Ð3Á™¨'¤¢‘ƒ?‘Ç¢žADIq‚;8¢/…œñ=òý^‡/?ß°jÙ³iÆÑ‘èüïu~ŸHô0Äxô„©f –~º~Ë»]öñ?/Ç'¥fË•…êÒò*2QË¡xÔ@=FBŠÉ#D-‰¨*/U*åÙ©IñbÑyŸÃß¹ìþbËúO—.0›:a´ñ}‰ÄûßãI¼ÕšÄ[-$º‰ÁÃGŸ2kþ’•ÿؼý«»{𠺛ÀýÅš² +2ñ€CQWW¯ëBúiÐ\ÄQQ¦)*PÈ2Sb#éà8îåîüÕö®[¹dþ¬)ãG < oÏn:o·EâmžD—n=yã¦Ìœ÷ÉŠµÖ¶öNûzÓ~N?GZ¶<_E&Ê+ïÞ«&5µÔC$¤¸‘Ô‡ê{w+ËË4Ū|yvšTýŸ ´]Üï´ËÖzíß?™7óÃqD¢?‘è‘x§mïèIôé?hØÈq~ôñbK«MÛvîqõøÑ÷L°H—˜’‘“«$¥ÚŠÊ*RQ}Ÿz€„7’jòPUY¡-%ÊÜœŒ”Ä8±(øŒï®{vnÛhe¹øã&9lPÿ>¯ ñ.G¢k"1tÄØÉ3æ,´àN‡½´Lø…FÄH’S³d +2¡.)Õ–WTVVUÝmîzӵ̢ªª²²¢\[Z¢& +YVj²$&"4ÈïÄá{ì¶ò7èŒIcG Ô¯O®‰w_L‚®Ð®=z÷3jb:iúlóeÜ~ùµ³›§÷©³!"qlÂõ´,Yn~Aa±ZSRZ¦ÕjËù*0ÒƒæRVZ¢QäçʲҮ'Ä^…œ=uÌÓV Ú.—q7¨©‰‘a¿Þ=ºÒ ú›Itïm0Ј®Ð©fó—¬Xgm»Ë‘~ŽŸüƒBãâÉDŽÿÄôüâò­ÀÚú½Í­íÚy´»»û8Ì̧„–Äîî£G;?=|°½µ¹±¾¸¹¼8?=á#Ú/6:ªÊŒ†Ü,8.SΣ݇•8¸ðçàñ‰šÈ/,µØ.4¹Û»½CWƦf®-.­Ü +¬®­ÿ°qïþææÖÖÖ¦©lnÞ¿·ñÃúÚjàÖÊÒâµ™©±+C^0Ây¡ÚRZ§!J‚‡þ‘N‰ƒË&‹‹jB‘•£+2YmuMnO×åaÿøÔôÜÂâÒòÊ­ÛwïWWW×ÂÜÅ|JhI@.ßwnß\Y¾¾¸07=5îèëò€6«©H—“©€’€ãý7"ìÆÁå@&]2•Z«/6WØ.8]m=ÞÁÿØä×Ó³ó ß.~w}iiyùbÈD–——–®·øíÂüìô×cþáAoOG›‹0¢XŸ«V¦‹‰’@Çe¤Ý • jâoѱñ,øtˆ$ò ÖPl¶Ú -—Ú;{½¾¯üWÇ'§¾™ž™™››®a˜ +ennvffú›©Éñ«þ߀··ÓãnnpT##´•L߃%qT ÚrP5ÁMÀtdhò Å&K•½Îé)zúú††G®øG¯ŽOLLLb˜¤2>>6vuÔedxh ¿¯»ÃsÉ嬫­²FdÈ¥©‚$. ]p\FzãnЖƒº&90b©"S£Õ•–WÚõN—»íËÎîÞËÞþÁÁ!ŸoxxxÃ< Ÿohpp ßÛ×ÛÝÙÞænqÖ;lå¥EÈ…T,€Ù ¾dIDT‚^Ätð…âtè ­®Ðh¶TÕ8ê›]îVO{GgWwOoo__ße dz{{º»:;Ú=­nWScÝVi1 u¹„B˜ V<ñÝ—G”8\q ,.r¶C“o(*1[*mµŽúgsËE÷¥ÖÖ6ÇÓ|‰a(Ȧ­µõ’ûbK³³¡ÎQ[ B”òs԰Ș·•íÀ„O\˜1Ä9œ«²²µº¢ÜZY]cwÔÕ74:MMÍÍÍ-&É459 õu{Mu¥µÜBè´ÙY*ºäw#bI—#41q‰lÔ©Ha(4–šË,Öʪj[M­Ýnw80L’±ÛkkklÕU•VK™©´¸Ð¯ÍVg(Ò%©0þŸ1¡Ùˆ¨D¨&Âçr"Y J“Ê• EnXQl,5™ËÊ-«µ¢¢¢’¤ +èD «Õb)/3›JŒàƒ./„Pʤi"A2ÑÔo㸒 ×Ä_£Î|œ€{‚ÃKJ¦¦¥ƒYšœÜ¼|½¡ °¨Øh,))L&‚¢))1‹‹ + ú|ðA“•¡”KÓR…)I<e:$Ž-‰CÓrŠI!•)À +5h¡ÍËË×éôzP€a"(½^§ËÏËÓææhÔàƒBFÁf«qö‹3QÇÏm:ÂNÄÄÁx@QðA +±D*“+U™Yjµ&;;ÈÅ0H';;[£Vgef¨”r™T"!øPìÄxʈà!ñæïÆ¡š:ŸÀbsyIÉ)Qª8M’.“ÉJ¥J•db˜ +ŠG¥R*rYºT’>R’“x\v"Œü5(#NQFDTâpcF£¢)8¼óÈ +!h^H¤ÒôtƒBŽa¡T !©T6ˆSE„ç¡!X ¨"¢ÑeIqülPJ„œ Š.Šø„D¸)|~Š@ ŠD©€Ã\P@"‘P(¤ðùÈ.‡•BÄž£*âÝŒÖé5pQR$BWpyàERr2¨ÁO "À0‰P.$•6€lV"K494#ŽU"ìñ=MJMXAjÁæp¸\PƒwÃh "$Åá°I  DEP¿Ï·Gœ ÆI欈ƒ¶H@bl ÓA1 0q±àC°!ÂñNF„î‰àxRU´/@ h ÃdˆŒâ ±1HÂBˆ°o_ÃN„¥@V€„È D,†É!C2À\>Єx#ÂN¥ ¬-À $Rs ²:‹l(BB¼‡4'H)H+@ äƒtÃtȨÎ6€¤A!ÞËʉ”H äÅiÊ ã¡ÒŠ"u |  ñîF•YAhA™ArÃPÂEQ©¢ûðB„œ ¥ ­ ´ ©9 Cû<ì%Äû–‚²"èÝ ã ‡ö—ƒ>|€t)BVнÀœÂé…ý@!ZA÷‚Χ~/æoê³âÃ+Ž·Ã8ÞÝÿìCD+0'‘äãÏÀÇ–;rÒø?€Á`0 s„ÿ +0ê¡MÜ +endstream endobj 56 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 38 0 obj <> endobj 60 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 59 0 obj <> endobj 63 0 obj <> endobj 64 0 obj <> endobj 65 0 obj <> endobj 58 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 24 0 obj <> endobj 68 0 obj [/View/Design] endobj 69 0 obj <>>> endobj 31 0 obj <> endobj 30 0 obj <> endobj 8 0 obj <> endobj 17 0 obj <> endobj 18 0 obj <>stream +%!PS-Adobe-3.0 +%%Creator: Adobe Illustrator(R) 24.0 +%%AI8_CreatorVersion: 26.0.2 +%%For: (Paulina Godoy) () +%%Title: (ifcos-graph-1.ai) +%%CreationDate: 1/6/2022 9:26 PM +%%Canvassize: 16383 +%%BoundingBox: 805 -1428 1967 -410 +%%HiResBoundingBox: 805.410790676549 -1427.33195029627 1966.91943069302 -410.391428290652 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%AI5_FileFormat 14.0 +%AI12_BuildNumber: 754 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%RGBProcessColor: 0 0 0 ([Registro]) +%AI3_Cropmarks: 812.851851851845 -1445.88888888888 1336.11111111111 -965.296296296292 +%AI3_TemplateBox: 960.5 -540.5 960.5 -540.5 +%AI3_TileBox: 653.611491244419 -1503.1925986961 1495.47147171585 -908.17264020001 +%AI3_DocumentPreview: None +%AI5_ArtSize: 14400 14400 +%AI5_RulerUnits: 6 +%AI24_LargeCanvasScale: 1 +%AI9_ColorModel: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI17_Begin_Content_if_version_gt:24 4 +%AI10_OpenToVie: 450.185185185183 -919.666666666675 1.6875 0 8216.59259259259 8844.74074074075 1819 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 +%AI17_Alternate_Content +%AI9_OpenToView: 450.185185185183 -919.666666666675 1.6875 1819 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 +%AI17_End_Versioned_Content +%AI5_OpenViewLayers: 7 +%AI17_Begin_Content_if_version_gt:24 4 +%AI17_Alternate_Content +%AI17_End_Versioned_Content +%%PageOrigin:560 -840 +%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 +%AI9_Flatten: 1 +%AI12_CMSettings: 00.MS +%%EndComments + +endstream endobj 19 0 obj <>stream +%AI24_ZStandard_Data(µ/ýX4£ŽÎŰ 8 O’¤   Éf}¾Žÿsý/ägzê§ûèƒYk-ûÌG®ìîÞ´wug …`+ö = ‰.ʃG„  Ùä•,.¥<1õnIlÏ5;DºæjI,Xx<0Á &€¢Iˆs£ïPÙ¡#¼«£Í¤R«Z¤=«ôé$z¨XÝnÛº½"åsÍY¥{·HºY‡ºiœÜMÓ½Ÿ¥YùùSž™÷p§Önþ#fÒb¦Õùh²>í*;“®õTwèÜ:ݽÖÙaî +$¡²/oø$Qˆ$ªÐ}B±h¸ðHb—P, # ’$ü’"ÉÂ>KJT$Q=éwU3 ‹*a _Ë‘xªÕÌÌ¥ÀCZ4äª!‰ÙÑŠS fÔ2p©aHg +<+{±Oè±ô EƒJÃa±?<ÝͽÓe•цw5¼xçæª"jÙjIÈö:´Ñ`4Và e ÃÔ Çª@R4‹DÂoìÓw|—¡ +M˜–"˜çÀ†âVFƒ¡°¢$©h$a(ÖÖ{A $q0ðn[H²×@2ÇH4nKEÅÐó5ªAc‘ l,dÑP|HÂP IÖ²IŒ$ƒ€ð`@Àƒ‡…EƒRܱ-7ÛÑ:ŽYïð°n ñµÆRº^âOH>Ù©lºÚ)z¨ä&VÕÏ4oDt4$TÛ™qÕòvÔ³ß*žɦvO*»¨CS½öšÞÑÑŠ† +¢YÒæu׊̎êI·¶®ÛFuùLOæx aÉ‚S×Ó¢¤7´% •*Æ@ƒA $I4ªHâ` É­H²8Rè¥cŠEÅ4º³«…"ñU$Á³r4D‘øÒ5‘ä ’4„$ ÅI4ÑÊHâh0‰oâ’¸®¬o Iƒ”H¢°¢¡HÒ(G9(vö’(P ®SuÑÈE’Úk1L±HØ&ÈfVgx†$ª¿b±`, # Õ¦.„QV¥d$±KL$Ù„"±h ‰íCM\A†Z©µeŽD9¬a cÁ(×9­ ¯&l «s’ÀÖ„Òö7wA• M0„V®¢H²Œ3 j¸Q kœ6¶ñF‚Aæ8M0ÊM’œãRÁp *H²h8dG)’,‹†£áHD’3$©Å6DÁH0 $Á¢;Ö‘\¤b33Òq´Þ9Œa $93«Ö1ÎÅ …Rº +’¼n„$Ž„«hD3Ù$ )Š$$Q½*E"±H¢‰æ²I‰U$9›ƒHr¢¯™lÒâ‚$<ph0H"AA.„TðºhÆKSùCÅôGÛ¾„z÷Õîþˆ†Ji^ËšE”S›è¡rµ‹4jxaùªFKû9 I$(P€$P4  P¹­k¦ËTÒ’Å¥Jºn´'<­¬¡¢—jß ­vu¨ý°Ôl·z¥G—>â¯iíÇ—¡IqI0€ …ƒ IRŸ`8I®S÷ $Y0LHRdt„” jƒÈvÙÐyß$Wœ’ËSIö Åùm É*Zã_$)F5 ’(ž(‡HbGƒÑxI´‘l`-VÏ +Iˆá€P4  \ÃQd$)+;L$Ñ}IHâ0B—âÇ0–&Ȱå%’`fjn.#¦º„$·hø¶ßïx|^¯â‰+®@†ãŽS‚*Q—‰|â‰D"±H,Ž„#A +R ‰¢¥P*0W¡X0 EC$ ‡‚\v˜ $IÝ/ކƒáX8Ž„ãŽu¨#è8‡9Êa9 G£Ñ`4 E#ÑxcÚH$¹†5ªá5ŒÆb“ŒcÈáX4ã·¸’˜Š…B¡H¨"©@Å)NaŠj$ F"‘H<$›ØLà%¬N8A Ço¼qÆâŠ+žøóy<þŽ$w»‹](‰$xV¦u4„¡Œ…‚6±ø"±P4‹cáXfãˆ$Š„"Á8ã‹$×MMUÆ>ÁP0ŒCÁ@’¹ÄgHRÔp4…b‘Ø….t‘ \Ø¢µð‚´p( +†B¡H(ž +$AÅ)Ja) Fb‘P$‰'6‘ L\• DãŒ/žø¿×ãíuºC±{´HÒÐ…*ôºªŠZju$#ùs`¨@.&&:—¸ÄýöôòïÎèèÖ°…-nkkiyddŽj£¥(E½^ZZYXWUUH⢢r¸á…V¨õÊrƒ´ Å"! ¤HB&#$¥¥S‚„$ j¹lFk +/ÌpÃTT®ª+,¬,­­W¢¥¨E-ŠQŒj”£ÈÈleefHb††––¦¦¶7…)la cÃFGç««»ËËÓû%nqkœã H²À6Д••˜˜ššÏg"¹HG:’”ÔZzzŠšªºz½&4¡ +]èBÊІ:”IÈ[[kk¸¹©»»ßDbH¢X0ŽEò‘„ÅŠ ’X`æò€Ø@„‡âÀ ¡<±áñ`"Báñ !"ÂC¡8<" 6Ñ HÁGžK£ +x440L€ àð±à +$Lxè@Ä#…<8a‚ + xñ€aá’H`CCÃc 8 ð°°2—ˆ …-—G (äË£‚ƒ„GÄÃ(ÜH’Á„ˆ <4<@8ÀÂCB„Ã#B„‡Å‡ 0D X4(‡GDÄBƒ£Î‹NýëT·igKé4ÐÛ +%bàÀ¢  @Eð`˜>x4xàÐÁ ˆ†DµïJbÖºœ_îuA:»ÝRÇI×*¨›ã‚šsÿ‚bkÂ+<&ð‡G h@.WD@h‚`háðˆpxX4p`€ðP4PK€x`A&0`#&4 V©¢Ë)TJgDv¼•͹˜ï·x%²9³Y5*/¾huPÓ<7åÝáâ\ÚêÊs?¤5.ž’ìe/Ž«lYÞâ·êæ2Oo\Emí\† (@8(-õúb.iêbžViÐ\™sZ²öîk;œR¼ü¹èZŽÕ–y÷K4çk÷¤ó,ev®ü!®íÞ`Sžæ§f6W±ÆÖ*÷\0Ï.­òGûY³ Í*ŸxšUJ'Yå—\'4›ßRVåÑ·ù¹:ó†Î^M¡Ëñ¬'JEÕ›Òò++Ź–#ž¿i;¯%û!>i=©.ÛÁ-?"5¼¥ÖØ}V‹yÿħºè5§²èëvñ{*럼bFW´u3ýÕÚ\ÕɼN^ñ©­âèzdI«¨é<Í›FO×4±lz6]ÊøÑ,›t–xcí”RÒ”Ä[Ý­KMjY:’ñV¦cw±m/¿w³¢©+ïæîêšÇ²Üš^ï…÷AÚò]ï>%§}-J/zl×ò–ÞÒeQÕ\½Ó&©ŠRÕXËëÒ{7߃T¥êjT‹"Ý·Uí\ ~ï:w—C­¹–½“ýîÅô¥'µR=Ñ“h.½âg5‰Jï‹D–Oë}·<§Ü«Ûï<õnM›ùKz/½›“ÍCZÌ>éÍ© +~sV‹ª­ô)/³ÆpK’‰ðZ»£w1’ÎmñÑ,UQ#›ÕrF¦xwÖÎíó–îvóöø5TS[ëá;hN›M¼'é]%÷l6K%ùðÖêf³`-Ýp6‹Ój­&]%é6¸Åw"µqUI,üê%•Kí¶ÔÒç^tõh<þ8¾Kš^Ù‘>Ó¼šæx³´N¯¾“Kâ×ùIu9¡mzµºM¤C¼eá¤Ú¥¯¢+=ÍÄo޵|7ÏFƒébšµZF-ãÓR§œv.³*|*&Þz=ÑØ.—gšXe{ëë舧Etª&’^®žíeÙuÜ£’®®Æ¤¥Ò㯈>½9N—^ÏË8—‰ó3ËÌÙ'º(½æÆž"IÚö"É¡9…¨sUtïÑ+æû®ž>R*–ýKÑsZÐjg FbÕÑÐZx¡P(ÞØ„"Iƒ±P$VIL¯ eäÝÙ9ŠD)gåk-#·ÅXFåâ ‡¥é¢RWW‘`Ôïxj$‹Z$!—ê>¡ C÷ ã6Ê{[ºX‘ Å7ŽÔFT…BÑ@’Æ‚‘P<Ï‹d(”§#±¥¦ Ä1Š+1(Š;›«Q™].Ò‘fϾ³ááâ­p¨z›ëSYx'Ñ™ÝPѳÓÌ;ZwÏ”ç[J\¥möNB2ü«‡Š~ËöR2©á¥Ré.ѾúDX™^0òwûÒ“´ÔUu»ûEÅ2Ö±ÎoãŽ[¹(…)PÁÀ…6¤ay¹H²@¬‹+GùÂK4%]DÒ×”zfi%#‰2‰…^Om(Ž$‰i”d`cWWÜÌ…e·t¬î°Ö&BKCº’áU*ZzóЏJFô}ß5baz À¸žA§"mq_؉ƒÕ8«RÕ— UÉBëYq–,˜ó=±˜KJ•òPA—™Úý?—ª¾ÐR)S ñT룚HÂpÙ!ÉÞu‰$©»8#‘PÂy…B±p2jg( †ƒá†5°¡7 FÃѰÃèPÇ +ÃápI ÅÕ¤±H,N¬ŠR,–%ÒʉÕij2’8F‰’(ÖZP‚ö‹$Š$xFŽc¡@’½[k ‰#±X$)$±£ÁX(_Md,‰ë"±éH`£Jµ@Û‚NI‡…ŠDDH"A‘¤¸´ªv™Tõã÷ì{–•¯Ó*OÊ£ÑtHiƒ$ŽÄY’("Y‡[𸩬ûÚNe=ëT)kÑî2B“oÍÎUÖ-»|–¢Ú½vÕéì‡ß¡´UR•™á¦%î¥Ú9–Yg6»åŒ²ürú)Ú7ëz±úrÉ|»©pÜŽGw£ç ÕfÞ^[8kU«»vSY×îLµrô<¶«6vu[2÷¶§CBÌßÖìvìÊÖŽÌÈsW¥ÐhnK©åÑÔ²¦´$ªf9ůίH‹ïjw¬ñ–2S<ÛÜ¢Fê]BB›Ò u‹šÒîÛÓãžôµGÛ-7ãÑ –ÕÑ~z9†º£X›fwÕ陥fɲ3³<;žlKñ¿iYÝÒ\Kåù¾'Ùç©c-y.Ìõ=‘lÈ*/7×YôJï§[º[¢UÊ¥_‹æÌ§{*e±¬;™]"æ¸^ôd²Ó«ç¶ì«jh‹ÑwãªòÚMÕ"ÚnÅ´’Mqi*K’õʺi›Õ²\¹\6§Ò¢tå¼£n¹»(Ǭæ»Ñ—´/•¾ü–¦§f7KšeÓûUâ,•¾ WKèK]béݸ:‹8õ<{¾wÿnðÊjlýÂK×¾¨eºvK÷õLWn)ÕϼûWKmwgÚuÚÒkYªâ1Ï„¦ÇúΞuÎ_œTÛI2M2æ<]w‹™Gú|ݨ]òþÙù¼fµˆä×é9ͧ·d—êúôÌ¥dcâ!º4+OO ]z×ÛF(ê£B½›NG©""a‚ …¢‚Á" +Å;úm§ªŽiZ¼sKb"y +wÇ+H‹UøÊýN!ÚzWŸÍ)7+iósK7Hj.ïý>·å®Ð{Hu»‡dVöª¢ïöŽjÕ™ÿ«ðT¬ÿÞuߟ¤63ï‰jZÌ´-f¢*-æ©ênÒ"¦)Ë/5ýº7¨ZXlV®‹ƒXªÖhñ‡äÉS<2ZD,_k·î]¼¥åö»wñwÞ©tKÍ­¤1,EZºøõž)ÞõÏæŸ—vIUsw·U”?´EåQ&åU 'Ñ’ë6–‰·‡äILEÊã"MbY‹”fi“çÂBL/èJÙ + «[ÅÛI+>¥žMõ¹—XJXêzéaâWÏÊÉoÍ£³’Xú±©º¬¤–Ñð6é +]ø:ºùšN†{y3BÃ[——ά ov7·gk†/έ÷SUÔÍðöze†·.ö¢±ºõm~]Ÿ[¬\—ÂÄ3\ãW‡îÊ$ÄcÜB$|¥éà=®âµ­ß•jF© +V’¢é=sm¶rL‡jÉEU¾¦šG¦*þìi"]éÕTÑæhqÈUti?MRÑ`ÑRi•#«=ªb,¨£TVðž¯_—쇇.®Íý*¶{MoÝkuGUÖªºûÚu¨êå»Sͫܭ¾£*MßÖÜ +ªm±ÿ΃VÕ;«òõªtߪúéí)Ýa¢5uIéÎjöJ¢•ÒýðrΊʨt§4œ³*Ì!,Gº™Æ+>´®QaAR̪)WÙ˻۔îf¦§ ÍK)Õ¨©ëu¢²Õ|ö°@+<[¹ßîžw*#"C:½úÞ™ÞIwã*]º»±l­®q©ê)ý¦Lß×4®[ña)޹Ίê’ÇVr÷hÕã”'‘&Ù³U,k-¯FFšx?ºì*ºÞ©n^ç\ºŠs®rzrªÙ«ÕYái¡>ѨjGûÛ_mÎ/•»¸—˜ißßÏfo´ÛËF«rfcßR”jãïy\ı¢dÅìkã5ÏTÇJ.bÍÄ,“Þ”ð¾J§ÂÛºè!NºàÙÞËSÕ‡ˆÊyÇ¥ÖL‰'µ¯¤­h¦sEI•oòç[IúyúôHiHMƒE‘>W®¹šåDuÑb&âu 'õJ¥±®»;WëÙ4+çKZš¬,ëLŠ—¶½5ÔºÃ'R–Ñ>S=Ѽ5eE]õÄ!µm"ÞK7¨{9w¹¥×á: ÕÅÌ9u%é—‰¿£+~)?«¶ê]ëêÂC5Ma9¼ºd}ÇXŠHóð§¨:Ƽ›ëì•ÅÓ.ýð¶ß¬ZéöpÕ%17ô­ æ%Þžrknié +}çü +^ª®ÕÞY­ÖüJUήç·ë_Ñ¢[áîì•[RܹûÐm™piʶºN+†¥j¼ïñ•³ÕûËÙÞHi6Úíej•y‡´5ˆÅöNÄçjªk¯¶hª†–XJX¼¹–Xê;ú_Z8¥„öaQª¼ÄçM)é–#^âéiSjÊr?5­¼aíùjµÊ¶­ÒûÑZ±+ÛsˆvîÊóêô–Êón™8¶ƒÔ̿ʚgÌ‚ôÌ»aÚ3í²­ÌûYk|ªÇºSq2Ë-ól,zK‰w\²A¢Ù+æ*ÄCWKÓ¼«ë +ÉÔë³=ëµv͆fö²Ö7uQ‰ìÖ[³3Zë|f§+Ž¥™¯§;³£UÑÝôåñìfz‘–õ˜¥ce§ýô;eó­G¯•F¯Š^ZÚÔX7%Ë554=&yq륾ª½s­–ù4p‹NG¦ej§R²Í¾v)áâ¡í*ÍÒìµ&âÝ©J¯K䬧Ù/1]¥e¥f·D›Ê*{[ËŠ‹6†uӽʵçÖ§®Ê&ÑM÷ˆyz_YÚíç1Ö™žúÐîc~Óôôn Íÿ^uí¹[éjh;ˆ…vUë VÙZC³¥V1RÝgµûJõæU;YzòêtÓn”‹Ö|IÃT´_iÍ­ïË0Ï*=÷bXš¨³¸Fs/÷ù†f³3ÏŽv9‹E;öb­çÙbÙKÚ/7çWۨçVEsZÔ7úíeôÄEÿv­ÛQ«Ú¤µC½Úw33 ûÄQ«£¡Ú¯ktsµqìåU?çØjK½F‹Æ[Ì”ÊîgÞ¹ª-;Ù?X:¦åvôº¬*Y—cúº›ðƒ…·Í»Ý_Þôu/5¬1-‡Hd÷*ç`i©ÃÁ¢-Gg»;–ÝPÑ fÎ]öÁ—UWÚ}K=Võ½Û­©«qçl*/Ý.mêålx›j›C>Å©U¯æ.sÈ¥‹u‰6þ©y_²ÖK-&¹ÊiM‰ð~ºYxÎÓ×îY¦Ú‰rªÊˆl'Éu¬=uá‹qm“LXdf{>º%å—¦Hg_N³ôcúì Þé­æ7U±òÞêÞߢ*fGzšZ7?º©‘¹Ò¼¥äò[Êߤ«˜}Z”ªXW>ºFŸI3•æ”Æ3›jMÓxÝ×øôÕל0m•—w«º4ª¡ú[it‰·U˜èýw'¿ù]ôj«ôykÙð9zd=MÊS³~ó…s¢²žò³K^!¦*)q“œJz×é ®a½”ôôÜAï‘’Þj?hÌÜ[­IúDŽ%fZS÷Œ®˜¤7BOzŒªØï–ô&ß OzG³Ó/ý>Õœ©Šj‹ÖD£®rš§63Ë\ì¾/2ͼ÷éLõ=Ëvsl–j¹ˆši³ú~\Íü©ÞØH}„Þ´±‘úž•:d›.õ½î9du¸™6«ïäÅ!«²fÛª—ꪊŸgÍë¡ZÝ­îÙº¤ÓüËYwµy´ÔÍî§UsE~Þ¸¥µ‡v_«½k¨ì®W7XUl¶š5bÝ×F« +ê¢9ÑwzÙØë™ÖZºZÍY•Ú2ÓÕ¯´%µ\6j>\{¯l†YzšUÖDˆIwûŸ´Ú=MÝ"ÓýŠ|¥öé)Ñ}Í5juªYGtW:µ*£æÑݧµ*Hvºiå‚÷í•Ï¡³‹Iok[¶¿óýHulUò†è²KšªnÏ<];“6çšw<#j¾ +ó®/-ÒÚ]´öÅWZ.!ÝÑÚÉ|®ëiÞÌt¶´È0Õ~šWÔ¼²;æà• 5oUG:xULK)ÕnÞO^ÙóZk㻩é•Úe7äÚ<ª»Åò™–O¶a™Ðt·VV³ý$òž­J—¬L.³“ïf¿Ûÿÿ½»2»ºéókÙQ)iyóôd£ÄÊ»®ê¥ï5Jv)Ö’—жRSSÉI·x¶?'éíZm/žÙõÿÿœ~·“1ïŒÎEv"*ž¡oš4ggÞ‰íÍ_ý¤'õ™‹ì+$›ÖQs·ÈÊtìM]½ÚÂÛ;5Yÿ#êŸÏÿþyohIɹ8Š©¨h¨8ŠXùÌËLEÍÏ!žæ*"Î!êÍááÑ æPfî *îo¯ðzúSÌ[jYÙ”:K¯cI–g©c™T9'ÚÔ¤ñb¡*j&õÈ“zOjê^jªUiVko½îMÝög¯§Dè£ÇdT_‘Q}‹©Vû~ý'ÿ¯©‘K§[>´>m3ª´–}£†Î+«sM¦I{K¸KI›¾¥uQ•0oof‘ŠœŠ˜º«ehEèS+ºÛa–/s5®3}V#»âùéÛ³–]•F£‰¼†S·Å—Î}Qícä«<ª—TÉ4É‹…I^´Ù©Éw©íOÇÅ5þs[›;·×Û¥9æäæÉÆkº‰5¥TnzfÅqþ•ãÄEÓ­3W툥:Nç8+7ÕSYꬩÌ[OeÒh¦®NæYºHII­ùÓX­çÃÌ4UCÚ­¡¥5— ­ÑO'Õz:¦¨«;ºß¥ÁMÕý\^^â®çr‘h.ŒæRŸÌÇtolIQ1•lêF‡U75òÝÕÒ§¥S×ñrí)ò‘þö)2^fw­úÒIòÙ¤X¥äRZª#òÚP ÑôDç?KBŸåñ§³kª4O™Õë­ÚÄò1É—uþ~ }M²]FGΧ«æÐä<Þ<‡¶ôÉyhÉg¸¦†Ï$3"]ž•v[šß²k^6Í“»W§”»5VÖ<^QoÒVÕ"ÜRUµ_h»®Înµhj§¨>amZ˾TÒº£Þˆ'ËÝzÚ{ˆçC×lʹTz©Vz\{Ÿ•«Fú=¬QûµäW)•óc_³;^Ž=Ç~»Ü±Ÿ~wiL¾#ª2âéK ?»û©-Û[[?ÿ™¾Èw§'§ÇäçÒìñ˜üà¿Á߱̈kµ=h›ŸUÖ;ò—žJ×+5=­k?«œõ4¤qÙu‡;·×^kxב~óùÕ£¹í}}³Ê÷&–-“|ûÙ2uC¼Üòi~‹LóeM̼-Ú”Ù”ÌtË0GÍT‡™fS×éNâ'Ík5¦šm˜?óÚ¾0ïL5o¢þÒ|X©—7ï³fç‰l¥SJD;À9šwu ëVGoê|7¯™™•••mÍÚÐå¨ÙÒS†…¥h¬¥Áº,C–§ì–7g¥ô13¤OÙ}´ÖÖæH.Ò¡bZDuµ÷!“-mçU[C…¨F;©FCU4tÑÕQÞÝ«ÊõãkR]ú¹‡Šêh¨tžg74{—‰C•Cª–CdR\ºô% 9']“6Y8he“–f¯õé¼v^øWÑ‘UnÖÔÙf³h:¾£Wù¼ßk mç°Ô9‡‡”sHHˆˆˆˆx”6ˆiUƒhÄÂ=RÚ+ÄüÞNa!VáþôN=xûýÑèMa~Q ?ˆ‰YëItPv¬)S»Ë4ޝPqè‡nè6KwèœÿÐ]¥¢Ó¨ö9u.Îá¢_6‹ˆèÄY\,Ä9ZîÍ%jš]Ÿ”Kh:zý÷—E³ÇÂüuêx“k·M]½£wÕ¦‰|"ßKxJ¤W4&ëªíí‘èˆÒÈ>÷Ûá|‹tþ“i’­¹¥J¾Qº-½íªu_Y–ZâÕì-ïsÛÉÝÔ¿ìí:~Úw|×>¾Þ¿Sÿ–ܹÎéÙjVsçú½¹êÍ5æJs%U4SKD×ÍáaÕ> ½µƒ¨øšEŸ'ÑXGÏ^ÕØÙØÝµYæÚÉZµN–ås²&P Å‚ +Ê9ðЀ,,"ÑàÁ#bá‘Áã $ `qªIiö~=î–ñu«Ž]äÅØm‹ñ” +uEˆZ[ÎjÑðtù¥4´õ¹2õ¦Ör†[[L›hhkÛ‚OUn.¯¨º-+­ðUŠE¶2ÄÒÁ¬\ßâÐ×Ivˆ©>[VM-¼®«~Æã]VóvRþ¾z+þN·ñ<û•¿q·ÿÖÿÓ#åo¤#þÔî²h¦ÉŒ‰–—NÛé W鎘u4æ•aÖÓþòeÁ#³#%’Ó0Ë­ÔNiTÛ’™v”“èvð=³[ÊÒRt;ÅÒ¥ùaéÒÉÒ¬fï>_–6·Ñ2O_[ÍV±¢Óê'ÌסgíLSI?®§ë¶ÐÌX¥š«'o•ž²JO‹V¥'™ôè­‚yu-3ç锕Êombylu;$MÅS¤ôŽ I¿´j£¤´e’¦]S–få»—¤ÞM+Ú#õ4YŸ´ò´›ÔL­\‘ppÌjxéÅ*óêËV,³¬…j4zÞej.ÅL¤Ì›)ZŠ2¿HõÓ0ÏÎ,ñ˜·Y˜wyduÛ¼K:U³D-=,™gÌEŸŠp_™çÄbE{ež±ÉxÎ'®®•Ý—z{V”ж\+´q-Õq‰lnånZý3õ8N[Y´úxÊÛ]×J^}hV´ìSœÃ¬»ò·¨²–V°¨|§˜™y¿ÊÊ™ê>qHLФ.+ju³U’l÷¸hÆ$Ä«.þò×ÏYêLU9%Ã%Ä©­CÚ*¥Dv„i3̳ÃëZ‡¶ªXÚ!휥wJiªnñÒߣ]îNòæMñZé‚.Y•¶Š.æ-¿Z“Φåà)^3w5-§L”¨eqU±ÑVzÎBº ü«hž½Ãº/ ɇzuùÒÂñÕ¥©ìÏÔêòœ·T—>×Ò-ë¬ã´¼s™N•45³Ä3M£¬¼Íhöü«Ü»IzeÞÜYo—t&3殥Î>ÚØ¢ Z¥¤­E4'.Ò !µô1¿·RivLsÙ-¦KÍ´©Ë-ŽÙ¢{ž»à®i¦m*ËŠS‘öŽF¬k^/?Y>DL½Å۸״²Š¦,Ú,ï`¹mý‚¿ÄÍŸæ¤Ýæ«LMú,$D[µÚ.³.žƒE¯OI³rŸ·O—›˜hZT¸‡~žêÞ0]x*ß©±2­e_U9Õ–õyͱÄ:-#?}†XdõÑnd=ÒåÜÑ-Éz®4ÏNÛ·<§ÏV§é²[Ù}—’šÙŽ‘ÕèÐNs¦—UKöY×Ö+o.2é׎¬†4o§\µò’˧–y»ÒíìR ùòYu»ºŠy»3wÖªvîÍÛ®¦é ï9úlxsÊ<ûžéÅèÒt¹Fwó~Ð +×ÌÉeïªÖNk8wejGǰþ‚«÷Qž]¡y mîåŒf÷¾0¨ ¨ÔŽ,e¢¢Æ!…RD£s  8 Ä¢Qáœj~²”BlN¨Y”ÔBÆCÒ å8S?'¦„Ó\]Uc¸ç»êê_²Á«ýƒÀæÇëWÌéõ¼Œqʦ bŒ@,Ùѵý a̸«>®>#Œ—4cÜ2FL¯³@³€H?íÒ”B'Œseaü&Ä!`¬Æ¡ç Ô-¾XyΘ†¸s±ÿÁ +q-ž‹7»}kÌÅ}“ä¦|¬½ôÎÅ—WΛŒ¹øn6p¸7çbü½os.NÜlnhF|çboOCóÅswkÏhäí–¤:䋯±zÚPì‹wL±Cm:]t¯\̦ì²/ÖN_Z¢l´I_ŒÉöŽ•‘¾Xçcðõ¨>-Ü·Ã,Kp_lVTY¿ø%áØá¿ þ¸Ãá/<Šð-7ÿbÿ*´¤¬ïÒe©+¦ +h>ôAØñí-øÂ*³]<|C"(þb?Óf †ØcWGŒ¡ë£gè/Óø6&xbœ¸LeéÊÆ „ìûÅ«z…Ò0¬RUÅëÄÝ‹‰ƒD‘¤´lðþr5 |*žŠ¦õ‹ÏLˆXw$â0k‘®£)F%eÆQË«ˆÆL89ÿVc*jÃÚøw?†|c—7N=p(à8Ö„V½ÁÓÇe~GßÏ,#`ëô¢ÂôG#þC®è:ß8(›ÞÌD}c"èNñ@ã,¢@[ ßQ†4e„xÃYÅiÎà«xu(1š6^WWk®Ï·âœkÔ†¹s¢"hãd“E‰ìWã,$· ®Æ°¤#C ®Æ×^ÐãÙ´£UíL[=×-êTã>(>ßzÒ] &ט±ÉïÅq>®!Î9î4yðµ"¸Ï9n¶¹Êë8ì\û-çŸÒãŸúù89²Y34Vµ/å.rYа»%Û ·-d0Ç kÐ*°Qä¡BZá;ru¯»L½°;»ŽLõ¨9’IǶO$©K²0¾eª„åiD—.Ù¬3f2qoÎÚ›Òm?xò!P&+ÊÖ:*¥,Wý2ˆ™ÊuîUF¿•óÍÚ–³zá̠ܵfBû–ãŒåZtÙ”utë€Ó>¿ê›[ÝÖÖ…˜mK¤Õ¿0/µ‚’s ¡˜‰m8«cÎäÉ ŸÈÝõ¾ÌáQ·‡3W4{~‡Y¾ ï”æxã‰S³ÑkvUnw6¿Ž¢Ê%iwb˽ÏFôf&ÎÐ{¡ì‡Æ8eœWAÝÔVålóœ‹çœìŒ¦ØóÐ .çÁ(c6â©ð,ßþëåYZ +ʧ`Šz†–ÅÆg÷lsW£ý|v_ÓÁÏßü9{ƒVèÝ‘Õζ·ÃQÞÑ2,eùd5+`Õnr0ŒQâjúçÏ:b–SàLjàç{ÌåÏÃW£kÆÌŸ™ýÚ´”5;Uð³ê3QüA~cmøÈÐöŇ<:µÜªhAëþ¥Î+è\Ç5B*hûØ3Ðë$Ù—¡  Ï+šèU&€"¤]÷±/FA»˜2JAw–3‘l‹²¬)î¥{n†H)(/à„Ä mf€¼ WÆ!ÆŽìf ¤V4RZWã§M4È«@3Ä'[…b{° ±éû„™»ióƒÆPXvXx¥ÅR¦¦XÃhºòÔuз3ûqàe<è‰<·ì=hµ3#ÎÜÃ1][—'tï7TxB«m¦ +}tÅ*ß0D\¥£Ðü’mÆdÐzNè^ê4ÕsNh»[f>xÍao3z+ R't-ZõÀv5Mh¬´ ]ð¼P9e D±ý¢d «'¡™MGÏÓ#俨lµà›Å!¡å;Ò¦Ð8÷}¨öÅl.. ýè%çs_ßÐ6þ#<-4 P2ÔÙa-VÁ·¡OGBÃê‰ m—‡QdÃær>;v“»/ËaÛî¸ãu•š@74²Pý€hBÈm× xzC§¥åE—ºk톆×Wˆ»ï¢šÉu- ˆî<‰F¹Ó—¢íp\¶èáæNFW2†Ï6Z„˜¸ÙÑú}+û£'[ï„HS(í’²ê?I»ó‘&IQzjDQM…JÏ{IOúÒáñ2{L¿CÓ8>ÕͲéfÞÏqzAbëô-uGO¬~º†AÝ?\E衦@fF} ©·îŒðÍÞMa¤2µ¦|ÒN]­Ã =˜mªŽ(.#SÍVÕ+ ÌIW-ŸJÌêÖ@ßêîÒ¼kÎ=ÖcW¬ýçdÂŽ³n[GÈå +ùå@eCš?h¥\ëÌäämMý“&´Á¿5w´`A®ÛçÔÈ‹®‘´ë†Çµ‚7^Ó§{}úÌÓõu,» +Ñ`t…™ì±ˆž†°…vŸÏ¥êŽÚ(‰Ø$ KÛL ô ›·Ý]4v#ªK™M÷Ù7 AÙ£ðÑvs£Z¦ ±¢ ì ¤aôpP$X³I{"éìÉ1v}ŸÝDÅfhC,ô£=1"˜öj/¤à kvNÕöþ¤¨V~mßK^›Šˆí©ZÛ§dËj !'ݶéæ=å§Qµ¶íR’Û©Áw¹Ýv$ÐáÂ=êI÷×®X´>°5—Ân·¬4” g v[¹{zCÖøÂ’øÉr¾e·½û'tÓÛ¿L·éíêu0UôGM‘yû{F åѰ1o§pžC” ò¶{݃æÅ€V¼ Ú=,Ô3Ò·‰¨,ù,:Bro¸&`Vôíä@´7ßn £ª§&Y®ÚéÛ/e©(@ÿÞž3Ñ^+ûÄÛ»wZàú¸œ¤>¼ç^Hjð¶@‚· Ëì5` +xÛâÛ¯ú;ßÔMúÔÍÜ-’׊oW±ó!3ÂÛñHÄdùÚo×§–‚·aÜ:».õ,@ñ¶Û H½DñÇ‘"ÞÖ3×!}bo˜5zHÇ۪РþJ ÇÛº ,·ŸÁ¦òö-7…Òm´9 ÒíöD‚žÞCôK·kÎ~0Ý– +_Lº­Uï éö¡)nÏÖ,pûÞ?P‚}òà6²gÁZxÓí"<Ë…dE¦Û(H;‰$V·U×D‚·ñ5+Ð'H­3ܾ䪠Á·ªX8~ÛpNùÅÖ¶ÿ:ƒ+k;«ÂàXs@kûÖ‚„&kûÐÛínYWrï2Ö6ú%üC›¼Ö6Ø1`9=¹~å—ЇÖö9_5-ªÙÞ/Æ.@Bâb“´ŸbÛ¤ nKì皎´çlË—k‡l¡)Q¶{.ÂC9Û[VÏ\Œbmší»D€ÃÕfÛ˜j†îÍ3[KIr/³1^µ©íGn…P¿Ä 0ۘ˅“e€òÁló?ønF;™m)ÈIü‰t^K.Ìvàrÿ«Ê°TC’óD™a{cË1³Ý7ƒž£Ú®¡ÝvNŸ¶3·=©—0ònwæÞžòùŠß."JeŠ÷Ñ»}&ªCÄö…¤|·÷Ý8C½}önwJoÔÙ{p7§c,k$Ü<¤¸ó¤{WÛq››L´TD O<¹Ç9ɦaî~ÅD­œ›¾ý{‰ÐÝ’páÊÆB·êøÈØÞÜð t“D\¿Kw5 ŽEu_F€áºk‰¹D¥ìŽÊ‘q·»O¡H Þ}6dƒwçñ颢™ôt¼»–ÎAÐö(Þî7ì8=Óe½»W¼¸ÝeºE‰w7ÿ+õâ÷Ñ2ÚÝEsi˳Ý-üò`ûnw÷¹A¸H¤aéøîžB¡Ø¼Opw³R¼u¯qwï&ë Z›ä»ûÝjF(¹»ëሆÛÝSZl¾9˜qwûZ¦whÅÔÝxÛð^Ȇ’7nÃöæ(ðT5X à‘ø©Q&à½Ôéˆô•:.ˆß(€wœð7lìùðÈŠÓàïNnUYRôñwKe”Ó/²cýÝL•ìæDùß½«ZF¼ôò¤”‰"Þ¡ä ùÕ›x£q'†wcÊaJh »áÝ3£ÔÉï_:ÄÃQ*©œÇ<¼ý2Ï‘[4jï"Ím#è§Þ¶b¹àpy×àÑË·XuŠœwKtð'ƒŽ2ä]û:ÃCÞYOÔääÝkýÏCÞøÊ®¬âwiþ-Õb<o@ œøÝš<ö'¿[Ȫ¨ëyxÏdWi¡ªcLä}Á@6¾Ô= oýC4mÌ; MUM¡7éTV½ÑdžJõÖŒï´7l¦îÞÛÂ8ýúÚ®¹Æ÷Í’/>ßwÔ1€}ÿçWGF4<²‡ß#¦ú½±«ÕÓ'ä)#ÿÈvØøÊ:ÀÀ€oÐö~ß–vàµ5LpwSʽûU<Í ¼CFÂÉ…»âØHt*Æpöõa­ÌZ‹ß œ½õá-=áâ8ZßÕC€²ho‰G Ð~zO¦xg"6±C´Áà/] 20.-Éx=¨¯‘Æ‡ØÆ™¨ì‚'§G.;Þhiyr¯µ».ÇG[1i>^RÈa@>Lw¯òI‡4"½½ÐyæFõÞx·%WøFÖä‡#>ù 9=Êã~ÙÚXWÙ¬| 3ñiÉ/tÆS-—„Åäò{†ÝôòEÁ¼×SðŒ×¾<¹Èu“¢ZgþÔøª’^§Û4›‡9þ-7GóH=H8\ÎC&Z¿R罋žòŽÏyçUWèÜyžŠÏãÊuó~®&ÎPôõ´AïØú‹z<µ rºå—otôð ÔBzÁ³‚©úbGÏôÍ2‘zÙ“Ç„LÐ.Ñ›ŽŠ‹Q<=}5b£Üª~;¯¨ËNBZ”:zˆ§¾G¡ÞúTïB_zóªÿ6®¾ïÒÖºÍb²~U¤ušÌ⬥¦“\ß^ ÏÛõvX÷Ç^wþ¯dnAØOÄÞé·–Æ~„h’od_‡ËÞ-ÈW”Q5©dKÚ…?~©=YcÐäÚ; ŽR¶£GÝ$n{zŠEõk1—J…k ¸û)â~ˆÜë¥|ú0C²O0º7ÓÊǬûmü¼FŸ[8ïάˆÇ9Þ}VZceòà“OöÃç‰ïæ°[Æxvp@Ü;#Øäþ}߀gÚ$ßPwâs>¸†¼&:4ö#_ŒÛ.1yT·,PþÊ“>Y>³.‡vùÛfy ó%3ßré~5Ÿ½ùæTÝ;çݹmb ž÷dñ/‚fÔû›@o]šÈ™[ÙT\Š>é&‹)hÜÚŽ> +`9Ý& X³’]0½”Ów…”êÁâu?\êI-„‰ˆœêßÄ×åêe}_|-·~ +€å¹õcÑÀ`‰(¼©»¾!`¿.Ü’Øk®ò’½Š;ÇÖìmwuí[å-ŒumÿäÕ·OÀÿþq?tì#t¡Ù}§Åû´½¯õöýÇý÷Ô&‚?§°™Ú«n¸€ð/I†Ï †µlm<‚Œ—oÒ |pJ¿¼aË]!üõ\®Ce뤔¸¦2üoÄâÛÆÊ.å Âÿ¡C?E ȧ›V)FÍ3æAGôhOãþ§ÔqL¶¦ø´?0ÇÞ‚§øÿ±¥ èQü:1Âá 5’úZ +ÊQüÔðü-ÆŸtü¤4ìòÜDE!“Xr—_q3ìÈÂåͯ0¢Í"ÐïëD/é§ò¢7}¶Â’Þ“úÝoõ±Y4Q[ßÒ¯H'1ì™Þ¾´ŽöƒÈS¯ÓË¡U›B*š± Ûxœ†/܇»snÝ o zŸýýòýAø÷1­ +Ì#~‹ƒ…ÆÜþácäÏKúkòí6=#K–p-¨ùs“HÃ}þéá‰=ú×m5ê‡)šg# úÖOO û«I{µý*#‚©$Áî_³Jþ÷×C#>ˆÿ[ÜÉýWvÄ?D—°$²všUÈÿ;–Èü 0ëG1ÿxuPc*K@dèŸxÕ?Œö6û'6ev”&)f¡Ãÿ´fþ»õÿï?µæÖ{|ý“¹uêT8hµL6–µ;ÈgR…À7ÜñH]úfÇ(Ì®Œ”ÛᎠ+J€Ðk +Ù¹Wà?Ðeð@oB e£Ý{לU'ë­ÓÇ«íì™°âÀjaå@hèg æfüG›~çT&ïjžá}0pBÚgÒ1HF[EzÞV©×S&?g jÌ8 +NÔÇ8”çm",\¶eEö²ûDª±«JÛ”>¥–üe‰¥ ¾ÃÎøPº‡Ð°dˆ±Á‘ö´¸‹©öÆtÅÀ‡Ig‰¨˜›4~âQ[—±Ön­Ë†´µCÝNðÀ”…ãøiÖ#^8y!˜nÃ}:ñLö¤5y’ñ Ž441%åYô½h_:²R$¨¾ÁãGܺ&±±HJ'×d{áÈ]‘x‚)Qh%\ lÔ}à*é|0L£' }½ Ôj´»&!§ +_·NÌáè[è¤N鎔¹K”,^@©æAœ}‰Ñ£;‹j.ñ~­Þ$xÕW™—6}œÝ˜½z× +"M¯ßbë€øDÅÞ ù®}D ³7?i½Ì܃HöQÌꔸ5µá[ómègÛ '§Ê‹~iÀy¯¿x%´mHÁö]],ÏšÝ=J ‚MO˲ÝÄNàžÉ›¯ç%Aª¬·©?yŒs¡ Þ*ÀĤl¨}Ê´¼”êoº†D<š”E"xõêÖ)pÄÆÐBɬ¡+ª¾Ýj, L±·Të)vº„JŸ¸Ä$K¯¬à%¯4é¨Ü¿K‡24ÎcÈ›œ­i¿g‘]ö;Ûõö{[É8bHšÒV0Išÿ«3ÈwoêºÙ€JÇU¼ÄÈ„½nj (Їç·e¨!%°‹†Å£WÒKã'C ++«‘¹9ú»:ì7¨ +ö4!p­Q Ü?Œ¦3y‘Å Èg/Û‡D½Öü׸=¬ª“ÛDň9ã‹ ×äè*çMÜVr{/x }„¢¨™€… éþ>Ö†÷ÝK‰áGª¦$%.¶´d°Fà ÞLZùÀÎ o{·±o‰ï·Gü‘ c¯ß”wKÐDØ%OT€v.ˆYöã_DDš É)¹‡X˜ÙÈTçóHQ©x}òš»h¥ºÙúŠa7‰2˜JñÆÁ+’T®9ŽÂ¦k’@ÈEá’?… P”ö­ZuSQùÿ›Óݨóx!X(í°G”´)(üˆ"¨iP}_%4V’iøGÑËoSÜv¡$M«ŽÍ ]kÕÄè€oœÐæS2VËðߢ”RÖ?p`S.@ôm2œåÚBD#›ãK Að()‡‹°aºùñ¬ÖANÞ‰s„tŸCíà@ß%¥šý†eÂÏš'ÿ‰·Á/¬À] (8—{÷æÜ¯ûß"°¨‡`¡ðŽ ½ìhu-:NY:ÿ:+0ˆ>¬ª·ù–4.ü¬ ¢Û™§WÖ.ÒTe1¢9æa©Ú~‰^B¹êkxj*¹×rž¢õ׋푆Šíë¸àPCZn¶âãØgB#_´|m¦b“æ/Ò©%²ª>hU€$­÷“šÅé'G/Q˜’fí™Ti¾? ÓNS•|àI#MîjdzùuŽlQ ®¹-µU+]¨zç½7ôðñÿÆ[õh'áBZkƒœS­ü">%±±ñþC`(U¤Ô£…Ë*/éh¿sPÄ\v*_jpÔ˜¦:TÚ(¹Èft%]uîy`±8‰™][ ZdÝÅÒD¸Áõ¦¤,X(¼XìòЇ±óEÁ„Ñ9!F¿ÊèÃG¶×Ž ­ô`*MõôÉyëðâ™`‰-ËwÙ£^¯éEa\—[x¦VR*‚msÞƒ{¨†ïJ¼\âW·KÝ ›Âûüã*Ú+- Á¿kò€9m'Ž{µqødj°*»ˆŸ—ñ‰ãž)pq½¡6²& ÈcüÝQêñs<oªV!EÇ ð–ö +~"ã!Á•íO ¢ÂkÀ*rÌ3ÆÅ~ð{Z\æCqöÒƒœï]B``¥´Ø]ª¢?[¢·«e]è:ÎU“6µûë;>Ýæ¿ykÁut¦SiÊù&S'þ³›˜Ö¤ôƒíÞ¨Òbò,òǼÞ3RzxÏܬ¿·˜Å÷ªónº·ˆÄÐYé…ÓךäcÌ2µ™@‰^µFÓ‰í)––ø´HcU* ô¬P^QFš£×¤VKC¸UYd0Ó¨Ž·ææ¿ žäXUÂ[¤8Òæù"h¿*³0žÍ]Ç_’í˦wV„-ÂÚP2=í^ +Ht¡T]áƒ.4³~…É<Åú«w…©gàërr'„ËT»A››dÊ,åV­ûÇ›jÃúép3¸ ¹Z 2DÐäxâ%K‡ÒˆŒ(>é<éS`iJtä®r6eÖq¹0™m'Ì`AÁšGè'©X‘ÈÀþ ù56ÂØ$@Ї„£rõnVN¹T»€q>¿;º·"&¬gNeh»ébPaöD™üð‡%DD˜€-Úà! +‰#>éÚI,Q…¨´×§íšö zÏ£=žüO3nªg +Àc8«NÎZo«c<@Wtx·Ëjð2dÁDÂÀA®Â J1Hý0ðîÊŠ(Ì/b~T%ª×2¬Š‡— º 8U³‚~Ë$tïÚé׿¡üe³$Yp˜0ƒT;²3(‹£Ôð ƒ–Þbu½ÛÙk©?‹+¾»c(n3ç5M¨l½^–w¬"áyÜL«’’ñÓ"ƒ¹ ÊR9ÙSÌ飒NÉ–$ìÁ•È—„¾³ó1ëHk'Þ´+VóoN«ökÂŒ95‹§;lLýѧw½¿D“hQ6Ö«öæ‡õ+5¨”A h%RE†2…Q(UÅ•xèp€fh¨‡ã^1æ>ç<(åê©LE©cë É^–à+-SW€S±f†—†Ø»ÑN´2syŒê-‰œRÑÙß¼D_rAý·É]ÜìT¦Ì Ó¾ 9ÐõbŽ€žQótMÍÄ7f:熼oçÑš+-ýZt±½@äÉV«s`Ø;å6®L|ˆJªîà 1/8&4Qü!| (r±=øÂî{’{fµ=ù¬ÚVE•Kv:Z¡&Ÿ+AK‰"&&'±Ä¹½×оÌmÜEЬàI-²â‘6 æ]¡¿亾êºÚ ¬®À…HJ¿×DÆ©&Š™ë=¥d|.Oe•Ö‡%À‡ø`­x¼à™Cú=mÑæÏ¡ + +l²õu\t•”!tNVWbÍò3˜$j´Ô4³÷$ߣ6k!(ç.W€LÆ«˜ûYÞÝò:¾$žH˜ltø…E¸ÓÞbŒ‘’ÿvjS%‹ï´îçÅŽlX븛Ø×êÜ{ÈoÅÑ ‡iI +È£€÷fkö”X=ÇuG2Š l[B«Úí®uî`QRpk”ÑÉHc‡É™GÚÆOo|¡À*7½8Â*mB¥ŽM'E*—Aû-ZÅ89'$~U˜»Ãž< +TvÖ¹ÂÜcdlM‘ç)Ú©G¨шÜñRì2+Ërt$©"Bh(i°‹Ý+b<ˆ?“eFc(7† ¦Q·l¢ï”÷6Ûpxp¿Œ³³Ý,”UÄU8p¥ñ•›"çcDÔH e¤>Ó·õ=чE>àhuLðCºÂ¸ÝµÜJ ªö–)UüV» +¢ÇH‘ý â±Þgüüɦ&³Ó]S+³G-€•ãÔó] ÂE5Ï’ØŒ;OVWo@Q3©‘½t†ÉéŠéi–wX„öð·G +2ÇN…áHMR4 {â^{E¥ÛåR§ 팙×B±a/žà Ú"'>˜n¬Â#•Ü›(ïÐ߯‹¹/xm)ý“äE8åpøU§‡Üh£üßÒ8ˆQÒ|™Øt¼2r}s¯Å(‹ßQ(AÚ¡É+|„‹a% ¼šòJpJhñYS¢‚æ¨Â“p]:›}z¢w¥‚rôÖ€¬$v-ÃJ¶Û&‚È%¹Žã¸si«yï±pI$©Pœ¥(w‚¬ap=ëU{nÅ&ü¿°3e~ÇÞ›ôwºZGÕýMéQ_‡¥¦WLY¬þ36èúãxÀ]Fqì°e]„¹¢`¢‘S÷n埚˜ÁkkZjÂͨguMŸ£¸îCðjÏ Ï>ƒ%áÏæïqzÞl:t²¾¨1HRsó€g8[..3œb7T¬á "*ßLuB¯Ï"˜"{Hk¢oc«Y(SMBƒï3„ãÕv]@ÒÏüÎ&ÝFíUÜ?˜ïǬëÛ‰ø•ÑV5l‰$zÙu¼G³:Æ ~¦€*Ç´¦0Q-% S?F6XÔ<îÎM™æý3FÀ\æR0'Æ•Zi_;zm!fC—fAýÅé—ÀY<“£ÔøìÊ©³†Š™gmYàX]®Á^eêâh¿ âÀgÔàŽ’ÃáøåxTMà·Í1i]töî‘tm µZçSuPtòã´=`cn"`€^Âç®Á5ü‹´X.Zрঠõ-9Ž¡2ÉîH:}BvvÔmIE,|°åË9ãÿØ·¹¸s02#2b°sž©ؤ¯ÀXgX·:´4ñ›©ÿ4pJÚͬïΡ»F ò8¸T­ŒÈz6)Ò¢nNA1ˆ“àÖè;Hy Ži@0ä@úÖ‘ÃTWÝ{÷ÀÐ÷çÃÞGq«H!ÊU£­"鬰·8õˆ4u•\åˆ7´¸z°÷ugì²5²s9jJAÚr%ø•Ï„]MñÏ üÌÍ)ñ˜û¹|rŸ€Ç,€Oª¤À hp’2Ñ=Kªr›¦Ÿá.DÐãÇÊ›³•eZ†-‹ÕÄdÜ÷ÁB_ƒ¦oHü4øçÞ˜ñW,ÿXA8[=P2­þ"|ÍZä¡Î¦‡Œàr¡›!/×0&²2¨çŸf¸ðY؃ZÖ;ej3<ÉKr +€¥}šN¢é:_†/è½–lÒƒDZôͰÔòrÊãº+V]ÕóòsB5 ¼ZÍÌ3nP„)9™Œ:#œêú·3Íq1À¬põ ½³½æËVe#¤)£†sÝaÜÚÅ9íöÓ4N‹%k½>U}A`<½6~$¢ÔóA *GÓ¥>Cœ”kT‹R‘C•¤e³¶{kT™¢-!B¯YYYï/”¨ÕÈ0†ýøõ5™çœ0ÀläføÌQŽHµ+g%ßï7Ðà¸n`dèþØcT¼ì\êhN2¢AÃÍ<ðS_±¨nôWùç+þi‘<ñEá˜MÚØ²'KÖhTÖõ"^1´.yOÛ$ÂêÌÌ–“Ø]QWŒCb¿lš“mOî[÷€ 0,KyšÄ±f(§áŸZÕ¾7>ÙŠkº9#+Rá,‹n m$'„QûZ¹gŸnÜ<ë‚ìCª,gñ+šK°õÝ1±&¯÷ó×Ã…^ЧR>‡/ź/Æ÷s\Å"àɨNe8ƒþ`*÷Ǭ.ßg¦L=yàoa++*` ôškZ×E.¶úûå`K @ÚëÁO‡DnX¯:Ç;×»F¹GíqÑð°|¯*§¦7ûý BA“´Ú…™Tkߌ³ò~ÔYÅe@:ÔÍ+øUt@a?Ãq¥Ôqô `“¿%òþØ8WÁš¶Qz>w&7öôÖÝ©¬i˜|u–oÅÈMD’­ +j2ÌÄà ÁÀ[hPP^y&ERgJŠc3 ÷Çk-Ö’ºqa”7ºhªx‡¼‘”èUì;ä§ÂD Í_¤l"•)³ñR-­”&n?µò!ùEñ“œÕÅü÷žúåpP U”zô–io† |Í@<¹VÂÄ}l\Œ%KÞÞŠsê}‚…§³ Ðn`­íh]CVÂ/™ úðD•ömÝý¿&¥ËÖ*NØòSj‚KÀúõÏúm_yQ?Mýßf•õÆjM¹£^`¦'/—Jzâ\…XÃ6$F¢gjéy¥eïW®hùÒƒa’›«}ϲÎm#«D¸K«OÄ7¬)e£&¡S}ÎA Äõï¶¹-f]oŒj8^Y‹îSâFEjùukïÊŸŒ 0î¶ ³=)ô”;Ÿ¶’¨Îu5­(ù¶ž«¶í”î\hÆ×ïæÑoþØ…ë€N[Ü¡C¬àKñ„™R®PRÃ5NB{ã»?‰òŸ\¡sÝ”» ûzBÝq:ŸûŒ'Š‚¬@×rž¯z01^]?M[vm€ó's5”^æM`øQB‚ùo)qè¤Áãyš +¼Ò†Á¦M$§tžI8,y¹ùöÚgàLá˜95‚áÚ=ü‹0ã‡]ás9ÆY£Ð“ ]™½¾SFr^í‘Èf«PUø'‹Ùÿ^sÝ{[µXñÁs¦çr*îÊa¦+€C¶cpÏ~1¥c×KœÓÃBùN®(…?±z«¼,0æû•[ª¬íR߯¿M—u´WY¦¢„–ååëÉ%å‚…ãôÞ?x‘{@ß]À”š¹¯ð8°é߆€³›þo›|•Ê­[}ÝVgrbŒÃWS¿”pHÿáŽ| +%×.È\¸G&W²e¥þóÁê,F6QYV. Ö[•õiªÕV/)ýLÔA2&èLf‰6…Uºrûûw,øQ™`c8&VÃi Žsµ{yèt‹¥rñ<5­šú£Ò`ålçü–"ÂK¶Ö‰zhÜ`¢}AÚ‹™º¹O²vߨLþ¼>?éH¡ ¨¯u…7 ØO¸§Å’ˆ®¥áÊuå:ˆä§%ãs“}Ý&MjÁÐרTVj +‰>Aô'˜èì6%z01"zËxË„§ƒš%c‰ëlr/7® = QX­,‘„xŠÒd6é)ÄQ;½'Á(ËÏ4Ökã']òÎJù#¶Eö¬] f§ÕAå“Ò+ŽC´…Žüâ8z£˜4§¾ðWJ·—±§C]šÇ"Å‘á>£a<Œ1ó‰%MÐ À¹1ÂÖ¥s†Î tü–o龸7ce~(ÿsºìâgtõ&é³ÙTŸzÎA”‘ÙˆŸ +)‹4yD„¡²5É¢˜2ßM±w9k|%+êtÉç6Xe ¥Ñp°µJÞéêÆ0•R>ñQ¦ï="Ë•µ}Þ@q4:ã¤k4 ’ñu(“'CŸ¥À:ÜsA¯Ø%¯Ï‚ ¤i÷«7 ë I͵ö¿/»œG}*i ÚHІ¸Ýß{ël9Ý?(„†ÅÅïä¨ûj¡îó¿ëˆ—>`¶‚ôUÉwã%äÇ-SÛøk+ñän™eš»d÷R*Ë'ï .µ`Í ¯ÖÎ 6xïŒËñ!¡ï[û?\zRnĉÒÐQŒ×ñËR¹x¶|[[À7´@Žû<9œ€ôgSÊ`ݺL_ô¶}ЮBº|ë#ÄW“i9$_@·ûºÅ KòSÔr Ñž0Hp–{ǵSµ—¹˜)³âêÊ©°|%¹˜AI¦Óh›Ýº°sÏ Í S·¢mOXÄÂRÝ@É8sÜ/wƒPZIa…h=KùoÞÑóÆ¿¾éýêfïö³NEœpþqLal 6'þ¨ôôéº"ìax’ @ùÙ+Ïpg^g¾•ö0÷Ú¸nOƒ¢áU¿YƒŠ Õ>Ó¸uä&p ¶‰ÎŒ{³tVrZ'ƒäš&õK”â¡Î¢¨+§Ú ¤âæ!p¤^Ò™ö +f lÜ£¬ãê+•¨¯§9¬Ðω¸¹¤—EÍvÿäÕ¥GkÖñÍJðf»4ŽÍµîC V•è‘s)às»ç”¼Çôðν”çé +¾R@ãÐmŠü´Ì<EÊNˆ§ÇÐï(y`©AJrÕ˜finuñáCtñ¨™àU¯VË8þ ‰`NeÇÙâ”[ˆFÈt—‚4dŠÖzäp kà{q)à +vg)öT¶Ò™ +Í RŒÁV“çò<ÍKSYÆIŠ,ún[Û¬ãà÷fadD!;W#²—5›1k9ÔÊt7¦Ÿ=ILSÎZ5„_,-é1Hh,$.‚bùÓ*Ê…qaDšÎ†ÓP*±á‡¸!hïZ>\kL”7’Xš½ô­‚Æ¿kçŠ<)—Âzhp¦„ò.qú±Å®¡±¼1Óœ¡©èÄJ*óº óÕãê 7zAÛ_!jíí†+ñÓÏœrˆ¥Ìo~–þö 5,$ÏtmdÝiÿÐ#îøÑhÄß?0ñhsƒ?M@¢ÑñÀß&WA5iù¦Uì +ø[JÎhŠÑc„sÎ*è +VÒð½áÞU›Ç¼Œæúf@t=ÈÝž¤q¤†˜k-' –Çí3°*àyi*T43­ÁN5¯tDwøR¹äý½ÃÚVê-›lQm*‹“nà qSâÐÝÀ<—½c+³t¢–1+âUÐÖ‰,€Ò 2}%'. b~PD×d@ã¬bÈ»´‘j«—¼nŸ¸Àþs{{ËécÈ#ºa Ùj=ëZYØ[oºs§2BœC¿,ɠ‰{ç¢bö²‰+#YÔÃ)1I¨-+ÌDˤ3xÆ x½A?y +²¾â3?ü²üèióbÇ^Ðÿ›ãÜÚx–ŒÑ*·BÈóZ€©AWâ¤jÊ*r„q5Ùz*<ÏNš† ³Œ´ X1À /\0­ %g®½½‰I +Õ¡ÊÀ©´>%ŪØÍyqÖ“„ô/ç[ÆwÔãÔáB:¸_whÛX´\!ð¬j‰8Åúpµ—y@?igä%_±ïE@R*É¿0uýK øÓ›¯øȦôO„Î!-qWáo̺Î~1%o*É +,låI‘M”R¨|’{¬„[=Å”I·¦^âP&¿ƒJëì†L”NÊÿÙô­`+^;çv+ =Ú?¾Áڻ앒7*(¯iª«ï´tßôЦÇ!¾ß?™×…©3ðÝå5Ìd”ôQóòiw+Œ ‘&=qéÑòˆåôl¾|¹"“x7†ÞJ +¹Š‰£èà¢Îä¢v˜NùÅ ·Š°î‡ëߦ¤J Y¬ÿ˜ÿØ­vlL EÂð§É”“¸«öIîu’öèh,¼+’æÚŒ9ÕLïþhêÈÜ·%o1x•Î/~ƒ ‰µ¨ûJ‹Ðbp“èwä8S¥¸42ë}¨œ +òIuÃÅÅ„rÔÛ[‘ª|:W7A§˜3«(I&jzÐÐ (ÁŽMì+ÌâhpMÐEÙ„ŸñÀÅâBÌ(6áÁq7û.xv7ÎÖGL Ƭ K¨¹Ö¶É˜.1ûKl´è þ}®:ºŒÞYî¢ v{LGû ±ƒ†!*Iv "¦>cG‚ª‘–ÃHfïmì(— O "îMx3RééŠÅÞâ ’ïxàÖ¼äWóÓ"ÑÝß)B§÷ÄamÙÆjRØ«{8g/•ƒÃ’´³¼:^ìO^š¬ç‚oš8&Wcõ!EwjŠäB¡ˆ$@ÕyÜRË} Gö$Ù`˜‘„¸ š¾Î.3@ÿp€³­ÐÉêì‰Óh¨âºZG¸±CA¤Ñù «HÁ»$àÂb(•饛 ¾ž6'©|”П Â÷8QJ"¶¼ëu€ S¼j}YÍ¿ÚÁ®­‹žIÿRˆÖÐD~¿yeçÒÖYx³3¹HˆÇ?Þ*¹<1…â ­²Ö¯´*<7áqqD\Ê:Ñ‹çi#YvåeÓ ÍÙ‰s¡(BˆÍÔn©ÖHËA®¾ ]ÈÕˆ‚k±Ÿ=kd¾Ô,£j¦ún‰IÜìM‘9Œx€ºɉlå°£×oÌ+zyÑNR‘É@ÚÎi×GïÇ›À˜ç6¿ ¼k¥@'j!„¶b*: ½¨(Rh<èèk*ôøCÄÿÜ}™‘§T6›¶VçTäÏ àî×6‡ÔKpýžOð‘',êäEf&Kòß ‡–Zi”üÜT*DZ±¬!É6iÙÖã’ÖTû¯Ýâ7—r+);rM¤çj÷ËŒãÜιï©ê¹] Jc× +©øGâRít–}ñ8aÈ­ùÕïTåpP§iîçYIô©bù;m8eŸ•#÷žÐw_¨Ä Ú9|=ðë›oØžNIj£Y^«ä•H¬$A`åCÍ“ÞimP1O¸R(ÊMIFíº?ÿöìÚ0RÉ ½®Ï•Þü•bZWL¸ž^ï™> -ŒÈƒ½]˜-³ïu‰Ó•[k)6|¾-ã[€z«„ ,d§³ø +–×Ã?bNñ¢5¨pm^QÒ¨Øyþ qÒ. +_Ðåµ³Aêq )0g©'”­¶C¾×Ü8wÖs[/fæ´>K¸܆’püŸÆæ€¶é[™p‘à Ö¼=BOD¨1±OIú¶R•#™À(fņJ „ˆk”¨[¼“ÞÀIgòÁÑ"0›3ÒVÞ0Ò³|®i¯”G±ÉT¥g TN»:8½fYÊGŠÃØ–é·ÑBĆÜ$^¸íòp#g7I8nv£¼ƒ¯œ×¸ðu@ô¢Cðþ„(H†üE¿3Ø".@ƒ6ë`.b V¶~Yò²ìÌýÆ&Ê¥f,+‘":2Ò ý¦Æg=ᘃ;3‹;å1á–ZÙ©]4Ðàò—È“¿“r™ˆÎsü½ÊBþa„8h£jŸFµ£¨ ,ºÊŒ/tt øô0pbH\¥Í¸´ÊMv80¼’Œ`­´Rå*Öº¯*ý!•ªø)$?4 |ÆÚ1WÁ¶.b®† +ªˆt=ôB"a‡»UOg-Á/š‡Ç<Ãí=çõ +¿Üð¡(6íCU?q)ùDêÕü9=ý4‡ÏŠÜòøVݸ'y_(¼„ì…¦ žuèDª’31¶®·5~|Ö4&®£ü3Ÿ­¸9õÿh½rÌ9Ðd½¼`WTb×>‹Ÿg5F]Ã3 –(ò…g?—É‡Ý …cÁo>Ê–+™_’t—òû‚_qÒ×j`SžU^7«ü|¦¹ÈLìã(ûÉо …ØË×Å#E?&wùMÅj'6´eËK ‘$/e2'‘ @…¬µ/sÒo‹ýx9­Í˜+,¯/šÀ¿4ôt$±êÒ»ÊOú²(å†d,#óReZ+s¾ÀŠì#Áb·>w"#,-:’±™»÷P>yY¢9{Fßu—~ß3À&gÀ‹ÎÕgPQfÅ$åwc•œÎ;$Qµ^(vÜVÚ}œy¢¦,´ÄêÂ8í‰7R]z¦Š*±nÎÄoÖö=L ܶ–C’¼aÔ¿ÚÚø¬-عÂ?ã‘u$_zŸ:Jع´ˆ½šS°0• _^nN»³ž’ ÞΕíä•åƒPaìQš¦SmË5Ö#ú±…ŠPRVp\‘™uŠïúæ Û‰ªèåegÀ(yÍúJâôI “u5ˆ™Ó9Ùtaƒ°ˆ´iïJ¥ð ÌøˆÅ ÓOXè‹Eá«h½Z~é‹Ró,d€öþtÚƒp6 Å3͹8ù`” Š4wØ[nºËfwÎYÏžMˆ©wUÅŽíšÄ'ÔŽæLîi]L³Ï„à‚lw)]²êÒ»Êïú²Ì›KH꽯ئì¶¥×µj÷~(›ÔÅŸÀU¹& õ—Cüef›Û0“ZnÆMâ%ôÀnÌM’t ùn1›’¸,0•ªBAS×d‹¬Á<±+É· õZµ³:‰…\¯eƈ„«¯o×7/gXY߸¾JžÀ‘…h+ÕÛ¸ŽNÊVèL4.)¨«Lÿ´î§í¢pŠAWŸÑŸL£¨[åÃvTsSéUïÏ@¼#fïð;Ñ8»×£¸žˆ(ä-TN™ ˂ӡ ½¤ mÔ³\#±±VÆ_åp$“wÙh½ÓhD«‰Ãè‡x_¸²@A* ˜Á!¨€n”S:8TçÑ¡£rº;‡¥/ŒÀ©{å@O?q ¼jS–T|«ä¼LÖ‹ m~ÛQ.W¾µno „[¥ºW*2Ü·9`}E4væPõóT„DÒOœàÃ_I~'ÆKJu·tΚõämu»LÒ‘ŠU.Äj1È x÷$U…Î.º +î2¶¶IºMƒ;=láYpñ¨ Çq¥¬ÑÙUž*éÏ@3û´Ì©§%µeäÖžÆ6‰7!öQš]%ψìIèÒkñ&ánøØ\°½FoŒ'–«šZ;Õ*׿„¤aÞg±²žÐY‹]3|‚Q=÷4\Uý'v_ìMyf®#{Š;bcõ‡å3è¹ëÊ×ÊâØÇF |‡ß»ØpqÕ5ûôº ã+&åÔjÏú&l€V^ñîò®Dæ¿d‰¥1Ù¢ƒ +ü@BƒþY¿"5Da SÇkK¤Zi$jA& 6ŒÙüG Ì;DPé#5T}¡v1ÞƒNvÁŒýî3@á29Æ»¸eÚ„¤.—Dÿd£ÕãоúŽý`q÷ƒ¡ùyŠv8Tõ+ZÆÕ)o?-”Ðuò¹QÕË¡úãtÁÐͰ6uËŠ­"°çˆUi$ +C¯ÆŠîöµíJ0â*bo‰ã^“û@å]ËL΢7ù†Û÷âÆŒ’rYöeª¬ªJä.()Nf0áçøX‹¿mø:ÿ{ï½þç8õW-iì% ÏÙº³m’ 3G(3ÆYÐÕÞ}s);€0á`æ:ǤÞxuuºþá¿küGœ¿€éÿLÕë Ú¦~—ÑÇÀœ·jF!X…È88Èä(‘‹7•SÚN­ß4¹¶¦(wÂ7SàS€w +òôÄ»3==·ŒKédéD©[‹¢;_Áva¶ýPËI!iÂf5ïŽü +Û„^gÁ¶•mdAXÆ2´Ñ ®h@öÙœò?üURï¦OXYŸô_»äê…Ü™^/Eï}̈Ptæ­^‹qòü³ù±6:kûk­òp»ˆ’“ʼ¨ì©º(6Qš­dBL"•>˜~Yý|µ³Q|äg´”’*\œq>n|ruîþø½ +akë<Ç®EA¯ëû¸϶ïŽäT?¤Üȉ–µs`µ©=’ 9êa¬Ç‡EZ[q£†6)šM JçÑB¢íª«Û-šx¤JêûÄ’ÉÅ ¾(ZUëµ<êÞþÇK;²ìîÉï1Tu 46è!ƒc$ {AäÃJí 1äe-¤¤õ”A« ÆJ˜‘ÙZÎßd?-N‡ð‚”ž¸ÑG¤Y»(¯š *áëB6vI Ï¦Ú H|X4ê´44½!€‡"*Ù„º”k¡Fý)ï42ˆ~âÞv¥Ôñ_‚S/ÔÐ?г†(ü¶¶É®ø;½hz!±[½˜øLŸƒÐÌÁïZóPÌ-Œ#“z7ö­[®ŽéoO–ü!ÌñËàš/¡Á + ŠNÉpn;4CÌR- +Ï_ šÎ) ø’À°÷À¢´à$8Ä|ã–›6DTdƒmãЮ-X€ÿZÞÿÙOTQmfŽ¿¬Ö»¾rÚÉ£¾™±ÀíÀäG%€hö|’'tгN9×Aì_©ìeúrÅ{ÿ W>•ÕÏEÇEeM¤ä"rOcž4Ó*›NØu6G±",Ø­Ã÷rÚ»¤n“Ö¾ ®aYit2뀜•àäDµëã¤XéI(ØC#ù: rhVÔœ”±f%"_+K’ˆÈ‰ôV"º‚Š™*cà{¿ªÖØ#gÎ å Â%Q,-l78œd¾ñ_E§hX©Wç&TmôtMÈ@ÿì~¤Þ~*WVJ~âuQª™wnáG$íoúÀD(”Gÿ.•,“e›ÏñŒP†‹lKÜÙ_Tn¤œ“Y˜sÎ{úR,\öGøø8‚° ;+¥y¶óqêßKNqz—¬-n2]&íz.òúïrtA<µ¥š ñg~-wÿ/’¯zZº:~î¸\¼ÑODMŒð‡þµ¾w±ŸNÂUô§£Ú¼ç[¬÷ºT*­4š¨‰W*ôš…[{†€³Jð4ÄL8%£o-h‘Ÿ?¢¢v5ù¼J¦wÿ%qäCr®gq5f äúTØHô4°sÔdÝ˲w†î]ƒxJ3;–Õè&MS”¦>Ȯꌄ֧ñnWѲ³gת›Oùåyjïëc$Á´ ÒŸÔ‚F1±ŠŸH#Vª°:¬Ø+J=ZnüúüÌß+q‹ øî·åâqä¦(baÜ­¥I5ë,TDóþFÍ‹H~2µNq´héCúáÌe_¥&sŠwû¥ƒŠ‡,Ãu=õÖŠ_I>¾"ÿ•«µ*§é”»¯]…|+,óLíÔu;U^9ŽŠ˜yþV>¾§„9gPoCçIÿ– °j¶ÂÍ+¼±™@ä’QŽ6íÒÙÂ÷À¼„¾gá÷¼ãí¢Vë ßÑõ˜ÖWÞ O/Ù•Å®«Ïîý3³¤¯ÜuŒŸýåì@þEYq󒺦”jYKyÊn¹Áò |F/á8rºåc¡†™àÍsT¤Áµi¹‘n‰±e0ö=¦°äÊÀ@¢˜C~.ä—ÈHnžÙMJì»uÞ"'áBߘîíÃQ‡/tÁ—oÍ v¹‰‚ àB1©ã³ÃÊSšƒWýgò™¦ØÏ_ÎT25íÇyò…;Zïq¸äú »,±ò•Ó¶=¬Fç•(B' äùaûsQƩ̈́¬¾Ú Iç'D‚üÄÈ„Tˆ¤з5QÅ,Dš[ȾÏa¹ºͶGC:L¤–KlÞ@ÅFÚ`֬Řȳ¬6¹W ýòÉÊ„ÂSÎu%‡Lýcû~€³¢1Ë(•]¾¾Ç>]j%ä]dŒ€­û­Ÿ‚Sƒís™Åÿ,kæo +¥NªÛðG ï˜ËÙÌç ‰ªdˆÔeûÌÖò/Ï+@Ø*–GY³Ž¸í¥öìÕœ7#{?ú#ÏN31îàmŒ5}ç,Õ1Ø¥¼´çöåà‚v9 +=ëæá«Z{¡ëâòßÅ]|.áùÅDKǨÈÿÎ&ãÒ|Ž…ÔºÖòQ, ~Ü\|ÿ…ýÚ¶uÊÑ~Çá„¡¹0+ɬÛ"mVÅÇ–æ*oYH«çózŒ `@âÂãï¥_D¶Ëûä"ºíaƒÊNažÞtŒGøæf©I÷¶ÜÕøTíò69 ´´ñ¨î326ÔGËè ‚YÄa3‹œ¸åÑN©cë¦ò«uòÍm¾×J!Fd¶QÀÈ÷9‚nfÓ5B}ùGrÚ"ó…€y>Ë«½³_@Ú³"ÂOÖr\éþ€-vU‰¿Ï=°°û@cWS0ÀG¼[œ¦€[ci»öëȺЅ-ŸØg(ÃØy¢í_ ™ßìX¦½³üÁ)K¡gД7‰*4þ‹° +ç™@Iùw™€6Ä—$0ùÿ1CØpñMb6€ÀsIаëÊ!î˜ƃµñRz<žÿµ¸òaŽúöíB&*ÙææöÃÚ^Öƒ'“ä¹™nýÀ{{Àß%ÿ$5PeÅ)…•þÞ[†—HHãâ½AGhi‘étÎÌf¡E¸Rs…KG}rü•LåWÞÚlkáœ^¯ßD¢"l¤ Æs.©·:}§(ó8Vû£µTP1‡¦¿„^AöQV$àhí@oh>È5§~™ûó®çÈœý12²$ôë:Îd…FºF?há/„³¿þ*ŒeúþI\S¿(unÁ\"°¸_olCÁÚÆ×.ìhðuÅ<`PÓs32»Ñ¯¢$ë¼¾ kÿ5¡¼'~P½ÿsYÔ*b^ߎ 8%‰¯Ò%: B!ÔÂÀ— ¡L©.D@ÔÂdså²;ê„6•zˆ ¡ßMZJÌMS­tÓj2©åf+X|‹úŸ@ó +>bÑc•„ bfUz’¹Uù™O¾Ê„–±V:ˆ û/î zú‰)a¢”U¿ÃSÿ•’¹@aÐK8 Š[3ÙÛôº˜¡¹ioÓC÷¦àÙM‰´DÏqç8è/XLÇ+xpÏ-‰£ºç$V±É ¶^’P ýÁ©?ŽñpAmðú…¨¿ŠAÐDù~aÊ€bß<r.> úÐÁ>º²>t<;âlˆFÉCÁ6~À¿±2Þ‚þòõ¤¹Ÿ3zš€ðc„¡žƒ¿Õ犽…yu¡2 6¡ iPØØ'ß1kåA鎄˜]SÆš š7üBÒÆÝŠÜuæ‚8N'n‚""ƒ VBs‰¡ñvVÄóÏ%é¡´ŸM8&±—Yôž? åVÏ"5"z˜Ÿ[ ë‚s|XêÏÕ4Ý¥Üs÷PýÇyG-¡³‰;Œ´£'Ô –C+¥[pnëª)é½SF>uò8«lræ9iÑÝÖáÄŽ— +;2¬Ó:õlì¤TÏks§ÂêyHn½“Ï€Çîs Q\+ +õƒnÇ:îÇsµ\I=þcâcE1E¤_§™D!Ú‡ßX¾Í +å±q¼}¥gAðš„­¼—œ¸~ž?Dd–ª£–b?HaWíD [iÐÈ´ú&%2èØ†Y‘2BÛ¹Õ<ñQ¾i-—Ÿ•Û£jGÇ)\!C*2oß>ŽD¹ +Ž>ÃB±å’™¦å~!§²”Åû (ô[Nä-§üŽ3õFßCPÍŒyV›Šý»]ÁÖêóôWéˆÓuÄ…]ÄÝVÖË]%-ÞCTk4XÖ÷«s€ƒý«rÊ™šÊu—‚ÒQ<4inÚòU.Br2{¯´¾™Ð\êRÔÁT´ªÌV˜àÉ´1oSœ2.ê…þëK:Ol%tµ:(ýø@×­$ÚéâІä,´‚VW`KðÐÂkmÆÚØøÀÅ“Q/2â£4×j£B¤˜ )@JX&1x”ªŽbGùl”д[ãAêðºò\zä$Kê#¤=bÉç{3à|Gþ´¬Í å Oû}³ÜZB>>Ÿ½ô ôÈXùÌ.¿MàduFº‚Ñ¿´úo”Ÿ^Ó¨VÐ_x¸ƒÙ ˜®Ž]­$s; s»6Ÿ×G%ßbŠI+ŒáÔB/19¢]ËO€«”¾ø©ÐË`Þ³ÐÕx"¿ùÏJ1u2R–KúL-]¶PLªdç*Ì©­E䲘²dÎø(R¨@y:=ЖœŸÝllÍjg.S®¡˜”}é(˜ÙœÍ=y̪8柴´¶gfxHŸƒ¬oKÅ £Ÿ¹Î‹•þÄè%>á­®U%â~÷ï)K3qvRÛ5¤>"ö…Šïf‘,!ã]c)¼VB 9U¾ y‹§„Ôì³Ò¿~7^¨¢_ûÊ%Õx=ÖÞ¡á÷wèSŽzÈcʲÙB÷ñOCÊE™Ä}öÐË—b—L袈®Ï˜3å´XÏ)«YéžtiNÚžVLÇU5l“†n–q-dîÔœ’’ ~Èr”fûÒ™@Œ²³Ýœ*ç“©4È;}^ÌßÙàþ·=ŸYͧBSQ¤ b¼ŽÑLk9¿C[Õ6FÐ|ù ü'†z0<२°å»(¼}‚è$EÂ,£¹®;#„'¤–mÛ[ +áÐ)<ãÿyxÿE<)Û+^ïÏ+Ž—x:<åºò>·O#IxŒÀí’#ZÔ„j®ƒ ùäþó¡„>n¾õ\<~q–³ÛVWñÀ´;¬ëë<©×üç¹Ã"´Ä€ÿóò“ +(þÐáõÓ¸UÛ]fz¥K +Ï(‰sªnÃ&ã‚æ!ŽªšÃ©‚ ÃS¢ò{§âÌJñ_ÊyìŽñß¾zˆLYâg´æ\œ}¼ð•z`µÅð +&ô•©b’QûJdyÍèW ÅKÒ×n‘t :j$Áy/‹Ï©)ekxow‹‹’²øG«>‰HnFJUëËR<c×6¹¹ +ÛG#ùeX^¤X\Ds…©}?/ƒÞâ: 2‹QXÿ£ŠýÉÜJO2áê(žÒQ­þUŒîñÄÍL!—Y¸§³ŽÌJ3óðüAÝbù•M EÍ%ÐÜÏ)¡û¢‰ü¢+ÿ‹þ9$û'æáþ“è?ÆüÏíõpà>Þ§ñ}¬›þF0 ¥f~Œ¥Ì8áFˆˆgá8g~ õÛ›GÛ×ý~üìk÷Ðv“óvåa¦ñ.ð”ÛÓdoâ.ÛoŸ6ò.ú[V4‡yz-8쯭[qô×?Â::¬öb›3“ÚÇVqꀋ"Áíé$¢@Ӝ뉵Ú©ÑÆš7þý‘#ôq)7ª|Šëp9•”ÿš-üqN¦m²U°ú`Gº<½¬ÎN^&ïírõ)”l1ÏtÒ[fŸR*V½Ìt.K¯L­c?RwŠªºæדà‡NHìÏ,¹ØDvœû°Hv¤áñ¨AŠŸ!¸9^é.òù*PñÉzQ™‰˜?ƒ#‹ÉTŽƒ^Ÿ„ºìàÛšóRâb1§e}¾ä¡_û·`uYé’³­ÎÜ#/÷•;^¬×¤+gÌ–ÜË×¥%Ÿ¶â²a"©^Þ—ŒÝ[Ú+µ,6{c²ŠEÕîÅìÜbª¯˜d¦!šh lb¢´@å<}‚V¢Z vSÕr¨-l·¥?MËØs<˜Â®¶öš ´=ÜZ5²'x˜ÒàwÏ­XNêë­‚ÇV%¯DaÉñHKìâYø{o<Çü¬Éyß<}Ò4Ö©þêVÉMÏTZH?.Ú +–ML±î±f?P§Z6OËÄÌ#E¨÷wrß§Ç$ Ø#PÖ9jç7C)?‰T,a>ϰû¾þq#ëjvÚcoÖEPÛéê “E?T'Oú¯¶|VxIÞÿx!~WϘf—žÚ\.ðÌ×÷º8púùCU°‘ +[òtž%ã%'¤}:\ž´ÿ¥ ‘—ûQ?3¼ÈF%}‘Z9%Âô?µ¼SI»9ãõXcI甜Ó%ö3üú}¯‹í@³íŒK£½'câ9{q<¨k–uü%¨ùîõÖ¬¡Žál ðð‚`‡!I¶¥Ø—˜œÝ¦¢#FÌÉŸ2Üæ•]=d$¥Ý…§9s+)È"¶r³UP§JÐŒøïñ4[è& +FL-÷ rW$êI¨¯Õn v¹ï :à ‰¡¬ ʦÄ*R7{ýè uÛç¼Û¦ü!yßì^2õ‚~ðóÖÎ^á'iÕB—‰Œ|ñe6þe!?=%_ð\'ß+ù/6äë_5Ýè.nBD–ÎCa ¬ÚFàËÔTç?~eÇ gtæœ~Já$~\¯Ñˆ{ÁTÊú(5clBt>%M‰MœRŠ‚R_㤗0)·:`E}›áAà=TÂC„RhUÅŽ/ÁTE=9Äl êKsŠÝB˜áäUN³ýˆàQ±”öaŒa›@N¨’׫Wßû×àÞy*Ì€»>Ç_Üœýc¹‘ðN¯Lˆ4Z9J¥Q5õ1œ}þi§WËÂûªë»Ä+åpØø¦å£ØàÐZSø  kP_yü‰)÷¯ìžjá¡sSÅ…(¹)¦ÙH³þ3Y¼ªµ‹4»R·*]ùò¦™‘öoŒ™L¢Q¯Ñ¼i®i9æõW¹Q³×¡O$½*ê(“ëÀΕ¢æ1|nÃ8ºÕeÍô7c¬™Ò¢šw~1KÜ=Ï\Ñ'ö¤´W™ÈA¦¿;JÝ-?_Þ€ÌÄÍò¢ªè‰‡À!év2!] \3O¥9öãÌÜ-Vc›‰õ×§0î¹Ä¬h·Òî’‘=o²'zIíq.‡¯H‹Ëcz†,.@S؈xŠK,‘t)q&k*”5.¥äTæ"ÊO»ˆtä8j2G´ž`ÁáY116”†Ñµ²8¹pyÿÂÁ*Ý_¨ˆGŽÀ–ÝØÊE2ån˜¸2V7Þ«‰hpŒ^]–}/Í·"ˆ­Ah3&H¯Jof.¾¡³!«KB0tª¶E9âr~¢z.1ÖJþXõø$c;‰Ø&a+žLòÂ$ÇR¢eác¤ŠF:§õ’éeÒBádw²w#©ómÿpPô»z*Šã-%¬( +½è”~< æ‹O1[cR›uL’®E{åç!õóÈÅ…¼p˜ØC¤‘]j–>n0nfpqÁn¥{‹D&Wkzs2—ß “ùKGɶƒdšMGFŒ‘YÎõ 2b{y#áêŽEóÜÌao#] +'#€rÃ/×ué³ ++⇿žpãf®sÇÌ›\¡Æ9wzÂrû.W'O[ôBnUId-¾ß“{ûTÆIP‘Ã:3U6pÜ!ÉÄ%ÍÖåMk$pé³åØ•™ƒ«×£*^Ö•&)Ù¯r0o©TèÛ·óýn”*ÜW=ƒTaFUø s­(¡R®Ü9¦„Ÿês¼ØÔZÀôVuS:——z¯jx'(¿"*«šHHÿóŒµØõDF º° e‰¡‹Þ6Ÿ^Á÷s2ü÷A«ý ˆó¨,*mtKéx£':¢1„.:кZRZNŠŽ6^ÝœU:ï×Q|ú¥vÇh|åà Ì_…‹Às + ë&j¢ci‡ÅIùœÊpŽû±•1V´žO٦ЀJ¯®#Þ·oR Ó‡{ ³ÃÑ•^ª(ýiœ[êÚ‚2h¡¼ÁSš[‡¾›¢ráèL‡“È6 MèëD–MÊ`ÓsÚHãfšÀpZ\KÃ]VèB–ÞG×ãði—ˆÎËtk…)TŸb&X ½*¡K…ýä¸JËÅl‚ï?• ²«:K…jÿõßì~n¥ +C¶þ¼ ?jÊ­U©ÜÊÓWfFé}’~ »NÞÒ{ߨ{&Ü.†Â›â¾š±÷5J2¨òÿ/õÛ‚Ùú±ä–ú‹ŽêÝšz˜ >Q¶Snœ—ºzÊ 3{ë´Fô£¨Ž`ñ³Æ‰åƒo“ïgÛ©þô›¾â!6™‘F⣉üåÐWR¼8{$–á~pØ[ªtÃáü9L‡ŽÙ7áÄÆ~w\§³mòSÕü®•ÿVFªNÌι:NÐÍ-ëfXTø ÉÊhTwŃuT ~I^­cQ/OåúÚJ½6sù¬OUlPælC{j„CJŸ³â^…<–Èú¶HŽHΊ%)D¿R¶%^×—ný®J1’;™:Ýå>âÿ„“Þc»æå÷G¾¿ r/…JäÍ®2G÷Êż[dº×u&aõ¹E`dFÓ€{}|šèýRíab’i%ˆoFl9›*á´“ÀuzñT}OLÈÝÔ'ªƒ/-ÈPR½Ï»z:žFú*acl C"@ç;—‘¡&æ¤ñ‡°NXä C¨ŠZ†=ovh‹ß¨é£·ÝŸ…ëó–ÉáqnH(ÚÑD^Éý±°‡fsH7r$õj$Á1;ÿ­]"K€rèlMD*òæó<.Ìï—3efx‰[µ`ôšÞ£$~ã LàtMý +´X“µUŸ¤7/¨:åsŃýC5coÃjòØ^Ìëô’ŒFØŸû8¢l5aå T÷éÇ5—š>5Óäñ%1 é qJÃl lz>^Å]Á|¨µÈ1ÙÎ0y/’žŽk¨ØOvå|q¼ìÖ¢Kä]ÎÑ =UÓê9kdEË_rCX÷{¯_ǯ}ïX•eUfäyªl,¬:ETc‹PN´rzxjrà +Å‹ëR3´‰lØÔßÛ]eÖ^‘~øVÈÝ€ÞÆq'ñðÐ åÿV¥A¡º¯çíMÞ¸\RõÍJ´hÒ…àÕ•Ï,wbrö8õ‘23˜¶ X­†’AvP3ðšúšKª¯ªRÆ ñ§ýþè±·P6u)$ˆ·@´nÈ\#IXb +íÒZlõá+Gìc požŠ÷\‘ kûãXN°±¤¡ÙÇW¨¼ðKÿB¿î”ùÞq¯2{Ì€84ÔÜ"¿jiþ~Ñu±àMdrF¸¡T ÅÐlOcM"ï5’Â>p°,ä¾£'òYJeTlîW¥œÓcЗÞî´!}„ñI>’l`;LIfˆÈ+FC:ÈVh w«lf«ÑÎqË4Ê~Åà˜Ëߌ8É:B™Ã–9ñö+õòàèkM…rýˬšú9SÅ·´”V62 9qS§Ÿ&ôfIc%ƒ ˆëÕBNðËŽ…ÊWÖ¸¿=P!%Ç2íâ¯þ¿‹ž'ÒG–4  «Îõ$t#ãD CŠ_.|‰ØäãE’n†‹ Ì–fç¨å‹²E2…\¾ø¢ÌN;^¶ý¯¢p×èg¤"M·Ç¤?ÀR:3Š,”h'Ãͯº©$µRêiÛi8èG¼”4÷‹ØÇ\“œš3÷¶}LÈ#«–L|‰AÑklGLæ 6Ë%ùâsúŒ>\å~J½U<Ÿu§Ý²˜?§ÈE±n>Ù_PkéPãš_ÀmòŸ·f2OFb²„R+6ãMvWà·k±uƒó!îXÆ€^{Å ‹¡ƒ³ˆl:¾œ syÌÖ·T¦óhÄÖ¡pÇOòaEeÏ“&6R˜lÜ©Ù4/Oz=ÊÌB¸[`ÀʆyPÄÅq“¨^ÕE”­R1xòÍó>ÿ·+êSŽó}•tW©6Ÿÿ‚žzåûöÒ6î´V«Cðˆ+\F_£Mg¯Š70EPÁÿq“ü‘ãÛ³/™jƒ¨˜Ô™3¥y|ý öeÀ^|h>ZQy*Ä~ýù]š›è<÷ÀîûWGæáåªßj¨™ûMJÀíKoÉlË$›®ïe#{lDÜuæçXsgbÎJkžn ¢ï­õâ|˽œ=ѱÉXßè© ¯ÑôŠ™àFŸV%sÃò㉈Ѩ†§$á\ÌÕ2eEçH×"{Hut˜µ}NæÄZ,®¶yK )þÕ-ˆÐ¤'•ž»Ñ¾-CZm¢"šuˆœù´9tßÒ¬®LœH~Ä#V"ëk{é§,·†Pߌ°Av¯: %r‚oHl–š*ëwÑþ~ªP½‚¨/æš; ò Ò´1ÄÞ‡&ÿ¢ñQË)£)É™i&ÚMÆûurq%ÀðÃSø)£á`l9/‘TÀñ]5é»û&*N´jävv O˜‚:@×ã†|rƒ‘ËÜl½º÷ (bù‰#pg@]²¿õ@}5ˆû¬Ó ‡˜í@ÇŒVaÊ ðïj*vðUáÛÞ n„hÞý ¯Ôë±mð1kßѹ10ubãÄQ9†Xª1ùí¥e¾s+=v|`®ÞP”Ïõ¨¨D°“Ǫ* ¾wØiô»Á…m)óÓˆ_g–é ç2ñâ–ÚÙ<ñÁº–¬$ämB%t©j‘’BÉ]¶sÖøÐzÖÑm©ñ÷¤%ÜLJ–Y¿Öú4†s'³šÚ?Ü©>ž@7Bõ³%ˬx<´¡þBÏþߥü´BRXÿ.µRP UR麺H*Ç­¬IHÃtU24I™d’)ùu +ѮʶO|•¬¤W%.+£&.+åqFXi·<»DirVÐÅ_£#\× ùõ$KdÈ EÆDÆ’šOêr*ùÎ⋤]]SNc}®â”2É)VQ‡$”°„륤$±&'‚ŠH,)’’<’‹m¹ì‰j£ÏÐN6R´Q Öåßœ|rXž|o$’ŠˆfÙ\뾩A墕‰V4dOV±b‰¥ó|éØ2©ˆ*ÚÝÌý°D nA–%Š2Ó9ЦNFêe'ýN¨¹ëK‰Âef£õ%ª–°GÂ%q'‚Ž‘Mø›šPѽæÕ®6#âr1fŸR£!5sϧåy=bUçüÎbŒMŸYNž9«y„èmîÌgsÛ‰ZÛ‘VJ!ÄÛg¨™×dФæÍÚb”roæD“Í”«A³º«T¢U‹Æ-Ä9áºP…ƒâåa¢>ª(8X£M(8q9F©pk™ê9{­ØP£Xª­‘h: +CHŠ$ãK®-Åë=ã ñ°SlÉ W$,iÔö£T%Ôèñá¾t‰V‡bêd]ŽsñÇžÈ#“p¬ ÜH}ªÞq.–hc>Ä:uA¾ÙoɉBÙð#es‰Mçµø*þörªæ¢ ¿r½‚”eØ ,Ëzâ‘iZ­2Âûv,c ÙsPª At»\ZH­¤ÎõrùKb| ÏäCrR4Èeò w«ê#ª:µª5!¬©)©ÓÌP ½¤BÑ-V QŸS0Q9¨¨ªö~ß÷döZ‘N>ÔL=Óáp¦íÆÃá ‰¡*s A !,)Â1Ê! Âb§B¤6’` Ajâ`RTE(J1BM­d3¨»„¡ SfNµ ¦‹æ‡&e*b1°TÅÂ…„DJJ~iûRˆJqÂTddä 3ŸLGÜU*-cæ©yîÄP+tNt°I$‰t’@"ÕšÍÃeÂቅÃïkn{‰©‘±Hïp‰–XÎ&M =˜æLÓ4‰A8¤p(A(¡ŠªbBÕˆ¡V¶éd¢~=J¤Ó¿éèÞÈ‘òvÅ«3ôòêEnXåyÅÃßm¬Š‘2¢ wÕ9dâ½^Fpj& UÄMn&î='¾‚^$á*×Y¡³Ø9týƒÓO<Ýi1>c£ðÐðt'îðLPˆPøµ4ÌÌnNQ\•s政#¿\}‘Û¥}r"ÏȨ¸*†ËH-ŽLãÑ4Œle¡‘˜ÐŒÌ#«Qä]ô£­ŸOY•ÔE’E|Ç"Œˆ§›úVíO7BÒïêá³mè¬Â6Š™=ïT_VÖB ¿ƒ+“¢Õîq¯<²ó£Qfj-: ò«Y$·E¬™(³‘ +»²!ùœ_v¹ür™Q“™þÖ¥eмŽhHdëu¦è¬T⛣Äkè2ܵhj¥è±ÄX™²µ8 "Ld“ÉMÝÌ6¬!Ï4‹3Q˜æ•Ý#òBÜYÉPüêBº…w£®.ÊÉ”Dné‰Yù{™!ºøîQÓH´âhuOü‰mÆ_&ìmLÁ°Ãt2k*Ž®a™¬!MjX>±–2ÃR~”‡uÑVlÑŸâj2$H*iT£q Wì¿ð&Ý_©ÛAÉJ™1Äž˜¬8w4J|³w« Í%'æåå’\,¡S±®Ç9éiQ k ¡æH¶F,""åÆ*‹HIV+²‡{*Î ÖtdL»¶ÓrÓ78ácûÑŒúTÆãÿ['Ÿ…Ží(œI«Á¿Þ¢•¼Â2ú¸%vÇŠéÅ|Ì<&ýÜÇ[ßœˆ¸1¤˜×%H*jÙ©ÉÐŒ¯ˆŠ‹õëwY¸BªH(6ò¹Üè¬F™1íí|µ™TP6‰¹ðþˆ1ŒñÇ1b.ç4³›3D›Ñ½v!‹¨­X¿´)OÐÊš‰½4›VUE›’"o¾)±fZ §q=íü’©9æQƒR(8¦‘p‘Ð<4ÕÔWùjŒèÄoª=ÄdÓŽæcJã¶)£¦_ÅÔ`š…¤ÐH£Å™¶3 ë·e}<OóÒ¢dÒ +MyRͽJÑEÏŒñXœy城± ø¦d!%ýbŠ­˜Ó*æñÑTÈL­Øš‡6-²Üí¿ú¥KÑXbbA2–â(È0^ÙCeÛ3šç¦=k”'Xô[5 D¦&F¦2ãé®D¤b*©üSyU6âvEêˆ_4âvÚ²Ó +‡¤äºãêÔ2[&UROŸÊdc;höU"(d·x(Zõê#'Ç´uì‚XªWßK°Š/ãuQÕ—kÚ•/ý™ºQ1£YlCTŠðkÎú§#\Üc†ÄóIæ1©= ¦óÔwg‰Zhñi9K3¯Äý ñ²¡É’ÐDÛÏA§)¾Or1FwÄmº³£d¥ =õФ›Ùˆ22œ‹µ1†°\²$–nž 7¯FdÛ·mž9ÃIâY©Â˜”²S÷9ͼKÈWyýóú3¡m 4 ÓiúÜa†Ïfâô9YŸÏju¾þl:Õêþ"Õ¢"ašµžHM=_ˆæöÌËùxo+ÈŽ!Úf"C¾úTs=f&ˆ¶Î/GÚ!­3¦I¬æS]8ÐŒ*!â)’ $£„”aKJ’2åÊ3¶A²8ž;J”„cq´#/ŸKÅÆ¶å´=µ*|$)‡½M×Ŕƨ¡‰êy—êŠÆš¸™è ™ GÅmþ­0ÁÎHõSihÐŽ*ÁIT ;Õ +ׄ«g[Ug$–‘šÒRœg´ªEŠfá<ˆb¾“«|?nµŒÔ‚êsj-’d¤6R³L­œ×&æý%¨Np2T ¾È¢ÙHÕ´ÊÁê'¸›†ê¬&HŠP/kC‡æÔ"9TÐóÔCŽ¥t9NéZ(dSjôFí‰ÜݾFéãÄ©Çñ´AkIŒô&…8J“’¬0䤧qYÆ*ÂË•Ÿƒf(adf„Ê<úðVÌs~†bô%$,ípù­2˜åaÐÊãD>AêL3aÈÉí¢Ü7pûŽA<¸¼t½/¶¡Võ¼D:«I¤¤ˆÜ͇÷³õ¹°FŸ§Qt…"h½LCfNáƒiê¦hÂáâEfue9Èć^…çd+-B¶8ç•3¸æY²ûRê‘t›_Á^|æ¡­ó–«UÜå¼bªF“yÜ[(ÁßûÉD¨oÁ½=0Ä”¯øÿ. +ÊgÃèðÕ“ FÕˆ›9‹¦$ò)“ÌŠ—奫 øCJ¤bùŒ+ªmË„>H ƒ¼Š«…ž^®¶§É¥­QR‘ ´®ˆðÈÇ‚eÎoù±bÄuz«Ds1M MÔ´ÿÊú0Ôå°_‹>V•à»‚ß ƒ¼ø ——Ã×ÅN¢NnñÜá›cZåÛ£ ©ê¤GäÒ”äz9ãï#áZ">IÉæ"'V¥EÖ §Š$Ô¢¹vNƒ K´Fn“¦…(JÂÔÀœÓÙ™*’Â%ªe‡"újš +ó™9q~nØè!òÀƒEà者$Œt¯L…‹Ñ‡J¡“ªƒyU펃(ôQSºƒ.'–L¹DSjQˆeÊ<ûÚĬ¼Jxu§ùŒ$¬è31³`Š™Ð$á®rî QBå9¹.¿ú ‘ÆaDHr8)"$B3_¦Â5¯Ðk.§ +uÉ  Í J=›[á°wÁÏôpÇÑb¨"˜¦V?‰H Dø¦œ +^ÕBI„78ÆÌ!¤3½‰L¥u.Sôöà­`êZ¥K¬ÄDÙ³¢¢(‚†…T+….]É„Iáênß KS´UL_ #"t êÊwÛ­(G©ÅǼ9Uv 5$‹ýz²i‰KˆHüõàê&Û1ãï%7ùŽ„þÑ0¶*uA† ñ"n2ç)£V‰!—K{d9&ð€S7x +ánÎa&ŒàÄ€ˆ¾IyZ|¾ §aÂdq$R#2‘KÐàGEצ‚°ÀÁÄF¨FQh'‹AÉx¤E{Ãü>¡—Á81¸Ü-.Ä@âæ‹d Ê­E0ŒLC±m0Âà1Ø„B1bà‡ ˆ1¼L¾]D¡QNh  ]°å 3¨^ú…T†b³ ¾)6 $Eð #3N…:u³¦ˆpòWJqÌ‚rS*%A®É£4êv~ŠuN(ñE©Ç#¢‹¢E)‹ 3#VÑ óið /§–LQjô2iKR‹Þ¼%Yt‹”Ô E§=àd@4Ð +>ð 4 8€ä ` l €*6ðlÀР XPb0ð +TN$ÔÁ&  ˜À*¨Àê l@ ˆ€‚ +B@Að (€ƒ T@A&@0 + PP6 T`€î¨(PÝšUµà€ÿíw ü·â Ž~Ez±ûÁxÈ4׃ÎUv`÷­k1ß” Ša§FsQ•Áš)¶æA55s +­™ž0“ +c@$šÈªaF¦b˜YøG2˜Š¡F:ÁE‡P±fÌÑëŠhaF¨5kFˆB‘”ïp_‚)õ9ˆ ¦:B‰hD¦ªXht †¨\aXv0m1# +&ùb¨"|ªÔ*Ý@ä"Üm™2ò#ÜRþ‚‰\®:}où&f#^- +'‡»,QYBýaˆ¤Š2ƒZC™!ª$D¹(H¡Hˆ¢¦ $±Kè3äÅ£LâPq'w·Ä÷@t"‘ñ¤:!s*"!S€X˜ aŠÍc\“ÁÅ ôê_ 4LÒ‰hD„ +Dì¶­XÉI[=.’¡²#̦ €Ä€ 5"(À "ˆ€A@TCnŒ_rà2}¡±¬…5°ÂÔH :8˜Ð9ÃÌ‚‡² М“ŠEF£`¢G Ôa1ªí +5EfP`¹Ф‚x†Ú¶ +Oá! e‰çõlD¡ôß#ŸqÐèý¶œáEaµ (°!î:H–N¡`ýC<à6i¨ƒ±KíÇpÐAÌå“~AÚn†*|ôQŸ   îETt†¦C‡×lN´~A:àHìû)Z•I'÷¡ÈY'¨,ª¢Àƒ³Ñbˆ0kÆÛ[ ]óÅâ¡åäa>&5ŠÄó%ªÂ¦Õ …˜óCѹ7+%ü"G .L5œ’VÕ´œ®kÄõïVµå©Ïc6aÆeqd.7Ñ ›û·»Œ—µfÔhTs¿ã‹¡–†^Ñ[ˆ’sWOaªFâ­aNƒ:;j3tœ‰’5B Íé;Q r,#‰úUNŒ}ßç!„*ü`Æc&¨îºòHëúí'eBq¢þ9È‘ZP~}}—…ÚÂÄúQý£)PlJê›± ħŽ{ ýŒl<à¦AÉKHÒ!£Xjþ.œð¯QüË3ÓPÒ_Dw*AÂ2¿´ÎF¬Ã¨dµF"%v6Ó04 CÁpPHBÉûšh,n* ‚aaˆx„Ð!Ä @ Ãt{GÉ߬’ÑŸg® 3Jç'öÉôô îN\Rá…ôƒk®ƒ˜µ½—O !r³›Ÿã9¬ƒÓ“C½òN{µ¨ŸÚJK>Îæº¯¹†Õ3Nn7%Øà"ÒöÍ*‰1çÛ­ßøãÀ°ÿÕð'œ•ﳃeŒ½„¬”¡é^T½Osœg êC +@ˆ7ý:é¼Þ “àá¢-S+TÙ$À‚8bð<8-¨\ãÃÕYØ¥8‘"~à¹ûI¦ú<…Û—õY»Ÿ0°vÔÊÕ9FSGYnæÛç §yŒ@[0µuoÆòqÜÛF……–<¤ôo±P=ú¸õÃdA<Œ©™¦ÄG0òê”ð“cZÖi¨ÚœS´wú^%ÝÄ…ñÉþrW¥µv–ÙxŽZNµAC¢1v¤RTÈ7äÝrˈVYãÈ'±·pº=‡˜P°BÃOÄ4°€¯«x}Ö7#Ž1nªnDδâ¶ñ%ûJ§3üä %dQ½C±1·:P×о@ÖÚI 7)e‹ºJ€½¸)Ô'¥aþ¾ ôWW0†qË„²;ïŸZ® +›#Ë¡î=âz6$þ°Üqõâ½€°ÎȤA±—º@¡R‹PSAhì,àÄ!Ë•5”UZ¡”¢ y?B˜h c)cô‰ÛâþŸKÈž_¹0wo7Ù•Ð?ÒƒŒWî¦ÄºWáå¥ß€_vw?/̃Ð㙑ÿ2j!\KV; íçf\ªãu;ïx]<^÷g`ŒZgzíé'‘ëxE[¾3f2žp$À¼ŽO}”2ã©xn¤âï˘!¥r±¢ s}”òûë™?ÿÅá¸÷C+0žg›²™?ˆuØž»7Bo .ÄÊ €ÁÀÖŸYßó|Û>0}t–™|܈R6õ}VLþýºQq¯íÒ³pÊÁÓí>VÆd++HŸ nHÆGöž”3\C” k!á“ÉmHSp3•YhX†=ý(ï ÎÏ®TÁ¦ +ãO¤l©]5%(W€5¡ŸŠú¹UH~èú,gÐ'°Ðš‚{p„—PqVO’¡í­7²ŽüBWÒ"Çs%ÙWÆâvZtJÐUšï<•a1ø°×Ø‚ôLv‹(-ø ¶´'  NHvF®q–ð0L–€µ@[™T‹iiÁÀÔ°+ 9¥ð.Ï¡n¶U:KÏódaŠ˜ov…­NñLþ3JÔhqˆ+¸—ªB@ ¸$_0Št¯åLv>²àZ?ô¸ƒ¢Nà•‡Àkà›¶,ÞÛg~×Ý¥Zµ¸'ü}Q°O-Ýwî^‰~‚ArVG€´³=¦ÓèõBLY„ÌÅNÂB³uäþW ™Ü½±Þ ÓÜ:41Ф|äׄÁìaú+ÌkÄdˆp F_™ÀZ¤©¤ˆ»jbÊ0ûôϨ71@+ƒ³bŽjFÖ3fBZ­hL÷iÂR#!Ÿ) +õIÃÖÅ£‚ ”˜F,2°ÆëBÉ©PxYÌôB ›2t eйÒ—±/áIkf Cûb)ÇFdmÆšÂ$9rf€þž÷ªWŸY +;Ó‡Fã Ѩ?¤KrÊr^Ued—ÿŒcI5$„Êþåt¿~ ØÍgk\Qi£­1ì-vÍ!n,‚¯þ¯¡ã?)¼°‰!‡²ÿH­‘¯¿˜½lôÔs’`Ù ×Heóû¬ +ú,•°>j#~äþe•€žðm& ÎH\sì䚉pé7¡»±AòvîÝüÈp¤žÏ´Â$€›^L9‡ÉÍ˾Ǭb2cT‚APùàOëìOÞȼl*ÄÞô [9á]„½ÈQn¤;6lÌj= +¹4î)шB +Üg½9ù¾ØÅàÙ ²töæL²PòÉ_}„‘ÝoÌrþ ä–}ý“”Ï)&p"è?†ƒv¼I4Äi ˆÍ¤âÐâı3ã q¾gQ‡HÓ>µ5“$”è­¨¼ÄANoü\ŠXJâv¦Ë¤>‘º»à½V ñpÇáþï ‰M¡¡ù6}sFwJ-±CWM€†â$€ìPÁã”Aÿ H©ä\©¤ì[?Û ¿[ã“U]uŸv=-ajV9Á“eŽ–ó…„Õ½ =Eûbec—u©e +y„B²1ó*­.«=fqÐ+Äù'{êxÒ㔚Q¸Sqº•·«¤hËÊñ;·M’­£`ÕµæÔ"y ëYˆ&(ÖÌzõ,DŠa ®¤21¥«™6QmŽ¡‚¶wÁ*Þq{òòÀEócϼÎ;áߥ1m-!r]ã•lf±DK ȧâéë+å +­foÓèçÓ—QaháGñëÿ¦Œ?Ô0âiƒÐ[—òZT¯ìA‹Áa”î2[&¸œv’¦ç*Éyè±v!^3Û$Ñá˳¼á]fØbí*È1äm…eÐÿBæPª¨»©mî[Ž•SLŠh²]BÓØÇ)9õpù½'¿²XÑriWRBX$Lïä"|õ`ý±NˆùÍh {ŽûþN.ÚWÛ$>s˜Vç„bd@ÄÓ¢3íì> ÎaœH'.þAü +Öï0¸ìÄóZ27Ð,i*б +ÃîÜI•¦HXw‹± ×AFpþQhå©o&aE7OÈ1É`m8ÀÎ#ž_ ²:óÁ€›nôáÁ ×4_n„B?ÌÐKÙÌÇ:¨aø=gÚújZ'šRy iò²1¿•†å¿Îsô¼¾’––á¶Bœ S„ŒnÑÝLÒDIx\Ú‚¶ô˜™iâ|a+ÆY2+ˆå¿m‹Ó, uŠu€Ua»ôV¥ôì«|µq`ämóLýf¼åÁNñE®ÕëÊ®%%^œöþ8)@I~]·JÜ"¦¯>îúÚ"ÔÇ}e°Â«=˦£\2]ž|AüðíK©E“~yŒ¦H¸]˜üéŠ>@€3%½§ìØŽ ²È‚u‡"ûÛYE§“¸åt5 q`8§­Ë&1L—\葇ÇqÓ•¯u%íc©ºhS7”™L›‹*"w>A\X¤ѯ׌œOø“)ETÆ(k³æ´áüQ•\Uq2|zã̆V'ÓÕR8V#ažLãj d#(=r*¡ü”– gŒSé˜.ñUxĹ@7Ø©­;(@ÅÃŽÚ£ö® »2ÎVÒ‘ê÷ê4q½)É€ìÓ1Å­‘³èB1Ú"ýjËd4Ž” uÄ¥“€œbù˜™-£HÜId04:ôœ† TY§Ï€%ÞʦT¸j`C®}ß#ˈrBWÑiÍŠú\nEðÁša¸¦`¯¥ —OÅñk%°“¡„Þ©$Ì%2Ð!= +†÷{ôž>ÒèÚè¹Qúž#bz)*‘uø%T:Å)Åâ>Pp`°úIæÀ‚ƒ;´¾PRê¡Í")U¦øêF²ËLÝhwhE­À‰Õ|â«%•&I\3d‡H‰Í!ß YRÊ0r8®?cÓG’zÔ¥* +†G);Ò è(2ÎG± !Ð7 +•†Tm”95„X£˜kBeCše"BÈ(Þ6Fa»!©/ +äß–.ЇÐZ‰2+ˆ±]Ø6VTD4‘"áüñ¼lþ6ŠDÜÈ¡uiµbá:‹ÃþP\›ƒ^I=vHB:$eêS p_ÒnÑh(ô CÑÎШÚBÈ¢ê—B+É݄؉›$D$è-¢‰ÐÚ¨ÌÒqj-DðÎÆ_z¨~b‡Ž G2vÖrBdpß[ÜÄ›À‚ölœR€uýbVÓ9M,ó@Êi¤ö›u•[¹ê±Ø…×>çÃî^ÃT¾ü¼3¦2¼.()„_!.ECØ~Yùh'UÆ è©Ýú9)®›4RåÁ^ƒ+5¿u•4Éû¦ƒ™J¤âA< *ï¨ÒO™4||"Mq 7¡sDÔì±öÊ^>º³e9¾µKH~%“uƒÜ HÃd…Š*¿bJ´^yIôp’nƒPwÜÎG ÖŒŒÇôÐècã%¼êL@™L-ÊÄ®²Æ¶6ÏCÆ €ÐD„(3U70Ý!.Æ ø?/Á7¤{±3OÙÜ!?kÎРđ +">¶ô?Ö°ðÙ@©þ‡êÿKÚÉ¢þ¿³ŠŽžNÿ§C}q8Ãÿy/GuãPò•}ÿçUñÒÚ¼¹hÿçž*…ûÙÖc˜ú0øbú5Ah|x&"Å‘ô¡™Ž…µÿ¡k¦²Z'@×rÁiAà¶8cPD/):Â2|ðKšþ=ê@•ÀèÆ¢FlSÔë5w¶¬ø¹*ƨ›én˜E:⨥¿—pÕæ€  óË) +mÎæáÓ+JC˜XR|^ÁÛç½¼VP "eæ3ñýK(]£S¬¡+¨‘ +_$ÐG55VÎÿ4Üu½ãŽ6""e¦rRcYVƒo³°0iGŠèrÔ¼cüúý,9K!)3l4`å|¥!XÖ&”f>P;uxѸ2ÀQ«ˆƒ®»d/SÐüҒǣ çàgð(£Ä Ù5‰yF¤9ØßÙ¬~ýA![¹h8Y ÿ+œQn±ìÆM¼z63‡Iú`-“ÍH4ª"a½4|ø††hFÒmõÏ\Ò8#3À~û$&ÐøepsdÒ×\Ø2ÒôP%îmP ¾&V惦^äpåë©)eºT +Ûjkƒ‚¸Ò—a„*²3Œ¥ŽTùé>þ»:HbÌ3¿9Ë’Ð`ÀL¥ÅÕ¹³0·ÔÞ¢Jh¬®‹6d”&Rìv1øÀ7è$¬eŒfÕ¨6 ‰§:¬7§àsuáçγC)6Œ[*§vµ`Ž!“ tJÓN‡Ñëž * *È*hœÀO¯Ô£Yðf´Õcˆ,¤.úö.¨¬ôbyås†6+ÙʸÎÚ@Ù$eKDAþ’S5îGCÊl{à ÊY0Öå ‰UQ k"¤w¸^¿ì„Þßß¡jspØÒuìÏ*ñ!8ÞzÚ‹*<À‹•ÝõäÈö¾˜ßïé¹qTP<ƒØ¼gY¸Ã»UB¥Oq©i8,ë^,CïƒÄ>ENÕ;÷wLóãMvâŒÚYï ø2—y”Aâ]ÐÅvêL$[jÀ²ùº@àÂ5(VX*>~iQ1Å +g‘Øð>YÌ©_î7¯‹ºd{,²B‚GÔ‘–ö5£ÊŠåè»»³¸ä‘‘”¾ ñƒáŒ—øôS' [ÌÑDµfÿíˆBØ\g9:W¨J7U¦Nþö!VF´¥ÇäQ´+cèù6¤ÊJtD~­ ÓÇBäÖv +À›åä )F“'oÅ·8\©Ëx ŠtÑWí§JÙH†æ»Bƒp '+«ÔtƒâyS˜ZQêkÍÛÜs Õ ©~⣎Ù\˜¬y|?Äæ5SãŒGMùžSû­¿¡ +Œ»¹f¢•‡Vr·œ¬åœèкä;žšÏßÉhPaoÉg‘fݳzè.ÙPîuáHÝ}ÌcÇÓð£-ÓœÇHÂ^7<2bï‹¡G>æSåDYòÊ5žð(d ×@â]¥ùß´Öéž +K¬;|=©£”‰ÐöÝ–’ÄÇiË;"në¡M­,?TbO7ûÚïÚµø]~„TôG‹û$½QÑoPÐç#²ÚŠs¨¨ÏN|å+¡;jPþöšôÀ!³|;ʯ%ÀìèFGμ „ÿ¥VÔLÎö¥|0«ÐA áäp© Æ +¸µÄYõÒöÖŽ—ˆJLÉ¡äÛ¢ØqþÖŽ—Ì@T€~pˆ×µìÊÃÉw÷©Ý@ú!LǦµ c//oK!-„‹[§aÇ©ˆ’g[ûãN $‰½32H“=”;-bäË [}i:òpèˆs!…0,Í,§#ìZœñ¬‰r·uÈpVb~ ¾ûZ3pþvëEª˜¥x²íŸ'Oxò–xÑ2Z¼P¶¬ó¶¹ßÁŒ=?IúP¶Dc (¨ñHJ6²$êóiS.Ës BO½ yPúÐx³Õø+¡{ßõÒòATP~×< þ –Ík ûZö¤­ýTœå´å=#ÿCí’ôϰ½–!h&Ÿè…Lš™§×¶©¡&¤ÅYjyE}ˆÓ£7Êœ™m‘tnO› J ¨­&kö%‚}ø”?‹^äöF¹daØòY‡iâúeŸ QH£gFøˆÒ6ª-d áj€\ËÓ)µr¶(‰„ß³€/8øè°R¶ŽÛ¹€¸['žUØ.Ì,‚ÚÁ´Ú½deš‘4Ú x{ ܆k`ªëDáÖU÷ëð„z`öá›Â!Ó ;¡GJ ë™f‰þ5Mq‡¡•¥ŽmnX[x‡Dßé_D(^g]¦¨®Þ;¬û€IEd0Â- +©Ó’ùÑ-´žè}óÂM:÷ù1ò³Ú+{Rñº›¶½qmHIoúIÎÑ$BUì †ÝćHºF‘k‡šØ`i8즵ÎN  +Aá³xÈ…w¯¬qÒù(™Ð’ŠªÍ P—ƒZ™l¡›C9­À-*ñ«Ò=åÛ ß`:×eŒƒÏ/¸’bÍh«ÇDÔ‘TÈÏßÂ| _¸ÀYÕœüÙ‚KZi5@1Üà,{ Ì´M}]p£ˆà yØj°ÈTQ¶âÄÃXë¨ p·@ƒÕ—öŽo u­+ê ÆÓ +¶!6-J\>tït×^ç´å™õfWÊÑj¢ržš!+IrhQ¿* ¨7ó…E¢ÚªÂev­ŠQàåJª6|ïžÉÿ4 ›ªLŒ\"f‘jl=» !ª­¼ý–èDTƒ6çn†Œœ« +L3ü1'©Âæ6èQßÞ8ÌißMm0°F•)š±j(¤9—ꌬ†5à/€ô”âƒyMIª`´„´¾¥”aÖe8÷“çUÄ´ƒGlQ*,Èù=HC¯p°;NYo¨•P¶¾éR~E+©¿Si3†¡_+(dhûQ +•‚ÒeIu#Þ± 1®Q­úþá'„ÙšÓ•›½ðž(î{´Š'®š§raÔº ž"P<é$°Rã“cRµD’ÓâáƒSw 8½YÎÙìäãªú”cxìõ?÷kZ]˜ŠAiú+‘  Ÿâ$œI"`m¶'SOÖQ ¦Ìs¢˜6³g>?Ó¦t ôxéù3¥ê•·ߨeí~•w%Æ×Í£¹ÛçåBTi¸"”Ç\„3 ë.¥%uÝeú…RoÀ¬‘“’{d¥Rî k…°B~}w™ÒÉš~ˆx‘H©§ˆPˆwe;ÛÂÖMq*ƒ¦|;á/%ˆa>'¨ˆálŠJ¦:5¡_€©GPSyÆ@©ü˜Ž‹X˜ÚØ’©ë„1®¹5 0Xø ŽhýZ‹Û̲~.~(ß´ÙšÄJª†Ää1EõÅ•åÈœ¾ä +*ÿ)Ò¨6q0”¢‡Ðâ[rá|—\ÌâÑ9ͤttãûtr¤—k¹‚ñÌîÙ1fz„5)Š}B}¤rX4Šâ­sxè2öÁ q×€2O%V=k³÷îjñr ä¸eqáG…h}Í¡*ÞÐÉr‹Ñ µ²ÝT2¼‚éÚqD&DÏD»AáÉ 8cŒ!í…Û——gM>¬©ñ0=2‘ôh}Ç7ó£/XwY¥„Go- 2´ücã£ÃŒY;€íú·1üâ׊7BxçFU†Ê+Çúïæ°ïÏй,ËpƒËªäΔ݇}ZÍ%úG¥ûB0O)ƒþ€`æÝ†ÖY‹ûfQú6ÍŠØ„J2€~$íÎOŽÅkÇ’¥.â=ñ,u~Á÷ÞüaÝ Ik­ÊÖ´ÁöOê¹w×njÞ™þÇèÝË_Òdðq‚÷8ä +Ÿûƒ±Öñ³1 ^Àì÷œ”yC_Ôàˆî:&‘:# ŠŠ…‡ kE}™ÕÍÑ×l-GË4ú +*iØÑWÇÝ ínô½z—ù[@ßi‹_Âì(Ê¥¿pÆÇ…¬°‚¥ØAªø¡`«Oë`4Ó5˜°ÐœÿÂH…»¹Û–Ù$ë=7q¿ðŒôßlI½¾pv=*>’ICqÎ_XR¿8J˜yá½æ¨Æ "rš—ƒ‚ð^;×ü^X#hc£*ñª,+Ï}@pX™líAüý|ì“¶EOˆ¡'õúHˆ5+˜Ÿ#qB,ø·ÄigêèÍ%jçž™2[@ËyýlSˆÕµHÛŽð‹u:uo‹ýûæ+·ìó´úèíÄ&‡IÙ @~ÃEÀJ§ÉÊá$"„aºZ0ìo Ìçð×›i†Ó'$1t(Ê™÷,ÿGΑ8%4ض«D¡G´}¸›Žð2§ãdÝ´ûàµÞÈ2ß@ÁîÈ\˜gÚ©ÙÁR«e™²#äÓh*L• ÿëÃŒÿåQ, ×M˜vÔ; + +ò& þ*Í1ÇkƒÄ¨1c‹%-pl²ÔN©ªfXØ|ç$›¯ík…ê+çI^¥%ÀòÔÈ‚(ÙdbÀêx£áõïSÕ¬%²À]¹0b+0Ê*™hTWÍáï.ê¨Éš'l;¬dT”j´ÅÁH‚Îë}¼‰ýX͆µÒ2HX(øjkœFÎܸ~jŸk±(qJ&sw’˜š‚NùV#–…zI¬«ÚqáoçJDUOò"5^C/ZY?φ‘®SË÷PµÕiç‘T°2Ý^'áóPáÂhé=cœKE¼ˆ—Ç{ÝÌN È(½€¶~ð”©"}¾÷e íFO_ÑŠÂpÀÇYôr? uá³pÞ›2Ã#®¥òçI¸¨Vn¡UÒd…›AuKùþñ—Ï&o‹á.'‡†Šž<ºUmŠÙs(1!ŸÿÔ2 Àù?MÆb4¬UêXÍÉ8å}y6ŒÓ’À¯ˆL"¥â‹˜zÓ|¯ë"Jnq§_ITðV(„Z-ëÇÜcÀ~Ò±XYá’a­®Ãh60ŸgPgG^SÙ“ñØk[³Ù‚Ðô!öúµØ vøyc®'ÕËÌòXçx~ª#‹NKapm¢/.¤*¶àô077Aó‚ïo±üKö·­I¨'ƒM;_baÍt:Ã*°‚ASyz|þÁ1LE‡‹¢Ðú8¢ ,þÜìIþdÄÓ¹«gŠqÊ¡/E­Ë¤3Hz´Û'ç‡‚ê¬æ æÉ½RÂíßøTËJTºh›K†8R` ú~! +¦s yá¾w¦òÎ'X„N°°M€O<¤Éigå zDÍ–Dµ¶Qƒ²+ã¢Z"IcÙ*—°'­ýMO‚]²I”¦ d~bïIÚõdOààêô« ?d~Âb²|M0¨/ŠOV ó§8¶¥™‘óP·îe!“Ö/%k¯òÌæ2Ç!â)žÿ€°ÍÈ™8ÌÏ”Eæ6|Zчþ”¦ŠÒ–V?|EX[µôIP¹ôy Ú‘;* ++ßøµà‚#z·î‘|Àíó-2ß –Y'æ³ó†³ýáŽá#t2HÇÉîlÆÐ‹"Å—Uaàß\Ál¦³µ"Ǩ6د~±Žï€ÛFêO(x£ÞBôtHW†—%|ï9Ħ.èk`•ÿ/|ñ"ŒJéC³:@Ѝˆßú«“yàR&Èõ}6EÃéhñÅN ]q5]³‘mÌ/YOÇmŽÔÆôÊ-ñ¡Ð8Èb3ðLvV6·ªxlç'Z±5íºò‚ò–º+÷,Ì¢'ÞlJ?CΤ&Tes{tþv¶ýÔ^léÛÍ«"{‰Ž¾Úú$‚$=¾ \ßä ~Gúv“ÐÇ;©Ãm ®…5/·íc÷Rx(º'Š{Ö²Ð݆浌âr{5\/ëtVÉÕrsº×ø˜7ÿÓèŸ Rv2g´ìZÂ8™ÚÑÛÅ«´±H¥Ò•øD¡Ï`ÉOö@Þ…Âü¸[Ìrç¦:"Û_ÜÁPXšÐÒú·Aµ7$L%øJ0µIÃ:}PÚñ"~«s=ã@˜‘³T=ƒãèIgíælâ¸ûˆdQJßî0Šî˜œ×ä|€YÐëQÿØŠ¸HQ}Ã8N +úïÁ.Ýu`˜w9l~>ò sxL©¢Ç©Y>!¢û7{¶Cq E¡üU½%|ó¡Ã“zÎçsoOÉ(ÐÀp^­é!&ldó¿'*¹\VúR…+Š_#Ë„•Òd+©KÁ¢‹Úœ×”YM>táèX4Û'ÔËAÍÅ·™WHeü:PDyPç›uû0Â[ÂÓ¯3M’0Rœã Ð0ÞÐX\°†hè¢ÞuãŠnÜ”("55à +¸èýª\#úh"A1Íf ï3››FF €Œ­È¯Y¿‡ŽM@Dbn”6ÐÚHߤü@XZ"çÞ½<ûQòb§®ïFpíÊ:㼜ҳ¿ƒiW7'.1T²•UŽ)Æ©QB¼#§ ƒØ‰hà5•±Çy.dX“$b|9ˆ Êâ½2Ô29)!IsØX¾TÏ}H&Á§Õ¥²m£áòŠW°hnÁj˜·vÌQ s·÷ëѺÈY¨P*ÿâo5\EkZž4qÚ¾QÛî+ÂAG·sîRì5.Êߊ2ÛëaÛŠ²(¾ÙȪo7S©•k&ÍW#9ÙºýójÓò¥áiÚêH&\ÒdÜH!âEù4 €1™Öåôf%ç¶ç$£Ã•ª”b"#™p×á÷vï™óð¾M7V¬‘Ý;`­°±R>£™ÐC¾HûÔî(rNÓøäõÅYJèij„O>#¯…ýy°ˆD±-ÂâÇ ˜´J™w *žåž{Nø#¾“ÏÁþ Ïγv؃ËS G}ãƒHÏ¡¿A¶öbúì‚@(q(²ÁPŽ?KãcuHøgËcä3׿†»Cc8l&ºú˜IúááQÌkÌd8ó XÍ4ÑÃ!fò]=e™¤”‰C{PŽLrC21½ 7>ÌXž2ûÄ*´ª~¸èZwÿÉä2@`3:h@(eÂúÈäõÀWÀ{ D]V—ÅËàüÌtAX5&¬„†Å„B¸5&lBN +Á}L–-‡d%’éº "Sc2"n,&½ò]­ÕgFÃJ"ªæMÄdIЍ"LÞ­ˆßɰÀIJE¼Ô¶_D§ÏšÆ=d„ë?#N(Ž` וƒÉC˜&!ý% l°åKX uš¼.½‰^ IÁKºJBs]r™IÔœKOB,.е +§¬^%†¼%Xâ‹/ÝJK”SK \B@×nßKÜ?K ƒ ie.bLLË’åʳ±$ê™ KPÓD­¯$ï5ñÑ• ÖDW±MÌÖJ²ph˜^¬$6MЬ’&:QB•„j'¥1&dÆ-Ÿ’š=ñjJØë•,%Õ?ñŒ”ÀŠú…;¬4PíN2 N)”0`6 ¤]O@|’°GQàf¤p—Ó“â˜K2×þU“Ðõù<*DÑ “L†.I85Å.–„¤=¨$ˆOþ“„ãQT–$ Ž +Q'Àr¤þRÁ鑤 ŠNU¼1öà9BXvDp$]ÍŠîŒY+ºê·‚æEB®ÀU$I¼¢ÀDô[!ÊÀ¢–C’# X±¨Tx,¶ r²(xÝf!Ë@’òÂgèrb`Í3 TB%}bW Rý‘>i¡DüÞQ 'ôÔBÕ÷òj!Éz„Я…šÍ#ÔÙÂwxƒ[•TrCºìH›·0«Ž$Á…ãb +ù*4Ì‘¨çb<Ž 5]Dü 9T×¼.$ GpP߯[§i/@¼Jlykl„—zdt*r4ßîE×ûYæ ¨‘CSuCÒûbYtôÀ_D`ª“цl'ž 9’‘³‚6FÈ=M‰‘é„A'Œ°`=‘u*œÎÑaØàEöC Fç"‡L N#a£«âÅ`ªaߘEÔC8,œÑ4]J<+‚2T‘ È¨ý©L26Kô&£ö$’2ÎAªV†LO„½–áöDx¡œH¨/ÃyšH@f`"?šÑ¸©×fxì$rY ûIä³3bŠD(êšGõg3" AC£"ByhÈCD(â…ˆpÑÐÒs= D"FËò¤4È|@L£A=äê4ðÔh^‡Œ)5P17²!vT vãÛÕ`zC`3ktµ!ß[c ñíÑW`ƒÑ áŠz7Ùà%ÏÙè‘!Oiã†t® Å/„}^]ˆ’Û†@^ ¸Ááè:/Š'7b®Q4}J7¨gDzÝè$…ÀÈ2 ´½1nBû†LÅUàÀ–„ät!.Á!M„,%…^ᄼF>H5ô;ˆdq´ÌAÖ á㨹G†”#QƒüÈrüeTÌ¡Ak1<:‡šWLŸÃ04tH;Aˆ{tè– dL‡öF&ÔaG'U‡Nqßœuœ‘ax{žŒj` YgÇqеCìH;¸ãhBÓšï8‰aÚwÈ) Q"D$xh — NH‰‘+ ‘ǃ,›<Úü×Ëwç€ÿCÒùGbz¼º?·z´¡þˆ9–?þzˆþh#ÚãÓý óš,ûQL¦töæ÷ ©~äwè‡6øa~Ä1>îãQùÐeø‘>5ÔG¾ï£eéÐu?]k¬ºRì~û˜;i}”e~¬Ì}%´mˆ3Ò$œ¾íl>ž ?˜„5à·ñQ’qýóÏóD¬ÄÇË hàcó€ï=`'îë=ìö”{ÜÕN'=©LâIsdäß!¯Ä›ùž‚cx¯Õ¡éö8&S{»¿ Â_ö uPfXê‚pcpAj®$÷ÿyvAp’MÙ²˜Í»`ýlÕ9ãY·P„ãêA}&¦a¾Õ®VRv~3›QÅ94=0M‘Úä¶ÍcÊeBD%)÷óš‚ ®ó}Œ®’:cÉS—ͥюyðx-/ â¡<~KAzÝäÈ£|{<ÔI‘ŒG€‰qDŠ?¤ñ@WõBWðH‚Ôà.†€óIó;p€ |Çú:ï¨65ïÈèešŒ¹CUYN-BGaf :½ŽžGíÐ_~v´¯e‡ D앾)=Ø›:PÖ^‡k®ãé.F­ƒ«B ëˆ.kVGÔö©CÿŒ:< ˆ^=i“f„Z@hÌÍÃT•"+¤#dé{¾öÐgÐÁ­ýÍŒžÚ¸Î¨@Râ¨6Gáï™Ã‰@Ô2æÈc\€zîåH*{Cl^å oQŽ6óLrCr4™CŽ„ðĨÔv“)GѺÆaÖÅ80dËâh?‡âh< î#Žòá?®á(~»7¿aƒƒ½%8ú, “B À + ½ûÐÃí³uß0^Ž–åÒ„Ø9÷F²ÞP GyÌÒX + kðFêyánÐS^7à¹éýóÜè¯ÜÀN7€H2¸ö¯& é–ðµØÆ¼€Û þ_±wZN  oã(?×D@†ªD¼m d@44„µRîÌ—m:~ŒMˆ$”Ú"»i~i !³ Úé8#ò JßâvÅC"~¼¿Yä<µ±”6Ìã  Éˆ³ÑY/9& +òulôz‚hóÄ}a3 lû FQ¡±¤kXDp ü˵ë:kÔ=-]HM¬ñ‹ Û®F#«w‚¸S5Š+ˆüêàö¥F,¯5 +„3Ôiú>˜d›Ó@ö …šFòŠi`½³ˆá)!`ð’,!I$ŸJc¢B–# ‘øhpêB¼ ÊSбh,Ã!¢ž¢ËÐHÕBƒ$h€wC>ÿŒÄ¢Õg ïÁž¢Ï@G;)D„Ñà‰ˆ9ÃÎI?¿Ü$RØfP¾Dú­K3„‘f A‘b3ãËIz2ƒHEzŠ«+ Ì`™EZxW\„¿epêEª³Œ×Áë•Á#uU23e@n‡2úή“јFʘŒ¤×ÈCÉàq#u-82Yd QŽ:d4§#à böÇÐÎùõˆòˆãM²P|L"qqŒÐò#³o*n@"€ÆÈéŽ1\ ÛãH…$³Ã°2œy…¤kÅHÎCâ»b¼I³#„‘ØWs$5%F#$1‹ß’¤©G%Abô]’YºÃ4“¼Î0(ù/ äM2´ÂHÈ“ˆ›0° D@„%ZLJ qã+Æ`4'%`R0²öP‚áV”œÀ¢¤zÀ(”¬ 0À ÿ ·(¹HJë/ÒA‰d¿X%ÝøE +WJÌD­J苇*i_ô‚¾–§’Æöb³Z/šH/€Éæ3H^ôM%K‰” x!}*2yE•l .Fª„Jv‘üç/XQÞéÕt‡*É7ËEõ2¹0$r\ æ‰ ÒU¸È+™.¨>¦€&ón¡V2üW½~ÚmæJ>j‹þ×$“sÙ7 [º’0×kÑβËzjáæJ–§ȱÒBÄ•üü­$Àh‘o+ñ3hqìm¸¿g¡ÚJ,™³¸å#8kü'fÑGiYPÙJ¶(‹æW¢ Yð™ å²° KŠãX¬1ò”¢%ù‹Åœ,2±È¥%B8,H!dÂÂF,¤dI`1)-að+ø¶¤î½âE.ÁlàÑ.¦¡ÙK&¸Ì¿D™®Àˆ0ñ•+PÄD\Aq+¼hL$÷m lÅ2=­h™8:ëüüÓ*†NœFšêD:¢"6;9*ØîDPQJa )b”ʦì†qqŠ©:<OÀ–w¢¡¥˜g'ŠÀNÞ!fý”sn‚›ò¥ &¬” Ô* ѾùÖõá#°‰yùtG¤÷*cêÂŘ—#„ËU~áhs¡ö*G×_ER£9#ô¹ŠžŒ¸¿¯Áâ*U`¸Å‹¨ð…‹°÷g¸ïï¥TE´/¦‹VQŠH»b*¡UZNÿUÑ¿DT`•Ñ$‚ûª¢ëˆˆ8 +¬bÄBÄ1· ÷"X%͇mðÕNð«œCÌ6oˆ6¹jl=œEˆÌ¢W%•¾™‚ýU•NâyU¦¹>«Xc!ªÞ*ê)ƒ÷„ðñ*b'1²ÀÊ•L¬ðXÅ +àoÛ–+݃b%rMV0s³"±›Väk…,,BtÌ­˜½pF.WÖ”YÜIuE&Wv/IWT©»‚PB\æŽ$˽Raï+ÜM€…; ‘i';ËH>À¢S ¬ +`á€%Xš÷{#XT[Î8!¤µ\LI¥èö]‚¥7¥+>¶·‹ÌΜB:nB˜*™’$„ì´•°Ô›ã³Q$ MKª Ûü&] Ëv"bŒ„a)T³QX†eNž6t}eüœbûŒ‚z\ÌRãx+„d˜MI!Âß|Ëž¢gX¾IºLz¿Z Xax'°Ï°!žä.LJlL¦‚ì¹ X]S^ ‚±,A$¨X”R©$Gf,Ê8…EòXTˆ’‘eÛ{²èQ@ĈÓ„e€ØÃ,ÅùS³ØànåùzÎ’0àÂg@]A<¸B‹ÆüÐŒ?¤-¹ÕÒâìÃa©~؇°SËqúP½Z4ž ×bR>€ƒ-Š‹”²Å >°Ó%ï\ÛbÀ=P[”\”Înqy=0Ô[Ä«ü-ÓµÁExèÎÃE€=òçc\21/È…)ÊÃåõñ@¹`< œ î‡( I`ð $]ÈÁ)ué÷;ün]8z$É.ÅH{·]ä#» Ù¶ëwi&í0^PÉ„—R`‡Ëâ…¯¸`+å¦ñÍ ?¬C½è1ÖË}êp¬öBÃϾ—[é€8¾è-¦Ù—ÇË¿¨õ¸vóöµõpþÒu€×ü—íÃý˜6¹fÀ|R¢0W˜O,ïr¦Näðl‚¡w¦ "〼”âq04ˆC?„iºphb ó>±÷¢Â§œ ]©¾Høël3 o¾!vRopexCå<ÌÇnÀÄhÏ ­˜QãpYbÔõ64?1Ú|DňR0رô¢ Móm€‰1ú™ AÃŒ¹C6àÔ‘Æ ð£_ƒ@öXH™b\l )>F ¹b ŸB†Éj¨&2³§*G¦…QCÓ$󛊂-LƵ&¨¤!Ó•“iM ”Á# °†¸R†Šh(R™BCßÊlþ É2­=CÑ–ùí œ]¦FÎù—¹·ˆ@̤Ï$Ld†CfHÕÌ¿ ôh¦cËÐX3G+¸6ÓHÊÐgæ&!9SO2t–Î|Ed;Ó dHä™q<”{¦üÆÐßg¶ ©É'h&] u ÍYÅ@jh´ìiýÑ$w›Ž‰¿,¡Ã@Öht1 ûh®#û# i˜û‡Ò( YƒáÓtÚšÆÔ_ƒNS:xë/ôd§{¡Ò[½p`jú3/$Q3¼ð^Õ$$‚•VÓ](ú§ '%‘0£çÂÃP£^¹ÃÖü0Ã5âàB§®Ùôp6¯‘²te~ ޶á¾Ô‚XÕÂêaS*è c£V¤ -ðNgáEeÓØ 7¼e6T' ñÎÆðX8‰6U°¦ \±P–ªÍ’ïy¯Û8€t¶iæ+Äp› ¯Àæmšs… +nîø 8‹›Q­€`tVð8åæžò‰éöôy€éf¶B_7¤$fýÿu£ªÀs7ŠK…\›ߨ@Z‹´‰ö0õF•PŽÐÀ÷¢ƒœ‚P¾ÙÒ(Ý72˜Br¿®Ô·Ñ8Ó“Bh¤8®…& ޤQØ78…ˆ„cCžY8å …úT8(LÎE ÐtÄõp(ŽŸgqTôf1Žô€×8Ö Žc5'ðøã;eÕ#r:|XÉÉî&””² Å’èÏ&Håt€+O¬r¨Ð„'ÑæËLh‚Lö‡ \”Óû%€¯rzt Ó·–ÐÄð-Y tf9©øŽ™5x9Ç(á¸Ò“о4 ¶]Ž”%!O—³I 9*u5¨.gŠHHæh <3GÿG`«9¢=Þ¡;;çˆÈÈ;GÑFâså:|4œÐa‘ž$:Ð/ÞèÚ"L’ÕŠÀ¼¥Söm:ê§S¾Bê¤NT‡7EèZZÉXgÚ`ëôŸZ'61סp"´}²2ì̲Ó6ivBÏh§Å`GQ•Gê²D½`PŠïÃúÀ"ZÊÌ@@ÌÓµÞ&L„Ž@žŠ‘µÆ÷à°ÛAŽ%$ñ«=àaOVÂc^”EV|à;±=è‡ù¦ærl$UÆ_BñesÛœùûú¨Ž’í~]{0l˜MX¾®¡®¹þ¶ÈU}iÛ\ÀHõWBÛ,µ ¢‚&Óɲ°=hÞ‘º\{m⺕ŽììýðéaÓê[{ðÆ'…> jÎåÚ' sÇm¢Õ@p–Szjq¹®;>³–}<((!l/üŠ=zà%ØͶ' w_ d))´´Ñƒ/MZ}¥Xœ£: -û‹V‘£Ô±`æ`×gY±ƒ¿M°Hô¸Ñƒ1%ʰÜ̾q­x'‘5ëÁôP„¯EW±ê +÷èr””ý‚RqGàäru˜þuåÒ<€[¶ Ï1¬ÆdŠo¡* £?Γ|x®BTºn+¤2kpÌ’‘êQÚæ¸šÄ`{IËG–37wÀD».~î@?þÏ«‰Òæ~žtQ¾1îa+óSÈÚcŸ-ð¤nm,Ml½œÊá;P¿Ï‚ÂÌÍwð>5o')Ònî`G¤©¥®S¸Õ +¼I9dºÀ¤òG¥gž©æ«ƒµ,èxšÆ6 5Ï9ü:#¢®;DŠ3¾>ô˜#yÑ–¶ª9ô&ïÉ<FckÙV™ƒ@/^˜‘;+S嚇‘¬ò±ßˆ¤ô( ÖH•gk² ²©lÊÁD¿Ý««À/ä V•+_fà%«.´Œ(’â½80Kå[HqYúxÒ?dašÎ€ !EU‰æ‚ƒ•h \žeu߈ P‡‘0PWj +îÏvH@“¦DŽ6z;T’œ`¨ŒW@H&ƒ[¯°yJÉDð.Ðxa“j9 P]ÐÛ¢€Îã$g.¿ç¤ É\ —PC¿Ã°$Ș €Ôu r2ÓöŽª*a Ê1„§Åj“¨åûi;a¢œ°.fõ< ªWänàuùÁZY nù~$ÝøiÆ‚‰íŒ~UŒŠ +ň7¾Ë©¼ô +èö,ˆÑ•éŒ4X‡þL +<•zjÖï ­ l–%Xÿ«ÇDpÞ圬 +>›’VÎí¦©à ?¿béîD©záÄÇmºS0Dû| µ}b +ާîzEGÕP +†«Uc¶|.Œ¶ R0¼A—ójŠ aì)4A2¶ó¡ìÀ2MsäC7ZÉQ¦€²A‰¼¢áûŠ©Ÿ‡ ,·Ÿ é•qµî½ÚѬNb‡ka‡¯Xw¥oŠÕ–,™¶X†Þj¶Z›€,®êX]"r‰&Øþ{é*Þ3C&È?±äÅ;‘ 4ýC8·Àã— ´ÓPX f]1³Ý?_ Ê®bxE¹Ê¦” Þƒõ»@ÊI@sø‚Ô‹O“$ ¢™—Ü âý¨¨UH0wP;‘\¡Fw?! +Há¼c݈K:SÉ•²À–Io/‚V£lm„­#SE°¡ªX€”I•Ž(=ţⲛù ãÌ!‚“†âzX["€?Ñ·Ûƒ"#$”ƒy ŒB!àâ±VÁõ+ÉÂûõäÏ1«“RÛ‚`!ó …o  í† 9}1T(I™€chŸCÙú÷5öÚømfg…ÌÆ(ª’ Ð}€Çôo’öro>ã¼O()ÀQÝõ€9Ðá¹R×ãŒ:ÁåHvŽ¢¾âcFelœAð„ʦíؽ×kršÙ³Ôo!ÖhÒ*ô¯:àÊ$œ2à I؈Oà{Lü0<†T[ CðH<õHóeSY8Ðh?$Þ¡œ“Ùx¾;u YQ÷Ò&DG9« ÌTÜq‡aL峑ŽÖ±¾ ÃÀÜ€t÷4v¸Æ¤Òpü£h€¦ßÔtl.ˆgàÑåyT9=K3 ‹²räËne@Hƒæ€¿P42ùÚ†ÉÀO] h °’OÒjyG Ì^$™{€o×FØ]zg8vé¡3 ö/ð ·(Áâ¿?ÙpíqŠ>ñ/ ç{¾Ð¦Ü5(˜~Y/°˜¼s™kìFÖH²™ª78}#oÚ 0xl;-y'Òó”(-#”x{Ô12MCáÌj®©òÝi—þæ€s+ïêUWc߯U@LQ˜¨3,ÒR$Fi¾loPœÀ ¬`ð¶E‰ÎIsWfºê'æR› ` +¨=Q¯ÌDsûg3<*ç´¾‘1B.ÜƶRå¶óJÝ5z™ 4Ýðç¾Sþá*«®Í¢íÿD[Táñ^`¿$Ðóhÿ%z {#$ýx¹'$Ðh>¡†„ øhË8;n"0˜ù%G CMU=xÃ|£¬ŸD÷`\îDÀ®Œ²gáÅfz-g ®I! ó!ØŽñå¥ç‚@ãTÑ~Ô5úã(}D逡© +µP°a覻U>ÀŽ×”¼S~‹£á$=Àul{×PØ»åÈé•Ðq09‚nzRæ@ÂX,Ç‹6ÂpÎLõ 6^IÓΈ¢ ¸ŸW¨ˆ èSžaû x/ü é÷µ’GЃËûÖñ!–³{þcå„ püÀ£À0 k AÆ>ïwÀVA +wIøÀà§ GõÀ @ô¸Jðy:Ùw\§˜ ÎN’°Hê³€¸´F—¨` +<ß+€þ3ß~X• À¤*€è,Ý®0Ô£¼pyD"`‚-N(`c˜ÅWRÎ Ú¹ÃÈÛÀÁp9¶q¢¾ˆJÀÚ<ì pKéÀ꺸^Ø{œ×0®|Ânäug>˜Ì3è33Œ5ƒCæs³%1ëR?€iT ]‚é>‰:ÛŽçf ŒTú(¦Ÿ÷d I!ZoÝ7&ð¦ÝÙ/ç|:¼C|¾û†h²òâ°Ÿ’¤"2@Vš÷ÿ0:S3ÆßPf³ЈîÞ + Ô†™Î-(“Ä÷KÎò¶z›§œ“ +ÉÀáq’Üï1.†>»XêDÔ Ò€ÀšœÑ @"PÔ¹°'bLrïs®8§r@)¾‚Ë:×™B4ç ÖièDð‚â.N+¦´ÃMB%©\½RävsÞ£*‚ÚÕFs¡ ¨Tò{¤€b¥u @ÝpÚ\ !€ò¿}ýÅp}¼sE!ê¢0Ê€íWÅXßÁ¡2«W¸ØÀX&ü¥ž:I;ùGp²€'#SÃ8ŠÖ‡¿‹+€¢`á¦(µŒŒf­,ž[qÆðêÝÁ&…£á0cÒuWǃÇ*°ìN¼«&PU/‚_ Xc pM_´3q"@Ó“B80«—(W îÍÑBq%2l?˜&¼sDRK¨!Ãîø.ÀJ +'|Tƒ#Š.¿¯¢æˆQ@f4¯…•$¶æEˆõ‘J:‚ˆ‘ãåà‘54ˆ½S„» ÂïɾE›8> Ÿ»”·Š7•ÿø ÄQ +û¿£ßDmÅÛþ_ õ¸Ø‘ýJ{ö¢YtŽmÿçcZkZ4q쟿àŒýÿõ0C$PÇÿùRîÿ¯ˆ}j¶PÚÿfª]æ£ÿvfÊzˆü§®°]V¡(i,Díû‡Ùi‚h²ç ì9kÿ>¨àØTÒ_ûÇ)ù!—Wÿ6\q.“~õpÐ?Ûñ7¶.e! ÿJ»â„^1Iˆ.ÿœÞ½_ ƒµà>öø_‹Ã`’„SN Á݈÷Oˆ±ƒðKíÂ}û¯$¸¿«*‰y.˜»ðÙŸú´ »0ï§×ßz÷ô6F·êH‡ƒ§DfúXer{^_¹€+%Þ°ù¥¿èf¬ôaJ_€8#ù4f^n(ÿÈ¥­¶.5Züq«¥ +£á/JÌ‹]â|Jð _Æ}?f¹Ì”#Ùä•’”eyÿocaÍ€J÷#É+uý-LÂýdf%Åwïcû· 0â£`<û­ß_‰iò +ýaµû{”€ª£»œIzýÜà5}B‚ @Z?%Ò‘fÕ¯ Ž}ÝYäP¿¦>( îðy˜~RòÇôsßeomd¶ «{ô‹ ýøÙ'¥½›Ýç?£˜W떘ο5CÆ(µ¤k~7Œ)º +[Ìo2;™„ûOE._–ßíµùœ&õÔ!”RóÚk俌‹Cfà'¿¤¬ÇOoê ·¬Óøyj}ʼnå˜ ¼âcÿSH†¿ä6ï£VG„ÿŸ#\£©(³ü$qüfŒ‹:ÏÞ5æã'}ÀEh/¨¯ï£«Ö'¾GÊ޷ኜã»*=ñ>G0ßDl#ÞGWÅáøNfT]vÿŸi¼Œž[›‹ƒîC–æä ÞŽû3î@>Ã2F‘Ñ·ÿPyÝÜôÖöq +_úrXûçs²&K¬ö¦Ñþ7.í$Xf_³Õ¿ ’w¥GöסÏÔ‚R9Ü.JìÃ"¨ü÷”û²s¯*nêFßõ¯J‚$Šj´«¯vKAý¶”lŠ$@œ¾Üض7€"ÄK_n ÜR©e’I¿ý/»EL}Û £oýi‰‘¢¿Û•}LÇ™¡O•¨ãG¼€èkÔçÑ»r*&¹x1}¾x™ ÇçÏ‘yºøÅó™å:X G.ˆå™¯ k·‘Þ|$\Рü˜9ÿYîV«Ïæ‡ÇEÍ +°0ç·à^á + 9IIØÜÏœ?¹a¦}“ºù-E‘i¬4»ù'4„I 1íæIL4O–ÚC»ùCÂRIX2XbÆòMý;Úl "QªRó7y€î2„Ró‹·à>h•‰&Ôün‹8gó~•;£æ'tžSóy­b"6sÜ€è@ÍŸîE9̯€zŸ¨ùaz/Öâ4Ÿèì6ÍŸ 8×Ý•.ž›æŸô¨Æía!O6e2’wö¨y“AaWJ¾ßlv´Áåÿ.بjš +F_ù7G»´çê˜òÿ›FA½ê©“Oãoùì£LÉ?üví-‹ü¸=Ö'ÈœQ”>ÅU4òø׺Œ¼M»V ÇwØy»¥哯‡Kc@ùcP}Äà0QÝN°W|lÞZW°+…³ÞCN|NZØ.‡š·E|¬ÈÈ›‡8iBZ®_†ÿ/ R´ Ÿ¶rY6ˆØU0>w +_ƒgç+Dá[Œë ·Rpâ‚ï’®ÏÆG®1Þ‹--zÎITE|TÝf÷ÐréC rìa`Vôû_&ˆ; ëûzÍŸwa¡…ï­ÅÃcãwmƒ½¯åT ²IÞ[_€DC)&ŸIu.7áÚ¼ÏFóRë»ÿ <É•õúî%ù|åsŒEí^Cq«Y÷dg‰ç 5Ý_•aêšûšñRá–.1ÑBîÍ›M ——-çÃ=ˆ:ç' ‰ãEí·×ê7¶ÔÃw¼>I‚܆^‡4ÙöÉöiälÀE¯cûd¹eT&¥µ§Ï~…:€n¹µoÊ™‚nì9U i͋Ğu°QïGfF¿ {r´ÏKE]¡_+°ïSy48\Jàë㎼!¦çÚÀû½ë JņÁëƒãS¸,s=™]ŒFhØíÖ?u3–&Wè­«õJF×Áï'Gf}®nº@À@Ö—Ð. ‘[5tõ]"O2¯$ÄÇ«Ï&óPõ³îàÊ¥Ëð©AÔF…˜ÀS?ƒ¥~„š§x¦çÙ¨'£_¼­ý¦ŒP?ü¥Ä +ÖgøôÞ€)ót6túóAÖ}•ã]±aÓÿµÃ^ñRŽégC&[-}3ÒUHäŪ¡ô]%XL÷äe|0Žô­J‰X@žk|ô”:½ñgä\ëPÕË’²è--ìyè9woÇeÝÊo 6ô¨u©ƒþ‡^è%ñÀÖ¨:Nè1²›H_bz,èWtïMÔýT@ÏÞµè– éÌÏ‘¾Ìq À{Þx)B~Ï{$4&”²^Êó¼Á +–.*pß ¼óhzõÔ÷ºUçeáC¨@½lΣÛâA×Ýô8qþ¸{^ú?™§s7ÏÅ‚ŸÊæÍNúx4ää‹Nj¾Š ­¥æE»!,‰æßŠ6•ØËr™§Þ—`W ‘cÞ_c 7pÑÛæš£?ü¢#¡ØBøqK—·â:{\ÀÖ¿w…˜ mñcùU[7G@Ó±¼ÕÜ‚P–žÖÊ?8FÀKZ“›¨|’ê&¸x3:”'Tg¼¿W/Òûäo“€“~)¿GÅR.‹Ï@ÊC–|­ñþ«)ÅIÞÉúëhÝo×7ò·D4Ë2ÄR`%òðö}øóRæJÈ/ àï—ú€¥P»{¼m +g}ןªâ=‡™ bKG˜Ë†Þ6þ[<<{÷HÒxìuÅ·6-%VŽ*Uk4<º.Ô~ñpóqµ[¢->¬´ÚûlWüd1 $zúnezJñHE!'þƒº„©V¢µð™`I‰/¨É Õ¬ˆ'¾Ø·ƒ[–?½óùª<ü¨¢°Œ¢ðhâ ÿrÅât-¬zJ?ó+ýïÂ; æ‘A×FÙ*¼P¤ÿ·ýñ^–ð4VLn½EBøöSË–ƒ‡3í |‡ÁÿèTÊÛÍ?Ágb†§#£žG€mðéå ÐUà/wåÿ|!í3àa”?j£ÈÌWAˆxŠA(×ÒPë"%ý;k¶G~ú÷yĤìv‹Ù<ñwÖÖˆgHFéw2N€Ý6Q~?mðÇ +ƒ +.ɾû>š>}§Ï½ŠKŸ‘T¼n ÃÍ.å÷ã„™¤ÈÙÞA¦0´Þ KêìO×;Ö÷H*F%¦÷:àx#qÒ€`,îL#Aç}ŒšÃ/E£¼OŸþËÃŽß#·ƒWeá{àÝÁßöØ3-$ïÄ»³f$­§·»bøÛ,_ŽŽà›ÝZÇÅjŒÇ®;¹ï Euï}A³ˆ†î|ïYdö”î|0öÜKFtê º—–Õn¢Hå¥9.pî3)‰¡®Ô—»I|qÃ×S»Ï—ü6'e§K{ÜÙz]â󀌿â.ö…N\u­-î}µtiÇb/Üoc;@H½¸7©?É·ã.;x{­~]MOÛóüei«:"Åæãuà9§˜TZJ&Ø +EœËÈQ_ûÆþÖŽ™«Pxv±GÓBijßÒ¹ášbC¥¬ º™ýDKÃúúûË®?~©ôZ;ÒÊë¥Å²²Üôö¯Éîì‹ÖJ $d÷¨©ƒYRd-"eÇÞ,,Hnbå&õžEÂDÝk‰={£¹×.¬å5½‹ÃnX2l:æ^ÙLØiÒ¯;‰:¸(ØIçòŒ v–Voʹè@À.ȳüoOlwy~ýOå +„1ľnè%ô?¯›o™© šÂ6”›\¤‘您®£âŒ´jPò޹žˆUîhÃuäÒäú»² ×G*Öù+ðéÖ?ç6±ß±õFGÞËji µ>¨Â®$­<€Ö³8B•ŸÔPïe€Þ2ÕWA9Ö•o Iœ_X˜€uQBɧÐn×ÏÕ^4& ªslMju&//à||/æƒöö^š%¬º—Ô´póüÓ×Tq…b:º~ ]À.X–Ë + Œ +endstream endobj 20 0 obj <>stream +A=“rÎÔ71`¨ÔÅ9ŸR3^óémÙ%a8ûë8Ôm>4­¡å±‚:³ªíÓÆÝàøœo﬽È]ÕZÎélhzÂïM§_Ho. ½ +¬éÅLŸÆL·ó‘¶:Ãt²Šåa\Ö øwré·ý ä3†ÿ•¾L[ f-¥s} ÁWp5N:Žqåh¦Öñ§%é4Ê–H?]NÒ "¸ÿwzSGg]ª(ntÑÅâ½WvL†Œ®BRƒØ¢ËéùP9¸8Ɉ&)zômì•¢ð 㓘á¾Èq,„9ŠK Ý· u7ôI]ì}Åæ.t½¹çèÏ‚D“T =>[ôÙ˜KèðÍK‚Ç­ç Gà +mÖ]6eoD½ =ÞÜŽ¹Ö €Î|쓞ª)]ÜÈz£ +çÿ9BQBø?ÏD›{KöÎ,E÷ót˜fñû9¹åÄåý|æÔá/:¼¶m[€nÝób  +¹¾B¤ø@¿aœBºxmi:!0E S¦@'úãʆCž*/ »š8ººÐò6ЬݺǽÙlKè‡ò‘ †5ûk}õœLÖ¤ÐÉ˪lôé¨]Æ ùtï"G1/€®Ì±*à ‘Úʬ“¶™àÏݰ#õ,¡ïsÄTïÛ÷yäÕI GaÞ犳ϴñ>ÁŒì!¤ùüúÃu‚ÐðÝs¦J»6ñèôœŸÚ•×Jåù¦ý[;0üã–ƒ™ZZÓ¥¹d¾¼Ã1 ‚*Žù•e¥ô/U…o35®¹Ídæ“쯹0xÀüÿ®±ÂŒ@|ùcN”ª<Îôþïò˜\ô7¡õ‘Ô3—ß2?Õ²‰ª¼å™##P$7*TËc\A(üiW€ rTÃr”[¬< +ºòoç2úT»€•_„ÉäzýÃÀ©Ààdçv’ªS^Ž€5çYuÅh­ö¾ÄÚ–Eyx5¡Šb)gAyøÒ˜Üý!àœ'÷èIKS¹<œ[tä_ìiäÆm9ß·¿ýØb˸/(rû6¨rÆâ(r•«³Ïá£cˆï¹“v^ë2Jò;òùðÙeï©2é! ?1ÏZø$Sƒ4CWŒ›7/µ]+?ÞŽ~ÿR2 1?ÞjÚiï‰óãxwA¥TÜ0?N W)=ا²üøãæHÚbö¶òã9(~é'ä=©Ïóù/q üøY;–Á/ ùqŸ D Xqñ4?>õ îDV~ÜÓJ»‘úÕr÷Ûû O‹g| a±äÁà\$¢,@Ž j˜U@ΔØ40ûG4©\VºÐ Èû4RQ˜`äD†ŸLÔxJrü-¶Ëº¶šd òó»>w°ŠÈMsñ¨Øv9'H%ßçLAîv:¸÷à!-X5‚BX…™ +ò\‡%âV‹¦ã +òHåB”¦ ßW@qI P@)Èmß + +rv6ÐK^a¨ +rºzB^Ӯ؄Üûÿ.æ5º ymF]>Òö, ýò?çÞ¡ØÊ'ä÷ã$¤çB–ywB>‚/  7<+¢»E² +r:—Ô:V +rghàòy6I‚¼¼3Ò+,ÝÒ£zü”ò„:1çy„Xƒ+çš _½_޵GŸOÈ=ÍeÈ£*,AiwíÜ^‚<Ë#KU8‹+A¾›1so†¹^ßew37HÇ-Èm%È5J?æ) ‘a¡Oñä<>Ì#ü6¸7×§²¼È÷H‰Æ_$ÌÌ`ÏÑÈ¿krh„ç¥òVÃ̯ÌÎâÙ˜+ +òUZ˜»¦‚Ùß1!7Xñ‰ò7ä¤8’‡|’ÇŠþŒ•/(‘ØYw¡\ä)pÃÛ@A~Ò¦€ëèñö +·ßÅÞµ õãLê•õ)3Åá¿ÃþÍ#n†ÔÓý ûÃJ?wœ­kÁµ®ñ^(®÷žWpŒüï$¬HèÂS˜£Üycáæ7U<5 +iŠ +wEµýnøvŠÌ‰-áíA+9þ^ÃÅkx#ÜØ’º á+>3Ð'‹q¬„ÚŽÑÁ£^ìuðœZêüá58»[)Äà”*í…åE¤²àŽòîJr[0¥àuî"]‘d2“àà=0ÞFÁÂ>ÌкWܸ¢y “<è334„,]àÎ@4XÔEÚd'ýÁ9û#áÎÌ ¤„ìž|"(®€GÔ[¡¯îÇŒó¨7¢@³ê¨öSpé<†§ÉvÓ¡Áwãü3B¶Uÿ AÞptý¾–Ðß;–ÎϾߋk¦#›®S¨Vë÷ )?P+Œ/Œ>?5\#~Cß.Á¯|”À=ú†&ñí»oÄÚÐ=÷.¬ìÛ6Y%L§¾ñ—Z \Ðh0資i1¶éùå› + @Àu|?#©Ñ3ØŸN)|³3†‡öÙÇšã{ÿ™µÄ”ˆ´æÞ.ölnN?Ÿ1P{³»G”’mÞO6 °7Xh\Œuü=P;öQ‹ YÄ<½eëýeÊïSºkô>67˜&{ÏûjsP‹04ìEhÞQBO³òOSUÊì"oøxÀÕ룇Çe¼q2NøM {Øï&…FñÖ§Y?¼Èšj|ðC•åÔ˜å¿{~Î<šü*'Îz÷Q1°»Åʯqwê4³ÒßjPÁÚîDQTM?ˆn Á íàÚŸù¬ƒ*#@Çn© Ër¯[«»áÇ<<'@ën WSð¥[u/¨fø^€ÅkÔí ¦@Q†Ìjº‘›'écˆÆH7ÄÅûõc—7ÛÜ49¬¸á]yŽÿsÇ*œº»HôX5‚ÛÜÀ{{z!dn•H;û‚í–{ éìWy ƒ”;Ñk³wõÏa=Émõ¦¬·ýŸÈÍÁžkƒ78Ð6nf ¬Ði—´¸GZSf¹IÜ% €¼£_”qÃ}h­<Ýg{J¸;vPîÿ¹Jp?\Ù*تp€{Pé^Їêc×Âoû¸¥úÆñÞn‹y#ö½’y;Àä`ƒ£ÃuºÛ ¥¨Ûqsa¼¿t¹m¬ØØËm{k 3‘QþFGÄ ·7™§é%eºmyh³#°5'¶‡˜à²‘ƒÚö¨ò0˜×óÙæ÷kuïVL]Ûèâå‹Ü$›zG×RŒ ¶5Æ£üׯ‹#ôÚ—T§qm(BÑT¤"Z;Ç0RyXO¿Úó+NpUûNÀ=š¿Ô~9d€ë4Až4¢2r¨”«ZAÖ4:íÇýóùzÇ´‡Ôä¯I•]œ´ëÔΟv³*ŒŠ¶ï²C;”¥ûÞeh_Û¼t}ö 8éM·'4d8ží“™agQ± ³q‹Š‡n1O‰¾Ù§æÛï”ÕÓZ³×e•a÷§ñ ´ô÷De"ÃìŸ.»7p&}òƒb£mž¤Be›Ã1œb:y²›,2ƒ‡èøù9‚Jöq|ÆcF¶ ²ádžþ-U\è ûƒ"ÚÛ­04òØ€ÛU’°ÇOp%,±È;c×Åù5 +,÷b» ªtûÜú´ú· +`LlKÏ·YÓÿì¢uˆíëkÙàØ£ › ^µ\½aM3l{ÿB·œ +;°…Þc+®°eZN—.ò ì´hëM4)©[ÏQî3`ûð€r%-â/|Ù_·NBvMµ÷K‡}¶A¼òëTg+!äàQJ_7 {«êCîìÜ¢!*FAY®×—Jv¿WcçõUWBl§x­^` ÆëÆ.Å^ÈÞuÔ·žÈI°|§] Lܱ⹺¦Â=mŠ®5W> šn˜k/ýÓzM÷ÎÇuOMý;=‚0 õ…k?†!*8J”ð­G;ÕOnúFŠKžÁÚ:0ˆÀŒÝ%Äýµ¶³·XP(¨X­ÅPTê¡#>6­-–{ +îÕ=R¢u|Þ“g@;ëÊŒ¶Ù‰`ôB“Y£ý_2eM}¹Ï“ ².  Y[ÉMreÑ®gÆŠS×,BlÖ{!ÖmvÊÞ^xÂÖµ¥[aÅ_½wgïÞ^Ð,÷õj¥Z™BþÍeŠeW?ÔcäØo_xˆ«Gˆ„ö•­NŽ*†Œ6í[C«?†.Bí/ryîçXý²Â(-ÃûªMþ—8´jÁϪìçê`U}I‚>k)¢jK6?©©®Rô~¶èÉØÙEªG‹2zc0¢Ú®G»Pô?õ0i5¶{ã^;53²/Òxæ1¶©¹í¬ZdêVÖ´e”KÍä:픓çI©¹˜Ì58$õ¸اq•iTÿ9]+~ÔxìÔîâ*‡z»·dµ¨]%ýÍSÔ”8åh¤ª†ìBî¨6<½¥]u+ÓwÞ·Oöƒô#t¦~ñ­ ‘žîƒÏHQs0.âªýú!’*ÆRVRâW„fÃø[I-îl%‰&@B){ÒEnKstŒRoQ‹fš†Ïþ)e`\J¬”ÚØÊñZ,uSY}öZª³œ'¾~ˆ.ÝßnàžÈ¥+í|Ñ^úBæý¦Ãɺ–骰›Œ)aùßbš­ºË€*¦±MKS Žéa2DB?p¦\·Ã@iJù3„•kÚ&OïoSeŸIe|œ¡åEyϪeêÍœN›ïÌ ƒ™Íšò“W:]rhÇAkÔ°VTBïG]§ª/­› “$¨'ñH¨8–øªŸ&~§Sb†[%Q¿|¶¨Ç²È·Ñþb£^ýýÃŽzÔƒ¤b¤CÚ(º T.iY–ê®ä+SMÎ5ÕÄîtª#³L»÷©'‡pb¨Uë !*¨q³ vªÒGò쪪8«HYfÕuª„åUßsçy±zÔˆípV¿ÏØC¸Vÿ]¡5à*KÓJb5ñ*št^j_V'Uœ{ôÕPPÖdXU°—±«ÖyD±yö ?àßÀ¬w¬)¼n«èÞ~“¬â>œ·¬¬xwk³òê ô³VÓ;‘DZ)¿\Ýÿn6\$ µÒs Ô[­Š?Ûê©[- œýÖ“êu¸éÿ°ØZõmo…ˆ®Q7åÅêŠé ]7ÎOïšì¥ùu|äÚ‰¡Š‰ðçÕ¦©&|gÂ7°WÝ•‚nÂW÷§¾Ö-•%W5¯“¿F)d­¢4ÄÆÒÖ4 Ì'³@Cb& ,í´ë:™¡ƒ ÁžÖÚ¢Ï%Pz‡MCU–ˆíœíK‹xÁ`Ί•¯Ä±[E££±ˆ‰²Ç±UDCõXæA–ë¼ÅF6>Çd¼’]!o›©';èë_pã”õÓªânxq¯ìùGS¢o$e¼áõ—õ3ÄÞIÁi·%z1;§Î“fV È‹,H™+æ^íi£wÎÆ2’AqßÉ¿‘ÌàÙ¨ÖÀôÙ¤’ÑÖV†VhéX3Eë=bMÜÑžUä +kŒq¬Zm¬Ò—öj—,ç´0k ¨ µC"óRËG,,7UÛ¡aI%”ºÚ±0Áf-Ù‰É|kÙ¸ÈXXërÁÎlí¨RÕŒ­+[Ÿ£g“çá¶+]¸Pã¦zµLlki¿MÝÖ±Áí ‰böÌ­7âq™)VRQu+ÔEªü3>Y¼Ì[GOÃJî½u0y…ßÞÄ]|c€{vBúø „«ü¢fð†ûÉ|ÞwÜ­£GîÁ|,®%\ß5×Qú9öÇõ„ünHîùuÜÛQnÈN‹”f‡Ž¹ÇäA?›{\ŠÅ¢Áð×çú˜ŒÊo….÷Âݹ²ŸÜÑõeEÕ.Ý;¾CôÓeÜaT7R.­_ÝÀŒ˜Hm¸îØ'ìŽÇ²;÷’S»$°¤Ûí*_`O™»¤ß]öÓ%¥ª„ïrºøÞD± ðr¼Äeâµçxƒ¨ +­é/y-Uƒry} nÞOâ€^wwÆåJzp©×ðARÓ½gÓó&{akTÏn/”ËaWpêt÷ÂÛBHøfÎKŒ˜}s~䛯ÇIÔÕ|ÃŒ¤ô¢¯­B(ë+Œ#¨}Õ‘RÚwßWþøU@;¡_GƒÈ7û]¦9šø« èõ]1¯ÓèIôï¼¼ý/tÎsÀø¨Îö4,úÎ|Î È%áÆå ˜Öi‰fÀ"f95¶.HBÀg'¸˜ЀÛìõ [ïWZ‘ƒßº_Ìÿ•ƒ­>jõ`U]æÂáŒË„²Œ°Gù•¾¯‰¨¾A…(ÇV¯;-‚±ðŸRA„ãA '”ͽ÷Ñšáì7C¨!akxÎ +@~ÃaOUòèðr<¼OºÊìÈä.Ó‡ ʇˆ5ÄE%$¤¸EÌÀ0’±{{Ó<¬µÑ0JLjQE錉9 {¦y–dÙéIJÿ„8]dÚí5ÅN«ØŸ4Cɯký=Êjáð×Ñ}\|†ë~£C‡ål4%Gcœ!5•±?ÞÎâ{ÆZK!ß½Åa˜è‰RØ#Z’7û!X*nL4¾à8éR=ËQ2pôêÕÆžŒºYj[§cÿd^ÚXç;W[S+{ ã”:.ìRG$DWHïvó~Û8˱?ýxûçÿ°î¤+ÇÕÝ¢Ž å#C.´³N[Í)ý4pš°å8YG­6oÇ·a7R#¥O‡ñÍH-¦ ëÎ`Ž µç­CæX«Ù÷, 0Çzn\,²˜ÚO:̱ëáÃÃ÷ùåØ8ñìG³Îí{QŽ-Bg™Z ”cgU÷ +£qHÁJ0FFc¡€J4ö'V„Æ)z=……ײš³I»Bà]æóºM‹cɪ€Æ`§.c¢|”㤙W­-{”¼ÆW¨Ø<¯OÐ0Æ'2r¾åc Q×®:ßõÂ#+0Ž yn\° ÐjöíøÆ"Œ½`yÜátaÌøw¶'ŒC¶ÕÄ„1ïPõã€bÏâW·ØàÍ1–Ÿ=çwŒç»3f<ÅNãYüWÌ8*²¸:ìä0czžêžcæñ`mÓÁß`Æph€aÌøƒ²Õ‚;M„5Ô­*2öŒ"hj¼ÈØ<ˆBØ@펃Ý`À8/ø] yz{r ”l‰éÓ² +ç c‹ â}àœkWXõö§Da— "tp? +ã€T¨cÜa¾v$~®É%B‚í9à^pï”þÿ§éúÿßtýÿóåÍ—·à•ŸWnmK™’”Rd>‘®ÿODDD„ê¼zåç•$+q#—% &l#Â6v_³¢Z½ ¡í=r9oLÒ4ù´nàÂî¶0ú€§® tðßЉÙ5l#h >7Ügßí`Æ¡ aÇ¢ÍRIw‡TÒ`ú¿ +Ã'‡ß¾PaÜÍd™÷£Lâ VÞ +H}“åøÊ} B¶ßsÔh÷Ÿ6ùðœ}¹P Ý÷qóK•zß&gªÔ2lË“óðœ|ùÓ&_®ôˆ— Âá@}nxÑ!]žäx—)ÖáK“wùP¢œRló>‚iŸ¦­+l3ÇUãèÝ7c°pžYÍ„9¾=x¥ÅR^ü*,'êª HéQï*Œóð xo…X†-Dᜫ3í¤K;OÔ(w;òÙÝ%‘ö…,›µƒ†·âÛM³6bÎÙ«•8ëüÓ(ŸM•¡xK¡4ÀÙw3hQx;mŽ?Û ôgÎåAƒq~èpî&Z¬³¥TÞhÒÔ‹A'à—B1ø©/ï¡}ùŸÛßÑKóB„n¸N2î ø¤ôQ£‚D†t¿§Oíû®y$É:"Æ·ü(ñï!·ù›¶1!·Ÿ3wæmÜÆl:´Ôç–+Eâá@ùp&s&óœLã©ÑÿùcûA‡mHøyªÄÛÈÑî¾±£§d8xZ†cͤm‹ïê `DÃVcTÐTœ˜¹B.g§L?σ§†ÿð¹ý%˼ß4IÆúà¼Þ™/J¤Ã¥P þ*q¤Æ»Ÿ¿5\éñ.ÿkËiضhš3-š&MLãäy} A6Ÿ“7vO»lðÌYB\ó:|d6ÍšÖLó6"ÌC>û9xfuOßš t¨æßn£È9içÛn›º®šfmÄl#×UçÐù2Z½C&ó>‚j÷9ÍÆ™+³‹çzÆj_'Ìóè¡}<3Gv׬yÙ4f[´Í›—C7fϨáá.®ÑÃ!D̘ý¹fÍËîa+ª­H›j#ñv£ðC ÁøôÙç•,õ°(ôX6‚8“åXÏæx¼1$Áôœhú P0oïI»ŒÁL<{I3ïvò${4í +S8i¯Êú)”ïãØÕ5m_4åÝõÁxs‡LÖ \ÞG’tÿænl¾©£wÆf7`™Gêç¯:ïîJÖÐp†, ´+Ÿ´6d½@”ð¨Ìëpœ92;¨0î)$Ѥx +&1âáGŒt9R#]n”X‡#1æý¥È=Ü&Þt©÷›.Ç_Êág‚ð;aîáB€qùNÞÙ¿‰ ³׈åpŸ>¶Ï3Fûñkû=ã5ü¦ ÌÛ¬‰Ý;zhhp7p¹'fšÌËŸ6ùð(RÀü‰sœ/Aê Âùš6/z&m üèf?˜¡XWhÂ93]ŽïiØÿv1øjFMæéK³‘óî,Gº*)fp˜¶+&j,ɺgí Æ}(PÁ¯Íñxku<ÞNš|N—dÜ)sœù<2/dè†÷øÑ¤‰é›:0ûnÌ®‰ó¢iÛ +Ó¬iÍ6t`t ›=cöç¶?OÅòïtìΪqãšmì¾æ=1›Ç/ÍÆÁ³iØòY¦Ëgu-0VÇÃY3jøŒƒ'Vßà}Õ7sdµ‘äœ7àÉç—,õü`ÛTì‡gÄijMÜ×íC¨vëì•ÝS°;<aƒ§g9¸nšæÃ3l9¸fn+<»Á=DE‹sN›cœéR¯ˆqÎ Ây1Zýóçf'åÝ@ƒnþgpí)Ð#øôß@÷ð¦L<|(QβÝBowÐaÛMí#¸f+MîáØ™Õ3g[aœº2ú(²ÎÐäûEŽq?çÎ춉JŒ³{øÚjº1Ç.ìþTûJ”yžÁ +B¯¡J(e¥Äýa ¨ÕÑÈ“§öüÜ|Ñ?!Æâ 5:x%Êy?5œgŒF„‡5Þ9Ê}"Cº‡%ÆáF‹s8Ñ!N”—óè¥ù5°ÚÆMìÆ©#»Éj·ŽÞ™ýÓçƒþäþ`.$—ëÈ¥áΜ˜¿™ó8wc÷ÎÞˆæoäÄî5­0×ÌΚzÕW3h?kjö±hÞ¶è>´g/¬¦yË癵žšýïô Ǫqû +ÛÌÍ?„mvŽ™M³æ¦Q›iʸjšµ­9GÌîDó?…l7Q£Ü­t‰çÄH¼´ ü9yfv[W4èö“(íþÒä^Oßš=Ãç)– »¿S³LÓ¦U×¼uÍ5r[´ ×|%³EgÉ„…±„ +ßþÏ_Û½3V«Ûî"Æ9ÏÓ—fßÀ•Ñ6s_s^YÍ3V»sðÆî»²»ÇÍœûEŒu~Qîæ§ù5­™ÇïÌN²Ä™#«mæÄè<2Û&nŒž1ÓÓ´y…{þØj$H<Ït©÷}Ó|Í›WMãÆå3˜fõóDŒržgOíçØ‘ù›¸0Ûæ Ìæ¯Ù T Òžh†½O.g €:tgþi³ïàüóJ‘xxÑbï«á;{h·Ð!œG‚ÄóFt?hÎûô±ý‡®Ìα#ó:ue?gÎÌëÐy92!D7äx‡5âÙI”v¾HQŽgŒ†ß¸‰ùœº2Ä»äX‡3UæåC‡r_çíι3»Û€ßî=4ÿó×v#IÞÝNœ{xcß!£Ý6q_tÐa›âôó HÞL—z¿IsüÔX¤%PÁœ#4ÁœŒæÐa ¢iGH‚9%Öù=´ô÷FD8‡¶}²Ú½36óC‹n_± çñK³oêÀìé˜<£Éüwš&þÚ̉Í=köcÜ­ãGFOÍn°Œ˜Uçî!L£“4ñh%L=[ SÏ&rœ³‹ëì£H<‰Ï>@Úw;˜h+8臅ãn¢Æ8ÿ3øVÿ¶ÝR,}„"—µVˆ£Ý † O`Ú¯aaÏ i…gÐðð ZþžÝYS2û;%ÿ2`øÕ”ÌþÊ€ÙY >q!·ÿ¸æ“ ï~㜯‰ ϤmsöÆê±ÙÝCVór¬ûL—{ž¼æoäÈj›¸°Ú‡PíN@ê‡K© ôEv¶Ï`ÚíÈvëà™ùœ;1“vû²ÙL˜yÿAŒÄÛ€&ßϹ+»kÖÀf9±9Ϭ&jŒó Fo$ü~×|yÍûø±ÝAˆp6“&ÙV BÐ^°¢ðNŠÔ»… ån»{ÈÐî2ŒûHwqG‚ÄóO›|¹‚ÑÁûÁ Å ÇÚ DÛÀæ8"”ó<ã4¯ƒgækÚ¾j›6°›Q_PbðC…~#Å:|¨pÎ7M’q©…~JÆ!Ñ¡γ§&wïŒÍ¼O`š"|û>~j¿§/í²ý"E9 òî Æýž±¾³‡æwøÎnÀ5O´÷þØþÙÌ÷×|Ñb7b´óH‘uŸéRïÈç<û~…*ð Êá9rf8`õ ø±9 í'ñ ·ægĶl?5Ü)s‡ +å+MÚáAƒnÈð- +|ËwöÎ~Θ§aÛ¢oâÂl¤JºÔÏèôóT‰ F?Å"ñ5Òý™2îâï•âÙÂxS€bi7˜1x#YÖÝ>‚iŸHqî7ˆqhkHÖn,ÚÞ"”5•†¡?b¤Ë{Æl÷ÏÛçÙS»wòÎþQã݇ ôl z(Ò@ÿóÇösäʼÝÙ×Ñ+û={hâ B¶|ÿùcû?lÿ¦­¬ž!ã¢gÊ´êž¾´o¤X‡ ¾ý¤Ç¼ÏTIö@…nvMÛm#×Uãà‘Í=|nv œ"ŒûB‡pÞçí"Œ³ƒá|YÍ÷ø±Ù@‚nþ(²ÎC‘ú$ï£Ç»»§ÍÎÑ#³}×üÐáÛ/R”Ñí~”‰@üŠã±n°âð6ÀIƇå|ÏŸÚtØæ›:Ç·‚_ +¡7Ðéç‘$ïî¥J½$yw'YÞÝR- +m4í. o)„· +BÀ³ï'Mây"E¹ÏD9þQ(=‚ÐqŽy÷‘"ë>$žW¢ÌûN—dü@çß?àé‡/Mîy¢C9\¨0Îÿ ®y¾4ÿóÇöíü“&~`“/ +œû=|kH°Í'EâáM“d\)2ŒûB…lùRäú‡#øôÓïò!B8Èï-œÃçð£D<ÉÑ.çÙS»sîÊîŸÀ5œHQî'MÒåEŠr8ÏXíæ£áFq¸‘#ÝWŠÄÕ(ó¾‘#Ý7z”×$óp&Ê=ÇŸ'­®‘ûškÞºfœº±;ˆ0ÎF‚ÄóI”vŸP­ž†‰sìÊì»2ûÆMìΩ+ó9vd÷ŽžÚ}WfOÇðy:–Ó8sc‡ÌÛиiÜ´jš4.Z'ÌãÔÙ2\õWFlƒoæÄê"Æ9óæ{øÖ|Q"Ý™Ö<#†Ï4j\3Yí:|ûAƒn>çÎÌÖ©K³sìÐê¾59çó×vÿ¶ÝC‰r~(QîöùSó6qa5]™}äH÷t’ÅMšw¹RÀ Å +Tð#ðüP£>éQïóì©Ý<ã5»)“ì§b$Ú +Hþ&L=ü©³ï;UŽs¤Æ¼ÿÔÙ÷«4k¬Ç»ÁŠCÿ …áGðé‡#AÞý¢Dº/Tçé’$íp@µûÇÏÍ'Ê}%ʼÿ”É—+ ø£Fñ$È»?T8÷}üÔp A7oô(‡1Îù Â¶_TX‡÷ŒÙî›¶1Ï£‡†¶}8³»F ÌÖ¡;óB‚q¹Sæ.uB§¶@üXâ +>ñ&Ê=¼©rœC}â4“$íð%K<<êÄ%ú'^¢ÌûD‹q8ŽÙcv ¾ý&Ê1¾D©÷—&÷ü"®“Wæ‹é~) Î@… ž`3:”û9wdvŽ™':ŒËúØ>Îۘס+Ãáð%É<¼i’ŒëØ™ýé×Ïœá3ÍÚÖ¬3Ã}ÓþÔ Ÿ»‡ :¾Btû?ƒkÞFî«Ö“ù¡C¸Ïã—fóô­Ù?†j7_š7š”ûDq>hÐÍóôÝ5r[ôLZ>Ϩ‰Ã;ygÿ‡ÐÍÎÑ«mê¾ê©—ÕÃW!fζÂ4g_ô WØæÍËÆÁó7ra7 ZW= ËÃS°<\ÃÖEÛÈÙ3i>ÜÅU":ýAÄ”ÌÓ¤qÕý[EÕ¯:PMÁþ·ÇÍVºÄó5gaö \˜çÑ;ˉåþNÞÙ§1Û²gÒÄ4Ïí Æ}=µ›gOíΩ+û?ä·Ĉçí~Óåø3Uêá;ä4['ÏÌæé[«{þÔî"Æ:Ÿô˜÷xö}(ÑÀÀð+ üP¢}9“åžçÑ[û:uhÉO J3YÞåL—z¸N?Ÿ`´ï'íûO™}¹”‰Áú‡/Aêá +Høå +B?”¨ wÂ$ãEˆvÈ0î!Âá=|kžgŒö{öØ~P >d—)ÊáAr?ðí#5Þý%K<(ΠD!®`ôGz¤Ëƒúâò¼3_³æeãЕÙ@owßš×Á3ó<ã4ï¸æøÚpònÓæmÖÂlž=µÄx—Gæ 8ÿp&ó« Å\Ê`îDɇ+EâáE‰tÈpîÎåN”|¹µ"¢G‚¼ûFsxÑ#Ü¿#«oÜÆl!B7œÈP.ÿùcû@€mÇ. ×É;óL“yâ¨ÐÁ¿¡7R¼»uîÌn:/Ú&®ë6B¤!Êå9seøÎÝ.dÈ–-Êá;d²O“¦UOÃpðŒÞñ#û8seöL–¾’ÆšIËçœ<2[G¯ìãàùqÙ·q«§cwÖ”ÌgØrp9ìr„»sðÈüTìË|ù,™°:KÆkÆ¢q‡uüÊjÀ³ºf®k¾Éó²iØF„§c9x +ö¿]YŸ²OÝêSUÌ~ª>]·OÝ­õ)¯b¯ÜêÔSõ©úôuz¬ì§· _]cp_ èôx°Ÿ¬O ¤tzؾÜÚ¸¾ªZª[…õn¹Uí–ûtÕj¹V7.¬'/4:=sµŠÅz½Õ-×êÅ^«Ø³k»Õn·Ý«5«íb©Ø®õŒ«Õv¯[l¶zÕ^¹×j•jå^©W,×Z¥^»×m[¥V¹Ù­UKår¹Û*î–»Ýj·Ý®{ív»Õmw{åV¯Tn—KÅžY±X,7ËÍr¯®Û«–[Õ½^¯Ô*ö l{Í^»],›ÅVçVíU‹Íf5d±Ùkö,Kår­W¬—jÍrϰÜîöìæn³Ý®†nÖ›ÕR»Xkתíf½V®ËÕb¹Õl—«ÅvµZ«‹âv«\l6«ÅfµZ-W«ÅnµXìÛí^©[­7ËÝj·^/—ºÕb«¶Zì–«ÅR¹ÚªWkír³T®¶Û¥vµX,VÛÕn»ÚíõzÝv½\-öÚ­R¹ZoÖ›µR¹[-u«Ånµ]ív«Ýj±ZªV‹åj¹Ô¬v›Õb±Ú­«ÕbµXì”UËÝR«Zª7ëÍb½Ô.7ëõR·Û,–[¥n¹^-u›åzµYmV›õR·Yî6«Ån©[않­Z©Ø¬÷Ú½b³°Y-›Åv­\l¶š½b³×kK½j¯×¬öšåv³×¬VkÍR¯YìÕšÕZ³Ø*¶›ír¯TkÛ¥j­UêµÛµf¯Þl5«ÍV³Wn¶šÅV³Ú®µÊ‹ÕjµÕ«¶[Íb»Xm‹År±V.–ªÝb±XlV«õb½TmKÕb±\m‹­j±Xì¶JÍb±X+v{½b·U,¶«õ^¯Ø«Õkåz¯Øm×ÛåZ»ÚëËÝ^«Wì{Ýb¯Ø«öjÕR­W¬ÖzÍf¯VªõªµZ¯Xm¶‹õj³Ù,UÛµbµ]k–Úµj½V+¶»õf©\+v[ÝZµ[ê6«í^­[+öªÝ^½U+¶J»µb±SÛ­Öj¥nµV-u›Õf±Ú«{µb·T-¶jõz¹Ôª•Zµb¹\ U+Öº¥V­^ª·ŠíbµTo‹òf¯V¬•ºõV·Úî•Ú­b«´Ø+w[­fµ×k•‹½R¹UnËÅZ±Vê¶ŠÕ ½R·U,U«­bµZ¯uk¥nµYj¶Ê­f«Øl»­bµÔ-¶Š½v³Øªv‹­V³Øm–ºÝV±Úª•[åjØj»Vjµº­V±]ªÖëÝz½VnwKõz©^o—êõj½Þ+×KÕv½^­UKír·W®wÛÕV­U\/—ª¥j·Ô­uKÕn«W.U{Åf±T­·ê¥jµ[­w»½RµÞ®»Õj½\®V›õj³[/5ëíf½[ª6ëµjðf½]*6ë¥j·[¬7«ån¯Ú«ëÝjÈb©W¯6ëÅj³]«—ËÕV©W¯WUËÕj­Wí–jõj¯Ú+U[eõZ½W+ÖºÕz¯Ù®×ëÝj©Uï–ºÕZ½UoÕKÕf·^­·«ÝjµÛj¶{Ír»Tm·«µj»Ýj·»íf©Û.Ö›Ývµ^*·›ír»Z*·«ÝV³ÛîuÛÕn·V핪Ýj½[/5ÛÍv»Ù®6{õ^©Zlw‹íb·ÖëÛíV³×îõʽj©Vm—k½R«]ï•Z­v»Vjõн^µÔj·êÝj½Ü+Õ‹Í^½ÛîukÕ ÝR»Üm—»Ýv¹Û,µËÝv¯Xj—ÛÍV»UÞë•ÚµZ»¸Y-u{ír¯\îUëÅZ±ÖìV{­R·V-—{õr­ÝêöÚ¥f³ÜìõºÅR¯Ü땺½R±Øê–‹¥^µÔí•{½r·\.Õʵj­Xî–«¥Z±Ü,uÛÝZ­Ü­•{µr¹Ú*÷Úõj©[n¶ÚÕf½¶WîÖ»Ír»×­öŠõr·ÕîVk½z»W®—»Íb«ÜnVKíf±Ú-×Ú½v©Ý­¶êÝ^½Ôî¶«µn»U/6{½Z¯Xï¶›ÝV»Ø+¶K­r¹\ª•›­^·Þ,7{­j¹Y-õÊåv©×-W{ÝZ½Ø.ëµn¹\.˽b§¨Û,6˽^³Wl5«‹õ^±Ô¬×z¥j±^-÷ê¥n³]j6ëÕVµU­–{årµX.UËÅf±×ë;µÕV±]®5{ÍR·Ú®Öнn·Ü-×˽f½×-×kÍf¹Wêöªån¯YmöJår¯Ø+—êå^±Õì–ZíZ­ÚköJµv¯Ök÷š½Z«Ôk7{ÅNm¹UÜ+õjÅ^µ[j¶›½r³]®Öšõv©Y*W{µj¯Úî•«½Z³Û­—Û½V¯]ìKÝv¯[ì–Ûír¹]­Ö‹Ýr»ôÓ•ËÍv©ÜîÕkõR·ÝîkÝv»×n÷Ú½V±Tn·k¥rµÙ,–êµb±Ý«¶{õR½ÝëµZÍR«Þ+vªÚ¥VµZ.–jµ^·T«Öš½r¯ÞêÖ»ÕZ©\«÷º½z¯^îÕêÕbµÜ+—ëÍV¯^lÕKÝVµÛl–{ín»Z Z*Ö{Åz­Ô¬÷šõn³]í–ë½rµT­÷ŠÍj½Ú­÷º½v·]o–êõ^³\®ÖKõz½×jK­V«ZjµZ­Zµ^ª•»Íj¨b½^lµZåR±Uï–KÅV±Ø)l•š­V»V핚­v½Tn¶šíb©Ùêõš­vµU¬—Ê­V©ÚjµJÝV±Ø)o•Ê­b±ÖnµÊ­v«Ø®n‹ªZ·Û+—jív­]*Vëµr­Ô®•Ú­RµÖl6«¥j­Vïu«ÕR·V-•kÝn¹VkõŠ­Òz©\+¶»¥v­Ø+vËÍR«Ý+›åR«×köjÅr­Þîõj½b±SÙ*–z½b±SYêõÚÕR¯X®×{½n¹Ù*µ«­R»\.5{Åb§´WïÖJíj¯Xì”öêÕ^¹Ýl–º½V±ÔíõÚÅz·XíöZÝf¯Þk7[Ýz±Ú*•{­z«T.w˽j¹[­µ*Ë¥v·ÔîµZõn»Ù,Õ{½^½\ª÷ê½Z±Ü-Õ{Åb§¶Ø.–›ív©Þ+·Z­b½Ø-•«¥Z­Zª{Íj©Ö+WkåR­[o—ʽ^±Ø+õŠÍf«Ô.õŠÅj­×l‹Ýb©Y,–›½v½Yj‹Åb±SÜí‹åZ½]êÖjõZ±T®ÕëÅZ±X,«År¹Þ«—ÊÅb±SÜn·Ë¥v·[k‹Å^¯×n¶Û­V©Ùn¶º­R³Yl7«µb©Yj×zÝrµ×-5›ÅzµÔl«åR³Ù,¶‹ÅVµÚª—šå^µÖî‹¥r³Tm‹¥v½^ª6k­bµ[­µËÝR·ÙêÖÛåZ«W*7ËÍf³[o–Kår·X®Öjår¹Y­Ö{Åv¯Tn5[½r³V+•ËÍr»ÔmÖê¥r³X씵zÕ íj·ÖkV«íj­WkõZõv©\¬u›ÅV½Z¬ÕZíz³Þ,–‹µnµ[.Õ{­R«Z,×Jåf½To‹Úb©U-·ÛÕ^ϰةî5«ÓóÖ€¾­[-7«½z©\¬–kõV³ÞkËõR­Uì¶KåV±×-ËÅr½ÛnµŠÕj«Ônv›íz©\n•›¥r½X«†«5ëíf±Öm¶«¥r±Üª•ÚÍb¹X+öŠÅV»×ëöнV©Znë½V±Ý«‹Õ^­Z¬vëµV±Ø©êÕËÅR«U,—{Õj³T¬Ûíb³Ún•Úåj¯Ûê¶ëåj©Zo•Úõži½W+µë½^«Õ,Ökín¹ÙûI«=ãn½Ûê•êÝR½Û®»Å“‘Kî"ý„ˆFö¹¤\rXùÈ$O±F˜­½˜ãÊ |Ï&k¬ì‹Ü%4%‹.a“yR:ç¤y¼sÒâqœäó1¯ ŠG»%:ç¤ü`œ“òC”ñIŸ’$¾.‰”{Æ0ÐVÔJ$6A,Èd±sÅ”3Ä#ZÄk P ‹(ó¸Q"boŒú’…2ÍA%Œšš¥o™‘Pð$ý„|N +©¼$D’H™âŠYyÊ\æ‘5ö²¥Î4LrHéGD³’‘ɸ’1Ißda’BIÃ"‡’D hß5I‚ÏI)òçžÁÏ®øðLšˆK±øÃ*üÈXÈ"ýŽTBêa!©GäFå‘wHt<æ¡ñˆ·„…#ŽxLP@ŽŸXVFñÃD,í»d¡eŒ E˽X$L¾9ZE-³ï eåø f¦di$Œ.^‹Q€?³5Ùã‹×£/[š)¬˜qnNyã›Rêÿ—v‡H„¹Q2ÁT81—Yéá!…Xáê„l²×i¨äð¼+¶[–8Ü ùוx¸”×tÖ †4¼6%È$‚… Qˆ”­>"F¶Ø¨Á»¸¸ÈG„‰1.<†2 0#X¾|äJÑÇbÊÃ%€’|I6%ÉH>%ÉK:#÷ŒÀx¼crƒ‘îIF:(=ç¤aœ›²ƒqNÊFº'B ñ˜´ôk²HùX…n2—0K\Ä( èòE(äK.YÀ¯ÐQ*nƒQ7ðA ³µÈ$L.X¤TlæÄÇŸ³Ü˜Á(Œ·¥Š ¹äËV£‘0âB,x>/bjÆ$àŒOÂä~Y¶Ü€U¶øÄÒ/9œ–#¾VÀ…]o!s§e ?BËŒÿ¿È°Á +¬°Á xAË5Àk€2CÖàÒeèDÌ_ÜF‹ÒSŠZ%á‘ÄHòÑǼ#1ïŒi¤[’¤±ŽÉ‘Ź&Kçœi´Sò£±Ž‰Ÿ)GçžôxÄ{²rœDôpIâ£b¼HÃ&€•Sì>=Kß2_\!‹¬ÅËrÅ•±BR¶Ø’ ñb'/~U–6V)(>F徆ň¶…ˆ}祊-™£‹—$/#ଠù ÅÒrñ¼êPÎ!«äŠ Kæ±8 ç0ò-C€H]ØDK¾™‚Ê™& *j›¡TØ.KP9Ü€›®<\8Å€ŸEåÄ]SiqI¹Ç5’«IÑ‘›I¹‘s‰)ÀN c¤öóâå~”áeÄ$e9ÉA%‡‘…E% “Fö)Á|ÔS‚Â1Ï )äÑI>)Ž“ƒQ9¥!‡„ár»¥$R%ïD|XIf²™‰øÄOñÉ_fæ¸Ç#c´dùˆG´ˆ/ à†y#‹Xß‘'ù<ÆÆ ¡äw +ˆâ Èc8ƒFÃ\^jx=%Gr¾#J´Î¬èÀ=@‚Þ™¤+(Á¼©®læa(¢Zs¶rÂçU\ü[bü]HmîÊ+dñv ƒÐ{óioY_%pÂÖ@€Xbhv¤†K²„²KÎ)m‘2ºxZQà^9À'ZAoT’@Nù‚ X&'·LE'}˜ƒN-û”`Rò%鬭rFF€Òoˆr+ paå3Š…mzåA0²îŽ4ù’5¶xMæøâ5†ÂÅSÀIøÍŠÛÌÊ›îr#ŒE`­~„Ï´±™lÉ#‡t1e Î'¥ŠwdòEë²1Ë´€2±"¶( Leòø¥Qœ7@tÓR#wsbcëC¡uT ?[—̰‡HéªrŒ/)¶¤Ž-^‡TÂàŠKÂä”)®ŒEÂàò¥xDL>ÉIEM²¯Ègäž‘‘c#¤”H-!¡ÜAÊðÒµ䀼ÑÇ­È]¾$=©¤M)”ü+‚I‰˜’ôŠß,÷™”ù¯¢"Ç*5q·)Ù!.ìe ®±–?k +‰OSQq‡A±ñ ‰DÑÊ”QeìósÊ›¦Š+g’;´tuA@¡÷§`uݵ¨DØØy}ðÆP~aŵ€°])?¹C‹×ä -_†?žpAö¸Òµ˖ؘöÖN,ŒÃ>ýþ–dM&ô¦C¢¶…“6 º÷‡Ûpê D[d|Íà$ìçeŒ½ØCŒ–$©•²ÊÍ)l’–Oà,3£¼YzRQÃLq¥l2Ç¯Ç ]¶ÆM¨ÜkVŠÜ[`vÔsNŽ|@%UpÂ&b>¥0_–/¶ˆeš°r–É" Ù£.\ƒKJÅã&Oþ%8˜÷½%†ý#c±‹¹ ?f¥Ž%ž&ÅÇ«¢ã¾¹Ü˜ÅYjÜø•6Z]L^ˆµ¤°È¿”À«!É!†K¢C LJÿêË ;„&èí“HŽź¤q¾úrÂwÑQ³eQR'–€SÊàÆÈ䀜PÊg@–z,%a°™· `Ìu#`»,VêÃ)]ðA*`üà.‘ ñ".bÀ(W~!tVÙÆ—CV|¯N*¿ +^‚#pÍÒª2ã^[ò_3â#?S’#'‹’±…G ¦EÇÍ6¥®ö$ÈW{¢#£Räú`²•ÇÄHN·DHÞf…È?£ÂÃßQ9‚'©²57¥Žs±aÓc^Ôa^vx²*4ÄzH~l©MÉ‘_ã9gX`4ü5FÇ 6†‡­Æ¥ˆ§åImXŠ%G¬â‡,Òe«òE–0ÅR0øxbhÉZÄ(‘8Z"&”ô¤’Ij…LñˆÜŒ[ îB)xB.¸ ³àŒÁ‹€ï!ð¥îR€ÈŒ€a®ËpSè¾MYƒóysãYoèòI{øZ[UõYXHÿ/U‘›9ÁÛé±Õ¤È²#ZtB€ˆÉ˜´àš«ŒŠAŒÙüÈo¿P†1€\‹©1Ûè‡P@Åìaà3íO.ó¸4Àâ’És-0¼˜øN5iü%ÒáP¡€?û#’橤ÈH¬‹"éj¤I;_½ÑXƒ8 ýõ…‡]§%Š ‡€¬ìä«V¦N”2w,F °t‹«Åö*õQ{*.|ÌŒ9œÅý¿à q-3l›K ƒƒfÓ²ÄvË¢ÄNãRÄnÓ‚äVë2äþ@Z &Ms™1ƒ±À ç+)n°˜©€‚æºrÃsMy×WVxZLÔY\TÔv•¾ ‰ q‘[aJfˆ¯¬Œz ZDçVHí[Š‹›«4Žc‘q×Z\Ø÷÷†@g +W6gcHë°5W–ì;$K>a,ùà‘+¹$6×?hŸ€Ž°–<è/ü Çb«})b¯u1b‡…RÐÃ&»âãîÂR€¿Ą́Å_nØd\zøµ+@¼8Œ:œÀŒ¹Š,ÂgRrädOrü­Rø·ÊŠÚƒP›Ê +èÍ‹gÝAKh-n‚Bëk‰ +®p“P1V)é·ª2ꩺ„Þ¦\ÖÞ&•ôü%Å-æ$†¼Å„`%3Ì!ÑYÜľFd×\#ÎÄàÚr²BœWañÙ¤è×E!‚“uéáG€G€ƒþ[%ÇÌqE É–-Å(ZĆYºüD(bpJWÈ ]xñR$2&'+¦î3Œ=—:-'óà–0ñI\Î^ÂeåÒï\‚e¡¤_ + +|~½a.à kèÒYƒÈâù©°|~-Æ› ÁoÕèµ=ï J0ë-ÈzA‹ÁÛH²Îv@£ð¦ê"z[uýTT<}…DN[!Í?–¸ø ¯Õ¥ÅWKR€xˆ-ûªÍ4o]Y3g#¾®hÞ[DLŒ¨ðäòî¦óλÀð¹9誌E¿íics4ÚÙŽ÷…ÒN„—Q[¶x ‹mˆ-¸!;¶î–Á߬ñ8æ- ‡Ð㮨1[FX^€A€IþniQãUdÜ#¨ÈÀÅQbxú +‹ÛWQñGl‰ñżì¸spÐw—õˆ/7nqö•+h¤ «Ä¬˜EpAQƒC¢Þ0¦8ƒÑÙBÏÙ‹är¶PªIèâyè"Z_(í¤;8µ½bÚ ±•Q……ÔƒØ"jSYõ¶„Ö°tÒÛ"’u•Ç¢M!Êæ|ËçŒËç<á g¸–O{k‰ŒßF$Ç–—“9NÅÅÿUfÜ`.-ê ‹;K :˶XÌWbZÌö–¶}¥ÅýÅrâ¾°4,!J&ÝAÌ(Mc1ñÁ®äðaPlüXnܾ +Œû¾ãÎ +ƒÂ¾ÂrÂÞP´ŽPÄ’®àD“µ9"í-G¯@´OK°m+I/G€É·…àÓïSmþW4? %t+‹J(~ÁЦýÀÆ" ÁFc-A‰¥½¡”ÓþE3çÀä2ÿ:w5i¡uöĆØ, +s£þbjÔ`_pø<'Jp¾#IÄmY„|30?î5/J꼪؂Yºø»¬Ô]å$à(SÀGÍ5 s®€:\€aeXV(–XbüÍHðÕM£ãIsÎŽrhk‹<Ö ºx~,(žb¯Êzªá‚aø·Bï¦Ï¼oC÷µV? 1h +¦maÊfM- ðKÁøûU ‹u€Ö_MXhy-q¡eÊf-ÄøV÷ ®ÑÕ á U6í¨Ñ@üˆ‘.°¤ÒwYq{+/ü%˜¸Wˆ¤m€“Œ/aæý¨‚6+£a^DëÙI‰œž¢Âw5‰‘—9¹‘ß[bÔ ýv¥PÎÕ!Œ´Õ#moyqoMñg+-l_ºâ‡KWÜZNXä^Ê o[Iám+/ì0*7ð3-@î¶,B¾V—v‡HçV.þx‚ç,-l/å…ÿRIaSy!QgÈJ_ÀÒIs‡TÒÝ"”u„%˜ó„&™t„&˜ó„&š4…(›s*u•QUJú?”ŠÖJ=é Y@çmÉ‚ÆZÁ À›‹Áoµ±è°h‚ïú°¤­ Œþ N:ï T4m]HkXDi ¥ž3Š·7‰%Í=B9W(í sÐZ[ â9! fMÁ‰&MÁ‰&áʦÍŒ§ ©]•eôæ°Å“ûãñžÐD“±8…'—ö„&™´£™'&R|Ë—*õ¾!•ÿ{¤“kNâ9â'!墡k˜ÂyWo$ú+ý‚†µÓæø5Þ} ?¶|ÇîL¬@3PKÂÊÛCP×2ÃF›Â_ƒ²#+µƒ¹¨¸9ˆ¥70:‡8€D}‡‰Q0 ­¥ÀÚª0Â`lEýá3öäl ¹FÒÄ£ƒßf£J:lÉ™ŒCоûé_õ¢#ñ> ÊGè"ç¼¢›7ð©‡#81þ<}f^§OÌRlóO¡|^ +Å`Qãœ÷ùcóB…o˜dÒ"JA†+u€7R¦M)Wcƒ4ÚR- +í¢|_A À¯5Òh_èÒIgØâI#ý«A#£iضh2Ú@t°Ž“Æ’bâÖ`¥‚ŒÆÛ BÜisüŸFÇŠÄߟÂhg‹<Ö ZÞ +P ÖÛ!”³„$™ô6ÈdM•¡8AJ&ý¡‹hmUEÔ{™\ÎÕ´õÇbÍRIO ¢Æ¥“nÐÑ> h[˜þ E”ÁŠB¯€„àoÂìcpÑ+¼´èú°¤«1ï*ŒG›ûƒ²Þþ¨¤±:$kîJ›£Ñž ÄÒ†ÐBñ¸Ü1Îå>€iZ”u$œ4ˆ8ÿî*!Ð`Tðyè^k<ÖŠdÒžpÖ\’ö‡_J… ®  HeÍÁxC‰âNšcš|©RÏÁ‹CÀ³ïÈ‘î#9Þm<ÞS1 +q)„*tA +Aï ÆàÇÜÙ,ólöi-QÞå>}léÑWbIs“@ÖT‡I“x~ 3Ï'EZs,Þb$ÞI•y·‘â]&_Þ3Vû3g[à)¦yÓš&íl.’ÉúÚƒÑnâß<ä4Ûæ l¶¡ ›uòÐf›¸/z&M \#÷¦Ië"Ó +ÛÄÙ@‡m·Îxì¶¡ó¢ÿÈî¾2¦K$q €7“åø5Ê5â) ô TâHu¸¡Û_ʼûR+½˜ŸIÓc]t¢›÷:É ƒèBZgDÖMšã?^Ã… +ãî%K<< +…  ãÐ'YÞÝA‰n6ÑcÜ=%CñöÁ¤%,Ùœ±8$k)‡V‹^JáýêgÕè½H0goKzJÆ¡úì» „úÙÜ —³†*£ó†* õ–Çdm ÓÏ' ô TÞ^$ÞÚ’t‡ãmÍ¡xK©0¼—(÷²< m K8g R6iíIº*ƒÑC‰âFsxä#ܧÂHô ¦€z +J0k¡A8|'/ÍJ„óQ,o ¥ž3UR;ƒOÚ€åÔ Do}Ñø³5›$ûð~¹&yÁ¨ ^•±è°(2” +”»—(ó~ѿ߀E៛/R”C Ú7„‡/YâñÏ|‘£­ àO úç£NüáS0 ¿5F"ÞÀD!Žäx÷…á Fï(‚ß)“ì€úy0¤2|ûK–x?}A‚p¾èß±C›1Ë{øÒ˜<ñü…v–ˆ¢ÿ:²y¦õŽý¬´­oOàZŸ]³6¾©£™6ópäÌê±™¯ ³kÚ¼hBµ{ SÏ;xqˆÕÑx4igMÚÙFuC‰rXµÖÇãÍý™Íñx?qþ}kF[©`O_ÚïéKû ^üy`Dý†.Ÿ´‚vQãÜo¢çK’y Næ|\Ú^ú!E8ŸƒgVû ¦ÝP¤Ö’³V%Í€E¡_€‚ÐK™ <ðɇ1ây§K2žÍñxwPÖ +PÞDqwa]IW+@1Xs\ΘxÎÔöOr'ßŸŠ±hSc0ÚX ú%?åŽy÷ ¢o°â0êľàD ®@4°iSï?úù©‰w%—;d3¯3&ó<}h°€†é)*<“Ï_ᘽiw}DÞ LâMä¼Q.7j”Ë—,ñ’$í¬3}…žÉ2ïóì©Ý7ngõP¢œ—BAè¤ L’´{ÚìÃ|âOšÿ‰sœ9Æý›:0»&n½36óIw TÞS0?”h_‡ëÐý¾5#F;ä˜ç¤øóÚ!”S2o¤G»·ÿØvãVvß¼…Ý5j]5 MsÆuÓ¤qÕ8wb7OŸ™Ÿ†ùY†+œ…Ї˜òù+Lᜋ åüÌÙV¸æí \YW_q<ÖS3}‘#M9G7}’m'ül¦L=¿À„áí +¨Ý-BY Æ}ž1Ú_ÚÄóÔˆGw÷"œgÂÌû NüÝ Z ÚV·‚Ñ?| _€‚Ð30è¼@ô’Tþª F™/ŸeOQñ1@Ù´ŒþÙCpö ²ï %´Î*-á/`ᜯ>k¨QÀÿä³Þ°DówX’‰[(‚iG‰:e’½Ò¿\êD¡×☬§T,ú£}VŠŸúbÑ;MúáM˜}wƒ‡÷ƒˆ^ÁŠ?› tÏÞ 4›uúÎè'dÏ5bîþ°¤!ÀHô2ý²;$i S6k.JZê„a_š]Ô8çëþ¢Ü­©÷Œþ},ÿÖÇãmAÊf͡ɧÍáŠgÕ!Y7ph'õÕ&÷pìÂî¦QÃæ5‡«´°é€øØú2"C¼¡tt†ôR&5†ã%:ø íðŸñÚÖÑ¢œÖN²8Éñ.\×0ó<†%›ö‡(˜â-ʺî„óL–ãïÆaR$ô÷ö‘ñð(‚[cñC™àÉß~Nž˜ÏÁ#ó?}k¸Q¢œ8'àgP¢W ø“ ï~þÚüàÛmYw=ÒÝ@ǹƒ…ßÁ‹C¿ Ä ÏHqÎ39öýC¶<‡Žìß¼•Ù6ncöOŸšx §IãªeFüoÏÃW½jU¿¢¢"2¤ûªtÖݘsSæbÛƒ7“%Ù÷ôµÙGšs65‡býàFbÁK‰¯“yÚŽ\´“ÓMe"ðèñgŽì'°í6JöÖŒµ‡)ÿB’ÊO…‘ˆàÓïÈ´yó²{ýµš~ý0‡-žvVÈäܺg3qæÝ jÚ^'–ôƒŽtÔ +A»Z£Má f¡”“ƒ“ÎÃ’Í»ëCÒ¶Î`ôP ¸Í¾ÿÄIÆ…ßò¢D: +TÐw}HÚÛ’_Êa)¡7pÙ‡G +âR¢‡Cˆtw¾A„6¤\ ¤ØF7}ðô³¥N(ÖŒp†1\ i)'ðT:oíÊ ÇÚˆ±ÎóÕnÀ5¯£wfïì¡ÝIwH“vÞ(Ùo…@ÖJEí R:énÍ™ªI¨·ršo0Òy'ýûÿbõ*!¼ ¼ËŽÔ{1ÁáE81a3(‘xÒÝE‡t¹aÜÎÝš/RŒ+øÌ¬Ä“ ëò?7 +D(?&–9%–?«£Ñ Îýü¹ý Â7˜d\I/HÎ1¾5mJÄ!À8Ìxæ(ýÄN”|¸“åžx’—J!ˆ[i<ÚZ”óÇ£-•Âð^ºÜó9vd¾‡¼†í±è5 Éü”`ÖK”y?¨°MA蟘ú‚0_º´Ãuôʾ̖Õiª«)™ÿþ¶ÝQ'½–¤ÀßbŒ³kÞÀæéž%³egѨu{þØjC¶Yˆñ­>¤«Ø@¬=9W“yˆ+¤ö'›¿‹CÒ!ÒÒ )Æù›9±ºFÎ+l$YW_y8Ö–`ÞŽPÞP¢}ùa\ÏX툑.2Qh[q0Ú \>¸‘XGÁ´«?i Q0稟I3ï í»¯>ë L6g M6ë H8k G8o J2ý!˜µÑ@œg/íÛ¸Õ9tc'ïÌŠB<{£Ñ?@±èŸ.ù˜ùrjŠD\Aç`؆3Yæá¦\Ö lÎQ0ëœ>²ÙfN,|“'F÷×<Ôhà}aJèì! )}eeôSqõžhÒW6TŠ@ûIÔÏnãÐvÃðÆêx¬”(ĉçð¾5ßÃ×V/8axSA!µ/4ñ¤·9$ï J6ý7 ináˆ%Í—M´÷C”†ú+*'ìj Êð” Å& ÎTIöJz‡®Ì¶y ³Ÿ8ÇbnGïÍ1ù£Hþ2›‡¬vCúåR&ÿÏ>¼h1§1a÷|þΈ‰ç¹°›èPî°$çK”x¹ŸÚ§IÓ¢§c<»ÃA‚nø•F£§¦XÄ›.ñr7²üF- ×™;ÃkÔ¼üt„ŸwòÎþ‹¶‡-£5,Ÿ7&›ó“çß½4¹ç‘ ïˆéš.Ǹև£íá'.áHetØvÛ¼‰ÕC†q_h ~•‘ˆàìËmÖÂìŽÓà©ØAÊÝdÒšlÖBý<Ù}Õ³<€è4`èWPàÛ]a +çLEô¶Æp¼„~¨O@üé²IïJC²®Ê`ô6ÇŸèÐîŽ2ˆouHÚWŽ7RãÝÏÛ„•_KÃ.ŒÞ¹Kó}jyR"ÞÖKòÖRãND8—ÿŒßr¥Ç»¼Ñîÿ®Í¸‰Ã2^a«éŽuDiWƒhâù50á´“ñpž;¶ÿÃ׆óÕn8/›FÍk:”«ðóZ ’uwH%Uð ¾Ý<{j<ýpmIÛ‹D;é1Ï0-ס;ó<{i_ˆPÎ?aúá XâÀ™-ÊáP€yh`~æ‰åp—~øÒÁœ‰Ã ÔÏ)Îyž±ÚÝ£çöwðÒ~ÝØ¿³{üÔápr›‡ûñcËÛð_•Õó++¹¯ÚÉsÏ?aöå5i]·Ì –Áïp¿¢Âê ¿M2þ¤Ù÷«2½…ž(1ש;û9se?§®Ì÷졉… ÛÄD‰qùÏÛ, ß „†-`ñœµ?$飀÷Qe]ƒ‡~Û#ÒÞò ¬±8m§K²™ÌϤm…iضè?7ÏÀEà×%ógXb‰ð$û8/zf ïø™ÙIy¿ źûò† Ä•&÷²¬³§n0Ò (1‡ƒ‚–PªnÊì« ój'ξ;j4-ôQ¢ƒ_ +Åáä¸×뫬.kÖ¼ì¥È=ÜZ¯€„òw¢™K™Ä… Ýð©—xîà"z•=ƒVBr‚йV¯ÍÙ×gQm¦‘%㦚®y¬ôÚŠªßYT]ˆžáÆnU¢oذ¡_«:(nG@4Õ« °ËʃPeØÂ'°"tñüV‡@†¸ œ£VÎÛ$•á cBg bFà ZÖ9xi៿9:N°x~§‚<~)Œ‹ÃP¯a1b›QrÓ\fÌ”øNáx O(å _}9aƒ»¸¨­¸¨ 1l sèBJ_eAa‡Ðr¢Î@…³–€Dsv#’®6’¼›¬ ¤—:Ç5Ûœ£g6/`Ah‡C¢æÆ³¦úH¬Fûj§ÑqäØFOÑì,™±úêFŒZt£•>ñh E6g<6OÅî«~u¡C¯;x˜–ÑW9}fà&Ò¾9NpÍ…ýeŇͥeG c[qQgYIakLÎ@k©‰5†-£á_@m P4g P0gªFú(Ïþ)d«uüÈh +UBÁ´—7X€³K,ÁLžãzêFb-A g¸BÎ+#ò^räû@n;zeŸ¦LlwþÒ¤my%µ(,©¼§d æ8É8„‹ÿÀæXkÊ%w®–BgzЇz :‘N‚>•Í4ûUÒÕ2^_ýC ]ÃvB—íö0 A•nà9±”DÉ_¡H»,D$¿ ñe#qf°"±®êh¤Ÿ:m/k®È +¾Û ¾ÚC˜ÐÚíŽ-GLÆÈ6„t ©‘k€òY-âù C¹ÚA DÛ—Ð:”O°âÍd 8gmaQãRVàXRHx«Æ;'îÌÓ¤uÝ9tcÇ.  +„ÃuâÒ¼Mœ=ãúîì©Õ>†nsÑ#l+t Þ +C† 4ob°Ü×L³Ö•eSG¶©ûv»ªCg:zÐ ô8èPGzØTÄ+«ò p‡ÀÀÊ¿ä¨óŽ“ƒ$Ñ"ƒb#)Ý4:®gÖ¶°d¸n;gsœøþ06èPñ‡‰1‡aéqo}ÑAç\ +¨Å\vÌXa^„/„1‘Õm¢ ¾ †lý&‚¬£ƒåè¡E9›Is\+0qHkuPÒ¨ŒÎ¦„Δ\Ö–Tڜӥ,î X8m%K½[‰2Ï_ riGˆbI3yŽë™¸îùUßú†°©MÚÙVÎG˜u´áÛƒ6¬£kÞ¾Àýc…è8Uˆ)µ˜.º¼7¡ðû"Pa®@‰¬ ´ÈâYã*+ŒŒYƒ$ÀP%í¡E:ºÉ“¯†ÐÃqưe4Ìá€P:¯Âq%Æ·œ§f8ÖÔìg!PñG_3úµœ4íÂT³¸Ê +¼KIŒ¼ªÉèítIÆyðÖ¼™-ÿñcË}ÑÄ8oc^Fë¦k̾>à¾CN³gÊòYf+|5 ûß~BDŸACß ACw‚ÐzQºAЭ,`ðalû +IÂ…e¼°ª¦pôÕŒBmî0•ƒ»Z0¤ñÊÀ +B¬"M¼/RåÞLĈG/`H‹èÂbö€Šð+`¯…FALèÌÇ`ý €CÛ +ŒèçëAd„¦è”µKRÐðp颊"z'¼ pöÝ VÖ>ýl¤I½ú‰4ÖÐ¥8g¢BLK9¨jW`â¾p¤“þ ÄÓco$âD‡pbµöt„ –Ù²³d´n«$ÉqaËh¨ŽîÞ:„ÞŽ!†)E#·®±ëúN×p«(ˆ`eY@šrVÓµšªYe8Š¡'âI+åVWåXd([nL[Æ™PÉÅ^pÔÜ(™_&Ðñìó÷Vûº…3,`lf¥‡_³"䮽Ȩ3$@lÁ€Q°L|¿ȘӜù[Z|̘ø&(a8øœ“.ój¤Ë»z‰3ï.r¤»—.Çõ” ÇÒ<%…¯©°¸ý“þ;qñAp)ACÀá8K© ôC„q¹Ÿ~ôxwãèÑ=Wõm•B—RÀíÞí™/Ä.¬ QÞaa­TfÑabÐ^@±†$÷®’Bÿ®$àE•}!Yù”d]•…X](ðò€„ÕV èUõˆe–˜ÈÒPXY(œX X†™8É´&ߌàÄàÜôI¶0ëê/,l7*=ò  ó¦‡&ãf+Èð>ÃN¡~´Ñd^X$Àx–_l ®ª+$î&É>œ©‘/W ¨Å€„T'ß–×L—øwú +Ü­8€è&`èV:LÓ|ß@ÁCÏ>¸ÐA\ðÐó!º.…þCpŠ„ûÎÈåV=ÇòЯ,X¨áëª‚Š¢([VBD9 +WY‹Õˆ2«¹¼DÄl€YU +À;˜ánPcqŽpÅóÛa*¾nO†üÅ X¶8Œñ´'`Ñ S¸rYS…½G@‘çSbü0$7ò«)%î +N4i+)y†, s‰µ"Ýì3èF+0q8g}`‚-”‚†ÀX´Ÿ:û~…)œ3N…(¡6FâïÁKwO{ýµêb0–ÎÞZøBé'%¥„·ºbÂαS w Þ Ý‚WCçÀÍÐE\àеB|0[u•—|­(ðåÊ|µå xHÝ:üÀˆó CªÆ!¨^‡ e î &œ—À˜ù[þ%UÀaXÈñ­Fp°öRáƒÃ¬¨í† þxÂÅ—dIîU¥õâZ´#XÆ·à qa–$G®5RN’×I–{õS(`M¡Êæ,á g¸hrÎæáK³ óò(OB|A‰Á”^âä›—:ñìC7šÆmÄw& Ó¤iÕ7uc4Ï›mçEw«+ªÎåfèx»T3i#²fÔº¬löÒD<ÙP¬ +QÎqu—‰d…(ë° +QRUUŽB%¢<Æ^•U9Œ‡e²eU[œ¨ò „Õ†r ¬åXÛ.žW x4~µJ4¿Ä”˜«Äœ¨%Hé=ÚÕ9whó‘fmU2ù­BÀ šk€e{…òÛAáúÊ +¥%E „áÜä®À…ôëóKŒy+ + ¿U +—D“FJ´í­ÒsÒƒóšé·:† VÛ Bw  Ûs0•T ÃYêaçúbu6Mº…ojÔqZøº.SìR.EȈáúˆ« @%ä@tË0@Ìe- ÐÊ `Á•ð¥+\(e2ˆ˜-B"¥Zö3öÈ%x‰“/Œ(² ‘”Š›xÁk,%r ˆ†©6é N.ë Z<é)ë¢Æ9_¤xwG82yçLF»¨¨|þ-í, +k©‰³öHåÌtÙW÷pVVçj?tð•GrœÛJ@ÊWfûÎÁ‚Uçj;tDÌœå`ž?´š†M ÜÄéG7°Ñîùƒ ×À‰eYêaa(ŸÈ²Ë<¾{Cóm—½Pm(—rú±‡¡_U¥ú£î„3ÔŸzŠú,áÁ `W…¤ƒŠFû¨vᮈïf(kcL€ßšôÈ÷ˆÑ:䑤‹¬äˆY¹1$è¦M²}àrÐc)€¾¯¼°5|µ<0ÃØ”tÖ&øê£lýA ^²ä«§\âð”+Ç;Ö×î"¨¾½Â„†=†h5Ó »ºÉD^¤IwQÂÑHv3ƒ‰à^H\eŸx^A©xÄjê<Ì:@b1Ë(”l¥éæa(E_‡(/°å*”{x¨PæáaªÌ¢Ã‘E 2#² ‚nÁR§³Q]|¡:ÝÃ3ÅSUÁdZmÇx^) qø­‘üÚbpÌqPzh­%©±uÅ…´†m,\×¶Éë +#}ÖÑQ: Á °"«Ë Ž[ÌI ñÕ”t”(ã,dˆŽzqæ `ª´0Œ§D >v%HÍ!YÙ‘¶R žWQ^˜ÎÚˆîáC¸/-]»Ò„~a„ ˸¬ + ‘Å¡ü⪛À'V• %–…ò wø2c66ÙËTtÒÇ'fL=ÒC5È~dÈu¸)Q†¡†Tl ©Xwæ3Ì+ddІ²’^å-Wp_¢Ô_c~ÐThžÚÑ8o€èÌV*ä¿qabߥ(p \:ëkŽF»NÏA˦—b!èmæºêœ¼²*0%~ Ýh«Ið­ÅFMeÇÏö¨œ;7C‡®Ä`B_‚šÐ— "t¥Üþ­²š’qxS02é£8É]€ó—Aè80Oj¿*anÊ]Àsˆá*Œ2€»ïŠè»,‹Ë ªPŽ¢áA¥.’dÅÝæ.èX$¦¾4ÔkhúL6é@g1'’­JÈr.kG0-,a '8ÎÉqÜb+Lؤ\ÖMœãÈnÆL<÷pVˆ6-ðeÜ b+ÂY`\Ì6–ô‡ÌÀвáˆuÕÒieUÞqu¡\•¡PI(/Ñà„€x’riR˜q;=Dƒ]k¤Ôøõ& Î4óÓ…º-Áj—\!"é’ê(å²KcØ€ Ú\%Žö†1š7×–þÐG®;!Hr|HŒŸå¤E½Í‘9?ÀÁ8[P‚ï13ê µO0¿O0±¶(QUV¾ò+{S@ 8ۥ󪉅ÖÔH¬eVwÉ•YyK–]YL¸«KD¹HÕ\Fb5—ŸT…ËRB|•°R+물Ö6H•oXº’8aª©•í^ Õ¥~ˆúOçé3½ªg©c]Ü ‚…8µHÑW{@`”ÖÇ i ÆžjDÙ@í¾u‡c}aŠçÜ-BYßÈ…ÝCªÞÅb˜–iY](Ë!˜%;±‰øÄ„×Ê\¾\åÒ«e$²e¸e|¹ UÞf>cþcb“1$Ÿ’ÊÇ=$% ŸÐ‰• ‚C¹ l †åÒ xyª¯rª¼Ê¨¢Ë|è–—d8*sFðÁRØ­ÙqÆí‚_<Õ¹GN¨ûÔô›.ÔNæ[ížXø6¥nÅÑh×”yÙ]–Uæ +,e›žSÜ*Wh ³?l•¹ˆðãr€íU@U^^ Ä·Œ€‡«òÈʰš+5À—® ÂmH@–Ìcü¶1e¬o¹”Xâè¥É4“Ðñho÷›¹ýÌõgaôíÒR‡ÚêpˆºÒÍPê;}º}Bp`Œ¦†ÉD%~‹uG”d.2éó³²å&+À’p^.òó¤>ÄbÀ—ÔÁ¥kòÆ/r“,7Þ“)wš)a®²’o]6r…U>""[>â—Mªýp—«„°+á9Aà7¢À¦·@3Wù‹ˆ¬2* e& À3ƒŽ:ï ·®Ìá¼í~û w’ê,ètÖA£@íoô¿ïT§ëÕ͸ ú–ƒýûäÔ¯BFýŽMWš!š9Ä/d•…XåPÅf«âkBCœá¹°qs- ãg% ÄáŸa+¨ Å(à»u1ⱠЂ–²ˆ%UYÕdäðƒ/w Ñ'$nL¾[儸PÎÂáZ¦± ”†ªVð92¦PcâÌ+)ÎvÃaftlåP‚²Š +Þò’ Úò RåšÊ$&ø8IäΘ(ÃvÆ¡Î:àLíkt,©£ÎÁ€Q¿€tÔ»GEÂÎÑ´×PX@&Î[PRáwNíKOäHzwÏ DǪ¯(—ìEö!…Ü BC0Èå#e“8¹ò°/—Výò•ªp9Jå'”Kh0¢’x!A…… å'¦Ê42ô(ñ‹pÓcn‹3$OË…PËCÅP«ƒP[“#M 98Aü°9E +¯6A§hbà=è` :-Õ׋­|@†ò“ Ê10%)¤€CCÎ˃dì â²Øú!é›”iX€PöAª|² +E`)ÐàXÃö8 zˆI}ʇ¨?Õõ£¡~D3Ô™hŠzS ‘P÷ÙÙ9ê@=6kUVº æC¤‘KF:%`ë é||2Ž$â… “D)Zå ÍJÁ•¤SÎ_lñš…rÖ˜‚JØ/wYùËXyŒU†r Êa0(•gty´0^gnˆe{eMíˆVÔΆ!ªÿê^?8Яè]%¦ŽZêT¡¥>%´Ô©BM‚ýË@Aïâ*èst0«‚¾i©?ø1êN3A]iÇÆf¦× è9"x¡BÙH‡³²–,>+Xî ü ?”_dQ• ¸±À°$“{?„|þõH™˜CÑёǠŒ+ZvT_•¹x¸–dP*€ç§2:T­8Hø®Ób:g˜ÚɤúØA¯4õ+LýÂQS¯ ´Ô'$1õmRRß"-u.RR÷"u ºIýTRñt cpzê x–ºÐt¨ûôŸ~Ó}JpU®²ï +Ì<%Z8÷–tѼƒ‚À&”/šxN¶`æ1¡2¹'¤È$ÙÇÊñ’>. …’˜ff`qËJ0\ËJ,$•ID葲¨aQvíˆY úY}«zÔ;8ꔎ:ÔR·j°ÔíªSϯNÝ +J©‡€JꚎ üu§¢¤éP'êB}§ûôœ¾S3ûSp] +õØgD3¯ ’M;*a.ížÀHÇ$Ë#žŽ{=ŒHŽ{D‘$ïPé‡CE$âFEÏ&i8°äge0XÊR4 («¨°ó;U6Õ©ôG+¨¾Gª›Yt0êSçšzêT ”:–Ȩ7"êxˆú¡ž`©È9êFS¢>Ô‡ŠzP7pCÔÐõ8Gýi§¨#Ñ õž!)IAyÅ…@|ÈqÑÇ;$QïŽü¨¼œòVIˆDrì‡ä¸GÏ?P6ÿ +`’9(ãFãc>ÄM"mz@¸x±r˜+å~¬z§ ZÕþø•êvœz‡¦NgÁ@kPÐÉ ú\…¨^†MÐgz£¥žJêvŽz£.•sÔ™¦Dý‡§÷tNÔ}ºÒt¨°9êG3D62}ªô“$¡„Ããe·É= =*ñ”\©ÌKÂ…2ïÈÉ<"G$÷‚ÐÔ+"#r“È=!E::ñ[Üü'GäKm-±P$€Å S]Ö®I3è—7ƒnh¥ çe8ÐÕ¶M}ëªÔ­ ’:¦¤¾M2ê×¢£þ€§¨'¸êHÓŸŽ4õé¦BÝÀ QošêKÓ¡®4#Ô“¦B4SP(?ÑÐH¸D°RïHÍ»(W8õ˜\ñÌ{‚…SÏÉ—K½#W"ñŽ4‰Ü…’ì£I¥_Ž" ¨$$%,¬l€Õ¶L$ƒTÆ… .ŠÞ™^ÙNHÅ ŸA@ÐñL}KŠ©ÂQŸ0tÔ'%uoÑQŸ +2ê zŠ:Uè¨7àIê +v–z’QêB½§ÿLûÌL·ùé@]¨ÿÈôi–6A^.U¤ŸOL=#N2ñžˆ©´s†O‰J=#Y ó„ð¨äÛ±“ÏÌ>Q,ý +0ix±3‰Z`‹)]_e0VÊY8ô<Ñ›Ð'¿>()uGEýÊRŸ£:`©ÿK½,‹ ƒet´î‚žO)è–:„ ¤.¥“Ô‘¦EýG‡§O§@8E=6ÁT±Ì;¢¬@¤Þ‘zB€Dîy™W¤ä‘|>V@òñœ ¢ éG„R0È%äøÈA “‘„>&#q8êáÈ‚C(¹ÐS%OBg 1ÕíLÄ¢Îaé¨cA%up‚¤Ž• ©sP°Ô+0%õ¬SÏ-uêŽRGPsÔƒ:PN×¹Ñé7„ÊW4@þ‘¬Ô3’DRoˆŽÉ½!>"ÇCZTŽ©Üû1¤RÏHL2$•ãH*É=†XÞpY¨£RGßUN@DP—C ÓN¯•Ù¼¯}¯ƒƒþ¥ô LHýÊCÔ§r†úƒ›¡.ESÔ Ôõ¥)Pê>¨ïôŸÞÓh‚úSÍQOÿé5=gæg[N’¡rHŽL½#G0ñ–PáÔsòås¼$ (‰—P¿!_:ÉC°€þù òÙÄŠ¤àÌÈ?-$ {T2†29CT1l¬¬åJª\bà ©·{]¡:#¥Žå1êV¢^íêÔ¡ᆨW{ˆºVȨs‹Žzw(©G RêX¤®ç(¨÷Ôô›Þe¦>3H=§’•ųÃWy’Tæñž x”+¥‰GäGd_ÐH?!¢‘?>!û„p>ê±ù÷C´Ô,1‡­Ã#à“ŒIÆ‘‚?*#TBþpÔóñå†Pö¡†‡X„>¶Ð 0Bêr‚z‚ŸEóÓÔ uS ¾Ô…úPïéF2?½i¦¨#Éõ¾ÓmºNŸé43×B”P-ªàâÙ·d’¯Ègd¢¾ÈÇ$y‘Iò ÿ~pFŽĨ$ÿ(@sÈN>H0É>‚TòñÈ1ù—C…$!MÁR¾Àʈh*‹RÉı=îƒ^p g…ºRÿé?8ݦÛäô™^3ÔSÔs Ö¼<&„$ LIò’{AlLŽƒì˜ÌCâs¯Hé&Ṟ(–{B LŽÁäëá$²SJÚ`ÈÉÏ%lŒ.ª|Í•»„§Ê(:Ô¨ ‹Ð˼ úÈ(g¦×ðôÞÓy:Pÿé:]§ót›iŸ‘éÓé RRÓ £¼&$ 0]•ä'™ŒssN¢4Ö1Iò8.R¢’1Id‰+c“‘Nê& F +©œ44RXɘ¤O²SŠš$©•²HÑ*f’…DÉBJ Îè•·¹C9J‡©'×¶—Iꎖ:TMPGê=}¨ïtœŽCÓifúÌM¿é6Ó>SÓoúL¯é½çôœÎÓ¦H}K…0­Ã@¤ö¼£Ã[_I¿#š{GP@æ%i9V"*)˜$q’ðˆ"%£2$áÅHr“|:€L’}ä˜ÜòÂrOH J¾5$Ç>lLúñX!Y¨SQÓÈ›’èe.~˜+t¹Ôn…AWpcTÓ{—™öiŸáéAÌ*B‡rtåÀfe0XwYKXYŒ•!ðG<$Z&õˆH‰û ¹ÄFäž{?tHúí€éç#TRHeäßOÉ¿¢“|;vPJ>™«¬t"'Y¢ÊØcUº—`zÑr‹•ÅX5(£àPd¥ðB7«à Gáuœ®ÓizM—é2Ó>##ÓÓ…úO'ê9½g¦ÛôÞe:NßéEý¦ÉÜôž~Óq:M·™öÞ{ïÓ>Ó{ï½÷Þ{—é4ݦçôžÓyzM¿éÓ>ÓoúNçé@]¨+u©$©N¦EÁªÌåÃä^é$cœ•ŒsTvPNV‰#€™0 +žP îËÃ%ƒŽwG‚Dî y9&²r „Å#yDZc8"ùz´ˆôóù÷ãSRðGedàÉHB“„> # ¨„<ÌÙ'ŒwP^±ajHKèÿZí zœ:Oçé4½¦ÏtšnÓoºNßé<=§ÓôšNÓiú´Ëô™>ÓszM§é4¦×ô›ŽÓ}:P2 `¦nŒ‘h•‰?Ó5.]jêAŠZÐ5D°ÊÐá†xøiЖl(+ÀÊ‘S‹Ùa˜hÒ]I€QKŽ +K@%‘’|H:óŠüpÜûÁrHzDnDò uÄ+ÂR É¿¢‘~B>!û€˜€ôóá äÒ‘I eŠ,c‡Xºà€]Jߘ)ÞË—¿ˆ#Œ]9_´rXÊ¥šÆ\bà)@îÂLãV…žÅ…П† zÑÌS'êG½§ÿôœ®Ós:Oßé=½ˆ©C=õH:„'¨>ö½…’*BY•0@T(Aõ41„Q =@ tTB'ò>PPâÃUY +˜Ì—}SãªDY”+uBÙ8åŽüL--3¤/#&‹8R±„ä‚’D%`MÌÅ%|™‡K+LNò%Ñ|Ìb£ÑîˆÇ<"Aó‚ü ô B +9DË–A¼W9ýf€-a_f"BBLJ"%ƒº–¶[`À g™têÐSÂaêO4H]i +ÔfzzRêI}©3EõzB„>±‡é¢ÿ º%] §A7êO}¨+õ¡ÎÔºnDƒ ?19è?„ ȹ+í%D J)Àí8‡e㜕sSn0ÒAÑ!9VòÙØÃ­2L'–€Wþ%™Œ)!ÉWä³0H'&áÆËÌ(o•,®ˆ9*á¢Eè勯’F‰˜$pòÐ#¤ßOI•’…?#ýx ÔñùØxDoKt‡2” 0Ê!¨Æ™¼ÙB¿ÚVû…íT§­v ÛkÏàÝö +²*C·ã` +S·­ 3jb~ñ¬.” '€0`H c¸&s|ñ:\²ÀGD²Àß,UŒ´“ÒNJ F¹R!”zRB%Sl {+/õ-W±g”†PüçžIŒ+5 1®tÌ"Ý#‘ä#¤xD|@ê ±Qi¨¤R†—.G!`´"[lùšôò ¹Ä$Y +Hr’d 0ñŠè€i‘™ØÄï’–1=-Sî°1?ì¯vØu^¢Ü~bÂØ'´€=‚–ž=„䂲¯È'$OJC%‚‰KðÑØòÅP&‚©„b¤JÆ*ï!¬ÊB¬ºÊO¾v +h¡ïàBR9ÀcB¬ä‹BYYIÎ’ôÊeŒ.`ŽIÆhNéâó´h©¹ À¦½b–éèdÜYŰS“ +% .`“?ºt9& #®,€ X¦e”¹Ç½ 3$û~ À¬\R—ùÈdOT +›¢”/9y ”o‡Ê=žÅ.é’wVN©«äC"š)˜$’3²I^f‹*d„LšlÕQ!‚{ í¡ükAid^®"B/æ?& ÜL¸ßÊÈb+ ««£I¹O„8g´ˆç—,õ‚OB¤G;ÜŠD¯¥ñø¨8ÄuîÐ|ÏŸÚí¤É÷¡FmÞ¼ì:´»‡ÜFt(÷¥Pú'M?¼§/íÓŒ¨û ÎêßW5j`õ’%î ÅaåÝß!›y¦Ì=oÀ“ÏÆ}ŸÀ6{‡Ní;iŽÿÓæ8ò{ËyöÎþaÜwâðGÞ6û˜0óþ‘ä¾C>ó:yd)9›ãñV*øsæÎrîÌl§Í¿;ÛcrÞþ¨œ# Ñœ¥P,ÒOŸ÷Òäø/eîÝH’xU57ˆåüêçmäÄf²ûʯ«þ l»¹; ï +D4mk È%H2®€”ð~âüóHŒyþ²Î-ÚÙ>ùp›~>è°ÍÛÌÍ3my¸f®k† ôUu7Hæ\…ñh;Yö%EÞé©-Yâá J þ¦ËñТÜU$Ý-’¦À¤ òÎðì{Ú4ÀÉ'Dç Ri[Aý`&¤8†)ô ÅÀ³Ï Ã?I&- &]¡T“Ööp¼¬P¼,ù¾ÐáÛƒˆÃÎ:‘L$Ç» óï㈴€þáD‰rN™yùÔ +FÿàâežP"Ü4iç“ ïŽï^[€£‡íËwðÒü_›Ò%žtSœû:ygö ˜]ä8w3hˆ3XAèüR(ÿÇã_@'Oíû®ùð±ý¸1ûpÍ/aæ}' ?uÆ¢\½4¹ç{Èm¾úÛAP‰ !«³9o+ ÅÏýñx#IÚi}Á5m[69ÍîñS»‡áìš´¯ÚˆÑÎÆýš¶®{æ‹+ÂIAHæg°‚ÐïŒÍñ¼Ð ¾¹‡+ !ˆµi/Þey4ÚuxøÉ ŸAʦà³Ðî${ìH{BÌ«c’îöÀœ?Pµ=`­¨8¼oîÂj/:kúuüÜ(¹´¥P Ú<ÿ Da$þ' ï§L@©…6t_õôìƒmæ¾ê¦L²ÐBñ†@#rÖꨤ£H>eöåJ‘xA~s?©ŸZ‘è 0Üñ3“´³µA*g ¥¡4ÖF¤àÓ_š#Æ:/…âðf â0¨n¤X·€T¯Päò¦P$Ó®ÂØ“IPRi_E ý?ŠŠÜêʉ¢Æ¸_Ã6Âαó=c¶›úÑS9ñôlÖN–|?IÒ.Gj´‹0dÒžra˜GꀼœÄŸ6ÇyÓåø+0á‡7ø•(ó<`›ÒdÞÏæ`ôŽTÞ\ z¥É=oàÒÐBQ Á¿@àGª¤û5s\5ÍZ>çäÙH‘v^IrÏ;phC˜‘ø„öÕ˜…Ù5n`uNÝ™Í×f÷ôµÙO£ã¯-"ISk"ýû >ñž‚B E™|߸Ù8ù¾Èd­Íñx?uöý:°º‹¿à¦²êZáðtÌïŒÍɸáÛ§1Ûª§db°‘#Ý £ÒCˆqø£R~½°ÛZWà)ˆCˆ¡ø©.ï¦Ì<¼ÉR/·ÒPü¢lÚ’|ÖYJDÅ`ATt©ÕˆF&D¸I +ÿ³7G•aˆw‰XÒ[“u„#šsˆ,)hšIŠoI'­@ÑF‚¼û?€m Vz¨Ï@<ЇôS*o$¤ ôúÀ¤¹:*í©Œ÷ÒÃ"E9<‰Òî;u&íÃqPÚS*ïŸdü€¦ßm€’/g²~ dod)gÛÔy…mèÀÂN¡ãÛË$3<I&m•Áè™*ÉØ6Oß™ež’ãÞ͘ïþ¦AÓº3,é´ÅJXäxø+žöƒŠwÓæø#=Òå Tž0´Ÿ8ÿ>$ž¤!Æá×îhô\“÷ο"ùü'p-êÄ®ýÑè¥Xz |8Ó$_Qb÷y[m4ÚPŸ„~I’ìxþý)Šw„!“ö€hñíãÜ}y9/»‡Œ†Àð;Pqø£F{ÈkžgoÍëä¥Ù@…n HðáÙ ö5G£@ôÏ'UæÝMš{^h e"ð3Uæå:wf÷ÎÒ£^¤Ü=s¶îyÕípV¿±²¦_Ÿ¦aËg#Æ:¬$ZŒlÞD…q¹Î\؆û×ð£E;ÜFŽë¦Óë{…Iæᇤ¯0ÄÒ?xQ¸36Ûú¸œ/”~Î"œ„þ«)%nºÉ <+‰hîE¢¯9«“(érªŒBü@'Y| ÔÏ/8ax;€‘Xw}`ÒŽpÒ–pz G4o)„N–zâ @7ña® tðwwLÞÚ¸‚Ñ?ܧ?Àè«0}ÖÆdíRYw}HÚ R6Uêå>|j J þ.J[;#ÒK™ Œ"%ôN—}Ê3WÀih(ÇGís¨63uêÝHÿî'Ï¿› +E;‚Îð+ áZJ‰¼•Î{K„’¶àX5Ú}¼´:Ç®ÌÞ!›Ù?mÞÀ¦ßÌ®û•ˆ+¹3<ÃÎÛ/å +áÄ!åóþÀÅó–P$“¾€äÒGÝ}§Í1ö”ŠEÔ˜÷úà|R㞟Z‘è½?"}¤ ô÷ömÖÂl7°šgœæçò§Í¾%*è£Fq,½Ô‰Bo¤X‡Ù—_i4úlÆ=!D'N=üÁ D¿ÀDà‡ðâ·Ôr¢äË›,õò!øI—K¥Ä«4ë®Ë™d²¦ÒX¬ŒÞDqw"\}4ig# áw?iþùø©9eæå÷ð­yŸ@¶û†®Ëãà‰ÙH’w"žxâV(ÞIŽwy A´h—׬yÙ>g¹M]—-3â›Õí!ˆéþfßÔK+<ý²Á9veöS' ]¡ çO^Zƒƒy"® sð7IóþÓ%`¶€«ŒHûIsœçØ‘Ý4h]5ÎÛ˜çÉSûHŒyÿ Â<[€ãwpbñ~²$‹‘ñð¥E2>•WÀ)h‰‡OrIãðÍ5raß›<0šg¬vC‘ú RBgbHÐYTHüZ@}'µVˆãJg=åÍ4™'Ö±#Ó˜uÙCqZÚÞÊI(Žñx?xAˆW˜Â9K(’I_o8ÞC…sþi³Ïj£±BÎy»£’®0$³æ dÓObigq0~¨}¿h±Î#=Ö5Iöá<ý õ"±DŠ´ãsÓ‚âôÓz`"ñn̦9Ó¢eÂè¯ W è†gm0~* +qΛ8gÎìnбŠJ¨ÇP +:/XaX#˜óH“u^J…ààâÐ;Yö%5æáR¤…xR#~7fËpÑY= "Dw1cög&˼ßÀâ4‰çiؼæ)¶™›“(ï>Ðá[]ÃæE÷ø±ÙDˆu~:B î3–ÕŒ™x¾ÁûªeÂèoÿ ªfº¸hœ·3œ;1?c&¦gÌÄóLØÖü3¸æ%LÙ ‡àRÂÆúˆ¤“(ï>Ι}ó6¶³w%èxçÆ¡wã°n„=ûa/zž!Ûªoà¼Íå¾ô¸' +ŒË‘ñð ~¸Ô‰BÏ`E¡oÂܳ‘ûºgÎðy*fÏ3cZõ \Z~tx—;Iò‰¡:óœùË¿\Št°Z£ÝºwOÓp«.¶ +1S™ÁH¥íÃrŽ2a`´¯æ.± sÐJcUý߉ q8Éh.5Zˆ/5Þi%=Îmíì•åLyâ G8mI<ï(ÑÁ/T(w3aŽï(žA +¯Ý!YcPÂY#Èäú´µ6$oH>o,&£8$œÞJCñ?uî‰åþÓ&_NÈå]AÉå½ Äà_^”H÷¡> ½T CÏd¹÷wòÐ~Mš—m£æåsæÊ~OߨÖΜ™>dø–ßÌù^ƒ¨ê5ˆ€¿‰r/§Aëªû]‡e´ìzªuÛ]•U×0áÃT Ÿ±:o^NÌJ?g«ÆÛÁ‹Ã[ŠÀK=/•"ð'ý"¬óM‘F†vùL˜¸î_«ª^W‰è\XY=i>¤Ñ¶ö`´‘&ïî7®¹ã`«8¯¯ ØÕ?XÄôË_u?‹¸ÃW4h\ôŸ™MÃ:ø³7*ë« H[ Áž>µ¿CF»¥`üý+/£¾˜Ð:J…à’džäx—!Þý&µ4ðÐ̽< …ßlþáO}Æ,¯m༼‘bœ–_Ú ]—'"œË‘éò¤EÇŸ ¿‘#ûVZ|±%4Ä¢|KMÐL<­˜`rQÑÔŠú̃åüÎ8ÍV‚Ôï6ï¦N¼ñO¡Ú*Á'Þæ`Ä pêå;}c¿íf²¼Ë0÷ð&Èq.Tç‰ +í”,ípœº±[‡LT¨†G•àgq0~§M<1ÎÝ’ŽÜ®c‡vë¡ý›¸0»ãWX]wðBZ‡€Bj79îÜ¥á5gb7Ï^™˜.§îÌN‚¼ûS2o/ÊzjE¢O¢´3‚¬‹ ÄrÌïø¡ÕH“w5…*¡`/å…¿j"Š_k@Ú HÞÝ^ŠÄ ®Äx§ä÷–¦i-ÆáD‹qx‘¢œ6‡äÒäžÏ©3»iÈÆæ@7¥Ç;¡C¶|gL†Óœ‰mš3.»æ¬ëž¡UψåöÔë¦{xƒ™áïΟ™í—.ír(PAÏ4IÆ{Æjß(ÑÐéòïîÙ ‹ "ú»?,i¢D¹Ï3>û6n^^‡î¬‡œ†Û¬‰yáà)^Ï”iÕ8tc[ß,¨ÑÁû +Šg~aÊfMäç§aZ_š·¯ï‘e­Ý!Y?€(ÔGõ³¡R2Hh_AÅ÷tüèê¢#ï°ås©q^´-Lɬ3Pé¬=Xñ¼ALõ˜hþ¬ÇÛA D=¶;Š”ÐOÉ8”ñ²ÁS3û{cF+ Ä;XáôœXæBÇùÍÝ×£v+UÞ}œ|ßÀfß/J¬óJzxÑ¿Ï׿§c><=³¿7v`ô*›~C”K¼æ«.rŒûNŸ{N—d\g.Í÷è¹}#Å:üo®²š’ÑXN¡ã[ƒ%¸WVª¼û5q^5mY:op”P-¬)%¼* ·+ RÚ @ýp¦Ê=‰²cm šIÛ +×V^Üy;ˆl… ¡!ö`…Ä%Jø¡<?á\¶Ut§%Ú—#5j`Âi‹x²)ž€D“vÊÜÃãn ?·äˆç¡FyÆh8Í×m7"h-ßå>~iù´ÌϘÝá·¯0 \X§OLÂÎ0U–Q›ž¢Âø˜t~$ Dýˆþgì†×´uÝ9wcKŽ|ÿ Ó:\K«}øÔ¶~V¿¿VŠ!B9¿ÁЧÝr9/aæý2ZýsÈV7i’m)„žÉr|gÖÙ~(ÖTŒ´†1'¾bGläp8pt©‘_:3hQhK±(´èH¬£^ÖÖ 4+™´‚~I/K$’¾0åsÎÀ„ÓæÐäÓ¦bòù­”pjp¢™kmHþô¹á5k\ötÌÏÎ1aƒ{ÈkžZƒ1S«ƒ“Lü)”ïÛØÑ4oZ³¢›‡ÑXO¹P¼‘ïjÞ¸j.:Kæë÷ð­ù1qS2Åš`âNždOó6"¿m„Ä–†#™ŸèPŸ)ÛD‹qËÉ(>OYqkwd‚©1휄wÓ%ß Y]£ÖUØçˆTÞxL~$}O_Ú¯Yû¢uôÎl(P¿¼A +Bü¨Ÿ2|û2[w¸‹¨ +!£EƒkÜFÐBƒq¾IrOü¤¹'fŠÌÓªA»§bœ£GfºÝ XÚ +X´ßêú;%ûW3h[_¢E»Z&¾ô—õ˜N˜}·]Ú÷¿ÝM˜}·Ó%÷ñs»sìÈn%É=ß "iW)ùÄ+$Ù¬Û¾h¡Ã7nŽFüIÓ¯9û¢»ýÅ’ù²/Hé¤/LÙ¬ŸBù¼Ž_Y-6[u6t &ô 0ÈpÙW6tbsÏ¡Ú,äGJèÕ `Î +LÞ„h `ÚBë§ÍÀ[*…áÍíAYk8’é3á´¯0¿ã^îdÉ÷©,¿—v& ÿ»äs몉gNuÅÓoÈ¢é·D"í1 +ï¦Ïq}€´ï38ñ¤³9o}7âÜÚìû’lÖUP8óªRÎÜÃN¡ +æM- q‰SÏVÊij™6÷l-ÉÚCQ;C•Mª„ m36OÏr0ÑcÜÍ=Òè'H¹¤§j ÞErwMœ×ׯ.lÖÑ+³uÇl(€·7‰%¡ô3Ä5Õ—Q[ÂͰŠ&`>T8÷iÌF„}Ûj[FéoRÜûÃ’~ÐÑ?`a˜7(qølúáKãü Å{BNºûƒÒ(1ïvÐÂð[ ¢i{…LÚHŽwxX½³‡vC˜±è3ìÈÌ'ü¸¼œ ô9vd¾ækΑS»yîÒò7±›­‹žŽðàŽÏY3bâyÊ%Ó¤qíŒÍn¢Ä¸À5߯>|èarôÐÀTa U>é¥ÊñÝé,"ÄT-ûªÕH‘yw„+—ó?€FÍõ‡í¥¼ðh†yðت1o L8ï N:o©†7Ò£Þý¤ùçŒÒ°mÑý[]Õ¨yÍAˆn‰"ŒûÓ¯îøk:&!ÂÕP(k¡Æ8zÆŒ KfDøªWaàзSÞ®âv Z ý¾QçÞ4›mæÀæ)ÚÏÊ“Í;eu·±¬z‡ ˜*ûî¥K=€„ í¥¢ 1†´î€éì•’nàÂð&r|ûJ–x·…)ž³••Ñ•…ÁȦÝíAYK8’I[q4ÚS.ý” ÅûjÒîÐdóc9Å;(ñôb<ÚO}R)ñ&Íñ'b”óCŽrõÏ`[ dÈvÛ̉…ãlž€_©rïþdCrÌ»™*ûn§ÍñO@‚wâÔÇã€Ùj@µZ‡ÌžQÛúú¶ÕOœ~6sd³Ìˆ‹mØGpÍNšÄóDŽpw œ]óæÞ<«‰éêž?¶zæLkžAÏ=€hÞ€'Ùw‡XÒ6ŸŒI ñ—²âSx‚Y/Mîýº3ÿóçö!Ìp¬5,ñ´#ɤtþ}£CºH çÑS‚ÔûP zoJÛÀfß·I³qêÊh£Ç9|J"F¢çÙS»kÔFØB†n?'àŸb¡ø«0mjÅzÉRïþd³üà<›§)Qw¾š’i…‡åvöÐn³/úæ Ìëè¥ÑEŒwöRåøîñc³§`«Ax°± ûJ ‚9oèòIÿºÙý‹UUã&6#UÚÙI–w +^ÒÊ+²îØ µ¬Ðð!´˜  \úá@oÿ D_S1‘û'(r-‘HšérÏK¥0¼¤0¬‰ç|MÛzFƒkܺh¢C9üé’O2{ŠB»i“ï–³Eô;„‡80pO Z}3'VOÉðïέvÊ${2m'Ì>_×5wŸUÕ=Tàл°¬´¼/l;• Ó8zea›8²ðLÚVxÊu{þµÊÉC›˜¼)Pé #%´§f9¸çàªéž…³76'Hñgoè:K€¢97]òÝ<{l·ŽÞÙýøv7}’m U:ÁÆ”˜Aˆ)AOÉp¤™.ÇwÑ?ÝI3Pqx?mÚR' ‹ç|Ô‰ÁûCPüÅGiãSdø*,(ê2ýœƒgVÛ̉Í3i\ß)˜V˜Hqîs‡TÒp$:mòÝh0Ú®|ÎÂ|Îd$ÖDsö Ë|ù,°•£gF÷ü­Ñ<|h>ˆñ­Z„«ƒáh%ÌñlyW)ÒÝFwuQdtyW;òÕK›ãÚ'pÍα3«ín©†÷•‡cÍ…B9{XÒ¾ˆ‚©À˜ ½G.g @¹{&lDô˜÷ÁNRø°!1ĨpÖC‰r·8lYt¸æoð¾¢HwÆf¾kÍXý*C/¬*¡I¸0 °RçxÎ +™œAlµ3lá¬y ÏÂÝ·B§=pH"‘Qt^…ůúr¢Î¡ #IæÕ F í/%Æ=—£ל¥…í䉨H±]&^ KÛj‹ +úƒÒšÃÐÚ’Ïü„DNÕÔK8’Iw}TÚV’u#›á S<ÁØ–`0£J~žcœº°¿àD ~½Áx7 qø§`þI0çJ.é¢F;{­ëKó¦ÆÁ31ÖÕDr·‘¤mà³ïf²Üû>o B·»ûU½ÃÝ{ Âé ›±B i +W<ÃW•à¡ÅºyælÄw*†ƒgÎpº§oÍŽZ!h{›\ΜS Ò^Ðâ’œ QÆÍIyó•HdÄ)f`VÌX ”a&Ïqý$êg;˜¡Xc# +¾«Ì¨s+4ìp¶+£·-$fJšÁ +BåáXk¸òYg‹<ÖO£|v” +Á›Î01£s†.¢³‡0)À (žºÁH/iêÝ;|hó ›øÛµÀV2^sOŸM½qèÄ(¼wÈföŒš8lc'fâÌ» è»…åê;0úæ.lZ„“šQ¸Ó—FçØ¥ÑEtI”z¶Ð¾ZHQ®.j¬K¢Ü³‡åì#I;›¨ÑŽF’¼»¡TüÝDŒuõRåø¶°EÌÁáìHšZcц`ã‘n¢ôó;vj7_œ§pÄsö€e´žbáh Æy6/ú&άýûA‚p~ú%ËpÝߎƒÁ2\õ·ãYV½ŠB‡ž¥r» C”ra/ÁI™z´‚…áìHÚ˜Ïp…0³ÐcÜä¾:™üV€EïBĘá-g¤Ç=;Á¨ }A +)øŠË [¬ÇG›òã×`hÐ@ñÅð…ü-]Qƒœø¦xÒÕ¶”‰Ã{CКª +©}Á g]AŠçŒ€”>¢Ì£€úy3k G,mždqÎ\X>õº]˜Î\nä'^€‚ðvãÐ?¨ax=ÎÑ5q^Ó2ñ—†-ì«c§FóÕð´ wlÕ¿U ú º÷Á„bBš¹­,%O=šû„ó‹=R9õ¯z8+D [X*E !Rp1£a+Èp†0$À3}ò…ÝÀGšy` (ñí£æºrÃs@€D˜Á ÅðÒ娯¡ gyaA‹AááÓ”äçR`x¯%1r-&*ÄWXH½×Èfxj£W +f8A +?»çƹ3›uöÎhÂ5úç­vú$Û°x愆’¨´o öa!€Á@A!ÅÃSH EãÂI}`b²’D´„T3c‘"ú*¹;gu¯íô•sxI((û-ÔƒÌiÜNhsšøƒ¨ÙŒ ‰´Ý®\í]Ax$0rVÊýÕj2³ôb‰ +±å‚ï¤çýžÀW}âÍ(ß§©L?õØBýü¨&¨lCo­Uñ}-ý5ÿм­ íÏæ0å>"UŽúsvVÄÿv–·,Ér‘{gëxœ“ƒ‚‘_EöMUõÌu‚Ùü+~Êg€È̲`ß”ñ—FuåÎKǧópJ¬™þ÷²®jƒ&Ù[¯ßþî5^·².سèÊUÊhîÈ5¿¤ŒQÁ8÷bÇg:¦ý!dp;Ç2ñúçHtà¿oÄþ³™õð²—‘ÝÓl/øAj×Ùê^N`OªW ñŸøóßW¡¼•Ö|»õxžÍѱB»:¥Cv#K¾[ßVd´(H=IÈ‚xt±º”Oó}틘¼?ʹ¯ŸgÐ}rÉyÍø–¸,$=Ñöq¥¿g_•ǼЬ‚áKý;.5͹շÒ®ymöt<ßžoþ‡ y_i–zn¿$ißËî¾#ìá; 7/Qü]žgè~'ÙûY2Ò­èÈ5ç[ÔAÂmwœõÚìgEcû8ã¾Ûž~Ö)P²˜“óõ¤rjbêëÞœ~”x_6Û9ÌwƒG‹lDVx‹úç}ÀLœ`³‰¡Ãôÿ9„uO¦µ7R¾Œ§N®c‡Åàâ½ÉÌ\}û'úåãNùYGMÜÙŠ³ ãÄ£^\>ɇ糤ˆ¾ª‹ªeì +Ÿ +àÚ /~2:p!£Ïç©NäwŽs|÷Ãñ÷ ÝŽ avt„­±ô‘·ýY«ÆÉ;£Þpîab?Ãëá8 ú˜ìØÉ«Îq⢚2“ TøYçýϪX·”¸[!ô1<Š›ƒ’ýÝö«SÇúþ P&Ë/°Ÿ•AÿÔW,ÓÜþY¡ò4Ü£ÏGá;þç¥þ¬Sム!ß46¿Œy¸°Ã²{]û{ý’sØ”öÜ7äÓ–Û ÃëN¢ùY-¿8ÜÐ;\•~V×÷äãüß2¸X¿mA3êòy1—Õógù ý³2ÜÙvOß.l¸ëíÊ Ã†ÚÓçOÝóë;•Œ7€ÀQ|ê‹Â¥À¸¶l½¢iú·þV÷ùO/X¹ëšìš ¢_[`&&>n=ß×V^Ķ9òâÿÂHøg%쬹nÊâ{â,.~¾S×[4§wÈ.kíL·çAz!$3\¾ÆØŸUquë„JãKžRúÌÍ…~V¦4±¯g¬¦ +Ëã–×HþÇôUvÉ\YÁü'‡ù³Ö®›Û:Çàng•ö=Ê’œ‚yêgåÉaépZ­ö¡¹Wgc Öι •ÿÅvüñsHS›s¾°Ããáõܵý¬”çªøÿ¬[Ík"äCÌc8Ï–$¬?ƒEôæ×Ñ.ü_%ÜÖaqöÁOFÚƒVX†/Þþdg¦ÀÅÍ4»».ïëÌõ–ù-§d8½•?áî9Úú¦÷½®‘¨Ï;e?¡âúà 3ÌÊøq{¥bpý½wúÚÖþH—ã½ÈÝ[DëÞ(HÈ“ý}Ü~÷Z’Ëè¬5±ÿ4X^w6™+R˜—ÜÓìëøqÜ?BŠWÔÈÿúŒe[©£ïaÿɘxŸiºOÛ–˜ž«µ”~^˜;ÄéIŠº:pfÆZª÷øåÛóLïjá™Ç!'îD§¿¼Èd:1ëýrƒ^{ÒÖ{ÏÃøùñ]ŽŸ^©ŸÆïÇá]óB½ÜJ›ïKç­" « W4tßG¢)Ÿ.~f%¹©9(Óµ[ºî3rÂngzšA>>HS?• ñ¦wDû~u^À»Ï?3ÝrÛë´?î­zË'f‡`ó3ÞN3!ø¼ï0„ÖÏ-Óvò«ôKZxéOç’d{°¡Oó­æ#Š–$ô@ÿfú•càZ¢²Å›î JªÓBšÜúô³5ðµÂô•Æ!.z;a¶ê=~—rÙÈO;´šÀÝ(Ÿ˜ûïÁ§ìè^!3ê÷ž$ï‹D™Ã…ƒ‚s':¨úÝlzÈ©DºkK”í许ÓACýÿü}ÏÒaFr蕨ÕÃÏÜ÷í!äÙ\õ¯‚Û»I#Ò~´_O–:°ð»æö~ë°iÒ—ïQí×¶ñ"Åà·ç _,lîø÷aÏ=níý†=©ÁÝ—qÂ0>ù®í#·RŽŒ‡Õ³Ï')'Øÿ­dŸ În~¢bÚVæa1há™UúE"0ÁC÷ÂL$ØœãQäÌÓ¢¡r­ýŒ’äžê(_§¹³ÅjΆþV&¸Ã Éä{b ¾9jÖç5š9¨Þ˜}ƒõÿ^Kòλj²«LåËÿº ÿøQb7L¾`‚ôz«0›€ŽõOJæIÑ‚mÈ!)ó¬3ÛBX)ýÕ[Æñ_ãdþ¯ÿ¿ÔŽD8vÓ­1Œœö%™¨\ƒ5ÖÅí²iVé+”å·àOQÃg#äÔíÞÜf/UùóãoˆñÖO2fz¿”¬ÏñÕ§ú-³m<€1ùŽÜkâú Õþ[µûß¾Kþ¯Ÿ÷•qí#>frÛŒí¿>ôNÈÎ} %¯~÷Ç”îGÚ‹ïo¶ú4ÿ›§?çG´¹[äÙ–kû#„\W™ù*܃ã¹WSÐ}òJfJ&¢ƒùý@á›}øâ4i®{þÂCçÇ S– ½päšM`Kþxd:&øÏ`ô&Ý›6Ьè«¡ 54žûú3¬f¸(ºº’É!ýéÝ^ÊIÀ'öri^oß{ÃöT™äÙæžÇðFÜc¼Ž®ß›šÍ^¿ärÀsŒQáojÞïÈÎO%=ó~}eâ¾~ç°Gñ®\dÆÐI®àˆ}-£LOñL¤fß✒Ï]æ?ó÷>¶³7ªÎfèÏF?ñÓK9.±Úžý ‰à +¯Þ"³w}É P®+å:ûûHn+ëþ8w¡£¾`HƒàsÐþúžü¶¾ÜyÂØð:m_#¦åsËŒì0›þíÛrê'˜ôŸ™°Ž¢Ó÷7¶]é‡W¸ÿ£¾ëÓÊÀço<;Ÿnd‹{¨j^Âgu‘KØÿO»ô">ù—tÓþ¢Ã“|ó?à[š?ëY¥ÜÈ4>ô°ÆòWc‡>ÕQÂ+°+ßËúÿ(øºA Ÿü]®v V»]Ë; -×î´aÈ‹;õÁ{ÎgBýÏÏ÷MrÈZj¿Gw÷-¥fé%g½õ¸áÙ­ò5íkXн·wXw2¦w”¿¸Þï5䯇Ö£nàß.È¢Ûþs¥w¿LÎÇÑ¡k4L‰@ÍÁGÕŽ´ˆ=‚5÷аŸgTt#ìèG 6zZªÀ8˜kßÿHay?…zÐ]UqÙÌ+¨æçÚW»‚4ß ’Hð-¯@2ÿö’ +†ÞX£á}o„eÆ"uÙøW=×4$s»ÛaÉ÷‰k!n‹Üj!˜µôñÃâdKÅ ¦–¹ž‹þñJ;FšrZ¢Ìçšr7'’5»HÈÖÏGž8b™ú0Ê_"MŽ|aâc–ÂEcƒÒh$ÒÆÅæU2bˈ#ŠXWØñ©.lvïItƒø¥gëœ7I·÷ ÍéàpJ‹39.u™ü2ý¨äëòL­S»Œ6ü]té4ªëœxº®R_D87B³%J 4NÆx;ª÷O× +[éU ¯¾·t"­T¸ŠY¼¬$=@G7ò;Íš”†Ûª#ør¥(,P¦—‡ –lØKѹ1‘ìÚ¯R>ÌÉdêºw Ö¶na +¾`Ž.}×^ƒ~†ÏÜè¿Qû¦|嘠ն ô@'ó²üúµ@rãóˆhžo,u¹Ó2òµ6Jò),N³Âð†bÐûóW8J@Ÿ]\sº6Ÿ-kßÉ.dè•“W~aŒ<^žxí™¶¸EJd‡ˆû°”v¾ƒ|u³ýƒQä½ÿI`ˆ¬?üå)¡/­Gzhèv¥¯ +¢üÚdXC:ÁI/OŒ‚R<[olÜ +Ú4£hÑ #s`#2E¨Û + |[Þ“øB"V:z }$tek®é ÎÄ£, }Ï¡tçD,_0v ¤Ååe°:'Æi UG•ª(ØkùñnÊ…g©±M2|ÙœÅ[T¯Tbc³˜å}3È|²›ŒL¼ü˜ÈªœgfWé½%Cô&“Á§ÑªWyëžöºÑ24o&HÍ~t©%Ý}Ãxuð㪜á +νÛ3 o“I©\ï;`¼+†LÍþO¾î<¬'¹±:ßw')ãá½àÍÓò”Y”e©„χîs\” ˜?5à…‰§*]›÷Ì\‡<€WHÇæ00× “0[?$y©n¢¨QL˜XM¾¤`LÍu¶ýü´ŸöSSzàÁ›oNI‡>!¿ز5;”º“ÍPÖ,Â!MöµŠÛ}GczÐf¡”I†Ñ^Ô›ä£AN¦>3®3ðùÁB§J@íIIˆHÝ )@Þýb¥´^ÙOã“éÑÆ »‘þ»5=H§GpˆCvø`‰ÙÁ} +Oåó%$z‰Í5–‡ä £AeOüö¡5> GÝŽ.<9ÃöåÌnQÀÞ0NXÏÕîí'ÿ(§©EõÃzÓ‰÷kë:—• +Á`—„(»ªOšØÒÆÔM•-áÇ› +9·±· mL€NÝ  ª0Áä( [Ÿõ»]7•iHÈ}‘=ß%rÉb˜aÓXÅó™¤ì¾¸D¶•íókßÎèw¹6JYÛ¨/–&©¦ÙµX¡ ˆðöÎXa›³¬!»°ÚçF ‘³¸+áîL䑲´Œ2Y̯±±H…i—q†m_¦«çQŠPHV#iúpŸë 5çÙì—,È.ÃäÖ±œD÷`z¢´1?›†(™ñ÷%”ðH@?™¸ÑOÉðª´C»¤âaÒš§A.œ”nÅ’«£b°!š.aTTý8äº6ªÏÆš?Û’,ÌÌþß«Ô+jÆF|çÊRO`ØLžXÜýËÂ{CY0~ +“7 µ÷Ó°Ð9ˆmOºRÿ' ¨»Éqüî…Nê<Ù¦ UÂÔ°«a¯¹dz„£»)2Ì étŠLè6±BmÝ5xÈpít?qÆY?f('|“Š6i6BOȪ,æÐÿ ÷P#–P?̆üœùeQ‰ûÃ! +%5zª¶ì°¸<ã=¨kC&Øû>Ìoþ¥*Œ)üoÓ„´JQåóÕ¯B¸¯¨žÔõå+b&Zá„ø!Î8é‰~¼\9¢WºBšÝÐK&¶ua—=á t†rœ Š °_6´/!~GÏŽínTBrõš!x%‚gó%Б”† Úx®túd8‚À,WCÐÿ ƒäIVEü¤£:·U‹ú¥€êœd3õÆØJc¾ˆ®ò4›´zß OKsðºTÔb´ÕQ–³dKn@9Ú»ÞGŒ½fw]μWÉÉù€ùäfÐt |fšOæ|}…1}§Ç qÙê¶ÓÒ¨¢Z„·‡ÚèÖ£cnê'uÕé·?CnÄEÈñ¢!ʶ 4:=“äÙÄ¿;:,½s^þ’2¨ºóqni€!T.ÕȬ_Ì:‚0ù8aHº +eqñ{L ˜8¥ILòÛŠä[×0l -‘x>I<£€O<ñ[šÅöü$l URõèðÐÂV§låíL8å°S;ŸœZÈeCIÌó8ØÞ}Êæ+Áî\.T…xS¤C&\âóažlæ õ•›pˆõS‚ø88ÅÛ(þêB»žX#ŒÁ¶A³_ˆ:e0_¢»S å°Í˜ØœþÅWú”¸Ÿ¼Åý sFÉÞdÁ3 ¥%AÜ Jn—%2°ò/ O×A +κô„–ùO§•òFÕPQ¨ç”'µ0¿tðÔ]­Q²…î"œ§5~IF,ÒÃtñ„ah9TqáVg÷ÓfÛf3ð"¿NàúG;‚…$HåŽt +NV|›àÇAkØ|)ÏÚxš$‹È@.FgMD ‘#È\ÁOG‚H¡aÎÐ0-`¢ +Ï€Fs®s5 ߟ`Ùç…\»â@8+ðm«‚Ò%ª† Äl¢Ú§»GšÞ2dp‡²ˆ›£š2¨*†£ÄØjx _4 ±·Çµ÷ÛÛ}pÍð´xI|qxõHêï 6öÕçóï}ÁWÐ"N`M2ºËbH±#­„wÌ©s"Ô!rÛ?]"Q‚Àq™ý þ~”7B”á ÕÔ9u´zÜ FA ¤ ¢U7Ùu`•[…€[Ⱥ¨®ù“艄ÌÆDã2|#QvZÊæâÕc'ž¼ã”í3ë¤ÀN¸Ûs®IBQqôb.n³ïþ c8Ù+›…æ¼gYi3r¸­s9„¦EnÊ!Ì»2´mhÚà¿/§8²ÖŸÐT¹éiÎZˆÆ3”ž¼QÀÿÚ*ádNIÆîægªE[²K§% ÄÚxªh 4d®˜PV?ó8O”«î–ß íÌXù¢€P W<›Ø@˜§ÝŒ…¹ƒb‰J.ùoò–ýÝ#fY»ƒwù|mpÅSœâŽèÜôÔÚÍŒŸ˜ƒ9†ûlI¸ÑtÀÝü-Êch¸¯Äx”˜àÄ<Ñ€`üàÙöµßµªqÊq(åÔ4’©¬r·O»ÈpI<Å})£o;0+&!ˆÐú17]^—V&¶'ÅóÇþ ¢3‚é«©2KfÉç®5úɰ‘þ‘  Õ¿J«1üWÜ\=`¶ž=„‘iÄP÷Å }‰˜«?¸…–%™A±„£NÜ`³!nê!<ºM§='[v ÷b4_f*òãYkSà ¸h_a­à²Éñ‡)þ%Ÿ]dQÚã>äOݵªe6üA¸ E8R_p3ÿÇmGc¼qɈ ºžÔ‚ YpÂïÿÛgI€ÒrÛÜ¡‹0&¨¢J8§8*TãA¾>:E!m’iѨ©›}³¿H¡ÝL§„Æe³ARéˆa2Œ…t2«©Ü:Fa´†:„ÎtN1~GÁÎN!£hOžÒ£Rì Ž¤ÚaïÓôñJ ‡Ù4Ÿ¥¡yR‡¨…£–æK÷S#—ˆ5¸%"zêü†f»B!k»˜¦éö…GÖ¤$(HÕȀå›kW³Q ý®ÓºÀœ™)‚ `Q-©VTÒŒÎëb@ ÚšsÌ"Ÿ­&[ æ3€Ø‹ç7‹m'©/2ó*rlûØœîB°åqC_}fÄKvÈØXØØ\©¨ª¿¡ØÖl¤ƒ0H§Ht)VÕœð¸ñÇb´1ÜŒÂM4¯áÖs©MA€dé’”&ã*7"²°Å ²läUð»à¼À†Í£ ÅÉ®^5"d7!‡ ài<¿›*upP•WóËïÉÌgw­ ”êºeC½¹ŒNìbí0«ƒôñ PLÀ"͈‚÷^ÉË?±.Ô”’pg¾’…Þ«A‘†C8pÊ:ÅŠ\!r GåX\?e¬Q &`8ǘËj³ÍÔóêxyxæ0ä¨ã¦â,¤£L"F¶ò=ÕÆ“+ürSM›?ȯâpìïOØ ˆ y䆂$±­ \²‡PSËQÖ}ŠîÏzÔ*OìQê’æx¤ætíó8\(Dg'ƒ¶Üv>Ó£/£tû:G.Cx1aÑo©yä’+Ýcùéo +ùL6BaZ=ˆ,È®7$«ù»À+²§±ì%+¾Å'9ptÝäßæadk«·ýêJ‘± “m¡l(µ&¡•ÛÔóŸÜX2€NOW)Ü[ÒʬK§‘OŸá&‡ã4°ìÚRe£SúR·nc6|ælYhÞÄ®MÍoÞ7€õ©uëiM1ôÃßLZŽŸðiÁ?hôƒO`¡Ì­Ÿr5·—qk`gQ®šBhè®o®ÍÑ:‘Ù¥ áÔÈ28¯‹p«Y2Ï‚^"x‡Jò× +Å¢g#¢€.GýÆ#ðûZ?EüV£f¤Q—¤:6xIk¿ÕÏúÝêtÎRág’“?gs'½¯æÕ>š¼¼û/'·A÷N»&ƒU|,Ekü"w€ïÏ»~b{Åu¯ÎTŽðwŒo¶*¤¬ÐZ­Î†¶-ïþ¬8õ"”4õ°ÒʵP¼¿4cíQ Ý½’ET³Ð4¼Ø åØw’Æ•-æÍ!‹š¶™Hol¨›–I@7-·%:÷–dé>¦£g¾5ýfQ3z,*T¾‰¦ˆ``ËJÜ-Ï6fO^^"Æ£u2çÁü‰ÅyNWHõ W^¦›,â ²ðð©B«¬ÜÙ¬&jŒ›HÑÀ e˜j6z©réÎîskçy8þÃ3’‹›¯Ì»¸Ëô|cNÜFfR Paw‚I£þÉTÍWÍ…>‰«6›õ?ଈÀRDœ:hoƒY©î¼¹ˆ€Í +{Æ&ù2¢¼Lc·½Q_n`D§lŽ &Rk´.óÜ”I1¿6W(L†º¼¼A½Å(¢¢K;Caáð!_˜sĪ'%3\4 O;½M Ä¿Åz“£{¶ñŸ¯¶ï¦»w‡^)cYm™¨°—LzlÉS!^ïc:Œ•ʵ Ÿ‘›øk¤·L +3 +ÄðGÒÄ€vN#øÖ¯Wsm÷S“›Gn{k÷0K…5{tîªfsÏèmDîëy#jîý~€Æ1Nå(ï>AjX5®¢3É@ Ä7ö<ˆ:gxê:ånŸ€¼ +[+#µ¶¼ÅÀ.Ñ}ÇÁ ÔO^[×ééR¥UAÊ?5/u?vÂ'E…yÜĤ¿ó¼&7ŸÊz0ýù=~NÄç¤P¯`/Z`l Ç5,ØS)ðTpêÇyl°ÞÜB»«x¼f;Ю/º#ßs@µÝôŸkƒ‹+ÊS8Tã ön”Pr•S¬ ×S–±‹‰^A6¾×N“å'´þ”9åmîq¼ÿ;¬Œé·”¹mV9@‡<ª¢at©WÜM¶HOä6ÎZRfÑJ[¤ ?bƳ~ÝDI§¼-2Yþë±3uí΢áä +lgÉ~`ñmÍ&“Ø•nð¢Rr»´DPOÔ8ÐêÀÍ.¢_E—¨¡”¶÷i’a¦2ÿC£6ˆǪ̃›C¨”ÕÙ»xhƈ"uØÉp6Ú€óX){0Š4†¶“èb0V”CÙ + +âàxhd$ ¡•ಠ‹4r–Îèçtªý]ýjKØŽÇÀP Òõ²^¸±Íšƒ…NpqF±˜µ5îÑ6ù­ȶ;K3~Ç’Ó×0<Ìç–¿y 6ÏXIè¸×£ìÀ.[."üÞùs);9¿“¹<¦*{0:€\0"w²?ctHÞíéìÃÊ*n”s }Æ|Ëñ<6ÕDBNй³‘5ëvx÷µ‚©d­O‚ÌY_Í´2¡3ô8t„6ÌJ)ü5‚-éÓÒ£ñ¦—¡Ï!‹}KBµ˜Lç଴^áÆ>ð)£Éž¸µsƒÏƒÿ#‘ìiKšCzn!N «£ùµü³ýϸ¿·,í±X9fþ¯£S!¥ç™´(ÀÆC¦÷Px1…‡ŽèrzTÁy¿\o/+ÆfDRµ,z¸S½Øß )•V’«!sËí£ŠªgU͸§©=²mP¤‡Dl–ˆ¶™L=À\>m¢ùƒïy§¼ºÇUÝãÓ}(™4»ëºÂCG†ï>xvl]æ¸+s\Ó'Úðê²SÅ1ƒ*³‹}E¨|1ïø:~ÐNHfù}Ec¾)‰µÙïÐȹÓD ˜ŸÝKæ}z§ñt>;,E}M?çM—XTzéÞw•P¡n W¤í¶¿Rƒe>´e€<Óºôå.L•‰ðyQO€¾ŒËIäYÙ×—[•¿×ØíiTéÑ"ѧn¦¶Už®Ãÿ6,´À)9´¹`´¼þÂ_9w^…ó 1ïëêµÚ³y•ê ¾È33±Ð ”Œ^¯Å^À¸Î¾ôh©OOˆ OJ5Rד6Š…5Ì„*8oC/ÍQ–hqW}ÓháýBfRÁ‚âC0£ÊÈu+P…+À·«J J7!…û¡ãødDL´p Wþ¥O‹aÄIÄ‘£õºÇf<—A)üUû`þVÿõXÍܬ¤àLÁ`öœý +ûCµ>é|ôÌWÊÞØ ]‰)ŽuÁÅbñ!ÆMqºÀîH+þ¦G™™ïª”MJ§ÝçQ·UlÔ¨~Ø?™“ýÐë•‘ÜúG Ú)Òh…f¡·Pºa¬Üâ±çÖƒÁoR¼Î™dÚzó^¬ K„h¬( ~fäPªymãø. P.Fiã*ˆrX«¢¯šãMÅÈ6;Õ,cÄŸIͱE‘³BÐ?Ê'ø0c‚Ü–P4óEe%î0\17“îr /f1M€¬J° ‰ß÷:òÙ*ñ‹]„¨zµj”†¡ ²{×Mº%—L™ˆ¥©' Ï°¿@ÁbˆÎIo+«ødjQ‡å K‰Ù;š]`§¬)ˆIU`N¦|¬9“A[¹ˆ ¡{­Q¢¢ü䘓õ N-锄vÛ»>é>†­ù÷ÖÐiVHN¼i%¹bÕaº¯³´ÔQËæBnNt¨Qg)$¢“$]y7ÇWùrM΄=ÄŒ9Ê9óú­™(ô•…©ƒ‹ÓX ‹Ì¶Oé!9[fJEŠÜnW@ ½àÿ”±j–ú0b@¼œS|ŽCˆ-+yÇ!»:äœí\ÂÕ  ‚ØÖ+'­Â#‡ž-Äo3ÞP(dè*Á1ï²ÒEH7/¿?¢¬tý2Èþ?Z —ÃW…\—Ò»„ÇAÒî|$Gxh¦×T¹ùÅÆoÉÓ¡zn@-”‹Ý^Å3âòn–Ð#1Ýäû*;RÕãd|[ºó‚ž…èvxew-ÉuU[à*eõ( µp0ƒ!æ€ã'ˆÅ¤qž+ø!몣îRˆ™X˜RLMŸÜIØz¥µ£¥Ú¡ÕŒÙ?\¦¤f,rðšh™Œ§fÓµ ú™~E¯]»²?vÓãE¥d6Œã.É•Æ?ªïØC6A'äÚªþ!õ +‰'Ûx¥ ¥YïͨãÕt¤ÛpdÍØ%Jqð‡ºn‘áu¨ô©¯P +‘ÎlJ¹‚­ +>ià\+&b’GÔ6Šî|ˆ(“Ó°S^jÁà6f¶:@øÔ%Ç"U–ðCåØ)¢Uì ¯ZÐîá9sóÑùíâêp¸ðºà¡ŽC²Î€Èõ±0 -àj0ˆŸh¯"Å×ÂW“±ÃËšk’zÆ.æÓ¼ì#Œ˜]>÷,(®ÕŽA ¶#AãU¾bZ&U°š±P#aGÂ7:j+â÷îEYóHu$ª`ô–ÀœÁ¼¬ÁÕ¢ì(8˜Óþödp!n•®"À{?þKW#„¯¼jïl2i!¯‰¶Ki4#åêÒä%`vã~ã]ÙËØFiL¶ÑÅ(J x¿”3ȦÒbü :“ŽRÓíiÌ©ì1H’|…t‰ò¡Ù¤ãÕÒ«?·Œé“áHúw™ ®O»•Í7­ù^ùÌØP(}â<ªô1BÜ&™{R†ŽDm)í?]ôØÝíh’šë­3oìc+ÑâŽá +‡bÝbi7q ROâO`tlSS5=ÕU>L&#ÍÙ}¸kßÐQ`¼TÉXS§A‹QÆùÝ€$ÍÏvš|ÚÈ®íÞA}÷åÍé&I íY> aODC¸Ô"}s9W9а¦MòÙ˜…ù`w½ö\Á9¶R!`L5ˆœZÎú¤š#?:ƒ¯ÜXû«aάT–öt^ 1g£>Ý‚L6BP7úÃ3@@éxµb»«5n«–Àßý¤§€‘`K…`Yd¨1I{jÖcJt.®n$BõÍ—˜5A é€"H·É5¶œK¦¥×ñ>AŠDø3x+—)ÆãZæA)¼ÎÞih ‰‰ìöÖ;õ¹i§œwÑÈ·° +Ûµ‹6©ód8Î:êDfi»”_Ë´ŸMµŸ–L®^tnC3h@á0øãÈû¤Öèå:h‘ZÍŒõ¦÷¼4!ãÑàràGæð†¹R=®hàÞ…ÚÀÌ^jå|Óz#›ø„Tþ@E€@Ý¡†xJ‡µ ÆLòÉ?é…”µ‰ºë”–JÖ‰‡ v¬Âe¿± ñ»-„î&'êªØÞÿé4fjzÐI/èŠB!¥@ƒ%Ÿ¤qäâKFZAá¶m×V[>¼™$İ}ЫUÁFÓŸÑ"ý³ºÚð-ËÔOOnÖÕ¶Wë–_yÙ¬¹‚þã€|Ÿ_>H’ýÄà‘÷}9 ÖÃaå|åBÊiY¤È¥Ûôž ²Ôh +ÌB1)ÍÒŒ&Ä/Ñ#!h°qǯ(Üž„âÊzúë.G²’Š·#YáïÄ" à$¡SÆÆè%c~r«š¦•‹ßm$¼Üdy<ŒK¦ztžR·þø“½}½¬ÿëÕìžz/}úÛz¢Õb-š(©z· Ö*¡ˆíb½(%µptÕáÛuSž^ (*^ÌuÁ€ì›±[)ž‹9&‹jÐTâ™ëk ôSLˆ»§›h«±¾„lbãûbØ/¡ÛÎæêµ ~ЄWã”ÁíÓÔБ\ ú0´~uCâ/ #Nö\W6Zp>ê ô¨»k…m?2Êø}€:oN°NÝw²¾ùðÒÓ¯S¸O˜Fü¹îFŒ0/L+ `#qï Õ£ÌS+ЊȜVuJG× 8Ïz¢QA‹†ïYÐMŧA¦Ñ¹º¸Qó5©æTh8Åé<æjÎÄ®ÙöâŽý]9XíeK’7H·uŒyrM( …"¥³b9 +Cl.V‰ÅC>¯j·òòâá×rQ6`€W!ñ¿)õfÈÏ5ì0·Ï‹%@“NÙš­¥(Àn² ð5Ù[I¾Ÿ³mõ`ü‰°:Gù¾À¤¯…ïcr8µÆú+Y/|Ú žK‘` cdct®Üwo¼¶OD¶«~ÝŽÖpª§°C»5 ÞÆØðÛ3‘ÔÞvR–ßX½ùƒŽ-/‘zĶ¢’ôn^½øŽfáŒñ¦ÄT“{"¿~ÑsLÍ•Y‘@çSËdNV¥ ©ƒêD®Ê,H¦W¡d +VS¤Åð…Kb‘ψ@š\ÕâO{\ æQ0…@}X¸è5VOPWÑ‘Ë}P•µÁ±õ£G¥ Yü4è +±@Œ6·9vH8iÚ¬ì Ks‰Œ– a£I<pÆ€wCï9^€¿¡jŠùh1Ô·Zñ1³Ã~éGTHœBåÄ[V€î™õmº">…MÖ@rJºk¡~JC7H-[ª5ˆ+®óµháòâzQ…k­Á\€"}›¦Û!0“iÏ”|—z°%×Þ$ÛðÓ¦¶H©±¨ƒ(LSën6]&åÞumî€{äôÀv9×`@¿HÈË›P +š5•Ïã](t?è +0ù¥IqZ’Í‹sZíêꛈé"§÷Ë8 Jçtkâ)§H\WQ57˜ulíŸÈ +Ò©¼…J—{ šµsÔhl,? Dq$ÛõÖÓÓçwüè–((èTJAT4^olž7=â4e± +Óψj^’”×P@A?@#¼_^×,vjÄÕË5µõb³S\.؈).÷KÛýòrqi½¾¾ª_Z/+¶;5ÂÛÅ5eýÚf§¬]_Û©Þ®ØUl9\R]#¾¸Þì»í‚u§°\눩*×›òÂv½¦¸``ܧ¬Z§G욥b«f[nKíZ¯[î“¶jåNaÁ®]/7__Õ).¬wÄÔÕë•êâêÊNqy¹\Øë«õº}Ê^±]X°ë—U»ÕbÁ¦¬]#¼S^íˆì”VûÅòV±\Þ­WXkU{Õ^­Wí•ÚÅn³Tl•»åÊb½Vl— ÖÕNm«ÙîÔ—5;ņõšòra«Õ®ÖŠÍ‚u»ºÛJ¨Q¶IR~u…D)e„âÈC ‚@#Ì0#@B#HBdÆ&¢Zfaé†sé9ø gãXê´9±X¬Q Z:Ï´ÛeÁÅÊ%íNÇg¾Lqg ×± qŒÈîÃô•Ì'^¾”x²FoúÒ™üaÓÍÏ%gñ´B¹f*c: ŦkNÐ¥çš%³qJç1ÅÏÉÀ¹òpZœn$9ÃÆZŽ:œªüpBÉ{*¢ò¥‡3Új¿ç$¨“a_†óƒ8';«¾Çyyì, F×üGvñ,Ùo¸õ(ttÞ‡ó–MòÁŸ€ÿVÀq$660c6f35e-b383-4eaf-a344-b881eba129660f7-8661-4e0e-b963-09f7ead1ml10SVGFilter +/ : +/XMLNode(fxmlnode-nodenam/ArrayeTurbulence;childrenstitchTilesattribute2nodetype(noSvalu; ,numOctav2baseFrequency0.tresult,1feComposoperator2(ininSourceGraphioh100%id)AI_Alfa_dywwxx1/Def ;4fractalNois4Morphologydilainnadius1.bbOffsebd2(-dy152nDisplacementMapyChannelSelecAxRx32ss1Matri4m13GaussianBluanimccumu2(nonadditivrecalcModlineaNstdDevifromrestaralwayfillfreeztotobeg0sd55n4n1cc81c2cccccc8cc1ccccMergNb4BrisaSua1-5Desenfoquo_77n3ilatar_66ernErosion66NrepeatDindefin0.remov0.2EstáticspliR1 1;20 15;200 200; ;1 1 1bcOuarithmetkk13134042121150 5JuegoDePíxeles;20 20;DiffuseLightingl-colyellow;green;blue;indigo;violet;red;oran5DistantLelevazimu8dConsurfaceS51Specularls1ExponerelitPai100122oBlurreddd2x1Sombr688132154x4fePoi000-5xz2z0specty:whi011sDeInglete24x0iay0x454doFloodƒØ¨‚­HfDF’ +R ˆ’„qžb7m@` !‚2† ‚ ‚ †0 ƒB‘21ôjŠFfŽG|ñ&”ISÄĉmzÍ‚ÐOà—ÆhJ½OE\y£&rì¨b¹é#H]ô…ë\èÖ{±T%€ðCRlÂE%·;A—zigæH;`‡”\¤“òѤu[P -b0˜E$2êÞßåD,Jj³ã+T¤þ@*Åò|M%õ&¦†¢¢ïŸT“WÞâÖdMh.£ÕôÆ‹§Šƒ…Uþ[§gVüëbÙië9FœÐsl0V˜ðAhL"Dµ,M¬VYîˆƒÊ +C}ÅÚaœžñ–òÄêIo™Œ(™kT©û~<êͯ·hr#‘¤ +bÈŒHçïa(;ÍF*Z13€ô7‘³_yJîSÕ­V•Øî+¡WÞ`ÀðAR™ÚjF#1¨egP:òˆñÕT&ˆhñÊ—}#¸¬²äýQTÙº +ã‰8^PìSCﮌ9‹äëLá:ó?`F I?ò»G¾°p›XyO@Ìwêš[N•V Ñ¥öBË›°T%ÃÈóyŠß–TňãdtÐÞå»ßà|Ã:æ@rÒÿµÐ¡-†Øên® YÜ=Mx‘YAŠ'» ÀAÇÇ ïõ?vmŠQRÕCö·À5¤mþÏ#+H" êr‘vÉßváu4‰"ÔA9-O#ÓÄ\'i\Ø»Bíp›T4EÀBŽ“ì|:&¾Ý3tZ°9þ&±{Ž ´gˆŽtB§Ña@‰ËŽïnkm®†„¡Å³Šù~Œ õcàpièír€>#ØÚ}&]¬sÍv"õý´(ÄðPäž$Û%ºdÀT£#*5‘-äD„=pÎMßweËe€! ¼«g¦à|2zÀûU%nÝK§í´€E|š°ïšáÇÁ1 yàNœw ½@׿Mz¢âòË=5HÕpšzÆ8é±Ûy€fÖÊæ¹4ÚŠÆÇ`ì1Êϸ\b“¾‚†RÁ±Ò¶ã8À=ŸÙ·[D–Åj[rD²|r„%:¢ÅÙ¦<ÞÅŸÝ„+Î`»œŒmg{ ÚÓÍÅŠk `†~™ªjõ@EÅ6`i¡áì|d!¦Ïè§tÃÙÜÚÉú>SÕ”·ˆÕ@Ó5Æ´X¢±Ï‚ÕjX<ØzbT±ÿ­ŸBf乆†oq3]ÞUJÚ ²œð•âFyû=c+ÏS– WeHéì帞[¤%*{8ué?u—T[‰gw—žÌ¾Î¨˜ˆEÊ\…U‘јuäFñ®ð¹Œ’¹ÕxrDίà0ߥ¬ÐÚÎJ.ˆë’e·>yoQCgOe)'U—*3”ˆò:ôcÈs ÜÃÚBËd¡ŸÃ?{Ù7nëËÀaÝzùW+4…þ6…5/s¶*»~¢É‡3ÙòÄ %k8”ÅóÇ•¹µÙÚÛÙs­)_÷ÄYœÚþ¡Hãéàlƒ "+94/ÇÉ8gòsÍT1Ds9Ê<8îõZ ÛX°®),ê†FTE˜TýFýœ7 d$LÓé ·ÙÙ;2'ŽÛá»Yi“\ÿÄU©CÂ(OxºhªB‰'/CC +¬±8ÂY°ïöÓ` YEåôsÛŽý.YmÙBöx„ôa!§Âî]¹ ìÈå"Ë̤{<ö=I WhRþ­ÇýÑ¡ÇÌ„çz ,âpÊ€<á8e¦T˜ìˆºc«¶6»Ã0G‹¶Ïƒ*7|ó²Ÿç,ÓÌá$¬Æ›F`}*¢ÌÅøDá‚i„:Ñ;¶¸r̶¸ ¡§W’îæZÓuý÷ÒÄHÖÖ‚qˆ…+D#©ló¸».ó»wè¡0ŽeÑ#ù€Ï—ú•üs;ËІ÷Û…+*‚˜ ÁÞð’mä2艄ˆjáÁàwoôûtyéH:±ºù;amK6x¨äGaNÎt=ǘN<²Ýý$úDtpÆ_¶xïr´â§Ñ* o8nµI¬¬7мöƒ?gÖía1Œ»Öû Ô".t O„£E¤ø3™ç™ ”ä•#~o-[Hw¼ž0î­Fú${?²´¶ô‘¯äb¸ÖÙ-€ÔXÈ"ƒ´dÑ%ÊX¼%ñ´”~”ž©ÝÙªoÚ¤˜Å0’»ÊêK‡&0rÓÄÑRX„jæà T¬O„Ïr¨EºP}5dM¥åh+ö3 “Ÿè/oZýE‡É¨MP™¾ì!ÓŒ`‘×`)çô Þ ‰J¸nHO±¦ÒžFk÷®±¨jè1×¼~¶Â¦Z© Åú2‚ 82›]•ÉÄ@ÜA˜l#Ž q$ÍÔ÷ÔZßKBä[ŒŽN ¨‘훇]c}Œ=µÜÅ0åKÅDB ¿ñåü4tï~“gsæoÜ]Úo¤=’€†J1ô¤ÄÍôé~fŒr/f €ë"¨ªtwð ®©×1Ò8ìÆ£“76tÇÈÇ—7À +¢ùÇ´Žã¦Ã³öC—&ãêµÛGí"º¦â蟓ÆLë¬ë=‰£'òñ™%"ÜüIq9jÏ[65¤SʶZöqÙg6¿GÂyf|¦Æ)ÌæLiÏP­—w›}){!ÿ ¾5à@=…25S.R“†ËCŒsSÀàvmšŸÈ[! aÓj—çðØèSÐ|k©Y$}º7VÍŠ<ì‹èüÃÙöÎÏXXÞ¢Š TÒ= *kÐ¥éµ}ÛãÏšË"phéÂCù1¥Ëh„ð«z·'†«Ë—ÍNQ xwh}‰‰wƒ¤dBbõEbN|¾ '~‚GèMü )MÐa›÷ž­é† tóÃ3-+jwšîÁ­ ‰ ±Å¤¢-ÚìÉ”ëÆ8æí–P϶Ó“¦·õÙ®"‚‡s«Œ ‚‚FþœxR¢¶>í$ŒÂ-û¡“Ž^Ö +í4K ¯½­”¤fü"bœ²Î¯y}dÜΘÛŹ%”º¸Eÿ³à }å-îÊÊ.lVjíç³­.¥¨2b÷ ¤e#…ÀÝ”ÌÃv¾fó?:sÁäÍ‘“… ¸ÅΠž– +–¥Ã<”ÇB@T>M´¸1¨ÉÑñlµMuq_¯‰È¡Îb¼ ìýrÞ,Ôa| +ëÁ£$ÃSW&•RÛu¯dK0c$C™†r!àqI?BB¢¥>–º6eAR¶GDKè݇¾F›g€.DÿC°h,¶¡Ösylëð!0y u§†—m³m­”b2 êÛn¢W$}SÊxdqVgJ›ÀÉ+¥`„¬Ôœ ±¥£ÉšÝ€D+Ðc¿óŒ GOdÔ‹óò#äë¯8›×Y'X|w‹rF**ÝY~¢Ö×à¯&EŸ4•îA%‚ŒUw1J}ïX1™`kʱ<Ú‡Êý2GÏRL…Ùh H?×Ü¿éð‹ñ›.5Ftk†ÆI™óÑú™„ù[ó8›ýØH5y³“0p{ª1cà8Ÿ\@šœÜE4ñ”ΰªáä¶ ë}"ã¬mAH g_ÛÒõZÜÌ4O~3Mªt™¤ŠJª@L ˜àB­Å"I*i‚"a˜L0ÆÖß\¶sÈxUôyX>d¼*4Õ»Õ[Û»Õ[×ÁïUÓ4¨†zc! dM•%sÍ+åþ·foyá¦2MEwQßB}4˜æáõ¼ž—3Í“º cºÅX•¥²|gÇØg33ÍÃÞ{^Ès ç/d a§‰zD—UT$¢`<" QUE )2Á` QѤ—ŠºÀ9ª‹eR!EˆL*ÓdB¡x 9LÃÎÉ3çCä8ÖzŸmêr—iž—¾*›Œ™&¢ðüp¢¦‡\¦™ r r r r r r r r r r r ç™&BÕÑýRy_*ËešG#c¾/ÿi:>7Æ”“™Æá‹ŽµÇ^Lóp¯íÅxµkº]m—k y±ìWÍÆ4eûí¿LÑ^Ùö5k3ͳîúkËZúJí÷÷òñ/^è³ôgýüa7céÜìš——û¥/Ó@¶õiê:ëtLó°åv¹dÌ ßKeÎÍ ’Í Û®læÅ¼ÿö»'ãÅžºÐõB_¶©û»˜¦Q@Þõ¦ê˜?SuËXÛÖûN{ßêSm«Ë4ÔeRQ" V“H¤€ ˜†B=*¾˜&2A8Ë6º`TØ>T“ˆJ’P¸¨PŽm(¶d™0"؉òˆ. #Bb™¢JÂe’¦•PaPÊaAÐŒ¨b°«ª»¬¨HTÁÒÀ +d\&è‚Â, å¡@„¢(‡÷&óÛ¥&É$ñŒi(,û¹}¹ÞzŸ%ÏîSyÚ~c?ê,8£c ‚Åk­µþå>M÷­¥[­•×9÷yn«]Ñ\f &•IuQ‘ÀÖ«éÏófšÊ:«;Õef·Ï{¾Ò€4Z{ëÞ6…æ×žª{Ü:·ð³½õéV4Ì4Æ¢B%ãBq© 'ñ-P©(‰‰Çkûþ\EH‘Š‚H.Ôü] Lãxv1Í£ŽeyûõTð9îÛ +‰ra‘°²–l™óg[H[o—m•™¦ÂZ:„õÿs[úbˆƒøû¿çÉvñ.·ÆÕçšc¹•Ô]ì–i*½žYë~ê“Ï>×*ùOn*º{–Ë4f»ªÝÜË_|m¥ï.®»ók~{ÎÉz}¯ýõv5ÞÅÜÙù1ocN×Û\ôç«íX.3Íò=»\T]T(F”"HUU{Ûk»°5Ý–¬¶û*º§Ì7}•¥bóníÍÍ'8kÆÜÝ›1woÞ͘¦¢L™••Y/l¼ÊÌ4•n­Ý»­ª®ªÝ»­«m¡vïökûfÝŒ5Ú7g¹ ¼gô…¾ÞþÞ¿Ð-ô÷Ý }-ôµð{ýflá¯Ê³dacßî.Ü…ìÙÂ_ YãýÛ†ßþ¯æþ¹Û­ì–•µõ¿köÝw½¾Ï›ÛU~¾ ª‘"¨‹Jä`‹ÌÚó×ÙÙ½–lèw5<ŽýålßËnÓ1c·Ý¦ã]ºÉËÙë‹í»zqß?KÞ~Nó1£yÓ±[½Ó±™#ãFfïv›«{¹‹iþ ›2ïN¶8ÛB÷ïÙ‹Ÿ¾M^Ï4•Þ¦qì3néÜ/+'/ttÖš'[fΆ¹ŸÍ“ÿÙe3c“á{¿/î§#û3KÍ÷ÚoÑcwÆ÷pY¿l¬Œå3Me7Yköqö¸lèɸ­µäP r r r r(­œmý?[ï¶ڒqö®ãl›¼«ŸåÛì…º†¼˜†Ò¯·mvÎBI ˆº`$DRe€ ž]_Ykñññ3/|fFä]ïyæ&¨ (E0ºHT‘æØk/×±ßË^Ƕ|øØÂuùšµ·þÆM×»T~:ßåcÆ×^ûÖ©ø–§âw»ÍÞäçÒ=wa6öçÛ­ëÔöùÐÙ:Í~‰©&ô–Œi oýú¯ï[FÖ¬›kèÿŒ¥SPDpÏãp<ó<ÇSyÇó<ó@ä@Îó8 çq@ŽsÓó@NæÖ=Ô¹ú“–Ä‘·$g¾$–Ø‚D,aÚ$Dœ¶;)ò½¢çÜŠøÃWoD—äêH{4à€ðæþµñ1ÿ¦q<Ïókìɾ¾ç·}÷=ëtÚ:ÖÜw¹ßËÿmÎ);w²íß~ÞÚSÖ´µ¿¹_n×~ÛÍ1ö®¹Æêޱ[oÿ­1«»–ŽÝ›ßåîKWqOïz²{‚IÀi‚­#Ë^dþöY•å^3×\>;§o;;vÉí®½}ìÿY& À¾NÙír,üµÐ­…Ÿ{s¦› [øÓ<øðá÷ÞÂ×ÞÂnï-ü_ "ª¨ª$D‘¦hâ_Y{ξ³½õźڳã§î9³æ.—‹L;ëví¹\îíL‘‘¶0ayïáÂO¬ŸÝ‹‘¦È‚EZàXoB&—jYÀV‘d©¤©¢™0¨Ÿ>?Ì"ñïÀáð,,. ,üÄyE„$ªÄIH*L4,4 hà $Líi b‘pÑke©øZ»ºeÚêšò{g­Û·WÆËÐMï‘pÑH@…ŃÉEÔÈ`ÁTŒªðÀ#xpa ׯIÀ y@ò $ ’‰E…~0@‘¸ƒ&$º XKDˆÅ¢Š"ºåñPLH K%9€REI¤F¦è^ ’DñQ$JTEx1‰ò‚ª\ "Q +¼ ª  40aLâq€¡!ùI„f‘§"³}Ï­_SqŸ};o½Î=VÇØ]¸d$ÐO%‚¢ÌEÀ{ ánuyI«È…®xôôZ‚®€à " p4AÑ €p€)ÃRá ©X&°¨§Û¤Â‚€¿P )‹(.D úPQ ,½föµEß9|V2®•H D§zqÐ+‰Cz+räq=fzG¸ÅNÒ@šK#öÖºî›5;JÓáð±g‘µlÁÙ¶toÁ« ‡n're &ÆÂìKÔB®/޳NÝÅiü”%p½|ÞlȹÛ:OöV–â™S ##®²ïòMÕ=5ÿ4í@ˆÈ>cô-1!%™¼¿ ­+Ràìá—È“´±ãÓ7m„oã% ó/Jâ¡…%”ûœÖNÊ·Kò⣩HR#׺%ùPîZ­!”' ÀÈôÿ{Ì(ÆÐ5#„Î øÜÔ§–ò££Á,´Ííiáê÷jÜ¢/’0Ôf±Fœî¦Þópø oX¸ó¿á„© v¨a¤¢¬x, +*rþ5Õ:!˜±íJ,¾¾ÒЙl‡  úÓ÷±ðŸ¡.7… ™œû–˜˜ vt¯ŠZ¢ò7ÛÙS]ê â hŠãMØÊùà`QJlcÃåÉE¼8éi(~ï]ðv9ra͇Fµ¾šÆ ý’ÉÓ²µ4M5NÜ»w[šÈð™t«ÔB”9®qÀÈ—°wŠ +Œémò“ªhÏbŠóoGVpQš‚8cMšJ÷¦Ô7,µû2xÁǪ˜#¤\,§öþÈ{É'?:«Ç²jdŒ¦þE¤GGí™õŸÍß‚`AÁOG¿ªŽ³í×|Äïô€»ïñXÔ»è*+l×YK‚†ø1TõÛžM}œ„ Za\Äkh.2x}‚»ï`mD5øaö¯ÑVQ½Êü›‚²öÄÉÜä•ìíM=æê|?÷¼½¾{/ìu¶Rúb¢ k‰j^‹N¸ú$KDòà™ÿå¼¼êÓÙi2ÜxNCß¿jC4 AΩw~)WŒóÛåd‰Á…©¾‰â½¶€”ç¦ÚC[XqŠ0Q¬Î©IÒ–Ôt¥ƒŠå²Šy]ªÔ mêˆØß4WÙ*tDv©Î oüx«B¦xÉ4bÍT?1»í¨’ð”X¬È)L1ñøõÁWÞo‰ç6S T½¢œ‰4wpk!Ío<)ڟƯâVXÇ‚!_›¸…0œm:*ŽêRžmupÀŠFtŽj +ÙÊ&ìÇV¢c8=ª3¥\d‘‹»\›¢~Ó·CDk‚ÊÍjåÐ!Âñi»y_u˜ÃdŒSI¤lÁG^ЩËp­ä¢a᤬`éÂm8¤{û“`ë¥ÆrE˜,Kên$‰bÀ#v%”Æ!Åïy÷EI#ò¼äI†€Á¨S}!¥Ùž«Ó`Å¡Ñ NÕôBƒ A¶¡³ÓÀ„]}鯤á9ðvSÉ:T®ÁŒèÉ3ë$gÃNîÓº¡‰'%jN£-%š–øÎ?s dµßO¾á£À³bÈ©³J¾ˆ"–-OlµSª¿Qa˜-¢?kß:”JîNȈ +endstream endobj 21 0 obj <>stream +k^b˜If講5–¯J +ÅÁ_ϰ°±êÙ¦õ¹pÈ#ì zz®É¿Œ^X vøpí¯RtCBø+Å)ƒ]¬}G!ú5‘›åÊ©µ°í¿FÂ$²Û`éhŒ…*ºŠàCµXíJ‚f°êÆñŠêVtÃ|â:©3æ¿#ˆ »t(Ñ=C·¥[“-~b’A&éÑÎ9Ë ·‰ã=†•H¥‹Ht"ÁªU&[‚(pH‹`©sÄ7 +œÂ;ÌÏ $'jÉk2T +°*ÚPäÖ<ÖÙ¼qÆ ¢Ëùæ%Ätã™J1Ë[Îàˆ²r‘Œ¬\@K@cö'äj£°ÚPyfåå¨^“^ÆÌi´þOÚ‹ûžÆ%?»t­*3í„w•³Ì¯>b¾6@+×0‹i4¦méFƒL-øœ®š/»°ö0]Ê0`9ñ êæ4ËÌO{šòüf<Ê„V°jÇu1³¯ÚÊGÈb5…¯©² $æ ’%CS Ìk½‡¢v˜?â³®íkmô†óby‰ØyRilJ7—œ’%es¤Uµ˜Cý!$Ôì¤:²¢sdæâ‡8ë—M~éÚj–£.£“͸,ì}'1"ub&3 Äd£Ë˜wW…ê¤äšL84g†à·ÙBÖv†§M,ë»7ä•:¾8¬œlBiÃM9ð3}0¸ •µLõæ¤UE2æVUQÄCíEÞÎW¹š16 U2æ%*²;±¥pÔZSä˜R»äÄ‹3‡YYzC%R‘g§”Ì6Qäè|.pbݳ±äœF£«Ö= oB¨¦!GsØ#–<Õy +-~zy¡©f=53ϳ¡aRir z4 ï}ÚdËÔëY°Þ0AEp„!a™D~IPÜêï±”#Îá?SÔ ý,Û:ÕÙ¥²Ò2 ¦KòØÍ_ð¾”úÌ*3üÂï0=ǤzNŸk²à¦ïðc1Æ`ølëÑ™ÇQjÀ<ä¼ øí¼F,l¼œû–´mõ…^C#6á%…Ü;oÈN¡´ü ë"—šNÈ#ãsé:Dðy­w:‘éåvŪt.sAuÎa1ü£>7b¸­üq›«+ óU¬-ÖîÊ] XË8%‚s䊗:ùÃFAsËסÇ&½)ºe¬ Ù=sUãos•iê®Æ~ËB|J†p§CVà`èàÐøŸpÐ(Öpg#àŒáƒÖå•i ~4NðqSu±±èc™>%ŽäϢ姨dhƒr¨C#ˆèùf*W &­<0§æº/à篆Œš n0ÛJd‘œ<킃ÇêóSo޲ââce´æƒa¬ûö:Ëêj÷ã èø]CB*ߥ•Ží½eÒ^O*ªMÓÆãKN§œV3Š%_—¬£j¯^û‰¡WŒN¤¼¶A}ã ¯½£³µœ„YNäÜ]û!¼Â8Îþ­>Å R®%~"9¬øá”öùÒuÉ iÎLëè­¯ é’n„ùU𷚦öÁËYïMîº%€a<±AvL=Êg.`7Nåå2û´ñS@èµ¥üS{#ZûAôâÆ2=ö‘xÆzÜ•`#vsÎÍ— R›Äø±‡Õ¸¬Å•ršÄ¯,¼êŒ¡Æ³f öxYf0ö޵ÀÏB¬îMfÛ¼¼ç0¸å=4;lŠ8„†”vqw+¹è&ºÐÂâo œcÏÍ´³Vç)Ó?ŠÈZõ°3â™ú *„yhèȘ ï#ã}ËBÓ5èf+‘xÑRjˆ"h)³µý˜dÝØ9.ðdu3o‚jš}@£ó†Q{¢ÉÛšy€½8ûï|,z£ûåztiö·Ü2¬–Y×Ô ÄG< œÛ‹|u¹ZÑ o‚T ÁêzÙi6¨éÏpÏ݆9*›iÖŒZ4D®rçƒ +HeW‹¶Ë’PZ‡G–ÑÛºš?1&m€8ô³Î3[õMãði×*>âb&œÊJÁu™X<;Î’ý.0 +é—Ážé6´›ÏdiŒ(°Ä{Ùu[ÄŽ$‚‹¸JǸ²1Ló!¤ìp×h€™ñ’[™E Ø%Þfпƒ,™|×IÚ¿ÇNwÆ#ôg¿­E¹‘TgQ_‚öˆ§ +'CWx.´‹8Ï&g5Y[K‘p[ür:ÙE6ç,¨Il=°&› +BûžÕ‡-÷õiG· k}øË}­÷¤B   €‹‹I µ àè¢R4ÉUoWmŒØy‡Gtb§×gë¿¢×T–GAO"íxÅrÅ›zJ®\ÿ%ë \_Q»µ‰yóìî䆢óY2Õãɤ³RàYBñs¨ÁZj]4XJ¤ xqÆþ" ñËÁè0c›í¶ƒ³¥m÷¤krì­‰éGåÓÚS”>–MJü¿T1Pù #*Õîpº"}r¡tãéq®Ì*k!LÜ2ç}Åa‹Ï›øH€EŠþØûàa¬.*:7y8;'õB6­¼ µd˜¿<: ¤Žð×9kÆV\_番¯H»€%@õC+êatÃm ‚4Wª‚Ÿ–ám¿«iæ ¸`ÔÃbæSb{·úd{©îÀ>—9ÜY–ÄÅ˜í³¢çãÆÂüo•²84j…D¶ÁÊ-KKKê“ÐöZAUh¸lC œ´M ,Ó*áiëæô-jørVÚˆƒ‰$È>de<ÉM“€YVÛü$T~4³ò¢ñJÞLŸÁåZ¨ŸMÒ·ºŸTô]°¬ði¢õV¶-z R8’¿; ©ÒôòÈDTïœKñ,AZã3€¾®ºË È6˜“v†O횟ðÛꦪo¦àL ,p$ßnóW©Ù¹ÊŽJ™ÝRµ]ò=…ÍøY!ºjÖ‰˜HÞÞkÆšÿA6dršø%´6ñú°(ÂÿáJACúK×”ŠžÓÕìiL ¯“Ô"ÃiÒɾ’³ØnŸÒÈsWŒÕX©¥¡â¨W¬‘a)a`úþëž°Ôþ¶‘`hµ1#XQ€ºè_RA£_Ê™›û¸!™}ƒ¶ba‰^·Œ³á¯É†X `€$€;óHbó ‹ï.û¡#ÐÄÁP‘ñ›¹zš2oîˆ>°­58/[´ÊÜãr¼÷ +_ȵ©°³I¦ œ«âç ù½…÷ßì£/’“hK^3Øb\›zŠp:Í<)¤Q!ýÎK3'¬{Rµ¤öÖ@åâÜ3"6óTÆ2­áºóf¼7-0E, +gUMýà8Þ¿ šô\L?Fža ¾o›ìI8š[‚d‚ç7ð¥°ææH`óÆÔûV‚¨ºkáxä·ÿ±Ô0÷440&º/”.]ÈÂî’%;Õ¨ì9Š€P½~W²§·IHÙ?£còqkbð6Ä>f Ɇåfõ~Ô7´MgߺwJû‰es®Ð¥`Ùz`ówá *^ôâD\ÈŠe@œö k)|8M=BwŠý²wuÓé[¶¾—öMkjY…rÔŒ¯}/$iδÎ4~5‘dØ ­cè™"¾O³E‡OMƒ†)è†^Ô6Ã/Ì/½h {ú¿£ɦ؛v¥•[‹±ºij$]e÷Ñ̰óq¸dwGt ®B׸`÷TÛ) +PA¾;”×#~ÐØKáWž&>Ùð_•Ktï)i#œŽ6Œ1ˆKfc¦½÷&BÄÈhO­æ)g‡½Ñ®ÖÐj=l4¯ÇÀ´ÓËñ?£mãBß0ÙCòA ”ch) rÔðiŽÀ +ì³²ÔIÖ %6m¦]ÔÄñ\h’ËÜê[Ó uî@mÕ1’ìKɲxZªc¡íã|†ù‘œø€#ì-÷ÿÕéÆ À Š"È›Õtº.ù_óØicº¢:nqì3dê=WZÔˆlp¶µèËVèÍ“Éõ$–7Ñõqé4M¸âäÔ` +ñk§0“ôf t¶ñÅS8Pó RÖt[3p­ÜüþaÀã›d»™²Qúvˆ÷6¨DY«¾+‚¯-zÕÛ,…NXL‡;8LN¯c~)i]AÌ¢8FÖ¹`B©o:‚(I–6Û{‘lÐ&E\‹Í  %á•ã˜^ª£!Ž·œÛ(£†©w©<±šf÷9öxÑÝ8`@ç%bíe÷òÊá3ÌžuÇ9]]Sœ·GÛ­C LxV‚©µ5$2mMqÈÀ~—MN3†l³z÷°£gÐÆ¬5 <ŠCú<^„b-mUñ^иäafg/Fœ$¯}dЋà lêÃÖ;Ù]å–xèÅ-qXm q&3øoÛK×I`ÕO¸X:„k2gà%#{aŒß«ÄÙ˜¥‰,¶$2-äQÖªo˜Š2»÷Ò•+3þH=7ÊGP;úy%ŠD`m÷Vç™ËˈPj4H)EAãVÇ`ó‚0$´\§Ó2é¢÷kÔ¯ÜYàû÷8[‹ëì] 1PÝŸs†s¸æó …r¸ìNÿƒ¼* F 4- G’sÀÔþo¶šÔH“­†€!X‡¶xIéØ}¤»l𦏄µ–ÙÌlÈò:‰å„ØÉ ¶ W%]€RäœÔŸÛà"Ø—¯Y>28‡þØ2F®%â¯,+Hè{…t’Ó a«°î¡—ŠFœi(äAØk²8áäM?ö {‹©I,¡Oï™ÉŽÙí×aêŒêNt Í7ÌÅçïNlË%0aË +`¯'÷,‹…1¶ôÃ8'oš>P²áÓ޻㻘2Iaq/‹>k¡juAh¡¹=£­f`-‡L´ï³]Òç ¸M}dÜ8H«ËG,Ã<´—&Á•YH³œë˜¦»¢AÐýtWTS‚1>¸ìiÙù7™%B6:6n<ÜŠ*Y·SŒ,‰˜£¯Ä–‚ Ìû¢@€iǹ-@€õ¼w›"æ7à’IEuŽ„–b”úŒa·¨;º•±bÓ&h\ÿ(H1>½ò ç+< ºï1´\7ÝÑŸhŽ.O ¼4Æ +¤iÏbq´»ŽJ?þÛË;:…K$…j!ü;.ƒÆÕê‰mJ=Ç«‚}qF–„,ï;PýâÙ× @‚PÉÅ̓‹.û©XÀoù-€ÒŒ(Chú½ºµýœ8=h|Åf††»0ðþý’Èí#®@³Õ‹ð¥*ØM —’‡£Í…Á¢0æh¡ +Xª-3+âÔ"ËÙÃU€(pUd°Hlh€âƒ î M2—Ø/ÈÄï–dhRý~$ ´óOуü[m1ƒ”Çg­7îoÆ? #D +ÐI0“w áŒÖ{™ `}„:sþ³è~¡Ûå^ŽyìBÆx¸N)2ýµìo)‘ãZ¶>1­øx­÷#@8È.CH ðÂ@p&Í`öÒR!PEŶþ>|ÈÆ(‹\KŸëÞM‚ñÚ¡N¦¢nAA.Tææ_±ÛŸõÓûˆ` ÿŒ %|L˜ÂPÁÞnõQ½÷3‘ªf  ’Bw|Ýáà1ý}ÛGq‘ö‡ä•ð[ö8ª#v¡[@³²%¶©¥ày0I¡\“O½4©C•fèI›Ù­Žún/÷ÁªM]D—ý}ÑÑ¡~“…Àˆ*®ìØj:€€9šÎ* IòÁ=`Ç;2Qý'%wpP8?7n³ž©{,¦,<”ía–NdöNg %<<¼±¢”ÖÈtdÝ´ðÿ)'F8¡W•¯CƒJÀë×êC; iQ±ÄàV"…›6)eAå.æ$fF‰ +ºÃÌ6"˜`÷c`ºšßòÝøÙÓÞ@DøÕ%‹žUîù.3&r:РÌÝüI|¤9_£ˆ. ÒjÉÉ*û%š\(B8]^Œalͯ¡§–æô¡Í#ˆ&eùž<…ƒõ§?é2—•ÂÈêMö±ëIÈáÄØ”úÖ¢ÆÎƒûN‡:©»BÌÍ%Þ‚k’B549œ¿- ÆÚ†˜Û-&NSZ.æƒ µ¡K˜™íø®±EåunI«r‹û!èEÐk²»EïŸþ¿ñê~tÉê8nYü©¼9ÈÝE'†übÊÑ¥Ï?LåᑃA)+gR­4D]`FtƒÄE$ß`J¹o„Xb{?ÃWà‹sñÆ€–8¼èP¿ø“uÚ\oa6ÇMWHªàõi+Å@c!zpk͹ãEÄ'Ë|J÷QLäÁrH‚ÏÁMf?~ø +ßÐÌ13vSg(mÓÆ³æFZÞÇR‹h¯!…¶ñ äîhÒ#øFÓÇ _ð6@;ØnTìã‰uÇ‹Ij '¿"X„mŒ(•Ž:à ¢êC}a†H;+Äó¡aƒ‚{#Úý?Y4/z"@áhýGÆÏ;¡5²Ýð¶gOüŠx‘çoKexÎäБqìDqSŠ6:?3sìHN§ ‹âð¿g{Xüq™mVˆÖæ<Ûs¬váÝ4u a|c¡á }ýPx;$r[Vâ ñ‰âàTƒŽ$§¶Jûª®¬Ùk¯óȱøü£ÇϺUHªŠï®Ôtý(t¦Kɸ•›— »t£êÿ¨ž°‹dÇý.Š.2xžú™ʶÛ5ð•’306Öžr).f½ngeJ]!ôZØÁ?Ú¦’É¥ÀO§†#}„¨~2ÈSÎ%ÏTèæD ¦(ümxêÓ+ß&Š?%çWæ˧‚©Ü- h à&°Ï)°àbE +e>ô²=‘/¤»àžÿ¿éÎþî=ÔŽ £|Cê#+u¥`$•w˜×ä×'£ÒÊ%r6†ãÞÌ%5½ÄoßWÙêëÍBZe¡Y‘º3ÚØ·ÚÝñ÷X¥QG†~$<õ'%vIoÝ]¤™÷=}‚`¡H_b@©¼CEqÌo<‰a*Š;u°û57áŠ**œ³-\¦37’Ñî—ŒG= $W顯 ‘¬ãnšùz„çû›¹ú6¼2.pXãä²tŸf¿éVÑ‚” ¢;ÎZ9³ƒŠšä ΪÃYè„@¡¼2@È1Çíâb:ÅuHjáäGÿ.ŒV\rÇ«mË]äÊßnÓö$„kJh­BÒPÁÊ]§€´ùHlÓnO1ôÐdüFœN’Giiâ ºVÄýÐ;kûá ”>¶Y(\@°Š4\‰Ä#îˆ{ Ì ÎÔB¨“eõZð„éëæjUõ çñÛ­_V‹GÉê|‡æÈ{b}åu*¥Õ*X_ÇHu¢ OÌY°1ò*<¹ôÎ" ôCƒU£Ë÷¢1ÙÐw¢Së‚×ËWïfF†hàG +•¿ÌìV>ÒÙrI†är”¢]j`&¢ñØÍ óÜùúîÄÓ(ª,³Þ`s‰>ÈËfÀ8Và;ÔPq…øË…›µøþb¼;‘[ÎNžÆmÁ® Ò{¡•QM«©¤Ùp/ ¨÷µ]ý’æ:(WÖJN9É•YòO±HWÿŒWÖž4š= +:NVú>½û(!‹É{4*D?/ ®)©)>ða[#ÕrqtŸ&´ÜÓ5rÏ’~`¸KœQ¨5J"WV;ú‡öˆå#A› ¾5(ô«$™ÿ§Ä’õspC©ŒÂDzÓÙ±îÆZ‚ÈÚ¡h`R3b98zéSE0W¶-|G÷<¢A6#¦ë¯å€j•³ž7'ò¹“Œå#†ôþ9bI„`Í™vz"_*¿œ¯fÄ‚þsŠxL¹/d~‰0 `bW^:¾’a®ˆ°‚"ë…zH#!UÿiJ‰e‹t™ÓxbÓ«Q£]©&ÎqÕ`ax­ÉJa ÏY•tws6qÉs`¤Ã.¦ýaÕà¨ŰÍÙ,Ù9± ‰5oÊÀðXHºÇwAï\Ôæ0do¨IÃnÑj3À•Ü¢R½âÆñrÖyž3 +£ë¦,L§€F¯,‚˜Ú•9LîîOصÆqÇÃ;}U¼²Kµ°&Ý«u 4^׋8?fKª¢™ÖM¡H·*I, yeŠò*eFÆÅœÕ¹©YpŒ˜Ïlðá[œ~¥¡VWÂJì=)ñù£º;Tû’Nåô0(*¯#\1ÚGðDÆóÔXs6³Þ*V<ÏìFÓ“'âp‹Ãâ°8 4ÙØÙù]ºwçuÀ ÕCÞï4ù!>|)‘^w»{@iÊÝòû5+‡Ü˜å{é÷ ùeiU~»Áj6Vº$ iQPhDp±©’“§ÀÇ @J‹Æ#é=ï +¢sbIŽ®$O˜ÃŽçÙ¯È7rw˜C¶Q‰ ¥‘=EÌhÆåˆbJ[‚É|b [„PIÊ´ï‚ÖkHU¤©G«Ù»+ ¢==ÔVß½ìZhyÊ„0BC@±ÂÍT‚ƒ®gHÖ¿Ë•ºcŒÝü˜ó!¸+¯g i .©÷Q°”Y ýSfú€6˽ñ¯¸MnuÏÑ.å@åæ¼9Ú™6› ¼dA¢¼HŽ¥`ð`Nçëªë¾áªÄºlH¥øü$:5‹\§"<à†¶m­Œª¸Ý„÷|Èã(¾ùͧè™FàZái$íýìZ¿é2/»`$”œq~$OoË4ƒ’îV[cæ šåªÃ²LÓ\Ñ<¢pd Á t £æa£ˆDËâÍh¯y+là{{t1i@< \mI­g)«YX.Vÿšá!&ÔšSý,Æ$Ô¬¤ã5 +œŽT ‹«CÁà”z±ªn˜ÇÕÛnÛ%oŒ™Z¬$+Ì¥DZ,X\ih@R· oÒÒ aF:=¹AýUçÒÞ6»fž»#˜µ9†bØÎu¿ù:a ¸¡dšô V±Pö—¤Ì(*K%±õÊX6ʑٶ(×T&I*º ¶cÖüŽï*MbÆ\ÔYƒ•¼=ËîAdTÞ *RŸŸ˜R«˜© Ztá=ø”—o¶¥ŽË†d9‰ÆžE±àÌÕW˜žðMšyà aû÷i„r*:#kéMú+d–OÌF >z”Ì£€‹ØÆ‰•±ÆVÜíœóˆ;ñctÑKt†C åªÒZ.3SŠCf^°Å^Õ½p +Ç¡ù‚Ðë“V¯1n lqA¿…¬Ø–G| q¾Š‡ƒÂY×";\B +G„S¨ –iEqœóÄý–áX8õZD[JXnØFå4´Çé8£Ô“ÊÎ+ãW6St„U_£ÎUÝ”/ƒ}H1¿¢)¨G]ë÷^…\©hi±)f+»âXÃ!'5N '„MypM…0»ÿˆ’t³I(³»ªmïïñwc’v‘e‡Ók8B‚ ǯÍ ;±±Šßp¥ +ÁÄθLº!GÉOJÝ–"þ¥©Š¸3Ë -OеI z5ªðG$³¾—-nJ¤M8iêÃ{—ŠR4xR­¬)™g±.S¼¬±ãОV8èp8âŒ6“'.áÚL9¥¡L‹™¨û(kmc%P­áR7¬˜Ý<^Ò²¿ R½ ë¯ÉmîM~Ý»óæ¤ÙI¾uß¾ÜÚôy“›K.ž¹Ë¯õ¸I­K¾I“,ËÜç]“ÚôžÌ{ÇRNÝ]ß’‹·{ß’’bK.^Î|›&¹Ér—ÚÌÙ“>ëÒ÷¿×úrz=ïœy™sÙϺÔfiæMò¿&5IòŸ7ß&i’&Éý÷~—f6³Îº4µiöí5ï›9óíwç:o>~­7ßzkII±wÖ$)¹x$)9=’ü^É=לô¦éI’ì%ù}Iê2÷ì·I–Y{nþ1{ÉÅÓ^RRH.Þß’ÓûÚ÷_úŸõ/wùûö%÷ÿ—?ÿÞ˲ô_g]v“%/×F)¬¾§l”½l»¤³`§{EšSç1û]ö2ó2sRsósóû²ï’ôÙüÞïþ;Iæ’kݵæì’ÓûfÎ¥æyo¿³7¿'}î¼üæßyk®G­µöÜìûû^þ^r“ôe'óçåÖ&Ùóÿ?oÍÿÎßä¿ÜÛÜ\›ŸÌŸÌæöþóOjÓs9IöÍw©%§÷ÿäç¥&óÖ¹ì™o³ÿÜõþ½Ì¾s“Üfþ¾$}ÿº$É^æ1›Z—¦'óΤç½üäïY÷¼¿äâiRrz¼Ü|ôžo]š~ï^öÿÿֺܺk]îyß:—¥ïdÉ}ç¾”\<Ó”œž×\wsÌg³ä¥&·óöå/}ïZK.^çZrzÜk^rRë=f¯ÜÛëLú¾uÖ½ôügOnÎËî9/M“üäïžüe©õϽÔe.KÞ¹Ö“ûsÝóÞzsNn¾5'Ë®õ&Éò›[—ùgM’Üs3ï¬?/s&½i’¹çÒ“Û“æÞ]—¾—dYšÙ”\¼,9½Òkÿ¿Î%7¹ù7ùõ˜»öŸïQçï·Ù7ïšì^ûNþ²ü»{²Ü=w?jÉÅó]rz;ë1çß{&¹ßÛüù{2g-¹xy›ykí¿©·Ö$Ϧÿ$'³÷¼ëß»äô~×cÞÛgß}™sû÷d÷¦ÙóÖœ4ËRK.×{K.ž&µ¤¤ ½–\<ó’ä]û>æ½I’“ú÷žÇ¼÷'¿ÖssçÌóÖ?›fùÇìeÒ$?'½—\¼žsiæÞɼ3'7©ËÏK­Ë’äûoóûÞ¿ï¤/ùæcö¾&wÎäÖ%i’fiþîq?nÓôÞûýI¯;Yšœm–æþÛsÙþÜ›¼÷Ÿ½çü”\<]úojÉéå®õ3Iö’ä¼ôü÷íû&5÷Ÿ÷ŸËl–#'óïÞoŸ3ç{ä|KNoë1{¦6yþÛsnn_Žºÿ=©Í¬ÉŸGÓK.Þ'µÏ\rñÈ®%§GfSrzºë½MÒë=ïÿIíÉÏ%¯Ü’Ó#ùö|g^šÙ›ä÷{kŸõ÷]rñL.9=njIIë’›º“f6ËŸ{ÿ»äå×\ï²ïÌ3ÿ>“Ü,;'5³i ™åþ¥©½É»þ¹¯»ƒrç]îNŽžs=YnÎMU1Ÿ{=šß§³7Mi½ÿÏd÷dÿ/š³(T¥wÉ7É{þÝ›ùr–¼öÖ– +ÙˆP T±‘—Æqº¢£«y™KØJgÞÛŽ ´F÷zzoïDoH½·±èêÂiÉï­÷/÷çc¶äÔ5ôv{>fGÌÞl1:òr7MnfmæÍ¹ÖÜïï{ç~go—ÝoOj2o­¹÷c6}{J¨1º¦%çÝɬ¿ßcþå.óþ?ÿ¾ËÜ·ÙKòë’ë­y/µç¥éù˜¹Ù³×ÝwÍÇìy¯wæåÏ™þ÷ø˜ËMæÎó&Kíqmæï½Þå/ó/÷È·ÉI?fOÙó]{Ro2ï­sÎ:“[k³ÿŸ3ùw/Éq“œïí3ç=gŸIþ=Yòü9ïÚìüwóûòkßs÷_óLêÒçîM_îü{ù{ç{÷íýÍÓžÇÓ»$I]æßsî}›ÌZ›½Ôû›:{R—|Ý [€¤¨3ÓIWY&€ƒ4Æˆàø Ón #ËÔÚ(FÀzb5òv²KÛ ¥ ”ºÓyàA 8•¦i¥ÎpJçÀ€‘WÕ”¹×F£½åÆ]Ø”ª‹3~`·ët•Ýïe·R©t«ÔTÓ}gé|Ò¤¼ºqÇ‹rœ,:©ñ*·Ò¬D•Å@wêC$°ü­¡Î‚và•‰`øÔX€ +àÛ>¹ Æš`Ô" +—+BŠ$ÆVª'TÔ‘pÀˆÁ±CŒaàÓ¢«EÄNRBÒ@œ,NB|RÿD„„‚¢VzAD@²#ÜbDf¸¢£³‘“ÑÜp{ݯÞf¡·ºBU ®ÂÊHšÂ…ä +m$ÛšhùN¡h‰È¢:d%vbP!ÂPì"_8ž±{ØÁ0ÜÁö Ñz¥¬Ã  ¸Q:x1tpX8çÐÌás?“ƒîÅ29Ôç·O$l§K<Ô0ÄF‡šl˜k …Ûgß 9S-5¼è5€®Ù2$†•Á!¹ Ä$8a“MƒÈ31ÜJ-0Àh®4ˆá åŠk盂˜º0Ø(a8¼&ÐðQ‰ …N9rÁ–kȺJw'B9;_Ÿé‚«…FмO©²¤µöÐLŠ8,¸vZ°\ÐT²a@Ýê­€hb²XHT$Jйy0$r!ÍÁÊ ,„`¦`D¥²)@„á‚C×îÐÎrv#þt2ÝwŽ¢öÓ­ ¹“¸/F[ÛšÌhßÁUÍ>S)ûþûX+Éõ‘(ë ›äUði­êo»Ô‡ReÔ×CÓ§Zb¤¯ó£o!R¾Wˆ‚>ËÎñù ®¨ó±ÜóUt£Íwxšïe0À|äò‰š­|5IŠò‰<“ÉG $_H(Ä2Yäs}(ÈÇéóã¡Jù½/M~.Cã„ÿ>jÇ¿Clà_JÂú#rù“¨µÇ·pÄÆï¦a9¾”+Õø. IüÆÈ‡ñµ&Íâ3X)ŠïÌÄ +^$A|Ÿ ¿˜¸ß@¦aø -ø!¾ïûBÇ÷}emWÄÕAðrÙ*6†ïû¾–â;¿aBŸN5°øÀc~ß÷ÅÊ÷a^Í÷u‚Ì÷Ý83ðËɆϡ†ïà` +]2œå eÀÑQZb LEt¼ÚrÒ¶æ"Ú¾ÉÒ‚&‹‡~ßÁAËĉº#{-œ?H2úõÂ×Êz …DgÖÉLÇE¼éNšaõ±ì9¦qàN$„Ò9²‹´Ïw€T.Z†¤Àifœ°rdH(ijšŠa+ “âaÉ7žˆßǃ{Èvþ6 HÊ(ºŠ…4"„#Q1)ÙçQg#°ÙÕÚœE‡CÌBBAtpppQWºJcÁ]`Ÿu9ª¡‘à&Ñ¥«ŠP88膇悠ÌJ–RÁêrêq€ÅKЉt!KÄ÷½Dß÷E  Šû¾ÏõI|ßë9|ßAH(¼ÄïûD áûø{(À1h¨Å÷„„‚8ÉÙǧÙ+Çé×TÏÿ•÷à"J:˃Cf‡x'³mŸÁ"†„wñÝ'r´ŒäÓ´"He3.šMëN–‘ãqá +ˆ–]F`æSLcsÁ?´h˜MÎÿSÅ›o̶/Þü¾Uè&0¥{SÌF£ß÷ÁŽÒ˜ñïã«Í÷}ß@ãû>>€ Ïø}ŸËø¾¯agH(œ$‹ïûh·Qi¿ïß÷¹œTZdYÁ©"¢DJ~‰x:2˜&‘ø¾o¡k¥*þû¾Ï†8ÓÊå,ÁïûHá÷}k­EZNß÷}ïáû>Ý!½•ý}ßw Ò€| + Gñ}`‚ñ}Øâû\Ð‰ØØv+QyÀ +mT3®ˆ •§#¾Lð~ß@„ƒ !šé"yCt19¢G†O&«ïuñŒÌæû¾pÖÊÒŒ/;ŒÉòð Þåñ¶6‹êuµx¬êµ¬gê”UA­ÜN¥!ÅŒE½KêQÂx®ºb,0Úºï*‹íUP€„m:ÀRXJ`0¾«lMgmn溦7MGo®1¬IRsrtÝ5†gc¬½ÙÒšS]4«±1ÖÞd#첩ún²¥½®«®´qöÊÆÙ+[ßÞéØÛ®í›ÄjkoñH£µ0îEs.º¾©5­¡nl¤ÑÚ”UWZ: @Nî[ÜÆ)<Â.›¢jÌ¢ïèxk£; –î€×Í¥9_×Õ¯ë¶o̶²v–QŒ¯Ëó½és¬L¯³1fi«a7…YeÛ˜me2½Ž°û¦3Ô°£+m„ÝÑÐÊdìŽ6ÂïìuÇœlÁê9oÈvýoí‰LË3¹¥tŠ6Þ,Ñ£ÛÁcÌÒÒ˜UÇÜøºînæ¶£; g¯,V{ÛqöÊØÆtEÇ×ucíM]e£;à•¸\Í͹ñ]e£;­¥ì»yueð8{e(k‹Qè›ÁÄ›ÌHᩨ‹bj¬«3 Wij̦³Î*c;{Ób¶ƒ{[į%×¾¶Åì4×¾6Y˶!£±ö•Yt³´lò]–®k+{ÛM(4 €6ô=µº¶#ÝÒØNZCGê‡mÕ ïYKKêŒm1¬ÃiÆU_œfv›ƒÕœ·¦3oEY•æµðÎ[S/•µl+óZÖc pÔSa¯õØš +§¶Óà)¬Î¼t†ÊÔÕE=”Ýylêµë‹ÊÐX…SYÊz*ì5ØtM½ÕYê¡Þë¡0›ª®§Â©—ÊÔUQ޸Ɍ<¯Íµ2O€j“½¨Çî¼½è®æ­¨çzpûêÁíê±-ìÁm kµ™^jO¸ ½i&ØcÖ'Ü‹†rê{ÒyUQ6Ñ7eÓtUO@ßÓïU=¥0JÕð‹^\}OHÕT,%ˆat3{ыƦ×&3Úºcym2#­;Ã*ÈñÙÃ+ŽU½–Ævb­Ç‹Yõ±èsU¼®¨Nk¨Û¦ð› +HßW±¶²1ÖÞSÇâm­M#ÍIä™FUW‹§Æ¬ÅëX¼¯;–Rººj¼îB©ÔÔ±(¼îX8hm¦Ëd¨k‚ófQ×ìXtš«¥ð«ÆªÚPºª6eM4}-nûb`T‹b:–’Ñú—žç=ËÈYG;Í$Q:z9C2ÙîŽtÏ´í³œÊPS±µ¹ÿ迹ãu‡ÒÒ Üñ|¹ËW²l=+ËÎYæQ‡©Ëî0Sé id–Ñ|L±÷þ¦Ãã™›Z…ÛR{ZÓ’¹IîðÆî³noh }c8 •,#mjÐàú×9÷_æ€ïsÞÛç­¾1½€kY»j5§¦ sm ïdøE¼`¡Ø 0»æ 1šIW7‡ÂŠWy…¯ŽSSºÆPõE 1:Cã4gP¼B·=Níx^,·³‚,2 …<_)ÐãJ*TÈA ,à~Rù4è1Éfª±‰”bQ`0r> ¸x™²Ã sSúቈ©4ðÞ*]„CBÁl1B9ãÚÌp¤á£ PpIÄ,oZúmÊah ÊK£Y’>@á” +ÇŠÒ0ÄoH(¬HEš°ä3kœÅ„X\hø!¡°iµ6Y´s¥YÛ€ÙÜäÕª‹*FH(Øü²FDPî ›,0¤Rj3À­O $X?pJ0ŠK6äG+'ÖÖzCBáå¾rÞ'£Kµ1Ë ½ð•â …h²c½pD³04ì4)اÍ9óéåшPøNÓm“]+Éâe†_ù\6ÙöKÐê¢ ÝµIµ- ²]³J  +› G¨‘€ v–½¡†_Å'p~Ô–ðc \£«ñ.ò$±B­—•Y!fy=o]ÙÏ2o¸#¾s"îJàÜzm¿$a5b–¸ÖµSñ¦„¦þÈFë=Á‘÷…Aâ#‡„ÂÁñÑöK1.A|ü™(#&kEåQãþ„J¤e"l~BKéxÀÖ£¢«–Gqá·Çœ„„‚…eaèËóùR£Ã”²%ZÄù`ûáaœŒ)ÖIü«¬syXä-Z`>ï +,܉ˆrÅtæ+evn/¢Ø@ÌrH(ä<~"Âñ£¢ê”ÓCù˧ÀÂyœL"%Ã'˜i!…`ü¨„X­Wã`>Ç×ñ‘âqò®ƒi=_3ª³ ¬sàq¾Håæ?Z …KÍEËoDÓˆ Á[Y¬u|X‘ód•iTR2pp§IË\â…GHBè;$>2mñùKQDæ'"¡HOZw,a$Ã(hwÍ3žy…„ÂD&-\À'Éx½©ÖXyÓ‘/ˆvt~+u!¡àùÄÖ…½L#× ÊÛ˜Äl-çxÚx$­$?d,K'4lÂT$XÏf»r9“@%7É©À\ªw«µ$iVÔ½Á8Ò’Iáf+ÂÄI:5÷–Y¦[G6ú·PH€XÕ‚"©‘««ï‹[m©Ücd‹°$nûZW{!L¢Z‡o^ã޶Sˆh2‡ÓJÌš^ +$£ÔgOO©ÜìÍ2ÒìVküÚù´2 ›d!¡ŠJY)Æxc£Ô,J‘iÔÙ¡¦Q¥%HU((+Ö9 ²ØÀÃiÛuú&ÚT²©—…_(©ºhŸÈeøhw‘ë©mL$T+ˆ´BB1¶¾ÖıXjˆa}2É‚5‰¹f®ÿ0`š6-4¹‚Ò8P@6HME¿‚r´V1T+³"0q% ájªˆB©n-ÎWi&´— Ë­f! …nº,n-šØB)-qù.rzQ¤Š©ù\P†”ŒŠÑâÚI¤€ŒN”SyYàwr"—)Vzœ&"}˜<¨\‰ò(S%òÆ)¥fæ¼ Qw†daë q`Ñ9]¥ÃŸ’ä;áXÛ péÀÆ´="øFجr UcùX(Í‚Q^4êñИB07c±´2ã(òdà™™íT‡LêŒÑ0ž86a& mÁpÆÀˆ QöºÃyq]Þì~.¹ɼÜp‰‹ MÜ,4‚¥¶ši,ªÊ-¸–본¸Ü¬ò… +S%ÁIKåqŠu_J¦±A)#+¢´Þ ‡q8(Wu'!¡@† +^“ã30iÅ2’Éû9î=®äsH½$2: YÌ fEqH`4À‚U¢™m$ Þ0oPd‚ŒÆ‘„‡`µ2§œÈd"›Ó#íú9DBB!#9©×–® 'ô@>pV*Ò(]³uHa¦€MC2ÝâbŽ>é6wEd0o•ZD&e¿`>¥Ëᔢ£´Äf0Éh߉ۓ©ú¸N2$6³…IþÎbˆ•©û«bý—©tú¦Çeó90]~Ê…Áø$£¡ó¹æù…èò!sz$0}ÌÀ‰>p¸Ã‡UÚãCÕAqåéR@ÒELüè!¡E`/k ¯Ì÷\ÈGÁ<†ÃýsÖ”Yð„¤Û¤)ísd¨öÊ…ùìUÓN¶˜ìmQuáN8¬n1:¦7Ù¢t(£m[˜$ú±Ð:$@ŠN¨qŽ›='Å2A¦–ʆQìÉÔS2΀âYÀ¢Pä˜k¤{øÄöpyPCDg‡yxì|ÄJ%ÇC€{ÀÇÊzÖ‘ƒú ãA” ©Ï +¤k«Œk ñÇÁEsAmç°•Fœ#DÀ‚98˧-mý8t‡Å!â$t8p'tàb¹††Ãd >j­X&j¨XÓ0hÎf7.†—¢ +d ŒÅ± ÝÄQñU…Ä5Ói–c '"¾Úr‹­Úb!¼Ú˜aÐRq ºÆ®´]1ÐAb¤Îaà:‡ÂÐeZŸa0@Œ Q— ¾\u‹P œ&êâóµ°Æ£ZÌpãhgtçb„]”Å"#óXÈÒKb~.±âç˪¹ž™B†²X +„‰=)&1¤PE6E\Þ$ +È7¿BeÒFÅ'™$!¡@©àâÄ«Ê%ÄÕ§%B¶+á*T‚eÂ%f&Q'ÑÛO*•ê}eDåбt,‹ÀQ¾@Tc@MËªÆæbc†¥É$hÜ]Ü]«s’R58qpºÀÁiæŒô–æ1Æ f9±x¡éâ…šT&•I5æFçèœ|þG‚|B…ó‹P@Pž A(× ¢(ü“ã…{ryà|çÑOÎóÑÏ9ð¦ˆ$Ï·Á­Ý¹-lpkÛ:8£ À +Ü^âtOb§¶95˜kövmØn¦ºl«ƒß  áXíLf·ˆQ&ˆ‘ÄÂÐŒê4'‰¾’hâ"f H»·1’$öaoPMN}ʧ,0Î8_°Ì@ $ðÙäÝ€‹¾P ›dbûÑ¢6Æ: Táä(‘Ã1ò&kˆj±2À@&œr´JàP(QÊ 8IìÙ†¥"%óEX+ “'5d< Fã2' Çc)Heµ=lÃzNU`Æl±mÆ©ãJzœÞŽàmH€–;.êÔbní biôŽü1bhŽ­0+•ÇÎÿ¾0ïë}éXçv€Új¨¹ŽuNT%Õëdp,•J±XHдՙ@¡L†ÆÁiÆÁi~àà6… …ECd¼Ð4'^húqÅOˆ¢ðûY Eá$åóq;öä<\gvíÉ):äàÉyçž#–°:ˆ–;·—ê²95ñUÚðDÅàtª‹VÔ‡V(1%žˆŠÝ$ž(>7á|ƒ22,ΖF»ÕDãÒˆ–FŽ•Æ¥aLXaD, Ípd Æ …ŒA†âÉd ïn3É)l^¤Ò¸t†Ïæv®Ü¬³à”fzr´*Ÿáóo‚J€ÆOÀF*҄ᇄB‡7 ÜZ¹v®t0üln l÷.rÝ$$L—r¶ê!¡ {y4Â4@Ó· ¬ºáoÇÛ½†øÈPÀ„lp¿¡F`J™ÆçeâW¹Ùßéfk|+Ó£1=ŽÏÅ-ŽOãJ5¾‰u|5xëÕ©ÀüéPHÍXãÎÀ”×±j¥lRczYøÊæ `á’ÈO‰Dü0´uÇcÄÀ±•j¥Z©8Ó#f5ªÞ—Ê+ ]Ù +ÈÎ%I¨J!e©DPÓ²»rW§»rW)¸biD,u ZN©¨IÔ¦N&Y³±`ppšQ*Æâ$²¦“5¦sRjt“Iµ«À8óBÓüBÓìx¡iÎÎIúHã#A(»Ê×™îÉytæï<šâùhîÉyÀ¦¸æÃMñ nƒ[»s³Á­@(â–‚Ò¹šÎƒ[›O8ð$cÕeSâSc"êÓæÔÚPžÄ/y²¦s"ž!{0qûœæÄC‰'û„KÜ97t³S¨Ö|çDܸ•ÛXi\Ž K£ÝÆ +t¬4.Mc51,f«Q¥KÐ`b„U, í 9ÄhR)ˆYÎyü$Ľvï'©A4Û 8jhð}qMãx_Ô7°>Ã7xjð É'ºêïK=pa‰ÓÚä\Û€«U_—APaØüjˆ¥ +©l}œ’¯Þóôß Â®•á‹þe“® k+b +›wÛCÎQ©øp­dBâTì_LJÁMÄ/$F³WãÛ- ßiöj|&Wªñ”2OG>Œïå(7?ÓÍÖøÈCIñ‰³×ÂS5•È`BWÁB´ 2lÊEu‡Sš«í5;$<š\f¿6 ÇΕˆW—ýG mÄÐ216ÕecVŽ•ê²µÊ‘’$öW@Z®Ä’Ćâ5M‡@T爂èÑFDAMÓ±t¬sB Ò@Tü#A(w!AQ>îG£(üã2B…Ç#Eôx¾óhJ›:'¢Ggø:¥(<¡!ŽøhŠ'BüRB¹'7Æ¥sӱΉرÁ­½¹]:Î((Û"!Æ­ +Û¢cˆ ·¶MÌrçvšG¨™À“¸@Ù/Õesjy|q@ŸÈsj‹FA9 NuÙ›ˆN-$.°KuÙºI<)P@h*]‚–CB!•ÞÎê…¦ùœ†Î`âH³à²1‰úøL\CÓà$¨>g§H%Iì·ÄézH(D#†–7¨¨¸4&ºÓLøç²kí JR4B’ÄNì^77ºsuŽg ¢Tœæ÷uN–F—Ÿ“» œf ‘Q·Ä8J ÐGSDMŠ¥‰+Äv:VQ +ncÕŽ9²5-ïè®Îˆ …Ö%»Wˆ¡”¾Ñ®¡i44N¦$¶!“Úa&µ=. C_J(éÀÛP#ÔL&")$žpK£3§9ÁeH*4DÀ8y„:ÍIb431‰ú½§„rrÅ„h£‰H*™ú#³"Ì5hhTCWàö"†„Âi¦p'¯1Ë—ºî6ûƒ6ÜK F-zH(€X=ùéáìá4ШHe:³¥ DÎs:µ›¼s^uÖîë †_ÊEÄQÃvïÁÔàzF@6Uç”!ðk@ f¦ãahH…†Oºœ6ù1Û€°T­zû „ ›‰dŽ‘$±Áw!•°´0ô"&Q† ÄGƒOà}w*É#'Ø2ô0X]”SÂ1Á îšüD? #/˜MŽ•Q@SY‘”Ó“ˆ•PSÞ7û+*³ÌVelŠ¥B =š‚ ?Eá¶T @´<™Q^;$L°÷Ô%v|X1·ÿÚ<²»À|~ aƒÄ,cŒH:p¸“,Œv + Ž1˜t9>¢€¸MæxÈâ°?‹)ÛƒHc!‹Á`udб²P5éÛúi"†®É—#]v +ÇqGñí@ºB˜’a}XHðâÄLŠ5yb(¨i·ˆ*¢L]‚£8NɉÉ@QH(~„&Š6…A²Ķ~Â…Ú`%Æ.YΈ hc¿á—8ø¥Ëoødz 1"â3|DÆÂÐ!¡° aœlKå4iÅñÖ…@qü¡i>ÁÒä”# B¹@nþeګ焪ÈÕ£y~¹Pd˜Z>³A=ðÛT8&Ö!g]”fBiÓ›ò™õ´õÐD™õÄ,D]Í™°.ÒöšC¿¶x ÓU¹Pòõ“FS^jÊ!g:ßg~jVïtä]¨g]¢¢ï~ Ì”eÆD§º•¾¬ø9°oµ<•e¤3ˆâ¯þç,A´MÌ¢ R"X)ÆzTT:<9vñéN±¥X»`GsV£sævŸð5ߊ¸Faá;ê…\×Ϲ,£ö§JjG¸¨ù@†îáìÂשt&7„_:Ð íU‡übCzôÃÜS} ‘€¨òòZ‚l%4ÀØQÒCñ…. ÆníÕb{æjŸ½`pJã!Ä>zÄÔˆˆ$Å ‘-™Phi¬ œpÎQ¶ËOØXØIL·IIù²æßÆ 9äS#9¼ d áˆ=»Sühz€lðp†\LŸ¤Ó‹Ïùóܦé\ÓG}û Y…U`²ê–¼@ 9oFTcTÁÇEF= H<¯±EZê2Bý“ûG1VÄQçÛÚØ¼¶Šb` E8ÚÔ)É›ìòʱ¢¾vï3šmá/úS T.ˆ‡Q/‰5X‘–-Qì»`ÀUß’$dN9T­ÀéyáöÙ”kVºj–üªÊ®{í׸‰íØiGM¾}.X¸_yOá-lÖC¬åwrN>ºò$J q“\r.KDeÔ#TÈ¡eÝô,Òu+:›é_iâ!†3‡X'—…)ã¤yhAKîSïYÞ&G‚Ž8N±ã3T9¬œñQå&–]§ˆJZqŽ€cŸësÞ+3Á%â\ ôT³·’çðGDuë˜ý·¨¯@ÈÄJ]Ù%Ä„¼ÉGÉøÕt +É•ª qF ˆë!v¹k·ó%'ÄA±XÛUÓA(&Ä7›á¢–1zˆsØ ŸÛ@1 q¼C\ó ¦aþ…ÿÀ "yÀø!NÓLé¨Ü€#Hý^¤*ñ!v}8„C.Ár‡xÈ]Û ¼@B¼L¢9 šñ²#ÄÉú™âà|¤åºq±J˜Ø?àŽEV1°Ó ìšO~ª† #×C*û±ŽåÞŒÒy°•áˆAˆ?·&¾ÙàdõÚæ˜ÀÆõ¦†h3évˆá"ô½£žƒ@o61ò÷Åñ’¾Àoo*MŸ:ÝĤ¾€#—…·°´ ë4$áÄæ‘cJ(eJE‡;MÑ‚JÅ6F©­>΄P |ç•f÷YÒéÀ0q°™·‰Î&T¾.Ѧ•ŸP ƤR6¦?}Æ$¤¼Ù¶Å|;ø$œJÞ9£7æ!&]–k;f–•ëZÑså¬D|­õ¢© }%V…RW$‡h_~›dкëmÒÇl[Š#\„½+ý®è¯cž1Ú¯–ÒÉ3}m8`£[Ž'ò +Ê2¸ôk…žÙ]|FŒ²R£%È’·ø=@ÂÚR]ú0¬žµ®-6´gò—n~ø)ίyÍâ“7 ‰ù*¬Lî3Eÿ±ÚîµS,)º¤oz>šË}&\™¯ÂZ‚/ŠU»æR¢¡â]?Øpj'hŒÞ[ªç”ìäŽ d?Ë¡•l"5\"ÿS¢J\Òi¦æ  æþEaR5F{´<ðQ¥^ÔPp¼÷®‚p"³\²<(™œÍ€¤.@ôp*Ç–ý¤Žœì¡µ+U<Ïn^? q‡üQ„Pâç®UQœ´ ‰:gm¼Hš'kADÁ9 Ü#UYdLÕ#ŒÄòAJŒÐ«Á,Èe\Óx‹ÌY)“ŠÏ`ŠÙsÏ‚¬Uƒ==‡X:…‚á\"g°°V•ü‡=´¯8á$R¿Ñ~¥¨â÷Ô,öÀE5XM[ c£ýDžiÏ +à'l{P…­3F%Üa* i»"?™ç›5•£×¯>E, o÷ÖH&=w©²,ò‰Q$ÎY*—­ì~RG<3¤’7 ˜kõ럂™/{ZOÇ¡X® +!Ô  )'ÊŒSÜx„9a{ýˆ­ 7…™ÔdÓF¼.öŒÓDsmî8àíïšJñcKã@ïÆˆ¤¥ÅÒHÞÑÀ±°Cþ‰u?Ù+SÌum>  ¹'m81žÉªLB {ê¾A§ˆh +'?öÃ&‘¦œ0],ʘùʽ¾Apå³–xn ž]ìà¥Íý>®¬­‰“º}XÀGIŒûûr +ÎÌWr Þ/ŒƒÌ›qùTG²XM8’£Mž½8¡õ¼˜xî¸-3Ž6ä¿!æ}^6|ºÄ×…e­ aô[i–Ë/‰È(Q•kÀahÜ ¡LÉ·5@S”¥8Xpƒà‹%¯ËïQ,xvV8|2Éw%`üß`)Ñ‹@ÕçzÂÏ*ù)â7X†Ã3 »Ézzž¬š0g'¹ílð<Æ.Šº;Þll0*¢À4gopñ‡]…zÛï‰ß`z­’+“×vÚaæ|";ñK ´õô7XB³–$¶ØËßLìÞ`ð6ÖüWP^a4Þ\þ&Ç–îLŸÙàµÎåÔAsbƒ=™K˜ÚÇʯ["¥”*a †cA²äW7ChíÅåãoÕmnr•åQ@wtPŽ~÷š™‘cš¬;­Y&/[¼9³¿¢a±'µ‡œ­¨(I7 +ÀϤ;RœÞ¬:Ìe.pÆLŸ³·Ö¨)°Âú\(Ý'èY`;x%*´®7Õ¶û/•@i«íYê@¤ÆJb™•ºý§Òû&NÛYy­Ûpˆ“¨„\½Ç —Þ÷!`úµÜâ ]Ãß@Zða¢Iœ»Ôèò¥Õ³ÖMƒÙ ›3ü,{5íà5¦±–2cXîU&‹§fMòG¼šýàD€¯8ŠÀÓŒ`¦€ ™€ã@ãÃ;Ó©+•È, p§ï"C×ÎÓ¶9³\Q<”W³|P‰Â› +`(°‚(8HM4ùâ{õN$ AìâèÄæK”+±i<…ÌqÔìžu²…Èq²ã0 À IP’H%ƒƒ8!DÈþ”.W|6Å/5Ê‘0Îm°œäoUCpÚÔ`ò)-Šv€¼¹uC¡VÝxrÀX†¨oÚÊáöÈÈ\ Š%BUNôªAe i3­Œʸ|ú$R¼5˜ù‹ni “;bFä¿ñ»Y #WÆî¨Û ‹o§“×1¨A§TÛm'ßùFf¯l¨zÈÉ?!ÀCWÞ:<†-jîñ9ãM­èqðœä2•ä·ä_ñu’ÜeíøxòŒù²eð7ôâ‚ß-²âÎ` ¨âÐÚåÏiHØ‘~òšKÜÚÁœC ¬â2J³tù­Àõ_j*úüÎ^V†]°)8Ÿ%#!U¤j û¸>CW莜|˜åô«´mU §_´K­Ó˜\ ëç-¦rj¤çž9ä¶á\.'dp^X·‡{ž’(^“B E ”d ÖÙ1`U11Á§3 ŠË°9«ÏæÄ}dÞè²2Oâí«¦ÑgN~‘œRxcÆ“æ''æøG"§vLyòŽÓVq|*6ÿcÂbÔï=ÉVùRñg&œÖÈÀ€?Ãb_@z¿Nˬèß@AihHdòê¸ çPUØ<º'¤tÙ×Ö„jÆö^sý¶ô{‡ï•ý*þ€oÆîw!£Q7“ªò…˸@ÓDÄu_¤ºÅ8(óay²Ãlè5xà J¥žM'"Ö„ ¨ “¸„QÝ‘b;ß.ÀS”í!ÒwXéûä8µ)Ý—–Kßû¶hgÞ=Lhc9Ò6­H^WbÅ!ÝÕ;xѺ¥Ò³—A>^D[ŽÓ‹˜©Ó3åµ!‘nCc\-æ¯Lj¼’&®÷ÁS)‚¶/2Ü“u¥[À +I±s²/¹£7í({ŸJ[¡Ædš®#;øØïÆÉ,Ð [$CÇÉÑÚox‡;5ùJ÷—™ê¤x*»ËY<{2¢NÁ½öýNE·±ÅAµѴ̦É×^A¯ÍNG"“Ío%‡¦ ø¨aœDžšÝ[w% Ǩš¹Í ÉgèKhyíÚ“èUÈÅ)‚v|»'PUA®Ã™A¾P—ØÅ3ûóäèSâç3 °M5¬9”¼ææù±ß_Ví¤ÙZ£Z}Š-D±¡×ëñ\u§¦Ûx§"–<Æ3#T‚_Œü¶ˆÈXÐKó˜…´Êš¸ßVßf‹¤ˆ²[;;sôeíXŠYx^x»[eùçe:<ýi¢<Ì# -,˜É/ªhQb±²UÅ3"/×·*Óüfo+“f?‡’”"ØYr!¿€ÛÉ­Òë8¾hi+qÊ&µ*_+#?;ÄG&ì6wy2FZ®q AÄ|ô*p­MûøOðXÕ«õ¶ÍxµÜåyÇ,”7ïs¥¬ôàeú·`ݹȅI7Ÿ˜Gk ®Tññ˼¥ñ:JëyÊîúUýùò±¦ù¿ðY°‚®6ªˆ]'vñtÄŠ×Ú ¹ðOø^;âöY|°Ç¼ºq\m¤¾#ÀÜuƒ}Ã=–Þ— `.çs™3Á˜;›%Šïà— +ú°±AäÑ{“)×}5pÌ}C¢¦|¯‰ol›\GAñ6 G¹¼QP=h鲆¥ÒZ´£ÈǸ­œ´=;C\ïÖ’x¡8§W•ÌæÏ-šŽ^ÓÌÕ™ˆÊ“0y2ÌàæÇI¯Ü>?˜ =ù‚½fF´îòÇ öø-`Äå§HÊMð{¯ÛGXÇZá{&[¼öÂq=Š [*ÏVñ8ÏIÇvÁŸbŸÔòc&U)jõÖd¨_åÁ«ªa ÕGƒ—‡h<-Ló  ±å½ñ3ÅÏ3Qúh*°) +ÔÛ{83œªž…5ý¸ü|ù‹Ç±ŒóHê§SèeL$AMO ŽM}”lÉ¢ðl‹àðHn¨zvø' +à—èb5½éjÙÇÜv ÚEeä4Äúƒ,yh«%'€*§Ä—0ùu¿aÝ k…¶*ÚßHÕ×£¡Í-ÕÈ”b1´|×Û(¦ ÇÀ(%{QiŽˆ„ Sž#7²Ôå{Šep c“p*ƒxdÎûÂvTzÔh3Ž&_„•x`|HÂ,%rxß +`ù|*óû^ÅCFQ‚œ?Ãc(ñÅR¸3Ì݉F—ëâà3 Çû(mûý-Ë…3c©ÂtîÇ3B”7€-¿êbÜM–Œ—œä® ÷çäa¢š¯.ÿÕœèq†²Nä;kɤÿïËBfâ`X“³§(#žÅsÎ×4¶$-0S¢+™MW?5ë±£‚u¦ÕL 8Þú­9ÇépojNz'Òø4¢—¾ßN´³»3œ-‰a»rj0P9œ=?DoðIu›5cØD9ò`¬%Á£Õ~³ i¤˜¾ŸDùEuªgÊTWĈ&o¾@9‰lÉÀû‡›œþÏç–ÿ_œeÆ]—²np1éD ªåà|s®™ã˜Rèê“8UháœWš­ bM oοÓ?ÌbZ$wi¥¡’Fj]uvRp؆ÀvhÁ²úºqjBú÷°½‰B>Áð`þ”;X¨ æ&dߨ U¿Zÿq {{€Y)uÁ;Y„Ð{ÞˆLÃ{žg†ñaCÇ&¬m™H±ý4 +bœ´7ò¢ÖÚXF=¯$Ó¯O5 ŽÇÚIŽØ‹=†t'¤)BÏ ¦ì\:Uj³èñåÔ GÜÈ2y«ŠjSG±y"ñЯéÌô¿ñ’ËÏ>šµ%šm…7ßûÒ3¹]Û½&X²ö¦~¦º"®s{k\í‡5g|“žY9˜²…kxA‚lƇ޺M½–Ìe…¾õêN²Ö6&(”¸:ÄëlÕœ×)kÖ¬ Ã')M ôAgZBøÐ¥FÒ¡NvŸ +ãã«ÔÃs\´»qâD+w…¶æ\5ôzŸRnÚäTÛqqÓ`Ôuc׬p›xmžKç{’,Øt$Õr®²u 8êä_$@JBQ#e8á÷²TMüKÇD*ºçñU3I­¥)@$Šæ±ÃÔsŸç=œ¸ÚÉj@àÉÎlÍ÷¸#_éØ ã‹p¼ŽæE¯ÉT4^ŒOµæ3Ú:;`ÖU¦pƒ!çûl2áe8cê'«£Oq>{å”ÉÏRƒóE¦„`LT„¥°k¤©m‘m”:€¾fp¹1 ¢~ì=qxÏ9X¨u·º“ã0²‚²ðÿcðP>-¹6Ç®Hh/³-ÑèŠAÅkrøÅvb4¤¢-¬´ß³·†‘,L£Çô’§UAµÕÊI›(ø«•˜zÆÈKž|G ‹$M FŸ4¡±nfþêM£ÈCÜgÎiÄ»pè8©€öæÜz[Ô@¸CN„HpÝáD€ˆBPtÚŠLûžû?[|@”'º`Öflr j¹¨ù"²M‡ó~òw%¼ævR|Aù]*ÄJçmø¸Ìh…­Cqe|ìzÕu®ræ¹’-lÿpÙ¥pëôž*)´4p€ÿã«<nɘN|8¢-б#Q¨Œá¯‡l’È-Ä•¢Ð‡Ü lïri79‘‡H!ñ¾,q_"é?ó‹üD=‹~–&ź‡@†³ù±ÅÃ1ý7„œõt¹‡Å褪ÏÌÑ#U°ÝŒ+VŠ–ý +ˆƒñït«Íúae›ùÀ¦TQJà&)òÒ]#ÝV VyOÆ…œW‘ãÈr<‡’ƒœ7Ÿ ‚çÌ!´8GšÆo°›V’i‚3cVÃáêÌ© S 30:F0éŠ g`ZüÓªÉ;8‚#=•SƒK (ß§ºÀiHOÚnÛA|6•sQO厓2¯#ÝYŠÿµÙ]Ì;Â4y"Ñ'[­6o4’Á¹ñ“$”ºúاgŒf3uù å@>öo;QcN…7çOý3èqßãYåÊt;™1ë~Ì[Åí_NŒ%jËHkÕD–yŽÈ–møû̦>”n<Ï m-:z0nYH!bò’Î|¥£ R·ÜÁ[ò/œûì!09ÞråÇ`õ~À•yp’5a¥w½â »üèÙ¥Ó)äTÔkÜÈ¿uèŸ÷eFOxœ ö%R+ÁíóÂÞrCMn‡ +7ÿÃ=¹zÀ¼ÜR0d£Ö.|bã¯ÛçÛVM?)ú&˜k؆›¯üïýÜ÷ªžÌ5‘V2Èg¢Á?!Þþ'ª"É$¶í|Áêä\í+-ÒæäÍõ³ûmç¨=¼éb·;[,ô%3Q:CíGg±ޤú ôYXéwä^*´ï9Ý¢ŽoNOíiã +­íj‚¨Ü~÷=Q,?¦P3pã΂h›ÎìS#Ø-vÇý§NÿÁ`‘±“b·uùå#Þ§  :'NfŒN¨DîÃmÐ æ W> ¿?þÃÙüÞâ¸[Â× ÉÎïñ{ßTö{ox QUyQ?§¿°±%éÌ>9|7Ó!Û!'ßVSONT>nÔU6ü} õ=2@ª°`ì}ñë´N‹.¹A@Ú»ÿNñ¼‰g5!ªÛöE^3R³geÆ\SLК"uÂïd:Kθ=¡”†7J©¥áŸôÀN(ÐE.®YÁoQdDÇ x +2DP؇ʷFÎÁׇÄë°›„ï"þdÏ4ø5fìÈ1»ëøþœõcÓÖ„Îé«§qP¾.p³¤¾˜¥î §ÈÿáFvé€n|Ð23NhÕ¯¶_Ö~)«ùY@A*˜mfjähƒÔ;"+ÿùþ+ô„ô$ý«(ƒ ".kÞ×Á¥¬«õÌ hʽ£† C"Ö?«÷I5•¦œ®wPõ„Ì-ؘē±—™ÀöÊ×+ÜË L¥®DÌ5ÿŠÏ2Y;S8¶·ÛÂŽ±¼ÇJŠî”’>líèEFª J.?ŽRª IyËjä,`¢'#k"OÄÔøUÓ œÿDà8êi`"Á@h“©šý”9RÔʉ—t#ˆö ”¬ð…³EÛœý„Fü§½µN塤P§(V~èâortnûÛsz½%5¼f³@z˜× Ü?9ê~tÞftù¦áa[Ö˜›YÎG=¶zÚ;[tD2¢ÒËÛyvI-1ý ‡ÀÒ”Y*òÌ[  ®è¤,÷MuÜV9™hÎ&©â^‚ì ^dŽ,Þj¶"¶*¡àHP`É¢‘°ÝK¤ÎÃrDÿÛÛiuebuˆé/ÍðñФOµvJX ¨‚¼=ê…ÁzºJE“!iKRX‘ JŒ–îz’1' 5v~zY)\˪€:§}Qw'—¦nä@ˆ²”硜õtµÔ;ØÔè’¤2©bd%àµyKž^ÊèÅàÿOà`¸5k"Ã&uú†e5Í~î33x¦Í­e­ÆÒtÞ $…*|€B,õ£ÏÇ”åÚ€ Š8® $FZ:iî’ +œØ KQøŸ†Û÷DVOjþ& (¦+U„K¶‰.Ãf´Ù’ëé„Ãü 3êº.läª5å=Æýz¢6Vúbˆ¤qc¾bÆCœÀ}Z(½›6ºMž/ÒŸ(ß½/0”ÞYãPPBîÈz +šÔ®ïÓ‘$+‡Ð~pìx}_XÜÛ %1ó÷ƒC,)ÿf‚ÁÜ)¦¯óZ]‚n±ƒ®wlu†%†¨ëÈÐ K‹cyûv·Ovò%Ø÷†uûJm5\<ÝuH˜ Bäy›E&_Œ™ç…J;ÖÐÕÜ̈ÇJЄí>|¥©8M3ã +b‹Ä c(y¡H–Wý‹4ÐtFûgmºÏõry¹QÏãþ —•á +1"sýû QLp¹ AË/˜$Ž%[ƒ>¸¸šC)Ó•À««‚8´#™1€2WÙõõ«Höa¼|d8&FâÄ„I¯6½¾×0Ãr·ëœ{¸ºPÜÜ$Ý+Ê Àó™HÕ›‚?»ÃFbÇÉÒ¦ pÈ\:áæ +íR¨>:WS¤ý’Oy’ Z_c p¾!¹}¼÷q=©á[Òˆ³ÌÌk»ÿn´‘:¾­N]O·çÖß¶L]Y<ŽÇ3’IQ޶=V(€œ%e­w=O$‹™ä·%èæNá»ãˆÜçå‡Þb±…«ði Í7ƒÀŸ–—SÊg&~å•P×B™‡GmE„?8sG|Soõ»z|ŸŽrV&Üô{?…¹„0ž•ý.”ýÀߪSŒ›žå}k¢X邘gèzcBª!le; ¾a·I¦A +š¡Ï)Á)ûTíL’»Ý`• +¬˜'NµdÜ£"yƒÛÍÊL*·Šù¨ÛA&Ÿ¤ÜHJ„èê:´˜Pu¸DUF—è‚Øöâ¶ó’B£y°0.Ø š ~všþêf^—ÄC82l j&›cçuÍû30¼Ú}ádˆï©I|#,¸‰ˆq‹|¶T¦¶|q~ÖOÂLÅa0y«î8ó)?²®5Z.ºGè¡/òÐüñr`…û„k7³_#UÀ27±deÚÕ}2JR›û*Ÿ“7!Wqi?›[°A ïéW ÆAL ¨ýbÇØÚ‹+¾gJHQšÐ›²bfAƒÚåsjßþLlÝü„h_‹÷X.‰ÆºÊHÏèò +I{p/F7‹þ¹~P>¶M6v¨Ñíî5¿NçK3C^´¢vâKo\Ý/Œ›óßÍŲR'!ÍB•U+%£“Hˆ˜ =’CÕ,7Gh×G‹[°Üîq=Š–'WÜä×-jÂFv‹Þ.{¿©ÞnÀ`}~^˜~Ëöˆß,rÌçÒ 'm3uåá)úÊ”CÏcA‚*†=!}I¤‚€ ÐB¼Ækyþ÷¼ •׌]hí JW‹™/Y¨h_Öÿc‚I†”3mÖv¡‡ÎÕÉvÈ "§ü`Â+ßrKƒ‹¶>ú·‘HIS“ŒÓàœ,»´gÐ`äÜ4e¤a§·ÎDA"’d²ÅTÌÏ,…P›¼=/ÿPÖ¦š‘u.$Aö°%Eué]1 !ÝWĬÕRDÓÂPÚz‹Iibnnl¢O gd]fŠ’)÷<±öOn~(‚ÊéÚ¼aܸÜÍ…zº~Ùwnv††Ùܪ>Žq”7 *!<½”"DG|gâG"Œ'œ¬ Ý´ô3˜ã6™ŸV7„à~íB¡)üMàÁ_^z æÎséB‹±ä¤ €âm‘Ê.ò\ t!¾9Ø…»–Úåfí¨F¼4+œˆ£ý³Ú5À`:3‰ÜÌéR×|/À w}&Š)¢¥qÇ>Zue&”‘ƒW¤$ò„ñHp`ñi\ý޽.:Â×Ä&kw֯Ƞ.’üGˆP‡%-2nb”µ<ö3øfeG!„$vPêòC‚k«ä÷ã# å‘ÍLìª ×|f¡èÀ¶.H¸ïv©¥m52š°Þüõü\<‹Fr0>ö~7«U¹é6)ç8 ð›ÊYÙ/‚5—æZb;})µMíþ+¦¤ö6”@YW< [Ö 4î7Ô÷&‘c¢·¬È"™ôi…qÔÛ¹‡Å!øªM +ÞdñchÃJrýo¶Íôå¶nûˆ……£ðsÃJS{;Œ{}À›ôæÔF>'Gì„"EqØÖ%§F¥l ¸úxì€M’4ïšø‰ƒmÜÌ¢û QŸPL ”¯º™‹B.Ù;.FZÿ#èy2‡wœñê³î±ìµ²7ƒ_s««–œ÷ºßYy0¥IÌ@qˆj‡ è´I f2ª‡¦kxU±åÛÞCU«U{‚‡îØþú>r‰ä¨„¡ b[s`?"¤ÜR€ÆŽ¯Õ×´Wæ;ÎwQæÝÓD !X 9C„iC9;J3"2eOšLøvó„2}ª€ICÐjÒñþ¶Ù½»›^ú#|ùÛP¨˜0…^M·b3þ«2Ä%ÊG“ê/ÁCs€c¬ß¾äºÖ;€•Æž#í¤„cÿŠÊŸÀ÷„ÎÕ_»¹4÷¹âA^·ô«-Q7ýRƒ"4µ5ú ¦°|õ‰P¿*½¬{ÕYnQß:ÌÌFÀç¿ÃÌnÔ^¬f~ÝúTîÍ?Ÿ™öÿ2Ð=š2&3¾Ê‘uPº†ý…Õrì¯U¥¨š ÷íæ`å«Í/àèà qYi%Þ%ÿ“¡îM +ñ7^Û! —°ço–®zHEýñ¡Ww\‰¤^ì1ðŨc"³ãN9(Ž'F®Î_T +|ÿ`“_–¼nná}p¹±®<Óù\¹î 戂RHFÚ¥o¾’àX†·ø ÙG!­±'wTæh +Sf[9øD{W§Ò­Ç^øß±Ü‚÷‹HòFùòóZí¥O%(¨ÑÍš{^·f a.h/ŽzàÚ+ø[‡‰fD’ÏëÐyK=¥…¬ºÿ$[ê¬ÇúùÕÑút´HÁïõhw.Æ`É ›ݶ†éó.øØÏ#ä8¤U%ÏðF_§¯c•æüÃúOÓ¿5ïW´ÓŸõ´–•ÙM…ÛÑ©‡*â×YÎÉ œTØ7x B±jŠ'ºì²/x"˜9p´Ä’ĽƒAEÔ‰›]°˜ãljg ~ý·¿ +òÓM %\:§<('Š:«¥ø£77ŒÈ>…Å}‚wWQ÷£Z&Äñ ^‹”ý‚,Øúÿ.cU1Œ§–áÅú,ÐPAf&k=4]Ò‹×mèðü³-µÍûÕR¼T5ßH÷[¯Xo¤ÀËv …Ρ2/‚wÞŸCö²ò”žn{œ Úÿc)•{µ˜í ô†Æêéçöí3xkË£o2[ñÊX¼•èχÔþâ!ûžZŒ‡¤ö!©ú‚%hG(·hßz~æ×AÉ—l‚‡ ]Aϛӧ ­‹Óîë8<Äp-‹è®Îv ,£…Jsn›Ñ9²Úš< ®Í st®f׿|þÒ:G>².‘ø¶”KÒ‘ñü¤ê!c±$¢+8y%Zý:誀Ñs™€H,Þ×^Ú©^ª¸F¼’°ŠFёޭ΀ˆï>I8ò'} €w4ºI×þDSyÆÛ¦ +p‚)¸—»<ð Þ @/ÄÑCÿ@ƒ»åâ; ša0÷Ö¶!9öý'w›ù=‰Ü~XGÀã¯rj»ŽƒódgDÌ…„àÀ:Ht¥™•N×7H”´mÒaY¢p,_‹1ö]¢åjãŒ8š¯ÂÉ‚Ú=^/o}õ÷ê•UNoó"Ð +ΜikIKpÂÛ8NÔâZìpAM%Í'€ÃceÙ²î$ÄÆy,åZÖ²•ðÊϧ0Nƒé~§ ö!÷ž¶•ä´MO+Ú,îk_F[XÌÇžƒi7È*láR±­X5{ODœµîÈ[ÅP§MMG;þÅOt'êÕè§Z=~ª(}~ª‡6H-Ì‘ª¾‰S¥µú©´/2—lJè§#|T~ X {ÃËŒ ¸Øº_‰7½1áNµ %ö0ºÇèä¤Å z•}hrK°¢ír*–ŸÓÊ‚;ÿ%Û1úq‡Ø$èé·ÁW7Ÿ<õzž-piviÖi0o¯Ë<å¶ÉßV½êRõÔÊgµ¢ôl>&‹–{pesçnÕó¼‘ñùö‹'í¶ýâgõêòØbë\ûkû".¤Cë–©B€Ø˜~<â?-LëÙü +¹qnqó'-BÁ38•¢¦„¤x°mŒv)t<± =ÙlOA¯$‚v˜[Ê Áo`>e‘îþ¬òé'$!ÌåÐiÜÑÔÆÂfCÒ [»`rNTPªftÂì=ýÍaAí/ÄisT?ŠŠ2ŒîcìÜ©ÚÀ©Ÿ¸Ï ÉDZ_}$¸P{û 5´b·X~›‡l¹š$­[¢„x:ÝoMX©û´T¢d§ÇûÇ·jý²Èf…ÒsÞ÷5î?Ö=6[n ÜØ+Î{e¹W&œ÷ê¶y[‚í+fœ!Ô%îlâYêemôž$P¯˜8èe '½˜¡Žz ÑOVqC-mk½= Oïg«Zõj„ý0 z{ªWÙÍ^“„Ûœ“`ßhu“݈H ÞO8èå”ïÜ-Â^õÈüL‹^±eÚËŽõrúQ~·¥ð¯lõؼ› YRIVlvÃ;6túÖÍ[)$yÜÀ€,1¦hÊÉ‚´ÓŒí»K+{s…löÄÊ;‘kõèÛ§‹ÄIm ¡û|·[ŽI„;Ø'¥ú¤p§Ï®0H(iJ8ݑ´Ëß×3‘&:K½}£´ä_3á΃ ¥TêU¢4ÞÑÂ:S !æ©Ñ7¸üÞ¥y6¾}B%*Õ4&:]ÅôOu©öëŒUŠÉÖŸ.d¥(• «cðªÍŒ§hÏS-Ï“åÅt)nD>E‘×}ŠU¶Ÿ’”“$39B1ûؘN4žb)ob–”èó¹Áúpëj¯«ÕíUjO,v'}Š æËQñ²9‘8€`}CuIÐg%äU‰(79°€ƒ)Rªœ »*1‰”ËNëUd8E?8ÝE:€¢ ýR' Ý‹m°*Ø œ‹è#©×E-”§b0V`Ý¥2Cgž’ÇRv%ƒÃN¥Ÿb"kÀ*µŒÌ)n”6q<Ùu›»Ë²eYœ @¨ Q«\Pš Â3VEM +œÈ¡«ÀËô@hˆPÖ& ï`Õ:8РéHds€—Àê–d£ÆêA=•ÝÔT÷v[§X–ô)–’’>Ч¨®ŠÕ°Ü”©wC5íqUîgJ•ò@Ÿb I+÷,h¯^ã®^]©Ú¯ Ô¸Œj£:M@H|ìêÛj Ï„È +HR>ZÀ‚Ú- ^³qG}Š˜VÀ©â…Tí›J.Oêz]…¹ÓUè3AèS$×z‘€¦Z;ú5¾õ`ª­Œ.Y\òòp¤,Ÿ%ãe«Ô6˜ NÁ›³ZBùúÐØ)ãg2)ãÒÇŠjV6;¾ÆÔP]F™VjQt·¹% 6£{Žæ²ð¡XÞ$Ã!¦úÅÜ"ÖHõ)†°  fkɰ–—иDÐr"}Š'Âøœs-Ý·¨T—j¿²f§„Ÿ¨ÀdU¼ +žcU« È…_…vŠŸhQÉ”¢’%¿Øíëßí?¯$> £$~¦™lü6—;~)’“_í‚ +;¼º' ×zÛN´ùÔ¥S`L®înW±B¢Uœ@8¾¢ôÐX°`Ðy¬qf°¢fº,.âÉò›MZN°t!Ó&GÑ3$S°Z$ÊUOW± ŽØE‘kSjÈ5ƒ¯cÚ$º\"$+ †ü5ØbS`£•€ƒ‚„ÃL‘tA?Pn²hÈ6è¥TáíÎÖÃ!½6ädpªhµB±%bjÜŸ`°`Àm(­'X 0š‘n·>Å,aAƒ úÙ8½oÕÓ…Ê(@Ë£è9ºj`ÁÀèÔŽ@€4™bSð'5žøŒ@Eø!”P"I¬wROúš‘ ÞÕéx \-ƒ«z:‘í{:Ûi§«NGÀà¬ìb„W–‡A*¥RÖƒh¡,X04BcÉ2DäíAR"[ãY‘Év!+še lÇœ+ƒÕ<!–°±ªNfcÉN€±›Ùíb+š‹u,¶°Xì63I ‡Øs§€ˆ€”Ÿ,M¡á/>…x?ëc ðG¼*™NžxÊX‚UþX†ÊâH¶§– +~‚;"„K2f±Ùø¸Îy#Á‚Á„yª½•+rÈ0gÈS5V¤ZRbdI‰Ydq)%Ã0ý k{¤SjeêUn¤ŒÉjc¶€6­wð;‘Ðr!Þ€å¢`^”|,ÿt( †Z&×ñ¬n ¦ZOÊXÖ2‚|áÕ,2ªëØ4®„¢gUÔù¬–̱ÎMdq¤wöG¦q#žMës¤ƒâ4¢ø’ ‹‹ùJ×7:'I¤q'dårÂízÕ:Å1]qèNºÚ»Ãa¾Îx§¸Hõ)j4>®‡yôòÙòDÃߘª˜­|œñ1·ÕAŽEšUrõ9EÎŒO0Åšh"À1Ÿà—&7Añ9ÅÑ‹;oB +óèfƒy’×ÇO%7Y5]ÐKQêjÇkž"_‰´Qµ$ħ€‘däsÅËN"2}NQo°Boj$Hµ¸_”zÜðîëc–C¾öŽÇSéKMîÆà`uKŒâ•A˜Ñå38‡Æò¦ëi% +jh:Pàó¬Óx.,Õ£7VhüKÅ8À‚¡gQÍ¡˜ÍånZ’ÈèPl±µ²dw¹qjÉ›9$7ŽeüІÊkÒ}ôæšF“;R0Õ>V+žlhâ[<«d“etÁe§È> ”¸> âËT=Õõ› „NH“ëE¤Õ5øó ìØ”}Šd™Â<~ ¬núÌj=/Ûp`p!=YžA‚Ô0•êkP.IrQQé /&µáÔ± I2Z’D@¯±f{©¿Æyê†=X@MR °7ªáUþq¢NÌbàÆ×q&4IÎâÔ[M€ÙDÄe¦’F“K  Ww¼ÑN1ìèSô <²™›`h£ÛG78þ¢ <9š„qhÜØ7Š!è ¸WÛ8$¹Õª¢l’hvN¢/;s,ó}Š Èõ”—Ù¸!Ó(€,nóØ8Œ€UjUñÊ¥Ÿ8CGÈ „<^;ù^•ËIrãT…ãU¹“ ýò·º!g‡@)ˆž*ÀŠò ƒ˜Dy¤ü;6ä¥KüV6òPâÊaÄo…kâ×xlT#'?åD~©*t2 +*K›)úá\J•Îù ’ ½$þÂ(ùyläwÚ6ðuâwÙŒßh‘Á¡ˆÏépõ p¡®”«¦(Ê¥CàBQ2X@%Aµ!î†Æ¼’ø"8ñƒå€3~ié?ÉIQÙøIrMüB¼’øP‹J~"\nü8—;Þ¼‰Yψ3~\nüF/ÕøåÐÄè GŒ‘êSÄ%ÆZ£¦¨}µvæh§xm´S¼4ZNFK4\§x.D€ëo¯•kñl­­•ÒÉZ9X«D€pS¸V«@&Z|§Ý ()D,>]ÊF:G<i'#•R:X®E}*R6:ñd%]ëF²‰¾Úèă‘n'R`àÒÈM0ŸÃ:S`NR b÷™  "H?äõñ«# ï †Š \ m4G¤æUOwWßħ•¾A«”Ϫ¢Í3«9®àtŒ³j ³Ê A3º|(\•ÄĤθ2¼% i.1aþì¼OÃ]äN§,‰‰M\¡ l=˜*I¤ßÉœÂ|‚¿¬¶S#­µC]FÀ*¥œ¡wXXtŒ³ªàfu,)1‹ú$‹»¸‘°0›;y*ÍÈdŽ¥HDã )í¿£'~‹J~ŒR§±0eØåèPŒÈUö5ê#éM:««¥7!©õy.˜grŒ_A\§®öާg +L€9EÒ§`G4"‰ÁŒUjiBÉ´ˆ¤ÉżràdùEÃ/V©­&Þ#½„"¸¥KVmë²h$ùëË­ZR#´2êŽ"ëÇÊÉò kÜ´V³‘«‘ +M“Ûm¨ŠÓle% ¡$dÚ©‚Hž‹YzHb¦Q&¥Í ‚GŸoíPׂ>ÕŽºÜ|ªí‘™HùܦZ^‚$ÕC]#Ÿ§š–%e i;˜e¤ä¨M®&A÷”`¥¸„×7¸ì¥KüN6ò;k³Æ£ä'@;ÅoÁ"ßè€3 + ¿Þ~3ãz¶\ÍãÕ¸•ŽC’ ÃÕ­ŒRŒ[ éN%¨²¤tª]HjKÍylÕøP‹’ø¡—;~-ù%ìîg0k=È¥ÃüBÃÉ\f>f#£ãÚnœêÙ}3t< Ѓ G´ô&:X% ÄÌPœ±’ƽ½ƒb°`°k!]b¤2F$š]p;«‰I&F* C§hª/¥JÎÒªé€ÏŽõ!Ò „j ™Kqt*¹c]ðÛ(X0Ôˆ6¿S@\æINrª0 ¦»Ü^¶@Á0êáuÁp`ÂT»{íP†ÒV”T´I±£Oñ H?õKÁŸ9%'Ãq–¤Ñä*6£ëE7FL?Ét„èŠø‘¶ƒÙŧT±`–e9ˆ`Ú ¢ÑðÉÑ‚PŒÁP»L”>E-bìÞ©xrV‚m³^D<ðªu½žÅ«–!y›â¹FРØ¬ï£E€… Á¡x°j…,­6¤jJÅËŠ«Ô<NQĦO V©ýЧZ°`5~õ|ªå›»Ë¼™Õ ìdùðò©VJ>xc¦o;µ£OóW™Â|±ÑÔL$Tš\å„P¬GANTcŸ²Åø6­—’¢«Åe¯«]”ºdð*IŸeísŠ+•“"Aª]lšøŒü[!_ Ö㈗¯týæ-·óF“û@ÄdUÓ1%4©.e·É8JÌFpdúÜôbàÎÊî6ɉ\ÃfÇA%¡±ÈMVµ^áÊ'ŠY\k(a|I¾Éê¦cþ„ÔˆRó&¿ÑcJ\a9HPã¢ßNߤAri XJ(©\µ\ Y¹xO4|>Ü6åŸ[UÌ*x#"^p©˜å3¾Wåöï`åøt(E—{¯­ áÛÓp$pF8øOŵ$ÈâŽXš‚’fÕ¢0ˆ+ùL‚¬®¿„/7À‚!Ü`fß‚á5þí³ÍLãN¾ŒêâñFÄM—¤ßN? Š!£×tDŒ1ñla|‡#ÁWguQÒT¹(ælµfƒ1‰Á ÷§Cñ•D{\•{¡˜Ý¦’ë­$Ò¸|§R`Žã¬næ\®xÉF“‹kûœbºÅ,ǹñ)•;bN–>§ØJx•{$mt °_¬ á{t|‚-‰J q¦‹§j;b,P©qÑ“Õ[ÓG…̨`0wÖï?üø=䌨Û¶÷2¿þ dÀá Œjøû[›¿mwq‹Mœ¯¹{6³µ_þÖÚ4íÖã›ÿïÛû½ßû¾\oüÖÌýš—O¸y­™±Ù¹ÞåÞf7÷Ö›L¬¹©wÿÒv~Ð=ó3ßoqÉs~l­LSw¼·Æù/þç—góÚ¿›ßߦÎV›Ûþ ¢7/¿Yc󖦙sýø;yÀÖæÞ9Îæ-MÜsSwloÆx›Øf¾ÿo¶|ëÿl9ÞXk;·œcÝ{i±ùƒGwýÙê2÷Ì3~kÿÆw—æó·¦ÉK3çží[Ëí[ã·}›ØÔ ®IÂhwý|³ÅYçþÙüoþ †þzß]jÛ÷—½ë¿›ÑÎ{ó}õå!Ø`‡f{s׿m³MÆš3 + +†MÏvçmbÞzïörŽCö±¾ºç‹·ÉK“ó®16ËÇ™ÛÒâkùÍÙìfÆåÆxc^jSãlî2¿Åúæ~õ_Þ»¹5¶¸4{Ö]ót,^ÁËfÍ>7Pß–çÍy6õçkbû¼´¿ÃÍj5‹Ã1cí +×5÷¿¶f‰ñ¡_n·Öø±K?æýê¿ößjÞyi^ýƒK[Œ¿—øÚûWëû6·µüÚç·—öjnÞwþ[êþÙĽgò`ïk¬ö²±R‡†cÉ +`˜m®}lÿ-F°ÍN5lFh®[ÂÒ½X=‚kÆ›Ù2¤Ý¹~û¯ñHãÙ`¼/Þø–YožêÜõã~ï.ûͬ†`cñ\0Ã1cul¾¾8_³äÜTÃdÒñk®·ÉmÆ—¹›?éÖjm–¯wï×$µåïËóásçvcóâ¬Éßû{?è¾ñ5ÉÃóÇ·´&>tkšWßçøÍRÛ|Жï¬oœuyíÆ&7ßÄ9ßœ7<›¯o/ùþ«Ín–ws³wžMþ†Ÿô|óæÝ,oÖ;k»·ÆºÌºOúÍ{kmòçßܵYb³ónÚœ7.ÍçÚê×{®½ÖÜeÞ9[~kܝָÍòíͦ™íÿýã|07·ßõÞûp·6;Î¥Ý&Î|ïmËÍ1yÿò|¯ÆŸK¬µÙñ¶›w~ûß7ßZmq¯ésþ8[Ëkš÷­M̹ٻíúÞ{û~[æÏäÁ41ÆYs›knêÏøãœùµeïüZnﶸÄùÿ³6¯Éwþß¼¿Æ%N¸{ó~í}oÛq.±ùoÀáöÜÿî/Ò÷6?cžM­{©9ÿCÞ›÷nŸß÷6qÖϵ-MÎñ6-Ïæ.yíöŒoÇ—¿Öf6ù µ}û6_—Øä_0¸¾¼üÿð7[³÷l3yжÿíüùþþ:›¸ü[;ds?Þ%ÆÙÕqæåÆïÛ»í6ï’÷ÏXëÏoâöøu6·©9y¸›šo?ίïÖØvò /Ö¯Kk~¾ÚÌåçÒjûxïl±iænr“ߌíÕ&ǹ´ÝšwÎ{Ö¼W0À^ű(ô` ÛæÐø ×ÚìÁêCß_0è``m +†—͢Ϡ`Áp’¤b–2 Y&AÚaü•ÍŽI*f°ê.$záЋ¬«] BLÊv¨KæXÕŽ¯TuIÚÈó0N]m@@Q6V¯2R‰‘Jv}$GC.‰'u}&⢘® †BºžÜ ×ø8QDh…`ªõ•¼œ~=uIÿ7fZ%‰´tà0ŸÆ2%2B˜ +AËÅMÃf²…•¤Ê¼aÀ‰7¨TñÂlD!ÈBHÕÈÌ8ã $ ÇäòP㤀tT8‚@P"šE‘@â ˆ(† + cŒ1Ì1 ¯ù2^­÷óáúý Ëë—û;¾~?ÿÊúõò¯¿Çû³þ˜?ƒëïñþ¸þ/ãÕúw?®ßϰ¼~¹¿ãë÷ó¯¬_/ïðú{¼?ëù3¸þïëÿ2^­÷óáúý Ëë—û;¾~?ÿÊúõò¯¿Çû³þ˜?ƒëïñþ¸þ/ãÕúw?®ßϰ¼~¹¿ãë÷ó¯¬_/ïðú{¼?ëù3¸þïëÿ2^­÷óáúý Ëë—û;¾~?ÿÊúõò¯¿Çû³þ˜?ƒëïñþ¸þ/ãÕúw?®ßϰ¼~¹¿ãë÷ó¯¬_/ïðú{¼?ëù3¸þïëÿ8Yï“õ÷>]ï¥ë€¾é­¾û_£ý÷ãþóHtMHÙ@`â'z¥óhoŽIP'¯ÞÁä¨å]½ü¼«´èvYÙ¢Ø[±úÒ+„§¥Ç2¸Ÿ»¸-ÀȿֻàV€tå¥áاMËÿER.O£° Ù¶‰“èfÖRѯ|Å»ª|M’V<ªJ×d‹+^Tej¶ Ã¦úÔ´J_ßWîz—vo¾bПWeãÒØÏ¶šÄNÅaí8ÖŽfCÄ\ 6÷ŠlÅ2P‹•Cß"êÅòp³Y"±Î¶q›ýÜ‹2ÖÈU`ÌÓiE¤}1’ÈØeç|¤GrÇîHn¿E (~L$øý~íZ—× »™•ádfõÀ7îLX½z0:t»š|N÷Sñ[î +°Ù ¾dcü ©ÃÝš>÷nì”wÊ€–Ì‘‚´&¹ Paòp( +{RƒÉ&e8×ã:ý†ú\í£*¬ïÕØ OÛ‹.zûŽ m­Ø]¼títì_Ž7¹º$N}azŠÅ±C>Š­ZÐ +-í×Ô9ètx‹ê©j®äΔúÖÊm`ð5ÿûÑÅIõà ҃Íù;S8©´3{SÿenXºë®l%cØbµÁ•øZlÚãð<䱆³Òò¨ßŒ x1_…Ý 3©ú¾}hSI Ѩ÷|=.äŠå!=tm!ﳊÄc¬¦¥EQŒâ^ñx—ÈÚâ*˜£¤=›Ïèu}‡ÕÂC÷+à&]Ëâ4Ö,‘|íˆJœÃWö& _Ôó§—“åè¦/òê=åÌŸæÐt+©`Àv“i@ý¸Ä lF‰³@"êZŽ!Öý$*µGOk¸”¹g +¦2‰*Ã’Ôt£©i2ÒðŠ79jT²+Ëèƒ¤Ž¶_´¯E0»×ó©'èìt…‰½1€..ãÜ_->,ö¯cáøJ¡î—«/Öè« ‘H,h¾)^IôCž-p$à³Má,xI±¾Éu%x«;‘ÎC¡}dd€¥‘Z‰i`‡ƒIƒCÂ0Ó–Y`A‰Ò/† ˜´2͈Yà@¦^*ôqñŸ×·¿ø¡áí?b*µóžc­ÊúVM­Ï/ì+£ê*KÞ0SÊ ™ì[XVßlÂö1–– °ÁΘËs"ó’ñ¶­Z=§×•BóÀ2S“xzH’1µ›Zn£¢œ,¤C’Õ•rÍÁn×–IZIµ6Yff1r›±Èüï»´ç›A¨Úš†™—m,õ߇£Ú¾m¦– ¯+÷K*ÝrÜpm1B‹,LÛ—[¼ÅŠX{–CcH ¿hpÂ'qDé<+Qfˆ:Y–߸_—ºÜ8ò˜“o×L9ÍßK €WF/k÷¹9d°Ü@ò–§¥^;3+© +ÙO Ži»ÇR£|i¾N +—Y¦<µi7‡àþ¤H©ü¶1Þ-Ñ·fnâ@°çåÖ5jÀC|ß¼cÁ:¿ÊâÏó0'rm@®ÌÍÚ³n}pI?€ñWC`…’DKo½ Èɺ©Zl-ï>èm—$ŸÔù ïïºöÿ;Ãa £VfvœÉÒ °à¯F–y@VžÃ1VÞ…üuŸ‰°”¬ sÉq™^MyµK¦MÈNÇõ4YS¸'R ]nSHyÞ7ÜŒÀ%…JÐ aaö;*/Vò)¨ ¾Ó³×LzRfõìêØò0ïØ¼#ÙïY×…® ß¿ÆË×ì*kr{­ËÙm‹§w–›¡ +XÞ¡¡ÞÖŸ¢cƒÒwy9êËUÒ‰]üýÁ·â{MAG‘– à½>”ši¹2€«œä2ã,7¬)VUŠN„Ñ{g²²&Ô2Áè¼éqüÚ¾—¶¨S=ñ[;ÑÉíAÑÄpšù‰ƒÇØÔáS +ä–ˆe¸Ü()·&T­üäÑä¶ñ ”*Ê¡•\¿?Çl…1ëífwþ“y‰>V§ýzD-˜¡±Z±l…*Ë7yÛ±Ò:`™²ôbæf‡§¦¶Ö¯›‰ËµvXHªÕÅMŽ?/,côÜ~ôx•K’øY›"ç1è*FÅS7ɯá*»8³P®z©&´¨=G¢¯?âdä± S¡rŸvJyïãrïíÒ˜Žw ÒT‚£wW,›‡vÃÄ:º@÷Ì0µVbxcñˆT]†5kDÝ—]\ÙwwC†rK w±3qÆe­ÈnMnçËl2¶X¥×‹XV‚Ábðñ1ûû/)»ž¹àËil™k ”R³ì¨Ã·xK€-ð‚ãö£NÄyM­¿pbN¬tàð”wˆû¤htZ«è`¨Ej£c øZUtÖ®ßè Ã¹EºËÙ$µÑY숒¥èDÓ5:dE)„ƒGëô4º£$vâôÄô‚£t;äÓ£‰_Ç +õ„pDxrz|¨£µOrzö¸5£´¦Yáœ_mÒŒŸŽzàS¬aÀ ‰ÎÌß™iD=ìbNÏ&7êY˜þœžfÄñqmÇ«xð@=Þ¢žÃ¾ Ñ¾U®º…ZÅS팖ñK!R 3L_ë’߯‚ûÄņºKÇÌ-ÕµÃ÷X)$RÂAž2ªXž»Aµ…H¶ 2 ° ‚šdGÄ7Yü›*¾Î'6Ëk¾çȃ ŸRmú âe™‡ÝtÈ>“MFý3F¯’ +뻆^ôG`EáúEdœëHtT ñGuá<Ð"Ç r‚潑Á£ýû·Ll® æ{NŒ‰NZB…ûl2O7>pЍ4jßDt×V»fÂÌ$ w;Ón'tŽŠ¡õPÓ&ETÍ~2AšŽÙhª¸jS[ÔÖºe†D(éÄ“Q2 Ûrãz­9ƒr`æÚÑøâ-cHgQ+úJKY‰1D$º\– {ñÐK+´"rˆl´Ì²ê-ÏüWxoÂâ`’ͦ1ˆY1û‰$gbïX¼j¤È1>¡Ó‚×q¹˜· DÒ[[IXö²Ï«¨L QîÈ_Ó‚dÏ3buEüÔÄ`°ÙXL¾Ö¨à£cÿJf³Rx€)t$]¹ÎZèõ-‡)âßÂZò€O Ëå/¼_¡¨Dð’]ÙoŽçïOŸ5Oá͉t‡t5çýëb˜’à‚黩Û幯ŒêVÀ§xA¾__…‘­½¦6éjÒ×M‡r;;&Þ£ýðBG8£û +î ¶Û›¸ª€7ã®ôoT‚Rž7'KÆ6O®ÚRÀ¥&tî!Z"/×]%ØFq_ú¿áÎ#}Ÿˆh >lp^ùFm«1&{¸Îv$à\ _,b‘ º½jRËûìµõ4ößÀê_‡MÍU¶Ï¸ÂŒt¥-{m¸»ÙŸÍIÙ +¿~ÿ«¶ ÿ ì×c¨Bá§Ÿ,ׯá¦BŽõºØ¨é*˜ŽoÙÌÝñc¤¯<üŸ0ËôªÁ¾ mšW‹Ðœ–k\Ï+~_â9%ùÝ2¤ÞÞÓÉÎVNî,y¥ÇæS¨Áw‹ô§EýâÔ"ÁdäÙ´)˜Gö"þÅÀâqô1 1è]wiÓ‹BÙRÜFnZïó"¸J0VUР«e¡ ‘çÆê!(³Ê÷ð?XñRϼ6ŸÛ8ÖNAë#3²ŒFY Ç,Ÿ‰Alu R!цªÑÒ_x¡7sˆ¼²E¼NC¨Í[1;tH”| ƒD®è¬‹¦Kí]mE„ó­£b&·ºDƒÁèY+G@úZá·tGáv @½Ê¦¤:ÑFƒþ_ÐÆÆx›+äj!ZÏúkÿâ΢©Ìø˜•°²ðæÒA½ÖyêØ<³iÒ®ú˜¶l(w-ì36·W/´º@7û¬ŠQÖl.ˆaXÛ;Âÿ!¡.ŠíÊv±ë\œ¸ÑÈfS3‡ÑW9™µ¸sMÍSž}|£Ùª o1œDô–°Ôl&»É÷%¤æ­."ƒ#‰bYÞ_§®F¨K†.µxþ‚”1‡ÚxÑ×*ÃàZü%_:b{æÛ)u“^Db€…€¹îýgŸSÉ­Qìûìïzqzõ/ÔÉ=n_/¾6J>ëhèËÐë$§Ã‰kX¾¶¸,w 5={aѧð!õ&ºÌö"Ãd&.]¹~j 0:-åÇ,g€«Ä̹Zü‘:[3 iAŸNPÓÀ]§LXÿ'æl…“‹Cßüy™ûÔ …Ÿö4åáœÚ“ø ¸õfwêSC9iJí}«¼* Ï òçúhÂò¬dG׸0$Pì®RíB#ÒÙ!AäêS¬Z¨ÖÝVÊírr ‰tj¹–aú9S 7ÜÇ¡Åø[\% NéÇõý<ò4~ 9? +$3“ ©)Р”Ókj—€\ݾò ùeø8€Ïúú/ôƒFžOëðOö&¯ŒBCû·Š®¼-žOpvú 4èPªkäx`ÇÄ¿Ìκi*_UÌð(ƤÞ`²JJ!ؾÎTàmß“ æ"W3êÁp ‘J…TŽf•×ÒÁˆ'˜ÁÁ wÌÑF&Áx‰—pI×°œ…5RÏ%¯{Èùœ5…†ÿ‰~i’ãh8|#ì=†ß}¹iÓ`”HàˆáèÛòÏüT…ŒÅ>!XfW{Í ˜õMÀˆ®=÷S-®tgkšñÒyf¹ Û.õ>®doW`«ŽšçÇ?ÀâÛóFjàO4ë"°LúéÚ¯Fd2[è*@pÿÞœ7ÐrÌë¯ï¤­)±—¸3ÈÖÖÐßÚ¨ÿ8毴UªŽHP3…!@°ÛM@–0 eÆ)WfÌe„&Œ¶¦x-ž ‹Q4,? 4¡Þª•)²£a(èüÅ@Ú¢AÅvÏ–ÔFÂÕ*2;´’Z¸ê4› ñÛBwýj°§8cgF<Ëźm ‰‘¹1Y€CÒ-ªÒ;“Bï|Àzq,$0zìcò‚^ÀBÈîÎÓŠs¨¡sbO=:É ]!KbÄ*ó6Òºe,!ëN¨ïgSJ™H¤„Üqæbˆa‚¨ƒ„ˆ”áÏÎ[Ž <@¾6¨CGj%ô°‰Ça.÷†°ža^Ú•é«Ï@š[(Ì ´– ¢mò/®Òéu‘_[Cvkyݹ 7Ñna7쵦_ô[ÑþzÆNÖX\_²\±ÝËÌüõkÖgy,œv>‡n/¬gmÖ·¸ ¸ú|»9*©ÊÓð=bX9…—['CÎŒÅYc'!娮¼3/p…7ò´ !VN‹þKÎa™$WŠ’O$" +2ÉúìBú¤e¤ÂË›„’ðfø¸b¨§øÚ¶î—ie%ñ‰Ü6I¤ôxþd[< j ·E$Öq¡Î=¹4lÖ‘¡\$Z¾²öUü3 ñËÏE„ç ­™Co„ª«…$x +I NS O}eÈ6ßmÞÆšo`A×ÄdË8Ect"¶†´à/ææ³üNj7—å4Æê楰Z€Šð±[wÿ*´Zo[ëÊïõhƒñI6 +Fl¬…]µ~Ò’øpóÃè–cúAÏ" ¼þN1ëQ^ªð˵ +]ô™T3Ðï{ž@I¤-eCò´ôÑŽÞ ¹ŒêýdëØvû +QÙ§ƒŽ§1[8h©Ðr@;P>ˆsÓÉ•=ÍmÉ +Çõ¢úÒ«pE€H“ õüµ“Qa [½íÀµ4ÔO¯þ†§wÝÙK-O 6¢¹ÆÝîñª%1ð£ëÒdꮣ ì«Íj{È¿7l„p¯¾y “â@™`àĹkr™­e¾ƒZøi`·/1‰W|ž®ÁáѸ‡aH¨kíÐp ‹<ž$cIÓ½O?R¦ÏtRªp¿¢vêßÀ¹„0ú,Jøl²NÌAÈÐÝ2+ÓUåØàW äÌÁjebYóŠ×˜;õ¢"63£–è±­bpðÑ+†P-éé6|ëµ»—ñf8SD¤ 7ã.U&å¾+LO´Šƒöà€“õHUÜ=¹bf=‡B†…zÌ’XÛÎXm+ÄsÅÆ3¹Wt+r +¿5£TÓj3ã€ÑŒ™£}ЇêzUb%D&ù`F(o\bÝú¸uMæã¥ñãnôš¦ŽzÆÜ<À%*© @в] }¸°¥•¢×©¢-áC.A bª2 (?áÓϺNÈÑrÀ¬ õŽ……& œœ­ÆÍ¾Éi4µ“}5˜!6æ¦A|M9¯QUXtó8äF’ƒ± Åsc]7ó¼”úéihÎEâù$ÿK|qÖŸÂ/ “¿sóbR'_¿! ø¿â¿ÑøÞ\ã…AìÝ•dm#µ˜‡ìBÌù͸Nõ XÕªm7Á+ÒÁÞ ÂB9àâ–eã±± e|Ìó8úÁ/Îòª±£!ïZ{\‹Kê@¦]ÈÇ…"+ â¡,©¤Íªf¢ðˆðgqÐÎÏþI4tÈŒ—”z,(—j«Q\Ýä9¡á{¶KhÐ_–Š@¬ˆ#õeà<ÕÂFܤOgÜŸ|þü|± ñ8{NM?Šõi§ðÏ¢2<ý˜á8aþÿî·Ùõïúwý»þ]ÿ®׿ëßõïúëúwý»þ]ÿ®׿ëßõïúwýký»þ]ÿ®׿ëßõïúwý»þ]]ÿ®׿ëßõïúwý»þ]ÿ®­׿ëßõïúwý»þ]ÿ®׿ë¯ëßõïúwý»þ]ÿ®׿ëßõ¯õïúwý»þ]ÿ®׿ëßõïúwýuý»þ]ÿ®׿ëßõïúwý»þµþ]ÿ®׿ëßõïúwý»þ]ÿ®¿®׿ëßõïúwý»þ]ÿ®׿ֿëßõïúwý»þ]ÿ®׿ëßõ×õïúwý»þ]ÿ®׿ëßõïú×ú UTÔx +  + +  + +  +  +   +  +   "##$%%&'&%%$$#"!  + + !#%'(*+,--../...-,+*)'%#! +  #%(+-/134887765310.+)&#  "&*-0369;=?@ABCCDCCBA@?=;9741.+'#  + !%)-269=@CFHJKMNOOPQPOONMLJHFDA>:73/*&" + "',05:?CGKNQTVWYZ[\\]^]\\[ZYXVTROLHD@;72-(# + -28>CHMRVZ]`bdfghijjjjkjjjjihgfec`^[WSNJE?:4/)$ + "'-3:@GMRX]bfjmoqsuvwwxyxwwvutrpmjgc^YTNHB<5/)# !&-3:AIPV]cinrvz}‚ƒ„…†…„„ƒ}zwsojd^XQJC<5/(" %+2:AIQY`gntzƒ‡ŠŒŽ‘’““”““’‘ŒŠ‡„€{upib[SKC<4-&   ")08@HQZbjry…‹“—™›žŸ ¡ ŸŸœš—”Œ‡zsld\SKB:2+$ &-5=FOYbkt|ƒŠ‘–› £¦¨ª«¬­­®­­¬«ª¨¦¤ œ—’Œ…~vmd[QH?7/'! + + ")1:CLV`jt}†Ž•œ¢§«¯±´¶·¸¹¹º¹¹¸·¶´²¯¬¨£–‡vlbXNE<3+#%-5>HR]gr|†—Ÿ¦¬±¶¹¼¿ÁÂÃÄÄÅÅÅÅÅÆÅÄÄÃÃÁÀ½º·²­§ ™‡~ti_TJ@7.&   (09BMXcnyƒŽ— ¨¯¶»ÀÃÇÉËÌÎÎÏÏÏÏÐÏÏÏÏÎÎÍËÊÇÄÁ¼·±©¡™…{peZOD;1)" *34,$ +$,5?JUamy…›¦¯¸¿ÆÌÐÔ×ÚÜÝÞßßàßßÞÞÜÚØÕÑÌÇÁ¹±§’‡{ocWLA7.&  &/8BMYer~Š–¡¬µ¾ÆÍÒ×ÛÞáâäåæææçææåäãáßÛØÓÎÇ¿·­£˜Œ€sg[OD:0(  (1:EP\iv‚›¦±»ÄÌÒØÝáäæèêëëìëëêéçäáÝÙÓÍż²¨œ„wk^RF<2)! !)24*""+4>IUbo|‰–¢®¹ÃÌÔÛáåéíïñòóôôõôôóòñïíêæáÜÕÍĺ¯¤—‹}pcVJ?5,##,5@KWdq~Œ™¥±¼ÆÏ×Þäéíðòôõö÷÷ø÷÷öõôòðíéäߨÐǽ²¦š€reXLA6-$ $-6ALYes€Ž›¨´¿ÉÒÚáæëïòõö÷øùùúùùùøöõòïëçáÚÓÊÀµ©œtfYMB7-%  %-7BMZgt‚©µÀËÔÜâèíñôöøùúûûûüûûûúùøöôñíéãÜÔËÁ¶ªžƒuh[NB8.% + %.8BN[huƒ‘ž«·ÂÌÕÝäêîòõ÷ùúûüüýüüûûùøõòïêäÞÖÍø¬Ÿ’„vi[OC%.8CO\iv„’Ÿ¬¸ÃÍÖÞåëïóöøúûüýýýþýýýüûúùöóïëåß×Îĸ¬ ’…wi\OD9/&&/9DO\iw…’ ­¹ÄÎ×ßæëðô÷ùûüþþþþýýüûù÷ôðëæß×ÎĹ­ “…wj]PP]jx…“ìþþþþþþñìæàØÏŹ­¡“†x†“¡®ºÅÏØàæìñô÷úûýýÿÿþþýýûúøõñìçàØÏꮡ””çìñõøúüükkÐÐÆy'^QE'/9EQ^kyÆ¥¨!"‘@ DD=¡wC“Lc`(Š ñ‚ ƒ ‚!„B„!D`ˆ1DI\sÄ^šôÛÓi4*xûa­ýºì–B®pA ÅlñÍ[§­9 õ}k÷ãkض‘oÁ»YzÎâ ºz ýLÓ·Ô€-s§Ärèg úu‚X* açãGÏâ÷0åi Ä+ÿ[f_ž­+òàÅršæÏ¨5qËüàzËØ+ÀËV#Ë-0ªô8}©-Ç\Ú!¤€ˆ>z¼Iÿò^E“p)óÉ@o@‹A€a[ 'zíS0Œeñ½„Û(À`dñ.²ü5ÀÍfêàµ-3?³døùø$-cYêëš57Ç^µArY¼C‹÷Xäì¯7•urWÑÅvƵX¿ÔúÔâi;×zúÆÂ5Õ`ZªùZûï¡ phÙ ÁUtĮdž-³Ä€•OàÖ².Üv)›̘XÈ´4™-ÆBX±þÒç{««Z`®K‰è¥Á&`$,¿:è–—¤À|Yøö¥i{õ“aaÀÒÊ–uÆÝ¢—Û—aV  $x@d)R fTù.-hìG¬µ+ +)“m>þ«PöïA`®‘ Fo°^H!î¹Æ…I”…:±{.±Oíð±ŒLlÕ‚nP5p WãcC™Ç&ÝV·@GA`÷`Ú€½ó` +‡€!`á„À ,ÀÚy L^àðUýÊ, yÐ õU±¾*Ô_õ«X¿B÷³}ëá0×OJ»~od=ÂÍõf¬š\ŸhÄzÄŠõˆ7ÖØ\hs}€‘õ +×#œX8s=¡‰õ+Ö3®Xp¹àÎõ&ë¬\Ï0b=ðäz„3Öl¬O´b=ÂäzÀ›ë̬'°¹>ÁˆõÄ‘ëO¬رžÐÆú“ëW®8Y`çzëƒF®g±pSãáÞ¡ŸÑRPI8\ÊÑaä*:J«Åú7x Tt.áÝ'4=]6o¬?þå¾ÿE‘À-$Ðs&lo¶8_þ¯¯ýÚÿïÅ{ãÌíÅÕg¬„ +â¤WŠ‚YΫíØgÍmÎ__{ý÷Ý÷¾«ÝX_½·ï^ýÇ}ûÛ1ÇüóÚ±ïÚco÷µÕ‹ÿ¿¼ÿ[oöïÚ»xîþsÿ+ÆÛ³ÎU½ù¶ºë­5¶Öjûyæ·b»»çÛÚ[{Þ‚t¨Ò}3"""A$I’t" ˆ€ BQD@„ ÒÂQ ƒ00€ ‚!„!„C!„B$=­OéÎ tö ³Ï xö@À³ +Ïxö@ÀÙ#g:{HÀÙ#g({ àÙ…c({ èìÁ³‡= èìÁ³ž=PðìÀ³ÎpöˆàÙCÎpö@áØ +Ï(8ö@áØBg:{DðìBg<{ ðì…g<{ pö³‡="È¥ç",ûܹX÷ÕÖ¹`}§~YǤéOéÔôtкtÍKÙæSË]åÒzpW ¤‰g~äW9õÍûñ·{ÜlmÛüá^Wà5•ú2ϼG[óŸUçm^F£œ2³#‚Êîy÷˜ø½Ú#ûÿÌSúTEC‰º›aTa”G£k~‘äP±!f”—›iF‚‘|FòÛÁU>ª–‹ôɪsÕ¹Ýfo,À‰‡8è€lô7H¬»7-]¬Ÿ ( +-)U?Tõó+ VÓuÀ‘Ž!Iô¦ÖË»ë×v% TŸÉƒ'ä÷y+ÑìêìCC:¢M õ0p~QƒK›a+Ã+Z ´`~/) Í·,ä’÷('1ºd‡‘ pl`ì7½•ÉçÖ´92äß,ÅÏqþ+ Fàkþ¯R8ÑÕ˜ó]V†ÖF~s¦ç§ö¹xI¾bÑÄßt®J¡×\C“õÊÞgÊêD^äA)Äq'’ñJžp'ßqb-ÔH +A-2™hVFüÌH ¿¤Ì é}|x™ßóTù*¹ ü;É/×[— ’‰¸ú9˜w¬ôÀp6$ÔùwJäL①щç”:?§Žîȧ‰LJÍŠŠ~pYpªê¬¸ ¥´ˆKYTš2Ji'̹D£ž%Ê›7Œ†*IëùVÛ’,’.פB…¾Ó¬cósÈÃ<%…ýÀ“/^‰/ û³þó+XD +¥é^4Œ;òA#ßÑD:xH=áEת‡dxû×~o—H¤×kæY"Ì-…ºû»%‹‡ÿ$¥ÛS‘³†¤ ˜¶d;"q˜®28-ñ¢‹…>“ͼ¾j‹‚³ŒDÖݬ¬ÛÅ,ÀCLJ١ÎbÜÝcÂÆ÷§YŒ»ÔiÈ\¹(²í¦×À°FÔÎa¼È +Ás•fd¶,ä=öÒzdòa Ò þreEŽe3Hp¹EÎôªEž„Ÿ¦Œ 2^z9b1ÅâB6Y «òÌ61v½¤’u]-?`ieÝ jYF¸®*-’­,Òiµµ`([Y¹ëO èȪ•;«i9¥(u‘ý©+i‘Íj¢,EÉõ$ +yl:¢å¢ÇAÖ—„[‚㈕¤»—Īš,]J è:¡øÈö\r; ëfþÇJÒú‰²çƒIÀ-(å`. ¼e#.“ˆÿFÖlbßDvgÊQ™Bb`«‘óp–Ð>8ÙrMç¯BCY]IX0,œì£\­spL²dâºS.’²9²c`Ee„*a'Ùñ Z†7\Þ–ô#%§áàÍWë#Ø•×{´Þpè°9¾<"A³b!Èó½eÐ4ý˜á@¼`øÿÿÄä&{€½ÏÞg_±Ø“ìYö{Ÿ½‘ý€=Ëþeÿ²Ù¿ì_ö/û—ý‹ýËþeÿ²Ù¿ì_ö/û—ýËþeeÿ²Ù¿ì_ö/û—ýËþeÿ²±Ù¿ì_ö/û—ýËþeÿ²Ù¿ì¯ì_ö/û—ýËþeÿ²Ù¿ì_ö/ö/û—ýËþeÿ²Ù¿ì_ö/û—ý•ýËþeÿ²Ù¿ì_ö/û—ýËþÅþeÿ²Ù¿ì_ö/û—ýËþeÿ²¿²Ù¿ì_ö/û—ýËþeÿ²ٿؿì_ö/û—ýËþeÿ²Ù¿ì_öWö/û—ýËþeÿ²Ù¿ì_ö/ûûwH|¨,>´;    + +   !" "$&()*-,+)(&%"  #&),.029988765421/,*'%" #'+.147:<>?ABB><:852/,)%"!&*.37:>ADFHJLPONNLKIGEB?<840,($"',16;@DHLORTVXY[[]^WUSPMJFB=94/*% (-39>DINSW[^acefhiigfdb_\YUPLGA<61+& !'-4SY^bgjmprtyyxsqolhe`[VPJD>71+% &,3:AHOV]cinswz}ƒ„…„ƒ‚€~|xuqlf`ZSME>71*$#*19@HPX’‘‹ˆ…}xrkd]UME>6/(" '.6>GOXaiqx…Š“—™œŸ˜•’ˆƒ|unf^UMD<4,%#+3;DMV`irz‚‰–›Ÿ®­­¬ª©§¤¡ž™”އ€xof]SJA90)" &.7@IS]gqzƒŒ“š ¦ª®¶µ³°­©¤Ÿ˜‘‰xndZPG=4,%")1:DNYcnx‚Œ•¤«°µÆÆ¾»¸³¯©¢›’‰€LB$,4>HS^it‰“¥­´º¿ÃÆÉËÌÍÐÈÅÁ½¸²«£›‘‡|rf[PF&.7ALWbnz…𤭵¼ÂÇËÏÑÔÕÖÑÎÊÆÁŽƒxl`UJ?5,%0:DO[gsŠ– «´¼ÃÉÏÓÖÙÛÖÒÍȺ²©Ÿ”ˆ}qeYFR^jwƒ›¦°ºÂÉÐÕÙÝàâãååÜÙÔÏÈÁ¸¯¤™u*4>HTamz‡“Ÿªµ¿ÇÏÕÚßâåçéêìåâÞÚÔÍÆ½³©ž’…xl ?JVcp}Š—£®¹ÃËÓÙßãçêìðïîìêçãÞÙÒÊÁ¸­¡•ˆ|oXerŒ™¦±¼ÆÏÖÝâçëîðñóçâÜÖYftœ¨´¿ÉÑÙàåêîðóôöêåߨÑȾfª¶ÁËÔÛâçìðóõN&.8CO[iv„‘Ÿãéîñô÷üO\iwêùûP]jwåëðóöùúðP“¡ìxþkÐÐ'yÆÆy'‚D¨òu"#"‘ˆH’¦ ¢ ˆ eûsGQ‚ <‚B !D@!„" B!„BŒÔÃÈ­z—ÄNŠëÖÿ_:f’ŠG›aßÒÊqØ["zTYdO‰ 0nLGðÚöèÚDýEù4 iCr×3"‚ èñXóñŶwÇ3j@zÅ£/#1Ö=Ò½ßÁ£ G¬k©Wg‹t=ÞÕ‹|ù»cã9–èƒ"Ý‹5õo@=BPàá©¥„`pC =ꕦãˆÔÕ¬aSìÛÐ葯¦#J‘›ÇµCnd`£Çþa‡%tî6z¤˜‚¡j}OkP½ýpô¨/Kh®‘/ h}Kèè±okPëµ6L_«€¬eGç75ÒRÉS +?zŒÖ @z,K¯¼ÜâïÒ£k¿Ó ¤G—실ˆa&å¸?g…ô?û¢ M{0Õ"ˆô¨üP\ŸÇo%Œô¨ò ç=žx€$=þÍ´Ó˜’#GdB¼rIBŸx¾(¼×a5 Lz<{tç½ÈÚWö^çɼéÞüh?X§(€æ4<Nz”EïX?7 9Ǩës"*=J§lßÌ£ô˜IïØ0¥Ç¸'õwkpLPéñ"ù›KÃZC›6 GlMXz|þV•ïôcmÚ¨ô§w”Ð +=# Q.Ù°K–©Ìj«ÄŽ™5œ½ôøZz,ªiHÖø2b¢ò0=N¢—õ—¥7 + Eã1=ŽÓ*%˜ñUBßÑxšI>LÙŸÑÅô€ét ÑTÊ:Lu³fz´ðÓcA3‚fÔΨ3=¾Ñô¨?Èôh9Óã¨JNaí¹¦ÇQ—Z2¦÷ŽMü«æ†3M”Þ“™ ¶ŸöŽ;…LKBþòNí‹'šP¨jƒ_H—™ÐFü9Œ…!€özßB‰”*ð3ɹËh}æÖTÏÐ> ï Äƒ÷…~_Ò0_Å/5ŽõÞHåW¢‚ü®“Ñ65µ†r248JnØ`ûo—åbñø¿»Ü5Då<*œGç¬Cê âûz‘Nµo×ïÁg> >óèø”µ™§Á×< |Íëp3¯‡™y=léyºÙ`ÙÓñ²O>Ùû +Ø×[ØïÌìCbö.1öd5öÊfö]{ù*ös+{8û .{™ýæ‘=o½n•½efïÇ^Ö˾id/«`/bÿk³‰³÷äØÓÑØošØó2²ÏµØïìàì/±ìk:ö’Gö´ö:Uö?6{(<û{= û¤3{-ý|‰½½É4ÎÞc_Fc/sÉ^ËȾWÊ~÷²G³ÿɰ§é²W:ÙÓØÏ•@àà´˜*u´; ò¤Àxi=Õí@©[ÐRw¶ƒéðå3” Ýžòäed­½Ô¸þù[^¦”RJr:óQ±{°²ÕÀ&Ø\}ñÿ9¾Õ×pÝ?]:ÿ'ã·—î¿Æç0õ=§Ü9Ûwѽ}jr½Ø×ÕŸë‚òÏ—Ó7A5¹ubä—纜ê]PQOëêÇçŠÊW?¹((@B:0€Å A€,hðB 6HÀ @4,à  (R(©°à +4xh3H¨paˆì9tìà€Â.}%”\ÀXº1ÁÂ׊0ÁâÅNF@¨ˆ-bØØñ$CÂà!Ÿ‰2˜|üˆQY]!imh]‚E ¦&©!UWI˜8‰RÅÊ¥6|HMYYò„ +-\¾€ #ÆÅÒŽC¬4‰reË—0dÌœI£¦CŠP‚ã)Vu¤É”,]Ä”A³¦›7pæð¢ºZ%‹—1gظ‰3§Ž;,§˜U’'WºŒAÓ;xôðésÅ„Ê1gÚÄ©ƒgŸ?)‚Ä –/eØÀ©“§ÏA„ +:³REK4nèàéh‹I.dÖı³çÏ «&V¾˜i3A…)Z”挛:zþ:”hQ–@…i€¢EŒ8wújtÈ‘F@8’³C†Ò£œ­Óqî2o.»Zšüîìgôæo›ýq³ëwÏ"»:Ó sÏžƒªêEãEõûvZvjúÓ»y]NýQ®×‹Ñ½tOPU½h„h¹$ˆ1©˜TTLHŠ­I¬LI¬Ø«?õ_åLŸuÛ±:UMlÝîjõ:ëÓÕ÷Zþ’`š:ÂÈ”ª¥ªTÌÅ Ö4µBT¬Æë5µ"D “X"Z=2ôÈÐ#b¿Üþþæ÷猹7ÿeÓÇßÈþÏÝSÛ#qM_ÝçøŠë¾ï˜íð•“[&ç{‰þèß<ÈCEצˆN×7YŸÓöoŸ;ýôlþ'tnû=ÙÛ˜«mSÝæ¾ïoS~Ïåæs&¾¯Ûµü·üÿÚÒyö¹ù27Þ÷ÉÍÓ¿^lw®96,‘7ýÎÆGÆV²sûò]òKLO÷ϯ¡¶C·ºíùZ6w»ËÇí}÷6}íε%v*¯vóͼ½…5ÅÆ§ì¸åëÌžfgî`ËèÕvöò‘[2¬ŸÛæ>käwmüˆ‹Þ¯Ùþq{ÏðÛY›b»ZìºMÙ3—7u=ÛUD×WÕŸÃÖº®ì¬è骟i:}÷\Ñý?ÿvm={ßž¾vív]ÓeÍlÚžI,¥ÖŠ ]þÓ†þŸn5÷׵ǞDtVǺªìný©7çðÝ®³vTÜ×ݽò·evµö!~·Nß××ê¼=³«Õ¸Ýø‰ùÍ¥»suÊ0_ßFuŠ™¨ê\z…_¨3ë­SH©™I’d8Ó@@Àa ˆH¤<… öÀÈCáPâà $…ÑÅ@ ‚ ‚0ã”1D‚˜Kº~h3¯Ðl”âhÈ×›õkŽ„Ò\ý÷4©zs†xó/4{+Hg§0Sü4vºÐÔBw¦`ï¡ç¾=5¯×ðp’â6Âç¨ýLló×?ÀÉqTÃhŠ€¹Ë½ÐN„!˜KÕy|Ú?躮°!ábtä×k¼ðmŠ¦Æ‘àSçär”ò/&ÇÎrxnÇ÷$ÅëîÛ¥´W7Q­°°Èªøg‹¸áþ­Ppè>ú›òÁr|ÒÕñ˜Cè¦yuˆ´Úb¢ý‡–î¨ÄxeŠô‚ìë¢rRá;éŠÆ%HNú›~×®¹FfB_hK¡KCÿ¸Wh6+,Òt}Í €´ãÂ¥ã÷Ç›Xr,‰:ïÉ=9ľ[H«µ„¦€ü6®Ñ­0*ô»ƒ+Zˆ(EJ1ü3Äã8Aø8—©Gó€•ƺÿËp|Pšw‡äþŠZ˜rË$jD6ž§ÙrXga´­˜Ø·*ÍoE™ú±½KÙá +3P¦·冚/à ?£Ò^‹Ì ¨$þ¦lwb¡;P‚ãfT^I”UL,Lºq¹ÏJ|Ф™ëV7»Ñddp]t+¥X>}ÇޚФGv qð:„8ó0‰;CR(W"aùôSn(Î5½Hÿ„7¸\?‚%î‚° @‚䈂‡v›üe,†èXA›µêB‡‘úº?¸¥÷dJÛÇ|îáIsx§#ñ°Ç»p°ónCòÄY±.@*y%l­l’¹É +J½v€ntód¯Ñ[ÇMß‹8Ú2«ð~Íjçø©~‰` A//‚”32´xü¬¯'M÷Z&NC Tߨiáx•1EïÉ:–n*²°©Å6P2 <=4ÉRö›Åʹޠ‹+’èJ_ÝS.þp*ôk­c¸î@´Å¼ø2rg?;~a­zë”â\OòCø™Å E·NIïNðÔLšjÀ¾¹O«~bX)w”Õå]Ü«HÍúޤ ©’-ÛZé½bSýN÷kvßëC¤UV»o>ö +Õ& Þ7Ñðˆø»Ç9í ñk%OVçQ׿ÉЉ0æ’ÊtÁŠ7( å®MÀÛ{uÛM47^òM¢û,УêÆ{±PôÏ–ÅÌF#¯¡YæÉÑ DÔúH7髳›¤w`z“érb z 5žß’Sø‰Ô”+yþU™®¨n×D5:iÚ›äG¼§C§aíu@n©†ù‹ ޮ܅ÉDó˜çO_”Á? Y61 ÜÞe‰@Åc÷3ïO™Ãë˜8McˆÉj¦$0•]#ü=;×Q‘ MŠ”@U~qf)3Zˆ­nÇáÖKµ9ªòïß~¡ßõï´íÑ2„øPN¿Z#—ædðD‚ë*/T}3Äú<בM‹„ ‘ǥآÿ³ÞüsÁÐ:”·À¨d×îŸ4IÈ'¿×‚s¬$ô: PL õ<2ާˆ¯Y“-½¬Á_Έé6X #¥kžúmR$Á¤•|1¨ÊÐîÝô:ð8?"¥e0¡n*Ó&ëd1sÝGÌ£WõI€™>™“­ ÑðàD¡‡B–„ÏiE½è„(]…çÂËá‘›ÊiH!¢ÿ@…N‘Ÿ+<#D ¡LSë¨êt5MͰHÝ L0­çæe—ff¢wÑÕQf‘$<é¢"Ϩ"xŽhöOÞq&)k§+Ù^ÞÄiœÈ›öü7,^tŒÒåð@tw½ŠÓ£×aÛÂÕíoÈÏFçs©óŽhìsÙ—\ng "ÍÎÀÙŸÇ_Ï0cs—+£ºž¨¹áèìs3ý.×û{» t9êÏ^Ò°Ÿaž,|TÓ\d>×þkÔs)7©?Á!«$m¿†VIT¦±;]ýã®ú$ƒ¶I§UÇ'ÊWH}+}ä¬cLóN]¥6ÊÉ,³S #2ŸaÒ¬ãi3¼€¬‚×^ó»ï>²Ûœ¬®[´{ŽEa+‡–ÍV[½oß KU)†Þ I Sy…s ¡è{5·ä«G@’‚c炦æÓÇÈr9„X”Á™!*Œ-7}Îò>YÅ9´$÷j­YýüóM€(P‡+òÊꜞUn<Û;1W¥D7¨Ù äeëP³ìqA§²ZÀÔ‚'œýûœ.A´r{§þÒœ2‡‰<%ƒ%FHÝ6çiòPj!ÉÎ1¾½Vèb€E¼eRÛ‘±øíY~ÝQ<Š=*¹µôï/’{­ÑE!.¬³§J™LF3<[GàÿiH÷×# +y2Ÿò(vïfüþ0µ Ï•ª»)´I!ÈÅ(óp=\$¯“Ö +V>ýJØ€ÇËrSlTrˆCmLIn¡•©l*iG¥Ÿøå°}p yجüµ{üðr†'UIß“”zŽûåðü‡7G²þ_ÝÌ[¼Y|ØØ L')¯~€¬3rÅ^uÂQ³íXvÔÿÔbl´_{*b§®‡áÖK_¬Ý„ÛJݦ>Nì¨ël‰QlYUGŒûÈ0í¶Õ‰”¬BÐJ;8™Ÿä¼£3ËaÖè÷‘üw€3ú¿y#¯Ÿ4ép €øÞïpõöªMWs:ÐéÖÒÖå;e.äC·ÍØ ö<¶r(ü2Ÿ‰Y·Ò§Ù5u£Š[h{Ç/|¦‹<÷U{„i µÎ +‘È›V@û´Å1ס —iÜõàïÄø¼[ݾ;à!5)8DxÙØ[åÒšuÆøOtv¦–DÛ¼*"ï#ê€!¹Ö¦ ýdò©OÓÀhYùf`Wð€8O{"TèŸádáØ„îr +?ÝxR犄æN$I’··ÌÙZÅ3ØÈ€¡éP›TÊ3žAeY§ª¿<ÑGñ#Q\–hÀ]â+W¢€ˆ0˘5±— +·"×ä‚dær×D0}ä—LBj¨vÐ=“H an„ÂOª›=ëŸ8ôž"'qN™A}$àô¨geù]B2Œ?• ¥°¥ Á ®†Ò !8¯0f5ÃlIkÝ÷v+â-И €PnD¤ï+R©ÈMyÝÉæ*Œz#Yvóú{ÜQ^íÅþN:><|zÕY¸Tm¡+@5 rÍŸúÊå1‡}ËÄëÊI¹—4²òµ¾“”z4ÉO Š.Щ|M”²¥UnÔ\6"?×kzǧš÷$B…EXô«V—|y%!.€H§É@9ý£ ôc@.ýI"Lœ*·±i@@Y"âç%\g1Hã›Å=eÎÏ0?!Ë]´ )d8"7n549'Æ}*ÉÄÉ„‘`4`R™•ez¶•&&ñ²ÞKµ<¼\hoÒæ1qBóÀwÓ{.f›Ǭ¡éiTÄ5á«¢ÿJ„Ê9­Â„dˆt½`6aûЧ–ƒÿG5k5¼v2õü¸äÕdyyk={Òác%É"œ˜eàæ¯diigsX œjcÎB¦~°…«òx Î0ý\»!†al{0í—4ͱEÊx£a ʹTù’VÁÉö±è®…¾£Z7ßSƒâ#‡y¶!¸\ZŽ#·Z'Jm“«3Ù¤N-þêéÑl¥ƒ-.xWl´•c¹hx?Äoä’KÖv“ñypO¯RþTDœbP›h9Æ& ’&K%‰Î’-"ÆNɡ娢éûÈi&ÙCÊDdÍm›çòð?›rÐr´ŠI:iû­DIøB(‰®òI{¦û¤iåøðØU<kɬÃå†ÿ¹Z y¿Mêˆ#‡_il€ú³o8«ýÛ L·ú|7°À2[g¤o9Æ–3À%Ó/sHv”$ÿL4×XŽÑ0©ÛÈ((˜˜N®´J¤óaF2}TD‘ˆV™INs£þg9îcÎ'çHÌcÛØó6@ºì(˜çíhá"Ì(Ó*5R ‰ÈçÐÃ~A/ÌëÊ…DïÂȦcB]g\ +—c[RLæ* 74r£ymÝŽÁeF`— 0ø€ÕÄ…»XHŒm^—£²¥,z;×¼Ë1Ÿ2°d=ÈÀ@ïÝR’[Á5çè¶‹™¶]ÙÆÝå¸ÏÁ‰fùŠÁ¼0ËË‘L+?¶°õ×Êͬ¨?´°œiâ‚«t”iÉ‹¶»ƒµjËrh­¨LÀ—c3$þR5›–àÈm]ãlZà€‚bsƒ¶Äh¬¸ˆ:D›ò ¬V¾Ó×ðØ^ ~ ½Ò[“ˆV8™FH¬s*æ)Xà¼ÿÀ,b‚ð‰Ìë·èYÔ…R Š;‘mÚFñÌqðå¿ñ©¼³épì)3Oãb¿Ú;=©Ý°€ëàœkýÜ^.‘Áy Fqÿqƒ°æÿûۿɾt›¼kfA_Û^+å¤Ý‚½–øsÍþª³ÊÛ3ÇÉÛcoŽ ”4B±›¹µKØbKN®dðú¼ÖÐTa–ë¼õ’`{P€Ôÿ‡ñHÌ:q䜫á´BK‡hI‚ÅY Kæ(?ßAQ_kì`×1@§:”0 dÁuIþlR'ropmnœO½Ñƒ8³g/#¾}úº&:2÷[ì–™‰ÈÏe~òúkËêv}S;ó¥híR8{Ë×ø™6·~wé¯þš¾öü¶º _»Ú½Núßø [ìí¿]éùV¿¹ö¯sݦ:þ¿¢²ã@ïn«Žû[¹½Ì?ýyKnêô[§ºÄÑžËë\›r&¿LtøÚ›?þõ‡¾øžîêVUŸóò.»sÈêªíé§~:tVΖ{Š«ïi2n¾·ìÙ™[ó9—ï¶±·a¶;6º|¹¯ùËÇùÎ.±õsŒûÉu¿ßUm·ë”Óéº{¯/È®Ëù´ÕW{Ÿ:lo·ýýÝé&ÿkïã–ªîzUÛb;wjcÝünù[«StÙŽ7ݵã}Š'ºCgͦo;Sõ9÷üy{oŸÓ~úwïéµß½TÖö˜×-#r¶VÛ·¹Ý5çsΛYanK×T;+o+•[;Zêüü¹˜ú9â²kÚ¯ëMÛa+;ÇíÆíÜ­÷w?ÇþÜûîØn—&æcsÌÝÏÎñ»?ã{™³åœ6ö[ÕÜæÌ«îëÛ¹ÿöÊþv¿³¹åtíåô\TÜdo¼Ü®šøËÙܶîÃŒ¨"N542’$éÒ +)£¤BŠ0+ z`À8ˆ¢¢ c9!d!„ !B¡‘ô²9ô3è„”ÃàPÃH‚*€ÈÑ ‘¤!¤@2%ˆI&ˆÈLP)A +2ÁJ@R‚*€d‚¨ R‘¤ 1DD1m +¡¢@ ¤Ñ`„4Œ¬ ˆed@÷” Ç%ëúƒ<°~8„×—ÅáÑÏ‘ebÑçàxú:YÀ,ñyÑ=Ž-¯¸§ 4cI'WDÆT2?îIlNô…±Ã“Æ­tôyÜÇÍg¡ÕU!,_Hˆ\L‚FïX'‚¸\]š$~NK>Û“œJµ»’šç@OA —•öû‘.œªn[ɾ8·mm{Ûßv’%þ¶·Æ¾FÒc`,=×ìne’¹¦D/´%Qä`×Ë +S’±Œ¬e!è -É%Á˜!™e(ɘZ;Y"ùeMæm†}Œ+¿¡š8}]½5ÞÀ!m?œ;ð2·áwkŽê¹‡fAtäUV•›Ä˘ÄùÙ´CU(7gÖ?ÃNi/ÇøY¤'ãÊ3 +ˆ&úOåK¨V4BF1 ƒ’Y %ƒ©}' ’_ÆŒÜên¥ð‘>ì%pè¹±x&1Ŷ­³‡DW +“÷]†rfá±Cí‡ÀÖU0wøÇEü#Äû«ì 9i ¹Lh¸+!ƒ3[9³x¤±ž,è1£gâ_Ã$±¨ +<0búý˳mÞ‹Å’,¡’½‘©Àähk¶‘˜«$±»H£Ÿ/IsÆÂÔ@ùOÔ«4ëDµ%›Aÿ·#6>'_~êD5¸ ¸ñw×ÊMù[ßkCŒ^|U1ÀXwA½ûå—–¸~ ¶ì›€‚ü23ò«@.'!t,I{b ¤³ZÅKºœî_^8ž¤ßÅöÍeòŒUkfxNoûg/¦ÇèÂ#h•ò“мØ2Ë¥/íã?œˆÝº@Iª´VÄD%‘üSø[’£•°ePRæYdü)/È2šä”üyŠÞ%\%o{®—Ÿú& €Ð»Þì›@Ä?·˜W -½åïr<|®ÎßÒ#zæô§ü3•RG6¦óUH\4¶ëîݯ"ŸÑªÅ¼Y¾©aLæ³rÛÊ-ª(ï‡ÂøÖãc¶Bc÷6œóÃÃ_“¤n¼Ï·Šñ®8 *¦¶ú§‡ïsŸ«+,þÓõ©W`!ÈÿaÞÜ#ØL¥Nˆñ+ ’KƒÏì0‹9l$$7,L±3`ùù’IM˜áXPpÝÿÿˆü7øƒÅƒÐƒØƒë‰Í©Ûó¯b®$4¤lÌ|Ä\{xÐ|z°}0ð}{pý ñ ù éÁöÁüÁ÷AìÁõƒÄƒæƒÔƒíƒ¹ß±×šR¶æ¾bN?HH=Ø>˜?ø>ˆ=¸~xÐô õ`û`þàû öàúAâAóAêÁöÁøƒïƒØƒë‰Í©ÛóÿÔÛÖ¬ÜI˜áXPpßðÿÿ‰õ¨ÁÉ‹áï¹Ý…ä ìììììì=Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?X°°°°°°°°°°÷`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ýÁþÁþÁþÁþÁþÁþÁþÁþÁþÁÞƒýƒýƒýƒýƒýƒýƒýƒýƒýƒýƒõûûûûûûû{—šLäI˜áXPpßðÿÿ‰³p†ööööööÖìììììììììì=Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?X°°°°°°°°°°÷`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ýÁþÁþÁþÁþÁþÁþÁþÁþÁþÁÞƒýƒýƒýƒýƒýƒýƒýƒýƒýƒýƒõûûûûûûûûâZU,K˜áXPô ‰ðÿ#‰ÀmêSQ>==ˆ=èzð|}Ppx°æAôÁâÁáÁáÁÚƒèƒÅƒÃƒÃƒµ¡ÖD,¬=ˆz°xpxpx°ö ú`ñàðàð`íAôÁƒÃõÑ‹‡‡k¢¬=ˆ>X<8<8>??@@@@A@@@@??>==<;:98653(&$! #%'*,/13579;=>?ABCDEEFFGGGHIHGGGFFEEDCBA?>=;97531/-*(%#! !$&),/1469;=@ACEFHIJKLMMNNOOOONNMMLKJIHFECB@>;9742/,*'$" "%(9BEHY[]_`bcdefgghhhihhhgffedcb`_][YWTROLIF1-*"%),048<@DGKORUX[^`ceghjkmnnoppqqqrqqqpponnmkjigeca^\YVSPLHEA=952.*&# +!%(,048=AEIMQUY\_behkmoqxxyyzzz{zzzyyrqomkifc`]ZVROKFB>:62.*& $'+FJOSW[_cuwy{|~€€‚‚ƒƒƒƒ„ƒƒƒƒ‚‚€€~|{ywusa]YUPLHC?:62-)%""&*/38=AFKPUY^bfjnqux…†‡ˆ‰ŠŠ‹‹ŒŒŒŒŒŒ‹‹‹Š‰ˆ‡†…ƒ‚€}{xurokgc_[VRMHC?:51,($ 79 #@EJPUZ`ejotx|€„‡Š’”•—˜™š›œœžœœ›š™˜—–”’Ž‹ˆ…~zuqlgb]XRMHB=83.*%! + !%*.39>CIOTZ`ekpuzƒ‡‹Ž’” ¡¢£¤¤¥¥¦§¦¥¥¥¤££¢¡“Œ‰…|wrmhb]WRLFA;61,(##',16ELS[cjrz‚Š‘™ §­³¹¿ÄÈÌÐßàáâãäääåæåääããâáßÒÏËǽ¸²¬¥ž—ˆ€xphaYQJC<60+% "'-29?FMU]emu}…”œ£ª±·½ÂÇÝßççèèéêéèèçææåãâàÞÜÙÖÓÏÊÆÁ»µ¯¨¡š“‹ƒ{skc[1,&#(.W^gow‡—Ÿ¦­´ºÀÅÊÏÓ×ÚÝàâäæçèéíììììëëêéèçåäâßÝÙÖÒÎÉľ¹²«¤•ކ}NF?92-'" $).4;BIPX`hpy‰‘™¡¨¯¶½ÃÈÍÒÖÚÝàãíîîïïïïðïïïïîîíìëêèçåÑÌÇÁ»µ®§ og_WOHA:4.(#$)/5EMT\emv~‡˜ ¨°·¾ÄËÐÕÚÞâæéìîðñóôõ÷÷ööõôóñïíëèåâÞÚÕÐÊĽ¶¯§Ÿ—†~uld\TLD=7 8fnwˆ‘™¡©±¸¿ÆÌÒ×Üàäçêíï÷øøùùùùùùøø÷êçãßÛÖÑËÅ¿¸°¨ ˜‡vme]T+&!!&,28?FNV^fox€‰’š¢ª²¹ÀÇÍÓØÝáåèëîðòôõ÷øøùúúúúûúúúúùøø÷õôòðîëèåáÜØÒÍÆÀ¹±ª¢™‘ˆ€wnf]UMF?8 +!',29?GNV_gpxŠ’›£«³ºÁÈÎÔÙïñóõöûûûöõóñïìéæâÝÙÓÎÇÁº²«¢š’‰€xof^VNF?82,&!"',29@GOW_gpy‚Š“œ¤¬´»ÂÉÏÔÚßãçêíðòôö÷öôòðíêæãÞÙÔÎÈ»³«£›’Šxpg_VNG?92,'!-3hqy‚‹”œ¤­ÕÚßäçëîúöõóðîëçãßÚÕÏÉ»´¬¤œ“Š‚ypg_WOG@92,'"HOW`hqz‚‹”¥­µ¼ÃÊÐÖÛàäè÷øúüüûúúø÷õóñîëèäàÛÕÐÊü´­¤œ”‹‚yqh3-PX`iqzƒŒ½Äìïñôöù÷öôñïìèäàÛÖÐÊüµ­¥”‹‚zqh`WOH:ArzƒŒ•¦®µ½ÄËÑÖÜàåéìïòøöôòïìéåàÜÖÑÊĽŒƒ{¶×ÜáþþáÜ×ÑËĽµ®¦•iA:air{„Œ•žÿÿÿüû¶ríðòõÿÿúøöõòðíž•Œƒ{ria‚ʨbÌ +CdDDDDD¤u‚ X‚A”T†ˆ ü€ðX1B!†B!„B!B!„Baâ1°„œÑÐ0 ›†/Û ±&¾Œ}‰ïDò<7(d2Eâ‹ç…€m¨ÕC³q‘.H£i!¸ +ËÖB ¦¤QP𒘓«R ®µàôŸ„€ŠÐÀâbPRø{þ,ü€[µ+CR@’”u®$‰ÌJ ¬f%µQðÈï[µ%¼^:G–àRþ‹¢À໼"‹Ž[Z~¤Ž$ õ +F¤,Ñ´Æcay!¯¶BÃS:>#W“F’¤=GÚþìˆ;"šø³Ÿ‚¹á}A&D©tÀ¨É)É +¥?4Ê‘,Œb= L!̉†ûQõL`Èdod ïíû bx˜…®Eƒ¡ºDŠ¥^]"G{öé0~b&J;Ðd›#/IJò3¹DÀõ€´!å KÎphgßXòì™J÷ % š) رV‚ÊïhÌ+EkûE®^ú(HÍI÷ 9HŽaVÔæ°¦OB+¤œ;¡™„26,‘Ó5ãjtD(cBn1å¤+¹ûG9Í{~ea•´A¡Íú•§ñãüýH)§Òâº#3 ëUÑ“{dq׉äñ‘HxÇΜaÁÎÉÖè·/ÉÂj1–Yuq0™z£0‘õ}äì83c §'iŽFÖѪ](¤ÄØ(£ehCÎ +ØŽ©N>‚pá…8¡Ì†ýÅ`ävI`hz"CŽq[øHlTF™FVû¼Í¨Æ¯ŒÌ–¤SˆNF¡-¦â×ÇQ£Œ:¶o+<æi£ÑNÂL3Ǽ)ΖÔPÈhUXýŸ/ÚnBüÜZÊ«¸r­Œ42„ŽÔÃ4©,™dÀÀ£â <.–%ì[ q/A÷aT;ä!\Va„÷ÎØ•\•ÄâœN^’ ódбÈ÷ÒiEÉÔ¹Oø0ºö+×1þúL2bÒ‚ûxFØñD‘P嚘`+GònªÆŸ±eJ6¼¥Dk\.hR˜š‚Ø÷£ n¬å¸ºð qu)`l—íV|”bMÙJŠ.ž‚÷‹ ÙÒæy…á•§å +²dk)²úîûÛnÊ(>Øq* üU¢ÉâÃIp(ϵ(pF&ôDZ„˜¤EÑ@žš‡›VR¤×~8Á›UŠÔtX à+ +³bëÖ¢°D-ÓZ$WH*‹b`‘¨ÆŒôò¥a(}WD^Æ¢®&´ñ8ÒpÅd¸ƒ]¥lQø“ûZ’ ؤPPÒ”a Ô„U ’?ÖÃÁ’`x$~]¸ìl-1’` ¿~AMS”Ú§c[C; ÊZz}oµÀPU|9¢‰±çº™ t||*·HRúJºJ5Þ-/x›Êúµ[4¾_ 3yüÎÔÃ0…c’[ì¨"°ÒÒ¡xšÈ™QÚRM;4!AÓ¿Š„¼DßZG&$!ªöß™9J¿ë†ã¨œ!ã^AqP¦¿¹ŽãŸnÇÆ³»sùww".ÏîÎõ¾×Œ¯÷7ô©|ƒrg/:¬~*íïqÔ΀ øÐÍØ½£S âÙøl…œ.úû kçú}÷ÂN[¿þCqÝmB®ú«'óm û®Lå€bM4P¤AKŠš•±E;Ë$¸Ý LP;Hк9LpwQ˜àzq˜ ~a Aí 0Aýæ0ÁÊM!ÁÝÍ`‚›ƒÕ•Á÷›‚ ª—Ãë ÒÆ3]¹ +ä$¾Å÷þ÷„(Iÿžæ(¯ÒóóðíéæIÒ¯ÌÒ×ÝáæêêæáÝ×ÒÌ–ž§§ž–Uë ÕA5¾€Êü•=À+󪴚ŀ XO@bÈ@•èÉ +endstream endobj 22 0 obj <>stream +€ÐÀ'³@¬¬à …1æ˜U|!¸ð€ ¬ÏÙ *?0â.Œ €úÿ>À!($™j¸±Ï¬!/0µhƒ;í·ÿøò˜T¯™RJ)¥T±Ûèý—­kRÞxÞ<ÐÀ àNº¤ ëÌ +jÚ¼‰Ã:vîÜÑÏ oÚ¬áɉ+“%H6`Jâ„Ý$Ê”(ª¼XÉÒRÓŽœ93ØP'‡;xòð gk«‡={öì€çŽ3c¬¾”@uAÐÀE"°ý +”ª¼€!s†6oäÈPC;xvØÚÃçK $DAA+àC¡ÊÔ/`Ȩ¦Mœ94Ô¹“gkO?Bü4D "Q„FD>[;`ùR5UEJ¯L”(ÐtEK+2*¤qó‚ 6ØÉ³åƒ!dÄ $’ Ô9nÔPyjÒ×äÁPAJT°Ä”äÒEe +cΤq#‡NxàãçÏ‚ŽHB‰BLèѡΠ)p¡Š‚zò2)B„›ˆÉb¡Í têàÙê Aƒr +C‡¦À DYX1Ä rÚ°`FÌ USTžš@ÀTT.VXZ-Ä‘¡ž­þ:‚P¡' ªâ +DY$R¤8l´°ÀtÉ"u%¢D–ª®Î¨y3Ƕ~øCÄ %œˆb ++%Ò‚ 1ƃŒE†Ì+T\¬ìðÐçHzBŠ*)â 0Ä c£2ÌhäHO0\¨¢¤8ékB¢Á“)W¶|sF êäáD A… 8tE¢-¼ƒ Ff4º‚òyy°”-6rh¸³åÐKü@”‘Èh¹‰aŠ,º ÃŽ<øèÃI^Ìq£E…*æà ÇO $ž "Ñ‹Ar:d EŠÀ`„Æ’¬ÐÊ£H“æ¸#‹ˆ:îØ£?ˆQƒ3CÖ Yó¡AjDA¤$T¨ÔQLœ g8$û©{è×1¶¹¶ùãµÌïy»Æ—o~)¾ö¿^_y¹o†vìwµ}7'žë¢.›ë2þÙ•‹gÎÞ¿îª/aŸ9šuÞY·âÕéK霬ֿ}­ãñoâÙã^v¿nœÏg­ë˜Ö£1–š'-L¨X1³‹ÞÎÚx×êâ]ûˆÆŠÉŠéÊÑ.Íûײ½/»³Üôî½0ýÕÍÔ¯^?StÕ¾ÌÓÕÔÎY/õ\ÅÖýüÕëXßïÎ.{<ålÆ}ÖKÏó÷êÍcwsS¿ôñ¯Góîþ¬ŒúÒù¾_g¶ÄÛè½fïo†Øæ|ᙑ®–Ôuw·û:ûÛ/÷º~wÏ<=Ï+ÓoÓWuí/O7ršt6e?UgsÃ=΋=Ïi‰÷Ó6×.ut,7;¬0WXŠNX¸aœÄô«Ž9§“Wd’í¼3—Ç,–Ós1NÕé*Œ†qºÃ³0ùJC”†() @" PDÈ#( )bÀGŽ 9räH €$P`‚ + R¥! +a@‰’%Kššššœt°¤„ ;T"R„#¨DÀvPD) +.XÚ€ ‰’¦*P–.à ƒ$MLNùAp% +–'(!€ð„ƒ 0¨%¥oò$ÊÓ“&L41Aþ&Ož ¨X¹2E¥%ËÔ•¨$JIš,„ž ¨Da¡ÚRB™2YYYfLØ’eJªŠZS’”€"e„¨©,U\Êd™)Cæ*L +_ºPqJ¤D0Á0yÐUå +™,¬+0't©¢ÂR*Š“_kJ”ÁC–8peŠ•)-&|±jÌ \´LEMyròjMp°dA¾Rø‡Æê×±·²ñ"ºo·^ùWf‰2Y¶´‰Í•3dÌë½Ëìy=¯¥´3-Ïr¯g_cÇítt½oß²?»×Ÿ÷ôr¿sZÒWôïl©EÃíË-±‘Ý’óº¿ÃçT»®±ûùݯ÷ÓrËæµ_e½þ¬…0+¼Ô–4OKÌ-·ýµ[/Lõ¼]©>uãÖ·ëN­õJu#\Ùf#ç›éÅêKžh‹j|ý]ª¯^æõêKÝìˆW÷®ž®õݵõuë¨û»É—Ûe¦‡é–üv]£>{3³^‡ÉŠ~w§ˆ¹øÿ¼×é•IÁ7TÒL”&­×{øê§½×ž– +[F`3%åÝ—´õ_¼.m™‰«}ý¹sñîæë-}SÛµ°úOÊ Ïi)ÍÕý¨Ú¨àBÕÕ/n¨HÉöõuÓìßÔå¼»RõðRä|>kÆëðÊL©”3ZD°¥%mÍÿšïýðêÔS|t=Ö=Eì¼öXÓ%ŽšËj³%ëÊq§ö5¿ù)æu‰'µ{Ìßå°PAƒ¥W¬T1#Þýq{ª>êµèm–{±Tú^iWu+^Ú\=‰Ùòo}|—mÞ³-Úý³µæ^ÿy‹ºÉ—Ù©j§¹óÕi\„.»KŒWl̤b«òž5¢»“¥žõò•wøÚ¯lÚ—~î÷uoÇ—à„¡*aêÎ2ñºœºnKùZšÛ3¶ß9jÚš~?ï•z±Ôß%ò{c_˜Zì§É¨‹×ïîÅxï¨ü¿ê—û9ÿ›÷Õ«yµ[2ßþ_¬‹û~†—¦ là,I)­)hlßÿÛ8ûºC©gTÛÔUf³ÿ|6ën{»ëüwÛîY7÷BöËSª×Ô /Ó/F7t·Kg½³ùÞõ®e)÷Íu[ó¾íÞ1÷Ìq·ùJÞþKEýËRËþ´=ÙòrŒ²nÔ´ µfL,SÔ’ÑÏŠÉOj•ÏøLÿòêo÷6¿Ì½¿VÿzÙPÿ +†¨³ÉJŒ)…15F“$“@@@Y  +•$ è£ñX$‡ƒ!X‰aA ‚ ‚ Dq!!ÅP3Í ¡d9È™é}]e +€R}§ë-±Þl<¯ñ€ªcþN¶ì,p“0Ù1¬J›,kj>Ø®®ŒRË“KÉ‚QÒWÑ žTê Ž “ô¸ˆ- 8|S_D„É]fR0N2“½“ïTh¾-¿¶ÏoÓ–Œ÷«L°T«ìê¼J,û·ÉFyåhnÃÆÅïä † +Í1žÌ²óŸ ”ôŒ{ ñk‚G’:̸ò0÷¢¦iu’ý1` ] ;¾A”¯2å±ä]ô‚ýH–aÆIt'û¡X©Ð2-WFMŠŒoåõÇE‹èòr³1ñ·Èú +6õŠY¡ÂÀÛFðO'õü¤P‰d­‰w$ ½ƒ²R‰ ‘*µœÙÂ1Ζœñ@œ“3¯}é|ý"‚Ñ÷¤1hãJZIÿú ¤Á”ymûļ>’÷ö+¹ù‚.¨¿Rmžä£å,àçT6y‹kéš§W毮VókÔÞ¼·|T7$CÒ½§¸¿ŽËÁµI ìåã~<=Þ{]/«¶ÝÓ±Úþ·B«Æ¯”Š»‹ÄL‚—y´Ú94LyMÖeMÐl$Ê^&}¼|ùÒ;IÓ“=ûx!\1%C\–ÿŸõx™ˆY^³ÙÔ7ù½*íŠuGuÜÂ/§;ȵþ2Ú¼cÒÏ6ò4éç± +zàr€ÓÓa +¨PÚU0ë8þ*Oãþ…XVW¨ðJrG&¥Û³üÓ-xýÊfœ~Z{zܤŠðË©ÈIê%0i*‘ ì%ú/ òîEÕP ·Ñ–K=Ù/«–IÕ-l+¢ªcŽ€¶¶kú:Uƒ + ÌЫý‹T%ÞÏÁ!ò¹}MB©§ñ¼Xâ±Vd½òöfë´jàøéof{ +l´”‹¦Y#tÒ¬d—¦‘†^tÛ²€­|èþžs4ÊUÏwÜÅR¹æ…JÙïŒPÞ«E<¶’™Á0Q7X'Àí2Ž%#:y<A +Ü¹î¯ ‹?ba7Ò)ˇYD¶7Í*XãµÆS”Ÿ3cI4»&%NS¡T;Ó›§K`‚,èî¤æ2S¨ûl :µÛ¬—d²Ê£Yä¸o8]ÍG¥\JÈצÔF ÖaÒCGݽoUKyž÷ã¦yeñj¸ãËv– z^çÅN `Vn¶'^Úÿ¾Ö<)‹ë³Þö +=û„6ŠÀ<ú²DÁ€æ$D¸.È峕¦'ÅĬèw³zŒ@ë¡b„%q'¶ÞkëN)"¼þAÍú7U;­ÈÈÅd©K¾#z±ì $ðó%î….gkøÔEKLzw_j˜0½Â.—;,½_€ÅS÷„ð$ÒJ÷Ž\ߥ°,’+,WX ħ·ßÐgvµ¿×,\]5±”Æ+­ëDÙpš¦ð?r÷ÅÛ‰&nÇax}%Ü“¥3µ‚„UÌZ•w% ÿ4· ôåÚ´ó‘¸6™Ö {Ã1œOiv›Õ»·£{çU8çºz(ºm¬™Û£ ?|¡NÀOúõG,pßê'ã\³î§FHÑÁéš±Es¡ïë@̶†I~“)¸ï䔪ö›¯ÂŒE}“a.1Ch¹ð\ `- ÃýIòmE ãˆìÑ®.X¼©j³[³t'Aßj: “Luº•’‰¤åÐʬ±³XWŽ^åÃÚ{7À1‡¨°]H×j„nÀwÅK”0ÇÓ‚¾GíB¦_˜g«߉¬Õ1× $ + ØR„$‘–(52ctk`°`[&æÖ äl Ñhǽ†–Áb«eùdÀª»_Õ¹Ù±ïÐLg μ‡ÐËV ƈÙM“O‚^vX[¢"RSÚôœåùÖéYœ«jû×Uµ!)tÈÃÒC“X8‘ÛõH Ø!4åõ«'ÔÄq°¾ óLž’…NØS꽸}M@€ã^ðá7„xÈÒ?ú§öÿ€ Ð|IŠ›ÚŠ[ùûàˆàÜ¥Luïò<×ÚÍÌ©‹ŠàcÓ{ûDú×GtAò@‡ZÝ'Ö†e-É•}yÝ•‘îi£rÞǧØr7,«2xÙÊmr·5µÃêb’;(’¿òZ.šSîÌÚÝÿÚŽU9㸽#”_¢ÉÌö‘ñ\Úß,ÕÑ!a…K÷¥ÜÑ^ ‡Ú#:0M[[˜»„ªñqhî8DxÔÛ®Ö?Cô*É1ÆâŸøY¬J&gP +"é éGôÙ:!ãê?ï:[¡¸€ +Ý‘qû + ÚãaÛQªø…÷_^Ž[)?ïVp£Ó92€šµ´`P‹ûº žP#ºW•½Ê}ÓåÆÐ.¹íU`–g@¢Ã¤Ö]"¦9¢ç’hqÒ×DzeN~Öãí¾liž€¨“èË?˜’ppË—\¨í6äcBc8wœAS lj 0à´ì §Î D¤vŽ¥‘ðF„<ØÒ[Ðî‚~ ±ÇÉâ¾×IÜKÿf˜n½ñ:zs÷ûæEϬÚFô°ˆ_§TÖßÝYç±­k•ˆÎ¥ûü:×›RÃxS¾·¦®{o©]„|gXë"y$D¬Ö.0À·jm>ˆ9»sÖktŠ/g'óY¤0¶æÂœ&Œã"'0LÀÞÓŠÜë4˽f׎{­[`èy¡TwÊ|µ†ßD»WëÆþ‹FÞ¦Õ¡2­N¥MzŠ•è¥UdšNï·ÊIý,'õÊ­tâB‰T‹‘É)ÓMN•`—œf|!D±¦2QšJÑÎJ”®Ä_ßÄk{mµF'šø÷_t¯â6ù;gÙÅœ9VE2Û2k]ÍJ¡ÕQù¾8™¼ «©À©é)O6h{“Nˆ=í9¡UŸ ™Õœ¡LsÌiC+3ecN!{îô> …,),^X‰ø ˜e# Æw“;ZMÌ$Sg5O›ŒÞÎ2™Ü +“jŽÍM…=HÅlËÒ'ƒS¹Éô#¬ôF£BfŽ–„óUÀF˵‰9r(]lÙ‘Eú28vÙ8îŠûÂ¥¥‰^M©å•d{Ò©ÆMNG#²‚”è&4É<âô»Ð>“ìYÈQpÏÒ£®o_+ÜÑ +¼õ¡ +¯ª …Í€¦‚ o»<’¢0Æä~véqIö¯1ïïÏ„cxg—ù G&zª”,†-ýãÑÝ+Ìf/Œ\q3þî¸cŒþÃúƒD"•ý éçPÔ|ãm˹ÅŠ»)HYAáßÄm'¡-ñ†L€ÈG…O" þø+vÂsþ’Ú¾PóЖÇÎõ…£C@ÌXc[È|xÑË¥$}¢Æë3,,>8 ÷/Û)Ä +’«<…"kдÚ>.øçÀ€ØÚgÔc5Yî©ûNQ É$Ö½¼%ªÇ q⎾Ÿß'ò‰Òíh„jœ.…Èð©}jíÈÉ&>N£^× pwÂu¹7a™S˽ç{\(ÄÕŽääÑÃà ¡À‰…f 1ç`ž‹v gvâîð­A±áî j箺“æá‘ä„ðœ<ÁûÐS$wé3§Ö„Js^ëÓäphLæ'Zß_Få™à˜â7qãòŽe¶Å‡l¸- +šöÔN“¼5ŸC`ÓÞèwŽ›xDÛuQŸFCǵ¿šÑŽú´æõDü̻хnULÜu´Ö8ªö\VC[el³|ÅxÇ-¶êžlEìOb1Ù3ïá’öù®¨ØzH¬¬˜ÃNªÂòkÝnÄŸ`ãkìÊÑ+ËM·Å(öÎ󶺲Ê}7ÓÚ$ˆHPº2fð)¬sÇí¦ÊŒÒö»ÈêfH¦<o¡Â±×ED-׊çxØC•VKƒïÕÚxbüì}U,4Ë:|I¡u&Ÿdl%X¡IÄå§&Ø+‚µ®CÜoSÞšÎÜ‘qˆ‹Q(nº˜ù@oáÐåthi“ƒ•žL¸T¡š¢Å‚)*\ÆX©ZÂR‹¬•iȆW²P]aa•ª)HÐG)+&cäU»VSJKʼL™ÁB‚iÖè•»?|wÛ»^ªM-X̤ ó§ÍÐ{Ý/t.ÈWf¦ÙI}÷ž^¶Z«|Ȭb<ŽüИ°  YÂ,Y¡ËcÆŒ ÚF+Š+»$êŒ(¬%†F˜¦2 c°¤¹Z5q¤°Œ„(& 1a‹¿–.fÆ¨à† +‹/Öš'2.x Z,¼YÃÂã•Z0#…,¥u—xo¸¾‡fÊÙZ~ÇwÝ! W •,aÔ Ñ3XØPYò©åÛ…4Xà|˜ª2n´T¸²F¥Ü¼Ñ®²†„*RWÞfu–ëä—3!tô÷®G +Ï.Ó­EçÙé#* ë4eb¤”À¦óóc1-Å}ì(Eé,(ýúßxF¸™â´bôE9i˜_Ø0£Ì¦J ØdOà üð/ç È×ÞS6K,qÓPã%½t‘Z…šùüɤ;ÓPR¡r¸Í‚å¦\‘ÅuYkÞùzÈJÃÔ +O9Tˆ7.'ðÀ`è¹Ñ’FÆCoA…!Õ‚÷lIÄ&Ãz†Ó$¤ïx•H¡»þICVPŒ˜é°š“”2üš ̘¦ñ‘¢‘öˆh=}¾.Yà +¯¶*Ö=©E1 /¼Lº‹÷}DM±ž)+sp˜¿ItaµÑYBm4‰åÈË ODù-`Ø„ œl—mÔë±ôß:G*®Ú +µŽt^›ÑP¾qZþ´Q’ÿïÄö° +‡f£/Êãpaxð©ÓIejâ“·g=ÏóRnÀ ’¨-B‰Œ¾?M©E%‡…)”#}¶õ×´°eö·rr»îä|daa¸à™ÇIajâ'ÍÊ`¹HóRñ- Jý‰t AÁ­ë—Ò°•÷*§ðÓ÷8T˜,Lˆ$ÉtMòIe\°"ey1ò“T oä¬+šÎ0+ûîEH`f?ß… 0ÁRÇðD³¦õ±>mR«‚ùm#÷ŸÂ€%/gɤjO”.®ÀhXå:aX¸Ë ¨­XØËKDYýù¡<1&Œw|4¢Ä&ef(ð?ŽJÄ;‚2¶/yÀ”àµü“«å;›Ôå‰M(N…Õ*Ê{Î!w7Î2 R°…N °£‘õMÛƒ±¬1RÖ r\’Áß~ûÃ,$¬–”CçêGÓ,D´´ZCÂäÙÚOÑú:8i7'?j_21]$#¬ê)ª’x\ 8Hûk’¤c­¿ØX +“(ÎC“Pþ:S,Ÿš¯›˜’šðÃp]TOÕù—,"Û=JŽÆcɉZ˜dò>S·ãþáiÖ*ÔžC"ó _±žÌÌ$Bß´±‚äÉ–[1b)}6¥'€öwZ¾±ËÄÿ„V_U|ÃÄ4{ ÖUÃûGqhHö=ù"N¢#)„O\’¬e„ $oR&’(>¹Å =òo<5"-‚°_×âéUe~†nõV߯±•’CൽãyÝx@#mýŸ\¸NfÒ"¶†,HÙ5Sy¨-é%Vo^´»Œ jýRO +­F䡈¡Ô!9„q=4Rü32‡°uª‚Ýœ¼bë© +Áë%¸þâf+µnKUŠjnºzãCyW&GŠ–¡ˆtI¤Qà3CeS·$ˆÓÿþ^Wb„……UQ®œÊ]CæÊ*2¶ÆƒêråB^¹¤œ*aKÓ¢uÕ§]àh¥™4OoŽ}ƨÅRZ¿k¨ð Z¤”€Æ.K¦”`FEHÃÆL•—3Sl¯°ZHS…Ì’4Q\Ðd¹pÆ®Hawc&ë SXjSEͬ€kžÚ˜Š¢`©r&LK­ /¥å~í–š!ÎT lâ¸Öš,,¬5Ž"¸q/‡fK5Z –+$l U˜¯ˆÀäuêWàrEK¼ ©ºÂ"EjÍ™¤²¾Š–6.àU¨—òÖë™í{©¯”òr+Xjn¤¼@-ÑjAË-\Xp¡„„¢eXg¦¨Ñ"•”2q-Hñ¿D.‰¥ŒÔÕ +]ÒDL kž°´¼Š6%Æ´QuϹób©–ÒÒînªªÊÕ7V¼p±"%fM‡ÊZ3•ÖÕ•-+´”­ª¸ÅQ³W®FSBU” aÚ˜a²Ä„(^˜Ô‹aƒS¦ÚD…!A«…-m°t)C& U¸ Ê&+ʼ”YA –´ÊˆÁJ&7…dÞ˜Z!*ÊLœ5#¤I\ˆ2Å+¼3…„}*¬lqA„7"Y5Z.¬aÁ„'3[Ø…©(ÏcÏ_Gæ»Üþ¥´ØßYh.g¤dM‰â”™2h²Œ‰bœ£2µSZTÆ´0µÅ ›*]Þ¤QÃF…VÁ-†¨ã~£Œ$£Œ&!„&fVÕÀÀÀ€` „£0i&Éà …Œ Q £Ã$%ûzž²°ä8A©iïãSàÛIKBÎRéTâI£öCi ô#P@·ÓÓhC#yQ:`c|ŒD~ºšÁð+‰Wnc +Mƒa¥4ÒŽm]áuȺ¨ÙFÔ¨ú¿‚…`?e$ ©=:-ƒ¹÷’ é[ò ‚_ÿŸ*L¦!l…ICì?à +Ó‚Cž§¨9N’àSwOÅš_>¿þ_S˜<û΃z‹úÿC…I’ñ>ʸ¤4GÈ$Lí@úõ&ß*$÷u…‘HhyUØxõë’ª°² L\çÏ_ÕŸm~ʬ‹(wBK鲕GŸ¸+˜NàÇøu&]â°&NšbËz÷3vÇ}‘ç´}àbQ*…å ÌÀèSfò«J‹XÒRƒ½ã{'ÿ8½îÞë¼}€Né‰@Òׯbe±¹g ךÙIOüwC°„ž°S6ÙC„NRè„Ùû°5ÈÅsY›0âÙÐ$¡]—dQÔ’„Ð…ÿ92®·.¬X)ÌbÖýÓä÷ðæaý•±’þJècrr‘ÂŒ ®t:]r?àNØa8ÃÇ'ÎÄ +æé$·‰0R9OúâàÖåï #2Ô“”RÿF_®õ––¤D˃þ'íç “… ‚nMûJV   +Æ”qÖÈ“éÌ%fƹDC¿§±³î/Ï2ÃÆ³Ÿuós‹Âœàgè0I‚gG ³`p7b_ù?±‚X_biuu>}kšÂ6¡C‘…IsçâC<º`Š$²šP/ÔÒÄë5vVhC~P¶ç»¯ + ¥ÍÂÁ +eèi÷ÌÒã€Â‘ÌV˜Vçƒ8Mz²¾Á¶^ Ä'ÉHVÊ1ߓ˼ÂNuC ºù$Â,9aamÈUÆð1 K1pÄÀ~?èI‡­!—šIb®Z’%}¬qÙ"iÄÅ¢ Ë"eã.,ë—>+ñ¿f€˜¥ù¦ß|YX¢ÂQI-,'!FÆêI¡…|õFóÆ ‘Z˜¸2€^_u˜ûê,Œc7”I9È´'YŽ‚ôž‚ÃùœØ9~/Bt2TŽ»ÄŠ‘ââ¤÷¯‹!«¬-ãÌ£¯IÅŽò…Hˆñžé‘|ò³0Æ'!Ž^+A(¡ÉD æ$‚§ÔÄEŸ‹ÙùI~]¾¶°9CAI)õñoè+½l…+[(ã¾õCi7®Â¤ŠÒ’`ÔæÛ!-lØGTB/C4Âæ|4t^JR‡öAÒMêÑ”*‰\‡ÒÆÒêTñ<.ý/ÒÂØà”‰s$á4« +'!L|C;Y¯Ûe {j#ó•“ß¶¾t´0M˜Pê&…DçSiÅéüOÝ@Jýº~ma™¨øÞD_XZXµ )óròM frCKt¹šøÇ„̶€>vÈjå Da±g%érQVLú œÖjªð˜6QM(„ƒ hÄÙ<>æç?Ê÷ÎÂFx^²A)‘5Ã'$&ö’¼"¼Ùw*NU€lãk5 ³&³ž¶¥"“oÖ[\>¹|ÿea¡¢%cb}¶´^wÅJÜpŸ¤…ÝÁOb ¡‰Ì‘(‹…ñ=»d鉗ø]u1V9‘·0\jÙ{úu ä.õ‚RÇ:{o ŽÉçíÂ>Ü¥»ÞIùÛÂ:»ËŠ"'ûfýR²“üÂô5i»ha‰‰¡ÚdÒì&!rt`y tI1Ïcž‘¢–`O+ÔëÁ“ 3L¾½ózp ”y$o˜{Gyd¤}}©ÑUL1— ÿK–òE¹Y•£‡ºÓ ûú +K«T8Ò°|Ô·r¦ÎƒL*“‡ §¤†ŠvŸ¾¸NˆšeFíA¿}ùÚÂ(I™Ø¥\RnñÑ@¦±jò«u!ù^!±¯/ DRËÂâ}Pz1·°ù‘kM(+ +O?®oYâGÕq «²Ö¬4áˆñî‰ÂfŒt/ò-l£ÌÍeçŠó¤c8…ñDSÂo÷“ëüÖƒõCÒJú ÜYº½¯+¹°=»"TÏ`)ùÉïÆ°¤5c ð±4„LÒ¬)ìÞ§€‹.F˜+k)Œ{64Ich×} µ$¡†qᎠì¡-¬Õ]V=r²A­_Jv’_ðA_“¶‹\˜ˆ8¾j;ëYúo2)Q²:éâc2?ÿ¤RˬÁîËÀ<¾)àô.ñ±óKff'(cÊ}| +|;iIÈYªN%>i´~(MD £€h§‘ÒhCcò¢± ÆÆGÀ'ªaðÝ•œWµ1P+åÀ0UhǶx;d¹ÂÔLgê\â(ú\ °5©·¬ß®ÁÜw)ØäMyˆ§cÏG&ÓR^Á‹&£úϱ´ óSÔ—$xÁÔ½§bÍÇWKHϱÿÏ&Ïà]ç¡Þýÿ¢Â$I‰xe\)ÍÅ‘R¦ö }½I‰o•»²H$T^l<úu)Ÿ,(×ù׿lá›PfuD©¢Ù~\ýÄ]Átz‚wà×%PÊ=¬#Ib¥>ÝõŒ½C½ÈmÚÕUÓ†2˜½ÑP%¿£´ZP0®´-Ÿk|¿³g Kq„§oô±‰®1üŠ1îY›9e¹º4I€!Ì/cé" RÄ>±CÛµœjìDw°°û:Ÿà&{¦¾2h±á SÕóA3ù9 …ïŸCáÏmm…„õMš`¦b֣ú–îi2`öÅâCjÐǤà4 cq¥Ñæ’ÌeÏ$QO÷ø\mq$Âx’ +¸`#ªû?±#±žZÙ¨'k(.‡¥öcsÅïÓü֊øoýOÚ[Ø&˜"? ´™ÄÍã·%ÒþGw¡Lƒær˜ª5™ˆiX'VÍêåU!Ùüú«Âr0ȉ¶g飭e0¸w¤¯xˆ±X/±4r¨Ê:.}mea›ð¡è¤sáAÚ`K)Mªbj}‰uµv&T!?¨³ç—¯ cef´áp…òéÉõ¬•aŸ,$.¿£EàÉÖÓÄ@]!‚•öFx/¡+¡¡–£Ô[Öe‰ô’´âÞÍ÷dÃ0ð¸" šù$<šsI0CДÜlt2l„E‰¼Õëlà»D«{J™<6øDb_¨±™$gÑSâQ§2¬íˆ”¡µç1l:¦J¢ÞSTzV]Ö³Ä,OÛd‹Åj4¤·¹x~†Êò›'ÍG¥\X‰-L Ê”ÙUeŠ ªNEµÀB˜+-L9+U+°¹âfL”,C8Y܆Œ ^XÀÂâj¶Œg¥\°EäßÞý르Üÿ,£´™,)w†Š¦±2UÌx!!‹KVVuQƒpðÊ,V¡JÔ“O³&Í\‰BeÉS˜ß)jØ@U ¥ +4WR¤¸GÝ„!!Œ2.`©¶yãý¾>öâz&ßë¶ó•oS–¬Àn”ÌÔ•­(vÙr%"°_ÙÿµjÇÝû{÷—å}Ÿå÷µ­B(3%0 &¥EêlËQš4]V5&ÝÐÂÿ•6X$°”D¨²( iÜŒPekà”á"¥ÕE« ”—.SæŠV UHØ¢›(7lÆ=Ï™Ã*-xÙrÅŠZA­ðJ-.e%N– $,—2nªÂœ ƒ% ªÄhÔ–6 çZ•,­ª§Z@˜PYÒf /¾–ª%[a²ÇeÉ +W¢h§+‚é}^zeËÌx½b#£Þ¥«¨«eªFð–5WS-´p·iÝöygÖ÷ÑWõ¼Mó®î Þ}÷óZo£quÍ]F»[·´ã¿o;3ÖÅDç=GOTWÓ¯[Þ.ëû¼L—÷Þÿ:•a»³Ñ²¯ëc;gÓ F˜2ÅÄÄÄdä2e¤q…¬–ȬaM dÖ”Y"S&L2l°aa…Â,‘q¦…2FXC™0k¶)†&&#89­!'ŒÔ“” b®`éåÏ®Ú=Ûvšé^—7³MLmM4WhÖ•Ñò +ùíXOËßü±mÛ_=±K÷s;ÓÖÔÔÿå¿toµ‚Ú”µŒ"›)Ï}ýD ŽO†ƒDÇŽAwù¥š'^ˆ‰mé)ìñï”lãÿ@ MB3±Ð°‡YÃšŽ¤Éqó(º‘nA¦h !êŒ1…j˜õö6Æëå€nN„ãÖ>³h†‡3äifÉXû)ÝÒï({p((À D0!AÄx+ýö÷ð}æðyç*†• ŠnÚ|ÂK·ä³žf›Ý†IàiØv’ÒÝkݸ*zèçj[†”°æÍ7MbíîsX`jv°ps@Ú|糂TaD(„ gÙ!ÞáVêÆµt–Q”6*Ó–ÅÀ?õÖ8©Yͽá9Euõ]T<ŽNyØá1¼!Q4q—E öõ¹ùš«´S;†Ò¦S·§®ã™š¶[àSA¥Œ¬€*A(™îq©ã~ ý þæÀ»Œû†—øî™ßúÔO6-Î †¡Bü³v}Ë>Øñr+Ñ/SìÚßœãG§Pgàü¾_‡©NªÃH‚˜¢&z^nwœ9˜Á:â¼NäWl^K܃/¯2yvi¨°Ÿò {kER}»o¥ íDiEFDĈüDv‰—€t–yï©b°Ý0²±ƒJrcXCDóèÖè1¯®ÝýÐØµ9è“`;A«2÷ÞišIksyëÏõ‹úÇlPû%+­Êe¬»,žË’Áv¾NÑaEpk*}^Ÿ’Q¦r)ôŒHf’Ï«Àä2³éè%"Ý2Ë2p¦¦ ÚëÜŸN©ü³kÏæRÒS“üĺU0«?ð2©ÈŠÕQñ0ÙßdRl.GWV_N;¢Jô– WœHN:oSX¦CIVÐ.û>(M(U§“·úÁº(-`Œ‚ìCh¿\`²&í/÷èðv޲Ö.º4/Š{Ýþ+8]Ò CSJ~!´s.Ñ^ƒ "R>mT`ïQ¢õ$v¯ÆõsLëBèÉw'´H®pÇ˨~Æe!"ØQ¯¬HqµµSG ˆNÓ#Šãɱ×-Ƴ ¥ÎŸõI`]³Ë  t,™M>Ï é!ˆŸ`ð#å¹/Lâ.l=`Ad„ÅMp)0ÌAß¶©”ñDµ…x¨ˆ¸ÞÉŽ¯Æ¥»ŒŒÒÕ,ÙÁàdrÅdë0¨€¾&¥£RXrîXZi2 Ç(ÅŸâùó•…ÍúI#qýsÖþ£á>%_]gOé%µ« i#–ÌÿEbí^Õ*¼RýP¾TÎ, n_HÆ»™´øÅ`TD^„Sؼ´ +eíþ´‹† Cù°›ö­ïKÉ–ÏkÚNÿ-]a5Ð,¤Ã­SÓòP´ YÝé G@a—rÆ?Mk¯hÖw=U˜”[Y‰O¬%¹f¤ˆìΊ ¦ò†K¯ó-eÍDÓ"éŠ!ýÐ5…’r;Ú8­«/5=|#4”?¯‡Aˆk¦‰}gœéʪ¡É-L@”Òm –8f^2¡Œ+d– Ò¬ùÑx'!ΨðÆÕ`Ëô:ay¥Üª³ŸöUÄ: §.E}ÓÈn’é #2eø»/WÛïK‚rø,¼ÐµØÀ¥¸œï·¥UÕ )·¶U¬œ«Á*–›&Ý@º¹Áö¹¯¾Á&“Öï'-ßÙ Ó¼G×ö÷q5a7=­Ðå×7Ùu£ Ûÿ¥Ilv³WR&q®2,‘ùÛ|Lvöä³Þ„¹øJËO~D<)z*A•ÚS0iOpGŸß×ðIŒµS)QŠ K¡Ò6 + +ì\ÓrIi”Erªâ £›µ¶r²¡CYçc—ýOZ0¼dé¬4ǧÕµ :ÒA]Á°õä5 ã磘šÂÍ‹ÄT%y¾™ì¤A$)Y‹;eù×÷Bi äôŸÎŸOwØÖq(Ä¥ÿ´üÅ0I“rãC¸\˜¯ó(kÌê.±c5}GJÀ€ ~’} +µ0é—:ý²Q$0“æÕ•_§K¤IHOVæ{Ù4P”ÔÄÝyà#v>Íü'½Þ¥O8gAüàI:ÎÊ(ó-òuŽÓš#dÝâÞ-}O§ ˜é\uá’ùd‰d8ÒûOã P¢L£º(‘6šOd3ý¥ˆ=I@)r­{ ×ÝK_!Y0@¤ 7kme¡B¯Õ0{G"B»X‹ö££òfš¹ŒÊà(ã¤Þó*È’®êXåa×VqÏäÑ] +ò¼•Ï«ÐÉtõ’a¼áìL»8üëïä­ØlI[ ’¸|½“âW|ò.;¹ãd÷¼×nŽÉ:¡­ûÛúš úxÀ =í"NF>7/vü„μò¨#Ž™\é†Ó#|‘ W €jÏÉZ︈˜¶9›;_E׫ÔZ|•Á’9Ø:Éy)(w™êëÈZáǘ0¹ÉQža4Éáß pçïæ*Ûgq`w¿> +š×:t9ú”.iæ¼GIZv«—0 ¹vq~A\ïYÒ˜$ Ïtª ®Íæ$,ÚY»‡çBN‘®âz¯åŒÿm›i[dô%Õ¶+”¸æ£t$i7ùHȦ3Âw(‡²s:Ë@;(ß^Ù‰ŽvVúø)U„›C¶ X”¯Ë f–ŒÿUšPÂY‰Òi„®ö#—H?,~|">`Ö6Hª;ÄÌšR¦Ÿ±†än-d–-˜Q‹‰EÍc1£‚Áþ´ÊìüUecë«—óã‚%×Ü•+0üÐØ×¥ATׄ ft0‹çà¹aXÒW²J²zÀÊ“4Ò;WYt,Ð ?)“9ü+/å2¯IàÿÛ°Þvþ† +±@߸{½“fݶÚ]&*r2‰–i0Y'ôúc[_“Aª0I1w¡d2ùü‰NÞxìæŸt¡ÄÄ]ƒNƒ<²<|s(“Í®ôÚ +endstream endobj 44 0 obj [/ICCBased 51 0 R] endobj 27 0 obj <>stream +H‰¼WIoǾϯè£|˜f/ÕÛ!ÒŠ Nb€u$/¤)ch-lèßç«ÞgÈ'ÈASÕݵ|][_üõJ\|¥Äå·Wbù¸(áb’ÖZ‘¬—Ê‹µÑŸn—Å/ËÅÕµ§G¡$™À¿6Õ_ñxªËW×Båâúê/‹–äøM,ßaí§Çå£ÐyU ­¼Ôѯe´Qœæ?,«’ZÈAð·#¡eÀo%ŒôN‹ÓRIò^†àÄÖ!IãœH2y+ˆ=Z#‰yZ‚²R)Ý9Û´“'']Š]`§«FȨœbÒÖiØkëyè„'ÆfЬg/”O8|¹ü€m"ÄGá(J«Ð:H¯Bçhe +$œMÒG=h“¤²²Žœ­s>¡; 4ö.——±¯’¿.úŠjø #Óº1¦Ëú²¿9&ºO¯Qó á°Jó'.”<¢GÙ”t¨JÐPíÿëBgÀÃ<>9îÈåv¬åD‰»oä2 Ò`Y³W^Ëtìô¯ËJNåvßXKß³V‡=‘§³"÷ËÒ9¬uÅ„‡’ +1™¶µžOÜQÃ`EH%¤&6€{s%a-JÚ¤iVKŒ7ã àágØÚ8Ý$(üŽáÖåòoþ|ñÇ%¾}µ6ýêü/O¼Ãƒà1Ç`¦†´±Ó˜ÃÐj3óO—\L¹Ìq‰h$z+·ãN2˜C>ÜYyh]š§¸u]‘§T¸Fo òSD£³2C‘lHò<‘Éü³•ïb(aÜJ5LOË]Eí§çÓ¹©G@­N(ÈFcê ˜(Ï +&L+‘ +L + åÚøNÁà†R¦ g`ytŽÃ˜aDe0(F—1*ŠRin09W]”±@£m§yl)tùÝ*UŒµ8íwHý°\ÞŒgTÉôütª ~qsÃ0ÝÜ¡ƒ‡¤K«­Ÿ]ŠP ÆŽü›‡åÕ»‡ï?}ïîNï?Üþòx»mßÜü¼äNMâæ_Ë«;ñ‡Ý²ä¯·¯ÞC_îÞm·ËL¾ý¦ÕÒä£>½ÿùöôîä?¿üýó—·åàŸîN+kÏžûíÛöøì©±2޼¾yI]TÖÿ‡¤#ò­›Ÿ~¦„!+ÙL•ÀÐC¨x3!írTavÁH ГAâù•ThÆFdU¥!ó.¸Ò°UÎÚ|W¤B5îZÉØ×tËïÚÝœçÑO1r«ãÃà;U?«dʹ:MƒšZ’冟1¨†x1¬¦P€îcqÌ¥š°¦"{Ås(þZ eò¦ ðÈAhÙĽ2WH‰ç®à±ŠAÂ\”x©áW‡z žsc2ÀrÏ`fÈ}tÒe·ª~˘óßâ6áN7vµ²èžNx¯  +à)‚,jöîb¾Ò<"Ý•w]^q—²»J f뱤; {o“ãŠsaç­…&YÕ;¨ ´÷6aGpC=ZYB}˜½ET¡ëõ#ü¸÷XÇC#—|§Xõã­@0Ìb*ÒH<ÀlâqgLØ_¸EZp»¸&Ï̦@yºpà WcO@àpàX„ÑŽ3š àNw€œmpMfC«i8|IÕö~¦úÖd¼ÂYÇ‹ëY|ioäùb‡oç4,¸‚Nø"y Ïß~ñÄï&|F’4áÛéŽï³ NâÉlX5­ß‡ï¨ÚÞÎ4ßúí½¾E"s&‚ÝaŠ„ž—&„§ Aƒykh¬J‘&„œ 4å¨ÇE:™nž9ÛàT4ºÌŠV×Ú>rØŽj{?S}ë2÷Þ¿á¢Æöc_­”¸ëßÎiXpÓKV&hŽà#g[ð„Ý£l;LØjÀÛÉæÕ±uFÅ¡Ëk85Û‡ï§ÚÝÏT¿¶Ï_†mVãˆü‹êƒÃ»#;¡;8 +<¦ôˆD‡Qê¹þ9GÛr3ý ÁÓqcƒîø8Ûà4„›ÌŠV×Ú>rø’ªííLó­ßÚÞû!\ÕàMæ¯>¼þþJæ 0ܽr  +endstream endobj 28 0 obj <> endobj 39 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/XObject<>>>/Subtype/Form>>stream +q +/GS0 gs +344 0 0 296 459.6880188 190.3119812 cm +/Im0 Do +Q + +endstream endobj 40 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/XObject<>>>/Subtype/Form>>stream +q +/GS0 gs +343 0 0 294 140.6880188 191.3119812 cm +/Im0 Do +Q + +endstream endobj 74 0 obj <
> endobj 76 0 obj <>stream +H‰ìÐÁ‚@±µÿ¦ý+ pÌˤ„Ììy±KhÈiEjEjDjÄjÃjÃjÃjÃjÃjCkÂjCkÂjCkÂjBkCkÂjBkCkBkBkBkÂjBkCkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkb¼FkAkBkBkBkb¼FkAkb¼Fka¼Fka¼Fká³Õë¾V½>`cÕë²ÍU¯‹vV½.Ù]õºà`Uì]Ç©boù*ö²s©f¯¸p*÷Œ;¡À¿x 0Øxb +endstream endobj 77 0 obj <>/Filter/FlateDecode/Height 294/Intent/RelativeColorimetric/Length 4804/Name/X/Subtype/Image/Type/XObject/Width 343>>stream +H‰ì׉SÓwÇñîv«ÈH„#pä.E@¥\–‚"Gñ‚V‹‚¤Œñª9l½ÊÚ¢Bm= +ÔÖ"GU +hU„z@¡Àˆ,†9÷úþ’€€¦µvžÙáyÿ™Ékžùä›W^Á0 “×_0¹!(`/eúWLnTvœè«˜ÜÆã¾ ê¨èß$½†ML¢2fû°OM%šÓ$MÇ&&Q‘ðJev•2¥8f± Q& + +”®TVûÛª•˜R⩤¤¬¬B¥ŠÉ’p(++)^bKÉŽÂþ¦*¹ÔiÄTQ‰€ªª©«Óh4 Iô)ŸÔAƒFSWWSSUQV"²c°ò\eªTbªªFÓ 3šZZL&“…É"ZZšš ºM]M•ÈR°d +乎©’KU¦LZL–6[G—ÃÑ#éc$J‚ÃÑÕa³µ™Zšt uU%ÉÅÊsU® ¨¤¢F£k2µu8ú†\#c/Ëd +7jÀãq ô9ºl–ƒÀ*+ÎïúTUYU®Ébsô¹Æ|S3s¥¥••5&ËÊÊÒR`afÊçq ôtµ™ 5r°c®òUÕh &›c`Ä7XÍ´µ³wptrrÆd999:ØÛÙÚX ÌMx\}]m-ººê¨ë3çJX%»JT54YºF&V6vŽ.®n³=<=çxÉš;e˜3ÇÓÃÝÍÕÅÉÞÖZ`Æãê±™ šÄõ9ç*=V©ª–6Çon5ËÑÅÍÃkÞ|_?ÿ€€@i §l2€Àß7xÏõœíêd7S`j¬¯Ã’º>ç\¥Ç:}†’*MS[k"°qxÝÝk¾oÀ[o‡, 9e“„‡‡- ]èç3Ïó g;ksž.‹¡®¢¨0íµÉçJ=^¥&@EÁâpM-g9»y-ðZ¹tùÊèX¡0..nÕ” …±1Ñ+–½èëíáê`cÁ7ÐaÒÕ”GÏõ9Ǫ¬FgêšXÚ¹¸{û…F.‹‰{÷½u ‰’’DTïOá$¢¤ ‰ ëã×®Ž]èãåæhcÁÓgki¨*={®Öi +Ô° ø‚Y.óB"– ׬OJÞ”²%uÛ¶´í)-m[êÖÍl%Æ¯ŽŽZä7—¸šëiS30ù\¥ 9VÇÈÜÆÙ}~à⨘5 É)©;vïIß—‘™••egeeff¤ïýpgÚ–M¢u«VDWkS®.Sr®“Y% ¨B«‰•ƒ›wÀâ¥ÂxQJÚîô¬O9š““›‡‘rssŽ9t`æÞ©×DGûy¹Ú xúä\©u°c ÁäYÌzÝË/$J¸.yë®}Î9~âó“§NaEE……§O|–Ÿwì`öG;6‹ÖFGùx8Ï4ãê’uUT˜¸ÒwÙ†¶>ßÊÑ}APDL|rꞬC¹'N}yîÂ×Å%%¥XiiIIñ…ógÏäçÈØµE´fÅ’@ï7ȹê±èj“W@6­*4-®™‹—èò5¢­{öÍ?uæ|ÉÅKe—Ë+**IUS8êûWVT”—}ÿÝ7Åg¿(øôpæ®Í‰«¢B|=¬M Øšd¨·ÀdVE²Æ;·ùA‘„”]YGÿ^x®ôRyÕÕêkjkëêê®Oíˆ@mmMõµ+•eßuêøáŒ×E‡Îsµ5'+@£ÞãXǦ•΢6ÀÃwѲ5Éiûåž¿xù‡êº·n×ß¹Ó€54ܹSëæÚkUe¥gO}zà£TÑê¨`ŸÙö‡¼žÏJ¦ÕÀt¦‹W@XÌú”Ýçž:w±üjÝÍúÆ»÷455cÍÍMMîÝm¨ÿ©æÊåÒ¯ +r²wnŠ_êGV€¯¯=y\¥¬3”ÕlC3[×yoEÆ%¥¦>q¦ôòÕë·ï7·´¶µµ·w`íím¿¶þÒt¯ñVÝ•²â/òîÝ’8×ÅÆÔ€ÍǪ©Ã5'ÓúöÒw“wdåœ<釺Û?7µ´u<ì|Ô…Q=ê|ØÑÖòàç[5Ußž-8–™&ZýN·«­™¡ô7ëYVòÐ5ØÏö Yþަݟ/*)¯¾ÙØÔÚÑÙÕýX,îÁzzÄâÇÝ]­ºVV\˜·çƵ˂¸ÙYpuä³rŒ-<|¯\—²çà‰//VÕÕßoéxÔ-îéííë{‚õõõööˆÿÑÙÑr¯¾¶ò›3ù>ü ~Å¢7ÝíFÔSàVÉ_W&‡géèé°%ýÈçç.]½ÑØÜÖÙ-îíëïÄúûûz‰k[SÃ+ßýìÐÞÍë£C}=,9ëø§ÀÓg«ÏÊÉÓ?,61ußÑ“ʪoÝméè÷>Ɔ‡††žôŠ»:~¹{óÚ÷ç Ž¤oMˆYâïéhI½°&>\DZò­œæ„ 7lËÈ9õõåoßo}ØÝÓGT‡GFþ9å&®}=Ý[ïݪ.»pòXFjbl˜ÿ'+žžVU –ßÚÙ+ \˜´-3çtqyMýƒ¶ÎǽýƒCê¿0Jvh°¿÷qç¯êkÊ‹OçdnÛ  ¬üßc ŒˆKJËÊ-,©¨½ÓÔöHÜÛOn• þ{ÊGÁ’{íï?jkºS[QR˜›™–$ ôr¶æë±&ýÍzʪ/cmÏÊ“²¶w‰û†PUå:4Ð'îj—±f¥‰â"^œ5;¯¨´²®¡¹½‹L+u¬ä3ÿ3Õ£\%¬=]íÍ u•¥EyYÛGYõå±ÒGYW=eíèêy28ŒªÒ¨s|ÒÓÕ!cÍþ³¬ÿë¯ôu®“YW²Ò_õ:²Nj<ëõg5‘²¾/a­BÖɽ<ëÜ…‘È*¯ ¬UÖ÷¥¬&Èúò=—5rá\dýS!+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈú_öëþ¥é~ã8®ÊÛtnsóf¦›Î›¶LS[aj»ÊB]'Ô¥dR6I™5Ï F©'Ak]E72£. M)ÐJ$µB,W”šW˜¢LIÅ&3MíÀù|w£y“uâ¼òýü¼y}?_$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV¤_g•ìIFÖïµ$kòÉXù&Ö#ëSd]Ø<Ö§FÖ+ÿçYµÈº oYµÿVt¥TÕÉš1Ç:026>9=ƒ®TFÕ™éÉñ±‘9Ö «ÓYÕ·*k›Û:{Fôã“S„•rÅþCX§&Çõ#=m͵•·Ô?ÃêafUä«KM¬ºa½abj]QªÓSý°ÎÄZªÎW˜Y=~À*= Wä]ÒÜ{Üô²ãƒnè“aâËÔÌÌW»âûúuffêË„áÓîCÇ˦Ç÷4—òòÒåXíX|QØv©L~:âQã‹öîþ£d\¿{%°+¾r«_È´Ž~ìïnÑø¨Bs1ï´\&Ý&â{°œì¿Çê# +‹Š“=•[\RþðIëÛ÷}ƒ#zÃgâ:5MOOÕÏýÈ`ßû·­O–—çž:*‹‹ +ù|—•ÆâøC£b“ŽdŸ-ºy·º¡åuW¯nhToŸ˜˜œü‚MNNLŒô£CºÞ®×- ÕwoÍ>’*ôá°h‹Y[mmOsæx C"cg© +¯•=¨¦íèîÕ ã㟱ñqƒaL?:<Ø×Ý¡}Vÿ ìZ¡*ëpbLdˆÐ›ãL³·^ýÛR¬î<Á¦m»ÒŽŸ)¸z»ª¶©õMWOÿàÐÈè'½~ Óë?Ž ö÷t½imª­º}µàÌñ´„ÝÛ6 xîßaµsdºq‚ã÷¥SžWkÊkžkÛÿêéÓ ~Á¨†‡>êúzþj×>o¨)רÏ+¥î‹àº1í–fe¸zùoܺcoJ†"·èFÙýºÆ–Wí]ݽ}ý:ÝÀÀ 60 Óõ÷õvwµ¿ji¬»_v£(W‘‘²wÇÖþ^®Œ%Y­l.ž~Ä©,ý¤ªàJiEu}S‹öMG×ûî==½XooOχî÷]o´-MõÕ¥W +T'ÓeR‰xƒŸ§ ÃÁÖj)Öµtò÷* +ŒÙ(S™_|ýNeM}ãóVíë·íï°wï:;;Úß¾Ö¶>o¬¯©¼s½8_™yhLd¨ˆü»Ò×ÎgýæáÊñqO‘g«.¨Kþ¬¬®khzÖÒúâe[›V«}µ²#mm/_´¶)åPzƱãYÙ§N+9TÿZÉŠÓ§²³ŽËH?”’»3B,ôõrg™Žu«ñ-`ecïÈ`s¸~ Íá’]qñûe)©i‡•Ë322þ‰¹üè‘Ãi©)²ýñq»$ᛃ„~\›áhocµzÁÌ+5.\_A`È–ItŒtトÄ$™ì@²©”•›Yà€L–”˜°o¯4&Z±%$PàËõp¡&`ñ±YëjcçàäìÂñ∂BÅá‘’Ñ»cbã¤Ò=¦þ±r3 H¥q±1»£wH"ÃÅ¡A¢¾ÇÅÙÉÁÎÆ¸¬ XÍçjre²Ý=y¾ëEÁ¡â­áÛ"£¢¶KÌý¾r³lŠŠÜ¾U(ZïËótg3Mª‹Õr®«ÖP®4Ë•ãÉãû D6o + ÛŒY + Ù¼qƒHàÏçyr\Y ¥jœ€E¬ßº®u¤3Ù®œu\o¾Ÿ€@(‰þŽY‰„BA€¿ß›»ŽãÊfÒ×~_Õø0»ÚÚ;ÐèL–‹g§—çíãÃ7ç»’³ øøxó¸^žë8n.,&æ`o;§ºˆuÖuµ•59XšÙÅvqusçp> endobj 78 0 obj <> endobj 79 0 obj [0.0 0.0 0.0] endobj 80 0 obj <>/ProcSet[/PDF/ImageB]/XObject<>>>/Subtype/Form>>stream +q +/GS0 gs +343 0 0 294 140.6880188 191.3119812 cm +/Im0 Do +Q + +endstream endobj 81 0 obj <> endobj 82 0 obj <>/Filter/FlateDecode/Height 294/Intent/RelativeColorimetric/Length 4804/Name/X/Subtype/Image/Type/XObject/Width 343>>stream +H‰ì׉SÓwÇñîv«ÈH„#pä.E@¥\–‚"Gñ‚V‹‚¤Œñª9l½ÊÚ¢Bm= +ÔÖ"GU +hU„z@¡Àˆ,†9÷úþ’€€¦µvžÙáyÿ™Ékžùä›W^Á0 “×_0¹!(`/eúWLnTvœè«˜ÜÆã¾ ê¨èß$½†ML¢2fû°OM%šÓ$MÇ&&Q‘ðJev•2¥8f± Q& + +”®TVûÛª•˜R⩤¤¬¬B¥ŠÉ’p(++)^bKÉŽÂþ¦*¹ÔiÄTQ‰€ªª©«Óh4 Iô)ŸÔAƒFSWWSSUQV"²c°ò\eªTbªªFÓ 3šZZL&“…É"ZZšš ºM]M•ÈR°d +乎©’KU¦LZL–6[G—ÃÑ#éc$J‚ÃÑÕa³µ™Zšt uU%ÉÅÊsU® ¨¤¢F£k2µu8ú†\#c/Ëd +7jÀãq ô9ºl–ƒÀ*+ÎïúTUYU®Ébsô¹Æ|S3s¥¥••5&ËÊÊÒR`afÊçq ôtµ™ 5r°c®òUÕh &›c`Ä7XÍ´µ³wptrrÆd999:ØÛÙÚX ÌMx\}]m-ººê¨ë3çJX%»JT54YºF&V6vŽ.®n³=<=çxÉš;e˜3ÇÓÃÝÍÕÅÉÞÖZ`Æãê±™ šÄõ9ç*=V©ª–6Çon5ËÑÅÍÃkÞ|_?ÿ€€@i §l2€Àß7xÏõœíêd7S`j¬¯Ã’º>ç\¥Ç:}†’*MS[k"°qxÝÝk¾oÀ[o‡, 9e“„‡‡- ]èç3Ïó g;ksž.‹¡®¢¨0íµÉçJ=^¥&@EÁâpM-g9»y-ðZ¹tùÊèX¡0..nÕ” …±1Ñ+–½èëíáê`cÁ7ÐaÒÕ”GÏõ9Ǫ¬FgêšXÚ¹¸{û…F.‹‰{÷½u ‰’’DTïOá$¢¤ ‰ ëã×®Ž]èãåæhcÁÓgki¨*={®Öi +Ô° ø‚Y.óB"– ׬OJÞ”²%uÛ¶´í)-m[êÖÍl%Æ¯ŽŽZä7—¸šëiS30ù\¥ 9VÇÈÜÆÙ}~à⨘5 É)©;vïIß—‘™••egeeff¤ïýpgÚ–M¢u«VDWkS®.Sr®“Y% ¨B«‰•ƒ›wÀâ¥ÂxQJÚîô¬O9š““›‡‘rssŽ9t`æÞ©×DGûy¹Ú xúä\©u°c ÁäYÌzÝË/$J¸.yë®}Î9~âó“§NaEE……§O|–Ÿwì`öG;6‹ÖFGùx8Ï4ãê’uUT˜¸ÒwÙ†¶>ßÊÑ}APDL|rꞬC¹'N}yîÂ×Å%%¥XiiIIñ…ógÏäçÈØµE´fÅ’@ï7ȹê±èj“W@6­*4-®™‹—èò5¢­{öÍ?uæ|ÉÅKe—Ë+**IUS8êûWVT”—}ÿÝ7Åg¿(øôpæ®Í‰«¢B|=¬M Øšd¨·ÀdVE²Æ;·ùA‘„”]YGÿ^x®ôRyÕÕêkjkëêê®Oíˆ@mmMõµ+•eßuêøáŒ×E‡Îsµ5'+@£ÞãXǦ•΢6ÀÃwѲ5Éiûåž¿xù‡êº·n×ß¹Ó€54ܹSëæÚkUe¥gO}zà£TÑê¨`ŸÙö‡¼žÏJ¦ÕÀt¦‹W@XÌú”Ýçž:w±üjÝÍúÆ»÷455cÍÍMMîÝm¨ÿ©æÊåÒ¯ +r²wnŠ_êGV€¯¯=y\¥¬3”ÕlC3[×yoEÆ%¥¦>q¦ôòÕë·ï7·´¶µµ·w`íím¿¶þÒt¯ñVÝ•²â/òîÝ’8×ÅÆÔ€ÍǪ©Ã5'ÓúöÒw“wdåœ<釺Û?7µ´u<ì|Ô…Q=ê|ØÑÖòàç[5Ußž-8–™&ZýN·«­™¡ô7ëYVòÐ5ØÏö Yþަݟ/*)¯¾ÙØÔÚÑÙÕýX,îÁzzÄâÇÝ]­ºVV\˜·çƵ˂¸ÙYpuä³rŒ-<|¯\—²çà‰//VÕÕßoéxÔ-îéííë{‚õõõööˆÿÑÙÑr¯¾¶ò›3ù>ü ~Å¢7ÝíFÔSàVÉ_W&‡géèé°%ýÈçç.]½ÑØÜÖÙ-îíëïÄúûûz‰k[SÃ+ßýìÐÞÍë£C}=,9ëø§ÀÓg«ÏÊÉÓ?,61ußÑ“ʪoÝméè÷>Ɔ‡††žôŠ»:~¹{óÚ÷ç Ž¤oMˆYâïéhI½°&>\DZò­œæ„ 7lËÈ9õõåoßo}ØÝÓGT‡GFþ9å&®}=Ý[ïݪ.»pòXFjbl˜ÿ'+žžVU –ßÚÙ+ \˜´-3çtqyMýƒ¶ÎǽýƒCê¿0Jvh°¿÷qç¯êkÊ‹OçdnÛ  ¬üßc ŒˆKJËÊ-,©¨½ÓÔöHÜÛOn• þ{ÊGÁ’{íï?jkºS[QR˜›™–$ ôr¶æë±&ýÍzʪ/cmÏÊ“²¶w‰û†PUå:4Ð'îj—±f¥‰â"^œ5;¯¨´²®¡¹½‹L+u¬ä3ÿ3Õ£\%¬=]íÍ u•¥EyYÛGYõå±ÒGYW=eíèêy28ŒªÒ¨s|ÒÓÕ!cÍþ³¬ÿë¯ôu®“YW²Ò_õ:²Nj<ëõg5‘²¾/a­BÖɽ<ëÜ…‘È*¯ ¬UÖ÷¥¬&Èúò=—5rá\dýS!+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈ +²‚„¬ !+HÈú_öëþ¥é~ã8®ÊÛtnsóf¦›Î›¶LS[aj»ÊB]'Ô¥dR6I™5Ï F©'Ak]E72£. M)ÐJ$µB,W”šW˜¢LIÅ&3MíÀù|w£y“uâ¼òýü¼y}?_$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV¤_g•ìIFÖïµ$kòÉXù&Ö#ëSd]Ø<Ö§FÖ+ÿçYµÈº oYµÿVt¥TÕÉš1Ç:026>9=ƒ®TFÕ™éÉñ±‘9Ö «ÓYÕ·*k›Û:{Fôã“S„•rÅþCX§&Çõ#=m͵•·Ô?ÃêafUä«KM¬ºa½abj]QªÓSý°ÎÄZªÎW˜Y=~À*= Wä]ÒÜ{Üô²ãƒnè“aâËÔÌÌW»âûúuffêË„áÓîCÇ˦Ç÷4—òòÒåXíX|QØv©L~:âQã‹öîþ£d\¿{%°+¾r«_È´Ž~ìïnÑø¨Bs1ï´\&Ý&â{°œì¿Çê# +‹Š“=•[\RþðIëÛ÷}ƒ#zÃgâ:5MOOÕÏýÈ`ßû·­O–—çž:*‹‹ +ù|—•ÆâøC£b“ŽdŸ-ºy·º¡åuW¯nhToŸ˜˜œü‚MNNLŒô£CºÞ®×- ÕwoÍ>’*ôá°h‹Y[mmOsæx C"cg© +¯•=¨¦íèîÕ ã㟱ñqƒaL?:<Ø×Ý¡}Vÿ ìZ¡*ëpbLdˆÐ›ãL³·^ýÛR¬î<Á¦m»ÒŽŸ)¸z»ª¶©õMWOÿàÐÈè'½~ Óë?Ž ö÷t½imª­º}µàÌñ´„ÝÛ6 xîßaµsdºq‚ã÷¥SžWkÊkžkÛÿêéÓ ~Á¨†‡>êúzþj×>o¨)רÏ+¥î‹àº1í–fe¸zùoܺcoJ†"·èFÙýºÆ–Wí]ݽ}ý:ÝÀÀ 60 Óõ÷õvwµ¿ji¬»_v£(W‘‘²wÇÖþ^®Œ%Y­l.ž~Ä©,ý¤ªàJiEu}S‹öMG×ûî==½XooOχî÷]o´-MõÕ¥W +T'ÓeR‰xƒŸ§ ÃÁÖj)Öµtò÷* +ŒÙ(S™_|ýNeM}ãóVíë·íï°wï:;;Úß¾Ö¶>o¬¯©¼s½8_™yhLd¨ˆü»Ò×ÎgýæáÊñqO‘g«.¨Kþ¬¬®khzÖÒúâe[›V«}µ²#mm/_´¶)åPzƱãYÙ§N+9TÿZÉŠÓ§²³ŽËH?”’»3B,ôõrg™Žu«ñ-`ecïÈ`s¸~ Íá’]qñûe)©i‡•Ë322þ‰¹üè‘Ãi©)²ýñq»$ᛃ„~\›áhocµzÁÌ+5.\_A`È–ItŒtトÄ$™ì@²©”•›Yà€L–”˜°o¯4&Z±%$PàËõp¡&`ñ±YëjcçàäìÂñ∂BÅá‘’Ñ»cbã¤Ò=¦þ±r3 H¥q±1»£wH"ÃÅ¡A¢¾ÇÅÙÉÁÎÆ¸¬ XÍçjre²Ý=y¾ëEÁ¡â­áÛ"£¢¶KÌý¾r³lŠŠÜ¾U(ZïËótg3Mª‹Õr®«ÖP®4Ë•ãÉãû D6o + ÛŒY + Ù¼qƒHàÏçyr\Y ¥jœ€E¬ßº®u¤3Ù®œu\o¾Ÿ€@(‰þŽY‰„BA€¿ß›»ŽãÊfÒ×~_Õø0»ÚÚ;ÐèL–‹g§—çíãÃ7ç»’³ øøxó¸^žë8n.,&æ`o;§ºˆuÖuµ•59XšÙÅvqusçp> endobj 73 0 obj <>stream +H‰ìÐÁ Â@ÀÀ¥ÿ¦ùCB f*°<pèÆGK¦vL­¸ZqµbkÄÖŠ­[#¶6lØñµakÄ׆­_¾FlmøÚð5bkÃ׆¯ _¾6|ØÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµ1Æ&|MŒ¯ _¾6|mŒ± _ãkbŒMøš_clÂ×ÄŒ±_óèÛA¿ái«±±ñÕØu[[]¶½ÕØE{[]²¿ÕØëŽ®:{Õ««Î^q檵ï:}ÕÚÓÞ{êî W—ÿâ.À…‡{ã +endstream endobj 83 0 obj <>/Filter/FlateDecode/Height 296/Intent/RelativeColorimetric/Length 5010/Name/X/Subtype/Image/Type/XObject/Width 344>>stream +H‰ì׉SÓgÀñnk+$!Ü!@w¸oŽ€RäµÈ­¯"‚x¡ríZV¨¬õjQAG¹j‹ÄZ©¢° c1P¹µ»} ¡  nwÞigx¾@f~ŸyæyŸ¼óAÐkû 4C гߋú.4Cÿ»íDÑ÷ š¨ûÖªã¤sˆÞ‡&%@™#Â}+Y‘ª€ýÄDs¡I P¾BÚ7ËŽ«¨ÈSLLL%MˆA0„¯ˆö °cªBTD*!A"IJJ‘!A II ù"[!í»¯—°¢YLª¸IRŠ,--C¡P¨Âh³=!‘‘–&K¸âˆV(;3¬•˜U*‘Ri²t99y”$ˆ°“£ËÒ¨—,%’} ¬ˆm ’Y†J£ËÉ+*)+«0ª(&Ä$ e%Eyº,•"-%‰d Ø÷ÞÞuœULœ$%-C£#SU¦š‹¥Éfk¥=k °Ùšš, u5U†²¢<†dIbsg„ýUBÍ*]¡ª³ØÚ:zúŽ¡¡$ÈÐÐc ¯§«Íf©3J +H–ŒFv®hLug•¦ÈÊ+2ÔXl}Ž‘‰™¹…¥•µµ $ÈÚÚÊÊÒÂÌÄØP_W‹¥ÆP’§SÑÈŽÃN3®"V*]A…©¡¥Ç16³´™·ÀÎÞÁ‘Ëuæ~ìó¬Ì´”ä};¶nX°|‰£­©¾¦h`'-Á5@ĸjq,,òô ŽˆÚàÐá£9'óòÏœ-(,<+,,8{&?ïËœcYé)‰{¢7®ñ÷r±³2ÒVW"6ì+‹@¸Ä$¤(rh\Ml¹nޫãv'üìØ§Îž/ºX\RZVV•—••–_¼p¾ ÿäñéÉqÑ‚}<œç›é³òÔ)‹@´¤i +ªlŽÅB—e¡‘»’R³²ó +ŠŠË.WT~[U]}•¨fÖ&øüêꪪÊ+_——\(<•s$-yOTت®öV†ZLEY´„ÁDWt HÊЕÔtŒmÝ}B6ÅÆÌÊÉ?_üÕ•ªk×oÔÖ×ßD5Ìêúúºß_«®¼\Rt:÷HjâÎ-ký<æ™èj(Ó)¢;Éu®p è™Í_ä¸>*îÀgÙùÿ*ý¦ú»Ú†[wššš!TSÓÝÆÛ uׯV”]8“•²/:|Õr—…æšh vWt 04 ,ì\?úxclbÚѼó¥5µ M÷ÿûÞȵ>n–M†Ej:Wtf149–n¾k·î=x4ÿbÅõ[÷Úxüî>¤:<22 +ŽŒŒ ôuóŸ¶Ý»ýý•K§¥î‹ZçëîhÅa3ä‘ëÄCKxf!Wy›cåèîµ?õøéKWn4>xüSWoÿàðÈè‹/^ÎúÂ(‚íïíêøñAãÊâ3'Òâ·­÷÷p´6d«¾zÀŠþ ó•mhíèá¿~[ü¡gK¾­½ó°ýÙÏ}CˆõåË_ _Ú‘a4°ÏÚ[îÖU•d§'D‡ù{r_慠\¹žèÌJHÏ.(­ª»Ûò„ßý|p±¢ýϬE;ø¼›ÿ¤µ©¾º´ '=1&,ÀÓÉÆHKUJžÉUËÈÆ ¹Æ$¦ç–U×7µòø=ýC#ëýMŽØ‘¡þ>p-+ÌÉHŒ \ú:W2UAàº40|{b†ÈµsÌýæg}¬Àµ·“÷¨ùæÕ²ÂÜŒ¤íc®Ì·pMÊÈ=W~õfó#^goÿÐè b\ÿèú3D ì‹ÑáÞΧ„kù¹ÜÌ·qeŽ»f޹>íì} ¬cûªk„È•6½+Mä®35ѵá÷º6€ë«+ž&¹Ö\c…®Úàú4­k—ó\µlœ½‚"b®5à:%pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<ë¯ì×ù;ÕyÇñkîK%û±oÇ~ìYOB–TB´¨l“e¹3-¤f´wS#qÚÔt7*Z¦IÔ41¨¦Ë(îI¤8"ëÌuÝŸï÷ekrw_ŸÿÁy\¯ë}>_˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð¦OtÕ59Ç;0r3íZ‚®cBW˜Æu ôžƒ®ÿ_#\Kh×Í|W݉»>D×Ñ}Š«ôkº~¨á®'ìªöΕ+påµvv÷ þ…°t„õ¯ÁÑ®C®ÒuMäfæä—W×óZ;º{û©Á",a%sìïíîlå \¹u—V ]½ÂcÓ†\[®,FæJ»v´òê«Ë‹ós2¹‰C®jãÊ2á¸×M»Ò2²óŠÊ×5µ´wõô P°(KT ë@OWGK“À5-16<Àë#®Lâê¼Ð?,&!5ýÂõ_J=m|õúÍÛÞ~KÉNúþüsp°¿¯§«ýUcÝã²¢¼ìŒ´]›ˆ« ÇDWMAZ|×éâ âʶqöô[Ÿròܵ‚UµÏÿhëìîé#°ƒ„v²GúûÈy}Ýü¢¶êAaîùôÔ„˜0ÿ…Ä•5®«ÐTâ*ÏÔa[;yø†nܱïxÖ·­ü½×ÒþæmOo_ÿ6ÐßOXßvu´¾lxòÛý‚kçN¤ÄG¯ñót¶a³˜ +Œq]ÅòªÚÆVŽîËCÖoûö迯ütçau]cs[Ç›n"ÛÛ‡õõööôtwu´57Õ×TܽuõûcÉ;6†úz8Y³u˜ò ñéã¹JÉ©hY:¸ù÷Í¡Óó‹J«ž445·µw¾éêî~‹½íîîêêìh{Å{^û¨¼äæå3Gön[²ÜÝÑÊX[•r*4Ž«¬²¦¹Ý¼%+ÿ¹%‰›q!÷ö½Šê§ÏyÍ-m¯Û;::±ÎÎŽŽö¶ÖfÞ‹ºšÊû…×sNÜýuT°›ƒ¥‘–Šœ”Ø8®Â¢’²Jú3l]½ÉC+>åøÙ+7‹K+kž64òþxÕÒÒŠQµ¼j~Ùô¼î?Ue%·®ž;™š¸9rå’yvæšÊc]?û‡ÐaQ Eu]S޳§oè†m{ʾöó²Êê'u Ï›x<ÞKŒÇkj|ÑP_[SU~¯ ï♣É;£Ã¼]mgèk(ËJŠ +w}ÿ!«ÀÔ1¶š½À狵[÷?{)ïöÒŠªêßkŸÖÕ×?Þ=«¯¯«}Ró¨²ì^á²Ò¹»ãÖ…¬ðtæÏX%™¸’‡–ª–¡…ÝÜEaÑÛ÷ÌȺœ÷sñ½ÒŠÊªGÕÕ5©ºúqÕoe÷K +n\½púHr|ldÐR·ÙVÆ:L…QŸ[WúA ¬¡o6ÓÙsŪ¨- ûgf]ʽYPt÷×¥ååI“;"P^^öàþÝ’Â[yWÎw,5)nýjoW;sC-ê90Ž+ýÇ%£¨Æb[9Ì_¸fC\RÊጳÙWróº]øKQqq ÕIýóKŠ‹‹ + nݼ~õbÖ©cißl‰ ZæîÄ1ÕÓàÿmu"Ì?3l]<–EDoMÚwðÄéï/\ºòcîõ¼üüØüü¼¼Ük?\ÎÎ:“~dÿî±kCü¼çÚ[ë¨)Ž9¯ôƒ€Xꫤ®Ë¶²Ÿëå—°'õÐñÌïÎf¿“s»˜““}þÜÙ3§Ná&'m + X²À‰c¦¯¥Bá)#\ßò" ƒ5ã8Î_ä±aËöĽ)ÜÃGŸLÏÈ<…‘233ÒO;| 5yw|\ÌÚÐ@—YÆ,5%Yrøçu”+õ" Ë22·ur[ä´&*ú«í ÿÚóí¾ý©i\îì—›–¶?%yïî];âb×G¬ +Xêéjoe¢§©"/-1ú Юô‹€ V^ES—mA`½—® +Ú°é«­ÛwÆ'ìJLÂH‰‰»vîØúõæèu‘«ƒ|—x¸:ؘh3e¥¨×À(×áƒUdjéXÇyž‹W¯ŽXûåú1›bc7Óm™´ñl즘è ë¢"ÃBVúûx¹¹ØÛ˜²Ô•åÔ\ÉãJ –\X†œkÎqp™ï¹x™_`PpÈê5aá¤ÈÉ1[ºê‹ÏýW,õvŸë8ËŠ°j¨(ÈHR×uô\ù/!êI !MÛYÙÎv™ç¾pÑÒeË}ýüé>Ÿ´ñ`€¿¿ßŠå>‹½<Ü\ì8&4+¹ãÌõý`EÄ$)XM–ÛÜz¦½£ËÜù Ü=zyyó[4ixy-ôôpw›7ÇÙaÇÒÌHO[fšëhWz°XEUu-]C¶™…õÌYö³œ]\æðs´ æ¸8;9Îv°³µ±275Ö×Ñd*c=WÁ`° Y%¦†6K߈m:ÃÂÒÊچÙ‰ñãØØX[Yš›™êéhª©(ÊñY§òYǺ¾‡•’–SPVUÓÔféé³Ù&&¦?¶±±¡¾®Ž–SEQ^–!I³ŽwFÂN—”’‘SP"´êZÚÚ:,–® ½IÛ‹ÅÒÑÖÒÔPgª()ÈÉ2¤$ÄD¬c¯ÀØiÂ"¢âd³2ròÄVEE•ÉT#©cꔓÉTUQVR$¨Ò I 1ÑéÂä¶ŽFÀR““”bHËÈÊÉË+1:ÊB^^NVV†B§U©±~˜u–žì4šV\B’à2Òüd&{|"%E™Š‰ŠÐªô ø0«–L–Úì4aB+"**&&N%ÑÑb„”˜T¾*¬d¥aiY-±žNÁ†E‰bJ¡ÒªaåÃòeiÚ)S©¦a#¢Q:Õá²-…+DûbâQ„hêGUßÉÒ´\lœø>ŸMXuí;]llïˆ&®:’û›þ7SÔ@ŸJŠaØdé¿ ·ø +endstream endobj 72 0 obj <> endobj 84 0 obj <> endobj 85 0 obj [0.0 0.0 0.0] endobj 86 0 obj <>/ProcSet[/PDF/ImageB]/XObject<>>>/Subtype/Form>>stream +q +/GS0 gs +344 0 0 296 459.6880188 190.3119812 cm +/Im0 Do +Q + +endstream endobj 87 0 obj <> endobj 88 0 obj <>/Filter/FlateDecode/Height 296/Intent/RelativeColorimetric/Length 5010/Name/X/Subtype/Image/Type/XObject/Width 344>>stream +H‰ì׉SÓgÀñnk+$!Ü!@w¸oŽ€RäµÈ­¯"‚x¡ríZV¨¬õjQAG¹j‹ÄZ©¢° c1P¹µ»} ¡  nwÞigx¾@f~ŸyæyŸ¼óAÐkû 4C гߋú.4Cÿ»íDÑ÷ š¨ûÖªã¤sˆÞ‡&%@™#Â}+Y‘ª€ýÄDs¡I P¾BÚ7ËŽ«¨ÈSLLL%MˆA0„¯ˆö °cªBTD*!A"IJJ‘!A II ù"[!í»¯—°¢YLª¸IRŠ,--C¡P¨Âh³=!‘‘–&K¸âˆV(;3¬•˜U*‘Ri²t99y”$ˆ°“£ËÒ¨—,%’} ¬ˆm ’Y†J£ËÉ+*)+«0ª(&Ä$ e%Eyº,•"-%‰d Ø÷ÞÞuœULœ$%-C£#SU¦š‹¥Éfk¥=k °Ùšš, u5U†²¢<†dIbsg„ýUBÍ*]¡ª³ØÚ:zúŽ¡¡$ÈÐÐc ¯§«Íf©3J +H–ŒFv®hLug•¦ÈÊ+2ÔXl}Ž‘‰™¹…¥•µµ $ÈÚÚÊÊÒÂÌÄØP_W‹¥ÆP’§SÑÈŽÃN3®"V*]A…©¡¥Ç16³´™·ÀÎÞÁ‘Ëuæ~ìó¬Ì´”ä};¶nX°|‰£­©¾¦h`'-Á5@ĸjq,,òô ŽˆÚàÐá£9'óòÏœ-(,<+,,8{&?ïËœcYé)‰{¢7®ñ÷r±³2ÒVW"6ì+‹@¸Ä$¤(rh\Ml¹nޫãv'üìØ§Îž/ºX\RZVV•—••–_¼p¾ ÿäñéÉqÑ‚}<œç›é³òÔ)‹@´¤i +ªlŽÅB—e¡‘»’R³²ó +ŠŠË.WT~[U]}•¨fÖ&øüêꪪÊ+_——\(<•s$-yOTت®öV†ZLEY´„ÁDWt HÊЕÔtŒmÝ}B6ÅÆÌÊÉ?_üÕ•ªk×oÔÖ×ßD5Ìêúúºß_«®¼\Rt:÷HjâÎ-ký<æ™èj(Ó)¢;Éu®p è™Í_ä¸>*îÀgÙùÿ*ý¦ú»Ú†[wššš!TSÓÝÆÛ uׯV”]8“•²/:|Õr—…æšh vWt 04 ,ì\?úxclbÚѼó¥5µ M÷ÿûÞȵ>n–M†Ej:Wtf149–n¾k·î=x4ÿbÅõ[÷Úxüî>¤:<22 +ŽŒŒ ôuóŸ¶Ý»ýý•K§¥î‹ZçëîhÅa3ä‘ëÄCKxf!Wy›cåèîµ?õøéKWn4>xüSWoÿàðÈè‹/^ÎúÂ(‚íïíêøñAãÊâ3'Òâ·­÷÷p´6d«¾zÀŠþ ó•mhíèá¿~[ü¡gK¾­½ó°ýÙÏ}CˆõåË_ _Ú‘a4°ÏÚ[îÖU•d§'D‡ù{r_慠\¹žèÌJHÏ.(­ª»Ûò„ßý|p±¢ýϬE;ø¼›ÿ¤µ©¾º´ '=1&,ÀÓÉÆHKUJžÉUËÈÆ ¹Æ$¦ç–U×7µòø=ýC#ëýMŽØ‘¡þ>p-+ÌÉHŒ \ú:W2UAàº40|{b†ÈµsÌýæg}¬Àµ·“÷¨ùæÕ²ÂÜŒ¤íc®Ì·pMÊÈ=W~õfó#^goÿÐè b\ÿèú3D ì‹ÑáÞΧ„kù¹ÜÌ·qeŽ»f޹>íì} ¬cûªk„È•6½+Mä®35ѵá÷º6€ë«+ž&¹Ö\c…®Úàú4­k—ó\µlœ½‚"b®5à:%pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<ë¯ì×ù;ÕyÇñkîK%û±oÇ~ìYOB–TB´¨l“e¹3-¤f´wS#qÚÔt7*Z¦IÔ41¨¦Ë(îI¤8"ëÌuÝŸï÷ekrw_ŸÿÁy\¯ë}>_˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð¦OtÕ59Ç;0r3íZ‚®cBW˜Æu ôžƒ®ÿ_#\Kh×Í|W݉»>D×Ñ}Š«ôkº~¨á®'ìªöΕ+påµvv÷ þ…°t„õ¯ÁÑ®C®ÒuMäfæä—W×óZ;º{û©Á",a%sìïíîlå \¹u—V ]½ÂcÓ†\[®,FæJ»v´òê«Ë‹ós2¹‰C®jãÊ2á¸×M»Ò2²óŠÊ×5µ´wõô P°(KT ë@OWGK“À5-16<Àë#®Lâê¼Ð?,&!5ýÂõ_J=m|õúÍÛÞ~KÉNúþüsp°¿¯§«ýUcÝã²¢¼ìŒ´]›ˆ« ÇDWMAZ|×éâ âʶqöô[Ÿròܵ‚UµÏÿhëìîé#°ƒ„v²GúûÈy}Ýü¢¶êAaîùôÔ„˜0ÿ…Ä•5®«ÐTâ*ÏÔa[;yø†nܱïxÖ·­ü½×ÒþæmOo_ÿ6ÐßOXßvu´¾lxòÛý‚kçN¤ÄG¯ñót¶a³˜ +Œq]ÅòªÚÆVŽîËCÖoûö迯ütçau]cs[Ç›n"ÛÛ‡õõööôtwu´57Õ×TܽuõûcÉ;6†úz8Y³u˜ò ñéã¹JÉ©hY:¸ù÷Í¡Óó‹J«ž445·µw¾éêî~‹½íîîêêìh{Å{^û¨¼äæå3Gön[²ÜÝÑÊX[•r*4Ž«¬²¦¹Ý¼%+ÿ¹%‰›q!÷ö½Šê§ÏyÍ-m¯Û;::±ÎÎŽŽö¶ÖfÞ‹ºšÊû…×sNÜýuT°›ƒ¥‘–Šœ”Ø8®Â¢’²Jú3l]½ÉC+>åøÙ+7‹K+kž64òþxÕÒÒŠQµ¼j~Ùô¼î?Ue%·®ž;™š¸9rå’yvæšÊc]?û‡ÐaQ Eu]S޳§oè†m{ʾöó²Êê'u Ï›x<ÞKŒÇkj|ÑP_[SU~¯ ï♣É;£Ã¼]mgèk(ËJŠ +w}ÿ!«ÀÔ1¶š½À狵[÷?{)ïöÒŠªêßkŸÖÕ×?Þ=«¯¯«}Ró¨²ì^á²Ò¹»ãÖ…¬ðtæÏX%™¸’‡–ª–¡…ÝÜEaÑÛ÷ÌȺœ÷sñ½ÒŠÊªGÕÕ5©ºúqÕoe÷K +n\½púHr|ldÐR·ÙVÆ:L…QŸ[WúA ¬¡o6ÓÙsŪ¨- ûgf]ʽYPt÷×¥ååI“;"P^^öàþÝ’Â[yWÎw,5)nýjoW;sC-ê90Ž+ýÇ%£¨Æb[9Ì_¸fC\RÊጳÙWróº]øKQqq ÕIýóKŠ‹‹ + nݼ~õbÖ©cißl‰ ZæîÄ1ÕÓàÿmu"Ì?3l]<–EDoMÚwðÄéï/\ºòcîõ¼üüØüü¼¼Ük?\ÎÎ:“~dÿî±kCü¼çÚ[ë¨)Ž9¯ôƒ€Xꫤ®Ë¶²Ÿëå—°'õÐñÌïÎf¿“s»˜““}þÜÙ3§Ná&'m + X²À‰c¦¯¥Bá)#\ßò" ƒ5ã8Î_ä±aËöĽ)ÜÃGŸLÏÈ<…‘233ÒO;| 5yw|\ÌÚÐ@—YÆ,5%Yrøçu”+õ" Ë22·ur[ä´&*ú«í ÿÚóí¾ý©i\îì—›–¶?%yïî];âb×G¬ +Xêéjoe¢§©"/-1ú Юô‹€ V^ES—mA`½—® +Ú°é«­ÛwÆ'ìJLÂH‰‰»vîØúõæèu‘«ƒ|—x¸:ؘh3e¥¨×À(×áƒUdjéXÇyž‹W¯ŽXûåú1›bc7Óm™´ñl즘è ë¢"ÃBVúûx¹¹ØÛ˜²Ô•åÔ\ÉãJ –\X†œkÎqp™ï¹x™_`PpÈê5aá¤ÈÉ1[ºê‹ÏýW,õvŸë8ËŠ°j¨(ÈHR×uô\ù/!êI !MÛYÙÎv™ç¾pÑÒeË}ýüé>Ÿ´ñ`€¿¿ßŠå>‹½<Ü\ì8&4+¹ãÌõý`EÄ$)XM–ÛÜz¦½£ËÜù Ü=zyyó[4ixy-ôôpw›7ÇÙaÇÒÌHO[fšëhWz°XEUu-]C¶™…õÌYö³œ]\æðs´ æ¸8;9Îv°³µ±275Ö×Ñd*c=WÁ`° Y%¦†6K߈m:ÃÂÒÊچÙ‰ñãØØX[Yš›™êéhª©(ÊñY§òYǺ¾‡•’–SPVUÓÔféé³Ù&&¦?¶±±¡¾®Ž–SEQ^–!I³ŽwFÂN—”’‘SP"´êZÚÚ:,–® ½IÛ‹ÅÒÑÖÒÔPgª()ÈÉ2¤$ÄD¬c¯ÀØiÂ"¢âd³2ròÄVEE•ÉT#©cꔓÉTUQVR$¨Ò I 1ÑéÂä¶ŽFÀR““”bHËÈÊÉË+1:ÊB^^NVV†B§U©±~˜u–žì4šV\B’à2Òüd&{|"%E™Š‰ŠÐªô ø0«–L–Úì4aB+"**&&N%ÑÑb„”˜T¾*¬d¥aiY-±žNÁ†E‰bJ¡ÒªaåÃòeiÚ)S©¦a#¢Q:Õá²-…+DûbâQ„hêGUßÉÒ´\lœø>ŸMXuí;]llïˆ&®:’û›þ7SÔ@ŸJŠaØdé¿ ·ø +endstream endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 93 0 obj <> endobj 90 0 obj <> endobj 94 0 obj <> endobj 89 0 obj <> endobj 95 0 obj <> endobj 32 0 obj <> endobj 96 0 obj <> endobj 97 0 obj <>stream +H‰”’wtUUÆ÷9'粿ó"é!*U"JZ „Ф¼¼$$˜¼„÷‚´Œ:ê8€Ê8Œ2##X¤÷®(½÷šô>7×YóǸ˜Y®³îï®ï»{ïs÷>‡•¥±¤h`ûÔ –ž¼i;%DÕ“Së7œZü|1Qõ†¶7Лï)lLÛ'Øú}¢ˆéÞaEîœqf5©K$² 埈ч¨©(dÊ ¼ÙÏN˜8†¨“$ +ÎÌÉòdÖ9òÎGDéÙv½Æ9¶ÕFv°õǶ®–“_4<¼õÎn¶^EÔàP^×CcóÜD“íï )ß3¼0Ôzšhii¼ÛçÉÏZÛ^eÙzQùë…¢}:ÚûïžK4½R¡?«ÐÓ/÷3;ˆäMö*+î©^DUKH·MLJäñ{2ÈíáÏ£·s²2ü‚òD†D”¶njJôø1EÙ; +’öœ‚H“Eeì©…P(…Q„ý-šÊQ ÅRyª@‘N|ôoâŸúOFøgˆx’ íSÜšš’঄'Tà'WxBFðÿȰgF‹I·iæ¦Å]’“ÜT¥k’ÝoZ·¤Înš˜’ÜÅöŸP¿ûOÌïÎpýŸŒ'ŸÈoãã<ž¼"šã-å|¯'E‹½ÞüBZ‘é+ȧMÙ¹>íÈö{¼´+×—[DGì»—G§^pxÕá-‡J)d~Vf®`ßÐ|¿([àÏô‰H¿7¯HÄùór‰*kú‡ù}">ëËø†¢i Р‰h4Œ‰¡‘Z)#³ü¾™vG¥}•>¿vXÍfi¥ó(ÕÖuÜ8zš*:º¶Ã‡!Æ:Œtî°ŽÃòÎN•©ª£j:¬çxõœ79NŒÃêk8|Æa9‡±kQþŒ)˜Šiøâ#LÇ_ð1þŠø>Á§˜‰¿ãø ³ðO|ŽÙ˜ƒ/ð%¾Âט‹o0óñ-`!á;,Æ,Å÷X†åX•X…ÕXƒµX‡õØ€Ø„ÍØ‚­Ø†íØð#vâ'üŒ]Ø=Ø‹}Ø8hÚ™DÓÞt0M'ÉœÅ^Î4M’ébºšdÓ§šî<ͤ˜T“fªs1`z˜tþÔô4½LoÓ‡?4}ËLq]t•¸.¹®¸®º®¹~q]wÝpÝtÝrÝŽ~.8‹„Ȱot%BÃiÍ Oh6í¦ãôHh‘.ú‹¢XLïŠ%b§8$ÎȲ2D†ÊYNÆÈXY^Vq²¢¬"«Ë:²®¬'ëËxÙLΖóäB¹D.—«åz¹YnSŸ«9êKõµúFÍW Ô"µX-UËÔ +µJ­QkÕzµQmV[Õ.µGíSÔ!uDS'Ô)uFST‰º¬®ª_‚îÝ z¤IiK¬Cu¸ŽÖ1º£î§höê,=HçêWt¾.ÐCt‘¦‡ë‘z”~]OÐõ›z—>¯/êÛúž~`Y-¬–Ö(k¬5Þ*¶&Y'­SÖiëŒuÖ:g·.X­’2éü¿ÈM¸)7ãæÜ‚_â–ÜŠ[s·á¶Ü޹=wàŽÜ‰;swᮜÌݸ;§p*§qNçe¼œWðJ^Å«y ¯åu¼ž7ðFÞÄ›y oåm¼wðü#ïäŸøgÞÅ»yïå}¼ŸðA>ćùåc|œOðI>ŧù Ÿås|ž/ðE.áK|™¯ðU¾Æ¿ðu¾Á7ùßæ;|—ïñ}~Àù?A@B!Ê€¸Œ§P!EÂHD!åƒX”GÄáiTD%¸QUPÕP5ð j¢j£ê¢žE}Ä£â94ÂóhŒð"š )šáÎã¡ 5a&ÜD˜(mÊ™kÊ› +&ÎI=¨A°‘4–&`¸4äµ´–Á~I”´“h0zÑŒ—Á~IФJø t‘ °‡ôì“ô‘¾Ò|XJ&8H öÉ\1Wešcd–—ˆ8×KÀo¯ÉY.–¥‚5—²JVƒoÉAnÊzÙ Á÷ä}Ù~ ÉðùT>?—/e;ø•ì”]àÉ“}à9(‡À"9&¨}9%Å‚µ„Š•sà%¹,¨}¹ +MÃÚÉu'1µZA}`E­¤¨}­¢U5¬®5´&XKëhXOhC°‰6Õf`sm¡-ÁÖ¡mÀ(m§X3ÑXÅšA'Ñ1€©ÐËÎ`†vÓî`/}H{ƒ}¡¡ÀL¤Ð}LWhƒŽÔQ +MÐqú¬B ôy¤“Ñ|=€îù´^tX ÐEŸÑK¸:ˆnú½Œ«CèªÏj ®£»>§?àª]öy½‚«¯Ñm«WqU®Í¸:Šîû‚^ÇUºðïõ†c ÎÐ]huKÄNŠ ÍŽAlh!Öµõ£l;ÄÛ±¶­ƒØÔ6CL·[ÙÖˆñ61Öb% ÿmÜÕ·È9km´…ØZðƒ¶ø6Ì>€n›#&ZèºM²Ð{ÿ%)\z7Î9›î=é˜æˆ9iΘ æºù…ˆ|T[šRkЦ8J¥®ðØ4„ž„ËŽ†ÏއÓN×N‡ÛÎß.‚㮄箥}pÛkt>«ìqUáZ\›pKnË1ÇIœÆ]¸;?Äýx áa<šÇðs<‰_âWøUxïb~ƒWñ^Ïïò&þ?æÏø ÞÁ»x/â#|ŒOñù,Ç—ø +ßà_ÄÀ“+I5©-u¥¡4“VÒV:H¼¹³t‡;GdjÙYjœy¹dÉ:yW6ËÇpç’+ùrTNÊi¹(Wä¶*ü9ªuáÑápé¶ÚAã4E»hOí£uˆŽÐ§u‚æèNÝ¥»5W÷è^̓Sï·®5–,[±Š½ ²¬Ïú­g+ÚJ¶² ¶Uàà!¶v±–?÷§Z§•â¥{i^ª—âÅy¼d/ÉãÅóÏ8;ZœC¤–—è%h2ƇÜoù&zEg^Ý þ+ªåwO7Ùè§¶ £Ú†ž*]UžÉÇéôN¦~œJkÊ,™«‰ÿ÷é¥ÐD†CûOOpô·§×pÒ/1½œb׸MÝnø¥ºÛÆmïÆ¹‰&Æt,ï!sïßEâ0£ >ÍœÀ?LuNà|”g<ÇEg8Íq1¿Y\è/t f VÐ{æLJ÷àïjï0Þç›èB!ñ^Ôšéh:bf`¾[6ß-›ï–Íw1_ðÛá²ßŽ`\‘ÿ8â ÿIŒˆð"ÊF¨S­Œw×ÓqÑýí.¨|„SþíÝNÙ S~¿1zϘ +÷cïãûýžº‘nRàS~Ò¼tÿ³æ¯äWyxM×ßg¯µö¹k範"$DÌ!5Æ<&"2HB(óPcÍTͪEQC©¹æ¹(1<÷œ½÷Ygïµ×úýÖÏs¦ÆGÿÛ9d×òNËíùªñ§´B}.üáXUg,ýe, ¿YWÓ¤9CSy +üž³î§æ9Ôj®••Š?ð‚ûçòZ‰6÷¯‰×=Ö¬ÖAs pb!ÀŠôòTnb©XcM²>2=(‹ÕÖkš× á#2ÄqQdŠKÖ£[öZû¬ýfúˆÑO  EºøÍJ²Ú[ã¬4“»˜³Š¢ž(tbEs=ž¼F«FöqV˜×·Ü†ÛvAó  "x† +?©¥tËh#ceœQGñ2A&ʲ¥L’­d™,Sd[ù¦lçdÙ)ë’uSúU•W0ʪ ,$ KYT—Á²œ,/CdE£µjå|Å2Ž÷xTæÎ9¹*®—i/V“ßY©''…““ÁNNÖ¿šßE«¬UNdZ!Vˆ¸l5²‹+V¤ÕÔä~Œ'¾³­DqÃÉÞ›žìµJ¿òåíNäמ?†¿1ì{Ú°íYÃ®ç ›fö,kX³šaË¢†%+v,iX±¼aÃ0ÆùB ß•6<çuÆÚ=õ£º¯¨‡ê'õÈ(§Çê‰ÝÈ.gײ«ÛAv€]Ù®h¶KÙávˆ]Ç®aÛÅìªöv»Œ]ßצR8¨N˜´ì|B{ÐÚœòË]l~Þ{z¾Ä³';É«o†‰åD³¦ÎÉökÃìðÌWOsúËf÷z2ÝÔ%ße?ÿnÿ‰Ó]ÝÍÆ ÕÎÛå /fÏF©k9výsF<ï;;ræ ±Ú½šÖa눧91l‰!âš™ñ2Âóeÿ#ÿjеáäc_/%„ïA¡ß±@8Xàv° —ƒ¹½÷š•Ëc[Oô²-‚t¸ŽÐMt¤nª£t>Wª«³«£«“n¦£uŒŽÕqº¹k–ŽwÍÖ :Q·ÐÁ®q®9º¥Nr-Ñ­tkÝF'»æêcˇoó¶Yœ%¤Î£Mmªýt1aë $òé’º¤ðÓet9‘_‡èQPWÔUD!]MWº¦®%н\™!sm®Ãu¹×çÜqcçn‘ܔ£¸Gs Çr7çxNàDnÁ-9‰[qknÃÉœÂmùMnÇí¹¿Å©Ü‘;qgîÂ]¹wçÜ“{ñÛÜ›ûp_îÇýy¿Ãyæ!<”‡ñpÁ#ù]ÅïñhÃcyç <‘'ñû<™?ày +OåiüOç<“?æY<›çð\þ„çñ|þ”ðB^Ä‹y /åeü/ç¼’Wñj^Ãky¯ç ¼‘7ñfþœ·ðVÞÆ_ðvÞÁi¼“wñnÞÃå½¼÷óßøäC|˜ðQ>Æ_òW|œOð×|’¿áS|šÏðYNçs|ž3ø_äL»¹ª»’ IîæZ&¼±B;yrð¥Çå1Ož•™òš¼#È‚Pð…üPJ@Yx D@ ´€H…®ÐúÀ ÃaŒ…‰ðLƒ™0æÃ"X+á$œgð"ú`w¾ŽE0Ë`(VÅšXbFa,&`¶ÅŽØCuÆ~8GâXœ„Sq&ÎÅOq1.ÇÕ¸7ã6LÃ=¸á1<‰éx/ã5¼wð>ÄǯTiE¨SY£«P ªK(’b)‘ZS[£ôfÐ\ZHËhm ­´“öÑa:N§)“®Ñ-z@•TZùª¼ª€òWÅU)UNUTUT UO…«fª¹j©RTªê©Åó2fkž‘åUy[Þ—ÏäsPüÀ‚  „Bu¨ á ‰ oA轡? ‚að.Œ 0¦Â ˜ ó`!,…ð5œ†@jôuGaôÇâX+b¬u°†cSŒÁxl‰)˜ŠÝU싃pŽÁ‰8gàœ‹ð3\…ëpnŸ÷áA<Š'ð,fà%¼Šßãm¼‹ðçW*Q +¤T†B¨2…QjHM(†¨¥ÈŸh:Í¡´”VÒz£zÓŒÒ=dÔí)£h¯{Ÿ~6š•N}ÍhÓÂF–4´‚ÑaFk66ú2ÎhÊd£#{í8ÔxoÞÿ‰RúSU’Wä·¶øwõyJfÈ+ò¦¼'ŸÊ,@pC^(Å T€ªPAÄCkh¡;¼ ý` …‘0ÆÃû0¦Ã,øÀX«a-¬‡°¶À6Øi° öÀ^ØïŽ„ƒpŽÂ—îÞpNA:œ‡ —á[¸×áÜ‚;ð܃ûðÁø-ta.wSôÃBˆ%1+aÖÆúØ#1›c lƒ°«»öÆwp¾‡“ñCœŽ³q.Äe¸×âFÜ‚ÛqîÅx¿Â3x3ñ[¼Ž·ð¼ð)f“/ùQa +  *M¡T‰ªSmj@EÑOI”Lí¨¥R'êBݨõ¢ÞÔ—úÓ@LCi8¤Q4šÆ9JwÍ¢ù´„VÐZÚLÛi ct’Ò)ƒ®Ð÷ôwºK?Ò#zF¿P=W¤l•KýEù©‚*@«2*DURÕUmÕPEªX• Z«öª›ê««‘j´«Æ«IîÎædoËÕr³Ü&Óä¹_’Çäñ?5OVÁX`|[á Ø;a7ü‹ùrŠªÞâøÞçõ;ÃñëñÌ£‚)¢×"¢¢š T %MÍGÍ¢ùª{(d×– j>ªëƒ¬LIISKóQQ™K¼Êà £Id¦ÂÀÌÝ瀺j­ûçÖþýÎÙç7¿3œÏÙ{÷a¾˜?Êãó'ù¯ùÓF4•ð?òø‹ü%þ2…/ãËy_Á_çá+ù*þÖÿU´Åûâ-Uœ$>%N§ŠÓÅâ,ñYñyqŽ8O\ ¦‹â1“"r¹¸J\ý·qYÒ™.ñ†wű–bTøß£TZ"eKˤÒËÊ4ê^eCav#ÉVœ¡9ëÕ%k\ä¾5Á´F×¼±¦Q––G¡Èßýpìëoj#×de޲HÉP2•te©2_Y¢ï-­•Ö’ì½'y|] lÜQR+s••yÊe¡®¤Bfg.¿§ýú¥+ÁèÛÙÈ"ÉêûBIÛnŒ¹¯²[]¦¾ºtÿs…¾æ¡H+a/u’"€ØSÐõÆú™;O“>¡¶O2qú^B„z‹¡ÚMJZÓwK”0Š¡‰·ŽÍöG.Ä+i€^¯@sŒ€oøÕúÜÒxšú,´XE7?A' N@ú•ý ³¨}×a.¾…ïà&,À]XˆŸâY,E'ÞÀ*ôR/Ø‘ëÉõáúsÑÜPê%“¨‹Oän67—[Îåpë¸j5^MT'¨SÔçÔ•ê»jµ&k͵VšªYµ`ͦuÖµžZ¤¥Ek±Ú Ú"-K{U+жi»µBící vÄ"ZZX-ªÅj±YºY&Zò,;-…–«»•³JÖfÖk+k;kGkk˜µ·5Î:5ˆ ò²í :l É ÙâµµµEÙblƒmi¶)¶i¶YZtšÞiNgoh÷°îa_…î:¹ë³nÎÝÛåŽvrǺ‡»‹Üŵ©µoÔþ\7°î–·NgN5§÷2ßàøšÁq#qÌ'Ž{ˆãâXŽ×‰c ׆S¹âÉ x€ãdn†Áq5qÌ58~Ê"Ž' ŽH!K|@ÇRÈ1”k3)ÏæŽ{“4ðûT-OGÚ Á” c)×éõk e9=Çé/Pf«*©Žè‹‰ãyñw $3qTIk&Çâ˜FZ©ÔàX)UI5l´œ/ï–?!ŽE>ŽÁÄ1BTãÔÑjŠ:™8fÇ|â诵Ð5ÍÇ1Bëçã88fkùÚVm»¶OÛ¯Њ Ž­}'XÞxˆcsâØÖªú8¦5ƒ#„@H^H>qŒôqœj›ipœÝˆc@Øñ°SGt‡ºûÇ÷÷0ƒãƒcT=Gö¥‹\=¾½~žM4vóð\ #¯çò 4®Ž†WÖGO–g«×êÙçùÒsØ8wy6ИãYïä¹î  .U0ukäßê¿%‘ËŸÉ…ò>y%©´ºŠìœç,ßêGu_Ùá¡OÝкôûǤm‡pŒfʇx^÷à>Êe?}K\‹ @÷‘êJSûF{To³—ºd妲÷/‹&“œ%Îg’îq†;ƒœ¸Ž:£­ŽKK¯Æ;F=øË*nV8\M+Î9îTœ¹–àXãXæHr$:4G £ÀµJ}ݵ߮UÑåY§µü@y²c¬qçýöcö­ö|ûfû2{¶=«|xÙ÷eÙúµÒêú{”˜¿ß!ÕÌ3ë=ŠÙ=ÃÛò +7øõг,~Iv…{F¿.XÑÖÈBuÂi §|# ¦£ÁBlãÿ…üQÆÝÈ××wAÚñÁõ±÷Ga¤qD£0Ž,lY)‰{BPKÕTý .4SímZ¿ƒî©.Q÷8šÆd²ïï.î”2 ÞKt“VIåR-£7ùÝ_ÁÝXSæÏXÖŽÎt³6\=Ë.Áß~Ø ö;Å.²Kì2+3<å®>ôMvA7vÑw^bŒë¯É¤L uÓm“‡¨Õ(½”ÈzÒ[¡§¤$)ÉÊ8ã|âŸ#íUʆ³E,‘¹ä`Ó –ÁƳ6Föc²©lKfq,^n.7•ýÙc¦ëD½¨” +B!C<Œ„THƒ©ð<¼éàmØÛáßð‡SpJX*Ë&ÊmØló¸ +µP‡<ÊØ5 ÅîC0“𠜈‹q)fârÌ¡ +½2únÊéØÓö¤ÜšžÚæ`u¬BFÓ]ÓMóeS%ž`óå@6Íô«¹Âô»Ü’ªa•ùªl1ýÂF™]R%žd ¨>Þ£Ì:’ô®ÑÚ?R”Z „‘6éca $Bt‚…°ÁbX/É +¼ ÁnØ ûàx WÃ-(ƒëP UpjHXµB*€½±öÄ^(`*ÎÀIø.Âér\ˆoãzÌ£ +µ—`!´‚?HØIµÝŽà+"!GÍ Q„.(A? „®èÿĉmà4ÃP †!h…GÑÃ0Fà#€að$€ñ c¤`xÃaö…I8&c,ƒi3p$<ƒÁLÏa"ÌÁdxÇÃ\‡ca¦@Î… Lƒ58r1þ…Yð¾1ÞÅP€/ëõ6ãJØ…¯ÃN| vàZ(Æ÷  `æÂ܇0>Ç-p?€3”!ÏÂøü„‡àG<ˆk +Þƒþ0ˆÝÄá˜+q|Œá0¸ »@,Áë8Ÿôç=ø¸a¦Ã|Þ'õ8»Âwø ´%Ý<>€ËhÁ(ø>Ž#p+îÀæ£ÿeº.ܳ.÷8Žßñ<¿û{?cc]#¤ÙÆèRºôp¥”né’ÒˆH""9º‘fÀ(/B:6jtÊÆ€1`´ ð&Î¥ÿÄûz¿°‰¸‚$ÜÆM\Ç~À!CŽ`ö"Gq‡q—""¢Ôs^ TߨAjˆªf«aj¸Z¨©Åj–š§¢ÝÌWsÔ5Bž”§ä 'Ê4ùX>‘OÝa<ÏäyN&ÊyXqïqL—'äi™ Ïȳò¼LrOyK&»¹#Så=yW>’ÏÝ™dP*HeT¡*“Êê>%»Ê¡r©"ª¨*®Š©*\•TQ*R•sZEeVYÜÁ«²ªŒ»™ +ª¢»šÒîjr»S-¬"d¼ +‘éê#ùRU•¯T5w°Õj(©j*¥j)íîǧê(OÕSFÕW¤>VV}bv»Joœ7Ñ›äMö¦xS½Þ,/Ú›ãÍóx‹¼%ÞRo¹·Â[é­öÖxë¼ ^Œ·É‹õ¶z;]éâÍqs;°[°Õ\Ã6sÝ6'Í)sÚ•î¨ÿŒûª]j¿«ÚèŸâÄ›ào¥;×¶wjòÖ¨oúÈé2Ô™²¼ód]gI'Eg5'5¯…Såx÷TOœó;ÿµsª›' , 7bÝñ +§â|£r©½j‹Ú¡–©#遼u6uC¥kíž3 Øìo¦ ép]FWvš¨¯ê1λõüO©úÖ¿ùÎzUßÖ)^u=]G{uuª×À?Ú?Îiâ€ÿ˜¿»¿çóêyo4ë;¯›è–z‘ÓÈ@ß &ÿ<ÿbæïíª÷ú +ú’ü}õa}DÇ¿s¯o¶¿šh #D;Y[´—uEWÙPt“ŸŠþ²¹˜(û‰ ²¯ˆ–#ÅB9V”«Ä>¹B+E°x BÅCqÇ=ü](RE¸ç„˜â¬wÃé1É9í¦sj²sb¢('3‰ +2‹øHæ‘2ƒˆ’A¢”Ì(JË`QRЦ²¼h,ËŠ‘²³%»ˆÁ²­Ó]{1LvÃeG1D¶£e71FöceO1NößËîb½œ&bä ±Iαr¶Ø"爭r®Ø,£E¼Œqrƒ8.7Š“r³énú˜¾¦‡égz™Þ¦§}fÝŸ›sÓ¤š‡æ‰yjþ$aÒÍmsÇ<0¯Í3sÏÜ7‰æ•ya™Çæ¹I37lº½O%)œ"(’¢¨…HQ^ÊN(ˆ|d©0…Rò¸8—âÒœƒsqn›l_Ú[\€ qeÎËÁ\’#9„³p6ÎÊ™¹(—㜜‘³sÎÃaœÃ¹Gq(r.Æ™¸¬õÓB)”h(É]·–þ°>:IGé²ÕtœÓ%lKØBtÇf´ÅìtËf¶lA:fËÒ)[œîÙL¶¼-@Gl:a‹RªUôÀf¥x:ds¸¼hƒ(Íf³El~›“S² ¥‡6»-góQœ-MOݑ߷Yè´-lsѺK¯éœtÞÝù:KÝ£Ÿ¡´ÃFÚ¼´ÛFØ0Úe+ÛR´ÏV²Q´—h?m·á6í´mIúžÓ3wù/轤tëÙ –­¤«t“nÐkl ]£ÛT•ÊSªH•¨2U¡é#ªKu¨6Õ¢šTƒªS=úœQcªFßÒ(úŽFÓKãh<ý@h"ýHÃi £‘4„†ÒlšO+i-Í¡´Ê‰b­ ¹´Ðim½3Û"ZCh9ýJ_SDi05¥NÔ‘¾¢&ô}IÍ©µ¦6Ô’ZQWêFÝ©õ¦>Ô—úQOêEú6S u¡IôM¦Ÿi +-¦%´”šÑ/4•¦ÑtjKí¨=u më„8ƒfÒ,Ц-¦ioZ›¶¦•iÛ9x ðsTä­˜ŽìhÆç1ÿD%Þ†e(Нø6Æ‚ñ1Æ äÀ|ßð TæíX‹(ôæ4ü„ü—Ob>ò£-ÿ‘Шɿc9Š¡ ßÁ8ŸðÌDN|É1ˆÓQ…w eñ5?Á/È‚Æ|‹Qù&Fà.À*D ßÃDá?9C+¾Ša¨Æ»°¥Ð‡b2BñŸÂ@;¾oáC-Þ‹(Ž®œ‚ñÀ¿ø(f!šó% æ—øÃ&”Çÿø¦!šò9,Etæ[‹ú|kP½ø&!Ÿò ÌC>´áë…¼Pýø1¦ 3q¡ :p¾ƒ‡:¼+ŽîœŠ Ä¿9³‘-ù +†òkTåØˆrèÏO1YÑ„Ïb +£'ã{êñA¬F$zò}üˆŒhÈÇ1yÑš¯a8$ªón¬GiôåGø™ð9ŸÆB|€öœˆQð£6ïï(n|? ð1D#7Zðe ù‹ñêÿã¨â³{w{wë3\£(DZ#æ:½£b“Š@8!¤‡í»Ä6Müå’î:M»ë³¤´M $NBnKI5 BAC%U…@´ˆY‡ÐK[Ò¤PAK%¾µ|‘*~Gª@óy3{gÇ*öÌÞ¼/óÞ›7ï½™q¯÷ít_v?꺷ºÛ +‹……“…S…³®åîtKîˆ[p?ëî(^wov™k»·»9·î]×*®¸ŸqûÜa7ïfܬ븟r?è¼è¼äüʹâ<áœs¾á|Óù–ómç;ΓÎSÎ÷ ÎÓÎ3ΜgŸ9ÊYv.9Ï;——kÎùÌs™ÿäµ_·_Ãëå¹·ÙÆÜ9Ó³·°Œ­¼Óí×?±òo˜ý™ýwÁ+ìMöþûÙŸð½gå]«ÅαW0þ5û#û+΋7q#Ÿ`/°càUì-Àpm`ö «¸a¿Å.±ç0ºŒSè4ð?Æø÷8SJx¹üVK¹‡=Ï®@ò)Èþ¤¼È~üßÀñC@WÙï õmhyšý”ýº_ÁÍÿîœ d¾ o€û-&¡ñ'ì/ìŸìÝÔ‚+À\…ü x/áô:VñwöŒ–rÔ×`ÏØósöKP߀M,Ã3›27gœW²ç3sÆœY§UXÎßw¯¼c_̪úØ÷Î?ùݳ_ìk>òðÒW¿ræô—O<±xüØ—¾ø…‡<úÀý÷}þÞ#‡-Ìϵgãèž»Þu`& îÜ¿¯5=9±wÏŸݽ«yëGÊnq‹•`—Åð¼»u KÜ> û¶n±”3¬ò©öú\Õ'ƒÊøTÐñ*•ÐUWÙjƒz<'Û]B˜…¹1>-Æ'gÞ‘&Óº2ôÁ-){¸¨¦h ¼KÃ=p÷:òh—,8"Aʹ„eªÀ×½ÄÒƒÜð!V +5닊æÁ›X©ÒІ1*uG߉¼Sf³èí;EÇJG3âÑB¸ÜÌ®*ݦ;ì“â„GŠ·9WNUÌN²¢¬Hx)<ÀcVìÉŠ¨ð0ì¬\ nQ,› %Âz|2©[OÏP¥øã­`™nêÑP˜ÜZÐáLÕ5Ö&,! àà„YÆ žø½N©%MÍj„†ÛX…ƦËuf±vÇ6¸²QT#E Ø d ¥ÞåÎW0¸%Ã}kÊ]¥L”Ë̶˜ÒDó/agên®^¨ë%¼o°„Z拱¢Å.–¬~ËK sJ£;ÖRR¬{-i*å\'á–z8XNlkAŸYø¾Õì› .–äë/8†èoë–FbïñÅjXOؽFbíñ#„6™jƒ#¬U}: ÞÈCÌ#ºG¶n¡èâ˜÷D˜lÜ(l$åòð¸F #Öt€%±S‹|iBŽM”·#L3ÕѶhF`H´Q Úûy¤f#C^nÊ&EELÜlSbgª‰•­Z;ÙNøÍ))WÌ©>1Ô£ÜÎn7‡(y1¤¬MÆë Ñà›È¶˜EÖ'‚CÞBC¶ª‹XeÅ—dÙòe³…%5¶ÇÇÚÆƒ{ý‰HRr—r„'õl-nÇT÷2%‰‘‘pÍŒ—ª·#p4BÍŒL²!b>/c¹ðÜ´Àpf†æ´fYšs®×eŒe{¼z2lkc>Lc[·äV«SZœlÊùj{¤Ål$f ‚²s=îÐzĸÖâĩӿ–þ•c¢1êñœÊ â*|.4!Ã&tÝøŸLÖ&Ž=ÕÂeùÓ]ÈJ!hRº<Ü›Ô#xí6+*[£È *ê^OÝú=–X-ÍrÉËb» ž¼‹z¤r,µc*NÅc@ð`± ÍHv#Ó²µž&õ€ƒH”T«Õv•–£–&xò(ÙSñ¸Êá—/Ä\Tv'Ìz&PûñËiÌe”@žÊãXˆçEÕZQÒï“YXǦÅ<)…TL¬6Á ñ5åÔFéíA_ÄóØDÒÇãy=· sµwHš×•,vUûŽCµ˜¥O["ÕAd[®z“Ü ù6‰ªu7[kïp,ð2or½Õ1"™œ0JPA†±X%FÌ×­¦î÷“ƒùê*F·£¾a.h©°l*P]–¼n<ä+ûCƒ Òâ­)Ô¬Þ(r^®: +÷ÖUÍæÊnéöèù£4Õën˜™Œ.»t,Vºöö{RG·’nŪ*T±Ñ*  9OËY Œa´™“Ñæš` U<¥è…D)­Îë5™ãSùÄE!Ô½ÎÊÕ ÔÈHPCR_Њh†-`r—CÄ÷rEªÉ´>j£z kÑ®nym3ÑÌ’r7:>õ¬J=WIÿ(fh•gÓ¬LónÞS‡CÎÌrÒ +ÎQQQ¹Û“ú¶qÙ *yÔ1,YÅÕ´CD¯í¬ñ꘩•VS°&b(°M¸dŠÝ}RKìV6ÀÞH,ÛÌ*ˆAú)ŠÁĶò¨öTŒÊý%zÙŽæÌA /³Ao]½ÑE½·Ç©4µ‚œ— uÈÔÔ¢ŸF±ù÷{ôEÊÉ|ד¢É1§Å-𨍥ßã~á=gÉÂÿ§¬î¦*jU£ZáýUeÌ™í³ä1S'Æ(§¥¤Ò–üeh©vð`Ú6¹-µ¾9 S&HuAc4ˆtË“9fÛª} ”Á{Í„vˆeXsÍ3\h•m·á6N€ÝnÕÄyJNg›è\ôCŒšÔ#°4©§™Ô—fii]ÕOÅ›=-ÞH=atЋžD‚«„;pÖËAc—á®íÚŸ5˜ +XnO¬|-eȃ]Ý.e_·þSù¿ÌXéË% åz„:ƒýÀ^÷¿7¥°Û¯Ñé.÷÷~ ™¦ƒ;¬ú†éþBgS‘à6ìï™WÓš£¯k£Q”Šk±›É÷ùnI8êwçvý¶ S:»Û +ÎKžz•Neá7W«P÷ÈuZÅøQ?½èž¡Ý}D‹{ÄçüîYÃn[8(ÐQʼn»PÓENâÂs$ŽuÒϘ͸KMÑí/QæÖ¶Ã<†DúÎÀ­;¼m!Þ• „¦TÙ8äÑ[’óòM I¾ õ˜voJ‡SÜ©¥\´‚Çœ†¬/Ùr|N ™;è¹ôÊë>°ÎûïGæ4UªÃ‹òE‡Ý-Nâº0,çw¡(â¨ï°;B)q¤JA¯©ýùÑê°Ðý€î2=þà­¶Q À‹;+ÏÐÃiUïÃ=½‹ÐK#ÙUÜaÿe»Z€¢ºÎð9÷µ»w_÷îÞÝA]ŠÙ塦¬+*ÅG2ˆV­šH{Û:ôZQ1Å$ãPk¢d|eŠÊ5É8à0+AÆ:µiÆ0;f´h팵6kãXÜ=ô?w4`÷.Ëðßÿÿß÷ݳoü ,•^üè½t#¸§Å‰pcØ{×î­†‹ðÇ)~ŒýÝ–¼Z¯„PB½qy|3b‘™‘MB6«VŽW9f4#2j(Û—íËÍÎÍÎ{é5Ù/§¤¸RàÊ•]‰–³ŸFË#öS¾y¤®·—>s_ôö"5Û¡ºq¼:ÔF6Am“Q51GkÃóOÔÆôñŸk±±¢­ì†xUZq¤>%µBExÉÈ…¦e„U„NѤŠNFsè}Ù²ce;¿Àï+,ÈÏÈÆ~/çRP + \õu[{{Û½{ØŒd˜|GÖ]Ãݽ'?Ü»¯÷Áý§$FÊ(&ðghÇÍ„œhZPá-VÕh±ˆ2LF´#VEq@¶Ož#ÃsÞKo²~'|ÒX?›–©¿f;[ê•ßö/È +ÝeÍïß­Ô´òÍO¶éJô»îJ´¢€ Ú0:ĽÍåÀf¡Á$÷duú œéæRª*™5»Uµ‹Fƒj4PØy0:‡g4ºˆÍ”ó3rq‘‡s»d‹OÍ(È/ôûÜCNóº·ßÀÅØ™V¤Ø0ë³%· Êul팞:ÿôë[æÎ\и€ ­¯Ü¸§$°2õ'GD<· +;Ôœ¡‡åþ:@JÝJëûíÏ~;ß^ºl¡:»Ž<ô®Ý^¬Oê$0_Ê¢” “rOBšlGN«ê4hÉl"ì_EfJøf;æè¤S32‹¦àøŠÒ¼2ë§Œ]šF—t±¬¹¬¢ qÞÅ/wm%ÿ TØ¿‹Ü'§cg#ŠÙt)Ñto`ÿ1r K‘‘{ä¹ ðƒ#…£wÅbn6JDIA»ID‚U`VÎ1p½H–PÊØxR}>…EfzÉ7äö`öè­Ü“³šW|pê]K–&T|¢àÉ {ß m_\ÞõQ×E›%ì°@ó€»p§îd”tRÿX‘ Sè$äÃöSpªJÝá÷9\Šô½¿À “2¹ûÕ¿…X“óný;-ù¬¤±dÒºcã HôÉây'~¸»½»Ïn ;D˜ÿBPj ÿYD{·Ú(Ö¤²XC¢Þ{ý5YJñÅe‘ˆu«½kª{Þ†Yänì6a¯2J·Q '¢3™ÆpXßnÜǃ K'u±Œ4ƒ`¶K¢fæT³.Fê€9z}Ú,3€é6e=)òkªG¦½{Ú»£­æÜÏ~Iw÷óÐçáØ«°¹tÄë¾~•4žCITE’[µJ!L*h47Œˆ£Íø ²³AI©áKö™ô]ŠÀäGb‡pû\ÝÇÌüUqeeq`Õ*ö~4! _¬ã×õ·Å•:ˆ—mt† +òR®$Õæ +ä°YU› Ñ¼±Ç¥ä§2+2‹¸h€µ z(Ò–Ÿ£Ñ)ö/Rû g>#EÇhoÃö‡“¸„ÜþìÁ¯m| Ž=b®Äæ²[&8Á§@P–olò‰A/#Q•%6ðLÒ4;ÁK:j'ª": æqw[ÄûÓ5+v',o‰¹ñ¥[ö´w¥êË»¾Pß-‹j¡õ h×)(+è‘ MEI2ð‰œh5Ȫ“ECü6@Ò:¾è´TWæs{öƒø{zã2û‹ŠÍeüê•[j¢y= á•› -+Ö³3¶ì?¨Þֽĥ߉ö°êý‡iuÑŸ) ØØa 4ƒ É‚ö=¥Å]üJó|Oj} +snÃfró™Öt8¤+š&Eà˜‘¹‚dQ‡žcS¥3eâ>•%&3RºQ™ªÁGo}ûí­­»vm…‡‚½XÀ<•üüŒ;½=gÎ^¸pöLOÜ;$Ÿ+$•L4Šn6瓜j’Aã­*oÖ8›†…8¬žè )Ú †€LsêÉ0ï•jïSð¬ß´ˆkËvïhljjܱ»¬Âv¸áËë×I>ÿðÎÈCÜ][ƒsÚ:ΟëéëhÃ95µä."ɪôrxjNV¸ºÑ$4+8 a[‚Gu&šÑÈ9lvÕ&jœYå ãjÏ}6ùù¬ßééJÓYáøyÀ)à #*ØÑvp`Ñ+ïì!Aæ2É:“E6ã×Ü—áôžºMÿŒm ‡¹tr-f¡&ÔôìCF™(5è§Ym©)ò#R’T&œŽç…[G.ÎÁùé/ÄùT<ÓêOÿ8!t¼ìø{þ‚G€øœþÊžR÷ò†—ϵ–,¼üÑÑÅ&õIÒ¼Ey¹Ö@Ö¶ú™Ì~Å‹r¦ËyYo7ž>Šà‘R`—Ã×è.ô ´ Â¹$ ¹Õ%‡\°:Ó8?³Ž8ÅbìŸÈuýäAÃ!ᛯ"Ûç«-K(ÝŽT¶ŒÙÙ±S3›Â cdk£ûñ6:•žT.]?¤3’Œ¬YÐxѪ"Q3¥"8büÄ‘2~ +a®5H•—v8ª>ˆ~]ß_îØqiµ­]r3ÚÀ6=äÒéõfô<à^ñrkÏ +xIAÉh4›L•ð\îQ$šyLöccpÂÅïZ*ž +µ¨YØ8H¾øQËŸ÷Ý&Õƒ¸ÚK¼½Šµêl3{0:·÷~„?§ˆ­Q„ñåÑ!f+à@KTä¤åãQ6àUca©LD"hE-áTa ìÅÒ…‘ŠÅÿ³ˆhlz$:Øk0>yRéý ˆ£³Ù{ÂJz^—ÛU…“*wyü,àw¥¥Ò/c{ž\ ‡ñxQ^ò0Åx8¹ÿ wáOðNÒDÚÉ ²³³x\…Ú§ÆkcÕŒBf£j¯] çOZT?ê0W“‡1&£ÃÉy¸o"GH¸¿¿…×á*ÜÐI2Ér²”¤@åšÿ³_6ÀUWß}Ù¨ò‘VAˆŒVš)<+µµ1‰$q_A!¦OÛ¦¨a*ÚL)Px@‡‰ÐZ›aD3m°5§8œJ´*µ*Tí`ÚTj ÜþÏÝsóöÝwïË{!B;½Éüæì9÷ìîÙ¯³û¬RUagg=Âl!6P$ãx+mË»C*#s­úBVxÞYYuÖ4C2jÌf¿’çÈñ-z ‡ì¸èüÚ7–~Ûóœº9ZTX8iB¸¼qgÕ¬PãÊÛn­]x˳Û6ßùâÝv‹ÈªB ±ïçÜâœLU›))²Mb̈~/Ð5Èp„î׌ã5­­çû¶¶öÂhDöQòî–¥×λ¼è#Ñ'›2°xãÇî!ùÖ[5¯tŒì¸¶SoR{¡/i¯²Èš~ösÇÈSÙý›l«ñ×w¡jõ ܃ŒKòí‹ÌP•„µ /ã”wô4Öˆ²^ZT³u²$ k9îµMàkLSŠÔ°4Çõ€b[…¸Nxò y<›±~ièŸ2_2æÉ±9±V¸æÌayÖr½Ê$xµ™.flÎþtʹÜ¥€{-«ŒuXζëÁ Þ ê¤ÂÇþYæg Áòû®«Þ²à 0ŸËN_“•ÎÕ¼¦^1“ÿoÀHž«ÏaoC·ö±žÊ™oú +–»<ðª_ÃŒÕÒ:kØLÊY.R±óÞOÅëQC÷[ƒžb¥KÏ5úvæÜÍö$ŒcJ=È{€j£ìÄ3ϧÏZË¿ÉxÜE5χ³ÛÙþ€kŒï«fù(ÿt(œ}Ñb§â÷ÌU XÅçe'×\§tÞ6ssVªØ½@ù”rÎlö©7êë ë_e¹œÇÖßXç*^wjw¢®cup|N¢â÷N”c¤bû†ïbz+øa·íÜYν=XÅrv³1ö;åÁ- XÇߊ ¿Z[&ýf¶ÕrÄ\þîàÔ«à~yŸHèrxÜ„ë ÀC§³û2ÊãX§ùî@y¡ÖÅ90ïý6°å€Y(£ý(¿ Ž ür xÚè¯ ¾Ly¯c5KÜQÖiðŠjÝÛõ·{®áŸn›y)úMóé;ó÷ª“4®iI¾ÍéÙ9’ÿL-΄o’|Ëíf½ê$ßîí^=Û~ÆjÕüßë”w_$é¶ý\é¼kÊ›À·[; <ò½†§}êxÉ=)ú¥*g‚!¼§–Ædg\9‰6ÇÏÏÞ­vêXÞçQǰ9~éÚÓj?CÓé—®î^ëtõ>|¦Y:vyà¾9˜ßÿ µSö·®Æûw3ø2ÊGÞ½Ö“ $Þ×|/Yïƒ7áó¦kN“úÇÛ´¯—-±¾o»/§g½Q¶·å²_üU +ýbœÖ]€~[Ìòñ û×õ´Ó¥ß'u‰2./½ ưL²î^{ß÷žïƘ֔nžàs†½l~¹)Ý·‘ûšfý¸7‹Çïš š“¤¿WÂ]´qžl؇§]sU +˜rCgiGKh~öƒ§a¿Lr±˜qöSó ³ÇàW̰†ÙÉ\ϬfbpŽÄUÌ‹`3³ŠùŸ…:Ã6Û`+3„ið¿KܲǴ ÔòÞ£1­õ`‘1n ¯3æCÞ&Ì£,áò8._"?A9h +3—åt1>»™å`2lð^8ÆkJsŒ½%n<üæs»?tùí?ÏAÇ›\¬@y°‹RfósSo€ù—¸¹ØÆleÂ.fº¨S ¹ÏÅó`{LR^³ËÏóúÿŽõx_<"ü=Âã.e:§/3à5苵.‹!Ÿ„¤¹ÛŽƒ6®ÑõE>‰GF•þÊÈõÚfÛ‹ôÚKä(Yh¿®4 6)ÇœB^ 3@ïpœ‡P¥jΘ®Ï¿­çûØñ&a…Z˜Jí+Z42¢±ÇM4B­Çkó”ÆŽER¹l@üM#‡ëñˆóÌ!ýÝ:¨çÄ:¡Ë6'í´&åã}ä½×ÄOåç=±=%(äù¯ï9³äú›øŠ²ß+2[ïq£ž'q9ø;ŸKg‰Dè­`ß•N.­âÜDr"À¹ا‚ÎÞ­`œîO”ð¡v*ø¼.á²»ŸJÎc£Ø¯’¡oƒx/æùÚªãí‰ûN<àÒ7rlËbõã ÷Öí<ž[˜ûŽò·(_#<ÃŒsDýaïŠwx_âyˆ°,f&º9¶ $„üªÇÊ~>žõûÕ,Øõ<ì ^ŸrŸö¹­Îö’ɘ;ï˜åTbaÈ?å:QæC}.aYä£ Ã^dÈ€ý,yè]ÄB{›ÃbeG7m~e[oИ6ÛÞžh·ÏP4±ŽÛO\Ç>ä_âíßU~P›±˜så˜Û}ãâj7âjOgWm$m˜‡Ío~üû‰[¯÷ø/ANö_°ÿ:ªô½øy¥ßêt7ÓoTºŸ—±í3ú-BoíöÏv‡Ê¾3ÅŸÐý}Û˜³?ƒ\–”û ¹½JW¼ +ÿ^Ê~«Ê‰à›Z·ï†&¥ßæˆWÞ¯ôÝëÜ?L­Ñnmšp{s¸í‘lwòvÁöË3|xŠ¥™ûçð\™ã~UÕ£9>z£uKµ”w¶°Q.3Ê*ñÞÙdøµêu áýºO—é]›34T§w¹ýî¥w2¿§Åvüwì›-É×y7Ý8ÐíßæwÔÚ&bŸö˜ìä€Ò¿CÖhi÷ÓÆ{¿å:ߨüÎ=à½ïHþf¿/ _¹¶u*áínÛœhGY^éc/æ¹Êä5n ¸T„öÆ0mîïɾu·®Xªô}1š™.W ¿ÐÛc;Ëõ± œB +p|üÊ'4â,d-d;Ø…rì"$5òa® ùhË´¯uÐiýÑsà7+éâÈq’î¿v“lhC†¸íàGWäyðŽëuðGŽ‹byœc60ç\l@û‹A½Ž¥“V†ÊÈ«r K/Æå»A“Ï÷êPÄu}}ˆyê¹ ¬e` K‡ÛÁ|Юá9\Ǽ®uûÞâ8Et‡Ð}Ú÷y«.[¸Wås˜{ÌEsSIƒýशÅPÍK™ÕJß¡9ÜNï~–Ôÿð{p +üBC¿Gå:Ü£w¢|<ö +݆8™Í”éïb& ¹ÆF>îÒûW¾A~ˆqô°èÓ±ZL;ÄrÑ*&ˆÝØ‘SìÿUb¬˜.æ +ý77 [4ø!óþÇYwq M¼ˆ"£4 Ú>=Ôð4hH$³ï°#5z…Òd=ø¸k²j.gbd7$Ò{x +4^|r.óáÁ€€€€€€€€€€€€€€€€€€€€€€4i¹@ŽÆèS¢=Ä^^Óô͸HDþÃ~•GÇYUñûKKKK¡¨€PÇ +t›$m¡ZPÓÉ$M›¥,¥î³e2í$3o¦iD¬‚ûZT\wQ ¸/¸o,e)²¹ç¨ÇsÔãÿ¢Gñ¾ûîû–™Iê?þÑäÌ÷½å¾»þî½ï;õ;õ;õû?ÿŸ‡éVZEGh9µÑÙÔI7- å7ðc!‹6~ÒÂ%¼{‘ŽÑf;ÓõnÃIÆ‹)¥ãEtí ­×˜#xL”£ku :Ÿ~ÏcÇç)]_@ÝX¬ã…´;u|ÅPWzÖ7éúbºÇt|:]Ø6 ã%tN[QÇgÐú¶ët¼ŒÇGu|æyÇÛ~§ã³hóŠ£>+þÈÖä©@u*Qšª´4FI¶k7­ãqš<Êò3GE~P™¦ø×Þp*2Kå õRºº-1–Ü»{]"íeÓ¹bz ’•91j«î”F&àî2¤¨^6ø1úfÄÓ6¶Kyg)×ëgcEIì›öýÅu\b“–qN‘Äi˜ú¨ŸßCS³Óãû¥1?Vû5Ãó«FVl¬HÏè*\â·ñ[÷‡˜[?GÈfnP)<ß[Íñ°¾±¸qIKš+_Î3¾Wꊒ¨½½Âu;ïf‘ÉÙ¢èSã~ö7c¥Ù9;!]­ì”܈փNé&ážÒ.ÔC|ÖÄ0#'ÓÉNö\w$ r”’ìEû]~öy¡¾g5µHÊk6$¦;q±ÄìæCgB2¦ Hq¹`±YÑÞj%ýjªÃZZ±]Q,‡kb€¤aõÁ´È +K +ê©© &ÿmw<ãÛ|Hà²Ø½²xs\i«²SôëLF25éžvÌði׿AOó®ÕÊ!ø™Xë >öñ,ª9µ9²ØVŒpÄYlª7Èg‹¡êqbMbrש†"lm(ꯨMM3}Ëæ»®¶~yb“­ÑCâç‚Ì,½•0Ðä½èMÍÓø…óÖ?ÝÄêe¢5Ø~òRç·Fí2ZSJ>úfC[€¤NÕ+°lZcÄÀk[ûm‚=Í ÉÞ +‚ÌsýÅf§²/ÍZ•åÐWý›¾EDÍïaÿAí‹V]Smïñ”cZPÑ¾ÕØÇ£µ·Oô4rÚ%vW¶žÆ¥ä#¦¶Nʉv½æÄª’œšÐe‡ƒàþ÷{OU¬¯Jí­ùñÍŠ¥FƒVÜMí©éZMªE–‰¥Ц“ç,°ZdŸ®¯8«œ'¬ín8•Õ³Q9Q?ç…ÞÝr +åtË{X]ïœ.{.ÕÊQžG®œL¦„ïøæÝøæ2ÈgŒW3Å­¹Ö?žØxHï Yñ±ñuÕ¿qNQøÚÜ£¯Ñ+Y‰½Vü:k#‘h‘#Û5{­'mX9­ï´áûöì÷ž<¹;âd#Î;SêàÎ]U_VEy¹X{~´/¿º»âTƒ¿£Ñ=‘ÝÁ©p¯é’Š7!«­ùÎ…OjšíŶ9„×ýûªµÑfï¤Ð¸{À”Ü響8××r‚´ªÄÂókÚÌ<ðWÔeåVþ2ÈÒ~ÑoZk!‚qW{ƒ`ùýo~WâÙ=]tK[”ՓˇœMäÌ}·i¾'•õk¦ùÜ*Â!¨•Á7oY¼l9×%»*fëµ6'Š¢QIëДúsö^¾’¢8œMb˜p— +:Ýl]ÓVŒ|Þj;©º_®µÂÒ¥ÕCó±,&™aë³ÇÕ¡™®­Þ†6+=Öé’ÕNXëùõñÄy|£nçïC9ĵ~D(Íáía4§d¯×büE“â1žuój7¯¬dŠaÝ_)‘ÚÃcÃqˆF…—å‘â§á½—bÂ;&s3ÛÉôƒÌËœMÒ5"#É܆…2%¼xÕ|e%•ΜHðÊ(Ï͸—×¶©¼A>eÞýrÎèb5áõ@jT«>‘è4àYŠùo×Ý.æÝ'üŒþqñ”úzö¨¦]â#ÃyD¾ GùT—ììâqŠŸCòhõèVmņÞ·¶$E «Q‚ß»X¶¡èe½FD #iD)ãb¡±§[Ω;eÕj6¤Q6ã€K‡úÒêaü?æKûûù?æ#¤Y˜Dº_¤¦$ +Iõ½ñZ¿«TÈ÷ ñЉŽÑ¯›ÇFß^?ú:nѴ€“Ð+V$ÅýB=Ìz'™¾Ï_±¨ë´%Ôƒ–§E·|ȇ ‰•‰ßn–šTät‰‡¢VØ<0úVX?wé3!g‡dÄxPc˜ð#:$XjöÊɸ¤PuI<†}/ôH–¨æ£!¹8Ž* +‡|Í¢þuÙâèæS!,/';AãÏ.án4ö½qb¾Òyk\=ÚÂ_iüÎJ•¯HííÐûu‡Tåï›óýrŸ-p=,I­k#ù{ú®’D †¿e‡ùq݇6,ÀBœ†EXŒÓé,ÁRœe8“28‹Žb9ÎÆ³ðlÊâ98‡î #8—.¦Kèßô4åpž‹çÑ*¬ ¿à|\ÀÝ? ñ|º/À ˰’îÇ‹qß«°k°ë§5h§µôt ë±i.ÅeØ„ÍÇ市À•ô =DÿÄz[q®ÆKðRjÇËÐE؆º‘¤Nô Ûч؉~ Ðh=mÀ †° »‘Â0wt#ôF1†=¸{©€—Ó£x^‰WáÕx ^‹42È"‡<ÆQ 1AwÒ]üeòw¾¯nBû°%ÚŒIúý S(£‚¨ÒåðPC1Ct=†zœ&ð:z×âõ¸oÀa¼oÂõ¸oÆ[ðV¼®ÄÛñ¼“¶à]x7Þƒ÷ÒVºŠþ†÷ÑÝ8‚ñ~|¤«qý‡ñ|7ãc¸·âãøc¬ˆÛðI| +ŸÆgðY|ŽöãóønÇñ%*áË´GqîÄ]4…¯p½ _e„õÐe| _glþßðMÆeß·©Šï໸ßÃ÷ÉÃðC:€áÇø ~ŠŸáçøîÁ½Œæ¸žÂý8†ð ÂÃ8N;ñ~‰GñãñIªáq¾ñNã ªãIü +¿ÆoðÛÿ2X +`}ïb¶mÛ¶mÛ¶mÛ¶í…¥-×VCͶÍöáùðBP=¼^ +/‡W‚áÕðZx=¼Ô o†·ÂÛáðnx/¼>†‚kŸ-V;|> Ÿ†ÏÂçá‹ðåç{¬ _CÃ×á›ðmø.| ?CÂá'‚ ‘%X¨Áð`÷gÚ~f­>¢!:b fб‚Á{ÄFÄ &#^Ðñ‘ ‘‰?·y’£‚ÑHŒD2$G +¤D*¤F¤E:¤GdD¦ 12#KÐY‘ Ù‘#h4 î#gp¹yù‚æÈÜBD!FE1‡P"X¬@I”Bi”AY”CyT@ETBeTAUTCuÔ@MÔBmÔA]ÔC}4@C4Bc4AS4Cs´@K´Bk´A[´C{t@GtBgtAWtCwô@OôBoôA_ôC À@ Â` ÁP ÃpŒÀHŒÂhŒÁXŒÃxLÀDLÂdLÁTLÃtÌÀLÌÂlÌÁ\ÌÃ|,ÀB,Âb,ÁR,Ãr¬ÀJ¬Âj¬ÁZ¬ÃzlÀFlÂflÁVlÃvìÀNìÂnìÁ^ìÃ~|/ñ¾Æ|ƒoñ¾Ç8ˆCø?ágü‚_ñ~Çø‡qáoÅ1Ç üƒq§pgpçðÎã.â.ã +®â®ãnânãîâîãâã žâžã^â^ã ÞâÞã>â†IÑŒÀˆÁRFbdFaTFctÆ`LÆblÆa\Æc|&`B&bb&aR&cr¦`J¦bj¦aZ¦czf`FfbffaVfcvæ`Næbnæa^æc~`AbaaQcq–`I–bi–aY–cyV`EVbeVaUVcuÖ`MÖbmÖa]Öc}6`C6bc6aS6cs¶`K¶bk¶a[¶c{v`GvbgvaWvcwö`Oöboöa_öcà@â`áPãpŽàHŽâhŽáXŽãxNàDNâdNáTNãtÎàLÎâlÎá\Îã|.àB.âb.áR.ãr®àJ®âj®áZ®ãznàFnâfnáVnãvîàNîânîá^îã~~Á/ù¿æ~Ãoù¿ç<ÈCü‘?ñgþÂ_ùçü“‡y„ñoå1ç þÃy’§xšgx–çøÏó/ò/ó +¯ò¯óoòoóïòïóòó ŸòŸó_ò_ó ßòßó?ò“…‚(ÉŠ ˆŠ¤ÈŠ¢¨Š¦èŠ¡˜Š¥ØŠ£¸Š§øJ „J¤ÄJ¢¤J¦äJ¡”J¥ÔJ£´J§ôÊ ŒÊ¤ÌÊ¢¬Ê¦ìÊ¡œÊ¥ÜÊ£¼Ê§ü* ‚*¤Â*¢¢*¦â*¡’*¥Ò*£²*§òª Šª¤Êª¢ªª¦êª¡šª¥Úª£ºª§új †j¤Æj¢¦j¦æj¡–j¥Öj£¶j§öê Žê¤Îꢮê¦îꡞê¥Þꣾê§þ ¤Á¢¡¦á¡‘¥Ñ£±§ñš ‰š¤Éš¢©š¦éš¡™š¥Ùš£¹š§ùZ …Z¤ÅZ¢¥Z¦åZ¡•Z¥ÕZ£µZ§õÚ Ú¤ÍÚ¢­Ú¦íÚ¡Ú¥ÝÚ£½Ú§ýúB_ê+}­úFßê;}¯tP‡ô£~ÒÏúE¿ê7ý®?ô§ëˆþÒß:ªc:®úGÿê¤Né´Îè¬Îé?×]Ô%]Ö]Õ5]× ÝÔ-ÝÖÝÕ=Ý×=Ô#=Ö=Õ3=× ½Ô+½Ö½Õ;½×}Ô' Ó²ÁÉ‘ÅQÍÑÃ1˱ÇqÏñÀ ȉÄIÌÉÂ)Ê©ÆiÎéÁÉ™ÅYÍÙÃ9˹ÇyÏù]À]È…]ÄE]ÌÅ]Â%]Ê¥]Æe]Îå]Á]É•]ÅU]ÍÕ]Ã5]˵]Çu]ÏõÝÀ ÝÈÝÄMÝÌÍÝÂ-ÝÊ­ÝÆmÝÎíÝÁÝÉÝÅ]ÝÍÝÝÃ=Ý˽ÝÇ}ÝÏý=À=ȃ=ÄC=ÌÃ=Â#=Ê£=Æc=Îã=Á=É“=ÅS=ÍÓ=Ã3=˳=Çs=Ïó½À ½È‹½ÄK½Ì˽Â+½Ê«½Æk½Îë½Á½É›½Å[½ÍÛ½Ã;½Ë»½Ç{½Ïûý?Að „ô…737mµY»Ù¶k³mÛ¶~¶mÛ¶mÛ¶6»þ9Ûüv¿Ãïô»ün¿Çïõûü~Àô‡üaÄõÇüqŸô§üiÆŸõçüyÁ_ô—üeÅ_õ×üuÃßô·ümÇßõ÷ü}ÿÀ?ôücÿÄ?õÏüsÿ¿ô¯ükÿÆ¿õïü{ê?øþ“ÿì¿ø¯þ›ÿîøŸþ—ÿíÿø¿þ ,Â!<<B0D@DDBdDA¢"¢#1±qñ ‰„`$F$E2$G +¤D*¤F¤E:¤GdD&dFdE6dGäD.äFäE>äGD!FŠ (Š¡8J $J¡4Ê ,Ê¡<* "*¡2ª *ª¡:j &j¡6ê .ê¡> !¡1š )š¡9Z %Z¡5Ú -Ú¡=: #:¡3º +º¡;z 'z¡7ú /úá?ôÇ Ä Æ Å0 ÇŒÄ(ŒÆŒÅ8ŒÇLÄ$LÆLÅ4LÇ ÌÄ,ÌÆÌÅ<ÌÇ,Ä",Æ,Å2,Ç +¬Ä*¬Æ¬Å:¬ÇlÄ&lÆlÅ6lÇìÄ.ìÆìÅ>ìÇÄ!ÆÅ1Ç œÄ)œÆœÅ9œÇ\Ä%\Æ\Å5\Ç ÜÄ-ÜÆÜÅ=ÜÇ<Ä#<Æ<Å3<Ç ¼Ä+¼Æ¼Å;¼G(>à#>á3¾à+¾á;~à'~á7þà/þÑ1 Ã2ÃÓ$EcFd$Ff0*£1:ƒ1‹±‡qñ™€ ™ˆA fb&aR&cr¦`J¦bj¦aZ¦czf`FfbffaVfcvæ`Næbnèb¸˜.–‹í⸸.ž‹ï0ó2ó³ ² 3„EX”ÅXœ%X’¥XšeX–åXžX‘•X™UX•ÕX5X“µX›uX—õXŸ ØØØíqŸÝ÷•MØ”ÍØœ-Ø’­ØšmØ–íØžؙؑ]Ø•ÝØ=Ø“½Ø›}Ø—ýøûsrs‡r‡sGrGs ÇrÇs'r's +§r§sgrgsçrçsrs —r—sWrWs ׺h.À%t‰ÜjÞ-vIÜ"wØ w‘¹Îë¹ÁEw¹ÑEt‘\}×Ðp…¸‰›¹…[¹Û]Tîp›Üfîä.îv!Ü㎸£n‹Ûê¶¹íÜëVºUnŸÛ+À}ÜÏ<ÈC<Ì#<Êc<Î<ÉS<Í3<Ës<Ï ¼ÈK¼Ì+¼Êk¼Î¼É[¼Í;¼Ë{¼Ï|ÈG|Ì'|Êg|Î|ÉW|Í7|Ëw|ÏP~àG~âg~áW~ãwþàOþâoþá_þ“S…U8…—DI¦ЍHЬ( +PTESt*†b*–b+Žâ*žâ+*‘‚\8+±’(©’)¹R(¥¢Tn¯£R+Òºeî›Ò)½2(£2)³²(«²)»r(§r)·ª<Ê«|nšò«€ +ª ++DETÔEqï]¨Ûá‚Ýx—ع©nŠ›ì–»Fn‰+ì&©˜›£â*áf¹™n©Jº*å䎩´Ê¨¬Ê©¼*¨¢*©²ª¨ªª©ºj¨¦j©¶ê¨®ê©¾¨¡©±š¨©š©¹Z¨¥Z©µÚ¨­Ú©½:¨£:©³º¨«º©»z¨§z©·ú¨¯úé?õ× Ô Ö Õ0 ×Ô(ÖÕ8×MÔ$MÖMÕ4M× ÍÔ,ÍÖÍÕ<Íw;µ@ µH‹µDKµL˵B+µJ«µFkµNëµAµI›µE[µMÛµC;µK»µG{µOûu@uH‡uDGuLÇuB'uJ§uFguNçuAuI—uEWuM×uC7uK·uGwuO÷õ@õHõDOõLÏõB/õJ¯õFoõNïªú¨Oú¬/úªoú®ú©_ú­?ú«æ,Œ…µpÞ¼Áh2³Ñ"Yd‹bÕ¢Yt ´ÓbYl‹cq-žÅ·–ÐY[bKbI-™%·–ÒRYjKci-¥· –Ñ2YfËbY-›e·–ÓrYnËcy-Ÿå·VÐ +Ya ±"VÔŠYq+a%­”•¶2VÖÊYy«`­’U¶*VÕªYu«a5­–Õ¶:V×êY}k` ­‘5þŸKªŽÏªlÇzÇ}]7 )RRk6Bx÷¾5R@rŒ± 06º»UPéînéF¥[éî4è’onŸÃ¿®ßsÎWÜ&$\:J„DJ”t’Î-1+qÒEºJ¼t“I”îÒCzJ/é-}¤¯ô“þ2@Ê ,Cd¨ “á2BFÊ(-cd¬Œ“ñòµ|#ßÊ™(ßÉ÷òƒL’É2E¦Ê4™.3d¦Ì’Ù2GæÊ<™/ d¡,’ŲD–Ê2Y.+d¥¬’Õ²FÖÊ:Y/äGÙ(›d³l‘­²M¶ËÙ)»d·ì‘½²O~’ŸåÙ/ä ’ÃrDŽÊ19.'䤜’Óò«ü&g䬜“órA.Ê%¹,Wäª\“ërCnÊ-¹-wä®Ü“ûò@Ê#y,¿Ëò§ü%Oä©<“çòB^Ê+y-oä­¼“¿å=,¤AZ¤Czd€È@¨UÌk¤5ÜcF&k,2[CŸXm­»Ö`dµö ²#r">EnäA^äC~@ABaAQÃg(Ž(‰R(ÏQeQåQžð‚7|à ?ø£"ˆJ¨Œ*¨Š/P ÕáD\pÃF ÔD-£6ê .ê¡>BÐ ÑÑMñ%š¡9Zà+´D+´F´E;„¢=ÂÐáèˆD" +ÐшA,âÐ]nH@"º£z¢z£ú¢úcbc†b†cFbFc ÆbÆãk|ƒo1ñ¾Ç˜„ɘ‚©˜†é˜™˜…Ù˜ƒ¹˜‡ùX€…X„ÅX‚¥X†åX•X…ÕXƒµX‡õØ€±›°[°Û°;°»°{°ûð~Æ/Ø8ˆC8Œ#8Šc8Ž8‰S8_ñÎà,Îá<.à".á2®à*®á:nà&ná6îà.îá>à!á1~Çøá žâžã^â^ã ÞâþÆ{ZLôLÇôÌ@=˜‘BTfbffá'ÌÊlÌÎÌÉ\ü”¹™‡y™ùY€Yˆ…Y„EYŒŸ±8K°$K±4?g–e9–gzÒ‹Þô¡/ýèÏŠ ` +±2«°*¿`5V§“AtÑM›5X“µÌڬú¬Çú a6d#6f6å—lÆælÁ¯Ø’­ØšmØ–íÊö c†³##É(vbgF3†±Œcve<»1‰ìÎìÉ^ìÍ>ìË~ìÏÈAÌ!ÊaÎÉQÍ1Ëqϯù ¿åNäwüž?p's +§r§sgrgsçrçsrs —r—sWrWs ×r×säFnâfnáVnãvîàNîânîá^îãOü™¿p?ð ñ0ð(ñ8Oð$Oñ4åo<ó<Çó¼À‹¼Ä˼«¼Æë¼Á›¼Åۼû¼Çû|À‡|ÄÇüðOþÅ'|j·.Z.kœuÅ:k]³.X—¬sÖyë²u•Ïøœ/ø’¯øšoø–ïø7ß«¥i4­¦ÓôšAê¡UJUͤ™5‹~¢Y5›fךSsé§š[óh^ͧùµ€ÔBZX‹hQ-¦Ÿiq-¡%µ”–ÖϵŒ–ÕrZ^+¨§z©·ú¨¯ú©¿VÔ ÔJZY«hUýB«iuujºÔ­¶ÖКZKƒµ¶ÖѺZOëkˆ6ІÚHkmª_j3m®-ô+m©­´µ¶Ñ¶ÚNCµ½†i ׎¡‘¥´³FkŒÆjœvÑ®¯Ý4Aµ»öОÚK{kí«ý´¿Ð:HëªÃt¸ŽÐ‘gûøðîቱQ^¶ÓNÁ ƒž½ úþƒž^.·©÷5è2húœÍgòo—¿ÛÃëጋˆ‹ ï g|TlDhXbB2Oo§‡ÓN~Ó–Ó1:¼'\âBÃÂÂcLYP +£€@‡;,4i`ÄÇ…&8ìdY;ù£aoÔ¹ K—aå2ê\¾°?ŸÔb„9=lCØN!œ²6ÐÓ¬·SÐhê])ï Š¦ÎËQ3™ kþ+&å—·7j~,ÊËöM_«}h|ŠB/›µ>îñ²½}Ó×Î\»m²AŽàTºŒå®`Ã8ø#ÆþŽà„¨èáüçééôõôñôbíÿnð1Â|ŒW>Æ#_GÝÔ)¹uÿïpRuPúºIZLé‡V§ ÝÛQ?…oýT-¾~éìØÃÍœ•o€#$•$·ÉÉmÂp.ns}îyš+tÙB"ãâMêncˆý¡ËT¹Í5Øž™B"“n/>1&:41Á#ÄØ–ü×Ïtù?l§ ÜŸ!Ý¢C»E¦(jd •0?ÃÊÏéhœrÇÿ½·—äo–š+ +¨‘¾IRþŽ&©Æ¥Ô$õ8󆾿íhšÊ+Ûxbûghú¯¶YTÃ8iÿíªíÛF€íÝ4^'ÙÅݧûpÀø&ñ£(‰EÑk$ñåš/ÅV½J×+û7ùõ'‰¥}0ŒÙ·#Ä¢,_\Íbp…\ÑÒ1ñ⪿¥Ë«¡€3´û„\~pî~˜Ü}þᦩê}³_~¸}¨¾Ô«ß³bùû°VÁM„ƦËìùÇñ²¼ÌÉå¶½Þ¾ù×Ï/³¿ÍÙwsöãŒ)"—dæc­km—í’—<A9¨D—DŠ2 ê»&öùf‘PàdÜ+ãgòP¡KVS—¬jækÒ¯ÇØ,o¦ÚaR-k×kÚáFsrŸÃ\ž×a;ôíÍ<«aYM*„I×Yê#Q¸HÖ5êÌ—·®-Þ>i‹üü6èõ(5¦ßRžm¦6iW›'mR.Úç\Ÿ4Ÿ¿k>»îù¬' õDée3U9ã‰k—*ëÛ¥;ÞF«Ï¡Õ±äüâÏÛ‡ºÞm«ÝMs ¡\n§Þk<]U¦òå–öÒül;õR‹+³Ü¹ôïªûvxhï7õrGûª:­ÑWY‚K$ô²¥} /ÕY+P¯…/ Ômn-髈féwA«@Y•ñ‹vÖSÚY_Å.‰`–pLŠUKúêí«°JšåÞ…`ÿ¤¯Â!ÅÛvw»?;ôÝô@»)®XŒc³dy¤](“Å‘tQÀZÄ­ô€ç¥}qœy|ôÓÊJ³Åqè¢GR_©¿8ùòÑ9õHºçãØ=]÷üú¤{ÊåWÚ=”-¢lõò›ëžßÆ;uî:Äeµ=¼¼ž÷ÆÝœmçì~Î~›±ç]Þ·‡æ~ûõüñ¿Ýßå¶¹­z+X”Xg†"憫HÄh Ê@]’º ÅQíõ¨Ä:ä‘߯@Pކ^>Ÿƒ7 ž÷z%¨³_0œÇpƒ½ÌÛ };ìd°‡Á>»˜·Ëãã|û슼ž·ÛûïϽð#œáœ8ÌÛ‡ó"د=Å~4&‘AžaŸÿxò…¾~Žõç–Ð+=_¾B‡ª1?¾oæ<×Ý>̤‚#î¸q—¾Nü:âÂ'ÌpBúuØÍ'û8â,O¿$ò‚&,¸ç½âÃWóΰWx{¡/`§€öØ'`—ðvy|œ/`Ÿ€]Òëy»½ÿþØ+/qžÄ9xÅ…ðöá<éëÃÇûð Ì-"ƒ¾ßrÜ{a ŸC¯€½%ôJÏÛWÈó¼.8ø Ž¸ +ø$àÓ€×s^ÁzðAr;çÅhïë Ž/chŠÀ"X$ò€,e`Q<ðïÞšE¶½ßTg¦>T‹«»»¡G¼¥Êû}Ó½Žg»¥Ó²[~¿é~ýÔ½‹Ÿ«ûûªûлûtSür<ùõxòŸ¦û0júçìäMsúvÓ.Þ5·wÕéûêøìÊA¾Ù4§y÷ÿf߸c2}>œhwíþ'Ìw݉ÃçýnøŽ¹"Êç¿ÝÕ·PêÕýsø +Jžw‡vcJ58ý©wú¶wzqSoÕ³.ë]îƒËMïòŸƒËÛÁe‡cò“Ýñ䯦\»N6-N`‹ýàü¡sþçï;ǯ»ÿŽ]´½½Ï›Ñ³†ýš2nùH|}uœûôCÀ»- Õy;F缚¢]Óh×°ÄÙï»HáS‰?Èm™–kð—4»ª^ÏÝ£þÂKöÝ„tø~¶>ˆþöTÔ#ýýÿˆ{<˜Àa‚€ <4O&`‹Ä–[d¸E†[v:¬¬)3íó²c§ûB“§&2˜È`bx{zÔkdŒSâð”x¾ÅîêhþüP û]D^S†¨©rÚwáO.ƒ™­ÞÕ7ÍÈ4»æ°¦L¯ŠX¤+P/³¥ŽÖ^æq±€ÀéxT˜£%%” LåÁ¸Ç°£é¨àV^0¡È àk/ %¨æ¶¥Ñ +”l2k/ Ð +Ð|T hÖ”p¤„#Ý6C`3?µö² °)h2*ÍQ*9-õ<È{'˜òÞ1SÞÁ8ç¼ÀŽ‚‚!xAÁ +^„à‰’È q7[{Y‡ÔŒ +A4NÐS*”/6$Q!G*4ä(ÉHæíÚË4´ +šš%›|¹Ú åªÄ¨0CKdt:%Å3cRzÁ˜”ž“â™1)½`±#¦àqSð˜‚Ç!xLÀv0 +ÎBpFÁg!8#à;8ç!8§àœ‚óœp‚‚‹\PpAÁE.¸ÄIÁe.)¸¤à2—\a‡¢à*W\Qp‚«<Í\)vt÷ÌÞ FðžÁ=3‚÷‚ <ÆŽ˜‚Ç!xLÁ]õ­<3õß>Ü3Tfx‹'@¹K—Ptù$ÇzÞ:šâʧîÓQ{:˜72S_4îŽÎâ%)Öx¯‡ž0€ÜÀ³› PŽý.t%æ¤$R=CÌÁ˜•2ªÎ¨:›Ô™ N’I½gH%ÃL*)º¤è’¢§ÀH)zJÑS‚Î|F(ÌÌÍΉ*/@ ƒL>P·Zªn©:Id‚×7Áƒ;2“:ÞW”4C’@÷ ©`F}³ð%sÐ ê]£´uFfZ=ÍtãêÔŸ:f|Vzf|V4n„6Ë„X†bŠe&,.à” ¶ã³€‹Ð)t9ƒ[gᔥNÙÐ)K²Ô);8õ}]ïÞo꺿…Ãí;x÷Cq 3%±S;—¡™xv/0|Ohú=¡Ãï M¿'tAãE>4Ú‡¦¼:üàÕôƒW—«$£†E•Y:jØ9V/ ÚÒQÃ’<*H‘8”k/›(GG7˜C, +ÊÒ‚²aAYZP–”¥•à ´½!÷[Ó™EÓ™EÓ™…£är<´¹çÄ3£3£3ãNc{ŠRÉQ*-¦É‘™¬Ãð8ƒq @`sØÑ"uÏ8’‡Z‰x:åª@‡qÄ-ø¨0ÿþËpµ³éj…Ù,¸ÚFá}Vù¨ Á67ß^øßS½„3²¢3²ÂŒ¼¦L¯úýõ¦h¿toáÍpõýGbUÆé<<ƒÓ38©ÉŒÛñ`e’bÉ‹‡™¤X’\Z<½™ —V„—–¾ÅˆåÊ3“]˜ÿ•…IÁE5 î$f_.½`DûßUзnƒg:™NÝ8‰íøå%y™öО=ZQ"¥#)Q·^:éÑ#{åxç­w“Õ:y¯¿¾”øQúÄM{Ø…  €&Rrß(Ñ7^02›,¹]ʱ5R­FªÕ +–Æ!×]+NÅ^T|ë*–/ÀU°|Áò·±9Ü™sªçìèœ{¤ +åÞ€PTÑPd>]&`>r¼F©¨C©ÀôT`8 MV‰áL ¨ +CÖ ®¡Âp)A©\*— +A¥BÉ õôBOR€(˜]0»`ö ÄŒÙ3fçþR`p,18– ªªáªj¸ª®ªèn%w·’»[¹ènѬIÍ]ˆŽ»í» F«¨:Î2j¾4®Uóµj¾VÍתq­š¯Uóµj¾V…APñ ¨xTü:b‘Ú²vn>´eÇ¢ï7);6eǦœA ò$á J8ƒøÚ4žT–3ÄF% |Á |Á |þ‚’/ÁU²|Éò%ËÇåV „‰š udàš&¸¦‰¸&UÞ…¦©aq d :ÝÆN Ñ‘àcÁ>±ûX°…"mEà +›X!—Á3Ÿh– +•ÊÁ9Gp¾T8¨çÌg…!…\’ÊX¡d…’ÊX¡—b…*V¨X¡b…ñ Y!N*Ž“** 2Å”’&ÄdötÊcKš§Ì +k¼`6¿E“E´rbˆ4¬ÎéH@æ#9Â|$‡ÌGB +S¼a(¤5º n¥4ü©yþÐìiÍžÖñÕp–7,oXÞÄ¡BÞ»¼ê÷Û ™_,D›D€ˆ†A"Z^¼eŒÌÎST®dvž*bçax¨szsb)Xó* +Öœú²¿ Èä½¼µTB¢5 ‹¹Ñ2»evËì˜-sž-sž-sš-•ôéà &£t³¼LÈ0‡L†ÉV¬këZ±®ëZ‘.Ô/I#Ü€hÎf :IÉì\Œ¤dvÔ©˜KäR#£R£$(Y°|Áò˱Œ"1ž6 :MSðNE¼·ž†[OSÄ;4ÉjHhV®cåš•kV®IèzxX]÷ºúÇýáø*F Œ +Ó]æ›05ä€òÕ¶}º~n–lo†¯Ö”ÿnûmÛ®#|ò`S7ãËŸä¡)I1ݦèhE‚õðpt "È£cx<ŽÑOftŒ€BW€ýD£Ÿ(kà8FAô¢eðö Üw<¹…ýH¨ÜÂÞ öZØiag;-ìÌ`§ÍaW»BO—Á> û2Øga_ +»RؓŽ´?ì·àóäª6  9ûOwØß %MŠp˜ +À 0”€ +°,½æõnÿô§ý®óÇïžòçãã¡ó´³‡ýó_›oàë7¿y¾¾ûÖíüg·ùüxôŒ» ú=vÏO‡qñcØcøÀçßà {Œ|Ã#Ÿßcüô{ŒŒã×·Gù›NL ˜Â/ +~Qð‹‚_ü¢àUž¹“Žû<ž'ôßýËádø>Ä—ni+Àp˜ +À 0”€ +°ôöÈúèC¦Ëúèk ¯¾úèkÊ7¿éŸÚí6Yžü<àχõ35"oF´‡Íî¡;lö‡€÷Ï_FüzÄÝw¿iwiA œ¯çΊ€†Õ·©aڬŅkÑY‹CO´Ì´IËY¤Å£“–µ-ð½Ú³…µ«ý‰ +"®7c‘wOÞñØ»LœÎâR‰Î2bÓYŸe&Mg3Î|:ˈÇgaât—þt–›Îâ°ø,3iÚ‹ãqÚ‹ã2"zÎH\-ˆ¯‡:EwîÑéÎ4¾s¢¾³î·{÷6¯ï¶¯Ýuºæ·Ûm»vÝ¡D {~¿ßîw7÷Ýî¢òu+UÒ_o+@ÿâ%ºöÊV¨c+¼«•k9ÜVýýþàº¸í«¯Ïnÿƒ‹†Cß­¯ÿòØín=¸q]ûaAâ•w µýýfsÜl×ÝHþùK{ z8º§zÓÿ:Ò¯îí}7Òï\32>ޤÃè·®Dß núì•_K¿vÇÿ'(q5:wÍ' $¼9 ¯¼_®t_ŸÛ- Z,l»¾÷Gáës×7{¿å剸Åx™·þJG¿á‘OÄgø\K×?úü¾{Ú`)|y'øhcS/A:eòÀ{jAú‘8¹ˆ)D¿¾añ·‘ŒŸh o~:!“ò·? ½!w;Fá(~ƒia”=!/ךȟ]ë>ýÎuöÿ‡9o§ 8Y™r`\ù%ZA¼ûiüDTº«÷D^8µÌ^úHÔ¹ŒKÿáRdÑ[|Ëôö4vÓE£ïˆ@äkO¸s â„rÏÄ%÷G:kdÑ%ÊÔÓf½Þv7}÷õ”Þõ Çð„n·Ðw”r$¶ ò™~Å>öØí3ã5Q§½áKdÀ´Yþ'&O +>°Sj>®ÌÊ~9]œT^‘7ƒED"‹ˆ:IûQ¥ÂH…Æ3Gã™?‚ÉF2SÞÜïŸîüb ¦Ýj‚ny…îyÕ€ºç8ºÞ]o‚®7 ëЛ@¾ÝωMíçC›³vçÞÅm·iG¡ü»›$Þ×äÕ?=)EËœèi…š`þj ¬'÷è;_ýþb½ß}~aŸÃȦñDŒj£HxÊ}±ÝZ °“üãé.³í¶$€>LllÙ±cy™d&à »ÑÀ#ÖßСHXâ1D2é$?p‹BQÔ‹.«ºö îMÓõqQsíËñ͸¶Œ×ž^wôíeãz +ÝËþÙXþ˜µÍjÞ :“Õ/–ýÁäf;k¯w‡Ÿ»Í«þÑ®o–óYÛÏnô£‹{ƒþl1¿ÿ& Ê0ïTQs÷r/ÖÛÝíúf½šµã’Ád¼EYT¿”/KŸêŸÃÿàþÇkQŽG¥—ƒžcÓl»]ÿ¹ß¼8ü#8~.Ö®Æ_÷ß³ñ×õzw{ŽÃbuqøuÝ=‡ìIX…p¬Ë%!Œ 9ë½Úõü;²ƒ1ôÏXÝL¬RËj +Xžµß¦Ñr˜Áôl»›Æ![J¶Ôæÿ”xiKHþ´>kwÝm4}6ü=[|9¬õóùr;o+Š/ÈhJFS2²’âJŠ+i¾¤ø¹ûû‚" Š.hª¨^ôíÕõ¾m›Ýùrõãá×´Ì’ÞKz¯(·’r [’¦d%í”SŒåäa EN ”Åìsòðfº¬zñmÙ¸Øö¯*Rfõù¸t½þ 81ËÌ„f2f–1³Œ"3fÆëïx½]&~2ì*ì*ì*ì*ìjš¨©§¦žš½­ÅŽ!ÖtTWgý¡}v³ß0„x”+†$Ã!NN=¹ì5ù*âVè+ânw#ÛoøQGÁ<ø”º\6ƒM-¨?;úÎe³©§b½Â^^ÿJžUüjüjæV“/f?}9ü}Çø;úrø;úævçøºXü¨ËI|Ö ë!õFä è;¤NKü9™zê‰Ð[âÄR¿ä'ÅÞϳ†ºB°×3'þ˺@òãï™G@¾€:–þÙ'Ž—y²¯O½úÿ9xÌß‹žùÔåyìdO_^úb– Å^ú%~$vR/ñ"êæßµ3"ÓŸa¬81ùñœ¬ÓŸa“‚“ï\(Ï/z‹‘¹‰ñ"úé;–÷ýwò~"ÇØ;y?äý‘z¤>Ö#↲ïäéßU¯&á×n÷÷f)É qpPkNI±’ü(½T^›G1R«¼j%UJ*‘8t¨µ\I™’R$#*»ê U¤^I‰’R%©|©ª%-”T*Iõ—Jïj˜ßä÷+8S¯XÕìTÍNÍÖÊOuàT]NõãÔÓ«~b£$AÍÖé:•ŸQ~¡zþ"ÕQ &ª§Åª:#µê5Õ{ z”¥UÙc=OÝŸªÚª˜VÕâÕóaÔ$B%Ê/P•yõ¯f)ËPå ÔZ kQϧזêy Ô$¼z7%Pk^MÞëÉ+¿På uL½GªÎHGÑ3SµDj‚F­½¦öÁ¨çÚjIeUNÕâ´ŸÚ£ü"UY¨&ê´*ŠÑOˆŽ¢j‰ÔtCµc±þÿ Þ?§òÅj-V1þîêïµî]ÏEùEª²P¿qª¿XíŸcfÃ&ÓóînÙ6ßfóæb¹úqþÑíWÏ¿5w³¶ùéþϳnÓÿëüiÞÝ6³þN¶XÎîÖ«ÅÇsö÷œÁ,gRËÙ5ä¬îùÝrµß5Ï»f.ÞahΛn·¼›íшÿè—sÖË9;çœYsî9gµ¼ˆ¡øÁ"ØqGʹ åœ-sμ9g>ËÂJþbÌg9S[îP–³¼å.e©Çræ¶Ü½,s²ÜÝ,gYˆ^æ‡_ q$oRg.ué³Ûõ¾kÉZº#k~¨Šè‘d .6Û¦›o—›Ýr½ÂhR×5­r½³\7-ÇfËuÏÒZÆ:[ÊÖH1J‹W¶4„´ÊÖ‡c{Nþ<?¶6¬.x¿v] $SÁO„P­”Ó•`*¤S33]™F»ÿ/𠸩Y>])¦‚ +M}¦î5B5©M¨hj c9Ÿfw›fÛÍV‹«Ã¯¯íòföîz¶½ºÞö_„íòæv7èÞ‹î{³{Ð^ ÚÙvÞ Ÿ&Š«›mÓ¿êãÂå)å›cŻźmt¯7í¾»ºÿ3šÄÝÛAT‘›?ö³öjø;(>Lõ—Q«®x\j›®þ Ê_Äò!Äå)ç/Gʉý¿—¦~¿éš¿æíìîêöïÍm³cúayÖõæËîû˜I©T°WÃ’lÍ[‘š÷SÍ ­è ·gÜé‰Bï×°pØ›QYý<6z˜ÊXÝã8‡É_ĉ׻å‘ᬛ/—»eÛ߇¡)U¦ßŽœÇZ»vÖÝòÇYÅù0 1Ý´id^­‰ê¡›OÔ÷åéÒ~?¹t¢ªùr;ßßMÛþõŸ7«Ý”Ÿï·}¿Zô_†ùzÛ\Ý-‹¶ùÚ5^ìñ­xX¸<¥|¯­›þ+Ók?jm·ëÏ÷úÏ¢ç?ŠóHûáÈžðŸŽÔ‡øoUòîD¿<Žxy*Ú›ãf_©Ð?…ýïÉ/Át²O-üç´'y~;½zÈûñ ýû“ÑþwíÑÐ??¹ò뾄~4€ã~zjáÃé€_޾Óçå¤öã±>ëž…ÇÆ—§ìþõáñSzZýé‘Ëã¶Žñî„ùû“–/ïöÝr>kWë]ózò{qÝÇ¥$` ôpèa sè` SÈÍ ‰a3haÙwKê€zȵ É¡ƒ%L!Çø$†Ì …L$/uèa sè` SÈM,‰a3h!7Ã$‘¾SòC=¬a,a +¹a&1¬`-,`"yy ô°†9t°„)äú”İ‚´°€‰¼÷ŒaE=Ð@k˜CK˜Âư‚´;k’H^ê0ÐÃæÐÁ¦ëbà +fÐÂ&ÒwF~h ‡5Ì¡ƒ%LacXÁ ZXÀDò²zXÃ:XÂF0†Ì …Ldß-,¨èa sè` SÁV0ƒ0‘¼Ôa ‡5Ì¡ƒ%LacXÁ ZXÀDúNÈ ô°†9t°„)ŒþÏx•v5q…áDö°#„ÝWQÃ$LÀªY´*$`ÞI&%dtf…nt±µ‹ÖS¿÷ð{úÁÿÐÃoº½sç0a±MΙç¾Ï»ÞíÍ1„8ƒEãˆv^üG #Î"ƃˆÓˆ“ˆÄâ bQDŒ#NpBÖ=BÖ9BÖýgFœD "òõÆÃ6Z|À:BÀª‹É1 ­þÆÐâÇ­uf®Ëj¤(¯ªë©:²ºaðêbˆÄ8b1ZÇÿÖ8<ÄFEU×HJ-:X?ú[¿¥ ƒˆ±†´j¤ä¼ºy`@e“X/ ±`«!3Ä "NHô7àÄ|«D—Qs¡©4EK,ÍÓis +§w +!§µâ•VÁ©¹ÐV¶½ßÊ×zPK^]Í?¸;ç-¯Î¦ù,ƒÖÏ…´^·N N"Fãh@ ×D1ÿOÊÑ–nÛÇKk•й‚9ãÒjÔHE¡N*"Ó†E:xS©^fë…ÝŠ‡¼ÔÚÌä‹·1÷®‘tCS×äzé B³dWdé<Ìm#•—SD«”Ø£VJ6YÏ‘ÃN+mÉʼª° oÙ'´©œ«—Ô‚Œ©<¼"^I‹!—všÏÉ+­n¤dMU ~aÙ.¨æÚ7–Ik¯ÌViÝ¥Ysc R(»eÛ$W(Ÿ7ª;9Œ&ß{ožÔÓ¼1 ¾Ø|4>7³à +‚É 3ã³%.$miÕCáõ4…Wq +¿E)ü} ¿Ä(üÛ— +?]À×÷áÅu +?0üþÆ[øî…o§(ìLíÃ7S÷áëk¾ºJáË(|1Ia;Lak‚Âç! +›Á]()lˆŒq +º¿4ÿSxî§ð,°j` +?¬ òÂ>¬ |æÛœ‚âÛ…ì…ÌØ>ÈW(¤G{`utR£Èè|:: Òè%x:Bá“áx2Laex–‡EH^¦°t9/QX¼H!1Daá…GƒæááÀ$›Ýƒ +÷&áãsî¡p÷,…9 p§n÷S¸ÕŸ…›}×`¶Âtü)Ä£;‹FàÆõ1¸65]ÕàêÔY˜û!àoÁwÆ|wÀWÕÛýäJo3ŒöPéñÀåá~î¦p©».íÂÐù;papÏïÂùæ.ï“®8×YgwÏ$àLœé¤Ðï¥Ðç­†Þ‰îÑ•®)od¥Çuš£Žî˜÷ŸåÓb[¢UlI´%[’bC¢J¬L4$+“Í“M‰zÑ“¨«nÑ•hJz’ÕIW²N¬MTˆ§µÉSÉ×ß‘H•û½ûÍÞÂÈÜû:?·Wû`eÏýrïÂ#óy¸¼WýrÏ•X^Yzçv¿N¾xõÊÕ›Û{óhé¯ +&ß:¸ô®²âu2æqŒŒ¸ð;‚cûév|Qí.=]ˆn6²eT[¦øq#–‘Ç(N²ëúW€·½€ +endstream endobj 70 0 obj [/ICCBased 51 0 R] endobj 25 0 obj [24 0 R] endobj 98 0 obj <> endobj xref +0 99 +0000000004 65535 f +0000000016 00000 n +0000000147 00000 n +0000047284 00000 n +0000000000 00000 f +0000047342 00000 n +0000000000 00000 f +0000000000 00000 f +0000077869 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000077942 00000 n +0000078160 00000 n +0000079815 00000 n +0000145404 00000 n +0000210993 00000 n +0000276582 00000 n +0000000000 00000 f +0000077454 00000 n +0000357201 00000 n +0000047907 00000 n +0000293106 00000 n +0000295821 00000 n +0000062360 00000 n +0000077756 00000 n +0000077640 00000 n +0000321401 00000 n +0000320198 00000 n +0000320341 00000 n +0000320484 00000 n +0000075782 00000 n +0000075933 00000 n +0000076084 00000 n +0000295883 00000 n +0000296204 00000 n +0000048390 00000 n +0000050625 00000 n +0000050687 00000 n +0000293071 00000 n +0000051006 00000 n +0000052312 00000 n +0000065099 00000 n +0000051069 00000 n +0000052355 00000 n +0000062395 00000 n +0000062450 00000 n +0000065213 00000 n +0000065276 00000 n +0000065306 00000 n +0000065592 00000 n +0000075670 00000 n +0000065665 00000 n +0000077086 00000 n +0000076571 00000 n +0000076235 00000 n +0000076348 00000 n +0000076467 00000 n +0000076714 00000 n +0000076838 00000 n +0000076962 00000 n +0000077210 00000 n +0000077330 00000 n +0000077524 00000 n +0000077555 00000 n +0000357166 00000 n +0000308132 00000 n +0000314369 00000 n +0000308195 00000 n +0000296525 00000 n +0000302509 00000 n +0000296588 00000 n +0000297454 00000 n +0000302623 00000 n +0000302686 00000 n +0000302716 00000 n +0000303004 00000 n +0000303077 00000 n +0000309108 00000 n +0000314483 00000 n +0000314546 00000 n +0000314576 00000 n +0000314864 00000 n +0000314937 00000 n +0000321179 00000 n +0000320965 00000 n +0000320627 00000 n +0000320740 00000 n +0000320845 00000 n +0000321060 00000 n +0000321292 00000 n +0000321859 00000 n +0000322139 00000 n +0000357226 00000 n +trailer +<<624E7489F7E07242978B41D832AEBB20>]>> +startxref +357440 +%%EOF diff --git a/src/website/ifcos-graph-1.svg b/src/website/ifcos-graph-1.svg new file mode 100644 index 0000000000..717ac16519 --- /dev/null +++ b/src/website/ifcos-graph-1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/ifcos-graph-2.svg b/src/website/ifcos-graph-2.svg new file mode 100644 index 0000000000..a6e8e80232 --- /dev/null +++ b/src/website/ifcos-graph-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/ifcos_classic-logo.svg b/src/website/ifcos_classic-logo.svg new file mode 100644 index 0000000000..aede7b6f97 --- /dev/null +++ b/src/website/ifcos_classic-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/ifcos_new_logo.svg b/src/website/ifcos_new_logo.svg new file mode 100644 index 0000000000..dbcfc2e8b3 --- /dev/null +++ b/src/website/ifcos_new_logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/ifos-graphs.svg b/src/website/ifos-graphs.svg new file mode 100644 index 0000000000..8bc66509e4 --- /dev/null +++ b/src/website/ifos-graphs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/website/index.html b/src/website/index.html new file mode 100644 index 0000000000..4f8b1b6ee4 --- /dev/null +++ b/src/website/index.html @@ -0,0 +1,66 @@ + + + + + + + + + + + Hello plantilla + + + +
+
+

IfcOpenShell

+

the open source Ifc toolkit and geometry engine

+
+
+ computer-graph +
+
+
+
+

what is IfcOpenShell?

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+
+

why IfcOpenShell?

+
+
+
+
+
+
+
+
+
+
+
+
+

getting started is easy!

+
+ code + 3d-building +
+
+
+ +
+ + \ No newline at end of file diff --git a/src/website/learn.html b/src/website/learn.html new file mode 100644 index 0000000000..23ec2686bd --- /dev/null +++ b/src/website/learn.html @@ -0,0 +1,59 @@ + + + + + + + + + + + Hello plantilla + + + +
+
+

Learn

+

+
+
+ computer-graph +
+
+
+
+

start here!

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+
+

ready to get started?

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/src/website/products.html b/src/website/products.html new file mode 100644 index 0000000000..4de70f4c6a --- /dev/null +++ b/src/website/products.html @@ -0,0 +1,59 @@ + + + + + + + + + + + Hello plantilla + + + +
+
+

Products

+

+
+
+ computer-graph +
+
+
+
+

tools for every need

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+
+

ready to get started?

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/src/website/styles.css b/src/website/styles.css new file mode 100644 index 0000000000..3a8f9791c4 --- /dev/null +++ b/src/website/styles.css @@ -0,0 +1,197 @@ +* { + margin:0; + padding:0; + box-sizing: border-box; + font-family: 'Nunito', sans-serif; +} + +:root { + --green-dark: #45B749; + --green-medium: #C6DA20; + --base-yellow: #F5E732; + --orange-dark: #F1642A; + --orange-medium: #FFBC2C; + --dark-font: #2F403A; + --blue-tint: #4A5E69; + --off-white: #F7F7F7; + --jumbo-header: 6vw; + --jumbo-text: 3vw; + --header:5vh; + --content:3vh; +} + +body { + background-image: url("ifcos_new_logo.svg"); + background-size: 95vw auto; + background-position: 50% 0%; + background-repeat: no-repeat; +} + +.container { + width:100vw; + height:100vh; +} + + +nav { + background-color: var(--off-white); + width:100vw; + height:8vh; + padding: 0 2vw; + position: fixed; + display: flex; + justify-content: space-between; + box-shadow: 2px 2px 10px rgba(128, 128, 128, 0.493); + z-index: 1; +} + +.logo { + display: flex; + align-items: center; +} + +.logo img { + height: 70%; +} + +.logo a { + text-decoration: none; + color: black; + font-size: 21px; + font-weight: bold; + text-align: center; + justify-content: center; + margin-left: 10px; +} + +nav .menu { + display: flex; + flex-direction: row; + align-self: center; + width: fit-content; + text-decoration: none; + font-size: 18px; +} + +nav .menu a { + text-decoration: none; + color: black; + margin-right: 1rem; + justify-items: space-evenly; + position: relative; +} + +nav .menu a:last-child { + margin-right: 0; +} + +nav .menu a::after { + content: ""; + background-color: var(--orange-medium); + border-radius: 2px; + position: absolute; + left: 0; + top: 100%; + width:100%; + height: 5px; + opacity: 0; + transition: ease-in-out 0.3s; +} + +nav .menu a.selected::after { + opacity: 0.8; +} + +nav .menu a:hover::after { + background-color: var(--green-dark); + opacity: 0.8; +} + +h1 { + font-size: var(--jumbo-header); + color: black; +} + +h2 { + font-size: var(--header); + color: black; + display: block; +} + +.content { + font-size: var(--content); + color: var(--dark-font); +} + +.subheader { + font-size: var(--jumbo-text); + color: var(--dark-font); + font-weight: bolder; +} + +.subheader span { + font-weight: bold; +} + +.jumbo { + display: flex; + justify-content: space-evenly; + width:100vw; + height:50vh; + padding: 30vh; +} + +.jumbo-text { + width: 40vw; +} + +.jumbo-graph { + width: 30vw; +} + +.abstract { + display: inline-flex; + height: 60vh; + padding: 40vh 30vh; +} + +.group h2{ + padding: 5vh 30vh; +} + +.img-group { + display: flex; + justify-content: center; +} + +.img-group img { + width:30vw; +} + +.card-group { + display: grid; + grid-template-columns: repeat(auto-fit, 20rem); + grid-template-rows: 20rem; + column-gap:0.5rem; + row-gap: 2rem; + padding: 0rem 7rem; + justify-content: center; +} + +.card { + width:17rem; + height: 20rem; + background: rgba( 255, 255, 255, 0.25 ); + box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 ); + backdrop-filter: blur( 5px ); + -webkit-backdrop-filter: blur( 5px ); + border-radius: 10px; +} + +footer { + margin-top: 5vh; + height:10vh; + width:100vw; + background-color: var(--blue-tint); + color: var(--off-white); +} \ No newline at end of file From 5a5f52a5c24d265d075bd6b38c676b8e34664e63 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 11:42:12 +1000 Subject: [PATCH 116/243] #2185 Standardise graphic style for annotation images in documentation --- .../docs/devs/documentation-style.png | Bin 0 -> 2478 bytes src/blenderbim/docs/devs/writing_docs.rst | 9 +++++++++ src/blenderbim/docs/index.rst | 1 + src/blenderbim/docs/users/attributes.png | Bin 212733 -> 212374 bytes .../docs/users/blenderbim-layout.png | Bin 235687 -> 241379 bytes .../docs/users/element-class-select.png | Bin 252047 -> 252971 bytes src/blenderbim/docs/users/element-class.png | Bin 238840 -> 237601 bytes src/blenderbim/docs/users/example-project.png | Bin 236386 -> 235389 bytes src/blenderbim/docs/users/frame-selected.png | Bin 158654 -> 158789 bytes .../docs/users/install-blenderbim-1.png | Bin 289973 -> 220351 bytes .../docs/users/install-blenderbim-2.png | Bin 84667 -> 93348 bytes .../docs/users/install-blenderbim-3.png | Bin 60333 -> 111969 bytes .../docs/users/install-blenderbim-4.png | Bin 229054 -> 238472 bytes src/blenderbim/docs/users/outliner-filter.png | Bin 34428 -> 33628 bytes .../docs/users/outliner-isolate.png | Bin 258342 -> 259715 bytes .../docs/users/properties-loadproject.png | Bin 43191 -> 41404 bytes src/blenderbim/docs/users/psets.png | Bin 42193 -> 41817 bytes src/blenderbim/docs/users/qtos.png | Bin 60561 -> 60214 bytes .../docs/users/scene-statistics.png | Bin 26893 -> 26556 bytes src/blenderbim/docs/users/x-ray-mode.png | Bin 170760 -> 168680 bytes 20 files changed, 10 insertions(+) create mode 100644 src/blenderbim/docs/devs/documentation-style.png create mode 100644 src/blenderbim/docs/devs/writing_docs.rst diff --git a/src/blenderbim/docs/devs/documentation-style.png b/src/blenderbim/docs/devs/documentation-style.png new file mode 100644 index 0000000000000000000000000000000000000000..75f2596c62ffba33df59bda31ddf52f5548e7124 GIT binary patch literal 2478 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%0ASUFs6AD5N1_JJ;ynYQ2geM0Y9AFBzwzl&N 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

nf~-V>De|dqK&}M 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�S=NY;TwBIYT3$!ZB7v`V)L(( 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 Qi2@%P2?g=8r~3Z?2cih5p#T5? diff --git a/src/blenderbim/docs/users/element-class-select.png b/src/blenderbim/docs/users/element-class-select.png index dda36889baecc3b7605ccfd87baf0e518d46509d..4e2304b93f507654f669b974475f528323bbbafd 100644 GIT binary patch delta 120548 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°_1~d+z>m${{32p76wzrQg=AKbx#v8 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%0D)k2R}H=Dl_UyTJ)rUhXigW4En-X7;a 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�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

eFH9U+jYSarMmF0_W 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 delta 119452 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%0AV;oWOmAr z*Tv$lU^oW6WSe}eM|`SpTfJWqA5k;*cAA4PAHAB?p~;Fjuzis>2Q-ohHAv%+BBY;14ba-|Jqo&Az(%t0sjvXD?*a_e+GnZTQe!MSdPzmvoCJ6UF=2u zDKxeR2Lq(tX@rXQGw3<$1$xrxy=uw>$VFf^x-Fyb{N3r6p1}ik9m3csv+(o|_r&lR zrpeWvS9rr@!?BZWF-j}0n0J^S#w)P}PO7)6&FPjGeJJLV&+`VeX1`FTzSCql{gP^3 z@sa8Zj%C=t7QUZpbv_vmKh5Lo2T{j-NmZH$7>>8yH3VLi*Zh0#v5cJFDt>ckdT;I( z#qj{Gi60OB!`#Pc<3f=t{hMRl4po4zF3$HI))B8{zn@L-kkRc6yiHs7&ueDxbU zcFTZTWqL6%;Gvknee+9gEgxEIZy71>vEq!v}ZHSR6(^T^E|(++$K=}ht3^r zMWP_rClF@q8*tK!d|d0W2@T-$Luxie@j58#18XriDF-I@$*2}f$KhMuZ}?K9CW%rc{9Iy?;6bcmx=Il_hD{Bj0~XiIs+uWC-sl+C<#C}i(kWm zjVMDTQ3xg}q$ES#M^yPRmi(~~a}~I+-A28(Pkv8-hFU~kFH|GXT;ndA!j7&%dk5mhto^(;7i$%A zc*JazG$fp=rP8)tqRqdjv+#BlwbGivbAIFM57joa#}+i(7Z2`hV);hKtB#uP>;092 zC*FXAosC%pICo7@!g3`i-d$$mg#@`9CKwEc0$khRH@ti}3=U}*H->8V?w$Zj;tyS_}-&)=OUnIc4RK&k=! zXUyY}mu}Pe6344WzrB3mk~Rk6liSg9HW#K4Sote%0Q2_${P_krp2uFblz=G{s7Y+eaeQ>P zOZ=mmYNez4J*W+2@Bl9-;|Ng#7_jJkwv#8VsSA(1R-?1_bz2#PpT4>z`u$<%Z}5W5 zA78-S?U@#}}E8QTj8OetZdnWu?)l6h)1o>f@nr9EH`V(K$Pe zY+S(wK9?IWFW7_GI65pBT}nZM(P{ZxL3=9Hb^uYbH0Tf}y4(8D zXfT>d4yvxxQLVwCx(Daa`-}{HzyotwcfAE#VFa4m;P!`poEL+RaYa-Q+> z4&&5{0(S7#vfiki^zI`_FTMPBsTAYFR zvnvtGADSRab&*qma0G{5^-$zJp88A4LXLcCh69~zh4*k*)>U-ixLk6E+h*K<0$LGt z+7~THdg@6EUH~uExzPW5${smXi~mt=1?ek-O6&yLl0FG;gx(DHIcJIm=?}p0@>zk} zI0WL~JIy~#GyQ9|8E9K$*$hDe`u9p9A7rNvd(C} zYvanTb`VS}V}<$YFIXM%rer(Z!IzLGR-wb=STkCCm}^*2!++A~UaozyfTr<gF~$$~3^jep-6w8L@kG^GNW6xP z$U{=G<9ySjb7&WV4rtMp9rz;&@%}?%$dO5g0D^!BuDbtHj#4~__2J4qg@+Eh(1!@< zEsIh(Rv}3FLw^RS>6Qmd^r6r)%)*<}PHee)Gv?5E0S`BX3^CEZLKmO$DdDLPwY5>h z-)FPp-h-^*8UqHC#TE0B`13w%vDrM)3cTfq}Bu@M2DsD2xqIUduPv1K23cfH{ZD``91nGZTtX&jRy?49d<7sdNCc z{^x826c6bf?|Cbdd+{-;jK-GZ{DF8C-I}n20_jAq3v_8ZDlR17l$%ClQpRI*t8Yz4=#K3kPMx@MR~!so6Xsc zz!tGuJ~ym9zY?Q%rYeCZyQMvD%hlsP)kVsS#;V-{&R;BN`jiRqSWERK`VG&R*}syn zEF)Fg*SfNB&pd}GZ{Q=x#${a|A-}7|+~1$qV=1^Xx>pRvzvH7Y*YwGxgM2vSyYTzF)Wkgz~9s&g|LF`tRXMoJM>?n?o1)g1QDw zXSMA!6ZG{*iE+xY5$lsr3GNB8{+rMnw@5e-7R=}6cPV{b%s5lkE#MMr1+Z1$@US)3 zy#Y)Ze}H0wy32cryNZq7y9NKEG247%9@1Nar<-83dmip{bV5CB15e#!Xz^%2 zVB76fbrqI4sP+J*@j@smS<$D>mzOI%9a;@;T>1ht95ryHJ^~_y5B;OTgX3zcDEH(M1h>{uIDrR{b;!Ed-j z`0E+{OTFsLSK~jusEm>txjFX)r=QqZb4fOZp}oV5I|`mpQHR;H8}8hmMey=28PWX! zIkwKTcPZgM(w2?a{a%4Sh@L&gB`8$2qr`Icg&YWB90-saQkqy0ePt;)Tz3?%2*YLm z{{1_J*Nz$+I|t#b9-f{HBL2QkJHGWgri>P;G+c=fpWp3DHFiHRFe-@K!EYg=M-*%b*qneF`lehFx!;tNuVf*Yw@o!8*nIhS* zZ(5e>XKLN_pQQd8_Eh8kQrJ6|H3dVyCt}EjUQg22uQT^Q(|RoL0X5J4B=H8)ys~4k z{BxH4o_@$p<&5B)7{O;^7EgqAd_TF>p8Ph0{z@Je^eA@??z@pBaY)U*4=epR4qXEr zM{g~`bh!nytr@0m8PqH;FzGgjm3U?8*&wGsAHz;~H?N<(Zf8YfqT6HHmy9$tG{{Ir z=gH>;ZQlsfzJkjU*(Zj2nt{%}i}%0J7D{hEB7JuUT(Yh4Bd7E6R|Z$k5$UdZ)LC`U z3D|QxmslV@yVd>ugw>OV>CQ;v`Qu-gI_#d_d3Z6-^QJbLx&w*Gw@Kw~ry-U|j4#Dn z+n2cIaQP*_p+uFek*1G4k0ub~43_hHn_~2Df&ymM8Y5+#Om8Hf#Wh0KVXIB5SS^giyToxJgZF_Nvc70|U`F#gKMLf?{4#?qJXkM+P`b$z<80rhzP zP<7Qlj1`${Rn{P9cR1#Btd-ObCQSdR=J&~ok%Kll{Uc?a@wig#Nc1dc~!phM1uy4k&X zYpYXMK(&>pKR`pXIJQ0cIT2Mlp=u*kQ3Yxvps_+^Mm6lZZhQXHF0ZVFT---6sJQ|Y zE)aA?!rmd{{rmU58xV@{62{aseR5Y4#0e36P~pS`_3lz)!4B0x@|LbEu&MKMGH6bhw< z^{`nJ84A$0050jiHdirsa!jL&BO*m_jB!hhl_hdd%z3aFXWl{kH-Ilm;nt#@NBDUu zQ&EYb2i5iZe`RSx&RA01&|uQu%H2f1WZMq*JMny==WZ64RNhSrVQFcxz#(Zvpz{cel-PHv*g zF_(Du-!s|wDUBzPi9YeWr%1I>^=B5#{IJ>ZXN2k6qa0J&EaQxQM@Ew{vA=RgJA~HmndR_A9?4qijBTHF7LD`@Eg2Q3vkxM9 zOrrCC(Dd2xeZo&u8u;=@L##qsBCS;y?O#~0-^3q&&s9>P(;Y<+q&&BfR{v*R?*(&z zp_JfE%JO~A@w_SdZ*#63FOVvtn^U_6pU|D= z95CftP%FBI)II@9x&Viu9aA26!g&Bpkp-fE0t5kyFrNjs;j|KuC><&KY@+D6{^8+g zFhl{~;SXq_O1^D^NC2iee<0QVl&)!jXJnu=TkL1ZD|M%vLPL7qKfm^Cj$rFh8DR~A z4wOpQ*fTEf8d_DNQwIPQ2%8K7f?pU#@>eg!8-fP|Rcy?rxc7X96%vqeBH_P49&F@g zXH+l&)HJMiuPj?4-E1@8gEu$%zd8lREot%zR6EEl>JrDhI2KCOVG^Y|!&tZUfN%9- z^5kaFs)8RIf?vgsr!lG%A|k>VYG!q2NNzTVrc%&RjDCxe7Q-~Ptl<3oYVHf7Lacb} zMw}>CTX8>anC!v$Uz&rG9}CGPR^5g@W}L3Szdt=Y>Ls!`l4cDs6ezR7+mW7Z-vAqY zuR8me^33Co&OhxQKW-Be5b$TayXKa0>Y70H(UqS!Hh)~#_%zL`m$HjZorWE#S)G?^ zKtMf3Vi$ElfBz%JK2>?zBn5ucgyI!|iR~A5{!WRw_+slrjMOC3@~LCP!#Bz){kLx2 zVJo^BGScc;TJ-RkEW#s~r^W=a|5Ez~oKM><#x;$H9-re^=8=HL(dm_6^@L;bx3 z>rkuQ%c6}ba;N3lhHZKnfB0p!R&*}NiqI))X!LSl|7>o^wl^FBp4zM})$ zHE4c-^|j5E@MHBfBjWb`auASUY2PPt1`XXLkfrhdM`Jl7D>fs`JS$V)8Lao5sDzuE zFRXX58I*qpt=#fKmv7{Me#(A)4o19sVsq-{g$SAK+Y!_8YpiFiAQtvf>`Oz zPs?gMou?}00<%>UOO5RVEAX*dp)U(u1xu8Y20mH^cO;vPrtmShpUoaVMa9l!N>XUO z_NJRq+>uUyLAlZRRY9(z_R1YMUm=ztx>24iO!fW4Ea?S5F)m!DY3}H=@LZXpvo}uC zvMBUqwbT?dV<@MUq4eb-3hO(skUN; zoLH%H>Z`+|nP?sQ@OK<_RQL~=P>PF* zmmT~%e&32^_Wf}qu;pabOE~==2oxB+y#P904hm%`ujB3sl9}v-={Al zH?-Y3R&EfPZ~wdAIw=3Dg>i86*1Y8J4wJv9oxFq6@7|8f{y}U#<7O43RulaKn&n-l zvE?rxgr#ncotmOp6lsbSt+YwD{4SzTe#HNXoadQ9!3`qs^=IE!N53jrJQ*hvev;;J zE}35it3+FnSnz#6ORNc$W1YGCm&YHp@gU+&pKi{*5a!vfWqYuK=gxK8`I4Y(ytU$@ zTB(2bh_Wz?-+`pF_F7MCQ5ItWt&9K@LDHXl8N^AB+NSx$GF@JhwWd4YOmU3%wmIg9 zu@o05UC-_jrb{PxUmW+ia7ZZrV0}eax0aShsXv-FzzdI_eHE)9FxVJtD+iR~5l4+Up?+elg3 z+*GxY%UdRqMKswpri07nf{C`fuA<+5hv3=I9goJ+aMF(-(ft5SD3Cg@F5ye2Z++@q z3G4ZLQ)o~r!bjel+ag3iTWw`4F|ZZc3d4L1-I>x&Q*gP1$>(;pqCGCXG;z&rETA9~ zfAy_J2Xr61e4z-i7oW8I(;T4tYq+%P<=v@$*UWD9DL#dpJ;AUCC1IUk+_K=sg=x| zwcm8a4};2=lMEua`M+@V$N8_;*CPA=6M>@FScY4^t0r$>Z+So4OC!S_@-Jybz2;1u zXR(^YASVeS-g@T5+XPZZdg9M(g>sC^pL2)q#Bqd)_>1Ipyo#A20Y_JT-%B^I(@vJr z3YQX3-IN~;lrKF+K%o@M@r0U14%v|P`=e#~6-QJuv>cHXS2Lp99`VDqWp#bbhkN1g zM_P}Vv#)zY12pYk(%4#m;5Ke3=ICC-fPl5KcUu3}7v5G3b*C`TZFWMI3W@X%_m1UG zwn@|O2QeD-GAwPMB8%r*2mJV)-+DZ;!nZX@kEIZvm81y~b}CTYC6xQ~Fbhd}I)i@5 zR9joSE@vyEDkN98+`85o(;@lbz_P4InSo`-C_F#x`ODl# zLPPiM+u0RQ3%s66r_~-7j7R2NZ!xeWOi0(J|9x9~CN9;hF3Cll-f%xT^WS3~}>^ zEfEis3~z}Q<)_>=eZe2J#KAR_1$xtbRl&9_#=)%bcuV`vU_cwJ5bBsSBnW0EevxU3sGHZlVsW5 z3{YH5d>j^YVJ(C|JU4zbT1}f*Fo$j4G@23?pZ9NA?zrBHE7kP1qT^QcD-l8U1J1@a zrmSKJ33r)@yLij;@KN463$AkOBQ8^p>nJP6yoMVoINx#AvR(Ct6 z*RJPuq77ux#5mSQ8w8b4m+QLx!qG!t*t)B_)xrEt`GLeWkmM+GQgL(;7Zw$@!qoX0 zlI&DVEIj4S0`u|HW*nP_5nG1Rd8aZW#m>roi?~xR9-(#*XWlJ-ufINPds{ZV`(RK_ zfaNap(1*cTtHIv31d;C5h~kEKoDH-xLp@5oV&O)?9D8z9k1@XlKcueLXTGwf*IQ

Bs)yp?*yq^RunD65uJ3`dq@^hu2U@?QNM+mB-^SHk$z@i% z(OU7vfb4su3$||~>j<*Je;opP&OxZoaQIjZ?&{B{NY4a|w%PNFHDP+ox{BHn%Yj>R zGd`hVx#c0IH+vgZ=$|fem`D?FEvRy&Mi%gwsrnJ3j~jf5W<(;U-S)h@Um1?cmFQdv zU_pcK`hI}cu^Cobntl5PG(u-g&m0 z$W&fT-~T8wQ@i8KP4)DIs-4p$M7pKyrmwW$Cv@(dzJ^eS$@ibl6FCf0<>$ku@+#iH z*RMZZQI8GoRL4s3;F3m5)QEyVr(9YBPVi9Pua!px4-W=I9Li#EEiH`wHun&t*+|e` zOZgS}1{2>A*(2y3p=w{Ld#&i7|451Ac!}P+x*%MdyFUDikJW0|yGl)!xt^pWi;O?a zQm|L~$dI2~?Vn;ai1ZeR{kLKWmKMAuq`p z4a@bM9L`&Ko5Ofy3{rFm$SAN1&fun~K0a7E|N3i$6o#`Qa9RJc;UV$I=?#%F>9G{Q z2|2~Nzv&2dOeMDjG8p{gc?RKCE!e&g*;*m8spcM5KCTN2rgqUD0R{1F9lBc`$~@u~ zN%W#iXD;^SxwnI;#_F3wUigCN}0-O%^xOO#H<9)l&c&|N%J5d zlWYt2v7`NJf^EM4V9GNYPdEn0yb>k-kNY>?Xz5sJa`pNCG*}vs9RDz~AGTx_D?ojZ zB>sbmnefS0ZO7Kza_5DPI2~j)Qm~2c(*J!_9u`(l{3}7{>PTi?HW_>I1;T7}w0PVyx+D!;-9v$UL}@^3x>pgVu(sZWdzduoi7 zxR5>lKJF~vlay_fDTl{8mg1QjxOcn*?b8Vxt!Hxznc`hpMgf6N-E??=RR?m!XnWg9HKIn{GNGz|Uyhv-L7L7EoU21(6_I{g9VW4$B<+YHt zZg7XpnL-k4OFe#kcaqA88h^nmx^`-t2Pqb>R9$=xOODzJc!8iO>vx@mCq{Xm@pzL? zSzN7$jUjzhXKjoJ$28Zf9o{qdFz8Z>5940m$nJ_78;hWS!Nf_{_X}H#T111aZ&{OV zyAL{)-zXySaAudx3ZDv1(=cHe)t_I#7tI;l4mQti*Ssxy(-ovsf@|e+!qp90uBF&* z+W`N?-RK%wcebBD817vTyw=5SJdVDdT_tNaX|N4m0TqpV%C*r?=a{b>q_G)-B`&_A zuth4HA?&di0sYm=D~(HTb+>1ppM=f@VrZohZ;X)j)Zv9vg?C-X>E)-msq@a@%#Mh< zeHslR%qLjFm5Uj7y5xKCKMPq7S0U9G)QvU-arQAIiR7~sieD@#a1N=y{9lyQ3mvWL zTW zGFBPpq99}gniy!Qz&J(4NApUtAMQoR?*b)Md-)U8HPastJLh`J6Zv0p81u9D@QP21 zt(j03C;mguWJ`;voeAC;OHcn&syjW&MADHBX*GhcYR^0r+9}Nm zXK7V`M(@_{TaQgoDbl&yV=-X3pe%&Dzsb9mXiQQ#+$1>kBrXrv*=i+eQln$s$f*Om z?Qy3(8Lmu*MW%n4|6kN&Q_Z9jMBue0T;r;JY_d~S_}Pk8Yr0qS;2}$nQAX>M;10(L z{}6^hylQw4;rd=A!B&%M6l|nQf_c9O(;INBfZ!rVxjC_b-W_|EgNFyDeCzA$tKWZ3 zFHNfMX06FvJBe8kPC05$R7v7*+WthHbRt6Du7B$j_s_Y+#g$28BE3T0;T!*ZmAkn8irDKUuTe{}+hJ5a~JmJcanpwYh7^ewAT~Q38P!| z;Kgs!QjqdD&uvIm$Qq5`N4r_keQtzeePe zj-^(uDDKCv-mH4I0NcTxdwpSp84HK|BL@3{Z5!pJrRC|V%bKmR%l@Hf>+gzkQ!W9N z1I%pV=s-XxlbBcsP=@L>r;7N4$~U+4a~5@ab(6-QjHZf;SZ8abIX4WioJ&ws_ANKb zRy$}iAgZaU@u|W*G3KTQXA(W~8~?wz*Rj||#OTuh4iCgVe)grbydKoRe|o2%v{-K^ zTI>x@+tJuzkfywF+>*6+jDoZnw^Bjn1&3HpdDzkD_dqF97ALmMB5jP>{xz1t2#=%@ zKbn$3v9SF@-N^hH2j2ZOdOx0YrLw=9)){Y)=eM2KRNI#(hRu-}tx9+?vS!=A-H1`v zyPE0mkW*_ttUcb{%<)fh@Cf&Um?dlT>Z^BqHWHU*zoxJNPgil27eRS|YG4wKU%*X;Ra7KR+X|XOlEOUgd`M#&FxK-(J_) zX=@VZUb@>s19#*=>h^O3Dzx46i6muD#FarW7U#rA=5~hI-Qw-YvCnb;7OnINMyx4e zn1h{nG*GYm|V3eEUk5D<2{8{BF_+k0(i9@yO=K z&yn@QS1uTYODj!;GODoT%x=HUbQTyF$gV*6WWtDLESn3i?5aCSiw|;6vL;i(bCk_i z`9P6ezLq(ilrvk>otD=$s$45GJk#|0PuN+yjnr(FyiW?EGQ#KCQ^ZvyvifhPYNYrE zoCt25-y_TBA1~or8a%bQ((f?n#^B@Lsj1Kv$TgSVDoJUU$Qm(UYsKHS_u$@}l4GP) z@yCDHpxWsM%*soVM9nkJiOg7oCK*mPkM9RtSzSdRONrBzSpVkWV*TacsPp5>d%+v)7OqUcJPK{h z*u39GN!{pfDH?m|v$JPv|{`&w^aCEBa(3X?IQ6U;1xgyqJj^_D2L`auApQ z33@3Hbg2`KY=7#om$)X(oWn=v`Z3Hh=+f8Jcf`XuIhQjuXp@4}VY zzrQ>~qqMMs5&ORBjSs(HklT6J|9IqNrLys=)b6;Rz!6yw<9{XQ_$0mA)P(!?8%Bz( z-teu?o;u72kxj0iq|DAUr%wSgh%Qr$&ceEylPV$RG(I~*wmf)I22Dj*`avhD-9L9p*M!G1?e$V3PSiN?^H$#C?b}S15=C~Y&V&ATd;jqo;|=eG+>WyPAhglv(Q9`^LIuFq&Z<60yVRSi59lOE`m&BcG2vL7HC zj%dTI)`v#4V@KNKyI)$b3yKQE$rOR19(Zb{XgO@Wh?o@N?&>GlgIh-QtSq7zqjnI- zwrfLKS5EI&T^>AMG}y1dGU~xlKs4~Kh;wb}$BSjDpO}}ntVY=+i*=1H#mL+7Wk&Zg zkDIM=yO3Jofx(FVcUfeDgi7y3bqkN^Ysn}=iyViXGCrvP=uGw*Ur$=S0Bk3;p|ad2>iOX+B7QASD~JeEMEz}PXU z(%>dJ1s)$C=_)|G`S3g6jlvccolFQAd>9Lg=4HMfV=hA>DtTAwW8zx;D8J;jCFm z6l17fl~C@%miDs6T<5NDiEsVKBtfS}#+(6lan^}Q`bp%?F{kR_zFvjeK@Cih1FWgm z{nv(%ZoVKPdRQH=$55qL`7oCB21~D4L6ZF+k;#5ieVpJ{T`Xa+j4CLW<(`u&fahtk zH$CdrRpH-mrG=ZDZri)NVwsO3^|#o{N>(ng7#B9R<);2FN<+L0;(9$D8<%~o>3tVp z{}{9A)!Y1kJM5}Sml)nbmrE99No?XG@%)cH#oN0bnKLi|O@NFie!-5EDO?ObZkly?WmrrwzIgStbsx|HcZc$@yRa z69>hW{p;_wrRl;1Bau4~?lC!@A81w16%k09d~0PaQZVw%8-F01Ws)rum)V-<>5$lW zcclcR{!4znH$D<~&)Zk5NQ+NerMht^-%#B2d{sbt`fZ_Uw#J;4ct?=KsQMWGcZc*hmT^Z2jP?8iH z!U@rj6+EP1tn}Y(XRih%3Fan*M#X*xyU-KUqhGq<@W3o8w9<`##Xcq&3E>P()7SIi zeRH<#`|C|MhCAs=Cb6W&iqZN+4;rXRpBHS~K{V4>M3b{8G+JomqbU`iYw4Am9$oiN zT(>gaADR#CSFZ)6$SSAzoQ-}JRUSO}y;`WVa53UgS1%>_^ScTeN;W4ZSzasV$45rF zVR2i_y$jWB@>A+W`sB!O4N_khN7|?&$45$w5%`LH1SNty`IAR;hea_a#|_7+iZ2ou z45pFpS;Rn9tthZZ#4$y9T1>g3Zp0I3{2a0^P^)dlw*zpXM1cxIf6oErX-aU8pip&K z{u?@qtrmYR2Cx#HYcmC8SfDa#5IXn4<6y}b2JfQ5(kN)4(RDV!n@~4KysVm@@0EMc%=C?hUt-~XoJHy(+om*FWy|B-@d#~I4bLnpE z8hq`l+4YZog=?jtb6=p8qxTK*KG&N>=Fi#%!JmwU9v0-6I31T=acx^}vmU6^-n^0A zJ&U^R0q)@n=$sjFa91e=U4NHyHw#qZS*360P3xNFZX;Fw))?|fAhHe zkci%c9Q<8!bRK;&@bL^!2s=%P{5=ZvhZG*2t47?q>F$<%G#9QSLKi@?ouL#3<7hc> zxhcM)4F!hI9GKAM!QcpabV1xr0{Sl{UA^5Z`7#S!jO{$2@6&=*+tpG;G2 zL2Q``^|?@N4#x`8@vOG0YR|pj6~+d`AKKbDD3wZLIoIY5K)_sYQWUDr$CpdN)2+if z9o{;J=o}Po=Zgfuh}a*yhydRbUWwTlKdSuh~qpK znk>o(?o8ryqsL5*o403W~aSGlOMshhvrAR zKxWV^*w)J;y*%NoW4urwo}iS8dAMNRY<dfzLaupBp#(f&)R3#luB_R%fB84T z@EX_R{yZbL=XhrS+0vZnwvbaq2$OXipE@k^xAOImKbK6w3L&yWdAu;K<7R+Wzu>I z(^X<@312Y-2;W{FH>O@56W-n4c2Ia?wP7J-sBU{8q0dRxX*if;&sq~76T=^=H_nt3 zYT`*?!2Gkcsq@3<8zqd*7Za<(v7M*0Aj|?0tTsAt_k6@IQ-hAKA#gIi);h_){mRUx zOx*^cV?#vQ;bhTA538wi-isXs_XkMDS!Hkp{BG|M_SIfDDQmffz@dr)TA7~g;I0?1 z3O!>Ll6SK7FXrFxc99CO4I~Y@9B=>iD6o-hyxf?i(ujvec_8qbFz4k;aXsj#<>U~2 zuxN67W|@i{6E0Jz|}A=W0M|fCB42L8b_mFF#26@tRcFQ$s*=M(&6> zI*RtZv@pFO4wC~{c-T=1zg|V2$Z582l6RiSn#sccV!%_8m=t1`o}0a17>8cAROey) zrLE2_XY+g^tGs2mOWg`hN5zs{6O~l?i;@umktr`8x@R+{MldJ0Gg7Sl`g*ZGqkDbN z0{Ck2{JN{3glq>`R{|x$ldRW>1WJO#70M~V2{|l*(>)koFOcOyWTo68!`_8z|k-%(Q|U zFBCRaVRu=`VWe;UP6)Iqm1`If0mf~gIPw-b{7@izNUoxPUn(kAhG|l_u3MUtY=fC6 z+1uKiJJYapKq2CSJN-up&5&E&@qM796R&mtX6|RKX;*kdd^qxmUO#d*+@0y;=*Je7 ze$F0qj2QUkUO)RrF%Q%&Wma>p>eWjnTW>U~G#iQrOGZ^JvQ-PmGs&=n2w_Zu8jbVf zs>gMotyTh!iAFwn^%v&GCX4*nY%tmlC$)?EFFMaLNn`Qz?EChQ!}+@cI?mQOJiGp* z$@Wc(%p>#U3S_W;irz9hbAsv0h22NValJ}#mB9tX0_Oqb>Qz-yqsBx(|3HZv!G7RiNYDMvnhUUDfWX zbXg6z0t*ESJ?$SxhM&PnMdcA9>fRdJ_Hya6`qj$LJN=0apVZy{-0yIkf0*Xj?!l|_ zWwe0(BIlrBTg2HF&km;m?#cNS6U#nowV!MMu5e6$Vz6lNf4Wn(6K;BE{9q3=R*kYL zeU?(6!x=&kd1E)0!8f($j3(aYM@5SLx^a(8%oJ%)LE5H0YmCsWW>^v2hC3R~!vhNk z8XHyMhe{pcc|=1&0n&qNM+r_t4m28b4MtHjipPS&!iM&qAVx-EU~5_6OoK1@*|TS7 z=0ri?jMhi?_1pXY!(%8of&-$Gz(?cqg&56tbw%%(X{M9os)}K>Bdhy{u|DS!Nm?A% zQuV!kB=agA>2vp#BKiagN_;;0b3-YM`7#S0f`yV)j&DSw#dYI9Iq*=D?Nk4ZQic5ueTZ6gBp2p?lKpHf*!fux*c3WlpoX{x;teXT|wz zEKrBNt@Vs!!hjVj2YnCCDy*wus`ONk!m^UPTO z3zkN%_oc5zUF`)qmh2-SYI@(`A0h*dR-~)w1>(g0%|mis&yo$~KI&M-$30Ps1w$evSZvuu)M#CVRK~(*1blMv>()n#BX2 zQU78}w(|)h%Wj2GZF@^Ni6R)Jtt3T>`Co+c3S($y=*sth{(_DlkB38a=;Wg@c1y`& z0Og?Z84?_c@KE;iJg6iP{wrZHAlGAM*Qk=NRhUj;=o3d072#E9u63y zV{qcl_~qBKPR*%@2Y55nf3wu+{STHn^i}+Sz4U$h8R6UXMPOM1w=>mv?pN=FmNF15 zfYrF^?$cfyqu-A@RA;)_;sfV=xJ|8}1)BI=8%$L3l>*3vs1Xqxv+P-fsA@_P-a-{EgM0ielMuVX!qy0rPO(NGTmWYUNea$bI8US-c>6i4OBi9 zebv}_)PdtruKUikwf-{Kc(^ypT5x)Z^fulEX56v*=ZEk=QOG}h!%7Dbs@(DN5=P58 zSP#yiY0wPE$R8qyv2tP<*R&K=O}#8EEKGUw!nV+*#>jg)E5QXkXsBiyxE8V?TLqP? zfsyCXLuja{YH5mcKciGBC}!(=H_-gA3AauzNJ~Id*T83;`f&Ta<^L&{Iop%W>8>i? z7gg^3%*&QGx1|1!v-gCJ{ox{lSUbo2JhU<6H56DO>iqY0DR$@XV!x*6535N_oyS_% z226(HCpRNRwpByMhnZhdIEX42B~V5T|HpcooPCzP`RLFl(5P&OF_OS^yc2|2#)fCnt0%SieJXe1lVR zmJIoe&t3bIIs8(7Z7nTI00Mh|i1hJB6zbdlKS++gy1=v?$G3Mu)TNk_)VX*=CzRUy z2k=dEN%n;@PzeFMb#SQ~Djd{}i}F*!DoVRgk51Tm3TxnXECr&mD98&Vp7=o6o$dmL!ln{h&h=+t4s2#-5FAhV(vAfMKqrEa={bSK?ZXv%5? z3m)#qhuQYgJ3E&K8z;EAul`u#g*To33XLe=Y{6}=tDM(8nAssUk%4qz(Mrju_aPyc2T@_SHgnc%%o_3ABXJ|>$4bG zTkN_>gA4U|q6TdmN0eXM;QrrFJU11IM!?Htciyc4#z!WR_%&sYek*th<{#$YcM1!P zUhZTip%WqhUq+HnZRv6yFnD%$b^sAgRTM@*2SRM9dti&u2eR|E2Vg^e-Hxz=`T&|o zTS9HtA1iJ(Q0-#*Zu#&qg7d8AOr1Nda#Nl}kFQnE-#ldoxt(Y_JeoHM(?FZw9`Ieh zxLknG`9O#My%lSzHt0{_ETYCzu5nuIvxPxBlD%VoUF~HmtGa2oC7&X_nab5Fxr6Fm zZ5Hd-fE@~4Kzt9if;%|-#`dXfFT~efY<;*=mPD@4R&GvZqjuIhPjnF5w#u1IE^i#{ z^vm?sh}{Q{sq!6NqD1;Dl;LF}qbWj;c|H|&rvCMtUXy{u%o}^>hDJ6;I0$8iLG@hk z`{_JE?DhX&vnP2xxu@_^@S^2_%x^NgvaigcA;>$&(bAS$2D<2WOFpW*He-EdUwhSq zBsl1WRFdzi{TT%PYxGu5fy33+h&bUM)Zbfe(IoMRKTl21i<)#*^8rm3s+&;f{jC%y_2N zy=ZQbFB$T+f<5-~TPWlLSP6Z47Rr4@8{gEZP#L{n z;1W#A*F+cN+PHD&+81%nz6My=q~)FjCVG6T%dzcxwk<8+Q-1BOa@tQS6voYW-(gBn zrN?JHJ!qTYM2|0N*ivaa)>6^Ddc*b$O~Z-rSFJ7%8*Z1w1?QB)-jIi(d{iR*a^Ei7 z-|O7LA6YnPWMdbZHnP4uI$S%vi9i(%t&!9;aI(NqTr8O;<;06y7)i4di8_X&7SgEoG%u&O4_qH+=Gy3nhSL0U@4yBI4 zhICwu-Yl%^SBtG77K^>Gl;+2cXZAUW5Cxoj-3`vHth!&28|i<~H)9*0lDZ^TKS!uT zJGlLY7-*%{!c=S?lEL0HxNI$cDYaNt`<1C~}=nafKxdb>{In8!YW`b7E% zarP?$hxSs<(hNb^ajv5dvEGOaybnmr{Q1Wn8fdq9@*e8w%)(50eQw@v*9K{&;}~Mi zu{2K=rZ7qLXsS7bYkm|H4rsQ8rL=^ zQz@R@SfB$Bb(u|X<*py;!3tD!Irv!5Cp9`bjTL-=Q9ya~cxKt6jZHQoQY}9_l9(q; zeQa!A?vN&`8Kfv+ew8CI(e2ALRl{YBa<$YvYJN5Npe1owS)X?`HG;J?GNV`|e9#nH zzF_Thca6>_E|!Z<9{Xe4=s5fKVubaLg7ZN4wc}D8l+k7&jC*sY7qqt{pGNf;rd19_ z3yh9?l84MaqiGiUFIr3#8T<|!{b-fq`pe)wt%JCwflzLj5W@XYxW1+M9@2k30Nfrf zLl1RDIifAbCqp74`4t5EFRx&-2W>M*Zzo*8)Zt*B>XK%vCPBwG6l%VN&*c9G14%vG z+uQRusBd!!_6m>DS$g+kRzrDO+TXc$l}LU+wJ4xSIe=To_p3)Kt9bA7^3J8h_*>nU zoW&wVz2yLD=#t89w9yUDAH802e3K<{!a1w>FIAq(0R*_UmjKO5-f zckK9k=ijZ`rj(fXHMFXNl?G(heg2HSqWSo329J^$d?puEY12$YgM)BsFjs;IVUC=( zHi6#!&7>lUM_%WQ-fBLfA9w8yoBIoLS?XR(dXAsj9mo~l0d-SQKm0cj#Ct;V99esw z5x7IYjd@n`Xu}TcYr$lI3pl-sSAW-aR*)r6q>ff5ZkyXRExaH6CwUGBYPPkrDR#D5 zvVzSi-)@n{DBiEZ=$nMz4q3_2i>&|wxa^@kx60WP0r8S;5;8W|=FIr&461g(RJ81~SUd8Bt5?rZR_P?lRlc|)QvBjp#GRVd{5tHcxpBd3pwZvPW z3jdUK_|6#cMW$NR?JF!=u$5mVNGej|^PD%5Xe92Z=q1v`ak%S9T&vn%Kxh&x>!e1B ze!de(_V)r!?1z4Uhu=!^=|y+a4p)a8%~i#HCV2I*iwEe&Fdz zig)OHakWg%zIpf(6E%_zR-juf{%ip{GA;`ZFSV}1z)qR@a&XFBY2w*@VYO1*83PS< zt)Azw=C$lL?^vs_IKQ}U43g$l+ZwW?ewpF6a%)2_!qFwymZg|2`|NZUqZa0}+B5LE zV3TtPzpRlPx*ibLJQ7Wlbr`JOO>Heuu|ai(98!NB%ncEo6}PYP%>IioJT>1vxZ9TY zsabVJL{wKkhVer@^#Wk5>rLPmUr8y|37a4#x*XoF9kU~CYPzOQ1^xXPs=*Uo)N^G^ z#I_t1#9w$FHl(AOc`z3O_=gnVU%7ZsDh!3*4W{2&dd8&(D0-^;zf^Y5$-ePQAG48) z&mrEQ+?FUG>(>YT3K1O7Ec`t0VWdTZ6(J7VUf$-;jpKu`qS*U6ikc}G3kj{h*%t5^ zI*{avaDYmax#~4Z7g`>0OHU7A) zu+P=;$)kl8LIt<=s14n%Wpz9o!@qVTpGh%x;kh)R7{$!$*UGaTr&v45ehGh65)b4w z!T}9h(V3+X3QsK(HzrmSBAkd`bF<+neKgZ79JWFDUA@x19Gg7T{_N>n?%nSB*x=1o zKAUGIC+AAkI(flE%f-jc-5Rs5?Dy6^*mH61I|Zxqkx$Y+`K96im3AWZHYONaPqmLP zViW9O5>RH{T{@L5=R|jy;p}+C8TYMrPxr?fqTaG4EcJqyJ&<_1=GY&U*3!kcqhpRv z(IV2HmJ?b`#fc+QUJf?>4`FW^mDTozeczyhk}67<1xj~^h>9qoG)Sj3NQZ0`0Xeiv zmqp!_bPGts4Jb%A2uMpeymR}1o^S7XUq77TIKwkM?7j9{bIo~Oze_NVHve*Zz>VaG zW~;sX{}tp%+|wIk&I_rUk-gYBPt{>io}RCjt!!Hw&2q6pNXT9Ob3J0OF`?W5<(Sy0v_TF`|88iRV)15+48^zA&#|<; zi11-otIx3>6#U*!SMANw*|?zaNRQT@tDGQdu+8l7k4J-Z&8{fL3tM?P3qC3Mq_Pp~ z4>;w-xJYh_#ubk!#Dq7PpO9%IzjHCotUevJu8`*1+2ld4WlW z+R6>0{R^1?&HhEBr!jLT3CpYahrM||mm#)98iQ#ix%al3aY^zRBfwC?G%I~VFe|Zp z(Rfln(Q{dOZRtymaXXfDxbK59)jjRIg56Q%^1Wg$2;llmx*8Ogu2ZV|-BKzR;YbwX zq$BPaYsWkLjsp6foavgmU^Lb#R@pzcI;~#FYi$v3-FRB2S4rc_Z#D5o9l2;f%IC=_ z^g-6&N;frS>AWe$+g8h$Ar*xix0J*UVi?5v!kNSyG=%I&$lj4To8pBO;^rkOvLtRGv!(CiKHqms>+fNL$mI9cskQdw*Gobi zT8YNEvsU@pwM*F#)O7UCdUBIk%~|^@3UnXcs44Bi<5IiUI&V=>9zm)EB`jbilt`m9 zn|_grno(M~9(z!jSy_Da>3xu5bN_k=R1!DL5}w!$;&_LP=wpI3mz;f(jd^)KL`wX4Cc?@MjrY=ni}DS3_pj%GwCLM zFS?9>M-mz@39}m3ZP;&Do-#Gbv9?LobB(miy?jybVgH1ct2|5cl=EX|s(A{F3TeTN zC2x7J)AwdQbsRYwTKV!-hLe=T+KY{!Cv~THOHp{`or^;R=P~@RY_R9dW`*t>R_k-a zK=S!x)pJ+Rs^I*pV`16YypD` zhvjg#a#Ghk=a*B7tKNypIodsE^5^28LB=5lO*4WyYA0?b*5n>R@>3YrxI)qC#Bt)o z3&45==7M1qU=K9-P^-bKOQb(&Gi+;qU=1>1&=FuTRfVok##R~KyCb!Z`Yu-O)o$z# zaU;GrdgiWNULBv}d~o^NGu?W&utX7QUB6qMcdwKfQy8~j)HT~F>mh2%}d8H@*-a=eV3 zZZ@1*B;I$?552pd7JotLon5v__>g6R$y4)mxx)4TWNjBTl}cxd4E5NdXmn~(fTkg* z_7%=EA0sUlof|8{mfl++d^A~UZC{!b$m60n9RDlIjIPqUE@nU)ugluMP{5L36&)3& zO;-Ac&IyEW*12^hvT0_AZ#J69YD}pe5`ug2ghIK={(FYcMyBuJkgjDqluMv#HM8Ek zx#r%#G|Ttx_laxqE7$43NF%A_!XP)0E%r;#l|yaZoj7qEQ7wi*<37bnPCK2`YJ1F^ z)^m>o76nYuFePcXsR{y4$$hFyyV$P(f=ba~sAin(t2uFBf{&w;Rz+Zsk|28lLqe)Z zJIm?8*AfqFtmYnv)py^$8g$L39!OF_cR&3eQuQ!nFcr7F7J8n_Phrl4w@<7^q2c>{ z@&191n@aAZLM_BeCy(br`xeizK>OBN6^;kO;<=3r%!?lguC;NTN{w7Hwt7Q+rR7kP zF)uOM_D-5;hjwn{Ib($ufpDh#|9Mokjo&D&Q}ffslJPCNqIQ$Ug!*_`>PMvyu1~!m zMt%6dF{ifg-uJ)zdqW!r{+-e%-k91Nb4i202X^6f2q|Ico#7!x>K998KEiJzxg5Pc zdh)Ct2FoYn4P=}JWiCFtoPV9{+OtOHq(t*Y*UAg9lnK>U1{yMj@|CPjxtY3IceDz3 z3kn;Hu@$cGdg6<(zs;5DoeoN}!rcF&Jk%1>(@oyDd-D~kPNLsY&bM2UNZ}WMB0TM5_nFW`^$mNrj8SX6W)jj*G+HT+OCj`IE9A zYvo6{u-q;Ge|pz{nm{O0D@AJ4;x)$-x0|7O1%~bk1|xJ|O6D5bt=)v7NxyvKZNjta zJJLj~VR_X3A1J#cXSVr`vyvEddfF0@V`CR<*mmxGjF@?ru5v55Q9JQg&La+`uOgXC zI2bCgSW7Wz#k8AUX%BfFOp)qBIjDX4bUu1bR(KSEcdaFRn!S#yFM&gC8hgQ_{N$}z zM@#Xq^X=7U7SYyqG}@G`%8zXRxE4@AQPn8g+m&?xhvM1%bD~je*IM|)l`|2}Xjf}J zOYsuR6$8%D8%I{pzojO58-PE0=cS+g$f|29l~?Ei8A0eCci9M|#kQ+Wc(IL;U$j}z zSIc8nB?}Q$3JCQlLT@-&Wyj4h0pkQvw)A_}WO{HWSFNwSs#&z0ziqF1ntMzvb$qK? zm*0{VPwi}Gl%nX)%b-R?lm4EnC%5>hZXw%ijpvfz@7xR%qX^HZXnK=V^v*hL5bwh2 zocFY9QsJ9a*IHOC6s|SUiUR&_^FfNd!8yLJ)AHR0@r?;dX61~>to__yv{+0vyW1c% zjf}YL^o`#`WlS@%iDwKo`E9VN(FYAjmUsTrlygSEi0hf9k-2<_2dSiedM-EiOX+Vf z9DW}E+089W22+nPk(>4Nzr0Tr1qb%`#;uo1d3S5=MGH$zysFA|?MTEXYD#kR{%za; z>Y>!VU>I!xjjP%69c|5VJRoNQTxeQdvs^Ol0CV0eQ4c5K(()ZS*+Hg3QX~g3A5@D1 zO{>V;P-~ zxwb<>FJ_OAL3$@{(UlYzg;}23kPJ^oelFogyp-d_=OkBmzK!?Sgh50EjXkig<>!>H zUz8n5NtGnIua%Y6SE()-i~mY3P2o0gKcV@o(D}0>B=P-=F4TD-a)K)`p;qRHg7bcC zA)J1Ot`z38$&Z%bf4`2U)g@5HUB`a7Ki1r&48NI>YyLo)<%di4iai&zy@&{8*eTR- zg~p7go%!-e=;iw*qf*P_FY5XG-BqHWU$st_DP|qDO&h$CiSEj`E)q+|Zby^Wl9iAZ z{EF$L@pRmms(#I}3;bDLY8N>!9?SrUPFNITsmIqoKO{09ZwllkMC!^eOwl(jn3=I%ZNmql>8c z^Lv<}Ui(C_Qsy`f!HIJcT{FmYk*!~<41wl*q}`!g@Z#1BqA(u-SOPHfSr#McWJ_Ww z3GQosyL)xgH-2*L60n7zqXQh-V|`%MfV7Ps(uYthJd9f%TW`cn09F#*X^lV@3%1{e^f6t`TSIR!2p#5I4uzRi7N{6Z4&d{2=Plbu(AQp_J5!g z@Ch=cmB=4@<_O9-TV;)lT72kbV#gcF?v57r_%8vP=K+bpSw!PPb zn+HdoExBETYPVfALBAdmc%%1U3*k2X_U{!8uM@_2=RrjBQ&xrntiV~JWP?X zM+Y;B72BsAgt*a}1OTDo)u-G0)iHyI=?TaOAk_ru6XN~M;QLG<`sT8%sn@73dowv4 zUn$jKG%Wp*^4xYi{l&*@N6d5TGG!IoO*EGZ;y#oZ^kzE+yllY?9OnGev1958?QS}x zQ7@ZlxbHn%CWfPD!e8Q0Swk2{Jhh2mXZymgmKru z9>TmmHCi?~rTu1KMOKJwS(mauk)J`amvNvxd#{&&?TX)XVpLDX1?f)%C1?s8nyUvv zHomsQyT4hb<22b1>+x$*qBDzf@={`biLEZsYDFMCGopP4`7t(@Y$0&7-(*+_79C`y zMOxVW*&h1X1gxwzlop+y?8)}LoE|0C9>ObZ1{PPMQ^i)C?Xc_+?}(2lv{-q7LtIbv z>eNe&lJt=?O4Ih376d8AoZB+7!7e_Ca!N>nax4d{U~C-CdjX2t3&UyC@2`WNl1sx7 z?UT{b$>Z;YhG(zcuzVAA*SIBDr_NtTgap=u@VGbsYMRscbF79SQSRJ;#89!5@oKNq zLSoBdq3xB?gq{6lNiX^zTHSYwF+Hr7t#&SkXExiWzD2}n3!Y*|>=Y7pn6$bdm+P_J zG`^Oq5@(5*R29TbNA^6_YDj1?)rI5+-ThWx|It|iy<#6b-VXNkBg&o+6}-*QleIXa z3Da(LB=wAfgR5S@efBnQ$Jbo4f-eSzA1{?E&k1#GC9B_$VJN-l$Jwklm!)G6KgUUD z((0bU)tOqMnB@{7hv2hc!K{m)*h}F{O%(UqW`yki?cE5kla?+aS=}a?7`R3^AwzH* z6Me=zVv%#W)94tN{|wtUl}%wWeassDd1urIqd!ni(kbeA)pcpHv8luM&z}V(uj>XK z-m0xlDzDc=Qhn`m7YCaT`|KccUUY;AT0IjO2Xsn;9u{G2%OaWB@^oCtO#cq!5r`hU zjUY8nC+8;$UL3eqLAY+q%yURRgO5N#ay=2*?=$w?+us z0iZLSf?u*i#Aueo|4p!4(p^;7)bno){+Dj!&^fbn;5cNNj)wt7&I*0-@T9Bcf;Dvc zvovz<*xGVJJ|1d?*xcDM0Z<#LL(vcx{FfNlrGb|qG+dM=j8siikbxfn)dRUMAzEl4 zlRd+A1s@nYLSz`sloHDu13pwu<{l)#L3Q6%7dhGznR&1J@c85ko*}_ivCuybXmFa; zVX(R)gCX7p60S39ivqz|FYff0d=D<%SGcVy!RY4mW`LpM$7kPSFjWvLc{FPiURBG< z9{!BI9JMwJ=@o(9N`1*~$Y)Pop`wcpX+0l^WN|A)B%kh@w9iE{apaCa#csbp5KK}M zH&knilwq`fR&Ee%`Nl)Pb*^V#U~0`hd6LRL0=$9}4mU}%bcEyLdhft#elU{9$3o(x z?MH0*M%+EqCBlVk4C_^-8`!oP{V8g8)6ON|-F<~sR3U?ODx(!HxN&)hbbQ+rhaS80 z{TI$^UcJ1^;B8`#VWpS6;8R1+K5o~1d;Li9<-Fn(g^Xas=3^Wz`>u$14b{%;uuT{r`A?8%YK7M++X}#3-d*@7qQlsIpubBt0j{lCwbzq{|FjOr#zN`M(AFoC9Ap^2wZ_WUEJ z!}~|o9p00~2DKn+TLV3lF+^{PfNRj9M-dVJ2%*B#hm+)MFddslAi{V+Zpr9cU{(j=qgh9wL3*s^QWk%Tv#C`41py!VIh4Gw~=rbQ?uL1 z?Eumn6x#Y|&}}9q#FSuiXP@u7Hrx zr|N13&&25RgvE&EMy?tf;b9*AB)k;Shi!H3G}&^IKSE{NJQvq>KR z`)OYXo!qAfGjf2X77O<2BWmZ}D--*wv-G6m4*3k!)5JS5o_bUef2cu+m{mL z92rc7OD*xjbrHh2x+08pGE?do#jN0~Ld-qoc#GX>#JuAqvoqi%S`gx7PSlHZQ7Eg3 zW1g?9*nUI+hkd(=^Nmog0(Mi9-jLH{c-;O$ng>0kYEI(ne|19k<`ijZkX%393pQLC zj;T~d7aj?y=tN8CH|lkrqpC#O&Ce_Up4jpD8x)5qYSplxYM++niU}~=Gqfng*o z^!#14Vj-)(>>!JEGU!Avm{s4Ku$l2maL-&w^V3xhzbbjI8z6eAisv=d73pY|5)^yf5zDIIeOfqRB3-PsjHufmIIq-+?g(J~VJ7G@=?&PA0y=4{ps{V;IEHd^cU~EZ zCj>EfJj#6iNBD=*95!ljKB#OK?<4!3|8Tj#-#+@$-%p4^m6JaqK?*qkBFo+osj)Fs z4oJ?q5n!3gLRtWju=V>M!37P193e4hLieDsODY(0!x*6kMw1u;aQGJhh+@spE0f{> ziS}T7xqc?bAk3eb3ce1>ycAS+Apyc;n7P-kH6u*nXwn>H+~L|a#NNM+ZTys$MgZMV zNG_4l)QqW*<*$7)m*n;rvY;=5+@#Y}p*js7gVP%XmB@A|HoOjca*0aM`9d;m8E;RJ z2N2sw#WOid-H~Y*;r5=@q%3tr9)u2CxsfboWmt}9DAP2Em z<&^v1pqRC;{-j_VGIwih!sDILWv${p-**;=zwJ+6&(MiSDyIM4B+siWV`DZu_&Yz% zI{gW8KV5z5*5RQjagEPJmiz2Zj#jl1;Wv*#$FDs{BIXMshem_YqYKGA$vNBN7qnU;1HjeQHRq1f~&gys#6Eum@ z>~|1{`5hnoKmrXY?oi1a8vKE33t?xS&iEYmJ-?YT73x*OieVIJH3GWn}Wjl>y)I<;uJwz_Zu7WgX6Kb1Z44Y5E@S-=D*`+EjC>H(-5;xy zLG24S6qDf++doT7&MWn7nLw`nYBwro@y>7$S)V}#pFp{uCAatcS%MaHHsjwIK%E+G z_7RQ~&_1Gn-&mrGux2kR=3D>m#B}KqTAYV-Np)X(R=#$|uTCN@oa)z<6m@XpeR>KG z=}SMK36O`JW6$afGVA!H^W1+l+JD}R)DFrbdYiq&>_}6^H2OdpUOy>h?+T?Kv)+-G zx*r>JL|rjP&4_v?@SeqMH3h#`X8GO^1q5+=v7(ZRJvbNIr8_RZE;xbGcU{fQO1INC zb1?d_%_lI~DWoUL)n1Khm*<+$bT}?x>?@#?myL9NOiu2cb}|Rzg?r47BrvraC9D6({~v%;FCCHKYjM?~F26H45^GhttI$JQTr>ff!B7wA)) zNMcz26P|h@H$#@~a&uZqb*viI_Y~pnsZq(KSShX$QMq5!aVH+6NU6_E;ooa7%lYa4 zrqt*W42UN3R9?u-9V2RABs83y^-8HtSaq&l-!-z}*V-&4j%YWF>>w%lJAaocK3&*o zWBceqYT;SUU!S=}eUlC(f_0Od{^71xQtw5JllSRX3=X^x^gZoEP#yPn-H^MpX1$s!zF%n_S8#Xr<$h_ z#f`3HT)ZGLnskOH*C@YOPz7quK#6TabgHSF_i^aV2FpA7Ik#lwgt(fe=IO!CYV%Ib z$x+obul9!$)iZXm(C@%liA5>#jb5dz=uQ=^OhipxeI^R|&5>`&^Cz3`w}f4PPk(=) zviB5)?9j(;a6ZXMFgC~39GamTZPp~`i^p3ACzr=}n}i`vwTav;8BA?+8H}H%EjY%cs@4w9JtB$4>IKaCzY5?s0>lEh0J=B zvEQqiYF1}Iw~+PVlQr0C*%eHca99dAQj3V@RY^xZ6rH>916bX#Al)fV(q{J63AAsQ zB`S|KOTX96(=>Z6I;!L1(PwEhQ!a+6{jJwA5lzk|bNG0yE|ZN@HBY0tL{un|DAt0Z z|Iti>{Z$ynWb2Va)Te$e9f2i%2E+I4Jt?J90%dK+qXcuF_783%Tb_GIR<~{u6k`MQ zH0`x^ZqmuyJfjS6X1LuoPAnxYZot$@Dx@WKmu)eU=5&A(1 zg2hso4=(j&iGm0pz7%)Ks-&->Gf9{@_5%6QoQk`*Of9~RGA8-)WsY#Ba)pau*E_yH zA0)Zhy6H7XdhL9sZ~vSu&mTFVg!_DP-@k=1j_kD9Pm+^Yq?va+HoO&*i1fq|U=l=% zP&XK0d+R6myrmS9B@i0u7_FbT<&p-ivm}%WJg@;lc)`c=avI2tarXTIo`tVquCN)c zxC{aSc8%;>)WQn&L7CXY4f7(pn>y%!n2^8=t|K&M6y#ozM01U!{X2x}5q;B8SNDe+ z+YqSi7y{Mo8E?Dg-!%Z4oc5>EuMHJO#@@iy@^eiM6IfJ*M;uP+d(Pij8ZPbfII)o0 zpgDvNi6i|xI7NpZNf)o^$xI;?jqVFGwB!Y&}uV24VD-ATopwO0s%Vmk( zC>req;_;tGOVTZ0ZRubirKYB?g|zOhD&8vKlhdonf(Z(_N>4Ty7roG=!#QIC?KBD< z42Lk8eEkK7hKaj&e^j>bQQ~l$^8yJZUw)Ti7xPBW#`(W(6s{!Vcc*ZDo02u8Qraj| z$wQp+Zv9@t-`VH#cC^FBT^Uig}ylS~tuQA2Ia$O0StSI2ZF*Dn{%F7qlRiBNJ^ z=i`+x9SHv745xAxA|&?P(iXNE4NS{dj}`MF*>3W^HOdt@R0M{WZMr#Ob;$?tAP`tAAn`5Y|t1n}_yQKhqtdq}R=J zU3q7$wFi)|wvgtfRM!yj(E0jHZPlg^`6U-AeM^Ujo~Y6^emNI9@Rc8rnDMo2)Y*gT z2ldoOp}*d+^1E*&bzaCj6U`BWVkH3^1^IDM9o)6H&iXt!b$}hQhnW%Fpd6ucobnn! zV1(o!KiIA&p)QsIV+z#HuzZ4nT#KNoeweRTy=<@%iq1Dxgsxq=QP)B(zv2f1#eXh8 z)XoYl0m8SCk6=4Y&|X0FO^Aob7ox<5QQ|j!%`0f?jX3uxhTVN=I~UO*h=J=S_wgjt zF&=uM{OY!<4_CvfC{6uVljntl91x0wUV_o&toCSxvmUVG(L0rMu9B!@YYl7@#%oiJ zWdP(x&9Km;MIBbCt1j7n>Ky8xdcg7yLI%#EZic0?YC8Dop$+aaxA$SL?SBCMXo;gj z+hI^`%c`oXjve&FPYO;&NXteCEYSYx4r4#*K!*Uj=faS+>E>bR$T(8&RJm)!@oA6n zf6jcR+GofYT)&d=T>-rD=eYmVi5VfR{leS8kpnRyyfDk0{*;VbbnH`F7YMUh% z4%+CC>bWA(MIvL@9r!ojHtO6WDX^pWc+z~U6TjtMt7&UUz68s~bDLXRqBm5+$~VWQ z*Xc~T5@cjuFr@}BBtCt_h6_^^u83$F&d&)MXr1@!8UT#LOd|C;@?blN9bLHw9n*C zoAF*GEbwIGUe({81c$9spRjMbG)hth`2G5>1g^z9*W%hfl<>XrIzB@3Q%Aq!9DPQd zw+8)6n{sarbxfN`+Z(DKTkZMw8Z6OmZkxjLkIV9%7z{ksn5T0 z2NGl2U);JFgeEOQ{Fw)hnvF_>IpWQfn}g&4-@_vL0{Dka}fjMM7#|25}&)UVao(4df?uMwVueyf02CoxJw2U%jWA(&C)ot05POj%~8 zF0yrlqJrd7U*baA2 z=?;i)?f>#b3JzsIIPsd3TIIXO4CP6X>56NPKH>V6Lh?zSlxvZ@JP9|jZY*1^FO{q0 zr<0K+5oUEHwL&O0>)`6@5`4ifrK*!oq@F>z_=tq1cTMd;U9wb%Ft+)>8fE`nIU#qT z%`sA2*cOR}J8xZl^kQXWZ~ft`RuOrEGo^*U_N=ri5pXlWMnx`;DRH7{@EX3b`Q`Bw zMj1C{k{~tOmygfDjf*3XJbFf^$XsGcmn>-PsKre6Y*hc1q(5?OeL+L8!aY zad&!4Z>L}2+SbW0p|na5i<`CXiMsRqz!bU=xk&jeEsD56^FES_U#)nK>__LR=6uZ3 zZw@Th{yyEBw`Lw>M_*<@9O`nb-yZW7W^x{wfjJF}l2~&UL4m3Lw54@6;U|4;ZJ#@% zViza)-e|vsqF*TLEfBX|-v*xx_*<$BEbhVouQf|246Rh9FzCAh9QnP?%isLJmU~{MCde?Hq z;*>=5q&GEojy-)2+oXw8$ZC38u~(nc)2lbzwdV5I&i&T%aQiA;-iY^b-9 zk@nl_@ZJ2Pr$U?%M`nKeVO(BSIU;yfpq7!FBb@3ZIM`Hpof~ax4Z<9L5E}5jx}D31 zOfGI+(bC{QYkYLY{Yb|Bl+kAD+rNQ?DF^s|E}k!5@_g!@j%ZJtB)&hnwtqf{kz73H zp4iX8#cw-LH_5M`$7cBTOJ^Lx(sGwr9o3YSI{m5l@0rhEokZQe{n9j|`@<1KZBD+I zJf5nzUbi*Dlq0;KJWm*7UqqmfoXvN>_+apFAR9qm>(?3QldH@KkMne|EY@Da#~ER`}TXC3k-vE$)uX zomakX8%rV;gCS$A{Ab`(}-hQY@CAk_eYL&v3qON}sgPW_`; ziv;pZMcrF}uhW4+cdUBO^^uoaPEqa(U%Cf>Q}u=0o9YlI+A0GNZ=WxCr?1MmSK+xIGX8o`7>FONd!BGVFs(^Pp9z2RVgJUy z?9AW5wlS|!j!TN(JZP*4Om-a4{!keWQl$3;kAWfdOLDUd;8a(Ly@~M^HH(cC?i+ai zU*YR2F3YymfcW_O6pQ*RqOP~D7(UU`H>&X6(M#lyLlhWI+9yH}Zl}koKk9$uB*eWk z6S+7?`TQQGxz14QhtgPrsN&l197F?V3?X5TbYxCgz7`VvJux%8)A)G(DvDNKUks>E zpSx}Gqxqh>~cSy~c)rU6r=WuVRbKMTxR_cafXdMqQ% zzCAn;^+WE=hQB{&LMnF3m^W{#$eJtYItf4jus`3eSoyhCVtXzJNlS)jg@yAwZFmeq zBHll4JC>!;nFftZ+j}&G*PI+KU1^^GBR^4RkR#c$K|3KnRNrYPM}M;tDl=TI_v-|w zfO!FQPEMlDN>v>wBq%rtolGanlI+&s0>56qMDQRzFg2(;OtoF7}zd*Tuao-U#o47_`>=w1iWwQe6O!YFh1Z zg%pdOH!HPM@6WP|2>g6u?$|sa)OJrGFNcDAG zpXCpA0)44Gn6S?OfmV->yWYXfelPB{qg;P=o?2)n&m7bclMW(XM*K*e!qvzJwR0OY zybW(>xyQ*JRWyrduq8>Oy6OZ^_tjOtZcrZBAMG%oPu?1=$DK~#ag0TNJJBo|oJeec z+smFOK^HvF8Wj^lo+9ZMbOd+n^qP-FuQJf<(Bf*}Uqr+pFonBS3uK+Nms&yu;Xf)8=t1GYNNr}=xD zZ{=bMgrgpoTiG-o#n7nrWe~l)5qzv7kg@L5%NZLQb6NuLM_&%7zr1>!w(FWXX+E|5 ze0LfGBJ-tv_7u(GF50KPM+u~LY7rTHf3laOYN)L85|x|Y)fII%CiDb8`bpw+P%eqX zWijiHq|jU{Bo;QP;ThB=j4STIr`7iB+|XcO1;M29y-s=5N(MbC|1*jzo-hrzBx3650_`C-HdFo5;=C6ug3d{YXjjq@(@G6yf zxWHG6Qn(o^W5vsIk0c-SLa_q_^V84tap2r(GZQF==;T*IYI zJL@I|b6dyw$5BS4)9PkU==MIO!k*&9S?2H8cBhbRKg?n8z)7UTuEOVcm%zx5tIOLP zrg@f+d*9y6j?(B!+jGJ~D>pvavcZg=i1&}prN(B?)Lf)U0zCd?yO$>Dp}94YX;qK+ zY>_!j$4rpo&NpOTwDTGI3OAlETxb_`Bp~4bg??@5ehNRjq80*obi@Dt&b~I39HYYcPSAfJ) z&V~%?Ylje9w|{ti+vLh;)_FrbHT(y^#J;wgc6%hzsDV!tdXtIaTM2cB4sV3id*5Ic z(j}+@ly83^+NXKFIPx-3l~7x7^X+z)9nR{2s8@#aal?&JY6VKHAIIGLUvB0$q8)m- zp<%+QCZ{RMWE~xMZcf0QYbLcqq!N*gSyW?4H`7&5iaxb}^^SMk~lczAdw5+8M^f$pRyI`T2$|IyUJlWF+#2JYp^s5v^ohfV9}UAfRYUqHO)B6ELGg9Noa`yJg?CS6{ zo-uwSI~(Yd{XZy z3duq?vp}TTotS!*sn%v>-n*ys@PzLaj@Fr=GBG#z)$AQy(Ni(0QtpHfV?#s3hGn*7 zz{^kz+tHKJi}*sYFxr6udpd~h2#;qBj?X~Th-pC(dTTHirOW%aZ#DJ`;(k2_3N6T8 zSI2C9j*efMoE#rDof&!^WEAiV4-tYTV{ra4<@wK69FKzBG;JFyvxM+5=E=NNr2H(# zs{zX%ELzcKlSO&S;fB{=yRRM)>xB3F=?XDD$UxY$a=sT)gg32zJ0Z5wt*H27{dV(V zQd0@_JM60)z32ZE48grWC*mNU;yZSS1WV@qN1y~|XfDBL5*-eREo0BnQzF=Y_GTl$ zqB}=A8Ao=sHg>GmG3qQT4BS!jR6p2BunWgH!`RXP)SEP1Qq8I6ps3R>{SzT|j31Ih?{3<63XR)? zVa95{bwAg1^1u57x)nVk!4UVfx;!o?`&$>_JANF-csSm3BADG3-LF15(x_=Pp2kqW zpNKs(b5Vk1;a8E7k!Npw^>YpaQW7rrp4)AGh%89OVpwwt7to*}`D&fB+AgJQKW zO*8klw32?w#3lMFGa^!9zO;LE=`|I+FG#+@=QB%b{rHS-ex+b~D*w&5)8`(%+g=pN zU~|ISUCo$_@|kf|TV$r{CdpdX9Mmr+<4ad3exNQaTPDd@bB~+-g%}S{M9f+(^Hbk! zq;25&P`M4uAAuIDq$y)~gfw5mGIidSy~hPbUUc&klU@41VgguV`tFlwBsPD@cDhIc zPAnrYughd0H4oL40bTI}(7FI7<=m78O&XA(fD3=1%7Y(T;R~CsBjrx{kP3pTLI3V~ zyMxXw;Om5yMliA;Pj3N)K9tIb!5|>dzYyGr%S-xqkAUs$bc6w6ENN)0CEJY(*QMr# z8_3;*l2O^()&J5Bq;CE_XhsmS9;H~x?5?KiwJWqw<%6Re%Y84%ubOJ=|9n_sX)}uM zU!?wbJVHMFi5L|qSsw{KM{!?Ak*=4w563}-_|2!)IcJ^1G2iV?Uf**L;k170!GEv$ z!@^MemggfQN*9-iN4+2T_}M>%^coC#L`d(hO6IH;~$WC8m8cfX=SAGfDhHc(dc6 zSQtc}`F3ByGT zWLz7swx)2K{L@`FX*^xuKNRFcC$i0)=+q^1mEKM3sQk--K==du9vsp0fs@ZX)k$-U z48E~q3x&Fv^pJ<+nN8N+KE-53RR$o!oUWT+x^~58_&)GWLEZ;2y7dK>4N19Ap!`Cp z47_{9=jPrp)7I1X%<(9Vq%Os&ipIKpnxI9 zMEeW!+aXg!USC~Aln)m6&fc$gU)(c;9$)V7u02`2#I-GAhQD54i8Xp>V(Q{JF7n5P zY`B38Bs4beu`p*2Ps_R+Mu!xuRM@nCbKO>}*8Y}@%OFp1oI++LwnRCHTNf+N z*B@&3!z*1mg)FZ>81TUzdtT7VMF+odWF;cUd%GiZQgfR!CMJjpqgNI1 zE9R05kP{!6fsh(`2J3NSV0RYlAO4?`fpk%X<-P_e+`NGUh~l6DM`rE|mlbpacD#wv z(#s}#L*d}eLpw2RVlkC77xQs%AWk+U$9Y!sB85)c$E|WrGTK9;mKmKIe5~nDt`iBy z@ItMadlLM?2riK?_Q@msR($Pd=1R-!H%Oys)PzjmI$?7w2~|sDhP#?ntkS*LXgWj)+kZVMq3!*H8SfZao4-ZnG(8``kh^0uQg#7ECnyF9gduUltfHn|OCUrU2k`sG?fKeT3=BQjP%gE>@p{b9(a}(# zO>t-!Tn}H?NM#kP9qR4%2dO;k(NF;gJlBtfg*_h15RT9j%6jqKDY&Np`_vH%mfI{^ zRV|dWi-uH>){GdpC`Lx1w21B8==UJb#tggqMvmk(i>{HJ`blVrA zvr%*Sou@;7m|}Ot9oYRleES#cL-gna;yTLW%su`mWA~>ejNR*%aqK`0cPF$ zdXoC3YwzZ|x%xiv{rK%lRA$11(+}Lw~Z+ABJ`-bSKN-bwQs#bRF6rDq9U!5+$`unGsOUGST22=KM7JpGs5J08V zQ+&jHU`U)`Q2B&@&7D3=Gfzmz@ZSPm%MT6asyN#vv7yj=Jur>vuiC)M6aQU+he-0^+J3CLH)+!Kl>~Ae@3}slQxGe9uOCY;H!y)CszJ{UZ zaEALQNI%eFCeZW%Y2qXWWM7m;2|CrkL)LjT+ivfhU}yFhwC?-Odw5OMX1M8Adg3ee zjRFdH?*Out;bP>Q^R#pdptj8b?*5RI@M5{Re@eJ!j}%}#52ez927Qh-(HAxku#XtG zBhj27e6f|`eyPjl*0NRk`R7gJ`~evcN_qux#Xoby-~$8XV6w%grlw{fr1>N#Gxo@{ zD1^K%1A?d{P)pw*p2!l^s>t=tZPbDLg!V25Bmhk6NvuP<@}tp>#TXJ-`@WZYc&gbl zfNqi%sLReb69%dIQ-Zwb^^^{XMs}{Yl*b_3%X}hH>2v<3Bqxw5nnJNYhO_>T(+}R%%px&J`y`?CE}qZk zXC@R_pAwH3gL3Bq>WF-b{DyOlKu;&-oJKqC*Fok={#YmSC%M8|u+efuUcEe>j87$yfj zIrktJsaz2Q^01_c!-Q|)Pp`T&REEuA3I^{= zM4ecG-}V)Lu$~(9H6n(FPuot&&tZane!%M^9{+a<4KU>sy&Cc?fTCb{Zewp^WAFUg z)9}yrg@K0;9boLNVhDF(DidK+?1DM_L}+oGE|ZpBOSVij-SbQrvtAW`9CNz|#44El zX|w`Yb|ZB zkwNPy%2?Pi6(&g^Dj+?lNWzG?NT@6BKFB_W>#u;bHGP#@t8MGyFkBobyfuzNeiN8! zR*SS%IC|tReCaj0aq*l*{UaAw_$WK8AJ6I9es2gYKi839wO|d>+O2*Aw*fI|g+Ow- z;nF}pTEVY}J;_KbY4{@lj>l`;hC}OX?HZ{&AcoiZ6rGzNTU$|yQPsd4CLhENAd>$+ zw=oIH3ilC28bG_gFJI#In_RL&(t~6Z>=*0{L$daTVZRJn+I^t1#P6ZPt?xT9t99Ym24JrM|W`WGUEx^sG+h>#-v#&`rVanKhN1 zr{Fl!36U{xGDtsX!MXJSzs{dhWJy$n*bc)t@8X;x7W(@ck+32g&mX&v z0EL1FR3%*0Bv;{Sr%D#Sd{6hTC4`}0=JJnv@dzAkzE@tZbJ&-YHqkQ*myE@rh09jo zY}bQ7;_MO;Z23i<;C+vExsQOK2%ez-NLpOJ#&903Su6gd9Cr4jw)u{A?NYJY)S{Ho z6!&8Ul(c})+4YtpG|l4bY>agubvkBTPYZ1O@ciKPNHp|-gr1n{uT4G4@x#SCsLN(& z`EkS>=|{jMhdP@KV^O?^I!!v#Z5_Zb4JeEepx*O|7mE%O5uq< zuh+;ksCBuefjDy zc`K>2rloaDEnOX>MK1ze4Q!q`Unnj;p z%W!on`=pZ5j>Zb=p1eLzAzo^LA);C%B0EgmA*^19rcd{Rzj|(2S#bF*J{^C)Lh*bx ziO-A(MO;FE5?(@XF4xjXIYqf{?lVQ(=u@Z!+8r!rD8YR4%R8m-qi*A&PwmPZkv+wJ z29v$@nNGLHWnEBk-sI*6Ys)YMA;gtBwm?Z2CNg!l-vkiNR>PLx(wTIt;Eo(dub2T6xVDRx+mZosbRRhK; zbwvDbx_Qx~vFf%~SJDvW?nrpheSPYJxWpm$0EO=(d~c#m9z6|)&b3&J9ptUNJY-&A zE=iKZUFmS(p?3Do>uijpQA%RbZF;h=n)^~Od+KzH%ni9SK484C`KOJBWyS@GZKub-E6^f<`MV za_yEXHv>Je{Gj?UDCkii9W+%q;PagW-AX;H)LPJ${)`g&l^VNd@U|tFB(X@9Jx18k zdj8W*jK(5nV+twqKWu5)D%2>sM2coACmd?1pYnh+4(^Xkkc zgx3$tmjpE93B??f_9mS}*>+l-3Vd4>nY2o4fL3R^`E?%Z|A(=+4$5kc-+l=Jky1cX zN(t%iRzVsiq`SLQV3E?@jY@ZScOxL(Eg&sj=YIC@yl2jt^T+$nI68al46vSit@VxT z`do1*Ccnyj?dqT{ z0J!Zgsl$j3=qkMK-8s0q4Zyf=w#EYAcq}8lw^v*>VM|?6V+6h6KMAQIc#EvwS<7Y! z5RL(8#X#TNf2~0G`x7+vuyz~9LR<;?f8?0}BZ{cn=GCKC9s=E3dx*F#bINeTq( zg7DxRcuAa2zSb)~x1fo9UtNoBMbDjZM_5yh#%|r*&)j2`OsF)~Gq>A*N$}Y&m5G_z z#p@W!6_x+b7nG#%I;C%soTbeR!{}swMDd~q#t zjT`KLc49sWJPbc)C)mb#Qxj1GET+w4CHFw}L5R%9ZIh0yww+`r!3ku}->ea(U6>ES z6MZoBV73Ag7$d*8yFwr7?hUbMEh%1>f z0FtSfB`fzMHeNVjOv;4EtQ`gl?w6pV12iR9fCE42e-pV1oMi2=8yM8XKs<{t@U1l6 zIQGa7HGM69R|CAnaThr(%*`wFK%`3Fr;~^jAO^ItAp`iThYly#Q?f^=S$v1Z9+U4? zR@_i6lSX9Yz{c^w5Z-D4*&TL)YGwA=%+wSwIvp`nfs?6|Spy$NuD6KXnPU;zu#6_S z^F%7(c;JIH6O#z5*H|WtdkityY!LFZ;+I0ua*P}rOAAXtZ&buIXkI`9FI6V9 zV;DodZ>O?^?U2Z zzH@ zF>8=7*bV~wW#HJDZ39l)NTaz(aBPhdfb{ZpG%TCo*VNRO;r8*ja(8rONWz}PdM76Q z2w>&0rsIQqUk0)F9*uZe9gP{$8a{kA7{_ZERm_?=#_qT>EXFG6B z3oeV;&5UPvRhXxNo^T@?V93#ub1J}*jF=i zPyb+AJDs>HrFHmluJT1YRl1UF?ZTBLEsLHfRS!tR;v=Rk!;~A-M7F zC{QN~V;9);qPk3rh=`!5saP^MKl{2#0Q%|^pd)h0|HUd*vNBTUC*>Fe@ zFmJZrm1>g~Hk|(|G+NenMKIPnAH4iz8-#+>B+;O1*@>h%FR2 z39_Q4U$a(efEm#EaA6qBkz>`k3ayhR8f$+{?eNBz!Ue~-xb_M&NLd#^f5_0HaXWQZ z2>6Y(i3SBSb_FTg=X}5aSy|KM(Kxu*EkGyAR%MpC$GMT-ie6+Eooaqeml#~t6K2Ow zGhIY_%Pipe)cpsMGQeE9sJ)Cpg0?3#d-m(I7Hz5f!*^x7=1xs5W8M{5LawCA4`7w^ zEKS#7W|<>+$~#?Kc@p=ps98rvSk+T0*{mim z_LY2+1b1%zub=fif$u2t?h#y_&aIW-vvJF^vF9WFGt@57O`hENjjcLSrir2!L4Tma zIh*sF7VH8TbD-=-9{j?~ztby)shoc9b7AWva1Yw`B$>CI|H)F!hBCm5{k3p5g3tIc zP}nrH5P`9hI3z*1ps?8#fjleA?pls6Lksr>B%hFBUQGoI&LR-3uWN=NE9aeT#R#WG z3?C&{uY-Akn%@wS4C^4aE>&?3OAl~pMRvqi3!2HTynJ3V4exBgryMmTlc`=QUYg38 zzgU(-L^)uLl=_|J>B~=)>I-YXMe%;o&t%Buf!3d7JAL6hd!a%it1}`lM29o_O*<{( zZ!V$p*U|edW5;rB_4cBah`-z0B@Q1|w3^kh@{FGz*B7o3y9u-R0|l_Ls7>dGVBrTq ze8_zxlf)AQ5^bpW`~8F4vX0dfwg}kZ-xJCpN4=q1Y-jdvc5gvYPi{b3p4r~p8{A8x znw0_jv6l-`K7%(g8 z!!8*K&!(gClxOq@LbC2PO>uztw-A4wOb|+y>}@IvSzXZPLG{ zBw#VpNv5Q5O_{SCz0zp8pXbjW)7hBd{)=52#Dh3JK0iUns9OOy(?VwZx1haOwJJqJ4%QnxoZH^7c-LIBR1R8X`6@&M=; z@u*=-_KTo*^K zsEuKCIg=d)b#uN(@MOVcB8uQ8JOAiKl+b6v*VV1#G3$(ZK&;)KF|Csf)?@1ictA`9 zk~_edj~TT{T~-#7y#T}i}p(#`GrMQEd7?`-7@rkoFr9G(TUVipJG2B zDE(d7o3Jo&u*Fwf9B*hlJZw?%P|Yv|AF^IfKU|lc8)An`Y&T#)3qDM%Di-ho8?y!E z82x-Zm9C+x?QDnlYkwQFgl*Ses6mJeVgQJNbmXSE>q54SMY3l8o})xNhF+O7<7d#= z)z^5boKq=Q`2Hc&Pn`2$1ql~{ta2&1>18BaMvTLB5I=$|_lCKqwEDl#elPN-diMzq zHOFU{O@uB4@WZo)D-5V-GPtYF6co`9nRW6VWMwZD%0w^#Mu9N)o#reR1TV=~!qoJt z=v-d8>y25YCXK~&Wqb{{II$*gefS#mUL=_T6T=gx6b&&diQ`h%GUo*@D@f|)7N?F(B^vv^TulF_N_H)kqFmUG8) zI}u(i){}+Nub`u;7zr@rs@s6I&#PUh1gJi!IP*u}jJ$MYlCGq&A{pcen|Gx)|A?@% zJ5(OaQ({ZxC}3(Zgc`sr0#`7=sFlTqnLo!xMg9v^Bwv1_ z($y**`;WL~@2_S4ztjV~1L#XL1tLIO;VN*LrUIwT^U8U`7f6dJrQ5!}qX0L1U^33nw?Y|kGhloOVqkw%RpAIi zf`Z^)baCu^`SK;q2O=wr0oY7H8$=>lLm*#)S3@AN<@K_c`+tfTZzjA@-iYa8O+27m zI+JQ|@xC@>+s&5l_b}o%OMV~2$8@GFQVa$%oA3ygTV!>aoQ-Um*PfNZj~7fd4)i4ZnV|=vl^L#&RHok%UeHstJsjs)!tAOFxCDY0diEs&DH52@OnyquC^W;x{_)|w20fnqkT{Y+1A!%fVAh!UQ1 zUY}<0v^-4wCzuU=baQK9PyBuTb6R;D9VVF`9E7C6aELEg&At_e<|3oa*4p#fI>AAX zUtnHUv=Sa8<5gixcDzwWYO?o&KSH?i&tVMU{gQ0Y3BXO6MjPVo`m}wC7wk!!7t;Jl zN<+79lR@myXM5Dx_nDVl%6V`%xO&&TVn!IT*pQjT;T zlrC$qrZ)MDt!57qNhH}29Xd0P2pAj0gtyK4z!clL5jy%oc~+6_sZd-iFT>@KCUPFB zmfxF{*ZtWW$7*IC`s$pWt*_Vy;5n2~bWIdfS|xwB34hb129mDOxsk2@>~+=FS_~BT zo8tx?8uHZvjNMC1x(MFM!cU}6blZeia>GNj%w&GS!M2;GU41nwkQy;9xgTfpsf%`6 zC30=l_7}XKm~VqbAEq%2dqwtkLZ?dNk&v541`)J`c5*9>WT`SE%M`s4nh=XpKIwjv zE}mpTBha&=wg?sT8=U{Gz!6)FwC!lfrMbRO7(uNuo_m@_>!6hw5{i{-cr-= z7HSVzCfLdV%jD)3x;w) z5oJU<707BTWh$I)`WO`gdwcXlmop`;9PB;K16@Yt*@tXHI7%4yv?71Vq z-}=Gc6Sno@vRMv`h`&t-OA~UN7#VF-N@E~5N#(^+97O|fag~eu?(sF)0oOjY1V7y zl4}MlHRI38U^gfUQ*-?8+Bny>F?qF{h6Gq$*B)E-7|LFk=(~*?FB zd_;d#FU@s$VP!St^r7V^+8N50v4{(hS`!&wH>)SAOl?+0r>7W?s=HB!ERS;o znxv8G9fFp9KeY$mNHOz$jXic}c*R?QKuGU@(8PDL8%wiMR^3;Aa(-rFc8h$`&tPF> z!Y)C@UhY845k}kR<47o=&0IN$EE%~=xI8j` z!m$TE61pzZt7uW>-)KWP;;%P+(j|Y;K}kN$`akoS1F8ij95=xQY+(2+^9*m!KOokl?80mbn))EW>5-Hd)jWpjpuc*aOfNTycCSRnUACUQ$A+Ss>^c zbDvRHJ;?=LZMeIs!Ki4AP^N+P&ji!lhZoygB{M~hVnyhMrI;K|yl9HUVJtSw$J?PA zlG*y|##16vMlpoN0}i8>Z_fqxnpfQlNp(1V4a)nER5(v2yrz-&=Xn*{Ga7y1-~gTv zmRk$cxNWrF9(MKM>x5N7z}pQL^gXatVpw2vC?4bBLK>X6G;@n%|E+b)`4bM*p0x&&3M19gY(gd|NztyQsV1p*kYzNaGzn=kiiDt&y#ruOxD_$=2C zJz=j#17ToB)!m7b1XgI}a7BRC+G#s^x;_A*o6{j&m7%mEER6oB74RR+WF<*ly5qUg zHv?QPfm3-j)+*W{jHU^yA*7fJ>-O4{O{gt`d-_0(E4_PCxEUE^OYL_As=>~(_1&Kx z=8n@RaI>Za{JrPR(ER;_;P>3lJkOOdJNW8LW4n_%cDuQe$e(8-=m|3@vs?^iWHXTV zsieTgzRGwa=1)6I3?_SC@kwQTJ%s^6s6pH=TfY*4IOs zdtq_zt*t_E?J($A0+fIU4o;^V1bhJ(o**Hl^T_Lxf6=xJ!xfZeV38OM@)_@z&jZl;N|P=6IW*q+Gyjb`Bly{s3XqUd@o*ug&3q zhuVQ)tQ~q)ZDHMod^)V31-+3@N4=|zG1GiOO$V0*`ozS`bBItrcB?MtE&taS=O*RW zL)IUJzEYCj=Sf$XZ+JD=Te9~?&^ic~rN@T1pyx(Rw%J%VgjY%sST*teaw7kxJ4fK! z{2-dZmii5;o%m_jPPqO}H*0C%+erUvPj)EgvW+1Ut5t*`_3}c0Y1=5jgto8S&WXov z+OWB`6laOws{J&ph&f!Op0qZ-ON0S6GhKw5(_51ZjU26v87^`R%Z5Bm_cvN(A4=p5 zF#aOYYoeA3KYc4V+6EbM&fnVmd8Uu7W*bm9_stUbnZW8kxN;*kkca0M>Lo`Hox8V) zp*@QP6z6d9KvPSxqM>0zcCALf_U5-LoV7qHZHnY4x^rf}O9*e=crzHlF+yiRpQX|6 z4@ZLBM8~crMPdkataR+2n!+j~R2CwHxFFb|&s(~b25c&OKbn(h8YlF;Oq$FkRC?CG zqac!F{we34ZexgCnbTv^${dPQs8ermFf9QhV3scQPQtW7YPd0cQYb^kI{9g%f_mCo zhuJ1u>%`cdCvEq?vo{t&Ah6p(GkrXTFY=kyMA#;5y#kPOz*Gbyp#u2V{o_TeKx5&} z{G-EYdf+fBA!-y0*6SejkacfF)qq0Ax4$u`&2Jk?+geMFil7?L8|@O$+S%4Ap@oSr z78)9vwRmEm@sB@rz>6j$!lU|78fIAA?|dD*zJGDK+q#nG5cr%b`b>>}e|s5ZQLkJ# zUAi3I&&|8Ixw*k~h=)r}HSZ$oHQ@fCR&SJi?B*$5SYe_#4s!^_I&@0gP}EglT# zA|$*f98CE`5kI(~fcsC%?fMlR2=qVflpjfjgtv7#-q%@)pZ-pyM2#x8HH!3^I{e1G z7>O0Z(P@P8Y>DaZ$y@L@C33Txh@PxjSM=>4*-{xa;6q7#K!%MV6$}BboBztZB^M0F0^66a96j!|8dm7eRT`zNzd%Q}yZL7Z>V6tk zu}OF}s{ziWCK3mFLRv(3H}6S3=!oj|+YIc$;*0@(=~%U!51n+C*(axG1cn)7iTa6? z1AYwK@Y{GwEdu@7i?-64rfS)KC>fZ2N0%1QUd9Wn-4EDH9Y_tb*l3Ku_o4qJ{K>QDUyyGCsBlF>3-uz`@ zA$76cZ&LA@V7IBC@G0_e zOx)d%cM>mj_v&9cx;VXNUMRU;e28pjC70w;SSipED#NKc*Mi;-UaofzQ1L8Nz(=iC z5B&+1_;VH*m3knar6O+S8TcSrna1N@iL)_;hFmiu@vX4XmY3m}NASn#}4)sl<&0Yp&J2<*d{KtL1+q|4QD&w-X0#16ay|F5AM3DLTOD!`|S*@4@}tA#+L zz(jJhY%^lmAON0H_2vT_{ZeFIgDE`p(`)rwl~!9pzTky{XTvRhq+ag6L_3}uNE{lTF=!ewHO`Dz+8YhOt|HZ zMdf<9Wbb99SZP#=%?9CW(ucM>0gKZXu*VJVZ_arkRP+@(Jz~S<*^|3kZ>rpe_lIIH^k}rSx7Jc)$$U1enjyk#?8(&46zQPi|=JGlYm94)lnxS6Y z_!`+3(d*o1y%4tf9$Pv1y~28ZJ|8|;QJ5|dW@OP5*^!d`lA}A*JG3@<8gnHl;Y33; zOwUQA-nTf6|)Pbp;Iw2F`^0h z3Z0aa@4kL*TEl3)0Vy5R8a6%OFo*$2Ph57jq_ngbz}t^Ofn`4P01(CP;J;uw#mrtO zp{P>8nAGCmc7I@V)kXG@MJoyv?!7<}Nh{lHR`k_{LlwpL>qsOD|pI~IL%(*td-n~Tfi=&~X8n*|v@gHwn zW9;RwQzWB*-j!y{oH)P4BJOsckkeO1XRASB&iw4TtLvx0Vu$2|Dau37PTR5`?7(-v z1Kms9k3nPcALKl;xk*3lQNK$}4Cwy=A5r?U5ulYfV6oUhf&|E~$9`mYaHNqR zFXurS>X7)Vhk)Oi0hSC63?83}<>m5lU`#t;Y56rd$)0`NtIxW*y={JGbaBuoNOOMX z!iiq|UJCuN*;@}_K3@4)Qh=nncJ`4(Qt#Rgo7aS6e;a zena%nGdpbPcvD408Q0&#D(Kri;$?7P)P4myZt(ZMoxrJNB*~Z;sQ=L2tvP;k>-HqT zxmXjv_90D&PK`PaN5y7W!awPt^x_&)6!t&$rA4uc!6PJpf^+*W_~ZBPH&KkvA~CCj zOyc!zI8p-7RODC`m1@fcBSjzG)LuqOOd^%Kb8{LzD zevuTqv%8yt?(t!W*0qnqH!lD;UN0XGrxk$I^w0OER9oCR0WN7$!J9TAu1|{E0Dn6H z;{JTKW7%PtjI;E)hhV|+bl5)hM^a=G{bzC37V#r77tQFLB#oPT>`ulccekhmXMRnl z#M~^HI{tOEzek@qYlVI>r;UoWUe1o<{p1Ke{dDGHuGy;~>&XgLnK!*sI}dj(0XLbr zN_%7q>!yppoE9g>_Tz_rrDk&Yy)1cpRy>u2nQWz7%nZl2-#ov}-qhkc6a zCpUpzdf+{j>42mv@OHgm=xQzb$J_p~vA`aEQ6T6)q`)d6UUynt@F9Cbpk<*Sr!J0k zgiIRp&cQ4Ho?iiXRh9B8nv(^&XsLv@@I;kBih-^DmjwyAN9F9&r}!&4cm)OsL9!Aq z=EW{rz!i02h`bXZ z^2H8q*LQf0he1J#;mMK7SkAW?#rUQBb%*HKRPj7neEMwh`QYW)5wfe8VW?-8Tuc}^ zyHunBJ$v3g+adx)6D=PrYri`~BxW1LaO=_S?H&FJ2YTM^A^Q0}t>BvzX&b;Rv7&8> z?%DRI)TkDi_-*|qkT`}i@0AT+(R*&J@&XvMIf^99peSW3I(z6*2nF#_?jL$Hu7#QLt8{~ zD9ZflGB4f~^x?@!g%F@gjrCKO6>Fn2(PCt0{c>4kjMMmVp7BwN!=z%H_B#(Tmx);J zj-50G_+wVz98u1+r%dvT4(kzHS!$AwI`d08KGxD~&0j48HK~IIFe_tb@Ig}3&V(lk z=0}9@gf2Sx`(@BfsmCk3wZy)5dl$==8=@NKu?0r;sGbYlrTM@Vl;kS8SUBe13u=Rp zc|z;wJJ&T0_Q}=+y?q!867~BOM<%8HQRfl#eVQyBjS-QAr0iCXCBfsUEr_^65keT` zJx;#_D)}5s5@LFuHPO>_EQEAz5BrYn-v7Dna1co_+BAW9;p*Ww&8*8pp8fk5sOO}L zlGwxbJQW?zxrn5Y9nJej9)F%A?N>kGw^!z+gi8a6F^+Hpw6 z$1;5x+PZ)CIe{9(f7}n{Mhqy8)Z}zi@fbY?oWcqGl85c3261Tb@j|J5dXjP9^T}j6 z%W@kh&AhM9iVdw)m0vDhL}0$ilW6`BNT7c&37Ku+naP!l8HDcj#p~_ScqK(K7^hsm zsVUO-(mVO&D}be-=5_s*)UOoZ&!U@aq_0R@TW?g~Dh@@>kYwk+|BNa0iH!hq`el*! zy?BU1`x!*@zVg(*W9ko|AkyVzHbJt)a#`2XjJW_`dpUmyCQ6Kl#g%8m!Z({`HiuuA zBv1>*-RThuyK8OSxWi-%Q}SuzoS^uU-B=JKcijirmiNv--k(YTm`X3r-%B5V`aJ-Y zdiywHa&mHhn^^*LlJYrA*gE4&sb&G{GDyjwCw1G5&PGZDlvB7>fSxp?Z_j3kQRq^O z4nJMA2mS~sLql1qw|;_p8->~k3Mmd3Fe!Q=szi68-IyU9Nq>K*%xqH>P4$w1e3l|0 zYEX`0bWvS;@C9wb58{TT$AlZ7rr?;<_p4I4Dtlr>uj`s8DKH{mPKSze>Zc|csTrW> z-A-mMS@2G`3!NH03?>^I!oSY zfW?BI4^K(m?IY*bs3*i1qE$x3 z!Nu`V@s^a>84SwbB-8^$KbYSPBwPldkhHZV;%c2dRV1up z+_iR`7571tcdKIJ?z#U>M%e*wI9!%^G*!v7EoT8g?|%h z2kskFq^n=jaNg^LLm%U*W`WuVtq}XY#z>JV@3HS30kurpP81NZ{sy5(vff(-_D=^? zv!o#@spDCLNYMl%pe{xPjQsw=!A{^0fP;g1u>en02_F2lif4*H!qD`84!2B=yMfWPfW`tm6JV`nqNE|D`2h z=)KA5iYV^Wml;G=!GpwxN=+MZ4a#?0vvH#kdJSxOUH=yJbIFp^)5LSW!nDZ#vRg?J zdcJc&hwVQ8J;e08%sE|Uw1cr>g;v83!jZf?sSR0$l`E-kbbU}0&Ey(FL%Rc>q5j|P zjo_U+5~-$B0>=t1HxjYhT^Y4vF=y*&lJvTQW!Ibs{5}o7b9~6aw1L=EM~BQqXoZ)i zgH2DLLxd9i(fPrhMY0@dDjX?DuoiG9XYsm|A5IT;ZlO7yoF!CfBS>W4^nIJdwP1n zihK&f#Sr@pE8Evq+HRBwL!Jwe%D*elGyVKiiPv!8%_(hZw>m?@6QeIj{d2VIQ$X`G3J(qlPZ z*h?ur7n_GefUOKLu|6UqU%AfXyVia!=1aP5Z^=$&2p}iU$M-q!SI9ZMD=@s=(!<2{ zlR2lMQnhIgxsDsa$k14KdsIZP`8-_y=X1xIk|Jb3^YH0ycKkT#aC);A|89G*LVB;+ zqi9~y@N>eXvSNjv}~^5#drUX4Vc?tiM+L#`xA}w4G*Q#MbfJb zN)Q6`cFF>yNy_9MtF3jm|Lg#7i$=;*g4Yi>qxqk2e1Ig_qVOiYO4l|hcDaCwL>+IZVb zUR2aNZWNT#uZMDoRBT<(zPdgp&%8kO50r)9_Wwc|7J6+IJ{!`L^f{v}en&$#p-!23 zJFd?(#5z+mnR`$tfjw?$mml<3%>t&IQyH-LvvS) zSzV?fCtv2XjHnbg|$i}iBk`dRl~r;-rgCtx@L z@lCl1mYpAvJDb7J9S;--6KTwtfr#KXI*@q-E(*aMc{&Zmh?K<8?w%kS*cBa(p!w;O z_u--S+YkhKQ7-GNNaojh#pJs->XB)^7Lj)^*ILO9)xOQ_2aN3y#~=*HD+)U6zLBoG z(ysnzhsH)rwy57%Vm-j1tDmvr$e6F+stiUjM!v-@*%HyW`PwoTm6xEvW~~*k$Vyg! zE{4Wdhj0e*INprrYq{MXrq3HyQlXZEKs zy%lq4IKZnaaB|mw#F#x^2bch;J}JNSY7;iXgQD3@M$w~mf%07x$K0So)fY)td8!&$ z7uXL0djSI$kp^Dv!4i}RAEWV|BXOz{8M}WM?O;~IeMF#mBHqhRIcghJ-jWdb<0|xK|`+zY4rUwlWsU9t7It`cIf zNDyji?%3U&qQWz=cgQsX+RTxq1dYXs5x-#rXE(vOSZtse8fKkRVa8%xQW^6tR)I)y zEDbBDf*5|gCu}%syIFFRJ-QF-=U&cKWlhY!HcFaLC#wZ5(t&a{M`-b^l8{ho7{jE} zf3=s5p{RWPkRDL@4y5`#$7njv1YmQWOiU>J#}3hXyiox}d(MNjtZMie z7Dn~Te4#kHAY2S=g!(4doJPs`%eXimsq@avJQMhhZs~#3{*aYeY)M0mIOD)|_lB*E z)7cO_jTV8@9}^Hgw*2^cT7FQIokJ(BJ9T{cPU1G}tR@e8A$L4Cc>h_wt<;?K?4I3n zJeww(%EXaBsW*}PD`sUL*Ow5KSI;IHLQ;nd)c5`?IME4H<^c-_as&&TT(X8FX?7`O z&nSzSYv{-Ph6QoD-~V(xBh4EGxA>b;oW_XxcrP3Ea!4krAI3ZYVf3_l@G5s#-|^k@ z>z58iwWYfCL~au^6lAl`=htjazi_E50$>^5o`{8C*P6s?dzMq+G-oSmvybQS0!en zCR2$G$Pfmqig({X`A&%5)2Qc~O+xsLwLf&pd$U6D6vjKH59qeFsMkJLr(seVtA@R- zQDsoKWZx3a-3cl1tq;(u&OUSgeloT{Rz|bV!b+XCnA~$Wk^M=b<^A_xP>uAXT0elf~ z%_Ir`2-AWA>JU?t4Dpz!rzb3HL0(>7N>uqXt^i;uTwRYr8EnN}8z&$=Guv~P=GhDy z9)k#|I{^2>?(WL&m7qIrg(^eI4tmZ z2uNFd8{%73+V~9OcRBn$Eu(!&C7qxPVDDfr2)>ylP76GcUIP*s(b`rrpEGsDmz|#4 zr-4ix(SjndvamxdJc zY0LR>pHX!O?Wt|^e8)MGubhpE5=9U)shF-3$Ww%@DROQ?6EqYQdYq@4gjr^N`xP&L zIsGoB)U%ro5ZOWa@Xnt5^O!2*u45I3Y zo23_%#)y}f5$tB1T=ae2D67!4_X5%i#?v_5>&L?339Zu}WYX3-M3zl>jD}NIJ}G;= zDdX|F;{nSBkitm-%dI}O$Nk}%};!z8T33AQIY4q*0x2Ub5q+K!FB z$UfL|9gHkt%o$!@-m66D8XwjQ1q$Ek&5!An>xy!0NJ`+DThC2Ui-Um>fhsiB^w z=RwJ6$bRY(*M_%M<2O=k&#UWfnV#LOSl7|K>I}{he$DNZ(aaJfvaF#g#QL8fqaZpM zjl&xr-!x1Nr1c3rTy21Eki_vc1O0UqYosU@ zJ|%YLz`K4%K*TLErI-v=+w7L6T!eyH^W778=Bszz7VU=(awOKk+i1R^Nn2>nQSL?z z&)~3hm~m|}J!!9iTj-zuC&}3tLj#PH1q`8!zNIFjvUnDQOD1llrlr{qcpKk)|JlFh z(1!SAzVAc_1faRRK8e$o;jJS-bKW}qldY@3EAe(K@XL<{&U0Z;CiQ+rwFpS^?N-KX zO_43ju`~$=94?ED+M%P%%rmk0n=>Hm>bX5?!%|j`j*kxj-775V=jtR9LWhGv1aoDQ zeSuTE88ow~yA?cUDa%g4wpgxS0=s)*&xFnX7rsxA_f6(2yn9?iFNwn`uZA{B)4kcU<)2H zU}(NOZNu>zY+((0!#c1{o?*Mufl!KJQ@(5;Zu8#6(5mPtVTm zPB$e-6rQ0UD}bs1Fhxw4#o%C*yJAhK0Xt7F-4`5YE-NBHs0*mRTr$kM*VNRxrpVW} zwBf6`tKJ6NIN2Au_aS8t0%;)vg8xoSh!5yJv|e5+w?_Wbdxh`)$5ug8MVyaP(zkDe zwPYL=mn^JLR7<`9S2;MXc{SS_lI=K*b^_bfFIxerW&<{H0vUR?2Q|>l!=~wT$vSe9pd)rFcjF&HImuq zAWak6A%{0vRA}y-6U@MgyD-Yg>6lM}os(mby#4nWwq1_=<1D|SY|}b^`Fg{Z8bybU z=IWi)S@+R@ajL*TE$DR`o2ffhsI1!PNDH6~7@Bqvn1;Y`OF$H6(U$iWmRadn+63&w zpOlr6LVJ8+umxZo0I@l$75V{(f^KdwU?9lJz60k_hQOq-5P;Z(D459LTEVk-<3}h{ zC&1jDG>my-0*hB{46+ao_FnNV0v47SHfs807x+k+GMP(j8uv;xcf@$Ddo zf!jHy;Ft|FX*Ux9Iwp|+zz#Pc6+D5f-zzMFEx*8{ zr(?~Q9E@>dD8GX!An<#6`KKW>+1p@BNzjMDJm|2vll;O$weUc{yP&{8@Q9K7^Ks+d z(J>1IVgQZbgBa~vWU#yeCWR69;ERvzMOo(`9aFahiwt?ewcU(=B3;-D)@JVX0-%JsD-=ktG$q#X`|tRAf*9{-z5g7unt()NKGH<+u=5-R*Zey1#DL zBGWpv8{-6g5ggz5KZMrqww&}5+cqshV4bYh`^CtMZJ1H(hlX;ao6&%;j12@HPX%7?_d^DWlJ!3?a!$eNB!zAhhS``a zJx?#=1#|BMUZIKW>+*MLFnMs0_QsP7{e zKck(n<$rft{RJE+t5W*}FHl3R`WV%y#Vuk05m{kqa);Nt(9oelc=G16Gmu2RDP-FMN$7Uw1{Ze?F>bjEbbAUs3s-7T7l zMSHqR^GRy?XUwR;|4A=xJ^I=wkn}6FiwS24#r8Wa7ex;JM7cnc0VT+Fa>%$ zs$h*zW{W4WUZgmKbGdF!6GsvR8;5_yS!c!1XDn2#5At?Sl}Pk0EgD%T#s98mo1PJ9 zkv63bV-E*tXP_h{#`>!h;V9AQr)^K8+*olC$&y?Cw13XeM++S!SIRoz+1v=$Wti;w z*p~tk7jXZ;qz0-CcpgVz0d{I=Xz0C>5fwn-mW;Igzm-)Yw=yx5Act)3I0JNZlk<$P zFlnN2;M)P*F*-H%f2m*8GeL~l8eoB?!cDeNNp?aYij>7}{R61H zfkJy7YEo zg9f|1-YB{*(zJkM5K#utkkoH*E>kSj7YxP^0~J2kGoSNu77{m$eO>1Jv<5b`8r)LkIO4|tL){R?D;8N=pbheeVzVkk}c`N&>5VA zivg1aO;wuhR!ScA8WZW_flzvq-cJHeFP`_8IVN)l&h?s1V0hr~F>P4FS}Eh;;wXq` zqb;10sedmXGeIwjt;vLs$DryB3Jl`?nXVdXAzW1gT#^i3^KIUGEMCJmbErla0@6 zYQZTfLUfhJjP&J>lHTNf&E>AXD#!129sA z@$tC61^<#7wn~*u?^yI^R?H)5Ib3OUY zOZATahH)zqUv1S$?c30nl%+Jnetafo1SqPTwQUf%;oRzu z?;{U8*VEqpH;N=(hjdORDhH(4Dd`H+uW)0+u6T+4$cgKOkGM{{RMpE-= zb^Jxhy@869>TMgAz%d*cXJokV6;Rkbh_lwM2Xnd{ZAxYSLGFEN!OEo~phhDauh|S5 znt*qHs%g7lt?eiSqMH`%i{Mf9DIK#@RaBTCiy(sktEumR#=8ICS1M5`TS8GmJ>{Ld{?00?op8q-j=X5&Hd7j+&-RFM4 zU*mdRuj`^DEv2kH@Oac67&U$-!CGl7w|Rgw^k63`!eN?z`cMj+Zr=N@;caDMUj*{R zgWlz9b6qZ5nV+ltly>wsTfzQNyR$Ny>Dn#gp;cq?6a&u6y73_&tA0&uu2(HE=%^<= zV-0`y;b_&K)+iv|9A$z*?W%GT-q>2n-^jqUj!g9TNVX@!_`LtF4mI4YSTzx4wKp~8 zBJKhdZEWm*EUnUJ%loVxj`v-$QJ8Ps4~&BF*1PO(r>yLE#BI|TX#dv9l+V#B{Cckg zo80%M2EGe1LwrJPXkzJ)uZg2$)`lWc3IRQB%!L*(IRldbU-zGcMqqXINy2&(mhyBN z`UeRS()T)=JZw9$6DUxXd?Y&4HeW-`D1ZBr7+Mhg{LS+y!2n**~XY!kL{A zE7ij3!+5(C6?OF8KM-uLh5@D{_^0sLiPeh}lHPNvq0TjeZrz%zd(SSqfZf~4TMqBY zYusp~FIiN0Dci{zDwmpj8ub~s~)%W*#3)9J3dc92jS8mp#_e#*r&_}mN6{%>x zYifv1HdAkDQjTbSSZ=*V(6c1BFon6nvsgW_izrP=)QwLx_DEd~7H*aVhm298^K2XBEerM_W?|zDH^J4axY_%({irm_C=NWoX zZZMsOmfLQ2wXHTIc&6IjGCNjlz+-=fLG-!8MpTA3ud--i(PIu4Loc<*iHwUD`djA8 z+`Gh#;yp^O^E?G!9k)6@&T>}5G^8Q^L4>1kSDU$Lrs>zGB)TaQr{rTY!81FyX5p%A%iH8Avw#A#Qs6-8Kf;0xZ? zYA3g=tK=c$t2y$VjZ5Z7O~?Z2zhb_7_b#GCZ(r~e_Ib(|I2X{N6nMm{&ABi?pD08F zU4{Hyrl2}41B3gHvcc$kOu}kARYz**W$^{oa~+sh)>^N1cjZ!U?iG>qmmCrN@@>PL z?t#rO$-5W?Z2$geI6{_1O)ahbzejt^v-rH2mkyCVBL>-ay;Z4Qj=yd)_N~L^kVbgp zQ?tPcT|t_ZFaB3`?dMLI(u=)fz7(TKWnO03XZ5$&g{I_Uj70i#Hs_!-y8;_>ldc|G z`E;d#i-v|K%vba4<*Ca9MNUO9WhcDU(-eesnYI$zgHzqFP1VbsZS85MAscH7rINEJ~i0Sy{H=wOzCIl^YE`!c<;Vb^>(Gq4n;~AB@ z)0it5y`;H)Qki>_xz!dkf*m#VOXWRGRa65pbe zrQeP?zFpd@Y5iHL6gPHAy*=uD_SoC?8z))X-nDGKUVKQwQpm@{QIq@lz*d zryU0ANJ}5Q#sa7pVY!p~^y&2Yjkmx|4lkW~+<0$@mCf-I5Yik25gahh``X7?cQuv# zIp{!1KI6c+a~l=s&Om?F5!aEWwL#C`>8GJ){vMtZWfPPgJq8=c*0}>uF$}Ctm7Lg@ z*n0e!c&1Mz@n@0W*OSBL0=?F>)`cwhamp@eZGH9O0jAkA z!hr*}4XVrQOF^vr+aIeA8us=Et;gBP4$o9wYz<+Hc^aa}m_8iWBXH`8yD~CmnA?Y+)U?N%dG!1%!&_4!z%!9Uki;K}R_+Cm@Mmq}cqr)b|F$m)U4HZt z#5jlyb$w+%hAJX`5U?k7;`7IOkLWTnGuzzZ5ZpErArns}8^>tfDXGFCb)fs}pc)O; zaUQ`oQ3p5ZrRuyycy4sXv-oEL&Gk}Ap3}t_byfNb%u!vC1-559* z1%<{Sfx^oB*9Vdc?<_5K^MKz;Z6+627`7bv>9tN^g4}>f4`v1lczrNSK zS>5td!8K;EHRoy>HQC0`g`VO?Y}m}@{ZolBnl z7*wIL*@Pa+s8Ly4dp8*=7gFdvY7A+b30a1woOD#cl>_#les~#(5N04X(1lKXDNM(u z@SHP8HOwEJ9=P}=K`Uy1ln&EYq96-o6cl$JSBICl_t?QpRfovSXQ4_;yx;4_m37~> z?>8%I2#wF00D9XS)5`S6{39Y*)(DbxFgsa_Ks6~SO#`K_w%qz~jqnhFLb3#2@3SN{ zz=rW^I|xE4^r80yV|pT}d9P;pgpbcLm^I*YA+<^;pWKrT%>DGun=)X-tJi(<58Q3B zNnei{tYp88YHAvB)|ZV&%KD#QAG0j{bRBIE0al}Dq2l%?CrUh`V~u)%ky=iU6Mx9N zDvnd$=f(&5X=scMJNjc)E~sfV@-W=JKlbi@*#-5ABta&}F?pRro3ceN&)Mjyh1wNo zOPzL6gC8HBbE_0q=#F*ji2Yj83BAn!^hWfz4NrX`Cv~uJx%~*5s z9xp4K;gyh{NSDg)GRyNUrdFY?52wEwf41#Exhek-V=o_dWq9f4!^^83R$p?%-c`%L z-*pE749G>;znSTY>ggu#H31J-835SXOGovPj0GN8WDG;$5oH~Axw=pCH6HwlN}hmX z;Gu;LADV!g+fXh}1WJRS1^x9jP-SBC2g?SPKbBImvo+;|kGf3m($!M|PJkmx%(zNR z6(CHDnbn>L$(J|QmivC-hTsK_jEwNT8C|@{_y;zRa9lX^moHU*69eXi`cg1RKN!EHtyk=xJQ2ajM`yJ3i;2)+ct)1(g?twN zPBH{xKvL^gNpUgBQsE5&F2Wf}t?Ep!Jn?T5VVASc3aDGq(a8Lh{wJ`r6uELg2x_rrEv3!VjBeHzTDflv^fEwR=M*4&cxE0}&bq3ZsMp2Ts)Y;u$e-%&1kgwL3kICj5Wj!Jnc> zxtonmOyYW69mxVc8<$bS1?0UP~uvOvXYIBjZyFH zPz71lZu8ELwNUQk8?gfF5)eSJg!Ii#9*Ye=`U`>eEeL~zPz6W| zpTqZC^$$kWyDS1VH{<9)?~T2cM{IOwVX4&KCB}(?#i?$p z)}z|>E^m#CK;_596~vT^` z9sEX{9ZQ~ZtHhwxzR;_YHlA)|j{N6Qw+?3EC=K?@$SlR$)1~B+Ns`D)a1v;cOt5Zw zG+%+W(SA%^Pmv2Y2xISGqwFDWRuVhr_umw1Hq1qM>9HmL{z~vzHfokUW-m zq#6*H7MxwdAJ~Z}gIi2wPQsgB#H84zk%t>kd#Rbwogl{ku)L8_i0!r=BI`F$B|lU9b!%J{>Nh1gScdTYSqB2f-*8h zp1-^%JA@wt=K}AT?=y@WfUL#d>QLApLi9NK`4nu8ZbY;)5V>09+dYtt0*0^}@>;T| zs0=@#!9{*z>)dQndgacdKyq>k5; z_SnYuMb$9ZY%3um+JjwVOP8{r#xd0sCLb6#gVjQ&|5=dj zLko@q*s$lkT8L@3QG#mNmY_Pbk3%G%$Jc#1rX;O&PKP!~DcC$}tKWKC#_{l;yCTg* z9QknV!^Y$WtEoE=?$jP4h2v{4LOjkNn!k`TGg$%&`284FgKYZ@iYh=A3pVMQnktHH z;f=~~!jfzk`5O0zaQwayb}539Py`$n*YGd}rI<*<>c9k^;1=W-OnUGtRvlJuC7ck* zs1D;l`v?!NavRmp+><`cA*6z>hS}{lyT@nk3XEJEo^=*9twfHKyu9QA zYSxExXFqkFe*fan&l>vObOE{E%QwifaT>1~&pm70#S*j?K^DJ<@!9a*Ala5C3mKGq zAI*Zt2JT2Az(+`lZ@CpbeiQ8q0cqlNQ&g(3n)ri_!z(Y}@3@{OJ^gdI#^`=P>(v^J zIp&4~xUX%F?34<5r}3^CqS4_$GeGmPu&|SuoBMWls*%B%j*Jsu|ENJpILeQJH2_}0 zlu&;3XsTcWZDgr=ff4Z`TSp?N6f`cd{5Owq1Xu*0nJ9UZlTQ|A!2S*Wlf<{vg91%o zb&K)rvy_o+a8Pn?jGbv6ZAE}jP32P>PTB}0rMP1-ian3i)OPVbI;oYSCgfr!d^tp3 z15)PFuO4A}?rryzI-Mz~U&q4>^R4rQ0B3)5O@fJt&TAK5M zn-5j&&92z+yd%*%^Q(I1S29>Yc!n5DzkPeuF7kRYDU9#q^&|L|IV3q7WU+8jGxBJ^ z-1x+VmHj5)^hI&%;Ec6fqV&aADAUp;bw7 zIVv^dMP}x)S8iSqnJT#LzBs8(CS+5n=($dzq($>UkRt4OL%5GC4oiXd5g8c()MgYo z_6Z@TYLqsP5Wg5ftxWxkEpuHex>A&}#_~U6`R&Zvvjuf&?|mkKlOZkYi$E3PSufPNkoVxyLA|0mxN7iY&PmIL*0__d!5?%x+=G^|dSV=~K(1 z`kQWUo7sLc9rc*!1N-Mf`8@O2uU}J-RUi>}3=9MlDnwX)yoHlS?43qdtZl8jEIziv zxqV9qif>dQ_~U#Ar2uJ$qi;;VKkzy4iED7rZn6COQ74n;kU&kkCJXA&2C|eY-6OsO zQ-fjG_xjfihkJ#+e2Gc`Mk5t0_IwXREu0&LyRw9F;r%Xgtf}9(5 zgxPtLr6CFWbVUD&jlN+iRI#oNOjocKj7frK-&L1&EsJ&}M}2+$ce!P-VA+d_Fgk*F z;Rgst0Yvq()afbUl136@BIqmfH^ru>ry*GK;)9=Y4+aRjdLO2lcWxVYE0HqVPsq1t zl8IsB%|Q>r(Q?%{g$9{DSF%&c-BT^bn<6aPxxIf@iHh-wdILp6?M^8`Nz~H%;2`YKiSD1!;Sz0YvoztP~dnWanO;3;W ze2n9K%4?fKga$KoHAX)8>lM`9A5nzIpw`8UL1=(K&i?jq&m*H*>g>GjD7zD64+!pK z0RMGjqGn=&UxbCIgcymOzGd@mp3oN-3q8mr=yQJ%^NcS4u2kIfjekJYjR9hNq6SGfo8dlXxed)g{T@Led8lKdo6A$AI3!wxchBw{ABSB#siUSe-Yc1EcqvYjS_o9$f1IZ z%fakYE|%NvRZ~3ru*Grb&Sof56DiZx)%D&Oe^@4_f(Lgrj5;wfF|kE(Q=mZD77~N1 z3DvZ67#|9rVT?Ky4u0xZ9k)TYkAHIgx{S0mnSbx~u0OjhSMVk&1qIB48nGSqU(lrx z*zGmf^a{M}FNuPvIh3y7G$l6KTkyB19y;Ip6qlH9QnE(-w2HRmg#{5)VQ<(109C=G*G4UZ0wFOwn;rwwzmekG)m~4emw5I<)kSn)LJ3*I@hqc5zGm_{ zkUhP6>>?0yJQl`n1ZOemxU~H40(xcixf}3IOioNZ;XLa;SI5ezh&Ga)F!=I!OWMR6 zCKb}N!F~=P>_>#_oWX_3&J=5ywS50vLYPotK+pbI^;BWI$AD-7K=|_SY~764m{io{ z=>Axdp`|6L8DERqNDJhD+)+Mb^VgsDHRp}5SPEkb&UUcEzL4Xws)g45?Xz2_GUkjc zN1UZUFWbHTL`bKhUb=#=MHbym;;&lOO^S$Dgo6~kt5A*Ylb7cJv=5=&pHU>s3H{9* zZ`l>4ZiHXnZ+M4^M~q770XfX&8+(YKg=9dHAQqYa$0TxiM0H8PSt!oRiuXtCtOD1W zq5ICd-dTgcO1aSp$0Sk+KGC7pf2DU&Mvy8KbXa5!+Ocx<_y8P`8$VkKJuoxy_0`O6 zMb`g^6TQ63BztkPNnz@t-L&m@H+34W$f*k`JVVGFGRY|^%0b+1O-)si<%|3%eE@d= zH9>uR8Gt#MH6Y{~d0AOmjp6|94SRg|o&9^FGRmNBtd<{eU0hw?AGD=;bgpvdm%uJ@ zW+djcG*S!z77uHC`yTJMOnuusmj}AK%-l_IEI{ieTnzg9UY^Ux5Q7Y`ntIoM&coVz zdUvthBVxf4q$2P1n2#Dy9gRP{V+i}<`iGoB$;rHEh;0*|qGE>}E6OTjUILj<%vI*+ z=kt$9u3EYHmFz8FXp={0ACzm;otEmOG0RC8K-<7}DG~cfU|x4^eCSW5M!k&O%{wABFx*jU=z>}J<@c>_^t-WW_jhf2CJEQ2VMQV zoS=20i}aUm(Usgnp&oOD7IfV5i2AEQ5QKz(7bS@kCi zqvf!Lo!$GZAg~cDUwsb`y1NXi)9(qkh*u{!9O35vI&xOhhd{3K@-Q;kMRV8jOXVg| zcQ3taAR0DkPqxW`c0#D`G^&cS!!LaN* z4K&2o_7zEv=sQqnR!%Hb*%tzxqsMH>wm0kCpA7J}FnJ|x1#vL|I_B7s`;UMKD4O{B zTSDi-y*fi`Vg4}AF?Q)xA-sejtl+W=I+*n=@l6Af`7A-&!EM43+Av303O=N46IQLT zLo_{tL=-7LXkCgdN(BL&B!Qi{h^64z?U86Am@vqyqXVMeRU_yNM^`8u*0vaOa+uMtQ$rMn3|&z}#J7X@6h3%xu0^VSA4|{`Y+Dvh zrNwmg^hCI#QZ`e$d^d@saT5kK#ZlG+){L8<{Okdlm^2jiI{U@3?f0wyH06ra=K9wIDfNw%>< z&YWo95!yQ~RzQ3p4hCQeqEVEM-FMaEhSM7Z5qIE#PVloM3bUV{Wgp9ZeDv;?mil6*AQPo&4@E6qt<%{93E`V&JI zKWiL5Pk)8yg5sVKx>|Gbv}u=y9qV9(W4C+t`1rK_qdu_iT1H zgO5}qjF)Ueo?04`4_;E>k}*CMP)v88h6Q_rbMD|JNJr?eWF`ywjh7TDIuBP}E1>gC z8(d3U(cZqb;^E&z5&hO7BfpYtyFXoAd?(f{iQQ*?t3Hl%3>nVp6zO67)-8df$4%Ik z_fj>DN6S{UyU_*Cw0wFepSl(XgUTRU8?J8m&^j}NQg;b5njQq)l-bALVqNRCK2IZ` zjyyWxX7ug!`SUjR4Q3Lene34~*6R0d)4=mAar?J*jDTbND`hn(!r%r~kJq+H9rue1 zk^;6;+PTSpZH#{wnWg+bC$K;vzE{w!qD#s;^S^?~=EcRMA++D6&x{F1I`6SXuMh9j z=padQ0>@M^`=BYG)zvOm(n8D=xiB%Qy{_SwN1b;#LN{W(Js}h$Y56Hvbow?YcbhY1sIB6hM9t>}kk~(5J13jl zJ>#5PCd$&BC=v0^NX~gez00d3-f3+HJcN#NJEIGC$4M%S317&n^Mf)q`m+z&? zJCh2p0ug{3Ef6tR+1GVE>W*DvD6ZEu#zyZA{^APT7s}mpDb6{KTGsi zm=Hb`Ozw}~=wQMr zl|!GMUJB75vLS^y@bQ}-?ROP7{1moZi@$_?%=uZfBwnm{U4;d*eL;;#mP+; z{AiGPqoO~V^pLvjy@xWpR81#q(|CKoXG(;9Uc)uH=T-N4#P<^>~Qr_qi7oUmV|c1GtI9fr_(pac|tJvXxnPd zDcQ^W+NXU=}7HL~3#Xma$0B~yS<+<~gD{9tDvByT$?};>;AV-RwvwTNVwzh@Hfr>+U+*%Wk&QM5JjY~@uuh~@U{1K9sEyvrs!twqf_;7fFdC{C1`sG>ER|q{qJAO z09H1Uh5L4cw+rm!mw*LjS!Mjc~7ow-0SxN7Ol6z(C=6Wvq z(U`ys`w@S$GUGpJBmUuB5cIy#zDj8SvBCR}n_(jQj={{h!~M#s&mXjt`k{OHdhxc? zdoA&DfOod?eqeF~&cD*h{rmVzcPCgXs%`Rb>-$wNKWAJDqoPq?+H21KTg;QPbBRHo zh3yjW2cuzWk7$9Yj5e#fS=vOJDB~Y=gcTJ2OSYdVCxIqr>_fy!aYGCvo#uY5gv}Rj zG{dYHpF5i?3cWc(e;BWN#P*F~ZaaN9x!(HK`5W~IH!KToIvDTYpQN`cvQC`}^w8z` z2?NFvoHE=zGdlOziH&Hv&K+rHmk{vB-q)nUZZ`f@ajy9V*h(75yPv!{1PiM{h=cOvXF+BVxrJm)W=xIC{8yVjXzxuOgm zJ+F4Fy2j=M6{5eZUf-O)-?;sx$WReET3kph2pXYTa)t!kyL3HtIDFf=W3=CC`q(G} zqqpBC=m(_C6KynB-`P8eX2FN1m1bkG=~AQLRiY=)s+NR!ETSp);9;~|0p)>P@j7IR129gflh8pltMN{ow$>FQgL^W&C z{=pcn4F2cFF`5n{1s)vaLDpo4GXjivE3>6kkfw6>-&;r04h4fUYVI-yrG7H+zFQed z^0RA!%}sRkW``N84(;4Fx-R&3Fc%met_?vTOac>6`w(X*(r?&Im9m2 zV!Ki`{;8g7qN03$y{3mTDyQ+QNw;L|!xuj!i}==)UFY}5fGmzwP2_J@Uqv@W!iLwP zz4n7<=Y|1TLkn-4_*D!x@$Du5| zJgmr$El!fXsXw27!=d)b?Uz*CfU@yNkNv=cQl%js7Eax&x!JFtgqE}cN6fjDTu3isaQqZpp`PYAn$yWCBa=S0TXUosDS+V16 z-VDiU_69>4>Ti>frJsf&V|n733QC42UCn;3H9sj_%BPD#4i#5#&w)^n75KGq{f%K2 zGt)Qy)6igXq_PsAsteQ*nIq>}CedRK`Mgv^)B3UmEj4B}?I2KGryNn&X=%pub>mDh zZM+>;5ln5=Y@(}nJYgSxO~#Wj7#L4hDyG@Ol7aD0k-t8Z#K7v2$WJbA=<~?bp{8*X z;S4CzD~s&nY49-E@~GOZPUOuFu>2*JqB`0$3#T!abM~|naosW!M8bt3apdebexIvV zCC#`P4xgtfK-{x+o0{%qQA5CWNF{-kNKZ6#%J%l@e4oX^+EZ zCkd7}A|zmT3`MOE9b0&(uqQ zg$U0sg_2mS31>w#>^-LLY>HwmDoX62j)NP-dx%r<;7wt^GmG2hMrF8C&(ZxxESLU_ z^|dGOi;ueBbpZ6npg|lZEH-3_CH)+3dr}~@LCF5D*>rMeEVVv*ALfK1ry?FOTv~hZ7;4_1dhH;1?JT!H5!ZW?2P{NK-IP zw1XuD9c+N|=20x2{McFom!vBDqp69v{B z;zwdKi)Z%t>>v3s9hWw(r#Q_p`h z%?(Z&=m?n#ifMIf7dg5V3d9YiA}C zGC3qWE2S^rD|iy`KWjR=y6pTtE$7732Q7we6|AGa~o zV3*nneM72-fU0N5`dPqc)s*(LN&2yP`ccTVuN}&>jL~^K`e$l&0-|nusCs2>tRVV< zc?&6LHN9}|c9-oY9Q@j)^gr#&J`5zm`VE z^=uK;aisQpqQmMh_z^k56G_iCX-tBLocNgt)&V|J&K|&N?}LHb4i?HU}Lu<=2Lu4I=$^ zm!u#5kc;VNcxmun2ThG88|g5suYcfvAPA8wx~_|9ryZ82tEG@wUe1o0 zFWRF}uDj-wpGPwb!rvKZKjM_E=*VAYefi52=;anYquSim4RL3+xQL~Z>z;tQItbB1 zBYr66(-@}^47N#Dz>gmk&V2+XDgOco%OzCj&nh$ja7QsOjI>Cl#KE#2ljF6xtJfF=7 zaR>}uAFhYQ#3^_Ah*IfGP&gfj*x7;-WcUll+%8_>=op*WMFDEEUIFMJR($y zx;kC@WvNT>DLZ$*T!v?``b+F3+6@CjXSHu};(X~KYXL%eC=k()F8xa9=}OxqLfPE` z^G!I(b}+)>JxYz5Kj{~-;0-alY?4#b=N_$bmmD)LLSE8y6n@O(ea%eV_`12T``{Gom{?4Qr_wK~S5 zi)JpY`bb3$&JKyO|I%}*bhu=_c~?iLP6oWC`e$|^PeI39>aziv$NLZdMG3d%LdtSf zg3^-wtac@HJ$1{{ILgYJF53W+9IR- zYiNQfiZDB0nx&rU36zR-0OJt={) z<-BKYln$-3t`6s`*TXXdZc~d_3iO7JPj{ObKZ%;4^ee=Ec}e)EA63Qd+hp8VdcSre!JzNN42aots3|#cr7Y=W zbWVXkO8%OR;!sQ0mV832LEc;s4o4gU!)2Qoy*2%n3+t%R=~q)KO>pfZ@e()c3NGtM z;6$Ktd+e0Gqk0s@URTl^^ zk|E6qG4sw$p{m#6ztR+EbG2Lx`2-ZE80I&ct!SACoo)y1FEOH`{(wvQ(Sc^J4fpHt z!RoaQr|?%|90BrAvifimb0?OZI#je?SvA<1Rv{R9w=tJ9+iIzviQ;#ZyIUFAj?uf0wbG9{5Bu>=OQIhQiQ;@BuDkQRria=1|%zcOMpL z{SPOtH1mJpIJxR_b6_4i973tr^W|{LuY7&yE$7r!Y)1KaS;~R7@HG=c4m>Ig=N0M| z#p>H!gB7iJV7!>SzICz0^O}cfm+d`)xUvFyPlQ+&k81N-}8skE$yy7cH)%`(8){8YB zQ4yXlZy!ynU+aDh%|tEf0_LO=Lr-eb^I#IG35l-#LhD7j$VR!u{sueO{{r)r+&&lV z*TdJQjB^lK!o>#SOq!Rzkw8_xx^7z`S%ASrnYIfSVr;vDzKR?d_28%ErSWgF-%Dji zZ_rns7pwj^7-}SE?U*_&Z5r$I6;&`z6hX371g)_)B2H}}(9~mG0?c|5Q0z`lxp&K| z7Rin6A1fgk1Wy$-1jE3smg9@6M^PjkQ&&1|O7)yP>onKq&zHu-UB=WIWV49>ygGEYFvWi87=&OlMvxj{Wzg7!A?LDTjU#!eH43=rl#?F!RqcW-^ zXwGZCt5xMhjEZYZwlb{+9ya!zeHnSNnf$4r`*XrC-<9GcaB3ME*49#Q!*pkZNMF5w>a@ZojO@Yb?3;nMlM8L zy_~8F7JYNzJ;Xaf+5z*4N|FRmP|wbhMTe9$9=9D}h)GcscgCAK6gAM?Td^N&vUEH5 z?U!`Bq|sxbfFW>*po<;hpVXnu1{twFuzV%O2Xa-o?s)!)eZF85JUeMd&$2qN#=_U= z=PNK5Z)~VGnmjaR2B))@XB@IeqP9lj#44sTLY-=DkgPW8Qj+(Euv18+FRI5 z$ns@PytR63yE!2V#?Zx)26yU~m2pyo1~N3@Pq~xmz-p_J-r%zGwrMMAOw2#BzEb<9 z>q*Pk=8_hs0z5SEjjU2e{_7I5mOoRV=1@zKA<(4|A^)lPSE(|bl6}rmD-XRTrLzAW z!r|xVlM`9o`>Yjb5hj1`JtJnnTTH)lVGN-LvPq$w!aVjPIbaeZ$aZEaS3%SY+qGYv zuIyoL2h%Ni-<~5$Io2xL`o@-!zt8BEYoWiTJ4u{f}m zGN$=^oSd%w!TZP>Vp9Dl#8+cIe{Roiw&-)l4Lc+-lmXUO3LET*~8dIct8dMIr`y zErQpPn0?&mzk;^OZ3*-#pLX^j)Zw1`?{e}kWcK%f%yItNi1yXfAu8ItIu zEsAc(iWJhp_-uNGUDrC?NO?|N65FNmi5G;NMy#HPIRWW)?oEM5fL4(2xFuU4O=i3JHe!w6EpzlPa~g@0}q$rT>@DSv$;_H1-8{wvcSU zJ2W>DhQeXQy8M`ACW{ZrA6MbiRdVuDQo+|uZdw!=@ZVR{8wrr4Oin7#Ggt$5S7o1E zpn`*m3nNr(!#oUT7>;(AD|nO*F@&5O zwLaXTh{oHAuFRw923Eb+C~8m{Yprxa1oVorkW!3q;WSknQoU2XBMqhzYzyu@w^cM5 z_4i_s{sr|w{AmuaEV1T_(2?*bu3C>6%^$KuaKf_8CEo`;R3)JQ8 zgBvdL^zUuIxh@Id3zUN6M)VU)Y*g`C?2LLI1j@yKBs$l8ZKDyK`*MAgSHCl+6CVUi!*1HC?{)hJ3YfP;?Hfi=ZTyBK zyNeL%M9EU9X$0a#Zd%6#M$l9>3vteLn$aC7m`Bs(-QrWEvWQ^2=^w=7rw3hj!vj4_ z1pTjcI;D@NUA!f~$vf9wVZ;?sy^rf1m&J9&H1+L?uSl5H#yU}&C63Y%J0E;bvKKe| zF^HMaL|{*Ks9=*x9-4#C&_$F$rvjZiqe7mJQ>ER-QJyvIw%?EkiY?6LqY#c~&G57d ztjW;-VoYiT8Y6(ms5ieB*Qp9ooXLXg-Xy;+ z_EgCVsz=Qt&)bxNsr^z_jCLZ2h%9mM<=LdmkJZtvv*5wYrK_L;>2buG{SA~(KG!QO zwG?UD;M;%YxzpVRCueO>a^Z7p8$QwqdRoMqB(iYtG%(}nw|VOu-z0bACZyaZw1+A* zAnnP#+mr5TSe=Gyw8!}8*WACV@7v-!L4#gbpQ#RFU%$kZhiNqhQoc7)d_2~0k-!`_ zW`CsVEf|4`Eq^f?Bx@%j8^TGd+6%m|-U^?qUIeI)6j1~m&v#(UXjY9cDldNxTAyEA z$2hPlI6}^(8A?*2IF}k(mhXUNsO4;<`2=CoL`KZNuCZ`@yrdQv9ONMm$LdDYsH;}5 zmM|#sW2a+zVQj|+X%X65KrXL7k(-jRQgi0pZSN@dj}Ts1c~yt4Y1rpK3$51o2y@}P|^pgq-< z-kUu2Wz_w-<9~Yz_)6*4AkbPeZEAK%tF~XnP4q}?tg0o#*oBMU4g4{LTuH`)u}{&K-k|BMu0J3<#MqRjB{u-c zkcS2!+Z5`#|2(ppWg7yadQQ|iOHPTsn>6|fHIk7x#SS5ZYtr^5*bcIbj6aE-EIp7Y^asvmP^xpf;Pz^r$8nWE)vK;wwGvgu$ULkC|Cr<55p_IHYcbi14Xx zFfbFT61u=GOtuyY1E;oQk!uC=6}H_{N=viP?5l2GyPlaGF-O*%tZ$*xI&ncj8n%s5 z+fh7;1tOD~-8r^c=wgw;mzd#Yv*j%CFM&MaTXcz}5Wke~&XFJ7ByXU14C-`y@~D{8 zN8V=pV$=uMIa#I5IdXbwEd-dBZL@7A4OW=2IFR#s{&}8icca5ByEBiQ=ob*#ZoeD8 z3JGrvq2{a}iFFs!B;PQ$tF4x^*zD{uM6oAF|BMfhpz&3V+Yu3?1f#rweGvk9MqUYD zYTXz*;u`9BUlU430c;SIi89V9Td7)cQ2bMT|12IiGn#CUgNcGbpbaaoCF+U<7_L6L=;4$@FV*5ZWynW)=# zH%R=Z0;1tqqbt)8F7^wMurtZ8sR&W-oCopuP103UnEQ|z6n|Ehoo9`~SOj9@=i=lU z2g(anLv0PpFV$XQC9_}1zGm-s7B0ZFE=dhoKa^01+3T;-Pj&qmOO8-akVaf9JW~#{BuYa>F@{|GxrI8a8$uey_?Ly7*Fl+?8#OyauvrNHR6XN&aP_sYR8(zb!tTBNFz zl%E#^6&5<9Lq_qx`7;=d2lpn|@#07Nu6bkbG%Y}^aj_Qyw6rT3AXH%t>?{@3*thnS z*sX;%(p{_$LN%fs@cFm+8>n#m#S)j$AD0faOh@1J^O7loOC<%23#QE4&8Z(eu|>qM zejnk5YQCd6-mBM%p0=fULh@k|km}<(7t6ITlvn965>y6?NWD?exNiOxNefl3dY6tx zznNz0Mb2UhpB4_aa53PiVRTr|pAN4>h|Go1KD-Gd9A~$_0;j?`L1?gvKsT8r>8QsS zbETW;^vc!UkTo8)6h=gV-FL9nMs%bVvX};tPx@986 z)7(u_n-lR}5nMXy#wrCVKs|{TU#-zAJAyVZFCctHTdm318ZS?Rk{!Hnz#%Shk6LUv zQsQIMM9Go!Joepolyc-i-lhN*B8d+5A%Z?FHi(%(xk?*Zr}_}y7hV&ZJmt!BCz3C7h&Jf!ntkb#YEc`7Wlu# z3DDt$)^Bby&l`%RnQE3rQNERX($nvTc@w&EU^NNJ(WTy-h3_IRlq8}$3%?!vzREUm zW}ilDN|m4gEv!egg^w5z(jnqMI;W0J-HVpsq)!YsmF8J1PP6p|Y4_7+2eR7=v;-iN zM)8g3>wy`NUtS<6Y7LhyROIG9EJM7#{%*)EK=@0kUQ%^iuSA&z8bf z?wT82f!gU|l(`-1^PmG&C@8n?6T{8`asm$AcmHrdi8&T-QUS>j@jTEAiHmvhD6QRa zG`36|6CIwFAWF28!RM(qlIU%Jy|6Z)MYX=ym)pjfSItd|^qaL{$pGFG6mHZjhzaR) zbOINOS8W4JCI z``Mju2k{Mak0dqx51w~diS#Lroth%rXdFy`Ua)yYbVnD)p~7QOH)Z;59FnvUdJZH0 z?8bO^M>|xV=GTVb8DEEzJht*gN;A981%{xHuU*u?>@24GP zZ9d&vpP5xjrXG~a__-Lau*K5x0B}Q}UT#S-%H$43F#4KLRw&-(rfCgLlBv6d)^sW7sZCv$B&x5EXu zFaEBAi)P2|aCF+@VJqRgjtWub zWrcO(_lVl1f1g3}`wyFPJsaQt63lnLc=X)9qkbn&7kzDla>(N*@cTf=f=g_`ZJD+? z0}tG;k<6A=!A?uKy%0f+1aZJu%WBUhtIcRhsQL|g+0TF$Q7~Xy_O%(Zw3B$iVqMUj z0a>@9f|3I|SF1hFtKLjqJ?q6yV@$9Fcz$Fgd9L?<3`YU5yWg(GR83afT;~7qX)RFc z=t4v#bCHCm*~T(4O>0)=x1)Kx6}q^2Icv|U_7P;1jKJN;$SYlu7Z#|pp*pnhaIz># zx~_Y^e}mT9;=lR8(`+#z5%*Gp0JpNyZa`6+TUc?Jb93`BTXS1+Fmv&9urZr+aPTm5 zT3T`NbMkZWTXFHFu`-ZR^O~8NadNToGn@09Su%5RaPctnvsqa%v-6m9a9i_ov2$=+ zrMWYFqUN*WU^8R4;AOTl^(W~;ztAERNO0?6zKlOA5)zWutSO;wS%i$=+IQ48l)p$Id3pJ4 zeh=D%Kl4v3N0V929w#c7>+OoHJujEUfkLE7<4dC|_Ab#J1%j$2s?~>>nsnF<{E!z0 z)?{CV3S&hc=vyC_7Rfq9A{ltoKYo>fQS6c;TRwZxtvrpbwO+SST%U~il7f}TMMlmW z4Ov{~-%}=!U;{-R{QlKtp>Y3G{YSE2{(>m2Ca0*lV5hFESfd-V5`o#tuL(g>_Fa&i zqX+pwm?YbSBbH{YaaMSH>iz9$t`7{}>;sd{&CR*Gy7p(YTQu1%&?e*v#Ky&?q@_Wj zp`r2d@$J6+K0%(hb#X~bp#saAAB-f#OE!C7>3d#p61cg!fr9gRUG{-<*f=={`#v66 ziTT~3lgLD2lST(0uQtpqEC$<%Ffl`AlStVUt^a+zW8mOu*%0|$Zw{n=`V7)^s!)-W z6Vukl{dhh=qwQA<2oRExkkFjfRKAJ`4>!Hp?wNvI0?usmJX6O3a}{lEFV<+}wDj}{ zi@aU7>U;HgUEoquQ9*zVIvmCGc${uuy&ep^Ek+ZEf1k_{gd3N&4xLz>FV=K^`E4Ec zuaM99OX%W~28HtqV(B7pA`8uKnQ1thA@~QV6vL+r8V06BG79x{r%$v}IWMxQiOm`> zOqFhEt<^>x9U7MvY>W(wj*jjx6!vfXy0f)K!p_cqy77&b#jq1pp^gwretZ4>X8(HY z`|a)R>SZ;C8xNk}xii|AqMTRIUwJY={#X`MJh)VU%%x#k zY?`3hp&4CS$h{G?)(8C~C^g*pU8B5~{F)uxbK&2IfAGOx0X`X@eRP=mxbXPLEd$QY z{a9bFqOTSC^h+~~Xa*wj@0k{bB=mg4p422EC0Heb*O75JHI7a~Rbef-P9v$?rBBrOf= z;I^V%6GkBwEJs~kT`lJB?yg0KjYu0odj)FkTDZHrbM^9)1`tr-L`_Z2w(`Z_pNfM6 z6I*)k_2B{@6;n$Q^adI9WT;Qf|@9)7seRcw?FtL++;=-xrrwRn|tgNi! zEmn#JNh}dpg?wXvg2?#D{_YSRdUf(nrL|H_Ic)w|bnhYt8sjI>je932Q9j#W;06W; zI$if5TQvq(R`4Vvk;Nq>AbA{Di(8I*S#kt@Sa6wigZBobEPxt3|DF+@tNKj#=V}A5 z6>R;>e17Wu2vpZse=cDEJ+=NFb*dQoM8)9(CxOrXxH@2ofitD*;J=Y|VWXRS_nT#B+iVU42?=@ocGD-xl4Y?!6oW71%O)Wy*=#llTktJeP(Z+ZI-mdf&%$R6eEjGf zP8&*ET3Cvv9Zz4A%eu|={O`mF_LS@t0j0D4WZ+5H=1D`&dI^R7{O1fTr{y*tD?BFyL8u3wp&O(8i}vmFjPlBvzV#OH6KrZ zU058EBns5f*f|_?1g@t{2^kKBFx>y?+RZDsx~&a!H?G;4Ty+>_`_TrmMKK|)3B0zk zA<2-zL7(i20aOqjIwUnU)vqK)TU%R|A%ifbt9$+Vev-A>=f;@UhFvwIaAJNQb9i`| z!7kMMYCYoNVkNAUF5zlzZB3jZ<2(VKaDudw<;B83Z2z|w@$RF6id&tIpB#XExd(YC z<&dT}1fkNK4guwj!Zw6t3x-#4Et$iDNm}p7;?C;(oV8FJLcMkU$N2`>Vs%va(J{WI zhD3SJ7yus^35pkZ<)qq$oLX|DRpgOf6Wo4PRPwfv{CdGb8rcL6d^ieE6ZkZ2#bKB@ z5v5z%zmyGG#@{EVb&emHZ&J(F)K_W{arU-(V!oitpo-lXaO? zSzpU4A7f)<&)bEURUg^B_V9FyElqi;o%53Z9Hp6N>h%k^J)oB==kcVcrKKTq*fEu> z8(6mWT1isqb(3>eR`=EXsVaH3QLLNHL5>AEgpDCWLuTjYae^sRx*b`^b%{Tn zMY#*$TKw%2FVt?hZS)RAY4T3>LIc232%qv@OZNe0i(j3?0wxx;6RhN}P(PQySTZ`_ zL&JT9hO-24pRQkGi1>3|C6BL;O6l{ieRCCZ1PNL7y(A9_j_=`lfBpDgS;=bP`AgDH zj$LNM#iQW=|N0dkVX+V{d*(!PcXQ@Ykka-FE|oe@>c8t%+{Et4Bjo(tNPn{D6dkPJ zO+NVx#m*VNTszC%V?uBfea6M&c+Cm*%ThZDxG}Q)Gd|@EdlpD2*gWIN`9|BR)at|DP;Fm11lwPDzX(k{7CQ^q06Sqj|EAx(gmHt8 zmmh?AgB!_dN`a-ReF;Y+uKEe%^v8UI36nM4R*4OjbkhuKX;*$?*YDtDv^U;zDsaeO zZ~^erlRi@0t%K$p(Zqin^k3B^kOm=~Swg6g_lW7S5t&SSiEXCy#bsn*Eux-wz+`|f z>I6n|k9NzF$#EPmb11NZ>NQdT%Dx)+#P08#Hxx`n?mu_fEx-aQCwcM+py9Wtn^8co z+}$5d${eu~xpTPCp}JU5folv+>qd@FdA02u)~|PthX|aN5}VjxZRDs8ZQhv$#I{{% z(lcvQQs_ZV_At_U+vG#T{R_h6NQ1!ZCeC!IoS*WWDw6WJw=WK$AwK&Dbt;MPJ=yU4 zChJZS%m&~4y(`hxGiSTk4X&8p?YED3Xml`xq_qbmn`<+b^flaRXiRp;@M9SA}Qu0nHu|I3>r%i?&m z5RVd_TiH7@kz)xd+W$n=J)~TPN)XD41Oi|+0{kXtW{&(A+6jCz3XhDW1c)%lapLG+ zU*{YL5#~8S!~*zn}vugInz{ZR!wvYmWkfa>zc5P5%wnpQ)Nr{&<9%_H~K5^%eSiK=!Zy`R*WR zrnI!Q$^A&7hbsQJT~%|(RhQQ|^a)(GX0$6!D;lU+&Kd?pmuawTJ_4ev_135QY>xzz zV*>k(ke!8zt7(af)ZjFLKqW9+$=Yh|h`+)xbIkpF(05W5Bwo?=*};bNE`z=7)nu5vZ~KT|EUq+L+f9;5y{Eu@kG3+m@&|O zAFp+>fsKY;p=Gj3q2%y}J$^Wx)>GhqfO0X=(Lt=NtcNEj2S9u4)Z74m2Vc;eX~>)% zka7fp>gwvQ*PHy%u(10BVQ~1I*2wUo{ljs1DY?0b5fTs~V!;5Ta&#B+d%)u0;3&0C z0ZMytauUhB8Gq%gQP}tIf^w-t#o}SRfMeL*H3d4Mw73{_^W!&aIar+@SZtK<7a(e6 z_4Nr0MZt+?gOOSeRb8&xc^+*x4<|KWTiBCNUr);tf_{Z~I8Nm69ZzHMXsI-5kJa@g zX-~5n9BzHUmbQQ_N4Ue*cT^vb`TFy18ChExcCYL!etR{#Gw>Y{=;@Q9MOs;=j@+SgL=HU}3fXwFeJVnQ4 zF@(=isw{$<3PPx9%(rLM%RueS+%h<7g{(pOn7Y=u+FXp)j$fF}JT>Q)!s`bzf!{WEl2cP5;o#u@>j)%VCNUKi)L!u4 z`$_w5K=I-OJGa_qhXwe%sOV^T_y`H0KvcZEc!2qESow+`H~gPXp07~Ez{7(Bn&m&` z1%v{Tx=fK_VNlv%4Pz3Bc+CeRQI^*A+H5g~%$pI-9Zyf&M#N$hVu+W$``nL?b$GN6 z*H&kWYS!wSUu~*CY}XOM@Nr&EmT+kIHqU*q4Pr!Q7Dx(8mfOpo{UU}0*&9( zb;8e|67>e(P%|Z%!MLo(@tvJ~p#BIXJT^eC|CgeGTrZZHfe;Bvp(54o z<22*U8NAiK7ltMh92EtZUr=yY^zSbmSb7)6a)l> zf&T)Tu_O0<0Bb-TG71zO-^irL4^Y>xdp}`*yj_2nQ&JjgG8=4iT;ur9mO_iO1)?D% z4}HA9-QDg|qcL@s;4B$)-zssgb74~|DiM}U7HEtQT#CnK9_HTGhNq<;6*C>U{?YJgf#)LmYuwlVqb5S<_OgmX#g~8m+@f z7UGYK$T-wd7xu(y5fROdo3h~2DTxv>T;~gtaN$EvnKiaNdYWG1^>ii}6dVy|c>B@? zJ%;Uq&Oj=^TSnoOeLs1LSdJTeQNIEBg_xL_|9BxG0c9kCC<>QZe;4RyF+V@QgcYDm zRk0&dQ!%M&Y3+~bnDpD=0iP!UFiFC{61!7_2xsy6Hlta#LFyw0tT6 zV2y?cd1}nfA73=2ix9AA*bNf~1?05o2!#VnH`9yc;t*03`&XeE%f|{VauX3Ht=#NetS*00IKOB7v ztey75C)P=6x2b>R^l~-cwcwxaCcw+6S%EZ|@&%7ayx<_vQ-c5>6OaHc zs@@&REvx_ZHUEAj%pKfNB{oEr=VqqXS$NJyY}o)~^9>TqcJ7VH3h#4*;2rhF zO*N#I)#WBsU(a!Uk2_pXxeriY75^P0F)N?Hl+h`a^_&1}02;;}-jx%}!@~o}WXymh zijIkC2uLH*F)>R$guARbhEB9gH70AvpWBQZfLVi@6AD>GeQR8_Jk=HR#oRJO&a1W$ z2u#7Q9v*`WRiDiq9O8iDfr0_~x&F-sEk-JIbyYV#D+>zby!|64i?t4NAn4^N>-P6= zNmo}kM<=JbE)N@E{*+f%QVI(fIxV|C;Obf8HLsV72~v9E1$LCY?+2q1H2d|Ew&A z#zOyTBn5c%z!|4@GE)R6tp*Rw@puBxY>yy7HUQDK+0Sr<|8Ah$>jIegunp&;?uYP_ z6kDBcROt#dg+gB-E7W6v#A*Me2t0x&`nUK^1@jf6n*Lu64@a33TYw`L*#2*CT^-JP z8~R!OW&*LvrQZYZf2z~5b^p#+PC?=4>0FtawKXiD@y63W4X&>fmXws-K0ZbQ8S+3M0w9VE1&2Z=JUm>kVF9SJ{xd!?VXjT~NhuoygkymI_)kOv&oY#@9F33=5rJyD zK3yB>8W>Okb^#X`7ablNh`J!8)c|z@ATu%|0%n0n9GzSq6JP;I;Bm!72IJlN5+kh< z_VT4L4V*j>e0VhcRFPN2UxmXJ7n?C})~P zUQ!ae3f6VsIU{}yklP1+(@=mx9Gn(2E{wu`KM8ShuKRNTKf=yBs;jMg_jF0As3;98 zrGRvUGzLeo*GIqUbz2L*_K+gSp{AzhGU=jrJ6@|`i@%?ztVbkxLVvlf zHl9_)PTcKm8h78O$fpK3Nl0LE3i-TkZ~HDUH@63>v;Ere6$~!p4$3=P<;3tpI^A=YJa^qbv1mw$$(roC98RvVy+n_6COvoK%#^A(92C-~eo!y47deTP<-iI1tP zX~WqQf-#i`98TMx!zr%RJkL$8=MIo*aFgTA?3uunR8$Q3yUPqN8nlJZM>}61h-S9O za2nLT!*t$Vjy@x>u~hQp=gxhK)1e^L5H!Z;Va+hDzw|S7@a&j9eeUUUI(?Y3)cx1B zuI68UwITU0zi&2O)13re{3SQnCnMulD4j%TYpcSY=fyZ1HT$&S2%*R0@87Cu&jW7u zvqC-0%qK~t7=^{f4FkGJ$n30PbR9LHY?h%&1++*9b1}MH$eA1THQ9e+A|q2(C!oM_ z+08$aO9Bs9``a5_FjBptpYS+dLj;~Zf6gE-P7C^oJzbR*-mO3Gg{xowoOUB;mn*C% znnCew)#KBl3KiZz#6!T5Xf4gYWX+piY{SXkcAVASHKs=ud3NW%hwu7VjrH-GAn5vLpv*u(|wA}kp2%!#b6tR!%GST$(J4doLOGeS?vIvWo{FG=t)KyMNw z5)u+0K78Q9%q_PX3q;PglOAP%0X4@x(#RUvV3OpXc_~nvo_rD>UC`yi`ax^(H%r)@vt>t3h_aKR2< zv2aB~e0;}=?z3kEP{!ZOFv1zhy zx_$wc83MXbw~VF0G1KGcgE)M!P#^njw*X0bk|Yjl9LH+3(i2n<&$c^sYs56d6zFyb zd;BT+bd}+FwaX^~Yg)NrO3%Amw4>3dOF$!>ro5Fu|Fcm0gH#y zB;L{W^+I{3XaSbzyVu@h;++F}=aR)0mwI-gftrR^tA8hjg(xB-0*e|$(96in z=ir>BN-S(Sv#E@l9{28oZ*qk>@ox~~=r@$a8r^ndOpQ4Fhp5XJK&%+!YgY`(o{E8MFJhgatKhJ>M33=^I^nsKUnIfklM8)hfA7 zNJ7#CCERv*`6-+>m;e&UKX^cdsx5et$+@}2j*gCOEO{I(LR2iNeSTl@nJxv$bZ8Iv z^<75&3-7RkvAhL^l^M@zeX)8@7VKLT$%bE;hpj}rY>~(6uy@Zk&d*8aP>Qb7)k#9q;MI*g_*nfNCb<}1z<9^SM^>jT|Bi{U@9CX=lmYB+m z$NW)OVbKov&fd~|1L19*#QeSW+>QWWRR&L04mpiYvewEf-$S)FbtlU$otLKSq=?<) zwH{V1Pc|ziEeQyceSCdUd4M+-_x;>TjxUr`R^>qG=9r!(#8&m=VZc|N;i{M)VQuy!~4=TDhZi=j*F>+4`TgMs7+Tm?p5XD12R9FX*z9$;#) z>2HZ%zvV5a!d;1vJUDs#j{M>M2Zp1a*3;NR@8 zgOly<-SH3}_al4gI~l+jNkYzqKtlQGBBxh!GzyGK=_uj2*0K5s>$mO1zlb4O&@Yy z2gs%g(_|nmKgspntWUR3B}#lX+UfBT6}Ppu+Wb!TNE-h!Z#j?ovb>u8M=CSXkWL0G zmaalpNHpJ!>qXn%3B}`-ASG%MU|;x4gI8BoZrOcjC#IvC(CBWrn)KOt_Q*DLwZ!;JLa|-Aq6x7SP`z)9K)wZQ-8r|C4m zU!YS%PD?v(8YGW{`AqzYAJTY;A6_NMXx?kOe%q3f@oLakJ7?`=jIPJmf$3mZWf5RF za&>Ee{5Pij-ZEVJTDt6YU#1*KWNhs9J4d-+%OVl`GqQ#YB2$iuG0huq9g3TZopSJ7 z+48~-j$<_y+Vgnd_p;L>_(jh~O{tYFLrI#J(iNv4WL$C+*UdoAGLvgr-?$2OaX9fB zh1%Lp6AK80+DI=Kw5xFcyQXZ+Km3Gp_R^=Z14<&r0L7sS5SMXcLnA3+)Iwg>)uNfJ zlaoCxmm3+R{U*B-M6?rbv%#5h@Wu_F{L3_+bxmZh-7=G96RcdYEfhV~V?eHfU4P?B zL|J)xGjwlA2+#`pkQ5&*WhJR6e)jv&u;nhfb;w3)^SzT=CK0-4p>8dzg({J5_G`0Sr|7A{MRt$}cMNkH=m-$I)*!QGW37^Uq^O z78U}46sG=R*rk@ue*9&## z)`JFI)B_-fKJD;@FjS|$p?I_$7U?;Lfsv}YG)mGIaNqZdNC=O{nJS@&9Qjf|CFENjp-NDpCK8D zdxWyVZg4WW(IC&x8p?IQ*`Jl9HkR=>EN_;l-;HcbD78^yrLKzeIu<^u+*BBI zZXIS!BZ>7d5~t>pUK)9JG+>Mv$Qf9XQg=5`PV#5GQ_F1Cx8k6FC2g}z6~r`(ke~7y zk54vF@@`*x;{E7=#OE6i1#Mr7sR+5u>#I0Ve&9dViN?MET>2fGTC4dT3L+IS_i{YY zAk~4Don0EXqX~i1xG)16xmYGU{30vJWV~5mlF+)5lJiwqsP>4VqwI-C*;wc^wGXD2 z|c3~n1O7GV`1=qV%otAv`b((YAlb+RLsbalHVi6b9EaW`8T-s`zyur zGTHZY3-_VDzH|vKGRtP&8jqK2IZGaY4e>3nvfI;y%|GLpRoWWqx^AVQl$R1do*B9S zEJYcELei7>OAQs$paX|VKe=vI2kE@DiKZ#>|CRB&p3)8t4qB9!l|6NFDN-BSJai)% zCeAL4d@252zcEKfT@gQIVu3<2JX=0}LG>H%o11$tk~rHd@gXQ_h<&owDt+-Zb!fz$P<_FY(4FV+8!n#l?k6c{F4>J=$#q?xgp-llAR-Cl3$tnRhF$wcuEzXC`1UEG#UDvf@z2 zk{h@})!SVn1Ox;aU|XyV6s%B(RTNn$$dqSJ=(@N0$px0lo(1bmSg!Dux)VFpnoe&5 zkwWB)mHyI%MQay_ffZNvEUV-PiIMKhwddN}9UWKh+`UU>)X<;*Ql#4BG%hC!U6<(> zGoXbvyI^lQ5>@&yRq>V&QXOZP!MYnPF=av*G-Ng4P}QtV%>{i{Fs;}P0qb!e)vrIn zZhs#penbFWTMIl+Z1fvof7I1|jM_im6Yf!*+KNr}7XWSwpA}FaOE-tRev{4$> zAh-A@!g$yA6_an=ZQSMebjQ{3rBGhqD}GsDTzt=o!0UzI_rQC~-$viGNkR329={Jf z?a7mZ(vpz^)&gEJRw36Nmg?&2Pv${^f%H+oc=wV*IFX%p;<>GQ zPivR7EI{Yu3syH4Huitmz{Or{gXZ9Ra3>0_C&Wu%_sM0@m3qX5zunv4c@`kUc;$uk zV})6;)ZYE)&161qoUHebJ-X5Ujk{m8t9h{etlY-$aRSrm=r-O!c7ZDCJ1hba^Fx#_ zUP4p`*t}=jPrqK3TLi9;rt_!$3vwQ@GiH zDxkGtK7h=cb--La*lZ-j#E9Y4l`}JAQwu97-~`_R2MiF@Kxzr4@z&;$hjbgBo)j81 zS}=Wmv$B|h|HFw;@Bu$z61?#62N}USJ2lcP=l|v&V!VSN0_h`EK3jN(^z`&EvjK=P z(<~6Lf_C%7Gaa8*cNXR;#j03m`z;^r&Hck$Dc}S&KvDU=>8ZG-!s$*KGjseGj5}+& zTzv(6IHGIUv9hfYkKIZx|Z|zJ^5< zH2k*T{6CjrYwMD34wW(}+_B>iAia(RHujg8JVBocIzsq!DIh&gY|#~Re=t8#tp?7F zWQsDp?zHOac-vW}1mPw@UHiAX?z>n1PgV>Y1P>JiKaQ5!cb5Avfcjk=`z`=zXrXB@ zqq@5K|k_1C z1{~u5q}Rd0Kf(Bn2oHY;D-9Cjm$Lp)ijY@xZPDO2+_2<={hoc7@F2j~HUIt^}eOOovQ0ZG+Ep&}- zZA9#v`RcDx|9isY_$~#JEZ^x%ZS6v!^fBt<_{`NU_`%PFJ*+uH8Pqf_95J1#Z50~- z%D~o7D3t4U@qWqHPV_y3LWYebB?>aJ!;d!f2N;UUA0nBqUh-kRMRGMS>9Ue(Z0~m@ zS_!&40%x4egVIUr$=kPy%rDrVta4${pQhQi#)+i<-CnZ0T+z7@Y{DoNc@xEMY-gJ9 zCCSRm8$i?E5wC5HQ<)j9Z8_`e$hk>~i}ljFF<#TRdQQ>8Mkt5wMG(=w?A^;f5c<0-)n8hGEL7PqVZliO`yMc4d@@?p=y_IbNC?5O&!0c)qm{PUEn#%>Ahf_b z=R%!yhzGykAQq>CRseMyU<+QPqa%Z49}^oz#G0b@S@Y8wa_AumZZQ`%A22RSfuEN zlB`F{NwD#VB_W|gJ0YNRUqRJBn2ma}d9Y=0g<~k1T{Amm2CPUG9i99)5*-PM$TjdM zAv^_Nwh4`qEJyg~F@ZFw2RZ^ETbsSr=cplrE@rfH0v{7?xc?~d5-r((9WI!Qr~_mE zlW7*@-p?wmXu!wJPCbYDj%-}&Z}5@#*2gXYoN&Bni6+WW7!4f>zC1}B+ROPhbk7&5 zZhw4>GoO{gpCkdGxTKaq#*qOFFD&Tr-ra+J1Sq*8{pUz5)x8) zggk-{PX>l1ic3m*Yu-8m7WTAhD6MH=Am)DQkYxp!=HT?VwzoGzmlnHLzUtV&3yjOy zcPDw+i_y9Zg0{iFT$2*vSwL?ttH2x=~m9Jp22a8!+T3*-T!4L&}fsl6( zQaseahsFf(n)}b5JuAy|-C^{taevBHSzOEw&;TAB;~KBQR)nIN6L+?{hCl%O%0f+B zn;5!lv?+xzz`IZWJ~Xr$nu1Tqnga<}I+1Uqq8~@a7wDjURao$n`)s$WMpJ;gdJDk!?tgLHW4;ouGD^CUy;p} z)agY%ccHpygowu?I979Qd!dPDtGd#lth>PYaLVkXZdo_kt+3vzPC}h`GCE_wz6Q-` zsl}dt1KbPN)J*AD5!~e{LKvGv!;4VTk*|3$D6rI*wKZa0I|a55+Dj*jyTjSpZR4dF z2|R)~xL>bdvpTMi{u1Q4sfdQ=uakZtE`#rR-N#@Tb_*`=IFzRST-e^)SyDqm8gz^Y zDp{IDp1%yEO0WM}l)}w^^7~au+_8^jOlv100LJWXl%=Ukv_-df&%#LkP)C$ zEHlu?!)sO{l;Jb`!xBs_bScU0A0edGJq5ZFc(xh47XxI1#Y~loCFv!Btk`NKlTbg_ z|L;5l%tFY(x`z$N1%LPCbOVvMx92@MIoX7XBk2@nuA}Wkw^l=Lyjz*aiug;ZYjTk{ zkxQ2^1ACxVM$j}JnIi(WT;y|YuB-oyiEoC@Pzv0MJmI(Xp~|jJz-rTzU#SFy4Ox4-joekm&FO{NBuPn&L zxF4R(lF_E}fc0YV17~G!V*0yWUXe4m8IXH{VnVNVSfY*?%kv{uZr*=nEL0_;DO68K zY~OrzK{1?l{Le2YLbt_@2B{GC@E0ukC00NVp+gjjojGK>KX!fdp}E|ah=&JGf#xI6#(tB+V5KQqe#-FNZ#W*CA07EhF#sb&+2Sepc8OoB z%*+>jjU4)BP`sZ+UATccgFmnYda|Fg17F1e$iv^ie_;|64}h9R0XW$?(6$obEl^WF zzKAb_ghY~U+@JuJ*5V5EHmYmF<=fW)jX)!CXkOs^!WUF+h6)65v|;{`r*fZC1jvBl-7<6k&eg`ICR~_q zXu6)^KtO;HyaQ?i`gBT~L4FgFehb4F?ptzV%1<8?Y(lG{Z)q7)S0@P*5z_SJb?_HK zJv;A@IWb%cfKVO}M$byk`U4f;%IHoM8$DFWP=%-uMU$adR=dB5p@+s3z^(-aT>v=> z#&;+nX~|!{5I}CnwjTx#HlqFVC0dTq2{xE&xDO37xTz5zKjJ~x4L>>4YWOeu&3co@ zo;b{&LNtQr>(EoQ+axTNJ}IT$!NL)VE9X~uVGu*b?rN_#NlxX>ll$Y7SsS&!w5>&m zyTrG>sJb7P*MBpuMjUorN+w|WTHAa9k!_DrX(cE_zTRy z3zPQo3nqM`QB4gm`o#pi9hdADL8;JdA8bb2DgxZe zu=fI_pWZ*=?&7+epcU7sy*WQFL>ED3nb`!8^}C>l(KDj2f8PXK;$%VM{60#l4ICUE zrr041U7vVgU*fkKg{%}s(>OSc=LO+-^_QgovghLdv%Nj&m$p}8I(HxN2WD#a$E87wQaSd@DAqIblgKi;nTZvohv7@A6b38K(emDv1p@%S z!sgAJhP9E3i?p<)Ui7FmL(nw_)tHa(N({$KF9?g!0&OVMD+eQ?HveW7PhfP2s(v~_S3YY?*R<&HItH$e=Kgy)Ml}uOY==bcQzm_tRT}|U7Z3N_jFrorwwF0Pjvy}p?fH9 z3w+C^0H0q;?Me5_9DF{bFl_?Va*@dllW+ZRzj4+a670uwZ-c*UiJ7aGXp<}7Cs#@i*-+_<>nih7y4?DL~PMeh|qNEhx$ebmZt z-=^S*C@d?J)zG-I*8S@jA?zM7R^A5%8N3R>!N=!`g8whhIW?-8K)C4v%>v>`8fY_E z(=dM1AtJ`jUHszjh23s3QBlz1UJ!|Ux6ClWa(Y#Sd~!K=0_+MBZfFeA-Uje`<>$|R zBVFIVodNcTO|Kq&Cvpl3)YG9C6r@D;IFOkkFlc+Dw!N*b0h-BVz;eQnlQfm}&wp!u z>E}w83ct}|>njyC+Yw>A^&ZXMt@FW@REv5deux7N93IAPgLbe?xZIBr`}ug-?K420 zpoRjBnihiWuox~?%sB#7mkY2hkfG?!gRq^i9vH*+{)d7G7I-ef#*^NU}Z@bvTV81a=1G@_dFQAksw+}%O zn~*QU>qU69ES@9?`+{Cf1^XTT6UZ<p%`O2cU8sRx~Wes-k~o zJ<4KWRJ;T;=qT9=Eg+dFaz+hXr)cCICboKfIV>2SeYTOaxNvTJ_%=~4l*P7oBBoM&3h1R9~>Q}rlGC{X!0=?w->aT?NbpIk3|VmLImJ6CT(6?0)+)lmH6 zaz=qF>#_L--W}R*TG5MbtVEG!`!vtZg%ZM3uowXlWi=`Y zliTQI+HhJOh0Uz~RsP4Ou!r@m8Qz8ET%pbSkm?_FYxVByzLqA{em0ML32#6 z6x7P;r?3gco*tsMJNUBnJUo}-!U3R!dEp!5!FmK!3vD@2a<0;b;RSR|Xaobuotrq_ zIuU;_M-OH zgVKp3KjPvR8xQ;KJ3!SU@H}WMiV`}439F0My!U|D9_t8;IZD4HB!rqY9Zt(5xQz`B z>Z^}Ma^NX~$5*>wGyA+WM)ExpTt%%}BnzL_hXq&(Uis*C9>{2azvN@(1@) zMvMl4Tx_V;e%+$0CI(Rv+f02|Nsc-jEXOQv(w+7IvC!4E<{cM{1)e*19yO(8d}}Cm zhf0*moxi+KLc0Qr zzYHPfX}G5Ah6y+#OiZH%;aet(Tq`IjPce=R4}%FTH5bbU2Yz0jW!^+=;Q#Z65as9# zNW$g3TafnC2-{17#dFVcm={HGYR^wOF@RV`CqL*3ycD;tU%coE16rmpYhjx0)vH%1 z6R2Hj;~5+C14eFO8k9p+RCLGb-O4nErs!F|VjjT_#tkM&#=vX4PSq3YC;S`Zo#z&x z`;#ZBgI$EDEsptv?B}I@NGqx6PscZZ5)_VHkEoA?%L`XbMAVkME{^@Uy`WI@vb^xP zW&PR+p|MDTMa^rRDE9={+M%v^VeU3Zuc4U)P{1cAZXsQqFC|X@8OmpA(CO~pomg&( zYff;lsTvzpDNs{Y{j`-D7N>f#NWx^LU|izyo&o2jKc&ve9uhrAMaafloCoLf^oJW& z7R2e@l<@}8K?^vA+Sqkc-68*_^5IpNUbxqr|9ZKJ3VRf8x;OG!RsOnYpw02spHKPNbm1Lz7~Fjws{OpQ@;8xjE1i1PH& zbyW_(0G=+=tH(m)EZ{PmA>{}VcRxbG)K7foSI-=crR@J`Fm@OKIV7dU~x$ENoZ8EMDwMQi7?rbc$7KA!^@w$(V z@WaDPu2PZw`Z}L}h_u4V3%+y^IO(QWSidRBzsUZ%B6aUSq~Ldv=Ufy2MFk%TQ}2}< zKmG?c^3UexY1HR~+$Id}oj}_xI8~bf5?0aBz=Kx$$_I^WAGB%iTncLH_qy1N$pyG8 zcyZu+ADWH4lx4gKumt6LG4xsujYy;UY1fCJ>woR4_f~>aQxYeyeek?Qq&z!8vv%$h zICHkl3YC*xBexD(+QL^&L^wD&li(KlYjdQy|6X=zaGd^L!`G|va z6Ic8`3^1Gvt4>BCG=xN0UN}k0Qj!`phdA`~6i+82{s|1If7dviw~JI2c|s_zcwe67;n9-m@8tqS8CEqKaG>2A8#}v-iVCI|J(p<@z4ubo zhYvmwnILs==Mkv!&D~w!gan%Zkb;0l04a!pfd+YS{I<5XN@{CU@c4$VnG$!f?CRw;->$%x*o4j4$=_(VoJ;G3B#Ac1KCDRl$f}nJ;=B)tScM<~5 zjwi5i;J%=j-`H_3F+ux?P>Q<=qR>5bjE(S7@JXrlQu9{UFlz4t@fBLeka0vyQm^>; zN~~#X8po+Q%c*(XDp<6euAe*$>Cc8w{y4ufx+R}EmikqA2-@=z7lJQ z?~EQ-*wkzC=0#WzB*|UTUXN$sxEuH z`x4K&D1Sn14`xM!xMkOe=;&Q3uZ?dDv{Tk#+L&82LF_HV$-$vCNnPCKJ+XmEq)H`+ zB=E8m;EM=-ik4k7$mkeZx)dFiXRW&|puD^G@GaTwY1Ml7d~yjRjiy46%|gX6p^%1C)x zt4dEr1HITkJmOtZ5xr)4J$#{4m=vZ^{0&36A%b<=YP!}XL^i-@ScSiz$V1$`caXM$ z1XYE4-p93j^M;(%e_2F{dAw>Gb_F_2g98N&l8kEz{qg9*q9Q+|lGAQXe${lVc*Ijy8OZIg=`UYq{=<<~!-_j4)OPQAHxS!L0g;rFQZ zntXexkZ~2udhq1f$ji&ao<2!L;PNh%+UKa=lp1vy zczFO`%|!y7%|U}O!UWx9=HcR^qKK8rHgOT{j>o0Cr#r1Mo8~+=9ct@II#EO#ixzXb+z`Yic?T8G4WY%IYltJRoZ$v{YVNRjPbo^ zrgWK2bBrziX*?d+@^5);<|%tTrNfcMojL+nwe;Bu;nKV7t`A z-UhV6md}#O;?T4#cTOv!%q^#Hs&<8RQ_}XGd>EzYXY21IS&6P}aB&e>QOa6c7fx%) z!m;Yo*cL;ZlrIwKd0&<8Kl{Mveve0Kt$tFSmbh!fDPd+LYX)B*XW{~*#mZUm#EQ)~ zVm{L_q;be0)IV5y)y9Wx>~vRv`I#TJ^@|T-y>=s9_GUbc_pc3St6ntS!XOI&NOk{j zIL7D?$`|_?`U}U`%lQSqwb0TSV-W2hYmAIk7Rb6@dr)T8q1wl#vt^KaF%LKSdDxU# z4faY}J#Co>)rS1{)B1ZY)H9YpozU{7BrUi%hS#(C^ifSVQJ-e8O z==2M*eTm6rp6%2VldZ8|a%TBADLm)NzTdJf^327btl9bcm$MF9R;kw?Izx?XD^%y_ zkpB7T*R&2gIu7h>wKHQD=~uE0HfNP)Lsn(ZJe2Zi)p~np<#(5fah9L55cw?d@PC)x z&w^`|vvuOX9CBGL)NE>2ZT)#lV>&n`e`=o}lMRxgkj7IUjo`tDT2BAXppAdsOkBhk=Ag7eF2Uf~%dGX!3g?o*d%_ko_ zsf<_O&V-rwvi$JO*5t5xK~rAEc;MciPu?0e@7Av13g|#}OyB6O)#Gf|Fx)L=vhSl3hkA!tOhQ6O% z%lRv*;;GQ%y%+b0cXcz(F=ImG+~MuhN5_gZZ~T7^T%_6k_H65bUPfdTJJKZfNOar33kHs@bolNIWG43=y`TM!080QU7ALG()wTu0O}; zU!jof1TrT&qlkUw(Q=NZNIjHZ0{=$rOr?(UurD>F&G%xDXhL__$gKWOIoIOn)Es5c zTV$Pv{^c%^*mXLl3urMMd1CylR8yB115Ya9P+4r_ULe(e%bV~ELXqDz36U9&4BWMz z$16^8>-B^Wh~!qpE0ZPh$-P5q2=qfP{q!SDV4)ldS^dp%P=Y14UY^Z#buTqf_;QGd zs&Y*Srv=PsOt$xNt&9^@*4#IDm$91(Vs7g#?;G3bb^;$E6nj;$4g;gMJ0v1ws8wOR zzUz|AfM;kvxuZrIBW0kl4&nnZqMo$yK>|*o=%B66#`%`z;I#mdFfUTJMIbVG6vrEI z{2Xp{$^SNgV|Dxo&A^km;L@87A0wZ>F2Ce=`@%%Yr5~ouh$S}`hhqbok-W%$pRN~= z`^Bo|?uDpFgH8zD@r_I~AM9fNSh;T!4H99Q++us0p9-TFI{bdcAvDKQ4=G!1P7QHO z3{Ru4-L|-O=VO;a^DzX9Hj#!#i98+b%px0sp(R)7Xv5|{3)fd;VONln&ZO9$R9vWPAOZAyWB}G|!ufzR%`P><-~3 z4RSqMmCfG|Ia6SSX(7ppHcsm&kt=jCFp>4F)HGsK#6<_;%xAyu6)1^e{kQ*i2nKUd z@UF@D=*9!u=`*R{$ExRNQhs^aQ+wAgy-knqOdN<%U0>POOGuNBs2B__Iegj5vr5e{JgLFxY z$0nZd#EMVA94kKNStwH-tGK}J5Ox_ga{;*wetpOLB%^^2o~2*%r%N*H4>EbkT!vT= zjy}8McwH29G#m`2yUG;js>f8cGbWe5F>l@Dj@Ye`FCH`N@TKZ^B$>tIiMEmJRd~9+ z7v$BjINDi4uT6k)2Jx@k=KXOE`neXCO#wqfl(V}j;?%_<7-YN)1HmOtKBQ9lOeOy5SRW{(O;QT+~()_20{vcH>dr*T6U@byuKIg zOUA1Fwz7t(@FAf=$aqM_pB~S%^reqNLwB`mOovzf+M|7QRTwB}=%m&+Nz=*9Gzbg57NyCsa*OHgRwLczMk=J!Mc6Bp@uRkt^%QYpsPmX)(*^Jg^@FP(%{Qa-~f zfXT|}$D59#2x+^X-Yb5YE1wdqyWwW2iqxqO)$W78BZ5Nnx!N9<6xqsq_Z7;&msNX7 zx&KE8qb~8`1!V`TA3Mj*P8Da)@B5tn2i2d}-<1%&Zj!*we^!zAec5JXV_c5+g={V#2a^o$| zdDL>&HfAJ!!?qiOWe2jhWs#U;>6e3RjtKLg5tfmJq$6qf*iLq z-wt_)XIITk&}1Ad4|{i}Vyfh7dL1YezPk46omXYw=SMmQGjH=oYD|abJyQ+o%?&Y; zKxX_1t?_`|)N!gQE3)voj92|D7Y!+#BLvj%&*71L77y0n3(42f?)b+uQZ#j#>(O4a z`pMw>R~_C`JPeEpN0VgHPLJk@<@Lm#1wFw)uT}Ldl`uW_!(_r(k;B7Knk)e!HHu^| zPVATjk?YKlSbVeD1`G4>I5~Af;*R)lB8_q?S8yf1t@C!o@pIdHr&g0c5$7TUWDf>c z*F@^AW->V1R?Lh+6QiotV>d^4cZI|J(LmAH66_XZLrGk{-42b2Do@D<=R=$0s3?oF zGmVBO(x*DQD(<=TX|_*QDn!=r+)%{)ixL>XeBJ3N$a zW>egqQkxX^GX3dClju;+lE*Z$Y`YPW0?&A#JXgG8gnRvCjV=e=Pm24Q8TXvvseya) z6$u*At0cYTi8(oS)h8*0T?P7O4=Am_zC2JSi^N?Rvep;#eYY7Xn2_Slp2A;vT+c)H(yyj0uk!R-ftHj7f^6KP6i03f)Dv2n zEj9EN+-YoH<71(U^dBjR^^I(}Q@!WEf{DTBuvWQSFZ=fxn@p%UO7w@q)1rS%CWWt- zR3Bc;g`10wj50Dd%8iZm_be;)cUmL(9qEpk3({YvKf5W|czHTJ+TrCB$sN-nVnRNC zOc|`Z#iG&G#nH!E`s2lW9~f>Sj@#kC7dpQu61aSj#iOiMqqsFCS~?nY)==(0v|XxI z?oGX4G1(^>ok#E6ynRpPcPnAU=Zx8T3%vH!6c1{*tQqL%pKLn{r| zhi)4?8bWI`@~V8M8zHyjCs^dudY#{1H`-IE-5Bik<=(yLi4)f#?nc%6KBoI_u8&sl z{@XIKb9G$7TGMV%g5Y)HKmN#R=7P9`Dao5tvC-e7AL!TPe~{LS7+jZ|FI80LpvfZ5 ztLJO+@NN$s@|?Lqm9pNwf7+VM8L=jig>~k-_a^;qQ~a#@6AGROX12>cH{yj-FPVIJ zsy{p_Je!GgyxRWxrHH=8ci!Mm^ZNK=whxB(w51+A^I`pz#~nH>aiJ=l$RB!xm}kk> zqiX$|<#JrJHMfJ^tA?-J8=Gc7Y$^%U_6#tm}P4Ve%q4J+9kS=BimL=u zgGj2Lr4abjWJQrwl&nw}1-(ryX-d>o|0oo)`YPn5XrWQ#68}}6(hjZFq9AFNw}Hbk zr!;U47r*vsXtp(CTX-B<5WO!Na-^2k*}=6A`pX#Ul<^{Y0i&EBmjLa@46!KSTk9)G1eZugL;E=w1&60VIPTNR*jHt>J&%bUOJdza z2|wdS*4XLZ;5s8FW4wsyHBfVETVbAEin308G2}M4tJM4sGS3VK8N6^p21{ z%d=r^w>nm}SCk*)-V=~+IW%O^zNdZmSDpB!fYX(YxT32}Z-y~3DwKxaf61IC%VB6<(Pr)Xt+LH;9ch$GcZTr8*brK`50+(%@?ul$x1WmLsW#vg`Gaq&`mYA394eo!ON>S6CHet@M|1*8$J?un5 zqHxatzWFlu9LDIq*UI+vX{jUEZEnxo<{YebbI9m>;EC(L^duQEgX}#2yWtJ1s#mw+ zC>|f?uRcH2Ff_@W)I^+gp*y!cJR#{!a9%rga6UE`Cu zg<40=OtqNPOSN^}>74T;rCAkVejMkck|uY{tsp<2G|7GM`Ltd<-vwV^UqWQ0$N(Sg z@PQKPfj>S#OhQD{F7W4CSHa@GMx_t8Qr1u}X>p6z&uwxsL`CpbF_sqNO@Zs7G?oZ^ zyzDS-@nfR#>HfC;<71cI=sxq0QnG((Qwv|{oO4O9=6-PbEcuJkeaDUP0&dXgZ>B9% zzn^=)YHc5*rqur>hFuS7B>rXGZDjOAubcTZSzgx#QBN)&(y!626zr@+xuON1jFVMr z@}yVpON<2)#o!>{11_5Mx1C5YT+Crz42J7nG}VZH;|Jj06Z=7n)4g`Fw*C8vTKZ?g zU+I2!tBYKqWOD5}t-ik^dLiOCS18ei2{>yqd9-O=sYqhi@`9WexpPggF zDr|g>TJp@y>$Pdx|TJAFso%2>=z5j^KOfpa;&^qo-VTq84{^^=+(`L=o)1H*c_GLyK z#&sNg=dDogc)|3m$QbvHoc&#vJd>k_gVXqoO7o)^C$ENhXXCWJ|JI8A@m~D)l%&Le z!&j?+Q}*e-Dn{f4^DOCH6gMt^a;Zc@?B;3KY@_jNWj>`4mB^I&yvQj@ACJnv`%yfD zcLqBpJ_Y_Wi>yQI4|&T;voBaW}c!C2mCRcXeTsc_1NF{@O|3 z??YYpwlZDl?!?o<30zdT=veX|ODC2wzuLurPpvmIpr7dp zhO*zup2KA&{&m?1%xVQ%ouLPblg7Sb2dgAb1}f6G^6yakxrJRT;Csq&doVX&PFD z8j*1OJr*Iz>FjJK!aX{5ARuAJ;yWhjbi zGTpNtRl-T*aDI8?_7%RL*oCr=-5vduNfW`-I~cTL?zkK`)FL(y&qdZA26LJ=#}_}i z6Mt+=EwqPxxpDg{e{+J)-(hK;6Wg^SK|7gSquIA>@CwfS#BAC$1%DJ?G$Af%D6u=g zLN=9|x#a&*G*8CC(26YCmaVpy_pzdX*4@Al?)oO-&xaJ2{})wf6%b{(eSJg}K~hRu z29@rH0TdWOLb^+&yJJLnMS5uI#-XIUyOHj0q`Q^;znt@(i|=l3XXdHB_gcTjk0*1m zc%S-Q3g@p)tD^C}89FaSsIFi$U`b^mWTYK^WtYWc4WeC#^R;G=TrPzlAS8+j{Y~3a z7MGad(*0R6{oSM0sCH1m^nhF&Te6)ld4B~5t*E-JBvTBrTAUO@SB_>A8rXD^8m8d| zGK}>vxkSuJNT|Z4+=cTk+aZ<4b+ki{S<_|5p4wG;P0W}Y2eLca#_dn{^AZvr-fCs` zBW4Q&#cj;EeBA!{QI`Sd+;@^BaMves1=g#t%M)HXvF>5|Y2A7PdD3&+#j2r68ripz zVQI#_4Fgz8`r0EKYGs2}G5^~76BIV?3N0BmgF?0yD($)CpInKs&$iQ-?<`pv(L{H= zz>iKRZcp32T#g@SPEL*t|JkH^V|u7wAY;>Z7ILHieAA>Tg1Zd(ZCizwzjJWTq>`?8 z;Jriagu0$yfIw8MtU(o+&ZuTQTHk*Qw;gjyuWNd|pK?JN`>sFK-<}cEQ+TCotZcVb zC?bf!$#QMU0_%E&_>4jJ`=IiJY(=Rfk?ZVF$mS|(}*4+T4HCWo%Pc@xXZZ#BuB>^f^P*+w`zTC%_3 zR%$xIsPhb9U)atGem(=~{K!vj!=@jf+M`wR-5k+Y<9^O}5amd363ko9E?XZAXo(o_ z5F*-WwQ`1JW-#3*L+UM$6tO=tUJF$*%LtoP)f_4q$B=|EivJiO_5+(kYp)SkR%M1m z>X9By%_I}~Y=+ZiM|MggcC%sXvue@3{nk*@UyK0mOcwsDXo9|aHmc7oFIEY14T5VL zk@h-5J0qSLbFq2>B(-9FP{TK5Gi{P3Jzi#&H^^C!fSa^JmtPoeYh^c7i*^ZY*k&dq zD-&Ie+>!(^$2LS*_<4l=SVT3PW(*a7yj)nX3DW=20` z{R^N1HRNvZ*gZYZvcaH!;lLN%IE>aC(<5fyp9s?mbKC6nHG}-@tlv3#3|~CFgmi@{ zN^gG|SJC;FKUJgY9^*>orgzV;Dlpg)dRt6XuTwtU;Xq}u$o+nWdM?`0N8f`kb0Jg1%kp}2_w2*3Q#D$N*g;7Qeeokm=Ye6JR z$DqPVYAf-K|6N?QE8i^b^fWLXZ)xOMirR-1v_m~UYKL<5G2$jQWk`4@hw7Qfrv{?( zrA7peC*plA40BIa3-02E)-9(^mz5Job>p@cSkV656Aw+e}Iql>=cA|7h{D zf_Xlwx+dLlvLS$Q?e`P?pHl5qO! z#m)+i)L!l0DdacO*!@_I?zJL?dcy93AL^^`u8Gt`A>lmgJw-p8^a)HNGhAf(0@KLSL;%P3UEq@h?{^;LdCNQ%T%NfMK63${WQzf=(maNi@_BKO3mtPU9z@Ps+eyC0pqK=JOqAIB0p=W zTvBp-F8uta*z-lnXA5>g8>5tshM@W+;d}3}yo-?bJnHpAVEf%}4L7&^$ABE+rvrsZ zxTByXTfrlWv#Hq5&t!MIrEmU*TbZp?3vdLhA^avcrjbcVY{+BaLN8XO*7pp{1bn=w^jIob0 zMoUG708F9*{NSe>=T`BNvP$eU!jFl(QTDji$_zbCdom|VK2rU#tlFyl{^vOP!w6D# z!?=7yeR8zV24%g6O3`sddq_|dDS>f(qq(t zX=h4RK7mB*^_MWDy^X#o*IYFF9CURejjp0INvcp1Z`kXTe`eWX%Ds{hSOHi!i%v1U zztO{fPD|pRD6xk8*SH@*{N>NxtP%LtQVfJfYDMd>O1Y-XhVQ z0!&d6kfU~Xj<(GsaUQ3o<{@}jY4%KHQ3bIN49s9m9VEoz=n0y@&^g^)GXB+IaZ|^I z#eUdUY$qEpS-X8}rEv3)tH1dawzoLvn^YVhbYEjiJS*f=volC?JREg6=jw%B?>;EO z{I_%cSCLh_xI$CFL=xlixX-EmHBWiOo~>Wf!PzLK8lvXd8YC(GM=h`G`1{S@>m}fR zkuB8yvn!6WE^C3MRr%D_&;hPj?L$btOsUd3 zWnvrFf#d1$B&D-!h;bZ51>Kd*NEryrC-PP2rVixqN8YuOA99a^y%aIEiN9|N(Jmu*pJ2x^J6`Vg=h0n8)vR$_m zoxrB&IMvB&(~#+MtBN{OBm%Wr$lpZG=Xh{%#eMltal}qgx=6%#8qx=1>Nl8<*PujkkC7+FaU!m7`Ut?-G>eBd-W~AW41^CCkzBrsOP@TWc zm}y&5otil#k(H4-183Whb4jEvpHx(&ZtX3he#P#s1>Te2xof{U@ zK4+>79xn+d(gJQnI}v+VrfFj^^5WZRSQ_(rV90ZNv8{nN$9=D~&70qC9NSJ6W6k|1 zk5BR5M5dGLVNoGC?aI5DiQ)viK18%lQkr} zolPb*)7%}u&|M=`Gc{b|JQ4$I^a`;-y?71YfX{rue!2cI_Ph7#Gd{DS7UsH}8<=M! zcV-uNtHMCWEy&5Bw96meuBQ6ow-UWdRxraiEwD*bW+X+_L9zwya}8i`b`~Ps0&C}( z#th$FApB-ARX#mb=ttjsL3);NpT;Rc$s5Y{;xkT9L+&Rx&pJDn$I{1b(Ts|Gm)_0? zh@#1Btfn=889}c(U5ip0Gt^62*duGWq7G6Al;1j6CoZFed)cO~byBUXSDskZaB^`` zgLXMWhz)BT2pDNOGk$2aWfoX(CGi^RNTCDVt&^IsU%WRmq9r5$S2h6}HvW#44?#wW zT2AvdXh0FACs+o5ePqs45aYPp-xdo;m1!6!hf0Y1s{U>xp2>(IWNLtwJll?>S#KCJ zc}8~aS-;OD_T4?$s{Fc&VA9&(IPrj7CY2yuXiz6w%b^U$U^abcc4O4XDKW#W{2d55 z3rfbJ`u;mLt}vYb4Q``>e!^n)-oJz_exvq#6X{6O@78bW&HSf>A)3a6#nQiIq6Gs} zhYCCkA-9}=5(0X(UGBj`Hulr!BRkFLVn4hERY~C_Z4}y`sugwZpDn}=j6~|S_%G* zOv=M0t>HzUGR4w(v*A4QyF?s@U8UKVOKsNuX4nZ|q>1%>xCBdzx!NE8V{jhjk3A^H zPPksA=#xk;NQiavq$Il%Md7ayBE==k-=Fy?e z%27@t)YR2i?+k*|(a~gYlrODsYia#r$n7Jz3?}R)v z-8Xs@UQ8KQrdO0f3Nfns73Vi`8X?N1W?$9V-!=*#%)@fvB`1;WWnDXLD3MZXCZv%v zT?^A7_FK?iKPk`cHI`zMeoeUv?zbm1Bs67bP1kK|)$Ntlf~*q2kdCw7;#bBs>)x*L zo`h(dx5H(mWwPz*GyhU9h4uedOLxvP|7bC%790#2nqp`nV;Qc$omjk$=PT}ua2{!p z14u$8YYz$54w0J!gVbl2>Z*$-`@Q~I&U&`jz+i;7UsjBB4pU=+CIh;>uJa`g6ED^4=lLnKJ z(kW!dTE1x*u$)e&w=1Fy%O~BO3e#qE>2lvmb5=6Wy0ZpujduniW-W*-HntGu=zy4< z1IxGXBn7-65@~#1{dk02IX)y$rFVzKTV_s!(cIkepAhC|?`(BN#?8vUH8u`#GUr(* zX*8(PFY9@_czZIwJVOgphDW}E4mSKU=s5}Nm_dM=|jZ;em zciHClPWMGzz|@!9#wme|d*N}OXI4`b!G6WKu2fA%VM^%no-^b^70!{y6HWUEU9vnp z{K9-B8XwcVORE<{rt|?ykdEC63R~CMSU~;K@UD2!Qh1aw`5`Fv;b5nq%w53At{fPOJv|G-%|CspLbTd*Qzu_ur-C*N3 zm9=Q#Bw|J)sP2Da0z?FkR&#o=CVqelA*;ocW4;hpf2~a4P2;gnCfuOR?-C80ed3Ak z&qRtvlW0JkA^pI~U+wo)CbtQ|B3u1mVw%RT(@csFQ~{G8y{wgh<*Z438^jTBjC+zL zl&(GO0>$oB);AE`j7fk*lCCo}-bV6-SANUA!qK2?fIv&+v$p8WHH^0jv=xg1CVVzC zmmG6T*v2Z{cE2~wm?GJ&GYNtV5d19-$9>t-FC4xOK;F5Z;_luA^8>pTcc4yClbx_L zJ0qDYi3MBHBV4n+rQyO*20JvIP>r8*31_6D2Oev;P1 z=?B`5j14^`_1sOk07Fu(8YC9{GoKLskGAWOfRY41%3eIB@};2J-^|dc)HI0jnHT)h zC`$whdwqE0>KoGUi?|-_e3Vi;ez3E-tv0btMz$zT;rkf=_9r*@(Af>MtXYw*UyU{u*Sh`P46>cF zvo{Lz$&liPaTZRqg#r;mjw)mmllE7gl{OtE8(>3kD!#g4k^1_^xTiYMhgG%|vSY^l z`3+gX-q&{V3X^0w+3{yTT5B@`MebBM{u5-hc!Ry378*vVGlxoeHDu3p-JIBh2EqJd zV6K9CWV3zl>xDQyrF^FInfi(xWS&=P8B>j*Kb59tBA@QSXk3W7n<%Yw^Xi$L1 z3*cox`D~w+8=#gVC`5_*4cyvJrx9Vs0xgi|0qxUZkOFAU=3fRAohYAz8!}aV2I+Sz zlw>xk={yYMIQ-IZN@i$V_O-GA1w$AyE(NFHzA#UoTDC7`%!dqS#&l*$yQunikS6oY zoD$Mto6alEHbKpF{Ub(?#HdcXQsV&sq~7r|7=>tTxzt4FcBEtRw&y8-d9;yv@{(pq z*_7G#BS~Ow{U6bU57Fr7>q_gppYuk7UKac!Y;tk2@Kf?epf2}Q1-gP?awBzBvj;TQ z*K7Oy3&E`41wn@AG`ypRit^Ca~-rz0W80_8~YGyaQ@eD9|>Eye@ZpN@U$i%?wj__k1R><(>A^)Uo@@mht- zV7Y^_T4`ll6h12yr;d$Wap4>BlRBN{#p{!3Jb!CS3Z{Coy%25}N4Gl;yBe3N+Zmi~w|xdH zXFO!?!$eRh>`8siro*H=+^f)@-DF;X^o6X!Vi%4mZo+b|#R(oJso4*~f2MF#m|=yg zaExP%W{z^^4{QHVN}GyZwFETZ_f|)D&)@P>@9{4?xNhH`;8EmXvb_LgUO3G6UjNH?+}mlJKFU&N?&knK&{ovNP(aWpmI!bThUDzizsqk9rzASkjO=|XI>(_Pks>iV^>tC;?UFG<4t zO#-HW9dHT{edEX&=m5ZZ{!g=u-&fKAt7cx&XTYAv#*b|O`^E<;<_yA-NVCT#Iql`^ zcJ?l6&$?NH&w4jR_3zDS-%j6|ysC4aCmn3U3NoGRT(Qf05ec?EoScg}H4O^Yzk#&^-;(7rgRrE;rda9|F zy_f1sr$tM~z@zNoM+kn)M1K&dzKlWpY}}l;nI5lDhCdyN9_xFsJ8v zJ|ly2_1v(% zZ(MU9#L?Zfrv?Bdru`7Iz0({MEih7czWj1%7Z>vW72>9}=cz(rtY8XK8jZ?vP=pPi zlOB_ah{n=%rlA4@LCBEvEJkiWKJU7$r;wuw%)wx8lj_D!;ghhu zMs9YgpywnpHJpyh%PYM`Pf?&p{uX}?fA$7VKkW&|s2@JXSuLHf6pr3CMg8%HsL92V!s+fqbRz&iQ%WObmOxwfs`$ zUGVF@htqhjwePmJ*mo<=-fQV5kOwFT~#*QaZebutwfGpdszD-x+E zvmB{~m{nfbPF?vY8ROo&tm~)I% znwy6J2|JXa;luXE?!k`+aw`|C_HAb##X5Wob+oh`3j6R1kAE)$ls-Oq-9cWLd14pL z**%#P|DZ4N7L``uK(|`3Gc|c`7(3mC13k zup&UKNw?0t0{NC{t^au36;9D$e8SgvGJJBfuf5XWs~Q8(RWN>5poY^p0qudXB4Zjl z$1S+>o9Wx$tBT@F>35wIE%41XTl~%IUgJ;;;1j=*=qcqmFos+0+cU$Zi?{xb0U2tQ z@GIer#{MhOV$o>}4W(On5&)?*Tm1SeNwl9=)IvxzsD`~>0TEwrc)_vssiSwuH{XT? zdaeF$%EK{b=L>FnCOHu3+FpLG=Nr&3=6?3i-m{XxGE*Se`q`OqU$8ZM+jU_RUtt3q zg;PkS-A)}x>Fa@uLswpBp-{JIU^-nx1a{RW{1t85;Y-xTZ_wCczaFFU8RR@Dsu6*P zr|#!$4c~Tlb~3+8tEnB2rQH#NXqAtDufgPpxt%A&M2JA8Fp~9eWjBKObg_$~^?kH5wGc65Ejr&ql5pDoIk`_Hon7xT z@KGVgu@LVDXgw5%oqSM1U>tmE!>S}G^r%igv~$7tji91eZZhcU(uJjg>y@}_qGs0u zFnc(K-QuZHH%W1$I|bm@{@du9oUJn^!5;-T$ZUvC%xl{z+AnJCg1|w_Q-nH>i=kJD zd388=LuGc6`%us$lfqSSDKU3v?6?EsgZvk&VLk~$40&mS+jNSrax6$7_c6kuM#18T&! z`PNk;L#aOv5T$-FR^{d8*^kNdX^B~%iB^I^!F}Vp~{>_k+c4#MVapN>BLhoF&SD@lYP8_5J zX}@pJ&)m<{Cyr?>jUY09N33rdBi^S{pS8~>HV(g)_a6^bRk09K`N(3!rd|_7vfU!S z|AL~7=#GTeH`r?WcTA`Hq* zz?$4F!`Q#jIKFtnIpi@bf*v3CQt>?}*XxKlx=Cg`=0nfUU}Jn6s(6QG6ZpUk31^m1 z586~gChMxe9P~XmnFFo3zTbWVFIpno^TmZjNbe*8rt{w6&{Na`4(?dbK77`c(D)xu zS>}5~`9JY}fahIX_ljOMMXu`+JJgz-0jL>i0aU_ANzihfHaoUATR=oi{CWJB5(uSw532A%6rYzOQnv5z`ps6} z_XXU6?%|~y$^#q+J*oLqGt~tL4o6YV;EI7IL7&0?1n2r=FgGCs1RjZA&kTVXYjuCk z6rjgwi(gOWK`Ip}ngC~nX%Tp#RC@tXmucpJ$rX z;)r-hERYpQYqy!q>NstMsEOe`Acs}C2XiY4O9ayy;fqDu0aW+$rVUq$zKN`;45Rd7 z&cDdG@?-nNC=SuBx0;EpY)GsIfr>M!Tb# zmYUmCvq@WmrSWa@O2{zxJQd}iAPPqJ(5zp7tk^<(haRnX zdRMb~JEV+Gct&yA{hn(-``z}QR!hL?+xLZc@#MMhD*O|)_^d#JnC5+>9W1IdkymV|OP{qxnY{^=cF<$^PdaxXk@hM47KToj$P~ zg`dlptmf!}U>0}K5?BgiGje z&jB!p6`X`USb=;?*~&n3tnBsGgR$B1k8}tKj0Lqo=2lkXAZroCpgiOvF0%puo{Rld zRNl96wP^>bjmJ@GH)!BJ1uj_hjiIz~kUP3sIi)W||FHzQExk}hQn(~U_0O&l&#TyT z$Nb$?WL4JagGlb!{RjlF15_{=>@Rqa9fA3l;!1?`_U+h5*SGE<)CeT)2Z8Q9bnv@( zJ{YpVcgMo0DF({;)YRI9hC!!_g0SDtj^zzVzUg?#YUyPvUPdq#wY-Vb{SH!*XWeFr zU_rF6%2KRGK3a3m%OJ3VYd%2_vI144+cVsEa+syUHnxF3x%mkFE{IuVH_;zI(NP$C zaKlkD6REPHe}BnPfF2=Y99g)r&b@|$h=AgkS;dsgL^?Aiim>ESs$EP|N6G?N%pOJG@qL9S#JcR{{4#Il6Il!;Z?&ktPy_XVC2L< zg)UOl6iVP`&LCqQt*uPi?AztleCVkdvIX}6+ zr(iF<)QUhwsrg$2wVs*sla>q6QM2#F@L63dG{-_#30v>pfT4RYd97bg7HIi^K{nb4J0YyF@gCM&00l=kSOai9W{>lY%w<|Gt zLCVlpT^NYic+FqYP3cDQ0Q&});u;7nY6U4SC})8^i>`AvH6Uo}81&Q7(9(*3!PW-E zUu&qTfd(ZEu(zMYYa_-!P0j)Wvb(`=LQWm^&;SEJ1wR;y8K}%S)&Eux9q$jZiEo^+ z98I2rT8RxgF<>P>4OL3|X|lM*J(v;{2F_C-p*+B?^rntMv;uXUo~zc45Xen>eRmSq z{0WTNd-%#;S7T|bKLe=BobTfFzhIE)Ipc#bv{{73$(6i4YaLvrQMy;-5j_z zmmi|27>7G@!h7%+YBzFgMqz&Ra-nK&e{umGa8jc@_!F@H zTD}$sS+_>KAT4{l+Cc94!?6MWFD&;QluwBGe6mImI`Xi zUH|)CieBVt>n=L?3m-na->TbDu5Msw#RJX&J>~T=*elcTK>TzkiOJ9O> z^RG`E>bz(V4jhtIal@#8gsCmLe!5xa{*y`d@{$cuLm$ZIQUxK(U}+K^3&cK{*}n4F&N{T`9`=WM3xKG=4TUQGw)VvlJI%5ik)P zZSx*{guMf^QbG4SyW4^8&DB)1P_E$#ZP||3k_AX!JWgl@m#&(q?c*b z>S*U4TpXw<4{my3Z>|~_j7H+$Ehs)#P_>O{&w1wWrkBoWPM!x4k40}LPRycoGg z)4-WuFo_KpI<6X9_Liy2K*RF2yz~+goj7z#zH-B~xCt>1#1`%~6T4;21i9fSS8T8? z<3KtWuV1H(Uk*6Yd>p;7NBHoiW)Z#IFdW#wGWeiqeb5MXvKp0{$_2FG&-)FURH$zl z3GT9dE%@*0A55{yQK0QzFRkKg#PolYexbtNs8ZC*?Bz^zUSSx&h7wMxHx> z>u?P`7sPaQASZt}lI*&kd(3biu zFYkrWD_cI+#xv!cU4whUEt!4zVWH&uLL7wO8Sf?rokDM6P4e_ItUKaf53BP%z(QLA z68|5FpiTF;z@gDXor^mN_kDCWJg*Pjy3ixO1J~8SW0Z$f0TA9+v3?pC_aDN2Jg*HI zcr;P~&3fR%)~vE71?itD$&dRXRH~oEv&$HInPemRnHrwdaSa{x1iNlAaCRW2kPQh9 z*T_Kh0a^OlToRg2=Mf`6rmpAV*~tP`P0_$5vr02J9y+4p1dlhbs8{?;e}uIDq7D^A ztk&E5x|Bjo$>U^JBeSYsXZ-Z)k-~zSs$JcOPkZji{Ef&Ic~XeA9|4`retR%;M6Pw; zco1x-nw!(thHVybznu#qkPWY(bPwbjxc)E~<@Isyy)VT{geQJZ!k~{TECrHky#(Y$ z@)I&_42b@A{BA{zSG+htk)%BVpEPm0oj{cRgc6b!rRQ4V}yV`;dwO}U4OR0C} z(F+#ekYdG4#u&9#Vri@Ae1adve?|cI4TxmD?tj8{h57l@>;xe)Q=Gpy_5ep(G zyEj)pL;-JC##IzLA5vIb9^+20CK@;m@cdoD1p+~A+Zu>?>jI(3;SYRzupv^jlb3%K zAbLXsM~}~IIf+0P6|thBdbgJytEi}e%+|N6;Y2i8&_@hwS$(VG!|NwuSUxwR~%ieJdn-;+0IV{iF-EeECnW1Uy9bi#2-A*93keJ4+H0D`JNB zW4E0?M~YMN>BsWvMoYynKsncZ`}j}xoYHqzOfSiUB_sUn{~F4nVF!yJ?k6rbwv1Gkt&={#4MCr zRKJJm={F9euJo*|CtzlGn^pWon&1=ynO<8<3Nm2)ko4x}=7B?{8i0W(56Iz5^}Lu7 z=M^azT?ou0ko@T~iB^*&^wUGwTzLH@)_tb|h{hKZ=1k9Gj#DyMx+qb_2v*C0-&nN!=R`B``O8izHDg!XA$NphNJ(w)u za93)BK0U1lY_Ld%#tp9Q-Jk|ev4AM4#OzMDKLg`Ya5k$+3nLPtGF3ikW>TDJJVb^$ zAXGyEaWi}sG#&@fiL-R+bSF*DgYNo1k2gYjTVgHP$KM47AT+MdC2X3BO41waeo5SJKc8+s~_qOZeHFC?QU{N4H!h! z0wdA$1=}r@|57jXUHlGD27xgTL@AKRyA0y@ z#KET?NbwB>aiVmdAFE6AS$fC7YuO}sM|>YGCoAh*tV{y#%D_qQs1F;=l9o@{L@NtM zolGz#q2mMwxv`gsvSjcb-VY?l8}m0oSQ*#dM=nfBxR5ukoCloPV`c)r%s&|N08Y62 zz)AeciEf{2AI!1=QpCNUS@sN*?TrSo5lQ6GJ99_xXbF=hJ%qoM^4VqX&5(O?=$eVCUJeKg+an}05g_aO1HG*Y3-dDL;Y$)SPGr&8F_~d#&8p{dA^` z>#pNpqJCTT?KVSc_(8!$`#|BVTxb|0TS(d{y>SnBN?PGB<;&GGOmptN8(F`_&oR{R ze=`H(HO{=y>nTO7;{S;WV#RG1Tw4C|oS+=CSV8SsnKm|6^D&;{7gC0UuUy zU61`ra~m5!unhu+G##%4aR#f2Rz==Rhf-EnOkg(EL!QzDQW+yDwBB`J3~XvV@CSUw ze)>j$-f{2251-=CLw-Cp_1*C*LE35eJ-F)n|Rpir|9Pbp3>mP38-ttMDVG(ZYoWp(oP7_l&Pca#FKh!aW9MFMh7-?$xiz znX!XP#nx93Ys&9A$y?7bkkFd}249lA_&Owf`3xv`JJk0ee+9n&uE4wdi-WaR_x`Z6 z%(c3r;_&s;CxOLSTI&vQxO4y(oM7GWk3jbsl=EB}(J+h==k-?n>A;Q^-_o0XQRdmU zdH}boapr1t>6qAu5WeQe1$xBY!GU{Yf2y~1=&X!Zv|Ey32H1K?yo?s1o@Il5he5p4 znyN0}QNaII!7mxaJ{3~I;jR17rA+;)>+3NN0l~7{mOx#~j8j@+Hb*x0>|uLHB45b2 zZkLwdpoGi+;HWApues|m!XCYd34edvZ{gGnej_U9H717(^YTDcl3g-km zx^%Hw0B$_nfO-ev@j)_rZNj=8?^q7Bk(;1zbd;70Z);rdY~Ib$CD3}N>Qe$ezTcTU zv71N7a^h62ql$=d{0EW+2n@a+`#BA^yI?0Av^H*H1$T==ukNbBrT>zfosJHD#hyP^ z?Ag|bLojjKzp9GYLM9!&1HrBb4Kg-06-Rz-H4Ri2-@0!km<>-)o7Z}oPAyN|OIQ5= zM6J)^j#hxV`4)zEcAMxPvZz@+0EC_|JJwobO9)8{NHBK?#sx$`uw82?WRC3yu#z32&w$b;sGm9mfbQ{;`A}=y2-YMzp=Ecgi>%gSzq$>pyu1im$ z?tw4&o1ZFMzB)pFon%(-+_;W)z$JoxP)sq!R{(^h7v9CfDJ-s_7I${M-@oNqp3W*{ zp2*X(8|&&_G(a;|CjpdCx>f$kgipX@LUQvm-8GjA+b9^N_&Iunt_GG@bYC)?n=OTK>0efg`ng@x0t2*Los1mpS@<$zNx_nrB}Pl7|z{7~_8t zX9s>`Dgz~95FQWxRMUJ^J!h4GEQh1EAAZTp3&3MCsh=Lxq=7ghSyLWr`*}Wgb4x$n z4!nCMkectWU`bApL|B&gKR;>y!*vA~@Sq9E_T3A8k@%Pq=IBFI?S zn(1L153Hucg4#G+8M*jhA#JibRx3@|_27iCW{IBT$Q?`r0w|crUpK zhCe--9^DH-eUfon$6ou|H^6NB@8Qr_vCRo{Hmc1TP?1nY#3tq~CCcGt)=(YdRJPL% zCHf*0&avAJ@n+FVNJ%Sr<~;H*$_72d%epyS0)pW=DrepSWKQ`%_du;u*LbeVqqEmz zcVMUP`qqECGYbghlCG67g|oofY2ea!fsgQ)Pm5f;6ttK+_4TT+sz;sh0)yS4=ywJv#UuU(`2 z)+ynfG*f+o7`{BCT({tudMclXr=Y>n2Ci!pVJ_*Za$FEZo*u~rO2rd#yRPG=s2T|u?hg%a+9RGJD+>4M61k~?82$w+d;Z!l-pVNPtJ}>?y(QDtYLdp3FKL_IH7HnHLEUp@1S~bjlyQWI3_U6Psua?r#x4jnlMfSR z!g=HJbr7U7;hip!1i_=Uof@s^z2V{|E*yW(*urQq8*U;9J3 zC*jPe7@MM3H)?9~=A!Bmy?@Pk?COZT#nc;9s0bnyapGd#j7QY-Y^~!tnznUWzEHz2 zbBH)+!>iCe6%uH=)q9bbDLteB4^!}#D)a5T%vBblFWi)*c?j-b(oXQ@QSS&$ZVL`) zaUUeZ*3tPHn-P)GS@qpwzgs`Zuyfjb=JqYrkC#ofC@&9V(7_;i)Z?&`Z$%g65kC}3 zN1#ri!hq5yc8+dsN6F0m6`maNO8PmzgD*@>LA{M{peD2HGh#jB1W+Cv{yGe$^Mwc_ zuh$%gBn)#U4G7nTc>Assu>!`6$cl*$_!QQ)Gn?d7-1Fh?*TLd*Q+GDZobY+Koq`iy z7Wa=Y>}~?vXa;I#)CK(2Cjv4?=->Xyy-v|3$~YBwpmURpbbMzhfNWU{>w?z`?Fc*2 zRhRY!ciCQg(Z#V*0dDjuy7^&8T~Bd&x&M6rYKxa~iW;x`qLp$C>i#t*IA5&a@uyL# zCe%a^_=8@3b@M}QvnmM;)E4L+dzro_)s@BD_n0MEn!V370xMt!vwMd5Q1Dux^T035 zz+!~HOpnTV=beAwlWLqT#CIGPe_oilEcesSeKF>$`>9w!wqEZX;Pl_sAM>@bjmw#w!RSEgj) zI(I%^yI(+*WaJ0EDUbD^8(<`6b#h#QYR5_yqT}-Xjsa<6Z@=w%1i`)fK^MCpPAGu9 z4ISjz8~Md%=e6uGmYY5rZ~dy98U|c*O z;-+M3xIOP*HcxT0P;Ix4Y2pn~bL%ErJ}xmFhkj%gqMB|_8X>!)9qpL550}h17I`1( z#)jfXAL3jSv8EESa+)DKHJsi(jI;>MyKXLK9A?p9dRVsL+I>OsDbkXT$V+CjuD)Ig z(9*&{`8!eU^#tW_@%>ftqgon${r8gz?EInJd()cHFYkZ7L%;r!9rz?Tuq+9q;b^?+ zPfBIR2J`Bx({U#_oM;;o+-;HZ5lxs)VP7@7PI#EYvbS~}qb~4-KqY3zIPy*6W$cE0 zb`Rrj^6{*J|KFY~0$juOT$@w8D`N=WQ(#B>R8*(dVC~YVOwIVOGuD9PPv&~^x}sMT z`G#Vp2#_uF4lB|e@`F5-VR~$@YU@uK&KEWfif@jp4HASXN%0X|{y59yE02ubzq%he z6|>tFjT}ng6L1o_R^5*sr(kWyl6Z@6Qs)m+69sbeeh8IEagCCD9Rce@{_A13jt9D1 zi3a#MD{Zy@;HTiu?2ZncE7B8gvW>~J6z8>3k3|&KMWPZ7yL6!JVLu(FJn-K*Z&`Px zOL3d~e?R9cPRS~2!wko(h|#{^yFFyP&!|SN}ow>l5;?^;7}J5QGGhdS~s2Y zMN6|Xri4ofw7Qa-2y{ey^a6cMa;KAJgOo7Keqybze-iUrkNu7ZgQF@BU5Mx6vDl$_kT0XavZPtTxPlDgbhZc-?Z4O?^bT zT2%*s5@$x%&>nNYu6rI8;JntV!VN7MpOUTV-!elsOj#!g8d;|qcMI*xk>AE#sBqaoB7XXeo`FTqWD`j{%l#1>p*|$$vRN?4e&7!%|uevFWY<5bpZa!J! zLs@q{X+c%v?Ch6RabbUx&$(?SpAdiDAn8j{Y(z51^P^A3aePEkTv!zK1Me zC=kzN<#q2tI+&^1>NSm05`9|nV;syGMtkzqRb2EEH{$~|N52F|(7JL!72zKHd7_sw z?Xsu3rziK?znA3HoX{Z(o9}2^Kx>+udI6n*EiZfatNHSpi~M+g{>imJk|^Ox+4zoN z4R#?^Ydh`+oM#dVw)6?VTvd^ZBbaA;UB?}ASroLKFRTy!TRU{|^}SkJ)NejH9!&FI zDtx!t%{{UuqZECr>I6(Y?cY93eZc&Zlu(kBs*|_l>Hz)Hx4zf?|EENyZmAX_;dz;WEwRfO=}Sz;IZ?vlIbIT#rh5Ex9+Uv z(ceB4=zr;}H6uLZN)$mN$T#Zs1`cd)#a@TY&*8 z1|Mc_43&dzveDOkte##q9+FMbqHd;~n;QY7 zrfZfVmk^!C!Ya9cw=_e4_eT0H-xvpWdZkGXS-P4IR-`x$Ub7t5OQDnjDBLfCh8GtP zYVSs*s0RdJ5|NOM&CCcaZQ`ex+)B4$X zmPwgu(k95_7v$IfG4+;VRd!vtHXs7>5YjCONQa~}h@f5}g5 zkZz=@TAy#2kmKf+s3QG1?FU%bN@Ej?fa-=+6?q{M1O=$j z-Nx9@!R+Y>$Ruc9Lu@u2^_)*V6!njCaGtB#v-tGpf5yF5>i~@v>m#f~#QG$Rfm3{` zIGifcgfjn~Ppj#1RzLKY<~nhO1^QS&v=5b|qTXLoC(`%wth>;C)ij%swUN6s*b4X? z6LU7+cd`H2+%I(#`pbu3^nUio?Oyo?CsnyrqoG-?=*S4n9%^W4@VUXqN58z2R8qE= zVn(-zNutt8r&f{SVQ|v%xS)J8CdMZqxEK#1yyfVbd%0ZKv^i8cb>WOfqCa_jKYbXv z?YNvj$dqwS|8?MvPuW1Af%TmxJ^78NytE#pEbzwzwApjT{GL0!G9 z@kk(2^xPdt)xY5d zk_GtJ!C(AvQ4V=KoaKw&Guo1YF3@_-gu*)b$1E_)eN0aYn4Y|RgS+1qaBvqQP(=Na zfL?wsM|mZxKfX( z^164KZzxe^eZWfXjX99`$1pO$FB&bZU$&dj{t@qOtnC}g3YL|t7V6{SOH~>9EaR^y z9AVP&j4T6rd{P?U_a#N9h>xQQZKMnQKQFelE%rPKvX7!UTDg4t?lsM;o6#|82jPBb zE8(m0Oh}CEmp3zLPKHV7bJX!JkHC$BUBfRQBD}RG2@f3zXxKdU+I)3Qhx^{UnSQRU zCrrJC-Qz&defw6|H6`3r)$H9%rl$o~9}C5hQal!NI;)IEw65z-BmaQSzj;|%pS^?> z^z|vgfB@&PAMO0&CyB{Xxw0vU=8O+5Yems6`wJ({QB3q1Pj&hnhFbVPW|*A!*j`<2#l2&%9}4qHT9gI?z$xdO7=S#bAJX9 z$=@Nz0IvMt!*|%izX2u7CFb<*-IJ?DS8VuBd(a_ir=WB^1I2$hm|$HksIG25 z1A9LeBY$6eZ*&DG?c5V-J2z{2R7-F5Mt_ZZH^ZISTR}+%!$@u#k1}5x`n2~ibT`;w z#L(>4BOuWvP78`W$Ka0HuQNc|K0WS<5*8rSEz6LIlk-|n)L>NXZXRdbT&dQhVdJdp zPZvG8F<&y<7U&_=i3?J*$s&v$P|4Ja`@)ik#wq^n-OGXt>{HA*cY%M~ zA}VJAFbZ*8{5y_!IZiQ>N5is0A1(ioefd~_4y{$0%;Eo3F(Uo}laatQGM%s{aWfjL z|F(!OHpLwY+M2_nkA5bVTHVb>Wo26cXs`hL%@r!k;BNvAEzH+1!M)-FXkV>GDoKXrApb`v&zfMH=PX&9#xYGda!_HBCp7?s=?3; z%!?8x8vLz!-iU;hGT9|TIN8uCYK_NZ!Q(8Y(D0>gtN0wVETdNCuIjDAUc)fx?!Hx5 zCs?^%zJf2QTyk&y*ToLD_#uL2pnR>jOUM7_XIiGWk8Qz5Gm-%?Tjw5ugw8OC^qdd@ zM#KoVjI74Uvi&K@j$DIdCCd1KC%yF?4$T7l5}It0*U^PJh@fKdzWT1*z5pxXhyFd# zi(ZGwdR_F0K174l-{Jb`=(kShcM@iJu&XC>_g(biBnknzx;rn}*PVa{$m!@i>}WYU z*A$U0so+2K7pu^A`>|}sOtfA<&)OEovI(+MctuF2a$GO5R8F=iPj3}gg_i-RSB$ND zbDJ*PO>&?z%|20|bpAxM&6E3c+vZ^7CM~Va%hc^xAHsj%n_HJf75O%>i{57c#{?aJ z{P!e_a4fk0mz5$d5gGbtn3%}a6PG8+(h_x7lbcL-c6)_Tr+aVyP3Q&|Z}0t8Fgo^B z+z$22R|4%38S4K=zBV{szbg~izc0j0;8IB?HPG&mr48EK=X+8ZJ@U0#ugv(;1t~a# zv$0w4a&53^%b^Wb;8Ft3ZPFE2lcWnfN;<={ox{BVD&yx*((ku=0oLfIn(N zK`;U=#a+>aoW&=&u|)nE1zZmpx`5%}l}j=m?lS;5Dl`mxlL>e%dv80BzC}IhrHO*` zvxrw!|1B>JO%^!|uPSLK>8STs+56IO#Rd^Pe|A7&l? zc(=`eIcs{|#U3!W-QX|cpv@bNT{rG?=hmO$JK@VMO{jqk&xu05CkiX#u+wzT=*R zVc(hf$4-m|FW-Nf&J4v-Ch;4n?WF!kc)`@1lhu?HeG^&(kvFs$#HbI`jU?Wq_;yPeIyUQb3}2Nj&z>JT z=|(CgVedZV{yQ3^x@xk&+I2f9M&Z+iR{3%z%24txma9rIun@~nUM40(?3QyzP7E8= zlG_9?hr9C*q0PxS?X@mvLvlxn{GaC9_*&1a?D{9EUNP*1iuc3j>|f0}4ca0vkvclOF5w_Bd}%IMJV{ucysT-apYMNpc4jy##ZI^R|BpCcF@Z? zyF2(!JS_SRabOE0Aef$sfw%?_j7f4;U_WHm7z6wsEh;W^*~V6QEd>Lwvaz*&h7t&0 zLVCDRXW6vhQ0DsY&o|QrUI4WW{t#5m5J|%pz571mx5agPr)9F@24K6t8&IrbmCuC@ z2vd*~2$@`d|D5*r_r1YaF4;d`*0nkxH(#k}XuJoDJg40$zo|c5KF<1d^2asRhqjez zIAXZ28LNq$VOJa~9^QHZVp;`kqi6$9c9i`B{NhdpT)`19$o|+Bg)i{oODn*yb+?Kt zx(eW|;lg`*2wV(+XdVDiu`3*!(N0K_bXszsIRPkDvLRqT?@`;ZGEdIbuFMY)5ASw9 zh^~bh-cheST-GgpIs>D@;ay}x7Ol3=Pybuo1Wy5?@O(S`+W`{6rj<>q4+xPthfF*Qw#$mOJR~aiz{=AO(M>XEpFbfg<}gu2aEUD6bh`aIbZPU zH0dfXcQzF$L70sV`dpS5vV&f<_fhYgu{Zm*8g}nt$ePau>wJLFhov`SUOS(RB%x30 zL&j>7#wyY^ZH-QNT$zpOtORm|~LAR%%OhzDXM zcw4460L{a*Z=KBnG;bE2p1?0fNk}pYSrUXj)8D~3fH7fSze{cP!~B~+0+##{hB>!C zC2|7Gf8f_vrEzD_qOTTNx>i%{LJJ?3x^nP)x4bB}wZkC_IWlc2?RJChLDk3kkSWFQ zs`~o!%E~yV-Qh2ZF-`$Rwpe;pB3`5f1~Uu&BtSFXk085+VeS?KMd0eEByd z1Rw9t=4x$;`pja$=syYIpFB_QptF>foU*b=kaGMl3<6kse3!eSjLUgV0?v1WG-Ax8 zlDJYUyw-LG3G9U}C@#*1!4ht6ZZLWl0gGkj=;--s;zp-#1TwS^?6{hqxS{-}ay=;O zTk0ry2^pQ|d32-x>`ZjI=PfTKS0I|J*{`gxGM_5wy~ME=dvd9>qJ<8jNt2=w4OqdQG0o2%lVUN?xs znjhk?B9I?Ir57&MYu9a{Lg^wQ7A|$!B{L5tMmn=8Ahq`CvPGxZ?ce8=HjUGpe`Zmp z*EE|UJPw<1_N_Dz%fK>@J7e@1&wAhnO9}fCMyUC&sFBW62C->zQ}^?&lgXb;BGl^} zF|&2Lh}BkJAuP!SnWugEnOT4yp^rn_=pN%+A~QW{(k3Wj%fcm<_^JGyG#Gwn&aa2%@}?zC76$> zzRS{UMopfqP#GMi+0oKjyXtXn(=q#ng5*$Z(j%WKtKk2`5^Q`RFP9ib(VrNX6gFrHqZLr+{*7dQq z-nn3O8UePl2_P^fdi7PBDPUIEdg}|OBX#v_q0F3OyFi%%{c+j$+ZJ5;1M-UvAc3&# zk7ESjWjZ)M@RKDYBNN=SPNGl{8HtrOR?rAv_rwKO#o|l;`GoqS7h!B}+Mk@z_u3w& z?@8E~{O1er@x0(AvYU<~UwCxuUAFG{iFGYJ`31{%oj0OCZ~{gdY(8#JUrG zgw8}6LOXI34ba=*hsghGDbe*7#C9XF0|*c|vD+EYGKDNWhgtSo$D~tC7ji;KEe$FZ zg@I+bARqWZi+i%vZM@@ichVy~Q?6GZQ@8A6+s6O!BrWxPn~MnPr=I)QO&v3wgU}UU zNovXObkijQJOx!>lwK1b5HJ!#iK1n_S>z-h39carH%p=%pP8#VEQ*yAY`>$PGVY)B z+w})X*i@ZKDvTtwL$Gk<*1qz8FNlNMYh2=EGHX#c=-Pv%oUpIsY>q>=#FgGWJ!R}l z^ef`|dHys0b~nup%OR~onD#g~6<65Q?Tu)%y~}=<)cfD#ic$J3D^BFTkcsyvBH8-E zC913J$ca97S98NXZC^=~>Z!#5^6l&-Lh~YpNezZEZnp)xT(NBH@vQlpWR%b{<7D5f z*xc(Tv?c`L_O!TpbaWJMNsF7qm)shf1>c%XbRclwJWzT zIT~`^p6u#V-nH7_{X2(3tkBg6pZ@Z?lnNrcGUG~y4f&Vblf^Ym0BH-jcy~$eZ@^X5 z4-$E7(AXV#i%Rjk$@|RfZ#(MsYM>m-T6UC3GB6V8_Al=r7~q-~jMn(*zCX=jA%`7! z0aP*CfYOE8A5WOdCvkoSurdOCy)(FBx%x>`TXd1DAb_F}e-ir$63`#A?9Fkyj?GgM zOcuIVCla6JLs#_V2cAukoa`80z88+lP_XJ$K*IEvx9WWT>v}8YdTu138|MRg`$-Sw z2z>o+Isj~DaC~-tesckhekD!K9uSn`T(z0uOxADsANVWpuFt%$HxrZiUFkBep+QT& z?Nrxaj}Nz~SRbpsBX4bY-2{riZGnc$0QyH%n&x&{OXX?l^NGOod4pv|#80hV7T z$nWm(XzH`li_xZ==&eeu*D_`Kpq46~)f>+8dFRu6@f$pn%b0$g_C~H}F}4j| zt{wrtShmGNyY6&}!z~5}eJ&FE3ec0diM+1;{%#Fsg{`!+^Wy6ScP~kpjit+OkAb~5 zA*zJEjQFL&_y6#bS@STCjkS2~rSfi(>VJy7b)Xx)cSEdGq+=2~H;eIEjsl%A$xqUi zeBUA!PCB)jJnw8B<@0-oSp>}CL8iFH#>gBCt#aBBWgxOzsmvd2F?z^`oCy7JqYYZk zyJ~`&NH<~c3ybi?yVNo}IjvP#bmZ_ig;(HiyW^=Kc0q*xhfiP>93ij~iZ9EHAru&+0fV2y>o=1W z-4Dy}7Vd$1X5gyz(I38kNP+JU@&f>XjfhbUZ^je(_6oA$1mLgTycA9u9@k26N3%8T z0N3bKnXTcpf%@(Af&O^r>pjiZ{t)`~ok;8_NNrVKe!NQ^kmvsK>haUhu2A700-8vJ zgR$W%a_hgLLS|2*1C?D_*aV|7`H}YZqG*_3ezxW?VR_HAvCbE*hr<%;lVq|X9y!~8 zrHXP^Rpw}j6K7}LWpL}eRBqR^d+c-K^ZUYu6*fbw(IlE@%~>cUrHs%W*Y+=lO^qP* z9UW@a0b*?ul_qV*9%6kc(h#)t7ICA95^-bea2>Vd9mgwy@S*}arsK6>o4`ksC*_W8 z8$Zo;g3fxREniq6t3?*v#9Q~Si@_d5Qq)q&jgP|cj9%M*zI7EToFHS;zuYr=Ek%n9 z78`|weVp~KCqN`~iR9DO)kTZ@4Ah|@23iiM8uY+d)WY@6Ai{KF35J7{5}BL~a7?R%Qm_m_kqTh9S+FY` z6atOfgik5$viyfX?F>=O{zQ}sLl}%uAo*PBA z0Xo7>u-$LF9hGw9X20ALG+~4upnvP(gwo#ZK+YLtD^c0KR$!B~XbOSiO7))YH9Qo?xTz zG42RmtTfT@&>mJ+)=eNB%&w`4i)Yq61)rMJymkJ`!|ie79P90=mcb>EkER2(n**%D z1me_xhmMde*ft6ZUbu)9oI|+@u z$C_x4r7N20kyNgV zgU;*oUO}K~AD^C1sEvCKkw(PGC1a^uvtj- zHpVb#Jgluql*h^--IZU3aZlW5YE>s;bK0*jmQUMI+d?xT>Pp$2>)z(Hi7u9s2bV?E zu{>FC`#~;5oEu}^1YMO0*JvWlnBSOzgsRR{-yvrtZqtv}^RedBhcDl(^j{}2j&T*M z-d%TaKhEPrYp^#+l=a;_Grdk__tub&lX3ZQlj&)d)-8*|i>?dKf##Bh{c~3Z%A9=x zNyb2vS7P{Ik>sEJ*MJ}E!zCGO5?kYY?sL25^w)JhRKdJF*_NNP$$ElLrBJQA{t29R zZVtc;GX9&ga@VcuI9I%K;S=CJpldiinzWURP0A1b`AGbzHBmLv#(r)l);qnlbSTqp zR^1|%DS^wsBP|=hu%y{@$~92MiSTRI@S1{V0lf1y(`?DD++mkVzLV4z?58 zkq*0f`H2(c=;{F=4X$3_#ZLtw3uruQupJc^Xz%CKkm=;MD=Bj-4=y#_m{QD`QY2Do zf*b>QbgCqx{m5H;9oPm;HtJe=OifBXc?r!qPN}NihvDd5-;M9Ol?MmqS?@F)&6V{U zq}kGLWrGLB^pu7Di5w#bV?=>kqK+IzLO(*iFG&KI`4Kg$j41!ShEzpB^eqDTmm`uETFQwys4zWbyn*oQFqafobeJg@5c}L*GY+s^=)@=Zw++bEDmNX zQ{Bd;fscx28T*T2;GHA}9c2UlmivOqbC8&sj_H|)TPCMuB{KO+e!`8yet$tME@7USn{)1WY8Lv0R z_L-G)T!1pjjRGAQrC5R{4~R?x!fC#2c>dlIhQl7iv!g_^Fss1B#p9^MFjFXbVeo&) z5b=qTWyN!vFzQ)SxrGMzeUWB}YR)xdkDH@0@VBS-&fBM@y;OP_KEHFkkY|a1SjW4O zhbyE>e8bEOvcJ$*-RB|cf5mx_3+?;$f03`kD(C9!)u_Hywy~;~%(*R+eo+u<4m-ok zP1;B{|4^8z3kNt(!7`eA$(C)wYu@u>6=`2P=C!W$w4=1_4y@?ohrF%yy^2@Y1&*uF1 zL`eH{+Tmt!K2amYW_RH)8I*R`%QIfQ@Em5(G#bLlgd^EmWiLPwR;rOq$D)GHFrR*p z|A;|+(o|&*A%&3eu3c{?U+3&M$YN|AKtOv$Be2x9Q^AmnDy)ZZLaWu}IqXFmBEdPI zI9Dkd83JP2|K21$1dQ(r`CMpW5+lE2LmOMQ*m!D%Gk7&rvWu6qbf+rSW0jsEhhm6- zRnm&ibNcZ)sfq(nV9DOd!}>>FgvEX{if(yd7zFw!ZcewVjWBkb@2LCLqT7jwLd`92 zFairXz@tV(Gl}U-T_5{FOl;qK3(gpje0h?|XrzTkr5O!kPoMg!nCD7s(#HNr(Pvab zak(+#1w|bPdkUliMhfyDkyr;u5-*>d@tY><@lt;lJekmgohJWM|`Hg3(Pwpz^!cm@k*VvPFjZ491X>~vUb|>R$OP@C; zYi^^}L4ujbC@|$TVpI^=>9*T34hFA=y327gjHrL(CHwOM);IKFYK$Uy*qqI7w0=@a zFt)%}BwGo04+$UrGofk_GqO(~+V#xlO`zT>h*B9YR6-J}{~H`G$Kpc5#q+DTHs2SB zzHwk=CyLaYx{!qSda%3?O?y}z(4Ns8DoND&m~rIu-fg0WL6w_HnQ`nhvb_}3s9DMZ zOum67tOmC2<2LlF=F~LBqfB(+A9cpJM7E}x%Tq5pJa_A4;70Khur>-PCr!V%X^;%d zb!<3XiwX)DvN2mv#`vMurcHTRH8$lm```bbkK(roHB)1MJWHsHnp0EX1eQ7*ajFW= zt-AFtui#k2B7$ivVg(#VZzd5UevhD#|7R}0ph?=hR1 z+3{Z4j^*7e3J3b7+*qsQm#dtZ%-d22^vbG&-+RmMu9b&J_91V+lCjE)j`nOhCUhaO zGB7gWypH3lADG$PVs-R?^5-QfriPD77Qs`xu7)2RbX^y-cmIYe1fBYKTe0##p6%u= z^sj1=Q+{sGWd9IYeSq=XfTz+0Vi!Oqn8=ctVyIIyNmiIekyW;;!+gIs;hztc6K61KvnP`Q4;gB{7VM83Wflc<%Ea2odY1?X-N^F3$ z-L!ewslP-nR8+BYTk6ur%@Fvq>5|^@iy!k)^K+P0?xp+K5Yz1x6 zD}JD{=WNLU?g>EghX#hRg|b--j-ZX6hnETc{At|!>jZe=kQiyGtJe`qO}D$ZRdIzl zQ~z1JI$B*=tadEwdaulbzeKHOg2%-B41fMhHe={}rW`z!_lYuDo!vW&x`K;Di2X+F z*d9ZUhSvT5l0}=+IeOS>3i*s`m}U2Jc%A4-cGmx$wwJB;AiJDd*L&Y`BmMcAh}&EQ z^%edX$yH4^lwmW@vP{0#*VstYLJo9;tV4Nb9Q4(q4Q7--%o}o z58{en^k>{v3h|egmYR>E2LG~;$a2d=G{hJUc4KP+oQMgOx^By-bo0!`$zXjAXnk28 z9xbnW*s%*HD1Q|O$TyLKNudGTilxVpq zb=<_S^k4miN-P@Shl1u{XSV@n9_DjZ=D^V^9e5W6jb(p012ha$g+Fxb0SEs!uu9T` z?uFWJQ@(Z@gN8nE2m!;vD^iS3sx*a(r6qalXsQ=cv2t`vH#u$s5$4(?yQ>D7qcDVb z^vjv!E&OtwMO3V0;%+^EPx;jvNHk7FMKpLIZ2sNg72_2QWM)J&86!IDsdgfhG-@fY6W16#Scw6Yz z#2gzjhKi1k4EV9@xl-5px2ZpSe*_Q$n8N;4>eVz+(kTCnwC_zO?w^7`NF01#-UCgNiBRl)`hr-Z~x=7MphqFIre7ZWg{xE+q<51Pp!w{2}eg^N|Ev!87X1|X( zU2JJ+NCw^lW_l~(BwWE=CP$v2???`C8UGizU{=zQ^6KS7c@YyTrQd77L{VqlE^hze zbI$U`POG0YTF|yklT=rq%B;gfL*~1K{&w>3=EVLG_T?oYAh^X>^*eISAgkHt(z-fc z4aBwpMl2*yh8e7^Z2xZSO{+23Nv;RLE|4^50DqRT$;scsSBss%a;yUws=)Q0iz{Zl zDSXZ*QQi0Ht(F=731Msv!B4RGJ{sQdX{LIuh3NV0<}QLE;1M6ANOmfO=*0WIwl#_C z8f4%{X0%CiCdqlacyx*=8*c^38ePjTU@}$mKW#sJ->Q8{s`=GwE-UtEa;%f^6%D3I z?K7tQ9L5*1w8T7bYyIf8>pv>vd#+fpYrnd-q<|slK!zi21Iv2z-&N8Hw5EJFg`!E&t#VQO}CENOTPRuyW1ES`_N{M)j$>655j1P(7l|#*KS2qRJoxt z^n|u0$jnle2GxbwHr!8nxaEP4AFM?I_cuNvVZ*QlJuXv>8q}XTi#-@-G*cX;sdw36 zIQ(yyT+x8=*~{jm@@mD`#5tLnAJ^7QI{v(lmii(^3wAwdX-OFyzXYGSgFkG?@B7<& zjDY6u<|a&vTX+bj@LX&M_I08$f|vE?5x$=y%Q$P9xL!5DIK^oz-aJ3QtDYvVd=RuNYuLdp|8NC8&b&!+S^VXk>fB9obnLd#8|`<$Z@3Lm&yvO=<8Kt*z!G3# zyE0!PZLfuE_%Srgsf$3G>kG=UE7kK#qAfS~BH)Lb+;b^Jx8uUR2 z?ypu90mIV@IA!Tv75K0FzcDlbRE#q9&p-N3jUG5!5C_rYK;II}ermLL5ltU97-pW$V!lr{EGjhw-}Ora2S>zp;CZuhlPUJsQ{Uf=PZ-)@4}er8L3 zb~g$275+YzX`!){`FQd4L~CZWX$n{4UV|F0TYFsjD&Z`z8K&^!)G$o{?TqdGA;iy3 ztI-IKSHMLNnuY2Lldq+fmqmodW+{)bn&(#y7{^RioA`K#Vp!j9wUX?`eqAX~?PRXn z`zYhwNY;K1NS@cvn=XI16L+v!>r} z4yZ!?y90AMmu6UK?DWpOOGf1$8~bSAI$H#~40_zpKbb@Bh^^Z+k-FYwq=X?7pu@Pi zS6mLCUWq!WcMN936Xu zze{w1PA!CKW_lVI0|ov83wj*%-jJ08T;=ZH3A~%N*XBK%1X`y-6@ZpIB^`A@cSUP!X!Z6@5)gSKK>oKg5f=cd$0ElTY ztn-FJ>mQ4NJ;ASS?7zTR4|vGl3Mn`{bHHEHPzGmUdF^ID+ApZ7t1GLjzSGquqXZq6 z?q(qXA8J*ZJu|%S*F@R8#yEfQo`a`42CLxo#+{zJfG_)7*&MZUJ?vRfTKaVLE0IAP z%zjwtOb$%u_8nXSeQ|O=p?C&;Wry1xkpe5KV^=WC+nRg;zK&hMP$OjLOFDv^TRiK;$@t?d4v6t!J^?Z#MT) z^-8=e-hW0#yOP!I*AZE4|3=xbJQT2=^wqLRRj?)rw^q=j--B&iwLw|RL7E7 zk1E{689qXc`{-dtssw?smTq7* z+;dpBGW^SV{ie3nzBBf*sAv8xGM)hWhe!jxupVtAt7E;>UNw*5q)6-Cc(KbM@ zO+ha&E-~>8PVUp-?wS{>g@V3no^aS%FUZxhii4hZcU%_AlS>l!_O5pn1V7);qM}fE#<+e1 zWXd~lj}x~^q&nNoiy>9sLZ z7!msmkROcRCLU5e&#aCkm^BjJJrude!4N-}LaXo~zIi zOiue^=^Ha=NQevruFWlmlHsn-sBX(p1BQZG)bWEw02Pbo{X71w4Eb$4-IV)U8?x`QvP>|3X zwmKypIpcL3g4qN2vFUQ@T2qQ=v8AliHYUO)Cm9)}rq`DWEl#V;H^UV6(#dQ0i8|hA zLvND6*x9k=nhv0+w16Un!+#*Qz(-D%VA^P##BGfW>{&8FOooP1-c*Bm37GmRg6Ib1 z0brhu_!p#p4fnqVkDEF-6AjaOkd|j>djW~Jjr+V5z*%527zm>0$+WH`-0|-W*uBgN z=eNv50L|8F@#9B;cLjlGGnheQiQYNE4VFRL1zev|z(06i?G_IKf1)&?So_uw^~&_u?^7i$aPI{|~Y6_Da0!hQYVnyBGJ#UHOffnO6oUj?M&Q_m*8!jLgPLwCKuMy3Dr`g*c5Ax zc$iY5birtz)sLs0m?d%ViA zlwIJa(Fa_~rcdHCN%ucV17rH|ajQ5nWniF#-Db~$PF#kZ#NQOL*(altV{Lb2@++Bo z^-DKA>|!!Kzf=r+VZt~D*jDwQywhES$;c3C#@Z03@fQ2|ZMa+LdJvjGm{P%Oh=8f~ z_0s|dbhmjrL5{*YIb2_dimbv}B(zwXxPXS8NZ0YGP5zX!ibUizFN)JDzC!#cnj!{1 zF||~(;Ps$boQE)1bj#z zP9c~8M|1|*TT_8x3eGB?&%??uDKb$<7Z>H6!HodQ9=oN6slyLCy1HQMI#@r{&>)aW zPklI}Adp5!JSakRE;tP2H^CCrdeHqvi9vI6-AX`;77G~2>A8(b9-Xl=G8zMX7k(t) zVex+fx(3sQ%S@4shvimqMBx;8HUm1Kkp6%pkGLBB;f3==Sy~IW&+PZd2k5F5vOE51 zOuXo`UkaZ<09{s~X_RmR{HJgF+wtGgKMy!h280gatoHx|YB|oN!TNi++zXJeKY-Uk zTiX(IVPgCyDoNH$K24exD?5VVx>6Msov{tkU}o}HX$4TLZp05C@Y{M%C8 z*Y-wPnIXVta<&1tGeCXLjGVre0xKnFaw+Gm7h$g(Wd z98VThr0Lss#yM1Ylgmta6U{231=ussa5q(A_j8YT>M~SK(`@Byh&k9)RDYin6~DzoL~ZDasEw_s>jjJ%Ei zyc}r{EdUb3)8OUIQD~%z{>;)zxAQV-&|70;<8J?0nh~sjm&qd=_Exj-P?*eP3yf?} zG6$6#RS0!;al@I93!kP7WVPvQt|Vm97-RK&3l{boz&s9hT2AB3o!Sslfn-L&ZovXf zNZ_&s_#l4;a6Qhaee|vXg9Sht1SiS>ls&Th@BgxAAZI4`TK&|F;KX(~a2%`3L~oda z$IzE6zs+x9YYC1%sH`}F>zl{n{M7zU6$O2?loR;hxIosOC!f--uBqPzj)$16?0<00 z73X|N&pKdSYpf?0b=KScMDClRp`jsgj!7kzIicW5xry`1)+zTiIG_ZW?+a63dijYB zPzG#)fiAop*!qH}u-f`~+sc6v$R2PK2HJezK+fz0E*eXTQrAk5?y~(_MS`0V4+E@f zn17obY!>c%N~G5Yv^%TQlviX3f>eFcF3*KK){JfZP`VQv7jHT-@m7n59;Uey`jv_f}w0yh{JoT$yn`qU`=fOdrocR*&$4|KHG@ zfpq`!z8J6j;f>tyv{0@M>X=q|R+Y=7(f5Qc-p{X;seN-$ryUnRss9{JKzG{uTPifA zKK$F6X7oZZ8gL#V z64Y$a*Tm|!{iai1w*yf5Ql9fZ?hpAm2)eTr{jNS8?Vt$sfMaUP8XDc8H?Y*u1%~t> z9c^hzH-k9)oO>vG0G0TxZ8%M^u%sjhcESSY0RX4};fcT@&I<&= z-JKl-Bar7J2fnpixD<|b#R6;*1mBlP4jvUCUj(UWK|z62#s@y~_saO7fV8r+qkR!| z#V3CG=WKVsfsB;YkL0(x0o6yiVx?u_*tQXlS{%3B@&V-noGBl5PlLzia=%UHqh|8p zG@yVX_gr)qIv;(v=(Qdp2QG9#=}emIQa(o@l;&xg{RE-fJbn5Up02}#F5IT|?mS;~ z6TFL_%>-ayDrU&z40KP#-t-p<=rz1rJJt-g)Web^GW&}2dc*w3!|eHWODhdGw2}LU zSJ`o+f@9GpxP4P`1v`#T1UW`Oqkl39bSjk3Y@@>EsVw2PPK#h;4r1bo4rM-AN0u0l34_0Zs?h&BE{neJf zJh#nZBL@flSf%erbmwf`P9B$mqBQM~jKK|7$6I1FYe(TtN!GfqbKay36 zpg>WMWl1;*PLdhE0ONtV5*p*GmY3~0#=e`{a4>HF=+Uv~nxdaDs>d7HjzPb6vciBN z;VYn10f^gQcvo6jxqEjaAC5EBQGBDAlTHEFz}eZ^fj}-0ZN`}tt-$=5>f}+3stpv? zQheljwYBkpe4Q@U-Tn-NcYOSA7gm7u?S=pOSn2{%DJT@-rMVuclRzuNlsIU>XDP#V zcp9q>kPuL3l4W`yYu%!_t1A}}C4&7VaPS0#)=l43xM<+0etUd$R1AC@@c)29d>mxL z*V`G2mX`FRu}J=)j&}w+#R{PN3U?(t*pA)5Kf8_4ckUt}iR^@5%D`$CuAc-CnWvx0 zu?i@cfEU6h_(S1DM)t-5I*_!{1b{G*J{&g!KY)dsH`v4gwiC7({9zC+-GlT=tX23K z$cMMUyqz{$>NWJ>ch$3I3D?}ir^x``D=u%Dzt}sUVPa<1=cKO>&~9OCP1e_@oJE{k zYhy0IDmo#s?I(AvYl@1Uel=~Qj2i31PGFI2&F)PiQM4Cz$B~MRd>A)tHi#%}9gHT@%$JZ$m25i_vuWwcV zVqh1^9ZEwXuxGoZ?Ch*t?C$6U1#y`_5uLm8<~R#_vO0MyY3bCRY$;l0VEP?1FF)A@-<>?1d=#}6Is&Aze02X!%sPQa)Er3T_Ab)VvQ;rU?NSXw&7<$jqB!xlzNTU%Shuvq<6 zlT=D!=?`8qckId^S+)<{5o4rieU`3bV$xm2^VQb#QXJO6DIY8_U7i`CPuw3~fL67D zIA2Fvx{o!|tBNQkyQt{i=Oduc;q7vGt_c{bZ~Rl&yxiP>L3RJtP2f=bdqyz;2rXXq z{*^g9O~Ln)Cv6({Baj4AFF^Z(GYq0T5GhHGRN1G1m%n!d^!+`~I6VYi|B#1s2j-E#s7IveS!J%)@8l|Eurgv<3Y#b(GJt4IEh9RB@`nWM)=d36uzDpn1wch+u~rkIR&047ne1Jc6Yz8 zgSJNIR$eZ;*u4C%*!E~sM)e5Ww%tdXYA47R(WlTb zZ_k1SF2YnAC;r}#r@X<(K0=XfzIM=N^6*36Tj;8BCAYLRBI9m@Uc0crS)p6{$u+~) ztCLmDbtXKmkOj-hjU$pK3Smih6gkULcNB~0w-fBA2R-Qr>cuRI4rUd54vEt{4j+$D zFv(KHqU8&I)9RVvGIBALAPmUG9!*QZQfL==#`RG`#|1I=2XNeg#ouq?U&p#%bck{~s^0Tdl62hhNNI z%n-T0-KmZ4mn{j#!$O6uUHngCP}0w{HfBd}GKS|b`mM)8k&2UP7#JosYB`!XrR*>U zA2qQ_B1;dySi2(9xT39l|@BzsOv$q9% zzI3~uUNS`Re?Szz>( zBkXI3?k^OOr=wguNeur#s?Gwc%I#bGo0M)T=@J2@k(TZdL@DV`5fSN4sC27@l%z_B zG|~bBQc8*-jf6;vGVj^0P<-eVRR&=8ARW`n?aIE*;TNribQ@p!8)xMvzgBrWc*L})_+it7ZJztxo zDqQarXfk~6G)LW~CYS$}OH!1S|MA@^Fk#uK5~!r+nFXU=q%^wPU3 z8QrEDdalvGb!XscVVy11(Da}+HPI#-^SD|*b@3u*xjjRK^wV5X|E_!38`RUY?5*>& z07H@IMsxSo1agMacam`fZh%@iEroi%OF0=1;;%(k-k z!X`36-cK0vStrG!OEdiPci|CPw(9>7p$}M;g3;abTDFk`-xS`EL9F5msKO6tR|qYR zFriMak@9E(96f8s%zMg?!GE(7QF{X2ad44)h%&Cc*GFg2tsW*!=h2p7sO@1P*_f+3 z`)6N@5+yjgnGs&Uxp|eTClVF0^-np}Zs)qHV+-4SSv5O;`kS%KhU-5rW6rV|5TV-_ zMA|7{=l;AFrOHj~r1sc}W5z%~6C=i*@a{L^?f6H`fFKk;7H($KdRW46U0=;gesVC| z;O@)DL8-~c(h%({wPY3A28RMc&OFMAERF9MY>PQZsclHJ2B)i>o??{`PckmVd>)h@ zH|RR5>~wOzX5CZ!A%=%nj+x3gA8m-fofsbPd-C_RWjgR&BMmkbaa?y*$ z;@kAkf5uhk1}2pZpDavfuZSV7yk)mGlo59OZq959PMG}7v$c}yFCA5Upjr|n>b%Zv zNY#zg`ehf!MceqH4g;x(6p^&;;skvW4=t}|i%~Urp2}_-?R!Kg1rtUGQL%PS%0}PiPW|n`nO*F( zxUsv~b)H=D6G!a!lM#zCc;4LutPU0p7b(Kowqj1c3|`a8@ichY0e3MN9?4btn88D{ zK4;E@o12WDtm1>T5#S@(pv-G&8vzAYFw@o$s9O-l9oz%D?NZEMJ(RH)xsSV%tK;#X zXQu^KVKL}rA%(1R9H+#X}VBTeH&eB+J^4^u)xRqXLOhougPr3I1 zX-)r3Um`C50`=d2y!7^U>TGmu<`3TdBJi_nRCRtgnd4!Uo=dLIr^r5aa4~fPV8#2A zts(`()$KlstGP>WSwaba{c4N~rERO=iLNTa=sf=QzPGsC%Fs?32Yomry0IM?7w2RLExq#M}F^O+~dpx3Np1i**I8XHT-`S_y*YA; z8KXQ-w6+A#++u~#S;+Uy3QFtNP zAZtQg!Ikcq8_8vbO0|nOxbtbN4~b^!rm;X|K>9&55FGRIbXT*R%#lAytBC6iEIOVI z+7oVI1x(qc{6t36?Coo6Uq@4+GA$MP6Heb7OC`bi1xrk5pvq@d^nOic{yl%jcetst z%;U7yLn&yn&yEWGAEpJ4rDht#R()Bpu}wH?%wLUrIVsi;hAhbb8QGpoE;L>K4ob|EwixSJ}qu8fr8X8{g zUj_x*xKnq2mEGg=YcVfh!=2>31ERLNk&UGcwORh+t5g3RbMa9zUuqVnN7RS$Gto5v!i3KEY(&LgiZ~IzjpPbs zL{;Y`9vD1PK@zASuz)8vJB81fqHq8tlvt=Jnv~vO--&#CYrQw8vJNW7T8k@L(PMK?WQ=`#rPK|abLxXh^xSb@qtpiR^fvb1Qd`}# zxmr-(Wb#!0DW2h7yf^}qK5Ay4-ucqX-p~EdXE_+>ES}#YYa6i<6%WX#2#?ZW@nr2~ zrE4d%9L67xR7j=UJPc1D$2g^s;Lc~uXO8Cktz!EtE_Bg1!0rS4T4ZST2q`+S?NTPU zQ^jA7kV@PrQE;q(w|G+Y8^cPHQ}WiQNcAc6Qy%7{vdQ3!GjjtkYW1)}{QQXFFS_Z` zxh)@C_fOJro`|^AnDBCW28f1ss~snJM->-nS0BHKWvR|d8|Q@y;8VzY04}D|x|`q> z+O8;6-be(*81ZiG!+;FUeQ^ua`lz-yis2m@gZsW@9XD!8g-3p8uKU05o8qii;q=A_ zS4y3Ek8cs!#3+~CJ|}80AIEhN0p1K2O$5f;gdu(hh z%+k^@tw|Xrzv8|K0HZ{jUOjLB zadDQJG1s)N2-bHNd>dRFiC0xH-su&_;&{tCXFI#5JQaNrw_mlH?`mN)E}kdzYw2{V z7qi7efL1B#2VwLkmP4#^&_zI3k4ihUtC@fKt%z9D!`jffg-*PGfq2*oc+VAv*Rj`> zm>6t1(OXknq^yBEK19sIOipxZ@8?t0B40%6&x(s2=OtcaaL>HO-)8-xjb?$I=s5oM z1U-=~oz2Cj{rmC!tJ~Q+^?WB8O?FR8nJ!)76Hu2+zVoT#D+^PaM=nu_?)AA59;WLjJZ7`g_gZ#* zy^)kSiGb>(->ARa_s~E5`)vL5-;3?CF=|~( zZMI%uf-E-G*cJg zqfvmQNF+;Tf8UF8(V(@-_Nv)2UYMHD2ko{bhah z^0w$>@uiHflZC!n4;CLfuut=uikh-3XI~N=kNBf-uD|7%>U$O2l#c+H;ZkeQ1lppA z^0sF_g=)WxM@0oy)eu&g&Qp#ZGP2OY{BZfJ8B|A{o|74*Ei8E>#XY}wH&`_7BMP~( z^F}>te#Bbd7WUH-tsi0QO7}XHU2ooxeJgOu(xQbNo<@%&@tD3H%YzR(-=z+fxQP4q zty~`C_i_e0_nk;m5wvd{bZmL&HJ}@e|FKJ^ufe03vtLzcvyP8L1akZBhzBtVZEI z9}mV&ttySCPj3zF(Zc6-~FRsPTV!q4(ZebKc(owdXZ9`3>^h|clwxXzK&l0to`(O z%zHnb6%3dBez22P)zZv z7(FE6SnvfN+weQOJ4t8`+E^7MK5C=Vdy`w<@QYL}t~D=7<qzeCgbWC`gr_{SNT?@j=9j)S8t>9oyJxR z`qEgD&~-p(&q@FN`!~y^h+E;=gYS7atk=e}O2YMZC^ltGBbrj~q?1u}P3g&P1g|8R zY=JQv86I{8L~?%p`t_}Qc4lTQG)pxqaUf$5p@^&j?fopqt{T?`sfd!&hdJ_LFXk`* zL&q&vfbY|@l2^f=nDbe_D|C~twM?x#unq-Y56VdD=<8D;mXH~M{Xi}L@Zm#b6MK#( zqVv?)7R40t|8>0o_1Fwv11(&W0S+rV1xfrF+fbfPQ71U_JY8C{MetA{LQz9|^$?U+ z2|o@mG#FmVJd7{py}U$T@fl;q!4+25-m;1Dmnf8Z{2~%9VRbKdncW6wUTen*k-oUuTnLyd%B9y|MYI^G%D&7XXyC} zOHOLQUYJWKgSM8-E0Q!3d=J5`>!Y@d$^t{-RJM~xnF>oGtUQ%Ga(IvtRtmgM{*&2i z##Hp_XHPr*&D{ml?6G214$BA6(3IynM2V{&TWejEhuWo=UJib|5u2Tu7y=&~5~1zg zWQM=VarG)YFE1fvW?v##sCwa=QCUPvgRP$jFpQE*Z*)6|Fxq3BQ6^f263{WR%ZAYdW_+V;)s?3c@>D) z>GEF~5*uNlw-|ezKUmMVg$%EI!97O_h+gkLTL&e3y1U=h*B{l$#DjC{?F_wQ!}8~R{ZLxrBAdD0YXC6j zp~&ij?!|;0gUA}DV;P9mWEP+)K2Ae{Yu41R_ph~_O+sJNZ zDneGEM#ZU}pgh{RRwFRJmJ>@|#kkd8#NOydPdC#TS|Yq&{#M1ZV_P@O##@$yLQ8i2 z%yIEqMk{v|oT_lPR?KX{jsU;-obDryW~#q`1I$s|mOb0oy?F9@tN1#3uq_v4BBJ6| zRqjbH*yMF+jVvf$7Wc}hcy1gZ*UH$#Ygp@2(p>=5eEOOiGfb?G;`v-Vo8wWg+vx|R_P)~4Y z@epT#O=aigj6ja7>%Mmr0S+0v{J0M)1Zw ze-V}#QULT03@E`q4ipnETvCB=qph3uzOt~m_z>)jtba87T1~R@^OHi>{V%9hW)EC` z)8&-E>sf3EpS7pJTW8d+R#a9B5{tA^7 zXi?gLY6=FOffdB0`vC3=t1b!0{$zi2z0GTyia5$iSGt9yEmGu$XLVmy$ych%vqw(D z8etEqwTch^*_~Xjz8>>6sAwuZQco_1S@OLm+W*MxhT-cyTXv$Q0Jvc6%hR|j5L#0v zC%(wSb$P)k`RD1?kD^-*6wfYc1P7DKqscP3<(5$DR4lg>k;Q*ZeC1h2b3p3#S4>z6 zm!26s&4)8$y-^WGK~CwW_>!0D@fX~#Klw6A_IL*>WcdwOzx>#kYjK(L&+Ev)t1n-I zCd?C7Fv{HeRH*1Dy@yrae8)))J#F0YDfL!4VEwO{=~%H(ZQ3q zVpttuV3c$CX-P%m;}yBYMDE?CQm&tM?^f5`;PsS6IA3rwiU$n0mH1K@yzzg)20yo; zfU~3tBa_}ug#L0{>9}N6iL&A77FuN8pMv0-$Nrk0i0I=M8NF($;5=e;+fTG8R0>gC zXPFJjsl8f8m9}p(&Ev8%2gM-R#A$E3Gkm-__lIHb68je4L8SuiQe_1N%(D6gf^QEgC@3Haanjx1DSt7)s3@lNM-iP;DOUKGKzpVZV@ivc-WXSeu0hELC&7QkUV|)gwMDN8xTQ+Q$9cH zxwX*4jF!GWG>2^a5W)x&PbOi9FI^CVvjf8bEXPuQfjS9rU-!ed4rAfiiAbw7IK3$M`h{H@WdEnPhVsYOkuzK`%l)KlBGR z0b>h#k>U?Jx$QS+vlDeJxVmthMZa{Rd52Wqum7toz43KYgP4_OpqcWT(=~!4QM&z~ z^K~Tz-OAy?i%vsiKG>l`UTis(M|VhqUN)$uB`C7SEPZSv)_Yy?U4lv_nVePr`OGXT zWKWUIYj`1^o_0L{iP=eV(@F~|(eJWvVXNXXLmoM`%AX<(=HL7g%KDz~GDaNCsgE|W z3AaDM*orC0EK5Ab7_&?(eN%8kt!k}%=p*fRcs1LrnAQ6uF)^`*!K{5?bmxDgr12QY z9*q24d2}bi(XBL(__L6?iQ%|=6#Ah9Cq(iBg#3P_9P1K^C4j`>@pcuQ@5%A7Z^JTx z?OEjJ&Aj@0BMd3Hc*%m(VZJo7Pct%|z>KF0iu~A;5s@#00BtC z1hr?$_*dBVQ+Iv(6uRpBJz#Ip%4xK(uMY~WE?6ZMk5+YhtG?$=6cukww4%{5^r9LK zy0z}J1UWCSrRAGZo?_Khv6h=P9oEQ%!^J0F_L%#>))CxZ>w#(h^UcuW8b>%okJS-+ z=VvOY5n$enILv!poAd=hX0h75mXdxsk0+$EpoD4K>6Gx-wijMSeuUkqV&Rh2%g3uwKTK&y!JT4!rmCW8=EqPC= z`M;J{_zFP}c#oESu){D?4v7^t*i zR@;O!yQ8_0ulAk1q#}c+gz^>cJ1-M6{|vgWK8*?NWKX8N5fJaaQHpmG&GO`#MvNk9na^4Ti*zkEYV1ZoxJDPuUOLZF_3%35arg zD|lW9IR4ouilj%YE8j~7-4tNwSg`z*VE2Pc75-V)a%ckUZV~QE8ZEzIeD4DGt+a4; zg}NT8Nu(a1S_(vfG!@xvVdo3GMCy(eEF~;!THE%J;WP;SI!4d4ER!yIMJPh#3)mxC zioH%uO^pB>G_lo*9}mB~-$bs1XxI!FVePheJR__G*C)XHk)ER49l!R647j9BC12_P zE*-4@I{pUe-tQkRaCQ9l?VHuao!Aq3DrL|_P(Z5jKPP{#uy&U1#*G`_VY91;evIJb zUk0aOkf*{z)&>%mIM7O2!v^mI9>9%S8no~@08L0vNR8%e1DyFGoaEL+Su*wTEd<=A zMW8_PB1KUaeDc%L6~ipyD#F~UQka-jVavBRr5nk4;b#11oF)agA>V?HIL??<_KJMr z3E!yGiikXZ|Dje4%R;2X)SJjeg&0!muM~NqvNsri+MlS=|9qzIF0Z1}GjDk4%jzlQ z6BpKxUJRSc3G-q&Z48vRC1Q#mXbw{A?|nMuDzR+8KGPwsHPMQ3Cx?!Pli=vVV+QdM zRpA)!2jb5Su8_XF^6o6%(Xzfy)6jX0d5upnY**=!Y<{VHm8sB|HQJv`ENhBJm zrt0`Dqt$CF7CPA6QI1Yd_*g$n_R_??odT7JlqIpE2FBo0d!NDCFRSL^zF&(BW`fAN zSrym}GBH2uezI&7;2WnfuD<=#@Fv4Xr44X!Y?6}n(1p;LWoyvo<>8tCnFgXdjFnhX=Q~cai}b2>W4V&)_@x`g99f+^YO3Z&;FcJQl{6!BD@%i zzY)~U#Dbs*ln_=>$L{?LGF9Y^x4YiNjvTzmz6IbX&VQZcySqDJ zM!uIn?HXx2vPRFC`@-06n&xTnt?A^BDuwDmEVS{EXDT=w7*&eaZ8~u1O3a3*`t+)6 z;^}uP#b8qO6`b67uk8HIDA!ob@xyPg#w%`bhqJuuW{Bgf>CeLL*d?wD9bM<)lkeTY zxY|#~i6I#h&b>nxCv5H;7dF?75tf*mL{QxqGuExFUw8$}#gf_cx?L(4R(6VMVrE(l zPZ;{?N+U&Ay06FmxyCwCfszobdoh))R9epR8m&8iLVaX%0V;$G!X{)XPO3la?$vJ` z$v(>TKRiC))%!X7p>&yNl}R^}=@oUG;_9EHR&DD^|BUAHDQfxs6N^~lbnWEAzwGmg zYplCwu`Oxi=o<6f9?qx6u7om&(s;d`xb-vWt$S53*NAvc3`dj_YJ^jRy%k24_XS7d zz0%@2)HTio)vGsLykoeEEKH>3sqQw7@Q>u5de{Ge0L`!GRkrR*NQrX(w{;Q76%}aK zaHw~{!1jf~2<&MfDPREX@3Z(*#DSog43>p)%m#u1>sebmz}Du$GU83Mlvedjh!s!;zg}*P!{x z{Q(2Y2c!_-$UuZ-Y=Qqh+~!n4eStWJgD_QDT1Q8R1WC?Gj}qxXxQnR#+VY$P zBaP_nVEp-GOAxvn(+ShvpFS#uG{`P8qQnB`WeAJd-o`AvR1K7G%aa{tyi z``}WqKRCsuh%UPM0i)Gf zKd3D(lX>#w`@g=xC8o{Of4#I+i^}pPl=s47v}Qbv{1dGz>I%&K?OOZuB8%$0LfR1#UMZzeWg>a#2;6`D$p z?7ca-W=zv~9d8}&*SLJTH`IfMPU8nb|6*dNk)Mg0)t9e+PtIoi<++jfMFTFPZ~@NH zai}|tkBSO~uAsibprc5Kt61KhQs52VV8b^wlj7ds|hNm9Mo7OFd%H zqq3@-fn^3k=^f{T?sZ{{;!rTlzp|5t#9_`9 zEBQ1i??r^+U$d7|x?C{V?PdFd^CR0yauwUOG5Bn*zCo+pSKg1C`)!Cm1$aol3hc;_`t*onWlGXAytn(NJyRh*Gke{^HK!ShkDcV>u$bnl-2Yzyu#5Th>=_Qy_8_{S8mC1 zHDfuiaT`jCvRh=k5+av=7RC3EpN=y5T6_6OGl|?3v)l~!Sz5Jgqi4iP9?40KETB3f z_LK2wYMIAjqGlwmmN)oiFa42a^j*!W1;Htr;u`fB`Dm=-s|S=q`JG1?*D8z$=UW6F z%RJ@FUF@EZt5tsCa|{$iS=}k4Ar7k4oXLyFn7>0B%8s!B5k{7Ga>I)}eH=rBi#~=c zQ1tCJC%J1qx?6GmpBmK*?XbcFyw}&1_Q_zql#$yXkY5QY94qLPX8%SoW<~+69n26k ziU?PcwwLQTogq8e@>OTpm)nHT6cRY_lQ@7U=NS=+?-^5h;GC=Ou(a25a1>CEEBD1) zf^Mf+of)G|seO1eQsm92zACwFch<-9HCHoB{}jlqd0nUYr*q|UF1G^N(+V$Mzg9UG zRQW_PgP~wHZM>9A%`oa!u)QCNt2VU^+G1M#&8=_8d{v27l1bX*eXD!zi=J7iR=ulj z{M?VFu_^nFPdEXaq%=_~#2#;AQt&PBJqp+2ri$e75we7_t}|dvaY@hW5Ncr2}2| z%aJJNAcy7Cv&4687h1!M>&!=Dfo@K>)x&gl&x;yZB7VG?yKr6~^;$)VjcPh5jU<}a zzIr7->?EKa_T(Njg@E>ovd{n?E48V&lAPddX6Se^jMJc76x3>ArDtbKaj1NQQd?w1 ziBelf5LL+D=9+y!R|I-mC*$hxe9*n?>6T*FnqdaDwGsDzEhV3Rk|bVJ6PA#jS=B4m zt)$<$YHFhuL+~mm2B*oZ%P4j^x%A)TrdbaOMp`qnN0_JSU)#%vwp50hgGb(m>nw%b z-ogI)?cvVrTb5)L$#*P8()=!GNRKe7cRbkaKB{9UANljp<6Hk*$1>F@Vlr%Xv_E@B zyXBDyTVQtU>{$!Ld9AEeJF{(LRac*GDMc%ZU#pI39=H%&Gmqtm9Jm61B|f%Bb> zes4NU({1uIIm)}0f&Rv1>iZ-ux1^Z*@^e?^y{NC~6$+;~wkYqDW*Vzx^z2I{_^uxu zSE%u4w&Tb-g)PCp2s4FEn%d|vG&ROJyfg6jeB;pHpwyH-p}?mu-JGPiXe=+|j+*zC z<~hTM@BMkg@|W6tl6G@qduCG<8;Ymf{xC~*I;<^NGJzL)UN2Mzgxs;^aXdhYjjWZ|lj3aAJjW1P% z{G~}OzgtFyXq~H4YV2B)F91)<-cuXhhX*(&WBo=$A15}Rq1C-R-Io)ylcV0Q_0Hd1 zIzUy$)N>1aVUnKv3|WZoxNH{8r=-5mm(l-N$`Jatb2^w2M_paqc{s1J5WCMiZ=7kJ z53@6n4zKC`;~mZ?vQ?aS_XJ!fep7}1OvdVR)!5&uL2bYEm99%OEM2w}4*4n+I!VO6 zD>Wk;Tqas5+=iYUS5wL+pDi3$O#EwnEF57W^jVy;v!>l{(s_@Rhgct^; zI7%mH=iW_R!+!Vv=aHf^Q0GPJ`NQ*Xe2H(}1!$iRt=@qJQ=l%rEaF)3 zQX06amwe>4%h<2SwZ_u|9N3%oEBkz0vD45>1ygFmg3i4`HJ6y=jEF_v{S)nTpS&(D zR4ts4!7%5(bdxrT`~?QqutPh4;`RIJr7I=99v8v)AK@$=vD9MQBxKP;s3>(!{d>zg zqnbmtB8JBOk5l`i0s}PBju9KuD4iQCL%mJ!o|x6a8v-ql2QB0b;#6Idf?P6BZ~Z|_ zO1Bu7uMy;CJ9_ke{QV8@J$!cRiuRe+H9y`Q5X|aFFon;?l?rlQ+`z*GL1l**cPVM4 zc_I67iA`$of~5dn-At)?<;;fWfVb4}e?Li-^F9PM=H-T4H`RD+KeA!(RPhbCy5Q2+ zRCV3n|82`S2@npk0HJ=L^j9`?k8>csRMh7Cf;S@{v^USYjB?mLh)R6)9C%JjdNSzP%REF)<2(nkISrh6$puT+z@DL4I%mZ>hovL?B0 z!g;x?QGm5SJhI`2t89Kx-bO)02B{K%Mc|5)Oxs~((E)4m+*-P+q_x&Q?UsmxaH>%) z^!8T-EHyT+(sNgrzKYm0DjJh7pXl83?p*ikuoM77CxU^dX3WGUWL!yG#m-2;#emIA zVfCQ-7Wd*Aqv+9_8e>zmoVLjN1}ZhqwTdOCv~QhIp;y4@&`zvMGfcVmUg~+-czoil zPHAfy{Tn>8A4Mr*Tx(~J0z(up-};{78`;O}7TG0lxL#JQpjYVa{UWC$HGgydVP5z0 zGmdquQG5Z-0NNvM7_W8q#Hm6(sZ?n8>ieY}o5&aV5>yIs76RnyhsM+U0)xkP{C(Q~roEM>|k6(zkj zmojjomy&VI`5frSM;CCS^-j;1fYRl=2C6W*Sbl!OHDSwSam-j@l+ z3|$~%dk!s?$GjDv_oR_LO5l1pH~-3q;aYV^T}BXy>#P^r-5`Vj{f+xM5ZrmF0Z0 zfF(qhICg7AR8F2h$NpZm+2=)k`JaK!peuh>e{DpBQbqSTLve_cSkj>1N+0@9$oN~I zjHU2F9u`3vVhQ8Eo_78x45#NVTq#;D z+OCAISpVjHwzy7j{y~T__d?C!)p-9tL&P0l;OJl={v2}+gXQ{lVj!44fk#a^GF-Rw zN=&y@DC{0r8uPo4)t+9lJJ)hxg*sY3=(%k)3wT{Ot;fU*k>wLKjsKOJ?lGlgyj_@% z*uWJW7*!caGz^ww3BKZ9k8uGb7Gyd#kSSGnhkOROM>+`!2`iTR+FEMxE^7zTd}4BP z7zF&#I5{~TLBI+I3aEolWG?ar%cb#vR8J$Y!M7Q%I58OX97&JZ2gYlXNS-M~g{SFM z=Ay@19aUV@C&Oq_P%qMjm$et*mqBHYEq}YMj^3Y((A+rTIvys6x^w5ScARF|V|lXq zzbA?A_-tS1l?`GT>74L;#@BJLBq|HD%J29ig;gkj$c0}&md?Lyg zWe2f$9|qWUOmZ*qSUA^*p$djeKoST1=U>wH>?3fjKnEF`C-5bkt()fHjCSS$g*6i> zi}1kXQu+RU2Jov2g+~9g5R2T4+`PPpVEA)wj}RMEnxan6}*YPf(b@{t(g!Coj=es?R7*=$&^lGOpmOB!0b;E5)>4dOhIFGWd zo)Q2*pYNc@h8D@)S+p!nU)I;xtyXV3f8~amJ9n#b={+Jw$(l}^If!kpFyeDN&tCN< zfrQ0++uST|M||LSre0o@j`Yo8Fd`!x2bfZCBKt!~dRhGbXbAo$->)@I5aD8h zHAW~?ldQ~#AjRiI$hffM+{A6qLPbfh3(3C=0pA29%dTyqI~sy$pMm*I^U*?dJz#x_ zSy^#lXJFcJbtV~pCXUn}>3E>0E+LQxE)i`o;#QCfuDb56XWqy}lAtyZ_&St8sWiUP zlCQZQQ=qnEf;um{!&*I+-KiYY4V&zN5M4O8ZThn`ZmVf0xhptJ==v@n7J_u25~m97 zFbB-^^|NnnHzY`_m}l9-$g&gmv_GKie-O7*N0)rpQkoiYYk#1}dvxFzP+=S+u&%u0 ziHAAFN=DR9n;n*Tr^sgW>7LYC@WFN0fj3$=aR)txJohixvlP-NG2I zCk@YAva6!9X*VI;}T+7!LNxZprj7e(_CmXNQw3U**HcnLWzK^>!IdqOoNW zC#U!GI*Vs=D_h57ZudqD(vh70lTOKv?`6iQSIQpFNx<#NUwO4gwQ$O5Mu{1M3XsjN zB6iy(b131CvhsViCM0%Ul9p%zY4{{@Y6^hMB=UIzx+#dx3OqEv@4NicYW?f2i&J3| zX4#TS76e`pb-6d`v&4|8a}`KifVZnimKf9|5~wj`tCt{`rxWa?o;5c&yT`L)9eFrx z;pedL(xx(GQDibdc&hh=jjYDcfl)HK-51>1SU3wVi-YgkGGNWX>5$&Ob0@Dc(A!(A zP#2wD_Wd_BzU!A?nRS-7nDH9uvS>MC9jl1b~MO(tm{UjeE<%JtP+acurW;N3b)JGcv{^ z*r!Tf<=CPj;B_#h>4r&qBA{Ae8gp4ToAh_{9tkozhnMX|T0^<>iNdB%l=E zS^FsSP@DnsLTMWR>gP@JuK)HLXN7)FAtJZ^(g# zHdI28<}5r`LC5^#ao8jcZMozdf;x}0#PT|}&K7cQ?$$&ke>TQV0P@NZ`1(a0IJLJm5$GmxKXNo~#1gVBqq$OvlH~ zEeDVTz)X~4;fE_)pBMxzQSeX!fl!Q=B*D0ATI;H}LW;@`I=+^hn=2_D_szLG7z2wX zitYXT_h2ZCY5XcNBO?a>Hqb=1x;Q_xa*+T|8ay{}49yVc0vWi2pX@7ZxP&#KEc@LrJK3mI%hNNv1r6AF%jlIK&vn#4lhNY z(9p~W{|>_(=<@>t8p_u{`7uz+*7y^IgNB2-*CH|uEn3ywPf{CwX|$s(-DT#+Y*}ek z@nBANbGE6@lu*L54MoHtUNJ)x8W&OJn(UmDrE{h5gdBQYNn+YX^3_?6Rm{V$+|p0W z(Bu4xxU)4Q3KIm$uSl0BUERcFz&Zdcc{7B&o~5hn3Bjq#)Ii1Sg9Pm0Re&Jcln0zr)k8Nm&2K1dy8tL-_R|UW()ez28p3JsZ!>h4#&sdNV&@P zMx2-WqK<&QdS9*LkNEx7o~Yk4slGw0Xz4}3L_HdD?hCO*ybka6Sq;t!)*GMFq`aCm zw^n1DI~S2Px^dt(nPuFeB1BCnr0y&bfu5S30tBRkWBusfiur48! zTCEImau}wBaj2{5=zIc)uK5E$CSe}iwZj=>dM zZ1WWC&cVA5JuMRlus_6)MlhpK$=&O&AXNes1|fjwBW_8Pl{S}DVrWAU<_sKhKl|Uf zd6TBR<&geH(`FS@gY2wX>tPlKy(TNu4_#Bv}65AYRDff6#^PUZj&9oq! zoUD6bk#eZ6p%FT>rJ|)ZppIc#)$1jB*?+;+LMgpFEk9I>lTL}SP+q9JI2?LH>^0HuJwlLT*XYHV`^nq7$%iZIR4`6QW8o2_CZj>Vs1uY|{5LEl8U10XTmL1P*NC>Mja zwzky_gn8uViiT$gQpRxs^e~z#$`hP`!yN33SY>6I;M&vhOB~7~u;e1bGAvP&)G;xk2a7I5 zC$KC-0o4IwScCA!R0)S|SfnhsZZU&t#M(qTGq62?GWqQvdpVqaT|%-(Eo@IL|P7yH*Nxtj-^5qj)bb7!}4i{g>Bj5&24l+2b;2sU&2f~7)ELXo|`apcH z)c=9lKFvc4u>Stw1N4b0azt`-bFYCTjvTbiVpQ_<7ZugssEH&UmK@d~${0ldGW83%IASYdsE3Ed$`F%!Sesqk! zMKT;BdNhQMeXW!`I#&dtN0z)P7ob70d%Vmldx(8h`oPu6&R>=!DD%e6+!8J&zVY(U-fWH z6dLO;dOURRb)oEINR~8$NpZ!?6#PaX~}muyL@2RLlF4z5L(RU2Mx=w1X|WS z(G3;W-BDsWSy{IvEYdf^wkS)2vtGRtz`UY;TnN@1u0NXT=Fk^15U$)*`Y*+eyC-+f zR&hz9%haphDL{y#v}dZ{j*h>a|97IuaZC)6fq}tW%!B_KzBhSqDQIgGLqQHjMFQ-; zD=YSZ3-O9=fm4ehcq4Z+p+P0OwKE9@pWUD+3ImXhh)J3jNS#hlvOxv0EjHsVB8%bI zm1g(P*4zfez-K{ zc?PQM2-_(<0NraNd4k~92qz)>;0SUZ#@8#6E6XQqkg$TxrfYii&e?7{*rRi(E5O+U zva7_`ul@CHD7e%p8tmEME43#L9UgB|cxXv~fuY;IGVG^SSx$a3_^g-oMzNbmv%Ej_ z-Y^Z*^8eL$p8tI2eX`ZgP1ft|I8IZ>5wVreLgupnzTz&8`}H~#trk(+#vMuKOM*Gn zzDURtIBc}Ee&c9anwmL00y|7|f; zP3{Ei^T}Ld;Cf>(>iv}rM{mE8$%RmUvZtMwe6WO)+@#HCS>?#;#g1RE2{qc0mtI7i z!*TifYH1J5dnt_3TuO0?_1qEdinT?VUyx-`9(2GSUL5z zR^%PjM*LpL=$c%Nf<64m_wNB35oi&K18@csV-WX1Ay~M9=1UScJqtY5E7HAjZr5+o zrrPSCmsa(KQ|k^@L?j#7ie3YT@vfoSGYl-;oVRb$P!;CAeTxUyKi~jYy=&^}DTFv* zBll?l{3D{GIzU`B^=|P}m^>_9z%Xfn^#5Pj?PP#LmCoP2%W6DLu|)u(V+IH6-0y;Iwyn>R6zT;?-N(C)SEr z46?yjS~IZ~8|~j_?yD}Pb}BSAfR8Kn2(^DMX=`7=cI`T`ca!$i^WeF&lPL0izuR}` zh>E9Bc^nE?J?0xI(epPSv>~%x@6wgJOgxV{d=kp!)PdAa(*?$QjSJi*ODrx`&7<#j zVLx(It2<+P9Iz+`Fw}D2T75R>KDWffRbRVY_mblA*90gDnpjEdm`UpDM7O4vLx|+4 zuuZku$aQ?zz*pD5#hmjv zw?Ogl^?z`K_6r!esH>!ij+?+7^Zrrw`?LQhEyAM11OP5m9y{~$sM2e>P<_69iGB&9 zj8q{z0(11)W0ah-^8cghtb?ljzHoo&ZltA4T0ly=ySuxjzjPhCL%Lg9K|nz1?gmLI zLFpDG;V^KR_uYH1z1H)59waashFx|*h&`M=gNH}^I=XyWPRv?Ub6IJr z+wHl;fj=yh-6#r_B_!a3-U2~p-Fx~L42`5sVi4UHcrpi_o7+7;KIYp>^bMBLIG&RP zHmZL8Ru_}#gg{uot@H0jJdEiG>JA`^9D<3RfyfyL)*#{fYoa0_PnnupzI5~=^7z{S zMY(b%H08{(@IszC-M8F9P4LLQ!hmm->Byk60LuySTbVr1vedQqbkOMn7j6>#aKPpQ=(+fhP2QEK9z&Qhpr|;@Pef^?!*ac7-t?a6SQe z$lEtK!02eIztNqW54H%H2@kXozER@LrjZ$SZ{mR4C6Ey-q!!N~Y+XbBfl6uZGwZx5 zp&=Ytzo`0*lpeVmIf=)qPb2qpiunSh^1#*=7wdef>KF|hmGT`rzH{Grzw6ywzj-93 zm4+bOiCC)<*2P5I{qY4T8&ePe-V@b{d0g9Cw{^=Eek1c>4&kiXNy(*%rVFMb%f+FY za(UZ)lJdp=jFj#N^y1kb93X97{_(s5!sqw!RW5F&gTExo=26-e`hK9n%i73SxkEH$ zvDd~waJ`hyul9T^Wmtq8Bo{7KYNmfK?@0hxIFnmCnmK>QsG?QASn z;JL(rW-Y8c1^&ZZbD~!$KCMvD-(gaW-J=kS~^!y=S4Of<T~1$J+!B0i)OW~*w{mUU$yuivysplr<>m;i=%77-$iKWR;ugculWQstg60u2C7(4vj% z6IGuA7iaM1P`z|! zl*L$63={1##Nq;!IP3)S^x_b+Gzm?l?tjGznNhMxk8$ug$^R1!(bPYS)6+8mdX5i4 z-5*omqZ{8Is&4Os|DeA|@IuI=HG}x55$L{6ySqNqcC2y3l`{7frY1?rM2-*$&nOM0 z8KJSytvM_FcjtDxu!hUCV+av<)?siAe#G;OKH@6rXt@6N^?=VwnXAm{uU@C^20HGd zxLf@<%I<}7d;5#x(mEt|4$iMT%{#s7sCxPR7Wb&+hZG_FRm0F#e3348SLX|>hV!^2 z8U|4?1#*AiXiVsIL|YoYuWh+XMD68;*i-Wz(qtnlU3vc$OoAE3b&l~R%qxB{43HUK z4JXsX`qhH}F#;PAdf^^0m{w6FhXm#R%4LlDKsR)<@|q|f$+qb(JuTP~ppA0vJ^Um0 zL6M)ychUrvE`5)hUG^|{BNHhOvHUPnH@p+tYaRkd!YfX?sHi~5pUss25#!}bxyZ(s z;d~Ng-f^lrj}K;3KEeelrA$1wr$^9`gPs!ve?h;;oN%` zA|bD==)!Nfx#!{y`DG(F`(pvKsFrfJp=FOX9pHeD^J??@#negqKo_cE3 z7;wu;O*8wSXeCYb!?Yl_edMGue#mYZfmSPAddNimW2 z*)q9?>@Vd4zK$+CrdWbYBdh!6*$2iP-G6@qm!D8$Y|$D=+=2BWmz?}Hw;1}JALgyI zXGEx3()4N+P=paJXkD$U;%!lgE+ar8H%Q zy*cRW4Q#7#XI%ZSTwz)`;Kbw|0QMMUX6VW*lGCT2DmM}Tl_|*(Tqg@vO)gD@MEAo1 zLKd!#pD-m7s$9)F13QsDm+}&@{b!QUebJCul1+hD?#U!eEg6Ec_%=v%w_@#mM!~G% z)w`J@NOu5K>9gIL#8(m1TX-7jyz9@0NHG*Z_J~f`-R<`F!_Phh<{#ZS883d3ykdkMNMfpd;QAdF~MZLIVw+ zA`y$()kQL{AX;^%AhP)HpTgZp45DqfQ?9^={s8BH&`B!PzT$Te_+D=)22rLb2S2zs zxotBQZ6`LYbpCh!<;y+~8R8OOJLuqO%#c$t}g_3xy zrcwKkHq?Y{LFVU2>YnV=C8d~8(hV=yW%jTV6gspz}9qN46Vz(+s>FNlA-^wW8<8 z1;=k&%Y3Q^EknnDISzJsJ|G$z;HpEFE48kXXz&aaQu}C|cF&%h{{FV`NdL8ZYoes5 zQ_r*BRG%}7o+93dk4U?gtEJ==hvQKDXqrTwe}ZVh>8yzs4B4(s_5T)Zn}&8-g9Ft7{z5pJ^ww9>Q_k58u${e z_evPA(rk^U2$a&G(XEgmYemlx5s&>!dF0+RXuc9Xci1;9p}j4Ld)i)+bNAC8@avuwYYt7XaDzn(58F7`1QyK@gB|)siQT+0T?D|~_b*?? zf#kqs1pteby?Pb*Gcyt7pFS#U5CW`xBe%jPQHx;GPH@qO*`u|`j=#1$Id3!U?0Ly# zSTclY!v``^w6uLoLd}REO`Yv*RUa!5l+72pFcHHgTGjODdG+39C9(ySQ+Mn%#S^%y z;RhIh_YdieCz4uf2-INLWjhi7Ps>vCoE61aKJXwQqwIAELhdRwbLWFjWog4Vq&T+e zL92={#=A9~^m}vn0Rdc@qdo2+`n)mf>as#S!ea zqp2*zgC7EG&n-{3*UXWoq_h5Ew*32&K; zdc50EB=Jsw+5Mgslx$CrHTPoH^&c8ay%0(#4O*E27L9?l8|7=+2bsB`Sz>Q0 zEa=nZ80+aw2x+qU5JUULJ`uRf+ClmSAr#4*XKC)wN}(4Chj_Ho@b%w4f5x(gT|-UR zeb-t{G{rODtbR|U`YXjt3AYBe*_;b<#E2E|Qgg2Tn+N=TX!$YQ(Vo8Bc$Y3ZH$hJY zAMNUfI|YanLOWi}s8cKVXe(>>i7k!s6f(In6`&XbjLm4DuB!sADr$K2NciBZyiG7c zr4;AL%3Flz5SEL>?Aor{e9-Q7EBt*3vOfQAh(e2ME#vWnw84|fTLpNMHV-x->w5&F9Iyzpl z!upj{z!o8Vf4QtDM8vsl!!wrQ8Ps_^FFY;9TD9+jWi>d5{e@R$;?ZUE8;WBcWW8}l zzerqwUTRB#xiLbW8I>HHwt=fJ#eRkM_gC3%=x-9r>Y6xZA*}I6b#e@e6b8&>%#sSm zu&z)%lFnE1RxE^TvUw-w&nSV3=xMLW}SuOUB2OLk2sDhxV|UH&LpC}`_Vu;9Wo{O&BheYoG3!@O5^j53UY*<$KBNqyI|Q@o z6%MB)+OjGumNoR2tl3pm*&*%#;wD-IEmHRz)V1;JeKmb$11Tb6`+{@rp>uWSDY7qY zyW1q3vjbFcL|MijqY)=vH_i3i#ND@p5r08a*u~0pFcC;l7y#3cCvyAHWo~Xl%Y&>*|_xHZlk`*!?_mF~h0^ z|Au(+$BzV%@Sy73-Ttube`!CvbrN)W^P};XC8B1hv_XXfEiNiG2_`LBVyQk`sXB8y z62`t|<9+x-nT`TVw#^EWOv6XQ-0uk9Wk-<|hdbQ5Y|d0D-RR2meOqqm0e}B)Z_G>M+HuG+&q@ECrmfJ1(Gut%Acv3b#VXdalAJazrPvY*y?Iw0HBb${0^c{O$z%`ukzf+x% z9<@t~>_>h7sNr)%GqP@1)SU;jPWZEb>#evL3RlmE_no~M=!jIRzf*LS==H3lY_>C7 zmGs-0<5Kbw+$e%u&H8Y>sZz#jwJoIo*)+z{_!m7=)jlYZT9O%Qq@xAb&fPlUa3$6r zwHdLnE2J7ZGNOj9K@|t;==!!lE5*s!eE&FIac4j^rHDB98Y65A-_ma_VwpPR@BPG3 z-ys-M7B1c#c#?rU7nI<~9jXV&En*W)b_b)Xz|@g{I|03C8#cJZ2|h=F8G(I4Wage- zSkRR-W!?z9F$;oi!H{u=1V3nt0iwYRv7@sys8|Imyi5YxAOD9Ch02+BwerGO{aimx z>1f9;xn%?B4l?|GSwn64dcTvnCh)|_@5*Gc6hyR%eAyuiKt9(emUvr+sq$J_0Jt= z1Nx7tK6?()S!z}cQ60y>Q>=Fqi5$5d_6AIsrS35iAJZ%fB{rEzMutD7YMRQpOeCv}SeDBD43Oth;nto8K*g<@Pgg^U-#2+UI07a`WF!t1pln zBm)t~(LbcC$<{mckm~NCHG;PUFSoiMe{pKT*XJlBKRrEx$@wq^8}_$G4@(v*E4nqO zi1jrBOo~@l6()$B300AI*IBC${I8 zH`IhIHm|gDD6p?7Wt~+JTWs_YJ1TaH^?6HIva=_9+LM=SGQdG4*kJ0 z5C1Jd*+DItsT5yl?dT+I^qabp?EN@51lu=Bs*mrrx4GCt1tU1(6f)bCp`32z1X}`u zYL5aOdX!OCG_y* zm6y8GM|XF6lR(Z-o7!q@-Jd^~;aJs#&J!)|oF=+Tg^W^GM&Xp%jMg9_gsj(|*oE&g zpo->?(dFp8e!tkW#we+H0KMxz5Qej3L$~B*f~PodUne@<#3SQm`fY4twrHj^S7e7) zw9I{=7#u0iei8WjUs7N<@sGxxCKhyFj_U^xifCgFy&)QIQj9ludJ3sysP$D?u}B|3 zw3z2I63Vzgq}19}tcX71G(AW<~a7 z3_>}kV1rb&WJ%*C=NJp9&2}S3OPV@+HZ~Z%-FvTur4?l5?AS9so2iwz_zU{$)=@6* zdxJlkHWN~yK$j_dY7dbAge4v8V`tKt-_>}3VK`RLlm`;pE_HTE zctMal&`zq{0$-)cn6+VtM*3=N+*Wc$`Sl(9r9+xcTy3ISuMur?stsw<&evWu_*|#+ zRzus|45(Y_G+Kw|qHZdER${KWh|r#kmQJG40YwBg?_o%&*-VA zR{(PgV3ST^AbvbuZl(g`7a5Lv3txJK@h|VkYdN+esly52xty_47sS)8vojGCGS~kr zd>~pMT`AtP3^vH58Rg!!#G?q+$HqmXLnKrQsfG|!pkRj-Ylz#rLA)j>p*my5 zmB9mb!m0P5Y&JDs-3T=kP+_hS#QcDbuE1@VBq*;1OCH`(%?LqQ_g}C&k;cqq zP5F%Qw1t3{xU)3J_&<2@KYPhrGo?b*l!ot@BFN<|fdpVj{CwLQJEtQ`S(WvUU^w)| z?N;m=w-2DVWp(hjq#tcQBPCx$Wx0fe&KQXnYa&V4cDpRNZOEI%! zxUH$C`+T+1k_ZZBTi4;Cp|PIVcY2(yvdx9YH*W~hzlD6$X9F*0t4AC?mS3Sy)6}k- zfdeD__hVt{1(`$aVMlH+NeSRl7jt`?eVWCPfw_Kz$aU|;RSfO6)G=X!nD(c1>* z@f+7FBy%w6X3?!Pj)i4r>9oS~RNTS9>e=${_Zr*s+l>osSSlsS%a=Bbp2B=CKVks( z%k?)T8|iEMpfIIKPm{%x@qa2SNEQ<8*Zd9UStpUSd()|5+VdJ8reCd2$}VF>!b@vJ z2xD{m70Q*ULzywCeR;aH6;<%O4qaJ@;zw+omfL+e=MH$W`34(2{7~X#FxGrdhR5Ij zr7hAcA$IP#T$MNvL)1t&&&KwxCTjdBj){m%HtkQKUOCw7-n^q2rDI6H(u+&s_Sp%= z>jG6a&44)+lCF-LRD+O-6^7Pf(E}e{MJRs%i#X-r5Gora)laWv?4r2W673qzP!P%S z#JQj9@2+5k5qw`0dGi}lR?d%p_+H(N;BDw`O46C%pR-_W=yPx4>88Q=o|2N+!kx8L zm7d?XJ2F1K_{(a@XL_Wx9S!{v?(^|LT2BkJAW>sL694Cu17`k@#;tB->|nlIU$LK2 zn&79RlR(Gc*%akuCgSAV?);IVp~v7pq~kLsaqO$d9)_#i*G1E?P5VSfJ2QOqQx`t@ z`=b^^rd`Ws*2%L?KrpLKlta5c?_tZ+?$uqKgcTp1%0q+5w_O4QbrthYE8wvKo+$0h&Z+kQT()w>RUdDRJ)_3THy7O*QG%}qQU`O;S)cp@-iaMW`>e2F#XE* zR|*j;Ld>9^`1=>qv=$WpZxCd3@X#VvA-I8$$!01U_XlyYI=9yZVsfgiKhtHrz8;pQ zF){R^qY6(Mt;AjFwpjAkT2SWrV9?u~Fy7^itrlnc=HJ}a z4<+@%FtrxtoSGXU=4J5+atnnJU_w`nLG>xn(^Y6!hRpiIoO7OZxjKued+}ZtH zGXM47{w*gQF;cyki4SzoZrH{vzB5(6$pReCzT-w4ni@vS@1iWsfjY)Uqz46uav+g^ zBL-G!iz}$wf$jXXZ>sgq6#)TZxycUawBt(k2Z&3zp#}t1r`0cLK$imo(3u|Nf91J0 znZqb3kS)OX9|llAH{j(csjtTYCWgHRICJ>O@19Wmy)qN9|LD9VQ#zNx{$5KgACJMp z&&UL>4SbqYjXI5NSsRp0@Oi*TqCwayw#8fCECoVv~n@GI>d9VO-D zw>&94Uy9 zN%~vj|Kcqna0>98s58nKEj!{%SP^s*%=t(LDw40NX2LC&g;AEVDTbpa+)+^wF;6z* z!LLK&W<$Of(n9KG@S`8+ZODAU65VJ_lCGTF{-*iT)N`%wC z@=e>Pn~cM%&^{)Y-+}%-6N_t#;vOmd5!RN?ed2y-iGFCQ_{!?>CfR(q+(h8d-m`ak zrmBHF8#98>@DU}N~{-TLLdXKjCvl@sVla$IQ)*hInv=Xq(y zJqFDi{x*{hBMrOP5#m>~sh?*iMYohU{t~C&3JdV2yb*vDt22M?MHrKx_ftmtOgRZW zSm6MS5-{gHG&FP$qyb;yV)I`?}!X&?nH|-$SDVC7U}|37$FkSjwFOBea1V`cK=@A zfZ-HE%EjQsg#n`n&!ea9;^JadVIgJqAT3+xmny_z8ZzwC?9U~?1*ywv^A&pWrS(H0 z9x2Qo&F&-LC?a;bcvWg4AtHaKrwG-;cHEddFkN||;oBV%fBC5fh=N{NLT7Ph`(E#R zla=a3d^P`-k~A%GB!j_8MKX95fNkaQjy<#WyXElN>F_TcvGBs={AkDVp)i*|Z;FVF z!w*(oCU#p1e_eajqMz&YUQX2@NAVyDUnwedU(7YN6IZmJOPqf+VyU#CFOZYql;lws zz@{F>$Lt@t*YeF@vmtD$x zb)(Cs!&-SW1p;&cOBVE1wROD0hc;Shy^XizW!vV2+1}fRazK0nfA*P&&mg87P#ZZ= zW}eS+VJ;X zb=KegKUDF@Aw4)veOZL2{dB>tG6RN|j!A5Al z;vLDoU;QD7HGJzVmTLG{Z!})ZkXsU0NacUf$(Y3fE}{34HRM$oZ{Nc=;sn=bJFHYC zj@U3vbwXO|%o4kyHV`rWbq)9Kf7X;p>jSTVcVyx~L)AXMEVkxfdRiD794tXKT$AXCcsZdd9 z9Sw;74LO3wAg$KYon4Eu^%AhUON;ieU5($jjt=elQ34bmVBdm~!_^(y#~G)JY;k@g z!69AKhT)9qy>;gmN*l6x_IVCyf`^OkQX?C<*v5$rda@1J{5)|G)qUscT67~iEqsLu zdw$xF6HE$*`itMcM}mwA2suC0#k1)V93{5^GkI)Au^ISwirQBf!gVBGdkx{&rbo#w z8lvPUueKGdq@-OGY%Cvh!Xc2^fD_jsB>po8AI?kuMuqjLvvd#<&NMZdddOZ!XWa@t zx_|%l6g2+@+_oUVxKSz-4@qy*Y{K&=E7GqMOp?;lA^?x`y)xqk6y*KwOz=!2LK1A6 zM)s~^WXt~hh+qu&qzl*El$hARjT_dBt2{5wOd%;TPNzW-R`Eh3E5?%kQ^{w0w9@($ zcnXw`6LDrTTqp85eIozah{ACl3p^p@Tk%WzLA}rN$8f}O!KCO`*;yq9@CnC~X>vkc z2Zx{Wdr~uV(ayxyp_<`16jMLLT7z++zBjXIMQTH+SP+qO`fs6U}Ze9hh6GUb; zs^oPyu$q+%&84b^WgA&!HT{@V)fb8W6l(c?Jb2GlGgbvw^0pg6@SAkVv|jgOg@feM zo2^IVxizOl`GB(N#K2`O_doFsl{Zy&-oZd0yh zDq`jh*AKPz4W+ZuAK*ZPl&IT>$#P}r_|Z*%_atH;mn>0td)Z2_5Ho1$l9`>Pl}gWM z)PiYcWo0uP=sKO|6Uf=C092H)b?N@bM2;^{#>%P;BP5ws;p*a+CY~04$FL5>t>vT; z9(p49&w}ZRL<(ZIF+`Ucou-K01Wp2ii4p=0$DO8G-!v-6xm`AYfDOKg5=y0l$O?Ya z82^}yqO#lhJV|@03;$G2>A8T`lv*y3(sMR@%)eI@?qlrvTGVZJ(DyRnuO(=!mz`== z=G{K%AyYqJ$NM^N#=9m}cHo3nI!k-J$z?CLqsN)#nqeNpMS{zlB5(uKld`+iFVI<@ z@K3kj)!`{B{1cOJ^G7{>R+KsNER8*SpDQtali1Nj`9Q6Go|%CZ8S;GnA$={_v+SNO`L>K<{s5qtk}x-ncG z;;70%vof5R;i|C7YS|4F;gJpg%6FPE_K- zmtTyyt2C}1y|>K;mqI({oajJcEyX+ybmeowt*i*)HFCh$q>$U3M`gZ zmiZT_n7uORWN3$LUXID1cgM(ejCA$!5*`V$qjSM&C}6b}Q|}at(*<0-{q7XTAY)O7 zr?*!3Qy*}a{z4|Bgg&~%i0%Ipo8MDr6rMf7MC6}ZH{uH3`rH%Sg+lAQ*gpoiPVIpm z)~Bt#-Ndf9k%>UvNS@Su?50udMiHt-N_v2rieUTTGn&&V6zR0PL0)o`3H9Td-Js;u zAjCtDG=@M`tm#a>9lVA8uQ~kn8Q%$+-7Kpac(E9+8J5(rAWDdXQYiHNhX~Qvvaqd{ z{Iy0WdbzaEY_%Vt`64k4FPmquFyh!~>kXL6@WZBsQ3UuFC!yfphUi)D(7i-`nvzrF6P`sE=%@S7F2aC52*OefD5 z|6v|>KTt!=nVBV?`fL|Et|azp(N8I4_UXz;rIJ3q0U7aX^dMTLfj2J?p-Oo}yRh&e^2UAxL% zVeCTR>2vKDaDv0%U=EZa_f$8&ER#~flSga&&($K)@JG9Poxiafn|gg*GqWFg-Ywuv zj4}H?F+FucpM!n6K{==Z#fU2{)@N(W9Uh*SEWxE$2&-`Tr{b5dqCvQO<@aIU;n_0Z zTvtmgT%P{trry=gT=PH7h-9d1Ni+31 zsytlJmO6QInGai{wk_tHSyZRBQ2ed!V$}9Jc4qMBBw)D|g-cR1MbqO>>?swuUs~3I71&&bDh)FNAtA+Vgz@Y;gZzOfXYe%6ddo zHw_(d!AZ9ZIC$m|ob1HtOGA2apK4{x(}Cz#JzSld=~iCIV)y|UF0(Zu9`agdx>G3OkDq9f z97mQEV_K+<0krDVCmCL{$O;D=X@gn&g~Y-%O4@6Y7wAYJa(vfAP!BowLo&-X>io}$ z(z6e06krC-m*yVoCM88DS+eDh<3GVCoitb~U)clfXC;1n?9Te%GPqH>^&Na(Ft_yM)tICs|QRj=azj7eeUP`zfnDhh2h^>j0}wwSrtZIPs6$$}zjUHLg{c z1&KOT=eu)Bj?<&!R$h?J3x;KM`WE9{n-bGjmzSo&cQ*XK0YLH&)=+-%{Q(#Nkb{>R zxN^=x?BYvc4q~@TtiZPxa+T5eaWveh)?~1IV91yTN_}ZCD0hDl0gK*KsFOMkhbeCM zuc?vIky!%4z~h6X#d^T-_@k$A?o$p8}zizY|8ZDsZ5 z#+(1`)^~=AopQan(gaMLtk)8(VUSn2;vXxJ>H7OgC@93i=TmWJm+W0Z?1N%&QFIde zwuNE zNaIR}E%6VHdDI2lQru#aE+$Ugz6wrBv#sa|-JJ-JD-mu2KPfI_YOSZL)U!O1Ow4;< z3>t-y6G&EPB*234NmmqpaCm`tR8^zoK;YQ;j;g{xSi6t-PL+;^TlDr)2C%jOB%QsGf zJWvCM7HiIj|H>zvLH2EG5UQ%@`oO zbEzTt$se@)%z;Ai#dwOHB?xz&AWhq;yy(m^gxGYpfC>Fdp}olxNE&T%-An>@EmCkv z0P8HG?g+NK3RBA2*;Ohv%Iu`gx~m)fSE3HoLZGn>KYdkI4Xu_iF?k78BJ07w)R_?r z_rN75WqQwKc=}LAlRjU(v6acO(L4$$c%{og!`en%KSzgJ_>L@)Z<|PMX~_G%`~pp$ zNkn02`2J~C_|Ey(S9e@v;vs!|yg$YWyPn8{Rq!st>aVqMU%w1Ubd6*vij;{IE7KB= z=&pC|^+860E=be44Uqj|e3;3^rM^#5+6=@EoY0Nk9doB}lZ5z94n!}Z?qE)%AJP&1 zZ!Ay~vRUeoSvWXEvT8_lJSBnPr?C)Fu?e?!EQ={o@|8pM&Fd6wDdoq59AAU4=tch^Z^)ASZ(dG~pjM{)+l^ z{RQK`(*`q-QHIlRBaI2Lt~?Z|F4oz2Fos5-XD=FZ9NSznP``q93@|_jT;-w`v-BdD zT;!DAVsLig0%49ccMeROb5ZBhi2;_81Q21ti0?3G8;oEB10w(Mfo=x*0sv5w;LZf4 z*lTr7K|;ZIhdy=bu{Jy%o|L?W6%GQv=hTEUq;^*n;z9+o99anJmYE;x>p5AoYQ#62bB}$Q+)>B$H7k)D4h#r*=2IZ_LH#G&i zM7FnqFoG*9_4+rcq0_hrBuayY{CNL(Ahgr(4>o35(^0# zvY*-JxfzyEix0o44Bj9KnH$-atpS1L7-V%-kFIE33Kj8vs*JTqkbH!-+i>&CUe2H! ziSt;S@KK7!7xHx!D7QThJ~tGp3gcnT9` zUR4=5n~gWF?+J(UX8u}fWFubCIl3q>Gy4TI?D zFj@PvUekjx)2l$g+7_K}ZJ!;hYNDc|5TmXfKKysE z!<@VuZnmkK-?g=%4~H;H5v3)_oQg`cXY6ANsq~2>nZ%GM3ad)a-Z9u5+iFd}o}{5j zDlTtEnoJSKR2hWoPsviN*HFy9>2$QJzjoJHsvC#Q+>3NWG9Z?eS#DvT&V1+V}<{IB4paEE=j*}q?AwwPcP zhp&(h$~}gt%glJ4_=u&Yr83ZP|ELy6VF$FEuxwJ*$_C)p&G(#B06RTs2}8xXb0SKa z0nc9+>^?$o-?HA=H;61R>`1HTe^;aLsXJ<`{ZGbFFSkNxg5vY9cXbqzJ0T`$x(G!C zp>D|G2;u5sW4xi~yXW3@L@N|1F{P04Mm+4u2Kx(iiXYwN(f3g^8=5#8Y%kmEh)akV z296vzNJ2`G-I8wel@pBcN z6t6R<&SBr$a-+<|LX;-|>B~CI!1SL$vx%f;h6Yvh#d23>O%E~TvL^0vpLt@tU*B)E zTz(*2-Q2>{ldwZw4?W)ZS!xZ;SIz7zRfVSg$9hIljWC zi^&~6XQlw@F?1~f6j5du;EMB~8SH zwefgj0T+QkfN5Lc>knU&q&HDdj&y~sS;fT%B!?%_1qX6L`uS3R9|$lWUDkObhE}Pe zLS&^~dfAJv=eNk!zx%K&Jw|?eefWkr3mBxSBhYT`Er%pbT_T>pRoypKjvNpQ`k@~&B7EkI9q=atJzh`tR5^7)YSnmhl@m`hj{4SoI#)x)HXFGaQKz*#%elhKH9 zUi1Bxq4&c*Hs#)Tbyl%hFzLT;uoc4&YFk?^iy z*``n*;mc!A^t$hLVDecIB+dTseyLkE0F#BGc9CHG23cz$n~2m2IWu3l_SHzE3pNf8 zU4d$Ui?d!~RaX~fDKl-}By6iLDe27+w)FB_nfTKBcRAq4cUthY2SR|M3G|$($GPJM zEpwz1F&00uY(mGi72gB>9S4`vPnb6aH7XD!hL$qxF97ekwMbNB z8LkIQggE;l*;)l$FjH^;ux~Ma@)v;xloIA0hbB_g5fX35Vw)!W_(Rl*HsQJ0)-6Yc z2;5YJE~f1A%?rs9Aaq39kBZ#(gjH9N@fM5!xZ|LPa8yD{1Jx(^vO1*K8p9cUKWhP) zs|H=4>}v=1YeCGx#u@L$m7PHzY;;F#I1OoW>^8*M8pG^AKQ+%Y3THF?177Km{iEw+ z)n!^<+i_gu16&{QC6FW~TI8dE*BSi&rk`g?9gEEq%; zLib?uWZE2MSk4jv2XUzom_7a^HhI49r}~ErtCIj!BEhmDW;*aUkHEum(?wI!(?{BX zmMq-(Mfl^pNgpl3L6q+QE$pUqwogNYy}9I3<&6yWJb5+1aTK^qN7W0WPz{iS`?tBk zElcR23tXIKz=uoT0ZC8LUNDyjf*wxgyw2IRcI{8YvCA|Do#Ly>`ES_ySZpj`$n*kI zjES?1_v8P|NdwIzSc+r=NI+?|%Ob+$oz}jNNv=>cW+pVovZFniWimpE zg&Iwla-g&`bphZ0rHa6OjUog>23EQny}1Fy`j|R1ly?$u54lckxG2F!5wqZMUY~Fu ziR#7qkuMe^HVMg#**t|(9+!zy@HoG1Iev=2HQl;3-|@3xaG=A=F)mS#8gUPSKE1_$ z*G>yg+MPMsPq)|VrH5*pjckPINYXDbD(Wnpwx}hOuuQjxjpPJ+UTYW;^!2EdHHaUW z<|n{GSG_5+f2W9UD!vdk#Z?H7;SK1_5YfJqqRtqplNT!#&5IK&!Q=>)api1i70wML z2{rNV05%349ah;bpj!M}3R-df{r#uGDe{QGE$lv>^IM4?AKX5qLGloY(Q+GQ$Wn&1 zJIS__Wuc5Gi4;w82He0(=C{GqnkgTk|J7WRsCH1uK$g$ z?-~66VuDN~mtGKryZi46WZjWc0WhgM$YD}@i(&jq%Mgt>)rI4l6VKO%fthh$Ct=Xi zrc?I#mayUM_&B1b1~v`{rIn$P(fEB=M|||Ce@92>BwN56XoHKUU_mK!ooqwh5i=qB zslc5THAx;i?&;BylmLY+ZAuk3OEMj~XZdC{z0%GK{x1@_|B}SRt*pasos(yfm4wJm z?#*UM1!8=7zii9V@hyafns*>|juslE%3U^Lb*bPSO!4F9ld+l$q=6xH9~Wa-{CBBp>bh?_E>`6(3$1CUWr#ve;T|EHkEAUTdTx{t+z7GXfdLzCPuc)&Y8__z_z~!%TK-UA;RcI1WR`KDm z4(_t=mC7K$_DdD`Vq-AFi#2FD``y@@?ha8_r73+KJWs%m1cJz*pdeXf*w7rSCJ1hFd7|h3lck>~P>{ZbhDW2Z-5d#_?Cl-_0y);#5~- z&{>h?lYSw+-CAn3dh&x#WSLEwvqb-!ef=jn(?8gm(Y*aY81HWob4)9Ha@Y>MukB~7 zqT6wnzyLEVnYef3ja-@IH1nI$mQWnSqcD4ys!$WIvES)^+nPk#2Dx>02Di*-2?v9OR*M@E@28XUEiQ94Mr@HcB_9I0TqLxFUY~}?M^*VV)tC0W_ zIAEwX-n~~dgfP6#_W8daTbNA zUTxXaNeZnZ0Eig^!US+_SzTLOXJcoNf@mL0RA{y+#+N(BlLGrw--|<>3QP$GMtegX z%JH8!^0ES$I+Ju6$|aSRm6EdA0Z^%?o+j5FCZ4>JkezeDTx)Uo$#$yn17wu&or#e4 zOO@H%f9!WF2`TXu%O!Zj^Iq<VTMNlJ^v{?f^G=ADv}^^@IZa#Hss?u#+AQI|g>t-PNYht9a|J3A zo48T6S=Lac%%xI%{XbJos9_k2qtT6><9`&zv%f?G-FI#pxN`bz1`*WF?1}#U*7#3v z*!?_KEfBuwc7SQD#i-pI%1-IOPxDte_D#-I*1sZ~*1|;0^Tu2ORag6=)Lem5IJ9r2 zp+PIWrX-XD?+!H81N@xfiG4VRmRiNm#9&$w{!Joy2qWXRBEGOz11L^mbV0xmc`16VsKx;q8FweRP9e>jFi9g1AnUh9lGkBJ@qBW#fSlfl=Qz8qe**UoCVD?v@>wMcqt zpY30tw*=U2aLG<%hIXgJZ)j4J1%!sO+2FI&yd*|r?Gw1*C8S3<+qi}eaA%5m_fFhi zht_yeFF0k4j5Joo0wVGD-@TV1+j*6N3TJ}GtMpBUb>A>Nhy*_~b)w4UZDt{6wbCKQ!`D^}LnvogvO_YxJ><*&GWMmTm+fVk|JPJHZCF&#T1 zj#!#eF|3}~F9H%?60j&c;wkIWycCCLnu*Z+MrQef??v}7$XH!>;f*hA39>M>hK7<#I&pk#X$QlW*N%yV=hE=c&y|9c*&~J8+TTh#k<(d?VOKcL zV&VPIHnyB0JvYY7d!o4i_ayNVU^iSAtSIL^S6-My^!<$7wQu%Rz8fi+&cS<6~FqVRfO?lp~<|v2M2w}D{WIND@WIYY9*}= zd2SW^h&mwZlYp0LnJcilovgd=tNhur10*n(1`j*kV3ToP#j1 z;s0mAwdEh1#2n$%4K|TMt{A=VTO{*_1lf0U1%u+?xm`z){r(FZs+Uwr**%NsgH>o@ z@mSIAGp8dS_@g4{>Z^I0UC+=CCR!B0TGlQhDb0jhqrTL;fWmvBD&Akeb9+vjFHIJVN?b~{=&pL7L{eQaibP8_tN2#mr!T;qUN}N zp@_DOV;YeFwnw+^g^?$vptQ%GS;~?M^5K7VK{gz5Xy?LGRnlHSxqT{RB2y*3=#ce6 z%fK`~`|F(fazc9!wMVY*pUO;3h|&vbtb9TD+)4)*7p4!L{|K1|ddjrBlRI9XYM#LU ztLbO_=DPJhz5ys=Hki@&anBoa z7Ofi1d7Z3&f>Krg16SRAEio8;I{H+mF_+<)uMp2y#6;2^ZY+&nYGw8u0 zY1Ax)zUaviBpU_R3*;L~HY%YB)?WD$0XCPYK3(=#A);AANkHFV;6uij%4kaUwa^sz z^TAdOOw-XiWE&Npug!pH;y#TKh+)1rxy?0CGoyAlFd_X-6}b$Ui=naPhwiv}6SWXVJ8K;GoR`B#(vw7KhXY^~*-nZl@Q}SR3Dp?LrJCYx|rJ(Xz9#vDvBH zmbgQ2=6Z{NQwve0@88~bzl2QA&qpd}^K5iI9dua-h=I$37drgcO$!Ity2CxKM~WQZ zGAbU>9-<+xbehd@8Qqah+fjL0E$O6f$uDx#pDTC#T0M*Hr$7l0eRz&3G#yH!W|7xs zNDZ~pbHd<3ec$0Q6H4}dQ@fC^HPKHXD5l+iLNr;WuUdUoBt0Ht9r$Yg;;Ib1E`_y zTnI*Eu0C0^17B6H1}&J*Tm2O-MdAxo!z>EN+%JOj`pC1PBiT43fVu2yN+f__{g%40 zpoKlIHV0*Z(-~sgKA_2LJL&jB{0}$ZaM4KUi@1C^RhXA9LNAT!9yNM7dZWoCJjs7G z%);c-oPW|IbY#du$8nQ@qjj@75=5Y>)M8M+Zhk{VAl>{vN)xecAT6r8tUcqZEj5Zl z^7Fg?D}+1weOZ9h%dG(#h4s|X-XEFb9e@RzH+-jDoCNvQSgp&fPdSBBD~G;Pt6x=N zPv`$!`rs{zCB;;!Ji7Sk36z-TM@x-b;#xwa1Av^Tb;dcv|b)ARdL)ABdJt9@h(FAtCPN|Q$hfZauf z%y89OkG%$tFyYFN?_(}BnLKG{upJ89w8HBMn|8`T< zfDj^s}0@NTiNN2uRR=UxzK`^nng5+X!cGJ6Flsiy>`f%VmVQ zc^#yS=Ci}%!~6sLV^GH2&O;!NIskF$D}y29tjbbpGkDD>824A;rf81}?2e(LXVbL6 zOfd$2J#E$Rx=bqN>CGVbVagU4h&O--M%ut&8Q~PH8SU76Sp3=(PZflRK*SH2`?Xf5 zbFAT!cDm<=J)C}9V}t=@AFpqX2mv;xX;!ciu;aBW{?u7fpKY_g#o`lZ(}$o(4)_OO zyxW8^=Vre#1o}V8&js3fxMr{Mnfl;LVgKmD#O-y< z5zq#kI&WzdE76C5W%zFf3USQgFW4P;%2El^K~dF=Z#-UwOE~%CDbmS{WH)&??hicI zF5?iEcrnh!*ZU2Ekyg0fxlxYsT9_!trP%h1oY`Ockn2T^o6b;@qCOnb2ZP9$u6}_y z*B_J3$C`veM&AP9 zMdw`)D<`MGw$e5aMa_x4e)DEzE-dcvdc+&2Zor{C%{>Vi=-7VyZ~dif-z(nrre!Ax zBc+AlK~+5r%yP4{_rrIPChU8o3+h~ZdqyCt0;?rJ%dM_+yGcvK_we?XocDyTCC_|_ zL&;15ju|v+Kr-&mIn+RN5Atwg0JU$URP>Rac%bKQCqEua%m+B2W4~d+QpaWRf@iQb zF^xc@JAo<{U`8irATt_>K{~*0_5X7ptcY38d;)rd;{Gc6ql3L#{etMzUy$)G`gE4^ z{G0*%t+_dp$8DJ2O1~RQgciB{jG^4>ERf6c;J?!93Dm3$fcD#< z8igdN8%^$3fS}ulewW`KkyjeYqbNgo)B0KeosHBoys@cLw?v)Rzc5-0&@-AxbKeeo8NB<-S22 zRs!Q3fpcLm7xv?J|CzA~4l5crFboLbU^18zuJ@}4Pm<=d=F`tB?f8(c!-Q}qj&7PR znGK#}?X?XN7PKIBU(~ycs$;Oj$dMzff73)qhbb`*a}-?HeA6F_OkLB>;fOn+lp#Gc zHi|`VN!?`AbYGq%O8#ybTSna_bqvx__mn0^r=^RvLDP8u%`MotYZMzIpM;=1Gwk;f zRxE9+jvx7B{kiH)tyQC|(B(cl8lGm3{u+`V=Gh3m|5Wyfxe1SvYrZ380 zF)r-hunP$68{026H8$dj0%sOkOyRQN6BzlSL0{S_Ae%l~Zia_(YT3eXzh1J3S|>n@ z5;qZe>^|v9l7IiJ)MeSRnLJftBT12^2R!{#z}^m%Inv7qBG$1X1yyR0H=l zjyuC8%=Cpxlc+Xg7^}Mai?&;05uTwiSe>9X7L{tc%Ip4>N%}HJ<0~ zfGY^&l?3WjXJ=Mp-z_|7f;m_^B>K8puKvwdQ01@+hFrA#&fySOCE|*EK5iHLzB36< zXDq6HY%p#??M5CAyy4(|daFZ6KZ#;y4WD7zes;sYLlxj-*FMiA<|U6(ltG(>rDiK7$bKsdORou6;Px(*6Furh zHoS?;JEjGskMb@K-GlhB2Xg*sA&Px$!`;r@kluUQiZ2w*mTBRc!zDv+0ZK2uTk#FX zkGko=swpAxe`gjo7FEf#1IPC;K^89|8l-i(Udm9TR#!|$Vct{_9l#4roY3?nYfyq< z$%^qX(Gj*UJBN2JZjZgYVlg1MP;)?}!0LE(wzd;YK%pty0Orwt({a)djzCwc+7Ik5QYZkK*J-z zABX%`x`2!pU~2+?4`_Ak(G|%WxTkn5kaq14jBF*`14>B011=mtzeaT^J%1iR2rj=2 zpB*J31`u>-hmv+Ka9%Jd{#v{Q(1ni2=PzKNLH!%M<}v*>Xvn#~O|z zCu_Kb1#%sBS=5NLcHJ#NoqugKhV0}K;^IMp87Gw>$Amy8M8GwPXKlKf7@>vyR*xgh z`K_%aUsXYeJr;WBxEU2^@O@SpMrfdaU&4_lkMb4@;ZWJ+B}Ky-B*jBwUaYWUzLxts`t+cg_1p`ZJ^vtBqN!QZ4oMI|_Mf%x3o; z6_7ddE)$UDpR3TD<-1{Iu=-J7gd5cD4b?`s*U}mSO^M9@Yvh z`>y=>z(b46o0|)8{RIpS`xtx5*JPasWX|8CRY|ht%GEbJw2EBpDo3y^fap2M3WzNJx(P1*{fUPbQFId^jJ*?*t_%i_L3W9UPLr zS3xQaS=@KKVZnEN_voM!dro@wtxd_|Y-AGE6n-`KhPhdF{Asvi*c+z1bar;b8RNqR z%5n^B4!3`E44-UX5kcswrbK^D{J{DYoJL!Qs89JGm4M2`$`_+9HGl2_oiicZOr%YXAao{x; z;9YW8zi1MfB5?7A5@v7ogK-a8WV_#x1Lw_$ySRfC3qkXQ*jGPKl&Ke{R|YWRNH;~} zNfFi^D_OVZ5hLuI-XP1~Huufe{Z%#+CLaAVF>;fsQtAs(_+TDpuYWCc^2qka;Ug6d9`l_lJQ?@BUcGJ2HaHHv`;I#^*W1sC_gDvA$V@)7) zszSIz@$_j%v3fa82BkbUFnhHhIXeF>dizMX=K;wAV;?B<1MEsFi~ms9#kG3X-^{-J zxGnh8{A3wl|NDZgh+=^>t@;wvbgM4d>4`j@#m`Jl^?-pgKZu*c=ad$52>g)r-hu;I#Kz_6L2Y_4lx`90K4QwZ`0bZkb zgAE@3!{ybLSr!egO3wP`P%>_8KLqt1*OCaUtP6>;^-*G-mndV3hG9`&*rLC{Bq^;? zqIK$L10GanCeBLX*fH89U-XaEd?J|?$&6zy!p}SQc%6aqy<_Q(VG! z7*{!gT;<2QTBuYVB_13L_}wQrYQyR6AI;LH_HXfss25b&2=yl?R$XulSRr3(T(s@< zk?G1DgCt1A3m?r=u#ndnu%2HNJr`q7qnt`xS#}xD%ov!kdzL6r4a|1C>bo#BFr=as zs}JSchJ^S2Kmbqw>93=uIgcr6phtZSK2 zyVfSaF&8!Px5}V-{FMV=;K*G-o-LQY#^?E{UC3Fi$tJ4FEhN-mIFt-}R+bE09vfgH zfX5Ur5dvgqg>=w;Jok=>kkDv%H%us*%c4~}bk}C3chTw0K4AMfTnA^|9=SmhF1Jj- zqh?(l6u;0Y)bD#G+0fa9xIpeU_!rqQ?p9hSFGo}W%yKyJ(3;_O?x=MJcpG^lMZwmeyje7F);TScobq~oU0sAHPHRN$Zb z*)KEw7$gcl!nm>0V9Gjndddb)Nhix+(HZ&Ww0gMG41QK~D0XJ_3Z+uZh|}d<#h2^| z^kOHcul@WUfRI&j5Q%ktAvBmtCmQ0yMp&rpkb;Howm}spY_8ke%j#afz+yaZOV<1D zj6Gtj2#GwzBy%OK*YQgO3r)SoWf*b%x;DKB>PSE~tNBH{Hn|2JXC}*MJL*luzx^cX zs7`auBV+eXtZN+y{3rUTU-qA7c~ax9dE!X&e@uHsGE}iAj0}@eZa2%3-)4Dd?hwl&XzHbAL9YL4SM{- zZC6=@R~K*<&H~bizWxwo)fuCd!9B0~ zsOdjpqafYMb@1SSvp+I;fQN1kQ71U`K72%beFfkyz-f8MWoiUEHM2;wtOe7=A@ zVGLO&K`Ymk5i1Z6uv1+c(@*i=%QtEx(sz67db0NN|Fi^rTW*Ql<5|~&PM+sn;Cij`{9O&J=_+Jlfe?I`QyFzYq{oUyo_zQcmog&a%a#r98uHhl=8_r_52Pdegr5)V zanE0%^urYea%7dTr!uHx^;Q{jD?m&{Kf5ebq*vHnPkyEMX>e2;Db%G)QlOsVI^x1Y zM`VSGp`EO1@aKtjd1K-?HOo@GXegXB zF6VqPb`&VzuCL}Nr|`DAV`Vdz+&{)~AM6qCQq5s?S8U1`*DH;ENt6gQ4C6sF68c~0TcIOxtkz+!hXoFA7>ZFMtV69d==bF8-fB<%tjgey8CP*x zp+{y;AK`Y_tG_E>{I`!ccg}$A&pD$~GF4uEK3*ytN9_81QYJGIndp-8Z1YItMO||D zGemfyY0N;odZV>doF?`~=l2UcrsZvK@X5f-b%lsrjQ+*l(Hrpa@*4MVci{^d@0>EP z-3>Bc^_1>dNS&vlCyh@Y*#ei{Bk4i2r}4q=F4!sja;UV^|1_CurN zc-piWdL4ZNMMU?>M#r zb-%2fp%wnPiK2hI2}VZ1$7<`m4e_QQxVT0W#A%gu17sp#900>vz_EFMNRw4=B8YH* z)x4(SYyz?^#@fa`jQw11NRy%w!p##CzrSjdu69so3%%vkTk6GHnm1ICwb`LSblmv3 z*{lXP+tkyb1U`V}o8dBH6Bx+VCQmiL(Cag06A*GA2C6OHD8y~NUuHs-LWXZ)5tly9 zp0tMJkK-V#Y$@8d_IOkTYtPYZp(!-w2V1VESGbR6&&ju+4P)vlf3E+Ub@jOa`Iz&` zR6s!Bx3m{0#wsWFI!FWvLhzh}vs*cupPX46IwpC*`Vc79%h4Ge?*fBPLL%9W%g~hH zlc@H;?t~^)AxU8zauvkwk=u}GUFd5durY;Ww9`7}Hm> zO`i+3CKYLPXP-yxM6G*%0I|!Bz-rCdZ_IuFPj4Qtto=H&NQ|#+XbX-;`&MIEPO|8X|Zg}^g z-90>_X56R{nM_f|&SR3gm%Dh1KuYHJ_gS1DcEFFWqyy#H%)()VzXP|Wnjb9&Xo-xt zyM4;@hkmi&3tB8heVwWecMpIpDV3mbQ|Qd@zj`BIJAqaV)9_zys)kg!#i&_F*k z03jkcucKnGbE7^wI!a-*x<2-GJyWB6Z9w)yk|EO}L~MdB2$ripG;hT1(DrrDns`Hf z{J0OshD%2I5HhGNGJS`QrSpTe8uo~f*9SQVqTV-p2`xWcy`1klSVFA||2w+uQ@{9> z5QANol$=0PFkN1h?vRd&N{`8mRcSt(0%7Hy{>7&;xmdZep_O?ZgUNqDNL$v0JMqB# zm2fNn`sj}?OW&h^p2c_O-tA-K;}#ELtbWxJ^=&blA>QkwZCe)io@Y{mnepuaC*x_q z632rV^}!K8#`I{R`vd5W&i&YCjH-AN)Gi-!KOgYQp>(@#&hKn0oOq_qv7P}UY=ZN^ zSc7pTu{wW9$lNg5doJmPkEgO2t0Cc0+e;q3I$G*|ep$gI$S{7P+&W&ciI$@hwn&fX z%`pTt)+8?!A`t{L^_)-CDJv;T!xs6+Gk>vJ)DnVr3OGmsU<)jYfPRUW@=&V}UmA;_ zE_q^yU~zzU6nzv$WT2edfXW`*&w} zRl6$DP4D_8a=~E8s+DQVt5K9)YSiKab0Qv@&ii(a&s(E4Hs>TxmkZ?Gan0ZU${yx+ z5x|!=&qJ%azjud~Cp#V86OQcp&Y$0{gS;iDEYnP9lbsmCyx0T7{RjQcX6R80d!57- z>ERn*l=F78e>&mh2-XRo-;1MGB|qYV)S0!W2>s}23*zaQ(N44wetRkq*b)bmexWy4 zsVTU*q-I}z5-yO8QA8I5&Kf|`f+{FM>k6*P)(2YCA_T4BCkm0SK`FDG&(kim5xq{U zFAp)RFA$45on zVSPwO+c7bPAze~N<~9J9f+7+~$xIL_4837@%;tNmI6M}7qNh&fk6)+Uounx6{g!EO zPT%`W4W}Pn@cIjN%xte4MUB>AI)ml;>&0F}&z%^v^OwAghHcX)_xB?FQxox}OA|in z1m`a(V3W-mqRAEz;KVaX-W*Y1J`04H3_#%IF{M)8g;_Gl@?lGz-4P0MOL8RlrI=T> zZn`ZA{=q%>RmtH~5lA&mK!J767-5Q{)#G&`TM#Ep9MlJ zain$S1P)_;AAT}vibPe}qN%K*pX9bGcL|cOSuGJh^kl6TSTl^T4%TtP2!8p6W#d9> zkhY~#u^N;n^VIW+)IWYFHzijD$5}64!)x`B?;BH0*zV6NhG28+BCTH@$}+W^4g2NFQwV^}-$HF?Kl zZ*5$%RdMrN8pdMDA5&qocM(6sqL))AXp8!SZa+b}1nJI!s(jYqSFam_8N`7m=>>Ks zg+@8CzLgW}7c>3ezTu-aMoTjKsF=$thFxq0ka4NfBf-$|eg!T+|60-6sY-#!Qu9CVnGX9eW$76$M+&8~5eNZUKkB=rO zQOT7O$OJK_a`5xVvNBP|%tH1viv(3B*?)=HOH%#8xMQt5-zh#Zz^o{qNm7;2whX9H zB0H3g3MQ<4s+YtM%8&UnY#Lgg{fe_^b(kKoc3SF#IxnA;OH~aBJBR~QZKnHmquAyd zqmh~iol%(^T&i74x@}m}E7QbyhYbZDtLm8A;Js)4uX=|OP(#JYFd<~PC}UVnSv3Q5 z^t{*ihyvH*tH#DJKlz0cB;9#(46Bq7xM*RJz!}zHcTDD4o*azdAdy8<|0;NEC!OQ; z`9qOl{IuCX)a4C1y<2MRVu99h?0&r4u!FRCcO7-8_*)GPc?7loG}97cmFLZcLyln? zv2I$FA6hTiNll+`gRUV|G<$FLrFRO$>RjMoaB^}UE_P&RJ9XZD++k3}p3?o;{#Sgs;EwR+;U;j(J_7 zU#ImltmInq)k}m4jGwh)F*PkIJ$M~b77Y62(k!Kk!<%JDSoet9)3Ymr2IoR5G`SSX z@~oqf-%a#73`k~}(y$#4-%bc#M%5g)zoQ?z6a918QHWsup!@;yL#~9gO)?YgXk?673>0A6RYx4TC=FyaVuQ)TN{}nJEtSW^*NJ za?MT@SP;maBqKi=izr8Vj{Vd*wMb>I`m@(EnTc_*qgu1%QRM$UHQeF9a}y88G?G}r za`YheKuXK1g&}M6s8(;-g!W*cTjJ*amLDg%Xng0Y(R0xF@hQjc&;4MH4Ok&&B9#i(SY}3S7~x_6onT#IH}jh>CFU-mHUUcZ2tb~`H$G(Tql zO$oKDf^F}HJ!l^W{z!dW82tX;H}8 zw=oR#D`vU_115ZWD(qd2WCX_7W?Iykmy`$84C;+ZKktyoMn{=gPBmW+v6y9v1i&2% zvxV=XV(k-K*;-P6ZsNh_2j)t*yp>Lm|!OP1zkhm0l(0x?*0p53-b0+3E$aO zyU%Hu78aUH!_vvU8$xEB`_*{F&svb0VUI_@0_$hy^JNKeV4m(%cdH=RN}}gtn>v?F ztLc7}qNv8yEK;&9>H?q6`vrkaok&Z+M~@CL+Bca2)~jN_&QaTr=Nfm?)tiZQvqq*7 zt!OVMJcd+-zB=p3FaG{fxd&%5U$XB={hkHpw-Rh*g_rEjEC~^xGBD`LAZlvL0a&n7 zI8(H(nX7)&1{l&;u0vOqgG!c*XU|9Gr!hh2XF?v#4thJ=?l%4{n3f!iOdCxwdPbBr zh?9XqxE(^?TXvG|oC>uLWZJ`F0UV&p*#}jQ(44%>qYT9v-=1a+kOrm&h)gtshZ*PH znGApnEBrZI$|uylcMzfSuyiEvf{KyFSgVQ06AtT;j<&k&gmsG^MW0V+IMxb5tCL>A z&NOYAa+ZY0C+1ZP6PEjYkGWH693H3_6ed}CEey7n7sYz4PN*|YY6z$f*%+NNW)}`~ z1mfG#(Xc^6M3q?5?-Bag=r%8KOKHxw+#6CAZy$qxy+dLvOMxhEUQjDBMopCZDCno- ztJOK8I>6Vfo2~W8e-X>69yjxQKtzg=Q2Llpk*t!eQkv$1^yaIfOfvVkSGZ~|-9ygs zZa%PaFVM-a%PESLq6=^fGnlm%|JdvVmadc~zICDW>2NZD96qVp;D?ylaUTgg;4F%p$dU}oz2H`!X(T?E z3GN_Txc^usX+E;$_Q}Kr3<1wzz2bH--|z6P9-JS~KiqK%c3KQ==KfGD#_o*z$V&BL zO$;4Xt|C}K(I;2B$Gr5|);X*aa=`G@EB6l=GLoL$LXN!IIXKjfl*Tm>jgDYTWRP3y zndO?^AudO(9~F`Y1!Ttuv^qe0uBMIW(o7ImX)_0oI0}d~^tQ z^hspWsLZG6Hkx?cSg=I&se4ICY*HPaTDyf_rgNFFesgCH(s;^mpM541r|f5D|BxU1 z;Whxf55gG1?>1;o<6dDE|4Ra=&XzNkC1EIiXfu|(xVw5h$xeN59mTomd65hA_Q3GLmSYfh727(XryDN>~| zbme-S5F=#wT$tiia?Rhn!F_dFLw$v_ec@YY`3)k0DALs)JUJUK9mMLP8H0EEF(hqT zO{$ni?(id+VM&N%W}ztYA4FLrwEXXy)S-jDP7|0&FZbZ+Q_1vbF|1bOuAXS0Gq~qk ze$FHn+@Fbyua@jQcr`|1eq^bVtw+msu=ushIP#Z(wtQSVz*3?$h7ylmi>{sJ42(m9 z6pFDGenk?eB>EldO^<}ux1)wrMWa<6P}bFbc>8$T^*!K70GeD9AY!%JsK#5gl;^nR7kw>Uxq@Kd^B zJ&EEfhpgC>C}F?ER=gK_D~ZYtqwAd5av2J=F8Kq$l~`TS)?m1fDWpn?!}aKl-K+Ft zhI85ka(|Tya>M3NF8OLGVOKc*28|9k=5?!?7Q998UiXpu28K++vc$(~J;f?WN3J1H z-@=&%z#ZvM2UTwJI+l`IlZQ)Fm7m$L)k0!cxrM)q{3^y=mk4)jg)0eWUf`}q9e>@A ztZ$#?CG&RuzEKJso0Af#HE?i;2?OC}7=l49Dl*{uZFZO^?~C(H;JsL)(`YAbv?!$o zYq)0Bndl`y&YFw6ZI;VgO30Je3H+g@EeYJAY3;*}ahHa*6Con_@DQiaKg152C20CD z$~#liiNAGjd*CG!fzOT7kY3|AeJawL8*I74CLuy-uWDlBnQ^nc3-UzPIpX2G1 z%E_f(hkyIwEgYi478i*AHcAG{ks1>YQ?c#T{uW60P4=S@;%67GX^AI=&a0R5xOjieKwZ+;H$xI-bDIbcjC=M1vn z`0GE0=zooq2GkwmLsFUWMDpWPD`kyb+lQiEr|C;Kea{4Wl#@Z#n?+?#aN8?#{df+u zQu)W@YmWWZrbeXzPW$NcD82du*OmQ z-y{)9dJhZoFne1r7TguG?dRpR%n!93ol53@GtK<2@`fysU!e254S&mZ*Bd?qW4LgE z6x+tq=0jGBT-j;=tkY$Z*3>S= zm#UB`2ceRq!nTnQ3y%o6HB4B$a}j&ptyygyevOdcp!|6Ws|oL6H%fX?wv|6M_x&Pe z$8fYWLk)Z4s0AU7ev2#HK3EDk)zpv;gNLch>}_2w+GxZZVPA}0VMs&z3OhxTDjE3@ zQMfl$*0Zzl&2Fo_EZw1Ygr!htb!_-+BtWo$sKLY1sN_=QssMj@np9Audb9(z;%dHl z^uy^(JOnjUj{^mcWIdRsK!3r&^eYaxSxlJRJ`$MUr^jDYI7$`2=0Eqav}*Sg=`KfF zEk^xmx!Uf?D6rxhMBPO7WkaA+%hK4JJv=c#eEP4%*Y`=qT(?ftC?&uvct`h+2_M2b z7z?Cs%7MYzcW{CoO;$UD`fAWGxufgP!QgF@rjEDUke4v}82Nn1tRT-+S7i z{vXy02HOnn#sJ{HbloxXcKvtj+WF5LGH~SV1FvJ~+D{DoMi%)s!sX&By%Dci6^j@5 z%%%^`fIFCz&Q-SlZU1|&wgd^}gp^L}#pNq;S-lT+)EL~^%djE$>ulYjlBXbzpIHSh zzSMUXUi^_B7C%(-Wy6_F)03 ziEBfeA<>$78bcgr{Xb7CI|h_T{wN;+B}WC7qC(@mcf~w)mkmXXK8qqhB-i|E8?Rv? zR7sPI?R7E^H7=aEm=tX?z3I}l9fs+6;WI&$j0JA&3-xl`fp`*O$}`97_hwCNI`NuF zKmIvc6Lh~lpXsPT4X%XPbB1g71UgQr-b^m$AD*e1N_TS!LU5n*D~le^>)D16vdw4xwSt-~ctSHje`LikJ_bM>CAQ)3VAFQ>1{ znB}0hl!v@D7bD&DUQ9g3Z?cP?dBoi~gwqGhAReB_&Idd;Q1+jC9JhrL)&g zjiHJ~pqSl{g=~EK5Vj;)oiJDbd@WRB=H@YgoHUT^Q4_=Z*VfgHQZ#o!;R6N3U>b%N z+Pcoa5ebAkNVLh7RP&9;t#DQ80A)NZMu zfPmrj!2&w}mv>22b&H2DAhoU4I4I%UWg>!7I%>G--vu&_YsAv)F+B!9>ToaJ9ax5u zOdlLhEJhlju&7aYBr@z>c}B|-VD5dT&5@8UV4T*V&Z&>3R7)WwB{H-1$#}l+!2nK7 zv`Y*KnLKvCM4}}{h#8?Jr#$*w{&9_oBTC#$ci@|MGw{!VosI0OE>-;)p4e81tALjh zBd=RI+7dL=geCZ=?D0eW4rdp`RVcx`a5#UjlWoDZJM?~u5Jp}Hve%zj_Ui>`rF=4- zgJr18#+no#1X^NB<=+Qs-`5{9{v6y!xxDd$Br-1J&S*%52H8fNcbF%#YRPSJm1y{$ z7ju+2TA-k0QDb8=2T`~6&Vf{GScddh2d zD4kG$_|dvduY;DvY1gpFMd<#()i!SwQn(Oh9Ssmv^1)5IIbvjT0=YD~3e1@>@U~fy zrppQDd`gSbS_?#TpP=()q&kYW%(c#uhXmXq>OudYRsx6Yrnq;XVmxm4SsX^J?+4L9 zpK<7M%p`Z(f04~Xg_1xpleN6S0~aS3=^S}X z4Wp8xta7sRh-JT28ZS=OYM!T2@?LC_Sm~<$pP0aC&}4vNsL>Q9lsJX%fjcDuW5|Y* zfz`zK!kmo$N?5%~Q3wR{-Td}vg+8JS$Rodq>sp{xA=dTD8f4-^FyF@GN`b{>ab%A9 zKo0+flnJ4r;7owL5V*?+-z#TpGiG_+2W*pf*;J76C?(?z#9xeF9{~-Jd!M~=-!m}o zBO#2BC%Ze@U7|(*K+8SjJE~py;}>RIau@-YuN6VyV}1Wr813}kEAgJMpUp8 zO z7%r4oJK<&gf>ipL2ul58Xd%_MWmr~vLJ&WbG-(;>B6ID1zv7C#Zpf1j1f-q9nu0I# z-`I}mM1@x6?W{!?z-&aGogsTLk979YE_^?$(4*e{spF`U-z336$I(jl`4_WNKp{*y zLaGETBe4u_aYS48$+!|tGIXAs58@_xR{}VpKhCPFt)5x7F*h=ausKo5A-$ee-bC`J z5<@3;*h2R4U%Cb>y6IOre)U0eg7flJ5M>ehJ>`nZtdPsZ^)uIX5Y=0-IWsAW>*BP_ z#|oD4*&edn+`o25^uP=iDzuMPUEhxF(dn?&6_WRi#ve~nC*1E0tMk^2nhYB2Nv=B!cn zC}bAb!y`?;aZ2&{&u-4hJkyYK%k;~h4 zHzovZ_3p-;XdeJGC>@G-192LwkH_BbzzGVB^M}rbqX1W>Y+~{j>iXw%{R8Esd2jq0dn{ztTQrLc)thv9)9EKRZLoUfzUGy^_r?bEML;#ojm=7Q!W z@z}UT6?Zpvn2yZ}nNmF%p+Ayw;Dvo!&jmk(o~)S(+V$TtP8gQCd&x)!pJ<-^xehE|f-P&-%W$x4u(j=!)lh zyO@RrgQ`1NDA-o@>#I6xPJh!Yhz9*`UeqkrgHTtY6U(R$LPKhoiAbPqDmF~MQl^#8 zgD7mTb$a=Y9v|jJ7L>00n^ZpekN7L`7~5kW@F_RVJDt0p$in@*5WR@ri|tzN3Ya z_4yqn-@Vr3q`Bf-IDgI#t$5>SroGez&4)soj@9rAvR@41f z>z>JLQlgFHHc0l-a=tZ)w)*k!z%D-G?Ct|(6c@omuf&XW8Zn;<3prA5hw&9bCm4L; zo$HqP{zQm#TvSq4uKT-a;|qMaP-*G+hh|8&9M$6?w#RydfHX*yGGfi z;izlE^hVV)Lv1l^Y2de+RL)MOMdu)NT%lgqc#jC32S!t}vK+bJ zH`mAuJ*NyhI&o z{M(fkH3#43S8E4VupRg*g>;1#6$aeRK-37pKX(fQBHQn)`SKwYi4Yg~?j}c04i1i! zrmOKcC%zN@gm2%LYBE5%hG&4mm5~2*Sqj$j|7kXXg)da%b2l(SOVcE8s6Jn+uI%tQ zF8zQ8O&dfZ1aZ@=PX{gAc_y^K_(h4-BpBv9PF_{{u4oC}#fw@8 zOib0ck|{%G-f7K#x(9Z3&U+Z}I*otPqwe6yQkRN5jUn$aJ`CEV_G8)GzP+$;xXXQ0 zaBwMcIo@_$5hKM-FTTHbU^PZnmE z2v=H$(JBi^zMJb)N%^RR$i!-g|J@?wnHQ+q%^(+P%)g%^c$p0Pds`@aS5{V}3e~<` zxa6&#_DPgA!4QKOs%4sN-!N})q5sF$Sp{|V#cLlBlo09e?(UZEmTsgG>5d=WAl)G; zNOz}5NOw2VNTc*w{NFhjXXd?d#w&(l@4ePHp6B`e&l|N?g!Je%S)HhLEB(!LElL`Z z1L?>Sw*ns_1h-I-Gv!zMUddZ2f&~1>E7X@PM#A@U*%T}gM8UKC5&K8w0AxMnoyFzf z2{F|6xBlH-k3mwZ=;>??T~V-ow*1Q zsPpVOjjH zkyU=zkTPbSwR&syQD=V!|Nm~hi8v^ps6ytV=X~4x+#?Z(H>U4++9v3h@OXY&UEyKJmzI4_s%_mj)Wmf%KfydS+ z<25igIKWkW_BpY=Jv)6ChQ96{mGO#jAdfe;vH5k4Caf475>huK$-IWs_Jre4aYzrT z)*$L8c3Xki2)1e_Zyh0j z9GGcNx|GPm5m-~2a62TLE@wZj!1t^WFI^A&6Q+ZGZF-Hil!6|fn@(pqF%GDYT!M~AN(_5lygd+IP^lwiE4s$J)VGy zCm@W(&qH-*zUQ0pHJzc)x#ZtE;NUJh3S>1xU23%Z_4^{Q(e=gJ>v&Yr)Y=mb5M(X} zmg}9qutB0PTqR&qXMO>yIiGFxWb6@pAG5`h*r#(efw}l4>V{XBAV|nxi{+4&6@YgO zZrRPQ`gk?Z&8UMb0YR0Nf}F^OHkEHKo<3yZKpr?#YMN`Uz_#L*oe+ZCU?m41y(&rP zSA|Kf_g-+xJg>kJf7!>Av%9puI8wL1E_?qzx}m8Ynsg4Qhm%o?`<>}NwerJ`W2J6` zXU~1C1VuS95f!G*M+d940_k2C_n(WmTV!q>F2VDw9$2+D5K{whxVh4|y=y}7DRA6< z0{NK3uahzv{mdhrOhcVo6ohjv|NdDOJjAMx99SK>3ek{R$%1!xcW=Yn^o%&WaQey@ z>_IlXV=qUtRq+J0F_iOg{r~JMq7pPMzOszPn+6QcINk{qfVv6^^ZzX`gcB)>0+>tF zbn$XOjY3{0eQ(}&3SfBiNEzj~Ws*rk_-Ai(Xkl^PJtf8tUk3RPuPEx-5PBf#S8J@} z$jPiqo!9wL={^V$+QZo2d#%q}45@Vcx8D~unj%=rnOnk|(0sms8QXjZ)%Y}qjaWKO zm9cmrc<<*L7x7A6|57j0Cj7Dt`ZgWL;#YCuUK|{Rq?Wc|(63vnG)WXIp2{<}U%KuW z^XW(bBYTuBq?|wZLiKt(_eR1z+Y5iY7||jT%MFc$8d;#U)@`~z!QujD-Q|Qh$|OkI ztv|k1=mFsqKgha)4xEhe9S1M3412l@BvT3I=RJrB|995D>^1KQ1d0DY|5e*j+siFx zW@Q!rvUD$1_KkcA-l+2YGoAaynR`28$?Nu?KvE3Jd2Tmerm+8wwkoE(F+=Kbc)mwJ zF`_DZ%UyPp(_%$tiX@i0npr4!3^>MV+=+C~?%RdCRj?|Z%FzhX8D-Js`ohpJ^O{ms zTdDdW?*ca9_9wl$fpO}+1eH*Z$(>4|jD2t(!#&VYJAIXLPt&$H<31xreH(&%NJxhH zmTT|ugHV;UAl*91(GUXi@lO$C5C-1R;JshFu5n&o1eh!THzrJ1fmga@% zYZKR+XHe_XN9Yfd&6|5ZoY-B(yaRjB#ZLhbrLdgUeFW`ZwzIDm=z*(=EyN3DV@Jmm zibp(8o6@$B4(?JW8z#WH@ap(!P68To<`Q8s@LnK6xp%@vsoep6hz9MCP1$*)NSo?L zZ%E2)HAmd=9-AG;5AG6eEPBlr-Pe#ZB-kC0GSDpQMPp@@d*B+lvZio0YtQI7TGiCD z)=^qG`h_@QXf&(MR&E5oT-%7M3maxrX>bpY`rYWG(pV}A*h4#NWZ~4F04LT@5DuLN z+#pQ$o=D0<*O-9p+z`N+EC&X<&LDrK8n|m+45U#3Qdj!m;Gncdj2|-H2sHN(yY^4i zFL?(5+hzd>qYrzKCz@JD=e=xqCt&0~TRrtl1%8|PWlsPl1(4B*Pu#;hJCwjWX3*wV zdQgEnBDQacFxwFJyiT74gsTq$$NNXbr+0AED1o2IUNcH)c>KJ+ z@;d()r0lrep{ELixLPIv9kBZ4*!<{}bL`@^>7n3G8FWY1s%8QekMYFpsv;#i6>j9& z?hSD)$?7=A`V*UdryWB!5nFvj(7qUKLf8ZY)`c)0#Gq1_Y>`_5Oa3@VwuUC&bb6_w z{TA8&E5yv~M%d@K4~UUH9l_f)&!|43dW``3M@Ly;%yJ}Pc%*6JQ?qERi8SsW|20cN zC<2q-3mdPZ7X@ns-`5l|m~6fbMt8KDr~aTSv#sqEDE9I+YYqCn;{h^zQsrcj-S7{N z`XG&>3|h3*b)4VTE6<@S_q9_Dj-Wq@mliS|_Z#({7RHSy8Wb+fI*B9StN!q#%b z8bFXJVl!Aa9cklfQ_nK=5f3QhQXsx?p76<_^wZJ)=3>7(RC zZu$QcyR#4mBC_Zsr)EZ00=n9ejTrrNCRsV~Q#(In=&kv2$T>JZrvKKDx9qw{ zdMDJFIW~M3@zy0lkauhc35mhv;PB9CcsnT##pu1%W$KwUrkRGAX5k{-97Ez2HzMqe zPbVY<@hPtNJevluJ-=%AT1|7iIDUEm2+xXqiZUyHPrEq6`h#!kC$*CpTKV@8OA0ATYUVovZr0XXV4G{I zk0p@|=4Ff2z?Pj-R@aT3aiTu?K3cmX7h>Feg{$frT5yND%ph(o&Yo^@IAQ3uYz20m z(Lh$bBag)n7xO8*A^x+rm1$h$*R%7Zs84vMH+ND&>?kBeJDa7k&f;crRETeG&}nz$ zU~6`>TIVZ_f8QmO!nfC7lD1H6FX-A)Yn}WtUnQ~^%a;-MeETUX3(ewp1_M|;LO^$W zK9wV6$sA-zicqQQ6?-US*E=lccNCvKh@M?BRm0>Rk-i`G(QIUVhfaAvDY}2wqNqKz zYJ+A6rKN9p=$PMZVF+Hp7WW6Mz8c}DFz=`K;Nvns;vs~f@h%a0ON=iCC>_ON_avG6 zSFW7i>)s-k(`)LFU3ou5{Pe%7KvIK|!+zkb{N4KS>?xmYx12*^{JTLma$p-|(Qzs| zzrsXXopW4+0*RN3(|{bCRxHb$3SgLKI>09kJkZ!tpaKW!DXN&Nm_L1)Ge=vO8)Y1j znA%(8hDYtIybovScJ40nsP3VVU^=y-_{wXaBMb=rOi|`Lk2INEtRX+}aLya8&$oVz zpRIH~Bs4y`NqyFB+Q}(1u8Q1cA(IY{S}XYbX=1vDk(eG)@G$!L{A)nuVR^7tffIeJ>&g3#X>m7K zHrra=lN!v0H5q#82YpB!))b7=iCC-%^d1XEdy?9DP$!wfrS6MBQVnnW-~u&)c4`f+ zKt*@9R@$ot&?iQB%5pkm0*RogDn^#8Y8QD66KLr_&;8YpH}dBGXQ4&UiSH<>N~twt zF`H{gJ8v;dUN%4By-3>_|Iua(6-dX_r}5x}vG<_cy90hOK-{QY)Tp}r*5S^v1a@$E zznL$v@E~%)1-FM=aAR{%Hy~n)CToBbWRlTwDJ#p3X}I?6)~7Nwf)pN@5sRv3tIa1h z{MOpkMXKgKj8nTcR_jpAw7oGtJ+Fm4ukxBNUc)x$sPIF>|6m2gv)RTRovpSsyX@1E z+Z+uISJ`HWGcyQ>D>^-JS)v-g9>0C`qm;FYUw;{Kli`DooP@(ec?w*0i@BL*< zuhIxKJnq$UfFX<2AJv9h&hY_AVq5{oz>go*1tE83M3_#h?A^TD!dYUDah{C9_jf(Hi&MIS_{rp-hd6-IX zAYn6$IqrB}Mr3>Fg7Is%_FtLkF=B?2kT3=lx_3S#m=Q~P@y8YYzJ{v&K)-X9#oz`= z4>e^-RNZc5;=?xDo|!(}>#QXv>C_gJ)TE&qHxG07PyCI1@90t}BVtW{FhRJHGwnoZ zS^g1<_zs|I-Mq={eA<$Tc>eq5vJ6?|8G@mGuN$zamsS~H6g#+wGe!PsAPZzfr0r4U zAc4!YFypk{Vw9aBa(=&|?kL?JDCrEjU_DxV{h=i^s97;V{`{pq$+P#|nj2RpWRE&^ zW0zV@@cLSsw_%UAgFp-YIFfM~j;=0{yduxu50?Beiz^|(a67g6gBP93sP;byX1boC zJHtRMu_S}Fi>qrv{q+>_Xx;Of?3&B6W@WPvmig*y2LEhEvi5omMvUO^?k3U&l46PK zE!ut6__@~yEZh31n{_o3SpF1G8v6FSBbXX5&Fqh#Tvk{?YdP;2ZLvOnyvO^Kgr<8V zv&U)3p8hM5ZpOlQFYfj5Zj3ENlKUN;47SFW-R?p8sgBon4gx^0Cr1v7ZFl-EHzJfE zhU9}MU|>)ZN$xwpDx)VMrb$&Um*c`OPoF4`Q}DKu5EyY{%oo8f+L)P)RqsoJCb{02 z+S}dukK{IbXIO4^`h*3>WI9jD>ygD2M~JnIJo>pKd-q2g5Xd{1Eb4BI0frI6 z^k?F`{+sDv+No}38Uel3+RFr1|AbkbFjzfdTD3m>#fV(4+Rw9L+i@ma9&1u8nE%gb zqpOVyoii?dT8@IM8ZYK|BhnHj{^fM{uxVXv_d{SRv0v!Ip`m8`pU67$C7iu_$Yw&O!M-&CAIz8 z-`N>rBYxPE_PDgui*T1q@<9~4@(MO+QyHa9KTk}0g50bL{Hm;Le||jfRL*rOwz|_! zm}S&UVd5eC*liq5hY+d{&w$#@hC0=45-+BWz{V)1S$m-eiHmd4X$c_V!g<>=|C*;d zh7G$G1YfnzN*5e_8(sYN$L*Q7u4(Lw-r6kpRJUL<-P3a3z3cu~`1iewo2F#pUU5@u zldP)mXJRx>U-B#kYD?1IsX&?sHC=K=Zd&Rl=~mUFz4s^S%%B3a+3Fs*lWfp1rH%+oa?rhK`M@|z&TIXF7BQ14E)2@bdP(%*TTgN*Et4M{9 zkf2~*69Y5ZpoJbQZGB+fBXdL6g6RAB5$F{3i*jNs8#wzj5nzMfBEO4MDjF(OALbXP zuw?yXQJrsI&+n-*bKi+=5{>t1g*(;`0n^#IP_kbgLf+yCJs;py6P<~pLWQi8g0uR! z>8=hP+Bpykr)zCN61;14u-JJxb zj5bk1a}oE_EkE3K5lel6J?OMUs;!*+)17c^k}65%&SG3b3ZG^g(K89{!liQ1(1v>> z0LOB?3K?!#ZgL*bJC(o;L2#AE5uHCcFi@r^lAa;3j^w$R&J~fj*J2QG|J0A5oyMad z;%yP_e=y?rHq~=DZt!bTIv$=4y*WSJ3*Pr0V8U6eo$(E2vWN`77<-(k+5E$yJ z+xTO5PBwLI6HN~$QX+KPSbqGN<-n_83gPTO>W!fc9Y0fk_7ge1ub7{nUX=4v3|CXi zAfwW29#QOqL*KN9-h@NlgqyK#8E#h^k08+bCcRI8T&#C6fS7c9U@SCxj@x1D&Fc!& z&;E+DKY!+eEro}ueNO7*0pYee>MK=7TS8YkUp=bBviOl9Qki4o&wKHktx@>b6_C(v zUJe^_O6>m?6a1MI*ggN0qgJZGORuIy($7q=kn+>2HQ{1qWl~mN?@gXD{EtDWKl&mE zX6Wv0wPPHlwzy_1m@~^|a>s{U-R?AbSqvY|?V=ge8fBbtQ6&OR!nt`R4h?!;xm^{F z?Hk!*1X~KlKF{Q(CDjZ&OGErDr#Ne1p{XBA#lMZnJ58cn<{cM#&8PH(H#{#?UfI9w z{?OBRPOxb7XEbTrDx748s_sfy=&O=YJlfj(tExe)w_e~iV5ft_a|nSe z5(VQ*G&l*3{zf8L7u|UmV~NA}h-b_0vo)t12sb3cKPz|)Vi*yC{v3{wMlG3I1cHB6 z*58=s#SRXVRHa~$C@r7OJy7WO$@PuUPfKkA+}#s9a_+Sx#G2vrwb$ zUDx-;YNX#jc+=IaC-i%*3~}RP!VHt{h0#{6_4ShBjl8f&pYU6wIB#0DCF4ys$$04F z2@>gw3}8+E;2W!A(&;hh2#Sh-`85%RBZ5eHg8IO3_6>slP>}~tljeF@T>9FpMmu%p z)Wbds*qjLruNL5t*1oD2D0SQB=N2kjEuVe!PqFotqDF*dAg7xPyUP|lky?e& zl&QUMQG=>AFeY6`Fee0V^YSX0`>nLdZe%Z$YpAX_UaGFkza3z=yzoIYnn!{M`7Cb> z-qT`!g%}4XRFGPYUb$2ib+W}4e}DT%*(#2Gp~=>d{~M;`D09CI@CpljNuf=p{zlW!Yj=q&!(V6ALP|!EP3VmL9e)|aNFX7Vwo3>+p(^zU^Oie(xYB-}(T$1~$+Qj<;;3*lUw<`cTR2#u z=24}{mZwC|@nq@! z{psD9^Gt6bGkF3fKzacTJb>!_HJgn-dD5kkhT4r@oG|XecwplcJiGP zX#5|{EL3x61y9YnWYrs7J1}4MnbnE$r0Ra{B|Fo6$f1Zq3p62;bs55klNw-OP$N3$ z>Tq$ZD$2`?SF4dBXX`(kKn*ov9986~(W6NHxT2{34rg);QCFqnY8uPJNZRP`09v=| zQzhC4lD}zjxBzn;S8W~Qr<6+w)lPmWy;g9QAiFKLzMOT)hupq@I@$Viy{?p)tJIiH zrM4_+N9+hZ%d})@1Fnwp=#2&kI4kw9cH;bl{7<^i2k5yKS$XU3+c~;XZr<@pRJecvr0{-)UsddI*;qy;*ey`l}#>gi^=8 z_ZUR0M^>M8#3}KqlI7Sqc?ZuXzOE0u%GOP1t9VfdVKl_$i%A~aKxf+QmxyP`eDOQ@ z_6AilKt+82!hlC}QgHm81)W8db}SdiEmM-C6AT&OPU=SuX{V0y*c0%XE{euq;l&(( zm7`;!kohW2NDir>I^>`XHCT3y%UuF zBH>py%8z`1qK)3XMtZpT_piRIEOd^s`i~ucCFw>p%n--BALFy|4#=QX_)$dO?MG0k zRtgZPpj`Y=CC`yg#qSfaO*`nswXSsN3YnFh5sjzm^MZNq7goK5ag@133(nuLie z)BE5EtLmb(x6#=@##%}ebkDzz&xHFyh9tDp&hE7Gdm_Jo9b{KjR6GXh`#Gz1VIco+ zYHd=LY~%9y?1K3eBgKy#18s9cLSn&HA3dTbBD^}BpNhOa>xdE_22J%%okSGpdk|jU z)GLz@EET4VdvVHN(2;Fsc9a<^ViFc%3anohsN^I*thLCR&ENTxT>Dy=CzC+3Z8Ho9 zS`m2@k6JO`zGBNPzU3)rSgVEV`XT+x9>P7V-9_J;&z!)=adV^4?OlZ7Rjd^BgS*v+;O&y z(}>WPzv5E%cSd;C6E}$C%rOUX1_8F&?kY^kik0OD9Fl%G7kJWNKfU*pp!StA@p)gA zmgp$Qe5Z@0RbEIsOcs%dVrdxzb-Ir@jysf%Qukg`haH8{xMyf^+d$)ULZs#4P5 z_P_J>HIh<5>`&9qySkTIRiwEN23N)jN_gk zE9?PY$;#R;{jU!*#OPN8jH!@%M717SZ}OcSb&(Xy9zQa?BPCs=q0$s%HU%U6Rl3Os zNixESxIsQ`sld3(PB+;zi5Z^wA&vz0>heXLeITrAvHT__m|swasGM`OQC4;Jp-5o7 zCQ-gGlW|!JUDB&+O~FU;Rf@U4hOrstkT!b|Rln7duC%u$geTrANuODooK0%|U>egB z6H51AOHw3N|L}IjN9w1_8{hilKfCg84UL(C&;KN9uEs@l6ZLjzBCwYWOaSO|$xAV-@R;B$icGa9tb-}+^RxNu|&Uj?P2*d-=v`1WS1#+?vp{mK=}R^nPw2z z^HXWgO^z!kR}(te;u7PVxtIlS=JoJd{egju&4>61EBDK(!{f_123V=%a+O>RKl{A) zZ*5FF#cW44YffUAuI-G_@^gJFSyiuXv)sNr#XAIu1vDJIvDVr<6@#3Jr78s56%YOfgHE! ztW=7`YiV@Kemhept?JJ|u<`NnCplyC@{MO)K zgGut3_e&?FYVEnBnYEJgQMFM%DVrSxh^LS-O2gj~y*{I8$x&aUXmIw;#lNk1B7FOr zO)+s>Ik(_x2~}5|3ZLN+-6{M1-7V5Lj;Zrbr~tR0G+hUY*g+y$kd{@||MT6(6-NHm z(9p*fnDGU|HW-lthTQv8--1cW?c4(-K#pc2S>^Dck0}$)5lYY2!I%C`@(wQ z6*l49s9YoSdy?lrUGe;lJC;|S$EH}DhI%jVE!n||I{TQk8Re9rUeM!-qoMg|brvF= zV9W{`1h^!?Y1tq!dgccRh8Z5ta$Sz|!94LKIV$q_eZf1E-Vte*@)=)@ag0p|+<6^5 z^5X_+C&rj}=a}=MW9LpauS8L48l=6L;x^(x#0E&DY!>!-bV}&FBabA9o|Hr%ldk(T zuxXbGD{{DuyX#ZI(i?cID=z-3!d90qRUVSI`x6JHo{7M~agbme_ZFrYwWz|ID0@{4 zHA1s*9;hX8@$mauYlmsHLwlOzdLnd6T-o#PP{(~NzbL!FiN4QNX*gY&3MEC{H;EB? z9ygRwC7r_5L1RDGekYyFucU5I(J}8n{d@s6YMV*#+IyYMc`%2}R7G@ww1du9m<5TB z&u#e~A0=NC_l@&&Al*MR%@lJ?Nl}eiId4HQ7hYc^@4$Lq+ZoT$wEkw6K|N%Ku3lZb zjw>2RgPBKQ-uIgIoi>9XvhI47dXvV0Bg3!p-|fTQKj22lzDa?5c#{iJQWcPRahAg!ZgW0~)Zks`zAFnbz^4(B<^WymS+ z@2iL9A?Gg`)jSp2Gw{Gk{ELgJ$$6|(Q?3k+-xA~Pjzm4K{Odd#q;d-0PKFm>m*3l8 zS!y)pvhU2>%Cb+dKfgZO<%YFO6>Ih9CN>@D&)olWAex~<*oliHk_+-b|FQUq)@bj< zHgzV;aJC+f{1kulEvQp(QE z&SOO7XvG-Lv^yFI8~eu81d8dvUqnq|6E>mG@;SSu0Vcc4+)#LaZyB;wUbHGLM-Bsf z4#QR}v(#iSV!x^+4x}_m5{qGe3w-m5AcKDqvb#^3G3%@m` z-i3OB&`R%I?^ylM0WiW0xU|fv!_nVD!}s6Gm4w8C!ySyCUk4Q?AV^6`$$U#-Y;XOU zef?8&5J!d|q3<;g8{%D_Ql5XLStcAc2yD30g(MM>lB<^T4rqzSfU7kOqfgE?MWO$#cuJ_X|^69ZLtsh?We0s0*u}7hYjiSS~rB2GEYX`d#BAimLFmiV?WJd1(XiMYW z+tjNlpnOw-XxG?ITy;XZ&L4(f+&U{Ck8#`-Y#on%zHZRMR})9BqO!`6;w7ZU)b+EN z06Du%Obkcb1}DoSznySHMN2s$-Szs+s?@~w@*7GSAQz9#2+DQm-^rdzT8W5iO7!}N9 z2Api!YR0+ivlMUmZXrA`H%%0onJgtf0-Isr@jhwIM43FE7q13d3%(*A zCQX)iB~l6l>7fbiJX~4$5&ueqP8Rlc2e?bxP?ywcF z*o8(kDmY1hy8#Znqd17m?3Q^waYpARH9F*O*RLr$i5EdYigMVEji*pd!r?gwL^4!E zLo$I9F$A$jQMn|VCWiyw4*o0G5ifjmzW-eD*BhCnL~JFmgTxO9Sk`yhsPPrh`l@H@ zxg23~(SGiq0}Y};)%T+eCo&&3LP9h6!OP5n`6N?on_Gx^vjbs2+qMN3wY-WP09=VWf|3cz7gc>hl`)jg8E73C*;_ zNYMKG$A??$f7gZqA@$!~*RueKrT(m|tEUyRSYor6jostln;{hvKUvTY@z}-UpZi=~ zQQ;f7bgdKJdPBmr4^qG;TL z(8^c=#WhmK=GwDUsOWoci0DWn&(vU~Q-lCiQ2zJw_3C&l#@(h=JVIR3MBs@pO!ajD zvE7ag;&dP0Md72YWaN=^E8g~^br26GiSCXlstG+%=77NfY9TLRjb2% zx_r4Y68jCYfWr6<^WoA*oOAlB&z6>?N1#H5!emztF$Cbnea%L(I~a_5fp6f4)ec zS*tdJT9*s#hrWO3ja5H@`;?K4|8e+2{hNkHk#@O+{x^JiOF!1gd+7Lu{_tlG-wq}9 zy1;X_fb%zzQNn-s1zdXPVO31gHD~q5JJiT;MLb^yZS%|$s#y&uOCjCTB6q5dpBCA- zPeCpu@D4oJ?*slINHzeembp3DY%9M7)gH?r$To+ z&_Yybao;!eM)h=qNG1_|)i3YByp}WFn31&tl6w}&l1lsawFbLeMo*q-aIM69B>fGm zvs;-`nuLbWtNg@wi{moX==H8Hq(-JJ-omLLKYe;T;5dPqTI@w6i>ZpmyDAdQm(iVI zz7xS8kB7V-#rozaRwO(MyraIfGz;=X{@a42i}nO0bi{p${7EfI@50R_QFcA!6@m95ND`?p;Gzg)6>7ezvd~!xH>`ApH)dTt4GjlLNzmV zmsK!B0E*yj;;eW62&;Vuyq3$}Z~^b3C^9SRdHJ0~)oPmC_wWYs`1)7hY8FQ8)8xa= zN)mayVsbBGiq6rWMig}MEBORcYJG`lfJi(xI=#%SJ=`ev_e=K2FjgLoc#Ql`h)4|iiYk_}Bl-9C`d8ie={%tmbmgu-iXmdhn?aY> z@8k8rkDEhJ%FR%s2rZ%(MV;qnOS^0~@;Y&5k+Wr!5KxTzS?VS!ALdA1Pb1MGE0{2f z7fruO;{?-+PTPWTEu%eS)^%ZsE|btVDNXK)LtF{kR(S&SB9?f^F@04-s^WW@Iby#e;9-NUk~ zUGR4K!Mf3*Z2%|}7hXdnVqjYzBk$W z1uh|%gf-qOW_XhEpcqy&|6S{~AQ)d3pCnqtdB3#Z%zU~+e%8V>T;B(?A32h^$Nz7> zK*r6_w;vP>YLqMuEQ!e9#cq=yxpHzgfc*E;50NhPzOsZV01;4J5mQs6 z3Y4p$fz9XN^E`*%_+^9}+QW;NRT6=TMPGzFoJQ?5dxssJ&2qwfdyIFueB?mnK9#28 z3on^!eQdLF{N$Xqv^)^1H?M_R#PSErumdFsg0v_aWZD@1JA;F`&Td&-CliXytftm& zWPaS;Mxyy{FObwYgF1HmUugU`uiv3FSB(pyB|3D9IUdasYo`E`BN|m@kWZ&ZJZ=(# zOPH01!K=KZ-u)x49c(-pn9U=xnN>~c2O`D#m07WBo?zT08Z@K2jW`ePp^f=ahgvL4 zNVgoS@qikdp?$d!`J)AhnE%3e+`> zQ7>N4$NRtIEf(4-KP`nX@oxUC3KW>!&O;vO0g^8fgx`jSg|%#k66~Lx6oKJ`6{j43 zb`E9;3M>qODUH6oY@9qi91xI9Iog?J8|_Zy&Lz%^413-bT~(t*GL0dQl0VS_Z*nEgfj&r(AapnoV$J0OCe@3w5W-zppf zJ6=BuV#h*}32=#tsfoXE2n#Efe#p!iF{;=Jm$v5<-Ji6z*vdh=KlDC=rZi*>wM5MUHXM_*>Fh6`<} zzW0!u7usI2flp7pn6R=bBlL&EfNi!AGaEwDq-xc0M0VR~OgX3MN%e2IshE@+lCzu= zqQ*b(qPg6F158<+1lnatH?f% z;Crf&_hss-V!ljh_>*-Bp$+p|W@;^vrRKU>Yq4tCe)lq(^GMB+9#DQ=lZs}{eNd8Y zs06pO6`8BraAD0ff|OG9)WYI>I<2jRDrGh1w5w02JI9^Q!X}-#_;1S6AMigyUSBjv z(uT_fMhk4#mlA(qPKraqZ!M=7zR0SG!7jKteq6&iy9#eG*Gc?PBrPRHjaSe~c552j z>w!QX;Qm;g}kZa3)h816YGO zgKQUdCR5KwHdE%h2r!=@I@mAHEIvTMp`f7nug%kDyZ~&P@c8(6*^Y#=^OkYnSOCtO zUSC(HMBhBIhX??mF*%T)zu1>|C#6Y>v>C_vzYPCof8il`0`y-EqwP}j3$yOwr_lo( z5E4JJdEIOQL~=6#DBaFh`ALGeu&gZV#VZYgg@FcV3P4FBy>M*CJALmT-WJ^Ud)xyH z0*Io|$jAVT&-SxkBtm|d@U=BVkZ(VcCyq0?Xef@%AnyNTlhxjHSkL1J!CH4k)0!M` zT3K0HO~U@`IQ3-#tW+d`wX_6I$Q7qyCTDcxFWQFQCk+o5sa;vg8S=#WLv*s|wvmst0@~;9}z@b~RnIQ$Sqvx5~a-faxx6U1>A-0iC6PTZb z=lwirZ*3sF7DdF=sVq}dgy~7lMvNb#P+E|>7Kb~y#e=LeI-`^JhFDlAGO0GB$t$3# z%E!C<+n9&XOC&SsSq?HG?r#=rA1uwCFHv;)$Fn-9!$^4&N~)@ zAqvwHsIY+j{50Hj^gZS$@GJvEEhxaVgngHIK6eb3(Sq2O?HKsLZt!XN1hDykpbw#x zePUY!Vt-I0LoGMnF3orLEAp)NQG5~X?Ep>B4-}D+rq1h%h=IA^?f_TS@^{Vqc85kJ z;;8j9_Wb6>)jPowgaO;r^|uJ3HdKXDRg^McopHXCsO$tBC;8U+J;re_tV1B*P|6V; z0(!qyxcRo1+cAjb!FcMD9|N4aFUJN>{U|a4_g8ED$|EP>ypz=-{HBzBk$hc-h8U9a z;g!$*Ns}}15tBudLoRtBKX5wF;GWJ&p5tGfRniHReiw<5-12sHn6&F6wTfD8MYj%q zrR7H7Su5osRgGEM93A`f?@#(CJ=u4Q$__! zALhJb%zhS*n|o|R3@zrv?8#A)Hd>iu46aj;Jt#HAKDqE^`9@5?QF5}IzXn}~VyU|U zAG08a1^N)g#?G#TcJH*o0v#55+Np*nU-~fE@w8RxXSllor79`$L0nE=*FTG~$%CaN>xB=xc1}WV0^|n4|OI!KSbNI1y~` zB39LI7PZr*=A)4QY=%3FOQZj*;1~OrgdXm4V?;2+cpdx4drbG=pZ}5Pv?P;ufxw@0 zr_k~YQ9HE>@uk4sTYJAVL4$dhiAK-S+8dT%`MGO8kM{N-|Mk(1KkmczOV{p9d1lOW zJFd1hL2kFp5H4+zL6u(%Bh}OGrpP#4=Rgf zC%%=Gs(MxD-3u!XgwF%|*$Y#f*kc2l7zE)#9$pHsSVBHApnrS;u-p!JJ;;lY@1UvJ zm(Tx_OEH%#QZvs!{ZkCe7yzDnmP()$!Pt1ZKizvp@()T#NT|6IBCwYRejP)<+uxBw zWU_vLgAe!JnNC_lhv9(UaeaLpe6^3c2d!hfqnWq8IGx>q$fqpw$O-;kwf`E(QJL|v z1unxYk>`WlC%PBfkOkrLI$#;8C>U^9kS|8&zgSZZ0diK-Am}A6WW{qY`>7L9wsP-R z_L@&2o%jDh&8P)(r}CRxjA8V%l|DQ=eg8~-+CY2;Uj<;vDImZit4`CBS=s)2uk^kN z5j)mAh?;_wl%G71f}G#9XuV*=Sl(QJvh-mk*#Wjq%8O=0()*PwwA<4fGE@n42!%4S z@ft>U7O3Nx$j8oChn|t;-NEz|d`{WnoU0SSJdOyLH{750X^n-dePtJGl(gFvxtBY$RLuwH{n;%^`A+r_u z=KGsTJr48(Dy=fw(2_Yq`K(-r_q{RQoaNs4%3pgOY%%)LTt-UQn8NgX_M#yX^kaGdqk&;N*2`#Vz*PuC=R0r zS{30x{`A=^z1$E^8#O*TBsZtU5HHjc$NDdwX~d+vvpEMO`0=GziS6nRDgcMHjvc)g0$HCGVX zA^l%HB90=|C(qI$0Z`iR>%KgI5swlf(TgGn&T^j4bL1Ce{1$}wUD!LKEl@^fPkw#a z!s*&4X#67b#0z=;3mFGLVCVS>AX#^YXma};2?1+T_=O7j@rw}mLH6$EbrnP?lgGZe zsVOxy^!1DXxeo9L0l@|I1y&imReHtNptO-QFd&M|AK?QX!2RD#U>IvB>F@);<39j_ z?|_&R$pa~~>E??q|D`4Pw%7%p(9~4#s{8ur3n~;eHp756+?9V{Nxe4xDSo9_^Sz`h zXqesrd@P83@zB-1(reBD6^$ULmy z0c<62#8(0SxxdVoZ|eOZK9`=KEu%QSMck1cE=Wt+(UXz3!{0T2+Jt{ssX|pr&My-i ztQ{ZXIhwF$^RhC8LMC#38eeKEC!2}eY#}+>-bK-e41G~mqY9=@6<PCn`gZDwMk`_%VL9GoU`ENkv0Bo7l|+D(3sZ~}XBH^C71@ZP>HvX2>aSz%02 zt&{-DgsDVCH4O=Mkw&>D;GSBV)0EvdBqKi_>y8TcRJdx1aERWW;|_JC`#t@@Ta(Q5 z#=NptdAj0;LJoaAWyz7qQlmjy&KwDBiKC01qxBFg(TlCjJ463e-8K*iPCKlSz^c zLOcp)O<)e1{51aM>5!MetwQf2{={P(ti=1d?3aJZi!6_4ATyPBnV!re6?Clc}nHsHPDp~a3PM!%uYC=!5u(An0 zPDhUrz|01$#&`wlM@FI3b`o&p0z~&y7`W~orWJY4wIJ78KDWb0y8r;2QNQ|9Zmc*C z5IwnqsdqN!0iVN$zmZ4> zwplUJ|H=aZgny{XLG%C;0;T=aQ%e_@q}|>0`-$bo(T$Cbdat#p5D!5mXJ?LqFC@8a z9gD68;8lNNcb0yzF|p?nec{<(PUl!I?Sc=-Mf7LtBffF>-^QWZx}k-q=`H=B;4D2?Ih$_JeG0Q3-;f(ua5ze|l2uXEJ#8XsqUxKaXDOn2aa8IS%86K<1OEdf1+sp30Tkco6 zA~%%mDX75x;JqcVl=983c&|y(&sG1@wms$eYAwcjxdX24@&4!x?3L-d_N@s3CBY1X zZG#rKIO!``9rWLS31H?1V{RDZpmQ`Ih&ZWrKI`|5x|?!nG&x#qeLAnz>x|>JfH?F%6P`2(^3SHC=wXn&o+;47De&tBqu3-Ve{`uK#4Y^B@SQS-+?tG%a;`5lwx0t6vpX^Z}^Sz53iZ1ckc`4w-7}YMEIG_nC(hQC~c7 zIjCsn1(=TEW6a}nl)X3QwB1tMDntAtJj)=vRc;WYzxix(B4W|2ImuuoS!d{#xju!d z5jTY(Kfez7Pb}Dd&_tN&lC=FbkIOrs2`P8Ezb~Vr4_^yC_#ZhSxlUw z=NR9gz!=t$7)JGib|dMolL>R$^%IpdCK6_I=p3HBx9vQQVZSM=dQO}5;`=13AcD=b zsgZ3%L(w91Bju8^!NtjeJdQ!A*%8lk<-EH>#SXJ-Rs#8*?5?Tsma{%y^7=CbkHZH% zz$Gi}g(S|sGLEC$8l2JoF2>Cxv{quh!-OY~ty*d3C_fRR5cT)7*)(MrX^Oh~B;Mq? zwTFpQTm^ttLAYSEI$ID^u+4}Iq{;&rqP`?6QsGUzY9>5GLsVBrhcWZ*z z>t8{`Gq`R-&cC;}iy%GH*~+%|vq_mLr7r7kEJeZ2?~CU&6Ug#0pr!H*T-Y46=lA#b z^)w{4EG%gErYkQem$t+?3ICC#JBPV106_7nBR>7aJ$mi2}$iN_|9@psqN8@dj}NPI*1 zDNi2ae4iIXJbCja(dfYoTk!kAchwF1Js;+yFcIx?G? zE~q_iMod*aNQ(;A*7|kjtJHSv2RuCjesgU41g73GzHoDAmDDQpd94Pmf?z7OoVKHe z58%?BZe~!(X2U|it4oJX_py(j2CIL^jCxm~kWx9Bl`$CkbQ`@mqO!&BuY^NvgNKRc zn%N|$_16I035~j#ThwD~*Giwh$-I{gLr?&G3~9mHuG`HU)E^u2M4F<8s#pz0ADW&8 zk#35@*Hq9|C?w5_4?-Qr!1VQSf9tvI|I*uZ(pCR8nXnvt%KB5qIcPe4f_d39z}rO_ zbsEg#?GN_Frx6V>o!$$P*46ub?^?F^!T&rSZv+XCC?i?QumLC2n-roJO z_wCYbzfo_uoz!fHZq%Qktv|fI5qFw~p~bH^L1kLVAX>gkn0V;xDqCF%qtQLjX0@ll z%!B!QFkfEq^^pjAI7}_sE;J=rWO#lgy#9BNTTmeG?&1QB31E=WDF_J#8Gs;YpiO(a zE|m217f^6~zS?3nKR>?!qTXfxYo1)fkpOy*rGD;=2Y_nX+LwfFp*1+d7dErr}fyvl-imld7*^S{E{*s4GJRV@DF>|Fy|L36B? z1XhSvuOp?ORiZjynPZzprN3T)MkoNd|0L+pe#w zaFVbmhLEB<9LamSoflC#vyb|9Qx*y&5&!!W74??tE1kiFdxqD9(*jzpZ7bmd$xnt2 zX$z-36b7Na%AB@rfK~JTfZCTVZtm0#yCJkDUgGe-u+~Zf2J*gcoTH;=x~?v|>|m}T z5_}_YW1nAgmCvuQ^q_xjnNTPkLog$QKWssxm|XIhYW_-K57QyA==54=B4s~fwn@}u zy`rhEhJSK4g7{T{Ux5|4Fh8Ez-152ZPEf(yRW+OlJ&M&f=DbnHfEwg9 zOikC)+BGMyYoL}oaRZlWS)5Djj{wgF9l1d2^J{~>QEv#35mbf)4uc^f2OQzrP)67L zaZXU(P^E=BSj~!>I~MOm5x$2UIXOMO)|60<81v%+AWkc7w}-ivl`+m+L)U#pdre1v zbP9Cc@4{CLKk;yK0)B-K!bb63Uvk#-U@H4axJIw2dDL~=0!ZM)hPBtxWFkW`zUR4v zL!w$;rC1pZw|X-_jNzYBG=JEBSA=fHo%s&|%R*~=^c00bv~<;bXP=B5RhSZ#Uto6z z$YNTN$Lrz3lXfDz2DmO(Z}scq6dq^W8bGl;eR}-h`82fgl%#>ze${iwJ%9Y8{l)K) zYaKQ;R8+O_z0H!@e}WOEB-h@gv}-p<#!}U>wv87POwY#qj~M#N@XX^J1iOEDM=$hc zY|adrKD=^~!M((k|MPSgI}#_$$(LC>G!#h@{mM;!enAzp!QBzYIdei31fBD)3uU-d) z!&*&#hzsqpOz5XG!T6`yVqL2a#=?iH)ap7;oRK9}_{JoSd(W`Y9Y|h|S9=^uezi^K zAMlRt{n7oxyp+H zs8Sn$E9D6CR$h0{&nhW-+{nk*d}UBv^5HGIk+*jmxGoC3R#We(X2c8&BID9j$I+h# z(BRQ|wpHqq)bxB}4&6ht5vz2u+9`AtH~54CmFYJpD$%XSTt*Lmhfgg4<9;&t$|GJFJfAuY(Ljg^p;9G9z=K*N}@K@XKmZN-tJmCL$cMT4A(lFVb`?(crGhEm=;y`MIo*{BYH#w{235|o?luX z>S5|Fp^}EHL&2zoF>q5l?3+kS3I*U9didA>b$nT+WrO%z4{l!gG0p1qbjy0Ge|$nq zY5+g`VM1AQIE}&!>^UwTV%lRlwg(B!Z_-l<)8%OR;`ee=#$8?()JyT3f>Aj$uUtVA zJ&A|Kxd%B8dY4P#v@z5vsyDr%XgA*2rb`{CijENW1Vr*zUm47W7^6=y=8z*#D%0^X zxT)x!`y8ue$(m#JDaV=ThcoI$HrErMey2Vt$Qlwwt+CACdeypU<2(Ms_w0Ua_9Wu~ zyYJoWdc23Fq}hjxQp54}`ZN|*X24jO6*)QbVY<=n+CZ3gy#^7QGCn@{CA=AwQqdy|3xB|-A_?RJPfed&L+QkPPC+mV zHd_*Yr*$NNA3h zpWdP`+q$<#J!xN{$1TVSq~9?sQAK3k&#zv7p^o#q4H}%!k{!b_09msi;sG$*XI9U@C$BS!z_W3EvQ~99u{|T zfvbQMftr7lI7w<1-#;m6$~3q_qTBspqCN{NW~POAuF3LLmpMrk9sM_B6q73g7jjLJ zO5K8lA*+OH>>$OgobhS_QX3nu^RHowfg{A#0fV_qP}x0$@IkBX{B<2c);3DBus4T; z!M*1m$#=uEqade>$nWqki6Hqg{>sPMQ z$^%wJh6E*SbCrW1N!7Xw_8!F}Kext{5S26H?iTN$J0k11ZlcJ?If)Sj(i>tVeG!hV znqOyo_zUpZec9&Er^JrZy&LC#aJ76!KJ-4jo^F5m7hjh?xX}QpZ3vf>J4KG!65Qbg zPx~ot{x-zbw`?#0QXkMQ+k1OweQHTO>u1+|11#?uao76eDEH^dI z>$rH3^I8Ngfhnjv38|n5<}*G~zmnkUF~!G#wkF=VPj%yet2ndE5~w;SLx7Fcn6&|| z69od*&gkn zE~(UKpl=(==PYeMoR&w%F7wXsdHX!PDCh{ zn`mnTU&n?ZR`epEF**!Bj06?0pTe_qk0vBR?vn_j z=DMxv1*!!HR?ThD?^#{vn>3neqqa|0BnR}(51W@>ZHm{z9JriG5n3unMZMXT(61bk zZ6g$mNYq(1HuKg~Sw?ufbNJ<%GuoZMf9r}QKQ-oX#50gj;pKMrU62?%_u^FCdXI#q`C6gvM(ytk8QJxOT2w;TRXL-swNYCM%&54`sSZQo9) zf;z+h7Zcbao&D!dwnbk^Ad22wD}}N-j&R>uy_+u!1Qj_!WUa8x0JoHtNWqe0n<4t$ zz3_fBh0C>Zm8&yt3SY8DZ~vy<{(bxchu#J(^cI~%n2PvoNx?M^DB**=qiwrLpCR{m zYIEv=mo;CM;UHeE6un{c)9;F#@3BUmtkU8I(YvOk)UzVYv_`0(o1hz>N8*2-@3n04 zVM}Vyk29(_m^=^_Xj`hBKdV!dwrWH8)1T=m9bWxwZcs#_p#ZCo+e+UH?L$@(^WxcV zU;??mC?bxWj31m>Hl!p`>|ICP>Dd3V20-S>q|8Wg8NbGxv@n*>hD9=2!14e&dQZW( z2lY!sPYIEXNTrZ>xu{0!?^=f+X7D{~Yz$N$8lVhk|NfuvP`lki&VKu2ht+El*GLkw zMV*WRIuryGVL73`id@AXG*!_R(dOf@z`<~gVdM(wDdlfD)sCi%LiQxY4#X^fKL1Wf@1PCi36>meC$VkV~To?)o*buL$ON5Fg*Dm+Y2wL zUz-xvtS%q_;uqYSChzYIJLGe`&O-FckfHU*VN)_uQQj{Ja1Ob9ZYEhhL#P$amY^<1 z^Sx6+ASejwD#Ep~f}v`@NgBHcnXA#c7|yMy;=?5*fMey>enjeCVQJt>{f_zJIC&bT zo$ov@(8uqE*?Lam;o>OuTlaZC(OnTaoVG(O;!6n^$w&KKq@kecz80F9{;zF^-&*Vx zJ$!x&OB%A6!3;e3``sTz3^%s)L=ngD-4Ok4xFd}5Nii~5^vFwsyHyqojqx*jyTpv< z2$y@HFVCbXFqj*bpDV7s36Gy6;e;h-MyVaEzbNK~9ahTPS&A`Da=RWTNTZJger-lGfpTnlc01YiiUOnNGxE;oKLA;iBR!Q{ zgEioUqv#{N@tc4bSK@|WfM(S!TpPQD;%hw=Y2{f)g%pI7;-^pb6ZE`b{bE?FZ&xZF zNi?t8%1`n*=4oGP1vVQHVzT()6VjzL)HmrreP!#52CTjlT7eZTTN4A~wLPa_@*}8cYlR97aD9{X!7y{XtUuWsSO4;JKS$CcrwzVHC)|NNLI?8?9s-1p z2)Dr6>A&(7-gy-kU7pLpKC71z(%YZBAL=bE0u7WRN(U-@vQnV}1uZJDqSz(p*gNY$ zLK6)d3#;)vH`_G9tF#;)2dnk})RIBuRyqM?m+ItQB7+d9>>!98|94MfXeyXwG11`t za&PHsfFM0!C!4b6IAYio7gv)&2Lf@ENX%%;0)7rNCVO>q!Ot|6MESV)w$r{1Zfxq` zXwzZi<}qzGRx4^Q8IybN1Q9Ne%@JrPZZVN6hd;fcPg=bv0{O4c<$?jndh=n^C((ZU z6izr<_E;uF)ed0qJUr}$j_jfc=eU)d|OHjcXzQS zsnOMXgvC}TLJzgLudIv%B95ApaGWlZ*!JZu-re7!1RrKPI5#vdb#alh`Ly>fX=%)*=@MHC}!CxLL(Sq_-nVD;omT-Bn*1u4QDT? zH4|+*L+UKm#N68TlTGJPU(^c`k=pP6Y9gNmrbj1cI2-FN+0@cLuo_V9Jzf9*FfrwG zEGJ|AU?fsz{tQHZ8H8r2+7etJiz78ZBqJVQPe7+fOW0!C2ZKquMY{n4Xev9LF@opl ziMGyb@;vecOn332B3zTxKIZBE9*E?yQ9bYs!E0~D*(8XfaVe`*x zSU1x|n)Fu#UT?@vxMxMZyqx@f!~a|Pgsi-sj4vS>{U3=}W%#g#B^Bax1TkOsf!}2o zoXQaTmyp07#&pcCMaSM~IEysV_L&gpY^C=^IL$eoV#v1`8`N*3*E&YGqA70^KNw!+ zFP-*}5!b3=elMmh{M^|wMoeLXu8iFWv+0vEan+Z??qTC<4A1fK@s_3RS{tZrUV8u5 zZ;dy(fKRm4th#-Tva?21e=FFg<-!?jb6OK3z2>=jjqRmQ`uS$4=Fy>=J1BALYP2?d zSq(f!heJ_p1i1DkMP5)TBZ2ya`8YNH4M0{+n7V6{JOF~bUjSjm&A3a{-K3exrP8X1 z4B*QuXiddCVyYayJG;cry?w``|N4CccP$Wl(V5NDlId@e)=yv5>C1iAz=?~5e0Mejl(2uM4*qKp z(`HIRm^Scb;U?& z?dmByDzhE6Nt{@=Vizh@3VCt7Ra0c1w}q7ZhDIPhL&&jOK7I$a$qu)%f)4MNAHK;T z*&(gQoWY_-d-Vos=RIZ>a)5d#wWu#i-^wvZpOQGk!B#y8zu`mR&CM-@qLkxG>3#bO zq7odDP{^s2PshFu?yP~vApqGAn6;$xs;dL68IbDO5+`Ff3rD3T;W>2MO@|WEw59jy zhgUV7H$02nEB_^t-C4xkJ+v7e4X&6SP;&qq#cE2Sn3@t8b<#e?>Su?03mbCc_jxMd zh2JGk-HEXsTqkH6K-$Nz7|c+v#M;>0dexK}q!@4NsdalX|NOE{Mzj_vLGCV4u-#r* zQXKT`nR-w3m^Y&`KxS~qpWWK-n}9Z5(Q|?0;kGPugVkDgpe1FhI-X)VOCjag$BSZZ zeYG4a%o!#T>nAoa5`btt%UR04j(yG%s>j8 z*gM*vj^VDyEsQC>ZFEYKqWM;L3+5fcC8#}?3lw-7T|9H&T^K^c-}>3j(wXKwZitYH zemh1C{4!>l4%IWPDPa>cEM;>H(mAA%O|uiy(}odDD(A>b?f3UizznA&eW5TJ$-%~M7wl%T>zy2zi!_eUuHQK8{u3QRj;M!dV zauON{A0---5`ze1-c3mzvColpbM(akGd6OmV#1aWbvWJXHvbgWnIA{QZNi7b#!Cwk z(8Q9t(fi%bWUmKrIQ*`OH^~U( z&2v4qtvVFKaK^X~7RqWOIdq@CLFBUeX_y8q(kNISbX zbSi<8f??3|=%zq6D`XLBGTS?Yxs$I8-WoLr1+01YEfvo@6ZS=CezH^D)QkO9(0{R* zGj&HuOB@n};JPqrYTZWj<_1|hG00K|DcUcWcP2oeK*-$W@-kC=7za6tP)Pz?ou<6VTFuWswRU*wKDSYDx7$d`p{`{NRZ+M}e+p0nGQXKc>4`pL^8o~SI)k_ei z&La3I7z2W!Tef_Ta!X4;En=@0K?F(3+~V3~_NVPb;@6XJk-!kaC~IKX2vMPQKgWa` z#aDkalTi|wbMDTwCtmTdF`E=PZt>#JqK@qt1aSPrW3m#`$3CIw3*x{_KjILWL>vF) zuNFNrnfA`F@Y+OY9KR|gF>waR=sS0%i0_xVXlp`^3C(_cf{_~jYY#YGcnrtd3-{H) zdO0G2y=A9 zA-)qR%?dzaxH1jS0VU=fpSHhrL~;q#^z=p%4S!yrmY~D`$!o{qVunz|+PJ|ogBf3( zwJi*j?Zvf4m5_2kfEBI=Ge!9Ezn-sH5-Vf-wE;OI6D>7GM@NxyeQg1ENVW%nJ-y4J zbDA#{=K6HH$2*h&q`Wyzhc- z8(lEI|NbhV+fWV)9DI+O_L$oM|H62K28bFZR@kOT2nL(z!l^Z^5q~AY26;5G1H%DE zB+LB+l2XlDKs2Z|LojBR0cu!}n?t-Aw|m?nuQdh)xJt$2o}*?XM^xP|ljCjHm+qu1 z)sJ;iua^F++TJ;dkhj;VH%;z_!@)_6uG@f_hfn@D2DR`Hr5=JeF)?3{$Y z?Lu1EruSPJ_Q52U!n%q?pWDkg`8PEuEp{62P`wc^w~axtPZP;Wf{>A}xvEpMQKXFL zpCX2pyT7|0=E~g`gvlXnA(l~vYWWt4ax|XX*`cwpxbGqtY(TVG79+sP+3h3p$fvKb zU#44cx5}n(Zh5BO^o{E<< zPyrztIm+`+>DZMOZ1pN6`12%nG)5!}u2K!tjgVOL^Z*0K6D1$tnEDtjzlC#&T#6*-EU8a{nL?{ zxQ{-hV-0aVOKyY=R)vj#U^ChqFK;u@jX_iLTp%aPa!^SoI0IL{ln8^`@tYo$7$3+n zAL>SyU&6<2pId)9>3ea%$+gS>Nz3ON1*ZI-czUgFD?vC14a2Ee@YCXt0BIk5W$a#p zY!IpT_66e2e+HjFd!5X~DcxkC!#xaLdGwVLPsCy(%5_ao;o#_{z= zaM-nZ9c{?l`*Psf&vWk?xQ7@YPk=&}i|yQ&dy*rgt`IcU8075NNUQHqNAg}9rT7x| z@V*PMVm74z`uk-OTGwFLpTEu}6)i8ddo36TDMZ)P^WGSisukCa(*Mm1y z5?ZQeRHPd`c(osI%;Ti@!51s6J7p=?`=VI{A#mJclM!Y=g2M2$M3Sqb?D^9T8VHSK z;u|&+b%#FxIr3;&*F;AEl4r?GQH|d#m6t2hs@=A|`66@iVUXECGLHFnG1_O>&3(U; zM0}P96BgaYMn{D{-p0bvi>UGkI~C~i-ujSDWAF(u@Tb5;099{30&@G*nEKx%5g(o({Ybh*q=A_ zcijK9I7d+Cr;66Zm_=`AZRg=n3RuOzQHD4&*2bE;lmr+GOp67%Mt<49C>`7)-w<}Q zh>uCU)>p>vc&^V=D2Qm!fC)=wUKDNMf6uFx6&p?oU8{SS$mt9^ookVCF_kKr<(CaS z{C?PC#U<9<;q%Agi0fJ{Q^{CZ+N|4Sp;%OR=!HoyGNeIO2OoJDehA$Xbl|w(FuR2!f)Jvfl%W^b2rTCI%bh8-Qf^5;!+6lv{6M zr$#7;@SmIygw}Pema`z-l^yzruF7%AU@@CRbEhxuu$UgY6D@ z$S3nQ3nfhjF+0&mwcYpe-u(7eDO{^*0|o2r`AR7TVFn`vzFacD zkyR(L;j;zDyW{1|WIM5=e$k~+?n3;Z1oO9N{|9)_jVUx#%ozTt_>_}16^5rcTGbfU zvHd`cw}4r|r9}PYbZz#!2gH?RWAvhz;Nt{<`AFJ2qmxyO+X(-{`_rXkCbQ&#wz)ah{ zjjn|&f_5D{Q~4(W)LC4;N$o~WkLjx4b30O9Q1tum=kTRNrvSIf_lvZf7kk?2LT~m> z|82Yrn|8}>FWw2Ee|NYC1(YDvi#-bxG+;y|5f^v}kiRDIUxd^MkDwy!4tKXcC zde#ix`?e?D2!1u1^7w<<#VSb7q>LSBK3j@GdiITBy*>a1VklaU!BycTY!$+d@Fbl& ziCZ4S&MS5}`@`eBk)R2>aQ^^tghZX)!Y^Pg5}>>;x3gci&209MsDwD46^~Q$CjKcI z|}jpoW{QAE|!fBe7pF)$x{j?%alTS*&28~Izj9QxKg!oO!->0dYx%X z){L2R^SThHN}J}MD|5c=Q z9B*FSpueJkgR(4Hks}Imm}D@+bKb_(VZ@oIXq6GJBYCPC$-9$Ko*=vtykjH*bFv!Z z4-$CVvQAvYju7ZtTv<`W+(+XvNol+^h|WnESHfR6rS*23G{(c1HXXyw6b(Bcp| zBhKr}?F2LUk@#`f@&**4F~w7ytV2Smll0C-{xA^xZy2vb#)j0OKVRH z>;E`seHRFg=Ielx@@v8S=ABWCKvYeYtpCjeL$7}+_-B;FWGuNA;Cc~ANJ+hXGGjjb z|0+vVa#Gh%enWW_xvq^@YL{|$BWX)G-CYbCHZ%atI*m}PFr)r?a>u8B9rEn z#MarhOl6MZSoh{Fs7^NZ(MgWjkXT;+C()zDZn&obm%mNw_yw__*6xL%%Mq zH$h@@O6v?pdDYL+x3f66GkK|A&umtb>&LR*b%E#c5x^6e0G`m3QZ>cOp<;`vfQ^%> zqsLMiPh>Gd1*el!lNixK1i}l7SfZ&!)*g2|NyU}rCVdinNH+-8H*cpT_JCYrwW6 z(A+Mr|7;Xb8GUeXmQ#`0R2x@;nWy#nxyx%jg!mokHZ8KFqgL|1 zNb( zdD3w0(r-nDuR4M8U#XLfx&`S+^OrAmUFXLq_$f^{Y9CL}Y!xjdBuj0&*4QDhHclY(sltrH+_{2U{bL2fr)TCu#>#@n2{ucOVg zYbSFzUKNE$X7r=8GUo9WW$8o*s;ft|{}-jl+;$e*js>>FQ9B?fv9sqNs}3c^50>T)0k18?*(BvWTIndH58rMHw?S; zg#CN`!2t@~#m0rzq}R5Kz65a$!Mk(lDHE*W6l}cs7F2N`S+mz-xW`6YQ=4vHJol%# zKG@r%#)$dK5N7k|dl?^4+2N0d&i?DR3qXUjo-4r<5~KMNkaU7kft-DX17$p%oYj`w zryS4fvG+M&w)7)HO>s){4q?CTWHaxYERto{N7h~-e){YvC}h8Eh8W;flq|1OU7>*M z=?cR8O8!(cu3g^7QCXo9kg%j}97?IH1EkU>dhCAKleKkZWTf_` zzU$M_cxoAheQ87C}5G$iJ7SlUk?XM13R+FVZL4h*^~ahE+@*=iDRYhuu)vv-#*i((=uOHaOqggQ~;BWx7j~or>OPDCjwbQ1G`ptUw(?%b2?bn-oK`Yz zPjxDR_2b$inPALeH4CSp@|FvQCUFxT^Jjm&;3rp$B-G}h8K!GcMPy)=Ae*{y)ND1; zRAHLBnYTN3ru@C4=slqEzy^WzL&|S2w`zV#bNs!L8|?pU33^}9zt7DwL3!N=r9Ed! zCNRkI;}u6c9%O0%T`JzEbutt&kk8(&n4aMchl^MTZR;@KM%16Jw#J+_KVDjxPhQa6 zhKizp;nr|o?Fr<-G}4T6YO!c^iJJ_SM-lUXKN0#iijwQ+1a1)199?3iSbzocG`i4xl>Q+f=;AoZy7Gay%{p{ST_5A$b zTU@i8IHWP{FE3={kpleI{HVe~L9ll=Lv71@S6FrhO?T^?eHb>vTQctMFMcd} zm?Z@AEN&fSCucWUp#|t^kgmtKI({tbICEY8*~k99H0Xf;&UgtElTD`yp`kWSpJ?c< zHHr*VSl4;+u*TF+`xmj)=3-HYF8{TBb^YoPg)z=a8*8k2GFyJ{+Ee;5d^^$WZtUO# zLIXexin7G~gr5H;E^YFWQm2HE9vXCuw%8|@vQ6hynDy~fz3-ZEg}AHMLiUQRiz&JA zX^BKA`^Os1xu$(L#Th}1xm4Q)IJnoD(FIWSMUpPHdTvU7RlFc&0ma;K3K z4Vz%go$mZ(47P=E7m;uf;Cfh$i(d!@3eC)#Z~~1SbJK}FAsX(p%-u6sH41>s2h>sx zh0jq*m?YvD`?#y_*uxpJ_FfcN#mQ_H58!;1@WVn(HzX5~sLpaeFi#qFeUS9-T&|@b z{>mqGaX8y`2@L)oXOo&w@_9s_V_z~1qplG)h0EMIXsWFDeNlF*w7!j+7K5zomd;Pn zI3*bQS3*g2VoaGR8}8va)7C4BKa9HnMc>>=KDTSNhseS_0?gRkjJOsgewxM&m=Ulm zI-jpA?`ljcpf{gNh3^dbk2(blwf~hGFL^F#`3q>V)Qf0BYB)5 zUT~R$F_iaSVbFALd{2AZ6TX_lm)?(^VT{LDh=~VtFB+|$X4+N;q)sN9d!qcY8(spq zkX0&&q}vuIK?Tfji%oKxkXIw3b^?x#U8%gaWi&twyN&`ZCD5 zM}k$f{3hvH1Y+N&@4JCO$yD)ZQQwIl-{oTj=c}(5cn&uTp+__^SGL8=1l{W^A;a^B z){PoS;ja6cyU*QV%gwQKgs`#VwBd+8wolHR1Ivtw_tqbDRenfNsfx0B_d^BGd6UDV zsrTp-bqI{jR|DMB-mqGgoOSq%YS;f@b>dkn(sa<5iAUc7`<*sw3CVK2*-X!{ zr30U2pc2j6>lJf~rAP9pGLJ6ne~XkMt#MneUNmaX$?59&kBE8sq|jg!q&fbqLVX_3 zC;7^n`)~IT+l&LUb&HoVRZw}OKaX1-`uTNo`NimtKU~|tKlbr*`B&!_kJ09XiTB2+ zX2yrP^0Cw~(YJ)JSC`)sQg&O5S%!&O#Tu*e z0{V2g`UN+lC;5NxjGf`_+%$-YS*&@tknwwph=AavdkQ3HteaaV*ftM2{NKXCb0Q55 zG9S_ra%4Y06!|s$@Icg^`UzQGDq>V?@Z+`z*+*z)zld%a<|{i%1FsR=z1O2tq~-jZ zgAk@GR!arb?Z)W9WwIIgi7^BlWgLK2siDeLM&_iv(6-{VQX|;OzrC#5vE9>d%q4=l zr96f{R9IMyV#4Cy|Bk`wKbttAmA2g5u{p@8tGg(J1>#8baxys(-wBJzGaXotS}R!ICL0R zq+!Ft&y?}FBWrVABhOnWL<8S}#~@kC?7M_}^dA;WdXA~;e2(z*p2{C4x9kdJgn6!N zZ%eJzO@r?goF&1Xlbn1t37#$|+;|VWOfbgj@R>;53X`!RBrdztEz)=!wtxZ zk8$v{PC~hR>&zHGM9OK?xkW@{f3fxZlk)?F-2+QyUke@*LIa4>@&MsNw3*{*@PMb3 z|N7H%zSZlnF;vsQv!|vW`vc@0f(+2x z%cD!16-&-vO|E;f<|z*kzTj6#gTctbPK=Q{DnA37yJjRDXfytNNtS;!X?jk^TUE4v zd9zoUxjae)k*o>*JY1z4WQP-go&G~j$wtkg#>;IDd5)A^?VpYP!^{-*8qooPNR}PI zD(vAO{kM)5;5+8tX~HeX$jRM)zONEb{>(=&V=<3}6RSpGuE#ke_-aQr;8{2Y`Cz;S zr=%&w)|6N&QEm`MXuZrL?10v%@cMY|Hsfvj07e+X&Y=y=I>yA%6%AHO`?m%ry0s|Y z$CoC3lC)K6tgrtc-bsQ4hJbLS)$hAoA*U1+QpsdQTd*YZ zD#Mmj20h~O*#cdBv<;0EMM^=v{g*%~1@aqc&+0%=G*H&p|DnyK^~faFP<~u`#_`;e zG+#0`tKzUgFcVtff9AIE5B0wCjoeI9UYhbr^aS2`+?zwemLkP0W6xG8Uw=>D;fLb^ zd*%dqd8!2YI0h z5i~N7b5_qXHdW-(p@8HY2j0lxt+N}{Bxm7#$YP^bJ+RED%kZqX{f<6K?=e%2E7N^w zNGn*({|H!)pURlQ*y@dX-Fm(G{VCk4r?gTb<78!#XRx}3(^wh%aC`pBVvg0$l_u&U3i(!f8h!5 zG{rSb>27@G?XFPvcl4z`*qN=X#^ zq|ZC~b2PNjM@sv3T5D=lo|hQ3X&H&q6Z$2ZgD1gMZfjYE?;}LJeTeykDgD;>4Ey^O zlSSXu*|YCu!e1I)g-qIJ1ZG&}Gsy7QCsz>cwWkzREuAFv&0o+aCn}tQu&x{i6v%7d zHmE?!-7UF=Ym83{A_21+<)G$xtsQ(^ku>=N6j*{?LtbkW?QKAt;%d3GDCafJE|$#- z6jb!X1F!%!_A0t{9*O7gtSN#KSrRnk$V`TmTBIt-;n!JCED@Ddu-PIIDF7x*#UgnxeF^u>>uDrtCao1(fX5~F~je)tfw zsgoV}v2>LA)_cQukrnkwNIOx;i5lrS7`cvg6V<0qECO-n?Xqkabe|!q*E^32JO=k2 z-60{`o-*Uv?p5SAnUl~Ow8gA?ts8iKid#bh+T3Yn7@wei>nS7ogwl7B{$YRoZ^@PVP*OrVIX!UolwlGS{{Gy#`^1%*2DNgu36wdEs`;0ZLtJDddCq^YAA|UZcnKNu80;nPyQJ$;?3ql1hn{uaq{hjYgz z{A*tfi^oEaxi&bKCHKjL2+_N;u6_*~#bJkqZ1j9{;~Dd^yu{G3Im$TJ=Aqb|LKgA4 zbhc@J$U(Ul8eG>Tnux7tPff@;uCUu0JrJb8WJjsaR>CWO+1wD)v{RA4x8vcuweu?q z`grq6JCW9RL(->Ew_YD-2b_fE^S3%#-Sd?8b#b(GG#dpxazwe? zLRkK7z+LBgvr|}HQX+;e@pRfk)Jb|jb7O>c(mqiQP?j9l<i|j3_2%{W7XC>*ZaN3uIoz5ISfyt|5<$DcBN$r%F$Y*geEw4n#oxBWx z%FtHXK%p~KX41o!2)**~g)d)R%_>5_Kw#(9M4?Dj**B>iTuQV#$F!PM-2+}XzQBOZ zgCvaT0fesSDJxjX!oh0%;@saY9H?Z9n*JY6R~c1R7j5b8?!1IZcQ*nOk^<7*3etJ$ zZj_dmlx`$NO1crGQM$X|=6mmr!CwY?&OU3eHP?*T*-^sjSw4cPZG^zUM{%Ha9Q5?< z-dgshebdK$dHr?y2lXZWFBcc5*2Lw$&zN$-=iNGb&1AYSrqrxNpp8Wo2d=MaA<5cGS(A9vz7$mafad zSimyT>PkSJnE)pwKOmEw6bmWXsG>|C7*rg1^A9k3qs+w-9`T@)hP~++*eQ4u>q7-c zUipZTR0z$Fr7)f>5KL4!29AyK|NdEFQ3!G(Z`s#$=%iR4EmMhke^P)*>+6#Pd&*^( zk8_=qEy_TkvOh1ym~49XZ)DkC$JmcAUi`Ks)e$(>rdY=A{834n>jLFxD_`}}& zcNVi8QuT{fY5X{(l6mH_nm9QnJcH6yiBNaS@VE`9MaQORi@rw3#b+m@n||oMJWwC2 zJ~wJ{c&i%mm3z)^V(m(}E032=#e5O{SKvY?)JthsoT=dZNMSvE5hhJL**}TFCH-*v z4x-JXf7Hj&olkFu?rv$pMgtfr&)ns+D*aAbM>AOCf$)PluYc#NU@Za7nrn&c>no}| zB~L0`Uw0&9G=4CC0%1u6XrU7&k)x}tIGM8?TQy4@Je;}?LR^9b$WpQw;fXGcuYDt$ z*vT_zS?FjM!nUO5(1k^Ee1pvU<4z8*+QJuFTlJR8T8gB|!`4Xo%>DO1S^;aUuFxZg9d{}9RIBi2z=RS5)WO=-Mg&^E5{4h)&q^TmrZVY zcm6M4q_dyyH>z-B^h9GQCCPGw>wS{!Hvlb zr!exmE{~{!Xnm!5dyq?N6^EQjq^M!M+u7!mKLC<5r*~URZ0Qe|yj0U~s z!@~nGN0l($=!>16o&9*eJt1M2*Z>L>)Ebp@wLwI1&Mu%hBg-)GrAOjt$e>cr$3-?} z#!r@u{A+3?2Wfo~8M*KEFoU!@PRyf;@)_vSu=rIiftr*|XBxlk9i18ekLjxDT2Pt> zKxrC;cb>J~nwqJ>$Qc_mOO-@}V=fzJ62DMn-B6BSm@|fcp?=y9XWcXEcKZPR_OEM= z3J{n-v^ntbX`7z52CogE$gZ|*(R>jtAYvm>Q04u!RdrU9!XLpb2)2+GseH#7)=Y4-%}vA>w| zi#_5a=qa;JbQB7vUBo&XZMfew(4asIKPsA$OKUZ0jbyYbq{J|!3ld_rMf_XQOVP|2 z$)l*oKo@~6FB=1_)ace$kj1JdjD?X+wF#^Y3HkUM_M6W&Sci(Lwgffus23-_t|L>M zou*j$tBeDgqc$;+^^fU^2!4ujNV1>`p4;eUpY)ehmT#zh=*Tc(Zl-B+E`k*?w1kfT5&sbHw;*iE& zP+6zQRC-(movvlM{X)fV$sGsOV!B&60Rv9#5rR7T~f1znVVp96`u&mw?eUTPjpqYK;Nkh{HPwDF~ zzrIRqy^qdMxAR|m06QVDnF8`UAdRv-IC4!~`DmA5NZ#cZbOcnv-~Dr{+HUe~|B?&( zT`M{)(iu!C&LJMHZFbx#UUu^DZRzUkiyYh~Dp(9wv;j2KRYfQnI=lZ$PN^XKt7Fpc z?yf@d)aIGj8^~({xg$S7*9edLe&j2D6ia(mRaQ3NC`P*{NgxLo7?3Kqnw`8?Us_t) z-RQ`xayEGblpp_5tWG@tOa+0F6NIzmsU64d2x7HXY8o2GLKMM)8Y?wh4727L`puQdRzcH&ZG&(Rg|31YnXhJ}TdjZbV~Yz&kimqb=NdXrz8ne-t{ zXQCo;GV{c=ZZxsXXg@Q|z?w3}f=&-D#X?Krm@XZPoGmzf>S(AC)pqV+lE+L2nO)ci z9%T+Iru-fTvOe<2Wwp(a!rVR427BVF_DeD-^z^bx(|As8Sk5Vni%xIO$PG8R2erd% z4&GX}c32c~=I25iY#8sQ*d=rPm+iF!>RXpt#}+54$(AqN1|&d&e}8@W{h5uiiK%12 z)!^)$0@Y8kTq8hJ_>unZeDag^;AkQV6?2hjJYX{wwg+K2;vbqM9b=lgq`v*}FW^z+Cgbj!2rEoY^rs##=>m|OF{ae}cK5RxS@tw~20PhIb zPph(wmBCSK{zU84pCfLEc1AZys?6-E&?uS+$nE7*cU4Dafr%(A zl?2mwzSbgJy!d{x{@~2@eg8hU`cFyLiKrWH+dLsu9HRTys{}YUn3*8fbh9U-E zTwG_{0}ZUvSnH&sV=GxfDP1=$ll1*eKC$T~WL~nC(Sb0{&ra|iVXGa zse>jGA>V&kGO$=xR7zU^jkP^-LqkJ!qs{V(#3S<2_ebx?Q_K$}d~c86F)G&XM_OED z3BPiS{o(eZY#qSjMMW&oUw;?*aZaNNLPS@*&uRI;Ee;@OW}u`_E3r*ie2F;)TpXY< z5_I20p>8>O1ptp!3i(6?SaKZMz@li53ytj1A2=r#88(oCt{vQZhwQAKg3|WP+oBZI z7h}Cd@`G~f-m1k@82Z5xBcp9UD~aGX5bKP*w)x%~wgxTh+&M!j`pX{-p(E+y<&Py$ z4BJO@NN1fGyjZz;A?CR&(PDbX@(gp@JSoZ$uB_C#LcarDRb_L6<091rN~koIqPsnR ze^u3cg5Pe9V~zhjiWH8u_F5Vw+ZU!}!i63u+g%;Knc^JT22DhHn|}opzQ}ea2Qp=2~l)|7{oxwD9bmhdLI5zzqM}yboY(tJk$@^NWsfLEHa9= zeqY=@WWz1Dz<9t?z42C}|6cbSNsS`(+zH9J!5}986W11MT!h05g+?uhc!>4_JzG5~ zNd!`fZI#jdK#JPw2iU6@QFLZ7w>)C!=a;KZ@ITFJAj(7|~%lP?F` z?;cg!L{G1f6!aEHP%J4=INyXs*kkDo1sN-cE?a?45%h2wvdmqQ1_fKwFXAZ0e$^fx zBKp;`lO7)JZ7e=*JyqMyuv7vb5V(HlrD9Sls`bs2jm5vEHa30ta#9SNd7*PJNqTT>2$3~vB=`g|8tPhN3U_m&_dI1`?sgw9U4+G z2lWd9w!19dmM6)9HLW>y+D<~P>UwpSECJHVo%3|@E^u);2`V!aNT*m9xNPO* z2<&`vq#{e_{b}1q!|E_yURjNy0$J#8=?4cRwWOUsv89ruykO*^=v&ps3p4TuG<<(rqz#PRq?0Bci7tS^Ns}3smNS`br`Qg#O821VFYv}DAGh> zAZUGtmmQeD%%N@+@dIM&SmI&FzggSSdMu7tD{F`k?U>XX<8>?6y}i)UyyDJqO?SON z|4$~c+;nmv7t1NsxYBy298{mvq6e+MIBlVtauq&6HTz<3H2AwjF-0Grb%?uVBW#Xd z_hgX4PF%VMxtfg@I#1VVW6mPn=xNo>XNeEg{E&9;b)rFnPY-B!)ZVe$sTIsC*Tkcb zmWoj^^CoBaSjMGC&^Z}T)tE8`3aje2mucKuB`gKggPCOF!X|P z-7@j*1EHC3Yx2txMRead%FzFULtnqRx;ROueo6z@z@Orwz}%fwy_5k%&OJh_v?Q(% zu>EFgZ~(Kz;-eQgVq(hSNWF&}K2~VdLn3APqx$K0!HbSuTiYbnXGl{1Cxa5mBVQXo zqz|!|0qlnL(7Q{(9UWy7(}KL`LA3%Ofb6D*5P}Nb7o`!w#;DRUIM}UWZ;2f7j;WdL zg~kJDBx#GZ!iG{gBmU^Sn6q>x>eb0&x+rdb{JBGi{BU@Y&R*c5@UPw7Y=whV{KVH1 zwdy}1zS7CWh4VHqCj_-#LS@kM|x0VE9YZG zJh6Xcc$~@s54H65gJCueT8Y%>LegSrE_NOb-Z8SM+f1(q9^shzSTx6Jbk0+jeWf2d zu~GBqg;sCY7s`xB)mD0Z=?>Y*RQ@TqVT@!M?}%aw^@|2Izq_9RbN-WTFwa2$4yF1y zeztPC0Ly&kY)}kvDRUBN3Dkfi#Fm@)U3m3hyNrdmWM2i%5qoD6WQJpeBd7STQDB!r@zmU11nAZjMxY|3Jv} zE)Ib3$QDtfD}*Z_r=95ocCv@$e!*X^x2ZE7fKH@$A!^~iy)oZd@nRz$*a z;)>A~it)g|Tshgi1DW=?v9HF2mCrnlcv-J`;Sx(r-W!D;CX1}j2iG-|q{xq)qmNYv zvSd2%9)H)n@(}+j=>wcmdpzl?2yDPFNB7!{#8~Qq`BzJ&3g-{VDrnx$k49>L0s#Wg zF1e)1$?T2st7?8w^ufllt>BsWw6tjn#YkOf7!I>xJ-?mO*HAjpGX-eV=#-bE5#sx# zc@6MK*`j)t+cZDJ;W^|4vK6n$_EBa_bPB`5jrDx2c%iS{1uqkSvs^-jSS(A4l4jjVsPJ2TDi(}qB{)oze| z1P1{_j~|n4P?~P(O-NaxevF^8Htgt}|EcI3Z8t?*!bp_lcTZYt-+X6s(Hpix^L>Ba z2l63e$EBL==xGcuxqi?2AXbfxO(p6{Vtkx#H_%!+wQL(YJ95AC2KocoKR)k=L@%Z_ z&mRB?8na~fGCW*(g>2P;ubZM@Dk&)%xm`y-XF41z*^W^Zz*me;+-M@r$&l7|IMSi6 z8xi#)UnrcPT5hQ9Rkf&q>6`SwdI;rkf?pf+kCKg8HBxi^ck3-2kC`b>8+43&cQlKg z7w0-sX7%UX40VezIWc_2Nk`b~CKmNWZN_X3Tt*zu?fD-su766(9P{A~f)ntIrsCsfxSwZIswGp&8+hf4Jyz zrab-z6Zx6uBc5*?#uQiHA}UEEmW+T&uR%yN6vk1Chm5bWg_jqi7-UMK#h0-mxbP%E z6<=JcfG@?i?#uDl6Ro%A%UIq`P-diTaPh>$q z&CM$bzj1E1pEE|ssu&t2M0}bVYTAa;wY38<-EI>?lKyuE6Z?rPxJf2*+T+&eKQMN1 zSej8YPcdK`O*abWt_u7g3AFgNJvWm5J?IkuYL?(NQ62z%s z$(D9EPBk7@FcDsVCs#%&aJ$=xRV^jArG_+VOsBT|Q}lh3Qol2+ZVIqicIuWq zy`hnU8~S*xNKpv}A=mn*jVpjbHiIam8i$*YPC~mope2URvgucQj8XZXC>cv@ySXh( z45vmf?NI-Tn=ilpt?W!1qYvcsdzyzx!EhK<1Un?Z(pKavHc z?Y%hZz4$4IN=X{YP?pG%m)fz8{~Bo^Tg-a!1e0I7c~zLB;Iy@ETkBbeP{Mn7EnCM= z{`a|IyQ-ubtYTeeC7l9tYxI2689@=U)T{qIrN-A?xd(P+ z3uUx?BkA?712ar%TVB@~68ZfE5w$Qcbamf-?h%G@IF5sf76X-!$Gn3)WvluqHaN{s z5&c?SnNqCvuV7J?-H&0usc3N~Jj_Sk-=XF{*c(B8pF!kDVf3$>Yrmuks0qLQdB|VE zZwBpTbz8&TO5_4`c#*5EdsWCVZJk~`?gxML)TRZ>lWpd6<|xlzkVnemM1Iozyj4#m z9~#FLZ&U5KIKEESIy~hxuxgL7EWi2{)X*h z;?sM=ES7woJyQ2|!AAJ)04O%MXLfky9xs{_L7Jk)=lM3}Nx`HHeY|c4N=U8khfU33 z<=wDIe$;+vExCn8M}TYXg((@r?>~R)r`0C0f_LVF zzr?-2gqHTmju&G^Yy{a?@XzFpCHvzL9q5p4FNI^`roSzOt8xiNxg?y8>os+(hVcv! z?|nygL)mMn{KYt2GL)KHv>l!p>gc98HsEH!BCBO&j0BTFPp{O;IANkRd-52mvaLy+ zZ)?ZHQeM_)@*<}&2V-MWffI&8!W|>UaY8&N#j^Y8s-U5Pu=8o@D7TD7-1EurzIR5) z{I1c_iGry`!Hoi%78c0icQeF5)3MPX*v)A@$btJk>XJ~vV`(kh5|z0q$e#&qdLbcL zyjoQMd|W;gWv?s{+ju?{QD;o1M0h)K1y6+NTN)x85q05l7G{bmED~~{im*~dJDq!6 z2@iS@j9$tMQht@>q(L+K9&n_RAZbMaRN>Nav##xwrGrWp01#>F>^0%SuVQQ`tBU{a zDFnw*IJw@XXHO-PAZKq)OePr^g!Y&|?_dW}6Zz4_b3hQHruiEM4j8f%hHU2^P9XM5 z;CubM68krZX54iqTvFy>DNfyb6NLQs7Rx@^O~{EIJ5y**k&~y=n4=usyq7p7<^Efv z1hfPKq>^Ei&EsV9$iVi9VQSO)#at+pRV4D?lu!pz_{lV-Vlh2uZn?E{aBwO zUz+$950@cPJKsyHwpfF{{APAO$uVaPJQCdaewT$QX+B}@_*4bR_8EvKT&QIQ(bt+C zn(-3zseeIoD(KAwjk`m8*21Op)W}d(FE*1N{ce67U2Xi!{7}@#M1qko2AznFK6<3E zGOR^dYej?H^4X|2Y%&2MUx^xF4=1m;qaKmt!RFOnw=)InkhCaOal>fKsKkmRknstc zOM2iZ4EdV0h!Wqy^Uqrvas0*VpoPB5ap*!ngYuKJ*k$%XA+JJRyjT%@{dU3EgHHDvz_8}vlA;)P7hjWea8s{ zvdSV-NO_)fKTKzKXVQe-SRU^}iE#i>GRY19CoIn%c@UR@kgQ9Hz${pCB zJuO9{i+`V|?=0ZjY9-+GV>R=Bs?Kq9Ku%fj+PbB68vL}TCGvU1KhXiJhjZH}L@Vhi z`6;|E9KvG1$iIH#IXZ@YCH$$KVe@msJG=(Q7t4_L%m~{=yts~zx^%KlFR4dV-(YTPzjuhM=B;5}XFVl~{>}4B@jD`m0Dt!U93uAw0~b<8q`5`LbklB_1Eop7U>k z_W=Y6H5)fgPEJ#*%?t#Lbgz<7tP^ZFxHcnYgNoj#)V=|=5Cth{TVf$zTqr84=wtOw zLRsL9*haO9A=bB%ZbDZ0CFjX;E~LYxa8Eo1v>=yL;RpIj}zSp$I;&eiSqJgOHSCjJ}J&kV!U^%q}t-Ap=K0g)Kx-pyYb+Kx<={@pT!}i*CdT^%H zDv{t2YtZmRrh-@jonBjeYMFy~QePR9+v%-bhNa%FEB(e;m~^cMBiaDpCFse*&roG) zYP1x}VMo9DvAy-01@l2lXy^SelWYMt~vls`k6{%||TzzJxxY2VE4wz79|Ugt11nH>JDgN5mKE^)IEB>T!;jfsVaMiZ?)-OM)CCLI+j%(4t;^N@2m{z=n0 zIKpY;tZFr3?C)HnIQpv>mC42Eq4gepu@QHU*LBg*gaw9wfPmGVZ$b8Ydv>G5p-j?q z)ur@!;KR-u+_<+^Gn$D|54j(Y=?`r^=zw%B{tt!eFR1B|h93~0C|7x!(!SCaYZ9a+ zh}4{$U|e$DqVzv^yNpwX=@QMWEkP`^8WM)T=1f$AtqBm+ZWA1k{0u71v6DFHwm|1$ zIHy!A!A^lCL4XzR(ulS$Sh-5D4QP9~&-)fYYKQ|W_5!ixSnVd`@ZYIWV z#d&^5xck0qhVwc<=AItPR)7w{$^gK zPrct{1@ONM?8_YNlTAZ8(t=F1o&IpVVEX6;LGN#kqnWMf>K{D5gTJw)ih+6BI_W>s_kKcW>eyD#54q@9mW+BSp*Ab41U5whFaE`ieNqa}9-pX^pV&L^s%WGM z?XBm1;4-$@Qi#1oWXSrn6t=tbc`K#PF(_%pVu+rojL)}a{P(mqlr)K^+ifXmU%&Fo zaj}REld?Z>LlEE=ymc&}Ly+KL$>gZsciz0WewE?k$DS(2$iKoF^XgBdJF3<lVi6^%wRhGjyWJu2lOy>R#sk*f~0F9Le?t37!X-8C=5kQAzUb`&|2pZXai7zYEJ zu=9NFNGmqPPrJE33CQA9VoDvO-pqN#_s&?7M)>1GAKW>F-?#C5f0#9MXH92iM6YMCrck9q1x%P7m!*$do_4=gvM3IChFHv!ra>ZfCftDL;W z>)*|I=O>Jv=3MgA?+M#j=*s@i87a-VR+qtaZok<(5}71h93Eg%*JqT~OtH-P$QngA zQqK|!^;6OQFlz1Fd{{lAz0hrMBato@HlVD)9(P+eaESpV1R!sXdht zKA=0167zrf@lT~WCfQ}_UoBRMqDoNuy*PLGPeHH1oehV+hv56Zh-(e1-o zUEO%f^*Oe|6|Fd)xc9Ys79S>WV_f13mU)j06rT@Te%1i2Fd4ReUi z?5tDbvH__|i;?C5uuaqwo#c$EUs#!bY!8*qmgmmSYt%F@nAk34>=GTL*Og5ln*6GC z0s@dILFiUl85*#`=?6?FQ9RH@L&FtOwY8O`1N30(t=^_sg2>%tQS2$+iIo+Jd|2_@ z?E+80sCQof8JU%n>AWUwa8fa5zQ|J*Y^ullc%G41@e(<|Ej`=9aL!bZ2>1eJgtsM- z6-e6$3B}2f5(oNZz?Yvo!KMXaX^yW|U*;k@^Xs;ub`vpCC{mngI0NS?00p(MFbH<1vs{E7SUmYp{ZhG+nEU3cX|zPqPx9Gzm+^CU z!F%d&)u`e>R1LOXqe=78HpfL@`hBTpBL~ox(1(E|U9rkPuyFe&JCzh+gLxtEb)B?m zx)4j@ed_HUG!LlM6Bt4MDTIXrNKt*hYEXVCyu9^=@8Mkaq5^y!+vx7vTJGm8?PZn) z8L4VV^0Te6{`KDIsYebD4(dXkjaK&eAjcXI7H9#$0H}x{mz9@%%3kW9DP4di2~wUK zia)g0I=9GHjR5h)(^r;GIiJ~VB!f@4&I+@vtSsz)Kgb@cQ($_++IICbr{=!sWw%nV zy!1y@@5JQ*$w~aok%Fu$^$`bJsYcB^HngAsVB(?1jIb9IJld!kA+l?-o;emA&O@u4 z9Ere_oOBJ>)&GG40fzPI9`AO!=74E+A(ZSmxGCh>dhKHsCdgKVz?8?#<+^BXlA3NJlSZ&9;O0Nl+Kkv<;aBp- z>n-b^0aK?r?7OSQp&(1$kY4Ujk$;b!{W(pL#l#K!L%%4@K77Q;A<7$(|4x@_Nd6j! zXVD*4&6IVD7a+o508*X`0W&dDF!-_kLJ~%{q5$oaX{`IbwYJ+kDrW#vGOvG+`G>{D zVLeA7D%|P&`L#FQUZ~+HPyGaW%n<;rFZlWu5d;sWahW3lmx;e{B4VP_;JJ<%{o54r8XQj_(5h6+!>uH7UJLuRfd~VfV<2OMYo7eB@=d2r{p?8%G1a ztp6ZB5B$qyY*FUzO(=eUw501b#SNoC|0A^VO~$~v>o;mW0CTDmPLLl3ZY<#F;o@xt z=U_|zv)pdPT2k$DPqLi|dml6*bUeJOU{9;M9I&v`7* z>^O$+K{S#{NtWDDkhd)h!Ruab_gQOY2j^o$aK7C~0JM7G&IChGkxC}gP_5JHrs6Ym zVcnaA8cz8g!rxsNk)+JOBLXW3Fz0AJZ;o#f*-$=(AD`?kj@O&LpFj}Qe&EutNUYpj z6^tt~$H5cT@;-C&3qoCEkk&7JFFZ2TWxn?-hGsb84uJWs$D*nRr7Oz$ zqVhkPzWis%hYW*LLh-FykEfjMF+#NTy#vyqyJAN*f~Km;*@TMP21}7Z0}TmA%BuCC zG%o4pT$N48C!cR9=*fSTdERiWynP+%Nue$ll{SuS8U%}cs3$YRCKa6&L__{fkc9E|590Cp`3Nze%hfoMLrD-<<1Mms z|4-ng33}I*#%+lPV7T+0sWm|?pez6bbGuD-_=(;S49Vm*K{Rls1zyeQP?+Q4MJUzf z8Eb#O{~CrX^Yi?k|- z9YF{+qD8Y zh$HKgQk}}UJp$OykO7|NL$0+C4Nli{sEp|KYH&d=`r4ZB53#F1GDq4lp8GZZIMKb& zLNnky2WVdO6j&R;Uyv^r4qkEM7Z7+*H~smDK3ipsZ8%q|IUF4BOy5=7P+r>S0Z;o{lI!kd422 zW#HEpGiUx%?`lY@E{y1l>ne?@?RLC8?JhUnMiYxF+7{DX{fzr0|}Rc}^K4F+KfDKZCy zCu9M7)ycntwiEgPWCC#ygr3!?mzBA;W5L;)mC-=Z@S~RX=w!`Q_PUqDKM;hXsdMRt znO1`)l|sUw0$}4uSM*fz8`Gtl=SGY!3BxMuqU6|o?$}h5D937iGQC~ADq!5rQi0#S z-XzIxe`@OS=Ws6~ey7zN)_Erey|5uxwmSWW`_WJ!76D&wC{J_+@>vfD!S1J`>64lt zhGzU2K+i><(Q}wwhu3=D=v5XF!51K2whzGsez*|QK`-Uz!q8Z?5~*$cPTbZ8wg<*c zGK7tE-h0>3^}G>NHn=!|T>ZlaLGQb(d+&gM-;k+rzVEtuufB4qmg9p*QbY5$X7pb2hSw>Gy5HkzXP?4UXxPXFnT0&HpxBKGtL+N9D$IY`afyDc z0ivnWT7}uqw%4OM`ksicVdsP6-&%oIkRjK0MeoqoyCZ3Q#&z=EJBOH@7t2E;8uz zyJ+ox3-23&%;9v*d1ABcsj5yKFk8^A4KqY3&b>8{wI2dM_!-=Vx+!1zUnVL@CP7#P z;{BNo=u4Y{g0XIlw7(lLQ$m2MV#deUlNr-? z)eAf~vUWZUc=>p$UU1IU_4U!UwI?Pglj`oG%gVsz0MdFngvbAO%M5}upS@}(rL~6A z%_x9AREr~*m}IX`u(J}W6B+S3ag0cV#<;|Ko>yhNRduRbLlMeJ+b(M%JH@+uGV0*> zsjB8pEJAb`_QL^Jgg9(a)v*>%xEqY_DkUtD2$q}JR*O@h!M}nh@sl-0W&KH*Fv>go z9|Sj3k+8Tax#seBMD^}jKkxO>)%A6dD^02#UY%5BcG7Pd6j(=w#C6D0n@Mwou)ro6 zQ=|&1W2o-i$!$QBkmB#-aBsA~6F8A!_s0Fbz|<57L_iNzNm;dc<&GbT;A&X>SIEDU zItemyzO6AmkC&;Suw!#h2r%_Vyy0(zjHEg@^NYg|#6eCY$`rS&65E&G&^uKJIRZJf zf`y2eLLZJE_pX1_==HHR{Ygr`fB&Z$x2o+ls%i2<4Nnjn7won-`_(xZq{*%VKkn`$ z=#!7{kqA@e2@TYXVv;XA;Z*G)lGCn!DPQ^7y+6lJ5dZzd~Vvr8H{VNjIbPYYyc zRPrel9SrUfHtCLGL$&Jjxe+{}L4@r4-Ix!z`&zw2{~D=`P69!!&0-;@tigW<*ARE{ zcm?=-m~NtUC$YO@11{Pk)9I@9)e zyO-^JsYX`Yb=G{;ahGdLM(A%z62|iVXubyi+1^4=j}*|O!F;O{-2oz_U?7BpD?UeJ zZI=u7^)68mMJm`!@E$x%$g-s+y;l#H+eJoJzv$;VOTEq?j(<$MJs#=#`9gjVk5 z*VXYH98pqI@-7KdZ));<}9t8 z%JHiX(SoV4_Ghd6n;r&zp(8Q11EKQ%b@}e@nD@A(PiNs3&G%4a(NY`OA@1YPHzs7L z`!;tlQA9FR(^gvAI>b&fH97beu*00g*RRf=afkEoew;l>A)HVFuYoFbisg?O8j`X- zKT5YmZ@!?sVVB{7LEMg)TWjuF)a|cbD`AJ|gh3d2%1 z>90c=H+i(r%<6BkirsZ0`Zsv#fT1(<#Ms-jETQb_n0jB69TtQZjMfZSHPG|OHe1c+ zj=6oA7q4_F&4beV^Z~F{B3>nv-z)65%;4(P9jr-$9nVC6q9tjOt@MA8g9|!xd)(NAuU@CN@YIy&0;PP7kWgT#_S!1)vDXRe z=LR1LqoU64wzB4HpR{ozs62(x!wCS$`nPFW$g~&fm(AnKwcF`$)F!GCD3O<8U_gzz zD#`9Z3Oua~(Tr}~NFI3;v*-J+)z!%(_UV4?=_kO##De$p>McxjW1N})T1}E#GA|AT zFcRwpHr1YcMm}ZsWP%ZEJkTZo!-7f;17jniw3^ve_g4E(z zw$J3$C$zBmm6lAn*M|b@yf{rv>i8X&gN7glDD1%yE+lkhRaM>EwuJ9_@rEtO0c%8?~d1DZ3u`v&7OV)b8&PfPE zj(}jBlwjQ7+kJ&q@QpE~Rj2_pCiJJ}?k^;%qnj%*e~a9*-tev3VZfOM6j8+eq#_NI z(oR*}rJLxWxh49&|7k2$xjn9b!`8O{>mg58yck2na8!Qb44P8Xry^Aq@&0Etwz=3% zporr;=@;Y`ifytrlQSsPpPc6{l<+eqac;4r09N~xNHZj8j1#ADyd>H*(Oz2Z?c3*c zNOK_Tv2k?l1yvcKv7$2jruW%@jAZ9}Ah5((;nXZIUy^HyC^aeyPso1AKD@fCn_aca zMuypaAd*WgQtRDtZpES56l{=is@zKk(7ElDg>OEM^o}O9dw{(#fx~j5FTlm~xCmu* zZPf{j6(HyOFv%Uh9|3ya(`_lgU2P(IDze@ibzt(OAI|A!w3Bade)5u2x%LC+OP+15 zMIc^88vLwI#6HCH(gKBa8!tP+GGqJTAQVrt>&(2oHcMf9d#+&H#b@oUUcxWg;~$&b zw%hYqSZz=j6hchg>CrNw;z16cz-)tefHn0QNBee?;#W)G_B{V^8hp+ka=#O=BWG&+ zi=XVc>a6*d!)KxZZ&9%xj>-M?u~sv%$ksN4Hk6_%;pDHTm24l_)qq=bGohY^03k5R z14hvAmbbmJ=YpCK|A9HD7N+|bqpZl4rjFd3Jt%wqfe)!zg~*fvv5JyJd|4miw)o9j zg8e62VskH>N*q(QAdeM4V!)P?vA2JDdw16^-ub*(Ee5%s>nGRM46Qvcp8CydAh1}W z(!sa$MVCViH~07_Yri-#DwY@=2{g1b2KjfCh)@s!i-mP4zihPB&o|PU>BR&jlvN*^ zv*IxKa&FIQg~^EL8CHMWb!~7RB<_TT-A&Z}Ta;onj4iFY4riqsq8l(I)O%rR*%$5o zMgLg-K4LnQcHnCyTHFOkS2czwHMSD3bN++iJOXy71dJj9Iyo1QFcY^Cg6<5jY^-?6 zM+^rBfSM~7oIB|AUv^%g+F5DkwL-tz!Nnz{2l$W)VT=S!SkqEznhIGN0X)^!DFcQ2 zNQpkQ=Qq9?v5RA|KNU=DTGBAH2A=Grs<%&)oP5nCTh2+01&H|Ob+gOfq8;L{pg%l3 z9L+8-IKb=;XiWEgd3Y z22AlXM@iSY$iEHiMqC4mII;p?*UsHm3XX#=_k$SPfAoQB$-d}OGU=A9Y^4Yli z{^gO>o5lCwnhGktl1Y#*DKUOV!Zi z6bz=EHjhnR8$BeGUNv11sC&n?`c?N>)h>JBB^pDAs*fki?xKh zWUP}_>e_rIZLwvf@CS)ex=VUs4S{F+5!$yZH&=akHt^vEmzzH&9HGDO@wvOfeZx$0 z)O}Ko0xWK$g~?v2$Hc^9*p146g9ZDZ%%I9sqlh;Xe@6G;K~{G}NI|5J(Qs##mW8Da}fuIB4*MCGA?@8oJWprzyI(URd@r)pCO04iZ;&?XZ32dIfzF;BRBInmbMFWBN$}r!MV>L&k*+vm zcXPl|P=8AeQNGXtMR`9D_yN5>td&zeqb+X{ttoZ;nPU0XD@t?FBF}CRV#flmn3Kr< zjcUj5Hh`9SlHiDU!)PlnQ>wBR1xa?qJ7KV$DaBne*x2-<@=irf7NC)j(#diYLJk6$ ziDUe|Dgno5+l|%l;b1#^(EI?m2+dxJ%pjdX`E-Z=$UanKVuAGKHTlBA;+l(PNKhW@ zM9idopeB76#n|WlR@|C$@nURmwP3Ywsnh6WJ0k`HN|D*4ANhO#=(PyX2acHWmz8an zSP-@xAK}sr1WPc zN~3rk{E&E4A#-t`EK}#OY?j~)uuWD2DNFfIobxD|m9SI1T|7`Y-z<#uD;X!*h#=U- zj~^G3YsyOhhoBFjAK!n5g`DCNtJDjK+l5|tz7NB zv?3DaM@i~eQpYdd>YhLR4||dsU}b4(pZ_G~A^t-lK@+&OuXbdErnf@j0u}xWE>NV{ zz3F#I%=W8arcf7M@mVh0>TlVMlKy$*L=}FN8c_=ElaW1gs~^)YNAPi;q#)EuQ()D>Z*zzaCCP8~10p z!;ZeO_RezTnO?ZUyj3(g%yxQmqd!Q|=5x1xI@cMl#$-(83wVevkxZ5@fXA%tgk+v@ zG7{K8bU46H^2=Al`bj+X4w=DxrS&G8wSkZHZfous5AHJ(f%$WwS;l6U*ZHx->DCTW z9Ov7cU;Y<*Xif_5SEg9WrU)uX^r>3z;-UfYc}Sq>si2# z{wB;S6%%k%5_7@PG0Pr5kt(Q3;;GnKL@AalH5Nr7&LQt?LDQwMw11&)u4iqY*^s=^ ze&@LOcYu3jHeMkngM7}U19EPgE}7LDD+>M%SU$k6j zu2h|z;W(@O-GN%hj&HWKAk(8p2E_3qH{zSYjNxK0 zx7U-b=6@#57rc9(={%EIlJ~arl)mepAv&IlGlLvpsr`wG@j@E&Bk^~ru3@@u|N z;Yt_FnuG>y-?DCnw1)A?EI|32cG|-9!_Y@H*O3wPxi6&UTXH<@0%EXE=+K+fa6akY zD0{Q=BG*1HbgxCZs=!g>{?fU?Vlwuv_!0LYj0AzHfuh1i5ds(r0_&#!h#97@pU{

p~RUulytd18!vVH1?)*DK^W!r!BWM=pGF1 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%0AxK7{2m32BUmQ0&F3wM7VxI?r=AzQ5 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

Uo(0B?qfYbfio4 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�iSN(u?hWx|a+6+b_6W=D%f>@=9!1 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 delta 97935 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

1tnHpXU@QW~YO9NqAcdM3tj0MS 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 diff --git a/src/blenderbim/docs/users/frame-selected.png b/src/blenderbim/docs/users/frame-selected.png index cdd1a016e723882ad041e598c38f4d540f63710c..ea297bc9a908ea1da05366ed998da238986d814f 100644 GIT binary patch delta 110042 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

*QrUPLz|dYpKm%* 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 delta 109915 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 diff --git a/src/blenderbim/docs/users/install-blenderbim-1.png b/src/blenderbim/docs/users/install-blenderbim-1.png index 5cc0e419f96f7e02c26e85112acfd4be31ed104f..79d1ef91c2f9b4f0dfa9755321221c6db29760fa 100644 GIT binary patch literal 220351 zcmeFYWl&t*5;Z)7ySpb#FG1vL*2MZn}Kl!}R09 zRIqvE)Y-{>Q{~ zXJ#kYpK}Z+Obn0j_$tp>y5F|BUZ99|h{WiH?3iy6ojy`NoLXNo5+>=GJ$!{lDYUtc z_Vr^3LB~^*NQugYTI` zK9lk0EJ>T8hS|eh&-b_8TV_Kd2(=7F*l%x!D~4=I67sq|NpVrHoixXdH_v){{%D%u z?3?~}g2aZK%7GE%I2v9Nts{lmJ+v%kK`R1& zgCSNVH8qge&0))wOnKL4h`;VvHBLzh4q&KjIH$LS2>Vl=SWAE|;SC8!S z0u)3B^B2_{6)hJD(rL80`UBqpaf$L35e&X9WR?k0mZSAjL#2Y{K$W5|% z|ABhG7(R8=Y`Q(|3=!b7VkYuDEo;$GGZcN$;TFNj3K1)iCs_Xy(E^2_ z<9`wMXngRI$+h_zO03@E!XX^O{t|)18(?S#YzTE4ac~>uoenoT0HWNme`>DhwW-|el#~% zrbVSst*^%&BXh#_L}aWob_vzNel_tCar;6a5VmU#GAf&Fym+)p)@j}^$QwAkLZFT^ z#W(R%e`b~b%euj(>Y!QD-*Cg|vM@$#Epc&39Rs))d z9Q&fthXw<`zVXkeTFB}(PDB~Ljm)jYOG&D{p2lA`TJ9uc9b{LPKD?Zdyg0`izcq++ zsXN@R?`8?8c!iNrT|lnhtVC~BjnJrB;$5t&kCQQI3zW;Ya+;J7xGer}%x`^yDOu`co#j-7sGj{|@rA}TMmpMPm*kQ99 z7O4r>OPL(lRPG$|DUyMGVUdDd`+ivl@Omx>g8((6@z|)$AGo_&r8Gk@2sjE-Sew)bxKjre!qUrS}zdf=q ze9UiFon8kkJ3j}%QYk-h(StfHE`q&&gH=RPVmPkmbaNNUO7jh!g3jgj1=^wewx=}| zUH@LV%vz?xO=-C)Wsgr}K}MM4H@e8c+j`6DacarE`e9-{UVW6&J#?a%-mJM83|vi^ zVMW7XrM+yc45_vqgKp4weE2OPRfLQDC3(qY7OEx;`|WYNQ?)Ew_u>tcO&6!2_M~q{ zc~Mb~Gx!{RR5D%~i`{JMcYm-4|R2d8tlZggy{nw`HjP*3G zCAN}eHcV(t+J!IUAx532it%Y8I==V*S<#M$TNweUDpu^*j29pW6

9RK;REi{kLl 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 Jd5`ox{|8UrIbHw& literal 289973 zcmYJZ1yohd`!;;&ZloKeOQgF~Iv%>Eq`SL21*E$Lq>*lbE0fBg~)MQzIBWZCCdog=s2%VUb9`deF;OyTMscQ=E+xxI% z&q7HxzwcGZeA$#i?t9(O7ws>bd3elish^lSai>Ho%IrhBIbZJfE-cRuo}Qm|)`w54 zx;sxEudbghI*MC-*LTP69tq)V_l(HP4<7CxpWOcYxyQEHg@6CN>ElK2X8Gh7K>p9C zz$))&|ILfRi@$MdH}l>@Ud`#pZv2;rmoj;F_g(Lq>>Pr^m&fNe_1_Gp2_YLW-Fm3r z)ZOqRGl%a!2MkU5d}ch~zRqBM?Dp~ae&egfqvjM^<%@r17Io^-;e^dB=8fbMNow&n5Cm z^(m`FX^-w@E(Gh4SZ&E9lz8&NC2WwIRzT}+&KAp~bJ4WP{_ySFga2B!NWGTolTxI1 zsn}MhERjyT3~qKT;sj261XvvF&;H$}8=ai8Jq83kxfl4PonqpSU(3Cl`pBq5CXqRJ z+7S~P`VeRBe~xx?5%KaMB5z9*au?QC-?O#1hy6ansOgPSZqZbH3+>B6y2{NBbZDfH zC0Y1irQUQ*7y91+8i=5sY=2vx{l-gCH02XLJ8OkjBTlEF^)F#+UgTc^SXM+ZjDQ7V>OK{ zx`%eIhgbw-U(*eJ4m%Ti6=jI@Kb<}IqRd%jTkq;v}XlG_sW5#zRmGamVMWs#Z~+69m~ZoohPAB0aL%aCv|TvCJYNN zyY87jb?6@^D8Tm0X-$q~l!y*hafpg#Iq&Mpj;8Yc8TW``9kLbtsO9XgGBje$-}?_u z#N~#`<;85BWag=Rcj7sfuWbHFfMYMUz1#dG&+9>A@!Hdo*eG~DYydYjws9lQ?7qF9 z(e5YFwc&GWmUNlKmjqElw`oX{yMrs!$%Hpi;LhG?v!?#>jgz1a52npJ)Bomx9!nT{|R?j zQXL!#*8X%cN%MEL)7hG$zc!8033km^+#mu=|yfHiUD-a`AiS z8hwDjEal!5>ML8f^ZCPBXv~$yUyN9XRP=+Rd?LC0Z_36dJhp%B5f<^==Ewb%Tk-H# zzOFg%Hma>`*FU_q>&!+Q$>a4b=QmIx4=1MGH5xxi2lh1qLG;=i5?^6ZY^vGEDK>oRm4KdYgQes|}Z`y|nn_ZF3{Z zcs)zy;?cJ#(h7Rsy}0)LI`Rf8)nDDcxo+P-6NKoX~cRs_8XGcbwpN4vE_ zln9e#NP9keYFX-i{@(+pLf&fCIj(CL#Gex(5yVbI`vS_}Nq7s&nBsDmZogxh(|0X7{5iFvmRZHC?7#SQC25g`P&{|z^=?xS&kg#mJ`P5L}1!bm}46Xm?^Xa#0 zR!x_X0eRcT(g@vH)m3qHCF@?pk8z)bnri zQAIGe&`?xG=bUEl5V~IVD>&ILQJa0o-fmm>T&xvz!3Bk)9hw`2!io}3p#$MS=Pg0~ zdaP5B%ktLO!_I?_6&{)-YY6+(P1aF)83y7i1Cr*-y1g=wvN zo4Qfil(=nB+Ye`WU7 z=RtY@=f^wU|JUicfji>UpGG7UT5|>6bIin@T6y^A&FDI45}csbHM1Y^&VQEhsSqvb z>D7%R1GUO<|IwyV^?f0ukD>c?QBBXm&?1uti6po3$AmX<+G%!ouf@a>fw@cOo6dg5@JuX-?!jX)=MqBeii zN?Cgi<{_-TcycP2Y0rM$oZzkR7O{#WT_2}}EBDQEh!tfYF`I`d-X?!F?6>eT-4L{- zbe!uv%?Sw`4;{EBJG+g^Z+mU57nCb}`_GO&&C|Eqsj8CQbKwZvaium?*)YFwkjAHn z;G2cU&M+nI(Mi3jKfsy}E4?8~gvqyPhrq**(M5{yOASQ6+2meN_N|rQ6?~&2@Uw>+ zGrYPcP*&ydDz3)oR!sa&BxW=ua}BK^23f-h-`%_rMD_r=8@c4oC0Aji9{o*l2;y*XgmvRhTpQkHTBLEpv+<;{k0V&{>u1S=(CIl z;(os(^5uvX1Lv>6Rgb7bQvwo5{#dC)(fREeQOrfdk%COVz_T{120MBxd{E(0@VPQiFH7xs8c<{TT@vrV163)jt_^ToQHhc90|2H%s(Ur!R$DkOyt1%@Y~&yV_uv=jmIA}P4ewEf zZt{99RH+=;Qm^u2{zcerFZ;khZy|2C)JKhSe<+IbhSck2TcC7XxCGzzRHIO3(U>Jt z&(*}+MKsd|5Gug83$eVL$ts5TihBuRL9H+eCDM%DhtH9vHh|iI1eg!liEXdQ*jRcb zn&;ax^q`31uVk+*3%((TH$!KS@S^X47qGkR!yJYft!rWn(rB=rc~tlab8E&)(rQpd zdjIhw4GNMZxIC2frfwYfE@-bzu*zv8o!pd^eES35{sf8S>P z%capwBLj3{KON`P)=SR%r1vNWQ>q?9p{lyz;O-MIE}wa#KgCxaEga7%TYT7dE23(b@}0COHel-tfg{|E&fE6QW1GFe`}%UxQ1Vg0n|ypW|9~| zRrQIerOASPSukEs!5yZX{97?bc1^wY-h~opz4G1!9Rw?KE9n6d${{PsN(2np$RZ^Z z=5J23n0XL8ML~s}URZR@EQ-cf7pN7S$=y3M+T&(hEeN8vk&e~E%#)z$6rJpU7J~F2 z!osTYNVwz59M<&0?-}^!l`vGM4C%ela_GC8-_w60;E)vjk&1Cjf(d&d`VD)hUyg9+ zs!(4g9of?vpCTi%w*=mpv>a0;!X&UtsdN%vwTQyZ3s0@}4GA=SCq(-r&UK1%Ow{)9 zgDI?>3GC^4p9F6#&3U;aecbmE=h7IBLf=bC(lrT1tex!w%}p3(vqH(cNn0tYmKj-@ z&rGC_h4e;0-Qj<@^s4joDfZx~KBU-hd8a z6PhogT4aO}YS{niSITke7<8fELG}i}iDp8rQ*}}MTcucXvJh<*=Ap$QH@Oi&G(Nj# z#}5_WVP7IQm9tr)-omQ+NjRqTGY&`W#W*HP&GL}*n+2a&jvwol|K&2a@2T~ms;VE# z{HnZp4ozF%2>(r1lA;U$gQB&%mp(>|f#qCm6w~i)tfLH`eEc-+RkH&o*w`TWw!(TD zQ^l$x!xVxrC2lkv#?K+^MX1FI6mPU6Ue1JN={`@&^cF=cK|)bo=5(C#jVOtwi~0l` zr;UAAjZ?f7eIh~@J)P@1)lICnWSe5M0vD;f#iJQu$u{s)dwTGvRXBBrn$%&hv`mQ; zRqfpcwQvk=rlFCHvFWMwPYyce*+tdMci+dsLr2KMeq@`@tS?Kzt=YCCLZrO8_F_i~4fH$t3Sy6xmYuD0Q0 zlV`iq$yc-)KBX0IA&eYO1&*B-(^0bYZ+#DJ*UuU;eT?KSy@n3=ww>svnU08!Axr&B znN!?#a0gBP4$9A53ZK8P-=cFyeg~-n5j%A9N2@OKfe=by{jEvgxO|;^%8$W&eZxNc z*uD5zSI#X+RB32|7c>2_OPx+A7JEtIi0=f{&6?xLK8ZOap(i}F7gYP@(PVEu5j5&4 zbre#z&8#GDqo2fx_c&)F{urAgW`l*eqy=8E$PV9s4ISn67&Y%#Ys?e`;bIvi;Z~iH z%-QleahgyB{`Dd64@N)fw(_w4>KSm!Lk<8S>p4*J6z26AA42cp8sR@F6gnCO-Sr&|(o~G*3h(}ezInTf) zkwNVi_f0Gn=G*3cZ!=d}?-yy3{b;e}S)4$UMGRD=j|i?8o?j}=VKub-S^w-nN!+UC z6)aUavJ7uhWYK%}1F7(j}RX5UaiKXxB1RP|MXONQNU6CnTzQ7CRpbPs0%r7Y1u;f$qeF z@D^jV1lTFkfr&RAg*Azc1zcA!eR!VKZ4WxtSsR=mHRIS#n7+Y_DKZp9Z5?6PN@o>z zicLnmp`huDDf3LfSjj8?N;}WDKaE~l5s*!567mo~T`BHX6#J0m{S_vCB0}E#WQNB{ zV)c^fy3oU%$i69xRKCOBShM02v`R=L)o!8p(=FmLE%v8`QJgq4zP}ZsC2*hJg64uy zwyn)w1Rjlh(RyVh9n{Op4F$txKT)ThiQ;|~SF&lBKmA~C|2c~y9$QB{T4_!n)@SFP zXc(LWt%_$^7?XH`Pye5KqEMJ=%Aa#85{()qeNR0^2$>2KKNhX@Bl8d^*~yb8sX{k3 zBZQMsE=k|$=5~K}{!W8dwkLE#F~RidF?RFc1gWD$7Ri9}h?HLBHB&s!Mf_3m58rJ$ z9iKFY;?v(_*P)#wFMU>90X~if4G zz*_3w#rh2`=lCF8EozgMc%H>{xG8@^Jvbi$VCgkmk%7O%K^E<>Sj8De32OT*xg z6s-Kaa8G5DlkI_r*;IpEZ9J;G`v z$dhYE$?vc!Mnm>tOdT%f>B13-gx3yw;8rN7s80Pl0$X$?>1^9JGCV(YRA6!&rx-JL zpnLlkN$!1KA9b)f)Hupuz~w7HW7PVBO%6ZhYNweK{2)F=^BL6#ri_r)L=68rZ>71n zJbu&4q@9y$in^4PY{MT9QFuAatWX6};GjJ3yRn)qG!gpVB4ZVT-|=#_%{1y##BlgR z;kC3X3d~y?CJm#OpbLE*yPTdV-gNG%S^da;<(jcC0-K^X^emjzF*k3llihw5A4($k z2Cd(*_nm9~63JtgFRq zUXg#}N-njW$Ekxv95p&p0QTt=n z1=c?&KX)XRV~6n2V&q^^SYedyu87u8tEtWlL#Czdx1+uxewADDwxW$z^f&DX+=}MW z?mwq*DaQ5pTg1(=FphP^6k{dUuOQnv5r(F1D}3ZwA~J7U<%*k_jEVN``VFx@lnYUZ zyr)X;sVGx|yXTx=xOVdYj_0gno_-%F^ZrkSNxLiFv> zsawu_IiTSVQ;&}I@*n#zs%fHS`^x?09*t)rX*gh0TX`cP;gkbT$__5(*kcO?Z$I#` zhG<$HVkSuOiKjx7sEPRSKIV?)|`d{CA17LJVq4hHImc#ma`3X=dRDbGp${3>unP z5)*=y%0gCKilE~vvQE^~ceq3_;+LwH*1d(Hz0)H~aoQJ=9=!G$o+1co;wuix9~~vT zzp!O?DA>|0$7&1inr$$ei`HA8g=2yMuCd9?iZi<8^~sx0(+WT#6J7yA6} zS**WsTUPddu0_jwq_M%)NJb-x!2R~QxbxBDQU(&I<-(6jsTqkTS|j1zN_2c+*FL}r ziNwzdp~(FT^Owb9$#8Nj#`5g}&KWwa=9EBTxw!k(2>x-q(S5t(-yP zsFW~nhRk&GvkB|S;`glzi^q>8dr~{9(fEX2ZpA20G_4zt4PRRy6GG-!+@YHpT&yiug96Q4nFmQ+rgtYk%H(dQ zfzyAei_YxKjsktkB9b1L5@L|PYMYV5_S`~qx>O!=Amd-o7vSJBKBGcS1RL)o_4AOj z=+4c=N^i`4!*onE79%vPFMP~2_DAm_tqqRT;N8b5CSS8ffI?S&Yd&JXTUVuOMzHd6 ze~B1Uh=a8)*_*RT{!6U5Oqku7oz$O(TA`SwIs03D&sz-^4i>XnZz#3%x|)pBZAblw z(woU}bL*5AuCEnF^8}HOr-x%Y&Jzly{bDVWvIvy%;W-cQE-(D}nR~XitI+N1IgS_2 zzH4VZ!ivaDpCt51EcDe#=7epca&mnBxe9^RFFc#Wl^>RhP$M&D>{(u*bM^@2S>K%? z=uBD9Y~*42XOXslgk)c|suO|ypM+UEJQaQJ4}(9W=KiH?e!lq#%r%?{eH1#<{OWr$ zjkUC+kQjj=v9BQz_)vM zAo|6J`#Asec;g)^-;bce^NHMdl*lU0lh8DC+*ib|r~~-R3KWk$mnq^doy08oQJ;P; zOExtBs91n@A`lJ8bS%8C!eWqtp~`uvY|f_`AubNxHmN<}U*S5XdJd(Y6o|oktB7pj z9Z;GpDhA0h>YE{Dd{iRe7a$c0NR%`+(r8r5^`?qIad{NB9i_`;lE zVY6}{gG*1cDiSSEtdA}qJ7Vb93;ku%VLoiP*O+F$QWOai$Cm|ze@RDTm7q>PvQoqWx zCMp#M{9;0MEQ9FTJ%3Tt#R0!V-Yo$E=qplK=jGW(cEqot!5y5+=f62IQ1w)N*eZ3^ z#mGhT-&)u8G);fQ9CiIs?KD#|N5ub7p?#6W7q@+3%%=bvc>VwJOhM9WE^ND_*p;7W3 zD3NxN>XN!IWFHyK#7n?tHz|}Sz0D|*s7qc|UJaR0r}VKcjf>5D8GEUwEp%koEt^Ax zbgjV1XmAze$sjNrS+kPXM~kZ!w>Gb;;-|BIZF0-W*-IKNG|N<_BW)}z_H#}yU0%Q3 z&dNWJDnsNnSYXC_ir6l|JF$%9wCP>9MNKy|F<7Mv&00DT8>zqk8SmJg5qW(=xUW8k zLa8$8=t`+lsBcb#%U-Y3NRwPCh9^rS^l^@%@@-hnlf)N>6xM-nLt-rZurgj(EQn-6 zha*UeN1LA|)Go_?Wa7)itW)P(&M*7CkMwL#9meY=T}>V_er&e)vZ>-(HVZ^#U{mH#Y1aN)snTg zaZYhweP+fc-_LrAugJ%7#8Yuvx=fqRn|M^IlNPb-Z{qaKfqvY-JejmmB;^DpB##^- zIni48m3P#`u=0_sJeOgSY+X1mFH7{ChOTXP}RMqPf`d#&ag>DMxe2H!X zml1q&vSKWsOoI#kn4@)H?jQIKX$@J3!oJmN>F_gs!H+m|2&~jUC+J_wIWh&otqli} z7BgD}jWA8n=w#muP_eb+2;1d z(dO24uVLYtwo;Sb#4)(de?x))m!M~Yd!Ud&R-Bov6i&{jUIagDf$bzEY8^m8;KE)7 zZwn1y8}g!;MKn7`LHyR1L1mBQx(7zou(%L&nE$p7tM(Rlv{_eQk`42hcv1oP&va(6!5}IL-9@+o)2R_WTh-nw? zwhMY5sBa8SQx^HT(lT4OP^fc{-FaZ%r|fdh2vOHozt;~nKv?Z0BA@2ptnMO6jJaMt z*PtMl#1_KNXugOyCBQnbVk6|V<>UBn(=4?tBw~p7#J#GfzmHs8dAsJSrn6BKX_bIP ztZ+|Rnn#f_^T>=p>l1>OO7$4WDjrx^RI$qCb`-n#AJe|C%UskSaou1$K|3h6nCdlw z67LNQYsQ(0JSM~R&V}DyhX&ZP8P}l}$vPy~5 zVe8j*SSj9DVz0lY)Lmy+`~J-YVk{sdbE1NC$co5rt)Q|X%~EX8!9a^oft)LG6;s8QP4%no|NfNJ-IqbtGSour5S`O_6FV^pzzl z=28`jIlHJkH(o8hw|vp-?ersbnM%+3j{Ag!7teo{S2-dKcVK#^9TXnzt^%HrxFmjE zx{X%C1m*VGl~_3+pyK=SQzceXr}1ylx_@CQM@)yWy2)`{I`xsbP)`3Dx0ZJrtL;Bm z@s$YLlnQHX&gci;67=f*eCzHOmL}{GZ||68$kaYXF6~;ITi+a0t2fQ2#>2qKK>=GU z=5uEWTcG}BFH30B7~e!#2vRk@HTylaLF>lgSGr?y3h(D-I9diNN^!byN#c2SG{* zPjuDF^X<&Z({b);NDuAApZ(lJH_-x^Xf&Y*d1Z3{)me_zYT~PiPfN^tn(x_V`F}@K z9?hz8Oq}Fo{O9G%B_sM zERv4fZ$E5fIYz{f4bsPYZeja&c%m=^cf!1OaZXo%#+R~(@a}SymQ1M_%W#ncC@Hun z!_#!fU`GU%H;K7k7}B{%>v%uHw^P~S^N=!m%AD9vgjS)mhrqqh{qNWJsgjC{F8DRQ zWgVq{wPcl~R!@ZGG=D3}2MRfvqxGN7ST@^OCNbzBFDPTf2}(T^w5d9rcKw;T@Yb(b zeyXT-)^&PxQ@+hJ_KetW{&xH!T7%U&1F;EHcmr;3hAZwjSC*)CK0ABZJKngTV}v6{ zT1~12_kSTj(2tVzhWvUWe$33Yv|{5|^V3zLrPN(DVgEu4G*vQ!n$~w!|9J3zc{b@A zMppcm7?~sLJJUR`lZ*Ej`|6B)@-VeqIXin8?dIH`0qlA5NZ$aoz};K(W3Vgg~Ie ztR*B=JQV7{4AtWpU@F3_@C z=>0v5Q6MKVyS+`{ibwLOUCrOhd-!*g5iyvYg7vFXG^^V7OR{(j0Y?18`N{gu2`Rqd>a4X?c4u|_k#POr(!b>=1H7FwV501XNRh- zYzA-!R5j-qj7D0ko!7Uk(<-aIl%M-ll#C3w`6t9^>H?)?F$?me(Na~!VzqK`Q5aSd zd~Oj)x+Ph|^ofmsXUGr|nGa(;BXoan`nO|duSSpV+O>2&jET7fN5r-IEZlrNgtQp| z|Ml{7w?0Ctuv~3Z<31MVIy~!Fy)WMo^iLp9%Hg&@;(wPh{J!XUAoNqm+wX)6uCjNS z@XHp4SpQ}8f*~P+?uYwfc;V^spO3>!uJ!c|Oz1b~ubgk+#(~c+!J8_`NJ8Gf{tFk8 zxCTd%9A$M}AP`pS*B>a)5)pTB5W!VWQ3_!PE)}j zuqN`{UMM)V1 zjX@^pdA8Xbg7AO8IE6`ws&+h&{eORFXsh7D84ms5>vMJv*k|Vd|GEFWNCXbi3wx>H zOB<2t21TOy!CS8vQA@7&Pw4+({%=r!=d+ue2o?HJQT8TxuP90AqL~ql9%W4LPXE3< z>w0b4BffRPm_1@L!Hw8l2T!boBxCIQYj+bxzMgKR~ zVP*K<-d^_159|b}b-Fd`tRp;JT<0NYI1(BfxU;jfw3nHdQ@K*c#+#u+%0)9h#_VUl z{ULinv#_9hNdMG0why9INv@H^qJPX6vxFduV!k`lAGWy~Fg| zt4DsOUei2?|MkCCTP!RrsDiT}NX#=fP5Z~kZg+-MNr4oRd6(Kg$Xwgj{c{oF3pQb+ z=0t{wSjZ7giwY%bwo7$T_^kRpQ8;wGCh5pw&=-4C!_jY;*xA_wJvRLCH8nLK#mCL` zwY&X=I5;>&lWF#RvL?bmf5!7YAH=tEaL7w;_C&TLi*kT$UavaH*xP>{%N=L^Aft-g z-rip4_u%fo>7{?}`+f_#E+GMmdTG&HbyF>u7(wmp+M0y1mx>&E>dXyBbdbrn`u$6olEno=#+8YNsE{@j^U z7Ln4^TW$P9+;j5wc{_&9aeDwM;U_E{oXKjlotX{H6ptV)PuJGjw4~tgrFyg5lkcYx z$XGhta5x(A(3>ftfM;K3!;Xx*7UN!MNRI@D5UhxZ2&AVULuC9hfa4vVLD=Is;-rXM zV(sdufTnv!$uI^8Z4cqQzVvJtyf2x0-rlF;! zdiO3#M*}Iir%);elZfbt&a{h*i@|Qc>*=ba*}>`Q)Ez4e%S6?+;u{RlkjThLCU@1c zG~=F=&Yi8w-{*~62k!|f)#MRWW!JKz6(`YTcW0n_$ z_zsx)`#*>7ru=JlzO&FE+thRDd}D2GjfotVPaj=We*5qsQK2DDgG~wMBrGiKdD?k1 zJu~y}uk@PJFll*ht&FlV2E^FP3UN4|G(@_{gxOF>M<=E5mTxEEKclcAcNXu)c$E~g zW6TwASNsS2m-xcK#wAhQ-1_e~T)Hr}+&&qjW2@;Vha%{O9zB6kyx8aQ0w0DWp9p09IUr&4LSe(YOsHLYT1{pRihgQ8ikXS6V>Nb z2#(=lZtUJ%nCdn2FAS+YOgNL}fx^CW{?~F`Lgc;Tj|7YaK z#UQ@sG9`o%B^g{KlRyQK;btR1gv{?!wXwPRUx+K5@l2sq;@BSwL{shMK=cFrn8C>C z=)NyppUzGLUVH}jBErIYtvF2`9TRb|#FJ@$JM;Pa`qFZ8YLuuIw6}k05V8FDQH(LI zu&xeMtpb-Z%|>l%e{yWBzb_2s{HS57&%#AgNBDAD;&*Vcqg(gKz}H-iw)=GB!8 zT3XUYLbCU=qSOOZl9LmYlQ{~fkN5T>?k@I1XyiI>)_u%YXoO!LT~gE1oM_KRQ|Q)q zaj;;6_V=woofo#W;Fpw?;OOESpVp(4mmj*T8iJ}H52b*8xXb^okH6Ql{a1-#LTjKr zjY1Ckz)6f?I?M5E1%`Ks*Dt%321^WyJcIAoRXnd_X@ZL#jX>duhp(%9A z;$?I1{6@#eB|+Ur$Ha7&vOSH1Vh1ZySYB>5?#IZ+HvIB@`T}aN*PO#-cRZ8V^Nhk` zGJ8}%B`GN=IvP3sjy<>QEgc;-KR=P8qGI{iukcc;h$tu_vNYl@F7F`}@89FZ#l-=* z4FmYLy}hlXqr>-Byn)9>fSMYnsi|q?$B%DQ-P_x844PA~M5q3d9c=GML7l)(XlpGk zyuXKsGpnm8and2LkO&6{$DTD|Wo?~#<~}eqWC~`~deVNF@wA)vpW#;Hdv0#Lii(PH zvZaj;j9>~(eEf*{d5z1<%gy-;_3@RQl$4OlO2+XV0eq??L{OB*vqRzE6NZ0_)@T*A zwi3XH1SJvwDkv#|tL?ldl1+w{Qf1HTO!o(>hNH5KVAvLH}XxY zK*1#>jB0G;wB6_;jf#r;AlzNXSF2S;i5Ej?*>kkq;I!2T2PWM!Jd7|pI!e#Na#bk= zNOoj=JQOUVjg5`t^P|_2EjL(!KGS;kZ)A|-;^O?WG6W$ZA?kl;*?ca>oJ3`D>S23X zssubTF6W>t13@Wlwe98hTju$NpPbl3M2(Edq~fW_-=+3-inQHp4D+1nl> zb_lJlJ>4g!#bkfkpEymDA#)=BcXyHZLV_Xk$gaWoMyu8^PULY51BYl<3=ov?w82D<3fwvW)*viSF^BJpEvTH0a_$QJW7C3tCtS+BZttS^M46 zMOaixR+73$OZ6}bg8vX_=jQ4GVF*55&c*JXObVP1lqzOn;^Bqctu{M}%SwCi#*+#p zg2Jn-t8=;n8;v9(At9@z)J%+TF*)%3^nitnJKzZc!>Ae>o^X&4t+cEUk zF)}gDEG>-?WXtpcio1V!AnY}uN)iR!1iq^l0E#;HEuvfIzLmoU1n~x_zr>7;NUw|C zUYn-E_VyLK)Md$YMNQ2&{QUfhd3jT3V?WZEoc53PZu)PVas!`FZTMUl5U)n~R<%A4Zq!34OR&17ob*`S5fa zFm;w8N!1Ikp-7XL`Mm{79gmNX&t9U_t1I)__dTOs>~%*;S(({nHeaHA3E;DSP#Y2b z5g0|?-Q{K~OZZ+NyM8!2!eKOM@Gs)l?HDoLyZrZ*4y8mMFUJV`ad@zdCATll zPYGk4;Io&;V_!0Fe{XtOHR4#>>4DP1#=*e?SQQuuA>nsL1g%azyFJF%EoovxNgv&J zvi2Pd)JLab0$2l6P{GrOSBS{SeLx=luK0cHwqblm^JJ;(o*DRm{e(JlR*>^v=qoSg20ajW|)dLW%TU%;WWY9KHy@4=XNWC zTvQd;{p43vi9))PyzHi@<4*&REx@q?_xJa#I-auvryU_Idd&c(EN551=3@Zq35JcR zSCf{MG`{=yXaDGk<%TR1_0-v04WvnMT#f2qW`D z_-icyp&zbQMLPF>*^dmpWzC&<-S5W0VlF%WvLJ1oXTvvTSsCj4UQuc3t3Qd1i*wU) zz-Q47b=jMAijMicxA*?;ze(sp$BP)nbOpHvP^6SJG@)3$cHG3T0Q+~I0Tv#fNgt+k{*jW!VaAzNIXJyF!LV<({ zE~NK;JRg>ol?C{`5qWc-L6#^>^V*#e+dOyd@*IsNrAEIEd&BRB6sS_Sp9T?SdH!D-+|h=afSeiv zU<#=09l$*jUPlOM6wj-L|K9mrAE`=_2>%C{+{DcmMTLJbPxp8i*|zr+N-)ICnqNn@h6dq zCxMbne&uTlyckto-RR(8XfSEB!RR;Ib;iBrZ#G3x zep~JxaB0RnGk8$GDw>*q-uap~`o+Y>N%{E+$+UiV+=2$`)ahvHU1MV-#oM=Vug%is z_uvSmxj1c#3E0zHV4G-dnSpKT<}kE_w7xt)40EO#`6Alax8gR#$s;FSTE>DF< z^va6v{Nf_md`TIZe$#r#S^DJU0s;Z!IrKF@tyqstZt!-@w z0B^j?4&Q&Hbe_MHWGGTb*?q2Ueb0Ik3|l^~wY#+f`3PhufL5G$X53lz9;b%Y2H)}6 zIxn#ozZ%3~2;V}0IHCS$YHiI>`)D}iyVC^C3|blt@_1w^B4KOGjAN*yt{(FI?62>0 z-1Iu0STc>cxcFJ#%Ok=o2mmVt#D~D&@MT+W?V3d_y7XmRX%7z`L;t&vlTA1b^SagC z87x{#=yl7cA+q!ku_Y8^ELaM>Wc$-H_H$Hcz}~>UY!xL4_rJ-6V>H5frR5Wcr~HQK=H zq?AJb)6{&eB9Z4?YT0B-fQ!f|D4;vhApp*xUUL^vSmqWMg(W3n=ZFS=R|}xkq|D5y zUk6qql5=uy2fP&jR@Y_51Cxx5L=2BuI-Z=Il=k-KpUe}% zC{T$6;sO^R-wafh=Rrw&#wUC>!&m_6Z6sxNHVcfdZf*sgouu+5*bSCbL&M|&vHAHF zh_KM*3pN=O7ME97iVF9!p`Z_dRHI^LjgJbIQ&5mFFv!sh%U0Sjxh{;kB)0dTam_^h z61RYulan(+AL9BQ>|();)vHzmeiLjAFy*i4D=Q}_=I<}uKsNn~A=Kkz<{Yl>?%O>< zFsy@oGRVDjh|r+Tz!#_xQD9AXr}7d2H*y^C9a(BKh;@&k%*p|Njc)J7$K|y% z0rGcsb%74^^Ya7$gBI1Qa#Kq));%u<>Ib;*U|_kj1-)jEg>VLW0B8;;kiTYmm^e5g zeh=5Z77b2nx6)rO%9L{YfQ4cQO6pY^(=#yig0m=+WL1oePMgst9|?d|o5B3jEx;Q-x*HI$q}Mr1KX0z#%9)at_zjR<3MKL zen1P#3DBoljTSXP25`5qVxlzI0MK_|po0Q4Nm6tuo7>xo{QdnwxCE8~BBe@FbuJl5 zfry9*jk|?OHOX~F$)OPxY0RhFj*vuz6Nnjb)213CVR1Y9cAuCNP|1hl-VxLK&6<|= zzTJtedf=hn%@hJT1YihEP7=6tV3ab8B1(h1Y^S|?J}p-FUQCHhc{WD@VWs-KOcwIqdMj00k9Q@VRzsYU*Y$0=cAw1Po|Hc?AV0aKqnmEwfl%d=6$y zJP&JHD6pdv)6*k>4!iiK^P4Q-(P{SuxcdPdWx=3MpPTLdnWEcchk!Bq4|jKWydEbc zI7)8dGE-w?2)W-S)@ytOj4%QyB(jZ*r<;wPb)VD0@26d3NIKc5`&ZteA}N861*CL! zbrqX5G&O~BaB$$c6USrBPN1Tu7Oa@X{Z5q)pyU6Jab#{D9>%QNe@6>^%I>VLX6|^p zUXAT@0q0W*3i?WhRaaM|f}j@yv0Z6I0+O#zn>jKjrk~iM1FB&e6$lvH^$xFDD{&Ob zMyJB2rZ<+8*`vD^35baP@pfnb%sZd8t(J0kc5&fr z8?tC11d8|rtjwoROh9zZY-}WSbqNE|6$3(J`P)ZUEVxGYQ@KcTBp`f1^kNoG7CmSR zB*qqKsPgLS*Kp_Cw{ICg=CPw-U*|0<3ZbH+$~d*AwC9bz5+=hzsal9$TGEbp%Ki*z zZ5H-{_CgmzCx;Cd7c@~wNXYboYvQQ63S(M6y^VN(eh#Ues~^@LpWm9>Pch*9Sku4z z-FV)GckT+_ZiXPDqQ2U8{l$u;-Ny>`vO3_R=NA@wZMloe%Mn55by~MI<(jvgtCypM z0KS1J(5%vO@~i~#v#_w>3DocT!hc4<i6Mye$@5I;`5;{dlBK~jkL`5g1`CYf{`Mz zdwQAx!0nga{?BrJ%;>&To{6BigDCS!(+ztoz-KU9Z~egb0?^+h_S_ zfKw|T#zry>G2G)*4wb&uG5Jm5Q0WxtZl^g#9!feoOKn}=2)Wt5R;{W*rrM6+mxt~b z2?d2$j@ro~jOt2B!qC#v3h(F;oS&a(f2s!J6kz|JfX9Uir{A1Sljl|#{@Jj|GcfC< zKv>=GiM)*d9?{g&0#dS|xH!~0JuffsrzXNM|IdR{X$7BvfPmMG1VBO0!Ccw-PJ)Ob zH_9I1iaO^%@`*G^SrbFJX`q5{ce5Po0Gm950egYfK3}%XqXgiM(*g};EM0?#uLnjJPK zr@4V-e$Bgp+tFY2^JXCjjC?IjrXJGX&JQ#NHF(NEEuvearSx~!5oFAuKeB&G#SB76 z7jB-OVni2CudWI(3~@kM!&dj((o<4ksuup%2cLW1hD!ruA1Y2cnJY9l17}5OSIlRm zr3DY>2Ls3P65dx4)@+LP3S}f*0fON$&Qe=yFAYYccdW<^l+)bPq-SGvJ;9 z#8QN>P|2NTH{k9ytM1v==6gHz39hxHg9PaR+sBKk86Y75{lAJ{5W0ecy#9~8hJII? zw3n|g0U$6)6j;k9fy{A!&!ei;KvK-R`1JkYs76cfc+^wI9F1w8cbILOHB zs;JDsm(&snJ?Sgl9KYPuNFXxU_V9$^w0QB&MHJHi0 zkrpGR)9T9y+DEWCmcpMniGT)n7k~I`|5XHZwc$+eS^&foJmNBGST=50rme30tw906 z;q_4$@UL+IEJH&>UwP2f{{_gq^F9=|O#qFE7#K3ZC~>@hFBD!oXC})u2RN82snzyb zy@`@pyAA??7bIX{XJbuIkCtiVlI0#8o0sN(f-Qdytj@Ojv;93&5`J{$l3JYVbIrFw zpPTnsG`#94aNXI}mDGn1sI2;}n~SRoEt(XV?Ba8ds!~Umz^~N4sXq`W?=-{!9Tcy| zm?lryAJ}Uw3J4XD1|}wEAc(0G!eu>7Oz~m{|5x}W%T}*;6I=@#MuHiy--;7tzu-l^z4wkPR`Biqc)`j zmXrgABGmKo{(bu>gUy}um7#+Aq+K{lp2V}86|Zk>$ol&?v_lxI1vIE!+*a}kSD;|mN#w*f2yE98sa>uah5zfdich|39h{cPvKhR>q!4E!w{F5h$5pxrM z0I(t`1)WV5-iWJO zoG6b7=ym7re|;47kt_GF=kKtc>@DR8;@;`Uu;^h+kfvm*?fxGNKuL)yL0EGzW+RC5 zfC6;9*5#;$<|5Fc@thbI3fx>!sJ)4bk^|ce@ytNsUs`*G98cioNeBFlJp?=dJ=nN?N9aErjA1?SW7gnk|_Wa~zIyZ3_JtxV((PN88%o{^7G(zxc33l_)qe53g?f*)G5Km5E5Za%OPTGoZycW2@{`Aw92hn8It4F-|8JT_jiKCimLqFIP0K?n;6 zUR#iv+M&90(!rkB65`WlO|av>J7D-IQxo^C`VS`Ask@I|cLed{sr0>UccF@}wUq>itrcq9A4ERC;XdD}UEBh#oo9OW@~B-r z;p#SY1suqAlL4h8c?4EZPfs_G_}P{e*bA{%UEs+vW|!=pro^Gud9S~`at*o1VM~Cr zJ_8VhV&x7<)JW%s2o9~rMjza=2Hu>X9-3^=v?}^%D>AhFtM?K7=a4kK=25phoT$hE zTbp0|tL06&WRjASkc-Ib>L2;{rZ}C;u0qgC!lenO{|x{FP7gQRLHN%YT!se)@@f<) zU_?YjhV#GT5S!MyU?N+xAEW1Fe-)aj{y%?SpPYE39n2nU7HXrv%iMw;uJYsr&7I|B zXTGb+ zBr_p4^y=6Vva^}kkF(V}=69|?aFqS{1cRz7d+$apHb^^Ira5kTf0HFzz98Q9Cpo zGr0KvlcsvcJG7T!b???&h9ZSy`CS`2OY=%yBVO{*h^J7=1r1ob=FMzghh~7sqW34D zGoY+q2XkR&#&~VAF+edb367$iXp*ROeBe z&p~0k<-0P;tbrOfhQ&w+``US8C@m6KrP!1KNA~P{IU$x#Jd^RZF+YXVPZT;^#4TE5* z@pK;(TE2{@OO+V5yyQ+RfAUn*AOCt4${5ZEu@lZ0{>8!#UeNF!|Csx+8xbG;H292A zpW1WWu&Kw+j<#LftyY~uDoZg$;VtG>x|^Hx^G-T}nM}O={3d{BfG{}U63c)Ny$n?P zKzM*s-B7rjiaf1ph1odi^t?3nf25z_x+T1M^9Rw^uI9~!AF~Rw78Z=4;rI7P|IG{# zncSM<@@_CP8Nb^fFMLnpaj8!DV7}6;)J1`GlupqRV*&SsBPrcu*T?skh~D5ziA*_{&2*>HC6cf+p<~*0a#7Bf{W4Hnw1$o56`$8VRvf)YC%?6e}aG_+xGRRl8KD zKqhmrjLRZUL1cb$k&80vTGT+ZEuR!E;UikYz^UC%_$mHByZ6Ehhf{)3>+7d3&A`sC zPjow%BetHEdDqbl?_%GRmE&o&dzf6NnkB(mFtZT-^bJZ%a!ac$A$?w?4XoePqJjS1@8udc8Xl!yn4uexggo4~ti)1-10YeqHu*5Xk_bh`k2UjQ5g zk7YNG;uoa&0)&qSdrLNsCXT&N4bW}*HiTxE{l*Wm6ZSifc@F*23q&K`S|?6N&Yds1 z^e;yag-c@7P+aI1^{x%Q7bvVICz|s_|Hj?T-c`19(d34;RkRaP{EXy=z6p!deSGiH z0LFyva@;9La`98o^2sj0hI9W70pSxBLX7xLD~ZX83yDFCnhW8<*a?-o)W{2=rIvrF zC3nYVJBJdJv)a>`UEgh9j+)(DpO{J)ZvW^XoDdj535utmr%f+hi%++;Z;vSY>@<(Q zxN2vA+;UvPcpR7}&U-#`{%KOBkK=GR_SApT{mO?f@1Lm#L_8b4d&bpKqL-x`T6d&iUBPXk-zg7d!cAp>eUS)Q!)d564g>#Dvb8 zgWAp5pm3DH@cA9|cQ-Lb?20#D^Y`x4K6>dq8jgwKUEyR)Jl@lC*K}Y#^Xiq8!!Wj4 zTZTxR>)J({Abvu}yR?6DouyH9^r*a=#LCYPEwE8ecIG~R#$V`6JWERm-s-aLrfRab z?HU<*>UGeZcAMD3K?4d-w8DL8|P+Ht?(Ghey6!sJE>5JS)w-=>b zJFK-KV0-g>75BN9F$;@5TQKG~@#592Z*F}Po35v#=gNe84#j&eC~{vE+jx&5)kG_@ zyc$L!Bz(6_H-k5EOZy3~ITS7#PaO3rqgbxE6I{Le-qa_*Fl9f8_`)hGzM#FY-lAK_ zvf4ndvHfBBYki9pQOBUEY+!CEbkLXEohNaJASy~R^emg$y&&GnN_f6>tAS-&h#fHegn zs{PfI$v$d_GVQg@*Iw3#mIqQQds%;5sU3uF1&K~Fz1v#q{7f~R7Qq$ir^*}`X?-?+ z_;++fqV^%Nz@q;ef1eUUB?BM4SUm61gbq*8XVv zLM!kQEp2Q-p9|~ScVq3cFKunUsSNm@7^0&5rvZyF#7tRw3Q!MO66OuQ{5o3NP)`Ld z;mF)(RD)IX>wo05IVM+)RWP=trI?85z;^`O1nU(#H2t6u8Di2^jIM3hhmml|g1m5} z@XQfV2WY>l&n@lkLpn{Jz0z8ZU+R~HLiN^ZnzT3D0>`P*;Rk_mN6=d1*Ujl;j~$z} z9=}gr_z~%f{v^?YrN@;W_XpE2@L$i4yJyF>EYr+F4b+LQzWv!y0!p~v`}4>&0#_f( zwwvG7NWdqzS26JM`4&d^aLB~4wkArjIf?4#UEYb77W%dc6sQABu63#uVU(-%!7=gf zRb?R!BfTYRc^`Cg1*g|&4YLbL7Snqk*iN)@t@KZ_5aEDhD*>dS!@=R@hEo^JGl8tc}eNtd1bP!MQKIF?$@tt^?xlf)|K3Q%zaM( z7~SM7L$u)bkXF0E;LfX_`_-rkgR$L}v&2-asiW03E|2hJXry6{Jff``q4}njL`X;? zdK&50WOP;@P__I0+{c~jw#D>sikBYwC_D@OZ!g9k5}QH)|53}ogb-Fm#$@Ag(y zJkrA6y(32@m1r>Qx!(0q;6%e-kJGyz==}OzF!YoV^T*rd11#uX0K1d{Kp8e3IEGOr zjThuV5M?pI{WVK;@d@_@8s^Dq?Rp(p$bzZjfPsQ6I<89!4f|7l{YYRP8P05l?gB6a zQb+=i1wJV94Qxz-m9=E|WbWEpVgp|S=7bb%iA6Cuok14>^*N)Vfx1!1hnOI&wFYD} zx@5ccB3!ry-y*sGi1^*`=1n3?O0J=$)k;jnQy*05{aYna&* z7$eQftUgVB$|MbpGBF@Ub91Ku<0Mi9oG`#j&eA8TIi;F!CIKAOeiK?d#Frr;2vy5_ z4bh8MV+jWbjx&6yWv`ql&ZGl`HWpe{g1f4c&3c1J63R)(1 zvZU!=f(ob2YW~3t9QCXL>{mag$_()PSonK_dQiQBCtp=xr@Bwui@IE_zS#X)MyyUb zOH2i$Ocmv3bXbWQ&QdS*n1}!6{Qofw$2$0a$Cf#KPDFLPLg9kKh0+If1 zm0oWRSYt8C$*Xik743>tiHS<>yort;GO|3M#vawY!UAaQFlR1kiAab zi)&lr=BA3yfQ?=V)$8jfyEu98ZK{Z!Z}5FUG(z|Y?CaP6>xRLn`hK?4m8BVEWh|@} z=89qml>oF59t>LHz1RqFs1cY65DhSYb#=Yd{7I$` z75O`iC0!4p{(lgMR+g z1N?MIMUdLr*?q~&BU5EE_Yn!{I;Kc>Ub9T@>5{+Nw@FpY5Jk_mR@SCPiHycBN>5!DfC~i2hzIX55)Oz(Kb!FxHR|0I}F$cfk)kt?`2rH~r-3h?bT%P$#_&_k>Au@rCc$?M+1oINsl7g6sNe za5-TW&ULU-fT4$k%+zqg`is^iJ+!EtiWls1&dxZJQc?(5l$2x*PpWP%p~8mP5jR+s z{o&1;+WHqN{KAVVks_aLZa}mmK7Twbu64w*fkQxm6m(FYsLyK4A9knZ&$kZ`+X18I zDm11hB683dfauIi%bD}lRgXLpy&;hzZa!-v!G1ltiM z2Dl0Y&I1;ZVw-GFm-#dQ-8%2`CqJ$k@74N)ox8QW+X8zyIxY_UWL9{Fh;&uAT1*j( zp}5!~FvhaQBm&M2{O;ib=wLvZxKZ_>l@-<5PRoMt@L|;aa)G_t`5y8;5cwU@PXyd9 zUb6hcu8R{TwuR=N+yiD>EBq~5)5cu{ue1NYExY6@8Q;*D;DHaSz2!|(^NIxV?t zuwIXJSv||MucBK&)Hf$XgCdNTI1KfxJsXXURd6sijl{Kh#dVwZFAJmayAm(@pK$4d zo8}d+hyagp8-Tf=fm%)6EXdD)s-<-;h&DPlmS-kM@%=quUFtLMNDw9nx-fK`-v&r) zQ{(*4_TlhzhgOg<6P9rJqRIj&9t#|V@SAayflW@j=>exVT=%y>*0`-|o}Er!HptU& z>~1ui+J8S@NG6GsIUEX;Q^OwjN)>r9`!!UH>7HQPeed&1+{LN6v$8mD4=?{!R7pFS zo;QICr&ns(PN8b^OyTBN3+$I`BnD&b2eXUc&V-wFea!g! zbZH>?OoDa&9dPH^-)Y~!e-Cprq&$u6 zG?i3R!h=d4!F#~Qg5DGsA}o4@o8{+6v0P0USgiS|+B~14_?MKgv#IG3SkrJ|Av`$L zZ=Iu%qa@AB9y#`Hi@Afsqu`?jL$x*5SX|u!4W7bCg+&yK;-MaCuvpg9d$+ifv5V$B z^HY|KN~e7<0iuvlC4zhvq%0;c5C-Uo``4%=;_v{S4?V)?)Yc zHkKW?jJ{e+0coR!5-|Mrztvgb&LEkW-rhC{%58P?^l?se0w@dIK6`sRnj z6+QL`w_C2;A#n<*F&yDl1rcuCd$kC9o|Y#Z^{>0T6#=8WnI0P#Hy?A+^5gGf)HPnc z_350?>LbTnQ2f4>&5{6~uze~YwF+Ah#6LgE9E zd)nn1m{cYGHDIvl7Om-zhxMv!th2W(`zk+N>Hq%e_qr7?I>)B;L2U{Qw56RLWD;4J ze(Bq?!j%BK-u`%Oa6o%Qq;YTCZck`xZ9Au6aBvbg7{8BmJuglE419kJ=G4Dg>a0M$ zCh(o+K;938>GoqdpsxaS3r>f8Hq;mSU35y;@QMO`g8=XS!^3S{ZF>g?h(iML9PKjW zt0ic=3C@5$0e{7+S4RX@CvXjvxj28P(t*acDXzr=H|GktkPO+PfYicyH0_xMC^_&F za8n~s5n(l&OtnqDL_Svo5D|q3cBrnw$(z=-E<#a0@87!4N{ri{ z&wA@E;A$@l?{7%PrNnVVwGB@bF$XIv|AyDc z$mR#V3a+q90CFk|xb%k}(`$Vw5$HGwq9I`j2tb8V-~Z^0o z=ST|H9P$_Og>&v-jYU zcNoIs6aG!!gz(dm$5y6cr|qjQRxYs?aE4F~ae#{oQjrp*@hcsng5Dp2SZi z3*yhij`Ag8u0I~+Y5W>Zp1AYfxa$sVLD(HZvRN-jZ6)BTfk%H6VlZF=SNkrlEYC0O zxkR~FgsKdla<5Oj&0VOa^hGZ5+Pkg2#qcwhhB^WWqwfldi8!n}<(R?2!6{!JG*M4f z!662HTqb0h;M716j(VKY?|&fCB?~S(+_ZYbe(y5jnpM@-egpZ31XP=+q9EM7j({&f zF+Ddw55y#FOUJ#3kP1QA-09|E0jC*ET63%`s~e z##+Jhlz2Z^nr2hIQ|qVXhSzQsN)vgH0>ln!Sy>?3cyMhD4AP(cz=vZFK~K|Lr0Uh5 z{vQj_+&nJUH*pxL)b;Cl?Z((GWe3?bOrHb6q!!Vrb4rWWR)3M(hl1d+-Fpm+$yvk^ z#1$*tB7yi19}Iy+h6V^}_kjK;ymhPjb;)n)M+dtUI!5Tz4Gj>wjKjJ2cm~8M=o#gp z#RQGT*H;9t@Tbq8cWL{;CSSRK>x`Qg&4PpY#%-M<&+pk+#T&n{3bGu#K3|%1a$wxH zY@i8S3|ueDaLHaWQA}B09|z2?$uq&Su0Q0O_lk3UIZ=xFl7R#o_19_K z($H>#YKHQgUe83lrTzAI??jRi69WSSdbUrfRRE_FG?>N3 z@4JW#(*<9!K+te##>y=2W2j|X#bMXYA*qtVHPO)C$BX1w-l*nUM_^f3dUw}0W|1up zFopHT(7<}lFDRDO)g_194(Xb}tAH%sH#TP>vUPF-IG6y<6JcHjK~}fuV{B~Ct9A{R zAJAVjF*8d73W?yUoTjjap*ZPI7pH;p4}~MoMd}RJ3F?9vz;gAu|_m_oG%2XOm*l(DugP+ z_My&gQ&VBluONbZuI|g%^W#h*-f0q;oUs<5;s<)r#7} z0?z2+dWKpXo;N3gr9wOrz;S`Gzkf3{3y?TDv|fF#*;Ng}2Y@fx=t@?eQ8^`Ie^J+OFjVcFBCFtr3HCJm0TC22KDNk^MCF7$lRs0S!6x=(lZ_gkUYMTihYD*^HzNQPEeoMq73 z!Daqqa*~GQ`xZt^-`XTBv{D-sdrA1+4N+%Iiz4`*E}h@_$s_tLd6E4FKML9iy%gv! z81FEs{f~@5Tbc#f+vMME2sr>9Je?6rZA^Rs@vz6Ab8<4F%7oBo3yhVRQxkQ9Ne&3) zsPpgkVcOkqXsm{*9ttFebg9;y*a^)-y+cN#^JqT6Nl3sI2|xpx%mYEeQI`8cz}*8I zm%%1M*wNQ#G4_McG+%=mxgr2wu0WpJw{eDw! zi4qh~h>DOpRJ;J(^@*jqn64>A$!@a6U#|*CYu;dzkeAQ>iF3aJOw%v(jmOuk&N#yv7j);Fy;gIhO_~4$@F!3SdONfcFfN+Dn z?%tj&{MLZmx{mKUFheE`KsAWXk89Qwzm-NNW-w!>wyO}p4FrJ;5V;>g*dNMe<#e%# zpFgF66Z=$NehYeY*VV*S`LqH^f|#2#faXlf!9z6xAYIevJDu~+$Y}w*8({8xq(%aT z7;8yBvflGfNGT6J1|-$7u&`h*10I0pMVeinFHKBL?g9}oF%glJM6R6B0|$I4k`se- z9m%3d6@q}M97)T@TK;#@?q$kbjUc(5oicuxP$P*cI(hVi=q6|~MPT3q5O!dyBKIM) z1V&ROO24bt0~RGva}#P0g7C1SuU-|{S;{&(Gd3a|%UASS0&gT^$eQd&d+qyD$Tkx< z*-1!v_LxfQ28jFin4gu^l8J(u;jcPk{@lbWDwF@$UA?y&z6iM(z?33A#4TWFT_V?AG4Gl?0+w(#5=nleSTHz? z>*Q^#vFx!OTz>$;w)p(()v3Cs1o3&GqJVzv=h;jcQT;3bz~K9Q^$Gp7}+5e7wPp*h&&SV-`N> z-hl6fX$sOX@+P;%lr}TyG?d?&&XqW5^mfeLyPb>aD?h7~=0diS_Js!q;Ku9=;`{8p{m-r`Z z4=l9uG=LT1x$C;8Di2m6L+o|%3?a#DfBX%)Ot{=yzkBUMncKnC2+1TUQtji+Pa9_C z)s55be-vx3r%;IMC^$mFbGr-$M=tD;!WXr_Tc;o%3C$eYRZreo5o#nu2EZnndZli} z`1lJ*l-Av8%gxvO2h%*Tp>_ZXmK(Y&L0M{O389T*)%}VMq1@?8PU?6fc&4xsC1I06 zI0PxMA(|^i7Xz~``b}O=zn!aXYm@z)o12xF*J(F507o{QAMl*eAzB9XFHCXqyq{Ie z)D&r*z!#r|5puiE(xXB$!|>h9Qj#qA{W9RthE@c$WT%2XBt3l>j3tvuM(3*6f+F=MsJoWbNhYC#wRv3@G`&-xQ`%LgCv`JcM)> zC+8>W9OdBUx=4glj8m8fSY3{nJlHBpyUz6iaxYT9F{F^=SW9qfhvged ze&6Bx-%v<%z;ql(YSAzupxCZk2i|-PrbRLKXiV6Lc$x*(C^j*rQ#Ksr7R% zRc=Lh*Au^!c75yUO{so^{wtJ;1@?SdzPenNYIg$H6*yJLkIhzUXY*!xe4sT8Zm6`Q z5I^ozaqJaboPwM?UbmA@VMJbO!AZIwe9Pd&hQs@=-im1b zTzpe9T(B~O=p^7_kCYm{+KM)7ewt&2Of!IO*7gwf;?)E79K*pJB{)(AGu+>1x1H@X zrT3Y@*ac*i)z%hgTU#4OuLBrIK(ro}QIL}}yqG-73}bI@YC^lbfVg&)pov9hpL>k` z9m>Tu7oi4H@j}qsmR)s6?gd}9%F`xJt&W`C+FN|V&f?n}bOxKu%z{|b&-|dyenJQ_ zX5dDbgcEnEgUNkk?CpzQ^|bhy7Yln`<1WOMCgiMpr>s14rli?t;ni&&=_-3->2Dxq zrX;{I+msHY43HF$vgKK-ZQ$#xckFAX|I46q-nb&{zScAXE3J$a#7f83J6fR4Oo2`> zmffU0l%G>xR>p;|TejWv^A)2>kGQ6dwKX(6SNe`%=*CYZQogsO3i&Cgm}V1r_qac* z4=r`m*}Gvr1N6r*8K>YLEeu?nhS#GtLn>6V-euS-PUy)3L&Y9S-Kcxuootp!1nHLA zjd?Zs8>!~Wgrl`a>2SGE^Q0du8X`}zSp<+QVa zh4Jtep^XIYtC#b2mObVJANpnuA}N2Qt0ad|F*0Gbrc8CZ`X{RX(R{}KMxXu;Z)T(! zFZsNk@h0PwH5OL+=9Fm#yX20C9rzC?q<=+@z14=$p{%UzR)mA^tEhDFwm1C`zjc^b zBnY`Nt5kxH!p=cEIXHOxM5n{{%AJ~m*JuPVpaPk&0hU!Hq;-=!Ou0cRIjRspP? zpux()3phQ}(s5kOaBLMh_=T~ow9Rfmq5$t1^q2o+2w1fVe0Jn8=fqQi84ZbE!~2?q z8YVFiL+Tb89)e8mVvm>NOAgMl(uSh@v;76b&Wr6;b{>n4VCF7gNE;qa69kY>iNZxU z4N(&WS%IFUv9VA5QUr+rWe*C(xO4F)(!FNplKbe)Cd>oD9+)^M$CunXkR=zR$WVLR zgO$&uE&MjK)WaB?eSzMKT|M?=={$DZHTa@G-1K<)_>4_WrLoB?6q)W&$r2B^=v|AE z{}8519CrWi(Nk99n67znse|S3sSTeKS{W5iAekB%yT&Q>D`oP9V1mqMdKb!Cb$#MK z$^kn&>ATa^)-5Z>7T~YjDjuS#a3EsGOHtwii2&cjV;CF4%oYap$@lYh2P7t8ZDSMV zQ=DoGM6Upd!N*Ddi0$z08^y9Kd71VNP+CAoGRug1m!iPw=jPy&Hwowy5?zB51!_LCDB`HNv6~c?+$JW zx{uV1>G5{*m&fUsiI*Wmx6J0VzFcWiv(!>C- z?2R^Sh(4-S+|_M5`5OMGyU8*Z46nX{G)Uv-iY+OSUzdB^DTuL)OkIz|jcMM-0$-pW z%l%vsrcbU&Q3j_JRx43xi-j#-o^ZquC~f9j{j?>5UUj3 zxohXPU?B1%!+{O+65fJ|gXHqj7fH4Rc#usDjqo;jB20tV5+|TAKZ+GUzCG@DIDtry zvjVUfkWKWusT)pHNLWyxwTPcxLCktc5st&hk2{syQNYSRTG48J2V*O~@BCu%gfWa6 zt3n~6p-wQ6=5BglR&K5wX;y5^ORj$|GSb5@iW^udvYft*nI_Ef#{(|Uk!cJJ z8G0d4PojimX773-Bh1#;=H_GI+y#qJm5B)CnE=Ie4~Wt;r=w!M2+pQnNePr*EY`lj z2gN7XnWxevhn&5ny3jO(GFoe&rr>*18<$J@sK{44WPOJieX6ZZ9OSn=wba`r(f35} zG`)4~+i*su^k_$qMEZOb<5Px4IcEEK$?2-(E37Uf2||iun<hsT}~aaZ48 zJsa_^0SR@aib~gh&9u^nu5FL2xMl_iIT?XTV9rrVk3>cWZH(8#xryW&^?kQxvTI;l zy4SIhN9=IF%e7%cL<=~zM@?=xexeI%pGOO`Y9$X?ifk7&de;hjC-!rpWOm=$O22> zl>K^JFxSy}|7r6{uM=g)UU>IiO+VSzO1>o_N~KpDb(YLToQ%n>=2x91sT{pu)atE` zB;^=Itj_c&pQ6 z`H||vGl|Vl+kZ)lW=0+x_g$&eDV&XW;1yyb4wKIvJQ|4d|15IxR(k{%_KZ&b#QXAe z0!o2EmtMhZ;7H&X5~$}WPJ83V4zMo}{XP{N*gJ$P67Zhw9eG%eAi{5ZQbMsp>T%oT zFCVP(n^Encd%S~28Oph=;$meT21fD-P+wfeXEp0InWfv>#CsMx7k6JcB{RDhY%sd` zk8UYLav{1o>d=7iD zu-42#U(GtPy6ZSNPrXXgq_ENSJ7b^Q*Io_9r-DrQ&6H;fL(!?)Rc*mTY{h?+8;Nk( z&Sws3a5Z&4Uabi%@{-rio3jx7ax@s&{?^vcZaxy5g@W*VfDlZ!0{o!Vav<{^J||vu zMD-8T^#YA2yy4=mbt_T7>kbv~!ET=y^*b1~Kn7g_Md+l;uQUj9QW!4BcS7*4W0{L* zg|&=Dm$nPx;(!Vs_JVLOT%+=ao1hIMgYtHcMc8YmFwmxgoS@qO&Wcq5O9)=1rPq9n ztn%$kTKS*!gi;q~e7@ehl{{-}&sBf@nfa^6NC7lnuppp|p^eLLg+v=%Vpk}Ql&(0} zvf@*%w1Bqg1g(do5J|RK*+Ic#qulD&pG&sKE;6&r8~+LzDBJrmIgg<}DJ zZ_}FuYRySQh}_+&u*=u1+*K&zq0MlL8_L4F_j9_r+|^Rw&vYU?RFtUZ_LtrR=ezcyZ%fsXzWpV}0y!G2Rg@lNG z${VPw7j`}AW12WrFi1{>W3Y3oDyN5??a$fdBBv^Ql|>xid7_>PSG>Z$SWqeQ79lJ7 zu*-^z@yz|V+jX{njDTuZT#m*wZfY1hI*UU|*|+~xA;jQ!$Ne9oToZAA9JjcR83em8 z4g)SpkXqZR^M1TxPtwB->j>}(;6|h(W`{S2gJ`0|@ir@c=g*?mV2%-t6=Y0dW)%)DC*P7TEGZ#?G6|ZtS^OU9R0A~6y#YBEe}9;& zfwOA{V{%~P;^cKbKwx47N+l$uKDw!bE;%@*t?>1QlxV6l%d5W^zIzL!tt19F&_){0 zAA)XtozhQm))YP$xxipA7OLbL|n%5qaOuNpQT%Z}H7hio8(ivV+pq#yr_?oh9* z3*|ME7mn!2I7=8MDEXk-yZkVz)3luKDVey$)80Kkbo>XEXlktgqBPWEsJyN?&2_}| zzvqH?9M=CDCsY_N)$*@k>>(dt2#mek>6w8O2wE}<0ez^jkZJB^j6IMdEeL?U&Rl(cyT-n^Ne;*pCql=BhR7YKfsP~e_JCL<;jY4a5C_@}<; zp48&~hNWZ1na^Pq{Hm1?QZtk&GWljPyGftYkBCP~-`tMe#HBjsB`DET zrp5ax*s+te10EFaeq2i-)WC?o1a)HH16qgCm>2FTUve<-(7k^$CJOU9zyaneu3KS7 zCMH2L6q#|jh0MqN=Dwcv)dIWdi6RdhYZtZFSs6&iKr%+o(n4XKo6Gp;u|V2E&Y;!a z;b9Bs4N6gOSGD45ZPo`0p9Ejpu*E4LHKGXh;t9R2zxGEEph@~wqWN9->RJdR40Arp z{SflrV`?-PByEk>)hSBy>&ulmYSvP`qyG?JCkNZb|NK0PqK<^ZK{5E;9ukNz8W%swen_hg_9a^4gaBFbz3`@(9K_g~=Rpg!u+Gk(_K_cO9S$S_tso zf0?FHnV))n){V|aJ|IBc|Mc%9GH+7ozK(7o`L*X)Dn?n^YvX%OVSdSWV&YZ3bp?WmDnu3zV$ z^m<`I3m%Mys=F>q9lD@6`lyj?Ot5TqD`tq(pX&Bq&Kp_X1zN(vvGAtE?R){OO2^VM z^Rqf17)^GY)#R435{EDMh7Ma#(w!$;Dq4EsEruMri+b+u7OR=@Fw`Xv( zZQY)FKxp$lWasS|m@iyb%4^%&Pr5#!&2(;D%Mw>i7xPo=b=#UkH?0tqc^cm5O1-wj zBh&m!f9<7+_nnPk##0qVA`74iGZ&{_|*jFn?-!$+%w1}LrMDz$!#m+`E z*;r=0E7!g&wMf@g$C^QT@`A91^ZOUH*^Z-t!#`vyX5aoP@ZFdSQ_rDQkNnk5Mb+A< zqBb_*X>7#1v=7e3aA@ zjZ#<{V5EP#eJcg)|5$vv=HkUk&pw$|Y z>``^$gW;in|NcGBWU_kcwO&_@N5u1gEP($bg~2`Us0627H_N2nCklZ>Qa+BU>15L*?ouXQQ%G#{GQ6-THmuv;n;u4!z>B_$`L z)ACAfDcYg7_trtsQqi&M%}@1R^eAs@Pc*k!Nin%tcq=w}usJC{-4qNH4cFb>-LYe| z-=S5=-zzBVv@ZU&92xuLI5uiAj*JL{0ivhCkmL{UMp9 zk$|ou|6tH99%+4yh2KD`^3^XH4>+oXjf??Tto}2iT0%&#smDxiOXNxmB zRjsPCXAyV2AZJ;kfxPgNlR)f4lXyJM#m@GKPl=*L&~656m!^H4wx8_r-Fw1}YyAH_ z>aW>mJT1(T2yN?>kvmFL#Nz*;zJO)IH9q_=GL^ALKtui0Bqb_C;U)g0tE9HdnM;jt z#p3{#LHyB66PQwMD08*U)NE)fxU~^SNzAa8UFaqyFGeb zcYi8ZC0^k^`v+;1l#}{K;P72Hy?EBz;(LZz8JCtmOUF7*FGVfqyocI_Nie6KQHRz`zJq-Gx4ixm^^Af z5%yrlE+t8(nh@wfB1wpeL%-y#;kPH0$ITxpHIb!(fA} z9*qaRH$(NRcA-L^u+N%lcoa`h?{KAI=AxkERA4Atb!Fv)7|J{4x2W@6U-z&{@kzT` zU7p^!zTL<{N3+8aeXDvXMn~?E0;xsFFpqf(6^$M{U2JDcmCPzc92O{|!Tz)TTeV)J z#x4e0_)J+lb+QJ&0_m-@Z!giinNi=yNB+EizOp*$jB5fM2l$nSI>g{XI?i?6tSJry zU}P4^^m^{BsWF?9R-_qa@=Wdpz5f$P)yP~&aQ;;;)f26fkU$HFWKc{aEhC7;@adMk zy4%%A)dnRDV|W2*{xHZPgdN8ye;Ihjf}&r>9Nh13N=wV!i#1C+a&wZw{8d%7Q*iss z6LxyK9k1n+Y{?|E40ntU;AfJo%MI zV^MwIU~AJIjm&H^{xp>Cf{uFum$iKMZGN@HoWXaF>Bac=D|p4FPBP1)4WAOaN>m12 zr!NKhv*^ER(JbM1Wkf^suem4R~p{z>VHq)Is34f&O8{DUoq&! zCfqrFnm#2$B)ItFSmd9#^q~dxMMCD+YOJ3X=nmyCth+_zGLYJz%VXkC=)m((pjo0U>+cI^+CNu z5*jcSUXSdlm7QJdbW5nwUp|nGZ*-NH0#@;P&}!VdiwztSRiR!eeLNS1Cm~Ehp7zlT z>Uvrz4qaV|s{eVjxNrWWN@@$3kJExeP0rC;J&y=^YY@l~!IA-6&=`gqAd+htP#M`* z3Ri^`2ls~FP_?PL8UBsrR1w9eNshNidvGfi-Qi!kU}rRe9{(pR_#mc6lGTNf>%E>S zB5Z-4Z&$jflATt*AFZZ685T};!PKECP0CWFj6OG6P9e(6?)X}ApqQ%HC~E6>8}+d6 zV&LNSCt@}_m*PNPRnvGZT(jPkM-JF^8t`7y?QUPDLchksYG$prQJqEH+;R+6a7 zom~l*Ndub47KeX*?3d;*P+phbeIyRPp5uy2o?^!+7P^nctKu|ECnZ*aW~1|cb~}Dr zj+#~zn(maB4chNNeQX)%+uAnSS#CZgEH$dG)E{%PL|}5{ zWT8jvc?aull%TwXU+SMLs9$cmZvPr%kWKZMItq65@H9y@C!h|5=gs z?Fx9o6aGmFV6-~{@{N(7#ZA)te69XXLwn~P`qJ$8*;6%MH=V?}mFY)55?=SvQ`vg? zKp!h6daKUI|68kf5|NQH!Lf0frz|$H2n=XO26;}^vHQayB4Zc?_+PHEiGHRJ7-E1| z5$W?dR4M!;Tj5mW2M*Lr~BN=NATqA zCB0m!{fdUjIWbd&28@J(nLEg2zcc;sd%vGFdn7pL8IfWn)d96TQUyDW0hw(9Uk;2J zU!Fl&*1lpdp=i zN|&EVwsK1SMUcLR0$6*D)s*e1jX2Rp^e`W9W@^&~vH z-wZCXevxI3*W+V2=s%s5NRmI;$<2ShMxW)+IV5af+Ss~FhVkAyNkX}pR0R7VH(aqx zKF!x}#*-JL;{k3tW_qY{pn5U+;n&E5!lLPO>X&t;AF}f6#GVCo_E{`Q|E&`Dm(E4q z+z1W-nIEm=G+uu27k%+VWWd3{a#r+O;=zOY-;YAdBa20PW$q0T6hF&vXK@b4o8Nzz zc>TwAhNOS%Y3A;EsJOxTs^-8W%4@fRHn9(*%zu4Z$r^lE|G!g?&xwaD{k7%O; z3A3uUV@|KI#%2F44vAr?UDrmuxs>Xfhv*NfqiH^=av4BEsE0JtfEqkF`f&dOR;2H{Sa zz=LrudK6|mMnFIdIfWo$gE$9M0{Gy*ham4E0~qj|_SqLk?ue>XmaTRjw3Kmld$2^o z_eG|NPK!j&8iK$F^R{u$-2XSEsC{c|>-Dc!;G4s5kO`WEu*b#?rEFsUg0xu4)iH17 zSKd5K`Q588y?Ua>4?NyUcXr%yv##&?{D4;VQFKfDFh^CxoiLfm&$aBoj77wp*97Cq zJ@oCq{Xd${I;gAe>*6#>N+Tc$C@9@h(k0RjlF}$jmvl-P> z!ZiPD?qVvd%6OaU=7>R2j4Afi-QsUA-4uSDi2dZF40yPHFGf9OP9f&ApG_dulv|$E zQl=_(&Q~{r!Z&hpj>I4TWi6StntZ!TME@;X)ATA++Wik}VPBJU5!&yOT+)Kwlf?yp z1%_8e@gE$CcP&TEr#^bUw7Y44Sn-co*1&O?-hVLdFy|$|Oc&!w8@D-sSnAU^X0&*m zwj?%`(*BWCJ2n)f%9!6wzHz31?)>t4=iDA`tUpeDN&v%`XqEl+C3>>KEylLNK5gOm zzb?k_#5C~d6z+bB^R3H1KJfkFy&6lz>Lj1Z zH{^f>2d4#u76~~nqM(@dy}9EFvSswr9Voc=gLUdaBxvOHnLKde4}_QiJ0BGV*>1_J z>_CYQ!+)@=(R*;J8-}bEMB;>2yity)zY&4Agwn5CWJIaAdfwN|GLtywHstaAgXEXU zaDC0?QHo3t;)tT&BFrxC6Xq-im)e9IVzD%a3wp{fp{^J6r=Pz)Sh)6~k9kJhnaFpI zCx5vi%*oL=gy3!x?X|x5=xJh%wN`9=ft|cq=lddo2ajFTuP^FH9`$H2hLQ>q7cQh$Vo*mJic8s;06biAkk*iPWD+~OFZLN^{Q@1hX0+3EWc3R+t#*4kWA(p6ujY> zCW|=GNxmtys}Zx#tC}=O{>1HoDt1&Ym^~>TD_Y2LhR=ktn(6QupSyes<&^VnQPE4Ww%N1FC z@f<2=Hj$6+!Y(0B?5%^uhuOl9Y7IHvM8s4JAI05yZS!3HHA=sR)mEUDaLW*X>Ka2a z`|ByPxGb|$reLESHXP@#i?^1Zd4GtzrI0`u>tt=EdTRwLa-Oxoq)qc)wyhV!zUhZV z@0Nx!<8tv-#f^*Y>{wsSabk_h9`HJkWZv2J>q~o}EvZP#i%#`MDN8r9VoYR5O2-68 zmAF|v@~_tIEO8>)+Zl|#)}M1Zw_b#aoo%jodx=G)Df07044I02vOQ}#Ti!e5wlsRy z)|+Of`pLuReq1)KcJbj(%9g$5Y^pRCRx|xqTkXZNu@k1T=+3eCZm1E-!6eaqY$-;# z&SAkpnVW+oueb4nI(R49$YT=LN_V<9HLZi0ojNs!_5boM=`%-o(7WpE#>uFTJeq1V zyRM$etB&y>b?IuI@UO_&%J=$46XQyq!6gYpwqgh1lG6KsDks@oF_b3Q=iNyc`dyl&7S_R;}oUBJx_c+u42_&FJH_EGR7+kr`{>o z%?L{1gkn8jx70~gY4`)ZB_0+>5YBsM4D4=Ko3yu2+4z`!$ageRN{Os9Q>8`k)(&Pq z_V$}>THkrGE$OKK;CUI2<0MilXT_o8OTH2tpz+`tQxblfo@ib0XfwAd@zWC5D*j2K z+wB`;PpC}3o+*aN33UmnZRb6^zC7(A?jxY$^#1dNNZPo6(ZqA;Kp$TowZ+EzZd)98 zvxo=6PN1A6LXJ#JP@sh^J+G`!FB)`K-)eFFpP-w83ox#!0wq3N)+$|d=XyD z3`RyD;G9kPrkb)yPZ&@I0xA{@3n+6|W1<(M1Oyu18x8C|dk^y?xL`pw`Hwy+zRsa*E#yE@cbY^gwu^;<6v}) zK&C&<@B^eCDBe*t`76wf#gjVChsXQ1IHpd*1>Pg|WtB~rw zb_0sZdS5p?W1C5y4=8AAQxg94U$h$;hRU_hw$Bi8Vsdh_g><&@lpM?fK3yJE>3K{e zO@m=&Y@rIyf|5PE6gi<>ZR0|mcNJes<=HbOTh(=LibY0q3+N`D+Qey*RlK}c%=1-c zb%Q%CxW)aqp%2`?zWn+ewVPDsgPC(OXv59Ri`M=q@DllM;JftMdc4qizwJZ?;Zndt z08(h^RudJpy+L>v3ON&7h;j#%Vn{yOzC|WJ%Q2>LPnDse<5N?5lto`Kj9S^S)MbWZ zcB_ncBL+y&%{>#0g3CORA%n50EW7VVTX0_ag8Cdem!PhJF%+iU$XfPGLd2u+a(-lIJZX^$ z4Ra!k0;t_hCGxi(XjOtsFFdHG;%L|tUJLPD(jJM$#7^1Xe@1YU;ovz@uBzaq2dna;_5 z9YNgrn__5+&9Stio#&+E|4OYRN!2rsLfc9llQ>GG#xJf-D#lIGG{tBvA8GGAE>g{k zq`z2K2+9ss3)H%5%gaNhKl|QO*1V0JMK%R?5S8IBDk>WKIf}EA-S|iBtX6@vP8C-P zb03}fwp6E(4KKF3d|ybDe=u!5fz#()zo@F$j?8%LdaY=Qu@BQ?$s zNNL=oJD{)l^vPr~^Ylo0ZN*X5x{PcILlos3h@2{UkB(1Pt zO9Z+~;P@%I`>oIY611b>l*TZrJsM%4^`$?_-Omvj+ZL@YLOE;Q>ePDl?N$X#t;-5F zDXsZ~_^CUM&+qa@ij5nV)?SbGAXGe1mm9uIU_UC%QlIip?VrmeGz=eYo%ZL1zYEu% zOJRKb@5r^4Yy`OVehrUWB>3ktHu*-+I>l`W^}b&a$3MUF?)sCW#Ql))^myv7c&xVD zo0T;gN3s5;9{;LO5);DT6iu;qC|wS}@1{QClOxg@(Q2#|a3E@?H+OScIefpR^;+-L zH;0s6_obOb;u?(`uO0oXHOhG3I>C~&hud84?A}+l663p!F$%AvSyXVbYy(g3(NPA9 zEI;u-UNX*J5NDZdn{xeBs?^Z8A3zryaTm?ReXQ@pj?bDXlGTQON|N-fKk**&cSH%$ z(llNP-9mSH1J0Cvq4wy7HMzTw(6B$(%I3WWg|_~f4C&ZH$@o1Ni_T4=vJe(+MNT;} z+or5Yrk+o0a$~>8S#N`~3{<%2{`C$tU0vb}d=-f*HTv2jZQD{aAP*a>3S{h9uzS`$ z#d~ADGU{`1aKoLn?varIkpY%2X!ddGxRwn%WsXv}7LT2i&{98q8qK=7gcUE*He4Cr z?Wq{YVTYTDY59yz`@*1*d7FMp_ZwG=a5yhx>DaBfajP3FQ){?UIQ+ha2Yzw|sqBt*o)Ewp`Gpxk|uByu_puugI@XA}_mlAbE}6&^hwv!Vb2Kp}+6# z=mV~IPuc7B$O!SOw3OS_s#v~XI^GsLzr^05)JdVp(P|25XXK{4H^x#fJ20zm*lH$L z`GNfdMWysj+2qNCB!@u0Ef-skKt8T=vH`@Ic#WsXIp= z8=!ommNrf4OeH!8loXJ;d?ehc8!+Y8Fu!|0<)@iT6A) zd3bNeU4wmfQAkh^-6owly@)AZ(J_Y4jZiLzNA8=C&FGfI1NHiJEOPdNAS(kO_ODIN zVdj4?4}?dXmTzNEMy!ySe$v``eWh8dT^VB5RhQ-5CM><0Xh#hI38TWa*DPANyr)ZD zkF%^81Stw~C&^N&-C$(uAo^r(bx&UqzqP`)3R9@Jwmq$)l2g}a^iB*P+HhUPpHRLl@qJ!E$G50>`N7io!|h??riN#n#ga24)l z9^-e7_>!9-(p5YRau-wp9FJaT>Qj92M2iCT9Z2VH=YPE`_+ma9WNirX;&}e(6N`GF z>c@}u^-Eegr(_`WMSO_LP;#;9RdzGQiUmQAkKXxjOiH8n9-51*-S5bm%;mfBDD#V; zn3xf{B$NiscC^lv*VX`;|#(rdNhjF&YVN#lVfCCfa2`Ln8;1N|{ZUWF|V^LQLVR z`I8~ZQ;WjWKC-mJS7p5_u3t1V+%O8n8}50?Y@RnM5kx3uY82I#+fk2g@KY8(q48nW zU!ByL?V$om1!LO;LBQ&%1~dZS-O4v!-z~n^^wg{{M-@Lv9|oI3|&%$ z??ll1h?R(WtPXs{vC}D(XP(Xo!q&BS66EM7tk3A|$`KP1Y2-lt@9V(YFrNK4SK8`E zQ&!XyAJp`syrQBo(N*(lhNL+ANY}_t%P_|G1J_20mz%mTor3o}+g`-n3Sllc8gNT2 zHRN}ws$jlZ@mM+DQ!&$`=E8Z-k$HC2CFt!Nmz%_y=UR3df)4+cGLQfu$j|oL5bA5B zYlwt>khk^7ib`B;sO{SfaQUA+`Y8(L6-0puTZ;SkcSvgO@)w0TC!{$5PQ4}6YGBZq zL*7oqVi2Ag6&6^zS%rR?x4l(8QII&*fD~9dBn0m2%p&#y+z=rGBhzJAN zfT!-p?4FyTpkOCA{$QHE*XzIk(*p2eLwS#&;Gu0Ay8XUdFnS6bsV-5#HMKDS>N&A7 zl}90-QK+L%zt?gVNNl#{x;LA-r}stw#Apzb$)Q;eXV-7syGC1CcC+oZ9rg5E4feam zYnfW?zotsbo7Os9rA*Bt`)+6@JyB49 zXR{N0;3Icn+Zc0KXFo+aC;BUwY1^!+wgXtU%jMI9(e$%j;z!n?7l*N?x0=|$@jYhg zAkfMH8n)c{GMZNuS$geByuo5@NlLvdwN@D42tJrn9PZjl-GN#shW%8)#Z78*N=B7{ zDvYp;yKkZO)9{Kj$ZK0-*a=3*t_EiJH2Xv)CMW;)1hY-J72Ux$IMa967R*@b-!Hor zmATqKtizh*8CfGnZ~3Q8$=D!MFK#$W(%8v#=w{%~fMVt8d7=e-*{5-F>)vMC+qwG* za}w}v#B6$b&*(5FUF*cF4`MH~D~Wg&W<~;PLO02`ci^4%VINo_QVT+09f(x z@&B6Cnl8ty6H{L&F~H)d4J&KBWb(3 z*!kJ?{PO}&2KW)?cVj#j;lI~ix6OTZh;S9i*>sV%_luV^Gl<6osAs!^Rgi_zXvF#V zs@kQzl8+=}5z-FiMY81K%>Wm`tG2V|wl0|YfQf^(E>DwQ8&1M~-W=tsWd;6#>(#wB zrOTO4b|dy=V;se#{TU`ayaR%zd)6DWgZx7QR3uTSV~VGi!i?LV#iSjCGC^%5u}i1v zhOX9QC2SPCh0n13=OzXlC0Pt<>g|g+=2?{%w0~9h8%c+q*Pe84>hYnb*2V7uba6_srca3V@+Q9OC$Mz6Pqnh49m(Y zD{$izpz?H!T=}q9-Lzw`5(A27F}XC6K7Or0 z=Q;rbpzA{hEe^Bqj;LT|0Bx<)GXo0nGia7JwO{03^h|f0;-T=SvHM$>eBjdFDmWL< z7-EECI!&2%3;*T*@U>gtC%p0rnOx>u4zc3RHub%yvgOz*WcaCd7%$427Fapi*bKl;52)UUeL}(|f+F|4pb`so(7lW5 zDg@x}JA#i65HEBv)c`lccQ8@%++2bvG{kQ37fMpvWGi!MHS0IKb0G0Nh>H#+m}Hs( zsA^QMFzh(~McLMSa}2S2Ac#$gE6DDBt!LteiSqYjl`jEwo9LqBj+on_YQ6?Fy6~D!pz5kK)O5ZQnXi6eL?ttLfck;wnE5m<*|4k7K;~o2- zY+082p8Kzzg6v8ui61%%k3Gzy5(en%1HyOF>^zpAmu{ucZXCwR$t=>N6~+1CtV^%H zimk9mJ#a8^OBTU)y)Yk6Z=+~HW8sa~GGZm~*i81$dCE;dI-0xg&!Juh4l69-;WAgf zq|t;*vb$uMuPui^l#_8%m44`NV?ZIVpa3dW8pq@f-#j;K zzBK$c7XE5Q4L$dZL=mRqEbo>V*zkcV7TW(5+V)hjF_+sfFX zyP1(WFGpTvC7QUfIq#J+2k7g~UbAfYI%4nz>n2gH;eEEOFCqLN_s$PL;+;FKjX%i6 z$(KVbY!jnvHKD6w{+W0t^-||5n{x(C?1;)+nK>T(dgJ3RMm=6Y&)l8RQZok-Vyc9{ zxcF{_+TzQFGdksQSzz1*xblVQPPxtco&7$a|9}0pqXN|0t>oinR$5#eULDQ(UWEt+pp`fa z#ig3;A0z3aj3u7p={zl5ARZU{?A~96G7&ha4Lmyya%^heYH|tPU(sE=T`ak}Ete zbT=xU^Be8_IR!f_nkttuDQl^lmX5{dAehVG1I%WSIZK&ua}_ZjmUk*_YRGpacEi%y z_*(luQ`H6_ijZ{l$(QqiVSlC zL+5kDlBQ~0RO^?h-Z{{-63md}O_LR)qg=&aImg~2ogv?%9ykgtvoGgW(H`+H{!LOq zc`mR$y)n8i))uth%Q+#jf28ELe#^!%TOyfzhXYeVztChj1{??dX>@n)@pY3=e7LEg zonW)Y^}A}^0VsB#5oytiew~8_MCT$%1duQ}g7@SJU^e z@u&>=+iKEj-+3&&a^(4VpZd~Ip@>F8$dRU~hv*mS_)f5iuJ0VbI|H5AKRTnyzi9L0 zt1dErGyWXev<(#XZs#N^-yAq3O8Czmuikx+|D8P=%Ka&c#S(SpOQd*aTKaOIv*$e} zcoT&ExnPUW8DWAyNg{H!Sv&YuKtf746xFjdD|~ZDsz+8VHJ9)~@>Wx4jnR}$+)CZ( zPIaQ^;hEBJAU>YAOr&83V5g`5UHNGa*S-^wR`~Nqn94G8t0Y{RjPnE6EW5uarf{pt zF}p15#+PrHt75$wHX~kNF+)NbXiRF@+xZP}+rGpTHV&7y7!)bu>jW3RqMxxGZ7RB4 zqhlHKu$L_kc)qzZc%42Xahym1^&$DBp&TKf-0FE#o_g6@m`i@JVp=R&%B%enJe<~8 zpSRm$o2bQ6jBR8N+Ae~hFAG)4`qM0{4r*BsHKf@Sv(dksATbpdA z$G>L1R&eKB%(A#0ZV%HNRaZ?#UCbAqn?1x5S0m@XI}Kp4gIrNTBqp{0V~$h*kFZpRnonKZqMM-J zz_Hf~N&B?3x!GxzVjTA8&wt7(eRd=_?K@DtO

P$}99>2)NJGHF6WnsiMZq3;-vJkkk*zWtgN4}K0qH;oW%Zn&@H2@vP`pP@vqiDi1gjTY2T}Mfu(?_GVk&3 z3L3w<^bn8i&9l*H-ZfPmE$J4(v%P6yI%K%oa%Mlw4_6I|>l3Az1=JmH4EgoZZNV_r zdHVU!V#)XZw)4OYQ&cZ#8ejOWMO`-&7%sl!? z_1=D0_R6i=c;}~ptrxEM*`D!n+uMPkP4iv9%<^uc{2g2Oq3wTpb)TO`AyO;G+~rS7 zEY1?`2`zimk967)(LrKs-$z?Nc~}yPR9F%o(mk{$7Ed<3L!&}zb){B3-a-&f%0fRt z%E2Ra^qMZi7aIjyifaPz-D@r0yYsH4`h9_R%1_juj%FHa#~-8DU8g=PfQQ?qOA=^C z&#ZNN@-H-A8)Y*@h1w-Qs+GktEMyI3EU(TWDOO#&Pnb6Kd{bx8tc&%#c7^`|`m9JZDdW4lk<=H~&w^ znQEpEQ#%p{`%>d#leWY^NaMZZ`6?c{Srb@QOMl9i&XfE=#V-}0_<5)x4ZH3)E3t^T zI7;u@gWD5V&0X<|6ccY%arGwMp5=Ye00;W~+5FKH;84H%oImP@4u(=H%5ePQeW?+Qek$6uFDcYl>qubq#fqA)fbH@`KUYy-t zrdW)iyFZ>$z^plNt+8?|Xf)M`Jg^mtAta<3%CtM+c!rw)*l+>F42b&`wpb)6R?VYu zN`svO{B|K`*JZ?XjC>ca9rB5b5q>f>PQ$gTIeOOeeu*-JOWJx@@25RhuEL`Iy#9Ek zU3)Z73$g0$&?jpGy+d}vD&ul}&(D87I*1o`T_mRK zEWT3DCRpyR1~Rpf7o+PL9lZ`<7KC5*U)C|q%sPnt0%l&c-2`WKi}qNR-vOJ?)!9N1 zw#2d2pG@F9{9L%YSO`T)X}LdO{hr)k;dk5RR+}T_jV(b6E@JJ4eIFU50*#m{OLYl} z*=CVAc?ch@1=4)o`E+*7V>N2k;?f4g^1P`Nhy-4&y45xP{F;XO0nY>}6?w#Ud+sMGF(f?1vmfiTe3SCsjD}ZtPkO2~J@OyJmk=c= z&fuw_XFhSi2{jC=n||14?T(H}@+?J<6WW6L9l>Wagbpk&hAaOVP|iK|3@H4Z7g3`3 z8cyp=wRVGfr6GGfUh%dNwQ;G0k8GZO@r$=4QYx?O?^(xGv-*7F`sn^oI{u*7klwYSf z3;J3bQpV}0dv6u9M6KB@B!&8(?~4`?8D9#^d<2q0(r*kg@!97215RZiQQ(mEPa$A2 z1Wo{b4$@BwJ!+Ao9N$lr3K?sE7%ln<3J6$q1YxEEWfR2mCjJ+0Kw_bRll`;X6vv92 zhuzCZh5seXgCA~}faPhpT{>`}mwuaHfXAswG5(+3?aHlRF`|Fk5f!276AWEpD~ z&%UNC-kw1bB^q)vdrd2QPjvh0%e{{1$y;OY4E*&NL!7yXKm272{9Vj0F@@JVPPk%q zCjG#QG`7^2##Xsy_Kbb#EQl^PD<$s_N}OWmIqS`<)2gfg)I`A4#m9LYu@xN!Zg8JP zbozE=$*Zk@hZ!!c5pXwa6p`E)6wKFW$DP7QfemDo|21|5vpwlWmR&kflO%zqBh=Sa z>4I8qA+^GmCAuxrwe2~h{;{lek|Slni*=N)xL>zOAbYs?>xW|oBcr2DP@fnKX%$k_ zkokONA-Fh*vBIW%#m>9KV8i_1fCr7X=NfxSnYU}1UO%d}k5DAH9zJTe^aGs zO&O6IIg2(olhGoryqhB5;AM$%)V=iT^O9J8*1*cKFHMz1nfvJ=+XIU(C;VC|IZ1U@ z_M7>bapYkE5oqf9>AZ5c9Kvyp`)K79X+?su9c|OO=Y0C5A0#r}&>i8g5HG9X+!39U zvg}c)ox5J3Z(N^xs1|3z&Zu6?%JK3b)`E5FVNyH!j8TMJsBx#2Ye7?q{iKb18*b>6 z629Cm5kO%o=%OxyvWg4p%WzP$8-X7hQK%w7HH5ta(B#j+5XZzwDN6qSY zai^A=IN{h0LK+~T7o4@r2382?r{gD;&yCnAki{SGyEiX?2H+Mfc25^=naz^&~ z9a&5ILU#0h?IX9tN+YyFOvqfvL)Y%Vq*xg_yFROr&d-K7^$Pvl-P-UvGs_Di)OE)_ zCdWOC65%7P4@OrWk_8l%*0)}M?TI^`>$y$%;`%jRo9GgqLaRw@)9QhwiK1Y)L4qz= zSvnOgjP;k=Gr;)R%_H(v^gJApVg>h&CuG7o$g^o=L&q}FKV>qW1zC?)1^|2@@?sXr z`zLcg^eQ%`_&B>P!MD+u$p3~vK)jhpxMd{mnDu50Euym;Yf&zy2MWB=t1&<#5{ zysNGteZ&H`D@S8WfHE^x?|O35dirY}a7BlOm2Q(j$yMzj`tN&1);8ZMG?+W?OG%{jVn%)WVn!B~nytFD zZs)QCJf(d z&dBgrG*3Q0OLjurIMDcTzk;sRC|vuqFrilSq2P)2 zjZ(Jq9(!h^hF7vB{jF>*V=5#%cdYj_ai=v@1$5pg=`^L`wi@xi!d>lCOx+5anodG@ zhBtZbIapG`9KSf+4XYGs^nH$^Tms=BLRA0_Y?vi)1ayjFi0iDNz8vzn+v_i%-?EoG z5Js1R@Hio)x4p@23y>=RIdD(^ZJfV^HUYq~|LZd%8#c1Q_^G9!3a>(CpUUDS!(ADZ zC0v*t-yd%r`chxH)$&gXp!RUN$9V24Mu#N8!r28K>Em;)QcJ!jyt7QJ?N@HDzKMcq z%D)hF6x64=uMq_cSjo^wnt_^c0pA$9oKfn(q9<)Af@v%G6PYHhupWAR!=w(-r_`4> z`LRF4nbOUg(p$EHv5l6iko!Zf{S|}T*OwX|^8}8@*l7<&80wF_x@T5VBPencQC&$@ z9VllHLmgwEF>Vnojco;`3orc*n-cgIax0}GY(%KT@46aGrp1+y@|DatDt(9<2I1Vs zL%ezVs5wA;Ox|=sBtP$aP_2n%cslKHHrtneaK+4eYEmD`=V3P2t|_lKKimH-^n#U> z!Pk~2FcCx#OCdMSRK^=}QD5TF2|I^GY4Tv-_`Atft0DLA{nF=jh#Mc&%DAdcv9nZp_9IX3k#lIP=+Coj79=E7#D|_*esng}OJx)q zd}!HYzBK%j9MdCcE3c)Ipo}f5_hXazJspRlbc`?trjNuOHzwWMF1cpN9$N`aOXn46 zKc#5wqh1@u5*|=)O`oTH@b_hrLi;!3g+BL_18!_Z9SI#>^rB&58S-M-1Cb6Lj8#B~ z03QMqID-(?2wYZ{kf#mn0lY&1j=)&%qLkSy6=i>4s?UCRQ@&*Y#szYl-vaEM*fK*H-Lv5@Q_z&UMm$wiVmgHTJCp zFdX~>H~uwC#cJWZQ}M}sH+_nEk28ygYkNy|tXwzlsx;y}FZd?o=SJ$tjuI1&rC_hV zx$yc|pvveVmHlulak_B;P3i9GV1K@lFXm=g9V&I#I-Pem zzYS`hgpQ8PGRR2~KrgAEu$z3uG7L8@&mmOVD zEJ2W&jUZT1n-vsxJ zP)snmM#R9o1l@BMFfE5tn!JKB4Fgz1KUL9&a3-b6wASblc#-u=adY$f{8^{|C+bgkQ;YHJe)1OU&HG2Bv2a4|OE~4W`)^!rzftQy zL9>pi6t=$ZndLbX^DEwLZO}o3o?}?+8+&9Csda8e|hl#lrnrcQ9M@DBf7)a6r;Db#pC~- zl6`L0kxw>drJ1T}G{x649MS{xSXY>s3Obq^yh}uC%Lr}b5|l<* zvU3>UTows3I+;&y4wfw)!;7aX%5iV=5=+NKXG(5swx8C#?qPCcw^TtRZ}A)F6szYI z-|4)?I7Val4iI}p$V-0@uZ7g2bxS^l*OPG^kmY(6#~coCj{! z3?&Uv)#0a1@##=Ede9SOW8I`9+Z$g6j11foAU)Rpsh0G;8c(s|&(Fba>v6>X>_@G@ zEvgkfb-NaE=W4o|#~Qu&AOe9RYEPVBh4ia!BKBuH|5N+nO7)af%=GhpX^mo0ecnd} zQoSQDc*cY53H9C9B;VsnKHOI~Ly4io%+0Iz5Qt>Lj!&(@`1;MuQD9CcUO{iE7+HkVQM0oE6q98_WV zaM(&4UOzM54YrRC#y2PB5S`>z&|Sv2w_-6Qa(v~xOq-kOxNy%b!#PLmu4uh;mf4GU z_2|QSSZV0@z6lg{TGqP!esSqA+)=1X*?d1hVFRFbJuo7L(@Rf-j)rFGLKN1KK0Dz! zKg=+=#l)gvhl0L3)K+@};fH+9Hmp*-tGT~{{sus!4lpCt0R96KpdwM*rSk&7c?RnN z^KsoX;INX$sl1T+J=J`0_m1F*_?xLwJkACbz#Jh74dDI&sb-LL$D@-^paW3XS}I(x ztE+Q1uk;i%x%8(6!NISX+`-UdLtL`7lpInM(;onDmW8Gs7&sB&ufzh>ew=OR&PD)d zlAgf}MJvcuB>$fl0QR~&oXxSBwMu9e5<$H$)E!?Bvo&RpuDvcxys?;n__>+;yz(ma zZ3gt}&A$A!XRhd&ikE00H@qD}``=?L#(Bp%< zyGYg-NTe-~0g3e?1y90rh@8S%^R7{ul%)tJW()nPc~KzR5%!#^k}|gMS`x8oBV7ru zRJ!(ksS~rY#CwktF0N;+?^*`lIiVXU8(+HF{6=edTYS8mgMdKjg(uY=;~tvyFB+yM zyG0`OBl`PVM>jcpW$%~rG7i|1WowmIvd~n}S3KJIEdRr<&>vfwPv2jwBDnmTHhR}+ z<7tIH{S=NP?vK-+IOSyGuH#+a;-n%zO^k0Z^wfP#Ok%s;gUcU`tJDl;B~M!Us+QiA z9A=y1z=DvjqZU1K&8jZ~3q3StPUwKWs`};8^U9)~rgSoVb{EZorQX^gTC>9@h_`2fx$WOk$Gcle}MtTHfeG>$yfxr|zM7-!yw1fM=_V z)#ytTH&ajek#aVq^DAAuo7tDAW`aW@Pnq+`dr*3$eR_iXPl$^SmA9g_z=_DEQ}l{n z_TPX9PZKIZP|blgbT^TP3~kR6N|oV9rQT;H>1*A?X?)mq4&khVYTe*rfb7=SbIl%l zS&K+>uG+nNoqH))z0$BSQQ!XR#nFQDaY#=vhT25QXcB$e)G>3abKBkG-|rlz?=6w~ zmgS-P6USP}+zz7DXEmO@=I0XqMxC?DFg3EQ5RICVIH4HNyJbKz?a?#b45zemweiO{ zrgd1odY{y+U&DzA((M=w)$IGFczdp*zsf|^H7HTDvRogmsA#QQlsYvRdNTU4RN?w$ zmL%h?E0@-)ScL_>Xd;X~l;@rk5ebt|OB1BCJPn4@-ld4wZht&FYV((;VglwMIaT;L zzwb{TPV5p&&2;&uOf8R}4k4pQtYqisQ z#(?{_G$;i4b}$b>$hJrU<1+Gq66}%v$}}g!Aabb&r_u7hSLkSFl^^GVLj3rjse7Q6 zL8c~^jjPn=m#FPtYgsHMGUz5>M!~~d{bE5pVw`BSsqVud=~8!O;o!6ONenkj9+~z# zLC>~dYNJcGjO-c{G2Or7LLqQ;Bdyd5Dnga7y>Wt`5hqc7&GBaU%!o``9cFqO#y_0s z4n6YO$9I*28-w;apVA#~{#C^szQ5&>ViS2x>n~b;2u4d_V3}=<6`}-eRkhI}5l`mp zsb;0$-_OIZY;K^7`8zSAh#=7q-O`h)p})uY&wUy58eFnBP%_I%eZEl74Dz|E ztd3G+sc5<04x|ZpS+wj<8df7O)(rX;s6Kl)C%)d52ky?iW(Glbr)Lym5|u4yMuHtU5f}{FtBq zn{UK(_z$_BQAhk-dDSPw5{mXriAGs+w?W%!!KJI|y4PS##0DV9sN2o@Id>YEej?2% zcx*_76DU;MA>pgqW5=X>$;rrVQU{qau+s%w8JwT~IF6Ek+hVB&$_YmQC+T$x2X?l$ z0b5N-IrO}7g`(1oOVro&xRdhO32yrcmlGYEQ1K|CaQ7*>lATu-k{JP4F{BB0JK-TX zRrWsE{J3U4O#XBLbZ3Q&VQf~2 zG{U%?rj%@xD=9`}iD@_;B!(gydUYq>3}Xzll36B#mkG^u(lz_k`W$#DJz<2ohrf=P z1g;)95~#H(vlTx0!{urls<9p_1rz2QRUVj}ts+{%$@+$|DwsYf9*rv*(_369%Q*f!5R94CZAQEMf zH0KzDSvmFk%t!8D{X96px(~lPj=gG!DF*C!a#)^riSl+WeW=xgsJd()EhbU?^G|xd z3vknCoKeQoU|g*wu+&^l9uLmUZ8Uz*$`;j)VSSR?kw$8g=5Fj3uS;EZg%i10j}f$x z8vO4ASyevYoq}fknb*cOiiyfhE76az5}jXKiPqc?%4nufD7U+dpJ9|JefCnv;?W>g z+okZ`$sZEKAIhS1Pei8u=2a{VuGOe8WOTX6=GnOiGup;bD}Vld-=ki4&iXC2(x0%Q zxvY&N6tW>6?6ZFtKtGIvp6T7s(%13}Yhp1j_I3zltSJYK^!i?@rt@EeRtKZZTrE3v zHjtY+@lHygWyqxf#swzSSx@$s`;f3*4-b#-IsJaG&I`TA)P*zLD9HH*Sqrk9DN&eh zC@>lB4r(qc!h)>pFHnaesavwyDI(uLIy~mt%3rW~Zym(3djAqFPzy^xLVfKi1wlR4VStMn|I@b+|h+T$f z(uCg+N8Nf8p-^C)&bKy3V8T0Rz9mAX^#Wmb{|72R*jg}JL|npLNXr>g6BI;@)~`VM z$@S@&5$1|-&pF5&ZI!ddZj|d)QDC__Ib&U10dxC!G+exZEVCbQ`6vziN=pR1tZZyf zh_(W}!bp<_zpK43fn^uEIZG=krs8XVh#nKAO&N=q{t})})$*gV!JTXuLg5ZvjBS1E zB+J||IG8)zpI^*vuB;=L-Bn66wEjG*N%!vo6{2p21;9pe7sc_1Rmx9DF&6SWKW>=c zdU3h>;_r8hSOh6;ahU-tWD%ae#vVUc(>f#I_mF>YSc(z-yK{B9^UFLxHZl?yWV1Q- z7QIs37j69WR9#2Dp4s7GC4x)cfFlW&_P)mw6|0uHbt4aHV2x1yy62It8vCIeN6m1{ z-j=C7Nvp;U+G~bO#<`7H@sh1{t@4~TVtU4_WC_-kxa*T2UzNotlnH-x(LLE^2oqCv zxw*Ega-{Z0e(qbHG`Gf2G#;bG7t@{{eghl${Z0qJ@07c(JBhI+<`d81-e>p$DnZ9aQ3foou8IRo}wy52);f*Sg@d+g-i{-#m{>Dq*YG>L< zjSK5p)IL`YM*$|ZV^Kyeq@lP%uD)YiNb}XHCc_`!0`j!s=loN0CU;8@yZt;{$)&ux z`K6Je*``2b*K)j* zIla@>tMXf0>B;*;|60d*LV{@8577S+d8Go7vlRDI_n9{_<})$lms`Q9G=!VYK~}l5-^SmePHU9Z~^FFOlUl@`0ueW z4PTX&u>yz)7e~yO#O9M1EIG5H~dFn;#)kywuM+u(xC}3*+37~^ zJsb5;N8yTp&I~*sbf`x<_`IYI=kJZd8s?CrRNWTh^80#{Yr}$l(v;!HAIW|$+9yd} zGt(n*?!O%@BKq%V6DK020lUWA!a_`Vi{hu&tBZeYbSM=wL*ob)-#2>NrC_OxdydHbo&pm(3 z@Hz5}9&F>S-)i^2s>I`>r8*0>zhMzB*+f&w|Dh&PPE@DVVa89UUJ{X9AvOUhFHvXe zYODq*;LwfqHU3~r%&d|g0@zU57=(Ar1EvK;It1#uH8Q&c2uwB+qXM~t6CfzS%d-f> zC-bmm2V|xXEbjI{bIqX6mp`8ch%H<%TJ>9wd6DxS_^R3gSJ04$H-j{2g9OJ56i}^e477T4%~{H&lnUHwVLA{dEL_X1}XmoeAAHNb>slWG1@s+xJNBk4>ww zR4=khlaJKMZztdhaJ2LmJmi%ZdB1iqeWfI$wv6Ytdj3n{b>+GV%knIqFjVVfrkTtf zpd=XiUmPf@vT`vab@1oAO)X=bNLo*PVcA+fsICy175oD6jfWooM;`Gx#*Q7BxROI_ z`<^g7yMcZK?W-m4wULDAX1jF9%s9-+s5>at5Y~qw6#&N7SA^k;=A1Y{V~<5P1Vn|8 zNS-Zu`}~MHoRyd!3e%Hb!)`P(8TV20So-sa6UlCB_!&lnT+HLG`YBhS#6Ym}aebDI zzb9OMHD_wK*>P@c7;&i*;=n+XlV{k@e zV%lO6)Lf#4jmfiKprMy$G51lptWSmRSUA%ad-%fzO=cidiP%3pstDO`f(*$r{sQNy z&$rZ2-+Qy*jojCr%hypuou2#pthQp~Nu(@CYpE6^4+SQfO7X({|=rkxK&CJYlmvK#~Uo?FMJQGsl zAcJ)zD*y}!3@}y%HG0UB5W*ryBtsBqY6hxwoFEj5%iY+X$p=sO`%{f%G2>@Hef{E3 z+vcD=IIreE^?>uQ==^8ljpzSZ>8o-LDZ0CU`>fJlF?@M&G#hN(?EYW8#j|JK4)t?k z0BBxB9QYRYx_2ayRO&+Qq2ei6(WoWEg^vnt{4Z)Z;Jk==H_ z!nI^Ue?|q9F~lH-_;?VF9<(*U;e!hdHRux}9w1QMH(VUfD4fr}{L_eyu)^UZ0u|4H zv$Xx3D>0u11;+UHskTcupS^?}cAkzGiyd>pchD(pg{$o|N-O({>l7c@Bm_U~6FZGQ ziI6W*v`%am-Quhmdyu^L*O`Eg$74di^yw2X%Q#PeMGr4;4(!lwRrQH$3!iS`n6+Pb zh!^8ZoUJKcF`81|#Alw8EO+QHD;I3#jE_5eN`*zsqArPl-R$CY;U~l@k}O&R{~cx{ zY<0VgZ=%Z9Zk~M#hu|5Dlf9LG_we=!t<+CoE`SQ`c>mQx&s#N886OJlKnPpT+vh^R zkW|Mgib1pVyq#c9h3I*+y;g4^fh5G&m2>xxcbASKOfzbLvl;(U3a1Xmq}27?{CsIP z?~pT7UELVzKz~89`;P6B;Fd?^agfeQnqulF4E_Qj(*YA3@zeb$7p0^7w&%LCi_53t zmC-tT1-W7jdU;beyf<83X**%h52-5u!(k-Cx zKJ&lc&ohpLo^$rS*S*$nO_>g%(uOI}*^@<22$NRtl31-$%YT-BNeSS4g(9j6&b30K;JL;T% zFVrf@ODPudt=MiJx&#T6u|2AS+t0^q~nF$fC(s&S0K%L!Da~>dmEJ()U7Q z8H;wE=$5SV^wT0YJ#rq&ns{3>XL(H8U*$S#B(nLHr!)QMkyC#|le@PM`nxiRyN{Ke zJQn)Mgdst5k5REhAJci;HC;vj+D!J+l;5B*TyBWU^xF@Pc}h5Cp3nQs$;k zR`b1oA_Ss>0*JB1Pg4(v;pZQz1xF0Vo*d2leh$G^+z7($^n5>-Rx?33f&$%FgM!+H z>YMIdp|>XBf&fGowS71y;E`)j?|%XR6XdZ*a1Ev7+n=b<7(W1iuQH1xah#sc0jvFx z!t5|tA>e>2(ZlL z6T?(K2mnU*tDCu?hdKGvB&t$~%mZEd`xB`fj+zc2H4}t7+sTNLD?u_&$IuPMIPlgA zYI%T4V%k8WjsYDJ3e7(^Ku{Ro!S@P?@C+Hl>oa8<|3P1Xf3+M4?v!4X zVjv$18FoOAi!`uu{}-_Xu5F+0$`GZ^Z_mNHx+DLBeWUS8vj9F`bV}ms*qF)9_&nKS z)@wx+?lA9eP4LsRmG|n}FA=9(94%&d&=BeM4n?1rh4v!C>_E}Rrsx!nj~MDR*)siC zYTSA7Cvk%Ia+G`XQ>!l$k-E8{AM5lQki~(cl89LS#V>GaK@z@>cad1;`Ir|8fV~XT(Xk`sC0r}B5wum3Nu)O0 z+w`NgrX2weG|{o#Jkpqpk96Kea2hnjY1+R=GnYmc{n&lK+XEq>5P;Km0oOPP8o$mF z3IWGW{`s8|fW$%SKR^V5!2^0WfPok1zlsLnU2H2!Ux)nRKw<}<6R63Qs-L{x>^0aa z0Lu+8L-#Vc*+48|$chW9@$!84pZIS-HR%MJGw3#@z7r&3R_=h7?@*TA{O}ASI)XC? zQax90$Gq9Tjq&{#TY$JUTX2hCk(UQ^7Vxp$^`?iTW^S+jnRzcWyVSk|QP3H&YStBw zq5Itu17bl!VMCxAJUYt+gBu8VqmmkV5`b0bDaf9hgSw1Ow2qqjqI==S8@_kLxvj;$ zJpMvE18L&_s2-9zzWJhfuqCd+Syn|!aLLlGo>qKzyA8XTSjVeB=O&B^pHNLM3o|1F z2CgB7NWNF#cGue43iaN{5V7=ZxPkwTp@e5y%3XEc5AVM!82iwXMbhhEfyPVNcug>d zk^E+-S)r;bw)%ifDk&<+y^DdVG!AVL`XT-Qp6BZX^8|3vZUqiuJ*sI1-&m*;A<66D zrx~E(&ezzbMAN=I%s0!k0rj27zD1#?h=lMTrD_zaWDJXMOc(3i1In^rW3?=+%{5Fi zsEj||b}q}YTTf<~I@GeVXDTAfAa%6kXtbVJGtG>><95mzGW6r7=58`5FKn2M43=5O z3(Q|XntO5nMeeKWHZSsz9Jg!a^Vbw}LL~|m;ch$RnA2Zq#$DS1_=(1BclRD2edlPL z4~#4%li?7wT6qoF40~RtN^qg6yUn@e+|`XOX(T>FqvoT<_;g|p6;=Z?pmeh%RmbMH zE_<=BOX90?)d@>a5RG*nxxDN+U?nhH7bRfjVlWK=%DwT=u1!j(6A}7 z;`@O4e%3s}M|&LMQq1;A!3Pu0Cb^J!Y%E#N_8`%I@UVlOTZG*rI0+eo9Yr9a3V8K^ z&nzf`4jsZkf;;#rf0zjjnh?P0D4pC=RJ56+dkp?6f~(GtfKb6O$(S+--Hw5(x*rW| z0Qz6L)p`-_Luo_bmoHzS8gOvvg3XCJxbciE3Z*-(-K_xeAN;eajS{|HDyQW6}!I*wEN2l&bM7$1`ig zkjDPs3!vdfrZdwbA`AQ4+|BTYpqG(oEW@LEQwXtODgg}!eg=lcPHLKZaGinl1)vPb z;3MmTCLQM2InjrU^;qd|L5J>!ek=5u$QPpq+iU1&=Kzu|P??`wE?)nJe4}6}cU$W~ zfJQdJQ5AA65UnfDU6>Q{`$mdZ>h628CJBv?|BdhZ`k-D4+K1=m(SYq78Zc52U|)bA z6*|g6nO+ag4=~-CfrMwnK}GWk$Y^w&i$F&%sEh3c)jV#XB_x*Z91^yGIfLqOH~82G z5&8TEXRK%XrLNaDf3L{r2zw0HBo{FDCL<_&$c}DbAeT-pr&>`y;f^VpXo-OLlTc{p zO0E~YB7w7~A7Dl3tt;mZNte-iFfkiYydg+=vY4=U&OVKb-BE|r`IWFp<~Om;_pWs6 zLDj)V(hjd;T%C5#y`vdJ2W5EocjfuIA~LkS6*RZGT1UKVf}3ExT6w6N8x+$oNV`co zt9XVd%MGX9Reo_xRd&J;FY!h0xp2^(wWO%-CHm9WB4TMgJBFN3&P-3(xb1@g7H{Es z>EfKxjoWaWPjy#SCwu7KZ00-BPjC@4WW*E>?Rl~!z#S2EW|#-}#mPmQu{Akf8b40( z2UW;Dbps4&ocmM5%ejFxzpY5Z`{DfrwGC$aNCSg zX=-V$gSQX}1mFRa1ko#S+(ki`shk(&j=!w;YZMJ6(fgk6%69HL081dmkmIagS0aUd@M5FE&ebqz7A!XTCZ2)Qdm@=W=X(nqy2L? z9!*&p*lh&vJV&k9#v)hq7G{tCr5l`p_Am>e+kG5`gQ4>Vu;PPP?{@?N)xT@Plmhi7 zb0%9;O%?0Yr$ljs(hT(R4&eM7(85kIr#fvWM5kFS@KK6)L2qF{?Rc!(zxZ@ewg0v!-aMbuf1npUcKMJ`Jj33{8%%R0NU3mK32$LKt!1*)!$jomN8 zz6Di$d47fBK{GB?MgYFB>(5&&4mz)~VkPm7#yy?zyGwW#)=z8JJL4W^VQnB~5m8t8Nh-MXRfk6F$GBcwDW5{;0``&G9O-qX*tVKxBZES0Jb@*0W zODkf1-HgERWwuH#!OyJc{cfguX2QI79ahz{xq=sgd@8&5dg&1W%>!6;qrpQuuy4++ za)-_7R)yfdgk&&v66gK0^tPsL_p1VP3cwg(7EmO(?Lgrz;!Z_Lt`fI7oNp`)*^8O? zPDUwyA^DH4eOJ*(y1*j54j-Div{Efj+O^wMK$n~8ok(-hAu_9hN z{uOFhIboo)iJxU?rrpeQvUQ&HZT|7MQ9X`b6w^3pZWT1!pa<-~b@#pm5^AiP6)w2< z^K6_)RT|tZ#8D#TRe}aVrtzHTVc!huH^%?|9zOxIaZSTKs8tbSdfA90irnrR5FkdfQd8#T#us6$iOY_QHf#upV>;} zlrykN*#OH|S)j%MSZ}OT%sRsw#2o)b1{Ko*wY&h7iOs9$D%~q(0t$oQUUq*mkT^*tXu0oV!SbDX@0^10>l$k{iuz1Lt~N2%YDyv-yimez`j=)1RwY& z|I}MpaV@0fd2nAvI=n|yro`iiZt$1Si2F%q?p0Oe1YJQj18c zqZOVV>3%xQY35Cd%*!;ZMc4VAir!&~fU+GZyC#IJhWoy@TV4~6e}jO?C~*}ZrmUhE z=lDH!ER8POexuA*D)*WF>zf0EN7O1?1M-jrhwp(EYS{4lx!^|#$0(r%Dfz!9f! z22}z>K}2yKBu*hR95BOxX&-|6LWxs=a3T;p&l+C?Sl3J;w~sfs@)mF3lKs0h`4<5a z6t7^wm1GZ5IiWmP8{qD2g29j#+^fQXjsQBS&4IJ@zg#zXhB~hUdQYz$7gf#ul{S;S zfOu>H;u7<~b9LML^EvO}(_S99vmU*5i6NKB0J2-`t0X*k}5 zSv|J!)cItNNKAUF=cRC7ZYX1xHF!ypqs4M7yOoeg`$Jcs?x;v}9LtbM`fh7#hl)On znjuo|b|C+=5vDUTekFLnwd4Mr;7P}-9NMq@fFHjcr5RraZQh9i(^0Zwaq4w(1QUYl z(DzU6=OUbSPAvJHphek$J;#$vB`)D*A>9RYlLaev25?s31?>K}{cr^eL+_Ex(zWTZ z7%c*R={CU;ncR6W36opDgi8uX!sJe4{K!U}5iW((A_*P6Bkx=m!Po^d!J)Gzk%Kgu zCU=CkOWhnL)V_3Tnq92}g8OoZtT?WcY@o|}oGM51zfHh=7d zH~Bu%zdehai+{W#=Q8}7iLlo%YiZ@AX`@d)WFvGWj@Q>lGPRm-T}Xg1hT`WFx;QlY zwZx{<^Ucxav{~G8iM^Isd%cJGF|5^VGlZ(p6XRpbU=7RQy>c|Y8F^$>{7w5YoYjuJ z;fq`U=CTK)41!(fjWZu+xLzUMxQmPw4Uztxns!E%*)6&V5m)z{!wz0<&+nMa&HFWX zc;sh3+zV#BeGz|0k*p!{86>}AkD=b&Re->^uui&s4K@UiacA@j!^Hpo08n#uAK<5B zhrKZ(#S^{22a1qM0l0MoNjCO$2Wr#+@^L{^69vTZxeHv!GKqc=AM5}#s2N#g*ZvV0 z?V&PTurdTIeQ7mQP#y>pyHdaJ66$b3m2FV@?{U!WoG{e|EBkaoGeg1dvh-LMK>L1kL z4AdpKh@q6( z3){BcHBI|Qtr&@=RV8LD8JtQ>L>~hST?vfX!}e3>$|bIM^?K#;Up(_?mrE||E;|{J9B9t{2HP8hH>ZDea%*n`a(9SoH-~Tci1`oB&TVN_Kf?qAH#l0^ zrm0xf(`+jo=-lo1$j$>MYo|WZ@7PCqvwDO9d*6`^4mYfzL`X!uArf|EPr zW9ty{+8qUNttqhQA=d?uxPGQfzNRP)euyfW+K3xVH}`~OEqeS4zas=;4&4+56%pAr z0fuy<`#Ew(g^`pbCg8Io6;Za_Ok>wJ*%$7-A;W$dwbNrt&O@ou3rXa*n1Xo>GiH&S z3WRP%{F~CusifEv1gbx;;u<)pSme6~+-w_OfFK8Kr+j|oN#1IB?306hzm z=IK0kxnFX7#o0P;`(9wqOXfn2>Zw@zy;(rK^&9?`YvDO3$SD$sXv(P0EpD=Q;-46s znt<|y83uDlq5ah&h)9-_rkQszXs~$m@wY!L>=dTcrn|Ff#QF$0$il_6ID##UbzKJI z{AdH38_FLi0BZ6QxLUpp>ZZkh#PTt$C%KOP^{Oxh>o`~n1DX-av~pb9UeAY4q5`3!u_Y$DrodheT9a(pMxOoW|tJGAj3lYTH02XC)b(KHjs8ylWrxqWF0fO(;wyV=LR0JHk>d>tIZ$u zo?Ij0uC(E^1M1@et%OQ+M^%E(I;%w68{b<$I?ud}?4wX2T2P1k>wEEh%kA}sS5GSV zs4)nj>4&}%pW^Pw($GqAe4@rbX=owEwT(QbC2MpnR7E_>UyO1x=YhjTjVC(yyi2vu z6IFhK$zyMJ$yyJ&V2nvDf4AlIR%I=7r;zW4=iT^Sm6KeKO<>Eds6kWg-NN4p@bu5j z^0m@9oY%?j)=VsBT(&q%StM@X9XJi#{~04kutzK~4L_A53Em)LTpI5P*7+Lfi*OQq zh}bqW5X*oc;+D|3jU8Y(=9Y8t_M-eg=ldV_FWHf6e$4EPXv%cK2&=rN3kd$>;dW6B zc^!BY?xSv0K24x!6$AJTn_EgH=GvV-wJAEPE&3Ds zrOSfh)&K@O$TnH&yO5=j(j)!g?VV3-=x!a^A&S;-7IAZ56^uM4@1m$>7|ZaT9c$21 z9rmi?U<%BR0C~ioT|VIPe$={G$6bUUTk76$l|~H2MSzz^{b9tCr%N;R-`IJ}M_f+M z3!$dd9{EKs!n+qg>#Th%ldtl>w2C;Su-$v2V^2%__(TY?Y#lvc;ATyz9`|5lmp?C; z7|g=y%q`x!iu7RqTtggL;%8Rgih#tWd2Jg|JxZ?T(;oU=C~2BZ@#M)dnw!&@=kid% zr5*?C^J3EF{J3oEEZ)~gP1@m;o66RwvC&&`XAD#><=b-@;8*6wsS;6n<>E-TTF%^h zNzP%R<UC{Ej#QYYG4&f|k_aFwUKSV?S=x=HKWVV_fH`=SE9_MFX;B^oiGy zr2F%yK&W5+(ZaKHpGNEV$DFYv1vHPl`TLMb!aAZ32%}wzU5UmVG=kM|nJ?>XY9I6{ z;*v?lVQu<~LACC~kg-4B;b7{86T1xw4w{)k9$)4o`9C-j1Dq>oweyxncTNY|}kM!CIZ-eX=NM zUV&KLz#ECBq4UrtrmmLp_Y&|#fIL;~B?&!R7_b8;|E1iEq%ti&3UwE|qZDS|RIYG` z{o4ivjW^Et$UsvLC0~!T9aB!^+jZH*#7ExW2<#svx%nqLPSmIF?hdNFi+|mrHV-n($9Hyx*3rIZpze2*s&I0JQEn^_T5p_M;%X_ zs$MN6ao=z=Dl@Gbr(v9@$xv)_r2s40yJFPjVeL}U?B@P26*K#{g%0Lm(Qkg*01_r5 z4;RzG2oPo$`9e?M|E?`50*e&0;Bh{!{T4Cxcmky$^smNVY0kcoa!X2g+M3+>IwbA8 zCSw@bHY?!Dcy(K{Bm04yPL5xD^RV^aFF@>lKQi}O#LJfQ#-?0*LvT=?KvvOox7~4TAUZ&Innpusf2taSl@gtDUk|$)n$a&OFaN-?lu?#OS0539EWb z;H+Y>h-ntT?Q^?v%b!(fM3@JUYtb3Ik3zMaax%%*L(%tCpyO*i`y;^E*uI1w-v(c> z4Q%sbWc=$}i}TYoQj;}XjXd_lkA@#yI$NsW*D(b>7o1-NE`x9Avskd$eTcp7PDPhs2mkgm0aM;5CbT<>s>`>`segLn?vWjfC9d$?B*5>%~bDf+SP~OP4(RD|aI-)VYD$I6ZU;OD=KR(x$=(Z+I zaU*V!=EgVo68Ep{pNC%(o4*#)E?4tM(Vc2mlP=CD`MOW<@OEVdt9z3r+VVbf%OV{; zKJnw|&EtwmY2Mw}*XFlpnpiR^zT!ciMG<;EFDkj9;hvO!^!3eGR28(!5|E~TGW2Qp z=!e_!a8~Kbv1SQ>3#a=lcegg~$Q+Vco_=lnv_>qK)MU+sKfCb6lxVY;K71(@Pl!T! zD$LT<*rs&ZqA&f|`ePEuwRCE^N2`WDY4{1tnEB*I+2r}4>KJ(ek{b>Z@Ihs%-$z?0 z7cW*6hdi)aR5}Q5`zQB{k6C4sSma2iPb#pEDRrEm5s+H(i|dKveG#rNw9WD=Np*1< z*our7n-h`qh~FfaY-`wBdL*DRtQg1*Z{XB7Wr#+6YO4idG&&0(Z zuCaRb_E0$KY=dHXb-}E2hdK}wp$ol55_x{(5kq71pL@(o4N;bKhrWks*?hRM$LO~f z+JU<$_-$#9W^me>X{P!c{03&WFVFZ)-t`>WOb=MSm)FWH{g4xEhK%knmFl43<+B|~ zw8E*G6^=)nUbe#oES&c$c+-5`pnC~WzGar=`ljvk00A_TZZVt3Mu=<=e#<;W@*96RgA% z0)%neDhR$-#&GdYMGYZmNN@sM;g<7$j$T@Jvng_)l2_0Ug}yzJ7JnAK&^uIT`kRfp zW@j#9Fq&fN3)U36S4`agGh#znY>|jBUzR*mO(bpSj5xM= zIw`#$Fh3XHW?8`zGSOiBs4ZyllaYUGQz@KI;I-dymjBf6Gb;7Ahn|}7@5pOeHUbDR zs5n$ciju}eW%Ax#(01(W0jhKpSkg$!(t+U4_?RLdkYIrg=g z-8gd%i(I2~Lf$sN5X|V%KeeTH6gw%sd*boUic-Y;!w#y)sdBOZKh^VtZZ4`~bi%6J z3j3p1>+Ccvy8Gg|HZj6 zF0ftjNe<_&r(#!!BYWTN@E||w=882HXkn3;Vl$xP3=EQjWxfgS;5F4vXD7br7KYugMpa+)>%AZOu_EhCm(MA^^V|t7 z#2ka!2iH5tp?M#7v_2}9?~7j}bqt}#cv2oGl@nRx)E>@lm}_cEcxVY2nkSA@qjJ;A`fx-I=uZ{<)&+<~^{hkD<_Ua{-^tA*&L_aH|? zb>$F8zHx%Lk!I2peg$3YQZyGQRymDVgg+>TPP*YQl<02QfgN1N?XR4gGwV-J$zUSh zeb$4DjNJ(9QLv{!^nos*1|w0gffX>H3el7Jx!H1FOfPfI*Ot) zH|G_LPm}g!%h?k<`9cN>V8BcKueYBC%~OcdzcF z)_ykqGB|je>ymPy_-e+inOm}n>#2jr_V|F*9Wb*>O z=J`kbR5hm}x?ZOgqr^D%%bF6z&!&p8TxV|jt~=wiG_7^5*b0L^VO%&GY$%};X8ZC) zUu18?kEIH<^Ma6^oSvGJF@rwo*gFeWr%p-%M;MIVs7aFyO##R1tyr;LL1l|Lw@Xbz z3AwakVoYb6^2eMa-@n|V;|&Il>}{nK9%A|3bEOM2Ro_JH*Lqepl6*HPTyvjnXTMp= zdNihFa9+j5I44InO+otbnZ!t0=3Eh;S;zi8_V{`-iNR^SM@(4XY zeVnEf%{I{wMlsJ&bISK-k>E;|^qq`L;OmKZh)Y+EKeiW(MXXz7mvYoxw0;k3!mh0o zYqypMv#GBUW|$u7IL&XlpuXNT-g5450w{6R0$37OU0shgo>qHm;|SDceD{!}010Za zzb5|ba-B-?+hiv6=n234mf^_TZRGu?X`yA!uo6a5+vQWX5%bA!WksY!P1A3Ws7Xza zH%JUm{L#P;0T_-!z)6jV_G!W#9&9?u)~(QC`fnzz%KxqI0>exqd*8NHBOk`f*COQ5 zaTm8Ie6AkEQp{7?iX{vSG^IQRG9`)#qmy^IttMjmq=%;oD1HC$1*kxd1djBG(DFyE zLg&4US{OO*-g>w%ti-CbyN8#(!z6gV7k;RHMzZR=MG!)FdtIY@&7j8eevc;tmDiBH z-y!dDk+V$APj!#4;IZ4CT+D2A5S;r7JX1#{;!q%Oduv&6>Ox zU5UeCDG{M)i*?dRJk%!pmIVTu=C+%e zhHd$OJeXfI(vA}S%&$lIFb;N!#wKbyze}yNd56|@lm>7w&Oe2{&ApwOCcb!$#BJoEPV+FuF{K~ooUsH-09B^JVQ$miGy};Dll$>&Cs~;JFc;Fo@+8* z#Zi{IS-*H)ZbG4Ua+myAV?uSigB#~Yk}#z_WtWnpppXq=7&$S2&}=hA>;k*d_JdIv z%JdgiP@}p%LI|UA0>^<{&~Bc7*x|5^#eU)R+r@Oofs9{57j;kO>q}8y$@y~G^p_8$ zvA8Ckb^6IX zej@X)ESyrzZUY~UFY}mHLn{)?J3<#8?hHD z_B@2p8H@O-H3_(;Yn#=IIMJC?BS- z(+q6JQ9-RR>ai#~bNpgbGtW)lDk_6oYU5{Y0}ttut}{Lorm^);%Nqw}N8l8{ebX0d z^Gu|%8!isQ6S0VYJrT@)fo2<6el(qKx?!Y)a$5L7D2w4s9x{Q2pfnESo-bY~Y;a%X zJ-<)tEL?T+U6=-q5!PE2qQ<{W?hm+;uhSR>--VlSrTOIinhGYL%MZ@QhJUe(keKJf zQT~wsQc8&%Z{e(4ODFl+*cEfygCMqpwD)fzaw)qizsdU-eA+Bk=d*ly!v3hEMC!UP z%1L-x(lOi?s#n-w<8DoAru2A3p;ejc6DxOjZ0$?$!Sc3mRn8weLamjB=M#1wKC6lu z2ICbp*`PajMW$T88`+u^F2j_XeKO;XTkxY8H$~W2Z85jc)C-eK8I~7~&7Lqt<^(x{ z1eZODm{s!PK~UTjm~vsk0Ex8TbWqU^a->jLe+_sLHuLAcUn-2se2RK-ASfHp<3e zfFNTgT=zKewVKEm5&=%K^@$GIR$A$06M_`9r&$hZ3L0?^UxcdwWr0Qy%RV~C)LeTn za3t%XwApQj_=6m!8*0Wvi&1@nortKLKVghzI7Z2M(P8UOwgXuA0^=Ll1V7C@z+VdH z_K=L1)fhv|l}uYW3~iu|IviHVstDEBnI7@gU-_nAwMEB&Po?vSywrm}ThMSRP-C{| z>^0&bl}D9bY>Td5c*vW!ncHXMHXVGGveIEncOS-^y9(aJoy+OQr`#J8zZ;5EwZL6PGW z-O#}~tIGg`7SXuK_Meo2D`B!DHo21VkPmL=W9?!=qB*{eG#VVom`UxV`~C<>F+5mh ziW<8?1h5c?f_HCR?;901n%1e=o9Rd@J9v`6$!mgyKmU5!=e#apaOdXY3Z_GM1&%WSPF^qh;M|q}cQ1bfxCqF>wuh_D z>sb`K{iDuC-VXlsgt~ou_PmAoEMDt1$l?PnwE&fcd;JxRh#F0UNP#_1h~VEv{%Uvn z;i4Px+!VF9|H~26F?ysw@=9I%kJSYd*|`RV%axjaRA2%MvJ?+{%d@0RQhj;XcaqA< zUtVc?s7c`z(`PadzFQ#Jkxk+nhD)h}^ooa8o%9C*Q!boR3JfL>@6OCM*OGABA|8vH zo9##u_v$g6^-~MGl=@I3%|K#+>}T`u@h}K>~|? z2JH&N7^o5)U^(9oe?=kuh4_6N16=T$G>}{|)pAtDGGz{)=DJd2m8~NhF7^~+eVFj9 z!IK^A_{P`A1u)32t*lUm48-e~o@EaiK4zq3o=5C1IQTVd2ZF+E+hG=d0| zYD-Fq5P5@(*NJih`p8I+ea8K&fVT{6*Ai0-zxSFaFVqO7eB!91i}yXd^&eC_{f4@u zdUil_Ot;BkFF8}2`iy1N2Z##ojCjW}iiFZnYXRrjmZHE)jiw zI`!(fOvYH&_s_pi#23Y*6BYCHwoR=lT$ApJ{pLoZv7?eD5Vf3;>5q`e7|&F!Kww6q z3KZWgVDzVz%b~T$t9LT6o1Am)6+7zNffF$2^z zRhI)FYYfBjxV@0Ici*BQJgRq|^8#WlCW=mtc2vJwp34e-fkUCzH;2?}ouaso_(gnf zfR;qChwBt2V?T3OLK*k<6X1T>_n(&hT5Kn^?f>ae11AM>r|oxjov-xUw6Awhkf7ey`ozLJK2vF^>Hc8A|n4#!Vfpa zp2jlu_zPldOpZ+5`M(*jbiIoSX!t!K{dKfi$g7HCxpJoHT7p0FMLE}!L-+V%tX~8B zRMtBJ1JtK~^%S{bu*lcKyAG8ydQv1M#Nm^gZ3Nmzq8+32yTZB&o1Dt5E1a{NR%H8L zRAUZGkI47#cieqsuCJ_ZAGbn92q2gU;6M;-007{@z5#gHED*cW6tI3Ur(39dA!+<*@h4ZK<4QW6GCfB;+rrCBU|gXX-XP;~`AuEmX> z#_w1X3cf1sj`62C7`rfg8{hF=m30k}=Mnx3I2<~dbYHh!i~0kj4=ri#s0VTgUF2;t zg$xhHlRckR-=ZGm_PU~e{*oR;0>+_S%e}vnPJ=ZgA>to4(N9pyq%)s}Tl z1|^FpNxLpBaxqO_UN-iJSdJazj^5nJS&nvv8i@@rtG!_ss=>HY$sNn8abTdAllef; zpX_Ra)B!4tBmZaOzqH)n`8>)WsmAGf5Y9M9c4frZ(bn$k_=>fPmwMc7u0+2f#(rKn zDt}}z;$at^V>LK%_feOCC+n=`+?GAhqg*yjW_iSiB^`O3#^M;ETh*h=XEHKOGCRn( zS$tGD*GDrBYSYWAph=h>ouGBwTKFA1_I)Kex3W0BcmH);EUXDrGSDp z3*F$`-!{F0fa75?`2H~nZufy<2MX4gS2SUo{QENp02WXTW@G4SWe*4uLz!YI5_PD*J*yM9SL8JdW@%E#wbKk#* zmFxAg{J)Rd_YWh45x+u7YZ#yu944;&!(msP>v3n81?prCIy|nl z^q>T}yXGxh0wFp_$XfM}4k~Q7YolDX_fDZyn$N49Yt_?DJI;#;IG0eeI+*RypBMcW zawo_i-bP`?#Q7o8N$0ltc>m-X6&C%*g?%Y5o7A+gGOGC52f0yJHLuFW<*4=!{?jJD1&kwhKI&yw(xf7eO zI2w#f*0S%R=8RgWjUi2AXSuByzdBrMQgWS1`=uV=atFJ7T z6pflw)BOTz7~X0h&$Jx+ykYxr+>lpn%BwfaERS=fcHvVa%eQZTuiXO`@LSiq@&nw^su7q2mmO74@Zntu-XZ?d?%7js69E{d$gv!=>^l&Msiyy|BOAJVV zxGCQ^^M7U(5>b(Ghk1FkYV{yQ(@=e$>+orFCrX5)!hMyI*`$UaFO8m;-O4JGp8u!e z^eA~yt5hgMLj#sCeoJHXPtYa_E*cXcr3Wmh@xRurm8=lYDTgOj(}JHd!0{FCTpwTo z-5j|2V{5i9+Ma9ie9$uojK%T$y7%8)0+g19^Mn5S+yf(GEuw5b$ZSE#zd=jFRbWv+ z0ahDY(7zO6rFZjZu00VLDL`X4V0J-u3lhvJ2(bH2@xP3adH@n+NU)!kCQ0!8AR5?7 z^Xh~140t@_zkA~Tc#|ukV!=PfZ*{`{Q$x-;ptrIP&iFi4%4wX-UU99Sua6u0h2R4W zC0cO5RMg{{S$7#FRt-}3a52~SoMx4oI!Z%|5*(MaOSHka`2S`(b90^p4 z)et)?y}iT?mCx%$S)C{LH%4Q(vY*jI z`B{|#1pP{CSTy{K%yykp0C}x`4Uos?0>|+WIJ#ibuRnUGv?K zS<|D1V5eWbR93&<49DTTZ^Y5f&n&6*)K@5sA_Z^ji0sA#r)MX#T7d`+a$XW4rcp)3%3{Gu~Y0^p%43 zvQDfhy}SmwdNzxH8-BwEwi|% zaer~05gl9(R-NbQ*nEcX`evRsn`H*u-GQmO>OBqOTzJ-r8FKJ(mi+8i_3yaFli&aJ z3I^DO7!~1h@GEy}KcOJYJ0Y94#=8bHvKzzi!9iH|RRbO;m01+`0o(X5aFRlNr6$|X z-?;4a6>Q4&@;7NW7TV&&8VwU0y~~|fQh8tHK0fn}ZU4Lb(2a}v%kIn?xwX*{cd_23 zA0SR3piVK$jbo8;ZvWOgvhj--(dmC4?GI7^8kLm!0u#y|vsf)N(=7>6(88r~c>nfx zeywydT|WNkQNXO0&N?t^lfb`&0`uDdIZ!1f^r8EIA$NwIYk*V(=_(+rg7uu+-C=#) zEeMB105&i}@Z#cP|9w`FJU$f}YW8*h%i}HkNACsHvqA~cbmiw=orrj^@y$9N-1U@qGk#_^WN(e|6Zvp^H zPd2{;kmUx!^Xx3&U8FQqb(7o=sUyHbu>s&0va4BhdBs2BO>en#`?k}xGHr#0jAl?0 zF>Q4#3TBKIkg$AJr=*xNhSNSGE7CO}hxT(f>}YZf1@vBOqlCTr)XIzOAj|YUoN~-H zL*p08J{z5UC>loS?lq$f@#M>&bxxBEdrcAMGqL5ts6*6V%b^qVgkef+#H%-{~%}D@Kn?u(VZ#A+yGZs-~uC*O00ildKwO>N<**}dhs7tlT ze9d26-l6BOHW@xm9MoAH4)FhZ)G7FY(J-R2v4})`Gkg}96Z|yOe4i<1Trd6T+N~Gc z=yl(D&!$JVC`rhtx`*@E0(*LEap#xTlu-2+=-U98zF_F+4n+WcORL2=Z;xEX)5pF_ zDj8v>mwgwipf$ZamB)H(24$CC2zgD%ag2Zf3Zrg zhRJ))vgI_6%Jd0UMGJQG7(^?#aZ(w}rC!pxCgB=8{pv~OeMg?HTYMcvDhAve$=dwY7T4Cf!}Xztyl=09PmcN=Qu9}Sj4KvDcq zJCcMeT)1_vA}ir0=+5)5=*oY}JTmAw`XEq^`ZVFJ=!YT?^Lu^{x$2b4Cr-h zseUJ>9m5~0a$q57HS7m6|2muGx$_)8&DOc{pDBF*Vi;zGAH=!1DTVXrUme=1iyl#& z2pXQH{pod@T@7WP?lBpvtJzA2KPSp6Y~c_ljPt8b`C2M)b%Jqy=E_TH@G^aE$@2Bu z5&2 zyC@MLOb208ZU*GULLnkXm!my6+COGyk6Qn)qPxnxH`Zg}3NQ`}fxVlE<@F;Pp)yUj zD}Nm=t=x=ps$o|umX~C=B_VAJS_A1UT&FX1)<@b{NV&ZGZo6H~zYT@HHaVS_MYq3u&fk@R`xvtF@a(JZr;Z!J{TK{pS-NOlX?V@S=|FAS%urj9X7 zHZCaumqCIp4G{*245k2|G_Y++!ntG>)vwlr{r549UFoEeV=Csj^w5`djMZalj#Yr83qq z892$kbC^UJFONjCQa7AcDP(Oh-kg?gV@F2(`PmkQaUQ_JX-_|lCwWa5U&FI)@&wtk z)TG=Pcb+#e+VPYfX2`)6-c^JmPFX5dSu!M7nb&-hltvou%vw2O=Wkqp5M_6skL4z^ z)AvyeZEuJB072kmK<-j;*|*FEv&K8FxxW3w`3s-ATvhiht*}Z7gzNRwI!1lnOOKm- zB;{$6>R`diUrq*~qFog@9W7d|~%$fJZJ2a#SeLx^9cVS+ZD60mMeEcw@s zQ60Q5@pG#2ZzMhr$>=#5JBo{&EWK0mD!i&K<^Gi{S(&l|d;OL950+N<&4TH35?|c5 z^okz1#)JH=ScRL0?h%VBQRV<8!dDpA|Iu`oK~=tQ*QQ(Pl5RvwN;Xo`-67rGAP7j8 zbc52}9h;UA5RjIXlrHI(danI@-~R_^aF}6;JFat`YaPpk+6?K&$%@2IEsz;+7schi zqu-{;rv1Z@tfi?9o`8!2G!4#RS6p)=t|8Qw>!{!PKxN1dMax zvq?vVOWh8xdsxI0OjBpVfIL{>w|z@qeIT{1uP)6|4E<;_mzZ{9kDu-E-E}6#n`SS! z!VBSN*xA?l-&8uv(ZyxJ;gt)l>@akd3Ak!@E`4JFQvo$5CI*AMysgE1&|J!6Hr+`3 zbC=)o-O1%@b#I>8z}UY)pa>F>Dp`>cH!BPfi#)n4T?QYUJ?SXm0Il6Py?A0!_F39U zN}(hxjwRdnxtBRt+I!?W-S^54c_t*V8V&o!AEz4wK%a(LUSU`UXJ;JP z?-CH__6HGh(6&&4-YE(uUT`nP4{tex#5W+?`2eM;kHi0Vcz%Drs(B?6JYN9K6Gm=; zEq4~6cG8s{Z)1Z2mWe(oV%@#ib`5PhaeIn~wL4(FczD^ml~Kt_eYy*;{UxS>@YG{M z*qjOp-_Td2e11k9L8BJwDILZ?_}iOd*I1E;=tB~SVJ~&G34KsT>~iNL4-x(TH0T=* zUF_NCE})Q?3?(mCOFj4c`4F>1KGl(b-b?Dzsn{lU`eb!H+RIw;)9v)*;a;Y?_{V3< z7f8#B*dy;Jcu+EP52=}{$6gRdDBmF8m%a9+qI^9W{>3vvKhgSPMO1V&ZnOLyt{z^E z0(!0}y`s1{vE=xLpoXTlyQX%Q3HHJDfWWHms_vZzc7Tuz5w^1X$E=0{=-gxHF_^O* zKKOa@8t3X)PbZ+8QAviv$J#G^kCciJJ1ThB-II8bJc_+L2G?duukxd++8&;Hqunl1 z*>Ch2>LPW)cQxta*3ks-V4gNd1mmH&S|7i2NkkhVY{!zo9nv?5kCfXxKUS@l@;{3x zhjH7*#le=!HkN9SLF$Lf*1^M}Vf3K+MT9^wK;GJM6`JWeHi2XL_m5O!T znxvZ7Dhg>ldSRXIXQiLQ9n9jOI{Lim&eH5boV!v9*<0(c7YADgi{ImgSNdwlVn}5J z+HJ8_-#JpJ>Or@p4(^5+Eh3H#HLfUqAQ}SrPogNHC?mbv%afJVz_9bltkr6~&i12> zPwQJDdpANG#u}OdUG9F%3T(WMB`~8rhjx~Ym>WwI^3NoKebYP z$()R79y@@8^I2P&LH+y!86JSD0JEesbKf4csM$i(XX@{52LNT3CIqHbUXyWr%f8FB zmQW1=?2XZ9@aZW|8F6y*Av$CzD&#db&nkQNl4_6s>a?7EshGIlZk5T0)7w$*`P_9* zl5ZOX8iZj=&M18gBzBPb%P?B0Vl>OO#=9Niv^%mam*~!?yI1y0tq-{#-pr);S9QMp zTSCV_AQgs!#t8N-i+vD8e4A*Tir-~JsQ{)6l zGWi@{u%uuBgaf$$_6Zv?QX-h zFO`XAno=pyISecNqOve~Y)%uEk$#x|IvYxfZ#A_gjE_2X9__@X)BW3aB5Zir*BxTI z<*IHY5~;Or7c#nKEyko;8?Q8#Y8P)}h*Y~1dYD5NmS9oUw-`3$9Yz=AQ7_v$Qb&hm zf#am7`McCCqbs8@D`b3^lzvr5jAf(6(q#}Gmp2PLQHLq?-@o`5O$Wht(=$`({G&%Z zgla|=F1)77T~7*njcHCFGW%Rgb|wXxI;V7SHy4W%wiXUsZ9lm4NSLTaH?Gq#7he`m z9JM9j;84bE_}KfHYf&U9k z3cXl9H8K~Rrc9$upo@$IoZw3pl#{2Fw=V7`@z7PPSV@BUQz^)kIZInRxw8_7O`(UP zj7uU9BpLNZmp*U61U|ooE+)e2RDTJ5$~?DL?}TR%s@9d+feN8hhRALF#6)0VU|1KK z9|e!I_21?8>s;Y$?<2Q-)ruKTusQ`zZ95qIn1=IVGf_(4e>Ss;ZfD2^%Wy0FejQXD z=*$0<@TG1$6JM1r^rUbfWvR|gn)}uvmQDac458F_{JEoZchmN4+l!ajX`j5k8yC1^ z9v>ew1pyc8(F5RQXZ|&V*NR=JH5V!{fo(8}h5VlwV4+th_pbc#Rol4~Ke*B4CCv`1j^_~%yVgy-S6L1P^0o!;OL$N@u z?Ch?S`@F_TwVJ`uw~rvyB3I+3eK`xk%QO z=mjCC4W)y-q|1Yxy+heO?oB)eUp{l;Mlbd^G+7c%?+`g;f~R}&G&T>{9p5&CTdJyg z`r1rBK75v!NC=ZMNOaW55h^*vbBy!n zyFrIyw%eeMUlJ6*8E@mTfpKW-@CM#K_RYm9LWlJR#G$cihKS}--#4q83Vr(YuK(DL zeC|X2xAQI~(ZvhxeXT`2o8QtZBY&jP6U$M@zu4v>$N!*gcTzPl_`M}J1?3WM4Ur-> zvM`xMe}Nue=3to`@Lrk7Gz{ya?N~mLn5Dq8wS!pOV?+YOSX%$b)E&xc-k8owXg7i9 z&9Em|r`A$Q6w0)XN=3hS=fvyDQG#*^HaJply)pd0sUT47FT* zRL$k@RX_NAI{j~L8~JTFER~(lECxz}3EQEu8nwH1P`Fv8XliZz%*#b>=UFGCcYx{m zbF03{a+!S8MFP*5vaf|>K)ZeL2tWkE8St$!ubs6uGjZ~pe@lTa5saRLt}>`K_h-40 zAvUoWFvgVFSOI~6C+M*o5&KUMDpg1_ z9<2NU<}rq4bM78iv^&oTDO&!6pn$_~9pK#lk2vcL==cinf7|mgF02G0W7dM=^d*-8 z3SDC~xazLQf8r|x3CckSO@v*&zMy~xmgIpkj1w$KVa2$B+CvI7y15>IBcmKguRDN} zhxLj(VAB-!fz#b<@J<4hK_Va^Bg5$fh9r!g%Vckt4Vr#on{IGNfFe$Nkp1nd($YzV zWWLAOFW;QoUP$att_!PcjUlkdcO^p#G{jzdXt5psfl3m6{*qkD!ca2hO57pIabkSt zBfQQ|7>a;3Lr)=ng!`*v*#BTGzKeWG+u&m%*%yj(dcj}>=axWSCvnHle9)0*D9~y$EVQzw#C<8Z3*=QpJ?oLaF zxs)wZ%9XV6kEQg%(xjc42(O)hwZw(*1|Ni4ILR39_Wuo$pV`On{pkN9b=`GrRFZ#? zO!Fa!E2xmX8=IS+kjgN=2a_HtpmCe74C!W6do_&tr)#F2nAWHdQEHojNG!h+Yb=L! z;U1H=LrEc*tQzY`W-mSUjXil<>mc4UZ-P^W~?d46R?`2?cicPx4-t&&?o(lnkXRoC`=F8lO%Di@{Zm0^F%HhcQ@Y9$c#cz@v{z_VEgT=W zx3}}AyXWQwDKb=w+17d>ld^`(u<9k##lU?w2?q^CYk;Bf9ZXp49VcQpopAuzC`-D_2Au#AU|A-I%Fb;$;;A?wJb49J12D33`%xPvNa_#t zVvAG~K8q{LOEmU+pZEuyNiHrg^T2V5DeD6sOo{!kNF!CCrn9Td$lt@>ULmRklp++| zLc3N$FeNpW2;@Ym;-Ba8*W(6J*T##+b~s~FPo&b(t^}z1XHKK(ti;d z&)iV9tqGxZ>3KfK^p);gbxjFII`YP61hKEaWqf{AomB4~+FbO_$Tdw|yl4FIeSJcM zY;xQo*~O!;%Zz$?22MBo1Ep*ymZXz$c-w&F#EYP^betT|5~}hKGECEq)&r?QNxN`M z;^M{j(3HGp6#Fi|2yLa*|mg}vTfi7{Z@d~cD}#)k96?1B zhlE#YK&O9NNxXg;|9NJE!T}<~H3ly9xa+FFnkhj_Lu->YV&pz0HDx+Q7Cl0xYHWJI zS*niWIQ;{{5xFNa)lp_>mJ2e~adwOn2QV4x8#S}Pd!^-705Rd!-W?~z;C5K>kd8S1 zq-*xBA0=UiLDYc0@dux@8~Ip*McS2>qk{u9@;7QEMLnx{tG;8C(3^qDB)G*OmY^~M z#(zciU3JYGeS629SZBLzt~UY#k*#h!>*_iG2w;#{7?=Z4{9s@Z)9=yZmCVOZpUlk6VAxt%IUKB@?Z4$N z8R&QTTB%DlM$bRY1-?4)lEHK&{?k5ucZ87|3Tz&1o~w_ebKsy4maum< z)AuHNIU*tD-SQf>>zJx9)YqX~sZ``?n=*<8#!H%WMW%$vcYUgjxTzATPtz;%@Qugq zOL`^@dzr6f_J5&3plt6oKAEabgSu$4jm|BJoI!rnY7IzJ*Ljs@1ml_PS*4 z1^!{!!d@AEklQ;ln$k?n@hGHBH`{pA)pcXHv6`sOU)QZOiE86YY&pg>#_noq`AU|z zg6fkYbOVCuKL4DQKjU=Y8odt{(?eL3)sRA{^fM+3oAsC;$B!QwPa`&1iiMlAmCLHJ znR>I@kYgtN1WDuw5ta2kDP-9wi7$n>J{8v&uz5jAaX27y{5uHr(``(r%APQ&1R{O& zRUSr=f0mKWad+Dkmr+eD?K65_8W}i^+cPJfE*-N3@f36xjMn}ntV&?>EIRld$zFDJ zObi8Kz+fGZVb$*JDW7)6#yt6!s}4=~JDg3H7Aa)!r>Maz`X1z*2Y;7$UgS0RHv_0k zWy812tGgtm{bo-G{$>x=S*Z7wYLS;;sj+XByl01FwWl?=?srLC$YE^s|2iDTeUIE= z(9TMohLijAaYU7Tc)`8azxBh;K&PU^5{G$gTEM(Hxwx2dX9yV3Avl0z)OT~k|KrDx zKVFnDYM|XGfCPo=xb1@g?O|PlaAEf*q952 zYF3zms4w8`Iov3YZ{#ty&e#$bsg>n<^Q>B?TEL1oVcsL~a?e}i&M7WiiN*6ocO5Jj zOAhv?7Na1^hE|{ONl>!7KIc&O@LhGBqkBpgT!B`3Rkvx(#u z-JLw(BOU5~$ZUKjsH`WbngLBFU2i${Et~P=q?!&!Fu4tpN|5E6Rt|nFEPHp645$9A zFM-El8-=tG*qS*Id`FfR=eH`=xT*vKvGB&det5V9Ob07+9(!4~_o?#9(lZR1tD3pl zL)5Gmq`1HNi;2yE!Pnarp7+tOHi|OLZ5UGMSl_pJ<+aGIO;!w5r8)iJtEl%DJuN{r zBb~$6@KqiZ%Y?+br>djqePRJTNkvij>9?l0lr1sOcTUdeBeRLUDR13G$ElF3s#&~J zElRcQW5guCQ4*9I3ZQ*Z$?aIC*x!`?qV&yNhe0e zP|IaT{z)sYiZKl*0k`k~#~nnQO}ZL9t^gtJ_dd&jCm|FqA+Scicu*a;F?M%Xxi_Kf zOWP_~3TG4>eA`v6Va|PC1@ZLZ0wM!oG0I1^P-1b(8a8fhY=ACy*u;|&;q1mUKxS@D zWqe&E7W5ibEq)+p4=JQ8TxS;c#96UZI$ zZU9+sBi*jL2TWgs1z?xQCwo>)tEl4}Bpf#|rkXe@%?}Mt@ovzauCxw=8 z+++NRZ-5KZ+?!Vb^@4dWw{hxe=eHDc)y~FYq?y^d>EJU>)b8<_Do z2+6uDp5omYEIn|uZE5>1C&j$?ddS|eCHxMbY^|vKEX5)ubuwv7sn-5IxcjnjRLxb)lb z`zaXVp_yn7hIUs9`ew!)w&|3s7E2ny(R$5QK^u`iXe|Nh~i?W3sjrmYqIWR_|mA#POc={i~tlw_j_;FzEllE9OpPN+Bi zdcZLjy5VURU9}F#>z0j=q?oVec6X0${rX0CQ>r9kB36nV{=R_%kLTMX;J<~PwP64J?x_dPdc3zRvNMBGC+50#no4@K&bduDw$k+DHSWeO&CS1{fap$=Wak3DZG z&Gdh~Z8;x%>oUyN4D)QS9$Sf=1Y*MlH2q7nzBkl+JLY6J5QqBjwKGoCx3j`VUpPp8 z?+pDE&s6yA&CQMKw|U@@e212&styMmvQFyad=(1x=so+T0X$D|yrC17+0Y%T>$^lY3liQ`9&C&T`>mi1LhhU5%3^*k+(|yawMD%o!87wQ zQ&bJOOT{>RslZlfldfax%x8+~jBFv6?nPGi&eTAjdb1_8I+D-8pDtt*BHWXGb?WY$ zxaa*_co>0>t^o8;)k8)6y6g+Jb~j22Q~c6>We>i}C}v)b$Hmp`@zoFP#7)-LhF0Y+ ze!lH+je6@PY3KM2>G0(NQ8rqd){dxbTZPv1gU-q0+lMV#ku0P1VqKDmJK^(nv}LL< z+)Dk=AN>kxuT3*gxtQ#RzUap0|KBOf^vmsc44YEN{gcL zYznkKdf$=3rVrR2@pjywGVWo(-*}hzU!uDt?igqf|6#k8n`jhUm|%<|EjKOy>v_6j zkjn?{x~spxlWLY`g7+S7y8x$=_x_{WbK&_lFG|o?>GqUe{1PCnnU)O62j&5g%jJ6F zo;~4@Zk5M0hJ;ETgW|)#^AzjCa0K+=#)Zxdlik<6b4c05@4s^tN>#=e)0ZTU;Npu# zx7wEPgr<6PUE^-)YtX4|9u&qea4Z)Fg^4v9-?re1ZIpMsaBQ5GDXO>P&f=M|)r`X8 z#S`Uvtc(avcA;O|mLn^SKElt+iIR9hXcD`Wc4at~O%A!kg%plc|A=sW%Qu+kL^Ib& zNj77%XqD}wLq_E!K!Z9%-BbKt^q?#4&FvWcqPBotX?Eqki;$N7YjQU~k=B2%bYsQu z{ycLX5~&eLjnAn0@Gbn4G7p1*@;+zo-ArlAA46r`FN74-CgHWK0iQDK4w1F2Nam(< z`=a&YU6eQ(KC;iHtPKD7%-@7#*u2rJ`SxR!O$`6xMfN%xo4-=T`D0<}nyIP;TrNvs z`QXXl&Uck%N4-yir}iIi;8)&yq4;sOpqD_EzH4*^XkduSWZiG`Zzoc{$-L}oPV^s> z)f)e7d93tE;n zujAX(43AZX^W8z({%iC+o64|NnW~g{1A#|=MkC#VF}(_l(ivN{UK|sWTn&~PO!SCg zZw$<#VtNVRA5*fSr;^))2IU*L{i-ns0|Su$JjW6ZS$x(UQ#q|tewqE@?bV{IBF!PC zPKqyfY~WF;ypIs0d&*~hL|2(;6UZ7oQ>`e&r6WE0@P>Rv<0D?_#^n`VB_oe(MsZ#6 zz1*lQ<5;ok@D&f2^f7TPQIaOE_9CB*r6tXb)H8iu;X&KS?+_6aDB}4T!uoUd2fief zz47|Wv3Fmz68jQN3i31GT{d!>&uqvvXZfhs{am8L6XovgwNyg1v8}EfuHz$8p#4JL zF1)zu=1?&#Kb!5yBV?_#q$@i*%>i!$j+S2$Hkr z0M-acV?G5u0@^fnon|4?g2QyVy8LKH^QVk;!Aes!^o>bxafh2s@sTK!(ffkz4k8S+ zAW^1nam~Onv9J@IYGua2wes2~9hQ_>f2b*ZxGq+WTJRu!@$xmjfd6s^z8~v&b|giP zZuvs?P3wQM;(zR>>Qu@+g)F32Moa*DEh`Z!Vp>y7DpSnTQtF8-6%PujfqkB=xiNzSXH zM|6YZF%o#Ok{tEYpj)r@&<@l+wd@sVq$}s%{X+UvNB@4^`k2A<5S{b7V#~IJyp=YJ zitzq6H6U&@VVKq3vVa{c?62$7%Dk$4N^4|?j?aY=5G22cyJ-5W0!s2#sd zlMaU+RDu{XXc}8#Ua|f;=Uj)0K0c8)w(nQlB4CTiymcoky(OA<@QD{sZ>6ezCr}i6 z<4PazlV-rq%JG;e=SCo@OFg-r-L~J`nPR?u{c8Ty0>bM!#dtWE)JMHDH@pLJiehqv z__GrdzS}pSxSAYgrB818S-7t>uz_K+kZF6ic*#b;{J}5W`?b{Obfz7&Z#`078u|F- z&toee@%;9@noIa9_C7)G#)sCX`^O1493)HOC8C&h|7iggI8GLNCARX^btF0FqRrcu zTqq`bGL9AteKp5(#Fy`_q88CjF~79R@;e=CvHbe3M%O%Z7Gpsy^fU@@r-&G!iP&AK z6`0%UD7bpOmVz7je&3r>41UD%3;!|FWgJw)bSBrJWtmFGtplq@zc+Q<5I&($MlZ_x zlM8-Oo)0aqf}`Xwt-kcGP9mHDqnNm3;}S@0`D+l0>evxF?m=hD3;=xuYrm~>LX+`e z?pz>1ME6G#!$O+C*uFvIw0QjYZ%6BURu+y`Z^EyJj7uNSaubVq`p5WxK&q-rvJ15q`9K&Fhco^MJ z$aJ}kaUxZXFlOsF#-Y;SJ{$a7N>V(VWjbukzy9A971)4BsGe$;{QN zpixZv_mt-6|1#%rB>hR1py%A@;70S5zVt0)={kx#mvd~*@K({z_$38n;n#SDh0gRh zOKP(3gDkgo8htZI-E9kr4k40o8NCkKB5qWB$K~yP@A+Jww|HkWc-)nj{!R)z3B~JE z3ss7!hZ94K7Ntd~#THKzG5wzxfb@~}MbC5616thXu=<_$HAAwown>CsB~16F?`lLP zrg+P!&2C|Kb_5uqW{(u=EGamkg%dnO0FRn-`eQ!xcR=swMFwL=rb^;ha&%9G(!%aA z+(3g3go3(mYenjdfKUp&EXfFZ#HJ&B@IDo19Bp?5l^>-VEUgcOV#a%Wc*Hr3uRlii zbz*R;K{(Ye=BN};r@gVE1u_c-?w48wP1yOazX(2voCz`tHM}qkM!Xp2P3F5c`y2gx z*ALX)IX|hRT}O-YB>maGp@@UYb0ED$tt7BV4_oKoj5_%RgTc=PR0+Xy@#QltL~Obt zu;L%^T|9ePfFENE#ptT2IM@bKM+p~MK=Uh#Na}H!bW?+(pd-%i)>aBd9MA23EPxu z_F091jDj>Is$AW_USJx!gcF`V?7c6Ma}4QS<{gZa{i&cD<0c5fvrnW`rt@b>yZWG} zC`+#F7sHu4`i^I?7JVDyYP;ZBw8FmgBI7(bY11n9MLnBw%JnVJP!1kn0UF zweSmnJ<98!7ngLW%=ICzGX+)Dx|WrSQ$DdrIS}PM8#)x7P$|EcUfAEe)%N)Mv9x6- z>Ek@qYJ#+BUO;CS4zuqCSTNa>SX~KCv~i;8sxuqpR!jJdwS~S)lz6HQSLJ&$g}f5A zOeB5(*p-~DhG4%iYF1dLhN+y01f(IG^n9YZO0SV5n=f|ubP>fQq6nI*8piqd6LTq7 zPKi3~9gJ+|3ra`)(o{;QGL|%p8cToBc&;xQy9~edDjt8J5ftizeBUqE&M^I2apZVZ zbI6pflf^2Vm^-I@l22upjWvl8r~p?7C#S|R)CuRem2!Ifozo-Y-o=?ddm9TqJnfRb zVHbs6J8hkSd(~XYAl;AB3H=22C)%hU8AROslb+_8&*D>={5#|nXoAR?_Gd@BZ|EZ%_`Fc1;iU*zKjna zKKu#7WbXzcB+x)v989!arBzXmyl^R5c(tZ|Fw^!%@uWul)5%#A+l@b;(+^l)74%W< zA3pt!s~PAtXx9j3AFlPgX7}0kJ?`DkdTVsqPg@x9YLHP@pIBek{m-th5U;db$Ly)p zAEfi#43$0}MfkL19GB2SaJR_U(>m;#1ephutHzH*YIIU10v~M zqy{4rbGun0Ro^li5z7RoOn)3=VV5o3dL`fENIu7tF5|G2Os%da4=R!<^F#&`T`yJ9%>Q^Q#wBX z^Har5nbm7c{qPN73K!zgO|}PLqobbE$Hjg|YPs>9ayUYRgGUNX^Iv)~TxxQcDoQNP z2N_uM$NHgvj~Lzk`Z`&FZ0 zZ{g+U+}t@}xW&_#vG<)6j`Shwe_Mnq1-W(pVnIn$;+j%&z??%r)N@#mQNV2bO@TmL z603NZoalD3@$WXn^ci6c|IPw*Xi;a<}b1Z$8A&qsshq)DwZVZ9(Ghuw}?F-QH?y3Zb5DpeZ3)f}3ZeUY)$ zd|&oUNe0cuI-gnXw+N@pO#y$&@>JOquYwX5kQ0*8^(eREDaJS6j$P%H^x1}H^N*snXHa@DW z1|)jONiFedI{No7Hbjt(jyKdX2A|#)xqX;PaR3e8%kzq+ONH5Vc2}nssUp0in7mZt zVH#F#=iP@qe;g5c{AH+zsn7Y&{<>y+{j!gj%Y&T9;3$2;w5RJyYoaaKi5?%fg%)>> zNeT?GI257zOsh%JX;ztVFOQC0mfBnUMwx#wV2vvynJKd(tXn z9-^-+i6)jAEC>yk^?*_ zh3V)BP!SOD29gxeuj>kp6Bay%7Q)?DJkP#ANIgTqd#@!?T~oGRDCTy-+)8a^D3^*6 z+Aa5ew}B<%Cl6QOVzy1)CJ}>R_>OId+)c@k__0A;j36yrzQH2dFn;2MNE9jKmoq~G z%IOg8uZhX2si^{D>AIb*nZddhGnI#>#*5n@@LaQ$ZP6nV-9r{jk6r1tX4Rw}Z4=u7Zd>#ZJF`6fhWvpL8}9GU+>^6JG*HMzBL zMM|_49<&feG+$qd@j_N>ZqbU|b+T5mJz;`?P)|R_ZGF(qL{82_^H<7tywpnSv99Rk zj;u`7!b)(rGzp5XNHC7qxep`JFNM33gCYT(=#$J8R?Hf|Ec5D^#rG1eVh%s+Bc?a@ zyr)i8cEnP9#I`j*293UCG*77zAuH6Zzw*F;dhc+8H`pB|Yh8Lp9@dfc9r`CoDnF*J zWrx7ao_@vPjREh!4fj5mXwdZn7EbU$i_1~@WBIF47TB-A!gaRG=`wH@UwtG43n{xV z;t*j*!E}s1mjNkJBe#pS_L92a3Xeq8-2LZp5Tv%MuN ziEH2diLDE7p6*>D&$ne*{kKk*%xd%{@7%~ZeI|8Cj5x(lKTTn&p=p#T{pf7i&fO>z zzA3Qa0U}TJDOimZfG!YXeP?(jp-T-I!W^7CrVlP*_6n~v^Gx?y9hmK`VO%&0pd)T3 z@Qg3>61+499^fJc$#@!)%&E7L}7K{WQ<^9mX{cp1ChVAZo=61*5m+{>?Kn z4t>JVqa3lwXV)K&S4s4C$VTn%gbEkCCq+v9flORq0+%=D#qkMVrE zn$03VVN8ss9%&fu_nSN3bR63|xsNEm_L)ndCBZRIR(3sKH-eg=G?{GnM9J*S;}*zr09=a7=C;K2f@oYol%#CN1l@!i&}wU#ouiInDNFb!wvC zg*ZP;T!txy)9{tpZ5=t2-(0~y(%gf z0gSq^bqN1fvib>7giK(Qx>q>QLO}VBxy>5;<0izDGYCoAmYJ+XA}4m)(t=-Nf6KIa zh!;#r){H%S7CJ<;3iMi!0z0qIGdzPhhyG6BU|{A)m)m!Fcd{LZ8>!`#eMHOd5L6I zqrmbn(KF_GhD{+Xae}B&@3X|Mc%!i%_XiuB2RbEaTW5q)(+rzD>sV!SL^k4wXA$Zn zHO*r1&xq5m#~B+0OASUzf_)wHsgHlr_!Dfo1@iX4u? zhZ;-aGK3bUm@K%=bi`iVx>9KiAK%=%Ca`^Rvu_zI^AoxA)9B(zlRBF5LwvCEri_WJ zuXE(e^jLiJg})@Al&)7QJ|d(&B%t##87rgk_Z+PfJL*Ddb9?4Nv`wsM<*2|EIxfwy z*DD$w=?ifKiF|0tRhQEb$w6I91RX3-nm>~9V$^Jky*Fi4pG7)wC&x-It`D0$0{M$K z5Za$`8$8#E>^m8vOITa&MO+Op)(-zT;#FE>Za=>Aw+A~J&%Z&2AQc7t)tolJ=mpOP z>1rU`OHIng+N9QT0jVnaylTg}{NfZ3LO1g@PVJ)7=wGMUPJfC%ezJLhoQ2%Fy=)Z0 ze{EGH2B(3a^8WY*Zp-EB-_)JSUIpl7`RfHkA7pXjoR~m);=Ec199e0ya_+a2xAQDF z8#9*1bL5|WVLj(vH~k#2IyP3|!UA!Z`Fab?!em&k6*fUv8h(2LD*ypuDA(QG*o0l> zsz_EEco%ZINLm66TwCZ(sd$ilQDSwvo6$SJOm?QIe*+mrGNY3ULD*+LTxF`tV`ZCY z$x-(c$C?vX_mGz)n}?MF(?f{LVM~R-oP#2UNx5mN!qJU~!Ujua>lHYadW0O}5^=^7 zc=vxa8Py&vF31>v79Pi?ma~L#$=PYrxtp~4B{ynT;DrXMU4ydZQK$u;+O|gr2@>WD zMMipk}U7UH$h~*g@FbVh< z9p&&}54{&^4R48JC8M(79-nsSK7WVC(oyU!?80ktB<&FIqBjvi*FC*GjO%(f$?#-R zpj(|t8;Vt|5FlIMwbeWW~E40NS(Q>i6qO6>~X;Yc}# zsXV{znagJ+c$xcSc)B7j#_7qV-#Ke>K6F=#r{I5~wM(mhvH5^NJ>~6PInBj@^lONT zPF_lN{*KFzqsce_Tz|LY2ihDL=lNi1ZTsL`;*0e~mmH%`|7Nod&uBfZDqUo_7O+de z7Pw_#Q7TYX3V8NOC{yL6S{oA2`D@i$|1l!i+z6U&UR zE7VQ<8F|I^F!^a|t@_yzPi)bpJ}F5Flp#Z_J;He;57He*1F9jh^PscnE%31j!>%qT z@2L#u6|Wu8{PcI_8yT!`3^Xinkt46?;{TDFh3inP)L_X|E9<`YC5Y+|BTHj`xn2IH zlu27>4!n@Hx!Nhh)<&|N1D_%Sd7iJePBf`9s8z72($P40THB zAKtL79D~LFe9J^a`?ecW;!)YDL27!2J+U~lofQ5qUNd+zEU(t5x^=-NQR84R z*9tv8?Z7nNI4N4Jd35TbHo+p)9I$rjLRf|rc~Ix5dpjMw7<3T`-|-{Z@NgQV&rUv; zP6bsIxY55ER+IM$iQi#nsa@C3CoC?*FI2^qW9X9Nj|nOBB;%#2faAzcNYNP)5WV+S zr5Do|gx48v{P*m{eI2oE8&v`>p$wvOD1ezS7*M-lB;q$N@I=k2C1v}BC!2Uo?WQ@@ zdXmAW&-emOzbJKvFy~q@ZTmX+r2&HP;T5sA{W4Q+1?z+=oDWTcT;TEsf}Rvp>>YtS zJ=N#svw+V}9yVbXIm)$WHKH$(!hQs1d@1|%lqK!sbB+I!?->TxUqnMv0^K}OIb*rE z&g0OR#f>iscbR5Op{CctEt?;zAF@LwM zUTd`nIbnfrOW1*Q18}U=xo*jU7Sc2KWk+K=K0~Eix?wfox16?pZ41?XUiODWQGJi- zAHzC^6An{(9d)Etnc~?`>w-w8!yLDio8fRhgO(+h0t8>c?9RC#$}t9o#js2wYiWKyGvIS0-&8tJLOK34Ejq#icNfPiu%0Hc)d6xm9gu~pa*tJ- zmKB2HvXI{2HZ2Hu_0{cUst|UNvS%erxqo##;!phU`!?oMH5p&j6}iwp#U!-WdDW1x z^6t5n^7~Y-CMTD4%tr&HFBMOC17Gz>Cm#tDDfEN~?)i5+9H^Fo)d?b#JxJ4fBw$db z#Y?NtO5~1LjnFDcYcVUmM=dW(fJ~&FFr6;T3sJ-`-p-uG{WWci$d}3)afI||D3#*x zr_^$G7k2nu-Kt&l<*N)uw;(mg3?4%C(ueHkz@66dCOx<^t2tYj-h)G0Zx{QqDAq8A z1kp`!phX!O52kBhIvdJz`tVr15m+Jjndoy?q*}2!&DWFr)>`~!AagsIF965uFd=5% zoBdybTX(}%F)waO&*@jCgz;O1`#XAjsaH{Gsz&+68QM<3q4XCfO+#CJDo#8X@;w@D zm6$h8ee7*_wcjvC)X^8*7X`FI_NCs+2N`vq_>kwdxP4+up3{WS8|I{Y;raRt2}a?Q zhqoRgp{e+PQoeOh(@tn2g_U>zNQjs;^0p*n=!PPJ_padmWiVxNlRQ=&W^`SgP_5dZ zgig4mNQ~Fp8{eHuq16SFUW9R+0e4+|82YykRO$;FtU|Te($(Dwvh-PpBu4!B(7miC z1~qW_ci}?_7A2uUUEwR{H$vz)g@@{no)x$mY26oD-f8{Jl;$Y=xSfEY`Hn3mvQ18b z7O>tpawSSif zARVwho)ZUpk*B7D6B2NN?aE}e(-+nExw6PZV=C1#a4UkXBv`D&m~$YBW48!<2>;yT zQhIyH18XqO;BycIkpd+im>3T#3zW~8=ul_6{(K4U0w2xqB%|~<&}WVj zQsjKq+wwgfvZl$@I4)8%|8ThWyon)vow)&Gv9dT(LDs>QyxU6)Jh3AfO(_fZ8q(e& zMOT%Po@rabN(WdED}O~SDCo0`t}s0>*VBzkEF`ql9OC&*@&iy9gZejrZYYyFP@sa&W&4Qdg6(?a3r&w+LfZ zzfOr~TWAuy3egnI&0QsUYat$z)l91HGA-#k`oLISWIVUp2yxqdTSJ-o`qDnu9-~Ui zA(Fo~k#_Y9(LmOUc7PX^I&K(~tlGjjSy|C}K2DZ$y4+2+(Y0g~()rtyv)PDl5*fx5HzmMqYl-O@Q)tSO3PX;UVLp2q!7vVkQ z5dzRO@%|DAu$G}-)IU;DQ{#S4!sVn|Fa0jTy0SnaM zrB?Ni*t|IsJZ!jEnoSO)d+-tjs4Ey`g&X)?0 zvoD1e3tok)ypR4MB)0yV>gi^{1rX={L@;G{OA;G|Tz5S^+?lNXclDf-f<<8LsS91-h#xYg@PaA}{O zy4bIDK)%3{C1l)x_lNn;;vRS7R4Qg*O@=TAOfRs9temAbgF1xlA&0xEoJSte4k`HG z=IP|KNHh!#v-)uK@v^l_rvc?)u11ix57kZoYZ^O^sQr$w7U zqpdmX*o&39sX86(WQ6KYPU;Y1uZAZnT$jC*r^3wH!}NvDdLhN2=cQRfADf2S{Qjs% zNjOV~Y*q-`8eJrTbm}aRUnjlb77^;<<#Se9uFh`%Cj4U5!1A9q48ubi-Npz|Huu?MDywKn<a|J*LmPK5eF06zfCpLa zsH&zUa+_6osTh%EC%abKPF`JGeZ@+3b@OM=i^`1&7eu(1g5j*87l<+(rOhH%@w9Lu zs0p*w-*5&^(Yi`EGNokR-rg)wun)RCmccoRNrf!}nnuO>vr){RN8G~ZA0*h)bVS}4YlLl);l zc*QU9i)8`^+;I8%vIK_0g&DNPv4uhap=BM`11fwwq`Z&(0BaUiR>sc$bOeC|Sueo= zR4N}FHMu2^MTZsu_CCFsQvRD9UHsdd7V<@Bbjqt5GNd|=k$#boDh0pr~_DU zbidH`QZOv=Ip75@-1lgzc6P6hT6ZW9xM89?*o8R{P<-5#6M=&vw7nMrJ>WYGT!ig^ z(@R1@(cg7H-1P^B40yO+tN>2eb%hxRzgj4_1l| zPp8*}mf&emAf;tDh{RPfu|Qti_C-jIGY@TLu_ZIB<0v2~IKoF9uhQFz(XA$je9eb% zjC+mF>|$hC&1e@d_+EyU#;wnZJw>jKx-1g?@(z`wS?G*ytF(Lv9Z3JaU08`3HkxKi zNo$7#A8m&;33y(xv)kph-Eql!AjHu9pKb@vaV=L%@Se_xo;)vQ#re$}lT znRM0QO5QuqTW42h9BSr^HA6$AmtlP;6&r&3u5>kPddu9$_8h_5N7z+KfLOxy*gx^> zPVh&mmci;_Ro-KhPr_|My8FJAwFfymv^Le$3?)M()&2lN^1C!4H(3wME~Jm_pkBtU zTXpBUJV|+G^#Oq%0WD25675$Ub^UvWUZ_co3cjgw=Za%p_AF*_Us7D7Q@>Ja%@-d( zW-1G_Z{|4L(S+PSzBT9l5OUuBy8;^!;RcZ?u#!gwd8kD8i@$NHlELd5a4-tyY^BZ= zfs{k+wkI7;ci5{fox#Yp?k#QX^3eZz0f^1K^VBVtFWb3$3P)Tnu(W@C)R2D=a3$AW zGJ5=E_F$~NWRRmeo>ZCt%Jm(>XptbX}f*T=0C?e+4C>R%j}q}-O|7j-K> z=cAtBGQIG)6}ARKYCaT72oA`^sT@YJFzPNifk1`1LGBRf!0(!0!6J*`PW}4EDO)LE zZ)u(X2cS{N>w9gb+}w3NefsZ%J!OAyh4b*Z8Tzjn7P5)?DrgrCvO_wl{m*cCGp3Z^ zaqi&ZpKa*Y{yvCe%j|=~%NWdFK5Py2%#juRV{MG%K;Qi;G461_6`o(En2W_P>()uBuFlul_5rKkbW$y@*v%$n^K3Kx6Z@3! zda4)-dPBl1M_=_SE!In$0=%p(4Hw1Q9PQsl^gk8r^=Isfbr^bHXGarb1ZtWyn7mxs zREof0zgb-~r)Mwk4J-xWBlhE@>w?pr@0yWt~$F!53zkC;A9?x`sIS`a#R7jWBG^=Apso?6oKY&TgKxr~l*9_|v#enG^$b@{k}$$W z{hCi5mbdbW4PsM6p)l-8hdzfdrL>Ntzx4iyOro8`m%G=@n(LvW4^+MYf@Iy`%##SX z;*YPb#oGBC>CL_yUGf4akW1kK0`?}@_O@+eLKS}O%)Os3wm+$x`vRZ_0US)PvhQW$ za$A;Vk3+?awQvzpUfvMv>b5tSZ&*6vz)(9s*is|VIbJd5NX{=x^mMr)17-KUz=Q{A z-ETKSfyfLCe5>zkjhp?IhAf{x!{1iM8o%fmNSUSbJ-nJ|x@ZvP{1aZeC5oFG26JQ4 z^PQ)-Ot@NZG)tWhpZ2cotGvdLMC)tiC5=BWnxaPAaV%AuCmsO~-caA1*5AQ#oUb3` zLiMZ?SWhLsmdiNNh|F46Y-kp-SS2?dDT@q=s55KYoKVS=4~Ul(1v>gZ1tqoE?9+gE zF=(4?cD4x={OPGIT5V=&l&|k|a*Yl}h&Rf|C*3%pV%rJab?&$O3Tf<{|a`q z$D>cDPTzf!Q=t#t{H}Gy^$}z{O0{=^+QLHaDGvkETHQZpvpjgbzlc$V?sjQDfXikuTG~Sh zl(Jv4O;$Q9UFss5`#1_}9p6ANxD8M4dK?}y9s>czH)HEn0s<)}Mznmcb})(JkCd&zI_T`&5c;!&_6$GhuOk!-M7aUqLF~>2Z+mH!oiaW0J^yM z{=qEOAf)B2oz$3k^G76G7rZfkb#-<5MpsYof2`Z@MMPqL{d(`76ADn{m*t)SxCXrH zOW5n0BdK`wM*iC@cYnrH^2ps7FkgwjtQ>$={ z2HjSR>q!@!6$l;S+tTW|e?7_Fn?NfM_&w<0@#!v6zQpx8LBtU39Q15@nq-##%d)Pb zwz_znDoDdHaYEV-IIn8_6-p|^&-}UdBsoCCR&ndyM3O#IX>jKSO$=(Ltz#z5uUQ$6 zr>(aVjwhzMu*=E2sXA_P>2|Xf)9Sv-3wlMwTbU`{wruVX#27Zlrscz)!=3}$+!HPU zhUBV%aXQSoPS>Vn)Q*VxtE9$V4as&?Zbv3)Uf(cJ5KDn`rJrcdZMqhkjra-o>-JQZ za!P@%mK%Q&6Z!?~Xv6MT39xK}Y9{X+CAn{r)X&R&nQ@9se6!cGMc6FC9O`;b0*Dp{ zD-@pCjNz9)92BQJ_JZpu8h#$JN^-t3D zFfX=$ePTKoMH$80JvtH%m-4<-RVF;a zxQ)Lo7XJKBRhmUtSJ&B^meF=r!mYeUS+rD5#=kdSmg!g$deKMG2S-h>!P?fk=Q^HT zmfg3a=Ud#WmDoD|6|x%xC#L%|_1MIL~}+Sho(MW zFI`<+o=i4AKfxT9Y#KKFQOQ4~nEeNVgP$*f{9oGnSYMZY;`%WIwsqr-0`9HA-6v_5 z^ybpxI@!hk;1bMth*okSz15c)yz5V96_qLu_rmPceNz2p>E+u?rQq~>a|9M_)>oGs zJYvOt;MDXP^2*yrA>t6*gQ9C=HKJYFoD2WDrm-ZJxN)Mqw2zNEyNku)fr@{AehXDF z2hc%I3MleyVZFf~me0v@Z^ap=t5m|AnIWJ)nW+L>7qhC+MLTU}Tk)cHyEqLw-@;*) zat9isbpt`rTW*j>=MB?=3{7h*;%O-3cNcXHnq$<|G<(BYhE!NyUKL~+DF+rbGi~XgWDv#o zk4Ee(veoogMndY!cE7{gFA&`{=I^e~9~p`-HtH3Zn6^KItTXi#d(-3!)wHy3ctRUh z!ni|qUuy)lllNvTzsqrCn-mY-d>BOT=lp=+Yld4mf+K!Q&Wyj1W!;b%K;PsXeQ?M1 z)DaW~dsCbPUi&*otaaz&Q?a4%ADhUoGn%84FthAUf?lM3HX zox=bl;}Bp9`^C$%{Rt=b`y1% zn&18E#cyOBL&$`zu4^6Y^}Mn@W9x+T)`EX_u6u{U>B_ij^`wlWMK(*A-NwaYYL%&C zd-?>tj`qDWB3lQVxcK+rF8`!yu6y?1IZLj7H!IHoAyJG|Y#@D0E3s5BqML8a4HY|s z`C?t^Nm>;>)dX8;Q@n1y)o<*ptDUEQXP@6G2PJhQni%7pVh(e5PD|7UnRb4DH%{*q z38{b5IYA>!FbM7fmO#$i;PqV(bs0XQK$c{=z7g0tfEPvm4~O+MdWkZcHW2|eSMFLq zeW&}5VyliY^ZL`TFHkg1o3&7|j|ufbUHS^K$I!uigC*jo&I+JGF7pJFun=4nD zU&i5X`X06W8_J2Z2h@z=x3qcW6+!4L+;CIyjJX`HgSJf2Im zG{iDIL+AUR?MWHGLv>kaMe1C~E4}>~Id){2P(lfhGi;+d`oi-+#JPP}*%;jI!C+>n zm?=B=No}-YoWPZ( zitg#*#ZLi7h4)M!NO0bPj`@xdzsCdIhVUgN=%pv3f=(e6ueuY-pdA}r(jEKsEriv-`g|BmA#E%#8Yeq#?rgla89eXs=*4kRD&qWj z#PuHqZ3yo?mA)?X?MAwZqK%4nvOfN4&B!4?(JN^)wVB!35O@TMetZTvbT8R;kipYQ zK}BbM8eh`P;3{(a!w$R2$zolf4N{hJK(A^lvXejKk{$1FZ&4sMi)niIW^Y7eix%-M zB(!SgYfm_GaMa+hVTV^XqXyMIbScXqNsyI0@0=+rAkZ~!DzAxyq}0P z2eSLA!kk;DBS@uGv!MnOAo@265Tn>(Rlll(f?#lA^rFd~GU+ego7B^C@dwTo^zJ>> zy1bw0bmq#0ZaqDu1C6WH5W!1?M>Hf{@##*eOR4J<0V8vIIWp`*Tu}INi&FN83cBA2JSn zOMl3jzrHxW+th&uQ{RsK%I)&l-|*SX`sSnrk(S>+8Z|^X5B_$B9@HM{qznl?Lw|t! zoqnM8FsZvgZM*$?tXGSWjUybHLS*ExRV6mP_oJgas%v+}(#!Y7wZ5-NoUHTX64yxh z3`m-rUI2Fd+X2vSje#iwuJ~ubIYK&NbQ%f{x@_<0@-+0&*kNFMrfTugw3>t*BmpqW3s@uEI}0e?7p{`jF4sxEiG*u~bf)aYDwCuxMm{^JvDJpCY0N3O&{n;$r>6ww`6}M6Swsk( z_R4G&vA$`utEOf{)Jo8Kbox){no-v8qfw(Lq47H>9?Nz=k!Srn<6x1@0$p=_*^K>7 ztPW9IJz+Qd?~khQLn9$-d#IHZ5AF(kA=6ooPb^Em-RV29<$ZT>ai&w6mBDx7Z)@~U zkH-a>;I*P?p{c#zJ*FGRz22{@Z#&P3M2)ET>HoET_bIoguCt-+73~{xuVfu30-7Xl za-EQx^(2nRwk6~~kGV(X3OA4{+s(s5!rw!%UkOG!ZvJLjB`ttLL4m4 z3iFR`dogwP(1Ae(+~&cs(y(8Kud6nvt3C(N=rLDKi*K( zTq`%}hpf%axHwr@6#Fs)3?PPxLtk$cR^ls9EGp!urmW9W8yw_s{gx+rD3Qeub{gX^S<^aU2VuJ6u~>>`-5ItZPFe|&B0LrQ2JrOp(F$M^huzMg zpn~SG#O!HPg~GY-p>o9X(`!U1J~m%5$+XL+B-Qh-Qj`1`n>Lu9K4AE>Wd(KdCl-XbsCAMjt=HrT*kRpx*lZKlf$XL5$)O?i~@ zrDet_OTC}cw(wFs`9#T|KoeQ?SC%GCG)HI--_M9%kM-{@v*P28_*YTTmY!Z&6^M+E z%>h>9BP>6*JLqumG+m99kfwC$CvjZlG#=|Wyf%yf${L({7t|fpEb#K!v2kOO+UeKP zah~g}w!bZ%931=sd={hZw~N-*y}_C+P6F)Y1U3bhxduQ-oS(N-Le6c69k!JtJCWdbith9tz&4_(DNlmv**)xXCLDVec+npw@f6nqy^BQ5aI+>P|>&)y?V+cI3rm&0B|G*r_m z%Cd9~DetgLGTg*r*y?&Lb>2=l2;IgwF2*tj^kW%o5ihc*_cBwhVYCJ8vEM!Um6-Oz zV7^J#&xNigo@-6Axe(IPI5VW2bE>1RFI6hZ>Ga%wYUUcq^6OCz@tJ298Tr-;vdtoD z^gB!ksd1CPk?W>mE%EjSf4$vN1j(1g|G z=AOvoox{+ycXF9kPAU~2j7wT~doNTKN#Q7&u~=GK9z-uwo4xhx)%}T`pCF*GebcQB zfwO|Kuv(cGr_fLGlzg9^whWWRaWIuE#jFjGt-C+G%}*wTFIAlcX}pX8Q}pQ%#RKBg z1;sNSd&fh~)mg!i<9CNy9gBmjE;7F>Ex+K7+sKY_TjGu(RS_TF#pmDEIS;c2hPzqc z;u~^+Shn$GVjDx{LQ&3=<11G7uRWa<`p6Ia7v}b}pirCPEPetw0?GjxJ#PXRcOE#O z6{x+^2MkI;_!&U6V!?agfN3^7%OI6v)(9wjKY`R_AgXK0p>>e>xP3fi%S*E6hKlnv8v5%D&fp*EGgTvrV7Z)ISC2U5qwtot z2Tw>$sJ9fOheIOOoMZ3RM&VZYmfRy)h!DfS-Pa?g(8sT_nmLU8w3EU^ZX&@w1!SGU zJ^DxVPi~o9N?pD@k6Gs~d+yWSX`E&lqe4)HPvsiG!QwM;4%M!MyarS+R~d&4HCIh^ z`*n07=pb6oicp03dR~U93|BaCZYqvoOqeS{egtF;%YRyE{&1@V0A&Qy08(07M6RdH zr99+7E#D8R$aR{gIlc(Z4Tn01v-E8eeDQ;KqK)$Jf#9F>@%{<`jCM^H%3tK%v`SZp zi$33t0mPh8c!!ilt`Bcj<0b}t{EV85P`*w#A;hHBHVHLsS<@$!YP|SMTFINORvI+s z_XNE?1jdNXth;gyT@sb%<=Gi0#m8rg6m7fU`^3-a=+6u?0qF2J;+wvan`gi4RiXK+ zvO$XHth-g%ZV(m?RssjL1Zu!5rY{W=%-9C3fz&qP^|~u&)G2Rtv7=4ommXi-JsD#v zv7UULI3cF9qBkc*i~CGT4{ab`u4=>1($>tGnU9F{2FnW}%@Pn|ia_1e_zs z_`NE}?!85dG8_qm+oHeu`t}#}Xh5o+&sxArHu#Dr)hP`|)dac=-_q83>A*&5Gb($MzNls8?fiAsx17HOf8cfShnI;G zGAENk`jcRpv@qVIAY3P!)GC}(yVRvJWAv}-12ldynmP=4oM&K;2(n5|c@Oj{^PD)t z6A^@&zl!^eWU&=djS)QA)e3L)<@e?2WjRX`YZRc3CqFP7nt$+mjSdwR2#lG*O26*0 z>p7+$&9an@x8h9#dQA>$K3d*P4B1sxLA@DCtg9eySz88pvxqin2wakJZBm|`s9VqS zw{f^brzCgCOD87X61h1MLBT*sOWeX4h z*l0^lPo;dCum46U|Hs?C)4@B2xILs3*IDbgbG4BS5z}W0PAi&Gcz5p!gG(k5uLukg_IzYi@!RFt_1v(eB;4kP6g%| zO~16E<^c`R#(cL?R15xh4&BW(#P6z!*RRCRDy>)Z&Ei(nz$ccXn&eiOt+;!5hYc|l zUq%d9xofxhdVk`P2b~5fwrojL4wFP7c}H z^E0}x+<`2i2#qn8ewccH@F=OTtVZ9U(RASMkVPtmQnR1e(cn`u6lP{@uhK+OrzAqw z-M8=woo}Xo=kd6v-Ud~5nqzUC|M5c=h4kI7+NBayV(SNNNRxdp%S^8_v)szb$iUX0 zAvRVg?iM8efvWq#bHdO25jRvY#>9kdo{Si@u%mCD(*u2{n7sG^zCiddW=$0e3V;tB>^z3_&LfQ;zI4=n zK-F`7m&q6LW#x@K7pJkM@IP>~JoZOk-mtuur-I1y_DJ^$P*A4pbmlLCYwHJ~a)$y? zVgk9wgb4aTPXBG~u(J*$VJ<6F4kMTz~q*-<(t-TR@}rFP!`J zN3j7Vq<%<{01twZPNDskVfb-STm5QD>L*B{wqB(cbtxnCRo#rEs<>`}XN9C=(@dPE z)-0qxsD~e0SeZLDNyLcmF-O2nuIu1V5~MDUW)s7qjL+aPooOUZ<&%VEUl13kykf|t zYTH&yhsf~rZd`_s%3mlvYRh(PRIWZyNtp;OAdadlI9MCvPi?C+b>Qqp`hd{BS3bjx z5>BI598~q$|DSg9|MdbmHhSRE#%dlDfX#8pa1XJ^uURt*!rbx)>MC7=;GeN5>78;@-j3&hI8TV2%Xno*fwTOh_Wo8=xl?>K{v0@uu zxk<-gKp;N{%wmMVx)nwp(+Q8b!XIg%w!jV`yJYb@!Lz?x^Cq$Xxp;ub5L;Q~Zaasz z^MQ6)1C__I*{)$xn#^UIi&Mvu;7v+}%5Xgg0pfxdx-XfF&|2c>_PiG~lf)rZLO3D0 zY+8YJ@$@kj;~(FAP}VM0febD`CoDQ{fdL`hJY9@QPx7#QNasN&VVdCwA?*f- zZyWcfQm*{KPamIf0(qIt6M~9Fo>h@ClV9jBojMsszt8N3 z^|fq4(YK@B64%uZn(*IzWXP6rLc}Es*^>Ln!(LIa3 z?D*5x+$15*ZaG9>+dsQt$RNHaJ(%nD8lfuk@NDk|vVCxvc7;&~IlyUMJ>p%jz`Z@8 z7TjpUeiQxC5}8fFD#nXfrf|={zgL))?w7~AKX$XnJ?)E|t}QDGWE%Ms9PNAh=BFw( zqWN`>WQ*)VATD-q#MT40hYPC@Xy6rO5cVJ{NgDqFO8?&wjvGH)^#C20>0cdy^(v>+ zWzHZ}t9A1=csI=i$S_n8ZV~}qNr0t{5a2R*0qzJudkzs6X;%oW7 z5zE7=r^FT^UNT~l(o{%;jUd6$bXdE~Jz12K@Zqv)W}r&bBn6H7rjnQ^n zqM4<9syE1*bAKl^b@xWf-?gO@pYe&}H7$Q}s;&Z$7Wk*Pb?}6e+?Zduh{a2KP4d_{ zFX)X`yEFch%3N-O@xn*uNWNyDRjm^GX!bQv#EJeWLF@mimhy;!iaRtN!?3kc zN|p~jZlTNF{QXGH4@YMhmvpV(8cGLq^;Gw=&J$0@Vt6-=e^`{=(y|nC?M82I$#5{cWP?%=vKUv-I;b zxJPCx^ayP4rGKxFrr^pc#Gfuy=|(YCEh!2;t@Zc zydZg9l^^p6g4=aseg9E|eEv=Rmox+xo^A&aJQ@b4Z^HY9hKGlbXMXvV?L!9{s@KmB zMr5AS)Ya9KMW2Cq4UhGeBk&2Prl!0en(D_&d}WiFr!LJH$J_vZBgX4re0E+=PcVT4 zciz7fcI4O2La;B(GzeTvjn{qPdmj-Zg~h3@V;dRS3`225MB`8Kx#<^xv7)q;aVBR- zBdAm(mO9W`KQmE2)6griRO7SRq)Y&~_O8~)xE#3*!D>dLy|(A>H>)KW>0_ov=8H5l z9h{A8&o0l>Ue)@g7R>I@BBo`!Kd#@pZ+?iZJJKrI0{u|P~0suV{OlB=I%n; zby66&qZWA>7a9aDEQOrOEPs>tg>P~byp!p#c@oTwJR*KN;vT#7>;*;v?PttA!ykv6 zAXN|E4M8Q)?GNuf#2qHk(Hr=4>aTDRXk-T~oP=)MEesmO$zn(6j0e*G7!#3C)~d8G zBt58H&M6n_Ra5JxR%O_E_Bqm&LUJs9=J%NKKB=1tqB&25L?9N`r4OA-s97j!ILfpS zn3_qV_%FnnE4js;Y?m?tBOH?G+&C>0pPPd$N+s~k5*@bS&8y-gscg`FJKveKt&J)5 zh@-bo?^DX1!LX~V{wURLlXUyNiOPaZReOnNy%dtQTnLtn?4w-nrkpC1&yUBq> zRIkY<_9l(uwi7j~=^3~@mgS^pE1|-x(EbKzE1(fk^j>*SL zAHKTg+J%b^1`6fN>={|Vyr+;Hveq;@{=)W6N(-G)A@`BB!uOU10~%Xg8s@^m2o7tG zE$)9JnYl&eAmOA6ngT)k7tk#!G&wAE{^Gk)C{hlyk1_fIO`UP((1{0|x%r}Hoo;fa z*YvfGQ|`&yPQT#UOG+L!2o)Vw32>>Hlw{7ue0$9tB#hcPr`ym7yMYaneE zhj6%IPJJ%Y3p-N0)8VSQ_!(Jj(?04)*g!Z>F!(@pMVN9@vtL^Lye%Gayf;2r8RAx3-@NtE}`UEdW{a+iNcPllY%VG+U`IYN3PM5HYAOEr4T zwyiQhbzh1+BTwt{VZVUCsCi6*l)o|$ASZdBI^}i)WdISbEj}Mcm1{l|uH@s0oo{0Y zEzzmClS{7WIUQ43iqyQ_AW)u(EQ#4Oa~2?5K^loyV+*PgO#V3Ma^dE8QiA(Tqu`?vpdw?>R@Av4NfPtV_kx${X1~fh=N{Gsa>|VxB#3a`>E0vG&78DK zsh0eR->pRtwwE!QUzRBvzEUrKR-rPR+*@LH2;$jHE+=!q(nv4Bt_K}{|{?d)_)|up4H@1Nd06LpMMw& zo5!Z62_eqAs`#T9bDh>umqb3jf=1GAJg#j1tC^X(MC39V+{oGREc%XuQ+>_+S*T>? z;1>);{0{kF9TzD4fGadBIkQD8dRo)vYOu6R98!}elnB=(@p3umQc@W*tR}j&3zgnlFqPs?X`51c1m>O zm0jX$hd+-cv9@oEiKPBHdbDqMbn0T@i)^*msXRHCbrlKX>Wcf-h10JGlx||Hdo&>; zSj1TKMtgr{DAyA{5KLeqX#fO(b!wn>enLw3uqZxe{s~{qRpwS(X%wFu5 zRll`>pSB)VTVseay3Nj|fL*SABE(EH->G)#u@?D&Zd-`f21;@2%W(XV|dM$8FR3CnoZD~rCqgCwcM6DPBV z_29jV$x?eCtu&GGu;mOsCrvBv9Yr%TCMCcNi`<)RS24&PvcBWoo^HdHWpJ z+ocNY4D)o)Y267~9GQO0lT+N<7<(y_!&zhP=85nlj{M*sjQcq&-wyNg0$Mmm{pWrA zM}<7jq}@O_we!28@0$TahQ^d5S=istY&t*wJxK3;tU1sf98K#w|67T-Za`B+PaXun zXRQg>5X`N#T)l;5{rMvX_YoNr!v{q3wN_J3<}q|e-a<7^-D%Lor6UyeKB$O5cFZ<{ zQ=K>ja~kdNnBkzON7AhP^7>>cxd-+Y;!8k4AlK{(Xwh#Dx4!_Tx0bw_EedKbJK30@ z+>?EO#B7OEswZy=9J*J9L?ds#l?&ickWXQlS?(3DyGJJ@n^yt zb%XTXu*SwDEJ7*U+abp)9=iq_4TDWyxgepSBe|z?P0>*pWn-6G^lZOxas-d`B3k^E zOis7Ab)6rx^y0n~+Qp1aZmHqda#4EO3indr=$Y3on*bPUh`{dvzGb`+JJtq+xFanm zW8(X^Qw({VmaqJhP`LrphE6KPzd~cL%Bj?OmKZCYaun{`HT_chtEb$279h((gj0%(x!5F3q^_p z&aq5@4D|Usah7i<-qRdQ_3`DM{Mc8B z92+OOT4e2p4}_Yk#1D^6RNwpOuYu6FA=3}{aT#0&@{o9TJwgpCSWzT`bXU_^?e6zC zulsYm1yJ=(9@Q@8taEm=y?746Mpd-Lg-(^Mvu=Xf}NzAYTKCHrFLBU7)emP*|K%byrE*#g#WfO0z zS1>`BmP1;9#_OO56*{9GQPE_21Sjy)$2fi50w0tXS;_{f5X+dR6CCSqIlqd@+nyL4 z+wJG4@|*1HW28#b0O>Z5E<)Ib+Z>!Y1z9XY0b=s;=;uDSU2fsoa*bKA)g!&v2q1k0FTlGi(D zOER`P!pjBdmSZOhbq68F-{V|QfRSW7x0*GPYOTu~swRA^dO?nVLU{@Go&2*&$W9$! zY{&}F>~!a*$?cqO?*#HaiY_wAUNoZ_S8=T@NR1IuVcfP0VN-Pj(2+gHs2IW+?Zj{7 z!np-fX(lCdnJJ&Jm!x+-q9RgFOs9(-E`0mgHBd9)Viu~)y-o=l9w%YN#ok5JLyBQm z*~U(&XFRH9uhoM81_hq7@IUt=?k3w-9cvTzlD|zj8+>^H*IW_S0foNu;cj)2k|$G9 zLRQr-0F=);iUPhA>bt$gt}6w;`vv{NieNbnDf+5bv?H)ETUwU%Azsh#u1TuFs1lR7 z<&pVVOJ^1jhl7^!F}^sVdrX?wQ)fUb3V25*WPW(W{d~(yTg?rig2vqIITP!1$xsEMOKj0$BHM8y+a6EZLuL^>Vz~Ejv@VLLyL+Rr z)vPKosyjAUP*Tbe>1@V-_1Adm_jcS@=KEg$y(}(kq-A!8RgH6uS{+p)+MXWnjA|lr zGMHe~N$mEe;`(Y2S1&r<1f_UAI6-~4F=a;mAf3{OgL+53Oi-!O^Xq4OMVo@exVM)R z1*XHFtYMVom?{hUpX#LkofjpR&E@!66WA-f$Icf1{*Ok(dubthvedzOThwWxA0 zn_s@1{EG*!8e~bFtG&^g>9TUYWYR0;Qc$LcwEtlEv?45`5pV&fdxWmXD5Q;WkM=E4m#iL!t8s~vSw^&q8!d1}7K zq^|xB@+O#6kd58~qdg$RSbMf#s~gSA=9e$#df>|)<+{nG8DUDCS1z59pn>iBig~}v zjasd!Tu6*Me4%`F0Fl}}UOr)a_7Tu}Ch+^k#7{f@;Y(kJAg2TsGN2dky#RJ)KfcOh z?im@bI=)0ovKx=tF`SmPIA$>p!=&}Tz_sA5*OpjBmQggo>yJEwRE4_D7&qLQws@E) z`1Xh30p-yobl`nZL%(CRB~ml=2QXs=*3~xjR6CjdLW!^_@36C_#*_M`^Om(o+cmrU zncWm`JcFHLA}OGZ?gJsu^sZj+&2LP^*r=#=c$6IOw$CSv<$YUwCvs4b$ic~p^nvLs zL7$`Y7EqA-9$-0GFKG6|`x<|l4kQfbo|KQl!{zX5GB|P$SA0E+YqYa&&aj;2_qEo% z$#T0-i@5ML%O9z=yUl^+Cv3R@Wx+=&c!>86puGiS62VJX%I4we-X9DYS%6Y}I|KxQ zb*cqvbGOGJ4c2noy$Xj63mDx$_pBE_F_1YxEdz6D&=Y8+8kVFIXu`JGBHr=Ey=7~Z zx?$7VjI;Z>@MdHQ>RUB;N zCLeYuncn&W{Tob4A5}|c<$=sdg5(HM9gVey6|qeT&AZtX*O|0@1~rqUF#84Z$d2k; zm*m5-COHT#PjTr}(bNH@>=%G7$TAd1XzI|T$#%eg{5I;xJ~I|-_rQK>99Fb9%kHfxO(hr!XuK7 zu=f!$9Cm-WHb&Srv~-AWwb#q0NAR5i!@V7|I{t@?3K4avvhg2T0`T@UFSck~U|>wd z1ToWiw)6QkHQwynLeKru%by#kFY84YJEz~^cpSgI$-Wbko%W>5tp4wL6u1`gHc)ka z>nLs$1~Y%*H!g+>7ok+pIS^Qk+Cd2Cz?ybSkZ+G)w*g65{vy_35B$Yz?hOyRP2ea_ z>-!8_GZ{#r1z%08I{+Aj($t35!eVK`04xTsi3TE z;_OTafE%TWL);%O`U(%z&$g1(mHzbfApeJGIIv3jsbO>k2af<;(U18P|J~gIdqP>$ z$<14M-!vUP{l&Nh4zNakw5fRBF?vFQn`18Os(loFRt4AYl)Nt!b9(@7ca3_?2|i;0 z3eEml6=%OhfVT#5a7}4umJ_wEqrgW8@P=T3npPzT*m;jBbK(VkJ@WUH6oSend zXn*)T6Ns}hFp~M2KCKl4&R;3@5O{uo!ZAW7!rBMz5J9?35SxB}rN8GtB=BHy;$q;= z1LW$nTzg||*+BZ1O>Xl^LVK~|k6MfiFS(glb+X$s@mt6t>jZuxmKyH-BH`aq+MIyG z3gIM{#R2BMd59^RFt&4lLS%)TNK8${W{PToNhcmJ2|cZRkyJcu1r3YoWKm%M7jaNu zThO9Lzqv;Ix83Nf_jxAzXi zVRHR>B1W+L=0cjxQ)O1-IUWI2hF^32KUL5P(TCEXI#D9T-9qBO5ww|<5=(R`lDyps zb6XIQ^KB2bpYt5pi6SYefWnSM~RH zfXD$KTD9}XuZGC9*J1|84f4_w+r-x{(9|9*NcxLDY~XAG<`@yUVHNHy_+K%XHdQ|W zuwu=mWo7l~0rk@Gp5OmGuE1ly2`^Lwdep*bWX}Oc59->(F5e74+;j+3u=3Qfbi>1h zfEE&D9QJ!u08=*MzXct5Wq>-jP(TR!L|cpiN2+ZADu!@1uYyH3>X2eF1O7qRmA3>3IcdJ@Yw( zazM`huNR;j9)SfQn43T;<{Ln{4*9`w-bK`o3w+-aV2{86Xe;n$?EmUBfk5IqExQN$ z(_!@!M#HirP)2xo7M2N*^lQd=0q+XdzlT1*9ymuBz^$|b z0{CC!P_iNng0=hEhX4K>AcxySpxlE(r2j4V@z?^Dh5qQ4K&cbxb(8igdPRi2j*xF+ z0{%BHaRDGRN?xtJ?*j!63=FiNoK+n$I;u(T zSA`>_i%Tpf$gb{9;>?{;b$L1|ZY4ZrgnRN{jL~k#@^(*;_AgO2oiWl9Xq;pUpwDE< z^RqdvT0#{on>`GZ;`B$PhCh9&Sn4~ub{dlt5xPDL-ia)WL~tep-=tMBzpmc|YtE_D zOM@=tUta=6BE9$`${L4@%N+*P&m`eArrJ)*<<-o4=ZP*KVWH7pn16_ee)q(tU+@`P&g| zL=V0@bEz@XXp9|I8a5jbH)W%#XQKb^162XRU0Vlr0+wxrv+(|16f6)tO(!f)9N=YM zjI6x4<0}q++w}))B=E~HKTG#A?R#w9jL-Y)gwbODEQkVvNXOb|Ca^^`!P(%nRg&+* zr)jed@!U z-y>0uC*($PL-gq)wtTGRZa4EH7|_^(De?1v4m3dgtaylm$NYhEfJ}!hxXB!LeL|~o zVcQT1f8v3y@Grn&K|r_#C=wAz)g9#GXx(AAk_HW&+6F)<07pA1UTT7hyMV45P{Ej|2poEIzkvQ z!1h0PH$okrUohi^Pyv0PKY^-xpqJFx-X6CS=%7R*$fK{lD~JZ-e7|qCe*__rWNGIG zmsnDl@SOzEO4%}&zN3+XRjCQOlnDsQG=^7ID@6<|;l;G}2d#-^&|%yq1n3Dd+RLBB zB_R(~SLu2!T7b0}st8}oVX+%Lu_W!$t&_;$mL6cB#ixSX^yddZ29%;?#>uZ#9VaF5 zKP?wo+vq)&T>CX@s%?;fbRev$HcM7!dUY#?iqQT@O3o(P3R8MjjQ*YaPuc^4`R;vy ztQndhl@Tu`2)!9AAj zN92|gz{%QQ&1n7C9}C}G059h840sLL%GO`mxd(cBPudoRmM&nz4v-E+?k8f)a-*Z8H-KY~7W(;MGBYg33$QuAcCvi)8W`b1zRv=( zzx#H)^iSZyOh%|SY}0)_0X)_~rFhnhd%6zz`v&ZCU5M+~38R95zX|?!zUSu;r$plr z5fLf(6uh9Z8k7Ntd3%^Gm8s{cW$B@**iu?~@9nz+UGh8FRnCKzvCwIL}BtMqz_3o8^2gzXQEHtW>-BWkPw5Mc4hR zxI*|4v+8#hTA3Q{^<>@^?sl*emNAu_fJ|HZbkc#lE_D~-%Rx-_l0nUtQ^1uuA`n4> zaZq(>w6m3el~k0TcbHqGb0&abOk8T+J(GTScV2G?^(2bORFL6t_!ErVMzg^4*8;|; z{(9m6&~%kyRdwAK1SCa3N;%T4(%m90-5t{19ZE__gLHRyr$~1rCEWtjjd$($d+uL_ z1BbKcT62y$LbV|O;KzfNWJvM~flCTg2B*}KTT9*Mg~uPaE?TsCftglXbM$O%wL~7C z-DW%ZG9UW6=0m+ZS#+}LnlvxhJ%QCF4@Y9|$y6fxQFD5!vqGdF0SY2D=GfcUb*gYz zj^9zL!jx;*+%da;;ErJX_S!|5$#fz!E1At$h9~1isEurpokh4@no34!Wd&g2f3vCdmy4k)nhBDieNmbC8E-tn>mSem zW)rlb05MlDP-QjA$#wf0S`|BKC2LiuW)YO_5j1}Wp~HZBRM9y+{B8XM2nn785w6f; z&46(6tlo)ux_$eu-QqAu>V9|_<2P_S*nm!Fh~oyx@i>so;_BK<@2?-hDx`Y;eU^Tu z514d-TJRGxpK81P1|9mq(g3>CpUtd6hccKQfM0Cot&R`)A>6<@M)lARV(f8dM)0Jl2MyKAwxxvkryCX&l+|s@p!Cy$@ z_GbuV#nr21dT@igAPyTaMBp2^1IA9akccw?L5GLzphwRb)p zii$0ZcWO!fGthVVWQ23)n*#&gl}w(e@K}NkCug*}k~-axHdP^|;7{P9pBGtP)?OAZ z&@tzn!})N|>Eyk^RrZ(VX?3Z5e*?mt89{+*sBHTqR2E{i;RyV*1-xq4)6TiAi)lZ3D)AL_d3mug04sZ>Ru&rw*o zC!Tp|4ncgb^xPA-o({IDvYr;1bCjuLo zV}riHGUmy!*x)K=#2j;l3@OFglshB){rW}u4nOU@0Lhm8-BS#wA|#QKb8m&I+D4HJ z=5UU*9y^;9TGvw@&pZwAkkGdOm5!xwEr4qtbl-d5xj^})DpMwcp}mHd3y@cB($ z?@^c?|6C!TBc<=cX(3Y70>vKEg;n=Qy<0`A#rkKUC5TQw200YV&T|G}#RQ%hE==A( zOi(%iO}bmQu+HJl5)dIr@L#I){q016XmXVxt~&5r{h~FbRfL=@!E6`=JzU`8b=)3? z`0Vs5l}*KTf}`i>Y}#`WI-A1*4}!Dv#(=O)VPy<72}Cx{d(_$v160=#LbtbP4p1wv z-47&P?;4i;-f7hr+TTN_exM*K$WWfN{xN3!ukrp$?12Ja2-2rPixjv?#Q|J9=01K_ zR;5>*R3l#B&Ksa{6X;4HFK)iu-5jpVPTdorZas-H= z)b52k%ka;iXJZZEUVbqlB$Z=zT4d!qy50a=Gf11H5o>l6uV{A8u~q#pfh)edXih>D ze&snXi&%=8g%YJmc#Kkdz~3(a!`NbM+&j-HwK$p|)AQuq0fDC)RM@0PN|stzQG)OA zQ1>*1*`kG&?`D8k%CzO)Jt|pvHcI(HF#}4GekpfLcOYdz85%ZCK+3&Z$cKSN6?adY zm(c`NKj?)=0dgZICKgA+eD!n7Pa?N#q-g}?x}rZ*NMR+@TJWo=^fEo99JbPm7pQOd z@IhOnhkq*-Q`b?ecWXhBpC;S4ih}$;m=q;mlkLi&ZZ0J}_uvdKC_d^q<#E78A%{;^ zu5NG$v02||Sbmm2A1|>eqO7UGSWjy%P?IylU-!vQN$$*9BO@!p;JK$n@iyqabwlng zY#33Mk{4%zZ?t`TB#)Olvk*F>v)Jjep6!@n#3Drtedm!_WXNxD z52m50b$wF4@jf@J`rHo-i~L|wL;ucn=!Se#hvL_CQ6}#PH|C)~(ou66u41^MXVO=c z_IU^3HU<0VSEx*Fe+I06TiwxL-uPbv{-&FlY=EuqptaU*UY=gp*b(|BXb#ySS4awY znHa?X=EKQ^c3d@GcPdEo!*|mC0^p>P;Bhvt_JMA9$Ba7|hs{#(;bOxEu$}pe^#tTx z^D#7S`h#scE9e0#9d~4*4i(Z9nF^e}#1-|G^WIl_>Z*d`%jmU+{e1xWaE$2~-sCZOBR%YQ3SF1yf+=W5&O` z8sA6NvXlz`nOz-PNH9yUK~vs>nJHHp@18lE&otn4~u@nB&kR! zS%=>_82$;5N>Vd?7Qb{tw_2sWBeg~%Bw4!IK_uFgkJoH!bix6U4Kw5hOt7wt!;>_% zxvMR1ADgMzO_Bwr9t*h=b{M+k7t!r~nFZ>z`wpl#lVUJ6mWH0`=`2jA1bZ2%Q>xr` zHwX3Os?D===eM~V?GJe!p41x%UpDJ3+sMGyvJ0zkvAyR=K&rQkrG|8{GB0NxvLlj7 z^>)_D?kIwH)CuRW?vT-@UQm zcc^nx@@`p5>f8yW`T72h{}&-P(s4q`IQkj_6x=5N+6@3?fAaE=Jj(rAdq_Se?;BUp z@5ryJWcJo{!(M7u>b5=0)!#;In||iBWbSMPQ{zO8@ZSVaO_)WEg35ne$o*e!b`gB1 z681n9^kzonVSJ_^>0!|qwpllz_njJ9T~(7P{Ap-*=kzos0FD9kmvI{59msL-?+^A( zY$*?etlglPQ?Ss0%bd6Rq_3YzX@!Rf4@owF`ohQ6b|cdt6M$J%LmBe|KW&h=CagG^ z!9xg|;yUa+$g#~1M{3RaZ{|Iw&#&G>eRZRj7hjkXSNi zVMI@>(T6oDO8Z8fg?m!z;eLE$!|y|_JJpYODN_Ug(xWJnl^#@RhVFlp9g$~{5Z%=8 zBz$gvD<(p3o^|jEJ!bxJ{EJ9-fY6wtwFp&4-2MF01ieVDRONuGQvShk*`8BN^FY#8 ze@E+Yk4KccO_-8Yzw{5X@VASpTgC2Klwo&|F(l>7sc9Q^j;-y;Kk0S49vRLyR`25$?Y|w{aFR^F`ha*OotyqIbtS{eOXD8P>UGjpihTzF z&zQswB^+E*a*(orz!{hY%&n9^RvzkJbSmWl!E`wtaKHdq*b6A*ew3d5j%t z^BT5AB&{v&lc5H9d-iA-!*xw5lgD#v!OtHebfnkMBn=NAa=V?ktS2bjMf+)}j2#$W zJM#z9G6}T50H)ef*WV)K+Us(=OT9xxjj^S_$~*SYcx~}{&{yR#D=IQ7a5r5_A2EwR zts7&jdmf92Syz3Qv3QPpcdObamreUt$Cm!BT|ipQYXMo!l={ysIwbq*gVjswEh?#} z`**0tuag{24s+ux&~J5;Hk*nA6CxA*5Ho1!r_SNdJk-iYitp0O3v3SX&=m5sBM;C6 z5RkIhV8CZ1oNRvZPoq#eS8#!j6AgcDpAO{|!(>DW*Uy-#=PLKBI&ig*g-ZSv2xpIz z{}|_DO=(SsJeB@o^4FZ74XB7xXcn}hi2j>cnXD_giyaeuCXPbbmFWEBzg=mSCs_a} z<~ZpuK!Z@q;eS596~E&XGLl}4eQfPu)DUPuK#RBIVjj?=BH_E^E)heRCQD$R{K>+? zBI7jGl@l}werZ(LGY#Bz16ie1JO^&D5VXg_lAl6yNB-Punu za?SIjnu<4mX{#k6B8Tn+l5h=qJhj6np>-3C&H<(r6-F_}Bl$s61~^l-9!{NUBfc+8 zAAwbstJci+XN8MQ@Hwm)H+M97yc0h!QfZtpQ>G5QcZ+$ER=k;)v8B+YRPYBuy1%(h zcZr1g4Slq$brFKG0+JBF)+rzB5<>Cx;81^hsvfWet@jXq>TEB;RJYOU_iCFmX)mOC6?NYR=UBOY;`8kcXeOiI7spsGzi)3&Be z^vPIgtYg0HbJW@7sDU2&Q_6VOchVUHPDyau2bqlb)?F$R>?4eN ztjfXJ8xt!I?4~^bibs9tdDyQX-gBs(n!d8m<1o;5n%u3tug#+IhLMpmc|Sw9S}Md|1-$j~$Nxrlo?G#j7yuvS(#PcEx> zgipWcYv?(Po|3U~u6?#aJ^CYIlXm^+F85YdQ%k40fCm_M$}H($+)3j| zCHxVVZu^&exklmBX=i+lH(0Up-@-Rl$)Z_M4`~@Hl*42(h}b-WrqqbI*EjNSauHK^ z8HG{&r!2@n@A8gK*MIC!o;Liub_f5Wdr|^Mpt(7xL!KwO_wXT&H{h3}o+**!)Y!k` z+!2*`L*~ha942L$3>fUcX-{Vs3Qy_kz2p3aifM+<=8AW#uVXJRl4f6{!`9w;Sj?uS z<0V`w^%Z%W6|rc=@rGRQ61}36v$=A5qds{z%P*(t94B{Kmx zl_VxEn=PZ3S9>w2-)pTUW8(1kMUYsG?q(f8pDH#cF&byf^1-1oFe;qwL>MOit&3^b zTD?xLWME!YZ}jaBq2qZ{tFbkSx)fW9mn!$E3HjD0D{-;#`(%qSt|YIq%$Zla{=q+l zrP#$2fLYec1m7vM+KASS+n$?~v~Ym+W^(%V%)u00U4z5psB$LRyS z-Zs%4?V0(`op?uk_{@Ivi+dblO*sV`G_s2a9yv39dHcaXCIg;5&kRcEeA4h>^937I zJYceJv;W?H3<&BojFtb@8GRJZ7+5pR+)X4fMz>Z^4k2k_p0CcnuGf6Cvn}6qDO4%! zaXVo1av*+XHpKR|+y>diBHQH$KV#vN8P~iSObn3(ibzrTK#WOd={35B$;j`Hn${5{ z_FVj9>`~M=jul2S5zsh)dzm68EK$RQ1nNY?a_d+fp9XD-q*pyqLVHvRc)a!O6QV_ z9^W-hcl~`&jai>cuhw`N=C zuOf97Y%6p9>ltbqOQY2o0C=`&n}P77Y519C6W&+c9}^hx&UVI*wcNLToRA%&&}!#@ z{~^Rvvart`5pG!QnVz18AF=;xNrCEIt`Y8(%y(t0?IXfP%Y$R`uBoS{R8?j4%p4J3 z)qQV^x#Fs2W|Z!YM_V@gYxvb*bX2)ZKJD1#QYq$I?-m}t59%_@N#xf1Hxl`hXlQ7_ zVUWqy45QoF*qmDtt1fh&xwxI;$Ypb-z*0w9j+30C!$w+%Zu{(6{GIrzMj63X;%cq_&2K!|g=Ksw z!DDG^#i5RvEdTC&U{1me?&64ejQ0|m%x}3{$|jynMAec$`BHk2$+`ySz8uyg@}!d} z7X#cZRQr7A4?BI_S1J-dg0d{H6L={45t?WNG@ol9rlOfTJvcd}u;!AKZgeU6X}aqY zroA!dQAwIAne(4_7oLltxPsYLmX$R+f8T&RnB`aP$o=o&yJYc7Gs5%cHXn;8Eyujl znwF@Lmw@-CVq2S+wK4tZaIo1BVfx0ygxPLQKVsvl*^@#6}Tplo>u!SjPjl~Wi)iLbAv5Cu(o7fcTBur6r#Srx|cQO4jr(jdY9#@^; zvS{LM+~FJzGx+@z65P|Q(hk`lWq;j^C3N~NLyFgqgpSm}zGtgAx zYpQ+ME^V}YFqAb~t&Gom|0J9&lRNH{euNNP9GMj=SGiDn+e=y{V2eHlfRi&x(9wQ9~R%7=1)WRdBxw&D9d2C~DLN-rPsE_B3(K_Fq@E+Vi` z#9J)-BHESJqWHXE6b{H$sc{3h311LoSW=nMi|9>t(4uN9JvcRfb?u^CDR?^WbIy7Hj_yL0hCm#Ml#io~gE-hnR$ZmRfo3jdi zj~LH8vDe`6pJ5oJC6Jl)%O}-nY?mep`Y-%Z7_y4#mVT$c%ua7UO`N3iSRssRi0$x^ zPnCCX1~y`$w^E$_;%3q#edU8X>&KCq?LwSWD~C{S&Kg<=xAY3le$=L=_*b=QxeNV? zVm7aPxVKYPyxWrzqzWm-hpid*0Due70>eW0gELopuHn=dn&G=R#bSN}0oq4{eQDFt z+=>>OnB4T{J3f8&9?T?y;`l@R6Um;^2T>6vV_FmsUTqU@sO$wdd9Jv4)_aZ3v?*B` z9yeAngXZ?lk1|&n;SHfbZR`yANv-hBFig#2=+E@w=Ll#WkO#hn9R-A4Hio$^h^KS) z8?LMlo!!LmEE09tDWB@*z3glnVN=Bs%h`F){*@qZJ_Sxl|#{_Rz z=baFdn7XKpMJ-RHjhqksV};kIt~_=XCV45V`}KCe_c~`XZmt`j+kvwW9Dttq0``iH z71>^>RCmfq3(h*w`WMjn;JyGjTE8#i_1zy4tIsmU-HJ%*XSth0499O0>#jm<1f7jD zx3^|bw8LSYx&40$Y`$PKc73q%Ge^(L@=SHrPAqN>oX`+PNf2Qm0tLtaPf2OyJB2nJ zuHSGp*60o8=678GSW1p4V_{l$VHIVxSN5Y>RtI=(JGmv}L`R=39gL_Z=`zHdaOl>9 zRbnXHzUvp^!}_W$mfx1BET$UH2}|)`+=p%Cc5mhFkk_GkrrX-7o5#wGDQNu~w1+u+ z7uscE54LW4YCG##9WiOh8f%1-qF^Idi>i~C$_p!M2PROsY3t1C>bV~keK$;sx}}P! zJan`yM<8-P2RS$qA9rD|6Cyc7CF18f5my=q>$ihl*Y14RQILI|K4o^5zFVCgOPE!C zPc7SEvvU;}AG5eoFNT2W=ZlEo_@!4O$gJ=S3H}$mC?{CA5-~N$T`-Ne6E%Fad(c+= z@txh)J4@1r%UdU%=Yh2J(OTTP?s`h^-(ny%mg@-z-K^Lzd>IM<-V^Z4gE;zmt<}$h zruc)tH_LJ^pbgnMz5l_(>BLeRZJ-XbEuVe2>h4SbqbTz(n2Eg$H9WgX>00LTYqiU)}NP@o)GuC6>@ zHe3(L`9SLkzOq;=wpVzAA;M%x0G-%%T4;M#Ryr#{qLK-OZb`wNSN4OegtF%0220qD za!yPtMy1y|k7Gib)|5kz{GD_ZU>~+^(d({Th)gI*tmeouq4mJuFub-u^bl?SBh-+( zI+ruY7;!Mcd7vGcM|d%?YDQmPxNa^s3y-W8pR=qw;ZCXeK2 zwab{Lg;$;u$kur@+&D_X!UG0R&$eI+>whj&o)Zn=2?IxOy2;HZH1nOgB9d%Pv26I! zEX*hC{rkDG6g%C_1?<}GB0*!UJuBz>#N-uA!GT-voc!Y)g?StW++IqrNp7kEQ z_O|Stx`mW+6%^%@qtR}juTL%t+}p~t&^vjF2GhtdZ=I#CXvpTLQOS?Pg~@uH9^7bx zmv1KJo+WSlrHc!rlxj7Mx`}zFe+5iNs4s+SR1{!b`VJ1003cz|R#$+Zu?X^{@SCyX zH~~Ze0@E~Se4mRFy){7e=mAT1l^#BnC#hbi16&}D&Hi%UbYn;GA2%TNF0|n<#k3Z) z^f8X1izo!phK}1by!0dG{4io-*?_YuWtsQzR(_@;t#ai$eb4^S=&?$8&C1I0!A0#P!?BG5e=!XlC)0a(BSU z*txAuShnv305!Q`Q6;3(eTfCff?Ud7@7TAXOK z2-QcGxvu`v$KK3{%vjZnwv^+eZWiwk^C-zn-sD2n~K*66U~UzSfS!fhz%qLqW>rwT8pfpxKvNP{r^4MB9B;$wH|K^fZo&IT2`TQbceW7GcauQY;yTE&7V zYNqwaw(i=50&ACU*8faf+(hUXa;artu1%OqZ$cR8qdrAo#L_n#;*Lm^r6AVtUeBaq zKk)Lqo%n`60}DE)^b4@nUNk-((mJ{lw;LPzZ?Hh1Lv{I|04_0-9&`G4u@EDm0cAX% z7fc+w*xzg=B;4=+;W}#E_?z|I8)eys015(NW@oSKqcJWKdQsfzO?+`9NfhJK5)No? zI{{-S8HPq0s*Bt((zQE*jUIJmTxdjV9Vz3_lr{n4Bk|K_clV$ zi~4hyzJ9EVCv#gwbhSbHF(p@`j7F-~>cZHuRXeSIFhSks(tHEf7h-UzBsOTm`}{>y z&ZVXlu~};_;m1@R)&bU?geg@N_sa(%s&sp+(0@rjC2-y3+N>J<$5^Yqh-sLf2X z2sdx1+)xI#Ql*J{sMr!0^6n~-9a~i--iYIS>(zHA!wjr1x?>4EzS^nSaO*D5$|lS? zx9NUt(Hn^0-l&;-!ze!w+amqzX-O_`NE${Zm3%K2)Eg}1$R=(nt%-FL{e>1rX{~m9 zcyvDgn@%O^3^!P%Qmph-$H^-b8D z6|s7T!f~Nja5Meh?p`Ws2u^YeRRKpdni*S|@W1o_RAR!7Fy~(wIHYFH^1faXX)ob5 zmFlsDw_2)IC`*Zsj@I#j6ITe}8-qTVm2N?;GJMT4)waH3u z2Phoa5Q+_#moj;oamT0zO4xVz+34kOijx?J3}ofsv_ zGqV!y*zx$oDVv6}{SB#2)e@$@RqOJZ{z}8b=Z>{f50E$N54M$nJ{y6F_*{RoOVaYc;=aXlq z97c^6594EWbTl$g9tE;5O@w`{4{-#()#9jsq3{GK(U|0R z{HqJ^%`yR)=DsjtXi#a+(pO$cUBKxds(R3oqg0mVJAf!iq^A~~>Z^4#5 z*Zf7zvXmraAiVi4R%<3gC*11Sep6g7o@lw1x7B8JK=SUd)SQxNMe!{0^S7iw1aS|aQ%LYrzG65Pra_?QR4+j|Mx$GY8J#sT?1 z0-1NMm@`gXk!9n-jq*R!QX;fd_dKJN2a3FjwI#PJ8=t^3$rxIRix#P%qIQd&oM9CZK98BwvV?x zw@RkGyq|iIyTS=idgEMj7k@)Kmj6_43`=IiZbozaF3e~DkIGfXgB9~J)f^$GbMG&h zt$-llYc3rka)pwE$jK?%%gBg`_13e|pU|Q}wPdE@UGlaaq&Hr6CGk1WAvv@s_XgsI zLv}PTh+paErhcek+q{>L^Y3Mp2Wy4LOv!X&L4H06kh;(Gai3G@J7a=4B#;OK*xNwn zZ-AxNzW6z1hZ}IZ(e!ADi;A6I?1*Wh{?UbfzCTfK_u>ZbB-lGQAl z;6mHXi#9qx`s}S7P+reJTX)A7C5sk-dyb+($U8yO8Fo*$l-5wCQ`DzM@!=tg_t3JK z+b3prm9{npYl5EL&;pNIZ>}A6dur-O%3FeMdxho?8gtIACc|7KeLfiM+&O=~dC} z287&&Y!J4~J$7YfU5@hVSm~Lk+zl`8-P}@OvX{M}=NUgK3B~Zlsii*bK83VUps6Nf zxC9(|Lcrx$+B+5(6SM1mX}WrUHr5A`^dBydUIM-Z@Xx|!FVA?l19NOF@OZ_Cr9k5A>yQZ*r|Nf-psL$dG~ zR+_l6GAyJR5hiw(2&=8$?TlS4CvBi1DUjb}`ALMoN3| zV-1RpWpYK3p=FgCSjB6%C%M4-DhH!g-xO7wt`n)IqD%z8 zlBmIbpLsLk1iQJ%m57O`axXZUyq`2lKQc~Ay`e{~3k2$=S48Xgdg}w?Nm2o zK`yEIGc<^z#i%Z~1xcSY>Aam5EpuwGnB#;t^esb$VVPRO^7G5<3%9LXDG#&4x9f=h z%%Rio$E7AE`wbJW&g#Kq)EI3xc`0(aon-o-u-`|2rA3}&l280~KC{=xuOmHD^i+HZ>s7pGCT!5OnE6UilBXHH!-f>o} z)`n)9?w;>ac>d9kv3Zvq(gi|^P!J1;e<>AxgX(8bE6U3?#yOsJq5<3RCxUkajN)v# zF^VXq!UVfiKMD-tT(iQhHLS>FW>R&MXpt;FybpP?B0aSuNwrk!_fsw0O6A65lIt`# z3_QR#yX5HnPAv|t%hSG{HHKNRwJ z>PD*SqOJO(4+1F+0{T(O!iWOcl8^nfr_JSiu&J_Y-#UJ5?~5bl#yjxu(EAhNSGh+D zlbCq*W}I+f92Q+X9D$Hq;1Qo|otL=02{b_<2Z{S>2Bn6rC5LOKAOL+r$4vpnlFdnY!O`q$wW7tY(^9 zKCoNO9Ci0V=rvi9#Q_kU3npyHc}iLv6gH*6JSsru9Ci>I1*P&+E-9nX(2sE#FC6$& znpySaVtVmPvau&*Uxf$l2h0;RQ+4~UEcc(mSXo&^1x~EGp)|r5vRqkXZQunz-@bq% zc#bES0VmeZYhNj&D_&9Wp?&mYl?{G@Ssua|@#Lbq7TqsYB(N7~> zTM>j&fMGl75KA7hO#d+mJT7W4xWwf})diW!qXKtUaGj7fFl5ftLY1yh&h9bw0?}70 zJ@}tkickopn`gKH1DJCl6Kmbu$plDgnwXs2)pqq8BK+vj6sufVEQ=4=rXdR68Ppe{ zQ6VD0xht%aImzcfDY!=9S|;jD%kFe}U)IL&w5;=W##*_W~HB?)}-RDdrxabzTR7l3Z1_AvCfz2y|*VPnq2x!XUq2BMu;ow z3OC7+O$=QGfm@rTUkQR1_pFH*cqyD*rDSVT8kDQWTD8(^&nR_$FzG{|%T~0IzHcC+ z2+h{L5}CHl7)z>5t>k&>gdOtxs#Qmi#>Am*_h7HcNSb=WSR}Q=R`+~TqMTtNO6)6N zdBH-<7O!yJ(eoCR-kZzwQoCjOv==*w2QJonuRCZrA4YflwT$;}ICuq(QdrbI8%j$1 zg0HMsGT3x|J}2GL>($*)t=MH%dMmW9fSmB4uV0^4Rm`XVLqI^_0(Ps+?zIyX1Qg*^Jm7lr^j)3ts!u=RREb3HAa9V7{@Rk~C=n zAevi^-!g*thzqiB-REZqSF&LQ_ft3!vV9K^s>EUx6Vw9CeKQ)$Ui7|NR&#BhQRpLv zLiHj9Zp{EFN*9$2+!8@rtkl5#l{ZMbG613TAZC6kXXDN(XK=)~AV4iRwz_2VEYUFH z2SNMaK*ek?NU+pPWE*hM?6&nruP8>3xWfC;a;=%crsKf{4rjp!NOlT*e0~{xU6Zl( zc+q~he0+p2EGqR?TPB`bCN#4#2(8w-qKc*p$V^*L!fizgrhagC+{j$8a6|Un5dH&* zy^O90@Y*yT&cGG(t+tAolPb4PFvfM5eq|qO`j1BBpMKxCn&a3U4$@f?Cau0g`g}u% zMP8ZiGHf>#?WTOOY}gR~4%bm82J&-s7$>6=Dk=X9IOK?fE_l1B=WMUAW!1-f4RWTg z{~f`8#?+_alUHU zJf;4k)ENeBX(+3CnZ!w9l<4H7hZ5-7A$>$oUYX`~28%j^4MTz+n#(-{c*sv6-cL)TyqDZU+xTEdU}lI3^o)Q zGZqUT0-@PL4Jk#=Z?7nPe=OI}{FY2hS~z6CQg>{-@gOrw+)fL%)%XtogsNlvUq;&% zWV6W}%qR}BZ`&imGyKwhgnKHU&+hDluDs_3t zL-2UVTTjO^H8sat!g>eRjpO+7m`A6ExT%A6Vpf`a<-9dIvZI_zAQ95lkf+J!l$FWg zQp5jG78>&6MO|rf!vzqOfYD0` zXvyQt%kMgE9UWPrssv-4W5>vil?S{?X0#lJxngreit|V^JLE_(%73MO(gFz3NTB7x z9wIz404e5U;0M&z)rF>iI$COS+XrSs>~tPfk#e;NRN_prl7@D6LK7%rvBEAwuU73h zde;z0uHhg(E`*8i?(SkS76O5)KCn-1+>H4MIP$6|QLyqZ`vvoYED)o4cz6iSbl|sq zEG}ca@gmMs+{>IZ*T9$McjoAg%z*2&{|kI{*5cK4C9QG<#}hi`-~K&pSc!n*V!>HA zQxL?~8%a_DV_dna0x$lJkon2T$cRM26bO*$0jjF6@w}8<`ic`FU-Hb8e<__*4ia^T zs1hI7pt+5bh^Vawdn&rv%4nvS`fkN0@0yl7OH(9NDWqVo2KAKgjo^JNHcsT2?2$A? zVB03AroClEB7EwiB9=W@@t*NjRiCBsgc%~j2fF@~jh-j1YKj6$t9!@D=*hYjaE#q*+gx&pW6SrKk=LYpKo00Y&TA+4sT5f zhK1nrr5}wOENs4S(_u>?Zt65-GZjg`(oaJDzMS||&f&^jRk)l%sQ$M&gOjoB79j>) zx?$$DW!6DBuGBLA-~*qZ#E82IvkcFim)L|VcH*#PUkaTlc~VjwZ(Z>GcAC7hG^+et zFuu503NV<10cu76>hog##N?#kKr9W=oghFC)wTuhDK;h^FJpqFKD$5T zd;};YQ9-H$+Wx_TLXol^5dXbdxqCSN{2UHShKM_UxSi`z)yyP#rx_p`hA)Zn>{7#D z`kijI*t>)w)Dhe6O2klwAz!{=S)M)0I4P?Cn7M5i-+%RzqKr>X`2*RZ{$Ly(2!A-L zgmXLH9B91y?FkvMLmHiebPswkp^O2lwvD_li|rMpj1d4T-JF`5vo9pW`R3~>EBDka zNf=P@dwxDObO1q-CdHe0#Aw@`sEA|9>>rChsp&CI*zfJ{3sVx8=I(%@aEx*vK*4Xd(%OnJ!(Wmc@>;knsplNe04}!Rzq?fS{^GMb?suv z*!1)JIDL#5=l(cqfC2tXWMdX{c(eXai7{(q{Sb!sQ~QX}CqhksLaawkRAkI!Tr^fl zrY@t)kXW1<&?x+9{rW%see*Qc2jQVbiSQ5GTD%pPKgMv)SM_v{ROc(3Pc|X%!ZLFkH-C7Vu${hXyE8>5)=|8oI?wXNp+>3A|) zYeG@SqlUJ+1E?GrBY6nn6btA7uyGVBBHL#-FHTI)$mp7fUT{kY~ z^aL{#*?Cc(C}fd8dxsFa#Cav);pqukKCMG}XB3fqIF7z1-=H><3FAYe{@$t@@qZyw z&<*(_$WC35wn!yb=|k(8@Ik|{RN9$9B`*Y4hX&BMD~Mp1z(th!1w9y8UWu7EiIx5?rlOR zXXiEG*B7S$LYD7D$;k>;f;aqS#)YE2YSi-d zxW?iy%<$KU_K(@!%r}N9{l9#3XD*nEIXY{jf9tC21eDsqAHIK6-;}eKR0o4q<9bni zV+)bsdaPvXA}Q3zagfKrKrnfcZs2Hd^7E6|fgb~3M;Y>po<WV&e0Q~41Tlmjhu_L9crO}y` zgE(VsMHqfX&%Q)Gy7pDILct7q%9Sz#JywM57IFG)U!@*1$$uU#w?L2A+VK-OKrF%~ z<;ob#X={5eC-`tqX6ft0+Xt{#1zKDtlVL)urAFrOi?WWmPg)&pjGUr!UYO&(QIXss+65>zQz5Z2;{xxVw?4qU0plhK$Ugm zS&}o45nck3Qh6*!JwL9z&o3^(AJRn~iyt)3_s9PpE2^IX1cpiABt%aC_Iyvh#^l*i z^8tg^LM(AoFes>aE*B zj9->^o!YB$PS0dzX4c(5W7#$v8!6#W;+sYsObW=t4h$9~2y!f6{+@c(`3qUKA#x@w zHawy}GH*2nUtiM0n2B(86_u@t;*9)ho|ce--^&k-`zJL2yoS42hLbB_)FlZlok_oQ zIoJ5f^7R{1NO>old;D@LYf@>V(U3H@FN)8ScOae8OSv@nz~Jt+!))%8`&jnx*w?Ht zepC$S4lIf)upm~4BvI_4y1)Iq<4e&grHENO8o(nf%8ZpA@#NFn3z%UNYWTOZn7RR{ zhx{qJL=EJoR|xrsIpf`RE%Ucyel?qvA$u zG5WroD?_2yHNE_5qB@eet!xr7Ft0INzi;#V^l|XTHCJpul@J&y$jj-|MoANf$WlhS z><9ny>3Myob-f5)yNu69^e)$CK<`!ht~qh>ddq`|d?%&6f%K2?>Oo`+RqO$$d7?Eh z600?tbuJQ$X!goIi{dYXqy>^cl@&|4&%hy9L^y zfT*WR^C{}-+1c!-CJm-`BTOyh&n2L~y%FDkiHN{7VtEM}!#qKp;@cMb zQ32N}$tdp8cx+i0${cj;wZrTAF#P*%G31~E*#+@sW;%1PlZBrD&9bP-4yA8;dt{pn z9Uwq-B(J1I@k@LwbAdxFk~sYG@{%lp8Js#!PEOrIPEFckptpej12nL3aF7YhM7jr9 zDQ-YJB2bK`!x@4kppNQB(C+G^CDN#d!dju!Kb1XFaF&`P;fBq~;>~n1Z`hbp3pm(Dmrrq3{{8eX301{1) zAy!b}@tqs!DgFY}88pV$zfZ&>U?E_f*Z>OK7mLkyYr_9+BSF3)l(`*d?Fr^$yD|PN z6gUhx$nXGiY|8=TE#!h@KX06nm6Jm;`?Sq$f*k7EzcJtcF%|roD;W!h-c67{0vt!W z1NK0Q8y-^Vl$_w}7u3>U3cz5KpXlZ6q;>q)%tP&PAHN$1E$Au@WJQG5N*+yNvnC9}?Y$zn5ew2b zL~Xi-+w+3^x!J5!up)BhLX>xeE7kV&zBCv!QrTawN^)OxTmscKMFDxts zIs5)@w5Na`DEL($D#%U`T(<-Wo#(QGaocKa;7cIqpp$QLyw~R;EF)W>No=&=_zR#< zj25evE67@FH8$g(@~Gul02B%-fSx)!NFd9N9_{tpgNnX#ofc^7(`j*`+iA_pf(I87 zCzwb70*em)t-*LZ9Rg@AU*5b=AFZdYrxyv3ChH3K-Wi40Gw=$yl&(8qYW=j?AI$}L z;sH&oKk#F%oEV1`SVb97a!EwtObiS7r9goeGrzC`got71CL6Wi5 zsBmu?)rkLdAp{O5`k>+Y&lC})S+9dqEpE)WX}>W!Y3uD3tF5au0B!I!xG%qjF*KX? zTYG|n?j-yP{lZ|}&nzkVs61ed)oSqbY1KWy=VfM5QPC|T{PAcezS&JHNSpf%Eu|sE zE)~2T$U*U|6_FZEQ$CCPOcH7`Uqs3C|6}T`gR1_bwSNdH>245^?gl{`L=Q-JcXx-B zbR%8TNT;-PcQ*n80@5H-g6}@R``(#5!;JsP;lSD7wO2gPXF1(D%VhH|4n?d}F2At) zqY%>2W-YRmo^_>C2iH+}PwUfr`6i)vZ~MkE$qt2`8r$Ka;te<96X z(uw5yc2B2cx$36C81&L)Y4#9ZWbRW;Bs!btQgT7L7b(OY16&qxisnDZ-1TuprKea( z=;-!te>rr?BWeHc%>QG!)|5C_T=aJ<|7(}WYGBTFq9a;@?RkPDN&@q3t%~>-++<*6 zk0KsLjk(e>e~%xYMFJkQViIf}{i1$e6f7>BTRnzLY^)i`l`}#|ujlcsH{L6^G*JND5z5n{RVN(QuPrfLYQa%SpO4!5zqHjU25-klQ@u-}4olNA2)(%WQ|_MS8@arT z*iRp$@I8LN-zH z=#7pRs}4?2WgQ(k=oPagKxgRrRB;GWcOpSRkwjtmX%IxFkJAa1Zl){s<_~`#LFNm? zmwo&84W=fp-#pq)@qD-YH1m!rXEH(_h@g$&LXKLKtQVg&v6~z>;{Z-mvtRHV&@{k8 zuQ1^7IPY-!{;>lez6hWt_i1Px{rcquR$~gM)_7!k(#8nVJcKG0sCio4{cQklMmp zO`vN`3<^?3p*?&NkXcwcIu5}ITgy#~*@8GQjK=HhviJGz?PP3hY%pY1^4{z{P&g7` zm|?SWJSeG;{38q-FQ-%QZU*gQkYvMRkrcd9N-IjE-m>7Qbnc+&P1T-(A)oV%NVJB! zJ_^*d6|X*$sjqDw6y3xkMMBfhjI@wM&WSVnPsIEG$fDy!Kjt>Y2G+BBzHw1`InBC> zb;*DgRYr_F!A$EEAv`6RAvykVyib2N{&?_XAVC?7{J zkBP-`HBIG<$B~k6Z6ObIGJT1OetU^gl%^t7wo5;2+}U_N_o_*=HzTOmDU(qN;`$C-=BP6k`gxq{og zcJCu<)kVVDn=*T##@@3vFt;!lO30TMzZm%ofzIJBmDs!9SPeNNLK674$kUhW6yZ!x z%vAYCCt{m6!|Y3?>%=?RhwZcDy8bp;r*mOcSMKed@#a3a({37OqnyN!-JH_U%1eqR z5K>j3z`A^hl%vd`+0R^WB;mntO*#F*Hbytk$V+={p!#*#Ek`zo4*B(;0bbef?`NZ^ zB38!pNnxz*7ltKg5Af$I@W>ko_!;t_9Ph~mOy)8@g3YpQ4dyNQ~>C%p^_5#9hhFC>zQITBu>(@OQb4ivYEoPUUXB35)H-`2J*S?8ZgZcL2KRRaM zIl_dEUzQ95C}4CLAU3E4DgWNhSyT8s;T*!%$oqSr`Go}xU4=Q4R}|=9PEwF&Q^Qx$ zL#CjtOu0chPg=ss{cxo@AZJS&fLJ3Y zN%5yA8fr9}i%KA*{*d}|=1sw{ueo*qZz0bttjV{Y zT<#h=@DL`thlTjjDt)<8vbszxyH1>R%|LGzWL&}E+?iO%_ z!RZ`)$MNmAW`O0w!a`&KQS?B+=LhB#$=9EWt{NXR+Hs8(-X=~*zZdo@@zwk1t0GY) z3~SfC*3s4F^1pWjT}p{zs@>j={3QO>4#{7E&(`5mEMk+he5tWkb8{(S9sibJjzdCJ?mm;Xs76tVlSA0g02MElZgb&9$$GJFCSe3OfBVqONPNF z&5vM?11p=rGWE|Fj{p8Rj`p>K#1@vuf+wgJ(41lAlLYn_%(sCduuknZ43bC~)wT}o z1$`NC2WCSOmX-{Ze&-TkBr&i+0{L)1_xZ=4HAgvY#M{-S&M+|DK?b5ABG`ZwOfI&* z`<@YOS$)ylhth`ty#x*zK~hjqzy?JIeit$@bFZg>4|M0d(;|?jGsm(RzRb_YO(i-ZW(m0i#d+wQ1pt z{Q_LAa}gp@tLZ@c=!P*=^r|4QcMb5PwEdNS@jDiTt*_pV&E4)2pO-vxch4)r4{njs zx2b%p3+DS#xw^R%Hg|vC?aIICxx0llP5f1yQ?8tzU+ABfhj&SnNoHOJsaEO%Jvm}F zi3#hk-4Qd^{F>AiYm-c&XtFn%sv8reeLw$>QcEpTRtPmP^AK?vcJi-aVYF32T6Mzo zq@LYPrwFN|80nyQ+IExFN+TxDSvqU}g#1{Ahp58EvvR$aT@aUBdw)9I&-+UTPQQ

=V}9nVca;@mx| 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%0Awace5C* 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 diff --git a/src/blenderbim/docs/users/install-blenderbim-2.png b/src/blenderbim/docs/users/install-blenderbim-2.png index 76f04b5eaed4ed269bafde24c972e125e63bc8b0..ab81f74adf20762b060e3fd7ea0844672c4fa895 100644 GIT binary patch literal 93348 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 %s1P@sAj$usN2FVA7#^vCEJpv{sXN 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 CFWuJw diff --git a/src/blenderbim/docs/users/install-blenderbim-3.png b/src/blenderbim/docs/users/install-blenderbim-3.png index fb6dda9dbf858d599d1f558261d23a3a4bc8bc58..7af37299d96b78008a9bab87aa22fec2e36d1974 100644 GIT binary patch literal 111969 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 PpYfw7j|v-Uz3Kk}*kG(Z literal 60333 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%0A1Sm1P_;wO^L5jCz+zeC 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%0A^u1KRJpwI7C3h<=$lr)^Xh@c*i0Z4utQ0bl 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


O& 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 z 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 literal 229054 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

TXcY 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

u1eBOmZJ4bL+*Xy;hApp_S988Jj9i zvAN3iqbPkY1quuqzwPIuz!`vbhD>0XTOfy~w==BMU%dF@{DzQTH!ykkO=EGf>b%MT zj*y5@xaOvk$Dv17MG-L}HXD*=EkR61wi{S*d5MCjozzVJtt;P6`@WD_tC&E|c@TQb&rBl>v2v|<-EF5hEQNf+`@XCPBAH}t5-CQ~~70ZCtK zdb%uNbLdTcjkdi%{($E_stynsUA=nMprY`{Y0?YAm!?S`x7VKDM9~6g7vd4VRge+| ztG^$Z2>nY)Yr?%IwnNG(eh=8#_0-)qm59U0!XEGt($NwnCdN8KV zteT*lx9UBm5{C&gWTsq9BO_ztcM6EE%>=3Py*|HY94IDlZ&rg43MLhm%Stca$L<&x ztzp2@b9i_-=DW8Rex>o_0(oJZWFE!6Zr0tZ;@|!YVgPs*j!%q-7xrr z-;Q2l83F0~%2!K>TiAn7&zD&w4J(%?HaxhCF_K7^yES@oTHeF59d$E})`zLi)vPi3 z;)_F2n6eXp_Yiy=!oQ-vn6R60qP&`uy8BK3-Re)E$p$+W(a3l{Vi` z_h0?TnLM~}WAHecx9&+yoA~@^Fpds=0B_;VgUV|LMZ0PcWJ4BaX<_kl_m_h>EeR)} zhNZV&&Q&ML46-dm$z}t+kN9n;#XYKIF1$<}Qg+8G#4e1kNC&)sUjZd5hgjaBz$|}z zxZ_3+K68%`;Fn*&4d*B-D^U>Kzte(sE+)a_v$DDVz{VME7+h3Mkkt2%@sG~NVT3)2 zjm!g9x?yV8SFAM|iA&#TpeH{&JG)_+08X;gzqQSeu;xz-!z{-BEBHmYTnq-_ zpsz0q;>CZ(dP`Rtyiu#vg9uO5sl@&_8I|X)4cA?no4({aE90<7&94qAoTH?1ZZoSi zgt`gSwki9)Vl!mP;Bl(%jnF9Jap7vJX}`qiPvPW)BeilC8+N;SWXu!(RtnuJK)T_2`fc+heK?3=mms0`VaCJ3ps@DCuCy*hCVd&ebv+su7RLZKU-Bc9Kw7 z>Ljn=El^(t4ci1Zmym)0%e5|@h~V;*v74(iIkVTeZQ@HU^dvMUXC`r$_>}`u#Pibj zA2S4$ew`Z8Gc(}?o5)vQb#Un+?dd09t(@!Hx*x0D_i@m8niGp9uIUiqq!13((}yD* z-3q}d;Zl%?&bPcqukaD~rl=ZM6OEuDZntf=I#M~l5Dt}~7T>`?8;hrVLu&b@YE*3J z`l1=qOF5s8flwaGsN>2samlAN_{u6feYrsZdpB!|m^78U@p$szJ(Eh>(hVOs8pTarjsq;nK#apHuMwX8r4~OT0u^9LhRT+m?C@&kZ(X2NRg28ZtGVse z^!#(uTZ=@aOM4|MqSc|^>TDNg_}3&G@7@@db!IJJY95##GEmxfpP zJPm*Loqwv{K@))ic~ZH|K?d7r*5fnaxViVnnoB6LdECvtRScYduHIq$ zcxHT~ARYE88)k$AH@{)iLj>e9WNsgNYuG@k5S&WHlcG>u6InpTZBS%WIO-d7Gj7b` zQThXiffcUj#gyfGQg_RgT>VKlJVY+p2q!Q584a99hKJ9?D%9&_yVh;}8$IxtE1&-X zX$9=)0U`k~!UDBAF!|9^Mh-R992xi=N+IguD$-TN{C50bx_+CU?j;!o4U37iFMM7{ zthNF4pL*7`^20h zP65l2`v9g8hU9D=W>Gm|G=>HQ(QuLB-;nEhd^o7Uzj10+K>>{1plOgPP|sp=9p+hW z8s}xQ;99I0i|A_U6xxc(z5|LA&~k*aNWl~8cb-Q%n*fc^juDnPq<%j&D!dMC)v2ke z@3n4sDgI<#_p?`uHJAQU{ss9@Umyj%ai9}^Ue6Bu=zrz|PBAo~tbeF`6F`TW<>gP`x2^=sM;%zdT6H0jw-$4;34=w(-648>Z|% zP=-_u4HF;b%c}`K5FZuiQ1YoRcG;u0*UBZsyafDxHwRO0eW`;rhnPU4&Y_d#)B$9* zl;WH3rfFU`?u8%234s(5(OX#z4CowGAA18S8gjhF#l^#-1S36bFqx8xmu4EwMYP@7}yImHd=U2sxkR_ zU;fK|y05Jas?TLPB;NclmjKb(b$#OSR!>t$l|}N}MCetOSWG@{p!U42n|k>7L=Yw^ zXsye!jiQz1G%4!kw}-1ELD>UR8Q}L@0?|BNqC!WaIe~1Zw=o0nNp7f#vxK)zveC%# z2V!Zd$EK#mJEAuuP&1h|9!;b5{%doRN_Stif3}xE``+xhvmrL06M=H=GU%@eX@(*m zIB4pLMxW3AtLwfP5fKq8f6sICq*2Ai?Ec4n=2mEhQRXA4?$%v|=-dOZ^{fzsfPdYL zQSZS`Z|y0XIRXpIT{vNH{4%bK?-S)HQW9K+VglNa|0Vc?W1{ua6es{eCh{EFp6-w} zgv>4QBLto#+NI;{b^fV&5 zYD7@D5>9%LeZkn|5I~eFhYPK6{k|h53^gK5q_b$;+P}!j#oe6*{02b_h9eFk|L-f(u?~A{km~KWNZWYUOKDqsVWhrc%vWK;LP_Ebu!lveYOe;jh&+nkP@o(&rq6x`S48lIM75pB_om z&F+*$fNUAvCxoMn*AEL25#Y|}$tjPwSn#fSD=1)dH|}eR{hhQv>frI$G{nX$P?9=* z%-;R|*{A6=HOY4$vg`y@cqhn!n~ z;Obq$khnM=vi9(};pF6WG>gy+`nLiLp2DyHj zWsHLb^Z$S?@n4(;I{uILY+Zp;?j!JAAK|)kQO|><&Ey#}ri<|sfZ|2aFm}S7Y4Azh z{y;9x^?2=q@NO5&?xfnBoV^G8q2G{Mgo1|x9&tysC@coN3CcJ!M(h{b!Av=`Qx_A5YR$ld;p#g!-|#F9T{U_3;mnh;R4JBd*(@qd+mSuwV({QP99~{X12(fZhokPA7bNq1nK& z_tYH8xHxa;V!4!c>ixZBwvL1;S|Lz(>Melk*( zKPKEP@v2uhbf~JTq%dD!x|6&j(&p8Q6bA=ZeVfw}@p;{XQD?L3;#P0!s0vxBMII#1 zEfMVvlbLu|I1{m&&Bgr;IOKxEj>B0Kl`PRjt~VK1F@5>s>v$5>!2S-cgK!% zO}FnNcklM=Mg8v35ZlH432_=W{FJAFTtSRa2x};MaB-V`HUYVc(z?1okc%^eD%)%S zF=o9W+7=X5E}$x1ddrgWRr2h+0C2F`jqnUznf%8>h7|CLmr^!Dp?x zwwdK@Qc};0_%1#+D$^5sr>+>=KK;o13vT0BL|8<@^f5gXInw>fAU66f850Rc6((QW z0D$WR%xhy|HQ}`*yQG=nvieL)?3>q3HhgIzGmJz3gALbENAwe;{gZ$HqSXuBfECCZ z+Dfz_{lgdpv?Lg1C_i@EBAh%{JpRzoENd1EPt~l(S?r`4tf(&Wa_4?O&udpHob(Jh zZM!Q2K<$cv3_D$2(6@=utHErtbo_3VBGjO>0|VF=G}|66JpzTgyIL2z5&P&eC-JGZ(RwErf7C6sh#KS~^i6vSix%Ypw9b0N>Yahu8sh2d8m$=!FE|i5 z(b5H=nSo*uwe^f93L8Y(oGIeIN4y|-{O%(Rr$PJb^&n|@M(A1M|2Y4q8eqB?{irSj zgJ43y{@ta&)t-_^W?Ou&D`I9g8z(e!C$4DT_LH7EZ%u!U zkUm2UYad&w?1NyW3Em>POynG~jYq_te*3(50lILQ7D1~6e>dcRuzlLV;#StZttGKG z(^5vpk$IywTL&`LS6pwOV&Uht{&+vi&MgHy8*`Rg;xZlJ$?7$Rf~ z7${Th=lAiGnj>8(sUCA7bEk71H~-^oGFw6GGchj+iEGs~}z!jXnx_{h>n_Di{a0X1^qPN2S$S(Kcf*jy3c+ zxcm4}p?R?np>^&nJ!nd`1~xD6ISD?HW6Yxu3XxzG^+fOz~Qd zi0)x3t}~MQNx~pJ=AnPb)OxEe>{0XBc7MKQ6#Z8TBN;(zjLw(7dfP4 z%ENq3Rr|`jAqWNnr;x9=h(LmUzAu8o3V=J(*uObYo{Lue0V0+Eo4L_P-vA(I|+~@K`AcXgz24Ox<_H>pQzW6f5>6M)2-C!&dCRyNLXZ zwlit*Vg0B)NPzZlA>PtFITLyAH883E2bwSJdQnKp*X@ofQ^=(~>ZRDN&q)X`r>aPd z*)6!>G5$mVya)91Buge_a*h<=tE~4&Uqr~yrwlvvoH?vUZiN>(KYdWQ_dRHB`iJ+_ zx;QPzOEX;Q=C7!FgTyqupa5S+=5=yPibN-M~-WMuHkF=g@JWehlZ zKqCZJKW0}Tm#1bTu`c`054XkPS0-uo*By`WG zk@G1x(#&d_RJ~esCf_^5!S+-@q&Z$lbrg5y+`Y7_iZo5or4#B|xQ9pty6(Z%)duuy z5m8Y$u(?HBKim`+%x2~HG6YKr(0GQSL&N@@oRwBOz=R~U5V+WA0mnkG+-%^o9>`3= z8M^~~PU`FHi4gEM0ip$2kIr7?#~+lxe*FTFR>97W1@tHI1zaLs4`qZ!a%c?&4Y1=7 z$h;&#yE1XR+&h`}$;5{aQVp?J8jya8)>papFejl)EP5&e%bC;nG%pKhP9ME2l6|9G z0BBU-Dltt>{B7?ld=+&w5U;Gx+iG;^-y+fo5t6|HEZ}APlYorGiP)2Q>rosYz+-F>2RKYd?)|RsU!&ZPJt;A zW^hV^!omJJW{J~th|PiY=(bwT_S$&DM|DqIO~~=E^vKHfMU=`vJjz?j>{~&gqXFlE zAV+~Pkai@i-r+Q=E@YDboVu1^75dii-70>{?C%E>nZUlg*V)BFX_+{;W36S`z$jM2 zvK7$wSb;qTEMsuw<%5ZE`b9*#@YO%RkERTkCZnLLY)Mh=bPX0w8iMj8U2PCOkRK(5 z&xAupyvXM?W@LBH(L<1i4A=rvV>O&DmpYZMB%w%z3F4(mN7&*@fP50Vp~Tz8%&SQk z4XmNT{N+YnRX_eIOI#%w(|{oW*Vf=_1lO_%@G;n$s>0TgJi7;Z4(Dfc7q`K1nG0l;pnO29O-?6} zGja~6wVjj>D=E0P(Na)|#7wD>J2~_J;nsB<76?zz)qg)67D4xeV2ZGWoS*C{zyRs# z>G>{DDMy!I61~dgFGv}uP!9Mrbx}W7mS}5KZLetw!avTiF1z+Z6AvpZ>F*uW6FhB2 zNhU8Nul2T&pU}i4;K!+nYXl;A%5(MpR+k%iYPSvt{Io0dxhMEOM%$bak>eC0=VKB`42 z^)B#-K(YjICZ7aq%vk5lx@v0vz=!Yd-L^lQH&}cBvr4dPVV_3*p|lJjC2E!hhc!B) zmvlH#e=Sci9qtan`lN?Oq+k;cI-Gduk2CaRElP~H*RV}Pa>sGLnAg_pT456FRDrM{ z8R{KARDZesC10i~+p5RUU-tMqMYv)$R891+@Odv6G7Rf-QCmn{;gl?v^FKbP5?&+6 zI2K-b*uBfFrec((RVd=>aSux>9%7hROxV`jde%*|T4b6}x z6anD50N)1_gIe6@20ZTCAMW^Yb5!d_QyYh@5E5b~th6ZN-5Iv?_VYSV^|ej>D}PUL zdE$M|%T>0_$IDlmeV^+`9^^kYD-Mw?ILsGADN2>r56qpue^4-T{}-ZHYb5kFplhja zVDq5Z${uH}sB5HxDVvnO{f^8VwV?Z!ei75?;jSW z;kkhaeSiP4+MT%i^9%ttVYaBEp2uK}K9oq3X1kVa$of1`EtzYecDnTAjAQo-ld6Uq z*rM^}o6PWq*kx6=-eEl{cZij{gR!B5cO~RHW1Mr4O$Hf3PK^}qrlE7w6Tb{r((jX#g+`i|Ht)cN zGn_Vn_d~ngSJ4hJlRT4?glU<`BiLv1Nnf0rpUt0OVr|%n_$1lVQC(y<{ThsT+mH)yHg9J>i(Ltf##>Rq3 z)rBshI}m`vgE-0?NQNXzuBpop)tzRJ7{tg}R~SrcZd5Jnj7SQjc+N5|sQq{@Og)^A z=e`~8T`Zr)WG4OlSwFCII=|yI`%4cgql-wD%h5~*JqI4lTg53{jFj`oU~uw<0B)`8 zlBXZ@30(71_{vhWsRXBWiXL&+&?t?(;w{xl%zun3|j)6zv#>CO3ONK_o8E|(qWiY;nEF8_*)Y|vY%RA z=B>n;(`86DW2m>knn-6f1E}>EikPVB)+E*Z=s5Ri_hYOs+>!+GB=-Qj{DR#PV1oDB zgx>2n`4HUyxjEnLPWEW3g|`^j?IA11mAG$HvMgBjh@5M%<+gjS}0dM|U%i3B+hL zhKI~vY~Rm+g^vNyK|6DjNdN#kjZL>c7{g~jgwe;3e9e!HjFh&sD`3}CxPH~E>76;o zQ|ftlig_dJfFAGMbrDPEQC=10`i~CVMPvd7*JR`-ST+dH|KUfl>5A+nJJ9?;n!Y<8 z%f9_zMMX+RqD0xNtOyw?WM%K2y+Ww$vrw7I-h_}%NcJZ43Yle(%ieqbj`Mzg-{+tE z^*pcVmagkOKcC}x&zs_Mt?sj1&JDj<=MzFVnOiy*>Igx#K}bZ@0KqD)p$sMxi{ zi@I(4-Ek|lFMiyD9b&Bl(`OkQjg`LkQkr}h;McnsIr4=7KeR1bK$87mD1Ah{9S|0U znuHAv4Y1U~2nd8%}vMVoHcDj_8 zlb@YuTNH{slZJ%WDKDQ>+}Txq4Pl>}JE`F&7Y)k4I_14N+A2=!$}|a%e-41=CNn19 ziqb$B+qV=9xjaMus;p_z0)4EOrf}w4Zox7Hw>sRta4nMWwm_cejKdk6_HvDf4Nn-< zy|f@<};*(KQyDPMR;PMV!9c60u`BY$i?0o@4M%KfRi|K2g+cKc?Ygjlgin^ONi9kmNv{g zeJ=?yq_A2%w@&tZIKReiYAj;UxalVluR#FnQ6Q1M2d}6rMZ3LpSsKz_pE2*lIrFi zhquyJvQMP3TjD=WpGEw$JhUvHVJ8@kW*~I|GSL*`lq% z(v9;!S8xW-ac$ojzKj;S%?6)HOCjq$e3}k&FJtB01Ce3Eg`iVX|HC?iL7KL>y!@ zdVQNx*Dl=n?Avl%ni9sf=)1JQHt%&hOg%e8@8Ii4869<2sW+LSzS58r?C_wC7SPdm zTDswoQ_!=iAcys=sWFQna2;S<;Cb$aum9xdbC7&aYdZT9a1f_F-5sn@RiR=;Kin_h{OzJTdZ?`6gq^cVjxuEtZU!snu3Sd@ z{6DKEoTz$V<>I)43>ji1wY!y;DY#Fuvd1K~hIy`fpzj zuN8VlD4W-0t}rST8MGefpYIQuCBo$C$&P^1AP~&LD9i;OETlk_U9-~pWw(28stWtX z$K8W%Y}8rrxURf^44ju{xzl_+VK7yZl)U;_T?6N(b6~s`x7J~+)F%?p<{uy??`TOp z1JUpJJUpb)@e~pTnI*G6T6jYtZ$4c5H<=)lW+q#a97xlJH9MzKG<937txK>*`5sY4 zU%k}imZ8af8iHmWo;=9C{)e&6owZZ6V&qd(z;)o%Z<7Zk1M31tcVJ-&Q$jJ=bugM6 zO*IGQOuq)D2LDXBimJfn;*KcoMKUOcEta&bn(?;x@k@I&?S{A6PSYwNM^BPPg`38C z@O4?{j5@6?eUO5yg1Xm!Uk|m&Te0JB=pBf_XCAa%fleQAI%So6wD4Ri{wF1#5d602 zllr@=X#Is0=I@=ixs23PNOkWfsPBL9Hn&TcyDSh~Ii;KhTUS2uEm<6ixR*wVx;2Ms zi(g|J)y>k;b-o^hMEW2vqRnKsj-nMo0eZp+1@BhS;ER3U{S zO47Hgft$(fDa&63+Xa>Ui8qPyENkaVrV*_X?QCo zq}LIKDlMQxEF3zI=}E*8S=mdK`Wyhxpt)Bjtt4=5pAvCVD!v-gy}Q};&Gv4DaM%hj z-k6lZPpSa7l3|Uz33{$SQoFw`xPCFOVvN3k$L?6BOMK{DwnK63nPp4x{_)bTj9{(y z@#R5WAU6_1jUNVGX4y0Ca$y3k zjHJ9H;}6}L3wYAsV&8ccfVSB*Fmq{CioxH#a_-QwbDZrd!deJK9ZJoDbb)oh4E6m~ zZ|0z{M(OTbF7mk=GQxsTQVslv%o3r}MjtS-3(r?`7|;JCJ0CdaOUxL=WIn;`bN#Gw z#sxY#O5E%|0yz8bf9{>%ir}eK^>-@ghEvb!q_RI zBO+boHU%LVaFQYU8^(R=;HM#Oc%>f zir|)D;?O1v-1nn2xC#^PEpSV6Ah&2gg*sY(dr3HFNhHuey%p+umP43ffaAf&$yXaz zH7`}KGbbOBy$c{Zoha^=f1;p31nGKMlNWZ7F9Apgq3$e6+Hj*|6U5i zx1Ae=1wHN4RVLFGYlAc=Y1;RCo9(P1dbwQ=WaN?Sq2``5$`Ufzv`=Zn8Sn3^Sn@m? zGHe@ME3bC_t7CZ>NaD3V^Pb*LJcdzts-5(QVsoYU0HgpMqj8#-Qk`i+15E;uv$adZ<>l3^@n*ZOYK^>d*tvF9kE ziM`^ssUroopudM3k>U8S+x5v89rmdRxWjYti%4W_OE2l?-@F%fj)x~~Ze=vs`vMUf z96GORrS6>>dyU<+?Ty2}5QN20$zM?R!*vkA&qSPVl%0(x)t+~@6qX6~vAFM=ViiB`sz|TM+12rg6q2mLXRHIR$07ix7hhxc!MZ)RK*U~ltMAcT7 zLi4}{a7Vz#AteBYRe;**2&_T1Vf>Y^T4ot43LR|Ptez^7Y2lN5JvJKzH|hEZ2l+qx*aGm#zg*lq=-IHijY??pSNZ?Ds+WaL$XzEg zt13sWBQaQTsZfZiW=0j>5F-xJopBKOQD%J87|;CaYFU4$mwTAT!ogAc+pq5~?#dWL zHGTV+1yfRW!2zVA^S#-rzFsQ3bzH?JS z;nY%uc&AE{`OE6~b29sj?U5W}oP%Hp=K9DPa9~yX7cngH|NNDzenMJK{!>38Q@rr3 zCbU51M@i9tmTI2ZDJKq=2%Z>b;2)uuJW;V+lUve-6 zrUcx8rn6D)cyND1auZ~Lq~_*c2C4z>yEzy3-Rdk!WJ@SXoUFO%XL~*vB!M#=as}8J znb>xPMLTATDz~@KHStgXqVnQR({D32D0vKOts#_bj&W8Z#akym+6;uDWn*DWa=&*_#a@e>jGyA#%9D=h)slPVd zHG!f6|8A$5cl%6i5epLjG|**4HKP|l$~uyrDMSjs1Wd?zR_qds>4$9-LRr11?PeX2 zUJaxU!mc9D-U{hEWx7}7Ge}i8@>=GV|EgNemqxBmte%SypLGyGUsAoy=H0a!X9x!& z54aQ73Zia+@;|8b#!W;esqlGoPK5^zR0!ml#0LrXA>ked5Pl5q)I#Lc6M~)ceK~Vu z<0e724h{7v8NoQfbo53f$$aTYExURztM<#E2##I#I-hH~8yBxY6Vjsm4+b$0;OJu;t>e<1K2$dPc(&3;iLz};BM+D&xMiYMEj0DyT4Jidi5ez@I zwKxZdhm`u&%1ouhQ;(Gm#og6b$^lLak-~-b52YEd7(hNHEJ&#D^*|-hqpv*p2%Dq6 zNX1?nLRcBHgRFJg!%d97gAN4WzL|cAs7~T&c|g*^bn(MKd4U-+08ZhvpE9O7q=2`e ze!^a>KH~p>!7pRasJm&+7os91=hMS6Q7ra!5jo~S1G+Z*S&S|)nt$f(unI9sjET~( z-Pp*~HgnA`Y>kq=*~%6B{_z>mBtJ*;;B4*f%6;|Kz?MAw z>$H`L^wNP`+IFXV1ZPWc3x9mmB_KL=NVgHmnVMQJ55dfY$fZN2 zpKog`KCVkWd(qHU`DiKcj(=l}DlCnYT*YsS>F)Cg$Gz;7x|;hsI=EGNo-)bG^h4k5 zbv4Y@c%Q_(@Zu>lH?CZc80RpkrUIKL%m&ND(z7dEkm{n>oE5#yY?(%8Muqm*A zmYCKl7HJ>QAW&Zq)lO%f*hVdrJEsr@jmmJCT@~)mnROY}@eb&EgU0+4DzaWbSj?aL zJ9ff{#x|j0o_i;|HNhO9kJ#3;L(oB^Jmj3Ne}YEv@yeT;hD2dEdo;)_s^*B{aKE;; zw(^zlKnp|5=Xk@OfV3V~R)istT|n>tl}l-E*-x3G<0Xg5U^;I0%yjZ#ElDLzYcgVC zRf)H|WqjZUc8>n2l|J`{OPhj`;@S;S?N;*~0@dPFPX}}@Mog-n5+I>ChC>fP5sya5 z$H=8Xe;4RP+? z?SxER`wBh(Pn;7zx8xrxw~|4!Gkljmk8WGYDeMjEPKgS~sRd0vdUG9A^!IVk7RA|y z#Rxy#%;m|}Kt!Xm*m1=k!HmG>k&X?J@isRzgQkSq#Oq3Aphx*JeypO6iI->6xhazy zJoBlM?3ozT$A&X-)WUrwwFz{6w_|$5u~v51J>hd3G7&PbJ_h}GD&nbnK0%5;nkp*( zS*-7seQdZv5?je#ogW}m4NCaC{94z2y$KCqMZS;U6cD>=-*EYXA(~|fzIpGb)GoL< zYwN*Cyhrou?!cSM|9}-n435URbCp2zp)y(2bcp74tCMe`YZ+*l^#vPClfK&l2mv1; z@V^43);z?xN5wV#kmi-BKwfC?)Unp^d-h< zK96F`*+TnG-q9n02t5_UMwnZM=y?N^sEVipn*6u?f(!|_6E&>eE#!%9W0+cLnLs^T z0`vr0+y`K%lB6cvtTTkp!MhF1oEnRrT3h4h@wi`0n`sKX3N~Jsljkqi^C)SGpShK= zY++;b_Aj#R)oK&#O-kNzR`=cj*GD^YCLvw{0;Z3oulcD=Z#{R3c`cIklsiIPB&mTV z?t!tB4Vl~So4VzfscC5u#4LRzQ#zJ2XA`gv0{@@JwaEpZoIP%!zn_muO6hWk8!uPQ z(E*#kkrLzgp7o3zfm~5CGL%ZcB|}eA)Q6l=t37ICWAI%xO6L5fJ;pIjsA3kKKb~S3 zplqs>_Ijh039~=6(3cIDB&^EhHl*f|#<$t|z!;=@45GU+7sUuOv_8VE*DqwATvNR5Uh< zcduUO(C_$imR^D~xP^<8^Q{#9M&fkVzU%`i8Pzyk&dQa#Y{!%L3`+Tg)FydoWn zK0f15MGuJ4$8q(~QXo&4VGR~iz!*vOU1qK|)r8RFpYGV5egM(wTplhLwVBRmBb@$%2SWh5b$Pizr*CHUn0%EPA9h+#TOTTm+7O-s6pGXBBzAD zBtK18PRKr!Xer3=X)1e}PlfRAfpaAoB#(J{_u!_zCjBLR0SgryA)DE6;@h@Aj$Ks| z-THJP;(e?fCv0AG{{HQ2!+5#0-4F1)dh8}D-33)XyP}eHpdBw~F-T3|Qwk&&259T~d%uXP zSos(5s5!}hiVCH6=N*oMWVj$n)bRs$i?6+w;QEF|4=DV-;}cphPP%A=QA;duJ%T;A znT_?#D!G7@{SS6`_Rr7WN#zf;XH{C6rZ7*UJ3Q#wp=o2-Wvmu#R3O@{%Gtbx138rg z?jwMtp=Av~%0hm*hVDzelUciy^NR!dE#R;&gs@8J7Kfu@9Q4K1=+FlL6(Um6-0uc3 z4_?dP?L+cCufagEgoP)#0SY8OqCvb&N$%VtJB7iWLzv^mniDn^@ERb9dAY)rNMSCtrO1Z*a0Hpb#|q@vnz1f6X|c{W@sL31BK3m;Jv?Q=DLt6DGI{ zbwptk)4E1|`mh9R0fW6J0>c*?>kHN)V#rr8+SFTKrI)UU-!6c@qj;-(j$&qWKNKSk z!K90Cc$eN?pss~vNEp|Yn8{enOVd`mz0BYC>Dxx|r;rh6_I=d|_>e_>C>08ua2w}q znNY!!dQG)+q=aunoI;AyKHk#G6n3ydt38IswN1}Tokt|dBpB^f2^{tO8l@R1p0mCP zr}r~;c4^k|w;*;Q@m0K#hkd*r zUWRMIqC2=B>&pNkK+)*+KgeQSB;f zQoLOKGRvvk(X)3F^|%3p++!41Iz)69MrkdXVo-;G<BgXCQG^64qLnjMhN%d^zT1SIhHfe|{~N`5ubrF>_cvxhpHWxsaR@Sz-~av*!sm+0FW}{eKyNV8<&YT9 z_oSf#ow9Nvo>l#?A=VAOj+n_H)jr|PXE{c-RpPOJu%dhc?HY`tbIZ$jUBz3h8v}eIN-y}gk3(P8j9;srYnbuVq|zhyER9DV@OV2mMPlF4;mYX z&Nz5x7Y?Na%E8f1p{bwoJwEJ<+JoqWI~UJ3{Ag`o30!~@hWr~-3W38u`HaVg^@?oU zsmdeM+ETYNZ_R7nJ}S{qFlvj;178<-#!-{b+M2zRYz~y74OyyY#6B$AbLUTT{NAsUbg}56&Ntcf?3q>s&f}hDI)3sJTVb zf6K?Q>>rizgfs0sXQ2-$L7DP=dPBhEJBggx8NRq6u5@5T;21Q7>^Jy~PzgMIasKq< z#S0zCLbprbM*K#L33qGThd!@okR=!*<4Aoz^c{GvnkWo$`_C#-HreoU|&L zI)LTtw%+3>t*$#qS3|5ZGi$)WcM-4+k}vUa(*!PD(YP_KYE87w6eGvYXQ|(&_$IQ} zs18*HqSmIYQ&i;j4>C;9hh4}HaZ5mtK4`7@eY6j6kJx~SKi|*dR&v~TcwQ1pXy$)` zMK`U`(OLsxsDyYttabhaZjhyqrg;`&El|S%OzRL;+}+#jy}tf3-l2_UsR9F)K&YX_ zjA52B%r7Jv$cUq9CQ-E3g*RV1vOM!)4G2-6Jbj8>Kz&u;_l=5%{(H}Ib8|sbNeKod za4D(d##Ah1Wm6E(qFQTso&YSIL=)aGh^(FABSPV{e@?y6P*Z@s=&=*pEzt4q8txfX zmk8lF056~k{g;6h6VO*pE3_Hn*7ex#v*`kA>fh_XFW6(mvJhVJ&z6Ons2`z;Pl<+^ z*%cjS{-`M2ojdJcTRQUkrpR6$QHmlns<+*ndn(%IYiT*6S7`Kp_VpOFA)y@_qo*gk#t6)0 zuvlg7`VJqUA-97+UfcxP@fv(~)TbL9r}bW!WQ>)9%tuqE-4*#h^My*Xhe(a1jtd+R zq&e%$dVQ0NwvPuy0+MF9sG-nmUhC}elxC$0Mqkg-vmv&p&W9i$YOHK%}lii zn%Vd0s)Qg#w`YEfN)Ks~aq`BVqXQD~4uEA#XKUB$v>$kvG-@sgV|fPMBU|U3Ran?e zeRh}sUVvDCxKUAcG-r(5MclI}K;8=hHH9Xvq5dsTuHr@}E6|fTat`)2>h`wh!Qb9Y zFmQhU>W!Pg8(Ff_b_`b?>N(w8c;x1G^Y5ebfA`eYkgHb|jBK1P)}`|?<~|+@^;>`W zQ`q*a3d^(u33m*;Lz$4x>lP|}o_gB{(66|Di;Bu5r@pwW@5WR%xhi*D=iJIlGaQ-z zoHJJC)m!mOL-}Bo)qKvN_gt7nDk6u&iGJmxfYO+|QQk8~(*MbBy&FMa346HY`KG6< zh^!vQs8Cf^`s;6{1gEJG6X>X2c@`QnjlY=?SdfS{N#7d@ne z@d;ouj`6JQy!t0Z!i_uE|D>Y@8mNc|f&anBo}W;OY&}!Kg8;4!w6SPDBk2=>x07%- zvj1$w@Olw3m-ux6{8_%3*8oBA{!eK*_vCw^_L_xJC&=m3X~ zg79I(i-JyJkZUvvw`Lt!VK3o8Ydzh`R)#3VW?crIF!IqJbqQ;6_tjRf2n2WbGZ%c#kZH1Uq>HU9gZB>M()~e44>n2ATkX zJfU?`eFdkt{oNWj=%Mkir%n?CV$~kSVIF2&Emgpr$`FM+sm0QYpN_%zs^vD2L6)jr z2ZOc?XrhcX(!Z<1)Yc~8_cKfPkkwN3MVF=fFXD9W8D*PG?gdmX5E^{ zzDje~s!_f3g0_@v_Kn?)$la)}d4W4rkkrk-P#UuT%=KG%XVKqfD0_Me3nZ#jNEll+ zcb0Vc94Mktru&Jj-aqA6Vi;m2oIleX$7kHDa>wTh@kR180oUKqQu*CZkeQn9j3bl1 zo~zC#p6wgo5@g|Y9#~fUvdT4Aj}~rqOMa?nzAa|?VO=JMZ+`l7Cqs<}2J782B?h)F zaMlCN4mT_0KHSdV%e?lNV>LW5Fc7_h{3EE-nxp8!S0kr{g9QB~`gJF-_}Dd(qph4& zDW-qBKz&NK%NBm)E&(+HUOv9>kIo8T-`MG{i1n)7*ik=p>E_XwnaU^;CZnIN8S^~` zG)FWq;S;2F2giyY!c*j5_~d3G3iO~|Mwb@QnY`fdvd!fI?H|W5flZ>;GU(c&b{;=- zAK~RKG+%7GZqSJKCBcRQUm{EzsI$!f3?VH~+N1kK*RucCo51LGKU;AUi>qd?WJ+#u zt@czH$9?VzO+AzsiS7I={qf^*C_TCR{KA6K>Ik5xsOSC4mGAxvUj5y?mbOX}XVqxq zk&}JYSNRSN+lP8PJDGZfw{KYdhsWXTBNTfAB$4g>CXb+G@kix_?19C*`|+P)B?Y>? z4t!?t@Ead*?7Pp+&B5S(fs>!#7anbtlKwxRNrP3%5#EiT6mBysLhmc!F&f9CA%Erunm50+ByM1kG^q(;HvUO2m!4}fyM=a|5&Ma2 z-v4lsA#hy9cgb*mmY09|Aeffe|G9-7jjMs@^{}Us*zjYu2Dp-N#hB|0vn2dyT%H9HmfjvU0B$TbuWwd{9kb`?Yg!Y?g8iCOmG9;UCK+Os?%Mg|R4T4eHpSx2g0&hC}x2$C~*I@Xy z4rv$Agwq(O8uK5<*NE|xz3ZKSYjI8OW&O!pqB31-Kj*VkQ*;y$1wS>(M$x_u{KEvR zL{X|@{8 z9;t^?Mk1m_dLfP$7O2Yvo!w1E-|VeDM-AM_rAhmvBdlotJT@YbsCIjM8<1RMPzJ&= z&TiB>bL&P~F9@IWCjp8usU+SK`9g9E)BY_;cjp7%*bDv{S*H+g0}lb}fn_G+uGGlY z+0Fqz6AWaq7z594C6UCve?CbGF>lXw^-o1Sb+`CiI4?5>&|#t(wS{|8V@; z9QV|^*I}oRPnmp!dW2KH;Iz_{$ocOK3k3(bv+q61yK@09&4#IUPC{k{dZpI)Fh4+u zDL&3%jpKupt&iA=7cay&+pfgFnvp0dqjFw+z>$Jgs8IT)fg$d~Zc3O|%+Ri=?nukk zgeU(=(a~I%qvv=bu6pW#V8s=tD{m}Mz4FGtE+?;_Swq+I(Ti18#$a)$Us*vN{2U5@ zQfTDjIICi=(3Q7oV_NsqdXQXB+f{ABvupspO_$n zd+pEzijce;=FiHV6}Ki=#>2qQCc(*{ElYLfBYF`7h6y1SMKUqkbJJk)gmO1yh^G8y zR#fg}P%`%_Am!KiMOXmvzBpqudOA4AL?E_=cA%vHPM)ep)O|;2qC+l`Dc#_w}juV%Q*Z@`EUBZeXu&x?Zy<;f{Sc z29~e$I62xS1aRNgvzMJC#DP`w0UgC;k+kZ0n07Vju3kh#RV8+VW&XhxCNHvYg4($E zpn&F=r#@1;U-T@F?+$hF6eQxXv+;u%1)U85JmiIXOgp+5IjBQ;4nF|(1%nIZG8_vq z=A(b&(@#`&updPCS3nMtI~%}7P^z#Nf7tfqt#g26DyT0ZGshTXp-{(ToNYNi zI{SFru?W=a=a<^VB_eJs0&?>5lfc~7mclOjgT@trzn8FJ7{eC}JQ9i$!hYT=U~B@7 zuP~;gmC6zul2#sfcjK>;q1A~+MPb5+s@>Als!*6scZEiTP ^kL&@MJVW9g|Tk1 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�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 NqNJgir*O&V{{!p47I^>w delta 237568 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

Gd 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

-33eGaIh)k(A)La!h=J?9Qssj3k9VcPSfA?H1xO=cAPW6V#HX;~wVf{;pT3s@ z!znG}sMlUDiz}wox|0|j(X9Xtf!An}AcTdg1Cg`Sg;G+KB^7db=mRuII!SkIn03dF zUwDSv)^al=K#pr&!8C)DAe`=C-(u8gUh|j}c~0<}!j^*qRdRuA^HFT!@}r;NCjd$b zVj$W;fd|t86CQjsu8K*Qb!jjl@YJU>Y{&>LKR>ls^$ z#=QLLf;?&vF`B?=+`;iy(;Dt@ATY=KX=43%z^^^Io~XgL-Oe9?05*IT!cxfY`|s!_ zx(@q1^7xshY$WY?ju#g<`7;dTfQnC`CA&ibM3kPf>)UKBaNClFF_MLWO&1!;27DKybR=+4m0IS~B<8@;Z)KhCb6&ovhd211 zQGMVL?f6VXGXl9RxCB0ru;SeMM8{{*=mwM? z3{S@bC6vOn`QgKky@owmlnV{Ng;64!;~oT7=xX;j$4nk6`}@lt9RNev4cPAU5WJ0a zaOR~2f$Q!9;jYJjB+rfx6;qEs(fwIG`Io4RIb;E}DU!$rgDk^MuGFxMyaQmYa9Q8o z*~(!}MXrSZvI$TdY_pn5hr8IEom;B%hnJy;H<1S%+K`g|OuBl-0nmy6IH^GCM@>;t zhCasZ&t@#r#RBB7H>{Sq+0n+GuvAz4G~c{=W7rsBDSxu6B?xaKBm@_t8iW2kDE6)V zMQc%=WODr#hq98I=<3q@O!qc9C;`~w!YtRbSv=KVlyTv*(O@yJGTEzNk}lWvZJV&D z{n=mMoYRf{nkXEW<}?TOat&!%oPt1$?o_e{!e$hbWbc>rk}9T?l-!~0?WC3My!$nP z3KR83N_2Skp2T0i4?POt8L#MN34qR)o6Bajz69KC7`ycBQj#xdEShC=UL|-zvBPXG z5cIwZ%Ch>OCs>E~X6{CWbl^(Rc_s5MLK0AHV03GqHwRxj>#y)cb+YpFVLl zh_T{)XaNyFYChF8*BUzM;{<6AzIzYXzkeo?KRXzhq+fzO2o;DW7(2W@KGBHC_XAyB z23*Nu6{5cNP%B=7s3#e4dqCrCwt>JN`LhHZ>3oXr*Iz+J8TN7*+W$<-;p@Y-0uv?I z&HBB0kBlR_0I(g@ml+^$g2MD+%_^G=v>*FR{76@T7fR#F1y|`y;y^>|gENlg<1?tMM zG;tpiQe77d3#`B!H!w6^JEJQYG(u+|NZfn}X>~xA)VTM2Y;<|quE?~StOBX1kZ@nb z2cAFR1QsG!1f`@1;B!P>6^AC^rJfaCZt<$uXW51dIP+$i%2Ldjs zU)D7XAC~H#g$tgxeYmslG(^HiRHZ9VFnWjY#YoJLm~@;L^TJWiT$feQV%{|~i-HCk zl9Oy~gTclG22=XlD@o_M;}3HFZdm>{tFw)t+-cMN_a1`yB|l76dx z@go70(gTuLFGcNqC~#NIQ@6JA6H(WaNC2N4a=6d&Uj%*lSg0&8tH||MK_(_x^U*V4 z1V*j`LIy=78t@5g1vMw#-rnZ9D3K#o;q>@^f=u4AAX!*xxn;G5jtqV1%%(k3Zm*lb zRII^S)&EHDnpy0xxiH+(-yGbICAtDk!0Yk1Y*~?htC`CWJE)?2KA~tpB`XH!sInLD zV@>M|T*;*=#gi~4rpP;Ql7w{MvI<<;hTNTn+L@E$^+pgX;RE7_6|h^8k?^3z1Ed|O z)pWRgBkUZ#BaW%rAvWYY*j(O#JJYbri87JL2;~yS-zS|CoED+XQYK7lhWFHdz>^5P2xwCI9f z3Qhr6l!XraTfxli8eiR(!VmWzUYEM!n%`Vl7~>W6Yx8}XJr8UukdR$UGIhVmoSWnM z1X%3h-~G{qB>1=gE;2M~Mg?-_>F=4Gt!A8Fto7PZc<_MtbO$j%qeR_rdxHqIt?xzJ zPjf8!-4%N+7HiByN4&5HVK-P7Ha6KstT%PpG$i@~cYs=-CK`ePxv#Ue@Z|JAsupb4 z?Y~XKYsIc_B39TI#`;lt%8zUGl72zYE&c&Okqmi0-54(;{W0syK)SPrDOnYpeM{MT1hH4(8FQPAle@wb$K+{5~3eLp1}#C~WQPYlPRrq!lzq3^aSI zH1iZ0NpAqW|C$EGBLxLqD!A>cn;vG68VUw3*|->!S9_c%8fmm+R&jAi+?Vz8p1%PP zfrbE8rmoSoS2|jgXR(eA#!=M7T)4y%^|ocqK^h}4~?6F=hH*z ze126_RG^JGob-be6EDG2_&Lr`FnmF?aXbcOsY~j2ufT16`e*Z$7?l>*vYD4z2+*MV zUF3_@V%n?l1pWhEb8~)4n9-u1DgatP2P||~I94Rf={ewou;Pps9aQVp+j8js706P)7XoeD(jd zM@C02L8A|00#XQYF-%d!dDH%TWM-B*45fBKZ zQDIsOXozTTUbn3otvmw9uog5E=`kV|<@=`^5B*V48PB9IJcejYzcdNz<_ruEdgRzm z=6I{s8!XNz-mua~pcl=hOO$`GhI<0HgkTJGk^1A}W!UK42E{gUS*9$8@q=XQ=eLXE z7qN#|pyBTEyIpovU@5NO8ju!YmeQ>aQ)})OmiYp}sIpIxO3A$K>#E7!@g8NK%T}ro z9_Nx47FA2L!OL1({spQ0aM?tZ!QuMqN2?zh+SBGzc`L!Lk>ICPIAgplzM82m28O}! zpcsOx3neL3W4vXE25u3@j;(Mes0peV-Xxvy&@NgLo$(&FbFuRwZjh8GQn`@G_aJa! z6L3lwJ`L5r`>OG~L$W`eZ)MNekJZzrn15Th={_|MqO#!gdkX6*q?0 zilz=nqcZ04p6u_1a@H*KJCf3VR#zjE%V|0}ckkS}M9A{ZU!J@&9Cf~*?)$8=ntG1veJChU0Infy2v{zNSr-;=Oo}$+o6vAQ z7dN3MP|oXdYu*q0WZ_ z-LReg=Gw0}BA-8~1#(?R<(8-&NyouTM)b_dpC^)YZ`>a+)uN#sq4LM)8X=#7rdMl? zW{_SDDJTJ}h!qb7=ts*Sy7AYJ51MjUWDad9T;viy|2WWC6Y$Fbr3bB++yM((0D>MN z&F^oQi_BN;{P+Sd2C2s{aj?+aUawGp4uU~m*Qo*l3=E9XG&|Q`z%4*P1fcypxMAFR z(lqUx2kK%3c;aPmBP?VPTfuWhF__GFi&M#~)DP~s+EudPl^`0qAJ6|7Ot+3SO$3!U zS|vmLPqW3>ma=Z;@OGbO87faf!Dbm@p;aao>vZY$gtlDYv^O17#nMtC@+4-LJsdcyVC*p9|HtF0{5VwI)aHI}_vl`kpZqpp zJ*kV|KKBI@41hArV^ofRI>)85H|Xoy#h+^bYR^;bohJ7OaKCv3o*JAm)v2R8+sD?hqJyANS<*~9mc98Wd1UIgXZ=qT%V1E;tj9ttP9PnuyP?5W}ZHYXP|iLx4!s7ku!hD3m39Y)lB*hDEZqOP zpInoaqtMONKGa4&e~$Ml$9*0+N1pHtZJnH`IPBl(iLC0S~b1xvk;*B zW@jY12RtQe1ga7wF+?M0dr0S#2Fx{p@vzYE3b!_MFPU@`7U%^?1cI*1r7GEe14ERR zdwO~=K(lE3Q=ZH1vmp-}&FKmy`aFn(1dpD!ciRKZ0n-l!h*#+$=$s z(f1h@=uRhHkPZ+bl|Gt5%Qu+JTEglE$`JTSVS$rpd*$?7P4)$o%h=}_PJXFU|1h9G z-)6!{`V5RcM6Q^9)8F2-v$I17!Dzmm@7^EVEnZH%i6!@?2g8K?bAE}dTyv=5PRxKsIyT!lP&a8>AKprBRb=ua2FqnP&g)b*L9THV|0E( zvIOXMRKYS4j`0YzOTZ(hGu)~NUjZKh5*nGpEld~-wh{o6qQC33M?4%3N+MCTB)85|m=4={E zD{MQ!&aVZcd2V{`I@WE3GFmA`ORxPcB@U0BaX_MVQvvh!l0t3H+p`|A!kO_ z=tj2{CS|6*={4jyp!p>L!nyQAHv%1P6A(dv|E`ae1VbL%2gh&}k!`a;$gx5uqry3P z?NuTo74mgrJj5i=dqrK{7woy?uD?l6262fZ^g7J%Ik1Jf(=)OgZ_Svwn9V>tUb=|= zbFQq#Y58;PPJ&I@UpJ=sEN#_G9f`|P(8mU90Lahf0pKIp(d%#3rX|lPELZHOrCBrt zy)%?*Vt)gGf&YFRyWG9<0gQyx>6xG12A=#rat>{#Wd40qgjn^EE*tPeZ%UW-rHYg` zgFfROu)n}Z$Tp0lM|j|^D=CzDkZ}P(r?nnE6kK35D{cK^6Ev33N#tI_5&1D&+ki4I z{pt!>B|yUfjcST=awUL+XiW_9i~(psxrn&<0%Y3TrQ8DcDuRl5zd*t11`8yFP%Cd3 zz4BpIZ^4L)bkKnU21Q1gS6uk*w!_d2p``=rvcU`p2*8fh`v{H^G_JqC zT?bNd9fX1!0Ses%htIv*i@S$ACCD`>)xF{8-G)qgm`->3W{t)H6#)B%kdI6_Mu?@5RMkESmu4R8jG3aHmPPyUZg5YBH1%?YYF9FV~f9Zd$t zc)1+pkql@R*$`aVd~9*ninQpS2^O7gd8KU+P|vUWB4O65M})sMpa^_F_`zk-^ft>B zxSBuwT;X!Q5t-z~VM~55R3}4jD_LnrpdLuO)YJ2!EkPuabD^at`8D|f`B*&pg0TZ` zNcZQ1fFU-ynUmSFmf+BwrHMz%~6;Or4jrE}bDTr;8>F1w!)E(E&Y{(=A83t94AFdeH z+nHI~NZfy3dlohhG-dmBi!o4f=-~$sj=x!rFW3UnM=M~kAZ7rk^%QGe{N-V=#Xyaj zUlKX^rH?e*A^I=?4K97_i@QzX7Aln_On2;IgHAUF zALP~JCn#&X7FaEn0h)lI^Yky^xJ}zCe^v{|KsQOz8l|wL;R%ugW?k1D%QQUEoZu@+c33&jtv+- zlc!+?wij{L(r#Do0njs1=}3+OEsvi(5%%*a_6k+FE(0RnFW^ErSwlyJTTzhb{xb_s z@i%X-04qhvfmZ7qhd7nH-q&iE$B!RRpM&|DU{b|*?i)gLjO3f(Y35Ekj6 zc#XN);Svx#cvJPrmlCf8Y!B}voBN2spseZZ3%yT_367XGGu3xe?GJMLZd@nhb>FzY zt67t&`|53pf4f|F6+g9Cc*o0^PC$S6l^jauyte7ifZ0jf@=(H6ov^Pu$;62dx*9CW z{{(?xF&8lt{i|v_{!ov>pbvqP=HBs>%B|gh|K8QqT!Eo&ERCfUw1XJr+AL$czBgCx7u~j_#d>V@RX-dJurO4b^1NiA=YlaBO3^4aJ2>T=IV?gd|Gqp_Y}W9(`Payj7n9+7 zs>_>GCGWnmG|=P5;*vP&q5?=t0Y1w)g_`A@`~2=vNka$R(%<;7=6;%#OgAh+yHz7tV`Jzpr1-#DV>{>MAA(D1WqLCLWP>rUF% z#$3joL&>wWdqP1$_eQ|=I11ng8mb5c2NgKMU6H)NGyVsh#^sOaNcPw5<$KcH0%T{u z$F0#1?hi?D(h~9#mqHZo%+j_um5ti!t=@W2gI3JxWE@hE2Tuc-UlYC4`g1Dz1Z#E2 z!SpkoXwTKHu?7An3$oIk*b3Lh198zf>wC*$N%T2n^$J&H0xq;$-_Pkl!d@MF9(bJI zTIv@|b4YYpV9fV%O!h-D1;}HXKu0bm)Vfa z`;2XOk!m4jwNBM8N%KKQzBL2k2DJegP;>k0AMXA8>+IwN!SJX!9-3zEo+Wv$o6NBp zWP7!*cb%_o!iTjGK)wp}RdbQ7U~N_yS}A^9z_u2+GR#;U8po^sHcjxz{r1YIBl){`{p&mtrYt zwHLA|=->Uj#Xn@o)3GdrQ+117|95p_?Tqe_<`-pNpKat|T3v0~xj1X+Ky5~S?R?i- zOso1$i+PdRo`a>aRfQ=7fOMm1%rB~_wtP5mVZ*ibIE`cCEunQ`2fhEldnlI7+qJ^k z!*$Bu*`Z-QFmvIwqPqB|b6T>IzJ{HW{KA=D+Dv;zetterK4ZS*O=3;dD!_i}t=Svl z<9Z5p#BA{F0GY2=gq4~pc`IWHu@|5L=w%BabmE^sf38<(W6Yi8mYv8q*TdwQ(^rmZ z?xj9mkupFpXzi2SlXtp}`bV*R-Nb!Dy6ozHtfTrBO_K8#9wsp zmWpYPvg~4;$84zg=7@H2G~& z=ssU%E*lX=orYU~GkUxKdLMBqg-Lm$2NuteR-|3>n zMJ*?JnCaDD&ieE>%yTCkUzw)=MU<4-1$=!=zH8Dmqr+0(&_EA*eVBkl;RRe|-f2H% zVX(M9J25iDSy8BWq{K86!TfA>xsTstwB&9_sYims(3?kE(?|6^iNjZR}A zn7WKBIxh3>X{Wk3#bLnU-(yZmu4cwz|M{hC?=&wKGRxp(ipS;OH_&?g0%O2Hfuj~@ zXGHg2d(jx^AfRP8B6h95mS-j1gwmCuscXYolP(lFJ34lyJs!GE^qr-{#i?M zHGLv%qs^J-+nTdK>UkDs!&97(Ek%uMNXP~=r?NvItVo$#yegwG2kR7%xn;BZ+o`>X zkBTk%_rb*lHO)E-yH9j9%L;;%!RCxiG+YThFNy^cRxjIy2`xKKYGb1CVxDZsxBWn&q7RYua+ZQenzx>H^%X-zWTp0&vYi@OCk4@MS}o<;X+hMByQe60fG46IB!p#~t%A@@AS*cJmD17J&V7eoOuTbCizU&snQAI_~PT_#M`6@B1^KM^x_* zj5t-P{l+V-=fg3%MV<6V`MOkFgnuzq&#n>>D~@hmfW_;8tp@xP7(p4ozR0KSoBfKJ znHl~=B)(>!fBB>fI`-C-M3yLk!PY1B)ty!q+Cc!Up*;kU@d^yRp=SU_!CRNccsVUF zNQ5*W705(hU*`ct7-Xlk2eghi`9B4G9_r=#XjvB@3t*3gGr@eAZB@C%#q!zUF`Rof})US9GZyE$9<`MZA0X<}|_LOt<=?}nTRKE~uEW2}9#G#6qJ%^_az`MZ$9~1-85Is_CnAQMwk{*1j9MW*yF+Z)!1oR&; zQ8R0JUQhOOM<@V!;I0>gcnpp17u&od9vov?tacBquI353`_L!Ym1~Lg@*|qTe%LyL zQ*yBjOm;5mPf+#1d(J94>KCpQr1~ZV7x)v-$;G72sQo|1ZgYY*7obyhxd*7_l={g%N!BIpI&`4+yMuem_@%8cbEA20niD;@=Sn%|Fc7A>l;32b8wE9KjAE-D=BSwEc*+dIBIzSf#LufZ>?m=H`Tc#FK!ai=EgNg1x36MV@hy^e` z)$#p5l4KP#9ae%U&5)16<45+?omX4AcT!PXq2XZ|A~qCZCB0b*l^3TW0zmVB#xe>} z1L5M~K_7%cUgeFQa$I{NI@7ur9b~0@^X9o5Ab?J<@Y~?EnWmKDJDB)=J28sAfhXG^ z%TT!qdR|z_Ko^1A8|ybI#u=WfmIJyg zy*LZmzh9a6r}r8<1H7`=ILHY6R+|=iT95`(Cj&9dI_tY-r_8jgSk9w?OU&K#9{J3- zm%*w{rNI`)yqPp5c=|lorrlS6Yl~#iDRV{eD~Ts>6|)>=tKe1AsCN6k#+OXUNK_Ly z`kgkA-L+$&CU2OQxhzb}Qli8n8}YHi^j8cW@ep2rUTwkn8eqqRKYvEm)JTblAR+>) zxyc*hDp_FFr2={xs*t<+uRgY0H3Lm749s6_E{;(PWmL-H0sU=Z0p;1DhGD&S74ti4 zb(+v_>nlL@h9a?mcK&Y~R~lI{vcFiay<_g!2%-0_4P@I4dKGtbliv|V{Jbw(Q$yhg zBm>q53<jrAmT}`u|BpDLW}*EUHb5YaxwVe=(uk zhnI?wEG+mp*{>eHS|ZdU5?C!LBa}||M@TgCkD>JG#_gBAxZ4S-4Z+oAoFd*%ZfiTW zgHI~2Qm1>!^~){r*bF)T_`50IVk3m!)FcR`wG3x=+t(47>i;xkl`8SemINnTB09kr ze<$GRopKrk$(M)Ps}hixy<)O#sYP}}HH zyQd(F?PCWCQhBpvIE?C(as}AT^Q!6oZ@5h3)wnnvNf^>zJ4GAfCGT>xhwG`m`=69c zA~zXZy`YFA<`&OO(n3M{o?FJ@|B$$@HY#7M*DSJpKDT54P^|WHX*yEho&K|r}A)_*}UXle#6G%M$8ireRFI>t->yK|GKOhDb!;8J)@*9seHhX zEtMqpYr@a`jf`0L$5kszZ&Wa9q}cjqH-c?+i}SN1kCg0@+)JE}Hie^>x$l0$BZ~w@ z7xWO6-iUr%ef;6$ zM`ce>Q8;KpA!1o&JUBF@?TRG4${_QOpjiHHRmKP^)`WbW4xuYiI2va<=GCZz0Tk2me!p z7`7XJ8wAly zDSA*jNY>}i;+re+R?n)eg1XKLBB^~whWcd>%i(=%i)h!B=Qx=cWBevKty&`CA(fRG z3-q~9%qkqI?gg@ZsO*ifx|Z-NG}eRbPF|m=JIspy4@T5gvot8X8KA+Dezf!78z1w|lULa^I) z{PSQdVkj^>+x#3zn(AW_%O^qGeV!1S3CkVBe=A`xHAp9Tg~IxUdf0Z~xEvO!-&~^j z#c?GKj$V4l%?c`Y-}bg-#ejjqk{{yOjs=GQ=v)`_hW3Y&8sZa3;V*d42I5T|eEo{x zgS>+8&QTh{|0`X>t36b|Mi*C!-oLILq&k(CaC&y5$64Ob5B1Hw}*`R>yO4L(f zx~!q8iKdLa5!i!LxTNt^N^UEV1j5-9%vQuQie31w85x%V8V=_>nh*-0B^VtNKw}58 zDPRV9_HUaInVEmA>3=LjLj*&*W{bNzjbA4(A)&32U;BZ>FL429pJ4D{)Q80(MmMA~ zS*p$WmB_=o27zlAr4-NHtJstHzUbG2Nm?>fhvZ7yb6^Y^i#eMB<9G6@KB@zpIBH5J zE~R4&7joFdBVWUE9yE(*61v`}&UG!TeAqNuY0Bm7GtAY$V zJPy?PpeJtl@gck9Lr|dGYB`WA#vnO0@AV5sorjfb`VJo7AsnUDFVrbeu}@z91du2= zun`p~#VZ><4&a#~Nj8_u;_d$tKY!#<^kIJKYYejh4H00wgnvN)rUbRtSdmeyTFR(j zMxUJ`SSvvh&)!pPT5zD<>w);lp_GfYH7LdeWn|DudZRNmQCf z?AlNSNam4|m>f`1{__F{6t0{|`pF-g$?u&Ehz$2IQsgA8ZvjRs7EMv&(=S0cG`I12 zhR=!e{(l8XeTK&Ei;t-YD=F+k?`!&{EQL8Jr89fY6Ey#bjk^UaZcs1$X}66KU_C^i zZ)=vu%Q;jFG}py_7+x*^#}^T1Haa9fb@!WHOlj!+olm-rPuXMCRu)f-M^;`~gtV{d z#v+bFDd2rbN*r2Inkus#6~z0`V_SxMPhwG;eI@CSL3KlhSOg4hVe>dRJ6rS2{W}5^ zU*K%N!LfFz13F`BlKZ%LiUyEq;E$}oS!(;2NWfe;yb6urWqfP_ad9;09Au4vg6|Sh zT^KekK7BcGk)TETqj6b@RU{&6EAdoYnkhTBM}+zUrY8f0`C}pEIB{vt#~h^1cy9r* zXTHlaL0k{O{nh8R6oeQ229>ETA!KCTG;bJ`%;-7c(y$43mL+w62~b=Ke`aA8SR&ER zN1sNDEp@gyo*VMQ!U(f;0Ei3LYZEMAZT~cXxdm0#&J*gsylb&|5l04tN=9?NDcpr>{Uv}7hvm0Qf9ae=iZ6@K#m2@ zo_6^Wnvu$hhy|swz0u?kdmWyHu#X_#~69ea?ry6{=TrXMF zO?OrP8jbKz{YVHuF;urRDD2O_Uov2&yqxoX@zuX?vjb)5wfeWgS{0olqo%l}LQ__&Q&j4E z`cV&g5I+3#DCZNE4gJqt6+R2vX7(&Wz&8azyP!&?vHPnuxTDvy4JoKJg&t*(!r94ltmdh&u{we)y{y2M-#1mTHsshCsv?^1sSq#QR2N`qEgMgR`G`IOCw`r^C4Fs zHbEy1)|y-26iMdFd-z)6%WMPJ#L;PB<1;ez3RN$8d(%MQfKH*{>bvVI@3He@c^P%4 zZw(~@G^nP$Oa5Hn!uIUdnSI>2Zj{p)1@|MJgew*duU67Lh*9wr?E86C5`~K7*Jm0T zpksspqNFl#UPbdq&=LcDcxoR48rT3l0w##qBSr8nKyL+tl|~yctv^!LQ@Obe2U7*v zyzn@|`G_7>RGXMY0P}ec)p1VO`_gtXeZ+ta9_^+8@VX2C_dhs#y66Czv`w0W$SJgl zhLIN6fQq0{6HFA#lW$Gq?wr;bld2kLPjHCq#Fs@cfD5&-9Ope*aXXNww26Q3jH6K;Kx;b z1RIiz%B<;D<2?n>k9 z1I=cU#+j0WdSj$hXX9z+f;}Y2V%-G$pJipH%b)r`SO$uv_U$i=H+BUT+MFF^oP`00 z6R1|G24~D34$iVEl`TL{BsP7MJFQKH9!O>B@L07rv$WY~2EmWb3 zhJ>_0P+SO%#?KB*&RS3*9U9RP#5h~lN#Dx*8TkFl85y> z`jC_{2Pq5#-9Fkk5+awg_od=J6P&MZQY@|EZ3yR}i*$sY=|-=O&^~;da6-N>SYRt` zr}S~L$baGLOjAj~4mYq7U*kOg`uW^5RFr|Hh8zdTPksN6`dI5_4-@nvSZj{MvE1(J z;$0hF(0Eb-t_^*SZ6c8CK-B~SM#Hh-=ngVpUPLpa$5Rtwm!n2BxfZxOEV_0ggd*d& zFNT5`N1-=`+T7swqDhf(cLw>ZxRQCat zJFr&|n-c~UWr$&9SpiHw6XG%aj-n@=xMi_p9{FAXJ$+hby3HuM_rl)o&VL+T)Jq~o z!=+&mqg@ohAF@rWn7}U?FLc5nl@EW`;Ph{vo*bcBMr*~j z!~^nYGU)+_j_CV`CEQ`q@Rt%b%TE=5#J9$_31T17;>J^-Pk}4EWMQ-D`I;3iS1{F_ z8D0bOw=yg#J*#t=*rflzisw3rfYCUcDrW=z>J=z4(O?f4!6P(ix&vUDuE3j~2a%8E z-Y)974g@V!e+(d8ies^XKrefG*j!AdYTlv}%tyeS4K|Z3$mZde2NQm{eqQN)-lkNL zQQCxs)h@kR_gu^Wx6b}Vr(6h7Lb|Z<9s46n;z}Mk9bVtNruLnQ*o7eIS+w6GGvfWH zdIhT&bIuIH+`cTvsvA~yqgRSLe?0}NuWmRes|xwV*MMI8T$fAlsaUv;irhTcp3r<* z7R$Lddp^a?yHuPw%9;dE4;=kh3*4wa^p4mFp>9=R=+mX=aO7TX}y^O~_f-S$_ z$9wth;CZcmi~M&t^ZUV)u;F%nsoKHGarHh;bSLck7h_}kxLJ%$f>5}@cmSMsX8Xiv z+8|E#o`FGXP`Wpb|Knz3<|l)Pg6pM<ZG!kprK`Tmmn(s(j;?g>4&37wsX(>{&{|TROYX3qn3fg_X9rAF8Gb z2nOD72ry5;pSGKlkNxvLk{IU-J=KD}USVErHK1l3P0VxpxWGEd`&6Tt{7{pm98 zzs(s27$r%7B0})Nln89T_=JQxnDg;&^hf*^TDv z)IZ_na9vU>hGH0ItgxaMz}vkAxUAo5pFBbdjmeT8Y*3!HR5@mF%V`xf3_glYbKAy+T7qN4PBja>aTEh<4Ko=4RpO{OR!vg&+2rx}978VmVDXk1*z0DJ!MZJ$D_2-d*=kEZhgr~2>zKP96i zQLlSb{flYW0F5goG7?70lC7&c$y#?lHp`0Df<=ln=aU<2x%Lw56$tsBJ6;d%ZvFytdD7f1id^Gdy_KV^_Oss` zu{Hgkm(U=@dyhGV`@C9t5?4%TM%U%&vhyb;SLl{9C!`X#IHyw7Y^AwqZ(7euc;$&C zjM^yX1q7bBd+Xq)yq221Ia%#T!+aBc#Rz$4l%&Afqz%z-)|nP zLXRgTG2pORp01ULg*?(kx(Ev`s5bU?*3)$s)kD;X*oP&s0{fVnlwlI#BKV2yolUK!;aES{BE_5h?^RYlk`O3iRf@zslU3@0HCqO4s4Z;_!li~Mv2sA<)?fQ zQ7f#5hH)1{Y2u69vK~U4`VIABLr?15;04u%F;|cybP|T3DcXSB5FW*7o z9q6U=2b7+$*o#X@n1d6;c4rpSATFW*@Bs894N!Q7oH|2e`FEyX(&rx=dfF@!obT)V zJKH$wrjmG@nZ=~^r-wi4*t!Y5DO}}tww*9a5u%UayF)?%6O2aq>LY2c)#nKp;Pj(a zorJJC%MxQ$)!{VpHTv*wxu49FpSND&*!BzhNB^M}-Z}XLpj9rOB>Hjg8*JQP46Fo! zdjG9L;2lr}Cz$(^)p_xa!uRmj&Y#H*@FA3Jrp*5$z(wn)xo|O3ltrAYPU)vp${`eb zSAbzqV%9^H3RQKL0q;l?22%IZwOb!LojHCxiN1glH{{clm^zBl$4AEx$TtXrHH)U; z?LQNC(e=ER#vSc8aRTKT#exY;QZ}S&?O?@AF+R3(B9&^9Q7IPvNsDCdrPpgyw$#{n zHmj&tE50_cCM+qm<1dzdUvxb(8;4W*PM$u(B`Bzk_pxHj-MJ!YTMmP2IHF+(()b@- zM3`e5BYUpG=A~%Yd~~Lo?Uy8*LcOhYwG6ULz^xlO(4~YCaJ$sQ&!#lNS(k5%C+#Ut z3Z7Qf^ARhNq0aXO<>V^1HVR{_ShJt7ic8Wwe$W+cl7;WFN5d%_!8-i}X=6{Ytb0bd zJoJ$PO5>W{pJ!zEmNUJ9-`zJf6#q9hPcPRBz`nW7EyYz;j94rdooIYA<%hEYriSQT z3D|U??}T3uKAUQ!ND5!!{R}uQ_#YDxU%Cs$6bN-t7z^Aen`@)gF#RJU*sd%C4>%m2 zNCwp0xmu|WbaA`b7{dT61%-Gq=qk+I`;>Nf=c4-H z5#IbYcxH9D$i9bXouL01(3L1j!MY{99$Jxe%kI)C9z!OOpmoUwzKM)7o_rZr0;4`Z zH@*UAyM#89MLrUGYfdEP_OG%k>$Ej`D-yZUCAc+}qnOWv_XElpj$I{Gss&$9@QjfH zc^OJQ&`qR(S{|NZG~)|8`B!krMxEOHQ+w?HAFjS;Uw}w~>-_x%s%2It%Le>E9iOoa z@aT9~PgV6zFFlOAzA!4%OyCt0bmiGofj#64#^h$X^oKTgi;x?97f!Rsg>mdN+kV1p z_+{)Rud}Y-(BZzzGilkr7R#CtadbapY&h~OBVF*>||&o&(nD9jKq(mbz`Tj0J0Uuf_{nPymMlJaM^SH~ZC1 zT&@9#WU9&s8i-5q{w#JSzk;#^rgG4&FxJAI2@Db$p;q-&`#%#E(4NQm?E_utIW?zN z@pTVSltnRLM{~Q`nOfnBzC1b%nQxqIGrE3=0Q}tU6seJK9=vFhz2PJ}DFV7275tHA z^hrjMA#0<(t6Pv+dLBmit(V`&-AKItR2&TyKPR{Q>{PDWP~Uv|$NYqb;sc>$-#$ z`VAO^K;pAj^=A|)QLrF9VnVkQizk``RsdwVb zUzG`cH+uSNd&3$ET_^ld;FXJYN2R+Nk z{8HLBgZ`FrDI?0%KmwQ+22wEg5XGfw87}!iF3R_FtP&{A%D+lEr zq{$ONeb(Vkd^&GDIgEn$FH<)u0q;G*`NMZ-NmV`jT9Tsrm!!=VDBhK?5ms4q#*ZaBp*Ltb#SS`N#Bp-q0w=b9= zti5CG+<|F6BNtMX|ME-o3q6u3&#|{Y8mv+GyH7QmJkSurKGX{l?V;iy(p~Vd!bQ_{ z-p-LQxyvKULqg5_Vsz76wjfB4lBnftsv!BNiB3UV`zmwi6RS=&LO(`7J>8)bY?s}&*)*Jn7b@CgFiIdOvwcbXid z$99ow!`0@_Ly5y?<5|C)XZ@s0ADe zP`n=4Q$fD`(WNVjN_LnQIV@l-UvW>5^<{?N8Ay`HcsI`t%O_(^J7beX0Bu+-r*_Wu zzGq~tE*qUJ)=U4+8gGwF$nc-k@C}*2aq+4(n*{ESrd^cyq`sDFHz}5wXVPNhP*C44 zrsrXp=&OqGs1z;#skjO9wp5lhvq;jB(@CRU+lUH-JZ46PXKa-lXNBO+?z5TVmQ-eYssB#9;Afjig6<)3 zaZwG#t*c~fJ*g3R1L@d8*u#k=8QaB`hU*(%3Tvin@2ot%Xf(kBBaj)zyuI8D2%rW< z>hyB8Yz^pLyB1u9r4nPX1vc!ww$Gl&=@Q-R@^;8{a=$ykbmn;p)~bjt{EE_Vh>q>s zlt|dnNxJS({LiVr!lvAZN!L6q-Ye+LHS?IbN zwH=ll?c&oc^epFnR9BkXQ;%)tSUH0Nh;Owkc%R8$3S<$qy-!eFYFUBP3oh5s4*0PY zGXI>B)HF~`83IO5oIzf!)#}cv4-3HY+c*n!XYJQNWA^=A6(3OGUA@z=A{MI(RW;dT z5cF9zppjPV6q!^dxa*dHQLUA#+4v^b%M z3>Ckom2D?@eNu6(*NUUgtbLC3i>Bnwv`G<`wc6At^JU{|D ztnC%-H{=#Z;h)~DOJbL`czvzYXc8>SVHPLL9L3gB$-Deh*Mr_xrIzPE7c!{knNdfGj%fnb21D+rfN z;haK7{1wgvc$eZQY^iiFVneai2~3p*$r3Dg;N|Fi*%rR;jtGbb+DclyJiV?nWf5g+MZ& zn^C893j{=Vv0^t7DohZMM)1kE`OABDVR`H|!A|=fwaMI#T5fG+NnXT@Mpg3BI5Q63 zSG*;8@#w)gisX`24RF0MY3Hs!a9$dAYY*u;+J3A&{n=2;r8!VycK1(Ccu~?rS$z)d zuk|EJnYNmq+i3%SX;-&z5kXcCwTMI8o;pP-cm_aog{)QP?eXWz;~(He7=MO4@^q$n z*XVr~Wn!@n`A!B)FuvW(HOR`?r|5T@5-aEQT7+Wpy7bifn}=+eD^fJ`7|KGdv0Zli zSfygJP#nZk(nk;rB;?<;lVQPWQ*cQ+-;z|8o=z&bEwzdr1H;0Gx7pBP`@GLu!Immc zrMnn`uThtsb?0~$F6YO7jp$fgWL0MR>XwRbWR{{zJTRL|f3ca<^Xr}XXtvKusz`Dz z$R=IzzpqRTHvH5L?$bP5b68cAJB|ZnPQK3UHIt>efw;;e=Z-R0f1{(>lZ?}ckCdme zW1qf{W@V4r{7o*`NFBG4-~M5kKM1!K!uL(9yJ+G_H(r>Mv^avSWN5Mf*yd1kIQ|<& zG+Xp7is-d@>0{T{ghI_^+1lxI5y~g?2Ty-AOy01A#TTUMu~L$%*!jEt_7Zmbc1i(- zz|mpGFfm!7Fq4P`Op0}QC7z>3*S88}eX!X2IPBD&(Dg0bG64R6$L|l3&!sU#PA#bq z??qSLfqN$DlTEtz@VZ9o8>gk)e>}*Zu6tI(WEn(hm0zS&BW?LaD+*J5w6~weIvkg! zN&sExsb=1ht|wq5m_XGC*&$Ftf|GDoO4~CH)5V#3w;S`{V*_tl3ssITt);NIMkIwx zX{U2ecTsjf63M%Cgc##ro$Ec=GBZf^Jyg@Sg z(`irr>i|gC=O0Kj%xQEBMnsc(O1m8mtVH}9v1HzfcdELz%uafO_nx*mOQ?LEPs0WE z&u#dKW-D^9G_@T`tiOx>rp4p&|J>iKj1-xlKO@(k-?**HH07?mE@&EiYn!#jG;BC? zf>jDUEf>s-zAOvZR9M>Oi8QWmsaf6iq4`r7j9-WXpv=S1^Z@ReI|?1P_;7Uo9Kq}` z9?z!y2h+pJZTxle&!;791Hq+!HQJf~l@s9$L4=E=3ZkDkzT7)iJsRvRXCBrrcijd- zv>kizH}n+Qbvp|rw_q&U-0F#Nk7^hbX(h>?CY))BO}Pfe3R?zOexA*-Xmf)u$IIcJ z-{j%>DI3u*A3?097C+XBlUE|^Y%Yw!_bLkg_45Zi@mu?cWYXiht+1FIV#6lDbOh|O zRUc2XN9q$&!a3|NEpw`aM=lgG$;=jN7%koaW6XQ~4@BF4tXg*M!jb?-$4A-d*aX$f zHgnFymzF{!?83FO8Zaso_IQTbNjT@!htc&BJLM=c7}C92-K4&h{ib%H`IG6RysXOq zj)~Mhe--YIGsIv0e-L1B8>Ucm^gbU^3q1%e7*0AY#s?ah$kZYiu5^Dg)8W=APWdM= z=5jt7Yb?z%{7;i7Q#?rn_MM%=ylgFJceP@Z+MlaFylO#foGskI7IurxdY&|_YX=lP-p~@e#FLixt1`uPS3;R+IK?ACMKyQLoNd0m%9#Q>THw{>ncGtQwjG zAa)bKpSOt|ekX2J$0^g@kI|;G7g{h&FD}9S<-hw?C8J|N)XyL84)`_T%<(Fu_@h{Q zTpt_zb2CKn^b0(=S$iLr&R+RHF~QlI1F7l5?4^;pjT@PL#dx;t6T%E%Vupv|oh03y zenvR7x`lS3Yg7MSCOL6~!^4^1kZ-1aZp`xjW+iUEFhrA03sRd-VX`cVEHGo5v03!; z6&3I!Ccv6T5VT%MeH3(=VR90)N<^)!51+%k{0CxhK5Myr5KopouM=+zCv^ z0+qI<^_m9S*5U=1EU_Wg1 zE=Gl0k#FN5_TWuS(x%hC`o%No(#LVl^Jzd$HI>uvpPjCyM+;VGw?)F=|B4h{vn_t; z@fQiYIkNPywI#N-xU%{pLGQFqWQd1f$@1!!&-i#;$~1aC2Mvokv_b)D%cu3)1nvh~mly{SsR-M;VkLDK6Nc^x z(0Xi~zoBR%cIu)x)0kpp0^2Lnon-E{jNU}UC&_72F>il%bix+8VUHt5kVl>0P@_nf z*5tIlj-Bki#pvR9;MI+`jb_!jc;>?M?pANtzAhk?UpaF(7@zQz?JIK5fCaW{pfB6* zBnhk!PnWS$(l)?1vy=(PUY=Q0u+JE>3Y1`MP?!1gZgei-rgPoj_J?MZU(VM*APPJ8 zr&)XNT#IAnmjypW532YAn-?Mx%7I}5-$>_Lqgr7~w{d(lecTA5d`t0UVb3*VbSj9> zq>H^bthQ6z+mZIHrDPc|0oZ&{AN^j*O>Y58;Awd%JjA0CFEmH{&d4kp#mv2SyeS|> zG9F*pCEFmBC3x`r@h7IEbF1!$?+O2=xV~HH6*h?``3xu$|8V_bxy}e=3;0kRrtJdGBL?sIyAQ&~U0XRl=4*k#kraFG z*?;GCIq|~OH0Fz2s&-g&Ox?rOsQuf7r`iiaj9C7>CrkHoLb+i+WER$XC6X1?hDolM`<5o?PdR#vKxDh^N&@Stkn@6G$C?gBMYuf-) zLwU}Nzd#@LvT=6#?XDHjE@APOf*j#dtQM^X0sKef?#3J<>^iRk%K~&kaGyoYX+#KJ zF}yDx}_M&JO`S;zT;qm88#@tM^m}OymUnW<7?nH$htZ|@+^gW&PmbNm}n{!;A{%#fW zE1Nfb4pB%OglQ&fVQbR9KKg75)!~46S2p>zbRuKdvH4Fg6j2@!EV9IveW&tny(#Mb z?!l0a}1j17ceZXqmFm-nVbE%n?=olvV>IuFe|1w5N za0Lgzh7ZKS01JZ+>bHitF0Da}H0#R-Cf?=!wqGddDbBVAioCBn9hD}^{N)_oM*3OV zXI|Uu4Mwd|GynGdl}bpYVdpFaS?=L_Ze}+fgoX=ddI{h#6Hc37zXsPw?^mpuy?3$ zL9RRWvvsD*Tml6I4A@#GD%{wIEn#U6uhs>G-m?W|-3=!8sW0GILRGQihhC`2!>D%e zBFy&D)rFkj9svOyU#N@d9pF~#E3({nRt8?(lL60sdmJ~dygz2@19#Jo%<$8}BvgV7 zVg@T%l&CVbyGSD8FV0+2%+^KKfnA|8zW^%L45-c2f3+mc-ZwTjQsZf7ocuenbwnpo zVZS6_gC@<1lN`CnvX#Omw@z9bPimy_Hn`|Y@viLie6DEcWN_!ewI-~cIzb51M(;5X+i#N`NeQvDH*XP+RkrMj!?)2TeN3r}*?T-Z} zBoHfddd7tjoU?|DJ*{o^e~eI2e)m2QgZB;P)u7&qQVFQ`VY6`ymglG>6eUleda4}B z7=rGm;Nbvcj&X%6J3#VL_9xtD7zkj~7*)vDMXkptiOFxkA`Uc`J=+mK5@2UTKp+Ii z4roc|5O`2DzW1Vr0^8;OEk|G_7FfUpUUf!T#f$%lF;h805q1&`>hQ0I#f1x;kU?Dt z{4@YN_D4peQxuIvAwq&;&)=pwMOxOK?*1zW&NXqr0B?kE9xOY4@$#)C6Eq68bK(^O5vdin+14p3&=kEK>31>s2Rka zZU94*HA*%B60=DGdB<2ej4sPS*6aLqBK*K{)@iA zD&UBrI7^V*QGNQ_rW(;YhoGSyqaJzmR#4G6rTzAl0mX7H%GtNnvH=zxSo>)BO@jaj z{S#30Ct0l)dNgkz(PbR-@bU`7X$|i+nkWNWD*N>aolNCfI2Ns@89-5j?re*Od8LY~ zk< zNQ=b9?F8}gl||8H*8A^O2U4d(HrIoyyEzw)3SOzl+!(bS!S-M2e!(P56XsEOTJLRq zy3wzw%cNwhviFWfO3q^kcMl#=Z$3P$Y_y}YJ8rS_N5#dTo4RUtUO4=H!5@7RV+hkg z`6A%fg_)Id8FK6o{EZoavLUV7$etbu?@@;X?X`y&3=7RdP}m}xR^bmCcLEPm0%WtTgV@{l0V@H!(LN< zvksh7T2LA(!Ri$SO8*3z+soFu`_{5h1}fv!mk_YP6(jB|x*Dm{7Xf_t3W6d*8V`DI z@ke7pXv9pStd9tY@Q7jg0cMjbSXKXLVuJl@<8RM7^cI0gb->v@0XX!}dJ+~Q0(1wC z?rA|9Aq)pQ3QdHcd>afMk0G3jC|3kjba3;KJy*u6HK)N)6A1>)d?vh1^!?t~Jcf_t zzn=!C9;VW{`9P3Sv?0(!dV|QT1pNwu$a~G%!^6Y-Z#~Jzm}5~1!Sf##%@+yX!LEqD zFAyFAiuNb)HqN0mH~@E(Kt-$+MsvS2QFzS^bR8^dn18B_au`|^u8&A}@~$@t7#Cm8 ze7Xhi}TnH?uIvoHfqbt zcJwPbPF&~jwM_=O$5ZeX1vbCNKDiwoZ0vT#bNM{#`}3kOiOVyC52 zyHk1+dNiKoB&p}^gqeN>SfdsBW{@p=*WIgbyz{suevCpPvw&3QCPRGD#%n$0g@p@3 znLe7$j|+neWk2Ul-0l2*=K+&dw)=|}e6A&NwGqBRND4VfqTFx$OnjTpe5&Fi=Yd>` z$>>?%h-V1nM3`OFnSHbVk$TPC$hq?RMj4M|QL83WV9>uXxbmN{3TiZ{8_-q)+@3Iq zn?bz~SR->Xz+;0a_>_7)AF7Y<3VvYz^!GJXo&podbiZvnw5Ek44enj!KTQ=}-x+-m z{?;Dv*CvYCp6=kQ1+pBixD%~7ly~P@l`SEQczLQ?=4c5yB0=58pg@KLummLbi*fxW zAn$loi;~#E^B5YD3&k@k@lqb%8=pRU3Cw6B5Ho@0S`mbdAR|Tfa{7jbKj+(GX=M;k zK2V_%L3i#ME;dc@7nBn-Ag5M@a~{fo2=v?RTze>9DR;_hzS9}*9T|CBQwY+N+nqTH zVxRM$%8>;%4QK;Nw9;guvaU;+urZPOXc)FKkPBbisT*um3MM9WvG^=DQ@9C1%MoK} zjnem=x=_ahs_+?kx(}~A2$riw$f4tQ8o@I(?*KX8pWcAOpk&%3&rQ(ms}NzrBk^QZ z6n35fjaDhe`5kN^t-HUSk>nYhu!SL5GDA7fDODt9xK}vwv>Ev_!iUAF?`(liTxItQ zu(jDO3!BBg|5`$TSNQ%<*9sI|yTCM~Fa7%7`I80u931!9l7pW@)o|dCkkE{qxd)!< zL;6W_&c;FQG~>Flr211OTUYp%P*R~wO-rmJhd%N+CqPY^tdYMtp4UU3`~8h90W^wy zizh=pgN>p?%WRXEZx$m zKYO~Ll1vA_aw7T_HbG}fm_<_0W%iL`)dmUUqcu716&4DfIv;HP{Dg#9?u83oTmBq~ zqvK~&)$Jw4Rm!Cg4E!~6A4kEa4)USRVKRT#?i;zkEI8~2e)Z9iU#5v-rHPs=Zar(n zmG}dH>RI_S7CV8kL6e0Z6nt=uW+>8B$@w2hLPhMmx%?bT;Zg#i12w`4hn5iK^%Ed5 z)RTw11HDbgIm+b_*P+~^Gshydf{X*(F z)a4e);WZFwn)@tV#6Y!zRxqBw$FMHlyhT-1@OKAi;WJREfEWyY;n4ZelE3`4`vml{ zQf`YVu?($|U|SX#{MW?j>JkI!wFSN{UnQtR{r?*Xn<%1 zKaFJZvoO94xLhoC0C6JWD0CPq!+Ibx3&A;L22Vayw;w#nR*()^AQ+@+n5X|AV>Z9= zTWB>ad<4;d3n@t;A0TnQ3gSj&W<`@G^1&*d0J1rIj(z1FE{3OIVcfw*5iX9WI$-^L z>&zTl>(5rYHW2Veln~Wj?GJjskeXuV5qKtqEIUE|5n~(KqUa^IC%4!it_U^a*{XC- z$0qW*Y$c8zP_BGKW5)bdKs|X5NbC2W zFR=DMWSx3#v)iVRQ$M6iw`jj|v4REUS_`Tx}HKL+EChYKyFcAymVS(I1=U1{IM1fS32)8zj~ zrXl$On$DSA`9p5B3WM9neRb$8Tz0CY`jmI8)UvGz32UdP@0+g!S^z|m`8QvhbyxG) zp$|UJ&3hc;u%LVC9n|cSi9jmi0U=`G=Q}fzZWgZXzt0iCj2F=uEoI}34WLX|&C}-r zFyBi}h>7boiEA9=%MIrnKWbk=No!w2P9-nK5(fEyVn}{2p1l zGM`OTU*k1*uIKGDQM`i1Ggv{5wb&(v{9o^DksUk z9zzcbf)RbmNxL^HMPL;GuNY3GR!zz;Z_G6+D04nla07SQE&^TN0q4&pHqyhiP~S`( zm!Rq+^jY<3DofFigErg2Zt+BADzzq8Sb2kRa^y{R#MAPf^mUT^OAj)0+3s8B;L@Y; zG&_RKNL1NpwSHxo2*UBFfxYpNF=?c`oF@F2;Yk8xjEmsZXziKGvAaSwoqP*QS=fu9^C>WGqO^0> z+Ey7$8)&m`!gL>6u-^XufFWea@Z~hKkR`$Y93&-=#>L@$y#x;t^oo+J1!cYPpimr6 zmp{7Oav0h==QNRIrY_4FS3S7mzKbdxp)iEqm=*kd2Y8fsvQ%Re#pZ*^sCDgHb-M)R z1zgKxN8x1b`*>F(oKY&qRto|jpxn6+AdHzh!YTv`osk+p8MK*(kS6eghqK5tb84sA z*e;>-5GYdma<$PBF&dYE@_?ZL81W%F#~eP}Sj&q`hd~PbIAQy4#%*TU!1M8XH(xZm z@zF37AT;PO1}r5{=D(juuM^`MjE~|_9HZi15p4QFXIeL)jmSrUB?Ty2E#y7w8y_ud znL*Dh$P8Z`)VvE4QFY(P(j<$nKZMA8cHp37==?exKin)vFyy*+_hgy0f8 z@z)R9=TZ)9FWn#2bG|y?!T0Wsb~wK+37)G~KPQVau?S=HEBHrfa3O4>IzDZzwN^;h zrb^Z5Ke}3)u`Dp#>uOuMP*M-5Y}1e8SKN{wgK-j_Uih+XGU^gxSTl2zF8`KKSo(A2WN_&B3|zFn~oD-pP*E$ z)pOd;l6f8bqUTyg?VWC%||qf*e=3~=NE6&6hsVseR3+7A08A91()vo4sD>mXp37eNoa z_xe1rdHZBNzf=htcTkd^fZ}=sEPy{D4`Ka|Cbzvm1izyiXHWl)rQPs?@!u^eQf@-< z&;eAT&Qiz{6!NGt*skl%3oswlIf>7K3j!^3;co?+a)HV<5zOxFE2hL)Bj~Tu;UN0> z0jwQ~K$A5%wNjqJlx$$72_3FLJhGYRs4eNM#$7 zB?F`9(!Vh{cXg($IBuRhCLy>piS**8yPYqKwpM%y#nN$ws182-TtE(1fil-lGa+p? zD@kk<(d|r~as_H|xI}UNGSQgRInAn()C)tZ69j6OV@snJT?$bbJ{#pimeR>Hq^Xb|CSi#xarFd%e}jD}Nz5?piSnO^ZTM#0mG zu)~E9e-=c+WUHzN*ROiNbG=ie*=?$%bPA3KtyJk3a6N;@Gg{Y~qG@V^)txPxGh0|h#hO{KT`wOZh& z-#0th#qZyy)7;Yn|B$iLxkC!n)&wZD&z~uGEZ|vt zyBd_i#AR=T$WBdqi*WjO1E2Go*Loz>3d%X`p3m@4Z&+tk%=4NeyW|zLdkPAtd?oJW zefm*>-{|`W-{;%lh691hv6iC_Ku&;63ikk+jnP5XKOU-|u8*a5LWS0wX9$LehdIBW z#j3}4S90d9|}*_6>SI3-4?uAgez#w1ux@KlyV#&#a0r{yY>&hC<-#%eYD+W9l*RElMi4=EdGUVI44~}+Q z{9x75^VH>FTW~Hdhtdc_R2`vXv)l**Y=_QLm|FpzyA{xn9Uc5Y~Ac= zZ-+=sVDcwUIUBJQ#YKu(DB6oBn`|3(@AHh}ZYtb4J@I#~rCI!3)0h@Rl2Z%sVE3>N zG?=$FDT9JMcx(JiL9=uMP>E&&m+r2=_*FZxl}LUvsRN_e8z!Evn?CRW5nD@r+xMXO z$y`e~mvE+jW% zWa_|S4o7XkWwy==+LN6LF}P9gjq0Ce0d3tkk)_&8|0x=cEp|0hepIT3hhWDAKNPob zn^x(yrN^cS2;+4=2qXX2<7^}?xb3fu9)z~CGuQ4i2k&#$$j^I^I*G%fOjOFpjlX;} zI^Uz7zL4F~lsy5s@)FhiR@r+UM#OB^5sMvfo9SFPe421<*W@-T93r##>W($TyJ*ty zc31yg%B5wRfkDE}kA`!9D%W2ER}n@8t6AMk==A~^DTE#!6O8VLjuLA162|u{bhVh* z;K`Z>;x8hr+{mj1MqD;E z1H4-leD@W(Pop1^s#pmT@3l0i*4!p<)f1sD$rKcCv$`Jv{g1vgtCDxPn zw#dP!CtPX!cB}&Vt6|3sQZ&ihOsxs6NYqTD^G=3_b6vKFpK#R&nTc6SX45b9M-Q@a z-_4HrtySD&I~`P%a@ZEQLQ~1}*3}ME*VR9)X8*GO=C4C6H14R1ZRTXCg6l86)O6AmF?!90+U!b_wgZA1cj@F>&c^tGWBXr-N|&`r)t8iwY~<<( zDiW3ck9rk5AB_3I3)A;b>Fe^lFd?r$W(6i?#HfqEV*$;oL`Owt!nXEaQ)Vu}4i z=}+>#AZ%}$mn{C-b4P}H$*BGN6?ixP`c{)yz9D-VqeA3eJ+3iohkIVpe(5g%%0873 zc@MEhxBRJ-4+c2w)CYvY<2JL(?*XbehFs5W1o<;cCt5@aOnpW1W4 zqvWm^ywAC`2Xi!3KH?M0kw5;sn>WK)&LdB>J_Xlgv@$X#`Y24eLBF}q?aDmETyprw zq!TiE?p|SpjVT4kO&>ZM9|hAHnfWv#={(GF4WI0Basn4x-XQW+vYfH_t|oz^^;Zd= zkD9N1p%!!+50VZ$%UbEt`l;ng@ye#l%YczNr{?_1ntFvVWiE-I+32>c#_n7y6->SM z2V)_@va}vrn!~J$Mqxt{YUmAhg67gR_1$EMxTRC_P0hNzT zT>5$9&ZgfR@{=0iyXg@+*KAdVTLrDU+FR}hrDO}9S6VNg{1h(D5>*lV*Cfu(iF+?* z_lc6$6chm>i$6C);cn0);H!)~*XbtL$`IC!dO%zP6B=~(xGpu`PIL_YsTXgYhX-ad zU*I~>c)CCEu1@7Ro(XscODRJ{izY%D_V*?^)gwZcYPS8L;e}tkC%cUnQ$-4c&gaZT zTu_#r#;JNQf#K@Qc&b;p^Ocs{?2};NhrzG{J8=I3s2`M#(q6F^w(?*2#brNcQ8_uK z@J03>0>f|-p67;RuKdq)cD&@o1OAg+sixdK-MT zupKi*Xc$9o!N5N3F>{=;GyI)ErU|kk0|%SHq#k#_^BL6Gchnhr8H?(04?2lAF1WG_ z70_56;A@USTq1cNu8^?i6R=s@!FT5z<5SlE{rg9h>M3=&5B~bfPbW2Qg@W3GeBbOp zb?(-2hhZ>!JvCmEAM zY5gMj4n+5WzcWZNgCcrW(ViF=lEH2tCZ==p`7@`2%fb;r0aO0OdgN~(rTyV7#)w8c zvQn~adbAZJ%PK=E_HSr0W&Erci3pW5h3oPB#NI7>cWCyur}KW$6X;)Qp6GH{Mm9Wvzo|3dFKfadtldPnYD89AAADPx@|1Ix86dTXiWB#T`!$I7s7u3ggWl30Cl0XHe_4NKnPsCCC zc`t>AM0$|*(r5?HPd;?^L5VRG5R|81KnIS*)S0WMXU4d}KFH;xZb63H=QAb#D)wW5 zq4->bZI8?8AmzP|u;~GWg?c0wCwzpl{U`ccu&W4$M%}_iTCdlScuUOPlAN(>FW||7 zy8XM|K8zetn(wCa zLhn4KedgT{7b=~3$k~OvRh0tr7+;Ij%W4^C_5o+HehEkTY)$1`%(u!H{bxbTs4*1W z-df6ZPWTVtpCP;seks2;;G4_7ra)`Y^J3j;a@M^Sigc0kxRN-l7n)d;+_NGEVh0j7 z{vk>d^bzksGJJCpNs-g8r~hyO55r$PhA-2wV6D4th{d*C)i7UFxF{|=6?pzPKi?AL*4Gws>nfb}uzUwF0h!bGg_++4N4(GRn!^@gTHU;jS9|4t z80*Rwrr^t#9ARlM`4|2AYdNz69~OqN5EqKG5-6e-GDrgPo#2YcpXo2XVedGQh80s;1d+7sjBnWoVhF0wNqy? zmcg<21NA<#j8W>9@4L4i=q{E(LkZt%Fnfn5NnSdf!B~4P*c8qeNLUqsREO*hQrqlm z0a8or%bbRD?uiCcxSMQutR}tKMJk#LV%6z10Gvu1&Gq_b{ln8Qxvo8CA9gIf-GG5q zdb=Ofg^`2;|C6G(iAvE~UbAh3IuEQ-x~iw7sMuUf9_s2|a?QFCqpBYqrF)ne&aMPP zJxZV=nDV_hTZy$f)E+{nHTKhgV`7^i1Wysv#L4qc*``^0ED_2kEA00JSH>#B1uv0Z zyc(QwnxKYHjDb7ZDa%oJ(z)VM12J{wN6>X7V)F3pG?uRZ*^9^SvOw&I!%g}1<(;RX z1qYZCnCPRkO!(sCR*l;BlRxm=SL;aeMVLH1T)g@_ERgV1Mi7);zi!F5kCf5TpOi@)*#(s*D!{9 z8v#Om{L12%G?w|C(oo3t6gI!p*UXvcR4L@Kzj>2JfAfV4Nqzmakz4v;PbMO{c37?G zi6m#>RMf^{@{Qsj>q8)??`G?5B{tBh!zDEk7*C*IHNpT>7ZT6ZY;c+j{VK zy4u8zZ+B>?yBj(~(}zn-ODQfg|8%;FZ9#DL7IG^6212zzkN%Tj^MH6fd@q^&Bx6)7 zH4o=M+m*yS>U95KMQ%oH{FWu8@Vzx}t~@Lz;Ha5>39CTfT2?16srnba8K`lDE%JdI zU(3{jqim3ZD18LKCvBQMGvs9!xFUhR@;F;MN~Qg{^XqEj?1x~$0) zE;Nl?wb4I;n@EDRJ4?He*5^DvSuHmc9c!n10_^m;FWW5{(r2bPhhN+9wDFaXu_M&y zAr0uY757Y{tdA?OLBLS5Vg>G6!V`&Z#EI_D29yFkq*JYa45%?+>qGXnyD1-$1}}&9 zT!43H`-@G|On04_eJuWh{RxMYartRZ;z_yuylDBxj|1m#=sCGj((3 zB(|u}OUUXl)sC*VCr!FPf^0Dz9YQ!LhlYlT)(WYXF3ll^ia<>BWy!hQoX_f|AKg{|$#aFatr9F_90oN@JWz3h;d zJr#>zLke%hLTYLwX>-TDj$k0I*-1RXvyq+mD|hyaX=#kDHQOWA0~#s&XDhd_8gMiM z?QRv>;&2iVZ3}*p*drE0twO8D?P>Mq)}HVcdmS>SF${C861X}nwJy(^W9hYX<}!Vt z+TbItx3|G|iUDDhw$NeX#Sopqrte#-W#IQf##*99cJY4hoG>iWAs*nPA*|B9z7z30 z3BPp}CQ7OASW+He?;}o|a#UNc;mJnMB!BGYx8(tXUhHM|FZXmiCYI z3=}!$uC^fXVTyneB=zHh6EEYxy!;daw=@T&^4s|$r8Yc2s^6Y|u=z)ihdSl$$rKHH zu(DkEi0hE454xV+$+~qne3tt5%aE_!j1;0T=dBvVI_jOM26$%ud`@H`7#ji66+vts z6@y!jbavj={VXqaU2)e@L`F0=|A+78ct=;F_nqmCb5?^=hVNi=L|isX4)_}ocve|N ziD27`^Iz1d{OkEP`0#h}6fWAQgTpPY0~0LV&_v%w;zhcnLEAfUb}qTFv<2jIZ?(%0 zb9YD#B=0!*a$Qh+Esb<8`F7hKsh<2=U7ea|@cp-i(J-pi2Oh><(-jU_2>}4(DkB9d zrjX`OIgas&ATPd5`V~NBcPuQ@x6J_C2!bw42VM2}L1~SIQ}L;UTG$X)Gy9Tc7$T8Z z@L+iqmc;MPrv={%=1)qQQCw!^eNMJWR`Xy2-#^%eP?8H&a{`X^%-7f5uFz@C zP<~%Jq05&zWF}mE;p-J;pR|QHY7^iL1H`w}NZVMz1aVaw~ z3zKkZ0lJJCSS8krokB%h&_qrCy&zBovCZNSn}%+ce;@?`PZ3wP zSm3UT{5DvNVAkOD&@H+l8a%~`KXSr9?yk3W-%fIdfedNQgOl9M=`n{rc9;@la=3mV zot^4Zo<`-w>WaH`{00ZUP=Dvk>$#pC3@F=6tAp-E-9oPN@hYy;-Z)WyeQ+<<_ej)X zfH?fvi+$XE8nkF|{e$LUv_-(=xIaQ-K%9Wam{pb|`gdQB*&kf8<~TU8@&`GHR^lX) z!d9n3?e35tnAq6cJ=d_eV+R_ks~6_*dRA3!Q%fsjD}Usx)v@&FPH}VB-B>qt1*%X- zPOTc!QwxQhftG9b@_YDiqF3|==?ornOISNd8WJg3Hl?80I$t zf`zp;E0jf$9d77YluyUb+<$#Iuk*JjvP3ZMRGuX-9dJ2|56N*&e#Pud3ad&1i1ieD z_=5`-SHW0u7wDm*_M94t&rHhfG9XqJT2+;=&$W^3TNeN%ssr>M5QNX(mft&HSoKd0 zCi0*kxjEDktaerP*X_co%S!Lt$T(U56*R3XKD>>usND7pQP$(FS4M3@ab zmiMTa`>yCdl3ER6G`}h^&vfbuaWN$>V}4hp;`o9ro4vux27zVO`Mw8nQVmUCHERV& zw=F`Bs7^}utX%Orx+gH~uu1@O1Pug)?(o^7`(*UV2UR9290F`e)9WiYivig5Zt6$N z+>;64)sM@=MJ$j}cmg<`CZp zMpCk~xhhF!*<_VjgzQmhkgS9P54VVbj?BV% z+X~uFBd4v#Ub9MM$kET2Wa2T^Hul(G-Jl+9L17{b9>Om$if?`&gw1#G|9qL;Vo6?M z8IBUre7ma~z4!34X%Q7J;CR;!BMSOnx6PRkKR*bxH2wDIE>azc;W>NNDRyE>+Fa(} zkOT^u^9N}?-b_?!eH5Y4|C?~IF!I6D_ofxCg~TJ#wThzu#xbJ-gT66AyW_41Q%mP^ zlR=MdsRD#j|IGL2iTG4K#T*#fD|@()?U0;h`DfI@T^vAkJ(%|1-U^EDiBk|E zK#5%oX8y;lTTd^Hk}hl5O#Y-C0n87xR_PrG1RFOOeFyITsnALbi2BdIm!qub#}>aA*E@xOPxrBr9$Qc&{O75sNzzzwTTse@tRjEzT-3DI~X8%{Q2Prf;+}dpl=K3|NV~-P*O64;m-&D>q+%iLETGJ&u^-C za)QNh)VB9Nh+mIEI18S{(2Jb8;v~oPwgw#YHKBxI4Gm30qcxn*nFV;cBpuxi%;;IL zwO+(?f;wkKw15inhWckAM%b7%F_7Fu%oj|t`>j(QiKRx9Ux3^P{bm2{hmcD7W8P=C zaHYWX1W@*y3!bAH9CeSlbb5MB-!`7c4B=Lw*`Oefxbxv=MB+7>Zt2cvUoq5_db=yg z&r(p=@&d4>_MgUV9D&D2jRys=%Je`lIdHBVO$< zA2{d2w%h3wfOny-F)LnU=Ks`kGA$;_wK#snWO#@973)i-rKRHcA3}d+8uv|OIj?5* z@eEJ=y53ZKH^NfxVA~jlFY;n?`R2~%#b58X2bHYrwerwx1b3SPmz|{H_k|yiuII{u zf{V|>fh4#lIDJGcx)QKb7&S_doz)g7L!~l!hYqnB$Dp1cB()^A6%!eeaa>@9;ZIB> z;fF9N(!UoYBXN)gsBu--M;sWgn9PMA!)tJ^6-Zil*hG z1>@A+SU_tm%VK?0V-cUPcN9z~e8M0$3QqZvCfB5o zRkGI{Eqn~`3Fu~gSngk$seS-|$;+U|FM`M3=J|Vz;#Yx5^*B>U8UDH4A}1l&cKL3t zw(2Gx#w2ToQ`X~`et11Od*AYoKx#8FxiHstj%%6gx%leUQBS7i2O0($^GdBU#TT~b zbv8D981+g1@PeO9mG`a}pQ?4HYJCar>qnsM6b??FvpvojAS%PV`8tXrp>r)RJ{TEs zuZCX~Xx%e;>3M4I$m;%G?vGAyp$KQvh}!mQm&^Ws|0UME&kLL7R6b3e^N@K)_-LUI zL)#vakm~4_pJZQkhyJ&_90SWrae`?oOOSWP1zla;uXp9)!rb~dxu_Sr_$GPYBgK*A zNt1?cr0*CC9&&E|t_tgcRov=h4Ipwd_QVLbvbY*B;w5(%d40q*`q7EJVgN52)|m$mmOr(56*!@bA})RC!>|ILy}WHV11w_;r{do6o;t&S6Zvp$N6$ z3A$9jLjz$bTM2UAz)Xp>t8|m;w>;ci`^why_xBCZQGu92T07OkLe>1$pN@;9X%`#< ze}N-ixMj21s)*%nrET_E1!<8cYsW(Q`s9T{1SoSD{)I`8*@uVw7s2=@y)IL5EP4L@ zsk(IOtwI_X!4N~qpI)f`v-W6wh!pV#W%Yp*^)_8@wB{eIP91JdY>KWdVi*omPJNyb zlVB>iKb@00u;Jc+ePO~(q0Y}-KgqVQnS&H9Yme%^n4~Ts`f~%dCM@(0NJ?kykIrn*T4b2KC{%yO=({=Jya3HctQz9&H_>5>!9O zx!2Gk-2;z!C|LaC>-#&n?dO}14U;knBnI5ZMDH8e;^qs51qI==m!5;#0x`*3@>@V_ zVFPbb@zSNe1UN!C68K7DiZA3mefkvTB(=0@E*z-t104fT#0<0nNrxdy3R6f^Ad4aO zBY@SrzCKXo0>;Py&yOxEpi0ZXC%D}&AsYaZmoV0Qhe(yfXWw?Ti+`NS(K^8W{R|3E zZ0zv%6v_(m&Kp>E<>N^~Aq3ko$eJLSCjCWOq@DRm{RzpBAcwag)8yOsNwc5uC>r^f z(LiApxFN&8iljGJd3(0CXg)du%F8Y?!9KU*hoHWTW3xo(AS}bR+(V$M+e86^@gYw+ z!La&4?g13Ra<@+Iq!Ka+jws7%pJ4gMWGS=7kNDO&zF0FE!e#M4QKqG^>LcHR{(obq z16Hz~`3&m0Rh@S1*n7Fs$xv%Vk>OsrmENJFO(GP3%`)eP%zl_;HSLvpj+syx?GE1? ze6i;mD1RM3rB*div60G%fl}EmX3L7;N16yP9qFcP`Aw&@QW1yIwPsc(tM`|ahO)~G z`9our^@0Kij>i0Ga+{iujs~GhIV6V<}Iqmo#1j|>(Guf9Pm&X{pMWr92rmt&%dD9F7t~brS+$KG#udN05kv1|B4*_wOAfP3G@_`GXVpz@H)w&nA{I0=GxVlPSqB z6R-6WQ09xhAT??*La8f|Wt=BMb1(YnPQj?a9qYg118wSb=~*s6n*@e~TIt^9$6KRf zN2NPwU6tLPGFZ$mT<39rcU-gFELeb5-3gwVh7Z$Yi3CopS;UNhcby=m+*-bG_Dz`j_VnrgA1(nHtW?EZ^arLMz$XZ*s1Nr8@YqO76dh6Lw7*TQO$0!b@Y5JX8kokQz{rwNBe?ajW`NuSlfH~N3ly*qsHU544t zpu3d2;{9p}v){EUkGn1;D2|@jR#UAFXne-wm>{w{$2K7HOGG4(r5cUM%rK<>r+ zh(`xBw$Qz36WfXMnp9zs8nmug?&4(NaA@c@qHD_KpivnE1=+4VNlT-wUY)WV_VI+u zPX@+|=Syw(`k)BiNI^1oK}+KM*8;I7j7mwS^~2eX`cGMu9j~WRxUx3+-QU35nA|%j zptYz+bD4NrL*v9=XO;&yZQSrq`67DsLuZ4YQBFrSJx)8_ec_~dx~n8Rp?`tM{g=DUMGD&(P z(_=G_uc>{`cO~S^!3ptLv9-7+>La`9YZEp*%QovG0vVFE@>KtKmod33V`nY*5^;Z) z)?gU^Ly}Q0os(`g{`OgdM=})jaW>eb!O>d#!i7N6y%Wm;e6-Vcb|PyN$!oM&z6N>5 zA=w*1fJ9qQRs&?RgBk6x&)>pi2r!II(`EKHO7RTvcC`}pw;6jE%YoC8E%&|c8AkW@1> z@Q~dggx)~9M(@?`kVfr+=o7wUGhO+c)MJD-C#0l}ma( z5Xjx`fw9I6Hfx#Zg78Xid#2X*?6SEH`GcLGKdZohG>e!vz^u=8x>t3H0iKf(nt!`Z z&0$&}kZV+a2mDbpU|Z;`Nk80~a&?i|jc4kHzlJ%H#6xmL{DWAr1~P!~A|co1-_}r7 zNe)+B1%#j~rn2OsKI)!SJMup%tWWKIzW3+Dj&J5&!JupN&BDFc#NK}PAuiaDyi5%U z(5IS=ondKGTz)uu97aH8aq@Mnlg`ptHg7{f*^Fbz>~u@{8`Dz`4q}p_3I+zd)rG$# zvot)h*LXf|1G)*j5bw)}7b{Rmy*&Ea++&4lI6i9~r-@{!Z_m`33X%9(rO8Mf^lGfU zJK5Bx&PhX8f|Xy^M@$EsJ@S`tay+=p7Ysz$kLQOLeN*^TShy|?a?sOn}AX)1N3p34=WVhpt!1=&?Nq42$^v>8xcom_Ft!`9z zKrXjF)u-`!5=aSN`F#v06^I5#I;zS}(uoAH7L16>e?~Z}{&}LLeHV@f^L~)&Z3)HS zl5~OMDJdy^pPV%35JYGQ#5-cf-ha;Rs!IQDJa=_&WtCr8_zDN}9Hoy%Kt=zj&j>c`x`GMILYbK>67G2w%bVed_R)6gn z$n5ScBm1O;#b&d+Z9-R0F0+j~V7iMbEgsc-qydomt5_ZW@186hFA>MWyiSW%&oTO0 z(6c;yyf|^$PL7?YD(ZlG#CoEda(Ep-Z%8`B<1pjxCl2hsnl4?kB*rY%ZNXha{Kqe1ZJ^Y_c7Zm*V}|1G+Sz^=3&&y^%WH-VN@4=Xodwlj^iHWykb!CN zk-JvR#Ts(>Sf$s+jxB^`xkhJ|##gNlj;}ko7aVom1UN1jcUbYabH_M=S%JrKjmIit zs#x}S3|)kU^?_`r8`7V=m%NhOq-s}TKf^O>x352W!o6x)mVpM;>HNIk!Un;q#a zPxhZSjHDL7=#ugKC~JsK>b~Tu%;&AlS56i2T{eI5HT%5@@-GeuCi{LF==PDl@tyI8 z09_^IEfURen0!-s)5>>l&QWG*B*L(f6Rz2x(;C=!(lY)Wm9QUGdn~izVYs7;qvDVg zE*N?$-y!jda<#KMpPsU(_ewH{D5Lc<8AQ%WsIHN2CF!~_-nf2}C5e{x9_K(t1LK(i zdEu|uX1)-=WVhI7u{<*B^+M#>w4s<9yW3E)-CM()pUdwi+%!xoDJ+??@)y=^Pd}aM zKl2KPVzvU^Db=(m4i{TItkq~{Ot21SqJ_gnTzNCk^zZF{(m8&?QXuP=-+%a)x0(aK zmO=beN!oD{YoAgdioNS@d*F7stb~WPQhT~$K<>7O|zfRRWYB2KkwMkRPdMhQ9CKWfwU@Qe5d!6WR< zM3BaMf3nrzaYLR$n0yo@Y~Iuw{p2pDD`d!4^Mormk}m|kvIVO4@V_qa*boh4_Wuf7 zU?u2HDm>+nh?uoJC^3IOOeg9-@l%pcl;ZBH+>t5i(2tWh_*o4?Lq%*MFCcZhT_rcz zNJ(}2pJDwA`wDUj<0r$2gKscbD?fOJiRqxo11{I4DZ9SGZ_M1!;RMr2B~X2BDs#CG zoFIq-%Y(NaIWecH)gY~!&N%Y+`V;d|-Ms;v0^G+e)AR$kPS1o5S@91qpQ;<#Hdfv% zuatj0GV!8q96PO8Wp@)@I8SZJjQn{jfTZ!B{Bbn30}+;vkG~RmpE(Nnd2P3BE0(V9 z{=5A~0gmgErBnSP-|Wxl>#^`EG)8UfChu&8k2gM#&m*5Jzj_MLe1sXb;kW(Q_tv*9 zu&sULT$3}W+`5S>xuwogb5v=Aeveo)57l|t{*&^d&Z@r>NMaK8p$;D3x5qtUZB^Sy z=JWj}wwM&++Sl_cVml1BCD)E>wY zsX2Iidcej!+Ub()XnyyRx`(GDd*?K(n~#i@%I+Gh{?}ODRKHiEXX}a)v*}^Us~tq* zlTC+8bbRlU%5ZFlFg;R6ip80x zMt*TIXW;VZw0xSSjh_tv*nf`BI=O<(9Ytt+e17?Inj$N8aix0Qlk}q7s^j=l(3$?w zmkD0pSjJrbK9QCysttv&YP2&5u|mK5t!(^_yJ_RF%rI*cZoI)am8oc(_Lc`S}{4Cgi6 zs=gj$5UVavi12>^OU%o=fzH&*f=9KhJ)u71PPk0ORoD_MsM@1py04A^*NuS^9KbQ_h~|{Ooof$P$4k} z0=kI0;Rl2)0C#$GzrD*`POt8;hCaEbbBJDFw|BrZw>Wimei8-~U4>TL*Z$hA?;_<9 z6%`falKh6sz?w}LI>u`py<(;Tk@yvKp|V%4_Lx)k@!t8JzG*caQmwF48Z@?$s=nu<@(= z@T{AiX{(jobvOg^c;a~TEh7OeKAX) z{9e^h0I9OXLTlPBb|5wv&k~hZ)1e{;u~$pa3lnH7pE(nEJ16&kVl=om6=fBYAxaTZ zpB7swnJiYIw>|#(>S`hrjA^ac1H-1RC5 zjo8V{DKA_e3^IVe$oXknQ6yR;EfGgrkW?gHsqaqTN9y#JW__llLORi6&NGWvP?fQf zN=nbnk-8#R@XKOqbD`csBhi-kV`-6;1b-Ry! za`>C%sq??cC3v>Yf^RU0=CLVD?wQ%GEth^Mtg&aAUqcv$z2v??E+@OD(aLLLUwvDv zY+6wB?$PoBeH)rx=|X`7vH@$~6G(?}0(=}b)u9iRG&$d+*FCCL_LfyZf-`R9Xc ziPxE_$N#IY5!!HY+EFrERLwOhRQ7|=9WxE_ZwI9M>JMAPmO0+GiiyWkdi}S-L}~~{ zpnG$4|E4g8kcP;xiv{%-q)8R1a9+vV*C?lXV>O}}giWRzU5P90CUHsa>#IJpIK1&k zC~?fOoMn}1bT{v@pGFSzW17T2gnre?t_{l$ku$Dblj>a6hpb1geiBXCIjHwmi;s-3 zKr72Z{F|jL%)R^T5~o-5rTZRtRI4Y;zlLUe%AQ_`D&e_4OXfOFb{sN-KHd4{`kEuo2xi$}2^n_oV>`D$LQUqHEgcov>!g&}9+o2f#Fmrqn{%RH6Id~-H? zGQOobig4a#B*y?p(mi_-)PWKd1z@ayRQrU*Wo5ONPM}RxTUlePp7KQU3OY>S>&V&R zVEn*8K8yp~ZVCu;b&bglUfEt_O1XBN!>F(G{@?eL_x&P9I<3VO2ok^|TI^}`Pb;Go(SpBUm-LC8)wuSy+Im#jUK z*%R69*T3{)P-t&GS8sc}FD@p0b4=sri2BG#-F;EvFY?5POo(b5@MN{Jb$z_@Kt@nmnPfQmER{I9Nk&|YCxdpav`^_E| zIEcfRwP|ZnUfu)VS6e7IVzdNxfz(TZUD8w{$>WODYV^u#CMV5nboQpUUQM`p%j^Yp z;7P|Pp@-v^y{dxEE&L~?TKi@e5D0}i$%`g$0@x-B;6Cx#e^OoJkze8tOD`O|k~}O4 zay;TH!8*>@EK{uF+%g}~ws=4*2+2IES`h9*k5k_99`8>@c=(bze3q|1Lx0*oM%;FM~|g{6#L?mQSl~?nPJ9X{>g@K)b5`5 z7%SnEdsjP7~rZ+>aO>xys3g!9k!fL+6i?u6gf85Ap>AvnQ$ru2U^tNY=WN8F~k zc{exbA8mne1|x|Mw^83e$v?7R#%3$G+^8v1Hl93LRWOCC3k=XC%aUyMW*-= zE2V^aoM!cW;tc8PwD`MSYXb#vx?0TtXR&XoD9*yFamIVb6KiL2nsBX-FEX{fV>C&z zu<&7C1|xhNICtKd>Uf(-sqk;{lLuO+p&fDYh5rTbGfQLg6;3)n0s=c*_vd?0e4O__ z!WyC>kZDuvmuscQo9uPcMBgiJYo-6P)R(O#JyW>xK@k7tCKEg}Ivv2BzpAz>M6oQXbSJ!wV}+x{q3FB+_iKE_ZQ8Kd7j__B-`LwNJI|WO@;?s9aGAJ6PFa2v7f9n2wTElDeah4YjDSv_9GcRvD$SRoGy1YCQy5@I(qM45m zQKMq%_D^dU|Hg1A5~V#M(CC1ll#;>~+dL*&YV7Wb#)&KJe%9e*UAPc6yehaYJEQHg z1olStGeJeaLj0ZL3A)9j+O+iydD0&V_EO{uD+{sAef26KhhC-yf|oaD`6D(PqEoZ7 zwwSChcjhC>$!o@Q;2q?iVz9jcM>j#zVIvMcnf3zbp|@ez6J(I=Kxpo&2GgfDUuQTejAmSCmu zpvEa_JTBV<6KmeMIaS#}BHD8k{oVB9v%dkyg0TeT5T!A)oZ^(i)s}ePD{lYu_jhUa z{bM+H7`FLSe=bm+Ik4QGz-w^9agWLBlLMAp7u;kt_6snt(%q>4m{!S5tZ44~R&&$$ zzvfe4sPfa)A?NkKnd{$GW?#9^^fxcA-1fA!J#pfMK;O3y+~)g?LdEkbB8;9ypH}+s z^Wx_Qlx5dgvsDY%xlH)Zou=hnzz&|YPdsj)z(ZaBqg`|#nbM@iWD5Tf1h5CEg-il) ztD77Baw6^$vCe9|hD80i%()WvV(!+MaOzRruDu^p_t6~eS5G>7gP)UWMa0Cm?6=WS z!0od>{y(Iexh-h97nA}gQe!K<$||?{J293-z4v@FkbHIjuzOPTiO4i&@Bo!q8t4|)hIIz5{p`l^AaW+j(0q$3BU9n7>w>)r>Zz>C6qa{GM7w*xA@eTZ0A*diCc1e%?xz9K-wVpqz9AgKeRw!n-*gYA)V$tiO_%Xx|eiQgWAB_^pU{= zJ@$0I_)O+I5V4T=w=-||&YhPrZ-z-Gm72PGp}{S2%Nn%sx|%N!B)M&btK1zPRnhon z^ub|V^Ss-_zkdB1?B~h*etlSW&HVhq=!AeITIf4I-dt1Et^r#imP?#8M(i!yf%oHn znMfd?5CssR<^rz=nTknqvcyS5iN+PlD;!-7SLbX?k?&`itCoemF8nl53^+(sN?iRg z?$&VSkUFymnL3IXNjYXEOrWV+WajDdD!XIZ#IFQjv)r85882><$#xwhBsUnqh*>r; ztAta=H{T;)JGg7pF~r%f0V(M(;#WhLF{WfaP((UwAS3-zl+WEe%a!PD(W=5M7eyO< zm`>T*<)ttrX4CViGP1cov)H8?e)ils)aR7i%qtT5?e*t;c~{66g7-$6o|3jqD3ekV zEr^whkI6b}w^Rs~e5>lQF=tuN1C00-|v z)kn*!NFG`t{pYXYdD2ztz)t#qzX8!Woaf7|uqvZ+2&*54*}<$5TTm_mQbV%y$7^0f zITBa`@Kebe(EMHDGR2Am?ry{ZLTh80Rid4(E!fZZ_yh4u17|e;OtIHJ$;hArf9H7~ z{Ej~L^(D5QFn;$sM>B;#1tbLwn9G2&;ao>O>6WB5MC5g53vTMG^1fJ{hn}C!HQ+E^ z%RDZzdwsTb*wYlZ1S)^W>&Ym48SCmIK_)Q%m>qamj}gT{y(>uRTrQ4obylV@6`s`D zJt4{@GJ!Q&7ecMg4EqT*QUEVfZ(3UmV0r>f0LO$so~;>TIpKf8oXTD2FzC*~UdLOR zou0lKi$Cy)&h_K1$~Sz(<1~V!G2m_96W}czLp}N92g{UztM8-U?7!QJ7Z?+X(REw{ zLfJT=Hih%>{!tq0)x#@9$NPC)rX|~FI|Vq;F|$7)UHAp_%W;hMK^|~;ALdKFz2Icr zNpE=fQN!GhE@_;+cD%qYCSTF@-7WJ1dG*KcM}Ftxd>7!AhPJ)2p;^L5H@ryoT zsUW8S-z+1*Wk@(94_t8Z!TRF%lC`fkCI2Gj8vJhws4}87a7#K3MiZ16>))6De_ADi zPiJ3m+D?LYKTGFQzj{00KvXsO*W^tHpAu~&qb8O@FsMbQcXfXnA$j5VPyPnVVJgaU z*2oC9ZJV^2$rpRj_!SEQESIziMVn1efjxA-z=9TwpMnB0@NaOE3{hr=DY|a0mr;lo z15N_l;hNkU@gs4KD@qKMq~|!sv@ou%0}V4aN_C=N&+C+o7b+7s8IIt+$D_R`@q!#i z8+M|dCe1;oA_Y%8h_oAW!Wk%Wy~Fe?QDkk?=>n1iE7R2vY&bg+T8(9?C7;pJqD>{?(^mLo19HVkZ{DpLBgynPWg0ghg$D36L4;@l+aByhDR;Xj9E|!pIR>H5^ zLJ|zIW#2#Gd;lA{4X5;nFIwm9zpOF!GQb%1jro2KY(kQMUgkKug{k6m|FgeSMH^ng zLaEI4knt-?q3n=*Z*$27kBb-_4g6yG6Gw8bYsDWuWa}iLO%=`~U}@4`7SVVRXEb~x zP|j_@)CgO7hgD+gK-!R)M+>;EAV|GHOtBZ{_aM#bL}h<|f39M-{Mr}644aR{BMEf} znaIdU)B14U=UcI3!J)hSJ{W~c*;YY01|U6f4RTBJ=TTLi@xYPJY@OEemt;cB$9LPj z=Ui>&Bq>uk49TPWjj2laI5{hW8xNi$>3Pi;pVg`{u@^`Egx!QuZ+pEUcsU^7o{>71 zgHMUTZM|S*Yw2xU+7nUbZ;=Ce%!ab@ehu#<5YH@nodlYYW|y`CPtgpm*7)=JZ^_s_k2Z)=Aa5 zsg{hI_o#x!t75L2i?RUadjS(_@SnDk0wL75a-u9XBsUdQ#vLYJvzu|?kbcw1hLF$e z{7*Q5inl9w**;@M-1gFC%8cm) z&S>%}0O~qAVGPPa12v@BHaeM!UqBuo{PBgzM%#e*K+YEv?9<*GkcYy}$z9RHm$u+? z2a~NaMkEzyF)X@XKh;i!WS_BaoORm72nM#+a*;DBRs~%^^I(s#EA-Sn5H6IHOCqPdd`~zJ$)UQ{KGEdn zWdLG*PR=3g9CuKTAkAs}IFDHm8bDM5fSH2}BOyLMcOgtkaJHwOOYwKcf@=6()L9mL zKZ&{p{#u$Jhhwt^%I_yQiLvSe)+YU-TZuITb5KG*qB{0|!P zSdh6n-7AGoLQmV+=Grx#sd2r@K*nmGHfyZZGF<6+qBs^Wnn$u0#3WR;{wNZ11R09PM2<^ZB{K8WMJH+ie| zi=dyVEwXMuKOn^(DtX!0g&9;_y`@nMJ{{iv!%ik~7%cY^T>@G1lDp#p3f7L}sgmM8 za=AWzdJ0MuX#2>Fc$z!6&=}ll(q+AOfL!j(NVGW?&T1O`H?)!M^izHcxUy!+C1rXY(0vJt-#d-hCz0|Z~k z3!FZZ3wHwMANt0|+mgo5)eQnD7DbbRG#UE#49$0Np4uPCg`2>B>Z`=xcnBI^ShcY$ z+(@sEiH;U*Q(;yjP-Y30oY)nV9!U-9M#Eef>AW{o8wAF8p!b>YKYwbZRN}ZuGsK+T z7P%9@LxIm?b^I;G!6g1Qqg^x7A`0OP!JM)ur+Pns{mN=}F5Ug?gr~H$wEdqS=Q0vD zy{__JdF{YXcG8&QviFqQo!-ZA)+jYYBkm4?pHjF6i+$8@@R_reSt!o)-b#iip=xB# zBZuZzElJJiIo6>;itAMt{sa!CR`_oCxv8nCF?W{OEb@k(A@Am6w(LIh@dGcc1ao}n z*1Ue^*O6sw<;GXAM=y!EM8g})`l+?`HhfpGYDfz^tfcRg#N;~wp8jR`{6JBy4|Ex3 znxTWK%hHBQ|9!4Gs!C;E?ISn_q(oS;s)0S!fp(iTjvfYH3(o?d^JLsIkQbu3PjKN{hW1AiaGDS)|#QKMUJ?CcCG^HPb_ zO+d6Ej4`8^j{pviOwv7bYOyl5=1@RmaDbExOR=kH$Ix}bI2$KafHu$Y<~f zGFw+q_E=`BjsrU)V|~DSNNo_G^Vu++UJnA2hIK~bi6tH-@7TcYj4R}YaNKnp&ISd1 z_s3*eBAKTq!_yc`i!ARzJG-B9A4KQNq*>>l!1o5Ma}qN!5;S_{wgYX#?bfRn^IbR{ zaNws));a;0!M;Tu4S9fRuAg75$V3l*=mU`TgD;IsZo_em9#Hx8>C+9fxjgn)j#q7X znkz9e=3YPv9msaig=r#$iMhQ}cdAFV3@((W(c;B(EUfpo>C9G#(~r2k1Ua;DdJ@b1 zD6&+qR_L4x7!Eypji2cc;Gy$>=q1V-kaz6A=P@y0;dGK}^|A1|y)8Yh>mvK539z z$=ED?{5Ynm;r-e$eLz_BT1R*Hp4}zkXYT2QpDRd=f7;@nq_wQPoCLqr_s5tcFxeTl zp0mix$x#9cYGn;zAQub$5Z127e%{)0-2dRf;8&HD?80M26%g3@wTI{_Z1|Qo^57`n5k{v4oCjDYO0H)&tM0uLeEquet{>S6V2i+B3{A5G?!Xc!O?j}P z-=KX&KMsi+u@!}MB5mwa5|%E+Dfh|L7A@J;BOo6D?LkvO5|2zppGx0QT@#&th#@ToTW(<3lBjd~N7S(yBOYHyEluDZ8Rb{y zRxKQ)_4J*6k5N$LzvJ`Hay(~lo;p+!SHIX~p*iBtfrnoUs4bTMfGd&FoPkBc7cvig z@qMKb^A>?Nm42;&8!&DW7%#p}r2?%@GYjSb zu^nb`YANhvcn!5)4rOgiRg9b3Z* z6FLg+(VOp$2Zs?Gm$^?^d;OG4ox8F2U#q~?&I#vO>6?Q1Dh3)# zn4xUfW}eL?mNOT6{~<;^&E}fTYIpML9z>WVlys!PvmWDz2PXf9cJEy~X(Tr@+mg{8LcfH~?i4^9*-PIPgiJ6wq9`2!OMvPIKz`p12DSNE#J>MzzYz z7wB8f(Drvh4A>F0nOBj^`-r#YA-7cmq6>s@qe+^H(6BRa<%G+*isqrH8 zys&KCb=3CrNLG!5(h-$oCpV;BVmbhT5jr|D&SfJ7S^vN>0zAzSUB;0~?#iIAnmCEW zhzmWi7s!&XZk3U1q4R%d7b1Y2#&k3t4b8r59AWiq zzM>$?5tv=SWRN z=i3HmvMz}dGU&36XVuTS;D1e?z#kSIhNoS&df@?Sb$W%=7c7uusl+2DY z^{xe@&YHc&>cN`(lfoA03`^Q(lZ-Cw4{s_K6LIaS_sbip)(W<6!%Faau64wCs z&=)mPD7Bj6k8KAuiv@X{>Hgda6G88bSrYOBZ}d~n9gUbhv|A;zgLNr^Yu&b3N-#fh z&LPouE1~x9Z_T5J3&Yal%sJI_J~0c1LlygGW}GL<=PhTgVKEo4$Po{@5oi%OoB80N zLbqFZuqJ>BIFG=nV7kQ7_St93oXDsG;((C=2THIj!k;11f!5)pgh8_@_k$BrrRS`Z z)V{c++eNlt%I)RL?Tho$;&T+KBosbgRGZOE|DGOxPUnx3VAT`5$43zWUv*4OEY9d; zYK=AU5(hSaM`NA#?9UdS>DQlq54WAxXUn{HJ^sSF(5yOF;>bXJ*Dk3{(uAQ^Aj-Xc}5IlIg@xhE^*B5 zHJ#qzgT-iaI(63K2&*c2hw*O7Hx6o@o#$VZbxTh{EH@wPdZdu^Gv?l9hE+n8)*?fWm P|EMaRQOuP$z4QM8hD5~u diff --git a/src/blenderbim/docs/users/properties-loadproject.png b/src/blenderbim/docs/users/properties-loadproject.png index 8c38af054f1cb12f7d3dd3451e516c930834ca94..88f5be2ddc4a53be96367f184f21c9e33475c99f 100644 GIT binary patch literal 41404 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 literal 43191 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 M07*qoM6N<$f-uJ(Hvj+t diff --git a/src/blenderbim/docs/users/psets.png b/src/blenderbim/docs/users/psets.png index 1e9493741c2ac454e545af768a6bb1a336cf0c43..cae396693e20e925741913b368e554da2888fac1 100644 GIT binary patch literal 41817 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

  • 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 literal 42193 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 F{{jD&&#V9d literal 60561 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 diff --git a/src/blenderbim/docs/users/scene-statistics.png b/src/blenderbim/docs/users/scene-statistics.png index c1d8250049d8a7ec3d1643b29d2e72ed9091dc0e..52362f050f1b95779de6866437732c8d29d4db96 100644 GIT binary patch delta 23120 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 EKly!cmH+?% delta 23460 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 diff --git a/src/blenderbim/docs/users/x-ray-mode.png b/src/blenderbim/docs/users/x-ray-mode.png index fe0649bdfeadcdd019cc686db0892a72d37976fd..70afad344609ea4e6f2ce3cfde17eece99058eef 100644 GIT binary patch delta 162455 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

    );CFWw z>Uq2|A6ea(-mbeX*2SO>_*?j^e1c&^?0ch_(9u?mUYo>}_DS1pxITRS58W4m{N3VBJ#DRqhr1t@N zOMb$*-?#i_yMZr{J__;gVD&akagRCQ!pg;jq}(i?4wVngmlhHOiLw3!n6rQ~v%Mh7 zz9g{Tmln~_vPvU~ilSYiBI7>QWS~&t@%V4;Yf*kucIZ+36uOI=XSfY0y(j2D{jr!9 zv7rGa2-hWvfIA(;N%DDRbIajG(5S>-(xHE{OHq(!$469#BR~S{Lqh z-1+dL3N!{`Cia!5%fcd*)#3R%m4f|jiaVgEnC3s7NR0oW< z_CPn`zZE_U9%XY_?J}Q7-{!FCJ@|;{%9Dwv==8P#H%$!uQkV@8GXi{P+K`EOzg5q ziWLV8{0d!JB@3M?f}){Msg+eg)3y}tZ8Ti|{$$;s>fOd=%( zb9Dv&%$w{_*G%-9sri1vsCCQG;Y_Yh56IL)=(-&x-o^1!ej}`%6hC;!#T7ikudHQ4 z9=+RL<;0}u6=#)rx*aTGf!2f+hDOA(8yk8Y``^DNbOUw&9{hfP+4;2}L-PGv5?qz? zJXa|C@U8gen>6+F%8LHSLMWau3d{WC2|ZSc`F+po?eZD0K~L|t4o)*N?melmI*9tH zEss8B=sGUyAtVlVhP^5f7tHovBpJG`F-6h}qP`fQBU5025=t;Uf@wRy21Fd@UxaTN zXtE@p&TtphUiLSIpgbp{bSnDb|Jb|QBYeA>76$g>m>cJ48vE`0tlEuH;s1R~8=kn= zO&7I^Vp#F1l-vHU;2?T1Mw0r;OFQr@S*j&NIENPT#kYftLK7Es9WZ`{O;@AblxF0x zR+V3fEUnD%S0c3w0Q?9P{;xjGv0x=pK6fXsB4>;1dd~J)S@%=D&N|?B$Gn@NCvK3a7 z(}k~Ue9je#D9pep=V5MD0Cawu(#(TO6}j`!tCqVt0?Pn4)Pf0_TP~@BcXJ^@vchNj z5>a_^J)tZa;gPHsp1b^XE!DD0UvYsc${xhgJ5?v2TZEhe#h*<+r)#0t7g~OnW%MJ~ z`%s)q0Mpqb!ON^5mPUUZ!B~tYu=1ysv;d8|LXJxf-oaRjy<|EK9TVBX)dQ#oD+e2T zP_1&_bAt}fQ3{ffY`j(+bRunEvF@%ZO+ZyaO=87R#EhL}6p}EPs)dtbnYAaYrKw;_ zfZehHul|P30(Sin5BGvHpI%>kUG85C*7qQc5;2LV(piB3YR}-{B!{9vBoFZO1|CeD z&770VrM;H*2S?LVB#R0pf6YyG7oGgg!yH}<*;(+<1v&OdJfr10Y4vYV5@`>QsiIMa?0iryA}Q-~^;=2E&R&cO{6jg1vD<7nY8EL%oQ>I4%f z_igpMkrouqEs}!!*>aF_n|6lbkG^t~rNSs0Hae?LWS=wWqE22DG?Ev{tP`#Xt4`p} z3fKz`_C{7YdGc6T>aDKjsdE*oQ)SE8u;+Xs1>fjKa$0aNOj{YN1n*)zKOBGy%1Cq5 zj7LjP%d;fnsFRPhbIGHNM0{yo)4-Ag>GG`&k!*hY*)p?-#|<}h2%3(?WIuoL3o`A> zZ>Ipfb^U({qPoR%mr1!u4M(EYN;jZ*|2YfxY`8UUr~@3?V1r^cR5Cc%)yT6MTx(>E zIE9B+2+LSr@>pQ1iC3|gmddZShwks>3qQG$M@4a_681^doz~nK6$)^D2-Sf${=%c= zwfszK&+cDBT7d=JZ-65+2{V`PA+UsM_S?>1q*xXuC ze~oTljQyLHSbpULe9@mm#xkFn7+&7KQ2VK^`PFZ24AKRc@m+Lpdp7OGuj|FpS-6Ud zid{kX9MD`h>c7QGF;`#}8X^bxwR3HtrX;o@dV11t-3d^t%uiKiiUi4n=U{b%;%D@ba(RkhtJC9nI7 zJ5vT#KrhC4@8sk`+fLk#&p}}^n^-OjA@$WN38h1~X%!x`!!)Q}#&@IgDoKhSd%d0Z zDKekv2c`y07bqa57Y)S$3XS_9+w`@6wswah&m+z- zTjXNSCe%rrH;z=|M2{^z9+{#Cj z;JA~E;cZSixJ2~}EyqR|JSrDibeWnN06#VU2mvIIQ*R$V>GvF|j`3-;<7Z1n|Fw-@ zBes8ei%=Vy>sya)V@yHU;m{lcG)<1Cd&soYaJv0 zo*{i!oD9QdLWPd*3VrQ>l`bPYM};N$F@X1M>nZ^EFC{xH%q58^IJZvFyPRnZ8K#oD z;+lC&Cd@eVlT2h409Ti+My4!a26MG1E}sN;jq9`T3cXHPxqG>6awM3^&)Qec^H_d` z4o)=UhREP_RHDCAb(HjIScPdWc~!M;J3c8oYx|oc9$jSAyeErFHxhf939;>~%PQP* zOqjOxTSzp|?*kP!wE4}L7Ork=GAoo7!{y}2WpltzC(??r;nIi^JTn{wuOO_!Pe{ag zSZKsoWE3QJceq+Wj|--FFm{M=o|E)9%F@)fu1ySTw3ri~J-RN+$@MsU{4K0b6_XGN zdGduuk2~7^Na95?xe@gH1 zifLDw4@sHKFGQm>{!>mO{>KDVD8~uiXACX7_ks57#znWmmzbM9eyk1u(%0e|AE+~E z0|t+@6k&of@lykigq6k4cTXRC03g8DqEUH&*3^A(b~4H|h@f_PlN^=`F;Lz(XTJ5cN1e92ttTQzMhx<;-;~2DDH_ZS zr{ctPc!~zz_qhb%Q0Oa`_Is0Yp7N7|6_ z#3YNYOqeFh(lM)mYm4r?b2dtY?v^~u;_`<|as z>JR%h#^phw2FisukrhZXDZFaAVTCevnpj#2UgljDv}1_&Jwa82=mQ&}5Ai8iVN!E{ zcYNJ~_^xnc-I>=^DO5hXWNFl-DahWQQIml4r)M}@6uAo&ij@N}emY&_f4tP{IZev8zTB7m?RkY z?SaG<5m!|OXp2w2RFgpByjpX>ktkYe-#bE8omcXSXN$zRm+Bzp(P8m?Wmu~gzaGH6 z-jAdAH@qDNSdS>DSK%(nVUbXrjc+d3*Z~HpdLd7kzVuH>5t6DXYkJ>*OM%7gVZ_Bm zIP8#-8D>V*{-rTvszj9fIs2dvElGdPcOBucXy;cq6qUr~Q&+W9^1?ZI;aYq;;We1) zsEZDz31X$nzAx%e#UI*!2!+NrS#ryegq`j^qRC6xh1~tyfVMNn zZBoTMkuW<^9t8MRW|wq2VVO~SO);Ha9@o-bTw`UpXi;!_-(z~7tdBT~^U$3lyXmUy z>N-%=UPOe1hUQ;4=l@f*uKnVEtpyi9F$cduC?|V&UeC4x=g~ywhOAU)^03g6iaGt@ zEw94W%kSO?lP5AM=!5GP|7(}>c)#N$M(4V*(fCrz@9XB<}G+u>8g+QM>bzXI0unQ)%NByfZ8jal^__6>Y1 zbv<}b3ow3Byx;a(Z2$9O5ygvFF@AX_L!=`K-Z}NK?sdLsMD~znfkp})Q}M#RnP*xt z!D4H95xaIx&(w6(usUBSe8yiZi9ZTWa&u#K&xBmOsfm9GSB$5a3TEIRoPLnQE}lqJ zqDF+b;(+C)?x|aCR7?Rc_>~{f%H!~{yg49zl>Epr1DLXUhCrYi zFUz>x-NbcHfQwXbtDD=h=Ld=ZBCP}bHnkDM%N8{m z?PKOxAOv5O<}>J$j$><7!dy|OS9zt8rWrS$!r_?^5<8Q)D2h-KeuuZkFx~r*%*_AOtXiA7L|bP~EC`x2g-f z1GwSA<#8caA_|H^f;>RK@O9b0t);#io-1(@qP^Tf&-&+laf;QomdS6q0PUd3Oth~c zA$^YHC;i~>M?QV`{pa#VIbB{5B=^m(a7D_H8_L_f%Uf^HQM@T(+!S6&Ul7NSkFr~` z4%|B3y;PwOUOC@!g3eNiKNht)8ofP&FXoxw%qtv(@f6~S6*LUD0}SB+I{DlT}* zdoRF!UF&#J7Qe0p@8`|Q!c7y;gI+OI+s6aMJkgACIVjzCD@RERUbTXuUOuwaHmkqOfJ%Kp|BbK>XmGB#o}Q!T=#Kty4c% zb)4{J><~8AY1Rll?l`LQYBu&?;ZfCjl!*9}*Bowq(E>F0(SxFRrix1^Hb! zEJY{+{TcNkHJ)`u0|0|AY(tf;^@{*bg9UFq&TWa|2KmT%I1W|DnkqAr`X9Ko?9vdP zW;M8p7&Wa8YY7i%3<8FgF=-JXCbY`b(xDzITKU^iu@zu1VjZhw zxB>X=bk1RF`o3gE1$1{)?J|7estR{|jUm#ONuB1KNc}0YbwVnTlns}T9w{|MJa3J% zDDONbncU)-G#uPAES8%D%Dn(7rYEW>|r<3DJ0Q5 z#|@4`ht@SCl?AlU-)sk){Y^K91{AYWE_NB*VT_^P3NqKJuLkegh!j~6bQpM%e}|xU zQN8{z+J9^3bqjQAvXk(2;I_d+$2Ova5NeDcZ2Mhy1fq6M^@&LmETqHG#b?AK=PNpR z{r(0eBgJIlsx9rJSv-sg9&&dhIWrj*tQKEj2|DD&sPDJ&X#&~CGovCag$BPnOaiqO z@hP3wf@deepQI!b4^{PwO!j;VlQf7J&t6W45`4z|U$)$ltNxASq}jTNJm&vk91L#! zI@s&++hTOblwG=U{F!onQjT(89IK&(?qYu!-$0}K;cA$eQ!YkDL4l1+lrF3lL72cK zKD_hxQJXp}6IqxcM!DW0_I}cxye)&6A|X)f)iA6HJl6@L;$9y4VIYlz5Z~@up)R_e z?4`jIOB_T{r#*EGlVd}>Fc71BmlD|~u)g|FYvd|_8Xo;$M4&@@*ZK3ge8 z=xnEH0~Z!z4YVy8w6VeD%h<@?F%rd3X6O*YWVN*K=oK|V-1qzKIWzKy^pNu5P7ra3 zvIHtF*qjyg_7c+N<4GiVpXwDFfTqWfN{b&k-g=jmktKvGKL%L@$kg#Mq}b5lvov$h zp$!;`jSapgOjuW5aK4Y@%z3o06*pbvgPEx#o|CQD>#>>nI&d-dD)&$klUTvm?&Rnw z?KumL`gtZ`bUDi}bu#67>Y8IWe>Ka_C;De8Tbs!InXZG8$Sv3C#2Bj?fIkgpPog!nSrFjQnGwbW zpHbL2_~6-b!TjA3jv*lIxOG{!{Tsb+$$%a;r&3voMaO`=B(nAqg=XY;y^NOQGKO?C z|8mTq{I*q&OgEK*Q-nlS^77{)GhU0H!-#;&={SM-pKY9|I}aKH_LUGQQ}m2pK1ELTfz*T*OAZB_M~onZ&V;C z@EbV5gWA`N<^7OEf3ZT15G6F=;XhV=F!^yveOz$x+{Z3GwAMM^!<)e`frZCi^y_}z zjaE$Nvm2D((>WU|C3=642(46lei)`f?pxR}LUwqWnw}6VSTih{5c(aP-<-< z{PGCA&gN8Yu;=}I_OCQ;ph_0A)pd(iQ(HP4wY=`nL{64dPAr`V6qY9YH?jV5ZdQT zxiPOHI?Hpz!_ptZTQ$K&4L?xza1`#W4)*IEK3Q7;&!eL*J`1>z%Na>A{me!Zp5*ye z_92xj0S%R00mB}kAbZ|^iEJ%qT~ z{p-E{e%@yDF)3FRSO1G%(;And}hIFUi|R91CO)6o$jK)@FNn{HF{ zZ#=Y-bE^8(YyxcY5G=c08HJhLV|$J=R2+BzpT-x75ZiSr(#Nle|#keBe>{CL8IPZ?65ZX-t4DwU(+grPq}b zo(eAjESELS^aMyc)K8Z(m`r~tB95gBW1FB-sWUZXLi`XyNaDCJ&-&OrROO|fvoyDr zD9uM9&G_6P8HF$hy)=b zSlHn~aSrQd>1dBeWi#5ON`t9_ll_I{o5Diik>ppKf}PK$Ecm)wW!R{sQ7i3^r`hv7 zJgDWZaz=zn!|373R&;U=$|GkrA??DJ*Hk~;;e{G&cx432&d_*#PYGm+pJ ztT1K1sTNZbjds+9_G`pFlP1q5J8P971HOPII5bli`&U~y&nEu37f)TNV>uK&2GbHtu6}}chp{Ji$=}DCiOm?*%_~&4d;6nTF+{eebqsE#{t_gpl%^4~`Jwymh5_`p#AD zf4AZ&34mGu0rbVNR$GUs*d;db8dkA;ZOj&F$nbgCatO#HvrG8iGEvwag+FvJ?vK`M zlXxC{Ojv;r@&dyfK#?3*d-%Dzc(Va+31_hUt!SJu0?G&^d_wBBB+A^_yd1x1av~lOj@E{A!S);l z`5Z~VEr6=^xRpLdTBMno@N&$N`5d~_2xbN7wcs;#1pir5RTV^hTH;gB z>s?|$7f<&fcw;A3wB&M#4qt=C0vZ5crIhJ|qnQ+<0QSlV38g=?3i%oG@lwh1A%`%D z1TUv%geDI`$XABry)3141cb$2`yY-Hz&>^0wpvRe|2I(;{5dxqSdx;8)jj4?osbmt zd&eIlNkWK;q~ObY4KmX*byP#|8nPWdCIo2|M1BfsW)xso;aKbiTMCNVDEN}c5PSfg6P7K8mMx|-F3I0ONoYrN^b2y} zNHW%aVI=a*Nn#va^Dy+qCKPJlpG>8Sf^j>~#_XIQ@5y~-Krk^db8;}}N1dIX!QK(Q z0a(r44RBJphAZqq1YfOErvFGS0qTUFGS)#hq{O&`nj;@!6f1A|sQ_rbK55kI*VhL4 z3Lhf^#Dfzo9vrG4jxF@V+_ZPh{z!w-f7RrT#vHS-@=rbBRN6AXZ^eu|(5+XF7XHM| z0ckq4e5+<j23d>}1RSyPK z?c%Uo(H;~y;C=h3repqAD6o48O`M`Oi|F`k36W)_az#x28_|&MaN#7~;iJII*ecR2 zl&U8gqFPm!t80u-Q!!)LNR!oydAjtd4ZHP`eiEjg`~xt=tx{S!YinymzGATJNcMgR z>}Y%|7Lvw6yBK>5#v{%@qn<^Z`#TUTCu%YVIH!c`<+b!{(K62}Q2-prhu({s^9SxO zq4OrtKylW6ba7msYAr_5)Bq+j!F&)fvPz_D)QsfRghcv(5-n(QC|D!IX5pMNmin(TD1?3hz;Mlw))hKu&-=0mJ^v-8Nn{NZ5bmPjE9JiPkn>1w)Y#Zq z@m9Kl7-%Rm2OVj8@xVChiTo9J<{Au27*|XF8UOq)2Y=h}G@Uu5NV}gb?sZwQi>_Yu z)i>wVa>`9G>%T4WKv+*-`OQQWvd{cJX=CYMzxm^)za22n2TNdSA&J!1#BcGz{;6Y* zlIw0kX#)r3-t5EDfR7LRw|&H$_dKeKd$oqUk#=qu)bRh{zpq!yG6iB7q_S)pCS7h` zBAJ`2YRSr?-jPC0!~}9(!*!glr;3QSB1o)<5|^rU75HZW+l+sb_J|GPUrdLJ=#!9# zJLoX=BhtiYiuNaCsQO^C0W0m>5%W>UiveTdH+{2gFh#%lY^LbM}m~{7| zT;vFG9o3GXz^AdpZ{HIsng_4<@LsUq_wm1~BS<_M;7!&2ZTDguoo!P?1&}iQK&ATR ztC*fWlX{}+q$$^+|Mo85?NnVbBkjR!$P4e*o&}tBmuo(ofg$(+*>-y{N3#sCt z9tE>i6foNX9srXA3STS=eRAr1{O+OtoiaFN&53QhMhw)G;IDSgSE0Orx?wQmuuscZ z#5Om0ME&{x<3N>DMwL(o(M#Y=t19zpHxi4)8P?k_*8YDVXW!0Ve>J_5LR-trnRifd zcG0ja&nL@nQwATito4Jfc9@dF^f0==eO1HYiC2uASj697!+yT43JyHK&k&{78mQdT zAkfI-jZXjSR09i+Asq7lcqqLFGM;rpsIA2qZ2(qSKS$7`vkpl+Onb-ECFW0d`8-R} z3|+KOT#SX}rxbBpb9--Y9Ta`}RM7ixZX~!?LRVRB#$ek1PVBV7C}F4CjJ^8@riSBy zM=I!&Du%&bS~4GYgDARV3cZp8#6i4Vx@27v#d|ZcI(=O?VJga>fF3O_Nxp~<7zHda zW>Ul+fkai&VvykTRM^q{tisNCI2U?lx+7D?72)QjJ9Q?G9t2NoyBTqNroYSLfB?_s z*WNfdQ_Rm1H3YJtlcZEP0v1*(gm!JPX3x-X--IfDArT1$Ge;Kq9#lgSh23gk)3W_KTxf8cURub98p|Vt373WZRDu?()yWR_T5IoLH6x? zgCUElZWNpDmk+Pi50Cd8my3gRQ>`#re+xXQBWXR8l%J6hw$g6{o%Ew-1<20CbDas$C^m=Cs^tm?O~l_7 zscQMQCkZ6e+Zhp}KJYC6w-==$AJ3}?z^hEl|r?SgRnTtW6P+S?FaB6NU3+)=elhg@9 zj2YEQ(dqM!WPBUrr?*b!q8N*Vz1hkBu#qowzW(5}^6~M(5WKi_LTC#d(0@t7qje

    tIg}KHLuB05 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�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 From b15e0d0e2b176c894936725259d3d2578613dded Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 11:48:20 +1000 Subject: [PATCH 117/243] #2185 Commit logos and homepage mockup by Paulina Godoy and Meetlat --- src/website/IfcOS_landing_mockup_02.pdf | Bin 0 -> 1329479 bytes src/website/logo-combos-for-cli-tools.svg | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/website/IfcOS_landing_mockup_02.pdf create mode 100644 src/website/logo-combos-for-cli-tools.svg diff --git a/src/website/IfcOS_landing_mockup_02.pdf b/src/website/IfcOS_landing_mockup_02.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4c18f548f8fead6c75aaa7c3afe6db4bad70d379 GIT binary patch literal 1329479 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

    #n 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

    *K72_jPizu(=8 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%0Av1YvAm4AfLr?cwr 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

    hF?6!4_F$wXy>dx58#C(_4!i>`b#p;` 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 H8uhsGunMSSErV7XwIHjU5~f3>fzxk`QReM6)KT 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

    }?fKfS5u|_4ed9ZX=sH=UD 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%0DHJY`hSmx5|{146`ZoT82n*jbNf~2P`m4 zf`5B(v^#0GVb%kY)ycxl1YCNUkv@y1f_9BUg7%3vY|4W)O$sPou6&3~vV|gQZ&GET zBiBS)3iIZMYB>91I7OXMC8JQ&p#q>0*SyO0Ns_6}%NFVJS`M<_)R~ma3WbA?5hq2` zu&kd=7M7F|L%Xh7G|qrdaa`8DyX@f7jQkBV_?4Xik;C$x0%6@Yb%OJ~E^$6c6dr@W zuRDfv>1g<9GSmp?vXDy*6P4qsaLVAz&`A;B5*L{2q=6^znqUp|M9a|9?jHa(S4#_A zJ3+CJITIHvj2=u^nGfa}_@2``L2l;U3iHKaoivq(JFWq|1YW>sVK{aqQ%@wuAud`F(QpziH)&>_kk-1*u||lxC>i}VCCu;c2O&sSy#918MG2L_ln^r zJ7#4r`v`tS%!Imf4^wTr)EwUK0#*nRxFDu_zT6AM0CB^7l@wIf(1 z`6%iYtKy(XsEUK1Hps-f+0Pyzj{1ZGhHC3afXad$W;+L6fhlP`L>Z(p>(87K327+9 zIHTau?W?360MRCNt-!~m_$B*r2?swSQcn1c(?~_Hv;7F_;Fg$=-p7C>?b2ppDl-~I zcDBz@mmQ3fvWlo9dJ$tJw6D_xv!hW2O5z$vFiMJQ1bvuC)Woa1S<6{0Hilc_0o{Qp z4u0TIjzoWk*T{-|_q&4**<(THPDTr2yAMZ-O>N08bP31!DigHgP$szEQ=Wg|qEP0@ z3SL1dej-O0%AB{JfE9%@7kPIuJWh@n6pzI7cI$fD^6| zIURmtxX{6OarrtN#jr!-vXI8%DGsdJ28=jQF_zn?CESHGqPi;FpNAt4w_t;MPacfv z7~{dC2y?hhyxw{8VAYggRoW|@C(q!e-R?Yj?m<-QHiSXp%@dQoIjuD_L*W`Lo6ORW zie{g03o!gTc#s&NX$ePq(rah#g=LH3&_tro0$7kGn(~5xA6=xd8;ZVMrobU+L2K%K zm$Tv|cv4e4c5mosHAIrZTZd8uD+w#q;hFpNUjq;idj@5f+#xQA8&c?0>a9)`@429CTTrzg@&YZoWqUj$a?^I-?0itAn31-~Apjc71}c$*I5(*KFEY zzB)m2%5~1B*ewVt*qFRRW7SX+PoD5dZ1)lJrAM~_`ZrYu^st@RS!{pk_h6-q)@;`P z_qedd3FhV6z>~ty%Q&0(u6eA>JA#k$T22b8sh!XkvyHHT&N9vD+RGBHMC~`L877j} z=G1-71O2Bp46k;kBlXMHBl5yL+A--KC^VC24MQtRI~jS5tO2zp+D76Qpv)G#IP!#Q zji~Rej8Z31ljM-DXtcKtJg4~6K)H_gg_DPvXO%Tgg#X;b>EY+Ed12F(G(CF*v&vC( zU^kC;tQbKz%Fp$1;SR25M9mIaXAU(O<2pnej{5uEWI4B&jJMrC5Of!tV%JJP7Ku@Z zA_O&zW>$AcD;)dkD9hh~5(#$H8>&GV_d{fs(nHhzn%t|-F~~Db4-_rNzF1L-(ineW z!*GRa{&G2>u@zuL&|y_;Ds*4;ZqeSFHDN&0dFP4#@y)}nOv1nr$e-v#nOV_tE4M<2 zoOzXE&30Uh)`d_3euGt2emvQ%UEej2qEDrD@xiD`6E|-o{P``YvqGbbv)TX;!w z7yYSpi3b)(z>AjdL*m{mPN|m#6n*1?Z(1o}1-t}a^o0>vh*U!`4J=4~Mr|>8CG!-U zAR2h_DF?x23~G(}F}yV{boG)XZ;T7jA%_8{Ee>qVyv5!W7lwuj^Y9EbqtZwbJ#kax zIH21O=fK+x2R$^ar(j#*FeS5zA4WLLe{ck6gPUs&&IAXko;a#MW;6k<# zu6kJDaQQ-DOEe1{EY_F(`>?=;piDCkZ-HZ7@WQH=&I0G5-U8?0hb5rvp2YhcvZib` zo@p&rlSrbmbu+?ws5ge3@M(yvN)K_{;b4EA3wP$2ra>{$?(=H9X_`|Pj~rva2xo&k z7VT_B9`0>$cW|>%F{ByW7rZrV#%IKQ+P-idVXX3z5r$dthXu@H+OhFbryJN*8ndxmp@3V+Kd>h{8sH&VyyPKbazpu^t>LHm{ zx4E?Qhp!kZB~m*!5iFICuS1iGPuES zn~O1BwYNQGRx8ZtV{B4pNv)oIi6RvDzjUU%Kv7C8_Ja|R z@mmdL@~?{ zxROK;=nE1#uq#J|`^aT!X}cZ~SVLH4E_XE|_o>JmkQ;?hr`Y>IUp8Lhf+*nnTe-s_R*C2)R~PY;D&Yij@MPyDZD%sOYFQ zq@A;jP9_*#m29><*4nK1Gy}ORLnw-J1*-!$YYa{Fc3)u#-P*2Vw5O5FY~a?cTEUE* zO9+XaYnru%QemvSGKgJSD4~Fm((|q>1P|7jKr)kihJ!0CJOsvaj*3EPy;0Jv|1jb3 z!|w7av!GDaCVd9oSw&If-i-36+a5XlcKCKFA-A!IeG*(`(yup9lDil&?jk~h@Y1bl z#jYZh;;u96YY2hqw6YhY*Ikf8ScNiX{h;S)0s`3|%2=Qqww1O7n_GPVCbi@z9l+&2Y5oM%hy$)7L{3XF4}JD- zhf+0k;m%2cWempOx~!*CXF&hHETfu~#?W{r9-)_-FT9}$W>nS0c}Wn{X;+xz^KwY4 zN>n%1w8M4WsyuYzfJ5w%z$pcP0vu-qx_raTEOEyZ$r76_ZAX;N$UPh=1e94cl_u?o zya+c`EYpCL8H15-i1)b`OkU0KBq#y_$Yn*;$eAOzt>cEuZAGc=ZRpxThS}2O)SjXh zlj{w^T3Re~mNIUD1-ASF14&bY=SySu5h`afFfwZk@?)?|h^kIGVAuO9IlBWxnP>Rd zxVd4Wh;s_nP2sRw@7X$wGZ(hP_I1LUSeTJ_b*kwyLfIMDO>12C8_;Uel-t(3k*{KL zZxAhZ*RJXe?{VjDZ&PU~_Q8Ts@iOM+Yf+-*$xwcp;R;0*Yq?JmBPC8aWWTb6p9eUr z{uD3<%_oHQFb@uWSYbP>c=$E{F4- z8fHn$5T0PL$sAwx5b3@T1jm2V}`LkJu!ZLoMIB_X=Nl+~??3Zax zFnzjzd&{Q>`=S&le3qneU)lvJ_I$k2am{>MCz}g5T~^GEiNoaCpoEqC-|iHbIpo2v z_NO(BeWiiw+htd)*eR(ebYIjx+*!ySSdqHF)Z$vk}v)}70P?!r}l^z*)k^5<>F4+GT0O8DN1Jl(2j zw=<8YM@?+(K8*+IlGQ>DR~8TUBohHUgQpi3q*T1j1fE`2hThKK>2Qp!05hiV^dp8? zK)tVAPbTklt0SM!+#Ra{Vli+Qvpz0Y$9rb(9KfBpdZB1r;im}zH@f4oMm~`lpO&@gX;Z7YN(NQ>YbK~GjIpA{HmRaBhblsj!2{dqh&gNEq@C-#!REqG@PMb z8df3yscWOej!6oagfqfA6K=-ivS7a3nS$dEzh&TnOBl0q2{_#<+bdb_{F~mNrQZmt z%m{Z&y#c=(D{y#c-XI@+>-rOp`U`D2C1&1D&#P|Ck#^H@Uk@{EcxK&z>E<$%j%L!0 zhx(kG6FyUJx?Kj<0yZ;lWFD(Ts86^7_bzHgo5?oaEK~}eR#Wr^o9Sjg)kcsUA2Mym zD&Xl7ZAMtNRDGU}Rfy8`o0(<l=@Dx8Hv@0H6?Q9*o?fcv^&LyzNYP9N5@y*T>z`UHkUaUH~MP!n6 zjdkDtA50PHOWkY?s;Y)-?26#q1H@HoLn-e8LP0m&2Tm7IV5^lheL$?2SFOxIH^gK2 z%qztDnpS>$yMbnP-mdI#`++>AI!6$Q2lc_NIotFEd9Zf{dHD7Pk>;&H-FEQ!6Xd-? zK#Em-Iov^j!vLaQ(#hFa8nww^)e7GjxDt&+3+LV%4r?3dFqgpHY{)wgE|P*!4(r)!8+Nv&}E_6-4}>?xHz z|2er7c^3#XwMX|5YbfS2iFZB#ju9bbPQvLRV%@>n`NVsOW&uO%4LHRO!1I)DACceg z!$|}@*6d0T|tYZ3d6R|99OmptrPeeXd?R;!U5h>(S96C?Y@1Ts> zM6>p`&ZS^6)rE8%#MIToa-`Rwq3O~%Tu2+bFDDayN;5L}e1sYkZ^A@3t zK(_{L-d)6Y6K3Yw{vtqUOFEZObAq>_(ZhW@4R#Q>d=;7O){Y>KGVKy8nTECN%Zg7} zxiqLq&wfhbNTp##dUe*Sl(TLeBP=nP!fZEazqqvi!0@RwEc0!p8ht7a>U^Vq5vQ|K zY0%v{&Gi1AN`sQ!ZCFf`OQivPIv;i_4Jva_IfklMO2?Nk~pui07NsWdY-TnHpm z9@x{*^MOyLIUej(8i42CxKx_s!#t>SkpB8gLJkiP z0KUSQWl?9?y{GTvCXENU*4Z%g;tlXJ(XT|BJE$ho9Kh``;=m&4Fz{FdgDjB-(6t9Xk%q zc&JaJ@o=9jgK?X(+&g$?kK56F3Jn&WER18P(6ASH*E8!=Xn@PqCx4qMG(@}k8FmT{ zxt57spF)GJgHqCmPod$4_IZ_=DKsAHQ)oPVr_cb}P1x-e8n%_v)}%gz21}XM`89(k zFvx5gfRRD-eEUflC8!~IOn(3xdlhYEt#XZh!5GuxoC4Y;&oax7n<;84G4SH%-2!Z= zW_f1YF94{u(>@#n+C6eQ0jAj)(AKi$khJ69-ZyZ<;T+(2nh5J01pGS4xZPdw(G1cm zm24LQ7q*+~nU8>YuzD<0ZAbsP8G&HRJ<3PL`R;TR0JAd^$omP{L~_?`Gh;lUU5h1d zM*%nMnkRKT3)qFtI^At=0ejt-Yc}*VcL7@0U48ym{RM$R6v>qUL(jU9vc20BFinr% zWq=lT)19|T+XhH z)h9)Y<~P+9=Su)e+IHZZGl9J)O^w;|tDrRM6ka4n%T&Z24FNZHl(s{Go4q@?RNKY6 zy1#Ch0-(%HR*7pq1>ZpRa4Mi>DYIhFGG73<9A|#>bSoTS?^n2cFdYj3*T+m@epKx@ zcM1_2sLn1!+qZz(uRcuMxxhtD4fIgYO53H*oO*^ntlE*<+zUX~$mS36{slZ}vr^D@ zFaSIcj+;1l!a9i_E(S7-bSZY#$H3;8G0z15!(&ug9cGJrl@^PA~r01+|k*AgJq z)d1-9{vN)Dzyez3-U$KvOsPygdwLs4%u||qcLNW;<@--(0~z;qx*9gjI~qK6x*6DK zv$yF{n0^L;mzU8y8Zcv;KGpp=oektvP48FBAcuOBrbr#W2H-kdli}@bAXB!A<=fkU zt*z$9@a_iEp6LPG-$44+*u(8_0C1LIm<|W_5N=9e+vC7)#^z_-E(Z_wZU+zFeg}SS z=FKn11Ew3p)MuRMfjx-9Bbs+TP#S8V*6n+^*QKamHS0{WjK;qaR*J>^jr^yyAwNmENs$O=K^=T$EfK@qMXFdZVBgWg#auiu4>+jdy&!G7#H->aXgL#c^ z#4KVqB%<Ecs@VMO>}F=fC7?XTjVHo-TzyHdHLg3Vqv;y8v{&%dUw3y&|I;*2EAQCQ zacf>qRv*_KDq4tXl>?>+-k)hr7*49qQ;p2Z5`H6?`QHwXI?1jgY99=gTS+;N76@B^Z4c2lu%Ljmpqa=c;L&sKI_|1Rjey zM1opW&`6W;P>eb^3zHHoX7-FJB7W;Uatnd7Mc{7Q` ziSl<9N@BEZgh5cLajjUtnYFRkM$S(K>p2iK=Deno^2BzrQ`qy=h?+SnG^a3WVzcg{ zU1m_*KO|28@%EG|ejMcDgLsM1a@g9jyO*BX9sS8IQjwvdRD0K{%=u;n0A3n{9L(f4 zJTU4t$u`M>)vBoUV57okKhd>ja2SL3bh8G*8O>rdkCr^Cq%v^Z&UcrpZ?YC!p4I21|Z`Td~ z`@j8%oBr|7|K;1C{(}toU;gFW-~Q#>pZ>m=o3OgS{NuO4$KUn8{(=HHh!X*;!oUC1 z?cbrs+rPj4<-Z~)F=~xmdl16k@Bs=kq3A?j5B{d;gUAM9y{0Emm}D$k!hDkco=>_K zM%{3zj_gFwRuTM-h-52O{A^gw{hpKm^Ply}m^%J^Wdwa-cd1l99&9amOxx0WkQ7BL z1AKn|(g#B$(Vs6DHFWk+wnkhl8K(Z>NWV8JzjQw*_XUfmoe%!*Z|8nCwOHAMnDrBX z{>!)j_1pjREs|E^t?{a!MHTw-+qXac$N%%c{kQ-8&;NA$yMI`J{`i+a{l_q_+dur> z|Du2V%a4B&GEAUC3?T{tk{j~vpa1i>f8@}aL+4vVu6mY}hN01lpx*p{3Ryn_N#YzE zZUv}(!uI4p3PtOi`p1zLf_tvq>*9@}^(9NCmcGzbw8@E=w=%o)9JL^J8?Di9^8#)K+A$Tdh&&eshE$S_hy zYaiJK7?y9S#}noD#VR9BE(LO};{YWV+&?4R01df&2=hebh8%-(V|kStV4#KY&7x4O zKT!E+KizNaQQXk;i*6ctf6s1B*{{PbZmxOb0fkT&b_`?PV^J|HEMnt(?g5tWcZR!F zjt%7QzOi10+{yUoPyX4XsCD?KjE{>s>WbI^m9X532zmQdg*FLj6UEKVN${o(66V}R z)&Q1;C8fDaeHUeDAvuA;>Xb58M~Zb0P_A!B^)G+?3+ zHowz=q~U|M_kI8W3#zxUE40nv}>s`>z8go1f=U zI!{1l^Ruo}*Aoyd9dLu(D+f$=KL^8`;s{WgX;Tacq17J=xp3KY+^K z_i)?$2$*cWkgePBj*N{`CcPMGKryPVmYbs?DEJL)aOBq6@G{M}jWTg%NJwRMB#eB5 zky>)JuD1;V8nNrC05oPjWIQ?mXnfi}W2&U25$%lWX(Y5lciP95Fe)~Bn(=RJQ(1ri z{I+Rg|9aET9(5C$|NbV&J=0CLb2*#5{jwd;TL^N@aUs(2QHOHJa@XcK*1R@xvv9ZD z`}l9VaC~ADkmD(y)*S!YWa&87rr*uEJ*971x6j0uiTmtq&h1ax;@tZWIywl<=oYsjTP6qLXKu15}(lX9Pn+E7n$ zRcV$Gt+XeZ02ngM^(5ZU(P2(Di+o!Cka=Ujt9-M!+|au($`OER>#YamP$l;lXl*}t zFL5Nu4L7=ew5^#`mLIVRWP9snq;6UTUO7MMQzCzWGg0ZsUYqX57P%B<`S z2B^tKMYq2utxz?3?=HleTpChvn@dqwurD z-06uQKxNObbX#a7f0ZpP4&P+NW)t2ULyJZ(O*cz75HQ_!x7F5`ts1EqRlqJcE+rJB z9^_iJmh&XC&J>_B>_wwRNGX|VxlM|NG{btTqijkzS$QE1LWYU-lip8EMIabG>C)H-h zo+o`*iuK8!=Sk>}J;oRL?I10dhW4 z@w1eR8lv56_Nx&f{B`z~wQ>P7vpsn%2@qas$OywH6v&LiO|6B6``mN@7yU>PM6nk~Odo=y@+k0&=P&)CK|o zbR?p+TjAs(Q;p!9qG9!3tTMF_8g&ZU*qT^>UPw1bG{g{%tS}i1IkG|n712xheMJpV zG$^T^(N_=%6$Fds;v)AGYNiX7L)i0eQMF1%E%X{>mXU>kYihEsLWCt11x1K_z~meV zO|pfCoU0U@uv3(@k(-{#UK9pKk#oUdDX{4B-$8$kzt$e_x7}9n54pY8BE+1M+v+`Y zx7B-*Zl}3Q!-w1GjX1y03&ne%e|+1UvG;jz+TQ5Bz56fH#(uuvnd9uS*BAFJ5E8W} z=Vp8?W3O#4dE)`Gt{y!TXAY4LxfA7kACNiYw`cCzv60+j{x_2S&&@w*!`|LhOd01z}4vt6hal+QATPJaC+CH;>d)?_?8||6E;tP{o9F*nx z%4Rm31$oA_7}i1Dp1tj@Hcp7klw*&|HFG(SmoZo-$!)H?Z5JnFrp~n=?(N>g>^fg!7kh z{u0h#!uhX3IRC>D7&_F7H?Q6eo&kD~7)#8X_Z{r(;{7GtzhwKDZ2yw&U$Xs6w*Pg> z_OFZgmvH_P&R@d$OE`ZC=P%*>S0vM!x;e|M%%1Pw`e*UsNvXp=Wk5L%nsGB=6|=uzf{mT`=aQ^=E~_2 zR+cJ%b6xpwFV>r4waX-b{~gL$?Z5Mo|3^t|l(zy5HBE#5hVP=5@89eH$2jXtp^%?o zEfmy)U|uLD{Q%T*W*yVcEJp}We??Wqj3l?B3E^m*-BLj!MrCLA95VW5my#>em{Hv@ zFku5lS7W%4N`kU`Ey~M3zp*fI8dn8W);VfHSN4RQssxy90H}R~P|C6=CI%l+IcdFV zOLzHinOtK3pds^N)#U657gW1T=nou_e1^X9g^NeC z8Du}QMSOY_#*zkdt$>ZJP3nU%MvjLr&_ddUy*VS&UNKA`JYOhK9tZL$(N5$-;S@H$ zuV9#f$+4<~J>D;2fA~mZ%XOCeK;d6Gl9_MkC@V|o+Fo&LGGHm7tRrB#p%6P@QRWz` zz8!Hg_)9jaZ1|UFDp2H`Kr=y*Tr-O>tk+FrfK}afXtub};*h%&u zK&F-3bCi9r$is28fpZ`zN(U8XR&k9jZgN9~K-5mHZZ=u*5>EQfOt3}9<)-wERy`&3 zU?)P;`DD9N)sL*R!y=zC)Zk7T9yb5QZGx3CDCXVBU-XOAXLF z4vv8i4_6m9>v&5<%Ys<3v6BU%*rx4^<5iK$Nx`ZYSA!e|MQ`5cAd5#X*kq;5WfoX+ z92X5nlwoh)`~!DYL4QYai^;}+eq(b+!WO$nXM&36VaPm&+SZybUq|V4=POmu8bu>* zcwMwL>-^MS6*O3nK5XG^hPEn-@dRP)~r`f zsOU}TtQX@z>u7WxsZCCBMpN}((WiIA@|&G`Hmf%1M$u0XUC8V#Eeo!&k&dpyp<-%o zcRK2_4`O|7V@K~%Aq&!CZ>S>-PExJQIw&VltLft{C?9n%3!-xa%H3Cx%^pHKrh{hK zIpK(`S#OY|fCWS=8{M{_4j7T+pGsk);DC@z!R$zaGWOu^HAigAIvv_(I0Vpqf*Oq- zM4#Oxzspp+M5z}-!^+u_sgs+4u-T*-9ilFfGvrC=qEG`w zC~wC%GOGyoPbHzDCyazEq6a0hn}fDYwSTC9%@F+!sqCX( zLs|7;(F-{W*+xX`pokkVjtoQ)nVkHNRd&|V0x2s2`(ucUe51Va$56Nvnorbx+s7T< zMrD%VcZ)Be1S|y;##|hPbzX7L0nHRaN>;0haPmkNiaL6|JD9wku!@kH|0P6f)l!6O zMD!kxQMu~=wy0=mf}Z>=MMaBbZ*Dakw${zJ4eHOKgKnl4cnw6Yr_KCiMsoS6`QVah z>WTvFj+@FTa#K&_z6UF2aqVl7G%EIU{n|5?UFPD3qPHkG4L*oQ9*~>bA$AOM2(-%} z+yC*+gClJn*6ntK(-Z>id|Czw8_Co{P{_K6?CMw5k5ybKXg6ZxNJ^x_>f11!z&wLu z;p9EJKpP+s-G&?GiX5b(?*|kih5}X56r-{oT0}QYk*-{;5u$aSCN(S|20)F)URZ@> z|29vy4y>08Uj@*}9^2D#$~b^bF|$taS{GoZ_MzHIrpoGpIFNSm9XPY%iR!E#e1WlK zcJ9lhKNTnPuSCSebq6f-qNW=*Vy+FfMGCsZDkv#QPW278cWBe+FouW1z7WXD>T=VbXvZ)u53iRZg&W_VT_u zueE52Aa^*x>}CQ2mi>(<4BZ+iN*#0wV!(vS1qx?Sf#|FJN+O2Z6hnMFi|RBe@TvF* z&XN)zFxd+%cR&{-JwjO+5b64ML%E6yXcQhBxo(ks;64c)iIPKL1E(kehOQGzOoFzM z3NIVNsKy0l8o(&m6MkrjI6)^UV7*NR<|^bG`hLv=Rm0f0m(}6~Hm_-mGsxCX&YOT4 zyXOHM6B(s|^Tpi+kT<19AcQMGkT-QKkiLv*M*lnX@8sBP|<6zZQ9bTAMW9R4#rH4p{ro7;^q`_});19O!hKVj6Kb5T+DsR!qD1oCp zU{2G{qsMiEWq^xUn4cWBUA#YSa9~CF0agZJsu6`@X{{x}00`w?+fxUYcN1J>+)e7p z+UH%Q(4g*o@%#}fLFqX|EZDURjpef(#mL_#Udg!wfztx8qM&@?UJ38QXESZw#dcLN zCSnbig$M*IRRoxd6M(hw&^yvYA1Pk6jiLqC)UZ)=gL;CamjVa?4WCL4orgJOUh&XY ztrhJXIxs$&AZ#zfu>{$J_D~#l^t8+9HFX=T;e%De4w$>H7E~LUn$xwerdx_Xk@r&% z0C&s$7@jA#{l37hI(B4(vCB2l3Wbs{7wh?5WnC;UH1@ndE zC<2f7*aiHd9UN;M55FC1TJpdKdm1+48~_FeT2#;9#@6p3sdufge!eXXR13WO-_~&H z<=F$9s&DrLbfHuhN%g-S>C!6Z8;E|JqojKTu(y~NYVyAoo#mQKh@dny)>A_jU|=-b zj1%m(WW72hd52~yFtwf(mQ!GNxr=>@6w`9c>e_h=q^|M^;F7_P*^{pXwQHflXYJak zuc$!;K($HyV1Gi~os|So)ep)jx*0~WMQZ+u)&>A`U=26)AcFy32Z-zLRHov>CW)f1 zBr;ez_SB0C4U#aqqOX{q;2-R>2yE*$BP2N*jla$C`H^wUeGEbaz)~TIcpXq1wGL2Q zv0JNXm44LuVk|^wQg`Z2ZtsFSrkQaqVbK(+vkj z4*1{+6>iMh@xZK1T#bijFJq@%z0q!nA$>TE$jQuUz# z2+Nsh3#FM)-~gf>W>O2W14G4Z)6iQkcMEY~6!~n_h!+^ZrUq8rPI}Hz(m>!BFHTD% zwQb}f2UOI>I+T=6L)i8j4=md};=!;WhF}BCQDHV3sBGvbfKrlErE`;Ir{I3+3g)uR z+n^0@CkmVk!Xs>fe|m5Pt(!Z^gV8#U_hSHsci_O`_6z?3xEJb;LdTZ-zulejwWJpz zMyAMVU?E!6k5m$mEV`N?hjTF7;e>Iyuo|i=u)zSLmTzT5OX?MMD?=im#N|tXBTc0N zy1#H*(Jf(u7_q~Mgfg9K zWgH3O7J?a3QJA*s07D&jAaA-II6#E&i044`36$W3nN%<5?!?f5seYaXJaOd@-3FIB zZ@VWLTPM3%xe4h1s*F~C!a2YOW87;QbU+&cJ%&M>5Fv>5X(U6rDa2au^oqF$JDqS6K`w^Uydh6u>gj?U>7q1u4~x@msBbGY zu>$ryJ}lqjo<@fmNy!ZZR9iCF`3C*{J#Hq2NiP(FVSY z3zV8}YtXv**P9tJ&E@h#+fY`-#L#pb)p#9MCf=-l%G&$c7xCiZiG{=cMqEa8STP7N zE;nAd#UaknWmtD6g6E?>WS$lcfi@vkvQs(WnU(b0o2mxjrCnYc9tOrvj}G2mPM&bku@R`I#J5pvRt`{2%NqD0~jnolz@XNbi~9ZtA0T1h8R>x5oRP|0QllT}}OS zMD8^`sQ%L^>mF$3ut{on-9FtBTuk;bzw8a&2wEdLM6Pe2D4(;`%}Lf{w9!DKJ2)F- z9{bGAA86`HMP?b;W&Z~}k%8Kza68zi;&s6Xq>68gymUp}i-$Umx8^N0Atygln>LeM z#LbpIco+)??NssVZ`-Ia%%UX|c++4N_shVz7QJ+6)JhEOa-go=p-w2goKYiIjrGPD zBd(5}-a|xmkU>OrpXH4iwvTajdh6k&VdM=fjbAEJ$D7*xDw`8fNXl*+Hxq@k7%z-5 z(2ftDULpk~K(t{)#k;P-=*ta5)QFkk95g}MfT+V~e_PI2lNj$o16)8>{fkK^FK;bt144MLfN{Lv6DjLC|;cpH`xo+Z$a+%zt_m6NJ<4#p;^Mgkjpz0n&``JJmH zED_e*TCfU!yD;QOG?=-Im}E+7M<0Q)B3O(t&PbhDh#8gXNxB^-JXq^%x_ULzMUicq zQ(;&wB;Bg@xpC1qa_*RoT5S!6mt`6%Slln6h5-|Ri8RID2&_!Cxzl{ew{f;ReG0ws z1mG-WM*eI+17K?3OUqaU5`Y<#-c-3bWZD7&6HTjE_1X+fEQa_NrlJz*OX1tNq-DiV ziX)IK3pEnngJe+#A4xg4AUS!+R@wy9P9CSdZM>KkiA3rxYDxaQEUrgYRc4dyZCOm^zGg&RX8w{^WYUGn>DV%{x@C1b2wOr<7Dcj8wzLZpapEe-77DFwO*+Gp9yQ7#q^i?R^J{)&;)i3S%?e4 zC^V@yMz5HfA~3Zo2&~SqBI*Tn+>5X<7YEjO5o<7nisH{?h59z-%ryfN!T=W`qZeXA@u|L3&TN*8{p&q3;_t&LKKf`7HDZg{WFjr+o{t zv36l6ucn&_akm1ZrcXuv$&P3DxGt5ap!{72Nk}_+bD@B-K~+ zSSh43_?S1S?wGO->~LjLghDxr=-3DkimYxZOV4a5fyOXPdjoHL?kwQlh+A48rfWk7kI?Yc6^Gk+r1yxIZP_&jqqpuZzj$Nm79#88v5N*Uw&RyDenA0uBWA>L0JX=r!6Zgi5i(~9UP7F>)ohsE#y7;@ z#vOFs#`%o~p}TM6oDKba{yvU*i+-7dyN^fOuQe*_cI^Hn2h~&7eH`e7UNa^rG7o}Q z$8{m+?jRQFxE*3283E<)k#d!PQ?#t><_5WY=?1RbxDHqSWqebGzY%kW{Tlx6%w-4> z4tK}i6yR^;z>wL$_bL`%wCDxA90nS1-}s#vRPBdP6sQ)`$*^ z>)Qvu*DUvKoU0K&n%r&tVVAk}&Ajr)2^!nn87DxTutt(?LTYvvPLgYCIQOQa*s@*o zYSMV9>|yX!S(?CxdShl}+uG}ND+s%>o?IIWn0&kiHKqbV0t@rz;4du#m4lHrrrmZ4 zU3@k70Hhblu{I1hR4OIPS`uKym7(VUVU96d?ue+oS!ElE#Em`9YPi@;PR?%7 zvwvpDq)1y^-*mba$5n)`@x%#C{7seF2S-~x*!WVL1Kbv>!U2^KI?UOld!1X}vqL_} zJ~`0Y)@c@a;njxm0YQl}`*5>_`cZ70muzGVzVHcGm|vQxk>@$D9*hk0p%tatLClu= zB{>Cw0+S8DVoT&XyDl*rOnNTFVuMFE(P-f1kW3>$Fu+vvv4C4CFa)J_*`NbOeBwZk zE3Z5f{(U92mO)T_b)&kvQZ@z}dD=~rpXRCYW8Oy+ZdKp&uMS8$vP;0oN{S&CdJ+0n zzkQx7X`+WTlEY@g7+I&D}2w2JCDIZ%>n-k-^Ln%d2E^-M-g) zg5u)|c)IQa%PTZc9Kp|Q8Q;Q(`N-WkJJGv+ zRLb@NbunMb&5o)YoDT#u*o47&AYvNOX^R{)=Bq23?Sa9J`ZaVUURc0J2?+VIm7mP@ zo&wtRn_EZf=(datV52~;4%jawRRRYv8g=1o6A3DJKgdC(wU)Vg=So;dXXSyUOY#^n zS-XMZZtN)Isn?b8*N(mAQ1Nm$9}H}NJbR2+jWCS|#VHMvSbRXWf-4OT7dJRZf9WY@ z4^>SX43DCUmM;pt^BS1j8&6^3+kA9_Ck%H#jQ^<#t>+wugkv7f7!v{Pg&(DGV5+NR zpm01=n_XU>e%8mivZDw9PQ8e86&bqQmqffCRWWR48zLYm2wOx z_{oek-0kR)(8|L1oaf-IUww1raSxr3d?qmz;O-YEqCvaYBN5dV=7YJ!6{qcKPm^?* z%W{SOJu|$%*OjnwmAt-$KB^Wl8p+>9V6C}+`dutATqIl;o0-b z&f-j?0Wn<&rHM(cNTz4_A+U|!PvP4#$q@>kW4*aV&Pt^5u}O3kmlACuIij4)?yPbu zd@t>kB2=Cs7G?YDjCoR8LMIa)y1sjff$T`uibrG3!NScHS=%wWZcrY8(E!K?(9S*j z!N@6~$QF1ImyQ!5az?nek0fp2oMlSW(TZRce^iR6lqM_@@u1`k1Wb!Y)j7~}ti+0y zy|FZg$#9ZSFufu#R89-Ho3e3;e-}wzP*S!Dbl9nnkbs6G_AXA-1-lTZ>6#2+>Wr44 z%7~}nnA4|vF%yJfcWzN~r=WYp90MqD(B?Yf7G*iGKC4vn%Z*@LRhHOq~ zQRhRdpx>o--#@*oM$EZUXq0vzW;->sbD3N6|mx?c)byOf3+v7{ViFxN?6S?2k#16e7AF$jNC_2+=SL z0tDfhNBhDerD6PCR}Lv!eiqQf?9S6#mXLrI8!1SVl(#v3V4RjzQqW!N(WN0owO5JP zGtHu#-yI9*Y#;a<1W0poABbEU#3JNem14;XY_R>|H&_mtM8uz?4eHv|=p!3k@* z{20U`Qar?F%-tk58-6_R&gooO3`ZH85_?m0DZQ!^!C)umMOm@Tw_%GK-Cqr7)~9l3 zfXg4n0jh-A(p}hPtHsSyb4GSk@ijD@@+jWWL9o^cRy*vY$kBZ@_30>q3=m}++^z+R z1u!vNBLo{Jh?TKCV2*|Y6Hmkpn42C-e>V(jk1ABrN{Zv7q@$yYWU%GghwpwgS~lh> z!WG~Cjy$8$k!SkNJoC}zB6-si;nb*CDuUXwWrykLh=QzdQ)}Xzfb~ z!}k$Wlq!&sA`4DeXq*f(df@ym31gtUDVu@5;=z?GMerRlUFw6Cd0rw1xZW&z0PV({ zL4l912_I-U)I@MIH|ET8>swIi#!ks;xEVe@iUrCu>Ww()VwS)cTV5Ex8!RNuer6=- zl*~!=7@`-&wBH8Z?Wjz!KvAA#!ux*daVtv?m^rz(rzNc=|sTrr|9LXzjKn`Kq4TDn>O?*kpp!1`!0c2^K^1{J@sqy`$We*<5*t( ziEaBqE}l zdjj{uqIHBF6=}(!19rOWJf-6U3ZuplSjtJl1P=z4;BFY~H9(>-Dl*tPs3#&%Y86V@ z!172t3e|GS>0!~C4jsYM1c7xp3m8Bk0#EJ+6TK8p6XPZuem2#KIjdnnz{KSbz22jiy?&DK8yc{Ms?WeR_APnJLNeFC_@W0T>IS;iN;0U zhJ=A(U>`c93+5KX>fR}p+AjI4>Kg3v3)8I>LygK!kzkdIqhqzYrp1!@&^Bk}l5YhX?$%?XOb1uref@l%_;y##Lx#jGP zo3RENBmwpO#lwM}QD`CYtK3~q zmlIVb{mg1a9pXg)@)Y*G#3ULGYO)21Vl)x!M&qhhDeCa-?(uNS6)D!$kz=|vA9_jL z?zx)*z+L9tI675_5ExSNjYeUJSes^9#@b40VNa9d(ZCQSyto- zjYlRsQuGYz#Dz(;=>x`>r@U9dic`+r*mlR5)skO+oZK&xXUTcIESL91K z8t@mo?}1=o0t^D{&VXkC968zJ z?pKQONR5rPIA-h1c23!C@ot8=HYr~v=Lelba=3XBNy?fSNOGWyBUB!AN23ER=|-n- z&lK9vxGr3bk>e^sodT77Vof?tJn~46c~~WIO=?*>202oeve!FI7QJxifv1rr&1R&Y z{cIqhHj_peC3>gFSDmg>oC=s`n0V@4!eCh9 z90?3@s1iW@ohWA(KkRG|5Ul5)5_OF>a05M0poSv06&OAzDV&;L#;+3#* zw0layQ&`X@(^>Gw+N9*>Iiyqy&LVX{n3DSHaS`2fzM(Qa=^T!!Qw^S@qz3R5PYg$T zy%HxWC2KH%Q%V}phgFyba5fc8iOY1-8BfRQn0F{{`jkU)WtSRI5@-3cgcm0GnA)7s zGP*jn&~O$%l{Irtc#?F2rHl#ZD-P05MkcRA>}6sQ_?}TDXl;3W70V-yF@qWY6boYE zP3B<=kRz6-M}D5SL&7X*IALR<5aM&PHKx<8@{D<1`D#vB*mpV-bgG1U#dZyol3Ag| zV$|EvQyL6QQb;LbxL)f&1e%s%U@@P0Qz^M3DO>aO%df#!k5_WuY#~V|N0Wl7SqgLC zL{ym^a8h#Lk!fZ*_UyinjMF`5P1${YA%~r5#wok6VWju<#Rf?ppeF4dxhruC zS9;&kbC^z+lm5$%Y&x$zK)Cr*uIluvFDeZEmL-1XZits zik{tfTCd?9k=@r>(W$B;Z`pl7rHWvj%?7KcF@oLG`x2JY`x5HueRv{rqgG1qLmMRs zAgA~7bKWs~O7BBQNVs#P_n{l55MEC2!*EFebx!X)CqL+8T*j8(*O@qsF7@obj#{9U z5IMUKb7f7+0MG6NHdx6avilO2vilP1*?oK>XLe-w@!hS8vDdQu*v98=Z^~A}w>+!l zPyVD%-T?>|y3gOk&RN>+AiJ3SIe17}8hSDZ39dT!Qa% zb{|mI2TkdHot0m^rt-8N8t#Inv(l~ z9nDxu5NdWGR-B}Br|dp}t)t9^XZHaDZ^TIHeVC5VLIJ6q-Uk#es5hneaRpQMM1CJ9 zv(&3g`F(xEjP=U?qWOKmPEXF7^80{^JtXJ%Q7q7I772d95P{oMf*&xciJ24pfNC(C zC-`9*vdm_r?ExC%kxdDHKu;4T_s*|8W5jHvNbmzDh3j&HA5e+1hzvhq`>A`S48P7J z-XqlrJ;M(u{625W@axR9p&usJj7z?p;RlrFhm_$5O#U7jehEu)QVI18KVYQ|@my$z zANyiy5{U==v&%PpZjs`Lp=Altl;Vf!*PGTC^%OtKzR{nNQv9&w&ODwoW$s~Vdw7rM z_(7^5BOqt~9p&H)fiyGa`1M!HIK5YnA2wMel=Kt(gnEu2F;pu{ zIex$fE!{cC4=4(M?v&#PO!xxgOn^3O@24C;st2sL9yxx%)Q9Lfe)w*wbd{6*fG!mB zO-X)GEkwihBtJk$C*y!bk{`Oa6&|T9$&WqGB#KD#>xeFAD0oit;}*ho7g>JTF6yR) zu_Ql0QotxD`C+h+Y08Nvgd-GGX2mVO&Uv?e%vsg_Pi<6 z59{X4Y^m0w`FmJ5jCRV2e(0eN36rmTG|JNx{V=RDa5>QrvqJXeNc00%3UtHB-{X># zS~)4v50iA$-JGvv!A1#~wdB(-wZpDVKdvN30Ys`FR~*lMk?NPQY~atRr25Gsgs6yA zzn^K|(8vcOI<=_ZQN;)H@!7AajL6DxPqvc`*u!Z2OXq+i-@c>K5(9qP^X|l9Fqo%F)|SL! zfId6Ir>w+bfX-Fz$THE7UQ;zFMF)z$ z4-NGY4ugTZ3p5HO4g;(PjdFGl1FjmRIHa0*vAQycL70FMSaYw{rjL#fD> z{KMm|VrI*ZWPqr%);=ygvul*(NCw7ex66?{5Ge!)PjVy!n`frXX47 z51aCD&M<2CBcHwm30}Yb$QXOIpSvF!V}ClNWJ;U? zja#y$^Tsn^)|l76gGh4LbqqK1U>v!!{JC9vu!8Q?7;c@QD3Boa58aJCaFmj?qU1&% zIIxM`!rjON&VbV^JGqeu3fevr4H9l-pg1>;FGq8I!&vMm>zZgRTU7kLaXIF-D} zoI$T9p{W;nFwHSjlT3DpMiM6nC1xrNF7>(+o`_fSYt@a+xi9g~$&HLf^3*N`i`0!w zNhQu#VRuxJs%`_+$}M6O0Yl2&tljALn91e&KsLVa5BJyTu! zGAr01D)wnopyjZW<|;Y-z}h8q{+a`v6t(J_3U%f8j20HzKqO|h8WRxp1@-0tDe(%b zNfb$ipQua0c>}&(I8D9*I-2;D0$!U$GQbATjHLNU_oDP5@7?_=k6Z{AH3sUU^gYw@ zyF|V+Jly%;5H)$UM_L9?9~b&0JC(voau_LkcWhqR zQ`I#|lyM4(j24^7_l&+`vo5?Jr1TyBVc3*rd%i@6>my1T0DaHVn>wS=$xIXh=ZOJ( zk}3u85i~8AhiV_(izj(@5px}Z-xDezh8nxvD_*^c^kp7@5td+H@d-~zd&D}$>?Vj5 zxN{{~9HqIC6ENZbk=R4{7c|0Q(wg>4X+@R`Md=$4UqRAw@<&CW^9j6@@XId^x? z;la=aBkvK@7u4M%HTFls>gLf}re2`096~DJbI#P2HH?m8F-RC#;L3Sfd$^f39j$EV ze8tMeXB)2%R{usEj1;6twmA>+OZ5Q8=xWXpdhKXJEXszsE2dn*Q?zDhVU>+j3}Sy+ zsztD)|840sP(D8bp6)4FT@5-grROWfNv2F(W-A9KYX)Tx)^#N^Po7EfiE|{`B$n3o zLzzv>YndpyOS=MuDncJ{vZHfEYRsHd-9XGS>W5BbD%2-fzkt>O9~KNv;3s=|rO+Fk zMs$hLOBj?(Yk5Y&#|05rgieSBcaCPksv#ipk`gKXix$tOEeELyQHV3P63&_}rKpt2 z8s9zXg9!|G(+wkq!R<=cLoQMV3-q0n;#IP45WR~nr>l_bXFz#jkyJqp1Ii+?%+QuG zhCq@)hQKh~La$i!l}*nOsG3wHaWt@~!-TsXbq={Hfk(nh2p1LPeX}HYP)KXy5I|H- zk}?I4Mv+v@P=Wm#%qSvkBzJ2v&9$3Unik5dbY2i>XX6usIml8hn=?-(dJKluM;S0F zi5Dt};@}`9(a=F+JHuJ+eYj5zEh5L99*ra8Bxg-DMrFXm$^GY?ISPfJ!Xzu_dDJoJ?LB*TvIqmx2RLwo=(~$xUP$!cTVR@7%TF<0+C+s%Pfk`H|;r zC6+ct(H)XBFsC{BxHrI=L_(dRw2eUN-XkH7gzr%h82PClNE4QPG6{9lj6AV7+JBC) z8UhI&7Aw=R?uP7tjVj7uS}?b5gjuX)tch<<_8ac*uubOcSb9lHV)pkT{jIAcc&(i} z(YqpHCt2sXrTqHJeUgP)U zNJDS?_rE>g@W21<-+YsQ{I~!7+u!_~)5HJyzyJ1k|M=VA{A=on>)Sv6r{4g4@n0Q5@sI!KxBvO{&EKAd_;=_3{rvm%)zi+u|8)L6ghKVXd=l{SK`c$sr zy(oP1ujT)>{x9GD@&EemAO7*TfA`ye{jKwr{o6jD$tbix|Na{)7q)MpkNSpcJp*6x z1ICYO|IBY0fBKiUog2_M97*;!Ec41n{s2msFEsNaSx4kHf|q!9W^5Qv-0w`Z@zA#< z=+WurVbrmDjKM_z{Wq2=6^2;ntUp+@v`wY9Ptb^(YZrR74w^=~RbPYmNKCN6B(edy zu@e0#4H{mgOzh3w(}2Td);y<F{fzEj`3R=)7G~**Hr6kRn)YN#JlY}-2To6YX zymgxPadc@c4`}+6Q9Dt*21>M)go1yI)ZFw&Vevf@lH1REhtCxiSY9TLI-@QQBVswu zg$Z$LncQEZh6CahKx9Ykd6|VOwrF8eda65y#d#*tv)IRZrN(0dlgf&yN1@x9V{o~^ zK>F+iqDTc4nc=OGcnxv9P}}CQ6oCW?Z_>(jnhcAu5LD z5<&^&ncsh79=g!aPAL*o1$_z+g%M@c9x3#aYt1f6$oZ&Bi_-`FW9iB+Ib->O&~79> zEMEQR-%xN~HKyFoB{X1Trf&k;$$eYW*Du}vd+Mc^X0%5z@6T5g3GzIctj+KiAE46= zu>eRgRE#9bfb6xeG5-QLV;k4pP#1o?W)b#*B0=*u-MT1L5=o`4>C!Ldp1)lW#3jvi zxS#eYtLTb=IkYKdbG_CMmS_VhS1u6+rqxP+v#&-3tu!nB>FXAetin(dE1aZ!g?gXY z3(%;aeo2fff%0#bEmckxV}=N-8t&FFSyiQWkJq7<$*ui~r{ zw=$A(O3H%DW-w>ca4L}x)d;IlqiIP{fr@(;)L%#Kr`-kg3a@;=JZ0I)3!nXzLaU%4 zRLYUZ$y{MkpF%R5mY0VRpkjm7d5CKd`obmIC38%lisQ7Jtme0C1EXOmQ_~;aav0UO zQe$b(S@7Dw#z~!A$S4b-#zc2DqauY&oN!4eECpBunuBZ->OnShS*Ah+*|5fek!*XA z4XXc&2{D3f-Y#*hCB@FLoP#Wm6lH^29PlLXbmfvF+fuz(qik5!R0!L&mnmT& z8f3G&8Sf&gvJH@~4W zifJG!3v>bPy@QokrNK*T{f#gbnDjj?5JHMUAjo-LeTH!Uhq260w{k zY!G0t37;Ne!|41?77LHCd6&f@WJl*at)fJr@YyPhpheiAUWA;!QiRP}3Tozx2pcRJ zY(XtW*u>Jx5jKJ52%Cg@SV}DSh+YY~kmFoJf)pi&L{lpZsvVX$2iYVnMcD+J*I`0Ks1>VBnuH&ULopL7OUX+6 zc8+zU>7N#1Nh=IdZ0z7l%Kg5QABoaY1$Fau<8tr(cf!!Egsf5XD*)OqI$5C(6v7D{ ziIwewVJtj-%abS zK8ymmH0$RvnAt>2Od>?LnnGP+6ccDt){-V`U>!w7giqnA{DjBT6`@5ri^fB<5BCok z(ke`~0Q)%7O|*Vk0}DYF?APZ$bTe6pOR^up4)dNUw45Elba^T!q&G;lk`31{-6#Rn zxpO)X>0T0HMSP!mJ~!~>R1#eD5%5t+tP zQ)-F(slcElL0p%_G6;n!Bf-lQ%SAyLL=pD&ATfmrO`>5g7E{>Jpmvl@W6JudsKVmP~Vo3iW~vw;)2DaK03TrR3j z1pPB$Kap}`xhhd*uy-af6MZH)2u|_PqZEvtNL6C8Tr{JY!Z?wZ%t(sBMI3V9OkEoD z;$k@+Q(e~iQY?{YlzBb0+XitpfR?qwcLmWY%wuxqNKB^*%sr6c=&g8a>epz&H3ZSx zM0bkMLipaB`A&ZreohMHBe5El$c-abgd7f2=tTnDytsPE!`eQ}{sWcLsW%(1oZEs( zAYqAOCD4m6dU=5Qg{t8w^H496&8?9*RzRIw8HtuNM}f|{XQEgEB>HAhtRyTEI3(1m z9^`?v<~St;UoF~OB9CAr*u0jLTSU$BJ7S7)~N=%GwA9%$lN2{brXfHl~A62}TK znMIjng&fMI?VdPRfH|{|a;%V7S=ek6#|ltk+cb)mAd(J>6<|}y=n};-Efj5LI+gFT z)W;*wwEL0$#lWZ_SxHzTSqb!-f^$ne#Rs~KF*7FiL`lLTJG;*Ri6WDv`MFlgE?>LPJQB zuc};RY6TezMfdw8cE^{Lw#)(=F)BlJfGpfesD+e~RLA#sk{b#mpo2mY%RRuER)Uf> zQ?1+_(PC!+i|GRmF;T4m6Tb9JwL<>YbAH%~Y6X}$$vg+(f}CpQLX~Po2wf5K9$YIV zRb|=j%(cP>G4aZ|R>&LML6hfPD`b~tm6*)6!jA@VL8?g&3<=jQajme+Brzayt&s2b zv|}c&70|h!w@5~cGN_P~n@c!ztpKg>BiR}0%CnlwOk67%Ldi)`2TH*K?Eo$jpE8xpi$Gmf`kW-liM2SHKb<7w*l@owS8{HuX@|B&%k!$8!0XKEo zQaUrZR-VGV+>yCfz}~W-cO}l?RrKnkUq`R`A4y zl%UMDf<&$fsAa0WXqg2LAHW#k$TKQwt}x_hStTk0-G7vS>jqj8N;%2 zuFL11$9<3$;fo|1dKvDD2vru`O+t!ZNGKaYv{G4rgPaD5_oIT@1ktKNv{Dg)OS4)K ztps*4ItA)PE0qb==*A#g;j15(j!8r-Y$W2v6VVDkMrt#ALQ8yhPJOA2b7O2lx)KND zM`VgJt&sQ?w!zG_0xr+ig+@Y&RzT&c)Dlj#lCb>Mjt0>RA4u&dh*pAf_Udr7QPRVm zXocSbH7XIU{A{p4CPC7NI?CLEvnD1`mu!qg4uJ-#r#H<1XgQ0HB)W;p(E0YPL`xB5 zz?r~;w6Q23oYe~OV=#}&c~$@^cTeJ3sb>$A{7>gu0VHZs@T>%OkAkDlvjXgh(q|{0 z6>!~drn+A=O(@gxA~7|1R!G_0A=g@Xilme|3_Tiqh1wnK{Wy zMK%Eywjf!lFv%bnI&-X4m~W(9i*u|1lX47Bu@X=oDgzTkoIfrIR{Xu0UnLqC{3`sA zIZEaYH&}_FTn_ru*9trXmG25g7)k^qb6<@ z(3~Do0MnU&;i6WMzwaFE5i+^+Rr~o8XJjy|fND$}&Y4+-RAUq)!K?ymzfSJyU{(n% zGpi)jnN@&+BW4G)3SJ`po0(O>D=2(9!K?!A!@Wt`deL)0He(rPVf6QT9>J%qj^@ z%qj_WW))zw)LbVMkc1!P#AQs-bLJc?Ro=wp)_@1E(8*;W=Yv$s6SS#Zsa1eH2vJSc zDx9Ap5}aBkuuQm-P^VVm6Y2dAY8AGH6F5_=0F|i~)GGKsaVtBu3Rjyckxs1wR0^8~ zw+j08mFzAjSHVak?8RtT^G!CCg778zo z!&fsyGnd8zdS;3o$h0;NzvV&3W7NjsSEEeKRUC&Lpp#WitTs+#eJjZMD0u@+q7rg( zoO76hbX?`S5>}R%6@;uf4zRXZkSJ>704(pDIaa{^x48vJX&hjpuIJJ?7}kR5-&7i> zRTl26HI>Ez?Vy$>^1?WvCsaanFN_0nLn+%Asa8kdG5+*a8K=R-E37R+K#o|HA~kum zGEOj`r_3r+DUT&oMizweY&qYg$~eGY`fqY+91ftCzKX;(&e66NuDcvdwsL9I{F7SE|Enb)3c=POy#S>Nq6uWL92O$H4@c z73p+|=#KtiW>L8&V{LWCc_sIDp+GD-Vle&X!45oL4-NtOS-xRvb+vD~|+W zzNtD6TJD5YULJ?U*`mOCeH?U}+KjwD&QHWTr9Bo2b-`R8hXm&5WH(ZM9CmPPnPdf! zWIE^aI3W0b_9VxMmB%52ISa5xc^r(R&=chHIA9U46;{wFkAv?Ky)nw;9R0}{I8u2W zP9Yw1ygClVinulstsMPj&-x&stK_S`E@a+&70ZYg$KlkMLeZ%>4i-rxpHmdap)6&e zM{yirlB1N1f zjDwOOVNS6TSf*HMw2@XRrl1rnjcH!|R;O4YkFof1f?}mH->piWPo-FCGz%)1f^|Kt zeNuffkI|5flT60aSo#SyWP@U*F%XT8hD5OfK2H{9NE9pJ{S^0KP^=^@QLF?S+zttg zjzl``5q>$3gfygxaLNON10qZIrU9JOY1GNkDE6-@q^CvCOcNP-j@-Ti~)v3@gBzkm)3f6|za5!_1o~R`6w~5l>GP zD`e^Hq@PU`E9f7bHCLioLElQ1uAo?vkroE>;8?+|=;Fz9j+I6?`o3%^jnQ?Sk9mJ$ zz*)KKykX{cF$g)w3T8OsX7|OhLhkTqNd&rbtYFbJVG>Y=l~{0@VI`r7VI`r?up*0{ ztP0MsLZL9EkX`U^L(n`$;?L;Y?ioH9+V1@P#L3ELDmk% z(?zX<$fm7fF-EQOR8IAo8B-7mBK&!oTZJ|6$blReHipBEOs#@L*w8~lP^&yz^)@l9 zKpc?kATg`pTvwE3KA2S=1jvv;I+#_SZf=-hR&jZEF{>bv=BYIkt2~+y z2C)ixL?7{67_rLJG=KXdR(W9L?%b4}Smlv2)`?f8kr77d&zx3;0&fYuy|SucsU59B zN+T#&3YN4-@;Ivs#EBBL*>$i+KKfqeR3V|X*ZD9`6>O`hn4cn@z#T1In9iu;P$pCf z(D_sVaUmu?6<~wb?aZeFln2Pfrvglg%KQL8a%-a-bUqcJqMHPt3NZB?I-d%@SyIK2GaxcF4S-`$u;>wGFC|7Mw=;8P*RxKcm`p9*&kuC?G( z!4Aqb}PlZC7e)~kHLZ(^X>})EW zokvT16PpUeot9_LY$_0VNI}VLD$k=NUx`g6u*{|ssI#fyJv7=THWeyQWSGxvDp)Qk z=hhON3f9YhTP8_qWYD5MmDp6!KT^sfUAb5oS;~eBoeD-(>j!E)Orc-Go%IQ)V-LFJXG>M57Iu$?N{0E&17aVtspi@a$HtAYHg6!k#Wd&r3akL>q<0gJlX4XgjKVdqC*X zJTV0%VaTq;X&B`ZQmKcIw1RDB5etL`@g!1hYpV4?GD_v6cdqroQmuzTbB=jJqc@>$ zt>-5DrPlL73fx$`pupVM`Xy z)We#roLe1Oo&%2NY7YtZau0k@>pc^y2uX1f@2S^&VAJdBx!wal6(yBws`r4tSk&25 zxd(LGD>R8-?g5>vI+2%qNc5(u+(W0;yh>>YE%$&4bUrMx&*IhPBWz73?-svlW}mIo zbbc%M0ABZPC7-m~LnjwYkx*Z)_JCC*nv)lMh{ctQJp`JIJtWl2BgBG_G72sja=nF+ zAW@kC7$U2Cs^CB=^h2!&@N^>*uv}LTB^Aq0?8+&9zgtUWT#bZ@mC;u5F@dF84}o6m zFwmIMc+X_`XUu%Ghz7H~L=YDKj@2)53OYTMsiM41vY5hoz832o-sApSxmgEE8n?({ z>)vBBf{IX1-s8^LmMYX5;yng*&M%TvVTA9{!%$P>X6{-~gtw^o7?^N;hxa(J>^;6v zGf&`&gC*6>dmN0Z*?SBWrp)X;=C@Q-bAAT@vP2cKq%{woyWjL&}HW_=>a+Y!+8u=w4=`M z>^#PVASqb(9-q@QBD8w;9(RO^E#yXrrx;UAC zg?nZ1F)%Tqhxa&P$$Lzc;eX*hCfnr$wb-4GoyTBv7YA-Qj}w-h$AO0P81HTpgy+uVj({a2qH^akCVq!8 zHd}e8oWQd4_$N}G!XE44rMWmckAb3kadsZFgNIZbHi12$Q3hdEBQ|`w!AwNCDP4F8gvGa}E{BI#cIyM-^PLB)Yp1ogx0z z?3lz%Rg+6x$+*H+viF#CpWGbTdyG|r#g@Itz%-i9y~o%#HBvEokAF4}@E((*SxOu5 zqy*08w@KwbaEQK)WQk%aL5!ShrGVSGfOR^RN&%*m#4DvFEEP%#G;?Sq)M+R99#zM* zgaaG2Kj}@#{#;3K;*1w0RPE1IWQ)|RJRn^v8gjW{2)(W>dJfM|d^GL%e)pplj#Dew zmMpvUEe<6H4F_|PlmNX(3g2-wy^&I**&0fWoElA@ZyK5+H5%V{R12xUb8_e!QiGTRii8t zhYcFDKWRFF;^e?F&g0Js zf%+L-Oqo(8p-!nnj0ZZWR2ew;G0r(tssQDjaYhv&t!imvWmEw+Ix;B}qYA)xz}gy& zD!}$`3*q>Iz zSm6{Yn4Xe_kjYfYj@(e-J6(xL(KUp$O373PLdPGh{Y<7ZSk4ee_aIXNR-U8yCo+|R zUU^tEA-Gfk3ZF%AsQ{D6kKj^CSmIK-P~}nqb_5iL%ehnri7%Kkmbg^V$cBZRxKw~0 z-LJlhAqAf;g*Y;o3iyc2ng92d$fO3ZqjRZ1)JpZ3%%uWR)=3o^Tq+oavrtw^3@H#r z60(rFR0jQ(^c*u zD)>r?8wiy93@MVGumjz8=3aX*YLCIpRpyX52?&J%ZJR+BlCb2BNoeri^1Qsss;5LM ze6?`xBq9~I5hwm2QsJjCjKs||@y(eDw;|_s?wYQHL@v*2iAlvZkxZn*#YO2FL@K}@ z&4p1Om4Nd1Iv5>;#}%>=MF+B`R9|;bqk(P7;Q5$H@L|1%?#Ds?|A0j0Urs#o??{{S zd^^Y4_3ixs`Bu)o-~QWw{Ov#dPv8E_`4cf|$~p?GyZ`2YN0!6i z|KI+sM;}BXVoyq!pQVk<|Lbp+55_iyje28b&vXCn{{U1#tH1F-{>Oj(Z~x`npZ>l7 z^UweNZ~iTmo`3(R|5g6+-~aqyjIV`{APH(?yZ_Tg1XI=^2jM@P38pe?{}%&-KX5?i z%ML9FW;;Xj;3EE|%)dKIN8w+=*VnH|Hv)cm#9{=&R@=c{udjjACD}QeLw8(vl6%b?Xb60bXTpv z=>O=j=O6yT$MWMXzv{{~{I9&`C-0x9`G^qLztq08$uP{PKm4*`<@u9;{(Z|o(aZC( zv3$^(`w#Txujg`Vz{fqm?B+kzHJ|s~bGf`fn=>2UxBb_Q=Ekz<{TI_by*?(>jjwRtMT)f|Ef{{Z_e&tch;}l`>P@R zC%*kxgPxYqxL*Iy>BnF8*DojbFF*d5GUt~K{)@eGw1vOCBcAh|jWNCy4Urv4_CcyE z=Q}YmF`eb#rNw{$_V49y=YC#`-}dh@urSYke|PPx4DLT)`TpfD{v)IEhXu|bnl9to zi~q=0_^}oJk*yFFBF}O7U-JEF!eI1czyGx){FMm#rO^5Hv;H}P_^*{Z`}z6&{^j!e z^}B2T`@d37ovAMUi#p^R<$?bt)9aTKoWFj{ z{>wViAKRiv^Q9%q@sLf3|Au0H{>#nC{*KM+G?5$EeyC`3?qT`FoSpE}P!i>;t4u)=;nW%4hhXtRyqDGrTkSA zP~oZ{e7HC!2WJ!-YVBwBA$}*hEH>-%Aa@rVALJOw+%U_7X;haO?$nLu3O??v5CZn#(t3&Od#^UQXU-awI%WN6x zl6cKi@tYjU@F53)y1JL9@THh(te>Wf8D(z`8EGl+}S8Z3?U}q6`6yC_#wT+ zB0;uFbw(l-Kv>6QE$}D866E@kCgpbpP}Ge1`peeWlsMnX{(%Z11!C+*ELM@Ah(I9u zR1x9`RgrZoe6z_?eGZ%%^)sp@__DJpLRV*dHGCK!O&RLT&KSbywt;}UEjZ}fJoy- zHmtUwzq(YAHe#P3lA4K}2?Q!y+RxT7V>YIBIW~f#@_2Zc1v;1=X;SzxtaiiJt1E0U z9A7mt{aRqO83EIoa$!ujOUS|;I=|tx7ePMcU#Mf+t{F)BJzF^Km8-gocvrVc>1UeQ z+7hXO>>p91z9gIzEs6aK0glC%obO@XHMv0hYuj|)w)PP{H->7HE>c;oYOu>>QXsQ` zOT&|K?gF-Q?Sg>y9`Bz~s|3md? zFPTUP2>&8q2{>kDA`X{2Ngo=;#MY%djgZ;t+Ahj4*F8H65s#SZvg&=>aVqG(Nd`!p zFscI=sVj0}+~ed_jBd7px^JZ;Z_^~pIhR^Yk zLy9F{0-l@nK|lL+bjkbbu4PmD_us(QIBm}`c-5q`=>8QLv^wlp2}wEuP%ML{doHRb zy!IO#@+$Voyl8hEaK}ZsvCT&3g9lw*DPUvI1#rK33mzyl$AaVj>+~jnQU3KbIV(EFd9^)wJ`-;{< z>@3PRHvd3163gr>nwD7)(X?rW#@!eVq>nYqhnbERHJ2AT51 zR&?QS_08GfB8Rl4C61CMz2`?DS=qFbcoR7myfq~qG$fhXey5QQH0$~a4TV)7k3GIQ zqRl8m5-K*5Xl_zrdcX9Ld%7Y72l5;_*NXivs`t!cx-sH0_{mKsZDGs!0z~k-ww*SWiDdTuvD0wP zwbwgL;kT#N-E5s+}Qc0 zr_20V0eTPcenqo5ODGK$@fI;uL}ScQ5p51bg@2n5@HGYQX;F%3-)qX;p!KF_m|3<4 za-UfoZSDpIAbk)l1PR7P*%V9h@CKyhzVd)amI@k~!A=8{PBVp}`N&F+hi=uGXL|qk z#lyR`sjL&n16O<#s7>+2mAYj4II%BP`%71PkEbVE$j<$4H6oSVN>$No{u;;b56`f7 zl0P$dr@#L0`k1K29U<{aHlXOmpA9}{MFE@bYbzl1?ou9^QI|L@rHHZVI=L3)=1zM? zoN*Dj!e!F)X&7i|kxa&hA6k}PK3oGf5$fmgVq#n@yxPJ9@~DBE1M2Q8h$kYp;C?ku zXG1NIsg07>##Wah!cbf|_~>OiWVm@SYWQgJG<{<~%IpqnM(Xrz_$a9I-#DK6T7+$M zSeoi~W8E`YZAL_MAO3(2+E(?O__dwN*b>w8`IM)LD}iTOAxI6V`6>AO2W+|k%4(t~ zgju#5h6)r?{-c@!7chzn3XH5SAR0~7hCA$@YG;iAaW{&S@JGJ3pooWFYu3Q0h%Ps@ zJf^+Ah(3&$@uFV+W8|V6Y%ATVaNff*912-_O;XBIn=Y*^eLzyn(zmAFDRs=Xlcip~ zuJ+!(p6o;O(GD9%T8q?h6a$VAY(JuDKg%$cp6|bb@A?#`$p4iFKzGs=LRVqeQ=Hk^3mkvL1UUu%wj+mVYK0E- ztmk;XV00M@sV#!y&LvMc0b&GDGN8R;UUW>i)nq~IFhP*c+ zRhnmy!U<$tFN8v2FVu!H+m;up=P>M*0AKChsR0(qY%+tAp%$Y^M@}(gE)WSXRC6!qgv896HMpPxVY#juCZW;Sx|JX! z+c!tL6#?19U)$*mJK1^!neZ1N-IJifvtfNrAp(IdCOV#7ZOv@vJr}xwQxz}K@fy%6FD#?}_j8QbvC19C43r)ENDJR;u zrPWjSx6MK8oKU&~G(1mSfRqceR*EVRk4&Pc`WB;Jc=RQ`;~xia;3{zPHdRO3(hA3| z$!NY^uWemWnK9+*y5WzZ%5!CrKD~OG){Ph{wdqYcEp3?qOXWbBE`Fp43%?KE`k#Oj zCv`!bBb&2niNV&S=r+43q=)MRc(H0nVnnPyexfqN&sex91(18N&#&&+ytYa?9SCrW zum!~yi0^Q(&c_-jc?v{y{BoeVj$KE(&b-tp*ig4_kp!Cc;VX70SsiLa90{f{QeDOa zAu!M0YT)!4&Ld0LkFyw-`uO2)nHw#G7!sA20YR=pn|MVGBEVwgo$L`)wk_(myXqf$ z#$gL}bAITr<%ghaSh-3ZIl%Ng@Q|XnHq(OPFRJW5?NiND@vb&GhH88qBYJVgc{n(> zqZsf$X(FM52x4>S{NqI0CYFXw-J*MJH|La0U(A)ofHPBd;4$9PjFG2ssCX)^142Cp zndWMGSz>do%dC+2+px*FbsLLQYLx@aT9@+iqn<+j1%>g#$?Gvdz*TR|T0XMYTvWN1 z59UgAjCLGqvupVHMP0kRrV}PJZENj$sE&xh`sdfQhC*TC96L4$E4C^Q0mgCjZ zoFqxN&3B){psNU@yv_FJipzZhMltgr48Nu67CY`I%ND!lXFGI@ZP(gBoRp|Qd2J*# zuZ@7KPu%YpJX~X9wG~=Yp)6zCw&~&unxYR{);FQ17Z$$eE-A6pm@Z*Umf-6CxFcJx z!CZXoF*+px>LCG&r!SN^p^^kzE^V~0@guHZE$wIlU(+PPX_|EL%!xqrY0}k!_bIuW z?H-q$3qMeni9eH|l&vJddL9YCN#;!y7rqs>SIw;{rXVnjDM(1N;U|=S5&ULUjmsTS zU z+?W}IPcn2_{4%fzmU{2OA0yq!YdUvui9}`wK@->8J@%*=`A}g@V~_B!p2t1`dF&IM z$3DT@f7PY6b#YC~LmG=3qg70Z>3|}juO|SPKPr;#k_WZ!%|_J)VLHS7c+X>|c5l$* zYO%ICfNRVhzNB`7lhlsaWT_o(y2W<1K8tPt#w@j?FYdh^HAeRjngGg-zK=)bs=sKU zEUaA{zFH2}V;hh;YdNOHHXw^X$Y>5i$asoG;AB(z!%zgwNpr(RECQ#le_aG4V2;b) zkOC607O>9wwAhjurfDCMEDdA-Bo+X&!VJdYg`<4(kB}jn;sTUIzJ?}1d};`0icNs< z?cLrK!3l*W*Y!IQod8Lm{1@J&pY6Wfm-i4$SW0aBo#E{?}QaZy(qjmB6clq*Wv2Fiz zM~0B*7})(_r@Os2gU2PK}uV;nm&HK)uH0hhe4-|}Md^Xi)!xBDj_u)po zk-pilgIbx79}70$`;-DkuyI|3yeEEnoAqN@*h=B9b4}i^c33x%^w0AO1Jl5JCpT-d#o*1WB|9Z!70~F zzo_J-H2v%n*=yP}c}Yn3-RoKUIA7%>k^NvgWVg%A$2R-dd;+K!PUeRT0Qnh<;(I`Y z15&@mEJV@-I=lHy-D+0uI$LE%W04LK2{Pq%8Pk3L<7%fASUXKrchv1iHlOVL!ME3* zCdfv3`MCW^`0N?pCS4WuMd`n@yGkK(Y3Z%W>!mNa++*H~iVAy z5)%y{7{2bL*heZhT$!;C+Tp3ONL(0qjw4*(-7;e6Ej&S$87RTG7;*6JK@WxlGNEP*|8ax5Bnb@#`RaGZ)BEW_Rlceh$n0updd0QfT|x;Cnz;b-^B~$%L#rE-%jeqO~n{ z#b|wOjPZ?mW2`vDvPFSbdev>8wfAmaSNEIYZok{7>fH4ef!W8(y@F=-IHB5c@&@lz zYsTI4)?gnV`>GhdJiZ)rq|T3fPhmafk97?v;jldgmdxj4Phqya?#?U)Q&~d( zz~A>|2?Zl({n%3i%ZnjUN=1KC5}f|ROT=ock|5SrXL+q3cZ+rX{Ja5pFXgR5dh^~> zQ186`aAEr@cEXPm4xOIj&pibZcJI|jP&KZPJ*6?4^8R2lseg10OS?z!#n0TufySQV z53>=|H^!KHvuxa@#lj@9U)W8J1fn-&ncSb?X{=i-pxmaoDqz|}aknzfvY)0RNX`O|H&gRmeE9{Q(swB7p%vAM>8`&xHpV+g(t3Vts7>@PLij zr_Rq}mVEn>H-CY$Mbw~3?T}~geWf%3{K!^e^Gr=QYbC$oirLkVyzHOA=Kj2D&mSJv zZ1UVMZeLzcAsXlgfmBARCo4giJrkUYEC7vTt|nJvPF1x%Sdj%xzIt1b|IF$6OzEQ6 z7Rda%{j`-dJVd;-!jJ2e<(Oc8+_zjl>vw8>Fc;OZX=;>!z5@Q6X{w5adRCA@w4rgH z_$4XHI*;L6xqT*p^b(KotYBjALl%X_LXZ?zF$wSlbhJk)TA=Zrl^moRaG>#>7dDFC z=?Kf@_>&~OGri5CJ5!@1x|1z$cW@`LwywZVK(l^aBRLYU^pHrU9M4(l;L=!5{Fv2^ z3K$85JLV`(VANzSh!f+d2Rg=QVw8K0-?+uj4frbpzEb2S0L(v)+N?-k?bcnI*AM#G zt^u3zLq1u5GEfsg-ln!jHhd-(M8Y%y)vb_5X|fF^MQE~>Z$xL}3zl@92WJ9%q@^C4 z394rc%4FwtErnp48m8NAq&ed&JBGGK8owF>+l5HM3mb_wpsgA~fGoRO^E721&XCk_i zoo3R1$Zyw6Jhl=e;8zv<=F`hX!zwXs!<0@BtKO%DhN>1RdtDFTyUa_SzdXhsYM(sC-V9C*(ag&@H7Bh(-uUY0i zWU?a4q^Ll$x`D5T5~YC2gqgq$gyE8$ts>AQT9VUjN2DZWXiHI&_`K4t4g1G^o!a_4 zF4Mu;>)#%MaokvNI?C3Dw~OG;`rwPGUh}MRcWPhDif`GEyw3}CX@m+TjnJQ(6)t`K zt(tiwvl{1Lk`+Gx;9E0%hb_(f+IQTK9AA?BoZl@6gxo|e^L2lWgDK1{&`aSDR1_t7 zg=+iK23Pf^kxA9}Pq6{Khxi`$D`OcwHfzS%+f6UDbY+fuq^>1T+bOD&95A1QWBF2t&6dk60a+g3qCPkgUJcOaT+EM0$|N}8Q77ItZS;y z#1jaX%<5Vl8PA@2U!y9<^9FY0b>ulu7NWwhY63bA2di)wq|$C`Twwi+bjyKUmI9Xl z(TJ)GMR&@z+K2BBZ)c^rTp~>63@Gb*F}-C=c`><0LrtgTu5x-LkeQFW>dg*6ruoJb zhu1_-Zyx^CKmV3mIHa~6O+o%CgS&~$ZU5@wN7bu~0{))idjBkHsgnMFnUBu^HJ$~F z&i0}rRz?qE_Ype`t2qZ~tW#lN1iQ`9fx}Lf^(}swNs{%#5C5XoY z8jcplO`XyERuB4MqNbRJy(WXVw}*m%icOeIjslw043C3u&x$cMxWN@!wLh&Us$-xw zH-VbaTy`~3k6Hp&s!CNPIc!=2mWMq7c^?aAHaFj9XrYy4!tW=FZ=vy$++cqO9p`ob zQjJ7k@qR@EUOf|~HU^eUum-B>AdP(R`qdiV+Ma0^g9x%k@UvQ#2N~sSb~SJ=CrxKDqhb=o0PxiYU^}J)YADrjWh9G^%+e zwMpV)|!j|uG-JPAya2_jH8bL&zG0P}$w z)bP5OF3~OO&=!UR$|fnbTG&W6PE8v9KyAQp-L_d2=_u)vC@5dOBa7LiCO2wKI#mBt z|K~N(lxNSz9S@4 ze{~P3S|2+m>oDs{!kSt1ugR_zR)I)21~O>-=1;V;~$+h(9Ctt8OM zDgjoi%9qw^99lf11ZWwim+6iRE{4Y>BJO-BkgW9RxeI5%8Az)toHUuFVTL>=wM;HG zC}brik^t!TC8WHcVN~}tl7!}g4OIGyY3lBh#81y5jUI>ZA6cY6Ff#vj(6F%6AmaMY zQ7 z>%g)YLmswbkG6qjJuurMp|E0?=$<8n->T~8fn_{*m$_$SiwA67pcvcuoyRuNOU-pu zx(n-m28xu`Ss(A|tg7=yb2^iOqrLt+ z53i#a>p-C4*Nr!%#Gq)*l^0}9PX6Bbs$|WKkH0LR?4wUBDSNUg=-dNk#?G6#2TUku z6DUW}zRI}=0=&2f0#3<5Kvje=7l}YSr}Iysy+^T3uEp zu$b2SQI{05LEPn*{{so*&6bgXNb=eiO+}p9u2S+3Ku_9=+#g6$afnFjPpiHd^Je&y zjgvd-D0T!$ln6lIaihRgEpkePhIB89MNgCnK*jnP{%BxQY&$3sE{v222_Yo{-?>%d zseusKr|}zi`jNzG5zdpCfh7V}k15^s=W4VFtuIxvo6sV({{DCj>@#wG;}{64f{(*t zL%2xO)o+rw7jsIbu&34^lM|kZ+uF9Rf$RwBx3VK7q=?dBex9hxh$pMXAQf-~x@?Dr zDu!lF8Ua#0NVfk~Jv)j=HspU-l_OSZ65lUJxjfgp$CKw&@oR+G3*mdqr=cBPB6cLp(V7 zZE^L=PIc>n2Z`Vt)bGhq68zT5buIi)5kb+>rx|t=VFFpapBu$jt4q!a6Ba~XZt5&)L-t8lNO=L$yw5d*1ZpNGoW`SlXM#`bS*PnUtk!yFW3y? z>4{-FPjAj<_SC{K$)`^V<9+(->?}!LlT5`f!0DB&-`?2x@Y!JINpLGzaYT;>?bulJCr+|JEu``(}9VAUJ-=hZQ@hI)F# zGP84+qpbc`RoVv!W%XUZj)9zZAkTw7CHnTB9vMtiDZ@VP;;A}0u-$hgE~2=nw&3}JJligAp zT?SQG>=xp!c@Ok1;ptKom_`9m8^rILtdDY+S~=(qlYZ6L!+*9P+FjW|WvY}Rd99JA z73?ScU8WQOGhbV=JB!(}VH{dp7g?eG0l)S0-S{bU2v+zhZZJ-tlFXl&dRn5}%%N-O zp~bE^O6|~LG~QIiAawmUsW6U3Ao5Ggkhdkq*r|2O({Epvj(9d&JSN<~@ir4i(WXe% zigt&UBEIgjT`^(&Ek(eonQ197~X%W?srYoV#eZc?Yk*~{h0nz?ANZS){{7;%Ys?@d)Wd- zq025L&iWn`aM&m2{d>6oIHT){W!${}^^g~C8xU7sb~R5vSXE_Zi9D*;I+dOEvXbqh z{%18gZ;7VX@Pv`XAhuc&LQ687b&nPmZY@3J=Pm2U&5ex8bO7Gl+wTVz3)QvhZONO~ zMB=uwAOEoF?MbVLZ+hTYd2Avhrj_-7I3~{ay}Lb08Nqj_*=445;)G>_@j%H!?oUcY z<^IBp(%jn>S-8>m%#!Y(dFAy+XQUk9=(V(;MF(GdUw^7ep?q!ELAstgXs?}j3;Hu{ zPmR`ggix5w)XxI;nkmOSpo1S^v0J>WfQ@NnG5Kfe@`QSNaXd^%Fy85-98J@i5Fa2@ zCB8FHsOS>Ty6Co;m_M7s_tegr#{Fp~MjXXU%FuHVa*Y9OQDH6D7|nx#94XfrpYXi5 zfKS-fYmPFPmrq-28b#7B-}v}$+wHaJwOL$K?ey*{>y|?IClnWsW`+G?ud74aGKut5|k8 zUWti=I{i)#>V)P24ph3UNWQL9-2#BMq~G0My7r2VPLaapK76H_Il%_F*xa-$#OmAQ z5tR$@^G%hDwMT>MSFT@~e&+#pG`px18ZPR1Lvm3^V=fnUG&(t{dkD` zjE$Yg#BGyVonC`=`K1q+okEf{`kCaSNJGHXxILUlqBWrny|%tqN!u|~)^>+c$HG_L z>)X!-a!!)G?XHdjBT~d~-;I-SSay}CZugo_5}LXVY)r)@bsLbHAU$;(n0kTS;c#KY zUg`+tm_JEUx6|7!bvrdmQn%T1Su8UI*jBq&c9rqV*G<*~OwQ4=O`-R6WhM6<`*bVq z-P!Qa^KF}o^9%xesrKv6Kn$A5O!XOJWSa#TLuz6CSNz5;t{dqUQcq)~jBa4>qpe|d zYHzPS*OR(|={CyK*!5fbBM@eH(G=Z7hI1@&{>2`V(Cg73tz5z}*xA9dn)>~J0 zw9VRUohFjgDIoKMg%vLdM;kW9*a_j&(z%-MYjMOsq!>_1z zMcN+gyhHb~VTyJ?MVFs@T{22E;sY3}-X9k>`PPu|>UFa8Mn6&pD64*QJ+t!a5 z?aT>bR2hEvM|BQ$OQ6NNw`J{QG!yI|RR&DOx<{3DL>N`;FOfu}=o;6kvOb<4+&sWU zROJ5a{ngV*x)K$8x}N=P^8i~<>mLW!jyg|fS_mSJ%AFuRd`$dBE??wK}yuEX2x{MuZ z<}%gk5$)kNb>HFoJhKaFgCZ6g=PQTS%m5^drXr2JQ$b8K-L$WVXG-#NcPQ~?n zY>6frqeKe*L&l&Nw!$uBrc13PH|B_=eUdSA>K=7nYny#mYp3n_w^}=G%g<^pVo=QL zZeC=7%WUq+j_{hFEP0Uu_O9Lp^CANrTZON9kpV$5YRQWXY!%fC)r)*#uf2AeaMUaG zN$y2XFH|pbY8Sl7_^FgJ?wtZA(&`@QofKu=&8ILdcl9FU_Za$Hc6Ws3Y-PFZTl>}A z+J(PidheGP8L0bT)r*W_l3<(gA`>&qpjaRe;?agMw9nU^I@CAtySs&Q`nOG{Dh~A` zb58B>5o7ATwu_3)#|$0GW~rf^J$aEawZ&lQUSuqS@u=GcUSt3&*6Bq~zin9t5>5tx zOqkZ=ZDv}JHYL-#w>z2E{p&7G#rq&%InAH}FETsxHTwqdai^erkvSs6tRzjw%zi&M zv&yTxk9v{&OjeoIWM-LvSf>AUo!h<0!1USl5pyPQy+(`%@1q(;T%kQlFEW15p}&_c zP% zR3|J2R9~oVDyxJ&9s$*S#jAh>R0Dc=jRsVsVe+5|s0LPgW)eG}q^f}hRQLC#0kEZj z>W*4ILrta-W$y?-k;?L+u8m~hM7g42s$l!XG@v?=9PruSs;&P-)k^PSq`=(q0>fH= zOGLHkvGGMk+HNYgT%+1~M7CaFM8RILMa-rrMr>_*bB@DJEsU7m^eGYDo4z^+RHrV= z0m2Ec_s@tx1}N%nid6=v9{3#Bj4@Ond_-0Q9I_)uWHmrpeph5Qrb!iFLBO0lO|P}c zYJhU`{b<2d58>6?*Nlw$yBw4^`_HR~&U{zZ{1cWbp8I}DkXO4#X$ets{}|B&BcY*R zqkq6YRrT|ElEE~mGVJp&o~pAn-tIFwTB)-=z9p7Ke0DatMIT*D%FrBHoluXg2Ijl$ zqF{a*KXKQh>F;9xOiz*3z+7CLt?%_sOe3p5MJXby&(p&U69yYZw!9yQwuAXW&NkpZ zR7tuFHai8@+Q%U(W_}oKGA1frAY!lq$CsI`Ojz$>L11}n+TB!&FxYG}TO@-{P>rokYHoh|LuGf4&_ysAbeY z9X5M=QYdYZUQ&e`$Nkkns zcz!+{HsINASUPNu%VBfayw6s*t~q~Jj~uD-j_b&t%VD!e8k2C?>_u+aMw}H68}Q#s zL@4K}m|}V$U(j<1(_!<{^6}*)4x8i2)#k9l8hP$@sVgVaA>pvW`ubt*e@Y24&XC6G zGnEb-Bo6vs)_od#Su!CxZ1!@0Av+a7M#ro#qQ_H?pz*c^9CUk;noU0$Ta z=D2Hz95$!rnlXpX@l(mB z=i;Rm&2}BnliM;|rNb&oO|o4HGut(hOQoKj5zq^bNSQ0@OtCa=ewOEuhsH-P+3uc{ zq3@VXBHMvMvNISCncwcmSs#sdH;k zChIXUEl13%r3FjrPR7} zGWAlqoyHPNf`(1DE76FSRHAIV5*oHEu*jH)?JAODo4Y1#*MX!{Kd5B3E3oY;D#bfF zGAJju>!&D%?K+SW7$KmzJ_c}RL>UawJeZmN1@L&*L1upqWFtm-Ow0ZPn7PvJ3#2N| ziNZpK4kAQi-PwZFK+Jx4g~aS`7E#P`sesPmhrmWjNYBKVHy()yMui&yH4fBy_8(Al z{A>2#D90l^lEHO7t0qdsYB3JWV-d|}DG~#h+#DOGb4sD){vl&69txCfn)eM)XGo)Z zVAj6k&7*vmXdERflN`x3kuR34j=6>pyF6KiL^bEhBPZ>8?(QoGCpyYWkA!B@BU*Th zTemI2$dw_cL%C+L1z0vQRONKljv~oA}}k4G35$BOk}B=l-F}^XE?kj-tp8Ul?h-8vld)NKs0&< z4S8eP6%m+V{qT^)8*BR1Xzci5r|C{gVR7p?KeUX4C3>+!qRa{>4=)BQ)F;c=vHW?g z`u-)Wo{!6jeiVOVcD5)1cF9GgzFpZ|18G~^3kg^)B?9?otqb;$C*%~4c>_&>XXKO&@ zc;PXNq>Os9o~|3BiP=qCgiu~Lp(-a~tV^j`@N3;EG`EW9ou!0qCj%^QS}6J}ox2q3 z%Q)8GSW*QuM0y;4xkUQRvc4kHvAH`Y7F*+I@}eYqF?6DNL4melyyJDeq%&UXCu@F5 zmruwxGxIPmcPS=M?{C&s%GpNjephe#&QI=KdEC5IE57=9a^cA^&t#B8umsaJT*6Au zt*+W+Gd1`UENPfK*}wdsplmIVEvPR#iA^+$)xx{ZtPIJ* zFp=W$7_UurFP#{dmnM|iKhY@N3=Emu!z`PDNRQm-;+DXqW?v>KB)-IktK;p6t6SEsxcw^WxF~tx{tamzLqqyRtN}5O&A;cDd@$%F>{2+ykVQr7;PunZWkS(pa)a z6f&NElC)xejmLK&R9qUb>w>d7$HEu~3}v;Y!A;K`S7m9DJ<^@5EKU3xm8A)z%F-7q z&S-qk%FYGibt)7=@0B~OzVwj%OZ$k{mj>N%r{?hb(g1M9Z}s}pAoo00Oj_$p1G3w< zw7#^6Ev1u`n5Ji|GEK-#iL_j>MX6~KiZ5|mmYN_cY1$t!mtp zmwvy~x0)PDW)xWOat}CwA%K$VC`YLIft#u}SVnq)N8Cq@i@}F$V#1_4k1F{ zbip?LQxKfHRBsQOf8^qBJ65URns#@XRn8ZR&5bkFs`cW%^`%<}iWm9lQ{Uo>ys4$+ z^G&@bO3zE0TLT5Tq+w+>RMB(Q>i&CVQ5D~Mf`F)fwe%iE-+JJukL;x+k-zH^1Ykuc z4;vzWu3nNze`#n5`!l|V^Anxggls>q1fy$ZIpuN)bmHHJS-3PnlA~l9futK7mqFr7 zJmzd%@A|ai{Lyky=NCsHSFR;zgrX@#fRkIGK$y$C)NUfVzW%(>A@f#$B@-XHvhpb{ z82y;M>9#s_L16h0HQ;r{n1Fz;`$3e5h(QWzu=is@cTi!7=1x?I&<61l2=EN$qZNKt zP+$$^BNP>&CDng-exy_Ngv#0b{7N}qCM(+m4}~EW-73ourDXRtZ7~PwiH+csCA!n! zz#&=rHhrZDJ;z6TuWovm$L5|*4c_|cdV0RrNuV8fzT}rcDTtP65Cm1p7yYt8YIdAw z=6eoReH=-M^xe!~f`nL+DLmo>iF5lyF4gi)Qf%RI|JLK;wCZa;1b^e_OPD%(ZQ&E8 zEqt`VTjS`=y@!rY^L{%<#@q5Bz`cdvIG2E{^7vg;7hBKAS0zowK0rO#$Vq-aHu6Z< zsV0wNTnVy!GSEw#CaNx+XvMrZ(V6h#M4!ov6NAesW+u29_uYPgA*d$b0|*cjt@Dk67noNICY)Cg=123M!fc;!G|aB%-G@1*ydW`$&sQme za8*_oy=f#r{Kc)M1NYsw6rcO(C6c_l+F&u7!0v%F97Kw5GC8C9oAl9Bx>+%YL^mt` zIQhaA$VYlUbmz+zr_*Y2HHmDKVxXts45UmQTNatFGf**QJ%uxSfSrbaS^m$!#ZpW9 zPiaC!3J}QvBB2NvHrQ5sT#1sH<&zWAJ&!)W2CM#R6kdhlmQeJ~gE2CIQHq^T8IrUk zf}75;2uYf`o6uM{RwfHBD16y^D3diW18|@Q*&Ky!$BjbrL#07lnS0B2 z2*{1)7P;88_?06#bh|_T5GuR>Ex(01gkr0Dt)gN>mBt|d3926sNN`+B)3w=0R65SS zyKsVUUW*JnhM&G$s^><5fr;hUb|`&p_0CCWYIVBrVWxw~%pu`19fR$+8EczzA=*%53iGH)^GzNGn9H#(xK#0G^hjMbVUGF+^udn(%eDuJljALgpw;Vf5 z@KR2Jipl!tAIVT=)CSYBC)>bnN+gn=og!bAY7X*y9mt*D#(6?XYZ zhG~Gj^b<_;Ex%5NUUuX%3bVsxK<21uHRs^3l@EBx&hO)0VY}<2!?ohw0f=LLHTycm zt~mFo0;F}HC>y1OicuPks7;z(aho(coF-`w%%}FA{F@;zlN9t*QIV+7f7z>Uk;?2X zvwzYonv%fvTo+RV8&!Uvw$=rvU6yc~aPiHw^s;rf3A3YVJ;s32$jqU$ISTZZC#7C* z3bjkSK8WZE-n*Ly58&_I$ssO)b&bWbk6{y>B=T=w#PsGr=Z5$MA@-rtYqjc668?KSsbZ1W@hNV=qN* zC_t^7(Pg!vfR(osEo(yodIeXZ(opl+#wVG6dSOGGB&2G`^g~)1irVtZP}C)@3r!(;OAEx=_;XC1muvP*d(O!|Kes zP#A63en(v>(4;E`tS*!gx68+(E|f6%mcB+^C}DD0bX*q-ys)Q?QtCqCxo@>@Eb}BF zt_qc)6onF&s%EQLQ7AN6#aZb^p`;621V9RtzHyLmaTAh;i6De3htQ^X*Hoh zkx+sj2%DxkKdu-9tWtyEDfJhJf_`{jrfq0Td3GK=@NBSb$+PoQ(s@+fdPS($qC!lk z+y$Y4nr@1MP!ow&DmSAb)P>3E-wVN08%DxTkoD#HS; zcs5&O`)WaO-o7JmY+G|0%$;(yUYjn?^~yq74ob);fZO z^4y(fR1Qiez1^tDlXrJMC|L`9v_!^mIVj<-Hgt$4#=wSqSV+3YDpJUbK`|iGut*|J z)PhQ7L#3bqwgvXeQc%*ZsxRWemvp@hb7efkSY3Obm7rwt%VcULs3`%DN8gD`P{Pm0 z7kZVsSbgX-w1&*1J+FrtrRrM}a}`EWB_Wldz+M_WqC!wpl6e)h9SNYZrB8!d(=ZpV ziAWtNVcuba9Ce_C>yF;vY^mfTZ<|5p1HxEGd&;=XfG>MN%!r0tBc5`XnVeAZ{lkvX zdsws~JYs)7G>I;}JQJy-&GbB$3C@R9d5%gYz}^jl>gVJ>#H00ls8oVSlju^Zgr053 zNl5WGrV2-~wWXQ&gZDKE(xI2{HdQJ?rmws$4`%$eV)g{x_T8ACbB(+HU7llfIzIJ9Q zRHy`)ZcL+2i9o}8RQ!i(-e{c?%s7_VvN|Prw!u@K5-`g;qga^|JX)W{Ap*V|-99QV z6JgKo%45k&eoZqqLCo<2EQG)MXRrcVwFLzq4%W#Lj#eiRJ;$01BwR)Lne-@SYwmZ- zKBadm`<>pA936X1k_P-HwpQkrE=tP-+FF?sA-2eeEK?#AvgJFHuq;#N&yTYeUfoot zM7XAyAjf9Ag+iLn`(5^ii^`M$vu{fg5$DoyfK`TQl>;!i*TctDUmfM zMq8FC0jAPT%amNtQKsZV_mgY5*-k@tR%r0JK5|c&bZgj@piGG@(qpqhi&PDmYxgL{ z3FS?7N6E$Mx-Xs5U`-`sTRBYY!J5b_B_dO06Hn^u2gRle@8lL)U29E}3W|pS@%)+{ zB@(x1!{H#)eCb+iIH4l5VXie)jnwI~!Nl`5WJfRWTB78LiWb;q6`i@gThVFugvH3% zWflau-D~}ESw!!4|hJ@a`83;o12X?nMW0t*j`yD{8dV?B;%7I%r#%@T>`%@V-IV-|?-HBo-j>@E2itcqc$ zjFu6&i38Hj9ZVS9LnqCj;o8C9Kw_jBOdZT~T=LP)5)&E64P?rjC4lKK^=1irrkf=Q zy#!gHN-ku=R`#Ob_}yg|)AiLQ zM#fhUa3*n7juXoyKGs>kSc1T7o0TwKEFo;Qja-(c3I;5(Pt%Jfgh^d>=fx6$A*Zzd zyIm{+2H)dz`}vdL5{b6DOI1E|2>8n^ctwllrVzQ-aD{l0YYj7TnO>-lR&5qNu1+AU z|3LNR@}GprmRU)K4oy+y)maxkSK*J{nYx@;6)-P+s#TGN*f@VchCz8^Sa)W^EJdTUJ~KuEuEf zycS@(-^89K!Z(^PslRqh3yHzSzUU4?+*+*Sp_1zmH_ySZ)efa7#6XR6&8=J@e(#a_BWeoLJ^#BUd1z9T;WJeG~8Ez>h~VoDPpgNR)+_?%ye0Z zKNuE=vM`Pz^M+RJ&3SyIb;5=CQpQ3iCzFFfzfddj=CCc2Ccb0N&NFO3Hf*+!_*wE; z8L-laIUk?k-Jw><{Ov4?P=g$`p0l`aZ}9c&F9NH6egi)%X$8PH7oUM^VN*Nsvp7F$ zZ_4tlr0li&H#MdagS*acCJo>`3$i+~SWpICZ$BNTV12|&gy;5irR&J7cKc{%_6P&G zG3Z%908LU$st|Yy0g=pqCxq2$qNGm2h(5$nr#MjZn1*BN+>m}$&MnDNZ^=EBA@YAv z5281a`Y(M*zrkO^z2#UG(NK}L{-zy}!pO}hFy*k4QfMFdiNjEdQOeOMer8@u^bs$J zd}gREiPK5|%HvK%<@Y7g0yPQ;wvni$8u1imf_2hH)P>cSsc(5>+Jg2^OiAQZd)1nG zc~QOJ-W5HBk$uhQYjp&w?U=*`R*&Hd5Jtoyd_Ly z4zuu9?g%|aH9=suKBSr;JzF(FLZq4?p3QrmfuFtH2SaJXbMN#BBe56VLKt^m0gof+ zM@*1rzyo(g4;Q2!@W9o$<5Q3xIqvoq@IYlgw-@u>f`3>4l|&oM|DYD`Ny#*6zn0*+co?*B3HRq)3^2 zu_Hg_Z1s$Gni+)pM7Q=hn%`44{-xAM<)zI(@Jw2f$7jdM2Tm=!u#ce_p8g z$c}zb8^9qt-A-m#_!wRGIFHfgsPZITj-5}^EzOgZUpop+gB5yvwYH7$>Qk z$Gx1kxOp^*`MCAh-wroIjgsC*klMR)&xm(ACeBCZGkedy@B^HRGiU!VL8eD6@GGSI zJVTvw^4S8v_ousW!4cZYD+s_8rH&$>nI8gWqmt0{&1Vbb#m~-M9{=n#MF(cU~>{BER%4|@$E4OnZxtt_y(+Y968CCR8f-;q&xir)AgQkdg=3{ z>CMmf+3%lS%?Lq`DI*Cve2zJQaO%P3H-+T&`e2jH!}HN}Gq){wvYFQ4!8rCYZi16W z{>_V;-uwsUt)moi$N^Er;m4^Lp3u;FIZ=vsRq;PnDt`dT4D~q4P8e09y-+iyfx%Q= zUWry(CJfpQUALZb-nk}a(H6;Xs1 zfV!=?2<<|u<{0YGFe3=q%PqB15!xlC9!+FQfyqxH`lkq1oD6+DYyU3+P67)VBg4{Z zAOu&_!+9T_LZP_jc|&@>b0I?E9cY!GkN8a!z&E#kT7$6RZbx^*LH_9YkL{9i&#RC1 zxRatuIVs_mZRyO3;n&;3ZLN7tr=|WB`yz(41XH(>RB#;j(^|0hnxvL{BQ}I;s`19= z42~w$@&W0K)q-T)a6~Nh*ZZJ;P4VIoOR6`@kM(r7(VE+)(bHIi!DJtd(0VWIju-qU%?z4LLXoMX1S=}Q*X7%EF(PBKE zTZ!(TpFHpbOdZjA;0G8Ir*|Is0c0r+apFg?YOV@b^o$K}G!V$C{E{B|q1OD!4|Ph9 z`~Vmq{taMe$&-IWM!sa^^k#F{i%wE+X`zHq1vKsMis@A-Z@V~k%>W3I5*{2(8l1Vu z9X&F$Zr;7(OXgoayXGreeVgpE7mmAmuITDd0 zKX^9hm%69rv(palXaE+Fx`Oh|kMw7Ha;Qo3eoRNlnIAxJ-)f;VKNzhUv2o@HH0f5z zOwuKVwi5BrBR?`Bs(j+ek1+Z&=UyE70V^CoMbMQshP#j4+zgBl{SYdre(-F`Eph4x zZ6b$j$EhD6u_yOaKe8r0q~oW4Wcha6X6LCNS?R}i>VE78MA4u&9s2?GiYFJQV^&z` zGeI5H*MuUgJWbQFP^LiZ~wo zvX+bUz8x-##1G;9ZD!Oc%J=)rtU^gcN8PqT1wS{y?Ad5WCx2w#_l<%`8`hm0MhQ~=^qgTGM{?-2lP=I^64LukKNaNmHAkzmF4sgW^r_Tj?+JDM9#Q4 z_3>=#LQek(hYdTV632glDo5n`A7Eyo4(3n8Led5z=YQn;o^gfqKj?s_y2SY(;kNDB zdNrh~*zs%^d|MD=S>R&GcI&#o1VzcT${J9vV>Qg;fWWjUEQbN7TV@mnL^Qqo$o4m; zVZcNr3@A;?7BItr=vq5wnuS#|my7g>0xo3o6eEm90fA}6JEDMV`tHf1fJ-x6DxZ{E zv#F3^;w>%DSGYXz8b^+>@s(n0Y&+D#LBKVZMX56gxHPM@S`08BEd-c=L;&$<@s^x= zmm+{bk2qW`0*F2>-yV7dP&z*~<1GV#OD>-_DenQmg#?b`o?F))FO`~b&8=sU zAT(?{o$pQ;YZ(B}*(Cr7u2TYdi`# zKOvm271JD-6FPJk#_AN8EA|GQwGYSw7_&ta8X*IuYj*r zi_$JsP!gG#MQIt!qO^%#!HqaDJO3yfwopWFnb*MI zTyC+Ev|rl<@TC`)TO|CZoawGqn|7@@Hf7~$*Xo|XlTLl)a}`sjC?fy=#k1~5h}&B z@+(`6sQ$Aol&Nh!Qjbqte>?L&zKf{x1tWx!Mj_NR3XooX>d*lxCg>{GzBTh; zPpA~2VhN>2*~k>RcWL`+X5+9z*{G-`3ya?@F7QL6Y+N1bc?zmgkhiwX+RHsr2Q;%lZ*yva+SM8`;51$=fYRY7)M)kO}`70Q;|G9k45jbaDD=p*8as-MlF3=y`~q)(7nTD|X; zpRctNsOXdYlIfFdF!V`u%hXABn`h;F{$yTjF~1JSkv7sX)@`tE6uwbc8>+o*ajTBI z*vp2Oa+vg+5cAlG4%>)gmSugIHk=}n0O^OMcES5fPYM)Q1U+e$+>q!?lV9;6@jQ0@ zoi`_G3g&FgUO}wPu6*x3XR+dAyroJIf~87Oj73Ed_m(PhjnbzC(t9fF{n26mq`LzU z%U>c88p+dCd{A%-3|$I2dU(#N8DUPRDuT9lqhvlZxf9h2gpa3aE`pzo=aDIQV>ptj3L4RpO<;Ik^g;HF#Tqu%hDPhn(oQUf)EJDg&`+GF;fIjJv9 zoYaJflX_b`h|j73d%36HY1tbWHo47aUh0j&#Inop)JeU&)VDO#PMp+$%0ipwq~2W} zTzo8LcX8#`+r_`Ta~Hq)>Y!~Fv3aR?FTUp^;_r6cb`CE!u%?nh+|=}JeriI*QH|&M znE7Xp>Q@)r7J(hrK-a_=oPFPJVUKaZ~&4sooOUm3>`$sxkhptBb@hVoSn1 zx2W!tQdHahE>f-S1MaEb8sAp4ERiMgkm5b;!R4VbEFZJugi zwy7ddwXk;;_7hLFEDNEa`k`g<=#nr`HAt#`cTY7CQ?25u1|d~us3ST#%U#vrzg)ge zcowGfbXPS1Y~Sxh2hbAnqByDoVEgidKpC3<3d5gwRo zpQ&(GgDdbwKB|IItME^6H89l??5*CKTT-WatA&2ugr~Wyf!WB&U5$~LULtq3peioH zU%fR#Tn9O%D^siFXu=-TnAkSiL$-xAj;a7? z&7?;hP1sU3#5}361@;(7HmQEVf}Ss#=qMjeAT(3>vjs}_&(2&21G3X}h#*Hs#|@GI z*U<#PLm2ww-H;{u)$MtzcMrDl=+)cU4f42Xi&#^ZkgFk`Es08!R<@!?6S6aYG$H$( zM-y^zKE*c^+>CJ@P1qW9tk?A@G6`y(G39}S96ldS0J=ne@taEWb$xN0dcND1a%gp2z1+4f<r#DNdC=>oZkEg>Ak0PI3b5bhZBCBeBlbz+87^8=r4iI5T(^3&Qe>ie&!sY30Xd$ zzL(tLsmsl)hX7QuNYz6Kd1tM|$0J*Sxy{N^ye!f_J41!vE078deEhYuTZ)8_gg z9_lGI0IEcx+x6T%br?T$^imRuW>JJa!-bms6^I z)vYVf(UEX%Xn^ zLIRYTIN);YJ3q8cS4;HbhD3=Qu*}*gH!R88Qlhg6YS<{<)3zj4w4P77_9X*FIPPwu z^zyE4sUdo=m|Z1I#97+Fo@D|m_o=%e`O_5qE4OfwSz$RLh3h_ys&)LONYVyY$570Y zw1L5*I+>)s*A|b?q$F)%A$fcY!`LYH%RprE;!B#OO|5y7Hg!sqv;p+tY??h+5zCf6 z(06Lt+y`yy_T9hI>Rrn1-b?6Ja&`HRV;5Hhwk1J`vW|Kmvd1jG60^nr=6!~*!ZWgE z?%PvOZjttY11x8m+L6Y&<0|kjSTI*xACiHXkX7ti$o+t8_!79iwte~ ztjh__&;~Sh{YQqj^rsqT8QNR#;cA(n4dhh}tx|$E2HUjXk)REdw4%3BOM$)`ZvoB2Yvo8b_gW?X| zrXYmik*uS0acEN2CDldDC^lX6sPH~YV`C`qIv%&I4FiOsrIqx?r@??)j$=TqSSrkfTx1~~+ z4$kel?Jl0o%_hupvoA!XA)HgAMs7AK9LmiGS~vJBbF-yqZPdukmfnj4E^@O0N$)c? zTLgeirKVbcAGPgWsNF0xvSN zftvXlnc2Ylc^V~VC*<-q07=Uh#+@e0k(P}Sv)@#I+Sb9 zo@d&E$(pmTndlQBHD~FWYR(eMvzw?=OG}y%HMN>ayIpxe)xGI+^8!4Z2bb98T;dmU zlR_)>!fP3~mS1QwZPZS4lgPW%kY-B#jc1la zp}D_F9${4PS|S6;Ba8{#A_zv*EFzFA3KP66g+~YzqGU?s7L2D-ZGvKIcH$~$ACv0d zW=yQ&9wzEg7`(2Fmz4|>QHoP4OjKE6?t{s9#R}4|dUy^pBszbJNxSE<)%Y}%cJNNv zVBB*GVW~_F8a-~ELd3RdU8+Zfu&qc|jz8#8QLu>cKgQ6pSwB@1XBa)QTd|Ef9;=%k zl)!M*5UQT$aIlt@@ih{MorWXCDJB*%EAq9i3KZ6!&@WDn}z?1Fn=KFyc9&7*jI^hgrnX9t?x?V$UV=xmdF zD^(KvsBoc@SdG{CQIB8^)e%l9R4txnq!xZ;f+rfuF!?c`y=XIMIJ)Ls5Cd>F@p0bF zr(L=(u0+MW%Ao~VPvlVOgQOlXCYVbK4&Z13Nl5P@AJ z3se$H^lN6@Amcm}(h(kIbGnGPd;pZC1|G?y~R$Wp+blT*S0 z>bMdGrXR?Z@OQ+fEjT3{C>UgFN;n?d068)xoUu#^PxP`o6O9z>Y(nBM*$~CoWB(T?Nt-Vprkccp0df31TflW6CsXSEP(a8&_`wW6Lv9O9%(jx4kEn z8z`yM8YP4ukrEDURQCmLex@{6LL((SzoseS*(T?NN6#`P zJO^;;03YXvzHpMTZVB44778-o3M*#hde^6plEQPAucYu~2ucc1uF<6MVqv^ymn zV|l5i+$5?o7Z*~(>5(OFqAHi;E17zo?QxQJ^eVHtv-7seiy_7?9`_1O2rYY~NqM}+ zIpM&{lrC^{4YiF%TimgR@<87C%Fowg2~={z^GlW!o()D$c=pSJ7};^2m+u+G%>M6x zJiqYY|MuU0=|BGO|Nh5+{%_;_`tSeGAOGcF|M<`UwaPJ_U;p}l{!!%b|4IM%uYbKi z{7?A9|MBa8dY-xd=U@N&fBk_?hh<*cU&{P1PdP>YDwpP6e=Pr^KQqhz)sX&|@elpU zP}*$&!#iX02e_J#=P|s`_{IG9{KRNka9Qm8m)ZWu9kam~WI*2^yJ=SPC;u|M z6){n2{Tuox!JdEoBj)m>mA@k;O}|<~^@sLl^^cga+P8ICBxC;JZ#!0=|0RZh|K#7G z@_c+Q#g;t(4qE;_FH;9Te)G3v{&$h)^EWpym-Q3Rz)?BRe`Gf0(wg4?hRvz@WTqS6 z|M(C7AZgq`+Wz~g{JU?_M7|?j$$Kq^F*XzH@A>H85LV;o#{aHU|9^7#-xKTa`}=oO z_-~B;?-l2ya>KeiL+&6mjOjA%(1uc*Dttvm&A0pM@{VFTu zR^w4_yBhCf$stewT(bcEi~9ETSF_y#ZpQK3N*W9q`3cjN*_@g)5xi`>hblDUyc0V2g&VL*Q1 zQpt7y;*W~YmKvTK)P|*QlT(9P9Lbl zr&&!~!HPT5nldTSqQ!mR9k^x03TAF+xaaX0rxm)+zrJK>SCh~`Ci?@qgpis>l$HVAVWD%$BLiDBM}5i0!OBa(G%>PsNCfvoUC(!;#%6aO%@VU@WQm|JdvK8 zb1rFG4-$r%Kdv|756mwGw`FtAl+>Z%UFvx7I1MpY!$l5SBZ*GmK`Uz1ot8uO_W#{< zXrKe-nubjN#Et|Dxplu_E$;x{QM(uHfK*fOp2!=yvE==|b&tg*%Jw3m2zRmN$uATg z--N&?E1j7-SnQjcbk4~vrOVL~8v?@r3(qEi<9XQIcskheA?rz*YPv5>QVc{=TfFD} zMI6X^rJkJZ5{JFlxOwzwmxOHXrh6nwo^HQ>+?5J(`-t=|T9dW7bEim#fr;sG1C<$J zFM74Vv(k@Vh~ZKcb?q&m7Q{Z*@lsz>=Va=}2ub69Q9Cjqq*(@AN^yp(>k6co`*ppK zyN;y@zOB@gC%$mELJcMz%FHjg`w01}u_25r*P+Cfz%Q^*dyj>zJckS&B|c68R3~BI z^elw8tK|~K8N}n*)UP4Or09zDU%~^VZyo;^^62b(M^sF^FkEJ@C%p)18sX9myyBS2 zu*`p+E#)WJar-3bFD-J0yBZ}MW-jeRR~JUSH8FdY7hS0(FRk*27B>~d))B%FK$R3$sEDl+4R+kzJ$S4qt^q+soF<|s@P3Z&{ z-g0T=i~mDBz@q_2jLcV@_d=FcBg8LSRrRm#JxzEVGNbNqdPy~>K>kC>gJ08CFP%5RW8*cf7)Q0OQ2zsC(N1V_h4Lq( zk9Qr#NmT-)n4LUV(Z+GXt5jc=xzzR0<>6fjT^6(c`+coC!`olOR2m|};M)s98mT3? z)?Cr~I0N^*ISZ$Q__=Co$=}vRW^7Jf(6Ql;voCTtT%GwbF>qR96q6>f z?R!GsU+$>MV@=`XgeRwcU6tro06`a?0g?0h)4prYR?sraVz1 z*W)tRX$ooowW<++^E+9*QwT$KpE#RLguwO(_6oWag+24lG#m4asGR@BZgPzPbEU-M zyw5g{#4f`vP@H)4OS%a~A(>y$RU6K z1#V<$kDCf;>`9uBFnnea#fmA+uB+}QZ27>H1%~sRsjxqVrH;S5^>*avn3B+&8nW{i zycXWA(hK|g%iXqQQ{Cj<*=&NfCAaKeCRmHmY1(=1*xHfs7-Z9mwNhQyNn(@q)Tq@Z zi_dm`+m$ooAYmMeIVBRc+`AC~Wt{q@I;doB{4VXUNCDg|C+cHDxU!>#l* zc5%JyIp)YPt9VZLf3N{PLmr8(-OZLa3mr!J#rOcz8#=1&F?nl7v5&{4kn%Y zn`9I{ygd3F?4-Jh>Ab02t|%6N(c_)$W;w(zCJD_Oo|*Mr14XIWrk@)wQH$L|@npaq zTwxc+AL6eRgLNne%Qm)|WKskLEL|rAB2G=2NnFXhF!4gNAvI*Ac~}5u1>=OW87s&F zA9$^!#;^L?8lGL>2KN4}`@JgkW_OJupHlwrE;rGrugf9#3BUI7`wwVZ4<+Ptcp?;G zDQJjDK>bikzif`BUv?~|Uk*TJTMpBupAsVeYE+^x1U;{|lDcg7$1-TL4pNIU0WW4JN>wd6`#{yzu`5g{lQw$^`B|vPOxRzp%It?nd3!_JzP}x05 zD7CJ07;3}hVBN}r`LgT@)Kw{lFLa*|({E@fTvnK6H*`{8V67HtDf@TJL;*v_?;f5% z|H4!sTcx(9T*z!IE_wyBmu~X5E}ohnCQ%EqYL*FmZvOgXg+nb-95#ovWHBg5$;Txs z*K4!sElnv@-;bD$fez|W@Zsr0(cDAWLUILp*y2`9Kscg=YsxVq9-(nDlYj2<#K~+D z+Q?nB*}0*&qUQ)ubiyo29q5STD!8D*=^@(kSJEt(Pg0kc6p90*-epR*rkR}#EJ z6{sry>yK-pok<3=pOQ%|PDK9mj|+V@`pGze5T@SAW-|i!jn81rj#75SenK!4=1|u@~c+(L%ksk{eL9_BKkG|*J|0S?Q zD;O>h_ISes`#R?Urv`SJDFC-MoF(vBRRASl5Xj6yFmnjQ!Y1BCP7L*h=aBksb4|lj zQVi!#dY>YK z#>mtB155n#<`vwHrXN#YvDjb2G8Of)z`S{-Wya(!6HGccPgSO@T9*pr8X5#|k|Hqe z#|)a;i4P?F=vmG6i@*A0o{YBsp7qJ4Ie?o)^NS2=Eel1Q#d%pBJ1AQl+GVZaIvaxUf_$7VQQK*$xi}Zu?mw zljxluOxzQGT@3-3&6)}2-@^N+;e{ecN6%+S39#{c1{exXubS&nA`A>rh=F0|fP{&D zC7g#&W;w9oA-kLk9J8%#ycDDbG@r;wK(OffE$aY3n1yw{+uYy5Uv2JfyPI#m&ZD2r z>CeLn@M4FAFAYer7zETxy0@rD>;|LWr=39KG#!`p2t5e8J*)@iShG93;!8s=M82Cu z1#dTCqI)AmZWI`0kjy8Bw-;dfQ@Bks6(*%x0QB)KjoEMI-_Y}6w-?Fq2%AX__k!~m zpAm*H=_VqtSu~(s-kZ|89yn*Xw5I#rLVN6jOR(Q<{NC4gyfhr+?>K#zTlRvRtY0GT zrF(n(>iaYGf=sFbQ>x{1HgU}V!n4Z{1XV7;9D58^e_v*adH+pCpX8)wRw!iAa|F~g^fl3}=y(bytU&q=q7@%*x zj;B8X)MR@LdFzj5DVXCU8hSL`BOU!!q6Xg3H3A+Hm64=6qE_whq>q+t7 zAsKJWw*Gw?3}CBpNbVj0qe(>Fm7@@(+M*K8D-X~|ph~gL7`iJ?u0L zH$cKVtXXtuV)gI?rxxNv*A+8OkPOHg>l_>18N@^;w?L>){o5Dg<;J~Z4bAu!3p z?=JBzZQ1UdpHpb9RGpC~h7UlTiAb3dSC*N>niijRZ#uaFSTecJut*XN%Je3WgQ)bQykRrh$Er_C8cZk(%<_*7A)NKqqs6x~L>rf4y3Q_{)P?vM80c=c4Tx7IhKh zbw*@bK->Fm-|XJtaHpfdDrRT6Z}h9O0H?&BWJ`h`sFMr9OAlX2Z^OUWHSb^Kf(pQC zYhCH$scUSd^oODYZqY!d>TqHBG|^Ecf0rqYZ7d|I%W9^nNdeHNnYHK-8dp>?PR+g( zxj)<&xHtNIzyM(v?8|+D)1J%qbJ}m6!!BaK^=?v_1{>H-7e_DSEm7V6cMfE@lOTI@ zITW(z?s>=ono*X72*XY8E>J0G?@W!9jr`2?M5wzx&05=+1EXtV_YMa}Ulbil2S&n| zIiEi#2SzqT4vg&7<-o|^lLI5icu({fQ+#mC<-q6`-e&)WoYFSTH^!Jkvut=1-L<6d zzFZhDSXC+I&YZE_#3!2jefnf>{HS^MB4kg~;SeJt&qNMBJQ%q6{cU<*9t zOJI9QxJ*f2HLJCta&-+?Pne~%OV*GQMM`374Z$rGbt_q~a5m4=p7djbuf>xv7EiX{ zwab zFs^|Fc*#+MBhd!5C~l5wE)IaFseKU%I|Y7-9pP*b=oXll=E9CNpaL84Grn06sR}yf zL5dNgSVYLu7t%r2qhdvfiN&|dNgRA-M8M%U8H8bVX7DD}c2 z60C{y06pttXu4a!z~;GR`T>U{KFnWzJa9lgfW3O+1C=b@?gWf+Wt^PG&mnc9m4@7j zqO^@m>R(&FoGE@c<}@>HX#P1Phj=BEcZj1h%ZIqnlL;A$HT&lW?58A>`ymDFv`VfL zNDMC-O)E;I%lJhL57$0Dv2wp8m54Cxvtva>93FHL{=6)7&;?7ZQq~H<6Ee4~@w-S~>REjCp$LhPJ+r7>!%!m>AH|(G&GAp&A70F z`IGi-4o^Lnaz%L{f#CdLV|e1gVE=Tb%Aq?$#T1@)UV}~Hz-|%l=w%8gs)l4VK-Ok- z)O*8k9Jj;e6QGIrCR=(@_ysoiY3W94d%yFU?cYEz4IU_2 zztIL6ztNk^_Ki-H=^F#1N&R8^Z??GX-nWC6zL<6|_JYs3?Ox1}V`+NXY3$8b8g}yI z+*U7RY566ZMq++3t;uYg4bSXl+Nd!avSnl3Ve;bK`v}C|Qkq{DFXqd!Y!{cN^p74Q zlkI$rBrzT{qfVXtVp1{NW_o8Yb7o>RWa<7e*Lv2?$}8MQaeUAr*@sVKSp>Nu^YvDKVEz0xV|)T zKAD=Dnu~b#X6nJ7tILjELN8G^Tlf5JNxEva?pJ$?2a=4|-96zwEmqtLGORE0Ue!~2 z*STMKiEmqVKawGt@8A}V$AycTsY`C12orV5og8GIB6WPbPBQCMk}hw{bRiRstx~y0 zi7iqCSYaBJmZ*Ittx#?0vOuFlWPoa~$@tV!U4~~2-t11L4%v}P!OPwZLi1}rA!KdZ z#9gLlOfXrR!31Pz2D^lvnFyPijJlN>j7mnPG4o|%8q2$RsY`-P%O7Ne%8Z&!n}+3X zDwfzH0R>7woD2;L$aMj?Rf$_c#$b~&7ff1|iLpVMsM?eMt+dsm&C9Hd-jM+qqcAHm z#u|p?w!nwKf!lI4_1C|#>{QF$+LGHexK}Ttd}sz_K3~fr&@>XW(#IX{1vX!KP$=39Y%L2{`vVzE2F;^) zq@a+4L1J3|%5SD5_O@MGd+$=7Tj%MBV2tlNO!&yvV;5Qb0`8uAaB z#8t{$yLRZue;Am>?ewRL!kb@AJJbjI8+5Q(EP$$B5-&yZ6ipF+(k6IkLw)R8Q%5=G zyvv$}{@Hhhh?iMVT)tlKpwPI~1TrR*3_|p0X;LwMBo`SyMUQf+A~;Rt^$L^LfbqMB zI#lS|02ri645!)YInNL{askB0F&>~O^>ig2psf2$w#Dl(A7I7s|SE;`d( zvW}8AO)e=cSLPVd!dYXrRQs7GjnOmZj1kK7C@7Pp$o=0zGL)7nUsH(MHdmf|#bu_~ z<#tt6fF3L@evm67ZyN5Sx$5u%TH8dhmw{@!afw}$0gLMIB^1@5 zUUj5~gq?(zPtS4H-2*nt@Tz-wES*a3)z*H``}js}aKB&0_G&A(tFwh){ZeNtw^!vV z0UOy&;e;A1RBI1_oj!|NdxTM~y+rwpO|8>p1VO_+Pf>#m*l1>>+g=7(v*IU`F#`Yw ze-=FhqKSaeTk#Obl@qc;0PzW_z!oi7g*NJilyIY-MwvGs5S7xSkyDL0Lficq73iv$ zkf2I+wQ2z>Drg62Q4PJS8M;Nn&)XHHJ!RL{&oNh*^E;0L3vW&MD zT;-if#n(P5 z*|+*(5Pr%rDUc`R&n+ILCRxuFw8gcXEar#Y7x^jXab9nI?DX9E;%X_MdA}FvwdD)c zc75@E+Vw?GV&512rJY}liL|l~`;wR#vF!c%H8uQ6br0VlT-tjKEwL2}e2ny}`QDGQ z-1`N3?fnoD9lZBL(S+yP`;DgQxA*RER4qg1gL@zJAXLRW*KQt`3wpfrQ3B5ZHOnwGYHx z^lDsDlhXUQWPH=ct%-jhI2U@RuGl*cM^`0Mi zOBm=iwTYS_7_Q++SPUz%NHS&ozUFt#kV_=C#7F~Cd{dlu8tQHiOHy<@4N~UustDx+ zyR0=v-CzUfzba#~$%a;%VQI9XNqy7IHpz7LBpb8bkkJ}gh@z=ZzkS<<0jlo z`&~Sv#Y{MqYMi(IhI$*v*vU;e1He$gVCug z)xMN0mhA;6W|xRzqwB=jJA(mf113SPh2iLB2_~AxAc|ojGn$P-)Y7eA#-Nq{;4;aO z9VV937(_aGV4)R$5Sd~U;+pb1S)}ggD_I2CyuIRxo_(c?07WJT71(>eQbiKG3+y>M z;+)iAa1guXp912JbXan8$}>PCuqzRI3%lxU1IHGbxA0lp`(* zomQ^LEY) zin!mj3eMLTr&(p$?o69LdZ&K25j#?*OlWXv6&)bHKvvK3r^JB+%?ARw^ahyqiZRpU&JmgKp-WN>Ntx^+h zw`N!r*aMnpAY~D4Gpt^~%D90zHeHn}RHICXHX%9;6$Se75V%-Z!YkL+cdOn%u_V^UcnTHjQ_Ncf}NWsN`pSO{7f zrznw{9ofs(wDr#FNvHcjUo(cJ7N>B<$!DDbWNu7)qYisxEO~zX7io!YU%BHXzfRL@ zNS@gDGf8zqy^uJ*=B9wvaT8uGW|iupP3f9g_Bh-*f~|C?G18ir0yc&yT#giErQyOy*v z7civ=Oo$aSMz3*@Rq5{Zj=5(*xza0<+=+(5IyF23hOJbNk;>PeDd){6 zrTn#LxZ0AmKs=kuqT;fIURAgqP2&R?F6tO$qyT%W^=9k$x)c>yWbgnR<)iNU)7=!| z+Uv-O88_M_{BOUGFE&#l*=`f7VqU$g>3NA!)b!hA>GeQ4FYZFkbCd08j%xOV(^#|5 zusNz|rMP$O9)rRB#!NphrTN`)jek|ybEkzASWauR0tFw-@26f|Q$%&p9M)!oruzqVDa z+01CGO*W>J>Yp^^*0^Ie%AYjk$;gt(>L(4i#Hh%O!lq5Gk?DtupSI$j+ANR?EH(*t zPMt6&Wuj4>mA)87T(e;=_nKX_lCU`r(y1}xOZx_GOh*U(Xw?O!dDXSL#J9VyH}$6W z8%-lFZC z-sm53L5zdAB}RPnmD7be(CNpV`pwffuV3;FUzj)AaF@IL=v-_tvweQlR=)w-<5o?)5! z?s~*y=BTWNH-!m)KH-GZ`y=_v1M@St-Z-H4kswjF(m=(Px zgss>>Gkgv#EL)3g0V{4h#>u#btAUQ&o$6i!HlK54fCJO1ye!$K31;`32*};eQ()nk z%&TlrfXZ!cx$y?IOT3GIElyyUDH|w8Bb2L@*0C z#l-kMjtXS>2GQOy2akW^INMz<9TBb9T{7+Xjxq0&NsRB3Nt6oW0^LtAxUvtJ?=i=V z6~qOT7B^m{ATAL2EHqib?5CH#w`)v`CSxH476oxX*Eb>}4UVJY_n7!il0cO>iMHW- zC2y2$Qi95`@XP^?T1&nshICY!6QzwWZ1^ujGClhJXW6rFcCfbHMoSJG;SrCUCfk_4 zSfX-u8|1-`nD zjQHoiQD9>^bxjQ8+-CEdYaxblN5-+4buqlvl|EPuGdBE}hNu|cdKRIx7)H?5MRkhd zU5pV)4DTl`9v8#wq?E{0dN{)ZS|^|w_TNin=oPs%vog==uz zC5Bf>Lwa+Iz>Z6Q!RD>l(n>Lm`&X7#f^;#AMdFLl#qdjV-2z-<7?};ty6s|k7iYgq zP<)CM5j9Isr;J++zYL>aC1JJn81Zy5yqd&#`Ync6^Q}~h;iV~6jm7Y)K0+45TdPQ{ zTMX~Vg-cWGVoU*tx)lyn{42x7t^l0gunrbOsTy|lRHPUcVMqnY6PEE-fsg?~P zxoO?8RLi#YWXzyc%eKRip=`^Blk;v@Shgjw&{8gA6QgX)M6dn%9=^rrV8TvuF@`4*_mj4vWwVWp-)3(-%A0-8Sa6OlC2~@MrF6#` z;(5oRd(kx6aeZ-+PtJcCse;kFuz_h5jv5t@brd`AfVe^rieQVVjRmVuw)5f z8vW+9ijMjh#VU?i0tPTk>x)DU!YJ@cXe58o7b8g|+vaqV>}4jNR#Hd9 zUrE8VvoFa_NsB+o}peq`oW9{0}BFKD!rhi7}NE&H2bL=DbDQIla+8;({0laZ8N&;;Wzw zbD-0YIrW>TZ(hIT8@{k^w9Bb&UsbmL-abX%NksC|d&rqik$hmo8P+2Cgk7WzROMT% z?%{ZB{)&eRD4H(a^KHHP$7C4ej@lE;Q6yiOvv|o|e{-1q%3tiRXSr>}{0Datx1LQJ zLq1!)n7+qO#@txjc+p|auhG}}@UO8pEQ zxGO@-wrH#f6T3(ms45YBt=g_p=dX*H7`HM)_vRh1mto9X=@HAZA{3$Jw|3c^{rDC! zzu5Qh_T6@0uFJ!l8GpwQJtK zXIN%_o^%gNN?SL_$hGdI4u}vYQrZZkl(q})P2Pfu#&@`PbBnZ0Y3s(#ol@G+wd3x; zvgLXBOhigspP?kl_1AGYDbB2@$GYQi(&;+8=9Yb@NrIZ~N@?pjvZU5Uq_hFUDUnJk zZG>4$8zHR40?m}RE?2nNlC|&wu+|KVls2Hc6f&i)Pt9NA8g#%caKY{~oMC+Kn_T+a z-CZnZ;;IqhrEN+qmFSDY#*J%B0l+iP73vbZY??qhrHxQYY10Obvn+i~x^g}*y^>Bh z<4feD$;fK5ZjRqm+JGQ*TjP!HmWO|$JKJ3?bu*T@Pu)a&rnC`8DQ$#ON*fsMslnjJ zK0|IV=#0w*D`j> zrRb}eiy(6;2%}sILL-*~n5x6fr9dktFe#S;Ju1$huFzJKGYgG!DP%OuTo{o{fpI@I z>^YrhR9i2f8e@Afnr*rrl0V->Xx=&0aw#z1YI$%jg>c4W_l{aF1+b+yQshz)X1NrE zL@tH!-M$TF;o@po#Q1d;w*9t?D=n7-v@^@eaw&kQ-J7`-eU0DSIo+Z` z$!(lVA$&P*RA^aUqeC~;9G1P7 z=qM{gs>u^1@zfm__CUsvY3AE?$A2_pfJYU?y6(BpGH%?_Y1 zsrUJK6YkS;eQ`((<+JIISn)pDLtVhvC=6nikYI7$^e2Ijmatp$V@zkU3Ilk4d_Q1G zANZR4s7Blhj9H6NGp-mb8u!oprry;pQ|QRcXz5-hWK2RdrkEwfMSTk_u;*kv^J|uYscnDF{G$P~a=kfBH1QXQ$>h83 zVd5&fsMRydHI8BFfY;n7%99_zr`dloP`LW+Kkgm5X8-AKs^;wDi15mLoySw{>oNOJ z$zRDEkH|GId;Rt{JuET%{b*f3u6zw_JSNxP*{5fkeL{K15h$7IsHSs>v;cJHd71oH zVxH#;m~CKk6LDOKU)znNH@Mz!BKYyK-8gy{`LpdQ-i6$5pkBnfxj3=Q7!35Yb94LsiK6V_5 z@s1-r)&+pXQljyZAf9y>h4V{q&e$ca*kE1-7xDN0<8dMs-)OI(e* zU1v~!_8+9giV%IjRm)zqwJH-i#@=nF2xE^9?@$2ek)S|={u}^rRAz>i7O1y zj$THIt09p#JMa2cB+KTZJK{Fw+XcpSAVaRt;2(3AXHB$KpRiL2{5!gv>IN=?4z z$pBX3O4{wV^Vbqr!a}<9iV|1oe(^obaB@}eoRzo&!9rwOi7OEGnWjhOPBa|29)2ip z4O^C48);~fE6k2jBW3RoQd*_AN3Xfa72b|DXehX2NBwjyawQz(2?$Z-N@dhtg#z4o|2P&IFZRupdkGob1R473NoR&!f+ z;7r}CkiZtg;@$ZX4m1=qM@&`E<4*UOjP9uviQ%W%;p5-@<|BCx8<_V&(gl94;eI)A z;_?H&-SsjsD{a;F;>68ZqYV(F(;HcKbKYv6lL>5TW^2osB+w(J%~tcUDY~e)w*o8C zZPUpuOXCAoiF&_jm7!YNF~`etHpH7it_L>=t>(rU0HYtga{9BErUTC{6l||{$;|3r zQXiOBU0dCETrx-X#_;PfEa=T?2PjwfI__WtJ;A>k88u)IsYkS`mt_Y7)nW#k1%C;9 zG6I$;j0g`n;G0%O5AG)$^|G{4m|i+^^im5N&O_#gRHEo^my5KEu)On7k!A_TAU&FsWU!;g_*amNv|SMP z+F$ja`^0#Y4$j!>lSys%#mGz^edX>Y-h_^)v}ABo$-77Wk@nOMsk{X9`FLEQb~qpI z`x<~PuVd*V8o41)3ieMyufiXqM|ilqYLA*LiHbBmq{9J3Sw_>RN&&N7r zqz$K>n?nqGSK*3Pq*DlU6}<&r^~SWW78J<;3MetY2I_mhT`qq5`B5P<^I}oRnY!fL z_UGd1-Tr&GN3xCP7Y}$ZP!FYXKMlCJT_GK7eu0QVh7Xa=`@;nGKJzSmOqR^xYy6uP z&AV&Z93SYIk+GkC?!dy&oe1x&C!K|GH{lFjWxm80=)QqVmm`LHVsouq$~m))jH?=$ zL>2$KHrEp-t7sQ`6ZR|w0Dp0q6+sP;--@%ya)WW9 z-;eRTMWV28+q@-(ecQ5;IO?j0 zZ#$pax1A_YcA!KjA+S$b+wL@tT0$ek#&?SHkGK1AW$`-9Rf7`y^QMQtK86Fz8i(ny6QLgqk zJ}qtBz-RYFQEN-i3-zmC%T~~c3jhftmnNZf5#Sh`0>WT48&6yTD9l)GJdw{cL_``r zd^}D61 zgl|sj1Kc%R2QnfqNrYqn{WG~0s09G&O*_AOeXdwAG8-*aciy{(%gV0)7rQe)x!54~ z10sCNb?yO#^z(hdz_%Nj(@=@RnKU44rW{tJf=^9QA?Z%x0dz+8Pu z9^%7JKgnB_!@hOC{Cwa@Uu^D3LQ#<_`?vJ-fp^Yr!YW7UZII;WGuBKep8@RQ3rL-L z?`M=`fvoN6SnA$e%NT;(dvNER+qbt+wONd6bMLKTHxRgcZ*?!}%kDjRGMYL4+`YHD z(<|M3iLrYx(RA;@IpmiPxqA;zB=wZ0a}Q}cbFgb~&5Ve|jC{`>=5#)V9C@x=Cqnig z`{5}CiuGHrUK3*tODHMXL{m=zD+88qDzo|c-rrT;l+(riQjEaNz6%8k>{F@!Q^xXX zTgv$Q^|_IL9cy%4oq7fQ`Ru%7tY--&RXe3LxxH%>JfD_68k;&`adbbl?R;>>D5+Y^ zT6ZhhMAb{$q)2L8#GK2Gj%Gs9kWyobKwvFOhajnv_;C>0IH6#}8MV z9yw8xT6Hcc)NX}~Nk2L}p>R*^K~$ZB4O~^L!o^)ogZ}(@G!EJpSLPhk*Qs#N$cS6; z=I~1~RN?Y-DqKcg;hteqf)p;8(@U0`!j*g!)4{HAPwcr;;hqS9xxzgwg`z9mgM$$6 zd=oZ3dC{RNTuj5G&bT6s^*Aj^wth=tmCg^{Md2D(SksrBp?(!h|6ZiOsd^;Y|l-K_Z+{#lP2bS3T0}G z2eJA5D^Qhkq^wZ*V#Te>N^I0k=%2UD%~HhuZO#oms$(ks8;M;?D^NcDdZDBK^3UhN z((DEwLCp@^+1DIZo_)>n^V!!~n)x&n1vca=?mYVn4EG(kkA`24lWjY95vEm)z#rn& zt3j8gq7W0!zZ;bG=5O+QM|q-rK=*`xPQ9|kaUh}_HSbX^uFf{%birF^PJA0Wk6QjWl_75J&Srr~YefeP=E!h`9V17F?5eoIiWIkbF zv3$ZO3=}8W`08(9h_P<-XVWvUjzHJ&T62HisHL!G8*5TG*35u;c6d!cg`9(e&&wt= zhMpLHJtgAOt~cNDERl#)%m)Bn3?ek_+XJBW{fXp!JflOT}jE5|2DrL9&SpSmt=RAlYoyID@u!NEK}+MPh3=k&xG(hmXZg zq~D$K@GM64=frUUD$Yis!2Em%e)G_Rn=@w|{a(y8V-D((|AE<<5UX_!LgmcC2$X?`r4& zbN~A`VM*cJ$)(9DZ&U`ANW9h@UV^vZXzeW-k+a!?4(~ymYtt7kTlmt1rOi2*q=cW2wR9S4Ka9F0o z>4AfU{x|7j&)+IMh>b=tIWrubqjQ`G4l-yg+jbKC7=QDD6R0FEzcf>4qEn41(LNdL zVkBYAi}8}lFXlvQSj_yeAdY6DgTHKu3*m=!fSSwMRKW*Q6q<||6?|wo-DHK5v53G+ z^e`ntw-^}X9k!I)66dNZaafzEA7sNxWdt{)ZnS|BK}_ablDi&9PFFSWjNZTdEn53N zz8rF}OW&4{c2wW5b8OjLQP$3{+m zdoa1bAB@?X+(|hc3fP*&=BP$PR}lQF%P}+Qi(Oyx6ro1Vq%rk3B!}&>5xPbR#74-! zc_RdRkIX7e=q<0P#nTa*$P^2&7-69PsPUraO5A=3>#H}R`ZR)MzFcqt!cNZ|y5N^R zZFT)iaN9Fp&4Qx+0Gms`n?fZO``}+!C@wRxLgTf`@E<)*(TN_*pQwqF<{CJOo97C? z?6f4ogz(Qxqc}o@H3-&HNX)Sy6yb=-qIK#FkAOs`gnrueCc+!8!r=&s9sZI;`QjNU zxg4K`VRLA`mWuuydpslmrYB;luB8yK08qobtg(9dj5;J8Ktok1)@$=!NZASsj;>@QEuE0 zOrdj@j=jxp6tG8iUC_U55_7oBjUqG>QnDunD8k;^lOp7;hC$jPk}o3}l>Y6urtE`q zU;a*B7)Iq5xl*vax@psu0?h0V;z~LGPKzs}CLOgkBbB*Qq~9{^z9Oy^8QHRHjk!{8 z$-HH!^l)NbJ~(rw+?v6ukS7IOtF>{3Cj}&a)bv7*6iLH0R6L6-1+D;>;VyQ+$Y+(? z>bh8`D+LVd+s`fbIF}|^id-qk5+f8jTqzJvG9YrMB!i|iB{6oUFsiN-Bm+?eDUe%s za5z(-0^GJ`-Jc>36Kf~@DInj&wWYg11q5FA(4XF0fj)7aAcqRTYmJK?Dp)NeT{u(- zBZms1Go^JkNtiAbk)wT>taq0RhTO_1>{7wxuJ&G_&!vs%(y_x8W_xKD zRdUEp}=yi2IAL)=ueBTsM0@dRWZ#FheKOh)gr> zT8mRsjo5aJz9%XrOw+k+l)&sp6tf}Ba$qIG9C4sV#d!^r!bxplDjj)Uretdw%n*R| zxXpE**KL{za|BRThR-kc{NxtrAMPljo^hC;909C1R&g&|sVQBw<8@23R|Kb>}Wm{e11mfNQuHMJ&k zJegP9N@@WLedx|6n_cy?q}D8POAkelFe<5)DCY;A<+2IA(c5kO&FOo&W*CKufIS+Z z>EvQ+o!1unEh=*aEZqb5`FFT=4)k)ajn<_65_M<=nrK*3!ik0+Wu9n~R8orwLS>=| zZRej+gbM2r{zWTR1dYgrVN@@XB^*lh~6=8v_s5Mav zWS9$-x*m4s@*u;)OOpw#+0Vi#Ohj33hd)r?$4u(2a=}+)tIm@_4Y!;mbGsb9$Wn<99+AG}*QA>+RacqsShf^&rLZg-zu;&JKb*iN$`+rE> z7uC`N`e15jFq1Xphw2!2)Y8H@ujQVCJI47bHj&+Q_9Bmc){)&5=q=WvM1h&DA+nnS zQ_Y97n@&6quV%6IdEx=&WmXaw(2NcLr6H2tRQeq12ywaGi~EwuAT^P`zFA0(U1nz6 z^0>2;?mF@4c$%b-JTjYt zbDH>lGP5aRuGJ+HnN5Y~y4c;qWeLpo5M?$MZm;5>`$K+Mlze*Kmz|{cJIiYdV(RGK zL;ys+Q<>Kklr-l+?9Aje&T9&mRNoJOIn^>|X-%hOf>0Mi*!nO(|nuN=j-9eyn>G z%4sTO?dD&$oTk8Rf@Hd!UDdw(FkK4j{%K-Ib%=&M6_YsC ze(2r_6`>Ff^N4<%BV}dkwi3Vh`tG)4g`2yLZO)D#iiPZ!@!h6Q@gy8Oj)Fw#u{WU+ zR5np1K>~2{u{SWYN9#CH#7E4S@!T7$rbnrU7tG;za0@?pC%j)aQaF*``NV-AJgjydRb zJLcrn&6p%`w<8d-@#F^@>%xs75`L6dZ>ZZaNPl;RaQm{?sI@dzA@ZeolC)29d%(FU9MeMUk*qV4u;4Y3A{--$L z@=AL6Y%=;e=j}1lKvX&8uZCYcskLGDoU`BIu`M*hAsS0NW)j#jXF`KI(IQbX`ab9# zqokGb*<_6Lx3v}?SQHVNTF=^kXr^%4#jgpe^#m4LPa@3cfs$<48fcrxA1wUq{Ssqt z_luH5da&}+dZaY=$LWXC<>L(00EVZthZ==a==DS4LfQ1qdfAGg?VLtnhlop*5_%IF z3B7?ecR&yPJzW>4gx*u?#Jh59OtNlg64h+hFoiC3A1QB7y3cBEQC8h&xw6En4>D}D zm+G^MEsd!@`8TURiSpV9%0w$^yH&~-vk9IH01LoN^;y@)LeF)5EHi%X5hC>E+-5hS z7Lll9eJH(niSMFWhKQ66LdMw8b)&UXFV0)S-&a1iSp_P%2ca%VGYt2 z6X)j&kRu}2%6xXbq~)95JN@kle<{Vy&Yh1aqxP}$=arhcDmVL6?+xr!ZuU35H&NAl zqXW_}V9tYW*~C?2CL<2?{%FJ ztGxkICU<};VI+~e@SF#Ps5e&zH*)K5FiTF zBb8<|2p1o(Dglc_*ZqgpL;53+JEUlJ(|Y7_hpfFKEOwb}k1a?;`8;rO5HA$E4jt7G z;)RkOuPH7R4)>=G79W`y$43%MTQbp%EL`Ha7#x5IC`EF$=1LuYZ?ulvN6;g%zU zjoVBVS%4%keR;zHk_*q>^|g2eNCLBSI|3vLqX0=lBS2DG^w=v4kVM~l3*i7sj64jv zkgAxV-u^Q{5`>6Q$S|6MkQV!_0g_mOcQ7Q@@2;mk@mPPdG7@S5l7vWrB>ujdnl>#y z5*>_g4`9N>0#rRjYAFTFR1XYvrq10>0g}QVmmksoZJH*Mj)M%nzb`;P2{2*6_IkH4(j&S(^;ETY%*8cLYfssGVopn!Wz9 z07>arEq@*$DMQmYSP>uz%#N_|o6DT5Sx}l2CIqHMNP>iSv4iy%mc7$ppdpf23VVX2 zA(Gh65&Z6w_lt~H*}cp_${~`%qP_tQ1#h%5IK30tM@hmFl0cWgPcoAaacD$H5=Ie{ z2YOADcS^lLu5E9z6~QFJL1Gb-po*D6DMAwDGv}j5NCHqFzePxb;u`MFA(BA#-Cu@C z0yEM@h$LYYB1z~>$u&$CW{9Ln(rOW>5h5u|F4}K~NXnX**8+W6N?GD|8DC|@&$Gm> zn2R(~U}~F{tP9Ha%_G5KOK`>ky1RvZK^(RUL2W@m#&V3AbpXF~^f=f9r86=5ptCbZ z6DMqpna<&u8=codh2vyL(Ti6&4KQU1YEj`B-V`sqh;@A@z8oLt_rg0|r%RscD7aA%5A~|15M#E>pyCh4 zWX18j%Oiv$E@~mNX_`9_VO*kzL_pq@tF!I%q%4(RFEgKG?@hU?5Y{|2Rex=0 zbr&PGc=?;|>>CHgj$ivIA>N%{KAS9Go^u{l=sbuc9_yb$J`%P;XBM`(BK)PV+=%zY zxyFOu69+TobK>Ned`_I4<#z)@VjKQGQBy60r8ARC@;&EV$sJjy3MdObBi$^USX55HIipA}p-4%bNKm)t{jgOcy>2KaHi4IBJ zD5Q+mZhym>{Yql*ZpT-QQ2hQ~wq?wM7wmIoWyRwS)NwzQkce~NNG=6$~yg4v4{P6JsZ_PMtI!ow2UJZVGB@9%p zS~0?^F&I3H8etiEdIU%|x&*^Sx8%izy(${|cXiGS6WzM~#b%o5fJNLIcvKz&CC@&; zQV(IUIgBLo?m;bd_*-8xu!U~HVAD)On}rV8<>uzv_;0e%5z5ORC{avuYco~hop1hD zGKl}6Z*L*6_ZqL!-z$tCcYh#qe5ldZ++d3ZrJh?}z;%F)j2b?R_F?|epN6Req`0Jh%2s!oou^ zUgy@1fLl7Z3_RF4KnX#}#))BK7zb;`fSm(lR>q<+_h4eU7P`M3)i2bT_gkX=*k0*&!XV%StN7$WEF zArnCK?f>~zymgDlkT2fuNYriht(N1H?Clmt;qyq0XUwS6CR|zet^(>Q>rX6E1vojf)4ii z7!=sE>gDC3S+0Nbmr@a|jH5-do0aBE)i*aeA94t|I~1H|I~2sF#J=)+3ls_?DnDIICQXvg9m2>sJcQlPWnU) z<4`|ocx3QT+5J<)!P0zaIJ|apJ-|Z*b4P1)Hc z)FV=McJVA0sq6sr5;l*nlYf$`lOQj=gG@1bqse52>Ta43QNNmRm)EJh7a7odiSgs| zkpbn|);J6f^%hvHD0O|MJk}9jA&g@d2A#|9;IZls=AvKQw~{XUB^HX8p?P1+lV0Sa zU&|$&E-A83%rGnCMnHy2zx~Tk{g40suRs3NzdSeGfBio{{_$@={?k9#GJm$~=imP4k0Ss65BfiU z`}6tXKg{y;Z~x=xf4<6Ja1i|EA=F>5vY!9H|M4oK$6&z!d?AvlT>n-7yR`h@zx*NBy}keP^Kbv_M?+!jfq7omdHIX{Lm5hzdHcUS&B(t@4KH}O z=<_GK{`oI|8Tv1pcC*y_?`TZ_;i0g^CY1Px`ycfm>|J}?@h?Mru_%Ryzy9r?*!0V# z8+?ub$o$7&zg%QS@^Z5IH*Zxn|hp5M+{M+;RuiASpT5h}ihuG`yE$`o@ z{NE)CExQW1|GEI~Lvie#^rd)wBB!Ov~2Xrwd*F+d!yh{KZ5b_n3g-*zc- zj;0^bA})(QuDi6WIGvH^XW5|~QPgq{sHmTk>IB$x=&sBKqkq~3AK%~j+k%O_(dQ&V zEv-;#B(4B+FGXsE{r<7^hWZ>%MGrW+-)SuPH3anN9}O6`A6pLV=gx?B3iNABoggoA zWDuo#IxNJq@ZZ0FO!1=0y!bOwPaL%Dc$nJJ7Jbr)QQ^-pswNd1wf*@f}OjPk(hAaUNHpvy5U)_FB0T@y9Rm)h(x7(u+Ys5eT zG@bbbhyBPy(! zQWDj!6Wjt?$Y*V8S}6?v!ijS)hNNIo*B=)TW-m)h5DR!EQx=3O4kez==vMc~0!gPQ zB|6Za!s5W2-++o3Bp;nuvl2b+Kb(v&E_wbZ5rIW7i`%29i#V5Lzv)d6nfmmiv}a}` zk{Vx*nqaGN&8o&co#86ph|u3kWJapqkfu+jE>9?fQl$Pu0Rfy-Mqa9O+;r9|t^lAw zU%!d?zKf@iz& z|IpBTsp%#wY9gv$v9?e`^Z^eu)0K&bYWM3Ae>+q{Du~=eb@( zmjPXLV#^c+vtJbn_%2s<%WR1}Y*_c<>#b)R(s0=! zE+PSWtQ!6O>qm>7p@#D!3~)NC_!ird#Eh`z4?~p?E|*N27+v4_QVW-0v5e!Fboe_=`Z0hB6sA$BLmNP0+#yamq+LmpD;*# zk}&fLq0_y8+0Tx&$~h#g*_9)*(aY*emROr(vOto9nFVQL>kEa$PbH-{SM^QmID4&L zkdVe#r9ig+)aQ}dNhty!WxIULX3B_&6VoD2q9;UA-mOwT+I z0!b7SjH`CmlKSJifA9>4)zPk39qDQ!*YRXMsph-_*egm^kAa|@F=7Dw8$|iz z96^42sS@U9CixlOu8$s)$%7ia*rblYPDjKnw3wIWO&F-15vN2XPC&M6lVVq7jDV|Z z85q?M7@T==Wcc>v324!cShjm|w=eT~E2KcQ?I{7CnZLy})=1 zm)$5ah5Wc%)mr2M(B*1gCXlW}NbOLgfw(m>Z?uCq0*(-r6E0dc$~9)_w_ccY_;z}f zlPoxeXB5LPQ&Q-nDfd8aHpWj$5SUET-jLImW)qTMcaxUeZ3S|R^L+;Veb`zNvM(+CSavmRH|JzZ_^T6U!=z*H@h$frt zkiAvi6qXZ(K_%mD7g%|(+f5~~GKAu%bs1_#DoM+}O<8J2wA5Ej6-8;R+D$#VHH*Fk z^17mAb*Vx`h?!IV3)QTaHx~tiKgGTr2UTD3>i*5zRE>AA*FNgcT~Fl#suoyvs^Rnz zTSu0sdZbPFZ5{QglA~u9s7i2fg(`-{=7YixcIOGGhe22&d1@Gd69jVISZz?5s>@j& zu+*u#yiO$$q+vj^WDLHG$ca1*c>1Ee0N4^SAo9a#Dd}mXX$EJeVqiG3$RKLPBrIrY zMt|Ia1I&U|mp_3O8Ea=pQMT>JvVB`(jZySR=d23s8j4k*TkH;LEz!TjQeuDd(GLhC zIjkfIBLr3QG78;9jh@GCWVck9;|)UzGybJkYib%if*Snm zLoI&O;~5cnallf*pizb_B^);E9m>DSHq=?tV`guTTJlP(JF_iqKYY~~vce$d=8_eq z4eX0MbjmQ9tXp-@m)T^+3vDu+tSB)=rV|Fqd_pjD2E!$v8$MJ@Gs@~-LiSjc2ks@c z6@TOSg#%Xmvi?XI;7{<+Z{5U6tyW&`96=2gz=vAhC(F|zkl2D?W($UcE%2ZsSYj3T zB{54N;p5nLG(|cWS6X$!k(hBDEHM}TN|GA-?KfFs-Xi=CewdGN*8Eb$4|AlR75u;; z@dLrk4-5wZXB0SdI?tg-r*SUGj07FDc(bdX*m#*Au(y*Prey8mZj|mWmbC8{?#tvVP*@MZVDjr5Tl2c=y-87m^{dEUmYm_>|k{F`xPk~K| zq*xNT9;fdwm)7+@LsJmdP+TaOEC%SBpa^UR$SzE9DYtL>-*4QV(%DrhI+9Z2zVz!y zjJF7Gh5(vc(I*VzzfC$2iZ;jxPG9$2^Qk7einl-An+;P6@L;7WPYPrZAv$G3x}q;M z%9}BM?My%h+ytInSul#K1tHDCX#a@kFL!Wm|2f7Mt;VypQUBg^qonemjWO)g3hvCq}T*y^VAn;PO~QHNgjv7|0rE z{K{y@(DnC$HOaepsXUHWGkAr^z!5AtVhUrC$!$BSLwy^5zvWmKA={)t7NP9k=Rr)% zz-Jt-8GW0}yCVr1@dAfv5#zX2+CPcEa3ZWXlky4AFllNG+s=>u!15tB&nZh{o3X%& z9eIkT4>2b4t!&;Rk-rQCvx^1cLYx_=yi5C9Q~a(>V}`j&CDSTw=Nd6@);sP|j7H$k zYin1(y&Nr<2q@rjTxl+)QG@kdM8yR4{z8=SD-M{+6-oQ%)-Wq=={6=l?5RVFCyHKR z#&5Zd*?#X9(XP=C7A(VPY&pX2kj>m`7_^T8(CI~^mDO@F9h2gf{mKWzA-%9qCr&_= zjC)vWRc12;XFSZyzIkBSIcvUxblbBJ`|BL+O?7ME4EZ;of`N(**Q@650~R|sbwN%T z8c#TCa@^$5p&8QEj>vJ`0f7%!OOLPXBlgx2UjY;r&Q;H=V3Cq?eUk+P5G)YWW@V!9 zM6cj&!YLGSNgA(YgBhwR)eHp1zj44=A{5sZMBiaI{gv_$Mcy7%WS>E>i&^mgqT zZ3KSEVuF?Zn#l-e(Pp=kGb#nJ87hhOQRpyF9or*F1B+jcLlk4a&HIW^HP&ez`>9o_ z**f=Y0LZ@AK}8;{8Ul2a%8U}=9hI=yp}k1$floIamZrzvyj9IG(et3-3Kcdr*Q<-} zuv9mm|zg}Xax0a1VO4E|4OI3N4lF@^tU$L7X z{LM_9VW^HCBqcqC&?0yAQ6 zHVzr@y-{2bjqC{Qp*c`w4^8*Q2cKN?;wKL70Sw#LS_I4TsEp455?M&ys2pno7<|7P zg{1(jCT$~rbaKKJ3YBdQhl6gA0T`#=&HEd_Vj# zR@&3@SQig`55tjZUy^>Md#p+X8Wc%=+QX-3SIjYVJDfWM#Yf%$$0Fy!KCV{%N zhjGb#4@hO&^#%dcz#P6#2zoYU{gN`fAPG=YpRY8NooL=SP8_0>TD>CaJ&!@2lyuw7 zG-7$YGh`CgToD<`57Z-lIlf;AG?jw<^$5EKnRAgi*21~@kpUJ&-ifF~-j1yzDZIN| zTI}Hhmb%?;lZ!Z)B8f3u~(pn@9h`D=Kmm#hD-tlu>~ z_&dWufJ1Fr8Z6`&cS$bnbn_6K15BNoU_@rfcd8Xi^nu-h?;1=Cr+pvxQ`cu6&}<>a zQoNh8)$N9MtFCRjYOT%;h%PW?8<7L*%m-S0S|fHdf@zFiS1hY81O-9JE4U$RY4;`E zI(M*xn|o0sChU9Jgcnd(?>QVywpVc` zv3OD4^KQTQce>a|0XBD$0nTsTPk(DcOMP1Bo}>|`k_3OrA?L<@`gVm8V<%rtsf40k z9`&{jKWu_9H6ehNV;13Sw()Es&VDJBgo3#UGVr( zk9e~l=nPB3gKz&@0=CLcXW>Y0=;8mnZr;x$`RtCMK&$I|>2;TORiMYgFys;xM@#Gg zd0wdsL^b;aiUYK5x2$XU>2TW#D~2eg{2j*sLz()fdWljdaVtmURY9~4Lj@^IZ;HDz zAOf%a@8eeDSYGuOlo_&3A@Qk4TgSx_c~8|pN0&?_K5afHzlS`aNcWc^Z6V+K`Qh{z zztNuMxOw-jnGiM&(E`%Xc_hf{W5WD0jp5YXQSj9?p4_#_fNHMEOBx(f<0{{!VX@@M zaeMM=f4of2tJ=)`i}GAaDWs+#5v6t;AvFcjIXXU1mw>7FSwsJOx%(m}dAHh0lWVg}ym_UNO zGa~ocf0xddVsgV9@$P4CJM9 zFW>a>QePWC-KNO8SR72R>4tpoc8hbTDS}BycXx=nqYxvitS#>b^gT1OW@)5tH+R=_ z>2@h_`(siD*=I#?i;HixiL+ZtL|sQjHh%8I#ICnPIOelgD9$nUJ+qoqQVANUxyzK6 zv=BjaUWKdv-L#&rom!qiw+qyJ7>xyI8glA9)ps1rv zNd}4P495y_tFe|m0$=hRDe*>5iMS|de{ft9inuc=dhqcVhJWt_a>Ys``vpsPSMYMR zi8Xy%px0WrX#kc>kva`k&%oSTFtq7o3?8ISIDD|uYV&h37PtACE=v9I2Ew@!zJHn4 zv`dNK;*&4wDT%OeJJDk7ctjIOR#v||MCaH$(;O3pHxzC+>u@U*c*a{WU`sHUT@$vJ;#`Lt_8SXG!iF-;P#`b>vSL9Z|a)o#-;lUtRIQQ~W8O2}6J@C}?Jg6O2m~!(v?nFfRwpx(3ipeqme#2A{xTTf;D+wM;gx z$%MM^->|G<^6PTg3~KTZ5$T+9b0YXkYEb39DMQK(WPEHQ7+x!7!?UQ+o5` z&1`D5nE9SfY7CM^jo~n;)pFT+q4qTVJzda-Iju_eE>rYu*wu7NvkQsHn5IgEEe*5Q z-Ib;^;kjkzHP;*-mb>p0Gmh);FD<1$S<-~xnyWEAxLq$8%k5|n`PHjSW;9^ywwZ+$ z?HQ>_i8P`CTkEu;9oXbw2Wl2H!7e90{oGvKY(E3sSA+;n`7WP5y4;oA*M54^CR3Z_ zI=)4~&dkHkm~Z`I>Ly#yWc&C5YO1~v`0^v!avvd9)3Gp}Vaejl;xf*%sgf}a3mz{> zX@gsc-|;0X2$+T&EYu`YW*%ZJgl$JOjdHa+WBCA! zCZUpv9k3_5lMo))r7R{_x~g$&9nM+}N|@_ta&BX&+vi|CJtOuNU{eX;5*8FQ8~lFA zy-W;ih?dTv>ZVo;i3^H)yO=6hCa9|@>AU=tceM-YLN7nL{Xin{cKul!P&g$B#?@?U zZ&aBh(OPv&O_dDYv3Z$fFwUq|;y=wwp(n8R^lf8tgR{qutR9@3NYRE z2p%x4rfOjQBn-cvf7mM-`f}O@h+CX4*N?uZK9N2~X}KMa*#y?@XWK0gNfm_p-QUpA zHJsMiP2E+csp!{)+%`#BOu(x<7MW;BVg~V z*p>99$ktZRhk}0!x_zNtDeTR8ZbpXC#Fmc$Sr`fJ`jzRwD^iK}W|z9HcI#i-Y4iAR zyLR?!M-x~$GeZW`RC*+*$e|)_AW{`~&0keId&A!*8}N>2vV@VXpU~|QUCJK! ziXEVe!NZ}@SmpO2UDeO9%pdYgczwAPwcw4~FT1#>*8)2wF^!-2^;HOnaDaz>sGo*>~v%p|I8hE%T2{&rSG!q*Tn!L-N?JKtOBc5``d z1JsiqA5x~P7ySGZ=JMBu=~Il=^VRnh${ZW!!It+UGl{=>!vuP~Az(P35Ma$94~`cE z0PhyJ#ay0Emq@eRR*Q~4UJ8I~`~@>>BSXCpuWy@Qi}LXR__i#6NEL4fgvW1(E$9sU zq4~Uyzv$sW!Utz0Y656TEY&Hbh70FIoVl5R1>db)e+bA=Q7ZRg0FDzzbKq+Qp z+$?5ef-E|N7N?k<&Fq%Pw@t40^K7++lR0`1ixH2q{*kFtV?GHUS@8qrm&}0u5`QU? z)k$hUA4cVioH_A~8L+AI`HJ~b2PBQc={Z7b#OfqT342@ejPu(;eozY)sEER9K2`Os z-kNq`9%hx>sv+v`D=KpDYWkKK8g4h0+;JAbhpV2CddCd|7AsAWz+m^>0NQ}VElwk9 zwfF;b9>GN>?-=clSCTm`a(Bn<565^Aid^VHQM&O2@ehM}tP_113%cXoa<2WRXUoYZ z`D!_NDIYB-+wq%aLSxtdK2bLy2H!&l*l8Qv1Ja_n5)wN}t3`C z(nEf4vpTSc90aN1bTvoPLyvohgVtXv3rXz48xNIvE5f_Ho|B*t_dtqge>IA0wimE+YtM%xC5uu3}=B{YzMV@D-? zCr@XKGgL0>J<@~dp3s4+i?i$Y_1W+;ep_EFos1PbwPzgngJRC4U#9-z&*a)pT5ICWVIA_J|78Ssc;nNvs{}G?2OZ%2U78r{f9r#p#m!U zYD)vhqJT<*QA8ynDx|XI!gT*UimB|N+fhtK^B-vgQBY;OLT%n7I8SXOSy2@b@|pzw z7N`z?Xyix4Ru}3xVhxB7IW7S_+h4Fyw|E2MGTC}h8n2iLMB&7~^!N$!Ej#Fu7Is!1 zd;OP)mKu`59f#nZPr>p<2&r^x5;}ID1y;aH`$WNV&v~aZyeXZKidEl5q|sz;xzitI zR)o;glViAj?g4$KTxw#c0fCTdMM)2fY7$KXEBeba_ZALp|O8o{x%-paFn ztGSBd^ZcX;DAmgFt6+&T9e)aJ{3wa8Wj6rq(?Ls;<>1R+!QY0~-ON#FvP@gdoK=yC zyun8s7Y1vySz<2t*$K4)dW!*S1D>^qzHPoqp@^>l^#l+B?~=4#D-M_21>x@pZXyMa zuNBTz+ukyYzm7N#Yz$W=Ye|k54(|5lTe|fa6)r8f@}}5TOvXB8p;qrW%`R&(!7!@n zj}yMvPi@T?+H^1JIc^fg@7V3iogHsLe#?w>VN8haWvJO6v2&$O4ZzC8$_JL!I})94 zL)F&YSYqsmeuo_)VIl&GIzCpuQ0Cf9Rh(oU#hU4EV2dfx9$(g2-Rb5f8znH)2dB^G zWF<-$+9cw_8nBNQjg!rrl}e4T?op<3oP$@k?|$0Rm(xw_Cd*}ig^@dmgv}U6?%dt= zwiZz&CjX}Bo&!C$^$s;e`V95i?{>{t>CHXgq!NtOt!nPPajKnw?Q~1{IfmnC47C$r z>Y|}`0(NaQjv|0P4meXgPjL8;Q!ZZGNvZyD)@Fq6kolR=zzSPcUg}7d7XM^)Sgk^kt$<=kR+Sw#c(TCdE%5s@>(RxquQypq2 zgQRvc9BL;(*A7DML|3jSk=h9u4BbiX#9(1q?4)+Ks@XHo+-9v735a5~v(@&;^-?iG zzqU>VQ|Vt{D3&VTm)bP3&?;0}?Gz?$FSQe(rI|>zlR;BE849&iz|b&F?G*kF{W8=} zVbo~A53agH-xrkN07J7v?ZmxlRO2#GR~3mwBbat z=SoSn6Lf0*L+u1j5leokoz1f8HC8)iLFR|riMe*Oos-%ruqnGX0d+bumF9NMeJ40ZG=8e743!} zq-@p)e6^2nyTpASnfw8c&}6CloyKxzLL?yNj!9`G0)s~dJcrK;c!5SFg7#yWdHS0b zv+GApfQ;T%BZLmf9AEyxBnNwfgmT3iq%T8x)aLFqd{D2qJBw(1e&fza1j1O0PLv`M zgzZM`0Et8p4wa)mBN4#Kt=c(h2hbM#Vy8$1U@D2yNrs)0SV*@oLO_(faRq16Yn#@0 zXjQ4F^hxG1pM1Y1yz`aJwZYR|yWd}R(*RVPlRiDOR`IZ>yM&LsPH)~Wo=f~}QjF6L zu_7lDuvC%^HUGwqud&6X!x_)=JkV7JcUwTF>ydq!u1k7NzfE5}^cupn}b(IkYVW`G& zUY&s%zL7dRa9Z-_b|>--)qZrhFo`_XBj$+fFek2T{wr<~i)2CzOD}!vE3m?1f&FLW=cZIbdJzG5ju)<(p&#)7Q1Sms3U?!Mc{lMI=PTU|4vL zh=ToTDFDG+1ZJ4R134Q}5VslvQY4EG<*zLPUn}&jZKBk}Y57$Bb^?pueqW~J94RlK z8^Rx1rNGrYl-Ig4YD2f&(E4llOT9z!wC-A;)?g0XKF>D6gE9^u>RqC#-bFv8KE;p@ zMJq<{`dG}7l(rzpq2Aq>UwV!&r)zW495Rdf=(5+lxaBOzcNexNR7_dZ7^`GEW z|Dz{X|6@?6`X7U5^*?6GYyOQtPR8NfmY}J5B?6V@SoUS?v*kJuz5$@>v44P?h6LV~A`KD_1}IzBRIo z3)cd(%XiKuF`hT0PN8fuDVcpU&2yBwIyswM#V_kEd@!qf2l+`@o7%5tMR!x{Z0;P( z*d+$(N!SUysyv&7fGB8B!lbL>U_1%Kz_xv>Pr_uV%kLZ36TmCMxZlp=u0Vbg_9#0- zYt1ng%d*7fqyw-gVeOvo+T|x<4M7<*PaRvCy!@xzgg|-{mhfStxV!WD3ypMY?y^Iy ziEC*VS_BNwEl0ku0Tc?kJ;MQ}@eui3=fL7&&w<(#AZjt53Q@=OsECFb&yQ#-@l1&( zO;5szK=jOs(0=|IkEno|M32W-%_=b8$FnS~tqJvbzy-{L6>9FI=?4})2?M*7>x*vCt(c7lQ4kQZkO>S z4B)f~9(oeiCf<{~_G(%az*L5ci$^xNM-cW`u`9NgRWd*(a@e&s%tTIi{}mjYcYwf- zLgEA;dI-T86M&ed?&8=l&TIO8$zyxl3fpML00X=~%!=y{otj1TGpGHbudERd6{yug zZ+4ge*ls{P%Ha-1o=<|Tq9)AmHyUbW?u@h0jbgyV0 zmT=bT*G05S@84wA-M^ihM$iK=bg>`sN*z6nVsknlmnbOSQ1CB2pmq-gn8w-2!_nq& z?J^6B19UfQ6clHW3W_rv1;wS+;T|e0D2@@da9c$ctR^Yu!fYpJ|BMT36ch)kd=06f zI0)-5k|-#Sb@>PbYRkPLr;~Y zEo~?F7qSM&^>Tb$C4g5n^Yd*?3Jk7k5QMZOFn`wmN(OYb|P<}N-aZqwFZ z-?}qjEMWky_;H@`Gq!%_3IVwM1**F~8OvZGM%{^sCf&wm1;wTJZLjyzDv3efrW)Bx z7hqwXcLi?V=^t)Rw2;DXotjIk=jt;iEhvt4Xztb4g5p@N;+m3GC&I#7+#?C~Pw_8m z`ty5=4D^EH!qu^ZT}?;n-4XAV?ZACNcV$sQag}#&ov~zv%+Zn5hCwPQe!}W_UOfU1 z1F8`_pf2oZo;`fpL6G#6Q$g`2`8>TnRL=v^%{pNP#eod7mr_A-!2ZlT3W{SH-Od#S z#Tlf6;ta2pg-ax?S>;L(5nbKR7X`(I7t$u^XU7#$%(QG@mRQz)FN&hhE85mtmPb`` zfcM80jX=Jl9k5@~wpL3&uW05}eqYhHK8&X;ns|2KSG4U4^LhU72oN}~XqKO@A6K;9 z$zkf^YI_{kc}08RJlXw)C9PC=|3KBoM+)k`%&bR>?AqeNze(R+ zu3C~>{9yO{ipE$f+KjqNo-L;8o*lE2pF_;+Ku#sE4LNDPq9uX&+L35K|IAB`+?dP= z;g=sQmzz5BngqLt{5xH!GRizJUa)3-UeR_qjp@to#vp3Z&ERL>?hxWp4)b;LYy#`{ zv+{XGL+pbK^aE8UXIgK`l5t$ojDubmY&rH`S8?pyH$O0zoWrQ|ShkqFn0*J!<`9#! zb1Jk0R)%Nf6)g#L>>x+aD;mLhMcc!IN%@L~i0dy`G~|Q*xT5Vl?5TN0+mr8YaYg$k zc5y}PlDsMcpWWu(;j$X9NDF}X{d$lNuzx;C2V5_HkPhUETaMY>8KetM!fbOVG;Gz` zPujF|NNoMi(VLMx=a`oCBnR8vf!_1;%g9}z&AA`z?6teok;d0eHQ;#!MmG0EkGn3z zVRO%($mX7dI&AJac(S?YERQw+!XLj5#$lU#&$#D6WjVTiX#%WY)vZ=!|LqpDz$K4> zndl9R@_~iznb0_Esl~8nQ{QCwrcsupNX+KSg^GET%^j#cBfWS@-&TBCr1jZ%_be4O z$_S&T*#vgXo6w+8v`CbUz7LxB5041VhF0-&y@d}-_*6NbrkD2lG_99P;aBE9?xpxs zN{*-L@MD%&JWYpt`O0{jp(Arao;jcUwdmESC5HxBOqq%_(hSn8Plh8sHMbgxthswi zdYwbvksmwfln;w@`uwmsDU}b4lcaf_O6v0!s~3;H<1c6W2&2W7QD)TlPKT$DQgUCK z%ICAGMSLCeHSwydc0Y(zt2}ic2RR93(i5D^M6Kq6(g#wZ;-V^kextBX);R8l@cig}1X)T7ST)|}a>8vHZQUL-Hk>xYF|*zfUy_{%930n<__BIB3u>`=4ENc2G41*o z=*2H!d`bx()4%B9l^I*KRe#&;5>VbheT3S`U~kvMEYwD3b-z~oD+>s3w9nZ8hc(*$ z@#wU-MK21+3yT6T1RXj8!KrRNpfQkZWhni-J|bcP&-sd;1?W#vQbB0bBlB57=$8Ac zpWoi()sI$he=M|;C10?V zakswkcg+CUONUWxZvMrUw+6cw^|~Yahzh^-x-2f3YQF&Vi$s)vVUQ}o5Pa|j!AZrc z#jaWs8`&PiN|LK0sUiDo1rf%7z1OCyY#; z>|3jLw_}v?L_Vy#gi#8`0sC6#V1w9U1%frZ5a>z#k|c{Xq!p=%^N1rBTF2^ zktGgmmZ7+oC9aPac?>8^Tt|d(_j0usaoR1wx3i(EOR3?AWWHlcGamBOw~Joo8ZUGS z*W9LfN0vC@@!_xqw_-mupV#phWr<7p;EbEh(;|SbG^~b@y3*)G;_ULrV@v%F$aks+?nHo=S3XHY%V?&jb2$i}$T&bLtFhuU@r4O+Ut`>6P0t55gjl zKG9QWBbZ3(Jtf6`M6adsksr(GQ#=;@3v&q9%n?zA%r!{d*S59njm$3Du+IZ&cCiq= zhc@x(S%+qGco0arbE*U~*93fU4Wmx&=!aG%hIFi7jNX?y=19B{PI zSt_FHdDY!|*fQF;mhvtX{*~Af{zdRHS%M>63LqwXC}vv|pA=Hec0D$TDrUQU*&ti> zmUd1RFp^u8^V>`An(b^=YsfV2{gOwQ?HuJL*4BDXCqdo@2_Jgd(wFv1DD(CMY{T0% z4}M>&^xFtL`U}ekWz6G?l>?TB)f}qU8bYe_Qp;A40noQy?$t(X)dBm`0x`NKd3G+X z8~l@EzxvX2g+D3u3m6nrooR%A^`%6r9Qp+ic8S8FUkp;{7sCDLjVNu$2&=wo3dXE=)G6scyF-)Of4C}oH zesx`{4E;h^CaEa&3n+q9Abzi}72co1$W=Y;3qUI$Wzzwd7*cSzMnN?S`#P{ZEEsi5B$`we zBf`F<_tv#;e1v@ozg=DBrK_$FHmAwZ;iRlKNDuo064KWV1gp9J6k%Uj1lYT3hJ9hF z;8raZ_62dE#35n+MeOTwpl{BPXBdBqn91F1Fc`>GnGE{^mzkXAurC#K-L|xw9f+GF z?2ADP`#NEX@j{z(`i3@WiM(nKVLtZ$BE!Bwq&d8;2>a?wA0tQ97l5K7&!WDt3NSg> zGwKU)x14bi^(6vRNtsb!3{un=!z;yL6Vci@>Puwvtz)97FTi;Fr^im58AEO`uT}f9 z!dUuIq>jhhhbAzJ$MGgQQ2Nh}O=k2?ER5a+u@=B^s5}5ITGmvaVHFQwDi2`ffIDhj zkCN;eXFI^Ff9L@+p{4cV>04d4v(Y;=j$;4=oV*r|RNjEDeNHGr(gO(QTwn}GvL%4S zCEp|D@b@KW4FuP;g&W9<_xx0IkSOP1DW3y)`77#C^mbpu=sjfYi44oW$T#RSPL6|^`EmV5cN_V{v7!z8}Sa_H7G zzRJ|6%JEf}&qQZo4*bN}36f~&X37{UoZtk}ki;PyVyhljma?x;Bx*W>$<0_085Xe< zu6C+JLrTRuX#{P{a9zu9ka6q?8Xj61opdo}l~7f4xNyQ0>poj?4HPfr1{* zIP8)s<1uc4V7CoRr}O7IF6Vn)pEX^c1K#p`Rfb2sC8A%s)RyN_HYER-ZnB8Q7*#We zs7SN8jZvF0W&24KvN>ZJHYfq0N*&9i74g%A6M0}3{ zx|iR0Hh$VIOHsrCis#e;S9=6^3r| z$f$!YGrMm&%cuj;UMXfq9R_0qClnD;++x^xxN8dY$x%|6Pfmp*dUD1`m`@UhzXbu! zq8b@>0M01W7$#jTNsT!0+Z*rzSIej)>l;8Er+~ejSC~_U<01y#GU@=#9OscyM|OGj zheDQ7N7#MGtCJO5!%0mUbpVgyozb_x0+CTiHs_A?u01wq7wyNc`Yy|QnA0Mo&Iv|F zofG!uZasANxXFslNc)3l)REDK&(JdJ$h;z|%Uqd4n0KI!u7YRDO&z^ya^0VlP$$Ll zkx)k@cL_g=`W!{XmzP`o>**`UvX#bcuVcBFa3^IW$TwMSWPU2QO^Rop%58u`65toZuxU`PAT!5Ls(N7@)nX&{&5Gz0zxFy&2w)@Tz8Y`pq zlh`bGGOczR+=(m62oL_vKt})aa%D1GL~YP`>YSY;QKu#!qk*=psgYA6@YvA_M_jJ9 z>LL6g!MEFNjsv@AD&st`dx`uww5(rPKzQS>@in=)0k`sUi37aqD>`=E#W%uXyFnnv z&2IW(HOtO}fj~Y)0%jNYftqVL`$-pa4vC%3IePO+=N!{}`=C8<1%1`*q$iHpC;oNrYn4@Fi2L>`9-MO&G7~qKVglZ(mbM5{LI0Sf| zlbb6-W!Y%?z@8K2_%;hGMw64W=~>raLjD*cuHeT+6kvu|h#lF0N@XwhunY%_z1Smj za@hEj_Dt)8Wa#oWafS8XLBeoh zkDJSeg$o<7hjyo_6@g9Lm39-N43Z0*;c#IO3xrZ{l)110N~y%3hYK5{RR(q!Hs)$Y z#?yrjs;Ipr+}9wTr%4F+H3&bBR3unSd-%@2Yv+S@@`1kc2%oh>;;$Z(E5^>I9*vvO zA#XKMF3U8gR~e$?FE=(Hlr!WXeOdD8HGj3x$cRb)>LCf3@FQ|q18mhn^Fj-gY&}xR zVU0zC_jaG(E=!m1R(mkh&%;{{$nR<4tp-><`ILF94~*nKp?*H!E0e&Ow_1Ak2X1NQ zxfj`k)LRYAOaW~V+c~e@FO!-^MG#kR*$J6zAL@eU_ViP$y<%(8;4B( zl-?@Unf$L2(zi=jTJ>oU1wd`e zI8mbv@>o-f_?VN+zny-}6*ZBrJC3+brqqNFy^G+~SR^OhTlHGE*bZ3rLL@|at6r8Q z?hFrDnYo#@ujTc!j&Hl~X>Rp7mwS+2f85;w$fHD***O_QSpQOtivlO){)}i|tAghU zxOR9BHmi*1tmys_1UPOQK`Z{!iRw3vApCLDh&7^{Ml5C)Ha@T@Tux|s*M9#c7jpG4TCWufs_a}je#7S5pbGXGQJcyBE3=17*XR(7SjRCm5(#OgAdsyT1V_>6Y%_{WbMI7$ItNNct8+HT5`I~3@WBn$ zzP;q+pAY;DXJ{h<-=f94P_m2kEgJhc4Qn^NoXv%&8R2e}I;^hN*vxL6OT)7!4*6}- z2GjO;qnOm?{9{%^28pB$hxIYr3@c@JO!mwiVwyg4E_wd?r1_jq>g0)@WX#={6z3gz z!~IZB^e!64eYA)(YQ1%YyJ$%~HsjuKtc%J;b15i@@t$;fw%>IU2Spg|;7%eE$OI=i z7bn`xMU1{WwaPLH~*6ylt$(YzQtVN20@z?veL)K zbn7i(+*&(ZZ!t6Vdy(~)!Gov?hY-9eiF!j(>TbU7CV~G#xIw~A1 zeejnkn~e$Rx!WA7#$Mq6q1A@N~`kP#G>C1kXfJ^0+0 z4lnC17m1fZ{JQSK5Y^8gelUF3TQ1jp)dQx>v7^!(VN~huK)Zgm zXV`$tbSW`>EO>UKJ3lJDF-Vo(2xg6#;dm?zaCTvXOgjb86?#fL1=u!9rkw(a@Qp*$ zy~}pRg0*76RmB&7`>14lT!%IOmgFw3sE5fH@MywwW*fdG)k;iCO~?$Aa-1*+%@G>u zyriFQm@XG-o8DRP#5 z=7YmBZlA;zt7sSn`w&WH-fl_76YMXGEbMuK53|f0*cj%LX%U9MgwYX%q-2@KmtB(7 z@%v|Np2Ui&>)#{*^4i_aNpZMyZmH$_W;Qt0AI3iN+5v21T(5VofFFJD%Di?!oPU#n z2xJBd_+X$!lYyciULzmUxtc!uSahEwaYiG~NFG9NT z53dzDC^@YiVf0Wu(Nn$Al2`m2cllIh2NdV>KE4#vm%=S#;fh|kv+D=MVRsA?;V+^y&}0(hX*22s$`+H5(KS;%$CzuA zbICRQvf9E0o%ty5SxrUm@%ZtUDwV@P*S?W_=^n~a%61QECKF@)jvuwgZR*c z^#bGiDiUI;IM2e)0Ac^sFT4JGd`^n zUaq$%*WY_{A&AI7_x#+wTUT<~(S`3_>@zldjf_3PNZ!IQ5)8?A&p6cdQ`H(Fo#?3r z(|wl%w&Piv*_5p&x{R?HhIklI5|f#_KDV3QbmEUlD0<;E8{OUI$%#Foy@GB-DRhmD zB$T!2x|k1BU8-0#Nh+-7ZwtJYZB%uFJw2%4rhO}mH5V@c(Zf1)VFHWa__P6sueh#* zN2`cXBo>s;pEWIV?<%22V@OLx4jgha>h7w~w2>^`DTuk=!KvH!)DEW*$P>q~-)Xug zKtIzc0aYo*U)F~>+KmN)%Nh>rB!a-f0cDL6LEr$EAM|$6-hId&O=_rC56Hgz?FY~b z(InAIYN4s0(BuGsK!3mAI%w8aKz8n@#}Z(f<|+;6ru6*$I^wHusm1Gn%UOg-z1*z$ z?Z7Rzl=r8$ThmVqO5jdoMN8vK(wi|@=Ft+`He&~qomhhHSfr5#8eiHK6bty=2aBrG z{_Enz-Mp!vfwU79DK$soJ0`eniR9WlqZ5Sp+OVm+&W?P5X|*Eki5ul zJEDAq;kFvPv-*DPRwI&()9$m?i^R)>ii+r#MdELX1k=$suM#gp#5f`J z0no17dC>B$j_iqTLgeyKo5Vw?5b?7Z3%?zlS8&~seWPB|%ec-Cu93@ri_}t)N}Kc! zX3}hNGI~58)qzfCc?S=9p0HZKgm2Z}U>+~Ms|z!41&ifA7eU_~bCVZJ+&3W}sW;zL zA<>cUAy-R|ae7oFxb1kiRUTya}NX{+@% z4cwcie65?_8uyTDHffK|~IW(kYE4Fw>UBqjKLJTf4OIx!fq1cYIOx{LZ(VH$n}& z%h7ndc_TYrS4kRgHv!u5A5S+4qnDeB9xRb45%7X)T`JKT&n?EsdR$H=TD!4bcc4{9 z3cLOSp9Y3=`0=e&A1G&|3tB{Z#e)K_)t6reI+oF&=R+VfM8JmuAyF}^WFPr%Gl#?P zHe=vqXBoVO%_14Vf^vIyNM`fNPG~) zI5-CJc-_hAUrsxVqB+FzT_2rJyXx`qrs?K9jlkIA6zJ=4NjUG`(Gy#oVo;~WDF)9L zr9GsvTAM{j{NLp?jaUNOK1@vKX0!41UOB~;tmPZCBWT%??B^#WO zR%x2a#_dh3$7Lw(O%f?(Q%ZBw5_6fYh?twe4$E}{HzI*`?w4f=zm{0Q($8-ZykzQ> z+nXezmlHVe#ryKU$l!!jb<6#@rnoVd*ONrm+O#EjztqFrv@buh(%dA;oV4GxH?3`( zjtx$0$E}|YP7C+StBk|ov}W9v(&DtliCg;1;)K;$+HP8$mQ>0r^)NYMBbn`hO-@L< z=k3K9;;EZa@p;(+C`u(7HixZ;u znrks(HF_j<^^2v;CIpZTyQP9D=2-8VVKX1jYL1}f`a*US|R;MjXRE{d5 z0P|i%+pC1N^Z3^GESa75Wmk*C>V&OhL2zz#0(qxt#BP09+a%Lrbdr3JhPu&dO}g~? zucyI6YzoRC(hHI2xp)d?cF zh0O48{nEr{r!65J2Bz6*m$=cZ*=gtTm1ZaKYVYCE>RA)~o*%SnqADZp#H@ zylgc4wuAP#U~QzKJ4^=;;>Mu7U=hd~QozRrE781}L_c(c@ev(Yofx~{h+>9xZ3 z7c4|FJwv#UFU17K&AF-S?A5JWJiKM*8=gjBe8CFzykHTWy5>&%SzfUAVLyutRt%mm zSTW1jihpp&$u`FYOD_3B(^Su~8uO*bVN< zx0mdjuQ@r&yb$GV^5T^9<|~$*pb%F4rPBVmv|;6naMIDY#B07rx!p!WvkB~&H=#kH zXptxxeIGQBQPS$fY-klf*Bg8=tDoZ>EC}=wO$Q3>ZN!?jeKBGIeH*cW<=$`nH*J_i zkLn@}%c++=&|8iiOuYHXG1J?SoE+_mq{FdMW-X=x9N*&FILcu_2iV6buh1yKwX+-r z;+K%v{U;bl3&H&OcWSJf-FZy;0{C40%5BGswu{)n%SRPlGs|*?qeOL)iKL$0Nnl6J zEE3gUUe!e=l3?C0Y~tI7pj{h*#TU;~{p!KhMW(Eqss~YB1fXk=QC);VsxFc+A2Ea~ zo9Pqd!gV{QgksxqkW7mqyWQ5=yLf;CZ3DzLzm6UJx|y}<LOT3NFR?~iRH=rUQ`#EWf+O5Vh9+- zv>&c60uCz?v3v(Jn%^jkivU!yb`%#87T+G(Vu^mR9WI~N@fQ^rN%&xlL{0ukn1JaW zE~7MT>ctq??a!$9A@_kczvX zu)RV9_$-rwR@_~>x*d$-?trU(tHs?hRBtkhy8~lxzoM*si4F?m%%6?bnx6*n(O_ zWwl{iX!eab$7vdoj}n>VmT5#jo5Z^P%>HDmwC?KF3ytmXv_{O|qiQT(lLx~wyUx`^ z@YJ&%H?K2-{^UF*eqby)hf(LTY%zH;`wo`PAtq<%RB{L8q{%=+1mYbO=uzCA;VAA7 za9qRg&sN-B1cvHOT-<#kU7u=rS==2m=OK>0cya02#C-dz?fzBjA_o2;i8Bp_XiOAQ z^K~|Kj_GU|`Dqe6Qq&O47d?jKfib|=Mm=6j1AHW~Nl4XQ2cF!dmZ`HHw;e{Tj}E^j zof3KsKUw+PAvW7}wmL$|i{6Lr>tmD>==z>df@A_9_)uMkSc>gydvgS^6g>(eboIfdb4HngmO{9*Fi)fXqYu_<~{I*MwmFf9rfdZHsbt)K0Y}S3P%=tbM zdSrBs1U3N6?MxW9@YzF;$^X;$MdUig}|kZzN3lY#7$t-_z=| zSVsvKV9%~nV{5qjz(WruOlDQ#scV>I3+69m=>k{%ixWT~t?(G95i@Of3sITGD~ z=DQ91^}Q7tqJ$oaZUC1tObS_|8?2)Hdm_;dgOuoo;gxc5xpd7$HzJ_qw6F^=K}zz|UPicgxTV7vW{5CMA^ zxlteSNeuGY889a}JWxvvnEhm0j~o&w0Exj{nvk4f<`PL_aMlr^@<9CjaOwrbTSLG% zl$x_o@j~f{V|3k4B%TFfk=`)TQ>h}D2NPS10uM42-co3xmUE&B9vtKFVf08eJQdMRIy7=X?E1*D zn};N4NJft!#$gRZ=D&8;{`zuO`?WMTH41j0y-t+-y6Q1Lq`8_G`&$xXW0->{za*OG z*64+tEjggW*^&b%XG_kISNj`hoGio67SK~gZ=%5T-E&y;Wx+1{EG@W*tiFU!;UNH~ z8#NpW428!b!L-n1bK%0Ej>*}PBMh$yP2|c2iYb$y1?Z!^*Y^7InSCAHq9itx@3`wJ zFQm>vBGKS>Q90ij&zeyuPqvs;%)Xi4Im%p_oJ}s^m!%dKSn|;B*gSs<`jDX>24<8A zEU{5k-Xea-H&j|Ckv!+=f3gj8Nd#6619<+;J0;M9LR?<{=!DHZpS_gABYFPHbPYM^ zqFw}{Ma&MMr6Ec}5co?d@$8rro=Y6T)_^D{5}q^^$maCNp z#XZ0@swA9A&_ItN8oQ|y=zc&ssg?p^7|A=HSyWX4BK_J#pwaWKRSNZQtFa7UK9|^? z>npX(Tw>&SeLGPBXqe=(vvNw9=BTe6MpNQ&_1j29Gm+s2*ziK$(4ip8i}wj5(n0kd)bb0slVi9Smoz}NqfE$zMebsmF3cJ%50Wgk~z?ll`>aaavj$! zB9xEvL~UO?%k$p1&2b6|-$N`;e6z9G`4mtpxC-roNG}9xJX%;i(!);;Fmm3~fJV%` z%wfD0nZKq64V_uScppYKF$O8s4#Sa_hg*$&W;_DQe3qllBxyMN!tkmtYBfv~V0I#K^ib#RyVhO{IwHtcRg8iz-DQ1xZung_@ z$+T6gd?gE?$e>!TI?r##;A|uCNP#VHiH-9zQUETS?q{<{3P4}8b0i}L2;@kCfDeJ1 zs0!2_J3j^L79Xc7SSeArBnhjWhX-T7#<>lEy>CJIwIsGW??xMi-d-|#BW2mp!;1PI zI0{dd5BVk=seJi2t9*f;kpcu~q`(fnhav^GJV&qo=pdHoj$=L}1#ldWI33LWFKNME zpmJC-{W9Ps=?PA3UV-+fI5xo!>uQ>w^mISo}E_X zUmjjHk;BsnjL(}u590#EDWan%vM%JH4(mb=o~#Qo$z#R8aL36uY+L|EVfx`mRk9c& zq4N$4Om`pOb{Dqt5L(5(c*)xw`E}f%4=irlgvOnmT8z6p^-Z^Y8f8g>#B8oyr8Ev-)o*Kv94H)~hVX5CA&K19lS#>12uQf0% zpTlLLRaJsTxYr}T@TMfTii2YdS#)Y&j=5#fUkw#et% zgS~wNELUX+G#~*%-#R8YD{_cAzH^F~tD|tEw8Fs?2#f766lmE+gU2%hGLX!9*@MFu zmryZi$S7kxy9kToDTWY{$IX!=2%FA7N0}fl{xW$8KG)6Bs#6#No)n+ESV(oNkM?P+ zkFFeBee|04`uIHFn|vhBP0R=FeDe0AP_*c?aK76ojC<)b>t7Q8eQaVOB^visstiq} z_GJho6_tY>snZ!2N#$p|^VLA9;cBGP5nsSsYdyR|8;>f7-&Xh(iv|2>NZsd&7mFPV zR`_%b;d72|mCw;Ebo)c1IG1yaaf0W!`%yo;nIVDv9t|7hXM11)1351Hl{`@-Jh3P| zfoYj-n5~US24-;2(KzVAmLb9;ETm8hizDnpjYfQi-%qie>?*~5@_UXM{ARXA4MxMk z{m3i+U8HNP84odp&qmzz+SqO+Hy}jK_kjR_KwNJ>wD?gMSdnFi3tJqAZ1_)A0$*3( za8=QXayi}>eR;Oycfp9~a2-ai_|5hn#he&%3l(AmAp)9q8F+VZKu8$P1Jp#j=La}+ zwByvhJF+~rSG@i7SSkGMGv~uMH3MSoE=;p$5C{!aiHGQ_vO?Fp7dOj~PFU=Lg*|b+ zENkGH1!$<}Np^DpIq5H})Wtrx z6A`inPjb3VLvD}E=-Ssjv#hRE@T&YKD*K#=HP%>aD5rRQ^3_);p~;$Z{*t8oR=yQL zRW~nKQR?9%9;h%;&|4Qv_mCL6qoZix5D2=ho?(^;1YhN92`Pc(zHK!QpJzc1>UuCh zC2Jq$*^8#`a8vBrA>Mw=)O|=+aVIU{Wfr)`B8|EF{9#c7Ezyqd=e zY(tQRy2DRQOY$~4VvL^8YBsTE{2yD?B?Ggu6e{(ou-fdVWAr#n)k>T>A2U?6PjNg^ z+rfV;ypm1RZv9w-saTg&wfS0lJ`@py7hX=pHCjkTy@!t8tiDTF0V>SLkh?dBtv zgyKT%4rvV=HE(j#jd2S?Z!v^uKp4s2&u&|raNKvu9^I~nISI=N#w4A>>2?ouCD1pI z3Eb|HkMxwY;jwJ>Q3oEGSG)D>Z5OCBnm#P z6s|Zw54{dk#w1h2u`C`AH#_(6g#c_b{s;A+#`47xbnB2=WP>Q!F|lQtLmm^eGiq4f zE^R@V$giVNJLyn$XXck^=H<~Udsd}!#PC+9kQrzMj8xdJvbdjE1o!*N+aoY5thZF{ zwC~9=Qr19q{%KLGn`}ps{BNSEIHbpFzSG^nJG)=L-EQ7z|4wnfvqixB?^`%Q>UepU zn)F`}ej5m_5%Mf=l(+N-(z8U)$-3&nZv$Z+9t?Na@(>RHagF#mc4f(G@s;Dw&dRYoXZUw{kW z__ExBMXawPCC^M_zpu_sWY1pEU%QHMyG26wE=io;<#s#{dzZUJ?4P~MUF=$lyi45r z>*Y#%mr5385#sPJx1i<^bO8osN4&bm_(eb=-ODZ2ASzc=#QepIb^r1fpHuHA(!so| zT_CZCd5ggiVY-+kbRUyM>10A1Z&4_6GVi=IVJGvh91f`?@lE7t-ZeDyFf3n;khoA#5TD|7HKop)jY;ood!#Aywo-QFZIPI7byyq@D1^A5KdN^_m{;k7B)Ac7TBAD2 zio6O!Q^CBwfv`5meZ`dyzRB-N>Dft^I9i>d|MB(-#()#=0O8fXe9xqH61xkD8Axzn zgIqh?bZ%M6fkm)_T~~K&!g*V_YLh){d0Uv&`G&aNSD~?rP3OL@=s|8ew?G0Mwo%L& zO6?=N2hHnV zYMHnt1Gn6EC5-2eLtSQW$*>O(@>)99mgsvp7M{8VvF{bfvyRS@)GY{nY$$bW-?8*F zb!%%4V*Sq8aY>d(PnO2sHO(Al>Xy7+p^TKeB|2Az<`6jM0^YtLedwr#(O3q^YCdRT zh24(dfs2dOEzE;rjBZce!gQ7H*B**A!Ngt;y9uNI)%@$WP{PHf)GcUru3!^GiR@sU zxm%)XYOXnVOYB{D9G&HEu|~(W6bmVL>l9zhY^cGeQq&xur6PQ%tIx;*DGt=*+^zfa z@QvqgVbHfiku7%%5(ArY?$#EPJM|tScT4Q1j%DUq9 z-9qOx?i_nZG0*szwr{2wbN?TITp#$~|K%S(^dJB9Uw-_}KaBh1zx?x$zx~G_fAjaX ztdDkm{NsQAQRMHR`hWiM_aFFosUQFNzkmD>SNU`QA3y%_|M*dc-q1e-blG3ZpDtWd zm-hG9^_Ra~W&Gvoo2;bh7a?!DkjC#nnf7|v5&R_o@VEYUQQB;a-cqxjKMfVy>1@*D#s8wS z-v0FuEX_M5_t@o|&p>DS7k~1x$B0cjX`bIh1^?&_SvSXT;^tE3?Pm@iR>u*E(j-UMT+gZgCeIeyPmMXQC zYp7rU#xFTn>e~PP@A#u%{F@X4rI^;gLAn2^t$$(U|6s2E_yey$n5jSP?jNAM;B1VK$Mt+Ra5*tyBl{}UO>JXS(*h?# zmp_`Y&|XsN8QY`miX;{uC^61YTZ&-1KS0_x#3O|;&`v01@;C@1*wCw#DAg7($9hyf zhd|hgytYUIcX0~}62(7o@B937X}R_$|1I6a4<9?PQv8tQJ)f2soqVK}f|GqjFediy z;#AYW{Xn?(d0~%`sQ_^GxrRQ9``&f)#85Px3`O|c597Qxv3%P6SbB(jJSPY}&Y{~f zzA%N43!@y<&(2R`1enC{fvhy~w-xTHuW^E#B48Sk4WK)oA*)i&O3Ep;h>Dh~pHcLa z>aai$z=m7B70A)j&nkiWTLf0Y1Kx>1qPs}L*)NjJWFv~b|B+)L9!dD!}4=RVAc{BT&W_2tH)cIjsa=uTk0U6mLgj!4JP zHBFnOES(N#(Kv&RMTzyGr2aM|hS)(+LeB3h9cT`R1sb-?wp-E2g#(N%#lX_v`r=!k zz4VhejZO%E`>`~-Y4dO5pu+EL{W@4?==S)W)AE_r-0vc1MjK0FbH^IE zuNWdThe}l$QsdGuwn@m!xRd$6G`$uSRm-Ovs(!{B?dlISmcvX?m-{$0r-tIPb%bxM zW~Izn>v))Db7@iOXudkmr=c!e-Z(ECUd+p5Z&j)&xGGXHi$mLx)q1HKbY(&;E$!}L z`!Ri_0jco#Xc3wt+Z(H|enIZqmjnCNq{zCNeZYj~&`k$1t|9xhWvU?N;F=km_qQ88 zj=Z3*-RJIK?VA4B{lNvRB}i!ZFH#%i-1>o8-Q5?4ZU2D5E)!mg{d@lTxX-c(RrL^j z{0*Mk)pBKa{0i^9$56(^6IK ztDDu?!{#f)6T5U%QwyeEn~B`cZNPckuicEv@!ZfUD@Tj-CvaBBn;)CTy{pKZAN&yj zsqfd3Xe#fyD%y>F=l+I#X7^#fU0)+0=IO~!+AV|t(+SH0DOnT6E6g+ocjdq`DGo5 zp0kjbBZ&iR{s_lyi!8R?B5~bw&qWWL&xUkNXs?e6drvH8yGxdaw3~`cjgpZ>LP`U0l^z2j@UzZ3Xt&iW^ zr*nOZyRBOIG%y}DmEPOsH%hwB@G=c)#KP_#ko-8NnUsXZF|b`qw#48+|GCO*ih%F* z?Kb98sz$%nLl)v!_2}-gyq+!lXtDCV=i962@3{jV>Cgzn`T4EcFj4ZnQ0^Tj+{l1Y|r;xKf-aUMC<82DyrB z^~|F~kpC@1u>0}I&}p^kiUut(_WD%h`ZkSC+e^)j0&%h_A;K%S4k!sJx)sKlHN6nmi-Rta4@&n%Kx&~ye=izf=Q_mm!v&~l=#kHW% z+4IPYm3r5@s_e&)Qa9gm}3a+fC|@A4$(rMmK@oLau_+`M%mtlNu~L#>$P6- zNngzU3Pu8Mart@heEX7fBdu4I)l`N={u&a}x+O82aTbReM`2DpFxiZwGN*ZXY|2rb zllOR(GF@z*SNH6+Gm_L|hUwWFW-?7Vc-bs|z@~gfC&-$wsDwt=oP}h~Nqnft#dGh2 zdf}Gbr$oj+>UExzbongOgn}6H(1v+`qYEh3BQ?CPc|5!AZue+$^UTNFQ8)dHzDrfE zo$h9Q4GT#{NX#n2;!u&fa@mE7%oSb=s|d=c@7n{6swQ(f9+Rejj(iiT%52|wh_g8; zfK+87;bnYr1!sw^Cskzz#*0*ig`_GZW>sNv4sQ8L7b`Lc*U$T9Nv32r=|ttEf=cJ@ z`^_s|PChT(>2u_H;gJ@tf^abe+(6{DRPvgQa!Hm3;^H~ehm`i{e$)~cKTk#YJatme&O-;9eh2$2HnB9U| z*om;cW=2qi+yZEIepMDgY+eY0e1qA;FytONM;yC&qeW&&f4dE!<@8W%_y_CaPe^9Y zD8WKL0+=xG@NC>v1}63J6IP3}U-}8F`D=Nb|IQ^)ELYq(ae!0Gbso`Cpz*rz=N4iD z&E541ZtmeYHi}toKh8x|ORH~E;A=N+D`R6js5&Tw#zG3EusA|<(PTvM;;j_t^S)&? zkUk-UhW@P_SfoM80Hh5a-A>Y_9^YgZ0gT+olpycLBCpxv-O~f6w}ZgS?*O8kH)3KV zPV@RfsNOeTpDl3PV{nA;z}%J?Ll)9_vpD7^nv5xo7yB$z_fi+=LsDhvqglOZfKm@> zC{ts<)$F&*Q^*sIWDLu%psEHq8%I6CMds&Vih6=dt#!YXx2Wgc{qBvTo-E`+C2_>Q z?ntlXp_F5L!i)Ge^ETUC7p~~+!UFmw}Tf_FGQ)A z$f!{AI{F?K@&YDt#6qRj{*uT{ay(`_85hPebc;e@g%Naf-!^ol%J(y0=Mxgt}{uaRo2+ZEkdCQAj9n$A$ z>A6*hynD{o(Q*ygYVv%47@mojnsvcP(Buu?I>{pam9EF5~0pn$$#$PRYx^xbVmL?6BIlJ;wMf#dVQ{ zZ^T@dS3lfZjiWHXyZA_A*0ZPmicg`h%EK;?0iTSaXUnhU=;`hm6-Ucp@fd-~$$m6v z_2OP%HSi!p|8Xm>h@{7AB>Bo!KrL_gNREC48<4If?=@yl^DX%cd6vJ^3DK6?y<5j2 zq13o6ahr!4o%4N6c+P*G5Ov}pN|2W_5Ta=9JcdD(9SbpG5I`Qd4kQc$Bw>Dsl2{0q z9{NV|L`87RiHhJ(Fe<|POPC1yFfw;E42QX+K_hc#gGh>I(S0C>03^a)T{C+>b4xE6qJLWD20`&*mmtkwPA>lP;rd|No~ zal|;JJishZD_eKMRT9g9PWVMGV;*X{5(JPCIL7<1!K1*Z4N-4@BRw5?wnxhpK|J~a zE_M9??sXvgjxQwXF&-pO5Qen;K6w<0sj^>)}qX|BjVc6k72Kv18ARr|8IX=LLgzP8k zFxpw>u(p`_+klYyw6HpLf7&tVqr`L^ICQ{E@@dDS1A=pzdE9(oUEPUeEczp#>4vIN z+FRdCSag7EET(^8(MM0eDzWIoa(4S5$AR&XCe)SXiACp@1B*`GII!r{X~Lr8+wNHK zGqF7pxM0ly&6u4U&!>wkdScOsZdwUKA3@Z}Aat3E@asI(1?>ryny3ie9Ah>4?iJ$D$WO?x->)7#&i(PA5|%E+h~cs)EFCtZ4|C7L zdUkLdX<#W)>8CVN=_74Eq0+?|eJ~<@Pzae3=_4^5ghUy|IRlMuK}!OJ{asZph#tpZ}4_zdYI%j4DgKEn6cL| zK(6t~k36*k?zN|zdmSG3SU$q!jDwrbLK}=!pNVKAxH?G>%sR>Q{J<^eS%W*lCll&2 zonz?p=*&Zdah#B7=;%B}!%W@)P0Har%pMkipB^!}-13Zw_}P!Ge#z14xg#sjzYc_Q zwYwV?LopGuI_`Z6t|#{~x-Q{)a9Pe+G?i0JFU@oX>l>#v#5a&$(FY$|NW()qOGC-} z{oQK#vQGFkh8thEH)-Racgg|&IFn7(fe#hWW7&*~7kn(6s1)T&?t2&sd2C6XCzhF^ zGCJL$6TTPlSqMGOo!(DQ_&ObEI%LsM97nR5n-V{LF-9pGz9eaL->+^wtH(S(>N6k= z?%xooo218rCwZR8q+wmGwELqQm+M<@{#dIPccjf<*e_k{Vy3^-3(=Tuxnn1a?s0AP zMaL4}Q-gnuq9Y-r=tz9r?vOY)6jYoefE4~)T=kCwcT#YBw!7~n=5y_#wS_+TvIZ=I zm+vEavx7_U`sLZK!LhT|uGKf*Juu)kb+v1j)%iUscpeX7UgQDmQ5)?(>nm{KS7Y0Q^ z-0znd!ljDHt&X1_oTc|a6L|G^U#G9mmJS~Y`TU<^oXK-wru>IK?U#;g#m5R;kPi4( z%cqxKPIm^~FU!S7!i05Fz8bx645V02lro!N16jZ~^miN!Mcm+Sse0M@|JJ;EyTjhT zI>6{yT9S4-4s_=uq<@TPhQ(sV^71w|`&mv*0vf=lB~?)NW7K*y_QvSY3SC z`SQMg<_XVn0EaLyh7K{-0<{>FO!W4C(}^K_3h(M3I)In#o%*aBNsvV9)T9s%*m?DQ zw*2%{dhDU)4r_^S#huix*OuB_-Zx`Ch_&3o3v((saWdKH)hZ45& zRtlWWLi}1?#C<-yid2Mx z%Z2r68cEPz*hRb;0c)xXZs8};>nT6N+=^pYVQ)Gc_^$3(_jWCe23D;56=7!pt@OKk zLdsF_QAev!I>iG#qyyfg&XX*y5r`x^{N8$LtiqsVgmT@szx9ZXflGHdcFCg$B&_ZO zYXdGWnKGSDkCffDZ5 z%^C)^%&*sNP{RJ@*~fzqbME0^C}HzgW%L(3aMQ&e`~{0#n0^bF)Jr3LX8L^@R4}%6 zH|J)?AZ*)*s(vS2+(3#|OGS1?)HZ)#B9t4HiS^Q7Esmu^s8o{Tm|3#2P%pZR6zfnv ztVP7uE&1)Mn#1J-z&K47$*(-(-_3*OzCz#B6O6T)CP%1pqL|oeK0*ce5T9VWG+JW;T1bB&!|~Q(K(ku-i?- zUy7k9>iFeuin=q~k7~CuM~K*}xD}~{=g)#&7$-a!ZMEgNy>WJ7i2b{I+~mOMY&Q;m zl?x8m%Y}i!mPIpfI}Q5<(XB^lH9E1MgT&p1%a8S4#}~A41$}0F4SEH(Y;=pk4<`(ma+~_P*R5a_ZRyJCEL=Ty=IzSF z!tryurDJh-0|=pe5ur7BRSRPstosnVok0AiYXegdTbr*<<-2a*nBvy7qFg}tz0Fo+ zEth-PM93kv5xyYZF$=bf^Rqn;D%(G|3VE9&?}L6{v^K1wfs`N|+wGsZ-7M^WF4P8G zJp9Bd!Yc;6n0Bog#E~r0qP5%cL${v)p|w7;X@1I-yShV&L7e_&DgN~XLvD@-Zd6fZ-CR~sa*0Km*OzBu@#B`O4w39|+`}EO#v6IK?y|sQHJg(!OYwRcgWtr+n5oOd zgRJJSmggHQrRJ;1=Ad&PeEhXs-g1hu9POxq&0L*C3|DKukp?S2hIY(u{zx>iWY^aH z@p6Md{e!V*g>5e*eBu!QQgLxlH?(>DRMvI8%=S$g-B^&ZZ(=SS)qeTDiFus!{kh)_ zjf`1SK=I<>!!u^c8lNvQgd^NoX9j7FR$oLVYU^T-CPyV8#Hdb=wYYF|Tt*vk>%JU= z@#`gax)OUCgqwRbc9tKd-lLL_vBu>KL41ham!}<1?CVB7slm;fZ@U z7BV{(iIbg*S`EZE_kiHx)Z4_8(|6^i1C0S+P(a6a{qk&=t4ee9G&l*(y|V{??0^_V z_v%0zN(ZXHx__7NK_omDUy75>i&~94I_?3}S7mRB!79It=k^;t5Csva``29%4$2+O zv8H7(y^rqBLmx-39@briam!oJhnDs^R|E-p7fdlMxyGY@9pX61)5|g+iaN&0Q}hv; zX+@u#7c?|9e3=7r8!s`02*EGD%&C~b+3hkuE^{D;1?qc~o7e zNr%g#OjXp%JK(3!j@xe+T66*J>a~kuVa+@5{papJF22Kc^@HELApolL%d?lLtG2o{ z09%_@Oi@UfAhswoJRxfKWB z30H2j^iOi3!*eWdAZ*ih4fHB(%4EQGsua zuUO@&_}(KM<*~|h$YuV)=UwNd^S;G>NZ6alc0no`V!j?{ab%A|h%n|njOv_1t@t*o zb4pNjA4c^Nn#V|n5=0Q~WodttFN1T~-_N>DqgK0w@aDS*{bwdkMQ?jVp6I($$Z;|f zvt6C)7MoqQ@Y!qdXUfJ zbalsos}ZlL@)|o{>N%>(#_otD5Ri^e+Acur4QoG!fK_xY#$6S}C1M#q1VbZ;9*X!P z+!XjBabSnhYR&65z1V?pEf?nTaZF!4Qp|hEr`EV@GpIZU#ikH}s|e6M18A337pD3+h{;5l$`{t zX(kRL)~V5@bvz5C=JE#Y#!-fGdB`PKKL`LsyTU8hXclG$CmGAsUc+>D#!@6Zy@g zi#Dtsn@hyFe;2WDT1J`#w(R?-<)6tp@C(Z#eNmFZVB?4*KeNu(m;W2gqkt% zoAh8*KaWYAeeGy6NQo<02K!gP0qlP*T!ihX#5G)LMsT{+)m;$~1~jX-+D}iQD0E}A zDtQBbF(MRFzUTS!C*kryhBi>b2Ak`Fj$Qt3hj`w8q)IV_qvu6<7aItQzPKHaD^Q3X z4{_%LzWt&SVK}EgXJH0d53yyYa;rNj#G?mthH{giy@fNp;@KUCBtMnr7^LtRu@wJ0 z#N+kfJsgi!C76ASusKXG z%IAM=zv&@OIfSWIhuAfcT1{Qe9vpg|y`?pf-$kn>$AB>^G-BsEO!4yA|0#}w*$`TE zNwTnX(}snazBvXi3F5Ts7V?3SGCjf>*X`-@$op{~{?1PSf&t&nkyL2_9|Ml^^V)I$^N;`QN0pb?k5yXzcpS{@(|NVztkM_rje*O!#_i;Jb$FusMR6iz+KzbpLaH)sc-!`L!%(wGv#e>yj?i;AC-9Azh^t!y*{nt#$mMQ ztowmb>>T?NHvhXV8LCHRpFxqn1Ay_!pr}tbO6^;V80<3V^A*o&dpzGUKj6~TXJ31U z^XcY##z3kNfJOR-uZFwM`#GXkFlkSK%E}|#dpyVJ@geJJO3ACfR&CP?J3M23&GzxQ z^Ut_yJqbA+L$sh%&lf<&%UT3XNl0ik38b_9tU;eP*Wu;P-gQWk25nw$|rg_)U?DOzl~A2o*ph zi3Hk>0KK0!YMjxS3D0pmnW}#x2~qKC)*>gur;BVlS>c0nc9@W@<{V$mmsS z;yjAm!1MY%zh^}ena8=o3{4>i9nioDH*HMeImWK~%n-KC=P=(;BvP~L9(9vaLeEde zglsF=7gc^rfBr{*{mjs#91VF$&;Rz1IX)UnH9P~pKpC_eMfUV{HnJ?*VK3B9f zZym`6ogK~vou8HqT7GSVkPAA;Di?H)YOZG)RU7|Y&N)xHoO4EVIm?XN+~;ym9m(bF z+B9f6i#9^>wy@&cayAX+)$F>wb2TeT^D{rsTXHq);wZG3Z52IQoQqjjp)I&r%(*ag zG3OG_e@T%X|9k#Mo7udU{e_K|vQ(r&*Vg@!EBW{US;%R%Vj2JTBL^f`@iA_;h;xK< z4L`r;x$ybPIm>yB+07Z3A}gr}t{bT@sY9Vzscp}%SqDuoNmo;UL#tEMpKXfu-`51M z6JI;AqH>icfT+4sKHX(@xOE%(XXJdYjKR%UL#yoPC;rmZ`+^H|Nf@8@cM%vO2`v6|D7 z$i*BU2brz(OxRlq4W`Z9l}`9 z={b@&89pX&Q{;`Nhnik%da~)@@*c^~urKNBKfiO>2-M1e1@cTk!vN_Pp+x(rq2Ux_|v>pWBuBqz9hzg1NPtiLzjc|-~6xj zdF9{zpLCZ0d_D~S?_WB}Kkw0#{PU03N&Xp)3)s7_NBPg^yFRXe@f?o_3&Mp@8()6k zZ`oO;X8@((3|}5+Q2&1vuKyy;mLqsl%Xh((&x(6~xi-6AAryp7%AY*yfy*;7eVD2G ztQ>jq7omo2Hs1VvHde*6yP;Pdn9Wb{tRjKyR>>!-Tna4g<5Rg9Eqo5ouJ#G2ZVu2^X#W`yvo}V(_I#Km%eHW%O_ZSm6=+; zOL-YT1(+xCXh@$$4L9)sj8`fr z4Eokgzn6GOmeGr1ctZ|!;mUG2VAHKz3j+0sg% zc4`a;Ok%E!{{Zo0_vDQFX?f+MGpJ^B>(fXnb9^`caN~L$&tpGZ_B>_@S5fkG9>p)!{lyLq&hlkuA6VLJPN>8EBHHhF10Zz||DVV&k@! zUd!P>7g>QLp+Y4TJT}Z)UB)dm;PCT zdXes%Gw|{k;In;V2OH8i_aPn)2QF^A4B~^lRzk4_2@5(q^LR1>k~h zrqmVO_1?qBmijH&6jdMk$lElz97A$r{rHg32x4!aW{q>84;LY4qcCqM9Em%ybTT2+!#WF($K^ z=4Z1$?bL%qMX0~3P8Y~v_~Rbs+qM#DC=OMnkz>uyaefwni1+w-FO=8fVe9_8OjXf@ zr^D<^T+$Tbnf$82;zumRrCSVU761L#saj(4Wq$6e)geE@&pp-Wq6JS~tD z_g|uA1RRI%6GuO=br-eM)N4Ur>R8hklJpo4k|TPn-lVi_lR;jA6o2&fL5=}%fz!9* z^bJtswskXc=^cEpB+wt^vcS(*qb~r#3pv>WnSA8)kl$ec4C!tP$Oio<+R%M}E`{g) z_5(>KRTz@w1R<)1_{FMaswXMVNjaLaV$5ZT#Jr_q$9vUE%69516r0hR^+V7_`_2aM9V zyN@R>=dQ^gX2Lqp&6~sp$p$tys8onZm3j=ibxWS3^pgP9|)RbOHD33#is|yFmhB<4yrE|Bqd)($rG(RzDsqii$o3+p{DC8`aZe z^M-x;Ed)j&`gw*7+{)7w{Z>55&(-BoF<0H(_uqaz=6OLZ#;9Ie&hOa~Wkh8|DqVd+ z5{~CdXUrn;#0glsMy-MxqKZpJJy=={Ly6n0zjmw2L z4^X7G#UhUGf?-5YF7#!24yIw?BQt^q6DrGMaIeDVcW$*xVvgt<_ux6*fi}I^PHE+u zK{cRy`Fxic!^uKkizLPg(ZKrIDqv`uUPnE^W!r7mzi& z5J>vSs)RicN(o>YWRMfCd73Nc^T*#6`GI302Z zf1IlIRk#$$$D$^AKElNEvx3o5KH!q5qmZ&azJ^M9=K!6;=qm2rRtiEDRo4$vBXr|H zfO4AfT5?HOkP=eyW0jO`BdRtZ;Ryums_zLP`sp|Zfaheq z5iKn`eCQ`E{-tUR*RmawffJ|xE@a?7R9yx23KHRptf3T7^j{OFQS7u3@W+Sqjy7ojtcjntNA%V(5|B(v7gRDA*C`yaERNy<5{p@ z>VQvmVXIKsNPj?)qra`lC6ulAIcVaMA|omXkztr)ho94eWAL-Jk4*%1}wi5-)0Q}*dOCkbQhhPd?rZdXRS3~c6axk zU+Qd4(*qa(60vM*(#BH#DpF!;Xe?rhi4vpJOp%^`;q$d$lE-Xf+@D^CF>LKM4&M&W zzZrx4S6-tX_j-@FD6}WQ&dBB7bDVn&WqXd&9|&9M<=z)zUhWk`|BidhzkWUcg6=)1 z_~*Z#FZ%#QWURX7KZ+s@pMO<(s4f7+{0I0qnvvxt|M%CA_&M6kA9+*Me*8oKmN%~X zy^s62|K08}rM!|XCZB-)mq&Sv41BS26gfNdZ}ksFiHP=&zhJ)pq+oB{Y+vo7Hm^VH z&n`_GDfu%4j(b&%9)Gy+zv2qDA5czNz^>Q1+a zxFp9hpdWXRO_F$RH;8~olUqw!T)YKBUd({{h6%fSBR(=TR#=b|EcAJ9^ojO2KFg*#Z!fIb{*MmPO=;@HQx=wzQxd5$u?;cxHEgt-uh$Y zPl}mU5d^ilK$njQ+aB85l=Ee?AIn~g_VlN-O#2KwnjS*`Wc{g$AH5z?MBJ8TcSqKcsH1nN`c{8Q4!Mq6e55Qz$%}0~94d~>+#J03^ES|D>oF(q-oy-M&r>n{ z^H|~oai|I%$yHZe;qv^>%9%%fR%MP0u;x<~ffmSVvA(fx61Q%Md@ozl9JfZYVrlO` zKn#$enE79sY7xJ=}w7LHHiGVOixIh-{F0S0AnVCfmb zPkDweqS*{_a1S^h!u_S_34h!%*Wc=fs0}FlTFcd?%kFo*Mlh|w($)?kt zgTy%XdQp~B-i=RBFhQl8v{gG*f>N+we$d)7|JuZwGbXGHlM1BwZl)sl!oj}^9$Q2F z^D?MS#Vt#*=l0f<*|TzM(}=gK(ybK}KBdC!vuP2Mg| z28DFqZTPjHtqGE%+SImV6U#XsA98GPUGIyxw6fM^A%#9faBEG#&m)-rSwWhxHK@=u z@{Un^j>)@Nklo|)kdD@LFMhSL_ISx5y>DSxe_AfXrLcKTH)J`H#spwdciq9OT=vOu zARKD_?y@Dz(2tgb~8SV`#4%NXO2XE5Q3*TwWnPdqD3n6Z%YpD4U+?y|+ zb^H4-a}SXpV0Y&gAO+vHupRy;%jE9Mcg?a4Xar8rx?-g+1UEb5T(M3Ov!~qMSfnyXwj_(`BXcO_q zJ$5s-{q+M>1Gz_p;-Y=fC#$9rgi_gEgcPpATT z@|T93PjpC#-)NHf0|OSQbponHS58z5b)7K_{G|k1;E_3XmWJ}s@f>Q)b zuQb6DGKS$3*&WXx_Grgn01NN;bLJl(3}b*x^oW-Nn-j+H_%k5mGQfhv7=RLo)UGiN z#$eJ_K28_|$=PjUaoqOX`>>D`7eJjmKm_zH1UcX@XU{1|>hzp|0(*vbAM#K5na^8x zKbscZUmNAs6I?rCF(GM#I{t}-K)e*@I6u-v$z;^%LO$ zcn&L9U8^2I8N6Xd|nCdz?3 z!7vBzbHW_>`)I?Y(Kz;38a&>QbBtdYL!XS-e(!VldfsNbz2X$47)Myc)TkdZ5Lda~ zj(`cPC_^4j-DS|j`!5cA@I_O%S{(;I@G3iy540#5`amm~!4H368pUe%$0}nd`2rl2 z3NAY3y#IpO@%hlUPb~$NOuwX=_lUT>ofK*@)TSv>nKI>BI$5QLk4ot)+X!n|~j|4@q^jN$k zPgn%EoVW{R+pRf(=lxa~=oGf>j2#$$1>a z#4W{9^L|A^pFdQvug(@xP>62f!L(Cf2<|fo%5tEj)O7ti<$bAx@!@Y;ipD#-bZm3< z3A8KH_tJh#!*lGn@YxaNm^aJe;0q!1=12u#;owgccYq@m`hx9&G0c2}ocEq!2^ST`QwWP9)p!M~x z3_w+^1iY*B9xEYKI5xh;PE>|P?xzZd=En(k@)jnaA;jaDrtRwuP@j9ay5$8CitjYl z&Z-3wK&oOw&B>9A3=(m?<`6^G8j2T4XI&dX#M?uXirb+ZA$L7TdE(t&n|)D$tGClq zS<%Kqg2(Kyr*9!R??=msTetgbKL%XySa0Yt3Wr&b^`j0!E*}!ZPJ?#t5aCcb5RB24 zguA+DEWxMiBcy>$X$)?LeHQApgleDLyVsg-HUI+n4G zA?Ir7#DRs;kG~i%S)`I{fcOroPF}E)&&dK;TtA1cbC*sre|ldHv;A4g#g4@?y)_1y0rxU8+rgM4I1viW!& z?@`mMO4(S7NImB-;S@B)xuxI=ylHsefTrLARw8wr8mHjGS&_Pqm6LE;%6Bg;&qQ3b z48HJPIT06qSoS_nt3;0_PTn~Y7a!-Dp9J4Riu!HYxrE+YYFBiu1H82@Y2$D>Bh&Bj zPOG?{-E(bCj)!AMYC?%B79QTEGIhb{LOrCOA|kAtnaRM4`1 zly{2)F0)$tf@j@URNLBT!mSiUs<)6Y1+$+m|uQ*95iC)yrOdYY}jn=@>w zlbK%&k^&)g=Iq)EoS@J^A4-4$nb%8oKD;=c z7PmRd$#^8wRv>?bA(2vPA#B3xOo_A*Ue(@{X|%Xak~*%OL<>dH%oNX`1sZj>Gj|r) z&(?h2EOQq6XrGf_EP}UVyo8FkYMz`P&pxA|ETMF#iRz!Lm@qFu5z0}DS-&dfZ1v2Y zW$9rBNS>iOYBi%w)B_GOQEw^6L?1>WCK`pq&7~nDIYw6t-E#JX==km$Od|33bRy|OAE-XH!U$0bH433sVJrU8*r)e!>%7ewFt$k!>!IG6ea$w~a zMV1?7z~Z{3CmF`ELu1QsLQA7L+YV0s9nv*j6t*gy zMz_$P!h;@{(3Y)k7o2{~khBvN5<}+^@t2_j@ycbuZqx7rl9t=i-gKk^cgscq^qT(U zFCjiNObCj9*up_6B)dVDffOO`c=X!)Cy%MrEHEh4P=WyEYz&mWdMbwyxz5!UGR1tK zj*4XZX>ai}`9p>E){Pk@tJMTqrVh=GL{f1xZa6M)thsZd!=Mn7Z*@VMTNM|ZL$$8{}XzXKrm9|7i`K(~M^?ghp3Ow!- zkgu5PCS~IsiDf$BkjTQSa|lz(4za7_(W>Yyy`MGPdz$J`Uz7_aK0X)JF;d4mOEF5) z?5|=ZS1-30663%&W926RrCSy^+{*P^B`L-4%Zr>;gpcuZHA1e5`H#0aF0b?DccvIO z{tcyLu0Vc1))^#$(~LNvN~XAPVv>fXW~xGr<3Q1`azAZEotyi*E_YOJvQnd;m#DBXU6(YSBa+$)VU5ekxNelC=l3v;Na@1z(9^m zDiP2#sBWhu{(z*;ZNkd3u|dxF3u!!@%$0Mzdh_RIgP+}4LjXSaODm&1oJUZ!W$Vki?)M^Uq)PH*DcNC+&Jmt{M|w{-}#a#~Q~Q}RtAc-%-u>`57{TUD$M zzme}fyIpRFCKdIqQADFOKlESA&lgSZYc%vDx&AUh!w&2eHE7sYuXlu@f#ox{_jq<8 zbhLaPgaHcDPI51)F{#WQw-}f8A>{`z`_$R|eq8EKX^^yCilmfU#NAG< z_ppV_!VC}`;x0y18;E0XMFU0IL+ez!D%oAPy&V~UbZ7_Ydl$WwVNW!8J-I<4#WZ&JjIjPkYZSr|~P6^l*q=GYK)GO8-U|16<6 zU5+%pZhf*Le5wQNA~8_o-hO8HCsBAY5T&YfMj-o%YOXa`T3y9L18r#10BW>rnO?y! zX&uQ!sJA6e8%VLhaxg}?d6qk|yV&Z_jS!{UE(^p06mHkCk9jaXMOW1bAu=G_UXu^1 zvVz6!)0IB-!cWAPjJ}$b+08248bTH0b8TaOS#tU}Gu7v1Vo>;M{Y$%i7PI^85&-yD zU9OMux%>_f3Zpf@DT5J-2UQ9mf8q{TpM|>irPgrWHu6%#xfpOp52`|yTXwTdm^Sq1 zBy{7hB8ywxCEjfqOkBys@3}>Rmz{j4IC47eThhC3z0;Cye2OJ+LOl|gEm1jkdj8tf zx&IGjZgCbH?!^Axve-sdsO&er9-55#uMflci~eP4P^^CY2Z@Ho2>hM5wNUA5=TGM4 zf4Qrsi27gJ-^*X%;a0)deHqRw+(7x3KmYAtkqC!scp4LPWNpW3FK;kDQA1ZQWC?O8 z6+HV_Sgn>mQ+dK_$FqX2>6kO;5tT}+hK6?@QPk7Xa1Qf`q6X5{#=#>RvLksUq{JhN zT1)q|cxdp5KGMFs-Qp7~q*OD!%t!~1Xul=<|H$YQN^lSAQvM&t%WgF|U9jWMXS}@& zjK6wqF9+ij#Z1R~dl(Rx8W~DKBZ}gsk)Rk9q8$Ua-SY?r(GKwDp(G>1P?82)=+R)1h0^N}u2AnO z@r2@&n&(yqO{kQmuH%b7U{vG-i6XQk3_Hfb584qpU57`czaG^+mEZ=I@$cSQrv^nW zW)meXXqU6pK?#Zq>+LdxX)uC98r}{Of=XrWIu15a6sn!~!32t0?)NgaCnnHG-6W<` z4kAz~w0oOYB!&klg0B}EqWN{bRME9>%zxT%T^nPo7WM z{IN9Ll{BAyDE{1&qhC9@=6fPeEH1L|?vi#Y*bPgmmfh+NP>@7hOR+f9xo> zlAflO%3Tk=M=}J8SsUf5Cr)(Gaj`KGZyc={*!Lfhj0y666KCs9xfkcVGgxDHe|H_>KPkX? zd}i^Yhv%R)u*+PxpDsObwkUk(K8Bm5XUb~IDO-kG_Bp3c9O^+`KIlF3`zTX}M&ne{ z9K1uPW2g_#fpdwxmdzWb3uN4Q|3UJtiy=!WNd`H`s~Wi^(|e+rL_fJbk!tU8!OW3P z={d|PXKqh4yFAS1DJJN|4unM}q@d5$uM?7xV&G8T?~|>Q#^XqgfwJ#qYL`y~zq2fa zmn{QI*33cSemuYI%F3I4M#68kHJ;y>(sMLYPH8b{cU04`%tePA)Zc0A@DBSMukb06 zqGB+&+~dDj4o$B@cyqs<`QIh)O2H>D?;osI&e96ESucqWae|XIyDI*0WCHsigq8WA zl)hw7SPED5?2WD~;eO}g0wgcnTs`u3fsx1n+3t zux!FIef9-hy3_WWObUkhHe5Sp1*^C#OZJi3LVrN1U8TbK_2X!0L4%}`J?%h~ems(+ z{1yz+QZSB1V%UHqq?sJM8>_&h2G_LQvXQd2=2zz!ylw_dVwQYFb*n9w=V$763vHA7 z^5U#n_WZLy>}tW(Su~a{^)TuZ2YI*sk_}~di%eFPo~h*_O>L6o)O~0Y069}nn6Hd( zP-w}|js)-m;tlmtC|Ug3HD2nXDgEY^y`HraZ?AT5zoa|60Vt|&NSs(+?WoIXu;5TQe5|2WfolPm&z;+_U^aRr2JGHZ-doFm`=v2H<^_O>7g_!Ke-54E@U$FHfNmi zZk^OL`3Yw>eSGi9DG zycrL{>*=BuSB_|(CGq<;TBf8)H6pt_TFz&pOnjmd)3`Meg~t`Y0*@pB;Jd=(W*VmD zo~9p&4DBxw!S9_8_#?_#+Qxad`27daxte!*Twdxeb7xN^W$cEel-IsV>jCC70_ECy z^(zsU=5O-S18debl*l_)DPnDFyokUXitC`>(+dv=FrZ|6lep>vJUkk}i;=3oUOfQt z6CS~l-J_@qP1BF1@4`2tF~z)FP!qacRDh{~D@ehgF zYw~`fAJbYXul+*f7^on3xEYUg4d=U`ZU!iTyX|GXYdm_Uo(gXokNbiHQ8~Abl%Cs0 z%Fk_s$kUd)V*9u}{x(>PO36 z1AX(0+uHSNd!1e@U>JDiKDG~&&i>jyNPhSn)QWi>md3OXx1&pKPd$H;*D+9~q~98( z4zFWK8A6eg-!ZX3WQa~ZTBxGpX@8+dh=X@c<0Cz?>L=^1M<93I`ZOuhtw+h1B9Zh^ zB$6MB#PU=msW70~JETdsLY>#!48cI-nth!!Zuw1+^0DSZMtjHCyv{(Ef)rl52ZOtZ zBoH3QpbM;C-y|I3FB`Cxwa#M@(1lyNa~y+Md>n)54~I)~{y}^aex*Al+`-c^p)Wc- z6B>ZS)u0i3`6ehOacfWb2k35#=fgX>0cVH^Svn_jDV6zxQ=Nn=N`CkzEKJuVrH5y- z)hOyHg>SNvs_xS8O@zwR7YTVM3y16O3Af>&Oua|++_EeObRn8E=i5I)sng7HqtttG z1LizE6rf`Cou`NLd|daQr;mcTiZA>0QZ(6N>M9^N1)0#8n3toXHe!vlgWr22l0w&& zgxI-*GNF0cmBPuGg;0Xr2AmoPGHSU4oG%qcoh%6erIRhe1uT!uXf{bX@=@i-AwM#j zS)Liq_A04-QuooPGov}bfis%(gE^x)$LGvw?#c&Vj-!zfqu|EsI7ER7M_ik?wJTlU zU-psFj9stm$Wul$OF5&N|Pv3o}H80DbP|f$WW-xHuuQRQggr3$+ zBDS-K82Yw=H4k1a=;V@KDen%eFOWhCu4iorx-F%?G*FVf(t>f@x+NfYou=3@b>(Q+ znBknSD|&&8dCWxa36Fh*x@chwe9|Gv6+~iBYCc4l)Og>LyD%cDS?uu85+an;EPJz0 zP9!x0-GDJFgfG{G;=AdI;)I=}+;sKPqvvruxLju=vzb|^j?`wOox0B4=I0}ev6@hB zvq?*PhBQjLl;rb&G^-TS75S;K$Utvbg zj(Nq4gaLCO_7fR5t$z(zfu+$SKzU*ufH58M#T4;r(S;M&X69;y5WcpCP(j;R4uoh0 zEr2@s*X6@1ECu4+BMIeM3y2;@3bJ_XMUte(@@(aF?UA0_j%Sg#SHwiJTW^I`PM==F zz{Aip?$X!GVoK@Hhlri|5FY9v!gp%m758kU6SyDk-{=GoPw$vtkzAhFbR$6!Ni^r? zdb^6BPnLO)SBqB}Ulju(oLR=PsS4ofP>U3iT7>X02q_e6;LW=&$ZnjbzMWmA+a(!JD|yJeHNy!5^z5~zt7k}X@tea8E~H++&jijASYO3?lOLvOxc z8Jevq9oBKyLvHAJhYgS)YWTI(7YK`$0Sb*_A*U&&_+V3Ev6J7@%lw4oojQ(E*?m5E z<(INXUSpo&gX_q+8n7NTAC?;)Z=DM zC1B$rfYh15o1}h^^I4gNZr9e{EMk#Sb&h&awMtew`-{~4HO}t}*)awrjq##3ZCvT? z$M{oMX}02{Y*w+dztsU~N57IInzPgUr6qfm+tIVr6%3^+8~N!hqzrWyBS*bs$t$!| zbJX#QUG1<%IqDtPz7|1`GMk5-nmUO&PquX+zKq!Q5bK=|W#4x7+uD(*+qE`Je*!*!-wlblo6 zIaM>$yOCE_E%DqF!I5LPwPenbHjY#xSY(C7c*NQ+vQvmk0K)Z#5uKLFks@AP$KXpZ{j`wnTQud|#-k1~$l@_wy+-iXL9_~q!6fp%AzBk>- zW*?ZqGJK(G0_^V)H?KBTyH468^V|%0Ohutl$cq`7ZW^5V$ak5xeB)W%7sg4zlUoNc zn5kyTRfkK*lK$1ildkOW{WVs12&V<`5bNS>xTk?x@5s0=YIf%t|~k(FSw$XO?|@^0eBQw{KTFi zSH&D%!k&Sp;!?+)uxBJauxBY3_^W?0`plE`;#tr zyec+wE9FdfGmDES5i0G!*Tp`iS{VD3MP+QsH+1fssEiHw@UmN^Luqg23KyJM)W(+m z#qvpo;LMK4O&x3Y>%?{jq0;au?|# z*~(-~8H~I5WfbT22`!>J$XX{`;CNQ>QtM>1#Oq|UEbC-LTBau@d!1~&V_{mfd^S}H zm9oPcI^ax;r?+ccZz*3HpC-qq@=9370zsV5N=ik>GLB1fW&ExIgsj{Z_v~B*Na&B^ zk}!X9sn_H2YAc$J-brb+2<3`84GBWXd2`)DZ(&I$LNs zw!X`1XA7d^QUstD&vptAtpMcQ6M_fn+8~$DmaGE#rgqlP{$yl87SNW#2MdPM9tCj` zE9*&gBz1|Lv1yvu4! z-icJ-jJnz~71he#XJKubI{EZ*R@U|tkE%(Q*2eK!jM?DY+Hee~RsGK5+A`k53Mp}U zZT#Wx%4_tQ1-50DmX<>#_;y9`@7GBw#`9EqJ3_pWYwGqLlh zk}PQqTzD&#sb2zY>m=#IOziDX2loYN>aAEzQh#}^l{!zJFzn#VHq+y2v4Q%=%Tdp; z-qr?Fl>y)^gENEG>}o+xRTURm^wb~H&gf5VBcI+9;E;YSxi6HK@1>b_6EM5FUNk5} zIapO*1#2ei*Mt{GBV~43A+E@ESuGsddM$PSrx*;KlpU3kAJ?>5;XZKJ7!(3r?^pVC zZH<87OK{GfZ|IerI~1~0UwP|)u&HQOU^{1@S5nxy)ecnkM2f;fi<`WvUUV1KjArb~ zDAp-3s;e(sdXF6iy0nTXF^lD&%Ia8cDXXFm4lS9-nsvuk9pZGw9wlu6H_w-crV3V- zXvpQTT`T;#CBr4wRuEijaij*XWkjn3U&YJ}Ezb@fL`@0lN_eQ5%9<@BozPT1<=W63 zpQ_2s)t-i}8*T^3Y%j^Bu{r&H$N^?^UJdMz`nG3;w=QPkCsw=dX9xKLxs(fzjIQ2g z)f0n?b4tJ00Ri=1KlNVSLw!`G=-NvwM3gKV4NRxhTd*ji6^&*w7mYsU-HJv-iXgF; z4)dbXI2$4vb>EgyFcfA33fHMD09iB|F0&}+&{ZwPfCds7_8laDMWKjtrLxy~JAofH z?N}C##v$1%Yh=x60c&mvJRMl z9^^c$Uw`;oID>ZiSb{yw$08N+BFI}qfw@~+d^K=&oplmpM=jzSQe@<@p|A~mzTzk_ z`**jldT{J9tWs*=z{s$Wd^Hj?M&=MZo&-k(8yCl&AYc4apXq?8z$e-9r~_IiF2e4} z__yeF4$c|tp17S+T{@m##q{=Qd5hY&mjytYDFeHe& zqf*Qrg{KLgio@;l&_f(}a5ob7mJU!&;Q>)i@p0%OF&8WtMzBt(M6GH6#v~S9&__5J zk<)v>LVi-LrhbV7B50`P&gj9WL`vMG6pa1~h`joV@_$U25tR}ok%SCNOfjQXNt}39 z5EX2PgF0jtxvs%Vo~Ts-7kktSFyLz0fJifH^_l8v#DPb(6wufkKM0je8Nq)`$W_n9 zP?tHut6q&(J#I&@BAPsOw;=#4OBut;a#ol_9vTD8($Ww%sf+}wEq?t@(GaKpoMYg@ zJ++2TzXoS|V{iofpftbd)3urOX!+VUAZJH#C#hH~)}pG1vJip{dUnEG^Ft1!l3#s5U2~9LXjc?>9ML`@4go0=`1`g@Uu3*w-SYzn24p9Q=wJT=k2o{NAwswS=_) zPj2Q8X4w1R@w%|Xu}-Xm-wn8y0U@49SZNbi^LS+^{3qev%uuN5Q0%8#cKB z`KATKTE8&QWBk|nhS>psh=MHq{PlRKJ63IQ!@~74Fkf=Rf<3!0H?F}A3&7KkntaX; z3lhBBAw8KZOQjHq9Tw=Sxy;WBf>@BY&-A_`G6EX#5e%b35DU?zu>T;4B^eRKk~9cn zj|PJvmR^4l#8PL8BUZ`E-W;(+M}O!AM#n%c#1acGe}UoPZr06lk~80Y#(? zGm(_G&JqhI^z|Z%1p!(=irtCmzTYIV3dH?N5(_+=6#QV4*b8MPPLf!pW6axWi<02= z((qV0Nn&y8-p;BYw66(JVv1PM_rBS&gj4r+9{r?thLERvHALwC^kEL5XI(~9YnD{3@@5k8MCi6u|Q^fK|P|0O?t~0P3)!I`O=qU zijA5P#uN*6xaL=;SSin-phshhg)UxRpDvhUq0Ms)Vv2>%SCt4;ELMh9!6K$utfOnc zr26YVqJ*9^#X4BC989rT&!(vdQ!G}$<*XP}ED)em<5t2HOaE<5u_Q^RSZSzu6l{dh zE0&&2v5IB4KO|EuzG&ZXrdW*17+;xUG0J^8$CQIjV5p1x+{qMcM*YPU`zT5k#O=Wp z3z%vprr2{|SISFVyw!s#7Ms!z35XCB9YcLE#hy## zwQSx@v63U@mLe=UUbwx0X)?vuTe))fiz&8ly|~^7Su8l?nlg~mUPaP#q*G30s?zd& zlf|MRqZ<1Ok+h=Q;h`j@tB^nXt{u08IV2}ptT29mA&YHV&iq9do0V?fq_v7UTlEtRM`cvD#W!d>1Dc;x(%6!+rB!f+fsT`x261~ZWH+t-W1+b=g@O-EHb3NC5i6L{K zXl%ny@XE;77R=PXp1zeM`)K#sY|8$kLRFGQUn~wnzS{4%60!8aU8nry{A9Uue&*YX zbAEcijyNKH1jilei#bY319V0;Wi*?o3DMKy^OslKLbV>=3iSoZff~46>Gd=B^LEZp zM*EfeOkS`1EDo{5`kD)hyF^xm70mS z!~!Y*7X6hLJ15}!iMYJk=r&wX`MM(o7vn2eSCeyaF*XAc8sUVBEL>m`FUdmdXC5y8 zF!pwyoyf(7d`qJE;%wYQ%=x&-ANWdLvN2_}+t)vIiE~s=CxlpYlscy#3f#LG;Fl8> zg+3jo)sV8 zdE}O!f8m_n_g_4#RnYWnslHPVtl(6ogzWw}b7t|EE>ST{r?>1~!6}cFd;YEfVTEN$ zM<+9Q@t4(0yu<$@YT9=E!n1hA5bPdr;64Egbs2pWf5jy(g#LoR`jlrj@A;QwY>k4e zmal)%YvOgzAIfN7mp2sCy{z1FdFuzfoqoNFmBXIwWx=-4Jrf$GU8*WS9EyFkt4o0T za4Z+=?|RVd;B32d_Rq1u^bt`jMfC{=3eUFHby*!bexbUmLKk^%NK*5uLY$IBl(?rr=`{vE39wk-b+*y<-s$De;)?GU#3ehZ4*qO!7ZniMq5w^D zQ3n*$KQCNVma>aV^20?v6(80Reg^nsRpRvc$^VhY)rbg?idDn91%icKDomhhchuIhlbxP@GE5(e4f~r>IGfy}a zVg{M1;&>=ebkVCp1w_FX!3fk4H-qUS^cE7pNeX}{Z(Ix49e4O0qAw0R!UCi2dh+X;UWj=w_uVb?P zBl@8m`Ms=2IXI`@8Be&!R-LB`;E^6IXUc#V=NUZ-SVr@>R-Im0dcCcj5z>t17;gY}dD1^V^|LCtDQ?_02Ex3VOznIs;P0 zRYgdXFUb;s%wY$!QqdxoCUFKPm#RCLY)$-hGCOgr$pOWEV8$r!anMWg$0ZXL55>V+ zWhGk9r+rS2hGm=irWfda>FRQ3pONV{L+anhQXY*{?qkO-8+#S?;b5<_4!2|O{NvgO z^H+VZ6$1Ny1{z5+`Gk>m_eh4*~Q#QI#P& zO`U@QlJ#~=+x{h=gnZ49X8ML0pp(2I2b1MF?o8c4vve>w(3BE!1M3RnrfN%1sSn4Y zLP>7_>j!Bea0^Q&ko5Hi)3B~tQf?-H;kAIR|5Dgju9(AweQ)x_8W!Zqd0>q02N7hr zER;rnD7Y#PUTV$Cz7&5dwBC}aRmEBu>R6JVmAm1-^&pNZ=?>>Y+)o?ic{62O~V=&&t-K)R(RVzTw{dJiHvT}UK`$!FzZ#zcQfdCCWZ zkXcA&4@m5}-zZBqx{0Fb!6WTg(>F!UgW8p#OsGb(+x}{%Gnl@OwfgGfiZ`{-f zp3^sUt(X`BP{~xytk8M~RVc6YGpODH5;Jb2+{teYK&zpm3W(>>j%duOV4>YVLp zPT9^1S7Fg=SK&Ok@d;y*>wH9|KZ^Mkw?VO(0x_PGr%D)>U>&{%aSRoL(nI?kF-`fF z&WeQNuT95#G|d8!A#EQXxOT_BcDU{*8V5Y;(9qmEAcP)Z(6?^YStalZcPiIy<~kr? zDGMwVQ@iHewT!bL%pnI2wi2s`X}w`w0|~BT)tA+s6{2?08HPC1(-8?*nzPj4@G8rC z17nEPUnq$mF8RPR9qbPmuWUfRl-UWyrO&3X$2PaLs7Q+TX^)tJkz}0 zuy=8`2x*Vo-=-u4b-C>HY7ctu&Z476o{v1!BmZz>I2O@8E!Y5ZL2;_haA)UeeWtt^kR{ktE>x>?7^NDjCulU%SV$OZ*)0r#~+GBoO{D)3g5jx^%!N|A$a)fx!~T9F1X`uRu5`Em40Wyr6kNf{|;e;T!Q$(%_i5W40}pCyY-Wo)5pKM4-X07D50 z9nCTDkbZd0jfTiK^%O^%9aGm;3JWpFh>&DhgFlEtbr$n`^J|wv-2J3HmOIw$a?QWY zBhGA_x=hGNH^OSQElri>Ym1oSWYi9s;E;c*p~z+XBQhhoQ;7@2aB5P*G$AZC-Na;- zWh$enW@sNi6L3`BnaJN^dHrVzD!|lm9&U2hh;lJ$gx>l0VjGrUI`djI;o=zx8I$-&CCVAg4)$mE3-S3%yr})~wytD-H^bB4tJ`IhejM-9CE@d~K(xE+s+OoWlQ#~)h3;1Rx3iQEI z05P%-b>HG8uEk}fG9;;{%f${{U|-Q1zWgp-mXzlcuM#M#U5WdSnyucUxLfW#Eo;h?7a~WqX?-YyXzONVaCGGUNnS z7zmd=!u;aEa|my%cEgY)k^zCoW=T(WDPZ%rQL7O|nv3jU#XM$ps}cDRHrk1&MfYzB z6T`%f_hjQmz$>^lOd=Jd$0AexuM5j92xPc^j;Sw03$k}mOOvISdu1HesvbuDR%q)mc^Zj zKEreCo;}amSIUTuY;?Pw1l`))M*W*%98LL; zlKp|^YzStB)%GtPu5g=VW9Ta**JLXsGh0(fCkHbln}0ZpePEvNx|9EavcJ9AC2MZ|-|H^Z)k;3qoXD8+OZypW~QW*aBbCYuXpDqt6 z$AA8?aPg4-L;p&#@UW2nL;tndV6FdVX5rz4wf^Uepdb<~a!yWW4z~Y`7#kNU4F6M7 z=3*g*;V;ih%Jnx0$}C*mFhhS`P-fv_hE2x&SB{m1lk^|@SBsUEoAe+0+hSuUWrY!} z^^aL?C1Wcy6Q_U7YO}!H`|F)HD>Eq!|5MRsh0XSNGHrHdQW*a2XJ;ja;V;hxd;a4u z&%sOz!@vC;tfVmf%X2c5!tgK8%}ENwzdR2QDGdMeEdM0>zf5bhuyVlC{x{|@|6sQa zqrZ}{e6jqOGi?@5cG7?7?-&;sEI9x9!@>g_gVEnH9@rR+{%x@`bHHx&KMSm^Jg`vx z=L;(v?8agAR}yBK_5ZB1!lLjG{T+kFf%V^5{1a43pzZ%6DhU(+PeYP}lN5&k$xCu@ zk;3pV&&@#!!@oQW5A1$n^lyumg$tI(|H%o$K1fUoW~P=#qChuN-G2C$^!P&$~*~sC4-OT@d!Tw=k0{`Xyzcu{7j{napcKl~jXP5#D z5|f;zsUxZG|I(-r^W*;%|8eyHr6^|PWMmCA|Hqg)Z1w;D*!m{|e^unoY|Wi4SV-Ae zxwu$i4oX^D!&U$(lcY6l`HP#G08L?A$-hFdM6>g7a|;TR{@s7vGEVdnzG+Cz3%c%o zDR31fC3FAiajqcVN}c1>Elc{E+*#&VC16osKUrVj*Ln3>f1$In;Vqpp4suoaJMluU z!=UIk+f-<}<9?^B;g!J^21eI&W;$OB@N9G?mB(B$m4{6X8=WJ_d?qD#dxD1mbdets z1!Xah;qirN#V9?#1&#bZaz9_(rb5l)Gd;&L9mAEFEw`Qxx};DQ0{L)%y?a5%BNXuU z+P94;eg+_KQIS5+%7{rRt<|)8G1RuFP&llJACe%iwt zWw5e;mgBp)f1|Qxj=Yzgpy=ZZelqoSz)=as!J((uu{+M*y86NUjN#l#%z!7MlH{T? zHKm!50FiH{zh$fO##omjkN^%=wa4X(NWSKqaDC zmZL5osUt)XrgO-8YHQDVkB`<7Jcz(qORALbNuUG)k~J$wlxuKuS0s4xq-=QaT}lG+ zIms4z-n=V*eZ-tO^zw>Vjwr9rf)wI^f|e(8fiUy&UhEHvtk@=6zR?jWO7Z5!L{Z&l zOb+_RM6To9Yu;qZ9uk@SjhMWt3#mF^;>_aVLofd18C+hH7wy}@Dct*QOM1xri@O-%eq=p~Ws zMMGi7O=!?wx8ZM}_Y8i9vO+5B)8smcP$XKFRh@_XhKzhFM~b` z)Z8g*NphjaS3n;b3jc@)Ay|a+=p#UJoH~|dK?MXG>*8EJpj01JsMZbgebXe<9QGr} z>RVryCs3~L1~lne_i(|AZB;U26B_LU2X(nmKkz+hx;W3#-CUOe1^VJVfr^(m*A-k# zqF}H5W4@4V0&}2+Z5!)ipin4PE5S?0jnutw5j5DBWEBqT^N0yS*r+Z>I5fCNo64T! z^+-7jgd(n@L78q|L8J~v8j^@jp!OcPFPJxo5UNEeod6P)#zWp)OlfBOB0HCALkJlP zpv|Y+WXc8g_(o?1K=}nwpzl1eUm`9*dC4UoUPkKQzNmVjzR;a8<>Soadn6hJK=C_1 zK%H;b{h*W`GIE1dr=B!Cv#u?+rA8beOmx5~8(l41p?W<@^v>8oQ ziA`c+>#T^Iyyh2=&Lu}Xd2VGya2_+fZguOU#X9tq%Ed_B^~Ht&j(Q zL20Vp%(mGrqzET*j`BKcFd~sP8=aXy^iI<7*RFw zy(9n>Ev9MiV?FSjsHSnXiJ7;643Fq9I`Oj@X{P!m!v}AUS;6!QjYXyA7U3M2FTwM> zN0zO>)5^2*A}X^>K+}}-SVuCgv#pW>BFSGDN(U{=z>Z*CEN!lGDa*75?dRYk-KJ8h zlF3#v0eOk})eCd&yAlM;B4-lF*LkrcAKFIZK;IUymNUs%W0s0<5zoBikwF@u1JO6D zL4H;2x{_-SI{oID2rTs&2JU=>W2hGlFf^`IcU3C|2R{lh)XtZ*9UuWRTjQ(hIm`GC zXaVW1nN^K0J)nW5d><*H2Go+}1D)evt%*M0y%C_i$DUw<*0o182tkl?#Gxd5rH_IT zjy=+igaqF`2t9Kae4{&s z@=}@C)EaGzX8>NnPHU?zC3#x`eXA5zf~+!U27(D%gdQ^m2#jL+R-emFX9TT zU`+lP*!<~*q@P_w7E1TM45L+QR1^77$v8_#_%0md-WOY|Ax$3w{nf01HAAt5$`SEG{(=ZqxuoIerVUNoh)<*p&D6p=iq?jcF9mONFrrQl4H7`A(ap+ml=g)`&0MR7k7p)@CP6QEsK zG#O!x0!i-U>MuWqdoe}GjZrchvJT%9Id9qw>n9oB0_*umHt2o1SU#uo#I zL%V$CWSs>&7zj$P4~X!pC1)H`D?|yB=NXpHR%n*iWTk}NCAB66LSpT6+HR)){E@hyVptncW*5) z4&D6-?4XUR9{bM|qfc}JYpBf7r&Oqkuy;tH;PYGiDQzA#t`vtLvUVNyksaJh^=>_-uET&*}tW(auwnIsEDK;Z{;r9Mv_EHo*d8wl{Z z9{tHxC{JRzO5Zm#D=7L*H89ve!2Tn;w(wU;?=Q%vnzvbHQPN`Nl~m+GiSIrRX-*d= zbHiw8&Stm$u$LN78WZ=Pa9@TB*`6@fp0KYxUH?M%qwC2ALDD(hlc_}~u+(|;&yZWE zv&G9N!$lt-;;{)Ax|g^gBx7l0!9eZ#irh|CKp9Yb@q+F<12LyF^_4CL3D;*|X%#&w z=>_{sx5z=Yuj!C?auu9#^gbVLLcqG@)L&G58|51bHI=nFzn|Vgzr#^tjDIIxuZ^nPey?R#dOEVShsFT# z9J{4gZz-t|dzmycJH3uu{B8e&rfsIepmyaQ5rdAD4e~X#llFffW}E5|d6Qq22THwI z^Zt^6LMi^7#xY~|FgESajv_Q{i_5q8aGGzqI5E{Vep;LmR{A)mdzK!82~HnF6^h&o8tyCRW$yYX!e07zjQ{StaiLN zR-b%n0UoYG-l-G2ESUjb9)GU z+Ll1->KEb=N4UFFXsjKI3aL)PeWal#fy6R|Mov~2DDs+$yVTK)5o$@q)heXs=_K{L zUCE00f#kt2BgwibBZtbwQztqt|uk9ujB5lrcKVsm)4ukbK=41I=`&#T4`N z>s>Z)W8PgizXn1l(6J1%w>xhcqK8O$d}_vd)=i~5`}Y&jm0d`A&9m!?i=e0o?js}y zvFCD^D295!)K{5pE`R#N;V|KHI%^7LD!uRoM_dmoon?>p6L3A4FD@KR6p8?ed5r7^ zQAq^@lXrBRBK27(Tg@QB@rE*FSF5Z>R~SYpS$Q==0Bl-BW3ExH5`z6DnmTNy%siEJ z)~VS0y5S1QYvqJ11o|3rC(*BZK2saD_mFO02tAQc5+-qFFTpE%&7wIKN7VO3lEQ$R zgdR4f;OZC4z?-lrM!7TJNc<6f-ksilCWU#ZkRkD$zJlsQnCr0XM=op{{bUmb2i4w8 zG1DxD@Bya%udygJEAC0LZG-9N1ctt|{8A#0I>uS~=r67Awy(y%1-nP*n$ivM4{o)@ zxkqE7=~j+9@^i$Ir0u`u2eM7b%xb*oF3d#tSM!}H?k(oMePX!&Aoll#t5c7K9EUzr)x{l;*i!MEomm+0yCXfEHR>9C{CC7ZKSNk!%Eti!|kkk3X(Ma8JvQs49LOzlslR<*5u zIPCG!)h5@eS4zb3;n+#A|1BB(%F|8c{3}d_xq4D9G$2@_GgyKxLQXaUI}f!G85t>J z51T$ie=A)mUsNMg^vS6de2yeUrCxG(5zx}_ShWY)|D+Ts1eZ(MiPxHl5R$lSLp4>RHWpB{=PvfI9?lrkz0-2_W?r7DKmhuOEjrJUK{M()PC<21f(KXk;# zIs#6l_S)}#8clC0`SwK=JCVDxRIIvdVV{ZC-m$AZSi08kg?v@kE#?bc0M^8HB4b*p zVSizr{Omks=exS_{ZXb=(6{-yPC9ceF+XY%I&$dr*LQ`Td352}24fEovfsxHgXD{_ z9*~N16$`JOe~owGp6^Xicc{YY`Sz&Essh6u+yYmmDiTd7w@TfiuWoyzH4_EJCz!T;0&Z!J?->WG}CG z5&?~8R<~abD+Witb>u)LmEE^mw;)W_*Bcg*h}ip-;B=+NcM$A&Wk3F$Of^wG!IWv;+Ab*Wrt4Hs+C6&)!+6t;#NChh1P4&}RB-y1q))5M2N(fhFV8m>>eHN9HTP)gn&a|*J6IFAVR8X7-?G0xuep3|XM z>9W2`R#gO>Q9>G@q5ZHmR*5x=Q3cX?TNUbRox zuNcp5`v!j>nNn{6yWqI&?P9u-MJ$va5p`!5Lk=j4pX2U-cqX;qviT1O*dJP{o>3rV~j4u0{NFw$;)7~Py6-)Ws-x5s|4%z&fg zI>RbDyXKMXXQgMopk@*H*6Hs{+7W2xDBm`*&BYsiU6r!^ZhtAwQMYR{C2*E<1;4IY zUCZIXNm0$%Zi>d2<_>ceUxK=hab_;->hMopvy-DdQABg!%!ds2Ppf}y7b6sSQ36%H z7Ed>A8AO}Rm`B4=;17X(D_s$%-QM&4BM%wtUV%(R{LRjk#k6_lxO^Gxg)atY{r+?h zmeHUhUIiMH3_1S{e1LpgPkrnRNyaQ{V{+OW0g_>WZg;mMPH**IR#R+^C-#2bE4?zd zD!PZGg29*Pgl|>ZsN5}1Re|h`M5$w7#6DW%57fd#ylk%JFGs`5>52l$DixFrmwHB7 zK;=Bj667=gW=hz(!mB1_;HGzVXRqPZ?aYKg+Jc#K(mQXow8c|RxHJoiZD0BqsZ9_{ zh7fWtc0C8dOYsGo_HCDLf7F8cjy_AZjlp5SPP;#{YHi2_K}M#Q-XtgRyNZ#)RBWUB z3^LO79**`q#4OfE=JSBCV0TP(e&UJiK^+rxek+URc1NjCdr`s{7rDXiCLuav==^TV zRt8r&?IM{7Ln(bOESULAVPTCH$;m6xUj~{Y(*NY>--shm)VNVy+V^8 zT$WInq z=P)78jBCR`jd7@;TWzVS__nI8zRzmCGXbtb7W!Z)V;T06+bfIHFwvR-d93>c`dDpg zqt^Zfd;1QU37v=ExW7{_-8QktV<`B=1xIf3+cmB{8jXnEM1ojUc^#1*Wrz_ZrqXULvh=CBxr6LFwnBlD)`Um0l)#pbB>ZY7e8#A9ujyex~ zb4;;|e*}K2PuaOC#~II!Ohu09vfTfaFfJA|e~c|n6OHB8$Uh-WXLF~7chd9?gm4Vq zY42AH%vtB`EFXN`4sy=GmCgS$o3SKPbR3G2IkJt3jpFn|RqycPdcFfOR6m1&ZfW481)3+&Au-T5d6fD4I0eUul>_>VK6ixlLmQ*v3hjf)0GBU;Gz zqEn=d4Z^>o*KvL~9Q8GR>SK)brgf1z0c}lhdD&-fJ@#edaB4HcC;}%7fxLu?g+=)_GygjlPa+GCyaBYVNv#`!?% zjiL;`o9r6$p<}Gzpx5~a*}i2|w`Ck4!iEi6yG_K(GP$e%?bjb1Z(5#WJ^7v_z`@Ty z9|L~ImJz5b2$$8xTD?-;CDY*Z{Gj7TFMB~fe2?oRq)7RDQ*|dcl+eS@W-0x=L0mT5 zaxkQbGdX3ckHQ6Cg2F|t&({AB&krIStGOh4{{EWmAYMM^PFzs<1=8-D{t+xgUd*Zb1{O9(wMyH}M@-;hCMN zm5NpZmSOZEwWM6^dz0H6fgZNWvt*DMI42i)eO)D+QX&M%V(EOTtG^I}N>3pFV`^VD ztCIZ`xuZZS`eQ%tO^CI3DH^H!t)v^{(QTCnf9h}Ak;@QYugdKXmrwEA$`@(3g2Du1P+JA1{0{%ZlF zil-HVM_DK96kQ#+DMwZghidJTaGKAV$n(5s)tI8g#*)g-_gNwq)QpoJIH;??qa}o= zh-p~t>71F#SpYu|g6}CDO3fnym z{FLtZ8FL&L&Est;!ktWU1cyC6ll8Q6*W3?P`4S4DW0!R$j~7Wbk8@{;deWjZb?5-p zb*@q8a($-T-m}~W6{=yFJJIN3P=a*?xM1F!NOQH!xYK*$;Rh%5ikQ4FJuQN)=k?ie z^GkXM8N?ZRh$AIKOZFWefsZsyAPT6pSPPq-n8B-e(_~N7L?AEf&8GX*py_j@Ru{gZ z21qY7CP0gj=iP2~q>!LmEeZS!x4HwLj;J~Nk6%Z)t+!f zh)@2v*gFB#dBbUCSxG+Vu<9~t@Y=|r4o zz;n+i>_CbbLhjtqK$8ooKw6{L;mAYU4&wJ znXb(Iaa=n@9GjPYyOI5x>|q@hcn9l%l^NQ`Uv#HG@t8_a84%M2=({bh--XQp7zoeHmEFQRGzP?{wNVR4p?-$F8CkK@3i$T?R>&Ul=%K@#gU?X+KB3BSB6+5`LS(7cpb* zC+eHa^c&gsDACPUe5{nrahrSc*LF^c|43vrGl;)x-%zY;q*C7mocs9k)7PgUy@r!G zM8SA?)Qwyy^(Ci;f+r0_m+xG$$T=D>Mj_P+aYL5bkBPWj$D@k19<8$lJ-h_!#Iyk4 zL(NH5Won+*T-||Ke)0jx#P-Y4eX0E1OW88Ql~~%c@uWz~f>nwb98aJ7wu4(}F~?S* z(Ky8&tjsl#5UCwmr3lldszC9RZ9$PSLH6%tMIer*5BF9giQ+w7+;22b{!3Rj^Oa!j zXowxXb~N&D@lmuP8m1T_{=B;kR_2#{ot~>p`iHZk&Db?P{E#L{q1~y{CzYqrG!-O`B*Y~l>X)+|!^9<_gH!wZU3*_7 z5}i;pk6G#njtcG&Yf;Ll&{Gk2^;NYiZ3n>CZ{Uw-*RvKpE6gi2mcZ{isfS954_4`Z zC?VK{LG{ib6BhbI2@@b67nW^ydGSNPrI4US;;3WQ>Btt?D5UvK?~C%zE=W;xH6b>4 z)g1{2wdWc1Rqt+KFv07`*i~?4w0MB6s0G9rB$_+3{C%2q1uDHADp0Rd_&B5pR&~gt z8UdCioB3-qX_$be@$_vg9(Q)Zz2N9;W4BM&QsXku45pFze8o{>a&TFy>RxKZ{$58E zQ8ZPf)w@ta{$l&Xky){d2CuOfPH^HL^aao&Qw>5BfWUZvQoT1oK0YvopooJgJ4mBBx? zVm9#D?9;p?OQr8FY#B^7Pm9Tu&W;&M@DAK-+2l}k96oxOU?!<5MFGSr=SGg~9V@Tb zM@Yl?9(V008!1aPvUGBYIcg2mz?>exWhV>v+@P%<%BvB)obL)-aoX(?J;I;2a{!h0 zT*ZwW2n1bb(%#5KUZCzc({KdIQ(-{%iu>G$E_y*`kB_k?Q8TPQp33nbq=jEsii!yY zZx=FCj_y$joXv^H@8Q`dB6(0tggfWD zjt|jhbt>CExLe2IQ4M_@&Tea@UCKGE5MtW9()oU=subOlJZK#KPHhUx#n{j()YZs5 z-mu`CTvt$5vtUxLIpv~hlh0xh@v6x0dr+9Wn+ZiVdwDJ)OB_QPS}kD;B5G$Key%u` zB`1}Ic-zmt5FmfC%I@$1VCo~&30ejq4COl?=_!Y$&Bq>-@ zWBP1&-6uUBEB)~^j*S?4N2CBt4!YG~vTNR5yXY0w-u3JeclsUa(-B=myAW{=nOpWN zNu=gd!|%!wv-@*9^@fR;P$Br>v-d*0AHOS7xOLh^luKOWp33ywI%~bP*Q|vG36Un6 z6DXau(TSjKueg+?+e<4ij`0^Y;7tJRfSg`5{$^jG2S0e#7|J=T&2deLO)F%K+S0!# zyhSDYJ}2`w&F#(3b0$4p8?PBr#i?KCuUS0+4>HA~4JOi7|t|-ekPvAY6K9K*ro;VrJNieHyL4 zSY@c%mnZw9cVJ}j8`F}uKl2O@$%Bo#Mi~Q6j&mJyW-U$MYk}=DL#R4MY@PQE9@6rE z*f%q)5=~5s!O;a}6bsDz!fh>0_9FRp<>kPy20YlIofXgCM-m&uJ{JqDzoQ$b;?(AF zCRe7(`n@e~R!|yXg;(UhTVdsB`?IX31l%>$IBnz z#p~Cc#c#lFDm74s2YrfR0NQDJK+zB#lrw1HvTkn zgtS}x!z`2Y$Bt&E7**m*OyQ>R{f9##2Bogra!HpxJd2mY*ERcpo;oZ)F6^&R!`^D7yxg+vBFBvVEGREtseK)+EZvvok0Ja>41E z%%KbLDdnH#Oja+U8b8A>5TmGTTGCF{CR)6bKHpW78ijRY$N z&xV}4Y!>ECYU9>eAy$rawrthjje1SL-p0I#*V*I>(kqPC4;{ZO&JjkBGJ3 ze;#UUQBc*Y>6DIU+$#jjBMwz{ zZKx8u$}N@FS2@d^j)D=lyoPxP$|VOae!Dn=y{_=Dy*eZ;5|d3VGyq)t`Za^+ZU%kTV-mp|UR z6lj*kHOIHcOBsMw*yUf(y}j)?r0wBhPs(s%%wtL3UQ1beyo1J9j8-WQ9K%k8wdX@( zwhtx%qty)jqV)#L-E-zcM^h5D3#t?b<$r>_%}@Od-rFCY5Q=d(Fp(p(GgyWaR+>G? z#ym-I4ysI1wmpO}1=sB@2p#)O)6>7v#MJir~;QfE(k6uqWb|?|79a=`BXzCJRxny+dNZ`8}St#z%;b7(W53}a0gYb zs1d)?vW0espy-o91X3rO#Qd8skl5yT8FFhesI@2M@nC)zSQ9Lni&5_d=Po%Dj_)0~ z`;yR_IyO@t$qz!krnbiHC~9SNK)Vzed$MBDJx^f6C@=UmzHUf2C}pFo+Htzq|J;tP z-RC5@Lim-Sk*k_9^e)$s8~fOPO@*c*@NWHUv4OJh9(o){19hgDrD#$BC^1*lPp27M zO9p*PPr)R*j7ju78;?w3lJAtaaSzMbvD9JmTrn1?`89m0$_#mi%I_{tI@pIUUeXNr8#NW;rhL9xa@He#c@54b9I31vko&pL}}_SjG>`-og(YqDCgpYc1@ z#!L2LXQH0XJ^Fd7<0M@^^q1b}t3tdPA)C7_0le`O1?Q#8l<@Y67uOypX*E3!0-N_9 z<&7-Mx#rPx4q#5*AP~O&6{1U3wakdv@fw`|+nkBi4PQo8=8TVzPaqt5tb>&2zqGrwXFRVau1jWIU;e(W za&j@91JFJ5sm&LbV-9VqOK&=_V#h6G&4F=xP6W04$F-dgyf`ANT*?(-q@a*x~gV@|o8||+d zwI5A}e#TxJWTW}u5+yg_U0}P_cS`C->;^P-b~n&juT`=RGRRhHtZz(?L(0SMs8_6% zFN$Kz+1q2)(!>fL^uDB3@Y0y;VAY`L(36HpDOPQ4jYwC;Kst}=+UpZ^`1ZNoil#4F z%<8R=^m%!m*)z2O5N4ZJl!Ewmid zLtPxCFa!MYP1Z6O%x9{KS$p5}RYG5gG4b?eA(x14ld4oIwWwNsL^-QcuU3!$&^tP_ z1NH2+M0?=+dNET7Z#7DV)Uke`%*L}c9#sdF$XOrcejmmu~=8M+SwNofq74>U!P_&7JjK~`>?!i<2)|D z$+2b2$J_Qr2!9gl3>gO09Op!q#;P?qYk9&RZA>j1h7?w(>X3x251cISS8V%`)Npv~ zm9EX=fTldL_{tZKgGC=1uou{zQ8~&!+78;)5vOPC6V!P8q;ms`G8j_kcUT#(x&|DN zQ@9fIjXrY_xNg+sU447s?!#`~q#ldSZc{pi%8#XI624OqsKaxUYI4AUQc80(eWW;Z zQ>6QP)jk+%zBQC$X^!XW3BH6}y5_iGxfu#X6&2L5HyfNw!nIKSbSA2DRD9>WFEX9- zvVfK?v!}tnh8)tUPi$v(Sg0B-+z#%^%DCDdjS@fc}kx?bcw7@kkXk;xJ@X@-}2jOWahrQ_jR z$NE^l20J^ci{YK1u*j5`(_;X?dypC-i+cFHRhc`FCaOvs`nf_WLXOLPh-lDTI{Wir zZHHrYq+{)Jc-gNgDTS4123lQ`P-#n-bVp4jjXEW^iBe#p+kQLuG#$=p7<05uJ9M_u zp@=c@V%%a{;bsYI#Y5?wiHuBe7~@#>KI}r|U2bBfy3#SG)eT?$VE*G)O%&h7^Ug1Z z$ylEFAdfw|XI z$fC(g&&377C0i|4xq5lmHp&~4?P4u~hHEcYoyOJ_Z@@QMUsE(HlfK=GF7TDZ38IXx z9n$Qa=$EhdtA|YJ(a&FoB6PB zFWzd!(b`Q&(p6|zze_b=%07F2-#A04iGFSS9JVEmKa)3Xz+N)1=v(%fOxy^HUE>T7s<^B%G( ztbBk9CfI-JlOqwE9wHG3MNekxX!D(xxQ^}WSX$-Z^<2xbMxNu1S1m^ikg5fEA8~kF z@<>dO+RxGsq&<9Q-Oq5ffy-YAIZ_+Opvy+r+#DH?Z!#c919bw|)4Hi;%` zr?PcAP|r}ELFW1%a&05bG1N7?ldojlbrb{|LSyq6L^0!P29ed6|(&2Da9`)1KT zWQ0Y%P3v72aXYt7&qLo^xG&y0S4VC|wC(Sh6nT5z|I7&S9IF`YXfJp9!x4H!uwyZv zu!(7fy5%ySv-rBj5pN>>QiipCTh0;8JA4{V*q<)wUNP)LB)Q;t_x#~(VIX`o_}89% z^Z;I!ArL-Ue?L3<;s!8Sd;3;DLYm_0{mvdgx!~#n^O>_`R>etL&Wgbr<@fe#8ys7Y zE3JG#lKh8}uNGt2{92gB6R)R0xamztGdVXF+`lZ7*=Wa2rkAYfk$){AM7O269vTrx z8m1pj7lk<|pA)W=6xmRBI_`a4wdb4s;)-CHLN}$oKw^>MC^1C&jTJFuN&4 zhu1_A-@MRi)#9BoNL4q@$*3%QzC3x@a$`8+ z>(2`H6nJ)>tS`3?udK3O3QAW1ELT~2rer2w9RipeS9t_02w99V{hqd?U5CJhD=t zfaOWMKW+E2{-ux46?J*4+kwRlk$YXq4`~#w%hN6SNJ3n_l zxI6ByD9_RP{XOpv|Ho{$h1dsC%5YuF{t+wI@)2dVDED!l2b4KLsgL{+IOB82M4^*W zycq#MvOTeFA(Piw?M(6!-QH^s*sIe9T3l4MZ#R~bxiLiE(s6!3<371~HMl20PW&sc z)7|fp;2iJ#M6olm(AoR&7aATaomi2>xZeu;uraD77a$$3GvLUe)Gwr|N0=&XNB zwC7}~q_=vi&87tZ2XC7f9?oE;{y3ka1hF%2mFMlb5`l$X(=?dLgN9+>f?D8se_tC{} zJUzzjc~Y?=UfIKqgH~5{Kus5iotvNIn}}W@sIprJg8%JJHTN>U?0m(?^B-y$;6zVB z|HURU)-rU#b=n3klXR^XK`hEaN&YW2hQ}F2p$`);XF! zCpgX`b+7y|gNHz$6=gMmxec5HUxiB`r-i3m=tQwSNFgW8jkjXZ?-ev~vU?=X1u9c} zg6c4CK__%-jzp|dU9kdfcSAc>%ntF8KAqc7%gTsPpK3g`kR#U5bF%o>a**iRJqRY8 zAQn_{M%(x$Wiyc80CD=DDh=Pm<)3E|UTiXHGOxzD4B^?wp=vJ2nf)>V%p6qg1UC?Y zE3UmYR)`GC4bd^K7_!-q1h^K6_ILIvsDL06xR}*0s8iR5?utjpZxMr*0){#;uf}sd z4nrqVrMq&>%_}5?<`XzP;^oQ5_H^8t1&4{2P|q>0m3U4xzVgH4d}8Xu^d^O`qW$&Z8F(N|iT`gB^U91@a(=3y&*au`mJd0|hi z-?r!_cgYI^#@FE=sNH+cVXw&9 z`^t{5B%sonw|lPbS!%*ha@UjED@)-1kecm)vN{Yu_gV4q>0EKiYZo6GEy zIQqP%nthxqZ<}0wQ&G{4tMAxhXv2Dc!28XxHa8sqHfQkYkhe6riG2kP5K$eQ{F8sl zLNi!{Z;8@9>!)Z?R*o7;exXaQP(6Zeq8b}Gs*y+8P*fM>P@RW zxZKYvj40aSv61euvc}3>trb1v^v^oHTF6-PYEbp@d~Uq+ER`(x32>O=pYRR%7_)>Q zf#9ub^7c?kFB~Z9o}-bTsxxP87ONWq{7^aU$b#gxHZ-^?X`~1-(sfu3yj=)u|KsoA zr{(EqsNOp#X6x>ROiw{P$foKJpVa`_{LNr=5VxkEa$HMZtG{8ToTqb`W%U2B^_4+! z1mCwI1PC5Na0?LJ0*eIK;1&q(?!n#N7I$0R-CcsaOK{u8b#dLt?=P?3hc`9V)92pl z+aJ1WW^Q-SIcnx1+$Oo8%)xSyzHY0_Um8JSeqGCZ{KKN&&;Qra zOR8CdXNvR0Y<24N@i#m+>3y_OZA){20Leco;cgAY(xRj|n?*$cco!IA?oAzMgQn!3 zjL612v@ADyAKV>{b8_Z-(Ustn;W?FFN}YSFfAtTqrt#N3LH)3q#LF>C^pU-#4_o^Q z{`zgrK1M~o0C@PiA_<`ygrOdI`1ubwEogiTbdveDKB3Aq6eFt9lnYB%Yi6quDeK{3 zWtwqY3`@HsjMsAaVgu0wAInoX60sJ8E{noF;_kTIwV0L|`sXuRZjQe56JDc)Rv532 z;aHYRRl6>GAhlg8A2Ijy0iCi-i?c2no@a4Kr&tj@BSkly)Ycv30$`!*dL{U`zKW$ESiL_!S0-UI{_jH$ zVGT(cyi{_)(C^+#Ss6208?cIWdE@E#V~#_(lidX=NC%r?7P7QxjB^cFl&3B?^gjMD z2^6Xoyl6M1lYW(QQ~i6$W1^vh!N_w;47tK2Vu>N`St&)}a9isJ>ubEpfeNmXF?AQj z@?}U{z$@UTqqic2m*qFj3!fimD1NiZ?SC{>-vfx?x&;i~%(WHn6nQt`qFoiPs;{Bd z`!lx;D;@w63l2VvgUcl83%mQFC6DKS7nnwn1Bj%s)tJNdBFNbU#9;#GR={I57EsF{ z(CHl$a!%&Vx^bAPHK=g5Hru5?GA8KS8^3kvEj@%>k!JjgN}5+GQNFTVTE^G(VP<;0 zV{@_@Ltu%PtX{sadpAnM6S61cF)%1^RF9Vk_>m4M+ppkRQQl@8GV)n2)O7!$k6B8p zT%ERVgS}=apf%`>441A)j#>XY!u`Zlb31}c$u`+iU|2yBG*Nm|2g^u&~Oc?c~F@gJ@*ls@QXTZ}{P`ycv%?ltY zC{~o}kgZr??wl*@`Lk4-paxJ`6M27JGePLG>(Pd|J#h$bqd)%jUx|rT zZOCGy^wV;7@$TH#EhvI%hyU{cV!?V*my?9(ugHn?Zugez4ZvLE{m1Sd8^BX& z?5cPpvbth@oY0_*4UNI0z3A{jhFezBS?SZwD6=aGel;8~P}OD8pF?~z5UuC836nBn z=dK}Y@#{gjmJqAvVXN#J>`?cRyrwLoLAEA^{QM|MZd#<&@A%gmQo{{ajSZC%(K9%Z#(wZY>@^ecrFAmttaGC#WYiP0j*~lgHfK6}b zLfnZ4=^b#@_UB<)gYwN-IH7Vf;MJH=$|=7Oy*2Z^l`UH0(L2(8R2XwWOLHORxt3UC z=_EQLd3oaa5(BU_SN=Kk=6dq=>w;!;YVGd&*~a)dLEsY487D6n&-1!qd~Wwx>X&J@ zW^uNS^RuKp*Crz$Z5l_I_AF(|-KIakJ&t^$EJpL~QerXg?bo%}Nw+Z{ke(ChE=PsE z!30kODz>Qv}LemzN5g(|fu#O#0*e)pHod* z!{Qr;`+~lTL5|Y~zj&q!xAAR9r8NBaOD@OL%sBYaI-4tc@wRq=^*9ziVI%en8t+br*U$)#AONOx}tlP@grU0ML2?bvN z;*onjIPAbfAYEkiZiUdSo9DR=} zW93CRP6_q3?G0K(=2R}sTXu3-$uWq;m_*~8sEL4_X`V7xTkCs>Z@_VCE5>g5Se7@H zT{~qPK~9f~B&qh$AP9e9hhWUebN#h9S%C*?&exlJ>9o|x8}S~i7OcbABQg3B_#$cT?CPlN zK@*c-#AR#x94>)=bSbNn+#qtj5KGzX@l4+8pvOw*)T(xjb8NcijC5Q=^hqh$IA%p< zLxO$%3Bjy`vcmBeOf#6po(z{jza{lP^l_;_lx_&C2wuu`DZ~g7v3RM3zu9*HJ4#!v z`1G6vMpvyQ{jtFpx9j9OXzQH&l*}K5UPAMjO}u`Y*yt;Fr@PmL0YoHahiY|ZhY(j~ zHpZRso!XupDU4#wZ;vX~-+M$&$O{OYwr_WO<)I(!M?dl*#2lKre|*TrWx5Nrg;jPm z!+ad8x$OR7AJXa-c<~%maJv#0?i^jLXo!-U5fTkqJuL!GdBrYO&XE<7{uNr}Cv$6a zlLI?Gjab96o4YPLg!&sA%AH;^jN0P3u$G@Vy-M+kXM=sq4rb}{oJXdO*12(00tS}m z{}fV)l?^aRyv{#yv_F^EbwSRS2nJ09UB7}^W%snw=_@$yyXj}MW-0kkSwF(oXNo!* z>%EG*FoQCR-(3^`2)4j9+qdi#gd5_Lx~x$nFhplbxm!R1vvM&Fy041O^vSoAwEXT?Z;-6A&$c2Pn`R=V_h!@bHXSpKI@O0XQaiuQ z6VFAPLfcnE3Z$~Qc4mc+d7szD!TI{TF)q9NLeQdpPA(SDU4VIBGdCv-k)CIX?U3?7 z&qCf}JY$?NTS70Pmgt2k3bH(}Jte*Es{D*;UV)C4w|l_$o8wjE&*T&Z=WgRcn|RxNKhofGgI~R1KYzGCLxqcs|Ue4mtwPTz1Du( zP6lI;{UD}MyBT-JmCF+pQ@7?b4S(q(Y+v5%%QZ<2^SOr`Rh@gtPuC3QeiAix--~(g zH4G71NQ6^Fm4G!b?E{Tly8fJ)2b7v5866-pFjP1~h>x_&rXPmjZLy;kyoG$D@nQVj zGo|yMI%d*}r+;!@@7vRo)6!yc9yUEz7RJ5kfL^+e4|7{FMn+!46Yb25bLEiHvv7eV z9fqm;pInMGM{;l62U)@|hq64OD2Ifa(w-IU41J?bk6Q2*{)_I5_*R)5f76ZSnwaZM z)$1$9D!CUE76mJOBY(#+*NJJdYRZ1*3g;aF7`Cd@sfJe?W}MLSjtN7FABfz`pR+oY z1-_ESV~$CH^P#K{1<&PPngR@C;Li^oUcz0BdU4gGOAv>Lv}bJ}a#^wi-O~@eGxBu_r(bv%{ur9Aa=R$=E=|^Zy8zl#)>qGr?i$bQ-^2=P$QsC+ zvum>JvYWDNvm5mq_3HJSH*31bat4n%I@=9mgqm-MLty$>=<0ua40|j8%J zbV*{>durXtZUS!dZsKq18s|L*G)*h( zRJHUpttzT3sw-_PoEJT;0vktGtZizWG*&BZD|HtC9EUltJ#IV}f5oCA4Eqq*|Ld?9woxMg3WJjrNuC3_B)_ZA%%@AoK+* z+tD`n%;LV#iZrrqKmR9U&LVQjU7;HnjvC650Q@NcNsUl*i)O32?KNupy_&!72Cy9Y z$d}6`e=tP}sS^R3O+h)`Ty~viyiP{4z<3PY+qmIsvhdo|$cmW1sMz@*W~T`JM{SCESYM zie6W|l)R|X*Jn4U%*fn2Ji&YPy=J_yGBtB8^B#D6Hg{&I=2e>J7K-eSzYC-T&~Fb< zIB{uG;m=wz^lElcZQ!2!v2`+R;E{#J4AAT-U#8t_d%;OJYI@NvhE?}3?GV+fR^So! zi`Pn7<7x@@xrBG-X>%q#$d0v*p4AnfFg=X|z-c+wW`RvQ6f8-OU~O)_|0CF7a9BEhiN1)5~=kCx|V#vHStB(^7cn56y>YZ7Vp}4W5!`#<>IEURQBS!UD0S zd@3Z(JiEtHno3=!t0#?Jd@8q&EVGA-K;;BS>*Lx?6OdiacD(H~OXgF0&Df7HWq3!9 zJ8z(M8DuM28y4Xzu(IgcEF^Q>PSvGx`RCoo!Hadm*lAay zp1xMc=c!XgrSnSX{ae~}oW;$ZWgi+7UrwTd`U~H1j zPOA!l)s=IisoKNfH=ZkCI4Rdx@=P^rgos|i&6x2d} zycK4?izcjHIp8HnvL$f#{u9b1vXA!dP6=~%WNb1nt+Rl${?;sp0ocZV}8-8SrDpKd&O^4&3lk zP1>btK?RmL8O-N%3!gi~ZmuW1t+T*(mNWfj%TKh`6Ln$A^%xa1$KJ+u!jT+>i`VMP z1;qMd%GYVkvW*;&1#gC^Mg)mK;Lj8F7}6C?_7=>!y&v@wC4kLo1g6+P+fbKG?%ZlQhS)jEj+9kE4*ckp_fm6*=~(nM zj6sfdV*uiLWCEgR(_X58g@h?iXSrK^%Q0ht_DFX13Ei^TVQAUr)*A>8ixy7ATruyu z_8gh2ql?sQy-?a02O7Q*Ow|2`*X>N~;gvJH;66UgaV@oGNf;#likGNnWwq=# zMvya~UiGo(MpkhLuEkJDZ|c1qX&6JYbL)>q$WHE~Q6v8EIO!K8Iry4HvVr1W zm@7tf%)-@Mb-5(XxwHpEMv_7jq!OP!pdaoNDx@wNZ&T51+%Yx;%=sldb2(UYqo*^o z^W~>O*~OF7IeIzF(|LLYRnrA}d4Hyh^oq`=OH!0D%@?W_70egMO7NVjROZnZ;h&)~2 zy*$3Icw^XEF|Tyg&X_u}IJ2iKRweoVo|thd%3H#nX4e<-r2jze^p14=!|jxa9<6wG zduC%!B#^Yg-WwE$*pQI(E&3HenCgLiFiX3&WCEP=XH8lrwJE{7i!jLKA*r2v$?tc( zEJX8CIhID(@R?Ds)S>WjX1t?)&#CGJ=UIzDZpHTxHoxe|A<|i#Rz9qaplx+GJHJKY zcxam)v*N*$@l?|_2~fjbTIp;cjyGnO!<)TOIqY5~@4REyU#3AR46kx(HY@#ZhnH7) zqZ4GS+CkC{ujzvLl@;E7@&h0JM*Z9Kj-SA(`z?XkNP+)zwoY(*zTuHM)5#*zDYCx) z?vS*^Mxke=Q{qWErmSH9;QnlV7kn~LFdK!@Ht1I@4<|^1smlZR?D%=Cio?;&@9Y*S zcyaa*hWYNhX=8qm)y)&enV6SIxsyoyC}ZtudB;WuDaV7{gA5W4P#ek}+L_)5>5A>e z8O&P0IkSYxy<%pxnBbg$%zTsL2RIG1Vj8IU@MeT)Y2h7j4@>RY*3bY)TR~>7-qW2T z=4>tMm&RYzW-s#X8q{W4;zRaVcJ}K7yAi1eKF%L>CR!B4)utOA<~&(jD3yWi!;-8m z`9k3<=}r82ssG02+rH$^1vt^~{0^8EEAr#~Mi?%h)5}eP^rf}b9HlIS!GTU19L^Vk zE3lo9NTCN-2AY#=DpugL3{viWVD;bWAJ{RBz!St4%>Q7Y-xBwEAbTL2PHK(jEZ_Jt z%q>VsER7aE%W1G6k50edq;|7Mk6zB6O3)%b^<7z-`iP~p%#X<*$?dDz`FhRBgiEuU zAepE@9TQK2Uv&L(aVv}d1F8-C5y(d6)Xyo+jFZh*0aeK*jgGBV*l%O)lm?i9DDIjU zIGkG-+-*#*C3I=2wJ|kR-c@aIlq`NOm788Co>$80I6EDNo~_ULTFKhkO6*p9HNPuJ z5K&a2afUb?-k*`sufteUPUG_48%YL8NW9O_i%y;oxttG9JvMxy>}>1gkR^Ot<-qu? zr9AaR^r9rm^|l_}sPyWz=?mc^GxN~a?M{&vHNQ);l>^3>4UsP)$_+aQH$_BT#(rWcbX&^n{9X>l{pPi@Vx~7d{*9Nt>9=iO4MYjQ)h`V z?WB#n$@{Pv`B{TS+Mts*oND;@V!#J0;gJdisl@>6#eh8ZD=FhFnrLSb{-V2~#(ua# z7EQ7<=)jz)91Q6)8~F;RVyc~-q$((IHXurV^ELdUqyWhSgKlF_QNF`2MFdM3yj zXuZhlpguILPm)h}jL%(R#GZ6F@A_u%K{=LHph_{x!hITBjZ>ZL9q`vApy z_}Cch8|Ryw{FY?lH^#?|4V5-}i3kYWfD@onmJBd@nDi-F8A@l#lAWxejPwBX3gH=mm|`wX6xB~dvU z@34rJQbL@#-p<9qc0k9JiQApN+nupnjPZZUJ43fSQ-&4+w3}aOH&+Bl-ULT4_(x{n z=br%co^10|#wD2gCD{XtWIc+4k+}l#xdO4dKGdS#UqxRSLmrpWZiLZpX3%c_qTLw0 zwZ}iA#6J?nKidC3AIdf#3YeDw%n!ZQ-%7WfjpW>o=v>f{qV1GoGyV|?{*j0PJsE^x zVd$Lmx@7GgO0}ggp>GTrRKq3?1XQDHkn*0GC9qZEH@%c<<47XaFPSn;~;%2N~12kHZWOltom24EtrdTO0yN0N`rVZe0}OoFz(dxH13O4Oq~Sfp8M@X z822D)Wa{q8Wf=EgP*`fh3F;@uI&T8Q$+~^YNtN51kF5h;=;Yn?wn#q5t&ndZ75N!l z(w^7-)0Eg-6HhwGYW2Udi|4Wz!k>`)ert#`vNGh9w_E zB8*G^p(W9VNVAI;!iiFan_Jsh@k9*iFDCcVYz0eH_IpZz<=@%KCriNsV zv7cBM8DzcHCfF;m=W6OxL!$HvU6|);uw?sq-eL@}GiF<;TNN2hq=rD=x_S%4Jy(MZ znyF2e?emiD(*)c=S=W!ooyt+?Dyw9h8H=>mQ~w|rsmEKWxE85!&XtkM7Urc&{{(m+ zja-+)%@yMpDb&hl@1zP0I4VePfntaG$-_NGSk90~*07aYXs-7_v7`LCn0GlN!Mh+pD-HV&D0YB9*PiMzv5!BO?k-5XNVawjJO00#PKSDmY)U86 zrFe>bz6;t|!+x|=IM51bgE){$?g&h0JPDDV!Fx0OD$+iKmjb?c?WkLIhz8{ z`&u@ZL=z^jrwi1Jr1%NW9n+|tO|=!SV~i!36R13m>%LGXETpg}kN(IS{E;>JBkS*v z^;mnJ1p79uT_@aKC!@hbYT(>5aPDwC#Sy>0K8;O|xOj`DqW_*6;hTZSBcuNTHbt5ET|Jl3*NU2dX3Wk&|wBwms0 zb(wS@p=n-DTA<0WNRfSG$lv&xs2?%N`U_EM)W2_>+wS%MWNij;YY{fr>6?^1Yh_ME z?saSNd|GLd6l|$8;Ig460wCVe=!3K@6SI3A6SW}Mx8Lb(JV!xW#hoU$!-(D{diQ3- zfURu0sUSf~jDQ0BCO)FNA#Nx!pB@DZoJ7}e-G~N9FfrfM+tTv!6~ybFs_p|@&jQr4 zN{=;ylqckFPtW+l+tPXs}=#DAkvy3!1oh zV%?qlI9Tk6pUrIG#S?mYs6AL5C;P_Bttw|y(Uw?i$!@gZ4pd2DRn6*CcNQ>Oz#lBD z1*#a~mk+Y3>h!8}MAsg94VKxznFz|6^(zRc)Kz-aIs9uaDU24_2g^o)DtK(Fat0M` zVYQZ@ja1-_7Muplq<|`O1lf5633>ls-!@bBqa1w|_(G=SdKq{B(YBFE6@IWd8pt1T z`L;;r^!d1-r+*$F;AcNz`W$BX9EQ8v&sng}+@uV=SM`#qH7x!oWfsnFh>4E#G~jc@ zh!F-q|C9I&5}iEp=TKT*V%$(VVPY%^S~+4IiMN>u>>*kyV!WZ!(0h3=3I2i20l@~U z)O(Opzu82Bb`EKA ze>Jf&^XWarI=BNXAP~+wDycRn+MW&LH$azq%O+3u!>Me%R8GqX8^Ja2&!Pa!q7in* zO{cWz9|Uah_{)l%AF9ko#bYz-jd5!#Ypu~=|F{AAdZccm@tnf z&|LWq2^_+Q&UDhI+pJD*bs3N0)*-n4lv$1s8CI>s*=dfmiEYZVMqgv_D& zdWQl8R1(8j=2Gi`d`K%)yJ26F`}2!SA~AwIhi3HPl{=J=FPnv&a)j04jf$ayIP!iM z{G*?YWoS;rAt2Ll5kyO~;~t+Gv_Im&hMuep{zCYTB@s{LaVgm?5Ig`iuV_kx&QKo3aw0Ig-`EsnYTN3_s9sK=XYOkT6Z~A-=Vd6aJ1WSR$rpXZq*fc~ z25krd9+D!Bkt;|y+cGcO)}i382SgUiy)@5#VczNt-I*m|5^XWvhW0@oA5 zMw5I}ywgF-Y9=6hI%t1%xAi?yX}(*3ahe%WDkh`7>D#h!^TaM^n&ceOZ*8sCgEUDS z(X|xYaHYc^O$3`#egbFfNy;%1S%32dS*Itn)LUQwO^$+$n^cF{p2T9i89jn%w%&6x z%($85{y95sk)70-MoC^^F`=aboJ*N*B=mOBB)LyX?(rXvd(Nib6#&jhzF(cC-x;%= zTl9CB;a`Cm_xPjI?$`}B5+*xnGTap~u0TcOo(`#Z>?RutgB|-6d;H7ep3H_DbBXR# zihKNlX?Oi^vGq3qLGDxBrv3Nm~A z`Kfo{xBezOigB(;C6Y&sHg=6R=78=~c6bR%o8|dpOX1W56 zj5|-7R?S7X%6sndtfw7c>sQUCw8|^&@pPshXHIGF8@|=v%m!6PtV>wq&W~(MhdtWG zWR6*Y)Z=TjDnNAWB>ogKh9&s@gC1pXdZVCtrmna^Cr!-Uu#7t*t% za$g+NlgBL{0mT*rnWn^!>67CYgKWizz>Lo2wsvW&o-aMt9k1UG*1N)14oZt}6XxPe z_p|CL5O~IA{0Bm^``!;1=v_>bK+$n@M0idKPIB;jPJhM^@jv=qKI(^li%yZNNtmcx zw&s-oI1+E|Q+w^JvL0_D;&PY${MrqJ)%(V5Xo^P&^BjH~qv=7s!NKg*G*#bpVRo)eNUn^aXvzbc z&K{c+9qZfq1#6pfF*r!C)@HY{zteQL3^UHNN~i0=1IlFW>G3s|U*RL^4Bh&ZBNX|ioI(qvx)!SoI!meN=A!ThYV z%N+X=_!Sad~}8)?*3SB z{uMR67>)}wtP8PbpQOrJjQ(o5K$+*9o1#drrp(`I_)w&>mO|j2Hls%H!kjOte@z2? z&75&1c(fo%lnY=lPa6XyK+2;!>*S#=(}P#iC={1+gz>9wUe7l5b# zzy?Tae2onh=sS>Es?w>?^bMX#0D=s!k$|tMGudp9sN$QQF6$9i51RlU+0v2zlHrok zlDkKyB^&l&0=e&+edd(;6F_MQ8LJD|}dzCC*uCo|Z$rz{4*A?#rQsY+|G{nuAiqm}8G;K(k(a313*fa+99e9bS zd~b`NvBKAxIzR`W8DE=<3yvO;WYk9O{dd3k-T^aHtd9ud*=E<}KvI)y74gFaMeZgd zNVS5$MPheI`k-piOZOc?Dpko;(EEBH7{e&Q(r{i@ywby)gSf`FXORHrJU>_hsV?Z) zrUAk}jIX>}9Ux_^JeHTfR2MCFM}&N`8Vz%J31c5qoT`?P@e1=wT>FU;KQx>GCV=vB z2axs=f#sk^PyiI;f#0P?|N0^0jYUCHf#A?J>KdJr-=d)UZK6Z`F#;r#6}L!qNFx3i z4RUY8uIHAD8G$WFomJ_v*qNf;N9`CH`v7isUj4;28;8r=|5=q6TYqmRR)8A zUv^cm)y6xnUe$kys|H9XK{_==w>9TnhLiV3WY_JmJ=PATPu15H9Ut`kt9zHWK6;Vp zhS>J}x_zMu>wF{DQCpgJ$d7lMk`uAlXyS<_lNM zc2X5g(4~-ld&{GRl!`T&bJwyeCR@LZ>!sgobf;m>)P3PG{vy#WrBlr^%|R_3Rm z5A(us)Iv1le%v*mssgMOH=6n;E?8TTNCRT}%(hT3OiuFEw%ZR3$iDG44Z?HP&&!bN zmtqQxDhaL)&c2J*OGn(MWJLe#&4^9}vE>@w%uSJ?GlTqE)NrqWV~BB>8qL41hyFlR zcTZGOC2b;rG!sEw@gc5+5LW_-D-q-lAJT1}=(|V@%l!2!BmU407!|Zl^!-Z|@9s;9l z{})+_zq(NRhQ_^Vb8Omx1tglc`)=M zZgs|~>DWEv`xK?RX4A0alfQXO)Y!dR^710?d&>1j^7HHX31&Fbu|AD+htJe9FpYzW z&(yj;jqrwA2c{9;P}@5G@f&Izz(0ON?d$ksZ>W6$f9wr)tmBuzp^gFk@;B7Ejvx7k zItTD0-%wM|&r=g0wp-jatA-uj{H8m?#ucwRS0{y6g%-poGy!7v`$VT@v_>Ra%%m!#OEC%CLz}6sE z-%?}U-qimw|F_BG^naZx-}gQbYX6V>+T~d=kd@f=2sTY90eY7`bjN5EWglzjC1^N> zB*?u}ad{G!eV~By_j1m!yF2sbfhF5=di)HuB)&4lud*)+=7E0a7Q@&z_e|syCzU{c zC4wSDrHDPVDHP%r^7(v|y`sH9d_O_dQ?cDtdf%qv_lHx4H)qU1Ibc|9Cb=L5O!77S z8SsDytp;xnb3+-RR!}17IoK5}I1HoMANlz1LLZUgUk?Ub$q9jg?gb@VDEWKV{{1fn zxro2oND0Yf)Ys7}r=!Cv1^0`w+j8+9KXsZ#d5(?-piVs-Ji|AkDpULs+xk%IUmVvw zH^S%^QdqwY2%?nuOAW`w-RNZSj(qDtGZ0s2iJn-0du_Yb{d&p9g9)+#)Z_jcW; zcR=S_&!ladd#!$_-rMv#BlSO+pk3Qvlk3($J-MP~Fjn(ZgpjEyq>sGC0-R}cF?Lgk zqf0R#2S{%tSrR@H_iZjbF9Qy{c_WPCb?1;{$P4dOF$lW9{A2k^Op*~!qSc&HVxH9L zw*sT;PrxUZn9nie%H_ZO+7wX52GP)xH6P&*+s$f<1%=lD>?>~hv~Cp6EAh`qg4q`SnUW2-4qyaI`-hKB8-a!`~9T*F=~u=86&`Ry(Dian1# zk5dLef!QBCq0|pZVv)_m8c?HtVDpH=$keB8Utu4q4PoBfW-ve06N&_tV3Xy=lhucV zW70yR&GAR&+X{Ral!KD@DfHWKQAA5}RP@+DYFZK024Q6CUgHD5(rE<#@90H+vMp$) zeecGD-M@!%UK*;yTWyQlktF0FUSn{b`0xa+vr6c19`ZYXY`2Pj&Du~4t?}IbnA#P% zOALBntWeHP9dWU2yWzODN90K&7%leM^Tgm6ip)bFCsD)Ww~T_nx(ZW_7A$X}nctZS zp@gwm`O{>75o~3RMgPz=d<>83F&kPK7b@=6wbTv6QEx;cg1dM;)_WL@?Sq3OsJT{l zyM0RkqKUA{|L)vJRV9vY=*5nN|JzLsUJ#WR$zaNogrJnb#gK86xv!EURHeL+3{vVWADof|Ml`C?9=&@6K+22UR4`g&qMsq7*ck-a{b zE4+QX?hESrWi_z8`_q1!kiAyp4`P<(M#PhM*iL|V6uTtN2;&E^y-!?HAZLJ&x)t)n zy$WDbWPuBUkG}DgIO^Byo_-=BA+QQPL>mRtDdsbd5a+A7hfOEBQ{bu>m?|PuGea>g|u^fVA zTYr~ND`npfoNe$Nwo1XUo%-V;IqEX*EMb!;R|c=r6t28yfE0=TM8f&bSMz$SbpHE^ zx8eEz`D;f3uI-g{Ghfi!ZJx1()vf_|)}4n=S+)CU0#9+thk%mGpNOkE@iMboHuY0H zvasKJ-W`X+BipOKF_<1FH{PGYg?&vR)og67-Su|Y3@6yW7ZRSaO_SesOT+h?p5)4< z9{V~USC6}BQqryOEw=$vxNgsvL-jW|H@qb^_|?B=>T2;Q_%OQsE_?e3((hU>-+yp@ zGz_G-67~;l^Vkgzec=V-J^c#Ng|`aAo7nm3dV=4XH`lV$QeLxUe#l2J+M?J80*OT7 z3Nhv2(JBgyAmlF{To^QPzcWW*uk7+U*JW1_R|qae`|jf5BE^5X>*o)8-uL1tVWo?} z`4p= z&HSJKJrL2d;fec*`uydWuntpkX8E)^99M@u1;%z?^|P$=a8K!@vn$Bo9hXv6z>5a4 z5c7j77hPCQA(}R@{l?wDwTfrc3kVR@%C;;_qu!*y?OBB z?^>=}dhdlt3h{|irCcwRI6u9HH>GMIfB3jaC6+g>B!II`jH`#UU(;$bN#1tS@vZHH zZe43-hw){a+sFyhq`~cKi)M5^wxuOVtuR4OswT4LO}ZRIl3h-8FHyIb!PC?(nb`0?`=Ce$mozH=L~`JMw$Q*2B- zQ)cd)zta~-GlnF}&1&Mm3P;PMaeySs;eS*~loHXIRmA17)#m^+6=~N}iCm@9`-QnA zN|dhX8rWQtvM-cqz>Ncv`%kq2mtX2uzNyw#CayD*uV}iS+sD!CQ3)2+JoG2pX3%x> zGYq|Xz!ucG+?`hMy9dZ{v3?vkyEeW*A_*HBiSy*he-yOvh|&LPuD=NBkZ2 z4!tow|8H((rH$PZr+H&zH1BFoB@+|#l(NNmN}^IjLqmUYO1qqwXGLa^aqFUR-oYS3 z=zHlF%JE>i`bvE!hRUxE7>yS}V3gpkaH^!OaA|TiIzuI=Wa(=nX~*sBRuq(L?#jgS zMCqfYyRB zvEq>l`O>VwT$?Ab8s8gEd|JYHdV_!xa&Z{U_ZLagp5k+C{T{%bF*{HmX zH^m0L8Mhp%#3Y`gX2K=bx0$}%#e6qvsSTUB$m4^-Ci;{NuQm-{^@mvs{t9-LT{ zHO*V`O=4r4%YJB@TFhQFrc_cu>y|FuJV54zIDNgPAc^*ja_pF| z)wF<@ze0Ap!{-NgyyItd~lm#_;#*@3!>CTD){q9_f;Fq4pm=m(8mD*!9>q z^8K4}l+nc&|35bJ01S_~?uDO{s<1S^f9=-#`UKv#lELNiBV~3d>35j6t5e?F3T!`o zMn;ol4%+|yQ)k?BfO+}s;cd8v)$r$z#BJL9hI)5$R`m@31Ve9t_$pJ_p2lA6fI2K^bW}V41Zx9@7>xZ{9UCKw=_K;;1$wtbL z$z||Qe5vybPK1L6L*HTjCa1m-dC{IdZoc=rE&2=OXCCa29{KJ*J(&>ghy#Xjo6)J! zQ}9k@m3?L4`oe&7bA9M&oyhh_mGd|K6FC36@QBWQGG0(^*{-TCmrjA+=C=@$KPzjm zyW-!+BB2b0y-M1;5-R|kv<>A_h+$-=&Dd~$8=-y+Yk%o+6KaEdvoVy9d%^V3b(Mnsi+@y%7nj{RPg3uR%5Y5^g91eP` zpR#mxO57;mh-=7{#m~o>&|jXqUw?QMUyzhM7&FHKFMieJiHjjCDN4z2uO8)K=`?Z9 zhjfXPvSuBLeGHE?mxV6flY~1-Czq841b9SI(AJr=g|qpzh~osPsKjSV(-7YS=x{6R zGEVbuOv}yppE+YB0LZ)u3CJH}rfl!Vog!Q^808^e7%D{N@2e|v z5ZSbKymCEq1MD)0CUPHD)?8zV^0)q!vY5pKDUyq8e`7E~DALOxtAg@&Ud@G8ZX5g7 zEWS>0zh_jB?j_}@oA)SLKIi}mS?=+1M?X_dh!_HkLr7Fa3k|7X|Aj`2Pd0NgR>Q=` zx9p#!`tG5uMZ_j-#&M%fv4 zoSi0;JR4x8iDMYGAu;CEh>(lQ#WBZCu5K2YTrq$snpV_NNI(kNSpM;R6qBUvT<9{! z`c`htnp?Q)U-m3k=m5mU)I-iOf}r!*g*j<&c_7Af&m_?S#eFT~JpSz5yN2pXHQ*pWNTjxqm zu~n?%E$UmO<7vkt_NTYFH56yIxOM4%<6p@G&T>Cee9NgQ$Vig{ATVXHL&%e4BZx2L zzX_H~OAWr~n@7iMG0&wus*dDFUC7m@w$A$1U1$Y;R{AJD+o?dW?^Y>T2xQ+Jtt8vo^H?d^ftN1G{()54iZd}Q+}cQw3ULrtN<`XcNp192CQ&DY zT2I4JwITfSc7uvr6jp4etAu%|?^G230+MpF!=Da!+uo#Z^W4abqUz`CrbQ5PgOL#z z>Yr%|k9N;brweYyB~qQ*5~6KaIwQw+sUv z7Jn8%OlOXM@%@@o!qfwk4+MrHp<=#gX*U5iSA3p6rZG*-G#pCn<^Da@u%G< z>YX&vAB2MNl<6VQRajqK{}&q}!q$9a`+Ic}u|y!{nUtZ9vndVBHM%wlqaN=NbH>)7 zpq=R}=q3D&gFiRi=0=J3d+|H~a#I!(rpfIvQ1x3)XwAXdXR;t@fmy@lAHNN-dZ7fs zx0Vu~0G3p1Eou|j`E`5ul=9&2n=t#uMsuYf6}`jcC!>ODtF{V9d70d;ii)hqM$tkM zeL;@e9dYA1TyUQa!2;2b4{Wls=2>YDe>IioEKnZTHv-V|x~V@)KAsG`X**GWD5qvl zuRGqO%Xl^AFx!bhEo!FUc-t0PLA?-9zb^_>AJnj3&CHzNRCN65`a=1nCeYA?o`-Fe zQz+e-C-g)W8Ku<9f<>+oN1InOG&Grs2&5z}+iSXX&sUwg5E z(h_9{r2Gq^3uWP|8b0mj4q)S_h>%ZkV<-A{xtMu92^`l+}AM=9W z`TQRMNkF#0YNDRg8F>oFU!_uQ^mNOp0ZLW#=$JF><|cEZWN?k?Yie_H&ghiN=6Kp1dPj%!%?pWH{+Pqw}MN9qpnk#x59zAf?{i|CbHYo;5asrEkFns4^u8rO) z2v!gaP4PIjO)fsJ=r%TKN1G^u-|r}g6m(Lk3bvR{yoEOnm@RIz#blm4Dl?cncxd1uh@el*Wt3Y5W&V685|Q<>r8Fd;KM2i88fZTt3Z&$0e$BD*;&oMy4A=5iHpwQ@Aj!kNuB zp~E)Yw$!%AX5xlO*)(LKMosW68a5TQYSD5la+j=ulbE||ZI=yqZ| zXJI_q|3!i

    3b}r)*L1r{xb|Ny!ZL$dB1Plz0g7Su}|h^K3ejq5Q!d`EN0#+MH>C zHZx}#o|AzI!^bo5)VWcHAjXXR2A;z4Od|mO<%TM6W6hA_je0r3TjQ-URnL`Lm}AeI zC^a<)%1uLAbW#RQRtuq~K?gPYKs}xMj8$i9f`OIMf1LV3MT_l7_y(L5y_&efz; zDHMros4vBUE!>bvsJ@0Oe`44+7Ut7qi;MX~+)2_+2Fb_E*Y)syLra~IM+2c8f>1eE z?kLYL^W_D~g6IOSe@L8N4b|mVh_*uO{ORSH{WH0lPKCsv9P5uQi~TtEPRtye*yEi& zZ|OX49!hS5QU|l^me#GS`&HdYow=@&G^tJHrv4_A&_vyW;+e{Z!r4OMM5R#3;pejj z7DqZ=shp{xh%xBHPn8M+Au5FGL^@*`rvZE#jbV)1BBMqs^Dr;`O6PKhI3E{e=Y)C9t}*?8#kyvvxju#o|Xc zbw(%7Il^&nZ@e+=5Ce5lXDlo`qtPjgCKcyTO?&La$9<|ZH!x+&n(4Lq1w;LFcU_Tn zSe6LR!Zn}VwC+>u+lyD-y=3}^Sv5BbQTcTfD&MNArj*C5_lJn&n`leWI}W~5-i|{d zSQT*-cS;5#t1{=7Q}TT>Ph_wYkkJ&H<&xblId&J?bvT{^K2(ZUch&)lBkJHnj;!Nh z2d_B5WCe%SZJi}J+=AoV?h!ZV7O3P3QI`-5^qF|xw%I=Wy1zNL}EUA6cY%1zv4f>?|qqiUQ<4fIy#OPOOjgW=)eL3YO#^$ zV)l?@_+3ZH{_#w2*VN>JL}yoTX7~}aI~Y}usgaO7H7lK-m0JJRCm-nRd*I2huIKzp zbN8HvhB@8MsHyr#e#dR%zQTA_iVhRw$g^l z`HfAT>-rn|JM)kJLaXujUfI`m)vUfLY60lDG}Kbi_-?gtM^ocx0m0RlC>EQfsch|#A&V3R@FU^ zVHRjD951l?j!L>7IKAMl(UAbRefn=(m)tz7zOOYUG{ok$rg~app4_a~L~C8lk&SPa zU;6x&`zm>d<}~lt{Qj0JCgtZ&N(y$_vdbOQ<&yIHY2-D1T77dlV(E3zN;QhkP^ZM&Kxue_^k3Z`p9|7B!*3H`>?Sx43S7 zYwMP}1$STFz6aojtFK!R+z%GsGQZwx=l({t)?9fD!NQWf$u|Rk99iM?EDeRz~eL!QKZOa{Pn}B;a9*j{BJOud+x&@ z9s1OVN3RuQb1;aGR?g1OFPi)Mt)N(=R!%^`v);&zC7%554-fx@_5W|UU9A77l#}t8)UES&Yjvy|_+Ia}l*6IL$&6Ttw+l05?E-u8 zGCGIf%bq)~8{DG`u%)P7tOBWEz{js!?$7t-gVpk(@Xke-?^)Q?x@1pZ)9g|;%Eer6 z^0u|bxs&1?|LfsT+XMN{`*y!J0G+ViDvejgqo}TxYG(dx=>_2pfo?Mq)2sehD8p4Zi<7>Xs@)_M%#hR-+Go`|ze=RQT z%EZ0fv|xKD95wj!alD?J94TL`XtE~RMMp}+il`!Y)B$!!$iayY$1GWM%NnX~r{>l; z-b}EtorDN?lo^1EIcnyJ**r^gyES}!6)yIK3}x(r2m2g$$~-`3&nE^f-&m z-}J%1dP-e=sY8b*?`U~p+MToKK0GZkd-nA3@DH)K{!rdO@rpyUd%n8K;6oJoU?!om zgILYo{8o#JGtU4)_p{zRryfWC;(#b>Ty(hU&@H!Mr+tU@*(7wRda!H_`qN^RB)XGs zQR}XwW@8$Atj_+Z3TiN5u1VI`a7n=&2-p*XCa8j)6FGO3KESX8U3>;$D0asvL(ZNE zyj3W?Rq>xVnMKz^)!hrkA_J0G@Se9OX~$5fT zb#hI%-YJUwL6hB~iQIGX;HWNp;Ol45ssu4}qVp_lUhGw>!x-DB(g>~-^H254z$N8sJ z+k7vO>#ooCklzhl(3pw7AqXFvpW==e}~?&Ry$%#(h>4 z_Hyt_{iLe2&&GJwZSblLg#H;mrlu}zH7A;TYGRkKyR1Q)a?R!Sf1ah&x6Gg5 za0gU@-^d5*%XLD_!rlGv=kGq`ua6|i%JO8%Vzh^3+TC^D*RZvw$T!JLng^+)ShmAT^poXe1us%3RV{9~zczmBqjl6!-KJCiX*0?V_RJ^WP3rY3!XI;j9W!;wPi-N(f>9f;`-p+~s^F}|t zRNqp}vhhV@SP|@}CURxD=w0X8df z(QNKab8lh!hwQ3T*r|mGy9Y5h2X%;*WXc{Jg0M-S8ABbx3l^@A_Qd%k9n5Bb>-<}& zXQ}MtUkf+qJBPl*J-7G#8(e;`F^~5y+8)ng|4%Asv~DLok#lRHBQQJgbl__NQ!D^h zR7ZX%r*Tvf;V5Iuz)(IFV~m;U*hj5nM55>?nS-U%ujz>&a>aAu(zHW~-fQLB>8mEg z)5A;ZCRVGxSHQ=I2PUtcUc+!2+w=<7!%IG0Ug30kyqZ^$9gS$5fNm(zRfBX-ViUh0Lc7hd$f=H+U=3%qN+yd4=6j0R@~yzW52yUPQMJkaZb zS`QrcyzSvud!X9`4IT)1!0v&KDY!DVI>pUQy_Wj76kkk1A_cA#KngsmXsXZYaXUQ= z6qu>Nhyrgb@R|Y(l(hIEk?pkCCyc;tdjVBxI# zguXSI=0>}ji%V7Ugz5xlAjj+!I11s#6ouNL$zzJzdl#o zI<#lvQ^OBEzU+I~T=TtUkHhMxChi&9T5P)h`qg7H{~-3ihx~o{R*?gzCU|6`fZ~x= zo21$tXf)bXt3?wu1?>P$aFC-aT&aRhh1UdFAfR~-Dq23XY^vL4Q#F^{BYQXpwI#8W zYy@7DVSx-58LckaBhPXWx5Gg^J|FWhY?Ru(9yThdv0)R0F~`3{XY}!`YG`iIXG`et zFzm+B4E?x5^x;8?f?w!Lr%K$gs?dVui@vrZPi@GvRXq)IHk-D6p?*u>kG`_+BVTyy zijDCJH%@Vu`#N0%Usws3zxn3yGuOS)LD=2Zxx0`@D!HaS*@QzTMR)-{0hym=vbs%H zr^(ta64@aV5!)xa9ipgvPnzB$(P}jbf{8x#g-H@K3u((xbjFrv`PK8^M==nndAx)! zqcJRA)S1|TBC7Js>t@A1SK8ivsC!50x!4RiIPH$U_20c__;+Bv=G6MWJI3Y|yP2=i zRZg0TY%|;BS;XunW|`=5V3%TZ5~WY&Y!+14s7DJOY^vutojQEqoG$27h%NdY1Xqg9 zU$Qs_%g_HPJTQMzX82pE$fn2F?)=E44_Au2_S~5JFssADk!i4&R}dT0WjANGDYmGM z6Ziq^R>3sS!p$QjcaGUdYo&u@eP0w|BY_ zI9BlI3OO9%1wREqYsQ*!6}j}T+i&0X?Hgdpc37Iclj?A;OwRLBEE_7@=zP5i*+kcNo}r6r z0>}Jk0>_ZaK5J&(9o?VgqaUBVpV?i>k$;DuabY5(rLwqOs^$lDOLBWrDMpKr7I~pQ z){t)~H}DP8K-G?d$y%LHKq8^g{Xk@%$8WE%o!6kisJ&7tuu%L77IHyDWyz?MT}^`l zqcI_`i-xo=iVS#tMofmzqA1=P$(B+))nPSP)j7Y#8{0TgoI5F2J*7We)gU*P(lbIX zN2alOHOFn>OlH~dOorguNPBaLpxG;4?b??e@U2i<s| zgYOy`a5tAGhNiCWt&U9^Y>zet4uHMq3Z4VSCJoisSk zLcWI4??lTkq#8S&{&sn#bHtqs}UMfvqNb1?jrc~-f0 zcEBywG_{APt?h}!60rM{!9dFIKZ+nc&|uOliowkq~*7RhF*o4#_BD;0KX;cAz$ zuI2OC7alUP92eXm@Fv9sCLfVOc4z~x?Osh(=gGumoyVgBW1iAEJy7#j<#@586={uO zR6t~|3X05VZ*GOUx?We6JLe8ndu-1?e_#`jkbk4irUX--;LhRexw_R`4Ze1B5*I{y zs3WV(<$Y1uW{048ppMEz-S+x?{ZKteSGaJ3%jw*TwVoT>k;P$FR}DDof0_&WHL^Y8o;U%f zefZY=vf5zsvZiv2zZki0bE;=$N2t_Zbc27FB>a-&FCYHpO}jLCm#nteyX^LxHcwdE zT}?;m*cu{EV!ZAu*II2L59q6Rw)+$xpxfl*1kN)6+r4NHXoI{3fU}^n)uC&V4nvJ> z&_jIKq&ANc>!<8yx=`yqpya&ec}35G>Vi8dbMN^7XtpKG^IM1i9(;Y1tft}hWOO|| z`B!cj^}j+IULYDGhnI#Jx10C@k=w2+R!#RyCt9O4t{E@`ZBTrUVr3s2fUd$hslm2D=*+w|jw2M)OpbEeNc?FL$ft zvJ`11oRK%@S15nc)OC+IoJw4Qw6+g#f~VN3_|@iYSW~Y7}-{ z2zOHLb^d5&Ea17Mav`L-l*KeFSv2u3ih$A>sIgj%MmF_e1dg}1A9{238ToHpR!xeO zCl$2MsOf9AV9{bB5rVm{IMvN zGi2Tutv;xwCP@Q!dhPbWfD-;%mt}?lldcduvJM+*=hECr9Me1wE$i*Wd0{9u$R5!>G`GBifnp9Pq=8Mfu zb`0d52dW#StZX$MphJP@hOdD?n(a1omD?A*FhnGquUIwwk7MH%+u|ba<%Bq(huyb( z6c5lPTb$q=Aluze(I#s0AmI%J?a(o4gAs51lM$NiO>gb&TF~r0kZx8}@&Wjx-F4yW zv{qwSQ$Vb7p=a4%PP*snOAL0z^KqaXNH`%lSKJYMzz4oTbZ`gFtjEq(MiEhuAigiU zIez&(S4ed)ornr5o#|QHUc&TXTd~;QUM#kOFlEj3nwsfrrc7DgS5wosdP>ji**!f2 z1I#9x#^sohKAG8Ya8Z5FT>uaRKA4eVv5rCo zTK^0?j{ONA{QdeG>ZbT70blRRSmitc-v&0we-LBq*38W??}v;tocHV9@O22lOf4 z9ra56?0T*ylkpAMcVvTRPYubW>`rQ-BhOA0=vyn5DA#Z(8v*3^?W!^Sa-d7i*&YQJ zM`iKJ)-i)~d~}j&|1-6T`i5kw#(Vv;{QO`rI62*GaYp@3 za`Fjh!O5`$PT3|eP@Hc3-=m<7oTUM?DB&I^pCvyed;^(G1DGrbX0n+U@bro4Hj3~$ zp66Yv4d&RcvT-Jx+m^ENHm9f{%$vxldBH4<$_Bc8W-Ow)Ufl{PZP;MU_OZy$ zxnST7c5IWxKa+8e!x40Vuo1JwHIqzY? zLO$ef z$iitBl18qFEZ{s&_hk63+_ysD3xO4Xvmj`72ZPpcY2eeqtif@*n-%PI8@3Y`aGD#h zVW|pLWveDu@k$kN)*uK$eX<}NB0=I5HPI?sM7o^i;sD~3%2Kw?YJ8-2To9JV4HdW$ zI;27OrDMTFBjcz-tu<2FU<7!tRNoZYeB+@9Kx1ope>zV}d^tSCwcu zBp#INnp%Sm3+o?;>mNHm^Nx0`KzKJnaNg1>YGNCMII*rCRiIT#lk*MqlhXNux zEW_{ZYUrqSIfNSpOE$goKOVlIHT2jhoJPKC=$TG(n^Sak1BB$P%qcP$vC;)btaLP3 zns)(Rr=hT*={%L#Eb}OO8$r{P1-iyYJ&6tdlMT5QJ$zc!!>2Tw_#Nlu-f30C!gP2p%*ss(`K6#>C4G zG;))v#g=TS@fPQGxC0H*a9v$E+7NJe%qx0p8enyE-2>UKM*od9b$grpg2BG#y>&G= z`Ww5l57ae}#(T-nSd7+R7R`48zz{KUY@3jJI(VjXTwfEj@QyoJK-O3jGY$Gj+qtY} zea#Skrg(xM@G15XZD%M$2GePmOAHOF;e2>mm=D_rMH;ECT-442YbRYmRm~bF>sv!; zld1U7#<2qtjyAan{eP~Z@BEkT^pT@n9PULt$d`SgxII=51|Ktnc}Oik?Ew!N5=FW( zITut>y}w2GB zxjZlA3zanM&=@o#uu$cYtrJTtBUc%Xy}U?)tO{VG2PrU32;Ef=B|n>Jh&D_b=h zy5L-^w~h~*-L!TEAx53y5mx67dY$puq>4_t$7>>dajcS@h<8Chqn zDXT5JT&ju41EOG-5Ci8ab_Zu7xsJ01s-oU1963R^CcaK*;79ka0X9~k~ z)X`=8#s>SKdNvz8U!h;l2Tx`%?8~PcAuigJ|CepW|KGDk|1a9LUwr>AejEpEEe-!A zE=^idB(1QNtR;^VwQL8q(At>p2UpwdY_{20%TN!soP_d%KA?#!^Fw9=Dy)Yi@CKN{ z@M$b2Go2$NfgI{IV#_=4wCL;9{=mP? zy+~*@th1bocDww3!J`Fgt9ylQHNHNNNA>pw1!teiC1yCd&gnUh zopdRCQ$Bw2^w))zztt0wC z%3C&Wg2NPTz_-RWM!Uv##G~d%h49S_7vM(Te*qTn!MelWvARb| zw(O4kf&*R`Z2=#PDn6^#%Njvd=@WJ8DnX!XyZ{S;`=0B(s6O?lkfWu4}D;zMmh7J zR0>i>oKzExJk~>B%r0*a9)94}ey3;N3cuU$nn!@s`V#epo6sy9` zG;KEKrO7$?Ev&`yk|?{(Tn<$z+n7$1aa+^hsGK>{l-G<|X;{0{D9ius|4v!{XMgk? zWlh{5+`#=i>g{w{4H1VNCZUk%@|$Ic!_4lvpq_c_gnoaA!U?u>md&b-+YC$%4!FVM ziKKnbXe6S#gTnODZ&ez8pWB#`z9AoSZI zYe#oj&Q?KH&=c^Y1q-~%63@vUGAB!tm$$%BK(KODEK!>rEfmz_baB_|GaF8yK6avT zs#3uBhGQE~Y%H)9arCYOEph5TW~|8!c9Ms#Qz_yBOkmmS8&-4wAu7Tq)5O^mQ5-f} zRpA;Bc3Q2(A9{pHmWisRAH`yzo!cGMg9IO4I}UJJGn4J-YH~Vxr29xr_8OXu_uzvb8`s7 zJIb*#C}n7zYv0k)QG!x-P;Jh!`~8G1D!Q>MB%;x#K}(WGdT7wBn4`<4wIcnbjn2AO zj8%Z|(JjAJ*%nGAeFM#SEz71C-Zu{m!BgY*>Cv?a_oDy&EZWhR zm+NftAu$%?6*&~9`X-$8%;ggy|6n{!qKb1+&Y>S6#BjI(=|JzHf;Kg3#S?6)(K+h3 zF}LAJkdA$0H}U&!yEGbwwR)02UOec}b=KVx%pp`ZMLW97)9LyIcXRBH>cGb;^#h$v zj(hf*B=JT;npy6iCfc_P4%4m7XCv@C?q#g=ta5$8uWuF6m#QW$JQ=kpvqh9$gXfc#riftmT^(; zN{TRKb-CmT`MtrQU$j{4=C9ERC&UO{a|i2%9}DjYyzopKa%o8W>s=0qTT=O|s<0_Z zYE_au@z#lx1%x7%Q3RwDmC9R{4I43GM>IW;t%&yFFs2*#a4_p$8V+idk2bW1rhsp} zB^VAgcxP157!&4u;=-ajVL?Tb$TuczBE$Yb>iI;R(gMi6%P)O^_Ej1h>N>2o`j39C1F(sgYPD zAK}+Wh9Y-G_}LMN#4JI-Ao%^BnBd{uY)#?VdP3TrIeO=>vz5vQ-J3myzDjYQdeJ(( z!l~n0QD2IOUnzTZ*9G4!RLhhzowL5{bjq;gjDG_gtd^$bQxDpSp zTQPM-`id+1<30O3J8$p0?C}9Suuk90HjSKRF%v7PFMB~T!=p5mz+0_0L9u~gF%jeT zd`s9C=Oe)rSZ5q7MYbO%*?$MVP7QD3Um4!S_PXB-KS5uoM5d8d<*+c&9I5IW=&xT^ z&(%*?rst-wn~s)L$(b7PQ4b}mh5LMy2WaGwbM|>Al$%UJVxCuOl_T+aRly5O(4D># zuv-9R&#A}9?yGQ$ZKmVL-!-kZEj@m+huv<?x(T)3WTZ;*wN?L3&tI1X@c8Q9QXN9w6QUY?;}Ra zEv!u@YsbGC4i-j!&Hdcir2T{JZ{ zn*Mabk`)8_iT0SB499CMYSfv1-@MUu(pA0bbnjJ@jC9XcixyrL zw9FUmbv4d7YBS3ss~>snhh|vI9VHU#vBt75&hHs=HPniG0`=CLB9Uq`-;Bt;vgD49VJvHsAe=;lWy@`gfWa7kdRIo0vNECcV7Q4U#3oPy%#6f@n5AnoOq9}@zOj49Y>!4)GmSy>p z%3n4tkR{L*F$LS|4ZDT1tlC)pHuuUAtNnDHk zW@Zlnl$=-;3GD9RVU9O%-n@D5_cT0(3S!}(;&nQVH7KkPnJkL=6rG+FS?PJ6a!H0D zwj>by_N6buOO^k8kgn|-wiB`d9@8?l@xmY&2X`x@#k?}u+pV}g6Wt=17&=sj<(n#p zE2t8+uNx{Bdwa`IuYqf7CoAx#3asedl0RIAq^QO*^Yc#=j+vi-c43}a;0dfJ=A8M< z^G}o4Vy#AF*MBbuk*$eOJ%lD<$BfhxY5XR5=<7njo!^@r^nbM1Aqaxwf+rpihpbq- z?cDY-VV;M#y#W*5o$Z(20=Kc&VG6e|Q*FMS)msQL#zl_V* zK{TljpZhwv5<>Pxp%TIYu8j!N_yNL ziMzp{@gyjwkpQz$!F4TxgGvL>Jjcm!Fc`CRR2hXq%*jR!#yavRN7BmWTiX5OU5TjI!4>u&1 zPUeZRccZ`iU&9|${l0b}C*B7Hz*?nf*PRe$w+yTDDH*ALY<>@z2^nA3CI@#HYBkxw{&2uNN_A5x4ZyY%Ss> zZU{>zhhVpf9hpsddq8Doet8_dh2kOrXn<8pG?*bJq#$$nj?aEHwsuUB-^F$N-wl!b zz%6&(XR_EWum3sv4MJB<1osB~9ry=$8c77-2Kr_EbPrzpz2Nc zgLq&=!(Z}ytQimIgU}~A8Hdx(+-&jW`I1zvSuJzO=HQ&7nX$`3pV^Tib`)GwFRrs4 z$cn>s(gGZ2s~wmy?_6G}k+ZCqR4*_c-7Q;~ipYTKu_YAo`N;c$JjQr*xU4tH;;R{Q#@<-R_OAB5MnQM#@jrR&;J zvaZqf4luiMd$ZuN{{kQf?}p?+!U_)~X6d5#d~MtFb@cP^(wrTO=m8l z0@%P`x8hV&ycFgsynj#A{rej5k9hy?{W?I)zg29>IP0B8u7qZ$zE1fw&GO5bU1GF+ zd}aCbMtNcZ|AbLK^#|Ky;uLblH1h+aedZp#hLk}+WWNr0yn20z7bp1c?k-uuZ{*I-t}ZOeI!fgfNZk~H z=?DZ7K7zzZI`UYA!E3Mszz9fzjme0Zj10af36mDHDWA=xQ`XcW7kmTsn3RqllUh!p zl9-_?ehLmZ=l!5i( z%69{mg(Cl5{HGmZW(7Q&0XNgv>b2Q~p2?1_R+56~O%$X+G2zAgoYB#>*;W*qA~6_+ z1y5Loqq*xFPdv8HU5tc_5w|;13`a`by2qaQ#$7GoG_Oj5fP{YyOdrf~1k*<{7GX?p&FqLQ+9 zJglxmHOwaj*Jc>(RJ!uHL8r?rOAG)OuQxI(iOtVBC{?B249cLX!{LWd4{q>b6f z>H5;8tuIfh>kC9t-poxyOT_3;itj=DzNU@U>-t)U$Ew&75vNhI&@xsl%AWyC>R2II z$kW0dD`=lL${qyIs$+#f>H1|KH_F}*UeMRXUbSq`in8xD%AN+tj5YB!#Z?%><(Xvn z6iVi`p@m=sY=ZxT?07$?C~@S#;?oKsG%+r_&1SJW9auh^ED+f2jENqNK3%(5ds?-w z(R~P(Bt$++{a6K*hz%BN`nf&{ethojZ=ZYnBjoQR$gaP`x2Rp|f1@9xf5j3#4LZS% zN{=7QdtW3U&9M%a3yp(gRh!+O8FzD#J64hWeqSIT$weJ3Yc5QB8C!ReLuBba(rdXIK@ovF3D$~F+R(V6{NN1111YUGjgP*q&-tGywouUI!E7ft`DkVNGvKG%ocGEBS~zHow_5hR zQT8Bszb><|eid#j-YoxKqr9p!spmCv371Be^c1uNjCpUI@jPXm@tgq{wfY3Sg3B}w z8ISe_I^N8az=QV>{YoMJ(AKSTDK zub{ga7PnxJ(r=mdiDFke-Bp z?%j8!Z?zb-hodoWO>ZHR@>sI6;3=f5mG_1Rw+|0&=?$WNg_e}+jfcU zQIm}|_sSh!S2U6I6#AoLQclE&R$cuMiIvVxv#t}{d;9t(XLBcRTx$mLWVHlKB~TrLLtB%M zxdzGN#fozgM`JVGJjcTNRshwgClwrT0l)K5Q;nyeGIl?eN&Pgb0cId7D2Yvq&uhMC(rL_NzfPttg8I)^4S`F|FG7Ci!3r;({ek62m$4EV4%=WK;ME!@-%)Uupb z7SFl)=A0|F7S_wsxuljo9o6QNxiExFGA67RnDWiJNb7zxNxDFKo;7jt4&1yAh0!dy_6rDP(3HSvJt z!9Q%&Qk!EPD)t$*6RSx_$j>5WxmU5gU#w}4P^~sDzoe-agzK#qTDvI9?NZ6dK%fxqDxG6%Drn6eG_y|r}3dgmd>cM^iH);K~luS z3Qy>bTz4 zvK@eOPJDT3Nfz=?cw)6Xn#5>qLpFv$;q%YPYiH zjyVssv20uooo!cV7gbeO*JE4NSihmiT8TuPh5Tk9=}iR?oYr3*@qv^N zZq)eZ6aa?)D*3E<;@bR8zFArR4EU(ZH_+i1XfyD3aNwxQwB*xXQi>k49S)oCkVnmJWfe> z5{8|&8T;`>V2+0lr^UvFV{@$8h#hV$sw(R|{@dJVkPvtc4Z+$HON=Ud!0=h2zz^?R zn|XY=U(BfxAXY74nE7{xMF})$p4Dl>z2FIrrY%*bG-E4h zzHaDWdnZ(y?p}q`tkIIhmXJa}#QTI2)(Re1Hl-Mw(jTe2oDO@ZJzy`}H%0VWUS9JyJRDSyih~a4uIM(vdBI2wN@(kc2#}K=%~XURr5ftUX&3 z3_mD2xS$$KdBY6)3=Hy@=WE(+%{)r54&=)(KC9tE6Lq~WwE}^gst-+FLI>nNx@N%R zc7|NlmB8GiYsT{q$>DOl1Y1yWimR3`HSMF9YaPD4*B!LCz;&-X`^l&8Vf_x5qH*R_8-_MH7e11`N^$_lDR8#E!++R@W+PnYGTDo)eQM z>u_}d4h*=fnW&0`RQ6RJW20Nw8bC-SX6B^@;d)?5wE%-ae7~oOxAK*RH^M|}>k(Cy z_VxC?d8{ORT4?rLY*TYoO>?HTmJ#AK%574CTX&c!z zN=!p*rgd$Dm#8cm*JR0GXtHE59tHksXlnAmO82}$_aOKy%?8(-zdl_~ql;zVEh^P~ zvW2Qa^D&(!+y`A+U3;=6N;BO~6TPC>748FH)a710OQ}Xz)b%R{-96wbEk2ROB@DbSXrcof(s$={Ty@+LR7SQuK z_&rot&vsN>BeGDrtztE8!R5jr5B4g9K`E4+2}2cN^?0FLI8{LILacxyv)qY}P}q{n z&UxXPAPk~_A9#5$V!a?4pQCB|2&3B3^WT zBn+>n0WKi_$jD0crZZ>GE`7c+ln-Lb-rJ47IDhq96vJtJ-_Y>Q>vB%VP4kVw)z=%d zW(aN0b**;fyA3Rk@sHl7=}-BVt%O1MtWFop?R#~) z|D)J=nbLKxr2D!~7w(^*m?F5IU{HxBLkwdRoW3mQ9kW|9?g@{_&P_N_6nH0ys9(Iephv0T<(R+n%rgtM z%0jJGcqdxW=~oKwpJ@_%>77m3dV8QnP#eNo1G8_F$w1@H6vgA}0z=?-MX~rHJMP@( zL`=T3Qb{B~S%bCNiUg$-#I*FOAvhG8b)Og>s>lr)$+ErC2m9tk2#Sg5T+(KzuHuVW z2y0e^g?3=BTBZIH=Fs`w^DV1WYf7IMV?ujd8Qom)UeadPWAhW7u4@py+#P(g_0gtD zK@|0JEm3v>G!GnADX*-U5 ziLy!Akcq$4?4AWp&VE;uv(nI@)NS)oJ4S z@-!O>bYFl3RK@-k7_R0pS#AGB+8s3LeILA_(W@59E9lX@1hhYkT7Q13#g5E7 zt>pNqUKib zc{J!}_%SaMjt2Y_ZlA+L%m8lug9O&eS`pF#Y}IW!zd(@Z@kFmZPaN7`-92A>jsnqB z2eO3fM5g6LNOeG8!aj2jTF%YPkkkk>@Rv)k;hNquga6&VWQXCUAH!F-5L`@LKY{}o z0dq=^XGT9-J{~(2dm)D0u~-bTteKH#A}Dk`8a`~reQ7c=A-iDr&k?655;jFJor$VR z&$Vy`uhyQc8(53Dekwf6wJ=OV$}@8I%$YX0w6i1Vi;ckC{G5iF_EX4G%(Rne3pu;{ zciiLK>3NWPc6a~szv*XK9`&40FwXh@5trCN_S%{q<^C77{gp?xw+NcOWf?ymrE8E% z^U>uWYrK!utky$GT=W;XM4hZZ8qG&9X*5kOMj=d*B$3-l=Tk|YPs^7znoib3X_^e0 zKgT7y$$V02!oAPxb|DX?Y0_eT;#ltmn3uw!sQ5UyoAvoXl%}$XI6NrK6723q{UR~D zUi~R?C9M(bptt@8`Y92f)92a*zND=P8IlB}P1@@#0ga_wPJ#bMOH?1}R^-C*h-=0k zlw~i&r0mB#;#sQ$_<_rA2c$L)k{bA@wHmDs|4QwrG$>oIfN)LiS_53(snsWXwym1u zI=WnQf#R;d+*V)aw1zZ?$KnP&ZGT4PP)U<5Nqx=6^V{NV9S)#kK!G13ZbipuelM_sGF(OP_u+jli~BE2%HjK) zU`*5dUdD5g$f2?(ht6wq{fytkVou<_2G5Y#_!6}x&Z~0$Z&jWd7kS1x4IP4^lcq^d z5lpjFm6hNM{!SNZ`^EE#fK{AU?NZ~oTtCC&ayMw@{#-Bj_vbTVKc|($vXa?Kb=FQ= z_q)*%z0c4P?gklrTRGqr{enXX2`J>pTOBC){o5V9$hjQ6l{GNeMG|QU9p;c(1@Lo- z7K>xh0UZv>!iQ;ak{@7kD$CML;CRSHP}m)k3?wXi_$H8_3gx$Z9`9VSssISY6-DwZ z2KY-C1pJ61#;7?;KpR3k`C|&`uzrv}(sBKm7F@qN!S&0#zvy2zw8|eH9jbdi%NME? z*>8QIr>E)-Dax=vGO=k>LLMGk<@;x(*}f-99uvCHs%U$ss?K+hC^puD@Q^ar)-!a1 z1xVJFDY~xwrCnQBeuY;d&V(0Ct6R4tl5vgEajj_M^=*B;es$hs!=%-6)#Wt77u0FO z7m`}3ADov36Im>qdUySfWpCD!!TJ3k7 zU01%3;4u0KBI5{rM-Qw8mO*;gz~50g#uF5t@x!qe|BI&#|BEx=SDHR#^Qit8#@eOf zl*Tl>HYxkKZg<4{48LmJ_OG9fK~7AAY0r!{Yg{*UYudb0?B@y13l?^m0Es zAD1v$W1i!>e#M}-2RxzcuCHKj6lrx^zF)1cPq)LvJv)K1+Y$q`wn3eD5tbnZJO(*T zo4BS};O_4dnYM^&6ey3(MCskn>3gEJH1ACqY*TvuzGmi|D2S3kvgzmxQ8n{Tq&@GA z&*Kl0%r_>ySE|nw92712jgk8XYbpfmqAmMP>rq+{vNisAN>7Ee`vBJ!5ZzvHJW#mn z`@37y;_SNZ7BhRy%oOt48iHj!!L5vf9wipAMrTyOtK)GM=+HXD9*;3|P8jwPSR%5I z(+<^NB`|$>7v99!)YPVyYW2VeR9ra?Wp2v>SK04z_*{KWR80-h@}F+nWn%AOOzRB) zn7a-Cm`B0)bo*$&&7sFQe|XV2e|Yp>Z9g1uIVv$|p4DmMeZ#kPnx$S!Grxl7>pD%i zSKHr!bSI@5Z=?AggXVtl9q=*r^rNFtqE0;JDb-2H@Y85Nud%@WyS4L@WHL?9OEOdH zDU4<-rnzhAT

    2*SB^5rhidvnUv_5#`S9BZ+MQ<->RPR-J!0xtmt6{yxw|S*4szW zw{*IAeqB`O7s3*^oc1`h`Nd(md=3S5dhi8(7QXF#)Q2gy%H>DsJnYft;RCu&=|#ns z$aqLSvn%WAGwAN=RO@N+_-Q>Qt)41A$5T2!2X6o8HCYtyu61Unp||PVpvI)f^q6#T z=0TOFTrSd>^imtm^9Id>_(#=WT)isIo)t7XgXTdk&fQ&Up-FS{q-ai_36jIX$jO7% z!_L7$YfEaL$?%wKeC_(KRn6o)<8T~IuI*Ueo}I@?&qMrfS`zdSefhZ>|0eVFSS@et zH~OaX_uP7`&3v5$c&Futy}>t?)CbRbo?Ce!?}%`wBu6s+0E#i1q8OuN;A6^84P&(0 zRp{$88vvsQwmP>f~RL^HqA6%CcE_|hvcT_8se3(wcITuX1EnAkPW z(+SR+8Q54><6h8aDl7XmS$Vr=(+8~60-8n~^-L9hi0Z|2wCvx5S5zC)?f~ApPE*;V z=gM+}PQ@=^g?!BB;_&v$VzaT3n{Xpmb)6@kO=`q1RuwO+DYGUC3-AliMj=R75N2;EnEi_V4Z`;LTyon^sOww zO1+Nv_%-@vT9;oR0QXB@x)uU=X5P^Pf@}CiK5qC$-VZ*h+f=fu6J@5g-;kC1FQ{kH z_ur=3Dw67%weD}B(!ATC`KW$w3PGUF>C>S3qCxY~+f|xKY&l*xXr9$+VqN1gon|;o zX$Dr%d|jsr_wG<>GJzzeDYnsk(x7=WcnUlMoL@x{BuLw-f?=H1ck1W*xEvWkQjUp` zmh0tIdfzeV?FWCR>MjU&$YJVZ8kthPQVrdO(DoWW16X&N)y}z-{s2AS4^FAh0Q3_? zw@lHzYZY*VQcY)yQ6u+SSEFmH>+@Ytb(!K_H1}Fn&%Kt(rxSiH0bBhgRTFMzVY_;9 zf#|^$V!kaA80HPn8{RyZz-lF1NZA<18=6s3N{)BBJ7b-Q_0D*XmqWmV_XrVb&PlySh>59Hc_x#w z^$6rzc;=NRC-@0^D&V#8S)m2Bx$RK)pVT7&FNaKrK|5@MVS`&G~1@)yuPB*w!nQS!SzcUw7+7|CeXL4tT$mzmlTy&)Y)gy z-P5nu*xXjKnTJIHS;c2!yd;pV;$m1Achtk#t#c&z3eCH6dH4KUuKP{r^nY{(pRaqz`M#Y8!KSkAU?zT}Os5?AJ>D>-oM;tR?IH zCSrP<>E6FjqxTV=-b?32hefvqjbeIutPLXZps%@(BMZc_WF8}z6V?jaiL z;+#>M`9gT7yERjYmL^2Ldc7net%*U}^MR;qpn`SOpU@l_!jp`hvswVCkoA;;Djw&^Tq#uESab$i)z=nH!u^b|6?c+>B(>LNOwGWZ^!5?& zv9by~`M)XbB<>pxs{mQ3k2eHGv<)6YuLCcLD{jtZv06o|%dR-x69g;va`E{Z#TmIm zQAP+BZ(UVy>cmNMAvIVG?q`yLK$6)XEDoV<{`_EuEkq&(HZzzfvaW<~1b>TOAvqBg z?ywEoPBBj9umx%`Ci74x;1u)i7$zs;l}a4{q8kh8bbu!1q^r-#eh^uc=eda^?HCK`i36VsJ}J?86l`+z0-?1DhOo7?w4$gotN!iGSC$Q zJ-R^cFwJv;`U(mC1-hPOh5OrN^5w1qmdU=jvrPiiKFOg`_%w~pw}O7fZ;hKQ5Gf2W z$1NtHSea86WQKq&6$FZbKy}K&g}|lYvoeX;5Ac`qCGLD{uFs5rUw!AAqcDO0pnrV4 z{@HQ-3k*5`Ekn+)fg8Yw3@_n)mWujZTYN8;^)W-%uL1w9%le-ywo-x0`eL*EO8RFg zeJbm7*I!4Pw9i17CYQa%wnfCC`*wrwY4APpr_F^n?H*T&AQ!Fpvg_DA&4<;vT#wzc^!TELolt#^K)*wRV5 zWNF?raG6NNH8ig~u)!3BYnDFvDBMqut?*5X_n3vdGz{4uB~f)MPUJkcQ37WinyobDqw|QK+ z34+OLH3M9Y1**SbHJ<>a5ZI<8wS~obiUFg;g!JGELL40Gu-w_X`x}M19<$Wp*^IvR z@3Y&sO{}|j)ggH>Mer$bAB^KVq`|0?4pn(P!2C&)7&E&kdnk*1Y(!==J}w^T!XfUI zIfTFcrA2;$hVu|d;RR2>+8NI@ojkQ@o=!x)0V$YTl!40A4I5Yb>0I%7pbL1mvg(xYGLw%*M{WLMxU_Lp2CVlyi@fhiQ)QAqikFe)Sw>BbTGWoO80X$1YUGt-@Ld(x}2H%w*L?N`j}ZV>Hp_#=yH zd(;~YuJ^=Ca;TP-wr}p68%bD7Y;r8_p@raZXbM%XDrJ zcZfrHKWjRLx9Onq9P!D#FwZ|fPf$%3=T!u5f;I2M>h?Uhs{AEb7dz4+3+&wYp5dFe zNMoCKSE--15BJd==4*m6*9Z10BT5ODPReqmr^98kSF=hMWls{I9R&LK^dIU+joMTV z)lTyKR2;@n+E?{NTpgxV<&-aV%Iwp7je>=d&eGYRcwtw_ENCtUy(@#`p_R@D(yJUa zW{5Nb;hZNoT&j(vTxmHR@MQb5rGXR|3uYq!7>LJ$9Z5kv=$B=GFfMxG2jx=C<4@*< zR9O)7QK=C3it(&BRN?%cF)k##gJG*9@=>QOJB6s-Ayb^sGMvJFU)+5oO6o*XUsWC!X@ETA~x?K`OgQ&J?}L2oxnvscUtIB$#Ho?wksh&yj=-^+c`bhh|&#t?Q@$ zu-Y%L-Mp(h``$YnjXU2vJNqYhH6FuHCf2>JVm6!M%O*Hude&vDuNv)**VAJE-qRa4 zoZi>pzwh)0`;T0XYVSZ5%Zcw;tyHgnjahRY9G7=%I4(SWPHztHCg+n$rp?`Zq{ zCVFmrpN<1VpSR+`>}`84>z^k)b)DxPsLzMmo|Eri-}e1;^!bsN`mb-R|NU*x zCF8kXznj~h8}!LMpwEw7^L)1L`*+gk_q4Qcwyk~lw>>9%(w4T*ucpuM)$326x7L4O z+jGfyuGfEa+jE1yQU5({&t>DeUcdIw$LRBKZ)&mfVBs%bwZ{YriPcb|B;7MQh6$M z_Nb+^T%KJ1HQk4?W6q_Y1DocmA)*@iX^M#D{O} zS8m@>aC6h!mO-R*FgDbiS-q>5=QQ8H&ti4dfqU|vFY{Ot_}cQPlp%I~$O$yLvSBH^p^9XEc@b-Tk#E-akG4fhWFp*Fz8fO;6~CeMd(0 zGxtA1k5Vk{f)Zf%s+kXMz!tY5(_SlU+Hd8_&id(wsx*^BG^{LW{)gz%b4yF-(37uU zK_9xhk0Civ+?bw&=A_uJbO9&tj5`@8)|hM_71TGVxPy>2d*g03g;xMLoo4TZTR`Rs zn-y==78~_N;?7ft0sd0)l03Xn+dVG_@E1Q#T_opQvYyj3A*@U#uxk1axw}^J!m%Y& z*B$ll{dM@;rN8r*I;*fVzHVY7ar&m6=O!lqc*FeZkTN!|?nCl;-2NRsi!98Ov@g2A z&ybbkp$kt!lH(gug!T(0K@0&f?4qG@2OlIp4BEZ~SqLvLUmpuirZ!@der-^Z?KT$# z77MVlm}lIa3vYZZkhOVO%+|#D6AyN!{w&cKYy6c3(gXNro%r=(Rb2Ac84{jjmH*Z) z`2z0Gyz7?_MhBAH;7w~{-QBCwXzKNU+xX}>IS$0NkAjEMZg>HYK?+oe=Uy5(1Ey%f z(-pN;a|xy#a$=p@^a z?I0w}`~kD?0H_|w^c;wT%HqYVmliLo_({zl75JY1QDH;gAjOdNcc&h*@$IRH^y_S2 z_V+x8gHl9N^AQcz6Rq!Gd7}raOz2wv4YH!mG*@DbF(E7KaR^S%g+-U$2i&3=f&CV* zjoyY7zmQ&f9@f%J(~t^=XFm79k$WEa+{I%n+i~X0 zfUXHoE1RxuikpIST-%I(Gc4gY;EixU14B%aL5$7nHc#PJ0K8LpgI2t$MnH3}4ExMp zf`)5Znoh&o((`Hf1&G^l32yq_1NR(x;B!ku$LM%emj4@N&|g!VW0&F=Ba&J@Ur#q>>sP8Hz-PMn+S{ zJ2))Yg2B2h*Mq?t+}XGH#@UXJ*&FxvHQ$xSQ>pP1{j2%FFw@kJY(3S7*TX-j@{jna zy_5R>1wjU!JWo=s=WzEwiMu&>TqXnI!f)l^Oq}$5oFHz0+2fm_$lC>i(yu0FH}bM) z-4Pf`S%Ruh>NOeKwWQrNO?z!#s9!1;YsIUz;!lfjoUeUFVsBU|^m%1IXXI~(&$guc zW>}8B-)d=1=KlI`TJnEuetEdfcs){M$;OvoMc=1=kOI3EJL!UqKNXn?X>BF1N}A+x zV@%D4ro$0SYR>PVt#q$wB~4PTHd3fxDHhdq)o;|mmMqpQ+lCk;t@ZU<_Fvbex>o&4 zNqcbnh_j%HwAWOj?JMFnZV-I-E2N3T$E*72Rx2~TWORGWT8qgm&B0I(68Kdaq+vRl zoylvD$*a7;EKL|nf^GirT7x42iE$@aOg1eYu zPYUr+qfq#zXR?hpQU!RU78*3AvjL&9Wn03@V#j$ zYj!mCUKD@F3@vxBanFa#&C&YZ*HZ2sShq-McC=kokIEwvd<@Sex}N}8kz&-0PtTHF zt2Nd0vBY+UedQHemRnAP?=3%v_tF8y<^m>@S9I9`s9by&QnxE|YF5{wS+cnv;<>o( zEeHnk^^iMiafiH)ZinBLtwmiXw8i8K`c+*ng66GVZ~uGW8DGT>}C_BC$B1H z8a$NBstLG0e4L$J+ZBtUx!HNon76A$?A~ZSIJ=@9#D=z@wc~7J8^b>JlqRR&0{1W@ zm{%O2LeF~M0;BZWNw0%Yf`jlw_?ib*66b}VKTn@~==0k0N11bs7hk8qT710&KR-yH zkC5jrw^J#j06TKF}?XUw);_ExX2({1B++4^4?xFPuFbrRT zkK^a}((?G4`44)1AH9y^&)4bakJ8WAa4-K1eHZiFTk*T|n%(wx)Q2W%o`MlAPr-=# zSu{%TAEoz?YWIW7KZjqYG~SPCJW1DYcKMeSuOp1*@D`;rGRvPRyUVdMV#xtgdL|6z zB#9q3bufHj3Aao z?ge{etF{e9Gvl|8h6ek)#SwU>r$;Jtj-(jvjPYtD-%So@e*ETvp_|v`%&fzL)+~Kt zbi!#{T1JdN*NeHwz5HvmguaC}$pYvGvr1=W+-bMx#^Y}2KGEy$g={e~<_m(JM0(QW zEKXG8FdjGiJhq6xHfbgfm9=LYq+RoiDpJ;^%a;}jaKo$kMx~!L$~d=Zx>gEmRujA~ zn0>~M)ySG)bx%F;=-}i7Tgua`s~`Sg|B>O2EHu5v#KK#Id|-Ur#F~8@Cq|T!QXV-* zCz4ig=Z3!7YH(ZcU3Xhus9=gqW{Kyy(%*g=p?q((^A<3wF%IW3bqIoR0dEDYr zCByUn@dh5I6Nz{N5~RQ|7~_t{!xIqN!32kdNf!zBt}nL4dTY^@{p57Zry0^|qY^%b zIxlykBE-%5Nqy6?+0rLJP`INPKKI+$s-heyDfv!E40YWT=-oDQ?-9ETJ@JQ2n^<2u z63zPAZ$qf*iG z`ddcz>fUbD*4nsrLapuS_Hb2LdJWfjV*kKZ;{{)Ks0Ny)|lkNsuuoRrPkOIrMz~8kwCx zarzujd~)dbT^iG{Yu!M zOuAVvRSM67Vlp?XJLOg6PKuIqz_1xRXmb ze4IPU3N7${@(q=V+t$ROl_2>cRLwfAhs(TyR*sFaPH%~~%nWES$C~u*SUWer zBSYYhmxh~g$Z)3$c#KMh-1U}6@;)2PZ+m#@f)0$V;#K?>4QR4=NJ;wmF+_HQ=qSZ# z1t2tTi~A2E^pXRsMYO15SBuJI%NoJqs z2}^mUtl@Jl{R=#AV7fd$GAt$uMpsV{ghTrXe9L=IT;&O%OK#oGqobP{1R09rfJonCssBUp$9GXdvNsWb@7>kg+~!AQzKIwQF6b8^t) za&mqtEavZ+=-WA(PB!L7e3?Xyx5qPi??`{Ysz;MO8%NK0)+l)^8dDRw9CgKAn48Sd z44jsUDg!GdwSg5)I9Th19q9*F^YetOo|%6}AF4VTBlQRCTT@H_7y6d|23|b<$y0AX zeRYGHKk{YtDVhhUNUX3$Fdp+&e8_jK>`0Brj+JnI`0S+Yu$w0xJfrt4^?1NsK?F4M zB+}4OG|RHD#m7TZ`?e36%#p5%u4qps9jRn#3mqbFzx7a}rx16_8?vAwUc*c5%_^dFyA*Ti3lvr@??a=<<2=3{(?XITDd6;!KLWEl@0tK^GH zE*(9^^CDm-qm1B~6lq96gF@5G{7cjsk|s=ebvN$tXQ<~{TUNRrHN#NzIJI^Cv7+(# zY}Z|T1J#MDoZ-%e-@5aLlRLV4cb}X{54SI$$SVYo9jwm|B@pwArB6G8)m;y7n|pY^ z%9^#s)0+e;_WnBb*SJrK&(q_Iy@O1#4p{~%VpN*K7b#IRaWG)VTUf~1t@e!$PINdp z2Y^o$S}ZaWgKOt44IN>g}@5gEa0prCO#oKcsp<6i6bEXS0OG@SP)^o zW}c@g0t7@rJz8zPo3D{9BE${2*j3GBk&$B3f~+KJO?7u6j40`DQkY4hXY7v}pYGgI zt?Vd$a^#`$pf|vo;I5gOUC`_bh=)ag$n6gKKX($^P96Bm1Gjwhwnvu1ALOF7jugLU zdU_3?>ZnEkIv_*_BxxWb1oU|0mzgTofiqzHdEPa{5xcfhp@!|`j6(MniQvph6I4vl zZGxQ9UOq8d^$3^hegXo5XP zpy~%keZA4tJ%=rPG)RzK&Jtjk%@t3qvom`35O?2$-RW8!clXj^^z*>$D!xn4+Tr1~ zP+ofR!TYpx=a=D!@mLEWq3~YT2FJir4{M&ZIc+Mu2^9cWUn15%uO88%M?6iRi`Kjy zyyWjMkZeKd$)$Lun>9axm!ZMUbxI#;Ha7>>yW%bj0UEHWGTUitkW(ONt=gg8j%+I4 zKr>&%r6Nh(c18VO{G-Nqq5bFfFX^{<&opF0;*QbM}4Dx2+3j5>p&6n1Bo`0NMQC8ws=hnIecd*rq34S8=dB}uW{ z9L}InT%TS0^t~Dn;X3zY9!h~vD3PZ{I4Hu32t$}bM98{Dal4HZZ8naxfUhn8Mj7V8 zCLY8AGLfTM^LC3(wAd_o;{~IUln6wSa@e5FHzOTSM-vg*;vJstKRvJ38yZvn{dm(}C`Kr!ahIFtlNMIw3b21L9B7Mm=C&?GyX*t8hKF zdk-rKiNhR203+0sIX^U!fB=(-rHacyjaZ-tmLlaC5)im>MdMWhQjuzcN2Ki2XLsx{ zup_47)36#?`r4j9Z2^urPwU{o;}WNM36Cn{Spb86zt1B$eNJJ!$0vF`K4^7Xw_C7| zWPwhn$I>AM06?){w$g@jNv&ovP_d3VWv_C37uaSArFZID^kHklM3*3k8!BE)6#S;@x65R?$KojW zm2?^RFvZhZ^L3EN@-0OU6pkjw;>a5u^E<~JM{{u`A-uBilgMmKhP8M%?f8Jqsf&yK z{THv26F74+w=yye>kDmBVhnoc-jVQ*p^Z27de7yD!ZpEaIhPv}JB4%7!0NSJ#T_qf zJTL-3wRC95X3iEKO{i}fgjQXhw>WGTLnk2k6(NFO0fJ*P;U4*Dgk;u=N2Vh$M9dDm z*EHri8V<2C3Q`0MFY+J@18Bvr@Pb|?Zl6&da*q3|KIryA)-&ThE_&^DPT=MM zqhY5ubj@8&MtCjM*SH2%p@r5N_!Lq2f{Iu{^P;?reoXW4$shqHl(G~XkAVu7*~e0R zDxN~oz_|TbvJst%qG&Y$Nhqu{HGB_E+g%aQ0`cf3qLBE9;f_;N zpR9Y^?p~7iguE_&a>KlH>Cc?IH*DDDf(KkX)r=>dJ0ICjvYmA9dSvOZcTG+0g5TM> zY12+kC;u^%z_PHL_#*>}m*Nt`;#pYK>)*@w#(Pl$SHDMyRwotdl$*&;nu#JPKQCjR z)Ksqd#X32=Us-8M4S%ABe&Ts;)~pjfS{m5)M%=#HW`*!kgksr5=IVb3D`O>+!X;Q) zTWlt9(VJ8ARf5idi<7y^Y`T2k`ub*)6m@gGK06pEIb1Ys`R(W^)xSoRG;UXXmTv3H z)iP9#&)He~iBeQZ%}H+9p_&65&uh)nY?ZiS*K3xZ`p;tZw+0%iP~HQ3#UF0$mM@ZnKTy1@-F}HSVYVF#Y8Ff#M$A|e> z>gPBBRx2G{;~+d1B1|1RIs}IJq4*G!!y_{oV$;b zLU$Fir~{8yMdlJQqWxv(+_0n#S+li!$QrA~(_YhNseOL07`b$M^{)O^yVhi~W4n6i z8nI1<)iY)H*Fw;PRJz+ouPXU-Yv+5GO7OX{HQs@>`tTv(#sl~>^erqA za$u8EPK{%wL_E>4p#xSsAc}WDcL!vnSf(=ee0-uIK}iY)St|%l3fjQ{-8d4<(-mqq z-(%nsuCP4$wWK@VmUKHm)XYx#HFG<6WIpf-l6dEznmKoRTFgzud7mBL_0|Uu{Rdjr zOuhqJG1kfanNm9OX?06~4G4W`|B1}Z1z{@)1Nk7ryFDzE5 zNxP;t<^nanUwEXcW6;1_E&n3XFj8tJBq$jplZE-SA6e7zjf@U@KJQ&M)Guy2_W@VN zDukS+8#iu3-@Nzm`kk`8_wbQo;oz+|2Cg#f4KyjzH%mSBB0YoE&f>ekxRUl3%l`2U zV=`4TFjEglBIR*s&07TF;AA9@ca4)KTQh^3K%^Qm1!5(MdLJxO46=-o!bVSO+Llw< z$Zd+(pZ?W5VU6SqEO~=smx~XCgtxLD z-f_p?+IV+PvhA9cr84xA6Qg;F(g$3VCrhj@uNA zSK=sMa+jt`C@9N$Jok%276kor1TuJQ?9kv_7Sxsz<4S%0I!%MEO>63T&7`f+nw!oB zJ@eyt-0#jPU4fX#GM*ilW%&n|46 z%=YHOE+OQRc=gO3Pn;t0qh&r%&v^b}c`f`L%#)A5MUGsn;qwTlF%yRoQl zk7}1M%o9*gV(~ItlB(+3inr2kAnnCVD@>c6hyZ`6P%A?cV`k9yX;-)82b8EB3}$S0J4`V%p5tk>H3j6zT+olVnsauSqbVJUE$u4Si7WLBb!rp51`nlm zb4VP4;F+(dYJnb~FEmyio~epQjughc5wR?W(mob(q(|)ReGY+k(d?~9dG-MtOTB#P z8QEHj4dW$|2^Oo>>+^WWI5juD=;bDO%(+%O4KQvjs(Zn!moJd5A)ZfdXc__u`%A$; z2*kWzw;1T+4($Fu8u`92Utr9~So1Bnq1Ye&k#6HbzruPZ)?<`pASjHf_)JIhARo^o z0{4+iD1lQ1@IyoTXb|mkLDyauFE5a7kGA8{K|WN|l%9TBz<=PL^|!B0XxJY8l{AD8 zBV-SCW|HG~avkgU54R$EWP?tTXpd57M~q$i!tkx@^V%4qw_=?!Nlr1WESTX*UHRkb zYFbI(lxEy%$cAR*<0+Xy(+i@5SFERSD`|xdEkxTlE1rpm|ESfd5yBhlG(*i0x5s6+%QP~PlPn_6M@2)=pD{^O2+&we1TTFGzu=2od z^&Ka;;+Esn6L0PLgZrfV$cE0nx8Az9bHhkoy6+F}c=z=2Ek%QGK1Sn!yOnSvnRLtJ zF}%aXtMnL`;gD~VwIyPcNwPMpE}it4@l~4GudXe|n);_Rj;`C1MF4*29Vg0L9$3Hb z_I0UqzEnjn4rc^gu#%O09N&q)^`$Rwe|Sf^W5dBw_{7p}osFyzAJ|;)o$ZfW9wPY4 zG*0|Q^b`n#hm|!UIT#KKyqgQ7a1d?eJR;{ooF~eLg8^UI7u*;if+gS!*jUe)FA(wg zd}0s2ynwAXWj(m}(HD>W8ZveyM7Oyn1 zVd2$DSxIis5$&p=~Ik)zB|C8~_0vhsl=7NF5tqzw*9DR88(yyWQ z_KSxn-Zi1hQ4-(21NlK7Tv7f6%e9o<#{Vb|i}Atui8w=nAwL`cM*N5I{~I@bI1Z1+ z;cy(1+m$#IPlNRKR9sA@;xBmNeO^ctJAB-G-h0veW3TBwUicO-tf{x-UdGD+W;^c{ zc`s8i&H+F?MJ8dY!wceZe;R0_l;e53YtCj-xAL`$x}hhcio_}u<>2MZyXONJ^aRk5 z8sCl_InrVXr`G}gnVLXlZ-!VYVS5*<#&8V;jCLji142gdD69Q_a?I^xJpo&KIF-0# zTWZiNOKCA*bk`1)KV%O_qhB6)TklZ6&2g8N@klp)_of@Sy4VL;OEG)%|GYo9bNFe-VbcjK z7*=1hpj7zhi8fSugtnK&89_bHDAiLZNfvr&a)r7NZjSX!aPQS01=nN`JQ*7fE&cz< z64_LI2P_u1=1W!ri{JzkinERM7 zCqQ;-lTeE&kNES#f5MN!&wEC*H_APM2WF$|@SD2$fa)9a3sk{X-Y^-a~L zn@|Jcn;GYHjfT24eaTxa<=sm^fj@B;YTeQuJBm|>))Xd3DqLq`|G?@=vW4z~Z}*lv zi=Kz(-PPVz0q?$<{@GsHKf!VlZaajL%Ym%B{yzzjQZdAmYyZSfJR>z%P z`HU@UFANL^Zhf!6r<&;6F2YBDYmKLp_WMeGJ$*XXY`ldPc*DVixv6rTt6UyAaI2%c zr`w_B+pF*g*p6NtSr%+Iz%9f@u^NZ*m9kKVY<>X%52Xe#>6bDgn}BT;dJ0z2z32tX z@KUx|s+B+n*cm#&h&j{{uNJ}J-K&C!n##FATxTtgA&VA=J^O5+D`MwU^)VqH3z>fd zAGOBQX-9fA=Z;n{8Oe*R{s`wfkm!whIiuO;bJ#=&w;e1a0mdMDbUwY_Yz|EqK$Rp5i$XD6M68du+f!*`Y`Tz& z&g2-;;PF_~Ifk!WX(6Zrg28x+5Khw2bukINMz;mhb=s{;L9p!H0qsHWL zx!^l!3x~o&S3+?6xT~|3KzR$jkFQW%L;@_yB_9{@`|&dF)GSO1sc;IhJjW^YZb{!v zJg$%UvG>GVXE?n&zv#NA-p96SWSBZgRC*zZnaZL;RyrNBMmAl$HB=qw;==x={zNHc z2~1wUgEi~+!r%NE>2)yjPsQz{QIo~0zr!4``oi`=S5VmemeHd}BU2H#Iv!tvKf>cN z26oGRE zJg=BySjVlBhaGm1@{S+fdboC_Q#3_#CI98t)KsOR=a?Dz^vh6(B5%6oV~e}-!p3l{ zq3rMphTfg|!-wq|`wq$h`wILTjyvNx?u>_Rz#~Z(f{*n38o1S-rbQHL4C=*O`qys0cDm^hQ}gL;ELn^WWIQBmiJQpT7=R>GWCr+v(DAg(_D&eePr!4So5(zr+9C_vJ5t z8Ga8=x4wGa?(14#fb-YwR&)ja3;d4cQh-k7iho`A8uKMUb;>{*?!z(V$FLn^=*jl; zA7k7d&+Dk2P4thNZkaAipWm!JkM2~TUuf%I{DsC+1^V}H)T{n|GvlSY7s}r+LOp72 zz-AQd&<41O@B}EIqkD#aPOthozi)reztPX>RX^wV+UGD8`uB$V_gRg*3VoMy1twIk zz*UVy`>bpV$El2C2iLcvqwQ|%IPTl7DiM|XsgC1-%A1IL1&-3sRdhx6o%^xML5OrL z6%{eH^*R*oUw2#MW#9KS-58c?yqMN;pMR;%eZCKTNBK+yGhLKVy?cZ1th>#5zVCp> z(Vn1u>dAE+r(bGwk}A4%3KwgD@}>qiXp*|yT%?4@pT5%Nqr9o&y3hQ!_L=A@@JaAK z5R%;tf*_c{pUOl_bI6dIQ=}pr}JV+3g6@(67m`!R`84Ik!#KZYKh5tw$j5 zNhlg@ke|M0bNudibxN}5wp?+eGZD1g0|^)CnCsux<~kmikKu6{eNx9DrT6l9w(BxO zbBv{XP7#DvI-x!9`?PtFo|>b5hu^9n7{@bTH#$4V2=bhw4!d^0HeT~-@HoDv^n`Lr zOTG(VlF76$N9V!DYdyVP)hjTLSMjBo(e`E9+P2I$DWCGk6h3A65mjg5W`96$pGWN4 z9FF7lcZ~8We@o?F{xzUXdJNI-*tsihnP%)LI(-hsoUNWwTg zdg*GT(E$?dof}HB-JKA^OX1+m%(Y)yg9nnbfZNufgY)Y6t)Y2D)ThhfMtN$kj5mBo zqQOAQqXL#ILM2>5*x}4C2)?ind)F&{AW>pUy**2Aha2zLC3nef%`C-&khd;zMyr-u zR@g=Gc6^5J$;8yXO@-e6)#i!v*;0w5@*s7AI-H|1*gi2)EH76&k@=N4GS_N%+*912 zmEsrm$`xNZ^yZrqo35z(hX%{8f8WZ7Tw}w%{oagqE1ci`)Z1^fTW_=42D_X*|Mr`P z_tlc5#^kee*#6O~Y-YEd)AaVf)Yiq@2mW4N=Z6v*s<+pvXJoE znCDTd*r9j%2>r|+^)o-9>A?J4Hn~NkYaX)FdL5V{Iv2Llas9QB%HjBN*(8NL)_Ld? zHEq1oxj4mp{2Hf#m6$g!8=S449ns0VN;FsfEx7sYGNo*_nN#WQ9>fC zpRt)BmCI6N3Q}iqw)Ene(o1JvCX1DQ4YI35(PJ=9@ug+>AFJI1{oN0FhAyAodik*L z-0JE%^mJ=+>*mc{p}F<*!Tr-2GLm{*Kf!-~U8!f>jBY{C00GBrWjWxUu5yq&f@3zw z`f=k92W&Hf0DUt??1U876)`H|nit1sjCPb~Z;E~3W24vJzoUHdceSep z0`CBzy|#JXRJF>Z?UOofpQm-I{a_d-Wy|2u@W2rM^8QeO0)bqA)aI!Ry}dnnFL&3y z`Fu|gL`*81i-5>}2__^6B%6d>QbKw_Vt@pB03{Fsvth{~cGOU7f-h%s`# z1?DY~u#h9aC2x7i!Uz_qGeV0oVw`0yF4ppc$hioLuq3!-N5bszpsS}(N+s*M`x*Ew z1AkAdPIM8-MkHiGEUO`nanQWCIaFxg@D>t0|I4Ye6Vk} zeX#rBuar5B?hE><4;EPOgVC||E%mkAl{w86ckfIQ2W(e|p6!qD8cII*i|YJu;m_s1 z#K7Ky1!#J<|EB6&{YZVyr`69h_H^MFF^;vkP#LG+YWt&4f}6o3sy}*0wxlA&AGIVe z;E#se{^*kqu=b9jGI2?T!48*n?K%&%uk!@>gr=cIv)2aS^qD)>i}hOGxc%2C?PvQHedZo@ulXu|c7e9POKJbP zPqo|s8`;7WO<4rEIYn2Nw*TDc@GGZD`<46vdh)}d^Bs8MM+m2b=0Xh(68h0Q zxVekAy`r}Lc5U4MST>b1ZlcMS-Jr=v+pk>XiIURyx`?95=3AFjX=}&e_Fvu}H$Rsx zVUfzmgtSBhZGRt)_uJYr=*dV&`~7YzA0ufQhIRRc2in(p0z9ma8<0}+L7@#gI&;%0ohJEgLRP#3qL7yQ<~% ze5jnidU*J56i4Aq7%3;eLgG0rVOSsi7N&`!y<=x@% z!Rq$wYaxix-4H<~_dgAvq(1w!oMiQ$1wNRHEa>(8N>|dJ%Cp5F3@!!&z`kU&CgV#f z{1yd3LF{U(hP_-Ob}3b?&UFTmM2KppMmmB2@Q0Ce7kea^4@JGpI*v7*({#;A?3P#k z=tosQ8k%j!bz0e~FSMp<-j3V8f;}NW)ihTT{ZV% zkDKLeGk~EtxzL7AZzv1Us>tSxcQ&>koC>bGla;VkcC4aLnVns8Z=N{&I9lo&OWAeI z+3x{{Vw(-LzO5IGgEz^e_EfjiVM{bh$-Y52$jW{h3Nl2g1;HQo7yJzCU#TXNhVJ50 zJOal@08_CzY<9aPyW}DHs^>~XL+kWO5@*pkUkU38I{4Iy=E)L~FfY@yne~`j?4GF5 zJFTjE0Cp5pLyZ!hmO^^?Y%nsMmx86K#6invUdSdfBL(g0Z+`cOF-CNh46 zHye9(PDM>o&HKPB274i6(0`EQ^g_rN@A32ZKk~@^yuT;z3kiA?|3SS0J3fQKO2)Tc zmbd#d75IeQ>xx8^Vs=xvvn!vr+Oyrgz5_Sjc)-`&owZxj`7USormUEZMqIse>)X69 zA(pzkOJc%DN~b8+w+D}%EMBh{ITNy~C8}Xx&`y(HXFp)@k zL0ajz1i@0V7&qjW+`Q4Su1oMj)zl8f$OE+}I;t}|>!}FD_ zpnQEOur!`;WD2{3Bjc@msv|?S+R#W<7X`mikz9&cJ8pX^e~N;BIuKK*iA;;av)idh8?7j)4Kx(lx%ZL; zymZgyq~yrvbPcr*1sXf|qzMoPZHZoU>z$)-A%#ab>Y1r#`L^3{Dcqs9c{9bqguyLx z&1!KOT>1nN28aGYK7fP()PsOm?+xstHUxlbM6{?-<^+S@2na5Q05QgESoCn~jCrBd z2F0wmh(MP*tSWCv;YC%50Q@J%*!1RLs{=aQ`ks4aLiYbVd;~t`s%_t$`@r@F#m)L8 z-_FFsj=9LK7x0ncW#D%mK5{foedO>P`N-t;?^kmHhQ49yC6_vK0dX`!&&Mv82Yg~U z6&K8AM>q@#J1SDpLzzeh>P$EYPy5_rfY;XxMrbrbQyuUuQ-_p_faEv}%`>(aHCabO z=Y0Hllbp1dDZ+q=JC?PIbhmOY{RYC0^YCQr@1eW(A8_s~Z=_R+p1$MmqmSOfc`l?= zsqtXM>3KvSsDii4vlo{Rl#sy)*;qVV>=r$qKsE~;&POY-vQS_lyD}k6z)x3U)w}>! zN`bX$2(|pu8%YVrfaKsc1e|T5mWWInK4P zHL6(arCGN(lq6-6D#b##cDT{{Tm7t@ofBQIi;FtLh2%&r#{T(=2=_wX8&{7!nCWY# z6ZgDRJM!Qi3~SY2KmpTK*u3jHXM#vEC7m7q^|#yp^;6)5wR4bjvc0miYctO2sEp8xl=_z$Cfmmiu zar%O7e;WKyYdh$xkhb^suLV69Zu`?Wsci>c-K6cAo{pgBoTi6#u&sx5FTR4RUuj<_ zhICHVLZW9liWbtnOKQvz?G!>HTvD6i9~dL>;`L=z4yM>fDB*3`9X8K$(&IG(CK2^J zu-oIb*({)-Qc#~hMcp2P?>LSvVUM4lY9k##%sqav@LSH=FJdS7c`4Z|I z%cH1?-gO49msRiZ-c)NJXdAmxX#L}Q+Xmw+s&~c%pxr0*89-QaHp|$H$BR}hBYFMw zUS&OA|Dq27CX)=m!QG-oAg4+%kc#s1i>I4!c+1GK+lJeAz9GlH_{EMJcV64kUf)Bv zwytekK>Y9jV%~&(D4wuxfrIj<;wT(l0gYl>PVZ0OpVp=Ip+slEJh79`tel)Zc4g_K%G*l|4(o&aMAV(d~o_!YESS3G{N2(|OVv~%_=9!nt z;aUd)n|?j_NJS%QQ+uJ)8At!zre$mWIaZH%dfpw(g|T|;$7^mluQ9cKmA9_*yA>k0 zaYFBAg`DPu12r~z6U8ib;fVTxEDx`AFBDy}YrpG$m(FDllpEoqK{o6++;7kszyhIh zDkK>;xiVBVEeYlv41~k6KD~YbEr~HcNKj2mx7cZi;Kv<(GDJEB2UD&!2B+l4y1z=t z*`uek2=MteqB=utON{i0Rt1QA{@>?_nA%5f|!NB<82)Ufya6CU%hSY z$}JgN>ra~&@J#qGr7yU152MqJ6NrG+seD>q0x6a;i6S3~GCs~HaVC@G^)Mc*#T<~_ zf+Wn^+%B8Vt(QDHNjJ-QT#P5fND*5)9Eqe-vAUV(S=MOONj?v9BO5EQCLPO=G%HOW~+m5blu9V)3nNsq%zgcRb0lwM6% zmx)d!aS8{#L}CHy%GZuO%KI#LZ(rO}v-tQ&($iCu@nepzrC;dX{;+M+*e;`B^rN1e zTL0hUiP_Za;!CO7#G!9|`h)fKJAE$;eVZ1#zxq{I)-gxpwZBFyjGM-@o8_#IVUoa@ zi04?BC+qW?Q&ypzn)V+l8M|i^Ai`v=rWv0{pupoYt!^l*REr9;zCwc(g5-cb&1l4R z>Z-6tgEW9cbdT4mR6wCgM}Y6<1Ge`F8hhQG*~^D6^Ivu)p}TV>?SU&=Z%udKgFBt@ z+@Vhzt%kQ5Ec(_?mB|jm-NEhg&)z{O?-;ZgXk9sRbr60GLSJQv=Epq>e~GRDagZab zzHwlTWmu;x?Q!!W!&ti#3*t)Nm|2Q}5KLRRC6CK$=PzVrK@m&POkAs=T4y1?S9tC7 z4p)%z9pbi=NZB{trWm?hFm@ z_SicX2o)aO;%R*)(&zj$J4fxI=@p>J-^{72aJ&WYjHa_b)seFXmTfQlpk8uq(~!K%E|YldCj zWJ3yH5rB>W1Oa#r3xg~a@a`25S$#my?h*qoF~EwV-pe$?B<2XOj0&T3qiAqoz}w(g zM!Jh#IZ^K(1Ov$!?{M3#P^~ysN={WVc?D6?A_eC|>%|HbwwETIw4}zQw+Na8ZS-j; z;|qnLx~bepnxKo+(mx&X&R@z#bKUWwtoPvl;!a7D#!}OX?%rzBx_{AVF**aHWb>r0 zV!tId(woWT#7t`9TD!;Lw_5_~{?yFHcJ3yVHSHAbj(DaN-Lw@tMZsuzi&5`O7mGRT zRRZ6RV+jsF4z8CcT*ibE0VDKB@)0CNu*(Q8{^ zVhs32&T3v1G+=&tLkxSNAeO|hdSj>2dDsqK&FNyLui!|HRQe*Zh*cag6X15GnvJf- zu$Hbtc~TBoO68Q{twy~+SIGIbI9BCN`U!d-`)vi;3u-uGF;54xE_cQl11@34Eiv?H zQLB$8Vl^stKs4T25UsJ!sddAQ8yZ#}!KBlj3fe1Ogt5m`viA;+N0#3yh%u)-A9Ej1 z4Cdp4P4b65@i1!^jBhi!1n$7@#6T`8*u#nLFm9g_x9<~p+$KR@c7q0lPV<64?M&ey z&=_(0$mFe(+5n1`Z?~-+-&m~O*|gV=+5K_55cFC?xnv{M!)Gg_p*J1kU83Mj1|2s> zdXoV&?{bSam*lp+)nF62U9+L?n8aDdVB80k{qS{kBlgaG&D~IhZ5o$r-ay&((c;zacC^Y0kILcfIdE-^0Fd z`V2lFDAsvI*pTbA*sw|0oaReSqAznMPcqQ2mR>kp`u^VLvsC8&%*oOjiX%x^;+1mS zaZ;jKhT^p}EPV$RGWH+`hHe;}o-V$nck=pqN{IZsy?gB$ADK=X5wfetVKQ1ivJ*aL zGIfw4!=b{?B0?rlGSHj5nUEkWJe;IH;1_r;_2HSaLoNgjHJ&pbP97yQp^!vuh^hI! z=x~A$g}kheuC87$5@+ltBcjWz!fMzoX`(u>mcFmhBER~5nv`?41$PKAs||9{le7+H zVZtl#xz$D^HhtX;DR*ta>xMR;b4CmBX$Z)<&^d5$f>g7Tg4c-`rg!x9k&;&}r}Ou; zHvQA|9?ze92sN-vLXh8H@NRhvu;8^BVz!20gwX7Hb{*mJHCbbR+zJ32%iYOZ`HLvXRlPk!*|4ld6^yP1ZbT zyX~&$=zn;b^c9p}@Z2Nrj2&+PjH0;%%L7C?g788t`tOAIMwV8J`{kdsK6_8!*F|~P zm7&e(>4jkHn@1nL13q?ltMMqsJ#?S@6w06jcy1MN)HVb@D_`RES>l63*t=k3EE{py z`^uat8jYFo7bq@NEzq(uQXGNd5m=}!5C~oY;0{_D?klDWLv~xGq7TNR(Lt}nwG@x| zf_yohThg0YmNSz43^tJzgHZ>78cPdWNI@cz##Iq`YPv>+%(u-i+q6f@UZJFJh%2Y0 zXXD1Tk}TCbs=}DEGL^AsArKd1pgTXks}S~zbG}g-!JmZ1cy_DkGN+0I0dL0Xzeuc2 z{wkp}=%kb+Fuy^9&Hoq@tR5v{quVCdgSYOr1kC%5Do|CY+aYa>+;QhY=!~S@o^Jb& zOI&eFO{;l&1qEo`;;rw{0Qg7BC z=WFRpGRe#E9~%wt(4{lA%OZWj$@Ea^$dOg}$%EU4!_?Mza9W;78NTF@T^SG*_e#;744bQ>y*%!*?U(%ju zGz{qaoNC~9OiFa255D1n>5``zY`uf9Uni~kY)nkGh~a{6py_Tv30 z0!m<9j)Uy9C`D?H!+p_d0#-&Wd!*bmV_`(kj1)}G0EYJ6$&$(xfX5GZE6L1KHO zL3EbqL$y#|qw<-I?XONPtGK~i_f$H{_FL~Kh{2uvHN2pl$aRoL?P`5hE$QERHN2QW z1aH1}9d{3UpBh8X%e@Y#-_Q`c!d-?-3HTAR~qWkQXtGz zB(`-OO$?-YOa*~WGMJsQBJ3zhOl<_Ic7%rwN6;!-+~!bFG%hT(gF}U=y&V*`z7xT* z%Z)k%gSPDsX)z&zrmFgfAHaK`A4h_h$wPMD#?N|i@7j5fEitX2mNG&H>O3wFVm%RG z%@4)H=?JWQBuOu_cGkuQD8c_3rI!0yO|O8E#x!lG@@J0Qw6bKn;%ka@9n3M6I9#KR z;Tq*P=T|>9Rdx4t=NzARrn4E>MXL>%REcBY5m@5b>u)CHF;iRSQnBgD5#QOfaHP!~ z1C%%b`x+viuhVi`^!xpJKOz;nh&A#Jn_ym+jJ8Fth!;VN88Azt3!1t1RB0;r2TzpJ z_bDmKagATq*w*(hSCp;U3*YVP4_njR?YHA;l6mu#ITnkV;k`IuVQy=F`OD4IR*}&g z^=e-~OwW80;5vCIWDe=gvlfrb;z?ONH8G^ui6K!xs}o&1QPd?J(P+SKGC_|Rz+XBa zYe8nDM>?dy!_-CfM0DS!NJOba_cV;m9Oew zaAiH7ti}VI#lCeG6d{y9UP>nu%nuoO69aKb#Gp?wPcbK%Uor&z_ErX7!N8L8OoU;W zcrLyx!MGAkCXw?=e#g%oFz*;~tT-6K5q6-*9nUy^>i7?b?qLT!;(*sW;FtrFX9^C6 zbp&#OU4Dnl@7RyMGJnL(^B$$bxtA2t=Lqd?k2@U>``ixv#Rl+*Hw#NVtIo=*O8d|j z0xT20yp#Fo@U|w2wi6oUP7QQOX+23+K+$%(18>*)j8CoURyMJ?=-tjAF_y+k=E-bCpX8tpmp|ro4Tu6r&?;?zp}ZR z+MbW?=riCB4tS{3ws70TQGNtqIR$D5Wu>KZ4YK~>{oC8!GKxSMFouX;&zhj#z!-rJ89<>- zz~44ihDQ=l_)du@B;RR?{Irq(;d}2j7Vvi(Rt`_S=SKX^gdZ<|Xc~VLe>8yR!Ec$T z@guU6_sd@0AzuhE2twooqh5tchA zc8#1Hm=il`-d=t@{79EQkaW2c0a}0KN(SszpI{Y5tKegv0%sd`{ortVhC-8W3(ND zqOfE(*vwWF0}7|fRbTr4>F=+EtDKclP<7;HHn4LX}g#|3cX@MDW;bZQO4EjYhL5RV6AM?dI0 z<>zj=t9r}rT9cru-K64&3y=Nc{3f;AbP2ux1j{apK7$kt0*60! zR^iEaqNMcG>E}vzrD2MH{|0SJ4iKOJ~;q4i9hHGJKSbi7=Xl zOL$E9aojR4Cq5tgW(bA+B!-y-`*1w;(eM|-C~UDtf?>e!0CCO^{umd`WKjso7@|&0aH62%vTf&mv#G5=q zmnG;COlJJ(z`V-$!1!Q<`8K(yPXVN3pentk+$b3NN$4cg+_dRR^4ebf+9mv2JqXG? zqk|xVaGVKA&z?SkcbQYti4xK5!tW&SUCLi|P5uF9sX97Zz4pBK>+m}xjDd)K;W>iG zu4p@{zTcT9eg6Cd`D?DqGrnud`{}(7p%>vJ`2EUUFUlT#Z_N(L07MDjX0aeai4jb0 z+J`4^IB}X9a_R*BVWZ4XZ!ixA$O0H^PlUf{H~8Jlr8^k^hP(UR^&^*^-oy8ww}+;ZRD=rueaE%-4k)*uXYs=a7PJelHW|5QpqG|Q(=;?Rf0U3nCql^86jXsfK zZemgc{YAXg!`6>b@tshgz{ zt--C0I~xm}U^mTD9rSBsLggapqPX;5Vq=@k2Q&;jxZ~V0+$Uby zh9ENdC{W%u2Z62=cR@Hg{*iu0x8hr!dqp=!W1lXtPae*JTAvkKt={-_-Z)}J#v?s` z8b7m0s0F;F6TRKpx((w0I6R|}x9%~8)5(=&+w4d8>ZLg=)YHS+7E5EJ1Hw zw9gm}9uaw1v#OlXp5OmMGlK+gjO|k=w~GFVSK5FOI-|WM_qJ=Q((2$QcaKAv!i+vP zzO(by;O-LwGK)5h(zYtYcYs%zwbXlvx3Nevn> zt*t%bYkdbjeJ7pAo0%BZ=JJ6Vx!X`vSjD_G)?DKx zK?+L+iD8ABqP`#sX6W&l>K4{lXBA1Ml3j78^Mv&2)EOMykn+NT@;EaFsiBlJ7JJMNwJpZ!7WJJ|l;_P^!&Yr2W9w6>Sge#mG! zAm#*aYXMs24<7A>H}%4NFAVoWB%~o9gXvgoHX3q8qaomgybn5kzF9Hk62(v`lo5|c zVbqy+WNKL<2Z0Udas``>x7)M20?ZYFKBq5GurAQ+c*xp#PH)rmvz*?=aeBQz%c&W4 zP%N;akX~=kvKcnUMp;6H=sxVO3PS5ocH zKF1Q_4U+6B-S*sbzLU-44)txyYe17iE3{wmT-!%-6u7eq$(gD@Km|GolN(LP;hBej z;ewN!wj^`)iSfwSLX~n~=tH4_zCQmmiK;x6X}oLrZ^Qll!|@L#hAaKy@_~H|(fs!L zMm{$^DJSq+^4sLpY_1RMSnPkL7Xx%iuEHzO_OH=Zt0)-8qA;}2! z{JxE6UssfJUTT7@l<&L7Ux>T}K`->wr-4IZ{#fqfCg2rSQDYhE!UGpih+5h00klNRE(<;T=JM(z_d z&OemczAzuX{jYbfPT>Xos{Whbygzz&D?EPHuW#vC>sGb34zFE51gmuIGP{Fxp|h=9 z7ayVXr$<@)@qKz8x7`71a$eoZYE~<2uPH>ahg}iZAs14T#7-OQs0)a#8&ytza%0-; z^n2CAZ*?OkyA`~B-KGowZ58$6{q^7ub$|W8_nqB}dP%!R@jTu{+f{70^L_O9{2DHl z`Y)yS^Y_xTzqNJYQo8T+6v zSQPh*hs58DdXbzPcRAd3(HX&Rqmy)@Gxh}$CPe5Ip$M#2eGmnZ3ptUA*Yp`xzEpd; zOt2OTPZUKwl{f|neV&NYr7mE&y`8G$ON51QhBc=4Nefzq1etFMD?>c;)vPa?(!wjOI z<34|~U3dCn+NUGhzKC6KvM=__VXnqAHDoDTj#`jlfh?g#HuK1UOrXw?6V(%nT*+&c zT=>+P7k`D@Pqzl*EX z;_V`0y)}=|gY+{t8^^PpsvD*7=&lJys-!1$A5xs_F<5@imFx@q27;@rF*#Vhs-9kj zzsZ(EyiNzVoZb3soz6RQ`RvK|d}ltZXjduwe~|9~c;aItvC(9|H{i)_((83~NXt3w z<+kpPqI#3nuy6Q_`RrdlvHBeTQmmwws{N@;&~;_vi*|F(LdH{wT*_jqvHF^hXma7b z-N@C=R@Q{{2r9=0C&=~Gi=8PI@@J2C9>Xj9?>xQW;RpZn?X`>2{g&?kucLpZ`+pQn z%9)_X78n=e;W%PlT+OJg2QmAM6>lVU6Y|Y4rVfS9Q~A?tv;s-ZNyocBmCM!Vpr(&Y zR%i6DpM5BQegEg+7K@wz%qLr)&^uT@;0h0SNmB2oU)+3)8GGe-z6@`&!5=`*mkEV4 zK2ACBf1R15?R0@S*eZ8LrvczxHD#t9PWlx%5Aty})8T}Zbs#rxuik_Ls;CGZ9E!x( zzP+6?8%a$SwXC!l_g)-!wmO9_>0Y>HOYYi%Ro=;e{1Z#7tF4`CyZf`=J--;WT+=UnGS+(tBT}r-__-hAn+exKOpB(g06Pl+ZRQ%M*){KWE!i?F>7?DTq*z?F5 zv|cS=xK9s!_OEfDu96=8MC+65d-SHmYRlGjsG`Mi3ypOb<+8)Uy6oDWPY4O6XgN@Y|y$K@^|gJ zhxX|!IwNksgxCD-vOO{F5d?ck(@oA~$ovVK%yk-;rQP*{4ccrpB=gU3rsxb2Qa)4F zVlvv>d5wOX;MhC$lvS3Fai+7F41Kw_yr;i%$&pRfx9lEfZ(m(~hk0!0n@1P+>{(c7 zHqr6Ip1XGuJ(={jn`T@8hBx!qHod8yIQ!J$Ypz*dzUG?4%Gk)zz3gki46@)VxvG<( zDMC=nC)$oTFwZx5R!pAIZa_ANuvv$()~+*odj_^;+z#4a`^&72YDl zhn{wwI&)kVq{SoYE{!-E8>g`3j=)MPmM(d`c(xMso(jQLh;HEBp@E#Vb!NgGu;y+U zSS?z7_UK&fla6dIWB24^ZagJWzsa2pR5H)NcX8&kyZ?l`@7kQ5ua9}TXiqgebn$So zv%V^T_l{bd_pFO*vlPLUoCev2Dp8#;6-!Vkg-eKKBMaV@-bl|9%W*ES7&fGqT)ejA zC~Aaja_rivoUy+npQJ#{-~iNEdQ>rNWKT}UL!;#sJ26(=J{Hex+SB*$!?_)|ZjVmI zTi-*lceuCDETtrA2;IXP40>0*k`71Yebw3(Q_;_S;<^uBIczr?+14Iw!n$+!tSlB1 z9y1tn?N8j`ks;FWiS$RM7A*m$Pn;^8~7P zXkUs#f02QVQX<MkC@C&Pd3^pvzic(iu%U_(z@5 zz(~11DL!m5c*6NWWVDA61JSzrXOI=gnsM2wH=>5Xgc-y#M+|UL2N0)(n-uFo4%x}n ziNa_8{TRF%KG3=jzme`aZ$cly4+XrlU;cMqN5dd;4W7(cCu^?rwuYb0vxwkb5ep6E z?|xEuXs|XEN>3jzur?c9v~Z3^1K1FS;ytkZB3a?j{0rU;sfH#AMk{NvsGV^0x+Vf) z3xa>W>-N^s+u{AoNN@2tmSb1maHy+wUF-J`J_v14if`RA9qi^9<7{GlN+XWcxs4^Vx zXpS-NGB7TKfnk`C0mNgR%f&E!hzoKOCvtYY>zT0!Vg%S)?hPW$23G?;op6 zpG{sdl^81bh@aYe<@?K*L>qU@6SoZ{FP-_}54T*N7&ZDYwqv@4gAw|7Z{m7>${UK-eK^@fC- z-DO{}M6cbj!@3Ob!(n^B!BD2d027aWwg zZS}&Oci4-(r~%0+hRZm5fPx6wJ~MQilQ>8e8rEf>72M={!1W0i<9FpkHkZ}H+l(y78+dYTrpNE%^?p)otlwqe z@xbS+1dfUSc@4GzDUvS)7!Q!}KgrwhE&EAI20tkQFK6d$oPm7A+7#GJQYNj=f!*}s z8A0SU746`5_M|O1@f`V~^C{Y zJ*Bee*fDsqyVTp`aF0(-O5WPG`M7^%sN^8T)f8X&I_ky`eV{J)sIhj#=7KI4?`dO)prBtFC(Zhj77vL8;el6V2t6pkTjkg)H&C!sXCf9JxU4jg2;mpaQM!%~(Xyq*i z2;Y4SJ`kLk823j8x`O&!xnxkB+%g*KyiQPH-pQwj)9avZ0WH58(ZQ z2UO;?EEYArWit=hMXD9A$HR(K7Fg;PR@b&*Me-B- zNmLfCTqz^|*h9zgzaRb(;epdpn@abH?QMP!e0>~4Ki}qDE+7d%zo5Myo}#ax)^hXk zPq@8CkdU1wfEtXRv{=tV9p2{{y0?~yu!E&&NH7|f z@-EJ)a(;KRcAO?Ka7vO*OXCzr%d5pCBmz_%$$`p%TV?u(wb4zJ)%SaQl3s7J$NT? zn^k$Q9M@|(i3qiGk8;1UUvUM!-`nIe*LaA3oRpz64P>cVuCUx`dBE~Z%c~Xx;dP^F z3S?{;mdza5RoO)b-}>rtEl;6HF`goH6K6Vd75EGB*k!mB-}zAa9yib}34)2^Okgc(aSC^7J8Plwm3C$=zTMkpN(sk~ zxe8{2U`5u)QXvNY=Ikq{)W)mP1 zKrFKe6fKh~&6-FrO5~fSEIKm?)5q>PcK0#GRPufH6{WA4>!}YX%P~9NxvYFc=AJb+ zWW%$#$CquSTM;m`tZq?&O4q81k(PEPLPvCbeR_mAY3TQ7FQ%8=b^F>yiBqQdj(%-cu9i)W9!T4m1DWKK5uy&_Z4jJikvYof7<04{S&p^)yWQLC+Dqz+|L1-#!{mlm z78;{kFCTm3J|?tmAb9Ro_%hXEJs?+UPGf^+gyi>|w9E#PEnN!D&lwx0yKgQJ05>Gnh7*yw=s7?%?U zGBzn5TDjYljmAS!TMCAb5%j6{+Cd#yyvxk*>5 z>CvGA#YL7YirR<@khia|Em=F@cZ?sq?>?d68Q)R%!b|s9%RZOjb_RXPk}GaKHjbXC z`j(nYdQ)s{v9I;ptM*YT^i=Bg`lwOYx*hG%c>A6q{fPdH_RD?CO4Px!1_nnRI-|;c z7sqq`cXX~_El+&j4()b8;X2w}7aScWP;rS&b?mGbC}8IY4jo18@Fv34g=c#^lGLVq zyWEMYF%i^G^E}v2nP@O|XkErL^()5GJGukWu~d08``y3SiOC)@zAYFiFP29y-;C$F zd|-3ZYP*rMmg42&lBX&{QFNu^JXq=sPs(apg$eFnO-OJ_>bi%sl5oFA&V zH!Sncb(_G2qZqvQ=jX?h>e~Oaj&0$>;mz|py)!%6-gH|hJ2nfA2jvgU1dUU(;1ao# zUtt?^F$6=;rlp2#$I-a>tk>CaFXtrSSS%7*>-Z9=lE}d21}@IOWK+aXtLk!7ZpR4N z?vm7D{(5uQqK5T$BYwS&G@zL2G;~X+P0!L$W8FTjtR)U?oQJ?rNSUV^cgS=O{ke^K zQ)ZDd==a&?p+2yVgD^>7`$u)%I;!z8|426ZMH=dNaLv=$g5(7hjvVH1cB`DGsUFIa z6IJIY@x_(ctD*RzMb!^I%HPkU+j$t_i7pQ#@L{qj@i^FFuse=}F#|9y>KNiOo+zJD zJkxUF3@yYadlz+h6!47Vj(_s@kKt~6uh^zr4om%1w(})wY-aPUkvpY2UMmxyeJG4 z{wcZ)(5=L)#5-hBNcN?*40Ly6I+FJG)Qh%!vDa-K-Dmg31No9SQc1ZJwS6PQ`)Vop z=0oKY;e~&7+e$*3=#CC%eGtK$bkHK%gQ1YkTO8VyAHRH4GCsM#e(8jJXJu2pPHYy= zy^g+tehz$icJGw?ZP`c`WsiWGe0>tyk}zp{HsG)eHH%<^CO#w9BcA=(kvQtnc{oSi zX0{q4b>*ClFd4k0h_^ROXHS&NlI_JN8P?5?qcT!1rPLXoe;}1Y-%yXsKK}95Z+wFu znYBKDf%7us%KZFFeeGmwtV;l5K%Ku?qtF~hnti6cw?XswxWN@DABd*iNjgN4|jh`q(;i2XJpNYrTO= zWX4r5oumQ{)%_E()>Ce$VWhWvn6*cFdn_D!hugzgrA(lE$Yc%Czd&~Usx6tW*(-;L zPDA(X6?J~NKGu(IwpmkFcUR0a)JK2O&Ij^TU-w~opU3U)2har)l+poM%$C^za0P%R z^l$+71)x6w1Lh$J{V)%a03i#FX5*{@x(x6>?4d*y-o>CtoN+rCBTAU>G^2nyV1@<+ zReE{cIby+AXjYY4R3ag}uEvc(NSYfIWl5O{Sxr^+h;y9+FMRUBxI8(X{*14yt4n$( z>q(9FWNPtIKICxu*_jW0>g$JQ?_9ol4Bp}?pMmoJJHcCH{4+R zp09Ajx^BteKzUrE@f4!{GO)g18n^box%(rWKNzyialTj~s!8cerUOv;aO#r1J7Z^p zT|q&W&ebpgQ;dsQ1zx-2OtCc4+;XWMD16$Z`sb z%*zT^&dFZuT5%y4i;}@$A{6xz{KreDUm)yj1Xgz9xzZZ4>}2xRVvo}a(Ng+6qq(0NegKl z*`(qgRCC%=P7ku7Se+rb_Xld!K~ov=~78jTW3`Hq*H{?f{X@5 z#zz5ZuS3<-9eq9A{PLSrxOwi{{`vW1FO^CWa#zs--sV5ckoe@8}|6YF;Q<D*)VI3)flplGb^P2p7mL4w!>*78lgS(j z;a7ysW?*IAGXSZnvmpu&)R@*NPwZYwDub=ZHWLC4g?vL*j5ip)M(l9n+ehSGytKZ3 z7?0)wFEtkC9{NiZ@#s@Kd@)$2E_at zJ+3$E&^rwOs=~de!XJ!n*1Zu(Y(_(c?*6@_CMOq`#bd64v2j0P-}}(`n5&Do4tU{EvtonB zi{2V<_FV&!nLm!6Ht?)Iz4^ctCD{9o$$WX`lDLMkXNG_gL}Z(;hTSo|K(ofW4k@7T z7Zl;BQ)d*AeWh$CF#D+oDbBw2N3e#SxL5fML&IpoLC-QvffLH%&I|3&P?UixWdfae z?REt^ajSNAcYyMtO??HJ@n)K^IO=8r2t{FD*e~cH(A7*v{b4IG)p3NQx70bLXEkax zn%H=O&>%Ez$MXt-iK1sp>H=W))1O{#G)Qp({HuelpTgup7`s!|t5eUW@O9(hE8I2C>YTILZY|EB}Y<$4@0Anzh zZDPQ-0Gj||16fQ$41qX-4I#-w5-vkK#18ApNM>XxL*Tf}L5%aR#``0t}`Z9@%R3655;4_+5y> zcV4^Wjsq85Ky*ZItv>&J_3xl&dvPQ6wY*r$G&C3lAtnyy3YxMD|T@%1Y)8+{{0;nI?(_Hv^D;nYjSs6x4m8blr%8+=g8 z*zE}bM9l6Em=I=mN!wv!G`S}oTCLOZa8(0Hn%t{-8$GeDx4o(eo=R-<86->-ot>D> zkrRd(Jo%0zYj0oEpGXW`*d7dX7SY^MaK!T=9nV{t1MnXB$+Zj}h zU$!f5!@JFQ$+b1Tx4wY+4Ic9%gwn@uOu=j_rPx$xttp!K$KcIao{sJH?e{(D`<9RO zm6GM@INTn8DvsjKS*HX4cQltlZ%q3%$ z)O#6LoI74qd!c$Svkfc$F};_Q)#|z9#|e8-om2k>R*448+-4QzTJ9e-t!Tff>H7Oi z|EO_AetZAae|+^k`wG+aHf9x`pCtH;bbCH11)mBs;b3sB*X8oMyk1eObQJlP9SU}6 zPx(hBal44bNZ4w@|1FWxXe^eb8c5Mt5->3)`5qcbQ9Wo#${I*fETH+ktAg*Pf^_ca zOdX{Ew{t1>lNLLv?eXft=3-hrFV#!v@CG}Ivxft~C>GvG|W7aR%U1`+K;Q`%jkgiYtVB-tYIay}e9Z`)X$}k#BLD7Y~$SS*!I`AK5uHzX)%r9ogAhVDINg9{vOBVZP>` zILpoDQQo3&T^s!%rLkm3%B$n-`nd+vVLMNiOxX)3sPDdik_Ih2KO{I^g5WeDG~{u* zJa}-OoX6u81W@L^IifP`H(1OD;>ovc+~pGxkLjq>X*3}t$8nwtIqM%deoj%K5*3Su z8OxGfr4{AKBXcSU>Qo{~d_dJ#Btn2~PbO z3y*)3?(SK6a5%rGGW8$IUbzh|#q=$RC7)8n37t;+C?7CGD^UpZ*=)Q{ujj*j7zTZ# z{yiZO5Y1+P0QgOI+bU;G7Yy$Uv@e)v#uVny^5so#LTNtbA9>Lv zyh+i=Bi!DxQ-x#NR-Y-HJ3+lB=BP@rOujWLcD3sfIFel&f7;vG)8!4%?=3o>;8WRF z@AAxn0~z?WZN*K6@ce;!o=|1^@|f7$-{akW!*7u7`@1L(VaWu29sLh(^K;UrcRL_( z2o6M*=N(?}kQj1_V#o{v0Nt*Gye>jj4~IfgS19TaL34;iGtrCDxXxkIIrMg`RnV6) zN4qN)QA~w>cR6kg+Pc8g|yq-o!4_J8Mo zd1PesebLI&O0;eD=t$F|$3G31(Z(ZvRe7BX5v;Fe|>+>Tp@D z4rDN_B~eK^tJUh`9AObb{2%&8fj?xm0-`Biz-I6S%L4F9yJtGCM|FIu4~U-TWg8QG4BC89qqNqzE~_4oC5xnF~i)a(bH z)ZT5q)N8<-7K9rxaip5jP*-N`dHX*5%l6moZ`yUd9dcGv*}O}zRdPmXG@304OX;X$ zkXxomZZ>{o#*{wGwA3h?cNciexs>^*^)!%h9iVVF|m>dJf3x3e5m!&paMkUUg)MnO#ls$Wq9%iBzQ#Ww-?Aa4)sn zKu)%-t)Fk^r(zzBsT_DyKRZpW;0+`)m4(Ixura+ zRkc5g9$JhZ;@D&FdqO}pmf^AYJ0XCdn7S6(UU`or0_8k^F`7ijKoKkiAClTLy@NR} z;q%$s2eXZd?gUEgUeve<1{OiY8BN50wHz?r>S{a?}PKf9w_cMje zx{q&d7>PD`=7k1U6+N7{DWPMceHZm~47dAy9V>ehnYhY;bORB$Bl?5T;%!E2}Svqhe zo)~@=sedY{9XF3xQH1l<2aQR~L+PX=CW}3=C%qsNagm2BIivwQb|fftK!Y@2K78w_SPph07y-9ZeSAt>4ag zQ*9yRT{jmmU6G&KYY*CVVkBk@1)D)Fw!Li2|2Z{&y`m%kqGHRxnAr9MGssJRwyZ~1 zfXYT$XUSrM6*FQh9H%2O&j&~dm($r(lc$agr_RwU4`nMLu4sO6)BPX*0ebF^sg=a! zJb#CL&H~?{IxAgL6bm2BD9{Ny#OdHDC;NG@0OKk%K&uR2M6C)R$So0rC_Ho&FEHReEJU2Z} zVel+>qCnGz_5;PunTJijP{?Kt1${=u?f>o8v;VX8SNAkm*R4z@SFWoz%QQ@BJLawS zNsDb3i(oXH4J;sc+YAR7;9`bYgNrqYtf4Fbms0?OYse|!FM_Py=_M`@ES%9M7!0hL zV-fX}GoWZ9(mrI5&2)Tw>bUIq7Obz*bD@=3CMLIhVd4Mo4)u~WM7 z_JgCyxt9 z-p9k{XDvMMoSYHs?$`s(4s)%7pmJY#a?{=7haJN;TZ zU_w|vgI+<5ig}R{-3~kF#<&7`w@onOX|n>8U=$2`J7?z^$k;h6I4Zyk1!xrD_c*wg zgL)1MoShpo3Yc{k>`s^4=Elp-dKAD50W<>mJsVtWgL)g}2#+x2wh@Q`^_XUr?H~Mh zBp@5I(nAL~k(wrC=9A3w@vLz2POTGOLBU%*NXKjD%H$spXdcbv@edx4;wda0x8x5nh=02gx0$B#Ld(iBKB*qr9x?rml znwwZC&utGNXR@FmaWgC5iA#auvll* zn@xy#L?P&VqBc3}t9180Sv_6VxCCJR(| z;6EByM)}-6z{#=YzQ$(Nr+=vnBI z9hcNjY8RE zDcc?~LDQ~~6xtrz7kVo6GUoF_xe($4Wq;6*bW2?>6P6u#*?-Ep35^F8!g!rJC(QDq zB8x0FPbw!=Pbw?#UpI#@6(U^K+^LW=;caLk9uprJ{aQBA6F}xs>gOcQ@fEAUjb@EK zcuMwAA9RRAVASXL0d}?1X|$Sn*;;DiM6HQfoD%+s`T0{M%ym^`Gc~h~&&qaF8~5HY z%W`V!YK%M@<0*Q_N&U_E!Ig(W5I3wJFO=XOeVH53!40}?y1lxe=-$xjbe8Qzi|Y+P ze8dm;`k~)lb_FCCf?%JoBH66_%w{YO=@geV{)wW062A>Vzd*dBRjY+F)xz28jsmsb zq32<=&3d{oGk91DcUFRX?Gfw2gMs*_%Ej%jgRva^@12lE#6`_7S#-kLDhd~Ip-Ae8$_UK1BofX&uWSASoKqcTAbq6I62<-E-aFs-?;H>*B zMxHmgvG`UqtEF*2{1fY|{>ehYKcO@|TR2lVt7)}jpEj%616GgmzyY(zyu3Kv5j+q~ zz#CR!>48|PAp}>AA$QAQ@rlPHVckmQUVR_+@iQdlyk$8?kMB(%{JswgzNqhBA7e3M z(O>jpt`1{~VD@kpawW(aIn{4|PO)Dg>VPyt0bVtAIj&fDMhJgyjdf=I-R^@2eLayi zJ0$Vo$!IQu+5D-mq33?dGRcJ-dQNI$vvZh7Tc+sFzs2;Uqo57U!_r%$$!so^+gf+` z&I5x8wd5?bWfwbMG$OWojbvmFE7WN zSAY0IbEA3R;$g9|BcjF(dH~BVji4QDk~-ZUPt%yqJl=7n1M(fi9jKijW1?x0N|fA= z)q!-1VcMfP+kg$(Y@8=x9>~GmYEB9NO9z3TmC9BF%0LiOqYQ;p>G8~{zsj&cWmt4d znBTpQh^cMCaN~?fzm`l}S8&1RMJaaGGFG>Ph47y=v3)=42^-s2wEOGfeMz90x#@Okhk_qrN>JS)DQ&1)<2~ z0s{dQ2)IE;$e>IDq|C%I%4)Y77z_K*3irj6YWko6)b_*ZP>&q zxG)#OIF@Gj9;l;;!F9`;8ZPM0Ll=|4-VOgtMUnG;>&iYVsc+HKvfl*Q4jz>4DW)Z3 zsSm_PpebLsr=WgBsGo&DD}ENPS3$Ek~)mhF^AvhLndN5DhIC^Xc}(X&_sB#QM9MgAM|-` zCSb%;7|S;_pqgec30^_Nkxmp;RiD?Z^$ry&=~r)2<~S468-9G?fW0-Bwf>9HS}Zt+ zH);>XT*#Do(`dPjfRgK-t zsn12NPh(X_SGh+pO|L`yso$DwrAjCojgNYQ-lREsRr1G4=F>^IGPyH}29hw4%q9_^ zgh;gu+v|eFeT96|k_ZJot70aw%B?X8Q@VgToO819Koo8@J(=abqON`W9&Ri))l_aT zp4;L}qhw3@-;wD>#E&HAC6-AoMvez%`95Kn4`5DWyN_{TMs1hqLLS*27;tb#ONAq$ zd{Q~BC^`q<_(N2s%1glNIif$>$2o&E+N)r{0y1H`; zfwZ)tc9k%*#qj3O9XRm00~(7=`MiB{ddo(|22-Ie3(+(lKPOltwHr)$Udu?&xLSKh#&XUrTKMxuu@=RkeJ^-OM_)f%;h3AkA}`$8ZyY9(tef!m@X>_jd0my==gn^&;Mj1$CQ! zOxWXbtfCDxyG;TXA#5f+G!sSfm(+XqbG4fpy6R3*fb% zOIRvUeO9P0D+<(0hSqJxjK(UiD|YR@q$YyhM?|pyntc1?P(Lh-V4sxtw_Z$3pTy&r z2Ukmc8Z?!&L6fhHiK@$9ps_h|TMOog@$!wwba^a^pe(10#mr5dOjU`pU@)B~xG4LZ zz*LFM^f78lIN^J>Pj*YV=_6Kvl-hpwoJC!VKOnFV$D{&2|X9vwBv^M_8WF=ign%ji3gS_ zSbf>=cQQjNu`TedXq{{3YaeEskfillIVjh~d(D!zFVqmg(#>=T-zP5CCK zX>JESv;6ZkM#7?$sQKv0KrWNfo5@0dZy!DW2};3symJ)SIkWu=VC4?p@%YX8OBB3u-==zeM^@@@d~kYkhxHvgYQ8-6M?9 zHH?JjTHk9v4#+b|-(5f{@vdZT>NS87#@jxOyqUVqy23wyLgk-vJ+G;;DL|o&xo2eR z9hN!hdTa{ni|=ifhsI?-1AtN{-HkbDq;DIB`UY(o>a(1A7?=6qN*N2r64|2uEy>!s zq#=lBe*Q2KY1ID6{_03Qf06t1BTz3m9ZCF9 z1cSq}qwv~z$j^Se_UzjV$_R4)X8dpjlEbpgHw90rJu6)c1*MML{|{QdAx!n$x+=UU1$0gcIQb)s4ixiN>aXakAD(h3>ks5T7GH;tY8;Oo8OJX6?zs;*d3of=rTV#PWz%l_355_r#@7xBs_F>>JXNCV=;@R(^l znGZ{06z07H-eE7Z&AZn-?Pa`P-9P{aR`bxcN-=(=^6`#|9a`6?bD6#3E+oRxN&Hi^ zGIN-@PPKG%XN=t~E%S_LS;3z=iOPe-vI&g<@QWg;#BX3RBn$IQ9Lls?&kXO6YC z4l}m+oO8{5M4syqSt~3S^+qBMrAu-7GPLnnt3F_asI zp+s#>%07QcJyyA%->Pf!Pji*f#Q(TfjsJny-2KX$GsF`#{ztO5=44-Lr&NCj;I4}l ze>g^)|~vzPt=}y8(6BYIa9I&KNLAzhvmQ`wK0;P{dVoyx3MbKN|elG&9w~6 z4i%I&C)e?9wGMb0xCMMpE|E&6XdP)>N8-FXs9zdd2fVCDsUwnTpmn5h9r1b{)aN?w z$1jzBbg2D+{$`hH1Q{_UFp4wgn)*H?b6}ABp;PLBVv`e78~l6-Jau0-BQ&Pyb6BJ= zN+HIa$D>(R1MBF^XqSmZF5wIna$k6ELJnU-{6A=8m=KQmmD`A^(#`i13#+lZE;02_ zYXn_~jAnL}x{vj7mWp1FMtMWTfFHcu1Xpo@WmXYJNUneylN0R|?HxXGTzkphUDS0g zxxl9;GIIPCW|+ALkI`?HG5Q`jD6a=Ys*7`suttp9#^en8O8tM4F)}M`1UE}7fVE6w5#(%)ZI_e>O+piD+6Vkmf1X6L zm)es1gi?tH{bbAfUG0T@i#r`*c#hn`jx&%UYQ{Q_<%p&-8Qwybo}ke8iB~5`B)uu( z3H!8v;;8>s%o$EpkNT%5sUbJ5L|~JxVa{_mpb1k+B3dEq!u_KU?TrnsSQh;>{6?s~ z($rLG52>HK)5%0Cl}M)l2v<&hdDofCr^=XDu5P`q1ClTi`s`pK5GV|0vy0mTfwslj zRBLOhp|$mQ<76xWILG`7ZpA#&PCDmaye?u?C+TXbKaoUb-svy#rCbSd#!$Jb*xa6o zri&Y$(CK=l05=r26;Q#ytr<4A_`MyG?-=^REIiyz=|BdS|CSvWG_ z@OG;n`{;e~tCO!Dw-<$%i0!p-qFUg2{DtSqi|1u?<4&)Ez7i!vx|6;VCDi=lXycyI z>`e!kWOpuW-1#DUZhTW}b@z(YMf0B78o#JxMPhZw{ z)+9Seut0qUkXu}aTnkN}m7O3QIX!v$$Z=Wqhv?)qxML;cd+Oj<;oqk8@Q>qDcf#G{ z-yT<<@5OIH^bJ66J4U6JhCw$kTPt%hmsr+89||-v@d|nh%Va@vLQ@HNL@pYt=!gtY z4v@|kCdt)aK|aAgd*sOE5n`}=`Y7?2TbFXrBZ97Y0yPx+_k$U+5-6&m;r;~-OW-4 zW+Fs`@<~h)n{@or1fyH(lQ}>;Wt|8MIC-K<%%>+$s7EX6VYdzGW^+<_c3vT|<+F=& zJ~g^LvY*EqcKzfh@FEgfKH76ZQHd>In8h9XZ<;F(-+A$Q$XI=c>Q;S4y42xxxjl9d zZ?js=f;r&HdU`wz?}2&&dIYmDWcRr29>H$ljIvi{%r)qU7FIhRGysiy$N{}sKcoXL z9ng!q{bp#E-Nku5$j<3FGd&_vv^{*Ms;4x*LCA5KtkIz;c2MmlQC0j9X5`6-CmQVy zc&Kr>(&zoME7z8Dx^nrP>kFQ~$_U1a)!+EqmlpKieb+6mt+(8DckhBPz3}g=-y)NUeG#8Aps8jf~McY~5hpW_{So>KM*K=y=6o09@I`@hE~2 zhssnLdVN(^pT#(E_Q(mMg?;1%RcVhoOEI?&e2%|=%D;sukOvQk=TS#xJ70uo14sv8heRL}- z#d0_x+HnrVt^q>dc%T}IqmQfov!6nOedG!P}Zf5cx({qQf|j*fy0PEP$- z)4CL2n%7~6OD6xAzYeaCEEwqVUUpmYTD(mT^tx}my8Gty;x3)1=g6org)p8cF+a0Y zYP04V@IDi5%eSGn-MYa@5}5oxyaP22(g5+CV|Tv6RPlR75@|{DF*M4Oz&k5G3zq|x zC^+eTMzjEE#H~TMN*38O$1mXREiD_*E=#YYG&Y&A4gl8}k3#S6%N{};i z6%*%FL#Gs|GwQRa3zMf$pPnpGkJNN)Bm7TERUf7!ihmbVa#WGZ_`2d1H%|S)-60G7Og-HIAplvDJ1P z40y%W45o^*&xyi-5=n%bWe}fd1?3u)@@yqV(cDft(116|RLxna2QBVgD!P|iV@(O0e^l6$PpnQR8OGeQ+O4ZU#MSgdncPrcs=T3Vpz}bacU^DK>Up85 ze{1V0NEbAr5(%t;VTwO>*fVK$I!{rnt^z@xM(Wq>*{Kkc9}e>K)i4* z!5>ccJC5gORLZ){UcC-~)vuMeAWRH&K4FyD%-ChO=Az4FCp5waRHeg{#Ca>G({#J3 ztIQVhym-|RXG~{NPu10r@=a|W!OxllLBB~zM10&s$?F#yZMwr-4uACvD`RUfxilNU z=+a9vpPrh$p7`)k{Q`2-FW`lexD3lfE&A+O&}$cBV^J8GVqlF1F zX6hBtC76kCxe21p;q4}vbCL$V{4=@oBHmJ~Gn@hvSE+{9f50c8uP{`M6q?emXjsa{ zLLcZ8u)Enu0#59(I^Ev)aS8}Y9ANkx6vVsM7OBtS(0?CqkCA9Q-wrv;SgUU=GhWQw zCHn~8Lsso~KI}vro!gzr>C9$9B)BS?FzfM_W?ZGCW(KuL8x-%V)pPVn?Iex*SvX!T zkX;1M>~jxhyJcGgjhoa`ZG>Q4Ean=_Vti>RRkXT&=F2V@!d_czq2pqA)VpIeHMXcV z*%*o>`d6c%&S=(cvzfepyUWB}!i1QukJSoTH=LrqrI_lX(Ag+JFRYqz*!R=%Sr<~w_F&z>DtiBD|XNKHbg`dA8jnE zwnK}N1=Bqz=#t{5QCX8^9X%z92hWUynJCDZ+86M(~*F zP<{3ergkk@xVGJMAk{7;Z3p1HW@kcL(=io>FIRdQG<7B2xAS=2bmDbm1`bTC7D^c} zFP~)w@&U*PAm}vM+v=(Iy*W#@ka^X@|~kczw^KT<3FZauGzHd8sxcZ)26HBu_;gg3C5`1MuX(~ zKIRDkQJJRB{V~J1O7?_J2<6%JRiemCoL`slR*5%E$oHe>a45bD6`v5^u+9r_ zHTgq9t1TJ{njUP~TC}*usMqQj{Lc17ygQe1cw4jSc+ix-UN=SE3zY3p2S@n&@sARz87Z4%s$BZq#z7-jJd{pu(*+1mCyTpTxNAlZ{+A2 zt8HL-Wl=&>EzkqL)77K1*BUXIAb0Yz9}K$YQtFaZX|1P5c04tzgLl1hTe;Ce*I}lo zFx2jMCG&w|Q+!};N5_SpV6+Phz2)L17dtx&345gVHd`#y9&1`cSEWC}TN8yvxrTYI zF>`ojd-IZF(8XPEG2xMGyh-QIHUyHQaDLnmP23R!XqTc$4Lf4Y8zFCu7!ju%HSFPZ zCS+n&gIqNHH-G3vy0zyV?;DyDDDHlEm+*q12+;ESJ16rvDr-QkztU=8F*ALq;qN0$%ULai~XV=y1SLUl#gNiFe)v9Qf*4QHSj z$OOc-Fyn$55yF5j7S6iHbmL6{7?0U(_SIGsRPFyLDhS65_Sq;v%zk9GE+sylcFL9A zwMLJB*0?b5$DEnev^W-Xw?!7rH+j>c{QR_?qJqJlv{{lpD|>q`ThheaZsaUO3&Slj zk+WfH8&!z11rue}m+&=s@LhPk`=tiaJ?60Ug!Uz*1SBysa|wnEj+(~fqG(^mgNW*_ zw2)JI%c<%KS*b*O!Vq&~nrFa>Tst*It;q%J=aC)1aoLp;jPHv2?hl4sJeE+=k^uL-w}coz;W8d@Ribo~(?qk1v(4g;?uM|d&avf4%!(>RaGy2=dP z4!k!gp$%lywKJ2%Q{;&(b&oG=YfwuAWzU9(#P)diV8(VQ{I`e224~pG7`W)XvEnyx zy6L;QG{eer3?3t*vtS1WDPkE_52*Jzd1u5)(4F1mumKhr)u042y327lFfz)tnCey$ z%_Z2lbLW9XJ|92uA=}QIVRq{EMSXpXpnvMr%{ze_&*s+{&paT6CCL#fpHIQmxOYq% z!3@rkfO%AkjaZ=NNO+8hkvRv$ImR2zwm@u^$?T7>BJ7N6;z1-u>b!fBI`2M5S!mUe z)U67M5YH19tQv@fWrOhUl^{KVWet}U1t@&Dyxi}4&Mm0G$k5Z_H=bb=MCq37yEpRd-KEdq8(j(S{f2f zErCz|wQtGLqQ2|INLFWql^sD$Xc#hf_5PGTYk<_jJhw(uhb(6^MU-Nmr{nXpYh}F= zZ)2MCjv%Y5H$r6$3iovxZjpRHnr$znqazR$6*$VjQn-JY;S|5|VUG(KMj&!4aDGy<}e{Kq&wloA0OI_e*0M0a|CuPJPCamZ{7peH@v9>J@LPN zuMv8^81<31W8&|{v~8Xgvp9GW?iU{xpA@G>R`dgXPz?CoMt&c2FM}Ar59ErctA%6o zz1!I{r_WS(oFsP^8nHpA`JTpA{;!#`zGb)|kKSzF{HSxu3-%6z_8sl$~`*Xqc;cO6fwZDLx|wF=II zf2h{y$7l@5ng&;)mlj$vEO%Vh`O=orv(H?qmiT$CL|?rG?FR`8`*ZX?Oy`n#wdmRV zpZ*w4H_u8xA*WAIVWc{O)6 zX9nIO&*x{<^nX#(x5)GP1(MF-^aqvn_40gvQB8kBN#8Ed=K~+B?L7nP-oxI1EvRWs zx*~M@ku7ZIfIYEG*?&9<3h0`#pVi?W{f#CbkLV`4l_)(7kw=5)v&%g7rdsCLlGQJl z5kH{J=fld_+eKHc5_f&Dpsa8bi;0{s(J}p|j6Xk8@aK$Vw0J375>WA{JPY>3?-khJOGaCO z!devA>2G1!4K-K;`{?vappNDl$tqYW7ZXug5z4Q950_c0Df86y)>@e#N>+zlMwn6N zr?|`|nl_PZO}WGyxE4#T7ORF=`XMf}MN`ky(^uE(Ifv`9)atR;>Ujs3DN@{!>v`;l z8lKD>qa}*7c(U1Lo|&Ued}bMfPw=C3UYn_=uLhss-AekyGw})Skke=56S_c2pM_6o zsggbmpU}lh`Ye2cZ&AEyo{dlN4JBQRPckn#pzxA}_fTRhBSSPxxyf8j|8OQO?$J#O z*D);_<2ec(RdH`N?4y5I_IG_UM)hlp!^jrb?(Z|?ASaEE4Y zjX1qiNgtEvR-Qwg?o!h8nz?o2^j;->jXbwBUFOdRRKAM~L$0Gx+`*9N`bu zc-dxGj6&A+xMx4Jw!cGku{YPpj}5(NU|wIlD~{)!-l7rNCQ5X$s#xmz-0FC;Nsh7b)RSGc z%H#b-PKTFkcs!iWHY({4%JWBg!rxPSf)q{flh@$H$7*uXfGQW^HTb47U!bLn%0<1k z`I-%Tg2Ga&j%9^hF9mO@^Zqm8@%*ZLD%;kIVUbB1hNfJ7Y-YnhwN0Jh-$~Y@T%=7? zWUe-S9z3qvJjB{sYPGa#bx>!Qd79!VEh7|LYSqk9=Al}d$H41Av*ULypv6`W%L5?G z0JF_-@!(%o9^n!>9gb_)Jx*Vs zq+g_6_c-0Cq{lVup1=o{^wKOD;3&ZxT<@7#Ji^R$m8KK9$6b?^UIbrI<-@lmV^fC8 zhmEu4!#ex~_@WB`TP#m%4q1Rk#&Fko@E3O~82GMaEETEv(5~(SvtcL3>#*8mnL0n` zuJLm(-lD+%Trzsyl;!oz4NKbmpt=tJDjBs0IdYpVloxW>_VyP+op0i;lozt8&(_U? zols#a-&wfoZ=36NZ$<3xAb@&NbP@e6cd2U1d zn5@h7Ak7{i<54@)uzU?O0P~tLLe=;1x#3UL;B~zp3@@K)@RE^bkh#A{hHrmAcygv; ze}<)p8i%A>iTAC8oN35)xccY)19d!IYZD`#5C2dNo}OjkKGSk)tKL0CPblUtlOlW8 z>=HlMlu&V=d5hAMZ=#n;DUb|MdH}6JQor`3a;7o;Cst7M-;ncXo^9a#H{^UW^XH#& z;QSLx{#R(L@csu3@`;DcPqPP={BfH9c_sf}Y5hi=|8*t*LFM@~&OUJdg|#z|6g~Se zU|2#M!5sO|%*@9$B3YL|asB~=Dsl64&-mt{SOL=sja|fC@I>mC;lF(-*73pcMEbVN z=eU1A6wAm3+TR!_A5rojruiq7{Jk`voBosT-SMf)8osz#p#y`0{J1Xzjn*8fz{F{;Q#Q6u5{7=&Srl_8W8}>W%^*1WeTB!HiIZQg;pCS!yj~qA@2=tGekH#; z11GPo;p8d}?^nmk_8Ly!rR1-ffsbvThINWqa zoiogqG&ct|*i$MjweeM9(^@XFwm-Sg+s9u7kCC~MZL<&c^{88Utqk(l_)d8@Gd+(C z?edoYKF^&1U)DUgciznBYWrwlAE0=r+T542wB;>Y{x?~N*VG}Glk52Vp-R8D4%z-;QU3$=!IYHe8T}VcucAR{#cL4ncYxfHEt^h4%k)e5Iqt9N95$y> z=WqexEHSb>d*(!2-b+kS-1WQe;!(3R!0W?&pqLRMx?zFGXJuC+)*3FPSdW=LQ>g>+ z_?bMg=mjJGnk&8pg;ytz%aLw6>yDlEhN{?LbNMroX!Fu;w8Pcl;u5Yz)Ywm;ofh2*ocfggWEv-Bo>btvYefLfkr z_H!p{JkvL7EQAVAbV1*(J@>n3Dc|n!f)JPblyg()8?k@Kq&U3qOKsJ)~Z0MWC$ z3JoGN#%l&+Vv3#%F@lpdxfo!Dh;?FQI9_=5XaNc*j~C96NH}eI=ryDbv(O!WV)uf3 zUM4s%rXtaX#U-ZiNdB37>UiI}Hbv{Z7_XxMb4pUEG2X?AtEz8ES)EK2}49+7@2vETi$`$;$B1|XjH1oxTm zH9ulz%qCMXvtNLM&TWdMLGIMa!dZg+CknY^B$&|z`NS=mh2t~FfEa$*=EU*eSOO-e zH5Bruh*C0ocQ%IKV-n3=(B_JU!nQyp>7jeu-?3aiK=J3B^4|5bf@{B(jDmmWea5>O zwx8}@vQEZbKdr-BX3G21pU1Gb)O9h~BhzH(R&+6bQq#pq&7q6&|3!~u`VY8lXT3k{ z13y&S_%q4q7ib$DY8!upVHa!eCO-AgwOU@U)sj4~7WIxAE}(l=v%FVLzasBH5OEFw zM`TqW`3?lHA~>J!RkCi-UDH2TVObr8)ob@EI6>D{Gx#Y`b}M%1D*`8TD`jASQk%ZY2mgvG=n2xruI`poJ2`Z}+^ zzv1=uZ<_k(^7_l{`m}3nfz;qh$Lh-~7N{?-fV#NCX%E?5W-PA>Ws%LXzNjNkO{?Z! zUe`xb9xmk#g{)3fz;gcbdcl*71Z?3@)MX2DX3+%dXGjzuzbmgV#lHmbMC-Q(HMmnX zy`sCWR^S|(V<`+b55u|YdP3}xKh$t`TCyvuLe1x^3aM=gXmyPKrs^2!-dD$n>LgRy z+0MH`Vm(?gICyuyzN9t)KUi zeer6#9(%#7v-ZXPO8T^BUxajjC3105(NQ5X(A>IHKDgiaumTR!EIIAgk&u=2rOtJbl}Ct z5FV0{7nUq}+>T?^4E`8lOK~kj$BVBp?%Rg1s>_k?^W;_eTvX;w-a53fCVJP(pkVDx zRF*kS&%?w#8SZ_aI{~wbJa1bd&5-AbUhBKHXFdRa1(cQ5(?-u(i<&dsWF1!XY`F}1 zHds;CJX<&YHuLXvt_$FYT3U_MA5hYtRcW;%hkS>mV+nE=ZD$@-(x1`5XD}~SM8}9+ zt;m}WIv+YbA7(lq&gTJ%5|10EOvW)qKhOM1@i_YGRl~Ot_;r|Gn-rM>@J2@9^#J6K z66$=4$`rH6@|o_X&Cy84PbuLEKLRxRUO4|#O8yU&{LcZ6-WSe)RLOr;$^Qz_o`EJcdR`>A z0A}ccy+^*P560qrt-cF^_z2MGDd7AT%^4iYzg=DP^t>aFiQDEV4F8Iu1ibp(|D z*YEO3?$v7VmGhn?^AXK?4}tjXtp4AioX4pBzh`Fu*)>YO+W+md`oBoYUtd4(!B88O z^PVI-uH~1EWGH73>;Z~}rst8X zIZ0K^sT`D~elDmSL}7j*)3TV)Zh$gO2E+Uk9Yb_|QW=FQvM1GQ z7Jt9)41POCTreNIu0S{|!b=tkIcooc`Kl}|#S96Lw`fSz0|}B4yPdHTyg=`ZrJYZp zl=IezafNffxozQS);Dinm*#zE#*anOe|n9=`3ES1quPa%^Y**e0)HF7N^&uGZ_LgW)OK(Z9#kJ2_fS5IKm;g zZrSady1O^w>h8FttLu_G0wI?x5OBFdQ}22`A(z`9`DH_&tJgb_=7M%UXiW8s{f@q$ z_S#&D)<9~|4*N6N9q z!TNO2$HFCWEksMeT7Zn+tzKkwZFM2Nt;4p(#^|jb)-6`XXzn&6BiGHLzK7Z#Z$n$# zcDH@BjcJoiwu-3@w&nJ<_f&FwGy5|r^8!5bY;&%HKle$AOt$h+=J5>Ln%SNCXoktq z0vVV|k^*~^`;#b%;iXtMSFt8TNi>;+4<#Q@qOHl@$&V(PB!y4HWXB8B`y?YSW9Wb# zr2_e7u{tZ>Lb}jdU<%n6rhw#VX{)qlVKfV2)}BRgWns1kmrZ9ovrIOP;hx1{_)~f| z(~Lhcz%&6!r_-HjCLQFW&=`&9-22_g=!QK+UYd3@>)r4h?sM)*H*=924!L2#4Ig)Z z-Hmp;A?Fs|$mBLUVULry3|O{Vn7(1le#^HkZ&=u{1%AbH&Vt4*aL5A97Wla3M;6p= z*=j)?`JLl7aClr{&#yVSpZgYv!W=xu!Ep`_aqw~OM;zj~E)q(UOd`T_SoHgVccT~e zjd=HY@AbavWq;~@%Zr}z!Z9y&dCOk(oEP5U{el-6yk0Ldc>$m2H}Xv1KK?2GHJ-8a z^Lg}B9$v?Pjz=tC=Fv%B>VuE*a0?F&d?%00JTT==sPA6W5fh4;;9Dm6VG~?wf zO6Zx=i>3c6G53`oEujyW;H9MxmC(u(Tv&n!O0Xo)m!o1Rc}wXMQ;NSZ4J4-+syr7z z7C#kdz7U7;;+baH`~s9DOEgtk)_hSj>ZJ)l@_2)l$D6<2{M}}zd7sT$X_idZN^|4| z1in_l?Q3gGwd3#4=6fpb3X--HByCA#D>t=&tQ}p|4lizp%i3Z4KHgbrC%D%hNMsW| z2_|vG<*y_fvs}vyQ~RDxrYrdK$g|-D{+tHS`a|SXde-hEpLjUTLdDPmO)X(E9FOD5 z!^sqi`Xt|oZ=-LY?-8Hg>w~}tdye>C^P#7GP)=o_&+d!)=KI*6`rzk$FZ$4JK6srE zUh0FaFX=1$n8$p_e5ZWB@Ub1fLEjeNM|`Zom-ZpEFRF(IJ?uTLhx_#KMm_wg9xl|w z$7rfWzt#I7iF^)=-iVMB286u=%L%aeN#P9veO7?O!hQi+1t`1#H%ik@ONNAtg{y@x z3%?U|W&wUrfR77b7m!bA6t)TsE@&2bCc>ckKV;y3=3xd+GVu2d9AYkJ(7!S8aRwS0 zAA@+tOCoujcrhmqiyOpk;(qZ-(a`fP@%!Q%BJ))d4%0NoCWggUk@;uwE8>KBPGpC~ ztHql{#w=z<^keb2BDza_T>P%cED^Vgs7r*6BIHD97I_2g|8E1l#{hR3;5h?aW`K_y zAZLIU!xk$vSYgr1bHFaxqxOwJ1DIr}kbo}KmD({`k{L$e)VAsfwq4ZVrb7ZDsma6W?1AowUEI{P>aZbaJ={`VvY zsl)P#>k1pH8+L5if%p9Du3Jxxx2x41JIK%V)qx58i=@z8B~#9qp=qp-^=is``8)oR zm9wj}%GaN+KA?*0C}eRm5#_Vw`;J03OY-qg;<_(e%x0@NA-iLufLW6Q;ZEugxGsw& zPgr>^%8zP8KQ5W zCTU-VrK#`X*H=UG+f}e>>h#nh@{V?gLX%g7l(Yy2euaF2Lmvo&_i@+sAFcN>9B_jS z=mg8bW#DFTANV4cbH9bT;Gcm%K?py67~D1enq;>LVCXi^?f^pbfmx&|9RxlJ70hMH22BRe&U-Lt8W1x!SDYB#vyoi>*ZV4%(vp77lIY|eKS~w z-I{K4$jSoILAFo&N3CMyw z@#|w)GP)J&!8ZJP1OB`jY=sDH!8x0u5v;+l^^kdHbmY?cAq=qsrw`%R0{j}pzk6_r z41OBX8&BZx?fBD&Wic1dH{q8J|7LJH4fA}CIs{U`P=}`U%S*&b&FRTk&%Ju?2zgWf zCXUe0vo8_;7i4GsQ_R3slk9%fX)k(bhDx?~+Gj*jf$vj<_!^P@>ly3`NE{w25e-yt zF!s*5iZ{FuTkciA;JVWaTkdhYRHhvB+{ILyhQGiN25*Nqo;KhTouozH4$O^Xm^v#C zUx;p9)O$g}Q|(>MM?)T6^^AQ{OV{e&NJDvJ?}AICRa-H&Y@Lwo&ZHzevt>5)p6Hc} z`Y&j6RjuJd15Wbls_6P-$1Gw}Y$}=@w!xOtq9%J49hzMb{wY3hxTR&qym)-xik6n) zdGV?H%?^jzVz)o*Fj)nM$;RL6vU{8Xy&&iVPLJKSGM-}^nFOb^iHLWGeJ;W26kNWr zlSiUW$0cxPE@N`=HnYRYbB=_xx&)I`Z*I5%F${uV^P0s>WpnSqWrHb)5&c@2T*4YI zy(lwS4Eb$S*Pjnh9x4s;B+!RC(l|F+`n=OE6Y1k zEFW!oo^*(}S{y{SGhrtFFs3iEY}W^d!6tAG5G6jbYF?v%Lur9)*%f9TZvX=?eUNIKAFrVDy~c zWZ>{0{=u0zqk;WDjJoy!RRJIrrSD?yY)N^~UP1e*OBn{hrfq zcZ_kz#ZqbiYy)fC?`{7MC~Uhs6wNXx@#)xJfg%zv(e+(OxGue@p+{zT%>Av zj5UtT_=K`X0h6ha8AfrYPNj%uGi8inA5S#?J<$|4A59+5#;kXSF(3CL9#5zkrlIS~ z)YQ}&ggv|0XCW4REt;!{fnnn5#1P+Ts=|5?qjV4=v+`esRWW|n2MmHTQB*OGV~Saf z+zBO%KhQDsk9`vlrkzsrbWNEF-JIeZjh&rQSNVs6-e|f4i3(*xDMD$aLX73;B39{@ z300ziryszc9kYy1-yp|IIgbw)i!p)inRibYYTBD*>}k&+rD zcF@3HQ-|kdtSXQnvYgCBis|f_otcQW|R8_~NX@e?36@=Xnu^4}SC`ZvC?*5W7n%1|7R>MB`m!_MhVM1;D z%P?$Qra9y`Oxw2b`OrW`0ZN=mm7lP5Xj0!I0T|OmZy1TeKNjV%C;IUT|6m72XAJ&r z7<^((CW@!6#-ovbO3XW%aNsDS8BOINAz%;&b*w{@G&rErObjrU3x#83ksJy~eV~OP z`3X%`Ac0VRlu47FqRV4@#^}~mv}1}MjHOWYnQY0) zNiU_T_*YmZFLg4+4`MsWM1+GS&6K;2O=o>zihGcu3O!Q^%qIfxPGlikUl@uTGu&5J zWqKEAcQWpT(LlTLn7F4Y472H{V4n86i;ANn2YMho%5FnBR^q4C~u@|CDsZf)|b9yIYq81bv{hkSk5*CE9K{h#$j(fzX2~62= z{An7>Ojm`CYxz)y61QfIPL_$cKuNQ~mX6JtNhtYxghQrWPvz||>#m!9gw zV%Z0s_$>56)I&n^3BE}#diWbQ_52fmcWtr9i)262B;Ii!@w`sZJ^Bs;UY{9tKc@?b!1RdHm z6+qKV3XqL~JU+CDjdnXW*Uh(ISjzv3k@Z(=~! zoUhcAsW6V2%IQRbj?Fj=PnigRGWqO87gUUMk|vd0V4gwDo1F*)#HX<$!J~n8V$r^np5i4>Hi^6J@5& z1mca^I;qzBOznf1%qM-Jk_61|f}su7oiJK35l&i$#sJJ4zkE&g*I^z_T?6LLq&3Vm ziFtRn@k&{&jI13-YhYxAju?~+?1jiD$&W&967h!u@%4miD(A0> zOo2&~at9(w%Suyfj%j!A@pRXfZ{2pML;lF5AsMSLdXL8s0#wk z=|Gd(OTE=~p+z(5jmk<$NCm1Hsu*-y1>!UXvQq|SfFV&1h|^R}Juy^e&>QH+iIkMo zK9(|@-ih&merSNMSq4FHEC>er0$Vo3IN{QPTQll48h0|2PoZ;wdY!-he}Z`GVQ&)f z3=V34$H^q3kOU2JsMI8S-C>^K7SldfCw2{KHN(6EJ;os4OtwhYsSha)6M$x0hn%+U zxvu9pLtcFL_<68P(#ElXBGFzAsCW)nJ43+gJ_g#T7+W$??wy* za+#{3v7d}a*3E3hqBOKWXja;wDMsiLh#2#ncT@vIMilTzn!%84|)I zexfs#x@HW6PHC!kFIu}7?qMEq{6wJniEu>V|H&jE39uXnO!)}+ z;q-n{5YJ26Z$>l@k03^|no`Riwo4Rv`|5 z^_Vxc=&9n5nZ;FvsiF(Mj{*%<^d5zq5I6_~Knyaq4FUt{1As-Nh!w#r1S%la?8J9% z+fY0kHVZ(w*Jp)NCjZkoM0Uk*foQNa$JSAwO3y|Iwn0PS)9Cm(Q%qIYOiMQ*K2av}Or;VCB1j$x z8E`rG92xtn1>KM9EMv09y3zaH^N$$kd`-HgpqPCEf z)IO60d#2qhe{dDJg5X$muDCEj0qZ9!r%avTs)>S?Kqtqt?(jwW!GjM9Hs%bUbj!95?20i!HAS{a)~OFEEn*s| z-0<0T!ypKKf5`26VaU&i1_Gso;>vp98QakGp-nRhH1YzznHaj09(OI%J{b$FGYNsD zlR!HYb-R`Y#8C9ayqS(h_TvHbY>i}ACA;}1%!47=bd^0+pCYjtqIu#B4NR z9wv815z8G^)B*EsU|yt*ZNYqJ_QafxtpnyM28@qX5SYhbZ%2n!G`z<=o03M>U3JE<^*l*yD#5@5z zpNe^kgxIm*CSpnO4)c@)<{d7DWAv#P<~Y=RgsJN#%o|4Mm9l!wBNo^a^C0W-38}Hj zj84$-6;4{vrpbivmIuq~6Co1l!cb zS3*Q0v8FhhE@EV2RX`K7N+F7@w0VP7F7 z*35M{!WySGgSdcC7RyE{Ca}+T@KJME4@%J`4^#x7B}{`rLpn3!oGRFgz&uVAL^a+T zSC6KG*MS;~Z&VThLv`810rMo%6Vo(PVxFN%%(KlCDJeNKuoRY~_q~?0f-sw@rMouK zb%LzabOZA}kXA@aMQ;QGqv7gFuj*uzEERF)6iru6iFq^y6SVn&Rl04F{tVm=P-PEs zrho_AzQY&VnIer!H7!7wdq6;&w7~%Tk8; zzR}u%eDp5vOcN~r-Ufkw2!?vkHH1Enby$pwp1?36V5yL>omLN+Y_kPI1D_`R6`d9U?}eOnNn6A zYmg=}i-~pB)eI41h!lrW?1d<@Qg~!Zv~2YtV)~$#MK&W~4`#qJ0ZM`diR})#{~)|I ze2;<^&ou1$s)<^4V~ozQN_^z(NqiQ>eXPnSCvjK;_>5tJPFVDg)ZQduYX`OG z4uW;qL6FRDh_fu|We&DL9;oSuSljoYeEnrQu5(aS#4w-SI_T@PhLq%WesGu5_menI z!f?p!2MN9i!@+np({O=#Qwg=iG8b|f+N3DM+LlO*uArNu9FS1k8&5=+&_Q;_L!;0* zKrXj@P1PvuXS31Bd#;XHl%YAscuLitO=fpXN)xWID<1R*V{QPNkPc1)tQSpl@HJ_U zI_Aj0`oYk&i9@xUNgl{utC`r0@bF!tO+0~lsyDTjiEAJ^>rjOT&MdKlJk|_ass>`J zNQmy_Lb4#0V*}Ju zn;@WT+El8wgBg@c3@e&3+^3K-MW4S42H?~);TPz> zLsBG``4!EigTQ_e(CA)GHGQ05GPbqYcaUieNAb{SAx97Vk57sS5QM~r78<6AfzUV( zTznZbs}!Qh3N~a|tcvkcz)TGkas>0#iMw1o!nmM;+%A~Pl@nzuAG%<3kYnJ(ks*a#G0NC-^#otm^Xp_dNUZAN~oVjLTNEObE^9|?vI98G2F*anyaZGxtNFAi(Qq(9_jJ&u_q zK|`G51h_o!4qs?~y-{J#pierawLRZEC~A*ta_azfQsT~#()Z(-yl(g$MOl{RNit-P z;yg>UBpGZL#Lnl?N@-Y@>-y9ix%SO(r8NjI9{#HZjwH$f?79KSg`lHAa)-?Y>bYSU zMxF=L(X85iu8c*kC;)=*rSha0nDnn~L9!O9C3=?4V?88DCh${44Zj2%4gRG5HTG@kV;}6DU2bI3mHvCY>053 zRUU?r-WsZf9HS5;tWh!Wjn8#;8@fuY!aQx8z&t2^C>%quK5>*mCWU;F&sV(a8~9(>13)kV>)ySeQMQlG26P z@Khxml)W~4%tH$m&klV;85cvj3~zJ06WV}}z&sNYCCs4@6EVZfhj~CFfq7&UusVD_Qvvg{T%QJHzB4VDx$4w6BuW8Rof)z_z&vhQ zS?I8e-ngp7yg)4S3(T`6{}HU(F#F+fwE^=Cx!xzY(Rc1 zo;o1=D`jzKbUYTA=g-7a7-T&ib2-4F{?hndGGsBD4%dx(Rk+fa@WA8kdH4Y^FZx&?P2m05 zMqtx{H^$0Dz1uou2Mjd?$iQZ7XNrlI{^rMo`_#m_@`qMUTMyW}!6^D|Ay>vx4lHpSay^+B|+>qTy;!euXPb%)^u-u)wv& z?zbh|=<5R}_N$`0_}4InCfNt$gu^esl>zo40s;IUP4Zw{wgG2;ih!<}Ge;!xal0Z| z3PX=ivn_xAu z-FOx8W;3}Eqo|=c-~rYa&Bk2P_Be0B^>H|Xp)GjrrAd5k-WJU zVqglMmHMtlkDN}n4Jt__v`ydk?P=sen{4V1vrVO>dWm^-d7Xn|f$2%jL<0gZjX32f zjyT)qxKrDK++Bhmz|Rwd!#&L@RFsn$pizUA31_}G1+DRspf?FmRSw$?aQQ;|p*>x2 zK!(C0F7VSN0V6wjAR5>HMCptTh+T)BhbW1>{t_|BXUZ1II=vxf9G4(==^~&Z zph?zjV$Q_kBppj42e;!0d4}#bi+fHil^|Tz|?XkGev`l z1Fa{&!j+|lyRPV+DOM81aPSI*bQmv}`z-n3EG$v4_Z?jHff^)((+6m+c@Hw6j}xe? zDcGC>y-}#vt`#7e^iM&N5qj6SU&A{DlR7RTmYKB)&sg#lR^%}N!IYOTBMe@1S)d-S zNz9WYA_!rg6Z3?1n6H#2cG|`HA~h1b*HE2!#$z8CGA=g5YyxiFVKiMQQ~~IU5yNa@ zw*k6l(!ql9;2Xy!I|0P-92QK=oKY6QV9T{zI5GdT&5SS+(P<&K7n;BUO zXtMy;7(Xkv;P!aXRU(rW0wvNA4UnN)zBuWzNJXK z<_drniZ|q>V<&R}5kvrklu}aM6-) zWZYq%0BtSioQZ(~=FzG#fssNx32=w|p~jSRAeT~J!aU4C+%YsKnx0^GZLC=$FwaPc zc~Osf=!Xv$t@w%}FwZ5(L&RZ^dC39uJWui;Uv5M9o8_S~#9J?8o{F?<^4nVf1r z^#bO>G)~~s3(T_u0)AOq1CRYyn5V_u$Wv#KHRYngGPzQMaSv_LdyHnJslYrlM$ddJ z3(+<7NrgKNgz#Kf3@T@NxMDNYo;6V1z^c>G0mAtA`b;)wCL#ZXfkQ-=F+pP2%II7o z#uq7uQ5uBE^d@bdEXiQJ-v@ztaZHaz)V&P1JopQiDG#u8DXIwr2<~f+5 z65zPwM=lQ)+D-_Pl;&P!I~nWIFrGZm1z-@1BnDA4jBH?@004=3G5;p!***q8AcwTL zg6Ej@+g*ze54l`m=b>-goLk8Wtr-1r(6`VH-5JDU1|p#Ykef+KN$tZEeyewbD#)L7ulP&HFDR0sHnzT<^(p+feB2k*p!xTYS| z9*__d5_*5tgX0$uaYQxlF5I1K;r7}A^P&RaalpqkiwD#aF>zi^bH0u6a`U42h2<2B+jM^|KR!^ zI)f`oLek7KNr-v=Y5WynUiMX!m`^9O7+xS^dBL{5g0`KEV3!^7=rn zy@z>`ZBF0^+13mJU9%NmB#9j=H-oD&^f0P3c=lb$0ul=bh0%O(Seq&{Jqs9IYj~IB z?y{(MpL#hSjqL<(jTmJ+l9O3l!atDNf(9 zeJ|#^kpj=m0WT;bbj=pWISlxO0T=@)hR}GpTNvS4*OWzMcX`Z7BDmLQn^J}e*mNN& zBFCH{v1b?18pZ@7#V|^P5Si67kRm`4BtpG_5o;L%Fb_VlO;=QReWbA97(m+GPnIuJ z_U}|e@lg=0p(+AEoXaKp(9Ue%cY}m0?U)}!H*oVZNL;sIJ-Tm)22a=q;?++ZGn!+? zi4$6;&|Yv`fq6WkOHCnb3SDwYVzX=Iv5j^Ijt8lRPUMzx==A<6-00Nz(E|`mFZO0x z$V5!+f=bV%q->#5SxEf!0mpr>&0!L;^&~7aC?C+-rGWil=6Z>5p*J>r6N^I_AUY0L z2x$CVL|`jJ&yV$49J#T>v%Cts6YA<=ixq&9@TAD#&63#-CP6QhjO^fn7;+1=j|E>V ztKn0a7wIrJBc>_}uF#Qs^>v0rjX8K--BgF1O|x1qS6w&cuG{r$fzQL@pce)?PllSZ zo-j#r$2wpheHD!n+e(sHIsM;ncb*<3Kaq^_zu%RC?R);{~HJ{slU zZ;qzZ8HOQuC`6G8nIIwNR|HREkhmr> zPokm>#5GAT6-JA5KRovTEijLZD4%)}^8)*1>bPP=oLFKWl-m-){#KZm4VafJ;0OjR zldGX9Frhe!dH#TTfddVt-FiSdZj}HbLaqZ7^DNS7NWz}Y+p3D4d65wFz?=?!7KoO| zl%^+y1k6KX-zhz!UCxq`f>Ni52O)~AMqv9Pt75zqFz|yuCLC$c6kOf_Dq>V;k>i1R z!1ELbR}CH?G88vG74AdRY=JVNuxU7a9=kCQ+H1I+a3O)NB7 zVjlFIYHzxR6WTFEkQlQh9x#s`3=Qpod2&^bYj1Lm4g@V5j2&L6U}SfgC$~U{y@tB3 z>ca^Wfa8E#N!rxRH(;Kq^MH8;cwO7p^-xROuGj0$Vlm`yyUlvFUMvon7lj3eR+G#n ziqf>;J3RyDp*e@%xGuV4^_T||npHDZxZvnuBCrlj4~?svJohlKhZouR8>3P2HLJ(G zjF@K;^Ng1oHFOg8^Q0o5R+$nG;MEO=6y0)+)qd4q+`Jk8nqJ#IIe?>xar3FtOj` z5HBs$yO3}-tP%x2G}9Tv0rQ}3_c710CcXo$B<5+vJgJbWn9vzKouOY06qrY~9Rj#U zueyrUV;)~~GKzo!n5Vsb+1cwb&-K{+dzeS4uWMkQKyBN3r7TVUNCtN^bMbnE0$B^p zgQ0LW6yu(dA!9UyAk|eLMw7#EVYdmo=Jc2s^28PQs$6mi%XEl&%dV~yXHmlTz=z$t zJ`0{wB!Q48MdVr&Bqrt&Eeez@cnqX2sB|wxX0>7Senb+)cqw4!7nsL&K)RxaM_b2i z>iWPu>wtNxcmM-XEv%ubLLW2-y6VJk;fA3fWkD41oNeq!J}?iHeFZ1eF#;#%IW;$; zDp)<{rSN?%act~>c|rsM+r$Y64nG75pSDaegW_A<9vGEZQ+Af*X@Qf$5rRMLqya#V zTRt(qfR}CO(M(Fpm8udm2R&ffYrof1w9v?+rV#!T&>jO9L^D4CFGO#Md45cJa8bck z==)N%sGgV?2O%&oP22=?FHnM}5F6UzEPz~<8~oWYEOKI%ywaorsujgy)y0&@d1cNt z<6gtzgb6@y@JATKeAE`cW5yGJaXi#G_^w0Ft~=dqPM6CecQ@ajuJO4~9t2TT67wX~ zMsb#vu5-XVIxCvQJKpGu?ao9wMPB6fOpS!2jYbKqD+)HQX^R4gVMmw6*MNED4-xYe zs9qlMWjvejXCGz-hdAPxMc{iO1}aoQin0jv3}$p<27_F^ z_r!)?;NFFT(?O4Uh*rdL7ZsQnF?i1SRm{uN*IaG@EqBInYs84S2?2kxfO1nGZ0FN4 zZ#w0fN~6%kmM3JbDjb`bZl4E^ochAq!%UnRS^zXF(6iXBQ&=4)3d4l$g_vvuS74sa zmlj9aA8!fc*viGyrhW|j|TV~gyzj)DkD;Q}PUyeJCdEClg^qGW#T zS8bGI%3wWasgGfw~f+;##;iayf@*6Nev@=inF1!a^W1A8XUmxuSgLA5kSOq8} z{J`gIQXnFA48>3dgd|*Ip2Deso>2^KEn-DVit-O#U?0?k1fo~0gYV&*dD@m7b3O1W z;1D^348R+DTvPJ1h=*;tBcVb?ZHgAk24qf9R|-0jdMQ9yyafR=1k4+DNd+Y2Tzlgc zh45yJ!6dS@6+5bjcP-%i0R61w1=E? zVBG0;wHk8Im%A-LA2xyGsNzf5(u(6a&nwUAU%BF&Y+wLGQJyC-PZ8ymMOie82E;75 zj+Y6nD@!!4Yv*Mdgpm_n7e8c zMVtf){KP1#pkF!<>?t7b+)nir#Zxo39PXFrU_P^9@+if!K#Gm6r`7`V>{`!kwG3uN zDNnT>xUsI5=(?}#iWkjP-SRO1Sc26>wOGERJ;$-+KZ$%}FOY4_ZN}4@y!#jQPr}u( zN)(6jz38wH&^YhjtD_lgE2P)1A^?d!jmt8zms7b#2n+_fk`-7Ca!*zUZfi=9PiHh2 zg8364W|c4m&Tww}?sCffHJ2Yi%iZzJ^9?b=Sp>{qEIq5oboZ6Aba{50CpapeWdP>c zwW`n{Q*!kH@J7<^MLsYgx3m!6ViWt&&^AxFu;v-;626JVUX@RKg7XTaQBGG~mwB5e zk6cYj?)BNDlS2Osn^GVg0LY?0+vISLfprn2n)+GL z<%p#+Q0Ke~qT}*U9_5i%WtcDF86|Kss#KAZ@}#O{VxicV&lPr6?Av%8E6YpV42%TBn&$zU$k)BZg1D(4&OdRPizk44 z7b%7VSPdpoT;}llIuU#xlYm?2#AB6WO4lmm)d zb&5uxwk+Wg7u+hT>!MsP=F7T9WalteWMi10<|@Ep4Jfabf?jCTdRP1tOFb( zHGEG`b(5IqM>9>ge9S*R<~2NI=o9mjMDQOkm6+Glw!#@O&-Z%43C!~c%h3+v%h8+2gI03Y4qfy69oNFA+B1X(!?(md5qiwy5kKu)VV+wRuep2X+|(@y8F7clUn$Gp(-=!#ll!UOe6=7%PzvSCTE)8)eli;IYPi!O=tPihI7>8TZzQHAfd82)YQPsiU1Q{L30`~kDeWXQM4%o zl!jafcS5fzh*c?AWg2Ed9xjSBIA|F#FBWqtiM>{Xl7Vd^aR`u8q@;W?jn>3GC+W+F zO!{>__~%xYEgGPi2h4+1{Wt}G0WU;ve1UmrxXZBt=J60Bdl6W^z`O**TI6uT98bL6 z3i(*Z0rLn6#o|w%Z~1dUJWPKi_T-m(C= z(YG!dNC+WVkl-%C-931Mh7jC6xZ5BTLU0ekEkP3?gS&gM8Qfv;!3P*@keSQxoO|wl z_5OJEs&@6>UENdDUA@*`-}?62YsLEdbCZc2F?dz-WV?p=oAr-y1#5H5>*izN65)rl2%#@|vs9bM(*KNg15CM+njh(z zDt55&#dL9f{K9+(fy`*QT~<%zq%BwNW88zf0^i$`9`@X~;f7bsJGFRVGCj<_kw-TA z^ap6OphlYriGn&(xan81MA*s`&mE~?6MCN94Y7!36I)+WJ{w+pw$P1J z^7z_NtL7)Uuk|wTc#{%59f_7c83bFA$l7IMQ+|0KO?M+2vIN4LIN{b{n3d)()Ju!X zHDNw5otWtP7V7zZdI{54{>*FLT$lah$FT0^#&wKnQV;GR+O{dg7l_L|vb=BXIOjdy zyxco)9rmc=O z0d*G!QHY;erTG1*!9fzdxc|Rdm+sK?G?$V-xXn#v48c*pJtv#i3hYA)|hF$nzQ@O z*Su#RfLrHx$*ccKt9MV;DgvWP;^tN@le5(-DicW4QrQq~#3Z4SAGe03%n8=I!v5yu z9*r)YcAcP;0II=APc*(mOZmXNv_msL39!td* z!w+)v8r6-e^i8wT9bD;x+_#sC*RlVrofDYuKFtVxhW|*oK3SdcBDv|(Nr~wwkG|S& z`9=2aU|`YSECN;`iABqIaw$>#gWNY#F7*pjtn?eLJ`omhrb01=isNH^_H&Q>DJJ}3 z!annEta*l)?y}lp+5)eJ-+O)9JY=oyQ5K^$yPpFw(pyEtb*h1_yx*n4)8aj12zE$n z;c#p`SGVg&mQl^g!Qt#n@j%12;Gj<~GS;{37~HPpVkvC(^Bc|%2koq*F^WIJMZ-F< zGPlB<-&ecrRb!g>GVyM4uFbHLx3sik@6Ny8)BO>txm0}HJ{bI%UF^p*vtR1(I zC{1)0U)UV4;;*C?q5{#NxH4L9nTaGGW_wt&Z$BOVCMe%-mHs$EpZ+2zJqTZM$*U!w z5U}JEZNx`5lg@v1SQ$l?!L{E;AOQip(aE-VG*fuNubRZ>#WFHNyu|AUh&6^U>}2fb z{}%p4C%lgrOa|LNizF<3YY?35XwL8pkzh}XMe8cwkKd$57FW9Ls_h@AoSi0rc6ClD zQ8am;^kS^sotJ{+(mCbj)7omsiKb6?L5WV#z?VBW5<@a%f&Ndc?#PP$~1`T z%#OVL5*TXxF2ZGtsee1>lylc^!z?qS2CbPn#2nh)9yt8!js&s8l_^%$QpiGh;8Cbl z!=o*DnHe?wqpLRHdTQc9y*h&5(%;6y5+gT*n3BV7}@+5dSL6QRItNTy?? zlJndQ*DT)j5BOM&zo)xY0} zWPBd;f4CtxI(ydt=7yfKKN}k*kt5B_s1*n^SLXOaobQkn7#Uz$tJ+WJeR}GZoYUN#shptH>C$g776C%e4^Q?P^WQiN=ILU1uye}G!%BErU&lE5 zU>L@}#SF_SoX^Y)iOEix7FlLhT^N~qv6Yqq$QDulvZi!||0*KCp)zUqn!Bqok*Vu;N}9c;|JtCQJDJfPh@GgSu~GCASUE&s}OYB0k4JwUNr z)c6Xal!rZL^0x#oIa3RjYwZZ}@fF!#vycw;35WbgLU&@T6x7Em%H28>6`i}Ke}~%Q zD?dfFI(4`2ShtAJ#@Cu+4sN_^TH!R}T}Cdt1vQ%52hyg)dC@QU-5*F$@AQ1}Hkhz? zktx=kV0nd3^&cD@USxYk-NXWq2kQSJnuq1a%}y-1QF{zs#gG~Ft&_?@sV zj%oI6&LhR0$wqUm?xA58Fvz6mD@yb5+x4e|YgUS#qbG3^wO>nbUxEUi0&BjQd(403x!i(-h`8YwpP zttSA&7m z4x6Y6{1Pq zqB`%$c(}~eILUHuD#$PiMv656124A)U%HH%2|GCRmM#X8+4%7}$&9uMD!E%&aO5jr%LGpZ61h2=-?9c=ChudHjS?CA=HkekWS8UAuYkw+z zG-NTK# z)HVwR-|iZSyy5@sZ&Zm9(df(;rnUNRg=KPfA+yh0iw3Ixg~rMqz&q|oK`Z47HZ~+Y62QRuT%DVt?S$C z8GFOI*6WFFNJ&Ui!9|A;q4_H(WXiUCnt*xOw~w-BpME%K5S9Fj?N|0npU1Ju{_)5L z9Q+p>P-DSrr~AgSJAh;TIp`jh!Hutf zFBDL`Q<%U$v=(E2ePSD_B%!+$E+RlGsxMpEC`&jn$9EA~IR4X0HjC>M10M-5ntMdq z(PfEvJ*uAp|4={UyIOzbTiw2N##<(x*><M{x(|KP zq9`@=kC2oE-0LPK!`X+2WXLbPkcVNDrsLnAGtVDJj@Hsa!M+V61?H89{ertlvjQQt zz%Dm0hQwDN>73u0IvD6>2-xQfVf|NFo9&#iOC11QPQiyI9hDb>_}qqNS}d{W@}U9W zRNp4WAatNFH2ua`-9+|0ILxZP@@B)%z}LCd}WlR(y#V?CSW7>6;sklTErm4JgYgS9 zAr;R*nvqtV13K8%z*XIBzu!I;W~u3Camf37;A6z-sZ-+Mt*FLHPW`w({lc)i$GpaR z|Kle|GM5a(YmRoGCQvOWWVuC8q|7XK&Gt!`6BeaaWNhuqHr%!JNSVks&bFp}+1Ju_ zj)6r0`07h(^~;qReotZU+R2 zTX}^BHXiT|nwlS9&!ls2@s<4q&wkiKvIeYB6B0_$%K+f3{snSDqT8Vt+d}XT#9Ez0 zh!^iz-g4>j8>UO^npJbsKT`L}YTxZ!MqlWEB&F71Xki>#EI9Tzh?FUS`m;-~L_NvQ<*E8&S_hP0d3Ulww= zM&vaj7ro4?!o*iM+y8R$UBveHkLi=i8yTutxwq^+_xtenC~#B4JpWMMCyfOa6cJL= zm*<f|=S$W9GMTCDoomX7^Wilq!h9BGqCc+!b+=kml=Xa0$v z5ZB6|-PW4IM*}Bn|BVJSepQnF(BLQk09P~^sb){NL-UeDtz~#V7V&7st*D%y*ZZVn z^%*sA&#@|!2zpT38%FQPws~}dyaRa$tm=E{`!=|K!JH!{3tIRr7Lkt-W|pT`PgZCo zyX-aMy#DE~9Kh5%l*4NxYcs9Z<1C8JY#xVCCVw#Ez;sb1M&FGJglCC@rm*srV{Xg& zwDk^y(q{o?YiYjZWV^9}7k+E{VZ@+K zqImHoqaFu||4xyg5x>2e;Q#1?v^nXjles?5R>_xnyS$-_?IRbQ6Wu|}fMZPN43nH% z{3mmvwsGh(Ol|f}o%EZ|>f?)qWxY0+M=xkVEMwMd5daQQF0EeyTkd>e8Ok^uEDtS*w3?ZY?AtM7wGC=&fBy1I*SwD_XblKdoB(`44xm>hPQisaz~W-r-@xNw?Xx1W z5!8|?)ZFd%@aTS+dQ8=oBeoMf{$cBKT*_T8=rBPn(l}ox2<=@EgkJTJT7j&g)*m39 z=(V7b^8xD)z>CstJElv3cPOeF-0@3u;&#LVOHVmu?O4pnF4hag3*x2AI&t##^$bl^ z$?G`Vo1``{aDZtSw4YrZIMo>LRKVNsg(g4y+~F?%;~%p%GUKr-FtTg55B4|h{RT8; z6*~-Uax33i;w9S|uwQnC>2;V|K$au1SA;71bInwJU31dB<*`X!+CYsSZ=Z_&=44iL z6KLzSXlaVXI30C+2stosdahn|+`eF~;@Q+`f$Y@d)122n@UFIc@9!oxCFvK?v3Oqo zWNYH{sitS1gKc18m z44%hsPLXl;x{oz21N%Re;1O$NT$(jMmr6Mrva25!TkF0oJmgU{0pDj-ZQkCC7}OcR z&T+CAb^TZKTc8Fs@7{rb$XP*5X7UK{Ap!@jyMb=O;VC$nJH+6|Nk>OX6Wl*~n}95}A8RCfEM)bcaKNkvwfW0)A0si!N9AaG^7lfx zt$E?g-ORoGPb6SzgOg|Mrj4QzMIkwu85aFG1fhg zCReS)IzMw?&9r)CA;2f`O0*1NS9k1pY;=7Ty!>@?*L5+y;ug?R-sWUv!OfR`H6Ch| zH;xg1TnK2cD=E$fM0nJ}m?ldXFFMS(y^5T5X3u69bDAi&I1M3(defCnSJojl9Fx=@ z4{^xQr<7rLa|ya>9=!{=uXd-sx=gAdBzK$bGT6t@kIOiYHrK29RBpXJ8h+rRcJTEoU+B#SxkWpLSJz#ZJ9?A6^QHxIIXr*3x^Kf@@-zAJ2n3>U z(nH@BQ|#0_eM1kaEnRJT83?Dd!>%@t`^wV&0WT#12`Xmo$fL*iY9gP9w_ol`H8q`X zR7}HLkP!jGfb+P4f5Le#(UpF*=m<_-Zst!S!a9H$FgncoviX| zMEN$`H6*nTE=Pq@KhtWfX=gYDRaNPRc`UQ3Pf5D{b@vZ4AJ1>@G~_OMRfWrI6>ESr zuDOEx-4~u5{C)BLH&5I#fNRrs;lgV9L=wq7xaoQ_T3S1Ith^lX0^`#fv;mJ0*5(Hl zs3eXQb=dnDsTo90m&fBY92%@*;zv4I3VV|TrXXt|ZV%RLny+fv&CxZivi8M2u@*bt z+241&zOVZ$9*Se@E_93~;IDKPDf#F$AgDv>S{pXLzu(7V z*d+hpBL;=HHG#mbud`{&M)ACt7CCk$Jmj1Ee6yO|rX?%_&cMqVtJv=5kD1^W{ryAS zICj|P%Wj-_z6ta3u&mX?EB$zEu4r{X9Q-(AP_lPDcWskc_A%>u^eIA`e#eC%_a@zp zM9s{*k5{a>onX0(0UCX{iUDG>5U`!md|r_;q+%`T(51tqx5}u2e3g3Dt!d4|{kkm9 zuBqMp*gzX9*=7cUn$IT>Hg>2$myqe@A3j|Mc6IG*ODyU}xoW;7S3zGhXU)9*PRV7}-GHaKZZ+ue_!6Y@ z$g7+wJ*YzTscH^>{_tirZP=Gce9}SSIb#0Qg==3EJTm~Ke<4unmZ9LOPp6o1M zc|9dx8)A@adqk1Bf9GHs?ghu9?=cD{O)8f!IW4M!gI>!Txy~IHau~!d57cV*`Ly`N z-Ucq)cX_{-^`}Wryb3&5A?fU>Gn?D+N94G4#Jhd}{Cemy(-Faz*TcpB^v9Pw$n;mL z1m3EX zBV+D+6?z%afJgM*t|{@S)eDH|d_@j^pHWY>69r3(w8d&fle@oq%rnL!S20aNDZJPw zcS=9?%QTDl?5>9kk@?+wFOt*pA-bxW&^1kGi&WN`?dk zhQ^wAucgN|8byqj+?mk>Q3&_SuKUgXo!)DAQU4Hgoe@ZZxk7djW3i?K^BMB?q3-at zjhm>(e@Com`5IY(!1U&oVmyyF%3ZW=XVVWgXENXB*W$L+DBae&Qb~?FzO7u~3wy^1 z#3+v4v8fCE<`mL(clr=@cSviGs=F*256U?_d>F4ArT)?lxZXapM`vBrcQ!0{by-wO zSZj9&=$Fkq?>Q~=x|5fUvOyXt?#m`c2mbojYPh5~$ zWjVWE-rjzlEsLve^l;e#ub@_})04MGeERMdrXat)Bme&Pamr&Wn}Z?MR7r z{+O}%jX7N-@n}!{#~#!H|M0Xow1pQ6cr40FgSa?%!B;&#AB0-SwweDFbH3U=>l^p0 z*$-kNJ}$3K0DiXDoii)UED9^ z@_yBSjaGjyU*@3~CWr1p!1^wX=3x#FceCZ!^3dDOr~ya()-^O}#o`goZAQU? zD5SU3=*u*>5Bpm~iU|b|D;ZrElaFe)@nLj`9tbt)x($I|nkk+nbzLL{L*?$&yP;-^@yn$Fq;Ea*9b=@XTvS%%xE8A zMXIVvs;g&Rq6dknQ5~^c;MoIVy!kqv+)ctHm1jl~ltO~AQ&{bkoBn=<4TuYEXtv;| zKOt>O3W^B|3yKShka7U*4nPgKqprizfNgrT|IPg<^W`3tF2v^ovIR$DLEr-qWG5Eg zFbnFCi*-trU-GWQS^MMVdq_e)ZOBu|t24PZIW$jy$J;y$#Rnk9F)}R$a9^+ve~g?# zAAAnJcqlsQfm4QvEytI|-kSXj3%O1b{d{-*vj9qww-M-ff!aIj(JqRIcSE6(@SMpa z>~S_Z-~|m(j=Dn}W!}GWS5y^y!Iv4ePk%o?dC*fp-4WO9pOpR^sv=X?EcFjgU5GmA z3HlsfDc9RU|Im?gxn3rRL}CL2ZE4Z;MGk~0_u`F*)S~G#s$+!$x?lpY+Z>9zE-~Y{ z3t(Wq{Vlefpm8nXKQX|mcDz<%SG<4~wX7It5}I@=GL&#Dt`&SMnOZbdaK9Tav+XNA zlC(M5L=U5Y0Ru_tL&_-HxDu;wPOcMbu`S4@W^Fp@yKSJ{ZC5gg{xHM6{*dQv zI{?}xu{IG`RL~2hS=Mez0#aNCD<)n(P}|UMu35GNpI-CPK4|@UYF%m3`De)D^%*>L zI^m2A(8G2&Drpf~2rop<%Q#{KskE=qL1)FmYiL(#MCBEs+S0N1DPKB-qyv*vnkVZWe6%|zh&zlGfBpQ?9quNWY)!Im5!U9LG z3A90e_cN;uJ~{N)>MiJ1Y51{lyHM}$u%OLqj+?Anzq1N`X7A;;5$p%dC(4Ad@!#j1Qc>`D zWM$&6kQyRoiWblOY-t~GlQS|6WRY#Ez?)R)vo|-YUEk`xW3Y$hn5O=<9BfT;xO6?b zU5TNu3ZR(w59PVKNodddW4TDzd;X&XxwOXHbuMe!sYG8m^AkIllkhLxs61^{WOZJ_w|0PuSCNrPk8QyW2bca3sOKZMCqc~;maC(N{hhQn_g2vBW$A4x zBL*n_kc{Q3`X$XsU|?tf&U_dINalO*D2>KALyBbHtbd89O(G-=35h?uE%}1qbaYDl!g$w9n}ej%)UN+(XWDhS(@nWzoL-e(7r>myP(9{hq5-xuAAM^Mf1hEd+!KrM=NPs2PZ! zeAHLjQz7j9^k!(lse#Uk2k>?4E!NCs(K>HCnse&nx?3dinxZY~>>Bt55IqkOcMtQn z43$D|qyQB_f$_p}%Slk}b$4q@J0)sX2W8ZjNigIbg&mB3sNQnF*iV6rKY8=L3S|t@ z%|Z_afz(&!vxY3FkB4=M(36vp__-l8z0aP&R1(qk5LOcMMTkW~dl(EDU9)+UoDocU zj#8%>El`o5sYqfhLt{VONp@~MV7PgWcO~7*ok)xgeXUXhIWy1?o`?@XxBql$pWf8j z^wX2rpp9m<-O#U^1UVDY0@6@b4fxYlgxRBNYj+~fC zw7~AXm!EX_qfK;x)(Q@dl|`lAoLKb0OjhJ#Al<)c|LlSKGfeJn zKK*wu@{kNvAMRKVJ?%q~^~r}*pUz4w;!N9y!HC>I|V%&5w@ z4D9x{Y29!_EU{%GFmZVl(wQ&=Ja}^Xqt)v?B)~fK5avzmKhQ;gA4d_@11TDRFm;D_ z=kz3m3D=BMf=N% zw+47TUAt4*`}HQ6VjXYy*J!xe{abf(H0kLTP;q65UF=6AMrFYD%~Ovh3p&lj(1%p0 zBvFwn9figTx?AV15QZaAtNtHYa9D_5DQBO&dX@P+mqH`zTX!86297mC3$u8t zPwN=$l5guf%IoKBx%+2v3HHaq551oa%JOnxlGBON{MLR(RmXP{+ z65!~l~4pn_cZHfi+3d<2t84L zU^FhcYUkbs3_*!)p=^M_g)Z%$Io0Pz9E4lTDDH)5X|)F^I&~q)wE8S*X`0j;N+~ZX zNLbhue(^)#>Jp6`8mwr|b%;E=kp)7}u3L9;f&Mpbo0(A$9CztfW5?W^)pC8Vdqv;+!{zUh-j%?Bf0$4AK>5pc(#=U3v1ErY?#V2!&X!B#Eg){&LlIrN%xi)k~O zp2+*&=mT8|7Bf;k0W5?~Xys5PfDJ{VVLxGGWG>foHoAO2rwbmBSV<@=@WQU2XM6e< zu>I0nKbxh&eN^ks{UyuqRlg{W&64?*8RO-HBeBqRV6~o5K70&QC zAoTP@p+qOa^`N4MT(I~g>9s;hRH|Dzk38o}--(?#(yUs94v!AUYhhlRSRPwqv}FWH>D@Pk55FcMgu65PAP zK^uxNAZbCAYM$&as(xVgbo$2GSc_FI?d+bWR9Dd{IgI9G`1^MvvjB|-I^DlLpPczc z{t?neVf849vjt$1Wh?h+ubTogW9j&Mi0AA6nYzf5L&MZ_&DBQ#^dNeinpYl-Hty53 zs=NRV)6UhyGnRRW+}?zvbONA^rgfOUgtIaMm zgXIn`1Q0gYjrfO}39>2AYaZ9w`CLn^D&{R!7~X3X<_p_*B!WF8p{lr>d>b?{(%a8O zYj1cm<6Mie4)?97WW(DY?_d7_zUwn~>#->(;p=I!YV!tX zb~uS0*>F2rbtRd5-$ptmM*ab_$9a}0mmHYXVY`ySz*Bz%*hUI$8I8qa7K;2Ab#)k((WOH$89t9ek|?^N^s*YlgP)gt%DI(rysTP8`iRjN)w zcUEn;UoP0g%j`NMS07gl%Y(ZBad_@MIlL0lNtzDnf9@Y{yl?W7oa{@4%KkZsnnm@^ zh_&-x^85czZDCFnQa3#x2%rzfaV!(!+Y_SFY1NleBDc;%lGSRe;z~9db;L^ZUg^cJ zc8bv^;B_m0mX?t`x+k1*FbR;9oHBY8b^Au-9?msFcWL}ZX|=xnv*~flcrNCD|E1YU zeVE|!w@KudI`_P}>Q#bYv3l4IH;rokBid0GBQMg$J9KCyg6-`I^zV!wnDmfNC zaRFcOd`4RKF5a~Nk&S9P6{2K3kMPf7|>Kz>@Xmmy&rQENcRe58xftkS}K%Nyh&bs^3JI#oU zK4Rw`2MN6(m751x#f4AkUF)vsZSJrWujoKRHD%nmttJrfWWY)$TvbO8O3KHR+^Vzwm7&s+Hv8DP3OWzMVtoj>wvI@P7 z;Snl&QIP(p!tr$DMwq7O=wJMlp6rPJcxA7crDO05-T{b%irv|AH4QX#*jO5)Gk(XG zcy-$Q9!+UjkzZ%CmuplW`j@KzjI=$S1DQiDs@yimTdR3M`<+8gZEm>4S&+v|ge2}A zkwZVWC1^U(KJ=8WnjwG+?Ae-Z$P~x^n4MgC$Y?tQ{4ew^xAlFXtcH)KNzd6{9kX|&)M#|;>f|>FzHa27!nt8B zxt^Z;rc^PqmGK#?ODXP#W~rA>92cq}6F@wow5X*mrXEA`M#)Xgt1SS}X;AKi;t%1b z3ip8LCDfnTLchqW)^6kUvq&CR2d+r}ik=`kXW8Ay&x9n}5Eq?N>A<{AZs(f?x zUWqi^L&iA2KUjiJgQ>6$CntG|WfMbw-7*F@plTJ z7y3J2^@Q4ahbQ2xr1w{%GdBJ-+3jlQ&($ZuXClmA6B|YRIib6!?t(zw-;CG=Z@}Gx z-lvXgj|$!zEPH54;Jm44_@x1MBdJ1gRYc`O%Zz=e^MF{{3|7ewuWG|pA5-47_Ks7B_gYWA}i{T zaV4x2E~9MnLN&hQHC12j ze5=y!+h)M8$c%TveobwSP7UYYh1=RzJl4r$c`PjPMGP2AhT}i&vwX}RGyE+#`A3pu^_`dCL%Zh6?TeH?QWwit zr2?v@6U&SPbw9Gc%1A%2OCBR#?)$;8ToXW`)Bia9Pdl<=`VUSF*4H8BTBR`jQeSps zJWXmrnANK$MgX2wqZ~s_BEc4KA!U|02M{LjnwEZ3E0Ey)Gr}Ie8=W3SrttQreST0x{U3oSsx% z0M1FRf&vBInV8aBOEJI8Pn(?C08W}eRK09@YrV0EPdCn9rAr3d%IEV|`9@#X%9vo2 z)zSK;Ob$ETKQI5JAAcJ4E4P!Ht<7^<)M{`kV}b~HkN|a4tRyStb#+sIO}#H;?fY{S z^P8UXJ4A!1ZKHmjNJR#}trdUzw=2~-4VKW^@N}{R$(SFC#(mKnFrhvV$X(USA01_|H~wWlSS0k`7Iv_GWrwD{$f0nQ_we#Efsdj--&M zq?e^d5A?G*#=hoIY@{W|rS?#4KT}CweUA%>--qmB2oxMU& zapJ$s*2{*|C4S4vOYQ&ez~ZB4^}M5%Y^*-fzL2?Oy1Fpy;*@)gfjIL$AzLr^Qr>uAET=V5hJ={Q3+I*82Hvj6-2+N$1$|!LGNK|RF&rI4%a2CO1KaJ~u-p)Czw~qrPgW&S=&6}v zPS!gso`S4^XdSQyp20)q3k$`+FNDsByTXmh?Q3~2?6@nb6*#KKy$Z)#F;{0mkw2Rlk!d8rPvhu(-Ri#o%IC`P^hSAM$Tn`L= zeq0>FD7zy}d&XJW=KRhvh4PV?ywoM!qwj@f~%D-cAGgR5yyE9F4=*Kn(I1Y}bu+)lFiHC6j?4j56VhYS$FaGm*iWrp-2>;KoV9T)un zyp8vq8!fFa3;AB)N}Y2oA)bR2A~*o|x(sGL_dT|5od2_!A5)hVGr!^E{oEVaI1gPk z2RbavItbl$MqtSrIG?!y?pSjVvtcdqOs$KZ^upAdF>zx9yTslREhDCfb#qyVW=Vb~ zby?wZk$Q%`E>-h&l)juAt*fF}|LSD!?3u%)s;3>t+ZEQE8)1ZalCFl zE=z!PBC`lAEr>vzMqs?d*=sQ?2@$zb<3RF9$oK|u!);7~Rbdu>#R0LVwic5dX=;E4 z5q{S;OX|aGSCzf0rnVnw@KCtN7*hcwKmVfMtsecSiktEHCMx%$pX!s7cz>imsvq}i z(&+U=bMR0BvQlaB!}Zp=QA}wsQi%Y$XHCfczY**C4TI^%g<6?`M90#;$XRGJcwZ2f zk#jhXzdLyIr1CUCY{0d81UdUomi})-WX=|}*Y+OWU34aP8o*B%dX(0XfXswsU+Uhx z0ze$bt*i1g-?VHvN?8U4KlA$u4K99o{iAGrXy{4-xez>8MEJFU5oVtG8i?00f*uRn zC}4y*d*pkUhg(%giaa>1AyDzRRf_vHPw=mLi8}MsVhQ=)Cdoxof+4mcj0DjZ;Up6Q z7+yePEo(cD(}r41IP=T)B=*yeeayp}?zR|A_?wp$O$Xc)bT~4cW}nG8P%2539{Dy< zBySyq>{InUR}26td5-$n&VmXC;1i%^x+2&7_<|}}9RqMr<>pgRQiVAbinVvhU3tas zw4yHv`l>oPkpHb~r+d?qK=eC@WE+&jhuzlQg#y*oy=`kCTi3sl+?I zeQ6>3wroWp5DzB)_|W@HQU3Ve+_R5Y?8w&N?>=kA6vh4%`ycnh%f*G@qu&30>|UB; z0CoEQ2{Tt>^O`oJi$`m3$I`a}usoR4;#gp=nehGYC=KMRMA*p;M85Y3Bbl+IwgFPp z0I?cq8GXl6qcGI8#3+sNI*i;pi`?=}EvHYg$?rojKQ%s?Sc)EFZd0)8<(OU-18T_jrerwMCC$-HIt( zQcS#q2yVQ`-t-EXgI}@9Yk2JK>?0Si_x1s~5Y#K`^5<1c%Ag=+74w>c%lVrhnq-@b z$=@GOEO0pLU2tj7$Rsy;eELnIL;Mu~!XuPg!sQto0XZpUH!)GF(VMZ!Kx~a7cV%;j zxMXx2zmS%b+*@wrZw`C)s`(6~eg3blIz|e5Z_U5m4^Vo_1XG!CD&UR`3l;e0AwgYl zgWMtEOow&Rz$HrXWy59Q8X?3#3+qhQka)i5zd;`jCD||B5(CMOk^Nb%su+`Be)P(n zRJz+i5&!AF4T)oOtw1yb&Y6U#UR2Z+FbNA1xvBIjFCfq_p^sZTCJ4?jmI8&?6{LjL z6%W{!hQCc$M={+cF!>0-3?(|0Y4nr+NF;d>1u!Ulao2?bsmbA0!{bO$>9oC1nrLe2 zY?GMxOgs^Yk0QxU)y(sz-549t&;O!3v1`i02lmiwD_9jCfO@_N@M}_{Sg_EQ|q@bKLQJD?qjCh%?lszNN=w^un;1vYrwc+ou&*| zlbaN5mti(WF}i_SZ!t#Ew(;L6P>nt|Mu%(N>!>VKhYR>WI#;hBpYW$qu-@XRtR=Qa z*fZP&8m$pq!*tn*?{1O%nFW(uOSoo)l+Ad;-P4*-s6xC(TZHXuOFb@RzEoVgSDJ?) zX@BLkI50b{MBGL7e87sFOz)^HB({&Pf#Rxspc-PwTMn*!ppVG=K=8Xw|KelQfqYMDBbB2Y0-N@p#Hbjqrkm2I!~}pSyI-} z>d4TEcaB{^?~WX!3TL7$D{;=y7$rVisvP9H6NaTNAv2q6ujP*_5P#71e*Qg|e9Q-s zj;u$P*@H&qwtVuZ>+--uqvJNf;@qz{1|9@-zWM&|5er7_4j|__@aKGg6-2vGHY{&a z8XmtZkc4t??%mfby;4O4&${J1j7!@mOi>>_q=GE`Aus`5t)4dxqZ+?>>|eqJb;Y@A z3eueO9Y)%fD!dAf^Qb!xE<~prl&d8E!uofWtEB!0O(P1$^46^8TDIMDLD!Q_d24o} z@2GT&RF2zb5!Kjf?w%;~gwd&RY$|fmpXaLMHoKk~_Y11a zrXT$)V9Xr_&k!lyt_$(w5LHYyxFW&h*{Wq{fn`<_{i~p{I8I7)n}GtzO4OK|SElC7 zu2eDN;n`#`bf|#dRZr%h(mtSWSk=VzoT1K9R>t7=H)2^s=1&6yMcDnK)utZVD~XF< zmt8pK71&`T_$U~|xbx{{{}$$)MG4m*SBwf3s>)InmOQ>G#h&B0h#5be^2Uft49C{4 z6CW}mXU5AoMDl{d0X)*~pDp7hVejQkd$RtIq99&eM|EHQ8ZDmUzZix^w;^_&{gAly zYOuY+@n5yyXoB4B;8_c6T)vu!jD=oxmkrj&Q{rX67}vIMnStWm{xYpzb-$_Ye*hhz^-_YH|24=1 z%vp!0eP{Z??O;CxMo~1C7Vr-iU7Dz176VA^)C?1;9D@+y{3cX2L)kQeBv83qzhTkO zN_#hs2GVarSBTXgYbrP6!5B+e)BA{T5zl@IryEkKb0@H-4-#Kg)cN?uTcT`hfw>J7y1Ox;G1f+|ID82W9fPm7G7J8H3I|KqEU79GpOYbcd=^do^ z8X)u*Ae4k2xbd9xz2`l5d}oaN#~ovitTmsx*3KR~JA0L9&bcpaZhco!;s{KP2w*HX zj^x^VmJS&v8Rcz3HaKSt!524pjeQL)qq)xN`Yl%G*v~w+ zEs)OaWiR`Hp(`_C)b{>VdTmeH6_+d%3=)6Ks2Wwt8NGXGe1(_n;{33#^$WkF%*PFE zMHIFq+2vP6Rm&It_seIXPA`2UXE@hoMJGXRsT*?^<@d3FmXtDvssrI_9GnfqN&4GE z%Y&{BHA|C5jy7BkwMkH%M2s|#ZY5sf&((LW*o3rB;rkYnpR2GPWN6Qel~;M`nIfwH z--hv7i#Lec|3YEWdNu*SCpjwIBiWYM6&n8cYOSQf9)(U*Z-S#sK6;IH$Tq>EZcw{+ z(9JnvXO&gao?K9vF0rv?vwqN3--6B1BBH#eM;of3b0g9+bN-=p?~Lb7Y%O&x|HDzf z9gQ(t=#DKyLfiMEda*fnW(8b!eq>(f#ZX#35K*-huUyghI$>pZQLvF*x7XG<0~jqJ zK`7Lmm-z;0E(z&tUKT*^b54WP1?cyvW8Dc!Zzu-oXSti=I;r#AnSgLD^KzZ&x=af@ zFxsaa;ZnA>#I^RY@ZYv_5*tHZHFTopcq#HdBwfl8i)9wisMIbv=dMz3Md8*Nb&%2X zmKe{QY-G(SNY|>h3}Q5^%LOk>;zjTeA%~fV-)mcZSY=P|NN05eSj@^&q1y@nwHy5Q zUd{4eZQIZ^1ua9>G=4Ul7H%@Md;c8R?cex><8zl_pVm=kJX9K~bncuyVAPy`mmWrT zn}_gYZ&^aWy~sFmg;8<+&%!HUa5>8rD%W_Up%Nh1rQ9>Wg|wob7ASSSK6?|dRo2j3 z(O_)o)ZVlrc7j48)Zvy27K;7Q(1kj{ICQv%R zmz5p!zxh{O0M=2+vyVk$!tj%PuT?sG*P#4{PSBDGz_E&62pCJV)If;2;ovSosNeq% zvo{bP{Rg~N|1Wqvi$P}ZZ^Ma9gR%CQFJ!~^+tYGzM<(!Z?0^3q7{j8GQU+tGHE|U2 zv*6+A58EG$N@Hj^QlgQYcty=S--6T`NRmjPNq(e$d4t`9Ylrl4d6W ze(SsKwNHLym(TE9sf_=|Zt|e=?buza1lfRbFfm^e+q`aRl;k4`(^3z&dW7U@~hvq~1;pRU$y5}rUaa&I0c z03V~mS_@XPi=W(pk<{SQ9#(5M3~MGc+Ri1HU&1mea6b6KE0Jv>a)M&AAi=tMRJuz6 zVVS5^L!9q_{!6qpg<23B;}N3_yh{Qlj;42(Ed-<4GOQ$q4(5X&>1AhLLxXAWC`MgW z7)ys==bc6i4#6&&nWa;Ro^lod%8-{5olN;hciii*F1=Ve^}X z&jdyMp*CwYw$_Ez=OcVpZ{Kx@g!B;2EY8O1EyIPXd0u!v|npI0nCXSz5ixl`L z70CHSv5w?VwIZ|+AgtmAylWq4qKu08T4MW)zSWHES-$;L{w=XYNpm~hwa{)PueeaF zG)J_MMw9roP-nt_2C*|)n$xYq;6>;#di6~EhW<_S3;P=C!*IU!SANtSnz>9{n<-6| z`XefP>X&@C)*fnKE*feiARR!o#4-K9*boZ)o@#qL!B}~~Z zB_3^S-Z-k%AvQG4ubQ->6b(2tA7W|Q?;D&M+VZIbgo)~T_xF#(ueZGvOREFqg3%0N zAemp(L-$WTOUcDwnO8fN^|29k`J=>JHmMy;#)iLgWmkx5-&`Hrw!j=N-+}u!P@T`r zzSxRC_gL>NdO+++72`7Mz4OOdYok)GlXBypa(`sXwuRz{70!g}Z9>rnNy&*0GI}A8 zwlzdAy8V+%5Gb-;x?cUKTdLtbec?q-rgpBK+`gUI%q1IYE&Hm%=kdLEG-1&&?&#IH z`Bivw3$@1 z0>D4s!eOZTK8jC4AyFZ2hL%#d5(eS?wpBmT&Y0DSAJI@{r(Qg#M@s%S?-_;+0#|e< zYFhr+vLW?1RYiCA^d*sEwD~AC%(R%%RokEU&Tf7`v!VCqE46(Y-adMZy0S$8xVW2* z!=OlIAEj`8Og0QCVr-X&oOb^DM(kcZ*dnhI*;jgro$=Ukhw- zxf>eJQF)!95?%suZI3{_8M#2*xtRcP57wQO=hEJ<7gT;O(<-GK)XQtju04J8SOCbL z+h>-bfp8Bxqsh0h*Al6jp|(f8UZQEoLuq?Q!|cmD%_Kw0hfk>4&pG|%o4Orm!eC9C zzN2x3bC{C@&+qtu*_tyM_z)_fbH&hm{|G|~0dMhdf!e`PByMCAX!FeGlwNMx+%bIWY z4^SF_ZcZV;epsAUB7|x<5W8#hD~ZHq zio*^r$_33Clh!EwRxQiEx>e&3nv<`4?zF7A!P7MmNJr0;G~KjaEITsS$kcRLS>}5N zQ80#p%*vEFzGp8hm2Z5Jty8JcDn(D<81HU+&mbwFZ%@3?N({|@ zvc~pdm0@-4dk5Q}HSY8ciD#mQ!G$1fg4<{N0L)vS^I3J*K@=FecqhHRXYW&CQtB9) zOzT&9t!r$z#>Ot@|FgwlD%Vb0<^h}i)vR+|nq=D8xB`G-LI}RK!r6eA{`33pG(Y^9 z8FlF%PgecJ@=v_^;uV5BPwxK@DsSn*xdmFyOOyCTE1#Nb4BfkjI@#=N|BwpfqFzrt zc;!qr>XvdfI_I&0b?_%%V@n%3-Ty#R-@8Lqlm58*3GQw1THyNzTa|PTctol9AFN+T zXu8K)?x4thya0z;GhZOFt2OFPRg^c^@MHSWh2gf@?0F0K*3yJKgFw(!9{F3;I{@y= zzL2us-me&K^PNjc?ciDGmjHXh1~X`R?d1$H;)#r*mfe|Fo#1DIe;_AM9NPF+`uuI! z%X&(n&np$Q(?FzUOyhtNB4Z(Vc0+?n;?%-umTCr_5rfz+^u^L@ZAF*IWkfU4wI|>1 zF{**B_C#38oVk6SjaX-QhFO>~#?+G=ZycE6Q|oK!M5vM)qh{|PD(?(SyCJ06E`WH@K*s(hDJ~a*cB!}HGZx8cyb>lWIp)4 z?n|rl^}_FH!h}LR=Dv;8kM@@L_m2;FceD~cMr#UY!oG-NBnKZ4p$}09^78d?Ol9}} zr5%vWxVtd#QLc%eAC2WB$sbm+m0e|*&w9Gn#CL{w%H%fLwf77S02cT{k=}XwRm}8X zebXV5^h*5L#OiJu-07ZadAi98gvzx=xqBxT$y@0kIW=gF1IaD5{BRwAjTWpT-Wxi6 z85v|bRR>j`T}**A*5CP2)~v6pGUO=naj<4k!@h^fJ{)Q4dmNb|IhL+UoQ8TvQRd$C z%}8MC2=yLvF6B%tum8L^`zWoi^?HS{u5MSMrj4~rcabYPpZ3oHUzp zC;pD6DB7zej6@xhKet|8yW1?PmOC#Kne<9o;i$Uje0-KXnM5ft<+|jnd^K*gI8MXm zh~G?$yk3ZM6gU=yf3X{_t&N{gysQ6YTJn*6a&eSdB^;)RR_##Qv6_Ik(hnJ31XOxd zC#61F8LUmXZGJ7ih4 zu4bcu}F)e7r$zcg2 zJKbORODg6sMRG7MYXu8%HeyH6eV5QJ40EfU@fege{`iM4HZ&!wK}$81MUMmEvu%gx zV^Te6HIrOYuH|Gby)gE+b>eX$H>FB-TVx}0{~5dv_)b-2?_)=BCKC2?wznW)!k`P-4AC6)XgdONQ?C`eZ6fICRX&mO7Xs`6=uZ6Vj~YI%fb8$`mm<=|gl z=B6Y@>jc_v2_IR*=#9PR`mt4<8Xyww0-<^ft$ zV3V2r5SdXK6QNw74=UVXsxmAezb7_n*q_!vtm;3|A~enNArYxHCs#1;dJXMnQ-P^T zc%Hs8D1uax>3z7DRlj^7%mK z4@bkfx}-Nfaaxyx2QDE!Q~)@(>iWk~AeYs6g0Z9X*;gpPPX>URwB~qdi9C@HaoRC#>28O6w)&=XA&sV zFA^fr5Z;zCGnK|&oc`WQEmN3=UIQ?!=9>IVwZpTpS(Eh8y_=r>nEhPNVK<-Pym>hP zQoLpTmS(sOl1XPZp@_?_6{()$W~Aw3$%EpKOz>owmzu&)%^}~earG1}ToGwL(X*=7 z+Lxy;DgRiW`!>Pelrz28QJz^8Nx_l+HC+rzftB9bNLN2kq;HRVD)KO(uk7HRM0=3i zcYWN`iALFz8|Ml;MONGaHLM@%*Y3v}^GC>(7v!F6#iI7DbbrD;wj`8W@CWfH<~h#*!mX(oKU%j75p&1VZT0TdFgD`xYD;_ z>ytbmJ&WWCg)AxFizk+bj2Wd2G;rG78GmxOKc|OkUQUuC-#zn+J#osZ z6$#h3t$Lbq4qtvFoJ2KIX+=b4?Bf2E;?s7GXIzBXVkPrYu;fcXUSZjWhU&}O+ z5mKuAhc74oel$S57sF~0A{UA*V=~xD7tAN~`o5{Q-ZmJ9w-p?lQu)&@)}Kham-J$H zjr@(xl2w$@n!ETgxV0DOZ20y!A%@jMxE*~I4imVL*zqUYdT<0EC0P3M1OcybS#N{3 zGQ?OsyRb1_`pVKc)|UJOx#{}c`H15;BmEPsQ>W1GXJ;K$CmzXBVmI;o0dxg> zc!cw>CkIWE3s{)D;=b*gRHU%DB2|QWX~~rc`u9Z{)1~yyiy=a^L%Kn0=9|W0e8Shy z%a=k!rq7dC8bevHfWkjO^i$2}&XHGkpvzZ)d+J1u?w_D*Y)3UB-+;-eE#6xXzqjex z7mlm$WNCpu+oabb56Y!LibU5rPikJ`UOfqw#Am@#4JJdye7-ba_#`~wu|2+?!OimI zO-j&K_#mt!ylt9tX+xuGTts#{xB0BWgja&vah2V*3vaqA5W*Rz@7_*ohPRg3qiG8z zy`#J|{&P=F(TiTItP||qo4&G>zgSEEjq#MnUBkb=wfpRWpO`yh zY)WO zfIFTX4awJucrUE)3Hfr$#1YU>j zqG$n&`du6d5*(n_EWQwLI3CI(x ziQ39*v)n-7qaRzUZ|AicJ%rd?%ewC2PM9`#)60`MGAZQ(H>hV=}E|AeGTWo@5fMXWG*I zVgmc%LN{r=_ak8LL73kW7~IL>_XS5)uaIS8Z_XKbEbRB(S1iJEPX?1XSVb;(nCIH8 z(gXYhD7zH_%SQT>Qe_5hNnD$8W49gDvaj(0z=TuQCw!X=#Q6(j?sQm|OwnWRhi`7# zG09#fWq1|5`gTl(n(ma0ABD8C4uD3~XYKO2Qs%~2t?FmSx)>MHQ7+5DaWVUm+0Mak zOB7&=p{k~_-L=MJ%vLAvRPl}**bvv!)FulK7v)Yf0#^u?nKGjSD(tYGA(&2VRWet| z6bP~cblI5c9mX=^Ia9gAX(EZfT{?rifs5I1)9L*Q6m7QR%a7t$j6o|p0ea#{iC1ov{n*7kbbV4 za-%(rtMM*LAaOTopHDD%LHH{~1+GA?Bu`m*LaN$T_5#~bs|GvzBp)q8kTXT1YlK04uFLGepS*<1xrT|U}E zn&A~r$TA#UOeg}kZEnBB5Q*%xJ(t~=bTi%yOPMRob&*o{UYzw#6_IWp-aR-b0H@%3 zrY`5SHQ_*QE(qAyL|d%S%{`2>>pG7KZ0WHWJg<9A#Fqx2Ls6XNS;Nn9r_2wV_{Kxp zd_+hrv12hg(Q7=*3}I23!Apy%Xi8upaxrcP2<-i~6ysnVSa_m&2oyexUWo~_`Yt0@ zugsQc+YE4M&R>ktgi4od=B|CTG-w8wRZhP1(J{;tq2IqAzEYdB+SQsbM3C}++8q7h zwyHc65yJPfUceGmpk9X+|t&kNgB9Z>kbLUq%`ckW?z z03V&7%c!mtGdK3?YdeYpFaI@MijH2HYFkpybR!1*P0B-cwNHp?N4a2yA8;(TBvSYHpL%byg<7X=0<$0P)PSl2-*F<*&e_2o^nwF?=Yo z)A-IAvK+UqD0QJXfZWKr)=$c~H&EAwDgBEk*KV_rnt6M+FJaYSS)Zcu_)V8HL}6co z*Pf-Tah2Za*x>g&Vy}*$Ct}C^f9i{ zZ0(Nb;|J*WFG(sP-Bqmw6Yg%sZiDImaiYFReqp8V?h9ZV;QEw)xW^F%o^>ypuah@k z2|7z505n}ZVymvD2k#MS=ho2!4zY#UvUKG}KuHYsrT+3n01z>?ZN|Q-3Mve+=ob9# znx*UK@It1VL}Qo;vu((}sb#*jY&l@KjHW6{AV+?TMMjng@XLSsSJ*-x1et$I4Lf|uVvhE%cKU!mIKy(%;(ZPL> z_!;<{(m8eQ%G@%eex259PuywImH&q1bz83`$n9enl=t*;)%*nlXfPWI*$XRXo zXUH&vjo5)l-n1fnPxyBu9NOqsl<3QS=9eJq7%%^beW@SjrYUV3QPE(0V>2TpNMLUY zLDivYsh!m}^^ngD#ru;^<8PHEyHcWc3YTT==M7Ss{LRO6#sQZq{QGgMkLP=AZ%nhi zl)&fv;18$V;z1d^dML80DR~PIa7^U&_f7rdS10r*L``rAF#_`HhJ8Q+s-NZW^zgi- z0mMpg1%%bjo|?_kGaWSa_!S@WC8?b4C4WxqagG}H)P^v=An2?Afdtg zP~*-U&if1nIo)kPqI!4TNpN*U5ElNyf zcg{=QBxEYJ5PcnrSJo$qgwwn>Z8s0~*VmDRB-GRLAVo*;O&x-#T%>TgQRZBQCQp|O?zptYEzaB?! zuyXNtOz8PB!sjJUJx>%0O{&r7f#|Z9Kf%dT@{nUR> zJx^@@O66VG<$z<+<6p+AzFo$t`V*^PE`+gGHlBFL@~r|!|64IhAqH;$Uk!M~-W0^Z zF09NUtn=u9YXRQ)qVxR$!Ud3(^|AVr_x`F=37RPXgjB-uOxcK+rlO`fa z^<-&VsAmGzG#=Ytx0W2}(d^T9LkmH}uc`7nRC_yWXS=LtyRO~|!YOVkV$*W>#GMka zoD;5cZWUFGry7S-9|#A>ROEn9CnT=gQeDWS+2rSHDtN!4)i6a)-O6!lZlzsJTZPDV z)Ala>zm?)&e9}df%3Zb-_%6b-^_FH{{OuS9{ zYaD~H$EZ@e4HF8crhKczF8x3Ip58+`ubq6#+snO5O{pi_%3116>Zi_5Y#Lgd84)3h}MPYR~h-`U(Pitr>;>cf>f3MBl^9{10a71@VD z+%(F|Gdh4@uRL`Sn_afH&58_vq_!JYwOvDLL-r}{Cr#zb>$KN`Q`@$9#g`c z(^QA){Qc8Y9sj0c*av!PO4eMMDqR=D{!+g6IZb6I?2>g$=#S~EY1Ek$GW11yEN$C~ z<1US!DgnYL??Qaimwpcri_DY{6C3sk7iWroFRM&{7hz0nDx z6ETHznT2kz_*>E2l{zqDv29MjPi^jL+Z-fd?V{rFK^K!7Y`zq=pF!Nh*O#?0nmv(m7U<`>1T=pnRHE*DAM$MP^I|4l6)r0Q?^}=jiD*b0( zx8d=9?PrvDWSQ1GTId0!G7i3E0FnieW7qn!;fL!VNn_siGfp$h&G#pm45{ya&58Th z>*?qBcoXuS*GMfwpiDDftvJ3!IF~Hm;ekoL?K?51aTm)aY{uhq?gwG) z#%jgtTaDU!=>bXXD|i`oM#yb@D2%(}Sxfr!3DCD&Vn1O^iKprT1dw#el_drJZhn2V z*wgEgk|%OJN(coROSbecexbT{-AD=EGUp~%?L4jMg3!Ig?GNq!L%PEnEtxq2m(l(n zN@vd`I#fb=R7JkU^O^+HhB7j1zuv#(!JMCaT@jl&H`Jn_l-{yvw3kVi*v8{a8PWHd z2Q{Mav~mCJ|D#K1l0Wdbcu^{Y{H~4rW*Lw-!wC9NiWQ|=X?(PvIpu+ed&UVqGZ{&{9FQsR+}XO4?ZqVTNYvUpvR99)8bfdvJ3|kYPWN zg*0-kstlac+O)r?Mf5iy`(zZ!ob3-zXyR60sRpH}YzUdu7gHrw{CTi0^uiwtbF277 zS?8fUKFkSD)8Y`9)o)jg$gt8a)V*shVjm13EZuOc3Wd~Et?9@4i&^^R!M--q>`|u6b=va_q^5F7 zT_sNJg1M<3B)JzM^mZ=+aylSW(XIYnC<%AkZ2z0KucBU2+J~_F$u;1GU)ha_${Y?F zYG|W&1!C}h&mVJt_qb%(JJzB_G3H{v-}n6nAm@aB!n;Ah$c4AeQ!kgM(l|UQHH{2> z^uB?2!Zq!Wu9s>4ZvAo8Ng;PMsK#c?E%~rkT&^ALG~-W4Z8w1GZkHy3$hi(nIy_dwVa612EAg*wc1j0 zPYK!Q$c(;&Txj}Jc?zVo7RIzaZznSTB#GjbTgu6klyWK66c!~VW~ zkVkN`()Cst^AQzMz};85_S7}`t5w0P+-6$kP8!uOn0LZ-9bA(50p(BR2EEv7-U=Jm ztpz5$R)}@2BM7YtG^jLa1ifaQ)PW^b$VoJQ^J7%kiZ7kPk%*FWP2m!WYm=;}E5QK= z*fVGn63}|ES7l98_Ib))cg@pGJe;fVsN?7eZU0i@7U)^&{D{=(SY{+{b_9FgL5O{) zs7>YEqIMi&1Y=Hn%7Iie*wsclR1?Itad?X8{qet5pZ}HKBVu_WeO@SJ(i~G$D29FW zd|4WROH|2|6VhZw7&g8qef^zKaU(XD6piy#sj!|@UYog0Bljh^_<(m>)JVFyFqc%$ z9Xlqwp42v(C_<9a7iid;e-C2tpdAkPkQd~Wcm!E*1 zXV5Bu_rt%b7#vZFSKbfKlUso%#hI{B$`i?akUx#lq*L5Wp+z%^%&-Q2e9L@SoDHwF z$G=Vyk`j;G%@Y%Ng%Zv>n9cK3(ptHHwebk;kyCWNN&Y2z9iDQO9_L;E z$r6q*p@0;`FD&Bpn;7N~Yh!MYs}O1eNP_k&Cm`n@kE-MsuHyUQDXtX8lmcxfu;~H* zXRjwh=8B3Qy~O)M!-*gwPLHME(=HpI4s}-_?^KC}PI**#_N$R>=ov-_7SH$T9ZH#q zI+V|d1;w@5#Z#AKT5IbFFo7qE=(KZSb@R}$Dx5Tf(i_TSc2UE~x~%Y7Gbo~4@q;DD ztnbsrJ!|Ak_;%B~GrJ5cxM-#F^|y&R?(TN2l*8KDIuD~cthu)5dL&i!% zVr=f`lw1OEY#&aF;HX${<}sRN2`^X-pQ z@>COq^Odznm+!gu262>Rc)9jegrF486TR8~$ zST{5$8ViXiN2)BJceO<@= zY3Vn125T$%h+`dn1L&e@CKp;F)RKK(qA!D9JkdrV>Olcb`NaIV9N5BaDPKwPc2?>s@b0-HPgrsC20Zx(@V-XtoE@Idbh_33V>77?$x_)C0W5 z6k&~%=T)?Ki4Mwluu4_{UP^FWDqjp{uo#4ek{LTwn zbuVP9eG4-YoP-vz={Xy5laE@3I!@7j2JX3&^Bf8;ON9zZaV`xLIi_U-f{caB6TH%n zUUWl{rhoMeq}$(OC!DOF=cS(2`*j+mAI-)m5X*{rTHD4WnyO$2bta16$}pF&BPs~> zk?Ywd9vwR0Kh@OEfK zXa*YJWJ2!8_9nDlY6JSo^AqnLRT45v5!A;F*!Yp@@^S2Uo|VBQALn1#KoL~I44C_o zY4>rg?iKYf!Lho$9X-44vP3&|jCjL#(=Xi+5&P%E-{vyc_8$9!y>6S?grJ3*x z*cxNf{X4K6@4EU~vd=>sC#x0oqfGO2hl>{IXp3Tq`AGlwG0)92+IT;sIX=Y+c*U8= zD2Nx7k-O=J9M~mXRt}>2u==;q^$rzk@$&7iUZQD|dBmoCwJ+o@!~v4=nlcfSI3!%w z3e#(bjYE_sXfB0#Y#em}mqPilZ|#9%)nP(87z%#8aX43_O5`Y*gVXJgg+$J98q!Y* zY5C0`?^5~VUin%QhfOIzORObp@t4)12@b?5EVC|1_k(X(r6FP*;QmH&{uj%U3AThO zZeq4Od8TRDQKrmQG#zN2XwdgyoXo2#Xx3}q_n_)x9^+Ckqq-zzST`RC5GVRs;P;2< zU`@CTlTpLoANM>vefj-{SQS1fTuY5lyBb%JOy=mAcH!5B=bBM80mG??_$pHBwu4AK zVzOP9OALAV!h7CA;&_4>j4bjQ7UvvTRgHJ#Q(cwuoG(Rml(H3yCF6`?kI9MI8;VtN zx*p7UnHYW$kaY{d)dS+eCg-3U{1u|Ur~j+;t9YF6{11uA*e^>GwaXi=*2pj~{9B!;nJ*r_Yx%zm<_lUu8Lij)D_Ct?MVB1L*kHx6mvT-M zJ5DC83-83wC;-pWiq1H$J*nt7%V6FG_kDb5p|D(N2j$_<3{7OwQK4tU zS0B7tAn(d7qr^}>I<-@5y(;!b2mEzL2h)^yrjyg(sx)ASVPYqkO>q2!+A)|-Ry!FL zEBHe>pOIc?pX;i~%OcEUjx#>`ur~Uzr|(T{wE7B9w+eJ##VnNlP5BJe?*Dgbb%<`k z2;Cm_G<0?ddT!zb#X?L%Qn~r=DZkStNwm#Pt#>qJ9`yuP| zXW6>(sqX!8GwL*&5X4JnS%uHPJD`+I4so0MnZiv&Je$qJ_sjDoAxMHu`*I1xgaO}D zBQ+W0%czllmebige5QZHi@DP<>gxk(uD|WhO#%t81(}pmp>Z-;q|HzMdXCn5G7x@X zrx6q>To73V^S@{a_&w3?)I;}!@5g=CntrF*W!h>#=3?l| zV4_a?L*rZ3jCmA7id}G(%%h@XN@-A~`f+X6@zW(rs??bJkB4sM>g`R~`AKqUX$np8 zg>a+z3bQ-Geaf3^eu2Fy&*XvI);O0BL0+SIzTTCCoO&IARS=cPNH00;$yrNUSO?b%oL31F+6VA z$4dQlt@a)7zXAx|FoQ8uga5Qh|8Q&uZ2OjMx0M9^c1OcAH+q+iGP65Os9-lqk9tCf zhn8(1yK?V%2k2xz=o-zurOaMWLde?Ac?nz9zy8KUt$Bsnj)w&`kqa!`3;nxXRp|ai z2mH5WJ`On?4tWh2z^TLM-}@*yPlrhX-h$6BTe)tUn&V(ODT0X%^!W95am_vB4Cbm= zDx*<5w71NeE08l__x|Tx`0JK8;IsYlgZVmL)xa+IgZHqsrtC_niR4I(A;zDv$bH~L z8eOL#TIqiz}$Cm;jq?EmXG3+Y<~0BGD(vbis?Zmb`Ww? zJz#lo{5rnUdNzss*UNd!G8N39?JjIo(w3etHWzMLb|h*qQ$MmoCSdM?KGw*Zp}WP4 zPqOaYf8EXF{lyXyn_4X@cetBFMFV|IZpe?>f@kFYrdLJ@PAJ8!WgAz5e}?zy`EfM$ zYEOT)ck1>mtH5Ua)I?S}`4w#ttyh($x>ou(&(hCPpAj2bcaHhkNsrM0g12?TeRiGx z@i0vCvja$oZkgZ5O6J8dkGkE`<*FHnJzG@*H{GoO%-pQa$$vGM;d+T_^y-floyRC9 zjoVIx2s%RlcG{vTPK)5jaD?9X&7aOs*lZ$mlPER?ITknIP+z|~zu3xy!wH>26Xx9c z4K3f;%-Y}#6}#4zjRa7v&OX2>_XLSFCFa{=n?InH)$na$nw{%&l)E0C=SYs|yVz%Q zQ*${rLhC)62BfyOm9{0(1sAn;uQ1piKff^J$XzYWyI7NPl)XNkpZQ=+PeZ>qWG-Y{ zeI}3yo-gs97ykwMGz~>xFSfS<=$s-kt8s|)LjlCal)%ki5HK2vL{$~8T3Vj?Bk0b> z+7@GRoH~QH8TVm`Kem#oO@xxJ{~0w4t{vI3IJ=?hZGV4VKTlqCQ;#XaKNzRce#0EH zG_H-$2aENG_!lLRNpuW|L)e5k;ET)hHzMweIQ3F{U3|H)h} zBzd+k0~iZ(csac1>*!%Y30t*>2OYaMT7!hQ9^_9=_O9a*7;FYd`V z$*+2G#7#Q5tx4kHI_!ahRlk
    Zylk90=h>8*3DVpjZ-nbkKx(*Tc?kcy&^&0o|7@w0R=Cu=i zj~lmd+=0o)RvY#Nc7jgwLN+t1c`dD+fH%F6X~M_%rAJE}IVH1U?T#;At}_epVZCDF zW45%!;w#!+dK&Tc1jmv!DK7G{@ROp?a+a2s1>OV0!_&jVgHhs^_`)w9zNC7|`tn6i z4ra=-ec~;Cs_#3}Z3%*%-T18p7+(&biTjQjjd=m=4qMM5R+S5UiCIFi;muC+-gZO0 zGWID0H|vjM*NKum8C6|o)lYnG)Ln#jio`1u6n&h;2hF{5<$btZ2H@ji6fV~Q&Ml^* z@P^L;oLh~4vStO!aldQckj_=fisxju$Zk?u^qR@(R*T>N9Fn-TW~Ja8{MO6D+Pgk= zYUV<2%s%?Qcb&Bjn29}T5jrpN6H(gRLU~DDy+b*qdc1wgT^YcGh=l!SCxIVIC!PWt zfp-ZHIEQ)#S%M82Kj+WO-5um4&uP?efeVrw{L=i=z0wmTH;#l^c6fGeIJfFKNX%s; zp0g=z!rpIuqR&1hUYJIrP&l&zrv1b0OuQ#pywOBJW z3l|)i#aBhDcX7($H9u!Q$N~RLkNDK%UHoaKP}yJ*lB}@h#OJagUlx#fq4$=7`EE4d zFF}3K_gFNEN<8ONW~b`_T)TIRu`&Mky&Wepfxbkl!qq}y$WU$<=lV(FsoVFK?d0#C z)fR8ZL==5SEPM>gxOPzNTd1Tt&BwZL>&r;*R8Qf#pH{YO8mOz~+UyJlW6KJy-@;0< z8gIX4Ee!RfH}LZ8lq(JUu#tJ?|A*>=+x}PmnFSom7e6bHy7)Y6|t(^X$UaFnoWJYJ{VN)?ixh^ul%JcP4qaRg{ zT`F0UAU%R^!5O1tzgT+Mm+;lY@Z%VVRN0HyPN~|$G{cvG{-BS>tdgyt`4h5?CL^_v z!DEqwH)ZTw;9}{6D{`~XrO%KGE-gBzqW7Koeuuhm&!GxNvl)ub-z~%^6;>cMWlw8< z#Lg$IPkmu^*=bT3b}J%1)L7Kj)Mb*dk4$7Y|Cv$~YAxAHy$L z*X=~+yE!ca&$Xe`UjZsOg{jtp)w^=sr()MfKD((V@Aj)CZvx z=~Af|67@0phJP1Grg;fQ`&#t@mb_TS%ET0Hi>u5s5EN1I%b$bRW zhmS&S-&>bbtQ7uu+Mf{w`P*x4`DJ{R(c$}11 zW<9|061m(-HTD}YwOZE&Z)sQ*oAhnCaLAIC81l0PQ-d7|PpEnA{(ORov|-YKWXg`k zcze!5d^20crmd`Z$5Uh)o`8`Ch#l#yQt;8NTf^<`?J1f%GuEf=`pUOkn;6pm^t!8n z(z8YFRJ!*#cug@>r+xQ)y^PY%xP{LQ8LrFpNzR_y#rqZ2p2(zK-u<8PI9xgHXnVS= z@%D!Mk574+$P#JW6~ti@Wl~kCva?T4p>m`$zV5wtnXu zZxd&GXI*FWV?&JZwIZ8Ml1+p4h22ms;Uct2fbov8;5!wgF5{3)eeePCTVk8XjWnm; z@$fg$qM6+KSW*5GkS4T9KDRK+kq+$~wUhkIyw*IY?^Tp8zvW2sp*c}ZG1U|WYe)sr zG6{&gRh3z))LIXodLR~_EGNFuPRbAs|w2rh^>1IlNoC1!5M?%`qX`;Q9hWY28nc(w{ za9gA#rh!LLrc7P+!H2|nRd{RTZ!OiK&2T~F4 zNl9LDUPfLnSBK5>KZ!bi#sj|j5`#>(%F}g4V(P>!H4&L)xGKmDVKcMw9v3pE*GJ*6 zC&0Pj+?k2c-Q?Y1Ydd7k?$=$q3EZ5+iMomM2``qok6@N7l~1a?O5alAxd%jT7V>73 zU3lK|$ntFQMDsZCG_Vk7wb;5Y#D~9SD_lyY26#ZHTc<)*Xm}jDYs;s)3t{R0Uf10~ zQaC+S$WyJ%>EIaXVgI3wQShbUYfm|QX?wjg0YNTL-Gh>O!fL45MGt*AfK;E}SG1n7 zp5xq;Hj*GbGD0z8=$rntB!&iFM~9{D--j-~>*xJ+-`FBb!^P;lBr2GXESJz!n8c}3 zOH>WUbQk*tI!Yr9&3<)*==emzTvI*C#G^zxCFRIqTf#7)e|$hHMR zjl(EaJlS{i!ITv95u34$A8Cor{9ZCgnM+KKH`{&Jw-p zn%z6IhF+t{x=3@1LJp%Q@3VER$WjU+4*&0SLQcSy-4+`kT_3j7`c3lfnN7nX-%C*Y z9NJi@mHws)9DyJ`{87Zr277+lca(3WNXg-#f4w`>=Cr+Yvl+HM_NQU1augO9@TOhx zep`RH+}|m`eWs1wPZtg4gSA1#ZG2|Lb~7dr{1uOlt9@jl&AN!$7X5Z!`z`c^^ost? zN{|*_sqG5G2p-+KREceVOcN!n6LRocC@)hb$_Oq=yImvoplmkG#zxD7C($n0*ldk9?F|+KMJ(y8Hf2x4@A=cQH@s!b z+=fmU2QRTgyc>@W+i2A^kXkT&*Kfw%WMPd6tF4Bo3v%zg4L&QK6K1P_Y(Q7*R|jpR zR+2i;-x`yq+Igj(tY^&{R^OYdmp5)ao({cS-OsQsr7^t8-YkPOQ{Fu2M)A4$HJbS0SD_{5Wd9Zz2xjpr-HtN*9bs6C8 z@)_$4e?#+Wdu=PZj5))v_j~>*x>V}4yY${s~*MYD0;V37+Q%opk5Ql~u zOWT;nlH!4Gl8#qrN9(tOA)hI`s!zrF60w)vt9@G!o)%*0iceir? zee`{-Z|rmwTW*}&p%qMpL>Wcdx^zjQrfG+NU>n9uM8$-^u+dR_|JP{k=m}+PnXgJw z*>KspidWe~HXM5?PpV&Sqo!6z$IE1Cf|3o30!z6SmY>7>z-=;V7d6o2{f`b_<(YNQh3(1uV7;)MXy%r|2OP<#c17Xos(LUH6SV36%Sn*i5Sc|L|7Sxs%R_z|pI#})_K*goP)MV>q zRlOCL(j&$9!c`etnNFFLA3{pfN`mnX78*(dvoS?|G7U0p=@Pd&rY=sxPJ(p}9vV&p zw=oCc6AuR~2MY&bG(K9PO(~kD4b+wt=F5wY1%<7JHT$Y#`D1v=Pzc2hUT6`lqAez@)_n>e6Ajcv^->*4&qr&itg5VAYF|eKs6^B* znx2~~Emt>O|5R3;U#K*d`>KiQMYnLCTCU9Ns9{%!Xh*gt+0y`57OX-R%c@v(yxcn; zUAj(BPIDKDtL&OP?_YXOi>sS-{gyV`eAL_Kc&m77c^Y|2eI#D19(o^YA6g$8AH3L> zqJ7yyH{xtlY^7U%Irq65Jx9Z{xvrD9E4b!gh^|I^u`N&dvW0EHwPN}@4Nf#}y1uL4 zy~glaULIV-#s1_*bZPIa=J^=IZwvbN!<#As!%?8B1lv()eZOt#O|yjTM)=0<*UMG= z8}uCFy%_j(yg7j<47{LReh;_Y+lpgjEy5iX2C{eNc9>+pWbBS8A^;URjEpeA z{Ck8zJOG6mRYqubf71uG%aszSc}UHit`|FC6frt&>x|4Pa58aTDY7Xy-?-S7}*!BljGeiflYR=Od z`4Pa&kDr^^jBP3Cmt$j2_kz4G^awz>gD(>%n{FZpCCzIfht3p6Qw}JbrYph96l6L2 zk`_6cGkc_Vhbt-SHqEIVdorz&5a=u9Cw7_3oDgx4`}{V_4nA^=gPuceEV4`vwJcAo z`P261V^k;-aC!t^4}mL~ozDhPOo-hOY?`)l{ybgoVhQ)L8?Tw{1<^B#$ANAQ`%wTF zW4rSSdJXY$2>dGEoxm3cu~%-l=Lz#Hq@xBAFAy)s&p_{u8ZRQd&-clL8?MVgY#06d zEBE);-DG$o zJ@I7J4(S)zv?F)T`i8j?!#BirCEE_`7vQ!_ca8Ukx)Iqm_&Jc zzHtV^;P0Z^KdFvI*Tmg+WIewj&M5iHG91gi#C7gL&&1x5fe*(U6L>_x5y{2(>|s80 zboYnB5q9orFeY$|y$#kd03$p+MFIm;u6G3DyMXSGUwf$EMSlD?XAJL;8!?7Sl`Q&oOp?_93v*9} zF}_{Y^w+X6LO2;T$uANl*i@y z%o-m%f_4MFEXhl{I&5al^_+1=z%@d91Gy~IN#ZrEW=!{-c1FAzXE)+z%=esyL%K_L+z0%Y@!<_sj7Ha$DlQmu92x%f~JwnJ%s0= zwZv=+fscf2M}E9Gzmd%kve;q2VWSxVq=6f@wtYLUvCZW|+j=gSVxAJHa|s>`x|Q^Y zT%Tj)di--asA;le{udNn;q0QIW2U)CPbGZL;FlS*(zkOiz87v>QN5hL<49)+T#5H% zDQ5q&k~GT_VQ`CY@I{(s`Gn3WxH3c2@|;OA`JR?JqLz84SfWF-_M8Et)5#VjJ|Uuj zaOO1GJO*dROu^zA3un&gLI>wBK8ceB)c_4=)=Z&Y3ow}ii8;Z;8RIlTB@3)fvDstq zGyx_HG#&m*=JXYFgo#4fW1`lS1Hj_(_vclZJDD`O&AhRrRc8*Lu&SKPnZ!Gu)`(6y zwOPa?tQSHZsYL)-YnE*e_VJGwq;+Y&BCR7bXR7xE+x+a2+u{9|R%i70z>6d^?3vGX z1P@lU_fTJ{u6Q$tVYi%pukgDZZ@tJ5lFgc2u_Fad;Yfg4eK1};pH7j<9Xm}i+1?b; zJn^j*gGa<_n(PkUGwnmt>KIc~Y-+~SGbXDT-5k6_9Q&AbML698wnJL$`14s&^^DaW zr%f^2k<1HrhX_#CZg%q+_XVm$3Mg<1;5+ttk$ds~h~zB*7R4U<9T~0keCvy%AH{Go zsH(trGFngNI_=?Bmpd5otl6kQJRQr@e^>Wo_5XZ)Q(L@5@W6~co@Jmrp8ouYa6Fl3 zEVTA81>Y+R-iYqc_L&H4V6^ea87W$~vh)PAv|#}CPe>-3*_v;x5z(eb>g3pCgA6=O z^u$aIOt40~8tm!aL`!4TzdL&KmW0tJe$-&Frpg#7Ei@)-Enlv!+iN zTvG>-){>YSIB76S8I)2-PZ%9r^N#7KQb*G0t0qlYQ-|%>hFBwMjo&PtT0?sU(U{oP zdOx6P4Q`l@Epu5zdL>sHU)HFc`81~abT9ltT-I!iLH%=Y4Zb?eS`)iu`oOT-%WI&u zTx^Z~8f9aaU59H;wmQ(M-?p4=jrbaIZlYJ`bB6su^BQw*wpj;$2BkXeYYer#xkUJY z%r)+7Dz>Dc+8?0-%{6#dk&sxkTal5ek6Q6tr6#^2Ez^+Y4Ba*DebjOpQ*~&v*3&g6 z(+pi5yloh3nRKB)O#`-VTyq(9VX&&!>WtIMjBQEg0lRJBW74*6a~byms%`9}=c0yh z+2=v-p?iRjn2aYg)u|$N-H}ld9PAD>N2cm_7r8POGfM-_%FZO= z09SoEZ;$0jL-Qc)yi9g#Myf&TBF#pw7Y4FYWjM#}VUZTvz4%$}dbC7pv}Z$Zemc9xU(|159h>(%=czus=OHlShXkfKP+(^S;4ame_Pb<9=sn?t#Z=kymgUB>m_ znVAP0^Fc9>QJjm%BMa_$`+{L<7ddn&Wv_Py%DlD4#ink0OBSDgj99g)6U4Fx(o!>t zzYvuVt&QVYEecvz6*}dLxt`?7wwbZoO~9Fq{7%a-RDv-nFeMKOzMP9{K|pM$L0xT> z*Vvp*>P1YLBvlBig46{sgsTov6rJPO_|75^Gs1GDeT2uy#=;_AxNy>{Rcqrd|3~BZ zn!AWKMd?DpMLSyW@WrGWG#Le69xDP@Ti7_%st|#JfGY!=OBIcXD`C_bUS3Y0YjTi% z%1u)HP9usNAgwm>oVGf?V_9)86ohFN@GVm+rb-@dulEl@E12~%Pwb)sk^%cxrm1Ds zu8poZEokGf=Ut4>iT|IRU|Pm4F-<=ZmwJx5QDsW7@T>OiJU{^tGCg>*Ge- z3_9kavDUVq0*z~Xmh5o4&^7SYO-rK6BIB)|}kmZfzsCiasy_cQ&+oHiGHm2!DDb%EDLPuS7xyI_r(D#p7v$SmNlq{jA z79u#l{h@~Sjp;i4+IZ6Dm48E?xSK~0(c4$4iZc#gGL}p=8V()bzWHt?jy zZE1&Nqe{!d3HEGslG3r+*$FN5LMXCL<5MW=awZbihYS>Ayv>YEdo;MjjjSN`Fw9YV zn(*e(&ICsU(>*y2IW9T(Iq*5rIWjpDIej>qP~Ny#F5UB>YEas^_WunqphfmTG;KB> zovD#UWH=3|glfcF^3?w?pl(dLXZ+X@i$E9r4}3Q($SR2Se*^k${2y2ay|4r9AUctr zM7RD&@MA08-wv!3`sx1yOt;bl?7nnjK79gkogps9RO4KIn&}CCHt=;gXQuxEcl0@7 zpgeF#2Kvvn{9lXT!gm`>9OXI+k;HX<{mD@-UomTuqbDhsD9b z_{;gr1+4g`a=-O$mHStNb;3OTC%CEx15*AC zEU&7+{FmUT9Q<`DAumgR@t01lC(Et!fNIdrFHcxoR{sA2<)Bqxnz6Pl{r>|5A`Z#Hs zDApzUabekz?QA~vc+yq-OY`j>rnKBXjY5f)0?L^t3IU>n0w`%)B+c7y9WqawqK`+- zt#o$g(qr}HGpU;DW*68;t0e!P3K1^_0l#s18OX+7rfQC4&0NI%eN};aKm=-mdQU{5 z3bjr#YQc1%ayJ`=6{iNJ#C5r1dnt+?3i;1~kOEG^KpaL$5#x97ktOA&?*fwH1ckzJibU$A zDt{D{^$TfxBy|E&r+Oj|^#`2(>~N@GSEz7XCAv4j2$j><|L=h_j8HNCzX#wqj1+&$ zX|vl4>Z>DMXeaS=g-SpxYW+J&U>D)^>&Tp9D3apR6HFxji#XGjD4@0l(y0EOj&X!) zAn=VPJux^5<`e&4>8^Vbd=tc5+>P}Ax5RWc(ai>q|6LdQ|07XIL*ak3*t)}-PW8R9 zR&q4=O*N@ACehNaBwDr4G>dMUh;#!Kn-%sm1r4BGGV*5W0bs+he792TYL#Z0n3mu^ z&{%GpiVN%`Wrp_-#;!FquB(1s-y;9s8KL4Jp$zLUa!qIFQ<;_%Wc_hP5BE}89XO)qOv5tp8yJl;! z4^`BSLv!f0c0TpmoxdQ)t%x)63=%d|t5q(6V~6JPi8f^b)ATsFkn)c*nL7R<Xk~j8mJzm_dkIgBsc1na<>xbCt!I}3-bH7puafuX|7ud zTn?U_l>5+w?H>^pnIS{I>a>u zDBIT+y01??-H2a&>92wU@ZsL{x1hlJF#ZpgRX{Oh7Mi=}mc@Su&i4e`HGiu8^JcdQ zs`q~Zh~7L`_n&5__dkPA3k1J{?`8w}3+&;$SwI#+wEuSiw)j<>*gm?O<$nS)-7KJs z5ZcK0GTls|QxM$9SJM9gILP+W-3;JEa5zl%5(@6++Y`%-b&6ahXRz8*ebHc0k2{CK&fDZ}hX?}uma zQ>CNZ**LOLIE)>xe!HK*I0_+CxYT_qZyg`6=ZE|AORnL?u}6_j`_CutNrz>coW8&* zT*u;F+LyYiAhVANPEO%HTOvICdff6FG`VgDcbKdo3Z}qpBYJUhDUw8{i#2?R_2jgjvfQ&l^x3V;!d*bRL`c zotL-4Q~cRIyu3tsnLmdP;(>ZQsocgVacYEFyxdvE3GTlM@JMzXeEdJ6-MO20^>F=M z>s_>uo0kAf4yF0fxiO+2mPZ7*=+kRM4Z}0JV%NC7H%!TRm;6W9VsGo`?Wn!ad^{TQuZGIP%F=U1Eu+FI2&e*W^euM<@1 zn-;ojZ<flXTX$Ig6CLDgHe zU7+Sp*ZY31b3%w=FwZWqM*7T8$4aRJ@Rk^*7>8Q;=@l4Ha~Lyn+PfaZBu6@7*aJ2W z(u5d$eT_p5dtV>+1H~`&amVM=0r?$VrJ5MW;IQU4K=vKURGD$v2TQI2w-2cI>TiOXia~=qumJjeTDvnTn}a===8bd zja(0Zj{ZLNs(shljz70kEe}50heJ#w0p{F$UrOw}V!h!1YDE49V`6LU6{3R`}zia+K%lxMhp9TMlsR%SHS;67$p}&=YI$dmjDY-q75ii=x!BuVo7nvAAo@=k=+p?b=n1q~=;=S(M*rDHdL04=Rst=i zzu>bA7#RszSlJ1fK3Qy^QC2oa0#;^r0yZW#0#^FJ9r5?g^jU(QfR&y3GcOYXI|my9 z8w)D|8^=FWSy|Z#SlAhLJ~Mn)#KQDh@H69Qh5z{eEX4e`5{^$EI|l*d=jVT2lAZOF z{~2ec|63XJC;x9wW_A_=X6Aq9{$~X&%xpTJLnN&B4~hPzRDUn@A4>H(a?U1>pK4`o z;A|pnVq|A*0z)TlVr%AXPQXOZ#>-3a9~$YNp`$Qn8$|!D{gvt=1&?S$f|#%%iTQgN zuks8c!NYG&%0b4-fUfFg8O72hkco?N_oe6)(@l(X!Wa8|Yk*L7v?F^oIvJ9z`+_J5 z1v$+-DnJV%6IJ0`)9s#vxinuyEyPb=A-5ab(D`^QxhH}=x8i9Fr_gz|^)G9>74JQu z(P8S!sN`osvsPxCt)PTN%dHBz)$i>HX?%kYjbACYgJ*{owvD;MtC-ACOmJi&_X#s3 za}$GmtL0$wNU>jxDY*8} zUWY@W(e-RmD0!6_j64Q!0{1z_oMitPc=+nW0K1D0;;8AK@@zaOMvs#msIA(jG<7pz zjf&Q1ypu;PgC6f!0kmcN&ybY*nSuY+o|*m!d-#`v|JCeIllvd+K*aWQeEzEKzqFl3 z{C`=sv4O4gU)yjZ&|>^l!%uVi9C&3r6w2 zkPL43Bi{#1;Wg|_493RgDU@DER8+a1DA*7!_D1VDkCp63%vH@#K40a99KdTf?*sR5 z94Qpwd%wl#5cFC=oyO`PsrLi=(&U38XvTvTAO#H8eKCiD3V^l4{X=6L39_yO(k#7LI%X{wzY z;hW6YO+s|GJlFY7xF?kDR)dTByi=!S->zR^RU)1YQdJ|VzczUvR`_9>nKDa`)OCCM z&vJx}UKP6OXt{yLnh&2x^?qR8!SC>eKUKY*S#TiUSuH~8w$mBz-39jM0Ztb;L;|)~ z!)G>Ad5O(Dw-*=heptf4V4{&@@`Hvtf(8VL`X`)`g+xA!+81A$0KhFQrX6AOzMTT& zrs%uBh329lU<}e{5LIrH2j+ngm$K@kh=4DcV#qM~GoZj?jM2yJfb3G>{Xv+o@hyaq zgpf8)5ti^DNw9twq<}kB)amwAp5l}#O@KKvRL|D-hcDsP$6^7o7Ps(^E+N!6vNX=j z`!R>{hk~U>R*}gP#?Q&}%Ti$4t}JH*h_%GAeA^;YAcf& z>Wa1%{>ru$_X_WYX-f~pZCbk({7SbK`HHs{`^vXhB01@;f5wFp=i0l}ty9jyA8lBCPg=`hsM?92Y zw7ai-JhANww_@)=CxZNtCc=P1o>2A-9ac6uu}3^l$MWOupu z;69^QOqy^{96k`u8ABjD1x+k~TPTOOc2}N7=+ZS=y;I++v)16{5rVB~nG>8Uj5r z4HnQ7OoTPYN}G^imxjdu@D_K9M%-iGGo5H<&lHNL-9z8ArGX&O&s4@* zTM)apU4`o2ICj3mc;PpMc7gm=*OD7$laKOhYNhA)9Mx-{33&D3%AU( z>agyaHItq(rkH%1Q#1F2Xs4KIHr90?0&Ey<6~)J*M)+GYqT%;$t;_6|JR(gPWR+cj z%E9V|c;=x$Aa=+__iC*=5E^pR*&-?T?CXR?l|x6eNZ{_tKb!Ch+e9Mn>DP%BE5nZH zh~Ph3@)+J8BhVItoU_esc=#V9BP(8yKmkZs0uD7UbUY-jT299X0N5)ez~T$+r+#Zb zP8;nop4xh9!!=#xk@fE{WZtPc6uLn1Pz-AL6?KJ&`^$w>ES%rDIehM-CWhu**L4@7aQ#6A|e_ICk)m*O^^C`#_vt2{m4 z+`06pi!`g$xWm7eJLU8gX*ZrIP#gGM9uH@$B=Xc5uY);;zs_O_+CafqUsSA7x0Wex z>L2pAi=3(iOCwX&d}h}3Hj&A9>&K#s-9X(0?<8YYSDOW^Sx%F@jI{BG9gw9;=Kb~x zf*u~Ufbt@b)8J@c!)_sy7u#R$FV*i?8D6gp(`~{yoyLzpCU3>~Xi*-rK6I=}7D}zVLy~Gw*#uGl-x0VG@h0 zLtTetQFX@ScCkLtpoPLFHTLN$y6*wPn4_4Tho;=kA(EMdRX^nrQq+Mzzl3>lZ5Lv1 z7UAr%Bfjzyf;ECucC@_qh!8oe?HyvxpYTSltFw211Cqxaj5gvB4%bGn&0O$ibuQl} zl3~EG-Ltm;oy4}llX2+1AKAxS(?>QPAgU+rju*Z4oBB*T_E( z%7AAXEfyLYtm~ptv=_f1P4TcO`{r4oDQ zw(~h6VpMTf%TosB=4v9e9w!yuTRf+5vrULgW+bsWUwoDbv^FdcC9~X+Dtkmgu|@7DKekf=hAmy@y}I@ zI+$6|X6!v2_1ze`m41y7p`+K&MjN?c+&}H~K5scwJGm~r7^-R!umBI8QlTh5h8SUa zoG}C&d*I(cLs^$y+~oacXW>&jtF2JQ>r{uX?(}2ar(7(yW%g4Y&+}#^+MH+B>bLXT zelU6ViEd_i2YKo+uS|f88aGOZU5$8CO*ESwY4JpPh3YZ9_?SB^@(_!5kw%R(M7$z9 z{u21wwoxS!!Oj*vlF8*8WoQ!tMR?5=5nXReA+Cpt;eNxa?wVg=1Suy;ym+sZCu;p{}~17-Q1opf~lWD?zJ6SwlC>zRFv z$SQB1#k*8HYD~YMx&BL;9rw<)o@BxM7s#E_2Ur+?RNGfl>vNg=Wdy)NOpwAv0=h|c5t4GtBb(zr2mY2u{%$qQoAZZiR@qx{Xp7rVmv#6sZS*# zeHV+vz|I z9Y0?y)AnG))tIr?sPnn+hD+LVwMFPPd>IqH!EUz3CM+tFam8)iJbS&xDLv`|b2*cC z)OK|ub+jY{GeimYhJ)eNSE{qR&-n0jMTW#nG{#DFGNCj?go7#WS03haykn8cRCCd^ z3Vn;RuT8%WjFXGbiKB4o_~S?xD~la#aW9O3(=xp8b)hy~%S7sm52YtXIS2&}Tzw73dNVMU$co!c(GE~rY16af z`M^N61ihyF794E~lunqKA_ zB(R?LG2AyteJ`z41c%kkRM*wuG^)00qCW#V9v5|8gA8y-nRCpXZaS@;CfK4ZOlv8H zIrk+DR<4c$pYZ0|ndr@0SfTVv_H>Bu7nK9QE8NN7rT3tuMbwh-eE%a=@U_#L zHr@i~28-K`Fk}QZp*p^o7BPB#YU<5d7?N}oDz|t$(_@R9?!%**N#K?2^iRl{n^WTG z6hw>??*VP}EJX0sK3P1^^ZnGX+3QKLRxG(6J25-fY#;GF80Agqj>{$WX4{>41x?x! z?5SHrE4dS$}w7_*k{ zM|_0{ch$dcQ0~fdQ_?NWzGi4dw+%KY{vhP+Ob*k*&K` z0jl}XPpDgjeP;?p7vq*Go=}r~n;V4p4{@HQO(rsunL%|!m4lUa`HEg^hHH*K$|n<7 zyl(Lh$nC$_u-JAeZ@%n)(FUBAEEADCCjD~OF|C^;63z&4@;oS*1Iu`3FW&KlnZ(IJ zb}-$=3A%O6Aa+0);y^j%&vqC)Ln13$Ga8o73evEl@0~A*~}( zGVaBv`B50khKPkZtsTX@9czupz*z4wJghkZE`~K>u_soaI$e(_`YoIQvKNEFJ3!!e zCmO^k;Ck90vZ2BNJR&GmTf=%yY0bPjkSA1E0mogAA-a8M6kvxr2yS%I4)h(Z;L2&f zxB?7J&EqoVxFc{YKUTVr;>_kjqBfcbWS>W&g@{0?GdpP;!0uodemwbU6XKz7^9$b( zRs9hsH9{d228^RY?+(w#5)2R!>ok-M5HX-HJ}v_XMKQ#?zJ<$MjPetPv_Rr81Z%6c zat+pbBAiI@{PblpiJMR696>)8LI>34!?9TQ8WGX9Z3=ao-{&P6PJ9QtfHQU;4_;~-a2vIow;Q5hUt&c@nG8A_ zHPkFD>07fQU=2m-$zy|yB>Y6D$g2@Yw-F%&$QXxz82-c{9gKh`Qrn9>9XQ{?yY_dN z<|fTTuKsCwO*`tCs!qG`^WHFiiS{AlyMy4{j}W-u07e1UxZ~Q&Gm^Fu>SaBIU-^6L z90F(~*n2o0$?bBygxN`S!_SVn+C+Tu<$G8yy0*VbZ_wk%`I*L}Sdqs)O@-=OQVmSg zh{vhMuMdowrZNn4?Iv098MEoLSvTnq(_tq_56nK@Wk$DbtQp&~J*JT!K;JfjAbmsm zhV%_P4rL3*948KGnv{S_U%7h>6c&5|${J<~j~pxr3>%^d3IV~J(OzcjqZ_yoQKnL@ zDq4xq(7MoCrRq@WW<^uokh}1q351V;vHUj2T%sc1mP0GR6ZirF4~K=u%xSJYU64~A zR0O4i?yNL@E)W?g3tO@2$%p!;eI?aX4cUd;PT=lvRT|ew=s`#q(vEiH zIvf}`K$sm|@%1?kZu#qv7<5re^K*lzU+95TiNIj&8JGwmXg|>AK*jCX48d)u>v;3f z35-zts34p?ysGq@d!*1Y$#tCrcRjeixEWuoIxd^y>>7&5_|-!wGAQTZy3HME+;ikv zC^eblpfkJPkG>7A1vj`@#S#=ttBZ+|9ovK2LfE&lK9V!Hu4Sh=yM|DD8J`FBbLYPu;!aDk_;uEz z{7mFi;A;8hxKDBF@_7=ZrKr~FIEGa@rqua3JC^OBQieuYYdZ7-FB8(?w+NOn&CPT= zg|cV66Vp!VmIFWgPC?pR75PnJOG;D9Easv317+At@qu-zU#2)&%wnD=7GB&oi0y2S znF{hDQ9;#Qf}uplT*1zS#%#f7MST#Sinm2`2ve)S{OQm-)nNov4!$zs9M1_gn|@t{ zTM8ujg3Fa7 zx-Zk=Z&m8rE$nbr%-2JSbuwsqUm+mGnFmXg6C` z#!Z@3NBXh*iRcvz9C3Y`-T)IDXNjGxx`V=s2h)j_Fx zAY_9wa0|K82+DL>;)HPTUO`*|f<8l4L7QiQECm}@RyM~7`?~IOL&EA#sOdt*ykrGh z{ZI=4#s;cMRs{J&DN7`H>Jr!RN}+47e@(cYW>uy|F@uwuS2B-o&30H9^-*mQ!G&_b z`J#qfji;T7@OyTQPwd0}4Xnip;`dMzFw8+GqG;jxq^GePF_dV>Ih?VtBtQ0v0TPB zGnLQoib?XzY{~g;393dDs_8VpRu&j!^JB7-WR1(Hq+kP1?W~+N9D>fM$UajYENb zVBsKVL4vi-;$uvpDc5MbRYyAIn7E9>PBEAkemR#jj}E zOxz4nlA?FQ$0RF@tR?tGUb0gi3ROmhueOtx0=v9d`LXw=$wL&tnVQ!fP+U=cwI`-6 zM))p{I|J~gh^10Me+C(%vOz<%6qW}+xFLziXBHct$YCAxD;v8368m%|OnCi}ZNTgI zXuDu|rYglX-y!dR!6~%~vt9~MQw~D`Dz~EA*~|4rG~(5FX%Z`P$N~&KN!)7r(1uK0~W(`r6LQHAI1gxZb|9 zou2x<0LjNTe@E<-DXQ=s@a^*TYn~sV4AMc=GWUC8e-z*G46waosE!Oa`u@>fywMjZ zC2O10{VoZNxRVM9?uWRD9T^|iCwu4CZ149{b947-Sn7HU z8l{9a4rq+dp&XG*XS`Um7%lv>{>|vtk7AKu;X```canQ$fBQbjw2YZ}Oqf$nwu`Gb zzY7I8N6XiakN%|;-|n$p&PO=$9xth1+y|KD@Xeu5XWNjb=8p-PxZ%~Or+&@t$4V}NaPf&s-i!&y zZ54NVFmMHPVX@GBNp4i95de zjoC`%s4k_vi@ko|qxA%rb--QM@>=laD_x<1&o%vwo~hg`DFVjDpAF)+cgJbAcP0l)Nt?Dtzd7lm?6Jn| z78xak%Bem7%o8KCHarWza&w5Rxwp#&ra17|=Kdx^vl@g~Gkp7Hm#iTf!$~VkmN^QF z$F>gX_CJ~vVP2;(9&QTwScYA=H`L1KI_gfZU_Ewgivz!(3NMyd_WY~n=XFokUY&z0-;t@|ACEq=C>uR#Q(&FO zSPC8dkKGo^z3~>RblxVHK2*2{1M*nteL2M_f+`+(YXD8xF;n=VsDd$6@tQ1wbxJ1V1Z{b*x9GRi((LAQOYte>^9o%dDp z=`3p!(D1K$@VU%rWxPg6;-w{sA=9tKQTBwtYQ_?%*;KtX?N;^S9SCtPNi6d#C#+s1 z98NLD0W28eF}*dn);MwLZq_JiD8~_C6O?!Dx9O>}>9+cGuCJImv2VHBX5%lM-=6Oe zt}4AW^FNjT+Jvy8SV_pq?Q=>qbw>3gv%Z^X8#Np<#NWaaB(RFvt4 z8*x(ZnCr{DTaGp#JO%mx5cSnjQ9fVXD$*s=ts>G5(x9S%bVzr1ccX-K*OJl=(%rH2 zl8dxREU>T(EW0%O^8KCnJ?}Yl=DBlc=FWNkm^*RrosXMPx#~h6hlw_rKnLT1GI$@j z{^N+g6~{7c58OOhvo)EX-PkVUWD$5_j-dI zR;Cejpel6QnRw;e6-%wMFOaRD={I+mW|zmv)sIe?NY#>-A%fhgI%$&+UHj`CrnB@k z$0%R)Re2zcp>E3YMOVoB4auEZ;&{7_GyP8My5DRiSXmZf>6xTn_@})1qh7IK~le2i`%HJd*S|)()4axGVzAmL3w9SyWuz{z;6@|En%#%nxP2wS}b^0|nGhdx} zH@taFH*`7mx&XvMw4aChzH2r`&z7rE>WQIkkeQQbE5S347>_`0_y!V#i&@@4?tH+eNk?GTxTtjh)kgdB%ms>#vRoK(%S*Nt7%=XuH3`e8}v z382C}#2JX!@g25bh{)G=)p~E7c$GTsWtTB6tsAw35Q7eD%x>*YIis}tUC9&Rp<5Y8 zqhsDM5_PDI7rU+p9W+h^uPx);Ui9*hRaC&Vr%CV@xSwtgO8#|m-VDi@78Jf_2FLj z&UHvYOVmrY=Qc(87HEQ{P{}Lb`0)Vn`v6sPlYrqK^SS&cb;9;aDPZT~lTw;VD}y1_ zN`&$qz3ci+00jIhXu`vANomOT)Sx-rp+d*6Dt~p$>fJWAt0qU_(t{B8+>x5@v9|b^ zzpMjB1xC-SK})$vEMuFKkCU~ph13P`2fQ8wmX*!bW9$o<;Oa(KmFMd*6f4?v(o4A{ za?KRrl_orO4zfFH-v`H9%mitZE4?uCzpb?Xo|Q;yp<*nN9Cf_oWL<}dA4}g8iJj%{ z$FUdZX?Xo(&o2Nw&&S=AK(W$yw^NoiPo(qra5%{?{`?afU}tG@7-rbKW>tVg>@(ft zuQD)JajQ+)f+kV(c*4#ox;^`m$xS3&riys2R*Fan%9gVH{d!f=q$GmlrT)-N!703}Y}wzr#;=(PA`nydKx!JAJlLdU&M4lT&{ z_Lt8bo|Ynlc@vMw3%(KzEiy=f-;K>P&q~9LY*DYK`}AD&M?{v+e4s8;@C%c&oQlQ# za2wWzx0`b6C(1_#W$NC5$Ave+r_*NzVUcTaH@cHp62t_3}!yG)gdb05o zWGr5G`#I4gSTZ2J-RI}oA+6M2@P4~Zy#;PHj&S28H^KgfSSYQ&1VhZhrk=2~e*sj=D<`M35XOfQUbCC9PPeK@IkA#{MBp_blZ-H; zyvzJuz1ef{K z7$E&8mYL;G(pInKmqjwzt#0MISFzWDTSrgJ4CssbfQl!jK8vl^zLG!&V-t<&d{|=; zP7-1HiByg|9lTEtl@MUrGrfAw2F8{S;G)PcrYS;=V;B|d9-TDaa<^j-DAV>R21V$? zs@L_k7VGZqQMeP{7Sx>_xx!WTeXbiSdjM?412?(0lCS4e2xAuzS#?$bp#{3+l31Vko)hf*&-dCZ=0Ke%*pGeeT_0G-X4g&_R_& zj4tkW$X)(u4%lOQS)kaD>_J@B=#OzHU0wi@7)-3UuwVSgNX62RZtLH_^U z;zcqMr__^MBH~X@eh+onP{BQ#rke(}^nRf-qlh|u*bz*8j#X*BUEe!AQ@NNX0oagD z^6e6&L?u1&0T-<^Lx*?>YydxEWaK(g3}}BlY;({1?bH0tn;pJx^lyD+Qzs=8F5zLN zm7v=2_7uSQOd*0lQd$&7|1JQ2YLR|ITXDlG067hvUWqfno#YhSsvHb@y`)3Jv&%^d z*?a~A)EIiGTubrT)OQKQQ9U%fFZtZ5@EvS#Hvw$X6|-l|>~ z9Qp?58qe7-C{90Y#&!DA%paBT)Uxwc@5Fgv%s6Y~gv2t%T(63!DwcZ6#@r`x*G}bm zN?+cMRBP_}L{Ank=EgbDP8~eGUc>RB*-_I*dUK0DZj(ZN^efKUsVnh5PSL)?G&;U8Y$pRpB6SKI{i48cR+oPXz&%A2xRc@XsUvXp13}Bf28Id>9UxkGqUMsZka0L3BFiL6aY$I0GIrD0N&WraU$G zn($AWY=N}Mu~hI|v(^0dlRNHoMy`-w$Ik!y0YD2~V|pKuKc-c}^<1biY(*2ML(<(* zz1aPJv~n@nNnSkCO>B20+M(YqB>Iur8Yd##xUy_iCH!-q^=H zx;GNYAV1ZP?Vx@(pP<@3UDH9cKX3o7o0&%B{cSbZo4F&pMl?7`z(w}2pN(j@ zcA{?3qY$$KvBM8z(k6;$}o-oDYJT;}KmdA<6plWb*>MuHZ7u5-m*> zl>|1>uzkeCE5&C_Vnlq>-?2tIa-r$8)zxKIm2+SzP$B@5RnWe;bg4?bTmlG7_b9zA zcwkD8IaxGb*MG*cW^(2xfmqnDzMgp)4b5OLZx1=n>e&*RoV4&(_3^UM(<|4}3z=dj z8TDWw_I(?Gv)j*~wkG|6bKL;cy}naI2ERzpXN+F22n2`T%W!z392Hvd+1;D)JGTAO zZzf4!dxwA-S%oFgDVJs@I42$PV-GRU4vpRFB=KFPG(5bw*tX6t(|e!XMZK)`0z1e2 z>&S8RGf;(oPzP84W*S1{To=;xk~(P7Uvlz*tLYO@?`DO56KM5S=odD`-?}=W+Wa@T z=NVSofJt*!%hQt{_R&ZfS7vLD)meOf)0 z+MhZ0E)16zP_|DpL+$%S?i7ODq;qG0Z2(foq;nUU-_-a2zuzgN{ z>3$s62TMa)}I*&GW5Kf1dAC zGn!XiyLT7AuX|AJ)lR9s(XM@baYxi;bM_0)KvF6vX5UM<(A8Wu7eSFUnqU9Ljp5Su z7AR@3`v=})0PPS3U-^e;L)?yc;3IUFITybl-fuD%m6p+g5?6KrUL+%)Z6`ClLGQrb zUN(E8#_=5rC;#MM&tBS(A{E9W$XPSJ+8^?LvTE4^Ci3SF^}5Szh}oh$*nU8GM>!Oy z^@;r`FvZ25wi;>xvLrH-fxLl`i~J9NEXQPpBFUb9bph>36RzmpEf@&kZety=yGKz2z*;KPsN&f;GA2S-2_ z%CY-0(B@xZYi;X;Ggni7t5joti}CQ%%cc3I&2N%}y(ZFD8@~tgGs_nY?Sp>pLn@Os zp;`_M8X6w!CcAzxl;h{PgM^5abhfb$*REao+|6~XKOZDEhV@bzHx52QjcI?*4!CJxVF@Z zj=G?v>kLr0;}QbP`Gv4q*#WCjhmEFmmCT36o*n$jZq>*eDO*3lX>(j++D$?U+*Sfa z2BcQy11C;7*w3`X<9@G#6B_-RAqmCw+u|+~SSROH`K3y6m)20)O|D=2Y|)w{%;Jmn-&UC#Zg1jvZ(MhDzu z>T2Ljrq!gxZPU-hrDH20Xkc5}Ug7yxNgok3YZ|mHHwK@vMYS1^@eLKE<^Gnt_~Q*x z3%23c5mhZX3=z8A@}YpS_}aJuaJsQVw@$LqsuS)J8~;Ke^0tQg4dvkHzA$<(nK7=P z45nZA0K`?dW~w6pD#b}Q{S5PsX6>sF$ zMmAd&?_&kcn4t9ux-1%ijn{*ulQwO9CX-mp_>vjZ?}kk#s|hn~x8C>f+-&lzgmmaj z{&g!_qPM4*n>`tVXavywT%_36#hh4-G-`S2rc)%C9@K&_5}++@I7U5S1HTYnBK}P%~um_{zj7WZ7tXC+s97&F5tGhx?z{j3bSNzPJ+=%8s=6!>K$Z zDlK`v&oNc(&_tW~Ff!2FC7;u}8=L4Z$zl(d%s(_&V0MmJx#w*aUhsU^R%3QEV=?6! zB<0V=b%7R#Jh|YNrmD6>hylCpm%x!`Q9^G0Ff@DZZ!LjV`pkyam!e9@?rM%uxyBxU z44dWv;urb%CC3C1Ji-8CBIXlwp&33R8d2};rE^FY(RTiLx%SJEik6|@Eku8(_w=(? zOH&#{&EhedK98~xHfz3bUk0mOG(UBu-fhuM3FHi@_fQll0OT`3?o((&d>9IuMDrqH zSq#t;Ze-;}e%rXJZE@?_D5Wl%YI@m=qpTh0N!g%{2?x?|x;n(Z(5hbe15FU7N2bIY{7d_dmVvw0x7$IiWAsg2mkaJsyxcmF9yecf^dH??I8E}X7*I9Fy_-QI6??NyF69UYB~2{)9)5v=_5Q9 z=xxJp1uAq0u++1C^-v(W{8Lg^;)59-aJNU$vZCKF;ejL3wEFPw=MKO}s9H{EZ58Yv zF;nQWv9RDii`MCFK7REE5@Q~6Kgvo8yIkVXyGJ3M(2G!1Cey z?Og5dG8y&7>#B>r1YWb;8e2nLXLY|gv3b@g7Vb?TSJOJTM%cdOr$hmmIFo;CZANno z7`9)EG5Rk_(&!cjwj!(OvDY0?yfR`~T?^$I|xH$2pnzoF{d#S~z@r%ey;gV!hV)w*OgShK@959Q6R&p5*p$OnVQK__yMWC4bsN$Wc#;(ualruwId^KqW?~< z)QA~cWn&rcWEHRk-S%)nsAJwzW^MqAVq7%Dd0G7o?Ax$Pc8~e$i%(d)mRvxyqQ?Mg zYQ3YJzI^xa=5vJ5IQzEF$AoUgNsm)b(^fkCGH3j#B!EqaymRf=rHd;P@yX}%XbwR=ZHFd7 z?v{wVtHZkku&)ZHw=+D`cb+7^-IMJ3v_jDuz%V0W?)|>=FlvZG7j9QB>Xmwn&!)Ac zj9pcd6Ue4ndEc4mO=+-U30L{o4s|xsHpkA?$fcN(?1DAAt_oX$morl?)AxLQ){4S) z-W_%NgYRI|W`17CcG_i+CZNJu7rK+NyjGzLy|E#)y>WOPj**Yrj;ji+EG=6TV49E{ zf*&_}?fry6HqSIc5**Ml0br#BRubms#%a|na*j#(=IJ`byRLJ54kd!<0u?w{nfWiZ z+Hhn!>>Q^54RWiw=X@=BpRASs-sZSm90c7!-bnWajEj8A<38bmtL*vRNKEyLoH*sU zLqRYhu1qB&d{jA8;8_cq*%{SrPGfs}9q zp7%b}S<$#mrh_2Y$ZWPI{%+7!(?GoX+Cb($rU8rp9GCU9PGUzpnS&^f zott#5v|eTAGM#{(VJ4e<96S;pPrY@XX_^ql|IJA4nh{;2C2wZrU}N%v!X(DW1a|9> z-hYe;Qp`US$xpQcWvvGq%YI;AD`)uu)AZO{wQTLkex?;LxT)IAUUy{Dvro=MUMJ&W zZtkQmkfYv-nyC}N3zyoas@4uD`O*{=FxBdNfAY3MZWq-4lL9m)WQ&P;N`zx3A@bMK0gUm{8sO^EjP2m-v>^%TY0lp0lvC)P|)$&bjX&R2M1u-h31!4I5^4EBF1@ z{W>G6^q<99^wp=D7uCb|XDzx+z2sZb@DZ_wk9Tk1N7w$dX;5~g6dyKjFrj;aZI$i# zHfKDev87wSHIv@T#;>9KGb*je(q%=*m>qlU<2k=y2OU#=+Rm=8s4~UaCsECrl%~D- zbL(pxzw&N_hcBBP@J!+fxjm0_%xl%_qQI{Y2EA`g((5OMtr`LqXHpS+*yk44EqAhY z$y?*_J=yD=JLzi^JAfsPbriLIBw*V*oZ3zn&@%m2U`2@!nvIdYG=7{V`{og+VM#Y(!=HJ_AS zoTjhgfLGMYny5BWB=vVcm^Je)O(;_Y)|_eD+KWy)e{TY#FUo5AsjPW*19K^5+qPet zT${^QSlbA0#CyVb<8LmalC4YTie;IKNhGZW z`MAq~13Z9>m}D!Vq$XI`?%nXjJd4?RTo-}`0s+mcb=lt!lP6=bLOrKf;Uv% z7kIUT-qc;T=?zcq7zP7SRVbl^EL=$Q%u<*4lVGYxP`~2bffY-R!yI! z=re)S6Cm^KyJXH3I{{z#o7FdBQ7X-k$dltW(lezdc^hVQAL2md7 zUuf{ta-w3B5qZ8*-eHkso98hOBaTce>#WX#N716@3CVaW!Bei$EF%lDk-pjz4$YKk zGPIyrR7i9PE&YhYKcQlLk$dIY{$CstE!=cS?g>rAyxNsq&YDSfQ z_rPB_#%EjpQ$qeP%UwIV(pM%R4WnI4rX>uRK_y@?Z+=hUT*#hzD~WNI`JAI85^JpG z9J^BqCP+vVovoWw_vOA?wQ0J{TCtPRt6pHk$vQjiz}Tbtn&qb2FYy{jGPd(dqUVSH z)w`bWVpk+RPTaye^8x!h`zkm6>lUz&^e?{AA{o4U?mpL*z3TY*pu|_k8^$*B=xSG4 zxYFCl>^NwP(#D@(F6R`gGIF8}n|{)XUe;9_7}%v2u${R^;4gGaT;{U^XPy_F8M@3MI1x=!ZhI&MC>z1I)&M5)m!LU*%W9r`Vu8@Ci?a`^B>39 z9~a$;x+Qn-o~x&gC^`AH_@uU+5sHkCt`VuR)tjVNh51%CW{33L9=v(4A5#nGTH|1Y zJtzH6DRxFV*nX7ihx!ke3#p|zJe#mynY%;^Y%L4H8+!>oEFlIT3 z$A9iw{QCGpgPNnsDk1lEed_Y0fh*6qyIAh3T%&E*@uaI5VU6+9HC@7f7L?My>>`y{ zGn-Ht*!C&m?8}rsp|`#D0{v^I4p#JTPDCa8p&u(ooEhT&x)J0MTPUn-l!3Ga&bJ=d zBjM&cci6-}IH2UsR^^SWxDZEOGDPix;>K3lNugFGd8}>m=h}!zT~9!iFEGOVRe`y$ zQ}Jz0?A1&YgQbq-OdqF5Rf=2w`%;XFaVw0p?_vvTFOR;J+7*0d=-U9FmW<4CmHge!rc_-)(B`>aP6+#+*Inr?2CptTAOqC-KcIMXLRx3X~8Nfvi+kIn?|0ZX|J{=8fTb-G_W%si2pIMkxPD;el z%Ct)Nk^F+!w{{IKQ>vy47aoCnmhvl0vNi9~)UWQFiG*d7|3?)&U&!`*}Yo8 zl?Jg`_2SHstLm1-rB8x;s`XJ6lw5ATEqU>CarJ7NSWBdMfrETaG+{=n+Mt_z!-Eyg z8`M14;l+S^hjjH41j`XXR)Z?$q4mT8%0c48?gi5%k9T=ZWJ`c=`;Jdn#Z>1TO_nO> z%L&&IQRbw1M$>ZLP$V@@%Uw`n=I$4_p$RQL1?C6+`9uFrj}f0eAgYRgjt!%{_B zW3+&;=^e`lyFl-?XzU~nAR#}CBc*`Xu96ij`gH(Xx0kCqJ##5NX*Yvg#K0$amsST4 zgAw+c1asXVe*e%cto=Ff+N?s(;_rmt^{p$3z0FfDnoXDj@~ZKK?4SQy0e4wl{y9|~ zia))p3S^9FJ$ax$RT`7|?dW0R8jqOAXY_Dy`W-_q){e55=LDC;ynh-?0^W|w&?G!w z(#6ZY=(aZVw8EE(xRqT8cBMk3ViT=Sn{7un^I5*gJG(XWJL!giXlKLoiw#EEkt*V^ zVkrh8-yPX78#(!3bq%`lyp$7xN52>~3C3UUvSAe$`Z39uy%zanEiz>-@|}JM>8sdp z_0=rSO zg;{1+D)_mdCf9_TKc1YEvksP97e9g1a>d{MsprSon{q;sC>OT3s+-mF5W60 zwN>Q#_0CqcPgQxY%s7hTpl!5`EYTaRUlrC0_DKsxfiKgd-Y<(OeCm2M%GXO%N&iCL z6rV9YlGM_L$W9WcKi`&K%3Rgjj(5&7tVN2i&Emx@m zw^3Y1pyW{uxI32nV{EUKmrQlg4*vm3E zc4Lk*&VbL~tA7AMjx(N$A4`jmGYAVQ0*n~P610=v)V@}~5dgJf>X^i>nk@&SP1e*} zzi&f&6$;bA z41ZKBo`U!DHCHTVn)1O1mGbo$)c;KstF;WDRh1UX4U{E@w2h?ckyJG3>6jA-XywJ; zz7+F+dP)FU*<9EsK*dZy7F0Yf!Q$qKKEWX048r0swf~{ng<0xaEkH3Z3aG8bhjcSj z!hX+n@pTh;Eu88$w>nRm_snKqFLLv>(H?C2L`6ZJX#eQbOY9}%cFbXleO>vZKuqjy z`b*^Z_x&U+c>}k~LBeeU?sq?yP@x1I@5&F0Wb)uSxFVx&^$I~T$Ydfd3Us0mz`1*T?Cn(HZX z?HZhODP+1#wpEtqvOv^1L``PO!RPeXL{?)ydtHmNy)0YBt?u6qKTwWe?%gh`aHru{ z_S}64{y@L0bIxIU+j2+K9>lc#H{M}SzZ)ukEvaG5viv#^=`J~c{qZ4GSA6g374gJQ zl-H++81X&;))GVtDhO***^z>lt=r@|TW4o#M6PVneQ=ukzW>S|bieF06)=VUgi(;O zu+#oCE}MjnRAPG-kNEUmzhPWEBY;s|z@y_DQ^UZl?z5N)V2kNa%!72$@x9N#grl9A zCw=RLQhWo|F$lvcKW+v;1?vX~;2kCKE_3j1IpUfp;<{c6VIol1a{|B@=c6=^5nI4; zS2{D7K>YhM6qDa-G5U28psjmPY~vB5$0qF z^A`wnr~MJr{Sn*!FOS{cBg_d9=3M(DFaG0E$+&lOIWLm`Wy@N=^}-w@e_L zO8!2TY&Mm=J(WxkV8Z5;E8~+xnI;^M(}}8ar^K>q2D3_k4$|eM)a1ENzKd$yecAC` z$fnXzp=Xc3BQ9kZcy2-SN;xLboFUDWQH4w2L3FV@m!`y^d^l3fMv1Uh@OdPG>s!ekedUjvRf5+)vt&rzvqb4$ z%VjZ%BF5DJOU}+TTYLS1Ro23^-YG}bmmH6&u5BGAos>%J)3J2R z$8P%1HMznoDFz;qTGTn0+BQ>5<)14i<7B*XD{>m%1^Jtx`&(EZJUyG~VWx$~$GendAIo-$WJ-rcoYGbj_ffYo*w^Nt+TH z-_1@N^s3;_be7>ZqRh1A%(Qy4oaJv=^xZJS&M>2;oinwaGpwB~tb>fSgG{EKOtZuK zt%u(GT@8ZWbHzRXq^VNd#J5=PamJN8AB;JyZljq`EelsPc;s49=MVCC*U=zK1RIn%i@%*UTxA`_st&U(eu@v(AZ<{n zDH{E!c*cBZ5?%kKkHSP#@+|%eYkN6LX!qq-j0=fFt*#>Bu+Km75>(GsK2405IlYj^ zPH9xjN5>Ch(lLzN=&yI5l}BV7NFJ2UNrgyrMy#*eqPP|f9mx&OPz58PG;Z(MjrKm( zV+;vaqCv4r9%vZLyd_PgC>NKRR&z$}(?=wP_K@Umob?6c)}Kl+R`E~Id@}N$@?=nA z7{B3pddwCucz(cfJJ{Rt%@_}@b7}C0ftoVJx@bt@2org%A^fc-hQAhjM-R zJdAbryA`t#H~bJUiy7!Z?sB4NJ*|ha^nSPHzQlNL=5Q{{aQU;&&}*KLoRpJnDuJ(i ze^E7P)O>zaV{B8&xaKXo$|O^nxKo*rI2ez4^i<~8sm$+Fnd4KLW>cBl|6{UEW%5mB zp8b!;LRdZXC^1b)Gtc=GDeO$SHclo!OoT_?HOw7jsiOQMV8l3F{Sk$TC<=p&nJ8N3 zn?YLCOBzn1*r7D0geWFYz~fnS9>-0I4x^rt5@;7C@>(TyM>QtZvr>dvWkKyM_9`MW z+GM1DQRD7iaPjs(^f3B0IAkQmuH<+4mtx;2l)IgLn5^P!Oh+3L8YX4Cd2;>_SfP{{ zR}G#T|2=~Ny^tu2kg{rOoao*mQFNpime14 z%c!WscpLaLM#n{{v2!FpzMFjuU?rX7mrwcXo6VVO=2bdIM)M9j(JA;1oQe$nTBTGf z{Wa55ooLyZjdl#nmbpUAaV)a&b$nX9CDQ?Pw2^O6I9-{ft;11e$Es6F4)#q_HKo>) zqx;Je>Mh{4z+V@RwP#ggjPKUQy(`A6_J2+iHDVY|Af>-}r{skuraWV7j6HtVmx9UG zSbdDwmx9CAm~)I3LcD@eX*HqL&k4Z%V}Oc;9WmXiy`RK?eLEift0{#>1C@FI@#Lxd zlZ(v{qA#4vKDxiS3)?fj;z`XM@TY$BGxR}*xd#97%q?@Z?JnY&MdJQ^!n}kI7tJb) z_b|D)H(PD7OLZ{Mu}f}yX~%UL+MTd-S@v~cDwv6Q^RPwUGLAZKEk zh-QtY1B8id?vnKz0%9-9Co1L9G=7AHHXRxL?p&YuCj)7w=D9wrWG-wMytbKrp5Zy( zC{Iy%VKV`k{j)p{wJpkJwiyWN>1GIK#va-wJjXIEDlu#C{<`@*dyCU0QqnuN8AhPi*_Qjm+ibGPS3$$j&WIWZU9gISoWz z(ro-@V{>8G2fTfD#0z88KzuTs6?M8!>sN?SFP|`YzFL@UyCCaslA$1^utPT}>QcdG z3VEB+T?~)*?@p0uze2GrBXe6$2~PY$c9%sbe`_>S{opjZdKyu0QLJO=NYz z7Dg*cURM0j3BDQ*Xk(p{nGrxMp-#!lXeG+a3I{qNTf-rvtAnyJIy5%|OmxnVbn=IL zS%rYp3u`!rbQNWPXT(`?tt7TszI7O91*f#=DH>1c^JgP12%tb)a3Ws~HK{HO*euVN z++oNR9ND5vyGk=_xj|VjlsE4NsM)#sZCpLl$(i4xOAj{3tr<}Qn@87-r0B-Ro8DVF z)I9+kTIhMSm`Qsp(jKtN~?L zV>r|$)O3h7?9&WqJ5V{)&D3;Y{oc0+W;^gY)N$8za9dA%QU6a=o$2&ay3jK7qtK>( z`_b%bdWSmanvTv%Up;KGFNgKpHGQj%5B9*DYEfwY`*3Z@Si8VeBCRR-kt?{mD;@7i5TIVhO^a8VjwViZTTg(WT zBE2+e!OADP!YvjXiwRzuFQ8@lH91GWosWh)*}i)%yaFrt=n4~BZY;)nEqnkgf33;E z`t7V>x*-_lwSWUw4$~8ke=KCR%*%rnWb`=VEo%kSkm~QC#hW$Js}1j}MzSlo9E!aE zSD+clw&iswiq*v)X&|y65Mxd7Qo{#-#BwMA*Z4elpc|lJNflCY0gD9b?!=kLFJuZO zSQ@1c=)VhVQIc=~plYoC=}k759+HpDEB?N~v+f`Vy;S@?jJMxukOOrV zT%HlB3wdgYe$(MR!kY->YXe(L#as8{TN1_Wp4U$^YvxS8&8}nsUL;s30QusJTj~h; zZZN%Hi@KrWBx3UTnIJU&Zy%$*3-&Pr04qLOvHVzsWA5tc?IC_6!RWC@UHEgR2+M;X z?-$c==3k6?-bQ~Hz*;S21Kq;qWDfD}KZh3CZ|Vpf2rR9M5$KNu7gaD|M{m)UE_48&!H&LrFFpA~tiyKaZ#=j5h2Ec#cDu-oDU#6j`zpJN$R(tL zA=~rd50NLIzE+U!tN7iX60X06{$wwI0cbuY`h1Rcc@eLH5V+FgO4E3A@s;VoTj-f! z7Pnl-D(J`Jvehp)8ks(yNN{JItmb>=tSqA}CM*HE5m&mQaRLOjG4PZk(uXh5R3msm z@a*|eIdyOUsa2#4Z!XC7^$;_GbdCg5K#}f#_AUP+guG{==_ zGvP=*f?EN)LDz4O?`BGfW^6x??0A$*!PosdWWSl(ooJ|wY7=-$5~<1`7`YuwU}C0g z$ZMg|8|Wj(z56C|l8W1=J$qX}l9tNZtUY!6Veq*7jbHe-ON1tZCFeWA5S6TelBsT@ znM~v~wKeatnr_zI=<&pF)$J+Vi2WCl#Z(DaBHzuphXNzN5V)9%l)LUJIzm|eXY(xIXd2yDZ-%88}owrJ1YwvTk6b~bH~*j9$&9GGv?GkJv?FFh`1)f|`*gHa;kX9HTzJ|>98Njq+MZiDCaz+O;{*WGRtK*jFfgT7{GZm z&TZX!?a{y5f6#yXOlMJ_>_T=-rZ8wwEW(IV`{gD(KfA(b`s#ayi-kE_bJ<~umpWw9 z9Ww{vQJ)o#GumIBeLlZQBln_Q%1IVuLt^U0Kx43s7W9QYh3dOD5hxhW5Z_RZ;GMQikfaY;&@uAa6FUQ#`k9+1wVDwV|03 zZyi?OhUvQVln?`7KEE-qG2iBUilR7eDu>zL;FP!Sq&Dj_=(7u*hkA?kAvEr2&|N{) zP4z=+ocNXWifkj+)>aTkOu`%STKXfMyE-KYtuv1Lr8tBRf6t;$52_IYu zA6*F_UI|05+77PTj;;`%ch_PM;$jb7Vh;gg56|e)LG&So3FyLvK3yPM9%xdu!?Sdj zd3ePLy(&1kDu7;1dfoAO-jRzvDA0$bC!k9c`e?*Txi}$8`F;UktQ6L+nv66?O+0ZW zD-`$Lx;|eZu#X|E-?4@E7~9yKrGI|AiY+@0%Wgy=43LQHo9nKd>u2|Yg~7eL(k4X( zJPRP{IZ!4P!f}Dny1CZd&3Y*FbFZ5@lMw^@tajTZ z5e63spT~qmVBTEc-dxMwT)(^z1Oz`c1V2Os_kNN#DJ=-WjjiWf<)EK!JPM)_zG@v&C~FqyM#QHN9DX zJVQ2vbF%d=iQb@K;tc*Vcu0-he?t6b;-m*Rp*Igjz*9Y6a7n`_sBZdRjH(>$B zO&gczZR?W`eVNPtJoP8W#*;mitg~nr)>%x^f6`raZr_1Xl)h7F8^0;c8$?0ggJIH} z2ZSOCrEi??cc9^4K1yGLHIx57Q2`A#@)L+NxPayv5s3+p@w&>{X&7*O6J_xIvfDfO4B{7g1{VSBJq@|}`!Kyr)QWf7 zBA_nrw}PdYP(eX$wgsTFFv)JuHk6V20Apf&?szNdE`81W;Z$xcgeBxj`=#7&;<((? zd}&!Jl?Rq<(sSJNCw@s1pBdgICaET?rpk@;h2FU&LB`s~+Qxmxw~`r?7*iONHFsHd z%Xe*d8ONoQL*AhkR8j@fG?En-l_kHGKCNnU(fwQzvBmw%E*tY<{flDrGsDhI)PmUQ z(MK^QxloIG^Q}%@nesz|JWQBm+rKW#uEUW$xbg3^p>|u`S2NFva#_f4aH-aimI+e* zD1!s^t7m$u(nM>bH!Q~i#NXoX#8h#4?r2nT2Qh|sZc?C=b>)U8Zb3`PW~f7*jiGet zxpd^YPEh`DI!yLEvQ7D~ zQMD`KOgFDiJqNXO8~J@O{)mI<=r5(xhGpXR;{^S|=C(uUW^>pPOyh^9XI6{m5 zWzqA0*^UKPTGZG1_Bw(mBW|b{szZ#eq!{ff%bdwcA=kx;ApX5 z8+k4g>(jlk-?7|-8$PEJmC!$w((jYvd8@8^61gln06&vgRk+PNA}GhW8)*+#Ms{B| z%5Ta$zbjxaU@BkmPuHx?GF59`* zx!^U8U*sL3Uq&E(`-t#3Vi)r-^%m0>3(vEk=&fDgE_0HF$vbJ5`lOK8eXkTnIu^fJ zRfSqY%V~scqay9nMs0tT*+%Z$ey6YlcrUP@6bp%c$nlJ7warPGTk`y&GSAkTQCAE- zlzsGcC`5RQZ+xWu@UAzUp-5-G`cQ}<0X(FO$7w@o)?r8Ho#5wyGpV|hYXPGfbf07W z9fEsG7q0T*^exi&Q<~JN&c$&ey~9P2Ti&O&k7WD@B=%{9lBka$uvh8rcM;zoX;p4C zIz5ux<@x6iBLlAQ7%r=OPs4OZ>n{Rt5nE-)bM-;-2_p=r=0PqbtoKgHr=a^&WB6bg z@AC{ScuV)?wic<$jgftJ@JY}yb_sTH;t;3=>!D)%`__FAZu-4BS)1wr59Q3?#GAp> zE`HBP6ToF4(_LD|ndH9R#=Fz6~~UTR;42O|^}7v*LVUx#-LZbh%b* zHm|V1%8>X$8cGsxa?MxJW_iUOG|Q@~p8)SWNy(`I5Zn~W*6jYIM9~#q;~;6DSh?J9 z-haPkj2o48S#LK+F1UV6JW7-ikITx8{InVDf16yMn_N^ygnlDslGd=$z5vzr1f^fq z7r^@VI@@#?Z^q#MPZ1~#GPNBy3n)oU5B1gGd!2Nwe}(OP_*zA;?$%AEaNZ8fEr;;< zzkS%h-IS|6*lC6YbCJd5i@3cZjhB5|s}g<%4}wF@F(A2aPj>r=p6C6Q7U3K<9ZF(f zz?Nfh+UvPIW5iT{5{y~HhsQJBuL$p|M~qtWngln(L@(_+i@wZ$AR4}K%;`ne7Kn5C z-<{bb;UT9U-A}?Od(gq{R|}+`R+4!{`S+sn7{8zBVY=ejnqpkd7T`-`aqqm-6Mtp* zM(cB84!g5@Q3>kv32v1%I{e{obA$!!NSO)yIggFtfjF(AD!#N7y(3Pa*NyD%)Y?q9 zQUZSBlY*F(0c?w2IZ(HyoVjJHszyEGk?V`Jo(wXur;z-+cliM+N1%0-Zj*hU^;#+h zGKu=ddPMN6^XViu%Jb5~fo*H1b2oMGu6YKpQKgX`w!2~;9pRapapjF31b(?ooOP4> z6_aDc!IvLO*bzFqW#IuhW_o-LPC|c_$}Imy+|Wq`kZ=V*$)6tBN>h z<(sbK__c&HoMSx?8LN)zP0}F=Dg#231#l(V%P~W~C5#X%#tg?-D81}tX7&tfBM~NK zf>8viuQ1rf^RY?bPyZ+V$4ALRkrfd|s}hXq7Ic2|f~+K2hs0`B+_ z+$;E~0K8E81vx+Ga6)pS0FR_)igH+DzF!2~US-2`KBD0)~o$ee=pk7Lzc1zQi3xk59&KTG!yhoZgpP`&rcXvmC)dZW>J zwm#g<4rhns`hKmMX$nenM3%bu$6MIchl3{6fQ>SowtpJ?P(EbWvHl43v97Z=1#ttA zT#pI`xb$!o-dtc6MA!kVpn&6%gBl7M8^$1WB$bubL-w$w7(p^8>2O7&M*v0QPc*C5 zX8cs6){H+F51<0b7ehU7bs5S=b zr1~p=lx?NLP(LlV(qgkQE({I!3*~+hu)a0a45w+--A@bou$dO3X)$cdZaO+Py(bd# zXM0-3a;u=l`s`9-q%S$YW30B$GK@7Nzhjn$b6r!-^d9~Zp8_ zJvBKs>FpUj0-8^D^oZ7z=@EL?*4A!WyKn6sYhC6M4cDZ`k9eo2^woD3TX)vh=&3uU z=$+amkhrH$ee;yFLCE_ifZd}0{Nkx^E}k+N{2i_8m7yCc*D&E$~PGn`Hj_gJ0%Sbtw%KmL9EyjKR+ zEWKfkVDwJ)MWcOFy`6n~?bzXr0!S7$bwP;9U1`qE>>reOUF8IXHOM?t@9n)_t(CRNTO63`ti^fm2Jt`z#Bp zG!?ia;}ae@p!kAy2qZDKe*x+14891?*D_KJ2a^`i?A1uPNBOOz2tQGa%&`KXL2U%Y z7~8*yb+j3ch6_U$oDCszG1`{45M$uRs*V&LEAFunl6#Z@>(WaPMS0i45vOZN`eFY# z!gUdw7G-OiwYj156A*UYC^%~#eUNAW<<*G?-l@djS3!NmrO zOr8d9B>jWEebdTdZzAcRiO<9bduMtFcgJVU_{?B@AnC8u06x=$oX7%d9!UB%Iq0VD zX+@LCv{I-3gsqctieH@)_dbgSNgxm zRFsv9H~r|DYB@lD-I8T#kOF4lf7}VAd1GsLLu0{VCbssl_}{5QRmbI zaGhE(3Ji&D7&`)jun#1j>f$qtRZbNat5rPMw+P}79E0q0^tKb!Ar;m##Q^zdQ6oSL zG~{2_G6Mr)h#baZxW;(de~7f40<1!!w^OZ0~UoT;5lj&P4m7eXT-kO|~*IPzrQ!u9U~Ck!X21 zQylB>(w2_*mj1>YFAo=^wW1}E@=&W@SX+tDfGh`cHMtMuY7dEi+C}Cik5?juDF(Ma zh5|eY@5rE;@P41_$tkMvN~v+E**w%NqD^@FnRT>J#BB6akHFX~UKc}B6Ldh{EYW%s@8WU26+Sx3Ih-rcryqN);?*M>KGZG4;8>wdk)lHa0CtT?aS z%NPy54+Lv?IjSbIyF3oFRRUp!e)m_rk&-fu!GoY{)XC>5A;e%s?EbN&4uD~i30 z;8`^4(d;0Q3@r;(SqpeXxb!dR)tXOK8#JbWv0*{yu!H(@u_vlk z%h?%CD8}1xm=`INz(fE@=(^Z)O~m2R_GEQiD8V$tk2bLq6<4rr5#4myw3(_M|l zs@*-7Hx$&BNgxxHi~uhFLWp2~SX+}s_l!WiK1rk-RF9j~9y@;evE!(q9zT5?^wUri zL`P6z!iAy2$YZ0A!GF5?>t7%F+rMS7FmPr+`3TtuuwZ^#c8l}gfXw0e)bsFkD`JMv z&h+ooLZ%)Cm3^NlAdO$&i1h9s^yw0`tXljZ{+GUq3+mwg^lCllC;)9_%mwL+J@Z4rr`rLhMY7t?3JNe4fiZD`5>XJz5h|F_LJA7JOQZ~oPQpJVek+6~AXU)< zZC2ON9riKtanzGR{-ys6vW5yMamx0mEz}WGIudxs&Y0uo|W zOvY}w`l>g);i{|NK;Ni!jaGX{3z}9K?X8Y>X>`v6pZUxKpZLsYKC$YWiyDoKu35F} zn(d9o_G_FuzZy3Cffo44<>sj-y!0z18;O^QCf2AD2ljUE;51I z7Ye?>%4)GEt4#|SQ3%*b(4T@zTL71W$Rby(%4RHU})BEvRa3es(-%_0@;7Gpk`@J9y$Q?GX*&I z9hjd{`UBfn%c5yRk3`8_Uq_1UW>P7XRJhn&;ie6yCq}v67~$t(M{4~vj%h4G0SO+r zXW-_L1(OiKneb!doPUTROgvT5#A@V95JWknG0S=v+!hG|X`* z${~~(Z2tn@kmZ<}#daE8TGp9-{L(`K$3SAI@m&@|xP-#Jgs+iM9F`P#L_nmj!7ciM zI|{T=EipVU)dL!As~*pgctERWs)ABoWyOYv#*~9zZwax<%M^jEqXmGX1GSd2NJ~oC zg;FU!tOs;5H%tx<>F~C>Aq%Si z)BdJAsH^eXWNGy#!=380tGydq8IRBB8g=~;(ghy07Q4)xF0tdrHQDoI8yCfH3_RLzdd8&ajpZ?_DMWYSkd=o_YmG-5^N&*hZ z3N+E-_qigH#zt^*+oc23J9pYkC+TQmc5)>2z4}eJ-`rSQHT1d94bfY=_8z>VAL-;Q z;Nf?n|5ftbF_LjGD~$#f9ECL3HPc+hi*xNIhHyFG9v zMHVR?IYV78S=e;lY$3Jkl8J1qng$?C0gy#2Lz#-*8*T2`va!+*t(q7$g#75XM(^B6 zb|q*5Y;A(EeMNYbSiptue542IOc{xSqs71YkmeY(a76Q5S4QJ3vMQ8rAI9zjb@?*h zkVEaBQ#k}oMs-4*3TaHaeirYu@P0?>egW^Z@C6~Rg!B9C5VXKVdT3^0c0)Q4MO25` zoNJuCYMiVEu;Q3QzL5L|u%am6>zu5G6_Dl~8OEK3nU%3hfwND6Ly^Fn&dxP{?uaz6 z*m=02`+!R`GKQcSeV)t#(wmGOf)N$F4n_Q~Ln51XoMna^&!1w{=)}KYH+A$S(LGMj znzl+UAVIR(5pjU!ZTgGPxKnU%ZsNDNpIADYVwTtXxqIWdAb8 zu%8gcttkPYM>^w^d}7l$9s{wHW65da$#uoC**;3+sjKIqJNN|pB<97 zf96l#-MebE`>h{4zL(|fTLZB655P|gWQeR2myVI#vT=u5H^bblA4Yc3h5`-kl$wqf zOx(;cRx^Vzx|SWTMU%v&f`>L*E^I`?)ldtAlGO+u5mvz9b`@vRs}M{rejZ`_XZiIP z?G(V_7&;8b(8@7}Y;O!rT4Pz2nah|2G}^I7wfQUByoxr5_%tc~zjjc_?& zkb~VI2iQRlZcX0ACO5w|@xBNzhv#Y?$)m(9qrvJy)>FZZy*}KI6_JRTNRI5%`26ow0pL zaIp8|2ck(15$Mvg8&G3%Y_y$fmn+>~wVf)dZMAe|s%@s)rBo`~bwJBxGJ=v>KYT#- z_a2aD*=V6nH>HxPLqTca5NOH{?P)XF`ss#)peGvVh}L=l{n7eS+yPBOHvJzqoc%xh zb-0~$9@AQy;;w}rCNvy5M316t33Yu(-J|h=E$xh%t6Hmj(?c722j>Q&X0{TVX=g^Z zUX~l0$~Q-X#a0pi2bW&-ciDse!&;`%m22b-E!kY#U1;|e{ON7=>dZhQ)3EcoR$tzi z-qWbgHdCLk4(CnPnr|oTUEy$7o!*-4FJ=PqxpuU-5H<__jBieySpu4Qg7MA$pdO=( zI-q+{kXJZc@i=S)DO(Rt*C@jv+#sgqnS`C!QC!b6DI$md%iIVu&ISPI1G|; zALi$@>c~57WSn*6niXW3BLN2OFCeg)9C=LUyG1^UKo>w}8mJ(9M0^ZjnVX}R8(*L@ z3xJz$byFG7r!7=LP-wIef^~KT@1hkr-A*a+KW30qNMHAXEg}_PGN`eFAxgjyedjX7 z#S@DTSfbl;(E)_T!{>#SWpJUO?Uw-#T4znNpzpaG!>zMG5jG?A?;k%dta<%>)ALK5 zkTr7EfWsKOOUM|%5f1nw9mbg1GRI;Rm>o!vgc8fZ>&7kp2$Z93$|={* zmIEJck&W~h^dE^#F1Gtzl8hhQxKnbOl1r9EH24sDry!bwNCk;m8YRUh?jw>wNUZk6 z6Etq=UySSDtbX|%jHTz;y$9+c$z2>OM&C?tHkY>02Thv&Q0vjrM_Z0OH$v`%HvA!r z5h>U~Szs!>;BgVfb-gTHPe|?5^C*rU2i^PlKph0loB@9$^u*FC{Cj$YdPf|&;GF)5 z&>>Nl?sSQ!OO#yD9a)gco!ovUv)9PV5$bZgsOTtYkq~2Q_&Z(;8jr#IK{oU1pOtKhJ zPJgKc+yyGp!V_;ZjocZ;LPfPB92DWH$82|CVsc{e9sED9nI2WcFxI5KKK2AufO z73x8m!h=V<_=N7_g3to%|H9uJ26iGz#)tI+;`%QD3Zr{^rUHay^(J9q!Z0%q8-QSq9uYK=DTi<@w z>g2$hpX7U@E>Y>qmc}Y(q%=4h@%yYq>!NmT+v<^q{(FJ&zY+A&5Q&oy z+1rAKt_4B?Du`Cx3=oivLIE=rNQO+0SM~W7zbv_;Vbkw6-E)fHRQ&HSsi`R$MNpJP zND*DLQOj}%1k?0GiCZBGi^^-(CLFoMiN=dPws_P+7c_{-(uos+j+A_Y#`LdQCy&0? zrGa{`pO$k0>PC}IGc86b97CDV8_MfTpD^;lb(NW^HN{oMHB&R)OMh8fSEA+8Y;$j4 z-`?iyKKn<%yJ^$!{?TV&Cmh=O$wP-ei8}J0Gyft?2%m+Xcass?Ywv9$Ry7glnh5Dl z6d+l|K?6@4sGIiVQ9mB_Wh1~=`tXrHl<)cw4@zh^&SU6CUP0QBuds9U|HM0rP8`c( zNLKW-C>Y^U8ez^v!<^=_D5W5aN@6|=7FLJCBeS!#n6nIEGX4UT5o}N&M$f}Uc%t|;Z4Ycc`Nf)iT49R|e`uJhwZ-8h|pE{2}X!(a4 zMcFvlRx48@O_%Ybywa*miP2Z<(Sp6TzR<|QxxRKi-6)0cTl!aRRi=MoO(i+FvHzWS z71sB^kne>NQo=|q4IRDFem?Df&Q0*#F8T3A z=+{$x_zEEMx|Y>)nVg{H%GZ{uH6y*LgyPqy&`KKGpmDxPN4UC(Mj}1ZqeLlq}-RHE6MI6wx$_r4c-e zAkT`Ry(NP6M6jL+TIM5ISwu&?(Yc(Uady4J{s=P&7h==omVzkwgBuH1F2Ox!TWaQx6F6z0YP`IS$qPHC!SxU7`J`F5n|fwdMVtktfoq1R7@Fh!KYfygt%un^*zck5TzZ&RmY$_o2#<{Y zbad%|j}iV3`giaS4;i#mvL^yXq>#`~tOP-KHfsT9=2LUw~7c{pIf80yQw z^-Ea#>PRYH+BD9UR9=Oyf_FM}?fmo&JL-eGZ=Bk6c{G~5bY$?7>2h}R(uw9;ADvzL zYb92{7_s%@dQKZPV*rF3)?T}%N0mBoAnf6=mL?)}!tar%m79DXL7L@|r^@*KJpnm> zy9R7z0z1*bzkxbMCw&h703w9Q^z_nOrU8D0M^0~~o0c9D9$ES->AZ)02;L)-sI5vj z(`j;(OHdHHu(s3R$6ywtuxEN2AH~(0XMRfG3HOJ|Z`y-OkiHV6hK1DGSe{pfg;<~) zLa6|K{krl)MR>(cf9R%v>!u?2hln`A8K#vA^c8`c)8U(=s_xBt1#cuQsQLzPXNEu# zTx>AJM{~*|{J6w;xVXZBgaNWflfKg&m|xwssz0M-J&CT~_@?#Kf7{qGQSb*%rKN;) z@BC%-X+FN2pdU$c?=fNl%R+rA!i9kdUmy_SjdfxrEey9u0o{jfAGJ^*k0G~WfiD2s z+O!UW$#gP(U7Cic*>t6nidPDUbwLw6f+DyTxg(Qq3`5k-r_f1ci7BAjvZA)#t)Y_@Bnl^aFo(-|3kHXY`KEHd< zwq$0O^Y|lE>L3OWWoU<^m-1|i$Fx02L0aB zjniXeF#C72I@W_AXF(km@?%>q=rGAy#KO!Q7TcEaPfF9ehN5>#eZywJNR8yJ|$#N%qUi8Fw`{o3NG zYCEQ%INY#mjap29+B)@pR>mm-rvSx%sVocb!f=oY!#E|8V6;#Y$^pqu-{md#*L(Ad zUz4XiQDaqldTPS5CZ?v-Z6oSgD{Fow-&^l5dM}S{+ka@!bl|q7Z+!UkbkBzxZ+`n* zTdlXg{mqRJE&bu=KTM0a1*Z2L+P^KvVf1RIE8J{P%gCff99S*j_o=!HI)h7+-T0+C z)vfAt#BCC{PKYrbyg95Yz(&oG5)=$U6}*B+QC0xnSweA+`N|ReS7-nPVNhZ)2wetf z5E`Mena!Klr>2IRZ@6xMW~#9F>cdy>&7Xc$c%=Q_5B#^5FbGrvWs)8b{LtB=m>_D^ zLDZ^)Ow@eE4loBs5IIbc#dxy2MW!Aw)a^udn|#mDA4W4~mS4#73%Iw7cqNIgNMb9J zI-W-yVF)Erb{^v9k`Raf5Pxxy?+q?g`uX0+%T<0q?(MZu;5cPicW~oIyb^IE;3-9p zNAVVlr{)Z~rTdO=zKK6i{rOMnOn5Iua}Oyyu-gn-8zsJKeRvuQU|e+1fpkFRtD!eD=CSW80h2 zrI&?2_Ik!7Vd+VKVZ7eIst|DSZXLtBG-=Q`*~S14MxAXe1j=3x#=U4##DeMyfbRrG z*bIL2OtofDr8p=vhh7@jq~YSY5JFxMRq>#X208<&x|^FiU2Jg$;v1@EEOc^!885)H%cbY#!Ynec6L32O$i~uBj}sho}ksirkJB_+C#{mnOle9 z2i_zBj}EKe44}#2i-YuzLE1eNep9n+LtO0NAVJ4BsHAoZ zyBE%fNDdxt13Ze63XR#}GNJ=_X)`NH$1D=#V!dOb{4&VhQCx|GYq3zQ@galvA(fQ5 zFfVa<5cpGwEKGnB_$<**0p-Lk$EYn*HI(vQJa$FoOTL%~d5n=Tbmn=cm9CjBzyL*V z>FT+*hmsze3Qn6hb&L9JIvq^KH<(cY7@Wdb8{=vqEaF5twv|Ok?S5wQ6pPj(=bbIe z%qh_V%#_R#5hVKJN?a5w+ots9@L+I#c%WGiX0z7;Qg*-NT}v;P+M&I*i^jXUMmN&G z+q}m#r{{N7DqA<&mbmmHBIxS|07Jj-$&5AtL;a2%mIoR7+km4(f{5#=UgFUbEUc&5 zi34hKFHe)ZT$)atAzH-HB+|p}R6Sg8>*1^Bx;Yo==0@^TCwQX7v9H7ttJJZcm$;@@ zomP3%Q`9IMgLU=YwT04;z{3>B$?YOyJ2VF-BL zi>?YU7J89cc`aw5*GqPq#bGi|7R3$L*pE=!gA2k~0I-h}DV0kK9cOTWv(`YzKI6sr z`Z1&vBcZ&xqFl_)d1ccp=e(>_Ie64t^oPai$}O!->r6|ir>FgI8ZLVE0kWZ9^{^Oj z4|4L@hOjO&HKgi*R~xCqN#vs^esyf`dAaDTe>^VJS#$bo+mEy6bU8?Feov}Cp07^V zV>e!z9Ilo9R%&}a*Q!LV>S(@u{c!fp*HzXGc6lS-eE(?g*qTza5DOSxeWT^wmneSS z(>5)CsyCDE&Bg;pzJE=9?_RH_%VV;xc^%jc0?i15%;_fGc7%9zjFtlR)8$rNplr&* zEV4M@aJU@uo2S3YGzA(i0NNCWgy8ejXl^)txA3MhsA~aaz~EQ%=FF|Fz7ZqboSXn4eYk{UW=R8DMEu9RV13jzfOw6Jx4UKS!6Vtx{I=Ocka zrY+Pl=nWwvG;Q9T&=OQ}Ps=yOO(7(>1zGTKAWTBya`E29^BS3$g$~5vPPiH#1_XN1 z+Wo5%(~0_YPtSB64p!~gdNv$r(}$OKw6_n(E1Do^$(5w~tixil9{7Vpp+LDCKk6OuCScCsLLL`?-{5rczeOj6{P`xI7n(n!#v5 zGlKr0fS=+O$z0HH2H}8SCmt6C@pzC13#oEiNC{%0U@1`r+NrpOAX2Je*3oO3IV#A) zyl{y#AthO03MZ~vuR8N%G#S>!p0l1?d}8tN@^m<}feQnnpmVHuPWW80-7n3gbCE5g z`6adn+9~R)d}{d)^*AV{KdSHVFRaZ@1&fv5_-*3UDX3Zx0%7x&JmMs*6)ywL_ zr5|4U*K2O1_9w6Y>_o`cWu~k*Ui_rH-6xwpS^n5M?duTRo7DS!vF^ffax^= z2T}5iM}jz`%+iiAZ(hX_2idH;I`P~B5407yfnMNa809yHxG5&saVOxDpGGJ6U%JqU z^oqR;u11LwkxXKQWlg8Ls?)IS4$Fd0Ba$4EB6DHc42Na>%Jdx7O{!B(%1D9~(_)!e zE%tjcml8Ith!7SKnPf#m!rAImDheMYh1w z8Sru15}P6V_jBKxytRLWR%?wV5@W5JwyytH`&*koD?GCF*-MUHoZh^1XQ{Mv=jQaq zk6ujIE&Z@VBWf_7I=SH(2|#ye*r=gACNSI~K|LraL3P@vXw#G`+2L6_r)1+L*hset9A-u>lCBsRa|n|PXSnH6qox1sN4A0 zb#H8L={eXMx}v&a=*G1)b!M@Vo7 z)u3aYAY7h{nreguXH7wM&w3QbPng^JB#La#U^AGe0m+>U=Z3~548x^M*2L__^^*W-a{?QKzsvvXZEyQ4QEU9-zQ#Fg+$QZV5lIoV_lazw z8x_zECLR%}DNs?62#hda=l0AmFLSGkO0H zX@^_bK|0Mlz86h{1NCTOs0mEA`4w#6v4(g#rpzJZbOZf4jJZr+XNTXZ&^r`*sX`|d zs9jgG$g&Yvx>3Bsxez6nw423gVI-5ho3)$>Za5`^9F#Dr%M-D$HIBn{JoA{tOK6NA zuwLv%1MDJotF#|+C;v+3n=I=J-3IGx9Jf&U6)_LDPrz?gX-B0GctOz=P* zCsLv>FZu2q!FI0_)=@>2;GQd>??_4olnsSS2vmB)9e~aStLXbi+pDJ}`kt z@ivOKJ`A9xwn&^LA{71{ajb)yp{Toj)rWE)6Qz4fzwN|d)zADR{hxvXIMyQ1+WrF5 zbu(;hcI-ba&M*dWQ)5zWKc+kBXF(%MC!i+=gPUP11k*UgY39ek*kE&o`IytR&N=9& z2tZzhB`;RzK~r+CYd&&YJJY6vL%#Xkh|9fDEtL$BEJTy?;K0I=L6@CjXXEfsG!{|c zc@6cHa`Cb?bXK4Yp##|nh%467WkDAemPPP>JDI>ZOvj&?#Un=Eq71=Q?p^Y7odk6S7QrT=nuOLL zJg|#c6x*)cQ6xqB&LXW9X)rWz+}dRX)lg(X_sfO!0^uA7f$I?%c3|+GU^6zRTx&f1 zD(NqD&U%Hi(PB>b;Z977`~Ako=E%aTOmS+ly>?G(QX8vZbVaZ-S&#N~B|P-|{#0f5 zz}Up)GsU1+_}{+MLz3s3E2^8?c~3xh^H@ZH!$$xPGvr5hG_9K;%ce2wL{c|_@g>=y zaGPk9%RiBhML&@4&;p9}CHeILglAIBgc4{z|XwXG2+1dvDYy}%>;p0&qOc*fTW zD3}STrwJ@vmo2Rl(B>HMC$&^2B`B$!xm~(F8!#69UYd+8q<{oDQ4ZXhc0Q-~Il}Zx z_nEvRzK8a%x@2`WH@>UYv)(k!M$gXOX5YGIPum{|Zc-PdRM;A+D%m!;nF(BgFPjG)JZrRhD2GKTw^p5S&yriZJbwEfkh< z2$+IeKnjXRE2A(UyzMNUrM4@#GcdCj(7$c_QDN5ow2)mOqRi2?%Hiu2124qYl>=${^FOCNNX==~f_Tp4Avua_axzU)M^d!1^qV>s2@QRD-W18*_7H2M>7&|aq zN%?8SxAc2%J>bc=H&w5=#v>6nCjUr(2=Emr1^QlGnc`R&avfyKaydQAfhEh;>P#mP zKZfQx3ww{Nj@bHZe<#(GyJKK*bAyGOuXvHUMMLHg=IYeuc+D)n5{VIRL0LXyVHpay zHHJDSb_-1qmd*`kd?K6<>I;%`Mon?Wt0oJ19OonuGrPIxqQm`g# ztclE?B|o~nGU^q(j7E?7ka|ZkQ=|poJh{Cqh^+`}3z5Qts!E}VoL-P9TMWk*zwvkv zq{k=EV=g?8RlrI3gA2diIYwSOF>XbNa=TmQiTUcj!;~()SKM{!(0ITX*fcnO>3EV} zE6lDbw7R1pfJ`5p&fR*aqPzE9VY)|@2oRpj=l3LQ<9Ub9?1arNfEyvQ%Z`U|;6fPM zA4Db;#Q6STg@@_bDdy*NiD4~Fy@7fCR#TG$JA4FKl1Nks(V4RlLl2&5oa{g}T}I{< zZ8EdK;4n3Nh7`YA&8;2#@|PzUMa3_TNb1a{;nq?^Sbgvc;=t%M{ehs7EE%A}F;e1q zik2USr{NBm;enmNkRE3JSJ24gW`}M@3elhqy+gw?8X(JAcF5||IR&t_YOUn;Y{fzqP&RlI_$OZuCs{TgkrBbnkj|6~+N2SM8f_?Oj_A zd6p_S9MHUDs=jU~{kY^w4Xy8OuI~@Wjb(WGA;3$FyxsO0I0iZ!Qx9h@9v;@}>6jAP z1qXzj1*|O50$yRE=WLN8jz2@vdG)r$ClY^_5QNw~y)_<_{jwEW5M@dQ0I((-v55{o zox_rwz=SzhMgZfC*w{IlU6Wh2wH}(pya+})pKuAk@Gbq==g&{<8d~}m^|j{epdc#3 z(iDTa8QA`z@KumOHIlJ4<2IK#?-g#<-F^|1Hcm{`9)tHcPB*?kP;Y{6ureja`zI&0 zq-iGcPmu15CK6HjV{+x0FPvG+>eWCizTz0s9Ji*%vl}oYWf(_E_eIeLf?{R>-R2%9 zYhq#QHr+Sx5+mxZ$xw`AUBJOQr%hjUTD2_Ty3axf8l~iw5$~#+Q#@`<9V<_6*xhOK zXJyxr;99dr5SPehd&Nu6cEFkU=V0FB)OsX@)*8o+iUbn%PZ_N^;#n8KEA~bf5oX2W zBtnd!8P>zhh!+m;jt~%GB6VaG5nS36v4Pe^B)3t@Va9hk0-9$)Q+={5OR^IOi<)k% zws@FYK&oCiPTK9;MCrtdMN2=~fhPSnG@`hys>EI3aPKovezeLKdsmO1V=?0x8sZ)U zfWHT5BHw}W_LFUP0V5IXnkeEjL(#(QKqB^9MAA$&s%W+!)g43e&H9fh^YX0$ z*{%8)5MEC?LTvo`YP_SzR~Io?4zv+%$zRV6z;k*%B8Y_kyrgfnCh-!3emsAR2RF?{O+U^2HJQ;Qoe>y=WyV_jqGD*=!X8UAxRF4KL0gD|<%)&ofQoh1rNM?{Kosm|gW8IG6CX}{E={Zfba zvotzM^tsF{w?#h@{j;cG!dOO3*&~Pa1!t@}#QxQ^KJ+R=@AUVwbz@svyL!bK+r($#XOo{JVt_!4#|QAQTXwrJm6z%T-nN2-3d#3iJK+a%`CSiiWN?7 zOQvULaT{jaAXm4r&WF)*;qM$UNE|>QM5+dLLz&370v4Ft$sM_UIaO5 z3zB>`QseM1hiaU)GX9F(k%Cs3*f}`3bE44Muidk0(;obz!s^Rs%H^5MSFgT&UAesO z^40r)<2Uy2zy5lrldltWm~$QUray3^LpxESCfhTOAkCNjqT2NkrKS z4lYyWeN2^S80p=fSfQiq#(e13E+Q=y6x5muSy}flgd)@cR=2D;okuONR+sa&mK>-s z&Q;Xkf3B7^d9D(*h&ob^>qw{X6h7WjqSk>D<;bJ!=ui20{P#~Kok$bxTt0M8hzZ*N zBi3@{50)w1(BR_0;p!-zF7B~%u}q1WfT=K_TcJzJ+hezPpE78(-(1?a21S) zMh5JJiwD3M69!f1{kLLhPip=<#;}?herVj={+b_Kb(;Oz214tuiYK%gtF~Yxa>qmC@x_ z#u+KI@Dhv*EaRH`G6tcS(E-ge8{=Gdah}6+IeAzpf5g!a9x`}N&5*PB9`_~>d?P1yrWQbs8RE+}eLP`@%Fn$#amQK@nj6pvi2Po_HP2=U+Z`%p z3bHrjm3J31W+5XNyam5Fuaz<-K`AveO`4qd_w_cs*l)I^Kgm4nxL(bx_mPF(ZuwK@ zNmDSR3nAShu#4P-U1b@n8qYWj6L6K+tJ5d{dr~Jm^ypR2>&R>Qu2C`-kB_YP15Zi~ zR;+#7ht>u(U%M44r-OQ?FO_cf#IL+~de&!%X1>;6>EJ5>U{DR`=&LJ`CnvdLSMWQ~>g5%53WpM$-OqTlw^HZ+~yl2XwHW@&-KoGZjFSAmoT0y zpP%P;>`@&@_i)Q-((eM#9o<|HPwHLm?*3`dWDr>H_^u(EU;0^Vt_CcZp2T*Wu=ygi zJ3`)V`y4m6AG6dl=X?#5IHSVu3zFb&!)F?XPX+0Jx2&47YH2c+-wAaX(I7F1PsT)b z4BH4-HqdlyGg3@YUm~DHfbxKnK1&qtxa?wI12M~ba;3}85!?4JwpRGMn`!YM!oA%E z-(;|NU??^o9~|fnuJskVduOWGzVYUvb-#7jn}&zqbk}dK8@l<8*RnYQ(j>eDeX9tD z?IAsSk8o3ovRIKm81I|IG>GD_6{H64oj?W*lF^wItmBf-xtLD8s4GANUdg*#4VY@6=Q@?DQdhBD zDO7UlLOPL5#nm`f;&8k>6*p6JeWRH2~?jlna!&6sJ%^q{Gk zB8;nsehCeguMcSS7LE33G^tVa$=FGJn$TfFyT}bh2ob8m1H0itQ2 zYF=8Pg;aNiq)CdzWvNg=X{&&wyMT*lZz<3K+!2#CIUuV5pDZboiD8>23;r-COu+^9 zz#L38SVjfMpU&0+7(9;q`Pg%d)^mrif1=7Jo&u9RjB5qpcGTUN{>EMGloj&=Co}Kf z#g41pQS{K!-hm+s?3Q0ZET=4+?jmlSmvCVjMN7q_4S1KE!az3pJQseL&u5XmCx%rl%dwy}auyEj-cKezG3x&hK zxM%2=n_pLITz|vi2Il?*fczVP#Tfah{kl&JRD=1Ke5UG`J>IZicKc<&OAJVDbR~xa zk_6|w1Ckk#0%pV;_J+)`YO1@vVbkjkYi7n26cZz3CK6i`cO>4C__M^95@!-_uN)7{ zrW^p(6lZ2xukLuqVQ4TMLFe%ZI7X;FvvJeN@}RP>JJ7`z_lcLA(N>ek+`SU%?auqA zy7$!nc<%1Etows-z1|m^@#VYw{yt@ow^!X^-28hxE)e{R`-O z7rn{uB_$nLqO&wR%a#dZz-IxavGoO7DbPHwKF?!Lo=$8*lneP$u1*39AO934Vv0}} zs?v)|xs=Y=6@rM6L4}36YIuZ!W>^+b0^BsBv79(ctdor%%l2Ry^P9ZLJ~)(0O5tG0 zG)$kSn}!afukSWYI4@-kYN%dCR%Pk}Y9;{^sPb-!n9xH;-n$TCx`=A4Th&Wdmx>4$ zHsZ6YR7_rxLH8*U(7p)2%;BLy8yK>n)IWBxRw|b~oU#sS;gXu^tV zkA;CXp4I^2N* zc(P~%mh_9hKf2+fZ5diyx;wsU+vdd5DS8?Ga{Q9Rx3pTdfg6A0V77&Ate#m#Tk!fi z`NA<$bEL!?kG;fvRrVSHuzUrlF<-}2Q5MP|c}y{tLoSg+29e96)j-!VicM$7nuW)j zrTTfOOefkl$g@;>q5eim?Um=5Q#@=So6H2Qfzpm5v3A6Wy2FR5SDv;`;TrE#Y+VcV z|M^C{db;uaS&RLOUnni6FdGp_FTnp-Q&hNzU_#+&To|Kakn2*YdfuhSgB}+!Po-`b zHPz~h#kwq2E82CXyEp9e1miU4iIs+nSJx)WdLz;^-u>snLNYiIOcsKFUYY2LH1zUB z?dsxCDaPY8$nUcli-hfGd5jf_&J)bTg25EeoIZ)xEL?|n`S|#9?8GW+;<#1W;runo z^MXKMPcn23S`IoXD_`L2OFNc?XIc7ImfTWN*`fk=XJ>Iis-v2vxY8ARlz&4f2;9$qIco;{_izCC0u^h}X78VmjM(N{HugU{{ zRjwAZ^mHW^TY)Cpv9Ww(zzEt1A;Ixck4(h<<*rOJUreuV;OzL3(lv$-^_IsDk|Ni! zanEdxcwk5IBO6KOpqxfcI&CA;r_<2^d_04X5A;e#)_}=30*8W39SpM5AUw$z?!zwF zt}**9Is+P~8jgGSdBDU5GjTL9!*k;#M&g|J+b@nb7@(MssOc`SRjN3dET9_@wKO<1 zh+nsIrn;j%yPNK(D5YOhACs->^g!Q4P;)0s{nq5gs|)V^7gKTZfTwGG*Xl?il?dq8 zszje%jmtmr(tGu+7Dxt$N^1wRhIho}^|&k37dMBXER!7?*fmuaB}E$bs_EubafsVl zev{ls_JMepv;!_l2?Kos;;Z;v%PHxrn3KK$Xh4_0laYQEE#H^V*JB~N&)YuKjMTRl zRM1ISKKL)3SCLuv};d$nUfA*PnS=ypdc6 z6KqU-&Rk1BCOiUi%W69V>Nb8&&DM`dE)tlwJ^mwV&_ia?_8t&iq?4%yhC2RyBYwKk zZpWXGKZ#$Mpoa4`iy;jAV_y`YilQVu?vH$A>?8C8OF!Frbj_NhJE_0@?QgeNyf;R6 z*?lCTBZab~p(8FaOpIyU=hlyS0&&YT8}&v*fmzd!A9XWDLl9Xj@M~I_|EH4#r~&Q4 z2C)`3oF)}J-`Btvby`)xzvZT39gu9y<1A7^ zW*;r6H6O!oLOlK0V>qj!ax3aCUzEJ-uH=6aW;5@3Pv%k>-?1}4bsdB;7C{p)kQSLD z3*-R(E88Lm^@D;!kj)-o-<;aVwu_w)Q|(5~PvFtcEE1L-=-Hpg%~p0k*WpPUxixPc z-_J0sKVF$)H98;PTHUF)yD61e>0u{)dlC+}R}y}c>wxjQ|HBO%H@h4u8QiKiP+ zJG2l3XP>T~(w}zHM4c1v3OXQOdj8ZmtEZm)cczV^D1kR=A@pm07fbpT*Mw>O_SK*K z8XwJ~rSo3Ggb4rf&uO*KQ;u|ntqT+H6-s0n$cUTn15xolqT4E!M@Q=AtyF7osa6O1 zx{F!zcl0NKOVh`Q8$Vlvat#q|lv@P1Br?Zrzyus~QQ5}e=4ZXPhyFM@4-Dnvg)8+F2;qBc6xg zH0}!#SCS1YAgmDCUFBodyhc%%MKbfA=c!ZOJ(EHG{`t_ zt;#dn&6S?nLLpO{Ez7ytj6lS>gs8aZ{C2)d?80tg@9&_XfNwnGA{ed?P55MUHyS0`^|7hhOX>{d9dZF-c0G_#Kdiq)b zo*9>_7ry@u7ry_(swj5h#LNi+@(tk^Om9bZr^U8NT)LA9`rDbZj2@#=gT%$8C;~LZ zIYVooBP6@jHq-x1ZhlhuG3!Uu9Tu`^bLryyoPR_nv6tsy`uaPnzx7G8mmhR1fA;RO z`=OVy`zesOqAq+Z*Ojb)I>Guckn8aJb#NW>zsY~nDt#7k&~z6GDnTf1a0IMg!|Hh6 zP=M=X0j;X3YCPVTQj}C*JYG$ybgx#;`2Crxrd2Y5K&AqA$O^U6Uoy=t65ku-pv1-;YZX0O9n9J#w}Jr(QU%bD zOWPvJv`ey!6>78DEqQw)lM@b>R(?d|rGJf2jki47wmp|MXK(Ebj*K)sp2o;Xuj$9^Ywnm~p(qH?1lUmEtB*jyUjwhc0V9iv z!Uopt2@~}Va&Bc#m|){eZZnGpqvX8M%P@%q9&{BtRpKw`gUEjB-d!w4qoSB??GD)A zyP0fOHVbm!?(BQU{g`9nSCslvV$&X1RL5m0H}fW{K$|rw|Pg*v>Xg1$})x$vkKRE#C%N!`&#F{x0ju%q6C|nSJrZo5t6t6JK;? zG;#Sho;mV^cGAe3%>-jX-L`pZsyo4W%h;wZW;)5rFL*M^2aS|tHXpHuO}v)P$8oS{ z$n9h=vuDD(!Yt5G!s1#GEU8`8;%9TRGB9A&JEG<&oVG=R?dm(fB$q;puA-rniu0PTIlK_7b;7?KhB1fe;hN%dxY@$$nBmc=)F2`47$>L#tny{Ud$HW= zegQiv$Odi&upnM&oL5G_`b5uy1>_Jmz*uv24-5DQl~4 zU23)7Fx_Xn=YP7L!*>R}cB4ib~PqjHaJuOln&^(k&nRe>3kK08|%xpT3^ z6=A`9g+i%4${!{|NIJpu5e-{ySJ*p*Ua&AX7Q>awct>A(GVE(?OEoeoy=K_H>6Xo-+x~R7YxuIc z%Z7uhb5m65oo;c=^S9I2gsrgNr9QnzMwL-PMw*E%V67$LM<*aI6~W>N6j3ld0XS87 zajo)D8)E1cUXo#g+?d6;NI@0!db=;E#KoyTQZ_i0Etk=B8E7k z@V9=QjJz+YX?R^rg=1Fs5=iL6g)34o_Rwnwx{rf!*ovW{1SH>T3#gWwZ~&&OLHrFD z*wAy(kC6Oa}wQf@BNZiiRMx6^HxjdLq3`ed=6kK0K02jfCe* zbE_^A1tZXY@(rPUi zw^Xhg{}{XU_Q7`zF8}S)?$6H8e|GoM-!8M$x8wWViS^iEpESiHUEn+$BD?au_cAnXJJh@BvHcS2&p zJc!sCz9ig&QW+R?z(qaEbFoHwWM_b*7B!)@(*SJO^9tZhIRSPG08zoAiB*ch61x_F z&9ecj@SJ9xFmni4fxc`7;Kodbx!v%w^B^VZJeZ*8fy4YfSRtPWVd_OlTU&&*wZ)PO zN9@|UJbZF4&rjaT&v$aWZJuA>!4om(cv|ipx0&Yn-_PMc>>Pgm9KM8}<=1Cm)y?4e)$J2*x0uigW<30}pj!=Y;s)$w4~&b^z%JLEch`lR}`U5m?d{m#%9s z-#bjB!_i^iuIp<$YgyYfeZB8|?~U_Sn2psNr@~Y71C|64-?4ct)ANpW!hp($YJkdxqv6t$mS+%aeqALO(x#3G(O{1)X8Q;ADqZcG?Pj!=gZ`; zzG!?$_)E^9HP;_54W%3*TcI~v9*jHvj$k?*Oh-d5S0q1Fir0Fg_E0OoWv5>nl>NnW zZ@=HEEtvKc24Kmf`~QdHo9Tj z#Y%Rwk_IBJQ9v7yB4Qg%YOlgGj8AZCz%~^iNH0W=gmSGC=$#TMydsQNY=W2jfezlWM+crpqCsThPmMw=0ZGd*msDw4jV6b+L}qp0KG|Io)g8xVVk)K zIs`K^FcalNgd(KI4x*l0ERWD}eoO~hnq&LnTye((0rZ2$Z1C$_(^-8#;b zwa2;pc$|k9k?RiR-}p@F<{6I(L+|0vVz{9Dpp;#OAEv_XsdEl@r#Q)Izot6LfRKNN zFD72n!;pI9h$=`gfZ=a=AW=lI8UiGPIT8bXAA=S#9bN{2t&G+2(Sj!h64GKoZxsW5 zA0rN|JhDTM2&Buh#dB^L#OW}2Q-)zEhH(^z=laAcey>wp)K2k{VEY#ygho?yIq+t~ z%r~|uslbSCO9bUq1+a z`QL*jO8=s`wHZ$hOy?V$oqlhvGy*qZoOrB#N2Nx&t0{7^HpR|fmJe?Mf5D%NvpM{zsq`<-K5=_rBXvhZU@TyN7cYim$N63$vKbVbY4ty83$NvtMo$jnJSV$iL`ssdlf8t-O;yQm26t?2q%>3laf8x1}v-HBuy-$SxtID+!po3GhHBWHT)4=T>+h zkVAu%%zzP-!I^1)Gk9=dBSOjnEjc*Th{_zo_DcfgIi;ivAH>x1F#V`8Y%C5H^Zs3D136`&k~BUq}|3_%3$smgj8#6F^c zBgT|Lbe-HW&hyM#k+KztMYR2*Nin>J7{&VgAdKzNk)X|Gog5C2M)tg+RFq@Mr1Q7U zNI9kYQ>BnM=A?i5d&SR3YkMN}lk|40G%?vT>apkh2SVSG)OaYE@X3_k_xr>U=1P2k z&444!${0T=SiM%ryFa2U;KL#oolu1U^O(S^a&Zr-p@a?Xu^Zk-m7{F*jxqyhFcTc1 zcHslVoI@``S7}DHVol_$hI}(1v|qrt-EAIV{bCdV_TZJWq1`RwR)7mBzA!?2A_hyF zIOb8s;Ej)98HB#gf#KP}KeHjZKKec;BjJ~_zu}(!8LfNPg57HE7<&nBcybwcRC)T?bH|RpUInH9 zZ2qW0(^dZIXbs3QYf*EbtJQMsA6@lj8mUwx<1_bt{iRYr{4@Cp34Kj?3*rgrdeCm8 z&Kb!hu}Vuj16v5M9Y5AObG&tolNXx#HMzkY zk{CWZ_9*-R$O!$@XP+H;_F2e3rkiPv$;J}-5!A_@J^(53uwX>?>XP|5OFWg;!u0>AWKy zi?i)s6*2eYnOU_ro488!yK=a;$E5s%)p3Q3zooE0z+{^14kjEbr!dvdNLdF_0W|lO zI5?!xr_lO zvjTdpg7G~}O^$GbJIsp)YY`qKR5Zj&g;eEz2_4N7J(8MDWK&s(qbwpoj<_!ikEIFh z#PHa%wNSX+FJH0CajD}vhv;ymQqc;zs*H$gWn6@p!AdO`@oBQ(P%qNr9U=c!VeT{u zn;{K$@B+{_hND(Yn*^Mb<%)5@sjhB-oO67l>~S({hOLjEL}PM;fP*nHje^1o9qcOZ zEpmCz33Pd?-=B?^0_jS~?e*oNN}Lcv$^3}UoUK@Ml<+Sf zEPR|}GOTW=|0!6R?eoV_2Wa9Zbg&uBB?|~ytSH0uWd!j`!x~Gdd-)16!q+Ydh^Qk1L>+M5 zNJDxIZpXpD!NL1+@Hy?^C{lRc!&krt|LPG=p85huw0-ES2D$19_`IE?P_g}E2Z6Ws zIsmHDqipgYu~D0LUFh9WPb93^?KUEY{63okW%0*gQ2?Ac%5Tn`T(10HUlS)8ZkJ!1 zX!KYU{vA)vFZ--x!xv3vYvksE`yqcmc(x$o+MA0bCsf ze57EKiX9d8(jhPncB>Ko!bdohX@vWnBix}9G0^}cofzy(fbkb`nK@HcswJA3dum( zE<59a-gr`UxtwCZP3>{z60TUtW3yJQmW1kaIigy?>ddfl+e|l;AF=n}Mb7^R>t4z| zshIHLV($d?vNyoy_Sm?}g#Cj|df4tDSAhh25V9GlY_+iae~zh8_JmakBhM6Y+GtqKCT13b?=UPw@Y2;7wr6XAEjYL>mH%cn5v z%#O|+C+3L$E*J}XXS83>=O_E4(f-MNUhj`?niyzJOte^Asl2Tbi#4{D&Hdz#9h2-I ztR4H=TJ$rx7QG4AqBp@>lwIFUh&ao}yFfm|t{3TB>D8EHdA%U6JVHKrsHEEsj@cu+ z>Su3k8qZbSromqE`7qdS9N-lmem4%%W&#NsK~6Yw
    emXVCNmjXh5Q*N$zW(fV=_ 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%0DQs% zSv5uxBVy`__Yu?gg%p6xaB(2CL^Yw!q(Pi`2gb%7|rGoX7I8ClQqZ!{zrJl z4qkj_!@(;Twyts^4j9Cm_&PKDDHrgH1I_9FxaIT=p9ln#La3po8f$e(jcPS?P_T!- z5Uz@g;zPBw<&<$fgKYw>aazcU5}F#64bdZidcyM|F?R%U{~a+<(TFt`U2g`NSPb74=6&{$4!R2c`N zmIM(oXy7Jjq8g#Z6mkNiZzplf(CU1IA&`Zz2L&bt3&{AS?SsmX2y*22^yDGqI3t9^ zO=$X24%#Y>2})4>N+l^qQ4h2SRD0!V?3-X?fqn|#f?^uwflp&LVWbQB1VIzIA`%0x z1pP-$M}n{qi9kLf_faudg%YBc8RRS|XDLVR4muQcsWgv*AYSkyZ!k)Q)TC0>26zdN zA7bzY7Y^KFzPAdg13$%>!lYnC2?*Fw8jyKQQIUKD)&k-2?QS7C?;_+ z@^QWvTYSlJY+(z)tl{EZ`)F2liG03NE?3etn+~%Oc3qc+EEKENawY3NfF~vXVQ zglY~*6cuWvl1Q;ss#Yu2mj13CUtLjyC@??-iYRaaGa^}BnXm>JA_KuCOu4?Xy%0D?3kIC1RN0?w}G#rIiMVsHGd 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�tKRnaP=dKgpBWfU01 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 literal 0 HcmV?d00001 diff --git a/src/website/logo-combos-for-cli-tools.svg b/src/website/logo-combos-for-cli-tools.svg new file mode 100644 index 0000000000..bea2d85101 --- /dev/null +++ b/src/website/logo-combos-for-cli-tools.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5a38604ec26a369ab01eeefc1a833b98eead6a74 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 17:57:05 +1000 Subject: [PATCH 118/243] #1153 Boilerplate styles and definitions now can be used with any drawing layer combination --- .../blenderbim/bim/module/drawing/operator.py | 90 ++++----- .../bim/module/drawing/svgwriter.py | 191 +++++++----------- 2 files changed, 108 insertions(+), 173 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index a16dd25f2a..b4132c1884 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -124,6 +124,17 @@ class CreateDrawing(bpy.types.Operator): self.get_scale() if self.cprops.update_representation(self.camera): bpy.ops.bim.update_representation(obj=self.camera.name, ifc_representation_class="") + + self.svg_writer = svgwriter.SvgWriter() + self.svg_writer.human_scale = self.human_scale + self.svg_writer.scale = self.scale + self.svg_writer.data_dir = context.scene.BIMProperties.data_dir + drawing_style = context.scene.DocProperties.drawing_styles[self.cprops.active_drawing_style_index] + self.svg_writer.vector_style = drawing_style.vector_style + self.svg_writer.camera = self.camera + self.svg_writer.camera_width, self.svg_writer.camera_height = self.get_camera_dimensions() + self.svg_writer.camera_projection = tuple(self.camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) + underlay_svg = self.generate_underlay(context) self.profile_code("Generate underlay") linework_svg = self.generate_linework(context) @@ -136,6 +147,16 @@ class CreateDrawing(bpy.types.Operator): print("Total Time: {:.2f}".format(time.time() - start)) return {"FINISHED"} + def get_camera_dimensions(self): + render = bpy.context.scene.render + if self.is_landscape(render): + width = self.camera.data.ortho_scale + height = width / render.resolution_x * render.resolution_y + else: + height = self.camera.data.ortho_scale + width = height / render.resolution_y * render.resolution_x + return width, height + def profile_code(self, message): if not self.time: self.time = time.time() @@ -146,22 +167,22 @@ class CreateDrawing(bpy.types.Operator): # Hacky :) svg_path = os.path.join(context.scene.BIMProperties.data_dir, "diagrams", self.drawing_name + ".svg") with open(svg_path, "w") as outfile: - has_boilerplate = False + boilerplate = self.svg_writer.create_blank_svg(svg_path).define_boilerplate().svg.tostring() + outfile.write(boilerplate.replace("", "")) if underlay: with open(underlay) as infile: - for line in infile: - if "', '" xmlns:ifc="http://www.ifcopenshell.org/ns">') - if "" in line: + for line in enumerate(infile): + if i < 2: + continue + elif "" in line: continue outfile.write(line) shutil.copyfile(underlay[0:-4] + ".png", svg_path[0:-4] + "-underlay.png") - has_boilerplate = True if linework: with open(linework) as infile: should_skip = False for i, line in enumerate(infile): - if has_boilerplate and i == 0: + if i == 0: continue if "" in line: continue @@ -174,11 +195,10 @@ class CreateDrawing(bpy.types.Operator): elif should_skip: continue outfile.write(line) - has_boilerplate = True if annotation: with open(annotation) as infile: for i, line in enumerate(infile): - if has_boilerplate and i in [0, 1]: + if i < 2: continue if "" in line: continue @@ -223,25 +243,7 @@ class CreateDrawing(bpy.types.Operator): for name, value in previous_visibility.items(): bpy.data.objects[name].hide_set(value) - svg_writer = svgwriter.SvgWriter() - render = context.scene.render - if self.is_landscape(render): - width = self.camera.data.ortho_scale - height = width / render.resolution_x * render.resolution_y - else: - height = self.camera.data.ortho_scale - width = height / render.resolution_y * render.resolution_x - svg_writer.human_scale = self.human_scale - svg_writer.scale = self.scale - svg_writer.output = svg_path - svg_writer.data_dir = context.scene.BIMProperties.data_dir - svg_writer.vector_style = drawing_style.vector_style - svg_writer.camera = self.camera - svg_writer.camera_width = width - svg_writer.camera_height = height - svg_writer.camera_projection = tuple(self.camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) - svg_writer.background_image = context.scene.render.filepath - svg_writer.write("underlay") + self.svg_writer.create_blank_svg(svg_path).draw_underlay(context.scene.render.filepath).save() return svg_path def generate_linework(self, context): @@ -415,35 +417,13 @@ class CreateDrawing(bpy.types.Operator): if os.path.isfile(svg_path) and self.props.should_use_annotation_cache: return svg_path - camera = self.camera - svg_writer = svgwriter.SvgWriter() - - drawing_style = context.scene.DocProperties.drawing_styles[self.cprops.active_drawing_style_index] - - render = context.scene.render - if self.is_landscape(render): - width = camera.data.ortho_scale - height = width / render.resolution_x * render.resolution_y - else: - height = camera.data.ortho_scale - width = height / render.resolution_y * render.resolution_x - - svg_writer.human_scale = self.human_scale - svg_writer.scale = self.scale - svg_writer.output = svg_path - svg_writer.data_dir = context.scene.BIMProperties.data_dir - svg_writer.vector_style = drawing_style.vector_style - svg_writer.camera = camera - svg_writer.camera_width = width - svg_writer.camera_height = height - svg_writer.camera_projection = tuple(camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) - elements = tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element)) - svg_writer.annotations = sorted(elements, key=lambda a: tool.Drawing.get_annotation_z_index(a)) - svg_writer.metadata = tool.Drawing.get_drawing_metadata(self.camera_element) + annotations = sorted(elements, key=lambda a: tool.Drawing.get_annotation_z_index(a)) - svg_writer.write("annotation") - return svg_writer.output + self.svg_writer.metadata = tool.Drawing.get_drawing_metadata(self.camera_element) + self.svg_writer.create_blank_svg(svg_path).draw_annotations(annotations).save() + + return svg_path def get_scale(self): if self.camera.data.BIMCameraProperties.diagram_scale == "CUSTOM": diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 30233de575..9297e45481 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -36,14 +36,6 @@ from mathutils import geometry from blenderbim.bim.ifc import IfcStore -def load_occ(): - # Don't import until we really need to, as a temporary step before we can purge OCC - try: - from OCC.Core import BRep, BRepTools, TopExp, TopAbs - except ImportError: - from OCC import BRep, BRepTools, TopExp, TopAbs - - class External(svgwrite.container.Group): def __init__(self, xml, **extra): self.xml = xml @@ -63,44 +55,51 @@ class External(svgwrite.container.Group): class SvgWriter: def __init__(self): - self.output = "out.svg" self.data_dir = None self.vector_style = None self.human_scale = "NTS" - self.annotations = [] self.metadata = [] - self.background_image = None self.scale = 1 / 100 # 1:100 + self.camera_width = None + self.camera_height = None - def write(self, layer): + def create_blank_svg(self, output_path): self.calculate_scale() self.svg = svgwrite.Drawing( - self.output, - debug=False, + output_path, size=("{}mm".format(self.width), "{}mm".format(self.height)), viewBox=("0 0 {} {}".format(self.width, self.height)), id="root", data_scale=self.human_scale, + debug=False, # Disable validation so that we can insert the IFC namespace ) + self.svg.attribs["xmlns:ifc"] = "http://www.ifcopenshell.org/ns" + return self - if layer == "underlay": - self.draw_background_image() - elif layer == "annotation": - self.add_stylesheet() - self.add_markers() - self.add_symbols() - self.add_patterns() - # self.draw_background_elements() - # self.draw_cut_polygons() - self.draw_annotations() + def save(self): self.svg.save(pretty=True) + def draw_underlay(self, image): + self.svg.add( + self.svg.image( + os.path.join("..", "diagrams", os.path.basename(image)), width=self.width, height=self.height, + ) + ) + return self + + def define_boilerplate(self): + self.add_stylesheet() + self.add_markers() + self.add_symbols() + self.add_patterns() + return self + def calculate_scale(self): - self.scale *= 1000 # IFC is in meters, SVG is in mm + self.svg_scale = self.scale * 1000 # IFC is in meters, SVG is in mm self.raw_width = self.camera_width self.raw_height = self.camera_height - self.width = self.raw_width * self.scale - self.height = self.raw_height * self.scale + self.width = self.raw_width * self.svg_scale + self.height = self.raw_height * self.svg_scale def add_stylesheet(self): with open(os.path.join(self.data_dir, "styles", f"{self.vector_style}.css"), "r") as stylesheet: @@ -124,26 +123,8 @@ class SvgWriter: for child in root: self.svg.defs.add(External(child)) - def draw_background_image(self): - self.svg.add( - self.svg.image( - os.path.join("..", "diagrams", os.path.basename(self.background_image)), - **{"width": self.width, "height": self.height}, - ) - ) - - def draw_background_elements(self): - return # TODO purge? - for element in self.ifc_cutter.background_elements: - if element["type"] == "polygon": - self.draw_polygon(element, "background") - elif element["type"] == "polyline": - self.draw_polyline(element, "background") - elif element["type"] == "line": - self.draw_line(element, "background") - - def draw_annotations(self): - for element in self.annotations: + def draw_annotations(self, annotations): + for element in annotations: obj = tool.Ifc.get_object(element) if not obj or element.ObjectType == "DRAWING": continue @@ -180,6 +161,7 @@ class SvgWriter: # Experimental integration with the MeasureIt-ARCH Add-on self.draw_measureit_arch_dimension_annotations() + return self def draw_section_level_annotation(self, obj): x_offset = self.raw_width / 2 @@ -194,7 +176,7 @@ class SvgWriter: projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) @@ -202,8 +184,8 @@ class SvgWriter: path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) text_position = Vector( ( - (x_offset + projected_points[0].x) * self.scale, - ((y_offset - projected_points[0].y) * self.scale) - 3.5, + (x_offset + projected_points[0].x) * self.svg_scale, + ((y_offset - projected_points[0].y) * self.svg_scale) - 3.5, ) ) # TODO: allow metric to be configurable @@ -233,14 +215,14 @@ class SvgWriter: projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) d = "M{}".format(d[1:]) start = Vector(((x_offset + projected_points[0].x), (y_offset - projected_points[0].y))) next_point = Vector(((x_offset + projected_points[1].x), (y_offset - projected_points[1].y))) - text_position = (start * self.scale) - ((next_point - start).normalized() * 5) + text_position = (start * self.svg_scale) - ((next_point - start).normalized() * 5) path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) self.svg.add( self.svg.text( @@ -270,14 +252,14 @@ class SvgWriter: end = Vector(((x_offset + v1.x), (y_offset - v1.y))) vector = end - start line = self.svg.add( - self.svg.line(start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes)) + self.svg.line(start=tuple(start * self.svg_scale), end=tuple(end * self.svg_scale), class_=" ".join(classes)) ) line["stroke-dasharray"] = "12.5, 3, 3, 3" axis_tag = tool.Ifc.get_entity(obj).Name self.svg.add( self.svg.text( axis_tag, - insert=tuple(start * self.scale), + insert=tuple(start * self.svg_scale), **{ "font-size": annotation.Annotator.get_svg_text_size(5.0), "font-family": "OpenGost Type B TT", @@ -290,7 +272,7 @@ class SvgWriter: self.svg.add( self.svg.text( axis_tag, - insert=tuple(end * self.scale), + insert=tuple(end * self.svg_scale), **{ "font-size": annotation.Annotator.get_svg_text_size(5.0), "font-family": "OpenGost Type B TT", @@ -320,7 +302,7 @@ class SvgWriter: projected_points.append(projected_points[0]) d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) @@ -357,7 +339,7 @@ class SvgWriter: projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) @@ -379,7 +361,7 @@ class SvgWriter: end = Vector(((x_offset + v1.x), (y_offset - v1.y))) vector = end - start line = self.svg.add( - self.svg.line(start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes)) + self.svg.line(start=tuple(start * self.svg_scale), end=tuple(end * self.svg_scale), class_=" ".join(classes)) ) def draw_leader_annotation(self, obj): @@ -408,17 +390,17 @@ class SvgWriter: symbol_position = Vector(((x_offset + symbol_position.x), (y_offset - symbol_position.y))) transform = "rotate({}, {}, {})".format( angle, - (symbol_position * self.scale)[0], - (symbol_position * self.scale)[1], + (symbol_position * self.svg_scale)[0], + (symbol_position * self.svg_scale)[1], ) self.svg.add( - self.svg.use("#section-arrow", insert=tuple(symbol_position * self.scale), transform=transform) + self.svg.use("#section-arrow", insert=tuple(symbol_position * self.svg_scale), transform=transform) ) - self.svg.add(self.svg.use("#section-tag", insert=tuple(symbol_position * self.scale))) + self.svg.add(self.svg.use("#section-tag", insert=tuple(symbol_position * self.svg_scale))) reference_id, sheet_id = self.get_reference_and_sheet_id_from_annotation(tool.Ifc.get_entity(obj)) - text_position = list(symbol_position * self.scale) + text_position = list(symbol_position * self.svg_scale) text_style = { "font-size": annotation.Annotator.get_svg_text_size(2.5), "font-family": "OpenGost Type B TT", @@ -441,15 +423,15 @@ class SvgWriter: transform = "rotate({}, {}, {})".format( angle, - (symbol_position * self.scale)[0], - (symbol_position * self.scale)[1], + (symbol_position * self.svg_scale)[0], + (symbol_position * self.svg_scale)[1], ) - self.svg.add(self.svg.use("#elevation-arrow", insert=tuple(symbol_position * self.scale), transform=transform)) - self.svg.add(self.svg.use("#elevation-tag", insert=tuple(symbol_position * self.scale))) + self.svg.add(self.svg.use("#elevation-arrow", insert=tuple(symbol_position * self.svg_scale), transform=transform)) + self.svg.add(self.svg.use("#elevation-tag", insert=tuple(symbol_position * self.svg_scale))) reference_id, sheet_id = self.get_reference_and_sheet_id_from_annotation(tool.Ifc.get_entity(obj)) - text_position = list(symbol_position * self.scale) + text_position = list(symbol_position * self.svg_scale) text_style = { "font-size": annotation.Annotator.get_svg_text_size(2.5), "font-family": "OpenGost Type B TT", @@ -497,13 +479,13 @@ class SvgWriter: transform = "rotate({}, {}, {})".format( angle, - (text_position * self.scale)[0], - (text_position * self.scale)[1], + (text_position * self.svg_scale)[0], + (text_position * self.svg_scale)[1], ) symbol = tool.Drawing.get_annotation_symbol(element) if symbol: - self.svg.add(self.svg.use(f"#{symbol}", insert=tuple(text_position * self.scale))) + self.svg.add(self.svg.use(f"#{symbol}", insert=tuple(text_position * self.svg_scale))) if text_literal.BoxAlignment == "top-left": alignment_baseline = "hanging" @@ -535,7 +517,7 @@ class SvgWriter: literal = text_literal.Literal - product = tool.Drawing.get_text_product(element) + product = tool.Drawing.get_assigned_product(element) selector = ifcopenshell.util.selector.Selector variables = {} for variable in re.findall("{{.*?}}", literal): @@ -545,7 +527,7 @@ class SvgWriter: self.svg.add( self.svg.text( text_line, - insert=tuple((text_position * self.scale) + Vector((0, 3.5 * line_number))), + insert=tuple((text_position * self.svg_scale) + Vector((0, 3.5 * line_number))), class_=" ".join(self.get_attribute_classes(text_obj)), **{ "font-size": annotation.Annotator.get_svg_text_size(text_obj.BIMTextProperties.font_size), @@ -574,7 +556,7 @@ class SvgWriter: ] d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) @@ -591,7 +573,7 @@ class SvgWriter: projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) @@ -599,8 +581,8 @@ class SvgWriter: path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) text_position = Vector( ( - (x_offset + projected_points[0].x) * self.scale, - ((y_offset - projected_points[0].y) * self.scale) - 2.5, + (x_offset + projected_points[0].x) * self.svg_scale, + ((y_offset - projected_points[0].y) * self.svg_scale) - 2.5, ) ) # TODO: allow metric to be configurable @@ -698,11 +680,11 @@ class SvgWriter: arc_midpoint = center + ((cog - center).normalized() * radius) text_position = self.project_point_onto_camera(arc_midpoint) - text_position = Vector(((x_offset + text_position.x) * self.scale, (y_offset - text_position.y) * self.scale)) + text_position = Vector(((x_offset + text_position.x) * self.svg_scale, (y_offset - text_position.y) * self.svg_scale)) center_projected = self.project_point_onto_camera(center) center_position = Vector( - ((x_offset + center_projected.x) * self.scale, (y_offset - center_projected.y) * self.scale) + ((x_offset + center_projected.x) * self.svg_scale, (y_offset - center_projected.y) * self.svg_scale) ) text_offset = (text_position - center_position).xy.normalized() * 5 text_position += text_offset @@ -722,9 +704,9 @@ class SvgWriter: # Draw SVG arc, see for details: http://xahlee.info/js/svg_circle_arc.html arc_proj_end_pts = [self.project_point_onto_camera(v) for v in arc_end_pts] - p1 = Vector(((x_offset + arc_proj_end_pts[0].x) * self.scale, (y_offset - arc_proj_end_pts[0].y) * self.scale)) - p2 = Vector(((x_offset + arc_proj_end_pts[1].x) * self.scale, (y_offset - arc_proj_end_pts[1].y) * self.scale)) - r = radius * self.scale + p1 = Vector(((x_offset + arc_proj_end_pts[0].x) * self.svg_scale, (y_offset - arc_proj_end_pts[0].y) * self.svg_scale)) + p2 = Vector(((x_offset + arc_proj_end_pts[1].x) * self.svg_scale, (y_offset - arc_proj_end_pts[1].y) * self.svg_scale)) + r = radius * self.svg_scale # reflex = 1 if angle > math.pi else 0 reflex = is_reflex if reflex: @@ -745,7 +727,7 @@ class SvgWriter: projected_points = [self.project_point_onto_camera(matrix_world @ p.co.xyz) for p in points] d = " ".join( [ - "L {} {}".format((x_offset + p.x) * self.scale, (y_offset - p.y) * self.scale) + "L {} {}".format((x_offset + p.x) * self.svg_scale, (y_offset - p.y) * self.svg_scale) for p in projected_points ] ) @@ -753,15 +735,15 @@ class SvgWriter: path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes))) p0 = Vector( - ((x_offset + projected_points[0].x) * self.scale, (y_offset - projected_points[0].y) * self.scale) + ((x_offset + projected_points[0].x) * self.svg_scale, (y_offset - projected_points[0].y) * self.svg_scale) ) p1 = Vector( - ((x_offset + projected_points[1].x) * self.scale, (y_offset - projected_points[1].y) * self.scale) + ((x_offset + projected_points[1].x) * self.svg_scale, (y_offset - projected_points[1].y) * self.svg_scale) ) text_offset = (p0 - p1).xy.normalized() * 5 text_position = projected_points[0] text_position = Vector( - ((x_offset + text_position.x) * self.scale, (y_offset - text_position.y) * self.scale) + ((x_offset + text_position.x) * self.svg_scale, (y_offset - text_position.y) * self.svg_scale) ) text_position += text_offset @@ -833,15 +815,15 @@ class SvgWriter: perpendicular = Vector((vector.y, -vector.x)).normalized() dimension = (v1_global - v0_global).length dimension = helper.format_distance(dimension) - sheet_dimension = ((end * self.scale) - (start * self.scale)).length + sheet_dimension = ((end * self.svg_scale) - (start * self.svg_scale)).length if sheet_dimension < 5: # annotation can't fit # offset text to right of marker - text_position = (end * self.scale) + perpendicular + (3 * vector.normalized()) + text_position = (end * self.svg_scale) + perpendicular + (3 * vector.normalized()) else: - text_position = (mid * self.scale) + perpendicular + text_position = (mid * self.svg_scale) + perpendicular rotation = math.degrees(vector.angle_signed(Vector((1, 0)))) line = self.svg.add( - self.svg.line(start=tuple(start * self.scale), end=tuple(end * self.scale), class_=" ".join(classes)) + self.svg.line(start=tuple(start * self.svg_scale), end=tuple(end * self.svg_scale), class_=" ".join(classes)) ) if text_override is not None: text = text_override @@ -873,35 +855,8 @@ class SvgWriter: def get_spline_points(self, spline): return spline.bezier_points if spline.bezier_points else spline.points - def draw_cut_polygons(self): - return # deprecate? - for polygon in self.ifc_cutter.cut_polygons: - self.draw_polygon(polygon, "cut") - - def draw_polyline(self, element, position): - load_occ() - classes = self.get_classes(element["raw"], position) - exp = BRepTools.BRepTools_WireExplorer(element["geometry"]) - points = [] - while exp.More(): - point = BRep.BRep_Tool.Pnt(exp.CurrentVertex()) - points.append((point.X() * self.scale, -point.Y() * self.scale)) - exp.Next() - self.svg.add(self.svg.polyline(points=points, class_=" ".join(classes))) - - def draw_line(self, element, position): - load_occ() - classes = self.get_classes(element["raw"], position) - exp = TopExp.TopExp_Explorer(element["geometry"], TopAbs.TopAbs_VERTEX) - points = [] - while exp.More(): - point = BRep.BRep_Tool.Pnt(topods.Vertex(exp.Current())) - points.append((point.X() * self.scale, -point.Y() * self.scale)) - exp.Next() - self.svg.add(self.svg.line(start=points[0], end=points[1], class_=" ".join(classes))) - def draw_polygon(self, polygon, position): - points = [(p[0] * self.scale, p[1] * self.scale) for p in polygon["points"]] + points = [(p[0] * self.svg_scale, p[1] * self.svg_scale) for p in polygon["points"]] if "classes" in polygon["metadata"]: classes = " ".join(polygon["metadata"]["classes"]) else: From 4a4912e8176e70c6548e62fb06e96ed0d8d6c43b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 20:26:25 +1000 Subject: [PATCH 119/243] Editing URIReference properties now provides a file browse button --- src/blenderbim/blenderbim/bim/module/pset/operator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blenderbim/blenderbim/bim/module/pset/operator.py b/src/blenderbim/blenderbim/bim/module/pset/operator.py index a5520d3815..15cb559978 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/operator.py +++ b/src/blenderbim/blenderbim/bim/module/pset/operator.py @@ -148,6 +148,7 @@ class EnablePsetEditing(bpy.types.Operator): new.is_null = data.get(prop_template.Name, None) is None new.is_optional = True new.data_type = data_type + new.is_uri = prop_template.PrimaryMeasureType == "IfcURIReference" if data_type == "string": new.string_value = "" if new.is_null else data[prop_template.Name] From 3b825e35ae4509c69cc5f23c7760311273edf320 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 20:28:24 +1000 Subject: [PATCH 120/243] #1153 You can now provide custom stylesheets, markers, symbols, and hatches --- .../bim/data/pset/EPset_Drawing.ifc | 6 +++- .../blenderbim/bim/module/drawing/operator.py | 8 ++++-- .../bim/module/drawing/svgwriter.py | 28 +++++++++---------- src/blenderbim/blenderbim/tool/ifc.py | 5 ++++ 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc index 9bcbda6d2c..3883e8ef5f 100644 --- a/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc +++ b/src/blenderbim/blenderbim/bim/data/pset/EPset_Drawing.ifc @@ -5,7 +5,7 @@ FILE_NAME('EPset_Drawing.ifc','2020-01-01T00:00:00',(),(),'EPset_Drawing','EPset FILE_SCHEMA(('IFC4')); ENDSEC; DATA; -#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9,#10,#11)); +#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15)); #2=IFCSIMPLEPROPERTYTEMPLATE('23JavTMk98ZxXhrUEnjAcf',$,'TargetView','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #3=IFCSIMPLEPROPERTYTEMPLATE('1yVWUt5H9DAOuu0OaMMLpe',$,'Scale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); #4=IFCSIMPLEPROPERTYTEMPLATE('3gsuPBtU93b8f0gg1pjkq6',$,'HumanScale','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.); @@ -16,5 +16,9 @@ DATA; #9=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); #10=IFCSIMPLEPROPERTYTEMPLATE('3Z0BXPSG5CWgtI33ioV7aj',$,'Include','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); #11=IFCSIMPLEPROPERTYTEMPLATE('1RVts_g3PAw98PJA2yL3bO',$,'Exclude','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.); +#12=IFCSIMPLEPROPERTYTEMPLATE('0c1$8NpYDEaBiJrj16jHIo',$,'Stylesheet','',.P_SINGLEVALUE.,'IfcURIReference',$,$,$,$,$,.READWRITE.); +#13=IFCSIMPLEPROPERTYTEMPLATE('3mRF52q81FQB$h4oTh7M45',$,'Markers','',.P_SINGLEVALUE.,'IfcURIReference',$,$,$,$,$,.READWRITE.); +#14=IFCSIMPLEPROPERTYTEMPLATE('1rhr_0N3LDtuORcEJP0KXM',$,'Symbols','',.P_SINGLEVALUE.,'IfcURIReference',$,$,$,$,$,.READWRITE.); +#15=IFCSIMPLEPROPERTYTEMPLATE('2sHDBuW7P4TROy$hL2w7ct',$,'Patterns','',.P_SINGLEVALUE.,'IfcURIReference',$,$,$,$,$,.READWRITE.); ENDSEC; END-ISO-10303-21; diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index b4132c1884..187b0c1c14 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -129,8 +129,6 @@ class CreateDrawing(bpy.types.Operator): self.svg_writer.human_scale = self.human_scale self.svg_writer.scale = self.scale self.svg_writer.data_dir = context.scene.BIMProperties.data_dir - drawing_style = context.scene.DocProperties.drawing_styles[self.cprops.active_drawing_style_index] - self.svg_writer.vector_style = drawing_style.vector_style self.svg_writer.camera = self.camera self.svg_writer.camera_width, self.svg_writer.camera_height = self.get_camera_dimensions() self.svg_writer.camera_projection = tuple(self.camera.matrix_world.to_quaternion() @ Vector((0, 0, -1))) @@ -167,7 +165,11 @@ class CreateDrawing(bpy.types.Operator): # Hacky :) svg_path = os.path.join(context.scene.BIMProperties.data_dir, "diagrams", self.drawing_name + ".svg") with open(svg_path, "w") as outfile: - boilerplate = self.svg_writer.create_blank_svg(svg_path).define_boilerplate().svg.tostring() + pset = ifcopenshell.util.element.get_psets(self.camera_element)["EPset_Drawing"] + self.svg_writer.create_blank_svg(svg_path).define_boilerplate( + pset.get("Stylesheet"), pset.get("Markers"), pset.get("Symbols"), pset.get("Patterns") + ) + boilerplate = self.svg_writer.svg.tostring() outfile.write(boilerplate.replace("", "")) if underlay: with open(underlay) as infile: diff --git a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py index 9297e45481..891b8f2092 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/svgwriter.py @@ -56,7 +56,6 @@ class External(svgwrite.container.Group): class SvgWriter: def __init__(self): self.data_dir = None - self.vector_style = None self.human_scale = "NTS" self.metadata = [] self.scale = 1 / 100 # 1:100 @@ -87,11 +86,11 @@ class SvgWriter: ) return self - def define_boilerplate(self): - self.add_stylesheet() - self.add_markers() - self.add_symbols() - self.add_patterns() + def define_boilerplate(self, stylesheet=None, markers=None, symbols=None, patterns=None): + self.add_stylesheet(stylesheet) + self.add_markers(markers) + self.add_symbols(symbols) + self.add_patterns(patterns) return self def calculate_scale(self): @@ -101,24 +100,25 @@ class SvgWriter: self.width = self.raw_width * self.svg_scale self.height = self.raw_height * self.svg_scale - def add_stylesheet(self): - with open(os.path.join(self.data_dir, "styles", f"{self.vector_style}.css"), "r") as stylesheet: + def add_stylesheet(self, uri): + default_stylesheet = os.path.join(self.data_dir, "styles", f"default.css") + with open(tool.Ifc.resolve_uri(uri) or default_stylesheet, "r") as stylesheet: self.svg.defs.add(self.svg.style(stylesheet.read())) - def add_markers(self): - tree = ET.parse(os.path.join(self.data_dir, "templates", "markers.svg")) + def add_markers(self, uri): + tree = ET.parse(tool.Ifc.resolve_uri(uri) or os.path.join(self.data_dir, "templates", "markers.svg")) root = tree.getroot() for child in root: self.svg.defs.add(External(child)) - def add_symbols(self): - tree = ET.parse(os.path.join(self.data_dir, "templates", "symbols.svg")) + def add_symbols(self, uri): + tree = ET.parse(tool.Ifc.resolve_uri(uri) or os.path.join(self.data_dir, "templates", "symbols.svg")) root = tree.getroot() for child in root: self.svg.defs.add(External(child)) - def add_patterns(self): - tree = ET.parse(os.path.join(self.data_dir, "templates", "patterns.svg")) + def add_patterns(self, uri): + tree = ET.parse(tool.Ifc.resolve_uri(uri) or os.path.join(self.data_dir, "templates", "patterns.svg")) root = tree.getroot() for child in root: self.svg.defs.add(External(child)) diff --git a/src/blenderbim/blenderbim/tool/ifc.py b/src/blenderbim/blenderbim/tool/ifc.py index d487aafbcb..efc7e09e35 100644 --- a/src/blenderbim/blenderbim/tool/ifc.py +++ b/src/blenderbim/blenderbim/tool/ifc.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . +import os import bpy import numpy as np import ifcopenshell.api @@ -91,6 +92,10 @@ class Ifc(blenderbim.core.tool.Ifc): def delete(cls, element): IfcStore.delete_element(element) + @classmethod + def resolve_uri(cls, uri): + return uri if not uri or os.path.isabs(uri) else os.path.join(os.path.dirname(cls.get_path()), uri) + @classmethod def unlink(cls, element=None, obj=None): IfcStore.unlink_element(element, obj) From 8252ef82ad33452a779722814580bd172c59fa24 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 7 May 2022 21:50:38 +1000 Subject: [PATCH 121/243] #2185 Write documentation about viewing construction types --- .../docs/users/exploring_an_ifc_model.rst | 50 +++++++++++++++++- .../docs/users/introduction_to_bim.rst | 2 +- src/blenderbim/docs/users/outliner-types.png | Bin 0 -> 50089 bytes .../docs/users/properties-types.png | Bin 0 -> 47045 bytes src/blenderbim/docs/users/type-local-view.png | Bin 0 -> 202879 bytes 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 src/blenderbim/docs/users/outliner-types.png create mode 100644 src/blenderbim/docs/users/properties-types.png create mode 100644 src/blenderbim/docs/users/type-local-view.png diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index f89c9f50d7..dea6eaeaea 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -298,9 +298,57 @@ You can find **Quantities** in the **IFC Quantity Sets** subpanel. Viewing construction types -------------------------- -TODO +Almost everything in the built environment will have a **Construction Type**. +For example, an architect will specify a door type for every door in a project. + +You can see a list of **Construction Types** in the **Outliner** panel in the +**Types** collection. For example, if the architect has a wall types schedule +with the wall type names of ``WT01``, ``WT02``, and ``WT03``, you should see +three **IfcWallType** objects with those same names in the **Outliner**. + +You can click on these types to see more details about them in the **Object +Properties** panel. + +.. image:: outliner-types.png + +When selecting an object, you can also see its construction type in **Object +Properties** under the **IFC Construction Type** subpanel. You can press the +**Select Icon** to select all objects that are of the same **Construction +Type**. You can use the hide and isolate hotkeys to quickly view them in the +model. + +.. image:: properties-types.png + +A **Construction Type** defines properties that are common to all occurrences of +that type. For example, if a wall type specifies a fire rating property, then +all walls of that wall type will inherit that fire rating too. + +A **Construction Type** may also specify geometry or geometric rules that are +common to all occurrences of the type. For example, a pump type will define the +geometry of the pump, so all occurrences of that pump will have the same +geometry. + +You can visually inspect types in isolation to the rest of the model. Types are +hidden by default, so first enable the visibility of the **Types** collection in +the **Outliner** by pressing the **Visibility Icon**. Then, select a type, and +click on ``View > Local View > Toggle Local View`` (hotkey ``/``) in the +**Viewport**. Toggle the view again to see the entire model again. + +.. image:: type-local-view.png + +.. note:: + + Only **Construction Types** where the geometry is exactly the same for all + occurrences will specify geometry. When the geometry varies based on the + occurrence (such as a wall, which varies based on the wall length), the + **Construction Type** will typically have no geometry. Viewing materials ----------------- TODO + +Taking simple measurements +-------------------------- + +TODO diff --git a/src/blenderbim/docs/users/introduction_to_bim.rst b/src/blenderbim/docs/users/introduction_to_bim.rst index 0b5e6fa0a6..36955d1b60 100644 --- a/src/blenderbim/docs/users/introduction_to_bim.rst +++ b/src/blenderbim/docs/users/introduction_to_bim.rst @@ -15,7 +15,7 @@ described are: These objects may have lots of data and relationships. Examples of data might be classification systems, physical materials, associated documents, simulation results, and construction types. The data may be relevant to multiple -disciplines, such a architecture, engineering, and construction. +disciplines, such as architecture, engineering, and construction. .. note:: diff --git a/src/blenderbim/docs/users/outliner-types.png b/src/blenderbim/docs/users/outliner-types.png new file mode 100644 index 0000000000000000000000000000000000000000..fe951c0dfee54ed4f3d906ea668204df6968d910 GIT binary patch literal 50089 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 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/type-local-view.png b/src/blenderbim/docs/users/type-local-view.png new file mode 100644 index 0000000000000000000000000000000000000000..e4482795677bcca872b1ab80a2c4976f8f40c012 GIT binary patch literal 202879 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

    0dx5mhx#FW&rMCa5$TXW? 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%0DJF!rJFL-NA_?ulToznR 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 z z7=vyZN*}2jq#Pr+gW^twH)-xY`(p8eV&JNPoA-cANyo7G&-D7treU+$r#KQP&T^|M z;9m(rEGEj@_-m*HjwDv>?8Q$D6wLu)M3@4~XhdX)n(y@rFs&d=*4z+qn!lO>cC|HH z!uEEBNjZW)?!X^^5Z$sbznX5L-46APgTOYs;hBu>5QW31hHlKZDl{mszWAkRL-_{~ zw`2CzvU3;?JU#45S{PyyC9Q1rgs#DZT2AR|uLhDhf zAE=nAX11W+zt*ZDnKRq)>C?QrN}lVak!mPSWWzl?Nd&D#7ocIkhtmi3g+jz-(zs;w z;A(Ul?+g$B4+7tnN48i{CjM0UC%kVT@zp1S7~+Be(KHicka*pnDMaIbAqhs9Fzx{~ zW8_1bX%?1Qo~pVr9P3K@K*_(F$u0fpx@P`;v@67dqnBRFD{;4$dsQYim)(pAB_*Yg z1LA(}Cht25Cyuh0@mJVQtn)M5DSHd;d0-3oFf!5)r}E!r?scDb*A)W>zlLv}gl*9d zX{Y~kK0aw{{H4Bp+*vv{=+Etdq;l(mT<7(9qhB+(L+lx>@{i_I+kfLy3qFGfTMtl) zmi}Sm_Lw^MyQ@&^&vpC&lsJIdh$AHEu5c$gwB#Y zG2#z-10G-S0ATtL*JSih34GCJeZa1}NX3~pHPht1aVS5DzX6m+5^B(aP{uSUZ2P7E z93VoE1!A)^boK>v9l4F({vvc-7(uQWSyKAErb6-)kLTh};r-c0Ss{TBrqTUOuPZfb zGCzKfcFz}GOQbl#pPTfUP)r}Iice*V>bsjx`LlL~@zExI9Jm$4W>h~|Hp)n_*|JY7 zd$WRSgQdaFa*C-K-5@ayM+GDA4R#t^T}pP~`+5!!&$+MM z&x)csEA$vCAF$aVW+M^Vd+~yY$js0Kv0dqeERLy2OIh0iULxNCtJa{~dHCeXeb6g` zNUHsD@R7I&`Q-2JH|!{XiN@mk`+=mSXYEnV_V%XG@ZhQ@SVkV>n0YM$?NlV)+te-Dr?%$;V`aT^xJUIVX z%8kK!1hWq#stCI1gp3Sff!PuiIFbS?_bA;lR;^pWce$xEOFN6L<6I#v1Em?xjXZ^{X6lLYBo&lT<*=g_WOc|)wxVKpz9qA%ezG!_W7Tj>V08{WIJs=9aC%@F`Xwc{@k$o_U=|QO>9|CIC(d$eM5aNmqYAoBtHWt@ZUG( z?i^Y>nyIthAzr-ytiOQu*@wnH^CWFZDB!zf#krd%m4+MhhvG*Z+S{TkQs%Xq_LUke zp2|C?8Lahc%g8j1dsfRoAJI8QR$=ppjQM>jQ=>tf6{auElnm1`;#1k+i6%`+r#86g zTklCh&A7X*1N1jE7Cm$3-Q#u*sQ?Iv-{aQ%|UkMBkM+82e?9# zgo0!?LODQt$H$f+6eb@Y@7Z}-S2{MhKoZw5*;R{i1{J{_VEL0^^RjQ8Akr80BDys0 z=QRyi0a*=LFSi%(@`&>4hvkP=WRz{t#HOUn3I zVW|{!K3yk=ivgcnCE`=arwRGH>|SQUhJ%4A&lkK-o?MRwzAvEY{VDAUhL+wVTxd16 z-qQzsj_DVLL(g_JW{0(@*%rJe%Fpi?9y_@6Fzn4;<+{^EGD$a zd)dFaC^BExVy<}R%s~-}l9-$n+J1qx<-oz-dn`q`Z{#$LtS0@P<_|| z_dk{h8o2WK=fd$Oy0T~V!qUC-Y>!|kdjK|A1g0U`v&1h82ECN_7!giCUBB`ZlO_f? zMFf8}!_Wt+`|o)0A@v21_!&xXE?k*R-)>h#35UN;Q1|nzA<^$zv||xH{d+2)2NmS% zh3{bbmArw$5P3q=;j^>&{7emrB$N~=no?KUWH7`o{}AwPhF?RqqOsseIQ^U+=$EV7~>y3aTehRst;D{^+E0 z%@y2Yj5aUNguTIMCVunLD>_)(=!eohP<)*#8{b6tqP2e2esr-dE=z&4Mm0i)A=$@| z$NP)X(Y;Ky>}E4(3ZF0Be0#j7@5?~Jz@IXcm3TRO|KXjX!;NEeilO`}`sgeUF;BCu z=M3`QW^sSRY_BQ4X;?jtU)8{{c7KpKUJr=!EJJCU;^oU)-rx7q#HaK?WfvP8+Y_I< z!D-MID+Z^PxDK#R@+wZcl)yv9ud-4Rym(40D=U&NW3HzHAPOGl15VP~@SXec;iOQ& zZQ^KwdK-|0+#yO>=9L2iy@ylF6w05Noy`J~e+3HG%E_K}|2_@RCc=_O%IO!2=X@Rp zANw+Ll|Di;D7rT8tkQXMjRKy16c_jDnK=dg9las<<&%`$0>=z;^+R6iGSSUY>$U3; zK34M6AcO|KBtS$1U85ADtKi5Ph`m&~i5U5D$QBs;5I`GK;3W9%7X@BdO`M}FH4{{@ z&?Nlw>`nq%1%A|)H}>1eQ}bxo3Cp_%d(d z2HhM}tP;4?$c>;2Kx60s5B;`2cHIozqp{yfmiEiN0R@O+CiV%!Rgs& zw4GiVvZXEVzE<8dH)K3(>0%Z*!Xi%NFUaWeJ7uXpGTRqHi5neJ}KtsHPT;ZW%VI3AIfZMXY9dj8AyO?mG z;sPDUCKIP^acpLK-G+DILx)Spu6|b>DY86f=9Z~TGkhEwnb+)mP;4^?hY5CV zq@VhB(|V%&4FQyiO%O?M!RvPnLo0~|#GHhkq$$=FMWboy*yKHc585SsC19S!DSpQM zH%D4EBrC=JoiUGV&*eC5G!tbG*0phtDrMpxk7${J#<&EIG>fOaH@A>vo z{#je^;l$PvVs@3g{>XqSkW7Lwc13nvts(7?*Qy7xm{rx(3@&QSW^lOKLcxdvAz3;1 z$9GJRX~>On$ciyv)BIuO&Jn|30P$Zu7939umVYd8C~8hMa&+pV^ZZ4M2Uj0D>xA<2 zk8uS}u(ER5-GBG%*R^M6#!@T$*|cnhWvg<&d1a3u59dx|U~_x0G_0B4R%w3lz{XsC zgHz+AkYFrAq?{|lLdmE^G8F_gqTXM>CKN#RqLrc4Xd?m=o(U9{)<5D<{x6NS@o+l{ zY9$6M($1rINxB{+-^YOB9MWulrk~s*W_C}wVL0@?Wx+2r*eW61K_L88nCA3DoL&*S zTRr%n`#td84yN0(9JI5y~XIkFBSHkXS zBQQdLwff`)nj%?C(oJ^Oyw7+O_wuJDZ=1f+jFPt06{)y9leoUGQyXSE`&GZ*dE{97 z^;U47FU94rWlw;otc04}>&ogXp)GpzFWK3ziZV!rIOQBN} zK65&l}FPu4Z2I-fL){2bu`I|@^ zh(&GPhY#x)OW{ri{_1g^AuBcXxP1HeF=BSzu=wsY$2v0az?Vz+)AJNwH8$d+R~biL z@CK;G!-4JtJIhCZ-?!DK#)QbScHj5+;S+-|TSt~6EPH`fa`{SXEUN1#OD&ft6#@~f|JGI{XJ!5b$?G^oZ#LC?&HmlA=oHP21 zcwxJAxd*+J;YK`hne4a6_I-P^FxI}2AY`!MUG_YY*nnZhC`+>6b-5&*?a{iZA;c$O zj3-%Um#xt{o*mkRU;9HfZ(YNWAehp2n)l|27CWgiKDa=x%tx!MB) z1I9Ce6vUBu`}v)g`@xym4p<*hpx|xJ2uv&UlYKneC0J0FBX*Z-YGrVCX$mu;2>_D) z?snrU|MxVW(@H(G@Rxb3C9?PQax!|&N$Y*AL6 z)=Kj7<>N>c;N4O}E7iHOCx9xi+=6l71X7ZVokl7Z z<1_@=F_#41Q(sS?&kvBtp~tyBhieB8%zGq#Mz>u7%$&DD5vwmUnSlkgBSKK($dRX| ze#duDa>6?j#frm8cm;cI()kuH9!A%LK1b)c@Zs`5M`xs`27(`FK6Se1lPgnu<_=dA zXa8w+RW_M`+ss#5B%{?I-lLV0VR~0A+kcVv?1za4`6?xMx7fYg_$=$$g;D(Q;LMrd zzJ{T3t~}rDxHk32$S2=}*5jNs$;@sb5CO;;<(A?}_?XFR58PMcJb6WdJVJ7AIJRs# zp5FEyTi0@cQe;ea8vVk6%EyObUi|9ilbC!vO4o~roZHT2u2%!1!xUb2Qv|$wF6=@O zDq#tu?IuB|q}EBtGQ+x1oW%Y~v}mH40Kf6t%#hl&BAcZnuyC^P0~Sdcvrq5~7mVmG z!8CBIl!Hm#IGmPt{3(IoSW;0@5$n?PkIkbFzsPn>uNnX*)oZJRPaPmwq`l>uX;`wE zm{X@;bW9`|q2*zv!E5Jl>Qi5~N%7y`mT~pf*G1E23iVJLq4mE-5-cKUzX|e-YX7m6 zaG?AAWIdBZ|B5!1w0rO-WuF#HrQ^q`88d$bDatIJ-+uF@==Ke?5s$#^$#xl$Mb*`H zx?gN}O?~vEK6|b(v4doqosh!}`rAt_lvoR+L)!rq$GhPNHY<1d)r#Pstt(((EbkPO zufHF3z}r~*BDM}OzP|P9inr(}2sy>*@@;^w+l)sXgH-MSv?7=kmViF>=C@l%Xefwx zwE3;iNTo(VReGB#vPMai<)erQTD=I&HmyQ$4HOdgCl(cL#aMquRb=&6aK5 zmgcQVk115=*CH}PNnDlXm4--cR7H0ZpUQxkIC(<#=Q>Lu!8LG zw8^Tzy^eADPo=r)&MJZNK*gcMoJTS+CI2PzN2}N{CDa_>rO#IIwU%pjQ>Dd957kldOZ|IQlZLbkC})y zYyTXok~uQZYX9{`Smg|WKXXh^ZySXP>5IPy>^qGQ7`Sa7XTh}Zjhzo5wsgQ0S3F@i`TuGU(^SXP`p-=U z(`sQS1_E2GS3AOfnj`pJqeD6FI4<-KC zWT^#~BHBW+Xaj-4A@I8T0*Uxh?ioler- z+_%L&cJuOX_w`TCZcU}lE4A^Cp7CgF`cNQr@$y9R>Z%$3he{uRT`V-nwbwOwrev6JyW3lw14+H&i?K*RN|+ynik6!a3+whO3*8cXQS zh)9NCF5YkDo!qvZ)_%M|w3$n2YEP6zI;FsVIpYh_ar<&#&-$n9pLF~^eZ!=%Yvu30 zm6oO1TZdWP1gK)4Jo)yW(dKLgf4HV;o`#%Dp2faP0a2NO*4_*rH8zJ; zON7^E}|&T4!FJRjguCB32fhzTJy!(Q%OMTD;32% zF5YnqzF{locH^bedLETVKh4iWalMX>)6E4gJ$(_MDQ>>iw>)guawPfo?Tq*CQe4AT z3-!fX3-|tRkMEJu!L_k%@4stjJEExFd<~8}o{BT}^m;q(E9#%Z?60$6w(3~Y!<^UA zZOUoVo6yeT7QxRz2)PEsEABP7TEhC{gSWr8!D=wUit5xI-wKnd?N=?E?by$f_i<(TnN%Ed7lUR~r(1G_C1<;=xuQ@DVHQO}wyW z&bj{M;oS<8XxMt)LnY*1h|gqVSxd@n?>biy~!r<&}c{ zpEXZU$C<8AwNrQYYOA5;D}76MTASnBxQqGIyLXkD0FpDXMSVT9m*Ufc;As5Y*XNU4 z7Fl;2wQBb2xi`(mnI8OkH<>bJI;!)zMbOCyE!W;dX5@IdeEAydPAyH%8YDsda=nK! zH~_D7-(()9E>m!6$oA%6MnVDwpxSwxKH!cfV);*Kks?i(dBLWztK$~g`}^SbCg!l( z3-t~%ZSNXIiX=)L2CmqKTJIrDiDLTpgpn7NDO19HrFhV8C%^AV*U7956n%FeM#t+k zhmSC+g8b0}c$f^2Xg{YLM4kfE!~l#@ozQdREd}w61pQB^ux=+?j_!ETP0#2;O zyK=y?nU}O)0BI;G2)|e&I>>Ml#Mqspq8q^stH!0-k#HU)^o&V>B=6DP6Bq*r(gTE6 zTwy}O!st?!!6(DQhS0jPgKSA&*V!0&T|O)Le_Vjn-D7`!(;U<0-_BfW{=>~5#J_Tn z{S#-1v)5Ag1-V>U&gHtY+)8;Ao*>h7B`;8O`*j7`6QNae4?-h$P&9aI8kq*1et7xm zw!|P6vt7BW{K5H?9t^y48G1cDRciM)rw`}tX%gFJ{HtiI52jlz2>;%aa2`G90ePjT z(HJncL2xN_3#>QUc;QxtuA?yCqI=xsP?bW);d0tLiS^e7uorpA&wx4b>bqvH9mF@GNJgny3<-P+Phiv;kxfp5Z^%$lRfy#IbU#E!%HY5en_a^F0+3PJw>mFL7MOtiH0~mmtwN z@O%ZD`>Q>R2S{-+x9nc}Y=w)a;8%RZdK>o1m8%*FVxMjpupRj+tB2P15!=k-%fbtS z3f3A-+0wtmUmf`jSlfP^QeOoXP+qw1BZP~ z`$Up^o%;zEJ%Q%=x2*dgw%jk1%a>0(!fnIkAm!}Mur@2d#vaytMQrPn3&w;K(J!;O zcjrKY_70O=f$c#m61;`$s4`kC3554x$I;Ee;_#^uNd)PMX3uU?{vWssvhyZzu_(NW zL&UGv7aQS|A55w%;+nT2vx&sWn_)Ixgh$^!%%2#b@45w&$Yj6_Y@qyQd9Cat*dc7S z&AN-O5!XFzPebq?^MHBr9)t;pp*mKV4PR;i6y#hRBv2Vl=D8sBA=C@PR3SWewA~*+ zi}JFBY?bqnf~ku);zGEmBOsw(P7O8u~ zcj@Z8QTI%|+T)Vn=C(L{n@RkoIIW+-EXI@4bo20tRTtWiPZwsP^@Uq;d2pjg+ z`T{slDlxC<{(6i;0YiI`*|@!yug!O1q=g=cSjUo- zauOm%D2%9VRc0Zwv|;skv8EmbBzWb{3~5@GPmDOY3T`?QNK$9f32(2romrd|a=L)4y7mS_GzN#5(ygvD7eUAQM zYMb?nz~Jb61E0#gk=Pood4HN||DYQidAA+fH7CRUYTuN;?M(MssV#2z zQ`e4wPcvmTD#&rNQLy`r-=wh+lh~ZWVZG-P#P(X{!c)2A@ymKDK$nQKVq8df_eBZ2 znaOPj*IO2JKC$wKf7>0bjfzDe|{5iBUia2i5gftR`du zYx?49u52n+S33aa`yD7QmNY(O>g>Y;M@@}^b|d!#D0xg)mzRjJlS~O%P;kk4JYjl` zZAO8O*j8|Y(3m}C^`RX&?f?EughdoZOaFeEGOBT=#<^t`c7bmFvA4BP1eQYiD}Zba z>lqe4@r3y8N8TicQu&RCZeg88ePtwsf4g|kMjy+6xp!3$mybHfWzc^3dTO9t!!5#} zOFi`cgPk5<9eWKvj&)eQy%5$B@r9z*F>%5xeD;^oGz+`4V8|=wLvp+oWGcbv!7WU$&e)BKZGU*rQ&o{Z z5eK6|wZx#ui}$sz4mnA$RLYw@Kd@Q9@*D3(Cb1q1qjV*G+k@6Ld|@q?4*na`<%bKZ zA6o|2Bq_w1{v~Z4U!T%-H_VZsF;|DY^@RB0$-&D3eQx_foQJIV0CC)X-9x0fMBWhe zN^*a+`y^rf(O)#Dc_OOJQkUBuK|ci^RzjP#wvkaVFr!7LV$L91o%BurBLd6z{vQ#T zbPIsNFG)lbcXWz!V4#@I13(D>JH8K$6%e-8A3Su3{2|#>fv)@iPZf^-#qxzycD00* zFoGT;wFsdSfw;Ht$L(c_B=k94`QS-ynm@$Za5XRI&yd7mi<-W3u(>rnY zxf9Owj(j6NZ>uZnJo!0)IrOrRF8S#n=ec^+b8Y$Pi`}DS?}T|$8(pp|uf_&9&C?00)4`{A^G#54gjUZ>P(M5ylcD$6KTh@eDo|tVKa93g7K|zy&8mo z=-%%D%HszG1TQF{D8j#`K{9mNfJY1)rz^G8F%4{L(z&3!n_>~;nP>x260NiCCx-;) zkgGOPeLvlON1hJn9j0Tn(XsJv_mIJuU8*P`&vSfar2=+#CK-9zy^q??E0y;ju>J_-sB zvGb~h(%h-&k36S3{wDAoSa@4R570-hxraM;f)>_Q_cHNQDy!z}9}d{eerXKOXBNAs z4RrNI>xks1Y3D$-)=y)$Zninnzl~*6XsLN>xbA-XwAdM)Qq{7Y2b^WRphO~~|tOpW=2#GEIu80UHv zRt$lIgYRhL6m%g&x8+wJuEOm&B!ztzc;b|OqWNX2;^n3r2r1Qam`3XH<^27;d-gEE zTEY_(KoHY6y zQ>NFI=TgqL2s=ISsE=*koM2{}`71^{=}rq(bmJO#t$r1^I(nXe8zoB)d0q6lOV!71 zT&(`06_bFN;zvKNvj?*=Ec`XBg}nrU!aSR*0R(vyybho1k*(`<22(9F-@MDV+;%o!iqjwTe$Wb0Y{sPK>ZKuOCU9{`BS47C z0OE+0N}T3ilRcEP;htlCW%97wCp{IB4wBKk3!G#C+Eu`FzgY-``77(u=nsQ0J6%q_ zv46ah)&&Y%eSz&u3W9CaryWpBF6u3fX|9s9lD`0$b1IJ5#^^DP3 zm9dc^^LjsveNr#32hm+T^uafNF8xHUCX?9HnCvblsaty)E|-LA|ItwFo*N@XiY-hI zjtg2!cO`RY>vt~QHQ>;zXcrautp2o_diRZFe#83udMpVv6>4n?M0K!^TC0Es26e2a zAF>RVZdqW%1NC-4gpcbN4GOy&djrjjbYEZHMqUeM_D(w2MAh82n05Rvq()bQb}J!2|M6TbwxWY*y3p8i!C>vxc9hU|!}7hwc|U6zGP zfXis$dnVT`kv+WjMNAo?FqR{!j$J?c#?rxnty`lAPV0%qk-eKSh5p5CjAt|HF z5*8h7alIyE(|11^zTG<8V12Q3INzFYLdjE7aHb?y`Pf3RZi(~`!Qh7dJ$g--DH*Bv zYuD-nFV~^wYFwqZ<#{<_pYQDL|F#owBh7jI^-xFK{y)Or1Dfl;4l)VW>Rzk9}SCJjELjAAz{afch&iOy*e$IKGyYTh- zyvOTxy{=*Fc6#|c<3GOu%>Xb^HUQn2E2cu9b0p&8Ej{c;bT@&|Rgc@MQY}e<4@LOU zM81YcMTR2Z7ahu0cDJSJ2B3kY5?Q6t?{zKOCYum4?}M-y+tIHZ!R*nG_&Qp2`O+nk z(9Q$?p5|$V{}o_R3k8B16pxV#9zA|c0Wxa!vpbMuP~C>y&8@q|yb)0Q0yUgm5IaHe zr%D#DkxA_Q{5*vRN-!2OcqP;qQ0`CK48MnuJkZi=P~bYO6(Qb8FZ(M7_2k+D8F*X; zafzV+zhIz0gyCv6-HC1wq6UE8h*FRy3+G>cgd=XUj&yq=ill$s z7MZ^&;=I5p2C?J_Fa=PR$e6Tjx!#gxnXa8Ro{xqkcirJ6lJnDlm-Zp(7EB79B9YOT zhkyLoixDdnTvE`bg9^SCmH%74G7g9xs=?CwSThahArgCnmMO!f_-5-t%yXfB7=qZc zM9*R#eZ~4dx5eH6vy=mWNT?j8zQGX|Eve&h^T1xpQ^sTvb1o9Z@)63{EdiD50aPQR z@Hw&^v2H}I2Pu0I^HcVAScB{0nKPVQsjc|xvdESG*|&1z=PBA~g@SX8hMo6?4PDE3 z&(F-p<$If)h_n+cwR$QMv03x!ywsro_$|Jly3`NSN3S3Jsq4p|rtq=qpMr0c`|coK z;qchr;hP@UJKQ-NtwcLsGcqs$3tl@aJJ+};#Kt|wccYBOb^}%3gI{mveqNDP-Ocpl zMVgN5-ayHj`_KZoLb!qQn&wdP#L>4p`G>e>6`nx?4C!KrB!`$SANcOYe--I}l9dWO zGFi;_K@tJ`-vfwZ0vs-S6u44y(wawE)*a&KzrGkXobQcEDYH}=tZ~uBE<0szkZjM{ zhRLgz)@De=fLvuygI@9_^Sa!BntDh<$tWGri6KZ}OIWp)&(YF1qDDy61W3WDS+Kn$ zGMVFWTx!Rtt?c8}!o;VkiOY0}>q@`;{MzNomVZ2cvdJHR{jx+Gu9&v|s<2_SzsD@E za3-v0edAkDll6IwI!sfmC#}|KR@^;B=X02CscuOBPj+}4%pekTuei9l={Fno`<#Cx z|G1t)cgOa$0$@Oo{|mAkJb zf@h@=j{rDwE)Im{J>{+q&X{9h#YzE{kw~)No(3}<9}Va!xo@!5S@4L78VQ=uJwW_+ z>{d9#d5t>b3n|)jHeKm#RtVdhOXZRCPFkNUd2UyOv(3}g!1l z32GQGg3C;lMC{`Bw6Jm@c-acwWCa+rC}Y5rJqx)V;uP0`riQWrBtn3-cy0v#!#Q1v ziTwS*Kw7*fEzvNH+@Db7Q_*F_^A&(`hgn62+lu|da-;jgv6j}>0o*|J`J-TNz&qz1 zl)wUhQo;c5jhM@|au0BRVMgVqf9h?-nJd>)9Cq=oE=oDuM-_9V4xhM6_shpacgr`) z0T+)K57XUuKQzh79s5<4J^bvQ1CSGBYVD6nm}vZc+9I9j#P1l45ES%x{&bYmotEEz zV0mMM6T4;MkMIKC_f4O})~_ksC{UnZJwbBDt|JVSC_}HM%Yi^aY%A;!qlQT<8aoKN zK8mWN%Bj^uA3)G1A&7*{=7^|juv4KjCALY~^N>{u=u4XZ{f7&bkk`PWMLeN607cYK zzmSG}KnX#!|@-$s;BL}^(DS5dj^sxrNe(cH#Iv#GS-+uMdi=t0E?38T}X zdHGQb?z!pO8rN{fg!VLd*W{zjfx@@UCz;<=dVWGT%OEf>vX}jj0yC%CuK`Iv?{T0-@fnDV7m@Z#YnN4W9__)f49NsaMd1CQQauxJ zgJar9LX-v>KD^}j&%-EpK{+F0EugU&`maOt04f8FJEBFcJ#!su_do5&We7dvjlGxA z#uKUVjT=0Kfdhzf5cDh@ee%l6+rHTYNXJNnNM~^MffylcftbrJK!^xf35rCWK=1#1 zSm7zWCC3by&Tw+#d4A>l2Pi`qZNI*}Z)+?}%|)lLU}SzfJ+e>V;Q5S47_XvygPnJY z+uHf--Rv&rrXD(Kb6sCosNTP%{>{#~_r>W_y-!)R*&W3ErFYBAwZvPE?|4L+JMuSj zQL)mrP--bI)znQxYOb!n;e05|Orpi|N^PU$`7nh-_9b5m44t4)ekv3#^}MxOwu*u6 z7>;f6LtY;!f~z+`8033`)r>F8bBQ(=t~eA1BHyeg}lijls#oVDndrq-)Q{Q!BJYPeY0;_`PM!^1MMET05q2_oao&)9twWyt zL7W@^AEO5dc6Djn)?430%$OktL@*oj^QBOqRCW(N8^#g&{n6#8n-42`Itl8l$Hs^Ab6pkdrW7?)sS;xc%IsV9_4(RAe>Iu7<93`b2$1Pzw}ob{*zYnqkKJnGpzlgL}9&Ttd(%1VDh?69?%-}6K@Sdtr;$% zy%DWfY%fTB4u$lsravvXau5k<4*mM>*fB8nyb~3k4qh(%vjh5{$we+UNR0rw^Bm{A zVPbO3trjK(L=Qt$!-T7jPNh!D0+%tt(6MFT4_IMvK(0)zPs4UTm9DX!d)?$Lz_{;+ zAcou)#;nJq=t!pl@E)oMivNZR+Cq)M-CJ5T40M@%`5`7Jvm=0l=qYXFx!!IyPrAdX z5z4ETcVm`vE>Yp<;_9&-7j-T&Hic`=GWKY-EkE=z5mo8Y%NMe$Wm{jmQcUYj z8OUR!d^ZqQL``1nhEwSddj}Qw#^vnZZ^Zd}+KaPvy~Q7&gjOygp^#J;36A3iTX&Qy zTr;%ub+G)#`inD{nr z3|05My8o=s-m|?s^oBxPUzs?cK3esQx?^e4@!d_2ie&MN+)sl)K4-Y@s%7)M=v`*# zU4_=OK^mI2D5fA$*!Oc06fc7D=ilxD3$0_MI(W}cum5HX5})N1LpQaXG4!|aWgIxw zQg^Lo`Q7VwQ+?IWq&AI&CVdztkxl`VrkRRur#Ufa0Cpi`)y;~QSPpF~sc_)JcUF}NB_gH8E{gv#QRsa=(S*S{a+bXaXaL-~ zrm;~D12An}iP+!%k)PMk(EJ~zt89WnqTglr@+X{hZmboz78kflHk1R4ezZ$Q=VNWyo{*yo|BDO2+XMiH zcv}K8+(2=>u)k6H3}-B%;>L(O#6v3kb}~kZSHY+`ltcLwPyJmb4nrdOt^^vp6?K3$;B zo!V_lo=!~9?xWUQ;Tnsx8*b%y!5~ae_|H4YAyH^x$WH8Oa5Pny>XbO=I;xP#{~+bV zF^XN>(0I|Q?cK-v{`T%p>D~H~XDIX;x2Ct(@h}P382>MU?LE4b$L~G!cvJVD=2I)! zN&gjg6$nRXf@b^yfXVi8y3XU;pODTK6#vmLa$qM46ADJaiD zZP4DWkIGVIcmFQts5Obw7gJOovTG09zl1)0)}Hfbnz!$6l=|Y+MJ@H=8=a@)>?E1( zJan?AtOOSJoZqd_fg0Eg_9Li|VfKUZFPVo{IRQUd=(0S~p`>o-alnf}1s-Qif6?E& zw>@KPM)Qc5&iaNw4fJPs+gfl@KHYQ6^wE$Xm!d7mm}_|>XJ3S_Qu=gKdi1RhpFl|s z&Nwk*0Oxui`lq}&eG7G+Rd27(m()~FUzVsv%Pg<)3e=>ZiOMUg)YiRrt@!7i!u2-; z4vcCZu@G8|ZAi}*DQ$B0^q~^9uX-Ra@=9apleX3?_FNJg|HA+5nidL@ox5;{;?zGB ztG6GgE=#rV4l<#$;slP8{WBFaG{c`?UJQO9Mijp4!rD||+H*lSr};)?irNZ;jD*IL zYlk7vV59$`&u9~SHD%s`jJXq^UZY89@+EBogn8~)iu5hsbp7b!_GJHgVr+7K?mo0_ zwNmfeM>oDNms}oEo-7=ykalX+eQq^k`ZTj`b#@>POY3&}RcwKxR55#VRFgaYdPPoPY-{y}4c!bKS=U2;WhW(7 z9bQ?($@C@LMEPZ6qThpa1d+G~3`gND>hoHo^%U?;DVV3^-M`-eyYu0uEKD@?(Jcsd z$l)phlD1Zp!})Uk`jEY`67NH9+WJMm&W&_6hUtjRBQiG z`Euaw_Wof`csn$;_3X#zD=NN{8Xls<7FVnO`GE*Ok!{rmiqEJyh(?anr)?4qEvl&h z0RB1~D?Onn1EcyspHaPo7s1;=rWw{7tyk-e%nI2C(T7JY~IezaJ%K{fv6ai%Wa`tUTTX?;&47ZQp!jo9q+Ki!a8Q)n_H~lAc;Aq|O9Z zF@j)-PD)P-7VW_I*vuqELI*EXpa1IX5dF4Q7G~aInJw?{&*rF|9<2D~$E03$L+sE| z=k4ctEQHeC?23Ed{+szegVlNae0{p}zb2CTJeY`j9t#QYQju2sF|;bXdgbaLYQ)^!hGL$GU8p#X}?Xr#{W+|*Cg#gf$r@l zv#2vKBm3mX|IUU`x)x-MS?`!v&gFd^zPjkT$@bbFcD|L9A(i1RtH+x<%kmYZMo*BN}L9p3Tp@1xz9^+G*LM^81BuuVRMruJ4dSjy|(|*%$ zG2{al`0~6s*)9>0%P~mY7si z9N)@Fy?^K!tB5H(&+BPRQR=T!PLWRgX!RHZH;dNO*N7^~GJg%5GiVu@I?Ya((J9}@ z-e{GvmcR4S2RNXdc`o^3WKJZdp-F&nkzf!}BT&qA=v6~3%Rvd^* zEgQ~l&&k~O%-@3Z>Yv+>j*K%iMlgWOv!z(4d_U{8TcR%>%6olsxng#H(W^Z2z=uob zrdCm(lHM+`gk}2B9tAaa;dL1_{REi+i|tg zB*zZu*xfP9oV!P-e#vq`m2y6{<~nq&rAD%)>1wCRFg6yp@Zy=V3 zbae5;kyuWyq51)p3{eg|bfq7JkHX=iD4PFy9Y>q*Y85{m$2~DUS~7b~s1rc8P|!e+ zONGIgP{ikLyTzE`;c)A>?%A{J4i$b6eKx6p)xvpAq&Or^u9!Rh89KHTwU;&W5WS|Y<$)XeC6@DKiz(KU%n^_C83SkR5aSP42#Zf|%~G=T%YYD&;HKiEC7fx;$+|CwGOKe!&{#DfF1vXmfU5LFA~Xj8U{N*VgK=Y0X0ml zd`2fDI7+D{lnqYr$Z?Mm0OqLe;}NCJH*^1lQ2fyqHF%qO<#^HQ_<;LvbiIPsAKp-G z+>MXTopCx>6}YQVx@E@9ahCI2TDM6Fo?|`7)pNI?no%j4yVR|S2bc!FkJ*;MuPrccP>&p+gtHGc%4&5a(Du-JZ& zw>M5778FcXb<%(h47}BegBZRw5EJ7$>x8CnX`x@JbA&Kwy5l^hcpyK5@jo5;?QUNn zFtqHVUo1oAM%2NFwXMVbPAs1go>(Bfj#_k78Snlivy@}8piPOEU90Z^+-!U%RBWlG7RBjyweoM^Ecg%-x?4;|w zV?S&qToTGHw2f1-%~%^Ui2D@-aBT6a`$3aD`XgJMN@tr1YtRi1PSLZQcg`PTglq#A zF_ne}vUFb;Wv?urxT0(h!mFU};)yTw{R)yH)!jF9%kj^oeZ|lW)(;^ksNFgqMdnM? zay03v6}^Ut>$JMEqz~9RgCI@5>2rWR-{3~h?F?9yAU1u()+9a#AgVJlGjjpuslRL{ zfxD9MPO%@_$7O&U*4;V{^qYvWGUfZr;VR&DT_;Mb4{)>=@B|1i9|CAta+BNk17L3b z=3!W{6N|Y7yqIS&ux1v}@_<(ZRwdw^tyrdVK$NT@74Ls?`PvNsF|P9rL^_JUZGa)k zg!4lH0I-*TP-!^R)eiSy0=**|n^@}*sF~t9j2pm{It_{*nsbuYK!<9bih_2}DfY6z z^XW3mJAB270T|AZpe5EHadD2?mJOl51DV>QaUb-)ct`b!XL@zo=?=rFvuNyqeyosP zv0_hlK+oT{7Wr>`U%aTzxG`_HEr)}y_M!L12VIBD_tw5}-&sH7{b#q6*C-oOu9;;g zZN;<)Pr#dp;jAi4F0?R3Lmusy!k;Ub6vXGi8`?+bcHu^>0V0J{h2JCyHb<3zftvb} zf_FQ^<79U<#Et;-XOM!>4`I~@Lf0<%3X>_&HJ^nT!Xp7FE9i4z4RS)64Z}P*O@N~J zpvjbJr{?q4=XAna4`_k|Opr;i8!$XDx)0!Z|0?cV+e+keYVolJ5KsSqfLX0aDLsJo zkbxN#iCU$uCkcjwr+f0Z+w5Pt`Py@? zjp?0N%yT&^)8|v<-e_k0X^q$PZfi^LylG)!o|`(E-WD&(boKz?HEESX%k2!?8A25o zdSfE`_6!_rxP5$)hjQs1A`L3=PH&i;YF}|I(IZDZ41VDwv^=VOH`2EL>sPhX`BY15 zjElN9@_<0B4O)gMD8RMB?!WhGT>9}cOv!L&uo5ogzu-uurmA|@*f=q;P5$?VXaopE z!{7nm^W)UcR5k{=&9BIdH@>oIe0<9qNEx?E?04m^qcMGMjv{1%1lY0Ua2}!`T@I6 ztHfEPZ@Iw%8!cm`GU|4bABG&&5aqr|IY{70VMP?=3Zm@c=DL2d$2@eJ2gGlM?+LGj zShxnH=E>EU*mWq#csZvN!smqHV#g80U9zCY9(^ zdZ2yT)?eo+N0AGE2&<8r!=lRg--VC!#R`ijbmwhsH|V|aOy|6JqEC8}N9EGSeOoi1 zD-D$l`6X??@#f2%jli=ikdNG&X#pU^we`z25zK;wbp9K{kWZ4}|OluK07L*jzEETAia|816U0|hK(PuTcfZd+X+f zxU284eW&>jCML4p#7p?Z#k&?hYHDiUA#;4F){$WWYY5_i1$hw1aWQWOIbPWK8+F>acUmW#G^7HpLv)@V0=5!A#&dVw}?4%s4t;vuc4h%e(SnTrJ?yh)3aaYrL ze(rRws?|>JnuC-MN|aB#%FDUvn>V+bNsmiNv69I(uf zkaV#R&acNH`%aV0&O}|gXGyit%{$>}Hs%fg*;2qO{G*bcHMrVh`RLvaBlg8%opI`h z7e5yt{j#rVXw$EOhIM%Y0kBgKCe*iNb=LbI;CXj)zC}IEJzy#3g^DkzH$o8aV$uR5 zPJLWi3x=1Odac~k6W8g(ei>H#IDX+On-`Z*pm~JF2nOy*aFPT~ee^anGxKc4p1+T9 z4`d>v9Aj3($)bSD;pOw^9+w4(9IZi|waKh%(x#vqUrGI7@rAlrn`z_UeAN z7SrxG3~9~2A{60{N(aM@Z%8o4XJkAgCNLz4xOFI+RbSGlSxNjMN~fI42;k` z?6|jI%tZR97)CetzmGEqWMY(#yeVbe_tcxbh$}tjo;iKkVc>Q&efjcbsyvW^f%TZj zHixYl#@g^QZC;=e-`PPNgAiW;MtSA&pt9K~>ECucpy#%45k(*k$+d!0DwB*sXO7u| zH3j)plPT$=R(O2|kvv6dU8*`Gx#V$>8$?w@!#l|gQ_*j$gN_mnU^Hb4Y|(8$2}&C3 zpPa@0+|Ij5l9=t1IHEPc#px>KR-2-H@LIg^U1UT$8nZH@1;l-O=iXg{qzU=F;ef& z^3p37mUb-6i+iQJO`2mPl~p!kyo>v88yR@*fmcLu{)M>4YPh}i#?P#PATkFF&zdRz zCbL(4s1728gUR+Ic~3+rgC`Y+t;rZr2_C?OgTHuh1;fHbpr~1ZfcYadTuqldd9Yfh9)cpGq!D1@>3D05~8&viPOU^^3SFzgWy@ny1LL=2i zB_0$!{qyI~jm4-xZX+V!^*OCyax(aRD=J8C)s|_w#Pq_3x$WoML+SGM46^B>=>{yR zn&wkml`O~Hlemg?AFk#KC-LmsC>Q6{ow=-BEB`$^dpbY6;px=is(s#jow1pzTfdmA zW|*HTs$P3at@ZIb+kkV7e948^njZphZdGz0iB^m`3sbc0Q^J@xVPLQfBhZ;;SF9N! zyRnvYh7|csc8s$k{~#0k@shjg)VJVgD&cp?IV*E z2sf2hI#3VDLna8^6Bcy$P*X@Kbs7w#^fB+r^$USf~hHuibcnuK8!nno&I4A52A?|GI%lP1vCx z5J^6RXAWyw-`$$d37FYNf?9ZYrE4#=YwQM96(0m@+xVP0f_V=FWF;1U8=9%1I%sW5 z+rRHDRl%`<2+-=hH@q+OO@8wxOz@mk{H`zbyY)E_s7+inx4+{QGqNMZFmv*dlC|aV zZ+qKf!v_tl6+;&fUUn?Ikk{0}xqTj-W{V9cb&Y0KY;L=38EFqo82l6*rn`BnTlCNg zkMj~~^eOGWB95C|J?WdAAKOGzN87b&FZ|;_c+hb&x4r19K~cico8~W=K$*be+jVuO zni%Gi%{qEU)5}{rDY}<|p`?L=+03hpw!bq7vETpK@9~=!(@eh7R(1Bipxeh@jCVEFaGfd7`Wd#b%f!SW{#)oCC6mBo z3NI4njZAtSl5Fp~#FxB?Fxu&r&v`%n{rew6D#Aw?Xfhwk_S>kYYJWHy70f6p!~gT3 zlGrHsr%#_I+%OnHJ64N}r+uHrkr4Uqw3}*cm*e;S`~B+llNfa=sX^bfM_4{Tt5Cbl zH z=@+=p`}&a-4WEZEqv>qwgaIx;gIj=;@wo6skFt zWi?Vcb3^C#p$&B!em*#j~{u@tv5(UmhRiT*V-r{ z^=7>xKaD2Bs4-f|XZG76dk6L6(NZ5(!9b=5MluPo93oyCo<0#L@1rYXz?T2YiPFbAAoW zH1+V%Y!80py~?Iq7WHeLkMuXE(jeO8J16Zs+_b}L+*Xm%pFd% zvR{YlG$n;0pfWVj>XlGzWW&L!M(xQ(tHD2cIXxP025f5cIyN?M$oQIaKy=?zE{ncp z2hQX#QLi6&s?E=Zcj_vSZ%v3;+Nx>3FdS9zj#@)JRh#!$q0+~6##E|}BWt;Oi}|nc z@I7JVntPK{&vC%Vg5xQ*Zy%R!{eK_WSG(=3PaV^hmUYarx6CLM#J<$)iV)OdqU^4)U@U9VNd6JID4dXAQ2-Gxzj_FUWjvsBLAE_48#3 zsJu}$q+VG0z;mdJnQAt*hwa}M_7i8QBIU|g=jZcs0;I2mZKz=%(KIqjWP8&KKJ)q}N3yt2?@{LkpZvE-E~ z>aD*ZB`CzP-X)O+Pa|R~mGuTVn*48`4Fw_%56OB+Lj3P!&d^j#)8v#}v#_6R0-wL3 zWlV_p)4J9`9f82dEi#UmPnPQbIJ2N(G?o!3pcCkS_rtm=|Lnw)Q2jx-lUu6%?0E|+ z%SXRnDK@XVcS$jeCMre5WlpjC)CQUCBaAdnk7P~DUbnq9jNrC*60azn-XJaC597rO!`#{X6=L z&D?Kl%46c*M;XT#(jB>ENbgg{wsT;^LF+PEi7{cdGCuv*9SxH&h7pxpwr?}#de;&0 zKC`(3puZVN(ddvN$fa`vx$iP1p`+Fde!Tn?XN7A>SlGF1m}1)578mtJjMYV?G)xE- z?Ek7A(^Sz?6Vo`7ecDEL!Xt;h{-VZR=AmMN@a9XlK^wYvC^_hasL7~KTnuoY+a z%N`KDp3ySx-jt9Ell(_vu5}OPO9FiLDg#Yftlv~FJf${ieqnE)$k9hnJY=&vu(IUY zr#4xc$C^VY;1?J{Bgr@UHELfaYK!Ck>eV{*g+TKCQ{F30AUCE^omUFrCPJ>Q0hKzEO8Tj+Saoov|wRuYIe{$@4V*!Y+=vXMCl(?Y>hPU_8!+ToM-c6*&39&NjfwoPTVfb$0!1i*{QO@ zcJSiQt&2HRmdZcL#={af#1e0OO_q4oMIVl!9F7Az^iBb?3H1e)@nRY6#>-&DIVnLPEq?}>d zC#GKi9miS~!ku^BFI_@DkJ&LMiZ0fn@66Rh*2Qan7auf8JG+QeY2nF84Q@W-q4Oq< z4{JO`NPTZbboZ3+=LK&iOCDQSpAi0n*z(PcvYGLG_+Uys#s&hfbXFBcULE-z`8BEw zLY)iwcih9cKKh^66k4LW?l?<#_0)z-*;|uD%$LkH%IC#Y%RG&_7mL$!OhV{+L@OJx z87BrYt<5lau)-w<;`d&%W8taAHZ{L;_tqG&}BX~I8(r=Qa_WJ#_xRN5vjikk}rY)-HHQ9eH3d0$?bZ9n@~0Oym_&JrAGvk?`6nHgxLz8@vB ztnGVKn?KjwQvPF6-1qN8&hWdlo7{qeRZi`_*f(_U`+RVMDf0)moh!#3JLXi6yJ!|A z_f7HKIde9%(?mLN1jF{zCf`qR1T)fZLdPe3938&2uWUlzz33-TWKgF9B13KNdMd8x zhI-89nDgeh8>eqhx{OBKJ>UnOm4rZ%tf>ewyMrL%QA8eT=n2IxBlMyJv3 zy(}pBcKaM^V+3}+kol8j8is%Q{dcpn2}}g+4H{sN4+eB(ZuMEOO+t6R*W^s1k6O7p z*!S{$7#|YUGj+wM2XdN~t^*S*xSD1!*@v$vUC2!ra$jAtm&|Yb^BnA^q3RRGeWW)A zqmXB<=f@o(>p^LhSYkbv;^KL>QR^n6DQ$J-+U>}r|MV%etfTE~Eimw~!#UGukZ_|9Bt_(qr-o-6q4oE!nK98!d<$Z94mNNxsd@K7G4ji>%iLr$uUjE`crY5KAEM`%}8 zaq+`RITl~La;4$VMu^Yh2q(8yK+g9%I7N-aM0qEy2wbiTg2LF$Ib^Fth!=6nt*9rQ zq&{wQ|Ft1WDduK=GG-c2fIB{~%(GzGL~s{y4#fzm9fOWxLSY1;3CX%AdWnLL>7s%A zyI77I$p>uu1u8Pgw6yrq23SFOkNXbHrR2J>z;Kwv#S%uAj<8y#8_DIk>N-;isEoW| zYcTKg-keTa_+T3cO-~ORmG-|Y_-4x=wzc)546v>Ibev9&|wT~pZ_ zv<7(carq#$k-OHO9Aid?@sHX28!Rf91Ohh*DFxg$lrpyz(S4yqtMYwIPRuBOQ>ae0 z`<@uLvT#F=w{7edQI-R<`&C4a(D^>FTWw`)a^6XQnlHR_GP*P9r@Vu=4Zr9IrIHD7 zQw*&S(5ei)w!YJKELFT)=#|{`ZatIF&ptr5xCFm{)BHLZ^4!~d?*2F6sD&uvA;BT( z#GuSUArP?US~-3C$76M*N`rX+%&MT4RZ~UfJ$^?Nm&B9}6fYjP#v_5;rwXjZK++5c zNsqWOz8o7o+PeCy8nl~Fu$5>48HvOI0wU(Z{A)kkL$xbcKH;T?2Feb2uOSy=a`Ck7 zPnCHcBtbi4h0K>&j~Z*=;t-W0NSINT!nC2c)D(*~3iZ_n>PAAOAVRIyPxqx%o*jl5WTVvetAJ5^|C)yL* zqg7=+iZ7McWl!F$is=Pv8;tk=#zzDdtwe@`UmGDZWe%6zq?YL8JBnGH( zIMRHgah>~8#h#naW@N#%Ryu#4nrJ5pTzE2OWaqyVieWJ9 z2|}bb;7A6jmd~rIs(!U*cyJhmD@@V`FviS1K!+sX>#zc%^g2tzzeox>MJc3%9`B0>5H8=0=Vv{9Lj^j<8^xAuN9LCa*v? zkxx@Pmv!xSxc&J}=w`%V2vMRnrQycf--m~1;d~m6F_Icg&D%>CM7pjaCws3+j2$xq z-tCK*zdkJ`#=Am_%^Z8k)|!PEZD&>K($m`lM-;(xc&0Lpj^k!71cw`2gP}moGQjF1 zraTC-b6qU%OH4~kYaW>ha(VLTr^rlJ0^j;>)t;~6DI#)Q^u>=<eSTlD+OMuW9NRxW}nw1EXm!q4e@hW2V~k=4q7BVsb^<{;-%kK%GnjGOHt z&;Z@Ft3NdZ{=OJ@W_Ws0nkTxb!|0alq74;`f(x z?_i@Xm}W+(t0*rDpzlM;iXr?g)SoqHhc;WAj*N^jZl*k<*nG$XbBY6ee4I=)LI?)r za9=Wjra(RE;sAaIYB?LA2C6t@kv#QZBr8U7M9l@W5(E6mg_-;w`&~(9P*ufYuB!#F zp3g$n>=g)a(T2-aHMCTF$m6e1S6nH_#p^7 zR*(x>RnVP)Eu*O8!+w2AsG)jhRK=0tW>S@42%vsL2cOYJa42Wri!D7+Jz{+BH3zz$5oDZv04rSRfcSGbUJ)lh`!gbtU2cRp(A-nL+Oq&@o zmefE>uY(%CAST1vqxIj5f`ro=&>c@nAMrB9@y}cx4tRL}r?d1wpbb+`nG|daIrYEdCU9brCBUzDnWnlX`$Ny5q2pDid6TKEofL$lmw3{iaVc zLu@AyhKbJHEgq;CFNpq|YJJfsu34?xW!- zCf&pU3%b2#EII^Cod2H?ty_9Z${h&%jv^xt|GE}#_!G4ysCwWrcGRF8Mdk>Y_S`JA z>s7F$&-2EBW_ts_I*uM$=PUc2eP+6J>^zQL;(JpPeXTC*i(SvPnk}aS<;|F{)=mX| z_p4QiKPH>*DSz)av(u%E?_`)uJ(F(MPYEzyIwnNtWt`95tbs zkso*!U5*A-;mDe_XM8A&s$>h|p@=`T2QKDss@ZTXItB|n-22Ec9>S0; zx6i!HeeDXn9BqX@#7+3CPvp6Qt|tKt$Bd|u=j3|MtP{~T&y2MpR*RA?gw4P;_hnUZ*3Mn&&@ytiewbJ3MHc|1ru!Xab-A*TLnF(`y(;eTMxBX8%>_9q{WC$0A6k^>@|AJD1u> zYJkCnQv(qG>y*w3G0U>G-;Vb3jxGIlk> z+Wf%5gX{ZAmhwF+4rFBoTDlJHBFsFZ0=L15k2F2(ogWZykKo~nQIKjLb(TyvwcMFz zVZ?Za$bVE?civ&QwIz9i?Ya)Tp+~%qK`Fk=1ALPW+&$wsVL#*llKoEZHWcs+FV|}J z1(WO(#OTx^l(n94p_0tVDGQcN5DavikZeT8gdtH;{Bk$_0tZvxq}_B7kur%JO&j|h z@p>wn`g&1rYQHFHm9w)g{`ehB)qd&eKhoM;t|d5`Kfhv}`;WH%T#D!Lu^Pb>d?ycm z@|ZFBvwII$*_Kv@+s#Q12C&+l_0s-~V>1 zv%D>7JSX~)wt^FVxt}!rQ8W0}06d7_nV5G*ZdfkAT0p7e%is4vi4Tp6s`FU4VPa%~ z{03z>HO_~cgd5X8l(jCry3kqq<4(u@46Bwcojz&fD4ftXV)QUVV%c%b{TPn2yn&~7 ze%-xrT5iPorHwDxdA~Shy(FG%4lz6On#V7Gh}bdt^YgLB?^qCob7k+ML&|_Sx8q<4 zG#PJONXn6E@zJuy@qbPc9sz}CdT{8{#xn#cM8-Lv@D(N zW~r8bw<4$Ard^18BU0#qBe0{eo^(JZzGpV^u$vzYHrmqlEdSkSR1&=h!es2-zfS+1 z24l&u?tuP4V0k1Rc;sBaXRK`+8NRUQZxSw+hoX<8(Y3YNDXrN_w(|Sn+hN{KO}$^% zUApuGl))h^e|=;{gAq|U5?iNy_fPZ7N(ZFW^!;heF93);DI7-xwnIVULC_4&ChS?O z32Hcm-w}5NVLU-1hpf1Zo zm1IhVL*(EAPwt&X3=vgu;%xBajje%q#>D!AlQS%PZb$bt$ol&<@xS!@IMR?a93H49 z#B4k7-sS&0S7J0rZo{Iy+=~0Zw1V^6GA#M+l&$5y=89(Zt%s!S4$8_`98I+szt>rj zIr%WU@1l&eIHR`G(+0t|LtH(|pS>E&b)@o_el^OfU~WhB?SvCT3|5!c+y&~mczJov z+}357HS+*SA+86+ju1JoP&{>2KKR%`Up-7;Fh6!y8%ZNv0 zYuJ-?aww2QcXTp%=?JwF)C%{h9@@Ko^S8B2R%2j}oxZa+-#&*NseH#6WG3Nan^{>S z2nH5>HXJZfGj&bqfTpCSg|0CPaWLfUK!NutE-sF#-tBjj+@yRC%Q;ep%;5oa4o(02 zJN+*UUy4GpnwmHI%b?bCz6+g;{Jm$#zRlw4E;@F#RtA^`?7OZF9#}eSwcJbQ`TI%* z@CP6kae&egF2U&^|E+aXW&de(D#D5+5;D6?2jvK6zRN(~a8bR|ZE)><=R`Uh5Vos= z_cQ{v`8Jprm>QA06FvSWeV3cUir0Y&d>i(~g&jWUv=JrY6toK7Sw969MKV7sIXttIzW=d-H+t?YBRCqZv zLtw{04ubB>yQ$|6H{`sUa{gBmG8dI5=EO7gDtG+D&Py-%g~*56HV@pU;P)@b1ym{0 zezgJx^jTfqnB8mcpkPgA%3r#KCXl!^5PQWAc)Q|$8`@d6v=J4?LiXpnx*?oZNia-- z$(S!n!J&C)LSaGiC>$bBOl5f_PmegOynBV{cS6EdcAsU0`-oqq;Y4?#I&;6c6s`WH zOQ=pv9Q*J6XW4=+Pke8&9O1o9s>6>st=)hvlJgS|$3n1pH~}LE61BC8^)-wm4Pm~R z7r$f(CdQV*1CE3_V$3+-f4f&^pFfc&pp*BuI``fa zr0i;e87_bGbHko5k+)wMYv)zP{kqA1Ve`>>G=bzif?(PHx(?XMa0eQ}IXw`rb9(?a z)J1>V0RNP}wJ8Twh|ws#2q&@Iu3Z<8Eo2&lDcAWodWu{gxb3ew{n$ZTJK}ST-U=>2 z1kK{yzWHT|5_pQJtcLFIy4??2P|mK8V11I6q77eU$TV}N=gA*|HI&agO0;`~1B6@g zael9J0Ma+T;VVHwasdD0MP?aR(x6-h5^*tFGz1InO95p($_U2RJ}Y_t{q56wOGwWEJ) zwQzKKe%S6A>})9GBUomegI_>J_tKM>=KMDWL^J1Kl(P7jFE^Uxk6rwkw$R?OVEsD1 zFKSBe(xt9sT3g4x_M|Zcl@f6(k*rjxSdZ$hja^PoPah#6cd*xU>a-E9{%UJ#`9!1Q z$i(M&XehUDrUblU|NCm7Do1d2+s#9V4kf{2uP*DB%yw1jx1fvTf6Be9`@zNbFf=Ys z8Gyw0&H60&ch_H7{44$AN?jIC-j|33#y9*e7ZGE>v=0-E;A%iYAEp<(-s$VMTlBsG zLbg9kn(a5MN%RMp0~F%%Pqy@g2esSvv}Nzy(XfsyME+}EG;2zeY0IH-UYc{%tjC+C zq=hxx?NHe<_>s9R%~-tTt5{`?xZp}dAmznuIijbS1Ly-Pi3@V3R-g*sU92K=EoH22XlCO30nl@j0<60x~4802}!6n;J0LPO&#&4t5|wjyJ? zeYu-5Rr=jIAr5~N&gh%ve$Q?TY;Ux{PF+|*l(~K7cuS^?^p9gd9y#1eZGKTyRCHi{ zx8@afg;s>Brna2YIepAp(keULVq9h|!4eneeINyruA0(y8y@c(MW0V~hV z0QTk`)bXm?+8yzx+0Ex>Q9oLN;s48P&+7Ba@wd9g;h0<>yWK5{v!EivB=$TUXR_zg zaB5(49l-`AO)*dcV*d=>&D`G2KdWMWr z@)L(M&ox;cV4F`mt940eYx7vcXo`qV_!EuP!i1t^$>j0KA`7~39|6s|N>hcR98IMk)el^1P8k4Dtr+9oO7YE#@GU=lnzjk;~1?0 zvBep0V?HSQ_`U(TmbxBoFKf~kz4-Fpabe+aP5dTI3M|F(uS1qT56ygQ;Cyx4Mj>dA zwP3}OUn^_JFJ~r-Joz|46*9xkq(Yg0?ei0*PxqehcAbmrGs5wQ-lclDCP|i~a)#@x z0Ijmgkqaz-N{)YR$b2>)X+8zD_|vFiUXD>aA3j=52$ zS(pSelJq?gqnoddAjaDe_ygg{^9c2qaF64ax+k|TOG z%Ph=p$uC}Pez@_zfv`*2ZYL_quQ#Y@S@fSgeVWheWSV>yNHwYmXBnCtQzJtu#x0sA zPVOOt=>K8GZW;*(pobRk{inD1F}!*aF?N7?WJjFe`L4p}IRgBXcG3Gk&CSg@AzZrv zE>~u^Ze3)f{Ftk7;Q|un6=%PT-VN&)4XD*?w?iQb=wWG1#dP<||KbAtANl2ckiN-642O!z zg|OFr{50c6{uN!i?2QZ3Z4}IZm7iBKnW~6p4t_kxrE!-p?|+@?@j1YRoB^9OR6A(xA!l{x~prgsHVFM$Lmk_W?^^w31K4O%>-52x#WC+Yek0BcEOV0 zCwm*6Amze)Vd~_AE*I%T{03AnWnJV` z5t+SMqiN?a_|V-y$ob2&AVUTX!SzXJy=eY!wF=NlX%h&%_KF@f7Y!3G1IZ7gw+>Sk z)IJXTIq|Of+E$e7%k>&Jq+F(`OvBp*xZVM+))Hu&5}pbwADI(EfqBDb^=awv{YWUf z`z>gHv#yWmuNox`wNuD5ZigjVRqHB_%3Icc-Xy zcMD?CNQb0!hjfYv(v5U0-GYFCqV9WqYpp-~*!#~s=KPLtD!lLWjB&?xo!5%)C?98j z-s@Jf|5IhY>4VAC9sq=@f6YP_H3u&;gR$PFbHvivQ$5Y0x}@CaH+ntP=SzuM?#G?? z43?u|tIIRdWs?l{H+z}Q*2)nb=rqWpr9r6>{UYO)r6COm-nWq@+d@5O>&X1-_JO%i zd$yaNJr^Acc|96TB7R=j-#xh_yS~@|^Gizd{LTUr_G~K1_aFSZm>XNM7V5DAv#_0> z{+5Vs(dW|eA;+6d+JiCxS?e@46Ck1$;9GQ8E|vlv(QRB71Z)uzYiF@_vi{(fUa423ceDai9$Vcsp#aFc4F@eqOAEGLn=69 ziAN<9a0{?-@iPh}S?sRJkRKP5hqCz+Vn2QHIZ1YQPQm$(KBX7m_L@?-mPIg^)MYd5 zN`G&A@?o0=ecY1^#~D7p6HLTG44H=(3#Y+PsjrQWl8z>xPgRt0fhtI(xUM47a`jLc z3$U}2WCkNPHeS#bLGJ=ff&b`PTN7dscz||zusk`1J|%XO73p5)o}9t%%Q_>Gevwse zt`DEX@<5K-&-SB80X;LuPj5Kw(Rkk2{c+9i2cW|u=xNQ)ThhBw*A~~J(&lF={!p}& zQ!BByEwn)DbMyW+D<%7Ss}WmAZ;{VsF+^WWJ{N=ficWR})67UVm7m{lmOC`2^;?iw zuxUGpKqQ-AuX`l0W3jq9fouCi1@%(cSE%~S@bz)Mp_4|l6p$J0LIZ$uRX~OUt`C?8 z2SQ?D3dAv+@%aBIw+i@l2D~Eja~PvY4>i zpP5y89tGSuigITcJVQ=KC+*rks+_;ljU^tG)-a`M?o!YYl9|k=x&$JFP$}EYng*fH zYt2A$OZsCASN|I-fiP&mpogpj^@L8P1rc1-U}1j=_9tG?A1424I%N)Uu*oe*aj!(X zF%VnUPy=YuSHdeI$f^&LQe{=<`1&g0R}tHKxFn?*9bcegPUEtp>!=}Vxj>p3VV}Rm zLaEDwS&*vvq%qrCc9ES_Y&cC!({^^j!Qu(gEG9 zln^Y%UBBT;OM>8!3#ZH(9RYGj0_xQ6=6V&p`y5s9Uir20{P7Zbgi~KyPdZ$=aqh(Q-pqzO2*p3>J73Xo*=d>oPI2<%$nY^^Wjek66Bg@#y@FrQ z5TV5ZV0B9@s-^I7Uc>&j6e91SE{;6Vm6Z*O5sN~vvLaFm8vOU1P~zH38YTa7RJxRQ z>*+MCJZ1Y!ve`!Tn5xc**G!amidzPgvQrANn6R_?W$rA3O$#&?<>iT*)?rea z@V-u;d`b8@eGQ)ZC!lvg!x>@j?v`6Cdb9ige0e!Tur%WI5NG=2H(+paEr&J%JDo zkj`D9`oyXEIELs6Jm@>Oh}GzMcm3YwmTbED%1d~h=cKj91dOMLxOf$Rt&E)f= z0?Nr8$&Uq*=B)6vJmZM{TY%qI8CBcn!#mW19uD{o+;?1Z`|Yi*2wQZs zHihd;AS@UDz5LNU-mVi8B5QL!XR9i+Pk$fTFWhh+!^K=Y=K*Muq(3k=d%OxSstN3F ziyqcRp#>#WK^dFEzzU7MCJ8@vMh*EVTS;*w8|5)&5InroHkN>18luIh`|eIOBHfd= ztY64P<1ZOlw_o<5kv?Be0C$HnN3vrS%+_-v7guy}o((D{R;3v=h zl=2r*KO>W2y4s&Uc;cF)itR?}TA<2t;4C@s^dnfmexRC%U!uw^vc#6$9}Gz3vj+J} zv+%Jite>gzh3U*&*!A2p?Z$kBkvNPAJyuiP!5o&r!N!Ij>?DG(B~CBo<>kBj`{R^B zzn>uqoqV(m1E9>S$$rA^=yAvHW(#lM$!7l_H_5n5Qo&S;M9p?QVXnh;k2SlhZag0C zD#yr?q@0a=m2sP*O?8ycB|?2mAgMrAfD$)`V3QbbEwdDn*=+pTgwE$2V;X<%kp8Aq z7bE}NA_x(1Zd5X%n2-bOJyB*+F%zpmEEgp%C#%?11*frwFOT&be3+0g5g3tlB7W%H zu)qDHq5CW>)>AolZon_V24*+#G?!&7>J^O5kj%~~e6Jz(++G_y`BRJaTk$oei>_^4Rg;M2j8A}jopBR+hP`LXfohq+7F z=3{@3sS7tL*_FY1GH^{8-wt=yC{k*>7oF&`e&>OSgO{DbdUlAf|;7)!gnRl zoG^!k%lxYXhrgt;VA}}`IVS2$6>i&lzrRDSN>*7}By2Y=x8z;)8(>fjLf2d5Xk7yq zptC*Y@q&&SqH%&LbHN$Au=IiD8mQrnK*<6wIN&v3p9tfxnO5}l6oSge6q;@10xc($ zH|akUM~&XgclVhDYeds4ribf46iXJ+<%nr$3O->xQ`$?Om=R%Hu!LQgBUh3U`C2Zr z;Q9#X&nutliW1Ioq(=DGuR@v9~d*}BG&eDZa&dp#=stl(U=XoeQ`tauOv$OFv z%1O9-Y?PgR8bYwWSq%S2+XvkXQWnBb z|3sG*d0ZzdEw945znmWZ{?mXngE1utF#^yY9#+KAPoMe&A9#AP9W7oUhrw`|9X<%r z{=2_z5UKi+*ET;AZ$Qu33scN6LvplHf)`&!L!&kI?*TL52$-+eN~{ooJ)8p`#j6fn z!j~lvS00d9ZnCX%yUv$#U|nzx*nXv75NsE}be*GCGtJ6GcaV&1nI(;8gtMK_gn}=x zG`l3OF#NK^NxmNeTc>gJ#+mWcQRPQ=@BZ{FR0QEC%8*+mvNe7$7IdHLIlIHvZ?FGb z=~C(7sFvnv93%0=xoW!iuk@1(^tbrJ8pAM7%(>(;UpVh-B+pk1eoBdy7Di7i>4N(HbE(ar$I_%g7apQy4XLlL`h8B5c6`g+{qvb`GA zOZlnT(doYv)sn%4O>Js;x?k(@PJxoW^v}hD7N5c(eVYVDDSs=XYG5_HM zl6boIh0|BY1QXLP^=&QjZW}M$wV&Hq8op=gHZ&&)_-y#ddruOv9esXQq%uCc4g1;O zb!ZWa1PxF|%!c(3z;g(0XP|d^K){9v)Y!u zG|1h8VWQs|w8P?;$91zBP7Kh1zW;KaWo-p)N!N5Bv_hmMNl9CzYNNg)<);Jy zIXSg3Z7Z1E4N?)ZAv(FGC5%Yu{?5vo>m~Vdi8*^nc@}E#{Tf6O%+K6l{^kfHyQzWF z$4x$Ncy~U5HrqB=7S;(6IZ>KI3WxO#5Qe}EHm!i|-f{Egt&hntAP2oI+zZjH1;n6^ zg`v)wG98X$QBbp?dR2jF5%4ukq#=`+cyWX5cweMMmoFiYh6|Zm=&J|Kb$tgP6AcaK zxYj!padsZ=lD6)V>eN1SbP4w}y-!zgHE$?rtRZmZrKyEZPC%Pjis8}s&*dEO*|V(c zx8PH?IfwIgEyR<07D&B2e?pW}R4Se}_h8iRCQIqogOCs2(XUG;ClVaCL|h1 zB%|%wD-*9idOkgys_wJ>e5+)o^dIPi>FA34J1y-OCaPVZHFGMBURD~tPD-qJUoA_= z;f=`C=h7J!k1GR^-rM{4^n7(@C5%XykW2z3b#32|)Zr$;zxg3T!u{&N6sz*;3|YcC zAlI(Kl~FmJX_*LXGYY}TQb&+ApkzsSucNK71gG_EZ8<@A0HS#j{B+n}0%fK90?W`J z90z&ogwK{YD*mG?U;`A|R2S~EQb_azqaNtzZXg^qj6f+G=Fra9PaI@LC4H+ViAMn9@W#$pXvB%)F%pwv&S3rbpRh-`hc7nG7D)Ozsp6OoV*JtAt}RLH7h7OYPBCL`h+a=t^SQk{sAG}1^?6Nl@j4)TS9-p&yY&|4q@1D=rLqenC_(|B?#@PGICKc`b7Yh8X1VidvV$1zZR~3Wx@(iMI04CEIJltp> z52`ygU0qA_iooLie_w{^B8jjCM=LnKgh^0}TSLa$CW&bmXU{_Qw4E_*h2aaj1?qGt zLu)~+Y5S~P0g_e2!D0>OmO4;xPj3arnU=w-|BV$P2$LcD`ZCPAm27QoYaTwx*gOUy z*P9$mr1}GIEqtpUo5eM-rxKkKkm#ODe<%2q{X%Un9cY2vih=PlbM7PERpm!mH3Q;9 z1RM|ODK&7nkBAGjW%xG8aaWIcf6s7gw%I506_oazwsh|1QwlL*^4L5LV~YZ%j8miz zFWuCE7o@XKSw-VXgf^yqlZUnQc49^wsqbPVy1 zGz6wOurh4VI=O%6`f8n8hrOmI$X9z)MBbti$Nd{;_#A~G=cfVrYdFc zx&)O7*+2lr6GG50uUrul?J-iD0L^p=b1ewMk3qy>fB97a9ym_GN}d4l+g;$aOs?NU z*?J&Ey$*?+C`Ab363{CQ>O3UChB@VDK1EP(0;@y$OBWUB=%KP485?6V*o>0rG6ZA@ z(x@VX5}NYF=g2}b43&VL38^GMaP$C!w>xYQLP#K!5QL2|z=3H~)SVyTc><^^ z)O?_up(PE0mH?tX;h$W^^Mk+gh#+l>wmrurWEgda|Dc5JX`ZH*G}_VVPi#2EFy z)9K|tX^p0T-Y;p*bR_cYx2q)Wv|6XO<`0foYDxMYwOtk~^-3Lw5K*Q!$)GHYvI1RS z<0lN2G@+#WpZc$f1k&)`Rve}yC*b3atG=s&7u;RBS{_9gqx7JqZvM-@s}#TA-ewVu zdlL;TpRe!aHXerXJ zvn%C*SJPU1F;s%i%>+C;poRHwIc#AyU{@oOPh2abO%fJ2@(eOq49UR?1bZKlFvF*+ zPo_u8E?j@*Qh+UDOHEVO#ND`r{73a z$!6{B4g(t$6>L*@b6VQknE=MQqobu|=JgM-O+yxZK`&_V{Pga?a+DQ_{&xFDvxHDd zf>g{Co>`;{3C_3$vp1kccftnx1nBl%|IEMlEf(hO{QI}c;oe6he&d|XjT;!;ayC+; zE11JfQtQIXvBSb_w=%tHA36Pd#cGAc^3&lx??dp%zWAKOuyILhV1~Ns$=C z3Z^K59xp+}oeP+~JW#~I_IMY>48tQMtw0y(02Q~YW-J;qK}-T_;^0Uo7qFv7a&DCO zd+SZs4+yY`v>eWX?ghDjCZXp*@gXR;3cdrh$MyzuMtXI19E6!BaxoTnSvJIEjep7i zuQ>+TP}GxK7F+=5umQ#V!T0&=2IK3~HUI4#;g7ROY=^;UA7MUN`Z6}_>xg(k`3UPk z-+@(nD4!q-1GIW5&IWu^P)8#DH>{A6{yQ;;8zlGOHVQE$2cJ*;35|Y3Ttr!3UT0+# zY%<+FzBme}K;#GSm&{S8;RL4wyByIvo8>#*`@ zs@!MC3xolpBiA%8jtX8BI4gD3H97ZpknnXNhiai@eiT6%CDElW%7CgXqfts%DQOky zh+}p~h4O?~z8y2u%>9|@iF^I%Qi_Wc-9>3@2CF~Bi#UEP{e;6ERAxGM5fl%oPBthG z34Tfl)jWP7_6WPi#DOEt#VS(cv33BH1$J&s(DBid&}-9fJZc-^g{&6kmcI%kTx0i@ zm2$7vOxto%fBsgQUwe^pBJo~B#lQo)lPR{ERrgui@X=SvTV6)IIyQ8^;_2iyj^AjC zS>$@9nhMCJ%|j#!f&l40*n(WGD7^FhueZ7w($b(x48(Pd;7j=iYSmoO zKtLoZ4Ol_x9nf5rgPI%~U1=#P9JnXW0B{bG*I{yqyl=pl$ZadW zE@H0CIAC&z%)o^Reh@=YGomcE72Y~1R=Mie=#Y&7`gf4mBk?RO*>}p#OihuU2nt9! z77W%`7(@eTaj+K~UKk}9h`jw#MUI-Dnx@Fje&`-?$SYP>?lUbC<6Sl=N z=}B2aO_-}Mt#+_t(RY^Od2Go2V(~0hv2hOSN322td_)&2>8ZC$w!%v}R4w_OLnP;n zBn3L}Gf78v#hFlUm|7Lh7!i!s6EeJ&n!ii=?AJL57AbK%$0B^!itO6k3>5=!AF;>c zEH&_(Ob)SiXanx$yitZl-(K8E${L>Nd-yM{W#yA-L?xhay@f zPrWumZiYO)S9r&YYMaVEe+{cRRF%l4ui#dQ>uW-)b$_eSt+#P4`P^VyIDEtUSZOMR%DQ3IlUDCs^R_RM*u>E z;@RI2RjweKByd&;{K^H_Ka>c>7ti&s4&NdGqS9GGsH=J<)1Z$7BwNfn+$OA#dxW*x zzJKAyWemAJuiky_8-rWmu=ScCuk!L@->9Rh#J$ilYAwqGt&5`#xMMGfH1A&Z3{$tg zZjvCZmwd_l|Fi%GnPNPHRWbxMf;}%D%F_1SjHJ-m9cAr{%p*Mhik-4Wo$}#f=*;OE zu7G~e&qlEe1aHGKKCLJ}Jf>sQvU4Hiro+D1vgSP z`|aI3hbagKx{ST&|HdpYMJ_vh!QfWBPY+XMW}h(7#{NW6ck+#?W})n+j>B)c?`>3qnHO}yIh={%W%uA!b_P27Xz>}%i$dxHaG+^@d9`z z@eziuwzgK1+%4d9GXgC^-wcZF>N@PFlcsOWAd@lPPeK2(^XZYV(Gy8P)~b0Hi_B_i zU-^6s>iiWWdGDKd({u}*rq)jT^Cm_FJ%2F3ybUZ)>Ssx3__#m9r4KC~s%>E)2NV3= zr;W%)ZB~D|P$Y3pUUAsM%4z{bR^b%*V}Z%rjasJ@3LWI2^Ut9c<*s+GpA9h1;1_YZ zQzu;V;nq72?9psmS)8HLnXNHz1zMHDD~IwjIzkbmyvj~&afX`>IijAnS7TrMD_zMO zQP%x?aEtBhD8mm1KMvojiIA7{?R~$Fn~0j7 z;=8a{vXki=T!cI$VD z4(o;rp$^oleZN3}5Asuf&WgQpTkBl*$s@JM8aPEyPftlL!(pQabTMu?#uuTw2D>iu zPl4~~-H$_C7aD-T_4X=&?xwd*$H(U`v^%$^pTQZ60#hM(1Xf%+V4C|+V=BRd5m&`X zy&*RY3j*JHR6>F*sPh24$rC#XLsh8r;oD_;tGL^EZpy2;WFod|`k&g2jHL;RPL>~A9c*XO^y@};Glc1nKAw-J*Mxl)=2 zJ#Cy+E0RoFc3sC2Dwm79BovBALCCZ7S(mTle4NL3>}#X85vf$Pxyl#c7C6q8vP8=# zUX)-kd9wbNGXD6t1=Zr@eS!Pp*{nrTkW7GsVeS5Q-Lmk7h<2CI2r#bR>iK^<@ zrwSW)^Vr;#?_6FUq5P&|ESh>uIYjV!X5bx49C<$ zPQGxjC)#a-M^bFu6>d($yU`$|hV6kf%*==gaG>A>A2PC{!aSl6%qd10B293AoB6i? ze8@gIvBi-wl-Ff|qd=3T5-gcD?2)bWX8K+CH~!hgiY#@zKFSgT!qIGj27YM`Z+@P1 zVS#2nTv0maWsjeHO7_}1#BE-=qH*ihVPo?b7%#37DajD8^({&d(aJ}4NzsYqMUY@- zjL7halg21aOg5L6r4qDg+7~ZXoN%S2a)qlcM|*s~8n2l%D4@QAFUgjDp3R)JVg2pw z%u%^Xe6wGx2>+vg7Y8f#_3$tUt9zTUGFY;_xe`ig&en7$^T%(ed7)v!37vs|HLmLW zUIZSF|F{^wmVYrk_1VYqa;k(aKq$?be4u53fd7e_-J9Wc8-Bv5QtCrrJ{hBLHlf1I zcgaGw!6goN5RCo_{xZ@{$VRoo5!neEKE&di5Fa85sXmqoc-6yLH1Mj^e)%s`d0No- zp!&rgqX6NA4_fZR)-)21N)o3eV&$z$9;b(X$>J1cku>LZ-cV_30(0OT)>-FdsJtO% zz7x$>oFmN?Y2h;1^SEPH5G3*E9lURVG9f;RVb0&Ir%>d(axos?erVv8d~$cyLWh-k zB>W3dn!(~imQ!@$ghYCC-{jdPNx5^@G$UNgTTDW71^y!6F>eJrK7D&b$9jcO*7pxv zvv9(b6uDYl6WN`;hjTlf&NIV19qjBT8#s04;?=a#wCuHnL6gyZ{lCQdZ_xJO5cPec z71N2{JI{b2;hA9@^-00j#M#&OQew{?TRC-0rUyX9h08Q=CgW`gvnT7ky$+7ER#T^| z{5VHbOOhDAHg%--;Qw|nTg5O7(yYt8HbJk_Z8iDV2MOQK=woB)#?~GWXliEXU=I>^tn{&4p4Thx9Q)UH)OwEkF)5x0ou{9IR?n-^ zdOD`(k?@t-d^mi%=QJhrxj%~WX?l*O**jC~CG8>m1+l6ydQHtfi~b-wN4Y4I74J7S zIl&J@Gq?(=npCLO>$FaFWG|?don91JQ(-X)v$u|sjTCNYOXXL#`jBL7&S|LClTsun zSiuK3QGfCkuJ`^~Uj|6kW76 z&W{x(kv&IEI59}@A*y%fkhrFs%UcY$EkcNXpn1qDL1pA??fiXQ!3hIfmG_o>SVI0% z(IZ=N&x8f5Zm$Zsp0s+kuDc{!YEHf0JO4+=>+~X*uAy4fS?*QR@3Tair{Wci$DgA~ z-rQV!t8um(o@+v?*$dIw$(_W*NrIpD42PqiabbErV0Z)b@{^%(pH?WK^=G`wf9V(U zMye%m{WDoMab;F-zskC8J1d>>)Fw;$oBWtNlAd;1%DXC5Y1&&4*p%P3+tgd9rqWu@ z5=|C!#GEksso7|*T)QOwCW?@gv#kXZar^)u-9Z)y&S`4IvdA?cs-O*gg%i{QGUM{MADua`Q~+qdBQO2!qa+UmcBzFbN7w zzZyf}T`%>zNIln@uj}hDf6~4erBKs-g@3{BQhb#BbyM5TyEAv*&DQyKzewdi?^lb7 z)xNZ|Y@v?*n{tEr?@DIDRqxGS$DdjMb9RfJjWbQ??d>JU59Ytpw|X9yb>K;B*HO2f zSYrc#SpCeicek&9v798@`9~LSE=aA^$r*O!UFsC#Cts(D8=-kkx#T7L%|H?Pj&EUf zT~`Que4pWkc939I@u;R!UoED1U?`GStJB8X1Q2 zHpy?V*7OKA4Q@>`T3{BE(>Q|q%ECPEnTk9d@qe}E|I&`!`^$*T1Hl-Llk<6mIGuu3 zvWUt^bz7+ds|XGaKIz>jjgRa@&hVukN_zVE_`K1-#kWsrZM~frdb{4N7uRoV-?v)r za`q;R$Iz=yn<`95TWQClrB>YUk#tEyjR0R>=HQ;f)Zj6WtCu?YsNMP5KZLRk1s)2k zz5jNQ^O|>3U+ANmhMjyGzZfAPFxKjoSTI)ndd`J>w7NM`<9QWJoVS%gV@I%#snMZ( zpvB6A!I9^Aa;5pkleJ^+yzvaaZk1eV+`}_UwrF$tm&Efeq<=5!2mU4b?kDl1@~k9|H$&JrNXW>j zz|9gkxn9jhJpF256;uP?Dlar|5WrX^{@!z+kl)2cMN1%_Etd`=q_VsZNuCJ_2_B7e zq^z~|4O^XOwCyn3VgBsupTF_ka(OKyLp#EfDQ!|2D6wRcQ%AuPrqxqC(Ym%%K57(e zRY%`ZV)1XM{;}b*CZ9<*Sw%q04qAKdVvxlW#6 zDAY}>NMFD*vXQDsrzzQ-O|jI?rt2>eRuu74p{$G3Eoo+fNmTB&34GamT|A0<2hMFL zBEGQW2O{wAx5^Hj;P#%vQ; z@j`TxB~GgT=b*zM71m`~ScBsAvsC?{t*0jmu5_F~vvNo5)%N8ex_lgeCL&xmzGMgD zBHOUBBFTGI=epu1F0?o?xDiX1-ZIq14CS?nXw(k3|NC3$od&Pt>bj;= zTyY{lK2)DEdXW1l(&CHj8%(D8kxT#kujV2tO3vz^yGKdm9&N7Z!S8wV!m)!owr2C0 zd2%17f$cdfpGV)Uc}Tt%yhy#5-2L0jby6mg&hY2hbPOAOrxR=3cn+r~=Cc&&7Y}tw zXBYYuMu4lWM6UeqB|Gn{4J-qJ!4|xa!m%nTa-~}0m)$w^DlXQNGQXQ;Rf9R&j{6Mwq zOX6%^g=>(4B;#}hYh)6(rz8n>Q~IKG?%be71mQ*{%QrWNF=et zN;BMpK#7U>#6@p$N7#I+7)|oMgz5_lu*!z=iklC8e^-{0>(4hfh7MCbR$^Y|d$-E! z!(2`p*c4VRuRW{m?rddHF3uDYDt?Jrw>+4Pf|-~&P5#Q4q}T%8<- zt$us&uWXJ=I_{E{D`B1E@BZ3ezEI1-98M)2v%eJ9_fXh_)I(#j7`t;r=Nl2 z>gunb<`3up@=3LvdTvUes~p1)o}zw&epQ*vYTwSVL*LZY3#mQsQj46;!5Luei`JrZ zQ=6`jhj;kyJS6DA$P}#K4Ks{=N0DrqW|k&|gI$!=Of`JsW`^Xs?dxKNV@;dMUXnLAb5HkhW63JEF7JCcImU8*Sl6; zk9DWyj~8HYds2Irc{)N=G{n#O$pbOQV#V@>HHXi zOO}S0WYOHUDk|*pcqD@Z{jjv-;PqJGP2#d)lQ2Jv?1~{-QqNDI^Pe+al+$MdQN%>@o)L zvnxCs=VEvxb(*L`rRsoKKUwcun6RAHc*Rx-wnsorkB(P-3j_DJFwlmUXs=Grcmk|_ zPhhKRVqyZWJc?m11ZRR_33$LD3=u5GGEoxHTp=A0G*s>199qez8Dx!st)>9rsiGnd zkRX}8V~5fB@$NTZ4F!T3``h7D7_ZrBH{IsvC&KeXN_#+e^}Z8Lf7qeZ`MczdGKQ^0D2`so<^oiHV7#Gv=nIRbTmZ$>^)GY|v4`@<}|uOwX#dM@Uuo z@Kud{OtP4&liY(PQb`9>0sW`ghfu>LkI*;_d5nmqNlD>@_ndV+HO$Gn!{bthhq<26 zo0dlPT6I{k53louk9}Aw9(^v{J@(ULlf~!yV^UJ5^sQhovLSDP`9{iQNzRS+cg~Ng zc3yj|wCq!#(Wo9NFys*;M;z*}L_#TjcrhT*NhVxH))z-qPQq$MY`K%oFRJCnq-4-i zmWI=yvRda`k{N$r26oy7s5v8Z^ zjA7&X`VwFr4ZuQjpec}|7JP)7X2843yt#IDzV{4CbGqz(sAR#0pM)?yhnPr3Q|K{5<2Fs)I9 z#|Y7Kz=AUS-3JjwoOZv8!PdA97=VZX5Bp5Sw}+K2YV2Su1FJaLOXgNm(Ef4-eLeCZ z0zd+m^SbpetS}&}PhKY05wh?8UKEGJv_CdcQaE#-2 z?{HUw-ObgS3hJ-#F7BNoPjSwVBM?fUE#jl+e_R=4VZb?2xdnjxz8M#^!GZ}EqSKN4 zH^XKF5S}Y_pb|x19ykJFCu#Qe(@V~cv!Edc=Lt8Q!YF3}NK3OTu1DL`9RTw11IyY} zB`#P@V7jJ?@k1#hF#iD|0Bj4rzu`arwC;kw*-O`ieGSPuKQ@2}7!Lj?E66i2N{f00N?R{c8jRs1HhFDTLeITR$z&K75vi-5G#QaJWx0T zA3y&dY+ZK4pP#;Fl#c`c)%j1LWb6djx=oIRvmiCAEwS!uJb>fCjjB^&MhL@oz$gF( z6KvCfWP=k8CG0XQzuOvg9=$qc1C|v*>aeVBU41I5`1kx2txuQX*Wnwd0Z9M?LI8Qq z>Bo}nPUF!dP^=({UvJ;DLM|bo7oY(?`fPBDVoVcI_5%{c!K|2GR!yO+l-8)9C@K>UE`3~w6*T0%x_%b&|}`%GK&!c8_Yn0 zqITss7fE}-)-Z*XBzK$1NM|s*>-p%mo39PL zZEBepOb;dock^*Vp>r$BT>GkF5>}g>LsjwBs$+F%=gn#Uxe+VnXQ}4{C2M4^W*4x* zL}`Yv77impFr|4yQj8GniT|5$MH13v9Q zD--hAy#Yg)B_wwR`H!`#GVHq0+|hcxqz%kq0LP+ve(DI2kJ$}ZcW@p9iVDFuki!?O z04Q8qQWaqoVI=rD;PQT-y-zf7H;68tLq8UBt%3xkNzdCI_G+iV$N!Hv11msuz5tS> z0%ToWO{Y#s>;eFr=tuv+`N}ixwA>x*y{SLH04t*oV7-s&nxjqke{KUyJ@Ev1ArG~t zN4DK+EOJ4co1tmn^RDDfDj=xEL?H zp3Xl}PzX0D?7zCYyN!Ua0tzc+%uW_^u7$G$kcEUW`3COiU-X+!L^7rj#oF>)D($Y{JHE5wl!U$`|~!c*xtYr(xomGN!mL zcZG4M!+@?zp)d*ipxkA<4RzjNOE0*#%(=YBwGU~tWyc=61sO^|eena-km@6JO zjv`E2&Q&FfMRP0;(}`A#-jk09ZVXb@!)F8{ynPT2qPQ<)FGN^KC_%UhUIPv$1~5g4 zT60FLNT+#Yv=HvF^Z29)T=eMaI^!AiA9K%+3_$#dB&~IaWBSG$6d(z*t4V_AZ4b~~ zZ4W2FZC&j-3(%J`!_PP{B?pjIHjqFN3=L9BNICUJddJl}ClpAl1Rgy*)a2dOJw1dSM`zfzKA|K)KnXoPV0nDp zLdL?zW(1!1l^ljo0P!&YIN+=BzVT-w>jUp3pS_UBS%3|Y6v0irZ=W&_78Ce?<<%t| zz_AIoLmnEhE$)?p)Bzxx0=rlE^1ahrmjXU3*fRY^98K6^gH)0Fu6O*KHv~ZE><3K+ zB4_}Uk`@B)48|wRj4${!U5AyMZOv>udbT0d3nYSwumja2W6VC<&wEz>=UF!^hcJftrfN?8YBhIUO&H3i!Ht2+jU(viP2w zbnyuJD^xQ?zZCztm31*fgNzc#Fd*!5ij-_FSRBPvGMoAuARmN{B7c)_gkzQ<)Lz3c{kou?C`> zRNzkq!x}bm6$BIuq&&L&>K!%fpI&0a!K0`E5fl|nOn9F5z5qTVCrGTk@Gb5gv^KD% z1Bv2Ykat4>cq^!zuI4%HaaSf^8=C$e<8LU^RKW2dbfJZy@Kk#5c=+0h%rD7J)l zB|c(|Y!jS3y}`uYyi9VGzFFVZc-6_()azjB@4ai(^DbTN?Lo1H*P8MT4<#Z@6QcEE ztaPQul~~`_E9DeL+1@Y7xa}Om==V@ITSIi2qj8M0+y^r{GtZu|7ihG!W85=cEjm2xZ>)!8qA_EFxc9Fo`8qX4o6WgLpn$yKm-F) z&!(!0PsH7CbUXsYX``>RwU?{-wl%gre%#5@{|szP2$KOU%fy{txWGJizxwj%cBp$N zSta_P*boB`}8g5H2E6NHWE zaNWbodwVXfa>SseYn=IGAY~=h)qjiGAEQGf4oC{zP93j$0Fx7MP@wi z7#+R$5~@l0w&oUVT338zFWp_Nd%IY!n7=X5A(b=){L{97wRWBToY-d)+e8D?q!zrr zN0!3$n7oKPYM31~8Xi0Qp^FtzB4t+`iDcY@M6ZYHlJ9*&qh zpKo~pa0!X{kfv~KXq!IL(??!}HDGafOrBz@=L!XwKp_3lOe7S7 zEx|`q>i&K1k+lb?ZplC_l@4+p_-i4x_7m)*yWs-T1>N)W)5Yum?cD6@g{d$7hm4Gl z{tU9N5I7iK((M0dE6IX~8BwJ{A&NkzkaqxjAW+^Ik>h|s01#D(88h5>C-S^t?5fAn z&MZg*RRE6*C2Nv%QNu$f`&!X~*n$H1$4I|3=kwbZ(Vbz2A_d1dV%tML+)njv=Z0Be zDl&+=LkT$qB1u?UO~;6}I^`D^OM*s0ULJwc;93uyEG>VU4vB>DL$yE{THnzQ98X9b z2_iRM0bc)0*SdKJ?ilx99dmli`l-t;xFHJr6dq|F_}eRxEDlvC`VUGC7kS^j`!uwT z*Kg_mcG#AcH13We_oZ`KE5GNhSgYC6VcH#ITo{{IINiYP=)7|JlMM@ z=oi1HC(OxPHZL5S**TgXV3>7=lj_CVkQL-Q*`AU6e;fAoHzm%v- zp`T?816KXm`cL^B89hV{IFaX$vb{Vp;`VLt4=J^R;BPibO-}Rs-L1wmpC#nC?^MYtK0ryT{`uqFG zdxbQ8w2&wAb^s9<6w}USC6<)n0#jy-zMpYB1%lfE$DA~&1Qjzt(>{(p$p@!{`NR&k@)e=3r2z!?}d4 zX%Jx@-tqatWl@tbMwqi;U%vB1N=*sJdaCg_Eo4FW@;NL-qCq%icq-u_n5=cA2d0xr zLuw)5X5ND5+yP9{sGQw<{O|BFLfRsnD_AHa!F}bTpClU7XUIR0rTC z9c;UmE&+fZ6L9%@J9PJe@Itx{5D1g=TVcRSu?R$SGmx^aG-#a$xxQwQg}(@(U4kxa zSL|vUBHrvCPY4}&+}U1;o06tCOCL%A zK~v_jMc=C?_P@lAA;nxF3tn11j>vDg(OD|Qe7?4s?8KvJ;)4FK-KDYAy z=NHtvv{VVyvb0xm!?V6hh{rMTB^I~ceUOWr@>Epr8a#O~xgyKG>7Iq^Xt)c&&~td> zWQ_C(>*f8g>g)~EwrszfpA2d&!8r~sKkP*H9HF2AUjJ9{?bp}I*jicf>^p{3U&U7? z>h0GHSGnYi1rH9I<<1kq^smjeO{ZdvbM2~9ZZt?I1gUR#6y;b#_fH%uWocyv`MbPL zA0|qPzH^8T!Keg8)$lh#Rm{y9a4CSkJ(KqDuQ5l9!$6`rUZZVmavYFFahe26(BV#N z4B{?K%W95h4TX3KxAGnW{q!B;DCPXNM}JGoM8p-Ue4~fKZkX>(kr(a)1T7_Hc1uW0 zlVq`lCP)JEUqA!H8ya33QN2n*Wc=Xt<}pGiKqW?eDFDu1ZmNX*yV?t$SCV?hLM6DF z>mQbI+4B-rvH{ZL&V^mDeD0%+Qb<{=f5jXvrt$=mO`rw=i}DL{5TFR!R2LQ$2&VMM z^C`bdOoO%S#3lmK!uf|psZbdHo&Wdyxmg|kfM0A)%0-yvZTei=1=Ku*%s&6Jk9?OW zK;5>n#=mXjjbm8lo3gXkE9zI_B`j3jmBAn4m#dRj-Ns28Ct=84&8D4kH=O`KM6bXz z#EZS7CfC77@?UVKP7H;=Ay>U`b~Uf3OGCl4%wX|s(sVu5!Hhoqd!hxA*?A_L5xK&h zUl>0Gi@1{FRIpz4ojTQ$u(Ya4fLvFJ3Gd0 zpY0mx40bQ>A3Ec;d*jNOC1r1Emhp^a8K$yy%zVz62kzeXh`#6QD=YNzszaj>BZ^){ z{2`jLye4rWm%4}CXCsT|!KeXH8fV^C;YS!r?z(g%j+~7$t7lS0!6|FXn>uA-qsK2i zZAG=knKlK3+=<3q8>go@CWU09JeDG*firw7c4W-t$|@BVm40Q@#6_YcqKw7`SJ|O{ zE#*bflcG#l^_*j;x4JJvf`g3&jkGRl)^mP>DatYcxaB=|Kt2f=_871S)y#%$pw$61 z?+(ECk9USyzNDrm8qN%FXXoCJm|x`N16eAxzWd(_^7Bzng6)n)CE5J%xg(gUNCsqH z#uKWsogSl0s3xRJJ&*5D&+&d%H*EE^{cW2BMbj}!q`Y5SE@zJcn<@88Jv3s6vj5UzX$s2lPQBzgJ^azOYgL>MKj@(@qkdGE zMEmPk>TwZ5rkrE0r%_6cCBrYIifP(zHv9D4nb7C_w4Ksaj5h;!j0cRKrW?Q7*kiU` zB*u4wi0T(j<*F3Dyeb{peMblC6B2jaw)?9$W&UjcQB=0zEP4gZ14Tq)vB11P6-^ zdPW_x*;GcQo%NO7YBw8BJ!ja|y2EmAi8HL`RNprY3-&G+|M z$cs#W)f*ahsGLM9FDg~LS$tnzuQgM)9QaweZZ3JU-8r#t^Vr>W+BNI%&%Zg$mAcZ4 zqS=LiiZ{;|zLnHIDzh?(anq)GQfTxHnBG+v+fpt2sj8NM; zfy57Od*E|~HI${)1&r?|Diqb#KZENkuw)aq0uY=o9Y%fj3GAMz?|4MOya^PT(5NFT z9|S(3N|D#{3&R;8J%__0_Pgy;XC%7t)&^-o4R7i64WVaC3>xBrp#%%ayaG8uBtVP{ zj2S;yW`wvs{@_u@It_J)HX_dJeQO}myVheQUiX3o1w>fRyi>b_QdkEAD4#~b&ktzXJo$^DVB z>SI_13F+-~<7LloyD=}3h7i_PXWZ+MKH8CaG=r3$Rcmc6Pj6=M>(@=ay#HzIyT(pa z%@XZSo_C_*;5k04zK3cVeQ{@3S?wIdvLfi8eN?}j(~?qYSYv5F6JI)Azo*2 zc>4b`1o2o5-T+e-JV(fq1n8qnx^e5{@2?})2FwwVG8}vp>Z+rBq2Px20o4rHNP{w1 z(9ROpp5>tB_x;fX)4LV^{yX~$$x6&%tUzW+FdtHYg9}uvC=(vYv)&35MPfI@jvib|5!P5$Br2qTbT5N99`DvQshbJy;i zPT8JTJt5G|ksZ&ACJ2-I%zcnoQrca4{{8s$FQa1o3a3`*hqe>8R-dKprSxfqdHO*Nc?`@$>1Byg z-U^@r|(B7d z$N>1N)KpX=RQ_@sx1;S;+N9n`pt(Ro2jDkNV2BK2SI8mif&|{6`R}=DX`gz#Vv7`u zTtC9t9mTBR;%*xeoV^1J5mb{y!9VA*NQhcg*tkY81i_z=z_#$|?5_?8{5AnD6SB&p zD+SymISL6an%V|_^WT}lzzjT7-2dEd_G&@`_H#D(_8QNK3SG9+UYgyO5sKZ!FHBXz z@>9Ekd1P%B?t$;f<{2R}MYF9br`DyrC!f7GM@yw?kzI4*_ZIqmbRJGG4Dbi zoD!g5lc?3xpUeXC9d*9&GD1rP(ItFjxG?Jhs}@G`oB6%p2`AGaOaKM`F`$4yLp_AL z3zXmoy5p~qo5Bj_3RoK>GGIf)$Z{g_2`a7b#wb0lG{4qu#%NZw_|il@mC!KvoCWIDEZA4;|Y`R>X7j z@-D(k5;AL`gW_H;0=6;ajEN0bYAs`aOs-9W-x=fpZS(2(t3{Vmj{1bkg3% z-b;C^aq$7a=~iaScSFes|7;JL{qar5g@(6>h(~Qayx2FL<2$xUH13g8ytUxS?76v5>VZH9Y8KrW7 zL7A+MJu){RSc<(vOh@UD)VS^vd$VRPHv}VqUdHMMCW$_1_3mU}F;QDU*oTUPaOPO5 z#9+~|;r;vf$01{lV@78667q9vk=ovbp?L;Ta(`JmS73R1269vHAsK>*TqU)L4vRRh zjQm0`we{g*U%t;_hunVgf`pWh`d-HZCZRyMz&V>l5Nw|I^5x-YRr&36CKvl@sVL#d z0l%kTI24s={&t~c#rblnjOy1r!!xdMHendaT!LQ>JE$E@ zfxaQbv?jZw_~*ibWVUlwy+0Eje_!Hzmq)k2Jt|Q>fch*nX8JbOPmDilXkeF?W<_Gg z+hO6)p-hFR+@~(B8bxryQ~y6+9YeuKC&Uq$hrwHnm^yk#K{);1(GQm%M-?Ye4xCxi zj*?^>-XHGqKbv4~-MNxGg%&5IE*{?e=G(p07p_^Cs`s8d*MoUk=sQJuCGE8k;6d{1 z5?8xD>>8>@@<2q-}8>@j1WiK5wA3NUrG#LbmGzS{P0bsO3IZFMiUOEa!`F}WTMYD!EvePcY=0=7q5Lt{`y#b0 zBbvIwbt-2rT)!dxx?Lm6;ed8mK(gz;O~s?;?Xl&4AN#_OE3$o6bGbVr)9xle0~fBq zEc2$IOz|s)yByBD^c5vZ8pyB>ojpy1g|Ip8jp)PB|bPvi|KX`pnfKkJX+=ctvVlS z;f%mXv=CH2JAC1s10}Ax(4+&H%Nn!E_K;RHi>uNDlr3Zk60AJJJGY^F7)?6iQH=Ki zS7mfv>ACf1a&(mf2R0pwDcM=GDZgwi&|zlQV27qjA^j#xYo!*vV7^0#T4=ljcw(Px z42|DM3ha)H)_(;vDrPPVw}P7m5QW86ulp+Vq!W-XLKlJR6mz@YxZJAJrea}{dUfgN z0owLubqGD8a|PCnZW;ayc;bK ziMC@yp1yOAyGPUJ!hU+X!yth{ar6!KV>KK#H_0nI`8w^#y4%{^%m)B6j$X@TW*(o; znyMJO)vozE@6b=Cf8%8+qzd(l%8nT9I5|^#uG7^m>qa0={-Q?3D#S^P{be5omWxoA ztC$oB{_K76@t)ER{TzXB!9qbR*-&hys}2Id;Sm*$Jbj=R_03ZCzZE$Q^-UM!8ka_i z`QzmTcV53<6k|r+kpu(&gaOBLAzo>opw7&zu~)wqjuuW@Iu3ngYx(1-?=L-^@HxDq zuG2;LSh4OmJder6nXd4PrnI2BIIF#19UJdJi!v?%GUg>Q!5npPD;B0w5M@ zBcjoO*!BQby?>`)Wm>6%rsR-7mcmj2A8+T3*%l8jewRt7E*q@^3lqxwp*Jz?{q%S) zuU@^h`$WT9v6H&L^s zzRE<^FQ>8CP|sbnpPp%tkzV(dJ-S@XSz)Q|K2>~pxDSYxugB^ge9QA}p0Vn>)pzPr z&bXN~eY(OHlqCDLm;Vcs?@-tQ{rveqpU+J-v@dT?)t?IaJMm&g%Tez9<*r!1_pwqO zX9`ALmjgao@sC~@KN7U>){ltlL(6H0`c@npG7fA6g)la=@n!ezVu2d+5g0a^xKe0q zd!G}gq??LqsOIC}JyX%vI@EOO?~R;m#_bk~sxaY^0Ujx*au^a>-ktZ5lO9vo>2_p$ z$}PFevS$ANzp9u0fq#y3ZhCUvnwdEh<>I8E<~6Nvi#%ofYQFARvw6&$WjLuLmEJjR zkk0OX^-NLfduxGf_7_HTHMxamulPjrYj3~jd~Mod0o~*0pDJD=@yFaE;_S-O&rZKz zbUparIiI|CI!iifCO%q?E5ey(F`vrdV18eh%G+h}$9wt~_C(ry-HBjLRAmm>;K9{& z172k^1(N0K^&|dGhoy;1O zf+izRX2XB`SnG_p!SKX?|62AwyyHOH@UH0vKJ%S$Kd}t9T7~E8Pfp&EOhFh=L&Ihaflc`dtXmR9OAdD z?K>0uaP;~Iw?Rqsu>8q?N}6?SEoOb6MnaUVi&81`>ow>fD%BW-e&6mQHf^OkJG;pr|7gg8AzDQCT5eRE;4E`c%dSIdM~n_mO)X4^ z9IJx7BgHPTtv1#F^v&V9J1%0|e&OZVR=+2wf3oDESDlUQ3HfF+*T@EbT=Qeln`f9p ze{O@p&L%YDNZ#PfO25H!=YvVGg003KF8;>Oin`Yyx|zu-T2XoDV;tXio!>d1B7_WM zl>h0^2^x$~wpNrp{`&sjO71(M2ksD7*sTPX)Xf-Ot6!EPz@2n07H(^|K=+OuYp};Jpca7f%o{oiyjI}K8P?q z{zp|&lR2v=HmPB`Jo~7^DZ5xqw`pNs9eHYu)4XnGA+GAc7nPw&AyrU*6M?G83NC{NoyQ?b`U%dWfA+kk4O-!%MMQJO<~dF=3} z==NB)t#_|dB7bj#K>X)ApQ%7M&!?Av&$*r|z0S0At^)F@dJ~r$UUfVbr#*)MTU2^e zHY-Itkv0)<#&QKC0|CUGIk!XOBN^NVVYb?`CwaCn?U(7_P-+$(nco$`koteL0RP2x z;WE|Nflv?7v*n*V`T6-vNNQ@sL=|~4mJv)F8$@->OImnZxkXAccmsNo5sU?YlAYZ; zbr9PBb!t1W6pL?tGN@4h-FgcMBF=;SPCrJEJ3q)jRPx$4l5gsQ?!;|V{s%H}L>#`A zS@Ft)BbMj0A)WoKN1D=AE=+As+jCgbEOV-~)36RUgZY~+5<4bs zo!)3Zs_3+AIp6F3>-~GN7M=R6IIAC)1Fb_C&NT$!TeJz8OJrWv!l?n$58Qk~WwV7k zGGITZM&kN8&i>vvd30{6_i-K%E&wuVExw;9=JH%;O#jn-5u+7|NCHkm0E(xWc861}*D^4 zdS0mWXv?~v{PMZ;NJ1X}TcwO054Egc?D@*fXXugD?wy4#RsTbSIZN+=0-ni52Db9F zZ`@N;6;(q^xi?0$hBd#PVD|ZvIjni?Rvv%x%OkuI7i_Ew@aH=svlleEw62icA2#JP z*N^N0rG*;Uy!zLF#{%!6SLsTdb}&8o_~U*qKb_0#g~40@{@gN~-87AW&CylBpt3to zpZjlxzysW!N_7mnMd)n8cWL&LQSfAPAap72Ixmp7sSDzk%!PzxL-=Ge=Er)iOp-Yw zC}M!KLELGM8Dk(loqv{@Ql^g|{a@VtYRyG!A=nD^FuDnKKgi<@TfSHRCMlJ2jD=UU z#vNE4dv92b{MD24p0R6boTd2laI8K{FCwJSt$1bnfo?X&+VQaK3f57-c*6=93uU4cqCPyLnzS%7>3+!7NLBMBp< zn11k|?zoaB+S`t!* zriCyh8p;IE*kI0O)q> z=NW9JkT(M{2ct?b%MPY~3;Y3ei3H&VdhGw=1(tMoT&H5I7)@NIC$H)^0B0$c{Ssm?*;ln>q(I4#BcujuDj|SRjaG zo2%=O`7nL8j;S}~Z&+9i&A2vy*HCKL;1<`mes{xtxvMPw>wi5n{%7nQ zvYl(E{~!wsP=j#P+Cq`bi>dh^RRbYq!>PkwWr|+8;s4Y3Lb?9+&kBTR?2t+A-8Hn- z(%j5-=n#oGQyJNc23ZUid1_N_6bkOQjD+zXkfk+|5;q9&f+&|av?(W_Av4oqHVcF~ z1Y#)~L^G*WWQ?V*Slwh21gH}|=fZ#qOQ zzRm*R9Y%SKO?M$VDqYoo#U(#GGGQxx17Uv@FMJ5ZnF(I7$5PWJ3&g*JTbm){K=)yu zBGAD9X2g>C3S{iY3PJWtQlbGXMw3lKMm#_#_uriMlCSIS$|og!YuJe(10pVCtTQs$ zZ3GIlAxyR9WeJ`oq0|@4ozc5(jeH|9irltSZ<6^w6it6A&ku{b9Y)QlM$z+to?-iX z^K+Yn-bvf!J!kjx^X06fqvGQndVQbj=)C~CF?Q;&m&0GuFobc}9#>$$eVdy@b0O=` zq=($%i`24@pE1TS?D*%ds0@d)w)8ojPg3Wcy7K2IHdGpg!o2Z8t(U)sD@d`@NXxGR ziNvM;s~CXj`^l<~pvVacA<(2HLmNl3GY%taO_!e;*!j+jWsWsSLHdPbsdv#)+KQ>D z85;otq>lHUn|#US;f;Vq6w93_e?dAl1cebjb5pKB+yrTszP zyoqPbq-SAceRQ%%R`3rd_nf80F9J(?qMqlIwGz1Vdu+@W_!$GA=d zc5mR;KQ_#Xy{*pk23L%=rD&Q)oIl149<6v-!XCD36Gd2bbN~z-?SCJgd=?GS8>aru z0NnW~{1;fLlA2n8#>yt&)8nO#fz)hA9ghP_vtL=TE#t}6&l>wuDUAx?eX{B{wP)If zCD(ndj0_5`?tmeb=ZhMG!soVTnx7JSjUXP=Klb!ulYBN;T@GrbC!ce*Sh{y4B7;o^#Ttxnvwh3aW7ZDHq z(KCUE;tN~wPK?H+j?)G*CM4z%x2Y)J!CxI86BP5cye!S zB!+PfzyIL~a4V@vxlotC9&{Q}w;^v9s%sP2$`(=o+BWE`snLOg4c)-R^ZsxT3d!Te zcAv=?M!Xd(QgSgYvL41DhMha_qUK^36x@pWd=Iu`t8GG`>dj8Kh>kbP&<3T>~=svpzy>Ug~N_xryVDIcjV^g z(rw(Rpsmg5>*vSzZXo}P7M>;r1>}4opc-CT6_R5K&%|Fd?F~eSzwkX3Gd^)1IkF4u z|3(jwO-x{5;1Q3-!?xDvrKi7tzx&|9cJs@ZO>jp2T3AR;?F}(6y)m+Ja@&UltO>HX zo}NB%9hW}18qyT_f;+=^r&_n}jK2PVYFs0CFw`EaGjGW!0Aqa{Ub~MA=4apDzI(T; zS19CLh4UoKK8|CXRb^k@9?NUD3}g=ASLhzgZ)sF5J{T&q`*C!besa6+{v1A5nK*vm z4F`F+V&{dkgS1jTWsO9>htY_&Z1DuZN)7U?P2?>XOOfU4+X*B0L*bIT*{d>9tI~{9nju8ia^e^Q}Xk zoAT(5TwV1nN31Cwo$Z{QoQJW~trj%D{KJ|n)8nM0>Mg!DJ!^>BhcL7}MMnJ*m#IA{ zF9NZ-OrTOc9M__Y+6>&w_3=)D0=v&FFhC3=)(q7J{V1fQq_iBUl0k5K01o>ksB{8CLsd;pIq}m{N1eR0xabO>U+~t=Alw`y zG*6vU#4AB?Wmsh7xBygO+u`1-0kSOXDIpL|- zLnD7&L4gV^H07;Zx9EJmn;r?7Vd}D)y1L_mpz3P5i|Ubb6eZXi^H(x6GgG7+eA(f; z+zv7WTeJ=&95Dbdd-&hE(_UoS7x~H53Fld-mp#`NMbBg@E8k;swbdVu)>-E29{6F~ zDqA5S?=X>_`p~kUu8~`Rt7=spmlogn1$7U_6F8GoR0=He(!US>vWk6*BjfrK< z#QICPq5ATeG=x|FzKo0f_L=NDBiFAq)U>q8B_+GannjeQrQJ9jw!?_vzk?zHk|ZK+ zF|2T9!2BU1Xy~vKrN zxLK}tTuIlt7Z5;)i=C3<7rbxp*>{_BJPZr-h6hEzDLXs6KK*POIhvJJRf)w1xHwcv1{oX^1ZV=TrJ4m0hqU)NF8QBdHl9m_wXtxY8)BxG26 zg9ZgHdB@=>5OIc{9T#FO3BG>@y^Dk%&BVp0>O4$1!$U!%psZ{E<3n#=q~2+oidxsM zX=-@*Y(}80o7XnDeevvvQ5+GiKB?~bv=Gjf)rN?C`n`KY&>~`vEFqg6D~EAyf@;LI z`MJxEa?c+IO6L)Wl+y>|BLXybQV_7w^IU7geV{qxhN^?sBL z3=E4HmQAwt$vOj8QU~Bw+q%d6tv!l-T<@=;3A!*Gj~k|DU|=6kQ;aO9@|OPLKo_WW z;zSMBIUdKR{GR)`yU9WRpv zk(avsVU6aFnjGIFTo2x6|LJ&?`1P;=mEfqG!CW4bA0M7M#+xQy%WHfsYmj1iM?u~p zB>x6|Sb;<4Ichz#zDs9!_7HP<+$k{Ty9(jq72Pe6aN3wbS zI`po&c=N1zIUj$NP_IooC^ubdFFPM4=s^Ar$g$zKZ`jj_BRC?uV$!};w_ zCX;TW^LdA6`?nDxwN&Zbx}V&{Sx%%}sE%R1CZFbg9;OP?#i*-DCe@h=qZWxzI7CMU zJgz-egH=gc`6*_1qrg{GQo5~Cu~p%<-s~QFdWy%IcS(RGz)$JD9>3(N*RNN|I{&7v zt*xHr{=A%!pr8smCwP2d^`phBUe6g$hXz3L`t`$QPUHS4|N0IDb&KeI99wRfYOPnq zg2s0woAN87CM0Uc$aRe4OCA~i7@M*Ps*{vRIB?J;5ix=<`|)Sm@=s6y`r|WP<$d7T zF~jT6vd*UK2+rj&Fj+Fzln5?D7~NiIec@&WAm3H|=6A`pfhvj7k_*{}>G`D$dg^*v z=dDh@US^6^j{9V#Y;4RfF3zz@lvE{VS_Fp~Irno8r)20TWXnDdHxtmE!)p_oIB(GAP9N1HMx4=%;cM%r}dxz#qh{P^)hM?&FY93z+bQ&Aim z5~uQ3Q9=)5Q{ZA)^}&ragnw7n)C>t8kLj@?sq4bXK|s-@AowV`tc>N7*An+Roet+I zyh)_>hZ(D1H8%<{U8kYM?W1o5Op$?$r!JYICmId;F%H;$nQU>tcKv6 zPBOPbb8I)MmdDlPMOCCVU!&QPxnZ-rjCF#kNX+%$V`qrI)QY~*Ewgk}`AS17m&s-0 zb@Dv}1Ah(OOD8l^dsd{&Xv1q5D4jm>guE+w6fP6$p}PKZk;jUA-@j=!3sooM6~8P$ zPh)}eXHO@3eYLPp;C;mx^{zfA@Ro#-hH!gyuFrXj_s3q>(soD6<}9?|))Q&A+ng5{ ze%qsu_KVd9*{a~(pUVZ`axqgcam}%`4@SBbOT8P|CEIB}97nyGle#3`kG)8VO5JdH zLL+K&oo?>c2<(qD7cXjL`E+l$DSUit)#?QM3m6!z3XdmTWQ-5i-4oMdVU;>DJ*_pT z8QCH!k?rGoY@O-M;P9{?DvzH***bjb@$&NWVjoJ?d6EYrMH*dGb@;9(ER?;oE7X6g z!)Hxz+^N&k)D$F}2CcCo)YxRU9$*#u<;@)!24Wi~wRIDk z;#aR;u?!gSGshOCNkpsjkU|$LdpI?3&mOy~IU^$@$JcfN79BmVPStz6E}T`D@TL24 zS=@W#l9|;z>x_NvO8E~(GM(1whu@5zm0pBREzKBaUnaCm_lkJ0#FQO&Q7c6SWYFMQ^CMJ;pl_bVLB zgd^S0#YK&p2;~^@loP-by4NA-y_L}x;eNdMW@i`M;?mMr2zy^V?a2@Ip4iC$V}wOv z>()PXFLQE)(9_$fe<~d<{1MVK){?nCjNdmv$k5@Jo0DVnC>syU7VUisQ{7^gnW@qI zEHYn*`*i1Xtc@;Tc$*?KAt_GRb9tS-xa!jM!!{>8`7Knyx1}Ba!1%_KI?kuTrp$SflCvC>lwwos1#TD|$e#_q&3?W2ElYbv`fKkeBQPqFhz z>$+yIGKG;_@2;=eSR`MlwUO8_CAGV;v9Tr9UTSG%@cKTM;CdeV;7Xnd{tmt1&y~*) z+NrnX=3BOK?V#1;FXY;H!9_06dh2-5+ff0YPK}8@in1qGx>ph;c=ugW_@H~qRwBpw zqDP@YZ0I$!rfI9}?>tZUwCpyo;H`a>sdeJ#{;gZL(oP2-+Gk7=%t#&N=QsR!9q=eh z?d}=>`5AME19_AKx`{dz60zkgbyvFDg(*({L@yOB&LnWn6Z?QFLu$pct9Y$pZnU{L zTKB-q(T;>!DW^Zt!5!+&)jhI2amp?2S4xFFJ!H6r{!oq%4i1(`p1!i>a5)nn9Tlp| zE%#r~`Pg5-?z*v6Oi{^9Q7rOiWkQIm`OY{c%5!{Cjx#6KHk{JdkI=GHOcsxPd`sdb z!}wfpzlUqw>nj~>iQ2Oj-QNW)`X1TvJ=b}`!n|>6R3O{h^Msg<#PQu5vdtvo(s>5L zS2aEj{82C(DYNvJI)YzQGHQ*lBh-s*QjS&{UE05Tl$MrO)l;6i81Pz#Sws>|N#wn| z!F2Ders(u?{|N8|^_6|ek$t-`B3Un-o@OXm+}LGRs1JP3hBLnRyG+(8&k0HS&obFs zE4k)r2m8viM1vk)OFid!5#`>KVP^Q+cA>CE=3 ziWV0K;IZJrgwmmw_kZ+g=RBKs#wVR*(?q{;KR>@@j_U0{Uv+IuPt{EaB?b)b?5HCD3&*R+dSf` z`o2McD`ucZ$3B-!lAAzV+gI-I;yS>oR;S-#35AT(T#$Vg?9{9xZ&6sES=24dc{pw^ zoO?1s)|ppdbg7_=Lc)Jr&YJzHnIE?AEIXVU4Vq=I*=%HtND36Uwpi;MUtTS&t*C7| z=M}E@O>Cp%*{2fwjQ7?(BA?#Qc>fb=1)M-Bs0%Yb^>R({oYC8{Q8{^uqS)%wMpCJ^ zr=R7GZn5xyDYm=PT@qB74=@!r5}$!ife84JAoc6Zx4{zH>&0SOTr7vjhfi>p=Lxbe zRMlk)31kG$-EQ08<7j?Dh~qe_{|KYb{!d>v|F&ECB_WykrF?Qu{ihcH_683tkr*4! zyolp=N^i6Z%FU~|6GM9QpN()=8O#n?vlwGDZQa@?{{eK5OGRa6dXbMhZed-XNcoIU zM+Lmqj}+$GGFMeqb%S-*FSgr4u?WuRB?7v@1fd(RG0kO{mE8+WX%P(CJ(S32BIQ)+ zsVQ+I`ZbyZ^2uGwg741~kQPClQl32%KP1X|?b@}nS4BB(-jwU;Sy_X?SKy3Bs$cVP zDcvQvksa`EeRB8nY0$$3zVf!KYbVlak1H$RX_9sDfA#7(ST`opv;k*DmDD=$!JQg# z?2XcRt2Yzkg&J<^^@5B?-kFQkSc-j^4nPE@y2rJiv5t@=zVb4;Q$8*i^e`Y+eE@#pfh+8zCBQhfZj)4rtSlDj+eW&7fq&#iAmVWXAMnF>nLjL>b|0G z$8bMCl>Ok&1Px2Paa;@o(Q-u-PDz0=b>nG&}-o@~QX1(!d=LqlOv zQFrjClh0+G$5$lm7%)%4OI7M?&l}BGA#yv@Q}yq!I{}2i|4>ofoz4G4zAV54`{mzP zU+mZ!R5$i1W2b_mBKdusyOcHPQy}qU^EZ*I0KqpK7OvJ$@XFAv3H}IYyQD z@b!US#vie#Vh*AK9zeH!BMn*zn#Y>o^QtK50Z`yGDGEN?4=@2ZUhu47f2d`%WpnTj zjp%5OzPSDQ?cOKY_v7?CcFLyeeA18otoFeS0$q{q599jmJ=dkW>F*t^ZjU|jk4fZY zL0QVJ9J2^Gr=m>DkzVfw&^ggB~57s;lb}yMd};moIL# z0GG%U1@H`=RQy8&9QN=6Asm-V(ypI^0#2^I0HV}Ro_q~!++A?C3K^eF!73A@)@g8R z7^#oM+A^@e1r-S+nOFaL+QB~!mr zQn+xMS70t1nL-BamjucILE;23jnxP8MFnqxojHhsh24np=Uv_utUI3h80(qP`dr-H zlqF^?<$%eca!9(6V+4}z*X*oR#;G$kP6Eo-&_qxnxxLm*%Xci85It zNY)~fGcfMB!}aUeJGMAU_*m>TSx8J!@$fi?35_Uwiq}zSpFK-(^W!{`UvV&kqvqr` zM_Yz7;SLC1@YolvqA>UmQ2$*>RX9=m0!-Ska{m<>_SnWmO$iQXmz>uz9`$JW4Xh|$ zK@a#Iua8hblf?u6y8J3&iR{r;;~*kNxPYJ_#givD+IHaf{E9#l+@6VE%Lnn-{5v{y zh&WwKZcPl>@k@Bo$m~#2Y1#THl0d@i2&QUtZYg1{O!MyhW@N;Q!xpP&7z{1BSjwCy$?43+!(-Z>q(lsJ9PXVk&lilMs7Yw;gHe6T7wq-QMkA`$`-Kwglqoj!lw zABWnJ2h~_p9ZIXPrvL86*+Nixe*Vqa-*=31?&6Pwy~Ud|Db&ZcYhWFdQWcUA2wu?y zaox=+?-II^|s;<{6=J=tG-nZnV{h@wj@@ zprA%)H@mLb8Jf_n{!M#b|1Pgkq~`2`63uJ*2XEQOz4$Q^M@vDGfNUr_Ukc#ShhqOf zNXbom@{9%e_+G=Wp^$?!fF+nf%uu6{&L5rnOL&O!B8jx+^nvXqUTa6WEow9GujYVl z`}kvQD3D*`+l|s-w<9rQjh+{;?%cNbm|BZ>u}u%T$N*(aM-3#HzpQ56ygn{4vEiaY zTzAuC!1F|Dm#yF165o>1xnvYNuu;J#%%fN&<{Lx_?M1tzfX#`EUU}!g1zUwFHr%0@ ziAf}Gi1t-Q&!5iRckVM=;hp_GC}U6$Lqti~t78k@W{a@R3ZoN2oj=pww9Yc*TZ>Vo za{ay`vl9V)8I)XSVtX`LT|DVGlwS4>niO|Il(~-fB^L$FhIto7rYSqm=~S(p{TdP+ zw^D)w-CkDaNc0$5-(M(Um2EZ`t@~mdSa{mlGl=bK&aX6urTy~d%euXPO1S#6P3|#f9VRZuP&lX`=Nch%54r zwxS%ogE|SpDgy7B85&;{)jBKH(3&568b>}7J);`0jPC{aD(eF*hn`_AK_ z1p(!5m9#R98h%lQ?gh*g?(x@vd|!go!kauJAgcPNCW6NO!;eNYmliD_X%Qzh-89u%k6f6&vD3 zMSDh#oxge-I2_FU1W#?g=-8(cBC zNfkk0A^r8LJAF&8!qelh@DEN-Zo!X%1HWvy`sfS)&a~{&e<8DGp!k5)*EBV4LXnu1 zw|nz?OEFA4KS!>A1m`SKeo{t#&t`?5UCn*D%DL*O>dCDVk{AdQvLsC0I3(D zS|dF~b2HIgJl@kto!)Nw(!7z8->`%p#2Lj@bafTdi_l~!LM`Xv;cp}V0^w>z@2VanLX-}gBRMDt?6)ON!U_2rjZ3aY3(L2Wks9N}r-O?!B1&aZPg0yaxM`@Gudhf(re|HnQ6cODTD{X&c%%&d$Hbr=`%cq&kLj9HUO2Q#5EUqj6R6a^L5q@UC&68*P9^aamcfiL9;aL%S)v z1^1@9#aX4vtIIF8FvrbV{Mk10KX1EuDnp>HRGO>%tl*&}2pEWBQM2VCs$mepkC~5q z^!781p>k0{r}P8dOwbH|^I;eg#NOyMBWx%%;iEFMlq4u#$fP7>eKI$v7>cAvj#G9k zJ>>rDli9d`sl~|a;V%XO`ctO^`LQpN9FW8$C;ZQ$gJ z@pK&q0ew7O=XFa2mVd9y?JyoN zli(|=F@9bgBhwR2bKJobC6d&hCcK3#Cd!2lr<57NK5AvZv3U3vQ6e^RJ^Wi;9mOTMH?ISC@N^aoRRve|7zwn;iZJn^1Mu* zCr$(gyNQ;oWoM}~hkSGFU|zV)7j+UM=iLNl!%%wLkFA*%3u`LNsX(4a|Jn?^{2sAz zqr)rvr**C_KoHBb`!u~|{K~(s8{^X#jiW8kmQ5*S8)&I0HE-tnmQcY2QXtrLQq5qZ z`E7pb$PaGwpy=C?%VELFel@4}mkCRI6+bvuBEYdt)H-JHz%}9VrdB)WJcj3wmF0Nb zVR$%>G8$kpJlzhwG5P7H*e0IsjM?aNJ8mHk*xEFAauS1i6!~6 z;=Nr}Aq(^NQQO+jt(5)jDl1y2`ex^G8+J}DtDBAfEOAKzVMmj`UKZC1nT?SswCMF} zpFXIOxxa<2-4Ry>%a$)j4sS=V@=PkLi7%Odr+v6u?qE2u!0AK7rfe+{*Ye=DR1;I5 z?xc0%>le8{FZBucR9FhmbHoXME8Ra5`TYCsm*GpdJzKjqSQQ*M$lI&#H@cAM;PP_B zaKl=)Lja@c&N-_t3BJ2s;_LaDH<8R0qCh18C_;l@c<({CM}1Q65_KD35FhZ z_Q(eFC|VTbb>LjB;y*%d4GrLSn2#IYy;DFxNb-sP%W*-M-fST{G&E!*(WCe04$fs( zYdM$WLzzT&1S`WJSF~U9hU-hSmmvmVh8FKGngO&6VGkd67EqTQ^z_zaT>WrL=&5Sx zUKn_ekQ#>w3Bi(eV_ZDUWZsadV9+#UsO<6qu*77b2TN6n2GpJkYvI!_N#DlDt<9>` zjrW=K?1jz_Lu?%xUT^rmwoc0`wcE1gb_K&0b`HfY!JYll?U9q7EHaaC^!kKL<%C(e z6U|MUmzkL&6dGv9e;$8#b@RRp3chM$m)tMeCdn6cS%{~28oUU-c2R&~%GtAF(2=SA^yrxw-q5}+mutm8kksVRuM{=|t5oXB{Eh7H9rJ@yGw_ur4t|E}DG0u5y` zGFC$XpY`Z=5ln^9yaL>ASM)enpv)juL3hDbrZqdFodfbpir|xWkfV@D=UCr}W2#Vm zC)c#pn&zHz>n*Yk0vP++_%OSS%;Pczr=K0<8U+>$jni09KCijRZUR(cGtF*@_j}`a z#Cc*D!AA~k--wU!6&v`jQ4XO8F~Yfb?8lFkZ0D14zR@XZY5QelKL3~|`Rys%2cfd{ zM%2_0azx6m9})4Z61xXbsM^}vK{U*+ z!@-h}$?5K2G<0+nL)Vy#@z!Mw5QZ}{F$qIY3nl0CDFl!IWu=zbpwUWCvQB0V2C$%X;# zytfo1gb`U_IKgBC9j?35`LeU4=Vz04P8m2Db&`q4h|_p$KUCirn(VbUm2DAdNf9W=zG14~ib7AczD#A#w(+gTGbxK| z-qE%Ni}yAUE-P5+@I?iOra>#f)$KeHx5sGsZ zoN%Df!G1&Zx+FQdGfP^wnY8ryc{9%+BC=ToAnX?x-vI$-4bcP}zr*G61otxO6wx9H zBd8JjS!!x(V+du%C6pBv6^SM^xn1q;&AjmQxJm$gEFZ(Iz7rHgvIvr5C~$fdWMW^Y z%|fj{h*XmQq%HdTR>Kza7}mQ5@_uAO?tpUyqbs~Y==9ZYnbBF^0ftVx8;P>yfW0f2 z2uhk{NzV{z8nXC%Z`!vnk!Oyuv?aG(R;_|M)zuy(Tecj193rS2m(gbK zAeSB5mYrdiKgKb8s6($w{9aK70!FQ4IAti%j-;QQ1br}VLjtVcO4=puzZh~DY|&o01DFHO;&!0 z$Hlczh&3z5G9X^r+If3$Pt>;O$-|>B+^p@~TtClHa{t*cTUQ$&J9(+p&`$ATPYVNu zL`o+2;_o8!eV4QrS0ny9eap~*M4rXyp<~BrvO$;D1uRSl)dcy7;%J)}rL2~7M${bM zSPQz9H^m8211&GG!A^^_eqm@2HbA!uKN_ZpfX()=YUA4GK+y8YMs}3mJ198H_)+}~ zj*kaHC=SBw!<7_ZRKNcGA)XDHE~E8~laKqmEX9sSea9G`lp8O54fDcPGdBXw04nE) z200m0J2In%Oq#&K^xwwbMUWGuY@G<5zbS*5dcy1AMi7s^6B4bi1~09nf-$d5e$PZM zbv@xIBpZ@qlvvNF>!A64y6H-CI~`UZ)V9Pr7kfmXOFB>2q(w09V=ixF1h40%aqCut zKH=+cFBtp}f&min!Ecse6{Nwz9h8K(&l2o!wGenMx42l+!_)IC>arYe7S^IKPFJT> zt*Xn4v^>{|f0}o*&Rp&-&Op0iD0nwCbQ{`AG|C!X&1A#}B}zIxf{yI?qXZQ@#WcGp9=?x0@W#LWK+ zHKeV?3&ek)d^<&WN02}$O?+X)fQ}aln}MJ+L2-aYB6=jEzyz=qENh#%O^2U3xuRkZ z6dj|a11Gdy%-vR9m-*E@xbY;^u?KgtrP&V#O$ z9TG<(d}0(~2|k@Zb$bR{2ScXjnwm5Jff}#unX^i{mw$Dtn8pTaSt+W;A94%O;>l=q z`Icc@-MF!&)u1`GnPbz<&Uh#lg6++|Pugb7Rv}fq{H$D_lzhRJZ<3uC;(lwGRckq| z74UxkwyVT!={&w;j(E%M5_S)_A9XEO8q^z@gDCGP_yF%V zg(A@vw$peO;UZoqv}`EX-@wxy1a`3}nv19c$gKj87X;~Upb8W~Klp8veFbfM`oU7X z1robXG~t&#W@yf58xj%nu3(k^3b&7=3Ez735fF*Q%saT-&O|nV9y_ZcxLa}JG68Wv z(FN6+VmYME;!zm`RvbytMqt zFPQ;w8vIm&Btf4dmcK9b02fz^{IvpHdC;oH%4!0GaQczH% zGhFp_{`dYSL(j4i?W*LZ8@A)ZNhOD4)FonXc7BiIuEuF?W!N~4V)m_BsEj}K{|f)9 z=!^ln!)wm?*#_d0j)E8)^Yzr!$DzT+@F2U}3{q57RHtzP1=Ufd>sT?BY^DHh8QDlA z_E@aAs`%t`*NeocgX@MDP-i`K@xTH|5L@zYO2bAoF&5&`u(IdEDdV*9*FgLjx^fhW zXryoJ@HtslwO|FUxLRFXG6}^2Ka8aP)Y9gQdIsRgQ0|rRhkiQnpUh+N zKPNfVeLB`t{7(*YRDC;!_Ybo$3rNR$MA$x`7UO8b>&GYl@0yc-we2DENt z*J^ufWy1{g^kOvbZ`AaXI>JH=j9(c!Glg_E8(nWxM2_7g4S6e$j$ojhU+779&cc$s zBY)-Jh2)v(4($ilE#j?n=hS}nzp44HYirqmhmFH-%KVq{x^_K&W|H~4bZ5p|Oi0g-n-wL+HUx99Ps$XgqqL4g}PN(p+BLcQ88M#xotZ zdj+m9>-<^UR2eH#pDNbpK^qEqnV(wZ$E>g7JlL%3@H#c@4VxR~`vb$Zjxl%%OW-Nl zxwvZ0SWoPg^kEKEg2Th=ydNtTCHZximjkN=s`03kby?cG=qC>d|KZ+rUgGj;hsd3a zIYp1Gt)z~`?n4^}0|Cxk7Q=@s$uqj+RBQdy zT@ZPL6n$C4RxLP`+9#?Lqdg;<7bUU~=q&fB*xOXY}q@dZ|*^y-*)d)g#~I{zPL>a^aZfJ*#tRD+i0*2&9*&3^#DWOyxOZu zOh-dy8`_}48FzF}>gwhm>r)3`HC0Goj$r%gKjA3Z>EMu)R3wpeO8Ta|JF3CL^-G_A zI08Z*3dVU_(@qgaH-7YSwvj_JzLz@B+<}1y5x=HeVU>RR$x5b3_Zxn^>pQVFdl)H` z)}k8Cw~E)a=s9m~^ZlLMW8=(X{KLp~)Id9~>lqu{8V_Tjr5ngvYhR*qW1)z!$|^ms zZ&2caol3IC9k32uu04r38CS?tZ!RLWW&6ke%in(;Xu`hEMh zQGj;75Ilg=tU%w^Pg3-!@91{>Sh9SKR3AswNu9m0vb;>IBnsREeljB;h)?UsG}ue>j>Ve>F90qlBR+_s#-6IV#y*kUljLT82@5{a zDhS9Hoao!!}sAkq!bb=E7>DjQg+I|kwOWnBqUPEDkCIP_Gl226|zaCvO=h=N|{+9A!H`r z<9hzT|L=X@K7F3iaJ#?vb)DllkK;Ihlig*$=oZ>W7txUtoN-W&ROo1x$@m0tLv!{N zrp;bGQG(D+!4u*fI%y2WJ)Nw0qCHW5l5IFWAyd5>MO2sx>PiM)gR#ivhCT)K(f zB{CgU2e9{K9sB4WCnpnuH;76^JPM6BKod;W&@=b%)Y_0Ugua~-XL6X~qXUlCd zUniOfrhi_|3)DGPu&C~H?RJCMgUBfD+lwZLe>{e6^0{OGZinv&J+U4GtgDRaVxk8w zuxj{?JRu+|nqD)33j?LH?}tv<2_HENZIjD(WsGu(djd#)zoEnTkaRK95hV8cH%+r^ zP{*H@<~o~iZ0c;AMsN#KM1Yxh6v}xF3X0T&ndbVZYw=}!$Bi@EM(srFXT&|xgMTP! z0mK1^j7sR*{P0}+@D5UXa!rfZVX&fNX2zqUqOu!S=aMI%F=D#p{^P-UqCdh8YA`v7 zY#9d01ZC{LI<&Rq{a^4+w*V-8Kp+0%Bs8XP0f^ZBnh(NsYNBTwlH`swrE}-bO~O$x z871?jjqkBC#~jW4{+_x)rzHqb0}~SyKg^-HsfL?Fr$`xD*g*ccAaG!PNjup7;2Zi4 zrw)>huXq&1?LE&-C?s(cUY?%dy+7otsKX|>Pz{%{=e4U^!qxU~A0#LI;DO-R?56&Pam#$nkO0l2#-D+WoQ0Ri({PiV<+n=0c>U0N zNOqyNPG)Q;tPZk?tfWhu+z7m;?9zwE#tp=G2GSAwedP$Ud-TpXQ4EA(n8=yot#HM3FdP z2qqkg?z{Kh5V{kOE2An9LBuV87JYmuMRsk>cw1zc1{FP1zAN2jwH>=}`1wJ&vjJrsRPLDA1j>0U`2rC7zU%se&g&d6 zH2$X|f8aM1m*@MTId_O#q9F@d-A@z^FE1~{uqfMj$RXAp2I({YH z$v_+$4C1Cl@d05OG-phev5}apx8lQcpa8 zFer&P1=_5kUFPfQzIEC%YFTdgcj5B?y+)&4VK?i|HofmH&DVcx3=uN-mbDJB(k>Jz zhiD1g6`-K1fzAA?&OIiOFnk5arLwYe_yu?kz|H<^3>;Jvi81RNIn zVT@1rz{cq(H|fCGfQ1qh19aH2OWkn7fJi$|wGX0vVhH#-&SxX*)3#CWkR?`wVn~4D z3}X&v9tyV1>Ee64&X8@7Wd0E7VqE5}gpOV~5bqxg8C2qFIX1Dg!~W?&ITlvk0G#+@ zOySo~T@l0Ay1^&|yq6cw^C){iybA_l&vy)#p!RbJnJ$5C2S({HUBXadEI~G01Ig}0 zshgP)tN!%)*<9g|cL+U}fuRCyun{-FxJ)}wr2VO`I;ZUK_I+yu?dz9xCZc6O*a&=5 z`&z{(j7QE7hgDjF=6{8kllle5lH^k)cri|%yosGO7a|xP07^BWT|NpTO=Lv@Vd{XZ z2rvT(H;4jJnm#|iJNUt`1r{*9ISZ}Fj~)9C5*mk;Se8?GsGnyF1A<~29nJ(F(-grO!|rbsXS=Uu*s4R zb55J+&I#OW)bno%OV7yY$CqM2{-nnQ!R*rXYa}HoNs0T#*H13M0A*c%MxUG`o(#}E zcl?!FmkW3aR$;s000w9P2rki^lb62K{pwqvryn}FJ0Q9BqSsCC`G?5Kv{PnhuadSm zQ>@g|@{;R5LI8uUgEMt8&rh#8bSPY^Q{DVx^>ZY7AiH~Oqw2 zOA6$zMD3|~m%i2_-yHq?Jk-LY`?g?<=4#vG_TC8)iU{0Apl?u#5rx6B{QP1GMoCK; z70so7xi^*wSlJxQNT9pKtRK_~6xx0U85bky+`koA9o-(|q8+2Zg)U%DEi3%1!bD!q zx^(X)?)Mry5{3Q~g$UCyQsCG0_)W1JxBo-dLdngnL2n1=)KuTbxwQ@+8LH?f5B&Q>HY4zYZ0eM?v^dY-V~2*-nb*=#S1Yw;Gv~&aV51UlA94i= z$~MJJqM2jYmfHlzX9tA>2Tp9CQyE&`)r+VzwJHvudvYqPIZQ^dB&8Qp#FwKnd{KGH zb;d%hFLa~&o+|2jqBY=JkIXgW{y=TIgMBww2w|@RVkhfGONuff7bY$&z8E~L!>4q( zPcs&g7RmKfvK8>HecHw zyi0i2lI(wq9~*JHuO@lx@r{9#>{#$$$G}3DRQ-d`zOJA&)6m=d&0+Z$FNsr36?nTf z+lK%Cd2xYxOl&O;Icb>n^hId$R-p8UNKN@u=~BVcdYjMk^c0qF|HPj(TzdSy{;an5 zw)lBr_U=PZcGkU4Z~u(y7E%fX9N-UXVEPO=$=P3K{iG+k8E|nwj++V)e02L{_7`}G z3u^5RN`F||i!RWjQUJra59AW2b}^8!fMI|{DiXzj$5suhJ1AxkPoI-|Kx8GJ5Wg}v zX4!fDlt`EORLqQ4<)ePqxh#k^Amh0#j=rXpKB|r`ByE8{I-<@Jv!ERY=-&V%x(l6` zzJ5uu^+!&7J{&SagOt?9*+xK(&VqX4KAaS2 z8%@ll%e1t#z*r?jLi7w@9+?dw)1h=xM}Z49Jw`|*d^x`o!8c6&E>H*AvKYAiG(00` zr%uPtDC!iAw17tQVY3%<29fD>l=kASg@2sd6-wX#7G3I#J*UiIUTq~{xXFHLH~ zF^GgbeBvy0MfM$=Ezs_8*b8(mDU4GI5ZQ_=> zbad|ayLVdPo1#cm$!$ZeMGGq8pO-#9K3r|z+CD5l$jUwd6p9Q=aaV~AS!`IhZSiA# zq-6CQDCa=lNp80(Zs&4>c@h8>*=Qz8_6;c0@w>LsROu=d0)W%hF{1<80AB=#LoBxM zEOv7^;P3JNj=8~Rz8MryU|G!5;u?6xeLzZ#hFS3SMPmjCl-;TKw6h3wX< z)1$Tje@`}hZ=8MN+{n!9{Pcy0xB#YQpEYg+ZrN(aLI>{v;xLCkGVs{;)QVONz2H%K zp^U+g0*4|X4yeckVb1D(WIW%zg2t@Odn=hO;?Cg)1q$ojEw_>WZ%;d>DGVS?Bj=lw zjEKeZm^AZmzVknlE;3vrCQyE>*JH>${`)1^CQW|};%MMrgwk{8sNm*1d(esjDPTfz zR)zfTIMO0~5orT7^YzOZmhb=ZO~vS99yH1{qqFm7Sh4@Ggr!)2IDwovWPdMbSZ7uyc6L%OjZRB+L1H!^8cV zopmI}yxzb6d&9Zy*Z41CBfdw<$JzNl{P8R;bDJwE1w{axt%iq(4}#oAyv^XdJEZUI z>g@bBg^4m&RbK968%GHI{8UzAvG5cbnXJu>6xPYZI`gG*x3c7-qG!)EgxeSyC08wP zpgZK#GZEM@csrK=&)jL{AyYK%DtQy&f9l$nLIx( zbzQX2Xm}gddws*b{)EG2YyW0Q2H6~#WG-5~I1sbbr*Yq{oB%J5pNe}g)HY4b^#jYP zAqYFtG)U;p19NC4tAI*4!az5rJ<^I3y|9#;K3%ON;d;u;%kP$!h7+&P`}gmkPxh6U zQ~py!^ld5gfw{H&qyUJ>L=IIo;!N}0J8TZKYCb9}5v>tVF?iS|oj6TX4yrR*;6a>- z{+r`_FJ2(V9oWvOFHvecQLQt-e*OCXS?uef5IY#dBTB2&TZ2HgSW6ZXkil|M2}A}Y zjS?rY$6{o8406A|Gp-0sB+HW6)@!#zYVoPw!!mAv9MkFCEx=0n60R>_-ToH~I9F~0 zPH8R8o%{9e#^pB)^gOjt>J_*r_zIWXhHC84Ix4a8thu@Q{U<&$TkCF5$#2n6u$#UV ze$`r`MJ9B?aPzrt+Fk1Osy6de`~H|Mvr?LzrgoKl_==^-gnmLsuI>q%US3Lsp%A;2 zCUxOIZv!kg$+^7~-~qy?Vq@*$9QTAZc&;d{2*QOylLgRWcZeA$VJFyfV;YjGgA;t0 zZEVU>BJtf8ApTVt?%o)>suk%E^6IU}n4al~9zwY6lF&2C{oH-0IMM8`)%?HZ`~M<@ z7{H;kxqKO?#}Cv9K9+-ab`rl_6`;YQ`M&tC&$7?j!GQ(!U`{!!{MCe7I6oY_AV|#@ zq84q7u*V1tgN}nNbW4BIl~Yq!aI5efLBe_5PtB1(x29dH^EgAE*li9-aTbtL)Iq)Q zJg^N@n$6a0i%oYRDl~ujQlk;+>&wrN|3UQqc5wIZ-6^YSX=yX_sb~->=6HRy`#Pf+ zUR?R|ujEOh*WAjo%wo=`u4nzS^76OmdaiFHwx>j*1L080!==c7dG!U~pFP`;sSQTq z=I-wIpJ}p6S^edy4^=|%?O(-<74 zw^mHdX>zI*Of@hM;Y?|X$XbwpiS|{CP|)fT^XV^_HBO&*9>244^Uass%YXBoWqI7; zp_qSt#T$%hN3+4cfqFs2SB!U?oArs$BAN|FbhoGE;^C470A|x{4tfX>4)Enx-Kd}d zFhp1VxTNHsh&RE-_}0QI61BJ7#{{MIn7Wp9FySWxFuXGO-cMk42*#4JHj!_4b$jG5 z{&0}Bm`%rY^}~k`xK_jvO*T{&G6!_FO)V{~`}A2DR77hX#aq+9SYNra7YPWz^W9l~ z&;I@N)W}C|qa%g+HfPPBw?^dAnX;?|DnFpW}>7Oz8e9Mx6VwVEx=z@g~f68WpD*F^mfc3?!zRM576CHk}$< zXITj}5(6(kta8I%1=ZZPbMEdOxvyurmb{g*eW%jM8d|k;ui$bUZpB%)_&FCb%+iE( zRTgh#5|&?K(Gp^n`&e-sL5UD4D46uk1F_qX-b&SZ@VVv)HNCdKV%zfXz?2Jyc81B# z<)brwU~23jUT}EW4m@k{36aHl9Pqg+ZTV2{knZ=>?CjYjp355$2sQ(`C(6U|@k`g@ zDYcF$#|Yb|s`sF#<{Dfx9Y0PEj>nNbIMu}SRa7*PX)P_SYCEjf&((+&NG6w+CGs9% zUtb^@SiQ5v;*2}SterjFAvIK)S?oIs-Nxx*ayOYd(17<#G(aPK*GD|bL0@%OC}=!? zA6EzmCufpyHFgRSnKeOVAm705zO(uOA`T>OKvj&hKH{vxu8s*IJXm0i-b#Ct>a^Bu zS5oK<@5q)~NAy38Cxt`WwiPtWaxeo!>yzv zq+g~L?$ zy0a>(ppnfK)}(y(D#ta+G#_llzhu@ATry8=3?vkmMva{1NdNEFiLbmAawuV2Y^ka3 zd+P_@4?1CY8a?WXwF>WT&3N{>Q7GFEQPmC|Q?yT?e$DMQXZ=jM*;#70?&i0qt3U54icwkB^ewaIWH|lT47}AHOnB(N^rFih>}~hj={qCs1GJo1Li>@o z25aNf&bZ0v8hp-1_%7f7CiX`M0FRszr= zUNy+w1oDtF{mFM= zhzwUN=l8vEkIB45pjL)5D)W5sYHFlKjT)oOwu@4JDBKkJhE}WPtZQW**1}uS`zGKo zF#GO_Z`I5dmWhmawLVpMy7}DOn>HmwKbQk+ppC?SyRpudQ=Q+%=)`&SoW^6MxOeA ze>{(R)NEV)^i?1}!2kWx8yX-)HGeR%13`+EJ+BKx{`dFrA7}gacN;6A|StkByV@0f115SuZ$O->>qLS%+hf*Btx|7!igDsD+ZP zcjg*@gA}fHp7V$S+37~@J;fYV=MVG|!z;<3kHSiiCvtGKq#gkogO&o5blllK@SzE_ zt5p<#5n-T|{bARodxqk^A7M+2f~C?M-mrV%;!b()9bWZ%uKNyQh{Ef}uVeGfF_r6td& zCricy{ygv#;mfE`*D&3rzwXLm12-j!AYr+G0l)A7t>vQbXsvNe|8%SoZrCZ?& z_~NWd!ux+h_5fNHG81L$TM-bxj=6F$1{9r^t8wJn+JHy;SA-TVDH;`ARgiJ0)8hKStcpzy3rhNDnEd$6fhvQAa@JGe#TlrZ?r+$7`TFNS z84#{xDtSY)Aw#sh?z9H)x|=mFm%C8slBW4xLGb(cx@ZlxV@!~k0426mylyX7!rTU# zq2JnCibdVA(`|to=?`437emLjY+P|4K+fHt_c^$O9i>mwQ5%&%LGKu;-k37n#?(`~ zx7RLXxXRr*kmIZYQ_|7`?gXe0SgOD;;y5QuTjl;oeAAiDoI;9=!^s%L1PW1!i6gJq zAAJai4ddgathC?zd>(WPIhn&YVhY7QLFKVw5+#Np$ZtfOZ({O|NqGDJ=i$#ie8_`0 zLzqbH>NwIBy$(<4dn1-F0`WqO)vP}>uQvRhsKrV;$X)NslRWann|1NM^_62hj>(EU zFgw9vo5Y?L7M#Ov_q;+^<9&kRh!L0t9w25;>W+?kF7EH}@0`ev4m9@CQESC$jMzQI zeue%kbc!skC4w=1GzC{I)I*L0S>$$hcEc8XlUr|yY1t%A;2|JZjVOvC^^xs244Apny@*h!jV4?kF1P!Pu))GdMMBUXt z`KYv%yFjv4XH1ytC)w~_R&Pd*W~vm`3hFti2YrXG5^#=Y)t|XJth3OShg(K=b~cXp zTNLdSvoqB;c6P9o6cM5l3vNIOXlGEAH1+gsFu9A#Hpz+@_+JOS~;KS4W2QVo!7$ZVvi@qIoe)F8#h z%}osb@ImRz9~NQ5B$)VbKkpjPQ`5*+Lel_yR0mlK1y`o3stT(oA(tXDy(32&{bgkX zO4$IKsi~^cVh^d^_7m9VSAlWJB&yz!dZ}8+BGb&m!l=clXV0GbJ1Oxh3pYrSeipG! zzg;%83Y09c$a5QAYn$9m?h>b=kiEFn4bRk$6q1uBre7^uwwhIT)r$K6o>a@Fl60#d;xT*VU`1`vPfKB9Vk%-c0+Sbxq*9PG!&e}d>H$+^EOVCnT0gh;m%2m=Uz$94r=$1>-PEE7N`U#8f-&tLA+eS%>p=Z zvGaLEj#P$HoK^x37d~3tm))S=YmefFG`FPb_-pUs~`NB(m6XbawmdDU>6NPT! zL$r$LRm#KnBk~D~imo9}_~@T)qyc4v|Alal1vcsOB>?R3CkSg7?4|V2+(84^UU_c^ zYaAc0evu=O=8aP0H-{pHupNm6D>TxC35tRADn8+V%ycxypqt`~t|G&y%7=1S%%vV! zw8TF>b7$s*aZwb558_vVS5{h@Na}IsfS{SfkwX0V;)GI+m#@=ESt4@DgLmim;$BX= zBPPH;I2dmVi3>rdI(jCk>Chn-VEPyGw&~neO=5vR5>dD=GQpJ-9EiN_m0D#=CW~^- zio&iEsFPsPPauT8_H4_GruOzba2?F^jVm{|yqhBuC+M)nyu&B6va?fDOUTruxPP){ zuL19;MWf@#S0@aKUl&}khvhZ;){h_c{%aVUTU%+fK5N@^U)>c`ovD_8uW_gfWlDcL zewZQ#;`s&E-DQL|2hw$uyN zv(1GI707XGfX?8rfIlkFb^uEo00v(V;>t}(;Qf(tSt@#O@Q7(Dtdj#^gDRf$ z6#Iv6j?mUR5+{KSexk4k@ge|+R8z?gN9O0Y2+@S05#0gM{v8mo9eBucE`$oP_YpNM zL%8M6E-q)gUb+CwKqMfLPRH0hmWPEv7U%5h+VWX2pp<)TY)n5i>gjW#Q8mPVECKEc zJ-8GocH04%OX?=d$3*2Ygz8lk^3o{Bn&Mdd>So-Rjw!aUh51+Jo9n=<5I`Ph?Y6hK z$14$6Z{+coMSJ*mw6@*=E%_V*BvJ;kkL|v`;^qFj+kbgq!kLDTA4BDg5Y~>T#y?#f zF=<49G#xF4-P_`{DeKqF&z5-TvJ zOM3BwQ%+8fGd^gw8-ah6a+av8)7*4N(Tk@-UMD@;V(w1$lYw^W$rf!sPqbmoG*@KGY{yKp`W; zJi;R++kfES2^`8><4S(^Y%``V za$EfouAAIor(QK{it-FK_vax5T%d7)%6eT(FL=~Hx+QisGgSZXpkqi-``I0J!E75( zqs@BxQXaAO*5g|+rDtSj2Izyj2fz#P2|nOEI78%+BZN52{xTu{a@ZPN^!Bj5S?;OQ z8bANIU>K-z@rIr6l-hLUa$!M1Q%A>o+yxX@$4%-Q8j=T1w7tmw16Uele7vulmRBAr zdk@B3_pfC}i-z_$VTm>>UdZ#Cjz2(t%4>;1wEsLymj2*~;TEDsOF}9k6CsqtKv!W* zCC~4AyLa|&Qxgl*?X~#Ih6R)L15zzl?TXv;oT^ZfWpa0Qb)k@1ANMs#xUGNEP$;9- zwphO?qNjG631~IN2hTJ1s6xCRV#l?ZGXnoa7G)I`iT{8(uGKuC1$=x}7u6(JxEgY) zk?d`0;XWdfvuMWiCat5)quAt_|u2W;9pm-%{7;o4bm}>AJo_$$bTH(k; zynm#nQ?`#HAW}%Rd{>zsy{soe2X@scoIin@g1klI`rw(Z-lT9irBQfKxZ-4Iv zp+DD@P`c`hL}hl>*VV0RoMx~$b#s$RfWEDqrew#;WUwaXJd1#ek!C7-jzBcE4dysQs7&OyFM+atJdYshN6RmUa_;fkHs);Pr z4VOTRj61X&M-1%%AtdO}3K`Kn{n3Wc7*($s_alu`r`0NOMdE#070#;^937}-5)xg3 zEY%`(wC+rwf||ar*yzZo3S=3)^_z#sGwTZY)&f=`983`VnmRifk*H>8T|cW%i=0#z zjZBXK{nodtcdgF-7%xUTnzJ2>eKX2VR!UPHlk*!d)YAG={3^`NJlMrI*m_-&k4Mw7 zXAIg^KUiG>3LOgruTMuu$Mlchj#+?9IbJ71#W^nvm#OQ&B}8yMyq7aW5Q3H>HmsXOKbEOi(HxQ2{irWTOcP zS&2?BJxZhsSTSaM*f5!p`IP4&p?){wZV)*Zh(pmA)F@sD&a{V}NfZkNZUpFw?0@lR zFu#0xSJxf%^)RzXh0}y25ZdnmSrmA@2rx<6*-RKE!El5cB2hJ_)S$;xJ=tHI57-8g z?rrp@)C1w14F~xSMp+lI>OT4u@4mQ2{D@*>a#GSN2(k!|5yakOeBn=C<38c+t^pz) zDU^g$g03iOP0wylYpr`-GwzD0Ajpz>3`{aske4b@^;fYr!gCTWA`}Lu`|mw9OaGa^ z)*gY>xYX7D>v3+l&=Xg7POdU{QmvFj_`Dladu zJ++14W@@7#y!&Labz%Fo=TRCLTW0m?jCNB2LB&RR&+y@b z;Q6Er3=j5y7wW`n z9oN#)WHyd{Daxh?0t}t2_$~I09 zkBYBnXUuKWVH!q2A`C79EmLwP_J-`sNf`*}oxN#b zjZ=<+EZHGd+Qn;VM0e=XA`2ruaYn>|h&V@~sT&?0T_5*Pu<`a|a&U!q91-#r4sg48 zF_^1eZBe&f&`QSgx;E|#k~zHXEABUjf1%@e?rnY+JrrR@<0~Oy11WCdykcN<9*f1$ z;G;R{CGbzyx{+B!|7Vzy5}O?Nfe1}JSmaF99b|FZyyu(yi#cYK`t3}9mVZ3ZWfE2k z&^iKxBI*C?DA_=S$5=aMwi5d;x4LlEfCJyY_PQOcNHQZ9_g?N#66fJG#Mh?pxxexN)xqAO9#iNXFG8E(pcHT z?xmCIefBZ<%oCdq(!U*IIrevWdck6O=iS41cvP*VIO;Y`>85O*7#^lHPG|Nn0Q-E5 zs6$SpD{%ozF`%;b&cWdI=8luk9$~hLKu_4Er~Jt_AJhd&%{IVvVdP+oVqJ6Q)1dLP zq|~f{#Asc6`@63bXj{m_H1v_^3 zN$m?kPI~lUED}^*ZalHGWOMqPWwRo^w07dOsA(;%{8a#6!lC{l#t zycD7#`0Dg!V@|pJE0)0wr|SQG&Yx%BH7n3_xaLdbWtO-ji7Nki%rr2WQ zw9VvcYlVf9CcV$l)q0*mH-=<`9r3@$#;S32N3>lev0l`zbKg>g#5wJDL79bV#Utle z3I2WD>8VF2)a|}US5ibfv9At|8$%qEVN{Hk7Ym*5IBk%$qHSYjOq|+ON{Xg$2v2V{rdRux*>yeFIz$-h(LJQ^w zy0pAbDDVUbW!KO3jg(9&spzDH86=a>by;ZYpKXy&B)coemJTk*(WHS=sg1WpSL#!w zq|$=?W1pV4vPwOUCYg^o;JnIo@4;G8lYAsc2=R4>zA+I(Y#8)cHfjOgTvDUHQc)bf~wSh8or{)L_Agd zsjB$;SZn;T0qR)S81^qg){f+X*c*c^=wyzG0h)@R_1+J%gx(PUk7e$FJ7`%y!i10;feq2^| z#>L59YIbh{BPv>MRN|;y_WX0*t{7sa)Aud=n7ygw-$ykYsFAz(@7Ks3rMkY?s`DuD zGE5f#;$D5b!{S@9vFGhA9wDNQw^Q~!n2XGxuyvA6Sgu)ogW<-#gS1e6RFG*|Nk_8v zPQZ0&Bql-ZYZ^T^PLIBn`1kCO+hO|!y<{@VE@b$WLODi8T}<)DnY{$8n(KWY`1-DL zi(%e=L94bat>kfH%9ujM-Ri!;DZZy2E)w74-=+r*=L%8#b$mdIAU_P&KcnPr(!!+A zc+F*cCbor;ck608x)L%%VhX}a>{iC552TisMGEDi!2;6}` literal 0 HcmV?d00001 From f67941221eac99274baeefbf1b633bbe0f308400 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 8 May 2022 15:24:06 +1000 Subject: [PATCH 122/243] Enable syntax highlighting in test suite for easier debugging --- src/blenderbim/pytest.ini | 1 + src/blenderbim/scripts/setup_pytest.py | 1 + 2 files changed, 2 insertions(+) diff --git a/src/blenderbim/pytest.ini b/src/blenderbim/pytest.ini index 5cd46aa294..0f1e811706 100644 --- a/src/blenderbim/pytest.ini +++ b/src/blenderbim/pytest.ini @@ -29,3 +29,4 @@ markers = type unit void +addopts = --color=yes --code-highlight=yes diff --git a/src/blenderbim/scripts/setup_pytest.py b/src/blenderbim/scripts/setup_pytest.py index 8a722bc015..552dbf55b0 100644 --- a/src/blenderbim/scripts/setup_pytest.py +++ b/src/blenderbim/scripts/setup_pytest.py @@ -25,3 +25,4 @@ subprocess.call([py_exec, "-m", "pip", "install", "--upgrade", "pip"]) subprocess.call([py_exec, "-m", "pip", "install", "pytest"]) subprocess.call([py_exec, "-m", "pip", "install", "pytest-blender"]) subprocess.call([py_exec, "-m", "pip", "install", "pytest-bdd"]) +subprocess.call([py_exec, "-m", "pip", "install", "pygments"]) From 1f3ba3d09d921016c2c021aaeb2e4211aea1453c Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 8 May 2022 15:45:47 +1000 Subject: [PATCH 123/243] New makefile targets to specifically run tests of single modules --- src/blenderbim/Makefile | 8 ++++++++ src/blenderbim/docs/devs/running_tests.rst | 10 ++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index 8828a7c727..84b93701ca 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -534,11 +534,19 @@ test-core: .PHONY: test-bim test-bim: +ifndef MODULE pytest test/bim +else + pytest test/bim -m "$(MODULE)" ./ --maxfail=1 +endif .PHONY: test-tool test-tool: +ifndef MODULE pytest test/tool +else + pytest test/tool/test_$(MODULE).py +endif .PHONY: qa qa: diff --git a/src/blenderbim/docs/devs/running_tests.rst b/src/blenderbim/docs/devs/running_tests.rst index 714cb0082a..165ddd1027 100644 --- a/src/blenderbim/docs/devs/running_tests.rst +++ b/src/blenderbim/docs/devs/running_tests.rst @@ -11,7 +11,7 @@ smoke tests. These tests use ``pytest`` as the test framework and runner. All development is expected to use test driven development, and so we expect test coverage to be 100% where it is technically possible to test. -When running tests, a Makefile target is provided for convenience so you can +When running tests, Makefile targets are provided for convenience so you can type in a simple command without knowing the internals. Because the BlenderBIM Add-on depends on IfcOpenShell, it is advised to also run @@ -57,13 +57,14 @@ of all concrete functions. .. code-block:: bash $ cd src/blenderbim/ - $ make test-tool + $ make test-tool # Test everything + $ make test-tool MODULE=foo # Only test a single module BlenderBIM Add-on tests ----------------------- The BIM layer acts as a full integration test. It is not possible to fully test -the UI, as we cannot reliable emit interface signals, nor read the interface as +the UI, as we cannot reliably emit interface signals, nor read the interface as a DOM of sorts. The best we can do is to call Blender operators as a smoke test, and also check simple property and scene changes. It has the same dependencies as the tool tests. @@ -71,4 +72,5 @@ as the tool tests. .. code-block:: bash $ cd src/blenderbim/ - $ make test-bim + $ make test-bim # Test everything + $ make test-bim MODULE=foo # Only test a single module From c8d6d12442ccb2d177f42dea10023dceae166b37 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 8 May 2022 15:48:09 +1000 Subject: [PATCH 124/243] The material manager now groups materials into categories --- .../bim/module/material/__init__.py | 2 ++ .../bim/module/material/operator.py | 28 +++++++++++++++ .../blenderbim/bim/module/material/prop.py | 2 ++ .../blenderbim/bim/module/material/ui.py | 36 +++++++++++++------ src/blenderbim/blenderbim/tool/material.py | 25 ++++++++++--- .../test/bim/feature/material.feature | 15 ++++++++ src/blenderbim/test/tool/test_material.py | 25 ++++++++++--- 7 files changed, 113 insertions(+), 20 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/__init__.py b/src/blenderbim/blenderbim/bim/module/material/__init__.py index 8ba682ae5c..818cd76977 100644 --- a/src/blenderbim/blenderbim/bim/module/material/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/material/__init__.py @@ -28,6 +28,7 @@ classes = ( operator.AddProfile, operator.AssignMaterial, operator.AssignParameterizedProfile, + operator.ContractMaterialCategory, operator.CopyMaterial, operator.DisableEditingAssignedMaterial, operator.DisableEditingMaterialSetItem, @@ -36,6 +37,7 @@ classes = ( operator.EditMaterialSetItem, operator.EnableEditingAssignedMaterial, operator.EnableEditingMaterialSetItem, + operator.ExpandMaterialCategory, operator.LoadMaterials, operator.RemoveConstituent, operator.RemoveLayer, diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py index 37e4781581..b635f13fa6 100644 --- a/src/blenderbim/blenderbim/bim/module/material/operator.py +++ b/src/blenderbim/blenderbim/bim/module/material/operator.py @@ -778,3 +778,31 @@ class CopyMaterial(bpy.types.Operator): if material.id() in object_material_ids: return obj.data.materials.append(IfcStore.get_element(material.id())) + + +class ExpandMaterialCategory(bpy.types.Operator): + bl_idname = "bim.expand_material_category" + bl_label = "Expand Material Category" + bl_options = {"REGISTER", "UNDO"} + category: bpy.props.StringProperty() + + def execute(self, context): + props = context.scene.BIMMaterialProperties + for category in [c for c in props.materials if c.is_category and c.name == self.category]: + category.is_expanded = True + core.load_materials(tool.Material, props.material_type) + return {"FINISHED"} + + +class ContractMaterialCategory(bpy.types.Operator): + bl_idname = "bim.contract_material_category" + bl_label = "Contract Material Category" + bl_options = {"REGISTER", "UNDO"} + category: bpy.props.StringProperty() + + def execute(self, context): + props = context.scene.BIMMaterialProperties + for category in [c for c in props.materials if c.is_category and c.name == self.category]: + category.is_expanded = False + core.load_materials(tool.Material, props.material_type) + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/material/prop.py b/src/blenderbim/blenderbim/bim/module/material/prop.py index 349d132452..8f400ab07f 100644 --- a/src/blenderbim/blenderbim/bim/module/material/prop.py +++ b/src/blenderbim/blenderbim/bim/module/material/prop.py @@ -109,6 +109,8 @@ def get_material_types(self, context): class Material(PropertyGroup): name: StringProperty(name="Name") ifc_definition_id: IntProperty(name="IFC Definition ID") + is_category: BoolProperty(name="Is Category", default=False) + is_expanded: BoolProperty(name="Is Expanded", default=True) total_elements: IntProperty(name="Total Elements") diff --git a/src/blenderbim/blenderbim/bim/module/material/ui.py b/src/blenderbim/blenderbim/bim/module/material/ui.py index 818d59cedb..f7493f3c27 100644 --- a/src/blenderbim/blenderbim/bim/module/material/ui.py +++ b/src/blenderbim/blenderbim/bim/module/material/ui.py @@ -61,16 +61,18 @@ class BIM_PT_materials(Panel): row.operator("bim.add_material", text="", icon="ADD") if self.props.materials and self.props.active_material_index < len(self.props.materials): material = self.props.materials[self.props.active_material_index] - op = row.operator("bim.select_by_material", text="", icon="RESTRICT_SELECT_OFF") - op.material = material.ifc_definition_id - row.operator("bim.remove_material", text="", icon="X").material = material.ifc_definition_id + if material.ifc_definition_id: + op = row.operator("bim.select_by_material", text="", icon="RESTRICT_SELECT_OFF") + op.material = material.ifc_definition_id + row.operator("bim.remove_material", text="", icon="X").material = material.ifc_definition_id else: row.operator("bim.add_material_set", text="", icon="ADD").set_type = self.props.material_type if self.props.materials and self.props.active_material_index < len(self.props.materials): material = self.props.materials[self.props.active_material_index] - op = row.operator("bim.select_by_material", text="", icon="RESTRICT_SELECT_OFF") - op.material = material.ifc_definition_id - row.operator("bim.remove_material_set", text="", icon="X").material = material.ifc_definition_id + if material.ifc_definition_id: + op = row.operator("bim.select_by_material", text="", icon="RESTRICT_SELECT_OFF") + op.material = material.ifc_definition_id + row.operator("bim.remove_material_set", text="", icon="X").material = material.ifc_definition_id self.layout.template_list("BIM_UL_materials", "", self.props, "materials", self.props, "active_material_index") @@ -395,7 +397,21 @@ class BIM_UL_materials(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname): if item: row = layout.row(align=True) - row.label(text=item.name) - row2 = row.row() - row2.alignment = "RIGHT" - row2.label(text=str(item.total_elements)) + + if item.is_category: + if item.is_expanded: + row.operator( + "bim.contract_material_category", text="", emboss=False, icon="DISCLOSURE_TRI_DOWN" + ).category = item.name + else: + row.operator( + "bim.expand_material_category", text="", emboss=False, icon="DISCLOSURE_TRI_RIGHT" + ).category = item.name + row.label(text=item.name or "Uncategorised") + else: + row.label(text="", icon="BLANK1") + row.label(text=item.name, icon="MATERIAL") + + row2 = row.row() + row2.alignment = "RIGHT" + row2.label(text=str(item.total_elements)) diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 3eef005d8e..1e47c643c7 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -55,6 +55,7 @@ class Material(blenderbim.core.tool.Material): @classmethod def import_material_definitions(cls, material_type): props = bpy.context.scene.BIMMaterialProperties + expanded_categories = {m.name for m in props.materials if m.is_expanded} props.materials.clear() get_name = lambda x: x.Name or "Unnamed" if material_type == "IfcMaterialLayerSet": @@ -62,11 +63,25 @@ class Material(blenderbim.core.tool.Material): elif material_type == "IfcMaterialList": get_name = lambda x: "Unnamed" materials = sorted(tool.Ifc.get().by_type(material_type), key=get_name) - for material in materials: - new = props.materials.add() - new.ifc_definition_id = material.id() - new.name = get_name(material) - new.total_elements = len(set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material))) + categories = {} + if material_type == "IfcMaterial": + [categories.setdefault(m.Category, []).append(m) for m in materials] + for category, mats in categories.items(): + cat = props.materials.add() + cat.name = category or "" + cat.is_category = True + cat.is_expanded = cat.name in expanded_categories + for material in mats if cat.is_expanded else []: + new = props.materials.add() + new.ifc_definition_id = material.id() + new.name = get_name(material) + new.total_elements = len(set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material))) + else: + for material in materials: + new = props.materials.add() + new.ifc_definition_id = material.id() + new.name = get_name(material) + new.total_elements = len(set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material))) @classmethod def is_editing_materials(cls): diff --git a/src/blenderbim/test/bim/feature/material.feature b/src/blenderbim/test/bim/feature/material.feature index 125369586d..c3d89dbbb1 100644 --- a/src/blenderbim/test/bim/feature/material.feature +++ b/src/blenderbim/test/bim/feature/material.feature @@ -118,3 +118,18 @@ Scenario: Select by material And the variable "material" is "{ifc}.by_type('IfcMaterial')[0].id()" When I press "bim.select_by_material(material={material})" Then nothing happens + +Scenario: Expand material category + Given an empty IFC project + And I press "bim.load_materials" + And I press "bim.add_material(obj='')" + When I press "bim.expand_material_category(category='')" + Then nothing happens + +Scenario: Contract material category + Given an empty IFC project + And I press "bim.load_materials" + And I press "bim.add_material(obj='')" + And I press "bim.expand_material_category(category='')" + When I press "bim.contract_material_category(category='')" + Then nothing happens diff --git a/src/blenderbim/test/tool/test_material.py b/src/blenderbim/test/tool/test_material.py index 4ce5af138f..430acbb04e 100644 --- a/src/blenderbim/test/tool/test_material.py +++ b/src/blenderbim/test/tool/test_material.py @@ -84,15 +84,30 @@ class TestGetName(NewFile): class TestImportMaterialDefinitions(NewFile): - def test_import_materials(self): + def test_import_materials_grouped_by_categories(self): ifc = ifcopenshell.file() tool.Ifc.set(ifc) - material = ifc.createIfcMaterial(Name="Name") + material = ifc.createIfcMaterial(Name="Name", Category="Category") subject.import_material_definitions("IfcMaterial") props = bpy.context.scene.BIMMaterialProperties - assert props.materials[0].ifc_definition_id == material.id() - assert props.materials[0].name == "Name" - assert props.materials[0].total_elements == 0 + assert props.materials[0].ifc_definition_id == 0 + assert props.materials[0].name == "Category" + assert props.materials[0].is_category is True + assert props.materials[0].is_expanded is False + assert len(props.materials) == 1 + + def test_importing_expanded_material_categories(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + material = ifc.createIfcMaterial(Name="Name", Category="Category") + subject.import_material_definitions("IfcMaterial") + props = bpy.context.scene.BIMMaterialProperties + props.materials[0].is_expanded = True + subject.import_material_definitions("IfcMaterial") + assert len(props.materials) == 2 + assert props.materials[1].ifc_definition_id == material.id() + assert props.materials[1].name == "Name" + assert props.materials[1].total_elements == 0 def test_import_material_layer_sets(self): ifc = ifcopenshell.file() From 910d189f3540fc850500ccb5b26d735c28dc407a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 8 May 2022 16:27:35 +1000 Subject: [PATCH 125/243] #2188 support displaying inherited materials --- .../blenderbim/bim/module/material/data.py | 13 +++++++++++++ src/blenderbim/blenderbim/bim/module/material/ui.py | 4 ++++ src/blenderbim/blenderbim/bim/module/pset/ui.py | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/data.py b/src/blenderbim/blenderbim/bim/module/material/data.py index a327e31ab8..2eff87dfbe 100644 --- a/src/blenderbim/blenderbim/bim/module/material/data.py +++ b/src/blenderbim/blenderbim/bim/module/material/data.py @@ -78,9 +78,22 @@ class ObjectMaterialData: def load(cls): cls.data = { "materials": cls.materials(), + "type_material": cls.type_material(), } cls.is_loaded = True @classmethod def materials(cls): return sorted([(str(m.id()), m.Name or "Unnamed", "") for m in tool.Ifc.get().by_type("IfcMaterial")], key=lambda x: x[1]) + + @classmethod + def type_material(cls): + element = tool.Ifc.get_entity(bpy.context.active_object) + element_type = ifcopenshell.util.element.get_type(element) + if element_type != element: + material = ifcopenshell.util.element.get_material(element_type) + if material.is_a() in ("IfcMaterialLayerSetUsage", "IfcMaterialLayerSet"): + name_attr = "LayerSetName" + else: + name_attr = "Name" + return getattr(material, name_attr, "Unnamed") diff --git a/src/blenderbim/blenderbim/bim/module/material/ui.py b/src/blenderbim/blenderbim/bim/module/material/ui.py index f7493f3c27..d0048f5633 100644 --- a/src/blenderbim/blenderbim/bim/module/material/ui.py +++ b/src/blenderbim/blenderbim/bim/module/material/ui.py @@ -141,6 +141,10 @@ class BIM_PT_object_material(Panel): row.operator("bim.add_material", icon="ADD", text="").obj = "" return + if ObjectMaterialData.data["type_material"]: + row = self.layout.row(align=True) + row.label(text="Inherited Material: " + ObjectMaterialData.data["type_material"], icon="FILE_PARENT") + if self.product_data: if self.product_data["type"] == "IfcMaterialConstituentSet": self.material_set_id = self.product_data["id"] diff --git a/src/blenderbim/blenderbim/bim/module/pset/ui.py b/src/blenderbim/blenderbim/bim/module/pset/ui.py index 9cfca725c7..15d9937d24 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/ui.py +++ b/src/blenderbim/blenderbim/bim/module/pset/ui.py @@ -147,7 +147,7 @@ class BIM_PT_object_psets(Panel): draw_psetqto_ui(context, pset["id"], pset, props, self.layout, "Object") if ObjectPsetsData.data["inherited_psets"]: - self.layout.label(text="Inherited Psets:") + self.layout.label(text="Inherited Psets:", icon="FILE_PARENT") for pset in ObjectPsetsData.data["inherited_psets"]: draw_psetqto_ui(context, pset["id"], pset, props, self.layout, "Object") From 93fd3f97e3fbb5bad32a6900e66b115013ef1cc2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 8 May 2022 18:03:18 +1000 Subject: [PATCH 126/243] #2111 New feature to select by style and see style usage --- .../blenderbim/bim/module/material/data.py | 4 +- .../blenderbim/bim/module/style/__init__.py | 1 + .../blenderbim/bim/module/style/operator.py | 37 +++--- .../blenderbim/bim/module/style/ui.py | 10 +- src/blenderbim/blenderbim/core/style.py | 4 + src/blenderbim/blenderbim/core/tool.py | 2 + src/blenderbim/blenderbim/tool/material.py | 16 +-- src/blenderbim/blenderbim/tool/style.py | 12 ++ src/blenderbim/test/bim/feature/style.feature | 10 ++ src/blenderbim/test/tool/test_style.py | 26 ++++ .../ifcopenshell/util/element.py | 56 +++++++-- .../test/util/test_element.py | 115 ++++++++++++++++-- 12 files changed, 242 insertions(+), 51 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/data.py b/src/blenderbim/blenderbim/bim/module/material/data.py index 2eff87dfbe..3f5245fc13 100644 --- a/src/blenderbim/blenderbim/bim/module/material/data.py +++ b/src/blenderbim/blenderbim/bim/module/material/data.py @@ -92,8 +92,10 @@ class ObjectMaterialData: element_type = ifcopenshell.util.element.get_type(element) if element_type != element: material = ifcopenshell.util.element.get_material(element_type) + if not material: + return if material.is_a() in ("IfcMaterialLayerSetUsage", "IfcMaterialLayerSet"): name_attr = "LayerSetName" else: name_attr = "Name" - return getattr(material, name_attr, "Unnamed") + return getattr(material, name_attr, "Unnamed") or "Unnamed" diff --git a/src/blenderbim/blenderbim/bim/module/style/__init__.py b/src/blenderbim/blenderbim/bim/module/style/__init__.py index c7ecdab9e3..d8d6b7f344 100644 --- a/src/blenderbim/blenderbim/bim/module/style/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/style/__init__.py @@ -27,6 +27,7 @@ classes = ( operator.EnableEditingStyle, operator.LoadStyles, operator.RemoveStyle, + operator.SelectByStyle, operator.UnlinkStyle, operator.UpdateStyleColours, operator.UpdateStyleTextures, diff --git a/src/blenderbim/blenderbim/bim/module/style/operator.py b/src/blenderbim/blenderbim/bim/module/style/operator.py index 0e352ed138..09e1215b1f 100644 --- a/src/blenderbim/blenderbim/bim/module/style/operator.py +++ b/src/blenderbim/blenderbim/bim/module/style/operator.py @@ -24,14 +24,7 @@ import ifcopenshell.util.representation from blenderbim.bim.ifc import IfcStore -class Operator: - def execute(self, context): - IfcStore.execute_ifc_operator(self, context) - blenderbim.bim.handler.refresh_ui_data() - return {"FINISHED"} - - -class UpdateStyleColours(bpy.types.Operator, Operator): +class UpdateStyleColours(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.update_style_colours" bl_label = "Update Style Colours" bl_options = {"REGISTER", "UNDO"} @@ -40,7 +33,7 @@ class UpdateStyleColours(bpy.types.Operator, Operator): core.update_style_colours(tool.Ifc, tool.Style, obj=context.active_object.active_material) -class UpdateStyleTextures(bpy.types.Operator, Operator): +class UpdateStyleTextures(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.update_style_textures" bl_label = "Update Style Textures" bl_options = {"REGISTER", "UNDO"} @@ -55,7 +48,7 @@ class UpdateStyleTextures(bpy.types.Operator, Operator): ) -class RemoveStyle(bpy.types.Operator, Operator): +class RemoveStyle(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.remove_style" bl_label = "Remove Style" bl_options = {"REGISTER", "UNDO"} @@ -65,7 +58,7 @@ class RemoveStyle(bpy.types.Operator, Operator): core.remove_style(tool.Ifc, tool.Material, tool.Style, style=tool.Ifc.get().by_id(self.style)) -class AddStyle(bpy.types.Operator, Operator): +class AddStyle(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_style" bl_label = "Add Style" bl_options = {"REGISTER", "UNDO"} @@ -74,7 +67,7 @@ class AddStyle(bpy.types.Operator, Operator): core.add_style(tool.Ifc, tool.Style, obj=context.active_object.active_material) -class UnlinkStyle(bpy.types.Operator, Operator): +class UnlinkStyle(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.unlink_style" bl_label = "Unlink Style" bl_options = {"REGISTER", "UNDO"} @@ -83,7 +76,7 @@ class UnlinkStyle(bpy.types.Operator, Operator): core.unlink_style(tool.Ifc, tool.Style, obj=context.active_object.active_material) -class EnableEditingStyle(bpy.types.Operator, Operator): +class EnableEditingStyle(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.enable_editing_style" bl_label = "Enable Editing Style" bl_options = {"REGISTER", "UNDO"} @@ -92,7 +85,7 @@ class EnableEditingStyle(bpy.types.Operator, Operator): core.enable_editing_style(tool.Style, obj=context.active_object.active_material) -class DisableEditingStyle(bpy.types.Operator, Operator): +class DisableEditingStyle(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.disable_editing_style" bl_options = {"REGISTER", "UNDO"} bl_label = "Disable Editing Style" @@ -101,7 +94,7 @@ class DisableEditingStyle(bpy.types.Operator, Operator): core.disable_editing_style(tool.Style, obj=context.active_object.active_material) -class EditStyle(bpy.types.Operator, Operator): +class EditStyle(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.edit_style" bl_label = "Edit Style" bl_options = {"REGISTER", "UNDO"} @@ -110,7 +103,7 @@ class EditStyle(bpy.types.Operator, Operator): core.edit_style(tool.Ifc, tool.Style, obj=context.active_object.active_material) -class DisableEditingStyles(bpy.types.Operator, Operator): +class DisableEditingStyles(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.disable_editing_styles" bl_options = {"REGISTER", "UNDO"} bl_label = "Disable Editing Styles" @@ -119,7 +112,7 @@ class DisableEditingStyles(bpy.types.Operator, Operator): core.disable_editing_styles(tool.Style) -class LoadStyles(bpy.types.Operator, Operator): +class LoadStyles(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.load_styles" bl_label = "Load Styles" bl_options = {"REGISTER", "UNDO"} @@ -127,3 +120,13 @@ class LoadStyles(bpy.types.Operator, Operator): def _execute(self, context): core.load_styles(tool.Style, style_type=self.style_type) + + +class SelectByStyle(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.select_by_style" + bl_label = "Select By Material" + bl_options = {"REGISTER", "UNDO"} + style: bpy.props.IntProperty() + + def _execute(self, context): + core.select_by_style(tool.Style, style=tool.Ifc.get().by_id(self.style)) diff --git a/src/blenderbim/blenderbim/bim/module/style/ui.py b/src/blenderbim/blenderbim/bim/module/style/ui.py index d41a3ad46f..86f4261866 100644 --- a/src/blenderbim/blenderbim/bim/module/style/ui.py +++ b/src/blenderbim/blenderbim/bim/module/style/ui.py @@ -57,8 +57,8 @@ class BIM_PT_styles(Panel): #row.operator("bim.add_presentation_style", text="", icon="ADD") if self.props.styles and self.props.active_style_index < len(self.props.styles): style = self.props.styles[self.props.active_style_index] - # op = row.operator("bim.select_by_style", text="", icon="RESTRICT_SELECT_OFF") - # op.style = style.ifc_definition_id + op = row.operator("bim.select_by_style", text="", icon="RESTRICT_SELECT_OFF") + op.style = style.ifc_definition_id row.operator("bim.remove_style", text="", icon="X").style = style.ifc_definition_id self.layout.template_list("BIM_UL_styles", "", self.props, "styles", self.props, "active_style_index") @@ -138,6 +138,6 @@ class BIM_UL_styles(UIList): if item: row = layout.row(align=True) row.label(text=item.name) - #row2 = row.row() - #row2.alignment = "RIGHT" - #row2.label(text=str(item.total_elements)) + row2 = row.row() + row2.alignment = "RIGHT" + row2.label(text=str(item.total_elements)) diff --git a/src/blenderbim/blenderbim/core/style.py b/src/blenderbim/blenderbim/core/style.py index 4cc8e32a01..e56f7dcc32 100644 --- a/src/blenderbim/blenderbim/core/style.py +++ b/src/blenderbim/blenderbim/core/style.py @@ -110,3 +110,7 @@ def load_styles(style, style_type=None): def disable_editing_styles(style): style.disable_editing_styles() + + +def select_by_style(style_tool, style=None): + style_tool.select_elements(style_tool.get_elements_by_style(style)) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 123bc1e5f5..bfc273fc10 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -443,6 +443,7 @@ class Style: def export_surface_attributes(cls, obj): pass def get_active_style_type(cls): pass def get_context(cls, obj): pass + def get_elements_by_style(cls, style): pass def get_name(cls, obj): pass def get_style(cls, obj): pass def get_surface_rendering_attributes(cls, obj): pass @@ -454,6 +455,7 @@ class Style: def import_presentation_styles(cls, style_type): pass def import_surface_attributes(cls, style, obj): pass def is_editing_styles(cls): pass + def select_elements(cls, elements): pass @interface diff --git a/src/blenderbim/blenderbim/tool/material.py b/src/blenderbim/blenderbim/tool/material.py index 1e47c643c7..0b3832ca24 100644 --- a/src/blenderbim/blenderbim/tool/material.py +++ b/src/blenderbim/blenderbim/tool/material.py @@ -46,7 +46,7 @@ class Material(blenderbim.core.tool.Material): @classmethod def get_elements_by_material(cls, material): - return set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material)) + return ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material) @classmethod def get_name(cls, obj): @@ -75,13 +75,13 @@ class Material(blenderbim.core.tool.Material): new = props.materials.add() new.ifc_definition_id = material.id() new.name = get_name(material) - new.total_elements = len(set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material))) - else: - for material in materials: - new = props.materials.add() - new.ifc_definition_id = material.id() - new.name = get_name(material) - new.total_elements = len(set(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material))) + new.total_elements = len(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material)) + return + for material in materials: + new = props.materials.add() + new.ifc_definition_id = material.id() + new.name = get_name(material) + new.total_elements = len(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material)) @classmethod def is_editing_materials(cls): diff --git a/src/blenderbim/blenderbim/tool/style.py b/src/blenderbim/blenderbim/tool/style.py index 4c42e0ab57..a5031d5c60 100644 --- a/src/blenderbim/blenderbim/tool/style.py +++ b/src/blenderbim/blenderbim/tool/style.py @@ -56,6 +56,10 @@ class Style(blenderbim.core.tool.Style): def get_context(cls, obj): return ifcopenshell.util.representation.get_context(tool.Ifc.get(), "Model", "Body", "MODEL_VIEW") + @classmethod + def get_elements_by_style(cls, style): + return ifcopenshell.util.element.get_elements_by_style(tool.Ifc.get(), style) + @classmethod def get_name(cls, obj): return obj.name @@ -188,6 +192,7 @@ class Style(blenderbim.core.tool.Style): new = props.styles.add() new.ifc_definition_id = style.id() new.name = style.Name or "Unnamed" + new.total_elements = len(ifcopenshell.util.element.get_elements_by_style(tool.Ifc.get(), style)) @classmethod def import_surface_attributes(cls, style, obj): @@ -197,3 +202,10 @@ class Style(blenderbim.core.tool.Style): @classmethod def is_editing_styles(cls): return bpy.context.scene.BIMStylesProperties.is_editing + + @classmethod + def select_elements(cls, elements): + for element in elements: + obj = tool.Ifc.get_object(element) + if obj: + obj.select_set(True) diff --git a/src/blenderbim/test/bim/feature/style.feature b/src/blenderbim/test/bim/feature/style.feature index 66ad775f2e..161c39d167 100644 --- a/src/blenderbim/test/bim/feature/style.feature +++ b/src/blenderbim/test/bim/feature/style.feature @@ -75,3 +75,13 @@ Scenario: Disable editing styles And I press "bim.load_styles(style_type='IfcSurfaceStyle')" When I press "bim.disable_editing_style" Then nothing happens + +Scenario: Select by style + Given an empty IFC project + And I add a cube + And I add a material + And I press "bim.add_style" + And I press "bim.load_styles(style_type='IfcSurfaceStyle')" + And the variable "style" is "{ifc}.by_type('IfcSurfaceStyle')[0].id()" + When I press "bim.select_by_style(style={style})" + Then nothing happens diff --git a/src/blenderbim/test/tool/test_style.py b/src/blenderbim/test/tool/test_style.py index dd39292dc7..53e147f9d9 100644 --- a/src/blenderbim/test/tool/test_style.py +++ b/src/blenderbim/test/tool/test_style.py @@ -95,6 +95,20 @@ class TestGetContext(NewFile): assert subject.get_context("obj") == context +class TestGetElementsByStyle(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + style = ifc.createIfcSurfaceStyle() + item = ifc.createIfcExtrudedAreaSolid() + ifc.createIfcStyledItem(Item=item, Styles=[style]) + element.Representation = ifc.createIfcProductDefinitionShape( + Representations=[ifc.createIfcShapeRepresentation(Items=[item])] + ) + assert subject.get_elements_by_style(style) == {element} + + class TestGetName(NewFile): def test_run(self): assert subject.get_name(bpy.data.materials.new("Material")) == "Material" @@ -426,3 +440,15 @@ class TestIsEditingStyles(NewFile): subject.is_editing_styles() is False bpy.context.scene.BIMStylesProperties.is_editing = True subject.is_editing_styles() is True + + +class TestSelectElements(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc().set(ifc) + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcPump") + obj = bpy.data.objects.new("Object", None) + bpy.context.scene.collection.objects.link(obj) + tool.Ifc.link(element, obj) + subject.select_elements([element]) + assert obj in bpy.context.selected_objects diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index a3813e5d85..8f141cfaa3 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -134,25 +134,65 @@ def get_material(element, should_skip_usage=False): def get_elements_by_material(ifc_file, material): - results = [] + results = set() for inverse in ifc_file.get_inverse(material): if inverse.is_a("IfcRelAssociatesMaterial"): - results.extend(inverse.RelatedObjects) + results.update(inverse.RelatedObjects) elif inverse.is_a("IfcMaterialLayer"): for material_set in inverse.ToMaterialLayerSet: - results.extend(get_elements_by_material(ifc_file, material_set)) + results.update(get_elements_by_material(ifc_file, material_set)) elif inverse.is_a("IfcMaterialProfile"): for material_set in inverse.ToMaterialProfileSet: - results.extend(get_elements_by_material(ifc_file, material_set)) + results.update(get_elements_by_material(ifc_file, material_set)) elif inverse.is_a("IfcMaterialConstituent"): for material_set in inverse.ToMaterialConstituentSet: - results.extend(get_elements_by_material(ifc_file, material_set)) + results.update(get_elements_by_material(ifc_file, material_set)) elif inverse.is_a("IfcMaterialLayerSetUsage"): - results.extend(get_elements_by_material(ifc_file, inverse)) + results.update(get_elements_by_material(ifc_file, inverse)) elif inverse.is_a("IfcMaterialProfileSetUsage"): - results.extend(get_elements_by_material(ifc_file, inverse)) + results.update(get_elements_by_material(ifc_file, inverse)) elif inverse.is_a("IfcMaterialList"): - results.extend(get_elements_by_material(ifc_file, inverse)) + results.update(get_elements_by_material(ifc_file, inverse)) + return results + + +def get_elements_by_style(ifc_file, style): + results = set() + inverses = list(ifc_file.get_inverse(style)) + while inverses: + inverse = inverses.pop() + if inverse.is_a("IfcPresentationStyleAssignment"): + inverses.extend(ifc_file.get_inverse(inverse)) + continue + if not inverse.is_a("IfcStyledItem"): + continue + if inverse.Item: + [ + results.update(get_elements_by_representation(ifc_file, i)) + for i in ifc_file.get_inverse(inverse.Item) + if i.is_a("IfcShapeRepresentation") + ] + else: + styled_reps = [i for i in ifc_file.get_inverse(inverse) if i.is_a("IfcStyledRepresentation")] + for styled_rep in styled_reps: + for material_def_rep in styled_rep.OfProductRepresentation: + results.update(get_elements_by_material(ifc_file, material_def_rep.RepresentedMaterial)) + return results + + +def get_elements_by_representation(ifc_file, representation): + results = set() + [results.update(pr.ShapeOfProduct) for pr in representation.OfProductRepresentation] + for rep_map in representation.RepresentationMap: + for inverse in ifc_file.get_inverse(rep_map): + if inverse.is_a("IfcTypeProduct"): + results.add(inverse) + elif inverse.is_a("IfcMappedItem"): + [ + results.update(get_elements_by_representation(ifc_file, rep)) + for rep in ifc_file.get_inverse(inverse) + if rep.is_a("IfcShapeRepresentation") + ] return results diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index c00931252d..5ec3a49ad6 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -278,7 +278,7 @@ class TestGetElementsByMaterial(test.bootstrap.IFC4): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") material = ifcopenshell.api.run("material.add_material", self.file) ifcopenshell.api.run("material.assign_material", self.file, product=element, material=material) - assert subject.get_elements_by_material(self.file, material) == [element] + assert subject.get_elements_by_material(self.file, material) == {element} def test_getting_elements_of_a_material_layer_set(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") @@ -290,9 +290,9 @@ class TestGetElementsByMaterial(test.bootstrap.IFC4): ifcopenshell.api.run("material.assign_material", self.file, product=element_type, material=material_set) ifcopenshell.api.run("material.assign_material", self.file, product=element, type="IfcMaterialLayerSetUsage") usage = self.file.by_type("IfcMaterialLayerSetUsage")[0] - assert set(subject.get_elements_by_material(self.file, material)) == {element, element_type} - assert set(subject.get_elements_by_material(self.file, material_set)) == {element, element_type} - assert set(subject.get_elements_by_material(self.file, usage)) == {element} + assert subject.get_elements_by_material(self.file, material) == {element, element_type} + assert subject.get_elements_by_material(self.file, material_set) == {element, element_type} + assert subject.get_elements_by_material(self.file, usage) == {element} def test_getting_elements_of_a_material_profile_set(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") @@ -304,18 +304,20 @@ class TestGetElementsByMaterial(test.bootstrap.IFC4): ifcopenshell.api.run("material.assign_material", self.file, product=element_type, material=material_set) ifcopenshell.api.run("material.assign_material", self.file, product=element, type="IfcMaterialProfileSetUsage") usage = self.file.by_type("IfcMaterialProfileSetUsage")[0] - assert set(subject.get_elements_by_material(self.file, material)) == {element, element_type} - assert set(subject.get_elements_by_material(self.file, material_set)) == {element, element_type} - assert set(subject.get_elements_by_material(self.file, usage)) == {element} + assert subject.get_elements_by_material(self.file, material) == {element, element_type} + assert subject.get_elements_by_material(self.file, material_set) == {element, element_type} + assert subject.get_elements_by_material(self.file, usage) == {element} def test_getting_elements_of_a_material_constituent_set(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") material = ifcopenshell.api.run("material.add_material", self.file) - material_set = ifcopenshell.api.run("material.add_material_set", self.file, set_type="IfcMaterialConstituentSet") + material_set = ifcopenshell.api.run( + "material.add_material_set", self.file, set_type="IfcMaterialConstituentSet" + ) ifcopenshell.api.run("material.add_constituent", self.file, constituent_set=material_set, material=material) ifcopenshell.api.run("material.assign_material", self.file, product=element, material=material_set) - assert set(subject.get_elements_by_material(self.file, material)) == {element} - assert set(subject.get_elements_by_material(self.file, material_set)) == {element} + assert subject.get_elements_by_material(self.file, material) == {element} + assert subject.get_elements_by_material(self.file, material_set) == {element} def test_getting_elements_of_a_material_list(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") @@ -323,8 +325,97 @@ class TestGetElementsByMaterial(test.bootstrap.IFC4): material_set = ifcopenshell.api.run("material.add_material_set", self.file, set_type="IfcMaterialList") ifcopenshell.api.run("material.add_list_item", self.file, material_list=material_set, material=material) ifcopenshell.api.run("material.assign_material", self.file, product=element, material=material_set) - assert set(subject.get_elements_by_material(self.file, material)) == {element} - assert set(subject.get_elements_by_material(self.file, material_set)) == {element} + assert subject.get_elements_by_material(self.file, material) == {element} + assert subject.get_elements_by_material(self.file, material_set) == {element} + + +class TestGetElementsByStyle(test.bootstrap.IFC4): + def test_getting_elements_of_a_styled_representation_item(self): + element = self.file.createIfcWall() + style = self.file.createIfcSurfaceStyle() + item = self.file.createIfcExtrudedAreaSolid() + self.file.createIfcStyledItem(Item=item, Styles=[style]) + element.Representation = self.file.createIfcProductDefinitionShape( + Representations=[self.file.createIfcShapeRepresentation(Items=[item])] + ) + assert subject.get_elements_by_style(self.file, style) == {element} + + def test_getting_elements_of_a_styled_mapped_representation_item(self): + element = self.file.createIfcWall() + style = self.file.createIfcSurfaceStyle() + item = self.file.createIfcExtrudedAreaSolid() + self.file.createIfcStyledItem(Item=item, Styles=[style]) + element.Representation = self.file.createIfcProductDefinitionShape( + Representations=[ + self.file.createIfcShapeRepresentation( + Items=[ + self.file.createIfcMappedItem( + MappingSource=self.file.createIfcRepresentationMap( + MappedRepresentation=self.file.createIfcShapeRepresentation(Items=[item]) + ) + ) + ] + ) + ] + ) + assert subject.get_elements_by_style(self.file, style) == {element} + + def test_getting_type_elements_of_a_styled_mapped_representation_item(self): + element = self.file.createIfcWallType() + style = self.file.createIfcSurfaceStyle() + item = self.file.createIfcExtrudedAreaSolid() + self.file.createIfcStyledItem(Item=item, Styles=[style]) + element.RepresentationMaps = [ + self.file.createIfcRepresentationMap( + MappedRepresentation=self.file.createIfcShapeRepresentation(Items=[item]) + ) + ] + assert subject.get_elements_by_style(self.file, style) == {element} + + def test_getting_elements_of_a_styled_material(self): + element = self.file.createIfcWall() + material = ifcopenshell.api.run("material.add_material", self.file) + ifcopenshell.api.run("material.assign_material", self.file, product=element, material=material) + style = self.file.createIfcSurfaceStyle() + self.file.createIfcMaterialDefinitionRepresentation( + RepresentedMaterial=material, + Representations=[ + self.file.createIfcStyledRepresentation(Items=[self.file.createIfcStyledItem(Styles=[style])]) + ], + ) + assert subject.get_elements_by_style(self.file, style) == {element} + + +class TestGetElementsByRepresentation(test.bootstrap.IFC4): + def test_getting_elements_of_a_styled_representation_item(self): + element = self.file.createIfcWall() + representation = self.file.createIfcShapeRepresentation() + element.Representation = self.file.createIfcProductDefinitionShape(Representations=[representation]) + assert subject.get_elements_by_representation(self.file, representation) == {element} + + def test_getting_elements_of_a_styled_mapped_representation_item(self): + element = self.file.createIfcWall() + representation = self.file.createIfcShapeRepresentation() + element.Representation = self.file.createIfcProductDefinitionShape( + Representations=[ + self.file.createIfcShapeRepresentation( + Items=[ + self.file.createIfcMappedItem( + MappingSource=self.file.createIfcRepresentationMap( + MappedRepresentation=representation + ) + ) + ] + ) + ] + ) + assert subject.get_elements_by_representation(self.file, representation) == {element} + + def test_getting_type_elements_of_a_styled_mapped_representation_item(self): + element = self.file.createIfcWallType() + representation = self.file.createIfcShapeRepresentation() + element.RepresentationMaps = [self.file.createIfcRepresentationMap(MappedRepresentation=representation)] + assert subject.get_elements_by_representation(self.file, representation) == {element} class TestGetlayers(test.bootstrap.IFC4): From e677355438794ffb10adcdf15aec2d058ad4ca5b Mon Sep 17 00:00:00 2001 From: Adrien SCHVALBERG Date: Wed, 27 Apr 2022 16:20:35 +0200 Subject: [PATCH 127/243] Add IfcParse::clear_schemas() and individual Ifc___::clear_schema() to clear any resource allocated by registered schemas Add missing virtual destructors in IfcSchema.h --- .../ifcopenshell/express/schema_class.py | 18 ++++++-- .../ifcopenshell/express/templates.py | 2 + src/ifcparse/Ifc2x3-schema.cpp | 13 ++++-- src/ifcparse/Ifc2x3.h | 2 + src/ifcparse/Ifc4-schema.cpp | 13 ++++-- src/ifcparse/Ifc4.h | 2 + src/ifcparse/Ifc4x1-schema.cpp | 13 ++++-- src/ifcparse/Ifc4x1.h | 2 + src/ifcparse/Ifc4x2-schema.cpp | 13 ++++-- src/ifcparse/Ifc4x2.h | 2 + src/ifcparse/Ifc4x3_rc1-schema.cpp | 13 ++++-- src/ifcparse/Ifc4x3_rc1.h | 2 + src/ifcparse/Ifc4x3_rc2-schema.cpp | 13 ++++-- src/ifcparse/Ifc4x3_rc2.h | 2 + src/ifcparse/Ifc4x3_rc3-schema.cpp | 13 ++++-- src/ifcparse/Ifc4x3_rc3.h | 2 + src/ifcparse/Ifc4x3_rc4-schema.cpp | 13 ++++-- src/ifcparse/Ifc4x3_rc4.h | 2 + src/ifcparse/IfcSchema.cpp | 42 +++++++++++++++++++ src/ifcparse/IfcSchema.h | 14 +++++++ 20 files changed, 169 insertions(+), 27 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/express/schema_class.py b/src/ifcopenshell-python/ifcopenshell/express/schema_class.py index f6be4e888e..ba38778175 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/schema_class.py +++ b/src/ifcopenshell-python/ifcopenshell/express/schema_class.py @@ -283,10 +283,22 @@ __attribute__((optnone)) self.statements.extend( ( - "const schema_definition& %s::get_schema() {" % schema_name_title, + "static std::unique_ptr schema;", "", - " static const schema_definition* s = %(schema_name)s_populate_schema();" % locals(), - " return *s;", + "void %s::clear_schema() {" % schema_name_title, + " schema.reset();", + "}", + "", + ) + ) + + self.statements.extend( + ( + "const schema_definition& %s::get_schema() {" % schema_name_title, + " if (!schema) {", + " schema.reset(%(schema_name)s_populate_schema());" % locals(), + " }", + " return *schema;", "}", "", "", diff --git a/src/ifcopenshell-python/ifcopenshell/express/templates.py b/src/ifcopenshell-python/ifcopenshell/express/templates.py index af9ad4d1e9..f52580f516 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/templates.py +++ b/src/ifcopenshell-python/ifcopenshell/express/templates.py @@ -38,6 +38,8 @@ struct %(schema_name)s { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc2x3-schema.cpp b/src/ifcparse/Ifc2x3-schema.cpp index 09168c89db..06ad4c3a2a 100644 --- a/src/ifcparse/Ifc2x3-schema.cpp +++ b/src/ifcparse/Ifc2x3-schema.cpp @@ -12533,9 +12533,16 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc2x3::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC2X3_populate_schema(); - return *s; +void Ifc2x3::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc2x3::get_schema() { + if (!schema) { + schema.reset(IFC2X3_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 0be1e861d7..a9ff0fbf90 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -44,6 +44,8 @@ struct Ifc2x3 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4-schema.cpp b/src/ifcparse/Ifc4-schema.cpp index 9263819618..5e8d1add16 100644 --- a/src/ifcparse/Ifc4-schema.cpp +++ b/src/ifcparse/Ifc4-schema.cpp @@ -15071,9 +15071,16 @@ IfcParse::schema_definition* IFC4_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4_populate_schema(); - return *s; +void Ifc4::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4::get_schema() { + if (!schema) { + schema.reset(IFC4_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 2a0652b192..8b80139d29 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -44,6 +44,8 @@ struct Ifc4 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4x1-schema.cpp b/src/ifcparse/Ifc4x1-schema.cpp index d442a761bf..277c319cc6 100644 --- a/src/ifcparse/Ifc4x1-schema.cpp +++ b/src/ifcparse/Ifc4x1-schema.cpp @@ -15472,9 +15472,16 @@ IfcParse::schema_definition* IFC4X1_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4x1::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4X1_populate_schema(); - return *s; +void Ifc4x1::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4x1::get_schema() { + if (!schema) { + schema.reset(IFC4X1_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index 72ddc03341..c2e6ba7490 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -44,6 +44,8 @@ struct Ifc4x1 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4x2-schema.cpp b/src/ifcparse/Ifc4x2-schema.cpp index 100ce7795f..0a9f35563f 100644 --- a/src/ifcparse/Ifc4x2-schema.cpp +++ b/src/ifcparse/Ifc4x2-schema.cpp @@ -15808,9 +15808,16 @@ IfcParse::schema_definition* IFC4X2_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4x2::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4X2_populate_schema(); - return *s; +void Ifc4x2::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4x2::get_schema() { + if (!schema) { + schema.reset(IFC4X2_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index 832b401d23..5be96d9c8c 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -44,6 +44,8 @@ struct Ifc4x2 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4x3_rc1-schema.cpp b/src/ifcparse/Ifc4x3_rc1-schema.cpp index 643f2101bf..01fc5d876b 100644 --- a/src/ifcparse/Ifc4x3_rc1-schema.cpp +++ b/src/ifcparse/Ifc4x3_rc1-schema.cpp @@ -17143,9 +17143,16 @@ IfcParse::schema_definition* IFC4X3_RC1_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4x3_rc1::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4X3_RC1_populate_schema(); - return *s; +void Ifc4x3_rc1::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4x3_rc1::get_schema() { + if (!schema) { + schema.reset(IFC4X3_RC1_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 970c7d88cf..0d49d07989 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -44,6 +44,8 @@ struct Ifc4x3_rc1 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4x3_rc2-schema.cpp b/src/ifcparse/Ifc4x3_rc2-schema.cpp index 944de6b57a..bc307a9205 100644 --- a/src/ifcparse/Ifc4x3_rc2-schema.cpp +++ b/src/ifcparse/Ifc4x3_rc2-schema.cpp @@ -17245,9 +17245,16 @@ IfcParse::schema_definition* IFC4X3_RC2_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4x3_rc2::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4X3_RC2_populate_schema(); - return *s; +void Ifc4x3_rc2::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4x3_rc2::get_schema() { + if (!schema) { + schema.reset(IFC4X3_RC2_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index 9648cad06e..473b69a065 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -44,6 +44,8 @@ struct Ifc4x3_rc2 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4x3_rc3-schema.cpp b/src/ifcparse/Ifc4x3_rc3-schema.cpp index eac792db0a..68b4918a47 100644 --- a/src/ifcparse/Ifc4x3_rc3-schema.cpp +++ b/src/ifcparse/Ifc4x3_rc3-schema.cpp @@ -17122,9 +17122,16 @@ IfcParse::schema_definition* IFC4X3_RC3_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4x3_rc3::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4X3_RC3_populate_schema(); - return *s; +void Ifc4x3_rc3::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4x3_rc3::get_schema() { + if (!schema) { + schema.reset(IFC4X3_RC3_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 1cc2ffcd4a..0ba741a6e1 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -44,6 +44,8 @@ struct Ifc4x3_rc3 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/Ifc4x3_rc4-schema.cpp b/src/ifcparse/Ifc4x3_rc4-schema.cpp index edab421d43..0c875db269 100644 --- a/src/ifcparse/Ifc4x3_rc4-schema.cpp +++ b/src/ifcparse/Ifc4x3_rc4-schema.cpp @@ -17136,9 +17136,16 @@ IfcParse::schema_definition* IFC4X3_RC4_populate_schema() { #pragma optimize("", on) #endif -const schema_definition& Ifc4x3_rc4::get_schema() { +static std::unique_ptr schema; - static const schema_definition* s = IFC4X3_RC4_populate_schema(); - return *s; +void Ifc4x3_rc4::clear_schema() { + schema.reset(); +} + +const schema_definition& Ifc4x3_rc4::get_schema() { + if (!schema) { + schema.reset(IFC4X3_RC4_populate_schema()); + } + return *schema; } diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index 2a35062a95..e27ef42f96 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -44,6 +44,8 @@ struct Ifc4x3_rc4 { IFC_PARSE_API static const IfcParse::schema_definition& get_schema(); +IFC_PARSE_API static void clear_schema(); + static const char* const Identifier; // Forward definitions diff --git a/src/ifcparse/IfcSchema.cpp b/src/ifcparse/IfcSchema.cpp index e9b479aae6..9f4fcf6c02 100644 --- a/src/ifcparse/IfcSchema.cpp +++ b/src/ifcparse/IfcSchema.cpp @@ -37,6 +37,14 @@ bool IfcParse::named_type::is(const IfcParse::declaration& decl) const { return declared_type()->is(decl); } +IfcParse::entity::~entity() { + for (auto attribute : attributes_) { + delete attribute; + } + for (auto inverse_attribute : inverse_attributes_) { + delete inverse_attribute; + } +} static std::map schemas; IfcParse::schema_definition::schema_definition(const std::string& name, const std::vector& declarations, instance_factory* factory) @@ -61,6 +69,7 @@ IfcParse::schema_definition::~schema_definition() { for (std::vector::const_iterator it = declarations_.begin(); it != declarations_.end(); ++it) { delete *it; } + delete factory_; } IfcUtil::IfcBaseClass* IfcParse::schema_definition::instantiate(IfcEntityInstanceData * data) const { @@ -149,3 +158,36 @@ std::vector IfcParse::schema_names() { return return_value; } + +void IfcParse::clear_schemas() { +#ifdef HAS_SCHEMA_2x3 + Ifc2x3::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4 + Ifc4::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4x1 + Ifc4x1::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4x2 + Ifc4x2::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4x3_rc1 + Ifc4x3_rc1::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4x3_rc2 + Ifc4x3_rc2::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4x3_rc3 + Ifc4x3_rc3::clear_schema(); +#endif +#ifdef HAS_SCHEMA_4x3_rc4 + Ifc4x3_rc4::clear_schema(); +#endif + + // clear any remaining registered schemas + // we pop schemas until map is empty, because map iteration is invalidated after each erasure + while (!schemas.empty()) { + delete schemas.begin()->second; + } +} diff --git a/src/ifcparse/IfcSchema.h b/src/ifcparse/IfcSchema.h index 5b7c805429..b11a115982 100644 --- a/src/ifcparse/IfcSchema.h +++ b/src/ifcparse/IfcSchema.h @@ -55,6 +55,8 @@ namespace IfcParse { class IFC_PARSE_API parameter_type { public: + virtual ~parameter_type() {} + virtual const named_type* as_named_type() const { return static_cast(0); } virtual const simple_type* as_simple_type() const { return static_cast(0); } virtual const aggregation_type* as_aggregation_type() const { return static_cast(0); } @@ -107,6 +109,8 @@ namespace IfcParse { , type_of_element_(type_of_element) {} + virtual ~aggregation_type() { delete type_of_element_; } + aggregate_type type_of_aggregation() const { return type_of_aggregation_; } int bound1() const { return bound1_; } int bound2() const { return bound2_; } @@ -160,6 +164,8 @@ namespace IfcParse { : declaration(name, index_in_schema) , declared_type_(declared_type) {} + virtual ~type_declaration() { delete declared_type_; } + const parameter_type* declared_type() const { return declared_type_; } virtual const type_declaration* as_type_declaration() const { return this; } @@ -203,6 +209,8 @@ namespace IfcParse { , type_of_attribute_(type_of_attribute) , optional_(optional) {} + ~attribute() { delete type_of_attribute_; } + const std::string& name() const { return name_; } const parameter_type* type_of_attribute() const { return type_of_attribute_; } bool optional() const { return optional_; } @@ -277,6 +285,8 @@ namespace IfcParse { , supertype_(supertype) {} + virtual ~entity(); + bool is(const std::string& name) const { if (name == name_) return true; else if (supertype_) return supertype_->is(name); @@ -387,6 +397,8 @@ namespace IfcParse { class IFC_PARSE_API instance_factory { public: + virtual ~instance_factory() {} + virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const = 0; }; @@ -453,6 +465,8 @@ namespace IfcParse { IFC_PARSE_API std::vector schema_names(); IFC_PARSE_API void register_schema(schema_definition*); + + IFC_PARSE_API void clear_schemas(); } #endif From e5b345553368cee3eda412b83cf20bfaf779f379 Mon Sep 17 00:00:00 2001 From: Adrien SCHVALBERG Date: Thu, 28 Apr 2022 10:33:54 +0200 Subject: [PATCH 128/243] Fix memory leak for HeaderEntity instances: the getArgumentCount() call in IfcEntityInstanceData destructor isn't virtually dispatched so it returns 0 instead of correct number of arguments => memory leak added IfcEntityInstanceData::clearArguments() which clears all arguments and resets the attributes_ field to nullptr Remove unnecessary copy in IfcEntityInstanceData::setArgument() when argument is created at the call site (no more leak of original argument) Fix memory leak in IfcFile: delete entities from both byid and entity_file_map --- src/ifcparse/IfcEntityInstanceData.h | 6 +- src/ifcparse/IfcParse.cpp | 263 ++++++++++++++------------- src/ifcparse/IfcSpfHeader.cpp | 4 + src/ifcparse/IfcSpfHeader.h | 1 + 4 files changed, 149 insertions(+), 125 deletions(-) diff --git a/src/ifcparse/IfcEntityInstanceData.h b/src/ifcparse/IfcEntityInstanceData.h index ecce5f8474..e8b62b172b 100644 --- a/src/ifcparse/IfcEntityInstanceData.h +++ b/src/ifcparse/IfcEntityInstanceData.h @@ -66,8 +66,8 @@ public: Argument* getArgument(size_t i) const; - // NB: This makes a copy of the argument - void setArgument(size_t i, Argument* a, IfcUtil::ArgumentType attr_type = IfcUtil::Argument_UNKNOWN); + // NB: This makes a copy of the argument if make_copy is set + void setArgument(size_t i, Argument* a, IfcUtil::ArgumentType attr_type = IfcUtil::Argument_UNKNOWN, bool make_copy = false); virtual size_t getArgumentCount() const { if (type_ == 0) { @@ -80,6 +80,8 @@ public: } } + void clearArguments(); + const IfcParse::declaration* type() const { return type_; } diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index 51d344033b..7366ff75a2 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -1057,15 +1057,21 @@ std::string IfcEntityInstanceData::toString(bool upper) const { return ss.str(); } -IfcEntityInstanceData::~IfcEntityInstanceData() { +void IfcEntityInstanceData::clearArguments() +{ if (attributes_ != NULL) { for (size_t i = 0; i < getArgumentCount(); ++i) { delete attributes_[i]; } delete[] attributes_; + attributes_ = NULL; } } +IfcEntityInstanceData::~IfcEntityInstanceData() { + clearArguments(); +} + unsigned IfcEntityInstanceData::set_id(boost::optional i) { if (i) { return id_ = *i; @@ -1148,7 +1154,7 @@ IfcEntityInstanceData::IfcEntityInstanceData(const IfcEntityInstanceData& e) { for (unsigned int i = 0; i < count; ++i) { attributes_[i] = 0; - this->setArgument(i, e.getArgument(i), get_argument_type(e.type(), i)); + this->setArgument(i, e.getArgument(i), get_argument_type(e.type(), i), true); } } @@ -1265,131 +1271,135 @@ public: }; -void IfcEntityInstanceData::setArgument(size_t i, Argument* a, IfcUtil::ArgumentType attr_type) { +void IfcEntityInstanceData::setArgument(size_t i, Argument* a, IfcUtil::ArgumentType attr_type, bool make_copy) { if (attributes_ == 0) { load(); } - - if (attr_type == IfcUtil::Argument_UNKNOWN) { - attr_type = a->type(); - } else if (a->isNull()) { - attr_type = IfcUtil::Argument_NULL; - } - - IfcWrite::IfcWriteArgument* copy = new IfcWrite::IfcWriteArgument(); - - switch (attr_type) { - case IfcUtil::Argument_NULL: - copy->set(boost::blank()); - break; - case IfcUtil::Argument_DERIVED: - copy->set(IfcWrite::IfcWriteArgument::Derived()); - break; - case IfcUtil::Argument_INT: - copy->set(static_cast(*a)); - break; - case IfcUtil::Argument_BOOL: - copy->set(static_cast(*a)); - break; - case IfcUtil::Argument_LOGICAL: { - boost::logic::tribool tb = *a; - copy->set(tb); - break; - } - case IfcUtil::Argument_DOUBLE: - copy->set(static_cast(*a)); - break; - case IfcUtil::Argument_STRING: - copy->set(static_cast(*a)); - break; - case IfcUtil::Argument_BINARY: { - boost::dynamic_bitset<> attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_AGGREGATE_OF_INT: { - std::vector attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_AGGREGATE_OF_DOUBLE: { - std::vector attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_AGGREGATE_OF_STRING: { - std::vector attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_AGGREGATE_OF_BINARY: { - std::vector< boost::dynamic_bitset<> > attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_ENUMERATION: { - std::string enum_literal = a->toString(); - // Remove leading and trailing '.' - enum_literal = enum_literal.substr(1, enum_literal.size() - 2); - - const IfcParse::enumeration_type* enum_type = type()->as_enumeration_type() - ? type()->as_enumeration_type() - : type()->as_entity()->attribute_by_index(i)->type_of_attribute()-> - as_named_type()->declared_type()->as_enumeration_type(); - - std::vector::const_iterator it = std::find( - enum_type->enumeration_items().begin(), - enum_type->enumeration_items().end(), - enum_literal); - - if (it == enum_type->enumeration_items().end()) { - throw IfcParse::IfcException(enum_literal + " does not name a valid item for " + enum_type->name()); + Argument* new_attribute = a; + if (make_copy) { + if (attr_type == IfcUtil::Argument_UNKNOWN) { + attr_type = a->type(); + } else if (a->isNull()) { + attr_type = IfcUtil::Argument_NULL; } - copy->set(IfcWrite::IfcWriteArgument::EnumerationReference(it - enum_type->enumeration_items().begin(), it->c_str())); - break; } - case IfcUtil::Argument_ENTITY_INSTANCE: { - copy->set(static_cast(*a)); - break; } - case IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE: { - aggregate_of_instance::ptr instances = *a; - aggregate_of_instance::ptr mapped_instances(new aggregate_of_instance); - // @todo mapped_instances are not actually mapped to the file using add(). - for (aggregate_of_instance::it it = instances->begin(); it != instances->end(); ++it) { - mapped_instances->push(*it); + IfcWrite::IfcWriteArgument* copy = new IfcWrite::IfcWriteArgument(); + + switch (attr_type) { + case IfcUtil::Argument_NULL: + copy->set(boost::blank()); + break; + case IfcUtil::Argument_DERIVED: + copy->set(IfcWrite::IfcWriteArgument::Derived()); + break; + case IfcUtil::Argument_INT: + copy->set(static_cast(*a)); + break; + case IfcUtil::Argument_BOOL: + copy->set(static_cast(*a)); + break; + case IfcUtil::Argument_LOGICAL: { + boost::logic::tribool tb = *a; + copy->set(tb); + break; } - copy->set(mapped_instances); - break; } - case IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT: { - std::vector< std::vector > attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE: { - std::vector< std::vector > attr_value = *a; - copy->set(attr_value); - break; } - case IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE: { - aggregate_of_aggregate_of_instance::ptr instances = *a; - aggregate_of_aggregate_of_instance::ptr mapped_instances(new aggregate_of_aggregate_of_instance); - for (aggregate_of_aggregate_of_instance::outer_it it = instances->begin(); it != instances->end(); ++it) { - std::vector inner; - for (aggregate_of_aggregate_of_instance::inner_it jt = it->begin(); jt != it->end(); ++jt) { - inner.push_back(*jt); + case IfcUtil::Argument_DOUBLE: + copy->set(static_cast(*a)); + break; + case IfcUtil::Argument_STRING: + copy->set(static_cast(*a)); + break; + case IfcUtil::Argument_BINARY: { + boost::dynamic_bitset<> attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_AGGREGATE_OF_INT: { + std::vector attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_AGGREGATE_OF_DOUBLE: { + std::vector attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_AGGREGATE_OF_STRING: { + std::vector attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_AGGREGATE_OF_BINARY: { + std::vector< boost::dynamic_bitset<> > attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_ENUMERATION: { + std::string enum_literal = a->toString(); + // Remove leading and trailing '.' + enum_literal = enum_literal.substr(1, enum_literal.size() - 2); + + const IfcParse::enumeration_type* enum_type = type()->as_enumeration_type() + ? type()->as_enumeration_type() + : type()->as_entity()->attribute_by_index(i)->type_of_attribute()-> + as_named_type()->declared_type()->as_enumeration_type(); + + std::vector::const_iterator it = std::find( + enum_type->enumeration_items().begin(), + enum_type->enumeration_items().end(), + enum_literal); + + if (it == enum_type->enumeration_items().end()) { + throw IfcParse::IfcException(enum_literal + " does not name a valid item for " + enum_type->name()); } - mapped_instances->push(inner); - } - copy->set(mapped_instances); - break; } - case IfcUtil::Argument_EMPTY_AGGREGATE: - case IfcUtil::Argument_AGGREGATE_OF_EMPTY_AGGREGATE: { - IfcUtil::ArgumentType t2 = IfcUtil::from_parameter_type(type()->as_entity()->attribute_by_index(i)->type_of_attribute()); - delete copy; - copy = 0; - setArgument(i, a, t2); - break; } - default: - case IfcUtil::Argument_UNKNOWN: - throw IfcParse::IfcException(std::string("Unknown attribute encountered: '") + a->toString() + "' at index '" + boost::lexical_cast(i) + "'"); - break; - } - if (!copy) { - return; + copy->set(IfcWrite::IfcWriteArgument::EnumerationReference(it - enum_type->enumeration_items().begin(), it->c_str())); + break; } + case IfcUtil::Argument_ENTITY_INSTANCE: { + copy->set(static_cast(*a)); + break; } + case IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE: { + aggregate_of_instance::ptr instances = *a; + aggregate_of_instance::ptr mapped_instances(new aggregate_of_instance); + // @todo mapped_instances are not actually mapped to the file using add(). + for (aggregate_of_instance::it it = instances->begin(); it != instances->end(); ++it) { + mapped_instances->push(*it); + } + copy->set(mapped_instances); + break; } + case IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT: { + std::vector< std::vector > attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE: { + std::vector< std::vector > attr_value = *a; + copy->set(attr_value); + break; } + case IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE: { + aggregate_of_aggregate_of_instance::ptr instances = *a; + aggregate_of_aggregate_of_instance::ptr mapped_instances(new aggregate_of_aggregate_of_instance); + for (aggregate_of_aggregate_of_instance::outer_it it = instances->begin(); it != instances->end(); ++it) { + std::vector inner; + for (aggregate_of_aggregate_of_instance::inner_it jt = it->begin(); jt != it->end(); ++jt) { + inner.push_back(*jt); + } + mapped_instances->push(inner); + } + copy->set(mapped_instances); + break; } + case IfcUtil::Argument_EMPTY_AGGREGATE: + case IfcUtil::Argument_AGGREGATE_OF_EMPTY_AGGREGATE: { + IfcUtil::ArgumentType t2 = IfcUtil::from_parameter_type(type()->as_entity()->attribute_by_index(i)->type_of_attribute()); + delete copy; + copy = 0; + setArgument(i, a, t2, make_copy); + break; } + default: + case IfcUtil::Argument_UNKNOWN: + throw IfcParse::IfcException(std::string("Unknown attribute encountered: '") + a->toString() + "' at index '" + boost::lexical_cast(i) + "'"); + break; + } + + if (!copy) { + return; + } + + new_attribute = copy; } if (attributes_[i] != 0) { @@ -1403,10 +1413,10 @@ void IfcEntityInstanceData::setArgument(size_t i, Argument* a, IfcUtil::Argument if (this->file) { register_inverse_visitor visitor(*this->file, *this); - apply_individual_instance_visitor(copy, i).apply(visitor); + apply_individual_instance_visitor(new_attribute, i).apply(visitor); } - attributes_[i] = copy; + attributes_[i] = new_attribute; } // @@ -2260,8 +2270,15 @@ IfcUtil::IfcBaseClass* IfcFile::instance_by_guid(const std::string& guid) { // FIXME: Test destructor to delete entity and arg allocations IfcFile::~IfcFile() { - for( entity_by_id_t::const_iterator it = byid.begin(); it != byid.end(); ++ it ) { - delete it->second; + std::set entities_to_delete; + for (const auto& pair : byid) { + entities_to_delete.insert(pair.second); + } + for (const auto& pair : entity_file_map) { + entities_to_delete.insert(pair.second); + } + for (auto entity : entities_to_delete) { + delete entity; } delete stream; delete tokens; diff --git a/src/ifcparse/IfcSpfHeader.cpp b/src/ifcparse/IfcSpfHeader.cpp index 779b717152..4f17ecaeee 100644 --- a/src/ifcparse/IfcSpfHeader.cpp +++ b/src/ifcparse/IfcSpfHeader.cpp @@ -46,6 +46,10 @@ HeaderEntity::HeaderEntity(const char * const datatype, size_t size, IfcFile* fi } } +HeaderEntity::~HeaderEntity() +{ + clearArguments(); +} void IfcSpfHeader::readSemicolon() { if (!TokenFunc::isOperator(file_->tokens->Next(), ';')) { diff --git a/src/ifcparse/IfcSpfHeader.h b/src/ifcparse/IfcSpfHeader.h index 84280d7ed8..c979699fbf 100644 --- a/src/ifcparse/IfcSpfHeader.h +++ b/src/ifcparse/IfcSpfHeader.h @@ -36,6 +36,7 @@ private: HeaderEntity& operator =(const HeaderEntity&); //N/A protected: HeaderEntity(const char * const datatype, size_t size, IfcParse::IfcFile* file); + virtual ~HeaderEntity(); void setValue(unsigned int i, const std::string& s) { IfcWrite::IfcWriteArgument* argument = new IfcWrite::IfcWriteArgument; From fd73b2cf0a2faac9f8720e430e8b9cf8ac7261d4 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 8 May 2022 19:50:52 +1000 Subject: [PATCH 129/243] #2185 Migrate web files to website repo --- src/website/210626 Logo(1).svg | 543 ---- src/website/IfcOS_landing_mockup_02.pdf | Bin 1329479 -> 0 bytes src/website/Ifcopenshell_logo.png | Bin 2266 -> 0 bytes src/website/building-3d.svg | 1 - src/website/code.html | 59 - src/website/code.svg | 1 - src/website/community.html | 59 - src/website/contribute.html | 59 - src/website/experiment.ai | 1459 ---------- src/website/ifcopenshell_logo-04.svg | 1 - src/website/ifcopenshell_logo.ai | 3198 --------------------- src/website/ifcos-graph-1-02.svg | 1 - src/website/ifcos-graph-1.ai | 2035 ------------- src/website/ifcos-graph-1.svg | 1 - src/website/ifcos-graph-2.svg | 1 - src/website/ifcos_classic-logo.svg | 1 - src/website/ifcos_new_logo.svg | 1 - src/website/ifos-graphs.svg | 1 - src/website/index.html | 66 - src/website/learn.html | 59 - src/website/logo-combos-for-cli-tools.svg | 1 - src/website/products.html | 59 - src/website/styles.css | 197 -- 23 files changed, 7803 deletions(-) delete mode 100644 src/website/210626 Logo(1).svg delete mode 100644 src/website/IfcOS_landing_mockup_02.pdf delete mode 100644 src/website/Ifcopenshell_logo.png delete mode 100644 src/website/building-3d.svg delete mode 100644 src/website/code.html delete mode 100644 src/website/code.svg delete mode 100644 src/website/community.html delete mode 100644 src/website/contribute.html delete mode 100644 src/website/experiment.ai delete mode 100644 src/website/ifcopenshell_logo-04.svg delete mode 100644 src/website/ifcopenshell_logo.ai delete mode 100644 src/website/ifcos-graph-1-02.svg delete mode 100644 src/website/ifcos-graph-1.ai delete mode 100644 src/website/ifcos-graph-1.svg delete mode 100644 src/website/ifcos-graph-2.svg delete mode 100644 src/website/ifcos_classic-logo.svg delete mode 100644 src/website/ifcos_new_logo.svg delete mode 100644 src/website/ifos-graphs.svg delete mode 100644 src/website/index.html delete mode 100644 src/website/learn.html delete mode 100644 src/website/logo-combos-for-cli-tools.svg delete mode 100644 src/website/products.html delete mode 100644 src/website/styles.css diff --git a/src/website/210626 Logo(1).svg b/src/website/210626 Logo(1).svg deleted file mode 100644 index db188eca8f..0000000000 --- a/src/website/210626 Logo(1).svg +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/website/IfcOS_landing_mockup_02.pdf b/src/website/IfcOS_landing_mockup_02.pdf deleted file mode 100644 index 4c18f548f8fead6c75aaa7c3afe6db4bad70d379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1329479 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

    #n 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

    *K72_jPizu(=8 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%0Av1YvAm4AfLr?cwr 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

    x{s8#{%wXZn>h4>|Mb``P1a$|)^(0nwNKRM8|v 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
    3q<440aYgjd#qh#?_w93{i5q)gU$UZj-Fo-{ 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

    hF?6!4_F$wXy>dx58#C(_4!i>`b#p;` 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 H8uhsGunMSSErV7XwIHjU5~f3>fzxk`QReM6)KT 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

    }?fKfS5u|_4ed9ZX=sH=UD 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%0DHJY`hSmx5|{146`ZoT82n*jbNf~2P`m4 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
    emXVCNmjXh5Q*N$zW(fV=_ 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%0DQs% zSv5uxBVy`__Yu?gg%p6xaB(2CL^Yw!q(Pi`2gb%7|rGoX7I8ClQqZ!{zrJl z4qkj_!@(;Twyts^4j9Cm_&PKDDHrgH1I_9FxaIT=p9ln#La3po8f$e(jcPS?P_T!- z5Uz@g;zPBw<&<$fgKYw>aazcU5}F#64bdZidcyM|F?R%U{~a+<(TFt`U2g`NSPb74=6&{$4!R2c`N zmIM(oXy7Jjq8g#Z6mkNiZzplf(CU1IA&`Zz2L&bt3&{AS?SsmX2y*22^yDGqI3t9^ zO=$X24%#Y>2})4>N+l^qQ4h2SRD0!V?3-X?fqn|#f?^uwflp&LVWbQB1VIzIA`%0x z1pP-$M}n{qi9kLf_faudg%YBc8RRS|XDLVR4muQcsWgv*AYSkyZ!k)Q)TC0>26zdN zA7bzY7Y^KFzPAdg13$%>!lYnC2?*Fw8jyKQQIUKD)&k-2?QS7C?;_+ z@^QWvTYSlJY+(z)tl{EZ`)F2liG03NE?3etn+~%Oc3qc+EEKENawY3NfF~vXVQ zglY~*6cuWvl1Q;ss#Yu2mj13CUtLjyC@??-iYRaaGa^}BnXm>JA_KuCOu4?Xy%0D?3kIC1RN0?w}G#rIiMVsHGd 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�tKRnaP=dKgpBWfU01 zt`w+kv<+X%6L75LO5^_OGi2%Nm6Vm4^$9VXk!<65erWOU2vz>@fhE6VQGScAnC+M+ z^nSahGt>NJR~y4OhVj}Fa7!~qv*mSR`GEmoK`vp85J7ef)NvDJWqp)Rh z5zU1TFN=E7-EE>b4idEuI;ltn5R}=cs6Q+XsaX=nny(SW=86?H}nGm$VFqj&-dT%2e{Eor`4f zDRSv(>2It}eG=2#I)UJ8_hBf+#$Kj9IUzbyoOWNB;hNP|_%k9eGl>^^hh6f{YdGB( z7V&LUqvt#J#;^1K>f5=zBhug~^X1=5m8PZw<|WNlhd2aogzN_?)sKTUwqZ0hAAEDgwyCft>HIm(v&l%{} z4q7p~ejS_)EMtaK9s$py~I6n+Ab;&n9e{WK0 zAY7-?zBFX&J6)sm^?bW?z@Zq)>W_;n}1*cnAYmh!re|~1eC~KzHP#ZLuTK{%m-eBF@Idw2Pm?fC$ z?dS<|RcLGns>-PAcbChp5xw!TuBba(AE(ZDR4wZn9#o#b67j#tT)(kdDE9a5-_<|) z&*WZTd+A$g$N8#SbRB@`Y_<337?>C|=au&9Xm!>WX0}o5%4uooK&Y7YYAD?e+3k&$ zP&fBDnDSK*50$pda~rh{c?43cr*zcxr#3fOiMu%U^$jK~H#}#+`&T_r`y9Sbh~Ytl zG9q8gvkZo}wfon37kbfFKHrG;?##~EgZRqCK(pm(Gf?%zLqoach2@bh=t9#*ze`3> zPR15=qzAmPTs8&SG(I#`9vz;5F8WJP4jUTlAMP6snrxLp5*ww_4Lsn4_B5!;%}?(4KjfYfyr2nF;(z5@oGefIOKPp~csA@-2h6k_ zo}N@UTH78ST3ei1H-e51^&{?-_4yXpXY|qA8#;YOf)-a67gnlsIxDlmX&bVOT%%lF z-Xf={=uKXp!PN*1lN-I2&1A9~?UsBC3jDW!^~^&k$$THee?1xOJj>50CwFOR1Z zlq2Iafs!|FN3vw-sL#vZ2+nOF(u@|?!SJTg4}+E@?pTZD@{r;zJQ*m$4lawhje`V4 zSogTH6%hjx_U8OSEtlRrnv$vLEs!7NIj16cyu;e}ceXlv38w%_<+R6}XNCs2Ns!|nWmQ?TO7 za@q#rMci$JSbApM0+n7~E$H~DjjFX?&rEC<$1~M;m_T7J_ifO=1RB;`u{FD>Rxv|L zE(Rs1vAC>dq(g4 zHN}6+I=>=gk2}S(tR^F>N$Pl^Syjb7K zXsOpIO*3u!eKEWfa|L@LVuALphP?u{R%nNP> zc!m)+oBe=AW4w@}ZHDD&8*#^No28(OmFjnDN^e}I*Ert-YZq#9^Y2ifxw2T#eJ?=+ zIEoQUw7W!eLsX(<3TRPnekj}+d|_X&s81+KQBy;8vci5V21}Ba^a;;Mey_$LPz!`| zpO@Vo*6EYuU23n9LK*I-oftH7)1@~$JVEzgJiR2o=9WCv0!vx1Y@HMC{TJDkN z38$Gb#08c^2Zuw2vl*Je_A3YFS(Q`iYGlSi7FWH^APj%nDd|D%;Lx94UI#|*EFD4q zuUQHDfiSs(h|_3L-vNRqq0oGNLcH*h5Kt6;ak_evkY9e2;VF?~(Z>c~M`2m-dR~)M zkI{YQGa53@_)rb=!W%y6GX=pfln01OB8{Y^$TN$rycg( z_5O{d`U9Dr8QL-jC7tLzJH%n=&>2wH3DVVd)0&6OSHUa@!% zZhOBiA!!@XSqGlkail}>Z0c~KPJ|$C3OB(qipT9^G+{CZj&30|VN?W^ZQ(azSBT&N zIdxDye{3$pzHEJ3{RF#(*4pmEN*JuYsn&#S8=~JuWJk3M?b?gp1bZIzvgzaYiTG#U zB^qI1$QHUAW^^yp7Rw{nE4~j@OfP5)-VGy@92D=mWpT}Ujm<5#PDVAfa>?_^#|t&t zL$b;3My%&2&=awX_6n~TAkaH{DR7C5pUQUZ%8y*l>t5N92oky zS5YoQSeyrS-kH#t2hj+hJXGt8kV-FU1^ZTU1%&%Z1@@kyT%X9;92~C|>`rOPABOhQ z`o}!m(~Co$`HFJ`|3XC?sSu@jalLpHJ?AKdaUxz!{33Xw6Qe@0-D+FriZo)W`DZdz zE02|xR-U-(b93cMbBmR^4RF~2e_L@19kaeb517hqdF*0SgCo_9$Gpt`S=XD}TJl*} ziNdUZG{U*<^3?3&#!9WBO{>OYySVj*US7%{%nk{fS8KgTV(h*Nz19*>Ihl*X3i-qq zBTw?IIl1&;J$Vsj3gq@UHa2^F4|nF6qGMyBv9?gl(}?1MeM#%LxTRF?R3E*s<8@Lm z76}svaxGz;M_vUgX^BeX2L*roAT4}A5)b$mU*4iJ1oD5Tk!P{pBo%JtN2Ug$&)J5B zGDU}i2qMcSw}ERD0f)6PtylNmWI}_LAn7;^Y&yd*j9;{dDHy-#4C^r#sJAdF%T;^6 zQt7Cr(xVgrHQpu2f!Mgq}lg%UrAybT9j%SoA-wa#!hJGbmGcDEZf{ds7Ql>|JGcbM*%Fbo`HCdZivCa7CjYB}#hb9tX;D zwH|!R^xU8I(i%lS+oIq2DSflzI~9gEigquQuODchUJ_ru3tHUc+S{47h5Ua|U(qB! zCZ>B!PxwG5=+lJ#r};n7T|xxa_z7zYN~z~1{x||c6qrIvgCRN$`LA{O8)fQew@Ich zRu`5938>O(aH;7Nfl!ga82Zp6e>nC%s%RCdJF7xni7( zBb)B&jv!dXC+gK6$g>_*qO#eP^>YVNo z%NF~~&zI-gOI@`kv=v;P1~>n%%vU3jZC9_v$uL{5_wo$$m8ymTSJ2jtXkc+x+hGVE)aSV38SdYG{-O_>_>RuBR-Cag8dPQ4}yz0F~9}ozRVR=V=gxpdMr-wrKou<~7{VHtp z7HOJW^x{aJ{DZ4S1j(9-6H@}-%-a*hIbFNa7fNJkz|-vk?b?Q+7wNl3-!6KwoFiM~ z_m@SChB|`+=D}d%>d~sNvu_i_2;n{a_Z1V~hteezyW7|5&mXcg%#7r_j*rd&pXETH z$M>aBH-dmC6Q4`N8s^7uuP7Uz_C+YmRow7>LKGUS+wxeWIQ*aZ8>Na6RPss8oNW8KVVX}mEt^f|@*MXNjPr`2EjDBW7oWiuA+v1`4&6nQ? z+Ly9+sJszuQu!>8a27pvh=H9wOe8xiX0bCHWb);4oAY@y1X1yN9MbN3iOa=(9Le-T zBO+(aEG;_nIkD10+W!V zG0@hDl$(=-k(rYX06<{+$N%pZGXj&c6VOJDl!JwlnU$S|odbbM#L!L>XkljVM9RU< z&B)2j$;^ttB;{miZDA~AYi14n$MkOw!onaoQf&qnRsbUx3xJ)Jft8tsk&~U1i-nX0 zzzvoMmc|Mu0sncb?tin1TUY}DqyP>MuwF|1{Qp}~uKzbh|C{H3s|#lQXAmU>CSgNI z;J<17Uur8m8#(=#p+uxa{|)$OHL%LyD;1E0l&GAc9VwHP30QjzC-?ult?cdywt}+Re4Yc_$BZ9SHQYY1B zCe>!;U}prdva$Ztg_#t<1z-fL&(5Js%F0Hn&Cbll$jZ#j$)!um!3Dl#VQ1t3+l`r& zjRS1wf8)S3I~z0D6Wq)kU=~hB77kACfBLd>GBa}hVSp0xWNPdgGI0#oq!HtG+G-v0Y!nvAQK=0lPu8I%*mV- ztRz1_>3@LimaZGOVjIYe6nt@m*?h`KJ252YT_wjOic{%Aq-l3%n3UR&sbJ=au1^>x}Vlag5j9nvp3MwBkDI?ST~LW< z+DAJhe>^LnM!70s+#(4TIgR3()Aan#?yxlQo|Ug^u8NGZ_d4B#N=HdMJR+9ECQ*91 z$~nS~^YewImGgPYN5U|2gNwySic1Gvd*@5k456Cf zk^$$e-eqIv6x4oH@2W+D%f@YRIFXcTl;3^nXWyo7B%?)skV_l3E>O{9p0^4}bqb`9FArBl7<<9K>wFzWImV{|EF8lK=Ap0Ox&i`WGUOq}l*5B*Ae7 zcDf2k)z;#lKf$r~&*A@PkaGTm%YSC`-_8aHI|~~N+rM|h{|_R-sN&-IKQS@Z4sW0$ zHp8{P20DMqq+m@MGl|wo2wcS(-VLS@^b^ED`C_ZGi-C?#jzB#?pzEwF;M~4owbl)V zrKotN;pF;;8RtAN<}^Qlw{(Y{@>=#nlp+NPZQXcy@im$}QLohNEIkJQ&W}-g;K&eP zhhiJu_jfs(df^1@(JD$C_J1v4C|%R^ltJ2k2x%|YrF5U4D*aSHK`Zs{wAn8o$Shy= z`FZgINj5ue!HO86@ODrMu9|xe`RXrbMz8TUDU}NG6Nv`S!YN{*@NvNV1tAl=#9^{c1~+z}F;8iQ8s+Y39%SIobDvE+M^&;)9u z6M#ghca*M&3LU$Fc&Hm?TQRreBsiMJ3O(oj?>pCY4Wzs)!9PkJ?*3Aim5mftKzdj~ zd~k>Y`*VVmvouv_K;>`v_Nx+~gkYn@)^4AZm%MGNC5*C0_G)OGRLKJ#KQ{T!N0-Lo zh7pZpkg{l!YvZ@yzX|{d8NMT0Owm$=aMmhfwfyu^z3^-4mK49fO1cyk50+%=;(4Uw zhsHA2;<*g{n3U;^6z^bmmQvvS8#2YxGfQgKCC}8O&f3FIp-`*N^~#mnP5M(|7di30 zGoz`KoJek0ZBFD|@JmAB!;cu=FLr{X=6Wr{@$K-73mlWh9b)gSMW@87@M1IV(V zo>}qEsSq88w<>oi&kLGfNc`VFprlMgPF%9hS_Nm{?D!PFV+ARE7lZhKqITq{%QQJ6 zO}*;;MJ)P#855H*VXxius-VPA;Je~lUH0*ZdRSUN)uS!!I~}d$uT6Id8q5lN zDGv0Cfsc92frQ`?DW2Vg0_m#sq+Sw)MTJ8w@1Mt{&X*RCX!#01Pl~*ZCdrTmkkvac zPmv{A$Ub6!U#gQ5kVPd9D}DJ@YX#*K!^MKrCuW2E~Sx+Mp}Z%yVm(NKBG*FF zA&ICopK0J|MEpKJ0z!Ov+M-*bp2hf|E?I|yW`jG0eMQ(sLkefoa^94goIgF}5lX_T=dqGbp8zDe=N$97e#k?OZXlnD%EtJQ z5eoq|VALTOWwK?-!ZvWs1w%bLe0RJ#ZgV%~?sLCOI+9@trXthO&xPSDnd+=fy;w`m z3oDK07Hj*>=Hp~WJXMmN)A0|Vr3vONZ!VtRy7w@M8>;5-J` z!fAJdWDiD$Lv=OALKVNcJSpf%I~dqf-Mx+SRAwf=$dqJLfA6ZG&t;Mw@lxDMNf z>iOW7b*br%qF>0gOE*N35-w|8NI9FC^6O}LY&1QQJGPm^ZL@XD*u?F(ePxKEB6_KK z*59+qGj33vUVU_n7gWdpAA^ zg^Hps<@1tzHjnRoj=V)~YHl2E4Q`ANrzX5>+p3TX*r4#mvpYa$c)Mz3k@Gr3*R0Jt zkAIP8d#hj3V4LR`w|FQ8(@h%HZ3~ticqj$8M=NuNk8$nLEyCNl*wJW`5R{?;6slDL zK%3{|`_=~12KVd9R$2%sk|Ab1Y&@L3pZqZY-E-1|ElDp%KBR9TS>jD%k!a0_?e)Cc zH7n3}vE36b$Mxg-oac5KoK12gZN2?zO=ey9<2*>hR_JgDD|RBF?r7-vt8xq`+3kY< zT&JQJ1Na+JxFc{XJ)K@mj!*HhK1~i4@n!oQ_JOM$FrBe0-N^Qf4vluMltoFc{;hGX zNv#pBA+0g3SrHDXcBuBP&2Ot^t3v0-=ZNP7c)yv#;TK^y9~31$fiDBUM6-H8D)(rw z{1hu0m!}AB4*^L@THehrM?R90Z=A>!PKvX`a}d)9PZGB)R#; zu@hi0$f8W}Yrb;N_)}KrvL&JrJM-1m15_gR^E8WL?{Wz1@N~l`L=N%@rcoU5S|Hl} zGQ}rz52o~||2(=xP9GdbUK6e7&E0m+U4TyuavWKX~=g=W_k%vzsZE#B~hEldny<;X4*0>njWOZ ze9Os2p%=NZBj!f-H#FIwZv)}}70C&ipQL;Oc!<*WIZ!He9^9g)K?UbtE#1cwe@jL&@QQ8nHA3Sy(v(!4l-L=Lw1iiwhQ^tTba z9~1*(iiJ9Rcw(W6B;?2ZFVKJTv!UK?o6g1XOo_P>JwtbVS_|^^Kkr`5d2_?@fEMs4 z?rY4Z>I%UVr#v)jBVLPS5)*l}zJ>6KYLkeLM;(UU&DwRmW^vE*5`7ncm*@YgAAd2_ z2wpE{UsC!j!Ygy1P&7<@jq4uGE0Rh2^5avQfyu$=Nd{>49Y|cw-8`jJA!U24)UcB& zC!L7>O|{Fa{cKe?Vl71CMVPkF8G*^Ua*ryv`fhM*pVw#a+<010Kq9U?R@3c|9=B-k z>>juq;pc;$!iul@=A0eKd|?-23R^EzWUurdSOP)oJ)IK11Cx23n>f>ouT;0FuV$Cb zXbygZ1ri%%U!NgTrdUkG1<0YEiD{+<;_$u0*beFP#q_^oJ>$5oEl=?r2!nKfj#T5c zwaBUjy%pob{(!#EQSPG43Zcr8xrA}TTMuRIDx2bHgRvR3nhtuDt;4DmSNALOz#$$oDhomhzR_gT(sHbMxv0xig%<4|W*O z1WQvyExvvi6Oc9b_05EvJBj`)YAmc29d|NPJn}AKO^P*T+K`I_@v?A3oPPWVIcI{* zaQ`m019CGy4fEN<{Gs+f4s(RF(ps0oGP^9?R%qlo%tSaW59}im1!4k9jAin9%tIaafcFgMX99MR{(~soN`?C{?6U? zY6%frq85T;)jdz_)*Zcnb#eX#+As*-;)_4y#kTHsP?X;DPo>js zn(R(R+iaj>;^@3)IsS2+HvGD+gk--;ekoSL!64o~hLo}SyLhsN~W_H)bOHzs37 zdKH1n>rkPW@k(8PI;T-F9yl38D&lD!7Ep?Qh4RJ( zW~aoJA_!#9loLX|X!?0{`!5P65L)BD{P8!^Im>nkh?uq|Gn8Uam|ZHRbjrg!H6{Ipy*A>+B<63*Cc&GyOB?}uAd z;Y2^a=v0-t;$RWmt#Ez5lMzTex#_hsTJIMqsuWbtj^*FXM?M5WnH#B6mUQVFn7@+# zDWop-{A4_KJc2LYie_X-WnhZtHI!5$xw5awhNGKD}Y!NU|8pH8p9ScE5TJaNSyiAN80>EsLNsp0{Plk`>?p-UN zoq4AEN-+Z_9aGr5wO_Y(6iMAGe{+-v^QB{rHAcU{~qpa{9EhEcCWc9a(*k@_7)q5Q~0Pg#Eif7 z45a8QxMNomDTPcsHCuXDGw+ehTiN-^M)$Iu%Sb#|37e9*y>hIn*5&yAil%cm9|P&5UakrjCRHjV@)#vsFI z5mJJ{aQN+Ps&@BbZZoUk zz`PQ4g^BC*_o0gI+Phd?xuA)2a=S*D7DWg%hO7cEGXNp|W_e(;Rld@sk?U#Ho!74p zdycGvLxOBVh%G{X8FY?o&2T%$%?0T_8zWaFZ&q+$px3Y5ELac%oc1HV7+2P$(oe)s zuDL4fYA%CQjaQoC9T}5Kw}@ME5L@J60WOzd0rrnV^^u_ymd1K2^%Nt}EgYe5cKmaA zNWpsP5Se5hgdVKxf)(pQiBYKaNhWsG$)+SFYC$U4SVh|xsaRqNjR9*G_z(E^B@e^* z-K1K`56=Vb)IIOjo+#`W2%AK+IeX`aYyAwi>sYz2o+{dCzrXaT`;fTbta!9IRcARp;BilTBx9?7M2R$6+YwLk<5ci1=M`=$nXQd$$go@v^r)xOI=P4N=-_&NhPQQ z{E=!^^Zel{`ht4q`aNYL-|?j3(8i;Zzr1p;auzhLU)rhX+sa?+tM^g*PV_eT3_|KN zV7|r2Ca7RpHF``YGeshB#Rmb_jaO~Frro9AQ&z@n#}UUv z#z|5-Ye;4CfTh4_UjC)Un8 z2D~F)_#g7l-_F%nLCpdVzDX5Q`f(j(-rCQ|M<186cVk!dcjb3T9w?@t0pK$mtlxl6 zW=JOGLrbyM3_Bx{>VWl;N9r9qrt80LsBT%e#Fxa^KAUgJocps??BS658I^0CD~(f) zGmX=(IiRA8ZyS6aYaM2QR=~lN*`osd5G1(Xwf_NBCCoZJ@h||`Tw7CnK0Gnz^UchC zq9vVyTYcXv@kW(#WPUFr-c@V;xef8gWq&QvRblH9+YcaE0K8-XT z0u~m|JXSrz_t!S=jw|eCoZO?_F&SA~JX;hXfl%dY! zEb8m~dV1ISfZihRU{7M^KJwmMhen15hJxZU;?l?;L|r5@!(LggeR}7DxshcEIM{jT zip}fTJn$U}MhRTm_%|LccX*;mIDKYCQ<3B>t9IIy09p- zNt;_(YiK)5k~)_nss=$6^kVkgREKA$HigdA zXG(X@`=q>1v$b3olL8)avR!?wi!43tMiT<=`Y>9qiyatE@PhN>uEQm z2N&rd*EHeEBMO=xBYQ=s{CgQbV!lGY?!LOdo*$?0Iq&UnO!p+G0ssTtP^5C1M^~rr z)1YXv2%I8%{uYz7c=cb5dd~|rC8K(}{AN#?$_m`NF3*`*%Id4m!AFr2>MnnHZT1T2 z^fjMiRFleFDq5`OIm^n_Q7hIPgUh*r<1Or!<&;*i3+wgwQz`zei<#~_DIp6q3pQGf z7v+cxmD;`=&+3ytrXn}Nh?CXnjt2w#QH!=-2Rh5me-89~&$s0I(>TB<;+|&4V{F$2 zs0rwCPl;AJntU%?!C8hF_%9}I`2W@zjoxW@eDAz}jXJmx_$Wi<#TjeeocPo5hqd8+ z^?7$8rV+299;DrV_H5(X=-tTY`OaBP;hW=Sb1rr@-(wi!rs*vjV3wwL7 zHZPU*^+mH%Q;(&cfk3TS1faBDm#y+6Yi*5}bkolfX*xT1cd6>$uv)I@Q~OjUcAM&m zZx%{&G=NjZeB4MHgwy7S{j{1naqW>mjfG25v{=g~%(!=hjYM6eMxBJj`%hawVSu>E z@f#BI&mLar{1n|AvVOi_d$xMX+bB^s6i|LV!mlS#`i~}bVZmRbd!SNvbtYXV!8^S< zAn6XTD^osoe23Rb_|z$sdr}F18HMp$@75w1Bl_r1@!FpG`CUHV<9qxkea7w$Q!nMW zKU5^Wt~ZM4EnjmP`Vdlj1+%fCp-~`e(!tvZlxn1qM*86<09RPM<1;}A?(-0P8Cq<1 z4;^dRetCs1eh4Gs>g=0=fPjG9fZW$|S&6AKrNX^o!TvK2p}kSM0ZRd1Rcb7R)^SB8 zogB*DPAtnP7S`4}GR`@+2EHLAeEp%UbJ;c58@V)O%i6zM+L*;G8?j5gDwcmzlug}v z`HA>LIIvojzKzTUItckFh&pXKu@=SlH~OM(Cu%V6?2f8*QHvvtjWSK6rNhx>7|L;l z)sXX3B+%^w`ZqO1hl6j$tli!5@Z6u=pYWRTxZRr#WadWZ?5(9j!;^=#a()7SbB&Hl zi};*qoW#fdQcOtuUrc>dcqL8P?ZkE_wrz7_+n(6AC!W~$#J0I(+qTUepM3v$4*IUT z`=YwKuxh<;t)-I~AIe{6(4p(bTbL<pL zBkQ!}OkVi2*m4bBC8K&IC#8^pOoy3jHKGMvCm;7SU>)JZ0};01o?r^>XTKu87E!AW znFMUIZk=e58Z@n%2aE*;Ct*fI71+T)(GOKBH=3>+h5V^7`&C|KV*NQ7)QL$kD$Xq2 z&>Ax+pMX1A>oWDzF*wB+pl^D9@Kw!##zcQMX*!XMbjzAe%1W-Ro0j;+Q%Esefm}Ev z$LozBTu2Rde-+)m5k&JahYOxvU78$5#qF7n$|Ph}ij9+|tl78*M&c;TJF-4rNBr2| z(ZJPhm;BrffJ-YBcoV#diHIHgFVlD<+!T}z#JR-La2uG~@Z%uc23M+D-KqNsp85HC zu+z^!glUR_ZbafdhokU3#B2bfdC(rhIs<1I7&cqokAlV1#?SjG1a{N9lH4qgj}*!} z_q8g2AXv`)I+uTZzwnYK9$1$et4+?x0K%|A+KK~!X;XsD5y)E~@J?WwenDF8Nv(A!Nu zv)S2ke$_Bhs)99jg3h4D^S-_Q3bjGrnk8h~PWf@8+3L`i-*Z(w6Hq<*r0+gjwCvf? z#8EJrmObneKRb4C@$(>yh2eb~eafT4yi-p6nXj_XNtS&90!KTfH@HG=O$dLg2#KQ_#c9fE6HXS&W7%dK?;T4jpHD zy~g6GOK4PQ``90iq9x0NEZWU%yKmHKO2e=IXlp5@Os=6+2X){2<9He#U)wNrc#@LR7$HrqQGO7#fHVG6kxIEdAt@Xk zwr-?bGGo-_jP-FUgWFd6t#An10P`wt8M-OJ!YgZBx3)-yL2H!~* zI)||zYu&MA6q+b<)~+7xU$tz0@c+E{7pHh+EHHZRR87Jc4a4=km-=c6{wPUvd~_qe*V?}T}goMm^yHmGk!E>jXlbq|7m z2@c=<=KEzzzlWd4`y0EH6XY`jT0-&(`b9el%`dxiIOjSsyZ?gZ!;Yu(SS(})0{>5kQ>|$cYJAN1{+ZLPsN%$}vzg%x3Z4kanqBG|)ufqYMLm;fA?i|^m zr1AVc<1u#xUax{G%!MLMc&mD!a~9f1GO#E82O;2#HAJPm_errkV}>4ycK^Z`W{#*z zzCaJv{#flkUfT40#yA^sQbRe`B&jGis`)~hI3a|vBnli?AyXR7%BHlYtelSV{yv5L zH*zIk>5M`qO5HJ`#DOS+QI}ZGhE=J3eT)wNr0UJ?E#1HYv+KYbPcrR-2o2Q;Ez(=9 zHiL9CiY_;N3RWg_N&g0m#i4j2pcQIX?t%(u zCuif2fwi-{IT*3F)d1NVC{3x`Hxc!r68--0L^n(Hhbz=5Q z*rrdXMbjUd?89aEPV6+3QaDQF`hKhuPft?u;C2u!4)_U!*rA^n+Uz$fp=TuQ5AR@s zszEL%;CAvGe_=Z1SO{g2tl{@6r4So71M)Nw)F}V` zh6V5q80k3-++qYb_f~BbbySx!0`Fv%9w*F3*Gk4sx%FceI7#}2q(bebINq`9Kx-Hp zBM3K3VlMLzX7;*R9A$ICiL<>TM-7TuOC7F-EmZ|vAQ$6hac-PL!CLhJt-g2)zn2A9 ztDH)bE5QizUwozfjjpw`_tLC*qj+I0eM4$x<%fN;0!d*x2FX*Y4{UBEDn{hI;W-2( zB^q1kMPJfgERy9)T6&Rok8AS!5@PFV#zZMYDw}X@SFJ1LyZpSCn`E>(57Oj#vdbDf z_Ac(Hw)uLTDP2_vhAZfbuT_+j%+@b-mMhzTb_z8N{$4gU*Y!UA+2cT1j}>JGxL%)f z@lRmVIFEk^Tvk@eqWYxV?uLnZ*rbgL2lvPZIs!AvfPi496q%bAYTcR0%+Y%)F#7#R zVJFjuBtcb2$eoClqtzL89Iep@mD=6;1h0Kdsd+@@U< zkC8K;I_>x_FTVO+=e*au(UK%zUBQF&RB=z8Lfy}#ps5~${fXXTaEnQe`z({Q1!?)} zc$C6qQmksCz$TM$SX%TLM8tQC8n&WWm9$eAo=38XbL0N$`nd$7yn+$?5CGpte!l|X z5x>8!)ToayZYgv@pT@S+XEeBujqB}*#(8G?x0Nsk)3|O)GJUBnA42K}W*N>2Uub?Z) zR)VIRxh0S^b?;7HiQlq;FjPde2>*B?U4;-s8DmiBf4hOu5GLqWnrlCkWUmaKTwwTU zLxmvqz&RjUYitH8jQ96IwDKT+)&B5@I{897N9za?h!68e0!lAYy21JGL2nGcCfhC5 zFmas+;Z+*!?!D%@QF(J(2W<*}jgI|N3Dubil1=%qkov(%GtPx$fO!K4^7+gK(4*P za}8pwh9qBdPJ@MsOssHxUg*6O=zlVL1H%oKB-|9qnrrIhH`|U?ib9HgG@& zlHOBi6S4i!j2k6PqQ>9jN?g^pG#Rz9G|IkSbYs<;wmK(>T(vPYPP*o%r{#s4Jo)?j zi--ezb9B&#;53yM`YnPs0T46`okX()Ep7l#C!s!bF6DRwPCZO1$)SGu(&U>cGl zkW@8N<4G)MmKb?DxJj;{Hp3HiKLSWU5h|<+#FYAE8%K_w2|BOxpMifb=lJlV{F-D@ zCZ8Xt0H7!vrI73pYz<})dK5X6C1$T#$YfoB_~>tpPqUA1!> z-*UkbIe2FtL^}yAUNoxXt}Gi`VNO^??8N@YCYI3ix;_2aS-Y| zJ&j7Uzzx19>=2mv3?`2~9X<0X^W~;#Cz2Tpv58aq93ICnw&0V_+YuhLCL~z@HYPBU z4v&j&tFxpE4ElDfv4skZ>a9-8$+O8!jS4S&y|%OFoSb#_>dvZ`$95UUuBUbxhBkdX zW4^%$W5pR;(Q$U)rwfN@10~u}MK1-`vCIAV(4I=xfj>Wm}cUIW(@~C16e;MKNG8|l6W@DIy z9}8;CA3L15KROknj+UgZwJ*Lp)mru|Bw?ToXLSLbr}?J5OvRnS?PqWmI|LqPZJN$` zF|?Hg#)lO)6<&=Gif!CS6b_d(WNPdj0D}Sy#qZC`@E{@W__%}#H2{hn zs3T?aC62l&_`i7w`I#abDZ#C8G5?v?S7w2$^8&|^N0D+FKh?j|q-X<(YPz+~^M8q| zbCF0;@vc9}zb z@>2e}6i98}d@A&$QB#_z1Kke7@d-_NiXb8(5$3-2fyY2m1cb1D^4&c={~SRf{syuz zNoCbhQepWCtbfcPT3G0=-t1Iol}BvZYW8aFv{rwru2R_Ofg-T(m1Phek+>T6L-*g> zpIeM}WSh$mK}%*w>-3OS&80UPe!pi@?VC>6*I??N5Z?{gTvG?Oy07M}d5p>!)Jwu3 z_}dNfaCxXs$91G04y$q(QX83DYr@+?n$GpVydbsK!tV?4FS)G+lEJ|0s#A`R9bk5iMT7_%W?uA?F<;Apw zwSb?|YoJPRT~ud8`G_>ZI(6A_4qOI|*REAU7yXI-_Smq`ICaVu$-0Qc;M*P6o)DHl z2|g*QnA&W-;|_ZaGWdFhF{E)B{3k~1-^g=onW~5SMimo#91mui2j?L$M@{S^WgCt< zo?m~!Bx|xC2&7I&BdX)hK*JOkSpLSp)C5IjJslG1iO1=rPd4fIWb=*{xC z`}LptJ7|^(+Pc2yH#In~eSVNNdR%RgV@5@JE)VBqY8n{4(Kl$=PUyEOag0Tpl-xC7 zC>LOq(4{qj`ZL5~-a#GYi8>kLaMGf4wv1OM_V0>1LPk`o^F&z|pZz)(K04^VuJ@BD zCg)IVl*hDig_P0uFFLrkSv}NvovRaSl=b0%|Hbh~;6;()-zH5;xB%@*2ot%q9Boe$ zQM5$@f1#cKz{&K)=-9;LamowWZ*PgfIFbB#?1A`F^4}BTp55^C2nvYqc)i4^sFkNEWy778X5 zAiwx0C#jB$RzB1OuSrw2J#%jXVjsv=!J>MGbZB1BMLRsgLtcZIUs*^@A&+E;KU9Kw zj3uYt<@mYUa2!G@m*r?B(yxVIb$pN}t6gO(>^?c+Ip1;2U~j3pT{ebLeyBIA?nD-V#7+J+6y;!_Q{ zQO%*@iwO6a1CT3TipFz4uy<$|C9H(%7hJK>U2>nASY|xV;^vdd zXYC)o0w&`)Po@iHEb~N(*)!|^66z-d)7B!Y>8KiuI{Tn}_RVW9&pHp1K4o~b5#Pg) z-qn)3k|}WTGJ4u<@3kT{tM)F64xag2s(JRCyH`1LcO|)x1EcV&Hh;4o9S{gw4cMy_EC+;(4 zC}@H!+Jl}oC_&4{3GTp^8pe^e3y}|okNeKiKe8s~fqsC&Myo$Iy(C7MXyB0>i00Rhm*5!iZhqWJDf@F>+^%0KdiS zq14Of%;C?jTD)HaT%^Na?719q@=>e|mUwclw0QtQV74-U_>09|!dtXp*0$*x42TRQ zBUT$I-UNHD0h?rp95=>};>XKgH0vF9jVN2qHFPW6@02@(=v6DVntfhad?3c{TMuaR zLVOb!?*$C$M&6+L{trzfnDrex2>fCP=~fEtp#bP$)sVdZO1Lvn0QCw_*H}J$6+OA^AK;z|wZ?E;qr~BiW5R>drSJt0H6Z zB9+o3kov=zx??}wzl!CT%XAzR%*?mv%f+(SKl#Jk0VFc~w>L5no3JRbR`2(|-19Ft zP@2FPHjBxhdnOa4x67ndDy@xo0Jh=I&M|T-v?y!?~V4TeEiQj@f;m9V!@|Xpx5id^kcE$_yq&l*laOkPI zSb5fZH^ae>QLqTdkz?nUpB>awVj1K}9h*{J$F($Ty|EG@)T^k~FuXP5jhG6lj3nCF zR3b3ez$m<3U9M+t;T|A^a^TC8C_3(e#)Z-LB7j{&6Rq!nRFDLuzr62%oQeC+V7Zeul-u zhVdM4rK_29{JUd)BJT(FL}g!}3V;P$+{S*`iYu$4{rq`sk7Pu&c;YRPP?CKCWY35a&~g1By;-1^_QGAb8%^phr&KvhO7OjmU(E$vmhf&8Xn|DY?rMAPBczdEWeBE zHr5+dGj=vb5QQ7t6V4{($a~VUB2C7-WQ5Xav@*{ym-MluYI}TJT3ACvm+UDxXijxZDL&orYGLA~C}f=;6@H`ig>SWt>l>d+_Zss|6o$ z7aS-K^QjH$^Ud^9eRt%q|J#u%LArGVd$NBJChgcOaoI}zKBTAx4*w=g43Ve}fnW2D zT*m+kbh2qmzum+y-p#>YL^?|+uSm?DRvHHlRu5_nF%-$e_(9tlRotXtv`0@uwkwps zWC2{>xr;j<-lAe-!P~ymvVy+2|A&P`-zDmSnGk%T0@&x@2f!6-5(^Tp|DZQQfy2+U zwIjgwS4HxV^^ffdo|Ry3zcyr7rxE=aFYcJuJ%U zLp)zd=(B`K)>-1AP-SarZ{$f_J-deMDAx2kHdQ;^Wqcm&&YMpV^9;#9%8CeQFt9b9 zv0?7rSwD(ul8-IK1u!N3iAukK)?<8+8coWfj3xsT!+g5%W!+2P7^8kiCUaxzuDN!- z1u1%cQQtjK-!(z?3}kM6rFImedtru6rEhk@y?O{lu2o>Rks_`gsSrP(QM>?$k;Bu; zJ7fXX_C?o%xj(jP0faJt1jzx<1M_e^41L&L`wQFqQU|xXpzjDUpTeN;`Y_$OABO^K z&1bjIH=EjQFpr|`lbTg5hW{XAH5dxO%7uO@ql!MWk|t-U%zmiYIE#sgK~^m85%3f# zM-63iIqnsP+XAxadIXbj*{mhPGUi)5Z!<)6y{V2!pFEHl(6_m^l**fi6#v+*4u{){ znybM^AABnw(a#$@f4M~znG3L`2yGeA!mDR;lW+eXJJ$?SvI@oks~Y`%NVmAN$uGVx z-;25I)*WZ^1fQ551rXfz>ivBEWwn_WX<;kf7tdEYAA$RRUh2?7(iCy^8yh_(HRbda zuSPsHm6&|)ENRVDvS{uBw^lrH)^LCaUvT$4Ir8aDkeVD{`bA;%$2vw9A2;j#ZrTRF z=h4E{gjBjMiWi-XmZ6{9$gZ$(!R-)>bOAm$p>utzefl;Vn5bNtJcxk*&rcJiX4!@i0On0`I+??kiGS zR_GeMY%oF~IbG%KaxvDo@TGzj%rPTbj+{!P`>ncTN!TYiT>scA1k@4fDO7~37F$8{ zYyB};OC04wCXFUgt#5J?ia0%;@ii|ofAPIZp~Zr~{iYVPjMevya?_Vv;#czN;l{@? z#mmjOFMK*HHkm8Rjm{RDo2gaSZc<&Xd3mOz&@q!5pgZKu!ZuOg%JaB5Je3Tldw&^h zgWjyd{xZ-9?}E<#jpREtLg2-yvkp_x`HScPeaTJS%^f{HQTS zF>Kw4?JS9cUW#@ii_iDcS56h&>}y*4vdR?W#o!2PYK|+Qd#Y4b7_lvuUYYv zg8gzsE06TEOeLaAV6KB;1?~{ir8ziI0M^`RiB+Iv2lQqH*o1K@by+ek*_@lh=_y$9 z=V2BiYa`~f5dHlE{{vgf?cqL?W(IwMyR3)&Cu=XqZ*bHWR}e<7H&zJ0q#3Bt zxH8}I4$f1bQub$6NO*rzrun3qQRW}dj6fNpVm9-?7Y{p85s8;F&CzhZ-=rtuIHc^G zNj0;U4?OKgd9%io^~~PytO=L5$F6(ZG}OK>Qq^C?86@*V7%XS4AY~H+#!xH?c)T;i zgnUffY&GsrQPoeQdjPQ0Q6vH&p=!Qt@=%_pdBE13+v?A+e4cn&ejv^=?Tci1Xf-_CIGr;&v_?6zLiK)M5BS#-=9``(^x0#P0DZa7@NBSrY8 z0u`3(V8|~@F9Ahzn>*(2x0lS7V^Q(f{D!=9%S?`{XufME!fkQyoV&oik@ReQ>+=Y> z+9@N!Za*P|?cQGs+ayAe;6d=PitJX=Y(EbmmF1jBSbvB346w#eU=iC0FV5zpV_yA< z@B0?$=_~L2tz1nm)0mJ)+l~H z_YPy1DOHfG?jIU4kHem!r8ZwIYZauA(Q~stUR}o1RAlPuI=>+$Hc;6_1tyTWmESVP zN>l$=s(@vLC5G@kou|nBsnN2blu-O7TS5PqS5oBItXzi(wTX#W@ASVCH7AaJDh@6` zp!{oFutOP_>Tqi*o!uE_9q}!^bEpL z$5ov6xR<9$TEme9-*e=w_Ci%8bMsUX#unwV$Y3V*&8-7LvIh?QP^B1kWz<9lBK8?nYcX0l>C>G0KX;G3DSvp3jJ_uUL&0P zT6!AMw0ydj=iGw}9@gHL!we`p_)sdv)$ma_ZbNVM?Q=a|>(R0}3f+O)xYu zy(NZM^NXy(i^Z&xHO0R?P$gQt z(bBWFhetyBDkC3CV6@2I+BI(LuUsjTkzwrb3tNwF$2^XTOGcO!)L~M|J|KXoD z2s0MTJKOj3ba#3LxO(`dI=X;BeR3)#Csu0i_w8xpTh^drK6#SCVd|u#XN%C-`>zl0 zWR-JNXBz@E4tJsN@63Ona0Qu6RI$rCAjlfw>z^h59z z{k}eI)lBO7@3Oy=Eu;(a12P#jXdsLDA!tPLf#fdoDkls1O11K%xIJsS-=kL_mtgMsgzvCLSJ0->3o0gXH{y3|;D*GWyan#M> z1h0Qu(hC3*>n7(ZOU0hu4I5RbUmqJH#h1T zvSfo8)VNc}e|S;#se?T~!(g|}3ez3amdXW;n~@p;z}FyMTQ^3=CKiOy4@iJu_?c6Km+pIzZY59b3K$12rhJ zIPOQ=1Kv^B%7$|%!zW2Hm_yS{CUfKFf{I3 zFUms}j$t#j6TZ*}O+tK>cL(vW8{$7YnjMkQm-3`{kw%riV!==3y9FN;sehrn!I8eu zcZSm#QBZtfU}73H{qYPxn1dR+by$n92{g>$w@{&;;pz+P)f?>jbSE(=g|g{H1#_9 zVM0;)qt}c&BKShBA zH9C5v?c^&Pq!$+n0-qPCmfM}42fzOgoVF<;r9EOtZg3vCB<@gU(o7cc+@kREZysP> zu4Q91+&gE_o-pybdjzhY%yhlsvEm=IxXHgoP8qVD7kF#EMIf-QvEITD3?J)r_o0o< zL>3QZ5C8i~+Ae;N1|^%?*D0Ta^ftX0q>)fU&O!F}(BnohCoCQ@Plp-e;nT6muu4hV zP}6`+s8NWr^cG_{adfAvJRm@>y0XeoV`Sj9_cwBd5CWa#2>~)_JT3+8VU~&-PS8+w zY zc-8pRW9x_86{q7he%zMzFfVy4q4uPNFz-j|?-s8*?yD}1;HThSZ_6Lg`Hv_~oP(v{ zUn*;h5-38rP(s9j?QJqIO48&k_#m|x7=0-6Nkp@T`Bb_+OS-^>82*|=xF&$rcUG5n zq1wE$c4<4t-UmmQm9}E#_6;?D)!}KwC6xD%NAT<&zXom4dPKv&WxTZ!`krzD;hsr*kYe|1xZK7 zQ9Bm_{!zlaa9Nkn)axS%z}%AwMLtFu7myRv+mmwh91i@QDQND5gS=+!!~NeH_q{BF z^+c0HZhzSibDS}~lkYnG6wL|;bDJ!+O zx2ep%SNCl=9(?RorZb_kYi-PUM2Xgl8IKx3H0%D59Fhnt?~{zuDC+0@{+ z29FK?0td9?Rqg*B3jHFg%K_U%_Q1cJ~f;$GR*QHU#i za?0>xtl&P1#f{aU>Ci3{>e4PlB5g1b7ccacBUimG_<70@lTbL^u_O5NPj?g3=KMD? z4}a{WJ7dEzhUSXA?dO$P7=$;Pja<(In;Bh)Kzc@XhGOKz(+J_fvf%R*eADExyFM}>YZeG zHooW|6Q@@wla(kk@yr2!L2Mfgw_kjF8CSzP4c}SV?u27_9)IRu4f?(1vMq4W^bl5k9@50FG>1<% z68r}vbrdqrKO&6w62|hLQVR?I=Si5f`=de%p1Z#c48|dRtHxR?-qR)IY!96uDE@@5Ow%Ikef=6Ip}Q}MkkkW;ZSA1+UG*LASG zwHO!9Glg|}Ebua46AD?UDQ45n{gur*VgbIg1LUKZOAVtJ7=*aJlVBfXB7>!fkK$%U zzl)@U4q@l22Vt@Ky*-hs<7M-c=#|d@N)OiTn!B8^lQGm56q4bImljr=7^#W1a`ENY z{*a!Sga;Q6hy!tPc(0u>3S+f<^|wJTHZf}*75C4hooQaU)LvMr?<}|Sl-d8s_WW<8 zGuce$LTfcDrcxS7O69{i0+m;4d|*XJrMNlp(GsnX!MdEr+7nJyM@gyUMHR=&@*8y{ zTeStzT=eOiMXq2~L>Jbw9|osMmnXt{CFEi)1Zqm+MxK0nGABRX8qr{~kwun8{W!Ef zi+~fzA3rszuAL*uBoR98!Ia^<XQQrm zh#r6S%330;r89ogtkVkfkQxi2H#6Umh9ZBdgDb#6a-MYieGrAd#(`pD8jc8uRf`b< znVk*`4Nth_Bz9Zq_?I9xRkhAMb!hz%j|DVXbSLUCn#`@nP8U1>MHH@r#S2pq&@mX? zXg|y&xVt+n(9>lLy6!L0AlH<&7=*r+qeli#sf)@4MVPO29f#0?e{PDv=@VGVpVNqAMSi@KYMF*>#wq8UBm!_s^uHwwbE`OE8Y3=ES zc-N{$T^J~0s-AVU>H&M`#ZnSm*Pu<^;VVcfGo*CGdC83c{C@c8XKLU@4HncD6mW5Z z;2I!S8o1q|O}u7D@N8Wc<$G)Dpi{_#m6hxW(QqnSf2!L2DBH}>g*WR&cf<9=iYI+} zPP%ZGrpbpcIAu`yZ+;IcN*db{0XdAoC-!wLuJ`-3zu+9p>mphF@IE>l&D{!1k+HIM z;S}RLIdek{y>hNB)zI`358mZ9k5c7HVM5~k$SD5ZPAdo&&9&6osmJSMQmMgjsDC!^ zcQOD(o7nl`5;7ox6ybk>?*D}tZH}J{@n6dz8?!Zr;dzXOkO@r2&)yAKiqL*sTq8uu zn&u!!Pg;Mf3iYAtfJMysa(Ba9iQ{?J*ZmyJ#Z^_xc_70c97$L5>-;w^a;}hh#(?xw zElCYs)f6glE9#$v4AkYsw1DqgR#x1)p0c`PVuwrUoaN#=f>*<+P1xtSJ$rHL5xDgG zDK~?`Z!>cnl1%TFhP#cF_N=psq(7UPmdu_s_nKVn{8a=Bq&kYwFNT^>6Lw-wWZUBO zf>$N?uJQ|(MdxAM3zsFVdk+?M^>qP$b1yCr!F85pW!2U4ev3I*#|C1U@EV859W?Wk zX2R&34KcG~Z|q5p>=*?AK3(PjJBgCx1fSTBfE;O6JnDn5+7g_y7HVd7!@?npbkO-7 zEuM;9vh1ISAiJW;cnG$(#-lRQ<|Kg4s2vy=cIQ5e`eUV&PLI8kIn&9-aJSBt_37Ewm2N=L84O zkHD4&2N{dzoD!OnjTW)+#S73nq!Sl$nJpJE)9B0!0(luzy!xaIdDNy|tXRD0|Jgnw zR}~{T&mne!7OGOUkVNZNELJWV((`BOj?-(1#8#e^02t+)Cs5pNSetG_=5(A8)+z2( zYQ(J2wtlGnqf|twpT``fp!xy-Ui!RWz+EVasKr^=j!Kp_7{#+GdH1FCO#a6aPwk)D zrt{;&CV%SH>_+=Ec6N$*J^5;a%}X5pxP;Hx-A~@SpLilhPVsP(!hgu%h{2(Qz0pw7 zoZ{ksp*lIx)78S!(G7!+-@(v@5#OFHS6tiQiTDDxOl#>_6PQKwJLgd;-S2!b|$!7 zPt%hpU-|U$BA|7p5S4J0&uLB$a)x6P6OG&UrM>j~*X^+{58Z(No9p_=1YeC-66G-| zH_MRhh(XG9qo2s89zwt4>EKBYmue2X^Qhe1`Qyr^`&{LybD?DNrCNcp-tge10r(8A z52Bia2xJac34q|VLiM`!;L}GYHdR`{_2D6cvN3Q0Cu8368B#B9b$$DI-q+w`Ii9dV zGu0Y+=GLoM*kR?|9Upn4Ihw9V0RBXm$ahhzRIZ=(;A6Xr*|ieY$B7=^6T)#l))jKU zGrD5xxg7_2B1P;Wd&TG6HVIqe66i~z26>jVclUspwf29T1acCrp0eOJk=}#6z7eO2 z+(NLl?2#h#Q{Bt^xcF^Zkm7$$<2-azWuOi(AGIZ#=?A+9%0D9QEDSaH_|31H|F?WB;1n0#uOi4xUWv8(3r29$o!z( zSvK~2p+(9a(W9?FX2F~m0>t}+HjlTTou?C<^Oee&*rdek73{6l|toDqcP=iiqoVd zU@)^KNN07e0&yLyJzZDo;T?XMZJ?h?|KGbM7jOS(5DUGitlkaZt;-zicALjs4@c}> z-;(d#+Wh}xiX0ZH9ddLb{<#l!R?J(6PJsnKh+{UkNgrLUo=)6RrOxh_HA}Y##ezo&wv1J<~44 z)$KqD)Kw=7gFQ3xHCVtDUzJ|tvPSBG_P?IB<3;iEB+3mf;W+I%CcsF<^# z`9T$|1~SQJ?g9$f5?BnzC#s_u&O_X#41o`~8k4}Zbn3ZYW}M*qc` zJ4FKvE%WlWItoO9)tHRbHs9{wiwCW(HttzDZ2yT3ETom2Y{uMI8GCzMvD3zX)P7%v zZ6!-O`tk(}e7=ZJgA2lnIHtL08hm4EHTBKso9Z4JHQfxx<9jznbcj6`QRY@6A~}pJ z2)+&MaHkGj?hb5-OcRCa9pdkB8+}urxQCB58u4}a*u=)itd_zE2dMNb-k_f!gU@R} zV1MVA@+4ylL;H(>Q39?Hue)H_!azsSj~Z$E^>Ds)6Is`z@wr}j9T(^uOm0GHY@(`4 zD1mx6nUG(W&N;g!3t_0BD-9l``cj?)s&0hPlh+ml`2_-}JBe*Gl)eG>6uacfKzY2v zwqEU-JD0WSY>&l0DkpF+Q30OW92>5-pBElDE2B`=k(4JLNS zc0vPWn#xay5Dzb-EP5$?!p34E?vE#V%IXAVYFV8p&n~I=Fz&_;+E?Z|=knW#xEV>m zv{+E1%B|GO!c;cfdu3_{E6C+l8c{{x_DMga5mfrh#14!Vk*(34W}K)iLjl#h+az0o-w`$Prq?E`ydUc7V>OG!#1V!GWlpf!?(EhbC;~|xCY}m**r2pK1 z|Fyly!=6-*4I@k&V@<&6W;%7F|F;sFyyab4$uB$>pFNO<2Gx&LpiHtptT@c?FO##u z5$i*CcA?<5iN2`R-4u^UNq(?4))eSSE-l4=9#L$3|LPFm>0>#gCBf%TMvE@Tb4oav zUF_38>9MOUO`W#SnDlhsWetVOZfD8VpPQsIXK#Y7Hs_xoI;oq_0%9rr?Ih>l>PKt! zPXoQZhiFwD)vK|x>wdvgA7qm2Y@%z;zr1x?BXT&WAK8&LnIh+~3#3#>N=R2*mTGpl z11;t{38K^X$e#gg+zrWN72EXJTD(RR?z1oJg3KSH$5oWq)k*ZNX{@83AT`SPa3r%8?Y@v=eSw4@k?lKV)hpmeSYYHv5 zqxDAB5KL6u{-H3ejEX#(JPMnA0d`yinD{41**vayWG}MS*(+RaZkL7U&PaT~HVFcs z8)uQ04aej4Ex%#>7R8mG(TP>9@Qir`R9P&MD~GfJJ~7|gOOBxlbrVhIYQvOSoO1 zUW880d#=C1A7335zCm8T|t*O{-;D4!7+H@bK zdTebqyDL4NyXfvBlEXOh_4;&=T}0dsxJW!qYp^P|I~-TZMZQd; z7RhEq#O8+N+2XFw3&RQG`t2Hc^NJv-vCS|GO@68Rf!wV1)k$*Tf=&3KGvv{a4c3;@ z0tXK@@Nl?5%Gk)t9G%xs&X6b!&-mKSoWu;~kG!M;{q&Yv?&nOYzZD>Qn}Z&iwNm+g z*cwTEn=}&mM8NdM`%tz-q>UdtmKfL1h>dIQKGllDhMa0d?f;;AwDBd%cLYgdwM()# ztTgqUn4T^7ECj`YMA!kV=t|aojdvYZObzFxQzHp6M}1P6i1|of z7J64Udp-gf!j6b+uJM@g-xV^Z6R~@BSP3~CIOH8LNZ*@7#47-mXm}>DDU!OiyNhNv z9!>U?fA0_W;b(8Q<4vegV+NyKAhn=!A*^##7F54?M6Lzhp2Y>vGY;Fh@L7xYb_Cg3 zc&lsVo@CinXuM_i({P8zkHEUAbO2zL0nIS}=3s1BuD_mU-*OSEtV5q3Y&Mt&x<@k3 zQ8OB6M$xMlmG>gai5PZ+nlgX`JN`+F7GKqHDM}GKUs0q~00pe&P0{AN98z(+!0MBK zJ}2kR+wqK~`?&OgOWDC7S6ZlXxA1z}^|=~Q{fMg$FDHkvKg|1#fOv8JIT5yfb4&lo zEJpf){jzguWX|I}SsWi9ts>H|f-cwvE_etosGm`?Dm{CFJubW*`CtKm$3|)_PovA_ z+ULNN>Zy4{OD?~W-bSdLu)~{H5}xrdr)%+8#UlqBq!{c~9nDh%As{o?OSO2;){kKC z7-fbSSBdSODCL?PJ6!aPq-j>NlOy3VtC6k-?~7jYAq<*0tTTt>eLnwOKBv>Jm2uVm zaJE3>sma`romoHtgpluURKX8b!B)mTJA0F-R_@;BY>SPxq0C!)o11H8nU!lLQA%It z^T+li`1T^V&l|i?CSDj(YAqg=DYtq?QYSiS2rvdU81tf%apW!0J`{cDErujbex8|0 z+Mz3OC(F~2xi}gnt_{)wfvW`A9dXh-43m5N&$a|2Yh9!;(a#7x!Ca~LS}c{yo%*Tw z;o;PRjWeXpq5}D9K~3-=t##!xsq;*4!ddin1AHRr6x_4$-n-s*pohmC_d}*-)}S%^ z^WN5&6D6rJT3-LI)P2_gCA2wphjuhSCUHa9FGaXdHleD}WqS3s!0*~!U$`z9x6DK6hk8sa8!Dy~2HP5t4b zzeayJqiIs+vy!e$SDSDE{ozDflSEyUBn^*_7_cDvL*~t-E!#+2IJ%#vi2hKuP=83E zcsx?Os3jda1;QfntlX`}e}r7p?@@G~zxRgTj)ruI4R8;5;t4ci8FNzy$M zuiMw0>T7QHs94ZM$>;WX*N=_gVC<(_IX{FmG#)b1A$reChbRcY5GMd^H#0g#mdfZ9 zTS|?{>kt0?K*!AB;W46#@~!|ITHZXodfj*oK<;0)p|7`YS#>GT%d#GxuG@LAx8+@% zdOJ5YCEPxO0iIF4gFQX{vJ6(nUgPoB1dc}CnZ&SPa z)4P&hor2%xP(5px53G*{6-~vXfHFz{by=mAORL(3vrK^_l< z<4fuW1+IFFw1XRWcXZG6UwKpdl<>}d; zhwdX%!{eddl2p$JZr8g8GgoaM8J^laG(1gkH99}c$OKnjSYL5dhvBT2;2+E4<8`zI z{F?5}yuf>vfE`COk4R+T;H&V@y{aso{jA3;I|U{IKtyz2rk&^s5dy;iilAoD69VU> zCq$#s=4ewq60a++Clpf@3gGsGk?W5gyMClU)!%hs=)kG|ROXNChlkh0=NFqduU$(% zcxvmwmi_y;q=~|?xvO(yJ}4fXf0Fy>b}$v7{^uaI7} zz*s1G9lfD|&qSjLMO&iH^|j>jaEuIw1$sli^1D!V$nVwdHxImNLv&L_mtY)JcgK4+ zHTq`y`}e>gX&z2YEgv9b0>AS2chBBC?e(~cg`!ESK6Gj$*ELA=VKPWE*Cs|9hBi+P z4^7eeve5i%cnkgnX>GMJuSSS^9Dj_Qhv<2NoKMl~VR~Lo?jNP+5pxaqHGB|%oSa8Z zzsuL~CVW3RkJ0lOIp0d}kJIxg(FdmJ^#nbKwchRYdQGk1q!&s9h!X(*VOh}JMJ{S%+G&@~_Dy>&l*;C(J zN&ax4(&iOaSF2lBGmnsWTlk0=nu;l#jRe873nViPwoq-}tF2wC3uYxvyS@!ig?}b% z(v77hp{km8iRVSJY-Ol_WiWQ=KGGVEH0_S^CVxd`#HI6^+f<7D*>AHRs}tagibx zZ_3Qu2*|2iB$1so@a}9@GMjWlSM$&NZn|HPkA))bZ6RY4AhK{0py(XH;wgaYnu(#v zScxd|Zn>=~Ry!F6$A>_oK2lX{z@T(xD7`XT^|iJ{$3Usat?@b+304oNf}mDc128Ut@?SF28fuCi4-h~E!_6i-o#qIk7c^)>WYz)W2aMFnns!9l^ z3Gb6N4)Q;FL$g=BtwNOBValjo7bOu3imv_n!3U|IzCp7M=uM~Vs0g=kS18Gm9YM(C znVdu~#NBz`O>qai_Zv`smCROAWqm@h8~lI(NE^ zvUQ{PQA^Sj2oW`$oy|)8temI)K9BookG)k@#HOgNs)>d{dk@DVk*pXnN9h93eW$Tv zkmLW#*!sTl=^bOi!E(}XQ7EnTHl(oJ74p{A5$;hR!2;>>`0VT@m->Bz!s{+gTQgBw z_1*etq`p29tvBXzEFP?*3BwqZS!@_rGbn$Rsi2syDlNPb@}iO>9jSR5LpH^g!Rzp_ z>iPojm3)p*JrWANg74QvS;&0Qqf2f#?yjsd^aM)|81o5xKWk1W7^tX#y%`j?mfDcr zKt@q;j_VZko=7ARfSHFxED#QaYHMju@yHUh5Bckgnl<~-Ry#R1Hdzx5Mka=bCnCYi zYii35HA}V`W6fJI z)=YkvKXy!&BA>?2a(yd>S-j};Q6kQ!=<|u9 z&sUM>x6|iqtm|z4^=kTlxL#Yd{&S8g&|i%)MXra6zWuSber|Nk0(2+z;W z{|0w6|A1r~I}GeDgSW?mG50Pew#g_?!c!Y@rW~XjjBt$z`Wb1$pU}&kO}Yk z->_Ga`a(=SU2pHlSI~9#u&K|(^>-Gz9?k0e*7e54*9i@l;eGg{%yXy>ZB4stu+1(L z?b?bhT>`2$!be?B#>P_BX&+dTK5$40z%_i`;!B3^(S}+fENmp2(>>yGOZw)#MrmZ1 zl;6MDd$a?;Ti2Bn{SIAF-JP9oRq!|lPRg39oE&g?j51Bo9Q`Mlq$UbFw#~RXLDdc( z(lmkN_Svv5h#D#7+=8YZI;g7x$IsXRN57wc8poO6AO-o;9@>pj0L8TgU30Mr;3@0k zYcUo#_Oi^AH##h0IE!vAqb66*9>;h>LE@t zSVj;SER|;&Z4Cwk{;DefH-aT4RaGS=L4z-@L!0sA_;E6ZmZ%HnM~%7)=SROi+0wM3 zt$9Oh%Z8TCP3u}3*S9vUYi(ZFZ0KS=^RJRN{+8N$N6ZB?o3%fOTGWOQLvA--(aUrf z-ck=v7qL(UELT(j^PrRtMz$hNScdBiw(yT z)^J295dylp#8B+8ocMhd!u~*2Rlr-$_(@~j6814=K73U$V7&kA^JRW~pC}RadYiw@ zps6x4UY0R0pfNJ~PN#)|6yxH`6o$c;k6=u2GcHLHStoKi_sI?h*;%@Obq4Y~KqSBX zm|5p@Hw~e6p4Ae3R3bF7X7xB};pp&+{$<@=?X8jONHpvXN2(!{8g^P+;j&&N9r=f* z5|ul!BHKIj4`~&3jI#}Yt6?{+dt4l3R9@0>#l1nS@`MvtEQhJgH4U?H^;i{LRdM;f zRam13eQ@>0dmHb?-~Bn^=gNo3Gopii=ZD-9{e?1m;T~R8B?o)UJ#LBq(hDY!c$M-9 zK0k)z!qgnOvTO{;{3ILhJXY;1LVa0kL(KeHV&{E`;2vgP-)CYQj8vk$o+9=VQC)2y zY^j%QIc)l|?{F6Qfu7IZ)cf;1s|7c6IvLs=ZK|s=CPQn%6iY2wFj~r{*G@M-B z-ZIw03!e)H0@c-lK#sJ0fv#nHlXWCcWg{Uu!rwHTy#G)jTvgXhdf^tNK)BrOqar{bk9AwL9tfU& zc5*1vRa05JqQxyLQr%!fRU{d$Y0f&MK#UB0Ki&&IlFT})Q>{Z^rsI&5(^#T13Z^UE zbkb=wyARff$MYn(7HeX%dxIU}y%MA0Qjezut84(@FNrU^eSv`2X?wYh^1fS4-dBa1 z()A_Oq9crs7wb7);llnP|;VT9S$)s|`P`PdS~b`kyrzupP%KtKFp#TWplH5`6sW)F=(A zKpl&$JhrsmjqTl}<=N#TpfYEk3ubH5oaf0myrJDbKaN0iE3w($#(HRPeWPOa2FK0j z)>_T|nbF*zHdtMX!nD}Mq}|X?{l3x*=uIIk-jpsOrDEqB(JA}Sz)o-)bDa*|j%6e+4`b_qaY|l=rkXLQ@ z3#x6y2AeAQ#RCT(mj#>f{MWz!Jo%CRFaPj|FB|nE^a}e693kXcd2YH*EuvZWBS5pS zZFxn8^?Z|NNqzYDe_eeR4=AW_0KGyKybG=mrn~SRGWpINT-d(9X@3XMFY$g{f4=ou zLwZuzweOQLrhosJnk?(OENjLbf>j^G>@0fTi8kSD@e@Rj%}_ZugHF@(Bq_g&mhYqG z`=FfqXm3JaCFMTwgA?71X+T@76xjbnZ45?HM{e#AHiTN%bidQNmiLO9ZE(;=jCIxV zTTu}C8+1i*xo)`L#R-a=10PoMo|njbyZ{HMIZnakLs^TjmJZg`!ab<;b^CSlhULrc zn&{;xT&{^tiom(9zrpPkWc>zM*0_=Mk;qiS_79Uj9;SUfj6Op9-h+RMC#Y;cNXri{ zDmP;M9fESuJ@GH8ouva!=|)?v_#kLJN@>=b9?m0O=iAFG{iPstd62oxrb>TFRV=Z( z(@iC9d_mm+?_Aw9wl|e3mepHKvV+wt@Rmepo&z~fYcEYO@HX^6XkTO0H-973&2|yo z4y6YxyhMYMoeY8<@(fEX7|1JNx3P8_SQH2-3%*uCvLd@1pGE{2`Vx#3yJaiy_a0Fw_!XkiMM)W zO$pZ7SF0YcvRZobz3=_JWE|UTs|`ox>bq{f`R_sz9{RR*{zm*qW)JG3o~}O9H^p_K zed|J6zr&47CcX7YikDrZdOYfc^p=^K z8{`Q%9(Pt3%SH`Ou3f`*raFCSm9+Qa;T#=61S^vL1E+3V3XTR z4wf|!p4t>P3M=X&&1|nKIl1e!!r=o0EmqI%5(Gtbal7>D%Ssf{$=$u>>cj7!wrvqa zl@zaZ=_kRK+C;byi@%22(F*)e#!Ripr!fu`sp9N5r=z7I&azH+w9EkhqH8wentqPw z%9ec2D8>tlr^%nuk^qODE;7tXMSBpe&%&$(^3z;^G}IC#ZL+aW+ic#|F&6~yvd*&e zPv@#jhHZNE+~GuYFB!RQ%19YyJ~Lr<@?6z;FQ7>PlPN^zGRZHv=zza%X+|7FWeLkH^Mf-lr;o%Vy$qGCVZ1&O^0vX7{lQ{ z1|rp&Ti|?cdnH$GLtV@*^PD@LT)jFKce~v(m+<-<5^k)zIaf{V#ArvH=YPFC99q%T zv^*SM-V{=Jav`;PRY!so+>$$E^p z@jU7YZ-^8AK7{U1^9@nPLCs%lGAx1Y4#r`JEr6_pVXvTC!%@Qe9Cn){-z~$+qq_Kh zblt++jXbL7bEh%IBldKq+G`V`m>zY4t4BV6UEmyH#)vzYK%oKRnE0jJfyXX8mLQg< zpzfWS*xWGGGroN=wX5GFD|&KwNL6`JuHVoxKHajif7Nu~C5QOcl+D@_QPC@T`QgE3 zk%kgUkF6O@O{E;G6|YBKZBK+H54ji#4foczmML0f)iRi;UN(Ojv)s&8yAr)zn60)+ z$R(APFtKQP_pSxWWyK;{YcJ?A3iS(p5rKZNrw8)b_N?p~9_(L~%~t-eWwZ6=yJ}Z6 zt*R=v!sbHn`nK-v$>g@4wza;KA}Kuy`^Q^fTD5XuVAW{)%cLZ88cst(6O zkw_#IgY4&d;gu~o#Igw%+u9Zdr_4_6f{kb$TRPBytkfTBoxN7y06ibacpQE=c&?dk zKMdP{6tQN!_O{Bqp!6P$?~xQ$ysP~7*hs4?+zOLm@w&IXNhP95uBwt%QB>Y^T}=%Y zYq8*?ifEK8lAu0T9i{qFXnurAG0z(F4y2dP9S}soH)h8SgSW#RpnuGoI5F(%Ce#oK zx3`f`&VvaiFth!F<%HZaKe)u?CaK$)kjJkp^+}$efj%7DsqGxqHLs79rQAFBK-ndN zx^vXSJgbS4w<(n(tyVI<>(}X`C`gPQ|_f=++?#;UAG|_CbD=1OqKn!*e zo5^msZ8s)Ppl6)1C7&%Iu=BW?lGXWDY6iM&LCs+`k__unuiNs4$PY6d&WmfA_36%% z55(b4d;BF`z2KbwoEJ8o=y)saP0GCVoKKa#o{?JoilTZI);8JwJG!SlnEA2C=hvAz z%?BGK|1%A-iF;dG2%Opp|8FMzzZZ?AS5h6g4cqKg4`x9RcCd^i&y&l6AoBQ35kF#gmg{b)*Sx&)tbj8!Znkf066W0@EpRnV`Eg`DF)sEK^1#VC8@JU#G z_y9htDSrtBoMoD7p+QZA?c6o>6@4A#sHk68gjI;0sZfpYnnBo=PR9YMoG%lnu0cBk6I zF^COX9ci~1T5fO6QXxVMv0EfwXf+doUFN;8*L($KW8=p6?AG2RwIGs}mWjIdzI!My zGrn@{=!rf zTCYRP(p+8GD}udd@)lCN`gv4m z#y9Opeam_}l2M?NF!_e~rYLWJQJl3jqvF)!*R9C%IXYqb$cP{DX{FpRJ&LA{00E2` z-=xs}3y-SkW+83^q4zD1FTkLTLR2UH+fc9_zWzb?mz@1GJ_7++zC}x^&&1^XpKVtX z+1O5)_8j9ec;7Ig0*0(N1+bxOrJt7Zo-RGYZls1qrQS)&s# zQK4bN29wF77w@0ldC`V-<6|oZlfB8F?oJ4TtR=(Y60I-_bl8#etT&fu{Kcd4BDyC@`>?5yL@tb6U`T_UwPn7%pj!AJpj=!4%9c4XFfJD zwqXNXwyJt|s(w9<@$D*ME4perI#VMXCK@($Mpu>VkPSw4m$gQlI$8!gD`=#Q$&Ig0 zZvHlKNKk~199|IT7u(*yaWwNxcceYhx5nq8;lM>k^Cm*o)w15-nOL6ictpP>YHo+- ztqTRKWyF{~>1l}DfIe>qXLex+M_I?L=%%bgAgn{e03k@j}9wS?Me=9a;>qF z!>c!e4OhUl^eZP02dH|}&9dF!Ts^*K{d)WW7$M#1Z&RISEm$Dipk%$~>+gXxZy?~m zbj`Z;t256~p9GHj?mUeeP!he@RObns=3R`Pi18V)YcX}HL2h?35TD1*6td@6DFLV# zp=4WgBW&DgGlQrLL<`jO$YKf3pSR8#H=UoKyc@uCHwB%bX~Kx{?bAPh0AzK_6&G;D+j+e4RB3zU9d7U>$b$ z6y)YMHC0F$k0Abln=8~*>EeQ+qqg(s&`{5*m=@7Ti)x~II_Nye)3+9=pKpPpd24Rr zFN80=fL5V5rNz!hiFG(TnwXrr5_Xd@MyYqdC}i~uYA}}Pw2*V$l~Y5~0Ysy$j|>g; z_jXfA06e4|O*;z%;%4U}atATPsV*BKm;UC=cBetx6O~vOc%7Nr%+TM;34qE~!r1+TfHn`d&n3~FuC0Um6YZ)8-{y3|ud`t5yN+yB-MU*8e zQ-!~$DE^$z0%Q7BGNzwHJ?NIx-8knF8RQ_V0qi}PA)|#zJUeTfabxP|nD4rE?)&Ka z#p_lDNme^kElp;+glLe@Em*LNjhv-uKNpXf@v5@V{nhJ5Rgvzy59Vv`1MT=e0N8!> z`}(iC{j$pc;0MgJK1Jd)uTn0lNTPBx@PL~YQ8Flrj1yV*$(f(wQVOp>pl{$k)W6yB zkPTvAMe_V(u(yaKGe)=1KaHQGzCn(M+?YJG*c0fRh6|9*a0qIl9zfI+NOri+R?@ZR z8p0e^R7Lk=g16WdB>FIB*k{a4hc@cDQ-vzS0Lk2r=EX3}P8xy};%QA3wbP=mi^dV| zB|rMZlBSCf>!jde*scCBGS|G%GC|ynM63UWYx$$(8T?UrGPC)tE(scZj5X7KhQohB zaqtC;m1`~Sx_n|NoWBk;QHj2{eWe7Q_T$)7; z8Lc*kCBU`Y>7)#e&1bVul$L^HS!uL1608(T1izkhU`BbP!BGI2d?!jAC@=ST%gR09 z&jZ(Ew5-gFA1?R#%F2Ac@<%KH{&Tq(O1$NUA44DdJ0^zjMKR`Wj=k7HzVAlrg9tyc z_kp&$2QmKK{N35TMSZA(^sfS?2)?4OTpT&46@%j3o~=1PvTnl$Hfr(f}UAj z^W}BfmM@U2J2iZ5=1P}ammTC~k|N9G#ZFnn-=~91q66(w$Bj3#5+^CPch~~58nE4J zQ>1-4GA-5yCuxJ0-!t-lyD9FYg>4vtfQIjq9J0>2GFRejRZVshMBpd$nt&?gf8!-bb04F=rWDI!}#%T6hSMgU*|Fr;$)5@8-o}~tbn0#5TnaWy-S*A%?&zpN|t7^5{GD&tiCA+65 z8tkqo1$Cv8sss)$JNKXyx66|9=Q+D3Y#*UAoM5 zlrA{QgtPTn1u?GCt|uy7T}6t)fX^v0{1Hh@L&k z+(P(q6Y4_lM^epA@rc3_xf$yylJ(SKtN~l@3vq0%`}%#<(>soRZ38OS6GKZJv0w}p)%V^u{&}~cu{wU!k)#TXyNGwzu zAS1Uqw>LAp4c5p8>gceh>VxL?OkW%Rw~>)$;T1mLitw`R(IcVIKsb>I;}Y^UKu+*S zCzdUnfX%_y?~kW8wnU>X@Yy(JjI+z6KbUW3cpn+ z^w>~8J>eAzZj?rHRBhKc0eNAh}%p39-;ii7zq|`$P5D|K=a(u z95QBlfw6+Ljf<{VSl5?+lo%qgi!p)X(P$)UC0+g>2yF}TWM5$_nb%M`swHwaRAEO< zvl+%IY>i5Pc4nc&4Buq=UbNxX+qPYM>G08X`f&Pir*{2LujEmcQt2IA>Q*(3Y^`0@ z$h@}U%OC#8M{xhi$&GL9pSUJw*5ImJwaO z4fUfh81uvGfgWH~&gT0)3H=rE?Ot@C$QuIdkmkI?`ti(%q3H0TY}B9iF!AC99N5kj;9v|*p?^2<(Bi@l0lV!E z_kJ1MCCu`LVAVy9<$1J2O z!Fu&N7w>ju)=Dz|A%0ipaON=8sR@5(u4dLD4(a55lG_RK(L3U89sV|_Kkn>E`rDFW zZ#?Y%+LQk=y872ojXd+@U7LL6n|%Lz+mC*9+mCLz;n@uvt|9-Su9o@z?8VIUXdG=p zzcgG2`2=>eK@HNkjh4|fn|U^Euo4lH6udBDLo}OG!dN&q|#cE<;e!-ldZNVmU z@I5LBv6p8zo1V3)0w=`QJV#r`8pg)B-28>vqfcLc)g#+`wzegg*_e{C*1`43oqbKi zJa#dfD5xy80B*3r~F678(H>)_L;u6yqA zfsbCa`^v7S+M4F=>sMU9vLRA0NQz`<|GnH5DsPxsJMp%ut)Do49%8KANB&M>z!Uq&@Vd+LXHi%podb#*2xD^#b`&N8Erf7r%?A9t1m6r=!3 zrD|(a{i(j%WNmwGT_hJt3LG>oH@1RUIDT{AqLUmVs+So6(o!9914hiPL=EM)HO!?4 z_jRwItgqQUwsO<*l^+W^u#YGwm`m=vjAqJzxl*4nDhSfV=|Ydrg4ef{N(V1u!Ufe5L1J7ImEF`D?1XbdoFQJEf1=@2l+Mic|fN3X4QL3#`9^z>|LY1!KQ zUD-p_X#IpPJ?fG0S6a7pcWr6)NUyy}^f8God+leE$CwYOnI9r;_%iAxW3e~gHQZOt z*f7l&Z^w2c0G6Ewz_ObW*YjclwzV|Y$D`p`%mERI9M0?neKHr32W%sAyIpQ?Q@;0* z9~KiGe)Gn-QG{QqD$@>Zof&{Ak%B+Ctg)k~re){46;-9`p)J#$W*+BQ=Q2{dcIcX* zx4CP3vclKgz5SlSl3>%?9d&|N5;d9VN3DreNmG2XC$b_?)wp&?!e1)ts^&?xC6Xo0 ziOKHf^2&I)qq3#Eq$(CpRW%#-Ve9;>%vrjxvFlB9TBy`VRxNEE~mrgq#J{6 zh?&j0z5@BPPHvVbW;SN0cpAIU4Mz7wFbFYsgUf@1%X&Ift<4Q}v4~QoR0e!>f2wHi ztX#+d7Wf#)io-D9!9I-J@4M)t`}Xer5c%FSb<4VSw@ht@@68*J9N9MBEr|jrRV2#$ z1_t`d6BQCCh*H}I`;HIMC*XTW!}{B%rfyxo{?@6f+t%-z+q-A3!L13pOH(Jt#wS$G zr3)(G0C2Juz-a)DT9E3)b`Ewr+UzW$;!|#L_8>BrfC#xbr)!1)3fXO(9Y96EO+f|2 zibWHHg8-?)(ZN+Khr3cOP4%@!A(ab1YCud|zzI9@m&yv4z>RI5ek1o$*xQC*qp;db z;g%1v2VFkNCr$`u{uYm_6656UL#w;m)KaOxCQ*CQMa**sybRc#-JK7%+j&k@JtuYf zCK`Htm+BelZS8m2eEQB{BwBSN&>q5mb~*Dbv8RYIIb9nv_3^ARV9ZeGTLWP4wAu1q zc2ycYs+w)|0=>_QKCieR3}~QS$v`Yw({aDsW(qh{`g7XA6zK;W4_ z(zfkYJ*AlpW=d^AS;;&Gez$nIDroSBD83J`r1&jEofNl#cq=p|jPh)RN;1le#FYkI zY3GP7eam1xK3J20??kM%H5PAejpO@bgEcjSG2=T)R69`b+QDAi1~Dm&7#q}s$5=`; z_RT^B3^SHM)^>7)kNJpc>+>m(`c<|Gg8#nu4b@NkmaB`#$}SdWql6u&AvVgSQm>v3 zv7r^bfGPSq)%?Xr{3>?AdoyQL|Ji@aKO=28G5=fqq?tF#bvo6e7&@AX{Cp=g(;Qyi%yr@ z%}xDgVscsC$~TXea~~TIIz-OlaPz)0e3#O=GvTeOPraYO+=D)hTbLIJg~!tof^!>e zV@5Nu+uD%K_HkoL2Nooi7Z_e5ngeh@NZTI%rB>EA!e) z8~8H$k~YIln>F(knosab_#!(_^Jdf&yoSpi23~V?Pz~G7&8T&4pnt=rZZlRQI25IJ$&M}&y1hF((X)Lv1Z*Bsgb_hPyE5|ZoF=J`ifT0Zr^e5jvXJ}ck##fIzH)j zHMgXas|N8=#}ks!QQOeUX`gpc9z8Yxs;!c=1#&R9qe1k$w41|3m%zwn&2-cdn-{qd z2b>vl&Dq>6%P_t%o~8#!kR7}*H{*FeV3>y93wr}mhG6BK1MisP4`ow561zN^tf_%~ zkIBJgy0@#Qy{4_HA(#6x8jVVMxgT@hy~gAyhTr^n4Fv%c3+C;Z6JDR@5i`4dM0@aQ zyzIjF_|)&4xuYO&6y%S(*5lE>4^v#zqovJ`MUcAAq^1-~_OnW9RZ3%?f}IWjZozb%%=lCe9O z%ukr@^S@=Dpz)ttX)ojOPK>5#z{DMPmU>N06p3*~HGn*{x$QZmlOE5(auRGgeqvA zRkTiz6-U4f{b9trqYccDAW1OuHkVs+%xQkb=XpC55;>RiF27gts_+;yA7H8p2lx}j zK0_6>W{rhzUkl)$i^ihWuvAX#g^`uNIkWKei*CDHU>j{-QPdr)jtQK=HrTy_q&r5L zxI^aOqpF(ZmTnh}Lz$CqhkhNzug*V6Ycd0_RL2J{^2MMbHX^R zD7r=i4vH>L^2(AImoPR?aNnkRbj4wNJB457UzzYc`T zmGd{6pgFgJIN$En1&v#~mI*9-}@j1euRJJ)G6yL-INAzyTcE!hp0yn{n)T^&nG{ME+6d><= znOQ;b_iYqF?eu*$x|P$L4mqNhP0>sj;403-SPmdR>7L!{YW@zqEHa5GdU1n?RRxc` zdT_AXu5g0N>XYrviexkA6cz8lfSXr|_RyS!F=S_I=fB3hLTUK*^}{77d8xU#FZA@( z){+mnEWpP|UJ0KTD`_R7a9Bg&@DhrmcR~xs9*C1cR7Qh1P1#_-C}zw!)DAlX%^)JF z0i4MRoa_izKv`rjywzF)Edxgw26mF2D!dsjzSo@DkD^E<5{+b+OqrM^)$=EEeAf1H zBaTvdccjEu%Bwo(bUQi0mnhL`fug&u0%i?SGek|{d5PERgT{%#%e>kUG{*T?m?Mbr zkMob?g9>6=WPYUU>hHi;_jk+@MUoXomK31V5;Cs82{~`k8UwyCN9;3peNq%t*fJEu zW$AK6ccCIkZgWlEbp)5EKO5C+3)xCC7cDCrTJ&=S!OMv zPnWYfnI%|)!xpB0{=LjuqD!wea7fp$5bOp#0!!?OnF0odc7kEFwk+)@m+-ZVuNXnH zJxGs6vOLVUIMhblH5FyvvZ`8M=0vC8j+wgyK5uDtxUX5@U2a!-5XRL3{3r@CN0ES< zDLkSe*I?){mTV)h1#t{k24W^WVbx;OY%)9L;c(vB)5Nk7O&wj1|IwF7#dKfqY8$D) zV}5A z9ziy2w;6G$r_A|A29ah1S%*-yPV72g1okRgO)r>s%*NWMN=lnE)iz$&*BPyH5yimH zmQ|EjC^8?ixkSu&It8gF9Evsytmx!K?9zy>$MLT1X(Bu_|491wA!3>PQ47U%48+IE zg+r4%sK7|_BVVX43sB0}{8par?CjjX4~z_mb#>tiy~5$(+;S-KbWdaJusg^#R999D zti-9D4!mN%0l5gS{g!OkUPrdW+jFwrQ7GFBM7tt*_~7#8L0&g_$2Z#vpAZyJU!O+- zzR^x)$^2&IoPX!}%M#mCvgD(R1n$C;V#p};&&Y|@^RG8jSnt1jXuTfgcmFJlq9lo; zOvho4HcWqqziLDi`esY#f6Km+(s%9o)Ao7WB5bKa(7w_vVH>sx>z}`uz2fy_GCj>7>>5~b}N@5~;X`u~~v|0M6F zG1!*S{fq1UzZV6KpN2ij)4axu{NyBaMiWH$HbvP+PBs3biwf$mN|(FwIaL1Q>i)+` z?WzE^yNPPYPpcm04Ad{E{Pykiz1u(!%e=&L$i?1_N>D5vUYZk>pg=fGIYFL=?<)+# z^Ws{cUEwuRYpt$s)kIa0ZQgb5ELT_Sb_tSNUQ$x7N`l)}Q%`mLGxJ|#pQJR=e4+aN zdF%FPitF~QkM#Kz3R9o-rB!;;D9B9~i5foXIi-8C&TXmOJEJAOa)GGaJh7~Zf~|(i z$vM%u&2!dAEIdvUWRX{+B|JG6&12wWY#nm4`(Hn9+>$yrTc^nM&(yKc%zu-Np$NM8 zv=8U@_WI4REsOMQL&W}-TKM#5V|pD`FS9B*U1`dy;Hd%~TyhJFPiGXTPcJQDiLLK) zmDe<-{9ajMSj>r{>fx}8EKDR^UsLu3d(zi$1_gHkFr+mj^F{*qo zQ5i}t(Fc4umiFdnd>+1=z@RE{BQT_VN{Ch|ry=djw1L}W8w^Z?Qj$h5Bpz_<7hL ze`b#0whOVBwE|ieiki!$-k&fb^vTzm17sJBaBj&dK#W?LT672V3TcXICn3uJVEYKm zQVp4Me}-~@5s4nvW9flLi@gTR^&U3)tuc>6`7Fc{xr5aIDy_ek)?a0&r=3NFWl%i? zs0FbTq+-RgNp(ZZP8z_t1F8jf&TOT%Lj80cUd4p)s`Hw=)E3D4d(SaQis#LW$EcU!?qTK+|J8b#5Ur9{PU|K7 z0o_4lsE88hi@zmscV+?Z&Y)Lmy`k5~+Y&fqYw~b5KcB@J%RGT;nyvZy`7_K4+|GQP zls#>gA(7lyMPS7;UogsG&%t~@=Kr7CgTB|d2Y*ED!AS7J>_OV!Fb>lGK9z-m%xuRM z%oC*S(QMgHW(#_md5V-hmW7|i6IkZ)?0v&bHG%1$NZIGJ_gOrNWxkZX56}0buMs?1o9JQvKD5nLb zin$gXFs?K6hq9}1C77EqJf>gI!K&VUEn(uJB2;>w^)cr@(M0`rTDn^$tkBSN} zfkBu&{)gs9V*DAwHXD;{#gZjRU;w#CiOwznDuQKyyjB>_q@Y@Z~07~y4a2xa`ERVhi8wsS@OKdcU^d{7uw0QUvI^pzzc(VxANPCl9uOTMh^EkMAa0ppzG6(r=09vi<&7 zCXBYSAu@KOkP!|-5k$L^rUH%NoJmMgPJJ znmDC;G<{0cc!8VR#N15erDK=wmAvxmL&UZerW9q0{HWZvZQ1szY?QXIE}Z};wFnSZ zHV-fiLekznR_j8s2()gY-cr1En+3mI;;v;xVvGN9aqE62OR}eQx6Q!`+$9TJXS8jA z(oqU+IGrRUVOc|^2(~4oOTgy52I#|P#Q*o$#>+rd+h7OZsUlaW(_Ac8Lx{z3Uc^$g zQ?dl4;t_>BQt|s0nfb-y9#TTlIETyO%n^$20YW*k7#(!2B24H626-3wVRjN4!J{q+ z>w8@usc?i;oRn0Y9_KhhsrJVDScFnWI2xgQ5|>zRDx{2}{o4^LS3_VA+jxgX7`1AS zF7994&6nK7AQO2zk)%qspC{~s2dW79KU!?ey+m{s7yHNmZn<--%O!H>kUQ)}0^5ssho&R%kMooGDi|NDas~7{~EV#Yqo8& z*|ump1o8&xijqDi?K1fRwCjST%`uNp_DHMjBF8y?w76XlDx}5w9*4^%*bgt&t^rCv zDKt|cZ^A$k81_n&7NR4jV1X$Tls9)0DY%QhqUddZ6A2`9?uA5C;*%Bpi^aVzPBLB& zNM;cbK>k?tLL=%M@&`GAY#gT``SUf!CSN&g@-8mrnoJfW z9F^luG?NJY4N|Msuw5PG%s6I{6Rk9lS+oXCn8!9Gq4$}`c4BjX!aR16^3R#aPP7p{ zXCAwdh|A1l4hcA69`mRax0}a8-m!>o!)wfA3ANyV0ifGp7WFztHjgn9n0K1T43e1l zo5w7=oB5P^Y(wSjD)ZQmO4%9n*g?wQY#uw&$JzIq$1YTA8#0eM6tL|uk9pK?J7FFR zdB-9S+CE_(OK7+KrR7I2IeF~B?Ebl6YjaC`aB}}laLr{$4$K`5u03}2;LM)6;J{^b z`;Q(w9!%^xdSq_bp1Jh#T}O@|z5L|t%#p@DM=!21ZeKq$d)eV#$J!d3n_GI;%uG%8 z808J-h3?+TLn|6ulASHB4ZGUAIy#!$QXOrnmbTp;d%O0uk_&CEyP8vbI>;dF>`3ly z-`%#m&uocV#ip5K#}6Dm5~S}atlhlv!13U&;M}oYduJ}*b?i{^=)NF%<_LLYVDGMr z$+aVUgBR~Q8QeV+JT^0X;P~9kv6;QW14n{;W{%D6BEJVOJ9gms-UEB)$ZL)_9+^2Y zck+^>v&VK_vj1d$Mf>OGF6nM+D!5KS(RkUR$^E1W!vs#j4M+FQo!E732HJG^z@C{S z$H}WMJF<7?Sa6QOc*Cmk;KU^}M~s`tjT`ENRu@|uTN;D3GV@v5wKwcKaCq15!!yAX z2j=#Zo(>PJ3+|fh4w~&bzUSD1OXiL@9zSrn@#wMHritNk^9pI^%%KBwfUc$)0uC1sUwV-x#G)YQk$nP3-8Bt9RkgG?@ z*;;b>HIrIX(!OYRxZ} zO*e>V{^lH$ZV20BfKI{gt&K{qL6Zf=x&yX@qGnyutuxR=kzDt15v=$+_Fl@QxICVD z+rj<*cP87D^|SOF7TfcfrOvC4>!fOqk)cT$nNk*0Y>$Z&^-ClnCG#D^KXQYP^$y)l z9v~uJnbR|R{62rcCI?s$t{yPBdr;dn66Z9Rg~7|brHb!nT=5$wT3Sp@Q!W;pnRN}Q zvw2Yg(fZ?dpJGR6asI=I*cfrjL&Hw8sf6Y+dQJxX;@U50ee8W`?NrMW#J@|xLrD4| zl|Ej|Os10G30vl+Y4610AsMbGG5RSiJrVqFZGQ8Y{ORl3(~H>E9)%Xq%vK$^oVuvg z$n^J#idztvIW8T~S`G#WAAb}Yg3{bJzP(5+qY$|Iz~41(0s8Vs+)Kz=oD36hhO#kn zzIL;~SfKFYfJA^tkPof6d7sc&i1$bYA!oRJFTVrV-R8L}0xc>{SYW>W6|I>ohp@{t z7sG$igkL*2zFqXGe34E6<%$ELZHrxy?$A0t~0`J{K=n= zHh3o^D5nGWuZV>5w@LR3Zm4eW?NfPiiM(K9!2`adnMc-(q337k2K@%97gi)lZ9i;Z zaWQ9~Y@54*D&@0Xo7T_#O=JsVvFZEI%ITF&ihU`sYsLywpV1k2ZF8O3`{}uHM9R7<+4y-cy?v8pgJkpN zhWCE+KC1<71M>;}Dd#E8DaJURWP@XaV>4$XXLD+XWFv6#%IPKGKjA`^XU_B{EB&-I z^pA>lj%E|{EaRl>8&eN3IyD`a)sq@)iQ_GR#ta( zTlX@Cxf@jOzq!57&7FQ*qlx-9!B@em^>GPe9zX+d`rz%k=DZn@#SV+ zzZ2m{1rL-}3O&?>CE-H@%e3Wk!tyT5ScmHIp+67UFCP{@iC7-8DwnFi*K8T{1EP_NIL)Jzx>vX{nz`-s7(@kHw?QDgW23@X*Ac^8PNru6IY#2@Ofsu|_}aP~h` zTTSa*<|&VD%k{QuJk<5hxSSifd}THD<1)k`H#|3EInGM6eW>!Q*@?rk231_KS+?~y zbuc!d{`ZVbO-u&nor#4=yCXxp69I=KhtjXdyG~>|j&!csjrP=sT&{Dr6G^A+Kg}YZ z1(Qw$4peiP+w-q=d0PPg+?_MfJ`ww_nt5-5c@vLGrZHPq=vB}3C!uF>YzUzn7z~=>daC>`RBM)J~+a{cMQ%&Z@+hf83q96w`iqi3oSG zy4{KRMec@(NMrt^efXAt*1_v)!~&_%8;;FZFH+@sd3Un2IR2TGjXC{K>h5$}jyIGS ztdc(=g`&(I_$N{?UnQy23fs|oe<4nT-o)`Sg zKlTsv!OhcaQ(w>DRFTi=U>9izycw^_a z`7p_2E$^J)se-C@HR4Z)`razZKKQoRXX;$dJJI~Ol0n`#NBY3W$B*jZ{%F{g^xlBe zwotu9MBhwVWO8cxG2|?o`Df#1#<8o9!tPGQKakK-edxa*L!c?5ve}OS&$}bwlYiPV}ep0sJ)4b(6X-p>bCD_{RF2cU?;3 zyxl$?^Q^d6T*QW|NL!azVx#GJzw&`XW7ggh>zI_D1(!{9*ssP#;ltM=sjhsTTiRD+ zzHjNg(R_Qurd9i+X5tMyHtiry4xTS^yP?SttGAUFR^mf-+$q0@O1}nwO{~N8%*L}* z#tF4=5dWcyqCZV1h@xH+g1@$0rY8R5mqy|xS;~`*9Q=L|yqv$X^4?668aX(qp{0;8 z{$P%W+sX047v5J~@tOk=o3-Cd+>J43rP+ zl2f$KYI~X`C1IJo_f{XV&6xg22z#=}5gSd6-NMO*4JlsUSWlTqo=yhNdpbWIiT zd`0_X%%gyCu1V4jGj;9hq-W5e_(9kO)hKT3_jK>+tm*2b-qUl>YqaW9iR6%lrgb{i z#rm~Q(Aj-OiE9{6Ctcd?i)uErF=pBHdVBo1WqRz;vOGgN+Jk4}P2~j9Gp{J~c%kvx z>bBLe+mhAn{K)D&tp^rck7fdO+9Cqxq-<3yxO#Rq;`;I-Z>rMSsI(qbvpN`mLulPe zzPX%M37aMTYJun0{;aIGYskZ_|cBOHXBsRN?3vZlT$C$u~(n z->v6c-Ea)+D9|_3$bYT3ys>c8BR{EEZ}r{fp|xH;MkbF^A-JxXox`_KR2urb-pu8C zsn&b$4=4&md?sWD_^;K=kx`g`ENDQk36z}#_A<6EBH6RX@5c*a+~g^u^u^wDAD z^Rs#yX}JuSjGj+=xIRFc@gezQ=>EjeUClZ$qY1SkXv-eG?+RH{Q)5zH5B@5(UXqGv z*04%^&&yNPkd&*xmTz|>T5)xP_gZv_$?~{_DJwQ-Vo__^#$KxC6K&Fq3f0lvWb2y9 z8&9$)#uvlCnh|Ynna~;Bw0#0hUMIxLQQSL_nPDF#NR}WA_(*oIg1=CPk72cIksw_{ zMQ4D!Pm8`50#(6{ridk$9>2)L6Ok~kgot6+lQhXQP2bd)n5kZ~&|j?Ycc|hq=-dCQ zf@tUuYSXF=YHMqntDemN(Kq6zT0xt>CARLxLDxeW(KZ@{R6-<=QiYMAQD$bX5BzNH zFWubGzLsTxZar8_;N4TKIATXTXEdX2sd#j2W^bmfG;q00RgH6VJ5OD&d=+aEk+2^; zeWm6rL7~Lsc&11D6U3vo4)bjVSLWNG9JYz&1QueQCB_oXy_bD_I^R>P55VRjT2GCY zS|pJ}r96p(=J=i8?%oZ0Yo;Qs#HzRxHsC;wYlU zP&5T*$v>?Ns=xlUzFs?wwTM1VY&9;(hZ2;Nl{j=G++)5FviG3e!@oEwCYx`00R&Um z+gDvuh1FD-()V7t^5cb+0zI9} zm_6jjg?(rGX{Rx~azMwQjWTW`RK9^W)(d|3z)XLut7EX9*I z{5{)R?J%%xy|QA~c@e3B&|l3fD9+z~+hvoBo@@IonUy^D?gg1R;&X_+f^o8|l19cL z`tb~7t5nXTf$W(M|9hH{p0I*5#5 z46o~zsp@pJj~cX6n3$U@N+{sn3md2^Rk@MyvUmC>s*0W$y4Pw}tNMiLg8a8@hCz8+ zYFDiHb#YgLdrB2H)JRth&SRP8ykVH{;UPh_dq({DBX1H>Fv6e1PMl4j2cDqTYNusIyu=4^p;RpU{mL|N1_|sUwEI(Gfb^;}$ zM40FBZyhV{hkVmQP0#&8@a-;AT{m$?x4^ z-%Z1)ixsXHV_&V<99esYov=%e7muPxjml5)uEReatlVxGPPri0-!Qz~Gnt=7s%GK) z?1-?+nk!cD=#|^Y0l2tBwD0XgU%oAI$GIXG^6^#g!nLX4LaP&1y|q=!EXv1??3Ni5 zg_e0-CCEK>NA*W`*Pn#hKe-gN^`=L}Y)bmgZtU%@&wF{ghe<4D7iGNl=9g4Hd5oTw ziIz_d)j#Qznsq6u9HG2YefVKqSg_Dqv2&OkIjzJjL?{ z6Hi+8Xf>O-%iDCKhlQ-)luzhd+mwiu?P_-=TPT|=8!3k`F!Z=52PMlXCoORI$n~JF z`oA*1o)w(e$engkLvHDP=&uLWnSZ!arPN%5z7q~vEVI@Ko1VQ$j@b^))QC)u-cHP1 zV6!PblR1mrPRoqAV-s5@-mfIfEPp7`pA+e<_q<;-vm7V}TCi{G2hdaBchbl&nNMm>Y8VtS~%OP~LF^0VLy@YgBR zKKu@4L^dK>g3T)^Q$COAt#jISvMd$O=c$*j%VnzEeojRy$DFo(_58u|WxBE;dxt^5 z1Y2rdrefGFn=z~bCw>~yGb+E(kB(@~wYFdb!v6KzJ3siAm}K|lB6HK%Vz>P=N!S?Q zI?FhhRket4Q}G#EGM`lbP^3!Yf8)$WaqGlpgeGgJM&&82ppl-(b@nqtI_qKdXH|Eq zW74+3z~NO^)XGeWZCcGew-!3J3|*@SA(>XA17RAKy*g*g)|G2|+R8_({e8~UE#zPQLl15E74jz<<3gDBgdTOtTV&(Q8X6W91~sGl_K7} z?A&|WHc6RYn$4-Be3`U>OG=-+?7Afom?O-JlplKG^XAaWwM;1(UrM! zNIkaqJLxuuuI_<$t~iTliax(gf6bkXFXdV59m!7ObOwZ9cyMCOO1?f{y)s76TyRwD z9O-bFJ(TNh<4b2K_<(LqdZbplW#HYq;A#IVV{gl-qIY1l?%o+|b@*cWxX4{^tih8E z;T8E2>8Cn0pJIM!_t&SD3WLYqtsc-Qk-Q ztw#YfneE?3z3ZRX_vP&BeG(aIcd5QRWU{!go}1#S=))%874#o7}jVV9RV zn775wh^r?wG1r%u@K>ikJLoSjooeTN$H60v7H`cd^Z??7n$RmC7!o3&(w z#7EU<+bhr`lM##Pk9`?GQIVRvLClC+spYDcz`#dIKW2g7iVms?iYDmK@TRK2Om`+k z!*D}P-x~g_9ZHx;yIU>uT=BQC+Ml?1^>*Fli?b2%-Ib1E^GA&f-+b{6%Zy?~7+yQ; zZ%^m@lD>hH#tTHGSS=})kzrJE}>{`39U2@9e%fS zyM^mI;}7A&sy#Wx2xo;6xlZzxovLpYj4(=}Ld^hgs?Eu(`L-}`w`-H>o+YwRd?CDY zM{`ToQK3`vW9=@2w{2=Ax+AWHm91NPB#b^f?N_=-dAd`n6%slmVA#2XpPIas&vpTo z&~anXGvlN#o?oE9p8qZ5Mj@-f?Fw4pxXcNmn|vg&q?&P;2K%G&l*(n8>^bC}br$2A zdjeB=1J6-c>}YR1L$Ss$9=XPEWXid6ZGEokwoQf=9Unf>t@ie*9y?dM>0c76$39`} zYKya$j~P!{F<18&Z|$rhW4pKc+CB7FYh%RoSrRsh5M{mYs#m7Gw1vvw^s$p3tueb1 z!QIeDz;9Z8pyXSNiPl{wy!^E{ZghB zi-NXwlatZA4b?`XtDXA{7R8!JzBap0yk$i{wyTOR=>gwq(3r}UE-l*MSmyd}vT(7A z>!xM4%#S}1ODg#mLxITOG5s?%8RDNDC{MzMlKncy)%7GrLs)*X$x&{fQ3Nh@2=oh9 z!7Yk&4p+T>whKz{og`<-)KjSxbuiNg-(4zPZdp3X864xT@!}n0Z1%Bd-W8MHX}DHx zT_3eMobQ_GeFg5y>``m*d%k7BY};Tjq1I;LPujxbfL-*DoJj|fTY~ABAmSi34&B+` z*O#LAXC!oRmxUPmIb*7CXEv zEKpE9DXSaltlrOO**OqHSiAacB>1xYnfXd`sL!hLp1jAMXN5!+a{c5@!}1<{&+3OR z4?E-q)^jXHWl|Ea#gs9}WiwvbwaG<1WAnTtNhq(Nq_|d;g}3tK)>D|*Nu&DLFAq-| zUuyD=Ob^qnea@Pd5x6!2k)6BsWRUcu1LKwfZyxLb<_{N-%kCo0=#pk5p79y_T+%bB_C-r+iAr1{pjG~wY} zyJf!RzDcvic;nmkANUx*->ABLX!+#Y2fo$bvDOClKpPI#8ujVB9pgMp4=-Aakn+y* zbMbP)p0%bB&7U_9%k*K<$v-C;@g+nqZQGioGyoR+d*DY($pAN0mPJ(i9xAs9K~ipVUG zFbFF=^dBM5QK>9{yI$OR_>Yk~Ci#g4>#pl`s)<}OPC34(@bo3uOZ8pyW7IQJzM+A4 zF?31q;@-Wt&U{K;;CfO1WK#PKGB(Y8r}bf^?uSWZ#AsmVBcoUW-e={#H7gBSF*)I4 z6v|iNWe#ioD8y)2mf=mQ{Oe;1GRfCkAd!E>M#?!dy~nTeY3w@Zg($Ve)*yC<2glXz zl|qb- zx~};=X~nHe;u2&BWAwM4IMJYrlKR6fOX!t;FntywH})J$^LF}7CoP!CNYUTFy@o+` zCBzKg9j?B?CmcE)kOchR-c{jiBggB{=e(s2N;UDCYgmwD{bTJ7;(=vp9ID)cV~F1t z;|6~OTKXSzM7>B-7@JMK{xCL$2z7Ea-0Q$shoWZ8Y?AH*; zOeM$VtkRoyy6?n(R{oKv-@%Kg%<4w>34Ue&o&~Zu?cUfu`_CDJB)vBcTVnmp+1<

    %X5X*pZfME2?tnPoT%yPPR|MQckzZZpo}EOVdm=SVNxW z>hD9nD1MLj0@-9wkpSU(s9If$LF(?=05Zul{l|cDvGE60EXGsNB>d?~IN~MnsF@VX zQTN7Hg3IImAr^!2^y?R|lvK3HA`vPit!U~PSpONN_%7w$J6RtF5oFM-YFi!9WP7RZ?8A&n1y$X1*6^+AJ7*UmYnV9MD#GYnUIuA zmwAVMe@epAZn1RKzxRx1(VgfmYwE;TL1cJ?7jf4VNe|hgFRKx&J*CH{h@4$njir2A zbYbs;UHEFMxcQ>r`X%{}UT5+u;^PZ1FDKdIiTW$0CcfzRe(g@Tn1gi|+;6xyr!%ed z!Y-DwX~8d0pR0FyQr^HoOS@obOX!*~#p|;03*;YgD|A?HVi1uI&p`&3nC~2lzo! z2`r`&a#Y2CR`xveik2CcIj(xqgsII8y4BoMREx4GC}&h|O0i=hUx}-jlzyXJ1Ba~__FL@49CjWvvx>}#b+qA8=qUTG z`F4!EdQcR))M0C0B(csNkHgNe{89fJX6s^_fTh9*54G*)F zr|zV>E^S0smNpR+`EvF36AQ zUk_hZ7Tzd)mF&p%HMK!(g(EhZeC*6u!u(5^=kD4Qy0vgUwCP$>U^^qkV8$ZMYXioTrLoF0oxi=!-kk(S5@ z=XWaRbQwhYE0I7=_QM=?^nl)vYf{Q@E!=CTbva(3Zf-wZ{CQOvC7UXLu z*xFn3I|06u&5gf)8rA{ct6*=+4TkXs<57RK(uZ)2Q z&dWFD0-pa8OD@q764UDlcrNrog@||d`E!9hnj5S>X{*;s1rHwP$OL^^AT!Y8ksPjp z23RL#<&qCc23U7y<&u{8Dm_0@d)Rn=gr90xUKRaS-JH9ChLk6}DY%d7lh#FpaoB~5 z?dF(|A500J(30!1e~x+cAxoK2RXQ`K!s0sb`-gqkLm!e!K`yh>aAZW@@*XhnPk%dE zxy*FlV3r?b=?dOlAjg=bT*ocSkJnj>YR&n`=bEYLLmBZGsdt ztE~k=PF-|Q3weCL2S-lp&ZX;H%N~>dayXVPV0%+k-V%>gEh@ir(@A1nsP)@bb3@EW z^&SH9)AikBx6p!0#uV4O?;mrR$~nKgwLYwS1T};f3SFCgHE@x4MXXa{$0YmE06r8E zzx?tkS6tqyrob|m4qq{8bSW_WV=r`UKX({`qcRu zBdc*cjW*BDg73EvLW$4RktRxC}ZkHx3F?s^@6p-+5sxj z(=g1bXMCsHe6DXHS;NSCO(!X*M|kC|_Fjq8T6JZ?I59%*>3elkzJ_3*`|_$xcHLro zS37U0K@C_0H!Qc_K1CW7pULB2UU;@`Su&X-%l4>Gz9o5Qi(yw@*9?>BG?3F-I;Hb~ z+jHhi2}vC5(KP*{>x*Wr;*Z!8i`;@rlO?rLR{i_m`->OZn|~<s@atoY4yHg?#`H2T#RLbBv9GW< z>EW;A)iH0VHs#od79R7&wSlOtP zP#~TYUJpJm2?GV@>IST7$*tM6f`0*z{9G%<41E|^r3^dXX^AE-KXrU_ykUG4em9B!MK{7}s>2j7 z^!)|(XWippN!JrTTv-WxtKJnYQfn{Q8>#&+R2_9jAJ=a;f{~;lStJf64kZXB3dP&T zmm+M#V^4-D2ugOind~%*YGI09tv-x%HSepxAk882?C?o{u#1c`RaWD%J|P%&;*Bmp zM%5%R#Td*xm4zEdfgg@tR zcTadpXSGF_C4QWgpI65?Np^<&Lh=tD)}sz-J$wbw;_H&Zd0jSdE+n9XJy=KW&F3 zVYcfsmi&4$9-};Mc5?UDq?IJ;#Qd)fzh;7$)C^arRfbh9hG@?^HMSBxY0my!4Q;se zXzMsfdBXa)@WaFQqRH1~qhA7rD}aN9PhakvtXRJJV-{UHw_3lWHTc&JF=5~g11`RVw>qZ-E8?L4DHllY*-13B6zr-c+^cWVf zchFqfxp)tmFfYob@|8cHItozsY>izOy%$WE zA8vW{g`tI?XK_m7wGPd(;&W23HA-6kWUh>)yULn`vz8eTl7q9SUuxd`TH409|KOLm zfAgSy@HC=(&cFXDgL^f6VUwlrcCtxkCi%i2+H}=`X@hD%k`UXV0M{8YrrWwtspX~Tj-bMs;pTBAaesQAl8~xm=#wo|HQlV(${xi|m1!~?SntJAbc+Bj=qrSbiXL9m=5U+)hhEmRXy&Ctg8I} z&3WC3Xi{fPR@>|#y00yc8{#cU}z`{gysB7NQnP|yS*t3zm%P=vxKRWiKC^xvz;T^ zKhKqnZGcylTx>0!?fBG8&0U@tpTF|N*xZQ)LB@aI$;8ywnFR`gLdp2g`<_38BjIHH z>dvM%nk-nLjkvMBjH#u$g)<8pf+XXYbvAxtX>#Az{D~x@}OF+HuES&cN<(hJl@hdw%Hg&YLHD}@cPd5Nmcd@sBVrp})BM7hzek~R~2#X#9 z0SCl`u)vTQ17Ou~7Cj^a0$gEXEP7}d!hi(^#{d`{z+fmeaD{=fAkbLg8KA23XTTKz z=^spB5>N9n2LV_|4~YUw3j{Eb9uf*jhCrT62F0-a^9+eW0OMd;U@$CT zI0>zP7WrRyJ746#-3_p(v#BHCa8Hb#O(jfC>>itv@hh0xnmbznq9Q~@SpMy+Zixnw zinf7}E6?{5KX*D`^#^_g;tG|^tCn<8?p6F(!kIFy+Anykyt^*RX6X_v4b-^{nf(qq ze6ZqUc3R75N(f)^DCAX`>5_X$U9~$lb4$HG5&gN6L3ie$s9GnR_Jyu%M(jf90dtW+ z*HhzKwJ>V8tz&e4)9&Hdr$*@x6BD5a{`lM92#Pu50=lvFW%K2Xeg`8J#nJhDe@a}1 zeS>>i@yOp`v)*I`d?}-Pl3zSM=PyXy*|ThmxGM ziwuO+Z-sIK5 zAVKZUF(A;+|3LoJ7q~>g040Dh3=j$+3<^bJaWEjRa4-x81;$`73=s8y&jCY0aoWKl z;I%;@a0n8&9TtrvGXj3D;=kuWpn>29VMr)I8(<6x!Rd>{08|8Ohl0Uz`l6vI99^N2 zxH6-$NE{nsV7R)%pa5zC&5MO#09QG`{nu_#2m~O#zcCa72A%^7&?wmE00tay{@oV} zBo2UZ{~8a#&dC#uArT;50qxKTkSqX(g@fz{q&nz1|DWIfvkm}*!$H1*M#3NfnSmH6mgYAn2QX2g4bwHsIBm$1J zUce=BF)WZI!SiClb3ox}AdiCEVW7yr=Y>FlEk=T?D{&V3`q6I8a>tyi ziUSLl1&9wEKS07@I6jVqA#m)5grN{%e?bB@70$eH2skeQMuS2AUfX$6fPy&;XoteZ zuoy6BLs5Wv!LpzrSSVP}0EGc{*WWrtVW8lg2Ss6ESg>CKt_zfD;J!f6;9wXOPCG0F zC?-LDu`nE4qOb@Y-#}rpP_W(5C@fCwqtQ?to1-xhaE^ik%fQ8u5D3_A7{Fn0F*puK zV1N__);$J^8y^@X7Dopd6mI-tP;j71`CC^&D#PJoKvg(Ci3Mm9Y!56FjsbBZkQESM zKL9YCIs(AZV4VUO7R(z!q(adkE&(t&*iQir39fwr3=QUX0K*lEGQ_C+DlIO{+GNe`@h z6bg#tYbX>9i!&Yy4X)*Zy&(d}U(i4S4b~|j2~M1&5f~gELZfkNJ)lI#f^!}W4bgYzmJ*hzx@0Kl-|S_%$@LczQSU~n*p0T^)d z^|wC*7$6}SgTX;{7z7SQqQQIsECR3`s4oyP;JgYXJfQFdw?hLghJyh|5jYqcyhjAa z!<8BEHQaW9ul+sV`Bn|sOoHbC_IWt6U~%@{a1215;PqmFWCrdFoNj=97mk79+5-cW zdN|_&8)e+_FkrrdV*nF@;upYhYIFcYgZUJW0q6jf7l2|24vr%@277*t`Bx4AFkq92 zg8{`d2*W~f@*t1|kzh^)FkqVq?hEYN!SVs-0H5)|u`rzc3t+(R3OpWg;`O&5K;S^B z0zLx(Dp3qL*8&(8Tz8&hVBMpEV;`_@02q*J{+0#60M-U$K!pX0OQ6uhg7;v6qHuf? zz<|R2@9_W(dw%qHe*5=69@uvSHSphle~w{5e09D*hk)vma|{WpO8_PTHW7cX4ZwhX z1$bU01}IQLvH&Ut?d<_B1`5T${otIRp`g5fj)A%J90Tv^{&fTenit?~D5yR?=kfE? z&%bm9L?BSj|Bbb~FawaB)0;V@Tc7_ r&d!+ycD~&6cT)a&;{$Nne@<$hoQ)lw|2d~U9|{Xald-W$Dog!8T~o%g diff --git a/src/website/Ifcopenshell_logo.png b/src/website/Ifcopenshell_logo.png deleted file mode 100644 index ac9394a243ce1c1fd581160cd8b4bd879c34b284..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2266 zcmV<02qpK4P)RCwC#oqK3obri?X&CA(tO_`f- zOvDFcw#&m8&PVUmb(?~%f{Hq5hQbsS^M?vDWr>In1dXT&z7_?Y_##86bI;7_s&i{o zTjvnB-TtBIAHv!$>E@FA^ZagZ)^u&tzmU*i{C86~K>oo9hjlFvOKxmUpO(g%F$*$O?nFdfRfYzA&n_00VbTZ@K!Xt1>|EA`;TtAQ1|dGPtKFpnBY;LBzW77C0~Hu0JOU7{ z5{qd4KQdzwU;k<8T3{1~Y-IUDeCOwzF^rj?un0i3NGw2MEC6wR?~M)|k@yIS07R<< zevlXu5rJqkF;bxj#BT1ocCg(v zQ!NP5Y9BQ;`MwHw22wQZ zv1m<0G#|%*S0KUQE05rh2)+xS5sx;_>m91U35Y-O-**{$eGEM`dv5Igx({dehsyO> zXt??s=f-wYi^V%nU%os56% z-Vy)YLoh+?DpOg5`K3pZY!JeCiZtBRJ4g_XSo%WA5NbM<_}&`>D@4JDZUv>GrKgV| z7H)h?id%0xA@REx7~dDbp;}nDaelA178C#1y<^f>Gi~NPmh}xq^Y`FOJP=?;m5UcRY7^M;Fx57d%w zV@hjMvgBV|XQr)99PoxUma3k&ft(QazxZaXeJtk$L=h)4;vc#kIUzO$2Zk_P%j4HP zYH9+a81B!lM6@|;`Vpig7kg~Yk~QL~^c>~1Guv~X_=S%hZy$NBmG{~MMGNQJFz3;? zU5>nWK+JihKPX9Bc#Dr}QZ?nyg4S4OukPDBsX9@f(&eT{2C@&T58Ok;Pm_o^NeS^VPlpw+>r|?E95tfvT*CGxBV! zLoeAn=B#XL4%AFpq2VA0%Q#S(uZ@(ji3rqeZKmO;TO4{5(5XWuh(bW0Y_aPgX98%T z?y7_hKdu4wF{br#odi+PhWsrZ*pB)kYri8wG^);rFKa_}1`NU^h~t#`pawHsV3-rc zNnzf_EkJTBJOeF7hyTpA}dT+sDxwh4|jy zn_XsLve^VOhc_c1!s|@lVFmc`MD;^_xqB&Z+uUXeWKZ8@#L+5& z_(XJ>3qdvW68{LRnM1Q;M;O~Sr>UF+R}M0oDi6fP8&|BgNfJLF5Nwimv=d-(X!r4V zIrA7oLxo8=jIGRdYH5)PSh*kqlxT1GOhdd>(!O3A_7%YhqNo}@CWRmhn)v|>L8Nf5 z0OM8f38KjGk7);1kP-!rAPSn&G%sCoiXa*fW(t6sR5ObM`s=`e?*rxGyNl=bgKE%5q@T zCgxV4|HAWsoc1^=f;hQF5uopq3%c_vW=RlF8HFIcz(VKlg3ci%h+~;I% zXRK_rr3RsCwYFD!w{0lZhgzx}n4&|AJ#_V!vQ>V!R5+we_am0M#WqcO>blJpbq+zf oAj*?8{K`k|o2v3ClK%x501=IG?qHCVH~;_u07*qoM6N<$f->YeF#rGn diff --git a/src/website/building-3d.svg b/src/website/building-3d.svg deleted file mode 100644 index dfc64f68e8..0000000000 --- a/src/website/building-3d.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/code.html b/src/website/code.html deleted file mode 100644 index d8e179b832..0000000000 --- a/src/website/code.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - Hello plantilla - - -

    -
    -
    -

    Code

    -

    -
    -
    - computer-graph -
    -
    -
    -
    -

    docs

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    -
    -
    -

    ready to get started?

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/src/website/code.svg b/src/website/code.svg deleted file mode 100644 index 8fabc0a1a5..0000000000 --- a/src/website/code.svg +++ /dev/null @@ -1 +0,0 @@ ->> import ifcopenshell>> f = ifcopenshell.open("/my_model.ifc") \ No newline at end of file diff --git a/src/website/community.html b/src/website/community.html deleted file mode 100644 index 7a8e39da0d..0000000000 --- a/src/website/community.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - Hello plantilla - - - -
    -
    -

    Community

    -

    -
    -
    - computer-graph -
    -
    -
    -
    -

    large open source community

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    -
    -
    -

    ready to get started?

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/src/website/contribute.html b/src/website/contribute.html deleted file mode 100644 index 6cd7d75276..0000000000 --- a/src/website/contribute.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - Hello plantilla - - - -
    -
    -

    Contribute

    -

    -
    -
    - computer-graph -
    -
    -
    -
    -

    how can I help?

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    -
    -
    -

    ready to get started?

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/src/website/experiment.ai b/src/website/experiment.ai deleted file mode 100644 index 0b0976f95d..0000000000 --- a/src/website/experiment.ai +++ /dev/null @@ -1,1459 +0,0 @@ -%PDF-1.6 %âãÏÓ -1 0 obj <>/OCGs[21 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream - - - - - application/pdf - - - experiment - - - Adobe Illustrator 26.0 (Windows) - 2022-01-14T10:48-03:00 - 2022-01-14T10:48:01-03:00 - 2022-01-14T10:48:01-03:00 - - - - 256 - 228 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA5AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUtv8AX9Ps6qX9WUf7rj3p8z0GaXXdvabT7XxT7o/pPJnH GSkV35tv5CRAqwL2NOTfedvwzltT7Vaif92BAfM/bt9jYMYCVT6rqExPqXMje3IgfcNs0+XtHUZP qnI/H9DKgFG3kLXcJJqea7n55Xp7OWN/zh97El6Vnr7Q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FVK5uoLaFpp3CRr1J/UMo1Opx4IGeQ1EJAtiWq+ZLm6JjgJ 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 /KrZikwzYJdirsVdirsVdir/AP/Z - - - - proof:pdf - uuid:65E6390686CF11DBA6E2D887CEACB407 - xmp.did:391322c8-c9b6-0f46-8d96-f35661ffa7fb - uuid:1291e777-cf33-488c-923b-b0020473254c - - uuid:8ab008d7-a503-406f-a04a-a2a1399fa9d4 - xmp.did:d034ec7f-995a-184f-b064-35514c45912e - uuid:65E6390686CF11DBA6E2D887CEACB407 - proof:pdf - - - - - saved - xmp.iid:391322c8-c9b6-0f46-8d96-f35661ffa7fb - 2022-01-13T22:44:09-03:00 - Adobe Illustrator 26.0 (Windows) - / - - - - Web - Document - AIRobin - 1 - False - False - - 1920.000000 - 1080.000000 - Pixels - - - - Cyan - Magenta - Yellow - Black - - - - - - Grupo de muestras por defecto - 0 - - - - Blanco - RGB - PROCESS - 255 - 255 - 255 - - - Negro - RGB - PROCESS - 0 - 0 - 0 - - - Rojo RGB - RGB - PROCESS - 255 - 0 - 0 - - - Amarillo RGB - RGB - PROCESS - 255 - 255 - 0 - - - Verde RGB - RGB - PROCESS - 0 - 255 - 0 - - - Cian RGB - RGB - PROCESS - 0 - 255 - 255 - - - Azul RGB - RGB - PROCESS - 0 - 0 - 255 - - - Magenta RGB - RGB - PROCESS - 255 - 0 - 255 - - - R=193 G=39 B=45 - RGB - PROCESS - 193 - 39 - 45 - - - R=237 G=28 B=36 - RGB - PROCESS - 237 - 28 - 36 - - - R=241 G=90 B=36 - RGB - PROCESS - 241 - 90 - 36 - - - R=247 G=147 B=30 - RGB - PROCESS - 247 - 147 - 30 - - - R=251 G=176 B=59 - RGB - PROCESS - 251 - 176 - 59 - - - R=252 G=238 B=33 - RGB - PROCESS - 252 - 238 - 33 - - - R=217 G=224 B=33 - RGB - PROCESS - 217 - 224 - 33 - - - R=140 G=198 B=63 - RGB - PROCESS - 140 - 198 - 63 - - - R=57 G=181 B=74 - RGB - PROCESS - 57 - 181 - 74 - - - R=0 G=146 B=69 - RGB - PROCESS - 0 - 146 - 69 - - - R=0 G=104 B=55 - RGB - PROCESS - 0 - 104 - 55 - - - R=34 G=181 B=115 - RGB - PROCESS - 34 - 181 - 115 - - - R=0 G=169 B=157 - RGB - PROCESS - 0 - 169 - 157 - - - R=41 G=171 B=226 - RGB - PROCESS - 41 - 171 - 226 - - - R=0 G=113 B=188 - RGB - PROCESS - 0 - 113 - 188 - - - R=46 G=49 B=146 - RGB - PROCESS - 46 - 49 - 146 - - - R=27 G=20 B=100 - RGB - PROCESS - 27 - 20 - 100 - - - R=102 G=45 B=145 - RGB - PROCESS - 102 - 45 - 145 - - - R=147 G=39 B=143 - RGB - PROCESS - 147 - 39 - 143 - - - R=158 G=0 B=93 - RGB - PROCESS - 158 - 0 - 93 - - - R=212 G=20 B=90 - RGB - PROCESS - 212 - 20 - 90 - - - R=237 G=30 B=121 - RGB - PROCESS - 237 - 30 - 121 - - - R=199 G=178 B=153 - RGB - PROCESS - 199 - 178 - 153 - - - R=153 G=134 B=117 - RGB - PROCESS - 153 - 134 - 117 - - - R=115 G=99 B=87 - RGB - PROCESS - 115 - 99 - 87 - - - R=83 G=71 B=65 - RGB - PROCESS - 83 - 71 - 65 - - - R=198 G=156 B=109 - RGB - PROCESS - 198 - 156 - 109 - - - R=166 G=124 B=82 - RGB - PROCESS - 166 - 124 - 82 - - - R=140 G=98 B=57 - RGB - PROCESS - 140 - 98 - 57 - - - R=117 G=76 B=36 - RGB - PROCESS - 117 - 76 - 36 - - - R=96 G=56 B=19 - RGB - PROCESS - 96 - 56 - 19 - - - R=66 G=33 B=11 - RGB - PROCESS - 66 - 33 - 11 - - - - - - Grises - 1 - - - - R=0 G=0 B=0 - RGB - PROCESS - 0 - 0 - 0 - - - R=26 G=26 B=26 - RGB - PROCESS - 26 - 26 - 26 - - - R=51 G=51 B=51 - RGB - PROCESS - 51 - 51 - 51 - - - R=77 G=77 B=77 - RGB - PROCESS - 77 - 77 - 77 - - - R=102 G=102 B=102 - RGB - PROCESS - 102 - 102 - 102 - - - R=128 G=128 B=128 - RGB - PROCESS - 128 - 128 - 128 - - - R=153 G=153 B=153 - RGB - PROCESS - 153 - 153 - 153 - - - R=179 G=179 B=179 - RGB - PROCESS - 179 - 179 - 179 - - - R=204 G=204 B=204 - RGB - PROCESS - 204 - 204 - 204 - - - R=230 G=230 B=230 - RGB - PROCESS - 230 - 230 - 230 - - - R=242 G=242 B=242 - RGB - PROCESS - 242 - 242 - 242 - - - - - - Grupo de colores Web - 1 - - - - R=63 G=169 B=245 - RGB - PROCESS - 63 - 169 - 245 - - - R=122 G=201 B=67 - RGB - PROCESS - 122 - 201 - 67 - - - R=255 G=147 B=30 - RGB - PROCESS - 255 - 147 - 30 - - - R=255 G=29 B=37 - RGB - PROCESS - 255 - 29 - 37 - - - R=255 G=123 B=172 - RGB - PROCESS - 255 - 123 - 172 - - - R=189 G=204 B=212 - RGB - PROCESS - 189 - 204 - 212 - - - - - - - Adobe PDF library 16.03 - 21.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - -endstream endobj 3 0 obj <> endobj 5 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>/Shading<>>>/Thumb 32 0 R/TrimBox[0.0 0.0 1920.0 1080.0]/Type/Page>> endobj 23 0 obj <>stream -H‰ŒVËn1 ¼ïWè,K¤ž×¸AOiøÐÜ¢9ØÒúûiEi-7A`À+µ$gHŠÞ?¨ýÃÁ¨»/µ¼.L¤cN*YÖ6Gu黬‰²:w„bÐ.:ÅÉëhH‘ÚeV.°&¼+ûÓ2#çÅ;£Sv †a3v›²¯§eFΑX7"Êž”xÉÎéÌÔ#“ýˆL°kléŠ4›³B§…sArìÒ‘YG\ÔÄQ9rÚ‘W)^G&û™ Ð̶ÑvÄscÛlö}lFÎ*vÄzmSRâ…Ò”Ít“Í$Ù6‚tEšÍY¡ÓòCýFµí¿úõ¶P2:ç”9eðÙm&8Gã”OV“E‘¤ N—åîYí/F½½¨ûgõ´<• -N¨ ¬r6š½+ÉxÁåb“JV3£(BÔœmµGöF[[óy yÆÁ+Þ`Òž)eí|XÒ&2Š6këJÙ•'"[fä¼PH ¼6¥yB+#ÎÚ;?ö=y3rîÈH^Gr*FW'ÈŽfJ=0ŠÈXÚÄÕhTȹ¹Fæ5Bq ¹f“†8@œ&§Í †§Èm‘*Wêj͇E«RØ€ê±èÒDÊâMÇ`Ñ_W ìG -à‘`MÊ‹à!6ËM`ß„1#èXM¨|‰Ü£ã!pgVn—RxCŒÁ y\D¿À^B×7 WØ÷ŒL,ø´vWËa¼Mqߎ‹qBÎÙ\Œ‚´j'RŨàFEª^¨JWˆ£‘f7I¥÷DréMIŠtïH“ °!©5Æh…zî¹¾L;°©P2Rfý5©C1<]%§›Yx¹™—c:öy1Í“ÏÌ ynÍsmž|§fáí¼”;ÏàÏÌíyÖßü˜šozS§•ãlRÈWë‘+L¥:ß¹é 2•ð• £.ÿü¬îö‡£U‡£Ú?u<|[ðË_ÕCxU¶ø(}ÑîhSÜjlbqU~»,Åà|Äš ̧Ò7¼®Ë®Ò²ävJNóËÕ#G„¹´5†ÿyöÆ«w:”ˆNä5‡u]¾NK]:®‡ÚÙÕeyˆKúÀ%$Æ[Ýãn­ÄѺ^‰Ö¥íÇW¢[žü®ÓÀ7N…gåÕxÖõʳ.O9¼ò4ïðõiù'À¤§ -endstream endobj 32 0 obj <>stream -8;Z]"0m\I+%#)/a0Q@^PZ\46I12"F/H4cN(9F"q&n&[HoL)(Aa:6e&QnAXnp>EY,^ -5AjigKGOP^:HYhgEL;L5q_uY_L`Fn5?5cp1Z46$\hfUAXg\ML-cG.:ZjlLNNqtfK) -FCRP/T@[5Sr:e\4Ha&08fNN@Xs$K-* -%E`SIUQR^W9'AWG(Po6XErC;.:[\Qd#FZ,b*UaIdeX6@dO%Q`"M"sOOna>,eG`PBp -'1p\*nn9%d;9G[MQq6Gj8gYo8aLFM=HgoCIfCYMX#K3*+Q:LjVr%p"q:*:1Q1$Xf2 -/b8*qU0oG8`'[S=W>CqO(3O$?.#%3u7Lr?fL#ASCdLfJ&)J1-*LW%Jo[X9!=qu7K48Z9q.FtP`O^3DilQAjq5@HX;55C/*`DgT#Z1qB3DUKe -,bfJel&*4ak2=^J]K\Fd4J_U1$+M>6aSa,nQQs9GFf(ITbqdeQVtl!VD262($ag#Vp(j1 -e7NRd!M3tQnr[5`G*VYbm/+\1V(aBC\V8jb'SE7Q$!oZmF3Hu#TtOOIqbPY=NtMEc -DguHX!s!e(>4V~> -endstream endobj 33 0 obj [/Indexed/DeviceRGB 255 34 0 R] endobj 34 0 obj <>stream -8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> -endstream endobj 31 0 obj <> endobj 24 0 obj [/ICCBased 36 0 R] endobj 35 0 obj <> endobj 37 0 obj <> endobj 36 0 obj <>stream -H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  - 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ -V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= -€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)Ë”z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ßÞô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð -¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 -N'çÎ)Î].ÂuæJ¸rî -î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö -n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ -¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû -endstream endobj 21 0 obj <> endobj 38 0 obj [/View/Design] endobj 39 0 obj <>>> endobj 27 0 obj <> endobj 28 0 obj <> endobj 29 0 obj <> endobj 30 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 43 0 obj <> endobj 26 0 obj <> endobj 25 0 obj [/Pattern] endobj 7 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <>stream -%!PS-Adobe-3.0 -%%Creator: Adobe Illustrator(R) 24.0 -%%AI8_CreatorVersion: 26.0.2 -%%For: (Paulina Godoy) () -%%Title: (experiment.ai) -%%CreationDate: 1/14/2022 10:48 AM -%%Canvassize: 16383 -%%BoundingBox: 262 -968 1533 154 -%%HiResBoundingBox: 262.798332256441 -967.069302399053 1532.71817856816 153.264030934281 -%%DocumentProcessColors: Cyan Magenta Yellow Black -%AI5_FileFormat 14.0 -%AI12_BuildNumber: 754 -%AI3_ColorUsage: Color -%AI7_ImageSettings: 0 -%%RGBProcessColor: 0 0 0 ([Registro]) -%AI3_Cropmarks: 0 -1080 1920 0 -%AI3_TemplateBox: 960.5 -540.5 960.5 -540.5 -%AI3_TileBox: 539.130009762943 -837.600006103516 1380.98999023438 -242.580047607422 -%AI3_DocumentPreview: None -%AI5_ArtSize: 14400 14400 -%AI5_RulerUnits: 6 -%AI24_LargeCanvasScale: 1 -%AI9_ColorModel: 1 -%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 -%AI5_TargetResolution: 800 -%AI5_NumLayers: 1 -%AI17_Begin_Content_if_version_gt:24 4 -%AI10_OpenToVie: -305.666666666667 765.666666666667 0.375 0 8913.33333333333 8118.66666666667 1503 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 -%AI17_Alternate_Content -%AI9_OpenToView: -305.666666666667 765.666666666667 0.375 1503 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 -%AI17_End_Versioned_Content -%AI5_OpenViewLayers: 7 -%AI17_Begin_Content_if_version_gt:24 4 -%AI17_Alternate_Content -%AI17_End_Versioned_Content -%%PageOrigin:560 -840 -%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 -%AI9_Flatten: 1 -%AI12_CMSettings: 00.MS -%%EndComments - -endstream endobj 17 0 obj <>stream -%AI24_ZStandard_Data(µ/ýXœ”nÝ…p 40Q’BÀÀÀˆˆˆˆ’ö¯õÇâ£ý·Ï8ë‘âXZ·F€†NRÊ$¥L&=³©0€@ -i  Š«¢F /àA¨H+: ¨Í†b‘@BjXX(×Àp@,(~4D"ˆgº¨\eÀcøÌHx@Œæ•hlRgÒU™fvíøjC5¿ñ㤻k*j¡ßТßÏYŸú!ìœÜݨV»hòr¦jǪsmËp@˜«l£ÙWÐFõµ!™Ñ¯wMyˆŒ¦º¡ÉèŠápQJ"šLÏÌ58eºÉŒ*Ã4Uñw— Cųi¡ -…â> ÃbA‘H<ÛQhG‰ZP$žx6bX(Ä­¨– 3¹¸$Ue%lÇ0 tõáÙ.@$t»Ïð9  ‰†…S,¦TfÌ' 8 ¦˜OˆT–h8 †,„ SZ8 ªÕPf ¶ ô©uÂé`Ù‡ð6vnýŒéîn¯"‘Ïy"ñ$,4"æ‚Òò2¹È†ì=ÞðJ8q ¤(… / Ãq@,Üá*ˆ!ÕxCeÖ°9;¦Ýò<;‡VuÅé çå‘dXH ‹aÁFGEU=2 ¥ÈÌcÊvÆuå9NÙèÐuÍ;Ú‰S»¯=³6ùš XÓPÅÕ‚}¡½Ä"±XX0,†¬ˆñT24ŽiZè˜R8pÐdrܘA£s@p€aq@à‘`HœqˆD¦AÁ `PGÓ°Pd}@41Ï"ï€8 ~@Ôц2,ŠÄÓ(‘> ¬¯ˆbq@,(ˆÄó€ÀsQˆ†…"q@àÙê€(™Šg8 †aæ€PT±8 .q@”¦Â‹zLåsú  -+¼ð¢¡×ºs&êð€8Ä…¡L†9 ( -*EÃQE™b!±ÀP‰iU‘•­Ä?¡X8 fa±°X˜2L}×â¡(±8 z@”ï€È'žP$ˆ¶eÆÄSæ; ò´X0,ºÐ0 ³˜*Èš@£Z(Ú0 R,Ê^\.Ôªa¢È2aw@$ ¡C%r*Zä"ë Šâ€HÅ …B± X( ŠY¨-8 ‹†…†…YtA‹ZØÂ‹[à‰Å0” -ÓÐrÃ5`¢AѰаX˜…ZÀ…ð‰*óa^q@ áa vŠ…EÃbJe>Ì+††9 ¨Ê|˜ o8 žP,,΄ÕA -†C¢ †¢Z£h°†!ˆ…èÅ› -œk5ЂŠë ]èBâ«¶ Äb …B¡8 ]SÔ™I$~@$žÉ¶*µaÑb!ÑDbµkµ!ñ¼N;8:LØà… Œ pABâ:™qócŽ–k™ÑS¢Â23™á뉊|óâ€xÉœgh¹` Åá[n‚u SÓ±±›œœIÌ,ÌÃ4LÃLˆiÛR©ÕrÝë‹Ífß7ÑÄB]4´¡CC¥Õaò-´ZU•Í\ ˆÆÂbÃ-Nq?<_]Á N8}6“Ç ¶0…ÝЛÙC-`¹ªZS ´@ -:%™Šˆ†²X×Z¥v1 £˜ÄŸOÎÇccEm8  ‰†DÃÞ€ Øp ×` ÖP ÔІ6404$~ G ´ðú€˜,¬+—UÕT ´ %è„tdDTbèB}±W+uÊ0 “˜œdÀ4#†‚ …í€è¢ ¿Žxgo a¡8 :PLͽs’I(3ÎEDÿÝUV±³x4–µÂ¢ÌÑ" ˆ -(2À`8[µ©ÿ_þ17:hP¦í°µSeÍ̈́ղĔuy.½&?¾_–¯ì&ç/œ3›¡XX04ÔØ16¥2¦%lˆah`X,(O< ¼°u ‹"ñijuˆ†Å‚"qZq@$à‹"¸¸…¶¨-º˜EÃÃÂbaaA±XøB.àÂ-xÁjº0 -ÅB± P(Š+RŠSXaŠR¢Šb †Ä"±P$‰'2‰K8a‰JP¢‰I4œá‹/\ñþîÛëô~Þ ¹È…Td"yé´¬¤lN6 .p˜Àc"â¡Ñ°°8Øp ·¸…S\â~yxw>»:ºÞ1×`/¼`…¾Óè³m.“ëqƒ1ØÂLa »¥¡ÙÌÊÈjc ÅP‹Z(E%êU D™‘ †3<ˆ3<ñÐÆ`† FdðYQ‡¡aѰ˜B„¢ˆE-Š¡Æjdef¶3´[¶0c°×ä²Ù>£Ów ^ð nð\®ÎÎw@Üáåý§8Å-Ã5\à  ‡ˆ‰Ç*pÈ€ 8ÙlRVVZ://11ˆÌg"©È…\$C2dCÎç}O¯Ûí¾¿ã3ñÄ_øâ‹3œá ŸÄ$(A‰J–°„N\˜ÈÄO$‰„"¡H,$‹Ä"ÁhH4$F1U‚¥(³â¨@Å‘€‚ÄŠAcÆ!ÃÂJ0A¡ƒ1aƒ< ‹ŒT!Â(,@‚bø€(@\:`A p A„ -L`>P»:P ” ƒLø@ XP)ˆð "t€‚†6 uÕP€`‚"l A T ð …D -"T˜P‚aTx0 ¨@…  À%˜ ÁxP -*D@AHˆTx0&L°@ÔªBƒ  hÀÁ„ "èCƒ"0Á -!ˆÀ4P‚„LàA -"TÐà$D(  ‚„ ð@Â:ø@„ˆ@ƒ -TP -*DØ€aH ¡B…C#*hÁP€0 @Ø`t¡‚)à`B -$@6% 0(<à A&ˆð@0 B” €°Á˜ 0PA#ø€ÆZ„ -@À@ˆ Р`…Hˆp0 2D$D¨ !… H˜› T 8˜@a"„B$@(A &,l  ˆ -@@f °I€P¡ÂÈšîáOz;)97ˆ@a eÆœ !B"P„<˜¨0à d°B…(@¨ÀA"¬Ù8e‡õ£Æ˜mŽ’êsÌ0–ÌáÀO`B L°€&@SF¨‚ R"dPA„ -&,d !B (2Àv@ < (ˆ@V@:€@ -B@á2ppÐÀ„ &@à€ÀÁ *!< £è B  P`Ƭ($20 "0 RÈpm&-dT€‘eEó?/“ÕquMofæ+ 0ÊN‡Ÿ™ª¼ÌA˘ 0,s‡Pá&( dP H ½crZ€1ã€Âƒ˜`x`… -D -p 3 XÆ:„*@¨„<(A2Àq!xÐÁ2¨$p€„”Ø€ƒ(Pd@m@¢£ÂƒP˜Ðƒ ¸ hð€ÅPÁ8€°ñ ‚!x!á Æ: 0ƒ tAƒ &PA„ @ƒ 08 šdõ©±#)w\óœØ, -•;ÊóMýFð^€Q³3QU¥ˆÀ 08 ÌUîÈ{¬`‚""l `p@TÖuB "tÐÁƒHxÄH;Àt Àj€Ž@¨ð`!aBDx $@(A -L°€ÀA…ÀƒB`Á„ &,`<<˜@Æ(LhÀƒ‚däh@„P€€ ² 08 FŒ†( -*< P¡pÀAÆ8… @ °€Ä©@øÀ„ ¨À€A‡gÏ)ÒåÞ”Æ' gl7Ì#[Ïð”iu‡e÷Ì ÕL¥Ü”n1¥¡dÉuVÞtLSUiµyÝÜs„%? ðÒ¹ä‡Íв5òwh5-1ß' *4<$“Û¼°¦JWMÂé¸åÜM®4ªéҡɨwIðwó_}—Æ‘ÏÕVíP^}Ì“ôóÄ“||-:;{ÙÕXÆ>éjìlIäsóÏ”ëÝäï@£$Âß‹ÔòOЦhxs†U|ÞÉW*~î—jÇÙ‡8èÛyÓÃÁ—²L'üüRÜ4©šÁÁåÅíð]¾X¼ÁŸÑi·9ßÍi5Gßàk\¹J ºY¾S÷ƒvW>çï‡Ä:DCI“, Ã3lç¾£ê({ž¦ðîÍ_ï°ö£Ê§’Vš~W¤{¹H¬hPRuŒ~œ‡T*Áª9Û4j•Ððhdgì{ûËe&MÇn45ÂÖÐpÆžU,2Ä#›±ãX Q—4cïÇ‹†§ óŠ:ü¾N÷“±v`=øÊ¢¤Ê›Õnƒ(-÷²Kí¸Ñëw·ŒÑhï&OŽg·ØjãÈ÷ÒsÒ“uti²ž>]]ŽÇ¬f²>U+ ïU…’„4åúágTvŸØ¨d¼‘ ŠFašpëÕ¼œQýŽ”%µa;2‰Œõ2 K<º´3üå,sÔ)k«êƒ†RG¦Á;>¿-I\ªà *ù•Lr‡T¡«ÅFQÓXi{¢q†3gyGË ­ƒ G.f¥:²{֙԰î­`‡kTF‡uÙõL°#ˬ¬. vèÒ2iÄjø²FˆH¿©ÖÐ.¶ŽÓ™‰®î7º³"[“Î>u~¾4†RÔOÝUJiœuêîæ—}éTUÖìnä”1Óë~4)”õ²ÑóÑÕÄ5 ³eFR¤áÚw:’\õh”­ïG„‚gø|bJkا–(¥³2BÛË(­n -é3Âc}îåsØ‘üÎYB´*ÂOi Þ’hdj¤q¨Æ‚5èWIU™T—•w“U<%®‘x—ÅötgIýÕµ$ Krlê„iv™Ï·eKІ•Ê”s¥³âLR/d#Ó‹wÚø}hðhtÁD£ŒåÇR×ê¸[ÉY½B4Ì~óU]Wº«©Îìø0)/¥êqV«£¦ #}òŽ’œÆ»UëŽHÐFÖ Õjê›Ñ$ kŸLÌ3Þ3±$én¼¤9:¼¹’Ô‘W´Aåÿ÷*”{¤•yðVsrý™Ån Õ QGLƃÐYE1µ¼'uÐ “î’5ù²ÿîÃKÖlÐÌý÷©^²8‡ÿe;:e‡3ƒ·J¶%fãÐ5ƒ§êIÖ6ð5-Zoo‰&Ÿz|ŽFø‡î¾fLrš9÷Á·¾X)]Î;Ž-F—“EuG±šôÝ)U?!—ÙYG]^îAffuë¸Q}Õ®vWöñ ûepP]ës9k²õ}&G²ÚòóM7kÏÑŠz)Ö®ã{VG •øÆ‘®µ¤µÊïɘLj'ítÏßÉ™ç9t§Á‘qz`Ödïý+mé$=ÏJW‰b7ìÔ™*±»4Fü†Ëôô±n¡›vž¾=Oè˜t÷*gbúž’7*«ÒƒœxH™¦Ã<Éf¬L¿jJ3«¼?þ±:r6î«ßǹ%m5ŠòN{Zb5°5vÄÚ^s©ÃéÐ¥”ª9»ôû’ç&/}£³ÔU¬† ¦ïC£¿òošYÒ¦³JgÍݨ)W²$e ç\KÕ¨Ñmîž—œí2ûèþ QR‰ÑèÔ6eºû^“'ãslêU÷\©b4hêê>õ²z)G£5CsèžF!áͯ«‘}©÷«ZúÓ ;!ãœV3u¿¨Ä:ªvKgJ¬J²k¨éÓ$ŠñªòΙ™ÓbW‰¯¡ŠÝ®’[–çˆîîKnäÞ½ÜûØHÈ·?shDÂq£"´Çíúy•rÊ©›ý›¬–*Å9n3X~’”]G5ÿìÀã ÝÀ“eúù^èè—³Q5G·˜w}"å%¢ÜålÔ°ýš9ÚÔM¢ñz†÷Ž !: Oì‘WÉë ú‚7òÆêüšRçFGùEfRÙA6r8rî©_T(õ޶Òîi¯¢2jæe&fUê†eáÑN¶‹'©v´×pzí‘æšnÚ´ŽÔ$´“ºˆ—h¯¯ä†‘ÇÉ®i¯¾â¡Ad$ˆ=ï[D)Ç7ÇñÓŽbï0#Éq¤}êö¦¯v•Ãaú¹r®ÚǾ$Þ ¡==S÷+Ú3©ò¹4²|ÊíÅ«üŒ ŽësÐNh&ŸVepTûA“ ?Ob‹Ðì9»#©7ñ‘2ßQŠå¨äÐÀš’Äa5…¶÷(Åò鳳̳¼Ÿe,¬,ší¾¥¸zE5³ý/.K+ÉtS³e‘IÞ0åÔ¼,y£WX¶SÉ•ÆÍKœ£ö,)Ñ8Ê=Ñn¨–ƒr.ö‰w}ÿ–¾ã -­lpü»ªøfwòŽÈªd”û°ÁÕeÛ´òrèA$ÄÏÝŽY’² -~TÑìvªVfhÜ-åÿhJì(ÿ 93òKF’–77Y~¥S(;þ¹Î`V^’Oƒ–këeùã!ÉÄÉy¹n&éª&ûrÊ&¿²iôm -Ód?”œ92NÖ‰n­\„tt–%˜Ö3ý…G>¾J0;ò›Ž²ž-ÅÙafu™eå©ùXxÒÙÏÞå°ãã¶ðXdy³_G–ÖðDc„†w~ÒXŠT{Gj­_GáQ"ÕH5ÊLÿêP¨WVª"ò}~ñøi;ì¬ðLTùâÉæö'íâyÐ.Ñ*í¨¥;o,'fïú&‡ðÎúh÷¾›'½Žb V•iÒÓ'|Å®ƒ,É„Ÿ3”œzѤ?t•»ÂšÂW å¦ãÐæècÕÉ]ÇÍ Ÿ6JMñ:>Ï,37féÕbw–TÕÏèºY½O1…œo Og†tf !^ïí âVÚ®r é -ïlæcx³³Ðtdú°å»Ù³9«á‘¬„{·¯²Hð#¤~kîS¾œó&ôÑq/}"J©ë°Ëœš{±tGÍH*G5îÆšªˆŽõ=±²Xn~ðеíw5¿*©–™%“/?R9Ò\Ô¬Lãï6¡`uÔ¹r—YSw›–œuاÒ„EºD$½…wr9¨e„~’I~MG±è{®£˜ô³3Ý ³’¦Á(Â1¥ÏÆ㸳ç*®ÛGe}q•íb8Œ0Ó÷ºF\40ŒŒ(ñšµÌÂÛÓDsóqe$°Åd€Á€ 08 @ pÁ„@Bhð@‘A H`p0a‚ÂãƒH˜¡‚($ „„Œ 08 J0(€Ø`Œ80 0¦C£cc†X 1$†e€Á h 12mÎìÔ$yiøõ§ØEš"¼_'ŸÏYÐF *D 0&l0¡ÂH`@B„@PØÉ2Ô¹qNÚª™å!aæÔI c‰EÃQe‡‹¢¤¨ˆšRAø»Ba†šDC™ŸXX0LÉ|˜O,,JVœâR±àK(¼H£b¡m8 O<µÈ…<&ξ¸âúï+Ÿ•Uï³<ò™MÑ+ÏìÆ«ÎHhwV_ºÖçéÎΣè:ÝY=ê©­÷sbÖÈ<µ‡–V4‡n]¹¤W“CwΔ¼†½“øßá-½ÖH{Î2³wÖ¸cÍU©5´˜^ºÛ¬«aê{Õ ªªùÔ€jX!æÏ2hÓA–j`‘IÒ¸©Ì;]õ}Äôí~¼XŠ Ã)çØBIæI„3eãk™'}Væce’h–yR¬®)„#D–¶ëón‡½7Í{¡tî8¢«DwTón””<¬9qÕ }¼ËÄ«ê̹#ˆ&±[„Ö#wX¦ãOtUÒÌôÚ½dXžšÑÈî„d©‘]gä©°ÈÎz–CvžQ”ó:²¢ôêÌJ…Bã -«êlµxàÕÝ[5’Ö]šÉÍéÎĬø²›ú2{²ö.©á] ORÚÕszÄå‘X×ûž¯AWu_udŽŽÞÝ––ªßÒ*ïpfá]Kè¨F=i6‚¿éxG»ËQÍö¡¥ß:W#Ñ”£É£¦xëÊ~øvλáɕ娰ƒ?òØ(–XlKUL›éf уG—¿·»<Ÿ iÈiîÏóåkù–¡šaYMwEjh|(©ø;žÔ™ ©¦¿ZÙ4ÅÞõšâ=vb6Y#­›¢•®#µöÚ¾Îzµ^©^GSïK8XU)5Ås^Ö…vD9­³²Ìt¯ÒtðY6E2x¯Ï%J5§Tú{ÇR2‡hdj÷#²LLô½Þ»”,¢”7Wxò+Vs­e“ÏÕÓ:5v»¬±Wóâ"gU‰§#͈²>Y3*¬»O)Ó?œøÚœ•‘«R.±óÔUož|dNÂó…ŽìY)tô#Cœ£t½Tc”N-«¬DŤ²ûëÍ–ècuóSæZtCTUΫsÚ•a½wRwdU’9¬æ¨ŸºžG¿ÌG±v9Õ×;äÔàuÛØk~â¢<2|’,YD‰™õ³Ì -‘NÐ*•‰%ed9îò•óØ÷WVYJU–MÕTÌhkÄrÖÝ…u$„ãŒxÃÐO” ŽÚ±ì&iªB[ååÀlæxÜÎUs®^K’Â;­>xÊ»2Ç«¾«)•Ì~:ex¬XŽ<‘er`íšÝz#%¢f™¥Ýº`éF!ݤхκqæ)óÚ*Ö £R©ä“B8pŒzv#9‡½4'U¬š ¾ÐžCøñ×V™äàQ íFgÉ!üp 5À²3¡½N”´…~ÖÊÓÞ›‰Š¤²'Û•òëÎl.eæéw¥K¡ßsgö'Vöì½ké“„GªCô}ÖqáMO±±Śاå°Rn -oê“_É,}gƒ¿“ ¶ãÞ[?V“j¥==Z¯jh9-!f ­J˜6æ³Ù%<:CÃq íøÊ ¬ íCÁ! "TxPaJ€ 4H(!B… -` îZ¥ -h`¬£Jã´8‚E‰”sIrD3gv7ËN"’Ct™ÝÌè²";M’Q¥’|eÇÛH½òŠˆ(•BT3»¯#“6+Ýã|ž -yØé2Ñî¶áIùtù²[´c­äsyt“æ»Xމ«Ô´ÛÅr˜‘›æ!Ë4Oµ‰èš¥ÙPbïþù3Šš_zí¿A òîìgì¤ïŠ6é;#Nú 3oÒ¾ÎÛáõôæÕF$VcZìA”5é›§r†¶©IÛÔ#eÒ›é×µ7^·÷Ò7k -]oÔá%ÝHyÐ aú™Vè—~ɳûgWvC$ffI4ws™ kÎæÎ6wıœëæL/©;[š§r>ôÜ9S±NÏ•œõn“}]Ô"—o‰—Ê´¥\~®ÌŸt!þÒ΄cÂÒ Íç'ZOÙg<«q&¼´K5©.[Þ¹ä“ɳó)§Ý«ÆeËRs¬ŠÊ¯2K«¬ò©e±l^ˆ–¹Ê–G£*[vÔi¤È²–T~–.–(G—䳕³~bZ楻±oN²Ç§+¿RÍJº‡Dph˜nÐ…ö»,I:)”¡œÒÐxâÙthô’†ç1B#!š<ûLZ¦40'ïä†FL“æ!¤aS”64êaªaû~Ì©›Í¥–ÍîgÉ{-;Õ…“̆²&³!*‘Ù³Ž2D§š}HNÃ^¬ÙáÕ²LòƲÊQ¿YÅED3”"êñˆcO"º¡¥á˜ù\<ÌÁ1+’´q.±›íÄŠ†jû\Y¬ˆ|26˜wµš‹YCô •FÚ™½…c¯êü:®òœáØ`amú\©3ÔbÕZ“ `ÁE¶Ö°¿Ì~ö‘¡š™ò=Í -߳ߔI‰P2Çì5Už‹%)!¢áü»šÝÙ‘IkÔLh³’Õ@L™ñTZã2ï"ÞB5z3x#ÕJÒ¨£¬3¬kðl·šKX¢9š!æÅJ˜h±Ò0üô°êb6dE–$ãÏ5bÙä-,±~Ðe:í|WÏÛÏV’¯ëuj]4¬Jê9h[ß~wÚR§FÕ³õñ¬¥Æ¥M’Ã>êà ÇöÄù_ÙfËuØ*_âñC,³Ḭ̀æÙ,”Õ9°5Û¸]…bqÐïôò¤¼üjhƒ>! vÄ=ÇK<ê;pT§fs,‡6èj:f¦e%¯jXí&GŽŽZ“uÐv­´,#™ùç9ªÙ­uŽæçj’P ,ÑÏ2ØÊ³‰1íä–s2gŒU=!7·;ßlNŠ3B6?ç.‰-¢éX²;BæcÇÑSêA3xæQê3“£¤ô'sn~ë&‰Å±4'vœï~¹)“>;›•?—$–“cä¾'·a;,r¥YQ"ÉmdVn™½ ¤y‘3%mX:Åì2–ÔqŽP+1{5Ê„X¿RV‰v©‡UŠ_ÏUëz -‹îÌ„ÓV=[ÂiÚÜ2ºª«6‹g›}ˆð˜3=úUÝÎW"¤"¬zKèhä[¤¢Ó%ez! ]Ö/éBF#oæç¼}†¯Q]½n•š¬Ðp\s½÷=¯ÐÐ,ËÕ?˜výöâË•b“ëˆE±i$e¹ZWdõÐkÅz_M¬O]åŒ óê5—.’øãʇ®!‰%Ööa*Ÿ]Å>Ê„g”tÖˆ}¼ÖÛÕY¹ZíÕ]v’¦I©"ý¬ÒTW·Ë“òÀÊ‹hÄp`_óשæçtÿ:’¥`åM–õÌ»»ñ-,ºËX?fɱµÔljn=iQ: ÒHsTáPÙ­šbDIõiý7£Ž—ÍÉŽhÙIáÉÞñÅäWžYæí^x²›¤p˜=Sv¢ž˜pYL“ÃÆZf7•ÉÐ|øN^ª‹?KWö$¬ÑÓ,“„ŽuеCÍyٕЇµlyXy25´ÐbÏ>v'SÂ4Ù¹õŸ³¾Æ2‡Œã¼åCDvF%¿®B%;â¹ZsS«©PKhÏcfR¦ÝJ~]Ùønñ„”G«ÔÛ»["Ö‘ -?UÓKTõkê)ò³óæØÜÛ9³—Øj^>¥ŒŒÌ„ÌBFFv­+ÚÒÒhäv3_•„ð®7(ƒiôàïò ›£²Yyª½^ÖøC¼[7Ö Ç¤^­Ký,3_ÄÌ£eZzŠÒé¬<ËÆ4ÏJIüUJ“dò>Ê!æ &ffoïû¾Ç2¥Ï&á‰.iÛÙf2ÙfVŸÉd’¤•5˜Ê\Î@óÉáˆG!ÑÈ”IQ’9§*[,¹«laŽÌ‘¤JIg³j£ õ%F‹óHLN3’£K:ºéˆÊ&Vu5®2§òª¬¬¿Ìì†2VI[™”Ëõ")»æ-›‹ä¬VVf4¾ôœ½žyŒ–b>ÒÉ!!!!᱄Ð?gd&ssÓ¹¹Û³—33:ÊkLª¨ªªª\VR5®«²Ÿ¼Æ²®¨G ÒÑ^ŽŽzttt„$E&*2••dbæX2‹$Ù¼;|IyLƒ{~ mÅ_KT¢¼öê¿ÁyšÏk>‰jÊõ™ÕXiÚ³ÑVî oÄÚ;û ºÍ»Ñ?øÁZ•¦5ò´n¼Lš¢Bñ4ÿCÁD;™$[ša§øßÆÿ~ÿ{kšLN/-èC£ËhA›îwvw(h¼‹ÙfÃ3Ú³ÑÄl¶»|2w—b£ó–F>ÞÐ÷:1RQ að(uSgu(u7tò™<1ÞHÓäD#}äЦrøÊáaÚáaG)_| ¦ ½í%†3îm¬ÑÔXK[ûñ—ûŸ…5%¬ “jã+þÚª¡+Rûºw¹gTìe§ð&-Ç™s“WËÉÒÐã{›wT£=4=´3‘ÊEãY.Œð¶»ÄCßJV­kÅš:Úú«¥©%ºº.Õ>Ó, ½Ò'{ëRS£»±9ˆSiòMÓ­2ìô%,©´ûs§³þÅ’òR,–9rŸ\Þ§¤Y˜gÂ/´*Zz?ôœ.Lºô.±n¢ôzÒ£Ëà -a„î,+t‡‰rgu488X¼¤X´šï®Ë#“I29Y¥’Éš”â¡S0Ÿ9â<ļØÙÙ9³bggWS#vø»øþ”Â4©4úpJè5f¢ÖÔìX×OŽaé¶ËVhjƒ]hj»»rYÄÊM­4N '‡l¦Ù2ŽÝù¹÷Þ­Î2®Õ™Õ7”Ì]U¨ŠÍ&Qž©÷MíÈú¼”{¼iÑ¥›Þ¯DbîôîWÅܺ~zæZlò¼Æ‰DÖÖ•T"ÙÙ„tÖ¾LÐZÌÃv(¯ÊêQVµÍ$Øžrz"ê]êYuR·ÔOê/»”ºá3s¤S³¢Ú†',_2óBI#•)•%••^~+Áêù®ZX2L9_®šÅjù°ÚòݪYyò½w%XÍ3Þ®j¦C»WŸvÉjï3-Žáœ] ,w5¥L–(hB&µW³ªª¨¨¨’$KÆ,[W¡2™ÐU1åˆÉŽÊSÕBõ:+¹T •]²²äžÒ Ì(¤2J»L§r¤•r¢$²±&å°F†hd -P#3ds&Sv"*ý>Éa /¯ ÙÈÊÏÊd$Íî,C'ƒX'3è,™É\¥æF¦'W’+9²¸¨äêªNYC9¥œü”YLMÑ呵U’.”šÍ‰ú‹ív3‰y\b6›ÅLسyNÌã±mÛ¶Í•ØWDbWÅ&§ NÙw!“-…L6‘…|C3¬ØòyAò{Û6’]óÅ>eå¬ÕÇ)GB…evWKŒ–±³ŒÉXaÊXï—1+£C_u1ì¥Åœî©$m»gI§É–».MìŒWuüÍå¸Pðøçíh$orÊý(t›\Ö[BǦàK”×™e¦oŽ gÐh¤SL¬´¼glæjêb™åIƒò -oZ¼$Ä© Ž%!Né­#>ɯQ‘!aÍj†$_g—£TÊežô#_G鯞Ò÷κôøÞ Qú×]œrCk‘$^ÊñirD“ãÙÈqä8DWIaÅ.™˜ÍDRþ•ÓMJ±Ñ'I×*çšîJ‘”•”Ù‘*e)ˣυ¬¬'iVibW"J&VÆ~Ã#–œÜÚHNr²C’Ó ‹¬¬L!ÏÕi)/#»U)å(±(Gu?9BA40€q -‰ 6€Pá@ @4€ ˜ LðtЀC¼¹Ú:äžY„í{ãç af/3µABj³u§Ø»kïãlƒçâÚ®iBße³Ð=ôç¨H”7Hs'ü‹nšÙ‰Ñœ¦Hc‚®)æ1;èÚSüõ Ï„tG…§é]q\Geþ‘]YBªi~FÉÊWa’Óê¶ñ’(-%ñŒIG;%{¯äÚÑn$éÐð-Ó†µgÉFìeQ6m|}{©7¯šÐÿºDÌÄ£ÃI*¡Ž_3Óî¡£ÁãÑÓ¨òxW/,#ÒØ_-âá;Êùë¥eùˆw¼³"R}´Ë±YÚífÔTO#ÛPáÓÎÆfn;«¹uÈubÚsëØ]Íq&å^¼ë4«Xâ¿øÊ›×^¶&ª6i?Þ™Ô#էߊ(u¼M¤^W„F5³¦±‘rXQºü±{Ε+k5¥;4¡¬Ë»œ”£“çre+‡ˆÌË©ÆÊ¼utE>š¦EeŠ?L—µ´Ì³7eöa­Rƒ"’Y¢[}¿#ñÞÒxî–”ø¢oŸ—4‡­nTõí¯3i|û“þ¾s=·oXvIð:UŸëìz­•ÇnÝõ•~õÓ}ªÚ ÛTÝsž^ùÆ‹°>Wc帻²99·ÕàiU–s„ƒæeh¹™0çSWÅj3§º’·®»Ï¥E’4Š®}¿¢|'s%Ë -/¥_É’\U!^âÇÒ$ÂÏá']DøiMï& ŸÑ‘ªz†B5èž”gª´~¥—yðІžkJ˃ÏIlÍ͵î¯%¡ºªñL»Áf^Ѥ­y?üÈÑåjüê¬ÂG³ÆRŲ]ÓDÕÄSkÔÉX×ü^*¬ -ú=w¯B}hîž§J¨dÎ †²DÍCJ!¤ˆf&3€ 8 ‡Ã¢!ѤÚ~´žLb¥IÃ, -rLcŒ@$jlûU½*ƒ¾çÍ/,Ía¯só@ˆjýñ‹i×XÔ» -j&¶ÍöP‹_¯®o „·ºä:bXÿÓ›NþO¿´”Ö,åRÿÓÛ„«èÜe<ÿiýK½Ø1œ²WI{]MmÔœ–¥Å®}_0:êsÖiÞíiBüÙ‘Io·ðd¾ùn<]‘ƒD$v:±%ºÕÌsÚ`ßjÛµh¬ŒÑ8Ýb¢>¡Ðö -¯Ù·7mF¹âtshÓÜR0úu·Ù´1XM—1>Yv)šf¶`Q<™iŸ zmâKJ2­Q—?H›b¬.‰Ãtª‹¥Õr¥5ö¥¥"UX²ÎBNtéám<1žäëµôs'¤ZÉ•Ã&–F+M£GbéBÏb¤™ž•žšMW’(ŽÑnŸbhûÐìr RkÄ;Œ;êÂÓ+\ÎÐÊ1?nˆÒ9“&a´=!ÒÌ 8#]æ ×q:èD$µ#ŒÑ[Iý+bjÃh+麳µMÚ"!½zÒ5·=äl£T-µH$Çë§»¸tV:Ž­C9vE,•Õ=­¥e–C_­Ò¥¹ïF.¥J;zßKŸ'ó–L˜^ʺVcJ~ǘ.ÌnS´zeÀŽÓi9ÅT>L9ŸL¯"¡Ès¦‰2cbJS~þL7†qMý&O Û´Ø'¡•ÁŸÀi9´À‹j•,õr=꺇L3L¼f3<ËÓcT©]rÆAZ ÜgÑ -Z½ÓC]ç³ê«™¹€b‚ºòï õ\bÌúiÝŸŠî¿$êRðÁ£E]É"¿ÑÒÇFµý½c WìQ—¤#ÕiÎPª],®ôybêi¬©»éÔ,YæLŸº9€†êC։ѣ*5aŠPÕŠäQUÕ}XEû³j]§Ê\^µÚÄ9;K»XÍFl8gõ{ÆnêZ¥¾+΀«olZé.V›¯&Iç̾Œ“ª®± }õ¸e›Xƒ°wØÕéèöÉÃ}@¶¬ª½;µ6ë¿zJý¬ -½“¤õýr÷_Z¢¸HKk墯ÇVVQsd¶õ«[w@=¿uã=‡+Àhö°µ¡ß[Ñ5µ”ÓWWIXŠvuqúÞuå¥9,®½‰dËÑDB$ÄçuLS«Ãšð{åG)`‡¯1¸¯³ú*FåXkÊ»õuˆük•ÈT8±ä*`—-°¤·`Œ™2»Êaûš*Á -´öx.Qì–‡* ëÎV4±¦ÃgÅú”Ö/åGc™L¬‰c5U$ªûdÏôDF¶Ñ1 «d[È›ž¬ø¨¸àâ” ª¸_ñé±ÐWVc8þ]:!ñæ6¿¬éB…!ÍÅìu® -›Ù/È•±ãb®ÛÓfñœ%ć,’ÑÚw¼IžÝª°[ë³UÉð7Ð %C[n:¢hýˆ ÓÑ0ªDÂÚÈ8–þ{° -Û—VÚeó9íþfm#"Ô¦g©ŽX»FÕêš)•˜tµr À¬½Ë·Ö›Eöa-Œ`O ¶[*“2¶×•-M4·žm#Ï«œ¶J\8+Þýýjal›þÛ¯ºíqøp;“(7˜[ ―¬nѺHן1´6Í[ÍÓX†Œ÷vbrÄorGp¢‰@,$²pû5„n­H¦µ#nÁݲÇ݃q,. -×ß³q¯ÒïÛ{Cþ$I'F¹áÜâN¦ñcÌm˃ôl®¡¢&i0÷¹' ëß²ºîõoÙqt/V”qéžx‡’þéê¸Ãªk§KW7fĸM¸îeÂ.ó²«>îù¨ÝØÁv{·ë’/øÊÜùîú§« -¥ÃðÝ=]à}À[ATÔ -o‰x¡2ñÎoÒˆª­v´SòòT•¹.ïxà›wV!èm¹3b'½ò/õº>(¯‘î ¦‡†ì]4*·×„9†SàÝëÜB8|÷^‚ýÁ8úî<ò}‰Ì‰Jš/d$õоWZÅ>ë;*ÅŒµï)uº¾ïÛñ»ÿ Oè7äA¤1û-|šˆâoiĵ­˜}ý¦°þWÈy‡l’:ãþ¦ÍcÕK¡qI| KÒÀBÓ"–6‹åå|+‚ÿ%L,Np Óðãç_0D<½g¼¬|ó9Û@J†2–½sÄof—iF¸Y3¿¢î~MÀN¸Û -áo -¯©;íQ,\•ššK gÂ!z¤æßœ£†ûÖ0^¢‰À°oø1UËÑá'FKÇÌ®­» ¥× ¶X‡xiˆí}-bµa¼|Äs{“s½6"E‰1E•ÆÄ½$ž©3 I§NÜþò¸Cš€7ūؓ¦ñK>¥õ72뇉(»¼îE½€åŒEä Æ8MMÿÊ8ÏÜÁ3¾–â%²»ÅñUŸ¨ñK¦$ÏÆk\éðޏ1xvUp†|ï/ÍåD<hNÝn@9 ³"Ö:Êq¾G™ûöÚêå´ -srÍÄ×ʱ <ÚÂ4·hUŽWxÙ± Šb£ß#\•ëЯ>¹rLç‡Ái€ÇÊq¶Þ.ô¢‡fSŽu3Õ*ƒãÓ‰±ç²ëÁñ|» -‘ŽËaküvÎ_¦…f8®øg@9åQ‹Ð¸ÖÅ>C)8¦wÄÙïl{Ðr¹ƒc瀡¸±Hºhö6¦§y²{£õ6V½ãØ3ñi‚rWž3çàm\…Ø“'ƒ†KÆ´CQÚ~—NНpêRÏ6λ>Ìo¼vlc1¯è!ï¶)êj.Ðwk|õR³¸…z{s„'¹ÆÒwF‡Å}fäƒ[c¬_o¹Æ§ƒ¢DÒÿRFŒuÒØÙ–2­1U]­ÑWqŒïhlv|Ñ8&â84VñzæŠî‡&,Õü -¥ŸñzÐH–»U²\ ±¢<.ã‹Í–uŒ—Ì æÓt1%$@aœgÍŠ]ò<™„âÆ©d ¹?„±tÍ¢ÁØè^f‰06\Ò§ò‚-`€AöÍ1vcõXv:yI+8é=]Â8ÆR.ÆøŒœã#D±ÅÝâlvŒØs¿c Ü+["ǸŸ1c$ à€*ò\]P3®ÎSæ9®:4zÓÁD̸©ù„Ä£˜1º¹)1ãª[“éVcPÄ”ñZ;Èøî‚^½qCwœËŒ'Dk>/ÔÝÅ+O÷“ã<’†%æú–…2ŒKÎ!øžÕB8O…±CU«¤#8Æw9®LM©Ÿ?¦D¡ Y]ޱ¹çsõ 8ÆP²AÃþAñvŒÏú5àôÖc<Ï49Œñ ;Ânß'Œ™Üut±« -¸5€Jf¡[†„c «QÂ8%ÓúšÂç„q&^à ãú„k7a| ÝJ-ñŶ'ðiš™‹Í›+h.®wîDí÷D¬1KߤڔSí½à\ì¹Ryyœ‹ fC†¿>CÌ+þ}‡çbó‚ÀuÌnÄÇu.n=M…/Ö|7ýŒ -¿] -á_Ì¿êÓJ{_lÇ2j£Óõ¸r Ýåúâ~úBêÁFóúb,oïH¬Œì‹Ïõ©”¾Ø”³,¬}±(QøÅà -Ç-þâ*òqÿù_Lzz‚,¤þÅ¢*4LYôbŠ]<×{ -è!ôâ(ìXï-èÂ*Â.^¿! 1šiM±Rì)ª#V¹ë½Ñæ/>i| °GŒ#.óŒwåüÃøq!Á¿8¯PÃjÕvÐ^Ì0H4CJεî6RS±J”·ýbWwã0^½H#CÆJ‹Q®™ñpy…¢±%'÷j5L°ÑÆ,ú9²ómÞh|àðq,+­|ã§ëú&nßšŒ€¤Ów2Ê7v1èÏò²ºë|cæD f&ö·#Е2¬ö?Æ,â@¾oì7†4ùÂÀ|ÀdÅFð5{u\¹G êj´×ǽ8æÚc¶a”œ(mÚx¢Ç¢I¢&“Õø ‡Ã…²ÕØJºShýj¬êgõ–M7“jW°Õ8V·ðƒj,-Ù8Ÿü3šÅ?Å1c\ïØ9~#y@K”D€æcÛŒÐuÌ8׃Ç2»ó˜ôXJý­|<ƒlêÔÀjjìÇ£¹ üì®ìä¿…]Ì¥@ÂL,hcî i›Áç'¶S¨8Î,hŠÒ -2fs zg—œf !:6 Åê· «yì¼–8uÓãƒv+ ;Ì,¥Íu†SÜ™…>h¨³€±P?h$UêŠ÷>h43š³pR9Ú’Ï-»ôàÌP„³)Á°àÖý„&Öà ÿOhPfZB¡MW,Ñf‚«( -ÍJ²å˜¬vø ÍÐKœ¦þç„~תՌ=¼†xµae…æ„öE+ lÏ„þYQ€˜ÐÉnÑÁÁ s§Ì9Š-`×° ½3:šOýÅ´«¿ÝÜ Š„Ûa5囄¡ïã¶/ns© -g¹¾ZI!¡áúÃø-t”Äéì.V]ÚÐÕ#al1UÞ†¾•‡U³a²’½Éìr(zw¬÷ºÌ‡¥:€‘7ôi¡ðèMÈmȽ¡qÒò Ký‰•yCôõÕîktC#r ¢’ègAeIJÑM_-z¤±’ÑÈC·žJLùíhYß"ÿèsê}s]iJkRv¡#é5ÙhÒï" ?ˆÒ*E -ª©¯´›/i×—/FÇt š&¶ð*Tgʦµx?Åik#ÞÖi_6b‡ž¶rý´BƒZ8\-ûPËBü"Fm‡Ômí ñŠJ0L}S¾°Sÿz¤sJÕ‘Åå`ªëªz”!»êóƒY=túVçKÓœxv)°æ‹bŸ¬­îìoÔ9ën'Wœ—Cú+«þà‰kMŽ’.“ ·µÍ'QÊk8iA¹pê‘Gןk×âZsÇkæ{M>3úú—]³i0ÞûŠ‹ß[˜Ñ% ì7Ã^ú¹šKR[&[ˆ°³bôðoØ«íþAc?¨®¶¦öácçñª@ágVì™ÕlÍ+d·Ã- Ý÷.MÎnËìžI}FTrƒ²²¼6Ùm|ÿòz{š‚¡HoÛF\EV執ç3B~æƒyû·@xU–ÉÛÔê¥ ,ãíx÷àFùBß>¢e¦ŒYDQ›p¢ôíphí|Û¢£ O-’\iÑ·EÊJ^€Ž.¼]›hW¶ÆÛœöõÁœ‘ïo·5. -¤Rx›¨ARám#èª:¼žø6x¢Gvs“Ø»~"ùËñí;†Þ~DRËwðö€ænàí0·ŽßQÏB=ÞN¹…Ktü8ªâmacÆx"°o LñvÁÌ⣇ïx[½¨´àA¼ÝÊòìr õ“·M³¸ÓmXˆµ9éör"™¦÷Üøt;ôŸÿnG˜Áˆ™nwPÀ“Ÿn{N`Y‚ÛðšÕÀ n›ù´°O¸­þ\¯…ZºÀ¢åëAå/‘ ê¶Ÿ&j]Ðúp[d³^}ò× Ãm®}®šóþ¶‡R†¶Òo»ý-¿pÀÚÞ¤Îð±¶Ù´zƒó#ûgmƒ/H¸0ZÛŽÞŽì–°’û·YÛÄ/µ†v­ílŽ­Z(¹;0<kµš+h¶åàňÃeH#6í °Ø>Äô’@hpæCM+¢Îv˜\k´PC‹³}ÄvO«@x†³ auÝ«èA³JÄl0o¶SÍÞ<Ú5KÝ2»ýªMŒý28/–x=³m^.YP^ÌvÉ2*[a¶ãHA#ñé™, ÿ™mˆÿþþÃvQ ;çùÂaaË"³­>ƒPmËݶó Ÿ^4· Ô §x·/ÞÛÓú|A·ýÄá“Wð ~·ñBu1†_èê»]3Ö›ÐwûGq§m|;¢æ/{ ¸c)>ášâF­îÝtÇÝn²GÎ^qrÿ9Iz0·Å„‰œ;Úþ}RèE~rÅ’Ðý$>n³7·kbé¶œÄx¨î”`®ûH1#e÷¸9u»1„"¶-ôÙ ‰wKŠYE“ '|ðî1›" ؃‘¼ÝŰ3ôL¬vw?o4”Û}+ö‘ïn+µñûðéìîÁߵͷ»§_¸à/î¦íî.3eý”w7"tú£Í£Mïî”â¥÷* wwg›¬bÐÊ w÷•jÆ‘¼»ôˆVÕÝí.Í ¾9úîΗéLh}uwW þÛ†¼#µ¡ÌŠkXZ°)œ¼™ª†Þ%‰ÿšýÞN‡å ÕñLüçïU~”ÀacòÿA+f ØßíBýª -Pº«xùïVl”‡"¤mþîUF&’ðïþ×Ê#Þ—¾<Öê;ˆ79ýêCˆ7ÕâjxWWa§ŒZ3¼+3*œüöÒ'Þúkí©r^ÿð^bžñµhiÞÈ‹4— I<¼/[ OY„,D€¼MÑå[†:… äÝ„þË _‚¼Q°³IË2@9ț؉JG¼ÿÖ¿ÈÛWö¨áÊ«yoóï´«;¼ïh!LÆïnʇôØýîet«ºòÃ[ô2þ½:h>!ohT@ -òÛ[‹…¼‡ÑC0o´$‡ -½Ã¹ÂÕ;%ó¤ª÷¤ÐÞ]Lí{oã4¼h»¶ßL&|¾íHGöÍϯ xV:4†ßw„Õo®Ó2›;TZaÙøo ¶³%Àïc xÖPæ÷]êÀá^Ta‚M)ºÇ ^¬8x°ƒð0„WQxÅ;\Út…É‘HìÃ9éÃ2ë6N#œ½ìÃk=¹âÛ¬ï˜Cy·ÉH·Ä{$ sßO´)~6A™Ø1Ú¸ÅÓUŒËG2.õþÒ¸&Û8•Õ“ãP÷ÈeÇ¿"-Gçñ‹Ý©<ÞØŠµòqB²òGº³˜ÇE:àˆ|ôímhäÇJÀá §7KnpY“ׄ‡}r49Ê­þ²ss{9˜fåÍ„½%×ìŒG-#–Ëå#ÏèåÁœz§ŒLqoy2Èug«3÷a|¹l^clšŸÄæ}Ž'Îͱ<ÒýçcË9¾D«Xê|ì¢%*ñbŸÞyÚ•D:Ïçñyª ÚÏKè(E/«AW';×B÷š%½ÇÌ¥(º¸å™2úÊoA -:ºø !ÝgÅš@}h‡€‘ªe H½ÐÑCC†Xоû›®ábO7§ËQî¢ßV+êÖ“°ŽRç˜å©s-ÔÙžê_õt¯zuãêÝ"}`=ÒíÙ“õ8DZ§d–H-õŒä:òZ§·ëí°{ý𯿄“"ì+bÖ·"=Z¾Ùë²”–ïâêfTô$Y(’vÇð‡*µÏ6Æ>®ÝÚàüËöPêì¶i¨ª×ÅL!à®ÄݹëEùa†bÙG<º{fe)¬;mðy-²˜[¸è» VÄûïs“ö­Lìð •½rCñ}»õ1¬'ɽó‚Í%ïßE|6Óò øˆ»sfðŠDx5U‘X…†÷_5Á¾nÄ<ОøÍ`ǯ) ã5xü0Ý5þ¤ñ¹í~ŽÿÜŒ>÷ñ0äÏeÆCËùϸM“×»eÛ€ò÷T>94ˆ²¼Ä^þÝågù2‡y93otõd5ïÞ¼ÿ Žžóˆß6«Ï[²X/‚$ˆò&ÐWIA&ÀŸMI@Ñ Ý¤9²ÆméèEì ÁÄ$á5+l铜~$H‰Býù^WþRéB ÇTA(&W_—õµÌ“¹õ ³àÖ»£wR¢p£»Þ5`5\@Nìã]é$û¬:iöÀ‰»Fû§ˆ’>SVÛÂùöu÷9îkÀ߃î•݇Q¼_ÚûPèµïöL~mµ€ýô¾KuáÏà ¿æh=ò6~˜ŒÇ6±æ~X'„O®aK¤ üßþ¬“³µ˜/‘°fø*Nñ1ÇÊ rð/Ä/Ï¡S¡h› -é¦UŠÑcŽEGÜ_Š¿Ìe²”â»Èƒf{b@Šl¤qÅW#Ž9C9„¯V@A-ŠOÏybüJÇÏѰó_pïäÇn••z|ÚîòyÍüqG6Œ7 ¦Í„&@v‰þ!éŸä·›þ¤Â2X’úZým Ôlëûÿ×§ÔI*öÈ…·_ ”Ñþy:uú*Zõ,¢ Øþ¾ãĹáþ¦;ÿ뾯¼Å¾éýó÷Ùûá4"·*F"~ªÆß¶ýƒ4òד~-ùJÏð“åïE¸j~ø$®ÏŸtøO@×G¿8õÊGýЭ4Ò nýS—²_0i{ÛmDÚÔÉvݘ¥€¿ßÛ™ˆø£å.ö_<ˆÿ)]b“WíÄŽ|!8vù¿˜uh0e;HC–¼¾Ð¿µêŸŒö‰›ýÇ908»¿K“ø­á?&2ÿéUýÓÅû/Žù¿…õ_ÿŠ[¿–[bU€‹SÊL ~&,¥ Š&~L’¾8€vÞ­‘ò~<@áJ ে6ÀT)Øï‡ÀX ^õU$´Öàw-×=(Z…ŠŠ@uŽý -P&†äŸ Äbÿ‡é‡÷ÊdÞÎ3¼Ä ,0Xû|>C€w´Õ|Ô%ýKÝÊð9C+t1õÕØ óLDÇ¢¶eKW¨B,»OK5våQ_ŒõSªñ“–ñyì ÿ¤Û©†ä@:ƒñËÖÖuh¨AtC­Ìž9¡URXÈýÍ­²£+VŠXQܸ”=ëϵ6¹˜B~!+Qµ©¢«;á¯tç¯ç"ÊChék®¼}hÖZf+e†Ý]©¼.ôH«ØW³ïö­Ha*pÌ|߈”ž¨õBÔõˆ/ÖL@íÜç|ý·´ð¹¦ìGçžêâôS'X2Ð]i3 Éé©´ºÖSè÷ƒ®Ú‹zãêúŽm°•Äœ›UØ -¨Ê%—¿Ÿu-ÇÄ@5'äDZ»_L1hi¹¸Ûô1(. RÜ%|àQv_ÂF^eËñô¯ƒgä]M4ômηCæ‚>%ýjö™dÚ¡5wá9àÂó@€û@Gà" øÍI^÷ªQÉBmhhŽ UÙu-ŽMYÿ:+°Æ&ÚÛH“/·ŒUÞíLôa?×.ÂTQðòˆTa°_ê¡õm`Meß|÷§½¾üaA]¤¡ƒ =·8å8”›|;ã¤52–;š)`ÐüI‰GCVÍùP@Òzü¤R946=i6Ÿij¸ùÂJÐò“¼ãÒ€…ý¼–0‘mÖàvÛÂZùrÐÌD%q­ Á{³ Ûø½?@“8° ©¯E¾rÎ{åúÁ$1xã…#‡@ÜQªRØC Ï‘—Øh¿ÝœÄÜp•/kpvLï3*­;a²™¶’2^}Ö%x¢ƒ¬––£„#Ï›:àJòB°ËºÎ÷Z#‚ „Ñ™P˜_%è²G6uÇ„{p‹¦ÂÏä¥up6†À¶ä»rÔ“»ºQ©ž-õô•ú×,´¥`Úm@ü–¼Ÿ©1`wKN -qˆOñ”(áÜW9 þS`•Ôóâß]¤âÂ÷¬œ«b9ÓLª9yg¯É¹çÒÁæfFAaÎÞ™äæNzZéÑXµî\jZœæ,^б*™µÚ¥Ô'Äad—tuKÉî­œu+SQö‘ÉlCJü·'<ûª *ñ°nÇ ÌÔWí‘»EdžþâøS:Ðà¡H@sHQŒ¬Âš<ÚÙûµ¤ëÅÅÂÉ”'Ø IA£\ÄÉ®¹¼Q ¾.ñ‰Þ.AA71ö7XæUì•Aƒ~×Ík@>mÅŠû–O…Sƒ++v]}^"Oh÷¹Àõÿ7 -m¢tÌðßµ¦úñ&®^áÞ:¼A„Oàïž!x¬ìðÕ`ýÈß(\xÌË£¾a?ΞÖíò!"\—ú.jÀ šR ±›-¢?² >ì*°²NgÖ¹òL›en¡¾ZK“忳kÁžt&nS‰fA©&*8­ßI©¦ížl¥EXd£9—ðž÷,Ìá=#²Þ1KÁ_æÝ’·èÅÐi;ÒžÓ§Kž\/Ó˽#¬Ñ#‹áèDbñŸ¦/“J$—òRVH„(£ï5m‘¥™mUŽÜêê­ÁúïíO«2{‹¢YÚL¾h/fuØ\ØÝøÄöÑùÏD(ÂØ ä?ò^j%ºyS=ŸŠx  *³®ÀÁ»ÂUv)ÄtÝÀß1-ƒÈÍTs¨ï"™¨ K«"ÿã­²~îß -0a^ Œ—òÏžei"ØåÀÌ“N>Åd¦kw•ØÌ¶Ž7…©¹M˜ÁŽ k¥d± ƒD´nXˇý¯1 Æ–e( J8²Õ‹#‘ËmÚ‘|ŒáCø•£;(b*•*ÛZ[C0²ç¢<¼„?ú ⎉oØ:‡Äe‘‡øŒ‡ ±ä®RÒ>M/4I#8ÿþ@{ûŸ^Üå2ÿ€EL²ÞÞÎP¸VLv·Ñ â;É:‘ðÄAæa†; œO ½ÊÚR‰— -WO%ÞZŠQÅ’»@ú_«Ù ê1)Øw1úu¢‰‰¡I¦?Ld@*Ù±‘EkhfÀi²LŠÃT YëX©ŸÅRwi+n_žóØÛžVÖ¸^—Ã;Ž#áJÝøEᲈ™Ã\0²”BÙò+ çæ£áNH‚•{;%rWЯÝùè€ÑÚ™vƒk¾X£‡U+O˜'&§â[<÷ÒÆô¢OG×;G´:‹²»^µÒk_j¬7^6d“H±'d -»P²–âq3Q¡Ì@QOw(,ÂÌ<çZò > ÈR™Ré 4{ÑkI¦Ö‡6±fƒ—š†˜€w•hYæ´ý1jF¶bJmLç -ó&ß„â·uë"yX;øeNRѶe+€>A7íüzžð”4“oìtNòÎ6oh:-ýÙQò½`—“¬(´7çp­·±r[ LPŠæ Äip6á6œÈ MšÏÀ”X¾P{O2ŸY=2ðÒª å &¸d«³$Ô„Ê• òRþ‹ ÄI¨â\âu è7½-¸™Hâ®]qµ”Nx]FÄ[_纊:W×ÀÊ>’2“Ç#^TM™ÛŒ¥Ÿ“Ù•õ¹1Àc­³Ù:^<Ó‘£›~F[ô#@T1PÕ˜Z¾n+”äW¥Š¬ ôé¬ÍnØGŒµô{'Œiæ['TèQEÛ‚‚ókQ¤˜«ßÉÈUv–6n•B_6çÂvÙnai w ‡ê¢C.Á\@Ôoo6·ø.è~pØÅi»ê«SôÉæòeÅQ…‡y·d}ä‘6t3({wõZgæºíòGØ-{ížµxR”ÉÞôtBP€÷Bƒ:yöH[öÓe¢P€Õ›BÃO›ÔáØô ‘bê šñ'ð?ůJÍ;Üe!–S¡Ýcl ¢ó”B©BêGŽFdèÎ+eþÄâH(EP‡2ôPBØ…ŠW5¨9€'›ÌŒ÷P¢Ãn ÁìÓîhŠ×wâèmUÂuVs¿˜ÀB¦³Íz*«•sà¢ð•FΙ<ƒè@b!šú¨oûÈT0,À€ã]0ɇìktåF»kv¥¬¢Ú‚3R†îÛN!‘nú‹Ñò±bÐýÌuC$séȪ•©8Éq&ø]‰pçÀIfÁ,eêÍËÔôûHŠRÒGúðãÌ…+”›î°6åaoZô _ŽÇU†Xél"{˜ºöO¥áœ¥V4é“9Ï>Ö&yñú_p:ñgfœµ -h¨¤žD@ñËÐÊ}›Ç¦r–í¿Iªè)Gw-WÊ{'£¤P°jobT&iŽ 6òY¹¾³kp”…mª–vÎ#¹ -~cX ‡W§_ ήמ¡4{ ÚR…–7àYÈ=ûø‰"m”r´­¡SIìZv”mw/ß±¹@wÜá¿è½öaˆX¢5KÍ/ÙæzhÕ«Ž=݆­~^X”2OØ^ûƒ-Ÿ£êÕM Q¯Á’*Wû޹ÕÙ©t…Á˜àn?G\ÚáTŽ_Ùl0á©®ü‚&Æ2kV lÂ' -ºB·¦}QC“ûÀ̲pŸ!‡Í×[ÄÜl@êä­®P¦âÿܲs©§Š%—¡ú‡'0Qbð¡ ¹a†Ö,厾»ZMªLyo޾Ÿ<.VG¯wH?+(›è;¸à~ À,ƒ"\÷9⻢­ÃæIô`dWzîÚ1–þLªdIeJá€j‘Œ»I`˜CÜW”›²-Ìýó3g‹!NR•š|—àzm"æe—àYP‰cüK /ž³P -%»Æ×Yn„‚€g²,+õЏ°˜ŒõÄ©è8یԘ¹Zxˆ’ îœ#ɤ+Oªaáÿ§¤„Šzøôù&´+5ôTÛ(Â}âa\–½œ¶¥<"éc…U×ß\ÔÅœÁÆ*¬ óX7x`JÂLÆ…– §^ýv øA™˜,\Gá€òA¶WÎÙÚ' — i6¯º\g;¼q†ÜÞD”Ó -ËDÁ±ªñïÔ®‡Æß–(rdÁÄù¾Ôñ'Õ•æ(ñÉáoÚåo–‹níu(ª!Dþ€•zu…jµ *ÇÁp ¿Nĵ«ÿ&˜E†Ó)„ršöû= „kÀ£Úý©µ/Ä5.õdL2Æ¢Ã5‹G³‚üø¿.òÛßú‹8˜oµ±²ÇCÖ†•¬ëÕF¼8´Á\’=Û®=‚ý1§?æU´ÿLRš&Tf0§­­¢ð¨\0¼'uñù®£[qP˜Ï±+Ùè'¬K™…‹~m*BcVz¼/-Si8ÓÎa¯t`Cε4cw‘ Š~y‚%РÕð $a#!¬GÁñî,××Þ’w‹¢h˜H¿/*gÖψ~Ö¤ ÛÚ«FIÉLók)êc=Ê[ñ¨–Lò|¿jQ^˜Áp\)3úx؄өÎ,ÏÕТ¶ü=‡œ¹¸eê®ë1œÒu‹ø±DЪ`™=G Bº‚Ïêl¾ÈSM‘:¨ô+›…B‹ñ¬Öæ/‰5~¿Ñ´ éï](û>ý]¯ÝwI*S§bÏZ5v¬¿³° 7¦lÝ‹‘¶›’štEèH-ÀçÃ%…œä˜ßcCõk[Pi M®õPMÖSÁL?•.pû¨åÖæß8+MP¼½lsjà‹z'ý¡0¡srt}•]ƒ9á÷>P]í?R€ŠclÝŽÃMÚ_Öj-¬ý)zcŒÑõË“mßUÐY?ìkU¨Dc5G¹z/ð¬éÀ×%èâl8̓mŠF’ÑÔ>g¥å”¯ŠcùKƒ¡kȳ»çšÎs#Fº„Ú¥MôGžF>erYO˜ÐUt}riTòÍ 7ëê; çx›ÐnŸ—‘õŸå§b£p”?oFa íî²Ìö$Bš¥;í†J2- òiø• ò ÅÛÍø<ñýnøÊæ¿Z¸4è„qAãz1Ò_09ù1‡†’¸F*5¾Î9¸ÈpóÈؘ+"¸ÛL×Ãé§ð¹,|¢˜fB-q·XŒb\áö4겜u©!·Ì•ÃE‚§Ðsš4./[àie4¼1…•ÌDPêJ§JÂ=>—›¥Å}ÜtØeÁ1å«]¶†(>üÚÀu’p8ÛE9þ½u†9ÑwTqÎcª]<¶ -_ -ÿ~1ƒ$K«–yÏ„³sð¼=¸ÒÊUÜ¢G㠉ơȨvÏ^LM±kî?ÌèÙ£üW:•<±³Õê‚, œú~*-%k»ü¿ñŧµs+{ž@» Ž(.& -ø;gv¬Ô«¤—Q“a„1+höDâ%°±bi<^Õ\àÀ«ÒJÁ(¥ön'ôM…dšËµØa?¶!,ň± )ÙùESó¸£j÷ sÞ* -Òʰ»æ3 RL¨ÅØ›!—’)»†ÖŒ¾Nsy£©Ù@h…¢¾ FQÙDh·ç‰e-»Ã™ðÕ°‚DÓ¸5S I!_]8­â!–¶Ž“¦URò¸`r‚†"z´ª'”ñüÖ“zšeKZÍí~­èbÃÖ¹°S›Ì3Nö“'ü©´Uo>:=h=˜ 6D6™Å ”,Z8¿bë£Ue‰ŸdàÉÆQ¥3’læ(²í*ÔëcžFvg¬å+œT£ùlã³€âwuý;â·ò:ŃXNZI–k`OJ8W€YšN¯ý€ºjW§aéî|)!¾* °9ņ€õ=7M²MJ%Ò[ŸÜv`rtÏñáÀè%B]+UÒp‡îJB̤]ø#ŠóÞ ‘Ð:OM0-ðuëUGE F𵕕Î&êU³væ;FàŒU$Þ~ ½}>çtsV.Ú˜ É« Smd£0®ŽœŽ'niS.Þ£¦QS›\Vðð~ƒÛRˆSÉ’a E'LZ)Höu1ŽŸûbY‹gr×Ýq~Ää“BQr_o\”f!˜Ñ—»§ËX_ËÕ•Sí¦I³%Ãý&#ô&yÕÑ×ì0ULw‚“ô&aBØz$N2„ŠèÅC9.5YÇ’ëßä*t´uzß pDYa Q5JàËìD´ºÕ…¯·õ$ÐvùŒUÍøÏ¤ÛR^?•fP(›NŒ¾­]š/ó0ÂNùµê…¥4 ÎZGÊ<K{=ÿ!ÍÔ­ðÅmVX΋‰”†:•Šh-2ÜÍžqcÂÿGXÐxB:nV|¬ìAqKÍeX¡ÛuÅXï»-.dFÙx“k¶OsªƒïÑ| P¡d6§"Ú"…á—l¥º\ͦl¢£˜Xò‡÷áâ<À“¸×'”É’i¢!“¹5Þ Æ0ÞQƒQqï•–«Û.óEqÕ[¨¤šÀK’Õ,>B#X /\i¯,!¦•ŠÒ҄⋟íã éÌu¥ïTJú úúèp|8É‹”$hA(º©³’Û?ü*¸õ8u󽺎ûÃ+Û_æ#[Çùª4‰ËñŸtty‡l:¢Æ°ú[¦îÀ} ; ˉ'¿P5a)Ä ›,ŸÿV‡i°Î‹áC°íÞ·­ößôÝðOÝÞaÅWã[HtÀ¬„ØìàFÐZtã³û -\^¸t-¯FÒ›IŒ%L”‚ÉÉ{»ÏÀËp¬²1\1ÕŽænQ@WÚm‹•+­K “a° àTòsÚ#Œk& Sp0ÒÞçà›Ï¿! %ɾ1),¶œâ´1 -táñšÂ»Øu¼†“˜Hìµ/ÙÍô$Á‰³ÌÒ„Z˜ƒ&ô†@ˆÂñËãá Êu¨®j§›ã·Së;azì-[D((DLËæob%Ûê±CkØõtXØþ 2Æø3¡Ïöu=ØðZòX+˜„b7D"ÏZé#ö›8•Ù¥ÑAÌ"·3䢸c¹y;õÑÇca§†‡Ó³G—¦u„ÏB£‡‰=•bó&zU§R~[à[öCô|HŠœÊy/,ÇåÇ`|ÅñæA—‚}áÄ_¿‡–ºû)Q3oL¯Œñqoº‚&ܘ…UK®\?Á[-Æ™fì­Â*41+D…B©¬k‰=NÚ Ì/eÄK"êæ5}´ãŠÕß’Åôb²•w¥ÃxxÜh#v ±ÿ -w¬M©”’9}ì)Ç&eö˜ù™‰<^컨^#QÑõç¦p¥­£GæF¿ï?,Ùiø§ötÜfqEmtÀï,­Ó$žÍk™Ý}ý³·¨ïê¬ò¹›»zÃòAm`J^(iò…¬‰8ü18ýž 'D[¬œ ¢Öz­±<²\)¸yœ ]ªî‹0ºnÐ!v^/ÃÖ¹þûÿh¾dQG.?í=œ ,£Þ96¸Œ{¶¬èÀª £‚ö‚ÿ|æX³ Cµ GSqcO¢ VŠ—ha ±d/[],ÝÌË!sqoþo|Ö]"—g!ýÌ\Wý—V|vn@Æ>2,#W¶ÌPÄ+L/›ˆÑÐDÉN šÄ! })KMŠþ ÊüYgGýr䃗5A_Ú¿ù ¤ÍgÉìÐÐr¦Ýb®¹å+­œOÔŒ³‰êUÎ1ÛìB¢)˜¨Ü8¥H7þ2ŠH±¹“ùím(CÞa_M'øÙ!6•‰þ˜„Ù¿L¬oÑå1³}Ž«+ Oé8*‹!–JD ž¿–ܧ#‡ób»&™¥[XBÊl¶‘6 €¶5Y°§fy) ¨‘Í– A›™³áÿ p½s’ÕôiKI)i]ù¤Cy× £^ŸY“+R¥ÔD¤<¿Â¤ÛÓÅ u-Þê ªpOô³×ܺjdÀJŠÔ­p,ôðhÿª‚Wé  ”éQ£C½&À“:ÓB×EžÐ—z¬ë×Ô¾ •Zm8…¯}%bÅjô}:sÅ‚ÞÇä_£ö9l¨­†cºÇ_ˆŸÄU?©Á9tè.΃Ðu`CgÐ[‹ Ò»È}4ЉBöáwæ» ‚±ayè5¡“@IÁæå¢R ÿg†è_i€ëjŸL »Ãù =Š›QµD“èÄå žSýi`-±ÓÃÒ…R‡˜_’ÃèO±6C€vPe Ì5 Ir€ˆJüe°È3ZîÎèì½Ý&E~FÑåÑÓ¡”·W)bw%øä;ç`(ÊŒùÉÒ™ƒŸF …NüðIj´ÄUÆ€½š„s¦P., —%ÇÂßóg±W¿ÞH%½ÃKdI–Á,C°ôK ̨¹20#SªÐQ'$d2%·Ò×€íj‘ ¹_W+™ °C‘W§4’)ö‡2EÊÚÞZà*Ó?€úÕ÷±)rR¤bbo4…X¯ ¾GÁ%@IÄ껞ûoàPLõ¨n)F…PfuÂjyr-q”†®ôÿt2ëQ^Ü„æÀÿÞ"i|þKyÄm ×8Üúµnїп*õrqî>ž+PjzžÎp–$2ì4*è)¸>–Ýçz\AÐ Ä|›—B?¢Öhò@p®ÕäZ}‚`œ:‚`åYñ¨¶²Þݪ(©y¨-1+¯ÕXÄØ+סšLäD¯õ†ZSÑ]ä4ZÇ ˜çòòè{CNQÆÛc2˜ü@0®sY¦\iÖs·Ì/hsË*Й¸‹Üª© ÇóÛCÐodGa`†ÙȆp¾Ïå‘»dô'ʶ¤CnpИ?Cgvº¹"8Ÿë/;àIbð2¥N&efm8õJƯ¿¿„FÔÍÖÆÙ²Rðz”1…{W¤èIÉߢçñôþˆ{k"îƒ&Þt'.é@¬€gÔïÙ6ßÃìbjqìZG¬ù¶ ößÓb†ûÌTO#ï¥"ЯÃ)ûrs[Ó÷ÑTbÚïÅë -)ëåƒÝA? y³‚X«ë—ªÃŠPkx×Õ:ø‹3¿BÔP”ÿÕ’Ð}dJpZŪ¢ç ìMŽ©y„©û& >/½Ìš!¸/ góþIŸIƒýq˜Ùý9Q~Èá`ÉÄþg¤wUíP‹\cþ‹5Ånr¿RB e§÷ -–ØÃßÒ)JíG bÌÍË‹ÏQ™?pOb. ƒ.¦$1Ç,sS˯J`®÷¸›yƒOª#ñ~ -VŸ²E|w`F,m¿`ÛKq;´H•þ«ût+,]›…KÐWSå,}£'D›Õ*ãiW¡0ƒUY)§Æµ %š,Þg'rÐ+ñJÊ - 6ÎùHàãV¾m "Ñ`)Ýi¥Ã}•BŒJP§:\=f1Yæ+ÅÅ›°õï·y…ˆppëê.îÖˆ›Å+n'ˆyuµ×ûýÕOH¼è9¾?U€¢„!ßèw®çV¨ïB˜6gú¼‚a>lý²;eÉÄòÿŽ(N›iªæ0C¿é¬co -gf› W±#s| -ªø”¢Ážíw>6¢SûJôqµˆ”AÁì3*¦|£OW|%%¤g@F-;ŽG ft•ºâRis<ÖÁ‰¿‘žC°Ö°R‹µ2^ò#¥n/d¬ïrU!Á˜¢ /ñªØ|DnèÅ>að“]¿ ¾—y0éíìæÖ…ý 3ŒÕs\ŸA¼yoÐ1JÅT Jþkýi`ˆl¨Ê]µ©á|ÍËMš†ªs¯hßò¾#UæõÛ Ó„m3šN´2m†|þÝo\OilH’¼õ¨}ÈPº[Z%ìgÄœÎÎktk22—äãA¯vQ‡â¶ŠÁ:ø¬‡ &ׂ‚æ)z¢àªj\XÖ©²‚ÉPÈÃÇÇì©qàF*×-¿D /,6â|¡ƒ°5)i›ºë‰½¼ÿ3í¤œcb¿š­8Û)8¬}sŠ¢íÜl#VxÉ zI3ž9ÑK'óº\"uì"רüøkäПX¶œ‹iR€Jt¼ÜVÓßžò5ù¤üŸ†;†hxɈaS ÏÈém¼)Pˆ)zÖΚŠFua9„`å;CzÍkõýAßþõí6ñíÉÞf’’ZÛN3¡•Vã¤Êïâ* Ž%÷ÉÏÒ*[fžBË„j2g{HY%Jï”èÒÅšs>|³V§l졌mµµ‡g `-"lgêîë;6½R7Jpqrb/­Ææ§öšüwY¯Ýÿί@L‰SžgG1yÅ8ŒÚ2öD¦iÅ*Ñc×µ¶ˆf]Âu\Ç&):(؆I"§aç.¸ª£D@W`sK{·@¤E!—œÕP+B@L·-.Yb¶=Ç ^ª%j~y‹÷@V-zÅ÷§/‚U*|:{ôçÆ YZKãõVæ4jî2¶lºã2f}!H³¦]ꑃLˆ=*P•î"74é¡y й*„R1!pz¸.kR¼º²jÑ;¾ÿõE0o!ªõúcI+‡Å^´'c¸2 5Ç“ Ê fªS™¿ºþªÍWà†ÏI ÆÍ=°sã&`QþÌ4#%4Cx†ª²l² “ì"›ö„oøŠðVdì•Ød±+ÕªK•FO²¥¦•S¸“.“p´CùšØka¤=É„1w=ëOU eQ¸ûé¯éÏ5ú/ûìÓé00¶©ª¦ÏK¼c²w2NıÎÖ«.Ö"^%0@e4e &†”P†"f#°\pVßv‹C2MÆÄ þ„¡A¾“&R"KöÒO–¢HEÍýá÷?jvb±›y£p¦Ù OyAU˜ƒrà—9‰#Ó‰ZR­öWÃwxY›¯m’ùˆªù­@Æ5Ä·„«TòJÕ6î£mÎ_6 û‘âÄ¡êR I§bwøíw-ùXÆ„vÖ’áVG?U±á %¢&4F7‘UqîØéÀ‰4»o¹ïïuLH£B8”©ÝÆÄZZ‘KÁÊŽŒs“0éJŸ"~£Ñpe’vÅ›76$HO˜øä~‹•×p&©Æz.ˆv È;Ëp6 NSo1à2NÏ•Ì7n‹cí=…züÆUWõªþ<ôA«DÔº}M ¢WlÀ -û;‘yÿ¥añ•˜lуŠüCBóÞK³bª^¡=7¯Ü‹¯>H*· „ËZÌ–/BºóŠNVý†IzÑ)þuX¨F'id»ù¢WhôÈ2Jª*¢ TœÔ5C“Y•x|ë§ŒÿÜëÔÂ?ûÏYÆÙ>L†GqÄÆ‚ætµ¾ßj­ váxiN±%7]ùdJÝÏuø/=þçoˆé/³á -ÚQ¤&Dz®dížå¤}ƒ†‘”Ê«Î^c²x¹ÏÚÀZƒÃ2¬C@”ªêÚ÷D-úì4q Pi©ì„#n×SmoÙÝʩºg(Õ¯ûÕœ^ŽÑg3úA~^²uwžð Ü êáí.ë—µí5õÈö&V70MkÏ@µ/µójÏXaÄi©w4K&ÍLÓ=ÏHmßd´¶[ESŸب_IŽiþ¹xŒÝÓªâË. @WF2Š»PôÞ”¼§ðS Qšé½#Ä÷Æ# -¿÷¦ÍÁäsJµNñ‹Å‚*“Þ¾z¹»Â„¤X«LiOT/:øÜðÉd –]zE†,9~‰œomÿ‹F6 á¶FÅf¢~ÝȬ˜…ÿä&U]”Б:lB¹Ô¿O Ðî/à2ÕÔ9²÷1›!ƒÜ4€‹zA—½2…4&þÔ(¤¾qÊ~#äôG˜«@¹è}}à º<•£Ú®œØè§ ^—ű >›yh³ÆõVÑê’ fiŠ.ãpUDMJ¨Ã°Šr„¥At ¶4ê*70k/ü—àÔܼtPc1Mø]¬gð°â×»Ù‡!qSÏéSŒ>û"†ßi/¥ñs³0jt¸ÇžÂ1%Î,™èÿ! ïUWBm:n¾E¦lN¹·,‡FBµž.¯¬½š`§€ y/p'Þ^Da@E;¹n¦ØÜ4Ÿa{ÛfÓ®†p€ñ ZÿÿOTѲ>ßÍ -VõÖ¤œÈ‘Ÿ?1X }¬O‘uÀ>~i½bã®xqje§×mØ`®^˜™Y2«öÆýiÑ¥²ŽøŸ;×ä„ì (—>·yéù'²zX±Rl#è7Âà°N¶@[¿ƒµ½Ã³Ž  -‡•»€1„0)µ@ ^ÇŽ± 9ivÔŽhî¨pit$ÐÑÈUádôñú’=ªÎÁôÄE„Œ”*'ð®°g´Š±´~ƒpOÍj© -wè°R¯òø˜Ü-1â¶ö f_·0 Rèèñ?lv ì"ü›8’öΣ›u—‡.3x›`ñ„m@ÁÊä¬:.Š”9EK?EÓ;ö4ôõ'Ów ‚° ¬•2í§,’{iz -¸e/Æoñ\ΠÔ—oY´Hf[êÄòZâóÛˆ÷6-m?.]„¢üL?ûqî6{ì²q:Ù}ú³âÈw˳—ÿ©8¯´îe°&Þ×#;¨XÒªD=«Šöš™˜<l8&} ±Q0ùâI]Gr ?ð¥D9»ÇËÞ "œQ¼4XRTO˜#­Ä¹§P93d…åÕ$£>Š&ȬJ†ŠlGÂàÓ›«È?g/™Oy¯œáréiˆ}FÞ-wáOxM¡Œ8©f,GÚu Ð*\ÃJ½ÊÜ’è¶›ï5ÐÖs8ïÎßæ÷¯}Jñ¨•›Š~„ÔKIÞv·¬b2õæY“¤­±ùGïЬŠetŠB»´2ðìT“[†³¹éz˜Ê*@ J¦­+§*'iÊ=šW»WaÐ -Ùç™ëUh±k^¸z~üeLxo$ Í~¡ÆÏÚÔk[õ=–ß;ogç°R¯Í|Þ0Ÿ ÏÍnD߇„UÈ~È]@XoMtÓç@r6E4¬à« Ïtû!«’XÔÃøk(ã7TCh7QØÉ–vG)ôq°ìLhHàÜlùÆ'ŒØ¿N„°¸1„¨ƒíÞtoƒIáëAÖÈ -F÷£ä0ç w6¶S?ͳM›*¯ÊhŽ…¬Rü§¸ÕŽšL0s '˜÷Pv*iLNŽ“u•jXÿCxrªDâˆ&t¤ƒÅõEv•²s -aƒFc4áq±â†z_Cö+ï4ˆ[® dÆè!& »\}ª¹Œd–€K˜¿UCcò2¯\ÿŠ2z(ÊfaÄô溂䈌„þ™îR+»Di© -q~´ÞN1¢ø©qÁ^Ým²]uVºrZav4¸TÀe¤£±L6Ys¸3å6TåÈÓjì2®—ÔØkÂPÌCUÔÛ{$º”³ê„³³b­Î§Å™k³91ÍïˆÃä V©¹Lð¥\„¼ehxôâ!Š7¶ˆäcÄ¥‰èŽUˆr¨9*m@Û-ÀÊZK‹nà@ÕÌùȈ_@ -œ.ƒ^O€Þ*\JÌNÃ(áaªÕ-Æ2'\PI@^Â,E”…WO8„(ä(e#tE) mˆR^~…{ú‡Ó -´-||ḠüÈ+ÀÀA}<ƒ6ŽäÞC cÂ8£=г6sà›?¯Iwî´$¨+á¼>*Ñ81Þªw>×<Íè ¾§c›{ödœ"ÔN¾OoŸOIc$ÿçðTDZŸ:e·B>¸c¨ëËYëﱈŠ÷á˶/˜ç¦ /@úÙÿ¼Ùþ…dÌîÈÞŸóᡇäG~ã~šWpœ[eŠA›%c§™jÁÍ{·`¢Ðùô—3˜#kó86ƒ†é‡Å ýÊζ=“WV‘_ØYœ`ÝFw¶^K3X(le“µ†y°¿Fÿáåªe{ŸÞ×v(/†jÏÓç…/Þd ³\LÍÍZzpÁÒ4>(í$Ǫó§Ç#ÅW`ڵĖvÐBS)l¢Á°*R³¹ÑWéâ[n»Íí¤HîƒO­üDiºs÷ ¢>*’|PÚÌ9qÖ¬Cõ“vó©zR¯S2Û5ÀH‹4îµ3ryñAxÒó“|Ñcžwy9vö8z‘ߘkʱc£D7 [Ä‘<èúa_y U Œ’0Û5&¦Ùÿú_VElÊŒ}µâh-î_ÿ^!÷±Lz–§‹J2ys¤ƒ‹,á£%‰»%Iº¤­—t~Iœ}ÏF¬µySÙ–ø3f]¾í™m)^R -àÁuˆÛƒÜ˜†Ä ö_13±à¨ ÜhkL"ð¯*Qú%{2%™'¥n ‚÷ÀÚìñ,Eý­!û…Þ‘}sb\yÙF`²»ÿðK†;}Ø]Mgy¢å½áóbógk¿AÁÙ¹8›€sd£*&,EöójNÌYƒs ¥ ¢'ûÕs3Õd-²RÓÕ„%XúŠŠ~|ÐqõëØŸ&ôœ ýäÓ? œÉA©=wX>†þÔà[yðêßEŸBÿÿeæî+ĵ&§´ú—Ž…Yâ¯7øÈäì>“• ±/í¤4néœI¶ö_E2»-Í'ë<Üý£uÖ"ïÀn2z³(~´ë-Ä‚7Š»/ -q`„W±Šy »×¸ -b­¸“ëW*!¼Ö‹Þ }”ŸÇËz‘æ÷âÓ&\<]³\ËPŠ*ʵ:ù–>Xj0uF$Ö&Ú±VIbhê!rÐÁ oËÇ+:ÄZ» *euž±ÔPI¦>‡cþÐq‘5â•qð4¸è%vlcZ¸ýlA¶Âp³ÛÙÌð7‚–j!ŽˆÊ×á xç0Ø8¹Ð°Â$1aÝž7¾óŠ-a !)× <ï€Ç׃¶Ü1Ä\†Ã„'HëA‰5¬˜Z™p¼‚D½zAèï¾ûYÏiòÈ/ïØY‚‰†Ýš~ñŽ‚‚0D>™›¼iZ\D¦4ÄÕ–áPzÿ6¼CÅ}ÞYÎ-^š  -Ø„ýÌ[˼(œÎ“KˆÎ.bËY–w¯òÖ”w‹ò~€põöÑ´|IÀ=| ÌP!(6„0¬$«JtÃù#žqƒæF9.ÔNÜøhZ#{†uÛ¸ÚkÜ tq2Ô¡ã´¬J;бƒ®8Ýš›âTQÜ7;óN·¸c•vf‡²``§<{º³Œœ“NáÒ'Üí¡˜{ýàx:8‰Ø±lp'ƒËؾӛ/»à2©àÞLn¬’cBÊõf@ßÁa·0íôª™liÜw/¥"ú¸uª=…á?3‚•€' ] [ÆÒ6(ãYñö½k"lõ½ä„Öû't*qšÀȄȥ8§"4ž"Pƒ‚1£&2ï¿´´¢z—| ʧyä„ö×!¸‰û÷¿í+f6EF÷âS߉^)– UZ0¥;ñ­#dŒV ƒ&.E×Õ›«‚7R§ëôztÑР󜛈=޵‚¹¡±Á:ÃGüjÑN謋¹£BÀpÝî1ÒP,WYi#αOIÅ 49§aEw¢oQÛ£+•ÙÌŸƒ¬‡VLÍÈ:¤e:éiLäºä* nj(µMÿÛ0¬ÒìA©L4Oðl¯SI ‰„ #¹4’\ÛmÒÚ £äL“\ˆWüÎJÈ‚CéîÁdhz’¢“x9I„“ä[°IƒX IÚLÚ‘IWL: ˜´à’¬–ôÁ’ÆVÒ$•tJIPÒ¸“tdLÒIúyHHImˆ$«¤z Hzô‡#39ùãÿާÿÙK/ö™J¦ÔÙçGÔ¾÷¾•^AÖK¥oaq{z®L€5ü~€i}¹Q…Ü Š2ÞØ“£/öc8>›Õ‡¬Ó}|ˆ¿„zÏ„"à2™KNÑPoB(|+¡WIÉïA‰Å1DÏRDd{@‘&²³%ÃÀ­IùƒÈŽÌë#bd0Ú Ü™1³úÌõ1‚7 -<Ü”…WºÞ¼6± OLœˆ*<æOWa‚.À¨€Búí/¡E½"@ÆÇñQ“‹"q“¹6€Ï6või’ªZ5#ƒ/[€,©[}çüò 3y´‚mÀsN¼ïÝ•þº  PµðXG—Änäò±ÒÄ5P?†S‚M‰7[±\Z$ÁÑÇt=sw?ûèFx~&‰â>Ã9–“.#9|ùJR¼å óÑÓãY«9ÓqüB>3“SÛ7%Ô§Ù¹‡¨à¼ºÕo$D‡áùÐ! U Dl -@=P· }ïÊwL–A*úv ¼Œ¸KÛ³¾£/Ö+, -|a<€ê…eÑ dàÄÑ4†Ç‚í€éë‚J èbâ -çâÎ\Ä”ráí)(òŒ xä‚ZôqCH*AB.®ÌÅT·¿…Ûó´¶}ãÚêBcVò¢Ø-ï_Ç{ oüî¯Ãv7”ihuàÜåh®w<ÎÎB t¼ÅEeø_Õ¥nwxºX´à4? qX³æ¿ù|2ÿÐó°'ùjêr9€š÷Ç^\Fµ8ËuU¡ÒS~0[Q•íp'ÓvóSZám½žý3Û忲+Rý øêFDø.ð£øÈb¬/Þ,¸²,Ý!}ò·³¾Â¯ÍŒÆ3‚j¿í|¸ùDÔlj§@óÖÆpN{¡žþÿÒ@§È$zìßEÞÙ432Ñ…ìѱ;—lîÌ<ü~4:í2Ö 4@M¬`Ý/Óá— µþÖazäú?ûÊÒ'±­wÜàú?Ø?5„õ™~…hzYÒSÀ?Ã?ŒZ «^‘]·‘, ËúÀ>ÂØ'ÕÝrûûõ¾€èzCñü8ÏDÛÍŒ *Bã€i>ˆ/ÛZªÂÒ½Èå DâÖ.`ùDz­ÚKY/cÞ~‡?±Ðˆüü÷OÓE­v½ò…ÑÃX ù^|õ÷°îXqnªM•ÜÐ -{(G¡©¨Z†‚ ÊÝý¸HØþ•©_&†=Ô¯J‹›m-Š'­pc'¨ÙÀÓ4—c ™!wH2ÊÛô÷ öÖÍu¾ €M‰1þŠáñˆ±MMN¤5Κ€Gåp„µ2x¶%¢—cBW\—XU*³~›D:>u&—,§©¶O”€~ôž3ÆD¡ -ìÛ€=„ÐÖ‘¶B=`ÊMã¾-É3#³ؾýÙµ‰MlÜÀCn"Êm -´bwn-t›Vèu©·×Âá[ò™Ž÷¼x‹5·È;wkê+ç5o¦Î‚Loœ ‚ß;ÍÊ5­¾ÄR¸æ€Qêd€ˆ(ˆå½ÅB«8« » žcX<—©¸Hl`v%¤Åg¤XpZO¶°{)ÕH5ú¹M­qdWˆÿJZQ¸ i¡ÐÕw:î¡åKÁÆa*ù«—AcXôüK× @ºüO+\1Jl„’Jzæþ_çzš/óÐ•É Òó:ŒÔÁi¡[øç÷¦&d ªïŽ!í ~ƒZl)æQ/,w÷ÊÇË$,ó¨ -9ŒiX„\áîôu³ÄÁ¿‚¬aI©Z†a/{jÇã5zÜP0L]Àí4Róň½}}çj[òÇdò?6¾^K.„b«oH—û ‡0–(…’ûÆoÄâæ!Ì£R!¤ñ¡ `¤Aì€sî.œ dKtêd7›,eÂu¬èÂà/ƒú¸áþp$ÿðìÔÿÉ*@¿ŽD|q"RŠ× ¤ sOP—ô©Aáo_±ãcÃO¨7OSc·PXÁµ„À¯µYZ}`xö–z)­ 'ØwU ô°1eh¦‹üŠö¦†,d`ÖD^²—ª’Àf•6ô˜¾hËÿ†x§¦ÿ°·®oŒÉïÎ2½@ ä–f9ÐÖ›¿“þA­ˆ‘±>¡Ý`ˆXkgÅ!óx»—¸ÜsªVKÄEèò}þ+“†6SJÍöâvŒÄŸ¿·<…ʲÄ{ ÁÞô¨·Ì”Þ«¾~¿£¬»¢]bµ?ðª<ž —­QgC ª¹ I8¡Íõ*Y!ƒA³»Æ[òpFÄYɧA–{Ø“~³éçŽZš®{g½9Ýu'p$ª7Vw²+g´’ÆI³¢Q«’ŠBø+„p™T_%Ùqe7ŸîÇìröüêJû'ޙӦ>/^èsÝ+Q ahñÚG¢é-I¡Ú8ŒZÃ%$øŽÛÃÊÒœõ³8ÞuöcrÞFæïï‚‹ÂùRßtH»úãèवª"­õY¾KrŽƒž9WZ>ÀxÈ ÿ`ý÷>b ;r<´ -0xŸ¸±Í‰FL‘xkD§Éánþ౫ø¤®ý -¯a;œdñæÛ4êÜÕSÙ&¸ô7óéG„ÌÀ³ðU"Œ…v¨f÷üçjÞYòc ö:Ô+R6*v~%-ó -_/ãÖLs¾PÎÑV_ÿä U믓¢jùWïÔñŸà9é§Mý£=ðü; -¸fQ WRé&þ‰ñ>º´lþ·‚)e’)¥ä¸$¥»7ûRqe,Þ£¶î‡êV‰[äNz{ıôE#½=!‰G‹]ÊÔsßr²øÝß•ÈâqM£Ä]'Ìcö 1ÑÕ{ “?*i‘r‰Ù¼z14¹|ð‰Xf”OÝ_‘ÄžYæÉ­PyQÄ>nd±ÉŒ'âER¤ªŠâ#N\…ÈôR+ÕHÅêïâ×½7üÎØ¾ø="åF½bÆê„'©U—ò3› •úkŒ)ž}u^œyo¸‰Wôf›ÎäE8 ƒb"Û°Ò]ZãXÌŽ1JºIO_o—•ÛGÒn«mÛeŸHaÛŽ¡8½Ìã2V³«ñJjd_5Zs‹ª¤¨æu6Y8Œ,>ÅOI=ÎP2‘¨))’JJF£bÑâ%‹™¼*âÐÂm|d4ö×’ø{uFê—’2¥ä+›bþ™MÖ -_Rókh§Š}3›gJmáÌ"Ÿ5FRB^<ŒlÜèA/4•@2¨dIJSM’stí O”ïžRÞ‡=²ZR¥ØhÛÛ5& -5Néñoây!ž1Høa?º¯J¼BOKTc>|L£Rå†(›­„U¦ A‹”\â:8x—7¸…o!Sœ$N.ÚDfPFrñJIÌ—¸Ë3ò[š½”Š™ZÍÉ –kÜüJi1~Qh&N9•Ò¤´Wh´ MBÊU Kp•!‹H™”HLÄàƒä’àê#óxÇ2’ ÙaÝquv  ŒÔ˜8ü.¾òz‚7G1ï—ü@ã·±kHuE ÅåbÇÌÔº>¤‰>¨AÈ5j’„\]3n#͘[V…†Ê"êÌ)r£:3H¢JQ­(F˜ù›.«†yrURLõ5‡¥œç•¬¹HzHÚˆŒµ#5d¤VªÖ˜¬Õ‰ES{T­Ssù]—ìkdé$…H4–i ’JKYªÉ¡OJÄÐph²$ê9Ѧ›®ò6%Â?¸N:¯ñ™0¤jÕ¤æE -Íš×794 Ó~ÎT¯Ocè4£ÏŒFæ_G1"õõ¾W¥–¿+Eñ÷D„øŠ7Âx ’Þ VÄ{?^Çqu5$¾,^OZ÷«ž ÕûÕ ¿ñKãžÞÁ‡t¯ ­C"1ERäŽ&ÒžN Y‰Çá(‰Ô÷*‘òl¤˜ŠQq/ËbŒ­’Õ|§Œv)øM*n‘’í¶%h¶¥åzBô[É*‚DŠV¡)í“ÙÄ0[ŸHͬ¡“cdT'YhF¦³è¹y\|÷­W£¿êM_of¤*ï‰Ã·#^$‹ Š¥Ô×+îÜù²¿íoÇ -¢˜ÎS7®éT¡\Ý[§(Ñ_;ýE1 û…ÄúkߺƒVjf”òi1yô.#RT+תˆ ²¼fÎÕXè%BKIŒXQ RŠÆMZcí!R+ǨCvÇdªKã04%‰|Å™*,£±¢"4 -CФHz¹PüÁ -œ ñÒY/Q8mJý¬Ñ*{Ð-õ˜„ší׌ÖÚdŠ7)ö,B¤+Šw6¤HR_ˆÐlÖ ‘ç4þÊ,ÙAV´ÆŽ*JâTŠÙaµâ3® šð MLl*øi˜àzzŒ¥¸i” -Ù/ÊŠFt ±/Ù4ÎȃÇ2:%Nå>šœmö#/r‰^h!Úd£)©rl×XrÓ Ž ß@\~Ábà›B´VÿMA‰õ`BÔˆ ;( çýË_'¦ž:3}ÍEŠâó?D¾±B¹žöD–7ª06òÂ>^¨p!ÊaÆ€Û< ÀÄÃQÁ ¹íœZz,ÿHzHàÅw°&ÊÕ¹YÁÕ`fj«Y³(©­9ˆ“ÄMKÒ®­ Š}P„8M(x€ HL:´ù†Õ¼T¹Ô4+ÇY«• 'ƒq5¨ÖMS.jШ³ˆ$ è¦E0È>Âþ72\ ¶²RƒW¨Ò`ªø¡¶jÅpÚ ÑS‚i½ éf@®ºÊ€‚#ìO3¼Îþ4`ÁbÊ(îX¨N7ζ\«\³Y°uÖ¥ÆœÖ -Ó ä­XB4 ¢â ‹ÈPP¾ž&L,1pH\ÙˆÞ‹dµ&ÆŠw2<9Ä8¦®î¡¶§´ñ5 e“¤©·T߯ x Á4P‚\àE€BhÀ",P€‚@à  ÐÀ0px p8à ( `€J Œ@°@8@B0‚X°@ 6 t ðÀ. À€^(HðÀ(ЀN <  X Ä«Š0CÆ·O"ªà€Uõ—WÁ«ì>ôáqŠèÕ\æ³S…„˜¢eÜü.Óä´Øë4@Ð\Š^ ‰©ó)†ÌèQeŒJíãÜ–¨Ò¶Þ¤},å0ƒ,ˆ|ìÊšKuF[T-!M1Aºe°÷ U 3þÉGhá— ¿d¸‚Âa0\T|)]HD,4ôI“¾˜ZtQsa/Êœñ_›ºŒ4ÎX4U°£/¤F±²¬2OjÂZ+¥'¬ÅÈ[ŽàX/]Sá"¯Cò)­(4 -ŽgR“™¿hQ+-´ÙiÈ ’Ñ$CB"5ÉY›±"4ÓLe^ù$Îm’g>¬LJñ»΋{ÑO§ΠuŸ*S1Ìw^gŸ7#Òþ¼OX桾αQ$¼÷LüØ%Þ3ô0Fç„4-fæ›Ïüóù7Á'² IæûÈÇÇ>)wõqÂ|Ñ[FöE^Ô[(o,yòÂ\…vÜæ×Ó­rUd¦úº÷¤a÷aò&__›ÈßväU‰#9øãǧæô‡8ž„t’„³’^C¿tÆK¯  +V ¤bL­C4ñ%Äùd4Hýq&1´·8ŪªCGS¯y¼PgVÆè/±Ž¸{36j²òF1ݤ„½FºI$s"ujˆ¾?šÈÕ5 ¿¤9Jœ#i’¾mkn$z[“$».éõq×wI<2Äžm±9q9(¡F»Æ3¨Äk”WÕf FÉ‚G¥X&¦&«¨L3jQ¼ëF^5%7õ÷H!®ž"®ÝeªÕ‚k{‡pBŠªAM ­Â3j4C\Ì5ת‹S”ÖéĤµÓ–ÑX‘ÏÊ–MV -vkH•õðÚ0„!¯q Rõ.5"«Sdf²©Ï^t´ýòLè3úcö¡ëÙ?#"š •æ“šgHûŒ„âKUh©mÆÁR„ ÊG§éìÂ?.2‹›©aMÈßTˆubg…xÆmb‰kîÇá#‹†dGê0QÄö>B?â¶I5Œ5Ržuµ;B_i©Ï%žxyU?EÊ­±˜¨Q¥R¸B4…ÔŒB*j#¡M»ÌÄD’ƒ«¿Ê¿yP¤ˆ ß"!µÁ_¥ò†ÐàS!4jÙ\ÄLŒ‡f¤‚*Âü®ëkIÕ3ö´Ùø\Õ£2ö?â'¶&¥NA¬ B´é7Ç)ŽñþðÏàQ$L’”ïHM­fÂ"/’5¼sLÃ/2%FWµ’ -Ñ¡P”1Db|ϣשfUd%åà ¨jRJЋj–ÅÔª ´‰¹6T5~ÂÄ„JUýD_c¹êéÆNˆAäL‹Ê©… ¢§c*¾V¥„ª9ˆUtq ùš*†¼Å‰ï^žU lÓÚcd ìAŠìqip¥ÂÊ»Kdb|9¨Sšœ^&3œtaÌèãÚ’àX$HY­¹½ ;ÄÁzVp—ÇTË<•‹hQí ¨µÌŸ–J3wŒgÅWESI•$­()¡8hêáÁNÄÌUqT¤XVøl2žÐH<.mµ2ße•(áGq)Ò:‹èE)·N‹S椮^% þ¦Þ¤‚Eá_”H½ÍR6F£¨›R²@´Yw¹ëeÃkåZ%Õ*¨oa=[#VU&ØÚO ãCÍ_cDN¤H#ž¶„Î9)ŠÞ2OdÀŠ1J­û–Œ#ƒ¡2˜ÿ¯WL«8# -"Ž\SæLÁñŸQüܳ9¨nCgœ"â; +SAç^¦W9RHO5eòŒT?fþlcÕL*a bÐÃjX~X1rÃë^®2´ˆZ-SX$1±âŒ×z/õPÛCLôú7Q‘ßÌ=⩘S™"¯Õ¦Ô¾¦žŸ‹”ydlæ•BÄé˜Fê -JèĦ„ú9ñó… jœRspZ„ˆœP 2ý8Åuj$ v„‚”씨³v‡m*Ú -ê±0³¡XƒÐ¨Š3œÅ"T,Î/>¢j‘;<&‚ì!j×g>žYªBSöA™ÂÇ3y,ôÐ ÓEr -šÎ5#XV2˜Ù©z^%N–£º)XÞü„ìO?5tñS³‡á3”9-f˜a9¡† ?mB3Œ8ÍE ™]ðiÀ0p¥<˜Ì1ÌEÁa„ -q„ó_C Rßpâû!š!‘ê‡$`ÀSb­Â‰ØˆD$FÃ-ŒØ µ–(Ä -Ed„C» („È4l|˜ÌV¼. ³âY¬áJ*Ùr°r{H'1€„[ .ºn’‹#Aе”¼xÒ©ªè©PUŒhˆ “ -›ÛѪFÄ„F}B£]ÐŽ  ƒƒ*ŒÃÔà $Ñ -$"£]P&ÚQÄE(Ú±ŸF4 -•Ú,ÐEÙ– [ñ"á“0ûg ¶RaVz •ý8qê Ašë¬hc»ÀÑ@¶ H’ÀNU» $ͳ] ¬/°] ,áÎh8I­WθY$Ç«aaæC™Ëà ô@Œ¨“ŠdM(×y(¶ ^ê˜('"Z}Ø$¬´„qdö¢0dËÀÚ(°•ÑÔ¾Áí˜TnÛ.˜³…oµ†YU×¶•Î+LÛCDèŸÛ’$E“ãì’e 4~„vK‚]™`»Ô†HTð¸±Vq¨*ˆ•ËhîxÑ,Æcûå 3ïÈ63)–&oaÆCá^…q»`AÉG‹Œ FQ˜în”t *—;ÝåŠB: ã -åvÁB†HXA»€hÀ@öËTР-S™U¸ -‹žÂDùv:uЍHòMfb¦:p.r÷0a:±@îteDže™h1J”V8©¼í‚`MCDg(âÐ*Q-Fø8ÕHŠ@U¨È·FWÀ@¤‚y=ê¡NÕ›d¸Y)ˆÁpfír͇d/«„›6 b ©%œøèIäÜUšYéØ'‰t&Д^õðj8KµÇpáãGðÌl>D±àp 3t -BúÃg ÙLø´2¡„<&óC.Bݦ³ æ¡^z-|ææÈâr½U2é„"Ó„š‡ºézU™)»À€æ@g¢† ÓY¶!ˆøH4L-•þžS"óE=œCâjnaÔµ -3Å0ÓÊWr‰ -ÍtÎ.@6€4Àñ‰I…œƒê¦ÈUn˜ PÀ`]ÔáˆÁS´? mSŒZœÍ—éƒÁü¤gL è6´ €ˆÀ -(`ÀÐÜ!/ªœ>µàX¤…9‚4 H°ƒÈÂ…­ ŒW÷íf ©ó?,6äá… ÍH'šRèEƶý²¬ ]0©—zðe œ žªº´D³)WUØvP 5AFÐÒ#DݎÞš@Å*ì â0¶ÌÊAN 1¨ð £PŠp*ÑäË<¯X­˜f•šš5aN˜’)ª êR-’À¡ÈýOæ­š²:W—ÝÐ0Œ ¡‘š‘ä@賫œ"â¼&´à`åx`ר£ƒ¾®1Уu½Z)SÑAIž·2è²ÇêÀƒá‰^%®[|Ž Í£ÆáEæ©Dñ‘0u(ƒPWa(Ô9°X¯8'ŒQ!ÒWJ¤ÏÁÌ#«xùe" -“Q jÛBÈzMœ(òŠŠèù"™z(^êåÿæAPMJêà[ð´—ÈNßëà -(¡È´ˆ =¹£]s…AœàI-2d‡¥q‘9 MŒ¾ŠÜ%t(% žƒ -*¨à§ì`ah$„ösíD O4¬¦bRmRKL¢›òî`*âÒ¢°‚…%ñU,­™¨t7%v5ã`h"ÁˆXŽö—h0|.‰‚!Q€t|Ð!¤ @@B¢/mÆ—®ÒDþÛ]EÕÍ¡¹àdyAJøƒ‡8/T9Â1_w]ÝÓN8¯ßaƒ5Í3D±—¥ ÞU.–\ÕÙW é`Ä#Èñ˜G#¥=ÙWÅâ78îAåçÕKÇBYîb¿idÂ÷ “B@A9`oFàc¹¯ü\ir»H_ˆæÊ„œy?¼·Y>Ù›E<Â-â¿©Å •ˆr-ïòØ{Ä?ƒYà¿ùj”ùí,ñ¿[XÅyCA²"Cz¾|´bϬ°­@r|}Rt=G‚”¦fÏIœ(”w¬‹+´XT-FW'P;ï o[Y¡}×  W'=ÖÎÇQ7$b£‹! Ûf2Ÿ®…~Ѓª®<üGójdž‘¬ñ3L5c5£Ôn¹)5@ xbz0PRŠèZ†qi½NĆ% Ñ๢»8OF6&ÕÎw$×Ðm¥Ó&0¨!QN±REbè1’HÛìQšUB4Îð¸(®ôrRùïjÌ@-·Ec_ð²âcœ‡8¦½k ‘Ì®‹ˆjª+hy`Y°<ÎÕ*CÇ/U¢ž ô'º¸²”†¢B傈öåÞ›¢‘‹KËMÍDê?Ýà•AŸyè*.†sNzJÉ/>¼;‰Ø?œé ÚYÀÉB´òŽŽ ”µ‘Å ÂÔ1ÉǪ'dP³\òB…Î…A©¨wr¾PÖµ4P‘ È-©uh·Ì£O²;ºù»«/t -+&5ï^}­Øö«£‘¥ëFÈðóÿs ·W\™ŠC€rW•¦ª.ááƒÔ—ê"y>šÖG›rÃ~6º/©>TWÌ€åQÒXûÙmêq‰å¡G…ôèî°ËGë(|Ò#?Å7Ô»|AX/D¯¡ewÕf®duˆp},×7Ä'wj¡` 6ŽŸj‹s5Î& sy bø«Zu· fNK”24œ¡X‘;¶^-vGO®;xKœYŸÊ”À0Zð!CO™k*•ÌõOý¸×‚?ScYÑK‡NWöG‡ˆm/$7Ç^n,¢DðÏ&ªõr~è´ÿÚdýõ -%¿ÿ¶QrR(Åô^ЧݎG‚MDzŰ…›±k-Š -_;umäòNü¿8’å¡z‰oSJ!q¶Õíÿ†J.¼'"Ož®ØøiüÉ2J½è”Wá`È‚+ŠÏp ‚ïô4@Ž}\e\¤¡‚ö)êÜk³ùmµHÞ1æ9SÄÇÒ·‹èx'Ú8è|ê8w^.ázzÓY˜ÐÆòÃ?-NE,_364,#è£@Ä&’IÍcÖàuÖGeÖüpï7ŠƒÇšXÔÙç3A{È=W4u&õójÛB¨;âØfUm…ó½7‡­ùSîn¨ÉèíÉæLž—ÂìO+GD)9‘ç= f>W«ÎÆÑÜûYµD@X#¶Ò¤;›$:›×¤ Ni“TqݼK¿½<{vÿmïí2_ÆGid6ØÅ¨þ®¸k¡qù˜¦v‹wÿ±ÊÎ$Ý]Ó¬eŒ:øÌAÔ'¤ËÙûÎîo-½´p;€Þ@záÔé_¡ep-kæËÞ4¡¿w:ˆ×">3wšýæ,+U²KE΋±™Û£Þ¶ ÇBfÝðáÕ‚2¬îÕÚôäîj·¹™œjýï· ËP~‹-µÆ6dŒ ybªM‰êŠ+O*‰P1®/ùZ“>B Ÿð<²ÿ}«ñqByõ2½¯Añá@ð»ÀÁÛ³4B1~/Ó[Sø›øƒN©q’ÙMxúxr‰î0¼ý`Á*<3]Ò…ê0ïáL§£/^G¨1){‘L>³Ç}|ó “€‹ ÿlhæÆqÈÆ‘”Zÿß{ ƒ‚J­&\,ã{Ïž(ä£!{äß=…\ûÁúà83ø‡Þnh{G¦d³(·oÚûF¦P O°Î¥Þn„QŸÒéLÄɤ ÿÄ"¤~ ƒ?ñ¦¥®³1ؘ9°lWöKŸ-(uÊM(ädŠ'Dq÷þó.ÇŒšE™¡.¿…\$wÉÒ/Žõ`+ÈÛ6Çе9[ž«É$GH¯V6ë1[ħ/Òïr]9±s[–…àMAÕ,HÖþйþ·üÚ¿lƹ¦%fÿ†ûgè}~ÏRîÍ~Bƒ‡¾¯;…B†áDç¬e{ÊÝZW‘K:³ƒÈRM¦ Ù‹BRÔK‰íÌh®?=r„|E§®(´ä¤ ®$ž¦»œ2”Qõ[˜•}7’EXœìrÐIéƒÛKÜžÜæÎ¦ûù6ÒgZ8›Éƒ×>ˆ“)Ç0lyê¤ì¿þdç9½dƒ'£f55¤x‘:žþæ9‘¸AÑ8ì°­›Gö8zÉt/C>”ªÉ“!­Ñu”`Wõ³€½ø\a•;ª"£Ù÷n.„÷CÊDO¡9^YD é7ø“@Ê}#ó”팻\ütüm Ö—““83ð= «Ó í4IxK­~h­ÆÅÌûûT{¤jP öœ4]Ç_’¨qÒÆµ–Mù’B þ{„^7s×æÛ–â°È˜^½Î›ullÝA²3>…(KzN§°n蔈ÿowŽ?bhv`‰q þãÜÙVX£"ésZ-¨ŽHe¸¹þšFüvÏêÝM—pÒA²@Þ%e‡ÀJê÷Yz -õ˜áXî ”mv7ÿbsPôg*O©]ËXº,xì¸)“™Èc.¬‰{PP¤œYw³ÚÜÃR,øäÐÚ…÷„Bt㘋²ŠÀ;ÿ•½Íì?ª]’§]^d›@Òi¯¬…÷÷df¾áPÜJÏßÏy[sxÉï§ñÊôÌ>&}OµðþJ.ô™Š<˜g -=zš*g“/ËÎcõØÓ/w´2AõRpÒoh‚, rXŒ¹ß–&’@x*Ë+Yï.Ûå&äù¦íõˆÕ›JMwtKð̇ôf¡Ž*11³4"ÜÒgh®Eæ*w[‘@ò(cùtZJXÕà?2\gJ¦Ÿ ”Нfuä-ÀÇe´ÈÎ( -àqUÙ?åv ÌãGÉ …úsEÏ œx<êŠGê'¨—Šª 7»ºBZ T†·)ãDø6wyH›sVÚ,â4Bމ×Üc*=Z6‡Ãj´ŸR‚tÆ˜Ùæç0bÎ U§ú´Ið…³ÜûØü{p ýˆPJ_B¡ÒVnù1^ŸÉù¡›\Q<…5õÿ¨irÒ·P¯.>²øl9°ˆ+näÏhõÕ_T“‚5Z᜾ÙH·€¥=a|¦TUß-ãƒmP‡nòsø)\[$f‹E6R˜"'Ý¥½S tÈóîns7ÿmåôÔìŠVƒ!à¼\RPEMåã]1P?;àœxriH›Óž?`o‡¹¥±›ú& ¤:ô -Räôxy ŠÈ‡Ýj«SئÖ•ª9­ÊšÄØ]æ‰ÎAƤ¼­Œ2½ŠAÛ*'Z0N~Œ'(ò˜5Ó[œ¾}Çä±^ˆ¤‰~h - -≩d⨗'mì³¼ ‚Ôšx](ø³N4@n´§Sò…<ýÙç¦)# ˆÈ¤°fé_pmâ’\/j×ñµF&'nÐ ø›_hS$€˜çÉû^ùœ«µ„îZKÄîßåq]R×-²úS8ÕíæÄ -6µ*­J˜ |»Í9¤?Îdü÷‡§ |V`Ÿ²~ˆj¨‰ÊéYDìEÁÒšãl áÞÑ,Þû{éì¾CS½ð Å0S+KeŠû…hcSby -¨®ÿá/TØ`œHÅu˜ ߥ’/8O±Ø"±> öv¦e­\”cW9ÊZ~ -êæ›ºñîÂÜŒ™ä£¹'®‹ - -Áýé±h=A­¸™Òdw€½™/C°…À$õù°Ò˜a4t6¤F¢Ž›¾WUžxD!5è ½ò«¬o„ª÷¤Æ ’F$ÿvßUÛâcY§¶þ…‰œ_ñC#3ãÚIÌF,[Š‚’/áIU•«î¡.˜O`žû‰õ0v£Òk ›ª¼Œã~à߆ãbqX"e¦$‘B¨L‰Mo•õ -3‡Yd%ùé‚Fë¶d´·ÏL-bíèÒOÊ÷Œ ! -Ë5à‘ëISFs?ØXGí!ïI̳Tᥠ-³”H¹±vÕ#AÉ&)ùTô領ã“Cý³YÀpí OK wô-¡¢,´IJºö‘ßè'²]yŒK$ë,"t5ÿ ªE7+ºJùÎÉ0,=tpÿQæ>“m) -¼þ‰PódyqCáÂ(4œ…LãÂbÅ:ª­ð£å²´pcÓµBN©Ž—ç„7W€ ÏÒ£|²Äò˜vÅîÕ7}ÆìLyM#¦D“ZB†˜~?æÕ|SF–þgjí"É{8"¬,îëK[ëW ÄÑ€÷(Ø*ÁIµ5ËNÁ–]ˆ›Žÿñ×`øOì(l ˆ“è?D­Õ_\6ÆJ¿O²lXïHe“Þ¬Š–hQ˜ßH$ò ÙÜ0\.ÈFKÀÄý3®Ñ> MM“~p9F?—õd“Ø ?‚yæÝ`8âͲÂR7DL9£&7’ ?/_ÅhEHdŸ‘Ê×bÉ×¥Ÿ¼‘÷²©ö&RØz‰Ç»”ìÍ¿CŽ*‘î¸cc1!½Qˆ»qϘF´¤ÀˆõÆŸï‹J žOƒÄÞD’şبohŒ€ýÆ{íßloÙ…yàÛçÔ?8ô(#†Ós¼‰…gAûf'Ç]GæŒ3¤ùžõâq&Ð* ^ä† EîßÉ1ýWÀúÊ æìÞT‘iNöýàð䙜s2 =çž“°ÜAGn`QûFÝzóÂÒq~’Œ}?‡5AÑŒ©ãê(L€W§/ Æe‰Ýñ‹$!%f¨72äA=º·£ý[×U1Š{åôšE×S$6¹u@FNÄ:›£*kÓƒº/IC>žp `i2ûRrVqäŠ`Ýõ¿^S"ÕŸÁ¦y™©î o×+i®;ßµ`i0 &^t"…¯‘Üý…ìdŒO¶T@„…â-%Ÿ>ôJË| ÙUÁéœÒ m*pÒÛ–Ë&D¬Hâk-+!òô¸5»èiªS7ݪø¾&§”¸ZF›öþߪÍ8må{ƒ„¢ïc‡Îžl(4ìÍ:¢uéívúÓFk¾xúˆ`=ˆôñEÂú~..]¥ä@¨Žë-neô¡?ÈÓÖ¦¬ÒúÀqQŽz@×O a ú”-i8FC[aGq0ký¿òjw¿ÎoM¸Ý¤úrúúƪŒb'/úÏ¡ S òfó4ê;CôOvJŒ/[Z„$éJª „9ÊF &âhåkÈÏÐ…4ê“…4VÑþÍ[IΞ… -àI´\Åo×¥øÆ¨$´â£J¹ rwÌ=Ù ñ(Â!ûï Ŧ ­ù¶jê”î0Ä_3UË»?ÔäÑdCVœÄ÷l{ÏêT@–ETJþ@r°e‹¾ÙÞùÝR$Yª!·ë™&´Àª@5úP¨îeb(‘‹A*{YÔ‹ýòT’ eWZå7*\º³,Ö+¤ÍŸlÔñ¼3ÖG(á.‘t+¹«T¬h+”ñ;›´¼¢`µ¿&óq( þl¶ 7´L¸ µ¤X ( -©Lì´w¦M7°N#ä¦nZK·C”ž üÓü3/otæ¹&|*Ùs QaéÚ¸d3Ó%ÚðpzD~˜Žp¯”6´@°­Y#¢›Æœ.‚¦â‡üMuT&`(Ðé]MÎkÓEˆK¾€“ö[´`„JçN’sœ±vQ³Æôo’ÐçËK x±¿W»J0 -1ä¼BR ±l<”DÔøª‚@˱š”­bñm—ˆ4ö9J†„~ïþ¯,Ô(^¼5‹”KS4¹îÿŠÁ]?ÇêÈ×ýfŠa¯ƒ#F໿“í« ‰O€À0O Ü¶kÎB@š#[ô?z¶ðå@µþgÖÿ=€¹“¡ýŸÚÎ*ù8zðû?± õ›=àÒþ7Ú…3ÉWöüŸŠ—‰ -@Sävø?u¸°¦ªÜÏ1°†œ`êÁ­ÒpRYžOð;ª,@Ï#G®¾~á@mdišÔúæ®0ÇÙ/ñ@óŠT#±¨r -ˆýp @þÔl;¬p…t—Ýý?%¾Z$YZ£ñkÿPUuawŠ3ÅѽЊ—VÝÈ—6˜SÅNôèH?v ’K'$tK ® àçQH"–Œˆ¾}:ÇøðQì¸>¢i’,}º=,É‹ØT¡Óù¤©NYÙk’+•%“xßÙàŸ¤Ô"êÒµJæ@;¨lÒø*Ú²¢]«˜ -„ìßsž&†ƒ aíèR§÷ª#²$Ø –~“ÍšÎ×Ôͨ3 '÷ð¿…3Ïñ}@ÞÄ÷Îfôç0É Ñe3U'¬—crß@j4#X[O$—4Ô‘™´…ÿsI êþeÜÜÌ—Ûe¶ ç=‰{ÊÄgŸ•Y£©—~¸ÎõÔ¹eÞT -Û¥µÁ±¸2vd„êÙÂâJŠu8›t[ÿŸ›s ߨ²9ohœjÕ $§h…ùXÞ"íÐXé#ÚÇ)c9Ø¿Êæ£ØtÈKÉÉW+)AVx*²§:t%֗׬cÜXɆuï G¢s÷1„?ÛwÒ¢¶ ž#©ãmã‘á¤/†q䋚:FeÉ®ñãÑÇ@~ ‰w•æ¾ÏÚZç<ËXÞØ!ö¤rŒVA…»](IЧHZÞ±˜rƒÑCsVÊÅ¡’hÓéöõëµ´ïGn„DìñE‹ù$mQÑjPEçÄ%‹s³¨CíN¿÷T5~{Å$à£ÙȤãßà®ìœƒ¨ -GÜÔ¦µó's)OVA‹ãä0‚©øÀlÛZMÅÑ -s—Š›'¦Ä(ù +v€Þkw•Ö*DŽÆº¶nI,ùùÔ7j‚éxný`l;ò6SHóQà4Üx*7ólVÒvÜi¼$©mF67B¹/EŒl1áÑ—›G^å( g€ ¨yƒå4è…]‹ëê—ûDÈ)S2QK¬}[çºÒI"d7Óõª†›`.ßií½"|j*G•ÑK²Á)oѰqs`)S¦©†ý™ã6d,ƒå{}ÈEãײa(^S«úùEʈ¯Îtι9i%ÃÞÎáS)z(Yã퓽ÂDEÈ úঠå=7ìÇËs)¬§< «OQîëyeji/AÕwßÖ þOsѤ„°´ÄßVÛ.y¢“µÄÃ.£… -°!`[ž·ÚýŽbìyHjTeüyøÑ²%ëK@!Ï{ *ÙœVKÔûù›§Ì˜r}ž+=[ƒä«õ¡OËV×W÷¾·JËÿQAX¬æ!õµ›×>ƒ{س'ì§Ë!¨‘Cé×C­mèŸA¼–ÁiŠžø®L0OǬmcCM‹[jñE}òÛ7ʬ™môè\>`P+=ZȨÖìŒdUø¤9?R\ä*£\°aØxz‡é§ÄõŸéN!±gæÞˆR"ª ûAÔ-#¥SBRH“$eÏÁÇM$×:n/rdؾ°šÙ:µƒJµ?åxyÊ4£4Ã;x{ lÂ×@¨ë Â­]÷Ëð„`öÁ7¥J¦áÔf±¯8Z”~·²FlåUÜIƶ©­"$)¬§‚4"P­"‰4¡)òj³\]‚ÁuÅ”ÞàT‚:½´ÙùÆUú”‹‡±×eï×tëb*ÌJóWŽX…~Ê’r¦PµÉ1™]GáJ™'V1 nfƒP>w Lõ,†‡ñR&fFÕFo‰§½±Ëß~•w%Ú×ÍîÜíçeFT‰_E( º¸3`XXJjg"e…aÀ,”“þid¥Ê A— ©Š¾>g¯LáçùO­¤|¤IªŒ÷ËáÓÎ.Ø:Uʸ–£&üׂ> øp-Ö"œ1Ô Ì´3\úõN±ôˆmêãeo`•pÒf…ò)Bî_?Κ[4•ÕÂGáˆÞPk¡Á<.á_à6_ƒÚ°Ì*¤ªÇª1VbŒ!s’ûWJ xhÿO1EµyÂÐ=„í߯àÂäº'-ÈiAJgƒÉ.G´\« »PoÏŽq¦GÞi*® ê#ÅaA0 ã›.à ~ ˆ{¨”yHYõíÌÞÍV‹/€H@ú–…ïõx¡õ†BП6S–Û‡ŸHÁÊÖHáxäkÇ)2¡Â‰v™ì““÷žÁöjï˦P¾ÔØZïÞ˜>ºã«Ýè3Ö½,,Õ[¡ƒ˜‡VX+7¶p0ãüp¾¾©Ž!ÏD£©Tñ² -ïXT宼ã[ÿ]…}ŒËÂ&ÎĬº"8×ëÙ‚'\ÆÛÜB‚ÅE™åf,¦Æ»}×–‹[L¨Wú:‰g¡n%À@ØþÈøÎÏcÉkÇ`§.ñÖx–9¿ñÞaîåìkÙ³5·6ù§Æ9÷Ök·;„ÿw÷ÖKúYˆ|«ó^‡ÜÛgðþÀÖÃbxç/›ø½'Á ð /Õà(…Ç$¥Î»EԌ˜҆µFþÌTô]¶ƒli`š¾Ê°´!?úFÄð:(¢½U¿w¿eþ•Ð÷Ìñ+‘%ë¯v|\ëÖ‡ ¼ŠðȱÀk|«:±]K3]£‡ £ÀÔH…Ù%Æù°ãïÏÔE¡ ~qÝ(´ÃtG%'ïÞ¬Ž»ýø¤Sá+*µxLƒ?Mí)9Ã%ëÇwþ-1wES+l»rVþÁ ÝQÀÇ˰@ŒxÌDÉ^B\H|DVÇã^p¯xp¦S¦Z"Mº+7<¶»£,{'š­“\z]P_Ö²¹£„¢FªŠ,h.!ç8á÷qLö£V2D+mòƒ…²­6BcäÆ7nðõÓ²¸8•Å¢|„ªÜ˜ÌVˆ_j -Àä[½AX&/Ô§XW‡¶€¿Å+ñ¢"ŠÔPx ·Üs¿=q'T¢ÑàjM¿˜0–É0pý=ÊäòŠÓ—6¿¢x4²œ¬”Z#[‰.åÌ]ÌyÍÇÕ¤ž,ñE³ ‡zy_ü«y-ûc¯ÅÊ;u®hW€$°ëÞhŸ~ }‚”íü€/àÎXèÉR‹Å]Ûi’†6é]‹¬h:O‰Z©™‚)¬ÌEÏ/PÅ»¢ Hÿ4{R£žYß4²Ù÷E~›ú=ðlÂs~@é.ÔÒ2$°D‰œ÷òüŒ’ŸÐìúV`Ö®ØçÌ•žøLy£9øâ£“­ çá0§së -âŽ\5 ºWDS]WÆî¾çB„5Uˆñ}^±AZÞ«¨–áI wiåœzŽ;qÔ|¯†¨úí*蘗(‚@FsK¬†ÞÆÛ1Ç´ ±xD¨½_¯ˆ¶ :_¡Äþ?ÄËj~øiyØÄi£¶ódŠºœsmª×L¸løv+rV<ìÇöÞCÈÖ("Õg ÊŠÙnf¥R+h&]$ 2êö}¢M‹3J§:¤é¥A2áìÜ!º»#]E‚É´wWQrîÞ7'‰;\)¢ôÉ÷™Ù-³j¶…ÔíRE‰6xï€=ô¼‡cF3lŒ·´ÿ6AÒ–"÷4 ß›¥¤1ÒÚZhÒ¨/e ;­XÑÈòÆ¢HRæYû÷š®{Cï"Chx!mŽ ŒÇn³`ã;Måg‚ØvÐN¯íþØl„½¥Ü1- ”Ð’Õý7‹&¾>.±/þ`™$ˆüZHø •Òö9$rw2$6ÀÃ8f2ãð @òA4f’yš=Iô Š™0W˜,B€2´ô‘ e”‰Ð{@ブýù ŽØ ‰~HtõÃH@”ûb$h€ØL„èـȄáÈèaJ0ç áu—@˸%°í‚x5&37Å$Bp5&< ±ç•BÐ}LâÚ:Ü’„qª ¢¬1¡"úâ›xö°˜0pŸÖàªaÂJ"š„M„“‘"Ê&ðVDòÂ)0 ¶ˆajIÐ/õYi ãgÏ&Šà]GHï:"q0Aè~ p?bÇ_r Ž|Éì!¡£Nw¯Ë#›! xITI¤×%Ì3‰Å¹dãIÈÅ%sQBwJ×UBÏ[€%Šô¥§Ó&µd#—(Ärí¢½쳄ÿ`ÂoY c‚²,Q­Lœ%[Ï„¤°Ä1M }%Çׄ’®DoMœ*ÛD]+ÇéÀ“X‰mš³Jè脃*ÕNLKɘpOŸ’“=!×”ô«Oð,%Ô?±)‘wá<„¢PŽ(PýìN *”TãP¢®'|¢Gaf1RЇݓBÌ%9ÐÀ«I=EC¢€†IˆB—D„šKÂÕT’ȧPüI²y -K’tGNÔ @0H|©øôH.¨BKA`|4–P‘ŽÄ»Y¡;#¹Ö -üV@^$ðèŠ©Š¤‹WP&L_1"±XÜ9$a¡€!Q‹ÿ„dØc¡÷ ±OŸ×Ã, ’4|F+g¾ÓXh<ž4PƒUÒ)»²-ôGÎ’©ãG8E-0A¡V¿G˜«ÅHÖ#«ùZØ4ÜÏúÃ#y¸IIåÒdGLÞbª:â.qeèT¹Ø0Gäž‹ñqdÎtaá“PúºÀ`8âÄ]lûF~:ÝH¼ð÷*—û؈ê… Ñ“£ƒ»®Þßl¾PDL­¦Þë£MüE¨©–8a;q]`äIFŽ -†´1âèÁ8%Fö C$aÄÃ8F®9 %p:I‡/rbˆŸ‹Ä21€8¬ªs@/¿Z¤DfIgŒÝ°HaF3tEÄá1|¬ÈÈРŠDEú)žd,-E´›Œ#›tFʘ ŠÄ[±ž²–±ÙÙH9‘D_FVšHŠÌhÁD`4cr%òÐf˜í$r±Ý'ÊÎ`ŠD õŒ ˆ÷gÜ3"»AC¤"bñи!"_Æ…HrÑpÝwa DH#äSè|Ž˜†VuxÈÔ0¯C–J I1wÚTirw5ä½!š›5®Ú÷ÖP°†(¼Æ8r4°¡k†XŠ/žl„ä8{dÈ+m(C’kƒ÷ \¯ ¡æ¶qÜ ìn,=æE‹É_«(š¤|³c¿Ýø’BàÈ1PjoìnB†}ÃxÅ•pœJB ž#DLp!@$Z!ÒpLBž‡‡òˆ÷BY¯9ÈLãvƒTóqàÖ‘ã‚C9pjŒ,Çl$Š9Pafͱ䂨M羂Ìûò¦ ZCǸdà£CÅÄ€éX7‚,¡1„ Vªê¸÷ÓYG¼È„×!§ˆÑØqƒŒ:;¤W Š^;Þ?<ƒ;ôF 6Ýñô€Ìx‡T ˆµ}ÇOyq! ÁCa€¼gxÈ3@:#$©x¬@r=¼mòØò?$/ŸÜ8þƒ=–çŠé1ÞýñÄê¡™úCV\þèë1Yø#µh®ûÊ ºìŸÌÑì¶ÞSý¥¡ìàã`~¬1>”Ǭò3ü?KdÔ«ï#±tÐupk°º#ö±~Ç>;k}T1? bp'TÙ6x‚d3Òd}¾é6¤ÑcÂ:åáâ7’}ýÇ}òOÞˆ„Äʉ>nÀò€ôÞ{ìN w~ÿØ•{(0ÕN'¾<©Lõs÷ È¡a;%H1Y›‚8bØW³@v{D8¨=JN© 2-{ )3HwA´X\­hÑû a»Pö(Oá‡]f°GÍ0*>ö‚p·Jäpõødæã@ÐiÓàôeRv;ÆQÄ 4=žó"=¦)Èy<;ü«ˆS -òöóøNA”Yç¡xÜEž:MS>›G¾„óÀHZdäAyœJA¢Ð‘hîñh&AbŸ$ãþvŠG$È âQ5-<ÚdBÁ#Â7À\.äÂÈïÀ éð'î¼c±œÞ«ˆŽeryæ©R©²›B‰2Î@t½Ž‰Ú1Júì–Hq+}R ôdâ›:Žô^Ç/ ÷\ÇCH¡ZGh¤Ö‰AV‡2婃T6êˆÐz:r“Æ1±€Œæ% ˆJ‡üº&ÈÛ)+úСŸlÐA1ýµ)=¢Ñ:GS4Å9ž|lŽ©â3G+ÙhÌÑÆ8»2Ð˱¨| ·Ê‰rp«™’‡äˆ­‡.¸ n©>8:ŽúÿG&ã A /‹ã2Åñ€LGŽ•RÃQíY8`®Ž.¾ ޤ.Á·€¼'p "ŽP!ï7ȇÛCÖ}#gÛâ)ßhŽìIÜå`z+€Tå 4-€hÁ¬Ä„»6ÿºzM7*¿çFaåÇaÜ( ÙÁtÿšš— IÄ6f¸ú_ùÁ/^ÝBàm(ýN¤H4 ”· ¡ È/‚€d&êQjQýãǃ€`%s*ñƒHž›mX=o4‚$Ê6ÀN n -ÛÄ üÈfAÒ© Ö¤´‘¥ Ú œrõ²Šm²‘BAJÇÆÈOQO‚›/lD¦ÀFÍl_ƒÜR -5˜Èt ° ®Ñi¾Öȕμr£ã ÄXd´«Ñ’²UN1U#½‚à_ ¸ÔŸêQƒANC5 "ôi‘ƒð9 z²QÓ !¿˜Æ“|M óÐ^Ù2 ø„ÈP<Òb!ÖG‡.d®Ñ?S7 )D4Ìá Y q 4NÔs7äùg æ¡>#x‡Ðì8øÙx† ˆ¬ÚO!¢ŒÎPžˆ\Tä 1Fúüf“ÈÂ6CÅKä·f\Í4CŠ,›’"‚“V*2+f쮈60ÃÔ,ràeqé-íùggƒa¯ Éyª2&eD”¡ée„‘A'#0И ¯‘%CƬ/8¢°ÈP®:d\¦#ŠA†¤÷Ç(åŽ,õ¹åðÍ77 |„L"AqŒ³ò#ÆßTÿ€D„ƨ8ÇqÉÔ£…‹Ãp2œR…Ä´b¬å!Ñ]1äÉRŠñÀHtF9’Ÿã’h‹Ò’äjL%ɬ.É,Cá0Í$;g}é #|“¬Za”åIP/(Y‰0ôEÉi¥$ÜÁ%1ð¤ä§Œ«=t` Š’/Ƶ(Ñ0ò J¸ºà.Jžà‚Zý” Ù/£„¿ÀöJÉNÔ*PI}! JÆñÅñ|ß‹æT"Ø^\ŒÖ ^>éEqÛ¼€8’ͦ’²Ä‹‹ x1;•𦍒J¨ 6UR‘]|‘ô ïgÔE.‰t¡—€.ôP%°› Ru¹ð¨M.ð9.:kâ"©U¸@ÆJŽ€‹S+ k¾[4+ Ϋ ë¶ ¹’žÚ‚÷µ{Z¶°öÂXWRçZ0¥ÁZ@™¿#žZ°¹’ÅÓâœ[iq%G|+á-hÚJæZ´x{Œ÷,0¶’bsü¿G‚5‹Q³µ,äm%)Ê‚û•¬H3éÇ¢C,0È’ 8ÜŽ˜ÔdIÿÅI–ôšXüÒ’¥ì~NXD yHL( a‚h&¤¶UàöЮ¢¶KÀr `£m‰æ¯Ò¤%¿Ê”,Aþ–ˆaþV¢¦¯Bï*Á_ž }S‚y/)Q4LEQ§)QŠ@0xr‰%Ë¡ÈÃbÈ/)Qò9%B¿Ê˜ë!ç”ÐÕ® +ŽÎZTX!2„Ž5X!–‹¢¸ÍXyfIäbE‘1V„I L‚OQ¬L7$¸Ó ”H.XéÛ€R‰bù&Á+«eM±Âà’@ÖLIЄ’D&XI ’ˆ*áH8L œ×D¢Í]¬<?†B‚#aå/H|¨Œ“Q²€™Í#ʳ;¢i¯2RG迸a'W Gêm„±WºFà嫸Ò`ÆÎUÊÉž†b«ä#˜^h=¸ˆÆ?‹ˆÙxÿþóªÉ`ŠphˆPC+洊ω˜¾*ÍKV˜D¯*⎠KY"Ê?ˆ¬2äCÈlxˆPiõUÉžC0‚7„'}5Ø«H0ÌÝ«‚+}$éªÊPböªH¦ytVI±oå¢.õ„¨x•I“ØV`eÊ+è•bÅ]fîK|`%í¢XQ£ÉŠŠmV4¬¦}õZÑ•óEˆ ¹ -®Òå -‰¢Už„SWV|r…þŒtEšº+%h^±%!ðÜ+“}_Ù„¨,åI0ƒ`W°¼ ,p™`±‹±<ÁRäÈ,‚%UÉ ‘·A à£ã³+$Xh-…"àFMH°¤ä8!BÅMˆÉi –„ð ‹Ú„8ω’°¯EX2¥¿¤aq› HfA×â8gXš%!ðibÃRÓñœÎ*-…P*k…` ŽŸ¢N_CÄ28!– ‹0 ѼŸÞŸa)6zrú dãÏ ÍG­ ªŸ " n -‚u” ""–œ ˆœŠ¥T !KrÞŒeÀø¿xP'¥š@0,û; ö'‹‰â¡ì  ,ËJbf˨BÍ„IçÀ9Ë·Á>Ÿ…uâZBæµ;üs´lr‚¥X° R•`àO-Ðézµì=®e |¶è,eË|˜§-RÞƒ»¶åÀ=l·¨5¸F( »åôz¸©·ˆV=8û[6¦‡Oƒ‹4ôà͇Ë=~·b\œbpK„òpå2óñ@„¹4a<\œËæä@Ò0x%]êÁ-uûh¶.½êd—u¤%´]>¹ÃQ»Ëß¶Ãó»”v`…—aÉ—„°Ãnñ"ø¸­JÑGsÉæ…ƒu@F/xÈzÑŸ:ðZ{±ê³Ã÷ÒV:Ç—¶Ã^Ða>ûò¼ â—AÏaHBƒØ{[SÌ_„ðÌùú&À\ƒ£v% -€¡ÀXb9$˜jD'L¼ã€^0‡…bŠCŒƒÉ@º!Lqá·%Ìåľ -ÓB9wa²úâÄ_ËÍ0åù†¶z‡9á «y%vCÀ †~n 4b&7¨Á³ÞÛp~bô훦‡Š9¥ ÂÅbÖ¢ ‡.æ4Úpc²2ÄŒ™Ùp©1îÆ‹à²_CBlXH6Űl >&´ÁŘBf‘Õ &2ßSÃpŽŒÞ¨Á—IæJEƒ7=L†º&ê’J<'ÚÀ5(£4ü,†¥ŒÑ0¥2„†v+CþÈ2C{©-óÚf»Œ”œÁù—y¶FGÌØÏ$id&Af0­™ùîhFcË Y3k+ã6£DÊ gæ&Ã:9£O2HgFE†i;£ dä™þ{FÿÆ`ï3¯à  ‘'hè.†–„W1€44Sö´ hÒÝFÄÄÑa8j4r ƒg|4çàþHCWæÖPšbƒY–fd`˜Ä4Úƒ¼¦YôžÓiôæXÞÞó…@¦1»Vø¨Q«L Á¼Ռà v«š["èh5ì—@uº+¹:“=CM¸Ê…[“Á¸€ ׌Vu×[Ù¼F*K'ø5#´…sóµ lÒª|›½ àŒ'Q’:ZC6šÎÂœÊÆD`nX ³ùOh;›à±@m&£MUÅBRª6)߃¼6¤qñl³ä+ìp¼ÂÌÛhÏâ nÀñø1°7SµÂ+ÑY!6åÆåÓÁí x†éF]m½n¤dÌúµ×MT¡ËÝ€K`›½QAK©í5êA¨°¡¡ï)¨œB\¾™ÒÜ7˜¾ßŒ^)¨:·“œÉ“Bo)äÎhB…‡Ò(0œEEA%áü! -Ã,Ý…‚zªx¤G!Px8â(ú 9ŠO ²8#z‚•gþNXku‚ ãŒ›†üqœ²J95>¬Fr2» ÂtJçlBcùÙ„¨¢u`på¥UΚð’!š3™ õî `ïaBå”~ «U΂.ž¬%¤D±R2+!ü,'j¾cGf/Gi”ÀãïIÈH4 Ä]ÎfIªËÑ$t -†E„¬ËD$ s0„ÈÌ™þ#¸Õœc°–7GàŽ`Ÿs&9ÂýÎÑj#Èð9_S@§ŠF@ 2‚œDgý"|ÕA'éLZ.´tÄȦC$?æY¤Ž|Eu2SX«cµuœ™­SBÕ:$ê\‡œ¡Ù×Á$ÃΗ´­Ù±÷ÑŽ«–µS'I“lmçAöíåãŽ7BwE&»ƒ]|â⤦öNVÖ¾óÿ@@ðØNðå'Kï]^«ixö­–M@'BñDŸV‘|“®ÐÑ’q† }-¯õ62aêðñÁ£•ÑÔ»߃S·A¢ä_{p¾|²Š™(gQ|g¬n{p‚ù–ýrÓÛ,U†º„â–g{ðò÷…æãÛƒœ)»Ã±=Ƚaùö†æbÚ8ÂV1åÃöà€¡/Á¿BÚØÀ‚Š&4‰L–XÛƒ3Ô÷ÚÈë¶Ùñûaµ‡ÍžT®Úƒ>)N -ø€áœYkž€Ì‘ÛäQ{pªYÞvг?ˆãºî8ù Moø³ïãS eÂ/¡FfÁœÐlÎãÄr÷N)YQÄ•ÃèÁ`“Z@ÙËÁèA®¡…|Ë¢U¯Ñë=*˜…˜³¬âà¿&Ä-=z°˜ñ²P ßÈr»“…õàq=4Â×zªp¬…`ô ¬””ýòKžF„O.šL©Þ‡/œÍ³¬È(«+UÜ×vÈ(“EŽ,zTTRŸÆP©œ6. ]ØBeÉ4yàaéB« žÛ¢´sq‡c.øßsRPb.`a×ðì°e† Ãf -!Xºt˜é6öŽ«` Èb§…k“`¥ÅÓ˜ŠX¥œpPÌÒy4«ˆÖÀ#ò£\Y MùžnüUÆQŒv˜¿^FE†b„¾‹Y3´zû£›êœ_XÞL VL*Õû;¬­àj- Ðh`ÓWÁ¼‰@ÊÎ9¥°*à6%É´œ[£¦p8~e骉 -xAõ:¾Ç­¸SÀCû¬˜Ú.ÇȨîŽBA) [«Çl]øm7HÝí›W  £›¡)ÉX* - -,…4W=4ÓJœf -ä -ŠË+lq_qú ¶…¸’ú š°¨>WKìU z‚ý)B|¸/ÃuXèuôÍs‚*„%Ûo„]ËкšjøÂÃ9Ö.)£ ,ü½Zï)#ÐO ïÅdGú‡€/å—`Úiä\Ú]Ñ.Ü,?_€ ®/x²¹JPJÀC¢¦¤ÀIÐ~øòêÖ$(¢™¾Kz ª*P’ƒ!€9‘3R÷Ýx GQp‰œu[—l9SÃgÆÅs'½xeÝ_YG„*‚[¯ba)SX:öL‹7{£²©‰Œ_†„VŠË9m þÚn¯DF™P®ÇØ¥+&Ë î­$Ÿ~°YOZ9ftRþ-v2/¥ 2 Fœ³!€K…òõx` ÄçH©þÀá² -û@üÀ<Ø9CfcŠªO¸@øcfú€MI[¹·×€ˆ™öJŠððu=P?!8x.¼ëiÃiäq9ºã¬îâ$#Á2R'ø¼ecë˜ÝëÕ&††Ùì=õók”yšU8d’ :åÅ ¹ ÀÄdí˜P`xgò2¶Ê^ðð}Ðè‘öqM‘X8`Ð~!Úzê˜ÌÖñ]o] ‘¨¹?u/˜ 1—µ¨ŠG"Î*l€®Üj¤#9Öt8<7Ýýж1Ig8â(˜é·›/ -"—!‡g€¡ËÎ<0pº ˆNYñKÇÊ€¢AƒY´PÐñµ»uqÐðU>)qÃ(3bà­”d†d«ˆaÀèÒgñWïŸið½EÙÿZÉfŽkc§(Èá|¿Â:ÊÝ -vÈõ&_-s»€³5Òg¦0pŸÇ”7jM›ÆÇØi…w¢>OS¥æ`ä–·Ç«q°¤i¨rVæÞ)ùÐ ,‘vÍo2· q¯;l“®@³Â‚:×B.€0Múr}ÃLªãàa%·;%Ê™`]}¢¦«êx’Ek3f“@•“™¸ÿp„'0sÎw"fF‡›À¥­4ùv^EîZp3¿‚mw“ƒ£¶àÚî,šüŸ×§8Ï÷=—–0ù/=£Y;BÍNjڀǸ¶DÐEÅò ¸Ÿô ïž~«X–jt ø¾åböì®[¬\Ó„F{à‘hphc_+8 8« Á]Ä`Ø:ø©†TM¼€ •ý\ξÕá,b6|v…Ežh£5šFm¤ÎSiðŒWÀôŸ¹ªÃÊd€öª€‡`ávE¢…¥€=æ¡D$Š 6Ó ÔWZJÊל€md2³ò60‘–mtL_Ä% ¥ê@VK‰ 8¬.îö.¤A[Œ€>aÁܽ‡+ò rf†œáË @]óù»’íµ …'i”{éæ‹:=©ÅCZ(ŽTá(Vˆèn|@)D”Oå[ñj€nÞ$Ï9g ‹.4€Í»/‹˜•w û!yA"Èc¼?…âÁ1KŒ[G[€$sŸV‘6Ì£cy>)Àj¿9çÚ -Ú(“svH€Ç™" °šc3ŒÂ³«•p©N¤q& ˆœ%€v 8ã€IÄ›ä¾ç\98 ¥ø&(À¯3_ Ñ ¹Á÷û®Ãs{ -[œ˜Sf„åJì—²{â­Îÿ<(…ˆÐþߨ›“b¶ÿ/€¹á"Á&9ö´ÿcšΑ:íÿ7¦¥G‹æÇþå æØÿs¬ÆÕmgüß-åÄñ¿} Ã¿OÓ‹ªýïW¦Šy9¡Iôÿi¦l–ÄȆ -»Ë*LICò¾ÿÉè|ÄYöü–Ùfí6Õå×þKêuÈûÕ¿0W|’IG=\è¿Xýmó¥,ôM"W¤— $ ååßó;ÚWc»v ´ý÷•Pca ¶@ø?ₜxxÿÜ4jçE~i/8oÿC†û“ª²7oC¿»[Ÿý×Ä‚„…Iñ¼þ4¹w|zcÌ«þ :Gí”(˜þ ¨Œ'¸ÃëKü\qâ õ/­Õù§Í0ƒñ@w]™uˆ$ŸÆÌkå¿»TÚA+íà_Cµðµ]ù4üÙóúBœÏ þIè—}?ÿ cËÇ/Ù@–”€AÞ¯·±6f@¦û‹å•Vý“Pá~˜Aÿiuý·w!±ýð“K°£ŸýEÜ_‰Äd0èŒý§2ý"¦–sA¯ß-ðÜHp,Aë/—td\õÛ¼Æ~Ù¬¿êWù;”2¦ÿY£šcú}À—ƒ[ûw¿œÀxô+ ý0ëœìIiï¶÷ùÍDæ_¢tK óÓFÍ™1:S˜5_Æ4B„7Å'æoDÕ³*r©²ü¶÷Õsú§§Ž*åž]µ´‘ÿP‡´ÀŸ»$­Ç/_o -¬·œÒø+UÔŠà{åM½¢œþ§¼~©mÞߘŽ<#F’kSÑøË‰#¤cœµd|x×ÃŒŸMö½ b}ÚW-šó=Rö>”+Ò¯ÙkPˆ÷y‚‰!¢»xuy´Áñ¿5™‘2Ù}7Ó =A•º*,é d -endstream endobj 18 0 obj <>stream -‚˜÷+W|Ò,Fù‘o?@AJèæB^ÛW\Xúâ³ö•ód­M,­ö®£}l¸´ J°6Íþ Õ/;ïjˆìƒ¦Ïò‚ÒÜ.%ö!D’áßsì»ã^i\8ÔÍ~ׇ<¤NTÓp‹Ü­T¥e}†¥jHÞºq>®¾ÜaÁ¶§aèßS}´À‹:êØ”ÌZ©âòÌb¯”ú9Vmâ–n‚úJ¥¥ IÄàôUgÛÊß:òŒ—~Ñ1€K%ù&ýëê ÞÌŽþÿ‘#]ýkV6bjvÜ-úœ©:~è¥ Å@ÿ¤>ã½.§â‹uÕçs.3âøÀñ|¾š.¦xþû¹NÚÂ ÄÆöÌo™Ûbo~'6(_0ç$w¯Õçôƒl¢† ¸Ìù€»²pEüÍœ/K¬m^¼aÎß„0K¼Iônþ{Ì¢0h¬ØÝü¤ ÂŒ Q{7_Tƒñ“ò“5zˆ©n¾ÓA\”CKsB4\¾9NgÍìÊ{j¾F¸å pj¾$lƒÖ3Qšß¿ˆslÞr÷¾Ô|Háj>œVqĆÊ—# -SóÕœ(‡ó "dÔ|ºâ–Óõ4ßýFLó_œewåO§ùù‡…Ä ÆíbÇ›"ƒä}vÔNÆ£ Ô•’nav”Áå³l4P;|^ù1íNlœçhÊïo~•¯“Ÿ“Íߢ¶#%kѵÕ,òuöX/'sŒ¦¿ðæðWKóøu\Û0òF+ ÇGaçá–XÎ4~Ró’41Cõå ¥í»â·Ê[IÁ>)Lyqâ+=i9ºpK/â7ŒŒ&>ÆIgàÞr2üM`£eøÊ]Ù ‰ ºÆøð>z žÊ;Œ! -„¿3]¶x½ >~!õàú8a”r Ð=Ì¥ª½Áôœ¢ -)à'Á6»!BWÊ’A.2TÚãÃTé÷ëÔˆ;`ë{üÎÿ¶°‡ïwâáÁÁï{/qKТȦ zo@q %º|æa¸]µüã½»› ïž-à‘ÖÌwàsÃç0½µ{ ”‹aÝ;8Ίì<2”~tF†9ÖÜŒ—O·|ÄÄr§6e]ž¦è÷Au΋‰P=^X¿ý§ß\œ¥F§|˜“$æ6üê°í¯Ü§Q³.Ê혵 (c3!÷ZûîW §¯å¾¨}ÏC4×ñˆ4¤=ñV8¡e;ôÏu{–aõŠãÁ ³Ù î“–}…°¨àÓâB*„dßݰ©ú ΔgcXµsÆÃKìÏÁÆS132KØ‹Šö‰TÔ±ùµ®€½„Êãr¹¥T‘øú³ñ¦çh‡¾ë=¥"…Áッ¥p3s=é -ÈAŒz4üéÖ;º; V襫õ¼*£3“¦gf½®Fº`ØÀ;¬ÇÑ")¥tõ,‹<Õ_ ŒK-VORdæQDÕ_̺3×.]Χ>4DmbÂWý@K}ß"ÈÖ<ù™>D£>ïýê¶Ö6cB½¥ž#%ÖXŸÃ§§Lµ# »Óé? Yæ«LvE›¾–ƪ()íâ˜8=jé­®U‘@õ„Ò‹*w`º+/“ùH/™@i ˆ„‰^RGRÂrÊ)Ð:„†êå%Yô†yìi"Ñ»NAf­;ùíkCÏ_—VèoäÐësIðð?4ª¾ ýFöM¤/˜r z!Ü{¬ƒ¤[Ð{t-Ù™#µü¼C¤oFý½çÇïBú÷ü“„„REó<_ÁÚˆ -h7¼w¾ÛCoïû^ê|,|øW¨ÏÍys- è2-%Î{×ã”—º“ùÄÙÍ«¿à²yÕ“6ÆH¾hš‡5ÑWËÔüÐîæÛFèÏ|{íÍCì%_æ[2%X6혿1P‘Qôî†y|ÍÑŒ_ϰS8~˜‚–£Ëws…{_\€Í–Ǻ"A»±¼­…G@ôXžÔØÓËòô€·jåŽ4à2k2**o«»!—lF'"å¹éŒg‹_L/‚ûäOJÀ?_ÚÑQ«”û3fFyÇ’Ÿ0Þ“qJY€$oaýõ´ÎµÎãFžINT†ˆ¿ªDÞ+¾o)þÆÈ„<“Ìä§ß§>+RèÏ?³ÞuÇ×WñJG‡˜ò˜Òå²³oÞ½;¾4¾=¯øNºUŽ;Î -i40tm -þâ}óYh·Ô¶ø ÒêìK°Åºâd€màôን⹀[N< êfçvCkye‚9%~R“O*$ªQ?ÿb‡|Å8„@üeŸÏˆZÔàáÕ¤ÂbÅuû–7¼ž+~¤+TX×*9Ì0+}Ñ…÷8ÌË@'eÛ©ð\‘ÞŠ˜Ç{,á…±âütö–ÂCB9RÚ -=àÖŃªI¡Í ×w˜«+¼hfCTxl‘ÔêCE¼ÀÙà^Ì­Þí ¼Ð01ÎXõáPG[ÀÿóF­âÔ™u}¬ t‘¨€Z.G0üõ‡Ê:S¿ÌeQ©«¦r>RÇñŠôH¯kp÷†ü¯çÝ¡nð¡}Z~Ô=•Ê}zvÜ}#¿½ÙÚK8ª¶9§ÃƒÅÃ2o:AB¹Ð3z8äYÓée–3=Ÿ"êÓ«W,¯()øréû3¾äÉgŒê+] öÇ̹”Á 4CþBQÁ{œôãJÒLMã/HÒ ÔI"½|¤7˜àþàé ÁÝ~tQB»Ñ9‹·]Ù c2úÀn BÂ=°'ˆÊÏIF@´¤è×oìkK³0wIt×X¯f(ò¬=N§÷8j]q&î ½™Ä¾M Œ<Ú…¾›{¶þ K4Á)¡3³Å=W ] yIfY£§t»ñOášu«M™ä€w"Þ ž@‡ÅÛ\߀¾|ø¤§Ô˜.knäºQøÿ<4)ÑþÏOXsKÉ^™¥ü~~³ßÅë~ÎÅrÂr?ïIÀŸuø @¬mbK‚£ä G:^¬@G.×K€®ÒƒN.v¯ N^9¬äâÃÈô©þ8×ðå©notZG@GmÞ¸Õ™„@G/›åP}¦|PÖ ÿ@ou"“åRè´ÄŠWÿº+T\ÆóttZ"G@ȱÂa†œne²X¨™‘ðç„Ýpý!—Pê÷¹ôëýè}^|u"LTJÁû|à‡yö J½Ïé0kðPÚ|nðaš°ª {¨RÀ&6==/„¿òš¥<ïÙ[­_Ï×}ú1ðóÖàÎ˲˜»vs¯s“Pä9óÉ„>Mçg+8¹PsΞñ>óZ”s›[X€oˆmq¾€î² C.8ú^¹mCi&y_²¸S :Ü܇Df= ¤2Ïæ4. û:Þkþ\mg-VõPÍ÷…‹œªhiÎ -]W<>jª¬&ÇŸ‹=gÞ­¹¹¢åÌ[f¦¦iûŒÝ&˜ù2j(]Jæ×â]ã7x¢Í1aVjçòROóí“¡Æ%·¼âŒ/<07†k 0#Ð_nÄ#R%¦™Þö].³‹ÚZA$æòyæ§7Qo¹*™#p‹|µ¼1•ºêN»»ùñ*G{X~Œr jÁ3Ò•{:í†e9ÕN`åÁ0¹¹þ0øT¾%p’½9iÜ)'8ÀWšó°:€W´¶…½ßò°QþàšÐ´”œ `iÌžæÉz´Î!&TÂ'¿Ý,AåLNN;ñnf?ÕKNª~É€£VÉ×sd¬’{Ž’ªA…Tš0É#{Ê–jìÊoœ¤¢ƒ%I:ò°J¸wo¬#çJØ?|¦Ò‘ÛÓ>ûÞrªß¾¤Ç6¿àC‘oÝàÊ™A‘³TŽéÄìôCž¢×Œ’ d…Üÿ)j=èJJòãѰ¶ËæÇ%ÜïÛHfIÉ£0íìÐk\ùñ¥+0÷É»ÃUs^íS??î¸9r1û–üø\Åo) zOÖçÇÀ¹^ ¶üx"/`ðS~œ„;Z°åÇë>¨ßñÏ»ª4#RßV@žûö6ù´ÄrÄŒ_ã°XŸr“`p³£½ÈËâ& Èí›vd[ò(Zj4—…QyŽ}𨦠-rÃOúÑxÐò…Óe]ÆN²Q‚\»»>%XÈ9»X©Ø«‚$ˆã·@¦ª /|;Ý{Õ!í(jʰŠläO' +¯P7¬ãQä™åÏ£‚TTƒªAçO è«äRŠÃªÃ -rë`ð΀¤ Wuà‘Ê'ä&ELÈ¿áß…Ÿ¢6pBþQ÷ }Íþ`BNçÜ4ˆ-Ì„|7ÄCzžÊ¢åOÈ)ø–ä/gÅ«^¤£ ›¡sʭ㨠 m°t>ÿæN—uF:r›¦ûmV{@©s«IŸksåT òÓòˉ­gT¯OùÓL@`¹£ÒäÍU»ßhÇ -'Èc|²t@©4Lb3òLýÍH3öÝQ÷ƒ9ՂܰäP{H…ò[–Ùð ŸðaáŸ÷~N¹w%ËÛ@9”T/þ"‡™èùD9¿&·5À)‚œÅþ,.Á*È5Jó„œ7Îþžò`Ÿd7ä ¼û´&©YB¾˜ú3^BîD‚6ÝcS«›„·y¹œ6…q¢GßäΓ놸*ö’³Pßþ À¤xXŸ 5S„îñ1læ5{€ YŒÎÕOù*–ð.ZH–“øæ5€É ^ -ø;˜éôˆ;ÐfØFð,IŒ<³"n‘ù6«ƒ{œ`ˆ¿î ¾Úz®R ÄÄÊäø«4þZUøKØ_탇#ø|ÎùxÃ'ቀ|aOä€×~dK#ÓyROd¨á{*LFª‰8Úb†sпša ø–éÃpÙÈ_Ÿ`ÅÐJN…Ù–O•;E,œy«¢ÈD!@Pá d-Gÿ„¾óK¸ý Ý_â‹Hkq#|œøR áO…g£^(ã˜ÉÚîÒÁ»®^¨uð<œZüá‹5x}6€bð¾£=ƒy¯,8¤¼'’|Î-ÐRð•,÷‘‘FI:Iðò\m£ÁåÀ>vܺÞ¸¢ù“\õH²]àÎ nÔelk3ÓüÀœÀV¸cdNª×.Û@Þž¼”o©€›k †­PTç†Çy«7ÌA£ë¨ /8p¾gi¶ºéü‚ì8«ŒÐé¿Y¤f'¨Øï3ÉŒþN·T6Ø~¿w\3 ÙœBY¿oH±ìAÉ|²Ô°ŽøMœ¾-~™D £oÓÄç²û®BC‡ë;~¸„²owxXÎ*a -3õ­LaËtAãV oЪy±½.ß,Pî¤ãÛIý<ƒYê¼ðM›1TÙ'ë ßÛì ÿ"Â;÷Vp±ì¹¹£>ãJíMîYn@2øÉv -{£Bã¦Àäå¶c‡R°xů§·:¶ÞU¦|0¥!FïI„Íõ¦)Ôóö9˜ œ {†4o>¡×´òž§éÀ3í"ïçÀõú«‡Çf¼ßN|0†=ÐïŸBSŒxcŠSU?\~M:x'ïJº>°Æ,Mþî.êJ¡É[9êÝýJƒÝÍ­ w·WMVÚz êHÛý(ŠfEîA?ænqÐî ®ÕÌÇT “>vc”aôºW¼K‘~LÃs~iÝKp5o/íøª»U5£¿pQ,®FÝNHE2JÓ=hž˜ûѶé6A¼™?v³MË‘ÃÈ^•Üú?·«Â‘ع jœ°T#»ÍÝ8Þk²§úAæ^i̾0Úro!ÓsláI¹é°6CÊTø9ÛInµ¬Îzÿ6â#€Ü<àïmøÁqcã&*°B§3ßâ>þE q“b¦.nãkåœqT³ƒ‰úϘ7ÕuA»?€ pËŠÓ zWùsM&~[½V£oèÞÛ^,5b+Ó£ÍÛ:LfÍÙ°»Íé4REÝ~¸ûÛ–ÛîzðÁF±Ü~[щ씿%ÄÍá6¨<ž1h§Û6 ¾¬QËŶ‡>E6ZPÛUR…y£Ïökq륷еD\¿È‰dCzèÚ‹Ô̓mr”ŒÛx[v½¶Õ)L\{!aé‚Ö~ŒtšEä«m( - ¬jWùtê-µç:Í!OލLjgÊU¼µ€N[sÿ¬v§nbÚ=5Y8DREÅ'móºù³Â£}I•dE´¼ÍÐFŠŠõ}o6´C`^¢>['ã¦;F ¡ˆg;ËÌ$Ï.º;Bgãíʉ¿ÙÏY·Ÿ(«G·fO¿*ÃÚŸFFhyíöêî†Ù>]6*o`OÏäƒb¹F ѯٛÕA¡®:HaGBAmBê0¸Ó-˜‚z·c³2ÿ8ZA]%åG4¥‚º!ÃTÞž_»2 -jr'A¯E Pï‹ãp€”™ îö‡øÛƒ>ò ¦Q3󠎘°>å[º¨ÙÔ^Îô¬½ÉÚåÜÿ$È*øé›™ )²ÒÀOŸº1=VK7X;üôÊÎê ñ½nÀOËñ–;sb¨«\BAAM ]¥Ê[P‡"xgѽXP§ jBƒŽÊ\PÏ à^,f^ êÿíš„òrƒ”“îa $A‚í9à^pï”þÿ§éúÿßtýÿóåÍ—·…^ùyå]DÊ”¤”"ûó‰tý""" ° C¯ü¼’d¥¶"®$²$;}lþïíÿÒý"Å<¥Ë¾ïÄ È âýTBð^ºãÝ:âµûgPîRœ[ÄÃyÈk8Κ£—vçä­Ý9|h?ŒµE-»¿;€j÷ÐdœÏÌcª$)Ö…¥Fú/æßwâ$¼¹>:Á¤|ÞX0Þ?‚p?(Q®jÆãM´x÷sòÒþNŸ›:œÃƒ -çp¡Å8<ÈP®*†b‘cž·±»eØÂ4Í׬CN³oôÎꚺ²Y(Ñî> -ˆ;’q¿µšj6©e÷ÖN íd:¾§l(ÚQ% -o( -o& ½†Ø”õ†ÓÏ{ëI)®¡I§?àù—;qþ©‹÷5FäݤIVºìû‚`ÚŽpÚÛ”6•‹Æoäx—ãØ¡ýž¿¶ÜiÓ/UÐ×¹o@@Xƒ—ÒY‚’Í9jDár¬ó-=„!˜4%žö&œ´ƒ‹Þ@çßB”û5tcvMX­ã—f? -þ §œþ“ÌoÀ³/§™û²gâºh"Ⱥß*ö H?æøëàµ}ž¾¸oÔ˜—Ê}Á´7¯ºÏYYÔ³y«iT|g0@Äwû#s^²ÿ#H½SwvSųŽ8 WÂÜÃuøÔ~ =ôXwOÅ`¬+Hé¤7œ~ÞŽlÒ'í%L²/rÌûJ–}¿ÑŽI³"%ôÕ5eý†£@Ôo‡ÜVCG–X‡G‰ ô‹‰’Œ/(qø§b(ú €;â¶/”H÷…ëüYí÷ ²ýŸÂ8ߨöyÈløáÛJ¬ûA†qø ޳wæeÞpZ¦íÏ4rc3M]XÐìŽ2Xwl‚?d!µçS^«‰é߀ÄÓC™ú Cº£ƒ^JÄ¡ïÙ‹ÃoìÌžJÿ“h >”X‡ßØ™y™2/»° _ªãBÇ\J•zùá \®Ó‡öoìpôÒn¤Ì<`Ð3m’}ƒˆ¿Ê¢ñfûà/ð–#Û âxSp²YW X¼›FÇ·#7ŠÔ»¼P´­: k2í+ŽÈ:Aé_NÞÚ T÷•(É>A¨à7ÐIÆ8ÿ> GßÀÅ¡Z¤ÃsðÔ>ŽÚÇÁCó<âµp"\xh‘.÷ |“`EÔ‹Á€Qp+ s¶% Tð6ºÄc"ÑkwLÚZ–õդݔIÎ!Ÿy¶.ðÌ[íç°üœl~ I0q dO3F˸á`À4)’ï3PÁXs{`ÖO¤ƒxR¥Ø? -~'Q1î4BìŒ {Àµ?óö®É›{Ûj+ ín‘ÌY룒FÀéÇe3GvÓ¼‘Ñ@q¨ÑÂosWfÓ¼}Ñ?q¸Ï¿»AŒDûAŽF{ ä’æ¹¤¸Hô>?ˆ -J -%Êý Cº{ “ïG‘ĤH¼¡L =æø%Öý÷Ïcô˜÷:ýðžyÐàÝï‰óJ—}߀&_ºì B„Ë‘ùðž~¹S§_ž¹—Îá?q8Qâ]Ž©—1âáJ•z¹Ðbb„ó=„l \cçUßôÝ6ã10Î^Z½¤9¾;p)¥ÃPZü++%j*’ôQdßtHçwúܼ_Üïé‹û6rd·ŸÚ?zÔû Jï(SAü(ò.ßé[ÃuôB ó&LqìÓ¸…ÙÔ1<“Öeãô•y²š—Y ƒgؾÀDv¾¨rR”»õ¾Ò%^x sü*ñ|Ží¶©³‹(é<†¾Z£±VbÐ IÎÙ:kuŽíÎÑK» ç.ñ¾Ï¡›]CGVÛÔÕ@„s^(±î=æ=Úéð©}4®Z‹ÆÁC«¹û²gâ¸j¶¯:‡íßà™ÝN=ÁX"”à*Å»ZCq s|5Òý¦O²o BÑW_8ÚÕŽþ¨±ïó¶Ý:äµ;irßö¼'0á¤%0Ѭ/ ÁüÙ’µhàíC(W߈Ïè Å9û@¨à­‚ ®ðÄs¦Ši#eæù¡Çº»IÔÏæ&™´-\鬼@¼ƒåî·¯GlV'yây§R?» -ƒñ–2QhÀóï^°âðnêÿ¾·û'Î2´Ë -é¼P¢Ý=ÔˆgK¡@¼%ᤫ-=‚OÁ/e¢ðW[4Þ FÿrÀ¸¯ÓÇæƒ ãpždTð+8Aè£J ‡ï>Ï_ÛïtóG”xCŽr¹Ñ¢ÎC†ó6pfA†rÇNÍ×Ä™Ù9xkÿç/.OšÜÈúá Hæ Hæ <—$ÇùÑcîøöáˆôU‹wdÞm“7FSÏð/ ×’aëú9êÕ¼‚±Â  ­ (1odÎM›€~g¯ ÷ñ‹ûJ˜|Ÿ©’ŒÿüÍùœ=5O´x‡K™(ü PâGz>nxR¤^—ϼuÑ3j\ô [˜¾á û?…o‡Ï즂Ù_µüû£èæsüÎì7®yFî ¼CVû8{i5ÏŸ›ý“Øæ!åî¢I;4™ç}áî<°zÆík®©«qîÔ¼y­Ö!Ÿù¶[‡Ìfߨ¡ÙDŽv<ã¶ŸÃwæwúÖ~Î^š¿¡;»iÜÂì™´.ºF.̾¹3³eÚpp_…è`!dÒþLãfw0–•Ȥ]¥±x7pqøÈpt -ýóI˜} Tú+ I{ -B| s܇coDÞŽhú L8½'šw·¥ÍFáæž­ÄÉw7’ýŽ6…(žt—ˆeí4ê÷oòÌj81úÈRïÆòp¼·A*k,o#Ê»o£g6Ûà™Ñ:ã´{GÍ#ôV77È%}!Ë(ÃQ:•P:ûC²V@jø\ -æEŒxøÝ™ tHws…`ÒŽpÒ @ ‘÷p#Ç»üèñ./ZÄÃù¾Ò¤7 é‡3eö}¦Ìñ—"aøœ0üMšb€pŸgì†ÛÀù·²[§oí Úá2Åá¥J¾Ü©Ó2Ì<ǹ’dᜧ £eغ¾>ƒq¶ƒŒ5…%žóRæø¦’}o³dÚÂà?6û’ïÆ¤¯pbþ~Ia‡ B¢¾Ú ¬yÄo?Èî?‰þìÈ;‹#ònâôkÊ$ãM›ãüÇÌãìù Ä8œp†-LÛàÙ6sf6 ]Ø \xÆk®¹£iÞÂh™´?˼ý™Z–{©f÷Mœ×\“'6ãô•Ù;€löÍ^™=ó–Ï1`~«s}µ:Þ’iÃ盽²ÚfO¬¶±;«‹(í¼P?¯„Ùç}á¨e,SžkèÄîö;GŒvSÇn0õËþRÕò/Í•̓eÞò/]˜Zv;ˆíš:ÇøRf‘£Jœó9ãµÚ'0ÎFâ» -ã¼O¡›Ó¦ G -ˆ;‰Šq¦Í=\h±Îÿ ¾ÝAr7P"œ ^ÝCèf'UŠoòÒjµ.ð m4‰ç pú}"Hº£—v×Й-ÒÙ<~põÍ™}“Gvû¶ý$K>¿ …¡Ï0e”Þ¢2âöEÔÆâxÜákû>€q>i ð¢ñ~*-¼‡ë|`¾3^RœÃõˆ ëþâݜÇéð¢F;|(ñZ¤ËwúØË¸ý/5í{©j¸Mœ¸ÆÎlö1„³qúÎì·0ðLÛØ<ƒæUϸuÍ8}g6àš÷9|»‡ëî¤Ì=ïàÅâÍ`…áÇáK³iâÀj Â¸d™÷•*Å<n6µ Ÿ©g88†ìöRÓòï WM#6ÓÔuÑ1^sVL½CÖ -:”û>p·Î¸­þI„»‰íüΛm3‡Fר‰Í8{hõθíÆÙ3»qòÐnÀ7;ˆÐî9ây!ź{gÌæÝ¸æ@5 óÆî¬®±+£qöÎì:3Z&ë;æ |«$÷üRfßïdó4raõLœWO!›}`Ð9ÖùqÛÇÉ;ó6tdvܘ½3v³ P¤#4áw›dÎDsîÔ¼Sçß?àè“&÷p¢F<Ï3nÃuÄkwPâœ?’ÜóEw¨pÎ÷ü½ýûæÍÆÉ;ó9xhÇ.ÍçÜ©ù›º³ Å8©‡=îÙH–yžˆ±ng¼†ÛÄ•y<4E½o‰‡/]òåB‰u?GoíÆÑK»}á~ånñš÷ „»(õî&O1NäˆçuÈkw  ”ç<}‚÷Rfßgâ3éR4gK4g¨ÒBœ;³ R8mG4ç¡E<¯Ó·öå† íp C¸¿Cn»uÆi^¨1î)Âá;€l¶ Þ˜M5 ©eô™÷RÙÂÞ»²™gÐÍr¤»sÏhjÚý)³µhèÂÀ<†l4ç¤Ùg'iöÙCv6Ñ#žm4¹gYîÙLÿî1m¨ƒ^ˆ1(‘îz¤ó>…rµ!Ü-¥‚ÐC’Yg@Ú ^ö ²}š·/[f ,³†ƒeÖr/UíÞ¢žÙ^êîó¨g¶7fÌÞJ*ˆÊ}ŸA7$©÷‰í< ÝX†­ë‹#6«uÆi7¹Íï×î D¹Ûï/eŠ=ÙÍÛÔÕ5tduaÛÀ—Baè‰óìžB¶»gðíÎÙKó8zeþ†ìî!|³—4ù¾ƒ‹·N¿£‡vÓ¸Í5ue3Î^Z=ôHç”ÞDúºy²›ï|»çì%N² …‚ÐVâðFšì»ƒëî¼[1ïB¤ûG’z¿Ñ?’ÜóN~9Tiáí cý dÝ€…¢m sœÖù1›ÏÙKó4pbu ÜØ=¤X‡+QøŸF#.thç™*ɸT‰C?#q(±ß·ÕÝ:ã4ß3Èæ å~`Ûçùcû?†oŸˆ±?’ÔûA…tŸg܆ëˆ×¼ŽŸÚÝ#èæ‡é¾OàÛ×!§y²›'jÄóEŽyþhï/eö}›ãüèßg âÐ? -~¡Â:§. ÿ„ßBÿõ†¤­ Ä d(÷mæÆ¼LY—Ý؆7mŠñ§Q¿pReT÷…åò A¹\G¬öqôÊüÌ[mCGf]Þý¢€ÞÀ' ¯ºXü\8ú)‹¿èñîË yp{³zÕnlÇ{‚L›AŒÂûïî!dûCŒvŸÁ‹D;냲~P£Ñ«2½‘ã]Î3~»}ßþޏíÖáSûFzÿ©tÐ? ¡èŸL½OàÛÇ©Có9wj?§íóˆ×Â@‡o¹âîøö}ß¾ Z-sæEË qÕ<l¿ˆ2”ûH‘|é’ìãl81º¦¬¾Ù;›yüâl Â9dH÷ƒç|OàÛ dHgÎyr›ç|³ã¼Ñ$ž2ô DÞF‘z7Ïß›Ówf÷ºy¡D¹OÄX‡Eæý(ƒ¸ÕFdÍ EâmÀ“Œ -ÖyžÀ¶(Î3}Žo(„_Ê„¡7ð è(õn¥Ë¾D©w#aêÝR+í2m,o)†·” Côï#Uîù!ƺ¿d9þQ&=‚Ñq~$©÷&ñþ‘äžO²äûM™düÀgà? -ˆ+UŠýPbtHç} -ÝüŽ›÷ |ûEŽyÞ‰Ó?Ðé— Ú}?7ÿCç‘&÷p¦J2ž4¹‡ !Òý Ã·\iRŒ?‰âBq$H½\Èpÿ”Ë… -íð"G;Ühq?‚ÌËwÄm7ŽÚí3è†1Ö}¤Ê»œˆ±ß·Ý;ã5¼H’/‚¼ûI“{x’%ß/‚¼ûE‘u¸%¾d)Æ‘ùò¡Äºÿ#W)dH‡ëô©áui8‘b]Jˆ+Yêå6rc~†Í«–Ëi·.[‡|öuÆiž*f©c¸w¨‘îUÊý¡G:¿tÙ‡;q޹€þý¤Ì=³wvÓÄÕDt_j…àW ¢ð6:þ;ƒk5MØL#6ßà™Ý@†tö‘äžG²Ìû;‚m5•,Œ“‡fãä¡Ù6qe7šÇÉ;»uúÚn›94›j†ÏT³œ¾±3ó7wc¾æî랉ãªgؼè¾3ƒgfÇxÕÞ˜°ýµ±+«‰í¼Ü˜çñsóD‹wj\³L>Ï´yÍ;ä¶;(QîÆy½4;ÍÆÉ[«yüܼ‘¤]O Üí3w -Öy¡Åº»'°Í×БÕ7wh¶äÝ?ðI3qêåP¦‚ùƒŒ÷“(áG*øŸJ=Rdßß·Ý;c7›i“ì§^,ÚP"?“fîôù÷›.ÇùÑ#ßwúüûT2"ë+È›AŠDï`âG -ˆIê}¢Å»t8ç‹ ï(óðÁ¶Û0Î/Öý$K¾ï´é—C‰üQ¥„8’¤Þ:´û=€møOaœ/Š¬Ã‰í<Ð!Ü':ÄÃyÆo· œ™ßé[ÃáþÍ\ÚMÓ6fçÜ©ù Bº¼iSŒK• Ä«+¿ˆ8T(!Îd)Æ™.ÇùS¨ n€‰2WÂÜãJâQ¤a%K¾?ÔH‡ßÔÝ7ydw¡Üg²ãJ–}_©Rì…çð>4O´x÷£Lñ(ñƒ¸PbÝÇÑ;³qòÎüP"]îó÷öoäÌ|Î$8‡+QòáL•d<'/íSÅ>XF Ÿgܺæœ1Þ3Èö©iøÜ;høÐqpVbÜ÷)tó5ubuÎøÌ %Îý@6{çÏÍöAl»wüØ|QeÝz¤ó@…q~çOí¦©ë¢eØòY¦- ÖáSû>†q6NŸY]ƒ'VSÃì­Î!£ÖžQ£eμÀ5raöÍÞ˜·©#»gÖÀj*Y¦Žå`š70º¦nÌ–aóྠ-Ñi!¨g6x†Í«îÞ+«žÅÁŠ:ö½<€ovRæž§Q#³mæÈüNŸZ>ÔX÷uøÔþLZ—-æwÆk?ÈîïôµÝ;â¶íû徑ãž7zÌûL™ã¿tÙ‡ëÙì¾4{çÏ­æ l»‰ñ5¿TÉŽ-ü -Lú"F½;G/í®¹ £kèÀî"Å»0‘b]Žc‡†ëè©áAˆo9Qc®C>û3l\5• ÿÊ´á`À³c‡f˰áà˜/pVÌ×WK†-ŸqøÎìœ>´³7æuÆh¿&n¬¦šÝ[Ô3ï•yË¿8d²[rîÆÙ;óÔ²û#æ·bÈê­˜°Yk&. ÎD«wÕj;°Ù†/ÌžyûSÍò/uì{{xÖŠ£¿5tb4žš-³Çx·º «{¬Ô3ï‰ Ï3qa0̓eÚ¼wf.ÿRÇjoç C·²À*æµtüÔn¥N½›&mìϤuÕ;}j¹Ð¡ÝB¤û7tg÷Ï Üm`sœÞ};5;GoíþœóL–âhàoê Â8³WfSËî/Õ,ÿîø¹ÕA‰rÿH’ïVPÑ–PäÒsyLÞ H¿O1d(÷wþÒü Ü/Š´Ã£Lq(QÂß´)Æ›4Éø!œÏÙc³uøÔ|Ñ$]^]¡ø˜0Ìïr Á9(°î÷²å4nböÌýSçãü ÞÙ]WVçì¥ù!Å:¼‰³/Wšã=‚mgoì÷øÅy$H½|‰r/lÔ˜‡ïð½Ù9}hçNÍÓ¬Õ2f\´LYx¦i ›ià¼ê6°¹‡ ç‡ íò"ļ|è°.ש{ËyôÜÂHw\N˜ä°Lrø€&`8g`~`Ó/ì3è†ßÌ¥Ý8ukwÙC—v#)òåØŽ¿‹C_ªäËqðо’dž„‰‡×ЙÑ8ti·ß[>dh—+YêåE‰wùP"]®Dɇ;yŽs%Í=|¨±îSÏÂ`*YÞ!¯ÝEŽyß&9œäÈÇõ#(÷wúÔrñ^S7VÏ´åõÌ×—jægµÿ­É£cºf­ž•áC÷!>ÈÄ…·¨i‹ÊfƒwÕl ƸÛGqÍרyÙ1_Þ=«†îCXɸm-ÂÙÔ3üÛ¿XVT´°Wæ, î^YY1cà,jš÷ÒÔ}sÍæœ@³úFl6Ç|}µú•† ýÖº¢–Ýßš;0šF ,£ö¿Ô²[«ƒ=€è¸Uˆþ¯BÄ€ÍZÔ´{–Ë¿3p8Ýq-1^^­˜±­¬ŽoaňÙYT²\‹:öµ¨]7-ƒÆEïŒ×ðqÛ÷ tÃkäÂìŸÃ8;©Rìù€é¾Ð¡O’ìÑ*÷|‘$Þ½Ó×v˰yyeÖò­1Y=ähw 9Ê} Å8»GP®NÂä»ú}¦M¾ÈPî¾å;㵿CNÃqôÊüQ$^E:¸CVû4r`uŒ¾ucwføç FâF‹zxΛ·™C³kæÂì˜/ÿé©c\àÀ6Gí¦£iâÆjš72ºFÎŒþ!„ó@Œo·Lš×ÜïÙK Ï5ob·œ™¯q#³iÜÂj9±?ƒöeSÁþ¦Á1aô·æN¬îtó:{mõOaœ:”Ã}üÞòÀµp ܘ¿©+Éëp¤Æ¾©‡èçFz_‡¯íãÜýœ=5ƒ—vçì©ù²îÄ9ΩV,âH}ø]™ÏÉKûH–yÞÇîϸ}Ñ;ä4üè17pù—;a’ÃI“{xÓå8gª$ã@ˆpøNßîã‡ëŒÓ¼Íœ™mCgf#MöÝM˜â°‘"^˜(ñ.߯á5vctŒÙ½Õuu%—ƒmôÈj*Ù½Õ½<ô6ô/=ß²âÚ1S×åµùÏÄ}©g?«e…è\^4wbY9gà²Ú,ÓæµE'楖åZýÎúе8xè[4tÛŠ ŒEu cÅ ÑXýæð¡{P¡g]Ø@uõhæÂ¼5zcàš½1° ß]Ó'ö){ûaÕ½8tÂCÌXVˆ°-¬¯9‹úåCPÉj-*Y­ö Ñëzˆ zýÁCÎ;‡‡«ÕVa xÅyipÂr«œªœ°N\*'ª2Û‰Êɪuâj«œrª«uK5åDåDåôsx°l'wˆ b`fsbäðt°ªœHåð¼‰ÅÁyy!´Qe«ÙëÕµ«ÝReµ['k6»­ŠóÒr -[ÛÃ3SQ]¯Ý.•¶»­ê^­TW5+ÕU›Õj¹Ö*l–{­^¹UjÛl–kÕ^±TÖ¬uk¥¢ªVm­Uëu[EUµr­ZJµÅj«²Õív«½Új·ZmVËåf¯V.—K¥åj­[*kuËÝV¯jU×ëu‹Ýb·Ö V­5»½âZ­Ö*ÕUmLkÅZ¹ÜkõнRÍ ª²W-¶›{ÅZ±jYlu»­²^»Õ*ìVíºåjÕî­Ëåfàb»Øl•{­âVe¹ØnÕ¶êºÍn¹Ûì•kÍf«º[.U›Ý^±Øì›Íf·ÙìU›½^µW.×ZÕf»Ø­6«ív·Umöz¥Í^µÛ쵺ÍRu³UÜ-¶ºÍr¹Unöz½f¹Y-7«µZ­Znw›½Z¹TÕm¶‹íb«ª[m¶ªÍ^·Y­6«Í^³ÕlöºÍn«Ø¬›½^³Úì5˽f¯Ùëuª*»ÕV©²Õ.¶‹½v«Ü-¶Û­jµØë–ªªÝv³U-v[Íb³Ø,¶[Õb·Zlöª­j¯ÖꕪªzÅv­\ë›áŠÍ^¯Ø+·j{ÅRa­W¬ÕнV­Y«›µb·\¬›ÍVa«VìÕZ…ÍVa¯TW.–»µV«°Wn5[EUµr¹UXkK…Íj¹U*,ÖºÅRa¯TØì–Š[uÕ½f³ÙîõšåRa¯Ük–{½^·×ªíµšÕ^¯×+6ÛÍr³Ýn5˽V³×ë6‹½^©²×ëUKUÅ^¯×ª«Öj½j©®Wn¶kµ^­Uݪm×zÕr»ÜmÖj½nµVªkk½Z¯VíÕzµf­UÛlµÊzÍVY±XkUµÊš­ª²^³WWîµ›Åb±Õ,·êšåVa«Üªl·ªêÊÕv±ÕmÕUK¥­Êj«Zl–k­ÒV]­Y­µKUu½Êj«®×)­6[eÅZ³U-6‹½f­UWkÕU[Í^©ªºÝm•ªªJUuÝRU]¹¨ª®UÚ*UU·Ú¥ºr¯Ùj—êzêb­Uתª¶K¥Ír­U.Õõ*{µnµTTجÕJµ½Z«[ª-Õu{­ºVUµT× YkUKu­f³T×l¶[¥­ªj³Ø*–jK…¥ºb©®Zªk¶ª½R]­\ì•*«½RQa¯ZlU«¥ºf©ª¶TÛ Ú,·ªJE¥¥¢ºr«ÙîVÛ­v»U[®¶ÚíV»]nµÛÍv»Öm·šåv»Ùªl•»ÕZ·]-7KUuµín«ÙjV[ÕVi«Y-•u[ÍZ¯Øk5Û¥êV³Ym¶«ÕZ«Ù.7{Õf³Ýí6›Åv³XmÛÕV³ØnU†.¶Ë­^±ÝjV{íb³[­5kí^»Ú ØkÕÚÍb»×,–[ÕÝn³TUk·›¡šÝf³UÖ¬¶ZÕÍZ³Öjöªª[ÕµV]«´Yªn·«ÍV©ºÚª6[Õ¥êRu«Y¬¶›ír³ÚlVK…åZ±[n5Ëåf«²\.—«åb«ZÕr³Ýê–‹ån¹Ùê–›ÕRaµ\k5«ÕVe­Õ¬6ÛÕv«X.–ËÅr³Xk×ZÍ^¹Ú+÷ª­²Z¯\.ÖʵZ·Ölµ*ËÝVY«TÜ®µJEÅåVU©¬W«5[¥âRuµÙîÖZí^±Ö®–kÕVeÈj«Ü­–»Õj¹[-¶ÊÝj¹Ök•»åb©¸W]«µÊ­ªÛb³U­•»µn·Öl÷Zu­Âj³Vªª¶*»ÝZ»Û*.•ÖÊ­b±[¬Õª½V­[«µªµV¯W*íöZµf«ZëÖjÝj·ÛjÕ¶*[uÝj·ÙjÕu‹­j¹Úªª­¶jk­Ún³TÛ*ëuªªÝb©¸Yl7ƒÖºÕvµØí•kÕf­×®–Š«ÍVY»\ë¶»Õb¯T[.6[åb¯Y®ÖÊåZ¹U®6KÕÕZ»U.7[¥åRu¯X«µÊzíj©¸Wë•[¥Ún·Õª-–ʪíb·X+Uv‹Ýr«Ví6kÕVu¯Üêµ[¥Ýn·ÕëÖzªj±WìÖjÅZ¯WUl†íµk½V±Ý*k5{íf·ÖnU‹åV±Øn–*K•Ín­Ûmöº­f·WìÕjµ^§®×,Õ•»­ÂZ±Um–›­ºZµÚm—*ª”A"ÑÂeÈ¥‹¿,Âf©xd°2‘‡£$`PJ×”‡= 'u˜ $ÄùX¤Ol%šCÙ ‡(Ý4CoC ß\¡gi©ºíTŸ€¥ê´ÖŽ¡«í `»nÇ¿¨q]dÚÊ:ø0îaY(bN_¾’>ÂxUÞè–˜d¯hdß)xÊ8™Å…d”Žu§@,û ŒRžÈB&W^`Ë[žòAlÀ–ˆNíšY¤;5`‘î4Lã]"“ä"¦{BxHö¡q‰ˆäP0H ^¸&Wd« *)þAC’ Ä„$ùG -J²‘{CpHŽ}¬Ø\\˜©ÂŠY–(7Y˜¶Ø9l<.On@0_ìÈXÆ"EOÕ"‹Jú1!ù7$TÒO¨%"ÂÅ$øk dñ^( ù°4‚ÄÑ¥ãU7 Xe X`å&Þ<°Ðzh¡¥à5^ú=±¼¼”2‡iZEÍòÅ–1È#a¸£lñ|X°ÔƒZ`[–VIÛ„d2þq«œL¢7 „tòH¦ea’ÄËH%|Œ3¾t‰X`¦+/àUK€—-³2-ò–Ж*¶UòAù|´ƒ$RÉŠÈñ‘ÐH¾%&"ó’àp´ƒÒÃÑJRÇ&qFŽx¼#PîJYÆDOPi±¸Dq„¢’ÆÏQÔ‹` »- ¢¬#+DùGq0t¦ -,gœ…H99Oå6'ìQ ­r™ihdÑòD•²³rï·¬ckÌ%K½‰x$ÑP祣’ñ¥ã‘¿ÊÃ#‡”ˆC)…H*ÁÖ[r·ƒ2äÛ5!‚«Uáá•, žZñ‰S ø“#¬œM¹”ì#¢‚²OHK±’zFpDò‘¹—Däž{JLHŽ›`^">ÔT<ýËTÅŒìËÝ8äKÞY:¥mó¯‰å帉æ&å)¥‹-aO€G -ñÒU¹£KX$.]œ'¨¤yvF‘ó‹rê—6‡D€·O6¿V(1£QÙá%Pñú”\"þDD’Ø„I–;îJ|.Š\¬J |jŠgð":gc -v‹òãG -±â¥Jן"]oR|à`ZXä__^à ¡,⻀ȣ–/Ébäq@Ø21‰ ¥ß‘NJ²‘PJr’ÏI1‘zJj8Þ5Ùáxçd‡£ŽvQr8ÚAéñx׈䞒”€K-#§ÜUžÐB†©BK™e[Ä tÉ) È6Z*%î³ðIb'#?É_º•|É ‡œ†Ó˜ðøó•ów|÷²L±%“téz$ò%|hïÇLíxäܱɗðJ–[pJ¿xÚ%ŸÃRÄ× -°°ë,"ð ð´µ á¿°Äø¿ û«@ -û›€´·<ãëf'³ä -`ˆLÀüÆ_¸,A¡´]Yœ$!ä+òR‘Ç»$Gñ”i´[’¤ÑŽ ‘Ç<$=ñ”a¤‹RÄѮɎȽ&)$ÇGH#“,F2>Ù›D\"x)%/ôTn³E•³ÉVÂ0ST1;Ô¥ëíHfÒâ_]akŠâfRjànVˆØkY„Øz\¦Ø”7¶„Q -áò5G%ȇ`À¨VV h‡òZåYgH2›€ 8?/BêÃ%XòÎRÔ8EHië•ò–9BŠaÜwå0ßÃ(ü-)%îZÊŠÛ J œn‰¼ -Ž< JÜ L6Û"5 .w$ ._•–Oê( ‘$NI¤<&¦’b%¤•~P + Ÿz:B!KùâWÅIM(dJþ©ØD𒬤sS± §b“ÀÍÍ(s‘EÂp 2¹ò‹` g …L³Æ•²¿"Mò9 ùÁIï”ÆùH0”‚½¸Ìð}HŠä~Ep©QÁw0@­ RIS@¢y[UéÌÁNH¹æ)$þL¥„ϧ°ø_Y^|[LímËù -¤ñnÃÐwjwQqg%PÂÎ@€ZeXò…”áÅ‹r•³LÏ(p“0¶„%RQà'V9À/RAD’@nÙBËØ¦§”¸MF&š…L1ÿhZúù¼$¢vF€S/ˆò¬ -`ÕSªu]"šÕA.¶ôŠ,ù”3²„UÞè6v¢Å.S€ XŽ -;J›ÞR¬E_®z€Õ°±•dÉ'ƒlù*|’÷ƒ2ÅC*é•9ÃJfXÆ•P Û -®*‰ôV‡0Î @:›a™‘Ç1¡Ñå!Ñ:j AË&¸Ã¦ôUù…÷ ›G–°D)_pÆ$_rËUÌ&]hc,&¯ô”ÒFù7$tRLdÅ䘈©å HLI'z’0¸€5ú8 ä†krÅ1JP)l•ˆD)‡hZ*´4­’æÅÊ­åFþ§ ÈµNIÜpHr„w8隢#ÌÅÅߊ"âÓRPÜdNh|C!O¸6aL1 "lj¢Še,``N\àLô}êX]w.«5ya^~/”[`y-œwªÄWæÀVY‹b&^’;ª€5þ°ÒU¦‡­5ÀSË@c0‚PÀ¯"Y[}½­Àˆ¨+\ñ¤ Š¿#^­¡h‡ oZ˜€¹„±w€á¢4¥‚vÙå³Éææ9LP)mš'ª UÞèùcK×x‰”ÛÊ»ËKŽÚŽI‘/ˆd -n¸Ì·ÄáE ³E–²MTÔ6U\9‹¢Å«0Éix¼¤É×C‚£‚ã¾³¼°½``Ì!P1ƒY‘ñͨÌÀלÜÀÙ ðøcSpÜ·–søÊŒ¯ÃöR¢‚ LI‹0¹á6#7ÂsGppA)àgu)aƒ0€­m2I?ÈÑXSýxœ³º”°Ã[pÔoWÔ‹§à–0´Œ9*9 7„Æëp¥6K x,Dæ.ùz€È7ï -•:1ʼPŠ_EËoTâ%ÜhDKXðI•Oæ½U¦áÝ€^+“K/T Ä/-¢[\SbÜnIzànDxäjHnägOnà_YtÔcXpÜoQvàmM~ü¶&8r9)Cþ %]|JˆäwI€äpT„|5):¼ž”"ø¢)]vQ†à¸6¦EMÆ%‡?›"#Üg¤GW[”¹0 3†JÁbapÜcatØmZ†ØtXšÔˆ§VrÅ)\pÉ![º.[\!c<õ‚†¦<¥ÌrÐ$¦âAJP)l’¦T΋€Á½€± ½à>„r€7Ô€ûðÊ^‘H\qȸ.5˜Bf­¼o™`‚™FõpíÉú×Ð{ƒÐZÖPºC—Ñk -©ß²búÿ)Š<‰ <ÈŽ®?C¾È@ŠpÝñ>S²ÂkžRþ¦óCP`ó«íb ¾ Óo fÆl#€ Bs‡N|Ä`´94ÉÌénÈ£;â#ϱ¸ð@Â;µäÑK´x‡? -~lIzä’nc±&š¼«*óӲûUñáÃ_hÔàbÌWPVƒr#?krãwºÀ½SRÔ°ˆÚVTDï V@kXFëð\bIPx—Œ†µNM?Ö”Roµeô–%³î.¹¤ç.'î2&/Âß,$<*›à ”Îá%,p7!1¼ìvàøR3ò«‹IŠp>EŃ‚#Œ÷D~¶e‡ÿ€Ž7À˜ÄI®y£J™¤‘,]ŒO°„¯lù‹NÀà–&ªœI²àÆ($LNVÀKýg€Û.)4[LæÂ,_¼b“/x¸€Ñʧ޹ìC«BL½õv¿d‚/$`úͰå³þpô[Y ýY!Ž÷„¿ -‡¢Ï% ѬµB$k+ -ï"J<»ŒÃÛj éµ¥ô[Iõõ9MÅ4ÿVNàá..<×–¿íHa;<¸6 Ü“Ø6ÏÈmɨ}y3Tá¼»„ø¢Ð$óæðåóη¸ð¹7h*^»cÒ¾Þx´±; o §Ÿô.¥v)"ìpùZ]sArté%)‚ËQ)â=lÌ]ð&3`Ç]#0cÆ€ p´ø~ðrìͲ¢Æ§À¸¿¤ÀÀÃO^xºŠŠÛOAñ¿²¼øe\rܹ6è{Ë‹ú«K;üE†e@ -:„'è+0)æZLÔ¼ˆ¨5„ñÅÀ…t®ptîÉœ+œrÒ¶€Þ¶ÖN?iLDmÄD˜f""Œ…ÔgY1õ²ÚVTD=‡,£µ+Ÿ´veM¥£Ñžð¤s¶ %t¾ %t–ÐÄÌÁJ¨Ý•Ƈr£+ŒÉ‹—Ââÿ)1umEŽF½e€  *æ,0+f;K Û®²âöZ)q[È" -Žðd“榔¦­øcUnx2'4þ—•·Ÿâ⾫¸¸·¾˜°³¬”°5L­! Á¤)0᤹>,ëìI[«ÒC‘þq Âu!1îå4ýº„þ* ÄÏ¡ -ç§ŒvmIÅ-Pá´Ðh¤Ðx¬# Á´5œzÚœpæ”dæ^&¢a°%+¸ÔšÐ§=±ã_jÔÌŒz¬‹ ÏÇ îWäHî -Ÿæ¥ÇíÆIÍwÀ›ðʯ—•¬|äûu€!à1xÔ^ð1ç -à Á¨ÞPf¡UåS Á‹ÀÙ€¿š©t\qÚÙQ,íìÈúÃЯå4Ü%bYOÍ0ü\"”S.¿ÈãÍÊ÷kîÄÄdµ…œhÚ¢tÖÕ¿”‹ÀO壱æÑZl‰ -®°$,¸*H鬃åjžB7šê‡$ÔN;ªt7r¼Ë!$¹´Á[RÜžJ ¯‰&ÞBið$ãJš|?*¡}J)øÒzf2"§£ ð`K^ähLjäw–uL½\(–3UGºŠˆ#mgiqwEqñg*+lšâƒOSÜ\LTäJ oS9ám*-l2)5p5,>n¸+@>×–6‡LgT2Áº€~ç++l¥…÷J9a[qQc¸"J[°òIoƒ\ÒÜ!–5„$š³„%›4„%š³„%œô„'3)ŸõRŸujú=œ’ÖNAi WDgíÊúǪ„à½@EᯢÑè¨`pÂçòÀ¤±œ”~ L>o R8í[Lë VHé -§ óŒw÷&½-b9S8ýoÀ"ZW*áˆf= '= '¡J§½Á ¨ ‚‹©}u¥ôÞtÛ#ò–°„“æ -Á¤¯6?…&™¶„%›t• G[“/<Ä(—+]öý -@.¿·È§×|ôë1õ¢ˆgˆâySÕXô -Rz)ë¦Îñ7zÔû?€o¹NžZŠs+BË»ÃQÇÃ^‹¢ws’#';¥µ ¸7€!¥5P:ƒ8@D}yQ°ƒæR Uà ñÅòb¢öp‰ùZDr60‚\qîÑ@rsÑåÝõå¼ÀE¢ÀÄßíTª†¢wàbñ>@êW¡è‹&í|bœ7Ú‡#(1þ;i>ç¯Ìb„óN£~^ÊD!Ñ£ï |óA‡r”lÒ!NE?†*Ÿu‚÷Ñfž=4YW_<ÚR+í¤~j„àÏy´-lù¤1d¥ŒÒ¬Ñ3o]ôyíF@ZXC8¢IkA!qg òùÆãÝ€…!ÞÔ9þN¥ãÿ$"ðOÙP´±C"ë+o(…µ6ˆåáÈ&­ýQYWa0J€²I{ØBZcM!õ]%™3UGºªGc½rIK ¾på“f°BÑ>@:hWˆ" -ö€…tAŠC%‚ð3iþ-(¡è¡J o+¸<0iª7•‹H{ÛòÖö¸¤¯8(ëmKúzãÑ–€Ó~°‚ñȇ‹íòA¶¬ Ëš‚Oz Ež·…d8B…&z(ÓAëŒÈ:ÂMúBÏz˃ÒvÀ"ñK¡ Ä¡Fv}\Ö׎÷é ÞÄ96Àé÷•.û´Hô@ÿŒ ïþ¤ž¶Gä=õâ—aøŸFœ ô ^~M1¾„É— óKÉR/ïù{ûG‘y8Lz{D²®ÒHDªÜóJš|i²êFãíàÅâtÉw1êmúå<ã¶/£Öõ¥®áà9®Ù¨2ÏÞ©¬­;m&Ïñ½Cf³k䯿š;²9‡om®¡£eظ¾4ubà6°3.p ݘý“wçŒÍîš»0:ðìÖùC[Ê\ ÂG *x/aŽÿÐcÝã”é _€‚?ŠÄÃã¾Ò¦Þ—JAè˼ [˜6£ã|—É&øÃÓÛc²fâÿ±tHw+aîáQ&½‰ SïZŒ³‡"éî)Œw7ˆ&!Iç|µAYK™H¬¢Ñè¥PÞN¢€U8}׈æÜ=‚IOÁHôN¡·Q@{û#sÎ0¥tÖ0E´Öꨬ |ú£ƒ~ -ÄÛA‹Å;Ûƒ’ÆÚ€¼«n0ÞR(o%K1V‡¤]!‰ç\J'íAISÁpôO¤ƒxQ¤Ž$©7ä8÷«.ý‡(¢~Í:¨p×ác³ƒç|”ŠÁ»Â)èluÅÔÆÀ”6€9ÕBÑWµxüØŽL”x‚OÀ¼I“¬ ”§‚Ñè¨8 B¬¬»•,ù~ÒÀÏ@Å¡`œ'b¬C@ú'¤8‡+aîíÕ<dž 5Bð' ôQ%ñ)ˆ¿êÅ"΀Ä!~©÷ƒ -çžJ ï(„¿i“ìˆú.œ B”ûJ˜{>@„sž(ñ×É[“IËyüØ–@÷¼‡6V£w*›»³™JÆå¥šý-™µ./Ï `MãföµÁ+£—:ùnêÒjqšÇ#³iàÂèö[I³Ï7h‘xÅñhT™gUæÙE’xB‹uW‘u–Gä½í!‰½y;yþª6”)!ÏÛçùcû -Zú^H½†-¡4 -B›èÑî3YŽs%J>% ó<2m-½ãœÇÙK«{ -Ùî'ÓÁª”s‡%½@Å¡W`ÂÐK‘0<ê‡9îù¦L2޽ys}XÖP&ï¡Hº›Ç&𼫡LÖ["™3% suÅ£} ”üé÷§^4ÚÕŽvŠ^ÁˆÂ¿d)Æ$õ¬Pô R$F•ĔġH™:û¾“( Ÿz±xC@’©CNó9ã3¿ó·VÁŠ(˜Ž‚Â[) ýT/ ±5&m.É›‰CœI’œ)ÖåEu¹æe^U GÏ@Å¡_Âäû;â¶Û&N­Z¬óR& ý‚†H”yNx‚PA܉3ð;yŽs"Hºoƒ7fÓÐ}Ñ:ã4$©·Eâ=å"ñ?‘þå@‚sxÎÚçñs+rÌóG|êD Ï±œ‚ÁxEæÉ}A8›8´ÛFŽì¦i«gÖ¼è5¯{†Í«¾Ñ+»wþÒ<•ÌÏ1^à-¢‚D”ÐO!ŠçL$YçeÔºÀ4rb_¢I¼Új#²žŠ¡è‰ ÷è¡I;š)”l#(h/möy$ïRDmîË:‘îïŒ×¾R瞯ÖP4’Ô»…çü’&ßOP"ðf°BÑ®¢ñxC•âJš{¸†~ Eï …¢·päòSÁpŒó[vÿ‚“Nû@i -$9g;‰ {XFë­ÓÞ‚ÏÙʲ~*üMBk I8?‡$›x…!šv©aÓ&ÙC™æR%}ÖFe=…¢Ñ'(ý«’Áø«-}S% Τùw3H‘x;X¡è¡RÚK¢b[g0mÎùS£Dý–&˜Û“~àbÑØÄæ ¤+D鬷>.i©ˆ<€l6Ñ£7‚ÄûBŠuw’dßOPø¨(üZ‘w(õ†%¡ö†* õeÍ€…¢@Oªßä‘Ýl‚æ-lOYaßùàÑ%FFXÃiéü$Jè¥H~ªwiá/BÌÃ}Æn]Fu\>Éa$H½ü‡Ð WÒäó’tÚžh†µ:,ëûˆpÎ/aމH“{øO Ü?‚ÜãDþëŒÆÿDŠ”û8|egïÌûü¹áE‹uá ‚ÁˆCŠtð#IêùÂyA¹»Hï&м»ˆŽó/ƒ‰^ÁˆÂñÚ£_‚üû‰o9ÎÝÙ·‘C³kâÌlŸ¿¶°ÎÞ>ÃæUÇ|}oÏÁYýJƒUϲ²B¼û¦|ÖÜš3Ó¦øGNŠÂ{ “ìyþàl#N;»zƒ±vPc±¾Àe„7LIŒœ-Ç /šÉ‰¯¡I§"1h©wcwæ3w%ûªŽu‡(Ÿß‘Ë_u±ˆ ðج‘ ³{íÅ¢Š}ð†, 6HåÌ$*¶—<ùn3 í.LÚÁ H:*¡MU€£=¡‰f}áÔs“ÏûB’Λ˃ҮŠáèŸDqßÉ“ŒÊåD‹wø“(¡çò ´µ1(¿ Ã(SCo ó*%Ä¥H…ïn2=ƒ í!ɺú‡Žf -5 -hK•`¬!ñ_¨2:ÓPJà¤|ÞÙ –óƒu‘#žß!·Ý=‚n>§OÍÖ¯ÝH’zG•yÞ€(ÙkHÖNIm P>iîÎÙjɨÇb"šk òy' ü÷jõ« ´0¼ÑŠÌ‡)±áC0!a/±x ÞÝD‰wy"Žž›'b¤ C… -æ RâH’x¹`Ü!–ƒÌüÌÅñèƒí|ã>¡œM2žD¹D8ç‡å˜:¥Jâ\$æP ƒùKÀp“¥Þ„)WÞáR'ñ*‘v–‡ålµiK@¼•2Å'ïÌóÝ®;}#›_ÍZÉ’ïÂA†«- s¥Ì<<§íÇtÙ[¶Ê¢žy¯Ï ÜUÂÐguHÚHø}!G:›Fnl¦šá[1]öÖLØ—'ð­îA|›ƒåj#Í»º ÅÚK1‘{-Y‘ƒ¨bj{`Òù¹6(ýâÝâ#·±+«iêÂÀE”xµUdm!‰æ-¡ˆåýDú— !ÒñŒÛŒïò(‡v• G{ D5ë(ƒ6UG:ÂÍ9êDà_âäûLÿn+ÈZ‚’ι’ÎÚ‚Ï:CÏ;’M/ˆf E:ˆïˆÙ~MÜXsgöuøÔ 8ı5½Þ)ÓoÉÑ/¯žXÄ¡> óA8| “—%³–à¤sŽrAXãüÍ5ve`¾2š‡ìæŸJo QFç_Lé,*¥ßJ‹¨§Ð„“¶Úˆ´ŸN ÚN¤€6ƒ‰vƒˆ÷Gd½`Ä!>¤h‡óø¹y?¸ZA ÄÛʉ©ma (­½Ayk@Òé½GLó -E0gÔ¼ì¡FºâtÔgI)aSͰO±`¼p -âK—dŸ$Ù÷oîÐì92ÛÉsÞî€ôÝ•?JáG³wÈm÷“(`.E¢ðýÉéð™´/»ç³W¦,<ÛÔ‘ÝC‰uß&9W²ÜË{Ûþ M5û_êØ "ŒÃ­2}õD#Δ¹—ßÄå6mdxŽNÓæ©_~ÖáSû\4Ú²”Ö¬„Þ”tÎN ·R¥ØIê )Þ1eŽñ,H»COé n…±ˆðüËkÜÈìŽÓ_jÙIÖÝŒlÒ–tÖFýÙÕ·:|è2\èY:PÍp¯9ÍþiŒ£ƒéjAµyi”ïΉ¬Œz¾¶;ÇŽÍû²å7ucøMÙ½T)Æ©^<ÞM›€^‡ÌfÛØÕ:䵚èñîEÚá?€oùÝÙǹ;û Œ³å“急´VÒÜó Hø}K4ç `>i«-£·+ž¶¸Ñ$ž”‰Â/Uâðjò#¹¬ŸFÿP#õìÓ2f]uܘ¯‘#³}þÚ¸š.Ç9’â^øç/7JÔË›(Éá§OÁg ~ 30—Q˜/HaèÐh3‰Šm*ÛÇê\X fæòofßM¡I¦Ý%rYcmLÚÚ˜sT Ã{ˆÑÎ(ý«¹I2gXDë,+£ø -iî èò$Ä‹íÂ9}hÿgPî¦Ås¶zBzW½€¼¡F ÿS¨ î”ùwĸg•AYSÁpô:Ç(1ïŽ"1ˆkqPÚV÷Ñ£žOà›„—?+rŽŒÖÑcó;}l9Ž]Ú¿™C³iÚÆhÖÀj™3/ºf.̾©+ó9xh?¨p/z¬ ßè•ÝqÕk««›½1Ebð7mŽó™50ºßõ7†Ë®c¸ìºg}Èê$xQÃé¬Iûƒ—à SDgª6QÁ»‰sü húáS-ý¶‡ä%‚Ð/aŠPÁÿ$JX#fSËü'ïìB¤+bÄÃeиê˜/û;ÃæE )ÖÝ -PÚE–w7›ÙWf w;ˆîa†‚†^wð@5û[:ä4»ѾÉ3«eÚÂà›½³9ÇïÌŽù²¿]ë -«gieQË蹦ÌëŒÓ|”©¡·°”æ’½O ]s7Fϸ}Ñ7shö]™ÿ„à ñ¼µŸƒÇfóŒåî*½†,£´ Üm©wWåx¬/`ñ¬-hñœ«h4ú D¹ßcÈödpé’ìˆ -Þ -Fþ(SÁÜ@ç¸æM̾Á#ûFva Â·|f­‹žyë²wøØðž¿¶iq¯ë@&¹KéQŒÚå>c¹<)R/'RÌû>ƒn2qapL‹ª†kYæÕ–€þ J‡ov‘$O!›]$‰w 9ÒÝ8xi7ZÙÍCfÑ(óò£ù„8V‡¤}áÊ'ýЍçöÀ¤uøÔµŽkiõ|ëªH³îꉩÍ)èƒëhÖÊîqZø‡Ð ¿Á3»iÞÂh>µ6oë I›)¨àÍ„9þH“}÷O \¸o-è®Á -Äß@…¢_ÊìËÁ[û8tluÛ±.\²¬#h1øEÚ죡V‚±A&é -^BÁ¾|ÎA‘t3$Ý×ʤÒ{e`|‹ŒaN€¬pœ"Åv‚RBÛÓo––vÙ©¿¥Ç¯½È 1 `Â{¡‹é×{š¢þ2)ñ/D¥©f<ÚR$o SDk«)¦¶&ž5( 3SCÚÈ’> -èÄ€¬#Á´€’Ã8vd95ìþ8wd\7vdx$]X û‹Dï`â=iGÓÐ…QÑÂÞ™72oN^½Cn»iÞÄÀT0üÛé/V÷^}è"hè]: f캶’@ûèmOïµÈ%5 Ïêà-4odৃ6†L¿À”‚«„H‚1|ñµ @éw)Ôü÷5âäû^À/˜µW•~"À b0‚•2Çöuˆ%x‹‹ -ºÌ‰φäF8‡â‡%y‘s)Aβbê»D:ÁS1»P4Á NÚŠ´ðK™H¼‘ ŽÎÚêa°—Æ-ÌVšãU3q -F,?‡ œ¹ B<1§†…çþ¢_UèÐ1d#ô¨¦}[Õ­Ñ;óö4¶Í3u_Z1a`+ª›×¢Ù Ó2PBð ÁËçֶ˧–ƒ"Š`)ŠÞ8ñ «BÃouAQcƒh~Œ"ÒHŽd•Âî.Á¤7$P:wHÀtÞ`@éœÅåDOqás'/>¸I ?AIçœt)¾”ÚZPDøäDŽuJÂ~2E¬uÆm³S蟿 ”ÖpúykuTRÅæ9¦Ë;SÁh›† ìÆ©Kû=o_‡Ìfû¾ÙAv`60­®eå¡gqðÐk,«~oYõV::ÖÕ‡®Aƒ†n¥ŠÐ JXK¥X¬/d){è"jGpÂ9Gp¢9Wi<ÒF“{¶Ïá[xFO˜2ú¥¹¤¸?  â‹M‚ù]×S5ëH<Á~xÖW“·¤ßÿ ŒÓéCû3ha»{°w†­Ë/!È5!Éå=£07àIƬhü:Ç\T¯0¸o³úÒƒ.ÄóÔ‡rô©(,Ž`š·èò®Ž ó†è \è´z,·ƒ7dºŒû&¸‘¨•DJöMæm=B鵀ó‚‹5ŽGÚésÐ^ÐB±Þ2‘¬ ð» ˆð«;|­ãŠØè‚d¡ÄŒLØXy'¡µQãžJ¬«¼P´;h­!8 ý)ÚÑK˜‚óV5%®E„¯¢ñxãЩù6°çÎìëä±áAƒsx›¯¡ £©c^^q[݃7w°‚–BÐ¥Ð7`°0#þÖÔ‰Í3n`[5xgß<3o·¯8ô%#ÝOƒþdä “};<ýPÌÂ*ÇørH€ ­¼Ëš¯È0ùÇ®3'4ò˜ÒL¥ãZÆ­K+Æë¡¨6c@ ïÿBƒæPÞï—3™•wWt®¥€:¬%Ǭõ¥ØÂ[Ü%œ_ `L¿U=&ÁC’x4Ðb-ÔXg/qŽk(‰t‡%AJé|!ÊèIf !É¥ÍáK 0}ªâÖ`ÅÓNÂ컓,ù¼)™6„'˜ô踖¡ûàžgYõ./ˆ¼²¯Qež …àl¤‰G÷ ÊÍQ/ é"M<šFNìÛ¿ˆŽ[ žÑZ:‚l`¢L½/“ @/ˆ_ - ŒØÒ°ÀŠ­ P±µ!/²¶¾À˜3 âû4‚Ðj¼£™@ýê; ç YJÁ¥ó)*ð¯*/~•É™š†kQÓþ´…/¥Þª’sg¸ªãqOIƒ!y‘_-)½›2ÉøÎž›ï!¿å>€oyàZøFÎÌÇpÝ4MšØÿ!tÃuÈl¶ Z>Çt³¨dßÛ³@„è dè"dèMAúO'êB6:V… =ŽpÞ Ê9pL˜ÖuŽÎ’ÉÃAĬͨuáB¤vY -‚™‘yV”7&œ4”ÏÃÑ™‹Å:ˆñnî)Œ£¡H$ÎXšß -§¢`.m§Ï¿O!ŠçŒ 1ÁõÁɨ]u±øyöØÂÝÓÞ^{±zø«•#v[8 ¥µ ŒðXUHØ8ymà¡‹¡Wèfè¶z :E¥c,°ro"~]Ùo¶ÜâÃŽitrLÛ6ÍØã ¡LマÀ€ù3{Ë=´¤ -HAÊÕJÖ])žßï—u^ aÄM¼üŽ$ÉæÌÀŸZÒAy_)Áx´  "_iGnäY"—`$Êq„)®Fë S:çM<ÁD•vöŽ›m„È—Gâ -Fþ¢†´’§ß¬ô¹gû ÆÑ3q_^6<ÃÆUÛà™Ñ;â7»†.ŒîXYV}»ÅÐ 0èö¬dؾ¶dÚÀ°jÄl!œh0^(ßȺËB¶@”q`(¹º*?± -QÓ/À -«ü¥„2Ø2‰+-J\u 0KCy…‡ò -íЬ:½Y$œ^`FÌW`JÔ |~‰"ój½µÙˆ®BRé½B@ zk&øZÅÒËAàºJ -Ÿ…åD`âÌ:¦ ÅÔÛ³×Ê‹¹ë‰ ßuêàƒ“>ZÌ ÿˆÝ¾„úâÆ‚úæÂdÀð®~V¿2 Ð@q{þµ’š8KÕ0ì^^­þ¡‚ Ê8ð­ÀŒš‹·%ŠíJfˆ˜2¼Cÿʲð3¢î·ìâÃ\Æòa­¼€Ö\YÞ»r¾‡P¸%€é2rÊe‡¡1_‹d~•<ýÀ`b ÑÈi8q ¼¶2"Ï`)¸JÑ–À$³Æ€”Vp"±&z´óDŒz7„"•w®¤ÌJJèW°‚ÐV â°–z±8g‹\ÎK™uomõmÖCÿfù#H»®¦~h¶ï*`õm–Cß`!„ŒZþÝ \«gÞ¸¾Lž€4`žÀ90Í\ÙÖfŸÖ…r‰-»¬Ã+ÀÚÏ€h»ÌÅJCùtÃOñ…žE%Õèõ¦¡îÄCÔçdÁ( Ý(ä@Túg¥C8—5©7C™(¬7„!ñ•[²# !•¨ãI®³%4ò`DÐLdû@f¡·R}WiagèB:guh‚¯1,i,ͯ•Çå·ª‡åW Ó¯¦z…ÁT¯ïZ^»‡°òv -6ô<ð ®ÕK%òj&|õçÝ-d9G}æÍ n,~!p‘…mšõ„"R‹é3q뀈ƭ¢Q2VÎd\¡¢¸|n¸–[t PÞÑBYG‡©² -FL/Ä<~a»×½Bƒ¤Nc£zØUŒc(z1¶¢ò²‰¥ š%#ÑK5„Òkƒ±1Ó9ÙÁåvdFW–Sš730ÍØ·† |ŠGGá@ün0@Š-0.6î2&/ÂYQRÐQ¤Žsâ8ªE"xƒL|­°âë @Œï$¸Y•õ†VlakLÚIƒ{aD|xc9nk_½ƒpWR²ö$§Ý‚ @˜t[ - bkC¹E7P-*-–ZÊ-Bè Ë¬ù¸D¼ÉÈäÏL˜z -¦„f7øÀ¨ã`3íi™„Ó2®L(Y7ˆHa… e$ÂÊY²æº<©ÅÂô ­°â;•ãqÖ0ÒùíȗӢľOMà´|ÖÖ6-ž~–N/¥‚ÐרÕ8|hW^Fø ÆÑU<*¿7õ™“»ãrî[ zÒ ]éIBWz‚Гl»÷ -k -Fâ=H¥ò$ƒíä¡}Q»æ»wy·ú7ƒ‡Þuõ†Oì -ÂP„è*3Ñòe-WwŒÕXee°ê2— Ê,4Øœh“ÐÛ@8è4õ?E¦ãðÌ õ XªÉ8L ~³D.g YJg/•·â¯5±R¤ëŽˆpí¤”KB‘Ë; -ôoê ¼0ûÀÙ%–ௗ5‡/¦³u‡%Ø 4ðî9¬ó>’©Õ!3´°E2½EŽvy·¿vïBøÐA\Qĉ7ã`^Üb)Eò¿(Mðµ0@l|9f1~Ðt^šÔ€S¾Ü–/¶ŒEÞãuød÷_ÐzW -—`E¡ü$ƒƒ² I[(-Ä$†¹¼UЯGK]Iæ§ÓÌt,ÒþBÂÎäÛU¦Ý–!8BÏ/“aº(:ÂX -°#@ɬ™<Ç÷àœLZxîà-2o\_!KºùÃR€·¼°˜m+5hˆ¡ERËŠå «œ#ËB9F&† ªZù2’,2hÊ]Â:/Oí>K§¸‰ƒDùº´Ø¢‰kÃêU]mï` $ïÃ]žrõFÚOh´r-¼|zÅUþrõVF`+\6„…r >7ø.ÄÞÝ~à Íu - -è˜Âi°P¶â+ôו~ƒ£t,¥óH€)€1Ý¢+2O“ä«rãV;Íÿ,+<× ¤M“÷îYl(‰™ÂHhÍØ}aõïýФbPkoJ”;0ŠoUr•àåUO 8«F.k¦Œ-Ëhò0+«Ü ¯‹ð_06#0áÌWÐòŽœÚÊ9®ŒZŒ¯r>Õ<Ùô0¡ŒÃCVÙ‰U„r’ M8!açávæDÚ¶ß…xÐA08гEIý@OPgºùéK2>=¨çЪìr‘,E#[òD§^öé ûE{‹ÒÖ†óöÊ2Ã'òxâ¥ÄHŽyñ·˜¬¨µ76g6ç*"–ß;LŒÚ"èlM¯“ C-­F\¡•«xíÊ|Ç\¼Ôb@òÅnùÌbR¨5UERËCÙÖ]6’•Vβ•W+?Ñ -Qr5—`Íå&Wà2bå°ÚÊÐR+/ õ…€©r -BU%P9¹°ÝgŸº”ÏP÷é;]¦Ó<ñ(u-«Å1F¥yß'þê”Ò\`^x0­¼{ Ç5|I4ïW倬-D¹C,k›:²»oà`Õ¹× T4., e!¯$p/.Q×3°[Y‹×«|šÅ¡lĶ £Ã¶Œƒƒ/o±âË‚Àì‡#Ì\\2–ôCr)62B2²É]Y™!6”·l¸–\€P>Å€—°+à*¬,€+ºŒ€n9 £²'„+‡\šjÛNè}пSQ}kÔÔzM·é<élÊqȪ…w¡aÓOFàU6m´0»‡ÐÂÚLa­4JÜe -,d˜%ª ¿`©·Ê0¾G$ÄZ\ŒÀ -+ùZ•{\Õ,ŽuÀ‰T±ÄCÑCWYK@-Øae\åå@xËtÈ*/Àá¬L,»Sxï– €lå!À<¦qÀ‡ SÖò– ÀAÙG  ݙʹ}îvÀyÛÕ:XûÖªk•”ú“ŽP?p3Ô“l„:P×éT­‚a83T."lÄ+‚d³QÉ •,÷Y’€óò¯˜&u¢>%-`•5º„‘—\¹÷šD¹ÙÀ@{•‘xë2‘,­r‘Ør ´tZ9@©‡»<D^Û) Àw0ÿÑ„•±¾˜½Ê]Bl•Xe(+ဠr€àumdÄqcgm÷Zƒ”Tßà@A§± ºÙ„j—óà z§ú‡¨ž¶Mлè^§¦n *ên‚fz’ÌL"na« ‹ï€)öÛ¸ÙἋ ï…Ûk+#î c]¦@?n ¯e€´F-©ÓÉ+&"‰|y ˆ? Üsa -àí*„‡ò• Ö² K°¼ 4ÅBO‘ñjݘÉ0¶#þ2¥fZ '‰”QPè–“`È–“\*ߨÀT!¡‡ÉâV†Úµ;þ}pvÐçjwà kIõ Šº…#£Î5"êtŒ¨f‚‚1t¾B -À,p.hZ"?Šì»;†ºVeù˜D<ù÷ÃTRüC¥àÌHË%tuå0__>½úå*WàòÊM:((ÈP$eÑB‚²‰ -ÊM0L•e`àAÁf‡ö&_vç‰avG -b6Lj`–æ߃™un~^q†Zk~NͼØsÐÇô;Zª»u˜ê  èU ¥®dcÔƒºÐ ÎÑŒÐq†½Óf̾!L8ÅHÀLî 9…Ô#R$’/H”ã2$Å?dDöù Ùç#F¥aFÉÌ(oŒ1¼x IÀ³•Ðz+°u¡ÜDÂò‹ @G'ÜȨëîw´4r…ºHB@:@§e”y\*ר` Lb‘Ç 36Ü®®B‚âRŸêêN4A݈&¨Íõ¥¢ÎD3Ô{ttŒúOÛU]öâaPH¦ã/xFŒ|F6O -áâ¥)âtí²Pç%aŽÏKÓ(j‘-²„U–:Q{¤Ô«AL}‚Ý»ªƒm¡º}¬ -ªkXRê|Šz“ POÒ©©‘é4xŒ„€Z P&ÂA­ŒeËŠ•ûk´‡r‹-«rY_ ùRúé˜Q)î$4pÇÉÅŒ:aTáÊ“‚8«¬¥ƒµÜCR@%4•e@È‘âXucÄÏJ}Qö {‚«¼Aª›YôZSÏB°Ô-1u -IJ]ÒR×"!uí‘Rß!õîQQ¯`à¨g0€Ô-v\î!©rÉwD‹%_‘*”|BŠPŠÈ ìcRìCɤÈHE‡>;{ÐÕ éRW•‹T @£* °ªÎI/è™÷‚ŽˆÕù0èmZ¦ÞeMêXOHýÂR×"u+‘Qw°CÔØõ#ªO?¢ötÔ n@f¨3Éu%ªPO’ êHÔ ê‡PÊM2<&!¼ì+ò£SïIÏ>%U@ùšXñìcÒ%³¯H•ɽ"K&Å>žX’y,¹¼QÀ$b—†"œ‘• ÀÒ–…`*»°¤…±+³" Û ­tµ:ž`©wI-Qꄌº„ ¤Þ%2êS@E}Q¯u;HJG©#Õu ÔyºµËÈôŸþÓƒºOL§neäåXM Õì#Âds¯ ˜Ë<&_,÷€±ì#rE’ˆŽK¿94ýxÑüÓñ°"“ˆ54?´ ®ˆ&Vö‚Õ¡|eO“> ½ÒûÀCRRß`DÔ³ õ9ê¨Ó”úg ÔѰúA_ã*èùT§p¤Ô!u©¤~D%ê>937Jý¹!ê® ¨Œhݯ²W’}ApLöñ1)öÑd’oÈI±“~.Å=‚\ö9¢IöqärÜÃÈ%yGÌÁ,&q\öéØâÁÊ „Ú’úé³1·µ‹94è_ê@×°tÔ­;C} -G¨;°êR3DÝ PW¢þô ÞÓºN÷é<Ýh¨;ÑñtŸNÓqd|´å#.ÅBnlö)¢¹—DŠg“.¡ã$_DÉF¸ŒéòIbE4‡”Ð?T( {hNÚXAi¸ãÒqT‰š"Š(cfe,YRådL¹¶=ÌúÔ/%õëNQ¯ÊêT4&{JŠž¦-ÞÕXļÒñÈx’°Çå$aKÉÃ}<ºÜÊ<.Ðè(ƒÐÇtEGÝPO ÓÓŸf|:P7@ýéJ=¨ už^ãÓ™dˆúQ P×é:½¦çt™>#cUÐD¹ˆU# --a’I*%ý†„N."ñ›Œ<Â7y„O2°‡çä¸Ç‹Kr8ÅBŠxúñ0¢IæñãÒOÇÊÀ(( mpž€"6VF S™tBÌ&~ítt°‚tÔ“ºO÷¹é5½§Ët!¢žW¨ÊËa@P -Ѥ$÷˜A)þA£rü#G%Ÿ&šâ!§~>N5Ç@ž`Š8©÷¢é·ƒÉä'¶Â’•¡IÞYL³+oO•Mp Aq¡£utëOŽL§Ùé:§ïôŸîÓszNßé95Ô.Ó©T™#$&Ǻ xù I^À.ÉM6íí˜}¨ãt™^Ó{é7]§í8õ« ×%”ÔÊÈŠKd”»¢“1Jßa”܉Sà'K« M -¹”QÙç#†$ù -LF#Ž3¸x]."|ärroŽI¿ ¦“?H!Å5 ‹8fn>‘ [§­:‡§ÌŠ­^©Ò´[ªk•[eÕn«Uݪ픗•Ê«Ëó¢ -£úšÚvµ_S_TaØ©kV 6åõU%Öår¿®VlV»¥²ŽyMQ…‰yMyaÁ°S`TcÙ©±­6ký¢Ò^·['¬µê–Ã#vÁ‰êŠ«Íj·NUWkÖI,Í ìë”æå÷vÁ k­Ry•µ¥] ª -ÃVya±T]ëØÖ ¬;V†²z]ŦƸ[l˜•ê:{Åyi óòŠ‘y©}pÂZ?\ c3[›8-Ëb¿ÄÀÆÆ¨ºTÜ©lŒ;µÃb§´Uܯ©k˜U +Æ•ÒðaŽ{»ÀEUõá‚”S§\Z.*®71;¯+)'N>ÌW!ìXì¯8/ ak  Ê^x!Fº&öƤ eb°†.Œ®¡#«˜X¤AL)½C\qc]a¦`E„w(1ï¦i#;’ÔË´^ÂEÖÙ `$Ò f0Ò H tÞG|?Áè ŸR‘Ø´)΋ñp%̾&L¿?Äh÷{ -Ùî¿5¨qŽ~*qØ c­T)6Q8uB:Ìû@ˆr FâQ# -ÿS©àW¬«#4ñ‡p"ú¯6(k&N1Ð`]“¥>¤h÷‡í˜XôV,zm˜5WÇ¥M%#²®* ²¾Úˆ¬[$ÞØ éþ_¡Ü•Ƥ]ÃFã %‚ð=ò}¥JqU !C<ÿ#Ç3nSÂä‹Aø&ñ|QäÝíÔù÷¸8ôP£…ˆ±Ïì :”û7si÷ΘÍ;}þUÖý!E»¢Æ=¯„Ùw' Ä¡B "óð&}VFäo€"ÏÑ[ó[¤"ýËuöؼ \Ræžÿ!Œc´û9|j¶ÍݘMiw/X1ˆ/Haè¡D~)…_k#ò+!¸Ã×ö{Ýzü޾͜™í#èæ•4ùþ‚ˆ¿Cˆ±®Vª{2œïŸööV!fÎÆjìÈ»Jãßöˆ¼(ó¸¼_¸.{‡Ìfó¶ÝBŽs6 ›X]ä˜ç…é> Ø-#æ¡¥¿dó/HaèuÆi{>¨pWšãP"¯4$íF=¬ŽG»~b7)á1@é´„ÚŸdÍ!iK8¢Y_qTÒÜš³)¤v+¥õ‰·YFoQÅn¯`Ü!™¶” Ehà頋ů âí´)(Uâ°æN¬¦ªýoXÍ´IöV0ÞdLÎY—t”B§Í¿’Ôû>‚p Rú§ÐA<ÊT%ôS(ï"œ0ìòФ·8.í©Ž·ÓD"Æ:É2ï7}&ýÃmXÚS(ï¡dü'àmÀÒ/_Â~¢d_„Yg×à…kîÆÀM£ã»«d,ÁÈ&]ÃÑ/]’¯7"í?µ$K¾$H±Ü˜ïÞ žYãº1$ù´ÃHTäø¸* ¶ƒŒ7OSçøEÞå P–@´<ÿ‘ä^’dþàEâÏæxô[•÷Ï@"D»ÜgÐ-ªD žíñè¥Tz¢~øR¥Ñ"žç1yWÑx´ŸB ½%Ù# üS,oA*m*¿P£Ü¿Ñó5ua6y ¨ào€"ñG•òÝüŽØÍçð±Ù?‡q DøáضõÆ£€4Ð#]òÝLœbE:ˆG‘üK—|yŽ^Ú­#^;Šì#’¬»eÔºÀ=¯·º Þê·ÖUìÓ3où\䈧uä“+‘Î{è.ϱCÃáð²nÔ˜‡×ÔyÝ3saº{y³.(Ù¼!ô ô‚`z-uÆiZ™³…ÓÐ9“ÑŸeÄM/)o!͘Xô4jc5’å]^…qˆø$‡Œz%ï.k.MzBOzCO¡ç-%° ³/ $2¤Ã¡F ?7Gå‰C•â<ýÏAOåÂÑciTÖ]—5—¥½à„!Óe_Þãצ`Dáç긴³1&½ Ã(SCß”ù÷Ÿ@q(ODĺ6êžÄ¶yé³ïF`x;Þ L0Úˆx‚-P×PFä¤|ÞZ!–tUµÑcÞÏÙc«qòÐlrší3ç tRÇìºg…ÈʱSÃ1ñ¼}’R/L@ñPBoZ@ïC6i F2}”Þoê?€ñhO¡hôG|ÿçoÎ#=ŠýTŠEßí1é©\HÚ?r¿ÆÌ®‰«wÆl¾ÈÑ.wêüûO¤„>ªto BÑK•8ôEŒxš¹UÆ£ÇÎxÔé RlòìôPô -H þ-qLA®&K¿œ ³/B¤ûG“w¹Ô BœJFdÍ’9oTÖUu‚ÒÁ{(’îRœ«*ól"o'ÎÀÀ¶¦M¾|‡ÜvßÜ™Ù3r\3µìÖŠùújɰå3Ÿ›ï|»mîÀüÍ^™}D©¢ (Þ ã©—G‰ ôGy9[˜Ý3¨–×àÙ1_Þ­ns1¤x÷;ÿ¨a\`ª˜ýÅÉC³>m -K<çù -¯ -h]5ãñNðiè6ÉarÚc~$y—#9Ž}”©!·‡em¡ §½¥qy/Uòå5qcõŒÙW}#göwøØ¤(Ì©\(âPŸ…Ÿ‰R>räûN™‚ج0&m'ÎqŽ“wvϬÕ7rf~‡¯í9ò}* sl¿A‰ÆÛ “>rÜÕÉøÔ EÊ“s—%“¾ñ3›iêȼ6|côθí~2ô ŒÎÀˆ ·¤ˆø °ˆz -Lê,ȃ”ÏZ‚Ë{©’/œ“wžI³…鸲5$=“Qü#òvЧÅsŽ0d“¶Ö€¼…í¼Sç_G -KŠ7R垟y ›©gø·ÆnlF²Ôû?‰r5Í[Íøf)âyêWøÛg-,™´ðl³'VÇÑÞþ?\É€yÑ7rj7ze^&-Lˤ…g²®Ù§ÐÍGˆÒ ¡e„}å1I#Yêý»3ÛFÎLG¬öD:©×ÀE¢oà"‘fî˦–}pL=ËœuÕ6sd¾FnlÉRŒ+EŠÃAƒtùãž@—*qè¤8ôLšâš:±[F Ÿ©eö,cÆUÛ̱åF‰zy¥_øéS0Oà˜È Ì¥L © -p´™FÅ7• Çêa,2—|ˆ\Ú<0ç(JÿêmLð,¢´ÖÒÿ™ƒ”æR¥‡¸Ò£R¤]—Ž-_’ä c(âio8zG‘þ Ãº{Is|G™ô NþlÊúÏÁfá–¥¥Ayw0zk))Å7ñôU2¿Ó§8\Y÷:ýò B2o -H2o# -}üàp¢Å»ÿjè¥F ú%Lñ×á[û4lavM[˜Ç±Cû<f]:vi\?~s¸¢\nc7æ{ýáª×F~&Kq>³V÷»ÇpÙ5•ë¶{+¬žA‚j>_q@Þ¸”˜/œ†ÎU4ï-o(ƒ™}^êÄàO@(dˆç™&‹ór²pݽXW½¾ -ѽ´¶xÙ<öÇ£]µÃÑ>ªÔ»iâ¼æŽ±è¼1c·VÿßT1ŸÕýâgͬyÑ:~iöÌ[ÔháÇÖ¸¬­4$m(„<m_‡¼vK¹üY\J=/£u -B%J> R//RÔû H reÐÁ™wuH%Ê!è Ä>ÿ¾LZ^×Ì…ù"F:®@6›;0?dh—9ÞåH{a$I¼0ÒäÞdé—7e’ñ¢ÇºŽYŽ“G–ß܉å8xhž:æçîÝ€ÕÃXYKœ|þ@ ŽÁ﯇ W " ¨pÎK0²IOhúݹ¤3L5D­¬(üEŒxŽt9“¥ø'PîûÂͨÝý{½1]õ·/ŒÞ!«ýB8Ÿä™ç¥P Þ\#>‰¿OãŽé¢³b¾f,jîÕùc£ƒån¼30õ¬k«¦Ž l tü—4÷p›º³OeÅ/K"#Œá‰÷”­K‰¦—UN®¨ÐÂh°ÎëŒÙì$É>ÜJòfúÜû¶ý¨~aí GÜ€g_®ógöy×î%L½¼ISŒ3IŽó Ã9?t˜—„™‡ßà™Ý9䳟Ã6.ë©‹É2¯HL3¯¸VUêÕ¦Œ~=”>k )n!i+qxswDz)…x’£ \þ3ÈÆ5ÔH‡5ÒáDŒuÙ”J•bƒ—vÏœ™Í>‚qI‘zA‰o¹Îø ŸQ Û3j^6Ø-óÅUË”å65ì¦;XCˆ˜/°W'0ÍöJ™yù“(¡_ª$ã<ã¶_´ˆØ”xs}t‚CH!ýܘôÐbÝß«ýš¸0Ÿs§ÆCfÃkÜÊÂð/u ¯eиê›;³.ïÖSiáå4·¥³‚œóT2.˜×ÏÎæ ¬¸P zœ£ ÚO'œP´³œâb=ÀÀ¤¸È9d Uzœí -Q6k R>ëT@ïQDý%œK#òn0Bq§ïíŽ25ôS0cÂì/5ÍöÚä‘ÑP¤ƒ8*ž^ÌÁè8·Ñ»qúÈî¤K½oÀÓïèüûD‹x>I²O@øwüØ<Õ̃©j¶×&oŒÖ ¥Ókx’‰ÓÈyÕDt¿)TÜ”IÆsìØåÒŠ2Âw"zg ò©àÄ¡@_ºãG–]Kƒ• [¸¦ÒâæË!¤‹,ˆŒp*"æ(RÃÿZø‡ íòž¾µ.¢Ä9®'Ò¿üè1ƒO;D“ΰ#œtÓ¦ÿ¤»ãþäž*-ܯá3j^w ÝPá[®36Ë{Ùr*š –I»Á4qbà™9°oÎ_Y„"ž`«+¥6…÷2ñ;(ùüP"žH½ŠÞg‡ÓÀÝ8zfJ~ßIJtc«{üÚºþV¿½XýÆÝjÇ Ã:¯ -¨Í’9+iò}òZí“øV3q’m)†~ s|oâÙz0ÖUŽt†0%¼eEhäs6l€™‘[€2:/XqhK©8´àX¬£ZÖU?é T6i¨^‰s+d’¶%tÆ ÄÓÞ°$Ô¶Rú±xr}`™giPúüÅá4n^6ÕÌÏÞ -Aý²¿ÊÔ««;i®(,p±#.ÂYTFܨ|Ö D ÚI˜}7T -Á›B•ÏyâµÖD–п€Åà?ªÄó JÞUŒ÷ÔŠÇ; ÒîÁ¤7$áüõ’R.-%¥ø$Ÿu•‹F§.íË”…g8°ÛH/L‰æAʧ­áÊgýáIgNAÊf€Ä ý“(WD‰gO½h´'4 W0ÒY/YŽÿÍ^™}£Wæ“"õr -G2m R>m U>kM6óîLú@i ísøVÛôÑ>„ru‚RBB’Np'¡Jœyž(òîv2ý»»L(í \>é*DÿcgSËro Þ8 Ï>0°®²áh;`¡è•2ÅÞIôïfàb±n%{>6»ç/Îþ”Ë{þâlŸ@:›çoŽnð‚ÑÖjRâÖà$´†ðãÒ¶Júm""º2ÙüC‰u¸ ZØj¤óZLJñ9JŠ;›có[}áh'ð4¼™2ýlæÎjš6°Ú@ç8— äòŽ £òC‰ ô<lŸÆMŒÎéS³ŸDs' ñ¢€>QîÇtÝàâ -D ý¥‰û¢ƒ -é<¥8ìÄ)/MòqѬÝÔ2ÿÅé;³ãn*í4Ú?‰ruí¥žý,™µ.ïPc^^ºK‹:ËKŠ&Í¿;çŽí÷Œån&Í¿»)“Œ÷ÆÝ8ygw¥ØsPÚWHBq -G:k81:(Qn{ãwâÄiÔÄèn{µbÄl P>i Q:k§Q?ŸˆVÇÍXýC ½B ]Ä 1^vVÍ]ÙÌ“Ø6AÎÑ:„kà¦}u'š3 Â{güfàS°æñƒ«*ûj §žà]DÜ ¾”Ú pÒCt¾Çpm CûÀ¨`íÔ9xK@¼·;,ë E6=!ž¶ÕÅãOrçM˜~¿ª‚ñGà‘iƒP"ú½IB»²–€æVU@½†+œ^+dÒfðâðf -×LÿnîËP{#ò6ðùw)Ú}§Î¿OáHg}åÄ3¿:õÌ;Tñô¦hÞÕ•<ûì¤Í={©Slg}PÖ®Ú¦tÚO#í»±™ª–‡"éîm‘G/J&=5Cñ&’¬»iè¼5ydsNš#hf?‘¼»G0é §¡ ºˆ¨­º”Úšp‚ˆ`ü4s¡C»?“öî„«;d)¥½KLñnLÚÁ -Eï@bÎ`Dâ?Ð ˆ+=Žs,o CqÿA È:CP‚MúÀgà/J¼Ëßð¾$ɾßÀ„¢ïþ¸´ tþý63û.Š´Ã§P(â\,úqÛMÓöe!Æý ‚Jã§riWg4ÖJ˜}·á›ý8çwúÞü ÚWÝý7‹zÆJ¬Ó¯Ý3ib´Ü˜Ïéc£‰õl¥ËñÍøfSǾV÷~èP“Gæ EsÖ°%”ö1Œ³»WëŠ&®l>ºÌ³‘0õ ZÒÊ)¶îР¹¨Èð °  dâ?rß E_K!‘û&&ò¬Iz)Sì¥N Þ -N ÖC‹vž’Ñ_š80z(±wÊô Òá2ka:Æ ¬eö·zx˪kyÈÐó¬2mù—¦.ÌÛCTØÐ¹ -ºýJ‚…0ðÕÍØl.²Ì£{ -ãhÅ·z©Sl AÒÕ2g\`¯®zHñîvP@¢ý»Ì°Ù¦ñ_R -ðYZJØX—à¥Ìñ}ÍYw8%µÃHLpÙÕ°!&§£€/0øõ†¤ý ã=Å‚± -ämáˆgí¡‰¨½áôó®Pä“~5¼ ùî1Û=æ¢Ý_›<²HQ®®É Ç„áYT4¯eƒgFãè©ÑԱ異…½:ã¶éQì‹÷|¡›MãöEw¯…Õí lòÆh¦O?êY×VL™­¥öUãÒò1œ£‘.ùì#J½ÛænÌŽ«½Ô2{‹ªö³†*él.MðQ@s§æÓºf³.ðùž²âÎâr¢¾âˆ¬yÛn?7ÏíYSx -.ÁX)Î ÎáG{8‚Ñ L<ë I:m% =_šíCw %Ö}!C<ïãGw=æý%̱‰Ä»DsÎÐ…tî6Éœ£JÖÔ‰Õýgupˆ4tdà£Ë»¿ÄÉçƒén?5[ÇÆé[ûþ,ÊÍC’u5!Ü<óöžYûú9Ò¥\Ú LÚ8}isŒ¾%ä8gSÕ€¬¥R$ÖM£ã;ŠÀB£ZßVÔ^0*êkŽËÙçoÎÛÈ¡ÙT2o´!-¾ÂGXäL›µÍÜ=ähg%{#Ê»/Ä8çuþÐ4ìÀä²ÒqæÄøkìÀì¶…ÕÁ²@ÌÄ}iQÙò¬˜1ðÕ  -B»wy?tn ]ëB†›À3¯‚Á¸€~·C4ÁU?$ÁÕ’`-L°†0#¾öxWIæÜGŠ!‘*yÛ“x}ÚâîÉœÈ`¼?@ ½Å†¬ðгcÌŒ °¹I ¼Ѫ“³‚‡ R$z¨PC%‚ðèßÔ‹E{ sügÞ¼è¿3[ŠC›©ÓïŽ1³CôDš¹±/Ï`[mcWVSÏp¯Îx­nÚ$û0í&Í?O36w¿uÕ;PØÐÁ´°¬ ¼-d!ý6 Ó7}hàº3° [˜êu{{îÅÂá[›¼'Hù# 5´©iù·çß+ª¾u#6›œ´5l#8᜙2ýîñÛÓ§vûÊÝL¡d;”Ïo‡0#æ`FÐS0 é¥Ìñ€4Ð[sHÒ P$ÞNƒ¶T D¢G;U¢ðö0EÔþ61qçOVàxþÊŠ‰ÚŒDï8gãì¥Õ5ve³ ›——:Æb´ûÛ —ô‹M~÷޶…*¡ó…/¡s‹õУM]ÿ1b~kìkáô¥ÑÕáù+.)6WÕТÊ]á~ó­ÝëþÉhr!ëœÏõNÙïþ—㼿{hù}¢³cúlGGÔKaÂzåŸ??&×õÛÃ<ÃÙü‘mäOv•Éëa\79> VF2¢§)?+Òÿl ½uKh²2á ¿9ïï¿C“Íý3Ö>,êÇwe¯ÌϪø~êú-kùYÙ˜†{Föî'ôgû|}Ó(2}_Øëô½bþ½^©ªõÁ†ý†69=âl86ü­žžégÿ"4žÉa¶üY1çÉsþßçßÇê¸oÛþzI;/ÉQýÌeÙ?+Ò˜m5òí"öµX/Ån-'ÃÒéž'ïôØbÛG1¬/~•v–’˜ÀÍ‚%ϼágÍþðNзOç^½ÄøžsypÿÅ~1cÁÞã–ì/ì.?¼ÁÝHãgíÕWM¤ûYÍkãñ!³2ó˜€Ù’¤ôg0Un~öðå}Z‡—çìcÞŸ\ùƒ6I†‚nÿH1SObß¡Ÿfg‰Ëû]^o±o9ã°•òçh»Õ¦Çz]ŸÙç?ÛOèõ¿qX”aV.%·çøƒûî{ï±µæ?ÒÿûQi/"ÿ9ü¢¾ž,¥óqKÁµÄÃÑY{«ÿ4¶¯;¯ìŠŒÿRty:RºŽ~ÿr>^QÿõÙZ[©hï!ÚÉØágGîÓÆyáÕ·>Ö‚=cî@úI]̓ì[KU—_®ú=/@¼«E[C¾Ý-¨ñ_^¼O'fÓß!WKkORz÷<Œ@ße&~zuø>;ÂCæ…Æ½ÜJ|Ï÷弋æ!aÐAN’æ0ߤûHÇß§Ã̬$ýmvÑtí -åʳÝs¦ -Ðãƒd! -’ÚÄgñännÛí ¤ô÷Ø[¾êOÃÆ•©üÔë!YûŒo&>Ú÷ýpâüy€éédmSÒö”>î\z¶…òÔ ÔB>·¤wÚs¿$²DúR}¢ÚLÒÞ§ÆÖŒ\[)g?h"èµl«\Uý·i›Õlä.Öú`“Û<¢w½ÝbèûBéÿ<ɶ&_ ÷‡mÛŸu ÷]z±íI°ü3K¨æ€v—ÞI²§ò=ÌÐÙ÷…öAm˜‘lèJdu4Æaæ26çÇæêÃUæ»K·áˆÞ)ï—Òæ\×.ýÞZÉ ”ç?-Ùýá^Dnð=zŸÉ…™t,ŒýÌùoO¼zÛH:¶*mOX£'ßuûívUE6°F±ñÜ\ûI9ëÒ'&O7ܼ5V™é0i«â°’åòI6¾ñúϨï¯ÁæÖü"¾Ê<>•kUf¾î©Ú1ÊBsFÝ[¹t‡¹ÿ’±nbßûçaê˜}ìøß×ײ‹ón#v5î¡Ûãk/èå͇é<P!ÃŽÃÑ­,  ˆé?)¾M“Í‚Ù×!!碙…#¬T}õ¨žž×è©åÿËÿ7ß‘Ìe7±9Ãhò/)¶r Õ_X˦éЯdé·mN³Î&ñÔ{óCZŠTÏŸ´!ª®Ÿ&>Ì:¾”¬Î‘Œ§º°Ìïš .C>ù×¶×¼î ô[5‹ýûÞe‡×oèÊÌð#‹3Ømƺ_Ÿæß •¼¹îÕóTû~b½8”öh÷)@Æo†ÓŸÛÈ{·ÆÝ–[×#Äì«äj¾ƒû·WccŸ<‰8 ŽgCfXï׆‡ÇŠá]Qpjª=l÷ÔÚ b[À;âKÞƒ%îEÝbâ+ê<òiŠ[½ÐÑ~Àå[Y=£„ú -Gj©Ó|£hÄ3‰¦õñh=½ÈóÌû1(qvŠ'(\ƒç>7o‡œ®Ó½{dx#)Ìo ?ërŠTÆbüÍo Ga𨠰Äß tN´Lì²–™2ì÷Îàßÿb¸šíX©Þ·'ê4ºQù_õµí`w?Pañ°A†/Ò…!ìžö˜  ’`¹QÜÂ{h:L =×ã]<â˜<>ÃA›dÊ´QkÑ9†Z À5hÔÆ)÷ý>\ôÁ]ñ{È |·h? Ó6&ÙÛ‡ÀUŸªa½ÏîyùÝ#ut…©êàUÁ|8Œ`Œ—ÿ¦¦yGâúlôÌ{†nÔúúAœƒ[Ä»z–_fÒ]A;ûZ G}šâuÀäfÛ9%ü[b>ó§1¶ao³·úg#ê?M¶Ž «í€¿ÁÎиsð>{ó%/ŽºÈÄÙraW· Æ­üPã~ Õ|î¸Ä£¦dH÷ø–º>c²­ßÆÙ×Y| -¸úr,Ê]Ô„w0»\»üÀƒ/ÿƒõ3 ÿŠÎèäÿ…RÍ´_ÇÑë¥ ½$—7è5<ûîœö3äÝöŽÝè’.®¯z'ÜõzèþaÔ úvñ™Hô‡ð?aÙýì·±„Ç\ì:%",××Úwó(†}œQk®Ó”2à2À¨ ©À>eª ¨›«ÿ?Q!¤SzˆE\ÿWq©À+ØÌO'svU%<’÷U^9]j“ -¶.ô„ÿÅ?‰Á%ë"â’è_£¬Ñt»ËAÈ÷©Ñ.Ýf¼Õ" ˜íæônâÁx²É:‚‡¬e– E_Òx#‡¦-1àsŒ¦–+£Y3rBn“ýúÈï€#ËT~¨œÏíjÒð&fsyA³hŒ*<‘v-6¹’Ÿ2QYaÕ„6e½°t¥'- âI9{äìÌ$ çcNB)­_frôa‘þ2R Øî™”,"vmüât)´ª‹ÿxsæÎ,P8¯†1fK/ 4áŒYí(èŸ0»»W9ñðö½¥×0Í’˜Ê ¢ÀÒðFÒ“2@“hxudN® ‚;½YBy ht{­ÝAÆeúN&Y¨KïœÐ:(Sæb£¤ïðm`˦føÚGÿ鍊aÎÅ„vmkš€Ða—,¿2pŠý€>šg$·ZFx­¡2}ªëìT½Yšgú/ÇüeE è³ 5Z‘O—µKçd—¯0îÛî•ã0Fâ_¯ˆÊ PöL/n…‰¬kpiig˜±Ûg0ÖÞûj,>ñ‘5 -ί>¥³íK‹"AæŽåªà–_`¨=D'¬‘t@Ð* (¨ 'ßÝÍq£sÅñˆfÈ0÷ª¦ã#sYÞ‚À7æ=õ‡/8HóJŸg€c€­‰„·¬¸K˜~=n ?æLHæÁÄ¡ïj” tÎŒåyÃñ$m¹P\פ€±c§a \­:j©¢bרoœ»yrø’ŒMߎLxŠÌ$¶™p@@ÂüdA2 ȸwNdÙb^îÐà_žxüFçòü¸‚À 6F!ØsòÅV`L|U¶ä ?p/ÜVÄÇ‚gì“7ÄL`˽ú¼Ý3–Ïv®¬z‚ [€ìÑ‚Œù¼7`€q†Úö† ¡vQœŽ†#x–“ÕöÞ•*q‚¼›\â7À8šêÊòTT‰HaW¹®ybz˜ÆÑôØ…´:ÅMh‰XÁ)w 3\ÚÝç™qXÌJ…o%湟MêSQ•Åtú¿GSÄ’·€3q±-*åÆáÐGI¦jVÇÕ—'A]d«Ÿ¡Á°ñ·Ua‡ÂOy›ØH/EU…¯® •ÃÝHõÄUèP6"æü™Ðõ~•'Áè‡âÖä¿hN–®–ž Y“}X ¹%n³ºÅ÷UªqÆržr@ˆÆüï8òõ,^ÎÑÞ¾„·OEÅJ¨;Ž-ÀG7»ÃáêÙüA;+æšp“#VPwçqì1öoãkVÒ÷Ê|hÒœ–r†Ñêë¨P38{:1áQ]ãI>™[¯ËFYŒýºWGìÌbb†õö`)(…•g°¨tt哊°,7ø#=w·N鼂D¿ŠHfŒ÷»®—…ü8ô ÞVLó0Hí·ÚlÒY{–]ÔVVÍ!ÊYj’°.Õ±|u”ïl!bËø@‘Ù&»j\Œ/a¥ëº&¼Oê)Õ»ùäÅ —#fÚKæ}%2½qˆ!â²õ¶“~T­—À[™AºfyÑÁ*õCºm÷Û&H¬É¶å‚"ʳê¤4œ>“ˆ×´}w;¸Ý9üEPéN]»¥q†<½DzÁoýxÖ“¥.Ò¥G×¢Ç:ÌD@Mb¼¥kw`H0&uö)®ÅóIä™âÑâ‰li&mÁOÂ7Ъ~^…‡[wuJsyƒ §"Rj“N•SKK(‰ ªÙ?`æ_ËàÉÁŸ3—B„¸D:J¹O™üáÝEÈiÞ(Aå&M±îJ ^ñ6R°¯F´«‹5¤ÌôûBP)û‚¿Õt -Í>ù³Í©2RÜIß÷¼¸£âÊadÇMÖ €f_¤wAÓp"Ñõt­mÁ3@·–Ђ_Ñè´Áo R ½ ïÏ)9µØéàA÷gȉÈKü×v4ß ÿ˜È=´˜„0æ-G‡F |vŸj¶!º/Ç}P צ#¬’ñ"-÷ÈÀ*`a -?è°†S—rµ6 -&É*=/ÑY¤(qAâª+®ÐQR¤Ð·°×$L ÚQ…ƒƒ¹ºsφ žpÜçÜÅ+ BûgÁ% ©‘ØDÕAجÑ4­o0åÝqaŽ'4åíPuÔ ÀÕðƒ~â$d:&ï³·‹tÍ QxI„póH¤¿CÄØÓ«‡ûì\ûÉhQô‚ƒøëÂè:CÆ×ÓJÑ1ŸˆÈ·ûÓ4Ž"¥Ðæío&÷÷!oTPQ:-ïWM‹©£ÍâN€B"’ ¥¡&û¬ÞÖE !dŨæþ$;ZÛaÃl\6¹ø~µyŠÌê±xJ¼xÇTÛÑcwRâ!\û8÷OB¡pt ‘».-ÞæÀþÐcøÑ+³…&ÉgAió™rFZçL&´¶ï”ƒÊ…H•Û0ñjXþ¾önÂZxBƒâö¦9C±.ÏÐ}òrv~˜ÿÕª„9û{?ó[´ù\A¨¸Ÿ –œ"£b~˜ú‰móÄGu×üR׌Õ Ôj¸<ˆx7ʣݲ]˜|rK„Û%PM@2çá—5y£š¯‚î>RLƒ>4À‹ˆó¾0ÇuŸížpF7ŠÜ!‘A¿Å5ÆA‘–&8f -Šœz'åmø.ôŒ¬“vºVc2¦í¤œñA*;ñf¦#DY—Dœb"C0 ³/ö7ʶîbƒÆÁ®uÓ¶ui±•”åp4ý3HQLW®Øxq0*K‚YîÒ©~²w6ª7’G öW iŒ¿F«n0϶¤ Hã$ÊШTdÆlú3¤È’"CqGínwC]ÔCJtƒN;äN0˜vŒôÅ"¾ÌpÑûãé«M·rmJѾÒdk Ç΀°(ù¾#ØÒ^ÇCêìȪÄðû–¹àîá‚Ëþ¿µ-@£—,Eð¬§*È8 -Ø(Lüy±}¾¨Ãn›?º/^¿X‚s -E…;:PÖǶxl,E[hÔTlßh*„ÐNŽS* Ãj¶Asëè‹3ŒÅdn¯&€ü…Yªv¸«s,b|%<$9;Jš büA,û)Q–¢cpøª}Ê 4¯08¬£ù|54muåZ8,4ß`?´!gráÖw¢ß̯R¶ó&e· 1Åàc_4kMNBA⯤,/Øš "Hw= L²™bjæÔR×64ÕÈ,XÝdù‡÷Ëp+m¢gA$x“Ƭ’ÌŽkµг³ÐM—³ýÛ#Øþµr,ñ&z‘F\’±ñ%íyZ}?íÖˆ9 -¡I®Ø 2w¸ý*˜©É³w?äN4”i ü±³OlÑš?Á9léûQºžØÞ—²3U |¯Ø*߸®®AWZý‡6SÞ BÔWRVÌÊùÅ{N!a!Á^°dªjˆ… -ڬذ™¤d ÒuPN¶‘šúL´jì¡5-Û+nš·¥Mî ¡¥}NLGËÓÖÄÄ ÎÌXt®|ou¡°€³º[憘ý=yŸD –FKÔÏ!8ðuˆ‹ySWW0Ñ W¦«GåðZx?AA«€eÙ¬-jL—È2ƒA¹*b’¬1€(…\Kw¨Ïë<-Èú.–Ìù¨Z™°ã®¬G€Œ9¡€2øµ€d» $¢øŸ‡h¾:]hâ"fó¿‡ñó‚uAõ¶¡ ”o®HÀ2Çž]›|B¢ ömÛÝ—M3¢4§K޹%Ž‹.BÄà ©nÊÝœ_SZ&Ã;Þ‚A½Ô)pÑavư`ñC4ÌqQO"f8? ­ô̇l¢-ÖäÝç ŒçMvµ-ýN1ÝXi;´XÑOÇjâBý^’æAØKB7•ù:È&Sp¬€X›Ð¹mm fñ‚ÂÌñ8IšÑROh|s×k{m•ñSš‡nËjw`ž% -yöÈÅUµ¹+ëmhCÊf¨¹ÿ÷emœþQ±ûÔ×t\•ä$«Øy-•†á˜ë o~Q…×ÚRH°eÐð‘ˆ;´Ý(øIåò›::…H)UþM²¦Â5]Sžðã h÷™Ç Bèï{_ŒT -OÎ=Éý{”;âI¡e`—˸-´8Žå`¸ÀrRÊCÑ`¡¹¥ì®Škðâ†zú29Rw&ÛëþçN‚ºs³¢¬Å²4Þƒ%‘\s-ȹÀâ"^‹=|:OnZŠÈ2´‹9çm qMþCÃ0læÎ³¨V-z©ä€Úó¨ŠÃ¥Ë×E˜h²{õ„¢qþcÊ62´±½óò#€õëA”äüg"ÝÂK•ßIVc6{ÔMyÃGîì~ã<'uöA¹ù­(g&Æ<âxf6­ˆ$^ŠáàFr¯[ÆÝÓ=M¥Þúàøõ5Ó«Òz@+‡Ž)0Á°”IÀßɰå”>¡a˃®?Nt¨,àÖfIêÜRÇXü,Iä$l ŒVô;s°tîFo³ÓîäÅm‰t=ÈhÊÜçf¤£3vÆ¿?/mýh¡­Ðœ‘u£¾³6)š×gHŒ6‰¦Ãeé´ê;ñ‡dZæjCŸ‡pOÐÏ\Á_@ÆR'MòM±_jÛü ÑoD'øôOÁ|(>³‡:Õš²ç#"§æÐs"4x‚ÁŒè^9Úl£À9˜äÔGïg•¶IS<hµN¦89SC­E0{òrÞ.9Aæøõ!6í^¾Ÿæ cÆHI$í,ØÀ~†%ínœ-L¯µUH»Ê¯„}jB"¿Z(œ™í¸}ƒ{Äzü™ÌØa†¾ËƒÍ>ðŽÈZ :d’`¹ç‹~NI¶¹U5¨nø‘/{c¿gØ$Tdjijrò -ø)O¹š¬]àö“7ˆªù?¤d‹mIi¤§U-L¤°b3SKñÙÿâu¼‡Ý!‹Uä/W{üýuÂ+$>ÏÎÀ"…–¼÷Ô‰½‡Îsø {ÖÐP3T´m:óŒvËÅö2²lF!U뢇Œª×»ô(mJ‹Îª!¶œ|T¡Ô³_fÖÓäÆŒ -™äØÑCØY’*¬—T€[>¸ÚD3¶½À}|g÷·-§ë “ï׸kÅ€#NöѰc”ã¬ìàbŸÈ—ï’ ŠÊ–Ç´TéX¬+BõŹ^ÇÇIS–A¯d˜oPâ³ìwuÈé4Aææö§ÝËÂ}€3vì:HX*5>¶cΛ#ašôRr€UW -5ÿm”œI¶hõýÒ\¶Ç'-KÏi7Ž’7Ú42*ø¿$Þ‘öƒß"49ötY_q“Ó¢2¢aQ«=¢ôvôkKLMàøyà“ü“¶þñìœ6ËÈ µ‹ý´ôsÒRa(ÃßY+É㑇;‡h”QìIˆ®O9•—Ë|…­H]nx˜àEÍ)êr¾'Ñ,ª²K6©UþÃŒýO£"Ù¨ ¬ ³J(×*ª¬5k­²f­UîU‹­^©¾Â¨Â¾Â®×*«–;5vÕr§ªÆª°SØ00¯)/®× -†¥ -«²j½¾¶Ö*¯ì”V›ýšê~ya§ÂưÖ)«v+¦¥ ÛVYµNXë¶[•Óf¿ÄÆÂ¦¸V,wŠûeÅN}}a±SX,X¶{ûâŽ}Qmµ`×1.vŠ -ìËk -«µb§¾¨¾¼¦°]±±**10ë8- 1Ë!#<®òPµ†s;LqØpÞt¬¦ÍÉmkšhé -Ï>„å M°rD¶¸ôèÓîL`qgl¶äÀ·‰oAv…AFúHѳÜýRây=¨;ðÒY¿6×8?„Y<¹ƒrÍ€Ó) -ÙtMÑðpö‡e½°€èá”sSü ÂÀ‰¸N½ËõåôŒ |miú©”^Êß61„yB‡)*’†s‚pê- -ÛB*½bÞÔŽ -Ä/Ɉr 8£Y°Ã* ¥‘ fr²ðô,ž/âéÊ:[íƒúE ÜóÄLJ÷I•Ä_‚M³f@!“~W–ë^å,›âäj'±«ê eù6׼ǭ35#Î-ýIià¥Ë2°Â|yÐ3r,Ñ0b³QXþ€&rg£q­»{Ħ¸àü Ûl™j%f”šç×½:ÜPuvdAbMå9£/Soh§×ò9±?.E%jÂÖIkYiÂã˾/4ÇýÅ*J&í¤a–&…9rÛUEÊ–èwó\}Ë €·êE’ˆõ1Ö-ï•UtXÖ¶ ×™µý] -<Ë5(׬ªF»¬·ª"¿¨–jô(Y8SHU{ˆúJL5ñ`Üж¸ÝäOåQØœ 8¨#ä\Ì[©àæÚ2hñ@¯ˆj¿ï¿C‘\¦kºŒ•Ed?ôái%ú7¥¨>µs¨Ž –w0Sd‚Nç½ãF /'Ûj5óºªÖEÐÍýd]ÞÙLœúhÍI{Ÿ¦Ãiñí¾ø/Ÿò 8ªÞUüÔEŸ³•ù¸•AäµFóüsJ@SÊ˳‘UF!¹”õ7zœÂPS¸Âù-)Än¥¤T\¤¨ÇµŠ+‹œ|?X$z2„½ñ`eD’3Ú<Íãg+fxæ‰Íú~È: Ò‡ŽAÛ à©@…„°ëΊEî6pˆ¾ÍtìÊ«í ·eâý™˜íqQ§˜âq|8y}.6œ­˜Ù†Ò8Î'ŒÌ›:g'Ê’‰âòA&5§åD.\r~¡5ÚŒL«GcµÒòðÙ±¯XrÊ\õ@‡’:c5o•6– rà3¾¨¿r–:`·¢Ž7Ý,rÝ"e¼+àˆ‰½Ñ^¨¸KïÜÀ J.ñàêYËcì’5¸.©ŠGÝâÖ´õ#òÎÒœT5·ÐQ2¹üfÖ¡q -6ãq àÀüî<¶?ç^ÂÇZ¹{†'Cìr§u9˜fÝ㳄ã<^ÑÇlk¯°Óæ4„“þA%·ÌåÀ!õ é©Ï1‡18[½Þ¯Cé{…íqòägä—Þc%”è[*ÃDrØÜƒ$CåQ§•§ òE‘½Àh÷—d? Ûá_‘źjÐxGÈF‚”écÇO:'#Q›Oê mSùC'Ÿ\Ê/9wÿÐFaXÀ‡yuÊ!rŸ©_4ÞÛU€Dåwx¨ð–+ öw=Y¡£R@ìÀìS–Šq ªj ãšc]¾^5 WÆ[ÇÜiU·`ÉY„íîÍ m_QâLöÎÛJ.Ÿ‘¥¡æ(¡¾#…”f+p#­‡üœï„2$«ÌF;{¦®òÈÛÚ‚H!·ášÇÈV]n)•HmJX°.F<´­4g‰Žü~ ~GÔ)q²íµSEàEþ%ÞÁ…õù:¥!B$ÓórÚ8Q)úmõ¤#xƤÿ ¿Ã jz£€ îN'J`ƒ±´`Þ,wW Ý*:.{楧§°íò'ÕB:ÉœàŒÐÍõ  cúyCB:…N¾%r¢õ[êwÚUVãù¼›0Jn×Lòט¦Aò ]NG°èRª"2àQÛìçBcÚ$®üÁÏBO&=Tª~WCwâÍ\?ç­m€ tm–·4–±›µŠÔ­œ3ƒï!v‹›ÑysBƒƒ¬¨ ˜×Õ…ëË^'بâöí Ðm‘¦!Y1"[Qê`Sïî5ÙMF®s‚sY%oâ’ºE@œt=¦Ñù/ËZú(Öº²’ýúG–ÙŒHNCv³Ó5ûÚÜ¡~8 jÒ ÍkŽ Ã@i¢4¾è 2SKšêÍ ª}ùb›ù7•†ïÖ× ¬1 -TfKöÆ‘Ó@v+ÂRÂòH¢œàJ >ÎV‘ÙhI>¦»sߊ¡6ž kP/iˆVÔëŒ<YÅP>Ýó×°(È(€9“ BkŸÜB&4.§=èD5+“bÏM‘ {eÐ qƒ¬MPa7_Æ1œöŒ‡ïy}>L¡‡#2Û,ä“ìèåb9LúÇåQÂ]; q·Ðaߣ¿Ö¡Hð« Yxnv’ßë’ŒTJШÂ3[¿¤4…?¾ ®øý¬vt<(ðÖÎVÕéŠ×ýªà.޲!Gâ¸iôÎ‘Ñ ¦”ý\гtk…õ‰9º'=Þìì$´—X¡% G/ÅÛzVqIXF/ÁDÿÿùêk@œ´Î -¸,Jžø†³ÂŽ;0õ»¶Çó´¨elt+×|xa|M…ô¹Ï&ßÌ7) cRÉàN7/'Kr‚éçÐý¶„P$Áæ(¬¡!K=a¤“ºÉ°££í‘ŒäîÑVacÔáöÉâ"Ç«êû9 -EcÄÜü¨Qgll‚g—K -¾*T5Øú@tyµ¹¦M¬?Ë ¾Š,2ý×üùÆxýÚÃåv -Ñuòêãc‰Â³{º?Y£õªR ðŸ0Ï’“±ÌäŠþ9û,RûKf¹l?ùÔ°_6ˆx%ù`‘4‡Æúf…i¶ŽâfáždŸ ´ù,ë„A{É„üëdÅ +‰ ¢m÷.ò½™LðºF|Ç l˜·a°Ëœª0\É)™Ø÷ó×>g:Û'XËâØ›âÈ;²pŽãÕNuMæèImhU00ŸŠà !¦ºl¤š­YkmÀÒO©a؆L:ý6µ&ÅsmúMVcá.ªôsDš_¾w49HÇúJú p»¬™´îººë< ±SæÊ(¼:ó˜Ihð¶í×›M{³ÈMè¯E=`Éç ÞTÖÞ™×ÅÜ îkYúEnâ†b³Ô‚ÖÊ••¢£Ù‰BšåÁ¢‰j‡¿ß¨_>í€?݇_PM.55/п 4 ºNî"ºgJg¡i8s¾l}/ãlÙi‰êmDÙഹ~’næ`>NbU´W^ãKŽ:ˆÖ¸}ßÁ9zµºL³DRz„[¬H0E„:€\FDDDð¤ÒÒ{q«ÃeDz«Ìü´$:<¿m<§ƒÓØ®¿R×µNè9´”RJ)ed ´] -?E$ÁÉÅ€ ° ˜ Ü¥šÓž=vöÝ·Þ—ÖÙ7LëÔ÷ò§÷©íœbL›t[ÌéËŸ_Z·¦}âü¼ÒëªñSQ¼i~@T}Óõãïog¾ùn¾'Ö:gŠO'Îq‡Ò8îåá^çá8¥q( ¥¡4Žó 4΃Ò89¥½.¿µí*UÝå©MÕU}ë©ÞX+\7V®Ür¯böºóÎÛºÚñͦ,ÞvÕx»ª\U)¬o®u½³Û™1µæ¸ÄÃq÷€pÜ‹ã8ûû·‡Û{ÓNûæž{-­_ÿÿ_w.c9ÕwÛº~k)çü1W)~@<9cÝ/ÍüZŒi½¯iµ_©µÜ–¹ç–_Êû¥ÿ•>·7¾ëÂuž5Å7ã~)ÆÖR¼±8þ´o˜kÏÞ4ÝÜ“ß>ÞûjýÔz8Û;ï_­ÝüjZÛ·Sœ_Ûý¹r¼í®V×ï(¼ÔÊ;0zdªôM±ŒqæˆSAiN¥¡4”†ÒPÆ©JÛ˜ÕËÑ;Ž`°ô€©Žü>˜ -J»Ù[iUÍßyßúÕ©ÎYw[ýÍøò¯¸ÈŽ4 H š½×NÕaU§Sݦ÷Šo)Œñöy{[ -{(”†Ò P€l}¯³Þiï̘Û½] 4ºQ„ÒPJSÒõì[ßfß}›w÷¾M­?v Ý8zè…IëšwÇY_ºûãÍÖmkËm¯¼ck+ýÓŸ¹nç{ù½9|ŸZÛÿÅOõ…£Ž§þêɘéíü;ÝúÆýÔ–Åýs/n¿Þ™³\å<œÇNž·Åf·mÛ6Ýé÷J¹Þ›òmßj[ŠísÚî¯÷UéÛ$vù^ß{æ¾_)~®ãû€¼ÛŠy­o­åÏuN¿:û€¤:?+Ê (OåÈAõõEVĈãYy«QTy¥è™Ugïþ¼ÿ­¸¶ï^«®[_M¿ÎÊ9þœoSÓÝ7Ýsý×GÿVy@­sé? ªû×ç×z7ïTWjíFñÿÏÇ[]©ÞÝÒ|7}·×[ÿmÛ߬½tÛi»µ¿3¯[úwüõòLß> \¦›ûw#ì%ªfNo5Åq¼¸ƒ7߿ͽë_Ö׋ñ÷§u⯙ֹñÝ_»±Î7gŒ1ÆöæŒ1ÞøÞü€¼j®ÖV[­­osÛ¯Ö> ¯»o½÷ÿÖZq­õÞÿ[¿îmÖ{ÿ¯®[ß|oέoÎô·iéÚN¼M¼iÜÁ_½M¾MÜõ½ÛÄÛ6ñ¶M½e]õÍy›z{éÜQmsg½·ù¿ÍßfÖy›zÛf†&Ö{›{ê½M­·ÍuÇüu¿Õò·ÕÖ}µæ×âÍïãïxóÿj;þt-•a¯Î“Ú¼;î—n<-ï›fiân«pž×oéÖ÷-ÊÏÿåO¹ý­>µoé}üskÏo÷çÛÙµÎÔþí¼Òþ€x®}Šç½_ŠçÍxf{§ÍšÿÿܸòN{@8í[KëÌš[Ì·þn+æµêþg¾mƹgZûÕúÞ[ïÛþºj½Íú×õãוæŽïëþÕnÓòZëo—Š;›[«õž™rþ{›™oÓzú¬¿mWO˹¦|fÚ§­³þïm{õ»yæÿÆUnfª'ï–v¼ý¦ün›½öᨾÈÆ¬^z£÷…8 ]¥Êcž ô|¦lç¾zszŸó™íöª—iŸÙn/**­øÞŠo½øÞŠo}íýµNgVU§âΫ:3ïZ3Í|ãWÅÌôµÞ·æþv›Oë²ÑùYû6kªó€pvÓvÓvÃGëo3ÛIùVk¦5S-ÏYÓkíÂåÞ»Çn3ïÌ·™-ÕÛ̶ôáÇB¥ºrëFqÕ±TÑc×KòÛð Vß(Ú¿¶™Ûï¹Úmÿj:³Û¯Oíþç×î¾9¯Xã‹ÏyîjëÜxWÞë¶šo|»µ6åQL҃ŰÕt¦ÅØj *VÓ™µ^Ûû¶›[þ×¼s½ïü<ÿwDW[ëåµr¬q}þ÷j÷ÕV×ý{_]íµ}÷ý{oÛq~ÜïÞ9ãŠùÕ=ÿÎ[ý[ÿ¾½g{³ÎÙò^{ýú¼ïØæ¿Ø^ZëµÙâûÕ^ªÿíå–Û×@T¬­³®›_Ë1×–sŒ­¶WW¬y¿o®yÏyoMgî­ͽõä7ß¿;÷ž÷Þ˜où~^qͶo^?ß®iÍšÎü¬¨h:S[hêÏXó¬ëkn9¶™ß¬5×UcÌ9ÏúësÜ7ÕtfÝ0yä7ŠT¦Úêx+ëKõVZ³å˜×ËëÝ»¾]gŽ-ß¹v³Åï]ùýÇÿo¬MÝ+ÿ[­Í¶æ®óÎ_¾»¶Õþ}úoiýÏ·c«3æóÛwæxW}¹ý¾qÕ[Ýó­VÛªûÕÜÚnïw½«ÞµÛœõÕû{¾_ïÞØ^Ë_#šZc½õå¿«ýÊq½¶c]÷[yÍøöm»ÎßwÆúùÞ˜WZû?ÏyW[w¾˜ë­q}\­Ötæoh^þöÒœ¯}Þ³µ˜c­ç?·ÿ¹µõÚ¯œg¼ùÍøf®éÌÞ5¢™ÿòÇV|kç—ÿ¶™V›¹æãMgâûѼù/¿û¹µùëÎØ~}ÌóÕ5o{/Çù^Þ{Þzkœ·æü¿bþ¼r~ñý×v[}Wkß^{íßÍñ¿Ý›ënŸW]ï›o¯¶¾¾¼Ö{ßWž·Í»[‹ŸgÌ7ç½vMgVhòüZå·ß®íÖO+ÎúrüY_K¿êl;¶ÿ猷æ\[œ7·¸âL_Ó™kDÓÖ}qåŸë­µVqÝ7[ÛuÕy×úšÎ¬¶WûŸuû¿oíYïkkοÆX#š?­ÖæšqæµVŠuÞ8wÞqµwçü5yßZMgþ~ Deç×tf×zï‹?cZ­Ýûî×WZ­Õ[ÿã{»­õVûºöÎ5­³î¾õÝ9k:W\1ÞÕÖ»í~Ž­¾üŸó}­¶]gŒuÆ;ókï¶µnû|÷Ýy×xRÛ{Î9[½óãÍû½ú;ïVÛN+Ǻê›ûÅXלïÕ[ÌñÖtæó׈æÎZÓ™¼¿F4+þ·´îù¾—ç«±ÍØî¿×jDÓÞ޿ߪm¾·ÛÌécmkÞßëo]iÏšÎÔû3¯vêþ•W½óç[÷Ü»­õj:sãÇÖÏUãjiÕX[ëýšk׈æã·¶oÎqµZïÏ[_Mgr«Í}m¾¶^Þkî[gk?××k:³_hÞþÜm¿õŸßþx÷Ú¹®cmùåúï[në­WçºñæøîïÊÐÛèH¼wn5ïŸûů+c 8•¤ã¶Znñ¦ùÞ¯ys{o»Ï£o~ÚuöV£7Qù·Z×óÆzì^œ\'¿v_\5νvDSä!*•¤S™$AEÊ4½²ôÀδ -A¨>âh%N†·š£hºø:˜w Á(¶FRå»ÕiÂÄñÓØl’£71½Qdy¹ -;Ð,U‹ÒßáN&Œ*r‚)U  ‚¢9ze¬4z%oŽâ*ì@éAT~sµÖjnõ¥•óúÀWrØ’d‰ÛæKëÖ*;Óä›çÞo¯ß«½÷ÿf«3Æ7Û:-ÇÙæý»Úÿ›³áøÊô òØMŒ^齺ïC’^¸ -cbX"W¡ó>µ?¶•Vˆ°W&œ“åAp¤J¢ÌÅWÝKUÓ+ÁŽô ìÎ\ÛÜ{Ö5×jñ®¯³¥Us˫պbË+¶ó­Ÿß·1ÿ|yÏ—ÖÛqÍÏ3þKëÌùm½\×zõÕsnwÅ·ÚÍŸïû½êœßrÍ«æ–^ÛïÎz?­3ãÏûí®Ö~­•Ömÿ;ÖºÖ­-æ›ÚŽó¾×Ú\ïŵ溯ΛߪïÅßñÕ¸ëÌõ׉õߺŸçŠsÏÜV¹ÆøZ‹mÎó'Ã|ŽÍ{?¯׊±íx×ÿ·ó·ºÍûùc º"àÏa8úŸÿUC|£W"i8DD‰¢d`ø\myç*/ìÞ‡×|Ÿ¾ê+ÇÏãÀ;½p=sÆDˆŽ ¨¬>²Œ•*å‘™1A7–eè}¯.A§ú^/Fø­¦Xª<¨â_(3-V~†bˆõçmbn7­ûf½éw$iŠ_Sy@™äAX…Øù­5¿o-®ÿXç½ZÍ;æ«U)ô€ÎËyg¦uÞ›ixÖÊb©< –zçÕyŠ£ûYgý™ÉÔYgfÏÌ´•Ä’àƒà€ÊbÙ6:-qôbž™Ën#¶zÜjz)qÅ™™Œ››*Scç ¯þHo„ÍÎbÜÚRÅĈ™§v iÖ¯< Û´dh ›wŠ«P\y33§eôVciŽÞFv¤Ù"cc§~1ÐÄgï3¿æšk®¹ÆL¬5­$·qÏL÷æù~ï´r*æoüúu¶½ãý;s[õµûÚÚ1¶B%²P(±DàEtÞ8€¸ßôkÛ~êÙ­¶v›ÚZ;§ý­sÚÚUUÓ[Í®ô8Æ."óÜw§çíÞ¯žß´Ïž·ùœö›/ÞWo»ë¦9­6™RÀÊ`(¹åA)c`!æÉdÉŠgR[†ÀeˆdÀ¤  - ÀMPŠÊDÕ k)P05Ñ”tÑÁÐZ`#¶µ ¨k#Q`hl#Ol" lØ(:8g;Øf£m›+"Œl®ÔËt5T×”aa !U%ƒ/D‚ .Ä€Ã(d :TÅ@{@6D¤ÄPNâÀhd¤ÃŒ$ - ø1pÀ°ªÆ“Š, `P"·˜Œ ‹sËËEÆçº`t`êbÀ-.8y¸xwáâ —ŽO†¾H.&ô‚éøh—ÌÁ‹ö€$Dl>KC&jX(< –•‹š,ä§Cd¡¤ˆã¶Å„ñd,*¯C±D:eE×Xá` «ŠªÃÀ¨LNaDeóÁ*!P¥äšÊîºRÑY´’i6”Šö€$(¸J -jĽ( Í¢Z1X壠$l0L”Õ©4¢`±¡CÁ@x@ ÐŒ L©Èxe£ ' -Ë›PŠO8¹ÈÞÆµ›¤D&ƒIÄ$tU& Z4Ñ -çS˜\¼é`‚Ùx{Mèäaå¢Lp·Ê&/ ¦™4Pšþ8VZ‡ 4 U” Mî“fÑ4´ÖCK¤Xµ£m&4 §ÔZØ9¼†A‰a4Ρb¢iˆ&†iTT -b¤†« Õ@b\HºÓD£@t@) -4¤DA¦À -6Î]( üÇSÁ6(Œ^ð’ÈrGB-h‰ ` -6<”VB)R°Á™’–"”hGƒå¼NždìL$ëŠEb!Ù4ü€a’h\œ$TO ’ƒÃGR€BAÂBÐ !»—`î$K¸Å}É‚>mŠÔg‘´ðDR0ž"-A)#Ú2â&X$&yE:,$¾ˆ!°" ö•Š ²*9„®ZD"&J‰HøBD0iUŠ”0¸8ÊEpƒPäÑòD:,F…޲‰`„‘ -ÅG8rD{@^¤¿„ŽT#¹Ej‚‘¨hU"Ig!u`’H¬e‘kPfªŽLDKbÖaqðÊêÄ••ØÊ¸ÍŠ•À*VÙ b"•ä |0m‰ -ŒL{@ZT d VdŽØD&QQ%2L²“zÈFzbÊ,˜‡ ¥u\Ɖm ™Ve0m!Sè0…²‚qÊP’ Oö¹t2̇ -Ù†f"!+1l6Ù¦˜h2í)U*„Ì@&q-àPÏ.Ig#êwf@b 3“œi‰ØÍ -JÉͼM~ö`zÕLómd2Ë–¢cË& LdÈ&£ —L<,Ù˜PÉDõ€’iH.i&YÖÚZ–ÂØ‚Ìác É2&‘l’eY¦mY–%àRn:Aåb%$ɲ,˨d "Yvé—¬£ÂÁ’E2.–H–eYÉež”e˜â“e «HöRe$ÙöI– Á†Dê|.ÆÆúDèÆ9)ŠG³Ï±,¨ƒie±Gä N†‡H–%HÑ]˜©FÎe‘™½SZ;T;ÚB­FŸ‹‡¾u0–Ä¢3¨)Pi!$þâµ1†Õqq8(tB¬ @zºÁxmí)WŸ'T08qÂ=–LÖÀàÊ$H Š\íâ@˜­JèPxŽÂ,h>Ï„ªAëÒ(D Û_œ×d¥= ¥ t>‹ƒÕ«£¡1:¢K…8i\›Æ@Ç­hH‚X’u& +D‹Žè©Æå §‡Î†Q² Uʲ á ò¹²,3Ð@ɲ‘¡ Ëh -“eY)"ɲ;p]X–,K A‚Ú‚Ù¼Z™Î–l‹-Bo| Z+Œ°I‚?¡Q. ->–tGÛÊ$Œö€\7ÖðÑ(¬ÏÅAA -”Q)(ØKÒÈŽŽiËtî%»”ûEjD -Ô‚é:&ƒå ½²ŽPÈ}Lµl'÷,˺JÇF´ItŒž'ú-Ë2rƒ ŸBõ¢ÉЬpämt¦ -~]è•Ý腞Ȁn¹ÆŽ4zï›Hy%Ù…À/¢ ¿Ñä‘ö**¾Èï5Ao5Á.üXS$cô¦§CQ5Åp† 8 ›9Ån|¤÷ GâðÈo5½U§ú@X7»06CoŠàØ©ºò#=•Μ¡zsìÊoåÍn޳#CïƒÍô¦§úÀ¯”˜4ô1Mñ%ªæ¯¥»ÆæØ­Æ.¶1ÁŽôJ2ÆÑMRg(’“KT  ~\cGz}cÄ׊ŸÝ(z•øÁß*=øEŒ"˜í§¿ ¿’ô>_ë<áW~+Гc×y¬#Ænvå ú˜ì8ŠªÕ„ÍQ»‰‹J«ì`¨ð; ’ÐüZ°.°›_vºdy\~‰žÒôʯE1IÒa°Øin¼yÆ]ybyLŒø­<`,4â¸*­…,=’äx`ªË”ªïS™áï›à¡˜àÅkÍp4gêkEÌY†ÞÊSu!œûî<ï<‹J–ǽÕÖ+€@Ðóè¿|þÅäø…¶Þö‚Þ›”ØÅæFøõGüÊ‚,C1Tzd*vz^Y1gy9½ð˘¨ -;°KÍÛ¸Ëða£w@„ÅDzžAÏs¿²ƒ½DOèc -E•wBà­ÂÑï½òR/Ð{àÇGSKõµ(ȱ38®Pü6¼q"ð@تX³þˆ#¼°M¸ïÒ(Š`h#üZäöçó·æ³Œ‰.•ºÊ¬Œ•fqê%çê7¦ªÐ;vc9ûˆ3[¤Gš}ÄñÀÔôÊÉoÎÿqÚÉ-¶95Þœukãƒè€1˜v)ÍW}Lu YB¹Á<ÄV ê(«º°apí׉‰ ÅnݵÁ<@”D¤ØQˆx—J3 ¡Ø’»6!ŽÎåE+‘#ZR¤³ÜTF¢ôª‚ö€Œ(Ñ‚ˆ "Ýw ºI&ÚH¾L̦´$„E:†^ c;2$M¥c3°˜X4,"Ϫ ¯•™À,D›è' ¢ 3øTL,¤‡ƒ„Íâ6tbd b@ÒP,%†uךP“ŠF Ðeƒº Vý\Œ¨„"ˆÈ Ћ.Ò«— ë/“h“Ò|™Em¸„‚«= ŸŠ®TIÀ|J/að/aðIh³Y t¯= Ÿ Qß<\$¯•Ñ>^+Ó!ÅÆv(p.±ªÀ6š–ªÂ 61m.1ÔBÕ& Õ$!ê›L´Á|H±cÉœË?x.›Çd°Á<î gê¨&P¬§BÔ7‹-4 R<Àhçà¢Q«çÆÆŒæÛ LŠ-°! h¢ÁCXàŽô•´^@ò ªº@AYh|°&Ñ& ¡Ú…"¤ö€dX0x‘P±´ò'›"™Ølâ'lÉ€¢ šQ$Z¢€DTµäÂBÃ"ñ $št©¡ú±‘‹»´Â‚Ç1V¡ÉTJÈI‹ ÏÁF{@8™¡”+Ù˜,&$äfÒPld„Hpà$(¹¼%¥ù2ŠDc¡~"Š]…0*BJ™Q0‰0 ŸØ$ÛxÄ “ð91x’C¦ãy×'B³î–cú°©–2FÎ%PLnIA#qDR&³ˆ&—õMnÇ$zíÁ ‘–³“ÆBå(Xè˜Å“å̇’‘‘/g3¯ÎCiÔ±šq¤•ʃÂ}@iÆ1Á!«L¬(´ÈˆƒÒʨ,¯)C^hD4¶¢Ó‰ÔÅ%ÔaÙ¸çÚÄŽ—ƒÍ÷ÅQ¡HŽ„Ãf¹ GˆCˆÐ”ÁBç (. -ž‰ - 袓Љæ"äVP9ƒŒ‹„Šå 8pÌ6±L¬††I‰mP:–1.£6DH )a5 ”£ù¢()d“Ñ.°y^–y!£ -endstream endobj 19 0 obj <>stream -´ÇðjJ¨µÖZˆØÉª~Ahë0µpùt´Ì ŠÙý†Ò•ŒQ%u1 N‚Â;ãHàj‰0ÅG‹¬ê衬ˆLº¯¦‹T&/$8N"á˜h‰…L, _,4YUŽ ··—ЈÍF‚Ê K)…8™D€* ]Ä GRa²ª!-ÁÈ(Šl† r¤ • Å’êD{@ZùÒ]Q3YUÔ+fÀ‚ )q ¾ ˆ Qé¸ê@‘-p½q€<$çb´(”t< ªö€„*&Óë–Ÿ -Ž’C„ÔKD)£b Š’ƒB]R  -ÚbIP¸°‰ÚŠ2" ñ¹‰ª= |•Ú8Å$¯ LTO‡aÃA{@P§ÒÀ[5`l ¤wpª– ŽåRèo¼ôƒÄµÉŽ…yÉ  ®*À!èAQžpq'-ѕ͢³¹ -Û“U%e -;ázàä¥À#ÇLF ¤°áQb¢ÓDÆ¥!¡©=  ¡ša0Nœ -$zê¡Ú](.Flôx¨…ª=  ÆÂ‚ |hB˜„$Åt‡är¨xn`TIªƒfX€ehÈ&AKœEœ´˜&>ã(Ź|+31^ -Åtð¢ˆx²’èqÒb‰êʃ,°H4™¡Ú² b…ª ᆜ#!Kºª,°ö€d‡‰þp–¢ U) ±&PÈI„À8jˆ‹£u¼ðœ´[¡S'µD¢ìÈ5F×}È-‘Qúɪ^lÀˆ8©= U9áL%},c‰0Ž$÷±˜¬*(ÊLJÃ"fEœDZO2ÑãÜ¥ø¢Ã[Bƒ±¤ØÁhˆ=x €·«"S¿G’Ãdj¦¥¼š…2­o¸ƒUPêGÈ!#ÁÐú‚gAp8°ÔljcQ4­ÑèêF£”€_ 0Øæ–-ˆËæÁˆ>ÎU‹µÝsºƒ† -"Åæ"ÑX¨/†¼Ál*LÂÇ A¡aŸ¬ƒF碅Iøhy³C> ˜µDKExl‰„Å.tî䊘R¦Ä'$F™‘ÝTÀR‚C=ÿ-‹¬à’X{@,ž,‡›sù£qú€£ Ïiò²t(ÿ„V§À§“L6ÈŒ„סiD}!“êúä &Ac¡FD¡/x î<¤¬Z‰2&ƒÏBÄ‚ôq´dŒ°˜&…y †ö Àpa7MVjÝXTÖ§Ó@H\¢Îútʈ„‹ðp`KÂdê-[ ˜ “©™ÔDfkä æ)xÿ#ކ€ðA@iÈF¥YHѾ Æ‰ ª0zôfc¤QtäïІ #Â4P'LRªF`“j‰wA,é655£ -1ž -)½B BÖÀëu" ðÚ¼*"/ïc ;éڜτkNºK3Ú€q¼0'Ž‘Ê¤9´„Â9„ßÅÄÇ`ÁÀß8ºÀÖÄ+cj!„·•‰¤k59•6F×Þ«Àr±b%–ªcá² < ×) 1y¹2`Ïr1ñZUõ°âØ0ЫnÔ ª.ž<©´d¢tà*ˆÔeL™&V)“ !õ`ź“I¡@G1¡Ða¤Fª¼0 áúУa‹¦U¡Bí¯ŒP Š’¸ìÏ«@V2 Ñ6°Á1ƒ;=Hd¤2´dB3²Œ ,…QàÓ<™JcÁؤ ¬. l܆‹ Éú Îz " -$p­ƒ¬¯Ë -p{‘a‘’ÈøXì Œ…ŠäÚ¨@¨`J º´a `mp(´Ÿ: -Є5AÚ´H¯1'\£ÄƒÂ©€ÄAÃEGB2¡ºH¤XåFD©r`Š Á#0‘,f)8¥ 2¢“ÄÄËœ$^ >±9nD5e*a=hˆV饇ˆâ1VFöP(Q¦FÂÈ$éZÖDq:J±ÈEÉVŸBˆDK /I¦p¸iŽCkcc2„É~$OçÛ&²·8.&ZÜ…C9qÚÒ±( g1ò -W~­†Þy  -hÈ‹R¥aãM´2Z'ŒÄÛ08ؘ…auŽ‘Gu!1â°X8£MC„Áh¼¼6 VÅ‚k4}< ½.ŒL‡ˆ¤Ò2DÚ‚q°ŒDø–EËA&"ËR*$áòB½•A‘”Åëò8†Èráз™d@'’ìÃiQd|(-1|H‡Òþ¬bŸ QŠåa(Ë“gÃYŽç^¨G{@0ªÖ‘ˆ::c…5t^±‡Þáp tZ…ƒÃ¢Ø àlX¬@œï¢»W†Œs½V -™V9)Pîæ(dD¥ŒBï`cÂÇ Ô%˜8X)!ctØ$¸<Û–0}°ö€lRÔftipØd¤>šÍØ 2ØÜÌÓ4L 4ªVç ±¬.Ç"aÓh`u°`ðŽÀHÕ2ø8< -²¤R PÔ®D 0P¬¸ŒOIù|B"FÁ†íùh"¾X˳8%D²HèààÁâ»à°žQàit-ÐC‡ML:ÝÔàÙnJ’ΡÐðq„MŽ;ž[X À)J¤sR+r_Äqµ]v3±+ ˆ¶ö€„V–¾5Ƹì‰EïÐ`LiÔ "BŸ2^Ðx®:—‹ÞƒŽ\76U¶”2YóxD9²)z./.L& .‰É —— -ÁX0àÉ& ÁO™ÁÚRKÌ78Ž«PÐ3.Cg›®„Fö\ Ö7<},—"á:ì>y++¢— -kaÀÓ`A¸±ŠÆZÎס٠ÓBø¢çSo·(ñ¤Ú¾e9i>cqø×®2ÒÞµ‘šïCªR|6&ªÄT2ÔP—ªK"q+N¥RSL™™"¨¤²éc‰E¡b†hfH£@€(Š„bIŽ:dÄ€oZ6„P<š -#@ Æ‘EAA 2ˆdŒR†¡šÚø„]~¶? -ùÇÛ¨S¬RAr5^—XIC]:ë®mQ³Äç‘„[ƒ ²»2~¬—àtÑT·#–0Kª¹}rÍ·ÌÂcÒ7äŠ:zÅ<ÐÌñΰ=ÃèUPFý³îZA -±çرȠ„{à·­ï©x@P³g`«—{Ccà=‡Š&aåF›±‹÷Œ7—$ä<Ìˬgá{œgQ=—~Fì¤dºeE¤?$ -ÁHI´}4»W‘Žwîñ¥mi‹-—÷è ŸE(Ág ùÑõÚ²ó¶ŽiË&²Ë¢ÖÂ6gÃBG3uÏt8òvÏDj`V–¶-©å#–„¨rÐÁÝ Éñâåïy¶»Œ-1 -NpÌÄÖµM ‚›j“TöÆÕzU\ƒb[„$/N©‡*%2£úàm§Äë“LvBŒ1¢a²^d%9sÑb‰9Áâh­RêQ£«Ô“#ù¦¶¢1pž½ÿmÙ( ј(ÖC(]å8Ê4# x}›T¡„ÙNük´ƒ"k#ü -%ïÕ®¢¨/Læ§oµ¢1OJ:ðÉ«aSi?¶EÌ@rèOYë–çý…3·[eˆÓöGc^çèf<þkr×Ë»{ÎÚ€ÂTQ”kÉídž¯Ò4ЇÈÀ²S–Ùg¬€/ÜõȤËç3¨g`øžó(ج.efÛu²;‹©¬çx«ûžÊŽ\õ»h:‡øÃÇŽ „ÍLó¤U'—5Ÿ×¿fa»<Çy•*•ïíjÄÜ’¨D©•„ܶ,‘Áøq½ •±¹‚æ‰æòû¾MNïAn|%8ÛU”åø¿ü3YcJÈŸ/¶j ´LDz5¨ôJð‡XºøVŸOª³ü’¯KV;ÀÏÁUiŸF­É‰ÜrƒmƪhbÀ°è .Oúõè×°ŽíºÙ㇤ØÔœ -n×ñÔáü<0±Iû ÚbµLÞTnžß÷¤%?¦¤1ÈIWökdEìó€c6‹ö+ÕaÿÀa«olØË~™r¡|ŠÚ9çpB8Ê×̬¼ÂV9àpxú6g(Ò7³7å¼*}ßãÿÞñRÔðùI¢Àe=´"ÿDé©/-Ñ8}I¸¦uËîts ”©ZYƒ€iÙ¦K5aL -‡Y± 6â -KA|GÖº+.ÃM½ò! Æøøû~–k4=çC””¶ôÿJ¸„¶º³ š0«ç¯Ë}wrÎh£ÚBfÊŠþ×c«ƒåœ/R,±˜áZ"hMè2_6/[¨Q}Ûra4ð—å¬Á*¬’Èà ëB¿™ ÍzrìfÀÅiYíB`‚—:·ŠxìÌÜÖPwLoE¡0ãOÈ+W[6rÿ!Æ×­.üVKƒWó&…8<® _Àg6½1…Âý‡æ‰ ´é, -@w©y“Ï›©»{ûy1ß-e‹§³Çwlíí“ÈT¾eã`¹¨«Š`ò©<+ÇáFp ·—<—Éy[¨""Ïc FZzKÖ,Œ¤~ËV Ÿ‡¿ÿ˜¸<Ñ­™ˆº­Ý6ÔüÛb±¼ýé´Cà0k(ñÑiÉk&Ÿ< ìX¢í·Ú®àHxŽ´4yc‡V|sšb ×¥Í%•õÍl´_Yx\1±g‹ƒ-Ñ`úšMM¡Æ1án3‘:•4+9u‹ÛJb FugÏØöÒDKj\.rÿ§ºÀ” œ*PbT –Oϯ}¥bP’ÚaØ -÷ñù1˜ -4#ìO²WU/Âi‹Ð½&k؉zï¦Éº Ü}R -ÛW„ús8äÔ V‰Öìúåã.£**ý¨P¯Ð–Ýa ¸æ(‹Ö¡—¦Àà ÄàÈ uå]®KpF><â•Þ¥œ!dæO WñPîôx¦«Ô.Tµ9¿ÕdöRþx͈XÐÝýƒá×à.EûàU8(EÅM‘Ž$œ{–˜Œ‡Q§2SÐÃRå"š%7"•­&kLœˆ3¼>𘅺¹yx°˜5ºP;:½ÿ Y ¦Å¥<E%«ð;ı`%¤–*.†(±+ì„T4¥JÇ_9à¦-RÈÌ0x|iT:®Nʇ¬ìÇ©.7tÞA¢Óy¿Ÿ¿Ý@€¡¦Ï>õ9KϽ‹€yïÉV7˜X;8À«Ý&¼ - Þ¬«Š³5 ù놿gáglq ËLÙ*~4(^è2à$3EÌ7mF̬0æ¾µ Xè0NçÒ¨=€íQ¨Ï*Cø®7¯Ø“ñ츞ۧ½ÏÍŽ1\H4êÈ-<ûØ“¬X¥ì‘’vÃC«>Yï[½k©~NËôyÉT±ÁW»¨s;—©¥€\0hxcëƒåSY?®}ÞCèoÆwm-ø“¸sc‰%ñÔßa|x G©FÙo -ô§ãW“ò%U<ÃÇ&_ÐÆ­Cöžy¼=èa yƒ¨‹’F>WGô“V1HCÙߟÞûƒšµÓKii²‚º¼އq"´z ç᥿£ÉMÈé o=[!"¢y=Nçƒ' ¥ˆ C¾‚Cò†Xäë‰æ æŸu '?‘ÀGü‡oblþÑí®âj9]ï)„¾8ëHgƒü f2ðÓ¿øŸË×3màNJ\@ìK˜ß ”ú€ŸíjPÅ?9zɆ"›{„¦,Úcð3ªŸœmlìÇè:Ì4 ãGUÜ>òlq0µ'¾»RvfÈK¸½~–­œÃI•[¼ 6í¾nô¢±ôø-¾ˆNwnŸÅÞhæSmUó×­ZqW|¶cEôœZkå†c×g×h^}‰BSk3éšS‡„0‘±šœ6â´VW]wMjî1ôlue(ã0Mù =eºEe¢TÍHÅŒÈg‰Á$Åébyb3’ì„/‰*ïk¼¦z±ÜêEWb˜ÓðÂWwZu}f/dÁ„­Ä˜™,«m(ÁÆz >R%«A\E“¹å±)V1H”ØFìrè(,ÄÌ ÁŠ -¹çr¼Ã¬_DEH?Ÿ¼¡) -»¥o<+îæTÁ;êÄÕ7‹û€äiP0œÑº(‰/yGÓN9Ÿôñ_„€Úóm¶ÇÄÇ5ó“˜IC|å¼Ó·"®10câ 4QŠ[Hîk_2`@wö¹º­ò»’WAŠTáR’dç¶¼p{pYÀ%Ô}_A ÍòôbË“w¼3IÎQ°x`FQ+b9=Ï¡é®û¯Q ´ièƒø‡œ|TàtL#EÂ4( bC^wH# â´ÁÆò m«Þȇ¶Oø CÃÓ2•áð«Îýàh|¸]¦jxŒoîɳjsý/îM -ý»ŽÉ“ÐØÔ5L·û &i#g}§úØcz–3Yulž…ë¤"Î@,kŒ £O^ÐÕ3ЇTJb”KÇ©Œ¹š¶±Â( ð:Ñ,¶ü×€®c -ûhPõ@Är£W -mòˆ ùibd.Ÿ0ò¥ +¨ŸñàûžÖ¨ÿÒƒíNÑÏ#Ô-zš0?£dÌÓ4éG+0~m3C3tV¬˜žÊÐëW ¨S.|½§ƒSž%ŸN\í€1pgÒ*òÎ Ø–³– ³"'ÖœbXÅ‚°‹þ}%ÃDé3'ÍVØEÝŸ‘I8Dû}ÂX쬌ÓÏ”uZá r#,’øÞ‚Âb®ÜÿBKYçP¢ët HŽW©á!˸|Ùª<91qöË 6¬·;{ªìßT¸ö çEä¸"]ý¼¼¬‹ú±ýQ«š¤üÅ1#dðf' p¨´¢ät{,Ù¬¾j’ àóˆåìÿCÝüô&êڤМ´EØÃ­xWŸˆ‘šz2F(Ôn±”¯ k#ÉŒÏGp¨¤C¤¿qÖŇ÷2¼]üóSÀ~$d>hr}q¯i{îvÍÅì÷+%þN5ä#CGElºŒƒ£¤#·¾°Y¸Æ?óóÿã†êÛ… 6¥«ífíÆANkâÝéH'K,ÒaUÀ+I'÷Ò-ÊÌe÷Hz+ß‹«ªÙ)[í MHƒB¼lueø÷T9$  öïiMr3DÒ‹Šžºo(ëjYQ%UÈzˆ/’ì""Šð#Bi1Áâ¡{@$vŠW|™ëÉFà<¸tÏKÑú%•`t4®²¯qZh©`'whÉØkgËII¼Jâ UA+Õˆ¦«-ê8 -u“ÉÚ™ÙUÂHò)z2Gÿ¡ëƒ,5"ÚV ˜û±6-ÄݰyV9JIxŰ…fÈ÷`Hß–83øµŽÉ¾8ŽÌéñÂÓ ½¡šbFzÈþâ{ç ‰¹^!ã›ÌƒÛ¸âX}ùt² 턺{KOú=8’ò¼A4{T øJAØm“Љ­ìàê’ÄVºÆlN}ƒ6 qãFý±hâiý¥ƒ»‡”¾IY¶Š(¸ðÚ ~ðŠb'hÚ6DµÞþ²“O~EIo|ý0;¸Œâ‰%ÙQ²ÖØ„[ròàÇúU–™…ñá•Íb“ý!ÊÄ@dgkŸU…‰¼;ø¥JzÐD ÿKÚ¶ñN¥G ¢Ë²úå“]ÓÝØ³¬zŽJPDÙ# -¤ï¿SO 6º̷V-7}‹f¹ÔNèô]üqì%ý˼„˜þÃ)O8èS¢HÚZþˆ ZµßHÜËà×,T4·ˆåRiîtj_é‹Ò 6¡ Qº"ßê§åúP÷ª.L#0ÓLgMâSî òsù¨»lP 8ÿQ=’D÷ï‚7ü²^þ'f‘:yYF\l{s¼_Ê쌘ié~Ý É -2³íw !^âuµ_VI´gœOI±ÔPf Ù´õîz½Ö òó9RŠêy™¶Óñ@ò(…Íœ¤{’ñhàÂjî#×Lzre;øOUR£™„v ‘(7åé˜üâC’7¾É8DIh.£¸²±(oßø»êe–Âfõ[šN½5Þý -ý»rM²šúÚ ´‡ß†cÄÊRk©]û4fƒ¥9fº¦Æ½8(”2ŠDìmWœ?(v)ÿŠü²d]éxGò¨Š-¶IhVþ¢0ž±¤LºA;}áúe˳Õå–}%Çb=ÇŽTþî¿Z Hˆ‘-ÝÏ!ÂDŠã’Ùâ9+iñÙêÿþHøÃ?Ú,%æÒ(þ£Š‚Ë=½,Žt/—G ë6Lı¤]­®$.ÀïA|[¾¥f{P S„7v&‘ôì[ªÁ)65ÿ2¨A㕤6WÄç­%«[îç–<¼š¦ï¬#ׂ`lͦ)ôØÙªftÏ -Œƒ„¬i2QýªUž›W3ö»íY³ÖL³yÑŽ®g.Á4º–‡SæNÇ–ÐÇ)C’7ÌÂ\©l ·'ˆ×W 0DëK·¹3ë NP¥¥0.Ñ©Ž»Èm¹‘¡¸‹[p?»õì &×L•²LäÖ}6 ä><+3´ÌyÚ8‚> °#XÒØ „sbèÁëÙÑÙÿ{öpUCåjOîhP>Ïåà ­ÿ¥T„u¥mï%v¿µ.h)·wûà÷9YU"1ºÄ<0¦;Ö#Y9ºlr©¤94áiÏ ÔcG§|±¯tvíc$/s -”"b=жø³9»@í_‡+…é €ë¸Hšúˆj³Ê=KÃ`)V#(Ȥðå¡fÎ`êB”Í~P;yL¨¶“T,!,™8‘ Vÿò>|¼#p±ŸßI¦€rL8ãàšK•Cp<#nYû‘vÛ4uê|÷lŸ6Õ°ên(ûù\æ"á•ÛH SµŽ6#ÄÛ> »©vTH°ž9šIt×iss:ĈÂúïÀB’÷y“3ÚêÜ¥ú;ñÔóÂú½NÜèäã™Ì»Cÿ“öбƒuY¸K´ŒÍk ÜÑ#rzMŸOßÔ5±ÃÍÏ,€n#¥pˆs -ìPc}]$Ê‹ß&UÝ·†@ø ðÐáÃ%" }­;a°Î“˜’²¿Êe |ª¬J»ÎýÓÏù›ÕÖ_‘³NV#§£é†(Ãl;¡i>e®Ä-—ÜŒw#ÈÚ«=·H!GÄa}Øq­{B?q<_ë­UêsŸ•àL|Ž\ã~˜ÐVmwï¿Çú¤ßÔ,ÇÙŽ­˜Ú[¯¥ñ~â¿ÿ,g¦1Ï?£K±Š/=û@ÒÂ6[®2vß¾êr±¡E¨Ž'¡Wi¾C¼ á8-sx9Ñs½(ÈjÆTÛ’š2·«lyg%®Ÿ[UEgw”Ù“Áî$Š@ _}8O<Æ”,±_úÂïÁ+\ˆKa5W;ª–Cæ¶7_jöÿì´ÓGkÂñ­KÖì¿$¸½ŸH›v?–u( -‰hQÑZœ„'ò§Rñe ê7ÀÈ+’Û“Öwœ4ò€L +q÷¦`­{>…Ùy@ˆ|ô,ØØÿ)GWÍ -“"h—ÉœLƒ±D4èÐß™ĹÑáìoªªE¾èÎ]æëQG!¬"ÛK,ZŠà8qþXPÒ²’û¶MKzAæ‚ô”^5æÛϾn@ÏC«Uè™ÔšU˜{MCV‘‚*r´h€×‘4 -›Ò¢E/÷¡¤Í„]< 2/Á<óG¬(¸³úL¥ì‘w¢”ý: to=¼H€àmº5žeDÞ/,Q}œ*\Ÿ]zhþùW73àý½)äG‹[IêJnYÝTL+&ŒðÞJß©øèÓ‡‡&¬*sºÇ﮼µš•f/¶Öÿü©¯ˆ¿4c)ˆ5Y¹ç·iÔC˜°ïà ȉFü‡~ìe«*ÂZIXË¥µGÕæ MA/vb” -7“ -€úEð¶Ô V¬¹®pË­ËÆ^Öt{WÚi²}°“Êtµež)IË`Uqk€‚d”¡?vÜv¦(¬àŽQŒ$뺗Ó»Uk¬C±ZÀk³Ý“Ò -y g¸8}5Õ‰%A’¯B‹Í±©>):<ÿCµqË]õÎ+ȯ{IíUœ^+1);uTTÅ~Ò,ºD¿¹höIo3Ò ÀSA{“ ˆ);·‘"¶yáÊA…q;x5‹//HS¨Œ–oxæCmkΡ¹3Ç­cM£'Ží*VAëÔ‹­„ i|s\Zqî¡Þ².Ò?O»'·&êÀÔæ -Mª¤•˜æªÛ¨ä|þV´'nï645-‡$ôŒ°Öö~IÁÿ=¼˜ !»!Ûßü¨¶ÑYûáÊŠÈ“ÕØ1,7mLiºC²íl m1{SañI•µÜ¶ÌŸNJ®=É—eª-O `ÍHáüÿ+-)È6­ £PÎô7ƧNåGv‚µÐÌö+:w„«¹ÙäÖô GuÛ·ÕýânÊ\oxߺ9žð L­©¼šDªþaUWsOá×62Á‡ñLE ¸ïœ" oüïð¹À8Õ_WqðÈ6e} >A¬8Ù÷™¼7gybð¾‰5ˆ ¸âèÕ^{ØòÊå&Üϣ壷 trM!BÎuBk‚MŸ² µ(F‡¤IsÍ»“qPŽ’ÕÙ®˜ö“‰U•ÛÙ–†ã{<”hpQæ˜$eYr77eBŒ’vã rhæ•›JPµð. -ùÊÚEÎ>°jAeÃGÐ&¼!ðPõi“þƒK™¡×>QøðU.°:|ª©ßiAø#[ŸYÈiþ˜ú>Y ˆÙøñ|Èá84(>Ã@Žñ‹:°¯&•\Yv¼·:®ÿ@t ÆŠ]á0gJ2„?!èF£ËÀݶáú[¹•ÝW9rS87;èâ׊E¶õ6?eu^†kZCÖ m °ÎJ/´˜ÈZ¾Z¢jÑÏO¿Ô²„À+þzñƒÓô¢æH£2iÇ 2VÖ¹[÷!/ò¥@w*]®mQû¶úÌ -L?&îöÖˆ%YBáÕr”`4‚4?W¼n¯š§WJ•Ô¦hàMkÐ12Jw R€áÕ‡9b«ývU“¼&DóÞÐCO^EÐEI †¨[!…(£ÒÔ—ÍD -ãÔê0ffýd›Ÿ“™¼ÍÒ9ÿ;)Ò<.ç¸ÐWsµ2ñÓ`RýsÌpªKÛµZáÚ-A Mup -PS‘Ö¦jÄcö£Œ: -¶Ý„šqoOxÂóÎM(oW+bá`e˜`ø¹¿½¯ïŸy+4â0cÇ)?@@·¥¬ðÔ/€¦ÄºÝý5üÅróßpô‘'ú‘)h/…-¢Ž†¦QÌ“ÄÁD1IJïR¾_Óˆ ¯,J†§·pqã–2Å(ƒ™kqìøpÙÔ¶(ׯ*~4Ûgœ'à1«¢Å¦âFą́t¡ÙD‚ìÔ…ïp»ÿøŒ'~° xoâXeA Y- –hµAæ–ä¼®}„fŸ$òdÕø[J´”Ï?o Ô™8-ß‘¥L -ùñ**›}ò>l‹€˜IA½š féf‰ÃûÖã› ÜÜOd^K®!*3;µI¤=iÜ9ÂÀ'}¥˜-Ã\ÒÔ­6^ -z2¨£± -xˆ‡S~ÔMÆ"öºá—˜‹S/¥\è{Gò8+GÕ†ÂÕp]Õ3˜ÄQõ¶L’Ή=-Kµ¸™ƒû°i:Ç 4½ŸéþW3û|ýÆi:コ&Ét0šÕ[:'a¦”œ¯8 º™Âìå±+‹s!|Në\ÊzÚ–©ÐuïšqbˆÜ¦Iè4/¦(Tm±ÜZ 5ƒ©”F@1BàD¢3‡&'r¯5_5³<áÓµNb²¥}èp* ížéVZ#ÓÍ Bé±²ÍÍ]«<1ùCm@€ `KµÖŠÈÂ$_{p—¼l܇® KNé2ıðÄåj¤-$æ¼éÒÔ®èÉL1L8Ñ5а+ªdRZÁ” %#µ, Ém£€ºìl1m5)ѽ®Hñ­6ydÛg“M[dq‘—|H î“ -ÎRä¦B·H\±"Á^«D G"ü"ÎrµF|ƒ¾¸¨iÆKeßÈx™¼âþdÙ‰-B¨u¥ˆ‘ÃJ©HÎm^ œûŽT1L†“Rl~zŽéçzãAŒt6­œ3st”ØÃvIÑ*ç,ä¼q+äÊ£ê¬ -lXòR¦š®×Ìź°†i“¦ØR–§æhÓÊm•p{ó-†† Hþ6 ùJŠÜô¢=Α;d§BP£è§l[ô Ii0‘³š@·n4Æû -ÁÌ‹²†_¬£?U…1Óåh¸Á߆õ®Ó2àSX{g[Ç—yÔ¤%A -œ‚Ëzߘ:r·Æ{½ÕneÀ[&i?$¼PäŽf;¹Ix»Ð¿0½"<ò'ʹGh(ŒÜÔ$T==»V^_çö(@–:ZŒOÔ‡CŒ†ô5“ -x´\¾æm såVûeÈÈt¹q'Ü( ùÞ›¤¼D·Z²èñ^ójæ·ØÚè¨ï¶Õ>¾!†èФ=ñ`À)m ¬8x¨^ z"À±àCëÒð2€‡2N8HYb\Qô2‰jnv8Úé¦EK˜€'C«•©6B‘â-̉Aá TÈé5ÑîcøñÃ[Í&0%²‘äÈÂ`ôã±3Á¨€ ®¹œ ô|Jȃba¬ã-7u±X3©ÄÇ5P« - ÕM—^l¯8G¢žè½È˜Uq~Òˆ^ ê³e¤FÑèðµºzX{å¸!ôz¨Â—׳PoxáÕ.:-` qŸ3îN‹L­ºÕ³+¢Ò6Ò¾ˆíÌ*«D¥àÍŠÏéo—@üæ¤å˜)è8ªkáwŒèm}ºÍü~ÀÁá·šIð9/‹U˜@ %ÀCYÄNaÚJÅ —óæÓF]Ÿ†‘\J˜ìéß´å’fâhÛKž!çëúzØ68ÛL#rcÈW­Ù®6Fë=¤«ÇE]¡ÐÖ$V“y€;cùûdÌR~!a!ÆmAÜÏg™:ÇocÝG¿ÌΜl›8F6KP- -úÀt”[Ùßn"ø˜Îô*–5ý:Ó«ÓZÖ<Šë,4šÎ!ÿ`’ & æ@ÇAw^m3ðé7 Rµ®ÇŒøÑ"ý%Š9Úé8;0ýÃÆ>@þÔã 8k›CÖ¦Zñ|Õyï>QòÕ›2Íp”ß¹ÃõÆO¥Ç¡CÚA|‹C`)›5_ b{¼ÏCò[I-—Üp•ª­jÍÊÕžékØQûû²Ùà†4¼}÷è=Ìa–˜FTÜ"<›«šg ’oƒ÷ŒÈª-Ü€Œ6I&(÷™'QÎ5òÍjŸ!'aˆ²­n) - @(­î‘#]ñF¹£Ò@•¥–AóY6äfü]'¡ s唬V)ð"’mX$UÙ£¬S&ˆ¿€KFöºŽA(&“tuë”0ÔKÒîs‡^“HƒAÜðc%KM*„ãRmd EÎ;¿ìç¹Kó~Øz/#ê—4@ŽALFP`˜ÎRä{ñ¯/@@Õ]U0–é·Î¶21O¾ÛØM?²Ar$cœÉ·€@“» ÎíäšÄñϧ½C¡*Z·§Ö•iZ@òé@C¶MÜ!]Z§Hýß gA)³˜“ʯ>Wš”ñ—›½ :ã;ÄÞ+×쉿Cø¬d]ÙQ£4娟AºZ:jÀO‘º»¨tÅýžÈI˜Äù~::Ë?‘º‹¦… ¸ÔÛÜ]w¾:=Q2ö+ÚæØÎ¥ ± Èë^ ΃€‰}b6Â"±DÕ£î¨R¼)Z©zø/EtªP6’†Éi×ù‡*†(Ï÷»^xsu’w¸Wc¥LÀ±ÄVƒxqC"'¸j?ó…†_—¾Árn`sÔZù[Œ/ò1›W}p˦ö~8e´)j"yý„€ÙBKˆG…™å¶¨æ&Àò‹n<ð­Õ \\¥¹ -©Z0Ü‹p ¨w%²tä -$q¯2y¨k`GO¯ˆpøBûÔ¹$KëÀ^®Ð -šjO)uk>Õìž©¼%0UÁO½ÏQ\û\Ô.4´HQÞä6‡««ô2ÈiEëgà0/"¾O¯°ô‘§&3ßSço&œÉdßÈ,¯˜…ô­eô(À° ºžRd†Pƒt½bdÓ—wˆœjª‘QŒîFˆÍ „céˆÏǹÿ®QÁ½»3#˜1Js‹ï3V÷ÛBMìzGŒZHØ{÷j'†À$sKW/î…:HKíCEõ‡&Þ¤£l I؇ë&fIЦ…%X³’&ó]SœXÊ])œMZ¬ †øºA‹¦ºw>àÚ%Ïvÿ…ý…—k¥ÍmdÒ¹œ2Õ¯éc£fÇï*:ƒ¼ð÷m$ÓŒª#&|ÂW„è±õÜCƒrÈ”Üæ™5Òᇪߔ -ôT¡2skP•i Ì¿ÃÉný©Ï5_i¾ avPž*óm»xwb»f&&?ÙvN*ß¼º¡çÎb¹–,äœlß‹1¹šh"´/¬«¸kf|½Á^Ï£D/tIòEö+2Q`^¤¨ÁD˜^S†6ÕNaå †³ ü,’k·Œò†Úªa\msœ Pô".c‹O}Øç-ÛFŽB„°k(×ÿo\^3.ý®&†„žÔ¸ÿ¬-ÃÌä•ð¦¼~ãçȇ^zD/zé•Ç£¼îXlB##ÒKYo2ì1¨UÜ4½4˜^À$;ÖyØ‚*=\î…2l‘‚ C f˜n—$•èFÈ™•D|«• Tv9‰û‹[Eèb×ÓA9oÙ™¤+“FìƒlèR¸å¸˜oûbý y 4Ä%ž!,ñtšY,(A»’½j_ûÜÌ‘€@EŒKêUò'bϵý'e´õ~‚<ÈÁ:ÌPí>³eéH&l:Ý͵9^£@ zrÍÿâŠÎ…ÒÓQßý¾aðë³O%°Xáàò„T5'?Žô_¡× S~ƒ*V^Þó˪ûJá#oÜïÓ:žú:kxv!'~Œf¼Û†&½yjJ%"1.Üa¿@oäó·,}Aj\Ûº ¤±+èÛážo tì/Ã'ð˜"hŠžjz»–ƒyMT+J,£ - ”I+3÷¾Þ•ÿ þ̃°-{™'|ûUâÁdj SÈ j,Ý:*»q™,²…^°?´!ÏÖŸ öÈ46†¥}d9ƒ|XÙèSêU'îÀÏ¿IŒÁ¢Ñ"Ì¡ ß¥?E7ÐÚ}Ých |W“àV©¶Ùg˜Ö'bwU®È@'Õ6CQ«ÜGí„ñÉ=2>Ée ¯fßQãìí¸[/í”û%¨ä˜BK‡më}\GqZ-˜Ew½öe¨Ö -T0¿PQ² WÒŠ>’ÛžôÍ Ï*+(šò*6 ¡ÃAYnKý ÷°»È¿Ñw¨ ÑäÑz¡AƒÜ!ZjBÀÒ ›’gÏ´t˜ÝöÀ2q]ÆUüæ.³ Ö6ÒðãV½ÖZR[ÃxV¾å³eZ¸B ÂcŠäç[EÓ‡„ПÁr¹õè>&¡nÛfr)á#}b+9©ª‹0q!®4zÂÔX$ú%¼•=ÆM`^YØA[ž¬wz¦¸´å´dP‰Áž(1£`Üä I?Ì6%§Ä‘™³7س±•ϰƒ‘³dOïÁ7•xgÍ™Š¢s³q#Çý -Rh1?¿Æ<¼J.¯; C™ Äщrr6? ­;ÅaiמWTŽI¡úŸÌÛZ¦÷&;s÷ f¹¤#\h¬Q­’èžL>¤<ô#¸ 8$Yiƒ¨2¸m#÷;[”©~DzRÓ 6ªÖ›I†’=|XkDYìvqØ.xBÂ=?aMdùË~ Eÿ™ÉT/ÙÝ4|úº£•°÷¬´6wÆuÜN 6¾äZŠèÔ§·m.‘€ö±‹ÅG¹Zûlß4ðiHIÚÑ6­9ßr9¼Á~OQB½[£pBh‹@épE,ñ ¼‰V¶sà¤Í89oà*Î܆"²ÞäÒ/çM%d6Ç%Šš2ÿ™ÿXª ¯ ð÷<.®í:Gºä¦L¬VÓ›ƒ•&[f¨YÒ‹³Óå)ϰêíÃdso1㈀c*ÎàË´±oˆ=ãol++R"Yäæ?>!ÒØó;ó¡…þÖÐQX_ˆ¹& ïH€#mÌ‘EöÌQZ„RéõKECv¿w»hí¢‘£=È©ã¯!6,k±7¬·Õû" íS‡Éz -ÚN,ìÚÑe²2;ûË–l¡a¿Ÿåà-0Am„žÂÀ³¢À@’ÎO„M†MýƒM¡"¥ù•ä%uÐ^.¸l=*i #.¬ô5ìq1”ÍÙ©?±`ëL+Ýð«‰ÑÎ mhχª*¨ò¹[šXiúš ºz¢ùMaðÒ3&@¤ÓoÅÈJGiOWÿ¹´`ö^¸çiï´ŽÆJ„ÙLj•¶¬ï(M4YGW®N<é²FmæóQͳUvË"âž”`´ò‚îZ:˜i.÷£I/2ô7ú¡ŒsmðæÞ £ä}k”ù¬æQgoÔßÏÙÐìÀ•PÅî!ˆÍôå„hûÛcÜ0ð÷! A=ÄÄ@>i®e'Ã÷r:¾_°SÌÉ–©ÙTš|Xb”ñ³@éâ}Ê…§Ü¨§ïôdQèTB¯ÇH²œ’ýz™ºc9©á®v}^MNÄ€H5*÷ÃZ?[-ÆE(Šá5+vÂÁ¨¿æncú”zªMDèeK`|«·™i¡NeçEï#¥hžô_OB„®GT†ËÁ%‡  £ k‡ÊLnÙD‚Ìàé;  žº3Z9¡¤XnlEK¦œ”­Ìo‡ôRô¬¿¬Õ·ÚU]_[\Íê°˶“Ó‚ÃdÆë¨Bü+—"f1³Éþ#˜PÊmš˜(IŠ›ç{‘ £ÍIE\G;šI HÂ5(Ç1橎¾s¼eÞ®Ú€&|½K¥!Ÿ§:?;Ÿ‘¾ƒÈ™,­½\X^y3Â\X'ÑÖÉèl5ÅÙ¸Q5·±VeÂy'˜ÚpC"»4ÚI‰·»l.ò*¨Y|;¬?ëD™&¼5éQb E=äqŠk´&{ùrɽÈe òÈÑ^²Q&Š;<)6ü½ª$Kü?q»çp|a(a×Ñ[Ú# h,%ô?ïN4&B8t¦Ê×A(•€·¶7kåŽÍsŽO=ÖZ·âò•zNüÈ“«7:X»ÆüÄäg„`Ð÷¢k˸O5Îä,"QèRFÏëö\ÌŒ)š9 iþ i±ÖH$¬¡ó*]²!ºÏ%(Œ¾Œa`ûh¥¥yvhsMÖ´uûÊ‚•ú8—Sgõ¦ -íb3É“¸ÄkÕÚÁÃÔ Ãù¾ÃÔ¾ î‚OL¡ó§@ž…Áˆ˜‰È¶Ü!DÆiJÄåÑ·3bQÙ&&œ¨w“¾k¬ãçry€Qdû¡×Cè±ìÚ¥÷Ï -7^Õ.qò-s–ÊA^¹è¾_L8ºD™Ëv$ªP8¸èPìI™` äpÒañä%¿ÔRùeYœ]a(ä¿P ÄQñÂy#•U¡1Û¨Ì45þ´•ý<ã〮2R’T8½¨Úò€Û£Q“PhÔ«1h#°Ž(h ?§P”Œy‰Ô¯HT¨°af.á™~à - M¦ñ,Ù)o,¿1?î²ÃZa«Iª©£éÑ·DZ¦Í(Ž—ü^'ذ/aPñ™“¡?ºWK²íèaèÉW¤X„-ATÌÂCñTA42r¨ãf¨Àw…€¥C(Ê Y³Qãb‚j æ]$ ʺþìžÇOkÐ}tdñ¹ýgàGÏøä)¼Í2t(%İ­ -»øB¤–âà÷¦#‰c D%Ô£®s°·Îc„Ågÿºi¬‚A…¹‡¹ÓõóÓi4J†X²Ü¼4ÞÜÒ–«ÿƒúT’yS?\bÀÔÏ ðë+º#ê+e<ñcãû_‚1eâvÖp•:¹ -æ9ø§dSIu( ¶'‚â Ã1q\˜”%€—@¨Ð߉À±RøKþvÔ'‰ø®$þ” ^™Hz>”u׊ô nÂøqh\ݨ̇°'r‘º .>áùíðÙÙŸô¡vDÏ(_Ü@}ÁJèºR°!•7ëköîúD€«pöÍý¼s¾›’Äïˆ* -’üu‰VÁÄV=öæ­H4Ç…Zƒ[ÍCß͹aÔË¡yžìz˜@‰]zUw'ê=$ß àQí7’ð…‡v¡sÌ2‰áëTäÔÁøkW<\1Î϶`² ¬—Œ¶á~­ -C¹B†4DR/^Ð̇ó|ÿ‘A®ƒi†B¹wÃ8'—9ƒîõï7­…´ ©ÖtÇ©’3;²­ ñG9ˆ!êpNB ¯Ìhrì <„¸û£¸O-œÛÑ¿Ëm€Ñ±Mƒ0¸Ÿ¼m9)Uï ¦í‘±-Fs¬BJ¨‚•Ó‰=Üùý1\fn׊A<Ò?ÚÍ8¥sª-h]Yùlb–±‹Ý,»±–Šaa÷5-fâé@¥íô@¡LöûWìBp8o@idÍ6š”NuÛ¡ÃúÑþ“§ I-©¡ú,{õˆ#I-zcÄ)•m‚œUA'ôéj¥ »~Ú-(I@†QaáÐ4DhXÒY)ç¶‚öÊAq©‹kBs—E¸eº{¢Ñmñ¬Þå[`Ñ3{‹RbZd/šš˜Þ RðýbêéZÑêa½DôT^ ~>àT^Ô=}w*ÎúGÁ—½[ Ì ÅÓ¨ªšgfö7tò¬CVÜ•%’âœ`ª—‹’kÓc7mMb\}Í)ZÿîɳrÎ ¸b`‘°‚”’è‹”ØS¿ðô¸…~:C7µvûõ¤À†[rØäm'ÔR¶A\Ôsù“I^™dÂ0èà½Êë–’¢ŸMÎäŸlkÊuD·Õ-}^ÿTŒßU|³€\nS, õ·rï0²ŽÃÎÒ{+á~g›1?ÝÖ5@íy…FýA·'Ðs­ÞZDq÷±w£Ñw$0|ИÂ24kê߆Kcݧ:Ô©Q Õ‘)Ú÷7õ0AÒ^ó»ñ30鳨ÈPØ ŠTh¼¾ž+±€1JùnK®´T]©±Úü¿Ð ÕüJ¹V($y<À€R£>H!1€2¹Z`v“ÝdŒ¤S€5“Š[=è]Ìÿ0ô¥Ž/@t @&z” c):>›Å6 -‘èV»v&àµG@%/«§ ͬ¤wÕ±ÓýeQD[ÂJ¦Û6fs<¯Gý8@_@ê; .´ÍZ5%å<_$å̈x:‘è,§ŠÈt9UL="º€„x#:Ý[‘\¶ $É,†vÊÔ²Ø[̶´ÊßYéT3"$àyl¼*Qpß¹v.4ï\äyºÎR=b‡–>\Ùá®,‡BÏH(ä21·áL¤úͤÐaP–{âL(΄âš9"RdT•F%Q×Ú§”[Èg¨„~“Áêà(’?#¢Ái28Š| ‡äˆhpÈùÀQ$ó>ŽHfç~¢—¹™Zæ'2µÅu$²ææLMqp$r¦¤ýDžíR$Ò‚ªïÎTDx^ZpÓ43¾–?Îm­vYTœh2«E -Ù¢²xP–kQ‰&¥72[!xÔǤqÃÑT!è)>cÒ¸5Ť­zºâ9ÄXo¼#ñ*0—ƒ8rX´er‘Jh L×4f»3:xT Èï,‡Ô€êñ"ïU™VlK ø¨ºP MH¸ÂÙÆÝ [~Â/€V¡Ý fÝ+Ͷ?>5>l%~!Iü*âwšÆ·ýømhfýB3ñë ðãùM&C˜ ‰?ƒRÍ¿™]Pàå|zu5ü±’*Ä<¢S†ˆïl¢-) -JW—Òî\¨é`¢`ò”mò”Yò”„‚©$OÙHž2K†2tèV¥Ri…ÚÐ!³#d\KVP– -ÊrÏ…ÌâL8“ %‰¹…¬‘[ÈJ\i»r|L·ñ˜4îIÛå ½‘Ð •´]Ì2h»˜åg(*`vÁ©¥e¬Z±œ«VÌÖ>¨ -•B%’•Ú³"4 -å‰"9SËèÜOäL¨¹‘ÌîF!‰œÐÜH&gj$§êÆ€Á`x^%Œì;“wãìLž]ÙB¨YÓ´ -HY*ÌÂW…YZ‰2+Qp:šJ¬ó4ŒÂÐç™=ÂÐdqž–Ã.ΡuÙe^Z9ìÂ]‹¥¬ ,W´¨PĸÑ\ e¹¢É¬èh2«Å¢b<&ûh„.È£òáÆeñ1kåÆ+aïNP“ƥ̶§dQålµžª;Œóœ$hј’|þ™£n±¹È/`ÖÃØ‚ÄQ½»L*\H xÇþ‹ÅVOgbèZ"gfØ ¡PÀB”ŽßÁ^«ÌU x¨#»Økp9ìN&Mp€!@8 Ž¤âðø uàÝ鉿Éä€@EüNŠø]hfý@B4˜‰ŸÈ`&~¦Ÿ¿“fÖÏò3ã§Ê“ñ³¨Hâ·ÙƯ`‡KŸ‚sK¨ƒK=1œãPh’ÉÅ씜”][G׬Ùx.yõC4§fЪDÁg¹sm47RM%“©TENH/yÊv®K·BM2tȬnU4ÈŸ ¡Î |º |¦ÙUÒ­Jã@•CåP9ÔÂuhÝÒ¡uÏòpe9T…š•DB P–{fœ[Èr ™Å™PR©2X¸Q 乑n¤éF•¾Ï¤q{›s¤ín¤ 5«-ÔˆÄlÌ fc1Æ bö:dµZû ¡ÂJí :X©f¥ö¬«VÌÖ>¨@H—¶öAM G‘œ?#R58 8Šä¬Á9F‘  - #R58DErÖàÐo–½ÌœB‡ …š5“s?‘s/s#5S µ#‘AB!SË$BG"gj=ÜOä]æj^%Œ¦²‘½>“Fy@xH" ,ÚfõÈÀ Ý*µÁJ-"aÖ<½îm³zLäukŠ Úf½ñu)ÑtôÄë‚¶YÉZàj€¶Y³@$½W-mÏ`— +µU¢à†¨€YƒBÎDK<ÑÇ=·A¯gRðHäT  -±®_uS5Û¬ºoó´x_dh¶Y=[.¡6K{ËV€“‚#E2j`@3IK$ I’§˜n³Š‡+³t›µAÛÅÂEºK+µ;Ô6G+µâªD©Äfå6AXCÀX]PµDëb0ixéb¥ª4“ÝæV›x /fÿ&“’Gü,*’ø• fâwò•Ä×!_õë@½°¿ÇT?ÐøªßÇWŸ@‰#~¢<¿² ?¯ÂàÄÏ®çä8WJTðA³JÄÁäu=¤ƒK>\b$6ezŸˆ§ ¤rÖ‚SoŸmVX,aA‘è2ùlœmVVGãÄÞ—!8&ìƒ z³½+IG uÓˆYÁÈ@ކ9ñ%²N§àõUn6À9!œ‡£ …ôá7(aõrˆ k¡¾ÌF2i€—Õq ×ä¯6§Ç„ArH4–†{R–ëÞJý¤“¼;oœò`K0ð¡•Iˆ¸-)m­+À àËTÝ7b.‡Ý¥¢,ׂХ‹Ùæ±¹ø\Du|eDï±+.¥Î–0E'â[´ÂŽAʈó-¸ù¹4¾€È(8ÄŽ€çèé0ŠÛNÇS“n1vt:†*€eAËÚFÌÊ–H^Êjhž”­¸"$Éæl ’…¹ F–Y…ì^#Ò“ä~"÷27’û‰ÜË܈æFr¦–ÑÜÈȃ~c0Û¥òla # K±íRCºv)lòR6yf½"ѬiN v&O×Yß°«6$¼jÖ -¾)>æ ß\!X|p… ¬à -A#§ø˜7Eå(É…™ ZwÑwiq»C jVRTÀlŽT3‡Öe¬.µÌ¦ÄP–K){Šãx¥ Œ.Ë%˜¼•KJtz&5’"Õª(2ÁC‘õ+r™ÂôÀ¬PœßË¥O° ãÓ¬Ä`á+Ð[ÙÍÁ -߰ˬäi›•”œVx`›uàU‹aÁ*‚^*žWcNLl³’´‚ŬÇÀ,Ó:1pKõIGL®{ŒjÀQ^+Úf)"EÎÀ¢mÖL qÊz1]‚ÓëzÒ×µøä/´ÍÄÚf/ÎUA Êui7îl³â O¯ít¶Y­‡Þ©Bk§uØ ŒÎ “­ R@Âîˆe³bD%³‹Ø.•€,ðÁZF‘<Û¥ð˜k•V„¥+<ÒJ¶˜'@MÔ(Ù¥EüLêÜ ­^¥´ª‘Š~}£¿»´“è%ñ¤¯ÁD^åÉ_ ¡@BÆ×{â%^\­®¨rŒHžNoiê°@$½wÃÓ˘ÞR’HINˆ¤ -­á=lÐ[B -Ä®¯X7 › g +Q‘z³Xµb–VÉQЛË:‚‚SRô°»˜ÄhOœ¿¹ÐOñ6x_¼¥c$«‡  -<ë¤bC4R¤Ú<Ê 2b€Ò22”¡ rÑÒårJ -‚gÓ9c€®q«MRM¢ ýÙ…¼Oã_#h«,‰UYÖƒ–ÖÞ2•R’H/ÙѨGèõ -˜å°<mi®] -‡ˆñ4K›‚˜)F7G°gj:¤HÎX‰\b€RÁ+(Eò”ÙÔ'YàEÍ-d–‘n³Ö˜AÌ.RÞj‡¼Ò†ú³:Ó6ë˜káBÐ) Q„!~ ¡:zõË,Êñ O&U?¶S‘ä$u)ò§r]Ï&0ᵌ9eœ²i°ðŽ´ØJÉê;ž  È!5ëNm³"lI3Ñ¥H€D´e•ƒ´vâ–j¢à\À#3(Ë%'“Æ%¬Ô–¼€ V€J¨¶\F [CÐ*+ã)½Œ"ÙµOº€æÂ-Z8AYîxÑCë’#Ú.p•–WÃôRØ qfšO,† ,"X©I‡Ö+(Ë\¥­‘ -˜mm\¬,*½XÕ  à¿Á;=`›ˆ&8MŸ¬‡b49·£RÀäÞsá³SÆPÅ>{J&=¦Š1•–A&¤MÉ¥Oiw°] -_×.…­À§´»dÅMn>¥í˜¸'[ÏÏçµR‹Ghiëž4®õ å-íUU Êp vc’ÓÜD8%1*ËM9ÌÒ:ÂfS‹O¾ê‡ÙÆÏ<ÀøTŠrü>y2~šY¿ Í<´Æð+ ô.©øÊT0£ŠúcÉümT‘sc€"[& ˆSŽ88Àäc›MLÒ’»åe,Æ—Zœê7¹`ñslãWcô>YèP| Ù- …€Q(ÞœIÄ“ÊîæÞÓ)Å…ƒÄ \é’6œjéQt± -¢ÁÍêY ¡ ÐÑH@ ‚×åp‚Æ¥Fœrä\r›ÙV˜§wÅŒM´j c @¼XLw¹Ál£¡ s6Î6AB$4±®AB!Ýd -cœßñKÉWýN£?P8ýÌøÍv¸ŒÄjåTNåTN­ÍéHäFsMÜh4 ¡ÐPí0UY| P`”P §†¨§.¬Ô28µ´6“v…*© Á†æˆ„!*\p*¨/8ž×íaš§çÛgdp S©†Aqx"-±ä!è=**´«”šõ€YrÃ.Äßd²ô­.¥Uìô÷ýM&¿ª­‹"0Q,åí+bžÃ …‘dõt´Ä„m×.…ëVÚF®Å •l -½aÌSÚN©1ðbu)í`òå¶?&=ÚaŽ' K„ÂÅcÁXA €Ûlgˆén¼]LW`ˆ´p1^Ë@kW@(èbZ:Q¬ õ7ýÿí ûf¯ÍÿZKêÞ);ož³öúó¾¹%ï¶~4ô¯7¶X÷¼;ßßÞ›u¿û_ŸµÏÜnŒ­ÿØ“þcƒÿ~{±öšã½·¿Üoƒ¿ùç{µî~“þw÷ýâû3Îý[û?ß=“ç¹×ÚÛ«õíkþýý½[R÷ѳþØStÎÙfÉ«wïzÛï1ù{¿÷’þf=^?×ïO^®GCïÿwKö{óÅV[®-©/6ì¼½õürŸ;i=÷ýÚÝ=Ù}6xìûߺã{·»_Mz{û5Ü‘óm³!ÿÛ·½ÿÚß1É÷½Ø^Ë=ÆöÞÍ;É­Í9ëý&=Þ£[l9övóKÁûbû7Þ;÷ü;ßøgÃÝöcÌ3çŸìÜò1g®1&¹'³Í}{›µÇ¼lyÇ×À­½þòl¹Ïdß{4`Ío¶¾ÿ<6ï9cËoöçNî«7þ:ãl¿íäµþoûþX“øë¯/¾ÛÛßw&;ç9äyæþï=²Ç›_ì¿õäÎûR:Ï÷÷±îäÆ><Ç“¹[>vl· {­×™÷¼¹Æßÿî·ÿÞkØÚn›9æ_òÿ<¼÷<÷½wΣÁ÷Ï=·þwòÞœGÝï ûñÆo²ïN(¼xÖxg|9ÉóÖçK(Ô´o!ë ƒíàu±·—cïñÝÛcëí+sŽÿߨk«3îý_ͯ·˜óŒ=ï{[›}¯pNÁgÃ×÷gòÿŸ;Æwó|­Ç×nËGÃÞ~[¯Iî5¶ú’¿îóÆÿ«÷×øâž­ÆäY -5Cþük»ïíýߌ÷Ý]{{ù¾'¿Ùð×ÜçÍmÏ[kóÍ=ßý½Íº{üwϼs\5(/ŠÎ¸—ïÝ …Z)çû5ys :c«?i=ÞœBáÄ–ë¼¹Þ„ÂÉ=ßüêÎýö¼wóÞš[l;¹}&jùö ¡pzëq¶¾ÿŒµõúrò4to7¾÷ß ºã~¯æ_OjÞwÏ_ÿûq¶žäwnýÖ8ãÑp÷ÝY[ûïdλßÿoÆß~Il7¡P3ôœ¯Ç}÷Î-¹-ñß¾Lf®{»jáZ§e²10®¡…sm Ö`·á÷K(èbhm˜Í²ÍL¾ ª\ž^Û)7(c¼ U‚–¶ŒL6èetf˜Äx@ƒˆW³Í:Ör¶ïÙO”DEàÉl@בD³žôFf.H€v¨4•åÙT2d`F$à G£ …q‘áL2$B@P&:&,”G„‘P -²ÅQ Ä@d1tf” Ô—^ÓOQn®pÛ1-_Gd·„lñ¶W)^ø ¿¯¹ÉíÚ{L¿i½Z‹†–è;öØ„‹2òæ›QTp Òöh z²[Åá-ŽžJFÄã$ü ­qžÎšƒ‘á¹u› ‰½hãÝÝ -A,N‹X)å)ѳzЃ’GIyÅ®@zò§È÷ÿݱ¶öòXlŽGÃǧ5Z:»4.‡Ögáhȳp,õ¶<óÔK“õ#‚sK“Ë-î·Œk›8cξs?>®˜‡s‘¾ã— Pé.Û‹Z¾(wŸcÜïVbAÔ,õªC„cea%6ée8ü;Çj²?/¥äà3¥ Ëõ¸ŒÛuK©‰h·ÂgÝN„3÷z)¡ãº¹ÝG“hô±K%A h= ™˜ÿ¦4€½ý®I©À ¡eÆE`™íaE/DPâÒdî¬È¥×¢n(ðeâÌÖÇ‚ÁÑs†Ï¥åà§VȈî1ÍRj/¶úEôê–úǾÎwÅ]?Ì-IH@PÌ5ÏÙTj6¨¹8V0r¯Q ^Ð@†Ä\ç[­žÙãkGƒ¢s†² eÙCúܦ« -Ìù4¢).;%0áÇš>#úx…ípøë¨:ÿ`Å‹raKè+\R6#ZÖ¼@ž¨â^pª°Þ˜\è:¤bákZ4;ÞCu´‚вþ¼ŽU‹ËîÆøqAì4áÜ룺\ø+0wúmÎ5¥.âìUib²° »ïUÐðhªgHX¼FOQRA¯èh‹O1ù,Lp¡C‡ÇD ÍH㬤‚‰â"Î×ʇˆÓºŒGjfÉ‹¬û -À×EZ”í`Ê8/,¤äöj°Q<~Ê›'Áææ%À…èW²AVËäµø3Dôš,qõñk¾PAºiJzjä¾lÁ)%hò×ß8²*æ‡wu)PqH‘é,‰[gÌ:ù45j´«™½ 6ÈÞM‘âb¶Ç°Ñˆ±¸YÅg.†øÉÜnݱöš.ÁõBzb=üR~o'²ê™¦,¶ÁOÕ/ »îáä& >ŠfP–&äâø^ÉdQ'˜—«'íˆ^iÎ-ñ©ž°¹0R° =ÓÞ3ݽe„«{õžgÆ¡4FCíª Ù÷):©Š3Q¢_ˆLLxø ¡}´ë›_J“Žd6䦌-³¼9#m¥ŒLE­$*F^×Юb¦ˆb9Ëi9^42_ßH¿qéý3¯±†©ùL]ÆåÙá¿Öb]c!®´ëŒ´žiÃÂOðžx­(¸Ð ú T2Èÿæiʇt[Ž ?hP?Z¦™…Uœk<œqæ6Nõ)âS!Q¶1C‘ëÞ¾åéÔHæ_dIŸJió(6‡^úŠÅ¡Ë*hÝëN@âÄ-µ5áãMgoЦJXê‹Cè`‘xŽ3Ö‹U¯Œ~\Ä£“D¼± -©?­û£;™ºcaD¿]¸tXœÛSg¾Ö£{€ÅQºluì|½¤Xd‰W]e“5;ê> 9%¶ÌÉ¡×~R¿kæbÐ;â±ù‡‘:”Ã=¹¡7á¦*yŠÅ2âD ó(x>ùK F?ìU1³ajú ;Ñ8s’ˆŠý39^ÝT`º~LÄ(΂iVQ®Îr:ÿ]ásªptáÙ¼Žj5aØR(4ΟیäÐËïNîËP liš‚P½eúJo8gdXš# -úó©C{;‰C¦Å,‹#KÞ“×TÜù4«W±>)ñ~ÆÏŒŒ¯âfÛ©ÌaøŒ¤BV®òBSŽO6®ñ¬¹À׿ܾ{…'®a.Eü¼`Lm±q¿yàéh“¾t¼v4 ) `_ο‰`ŸÄNxÌÑJ¡зàƒ‹@G%²ú¥r-·¤æ"57HÑ¥ÈM§füôÊê>K'l‰…b^i 1‰Ü)Þx({ËYlÕÖç 7ßb:’‰A•Ž¥gC%X•Žj¨Î"“ê Úì5–v¯}¨|›OÙ Á“D[‰ã"—“°XùK’ÚLAÖ-~CرʹàßDÚ냈W -$ad(£6ª·’£Èó*^ÚŸtÊuÅ„ËkéÏ÷û¹C@pø§³rP)Îî„ÝmE’ÝFOP9¬¿Øj¼nž›q¸R‡I/89WxÑDBàûIoÃŽqÎéÝ”6÷S$9Ðßp…n ©øè`(á÷‡ˆY°ÓŽ›ÅÈã§± o6Qq@œ -:ôŽnst60–+tD1a»ç +b`„±éè¹Dê8µL$l*"¿ÆYEÉÐXÓ~~{óPÖkzÙÖÎUØ 0ÌÄEãK ;¤Ç›A¨ŠÝóðf7³¿‚®[匢£ÑH°ƒžîË*cz?„֫ΧðÇ]Ä%uø&<ƽ”ši/”Œ?Ñð›Ž2;eݸú@r)NÿåÅ ªlõƒd @S¿wí#ëñklâ|˜nÀÉ.?øÂ«˜Uh¶„V‡òž°aHU Šsœéô´ ~¾’ ~Þõ(–Psh9rz.ºf%R÷ª> Xxø°8†’;ÉL`tÉf¬ÈÀÝüõÚþ¦Ùu%&9X,ç0QVX`Ï0Kr=f¨ Èܤç2_ -?etrì/3àCÁ€|†c­±–AìŽæ—!%¶hcµ'¹q¿'V‘×ÙæcãæO0B$]O“7-òª]…:­%èÄ|Çžvmù>Áj9"TE…ßB!œàËG½RËG©ö¦:ã0Q· LBˆ‡Rwš91gqíÛI€wîlÿã¤]‘8s¥Å¨–ús_[µJ‹¯æ.ˆÉ·™ê¹þ„–aªbÂm#þuÁÍ}F,¡šX®ÌçÚ7@˜ ƳçQúñ@Œâ(“«•yÌÍ_üŽúé•ã•2¤£—]U+se6˜ñ X‡b×#*è÷Pއ=àXL%Ä71\¼–à«HØ<\wê» -hÉ)Ä^êaTpt…]¬$œoKæGø_ìÑÞ´è„4$H½åE•âïq€ÈÇZžÉt4ýUáeËýÌÒ ÞŒâdðš _NÅ‹÷“^‹xBÈÝ/¥`°‡¿Hp¡:ÌäïéQF< t0\MñIÁ÷¢ÚL7t³¤ƒˆ§…âi8žÁ˵­ælCÙ—atÃQ4¹õSÃtлN¶ÆI”¯Ÿæxv“KXõ&85º÷Ä o ÄÄœ -7¯™rÞ !é#‡›»ÔþHî7 -dªº'©Ùõðýá-lK†§ºHØão¥»@diØÔÒ(Ç ï‘<ÜÚâ0§ÑÕÒ•aºF¹i´¥…î…ŠÉ|zÆ­d>Céæ$õ þÊv„ -þ{÷dõX4çòCzÿeèØ!Bìˆ{¯Ãô#Ç æìQþ¥‡i»·B̳(Jȯ,“µ²™Q”ÿZ¦—57Â%ȰÓàa)V¬ƒ­µ¼Ü3! ´¿Q…£R-Y–E¤zÀ¯†Ê.þ¼/—PÉ)iùva-Ã(-Jè¼fé’vdTÅŃá¨wˆBú/íRk´¸¾LÄPµA˜˜x~êÒC<ê ü&Œí3'Hn :aA<­ FŠÔY‚ô(X;Íh¬iGù)Å€¢”úµLŽ/ö!«ŽÊóYç5Ó5ÜsXo4ºh&Ê/>,2'Q¡?vÃÍKEípÔ¿Ù©¶¹£Ð~H Ú£Ué£_Ýux«þAš£æy­‰OÁ>Ø+Ns©Öß8Ë,©ëZ`D¢Íx}îMª½êA»QÕm2d¼ Œ¥\ƒn¤phj`Úà‘e‘‘ð±Ä=Í ü&ÿºÍ8X—?³Y"  S"*ÆsW"I…^ò£=RG´¿1GÌŠu‹Õ› Ô-œ‚Š;æéÒ1(íHÕ%$Š::‚ƒ/šŽ{ t J]]|a ž Ðq©”K]cžóŽK¢\zwVÿŽ‹M¹*£•zÇÕ®\&µH½ãz+׃‘ü¸ª¤aMñ@ÇÕ…,îmÊeÎc›r%ÇZ¹€ T¢ã!ôïžb¥Ss½׉¬êÁ¡À;.´r¢è¤à`g¥œn‹WSê}z¨ñfá9(Î"÷ÿÐãÀ$!^’쪷ìØh”£AB§¨@à -¥Z¢º¦¾þâ>Mq¢.úÄô¦Q1oCøô©í¦¡ -q¹(Î.hŸØbØŸ@Xƒ kö3Ì16üð%EdÖ™Ld8Vëòò-ÛBbã`:Ÿ˜Ldha -€ñ¥Ñÿ-ì±iËXÈ‘1#Ä@ „2Á–LéÊ‹zmàòÏîQKë‡pÿÙå¸ÒU&„˜Æl˜!±?èªODÜ’‰"yaê±MÖÁÁtÉ‘ˆ#k’¯PÒ?¡pŽû¬W~ãƒÐ݆`þYO^8’*€AÌ6±>C%3¼aÆüR8^Þ¨Üâ+ÙˆÙÌ Å­äUÏ‹¥$dêßÑX¬‘0e‡ SL½6ÎU‚}e4»[SÏ¿©PÖ&E/b±j)7Ѷ•æø;·R$Û9—€`/^)5İc0)ë‹Z¨¸möC&änš"wcá $Z7¸ Ø÷˜ÄdŒÃ1²q_dZLWBYpØ_Ÿ’ÏX‰â\Î'ˆ®WK2‰sTþ9 5J^QtˆäíȘF)í}y¼>б™6ðr"ˆä£ü©[H$¿²„0ÜAÙ§ÏçÏÍÍbißgEL„Ä9p¡ñbµƒ•P"bÓÜ A(º€ÒÈ=(ð_ð>ÿ,Õ‡Öu]½ì³Ì¨ïÖö¸Šk®eœ,ã–ñ^¾‰æã=¢AnsÄ5AÇ¿ÏA©%E|Ñ#55 «³¤žj3,È3ã Â“q2à#ºq,Š,°—ÔÛσ$ºá£XRB8 -kï KJ„‰;Ž18E?ª0«Q?Á:_SÁÓXV^R×´¶ø¡÷¿±Š+Û™ÐÚ(«¡õaT/ùÒŽ¦%^Ë¢«P¬ïUgqÿ~ÿŒJŒi'(9; ¼´ ZÚïųy2"½ÿ÷¤>I|¡„£Bw`Y¨áP`e¾Ö¶Œ<¦†k4yržÌc¾ZðÕa6Õvd™ÑÃ`×¢ÒØì´§Ô"ÞIVïÜð-Gʃ}ÂÚdñvVÎ'Äš/íV–Ȇ§š`A>RÄåb -®,úˆ63U»*s¹„ -¦cv!î©àÑÁïg_´×/[àË "@Â×k\ö© ¢%n«š¢]µ)uÜUu›ºÖ!"88åH BÂaªMð¯¢p¦9“?´e:1<™ëŽÉ6†Ge@ïK„“¢t çÞµ%ˆëƒNi—u‚àT÷ù/—°uÈÔØä’Œ?‚€á°-sQB”jÎÚjXüí|Ä|ÜzÙL4|²{ò{;xd4©[‡œÊç%Ú-صNT$'IĤ@Äñ .Ĭ½ÊXò-¸¯p¶`ÆæãEz$E2@&ÅgpçsˆImçO…ø7z¡IõXrž0Áö7rÉS8ŠI1½lÒk5ĤV¼"sJ“Ú$ -‘>Ö0f^MGƒÝòpÁ¤¹áôñ2'ø JöÁZŠMÚj‰b—ˆXiü¤ ‚¢†®žyÙ -Qšs67oóKpS¬_ã…t}d¤ŒA0öÀ°¥ÏŸ^ž©VM[)‰‰©¥µioNaKæRßo¥— i@ÌÆœâúÌ2A­.üŠÛ”Àdø]U8­ÊÑêõ—¹¶a‰‚mÚØ%]D­ƒ§Xùx!l¬Ô·Ü7ðhñM{U+ª[½ I“ ¯gV·È?¦³™!¥9hñ8ˆˆ;ŒiQŒ¯`¬» f±dÞ“§¨`l'3ÓÒÒ¼“UËÉÜ1ÌÓaŒz_;Ü  z ý\ºh -’}…3iip· ÈÚ …`_›ˆÊ¤èÉ2VÎi†làÁ©wôê{£–rƒ Ô.„Ì,÷øÌ;!WnSl†è ÖÇËo†t­Y[‹x4=÷ÅCÞJ&FócåÂãÁ‚¹H6ÎX±ø#xÇ^sAf -XúŽ5>àì‡%š?\-çˆçæ «ƒåßæ;î ¤Xý8'Ũ|z›”œÃ½á²çÜwŽ]Üöb|²jZKõtÑl’$p­,õ{\4òæ#e}‰,ú(ž©4óÊ#kÈ]s 5´Øoç§¿&?—ê?Ôm÷’OÑÈ|2¡C—ÕF™iCRÓ²¨½»ˆà7IX’-Îâ¸bI¥W®41¥¿Üœ HÀüF!iúðúj…mïd²âØo™”J§â©§gÁÀIJÍZ~-ð¼îý{ºSjt "ÄÑ‚Ê%økCù·±–˜õdDÙ+1Öˆü¨¹— ꇺ0’`K‚FVõáocÿÍ¨š„²¼yK9ÞÄø„>XµÛ«¬oZ· õײ”=g×õh<‡Àë¦MguÕãëõ¦G×ö—”-†yU!o(þk—Ó×8ç8•´§¦š% NóÎŽÕHNifÓ!ñІT< ~CTrØar°ÆC¬1º¥Ok‹Š3…ëʦ^â1þbî7‘“"†(ÿ¹Î¹ñ}#ƒø‘ÜG@ˆ•‘™hWRJØÞHD±b…ÒÂ75ãeG‡&ZkèÜ„¸u4 Q-¿¼ H¸\Ô³ÔwÑ$TòB^i¸b¨žç$*±-ó³h†À"„ÓâÌÀaþ±¥fO°*}ZEÞ<‡3b¸ÍÑzˆ(Ç‚ñ*&ÄØZaŽC ¨gŸb;Ù#¢æôò©þ£ö!ĶZu98ÄÞ(Û’ƒsØÐÀ­p|˜[“|¶RÛf)RTü‡Yís”‰ý}ÑÊmB¼Å&Ÿ¨ð¸@ªä~:!Öñ K£n—; uö2œ³ñ²Ð`‚"A–«(²gÍäê²Q±L5úßé‘‚›/Gë;»T™–A/•)Žœ,ÿ+§_’{ôºtöFN"; -¬‡üà^‚˜Oè”*—>ÓÞ"¢õ¢M' ‹pU¦as(Øå2oÞõŠó²rM'å¸:5®Vx²hœï7ZÀüé•’¼DrùëX#¦œT€ÅðLº:Oü0°™×VôÑ¡CQE™,BáÖJKÙ¬seGnکˤ“½˜5²2;üÓ¶˜™¥pÊH^ C†²!5¡%y¯lV_3اù;ÿ»„JÓê©ö'H*=ÙÈY ï*œxÌÍ1.ÿ.ÏJq³‹…c®‘~פm½ -ÇÙdù~Y¹Áñ³Ã²Kq`<*ËÃã}¿—ÑûH@;«z]Èéí ÊA§Â oímÐÿÁÛ=¨9“@Ùýb²†,BÛ¯¦Õ‚€Ú!ê‹&ö,7aÝEĔ˥a/eÀEÉö -eùmév g òŸßȱ7¥[kìµµÇTŠÏ^ÇIð§ØŠ1«f[ VÉš>Dô¾yçóƒÑ­ƒz&ÍúàOU0äC!ŸÁ =aeÀ‘A4SÕ¯r?˜rÄÑxuÜ:ƒ—Ûç j0ÌЦ‚œ59ƒ‘v/lµƒ#„n¶oš$7èÿVƒ}…‚~t%d¾÷UwOe¥í«8ƒãT1¥ÿä­åÊNNÆ -ŸõžÖåb§¾Ô`Û AC$µì*Îå£O[ëJ— -j#ã¼3¡Œð^¢™*ÓÚDúûy³\q -¡Ã 2+˜Üá×±½ £•MH˜=jc#@^ -±ºù¯®Á®;Ú>ÀA‡ÿ#Ñ_Zš‡¼Â‘hÆd*ôæ_…¬x Ãs%ûÒê'£îX:—ÕÉÞÚ“¡ (™’«UúÇä¥Jsx®c¥ýé'&o×U‹›2Ê„â?À€|§ÿurA‰ýõa&>ê]Ÿ+`ÅM–¤ñØÀ?ÀüÆ;ºpð6×lög&ö‚ Á™O­,–Ð[úcµÕILLÙ]"]„±º†¤½b›„‚ëWi HæiHe8ÎfPY0QíGÑÒŠ!š–d.1 ¥ƒô-ãçf_Ïyø˜ä3•m'D'H*aZ×âtú žh¢éd–á¬dtuÄopøcùdðžÀeƒ³óAÏ?æG(Q³ÁןGÚyƒÏ#U ü£îtQ|å7øÓ/_¬~Ë‹¤R³¯WÄ») ¨Å§ÉùA"Ô´©Î{ƒkzò Þ'®ÍC6xÑß[q:7Q{¥† ¾ï^PNƒŸeŸA6ØsZFKϪ•n6˜Ø~y£­¼ñ ðžj®HyCž]Qo3'4€²,“D´H¥ú¦ÍEÒ_w8haªÖtsKâ¾éÑ2sP¯|ÿÖbÖJE…‹âÖ´ŽqÀF×¢9àÙáôþ3V`<0tø9Æþ y>F’\y4 ¼NØl9ƒ–ÕîÙ -û´¬DÔqé·¼ûçà5ÖZ¸DÌ~TWŸ:ž™±ÊÓAêàðÛ½Ív•œÉ¨[Å÷ -®¡fÝAïabo³hDôÓŸŸï\hâûpüC:cµ „îûü€Ç–º*éP›¾Ue²—A>&½l—>Z~…•?q¨Ô8gç_ºä=ñ&öÓ\k"ø6©ï—¥.ªé::EåtWX§9íd”ï´¿1¯-â‚ouF£Þ’“³Ÿñ^àŠ}B6›ÿIs›T—B¤tËžiyÒM• ñï8|íÂz\#?²ØrÐ;ˆÚËpiB745¸R­Û¤{{:ª Ø`¬ä¶Æ °oÁÎÂ×út\VœŠÍqÖeöWO”è‰!éTMQw„®pÖJ!¢hîmMð§`A?Úxùƒ~lCÀï†|_PZ#%îœ`Á‰0…hQdeü⊀-F€vËB¯Q‡[#÷Mélù˜ZÈØž‰ñ:ôr±õ/€1%“5¤BøwAP8kfB€©pÓ£fæJƒæÍÇ4½§¸þìs–B?TùƒÝùˆäçê“Dï¢Ó¶¨9OÒ3>® 8ù9¤‡U)iHÒãvçò­Œû¨çXbZÄœ¦¿˜Ût 6+¹u¶¢Ñmˆ§„¨´O ou¹ðk¬~à®ÙQ0/ò6c <«W"“ÂeÅ©¸¢$MÕ·Mh9ã¢üOŠ|ÖÜymÊ\85NÖ”1 vå>)”W[Ùp6!XKÃÒ-Åk/Å9u'9Já­§}>[éƒgÛeC#œJ¿rÄ\ãÍžP1s²"‚iÂÙßÒ:.[fÞ="Vì)г±_H0ú]níòú8ôVu`–ÂM ­npÎ ¹ ^@·¦DL¿G5}>sÔô+G€ÍD3©6IV–R@ -På#³eÓs]:§Y¼«­\˜‚g×@IJ@Sm[3–Ž=~°q· Ô.›O½ü͸”âÊ1Ú,a\ò“9a•¿Ós|£ýè÷w'¦ðŽ}VÇõ …{0ÆÎ'9ì¸e;«8r‰ÃßÉ+û|äâ­èÙññdfÑÚš9,ò1˜Ž*ú§÷ý*ü&œä^(²¨~`7iBü›Ò‹ÄoÜÑHÓÞS[–õ;àWþº¶pâž­Ù §B¬Ve¤agb8#@/Šáª•‘ïa;\^]½Óì/Ea¶CN.3ak'úÐ"µðÝ@ªè4êU*LI_¯/sHêaJìú#}ñƒüT£™­Ü²Hl_VØö˾"ÑxÉ£ØØ˜ôMÈIðZ÷¢â'uA3ñ (¥N<_y ¸(üJ_áRŸcy½lŗH_=+ië䘽çkë5åXúæá0ÿ ãŒ&$Ré|ƒ+Í!“NêѶ‹U#ã€÷ñïEÖEHb±aU)*Óim΄±P*XG•Bs+@&¬4}¸s’¡(vM]ˆÕàÊ:®ë uYÌ“¹œ3{;ro20ú¦.=—½­OÖØJ2y¿î“|*óÑs Ĺ“K0÷JŽàÆ‹áØÉfä‚ÛÒˆo§½nÕöÈpj%7%랆éw&˜€KÓ€ÁMäÎãŽÆ*vÁɳ3Oá@/Ò Ì¾òù€»~'«XGÁÊ€¬Ô 1Ñf(&®œCÇCîw ãì[i®3ŽJ„Ø´ ÝÒø´ûUöi#·AÂÁ|e 6I½ÿ§!4ë…B¾2Í/޶æ[3׳h¶®¬5Ò°É¢’¨ÏΗY½0?3;…ǰ¸2šCÞ+¶ã×¼u qò^Rt'c«o¾¬Ì‘Ȉü³gIŸ’yt&p`8”>ˆ.-^Z¨ýÙUL K›¡c°rk“çä•‘Ó ‰#)(²†´Éq¨?m.3Ô ÀYÓ{E§Î~DQ º°ïõ m:¸­œ'K¨ÍÅ=U§Gñ4§>ƒ†¨¯m¸”ÎõŒåQê[3¹×׫P_Ér}wüt挊}³IµtP7A}kf××ýùÜuƒ‰ëë;˯›NŸvÛëÛø5Ê_½¡Ökª`¦}ßÅö=˜b -©e#ìƒã싦>•©.shëƒãéÀ:Έ Ήÿ‚à£n¤mY¶2jŠ"/wxHço—(`‡¨®\Oe7ÆÔ“åHn ЇlÃêÞ†cÿà %S'ÁÁKá‰àR M¾Xùr!rÐE Ú.Ͼ—æÌ?qÏ@¢x.ò°cÚPµÑ§Œx ¿_wk#•zé…ÚÍÑŽt8FRÿYÍ ÄH¢è « ̃!Ê&…'‡švÌïônáìǪêÄ^µÀUf™N4µò³Ðý|—#OQ¤Ú%§;&(‘–HÈhÖût…Uó,˜= 8Ä;6Ÿ9· õ°½€.×"ò ¾cþn€w"©\Å#.xú‚‰É»šnÇmÀºçy4=F­ürz©³öàO;Ó|ÖïW³þ^ͧºâ3Îh XÈí)zÉßSÃÖ‹'wüœ`u›Û¥«g$ð?ø‰G;”øU—½ø\NÁ^´,}ó©)¬lÈËñ³©VÆþV’µ™¢ýßůt=„Oi–Ïå'%N†Épw䄆¼Mb8“&4—:eWYÛm‹ÏÍxóËg},’¡Ç¢ìÄg‘N26~‚‘gêváK -äq4ýØêŒ²šÚÕzœ¾]¤ÎáýRÁ‘ î«KRçrÃQºÜ¯ »ñ$ çÓʆD™ZXŸ6Cp,B,mXcGe¢vÖ'>Ÿ³Â„µ±GEb©‰[ ÀoRûÃDä¸[yã27 xY´*#bŽÍyš{¬ ŠhîÆöJ¸l"¶”Y€À¤Äà(JùÞ)J'êñŠèߟ‚ ?—`Ðݳwk†ì„6 RKù‰.i-ÂŒsv!„*‰¼×ˆª”ú_V»pµl½†nT8°]ÜØç"Ô÷“ð9pÔ?ȯG^ 0úÜ&‚ðmÙ/¯‚g½ 2m=¶6–ŽóÌN­\D4+ö`°‰|/Ĩ¸.îÌ‘(0âÇÝe)OëÚË…uf -ÔæA’¨ -¬ûï91qT¿êµ<‘úßÛ³–dž½!-šÀg´5\X »Rk|èñ“PÌ1ù´të+¯Mäî[¥ Új莄ÖÍ£ŸŠf¸è©D2¹Ö âÑá;qÊ*–Â0Óªd ¸´; ÓÜïI¶ä•k 8ÄÄÆý:Ï{Ðê.ä­Æ‰èÊ’É å ¯¨½š¤sÄ0lzú½ž¿(¿W›Ùõ‹­¢¡ÖÉÓ “M߇ó"¢Y@H^„An(=Šì ™‡Zûõ©™ yñ¦¥GÈO?€Á޾|˜‹VµK¸!„ ©»¹‹Æî³àoæ¯Æ. 5Pƒn% ~ÕéOŠTžªÀñÉ•p€q3:„'PÓ¿iHéðz)”k çÄ}#ãªÄÐ|ÜVµ‹h¼5€{bO„Ä‚¤ÓÕ±º·O}”]ž‰i°)šxÐÜý“qÂ,ÞN­ä“zˆq« ùñ|’Vg´…^Ø•1à}ø¦wõ³1†EIÐGCÌ·qd¯é…332`¥¢\³ Èh3VZùäû‡÷âP!g¨¤÷ÈÙ h äFêN°Gî÷å`¼åÂóµÝ2¸Æ&Ž 5ïD¢´bñDÀ›Kºf%Ò ªähQD°ÑÈßKgÈ1ßç#G’AhÔ þ¾Ü.×»G]rö‚OÞŽ%[ ‰k’½½W$ÿ¥ïÿþàøKŒ“Äc cPbR0#É/Ì!ƈ/Á7,Èç§4:¯£‘“\> -ǾŒÍ™x¼Êà¢!Ÿºð.*µ$wØ8×Â~9 )Í[·Á‘˜è–uòÕ¿¨/ämø=Öè¢IEßwÆ 8ç¸}Q(s8Œ¦R¬ˆ#§U¦†'t 4±†™ÏXå8°F8¯ðhx©Óþ©! ÑcÖÀ4qNon`f,œTÁCO;O€(ôp®´½_h bŸî3 -Tµš¬xÜnSz´÷‚=ªèYŒl±ŽNÑ ®.Ò$znQÝýuv¬#–ÆËDùHW„dà 2,¥ï [-×ë(äD)_<:àx†¤H=ɼ¢j\Åú¸Í±M$?Xf§0¤ÏTÊך£Œ]špçN[ò›׌Æábø¶ppX­!MÉPñbKC#1sƒ®„åm8RàSƒrUÒ ¶):u é·åÞÓ„â‘l.0å•B’x0ÃÉÓé¬×Û§§¶“Öt¥þaµIùæG>¸i+=ßdaùûb’p¹ÎÝEŒ+h³ÿó¸ééyµ‡èŒÁ¦Öåeˆ 9"|ãјVÇwp]b¯®¡"ytbªUžÎsàSûެì6€èàAPB5T¼ú(g€>|“ > 3„;‘ò9þI¥Ã2ÿc†SO#-Û ó=ÚýäZç—‰¼Ø\'lyñ¼ [û(”fÞ¡: –Ôy |@»æë²‚®´6àyÞ$AQÛÀ³#Þè’êP«SfpB¿æ«ÇûwDé”§ø³XdO¤h¯'ãMA¼‰# -¡Jcåc˜]psšXÈ+ v±…˜¸ƒJ0aræG5zº¹aÎ… !yêçiÅãµ;_cFC ,_Gù²?Àí‹I@›†ÑAL™97ÉàBCR\Í|¿îRß,–¼Y`­ßi¶r³œuAb¬hÞ럯© -endstream endobj 22 0 obj [21 0 R] endobj 44 0 obj <> endobj xref -0 45 -0000000004 65535 f -0000000016 00000 n -0000000147 00000 n -0000045965 00000 n -0000000000 00000 f -0000046016 00000 n -0000000000 00000 f -0000053507 00000 n -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000053580 00000 n -0000053776 00000 n -0000055372 00000 n -0000120961 00000 n -0000186550 00000 n -0000000000 00000 f -0000052206 00000 n -0000221317 00000 n -0000046500 00000 n -0000049312 00000 n -0000053480 00000 n -0000053367 00000 n -0000052392 00000 n -0000052514 00000 n -0000052636 00000 n -0000052754 00000 n -0000049169 00000 n -0000047458 00000 n -0000048607 00000 n -0000048655 00000 n -0000049347 00000 n -0000049557 00000 n -0000049442 00000 n -0000052276 00000 n -0000052307 00000 n -0000052874 00000 n -0000053017 00000 n -0000053130 00000 n -0000053249 00000 n -0000221342 00000 n -trailer -<<94E13ADCD8080547BFCDBDC255427506>]>> -startxref -221553 -%%EOF diff --git a/src/website/ifcopenshell_logo-04.svg b/src/website/ifcopenshell_logo-04.svg deleted file mode 100644 index dbcfc2e8b3..0000000000 --- a/src/website/ifcopenshell_logo-04.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/ifcopenshell_logo.ai b/src/website/ifcopenshell_logo.ai deleted file mode 100644 index ad13131e22..0000000000 --- a/src/website/ifcopenshell_logo.ai +++ /dev/null @@ -1,3198 +0,0 @@ -%PDF-1.6 %âãÏÓ -1 0 obj <>/OCGs[25 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream - - - - - application/pdf - - - ifcopenshell_logo - - - Adobe Illustrator 26.0 (Windows) - 2022-01-20T08:57:53-03:00 - 2022-01-20T08:57:53-03:00 - 2022-01-20T08:57:53-03:00 - - - - 256 - 132 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAhAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq1yXlxqOVK8e9MU03ih2KuxV2KuxV2KuBB6GtNjgBBV2FXYq7FXYq7FXVFad8Vdirs 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 q7FXYq7FX//Z - - - - proof:pdf - uuid:65E6390686CF11DBA6E2D887CEACB407 - xmp.did:0c658445-e1db-8541-8c0b-e7cd52e209ce - uuid:7f549f80-a97d-4a22-9636-c366af4954c4 - - xmp.iid:a19f939e-3ec6-644b-823a-085bf7599bd2 - xmp.did:a19f939e-3ec6-644b-823a-085bf7599bd2 - uuid:65E6390686CF11DBA6E2D887CEACB407 - proof:pdf - - - - - saved - xmp.iid:73bea4f3-54b9-ab45-a100-67d183c9f468 - 2022-01-14T12:51:33-03:00 - Adobe Illustrator 26.0 (Windows) - / - - - saved - xmp.iid:0c658445-e1db-8541-8c0b-e7cd52e209ce - 2022-01-20T08:42:39-03:00 - Adobe Illustrator 26.0 (Windows) - / - - - - Web - AIRobin - Document - 1 - False - False - - 665.333333 - 1127.111111 - Pixels - - - - Cyan - Magenta - Yellow - Black - - - - - - Grupo de muestras por defecto - 0 - - - - Blanco - RGB - PROCESS - 255 - 255 - 255 - - - Negro - RGB - PROCESS - 0 - 0 - 0 - - - Rojo RGB - RGB - PROCESS - 255 - 0 - 0 - - - Amarillo RGB - RGB - PROCESS - 255 - 255 - 0 - - - Verde RGB - RGB - PROCESS - 0 - 255 - 0 - - - Cian RGB - RGB - PROCESS - 0 - 255 - 255 - - - Azul RGB - RGB - PROCESS - 0 - 0 - 255 - - - Magenta RGB - RGB - PROCESS - 255 - 0 - 255 - - - R=193 G=39 B=45 - RGB - PROCESS - 193 - 39 - 45 - - - R=237 G=28 B=36 - RGB - PROCESS - 237 - 28 - 36 - - - R=241 G=90 B=36 - RGB - PROCESS - 241 - 90 - 36 - - - R=247 G=147 B=30 - RGB - PROCESS - 247 - 147 - 30 - - - R=251 G=176 B=59 - RGB - PROCESS - 251 - 176 - 59 - - - R=252 G=238 B=33 - RGB - PROCESS - 252 - 238 - 33 - - - R=217 G=224 B=33 - RGB - PROCESS - 217 - 224 - 33 - - - R=140 G=198 B=63 - RGB - PROCESS - 140 - 198 - 63 - - - R=57 G=181 B=74 - RGB - PROCESS - 57 - 181 - 74 - - - R=0 G=146 B=69 - RGB - PROCESS - 0 - 146 - 69 - - - R=0 G=104 B=55 - RGB - PROCESS - 0 - 104 - 55 - - - R=34 G=181 B=115 - RGB - PROCESS - 34 - 181 - 115 - - - R=0 G=169 B=157 - RGB - PROCESS - 0 - 169 - 157 - - - R=41 G=171 B=226 - RGB - PROCESS - 41 - 171 - 226 - - - R=0 G=113 B=188 - RGB - PROCESS - 0 - 113 - 188 - - - R=46 G=49 B=146 - RGB - PROCESS - 46 - 49 - 146 - - - R=27 G=20 B=100 - RGB - PROCESS - 27 - 20 - 100 - - - R=102 G=45 B=145 - RGB - PROCESS - 102 - 45 - 145 - - - R=147 G=39 B=143 - RGB - PROCESS - 147 - 39 - 143 - - - R=158 G=0 B=93 - RGB - PROCESS - 158 - 0 - 93 - - - R=212 G=20 B=90 - RGB - PROCESS - 212 - 20 - 90 - - - R=237 G=30 B=121 - RGB - PROCESS - 237 - 30 - 121 - - - R=199 G=178 B=153 - RGB - PROCESS - 199 - 178 - 153 - - - R=153 G=134 B=117 - RGB - PROCESS - 153 - 134 - 117 - - - R=115 G=99 B=87 - RGB - PROCESS - 115 - 99 - 87 - - - R=83 G=71 B=65 - RGB - PROCESS - 83 - 71 - 65 - - - R=198 G=156 B=109 - RGB - PROCESS - 198 - 156 - 109 - - - R=166 G=124 B=82 - RGB - PROCESS - 166 - 124 - 82 - - - R=140 G=98 B=57 - RGB - PROCESS - 140 - 98 - 57 - - - R=117 G=76 B=36 - RGB - PROCESS - 117 - 76 - 36 - - - R=96 G=56 B=19 - RGB - PROCESS - 96 - 56 - 19 - - - R=66 G=33 B=11 - RGB - PROCESS - 66 - 33 - 11 - - - - - - Grises - 0 - - - - R=0 G=0 B=0 - RGB - PROCESS - 0 - 0 - 0 - - - R=26 G=26 B=26 - RGB - PROCESS - 26 - 26 - 26 - - - R=51 G=51 B=51 - RGB - PROCESS - 51 - 51 - 51 - - - R=77 G=77 B=77 - RGB - PROCESS - 77 - 77 - 77 - - - R=102 G=102 B=102 - RGB - PROCESS - 102 - 102 - 102 - - - R=128 G=128 B=128 - RGB - PROCESS - 128 - 128 - 128 - - - R=153 G=153 B=153 - RGB - PROCESS - 153 - 153 - 153 - - - R=179 G=179 B=179 - RGB - PROCESS - 179 - 179 - 179 - - - R=204 G=204 B=204 - RGB - PROCESS - 204 - 204 - 204 - - - R=230 G=230 B=230 - RGB - PROCESS - 230 - 230 - 230 - - - R=242 G=242 B=242 - RGB - PROCESS - 242 - 242 - 242 - - - - - - Grupo de colores Web - 0 - - - - R=63 G=169 B=245 - RGB - PROCESS - 63 - 169 - 245 - - - R=122 G=201 B=67 - RGB - PROCESS - 122 - 201 - 67 - - - R=255 G=147 B=30 - RGB - PROCESS - 255 - 147 - 30 - - - R=255 G=29 B=37 - RGB - PROCESS - 255 - 29 - 37 - - - R=255 G=123 B=172 - RGB - PROCESS - 255 - 123 - 172 - - - R=189 G=204 B=212 - RGB - PROCESS - 189 - 204 - 212 - - - - - - - Adobe PDF library 16.03 - 21.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - -endstream endobj 3 0 obj <> endobj 5 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>/Shading<>>>/TrimBox[0.0 0.0 2840.0 1280.0]/Type/Page>> endobj 23 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>/Shading<>>>/TrimBox[0.0 0.0 2840.0 1280.0]/Type/Page>> endobj 24 0 obj <>/Resources<>/ExtGState<>/Properties<>/Shading<>>>/TrimBox[0.0 0.0 2840.0 1280.0]/Type/Page>> endobj 27 0 obj <>/Resources<>/ExtGState<>/Pattern<>/Properties<>>>/TrimBox[0.0 0.0 665.333 1127.11]/Type/Page>> endobj 67 0 obj <>stream -H‰d’MNÄ0 …÷>…/ÄvÒ´Ù«uÁFˆÕŒ4°àú8(ŠÔØÉ³Ÿ¿*î5£;d‡njpBf™-3cŒ“õÞ£ÙN>ßá ¯àòJ˜WtGÂ5¿ÀBøàžõôã nÈHº}KË2ã$Á -ãùåêÚR;&…¼Õ³$›o©5ŒÌ«œ(á(3Dkëv†NàŽ\gùë>%?cÔ&;÷)ØйŽnX”3¶¸|Ô¶„ÁWQך)–Úº GÙ;j#ž¹8ÊÎÑÜM‡êÀ#mÀ#À[]þÍëÿ¹ë 1–¿½ç5pìÀ5nÀ5ìÀCÜ€ï¼O} 'ø`ã#k  -endstream endobj 25 0 obj <> endobj 72 0 obj [/View/Design] endobj 73 0 obj <>>> endobj 68 0 obj <> endobj 69 0 obj <> endobj 70 0 obj <> endobj 71 0 obj <> endobj 77 0 obj <> endobj 30 0 obj [/ICCBased 79 0 R] endobj 78 0 obj <> endobj 80 0 obj <> endobj 81 0 obj <> endobj 79 0 obj <>stream -H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  - 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ -V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= -€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)Ë”z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ßÞô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð -¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 -N'çÎ)Î].ÂuæJ¸rî -î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö -n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ -¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû -endstream endobj 76 0 obj <> endobj 82 0 obj <> endobj 83 0 obj <> endobj 75 0 obj <> endobj 84 0 obj <> endobj 85 0 obj <> endobj 74 0 obj <> endobj 86 0 obj <> endobj 87 0 obj <> endobj 31 0 obj <> endobj 29 0 obj [/Pattern] endobj 7 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <>stream -%!PS-Adobe-3.0 -%%Creator: Adobe Illustrator(R) 24.0 -%%AI8_CreatorVersion: 26.0.2 -%%For: (Paulina Godoy) () -%%Title: (ifcopenshell_logo.ai) -%%CreationDate: 1/20/2022 8:57 AM -%%Canvassize: 16383 -%%BoundingBox: -354 -2643 6680 915 -%%HiResBoundingBox: -353.985146939322 -2642.330078125 6680 914.999999999999 -%%DocumentProcessColors: Cyan Magenta Yellow Black -%AI5_FileFormat 14.0 -%AI12_BuildNumber: 754 -%AI3_ColorUsage: Color -%AI7_ImageSettings: 0 -%%RGBProcessColor: 0 0 0 ([Registro]) -%AI3_Cropmarks: 1106.33333333333 -2637 1771.66666666667 -1509.88888888889 -%AI3_TemplateBox: 960.5 -540.5 960.5 -540.5 -%AI3_TileBox: 1141.39999389648 -2494.43443467882 1736.41995239258 -1652.57445420739 -%AI3_DocumentPreview: None -%AI5_ArtSize: 14400 14400 -%AI5_RulerUnits: 6 -%AI24_LargeCanvasScale: 1 -%AI9_ColorModel: 1 -%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 -%AI5_TargetResolution: 800 -%AI5_NumLayers: 1 -%AI17_Begin_Content_if_version_gt:24 4 -%AI10_OpenToVie: 923.666666666666 -1005 0.75 0 8866.66666666667 9264.66666666667 1076 898 18 0 0 1362 125 0 0 0 1 1 0 1 1 0 1 -%AI17_Alternate_Content -%AI9_OpenToView: 923.666666666666 -1005 0.75 1076 898 18 0 0 1362 125 0 0 0 1 1 0 1 1 0 1 -%AI17_End_Versioned_Content -%AI5_OpenViewLayers: 7 -%AI17_Begin_Content_if_version_gt:24 4 -%AI17_Alternate_Content -%AI17_End_Versioned_Content -%%PageOrigin:1 -1081 -%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 -%AI9_Flatten: 1 -%AI12_CMSettings: 00.MS -%%EndComments - -endstream endobj 17 0 obj <>stream -%AI24_ZStandard_Data(µ/ýXDÒ*ÑG60M“äÀÀ¨ƒZ9¢æÆb7x°Gº-ÚÐôô#åÕœñŒì½_6êSRRR"ä”zXDÀòqx®Z±Z¥*ªbN™JÒJ*¥„ÒIŸ¿séÒ­3~þ ƒN:ꬓC‡)R´¨‘£G!¤B %ÈÒŠ¹³Kl-eÉ:öŸ½½·1/¢©©¥¥áY1bЇÅ0¸;Œ(,‡"Ñp, Æ„Zp8h(‰…ƒ -t Ó ÁR@44Á !Ñ`,PØÍ@Xp0 Ð`XD@A$  X$*$ -ƒ"9#h` $hH,H€€h0 Æ™ ÑXP8 h(¡Ñ€¨ ……„ã@±h$*@8ˆEbh0, HLà4#À˜`8H8‹h¨À@‡„$80&$É „âÀðà0A¢!áÀ@4‰ãÀ¨ÐP$0ŠCC P@B「E#±°Ñhlj†„ ăÄÂÑ€h(0,&P ÄÂA±˜B-8Æ!a Aâ€,8(báXH`8¤ƒ†D"HÀ±€Ø@‚±hH@4`A1‹ (  Â‚AEbB†ÅLP$Šãb€• Ba‚aÁx HL@44 -iA±((³¤¨@4†õ|ûñ ÿÎñ{!Á @„v»Ç9P$&$ @L8ë­?’ $ - @A1{˜3©Œ Ýlp8ÈÀMP$H‚bÒ“ïp€Ø@¢¡á0âp€sô:ðÑP†¸Ã¢qPŠE‚Aâ€,&,"00 (Р@H°0Ă¡‘X€Å0Xp0ÐÀbaA€ã H0T8Úëbç¥z;bG:?{.§²¹ýgë.®Y&bJÙñ*\§}eJ²ÕõS1‰ÚÞ.oŸEI²…Åt{Òæ|ö¹˜ä휞䵉S1}p³ŠÁ,&7Ùb¸½˜?(IÉI·®˜Tf]M.AYLrV*W[»˜ë„“ÃÏiUWªDŽÊóœ_ß^žÝ2eH ï ³‹iÿƒT²d*1»»b(¦˜_ß^Þ]Ý\Ü[ÛD—*MŠôè«k+ëªj1©¨§¦I®T™ù¦®ÓȆɭS—î*F­bS—Ûó¹„Ò*F©µÔR ƒÎz/F—Þº•¬„’BG¥­¹ÄîòôáÂ/39;‹ùD™Re’§©z©º_´i×&{ŒÎψ“õuãýI§¯3ºƒN1ê¬LH]”I'N¯fó§™ýæÚö¥¦#vô­wòçok¾z[î›®%‚ÞÈwž­j¿iÎßî©–©†Ï¦žÞøwi¨ü̇è2r¾È·#ÙG[+b~ða¥x“bŽ£¾bîØÁ\I5zïÕÄ[輿7gRÌ*F¥÷æM¼b’…Î;¯¢âuB‡‰(½-.£U«>|N¹ÛÊ쓎Ýe&j®fÿ;JJ%vg¦ËŠQIâ±Kåå?褥ÛÈRÝÿ5ñ¾ÏÁWx¨Ç×IbsõçôvâyÇ3K͉‰%µ™Å]¼´Å(b>ëãŽb,ŒÅ±``H(Nß~žßí§#¿šx u&K%ôhå«…©–ºÜ^ÌA)S «³Åܳ梅R1]Œ2…–JÄwÌml¹Ë׎œž÷ÞbV7­˜$ÕjrÞ{¹ý¤dýO*Æÿ¤bR*ãtH­b!ʳMͼµzé Å¥]L'·ø¨½óúÞ¼š˜,•Ð{ó*Z²:߼Ŵ£´’—*·?JJ¹˜¥öð¯Ôåö?5WÕRI¡SÌ“ b'F뻘ÝUÌÉÆ³ËNõTDõ¨c1|6!ͤ¹ËË­Š{N1é¹»7­,†‘ZÅhû*æ]UB¯‰i)ôÞŸê,&uÛ›U‹ùTÌJ.Æ}Ù¶JµûÏ·ÙÑÓIÅ4ÄUÜ×å?è{u%T '^²:ߪºQé³*d«¼©®¤Š‹áæ¾¾F<\õïvGÄ•;Ùd‡Š_¥„N^¢3óTñÔU_¢dÞÅ“çùS·ýÕJÿƒ’Z­:Øè¼ó"êK¼R1j©• ê¦"¢Ã}îÙ:ZœpJ™ùŠQXL{1ž¬ÿAIaÄ]^ÍÔDã¨ui1ê·˜äõ\Lb³šZÌ£ƒ’*f%‹íNj춞^k«"Gk»˜eÕ¥´˜],†Q¡³¦ÅôÛQ‰1»cówë¶b^¿!¼ç;sT%tÞ›WÓ” ã^Æ“Š)¦ͳ©ª˜(TŒÚb¬Q“ÜÚ,½ª=·ÿ™.Ò¬Å<6²äÓbþìrºeÿå^ÖÔb’¥R1èüjçAUÈÕsÊíP1ÇŽZ¦ofiìÞ¨†0;"v,þïî"÷b‡¶&ßû#ã#v&»²qî§¢l»™üŠê«‰—,Õ¼‰WLR b1çORzøÓÇÑ*Æÿ wRXŒ.·ÿIjùJÊ8á^1ü÷Ke1©N«ß‹Á]†Å(òbŽ”TâØx5‹AÃëd¹˜d%–ãœÉZ*¡ƒ‹Åøý5ŸÞfÞ“Å\«i£:S1§¿ßO<ûÉÔùü.æôÞ¼ªœ»ˆ‰™x‡4{1«Y úæÕ ½8ñÑ…ª] Ç¥*&u¯&Þù2sÅ~V™S’œp•ý‹9 -_ßÒQæ¨íЦ{º˜ÃÔGŽ’ÝR¥Y­o!´ŠYIôÜŠ+¡NKÎ'Ó$;vÚ-×äk–4©ešßi›­ìkjÍ|«wª—««¹û‰ëÇÛý\>‚ŒÇþ±™îãv¦"v´¦6³þ^»ëë©-b‡¯Ÿ£ñ%âûè‹ØÑïxùØvÖ¹Êmد¦¼wß÷f‹Ìˆ_?•Û+[cgow»BWgwå‰óûúäÓYÇ©M½½ŸQ1IUÛÇýOêy¨±òf[ûŸqk&“èCϧ›7WZÅ<µH¢ž-úÙ&çÚ·å*roò9ïzÛíÞŸ¾ûíâòù¯Î‘+KŸÎ—²…K±»1<×kÍãî9>øXFÞÛ#ïàÃx3;õÿõ°»7¹yÞ½õÜdVnÜ}C¿ß>Ci9öžbtƒ ?B(JI2FJ©D]¯_h©•¬K2Ù¤“OP¢’$¹bŠY }g1+½ã— VS­•âÄóæÕÄ+&Yíli³’KvÌ‹yï]5K–«¥£ˆŽïÕÉ帔%{¦îÚg.{ó¯.#VŒÃà€Xà@*\€‘€LÍ»Û÷½6üu=DËnnÌ^ÿ´þ´|_ÃôgÍõ~tÌ»m^GÛKÏb’Ä«xPRx0õ“û¤¶K]n”T1÷©˜TËëH\MåÉJè’cè”æ-O޼˜KWÌ'ê8oBçêàªnó§ªí"ÿŽt¿£©­~ßš3v"úšk"Ÿ6Â{üLjý¥£ú÷Ú1b»ª¯µ3ê6ß"ì쬈–íúšœ‰÷¬ˆÿo¬™Ç뺎 §"ÿk¹ÌæËœ¨‡{vý|‡˜zÖ~ý†ª{ì¨íþi‹Úþ©•ºìBµRÿ¬RÚþ¨˜å>(©•¨+NÉ%¯ó·³Ôô÷k¾oULÔÑÌL<3nMÏÔÉ̉W]ZÍ}P#.tL/ñM+Ñjbëùô/¶¢ä=ì`@$’¿®¶ö«1âíåþ1bGçþï;»n÷nã]ß}1vwIçZjq]jµ*;mò¨ÑZ'séÏûó}âÊ»:ªF}Ö:YÖd»“_ŨW·¸WõæT~ÍŸ:ñ%KŒÑ©ÓÏŽÅ ®¶G§K%u”+V»R1 5õøw¸O\̳~-¹2& p`!Aq`@ ØëHúñ™Ž4š-’®¨º¨º¨ž»~‹mßÊûok÷ ’¨Ä4¹YÄÌÀ ³ 1  Â!aÑt ~ NTB®\P8‰“(‡a!„Œ1€ˆ1DdfJl`øRŒ]€†\›R™*‘HUãðæ2W¨‚…vm&†UàW4}0VÇð×1Ð]åþ5RçÕ·d­ž÷Þc°u¿Ci«ICÔè€6X6Ïün&Û¦æ´ä[e,÷+DR9÷©y)Qs^Œo=¹ÿã7l}ÚöÇåìðûƒí$ ”uë¥gQ‚Ýóà»as8Nou/9þM¯p‡Ð¦Jëô˜¹rËÑ,»7€»¤iç£Â%w]Т¥Ê‘±"äÛõ“ƒY…W©9Q;ýÅè˜aAT¸oZWhD:IÚd̲vþ¬šA†r§cE/Ù©Kì-ýCó2$GJ‘óɪëf~—¾¬˜æó|¬ú³%6 -Ì„íÁqm.ok9c£_k®Ýä¦"ä¶RÚzªà Fƒk¦à¶Ïé ¶Fö «V¥1¬¨Ë¬Šôï­¯«Þ z\¡DfúèK8ÉlÈä=O%ÃÀôkÀx€±,£ð0£ŽVC ÅÞP®(,Þ¨býªGˆ†ÉA§ÁWšÅ§×I–Ã_sä˜ø*¥2ÃBm}¢š:‹'ûåÏI²ÈïùpB¦¥“pq„ÛBüÑÜ/²EyIµIåL#e^‚ {.ßBtq¿ó ½äxÉâqùp5±ëlÜ£ŠüàÙ`‹®Ó° -˜œÑ{;x"i­jsƒZʼˆhœ¾'H +Ðú(ð©¥Lz è&ó´•Jš¼1Ñ I¨¸Z•ÝK%B>n*´lÓ)œÓ’ksúl¹ú¼qTîüéÁh<¾’ÿÒ"Ô_Ý=À’ŠÒ"ðï–M¸’¨´¥ª¹Ï®éî峂ŒÁu«Z7«©÷³‹8<+t¬°3¸pWÕ=S! éÜ艰õªYï"gk‡:9kÈ¥!mY–úêVxcHGƒbÜ^‹©ñôšC”]¯¬û{ho-’UÈbQÂ6ÃilKaRg-ö19¿(§Ÿ’õ÷’|æ4ƒR¹Üþ[OÛ2ãcíC¬trËËq-O†au•R;“¹ÏÆQƒÖ<Ø%_rHÞÛ3ˆþŲ‡`zù¬„íÑɦ\r´ÏÈv•ln™’ Œô„”j>™k¸_ ŠÇ•y½¯O`¯¼²µí ¯a±… —9ãñúKËâxY(Ýñ‹· ÕeÆ ë8þ!ô˜ŠÒë[D ¤¼bêW䆉Œ}3 øYëý•ÐÔ2¯È Qw yš¨ñ¦RÍ ˜ön³I¾˜è¬`‰œou¼p“/˜¯áé¬,û‡€m?<žONay¹OhÍq†úo×òÈfh ÅGrTõŠ:Y¯ZrŠzViœŸòѧå—†*jzµì»:©­óp-Ó‡úöD¾QyL}7=ê§—½¬^3¨0OTã¯ñAÙ½™…'mœk8’ˆ…2÷ßÚ©Iž®¡,ÁϘµã˜©5÷©rM§sN sŒIon?ÕÈDAœ6‰“C" d5àm8,ÿ£*¢€4¤³³½³á¶H³ J2š9'šÙBr)½™{˜›úÃñ)›ýÇkÐý9èHø·Ü¯P>½&ý;«Y;aìÞ/W¼‚¯5ÎôŽ Io[åï‰ZèñU´W…ÿOTý'ç:‚•z¦<£j3¼ -ªÓæ Nÿ¯9µ+ž.ôU"h¡éZÂvÏHEPñ¨™(NßââZe–háÔù7U³®ÎX{þoÒ‚u~®ò±¥šŠ†fq çO¥Üy ^e°5„±’KãgЦ%ßs‡AhX>ä‘×ÃMN«3ÌBDÁ5#¦…è…„Í/\Ó*[Ær¢*,WÃʪ”2¬Uƒ a‡ÆeÒÕÊ-h¿]øwóéL¸MviÛ£$S˜S1ä4‚¢yŒ°KÑ2‡Û<ˆ§ -hŸ½B"˜]i6JgˆdËÑ^tn;™~„¸YØ(Îöþ–Ógè’ñÅ'ˆð xÇüf×jMsÀ!ÐÂù#Õàò. &Îþ\ßâ®h3o©y—n¸GŠY¨_ˆ°ËètÒ–ÔVàONóø–$â¡ ƒHDAfmf EÇó°éUXŽžUöU…?ŠX‰´òLýÌUR1üÎpÖ:K6W»"ì“QÇ™g}¼Öˆøé†@g<ÇèÏuÛFžäg0¶è7<ÃMžÜîV=ÉÖýÏN²Ìßw•*ðY4Úðïàùkó˜¶\-üÚÌ…V4úä -«°P +õ¥q‘$ ¬²òò¸ ú“< -eRµ§1‡öl¸†±‹`IçCzÃ/F•"⋤K¤x%UIX<³Ö™Ø …W!óf¢ÁƒPçiÊôoÜLî2$y×(L%Ëx‰í9 ¬æ¥Xÿ:j2Ä:K ´€sLû Ъäÿ7 -cä4y(ÂLHÖÁQ¬*I_«L³üÍVÀUbÎJjƒ<Øå#¤‚½·½=×-<ÒûÉô®À»­Vê«x·Œ 1ñtð3F—® -Å(PKõ5×Òn6&ó üC$xÃ?Zkç¤yõþì!y(²@ëL:ÚŠ=ðñ 8š0Au8—‰;±‘®—nÚ c0QƒY¤9Ø=’h=ÈuLì’‰½M¿íWŽ9À‹¾@`Üÿ}^–‚PâÙE›Åwž9…|†1¨¤y›´î|²Nû†užáÛ#•B.ªƒÉnî›k>4ú¢s]BP-£MÒCà¶0zCew4ìE'CªwUŠD Zâ]®øxzh«n@kbìÉá -ÖVD–©‰fCÄr7[D•œÝ9Á¨×„Wˆh%4,#¢||O° €~¬¢À‰¼cÓJ"*{r%šà~žl/-ðØšŸf DoPm'— ]“ÞU}€žˆ®Ç—H -Ã>pSn³ÃÓ#WÿHN#·z¨Ë¥¬lˆl}›²ùAªn¼›/ȇï}pÚ;³³E;{J’1ŠäªA×ñƒg˜ß¾¸YŠ¥¥¸/Ƹyí4D»¤ûÙ•#()ÝŽ¥;}ŒœÇïæ¯s®¡ª*#¶*PÇÐ;œ/nxöZ1býp·!‡{é=xñ:iü9Ôu4Š÷¤| %4!×Ën%”fߣªGYÄõ:x=ÄÃ+í¯ÄH}E4*"Øj…¥bY‰åLN”ÈŒFòN4zšÞÉܪ"(D-ªÜ Š›Íoa¥¤é`Ç $üCk\.+³öDT|œÄ -â1ŽO€É -M¡Úsæ¼TÈpÅòH72áqs%Dâ—òƒdûUoÕ¤U±³);Yì×7üKÎÄ2vèjcwP¿Mz6$xÇMýbûnJÕ]Á¿<°¶ „¶ÁbÌa,œ¢|Ž4qÂ)×¹O#60jFeè† »ä À˜Ùû€ö~¼¯[ øþ4Afþ”º¯z,N`wItt£B„Ó-Nz·þ¶Í…¡ŠÌɱɳCèh‰üÔ>…óž°n`ät"Ê „<, áSª{hÃDôºÌHî.ì…^l†l_U’Âû¥Œ‡B_¶È¸z(-Õ•&—ãâŘÛþ?Ĭ—QPÄ’òãϵæg&‚#Cr¼<þ9ÏŽQ:(ö4íkÜ1×±‘›:ÿnƒáp~…Î~÷ôÛŲ¦{㟼ôÜ’œEO7ÄsÿÎÔ ×r?ºÈøÎ±–Ú¯Ù/yÒ=7V$9ªýHÓLò sÚAGs$QIdÄ'P¤ŒÇM jWWã£v°½ÈÜÅW@áz½UùÅ|cÎÄ(Î;Xm),],œÊúãþµ€¼xilË’»òåä4[Û@Éi;å£Îqj£Ïü»H -§ŠøÚ¼(@t7¬Êó|±¤ƒ‹[Ö#Îr‚¿Ë?ùû–— º›Æ¶Q¹ˆµ=p: 7h`s§–»òô3lÿdX)`r¿()œ¡½ªeº;ÁC´µà¦…^M~[€ºUêʹóüð%DyŒw)æ)9æ(S3ñ `´'+ì1p@åœöiB@j·hÒØ»ˆ" %BÎ mSƒÛÌöyè—òž9y¿³…éFR\ýZ’wÝ*ᙲ¯ 6"™W† (Î9õG¥`)ЖÉ(º®lge_ÝñúÁ:8ØÕUFf#í ‰À9Pû ioëÖäy¯aÀßù+¦¿i2…„MáÁP¤©â54ˆâïû ª.6+§ZèôÖ*¯©¢±x|ç?}êÙ?£N,ÐÏrKê±:Áj[Yf«=Úä ÂBS;ž]Xņ3{ÐëÆÌÛÈÑŒŸlû3½çÔÇbV«Tþ¡‰&·Ç£ãÈý(àOúÖƒÐÿÛÅL£ÍŸR_ã}QsC;αÏ"õõÈ];ÎpD¸ýÌ6¶&{f—xw4YçµÆ?>k¡Ñ²áæÒLbí2¸Š°” LCLຢM òt&I£^üš‹]‰]йuÅó56@riº+ÄßAœ‰‘ešjq‘B–(wn"~é’ðÒšSËé­¶s W£TàË(6¬h'š¯ bV!ÄAõ}ªrÊ„—XË t‰¿l{äÐ,¨·a†„oòƒ¨g€n_‚_w³×ò±ub°S_Te ×øàó>®'‚p"£B¡ ؈-h4 ðß0\¨õ½%„pxΠ è“*$|2§vqµQ>.aÙ,ÂÞl„&C…®ƒÒ ~­°ÕÆð’<¬Á‡ŠMÕ9æu…€g³hˆcC2YÒ¼D-~¢X2êïçE°˜ÆÇïÌ1—Û†Áx?è]¶î-èÜ…h¶­&”ûD¤mèÜä–en®íî+­×J@TðMĦ“Z)»ÂÅ3è}=§~Mµ‹wa%ñÄ%Oaóià ³ç—ìGQU ß³|º -²Öž¬+@ë+϶€×8pÈŽ/†&v(ç8Ù£–ý ê2ÿ“{Ä5ûè×7*ÝEfM6Dh¤–s -Ạ°¹Pgöì5Õò[î• ,Ç5uÊoEÓ­¿×wéÔ’™uêS¦i€ZòTwfd`rP5³p,µ”»Ùtò´ ’¢°åNy³W—Žë˜ñe -ýÿc%7êÇ‘'žŠ›s¦;—Zõm,X<Ø -%yâ[ }œ°ƒØQ¢$Ö¹ÁiXæa)a•šU/î bOoTÜ6‘©/^WäÒ¡‡†'ÑN¼V¾ý<ÚEˆl1ÓÊS2‘IC„9³û3“îoªÚ›7;Q¸óæP¨~ O~öuÄwIÜBhñÿû™Ð{×ä$ŠÍð°€óók„Ó¬Þ&{Ë·&ŒPÜÍ dNóü -ãð¨PÛöµ™(Xcí=x¢;0îD‰JÄ÷¸#Ë·bE.ñŒ²X'¸xß ¤+ùÈæ©dZÚ©@mei$rÓ—Ölø#©µ’òLêíDZsºún¡” qgõ„~ž¨rù¤aþ³®Á²Š‹a*¾€2SÖn¦’?ît c;c'ðw ׉_wúx#O»ÔZMŸ~^?–²ˆŸêꫵÏ5åØ$õ6:“ûÇdÕjl±2q/ˆIé=fl¹ì³\œ» ›àxz W&²ÛÏ÷š¡—9+ÌÅh¡&TR¬¥V‹¡úëm K±Ž‘(Ì …³Ñz¾>Љ¹ûŽc Ð9—(ˆhžˆW=‰†Ò1ùï¾bqÆëÝf3fŠ›÷ -%«˜ _šÇÏü‘úÓÄ¿bÁÌù&‹ÀSã¤|C”½² f|ÝõÊ  Š!—‡¹y`÷9.èr†Ú3¯E—Ì‚XÁÁºU-5|ûm2ù[âCáÅ-~ NÅn££ºMÙÕµE›FÄH…n£U.¸8·!{U¾Êjõ;¬x¦kh­3„AÁƒNlC"7%2pˆ[œNëãðQøyÀº «ßºÞg‹±xPÜUáçiJ¬@ùK{fîýõ‚÷¹8ÄÍ®5Ø1A¸rõ¡[Sú,ªÑ}é ¼·’Ñ •Y·é6óRWEG2Ð -Ü­þ/A­íHÝÅ ²yq®úƾâñöÖòVþÈ•ý8í¢ é¼°Q5{šÕØ…åi:³TáƒÑˆê£­ª~.“ëVp:øXFÌ‘g·hkt" !>k%µÖ÷Ôùt±b²RG&UŠOš R"€ê½ËM­¨õ h‹ÑêM1 A•4ŠcQLSŒÊì!j¾¸ÏE± é6Ó=¯ŒF…ñ7Pà[bwEcUø*Žìy±¾P™«E®Ð`öz_]ÏôýôÉÐÛ-v€N¿p¦®ûicM~!ÝÍÅýÐu!d%½>/qyù,¯"⮢O]Åçµ=t2œy_ó/2—·}zmó¥àNûµ’xïkéF]MzEpv¤B¬s¹XÐÜkÍ›½ÙŸQ>Æy›ö?”HŒÁn$“’¿öé(k{Bb,¾9<>C‘ô°­`Nâù—ϽÑh‰½l¡º»3ŒÃ§'Ajåɲ”¸èvj­ÁWn,/Ÿ!ÕOÉ^,ˆF„n¦¤ ; Çú=Ál€Š®ÐÙð’‘âv&ñͦZélx÷nÈÓw›“Õ` 1ñk«õš»ÿ@†6¥çT¡ÒÓ8ãiH}ÍL|TýÜ>YCñ™0üŠEˆ¸G" á\rkå5B å“Ùû@ÁÔœŠ`$¸µ×!0+„}È ¨¢N%x¼}™ ñØ€ZoN¢…áH'p-Dg62ut¡Oä°¿æaÿ&º¿ïý(e™é¦k:Ëó—x7=ÖNEUØKÜ&H±9ݸ†ÕœßÓÄ ¦ƒªÆfL­¸±dZƒoÅÙ;pùnvA'¡ÏµJµ-È; "ÈÉO)äËõI -C9Âথás*3Qei$êÙ”„-b ¢Þ†«yÙ¦1ûiü=-Ì>,§¦ØÇ%VLÁÌ'ÓeÕˆ«É¤z‡ ’¤J2£+DŸ•"ŽoZÿŪ>†gª#g}yNÖ¹ŽÑT¶¦hÔjm¬\Oj55!v‰vRÜaýÀÜ< {j)&½œì/°›?ú G0¢‹¬ØHþ#‡Š¢ZÐ iFà¡êDÑ´æŽ Ù¬NA]/'Ëñw íqØBÁ7µWkñ¤Å£ût 6ÐA'«'¨=Jèx¨„îúÎÒ³‡‰‡õ=£{m,¯ƒRÍÍ<p`Añ`<<Óã—’æŸîA%ÉTÅ÷Á(ýìl8€Â7eÅê‡YŒ!"XæÁ› J¥ÃI>¨ ² ‰_$äf-¥Ö†à‹€hHï`ïíÐü$Ê´ì<§ó×’Yü̲ì 0 yÚéÃÀñQRS‚ª'ø ÈÞï ÌàGÅ;03m@ètÃ$eG\Ž1û~âMÛÅd®p}åD|©Þ\&³¯PŸ­óqÞ3+@fÎÛuåö 7èåÚŸõoµƒ¯°Öž2(ÖqéØ\ÀRàeþ2vc¼®x~,Á.mÚEuI -ÜŸË^@\ªß~ÜñÂÖámG‡= Wˆ -€úsÈO+¸])þtƒ­÷þà–ìn β¡æ•½IYôÐÑ÷¥Ah_Ê&¥ð™¬ ð(„9ôéõjMwï8¯"Ë7:"*¿@[Må3UÛ:Yä:ÀA#ÇkZÏ£œ‡?µT«”Z›”„U=„j̓ÙÝc–uêö‡ -}¾£B=¦ý¬à? uœû{s~fî”W¢;ÁL4š”Š(ʘ¬/‹LšéN¨L8íSæW¨S,/Öq€j¼ð„Õ’M ¼ó| JQÈùêô»5G’¼¯³úâ‚”ŽR“»ôuŸšMš¸¢x0ÈÚËò§ÐYCyn 4º-.Ìùñºçæ°©óaÔ¿Ýå³AÕµm@¨=*‚¹ƒxž‡xÁ—A@ŠJËýƒ]j„¢ï't ÅŠŠþC)–Ûª+D;* R°á‹šÙð¡á— z—؈ÕVÁ̉~¸¢ìû‹r‹Ò§EóTn®yïÙþð´-H‘à«iÎbå’àûÝžù£vV ÐXˆ<µ—¡æ*Tfå‹EèÄçE;37ÜÖµ*î•G¯6¬}ÁÓ6Ž®ïDDw¾†}½dÞ…¼xÜ^jl€"Ñï5îLߨI•+Ó™ßz’p¹uV­KIW¦ãÎÔó¼ôÿî>†„ßRšRwÝÃ?;WI#¤4EÚ4lbo×›jŽŽA -Möä/{µ_„ÄÀ¼¼³GkÅwyjª³S„þ#Ÿ45þ&‚ñK„ÅzXÕ ±¨û¥ŽC3 -¤Q*p…gaD}º¼lè ¶ávõ²"òÕeM M*8$i%s gÍ!†NYoNAð.pw§¼(sí¥T<ÞRmYËZ)F6qgÝ­»ÇQQŽ‹?Dã‚ëÆà6”ë‰6Ò‰. 2^]`ÿÄÉišx¨×Qb†óåf€Á‚;\iÙ¸ãæê^6WŒ•{¨ìé7¨…ýÑ{‡-7Ü`.ûˆüö Ä -~·÷J¥ZlúíbJZñäôUbå–Ê„æñR~dnÚï˜í(c;1âSÊÖ˜4h›Ž #·ÊKø#zö™çëÐ2ËuD±¥\ökanÍMQÚà,Ü>K±Öræ¾Çˆ2ìÁ%ö¬ 5W˰ƒR`|gñò¬ v~×x¥œ“'ódÃ0MY8m#:I!Tõ%|jŸ¸€4ܪj~ ÔüÂCèt(ÞÔ÷–¢HߢxB1Š›È»w¨4ì¼ìœÑ -%ïà›\LΟ~Ôë/<®Ô… gúYu8X{0ýÿv™« ҭý§L÷ NÄÝy$1g²_0*Qÿ™lQ4Pù´i]‚žÑM‰Ô—l -›“ƒ½««³&/·Â®vƒp‰EÓg T–´•.£|÷ÇòØ,Е»iLؤZ)´SÉ»æÛ½ÃwÆ{Ør–ÑFEXÍP°«?Žxô»Èqjýš¼ -¨"6,0ÿºÍÇÓë–÷®û7±âx wÊúÕ“yó¿¹ÐHô<Èë×MÚ!~?’ †…„7Z³uu²r×·5á)a‚Jáå TÖò9msŸ"×´’ëZk[:8 æf®¡ÐKŠæJW]Œ"{¾ÊDXo@ÓÛ%WPÎæ¹edŒwzÈE#|pÈ÷÷qìqH#+/ ‡–4  –<öºyÐoÝ,¦ti®U4·¬ZB¦œiõîe{c—óª¢Òs‘·Ÿ&:°[OÍBÕF0ÜåžEÍ?m_zÕô® -7‰¢ƒ¸’ÂÅ+±g4îŸö0mÚ+>Už²ós9ž­9ÄL–þå©ÙõS­í˜ôwÊ$¿ÞÆì— Ú·šq¬†ëTñTÃ}€°ýL ²ßF+ãÃàLªÏÞScHŸk0¦ú…QŸYæ;,2ü¿DÎDk~0sm lOì–Ü4Ø}_ãiH±pt‰‚…aI%¡%Àô -SC­5–@‘»…‘ K:XPS· -'ÖSiaÉKå@u±@ŒhâXgIjÜßUS{šJ¡?eÇZ¾?Fº`ÓȈ¶dTIžŒZSFœ+£ï<]T^B2‚à5£ŽÕabÎ(pgTà@øÆ%u`Î,§°“Þ¢¨‘Ü0` àÙØÈB;OgºaWiÄî)C‚¨Ò$ëÔÇñl¹ÚáÈ;ö~½ nxŸ«@ɽ{VTŠ´À޾³w·‡ÏÐ<‚•K ¹ÜЖX½&{ïåZ 5/ÆÁÜ^ó¤–×y5|.Ѳ“ÚñÎޙ܈%z‚Æ4¯ÆišŸB{gPí‘GemÛÄNM)Z ¾8ŠZÔúcHif4®)ÔÇýê­ ú¿?܉—>¿ç­Œîç¥ÌBŽJÇ_îc<\<ÈL -OÄ>‘ú©gŽÒO¨ý|€7Ê{,âØk9ÃD,ï¾÷ŽÆ÷æÕsøƒíIÃB ù=!š¿ßcJÐÓe­}sÖ~޵¯TÎ+ ðáGÔ'/¹¢1`¶=àûÛ©*ú>‘RûȨ}¾¶A@ô'øº4ø˜FøÎ§)'׳]uV -ä9ÚTP>î±”‚LÇ»mÅ>ûD_‹[ ì¦;ûXŸì¼¥EkkhVl J\Mbÿ^E¬º¦(£—;T:dŒ1dXúœHs$!ÑF3°„ÂåJ)B¨ÄXQe6àf) ³ã \ð.ê¢xÁ“/rЭŒ3^ÍA%Òá*ÀöB;5¼Lƒ jüŸ¹›¾Ù”y¹• ²{\ïSu1ÊîmâÄ0ÄÆ”Ó´Ù,)%áò­f},¡)U_+¹ò´qj¼z›¢à-L¶°=¢‹ëYtì,]Uä‡JöÀîŸnUª)v4ç>N8³ §˜Ë¬¸gí‡cèYD ·§¦!X\(Uú;döan¯Z’€ð¥ö¨F–IŸÅk# Y„âàrókŽ™lc’\) -®¹SmîÕÅ÷OUPÞû$Äeº$>šo‚ÊL)±}¦ù÷lØ  =žÓaí¼3‘†J4é†rfÛ“€‹>PS\!¨ (ä[)Ð{¨ä-S+éßãFŠ=BˆOhwzä}ž±{sŠâ r=k¸Â½Ç0®j©a@HÌË^w cüQ¨ ®ÜFxýmDŽÀù³\0¶4íØ@uÌ‘ÛdkÈóØœØÑÍÞ|…Šo4¤áLöéTøxî®XV™Ú8låå=‹Ë|N¡qP‚DÌD²±D|-Ç säV¹ªœ¥9PDFSœp,NkŒ“,S¤Y­Œ3~ÂÎqRuÐTÎ`OKu$qE’‹ ¶²!†©¦U}Ͷš~ú`–¯]J×™`!;Š>9W€Àw ¥÷4.~{fé"ÅÖ“&8,^ï‡Ì#»ôÄ¢‡5Õ.\âM©ÀKz¨\ow=©^J=bÚHÞ¸gàHfñ¡{æÈÃÅà óAjVZ2då×qâRw;òÈ:zþ]HÝo§ˆü"ú‘åBÊœ£‰gw_vm•Åé ¼ qã%ìš~œ^@iþën? :Xš×uô¿.Wƒí·Y'… -ð\íh.A5í7X‹¾vÖ”±º!²‹ ÍÅ ¶W9ÄTuÆ_ÅR†Lb«QWDsØ ±×ND”_cï@¶ nmŽe:j˘yÈ@A C›ayÆCh—1M“ˆu!…‚²oÁ‹AژɺѦ˶ˆuø8ÛèÙ@¾cœãíQm3{Q@Ûà)C’λ·¨p¹-Ç­4׺ î9J€$·ÃÝläfüÈ3?pŠ>RQ¼0ÿ2õ.«=rŸRï0ö“§˜§”­¡î~Äxãž÷Ô/µN!õ8žÁ·â¾û…}L䔆¢øÏUØãdXò9H6ÌÙÕó,¬W³ùyõXñ•ìyšœRÇae^geHépÁ™€g¿ÛñéEü§ê¤ gÌDŒbèd¿A—Ì‹_!¤§ö’AfÜ£±¥á§P—¼$ýµ©'zILh§s:‘^!Ÿ¾´­Ñÿ¦Ì äAä¨{aR:ºßÊw‹>DNpòCréçI~9ZS‚’ÅÅé-…Xš‚7?²ÞÈo Ü“1y±wa´03çptÙ!Ä!8l9Vk‡£^Z[”Îä”B,‘ɧkí¦^Ö‹õJjJùB£{ka¹…àAªÓŒò2 ÓZM ,V ÁÓæ~~o‰ŠÉùP u8xŒ#2¥žñ [™iHf\*SpŠÂ~L—‡ Gí*lùA‹û3Ïcàâ™*ÙÀD&Û;¶ý¾°™ ™µzm¶P“¡º¾ÄC[`´HØž¥íÎüo¬á‘Ô–»Àj+âÖhm3 ÕÄÂjóíÝÇGÕ$=¦[ônðC“ÎÄóço4é,(Ƶ­E*mœùZ¬‰ºmg„S}eì’0U`Žq<]ÄHæ:Å£ßV¦²ÕXMã¤KÓ‡ñ Í…é€dWvg–@z÷ fc¦Méql¸·Ô—IÈ[nªid.*­Ù†‘Ùv=Ú‡·¢7ÞÞ”·Ýy[No™w½ÛÛ­>K%·½ù‹owv˜oën£QuÞ» ŒÇïë÷\ÈF¬ ×»!6²’\1?¦¹Ç;[Ã~;AƪIgV3˜0ÃF#㬢ÿÖ`j5…> ³)a–áÔIbœ ?DëtÿÛK—ˆ ·’2u7¢¨ÊtYËõè©ßUëmÌ £6 ÈßpUÌ êTõ>fWa),T0.°»™,(bÊ4w…?ª˜À*—i·‘¹ü:¢,´wÊ\ !cŠê\YXgR¶AÇäG[XÛ ‹µ§Òe”î[¨w‹ñ ÌŒÎOÚÝë¼¼v‰… -‹,®Ûee–óä½ê¬xëŒ0¾þBYÄù¯ºTЃQ|Sói±íZÏ&RNÃåszâoǹm3ð†ñ!e ÛÆ6¶’e¼¦W0³xäôàp_r¤·?Ö£»M¬éxÓ³6?ʱc-aRur‰­i€äá’ç»íüØkHQ-é~àpà‚.ƒs‰ adðáä(' ¥ð4ÚÃ8â³Þ¡B"èðv` æš "tfD³9´‰‘ļð,€Ä´Â!ÐÙn(ÓjÃBªÂ óµE@h+Ñ <¨3Je†.)UCsÝr&)n©…Åô04‡®ca}Âå‡ób)‹äÀ‹ñGâ®âËc+çDA’{½Ö›EI·`@ŽÞÐùTÝǺ–¦JqB¢HâU¼±Ñ{^ëEÓµ‘#&s-ñöLú£.ŽÚtA‰¼»*ÇœËh²t*FÒ #à9‹ -¸êúžF“g³yµU¯_—dŒ ûÓ«YUAÉûP ¶BH(β[*šÂÁœ"„ï“»Kåõ£ -:7ÕdK‹S¡°¨rTMΈ7f#d,>šd”…Ö³¶º…Wžø]1™-”"4J(ó£bô ±s©Kã>¶±¾À!—CÝÊ‹ÙÏϺxW¥Ðris]gÃÚ5šm ¹¥õ¶< -p!—$~ó÷\OªËN»±,ï¾®öéßÇÄìR‚CÜ'$¢~¶<ÿ[.ýÛ•AÙξì®}[õý³nß ÛgS¦í*å“ï®Ù¶#^H´£/[^øö(ã®è„#ñ¹Ø‚uðÓ'ËJÕo‹‰CdÛëña-2F‚iUö‚Ñ¢‚ž±!%˜¦ƒ–ÿ«¼þÀÇâ«k s­…÷Èšm4F¡Ý:>Z鉸Àþ¡Í—í²øÀøºOquˆ—ÚÀû‹…X}…,µBöÐ]šX©¬úœÙhÛKœ²T”*ᨬBmÓ êø;šé[d½%(B7¤wMÛv²ÕYgÅ4ˆ–WßÚ$Y?…ݲ®Éi*p²æyç¼B¨y<ºÙÚ˾sAiäÜ®S‹ë&̨S®üdôhG*©áéÃ!9ĵA\>ãksíÑ€¯J»”DßšÛ(ÕÍÂu*ÔY"‰PêΠnÀ‚<s/úÖEæ„ܯ°6^ôÔÝC®ËNÊmÌRäI&t[42,ÉúÜ} ágG'&W“@8!YenŸŸ8 F ˆK -ˆÅ‰\~”›¬+¿y2Šú·ìIdA‘fxqÙQ´(ÞØPAêL)°TÉÈöÍå+-‡ À>*ôؼ¢§/©Õ«Gcf¸JЉZ•Áw2Ü_¬|Tû0‡b*­Žù `åÜjŽ+ƹŽþžO£v‡¿Çî”ňŠÀ25æ«àŒ—Á©ä÷KàwíÕ”‡ ÉBø fûù6Ôó%,¤)lõ¯­û‹[×ä­Jß“95‹Œ™Ú˜Ÿb3u_‘BRɼiž=3[á‹Ëq:üMÍl*gC—ä˜0ssí#²•–…ÙŒ‚r¯ ;ï°„F#‰&C¤~ý´âÌN_´†© \ —Š¡Ë0é-u`JÎÎÀí0œÙ‰·8¯ò1$ÞY±\nÿr&_Зk¢wA{„µòGyA»Ö2ƒwCí[Jå2Dþ=¢Ÿ™ØÇ2}ž¥Wææ²“Yg©fÈDVôù!7^kÖxð©êZÑÚ(g<„eÆÎÔrÇ.ÅxŸ‰LЫ­:‰ÓâEûWvþK<´ßþ±Ã}âÑ|xÛo% -©ÚðrÓ”…ÒzX@ÍÓ&kËisP³7î©+8¹/Ýa‘ó•.p uõó—ÝPÆé®©}%¦«¨Ï]t7ÞS(OŸÜs,kí…ÆÔ›GRÓ`\ý*õæ]¯Uwî08íð_ öeä!Ð<¸å¯Ó¸_¥€R$•¥ÐÕÜ%sŘ5”~TÐë ¼{ßut%Ñ-ÌÜu÷yHD.rx+Xåž‚ô£–Þå%E­ÌJ'1%SÒµ„ ÛR+´ñDÅ]ˆÑ¾µ+ÖíŽ"èÑû¦g,˜,ñ€ˆ’@MJöô Ï¥VÃluÅðWÀ€Ö8ÛšHÎZŒX49î3¥¨—µ}DÊ“.¶Kä¡l1ìidBà{Ò&F„Œdè)Ð^›} ]a8P¬sÃç±Ù,ù’sðQˆ’gOFß$ÑÔÜïH©çñ I¨9–;êÈŒx—ÚIà9#jX•OL­ôÜñTÒH5¦žƒnÐO»%¡jZ[X®ÑÁ}Ú þVêt‰Ì‘OÚ nÆ™ÇÆ -lkÚ6NŽØY·*®M¿Ö"±á=Ùtœ¶–„bòT (aòªç{ âà([U“#Œ±ÃK3ÉŒ]£ÕÐÚÒÚeT‚Šår_•ш¡Œ-í°Vd$§ÒŠMÇ-zrKÄcJ1⸡öóÉmþõÜ6ït‹Â&nuÕ͇PnOÉð¼c†îJ¼p|2ô ‡Îõ/xáÁ\XøQd= -€ÄÂ=i¡´Â{*,6ø58SL‹ö9°R¸(‹fÚ9p¾À†•ÇuŽ´ýŒ…e }ºVó‘8‰¤VVAPÁ‹6+cÓ*l‹8Eï®ÚÜC³f+ÆPýÛ…»çx ^£B§_Ÿ™¹§·ÍZ%"òàGNs•Î ‡ÿ¬R¥æT“êäƒ>^c·ù—v™)¾jºGÖ¥X4î“î´ÅÇ@4«5€ð”PùG”?E=† ¡åtLÈìà^‡fᇞå"ëv©O|-úW¡‰$0ÎÇ'­š½'ëÀ>å;pp+F<Ü"Jå2pq.ÃÀ¢›ÁVœà‹£PªT€ðß#izš¦\8(w¼ú$—<–„l5)Âm-®•Ï{cç÷å'ÝTš h8ûjí÷FŒ1x¹TF+ÌËS꟦jµ¨Ä‘¿Tú~[ˆsª ñËÊ sJVájµ¯ût —À5¾ÅÛÚxµâªV<3ÁcÓêP‚Âm:K˜é  ÒÃeöVzBùr;ɵc„¤B¢ûË›ÙÖº¥KQÿž³œçä”@v¯¶›ÜŠ‚KXsÒÖUô2‚âíñæãSÆD`L-!h\"È -‚ÁÕø=ó<`GçAxmM ºKÇjO2ŒÉAÖÜQÿqÔX¨ÒÌ{*Ü3³p\çƒL¶µtP©äX¥.Å[JbÙHÁâ¦54}!äëèÑ ”DÅk/,wå…¨» Äâ~¢M=¢ øhrgõííå^Ž«5vñÂBàµe2`tQ®SÙlD[«Àœþ¤|±Ìj…¨¾^5ÝöàFô‡ÅQݢņtA³å%ÿFµs ‚¢( ÔélBï‘$üÿÿ|ÙÁœ³ÇÚá diÜì¦j 0Xhª XàS™=ÌÏÃ<ž)ÞaÑ®uš7|Þ³eRm7MhüKã»Ê tƃ‘be•3˜¢/Æ1.¬Þ×ׄ«øû_üZ™¶±J½S±ñªÌ|«ö^«vXœ*„ReÎ`ÅücY—µ”ðÇDs«Œz¹úŒ®¼]e¿ÇÖ–^µüC Xœa%4eÈÎä ì1¡†7ï¡Çe‹Æ{×<Ö&²–OF•–Eï輨Ì!}_)˜]Àã¦iCÚ²Ötlo®šå˜8RäÐ..’w4)4óNªIn°!˜1„àçdÕCƒä…ѹŒ½ô8…Û~µ!5hE|±Â!¹ÿ¼ð‘û,SŽÉc;yðÆÅþøãb¬mjŠ•)H‰€K3•¹*êXæ.V!©i³ËJ)V†£"{ýÈÝø0,z7ñn÷½Aì -Ï®HöV~°ñ0Y_{f -â&å³ î¤“§3ùŒ•|ü€[’—¥5æÖ¥ã¬Ý'Rˆ¬å‰]Ï\û¢ñŸZå?´d5—£1Ì6çz3dùèá Ü„è)Ý)1ï-dþ î,émºw"ž­L[Àï ÁÕDqv~ûà1¨+jË'óÆô\ó`7Rã7q‡¯§€Ïýõ èJÀ‹¶ïéçPFaN–`”šf¥‘qPÒ‹žÕÞ+oj.Všß³Š ¼Ô|ð+1@ q^@èYTºÉ»OAo“Å—{Ü+ï55ÏÑ*PIÊy¦KªK>éÝ(6ò%D@‹Ò É%að2hBfï£@vä.‹aÞ¥¶ ÈÏ æFŽ!ü°Žf/•Q¿z©ëöDÁf”a.4•’¤‡O>gìûì|vKU\p(í¤$7ÅOí©ÜƒÁœª@Kœ ÀMäü€ -¸1ÀIPZ@2Cmk.øyMב8½<‰ð=k*XÃÉÊU;È·-0Ãàðçÿ‡¨çåìvkýñË'r§Âá¯PηIJšE™õQ:,Et£ï2Œ6Ï›ç¢rPÝð¬ÿ®ñÒ{Ã_«ýbõgç ö’–ˆéYì‚ÜxóÍü,²'‡ðútùFWÈC[)ŽP£ËÌ|tÔ?Ïuòñ‘®"qH|äÍ%> ‰EírÑ——di‰grA¯ãâ¤fì´==ùÃåžö´G—y·´e—½O§q;$mî€Øvu¹šÕ–có•Í߉6X3uø·® RrZ¢©ð3 ¡i†gÿ˜çc8_¼i'Bßò_ãMjLßü~97¼ÑJL…Jƒ)tZ°ÚÈ‹f<:LJ¤ÇœLÅIv?¦+ûVÍš¢>”~Çø‘5/ ¼Ü¡0T%’Äêq4qHø„ÆmVÎgVô#ÎÎÂ茗³\vÊ3œ>Ìêë{¶à7Α²>+Vbz¢Ä1aÕsœÍ’˜æW#|õÔ«­%JHhíê1¹¥& •«%dnMÛQs1µY•ï2ŸX5OåTpùÅ„U߬ªW×Ù?´ò"6OˆŒŽ£”r›}9LG²tJËý,( ™äªi¨²ä郴ÈaH|N[È-ƒ²A—=Nj¤òŒ‚Kìü©é˜æü2${Þ(&ÆòÙñ*°3‰z¶å4ºK%¡f•VÖJÏ !²¢³-ñ6çÍù¦ÙrÆOÎ×qªÎÉoþêÍÞnnææÄnó©ÍVÿ9Ç@7>“\csÉ -¾…¶pæDça5'R.âçô·¨ÿo¿LVi˕̵–6êÆI>UOÍ3~š±)÷Ç8W1ž01ŒaÁøñ‹‹^,íâ„·øT‹íYÜ‹s_ña°ŠÁz+>KÅ­N±ÊKqnŒâ#yôAÅÙŸø©œª£/a¢Vœ‡Ë™xVÉf=T†±,|o×ÍEyòåÅ{¸®Â5mI%ZÞô’R&vš…Ë]áBNáVâèÕEOLÓœxèxhSJCÑÒ$©órÏø½=«Å0‹Œ;ÚÈAÑäÏ¢â!†ßcAâŽ6u Uú§bÁá§l•†Vh”–8æk¬hê´­[Uä*f0ÅÒ @ºÅ„J‹™t·‘ÆU¶“Ä%ö$‘AbxLÀ‹;Ò±Nn¬½ÆP€Ô1HGœC:N£ÓF=Ýß(úŽÍ@âIsþÏ5cÁmý>5æCIh¶?ô´y0:…6;†b‰™1®— L*¢fhUá)`åôÒ˜¡© 3Ü~Qdê2Z ,¨2óu7&j¾7ò•æ5¶¬ˆÂ“ÆÄ7óÕzGýµàÛBx¬5ÈX¥HJÍÜzx»OŘu àWX1ž•ô,€ãÑ Ñ» qiˆöø B‘D?̬mUáÑáO†CâéÐõB熞lè«apüXhõ]Üû q.(u1dWÎ…]€ZÛ)Û4tH2çùSqÌd>°žfŸƒÇ /žù ‡7´¼ÍÏSô5ËŽŒ{Ò]íql£a%T„1ÜBÝ,+¼@ƒ ó°puüã¯é¾Ò™õx!Äø`BC¨@×A?Í‘qâhiº@(Aé *H£D©‘\WžÓ›'«þ¶—c»£`rxéEßç1j©ŸSñO<úwe½À5óÞÄqðÌ{B;œú"Ú!¡8ØB¸à_ïM–tyM7ä?ç¸ã6v›Ôh$â)Æ4d°áªµØhêD’GÜ=èÀiî=3Û2Ç“ü½èÔÀ9Q[Êñ±Zf~åZ™T9OÙLŽ|H—{¨:™¿É‘L¦ŽüO²e$Ó˨?²¿‘ùÁ &Šö&‘#tÈÆö}­kCµ@ßàøp 1‰&©Vj,¢§dp–šœQ“ã*B¼ÐêFç¢!„Áþ`C ˲"w%Ë€Zf´‰’^IÉ&n)ý%£V-/Nyª ÒK0¬^ -^í­"ÅnÀ Jÿ‰I9âtj׫j‚Œ)åIîØ'¾¤ÝÇK­Õ–ïǾd#p ih­¡L#Ê[Q8—ºwÄâGܹ¼å]«©sîlÅñœŽæA±„\o<ôc×õ1cJ.†yMÝ+­L=ÅR³Ñ¥Ã -Ž™ü¶A؉߃IùÞîUudõ¸MqþWW¨¤@¤ÇÉñn˜nfq{W&Z­ÓÁ«û:´nä{KGSëtú¯®w¸©JܻķL\ ‰yâU)®WRqSƒ •ëdÍw"¾t&a›O"YéìfŠÑ*ñ(ˆXô2#æ»CÀPM‚ƒ#˜þOTYÖ‡ÈfˆG>Bžm1Ÿ^›ó)'â¹õâ f1ŽUæM™4Àzƒk‡€hµÀ[:}väÞ‰<©›üp¤¥Ö„,¿Ðk‚$ ×gþÓ;ù¬iµX›v½Î›ôì8ýoîtã¶ÄyêuÃ=¹èÓö§4º”XUpT™”«´ µsWîø‡Î?ÛC¸…+ú&`aIê™:r®o–EÉxoÿY¨Çã{V šñ'ÆcÏø¸ìÛÔ»‹kX|É‘˜¨Ò›b5EŠJ§Ò…¶C@©¥±ŸÈLf-Z3póä?é¨ý>ÿoßÿæ áº·“†ÑpSsþ¾SNOewVÌ—Þ%wî »õ;ï•jººŽÝÖ®0q -Æÿ㥩¢Üy\'QFLxü†¡ìÐ’a=owáwèÒ6R¾ö78h)_ûȽ‰¨­%ì< ®Ä„“¼èÙ•™Cƒ*ÿ`¤tqøÿR툨Ð7aý_{U‚ŒtGpíYe çé¡P '&™•ÌS¹x±jã"³Ù2àúÍ?;<¥Ò舘 X¯úwúªç¦j®Lˆ9ÓË+8?A"",”¬R½šë9©­‚6›dpB|¬fóÖ{ó ³:;›W-ƒ·KEÍÊ«Ïf¶ëÞZlœf”¾¥QûoNàƒJr¬¦uDà0ÚIOÉæRß§$œ¥¸©ÊúIÂêÕó½ç®E!í©J™oOùÏ_>ܸû瘔­$äbñD3)ÙïiËPdul¬b£Q ¾œ0ÛNøÒ÷mÅ“›"}Y*ÿ¹zkݤà^E†¥þžj?le¦ò•í%0Üt×ÏÏq~-a‚seÑyÆæ·‹º@Ö×NÉMÑì.n@ms߉n§1ÃJ»L÷͸ֵ7ÂDòŸè‰UãÏú¶7A7Áââ§â7Áå¶2Â6éàóáíëøœQþõ_Œïÿ>ÿÈ1–*ª¢§³(“!Q0%³ ‚Ûï~=Ùïœÿ;zðì•éö‚¶?Løx)ÿ~Øq —Å:"…ÿ€b*£nßà˜^ ½ÍPçkêÙþ2HF>­´>Ê\¸~4'>”Åq -!ðš¤Ò$³Iö`脊h”¤”)ÉTö3~`"!"/# k -@ -m}±ïA½EJ¯ø÷`è‚ £h<(Mi‹{†²éëeÈê³Z?”ª ’)›f&£õwÑÌKÔ’ðj$L‚Ö‡BHÍHëÙOa]3“ÑúX9„ð d“¢U8Xò`ŸŽæT “XØ ¿P¤t¢4ç†=Mˆ$¶H_Æ>Ÿ‹Äª¥/a}c† Cz*LL& 5›ý¸$y`*ËÆëã”0)ó3#Vôba¨ð€EY”?E q”@²º¶*'â!•†µ{¢ßþ0ªÒP1}+i+•"ú’1°DÃFô•@BÎ4ň~8¤T#Ü9ŸÝhº”¥Þ®o… æbÛÁ,ÈËgîåÁ65á4½ƒ;›æ¤çã+ÊQrò%/Ÿ#Sáh%¢ä!ëx*ÍE„B‘â!yiN¦)¥÷—£i.dƒ‚Ë¡2)†ä²z˜R>'–„õBBåªH“\̃ §ZÁPó þ01\H'#yP)Ȱ ¾ƒÇïV ; Èhè€"á3ša†¸À™C„+Ó¶“SЇï`Ò RwÀR„‡6—LÃJ;èl ´¯”rh–ΦvP³8ЂS­ -Ä•O­$"~B&sRÜœÓ “#ó—3º+N2~}ŒR¸‡ÌH…ñ`º™×—>ˆ8óñ " ÄZ;/]!j^æÃ¨À’G`6ž)g –ƒRMZ†|’=ç‰adÃq…h>$šÒ#èE&}¬EaœJIʄïhI'yÌÿ…ÇÐ.døŒk$ªé1½EF9(SPÂä€)ÊBÈeJjnvÁ!ÁrP4S£íœiq™I(’„ІœTµ¥ß­I t³bÆé(¢¸ö ªC£»†Â¶=ø<t*¨È¢õpXf²ƒy%Lå äAû×#³Ì8#!‹9¨…‡Š5d>˜®2¡\õÀÄGͰè2Í+“2PJ"¸J̯©¡H룊jLó*’Pœ›¦á9é…âjFz@ñÿ¹…û *uÐ+1aö©Cç€( ääl\2¢ZkNŵTœ‡Z{P—þs=Ô‚1ÿ>¸´Ñùdêá>`ÛÊ<ºƒ9]ÖYg¤ÏIhß(PfóX\µyQJ6ñë+¯fÇ©Â"Œ„ÖYx^² Jðœ8›¥"âoB˜Õs^Ÿ SÇ+8gP„ðÈTµùþ…mœP>(šŽ#E¡sÐs±ygˆQ6øXÌ—OrNlñòûšÀSqæ"®¢ò¼BÍ”Hù€.b•9Tjj’*_Ö–¦•ºþIazpü>ÅÊ•aÝeÇ$Th=ÑÜÅ‚S>-*ˆÄtÊß?DÇDMùå8ÈD*•ï¡ò_¸|Õ:”w`Ž{ å’˜—«0£C1¢ã9ˆ¬|c±-µ‡÷ƒÊ¢„ò`17ļ÷ÍŠ÷-5zEC.rÇŒ åCFîsS²©0<˜D0†¼ó@ˆ41§ÙCå öqó‘9ˆwP{ó€ŒN )¦A%Bî %t²¾åS„„Š„ÚIpå3Š‚idá‹iërèHÑ%¸Ð×Qsù1!§œ«ÃxP”iùE6t¦Ô0”t{@€x¾<4TžGQË8JÃj_“:Üyw@%F“™öËæ¬zPøP¤ã¼vIUƒç`1$²EWd)áT'á¼Q%-ãÇŠb6!œWŒ‹„·Ä1äÜ»„wôf.Þ<\zwG2Qéà¥N·ä×H…³B^ûµ04J×ÁACìúPt «‚v@§ œ:[å×÷Àá¦"qòF5³±¦ˆÂÌ)LV’"_"N ™(2ͦ4_*‘Kh‚}P³P³Î45QfRLÒ]f¤v@wÌ -ù6©Î«a–«šª¢’™ƒ–Щ§ûà(®§~¥Øl'Ƭ¼jLN\‘ZÑ s@DSÔÏ#a‚dœU/û‚ƒdˆÈñ}BV8ÐÄ)üê)ô;¨‰átP}Èû•g…¡ƒ:øñÂXFêÃ~(šR_ŽùŒú*.<¦ÊÖ+|¨„G„ ƒÙ+¨'µá1Y:íA ø5¡è€hBªÓqL,Â'Vúæ Ð:X#Tð€$$TBÈý†Z/O+ÚªiÝ/1 IêÞoËF¸Öý=x<˜ª„šN¬n jÌ -‰‹CÍÁFHܳ„aƃ‰Kp¬ #Ƥ0/êw0³´XñÐPÑ=߿þƒª4(üYðk/j†,QF7hB™ÚVvYór‘èì{ª1D° ôµïƒóVøÃ†„žÂÀ˜–þX†jML”øR®ÀÚÁ³*©)ú r˜­H.v釃¡Š¢âb™ˆâÈL{*Ħ/µ2ù ¡@eöC¡"†¦¨¹È[ÅBâpZ¨º1¡¡O ôÐØtãVpí ­L•T«OBVCbé´VXì`ƧýÚ< íàáMè$l£öeè0´‘NFI¥¿#®_„uÁ³¡agâʪòG†7ÒQ„ô‡<þèôˆ°í S¡1)õÑÙ¸ý({C4êUªÃwÝ$.ªÝóDé®ùdï¾W6;Øtª,Äv@ º|Ò:;`‹&=¦*vÀ £üà,ÌI]&&v0Ô8ù$2af/zÙ$F³ÒïÒk걃‰¶üá:ãðˆÈÌ„úxäy%›Ç¨]ßJç´Ä©H4›oA$Q”¤Ü‘ŠGh¦ÒÛq`ì ÊCß«McºÒ‰•À Íí‘úA•a¾„%æ!~×øƒ…7哬 ³ƒNUHÌG[ ï`-ƒÔ¬Ê¹i¦yšçER#ñêA3šÝÏH|D‚ÔA«jd˜žz©ƒª…›@RÕ0=·Id2^8L•„Ì“0ÝA «Òˆ÷‡dØdp@3aꀓ’ü¢>;(:|Çì`TütÌy©ª „fy^0ÌØ1 –¸Át 5#XÄ}(”Tåù,,ØÀAMÍj­z_&ãŒúED!(@ð€x@€*àœ€ðÀR@4ø<à,`'P -€€ƒÄ€H -Hà‚$h€ X°x@@ -$pà (8¨@@pàÀÁb08ˆƒÄAb°ƒhÁê /Á`°T5¦=W |ù+Ø;1„t_&RˆTIÔRšš…:dÅÖQII͹Œ{ÐKÂ4—Ç…®b\If.§h…ª #Ä:²UTä¹|3JÈ -_Í¥ŠFèôºz¸á1Syuñ‰Î¢S½¬,t‰Hpì Z²äQâÐRH˜ÿ‹¾ÆTJË‚XBPÇ,òÕéa]¤ñ‡}I?,Q ËòQÂk‰tä¨(É$_mä£òúb&œ EÄ52®Ž”ä› 2Ê„ªƒJ ÷ƒÇK–×ðñƒÑ:²Ët5¸Ü^â,¬aérJÈ¢*ù‚£’Vˆ8º U$AÊÖÁL]êQ‡=¿”H+H)% ‘Xhy@K„ÖIæ’a Œ‰æ ä…—AëIz3¬(B®ÔÔIЪÂá-FÄT^Œ|-¡»*:ë–ªƒË|‹øÀÞÄTÌ‘,U$ÈÐ ¥"2•û!Lò¡‰¶è§N÷=|(Œ¦£§ÖCB§SS›*©´¢­ˆ¢˜ŠŸ¡²G?s Ã>D:ñ„q(!~@…”N ­ƒ:éu@³×¾›#Yµ²ìÉs ĉ2YÈs0uŒÊQÍ&#™ƒr%<*(ÊMo¢ë c‚Œdm Œ¼‚ôƒ_F¨$ÒPAà õå8T~à‘ÐØ1©Ÿ‹BÙŸnáÕïmp) R;Ýë$3u=V‘êüÌ8E -þŽ™ö/"ImúÍl|éD"ßÓ……n¾BÃ…®h/‡!©0!41OøŒmy¦AŸ³¶ê÷JוËŽ¥nd¥Vl$ª•*#U£×i8¥Rx¤ž.…‚Zƒ¦~Q -L -Hà‚¸@@Á 4X0€ƒ¤€,pp@¹×9ÀDÐÀ$à -–L±Q±bŠaȈißðJz:8 Cdißš,öŒbrAŠéé ä¥FH²>R\Û{!ÊíxŒÇ±@ôœ*êÜ=p”IŸS¯@{£žV ©áDÕóЊɸêûÐ:héUlU"ÜŠÈk« mæ?éÇÁè¯úãׂÔÌôcZ”gFòŒ‰¢<%¢ª‰²g1ïÐìüjfÑ98Yå×±0%7$Ê6wb¿*_f›ƒËûMùí*p624ʼn >`©üª -ùãjz:Ò 2´m‘1¯¥,17æDá0–‰1/Afܪca<䘻aÌÑ\Ž ÓUÓže=à„¿ER; ·ÂÈÁ#õ£,DŸê˜&'ÕãUnšFå`Lz˜r0ÄYÜš(=ú¬ÅC\‹„Å­q¡ø"mhUJÄçÄ¡µz Hj·N¥ˆ[;3‚°µůñ¡Ea8µz\qÍ/*‡ø8öÍíð9BÁ_VR4…†@Ás‚,ÔÏ”„⡬ƒ/!šÆ‚{¨Ò8J*5}D9Äx@uÿ&ÁŒªƒÄƒ†°<˜L‚rà~Ο*äu=NÜÞ/ ßy0é9 ý+¶ÁšÙ9"Ù¾ä‚<×>΃~´6HšµÄ —“Tê@þvÁ#¢–‚;(ú"ùR«­Ç£¡ -ŠVªc!E_wB…Á™¢‡ -é áƒÕÌ܃գ’ ä!ǃ괟Pô"‹ÏÂ"Žñ) $4›ÁdÝ0P€ ,t'ý¥ýô‚â(•¯Vè›h?! #)TEû™RãÑF"*Å¿˜Y{×"Œ “ƒµc倨B„car0U÷ˆî@9ØDÐD-dX2e Y‚Æ}W42N-QÍ)t¤"‡Ž¥Ç†D̃+tˆ š>ž‰¤Qoý$¡û§ÊÕñŒ¼Þ+¡n¹œ›… ò:` m~?wÙA(ä@äµù4¢ S6CØÃÂ}Q<èKí€j‡Ù+u >øI"â «qvÀ’ÅøA[݃ÙÈ"z@Aä/öðâ=|öPŠ´> ÇCNS4ܘv@²XíS…ÃP83OUjòÍZ¨9è:Q†ÃÍì‚Ü™TKLlýq W{ëbËŠr@#?A“7˜ª¾ƒVœumhÚÈ&°ïŒßÆ„QD ëWÌCÑFÔO£kZú >í`øbDÉDažú”h8…êAùáOÞP4ŠV]´ƒñܯBÔ<?¦ZQQzß„÷Àº„Õ -‹Þ6*œPµðVí= Æ…® -ÕƒV+´Ñâ“¢ÚȘDóÖƒJQæƒJŽ‘Ír9…„3­£ì©oìOÑÓX') ‘XƤðÁjJƤõ^Ç'ÑÞê -NÇŸV)(„nwüøH -æ / q.fue¹I‘Ô7J¤œ|BD…öàS–ZA±§—‡­ÁÐÌOަs|¦P¸g6Jq¦ïˆa%ºy r˜9¸Lyºù€Z1î]!Á¡z #ízDŒÐô4–.‡Ðj•êèÄ*Ù9âk¨LòQK¤‹zÄ®"“ƒŒÈNVäPÕ¬sW.‹3ˆ£{HA¸¼ô -œì£{5 -êÈLhæ…B¦„ÄB÷ÄÊÅ“V²ÚEYi$\ŒGCˆBò Å&òÚHár=)Gdd«ÑØíƒ¤SEløyÇ3’($‘ËX‡õ8rY‚˜b rJ>Å–5 Õí)}¥ÌÂÌ -•«å»ç5B¥¶Ä²¿NT¶ü?èGqK›–‚̓b‰e2Bó`~ÉW]V$™…)K5r‰)üƒY^C‹æþÀO…³ÐˆIc -å’ýÁ×½#S±L¶™Ê-PfTŒø©”)?¨~äšðò@|@ 2Bé€v‰_N‰ËûåÄV !k¢¤¦“¼jf&üÖÇ„·˜ä§’h8mòƒ“ï&LX<1Âê@„‚ÒWV¡dQ“ÿ5¡ƒKãìÃN:û…L_jÚªw.töf:¨!=¹ &°fÔA£“ö¦4ãž åÁ?(Gú"-ùj«xš+t ®âÒ‘ÀtâÖԄ؈V4}t&ÄHev¼ùš¾bİ¢41ÕöxÑž §Ó Ù™IL{q$:n‘¯þª0›7ü; ²Hú|ĉ?£ÒÄ”dôšÓ3GùƒlSÚCäÛ5±¡ ¥`—˜'=>¼j‰   ëÁÛgê£Ñ}L®¾1ž ÕU‰“Ç ³ Áy‹íQoB½èt?w§…çŒbLæéCt|bì ¡˜w¤ÁÞL8Ÿ¢¸ +§}ÊßѼ\ç"Ÿ)gNΖQqU —‘Z yNDn°l5d!KLÈ–e5м‹~C+Z¿9eUÒ)’Fd>±w®oõÑNw’ó®s¶ õ*¦Þh£°ç™‘g§ÎeeGháŸà*¤ø'E«}ƽòklË\…¸Ç&æÂ‹¶„#Ùö‰X‰;!©B¸EëEÞÖßú¯–"VŠ”_<üDiP‚‚¸šÒccNOEÔYÏ@±‘ÌŠUXŠCCC±‰–+õn‚Z5ÚV¦+ÿÿÿïð‡¿Áå1O+Ñ1¶±ÉïB¡ÛLAÞj^þQ¡•q[é˜oš*†P(8VÿP ¢Nˆ¢[--Fÿmúçóïª!*(6å@2YLds>Ó™¡@¦y¨]—&Ôd;Ô¦†ºn[ÂPcaè CCÕ¡¡E(b}t T ü¶‡:•"¼Û´2fZËC£­?ýaþ—ÄHs©¸†gôÙD‚3âöy·xSŽ6µš¨V¸*&jÖŠƒ7…ç[Íp&;²‡ªˆbax%a´•AxHwgІüŽ•ÍëHBNî>kuÄœy×G¬Ä—òI¡/“䨽âCq*iñÕö!7üˆ#ŒøVr–øcƒ^óyQ#|[¯!÷Õ˜“™X롸˜©~±;Å•æÅšs4½”%P&"TO Y°ž‘ ¥ -㇑ÕH&’M<¯¬¤NÏ7#d5¦wd5‡:—½úP²Í#6ŠRŒ½·¬Š‚˜- -ÔÀ®—•ˆˆP(”b( Ñ $“Y ˜&YÌŠ`v(^0e”Ë4THñ "ŽJˆ%%áŽ1(Ä#XVb!aRád1m’¨0$‚ŒlLCHOrü}†¡‘¾ 6B§Ò¡Ú‡à„ ’ ä’†˜‰‰›0c C %ŒŒÈY+…³ÂéW8Y‰©a`7‘P -kãäþྯê°„º®CMÚ„ºŽ u8lÏ‚ˆf7F‚=B[l†p5(ª´ç¦[¦M:Ð/µ´àÖë@ ô<ض‰öê{<¬…qÊÆBÒÎÌa¥É!:Ñ­!Uˆnþ­”Cž™ä¡´)‡º¼SBÙ.—i‡[¦:¦9}b*,èô×;ŒP7]a~ -¼¦ä“ÀÓ*ÐGÖ,b§±¯Â¥ 6ÂbT$Õº#1òÐ_êðbPøBM‘(Ö@Ñ"QŒŸœˆô¢¿RX"ɸ•†ºLNA*LÕЄý .§°¼Â¾»äa§ï-QØ/óà -§Pê„¡h*œ^ 'j8M#œ"œÂÈ"AHÆÁêš â¸¼b›|†òº0žy/TÉ ŽiO\.‚´†Vº ÕJ5ØRD¡JE Ñ¿t" §7—á g‡ΓF$%UŽ™«.e†2VÂPæ†/ÐÀ0€ƒ³`A\ð¬ ð@ `¨À1XÁ&à@ ƒMÌܽig"mß„!A¤ -ª}&b "q«Í £ÍÌæãGQrge’_+!oÈሬ bÌIyÕvBã2FŒšÄ¨Nµ ÏŽÑgS“8C¡363 -ËPêm©‘81>¦PR¡¢«rÛ4EV+©xêYÔ/Ô 5FÔ‰P* ±¨U.­¯Ñ&Ú”°VA6}4'.kà™"ª¢!Š¢î೪ꆯRê4#1úËF4ôˆëC³VK|¢9ÍtDœO -·Õuâ`¦¼J7(ôê4ñ.:•x´ÌbTv¼‹ÎHœ‚棙ÅJFü¾ð¢ÕlãáéÀŸFõ§»Š;q>ÿŽ(ÈéeäRs)hª™aë Â²øÑyň¥V‰q†X2u‹‹u°¨±XjRþ-PM?ŸL ñÉp„>IfL(6)øæÔZñÚ„ÔZ¥̧ùÎ÷wP4ߎy‹Eù}\ÂêÀ•—2¿ÿ\Åðûÿ—Û/Iç€h2e:›É£â¢èíá=O)~äç}Ê:nˆÜ1Žx.$yÌLR3# ã¡` ^iÅß”Lª¯I§,dd$[Õ甑ðÍ2óxQ˜0Fž=áž³^(©Ð =ŒŸ±E‹Ì$Ñ=V$=†¤GYHzLbA÷ŠžòD‘M)P8/Ö˜ “Ïx©ƒ†\rÌ*LôŠ¢ILÌd&h6ʈ¼ª´ªF5ÜÕ|è†#ù‚DHN—„ƒŒÄ•IYÑ99Žhš%>…d¤@ž!ÇÌEÈÂcæåàx*ßÓzÚi/5íD‰DÆDªf:OyÃuÎt|0²œ3昻ù¸¨ä ê܆ZÆ'SBKØHTð® —ƒ~QôÏÐ6“ƒòh÷cZU»Kæ´Z䀸•êáÇy3àAÉÈÜ7k "²z5 TˆêãÔXƒF9 aCñ`Bªî²Ìö‰ÊïüôP -<(…¸Â,ÖQ< EHÃ3©£<•úT£EKRG…ʬ)Ùrg¯{;è7±š ùÄÙw0äH‘w «yY -5$1Á;àZòi¦ŠF&pã”‹È ö„Ô ½‡8ÀÁ_dY¨Öü:âXMeç$:¬ì\($ìtÓ -vÖ½â2ì(ldZ -ŒˆŒ;ÐH ç‰PÝË©6Lœ3 íèÒ‰yªv°Û-A,Á‘G±lÙ¸Áâr@2»çu9àˆÜ#;¨:Xthæn9ˆdÀð[]ø\%43 Üå`Có·2A&úéÅî Ì ŠÆ¯‡ƒ>#M„Ï0]ý4G ñ7ã*"Ub‘n™OÕo”AÞæ=£LøUêÃy]n²dE”‰QÆÌ<äZt„ŒŽÑMb0ú:GhY8"‹"vȲfA_ÈâÔ ¢]¼ÒøÕgöáèã±F_«Õƒ² -êÂ_Å^O¼ÎŸù‰Xf~Ay#8~„==úê„ÊCR;]+š_iþL4sb->a]£MQ•Á²‹-?¨\öIV~4Š]kQÓ|biÚ"V‰†(ž¥b¦2“æÜ¼fjj^SèɆþÖåÈ:¡Í:"“ÈvÖ E½RÉ|8J¼Ì)cº‡ŠS"–«áL¶ ˆhFC4CC3£àPgof™fCžqbCC~eŸ‘ÍB¦^‰)óêBº…w£S]”—DÓr&ÃÊß‹Mt™O7²D+­nžÉܱÙ3"Bž‹cf+7 -ÆM †*ŽSf Y&Mʬ9±#5Œ‘šGùØXgmÅç.®Ã KíŒ4ÕhÜb*ö_Øø>_©[¯!3ŽÉŠ›ŽF‰Ï{· -ÚjJ:üš5e•iŠ%t*v:c‹œô´èk aÑlYFDDÊU#"%Y­TÈN&¦§â¦ÁrG†Ûµu˹oÐácûquWÆžÿ[Œ{¡cG¡k -’Vƒ½E+yÅÈdäùéž–Ìt¬p/Çýp<úMo}_p"2 “¯KTÔ²®‰9Œ¯ˆŠ‹õë÷Š©šPÌòMM£^bí­¿š'”MÂ~Â|Ä0ÃóqŒð¥Ÿì}hÍ£ÏÚ…,¢¶b祹ÆA«™  ±Ÿ Ú ­ªŠæ’¢™¿"±6´2ݱLÇíæ%®MøQƒR(è!KL‘ÐÆêP_å«1¢?Wgô“¹‡—Æm.ݯ2Ô0ä…„I!K£E»í†ÌNÄ´e}l0žüÒ¢ŠZ!×Lj#V)NqlÏ/3íW~wŒÅç’…”Tô [áÓ*üøÈb׊­in‘Õà>ó·î¼t)òH8$)Ž‚ žÕŒ©ff<ÚøC{4h‹óV¹1#—ÃâŠÇsº‘ÊPIåwåU™eÚ©–y‘eÚ™åŽu+4Ii:õTÝ‘ÍȤª.õ$qW&óLÐmÆE• -ÙGÆ­Îê–“mÝvA,Õ«oƒ`_Æ;EÕ¹¬XnW¾œ[Ä%œFUÄfy±™¨1/Ÿõ?Ή˜â6Éø“:ù1éÌ2p7î|º‘è"sŽœ%û•ø‰¤¢â°f¸ÖçCTS´¢™f&«X±d¤›ÍÅRÏȤ"ª8ÓÙ.Îc$u ²F¢(v7Qêd¤^vbq^w:˧s)Q¸lØhçÕ‘˜±Ä”dêNXæ˜Ï5¡²ƒ^þ”e\Í™šbxw©Ñ²?›ß~ic=bUçæõbŒM&îœfC¯6Jàl~Lí{›¶ŽZ[K+¥2Û½G”ýš¸Hj3¯-F)ŸÙ'šÌ®©yõ©RÕE« ZÈp41îTF¤«© ÉH7Ö…Ó¹Ñi#æå]KÉHwn"TÖñfDV›E·†S2ª´¦„“…läS!U3§ØÔÌ+ha3f‘¨f¾ÙÂd D|¢±2µ!·J vc²_ßœüQåªç+‰\§ºæ6ë;V||Aú5n–ß„ý dž7™¨–TŠe£HXöì$ÚêQ¯Æ‡ØµŠRCÔü²ŒÇtgfÁÒ\ -È‘ª05’’¡=TM¼‰šús8m3÷´š|3½$¦¤[Z„}‰î†~YŸ…]4šPØiŠöRª ò!§Npõ¸cêB¤/!꣊‹‚bôà -N¦&F©˜Öhqµsz¯j”‘jk$ò„ŽÂ’"‰'ÂŒ%×–2#LJŒY[2ÈIƒ¤¶¥*¡ÆÓ—.Ѫ )\wx씣/³À±'Ë$&V‰n¤¾NUŪ¾£/#цïNbº ßfÞ"’…2ó#e¾ÄB¿_Ec¾½tÕ¦h¯¦^Aʲ ¬˲3™Ñ[­2ÂûÖ#c Íl‚BP99è35¥ÕÔJê\/—¿$üàÝ“›ä¤hËäA>­ª¨U-‡°\.©“Il*“Éô’ -EõTX1Dݧ0D5AEUµ÷û¾ï$f8ìµ"|(»c×4í¶óš¦Mb¨ŠÄBLÅÕB(XFð£ŒÒ ,Ö"µ‘„‘¤&†TUŠRŒP®•̦@Ý%˜\Ã`ºZ†á‡7‡7Tdä`¤*.$$RRòKÛ—BTŠ®4ˆÅra[â×Â0]¥Ò2ü°qm6u˜Z¡>q ‰D"‘NH¤Î˜FÞd$qÍI<Çø•F¦¼1¢åIYc<¾:cÌ6Æ Žd÷b&GÏ3õ`#ꈤI©b¼ÞÙ!Iå>$`büC?b@‡ 1ÂÊ„Yƾ9šI¨Ã, ™·Ãè/H‚Ú0îQHBe“:$³¹0‚&’x -ãýEF‡#)MÂh’$ƒ00+ã``P’p{Áp>ÁNIØy`Lè’$U`„Í$Á ¸7 ]<‰tã;ÿ‚ýNB«ø‹Ú<¤Ïý¢ÒMüz“°»¾a&Éw¾( e|y“0¡4“¨ï½ø;“DÑ^üp’ù«ÙÉ“txZP²ƒy¡f”$>^<Þð‚rQBÄï¢Õ«»8Ä_¶‹•ž±‹¢ÎZ %Ñ¢.(#] ]”ðÆe”ðq!5JâY.Å‚ˆq*â‚´6ÂÅEFIêß•‚½õÊîg[äÖÞ¶ U•¶Ø\)‰K¶ÀRô&N¾µ $¥!?ý6”R‹~§„2§E1jkIüI‹4E ´§„g …ç x¹ìJɯݛE­S3³ÀŸn—Í)áÞ”ÈSYÜÒ”¬kÉÂÉ[úá! ¼¦$;7®tj3 P*9iE,XjJ8dXhG%!„NÉ ²TÁâ“U’€¶A\ _Y%âûŠ“VÉ€îŶ’pä¢í -ÙÒÐVI*¹â|[ ¸bø+¿­¨…,ÉdÈ`´¤f¤-¡XÑ—DnVüd—Ä$+æõ’ÑÄŠ†"ÀŠ{ü%d|¯xö­ÕÁ„BÐYç7ƒ˜¤€AU„1™‹«¢QAtª‚j-½q ¥ŠŽu ­ Šªg¥©¸èñÆj4éŨÈõ4y¨Ø…5™ë£6l"é§8¨Mò±ç&Eè)rðM?ÎgýN´Ä)Þ8NReSt_NR¥)°Ï S2ÅCÔIj`Š®±“€\ -tî„,ÅáIÖ)Ejy’Ч'¼œFsOr’§å“l"Å ÷É@ÂðàýDgG1 ì´Q˜(I2ŠŸHP¢Ë(f…¸(”ä)ŠŸI(4%Šy e4ˆ¢Q„Cqo …ýB±ò¡L0¡èQRÑ¡(µµ,J˜‚â*F¡\ ¹F ˆMG‰âÅtÑG‰ŠŸøiHCŸˆ?R¢ß€­'ð0)ÔÍéPJñÄÿ`Þ -ªZ²ujS'Þ´*Ãz)JäacÊKnB‘ð”Æ‰:LŸp‹I íMÜð© ážÈ¡pŠzgâÑ2;é -TÛCWB4Q›§„p&.ˆŸB31­†›L€*ÚtL¼Î”ùJ(aâ#¥ù—XV¦2o/Ñ©dÙ%^†Îãísèà]m‰0C%(ZâÞ Yâë¨Ê¾¯„¤UÉÔJ|Ff• @Ô¨b¬¡)q)V!”O:¢©TûìOâeXeW; ‡®6ƒ[§c+jkI”’ -ªddIpV«ò³Zq”ÿźN[ÅÄa§%ñ“LŠU’<¬‘Il+•T«HT‹ŸVQ U˜PžUÄ%u_wˆÂUD¦Ë²B¥o¸ -uK¢k³Jn)‰ÓY%hr„V*“$’šU’~óäæV©õF¢ðVÉj‘ør« ‘ØTú†IS ‰ŠY%F‚rr,eí#îaÝ#¦`:«Ä(8òrG|VÙ3áêQŽ8ô1*܈Š®àÒˆø_îœ#EÓf“,¬*¼#Ëÿ"þ¯J»€`ŽmKÈ"VW•Œ­¤ŠJE°ª*¼“"L¨@iR'‚¼øKÄ ìïOÞŽˆvEDˆ©’¬·Ã”ÁTù -ˆPUxº‡xU²¹CÔÞ©ÄË!KsCpŠLCœŒ® %ª0 †X-ƒ qÜ5T!ö -Ñím -Q2Z'DRQ—uÜSB\…*³½w ÿtN…B¢!TÉ6æ³¥ŠnĨS•¼7ˆRÌ ¢ÌUáŒÄd/«`Û*õ1n•ÃËJGZ$Ê*LÜ*úè]…‡üWQfW¬ðNVäKZSm;+Q-ÓŠðZ)ÀÑ+úDÜ -3×Zî§m¥ê\IsAœ)W2Z£¤+ƒâíŠp â¼²| ÂËŽ´0™{…-ÎòŠ,Þ^!u’WÄÚ+•Rìž04%ƒø—ÎÈ«JÇi© -íõ¶Aö»$ÚÓ^!,¯RZc¬eãØiA`‹»ì+YcGz+ªÁ*×å;]_¡Qv®@Õ¿9ñ,þ -—˜nmjÿôWrkA¼ßÜÔ(8øP£È (åÆüÚ >…XA*cgƒøß +2G%t ɶؾTú -žj« ÷WÌA‚(Z›Ïö§@€`ì&( ¼‘(,o`a’¡w°DïcŠo\X<@X„{ÿˆ…ËýáXÅ’`ùCÑŒ%Œû}©L?@óXT~0*²„?àëdáŠû0ZâõáóÊxȘ¥ ]Cï°¦Yò)fB‹ å,Ñ?z¶á= ©~Ç{ȱh ½=MZˆÌvœ–)®‡º¥–쩇WK\éá¾µ =¤÷µDá<üŠcKÆpXA[FMŠg[u<¼!nÉ¡x˜¨n_xhݼ%1<¾ -.å·ôç;\Tá®1\f=w(§¸äwx两¾v˜“‘OÎø–ËÿÙAnsY)v0êç’ãu89¤K´hQ@¬ƒµ.ñ£± «4VÚ%¯H‡Žh—PD„· »tبD©gúwIÃsx^Fzñ›Ã¨™—E~Æ(zÙu9`®^ø‰Ñ^˜+½¾&ºÆ—LÈáABn·ôWë¹¾xç¿¬à— ¡½è—Bäü…jí ­à_ò£ì¥˜~ a)`t› Ì~CuUñ ?½a=ÁÌñÝP“LÕ¶¾f×<$ƒ-)ðšK%Lj·auÙ†6&›ÚðÄ. Úpy†™¼lè‡IwlxÄz˜ü… ³ƒ˜¹1 Bs%~µ†Ù¾Ö€CÅ0Öp°˜ü°ú¸˜Ð§\ÀÔF —3%Ê -ôŠ˜Dš†{n ›n9¦D¥!æŽÉBÀ÷Æ ÿ2é’)d¢F4zÛPd¤.Û²3”d°u†Sâ ƒ]2ëÙ r›Lšáá'|̰)3íËŽÊ$jþµ2iV†ic™áQ†°±eRK’p]f’A†_&ëáà0÷c¸Cf†êÒef"6†CÒLäè53f‹¡žm&-Åpý›IHbø!g¦1´”΄7 ÇÛ™`†yfÚn{FZÂ0oŸYí`PóÏô`¦õó@³£Ú˜|x‚Ðä`ÈdhÂù ÑðVV4ìøvœFSÙ½sFN½03ÒŒ,/ž4A ÷‚¥I×N»þ^ZHšTéæ4,;6|š4” CMhqÝ£†ŠìbjÐx ¯ -ßZzLƒw˜-Ô¨i’»¾òjx©ÆkÆ—âΚˆÐÂ#»Ö¤% \³p…p²ÐK×péXx1¯In›_©fHíZX`lx6qcfƒ`›ìw…ÁͲ¹‚e“M³©èVhLÎ&ž{W¡®¯K›ì`…”j“€«ÀïÚp¿*LËl“éÝ5îËÛf~§Bí6K…÷ÅÛ°rz:€=%„ -ÅMz<ÙžÜá$,è§ÜdÑΛÕ/£L7ù*…s’ô×Càn™~šgćÆEuˆÉ›à…{¤7,…u{3ñC¡_Òð-ò ùBaH°ƒ¾}“.Px×~ÃÍŸ0üߌÉ'ÔœPzÂõœèï„O¦Rmpá$3'$°ÂÉ '@i8¼Ü„S'3lBg#Nì4öÄañL8`q+ò9ÆIÈ`E³q®j˜B'h0a©Òйö£—ðPG { x 9‡€8”Û~ä —–ðp5 ©%¤…%\+áô)¡jÈa3J˜ñÈÉÅ“PŸIÈSI ³zH”KNÛíàgY=PNºCÂZê -ZÚð#ä>91zàžŽÖ®]B3UŠ#ÄžœP6Âõ§jh„/,gú¡–Ë ù"\°0'Òa»ÌgEˆ§9YQ„«¹9‰èrNÍL„°“‰€ÝžÃuˆ°úçdø!ô:é:hEtø(mz¤SaK'¯é”ÜŠ>`yŽ:j4T§1ß©óžvÕaB†à…uûj.,¢ë¨ý:œÃŽ^vÈ7Ôq á?³“‚.Ú)¯vŽ÷´.)[o'§‰ã+ë¸èŽ «v§j5ÞIè±wªË¢Õw2ÒB*ÿ P{7tr2º‡ ݃GJ áëàÙF›¼ðÔO@<™,„'R<–Æxä;³r<óÐÚÆ‘6ÇC_²Èòp÷ —ð¸zRÎo·žpñÁ‚Àž¹”ìä=¸K{F‹w¦ÙöÀ ꢧ´0ìIŽXA¤Ç,Æ>,Ò!¢J°@b«¯ðÙ,F¤+zÐ}æ (Åœy Õ¨¬ ³«’v™Ð¶hú®ñÎkÄ<àWÄw“Žy@³YÎÏàyYWo¿ ðx°ç“ ½n1ÃD›ƒV*êôDPp‘Dù·îaŸ±i~fƒï»^¿ªdô4-i~q_ÃcëwÀK W0€øÀÔc|¤¡þwû°'VqÊd¿& 1ÿÊ ¿Ýi¦8¡I6Yðùhgn`±×®[Œ\ÇE‡ù kT\}Jñ ÊGÒæ9#Âë;X”cNÀ¦ û–³òKÔ ðÙ± ©$ügW@ CÚ÷+k÷ÁD“ÍmnBÎ}˜![Å?%sí ã@«Ÿ>Y–×Öʨ³6©oVª¬ˆ BŒ€yF±¨ìÉæ>ÆA¼ñ½×¤H¬ÝÁBþ>$DƒÑ,ÔChg->š*ÔA‹-×^ )€ë«/E°°v%.Áa†Ðõ^±W‹N…'¹ªÓSLT&@hôƒNóÀTb®J§lhËÑl7üèÀb»È4M§âÎHâ+)mŽSî,Ê®qð·sÿ ~(Ñ;!¨&&ÑA½Ùg:a{¨‹¢ð0Z~%:x¸’±U°2U&ѬŸ—Ñã6™èÀøÆ&!ð¼v$·[ÓŒš -O O­d[ð9Úzèv \«¡ 0œ Zhj+VE0×Dse/Í;_1%,Ü:ÖŠÓ«Åú…YðnQÕ©•tÕE^‚ÇãA×j=«Î³œÂ¥æMf?e‘…“_ë -ŽY¢«Ê‰]‡UmÈÑLéb¯=ãžZ3ËPœQH‚íû€qî•8$ÐiM¯Æ³U\!ÿ|Ë7ƒc;b®ù£rCÁv žo12‚O¤—ň—3-‚à”¸ä·Qe”ŠÅAÄ DFcÔñC Úû@Q* -‡ jž›"È>–z{!€5L‡ñFdB€¯’uÖGî 0‡˲1-踄‚€°xÓ2&»ŽãY<”‚è\è‹JX5ªÎq;´nƒÑäðüÅz²*øy«n8$é8ÐzN¦Ã|$Ê·¼l+Ÿó¡Â«2;Ax!âk=ÙRa°1&ÌQðºJ›°Ü¡²Ód;u*§Lv }ùÇÐílo3ÔBuRm‡fŸï_•k<=?8`-¼9Í©(~äwOœK8†ÍV…œWáþ2ï ˆ›>‡FÇLr} -‰ (/WÈi¥÷Ä“\¢ °9'ïG+et¨W•íèt2аM‰èƒ|˜mJæc“º‹gÁkR¾3ÛËËÄ Àå/™À7âÙ†ƒ)e Ü‘¶À‘-¥Ýp.RpA-¼*‰†7RnÐohhŠÀÁëðbðêHÐÅÆ­}ˆ<ÉX|NU°/k³mo-rXꃌ²ex¥a:TT¨—[#£b9Àw¬À“ªFÃ{:áªú¹Ñtäq½\iJ‡±ò]Ë9? Q`<ŽiB j||'Än'IY̽º™¹cKØ80ò‹éu8_NÉJ`¤‚/@6ºž @ÀÐ Ñvç,Àkðøé·ñe {|HíV%6_î)”2ð™ËrϽ:u -h=Î8§o ObFWøÒ¨.`ÛÚ¼|‘«@X~a‰ï}p\å5ÖdÒ›‡Äò%`†i¬¹£ÑvåßÀé›`Ìdž5­€2w„N¿oÅýŽYO,n Ïs!"ó_C®ðˆ++ï¢Ä F’ÇjS>À{¼ÆrvEÖÁÁ)§¬Ã @çl7;ÏúY€TQmN‚ îÌ³ÔøÐkƒç–"\@PªMmCLÀ™“t¡@¸Ø74 K¼yãçH ðš®ý©e -Ïæ\Ær·”›ðhne…4ÌÛ§ g¿">¤ÀÀÉ™Ç.°\œ µÊb.ŽtQ—º–ˆÐ(%ŠY¢É  áÉ2ÿœ™¸æ€;"´ÅÍ‘·2{´ @>î ½à¥À¼øe&%ˆ×Ó·üÃS=”kqò»­m•ܸº=räsȵâA®»Á¸ 8ó#--”¦ÿ¤*6&*\ÓŠ•Àå¼t1-$¶mj(j0þ”ðµ€ç,øÊOýœhC€ëïN¹Rw(áE_6<D%€tJ±'#€/+gVtÐ4;°Ÿˆß°0þ>á\ଈ’R¹ÿ&t:ZîÿÉqbö:Ñî¼ÿKûpP ->xÔÀ¸+hÿï¥Á}:žÚþ‡‹v˜ ™P•ü?Õ<èËPÄñ¢ýW…7jä!í¿õ -_JªX9â¤ý_*Æ ’CxŠö¶z cÖ‡0•BµÿäfËŒÆÒÙÿÅCößÄAvP´É꡽FÆ»ÝÇÿüLBMƒH¨ïŸ&Lz+œøþ†±á¢… -ùTòý;Æ‚²Gù¾ÿµÏ*‚FVþqÓþßyË…@fYý—žÜÂê‚ä€ÛiÄ… ú/³¨,¹=ó/Ú'gŠÈ¿ôÀ&“ -õ‚Fè ø†¡zc#ºóŒ-%®ïofŠ$4s×¾[A uî&‰³Ž³á¢ýuoJáÉW´Ëù$Ž†Ã - ÐqùõoøÞ:Ôøó Ÿë•TÒ V0XL×+ no"üý¹î(vEïøú.µnþ2d?œ¿ä”yhc»Ûzùwÿ¨ +òþ˜üu¢v¼c0ž:þÞè7"Ì$HÿäÅ ßú¾gW¤ßR”ÎøÓʘZÏÛPL,p&áÓQÞ~áý¹JJCX1>ûÿWkÞ~&jùj/ÔŒùFf?CyYö£\d =Zð—P"·®_Å’f ë÷Uªäì’ÐKõ_þK…ȸí.õÃ'jÀ£HzYÏé‡K¿I‡ay©9úOJåèWC’@Š|Í% ý}4k"[`]–ÏoRo:çõGÿò×Kó[,‚ªŽÃ0ó㉚6˜ɽ7íñ´ÂÆ•ÜÉgä%mmw´ÈOíEã³–>?}Í ‰hBq™ñ×àÒ¸*?Õ×¹Ún.„ÿTˆ>ÔK¢LéÒ鼡ìÕúí#ìàuÿBÎÙ§!éªÀßš: •[ü}cêß|Ÿ¹Vcø ¢†ÔÓ«ðþõ—·0£v¿Ü"K&”¨.Ÿû’nd5â†Dâ}´¶>>gw-<“ ­Þ¾f?Z2`m߫׸ª}×^ž= ÚZG¬ü(½0Ú2´?KšÄ;tª‚Äì×¶J#ü` òûú=ÅQÕnØ¿HdΟ}ý(ˆßt}­ -«cñNïa­?—D‹½Bëç:H6ËeÊêïØÎ„¾IšÑ®ÕÏÅxÜCCê¿u^å*dãÆþé‹R{T5UÎ6}ÙÔ¶¥.K<2QÏ4á(‘ôu:§Ö‡ÉjAÐcoô¯w.J¥yŒD?£“3[Ï–è× -W™–$$ôþQJÑÅ}ËÀÉJ·CtÏWB¶ÂúR²É/­×³¸¨é–Ê–óÛTÄ‚øäæ º2©¤l' æ[ê>ü‡ÂËüÄ=³qÞgQŸE0æ_b6€/-—o›SÔâ6—ÿ`Õa n@H.ù:ƒÈÜ64å÷©@ã›\ùªV÷}4o£VRš51à‹éʧ•®l­tÄtå—>Í˵¸ò¹¯%u—ò%ˆ‡J¯¢”ò³Ò…m<ôPÊoŸà5[ƒ,lC[•ò—òAÓ# ¯ôöázó K`–3ªÔÊÉ/Ö£Kðääwú@7³Öz -9ùñª7·¿›k;ÊÎÉ¿MæLpò¹Ÿâj@Ê8‡ž}Nþ,sq\QQªÆÉçJlYž7ùæ×¿(›ü¬o3D®Hï’M>ç¼44¶ö`Sâw/ †;‚"LG6vëåÈ2 éYƒ -cˆ)xxÇ7×åæv㯿‚6”O_¾ªoa4ÂÆÅG!VûóŒv5ÔÊù -%„÷hw[iÄ\-FÞT;ج)¿lÎ&•z)]1|øeb#gÙ‹0ãŠDû; ð{¹U^°Z„Q÷lüî ³D Íný7ð+Œð øp^jr™õ÷ØŠ F•éïoÄ &T#>õñûôÎ’;š†r@ßßøÓŒ—(ŒÿÞG åèC#[5&ò¸ ²˜®tSu›÷€ÇÎTPØ©Aeb˜Ù£›™Ä»—;p1êp0»§Áü‹žKñÔ}‘ß”kÐýY=PØ¿fæQâxRì9sl•ó¹ÝÇ+=îƒá»Ôî¯Êƒ^5Gý³ÎËÍù ûö{€Û&O·'fŦ< -¨èµ}mæ ØþU¹|n õ ¬ý³Ôô‡¼™2ÿ´§sª¤ä.IöHr3"¢þmÝlôô,ê¡ÙOËKƒº™±ŠvVökŸe#H‹Š"ûùðU†lrªŒ½¥jg<¬….bï~*¸¤8?ÊÁ~²=Og}äFÁ ò×÷]ÄëõuåšÞÃÚ•Vìz™3ÀÌ€)ƒÇõ¤³ñLá hëS‘56}¥Æ˜{´^ó¢ 0]·ÕÊJÖoWxŒ¼¤<XÙ"fê¼éâ­~¹ €o<üí>W}ûǼE/ ‡JõÎ{n÷Ëvç÷íÔs]7¦žËSê›±´ ý‹ú®R,<L õ¬v'•±–òô<8ýXÓ]är©éEšh³&% ãWॷÀîNyÑc®ÒþçWØÊ½9ĤïˆàS"Eý["½¹,…vî†Gÿub­¦,XE!>Šº•Ù)f\Ñ „ ÏTDô*@‘sÂÐÓ•Ã#Ýè– À0ó š“lkÿPÅèIl„¶ÊÀÀ)ØÍñÒßéó€&z®Ùó¢´ÖÁàmnÔ~Ûð½†@ Ÿ ºi°­¦Z„sáÃeäy8‘ÂJ,9€Géäa‘„w\zöÆ"œ+ -³ùjnð!;<`ˆ+—]íyûÙô¼R‚Ë⥅kŽlBü¢˃xs'ðÎ)^ÞÉ -øÄk´]røFçz±R÷TüûbˆGk›…ßïmË8ûôÓ`]ñ ]#ø”ÕÝwúþÄ 8õÊð›(’ù:„¸jùît¤"¬.Ú"|·gàD$„ð½•LªÜ-éͽ«m­Ï”p{Wòi›ÚDXê]г–XÛôzï)4;óNŸÄp¥¢T*tc§tx¿Vt ¤hîw'íÉ=KùSw·Ij=EvwÆîáâSÍþ s»Óä ÆÁÑ€àAÜ™*‘ewÍ/^ -€ëžÂ Ùåñ{ÂKbïüŽ\…ä¤ûg|Ûä ,>Фµg5Ð=¦D¢ˆ8ÀY+ÞÜщáwè2ªËýépYMš*¹k@O@÷üâ-­gÌ*ØÝDfr‰;`‡¯ä³“Ï„{J]—(ù¡Gÿwïa€!uÕ¹·K/F1 @ŠçÐ|KÙ8¦{6·×øºšÂW€LÔm7õH†K»Ú,ÓvJ-eæØªÓöÃÑ©Y6§”íŸSNlÉŵ7¡£j?úä«}‰_CCÕÎF›˜=ω€9Ç]õÀvÄ7Tæ‰ í#ÞåÏ}v·àò:Ñ »ÚaЫœ×ìh¦*ÝøX9‹Ù‹ËÒû Š˜]þ½W´1 ‹E–] Çžâe?Qƒ;"¦®$:²³Ñ¸¸2‘! »ëÑ6í‡Åoì¤fnçRÌzž.Á×Å>ðÑÔø|PubŸÁ/uiÕ‚xØqc½oí*©S·TTØ¡B4,ƒÔ/ì{ž‚ýÜ)¹–]) -`/N Ýj2rSÍ}]éAB ä•‘{RFÒ¼™YK´ô°äõ¦ƒ«Ö{õ`»®¨p}7u -]gã‘×2]äYyÊ!Ðr}ê² h¶»žà:²‘›ùlÐn½)U€úµ^^‹}å@UÂ@)_¸#ÒkrÝYPZ<þ9¡¬;! ;…ÅzIšXÔ® ëí—nòzëC·‡I;~^Äu7ü- Wÿœ° -++Ñê@»“UûUoíZj9_‚¬ê•­I°4ÕÐÙ-žH -þ®¯½S÷5¡¡K¨alÈÔ -/p.'xˆ9—Ý> =þb?H+@ç/.ZÅ TíÍúÅYá‚v…\³‚¼°àL§B-ا+Í“%O+_?¾ô» z Äg_Ø«y¬éÜÐÖr°ÜLŸ^é Ó묺i`ÖoÞô‚wÔf½Ò³hîEPSz¬B°¹”?º>DîI/£t)é:!)Ê"½"«¼Î‘Esu Ý£8Jš1غ£“‡¯yø/ùmtá%@“º«g'£ç[µÂq?˜ý›ú7ŠÎN©B¢w§àƺïæþC×,(JNºð‚yyf¡»m‹ŒÐ§=…ä 0'™‘[ƒN*Þ/ -Ç‹ÿ^f=&“ çXhúo¸Zü16ýþç$öõ ß7ØÏÛØ^=+£LèÚç lýg#Ð>§¦>’Sžèéäó¬>Røšî½ ¬Éî‚þyP–ÑóD¥´ÍÊÒ Žñw^Ýk"çwŽ}xn˜&òœÖ׆½¶.£Ç‹<× ‹XòœÚGßLPÜäùXG©²ô<;¯ÍHzî<³×c×a“çýâ8Èð"Q½“Ésàtc'y¾P«M+9¹Óä¹¼Z™]­ä¹­|Jý”|ÉsÂÊ«`ÉóV½§j_È’çPð vòü‹`Õ9C8Ð -]3Ù"àùC1 ,­%˜üv¾Jzÿr;Xdʽ~;§Çá˜ø¤¿Û9f/1¸Îý×—ô€(€è•ν*­_b•͹m1x¯.”’ó’#»yä}1ÆÄyFg`o…€ó̇)r_ànžбc.fh¡‘Û<ÚáÈÇG²yt‰'6^4×|R¥Uïã¾KSHËÔüóÙ½:Ã[i.;[ÍÐ%Œ Yn5úG0œ9`"‰ ¨ -¿Ì;2-HDÜdÞùhUi]sCp¦Šš˜K‹ŸCºÇ;¦ÆŒñHè"0ß4·£¸æÝÎ ŽéÄŒ!¾œˆô–díòòÎÃ(8E.gÝ'¥]^*Þm;ÃḬ́´Ü1{è…W&Ë[eô<ËŒa$U‡fúÌ­­âÙV‘v»Êa¬§—(Sy‹2pÀ ‘NùŠUHêÑ®ëGŒ/ø-ÊåcÛô÷Ay~ú02S+ƒ'ßI‘Ïc„â°þM¾d™DJ'E–É›xµ•§œÞjc´}µ)¹RÓ Ù”i%¹é+&‹I È$oßä:§il1޼,h%°Äó"ï$¦™j7xŸj"ïg¾ˆcV#?tÈ‹n4µC’`<P¢QÈ;–Â-cÀÏé‚|<¡i{D9èüÇ¢í*Xç! ç%6&Ÿ -Èo2Ó@pšíéæÚ±Â=>ÞÄF¼f>|6¹ªŸ6ÏãaÙË‘,%Ýñþó÷´£Ž™ŠTŽG€§ŠœIqÉ´VèŸdúº*ÁqœwÃÊG&êŒý5QÁq{ ¶÷ˆ+Ç·*m†í”88.ŸITžHp†ë³z†Ç9þÛb"µ ¬¬Ç|ˆ ê•4nùÀ’]üø0U2Î û'Æyúõz` `|ÿ…QvÚ >šŽÞÅ_r˜a³c—v‹kA‹Req´Š^ÿ³ü„åÄ,ý!\ܳNÅÏ`Bhb³®µTŠç = -ìš ¸F½u)œ8ºÒ^u/ñuí2¹ª&ñÿÀqS¬ Õïg¶ Pøjø”‰‡=4¦´ö⫪úÊ ÏÌX‘åößøŽÅì‹dè;ܶŠcÎ4çcÈ­·9œ·.çà0‡Të äTY^…¼P7Ü¡@•jKÇ Ôðlˆô­ï(Pex¯³L"„žrÁðÿrð¹ž±š —²<{Õ=^áÈN¢$¿ëQ˜Â£4é ¯sâ"'–_^¢Ú*º†þUÿ(Us*[.Â[ÅŸó‚a± |‹lù¥­Î*.ÇGqè!„~‘ZÜô ^Ml窼àÕ:K ¼Ü"ÈŠ³ -^uÁ29ÁÕEÉà¸Îg 7³òÀ›Ž×™x8™Ð~Ø “08Rh‡r 1'\w’'gÁIþd¿„™d–Ÿðàê¶¾®|œùÜ‘ ®ÊI®n¦`BnÃ5û·â$hr1쬻¿OÊÞß°ÛS˜+ið4W«ÇS¿ y†î÷•A -è~#јŠ9±ÓC}ÁŸ‚,¿KM3BJw5LSó¾ƒê”ð{j~D-ô”¤ûÖªcúé›M˜É¥ “„@áùÆ Eä´C•õ¿…xãÔÆ÷Ø-y| ‡„œkïßÞs|Ûž{ÚÊ-^½÷:5ÌÀ’1îÍKé+­4R´wF‡øS´ñ‡¯÷¤ðÙÆjõžC¨É,M¦oz7Ñ…tûªBô¾2"Øw ÄÆ?®ªc0ŽeÞwð¨BNdáÂf+å-ÂpÃr_>1j±yèŠÎ*2¹xsåç…Ãäy‘&px‡659˜é¡àíwt%œ§^-~÷š·jÞ}Ó?øg´ÔÝŠ? _=!àåÂÝ_Ê üÅ©W¶û1ÐõÙnXÝ ‡©~?»µµbɯ$bìN¨V&Œ<‚&ø^7tÅ­»ßrµê¦åœŠ4;ñ)¨;6DY3‚ ¹i§mÔaº UK>ñE¥fãÑ=¯ŒºsyRj#&rbùÜøŽšq_ößœ»˜ ‡p Š™kn»@pñM Ò€˜…aÁ@Ÿå®MÝ'w]×½f&­a`ÀóÝòtäpò}ÜP3)`PãÞ{Â+¦ïÀª±¸Š˜ w#nüž³¾-Š5Ü[»fô2ИH„;/µS!ï Ÿ„à–Äü™˜ 8þíIÞ¿=œìT}›)³Föv;þºWŽ· ‹'è4ƒrí6Cƒ—Äç¤èvÊhõöÀ‡“Û$Åкu?AÓpÛyC|7‰·í¡SL­°jz®í¾­%8yNìZÚβ<ëÂÙ²¾‘~õ“mi6¸›~²]FCÂ=Fº7fòp±mæIƒ Å-ØÞšÑÌ^qX^[G“€Gg” ׆àx“ß;kKUmJ{vm[\"5ÂöyÚŸþ@¿¥¶ád‰ ï£jÛæLAä´W&„í*$Ô0mBùѯ'l‡'mi£,ömñmta¢mÑÅ/iÊs² e£ ív­b¬ŽÞ -´k¿OÜu#Ÿ=K† ¶TbôÎÖj÷l™³Ó©¾»›Í¾’ 5»¢”üÃ^B¶ÌÎS$Ÿ…Ùb’s¹—ýã³\¶@X–®(sË~+œ m‚êñ”-96¿  GÓ“Íê3£VX>ƒ@5ŒªE¶N èœÒ0dP‹Yöåä7ÛÑÇP\®”ÅŒ]ÈR ÄU÷9M]lŸÀ6>qP±u¡g‰]ËòóXÆKì™ šü--¬ bGVzðBöjÏŠnCcAâ…6æ¡dѹ {SMu°Ó‚¦ÍÆgq˜‚­_~2½…”‹€öÌ­ýxŒb†IG7¡SUÝRo0äýõ‡õCé†Z~çQ"ñ8ô5ëÈtj†ÂGô½žY×RŠÖëŽÜÁ”Ú¼«q„ÃðšÚ!¯ƒqlsrõ¡Ow ›rðo>ÞBìº ñ׬£­fA-×PÐÚ -ásÝ$Þp*ŸŠ8l¹VN0„Xž×Pƒ:® ¨°F©Âpx+\#= ™¿.ã[s|xð8‘1·ÎG79X]¥¶¾È£ÿ§™!ÁÖ¢ág‹Á¤«5(M­išáÌÔMëômá¢6Ó–mˆh­¨Q(uFéük F¬ö@ÖqÓA€Ÿ¬éÓ–GA‰ëØÆI±ñŠujÏç>†Ôãΰ†¬ûêDg`©b» €ü%ѱ¾š'|ùãÕ#Ô’¢ÐÕÝhZÓÕJÅPF(êµWï_Ã+r­•Íy­‹­Þï)9Øé¹dzzÞ-›þû½Õˆœ Û¶Za Ý«‡•ýá/ñR<­šcfÑøj‰ªš…£Ù±Pµ H1øÖWŽ©VðbQ†_Ÿ»\Gõ>+/h‚ÙPÝßI¢˜O}ά~圆±³Ï©m"@=­+QM­Ïù°bêo<K6 -;™,uÊ?Æ(`LQ -¥³=!åÞ‘º!ìÆñ|Ô§ïnu˜kÔZ+0uÆê€Xe•DÍRæG ×PGgLÝÙ€PSŽ^ëîJKCè9PÏú¨qXZ•ø§;?jK¬ú4ò!™ žãÈS’=MÎ,æ¿y4žV¶Ë¢3¾‘DåN7*íÈŽàÙoRÌVN—óìIdJîôk™)³†q§Ë£×Q¶;Ó‰õˆ¶¥G1Æ`~ûQð[ÄyÐ'ƒÔ-fô!]^ç…õxH1À -ŸŠ‘F!!BÒ9·È*©™_Q†l¼§1“n\•‚áI‹-|¹FégÕØOi—tòŠ+ÅÏY VéìÎWú8ã=¡¥,]d\J8ñ\jÛìì-­¡•èЦ[ú1-ë–âSç»Ôp=0E3³61Ï3Zx.™z~§J›)GOð® ‘¦>´ãP”VЍ×~›Ê(;dÌÐ#Sñf—ä”_TŽ'ùÒq¸Pجg… §²ºº¼|åj.æµ=ÕÿWcŸò,±tšÖÜßo–š¿5 ¨«è–õ‚Áÿ¬5Ô3¼gefˆÊBJ*ªµ™­w¦Qß§ô¨ìªÒEd¤Âà“J•»o,Õ–”$LÝr5uë`é9µ®i/Fª UJ‹‡uTŸŠ\ª4§U§6qÕ©ªI~­‘U?t1杖·¢±z&+†f5;NlµŠ…Žyû -¿S5¦ôVI]6PÎÕì ívèͳcý‰V34·ø¿úÞÛA«<ÕgÒˆõ“Ü=­±ÂÀ|d…ûuBdY§X¦E¸Š¼|VÕiààh=tÓljýe­:áB" q Ù0Rna! Z“N=ÝEιÛi‹W*oõ%C5 ‘^û6ØMƒì¿51¸©l‹¼ä -á¢9}2h¸|â·nÄ…Nü"W9 Æuö_L,ÊY4¼¹¯É ”ë{Q” Â0ÂÀäÓdÜ*Ó\Ñk/;I¿.çšëP”=·rÂÎA÷rÂ]¦-=NºULˆÓÝ,SwÃWw¿Ú›Àuq6»,Ø=°.hEe÷hÚ…]Ã$¥Éí^X¼Ë]ÀBŸ»N×dØÜ»À D=Èò©&#á çTˆ“xñ à&ï?B|$¯•ÍL8-ï™mÞƒüÒÇz=æ!#½K†jªÔkE†uÂSêÖ; AÀNöΠïÂ÷‘Ô½Tü'ÐïEâ£Ø _6Sqò…Ðø™ïË#ÅXE_V_¦€vi_—¤£÷e‘i7oüA`Q‡ó$£ï±_=H’ð÷¾òê¯sã,æßpþ÷­=ÝØFÏRóÔXeÀûQE?˜Xoâ´'Ö"aÃ%'[ãŽøXCp{†Ü¹ÄV0›û°ÄF~½\°Áñ‚‹Uç6jÖ3¸;1q_Jp…²x0♈aw°"ü²tÖJ˜µÔ&(øU¨ðvô¹&ÔÇba66[ÍÐO]˜lÁ"Â0\‚QEÌð¬&Ò¶ úº‘àÂroX¼vXÎalD"ÆDpQžÀ‹Ò@ŒIÛdâ0Ä£†ŠÁ¸Ôž>¶Ä¿¤¶.ÒÃöˆñÄR¸(ülÍbâ”Nüí£>Žœ™ŽY¯Vß«bRÉݦ¼b‡ÿ“rw>#q‚‹?6'/Ö:ë_0þ~ë2äëÃ(Eö9£ñl&cX ÆÌ£Y‹ÕYcA£7š Â録§ÐÜÆŸ±‹>Ö•ncEFZ -lŽ[¸ñ§Í…pó>G7ž‘ò–·­ê×ø t©ú¹äU;k¼7PÁ—‡×¸ËLŒbSöi¢Dßkl@Ž­Ll\PkD³¡„Ù©ž³ØøCP$BÁÆ5éÝ™All5¶ ¬¢GŸ¾`ã·ëѼö…û?ØN.4ï³×쫇e=»Cׂ%ñV|Õà®16­0Ç&©ä{lG–BJ“k,e q–Ù®q=Jâ¸^bõA]ãþ•µc×x`h·‡¢æ¢Î5®XjK/%ØÈ–V°4fÆT\œ4†\…+Z~pKÃ|œU#óHÃГÆ5Ä ;Ž—"õ™$rQÊ T{µÙ°Žâ {¨Ê–Y7\Ø—ÊGùDoÆ43s¨m³‹Ðq`‰v²:<fôôfüîá A‚¶h1_˜’²³@j½%Ó¥Y36ÑRÿ» iÆas˜CˆC3¾/ÕþÐãÈ85Ѽƚº½„s'8–Œ¥ï¼[r±¢X”y(±ÈX½KŸÀfÉØÏ¢û b¼pýafëˆ1ŒZEÆJ«~óÃØDAC›ÃÈÀœa,å¸/Œã>yþTA³…>yÆÂR÷~½Ìb‡4Å{t|2y±0ã ÷bYò6r±ùÊ…ú¥ÖÊ äbZL`u·.ry®„jC‹½Éš3í¡Å²Õš?‹ [À牡Ū–ôþ*óäh7£‡A†' ðx'9-1ZlNÆ÷0h±wb.a,Z<-‘¬\üƒ~_‹Î¾\üà¡åâÅ ò!qº\”ñŶK€ýDÔåPËOoÊÏÆÙ v•C(|1(¨ dâ‹áÇŠ/^bÀ¾×ªò¦‹Û£+v1]|‰•ÐX/W/®œ}Í.T±“ešfœH^˜Ü«oR-ÎcËj1[`ìÚ±›É´ +® 2TZì”|^.vZÜÍ:?¿›D?t®‚ÉÅBÍ/a?ï]¹Ø|0³d‹\Œö|g^\.>›˜g¸˜Hcot§>-®+å­¾ Å‹ó“÷õ1ˆ´xtu†ÓåÐJZ€QZü”7aB£ÅRûeZü54©“l,/Á¾Pæ*Ž °ÉµÚ^Å–mwa_ïaW1FLÉÙ«X%×6å*Îa-`®â6&:¿Š$+ÊFÉ÷ç*¦zX,nYTvéÿƒÅGu -ò3&´Jæ2 oYKêÓJÃâšzÙ ¼¡W…ÅÆª»3æ%ãañ#0´dÉ=›1,Æ(‘U!,fcmX,ΜiÔí±8Ь·;f,¶Š%áCcñr:bXeW+®£ÜÏÕäqäxc9©À­ÕZ±­…¸‹©TÍëÔÑKX@l¸·¨•—ÝX|¬d‹µ@æåNr¬ÖbÂ'žX¼¤ ɯzE™ÏDð„ $ˆVYh/è<‚Z@ÝÄ“E¢b±yƒÈ¬ÀµOUÑÅû¨èo_|rE'Ãxw ÷þÿ R1c"TŽA4†]ã^wó§ÌŽxœ½2Q û!t€ìÑéhÜòd?sífuˆ¢1È¡ü³/C+ Ç¯ð›hl$Œaä‘ÙɈÆ3h¤Ú…õ B›½Äè°æ fµZ}†>mŠsõíq%ÌÉCÑcƵ?y²4tç)ØàÀÍÍÇx³è· æÇ8¦é¨ÊËô5­ì4â1&+-`ã¯ÒÙ9/c¥e¼¼U c4¤Æ|j-dãXÓÁs,ëÍec#5Ëo7NÒÚÌÄqäà|Í1CùëxœÕtH´Róè;ÖY.îÐã Ãݼú1 ÷A -ßï)e…ÕhÐèxû¼ŽSŠn  &艬nlÍOÊãEÅwH)©Õa!Zƒä`(É'zͦde¶ðžK½eò››LÒyðdNU?(OEQþÕ&e·MyçÊlø¤2¯gšæ˜Ç•wžÊP–˨Êa3ËW•g¦£5q‹q߮騌®–¹\~!ò»¼2;p¤ä‰ä„/whxyÀ̘Ä# -óvA¾ðóMÌi0=ÇìÈ%3Ì&Œw»Hæ2ÿj' ÜÌø…æXö@wiÆŒ6 ­SSŽé9a¯™‹¾”gsm´'?™b àæ;M:XÞl -ηd³•¼óf.bîÍ'7w·šénû˜_g £`&Õ'ÜYRÀ¦w!ÁsRZËóÖ÷¶…z†èž9ñ3اùü(Ÿ—© c¯-DtÈžø(‘{¶äŠü멲Œ&ŽãAU¥F©{΂ÊÞ÷MKtlê¹éÝ3$£Ú“Ì6ݳ];°d™)꙲âAY=ÿ¢† ‘÷Ààùœ=ÈÏT¤Õ«þ\K™ÉŸ7N…J;c“?=Õ1“¾ öcdþPYÒðçýÐ Ö¿ÁŸÁ"ökáÏ—¢•âÏŠš9ˆ­°ü'Ô©t‰»mRÀzJ˜©?ËT‡Ë´Ýysٟű«Î›Z€±GÖó¬ÂŠ­Œþ¬›Å»ºe³gzê„&ÖHöЈ®\@Aà‰ƒ3%h$ü' ÓÔ¡½cÞL¼ÆË ÝcÍ =@[<®¨ÆÚí¡—&7 ë•¶ŽÐk•ñ´f'f!•A£+0 4Í¥mG½@k'ûÒ)´°'V]Ú aãE²*8š ôö[&Õ+ ´¥F5ƒÔÃù—1HÖùhd”•›Ú¥@kžúõ?4qád2Ð3ØYL€ïÂPôÅÀ¢ÕÒA«Ô›F ÷íLMÑv‡}FôâÍÔ!Ðí²ʧÅçC ÇýÑT#裋ä+ëø\U9¬A»]›]àVË5èå3ÌlaHçwv¬F>p½azvG1Ô¥,óàß ÷u, ý…ùp®¥ºA÷Ö”w+EÖeƒV¡¯ôM_á ¬ÔIèÏZh’‹zº‘cÃÍs¦hÆðˆ¢_LíZ´nÞ -£íÕ»ŠÖ- i¾“- »:Z–cDùÑ|HBóÒ!õŽ©s’I/ÖhFyù²J§ÑÒo!¼V¨ÕK£ Ÿ–é‹„ˆ~¦ƒ^c„Øô <œÆT²Õ]çé0È傟~ êaw†HuÐ-ÙÛ¢Ž(ßGMy^ÀôK§ó©%Srj©I† ªÿ•ê”ê=ÀßLÕLФ¤9¯]Vׇ[½8—›ÝଷY„W®Ž&Cjå5¾ÓÁ$ëÙ‘Ü1ù¿YkGþØ`:£usZÀ°Ö7;5¯­{èZùÖ§ÖsŽëÐ1è:Dæ×Ù5^]˜ç;¶ÅòõÚ¥ýøÑ×D¢˜+å&µ­3°$–?ذX8Ö$êfÃæR]½ا–ˆ ·Û·bÛ=6™Æn…„n·.ô„bØDе°3^ýñ ÜâÉæ%ÍÐò…Ta£fë/Ôšr¶ælÑéÉgKF!îýÍødÓíÏ À¥M__ÆPAíõ¢ÚàÌЩ®Ý[Öíl>Ü„Ç~mOæÉ" ¿ükÙfþ;PFÛWI¶±á0àm'Çøò - í@'KÐr<Ûªï(™®€&ÏöWý ºÏ6Q'å¶5IÜGÐvKBv -mÿ†êÓIW¬´=û¸ö“[ -¾ó‰YÅz€¶¥ë,AÛ;rd˜åM’@Ûø¯Ä*ð¢Ì(ŸqG^þ m@q"6øCÄ íï©÷‘*\ÀEæÁ¡íoÁÐîäòÉ mºîíò—F²ß`‹”» ´M§?ÛlÀ¬Æ¶WP²Š&jg×¶q%BDó¹¶¹³ßqPËËYhk»AÖƒæ… ÃÕöüŒ@j;D˜z/$¡¶Y\‹PÛî¥Î"äÊÒ¡Ú¦Q€¾%*ÙFýÕö—AAÄ?`Dµ}(f|xÀRm£` mŽTÛs™XÉW²†M±¶ûÉðÍͶGû›ͶG"QŠíI£šígü<ŠÍ¶ uÁͳdÍÜlà~ÇÒlÿböIl3Ogb;]'à†Žû Mlëyæ¬Â®Ù`ͲN6¢2×/»€ØÙ†æ‡ž šB±Ý¹±¢> j˜ÛîÍ;UÝtØ—Xl¶£ØzQº6$,Zºöj¤ë7G¼‡®m!ÄK×–Øö½µÐšp‡ª®}Á%òšÍtm×*àzA‘[뛊 ËG×îx2M답!©Å±nÉì#Fšu§Ú -‚¿°Îf¥[E]ÖF&kš)4°ËÚß¡n:üIÖ–Tê.W¤¾XÛ—¡¯XÛy˜9™<èõ]$¹${”Ìæ‹>œÌIDKX»‘¸ ]i'9amÕÙþ˜ JKX›×B{Ï’ˆÑ8¬­{\ø»Ä§¶CQÇÃÚOíã•ß°¶å ¹ötlorsÓÕm{ãå¢NÛÈÛ¶jt¯—¹mÛ€ŒxžÓ6›i:ŠñQˆÁ´ÝÉ~¸›€ÓvIÔ -ÜöÝÌ”òNËíÿ=ÆšÔnË*¾ýÂß‘ -¸×ÌtÀPènL@òâÞâ–;nNôG“{?!¨Çx&w_΂¯´¹q[ É-dàn¼ÜWθœÛUP; ›¾Ã9é®¬È™Ô ‡&®›4ƒ ×};>ÆÍÖNÿ\w8ø€„fêðº7g5¾­ÛýŸ1$ud-aÞºU<ÔÈ¢WÕº”q2C­;vïpÌþg×[·»:ˆ#¥ènÝæ(oômÝBƒçÚV«ÝºíÑÈ KÖÙÚºy†Ë˜~ëF|+´7·î§Ò “¿­­Þ+Ý™¬D·î]†t€H²ûÞåÞ¸EåÅKÉp²;ãÑÀXd7£ík‡‹†Èî7+ŸcãÆÊöõÝ¥Ýør/7ŒiQâDÌÔÎc·mrw*–ÓኰŒÝTò¼ù¢±ÛvŽWªÝÉÓaŸížìçW0ÙnïÉŒ«éÍvR¦UÕîÎWð†@‹,¨ÚÍ„¾Œ¿$:¨µ[#ûPÉ›m­Ý“°ó»Mkwc(šÙX¶µÃN ¥KÿhQžîöŠX[j)t7L¿žGwC²¾H6kR¼tw¸ *ä@woÇýâÓÝ>Wï‡SÆ'ºÛ“û†db×®Ý_™Â‹ÝÀ¬™å 6i±{€T×qíöW/ê -R}èJwSœéÄP~²Õ0]Dwg<¡ä»õ7d…÷ W@×ñ[ùMÇ{Lÿy0oœ™ÂBor“ãe5Qõšðm³w:tœå½õå‹0ÃÔ;5”)¾ÙF>Î7Í7goIÈ“ø-åëìC¿]êàøÛ“/€ÔÑ÷Šü0‹<üj¢h'pÅ®"cÁ9°g­²¢Cd>;Â;a‡L,Ö… vs -†áÇs"£†·ëÞ/ Ù®bNzøÿ€$%ħEüyb2T熗MÜt|=)^È­8Q§Þa‹;Þ/.;”a‹Œ§|®÷ï¦<½Æ·.6Ö¸¬)‚×âǺÜv¶´ã´,y=¾!õ*ôÇORTÉ6îhØéÈS|;3ò`ðh‘܆㵒÷ÅåPyÞ@³'o%ø¹"–qqÊ5Ã;V¹­c~xåI³|ùO1R.Þì’; Û„ºævÕ‹æÄ»V7PÌ­VæW§»3ïH·Ý4Çûš“¿¬ãækAµ˜R8GX%ß˹¾:gˆ~çzÐsÎ|ÞÜø\N.»~þÑK’#_ΈAgÁã ÝÍ+ø¹‡^RƒÐD? ² -£2]ñ ýé1Ð=ôÚ£ˆ …$›¼S:¶*öséÇxsȽü7üÝtb!¤Og*¨ÓŸ¦?[Ô‰|^º˜ÔÕÿ9õú‹¤:1ÛÕЪê¶úÈbÙQŸ=²^ ÌGëo­¶¶>u\œ ’‡]÷õz¿FÛýõ[L»ýöÍ–Øn%ÚRÛ¬Ÿñ­€ZvL·Åfßþ v=d“™¤ÝyiDû‡P£ßÕô©/Si„ç.Ù>jlû®º&¼Çξ²|8‡;A$‡ ¹ûö.×Þ¹…¿[ݸáV÷/‹‘ )Ô ±wŸ¤Æÿï:Ê­ü±!ß$w•yq ß]õtÑ"é÷õŸóHìß4à7Í´vqcðE‡ MïGM°*üóò3Û¾ËÔ ï7 -YÄÒQt_x°ÔóéGW<& ‚a|)5ÚhŽ¿`·=åã%kqH„¼šF~¨–<¸]vüÉ{_òG?å°ü,3~Æäò›áøÕêÈeÞJÙœFjþ<ÅÄbËìãÌy,‰‰ÉxHL‚Ïë×ôͼ­ èÁ¿YçL!QAVw”¢¿vô4!åMú뿺þ^zÁ«­õ¦'+€zz{qRß¼R½_þ%!Õo1ž¿_ÂàÚê«“õ”Ó‚·m½Ã•À®÷ŒÎðüz¯?û5ˆþÆÌ>E´Ï*ÿcV{×1  Óö‚ÝÛ£žqÿ‰î }šÚ=¾Ž÷ÜFös -üÍd½—DÝ£¤ïe­þ>ãFiùþâM8ýø[;@‚¾÷+ èûgϱN»¬…½D×ßk ~4§Œh ê]àпjèþi¦eê¢{¸¼»q0 >_÷"K|0 3—×à{1ßÿ…"¦ãnØà¬ý2 ¾\.Ÿ]áþh óN|ÌÎåú‚UÅo!~IƒüÕJ> -!4Sþa5ü™q “ùkóov>"9îüÏ¿Ö+d¢Ïf¤Ï4¡?Ö4}ûFýR- Tž€Ý¯Ò¦Ö5;A–N’©r‚¼ &¯Ï6prèbß½4—Ͼz+mØ~»Ä}Xømb÷Õ†@˜J°Þ¿Vâ|øûrÞùàÿlùu­÷æs–±Büßú–ÀŒÿ†üCäW[û÷àú•¿}x«ÖüugH%ÿüjãÉ~ý£ Qÿã¡1œZ¿²“…ëc¿&"ÍökW]jþš°ýVÂæéÓi¶ÃÒý)×1­ïçÁê\É÷3¬È…,üûwüÇœ>——ÿ/…µŸ¿§’1sœþÂög¹¿ -ÿs«ü_ŠzøíþSµZw|æ&Äà÷ÿ>þ¿0iO@K["¾i€¥ïžC“ pž»6ò 3@V; ÌØ”AÚ`!ƒr( Èê|è#ÅÏþ)›À •€³Rᇻÿ&ÌÏAQ&—½áýcàU žuVˆ0­Â«ú¨ØRo|Ygm$Ôâ†#::]W6žGÈDœª%¶E}¼nm©F]IQÓj&õâ?ü[â·Ÿ•³#%Ý‚OØ1æGÖK°W²÷®úc½¨¡ÈH­Ð|æÔXI±=.xo' <ºõ)¢ÒjOÏó’ªõ¯ÃÚ¸vbXðëY¼¹ÀÑÞ,Ã3~Ÿ'@§ëTA"2ü4/ßÉ%È=N­ÈJ¹=W¬T¿Xèx<ŸÙÉW o*;´ßd˜ñ/õGí ­38Èñ[ûôâ9š‰ÌtfÂþ0XÊjÌÕ¥¨¢Cžä·‹öS³ã)uCjwî`Y4ž—Zèe»²[uýWïíÉWÖ¤ñmÌýPü[aFåºKˆŸ|ˆã²žò}â´´ºç#Åã–næî´ê’ç¹{ðÈEs²Þsö7ˆŸ{*­Tî=3”—„ˆGN9&‚,r#iû‰æ'œÚºzô%U7Þ·ùFöÉí”sdŠ~[nJŠï¾—cËb ÇûÔ…Ë娹H!W6Í”T$»Âß UÚÚÑ©?q}dÛzïu¬ sÍãS yN &Ùy8-¿˜ -¡1ÁU èCǡ˜Cšfxô\—N¾ù³¬ `Á¬ûŒ˜Ûe þ„eáøíkõ®#myYEG)ÜVÇ­9—rÄoG©ITíH+êz$CIGŠ‚ üË&#k±;êÕ¥t^L&nmOš°€T W÷í…*»*a')Dás-úž$Íùç €YÙ¦I¸rÐèÒ ­F¢Õ¬™Åah/à¾~Ñð[Ç]ÀÏ]§t‡­0w(ì‰<Ú=ÑFÐsCýÌ¿â+MÚ%ú6óô¥gÿ7«ÅŒÚ¡Ó&dª0÷Ö*Ú@¢Œ6e–1æö‰mdócËËï=ÀPå{œ&PX´e[£¡KgˆÐL*bô•Ýÿ:(P~}ò@{öKÆ£Êx»*½ r 6ЫL Èø¦ŠÑùºÆN<{fT’ÔsdáƒÙ Ôpn)™õÑS Ü~Êf=?Ûš.#HzN‚£IZ,Xy…ðN¦9R63ƒœQÌg S©`[“7V›sÖýE[p='T¶Rµa\ÑÜïûN©L]•WgàÄ™¡þ³M»@°wà¯íÝã<ÚBGÍ"‰Ïu¿®Ï{$v³òZ(áí²š _Ãõc¼¡ÁíPôÅŸ4zF ˆEèñ(?‘„Ö·’’+‰Q2y£+¶òI8pÙBþ÷€AV‡=óZ¦¸®8T—8]—M$"@x­×ç;4M'½m -9e/nZ'G«ÜkÇNäWìE)01 ØÍ¬®Vf¬«ZðÒd¥‘€7’RÅ(/Åb²âq^µŸœ«Çì8Ü=H\:çÛ ‰"}Œ ½þz݇¨&‚°* 6zp_æm6„m{d9䎰€»!ë9_e£”-¯©¹Ç¨Z¯gc7³»¥ú°³<–kP@ý‘(É" -ˆ{¢B>Ÿ<¯\YEŠ|§6:£í“U‚²ïöLÂý%Uã›gœ \_ºæ…Å4(ä/>ƒPcKCÅæMÖr‡=Ï{A0`›§à“Ä{DÊIúGßeê[´›(x\twˆB›ãNz˜Pöâ]3h(ŠO¹“e 6Nîð˜Ð3sà7d‘äaHñ7;Úe*)2ö‰Qf‹Jx*ÜäœIHsPÑ€a:E¡“`ê>¨*ƒFHEÀ샮Yàõ«:ÀÔ}¯×FØ‚PÌqûÏÄ=;ÂïËÑ¢ªSˆ&˜ÇÜôߥRоúb}R)òÝUPdw=C^!BŠÆbŒp*¿…\ =´¹øŠ 9FË–¿”û=%ÞDVÒððQ`”V¹ŒJ«ÓY¢‚Ž˜¡ž !Òð…” ÿ X÷À“Jiú ?LÅÖî¿Qmëf½"A×í)™ÑPo-âã)~«8,â’ïŠ4‘9ƒ¿ LT‘7‰GkH€¸Fõãÿ …YK2̯>Ôd®4•¯Ð¿iz¨H0´;)²l5 ÒÖW(¿"œaxåÈPFêè@–“nfhJ^—/á-÷1œøýWèØE´ uW“õ)Z‡­-B”xÒ¤2æ ìçp¸™fÐíº2ôTI ¦IHwr—ÔxRL<"&…~n:=x´Ô™è%З•þÑÆ4\ª>ãå!ÍÖéáP?'ÃAÀOS/ÈËŠßEÄ÷ûîouªûš±xs¹ÈÀ^.­©léWÝ€tf¸A{î>{fÇýwò›#ˆœ:³§T*²DGò;³­ÚÄf?–Ò§²ŠdàaÛZa­:Ö@B“¹ ÒÆ1‚{¨·J̉ØC« {âæ€«R$ÝnÁR¿èä6ŸY–ºèöÌGŠDå—ÁdýÍN–há¾âÖá´gM°Ø€^}ÖÕ‡‘²ffÐ…2ø¨Ø.£ûÜo ~áÆ$Fläª†Ž¦hADq tPÈb{(µNšãf;º ‚´LÃáöÞB³7—‚ËÔÓs*ÜÕmÂ9®×M3° -ÙêV$ ô “Óëöáuïî‰5ý¸aÁÌÂSŒ$¢÷±•hÆ:DƒìYÞËms<”ÚPÝà1ü™R°I«òAuÓY$~h}ú­5´@9WrtýyØÄÇ29·©3$ÄàýRa«cH)ÒooÌe h]ª˜ÕÂÞão(Õ^ORŸYM–‡XHº1¢±5ç²Èïþ'ùP³å¼ô <×)móPk†½/QbˆE¡ž4Ê•ÒKyB¸(™GÎT’&B^šQ|*)V½Ú!¬â{±'ÍP¥=bÃÜ¢^!ÏbV(§)_}{mîþ@ûìÛA HáÄ%lnZT+„…êÂ-V¿çU†â®Õß&ÇëýÖÀæ¯Tð‰Ôìh¶>LR‰Ç®©þþƒJ5î|ù‰Ê8e î)Àé6Ðáð8·JâÝ"â.ðÅC0…W˜ÄbpåïÿÓkÞ¥ÖÀoÂAžý°=Äâ©CbÜàî^‚Œ6R¥`ßÈì¼8JíÚ‚f.Øæ¯^‡JÀoº& -eGÅÖÒ¶˜„A´Òã‘w\0?B&„‹‰$`ËC ‘(GïÙ--^©c•†FÓ¬M& ‡r/›zÒÁ{Ü‘†Ÿüþà±díî† € ¥m‘‚1aB-x1LrDÑt Y‘ÁàÙ«´¸ˆë®Ío»Þ4x±±QKQ1q¹ÓƒBÇ F ‰™\â»ì•;&òÀË„¶œG_§–ÈTäW§xYÔ[ƒzç]Î-ƒÎe¦bJenTt—»Û–ùn›[V¶,¶RâXð\nò¢ÌG‚½qŽ¥ ÍV4[Àhü–­½:H=Þ IÛ ÷øøBýaj“+vO¸Ü䉞ѾdÐ35]Ïh0˜æ§'ô¦m`˜Ì;QµÞÖ ¬Æ"sÖ»ö#Ú(“ÓE!†“rE¿í áÈ n•ñB?ò6ߢè·>¬•[M€ª< ·É¦5ª®,ˆ‰—Á†½¿¨?‹“\Ssµ–¤5̰wÓNЪ|“ɨß%ùEjÚÐé²ù¶\ ɰ Íä]Þ$‘o¢mìäÊçGr›Éé´³9žôëf–C#¹SšçÿœiLZ¢,ma3&‰EçÈôR¹«m|% œêÛÒl˜÷ž½éŒ‰7BýùÄ/žU]àÔN†JYKà -I1ö f ©ævúOG]=ùI%äH T¹ÖÕ•PøˆVjÁpL4ä=îK€q[0Å)0ÿí^ÙYÎëf¯efÀÛ "ÅÔ™X$w‡’Ju~œÕzF>C¢ì#l'ÃjFgû¤7Q:¡ÕHþmB“hX÷PìÒýR_f«tæ™âëÞÖ[†¢÷µŠg‘~)‘¯¬°L4¡BYIÙ[uï-göN¨$ ~•½Ø4Ë&|%ÛOHe¾·¿E~¨ÞÄžD:çF]íœD‚L˜~ý6þÕ°„‚ÏQc¸±„ôêf·Îtcf_?h5  O7¿¢c× ù šÆR:‚ € ͠ǸÃëì§*“€òRê™p»2 4ª9Ê4DQÑœªÝíÃ1Tq* ß@Ì·‚LÇ­¨¦^˜Œ8Èø¿áý]¸OGÅ›D& ±ÂsÇÐ]’.Ö¯âvA³ƒ¹°…3|±vIþŒã;Ž)Þ<…|bˆN×zÛ§s‚ó‹"kß¼zƒÄ‡F¶îŽ+ò?θŽ)‡- °0>¶=Õ 2å¡ÀÄÂc˜VN,¸¦v”Üs6ÙB,/¶nr¤~T4^Ò+mâ×’u°Ë>—Ô©$#\‰3ÃèêÔ(ù"³Uçdsª›æÍùÑb³Ñ‘îˆÆOcuåTÆÖ` -ð€š§'¨O¾ZÍâ¤êú:ÂÊSC]Œ4 ¨[묑…9›8z<—MŸðr” ºâ1,Ó7Rh‘ÜTqáo¶‡™Õ'xvTÄ÷+-òI9uE°8q'ln;–{o‹B#æg¶¦ßÄé÷ Z?ÎÄR }èu ò07Ä‚x’R\“N´N'ó§¤ÎjNøúêû؃âZ>B‰0SÎ% a¥šcqa²ûVsçÚ{ò *–Ð÷0ßb•? èœZ3êl÷ãbÞ0ÌŠ¤’RYb„J­[LJøá=€Åê¶FT![ÓÑCƒ|xÒ˜àâ Â—ïæˆ×<Ê6ꀊ™ °•ÆÎVî§p^ Ö•¸äƒSžªŒ}ˆ¨9ªàdP^3*rA— )ßJ­Æd˜‚4Ôß¾²I:8ç'€Ô3®¤)EËQ¯´G ¿,ƒ¿\¿qàÏ3lÉ¿–EÐ;ªs¡ˆ3-©T,8å#Âçhe–1¥iÔÍþúºûЫéÓòKD{hYùņg²I†"`bxõæú@ú@ñ ôv¶)¥"ʵ^–uPÈkf{… ÔáëfLÓˆTÉ:ÌPyŽäCG:éDYkY™ŒGØiÄrOÕ‰îKù6‡în ˆ«s^Ly*ÓhÐõâ&lG6z6¡˜-Ò„‰³0V5dƒ¢5‚hN'iH(ÚÎi*OÊ]§@¬Îñæ6bƒD°xÌå4»ÛoJͱ€ƒVŒè•qRæoþ®óí¦,Æ3¬Ë¶?Í•hf) ô¿1ø6a`w™ÜÍD¬G©Ñ -Å€m2t› -hÑ?œÂ‚B<’(™óùZòÛ4–`Žpb¶8fê§AïG0ètªµ`ÚŠÌŽzïÚرFC}`ïB­œU '8Ì!¬ˆÝ¾Jq~jÓöøYu‘ðc¢¨• ù<\9 §rØÇüâ= -håmtÖ³Ö%U/† ®1›¾{`;§<ß‹ôà[W‚–š9jÚQö(9ß^,ïé#`•êÙÐ<üÿ‚‹C“Aƒ£|ª3UO‡ƒW IäóQpÍ`¸•îÈ &ÔÊGè›C PWåÙ„×k]VûfªOÐlÓžÖw¸YÈLåÍG‚ %ÑØþíÓˆ?hN'ËÒ‹ÄA)¶jçÔj~NÄîÚ8Àÿ¨Ð6NðÓKòÿŽr!Oëxl¡†d^ýÄj£g¼V„HàtΞb(£o›¤`Ì’úsâԇƃ#;Šàt-rñºåEh\ÂÓ’S^;ƒ5> ­È¨4—NÓ•±=ÖA@ðoÛoYkƒÊ“AŒz[®¬^ hœE‡Öµ¬[[75—?{$¡Gk.5pCìuœt²öúîïSìIÄÆp蚨U~LÆôSçB -‰»!€ˆÝ™²2º¦]ö†|'^½”X5þÜQi§ø|#…Þu3ÙFðr!e-‘𫊊Õ¼7=|ôm,ÚѰîâîù›Ì\Àñ?FJÅìoXÑÌt׬¿Qÿ¤E6ÔTÿâ×™M|m(ÙC\Ö©ú7ð#Î/´õ]²1ƒÙ6)BNŒËFR`¸WÁ$‡¤æØ4”8é²km|f€1D…ÝGÐÄãšé2JSÀYUóàóUqÜ~9£ Y -XŒº'3DœHõdŸC; ÆuÁú:ûƒ´,ÿ|Æ¿¿2ó‹Saòb? òš@èÞðI>g{âfaÚL‰±HÃûd*|uj˜…» Ÿ0mbßÿY¦öCàôaÌ•ã+`C’ŸkYGlù8qì±BÑ^€ÒãAŸ ]#X°þŒr]ë3Î÷/¿E4´ß¡Ê!Ò~T~LA¼k°’»I'f²KKŽ™)Jâ¶xæ’mòœÜÕåÍÂZ†#š2#BŸ›>-‘_f}¼²š¨éé«“²Îœ±½3Ô]üµmÃÖO¾}kY?5"ò˪”{Ý Dµ–ì%ªI%tn:5ÛdDûSkQ ­·ùjÍ–†.$"÷ê=нØÁ0 -ùYle¾³)#€È º™>=Ì4Z Ã’Æ­2ë–Ñ$FÅ{õA²}¦‹ÈfÙ!~ik×ìU ·­$š6iŸ»=í‘™:¯yZ8ÉWÙE˜ÔK{ì8ÃÝ#olþïÂgNzl¢¹üÇÙ+ÃÔüÑ07:Y%mcͱOòø~ƒ— Q/¹ÀU¹0ØÝàý:ǺC0·rÊ¢xfµdðy¶Åø4¸èÄn£ÃÉá@j鞆‚ËLG0¼*!8ûom'ðTã5ßnŒÆWSøH60¾Ò­Ë¡=ùr3£fŸÉœ”â«Í•Ê ëÉ áð;Ì¢ÃÖ/Љ—¤IøNŒU»³©Ìi᪥$g´ -ö$ü¨}H]Úþ„÷GŸb›Šyæ|¢œœåW–å6~/Ú -'N 7Šî‰²¥ÀØ=ö]èé(c®hîuâ@Õø ˆŽ,xŒïÓRçr½ñ¦³/«Ò\Wx"¦tœ6pCäòbâšX²™z˜ñ0Pù*£S²P¦Ì¾“I\B '†ËãºÅ‰Õª¹£ ]¥F¨ƒY 'pJE šKR_çxø{ ÷E3DvÁ 5k?:±Ú½*9“J0•imTÂZÍ7.x—q*Þx¦”úÙ=´Íèóí¤Ùhq®Sê]!"mshýñQÄãγJ-$gâ7ªK$¶Ö $K’1åNËñ0,·ÿ7’I5~àR'4g ;Uå*·6îd gHs“±~‘ÃSôÃvs¡.¬MàkÌ”pñ¦üFJ#Œº¤¦3 ã:ä±¶F„×4ª•V•ýD;îûH›$ÉÊC)Ä®R_=ƒÙȪ o…xÖTi#œ€Ðɪ&öïÞ¾UôŒM¶ÁÓ@¿Ê‘»'…d.^˜ò¾÷ƒ*~'€)šî®JiQÔ×ÂØDôxÑ -7åú×Ô\*üÞúÛ:|íso@k¬Ft'y–¾;T¿QÚR᎕>é!“UY= ¡t– -0Q¯ Y -¬kV¨üŠfBÛJ@J/éiÄ0fw&‹‹UÎ*ì£â¶xãl¶eEÊcÛ Z³šw¦=ê(ðª¦ÌÏù»åu¸ó1\úuÀžAO0Ø}0*‰"­f¾ö¦÷BbóÅpÙÿ »§ØDE®8~J$~b*»V Þ(¥˜>‚-fêtz D>Y§,.¦‘|»Æ8o“ùb“„c¡××êU f$!‡Ð?ÂDfwwqÝá&¢7œ¸Àó¢æ;UI”€quôhw Z·¼“×Zb£´Ñ%»YaÖetnQÔäçj,Çÿ³sW5­R?"›˜ëŠ.±Î ûêM«ƒÉ#Òüs,Þkæéx”õhoWËciÞ=¿o•¶ýŽA÷‚BHCÿ6DôrVx° hD)"Ff<‚[MÈ'»OÓ ´ú<‘»EÆ· áÀãh‹å6î‡ËñrqrL=ã”ÏHç›PmŸõÄ÷HaAàÙ9:•à #³!à­Ö *k&ËÒC±r­›î½Êy’SäÁÃæ%®AÃ4Т[û Fi#Lp)³ 1v³—€>n¬íÌ_(¢JgH¡Ã“4É -ˆ”U&¯„¬€Èõú–õÊ{[V¬Ð+?Þ²ê_óx¶Ü:¶~¨ÞK¶1vF-Ý”ò<‰Ã™¸¤Ð,¨Å»>³ñfŒPÿ°à¼}jZ ê@þï:å§+ÝqùèlPU,Ü}['‘‹Ô”íì®:ðyª,dwWÁ*}K$g×Ó4 ú^x©æõ¯ŽÃ+oð˃ÁüÞ³H.MT)küA?tah/¢º½ù@b´£Œ‡.T@ã0Lê›)+”nƤ¯>ÒRf'¬\=‡÷^ûM4€„væê¯úÚ¥$¹\ŸÒzÃ-àsìŠîâ=N ²,]fêM”‰:[¾¾\ˆ¢2 &æãUýÖ.æ3ÇàÃ*Cú¹'šT$ŽÒ;IHÐÏñ oùBAOv -{6Ú"g94d²yó…_Iù£¨H÷.½q~VVD¤²¡ÄÔîšÓDRbçYÚe©ó_vÍÏÏI/ ßåE‹n%Cbäá:VC-×®ßz{Cô"œÜjLÑ|þÊIî@¯}ŸvæŒköÈ‘OÀÐìB’xEzŽ(wÙGT"ˆLi tuanšs#&Ixi½=Â?ïÑ­éª8Õ÷¾áÄÊûx)GêÍòéÛ=ñ«Mï»4¾5Á¨k×”Ö}úÃúgèÍX–ÙJ:—ø¯–¸wö.YLLøç Hp”Ï&ûÏï#=£îi£§èÁÀá¨Á$ä -äÀŽã§sî -ùmÀ”/: „ôQs"Š¿ÉƒPĤܽ°~­6Ò}”°KU¬•Ê‚z¯ÜáËÚìÜ¿”Òæ^Ï~£Øjd©U’Š;“)zeÍ$ˆ·;ìtÊ622|ÿ¢ÐAo+jôQ&@š÷LÇd˜ØúaDn¼S‡½1¯JË1LÚìºÊ„É›]NLW¶ª#¨¼aн!A”>Ihzj®GDþœ²Ë†ê¹ àÅM–Ó»½«ÈšÔÆ¡-LÈÞíHz¡xt­¾àú5­L)ä¦?Ø\P–”ÄšóO‚†µ¤I‰°KUBÖmŽIAàëbŸürPh±"Ô™ª±À ]Ó¼/ 6Øe´^^Sró©.ÌOÉPºã¬Ž:P.¬-ª¡mb7E–;ëŪŒ¯‚tGX×èMÚQŽ•tŽp¤Ø#cEk5Ò¶·È+zåçN²`ÿÈ.ŽœñLoÝH¨IÕ^wU…túºg ¡Ô¬6õ›#<)E÷òÀú£qC¿ys\²G÷E§NúÏéNžÜuÖ„xúØ—ùÐM¯ápL’ñ®Kh¹ Ä’<ŒXaa­ -øõXë ·ÀÆ¥ÿCÕÏörç ’‘½Ó@eò2âÍîÙÍ纉½Ä{—ËwQ %”º(fú)ëÆÁ›@蹿<7IøOñ$ý;ÝSŒLRsï!¯&ò`³ o¹8?†Çó6ÞC¥Û_dBïMp¬723„4Ô%QF ¥ÚzŠcÆþ]5/r)Ýò]‹éQ3ï­:(šÍ*¦cÖ˜¢hîq´ßÝR0}’ˆ×ë5þH¨¿úþæÍMŒøRkeQú0Ï.08Yy %øW{¶ec”ÝÖLm”¹çÚÏýcÀñE$âv­÷U¶¤mU}ŽGÃÿÊ|¼M;ýO·'@-îj} -Žý¶!»º´i“o¬¼¼8~³êh®' œU£iHÍEÓ îƒêC†»(i4ßôÄW!ò+Ððö&œ5 ¡´œ+žœgz1D©„1hÝžzÇJMûaªéRƒN*ŽÀäRã–·Ò2Z^ú¡Kà›¯R-°5'£ƒ?æÊåuض!:…±§€C¡‚sֲةݹóÛe#õÉÄox%¨1q–"Yf`×>$yÕ¢Ù³órå»#o-¹­+Ka@ŠÑW×k¿?÷AZ¤®"_ÌqÌ6^ØVAc«i"N°¨|S¢—¶I)VïÀÇŒP³"[ªn°ÜOaHÈ/îãi\CWÆr™Ø¥ýß7·ˆÕÆ9";Åm5MÜãzÉ,Ð@âä¯A™…ÙøÝœ öre–ð••i»QíУ ¶÷±˜êÞíÏÀqÆP}cÕóø0“ùcRIÿò@üÂ%Z8t]‹hûÚ.êè !WîÒéméëÔâÐs£5F&£ÊCQ© ‹>ãå -TœŒÔg2µu-mm2Nf³FAïn²1þ9 ’ç xèP¿|F§í®ò"šJÁ2À·ÐXÔìÑÞˆÞ5Ð,çWÂÃ_¾DG«B‹xL')Â+‹p¶L}¨ûz0©KF«B  -NÉûô6•J"< w*>tLå•ÔÜDÍ 5ãèÐ VÏ ºÊ³éB­ôEÛ/“!Aíô<¬r*%ܾF±èÍWø`ˆ;Ùj4`âEÔÕ{À=‰ü¡õŽª£ˆ‰}Ñ×o‡®F„ñ|sîBtI*ch+CÖÞwf­ -B—hož™LgEq[HÓöŠFÞ'!Ýü=@»šiâ)¤Mô]^­„õ1³ŽRZ[u;²@ÌDe…£óOÚïyeY«Sl«¡ïÕ“ù8Aä`;?!P"¢4Ÿ+ÈÚ -Z°¶Ø\a6"bBÒšåxÇn·SuwAa4g{·?Ñ$¥yæ$s…9õ»àn£Eï[ £¼0ü×Çÿ†ʼ¦ &nòµÈÕ¥z_ÃfõýÌ f²Óóõ -’Æ/~¢G¬ÑMi¸XE0KYŽk”s)¼‹÷XþŒ¼OX}j›ßÃÀ\ùÏ$÷­%©ž-È~š·öl6 ­ËÚÞF׸ù; ¿¼«"Ø6¨o €KIѪ‚.o—;Í#)Šk´ùû2¾F3I¡KkÎÙPp­à(ô³5á)ÉOD[°¨ÀÔ0Oûó+TVT,¤ü-+yÕ*¿ã"U,¦WofGVË!Åi['ýûijöÙh÷¹ÿï3Òˈƒä×XõýU¬HSÊ¢!ö'0ŸšÆ•ˆ€àÈzÎDI½m6äëÕsìfɺ~YòLY7ú?oŸ(Ÿ}ÂÔ À´‹~-ÔÂÜ…#p™‰µbW9Ì‘¢4Ê>lˆQÌ þèn@ÌAmˆèÒñ‡r<˜ô«1 ~›\g6Y*ÆÐfYŸ{Ï0T&~1I=á·¿P‹x‡¹Z>ó -FÞJUºç5¨ÈÈ? .ˆ×BùXûY*Ë•„T»Ã½þSET¾³½˜FXýd¢_ÞqŸ®,ÓJ_)5“f=z¤AVäât½õOÃ'ŒVzæ/" %/­? ™÷÷ÂUÝÖG“ãkf6Iãªúí‡ï[Ï—ùaKt…μk#Ý.>×{ðÔÄ¿²ÞŠk€g3„Ã(¥âæu„¡›ó T‚³Eè%üÿú‘ ;jõÚb}ÖX¾çó”ÏWˆ™xGT “š—wŽ•/ÆÂc‚@Y·jø¥jX¹—DàxßJ:YûoSÌ2„j#½¾}鋜÷Ý.ÅÑSŒ%NåâsižuïhwàKÙܳ»ƒÃû>¼˜ã°e<Î"2ñ<ØNà­å‹4S;!”ʇKU,Qïj³2Ç¢¿/’ôõXd”ª–_Á÷’tÞ.ƒ -f'A¢=à^pïýß+1N§ÓÉÊ?QÿÄTw( € -( € - Ùd7%˜WÿˆÉn²;Ü+ð\,Zifã!K(]*Axg{Pš®SÏÐQã¯WpyçCqòõ (ó~&F»Š“¯o8æ°‘ÆÝCƒŽÂÞgŸÏôH×'!ÆõF„m¼Rc\Säœ?ôw¶õ­ñˆo}‚I» -sï㯗 -endstream endobj 18 0 obj <>stream -è7=ÒõG„pýPß™_$¸Æ+9¾ùI‹p<Bµ>‰PÎÊKÛyÔÀø »2¿èO­ïiÛuκôŸ82Þ(Ðí_€‰çS è³:{ 9 -ýž¾‚I<_eÞÁóÏgÙ9ç;UÖùhøù@ý¨N“v=’¢›ßó¶÷ÌyíFƒl½‚É<ßiò®w’ÄãÛü;1> 1®—ãϯp#Р è¾õ>taºÏ\dèöñ¥õ=l`üOœ˜à¯ÍwŠ´óHêù?sc}”«ŸâùwÖý“çåšõÑ1ÿ^Q”P±úÓ)£ÃµžHßyãÊòÂø#ö>¨ÏLâCÓ‰ -Ïö =3^Iò­Gbtã®ñA|d»ÎŽcöß8gÔ)YO4¸¦ûÜå;r\ytK¯Z§S,pȰ¦9d\8NXÖt‡mKï©ëâyÞ¼öœ2­<êõO£]ÿT'M ßyëÒqÌøéJj±â)ZDÃôiŽYV¾ZE­X§N¬ˆvõVB}izË:^‡ÌKçióâƒîÈ~$Å·ÈŽ¬ÏÃÒq̨xP^Yo4èÖÝíAxg»œXO¤ÇÖ/-ÖñKŒs½˼þ‰òÎÒ3ÓìÆô >´\ÈïlOZ”ã›íú|=PÀÞAç_°‡Ê÷?UâñAwhý\YïTYç?Õ£>UÒýO–w>Î>þA(_ÿ ”¯‡Âäû)Ìì!|úùNw~„}„‚=Ð@~Á¥žŸt8׺õG‡m¾Ð”WÖ á¥õ×ü£Â¶?)ñÍGà÷Ö#øcë™éz§Ê:ßÁçž_A¡!ÔÏgrŒûð¹ý@vd¼Ú–Þ'¦²íB{hüOÝ”gÆý¡ñD{jþš¿£ÖÅï yéAxg=Ó"Ý/áóï°éçW˜!ø¿> -3þþ“{~È:? 1®?*„ë“ -áþ“{¿äÐ×ägz¤ë•áü$Ƕž§-,çYÓ×|¤Â·ŸÈ/­/úSëæÌü;2þIÒŽ*á…`?¡Æ ¯”H·ÿÐí;q[øŽ›Ö®tGM:|û}àÄ| :2ߨ0íOR|óôÂú³«<êåKqÎü)P_Xß'¦ã˜ùÓÓ©R*³ÿö± ÓîÄúžº.(O¬ßYëÊ£`{U4Œ·ÂIû¥>z^ûQcÛîSÆG¿vé _uã•WÝlÝT9kÔéOŸXôG–ëÀiÝpdú]Ù^Ôׯ+˜Äûtúõ 4óz‚k|OÝ—ýÚ¥Q°_´‡–²õLvû…z)”|rê×3ØÄó ²õA|c|ÑŸZ¯äçK€ñçGø ì`âù .õü¢@5þ§ÎL²#ã• Ý~VÇa¡Æà¿´÷#økóø½õC}f¿—žSæ… ®ñEk|\ؾ£ö•ÿÔñH‡oþ‚Ì»ß Ïú;ë}êºú¡½5¾©‘îЬ£.)ÎùAviúÏXïGÆë”iå8`W8ÎõÖ9ÛºuÔ²ò3­{HOG„û• -ç~$·è-í¢C£61Æ]AUêQTêQ\öQlúý 0÷¨D€h~OÛØîóV¶ï yí>nc{Ó¡ÝYìm#þ“¤Ýï#'Ö;=Þù *åü70ÜÇml'ÚKû‘á~§Iº_É0îG2tû"í|¨Í¼ßé²ÎGR|ë£aÔiÔëŸé•íJ‹s=ƒJ=j‚E»«¢?¶>èŽì ówÞºòœ³?Ïi»’FÁø‡¬—îÌuá7X7Õ:EBÅÊ·P³F­ŠŽõUQ3}ÔG¦#H\Û‰Ëø¸,ýÆ…U‹u -ň•o±M« -¢š ó¥«TjETŒj…F®YSS7]Ó©èo¥óæbúvÿøå=x`÷ )ÕUÂĺSEE¿véNœ®Ã¦5Å!ë¥Ñ¯j¦`±ú+Z¬}T‹­›*:¶ß8j¿4GÍÇWŸŠÅM–ÕMWÕÔêWIÝpéSQ¯Ÿ*ÚÕSE±vGì -Ê+óƒðÎz"?4‡mK/"\ÓHâñL‹vüÜú#B8>Áãß$YÇ+=ÊíAwg;ŽY–NÙ_Õƒç•#-ÂíG‹l=Ä5}è-OPi·7Ýë`ÚýÙz‚iP^Y¤7æûÐ}ñLŽrPÀ =²^‡M+¿ó«zàÂtœxƒþ"ÿgÆó´‰é;m[ú ^zƒ5•F»®¦C}g¾Ø®£Æ…ë¬uå:i^ø^¨Æ#HLÛqƲîu¿­¢[Ô{'kçaãwмt´­œ‡«Ïs¡Gµúû†ŠOo¶péNW>ô‡ÆÕåE‚k¼!›O´—öõ•QwÔºøž·/?)ñÍoR¼ë™é|šyÿ#]dwÖûÄ…õ?ud¼ÜØþSGÆé¡ùP™y«ÑoR¼ó{à¾øŸ¹±¾irŽ'ÚSësÐ\àAzc>ãœÏ€’ԣ&€¬óPæý -$õ|…j~Ð]™O´§æåñ®iΚ–4ÖO­.¦Z¬WV,t⸦~ü¦?zd7ÎYV•Ž—Uôë§Z÷)+Õ‰k•ˆ«¾âDTl*E£J݈áRë~BÅš¢ˆuJ„‰(šO¥Ó¶eµC×5Ý©ëšòØuá;w\Ò›¯©ÕÚ³X±Z•8±ò,RÜtMµ¸Ñª’ºÉº§¢.øQ¯œ*ê•SÝlI[¬y k &Ö\EŠúP=Ïn µ!k-«T\»P.T U·Pí—ÕB½3T=»P ¿t›ª…j¡ú!)ŠÅÞ‚—XW ?B(t(ª…¡4®5µ,« \c`'~„¢ Z™•á(ØžéVži¨W–éµ,*¨­2?BwÛ°m·³M»6ü¶0ÙÛ³<ÏõëÆr ³pí’Ѳ\¿3·¯üÒoÛ².ý²/L»-ûÖï\Ã-ÛÒñìÊ,MÓs=Óó,Ïu-Ão]×í\Ï/ݾ,]Ó,LæÂ0LÇtL¿$Þù•é¨ú}_¶…ɺæ7~ëfáno ®üÊp“ˆáøÉb–¦Ý¶Y7¦ÉfÖaºžÉJ@¹;=ÇuM¢ŽíXfkØ­]¹Žm—vaZ¦kZ†ëW–]›®[6–i8Že8–e™–ex–ax†ëúegÙŽéYžÙYžeضiv–á¨Y†gZ†YZnm٭阥åºfk†a¹–çZžß÷k›–á·nYZ¶c;vYz–ÙY†g¹–çYžeXfe¦ešå9–aXžeX®a–a8ƒ+Ó3ÛʬÛ1l³5Û6;Ï1L·ìLÛ2;Ç4+Çr,Ç6;ÇôËðÌÎð˭˱ýÖ/“€c†c¸vi8nãŽß7†ÙW~ßX~cºŽßX–ݘ}cø•[¸ŽkúeÝ®YÙmÙ·®Ýøµã6–çšmã6~é¸á6–é¶v£lX–e†åºá–k†iØ¥aVža†cÙ–kÙ¶Y¹†Y†i9†áV†axnÙ†ažßž[®eû}aٵߙ•ížk»¦ÝZ~_˜žßö…_øá~å×¥eÖ}aÙ}ãøuY÷•]÷…å(¸†m9ŽcV®]X®Ý˜­]Ùv]¸ží˜¥]xng·†[{vå™c¹~ÝÙ…_y~íÖ…£äÙ…á ó,».;Ë®ÌαÃòë¯ Ϭ ·®mÓlë²­ Ó­ ×î̶®ÍÚ-\Ã2k·0œÁŽ_vÙÙng¹~Ùº…£dZ®[ø¥ç¶å÷miøeé–nava—[˜„ü²s ³²Ü²l»³ËÎrÌÆ-ÝÆ-·ðÜÂ2;Ã-üÖ1ÜÊ3ܶ1<Çì<·°ÜºtK“˜åÚeÛvn[¸fe›žmۥ뙵mÖ¶kÖ¶eÛ~i›•kÛ–]™­éù¥í¹–[7жiVfå™Ý™•çö¥Yù…c˜•mYže{ž_V¶kžeÙ¦iYŽm9žíØžY9¶]vl×,Û¬<Ãv,Óó+¿6lÏ$b˜}m9¶a9®]›¦å–}m›+Ó²ì¾ò̺¶üÊ/+G¹¶k¿.ìÎrkÛö,³­=³³ìÚ­ÝÚ¬϶l×ò,Ës×oL׬\ײ+×u[×s³s Ûñ\Ë6K×qM×2K×òÜÆsýε<·óìÊ/+˳lÏ6×q]ǵ¿öËÊp=Ã5<»ï ×u¿õûү̺rM»/ÛÖö˶m]»lûÂï+³mÝÚ³lÓ/kÃñkÏõ;»$䙭鹦繦瘭é¹~a¶¦ë¸­[˜­í÷ek×Õ¢c™ßš~iú•mØ…Ýx–ß–]™¦_›vëv~k6Žéø}g˜}é÷eç—…áv¦aö•Ùù¥ß—žišuiWvaz¦eÖ…é˜ëÙuéÙ¥_—¦å–~k[fg:nk9¶IÌ/=ÛsLÃõ;Ë/lÏm=Ëîk×/mÓs ·tËlÃr=¿uýÖl=Ë­=¿6[ײ;×­ Çïë¾°=·5üÂ5ÛÒ4ͺtܾ³ÓñÛÊt,³/M×ì;Óò;»6\³°íÎ4M³0ýÂØ9†cú}ãŽbc4l¿0ÛîËʰ-Ó¯ÍÎqÍÆ±-·r+ËôKÓ2L³2 Çðû¾p–[¸¦ÝøÙY®e~癞i›~cûiÛcúegš~ez~c9~Yš~á—fmú…Ûxvå7~Y·~Ý·~ã×mÙ·Ž_8ÃLGÑ/ûºð+Ïl\Ç/×´ìÆvÍÆ,-¿®üÊõK˯ϳM×oûÖð ³sýÎðL×5MײlÃ3]ãP/MÇ5KׯíÚì\×/ìÎuýÖõ[¿-ÌÒuí²´Ç0k»0\¿rýÚ¬]¿oÛÆlk¿p†¶f[Y¦aÖuß™ue7~é×ng{–]–víw~íצ_×–a™~iÚŽÛ׆[›[yŽcú­çZ&!³°ýÂ¶ËÆöÛs\Ë3ýÚ/-³²ýαý±l˳ýÎo=×vÌÚöÓ´l³¶mÛoÛÂlÛ¶2Û¶mëÊ6ëÒsL¢…mnÛ–fáÖžina8ܲqÛÖ®ü²q[Û,·q ³qû¾q[Ë-l³tÛ²rÛ¶ìÜÂp»eé†Ýºmé¶na­º…á ­;Ï/ͺuíÖ,,Û.í²µËÖ-+»qˬìºö;Ë2;»2K»óL»nûÂQ²ÍÒ.\ÏlíÂ/<Ó1ÛÖ/ Ç4Û¾oüº0íÚµë¾0œ!naö}a8C̾o-³/LÛöûÎtܲµÜ²5M³ñ Ãäמ]¶–_Î ¿¶üÒu³ókÃìü¾5lϰ<¿í¿ö[ÇílÃrËÒok·,MÏô+Ó³ìFÅ4[Ïlý¶­=×qÌÚïûÚ4k¿öëÂôÌÚ/ g˜á¦ãºfí—nÛ¶á™u]™uá7–Y÷¥e—fÝÙ®Yú}aøe_8Ž[¶f_–Ý7®ax†Ù†éø­í˜a†á ôüÂ0íÚ5;»®íÂ,íÚ6ìÂ0 Ã2LÓök³4 Ã躮i¶žg7†aø}ß:®ë¶eã:nç–c¸Žefc¶vß™–ß™cØ–Ù8†ešã®a¸•åÖfcúeiÙ­_VŽáÖ…m–ŽY9†a¶¶mVŽÝ–gÙ­é™ãv¶kÚm_–Žé8Žg;¦YšžaZv]š¦cY¶_¸~YºÛ—Ž]—¥é˜®Ù9vm–Ža8ƒÛ¾$äZžÝ7–åZv_·}[»fiØc¸µeØuÛÚŽí¦aw–gšµß–me˜vY:¶Y;†á 3̶2]×òKÃê7þb³€ïî<˴ݾ±üÚ, Ë´k·±ý¶0m³n Ï5K·ð;Ã0 Óö\·-,Ë-[Çs\Û,M·tÌÒ²Mâuc»Žawfi–†éÖeë¦a~a¸­ßw~á·eeÚ…áú•aX~]–gÛma8CûÚ4̶-LÓ¯,Ç,lÃu Çrݲ5-¿s;×6-³²Ý²µM&Û¯ËÖöû¶m Ûn=Óñ%ËdôlÏíËÚ3kϵ Ïq-»$f™•]¸fe(ú¥i†3Ô1+»ôL×/+»3ü²¯m˯KÃQðL×/[Ëp,³sýÎ-L×o-ËóëÒvm³tMÓ.+Ë0Çó[Ë2LÓlMÃõlϬ=³³ ³ó ×¶;·ôë²3Ï-Ó4íÒôL×uë²qG‘iºžkV~ëyfgÚu[Ù¥iv¦aÛmeºnY[®c:®ãwŽYú}Ý–µç8®çÎ@ÏvËÚ3\϶ËÎ4=ǯ[ÇrlÇö ÛöÌÊ­ìÊ0ÍÚu\Ó¬MϬ=ÇoLÓõ ³µm³2MÃuý j7fëùeÛº†Ù¶žkº}_ø…a¶­_3-·0Kñ Ëð<ÇtËÒ¶,Ó³ÛÚm=³óK¿2]¿®Mϱü¶ö ·¶k³4m¿,Mð<»pË-,ÛtMÓ0=¿p†¡®¡¨¸éÖ•íVžë¹i(ž_–¶ëضc˜¥³t(v[9†c¹mã¶mÙöë†ç¹–ß8ŽëÖ­aû¥]7žå¹~ß)¸Œžç–•£æÎ@ÃPo Ãl-Ãp¶!7ªª@×ô·òl×°¬5×3m»lܺdoí²n̾5+×2ÌÒµ––ÌÆ²ý²²ì²³üÂd,-·.Ã3 »´K·/ Ӵݲô¬ϬۺtÓï,×l-×ôü¶4ûÖsý²5 ϲLÇqÇ3ü¯M³vÛ¶°ËÆo ϲ=³ñ,».ûÒ4Ó¶mÏ2lËòÜÒ.mǶm³®ëjÙ/kÓmM³nMVÓì[kÅ-ÛÚs<·/·qLÛ4[Ïî+Ç- Ë6Ç4+Ç,Ç2íÚ1+Ï5̶´ü¶6;Ó¬[³pݲs ×õ<·ï;Ã/Û¾ZtìÚ¯ Ãr\Ó.,Û4¿6ÍÒs=·-mË´³5™=³ö,Û°]ËìK×°–<ÇóìÊô ÛpüÊ®=¿®=Ël »tM¿¬û­\Ó²M»µl×t<³²–\Ïn³¯ ¿´-Çôl»rí²qûÂòܲ¯VÛt»µ<ñí¾l=·0Û3<׳lÃ6ÜÒv\ÛµüÖ±».ü¶o ¿ð+Ç­Vì²p̾Zô;×õlÛrlϱÏ/-Ó5=·6³³–]Çï\Ãr[×íLË, Ç,ü²rݶ¯kÓ-Kk½r »1ûÚ¯=ÛíüÒ¬û¶v+Ëð Ë/ ×ï+³1­E»1-»v;Ûñl·v\×u¿okÃì+×0·®ë²°Ë¾¯=Ût;×Z¯,Ïvk·-<¿³]Ë´=³ö;»0̶ó<ǯV[Û®lËtü²­­5»nûε;Û²ìÎõìÎöL¿d¯ÌÚu,·µÛ¶¬ kÉn ¿îÛ° »­ÃòÛÖ/ÍÆ®Ìºo,ËtÇ­ ·³,»¬¬õ¾qý¶ðlÛïëÎ2 Ó¯lË0ÓZdZddóüÊ®ý¶,]»µ,³ò<¿. Ó-[Çt ·,íÚ4,Ço Çñ[ö¿u=ǯ<îm·í,Ãö+¿6Ûr;Ãvm·. ˯–<¿ö ·2<»­ëÒ®k³5üÖ³ü¾pÃöü¾2,¿4ÌÆòKÃvì¾6Ûs ¿/üÒ4ÜÂô ÓuýºõKÓ-lÓõûÂv=·.[ÏtÛº³m»uk·®ÛÒtL·¯ÛÒî;ϵ̺³û¶0=Ǭì¾rMÓ5m×v<³²+ÃõÌÚ®ÖÇq Û4ݶrÛ4<Û5íÂ,×/ ×ñ õÖsìÆnüº6lÏ´Óî;·óËÎZomÛ2ýj½®ëÂ1[kÉó\ÃvǶû¶sKkµ² Û.Ûnû¾-íÒq»²L¿l ¿vÛmmË, ¿--³/üºvý¾ZuË2-Çò;³v-»²M¿3̾¶Û¾´Öë¾ôk½±-×´[×óKÛôÛlý¾²»°V,·u˾5]×4ûjÙoÜÆõ˶íüÖ²<»®×1»ó\˶ۺ­­ÅÆñëÂ6+kÙòüÒqë²5 ÏîlÃm]³®×qK»l+Û¯-Óm,Û³+Û¬[Ãî ·³]ÓsËÒ²üºíLkÕò+×p\×µǯ̶s<×2<dzmÏq]Çq=˵ÍβÝÊ®ÌÊZò¿õ+Ãî¿®ÜÆ2ëÊölÛó»®–KÏ.l×4l»ñ+Ëòlϲ·­üÆr×® Óô¿°[ÛoìÖuüÊ. ˶[¿m]ÏoíÖ°=×tëÆ­l¿v¿­K»²kÃ6ì¾5ýεDz ËvK»ô+Ëïk×/\Ëñ̶¶ëºs Ûsm˵lÃsL»­]Û³ Ó­üƱ+¿óûÎ1mÏuüÖ­k»ô\Ó/<¿±+ö Ëñü²rí¾öì¶-,Ó/Ûuý®DZìÎvûº³]»ðËÂZ² Ïñ\·îûÒ6ÝÂö+ËsÓóÏï«e¿uÛÎò;Ãv-¿5 ³ñìÂ2,Ïp+¿P3m·ríÖ°ǯ۶4ÝÒ1]Ó´l·µÝ²ô<ÇplÏ.lË6ÓtÏo[»´KÇóëÚöÜÚn+ÓqLËïìÖïL·®Ë¶ñûÊö\·õkÓ¬\×. Ï®·ó+Ç-»óÜÆó,Ëmü¾µ ¿3LË6m»6M³ôûÊòlײ ³3ìÒpÏv¿r뾱ݾ¯íڲͶ0]³¶Ö+»o+Ë-ϱ»õlÏµí²´kÛï ËlýÊZZmmÛ®+¿¯ ×dõl×¶ËnKÛ® »líº¬Üº±íÒµm»ïL³tëÊ5\Û6<ÏoKÖ³MÇòkÁ±-˰ë¾Z¯+×o[·íûÒ4l×ðKÃv-¿o[¿1 Óqm¿³íÚð+³¶íÆmýÚv=˲–³u,¿ïl»±–ÝÒï;Çr ·t˶3ìÎvL»6ûÊ®Kö;·´¬ÅÊ0üζ·³ ³1,Ûml³v\·î,Û¯-¿¬L·î;Ûq[Ã4üÆï<·s=Ûq¿ìüÖ³ü¶´[Ïîë°-·/Ërû¾² ¿-lÓs»m=Çl«åÂs̾dslÇîÛÒ¯– ÛqÛ¾smÇvíÖµíjÙ5 DzÏ4 ×pMÓsܺïüÚíìÚö×¶lÃo-Ãvk˶üÊq[ÓöÌÎí ÓmK»± Ëq ˲ý¯ÍδëÊtìÊ5-·s;Ër Ã6 Ën<Û4ìÆ²;³°ÜÚò;»u;ËöûÆ5 ÓnÛ®ÛÚ¯lǰý²sí¶ó+Óó[î=Ûp-³ñìÒp캲ݾvÍγÛÚ²lÏ0L»n,Ûqüά[»ukÏñ+Ûu+»l]»´ »³<Çö ¿0;Û®Û.,·lm»dö¬åºvËÒZo Ï/l»õkÛ¶=×tû¶;Ïõ˺ïÌÚn<»pK¿Zo[×.ýº²l¿5-Ç4 Ûr=¿ôüÖ­]ϰ¿s]C½vë¾-\Ãp<öì¾Pn E×6=Ïó Ëll·4̾¶ýÒ´ü²°]ׯ[»llÓvüºqÍÆí<Ïok¿3=Ç´ëÆm Ç0Ì´K6×mÛήÖûÚ­ÛÒv[ϯ;Ûq=Ûðë¾u+ÃsmÓv\Ç4-ÛðLË,íÊm<Ӯ뾶íÆomË/[Ûo[ϬkÓ¯Ï0̾vëÖ1ÌÎö\³³ÛðËÂvýÚ,lÃvüʯ]Ë-ݺöKÓ± Û3<ËöÌÚ®;·r\׳=Ï.íÊ/]×öûÎ.MÏ1-Ç´ÝÒsmǯ,϶k»4\ÃðlÓpLÏóë¶-ûÊ­[Ç´ì¾0ü²nì¯\×/ ÓqMËö<·6;Ï-ûÊ,¬%·3ÜÆµKˬ=Ï/ÝÎó;ôËÒm ³r 5¿²MkÍo,Ëuý¾4kÃm×óÌÖ/m¿.LÛn-¿í ÓrÍʶìίÜÚókÏ1뺴ݰ;Zn˾¶=×uüÖ0+ÏnKÛ³[Ï´ë¾ðë¶.mËtL³± ×µ–l×1ìÖ4ìÊökÛP²û¶4ÍÆ6ÝÖ²;ÏñëÂð×°\Ï1MíÓt ϰ\ϯýƶÍÒ®ÜÊn=»1ÌÚuìÚ´lË. ³nMÛ² Û¯ËÎt+Ëlìº/ ³ö\×3 ¿®ý²m Óõ,Ûô\Û°ÍÂo ÏvÛr;ÓôKË3+ÃðûÒ3k¿/ Ã4 Ór+»³ Ëu;ײô]Ë6lÓ5Ï1 Ûð\Óò;¿rûÂñ,»î×í̺v춯íδÍÚsë²4í¶2]·.Ìʵ[ÛöKÓ/ýº]-kÛZn;¿°ýÎ2ÍÎn]»l ·¬,Ï1;·îL·l«DzÛ3MÏtL»±lÃu+×´ÇZv\³3»qÓ±üÆôÃ­ÜÆol¿u̶u[Ómûº±MÓ2;ðk³t åÆ/LÛpìÆ.,·óû¯[Ûs\·¯·ï¿3ÝÆqÛÖñ %Çv<ÃoÛ¶l,CÅs\³m]ökÏó×m=·1ׯÝÚsûÚó+×5ܶ4ëjÁµüÒ3<Ïv<»°+Ç5<×0MÓðl»±«e×lm×íLÏóÜÊò캯ÍÚ±ý¶3 ÃsÌÖïkÇ. Ó¶íÒ2ÔÛºn»¬;Ó±ËÂòë²­³4 õº®ÓY:ÝÎmÜÚíÛÖn ·- Ós ÃpLÇò<»ï[ϱÝÊì«õÊñ·¯M·ðëÚóëάìÂoÛ¾. EÓ´íºpüÚ´ÛÚ²íºð+Ǭ¬ÕÎï[¿. õ Ã. e¿ðÜÖ-Ûε+×í;¿]ZrëÊ0]»ôìÒ/L»6=ÃP5,Ï2×´kÇíüÚ®íÂ/ÌÎ5”ûº0” Ûs\Óðë¶0ÜÚók×ïûÖô UËöÌÆ3T\»mû²ò³3-¿ð<ÏP2ü²³ åºð Ó­ CÍ6kÃ/ý¶òkÃr<³¶ëÚ°ÝÒ/ Ã4ÛÂm¿2×âØm߸žeÖ…ªcŽm—µ¡êö¥åžç7~ÙÙž_xž_¨·}_ºm_ûeeXv_9†éX®íùáv~a~]ضc8~ṕÝö…íù…c¸†[z®]Ønã -®c×µ_[®_¨Ú~e¶~iúµë÷eáê•g—¦ß¹¦Û¸~áúe_ú­_—•e—~ëú…ŠÝÙ~¡ìö}mئ[÷µÛv¡dšmé¸¥áØ†Ý™…ã8¦áÚmÙvv£¢ ì8~ß·¦í†k8žc¶¦¡ìwVSƒ+KãZ[Ë¢‚M¬uqE}yq¥(3K;qUvuf6u3³’¿Ö¶Àò7váµ2.­4.ª+2°Y\V ZYË,ŠkÌEÖØ–‰ދŕØ™‰+2°jcf$®Ü¸ÀÚ¸Ò¨ÖÊTh€’][«nYš®i–Žç8žßº®É´^Û¶çÙŽ]²Tî–J*=ün1ör¡y9S&œ.¡@]†â˜«HÓÙSmé¤ÚQ&ó Aû:Jd…ýÜ„qWài×ïÄqáy倂Ør©ƒð¢™³öxøõíÅü>s.,9®¶¬pŒfn´È– ¢á-“Çéˆ0šº„P@i1îß`…RŸ¦Á±óbvð%ª\úv“HÁ¦žïti×KÀ¨‹:Uh~g‘ñã^nðZXzübY†üû™9`XÕ]&ïÖÉ"îFYÄõ3;v,/<ú[Œÿ‚£Ÿ~Á±_eÉñó]vðº¼.f‡îfˆOffÉ®V¦I•fˆ~â÷1–Ój:¥w:ßeoƆ¾ùˆ2Ÿx2œ8턯¡Læ¬\Þ°`â°\Þ°dâ¸hÞ#ÀpæQ]@ù©/0ú_@ó_:ñe>ïJd®AcÆß^!‡`ï -Qä+ä°`cЯ“TâR[BûY8÷`2ui`ä&Ȁ⠾tÞ€$î6•Jœ–2yøÂ95aæ3¦³•ËÜC–LÜC–L|ÄMÝÄšN0ô¨2¡»‰3´ǽ–L¼~R‰ÃDûZ,õX0q—È¢~iGEJdû(ïzM({+)œY7•N=Yø–T^6÷v"?G ?Ga¾@3¯_b¤ë‹úÒ~ 92j„LÀ+N&wi>uß̽ÌËmË¿×!¾ÍÝDP¼Ä¡7‹bä;›¹ àW€K€ÇÔfH¥ÖÔÈS,0ㆥ<Þ dèåL™u8F¶[‰2fyWàa¨;¨Á·CÑØk‡òx î @÷؇¼$ot¸Æ3ð¼óÐÈëƒøÆø¾/Ý(Q‡z±ÇS¨!˜ÄÇù¥ñF„l®`â-¾|ö#ÆpæfüíL˜s:ä[3aÔ)è Ô€îõdüõrF=DN|Ä™NÜÁ ?²0<' Ò+Û€ -æ¨\âT]fì$ÄpjðÁ¸_(`Ð_ ™×C…æõbøõˆê1Ǽ‚Â=B Á|v2ys ‚‰ÏL$sÖGb‡.˜xŠ4 ¹TPÞ¾by·JqW‰bN7¡Ä;€ÉœŠ(É[Ðq¨7ÔAxùœ¦0Z!!F`¯à’¯C>B¨ànAG¤o{4î-GV2™ÏJ(qØHdN;¡Äá"Œz‡*•º‰=K<ªÒ"Ü?ôg&™Ì?LÙÄ+Ì8d°é·O¸!¨ÈbOC> À7ˆcÎ -&.BËfN'‰Ô1`ØS¸èGñg/¡Ìá"‹;P@AfƒÌ½Þ‰òîÂC¾A'ßRc\ÏÔH7+qÜ3ô ô)Äì!¼˜`#¿ÐC°¿ÄóŸ*íhò]9MÒýC|i=“ãœ_¥§©<æ¬Ã&É:ÞéÒŽo‚t‹(îz îM”v»R"æÞ/”wÖãaI£eþ4‡íê^’œÓé)’ù‹dQW°™·é™é;l]÷Nœ×ýcWvï¸qá8fWR7®iŽ™VØÕtÇ­K/2TÛòÀö¸-Ü/lâ{²¬cÐwðù·?UæõHŒoŒu`ònúLŽr¾QáZï„I×SÀÈñ8fTL Gp¸ÆÛY0§*ÒÀÈc%¹‚̼>Í7"tÛ*ë| 5y > ù¦Jº⚎äè¶gð‘¸ÛN.qV4o˜HdN¡†¡+D‘§pcp‡úìsòö”ËÛ¦R‰gðaÈCyòí ^ôé4Ë›D˜Ð»D˜Ï|>"™3àìã¼ä+Ü(Ü1ì@Üe%‘xL¤qw‹$înîN“xñ‘G„•ÍDM\V‰·>y €¾’#œßôH‡´ØÖ³<y^>yU.s#Á6ÈÎL7Blã%äÜA|é¼W”¡ÈÒ‰3¨Ì°ãww0öqE‘|þξÁ¥Þ„Ð@¿õ¡È[ÈAhTø†ðmwš´ë€úõrõ­ñI‰o@ùŽÛ|§Êº =2>©qN ã¯êÇK áçgàQØ»=} 3}¦FºÞH° B¨à.!F`¿SoðÙÇ_àq8ÁF Q![ïTYGć °O2ŒóæÊpÆ~¡=³§Î:~ B=~’ÈC…æõ³~Â?¾ÅP¾DO<Â@=‰®W0™÷;EÚY 1øsHb©cØQÈ%¶ñ>ucù Ù [$ò–Lâròj òf 6ðÜó—ëø–z~\Äq¯—LæjîHŽn»Ð ž—G¨!˜ÓQ,ïW:oV£ÞÀSs¯ÏÐCQg{,êròdöO“x>Ó#‡¼†høùhú@hÞõPŸ}|†ˆû†*–@zcüO^ÄW‚Ìç÷rƒ_qųo{4ÆC õ: äna¡¯àQïO:|û•ß~§Êº¦È9÷Ç"o!!ÿTi×áíw&Ç9¶žèOgMlçaóÚuδòœ²,<‡,kÏ1ËÊ{è¾ö ¾1>êÅß7YÓ*Ÿ< /žý/›wÒãC†5Õaã’&AÊå/Ç<ÃC>©±G‚„ÃxêéhôéO˜wü„…; -0Ÿz e27*tëƒòÊz'Í:žr¸ôH·%¶ñO—vý~»‡º+„qêç;]Öùj òfòvò!¨Pö­Å.¾J÷r£±ESoê§=¶éP1ôøf^äU_dð!ÈlÞo’ÆBè_¯Å3/a%³?aÓåR—:¸SÃï§@ƒ—‰Hæn(òBù\ ‰=»C‘_ Ùç+¸äÛ-à0Ü1è8ä#àðÓŸ>ñt À±û‡ ‡Š¡ÇÓQ*§µ’J\Džf_|@$‹fN/¡Ä)Ð(ê3Ó“áø¥F¹þèðmOðx×?õë+äìç$Ž;ˆ.š¹ ,žº‰19l$2·PÀ¡þà³ÏO ‰×3絯Ó-tÒ¶îizÜ’$X\Q|PK| ½!|òfömÆ]¨`¯T8çå¡a-)¾]5àÔ£65ÒýEh¾Ó¥/Цž‚Ë%u>2™ÆíÛø§Ê¼þÃ&È:¿È­gj¬ó%Äìá Š=„{>’#[ïc÷ÅûÔ…ñD|h¾âõAç__A¡°oz¤#òSã‰þØv¥G¹=É1noð™÷_èAØ_ØaÈO!”W†”Ç?5òõ†i¿O\XÏÃ&¦ï¬éD|gT º2?Ç,+¿qÑ[­ÿtj*±bZ±©0®'†3¯‘\Þ -0ñŠÕ&ÜÜŸ*õx!>5})Ng‹$æ† æ"aµuåÇov@,<‹¾„M^ À%Gº¸0"@µÁ§ï*YÌQxáìCP¡ìYˆ<ûz˜;l[úš[IE¹ú©‰3zÜDòVð‰§?mÚí‚ êv–JCF\Ž@½5`Q÷ å2ñeÓDÎ]„ͽN©»?yŸ~>M¾jSÏ7dû“ã|Ÿ|$RŸDöf J€1È3°äó%„ú@ ãv @y  êHoyQ¢®À“AgŸNFb¾!ÊæTĘ7Þ…† ç.;™¼5ühÌ•åø ½³}èÿ¹#ÓðÊö¦G:&É9žÁ§?7yÌQ|ÕCtáÄk$™÷ -,/x©,Ÿ‰(œûP¿~õ­¨Ö(,*ìÜŤ¡n]!·È2C¯ qGð·'ÆýF…n@th|R¢5‚çßoG ßô(÷õ­yx2Ù›¸Rù‹¨RÙÇFy£@8"¿µÁ ƒK=?Ad‚À6i‘M&¾†„NÀ¿ÁduÁäž¿ *çS°è»@u9ÉäýqÔ)Ø(Ü,ñxŸ¹0^H F¢È“˜‚Ùw¨r™;MÚõÕ"¼ð£²;'Ë9ÿçN¬¿ÁÒ«V|ÅT4Œ·"TÛ%Ðäå#ºƒ{ýÑ¢›®ÃÖuGÁüª,½*çLK*ä—–¦ÝF‹lùÒe\~AÈa΃©ñgaÑñ³CO‘E³¯‰DòH‡qH…qG‰n<ÜW®ó¶5UŠ”Ëß#y+—{)“;P¾ÿ¨ÐM(ïli1î—0ƒPw‰,ê -(Ä01—ÀPo•0â¸\ÞløõO™v}|û›¤1ïpEóE31e3'!es'Q“ïÐä2 -èá™õ;k]¹OXdGvá¡aä1ÔPä¡,÷ž÷~Ö¢Sð/úSóŸ*íü^,ó[4o <s¾°{îkÊc÷… é¡ñB÷^^Ü(ØÀÀ§Ä„ö+Ð|ò´dâ/G‚ @ -´O·ÐÃP¿Ð£p‡8ædúH‡p¾Ð/´§–O Q¸¯ØC¥Ÿ‹Dî%ªhòVT`ü ¤TæeéHŠn=‹//ø)04ô6Èä4C‰»ƒÌ?ÿ‰ROðx×÷ĉé;l^:Ôf•FÒÈÛE${ 1{1=Hïl‡ðÙ÷S˜!Ø7èäó“Ýüœ1úúßV8_Ô›çÍkG2|ëTêýN“uÿPßYŸcv…GÁzi´kŸ"\ó_ Œá†Ÿ¿)G¡†`O!L¤q·›Hî¤Pæ^üõHŠnѰÇÃÊwغø6/ˆïìjeÞßtXG-â[ó— éþ‘zTœ¿ƒM?¿¥ßO!†à_Ç ¯ÁE]Á'ž5ë¥Ö+)9m¿4AåÝþA‹¥nG¡Ìc"úŒ¤ò–@cpGJ„ã„òåµËû„™Ï|ŠÌ _ÚôOQ¥³‡°è+!ÂQîÄú"@¶ýƒ—Í{ÐÝíѸGx!ØCðüó¡,ù˜ë^ ‘yëc‘g ™×#Îífú³‘HýÒ¸31Òù¥u8€²—4¶yá@tf|ÐÙï7Ö÷´‰é:g]:eZ9NX¾Ó¶¥÷¼}ñ?rb½‘`›¯ÄøFí¡ûÚWœEÔš¯ˆê©ëâ%Ìì`æý9eZøºçÒ›+=¿¹ÒóuJÅÔJ¢C -2—<ê*ÖØ˜’óy·AuŸû‚̼žÁ垟aÇ!O+yÜ%ÄäŸ*ñú=„ÏÀ¶-=úÅK}æÂö£B7¥D9Gì*¿q¡Ks̲ð£Ã·} B]i2n×A“â”ùÓUoÁbMáaÄÊbC‰5G‘" -ÖWééC…hxÏXŽsFöÔ…Ý?{aú ]ºREI­STSÑ/üÞyÓâòÆx 0ùX:ñZ'òsÓwâºð4xO›˜Þ÷Åý©ùKþ\Yÿ#g¦ å±írò%μÀ‰þØö%GºÝ=€1af3fóv…(òF†lýР„}O”z¼ƒÏ¿}‚ Á^Œ¿ŸfÞN—Þ#çÕ/5ÂQ¦ý9eXxN–dgæñýMˆuX ,õ°œñ|¤A¸Ÿ(íOàH÷'ÎõD€h8kÔéÍÖT*JæS-MÎå*°tö$®lêM‹u~]ZO´§æéí;m[zÎÙÖmdø–;ˆÑÇËK"óÚ %.AÆ_oTȶá5èìóå"‘ú…õ&G»¡?³ÿ'ŽŒÂ3ëßx¨Ë>ßBž¶±$Å7çß/áð'ã‘ß|–}þ‚…†½ƒ}ocýΘî3G¦݉õ@vd«OEµþUQJ—oQ\`è -ÿx£¿7²¯=(oŒZˆæ÷Èí:i[8Й"ˆûäQW`éàóoWP™×7AÞíE~jÔ»2#B· : -û 9ù'Ë»¹²>èÎŒçKë‹úÜz¥Ã9'Ê»*³ÏŽ¿ý‰O.lÂ+Û‹Ùö£Ã6D9_H¯Ì÷©ÓèÆöŸ¹²ýÇN¬§JUE¿viPÙŽ¹Æ[Î)ÔK:|£RAÈkèaØ/¨äë¡2÷z‰æôÎC‰{ÑŸZodÈæaÜ“ãúŸ¹±>è7"lóÛü#Ä5ßhÍýq¨´8ÇóÀqí8fT\'.ëÒÓ{èÂò·¯ûÈnoÐÙçCuêù@|eyì–F¿öª ?3 -Fޞȡ.†à>á†à>¡Æ ?¡Æ`|@dnâ ç^Å%Ô/¡E“o°É÷Ceúõz îðÇ}Á¥žå]ÏÁI¥‚J¦N3‰Ô[ŠýÒbÜï'ÖñýP˜{T 4úˆúÔü™ -åÔ1¦%Ö„Þ®`ÞdöH‹oüŽC~”J|Ä•MÝC–LƒDž&_oTÈÖï¸ué;oZ9ÐÞ˜áÅ_OâK&/"‹eÏ`óî×is¡ç¬aáIoý‚N<þ¨_¯ 2¯’;ë…îÖú%Ź [/ô7–ƒ–•¯÷ÔT4ì®Zðo'¡@ )ÍÄò~šÌë™éúž·°=ÊE½ðÆ|§Ê:ÈŽ¬ßqã‘ßö ?s`4q_8÷ T0q…úS¥¯´8×;MÞõŠp -.ï| <D1Dæ|,ê>÷‚ôÎvܼ ß| 1yÄþ)Rϯ@ƒ°ÏðãoÐÙ„wÖºõGˆo|Y?hÖ ®ñC}g½ž™_4˜Ö¾õFƒk~ÑŸšïSÆã¤ù8ÎYë°uÝ:o[S >°]BÂÜf‚9UqT¿¿Üà©´ÀèMTÙä#Àäݼä)Ä ä‡êÖü80¡=„O?ÉðÍïãq¾²ô¡¾3ÿIÏwà™wå$I÷ ¦!ècûîÄú8º±½ÉrŽoð¢W€©Ç_ÐQس(îfýô&kZE”h¶ËN÷[0sÖÄ}Á‹¼ý(Ñ_r¤Û/ô8Ôß#9 ‡:lÄ1Ê÷3W¶#\ë"õøž=M=*“¯o},òxòHˆnþYï'ÖûȉñBxeT£B5*¢ÛOä—Ö̧Õ^LAé¼e%‘øƒÐ¿}‰RÎC~F©ÏG&s˜H£¾ÀRïG/ŒÇ1Úæ¤aáD}k|…{[0ûV*}z¼NÛŽƒæOúÆô&G»ÞBŽÄ¼VR™CôHâñ^üõPŸx>” <¾ =^¨¯¬ÏIs1ݙ㺇Ïò :u[Šå=/‘Ädî]ñ´yí:i^xƒÎ>? Áž'îK×Isñ­ù 6ùö ? u (êtJ¼vB‰càaÈ7àôë-Ô(œ@ðÈ­7"tÛŸ*íz 3ý -8 ÷0y•y=’á[_4˜Ö -1ÎõPš{~ƒM¾ß0®Zã(ïz—zþåQ¡ÚßÄhç7ØÜû¡4÷þŽu¿‘`›_Ä·æ'ÆýMtÿR¢œï$I÷!¾ñF‰jüP YŸ£¦5ÝËÊ{îºvž¼®©OÝXþt™·£@ §vÙÑG‘¡‘·Bq&ǻ݈кCã‰öÖú¡»µž‡Ík²#ë™éú¡»>“cÜtWæÑyþ *ñ¨>r^½Ú–íò§9cXºÏݤGÆã”Q§9f.¦IŒp¼’d›otȶ/1ÒõN”rԧʼžIRŽÿÁÛyÞºt¥H7ÞAž¢˜OÀÈ=¶é@|eùžØþC7¶ ¶QÊõD„húŽ›WÎó–#lã ßz&ƹ$F8 ;²Gì*Ç»Â}äÄvâ\è9kW¹Ž™‹üÇN¬ï‘Û9|ÙœÆQ"§¬ÄrøT™·#)ºõ 8õø 9y¶Ç¢ÎâXä™ïz!¿³H¯lOYçÓJwY2ñY.sU*{™ÉcÕé·²å=xa¸b›ÞÀóoŸ›TNApÙ¼ÛŽz“åÄø¶/øÜÓk+zˆ2šù……»Ñ!ÛžƒæâöÁËlÊñP¡{:ë#q§PCÁ&ß^Aá¾@3¯ºKÛ‹üÜt¤A¸ d·#)Êénî¦dâìEÞç_O¡†`ÏîPܼàû‰úÖz ;3ÞhpÍg°©çwþõlòB‘ -ãz!¾³~ègŠ”CZdû—é|!=5žG Ìh­÷#ãwÖÀô¹²¾ˆoíOYç;øÜó+Ìü+Ìülú==æýLŒs>‘_ZÀPÍAŒ>ž‚¸+5Îí1ët§L»}A§¯È¢þÁË&nG™Ì¡^ìõ=s`¹ŽÎ4I·ÇIwÚ‰dn¡€Â})2®ç¡»yäÀp ¼±=èOŒwð¢(îµJ\Ä™Óe>qbt°o@ù÷+%Êù=pa:B·½~R‰{ ’‰?è lZ¬ó—ã~&Ƹ_ QÎgZ´ë ñ|—{¾Ë»^e^OaÆ`_ÁÆ`¿àÏ7úsûìÈz7/è éðÍâKëƒòʈúÔz¡<4ŸG­‹ßAûÚîÊú#A8Ÿ%õIÒî‡ÒÜó%Àøû¡6ó~§Ç;m¼ŽÚŽc†%%\Ó1üHÌ?`Ù¼Ÿ,óö¨WoµR¥S8gÔiŸ™ÎÔh·ÇSñ¨Ø¸¥lpè-ÄÌÈa"‘¹^Zo4èÖCø ìå"Ž»lÄq_¹·ÀRÏ_€™÷ñ>ua¼Qáš/Ô—cFÅyäºtž60]Çm+G kšƒvuïÄuá:i[8ÎXã¤õwôë·Š‚íU:kY÷Î×ís÷¥õ™é=u_zNÚßhñUë•”jõ§U8gþÝS÷•óÔqåÔ'ž¯³Î?B|ã‹ -Óv#F¶¡Ü>ˆ¦'Äë™ËqȰ¦=rbø¤Ï s¯Ojtë}èÆö70#D7]hO-ï‰Ó{æ¼v¢¿³>Á¤_Ç O"Ì ¼JŒŒ=Å™O=6ÂdwÖõ­ñ@ýx =w¡‚;â?Ôwæå•!¶ùKŒtIo=Ra\°ÍGBtó•á|$Ã8 Ñíº3ãuκòµ¯½G.l×;ÛîÈt"¾6ß[(çºý?of~ÝÙŸ”èFU©G}’¼ûïü&F»ŸÏ¬²Cã‹üØz :3^'Í ×IÛºÙö‰âỷÓô¯ÊIãš&9Æ%´ë„úé6L© Ș®Xªw¸¢y3%ÚùAxgº`Þ´\ædü5ØäûŸ"óz¢?µ¾î‹çëâ{èÀv ¼0_诌çyûÚqή¦9kYwÖ´*º•Oá”õUѱž*‡ â+Ë{ð¼ò¶ÿÆAë¥Ñ±Þ*JæSé¬qMwàÀn¢A5Ýç.LÏAÛšæœuÝ9bYyÖís¦ ý•ñD„i;ãÛžÀ²ŽÇÐq· c°÷±ÓuÖ´r‚k}Óä\ï$‰'ć¦G¿ü;æOo¼v«èØ/ÍQ»ÊuØ´n7,ü&랺Á«n¼¦TF„l=‘ŸÚ”w–ªíI‹p|Ÿ™ÎÓ&†ïÀqÝ>ubyPÞÙîS¶û̉íB}iºQ \Ÿ´(ǾíAyf<ÚÕÔG¦7UöÀ…å;p_¸O]˜¾ã†ãŒ]IsÔ¶¦B~i9Ócÿdyךñ:l[yÎZÖ ™ÞàE´øÆáõ>sa<›—¾ÃÖ¥å¡énâ´dNm-–·ƒÏ¿Ÿ82J“¯o°éÇ'€¬ó“åx¡¼3¯l72lã™ëx%Ƹ`?Ä—Öï=qbºÏ\ÿ#'ÖûÀñ?qd|Ï[˜ÑáÏÔHç+1ÖéM“s|Râ[P^™Ï³öÅûȉÒõKrþ¥ÝdøÖÿЕí>tc;Q Z Û„WÆù©íL‘tû‚MH¯l72dÛ—åú'K<^çy Ëwܼò¡Á³ýŒ>ŸÂA>‰qN4Û‡ÓöŸº1Þ‡î‹ï±óÚ‡Óô§K»CÄAæ^ïC'¶ë uÝ;o_·OÝXŽÄèÆ?ÜÄè#úCã…ôÐø¡¾´Áa›þ”©§G¸¨OÀA¸7AÞíF…oûÜ~T8·ºõLt½"œÏôXÇCiîýBw ;s ?ó ê 4ó~£Á7>(ÏŒÿ©ãuÔ¸òµ®éðÍŸ C°‡ðâ¯WJ”óáx’z>„|†H†o~ÞÙÛ”7ÆšñÙú¡¾³^ˆÏ¬/Lë“ß|¦GºÞHЭÊ;óðÊx =²}èGRtë‰üÒz ½1^HOR”ã•çx&H¹þÉò®g€™÷7èäë-ä ä!¼øëß|Ÿ·1¿èO͇àù×ÃEõ 4}ƒl=O[ó…¥õù 0ñ|/ö¨ $ç|‚kýQ!ÛoÈöá‘õ>t_|NÎãæ¥3QÆõ >ûxœ}<˱×Àc‘ϱWbŒëqÄøéJµš:$Ûc'‹»‡-•º…‚;S¥Ü>hÖ#%Âõzêò’È\ÃE݆2™³@ -ù¥Å¸_(/m'òKëƒðÎv ;²~‰‘®‡ -ÈkrÈC€Èù¥õ>obüOYÿs'Ö á•Q¦ýG‡m>‘_ZOä—Öó¨‰å8aY8ŽØU.ÄgÖ+%ÊùFƒl}“£]ÿD©Ç®é:j\øÎ›VÞSv í­éÛx£A·ÞȰòKÛ ºéÛx!½3^¨/M/ -\ã— åx0ù1þö%Gº]ˆ/M÷¹ Ó‡þÐø#C¶>)ñÍgrœë%Ìô_"޹†;ƒM=ÿñò;Ûªñ -8óö1{ -5yœ}¶ÿHÎWZ„ó—ë|¦Æ¹?ïl÷¡Û‰Ñ|¤Ä·¾I2îOJ|óƒòÎö ¼2_éÑÍWjŒë@Öù &íz¥Æ¸^ÉñÍwŠ´óŸ&ñü&E»Éð­/úSSj<tóîÈü·1?éðíÐè;MÒýèï,zQ}æÄtŸ91gík÷‘ã}æÂv »³§ML‚ùwìÇ{àÀøž¸.~'ÎÅž³v•ç˜eá?va|˜~“•[ÝPu)ÜWž´Çó°uñB{h|bÙÕóåß9gYwÞÙndÈÖ#\ã}èÆô93Ýg®,ÚCã—á†üÔv"@µýñ?B|Û‡üÎø7¯¼'NL_jŒëpêQdÒý`üý~$î>{=„P@¾Éñ®TŠürÊiSd^ÞT‰—C½øË=„Ѽ9hÙœ&IÂéA{fúR¡Ý/¡sП C°oð9ˆ;mîÝNœu:Qáž³æÂ -ÇÌŸæ˜]åZ–i`GÄâ€Og€6S´*«¬ê—©Õ))âªtÕÈ ¾šf…Ýî=# ôŽˆXò÷ªP:âM‘ñè¨%î«J€&ªiLÀÕ)"6T¿Œð«¬àª j«*€(¼Ê@ŠºjeÄRusÃÂZç2z ´Ò°J3HXé¥kÑ:¤³ò¬*@Âd;!/ÐIå«¢ã\dø.F]GlK_[PIaâ #¦Ùée‡¯JcÄòؘɫª>¤L3ð¨jÈÚªN‘®¨*‰ÚAìBáãHÆâ)Éa -¬*š}hзªˆú«°°ª2€bªúÀ‰°*¤à¾À* ¦jH@Õ\ÜyBèÕ¨RYU pÂBu NíÌ1kn¯}7½’¡x×*8Â:;9­€ŽÖ=Hkž£Á -´Fg( È$!‰X¥OQNJLÅ+|}bÎìa°2ý«P¬àÚhÉ É(ÐGA£%9DÍ––2{/»Y›.Ó¬j«¼eŠª*¥E\¥ÁÍšb¯†a1W¦p8 tÂ@ÏXƒL×Ý ÜYU5-ªª[V¨^9á#~šÈÙ<@ÖêÃ{^ùÃz‚…Õ† +_XÁ<°+[ - «ŸU†5î„„uŒ~°b]h°ZA-X_#¥µAQΚ ÇÐQUm"e·@=-L ꯆŸÅ€=ë}Udì"à9•2À üËúµ4Qx*èÀ)4Q¤¢ð2JAÃ|5 ¾& ìm À -«)ªeL¼U %ž0)â(Ìà‡!)ytfÙ7Ôx-ì5à„‚Í¶rpP½ñÁ®Z!W­ˆ P-BA5F‡¡,ˆ4Î 1x]ì5¬€7†õïfW´V* -K« Jk¦¥µ^JZ5-EWܸñ Ü蛚6Àç¿Ðø™ïöuD +U>5Éh’ ŒG<&@"ÿ˜X:Nbq{«& å«_¢ú꘨i• U-(&TePƒâAµˆU-#2TŒªÒ· ÜÜãÄNâ2()”¦üÉ:Eì4äyÓÐäöBøî0ÌÓ£ÃÊØ5aÃ)¬h(2¬,.8XYO«ÏÒj´åø0åAÁ#Q÷¥»òJ–L¼*m ë |i¤‹"ÅÑΉ‘yJ€<â1âx·DˆãÝ’’ƒR-½¤%þX“õפÞ¬ºUZu*U-%*T{ˆ@@…ÐC7;hJžb}¤æqCÓ4;L¨¡¡šD…ê ª3<$­YôC ^Ý@å$­ -tŒÖ!  ¥µHh-ÊÅ«kR@ö=±\Œ«²FQnÊNG-yOȺŒñ¥ŒRðH&eàœ”0¼9î8³%º…ŒÑ/¿5ìbU5S]Õ¤FTËQe#"AõGdfñÅò¯”9»J±kš kß6Xs Ö© Ö:ÁÓ -9­¬‘ÓšÁÈie¬8X­*DXµè+Ü k—a-ñä´b RZà Xíìà¬:„–Žš†øPr‚¬j¦jO ™ÝÅJðÕU+ªL¹x@Š4rïHI<%M<ýPyD,’ØØxÄïÏǘ«90 L§ªhP¼U%# ³Ã‚* ?`Ýž){o´Ç—†usÊ®z&(¬`¯ƒ5Ÿ `rð´†XR°~Hà´vhzZ禦ufrZi¦¦ÕfRZA0`ZI0hZC@hZU@5XE,€Z+9­FÑ£uh%Zyj¨SÕ0*ù”Ô¸´«bfÏJšLº- hÖmQ“Y—åÌ¥Ý0’xM Hê%9`2O HÀ$–…Mcxé3¨èjoµ -ˆ¦jŒ B]eœbïzXUa%ÛÀ`Åj—Ö –V –ÖœV) N«Þ.XÿwÁ*!ÁÊBÓJBÁ’¢¥uRSôhEZV uhõYt¢p}†¶4¨rä‹’‰Y‡eŠæ6–sZXŒ»RƱ.ŠF<$Q"óp‰Ô; Êc‘‡,&vb1ó#Bæ'«®¡ -QíBÂAõÆ -tôFW†ÕpEƒÕQ -ŠçÂ:æ6X»X¨5+ÔºâA‚FRZ-!­ ‚Ö@Gë ¦µÏÒªEZÖ£¤ÁÊ€iu³´>èYZ¡€’V¦œ£UhÕÐÔ¡Š# úÇ<* ŽtS¸4ÒIQBié…rpJâc^"‘yHxúÙ¢égÀLAC‘ðj>Q»[‚†ÿª²™ªP ‚HÌ ý¼jWG+ -뜉«œ kk‰«Þ +Ü «ü`½0X?(9­ñQÓªhiµ¤´RðYZŸ¢H+QÐ*´þ¬HëК z´6ØYZ—pvnÖh¢&U&&-±¬Iâ-ABYWe ¥4“vRÆDÚ=‘‰ÇHäxK®@â5âx¸„°±qIŸ¢¦··'jr·*D’;D…h¹k&^aµÜ+¬…RV» Ö³YÁŠõ&X¥ 4­"žšÖ¹Ii}“–V AI랣•)J´2E‡VQ£•ÒªçhuŠ­ pŒÖ¦¨QNTÅ…ªZH0Z ¤¼“ÂD“ŽË˜Í»+c:í´Ù¼Ë¢ÆòNÊÈ:)X ñ–p™ÔK‚…²¯ˆ…PÆØâåUU@j®>A¡Ê#4‰6ŽŽ­x\Qa%Óà`õ<­Xž>!­Ž–ÖFM«´´f@ ´VJZY£¥ÕBPÓÈimÚQZ¬F«ÐJ]qpÖ¢µh5Z‰nÖh•üà¯`d_ÏË»(Y0ë´´¡œËÂf²®J›É»(eíš¡Ü;à€Ë½$O.ùŽp©ì3 -dáËCN*g€:¼hqU×H¡¨–1!¤å®Ã*i¥!E‚«‰¥¤uŠÓzK`ZqNkoÁi‹¬]±ƒµ¬ž°þ"¬˜œV šV -?M+S4i%úÉéY£Ñ¢ž¤uü š(f»¨:õxçÄä]“%xK´@ÚAòˆ·„ä^{O:%ÿ˜d>ö=™Œücbù˜§¤àIÈÁ$’ˆDñ5T™„ -cÇa]d‘aÕ'<­*$­&œ–V*M«ôAÓJõ@Áj"‚Óúá©i•žÖøÈie¬t–Vk‘OÏúÃó³ò¬="4XQCâÑJ$å]*‘wNŒHâ9I™çDeÞ’%”xJœPÞE¡r©·„ -ež’)”zHœT)’ÐåÝ‘4¼VµÒrˆròòæþ®x'.¬=…k‰'¦õ BZ3ø­xŽV -9I+«S´h5Z‡Ö¢h%Z…Ö¥+”Î’ÐJ´ê¬>8Ds•ÊJ¼'E0ï¤H¹¬³fó.‹Ï<+l>õ¦ ð¢Ï‰N='d>ý’€ñä["&2PÉ%¤‘ƒH(_\!;¼á¥ ¬jfŠBUF WôºõBXE(%Xá ¥ÕýAZ[!£•2Z5ð ­­Ò*)­tÒÒZ5­¬ðÓ¡g Á*¤³ò¬ëMt‡iýWpP¦óWõ‘Ž`àë´Ôp|ûæ±î‰H>&/ ûš€Bú)ñ|äk²éx·D¤ŸÐÇÏ/cˆEÚ\JQÀ—\¤’¨„2P å#¡’Æ»$jv Õ$"tŽ|mXó@XXS(1­|¬p†V9Dk£•A´huZÖ£UhUº!Zà$­L7V hÝYVœ5çpEUÊ -Åh¶ù¬H>îAñ„D¬²éHÅÒ‘ŠÝ£Ÿ’MÈ<%=(õ”‰÷DÊæ^’)—zI˜Pî)"éWäFä ‘Ì@]¸ºª ´PPõpƒéë[ˆ -ëtBƒ56bZ¬D+QϺ³îø¬8«Î‘PÒúƒpÿj,"ÿš\Fê) ‰ÇDˆd“$í¦d¹ÄƒòEsoɗ˼&\*ñšl‘ÌSårIHÎ.f‚L%=­¤-† ®šfš¡Zã„ΰ «˜ma}‹”|pV hZƒÖ¢•hýYÖ õg'ºâܬÑ(S“žÅ7~• ‹Gk´(õ´`.Â1ÂeáÂ(w…Šc”‹TøeŒ“„Ì"'Yeò¯ ¥daBÊE*|‘œ]Î"aˆƒ 3IøÑQ¯‰ŒÃi²ìÎ0pŸ¨r9íÌšW1ÖKN++Ó*´­@kÏÚ“³æà¬8<+Ϻ]qtVžgÕY×ÕgõYƒV¢(Ó:³¢r]"nü™˜«œ`«À*²OJ¦#ž”vTt@æU ¤‚(9(%qr±ŠÞã EH=$HîY"©—¤ˆ$ž“•xM‚Lî! ™—Dˆdß‘„F.3£°ÍMYOQEc‚èŠÞ‡õí»J9p°FàQÒY×õ&ºFWœ ÁÚ%µáDŠŠ¸êұꪽj&ª«ÚFªð‰¾cÝ3’wOº@æ%òˆÇD$^“xJŒDöÀ²/É‹ÈÀ%”~J<#ý”€JîpÀd¤8JÊ,o‘2€9F Ñ -êfö¯j) Õ&’ĆXÇ>\X%ô$­=ëÏš³ê¬7ëMtʹZV¢iõY…pÖu]oÖžhM -‚Z£<ÀOG"KU0刦1‘­Ì•ÊD/w„^°† :F Òï å#ž“ŽwK~<ê1¹Q™8Åo1Y”ˆUúíši¬ƒbrÏ H>& xI”@ö!A9#Œ˜!˜5>WU‹Õ]5Û­ÚÆJéÊ_‰uKfW ˜Ö¤UhŠî¬C+ÏŠà†gZyÖž5g݉®ëº®ktÅY×u]×u]×õfÍYwVŸhõYƒV•g®8+Ï -´­E«Ñš`¥ÐDa »ò UE“Bï‹ä¢›$‹p`˜” 㦷@îA. ðƒf°[Zl¤“¯ɎǼ'8ó–äpÔ;ˆc^’yIˆ@î!Ñٗ䤟ÏÈ@%”€N$!“H>&y„,4€òѰÈ#_“5ü…*ŽÑBœÃÚ¿íZAhÁ´­9«Îгæ¬;+Ïú³­A«Ïš³ê¬9kÎ]oVœgõYuÖœ5gÍYuVžµgZ‹V(päÀL ò­PŠá§"Š–eb¥à -%aÂJbƒ{ç{8:ÒGB®.)!V€T㦙1Cµ5ÈŒÓÀâšêa0•U #÷¦p6ÚAQÒˆ§äÈ#Þïž Ü{ò¢±ʑǻ'@"ý”€Bö5ñ|ä[2ã±/I'äËÊÃ+€“6Ê€’Iãÿ¥ùÒó%à…/D£¦W$Âæ*®«²jT(ª_N(HÀRDo!p±>¬U´†êš„µ"­K«ÐJ´ú¬?«Ï´­BkRÓ -A j}Àä`Õa³ -!aËäŠ U+dðPÑ6 c”“CJ:îZ}Æ­0¢a—‚ €ŒSÕ.+öÖà¶äó²˜è†‹âÛ—,“Œ^èôÔ¬Éß`æ~¢Æ…d ”ÆI@'•{Mj<ê1¹1ùÇ$óRÑʦ¡•@Ê?)’’{T2íœaœ“’¤Ñî “F;&J&û˜ÀxtbëŒ&üV• Îf€3S¾z¥‡*‘IUG¬gTò -¢B…5~r°²GP«„ž§*‡iM-Z•p„Ö¦õhmZÖ'ּÜ=*Š(¯bíGŒX#$а&è±°*­PëÑš`=ZŸV¥•Áª”ã`…zº°ö,H=ÂMÉ Èh!Ø¥{#‹pbp0Ây²·ÅHd^OF$ -\‰!À‹ñË>¥Iȼ(2"÷ xRþ1á¼”²h‰É…2ǘ¯Æ*h®PÃS†z1›<¤(i˜dñ±OIgä ÊHB%}GjDñtd”r‡G¦üDuˉ -5 ‰»Ä:5·kˆ9Ãê!nW󻎰çõÆx]1¢^}©‡èV œ³/D‰uR!ª°héã’²$‹¨Ù2´ò@8å^óïK"ä\s]‚,¾}i2y×åE¤3^lÕª¬ªaTà)@€édá–¾E8-Mݾ(€èö%Å8+Q õ¤À`¬{’äñΉÊÂ*„>Ðjl²æ -RÇ.É>'žxL„<ê5©ñ¨ÇG¤ÞŽuPŒ<æ-щˆ¥Ï2°;3^v¯”è\  Ë!ÀeïkÃFw¤a¦Ëñó ™£¡”¿Ç½&5ù x>î=éœ,¬ˆh%}Ùg¬DTŸ¨x’‘È‚‰r1ÊN RÕ&RZU-Vs˜Áé@ƒ‚Y€¿,ÜòG¹Çe’’L[%Œ1d“=Òt5RIàêÏKÞÎŒ™ÍôÉÐ1c˜Yò8 ·rf‚i›ä¦KRI­F*l¨” é¬äçˆÇäG$Ÿ’—”Vä0¯àe~vIKì¢æ×³²¥Ÿ#³eÏóÂ…7´’æç¤ô"G¹73 -ä&$;La¯`Á’óÄß*EuÕ„/Q~5L‹»¸ý®<°û]q`g« *­ -€*­j-ô*›|u ‹¿Ê†…_E êªz¦ÅZUU6ÐtEîa©¤äó²H㌘Ý5xO*UîM)¤L»)£Ì8)A -¥dB¥XT˜D²å*†#=ÊÌxÍa)“{%¦J¬J¦êñÇ­Èf¼¯8Ðï¥Q£Ç [Œ¼ä¶ ‰¨q1™£Œ×% 0fœ¡_Ò ¥|Ñâ -€< ÔÀ·ðƒ'æ?ôRæWô‚Àÿ8$Vâ¨0À„InrIƒÔä‚& i…²¯ ($_ËIA+†”ŽW샰ÁÂ[àÛ­ú€YÖTU ÒK|2G/I».œŒp]š8ÒeÑá˜GÅÓÑK Ç9+Fáº(Y„ë¢tQ ßÚ*¼•.»$3]Ÿ6ÄœÉ@Är(ãðŠ"'/d‡RÌPÑ3mQ=2բʤ^mpËfÂ2«,ff~aÄÜRÙ×ÄSò¯ ¥åàÄIc¾Âª^¬¤Õ#UyœÉ1 ©Nö=ɤ\¼’G¹H…O’ -ad!ÃHÀ'‡RÌPé°Pñáº@éá´DñÉÆ$á¯`¡þ}!ÆQ ‡”A& ²O -åã]”‘wO†Pâ=)òH7ň£ ŽuVr4Ö]©ÑXw¥Æcž–JÊB.}—‡_ø,s˜ÓÛbfW„Âæ× s†É§e’2OË%fä¹Hi¶¹Àw|²K‰š-Ç&j°2mˆÛÔô¶çå ß« ¢Ÿh Æ”æ‚)]1·˜$üc1YœXð8 «úiÉòk5`D_+£Äoó²äçóß~á“Xóy“hcŠæ…Iïø„LÖa“.X|O¢`¥Yâk¡)àwÁ¦‡ß·)€Q!­…‘НJ™JL²uÒÐÊ_äÍH½)ž‘zV8!ñ¢ðp¤»2d1N ’Ÿ-Háº,Y„órÀ"\%ŒqZš<Ö]ÑÙ‡EqÒ1Lœ¤ 4^•9Ð|M†k°‰š?Ò€3[/BÁ¬q -r1ÔL̲÷È„ –â6 ”/Ô±,Iú»Ì[:¤ugÂèVÔ`1FaC%$ÿ‡@›|‘Êþ¢6_™3û_˜3<â5›)|î@z~&†o›:•1xf~ô½ºÔº4;p«j)š¶ÜAÐhfiÓ+Àæj²³Ëå DH=) ŽvRz4ÒE‰Âg… -£Ü)ŠpX¬(Âe‰Â8WE £Ü•&‰n^¤,ÂiAâX§ÇcPÇ?+ˆŽ‰\ê ±üQ>z™óìü†¹cLd2[•8ƀ邕FÅ OͲ£*#C§úòéƒ⣑‰¢—y¢Ó!F,’f+ò .ÚÄ8é7(ð‚JFÓ9u¢Z¤U•ÉT¬Ü`È2ýÅJŒ'9!3¿¦ 0d™1Àœi¾“f) YàìqÕ¤„^è«ÀÐØs0:v°.C|7,Kþ³.Fþ±.Cþ¬6èfl¢ä} °;ú@À…ä$—·HÁ*†„P # ©BòU¹t¼«R£Ñ. ŒG¼+ ’{]%¹n.vÑ{tÂ&kmÌ–<ðI˜ŸóPË¥ÞMÌC-}™‡Zü01½´9JIàê/K™þPŠª¥h¼.‡”ùâ“¢å¿rk€òh•aIâ­á‰ãt„B§YáïªHù÷¤T¹"cÄG¡@ |v"‰¨r¹¯£ùO·€^Ýafô·ü¦€ÞÅ™=‹40tZÊä 7QÜ/øäQ´ñÔ±Äðð§ ¡“ ª¯`‘6Y“)CL˜å¦5Hi¶ Å8ÐŽY€GÀÏX¥rš.ÌM0k˜‰Yø.³VòU¹œÜ£ÂI †,Œ_¬XT‘H(@Rv›P*Ëç -𨢓‚¥ rfK²ˆš­¼-hô/²LÙÄTÑÇÄ8Ññ4C¦T"½Z@É”ÌÌÝðÊ™ÒI‚\Îø{]ÂðWÔ\Y!óUi€™.Â+b¨ºLÙ+ŽV,”Ä»„@o03Aþµ,B°R4ð"—¤Oç€sŠâxTµ‡U\›.z¤‘3[†`Øø‰VØü“6Æ€Aò@Õ(¥Í/¹ æ,’Š'$^yQ`LNi¬|ÜB÷è-Å% üŒI¸‚Ô‘†+²Œ™daÂH?(—“‡Tþ&aŒÛóBf'ëRäïÃÜø©¾ÌØÕª@%D²« ÊêU}•—=æÆîµEH?ø„˦0`žž^Ø2oŒ!‹<ÀŒ–Ö~ƒw}´+Ï׫-v涬à'QÝ!•õ@“éÜ—+¼äf¶$‡˜á*T¢%ëÉ-E&d°¾P¢Ï -lR10 oêÀ³¯ŸŸ<æ+ؼØW´‰‘ƒ(³‰3ÅëÕ|vȡނ>¬ÆeÚ‡@º"’6W‘0ĈQjzI‹¬ÔÒV‰É…­²ÌÙ¥1b’EÔl92Iƒ•‡ÌŽ&ÊŽµæ€.‹”þ¯JK›~ÒÈ®Êg¾0gˆ!ÃÌQ&̱ š,A+_¨yX´ôtUªø]bŒìû™ºUw‹rÜZd€ô`b‚øe[Šøf]’ô]aŒì;š!7µLÝóCϺ’ãJëÊêU—?WÔ³)E¨mTŒ\uu1 ŸRCCg¡À |Ö‰k8@1o™0ÞSjhèÔ4Fò´2UrÄ/ ø“>Ðt-^Yàì’O§@™¬*Ó®D¹± Ešu€(Ò¹2brC/i|A0kxA/hzÅ+k¨ŠSÐPÿ¸Œé½Ö4Á«ªB¬L$‡Õ›…Ò*ÂŽBé4ŸUWa~ìhV”øhQ’üdUŠüa\Šø.ÎÉ»ÌÙÓ¼ ñÏ´0éÏ´ùÙÀ@é“\Á²»å³ÒäWó¤'s„§#ÅG| Î ßG#DÇØ‘{!põnЬ3/Eþm:ï„N¹0²w%pD?CEw3£%/üBæ? ƒ€ÿ% åŽ2^‰_ÖøyhƒGÚ0ó5 8¥±òÊ_d'³GbÂ¥´ñûÖ´Ñ×`'ì²?ˆ&;a™øÃ( ø‡PðñP“k9ðä¦ -@)¥rªà?SyÌU°ñÜM¬éÌK¤ñÄQ¨y‘K…å«ÈÀèû/7þ±,Dü¹(H°ø–@q¡×DÊU\“%Ô°+:²î0¡T höÀ”Îj&§"Cš· rë ™²pàÆâR ?õZ,·"@ºÜ¨,ù3oc4o ÀȧäȳÊ ÓM±ÒB!ó JóŸ¡™¢g- ç02½ràÎE%8Lô35Pt´4Qt/6Kr®èac’ìZd à÷5?rªš!z$<Ú˜%<•|ÚÀ;Š9¦d]ŠüaZŠôX_xøVapä(Ì|ê+Ä|î&Ètæ'̼ȩXj\qY¹‘5Åò‚JõF/&”_‘æÅÞÁ‹enc¡Äo56ö¯,=¨Ò33ø b0§&½©X -ðÑžüÈ‚CbÄÙ”YXYpPÿ09ú´.F¨r\žøaið.p$÷ ‚ûYÙò_óõ8å V"3ÔÂ2izÄ-müÉc @`+ñI¿žkr>Öèp €ÁÍÈr žaÃjaã¿©Xõ‹Õ]]B¢0¬<8àie³±œŠh†”DÎ\E™Î~Ï^~²¸WÈØ»FyIãÞ¡Êe>?yÌ'èÜ•"åô @÷i@w©4¡ý -0|Î%Æ‹ñ÷dløT5<ø«4:ú3*Pá–$¹2Á@ŒéáÙæU…CæÂŠÄ˜ÌëÉ ´Xî'Øpîü¯@¼õ¡ÈÏH u¸£#iÜC|áÄU ª·C§ZÉñ—9‚Õæä,:+R|61RxDn,,™z)€dÏrK€Ç´vHU¬±1µ:£#÷ÃøØ]€ñáS¹ôàñ19v>ÌÞÅ™ýì¿Dð=MÜ…š!;• }Jx làQmpÜ-ÐÔÈU¬‰‘—H@†t 7ˆ2·=Åòñ%O‘¦sO‘4ñ…?‘åSç«Ô âYbP¥º€òSd`ð*΀ê+Ä|ò'μÈCáÄg(‘y{DQ÷ÀEóÆóÆóî esz‚Œ§ŽeÅG¯ö¤ÖV–¿¦€¾óc—¢Ñ‘çdrìUmràU -ÔÐ¥ãžj£ãÖÏìÐõ1:v+24ög>§¸`â'Ú„â8™}ט"¼×!½ 2Cv> }Ãc¯bSCŸ"CC/æ3ߥÿ%¯—LærH}>ÒÈGå»2úSÃjJ¬û\îa9ðìëY!…ý‰1™=¾åV˜~1™:!Џ!Œ9‡*•z‰/›zŠ-™¿‰+–¿U–OªWdZ„PǸñ}6Cò¾M¼K Þ.KO -ªZ™&ýØ%;Ur»ÂèeÒðt ˆÉµªT¤.eÚå@’²¤XlðDxp¬B¿~R‰ÏG$ó R2oelàø=ˆ+œxÐCé‘®'úS«€ƒ‡à èK€ñçCø ä3ÜPÜ+Ä0¬`cÐNr‰ÓF(õ :÷ 0 “ßü¦É¹~çƒ|>‘I=à Ž§žß ³og0¹÷?Uæö >õx¥Ê7}Gnkº×5]ð"o·¯`N;LÁÄ]‹ü¥\ÄQâ#K0i— ‡­‹_y«iNÙÕ> -§N­’ã÷¹äðKˆéÔ1èHÜ…hæõLŽq…4 -u¨M¿žé±.Á㯡‡a/ÀÈÓF$÷œ~I…p? š~¾¬„‘§#wð¹ç?Iî%!ÊñI wW£ÁswŠÔãtúõ -HÜ78‘Ô'äøëÙú:.~çmKÒ+sÐù×_¸aØKÒCãƒðÐø;3½ˆpíAŒ=?f¨¿Eu ~|¥Ý®  -èK˜Ø?QÚý?tc;^“ã]ÒãÛŽC†5]ÿ¼jÕ§UëNUåêñœ´ÿVZ”£¢ÂyE"ŠæŽDèöÿÀ‰ùE€jþš¿¤8çï¼eí9mT|Ͳšqsß $’ÿऒǰƒ(olNby‡øây·Èò¢Ÿò"cDZÐ𫨀þj ò:d]yÓdÜÏú ôpêQ¼èã'Ð(Ü/ð@Ìë$—¸)›¸ +›¼)™;…ƒ *ï¨þÖ¨Gƒn~„‚}}€ä.qô#„úù 6ù›€|Ëc‘…HæöʼN©W°1¨€òîÚ;› C°¯PêòHžÂŒA 0ù–|=„N@?Âfaá["ùáÙýÄy·;€á·Cuúíj$ê¢lNCˆùœæ]dü'Àpîó“IÜ5 1_bœëêÌrŸ91HoL'TãhöE»ô|j1õGæ²¹óVB³XdéôUtñÜS éÜ9@ÁÄCL±ä%Ðõ 4ó4ø`Ô3ÜPä™íú"¾6¾‰Ï€‘·•@ò-G½È­ßAóÒwÖºò <3^iî‡Òäë!€òBý 9y -4y¥D¹K¾ÿÂÈÇAîŒlÞùvòfövú•W &÷~•wÿQ¡[Ï÷S°è·@óº‰åM3‘ÌY ŠùƒPÀÉÑmGpØ–/IÎébôíP™~C}g 0íþ ½³½'LÏa»º£_;Õ )ŽÙ í¡ñC€i;OœßS÷¥3EÒµÐÒé_À‘¸75ÒýbòLŠs¿Ú–>HöïÈié7.¬ªVý ¤Ã¸^“/ºu5réRŸ91ŠóOÿ€eó¾¹ÜàKˆéÌÝ ŒûÎA -Sª7†´¸æ3=ÆýM‹y¼ƒµ’É<„–LB¹?IÚý;k]y˜‹¼‡ ¬²3³€Cðoyú8{‘xT¦E»Êò/6àõ©Ceæý>sa{N™VÞÃÆÙõL‹v=†ƒl@c†âU©GeZ¬óõü 6ý›•u~‡.–xÏØ­óæeÅc×…åí`ò!º¼¸Q´‰W‰Ñ³0óÉÈ’ËM÷`8óO&÷'I;êÏ\5gLK?òs»’‡<òRY^øðÇÃŽAÿƒ—Í›LüÒ¸ÂñPš|®ÆX6ïùJüƒÌÜDM¾ƒ“J=&²ØCÁ×')ÊñLŽr -"ùü}wšT2AÎí­]AØì»Â0‘§ LÏ!»Âo¼p«›¬©´pÍ…,öl ªÛ›Ônl· ã0 -Ì ^Ä—Ï{ŽÂÜÏ$)ÇS¸Øc(À_PÉ×ÄhçS€Aè71Öù 2Qe3w€)H'‰Ôe!‘;Š)ž;Õ•PßÄ”MÞ’ØCqâQ•ßz(ͽßÃËýCË}‚ A¢=5? 1®‡à9ÈSQÈ?Uâõ@ve½ŽÙ–¾s¶ÅûÀ‰õB|`X@pcWE{mþQ!ÛÏ×ů¹Š¨5W!ã¯W0‰÷ç”iåëžOo®ôòhdÈæ@ÓχâäëqÆþ|§m‹WJt»ê3ã‰Óâ‘á~¦Å¸¿I±ŽÚô(Gm‚¬óLîý ,õ|%Æ·ßèPÍçaóÚsȨúNÛŸ„ØFê3ûsưp6ê^^ÉpŽ?RdësØ®n¥É9<–N~ÄM!=4~‡mKÏ1Óº‰Ùrwp‘G½AgßPß™t7æÿàõ -0쩲„ú"®`îþØzŸ8³Ü±m—p1Æóžò"c?qåEΠÒÏ‚Â>ÃÄžòè[qè'XÄóDâQÙlúù´ÉýÒtw¶ûÄ™éEn»‚Érb|´‹¿W+R+Ujê)ÓŽoOoü]šÂDÔ:e1…@°ï0÷ ÅSJ;¡ÄI„ù¼KxéÌ-èì•åÝ~“xE~l=QŸZ™Ö¾öVV7X¹tGn Ò#ë‹Õø›s<……{=…‘0ƒ¯×AÛšÞ`áS7.n©è˜oÄg†!²írdzÓ#]ŸÁ‡án/¡Ì3à@ä›&ç”å6T©ãúÊr&IºÜC˜R¾Ë~ - ¨ÿyÔ'Ä Ük$Ž<…‚~‚Eº+}l Ù’¢›¤èæ'%¾ÉE"$ñx¹±=' ì&ú[KàHgd˜öå…ù9dT=‡,K×!ÓÚq\\å8_¿ÝÚñuZ¢Å‹©ߘÎ;YÎý>ù'I=_(ï¬WB,\`é·×K4§-À€öµ’J ñ­Ê#ëwÖ¶øŸ82!=3íkË—F»üGì*ï‰òª‚*¸OméüCxÑÌ‘Ûø¨×•U—ÕR¥œ.™càqhÄØ†3íÓ!ج`ãPŸÚêãQ¢¥†Ç⌧ã­¨ƒð‚™Ã™£Ó¹«ðòÉ›¸’ÙÇB÷ 2ƒîÒv 0ù > o¶titL·â™óÂ#€ú'Älò%²Tþ^äýhÏŒ‚ñÓ(™nÅ3×…—£É—àbéë°eåInýO¼–zþœ/t·Ö+%Êù~w”T4 §Zð"o'¡€Œ©¿õOPÒõ:n[Aue8w)—WT^dð(À|î$ÄpN°A¨?øìóŸ(ñ|¦É•ªÄ -3¬i.fÇnwÀ,/'@¨(Äĸ%€ö:{¤A¸è® +ɰí -(ßÏÄHâʦÞB‹&µÃ”L|&ž_ôç¶ù­õLu<„PÁ ¼2?‡,kßqs@0íÊû‡úÌþ¨˜>ÅÛ§:k\Óœ6-éß)›ÓeBuÜË Þ*KŒÅÎ>B  €<†‡C4³®|hï «¯Zw+©U… ë -*Œßøb:õº‰åíti×é•åD†i¹‚L=ÂAþ©2oÇ”Ó5(IÌY"‹8‰hX}Iò·!¢Õ%%Ȣˋ»‚BBBƒÄ\ÂŽ¿Üeˆ{ƒ‰G°áÇ;eÖÅO ñ^<ïW6uX<õW<{©*›W*²dþ²H"¾5_-K‚ñ÷ŠWµˆºÐ¥Bzh<dÐgáåòêDLêÅ^¿3×…ç°]ÝF‰k<ƇÍÅ4Z¶KöÂt&ǻ݂ŽD/þz'I¼~ À3òú2öz¡>²Ç kªã¦% "$Ã%èÌ9\ÁÄk'•8„ξ‡ÍK×9ÛÂtòí¼qå8a.î¡<5¦ŸÈ¡þ6yÄA|Ù¼Uœ åЄón‘åE_Eô?!¥’ZWˆPaö¤¬Ê=•{…Š:ÜoDèæóFÆ#®]I€ñç³<ÿsÔ¡?4þ‰òÎ!…²_qÅòêD–KŸfÒÈ#ø‹º;ÛƒîÌ ²õJŒo¿I;ªS¤Ý¿Äøö/È´û™$åø¥J8^¨ïlÇ!£NsÔ|œg® W ©·µÅ‡O5æF‘¼÷ »´}HO-GÌÅ’âœ3aÔS\ÙôAdÁÔ›(éú"³A!Û.á…µåaø;MÒý=ra»4ETÔK· -DÓ%Ð|@£?zdÛwغ}jõ§S8d.ª€øÌð À³»h1-g²¤ËY$Šø•—|.*<¨Sbdì$Äpæbê *ïö8þöc8o |æTebð,Îxö -ì™$åø4úvÖGâžAã.7iÔm(•¸ +™}Ž%ôŠêJ¨/¢ -gîòPô}ÞÆzœ/ê­£¦µ/ÊQ?T¹ÜI€áÔK”áÌUpÑü?€ÁÌÌÔ‹ Ù”"åô =uZ<§ ¦hæO“y}OÝ—ÞC÷Å'p¤û?P±ÔG€áÔGŒáÌOhÁüm*•xƒP?ˆ0-ç¹ë‰Ùò¡ú+šS[<2çø$Ǹ -ßng‰ÔE À‰³B ù¢Á5=úõ[íÈuMtÊé dôå.‘EC‡¼“%õÉ·[à˜/èÔãîÌô!¾5½¨íâ[Ó‰üÜt!¾6üBDJ ½ÄÏ|J}…Ï^‹„ÌÉðÍÇ£êHŠnwazáÚ>!G ®ÁE½È-Ï­¢aýN–’â\N‚V¸šùÔ .ùöŸ8³~(mWpÉ·/°Ôó‡úÖvŸ¹°=A$_3‰Ô£ªxú¨hæj\¸‘!]„чÊìóuȸðU·¢ºáÒCtáÄCxÑÌ¡^ìñ?}bù×-µªQbÁ¡ÃZƒˆ›,}j'îë2<»Ûp À²éw9‡-—w„{P^ο\hO-g’¼Ë;|Ùœ¶PcgÁ&T÷Ð%Gbtã‡Ë*ðÔ¼øË¡4w -6 -wÉdNB -&?âɦþò`ì,âý *÷z6GbÏ!‰¥ÎâÊgoeÅk -Kç¿bL'_¢L&??Ô-ô Üxæå `ðí5”É|D–N<.â¸3àäÛ‘áz(M¾þÍÆ ï3Æë°eÝ>og{Ùϳöµç”iáQ¼tõï*œ/êÍ¢Ns̲€òÆv$D7¢?4~J‘b¢@ásW&e8NI„ñÄ(óö¯j±JY°ˆžýҡ³œ Ònß0Æòî’g©!¢ó]vð¦dNƒêÒÚŒ;‰+›{‰,œ;…;“ãÝ•éÇGÌIÃÂ×^jJçlëFp¸Æ3-ÖùFƒn}”«Ÿ®¾UŒ*EpØ–C¨!˜1ºá8cYT7.¦Sk”ëœÁ^e ôJBæ°îS*tܶ¦@c÷\×-ë«|òÂn ?±|Õ©¤Ö%TAeÝÂKç-%&´Ÿ*SCES¯‘Læ¤`â.F=C‰|†÷WÈ£~‹fO•Ô?Q¥“×ÐÃQ‡âä£`ÐW™×#-¾ñGo9‘ Z^T˜¶ïÀ}IÝt}J¼(0©Ñn¢äÛhæõbìù 6ïü£E·"Å´<èï,ÿÙ ÓqଆþÔr¨Í¾¸°ûÆÅN•SæB:ˆ¦7IÖñHm»Nۮö5ú#Ë‘ãr!¿´‡ìêÆ)£ÞBe<ƒN=¾vR‰ë[nôaW‚Pû.8zZ.s'I¼Þ'ŽŒ'ò[ë5ühÌIXéÔ7<ÁÄpúõJ†qQ`št—àñ®¿Pã·™Pê 4ùú30½GN Wr„ó3Ü8ô5ð@äƒðÎv3ºQáZÿ ó¯Ï#±oy8êlÅÜ©òn' -LÓ‹úÚø »4>GÌE¾òÒ©hØÕôÈð ¯lÏãÂyغøŸ;3¿È­ÇPÀ!Ÿƒ™ñóZjüòHüɧ`£pŸ`£0GB„ãuÔ\àQ/\ª³¦…#¾ùP–{Ô£A7§ŒŠßdM©Àúª•Zµb¥JAbý§TàœýR·-«µk=Á^£:„¸ÑšFõäÝJ“søàNt˜–?iâéGn9NØÕ' +G:ŒÛ1`¨÷j‚èfašð.ÀÀO¡¡¡ÇG(§O–y;|€cŽâ ¨N­Rã -n.¶#¸˜f™áÃEu ?÷ $º>÷T6óZ>u_8wR8q/÷¥F»=(ÏlÏ1ÓšFÅv)ÏœWŽà-ߙۚÞlùSQ1žŠG ÷¡#ã]½UTŒj”w–71âñJŠuüP š®ƒæ_y*©UoÁ‚g® WÀ¹ êºùҩȶ¤dWTDƒmx¥ÎI·óÄué7\¹UôK¯Š’õSH’nz]årÚà³÷‰#ãǰn0¬i^FÇ>…€6☠ùíB{h|­¤2ÿÀ¥sJ#1G:lCØæ35Öù^ˆÈ²™‹°¢©O 1ÈÛéDjû‘á[4(Çí¹íKŒsýSe…†»íäò&¡ô¶µXÞhî¼qåë>Z§-Zè¸yM™(ãú§L;ÞˆÐmÚ#ÓöÌpŸ»2i"Ûôø– ªÝ9i.¦9e.¤ݦx êjüé>wc÷ —_u´Ø¦·Cs -8 ó/òö9üò ¼ ’6 #·j“#‡ ¼‰øÚx61½¸‹AÙá‚J¥€_&_ÎÓ†#-Âé :õø¥È¸þ(±â+¤òjÅÊ-¨L¿~NK_µª¤V­)9k.¨¢fÿÔM×4*¨-Â@}ŲR±Ö:¬T"Hôø…YM0ÀpêN) årê2yœ²C§s“Êi‰dHu,7|ûŠå}ÖÅÈ¿ˆdLV`”1ÿ%~þeÇnK±¼5IÜUtñܹ èÈZ#⣠,IZ·> -3ŸnÈ{ 8 ùžƒ¼„ :ù2ô@ÔŸ*óúœ´,üg/LŸpƒPW ¹·ß€é-Ö -¶.©àYÎ÷•GÃ|+ ¼²|¦¯ÁÇ¢¾à’×iÓºW¾*jEñÁĪE%5AGàâ ¨t =¼çNlºã6Å1ÚF³v«õ·’ò±+»ÌøÛ=€áœ:Ô£c¿tý¥QQ4¿ªì~`ÃO/‘æÅÍaKæ­ÀroÂKÛîÈv¢?¶]§žÎ! §E2nmdà|4âO–yûP?þ=à¯pÃp‡ÒÔ)Ð(Lb„ã%ÐÜS„ùÔ¥Zjì?¾ïÅE¦FŽÁ‡!OÔצûÔå;p_7ŽY–U´ëjŠ”×ÓN(q Dhîí€,ê!ÆxÞ"ØxÞ| æHŒpz´Ì—ÞpñU]=•ÏÝ.䇆í•ñÙr#ŶAbžà2ïV‚¤Ë‘ãv¥Gº< RNg²¤Ë„îåNšyù šî37–+5Îílîï‘ÆœÞ2yÛY*qj@¥+ÖÌÀm)–wÑßÛŽãå"or´ë¥Ylð^NzPG€ÙÌßvêTéQ®Èç©ã’ã(oŒ_¯nªujĉ›-ª(#ɶ)ƒÓœywÜDòVq&Tqf3*$›® è+ŽÂDS ;)‹ÔÀÿ09ú(54òÊä”)Ò.:¨÷]zìpEdÝetè}L´P Ÿ„¡Îa¹Â_‘ ²K¹§@FnÂÊgŽbŠç.Õã_å“ç ¯“Pê.È|CÍi/RXI¥ôD 2þzy=r^ý€þ;dq·ðÏÀðß@åòÞPÅObœÓqÊ´¬rØ®¤=ucR¤E¹ÉñmWŠœÓxòíO•x½ÏÀ½ˆpm_yQë‰&VÅŠ>¯nòˆ{Ó9}“PJån2VÑ/_ŠCæãB|hººÅò>Á†ÆÔÎ醸Q$ÜôhÒínâ´»ß'S ظ[¬ÁqÃK&§Oy9hŸ~áGb.‚ ¨tó#ÿÅѧarè-Ä„î(Ìĸ'ñ -8ù÷HcNbŒgCqÌ¡B÷t 7w`6§&Ú„Þ#Ò€Þ(ØØ’P@†4ÃEÜ)ónÚ+»qÒ¨Vë•Têfë® -â;ÃÙ!†|…„;Þ˜ŽsFîÌ}IŸ6ív5øv£Ä·œg® ç¡óº(¶QøAÄg†ûÌ™áIŽqM“w:ƒ|¹Qâ[žÄ(×4‰§)¾éK‘s:ãÎI·C¸á·#-ÊåN”y;ˆ3 R -ĘÆNq6ˆ¢®Aˆ#®`²š;Û‹úÜxR:odBó 9u#A7>m çqËAýzm|”‹*½ÉÚ­V_*½ÉÊ­V¿JjòpbYz•!âhòmê` ´ ó ƒp;ÄA¬ñœ~`Ãy9ºÝݤoI«(ä˜úi€¨HÀÆÔ‚ŽÅ›ÉO¨‡èC:…††þõ…H_æEIŸ¯‚` †•50¤V_päÒ,4z^:ñ6£Na†á^"Ìg¾" =D–ÍüC—ÎÛŒA|iÒoðÙÇkøÑ˜sR©;èÔ£úÀyýÑ­½÷‰óºêóò•ݨj îxò‚îHŽp¸ŽÛVTŒj•“æeõ3w†éí:i\Ó¨–/]q©Ôj¥bMÁ¡Äjcè°²è0"«*AçNkÙ´‚¥PF·ü©uZÅB'Ík -Á >¢ÒmB§î“Çé61¤!•>yîM‹פK™vRa¥EæHž5fo‚Ó -?§N–y: erZ…@ükËÞ¬Jêß…¿e¥ÇuåuŠ ÞŽ¢9ÍðcÑîr9}`£OòKÃ{èÆî<2|h '2LËxêé ÈtÞ"μ˜ÎZ$o -<u'M;½Gï ¿áÒ§V½ 8,©ÒdÜÄwvGÇx«(™_4(vçÄaYE¿ò)œ4ª•Рþ@GàM¢Ï›*MŽ\ -÷3/¤n â düå¬F¼%yWàQè.q¼-ð@ÌPÚºéA|fúR¥\¾T)§g²ˆŸP@ÆÍ"8‡/™S˜|ùÒ£]¾`“o— -èKø$ä%€ -öjîMxk>UµR§V:h[º$žï9ô?L™ìO8Éü)Ìô -×üèõ^¥,Z¬Q P¬#d«„VÚµw謆Ïîœ7T7[ÓQ4žJ§n‹Š?é†5œU´N* R§ŒZ¡€ éÖ!|•šyìäRúàE!Þ´¨ÇGÀ1ˆÛX*q „Þ(€q›P ôžBÀFî‡áÁÿ[zôS-4xW4ï”xûƒÐAªK ¾¯bã—ú2C‡£0Ê;»¡<ùx`:ñ_8÷ùˆd”ë¾o°¬î¨®ë˜ií>ocý_Z¤g¦¦éFpS3-ª•jEŠuêDŠ5—Z±îU+Ö+T¬#R”X¥¢T¬%J”Xߖê½:@ʰ¶à5K -…¥›Ä4¨6¤é´jÆåJ‘twƒ¸g^Ô—vûÜÝr ê,ÚÄÈM¬éÌÙ$ˆù‚P¾|Ah^Ž Q –éU7`ùÏ]^¤¸†'ð¬Ã‹Óðž<°;úµO­S!N¬ù Q1|ʇoLªß½̦4Gç“DÏ2s@.eÓ㞊) ¯cC—¥HÞ >s -8sgB§)Ô|ê¶dÞ¶\Þ¬F| ²N'"LËúÂpa^Hqpì*È!­TJŸ:óò CsU6§˜læ°ÈÝ©q¯/ò[ºësĨúÊO­r̰ø -2þ®U—¼+„q÷q#ãsÌ´vŸ8°hÎÌ7lóÜÌø·-<Ú•e„w–®Ýë4‹uÃüaå`XMŒ‘ÃF•î¼qÝ9hZU;raÒ90«U:±>-aX]X!,aX½¤( 09œ’ªþžHª_M‘ÜN -ª*Wa[„ü*€+ÍËqа¨n²ö@~d÷аêÙÁOà†•”MÛ‹ ’KüGc@NEsÀMÅfÇ4›U5–Liˆ60¤®È)Ò£Žñ ?R|ÓŸ2óò3 qÙÈ$NLè-ÂË‹›CË|ƒJýSüK޽™M=AåÝž`ÒŽÆRßÀ¥êÌËqÜúéúO­X±¬XìÈ}I—$çt8þî¥K9|¨í–ÐcWº”Ãuظ¤kOÅbõW°ˆ†áT@fÓ$K:©‚}VnJ?4 £ªÄ:ªL G•‰ô˜ªbãã&¡@ )ú‘b® s/×€¤ñq&tjbø&‡ïbLÞ}òxGÇ|ªèX_åà†‚M¨•ËäñVÊœ›²Goj¾V•–Ð}¥žT‡Æé¥ýD}iÿÐ_µ‡ Œ¿¹Úq1®¾(ÍÒ3ÓqÄþûk:õê­Ö)-ÖH¬%8XiX‹Ö¤õˆÇÁ*BÄТš•QdÛôf‹**Ú†OáÌù,nÊîÑ7ªŠ#P¸© N§à¤Jʬ³b¢Ä»‘ëð 9ñirÜ(¨1í †SÊ›’‹hóâ®@D0Ç`€¡.µ´ßCòÄE&¨4Ë]Êêˆ,ÑZÁtð)¸3ØäÛ'à(ÌxöéL’w9 @œDÒÿÊ *Þ…†Ÿ"̧þáJç4„N΀^óS ’Ó\0­ž>óî!?¶|ˆpm:âÒ11Hx41MöùˆbHA(*%áÀ ++|ÜfY–ôXf’Ü$ØÌ°z £ðfàx7YÚåL–t¹Ó¦ÝžÔ·;Yæå|4Þ*ÖÀÈ¥^lð9˜;¯eßg) WF®HãMáÆ 4èöõùKŽt{ϾþÒ¨un=¬"Ы=‡¸áâ©,ºM“.å¦G“tT°Ê*œMÜvà“ê(oªé…ßìˆÒФê?@•ª©j©UR6bHÍm>§Z)•U 0£ŠDrPÅ[6©äœ>mêá .÷n4ožzúÒ¥\®&‡¾ÉÂ/¦A†fÒ#I·Û}ò8 ¡€çtÁ‹>\IÒnJ‚R¿ŒŽþËJެ¨11v‘|þãÞ!ðªBŒ¾,œ{XCsiY8ZÔ~ŧ¤«” ëˆ"V)'¢füZŠ5ÆbUÅú§`±’ =¬= EmV8o¿ÔúS¡X§@€ÐÙÓŠ‚À%±\½¡¢E•ËŠ¬ª)U2RwÕJ‹ÛJª¢à!½ð£qj!ˆâ½aL§Õ‰ܰZÓâ¤WdBËDz2™Sc,ól@w[xü¿—½×”!ÿ”û‡,™¸TÎD™ÏÛÄÜ(1î\Ã#Ì0¼ã$—R_>§x(êPœ|ý/›·ÿ¤Æ•Š-/t–b/TgF]yÜjÍ­¤Vª”êmâ‹'NÕE/5f†î3w6]9Ø#V6‰Õ=bmÂÄzÅ"…Rhž”VÕŠ•¡ú·ªVru‡Š k'ˆx¸¡øqfAºªBTРÍÔ®n«ª* -NÙr4þr̦TÊG>çÄ µP‰–¬=*Vþ­0A|;üp#Å9©€Sÿ üHc¤ø¨„’ ʼn–s† ™*³@4 ±\8ü z:ŽVŽDÁ(ˆ\† @  ßIlå,éôVšò5.êÛrÃ!ÏzHÿÏêNëãläÝ–ø³âž‚Ø/¦ÑùŠ×rj~Y¯{ßþG¿Îe“‡y6îQáœèÞŸó>x³ ûÃåþr܉{2ûz££–ñ]q ò¡3¸È›7EйòŸ(4w?« w&ݲ {ÿQ¾|ÒO|wIñkUÆU\UWøÏï#œZ»ÊOÞÜ\ÈÏçO‡Éï¾×:Îø»o'~Ÿ`Ý1×ÛŽŽqôXjwÙ%øYOd?&_zÊFdÎp£FgÁ·“kò‡4®Su|@À>‚àXý¬ÍÿÙÇ_·´c·B‘Çðÿ72ïïf»}ÛÙ÷ÏIéá@÷ãß¿W-?ë6ú© ÏÑAø³r³i¸—é? -ûçÎÓŸ¶ôÁ¶ú›v–ùËÈ>\Øï{5ý÷z<ð¡UúÁ6ô X>=`·´Á - +œÛõ³¿t9±Lf¡~ÖVóÉôø¿ññ}¬‡þÛÖ4F½Šû¼(8ª;ú6œ:øgUZ³í[nîz-Ö9ö†ñ??tlíy<é:“äÜ`}Žb¼ïâÇÌYê–ÜÜÃAÁõüÿYé磄뺮©²fѨy ‹ °ü¸]Ž}íÐEØ#޼èÜ>QûgÝÐY3þÜLïÁgñææ;9™[$}Ü!Ï+òÜžG&"ác†Kçn>ëg¸]òÄûÍ_‚ƒ~|†x…^úY‰Ò‰]ÒÏjêB÷¸ë]ÿKW™óqe9ÿï`ý¬~íæfÇ`¹³Jéá.Ék;oc‚îg½Ò7Â>A‡“*ÝçXŸ{õ[øæ\6bÿÅzìã7žó…=ãÞ¿†»Ñ©Ÿµ¢¼jdþV“æ5'àCV>ÌcBÿlIr·g°ëÞü:´ÿW2z­Ã¦‘³ÿžä”´èÃp"ܶde¦ž÷yâivÍjy_¬®·ì«å0‡¯›?±çhËõ6¥Hn¯kWéç¿Ò~BÙÕ7Ë«aVv+nÏ»¢ÜÙí½w¤ÛÚàóŽò#¹÷‹­¹E(êF‘ÈO’%BW‡Òó`|µ–*ûøåwÛó¿«Å_yò¿mAøþ/¯DŸNÌâör½=íIOï=#ß%Çþôê¸üÙi<œ{Ö¼Pé¶ÜJ´7ß—O_´M ºËßæ@ß”ÿ‘®`Ÿ>?™•›Íû;]»Ùyÿ_sÑëLfùt|ÁAžMðøžŒvÏÛv¼•`ù=ïÖ*E'Pã²­»ýéôÒQÐ|Æo¦5ï÷KjˆëϹOÝãßæ•´«JŸ{nÔlÍÜУ©žVúGä/ * 9ï×=ÇÿÅ%,·à(`ò‡|!]ëíýÖ<­UR ÏÓ8øÆNm­Î3(˜®šmOË`5Tï“Ðÿ«ùqŠßs‡KSŸn}’klþÑHÔxÐG»7XÿŽmòÐHé½°„ù»ÝYîÄ'µ·’<<õ³ö…NÛ¬aFbîê.«o‹ ö7ÃÝBÛ\¿\…·›ü­‘®}œWBÖë@ùÚ’=cýtúñÓ$½_aÅ^tÆ`O}kÍVß±­öîÒ}?]ðÖTu×oA…­öä»Ìxî¹*‘Ut#8ãeÆæô·¿åÝ'Ñ7éxÅžgÕ´Ãdë„¡pÇá¾6¹‰ûB÷7ºV(`sÇý"ŠyÊ"*×ÚšQÛ=•.}{‚;¿¡5gåæV/ñ&î/ÏœòݹÄ>/6æ ,è³/Túÿá^+FfÞ­¥]ÝqCÁ½Ç>¸ yý£ì‡éì×…ßýk¼UÐ?vúŸr6ýü FËe™zfiAX©ï•¯^Ãã? y_÷ÿñÿ§Ú‘»Io†QõKR•ävi]·lš+ökƒö[Á"w¶Â7u³onû-žÿ÷†È`ýüë³f¾”Λã¾>ÕÕežEf‚Ä‹ágòµâ^³[ôIü­8Vö¿÷®¿¾~ÿ^Yî÷ñð9ì"ÞfÎÊ×çkt'·ûRb½ºÍ3ÐýNŸ‹qÜS þf~ú?þG˜¹[Öu[Nf>BêJ«ÌÀ*˜.c¯æ€ï“Y™d)Ϫ «víß÷XÑ•vEWº¡œ¸‡} ©µÁboéßaÏ¥e˜ƒU]ôMÓ-Ö×cògùiî?Ìþ…Z•ƒÎqk ›Q2¥W Ä,u­t£x—žIÜè= -¥OߎóÔã1´ëÙý» u®}îæ½ôipÖiì¾{¦ì$l~nðç*q9%F¿°„¸ÿèñ[üRašt=Àø»pŸÝ»»|ìLýÑï]fî°òP+¸ŸûZ G•eŠÎ$ }2ûÀ?§Ä‹]ø™ÿ̱%Èä©a³ôŸ¾ÔOË”WrXm÷û ó‚3 –}þøÏ¾õ—¼€ææzÜ8ûn/Tø· oeÖú8néACèï¸ÕU"RNü9«ës‰Ûz~ž~Öð:’n_â—Ï}ld¶kÓe‰µ%®!8Ôû™¡¥£Üï¯r·]é½ò?Ê]ß}xÏÆXÝh«Ì‡PÎgâYÿK¼÷O¡1òù¥?±¿7÷“Ø“|¾5|f=#1¹ñ+ýob¬ïÃÕ„>Uè†W só^É÷e¹¿.ÿk#®ÜF,Ðè¢ûp²û\ûk |ºØ÷{ðöà3­Âý?·ïŸCZVÚ¯¶ÂÑg2/÷¥—ì±=]ž=äF{ö4Ͱ ç¶½Ã²»7ôÎÿY\ïê5ø¯‡êbº¿]Ècý ýO -½û•úÜ«þ»íEMºœ -5ÁúMyùy¿Ü«KOhŸ}õ·ãB§Æþ”Ý!‚1@,dE‡®j…bk8µ°þx ëWp¥~+Ï;Á§@Â'cõ[7S4‹µÅ%ñ¿ -»¸! §n·û@÷;e¨D·!¾,#ÌÌ/½ÍAw²E²Å–¹y(ú-×Ôc £©[KHâs‰¦ä®Œ×šM2Ž…½ý‘§Z¦Ä¿ò˜Ë²&+Z˜dӷ¢qZÒHiªb³J2âç QUXa»Š6XøoìÉÓ âI;·ÈÙ5“tMÏê ÖKiégrͶ`þeH%°ègҹɽ0fñÉÑ¥ «®Šz§ZwÈ×'œ ¹TɈ ´±µ5ù§Õv†ð*`<œ³iáÃü T1ß!k~† ‰7Ò?õ”ÌjÃiTG0Å•ÿ°?½1)*áÉ~…Ö -À„Qí}NO&@Ô…Ç5£uæMA˜kã$ÔQÓö@í»7úkÇÚ”–rò˜ §mût ó­ØgK ÒÇ £yÎXÞÊÑ–YkA®ØJcVòÝŒÍú_ó×1JðÏn)˜PyüqY¯NA8×–å•7&Æw]´ˆ-Ÿ¸Ù36q«1‘•cùÀK;½Ç[ÔfŒCïñÕŽ]díòásiæ”â¥÷a8vÆ^èò‹3ZJé˜H:MÐE´=ÄMr¼iK1Š ¹â‰ÜטåEØÐæ -|dÞ#øáóƒ$¤Rí`j°d"”eEMÂú¯ä´TÄ„»Œ>úþ%À{ùðaíIZ‘Žârö~G+àÄPu¬Šbu -_ÚMû, o“~Á¤Íyx t•J,GÛì»OŒùd‚É/BLDº9ñ«š½%¤ìMƒŒ®Ž.Þõzk°¤½mÂÖx{‚tÂÑÅqݘh Y¡ŽT|U$á -íWÛr¡¥Ë$©þ1á“T ‘5{!óí<;H.Ó¸Cõ æïüµ˜e/`^Ù@ -f};*ÁøCTp|‚âÿÔx.`<—Ñ5þžüp*ð -¡ØœYˆú„IÎ0šƒ~ÊHò_Z=Ÿ˜`BMq+”ã%º)¶-÷8öãô®¸›orÒ!}B‚t@ÏÖ=GÒads”Ö¬y¾•¾ZiØýmÅô8ìÂ¥‘D§½È©§-Ÿ_Lã|äñfÐóƒÁ;Å$•'%«{í;¡%@ÚûE•KÊȾì‚O¶O‚¼Œmé»¶f9˜GnpåpÞ$ÚFÛøH›… úÎ[*•÷.l YúÍNâË1„°ë[P‚MûPç£`%Ô‡L„we<4\uo—ayþ …4œ0FM„B£ï Yš[M×·£vØÒ}³A9 {⡊Ä7D×® ¢œŽWɵ]ŸcÔˆSz@ZŸ]–¦gb˜Æq¶ÍžÄÐĉ ªáÒi²²“þ;YC¤€ˆ#c“lÓWYV vAßç2ðcÌ܉„[ ö±¨ ™–³Ø|›Š`-W(¶½A×}[@áÒœX¤©ËpÞõ€ø…f;QK>ðÁâœñ%÷ð<7©Í1‡›¨†ñù÷%/á½÷“Vþ”‡]•®µKf˜àKÔfŠLâ ©trLè홀ÎïÆ`¸¬Ý/cÆAÖ/ÐbðfonýÙ:}²¡ØÒNÿÉï!P±¤ñABÈ“ƒ3w12*•þp°@Iµœª ;´eyªfP§™ä¼Ÿñq¿V…”)üosÀ ƒ§¨ÆñUŽðp'N˜‡R)Ä<ªÝÏÌÄ2úkb}4[J¯J#‡ìä^7°²uKÞb5ܵRNxt£±S§1/÷;bòÅO¼ˆ6ùB¼}6Æ(ê ÎDZµéÑ_‚ŸéyîüÕÂĶC¥ÒäVÄúCì¸F -€·óº‡G:[cã5öhêOPEGüV¸ ”q˜ÉMçŒmÁMU´g —ë²þŒ7®Ž|W*Ͳð_ êgÙzPϸ -9”“è×&zQåVñ>²€Žøƒ°ê³’ Gq£þQŽV€aF¦É°sV¢-^µÉhèW&®uAjdÂ@é²âÊ«CUt³S^²û×{vgÌm–ýæ!¤¡U ƒù𤠈­=sú\Sp'X$ AÞA\’§z¹Žtû§Yµhp)jã%„û˼çF±¯Ã—fzÍ&X=YÞ íTI:³F , Íæ<;äD Q}t•º9ñâ(á*Õ·ápp5CiÖ -v·ÉotëÚ²Q¿ëé6ˆ:Ê,Êr¨_ÓƒR#äÙFÞ]HÅFX.Sùs°µ·†Vó ›Ìxáß@½˜Xh¦íOµoµ¢ Ö~Î< tõê,ת;¶•jöÿÙy Mž¥?šŸâëC¢[>[hÌ[¬uú —‰«:+€°"|»ç™ÑñDüÒÌyƒOÂÚ@£a}C‡GŠGy—e8õ˜©õ»^uV„Μ$ðøþ1{ rîó<ûŸ#—KE -ñ -é0ùÃÈT+O<ó†4ýë ´xNˆ«N´kŠ5b,gÐæ©²7¨[¢NáÑê/’1¹9aê(6§ÏJñ$YÜ{Åaæ7™È oHÙ|yíR‰ŒÅð/²–® ,€1 ¡iVœ4;×ÈU ÷a9©DKa7§"ÝÝp&%9qÕÀéJÀàÍ©%AÖÒCcaNâ帤‘Dûc•ÝÕ›mªÏá®Ö[° ®ßlnüËÄÁñ¼#%±¢â(@ŒMþ k€øR¦×fa]X²ÑYQÂØÓ$\’Ž"´5Ð{M1¦Ëv` -h°ÜÁá\\ІÝ:áÑÏßð~¿V ,´U+¨û”ajª ÷ýî4>,MGµ\~BÏsäPSÞª±-qE…ÑjèAÿè«|{P¢´ã×ìã#/½f–<’ Þ!dì먵¿Áî ìW¯EQÌ‚ø<ëÙ_× CªC 阺!hEäÉýiV%'?wm0ïï yÃâ%5ð"ÔôŒ´}ÜI' ‡Æ RÛdÀ€{ ¸¨†|Õ;<"xGÊl€k\ŽºŒtšÑf!¨¦[C¢‰wœØö(ŒÛ]”#Ü 9WFBpô)¢Hºœ~›5÷5 ÏòÊÏ|ѳ ióåèdr4í+Áhµ8|eÈ6—4ù}ýÝÀ›u68›¼ý§9G1I?hròbåü†þWØJÐÆ±ÎØ¡ói6¯yé(J¹Ýøé³–x¹0–úi¨yb|uiàÂÎ_=gðßÑpSð-aÊ…96«.ÌjŒ%òã™69eÚ÷HX£(ïÉøZâ~OÁõS":ý/wÀµŸíƒ9jàÙÁFÌ=õq#W $ÊÒoɇŒUâÂÔMp¬™htf3½pSc!ÞךŒ³#*)gk£=d;z›¿#ÂYXÄD*ûb{£÷ílU1Ábà€°¬¿Åõ†u©WbKÙ¤(8‡Ù!ß@î_~Ž~‘àEQR¹Ì’ñ®{dȺ±ÑG’ SøISc,OõÝã.µgšÓðPbàX§Äÿ6ŒÙËZ´†,±E›õÅQ+nð¸†7aBœw£z}@&.íé‹Qبx“)ùvlœ¼¿…6]ÜA|3&Ô«AV°O7|0Â6’O ’|Ú+÷Öw€U]³áK„/¤háß!cNöÿÚÛq.të’½]ýõÄ5 Êh"©”Û8S‘>_hI-5D…š;”®° ´‚á¥ý(T;!Yl¡ÍœòH"KÛ :µŽLtö1'“¥j:i¹Å_\Ce 7мGyB»gga!ƒÂÂxJj–ràà\í®Ý§¬ôOäv¶Ò|Ï0&Z7µ|G­æÃì',œ#—>epwˆèæ7z¶+&”Þ.•)Æ&öÅ[)¥ …_Éß`ù5Zp³Q ZspU`š)vã ¹–€¬¨d<:KŠAÕT•Ë'‚yÌgƒgq=U¶Ä­x*¡HÞɬEVs•ǯC|4ìƒNÏFX•w•¾Œd«ì2YÆFOn®æ¢2Š›‚Ÿy# 3.,]ŠlÀ[54?£nûcܱ‰è5Ã%^j}‹ ïrÏë5ÉpõƒpFØÃO/ø‘û¯š ß%ŸÃ ¯<ê¡ø«H=”Œñ™2Óxçnš‚“ª¼Þüæy$åzQ*€R”j4mrCÏå9à¤vÔj¤^û…ºÈ6Q0[Òæå‘Ÿ:•äJ©üμ -„¤wƒ"8Di#ãJÍ=¨B Ö(Gýú© ª˜¯Át@ 瘹iÐôZVÀu|<"`œ£ÎN :§h¹dÝ˱FR(;n9For³vmÊøl¿¢‚ûð-ÝÁmhŸ€’g†åÑköL]°Å%÷‡«‹ Röø…¿|Ö6kØ®Câ‡ãmÐÄÓð1 -Å&³ Ž’Ü6tf¾4©ç\ë˜ßÅK‹¦ôøÉãC.ƒå -3Ëÿxñÿ˃lN5¹ŽÂÌñé”E¿ÀËì°:Á…’=2•mc˜Ô}ó¡k°–-’-Xþ¶ƒ*«Èô Á{Lékà(Mú^W_÷‰ôYî$¤C¿Ä«Í)ʇ±éì’i€¶k[.Ïéû]Z|X䣘ÏZ:iˆUã•&Ú/æÎÉVßmÉÆÐˆ0ÿq:#×lÙÏŒ¬0ú˜Õ•»Ýý4m{Fá5F¦þÒ_`å Oº Tq­öÜL¤Kôž9´8‘h?1ÁÄ#ïVüÝlÃÀIg’RÕϬÖl#EÎVX§ÂDn·u•±ÊO"CÆ–‘2‡îhánâÓëÐ3¾A„D¢ÎÂ1Ó㌷ª\[˜Ô–Ãi·Õ¬GÓ`ä׿ƒSY™f{uÄ>é1ÀÂÛe‡DbjN~•¬~‚@ÍçHA‹e ™wÿÁ½¡Xw4û ØFÒè23Æo~cœgü¶"2EU³²ä^Yª˜ò›,r·U¹žaézÌ“µ_£J–´Zøà‡ÕÏ´ÄVæ?zØKoá´;2`•ýü5„=(òuJ*„Eœ›‹´ {ïål;´7 -pŒ›qk¡æmp.—»òl—T•%ÃCª—öÙs¥…MÕ°Êœ¢¢’Ý32>šÑL—»PH:Š÷L…*K@vá -ì PùüÈ¡¡©÷L—Þªnï&}w}áY©Ãeüµ`r-Vp¹#“ÈÀ«&‰ÊN1%U*»Ì¢ðÅÒ¦$^ÜNµg)亹‘ˆw:wÕ«”XÍmêrK–ûô\‹{˜‚,ƒ¥ÁÀ[3¶‹˜r¢´ Ù*¨5 &žäêô#méD]Ç–çú DIk“KÇl7N%¯±iç¨PHI¬Ä{ -x“+„…u•,Û®¸CÑ Îˆó…NíÖ\oW}Dk‰4À o?á÷ð1C2“Š„ã=uZGF:[S.ôr¬«Óá H…ÐäþøY‰‡6òâ¬I–Ô¢y& #°±g27éy(7 -y¯ÓR^JnÏIL*2³O¾líéü]½4F=;Ú•èûoæ‰*]A‰Ù±1æé¦»Óœ@½¼° œóúðMØ}Y¹:p8¯h¾Áó [L‰©å¦ØxPá˜^ é`þ#èÈ5ÒêÉ–Kö¡P¹hõÒŠ”}¸K²iè+ô œIT;I¨ŒbÎëÎßop5z»=D ›P®ýPÓf²¯\LÍ-ºñß ¥nAžæÃž´–Tûå# Èçþß90„€‹{>þkfÏ»dm^z .S@Ë­0xH0qIò3z…Ø”geï•'¢rÓBðŲ›1r\œ³Aƒ¿ð¢\–ï2*œ4®v£ÛcC’MÐä¾×VæÙ%ô8Õ yýEë´ÓA¤SkÄ K³3æ¥2L•[¸7^@aw^?)ªÎù£8×›vÉí*›D‚¢1¨–‘Jµí…→Ö]Lº Lÿ`åÃ1&UÄCŠÍ‚]wkV&b˜É¯_($þdó{ž8O Ÿm™uï‹Pe…ö8".¨÷ƪfgœX“Æ_±g4çÑ”Vñ$~iÆHú‡~ÚF¼ Po(;ˆ!÷¯mŠàÇWB܉+Ýüç™±ù½‹)qˆÖâ@È‹…“HâpFŸe €Ç‡¸òŽ0Qi‰Ä™ôNa, - -äK„®óT489gÉz *:µ,XRÖ·!ºÏïã4ìú­ Ä -¶‰~ZEkQúiÄÊRWG%Ϩ* )Rà ŵQ$)$I'јŸËk¸a4P‘kÑ<±÷ºäŽŽyu±™ÄЯ² -JcœF¯*¬2ê>½ê±R˜é]¤ô&¿\·÷}üïf,E•|¦1‹œGQñûg ÅØòSá¢n&fÇ<^`~²zØýPL¬ -¬†Q¦ œ‘À`ãmîÜpRu%ïÇüy]dºàWàѦt=H±þH^Ž+¡ÁUÈÕ(í –xŸOn$ophº…å&\6Æ–œÙH¨”ü~½ÛÛu+‰ °;:<¾…=®Ã·“sAó…p}¸‡­Àå*DuÀ5ÙJTƒ.kat¼Œ&‡;§Òâ¤9eð -qñ«úuWÁ¤ÔJÍ@QÌŠ7~ßVÆwtvfà•ÀìB"ÈLÙ £÷ƒŒv!_Pæ7ÔSãÑZ8ü™`D%rº/Â/lÉqëÅK.ÈÈbÿYö út÷x¡ƒÕÚŒýc#„f‰7{Õ(’Jº’…þšrçºé$DÌÊ‘‡/׊+W_Q×Á¿Ô§æ‘p -µ$d(\ð¸d1‚÷ €žÁ ‰È€òØ÷ðÿ-Êà -Ia×&˜läRg ¼ü‰h„0&¨2b¨twŠn–6›/P{µ8Ô!l-£á«W‹«ã? ùuè^Ç3Ë X®í¹ªd‚v¢Ð9AVEè_Û‡LFÖˆ ÷Ï•ØoV´Ëæ—+}$+³=Æ=SùcÑ_ä“GTØ'BÐÅrvE•3I«;ÅcvD¶‰HO¡•Þ±s)÷K]‚D/¸ñgç>/¹Gá0lo}HWr²Úž¤ÆÖ*¸6i4D´>+œ³þå[iËÔγ}4û÷ÎÓOÑç¿JCŒ ùÐÈ=éìºQ{ "2m*׺Ý=À¤•Ñ[‡Ž¢Op«,4\ˆB‰.óu@º¸%Onsâ¾cAB0¥§Ì´&©ªô[ºwW|Sþá¯*µ“ή©Äß½â´åü€® )Çd;„„‘]dx§ú»6kwÞMb¡Ú/ù€†ÁƒTK,†WqªØ·m’f½q`ú6ôíulªõ27K¨ÙTзe–ñT1¢ŒÎî‹ã¹[öëË©º\ʼSl0WP½Žl „Ü`z2M‚òch}tÔz]¹Á«]o´ÂÀ'0Š¡1†éI=@iâ”rE¡Na–¾T´¦xC *aÚY«AF‹LÒÛø>‡åަøURð./ _À›N™&¥ð—˜å;$ïL¶æÅ«G2]å<³tC^?X; -Öý.„pÕ†ƒ¢Ž¶ní”{65â½ÂLŠú{·÷dD’ð²ÃGÐKj=Ý»CYS‹àëï  !óGƒ7¤Ûœƒ<C˜£èŽ3Våòð@¿¶ó3ö`BUß4»‘o ké ðùˆ íì"Œ1ÇH\eJ‚5ARŒ$x}zZÖ·Îcóð¸jeÄK‹-Hùw„ZÖ¦—Ÿðú÷î{—`†íƒÓóób™¾æ@T%/¦Fh»˜—Á - -ŒÍXumfËá:“ܶSòWÕ7…cÄðºÏZW×Û<1~á ¹f%h2Ö /ãzˆöñ’ ¦\Ï ¾þ‘k|†™÷ Hu“ýÏÁk -y¿ -¨hÞDÃùjÊq7E“e jCÀZxJÉÂnxAP–R‚ÑÀ7¹6²T zÛÑúI‰'sus -.ã¼¥,Á[ÓÛ:ÎE|ȉs‹N“-(/QØžp­Pšª,€Y´PšÍÊ£~ -ȆêJqD?n“-EzÉþ—¨Ù¤DñG:Ó¯Oü4Eë› -]õÆ* -“IPÞ쫇ä%$î GÛ¸.‚võÉBÐe êì‹Å¾h:ú¶g!5RTz.s~YÔ®3‰øÿò¬ââ?Ås÷£ÓÙµµáYÆ!‘ïðÍ Ñš¹)ñtí½bú᧺ÚLËxJ”¹Çª$ë÷oh$08©ä*Êõ°Pú†É;œ»´m©Ð3¦¯vµ«¨[XF¼ß*Á:é¹ÇUÀ²"Cw•‰˜ Lsª8EŽ®¢"e­ÀÜE2o¶õ׎jI€¯Õ³5ò9Ak•»¤ZØýâ„îÑ%*K“ú" -Oa–ÇlÀØâQ³%˜Åú*š¸+?ª8XuÖ qûÎ ìÈÊjá¬(K3+Þ0=æÎ™X±˜Õ$t-Úí{‚¬âá6¾<”^ÃÂ_õÖó?Ä” -Ï%/ˆ˜t_µµ„XNCkþV€¿¿Û¶<6ÿó9”EÙ *™dAÃaöt*KÚ%±Ÿ^×£¿dùè/+Û(T.ƒüØü<ì§qWKHõ³LØ>4v‹A€bŒ~#¿#”ÅsÞUü|y¿±kZȧ˜r"\ĸC¥þõI òá‚‹ã˜ù•RI{ pí~¦p‚kw…ï1µö0À«„ñWƒÚã¨T€­æ©”âèá»–D…À"iÊ4U,v A:¹ùNR£0Ùþ`Ü´¨^1då¢Añbóêm-¸*ÃÄÙ󈧳¯ÃÀú×ßm›+d·˜ÎÈâ!°-âC°˜¦½ø«Áþ‰ð|}RŠäcƒ€*æR‹*™W.õÅx -{æØ—ÚïˆØ²ÑÃi‚÷Ûãß&ÙÖ’¿ÀÃ.𸠱°,†Ï ¸»\qáô™‘-ÆE¢IH¨hWŽ'H2l„©ÆŒÌǰe1Ë ¿(ßê™g¡/Âx iMä™—H„‘5nßõJg8Áø ïÏÉ&Iñ«:+R`«Ê¥ˆ"ÔV^éÏTi]E€`{>Òýz€¥æMu ¶¦Ë!]É‚”·é{cÇiÖœ‹`X‘µÞñ°ãÂϼ‹ñ ´ù ‰+4¾ÚSÙ .û´¦S½ QZÃa©›Z@ó²j(G-¾`ÝÕ÷FPÀ¨3ØèB ,±¿,GÑ¥xÕ(6c2£¢bÖជîùÍYq›\PÝ’ÐïÿÈ –f!ïlN·0¤)d±Ý? Ô²7ñ)Ê„ÒüË ®g¬² jµÑtózw‹ 7JA‚v`æ ¬Üž¦ ±¬$)žÀE½†#ìdôW©_øj*UoPö¸/`ôµä[éS®`†“Z˜€ÞBT`mÛ€Àꤧõ”u!™uýO{¯3‰_¤'ÿi=ëò¾Ð…Òß©š¾þÝhìbüR.÷  Pqþü±IÓ‚{§º/bÀ?ç6hž¾ÑŽ(¯Ä%1¼ÊFÊCow81ðè˜a>–'¢P<0ê™ì°3”@XfÙ¨g`;«H!µŒ·0š=d^€)C/ªpÀÀ JýWhT6]-Š…æD‚Òë±Á  Å•žDÌ4ï&UWM(&¤–4 ô3p² 4úåʼn€ïïÅNú QïdÓ.Õ]£É•2Géz¼Ó$ ÍnNƒ¹Ú½|µ‘'Š9²“ã #]Ї‘NìJPQšTJÞP+ÄZ#A––+¯*E-(cªl*3;©V8¶3q•uÙU„†ATÙÈ^i…s¹T²Ò¥Sê ¾]®8áYתÚ%‡FùXl–×X:7O/XYQï­ G!W$Z§3«I­Pá92êL¬i]ŸAÞ"D|Û­W±UÃ@Ÿ‚8ë­rjÙQ*x×Ù [ºóU -|Í«–H¸%7½"¿@‰‰Kÿ]Tê"¶¢!›ésµ„‚ÁTV)ÓgÄ­ÛÂÆÌ‚Ò°*óJµ|ÿRl|(×ÿ™xo£ç ~ÁŸºp2.¾_/’ ¾ôk´Ú áFB.ˆºQ¾ÑEð|)H+LÓ¯¡êq¾Œwn~qíœ0áH8"‹ 0ãiγ™cŒ -Rð|†¼'èKHâûš #“˜LTû†±Œ[0$³ýNLx§-`1¦È‘ÄaàS€½=ÝGÇ%„”ÖQAøÂ+2t—ÝRQ2nÊLÑÉØ‡X™þÛeäžöØŸÁÃ[̑Ɉá­ë`/N9Ò*ëöZá¸-³ÈKšžÿ"¡u42æ D³y5éö5’Ñ@ç-¡ðÑÿ"|òƒ0U1Ó¨Vã#LÓÿ/ºŸZáÈ ï¨Xì$ YkÿðáHF¨*4X²mxflÀ’Òˆ& ªlŒA¦¯Xx–J"Q”’Ë—+­Æ4δcÍÊ¡ ¿/¥£t\dPž®«ß¯ayÄRB†Íî+%pF• 0lÖé jm®¨œüË@ywP´’Þ;t_ù¾6R‰.J -ïÚá(·†nTÛ³ÇFHˆb-6tÌ&öµ~öÐ&D¼¥3µ¡)£e›<¡æqv›XÕ†ˆ ~*67‹ôåá»u³k,™^ßÍ$@‡¤XôÆÏœâ1L|“ýæk̇ØpöËCJ£08óà©¢püú]ípÞ¦.xâ4Õ3QaDSÄØ…Çã“9+/‰('9Ô“C‚NñR@ob3ÁK0äF…Ù19üܵ®b¢H&¸%¿È~QŒØ~K ÐRÐ2KaWë˜X¿/ mžOî¹õ‘ý›$üö7&‰Sv'\~È*­ŒORìXv«†9£„É•‰m‡+ɦÓWú#ðTí#Â{ÅÞ×#ûóºdA%ÑXìÚñ×»}ïÐIx«½~¥RµüX_rtxFP°HÁÎ*‹ôP=bÕe…’£ÚoÇÙñFôûÆ[P@½P¶b/8éQÌ|&„æƒÿÝpÇf šÙIàÞõJˆ={mÙ¢SIÌ(“5x›¨˜ÙØü^ƒ7ÊpŽ‘á=z=‚騊j -V¼ò¥ ÊAd5;~«ãC>óG–àÎÃÛ:Åöï<)×qh‡(Ìæ)¦PTʦmÅ-^T -ŸùP®žöÂÃÖ 0¨`Üóhvè·… -"¼åx¢ÌÌÉ­ìѧ˜í²¤–<uûrnžþ+Al*A}]G—¬¨ ’žbU/¯QÏD™•Ý ôÏX©RѲÙÂVÁ²ò$(fmïÜIØMÊw##aÀ(CËðÎê&SÙ(ØíY³d„å4á=-‡+€Is’éqõ‹™-¥ø_+(P*r³Õ"¬D-HgB­Ý~$c©Æ€ «ãíùî2÷ÛPKlˆÙü0Ÿ„YJƒ\\)ù ´‚TH–ÚžËÈ…£ÓÈð&H#óØ·~”CÐq Ä -Hëƒ[ö¶A8e.nÀ:)ÿ]AM‘­Â46ûP—ˈ"‹œ]ËP´g„<o— #eX>[j‡1äºB:ús!p‚QÜ”©5,‰‰MP .¶è#Q á3(n¤$¸¸¯È`UO…”¤Ùo‰špQÏûääýÜõn ø±dH×Åî„]$—sµâº3º]ÔSŽ\Ž`”+%¹jV'E˜&cÅdúuT«`6.S—R¡qBa@V\ð©mÎHfÔB†a·¼dsyÏÉjO]mGú!§/dVÐïI?b‘ÀuœÝ)‘Ñ ÀªŠCBG1,³)·¿ê¦ñí2ÀBn‘ê…s­{̯qgb‚6nº{ßy…v¦@ô“W­Y’s|9q«ÄÔ¬a.I¯¿ÉŠ€g+‚ÌõäÇЛȢ£es%yÌQÔx‹ +–¨<É& -5–8xXs?p°\à"‹UÀø ¬>üÖÁMƒ;¾”(èü„©ì)õòâˆäö¥Áëù‚žÏNDÍQæ^jÀ½›ÀþJ¶¼>Ê» OÔ®÷¹IœéY!5'Ä G¢ -“óâ\ŽK[ðJQ%¨Ìôì¾Àg°'V!ß«Ú*Í&‰_ÙëÅÖ0¥0JuŠgÀ‰!òIØÆŠÐKµ)‹²DO -Gƒ”Tgö…Ù"ò[À\µ{Û¾ýÖnÃkÞK“@›{‰cöWÍ®eR‡ÿƒ#Å333æ:4 ÂRAˆ\¿6¿Æð5èäŠÊ&£†Å=™—ÈX + ÒY¹ùÇáD«6Ú)UžX¬L–‘2â5~e/ÕÖˆŠ‘¹âПg?ûlÀ.Ê@Äœu‚ÕŠäÍŽÐ@ÕŽÞš²0¶§vdP£FXÅ99."Ô ¢C‘eH0Á‡J¼+(p -%‡o‚>Ú>rþ h*ÖÊ"ytð&C 'æéˆŒ ýj …';ÂÜa¥6[UÓ¨¬8D^‚tf#‰`5 -SLD¸­ü¢û¥Â³ºÈÏTPÂz*8‹\‡µ¢K¨ÂY5ŠúøDë[ñÆ©‰(»Y"±‚5IÔ.ª ݈Ìb·DTÓä ‘Á jf$ì!Kµ`i‡Ú§¤É!³nÁÕ†j™ ÂÑ—¾ ÈP_þ…|ƒïn!×<˜ú—BúVNÈÀwZÌ”…›/èócL;ˆ#`!‚ÜP\–àe -\Pµ‡4ÝÂàJ‚Ì] )ŠÁ¿È¥°CËê, %Œt¨-óÍ×êV€ö@HñŸa!ÓûóÍÌæO½wtr -vK£¨Š-£=Âqÿ–gÖ• ¡¿ü`Ç$G‡6ÈëDk™€¸§-vöùK_úvâ\¹J, k%äÆÕ°Ø”5ä”Ý“EˆO‘N dß´)¦:Ã,!ÃÄ9 ¥<âÚºÜà⸦Ï>1Â\¯C&+¤pÎjU¬îÂÆ;“‡@µwk„‹6üÒd؇;WT¾ã*êùr3R­²#L††*tS“'ÓhÜ©Å2 ßw„œÎ -6f0ö§B@µ¥fùôö܈HùÑ6T{{*¤ˆó¦ó•¦òô JoRö0Ö5WÈÓí!îwðUõÝS-­ Í!®®lo_X<¼i -£W¦2®qeа‘À~“='ÊÝP zëY…ùŠ‹“zx©]¸ÃÖ³äL<^ô{˜QßzÖ)ÒõÈòÒÏ=‡QÏT„BNİR6¤š¦‹y4¥ž}óÛ"ô…%õ,€Qœ"kµ–ÔÃRà²=¸»ÙHê9¬ T)*| LÊA¢ÑÒ<ÊÎu Ð˜ÍRbõüƒÖ sÚ-¬Ö3MìíÒ‚OÔÇm-5Ά=ñ¨Œ§·é硎ëÙ§ªãàˆêø«Lvê}©³š!s«ÒƒÑ°]ã̤k1-†KéÇyªÖ$‘šEl~ñI “§IùíŽGai†ÖÒð¦x …äôhyÂ. uje1 ! ðÌ]ä–à p¾3¬¦8¾«ññPïÜaFñ6Ò -.)\œ;wk7mÑödI—ÊSoV%.´Æ'4aŒµÐˆ~i7é.ÁzB<®¬´•¬³rÀõ šrwÇ iODaªAÔä-rrî Ó(œ }Ý(á¦A8e…$íg"R¹,FþßèSX©û@‰™)ÁH•Ï,2ú3Ì1v²jц¨ž±¨€UíF{‰<.z#](Dm&ÞB§4L…Õ£‰™!ôèÊV¢d BWË# eZ/3ë:ת4ÂÖà æ¨ù«:&[̲•\§æC-¸;†m2Oꘅ§ LâNZÈó7´¥bZÔùŒ*e¬Ž© ¦Ìw²è·5¦Ÿá-Ž2:Ïše)ÈÈbˆ&Ž+¦ÏŠÁp@’›œ)1 -`*"óQ‹® ÊJ|˜@:“cúQjkŠhÿ-ïM[ ­<ˆR sd˜aæšÛ½+a }ÕY4›±ÍÁìÉwew.Cúc…“3Ðk‰£´®þ^<>ÔëÀ„Œ ÿYÑ[êbÝ/*‚Y{±^ðéQ¨ƒSg¾ª=î“ú4 Uo›ùïÚ"!8çÔ›ÍwÃ¶Æ -â.Å8)ð:ü·ßÀ¬ò ë2¨l±?Ò‡ „A3bÊU¬£ˆ¤£ Y§œ†áp‹ä¤Sªä‰ýìX¶‘§„ïnJ{Ü?Bâ@¦”0U%_bº¢`ø ÑÀë”°̨̲q‚n^—+>¤kÍÞDÉ]Ä‚°<ölU_;LTGAC.”õÆ"BeMd%µÔBm;:€(ß«ÛìA†n°…¬d‹‹å.¦Î%hI§ó4 p ³X¼|‹Ö¡Å'Fk¸‘à— ¬÷]ÌÓVW€,ƒ×ƒ7› õ'þQå(‡Úß äm–M ?§Œ!}Ê,µ ôõØo„ÑŒì¬<¬¬¾`~ #¿†¶d8ïVÓäÍ;óû-*bÕäw/6%±uœÚÄûY!ćlé¥W¼(°¶2to!µ Ä= H±‚¸Y’C.õ'Âë \˜‹ÃƒxˆšÇyô ûÅÿ¤çO=s8Ž2\ZNÄ…ÖCŒšL0°Ö²òNa õÙ (Ç ”,_ ˜>É¥PØÓŠ¿UEž„ÂbAñwÁ“F]aÐÙßëw6÷þ‹½§ÔA‘Ž*u”Q;á¯1v¬%ñj±Eµ§7ç«|ä[x|’ßÚzW±¡t­à"ж(CêS‹5aœÏ”—m,ЖÑU…ÀÒÍKÀ“3Ì|Œü†i×âîß´3( T3uT:Š=AåzSÔ¨Þf›¼Jdâ!iHiœÈ|z͈!IôBÄë!÷q(¦©{ІGµ‹âA»³M^öÈ]º<Ùõ’R-(2Òq¡rBHw¯‰¶šäH&ªÎMâYTÑœI ÔÙ’tÑníó[2}y„éɺ؃)d™“‘ó¨¨ܦ`G¶Ë›r ^ýØ|;4ùf<Ȩ ©&»sP²v~ª"ó;ÜÕ#‘6Œ´²™n¼;! #ëFááØùT$ÑO9§54l,{XGÿ“¤½Ý+È”Ãü‘ƒ•Q»§´#ê ÍS‘þ»w1}`¢˜aâà[1°µX§ H0ÐØ^Ö?ÚÄ‘_¿’,9IzüdbV`þÌF|SôAxš@É8ºï!"˜%3ÌJ”Ðà„$ g©þʵlR–ŠÒ§VÂm:õþùÈèVÊyÌp lê\ùJÁ­Ž/e\›L:2 ¦=“‰o˜e][VœGLƒêKÆì‘hÄÈàñ¤ªqy1kh²×ƒ*‰s$€â ´ÎàŠy”ÓIú+Ñ@ ´¦´½¢ ¾à º]çg¦ó8ïÒ=Ø&b“_>ëÍ= µóÅáÏ*²A¬~¬ZÝpf$ý’Õ”€'m;‡¡¯%_Š»D,Ó^ÌæÑ¾Ûhy¹¨¾xyÑJ‰Œì%d ¤d2çÁè±ðäåjr\tmV4çÂ[Ѧµ‚Z ^îî¾åø9i ^Øè}"ÐÇ ÄÆTĆ@€Œiàø@^ ÛPÂYý/ŠâŽžö™.—ÓøØº jF&ƒ§SlÐáP‚*('¸å”¡êÙyOö²<Ðisìï\;›À;T¡rHm®ŸŠËÓ!ešáT­+òEŽKöð¼äö÷ÈDK2Kky|§!ƒû¥ôW‘bÉÀäMñü!°løèqÜhìM:4:¡oÆ/âõsÖkõå³n5ÂÒ6uÇ•±º­øvB¨¢5T‡òóÍa7XÜô[¡ÖA”ÉB0qýX*2ÈÞª ø>+ü¿Sc£qůآvaB±@¿]ˆËßbõ‰íG‚xë>byüýÆâo¢ÜGq$ï¥ì`´Ú×"Wª‚_Ômˆ÷{½(¾ ó ÒÀDÊ”;` -~X=LK>|Ïq’¯7š²8%Ž’ïB׺£´P’|¯® -oÖ¯ð4zÇÉA;úþ ÖDéeH™a¿WãÐëÆ{,ezfÁ§ -¾=ÜAd¦Ž²‘QÐìá8?«ä·‹üJ!ã i¦_l£"€ôn -V·Î,ÌN*4Ó!ôõˆ@ò Ë‰ˆ= ×»C;'HàÍéÊA°R®@B%PªàþÏ­%׬”¦Â·šS;—_P¬*Îj(WçPõzS|vÙ°Ÿ¢~_¦¨\'²gË5SÊÁôx=Í'¯’Ky07¶þÿÀP¦LÜ“ÐV„6{$Þ·E¸-|•ø— ÷ER—½ïÂõ¸ÂlŠ4ýö#ÙE¾ŸxÜÉ õ16AÉ{NÊæÆ‹S¼ÒóŸù(®UÿÆw{‚:äИ=Of¹([×g%æøˆŸ¦zØp¥\rÅvV›,<2!ˆô -p~%ÜRëÃß+Äùví©òæ•%©¡•6IϨ±²'aE{²äØÃÞkÞÚ4ŠëL|ê - ­»“UV¨ãRíbšÁÔ¦´žA0Ä‹¡ÈmB±ú(ž<÷- -î‡k*@ÁÙ”ŒÔæ'±2Hm4­BÖ.Òv(…¡|!ßeÌe"x—,8F³åŠô‰ˆ,ÝM•5o)•×”5 •¾Kc{‡I¢ü+ ‘6ô—Do{f+ŽRœ¥˜ànF3Ù¦æÍ8ð.Z2%ܬ±™eKÉÕ(,U)EÈÇ—óâ$EVŽ÷D Hé -Ö.DæÅùùFA9Ì“J¼E]¨:·•‘(ŠW‘W’‘D¥b9Óéq‚ã7TefˆÚ˜E„ßEíÔ=óœ`æe‘váË+ †ÚÕ5¯‰á'©Ï4$ŠˆzO¦4âòDŸGÃRNûQ}î¤nÉ/c{ÑY©é$-ÐF£¸ <9%R§¾½¶“[¦* .9;˜jä6);f±Þ¤ß «¢62¥ bŠñ;išJ¡ã¨œiz%õ5^w¦o@üƒû2P¦R6(µò–Ü9²˜ä™y¬e†Ð‚é 0IòRÑ‹Öó·´@ƒS jÌ–%c×ýÑà;îª Å•’ÅEï©s~cªóy#‡ëüR²û~(*%â’ªÝÙ“Î d»áKJuÂô´9“d Eöj/·GDÉ}ñWœ")Á3©CW¿Š ºôöÇB>RÞpãD¸¾CžGµÃžäÿ‡À²ñ!‘:êhz#Ö Ì®F Ü,¤à@ÖVœÆØ›»OÒaQòÈ:ôDZR±˜ Ì’m÷ÐÆ†)êÊ´c)ë›ú]ÇÞÄx›à !÷×Z©ð¬O×{|"â”çò'áƒj† !4>’ÿÓHb5¶¡¨àˆ=ºÍ ‰G.åbûì”χТZì$D£{Ž­Vᑸ/áÜà[·˜¡žPBçÅ&Þ`BHŒF'Áâ ö=ëûˆëá­eæÂÁRÇ$˦¯f@2¯PÂãü›ÛûlËš"´ „¢Ûæ¯z=ññöl𘻒ˆ'w^¿Âé0¶ ÷bM>àíà àUù#`­uZm›]-íòÝ4 }zVòv!’\u÷μ·°n#Ûz‘atÜÍ¥ˆÑ<ÙR ¶¡ÞeÖͲû -Pî±ïB_qµsw—Ýè9()`ä±ömÈÎÛ§ÁòÒw_ÒÛàů • ÓåÕlÂóÖ^1pajÔ¿ -äe3×£§[aÖ¡¡å}Qè6ÅÔv~Ï7óÿ"ÐWXäüðÃ^àÉX'lË.ÝOËŒ –»2D¯\V0£•‚O;Ýû¨F™r”[Ûß>å‡uå¦Btvy^û‰³Ü»rÜìçíw€ cÇ û—[æéro„À\ -@^.%Áss›Ä?Ö_,©¹š¼D¥ºtËA/¼ôˤÝ]­Î tA9x<6“©^u¹vMÛ¯­‚®þÔõHE)+²«yšìnošn°Õ6¼Eæ Ÿ%®^»ÚfÞ«èf ó5è‘Í0üÊ ÙœÇÆÏ;ŠÜÞg19Uçû—…ÚHWè#|¾Ã¹Ïç[¯„ -Ô€¥ê›­ò"Ž?ð½ú|˜ûÓ -ÓŸ4Wn»á÷=&Û5C¥üÚÑ» úûªÊWª¿ÆVöô éïsàù{(i9À°”Ñ—-²ø:W6?ôWœb´Éh`©ã÷È@}vdÅw8~nÆrÁÐf’ Ç<@‰€Oüº%h—øgÌ­š»cã÷uhõJFßfÄ;~Á«z D*°:öê¶“)|ÛvD±ÄËžÊ[-J‹›£z„°ôìL¡ýºaØè“éYÖº¸ƒ[Òf¶ŽZVëö ]€ùDa3o®§”Ï¡ê/ƒ_ŒoN·„B—wŽC«Éÿ¨ ‚¿Ú$VCaØc|mLÏDNfj^ð UÕ–‰¼3Jˆ¶ÛÌñG¬³# -|ÅC¯J+EÈ„@˜¬ö ŽpkvÉoâŽÚ ¬òjˆNµ¢c…EúÃb¸Ì¼È Ý‘f±~Nh;„HŸÊ`‹)‰‘Ýœš„cÝüËPT³ÅвJRøÆ.8vxúÎ ÎòbenDäs†—ý%UNàdÕ -ghl8Âk±­ú‘¶e€˜ºÚ[g¨ê …©dìèÌ5Á@ÄPÜÍ¡C°é!QùPÖœW1÷Çêq`Š%áCÞ[ '·0 ‹Usn!s 䄆^æÛû¬BÎ1‰((ñ 8©ÀöNµ3Ä×<†Ø—Mt‘Sû¥HY­Ò(Ó–ÓD 0KFgÁumÛ Äøj€Ïsw ©O7ËÔ^¬ ° á[ËŸàf"KØdp÷ˆßzµ–ý³ÓÁo}èÊç»NþÈxT`Ô}ñÉ8œR+½¢—Èq]î÷äO³²µûË‚‘^4r °ü½v -^y£2c’Æù9Þ"„3( ÇïOA˪ÐY]ÙÊŸv¨çojY„ðÛ¨¼‚ÒiNf"©ÚûÄnsK·„Šó)I?Ÿ.È:e¦C!h*ŸK_k P¬ê„ìYJßG¤á›!uLYa.¾Ÿr…(ó?°>d„%zæ¼À4ð„ÛJ¦ÉÂüR­žô?Hp/X 4°wÂ…Ÿ)§œ¿;bß.ðmw[}‚h%àÔ¢ZÛ –7Ò[Ïô•#s©0‹y‚ÉA Û¼0‚ã²}­:]A¤ðÖgú°h8ÑqÎ]$*ÎJ¬ ”¾ßj÷,ä|°ŒÙ͵ôÂ\¢#dºÓCžLJÍUµÛ` 4,=ú¬–I¦fCŒGDIÖ†‹6C\ZÈ7þÇg¿hÑêdòùz ›¾ÏÆBÓ(NŒ%9td(¢ß§ (ÛJ´O?ž%a§ÔÙLņ>­ Qâê¤ì% -¥?µ^ŒD»À¯<ÙPœ@Írü‰cRO®Ó¬2~¹õLټØl^RjÑHì`]Î:ÓÆÈéµ´)Iš$"›÷"G„gJÜëCÏ«œ;ŸÍRF A` 4X«¯ô$"X„l!ÙµçY‹ß»Y#!GƒM«ÌnÙ[¢*Îâw «$Ú㯕p†<Ÿ;öüôÁÆn¸ªæ/¦4ÚõN6¾{±L;Å ²A´VVѲ‚\æÅ]Öÿ™ý¾tððÕ"€mÍ0N^.48î™<<ˆ~æB  þ½…¤^Œ¡P7Çø"‰«ó+ŸwÀLLBš…D,zÁ°…Šël¹µKMɈúÊ‚=-7u«eÒ^1G°TŽ;HQb~™j]T°ßÍ¿î~VÿÒ‘ÿiWÉ2^.·•^½?ÉÄáʤUõ—Õš4N§+y‰œ8:Ó f¤#ñLεçž!yé¶s…¶Ä ‡472‘ÄåáLÙÿ7:Ï@áþysûduƒ;®ïa™†• BÐl®{Õƒï2f<#Z2hl¶ µÁ´(ðá‘£“…ÊŠ‰£k0È;¢0ƒ¸ƒÍ›<ÙáÏí=3*®Lç"{ƒ¬"¥`êßIª¶@ J¸qZꕵš ’ìâ"u¼Âv0êÊÑ*™cÈ78ÐÏÁºÑ•n{JaBÛçÀ¨²‚›¥ù’¨ÙkJ@(ðÐuÃ[(ï3Pñ83õµá`õ¢»À»-C3€c2YóXƒ†Ïj¸; fÇb‰!«6Þ½ÿ¥°„,&ú’£ñQæI&A)†l5Zù"Ë Æ(ГÅêY–BuÉ¿ÀăËùB)o=­à%¥"$Ê’¸fç1 ø²öòå&ƒ¸~aOÌÇ!Òy·snÞfz6]g;ìRÀë’Qþ;ýH]p Ì -,)]tá2Ç´ùA"®÷Ú¨ñC/3¥U@x^ŒÁäzôÔ‚ƒüe»™š‡ Éì ¿Ónk™åiŠkkjš³ä+\s.,ç*þø+iûÞêvÐõ·[óЃ<9Ò-­p¹àý fJYAÀq!6å¿£y´û&n Ò°,|M§Z÷~V1¸@»«çQ¦a$Üœ†Io9ç4DhÃìéDÀÕ^¼£ÞÂëù@4nó¤!½\Zð”sEdDJª¼5€¬u’íÃ= _óS4×ñTÜ¥=þd­™AX¼ÐË x8³j…† PŠê°„Ý«hì»nlbF X„žbËäù²²ÂŽ,³üHûiüѪH/sii%ð%¦YÅ«±i%Ð5~ÿãÄÒÐi7ôÛ~HŠU’ØF+!;!íF5'áq[<¤òÃÍŸwÀCzÖ@²KÈúÜ-BôO/2Ðù„KM£š¯/ Q: [B˜nˆý‰ ¤Ø“”ëyeëÃC9ÝTiªTi3 L£©žÌ?È4ýFÅNâ ów:ûŠ‚W™é¶íʺØÙ!~„ è¥‘Œÿ|ð -·[°ÿ—{à‰ú³—S<`±ivRùÖL И’쬘4aíÀË"ßbŤD}ç¦Òð0V1Iïã1Y¾1LØ0¿“€&Y¡íŸê¡žøì¡0™÷€ ¢W|Øw>´&aÀä -?Ü&¬êj-úÁ°JüÁ­@>˜¬`ñ$@¦€8Ù¸€¨L$ T$çþº64}Éš¡ö—´  <Ø H“Í?ˆ§íš00¨Lq÷—‘!B_²#µ&^BÜÄK†í•Ñü!º¡ˆLv ­HD)Tsɸ&‚W2;ŠMYíŠXòáYDy=/ÂmucšÙ3‚².YÃFüÍ%…#Ä%ŸÕ…nÉÊóˆc4B]åG€Þ‚„µÄ˜Cú,©í"Á³,Y$„%†Rïeà·„˜°Ä Q›JfS÷¬¸_ ÄYIg n)†K¬¼J¾ÈKdU%[ &¾M%!ZQÉ“'OÉ–ÈÄ]ÓL fJÊ8oc«RB®˜ð‡”Ô&¤%?ù&âu¡Äq”<„N\úI6ÉNtèI„ÄÎ:É[ë‰SèúŠ6I³¨smIv0¤Iñ?™Dâ9¡&ù Q$4RQHÎÅH’¢>´“ä"/dHS  .’ SI`wRÈy$¯é Ž„ ˜ÂÕIˆBâEò»œ"2ãdó¹DÂò=ÅGˆ$D¨ÉŽáW3 Ma_>" m± -þ ÉJW¡p +J&$BcVÈ$ߪ'ɬ·¢U  s…@ò…WñG†ó•÷Ù²ùÈ·…Å)éVC±(ê‘úp3˜w,>…ÁÚ£ $ ý)W…% Z„G$iY¸æŽ¼ÁšÅEØ‘É4‹Ò§#‚í,=G¾jhqQåȤ¥EiqDVª…DB…ÛìÓѵxr#„f Âå‚[øÓFÂy 1ØÈû‚‹æjd«ââ±:˜Mjœ&%§‘­8_E#±Š?ÏH†Ò…Þ«$ñº°_¡$îBç´gÔïàEêõ+Dy‘eŒ¼’Ô°Ôé,š{„©½wË0š¸ú¾h°‹ìÏ_\ÇE²`ˆÚ"ßq´ÈŒ¿²Hò†ŒŽŽ‡ƒ WD܆üUä0Œ‡äŒƒå0ÊG„U§J‘¤%†bQĤDSE¼ÏÅx牌•1Z817†&ò ;Æá%²ä£ÆIaFd—DF2„B"Ÿf2âÈš¡# -QÆã‘ +CGyXËH>DvêËøÚB$Ÿ†éBÄ34£lYA6ã# gh÷CÞª3¢|Èvç·ôú;$vŸ¡3¾ËÛBBÐèˆCÄ44äÝïT4nÙUF…"¦¤!|†¼âÒxqO Ä¢q Ç6¨A( R¥†´/ÄÂT¢ iåjÖBæ*kÈb!VÜû]q`C™b>±<…´K6£Í™=!µÙ R&m$nÑßµ(…Öÿu Ó(Ú6Àžãòo£ùr㌲Ý(ÿAÄh7T.ŠÉ©vãŠä¼½ß)ȾAHƒ,û7È &8`2>· ¥Ž+È Ã!^ -bYˆ{Å9Ò8Ôœ æéq “ åF–"ÈìÉ¡ 10,ÄH0¥È5‡XbKs´H£|RÈX¡CŸ Äqt@}?—Db ŽN ˆPuxge ;Üu¸±Ãsùnv @†ÕŽÊüq};„øÏ&ýãºþÑ>¼ƒþ±`d€žï0¤?¾xœ•?Ö¥à1&Ú58:Ü÷'äõcæqVúè:=çÇ™ýä=(~ÓƒüXòâ¢÷3æ²÷a§×Ã(÷‘ÌHûˆ<{H`Ö‡{ ¯>Êò,§åÁ‡Ò]ŒZчp=‡ÐóñŒqæãpžXå£uú ®|LÈ$òìCÊ)ßpä×V$é%éÈðƒŸ¿Ç†ÌÝoõ=e\ý±{ôëý`ùóùÃBÛ#ÿD{|.ÿÑ"{,€|~=‚.@Ķ_¶\wÝêqЫojØî‰2É7\=ê,ð0Œ± ¤·Ý@ÀðÄ;ÿá+õ8q‘ÓãP+ 2zÒ#â$Q%Hç¶ ˆk½@JÐ*~ƒ ½gÐ’ä¹7$–=hÉ˜Š¯EÒúóà‚Ùy<ٌܕ2JYr -ÍCX/H‘k· b-¾²<Êo ä[y`‹©AyØ@yäszÇ/sÏ3ìñ¸ -Ë ¤€ÆƒBˆÂŠÇqIÄv ä„áAϺ,öàAÕx¦b¤ßÌ©p§ñ²@JÑ;¤8Þ×G 4Ò;!¼”Ü#åÐ#§àŽÏH ߸›¯œÖ´CÎ#ñ˸´”ù3 º¤´‡Yes©êØ"…ë@uÖq6îÕ¡µñ4@äÏÈVEG&c¨ºì?þ;4NýZ¦c7ùÓ)ÊÜ -HÕ‹b1‡*ý‡ FsgÖà¾MÊÕç&•Îq|{/ܪkªäœ9¨VÅôa^Jg9 NU9‚ðƒr$Á¸äd1Á‘ãY¸ÝÔN!qEµcý7ÇQ|Vãèâ+Œ£ÃÿàÀâØ`‸ÿ—T0¨3Çã*W~G±GÅæŽ=&,¸û7>ôšiëÐÂoœ jo\¨ÿÀÞ¨¥üƒyc–þÐÿn’lƒSÛndHAkÝ{M:žtksãhú”ܨKþA¿•þ°‰òA€wݹÛsÝ6.Êšm0ìÚ8TNµqoþ\Úè¿/™©_2Bÿ¨SÙ ¡ãl䔤þÑ5•zVö‡´@ÈPðúÇXÔÿQ}³±yÿCÉ5ý£&ºJ»¹²B¯>öè•™ú"¯™ˆøDî²ñ5ÝT Â-Ö;¶joÍxþýÛùÛØHRIldNš°ÅØx_ÝkÈ+ç®Fù)×`ô „›MÚ€NkL(k´ÿ kT¨alÒbÆj`“ jœ´ò©!³Ô€ -üÄ0j¼K¼5ˆ®Ä -ôI v4ÈÇÆz<|À£ÞÊe‘Äk$—w -0 : -2¡y…†;W~³…WE¹v+¢¾5O,u -5u~@y öhîP˜hîÄqåQ²^ºÇ•+ÀÔã1èHÜ5¼e#”¸„P˜|È:}p}cŸ"o¡F!PßXäœ.3¡¼I|yÃB už}¾“d^¯´(ÇS¨a¸W¸aøà³ÏWJ”›#ÐÿÅr÷Soyå…q¨B©OqyÑ÷\nüRch$1ºõ:i.tŸ90^(/mgwò+²tò ¦hæ *÷ú¦È¹Ÿ‰qnƒI=C…¿„P#û€>”fÞ¯À2¯0£Ï·à°O0iǪ%´ëã"‹|)”;†ù’x<Ë>ƒŽÄ1û 7þz&ʸ^.+ÏAûo;0 rŽO‰Ç_(àP×ð±ð‚OgÌK×YëÊ}äÈô =3]ˆOM‡ -Íëe(‘8ÄШ_ÿÀóÏÐØkè‘xóßRž50Áæ^//‘Ìå"Ž;'_Ïו¯T+é*]!µ^M§Q0} -”7Æ®éF…n=”§žo4ÈÖçŒaåÑ0ªT©1®ûÔNVN¨¶Ó<îždênG§G=?ŒÁjÓgZ´ã—åø$Å9½çžÏ@³G`¨ÆïÀuÝ8jÿTNë† -È·@óš æÝòpÔTò5AÒÝ9UÖùdö -,óŽß^#x sêá -'Ó#ß “JóÁæžÑ`›Í„R—ÚÚK¯ÀðExáÄ3äHìtò]ÈQØw˜‚‰s¸r‰ø’‰ËH÷ 8÷•{½‘!†‡¼-›ù†'˜Lt}N¿ž¤þàÓÏGB|[€i÷gÀ±ÈcØqè4ig„ض3IÎñMtKŽt{†‡¼l@#”ïª3ã‰úÔXÖñEk‰pý™Î×¥'5Âítúp òbüõjö3Ç~BŒ¿ »³~èmh/­çiÓ‰þÐx§K»¾žýq”ø–;IâñBzjüÚãV«Š-rºò¸ˆãîIìi%Ž;SäÜ••TG KÒ3Ó…úÎö£Å6]ÇŒ+WZœã -Ýz5­‡+kƒ’H^D̾ŽA(oL±Ž7ló ñü1a!º"]|„QϹÔð§Zhð#ºhê< uÎ 0ñ~¥D9ß©ònAå^”× šíA|e:Å6  ;s'I¼‚lúH„s=‚B¶ -2} 2{¡ýá[ÎAËæ´Å–Ï&™+ÈÄCø¶`rÏG:„ë‘á.Ô@ä1è@äg*óú¥ÞqÌ]s˜ˆc¾Ãp h,êsëƒìÎ ²ÁB u÷Ç¢Å=BŒÀž‰Ñ®w’Äs ÊñEjBygN•vböKr¼’cÜ¥É×_àAÈGx!Ø#%¾ù–wF„l}OÛØ”gÆCqò)I¾õH‡pJŠu¼SåÝþÀÓÏà9Èä8ç_¨ÈË@û 7 ýº2^Èïl_¹×CÜaÛÒ}âÊv!=5$÷žBA*³Ïâ3ësÀ\äë-­Z­XLéœuåN•uþ†M“t=Þÿ„‰ -endstream endobj 19 0 obj <>stream -Ç3èÜã Ýú!@5(î¬_™×CiæýE}lYTèÖ_°aØKø4Ühò=]ÚõK‘p>ÿcÆ;€¡qÜ#|ö>pd>tcúM¿=F"yÏJ(ï N2o -5q(O¿ÝI2¯wÂÄÛ™"ëZ Ž9ͤò†úìãw޾î;CÅ4íBˆëy«+ ÎÐj½uXKŽ3´[]uÚvåºÕ¢ß×n³à—Þê’]7ƒVìºÈà‚¶ã 5Ïìšv¹fX‹†ªÊ„¾Þ˜…Û±™na¶vß™†’[—ΰ•5·]uVMË.ä Yoí"ƒœåƸ`8ΠǶ›•5ôkoÁµÓt›Îš]d¨»Ü8ƒ Ù…3d¹xÝ×… Ó4Tü²h?B\" Ú¨z–gÊ…_ÊærQoeemmÍ­V†V†]d˜³²â [°]g¨í˜+~åšÂZšˆ«ÖU!‚¨ -WóU{•Æ—EjT wT ]C ÷µ–UÂ-Ë*ëëlL—W™ -¨øU!‚kËL ¬ìÖUaîŠã8víºÎêÊ åºp‘nç8ƒWÝ•«n¹¶²d- -\cYZR¨±,¨µ4Pñ˶R)ô¡¬µ¬[e&"D¨jèÁ%ºU¨QØËE õ5wܶð7¯|B DœE˜Ð½E™»T™¦ÈİB2œÛuμ˜éHXéÌŸ*óßô -> ñ Añ ƒ4w&F»þÁ @>CÀ°¨á”r†FRD„‘2a„CŒÀ(¤öªhøCÎDÍD'#³–:cŽOâéÐæ¥sT›¿@\d±xîår9¦QYs ;<œÅÙÖ$+±”°qš=œZÆúˆ8÷$eUB=禇s·©ŽûpR¨ó¹‚ ú`8±8ˆ“Šþ:{©ãôÈ hÉã@ׄþBmÃ~“‡ íU»}Ó=äD…TÞÜû£B"˜wN¨Õn¯œpá#;O>2çßksŽœRŒ:ï>Ts¶˜°¶c:¿ÝǾ9㫺enÎQ€Í9hñeÝZðëáõ©çR”[ŠÝŸþ&ùÞ åŠjCWì(ªk -Ñ7!‡ùÄàFÃŠš¬ˆ›í‰]–D99ÝG¤~¶æ$²/„áW©Út'm‚%௜?/βw|S^ºËÊ5fŠ•t:·>%²éß°®¶ìIDëµà0à×´°nû×¾™EïUÊïHI±ð)ôÎtÌ!µs¼úúáHD~ßôÙlÓð²­‹—–cüQñ:ѽ¼lÀ«dðŸh~_Û¼•6™/‰§™Ñ±oW²—|Ú·5±(øó$ýQ°àbõíÓ|F¾ˆí|ú@ß7’3‚N..öšÝ=¬ÿ²ñÄ qõÝ#üªw¡¬BþÒØwœ¬9Çt+Z®y…öôºÛ³õÃŨ•výÒÂðKt~›ßwÄÿ†åÎ<Ïòº -|?Çé¡‘§¦cdpí"«Žg®.­.;C,geزí8×¼•Á…›eguÁîû¶uåÂ.d›ÎPwÁYê¬6Î ·5œÁÌÃ5× »­üʯûÊ/[ÃsÌÂmÛÎ6å"««á 1—•áÝšã îVüf¨çx+K+ËíζۻؒkÚÍǰnë8ƒ‹·ÍÊ åºp]XkÞj\i.ÒØÖÖÆÀ¦j_Zk`kR³25®¶¬5­)2¶2­2.64®´\jY.ä–m)¼\Ze\cl.ÒØ¦\].†/887·ÖÝ«°v•Õ5&âJ…ˆ··-(e\i[c`_ZYii"4p­±¹K[[Ëâ`FáÕ@–UÖEm,«í nkˬ,×–YÙٛ˵e&ÕB×ð#´JÃP×ÚØ ¸´uc#ʲÀÔÔØ²P¸0™ °´µ¬j.ààDhqqIǸÊʲ¾H¼YeµX+ã"ãÒÊ;S+QVæ‚ÂënmepÁ¥ÖÕ5õºpá²me¥±nYXVÖØœ—Ù˜Ù×YšY‹8Îà¶e±I³ÔÀÒFÈÔÀ̤Ʋִ²ÒºbP]\%4h}e¥¡àÒJc3“–½ifkYi\gfe`k`jfgdf$Ü1¶²«¶†YdMÍÄ• -óœÆUf¦f–fbž)¼WiYkYc`4_™±¡™u•q©q•¸R!Â…ûJ¹^i\-´´´\-----­ZKKKëuµj-׋ËEk¶f¶66ÖÇŕֵ%“™¥u¥e­©q¥Áe¹eµ­mmeq¥m™µÐËÒÊâ*£ðJI±‘±iie•™•QxÉÀʲÜXkã*±µ¦Æù¨A:‘$I2lÁ„„D™bŽÕ$m@p †‚(D -A†A„A8„bBŒ€@j1JÂÎf$µZ‡Üø‚û0t×k¹>  ƒ@Qi <€š –àßÿxÃöfÑßt𣦝hD§©£õðzq¸ãÞyš` -´W£¸BëˆÓ5øAcY°‚ùE`Œ‘~‹5ÍŸ¸&šdÈXà‹l%  Ñq¶]RØÐî:óÄké.Gäm¯®8zº™·5TA^=^™1›_Úü~Åã€!vÒyÜ ÃHdƒa«é] ‡ƒYa`– Ò˜¡Mí„(ÓÓt®ƒ3…íØP"QpˆTsŒWÈâ·žŠH)"7ÓKÏ-÷d-WëçcFùË_Qõ¶Óýz&ê'Õúù˜¾>¯òaϧɹqòü -@ÔÙù gˆ;à$ æx¼;ç >K/a•Ì\ñ¡£E´#†•õL¿Ò@pÛBéUÈ+ô°pèe‡ÇZ²ëîo ýb­ì›£lf›‚Ûjš5‡ßM¤oÜJðJæÍ‡ðE}b}Õ¹õæSÆLÆ–ÄʼŸåô|ãDÖì Å›ëi¸Sï”°ì¼*H‡£ Õ1c@ƒe›L¦Y‡ÿÍY)P˜µKá9Ú\”½‚¸"ä†gŸP -œýÝW­M¤`á¨÷q`êIâê⩃ÕI&ÈÛd´ApQa®vnrgõ[k½º`o6˜è·M öÍ—MCéÌÊl’D¤,,_¾i$IW ÷Ä>Ké¢ËÖUO­Ò?"=Ý–íÀÈ.µ0ª©oü[6m:9?©(È!§û%mžÝ“¯iâ–&< þú¾ “|ͯˆŸáﺾ´‹»$Ì;éôè‘é–àcjHË$º­ÜVôÒv±’¶=ϵç=Ëá'Dãˆñ~’±ZÌÉË*؆…ñ®Òz˜ú–z)‰ŸC‘%ûÒ¡{\«“žxG+DSÆ„Ô⪚Þä=ÚlK'TÀ®Ø·CWqgi'ƵQŸ°œ§÷4’#ü›¼ãŽ»•¥S£ÒE·gÑÝBѸÃ6#÷A—üå+»*¦|£äÔÍå‡óÌݰd¸–¯Éù») DP{\K¬²Åq'õÝȬ÷¬¬Hœá°úö.À w”â%©/)`Vò¶Çíj¸y­ 8±6ûuLö{Î@{zߣõÕ—(ðéö4­e.¢ÝxÌxÚƒ{R¢zt8ü½TGk¢¢O' `CÍXg»ä{$qmkòS-†},}ñ›YÈ/rò‚6€?tü•~{­ÄÜ}¨J…Ýh7Q±Øo ó¤ßi®šg#‡ šê¨ÝSŽpkHÉEÝÖ+š¶½&UPçd9åqg”¿àQ9ò''žž®„Ì7Ç ðê¡é®ï*.œ7M’[MàRí]ú{6Å„ÌI£¯³[Š*‚'Ù´íwöìpRĤ*¬žTœKÈéÖ}Y¢ØaRC€šƒ¼ß”ÑØDsì¾ÀÀ#7’tË“NÑ£ï¹p“ÊÏ>¡Ð{µ¬§–æG§Ð›abK…îÖ,ýì zÑ -ãÃòuµ¡¶#Ì¡ñxó¬½ò¢wÒU¡5ÉÇ€z†T€Zu‘dJg¥áôf)Ö §/KA¡á4ßú—P¥›–,™€Ó Œ?+ëÌ¿`Ҙђ#dF05œ¾u¾2NÃY1L›“J,ÖPwhéL3OÛˆGàŒêÔ’¶ë|§f q§Ÿ—žnœËÅ“>7#N#W%GvœÖUD€ý)?p§I:„«ªªøŠU]UUõ6C¿µ4BÈRB¶íF’¥úLi„‘u¬úŠ }ÊÄh1¥”RJ)SÖ¯*¤þÎãàøJf‰1‘<0Œ“ £a2!áð$àÁ1Q@BÄáx0ð£,¨XëˆØÀÄDQáypP(ð<‘òÌaÆ·óškóºS–æKäŠÑ¢²0" ýöMÃû2”ý¿wùnÛŒ"’ƒtÊq‡q‡q‡q‡q‡q‡q‡q‡q‡q‡q‡qV–‡È-2¿ ï˶NY[D»z_Œø­1ö®a¡²,ôo3ʤ, fºL‹)ÕÊ/õ%ï„1m¥Yµ²4lSù”¥a™ªï-•¥9ç„ô;ë¶KSY²þ×#'LÈ·”7_eY`î–b¢'æ—ž²4.í­ìÊ•¥Ùä—¼1¡ÿ²ULÜF%&Ô—*ñÕ¬ âñ'”¬Z‹ µ,!Ï„ôöÊŽ/) äÞi›ù*¯™ßn_ç±[ÞŸ½YŸ²PH& š8€Á‚²<$ -½ ˜‡HÌ1XÀˆdq×`¨KF„ž‡c°¡pp‡ƒÉ!"Y@HD“&"O¤® Å£!"Yà-P¡B²¬`LP½»;³¼ÃHdäñ€Ä*& F„1Lh0xHÉÃ>=¶Ú×<þ3LÝÌ.9°À´¡‘¹Ñ–ûuBë áâ‘]JÉݹm=BCv×)A>ÓݥƴÅÈ¿±^Óuy¦„‰ÊÒ§²H@öLD “’@LHur{儉Æ1y <ž -{îh1A¬i¶-&HE+SÍ4MKÍ4M»þCZY5L®Ñ€¶Í¶Ö[!ÐÖ1wî&tÊ"¡á}BæÐ , &ÆÄ˜TYš²Kh•'³-ÛbEßåJDeiöÿ˜ÐözB‹Å -Úq@8Œ‰Ëc+ßï+}j:¢¹k M÷6ؘSX4 D¾½€„)%L‰¿î­œ»ËSžb)^ÃÖg ±:TŠˆcy€:ÏôMeœ¢©›"ú¹7Í7 ih@eqh8dÎó¨˜``bÂÀù ÈDÑÀ‹‡ça"i< ˜ @¨¡ÑÐýç!ñûÍŒ­9¹Îyãç qõ'þµƒ8_ZP–EsIY[p¯6§‚^ÑýIxO´íÚK´Š\ÝèÓôê3TÈvi™ëº4)KÃú¯µ—ð<5ˆÎÞÛ·Rv ý”’•‰qÓŽËšjî½!ÅM]Rç­S–Fž²4ï_l…˜Jïª"[q?ÖfâLÇé/5^BÌjDøˆ— õº¥¿:¤¯gé[‡ÊÒlusÉNY(0&I1èy@’É„±HmÐö¾„º-!ÎRõþÊžmjÍNMu@7wUUsWU[3WY ¶†hhˆæšP㢲@²Ó2ïÒÌÔÌ2ïÒÎ:!˼K¶æÜÌ݆挠[—žiBšX”59!OHŸ3Ò”¦„8-çnBœ ¼ „z¹ºKèZÞ„8%´ÌP#S;¿úñ§¡Z'³'ê{žÞkûákÆÇ$ÂXì!Ü~ý¬V„þ]ûxi¡YVsú•+Ëâ.ýÊñ’]áaå顿ť©ó¢¹’n±‡§ÝÉ|…‹ÿýÏÛ“Ë.]ç—î1ö­¹6¶!Å‚w*8…É#á°€I&(  ¦¡ÁÃ8ŒÃ8ŒÃ¨:48ŒÃØBç0X@ˆà8Ì ÆPEP8@ÿ€B0;¿ÑpH=#ýÃib888¤‡ø…ÇŸßÓ3~b0„&tÐK}Æ¥÷!Àq‡™` -(˜`´sÜ%ÂD @­Ø‰SÁ˜(à0ã"Lˆ8š‹ˆp<†„£Á31y(DØ ÆàÀùÏ¿†ouË\v ˆzÌPQ¯µÛ¼ÝònÙñŽ»Úš­-ûòÝ·Qkbc-îûÇ{Þ,·näÛªwÌ׊¿†ŠY{É—¯ÝoÛ––Ü·©–Ù¾ËÞμhê‹~ÚÌ݈œ¦Þ娚È^w_ñ&/5•y  Hðx ìišþ5 ’üs½½œQ±ôRÑÑ 5Õûï—¹IX€znè— qBä)%ĈQëÚU#÷„>)Kƒ=bôéúþ„²ÿb>s0aL&ÏÂy<fÛ~]Îê?Mh©ßüÑê’סµ„º™Þïu˜—šW˜)q4‘WÄg‹U(¨””˃V2‡hó@¸$ˆ#b©žU°bT2–N64Â@  …abŽ ˆ(†áPŽ„²èìb4%\iïéLýëœXnJ¾Zî4ý¥ž§™s„VzÐÌ®Cpgº»X]VÍékZ ÚÏT_ -(¸ÀH„±ÐD¨vÒì™?ø:]#Z]šÖÓß –×>* ·l³anʤl‡Q[U£:‚‹dú¨WÜPbã=TcÚNVË6ÅV˶¹Ò–õ¹šáL%IÒ)&m'› Ý$ê&ÝOJ¿Iiˆ°IžŠÐ.lµMJm—ÕíMzU5ßÊM#G;›@Ú¬5‘÷8§„W˜pÕ©Æ‹t–u9Ó•šü4~,Uû¡7€ÅY›Œ§,ãtò&ðÓ9ë -{PÃÈ Dî5HNÕ\lŸ˜ÕÙJ;©¿qÑ7üWuŽÿðˆÙÈjN¸è|‡››…Ééõ¸¢|ÃBOþ¤Ž1hÏQÆ«/5C!frvuÓ¼ ) ¿Y 9øÄ‚OyN17ÕYˆkEE>JÝ@x")À 7K‰iÈr‹´!ˆ”Ãú‡µµŽ2ÞäAûNŸò¹lÎMw˜»Çðáõ6`è¦Û¤6xtKÊÀŽ€Ê¶¬ -y´€#!dçͯd 7ë#ŸïÉþ+°%Sµ0Šh—Þ|7åd »„äl;Ñâ~®È€]º6Q&Ä*‘tÈ&óNì#(w¹ÎÝu…•o.},.14³RÇ0püà›jüQòñ¥i-téÉååÊ:ñNÿqƒ2]Op Àk(F’ª’ÛåRÃm†¸-i|Lj,{Ær.QˆÁò•~!›n”˜ºà[Yæ?Àå+°=‹HBÒ:v`jyqNO¦éŸ›¢uW6ph»&„ Úù­U¾V·[f; aЬªü¡CËQ Ï -Ýän²÷DˆÇ^ni·„cIÿ0UYPV8K¾¹Bþ½ ÝÏ-֒劥Tz(–-аBßZ/eo!}Š´E×Gç-(¯gõ6DÁ¸($-^ËUi}WEz¬Ó®>Zuí2ôöž®ÊI³µ9Nü잸ËËófÝÓ}á³ú”ög0(a“k•® Ò‘Ž˜Üé-%å»ýK­Ž€B|½sÔüîf&B‘Û¤7lÕŒa¬JIR#ðÿÌ|¼Q‹?Åtø7¡å]„õf‹Ò ²×sa#ަ0MÄš|e µÙû÷@&—«N)‘_>¢k,ÜÎrnÛ°Ö„¿>ƒˆM6üTÊnKf›8ŠÍš)³¿ê~Y IœÝÚH£á»dLu±ë|saOú7œ9³Ù›Èª3YþêEj&ÛÚáâÃáÓt0Í¡´û£ʀ§3×7H× -‘ŒÑ¢ìDQÏ&He‡Ú:l(là*ä °ISókGÕ¼éÁñÑ›Äóˆ¶S6Ašq9¾3öödÞ¨C”ßRË /­ŠA–Žy4vsl&‚ðrNh7¾*t^2Òt‚#Ôsa'æ E¶<Ã=0>æ˜kLÓõµH濊Ö÷Hxutlj.ѶŒ&ÖsÌ'n¿Frw ÍЃµ-žÀUaïÊAÝ¿c©žÝ)¨„ŒÌ¤ÉêÄè Ñ1túÄLnH‡pÂ5Uñr‰¤ÇIrÂkô6•g©i¤´V “ÉìÃÀ%Ñg¸órrÇ¥†Ï…ÛQTèÖó<šÔ‚;%Ƈi7 Òä‹Ò¡Þ@ò(UGj¿Ù»øÄp­Ñ ‡R]?¦òÜ»¾ÔÆ“ §6Ñò; leÒÄ—€òaEi& °Ô»–BŒnÐäxQ¶ ”Э>蔄óÝätög4rmh „ÊùX`”Ç¿Ü?!æ48•Ý`YúQo AlÇmðRö ¢¬ì!Ì -÷c%ÕK5#šêu£‰ku¿/N«Ã£\”Ógg`9T@¢|¸ay”Š9¿zŒ®SÙl‚7.næ`ù†'u i€š -;ûb¾¿ºQº@C°Š!~¤³éªªn‹ÿn/mO!Ͱ’«L‚ú9RµYÖgÉØáòNÄÝPýð×Veqg¤\B¥#›/DÊâ…½>1»$¤‘uõ\d’´~–™>‹@Ï"-¤™Jz(ì[¹(•¦)b½´ÔDêSø9O¥HŠ®z!U5 az!ýò ƒŸ´Òäø¬¿SU÷“@£uïlj‹ÌS¯=b‰Ão朤üñ•¶‹ên’(‹n³@{j”bw5º–`¢\ï×ÑbSíc~ lý0 õ>!þ[hC8JWHu^cvšsH‚ôÀ²…µèugJO@YÝ<4Û» -ïG²wÙ­¨˜ÒßîWu-£!xÂ¥Uÿ» wŽ—[Äg2ò5<"‰eCc;ÉÝ ç49HpÛJ)$9jsžà©Ç—ý3†q¾š‡–HPÀP™Â⣔B¤°>ÂòÕvçU ss‰’KW\Ÿ$,|0†vÎE–VW&ù ²’¿»Më”kªWPšrVñN¯þ«Ÿv…aGaÏ ê %cÈò‰SNd;*;–Tv._ï–ëƒy •gŠsÑ& ]»„œ•¾`eÀPï‰`L³fAY-R¤þ©&3»[™•4ïê=7gIÓâʬò§ðš=0ïZpe&k|[`6(à¬ÙÊ,u²2kXç+€ò‘„¤—lRÇ”‚–G¾Y×ÓÈ~™ûÌFó7c0¹xÄÊ ÄŽ“ó3A£h0Ögn´ÁAl0EA)ãof.­šd“È#´‰•|ŸÓÄ¡fO;‚ªÞ¤-S¬8ðëŒ0Œ=d™ bœßgˆIÎ$“2% Ñkv]m¯¯ÂÃŒbþ"‰^³ì5²p?¢+¡QÇ)‹¾¹<°/‚ŸÀš"دei”I(õ&ÓÿyÅU×ëst!†%@g(û€$*€–aŽÜ=Ç`>ÙñÿWÕ»€°É¿»ÃÀôI<(R1Ž -äpR¸ÀÁ–ÃA`ÅJ yðÌÜÙ¸ oT°eÐ÷ -o¦¦ÏÝY­ïr‡ì '6T1áÖßgn¯à6„…û¯‚®ýåÿ¯º3Á˜Fµ¾¾¸Š{v9ÚÅwÊü~Ðs¸£cA&ÃízÂÐóÛÕ™MKÙj³Šü¦Ïá„=Vg´¯©æïˆB»µå’Úd@”÷Lˆ¨NÖ8I 3ã5í—´/%‰žð%a›Ç’AXÃ+½3­|Ânôú«`„±†T -å™Pø ÿàˆ˜*[ë`Ú˜æ^¾=M}F8 Ì|¾Œk“¡ºç0ÄšBý ô« ÉեଠǸ…ŒŒ¬¬ëÜIÔèœà âz 6ÏdE£…&s§PáVã‡û\üx> ³d¡tw¶ÙtwèÎpž‹efMÚ›'×÷QKx¼I‰JV=­)éø_ôºKQUºÃRE œUÑTŽ#‚³"nÂÆ÷êXÁíôÎÙƒH m #<ÂËÎ6ô¬H%«#À¸¢Ñ´8äà^0]ºñ`~ÁɶÄ_¼xX椙 Yy3ýFò¢ àUëáLA²~¾ï /¸Ð-Ëûl®GQ30v:¹¤D„@åmá)0öZ}«ÚÃQB"sã;CwºÂ•jÏÌáŸ[aå–úº[ÌE·´q¤‹Á -ÞOè`#‡g±W\Öý&²^J@oX -cÁz*úõ)Ù÷k?#[/üg6ÿøª£°bùD÷é쉩L2þ…#SP*qðkOþUÖ?îž8‹ÌOq.5:•YCXôõyE¼Íjž¢ZÝ ¬4oç»Wm¯5´¸ð:U8¾~“+¡Š©¸•0˜òEˆTó=¯ü70dcs=i\z¡ëazÃñìZÎÒµB?7¤ÃÙæ_4»“pt7躩œ}ìÁreÈMÔnýäm¾#äyJ¡÷hKwÿP°:¼pÒ{ª8´‰NËl3IdéÏräýÓŽ?%;¡‡¨ -Øübì#xªLÆýéí‚™P®|Ëã³+€qÛ€ªùÒ>“ÁL_7û”U˜Y€Ó…:à ß”ÝzJ+Dçñ9 -jÔ-¬‘Êó† -HÁ)œ)WoZÞ@ch¶-óüø¸}&ïå¿Ù~x0ýMéyu·×½úŒG^Ð'»¿su°¶*¸IÂxh’<—p@>à…>¹"ðp úK0p^c‘´’¡ìîë/hK”V#g¹0qÎj\™èAŸ’žë·êâùú±%µA86¡®Hª3Ãh#zŽIDQSOééăˆcòNË×Ûš¸ASE]¨5ié¸AaåBñ¾aw6≿ù6ñ¥±SÞ ¡ô·£½¿ñkL“6WÚ‚2Ê«F¡Ö=dj(VÕ“2¥XnkÕz²2Éúƺ š*ŒãQ(L»þkl¸öHcç:…ç­ÍJóH$vY•Âq·Ý„M¹®M¾”©:«ñ7/ 03B[|´o,Àßóe;&3™½Š¹êÁþÂKàG[U/T¬¦´-èƒz®µH»râ—^D+?Äé¡uáœ9²'oÛ”A¤³L6ªpKä²{M›Ú„3¦9]Ú:=c•“=Ò?¶ú¨š²BVëm9–Š%±ÝÖüºýJФíHÅàñ©XÒqäî<èÒÁŒ‹µGØcéW@D%‡ °„,z‚#]Hà úÀŠ!8(uÏÔ%$Á^Ã6ƒË-öɬIb/,˜d -ql<Úˆ.á‰ï­GèEDnVqb³½`@ýóhÌš® â Ó5ŸWQøåù<´ èÐj1I,KÇ‘”XØp­' ‹Î¶gˆ¼­.þ+·¢í>iSvK&öác†¬‘ÿib+•Q¶ãÔñ=§Œ`ÙºÒ{ -ªäÈÄW9>¤¶À_„ت))˜Ý9©Oè†.&è.ÒãÀa„ƒ½”z‰† lÊÚ&NÐuKÒ‘øË]Éʹ©RÔ•Å/šåNˆ$]Ïû,±´6¤A Êrßüd Ù­ä¡›}¸Ä'Xá9ÁUÖÐB{Ât7A´2¦[ÆÒ»úÍ@m¿I= s Ò‚*ën|À:§ Ê€ÄMüÎî&ëUW2vøf‡¾=<Ñ)Ìa„›ߤ!¤œCá~ߏ•þòØS˜16¯&ä«Zßkø4*œ»*Ç•H‡ú -=%ÕH•‡†½™†!œØn~†0î"ÅÛÈŒç…ëg Zåñ¬æ–¦]'Õ1Jä±ÜX#\Ae8å`t&´™T JÝ…ÅÆ¶¨èÙEy$&oÉ<Å„ye^¯‘¢250@Ʋ~6”ä¨Úõ‰K”åzÁ¾ôw˜“½E›'ª5ÍO°Ô£ºvi Ùl¶UÁ Ú•˜€œºkË”¡‚”%Gê&'£|=‰ôuÄþ؃o‡1Yå\cyJ 9hˆ•x×›Œ”ñ¤0ßÓ9Ïâ7Ðn3½äR±Ë¯&Gäa …THž;^~XSºõòòæó”(–þÇuÛįï•€Mä‘É<·ÖK¼ rP™÷þeˆéübB{£žv—TtjC±QF±(\Ò¾lŒg½Ý÷Xtª>÷]Q>à'ÞðÇ.üÉ­š'I»÷í?ÄŽç›ÈŽäsÓ¹¤9Ž˜ÖÈ>¶\C×8þ1e˜% amX`ë+ww'p!BÑùßù1"Ep²mN´|æ_ï½ÙG²³|¬ülXÐÓÊV€Aí„ΓÚjÅmNäˆO{3‹¿>Jà(ßÍ¡øÛ©žw€b¤ÙQ½ð`Æld0zêd®Ù#¹2“;]7e§™³½¸ÎÀ´ ù­[¨ùjp -)4ÍwãŒäN?©c;5×°-½3¿ÜîV Qç´SIH{, Ð½‚yT7Jc© J¥ÆBÃd0 ÜÔ®wþû™©9UÂK#e¢ÅohZ\†ÃFâòM­±6¢¦…âÁ÷±-™HQíÊŠ( ¦ÄToÃø(Ñ›a¯²†V íz}G-®—A\HÜb±8L†æŠ2ý›Å| mÁ,оY÷~R—Ýß°°¯}~|Gd ¨ Tvñ­h-@Z©[Ç’o,¹B¸ƒèOP›  ÃU0xö›Ëð(€ý?")‚Z$‰B‘dC´&Ôñ&€Fz"ÁDsFCúb­ÇÙßÜbþ¶íàÿ[,ü7”V;¬™zW.Íá[{!<ñ„ G‚æ þz'2ÜX!+C,¤ig£=·¾æãî–Š7&G?_.ßnÅn|êþ0õg ›î¸ ÈxëéÑÑòuó`œÒטIF„~’ ´²¸3bôí¬Í^²ÚP¥üd˜Æ?wk’ö*hˆ˜žü.~þ8¿Zdnç¶äR”•VüþO^—;©«¥ÝÖ°6CkGe`ñ†=]›=«â«í ¦À˜èñ`©¿…ï ¥±?8F=x<š¨~òO‰‡TM<½¥Ã™-7›#g} -- ú4Ë+œ65i¶RÏ‹æí¡Y?ÏóÑ ""÷‡óÿ‘„4Uq°äkIê5}ø®TšnãÀÒþŠžp>`.z9{*-Ã,7¤.œå®“°{pÈ ›>ºÇt[”hg~>\-ËßîNM¦ÂïÜš„²|ް‘ZV¿b zÀRÒÝÂášdÎá0¸yýÖRšx“ªî0‘×5‡^ÔíQh€è|&…ú3*:Ò ©ÑP£¤dX•“ ¸V« :½õa°„¿;ƒÌ¥ï™³;Í›¬_ršJ‹DµÔÄÞ«Ü\în”Ï]7L\mÜ¢¶¬ÖZ›ÑV3‚_0 1jAóÖÆ—ÆÊ$¸io -]ÿ…&F5kS^l­‡¦œ~x”’#&£Í¶Î ¢©Â¡ÌÌ$až™™Ðµ\'‚;æÖeÚµMw¼.úü¥½Ç[¦3*yó¢[_˜áèÒøÁ‹á˜ï.Pnˆ务ó 5´Ix´4÷Ÿa_ùVÚ@ﯚ÷‚no¬ð!õè‰ù ’ÂŽq¶Q®9]?ãG ”£Ò€ÆH@ sUv«1ÚŽf‚}ã…fåÆÇq"ÏåVò  @ÍåæŽ„p‡kÍlÙøÕ1¬ª¢‰ÜÚ°;¯=Ÿ—‡Û–}î, -i&g¤ŠÖK{] ,-€•»ôôE|¸/& p7û#*JbÒåGºZd3÷$ÿ-+ Q5qÚ£ ">±Cl`†ø™â'†Ÿ±óF¬© bubý l­þd[ÆO¶Ð'7BsâÓXÌžž%=)Oã¾ÅðT¤ÚÞ‘tì`S'ÛÜœ9™ÉÉ|£ù£8 ŽÁ9ÕÞ¸ý<–fkÓãqËÚ|­ö”®)|E]ñíM!wÞÑ÷ ÅÕ@öâ>*!¯0ø-' -³ Iú öAù›Çy9ÏT2þÕÄ -d*Çݤ[?nÉZWˆSXÊû‰Ç£ôbòéŸ -Éᤠ-E¨5˜Ãàs˜=³Ë!+%Œ8“ØêëgL¼ ó‘Íڇ”Mײþ1=*ùŒÂâD0%U8n‡z‚“âw » -ÿH'G¿GNöQút®é -C‚ %}©<¨Í§BÙŽ2þ?ß„˜Pº]©.+Àõì!:R'Rþ\$ió/·Ù_ŸzñYu¾Í=}/†¿Jþw¢pÕw¿$ç7.ÆÍgÌ9­Sšû6}9Ò¾¬EEÇI4Ç”U³Êc^K‰Dûyèp@r]«Àƒ÷Ï) ƒMÍ™ÌÙ¹½›÷Ñ;Yõ8ûºÌhºè‰ôuwù€®.¹Á€ø¸Îµ-?ÈC ¥(âM ªUã­h1¢g!ªŽsJvA´¼yû=ÕP}¬bx¬zHFqÊ|÷¥oBtpJYOˆ†Fu$—ÄèöŸ´L{ytÒqJ8Ë:@{øèao8 ºÙ':òT^&ùqìWV=îÿ{ºSá,zù.C-ÿ, ö_n[N°C4Í´=¨ §h„¬BbÅ‚•«ðT™&cA.4 ´hžÎÜóƒ@e(ØåˆaDÄ·“:àüà3©<ÐÙ0:Ùóýµž¹A«¾ÞãŒDܸ'áCGFäÀW¶\cÿ+o‘~T‰Ý¡ÍdÂW”k_ãN[„{?‹µFŒ>ÈÀÈ6N†DûZår|çü@ÊÜoâLi×€îNÕ#Ýàuv1'ß=“нXáªmøM'å)Ä‹aF1 -¡Çq™FÌ“N]–ß<Ù4yj!ôÍmüÒmZz­"å[ø’wàz±7•lîèm¨â…„¿ô¿eÑe`õÞ_¼~[g W¢½391åŠ]씦í€3¸ÛòeŒ¯’ïx3êM ê–M„¶™Ÿ÷œü ‘²aÁoyxÏê.ÆŒù]sѼwiÍH™ÿëü:,ÍóýáŠiUÎÿÀ4„[7ïï^W *'»^.©£QFt§u MÀ§–Ùg¤ -5… ý»Y†×]Kú¹³¿l´ãHÞÓÉ`n©µÜ»±Þòš0°r™åºçb-ûc¬ lŒ†Æ¶G" 'Q·¡‹´jõ&VÀ h*OtÉšµê€|EߺA˜'±T9±&²8J w5 ‹®³¶õ¯)/çN&š.?º…sOtÌËÞ:gã”OnÉ2L˜f¾#*¸ÝG*T™³ÀpêV戫—¤É(ʬšÒøŒì¦[òë<¹ Ì‚ÌÞ˜ðI@NöâÁ3ÿ/F*)“&ú芛´iÅ`"ôÁÊ`¨¼J4®p‹$ˆ|€ñgÞ'e9hLïÀ‚ÝÐxÕBr`9Zœ!HŽ~¿÷:" èL®EÖßvÃN+Š{gàäLP–0ù‹ 4r¥tý|Bh•sYRåˆLÎyLGS. ÿ¤CìÅ€+¡žZéUaǘ7¶‹Y±_Mk-¬ ý@k _X,ffšÑÔ‘‘ ×s9€”R>¬¦´r¨ž31mˆm ,Ïû -7vµÈ¾—¢`”´ ü¥dQ™DÝàç®p™Ì—«1Ê&çb¡¸+¡Ž\X.Å'h[¦—èXƒ‰Š >¢5èD®xR©ãmZ6à†ù@d‘íLæ¾OœPÜû3Górìh=sq¾å1¥BK¬4­Å!×Cì&‘Á¬0xª¬Þž?-ª›0-ÂAÈ_,RïM1é‹LòÓ,²íËòCaÚü42–H=6º¿02L/^MÚf)g]-šØÄjƒ.I}ÄÇN}ïÀaß0t4lÄXh ›‘ê܈ H.zMŠûÌ2]ŠC‡˜Ø}ÍÌæLl¯Œü¦M¬ÁÍòk÷{pNçG@}g` åN£ö?t=¥Ô õù»ºþ~¬• äaI‚z>UB˜J4„ϵD£øi2p—g±_Ëᘱ'Xî_Y…Ü2Xdû€óú< %Lí!2.qf7¯Š%Q EÈ‹5·t¡'9°>¶EôS¶b‡„IJ„@뉒ò½¦]´B›Ä …N¢c œd•=’¥½‘«üŸ•~Ý®³“×@Ë{Z”íˆÄB*™ÎÅiÃBYÛÕß;¯áhJ>(t -Íé¼I]À™}ä<ÐèW@=ÅK‰©¢æ 2Dz¸BøÏþ¾…“öÇåÀêouM¢Ø ›–àž«ô_y¯ÝTqNjBЧLümêÿP“ò"Úë $íègµi¡ã^§xÏ -— dÚ¿m±\Q¿VŠ”e|.¤œà(i™j_’‹<,¾‚ÇK™Å§ý*ŠlžŠ/Fk6ô×Yw¶žéñùy@£%è+Å¥^æ‰4v Áâi{¡îYɦߴrYÇÙÌSMLŸpU¦›™?I2ÏÄ®Y~óÿ†ã› 0k¢9EDÖ|8…ùüü4œþÿÿ‡ñp ä•YûÁè­ûŒVµ -ÈD i71É”RatÀ¨’þõ!* , - -ßë¼I­?ßdIþŸ»ï¼kR—ãè‘y“Ì¿ÌäöŸì¼Ü{ËR–§îî5^ߌ·{ß“ÓbO0^Î|—%¹É¿¿.É1ë?j÷ãõžsæ?ïß}Ïúïò—y“ÜoŸIM’ÜçÍwI–¤&Ir—}亗œ$˱çþ¹/GM޽o¯I¯I^–ãæ£ÇýË\fõ/uYö=jÞ7sæ{Üë¼¹èµÞ|ë­'§ÅÞY÷Ñgòóýû÷ûÿÞ·ßÜçîÉÇN~ÿËq$É Æ#ɉ鑤çcYŽ$IöOúñ“úçžÇ]’?ë‘—d©sÞ^ÌããéqrZL0žßÓóãÖc÷ôYû¿¿ï{ü|ôþûì{ÿÿ^gý{IŠŒ—k¥V_saä(Øé^Ræyÿþ3ÿ™“š—ž—~ü}rÌ¥ÇÝ}'Éü¹Ö]kÞÉ>1=_æ¯yÞ{Üy,ýH޹óO–~ç­¹î[—\ÜZ¼ìÛýûþyIŽÌžÿ­K²gï}Þ~g_rÿ÷.7×¥'³'s¹ÇÑsOêrä:s’ì›ïï}÷¤ç_“yëü{æ»ì¾ëíûÏcç%¹ËìÇOŽºóÒëO’ýg1—Zÿq$óÎäÈû÷¤ïY÷¼ýãirbzüo.Ž#ßú—ãÞýwï=­ÿÖ]ë¿wæ[çÿÇN~>v>þ Æ+ˉéšïÎu/ÅÜy.?ÿšÜ£˜÷øý{×z‚ñ:×Óã£æŸ“úï=êLŽ}ë¬û¹Ï#¹9ÿ}äü—%éûHúÿµö¹ýóÿ¼s­ý&·çºç½õæ<{|kNþ®õ&Éïy¹õ?™}Ö$ÉG^æµç?gr,K2÷üGrd¹w×ìŸü¿Ìåãå‰éýQÛ{?/yé7鵘ûèùïzô|‹:ûq—}ó®õ8vÒÿïwÉ¿{'oìÓÛ™ä==fžsξ÷LòqïÒg?’9ë ÆË»Ì[ëÑ—zkMò\Žžä;#ïßûÞ'¦ç»óÞcûøsÎb÷#ÙDzìykN–ÿë Æãzï ÆÓ¤žœä¨'¯ôž$y×cóÞ$ÉIí{ÏbÞÛ“^ëÎýçåΙç­}.ËïÅìe²$='Çq‚ñzî¹w2ïÌÉMêïù×ú’o¿K?öîÇNŽŸo.fÏkrçLnýÉ’,é{''OÿÑO0Þ/õÄôr×z‹™$9ÿ#÷}}“šó=1½]ŽŒçI=þ¼=_êü³'uÿú“¾Ërçñžg>Áxd×Ó#û.w)f=fßóöÛ÷Ìus91=Ý=Ÿ`¼¿'¦Gò=9}‚ñJ>1=^êÉ©—»äYëÏKÝÉ2—ßçÞýþü{Íõþ}gž¹3ÉËß9©Ï˜Mk§è—åßþ—z,y×>÷uWಠοóþ»“âȹÎ#ù7ç%{ªÏG-–~LÑ7]-´ÞÞg²d÷ï™»Œz¾IÞ³ïc™1æÉkoíi±8[³¡@(hÉJ^Çéz–Pv+=PgÖ£a)ê½m©àUO·ÀÛÚf/IÙé¶Žª”»V=™Þ›Æ;қƤÞۢ칺pzâãÞÛÿíùÅÙ[ ÓZr\ÌœºælñYòrYò2ë2oÎõîãöcï|ÜÙÛ¿{$5™·Ö|Å\.<‰ñ"-=Ýd$2²$eS7Õ¼iœæNUÓ¦Rj|®é)]kìå=W0œ²¥î;‹ùrâ¯=sí;óÒx=áôDŽßï±,GŸÇœw'³öã³ÿûç-fïsß?÷]öOzý¹Þš÷¯GþË‘‹™—=ú]s1{ã¨wæßçÌ=÷¾ÿ¿ÉÜyÞäןäºÌ~õþþgÿ·ÈwÉÉÑ“ZÌÞØõHêMæ½uÎYÌäÖºìÞçLúÝ?)î²$ß|ï1sÞs3ÉýH~ž=³Wvî{éÇïõس×<“ú¹åø}ÿ¾w¾wßãxó´÷ñôe$©ö=çÞwÙɬµÞeÿzûRç‘ÔŸ‹ë®Àé±8 ù^ó'ˆÓ’™Ú£Î¥HSÓŒòhvŸ„oq‹äe¤޽¨ÝÓ!O1§õL£Þ É¥¹ÌÐÞk·RÎŒæ¢P¾=² ‚`;sžÄ]BåeÅj©|k–æT\ªeÒyÆþ Èè8Üï_þYÊžàTóG®Å™¿zä/Þ{¦ð›²o›ñPvמJíw™ã™ªsç{–àuGSãÝ™b<Ü~Óô‚ž¯‰ÂhB¡†ñ/{ZÿÓäâ‘Ù8«æ8ßc[Ö€xGZ *Ìzb5ñmóc6Usgs¦ætç/VE½6ž¥´Í"]UÄc¤¤âB{lËv¯Ç‡×ÿ&ÅLòÑ“¢>aØ€•mÕx7K Ø@BA‚²éŠÑ¤÷Ÿë½{Öº{]þ2oÿËþQ”Ħ6)¬Ò®+s'¹—=²‹¢ör—=ÒºªœuU9±ºCÙ6¿g â -Ï“,ÍZZ,ÖÆ¤©3}p@H?|îñÐÞöÊííýðüÞÛó¶~”!¿7:€Þ™—¢Þ§·÷L,ÉRÔÝãe)r3šK¯žþbÉGÞIîÉMæ‡ÿbÞ!.ú/–c¦üšô$³W>º˜=Ïù×"×â.¿Ø»¨žHîòüëÏÅLz±ôú¨yºÎ^u&vR …Yùðºû™îºÔÛùÈÉOzÝûq{Ö P§Êßk5|¤ªõú@BÁ6‰|GÛú ·ÝêSµ²êë"êS/2Óçñ‰ÒÇ+£/ž¡ï²{€¾ƒKò|/ì|]‰ó!ÞÄæ‹ -2Ÿ¦Á|¡f-_m²ª|¤…ò‘¬Ää …x6“|Ÿ*òu:§ü¸Èò¿7¦ÉÏààðßg 1~^µã">ð/%aý™J¹üMÔäcâûÞâû -€„B,ü¾d8|¸MÅø¾ -( -!%gƒ`ßf¸)_S?Þ[^„›(Pà¤W9R€Ðl÷h¶í;\BPà|Ò€MSAÈ6°)b٠̆ºԥô€`x£ââe§àrJ¶±¹žÀ˜ÀhNnô)ËX¾2ÛÆŒå÷}çBG9ØÃâû>—›þe™¤,¤ŠäsŒäã™lŠïû:ØÊ2~ß÷ÙfjÁ˜ßð}Ÿ ü¾o­ÁÈKêû¾ïE|ß§=¦×²¿ïû -6¡ñƒ„‚á³ø>ƒ¢ñ}šÆ÷(PÀ ™ Žmç"ý/G-c )b9uzâˬ÷ûF:ˆh(ÌäOޤì N¡¸¾æS*w›ïû@´¥šñ{<ÔâE< Äóºæi®–Â:ï­mÔžËìtQ›=Ý·µÍØ“€óÕØâÓÕX•@+ZUË=Y”Ža5äáXÏLŒáǪ™˜£)-<‰JSc6E=¡Ý:c=[ïø”µïì¢[¶uÜÛ¿—\ûr4-f=pf¿íšæÚ×6kÙVÔÊ.iíÌyöN¥°j³C«z^Ëz%,·SÑTT°8e³ñxó«ëLt ÐV5Ñw&ÊÚÛÃ6ám]u¥‰è;“Å­û®³üKñ]g¢¬½Åj,ko)«®´q¹ÚW•F’š“bfSõÝ$â뺳3«2ø”µ7Ñ=×7%Њè;ËiíÌ©âëºåX–:‹c9¾3Xt @ÓtÅÌZM -ï´³§èðŠ4Z ãÞ3ǦoMt ßv&º´4VMk§ÛÒ^wEŘ¥½§LÄåj´tÏ•§°»m,Òh-š¦«LÄåj®¹™-nÅÜ á}]®k;s½U%`€D6E pÀ -"KY‹5EÛê¢o*®1 , žd|Ĩ\›±ÍTKO7×f8šRºª´ö-¡©,·iÕø<Á1Ûrâ–íPð›Æ)üªZrÛÔãT×ÓScöô1j]wÏ—Å,v½hÝ3F­kšáãzÊ<—Kòuß”ÉKcÕÆò`8}]w‡òHò–†~ùK¦ÇzWŽçîâ¥*šæ<Ö¨³‚EºÊ¼4>×VaUßšgÀŒMßÓ…Ùó½Òs©yñ®ÅÍZçyZ{.ñÎw$¯ôd¾ÿîÛ³Á©È+=Ùëi}ÏV¿§Wòqôä8r à™, þØ1- åÚ8ne‹¸WX@ƒ74XˆäÚÞÍÎøÔ¤«›;á=k×8E½']cU”Ue1P¿'Ì&ŽSTºÊNõ= œñ‰žqšC‹Ë‰%Ênb}{. a£ÌX «¡SÚºüzÌÚkr—{“^÷®Å¼9Yv’oÝ÷ø·.ǼÉÍ'¯Üã -Bùƒ_<\. Ê.™@³è³•Çôá¢äÂ/ä Yj©b´s˜¨J`Ž …SÆÉ0—ä]¡OÙ”œ|6X–cr°{3i¬“ABa¤Z%¡‹Ñ 4»+Æ=À¢×›QKƒwvä‘ÿt\H(SlÇJ»WÅS:œ¶]Rà6:’cg( íl !I8"‘¤y äF£ÃÈlüed«‘áè“`n¢­ªR¢ F¥ˆVŸfˆn+[¨qQ B ¡€Ù±IÈõþE(V6Py¦'ÐÊ€`‚ H %]Ù>0[ -õ )å3Ú;Æç5Ë›'3+Pyn ÆÅC¥žÚÚÈu([«ƒ{KšNTæÎËu¦hÂLPG ið£9aD>ŽI2Ž -—Ž8¥ "áÀ7–‚ãÊ5ÔÍå{©6ŒÆÇlTJ²A‰\ÍÅÆ‚iD‘ôÑÀ#©Aw-„feÊh™O£2”оdxc$f@B!œ½.æ`b 0ovA˜ÜÎTbn¸Æv*n«ÆºÔ\èæ¢œü‚ƒ|—C-¸@Yœ¼X & b)O÷­hœ³R -¹¤ -ìQ*¸ÌãQI¸ªK RD£x &ÓL(/ÈtPøøq' Ä*6™ÙÎÑ„6(“Œ«ò˜ÐtŒ×?<3[i@½e,ãa‘XùŒ%Š •„`š”Vh4Ž™é’v!$ ¡ ™¤ÔˆkK]³bøD>'1¹ÔFÄ1ð݆HÊÛÆTº«¦,Ò]n éPÞ, õ$‚ß1Ðw;Ï"‰ÿ"Ca²Ñ¾(‰Û”Ù˜$H(pPFIúþj W©óëb•ùê”ò(†ã;úû -¦Ñðdásí1$ˆj3s4¬rŒ¸p„î0•öÑhuCèúô90éa&†tPÈ$–¡ÿZèÆ-ˆÆ?²ÄUc†0ºç,JÃàŠCH·ITŠnSl´¶Ë Ú릥ìP1Ùû¢êÀ½*uXÝf´Lo²UiQ>=ÚÆ@M4„1Ò$B ¨q›Gn’e–¦¶Ê‡RüÉœs¬dÜAÅóÀe±È2ƒ’2*4ˆÁGEáq„1èì2ñ€~ˆìtz@øÇYÙÏ*vT SD „V"k±‰ ¡@º6‹¸Ê^`B1ÔvÛIÄ=D¬×Áƒ¿ÆÕ£¥­ K7º<.ù)àãK±† 'Ë96ü`æà%˜Ëq€g$‡Ê7Ž‚ö1ày8Û9ÄP O†8¿è‚°á ß–ˆ®Ç(¤åM(3t$a¬ý;„ÕŒ° ÖÆ˜Šk¼ÎUÖ0H[Wãl¦FŠà®w* 懂„Øu°1þUÇ …JŠ¢2@_{À`e>-ŠK X£3"lPaPB!’Q -3Æ,Å(&^øŒY!÷ƒ.fçëµH ØÔ‚¢ E‹–„³YÄÿ6YD|é­’&.¾ E± …Š+bžPNº2ÓD˜8©‹k‰ •7 ¡°¸¨–D.EÙn.!&L(N‘è'ú%r3š –b7Ы7ÔáV°\ E$Q c6“ÍQ´Œ)‰Ñ^b²çHƒ/Å.C£V …ÉNò¢»ˆ|€CØ@"¢à9¥ä…0#" 1'ÄÈ -EˆÇ…w -­É >DAèb¯‘S}#â’d„Í4µŒC UHDí’€¶Ì‰=€„ ´o‡ª–Þ³t n ;(×á1¹¥Ýô*&8VèÀɨÎôi·“å@“ à3÷!OŒ‡ïâúÐñ¨Ç%S[¥'ˆe8x•"6€„‚ç—\Ì=ä :—J5l„fèìœÌûP1ƒa½¼ ’3» ©U¬2°¦õdè"”d u^!Ãêy dÀ1 N¶ŒAçz-†SA1¼ØˆÄ°PŒ¾á¹Pȉ47HNQ6€ðÃ+™Ð jنē0ˆ0îÁ°;=Ÿ¡³ñ§cÍtŸ)’ÚOçŠä¾NNà¾ølm_ˆ‚Ò>„ÛB?Ôi%ûcê î W÷2;ÈeLTr P«*œƒÜÏ©ì,ºÁw]Ñ•¾û芤+ü“û€tEE2KŠçfƒaܦØ,*ŒÍ¢Â°íe0lSâiSbrPÂNmwj0%~Ƀ¾Û- –85)¡f·‰¥ÝmB³5ŠÒÖ,4[SÐÐ%J”6QbÃuÇ¡Œ|‰ÑC¯.‰|ŽÈÁäêoŒ6-Ó觨- %R©6Ç1À®~ð9É@(êƒÝ»0HB¶V‡Ãü–ó“âdÚrµßذ[DšIÂRÄTð tþh]ÔH C“ÉÌDLæ“ò‹åÝhR.ÆEVRPuåUˆÀ}Q!&oà‚¨‘8üÒ;úFÉ£%!EÒJ+YH3Ç’XÑŽµ0›„e°Ìä°LÌdd™V˜a±X©áìM3hƒ¦é^fF -:Í¡SÐ\תe–”ÕbÕz=¯Î¸.Óu™;ä¢Ôª¢j©Zª“£‡¹RK§ %2¨–YR$¨ªðÏ©€\U•Ï™" :˜"•TUx\ŠT>£®Dì>ú“û”ˆ„BG¤ù'—0DüÁ•nƒa$:µ°k˜’¨Ä•¸SÓNÇÁ·Î"XêB†³Ý²ÁÆu¸(áÆ$øÆ`CzmôÆÀá_=DËšI(¹4ôâáÒì%MÁ¹4t.Qq±ÝûMH†ô@Bw­r脇cp¨"Ù<]²æš«» –¥aGªUZLÞ`ßÀkçu>~¦+&á,âàËÑq'„laÝ¡ÈÒâÀip턎1P 9>I5¾s|(ƒ•ãc4ŽOK@/öø/„£„êfs|$â´øb×n_DÆ~tÎê,ð*5Z:,˜¾´$MY" nÑ¢H`¸#ÆdXfº .Ì3´QÌв˜¡¹ b†ö3´,."â"òÆZ­VÌÌ‹-? CgQóÚh^Qвër].såÐ)h ‚Ù!†<$—†nH. ÁÁ¼]™íÊlW¦ªÕÀÁifàà4Ǚ̑@³BB2#v¦œ3bgšs%“‚BµP-ñ “3á”å8UáŸÜ§ëJÿ,@ºò[ŒApHW>ü“Ea·yn çæ‰=±fQ#0%nE0%Î1eRÂN§Ö©u öÁÖûÀ€kal-Ìî<\-Ì~?n›¨i(q”Ý7QS5Ql÷ãt[&2œÚÀeΩÛ2Wo6Ík£óðôfõÚh‡‹š%Ül ’KCK ÙD¢)©vƒ£(QBM+rh -;Îâòº44Æ6’Z›ÛäP‚ £L¿ -8Mê³|ÿQTð«q â7`#©buà0;Ì1¸ vî„8øQ.9yOv¯‹Ñs…ŸRÛ!‘@Q˜Ñ‡ÑYì£Ñ8Yß8˜ÀÕ VWu0Õö@ø†2² ý5ü&eˆ‹¬“ÆñeNÇÇÁQÂ$Ä›Íñ¥n6Çç*?/ƒ£„ߦü<>~y|ƒ•ã‹™ØÇWƒ·èÕ ß™#S‡¸Í¡×Åvé¨(#ˆÉO3 ƒ"}©!:zD±è,XÈkavËB ] ]-—«:D ŒC‹,ƒeo̤ˆ‹-¿±›(v$@ÛD±3²‰bg:\Özc­K÷Ò½t/Ý‹uNÝ2œ:1hšî¥{™”pµ:¼^á[§ é´ìºÌU+d¸ª–‰Ô®ÚU»jWªÖWº4ô.”yààvÕ®LJÈ¢é-Íé-Íé-Í‹ô–f‚E„–+™¹’‰jÅ“ƒN΀‘ƒN?èäL;Óœ+™'T‡ä\ɤ€<¨ªpþ™"•ä‚@U…sQU8H((L‘Jr¡ªÂ9È5K -d÷Ñ‚E„ö2)á‡ëJç»®„ŸÜ¢G$>¹bAðOnç–t5‹LK§ åveRB †mQjUáž[bÃÏ¡ƒas:=·¸Ãv¦@æW³¨œ=”™”°ka6H( -$b-ÌVÅÎ4'*qÜ *q§öUbJhÚ¡-ÌÞœ -4wj¾u^­VÅ~¬J%4H&Üb,†´±‹™;ƒ‰bÇGáÜ0 m¢æ$l·Èp2¸ ¢ŠÓl …7fRBÎÉ3œs:ŸIqD*d·e ¡À MÃù) 0[ˆ& ŒÃu¸Œ—AÓòÆà¤Im„ë2)š×F'@&wšV‚q 2E*av°½1X8DÅVìbžG 7 ±”®æëpm”צ@Ìв¦à -¢Ä„aݲppš«ô–æ\ɤÈ&*Ä 7”H‚à ¡ i Í¢jHZåЭrhBæ´"¸¡P: -Ä©ABAS`–Sã ImP“Ú ¸Å„[g¹4t -]¸?Ù‚r%Jcëd0qÐÉ%•YR>“jàÃ/ mÊ4ÇÆA M"ŽêìÉÅδ̒¢ØÝ5ÙÄm$ …K¤qs†ï^Ȥ±{8JÅFlŽj³YFÿäê§H%Op0™Ù#LCÌu uðàK N>9$`Œ¾T ÛÈß©8$öXúTg|«YeÅÁ«f îr ðËcœHÄÁ‹™“uä`÷ÐB\l1úûîZHV°_qd"Pè|"*øRr­ð£4QlÃ{ªŒ>¼1\š!›¨ƒâpÐÉE±QΫÅÉ(bˆ¥d†Í.ñ=~ -V4¨Ozа>LFã4©I'Õ,Ø(bALÞšÆd@™Ó(yûº"Èjå!/,ØÙ‹jÊ ¡Š`ØíLé “oˆNIq™o„h°ÎÅ.ï ÉaL$fOÞW\,LnŠMÞ·2ú+ÔÄ ž›ÂË´”dˆ9£VÊ!†Én ¡°ÒÅ -°Ìexü÷hu¹Ñ†À5EqÆáË“¾s÷y…T.ÅǼïC+»¼/c'Ðì1Å-C¢ý\*pÁa RUø@Ĩ:£hŠTuÇI ù–‘­:ؽϤ# UŒþ‰Ä°­ q.ßÁ;6‹JÙ¾à¶$ÐÌñ‡×'†8†ÇáSƒ_±³ (¶('@BÁ66JâÔ8x' 4Çr;†ä@úa/`íÞÊ7`Ɔ3”G¬¯óýã¶ÉÀ—‚—a! èL±  -œV",åLb k hZ·id€AB‘"Ár±âK,ÖUX—–Á -$ wW´šSÕêÐ*ƒ„ÂGe5Ôîú-Å*g0ŸÎk -’J ;Rôz€à4‚ÊŒ‚K&†³¼ú6DÞtÀ‘°®c€㦠”-ƒ{môj•Ù¨´Æ¹X’1D42$³ H%ÃÑ0˜lèR:"RBH,6"Éc80åPŒÂ ‚ *†Rªˆ:”–ZÐ qp’±>°`ñ“Õzøz¦`í‡Ø¢gÓ¢qö5é‚eXJ´ëB{éy÷d½`ËÔC·C(ð‚$Æ ÒÅŽ !R8“Í0(è`… ¯Íüsdôº6Vçid÷2Þ1zº½'’ZƒÔh„Jž >Àð.‹\ÉBÅæ‚¦ÁzJûÍ”£5†µÍ½ŽFy_ªÁ·Ò°#ú±¤ãATÁ…\Nóµžæj©Láa ±–N@ŒFËÕÔÁ9†ßëà–¶ù.÷æ2–ü–“2(ŸŒŠMÊ~‡×=Ù!ôï|CøêE€ÎªI–4êér3±™ƒÀ™gùðø i"Ÿ.þâ5裺R‡Ì+™-„8ÆË¤>ÄÃk-‘À€'ĦýT+./p¥ \uWjÿh*¶¼°¬´X±UŸç²‰â/ó£7LZ ½€…NÇä_ÇÀ?¶䉜ÀÇ­Èüsðs„8¿æ,xˆ³)7„ñ'ĆZ›Cü8Q@> Bì,Ö0ÝÌÄ â#Ä4aÕý{ˆEÙÀ!8‡­ƒ„£„ø=• a–Ê -ŠÐÕ˜{ˆ¿2Á£l´bm5Bl^!“¨ ½ÀHr#!~ëËÔ—FN^×, x8EÿrŒåõMêQQºõ×ÌîK|ó a'†QÙ¸ï«SåpùS6Ÿp¤kù<Ÿvø*âtàlUÔ¥º6òFeGÒzíþ%XáäíRm¥ú7HD`½hA"ìì¸a3 -rqÙo‡¯ÿBAR²2Ëû£°:p\+[´ ßW¥Ðùƒ+žê]ŒZþìšÍ¦<Àðl´¼§å0˜Æ×¶È;@H‡(Š2< -WZÔ—ÍnF悦 ã˜tÝ‹UPy”u²!ÔJ–0f)ab½…æßP¦]–’üª 4¾AÙ§{| £ µŒÑŠ#t¡‡¹‘Ùô WaÜýEîãšæ=*ÅM’]î²`몘T±ß5±œ¯Âëp¦eCeV%Š6‰¥z¥˜?ØTVÇä}‰¾Ñ+jMáuaUï X*eÌæ°#żöF˜ÿ@+Ú=М@Ùòâ¾B„úuEó§Ù!í‹þ#FýûþΧ B­{åš›õ!5U±%Âü ÖFV6Ž"FcB-'gðÞr€¡W×Qg°VûÒ£_ Mº@„CŽÎ`Ô¸—y îàèîÍæ‰MR,ô6ªÁ"…’ËèÉ4 qªîסíÃr{wP%Bi’7Ätî(g²±á!ïÉËÜÕI¿:ë¶£!#!òºì.oç»O!ÉY*C¢vgByÂÇ»R¦µ“ôû9˜å -&„8 È,žÈýQ§ÔºíÕ&é[)Ø„Yy¬B“Ñ7¿Ù5]Gcàðû€âޤ,mh{…ËvÃdTÃ?±Yq…_¬‘ìGUwX4Gà\vÜ€&!›ž A%£®”¶&ãUÚ¾çºÖX°N˜crÁÚˆô|ÄÌ“ÿ`²Î-üêBëŸÁM6GÛÒçýD¦flPPc¯Œ{ºpä&_Ѳ9M˜àlÐÈð½ÒBBˤ¿}Û -jÐÉþ îJŒ 1Qí55$Ôq(5þaÉ"j©Èº/êÐ]ZU V6•ø*—]†V5éU»@˯0ú‰³¥ŽâìÃ¥^'Æ“2{OÇI=‚²ÄQ5U–=ZâòÖWxáœ9e”(içg^ÿÆ §½¥BÎfïZZËlNqÒÍ=¿ºL*¥%,67 œ§©©ÿ -Ë’×ÈZÏò¿£ì!wJ -âpüMh%My6ÀL©6]R·=yU“8`Á’ç…A~ßbc`Jhh@­8-gÔe”s\¯¤D/ƒüŒdì¢3àÌp貎@…§Þv A‹ã¬,rWþ*?ðû!_‘ÕˆÀGº|„E#ÀcE§»V¾S {@lF€ë€éÀ@¼™éí.ªŠCÖÚC|‚\}l…À`I>úkˆg±‚ðÖl‰Ï.à˜ŒšHW—nܦ/€w|Ÿ§Š=~£{?Жpz®ÊY$7:éOs’~ó‘·C‘gUÜIq‹ù”‡UènÔ¿(16b¾‚»Ï;€6Sm¹uä¢:ÑMžÆï¸Þú“ 9bõìÜ5¸ÌQÞ þPÕ> -ÂbàÒ‚Õœ¢$´ÕwŽÐêØ¥åŸ ù-¸ó$Ûèphœ\´ìØ[°9ú”¢<ËÛg£Ö4†4¬ÆR øRäîC`Žbèð6õŸwV¶ø³¤uY sã`Ž ¥ñN›ÐTszK!7á¸o:¿_v\÷™ùÊôA±'(ŽädM@ÒÐæ¨¯>N·U˜Ùø¦»W7hsEÝ[#@¦_ýM—ž96ÙôKìEΉFÅl’&,¥ß´Au ™i-››ë ;Mw]mOqXå²2B€`ŸÍ˜i«N¨ti肇“ºàruµ·(@Ñ\ ã|Òæp{o~r¿™ã„öñßÖ.šÂæì:.°P’hŽ­¦’WþokŸGJŽ>y;ŸWjðŠþ|›€ W}!é0¿L”ýä}—f&yËp(ª‹¤ãDÿ~ -ZŒ­ ßNÓÑÈ»½sQÖ¯‚üõò¦ÉÃôòðº-<¡²aìçC‚d«"IÃã08£N/bÓªÕ‰ïé:h¬f¬ƒ‹î/ïÃl`jc3A…Nd\Eêávƒó|ÊäüúÄÑÇamºsëÙ‹¿d¼…po§5D¡>¸„Óăž^"s´”©o¬xˆH¢‘+˜EÙ{'n ¸¦EÚÙ<7 DÚß,Xeå´—µŠVãRåÇŒSÿª½Ý=àq>ˆu³V˜ç¾ž|Y¬ h SØë "ÒwqГjt+d+@\­¿e …ض>¤oc44Ù3BúŽ' TÛ½MùI"ÐL³]©=ßv/ó šµê{ož^g]Ÿ,AìQ0–4‚f³êñY×Zù¥D÷¿<ãD@àÒ! ÀÐ`³&ÒÎñŽU »XãÙ“§ðô‹Tñ Ä.•¾‡»['«ŽGAçɺ‡¬&ƒöE›a ˜Z¹AR¿ÛBΦúýc»7>ã(!fw¡œ4îà~?G…¯AJŠ``L¤^ ¾lCÚ:ë1|ýu«Å’CÒÌù‹Þ—@]Z#ø -–À‹êFÝõ|Õ‹}7ó¦yÌx®t£9§¶øÛ‡§ukOP“¹ÎÌz_o–n&2$ÿ9;á.™7=“ï˜Ü¤¡ R‹7HkÙJ'&~¿M¬F ”kØäEꕆ,©û£È¡¥M¬¯Ò¢hgãi,€”šÎ‹Vu6'ŠŠ¿(×ë«¿é¬Vä“i—é"ûÞ‹1Å„eƒ÷‚#‹/žú~hzæ -o6ùŒHK$± ¬¸…<ƒc÷—­pUE‰;üI§ÇOð -‰êr”í… #Ë­90ÁíLåà°* 8VñÞÐU%8TXOª50_½hÿ¤q’¶¨f‡Þ…ˆœù]Ýs&Q$ï‰îØ(.mt¿³£!‡_]Æ€Ÿ5Ö‘Ú ƒì‰ÚØbд!BÒ^e5`ÄÅMÑxÖÁG»WÔp4¿:ÎzVõ%&RU›õå–‰WSsï,?o:"ûõÕm‚lw=xg?Ê@ã%3²Në%§âß{∾ -¢’|¦9­¥Êl†.1Oò> $»cžþ¾°w)RyDð‡üB.mòw­ÚÀâÝ%hËå 0€ø ÆàÛWÑ+–:Ð;½ LCMàú>dõ×B2Æ®qrQ»ÅÍË]6Ž„ëKñ©+uÇÍø%©Úí¾ÒîÖ‡ r溊XŽ6 -”Kˆ{ÑYœ‚AÊU*èÃ'ka™¡y†H`rÔ -³o‡³fM\ÿ¥ýj9‡pÒ™’Åœ‚#5£ÄäÅ5rBÊoÃN¬'ô˜:íº²oKuž‡‡ñ>7ŸµeH¦8Oxˆ‚>›’ø3€#XV·s=¤ û1˜I?uæ¯&Ôz†ž¾Ý»Î–«¥b¬W—ÒŠ¸ˆÈÁ¨´q¹uim¬ù'ñ°ÚÖ‡¹¾ç- ¬Oã386"–Wm°c4E-ȧ<Ûƒ€×†EÞ‰Uü$Æ Iíåx%ˆÈ›Rª4ÛQ+ùpX(æviNmîXSðˆ¥ˆ©ZËãr°å ô¯3£â¦Bå=¶|±¥þí\ z)ƒê:‹ ²¦¹sì*¨++E—„E‹ãÖÌ©D~KÑëN§þ_Mã”q¥P½¶Tؽ]îáó]Ô-,,œ8!~ ©GŒ$ÀŸéspBô–1Bx<çox¸‘ˆ¼5N:öÐ$íÔ~1 ÙjQƒmâ{ ¢æ'¹³BDA"~b“(Ï<·½\<ÚLù yø ª¢ë†×ˆ[l˜x¥š§ê¡y"ñÿa³–šÒUCºŸÂ‚Ïö×H§@²ä-¡ªÙúyðÙ­mY¿T$­ù¢lFªJ@KÁ£ÍÃ@arBNæÑ÷w”W#A—ÃR«b/¸d÷0Ìf½íbóTîïp0e³¶ìBnjªê®ð[SgшÜ)‡È?FQ{5¢s„aQ¤å'[üæw«zvýŽW4„¾Äß Âä÷á¼Ð4 Qɋ瓛Tá/Y‘¾C¦RÖÒ‚å?ê> Ytñ ™CÃY¹@ùiG®?È­F¨ûÇ…d¨I±‹&ËÏ æ,{_»,;\@ƒv£,UG£A1xå‰@Ñu=¹@0RF‡üälÚã(4I:ø` åNé9®ðûÓª%>v© -|4o4,ù±ûEb²¥Ô Õ»7C4öÌì’#+˦éñÀx÷»Æÿð6¼¾ûèã”'ä㈂(gŠûÂ\Ç€BŒëM·÷LÇXG”`‚Ú-84¬ôF@J/–§‘+•âó2ÃsSìÈ*ßô^K@N™Y›r€G&»ßAöS¿w=r•FGŒßhå1€{¸¶¶ƒœú?ŽŒ#‹ÙûF”©SH›ÐÕæp¯1i@uÍÕ}4—Â+L7²ÜKŸ È#˜GÊ0#«¬–vÔ‹} \ªêž -ɹ |¨vlój _‹[ Û}w÷9’X;²ÂZÖHJ–Ì#yƒabÂ÷…þM±³úl’F•ÔAÂmË^p›Ö8þˆ—®½hR×4´J’gœ†¿p'(‚ŒF -öV·ñx™‚ë5ëç /~~!?Ûp5±ŽBx-⛈ ús<ÛÅPEç‡Ó•<ÖŸ[‚'¤‹p>™@ík8Ió9,«ü³æÎæÍ€¢DÚMjèù‘@kÙâlaî¼§U8_ÁŸª]JŸÌjáÃy°½Ãh€$>!0IT-5Y{ì&s;ÚAGyÂÌ&i7UÄw Kä]]ô\’êv?âÙa.Ç‹4vÝ>186ÉÀg¥²”†7y¶em¯cÏÅm1Ÿã¬’â|"µ•Ö+˜ëIÛÜ1‰ïÁÕ"…c}ÚT>9­9&êÒR9!‰Ûߨòh$†d /¹Øð ‰!-†5˜-ùEMp%±1Œ‹_±J¤Ð0xò«Õ¥¿ßY³û 0Ç ‹L%¢Qž!´› ו¼#¢zeçanjŒ&ï×­øoéteþ¯Gê{Ýú×±˜]Cwöpã -i =¦Ô -K”­wÄW$ìZ‡¾ï16ö‚íNúÃE¦œ8ÛF‹vë6†Éªm%àk°iJ<ÆÕôŠú§Û&>Ôú0ÓöDþ“…OÝ«årîQîUA±g9ç9SÒóî'Z[SZE†pÉ+ŒàVß캠¹j€ -ÝѽU wú}À·å;BQùÀ×ÐSd&ü7¡¢ÏGÁô^×à§=sÞY¨€Ÿâð~:ThNg®À4R½zßSÐOlvö@ÐÒÔK÷kCá–ÞR/oß°Òÿ®Ì€Dî;ßQ×t²,làúààÈ›ž¶8Ðf$á\3õóïÀ„Ø -JÞÆ¹ÿAG”–ÒÇ¿¶EÚéˆÖá÷fl¤ ~`¢Åb%N{ÌÅ™¤'8M'ÓF£Øb9îp,LÈy§³ßÜx¹P?3¿V}æÄôÙAÇl©šCƒTÌûhxVˆ#»Ö؆â£îÀ«ê¬d¼iy lcž·*%1[ŠŒ·a¨´šOÚm·Ð ŸÕÎ'Ù§Gv†¿­,$‰JÿÌ,!Éù™Qncú¼ËRGØ&z•í+çoãu,¶I•µ®"°M|g¿÷†Dí>rôI¹…¦ 5 l¾·!—ŽÎuBE唚ÿË®ujM^Ìö¦šsÉdJ¯†c½Òeó‡þ»|è“zúT‰û–ŸÌu ‹• ðsº”R|ý]æ"ªc~3›X@5-A¥7ó>D)=T4•—+á!pgõ@œ×öVÞÄL1™VÄ"WŸU) -µ_¬ÙâÆPÂtŠD¸ÒIŸl¢¦!cbV×FqýlÁWWX´ -îŒÇ»ÁйdqÓ:´fRÇäÐEgmb0Šò‚Åä3‡G|üIykBc°‹­.¸Ü:ÉÌ©Ûi[¸™ƒ·i3 -­}uÑî*7•ûžHÍ)C fSÇ0Z`gö…ˆãúM“½²ÿË 3pŒ"v²´¿$s!ÕaNçÀI“ÑvèÈ -˜ÕÆoŒ!éöýqNõíÚ4T,›z‰ë…Šdä÷ø¿GÓ·4pš)ï‘í÷¸»ã˜Z¤‚¸8i7»xE4Z”\$QXÚ©É”æW›ÙrF{„vÿv@lß6ˆÈ†2KBÌà VaWHi+FØþ[µn3ו*üÐu~“ì>ù7y?Èz'œ{årÞe î•ʵ’P!°1¯œ_é”ð†nŒ9öOýd0” U›ÆšŽ¦.>(ÑÃf×90‡Õ™Ïw‰Ó,ßá6ãÚ „Ávܽ h‹uŒÜ«Äå"8£Ì¾ M8£æäx<9°ÅsÎ4<‚\ںʚÄ+VÓÖ°ý†‘™u-'² 0ÄKž£kíB¼+fªŒ6Z0J½¶Î1€4¾2Fÿ¬‡“!ôÙ*@mÝbÇ×ü¸)w9¼Íž=™Ei€4ÇxaÜw‚éDÝ\ ÕPÔÌXQ]œ?ýEF¥Õ³/¬Žg·Q¾+®øÅަ >½M@dÝèó‹F¿¿|¤Ê'ýóþŠª×Ö£•|YP€ßzw-ŠNGaµÇç·´TµŸÚ“ù ^¹ÎžÛ[÷ûzOýTEÐæþô"é¼$9üD6<·œÐù'…Û¢ãeõ¤¥$YÊRfle¿q†¿¯?¥‚ék •ª%ö:•czƒHñŒÑ/*^ª„廬 7Ö&‹B&žåˆË|\Dq¦‘îÍ”ëtM¾írt‡ú¥Ûxµ‹Eb)Ü?qž~ŃˆMQ:X4ÍF=Ì-~ìëp 3aap‚Å1Ôui‡ÏyÑÅ>¤EH©‹ƒ`Oñ‹}´›Î3Ôr9§GLã«ñx°4bhFËEöÊš³¹Kh e»÷;ï&™Š”Ÿja´Ë'/d¡÷þíÖýó°€²÷†u›õü þ©'Ê›y"ØJ§ô©+ž’Û¢‰F½¼QS»RmêˆvCGRx’3¬¨=dWÅ.`TÆ“îÄB;qɯÁ§aƒP"žQoI*J->íä‚ä&ƒG{)k–*ذØH™‘.ŠÞy ”nœÇ¯Ø¯ÝÔ¤û±jovÝ3F%òµú(è5ÑžO´}%JíñöhðžÒÁô×°î±Ó¶PàTjÅÞ€¼˜9êUKIm°œ/µ@_ecf^RGcœM`Í‚‹ íÁï¬{§O9'z!Ø#/ßÜ–¥ -&û9ËÒGñ8l€-‘ð ­¸™GÓé§Ú0œ£7cÚZ˜(ZG5;èNE$‘¹ìñÔ.k«Ñ˜*kÀ=A®[¦á›E»€G€ðã4ôÜ ÆL†$ $Ã].j ï -…ˆ8ŠÇ¨úës0¡ÏH -aα/ì^ª_`Žœ% ÷BµZ6¹ä_€©Z2Ô - ð”"õ¹zGæŠ&ø1Vù™|ÊYµ¶€džBO~e-e`>HÞmÀ0õòók!%Xä"ÇØU‚À×ÚÔ±Ã&ŒAkJ’"…„·µ¤E…óŠiðƒ LæàfÇÀ䇎·b „Ý’5E±Á» æ“PúM3S¢íM[ٵȜøn‘¦›gQ ºCn¸®‰W|"DÜût‹*ÍtÉ>X†Æ3QpNÒ´w]£Ôø“½øa¢–zÁÊØ®ëôTßê—ιàÐuõ£>¸K7§`#’v’C®úÆYÛ½d÷è=Õ“ Ÿ.âÛÄž óÝYG)n$æòº'°L¨Ih†TɦçZUª²¼€\ÝÃB£ªQgÞD¢‰t~=a!ké~œ^Q£ÅX¥o¤.Ø ]кx`ki Ì¡Àf‹ª »Œ.¸2Ø?’ÖköJn3‘îF’]È=4o÷ÊJûþò§Ü€ÐÖƒQÊI”­&‹5ã_}ˆ´¹êaC"|Sˆ•ïT-µ%B»]!q_Å3uf±?àKKÃP[Îê°àdE2G¼Sµ=ÂæG`ü%UÀ {ž°ó)7',o¡H‹m’7’`îæàŠñ±*R´v,»eÇX>L¶Ú¶Ê30zÔ?ó‘žLœb¤%CEíåð·1O$‘œÂ„ãrAb¿·üAYíXÂ{RÂÁ ‰ Ï_è&­5A«ºCô¾;?ߣ±€Ì@3'2›ÁøCá˜XÌj P¦³2‚rB;_"Ù®D•"×ýd/ÂÇEÅ8Áa¤¨Êûqô:èþä¿—QÀúÙ ªë&„z7º4ö¦é…täª@uH ÕÉb€p°“ -ð½ÞŽ`+ã'œR–(Z™=­—¥[3XAw_,rIël~—0ŠS¡)œª&öziRðúº#5â­æí¸}öšäµáY^#O_W J˜©ÓöVÈÓ!RʆQG…C‹UJ_tzÑ^\€u#{Ø/)þüêP§­ZPÎw@ä ÷´¼ ‰M§Aï2þÌ„‡Wõ4ãšë¬ÉmÝ4y!0•ÈÇ óöúÀ"îVqË›$1ØÖx%²mEŸ`Žw=R̉cYEF:8ÍÊÆx7ôPI¤-æ€Ô޾›Ùóa›!½2 yXÍ®orÌÓ¦‹u‚G‰y3D$¦"¶„§ÎTd/]À*j9ðò)Äî -ÜfP˜¼Ø–ˆ‚¸ê£¿F„Þ]vª}ESb¢íAb%¾Ý©XÌÜ™+¨DâW›!ëPÛ®!µ{NO”œ;ïŽ0’[»±I*d¾U•Ã%dÃpÞ±C÷àîò#k0P7ïÔŽЫh Ñ!¥9ÄÑK`Èñ&0ÌBÁ¡Â¯z¹©Áþ9…•ãv!£U¸‰º nŽ(ñ¨| äŸõ±Tº£¢g=(ÿy=Á“<ùÔZ!¸4Cƒ#ÑÀ¨˜o.IAÖ £O~žZ §V3*Ò\ÔH¬âG:‘‡»0…™*{Ä5‚-L§¶b‚/‡›;ø ;/C4«T=¿¬-Ñ*HÒ…'£ß:¨ÚwïôC£ÃCš©?\.zC CÂÛË]Z÷ê¡ÆKñ.—6òv … MM(·×_µ÷pb•`‚‘<ÇQu‰†ï’’ -£ü>ö¡K¼^íˆ»ã³æ"¸1gÒƒ®ßLWƒ‘ùäLŒ×Bw¢{Fp€òÆ­é©#ú‰hç“V2ãüõæ\°ÐÊCË&Ëxqìd'øiÖ´—ŠèÈ…™˜¦Á¥}wc-í1\{bÂ[ƒ“°Œµþ*OQ€>+T£W4£>0 éB´.,²?°¥¢#‚ƒ,lvÕBÇÄXL¬ïi®´¯çEiÇÎI‘†A59‹Tú4–·Í¨J.!˜TéÚdTç‹ýêÛÈ/m %qV8Oh×–j‘ŒÏå¦ A˜ü—a£|LlĬ1¦ÕOÜfÛ·r¦‡³Uet}ˆTqý»€å9Ú?5Nw>ƒÉBqôŠBŽŸë,0Í*¼s(—@µ˜×L~ËCà2ï34g!z¶òwä`egzƒŠiAš ÞÌ›T(vaZ°c1¸â ¼€·[òV”›ЙïCÙÜÝ­ÆpOçKK 2ÏºŽ ZÃm6Ìke>wèý æ…'Nâ Ì«„‰‘’±Î¿é†³È×ô x(€–”EifÍaVÖÕNÿ¹Âq¶ òVr-ÒAœëŠ -‘ñ1­DtJp3ºZ‡©ç„b”qÚaùÚjðüÆôYÆÎÆJ‡“\‹ ¬=a2|ßGš¢¹Þ -à ‘Š(˜Lì î¯IåÊŸ‹¬î± b".«¦cÆÞŒûªàí:†"¿ŒYü¸~F¾)â~eEïL~ÑZ§r®[¤ž3W„nW|8žÿîÈ7áQµÍ¦°5t<ˆ%f¡„†+}Ò^ ¬ZŠçÛ£„f”À)´‰ê[Ú˜<´Aœ&]0“ǚDždw@!Ô$"ÅÇQ -PñØAïTò§r9ðeMy:Lžÿ9âÒ‹'–·¥j]´œWpï›þ¾å#ùɱZzZ½Ëm¼‡r]M®~«è‡I£Á2ñ™£ëQjs:É¿(<ÍÙìc«EÈã·È*@MBq¹ -*öWNQﱯ%»D=i©ìbÇùì#LâÃæ”Ý~) Èh­LssLê¿n(±•klöÚcE³škp¢ëJ`WŠl¾yîäJ¡8¤Ì2Η-"ÁÑN«§!Çì•HÝÌôgµPþ"¨&r‹*\ÐrÊÝïÈÑPt”Niqˆ©\LØãpœyþ¨\¥C)'.¢ -6OƒË±-ôYÓUC‘f%ñæ2}¨AjM…ŸZÊ1ÕOìÁ•[îà#A=iÚ«-Œ ÂZ4cK€6MÍÍÁ -/Q)º†¬]£Mê _r»&#ÿxÉ¥•`Ç0uÁÑ-Sƒâûþ£Ò7ö}¸~#(|´™hðØÎ€†žbØÍ¯ƒ’sžðÔ²LÜÁ‡¨ÏA?M¼è¤åÎs[~dšÝ-gîØÃ’I„\6¶³Ú‡\Oidb«2O¸™°ŽBÇ™åIàÈNã$Û‹**$¥ÂŸOóßIÉù…ÅíÄ"äBDáóñ¡~BE–Ð Ç«7(•_07E¯o¶Lï$/ªÞo tÖH‘"LwA©V‘<•r%tÔ˜wœ·3;’ž˜d×’:£ 7DæBgT,)×Q‘«ôÓÛ_\(ÉkéXéÿ9V§Úê±ÍYÊÈô7˜÷|¥Ú'¦Š-M÷$gp# -ºMÇd˱«ÁQ¦€3§A³AÔ"©Yµc¼b¾'ÔæÉ’¹ðÅ–$¼3]ìÛ"¾¶Ú<¸¨ö 4>ÙjŠA„"zú&-wðA4Øz#ïØ@ Ê.-!âh§šºÏÉÅ.7 ±§…4-Ä6 øQš]×é€ÜÄ‹+:pÓ/ºÂƒ…f®ðßKb¦2oƒ9^õ\9ób"ÝØëªCëØÉ§|ßhY¿+ÀË\A2è¹Ê]ÃοRQŠ{¦p ‚äº%D–éJÁÊšcÁçñ¥òº^ÈFÓ—pÉ Ráoݘ…%8ˆàÝ䎀·ö*‚Þ§›¦g§K¨wJû¼,ñÖ}‹Îj¯nŸó'»òWûX['/×§ô¶sž¢ºŽæp Mô10æšY\,ɽ±xÓ ·ÒÑsÖ‰ŽÓ™æ¾¼2\ ?Ð^Î唃6}róÙ­Þ_DžÐôêPäEmuØo øH}>ËoGì¥I0.)òÖ•rÓë¿1s4cÝiQ"lìÛ3ôóh×EÙ%ƒw×VfÚì¸MÕ¶T:æ”üݪ’}Å!!‹¥\5s'Þ¿ËœhëJð3ZOÅÚÖ&ŽTÑ9@ò­b.ÍáQÞç9GlºïÁc,0xZSjÇEFþCeüG€Ó}KGAÊÊfÚ"5—yƽ—°:­f•BÝ¢ -¼˜ s†¹SWTayc64iC¸³ž²@Âm€pX‹Õ&Ÿ3ßÚTÚ×ÛL]‘šOB -³ä­•ô5÷Áùì—p¨“×9ê#"ª%߆SúH£L•ŒˆB¥Ê!³U®zwÕ-щDY¡èöTtS¬Eåçöµ$ÇÀÕòz€¬]¿:?Åìg-IϹxL„)Ë=616A¸+Ý©pRY±¾fÞFjŧ›~¯é7Ñ÷}’'9޶pâÒhCSÞãÂrú s2+܈ˆˆ?¢"»XÓ_ÓŠôEqD(T^I?ÿ.F8©LBM‘âdýÿkPlç¯A^<‹ñœ¾T𑤈¶WJrÙP¯¥¡••µÎý»/º*<:镳þÓ#(ï`ÏÐ÷úQfLuž¡+æ”Z@r¡Šú˜Q*ò÷CÛvŸŽžà°o J®ºŽÉukÔ† ø‹ëp,>f@ HæRlÞ”ÛŽ)Ѭ ÌyíŸr‡ÉEmÏ~E@ -)›”ù ”厙/.λö‚©—ò‘¶µGaã’<ÅÇsvY/])˜'c…^ïZ.PAŒ½’Èv¾/e]l¯ŸK¤4:ŽKË -.‰p¸‚uÓâ®kì.!®R.¬~;;%îñUÛ@·ÉKoWGB¢²‹;÷„z¡sT¼Êû%ÁÄ…y [pŠ(þÁôklI)¾C“•Kæ& -دrúЀ¤ã·kÛÆ~Óù”Üë&G¿µÇÚÏײHA™é> —¬€ˆÜr†F!±e_ÔT#xpŸBw$ÑA.¡–,$ÛåÚŠÖ-\.&rý+Ý´ƒ+Þî_ž#ƒDâ•è¾½„{eÓôúFê[*‡·¿7NÏ¥Ær†Nc]šßwóg@ø{znJ«ÜH+?V‰]K[3(u¥ýd`º‡Éüd[¤©2oQ8ú^ëa{-í¦Ú¶Úº!ET¾óP¬lN5ºå¯G¯Ôý\Ÿ¿ri¯BCÛ-©œ G²±xTÛôâªÒèT·vÞP@Ÿ¡`ù0èo\Éé™è¸8ε+Œc·îEÑF;œbgÕ[ɉ Q' ã¬Èû㘱җ6êýìjBÝ„UêûJJµM€@r'ïhF kH™ß ^ŽÇ-˜álV³ú¡7ŽæÀŸYïX¿ÓÕ­{#6̉ èØ6#›CW’^† Q*¥º´«IìIÉãC4P“–@ŠN”hÇ–ó—(!ÞÂ5ên+œ.ïzm4:¬eîèRIÐcô6X²ÔBƒ"e]ŸJK Öè¬ìµN²ñ’D•÷màŠÝï™tô á÷Kz#õü ý—{”æ¬v5ç-.þõÎ>#Âç¼¹Ü3ŸuÚè*(¢’ã/}]™ŽŸ@pÐèQÚü’ë™+Å/=r5B=³Øéé üƒY8!ì ÙÎ6-»µØÐ‡Þn*†ôvãâõ$UWß7ÒøG0[ƒÒFÎ~Žaâcg‘áEuZ4õåtýà+Û<<õ`ûKÇçW¨°‰°ƒ4ÂtsÓæ;ku¦`ØœÎÇã€^¦›\¬EÎçëîm.é|Õh¦Ñ~¨˜;nö6ãŒQ*«” Ÿ€Wq’ºä‰À(ÊTðò*èaÅUp‚q)êSš9Ç˶¤¨wé,ÍiË÷è+ŸäÆA¥ ¯W‡~¿‰oÌB|_'Yõõ†¦°«Wa}ÜÈ4I*\—}ßà‰ê­êë ›ˆÞ[{w#Cä³îX­öy£)¢÷ß—™•˜òÿ¦0½7ÃïìÍ}ìñˆÜ¬£ ôê YbãÆp[áúCšÜæñœ¼©ÀC´r[/ásê’ŒB Á· ègß¶¡õbPØâi!òTاã%@É _ëv³™Âç&}AQ#%s¹DÕ‰z­Âó°¼ÐÆç>ƒd$ZG´1>m&“«Ò¢…m»ê/lxÊÐ% nšæ-zEÍQ'ˆ0eúBOØ‹º–jò­ºT2éάmrOk…½ È'ÀÇ¡Lœýƒ¿jü=‘ºwœ;™.ÖZ0ây¡á¨9( N PfD<{9F!_;RF‰}2úö±ÿ~,H¨qªÎöÑMGŽÕ—™E>cÇpÝ´t€Ð™µc>ù„=?‡É~Aà¡Kw!£0s¹æ·E> -«<¹ 0©Q`þÿš -²¤Jþ…볚›Á§Äù±-E mï~ᇎpeúMnáFyÚ‹µKr7•r©úýÜ\/ -a¦@Td&‘ -=Vs®ýöu+'8Mþ¤»ž@Q:úæOÆÃg"¦:u§ÎÎBÑØò–ëù*_v°ÉfÇ”g4MRÍ¥oüs"Ødà°N,¤Ãf¸ º¼m'îü#"š1z3ë\è˜þ´…'×’'§þq˜Ì™\ÙŠ§¥ÁI`fÍfô žfÄ…dª4bµ¿a×±’b]fknÜ—£UAH{u&­ù-²…é',˜H¯&¸ äu;à<ªšÿ&SšØ5;—P³ªŸÅ6 ä›!éÔ_õZðãÈ6gê5V CŸ] -‚ùøúi ú¸ïbëŽ\O!AÍE×­ÄÔëY&%©;þƒÍÛ+˜R -À§Ãb'„+¼«[X?Æ ?Päаe÷§(ÿ¯µ"Ñ*4m -¢1µnáÍÕ×A­·gT]eÜ•užu:ìéû¯3¥[?%nðú’(g³(´ì”1ÀÆo}/#ç}ÏÖÄIï8Éö­b7â%„8¨ïïú¼t)ç~mi¨eÄÄNý•@èêË&§ D[+”ðá3 [¤PŽšf›¬ÌÍ}Ì0Rô2RúiÅŽë–>ˆu¬ã'ržŸx'1›Dí¯¨žõϾĀڢeM@±*^pCͪKž¼1K¢æcH•ÞµüüAͦ^›pjÎÖ1XÓ—¦yK®PKÊ:áË ÀBöB©‚iºî÷Õ +а&:TH˜*fÛ¼ÔqjP®H9H8mWE?-æyóüPMU¢#Ôtñð¦—~à§Á)$”Êٹѹœ}†aò?°{Æüª]2h -fˆuŠwÿ€íçç­Ð­ÃJQIÍ™á6AñÂü`qhúx'AÚ”¦'”€ie²Ñ^8¢1ñC¼7¬ç0q¬îþZV¨ÂfuR¼ÈW Æ žë{þ´?ÖìR -‹ˆ)·ùcJ!·U±´è&‡ßA˜àÆŒŸ»ÚÐ Ÿ*Ì}Teð¡E3Cö]Ǥ!Òë`_ëô$¿*ìÎV6b+l\óÚœ@p -B¿œÏ$×íe3úíÅDR 舱¥EÓJ¨ZÅ‚k<@ãXp§ýHBQ{á:Ô¬dºÛ˜%’t)<âÔôÝS`Nn‘Ҍٸ³‚1¡`ôqÉFz0[ZòÇl˵z¹ÓjáxV=Ç"oV焈‚lë¬plÄ#È—¾„¦‡¯ýoì"ýŸmr~ ÙRLŸu»{±þ«thÚ;ÍyXBtYþÚ… ,„ܤ؞X7²öÀO±UaÓ°{sK®ì_r—hYr"DKP S 7•^}Õ­TRþ{<Õ­&þ Òªžì\¼ßF/Zé­üf{‹Šë×I¯èª¬/ZjLœRtáåˆR骪³y+öabê% ©2Í&óV2mtF£/·‰7šMS{áØéŠé¯5DèZësoŠO©+G³²šÞ `€l<ÞxÓvõh†ÞÛˆ©õ+¿º[eí.»w¯•©¦Ø¿’_²r¼{šQÍ¿ö£œtù†V¥5ã•Ý»§êâ-Ê¿(¥êë`QšÚ]ºVSþÌ+W~²¦MÙÚñÈÔÖJíys¶#KC¬ -¸jüfŽïrÑrÖw|‰{¯§N]^Ñ¢³[õB©åJÔZ½]¯*K¹´Ö-fÝrUËW…WíÙ›JctšæRMnbšñ˜WÖšHêRš¢õ²¸lÑ©Ñ|õ[Š· ˆáº,Å¥êÚ=L¥RÌgÖ^V™ò,37±|^[?m×Qñ“Ì®ðÅΆOò¢©ÕÖiªÚMú¢äb)š§y:Že.JaíM÷Šæ÷*SÍo:QK•œ§_íPÑ-Ã¥ýsŽþ¤©/@ÀÀùŽ®ó*úÔ¼cù4ëJZtã".e}òjˆÖ_íº·÷Ò•Š–n°HeképõôTl&£ž–}Ô/Š­§›>*åL±hõL;e³û¢Ö•-¯«îRqt¿§g²¼÷FƒVy>£²éfñË¢Mj-Šâ73bÎuë÷m÷»Š{w6éÑæ¢œÈwsxˆß³™Ïò|vK¡ñî¬:—¸(·„û¡:ýü¥ Qí£ÅÕÂÓkaê¤:/m-“0ëF©²n§àÊϾb­ÓV?up«6Ï¥ç4íG5%ÓN·¼üžU°¬+麮ìN3ºb©™9о%·÷W¶x£[ /‰n~²Âü’­éÕÐï¹ûº´¹ºNUt·k¹þ W‘(î¹]͈ê;Ua:ªÜ´ÓÜæ¢à!*ž­Âï¨w%ߢrfw/ÒªÞÞÝžxUNôá¢-¢— ˜KŒZrAŒ²1™Ð€ñàƒ HŒŽ+)‘&BBI‡—dXJJd‚’`ãh„ ’‰$ 8”H!É"¤B&@jƒÐs´x1ƒ¸p£IÝ0޼B I‚¥aÁBlh …=ðâÃBH=б!%“õqŽ.P°™²< aRãƒ"7°1bBˆ"HŒ( âàD„"1‘¡:ˆTPpŸXp¸€PÃäD3 S€ - 5(<¨QࢄDRè €ƒ1a‚‡€ $Ô /D.,(J2`ˆâh,Ã^,à€‚ - µI‚5$@0DHرÂNÈp`c¤Ä(*XȈ ,D‹ZHð¢B.¨ÀP!"`ˆÃ@½àÃ… 0ÄXŒx©¡&XxpƒäÆ!!&LˆcR.è àÐÀŒ824 £‰ QD )@8òqÁÇf$‹JpJd€XðÀ!%câbÑÅãã[Àâ‘@™€“I‡I‡I‡É¤Ã øÁ u¢‚=xðàÁÇXä°*.4ðù8€Ä„ -*t˜4Pࢄ@:LD¨Æ‰ƒ1âB 9øxPc8Pá A‡I֠ÇµÃøn $˜%@*@ø áEˆ‰)v 0Q1"Ç‘sáAÀ‡'4`0, DˆAŠçá±<;H.Á‹R‘âD " x˜H0ãC‚ý8€`;p,Ð@„#Ç -›$X@„Üx²€ ¢Á‚¤Ìø BYkÐ"ƒáˆœ¡qâHä08tˆ8bàD ƒ `ìøpq0 °`%%6#j|È FD˜~؈0âG&•a)© 5 N˜¨` -\”ØÐàEX ™NŒLxÀ‘É!¸ß¨@R6À@"H ¨`2(,àÂBÉ92Ù€#E"Ƈ…rQƒBêÆˆŽ‘‰ƒ ,”àÈŠaARscxBŽ*Ð&*˜Š,(© ¡&¨ÀP ‡"Ô`0Ç8 ú8€@»À @$P@d, B9X˜¨`“Lˆ4¢RxP Fœ.4¬°€a‡ LÌÈ€âŠýºƒB*”À°#2P@…„ïdÙ¡‚ (.pÀÑÁEXàÀùAÁ &7HÊ„ 7&|lp -4LH€‚ ma2’†.ØÇ DX8 j Ljà``0 -\”Ð!À˜AÈ€Ò:`ÈD',œ8ÀE†·G&G£ƒÕ -™8(qbdB+päÏ -Yp 0Ȇ`ø#]BGX@„öÆ10,Xà‚Q(ÀÂ\ -BG&Σ -™œ0عŽL(Q%pd²ÆÈ„Jˆ”À‘‰ˆ…l)‘.Ø`'&°Ø±Â\”82!2P`P`ÁŽh(Š$3€Ð"pb>ÈPb,Œðаáb€ ð€Æ ‚ˆ&H1pd²Üb p´(¡‰%¤€#“£*ŽLTƒ„Å#!pdR–U¡CÈ„\£BàÈd&4`<#‹PR%‚D„v Ç -Qࢄ&*LT°! dÐh ‰`aÁ‹ $”…õ I} @c€^!òqÁŒd±Ä˜p˜lÀ‘ Lx¡cC@6àÈD;† nD„Jä…*Ø8@‚U”(±B‰‰0ÌŒ…™„$(èA ŽL,c†ƒ%(¢ÀE åP#‹%ÒÂD… 3Á؆ -2¨``Á‹Ò ¡ÄA†!&,J”Ø@!‡  tÌ åà™`¢Cˆ $âB/,ðð01&„Øá@dñ Aˆ‰Gˆ%ÆÄ„^Xà!ÂD‡Laña@‚:L ’º° €X% T(è@!‡"D:L @u€†Ãñ@ª!" - ´!Âä.t˜4G&2f,  È@Á£F™¸ðp6Bvx„2 `0‡È@˜¡¢K¡  4¤@àã$¼Àcqà` #[ÜH Ä;ŒqãC”  ø1ÁÅŽ -,ã… -8L ðà£\ìø°"…mÁÅ l¡Ár¤ÐQè ` @˜€€‹¥Ê¡";pQµc‚ƒ -þ8€@Ä  P(Á!Á‹ÑA"+Àá±hÈ G†‰ - …AÅŒ’ àgb¤ˆ L–@!ŒpÑàŒA5Œ€â f4xá í£‰ >¢<¸ˆT°¡ G -vàÐÀ 8¾‚B 8p€° À}ˆxà‚j,Z‰Ñ±‚6,ða]€!¡}@° Ð  0@‚*Hh1‚°Á#hr<è@1P¤à@)*$±#„„JV¬È@0l² ¨AHL&àˆ02©!L:Œ€`!F4ðÀ#AhàqYãÃãã'Vñ(Q¡†Ê’Ê€ VÀ¸0 @˜Ð€dB0 ti€cˆÕQ"¤ ˜€ƒC-r¬°LpàBDÈ帓DÈÂq˜ã€MNŒ -L|ÔˆÐÀ,8€€8€€Fˆ&L<q² ^tHð¢C‚˜ ¸¡‚䆊&$(& ÊÆ 'lœ‘à„ - eÁÂÜh@âˆ×ARcD$#vLpQB^Ì 3¨Å‹ € aÀ‹{„€¦DvË?k,ϵ‰y[]L»ûdv5£b¦ô#-Ù1«J‹Æ˜ûZ´*sž™åíÖªù>ÿËžÉ 3+‡¾ª.Ó¨¢•$ܵÅ_Í­Ôá•4¿/šëš\e:y5éPÑæœÞИDjF·…K6§¸…{ˆV°¨P]EÆA4ûx±´0KÇP‰òªÎSŠGz.âUá^Ò. )%Ù˜ji¥•³G+¦N«¹ÙêM!kýê÷ã#–nj-eíÜhoUKÇTNC#´’§?õPÝÎ) K½WÞÛ4"ú wQÌ -q5×·ºuPoåÎ̭ܵí—Ò~FxHheËž>¤½§ñ´‹bÕEL»½²]JÇ+-•,WiUo窋b6Ñ&Z•‡PõDxÆÙJ3霴h']×ÛŽ8jº(ªÏ´±šnci–´w´Ÿª·ÿiišDO%"=f>·Ì~ÿòf}îMñ?DsÞÍÆ'âÇ4=¥Ýf”ÑXi¸»µ·¡Õz‘ÆvsêuzJeä2²[Ó¥"Þ±Ž‹4;u¦›ž*t.бʱl7g½&¥;+ªôåumÔÌFšx³¶ííŠdkÛQ_Ï77"—‹¨f]ˆjº9K%¤ô寴JmgÉ6oÔ¯Û¼­ê¥b4U«ÙÒ3£µ#²3[_šK¦Ñ3§³6ËŠÒÔjÑ’jç…yš´z×t+;Í.ÑðH¾1¡*þk5Z%UµÌ­Õ1Ù«lûžéf‰„÷½îÔHõçZ½šïo©>Ã$2¢Â×è<šZá\Öç -­ånÝœwQ²(SÇŽVîDø›»]”¼—Ïxúl-êž)íÇTãw¯ÆìE»(‹zL{…Fz«‹b›»÷¤±R³Ü-4–uQÒ¬²ÌEjBS³ž)ÙØª•ÏW[«Ýgúîú¶–º¢[q­°uMv>ûÿU7â8ŠvÚÒg-Ö"Öñ´™K¿MÚ\º¥±§«òtßk»RQÒ]Ráõ>zK[U„‹zåñea®soêy¾5ËÍ£$­µòýu:³ÒÛžM}u¯ÆG®4:ÕOM“& oéÐF®åÚRÕ]wvY·‹X³h•õ)ËÒK´ã(ŽY.ŠuõGÏM\'Ù‘µèÍÊ%—ªªîó•y¯k‘nJûÖµŽwÛšÄ%²k­ƒ^2Óí<‰¥GFi¹Ô­ž¦Ý™ì­:®5i«2kŒ.íæH˜‡Ÿ¥\oÌ,[c¥.Ýt¹z<}÷–tº;¢œ\cz OÛºœg_µ1’Õ‡D«E§v»{+…µù´+Rš®G¬ïj]%VÞîóz7¿Ý±j¬_”+×Òdånº–Ôþ“w?˜Š¯½C%šÜç­¥yî?Zª¼¦ÕQ^•}LeKè´<®ê O7EXö³Râäo\ÃJªÿYŠu®I×Õ¶°ôLWoo÷‘Ù“x'Ýùj¾Y\¯ ºêiTG”´E¾îM¢õ­ÞœV©ºÌcöí©U:yd÷©Èîjµ=¹ªÒé¾(õ£òb©¢Öþ¬j¬óâýDR»½YÂĤ1[œõ.Û¿îc/Þdþ½-3},Mïîõzž­i­£¬ûê—z;õ2ò‘.Qõs¥è£­ÕMy³¿סiŽ›…õtšQþù;9q—oÎnJJô´E¼Ùˆì«ûIJ-–ž¢]ljZIƒvJ³Š.Kúª¦Ù”"aæ ­hšÌ:wtnY¡•ËçiœF>;£Ä*Äݺ^mËßÄséjÚC"¢]×HSo”uKT2{Hs•p±Ìðž‡H«Šÿ.J‘Qæj%95UKwhI©êré¶%-´’Z6"´¬Â]¤q¢•;×;v´›&¢â m­¼¹Tªs«‹¢…¦ˆT®Q+ùÔ¶ÁÚEAõfNÖѶK™„®ôomó6YºÚîá<)OJ»Ÿ5õh7ª†´föµr+¥2ÏTï[«7Þ]Ó–Ò¢•ýšgSÏ~©Œy5V´òTÕºuYë¥4‡hç#"ËãîB¦š–³t+e=jMÒ.ʯ¬j¿Y[þ.Š•ní”mR-ï”Vš.Ê>ïFM“-O·(gkHŠy¹™öÄÓ½èÈW{¨cÞLyïï™”jz¢æ­Ð@‘ºELû©úÈk”‡”Þ#~_ß,嵤×[ÖÓ?Þ©"Qž*j^/‹l·¿13ÅÄÃZò™ª)ËlÕ˜¶f4¦'ª:¯uîþÓ™} 'ïœGT©SZŠ›'Ê)#Þž¦Ý”Þgœsžm›¾š¾¯P]Šetr. -êšmH)od>uù׼͚’¨in¹äiý¸e¹(§ft­C­ɲr¡5+²ÑÜÕ2Ú¤ÙªüIi3Ó¼•Dõ?·LÖ<Ú]çÁÊËÉÚŸf¯É»Ë6sQ0òÎùuÞ–)¥m‹gó¼DSuÝ”‹¢[øµY¡ïð,ó¯µLrùôŸ£Ä¬T²£¬\ï•æòŸjÕ¼­LÍ›Ôprhã¬_©vÕU©©F¥ïÍíå†hFºõXÖ"9õ~>[U2áÿ¥KÂ+Ô“Ížìªt4í ´9ÿ­èUQmÞ=ÇùE©¹3étxƒÆÔü–Ïj,¿(å³ï·r»#32sަšqìFFµ_½×ll×+ºÄgžíL§ž•Z…§5­VÚ e.ý;tßiçQ<¡9Ë2OëJsǶ°>‡·b–Š—vü¢”m:M!–sŒªëÌ¥´|šp -oohëY#’’&âfžF¢Â»‡î‹ëÒˆpÇwJjŸîËü«Ïšsø$Ÿ©Ò–]&j­m]¡ªÍÚí\Ÿ•›KýÁ¯}î[Á›4µinå[±<´¯•Õ]FÕÛÞ®®åØfx2»ðæªÅLܬò­陪›¯ÙÊ««²ÍåÜCÙJWiŸ+«e^}8iúºyYê¢ÖÕ¬9—îì#3kêí~Lßmݾ¤ú’Ö3:ÔrÕÎO©PÍ.‹¢E¶IKHƒŠÞº}­^t[Õ;"Žv²ÐÊõÔigK7‡xyd¸ž:´ ‹N¤^Õ2ÝÊÝ¡µ‡ÚgíÙwVJYóÿ:ûY¹¤ÌE*©ž®å~R¯L±Ö²Ìȹ(F»ÖÈV×þJS5åÚ%ÑyÉÆ‰W6ŸÖUË…z¹(×Ì]þ»w¥¡ËEqÒÚSVt.ÊÓiÏ:5ª¹s•¨NS”.¥L[³Ë¢´bd¥ô!#}mÑìÞ -ÒÑ”wOMT$¤*MÕÓhå¢ÔUj¦ qt©hs®Ò¬ºÆ¬­TºÁJô]•Ò¨7kLW]^œœ=õ·²Š7ºª¼«Z:On™ópÔ)yóþ(e‰¼xúÑ|ŸJ5I¹¤¢izNºw”‹’ew†{ÊÁý¡7²rF¢Ë1ÊE1¥¬{Ÿ©©»¿ÒÏíukŸš4¸_¬ÓUÌ<÷6û²°F÷KÚwÓôTÚûÆöV O/)7ɃjvwY¾¡½_UQžiâ¨>³ôtojÖÐHÑ;¥¨V†O›Õ¯+çò‹bÝãšè:×k~±Í4|áa¶Fk–ŠiKiÓ9K\¿0ïÏgé³ÏY’Îâ—,»%"Ùô]Ksm¢íŽèPëR<¯µ®[5$K¥õmôR÷vmÉÎpóéȲ”¬#QýÊ0ŸiiuZóBC»Q4¡Ò4UïpÖg–ƒE{þé’Êv¯öTíj°L¤ÐêÖÝEUYyöR4ÝX¥Õ~È·4jY¦5ÉHkuo×nÔ¾ÔŽ7‹ -Mw³KÊŒÞÍ›êŠG¶»kLx{³ÕùwÚ,õæç®VÚLºÑ¥Ñåi%Ùéצ4¦4R»+œÛ/aÝ—ìfõ[x¤•7º˜k\ÛÑ®‘´¥«kF5«h‰DÿU¨ÎEDWŠtÎÍ—ÒcúL»ö8›gtsJua%©)š¥Õzó+gÍë§¿¤'Å2ßbúòPñ¿›°Èv§¢z=‰hÊÏåî},k‡rÕªéúÚ§ò§½Q%Ö=}»æ¥‘='«‡1qõæ=ï⑹Tk},JW­zmìˆúªoÝÔ¨¦Ž„•”–¶¡gm©QúN³èÜ´í(Ú0¿6‰Vôæa^¾²ô°ªæh¨{ƒ6Í;±Ni¾¼n­ë¶׈ŒdC]ó*>­O$Å5š§pqqQŒ„›d¶ï'ñ™w²n*]š^™¢-ª]þ¶\¼omãmn_#ûVj‹ËêÖ¢½ÐžŸ£;­.Í·Êú¬«s½£±·îi··(›xº)îté¾U–—™þ©æšiíùÕI©Î¶¦ŠjûÍtVʪé¾›šd2ªS뛘WÔ¹©”PéÇŸqvwÑJ»âüVw/׎æn3)¦]åÞÏ_Ým§”x™ž³TŸêV6j]\«=Uó5ºY¤¾¥{8Òû¤ZtÏkº5Ý -qvsЧ[\¢ÚÕQ<¥ówQ*Ézó•¬õÛE1$²Å«¾NíˆvÈvQ^v®%õù¹c£2*¢gþ,d­Ó“âK=‘Þ™vK*_óªÐÌNTÂ{i–~ñyv‹vÝË+Z5óÝV<†ˆuÍÛ»!]s~´S·»«*ëÅ3]U]Þ~—gG»$+Å¡Ó+Í4ó™bDRåמ¸g­?g+{ï{ô#ÄÚ̳ò+QÕvV³u*­ß­Y½G´õ7u퓘묓¢©iò»i%³M[6«ŠwW—ƒ/›1­fÖØÝ÷ö[·v[JU¥\ï3i}ÌüÚ -oT¿‰µEh«ÿçô¦3éfþFÎÛ5…颵j©C2¹Ì¹;{yÛüΚ´C/šžMGH¸4¿´b™H÷wîHiˬgÓVåöÙj³íäK´{ÙÝÒXëÆ.Õ7Sç|{§¥W=®o¥[Â=:óIkÉPí¬&ïføR=3Ž]9÷Ö¹»ÒÍ:‰rmè^>¡}kDˆ¦S!bú4ËÖux®ç¬%ž|h¹7ùk6v’Õî˜sïz¶¹‘ÑùJE.Ó*œržôhЖŽgv¿²B[i¨cÓý¬¥âÚ ³~æ"2³W÷άVPélU*£áࡾꫥ¨úPçô¥™KmÌzݨµ:áuêHyd‡ˆ7ø<úÐç[u„dG½.i•¢*í¾Pçx·»ÖÍý‹n§ðö×Cýê¥Ùxšgw³Yw·»üî¥^9Ï”tç’þ£Mo2«ÄÓa©çòé¼óâ=?]Ók^§òϧú÷LòøÔFf¿©wèèu“¿é©ááBýuÑeV¶x[_£&æqoÔI¶WjˆKsÜ/ÒkìI˜/ÄC»¢L<½ŒJ¸Ü"*zP¯…‹rwZNZ•b­íâ,áBwGoK6¾L54%Úúô:W®ÛA½Eq-¢míoQŒv¯ü¦&Qæi%¾,£¿å”F+÷QéS¿3%Òéþ–³ÓBÿÊúò}ÕÏ%<\º2µÕ:Yþ‰‰é:RÕ,ßž)mKŸ–eçZº¼\Ž6Ï;¥ö©®VæÉ%§”ì%B;Ÿ4¥¾Ôºåà埮¼!MÛ£–G›w¢9÷°Ž†4­äíjåï–gÓö(¯™O¬Ä#f.‘Rª­å)q_E8š¹–J©µ5wjDÂtêèÓ'+ÃÄûíç™¶ÙóVó~BšÿN¿ª¸Vk«¹˜i«tN;«ýu.ó_”;Ów¦/ÅY=)©ÚÍ­mÝÇiÃ\#}ѳr¬§§Õ§–.}¡eež~µÖCyT•–uÇ©¬²mí˦5û¬ÊòÍpèÿÙeÂùÓ -åænnÚNþ²ê;÷DŸÑQ"ѵ”µ¥§ÕT¦?1ñ†®²!¼SõÖ½ëÒíh»sϾ¿SŸÄK´¼k™¶¬¥ª¥cÏ<²Ó"ÕšºY¦«hìÈöksÓ -å¡Ïrè‰v¨¶º^1«…Z9çJ½9Þø2¦ê$¦ÙÏ¢ÓÄãzRmÅ1–}ÙCkú—«f×¼1L+WvnÒ’éå&f]Íœ.L#Oá5kó|¼SÄÒ¬´S­¬Ë_š‘L§ùé©Ó6Vú4$Ä߯ÈY8y¨ˆÆc⹜‡g·´™7G˜ªú;]ºììlš$¼ÄëŽ/õWõÕžS}Eˆµ?ÊÑÑ—®æ¤Yçaý®º/ÒÒÜHeµCN+U›†žÚý=çLÅEA=*]ÒÒÒ¶Ä;æXšé”¥•Ò\4,¬ºÁDËÅ;V.ŠoËžsuGwí`¥•§5Ñ“G̬4£2\”´Uý*íŽhô¦´²kJÏC:[½*µ´ðx¥¥D‡‹²Ii|îyñ*±œEV·¾ qQòŠi$Bü:©vqQ´òùÌ.Z«§\Z¥¼T¬¡Éç(«ÊîpQÒÒlšÇLgYVïûDóøpQ<¹T¿*ã¢d–mê3מsF2,,Û"Ú³ô¥VÑÖjŒÔ¼”‰išh8ª‰x5f\”ß{g≞¶³°N¸gk-œÓêžíè*Y.Š®z©N—¦4möICÅéO]„¤VßÙ<]=fxèçQuÍZ96\Œ–Уy›‘±¶¦ ¯º>M£æú°¦2IQï\«¨†‰êëÕ]UáÙè¦#Ü:ÍÓ—Ç -/5ÌŽ{‹¢¾çg}»+¦Þ‰nUoQ.ˆÍH9ù[”#êZæ&á-J=1mèûó.jâ••Öì].ÚYîÔ!Ù9u·J§óúx·(K_µ-Í™‡->Ô˜oñ@J@ £»lM»ºÙIJFß½íx=¼ïâîZÁã–.ÊažH1Ç…»Z¦òúƆªªŠ?ºOª.ŠŸE—WK—¨¾ÓL­¡›I¯î¤c©ˆtº(§çÝêžÆè0qΈ”®î[1Mq ïD——h½åæ¢WÓ­1³<Ëóy§·–¡1øý%Ñ®o;Ÿ]êUé¹°pó¾®Úé‘Í’´Nmï¦"³-Iй(6»­Ôð*K^ÛÚ£uéâúp~wïÝÇÅÓ{mÏnò©ÙießÛ]YÑžÞéa­ž%eËü—Õn3fëêNuÏPm¶žDÞUòliêÚ¨¥Uš¥©]U¯2 3]¶ôäi1_Ò¼ÄÁUÄÕ2m}lF5Z¯“ÑíqÎNŸ£j‡V»© Õ‹ïSv¦Y­ýÉÚ£}¶|eÊÎËwåßT¥xE{ïÔ–®µ<*´’‘èH™Ï¤=щN m“l¬W'ïÙÒígZ©´§Ô­5µµÏR¡úFïKF„ˆJ&[}§;Ëô顚©á©Ý¡'©ª}¦3ºHׇg²3š™–ÕmZ‘ð”vŒî›ž¹P•ÊF³ò©›«³8›§´'™pSÍuuZ¿©¢å½Ô m]ˆeô§-ÑLµ¾Î­¼kjßs%*ÙÕf¯ªZÂ9Ûµ%ÚÇëy©ÒTäÂ4Þüɵ;¢Õ Ùè>]ëá’â¿Oš¥•Í‹bú®ÍÉX«©¶»m®Ýl—6.c¢™'7 -oÊNO%³Ñ†Ì‹bD$º;D5Ûÿ¿¤Y3¥¼ÜZ£¡¾òs-=5­:Ìš5o.êT~Öêj[¹Š66Y.åÍJžéªN­Ñ‡l´÷ϳÌjí¥:z¼»ýDµw':_¡ÙÓnÃói!©Í›•Y·õ¶ES­ò™­¶uu9k³"ÓS—v=š¢Òó:õÆÎÔª\^³5+åÑ[“Œ*-½(‹z„©§¾îÙZÝàY¦ž®¶=¿9qîŽåK%rZÒ]£ê¼SïÚ׋’f4­ÛYõ¢`þ½jFúýó«E•¾×p¯éÁõ’Ïõ«ÆlVZ~Ò-ŠÝмˆyKUÞqsËÓ²\ª4ùô‘á~\§‰t³²…dªSu¾Ñ§]n&¥éèÒ‰6Jü3Õ“ušt3Lµéž¦ÌΉ¯!»eiw‰ŒnÍTE /϶N9g·8mªJâÞKÇìEÏÈrÑ8·[”¥]#ž™Þ¢œÍ#òŠÌŽtìnQèkVpÇ¿E)+Ÿ½9Gþ¹|8u¶bzÞ»ªÚ‹´t¶§ÛN3îZõ´wF­<ž•ÛÜ• ½¶,&½éj¦¯#ÛB[Y®¥å];GwE¦W¶(e2]«4©³®ôI§ÉSÓãáuìÈ‹bKdö*§ÞœÌ¼(v>ïE¹B33Ļ۔‘--ÉÌgƒef{ÅV?Û±ùÒ謫y©Õ;J–ëE1þHhH8KN#5/ -Î’¹RsÈuÓY²ÝØÎº¡2LïïlñOhXƒ6ÞÊ4½(ʦËz­Êš*óo/…®2×E7«~>µb:Û®ÈÊÒβ¥¹2+{£-ÊšËl¾z±íöˆ#%cî¢T¾Ô&Ëü¹gËlNJÕ[QS'½t5efoO¤³±™+æÒˆî¤ôï2uôîÍA3+ªW^[Þš))•m–Ydž²-%U¦~†V²Ù‹’°ŠF׋R{=+Z&ºµ*›•sUyknóˆÒÓ-JÕÍV«N{-ë,ÙΖÔélè ǵ¶Á³ç™pogϬài^šLç2—VîѬ$é)ÚI«ƒvKÕú̺c;Ã:TÊ[~BÛE½,õåMªµ³v‹‚“hÎÄ[”E3=²oQœ&²Ý1ßrŸE˳ýíf¼Eñw|K³ô™Þ+íeW³¾záÍŠóþõêÔ9—VX;uwÓÄ+Â{YoQÔ’.ÕÖ†ÊVÔÇ£š½wbŽ÷Pk̶‚F¤ß¸­…èsÞÐÇ„µ[‰nñ‘·¶ø(õ’w/Çv3-RÅÒû=OJ>úNí7¥FH¶ˆWŸÂ½ÌRúZéëz*[©æ®mÝÒ]%Ã1Ó´:¢¦*:“Ȧ֪©V3\¬“q¯EÇÝ¢-T4LÛJ#õ•l÷Y¦KzIЧÜï*Õ½Rs -ñÊìÌtq19ƽšMye©UèË%/méS†—¶/ÊDÕS¼Ãïžj×oBš¢ÄÓ˜ÓÐwÄ!*Õ¼•ž6yˆl?hiçì^Ù«®W»Þ1Kµu&滑–»ãÚ“Ñ•ˆ§8¹t”Tô-º2[S›ü¼Ñû•&}°òÖˆ˜”Gu”{›©¬«v.Ÿ·ðl7ž¾·"»»,MËe˜†µvŠgxßµB,׫GõG»ûÛ-ï”VVÒh¢S]z7z¢ü·¨F )ïé==fýöòÌðe8™7©xµ½$ÒÕÁ<¼óÒšo—Ðìn“õ¦Zò©Fw鑊r.õ6V4+Ýÿ¢;ÒŸCJwûµ²p7íDÎ×Îæm¤ª:Þò0É/:îZdôB´U\U¥­³¯Žñ„_2M”ÿìýV…¯g–6—Oóªk,Ë(mðng'ÊMÕ/ê“|ÛçgõxçgaéÒabú'½±Ñ©uÏÿÂA#z¡ÑÝYnZ©¢ÙjûçM–(µL…§%;VfÙOs¸”´7Uß5[Ë$Kò_µu¿ÙÍ4.ž!ýœF5žÝœž¶ö3–÷è¶õKt÷å‡EÆ“"ծ͖t÷nŠHwo»îJ÷êÎn§UêÑ¥5«Ô5.Š‘³&m¶v‹jšU:ó÷6ŽÐ»zÇ<Ì›i­Hµ®Ð¯¥¢¼ÝÎêªLF¥õ•b™âaz½CßBÅIÅÊÙÍÚ–UZ1ö[Å›+ÒîiþžÛ­Ü¯iŸ~_ö Ýšw=E²4å~L«hU÷¤•jM+;’©×”ó:éeò ½È¦ç_nÞgQÍÌÒgƒ4¿Ýû”Z»¸C‡¥…W+ui¥æ+¡ïj¥XûoÚ7E»TC";YéÙÒN‹4‘jI³âk×0SoMf=ÑÎu“ÈFXãÓ¯‰¨‹“ßE¹ÓÜÜ«¡¼®Õ^Žo-׎.D¯. -*æñHÏ_ÓÂL[!æ.k6—­1+¯ÝÏêò¨Z†åÒEŸo¿Ë=®Ý_¶¥vEiö³òé¶Íê, ³ÊöèFO§;eiÔS^VG“iˤS¶¦VÂÜÔ4Óê•Hi‘v­lsÖÉ*ÓN3iÕiy†u“Dv3s­"Ÿ¾½3õ¶fmE•7­KL¿ŒÌjë;yGVô{R­O7‘ns^çzµ¶¿Î;¯Ä<3ÊÛyœ¢4Výf·¦Væ «°ïû"­teÒ¦‰4 OsUéëÇŠLí´öK*Cס•Õ·¾Je7K©ºFôISïtO–xfi¸5J™Vª¤D=ýÌ´rÍv^yµ“Êô9åisö_Ðìæ”ž}Vþ•?´EBýµ>HisÚã)©¢¯‰fŸ£ÄM²Í|¶GÊ/ÖХݘI6û­——C·xxT÷ÂÝ3³¹»^gsuãÖ­qiòöêÒöwµï¢Ò½ k‘Š–î„ghƒ[Jù½ÂÅJ§î’Õ´Ö켪ºS¹w)奎­f8«uªôRZáÔÝÒ}j·ICÝ]ŸwP3‰<»•»Kˆž»jÙo—é­dk÷X¿·¹Ô<-D»ÚÛ:æ\ÞiõAº¦qÕ~¢L«Y=zUi‰‰¸H¿ÿï*}/õjnm¯NâØ¢ŸeÓúPiñiçóï?¦ÙyVñN×QuhÑ䬼âbŸ¬=Ê»Ä:¥½¨pQ ïL‹¥y¶ŠO›òÍ7V\jŒvHh¶Ï§Õ$béêšy¶žÓU}~d5¼¬<$\Ú²RÒ¹L-J´\Sº$ ‘U]–¶WSWe£ÙÛ;êµU²Wªñè6¬³»Umû¦™qõ²Ž‹­Tgm•N˜ûQ4Õš´§™0 ŸE/ôq”£fŠt:xç}:õ¡}c†ä;¼–tÏŠ´ŽF ÿ5ôÚÞB…_Eû\µJeeU3Ò•3ªÅy&ͼ|¡ÑŠê.â-.îhQ-Š÷4íÌıî¢ü¨VÑv«ÞBuNyïéÍ+n–^w”C´‹RFZ;§3]U+M×E±É®læýÝoÏ7—݃íWŸVеg'ß"ޙ̴þ{í- óuyûNš/ËŸÔçQÏ0ó·Íuù<3Ö%UÚ’M]Õ mKUÇìº]*y_–µ:D—¦3%çg½‹;g£µCZ+>ÞËWF¿ë¼P¿£N<-¿Òè&„´D¥{‹–¦4ížÎÑMUÏÒ½¢TãebÍ´†eäÓZæ!êÎ.Yî õh4úöNÛÕ_=ñ>µÛ+ýœi­tslŸ–RRž“NiOkç›SO‰j }"gÝi[Ñ•YÓðEyõ7½¹…³ÞÑßU“y?þîGC“]–)®VY~V|ê]ž¯¨ôL‰…äÉT“¬sÑ €S‰CCш€:¦?w ’ÆÂÀ8Dy–‚Œ1€ cÀdˆŠ@êsˆ£¸Ú9˜Êxù!üÃrmVíÜ|[¹|¤º«sC*öezU:‡,‚ 󆡥±/P±÷ÿóà–Ü*j&Tã2«®¢Š±¯Ûõ·,hÇÀÖ7˜#{œ_\ Ž~Ú%Ìi¼Ék%Y«;?Õ­(z¯”RéCÜfà|Ài¯dgÄñ$Fc*15V‹å’‘0A«Ë&èe04Û™¿ªZ«ª7ÐyZ4/S Ô[¹È]ä¨iƫ̧+dXƒ~ ~¿ÝÆñTUºŽ©DØ j„z¨ï´8¦ð )#gõXE¦LÔv¬–Pè%“Ar)áÀ†Þ@Ð+,j–ÊýÀ†8H«>Ĉ͒ñH*µÃÞ8ÃAKhe<؆TL&_P.º·>Ú¦Øl``³Ž»Àtd2œ+¹dh¯è®/O}®:PWý ¾:TY --æ &hó‘v]æ¹°ˆì~ -BÆãžµå‘l„piÖ¯„õIÚ?š*ä³(É^|@Æ&ަÝMµ¯ý1MF÷׬µ -7;¡&?›áŒðý†“÷6"wJ D¯©åÞ£D¡=)_4|o+ˆµ}Þ«SÄG=à ›¬¼×aZgn³-݆+‘«Ï"kŒ’©‚ï©Jý¬{j=ëÔô.å•}θ7¤qz -Éü«ê¨rãÁã{wàÒÊ7Ûê|¾EºÈ£—D)‘skg÷¯Ì«™!¸"5 ûÏaÍÄäÈ“’ !»uÎ…cG0Γ á¸Dcë6±ô-ÿ"ë>¶öãõ†ËÎÌ!-oÿ -’˜QbËÛ,1s?-þ B,Õ{±àœ7&}WIÕæ[z;úÅ—¡c:>×µ9`ã§EoóÈš8ðÃ3ªŽœcwÝÿ—hŸˆmÔ®Ò$^}µ*Ž™Ï=¦6n70¬•™B£L6ž6¢%7lú"Cˆæõ¢ç&j£!2{dSÒÔoOÝ#&õ@:o]•ÈG(K ó]¼¾ÕÚõÜ£ó:\”k+#n4{\—æ NÜzÚŸÞŒl¬6Sôþs‰FXæ îË7”A˜†HdÊ“ñ¤'§Cùh…~V2*ov¶‰{µ¥¤&³Ûz3ëÔ*ûϵ.“+KN¡*H:õRxÈ(Û)ÙrÌ™a‹%Åšb®ÖïYÀˆb­'SÀ[»jm)…¡_¨mR›o˜(´l#¡û´ÀéC€Ðsjî£Ü5¤£í›!C¸cäkÙeÖLð6z>ØËri§rV,ËiÙÕ›XAT‘ɘ¢þNÒÅt†Â M/.k;ŸÒC"EC>„ñ å?ÝØŽÜ[v¢,(uºp¹ˆîö†~®Ý„ª?0E ÕˆgC¨þ¾”R±Ó_ µèi˜Kð©’:(y ¬ýmgsĬSdéî¢ã«$ Dm2µò;:ÿziÇr]‹C¬Pk¶Ë½0å‘â…Óg ŸÎM\œäóÅG¨W3+èÖ‹¼žÞŠ)ìãc-½j_pJ…ò¬8˜(ïW;,¸ Cx‹I¤äVºGK\HS?ú˜`51ÏVël‹ObiǵþÂ(ú¸ï6µt¶.GphbKÓ —Õr3 -/?Ó'½|¼œ—IëZ{ƒlE qÞ× f‘­ŽÌ9ÌŠtÕŠmIć˼úz0Ë”SrÈ K)›ò¡å]ȉƪÂ@G¤^>¢‰N²R^iü¦‹añ¤ÑBJ)˜ä’œ²« ^†@Õ~¸áöRÖL×Ç1Hc-ӓ)0O²s DÄ*(#ÅÝËðz)f²Áö= üæ¢C_ñǃûï]ʆø¬qGDü‹h;ø“kn”(¹áá«T ZކðŠæ÷ô¾is¥ªüž79 -4ÆUï쇬àd -ÆÁí­ 5ÈdÈ~RJ~vÜJ~èY-Ü{j°czrþÅ\ -oFrÁ`>þƒ‘öæ[T[Cs¤M–àrÿ0ØÓc{ÊdÎÙ,OîÁbDcJÑãå53‚‹ª\’šrOæšíµ¯í«Wä¬a\*ÿ—z[èÛŠ~§Ù{ÅÇjdÁ6€ 9ÚUçƒ1#.YÝæ’ý•‡Ò¸-êEûµ_D…ÑÔ~Ñ1!V%Þ WÓc6¤„¥=ÄÜÄ9zSã&1ûeuè°H‘gÔ¸UÖâEë W‰ àò€h¦ÁzQ½GeCp -Œ@ªºle1¡=HÝÌ3‘”bÝMž¢6 ¤CÊr°³„©ßø_޾¶›‰OŽr{Úûõѽá>ÔÖfëÍÕ—ð;úŒÄù«Ý2ÿÔO«rkŸp4Yêá».)T@[î8#å/ýf¨æj÷'žR OLK¢Ál”æKaî²ÈÄ_˜ Gs£Âðæ™-†¥fÓkà¾å<5Ä,Ýr\ò܋ƚe°c1§c²·¼E/~!**xë7{[c¢-]〷¢îÓÆ ¨‰—º»‡-Vv«Êºx0Tc¹<9´„ŸòCw_§Éîàè5G•J¢vö#âŽò˜â5ùN%y´„mpÐñâ«RÏ6“4úD ˜×²—¬@WžçÛ;- ‰ûm«[«ëÖlãÙ±ØõŒ‹ÇIhÆ[¶0•2–ÆçÑèÈwA£˜Bž‘˜‡V[:¢Ë¥°#ãóñI“TÉÏ#.­ -ÅIõEǯ'8 µÒF{ä‹Y.…F¦VÄçQŒG¿uP3»ç¶j2ºä¨±šòö£K4ƒs°‰Ìñp "¥…¤nBÐ}&âp+;~•—ÆF„„V+¡­Ô¼Ü®sÖw^I$ßFD™ƒ"˜ÄìO‡ƒš"€’A¦LwD¯¥Â棇¯Ö¶¢ŠÉ)’‹%È©Ðt—¥ÀE„tŠNJŸ›SJõ -« -æ‘€ÊED·§¹´Ýƒ¤Wú#šƒ—yÛõføOÛ‹ä›äŸtÜñÞñ1µ\OµŽÄÃÓ•yVZÕ3Wi©vèÉ»ƒ˜eh¼[ÅšU®¡’Ý^äí'’¶OÐk ˳¡ÞG" ðªFUŠ7‹y—£7WQÉùõdKŽcnâÁ#DÿÏ1iì‚5ñdÌ•ù-@ÒÉ‘¡è¸øé–ù3SvÒÁQŸ<ä•ÍŽ–"¸ 9jÄw¿ÈfNæKNt]NžÓ“÷û’ÃQ{üÑÜDÁ­Ü\÷[rÖ()ï5¯:âS4NO5µH© Øt®Ãy\ëæØqùùu>I‰¶¡\á¢D\×Á¥µ»9içøW ™{ûrÄF­ñ§çÅ͘ötj8/±Š hîD£ÀXØo¼,Ôä•yò wŠþ'~кàj0Wåwîš:ÕÉK¤y9z‘ã`~•»#ç媚éh¹]á]œ G&Ê eH Ù¦"bÀ9Ûœmé˜2  Qø ¶^«õ‹‡,ë{LÊ[ø2Åû°!ç›éÞWÑoØŒ«GÎJKÜç*eTU}-?]¡º -!Î4¦~h¢@]ë i™nÁø[rPAª(õf÷ˆïfCÈ›¡õ’:H݉4 áÑæ¥ÜÔÎ]´3œ§Fg¬˜8¸‡R{iâ¢La» L%3/ŸQÆÕž^p˜ÖÉðP`ϤҜÆxÀvè/½Bà6ŒàÄjfSóülhª¬tOàŒ4ÅLíbžbô°´ìÆPÐî.C_ Aÿ‰GçO+Bÿ"Èxo J´„9?EfYÑ„ÇGðÖ…¿s‹9£}½nCAὨbV…ÏÛ½(™}pI6 -b4,x‡ ç‰êY†ÄÉVSZ§$£»Ë:\âZ¨g6Õ . {…†>!JÉi¸w‚G<ü:¨—R¥I b" ö¼}ØB }+?ƒvJÍ"Žâ?Ü /¸™^oÁˆËŠ-îaŠíäy±làµA}ÜÄ»XÄß˃Ç6è ýV{ÈFþÙÀªÑ”U‚Åk™Õʧwܾî%¾êåüÉTÂ|¹BTRémÕÚÓè¯s’ _M5ÓgY(€ -âq‹é;É›–·oŒ,þã¨äUvH¢ñÞt­H"ÍóÂââO´34h*Ç+ß³r9#3JÛ«GÑÒ¦¸y: I¤² x˜–Ê.%t¯H:w ‘Œ„!P0©ÏÓ‘EdÈÝÜ19*ŠdÜ‘˜9Eà¦6ÏK¿PÐÉQL¾Èño>~ŠhRgl‹…½G¥ƒØ:Ä&´d»š <’¼^×Ä¡«Èˆ™Ñ¼DêˆD’Óhµ#$ø˜×S•=ܱÙ=j_F/«R”–$Ðâ}þüìï˜}´q04‰dhoW)„ÄÓ>1vo”1b¦’ê`1ÿŸìñ7àGAP Þ‡7‚e=·§æ~bD祵Ñ?)­A‚Gez•<–l^Ýæ,áYÄÍ/¹'œ£Ýgñ\ZÛ„ã*ãq àØ«´¸´?Ûnáóò +ûcÓ€–„N9Ñ„€c¥,ÔrZ‹AÁ À·‰x®}ÔI&|`¶øê\Žr)IàÉâàP³Ç0–>qP%Y*=ÿ‚@"äv"”5.ï R{] ?&ÜùBýç ÝË\¢ü»”ðp…-­vƒkgrÏÔJ˜û)…Yƒ - ˆ“Aëû4³ÒH|›ƒŒ# -!”N$üÅpžÎöÅVük¤ªZñÑtr3¡Øœöø ïÔM—rp(¥­ä²tûÙÉrÕÜ|€@ô£èGkFìÓ7à3ð…rþP™8ç•D¡dш£ÌÏHÏ¿œu—`Þþ¶òÁBMê4V:‡nh/oslÜ!–¯mÙçŒÍÂÉk¿5 =ŸPRàoyllW¢é›™X¯¹صÁ¹ù%²¯%ÝËÔ’ãÞz oH ðàB®†2Ú)â‰ejæwIlÇ›‡¯ÊŒV;ÛðhQ\^Ž—*½ÝËë{zWI¯„«Nñ%° €‰í…Bò{=n88ô` -Q4È4€ÿþÑ~õ›èNÔÌbsÚ¨øשL’ã5—×Ú–í߃¶; A4Ë]€Ï -.üˆ8º¿ Š>VjTåxr\Õ kÐÌŠ§…µo.ÛH‚7Òžzˆð›€_âó7©f FÑ¢0â¯H˜hˆ«e“ b2ààì>(d Î«]¡áÙy0Qî’'†£hs´u½¡¯ˆÛœð‘lL(6–ö–q·ü 'x^dÏ#~ ®$í¾äFxÑלrÆú\™fH'\‘ɱ_gg°¯.{² ¦Ñò`ð›’âj$¡F"ýYª¶ì”Ÿ} Ž‰Ú°·¬iÎóB§v±N ‚©.½ÚT_Gw`2‰*ÛwˆþÌÞ®;¸‚¸É`»zp|Š;ºÓv“Ðv¡î×™±\šJ4ÿ¾wÔD2%Onƒ¼‚miú,è 9R¹7b8â1²$(SâÑݬ¾‹Qk(ZŒPA}ôù¼“ˆRŠN_cÙ.bß:vËÕçE¦ÜS†‹DðUÕÝÙÙ{Ø'ÃP¨ýöÞ±´Ó«B¸B7 -?*å+/Ó ?‘[Û;Úµ ëD"OroO¦ØpiÏéO„õ{r£Ï¬¬—`-*+`OâódI˜Žo˜’ì€gI"ûžŸ„3/[ŠK y+^(ÖiL&§¢ݨÛ Öë+½Ö)’9“õ”© Ïb~Ëöýþ9‹^gG7“ÏØ1®€­•dÄh˜æÐ°¸^-ñù  ècêðòVØtß1\»8GçÈUÉÔŽ§è:ßÅÝ mfò`­îà A‚&bP€B{ÿ}RjPe(ƒBsêšÅ€¤†eRÍdŽ÷¡xbs/æØTàK ·oUÔ¦ë§Ò[ÜKô9rÈ>0ò’C‰ÛÏ»@%ûV+=`avô -`Ÿu WÅ—%.ÓÍS×\dq)–X|°].† 7m® +4á©n¡üèçÂN"—!æíÔªùHZùF¢"@>—Uõ%Õ‚Æß t›¼Ì§™·D-ÆiüZYYü޽ÔI5­90;L&ú(CBÒÑ1ÝHhšå4®‡~Ǿ'FÖ°Ï>5¾£Ù‘"ß_ŽÉËø¤üËŸ–RÆ!}5Ë] lëÔß{¡Z`]ŽÄ>[9 ›yQ‘€ë¹˜D¦¯.¬Dœê»jdaÞó|bÄ?ˆix«+ª#’œ”w”„8@n‰8$eµ–4¡3MyŒRš·Tµ“v½º6ÛUt»LƒV Çàmàl1 z§m±n§§z#3GŸµTìß:1úêK8­9Ú{ÿàx-‡èRÓ‚´ò UMý¿Z˜U;«–­€š<ŒÅû†6‡`yK¦óœ%ÏÖCŸîKyÚÚ6Êt×ÃílfæFæç³ºj”Ÿ -áHjÀ3\ëб(}@.%!Øbû.*B „IV¡:vÈŵÑèþÔå -á Ž@Ò×|NÍת ~LeÅOòa‹âE9°×“Íc\g–óH[™xé¡wâÁ„°"%^SîìÊéÓªáÚ|ó-¨rÒ0Œ¨S±Z,G#m”´{­ }Í´Ì%(½y, -ÿÈEti;ýå}…^H-Žö‹Œª8×`§Ž·*AÊ&LÔfŒ)šmY6Ñ´ðx£µÉU!(ºªKã™—åkše¯ÈXšZ -ŸóÝÔɇ~ý£¹2Y&³ó½T ƒJ䥂‰¸Öt 9×xuƒ$B«c"ºù:ÏYT×+ÏC$ë˜ò¬‹ÅêFÙXæ•máÒ26|"þ•(' ±ô;38Oõ—ˆÕÒM€„Éî8»Q´ÝH±[šŠ†tfj6>·R£$çI$ÙAá~g@ßÖÅ££Gí%³hðÙâ_'NäMü.FðálÅÚ+)_®Ûœ¤‰ÑÖeƒmÓŸÙ¦”y⻢ !«ðMšÒ9ÆUQ˜pº -D^þ:•*UZ lë8M (ü ãM†uI±/OƒqvU¤!BÃE±&‹VáM>fÐÒ$Måd;×úF»fbacãC_t¬²ÊfBC$ô¢5-YÇ'ËE I:vºŒÿ2¾psyî}u9ò›ù†çÂqµå ,qRc59ñfO­ˆ1ë›6y3–§¢é…æA1m¡es†l -­çï]Úƒý?·…AdÞÙÄÓïÙA½éƒ-8ÒkíO‡ÂWîÈfŠñƒÒ •4õ–âM$®¡Í’¶wíô‘ÿfpÕ‚v‚~µg0¨ž‡Zøç×0Ót©ŒÃEüàCBõñLX’ÒþÉQP’ -ÝŒd8Öè…éàÖõ÷¯¨¢Ž²”êú2%QÉ>LÀMŸ„_Œð”}×TZ¼=u¬XX¨oA§ô ŒööVŠ^(A9S~ ¸Ì–)ü6É"cÎc)XHÇÝ·i²W“>ŽO^Æ ¤)=‘I“A¾ß‰Oƒ´ùŒG³ÂÌ7WàùïÏÀ*³ ÜEé#È$ß |ùˆZ!~}år1° -—G;êQçY¹/°ÙY¡ÊòÁî8îRšº—c%Šè?i>ÈZýš껾ç­â•Ž»Pö<Ðêc˵©ÎŽŠë+^Ôëž(„¹„J…U|Ì#}­*¹Ó›Ø -þF\8ZÑ¢eù?è€S&Ó‚u'~oD“á-t Á|»zYÄB8ñHÃ^‘mP#Ñ× FÛg›ÐY³Ñ¤N2nH˜I-wPro”¦ý“$®CCkÍ›: ·ÄëЋ„|60›’Á‡€óêö!™PBÇNdäER7ÚÆô1MÖþFU,‘Ó@ˆQ[J`‰vÈ\E•ˆ.xõj¦6R@CN^ß\ÈèÞMin|,RßÞh˜Ç䔽|VSšaªÙ5m;úXO£¥[ízW‡Õk-—éf¦î± C÷%E«8¨ÔW"R¿Ìp }C -…Dœ‘´*³^OœŠâÚ}–¼½tçèn<„÷nŸ¦Û!œÈ.ÉPMóÜzR—ÿC¯. -,Z"-‡2J…/J XF-fÄó\Q󘋔%B-wL×öHiúÈ2â3e&È)—rüË’ËÆ½RY?9FèŸâpº^¢ôjóhÑô»-cÚXŠg?ÔªÅîëWï©H‘µ®×õÒ£ÜOÃ[ iÁ«Ÿh²'ß‚W -Q"º……Ÿxg´v\(S-‚NÞØ´³M㸒ÈôÒ±Erì÷s‰eðàBÎDCîȶ)O¥èvó¯pÕ xèÓ¹*°ÿÌ‘¡E€É(ù£rõ0ÿŸç·pk–*øÊä3u$€jQô¥±TJÊ!àÉ&½€îÜ{Á±øŒä4Ù_{±Ìåáh‡Û×ÇIÒÛbûh'FÃÏq\Æ©` ÊdÙàŒpE -D“ÚyèÏxå>F®j¢tE.M_Ô´i«R$Îé”þ¾%âˆ2Ù üµŠfàÁ‡k€¤¸¸Æ=`b“ãØ¬ù„åÄ¿´ñU¥^e’mP'U^´j5üäzG¡ÅK ü°šàK‘äfÛå!æg¶Q«ò¨ y[Ï8¶£ÛX¼¸(m®`‹­#cW òSÃ܃Ew>ˆpÐ&ÂÊ„TøØ=ЬÙ3Öê\Ôš4·› ͤ¦#®¾hÙñëMŠ-“C6Îý= ^ï¬û‰w^ꮩÐ(—¶†&9p‚sóÔºž£‹X$\÷ͤ|¸èA>2­[ë§$‡ß*~ásâ bsò++nîoݧu0¨ 9Î-à‚A¨jŸâ¶PÚA ®ÔÜÜ`?ÝË(®wÄÏ@VÆ&ÎÁö&XäÓÎ ׈"bÉÏ6A‡)îGõ™žóÒÌní^!à*Ž(>kP="µóïNhÞË©µ^è÷?Ì¿.€E¯NöûèEË@e­òHƒ /€rªIŠ ëèzšxoVç‚Ír3«¸è¥Â®ÒѢɪýYg¹yØxÌHØá_íñûѾKÍkÞ%ò±ÌUÇÏø÷ǤÊï)Ÿèñovz|+L´‚e²£>,«Õíjyg:­ÕqÐ…>Ü#˜¾>ø έ½…u "8¦RëU¯uwšãÙ‹RAï¶ÃÂ`î`…¥¿t6J§¥+±ÆjbQüÌÒn](Ãi`DÐ×Ê Ø..[sðñ|ç‘ œà"ÕCÐ×ENjeeo@nAÞÀ“Ø× ‰µã -Ô‡·Åb¤Í™®Áí-àZzžü;ç7™k0ÅÁ•õKdãbÀdÕUn{=Xµ˜ªbäG8¨XKH1 -U™„°”ʃjDob{ÊÞ¡\x­#bú‡ëês(<¨¾Ô´´æ°Ñ~#º7iï¶"Ðg¥W:<Å`5½~ó FaV1ËY†²2Äk“dŠ]–s’…/´,Ã騖ÆZQ2ê‘ÀûåG ÔóJ÷ØÛBcÒ'ŽÙçøáëŒø€¢½/:·È ¾&ŽDHŒ¨lYѹ¿ˆÈ™ˆœÉpJ’kËÎ֚ы¥ƒ1]Ï•aRž¿5¾¨Kª ²g…£ ÛkµH4påRÏÉ›e Ç -†è¤¬+èIN]3e¨žb¥ÔÌ´þ®BÖÍ)dçpš°ý¡<4{dz`>S -ƒË-u ¨Ê:³ÐX_ò…;®SI;Î6¨oA±®0Ý8ïË,3Z£·ª=¡ gªÊ´šµf -P’–5zºøedðŒÚsEÂ`5ˆóhJ—«q3n Àº,K»öu¬󋂃[5]#[AÅÿD-Òb;ûödì@;†.ž`’W¯ -Jýˆ‰¸¯äÓ´´FÖ -BÁÝàç:ÉÕDJÙ÷Ýö­y†£_øàÞž{„!½xÄ}µa‚ñahû@´¬½‹¥¦¹‹^>x¤£)¸ÔY,ÄÉE+°‹-}Zr„h ÖÑ; _”-`7Ú(²ç6µÑ·‘J¯q¯¡‘<$™™—À°ÄñÐ8Õö7Ú„ÿ"1¦–Í…l,ÇXHš‚ÊñǪ?5”ïCýÜ$ç˜×:¿¹4«•øv‰ÔË_Ø’¶ÌUÓ¢q¥’rê¨âÔ"5Ç-RO}[t¾«þöÔÙ|¶­0ÇP*=el'‰×Bl0zl*ÍåÓ µ#µíÂvÈ"4“…–ÿ©ZÂŒjönJ@1€äÇ{yY<^¿'gØöSÞM-‰@æ)?iï¡ÞÌï}4˜D#'̹j›S§ -A¢étÂÎÇ#“Ý\Mƒ­þ\—IÒ¯Êʬ|.´-¾·ÔÙ‡7£òlM#EJzªÞò+2éS¸M™™%k½Û…ÑùdÖ+*Yv6XJ8ΪdÏÆ“ gzo3á’š ÔŒ¿ŸšÊǯۣg%Hª²>ÄѺ¾5"Fÿ ¬&ãˆT°FŒÔ}ÆŽÒCUÁåf&Y y#¡9—žE“(RM}ãb6áÞÃ+Ù¤Pkn¤Ò½Úcu1±Äã8nÎ÷Æu=LĹ‚jKõÙA!8ÂbíãT_oàZ¢Ï‹0å$¶Ìýø/ý_wÚµíu¸7ÑÈž÷ùS00XÅß°ëÊê­L°œü”§J <9¡ÙÔïÞ¡€æáâÃýhòë;ó7NìÖ”/!†¦OÔs&œ>=äÊÊ rÌÆViÞïÑ9bܬb®æP'èqŽ0É.ù+Œ:!\ÇÚ ›Š> c³ß0Óq›ÙDW!§WR!Æ.þïþò)Æ$^e(*’Æ£)ե߲‡"Ìòf/G‹2ïDq6 d>øërI\$[*aÀÉJP™Õ(Â.©:åkIß×"¾4ÌX!uŒ")Äp‡èâOzôèA‘¦’®ˆ pùcšÊ«³« Ö‰yS!1õt_°ùèµ`nçÕº¨d}þ’€%4è²JG㙇óŽ ô8ýÙsŽøÊu -endstream endobj 20 0 obj <>stream -š05¥J¥ÔP×Á@¬F‹ý‘,4I_Ì]›þóÆŒ»ÃFºf<ÏŽ™š¦‚óT=d„ è¼J” ¢~ÓÈN´šl†_dHÛÛ.gkM“ž”ÂÖc*[þÄ‹PšXHí£‡T‚V¿Á»%6Ê -ò«ûÛð%n^8YV5x•)ÜýZ°Tm°ðA˜g9Û¢ÈÛ^]š{ŒÚeÛÏ–° âþ‰ñc“ÿó&xŸß'Ã’z@¿¨[VaoRje¿¶ºc)Y4 &I!¥UZTÍJªWâ’$ÖÕíQd– ü@b6ID0Rx\©£ú}ølÿÕÁ\I)5uêŸEI”ÈA@Ðís³›T–PºÈ=ô¸Á‚°1„›sz~j¹‹Î¶a¹H¼îÒ53,èvÌøE:®šµa€>ßü3¡€ZÞTË$W¤?tÐ -˧–eŸÐPÒ§N›Ù;t¤‹p/z†¨XÕvŠ÷ŒqzÓæ/“L0ZÁo:8ɪ3‰•_Þ¬%ú‚÷ÔÕ?BÎÏX<õ–¬Ž†kmž2ì˜ÖkËl0Û>CkbÆ+QwB?v“o€=½æ—÷Š»㉊\<„‚«çÚn·á"¢~ç׈`@ŒHóãµ$Iu›6ê°¹¢” ëì^–ȯÈòëe*M2œ[#·ßÕÕ(g/`ƈèæó¬v» Å•Ð=ö-Z¸+~ˆ´4ØàƒÃ䆧¸ã­én·V° ¡KHÇ'»™‡ê1ÖÊe[¡’bÜôîCàvua¦°ú°<¡‘¾â„å,–Œ‡KŒó{×üÞ(‘“ËErìa‚ -’]rÄ\óÊüF;´ùKÞ-™‚è"êÕ½&m,1!ÒÅÀ9g•:2®ýTz«…võK~‹9±=ÅÕl-öb²âB×ÉÑzצ&ŒÊ[bTŒÞ»Ù!ë•öòË„vã?@2øØÆ;Å«q"AÅ3)61Âxi,–‹ 76Ç {{@9Ì_¢™•ŒÓ¤¶ae'Cí³"‡û¦Œcšša…¸É¡M<1IœîE0AY¥º¯¦œ_qÐl‚ÕÍ:ÔÒ¥d¹·nÂL+¥ÕÒšølšÔL“eìLݾ.(YMæD°Ìïã’Y®ÈÓ4Q7AJJÀ'Mø° -è[(†túcÓ­W½E“Žñ T&5sŽAÔ(ð†C\®Þ¸|ª¬6åAgSà·DмÔOM3æ ÇtB¾Ìü·Y&ÍÝÔ ½¤’°QÂx„Æ %n$t $ÉYP¦øƒ0:ñöЉyA.Н¸EúqIG'Ü%fÒmf7$Û ÝO6ŒÊÓýÖ1;ÒÑW Çf©·—“q)6".KCüi·ØJT:BóhÑ ±Yc ôŽœº7î±R,Ž!I¶\ÓAÞ³‹Ø-=z tá¹#¼n„8ƒ”rü -zß’±‘‘Ž$øáXB€´‡?°R™ÚcºR;¤õ€uªk²¬ãÏHre¦ì`犄bÞéõˆ¤»ÜÀÂNJÓB¥­š…£.q©ÈjÙŽ¿XBV7Ñx˜gÄ‹„±cSÕ+ssêwµæ@ÔF¿\—RÆyL‹yüt¸n‚H•¯³‹3øX—w ±Ñ¯Êd\®Î˜}qvfò´ ÒaZP ©Œ~r†fcæOÚ>õa+òîyÕŒBç7;M]dÿð›¢>W8&@ûs¬‘¬°³ÊÙdqq°Ä&ÄÅ_&±R9V8YùL|þ½7‹9áe(S¬h#$êã×ö§htЬ­·¯†œbfü–›»÷×k¤ƒPfNå ýéÓlÍóñ -| W+×Þиmtã!Ü,ô@£UT´æ©†su G`+“&MëKL^'Ñ”Î=y¯sƒ@7 ˆµ˜òY¦¤W]©µ6¼Km)J4~Z·Ûµ& )“2 ã·p$΋\»Öî|¬®Þ“7„XKR?#Ƀ&2«…-bäâÎö%ÑœI(2±ÆEæ1Â艦O½®¢¥¥]êÔ€8±œŽ!Š\m†Œ®¡–¸“hÙ”ï3›€%Ô3y3;v“øbž3%QÕM’õä‹FxVPG2J^±çñ†Ÿ*Ê8±Å9Ù£D4ö*‘ëe‰®É”B5¾@BºÒÄ i”ìoûo¡pp&$»ýVimí$€±@& ÅÒ£\â'6 sHÛg5meÙ©Ó…‡ÕçvJó,”É”;eØßÄ~f.¶O*F”îyâ "BæCJ ž_Ì7Yª„«Ô$b”PU -rä,ù–V†úÿIÓ|Kaàå¦/ÚûóÆáþ…”Œ[TTy¡h¸q¢Œ$"ÜUá«m$Ä®¡^'‹áô¸;Yj3‡ç£¸åΉCU)zHG°„ÅÒ–™¦½(áÞÏר®`­2÷rP1Õ#ìM ‡&±ˆù±JŠ®$n_ˆZLYc™²ßrâ9fêè9;BÏ ˜òF üí·Ò0~0Å×›QQíc8 I(k#ÜJà -ÍÿÊf\íý‰Uò¸=‘dBhÁÐ -Ñwò¯ZWò¼RøQâ±BÐ ¨$Bªá  );s°7AöaƸÚÕ©‚;°±€rRì[~@8Š)×è7I ÛÊ”2ˆ–S ßÄ`BªgNr -°¿šÂ õÞâõŸþÍЊ »ªô@èÎd£’€K>Lòc-¹ ø÷ç¯êöÌĽæÇ„犃D»Ñ¹pdÊǰ•6’Ôñ ¾å–oò87¿~ˆØáóß3dŸ vùÕã³g”pª~ˆr葇r5… (a -‡Ëvé0:Ì -Ì»„yzsýgÑTš vÊÄ[þT„gз˜”¯÷¸SyóO…­ÑaQY¿™ðâµ—¹è²)ÅÙåCYâ›@U«È+KÂÀ´Û-,JÝ)wäÍÑ.½þISÏ6²l~g1qAŒŽ+Úëdz‘Nó9cjwí?ç-ñ£Jt¦~I’È ú iQI¨…¼d?-Í­žíp‡M†æÖÇ 58"—íæ5.*îëK(#µ:Øcá½W%F rµLÔÏ—„?ªØ :5‚ð,ЉŒMô±YðÈ%5_Ãå;ŒýXö/ýø† ôëÓ”³ä›×ì}º -èq¶ '6ºØðMÄØ½ÂêŸL†@ePJ¡MdŒ6PÞ°ù¼°MnèVäŽ4ˆKáÄÿJ4¢ Åö›‚|ã¸Ñ]´7f‹ù88œqÄÅF¿Cb¾Â4œ¡©I•=<58œ°Ãj‰æ¸o}|_ƒH{®_š  jÑ–Ð-¸zE¥í#ý`ð»,+܇@"÷x‚4ª%7žYíÉ: ì·&Ûä澡Ù…n¡›è ž•^,:¯Â—&èú »Ih§<®E8\9zˆ?³í•6M‘pv¹w¹SÄþEžÊ‚¦råÈF)à&”Ä¢D±Â1gÖ¡®æ$8ãîqGìÇ]=×#< F,Q ÄM|â$`»5æ”wC4„™!ì#À~~Ôq7"®¨g=ŒZßc}"V< ‹D€*ô ó4ÇöêÕT1f—õªu@Íý3ÖÌ—T¾‰âgBÂ{9çLæo§˜'¼`…WÊ$·ÐA¡f3FDÏ·o£FšLkiVTäÏu Œ­¶¼¦m”©:ƒ¸—öÖeIâ6üË«ƒô>ïôÜ,ÃÌnÞ‘ÉYå»FpVõ-*rš7)¦©=Üù»ÖêšÝo ±l÷K'¸ì„^·œCæe–xý€€Å,„´Cö[ŒÑ¯?dÍ<±×Þùh³å"µqƒÈøçìDl7ÿKC£L‚ïÊÔ‚ƒî“‡êiýý‰<š,ÍV97Yn™¤¶¥—ÞÃBlEÁJáͪ(,߃¶×Œ33>¼T&e¸@öò)ËI"óýÚsÝhW9ÕN¿G‰Ï F¦T‰~äð¿½%r6k躈ÌöÓUR–qº¾éï%ö¡»À¾E_ˆüb4Ù°÷{ã¾ù‚a½ê:ûç Œ;±´Žl¢CŠBªô´ÿR²œ vjh 69møÚ«h ž ã&z&¹~ãÇ“¹)²“À€7­¶÷òAuײÒùv;p…î†<Àç°JzR5µÂì*—F‹™;ˆËHBå­„:“;%؉%‘aDÒjÈ5–ŵ2ñÞÜ¢ ôŠ’Ð»/‰)dˆ~ -\tö,£Å_?ª3•'Ú(›[ƒl¼n•ÆsñÍ<³UM§œä¥i1µé¸6+0Ö?ÓBš3ÍȰKÉÎ -IÈôyÒAaJ³¦²Á¦ê¡4û_¾¬|5c?×û«úNpA=ÑÐeüâ†Cº¾8VM6C6(쇕˒¬+æ+ü$—øQ©pSewóÃF‰S´)¤’­›Z‚)D\]nÊQ±”" -„ˆ¢åΘ•˜1æ…µ»Û -+fq0w—ËcV—Õ&d#âH$øŽ2*„ÜøvÉ&õ*¹{ö}ïKÍcÁ6”š¿Á€(°*ádÔ}(p¸s30!­áÎ1±¶~‹úJ7 - *J‰¤”°»åA—‘vÀÎd±÷µmWí8Pr.”TÖ6Wò -æ¶Lò{g±ë 1IÖkKëY’õs¤pï5ÏØ––FåÏçÒíÿ~Ý3]«—'ÿÆy&ZJ:ç×yíá|‚ë2Æä{1aquIyì€v°¤×߬'´A{ƒ5,ÙßÚ:¿-8ÆRË´×Ðã ¹±îºÛí@ü­#Ça‹éÆŒsé„ôÒ¡·VÒ}ÂŒ×ÑAö^¢¥çm¿º{ó@Ú£áiµY&{!gåÃYòÛZ†P—nê=y|ißEü»^óèOc"Èêû¸‰°2sR鉶±5íê¼G¿. £ë(_4Dw9_ËæsKËMíG\ë*tæu¸Òz^¯­=}½•ë€`6hÖ4­(Ñáɪ^ÇV4—Ì»î™Ù‚K'ýñêXе7³@C4pVìh‹g%¦È+=ÎsÃ?€ #1±9‹¡xÂ)§q¬ºa§ËsíŸf‹i\ž—,[kO Aˆj:†´åΈ%dy“þ`¾Š :ž›ËøsøµFýKƒºéæ[)‰5ˆÓJ¦™…õ¤†ä-€DçñdŸûîžE9ð“wíKœ7æ˜ -™/²:ø†°õ">Jì…ª‹®?¬E-3Xë­–<ÓS¢*JůóÅpt{PQŸ¹!Ib‰‚_ùÑDØ@¨²TlEÍžªüo^«:بþq ¦¢½†ÂD–>IÓó K6ÕG ?äÿùÈ!-ßõå5l‡gþ* ^½Âkš#ѨAW¦·nÃ8Ï]%@s ƃ´Ê•k¶ÍÖ }ß_`èÇØŸCˆÙTÐŽ%ä±rU¸¼Y)žù¨bòTÈœX‡j£ÛüOç>LУ4atOŒaEЛ0^"á‘TõñPš(°©¿k(®(×Y,&Ø~{ƒeMà d¯‚š0 æ7ì¦7fPŠ…CË/àdû+¼Ð­ËLQËêѱ¡d¥ÉcÒJõä‹Ü)lW—7s§=)Àj/Jà>}ç½GЈ$q•Ê\¡ú&¹ÄÁÇbÅ ¤ím©’¡(ôY¿“ÔGƧ¯1rú¸7°d—¥¾0ˆYÝá§C€ÓO.sNØö ŸLÂ0fŸre_jþlŽ|ñóI͘¥Þ­^ø»àã S¥äHÈÌúÙ%óbU¿¸[‹hÁÚù¦5c¿púv°,çYá­#!»¿$†c–E¨Lϸ°[FX‰};3 -6‚ÌgEÖÖ´ÌEp´Ô)'¥˜À^n,zbûÙ5ý†ÍÄŽsS,혞¶Å¦<@œ^ u~r`/A |œÛxšdÔéõ©èæ!Ìoy~1G5”¥•>wŸ¾ó¦:s"E9³{(<$šË(Å4eNmƒKÒb¦Šwœÿ…¢äÊx¥Ũ -æ«k;¤ ƒCùj4Džï1Õ“ÓBÎí;JÅ p”¢èôϤ9KXï`]76*|¥з"!ÞÂ38bÏwnj#~Ñ}ZjàÄd²\TY¸ùòfQû ¶r7éˆu|-ËU3·ñ”·EpÂ:VÔ¸ú‡yöp{?•B÷&à7¯6¥Š$£»~ï»â@’kÓJK=°UÍt˜a—ݽR½o«WLÙeáD[im‚0H€çñ" IŠÿÏr?Ö[hg -™zãeK­2K -¯Œº:ƒ_ÔB`}™¹R|ó'ì#^Bþ}) \žŠ¿µM ª1“üŸ^9"ž|ˆN£ÁœOIòQUW0a%‚aIhˆxà< ůó,ÜÚö}¶¡ì«¨JÐ޾¶v0¥ék±ë©eïÓü¯›D݇‰ ž{ÿ˜ !N‹@ñÍ#ÔáiÞ7Íh9ÝeŠÚEr˜?â#©‰ê‡ÇoÁ'’È*‘B¬´@ìy+UìBãÒ°ù¯´¥ÇÉ‘íAk–p–§qLw.ÆdTnš©¥%iº¯*a»™Ÿ gÉÜþ=”É]À>›»l'ƒ½{®Æ -¦¡¹Ez³!¾X½EÀ÷¤8¹7_ÂÔ‘ÿZ y»QþFVÒö>Up€õZôÓhÝ2ÀofžËDZ|SçÆð;`_H1`u0·Ë[ñ†Èí2´e["ÑZÐz´Õ@Íù¬¾°|•þXZÓð@Ë(mdUæ•ÅXRÝ·xPêŹ É·4Ì2@¾\#ÜkG'¦Á¡^,Ĺø6ÆŠ”Ô#§lˆs@btO%Zñz,prK²ŠØQˆQ1DôíqZ¦›ž=‚¸ -žÏ¸w–p²G:lçE7·3Q$<¬M' -èïyÀͧ9åtÔyÕ©,wD?ü)2Yjoßå:Yõ”6˜1ͳ°úÏíÝcH¤/¥ù h¼ñÎ:uõm0"}›±ÿÈÏ‘jÇÚQ©ê¸á@\P¤ýÖ è)D0§ ϲˆŒêxKœ¯çðǦßDÞ­[ÁÁÊÖß"–ˆ¾Ç”ˆd¡"o3t!uÅs"úD¹%©°§ ÔG87(µãŽLö@E¬AÅy¤Æ*Ä¢ùŽ`úe-Úáé:× nuIÓ¨gÅ…Söã:_¹N™ÝqqÊÕ{§§{Ç·rEQFîŽ .动-rw\~)—Ë`#ûqýGvñ«Kì¼ÐK¹ð|££ríó×jʵl€é¸þ::âH ø©q…WÓlUM~Ç%7åŠ(*È\¡ì ª”·Ëâ_•‡ -ÍGaö8<óäT.| Û}†m -Àłâ~±ê¾·/¶`QåhDAŒ« - -O ²¼×Ä¿þ ÒÃ=Q¿õIK6¥Á`JÌ@ú¾MãŸ/ST-&ŸÀdˆªøi>m‘uiÕsô† 0 •ôE(Gü'³z8;Ö -[àÏVÿ”™¨ÌA4/ó‹ÌÁ:I}EMd;õŸk|D¼¶6°•"Ã!ðû€ðÁ¡è-n’W.o{ëñ¶MVŽò]» ·Êñ‚øüÿ·nW¯~kð‡Ð…®] à?tø±)˜¨Å4ü³?¶3q2tÉõ‚u U(îÑ|€ÝM㬄^‰‡TCYƒJY ×KI¥»SƒN >¢geÌ÷Ö^›_ÎéöÆô}Ø+ùd6饸Õ^-„+–RaL‘ëÖÈOT˜N…À1áSÕFĪÔJ†-Í|P\TVþ_Y;Š^бóÓF Ÿ›•f¯;7¦ŒÁÎ2‚ Ó(žÒm Ë…‰(¡)^p7ûm%¬ÜëÓåÑô” –6&^ -ì“ÅK=o8&é¸Ï#ç©([PØ$H¾:ž˜øŒ¦ëti&A•_ÙP;y=#¢ü5íÈ´”–$˜2£c§ÓÀïAÈîÑÖ¬Æ&ˆ0û”ƒxðh§Ö&·ü£nÐ#y¼À(·‘J?è”teыӄ Ï_É6ܹõ&fÑAù|„G*¿ [-8j¿Ó¿ Ä˜ùø™yF‹µI$þy ÑGÉ¥†RÇKmOtѸ4Cù]w‹÷rM5c¨FáK³€,È6&K˜Éݺð@Š!°¶A”Ža´†ï§å¨“·h¿“FN3oåHò ø¾SPÕ²Ð-~L€º‰(*Û®MïG· ÜWÑŒ™d¾ük»­\·.º ÞL˜u.Nö‘Øã°ønŽX“.ý¶sÅ^+dr¯âùã¿ÉC[œ J·ª<›IUjvQ;X”ÈBPÝ™ÓZæg„Ly=¦þ¸øØ¸{MˆŸ;Ù{5æÂ¹ YØÊЈ …ãpm&©œp îÞ_òòÈð¹n¸ð-jäî-~Zxí?þã.¯·Sà-ŠŠ¤6„Ë]N:TÚÉ¥VŒN‰jõñ3òIÃç=H£3ÏÖ¸€Tl<}`8†8]OOCÿº–*®ÿ‹ç„Ũ?þ°Oí’¿¸Öåfx!×`VÄØ«L‘Žg±ª`å2Dlg—Au®è"U4ÇÛƒjûÃdþ­<4p×U}6>ê瀵©‰Š´˜–-%ÁÈxs/Fšvh”ˆæÂísî¯;ùé,)èù{b„æÿá|3¼ÏÒ6k¦ÐZTøR8§…ð>ŽŒÕ/)þ0ŠþnØc,)Nì(Œú>Á’’¼Ü5½˜—Ôì¡®Ÿ°Þ¬©ü- (>q¹{Iµ%>´P²ƒÆI°¸ ßÌ)k£I ¤¢Üw ÊÿÆ -.¾ÃÊ¢¿—ƒ¹ïv{øÜïÿL1Æ©í yÕïÔÿ‹hçï{áÎæYÒâ¿õI}†IŠû¨Ã= x´#º2iDÛã1®±#Õp²ïdÝ™¾šâÀG0›ösdÙ^T®[Gÿa|˜˜”b>ï+ˆÜ0xŽ_¡Oæ?Iü»Ýçû„T1=Ko­»´a"XÜäR¡\쮌%?‚ AÕþå2þ¡‚#q‚"E¥àQG·Ìf_0Ö»Ã4†–q}½æ®É -ê«dÚ­òÚ V  ,ä¶«ºŸºúz#Øš# -f³ ²÷=.¹É“9HûÚ’Šë.÷Æ4ÃË«h’ÌTéÁk{µàÚ`Mþ¨½ºtôÐ\uþSw.×!WG5¹ù)‚XŽ±à¢„áj4˜¨~`•í}Ø}æ§qšhªNVï<ù÷!±SѤH'¡ð yŠÏ+ÓÝò̤…“yœ‹ &uùÁzêq‘"½ÜVó.Ë8MŠ'2ËÈw“èj MêÒyç3’Æ¤ÄæOûƒÿâùchR–­ÊÖ<áqJ?l—¹\ž -H1)Þ¿À_¯ÉuL꾬hÄiRÓ›(‘JÖ0¨àUOÇMn·l ¦²ŠÓ'Yæ,~‚ø`5‡M’y(êøÇVz…Ö–UÐëádÉ0[iæœò‘¿m¾Ü”šÌ…ä®Q¾æuc,øX«úxþ@ÔSOµ}ÉVx$vd¤^hZ¡DоÎ(ºRIø×r n@Lìç4?ÏL ê>o#Jõ"ùéªÂïUaèêuXæ:R/×<þÁ6!À.ºèÉþà Ò_‡j!,åJE î«îhÑ[4;¾Z¹¾º5Î ‰ÏcÑ^6)¸9qd"9M \aZD»_%I—Oו¼Rç,¥”)%™n©F§_'þîèa½ˆV׿ℳ4QUÆa¯f. "Q"¦xI ®ü¶" CE‘‚Ó²)"úŽŒŒ±˜`xªJ R#¨ˆ¥rCD˜(ï@‰N´eÌT|f~0ˆHCb¦6Jt6&´¢>Cø« '¹ÓÒ¬‹Kk1S§ªº»QŠ„,PŶX‹ÈŠ52â -[‹½PÔ§BBkèlˆ•ZÆ4Öëò¥­VB²¥K‘êí¢BÊ6 gšº|&TÊ’õAÁPC–d”b9S%â œ*Ê–bâ¿Î ´'|ÊÎaW2Z\\jÚ‡bl—¨M”øŸÀèl -$*1ðciÖn85.–Z ¹Vžt>µF¯h‡üà+-1ê Q‰î5P”‚èë¢á´BʉWB¼ êáõ4Þ¹ÁÉ2 ¢ð-tq# UéKSH%IBÕ†¦^«@P*¹Sà%´ËT'èáÈH0yýÕ@ìèW%’^šÚŠGVÂ@ÐF‚"šö´ í Åâ!@OÃCó/cxJ –pU‘QzBšð+ançt‹I*ö‚v]óçáDoJ„ÒÆ-a©¡ðgyÔü_2ÁR•!!E¸ˆ“સT°DƒaØJÁÓØélä=ËnRá"U\¨5>³zîL\Ü……‘•7‘nªo£†‘16ÏEŒTˆkþ±tÆÜÕ\VÁŠÎ·zýPÚ!¢QºÄÕ–£f^“±>/EE*,ö—£!¶Ù°‰–W;d!¾„Øá% `‘¡-QˆQ´$‹a¬h7HƒÊ6èaî7Ou<¡Ûñ„ÉåW7áh‘'k"AÃÍmò‚?­Ž# û!"HjHÂkÕÙêó6”©“D/I0º^¢†‚Péá(Zrj itdDÖ8¥Q(i D%ŠiQ0 :šz‰!SÁp4Ìs©‘`ê\Z>U4RÆÊ‹†Ý3ä ¥"qÆ8é¹ÔTØ‹¯…/„ãbj;òcµƒ]GMqßÛp”ä %#¢"&\Z˜Ì0‚¼ ˆuJû¢#Ô(LB…#äì%*†ê“@RÃ%¨ÄáRK„JLT&pÚ© j$\ku/|J±@ušÏƒ¢a´Ôk„˜±+ –Æ|cn|°w.ÆÔ<d¢\ÕT4Ðhx%Ct G!%3dª YFÄ&î0â™ùæîeö™ ÒÕ¡ RbñìDìe¨“÷œõuÌ'°$ÂANB̾Nˆê œ«[òI’˜“ì2AdFèšI,ÈÈÚ›df®ú¨ýf’4v* ”òľÜáýRã’!žeçÎXÑàËiò»Dv²ÈÔ¡ˆ9åpïÝäÝC Ë»ý­ - -a’šõƒ¡Þ;ªYTWo‘H„úÄh]îBÒ–'Š‹ˆkb -ÒFEh±+»QdPôTÁAAbJ’!FTí>Ä‹rÒ„â.Ÿ¼e•ƒz] Z GCó┃®ÕŽe™‡‡1%a/·Zι@ùù0«‘ ô‰¡rÀÀ¾:ò>pÈïpŸ‘R&ˆ’6Cm@ÖwQ%”¹˜ø AòçÖ@™H@w#ÀOqh'_<½²Ç‹+Т½=M½Á¤ñ5Ô®tx†qõEešsÒ)•e_S¤-HŒ>§¨¸CääÑäêÃcZÃñÁ\¢^nTǘåY.0†%%¥ -LŒ*>–'‡¢?­EÔŽHæ4¯´YíÁGÈ3´/€)!íAÉ×aÚbÕec5ŒÐЃªv1­ E¬ýE-¡ê¼°ÚƒÚ¥Ó³BQGCÛƒZT‹ö†eD»‰<—`šzý%«½¾¤½x©5ÚW$: “„‰Œ 5{ÈIâSRAf -»9†Îø¬Sãþÿ!áC3Ä{@´ì­Â"ÂuHÂÈž\!SpQ}&¸U3²åK%•ýÑZ/“=8±îá„Tލ¤è»·™`Ån¢Ð 1B¯E4Ë&$p1}/Ïe´#"7߃"W=ÁÁ¡„þ›°ïA·n$ôÐø|Pgïl£beûHjnúáÛùbÅÿ¡±·^…„R9°ƒŒ–“qFÙ€'\zgW£Rbý]pdž5G7ó¡¢0¯›âA4Åù0„¡‡…òoìâ º0„fê#Ü:+ ù'ÔU’'¼Š%í*äõ’Tƒ,Ê2T"4ïBí×»R‰©— L!eeŠÎœVÈwAv% …*Î"íKsâçóÂ"°ö¿Ä÷qŠÐý³NÔ¤*¤õ Ó¶€ŠèY›ËÅ‹Hô+øÆ.ò€€£§îàÄÝÆ4"£s©Ú$ yû0Òqˆð'T Õ@[é*‰cNÓd`Ô˜@%´GèxyNlà!kJ#ñŒ²IT§Ž‰MÑ4QCnLtœ+‡}–¶Q: S%éÌS/¦pŒä.Ó9GTQ;&•»Lçlp×£V7G­§Hy: -‡]º+ÔË’¨hÔo”CËömµè™™ÀBk´Ä,¿5;KÜ¡Ò?DÙà\*œ©~ŠÌg83n† úñ:]Ñ2ÙX ÖK ¥ˆÊjnŸ(mI§G„íFDÝg.ò &bä&;`Y¨*ü™6Mƒûç CÌ£‘)I¡jÓ )°¬9mPs¢£Š¸¨Ý€X"t˜®p°cHçNcµÔ§¤<§þõÓ§è:$¢•qWª5Y6$SÔ•§Ì+J(ÅÜS%n }Ä=¬¢Î3&¸:¿"f®*\µ%¢gîZx§0cÄA(d1BŒ¡¨ŽÅ%dVP¢«5HÉ{ÈNÍçí… ‘F*PŠÚì1%1 rJU2µº´b5Cž]H­ê-®!c±šðXj’á´ÄK±$®ŠÏ­vL³ÆÙô ? Ç„AªU„Uÿ  ?âU#ÞÂ7¼2.áçtY£t-«)£8 ‰ 2%öI5LFÜ+‡|A†ùNá!’Àï1ôÌú¡25†U•3"¥<ôÆÈ{yLÄé„{÷¹^‹‹ -›B£)!;ŠFí)Ü‹ŽP°G–ˆÛdìÆ3~ílÔRòKJ=ÇÝ·&» S0«Šugåý¼ÖÒÁñ.î g— ݃r-E­V"há'#|ëÔe›î3Õ Ñ‚KÃYùÀÎ¥Zq÷ף¡L¨xˆI¢d,›yU»™$Ö¬.Á„Lq9Æn -‘¼A;KF"&š¦#) ‘@ܪèá|$@su:»Â‰y_$çpò¬ª †çaÈ—#J°„hÕ’ÙËš£á"©´/$#žz"$2ILe$Í«¨ÿëAËHÔ2x"Ñ!w2+°ä ¹;MNåδHþaù(¿dSh®ÒrÿÞׄáªlˆÚÍ1ÒMÑŠˆDå@Jî7¯šŸêA—[a® -×T«ÐU#˜n\ÀDŠ¤Ô–ë(8Â?ÿ0'™ÍÎ(H"$D8­g¶Ê^U¤iÛS0ÍgTì6šU¨™ªÛÁCÓú¬kf†{Ó¯NŠ…#13.…5vÌ„üãØ^;5P&°5øÒC©¹Kö S §æpQužq' ó‡ -’¡ -B/‘ð‘˜l9õ|‚;C›‘þ"§.ÄU1\Æ?m³Ÿ^|"ÎÓók‰bŽsëÅj#‚n4,D=‘Ù Dš°ŸPÓYŒdêØDuu -±©Aî‘z{n´éG¥d8>Ä/“Lö¡rß[Då= Ä»„Sy™/á—¡F< µ4†Š«¼ì0#ÄFí¯+ÑÓ~yõ;¥!T¯‰¬½¦5‘èCû µ*â-¨[xQ:yΙ‡èX‚¡.ül݃Íô¤°Ḛû%d6÷ †všr¹·jnÛi”Abfô,(B¿ÉK±Ï_ ¼Tm´*9‰|> ’n–¡㉡*÷•ìò¡Ì]H£’jp•犈U[ÁR¦Îª«S"h—C]¢èëë„)ŠñFn¶µ´T‘m£9Uv]2T”ïô -2rð&·L¹ÄYŒ«u`Ó¤µýÑ@×e\á’88 ÔOãŒ)iqâQšblTÜKiPstƒ[: "Iê5*§ƒ¯Oˆ/Ó´ýÆj š}(Z7ùE©ä›‡1áƒîM±6‘n£Hœ²ª•ê€FÔ‚“ª0* *“„t4E©“bDMXcŒB‡ºò蟈m\µìÓ#1 "x…Xû¢‚s*Ó‘5H(ü1A†z}éÜk21î7éeîFk›¢ÑkÍ,µšÊ‚¦yŠíþÊ46†æ¤H+L'D˜‘lR Ò)WÚýª¡ñ»»£2Ĺ„p̰‘ã01\ÉL«l„Ó^ùm‹)ÁûNÃ=…7 &nJ¡@œ@@j"D‘jâ©®BF¹ü$œ™äÁ&=ßg(Ð'B_„¡Úü$'AŠV97»ÜÚaF?Rž¡V>Ž›\ž ü‘/YðعRû‡3®Ô>];ÚyÖ ’㈠Q-'A—aJ)1ª(ˆ/ל5Œî-~f^P¤ÄÆ•ЍèÎ+ýÅ{; -Ô ™@Ó…ý¤QQT– !s‘$±ª‡<[ò5ÒYâé‚bª¨T|<¸;¨~8HXœ®E1Sµá'ôâPZõÃD  EW5 •ËE²É7*ºã‚DV„Ìht~ýT¨‚¨£!Elæ+F¤Hd[´•+B#L¦Î„² n¶˜Ž¡Z HvuZ¡Xÿ´$*¨ûÐsWˆñªÁ-ŠíL¡=fj â'#ïë†ç!z¢Œ(ÂABnª’¬—QË<–‚ˆH_Dñ¬±©C¯ -ÑODÉþE“àþôðŽ¿g„hê;R+MMx+-~:,cóz=¼ô"ý&–=º?H_^2õ®Åe’“ÈÈ,rCÈÛ3ó€iÄÍsgªt0àUE²šîEL;Ë穞´¨ZC™^9T_£[H!R]ݦ¢Ðªz(ÈQÖV¸ 2Ù)3HþÄÌã5ŸpÚyL,´H¯*вCA™–¬ f€DU” !"%FYDu@ø€ˆ>—™•3!tK¸V3Â@0âTPPCXŸMJ¤FÆ$~‰ëÄH•SÉÔ¼4ñjÐa •<­ò-’¹Bá -ŒRªJ`ÔXÄ*J˜U‘"üGcäÕ`ÀÄ´5WA½s´¢*Õ ."T™×ððÄ{›9Üÿ¸V‹ðÇÏAƒB=D¼×:`ÚnÆd¤ÃÆ4;ª"ø/‰a¬J|‰ß ê^ÅΊü@ü -#ÃÜÉ?BÈâ’ÅŒ¤M¿VeÌHp„ù¤jÔ4¼ß/FQƒÉCt±¥ƒdLå;Ô%—x£‘ÑØ@¿é!’é:Ô&\sD±–I”7½ª£‡MDQY«ø¸QBŠ¢ø5•‰›"c©¨LÚÔ†ª(‹04 ªb†v- šs¬ÈK‚5§–ïûl(Lj\Âô ‹xLÓþ5ª -š"ErÖgãÇDk1Þ8(îX«¢2çãjˆgL½¤TP„( Ñ´¥•8š¿ÕªÍ“"È¿õ"©ôáÎ7šx¹ÆNÛÖ#V&.×%¨ƒ˜ÆaEŒ-c©¬ͧb¹PP« ^B ÂóŠ Qƒò9´z¼jÀ²a¢¢©j ]ñÏTоÈZT¿POÝH*|r ÎÕ é¬&ÊL#KYÁ¯ÊÅ쨧ª¡ž3GåæÀ*Ž´^\Ræ JzNÄ)Ô^©«d8Ÿ ˜Ãoª¢ƒ6j«;Œd*·à">ȈèÕ -@Á™: Ñ0TÆ 0+ ÿ2ÖSR󚘬d³‹Åu¿”¤ÂßP,R¼o?›³&• £† ¢?µ‡mSg®ÈíÆÂÌM4ý)h\€?òq!Ð$L±­ -:`+å "¼Î ÅAÅÊV%Ф£Á -jxÝñ -‘ÑHaë%éý£¦4eé:¥ø -¯wÓí¯C%ÒÁ̈tPå0‚PáHGË2Nk ²f:¨' T'>@V¥hhøE\AJŸruцt@ÇëtPù_ј -°úŽz¨:-VF5O1 ;(¶:’ƒ¨x%³C£Ÿ} ÅL9bª]²O$22)›9¨û€ Á X0¤òE¸JÅË—ø§Z$š -Òê%Šå`Šâ§°˜•rc -õiDZÕJ¶G¨¡U@òT)ŸšaùLåpø?P(JD3R¢VDSàRsJ´Ç;!2Bñ“PÅHÓF§¨üÉS”v4A”šð¼­áÙÏŒ„ø›Ö„EE3_ qj,.#1a¥íjžP!Ѱ¦ê½úNæ*†ÈÕíÓ‡}ˆî -?±ðøR¡<ŸO2‚8Â-… rÛQS}'Vឨdpʺ&G¥ªš C ƒ‘`x*›Ye<€ül(”Çâà0ˆ¢Ä@ ƒ@Å€a ÝQX®wL5J´•°¤²vû‡Z H6óU˜6Ä9Á¸cš({ˆ¡ì ¦!!¶ã\8ƒÁÃê4+ªq¬x… 7/ê&ŰÁ= ï$GS{ióz-|é•yéÂ2§ºÑ’òÙµHk©¡ cˆ\f´\~.î õø!9Ú‘ 7Þ!‡Z?###Ý´u3e2j¹;í"¶ìn"<¹2g÷ð%&Tõˆfe®› ÷?[Å?û­éÉá¥è2üªÅ²–‚qK…l8úl·¿8Å,dQ6L´™t¦’ïÝ‚gJ0µÁIÁù„ø”¦/¾ ^Ò@Ï›LÕ{’¿¨g9yíÐõ  tUÙ?´êÊkF© ÌÏû?™CQ1µÝN±7 Ú¯h仂µã -‹o,¯ìþ W‚n_b|µ¿S¸ê'Òd6Zz€ ”¹{1êçh(lÆÞt!Oh×Z ÓkÔ·OÒœ¢¶ oµÚ’õoa~€¦¹×#˜É=0Ò Äê_öT£N,ærµ®ØbïÓiHÀ“êá×!ˆ$% ;«FÖ¿^eÛ»Ú6%`…ÌmAjAEʪÓR¯¸Hå>TÓeEX<rñ -(wÒLÍˆÒ z±D¹Zy•ùMgÿòjꟑ\n1ÁcøËˆVÏót ޲ÀZÉ= ‚›Éô=Ô=É,ý-ÕÝo7Û ÏÓ­nnu87ÑUý´2&gCf!ôº OqX,-t7À!0ˆ6 ã•Þ㓼)‡ÙÅ€î½))NíûÊ=¼TîMër #Ȭ©4ò_AývRbi-.¢(©CðÏbï܈-©mˆ2K–¶ƒ, Æõò‡†ù¤ªý¬\YQN\뫵Ӹ½Lz˜÷bÐŽUÿÜÁ„žWý.Ìu:Тʽ=F0ɪaž±È¼×eióü–ª+èUò%à "÷C²éGº|t&~Fâk´„a’À -86»Ã2Ùu¢Ü1t;£2A×ÀÿE7Pèb£ühx4§¼ÿ¹.}va%b6°’€`½`Tx÷*€É4zýCÔÍÌÎéÈÔzÈ—Y­ÿ¤Oçxýάâp})"™dò”Ž™Ì ŒÕemµ ³6º"¥\ö@ý欬‡©®²÷e¹ÛlFµ]bÛš]nS,\h|s fp%§é¾L{}P0äÛ¤€ï^,ŸrGsv8€Ñ‹a.·¨Âf(Ìg/•Ä1B> - 6ÿdšØÑ×¥¿F{`†l-\72DWrý’ûÏÃfðÚྡྷ”k¡¬STp´Wºx˜çòôZA¨1mႈ´ßK¦m^€¶c.ó`TµÄX ýoâ4”ðé!ÜÇNV˯eN]<ŸEñûg>p¢GéÙ%+ô¹цÚfëË~\BIÜ÷Wa9§d}ÝfeU£ö¯P1NFQüÂVÀ„Âi×.²#´¡³‡P†T -ô((Å"Úê*eäŦÌa™k>O˜U§ãÓsç÷zU؋ͫg£V¯÷ÆÆ£¡†8çº4• P30ŽS8ØZ½ q¾zêŠkLQ&q,Vè¼R0¶¨ Î:dÁªàZS#›]\ÅòO,U%rW u—ÞÝ,¦r_˜e­Yë7 ®ŽÞ>”éæ3S¤ú³³7 G_j¬gRˆí˜r « °ÁMYÚ dÅåãEH*.ß* "L¶œ¬rrScwÂÊÀÌ5ŸKr!¡žçÚí^0‡ÑÀ¸4ì "¦œ u^âµëÁ|2Áº -1Z9ä7¤*À4Pàå^âX}qÚÈî²uÜçSƒY lÝ—+ÒIžÀqª€¨»@¤6yÀÂôKIGn®y[ áý°)"Øòú$°H+¤ð„k ±VQ˰ÖÄ©R¶Í˜KÒ‘c²ó"¸¢Z%I&2u7äö¼ä$Õeñ³À• -ul®\™”õ.½˜m¥\=QûŽA*,jÒ‘I‘¥è+L"¤€'ìƒp\yJ˜—‹¸HÝ…åúªI;p-ú/ÔKÖ;1é_>øwd–‚¸Ãã€6ìð‹!iz4þe€càKù~v -»BzNËŠ‰sãØ'@osrHEZU)Âô»–üŒÖø$E?Ve˜'aÎj0ë2r–sÈF;*ŽZcøÆÚ«¤ˆ–lÈ ¹aAñwá2e¶vç,ìõ Ò¢ŠKOX›Ð$µ!¢¯ MÜnZí9ˆ;1PQ«L­êq™—ÂAl¬–Ï–ï´+FïŠê`ÏÕÐS-ÖϪpHö%:‰ÐZ%=Ñ%‡¬„@ã‚ÒûBý*»‘ß瑎;¶±:Àkù< ’¦q¡ 0ÞµÛÉÁiôñ‹J—96ça?ÛA#¸´tÿU©aÉ·J<3>âËt$eÉ#¢¸÷êKýÿèµ´•{.Š2GZƒÙ`Í=é@70]`/bª`Mìôkc½x¶¾³‚'‘“ç^ÆuJå¨[UŠ^§¾—îHœ×¼B± ÞºÏnÈçò¥@"‘|S=Œ/TÛD n„þ 7A -µÁ54ǧ Rdª*A¢öFâ:¿gï]úÖÆ«; J²P¯š±+im f;mªJŽ6mV9•,%ⵈjÅ^åd ª/Õ/õ%¨¾ŒB¼iBVC=ÿ„´ùù—›µ €Ø2vDøõíçKÅY^Õœ;“¥–5—ÅèÚ‰¹@”gLZ0ƒ: lÙª;»}Jœ#–318î+ñ.8ñ™¡\id›™l¨¶oü„I‘‚w.Vô î5Ê…Gó”äq½µv®–±q¾ -È/¹Uqo¨J:Eü÷ËdXè¦Ä ý»`±ê¤:íW*÷¶€ªïÇn#6%êCSALz¹˜é ÊpÕQ³ÓQ;ƒü™F5·pÞœ†Ê‚'ˆâÀv`u¥êKGè'ëæÝZËöÙÔè†Rv-Ö”’¬Ò¹ƒZ €ÏâáÛvÐ@–rîl‹È[bƒÄEÓÇ5ÄH£Œ˜ØIÚF8Š`±5;÷Èôiµ§æûlé"™èÔo¹ÿ\l,^%7éÎÈÆþââЕeÕ—·ÝøEz%è%­‹ÓVbq"§½œ‰‡r©îçÆìØ\`§Ò›«±‹“莡EÕqf4¶É¶àýÈö@PV6ª;Ùù šNìi#¦CÎÞØK¼CœóŽqT åþ±Ž&`œU:„C„èÖ‘8kXuù劥¡\²FñÍ=w -2`dÁvŒ -+UD¸Ô!™#g€‰>ÝÊœG·>ü¡»?O”½S]Œë‰w£`Ñ\å½à ^kº›Ó­7ÍJTn…Äâö™Ü96f†–(Á’Ä`ªñ_”´ºÞÙ’EêH5ë`*ô7îág C<€e.ÊÓ½TRÛY¤gEb. mK \=’êÃ;s9Æç®_o ª=áœOÇ¿b}}·‘V&«A=ãç8‘½Žãpºˆx“ï<žkºWlÜ„qîCÌ[5rrúðɘ&™”z9ÌN°×‡ÍÉ#„ºý FKP¿îtÔ)FqÚRÚÙA ?vmLö¼±ŒPv>#{´sbbS</ ÍòõÁ€‡~ ÊËý[a1a¨‰±é»P~g y…ã±ôðr€Tò7œ DŠv‡cTyÑþ ' ŦÚ¨Lùtƒ‹5¾°Ä÷Ê^h`¦‹[¶žÎàaü5°;0ål(bÈît©È¸ÕY_ÀÊÔ]éjS]-Emk[ð¿:é!GKÀˆÉB¸"pŸf˜\è"rõ'Û¢ø~ý-»›vÓ\ý{[™Œìc,§ˆÔMJm„ÆÍ UÊŽjËï8EÈüÄCW™Ù“š3¢¬‰ufOT½ÔuöаzÄC$`‡XªDZYü¿3¸ ¡'As/mw…4˜ô!oÈ8/Ý»¡êRí_î)8AøzÆ~ ¤g, -ÁŒ:߯)\&ý„AÕ÷3™€À®ÿ‡Ž£†Â†ééíÅ ö÷Àgdo†$4Ï…˜åè©Zý ât5…âÿ0 -í3d,NåPMç€ÂìçÓ×ÌM¯ÉÀRdcà©¿ùév졹XCš¿Ï ê'—Aj^oÕó²ú_Së,LÌÈvÅ3¶ ÜÀ‰oj«NÆX6–¶®a°‡]|äçÐÈ:‘ -¬l„Ëa‹ ’8Æžâ©0±÷Ý–g.µª€z˾’–D©¢k[8tÉæž;™ÉÍϾ|Ú#çÑ5¶‹J 9ˆÿ’J4&ER”³ p)&VþÓMŒŸÄC´ÙÛ4’ZôÅs.]ÙÆ<ß‹,vA¸–éËØÇÒö0Dÿq x`¡¸ývIn¨ðɉj)WBÿ\î¸h"景Äò\C³ÜÙÚ˜†Œ¬Ÿ¯Í2è§úë&oLCðl@ä®NW‚Ð…ÕG „iN¨Gĵþ’<Æ ×Øÿ6b«â¬'Ꭰð(Æà1Àò#²¡„´¤>¸Û` |ÌrD`ÜfÄ`±:Îû"EÌsÎà5”õãmÑ"a7Ö’Lec­¢gD]p¢Ö¥Ú&‡û+ð‡ÀFßÑì7 W®áÒÏéz*ÝŒmùÎFéB‘ÓWæ¯û€Ú©-0ƒº'èö5M†ºïš~œ©¦Ö)Pq9Sx w ™XûnÊø§ 12p#í0“~;%µ?=»B7I¬xIœ’v^>´Œ[+2h'¡SLyÆXt˜¬nôvàä$$æŠ:æ[5IàqYOþ>ð<žà³ -ÌD»vp.êÙí0†¿«Â ¸Ú¾F¯–y( ²l@‘ݶ+…’xˆIf€ìqÏ-–~$8¼“Ñ9!%ÅuýôÂ@¶o޶¬QŠ´Îaà:—¦Ë¨ÐSÑ—¤Y¨ôƒ<æÞ ܹóFÅÿ×ýf(;ÐÇ"dg½"ès ¢¬s´^#²˜¨ÜŠÀŒiQ‰Ðh6î~ìDŒÀô¢Ðaî”™`^RbÎeÔ ™¥ž×b@ù‹û=㊴:[nfÑûu‚%ZÂ#®Qõ†qÒ:‹Ÿà42!4•_b°Ï†ä¿F!Ø‚=\Ì£[%ö§ÒEí)¯tfzºUCf]ꋤÂ;YÚüO¥(liPI†ˆs‘!æûãÇîíÏ&DÎxwF–ƾ˜¥Õ½z¤L¿ÖdÂ6Î1¨ç›ÛÝ¢¿ Ò\¹ß³Ýž´oÒh³[œºÐã ‘Ð¤Ö$Íñ}NT×å³8DÛ0{iK:[СAßh»x‘¾% g:àÿB ú£¿Šb¿#†ÕñœÒÀf%Þ±!““"ù¼šQÝKõN¬/šrRÄ˹ ùkÜó¢Ý$¬ßŸðáóël^ÞbVÌŽŒ¥)VJÓ¼ì1£‚ìòÔ+Ø“Ž¼àJ%x©^Žçò¬ì¬F'a†jG[ññ2AwM£ÃÔ¿•­ù3Zk´˜ú'æ¬BHÙìµe&@ogøwÞ:«¡¸YB#@Ϻçû—v=“Äß=cÒF¤…Eú€$ö×9“ZÛuä2aØ´¦FÁ‰³›n,(SÎÞÇy -+æÜÖ_@Q‰‹É -}­®mõÒ]uvÄž4Š'ù@h+ëax&àå‡ 2KŸPØŠŽVKú¨‹#¦èÜ8ò]H¤z%Yî®*þ%™Ø{7ÚÃåu>xÃ< ½æ4 ƒ— Q÷VN@ȽK|ÌØÂs߀táKaÙöøÞóàI®iyc pðÔ_D)µìè0ûÈt½g2#/‘™=;­ÃÄH͘ôlߥÕD±†ûúHŠ[5_cZZ]J=‚ޏA*qh -ÚëZ˜VyUüg’¦[…u¡õ½~†+góØlùØ„4–E>Æ®GÉ¡kÖ(ìäø§Ïº¶è@s¨÷‘F&ñ¬ïÁ¦›&Üú‰Ä ÕvÐ[µ¥6‘–°ëRºHl)Dì ld}—!Ëœ,!%‡œª¤‰ŸFþá¡ÛC~:½^¼vÁbÎc9\üáh6qÛÃûËÑ㪓°hYrœ8[ø1%†ÍÏK#óæ™Òd S0³´Æ#r°Ÿ[ˆÒÈÁ2/¶SX«s%!&ÛÀ68ä —­4$´°ü +-ÿlkSiéÅ9qSK„Õ»T5“‡Á:Ý´F=2œŽ9ü¤%YW5rïQBT8K—ÿ:¶ÀQ:Ѥá­ïrUé¡X)š -×°„Z©x ^õ……) -FÄçh“Ô…hæðÐÃòX@½É¦•ã²K2NºjéºQÒÅ´¾Ñ2©aÊÕJú*ºªÔ9Ìg8ã°!„Bë¯ø%Ä1I—a©/*⺗f°·°©•MëkzÚHd’DŹ—5~'B"tV2©]€Î› vi~Üøu³/Ô*ðwŽEgìU’8(-¤ƒzª + Îw|%±’|lt±ì(*™ùÞtEµ1ÍCpë:^çÖó ¨ ‡Þ éWÕ[$[ -ÛeýxÖÄaÞáÊ YGÙ>¡¾¡3Q27m]‚07aQØ µ‰ã$»xÃÀÛÔ‘µ4²¢!2 “âXÎ"~|]5Ù6Ká¸à-õkOz?. È?)Mº)‰×¨ºª•àU‹8j–ì7çÁ¥j’3voÁ9x…Ø«¶ “è{ÅGgk±j”O$àþ7Â&¿,PÎÎÄÐf;ø‹B1‡w¯ -ø°76 ×[ËKdJ¥Ä?¼n[Ðsds÷Ï-¨=ª‡V¶éL„ãàF®'®tµ+vñ0˜qHB0Íì+åíþy€ÇX«Ø -Tú¾”Ç}ÐJÒ12ÀÆà\ywñîì-'r@e´á˜Å\gš)º,¾Kíá°Ú‹È¸²ÎØögZ89f§Ü@£_ׄ¥÷Î&Â5œµ`…ö¶Œ÷:馉_û°Õ\RÓK ïW«W†²‡ÏÎ<`¹q5 ØZŒ£à'>VBÐd‘³ÚL`‚S‘¾ˆÛg¤á³V¯Ñð7W>ÜLïŽË ,OlãEt*¤“[‘5uëÚ@篹sóü‰ÖDó~’1~²Îá¾2ÖÙ£G„jxg‘U[á‡=G„¢¸B²ãÁTG„²«ºWœŒë1qDˆV¦C©þØ'³Bž·åi#H”é¿`WSS÷dnâL¡¡ù‡O[ÌY’ŽA¨Ÿ×l,Ôïÿ¯]¦lܹ̉ËÎÙ -€®/óñBEâK{ –úž/ƒpÜ“Èy ƒ‚ÉL:Z¼×âzXµxbþ>cÆš4Þ¹+9^Z8ònsE½Ù‚’wÜ9»^þ¨œÁ0Ý4äæ–$#iqðCO²CâƒÆ`A5­’¯€gAn“Qºmî+xº\µ7ù)§˜Ë ÂFzòX;aÄ\ -2´².]79XΰÜzØœ·v¢MÑDôŒéÆÃlßZ5ƒÝ f0.)j# Ì„Þ(S½¹Ü76k T4º÷;²@õ÷wùÿD*z‡V§ìœ:ð(mX[ö—}ÆlE0!9nÓ =[aÒÔàŲv Ñ·<‰pƒËHß’³f’5m—2œy”„Š!y> šÏÑçóÀÙ‘J­îá¦;“€ž+ÆYü ”ý¼“;X«s°Ò¾i÷Ô<÷_¢Uº¯ó.ò¦7ü ñg/êŲVwIÀ3–†KrŸŠ[h»Èé‚Èv> Ï—cS3éñ² ŠÓÜ-{·ØóþÉüvpkÐqQú.^J¸a–pLóŠ*9™ö(TÀ+AáRa¿í§}©ˆ,6ÍÞ½ -Õ°M´(·àô<%™%V8q†£.<EJÝãTÜ­DI¢Ï=JgÁ´õÜ<º˜“(T§'HÆ|¿#À™Û@Q=kƒ¿¬Š­óõ´k›|•ZÅÙ`ϱÀöÓmG;Lਹnº¬@)óÕgë†9B&F޹÷Š&¨ÎRöœHzɦ‰Ðfç&ïêñ^ÿ¯íÇﲈ:ªf2åŽ×”j@ q€¨XÊ(ðșޘ`g'áD´df¾„šá1m†FÝ9µ~S=Ípîߦê) DðKw´’¤_RPŒ,fn«ÞÈ$R‚ÿ‰ð€AQÇ›hŠ¢yrÐN.ìל“ZPiyûZÐ0§GU¾˜lr„ -ÀÙåtrVS'X¦ (ÑúãÖ“÷—¯y“€Ç¡¤çB¼_'ˆµ -™B H Ñ¿•ò‹çÜtÉ;+‘O5Wú¦°‹57b"#‚æsYÈÂ+B.ÐêÚ¿‹ ËsÇ-ªíÍDƒÊóåÛÞÈ¥oÎCô© <_âÐ>õIå8T¿µ^-ÐÈׯ+rzuyÉiˆ†’†[šù†¯‡•<=HOÐÄ·ý EúÛ-p„M0Õ"Íqúý`‘¦ü¸’I…,®"œe"cOà6îÏO,ÞÒ ð5©w”$xÈYhb³œÎ}çÊÛR¤‘)ÌkVðº/5ÝQNoBÝå(š¶ 7X‚N²lH3îôA¬á~æøùJ\ØôÌ?<¥s¶|Yüƒj!_ëÛ%ŽKÖ™ƒ|à˺Þ-×Uc^t/*ɨƒ· ùÑœ¿©]Ÿ€ªè h*û:/â–XÞÑÌ(‘8–Ä EJåõh¸­CªXbkÏPâàó4žÃ›ÊU’é/kŽH}ÚG‚²P,ä‚6âÑ… ÇÄ8½A VŠzÁ=toÙ—¬™m‹P¿éÃ’ÉQÌU™¤Üâ¼8 ¡ßD¦¹\;ÔƒÖ›ÅX»–HE«Ó²˜‡¶2w³‡wñ«÷¿4áZÁy‡Rž5Š\ÐTûḛ̂C †U]]ëÚs«ŠUæÆ ÄXckG{ƒÔ¦±¾€7SǑߊÝÏŒr#áƒÁŒ‹“äÁ}æöe»YÓ€$'33 :„÷¤PHÐǺœ ·Â5Ïâ;«àºÓ6Ý×%Ó7kÑy'×·Ÿ3½‘eB⺅ý<Ô¥‹¿“QHVcYüòÈ– -*7L{äÆäðÒ;–D>#à‰h¿I@åÈLý?sÎ2¦¨òè^(ÛR ±ÄÄ–tP‚ѹÛÓ¬,Ë bô2®#».*©ïèe´Y)ðÅè3%ÐîÌe¾(s}M¼¸çíbµ)tçAéÞ A­[7ZO½öárÄdjÈK¤á)CŸßëy3q\üÖ^©ðµÐÉ*"·K›3DÙñ2R‘Ę˜“DÜ<éfƒ€¿s³R¢ Wø£ŽwAÌp™þ  -Ñ%ê~ˆ~ôßã‹·âŠpU¶LÃ+l´»<ó§2© -­®É5«¾"„+Q§B1Z=q6»å½5`©ÃÂÒæ7qHÎH…LÕÎ 6¾ÒZ{ÒÊhª Øò›ÛØægê^MáÕj›HèhO\g`ªµ_ã~£ã7AGõñ¥¯ùWàTÔµeÄ)¯š¾/WïqÇw0˜6dÒ0¤ -0Š(kÒù€>|™.D–ÌùݾÎîÇÃæÁ}Ì%D¿ÀšwªîÁ™íC3ѽ0$ßHáÔ^vf°pPEVbp–vÃ[Vòú¥N>B¯pQ8–¡§ö-…¢‘L9:±Çfâ“â.–#ºG¨Î%`£ ]’¢€H%w7Bm°T\lÑQËÏ„t €1Ûò(7Rò‹+xhÄâ8*.Õ¬¡*Dø¾Œ­äÒ./>y™¿‡hÛç°.kŒÝ¶‘ê3G¿  ¥fÛtû„%z½žÈGú“wéÓ[OÄÑÆåBÔï†Ü¨®_>3%f‰’– 2;>; -¶ÿ´~ŠÆf DA½„xöòä&S]mÌõN¬áÉÔlÑÏ)Qs(#×ìƒra× ’$Kæ3j®ÍÁv«É²Bëoúy Fc7 ñ’€bÏjTVéŠÁ³‚Ъ½g(rÉ[ËÎ8¡êýUÖ¹Žšì˜vÏ–¬ÒÞÀ ·åqô†*v¨– šU+¶Èµ-s4wÃ% rÅ–+^ -g ÃßÉä»/f#³\¤µ-o*B$ë ÈBd]å9ü˜O˜Ÿ…m¸ð±žÄ6Yü"M•ìîü»ÆÉe™#ùž^oêß<—îàDÊÖËÀ -øT„U<ãšólï¾TÃÊ`#ùÌ"Ï -}£äç2_—Sàô/žGµ¼k»ÏãZ#‚G0O½©T[ºš¤2a®]Pó€I˜iù‹j°qh§(%ÃL“y“>Lóâ% AGåÞ;ƒ›ó;ˆBCxÒ€ÿ“Ä9:aL"HRUA¾z¬îgEÄkK1õ?xÆÆuB¤êˆGB#ª=Ÿ¡$٤¡—ö–ŠT¶I¦øœ¼À˜0pBeš¼Þ³¹3Žá+ë†AUq‰Q(\½·‡A:gêD€WÀàp‘LU§s°q^¸ö¬Lï87ð7™wÖ†!è„Åø6i´ê²Ò[ù­ ãüÌÜóTý;ùͦ2*0Ǥ®Ç;üø´Aî„t‘âJEˆööì¼oìï[¬ÞÅW†jŽåå&`y%Á-ƒõ¡]–:~}P1…êÁ°Wä˜éº3Ì*ÍBÜ|œÅÏQ¾Ä¬øÖXÆYkÛNAAÃüBÂ$k’ñ‹«>Ô!£`íÙJU0óÒŒäÑ4M¢‚ÆS¬‚ƒ=—fÈ“Økh*Ó¦MºÓGFÕ ¸×ÓC&;/ÕuV¿¥®Cïù–âTìòÈË}ɰd¸Ùdº;bК§gs¶Í™òšJ0"p„Tÿ¥|ãí¢(Ö®’XPkó™±—ö×±Àå]irÁ’‰?¬â_X,šæM›VgjIð‘E¼´Eìrƒ•ýI8hÜÞDÉÉÝ;H…+®„° -w•ÓÕ³hž”6·SB<  -eÒÇÎ-²Xñyc}$ÛòX Óñ‚ öˆyÑ^½l˜AæO†I~È•A€ÌÙ 5ðWq¶je°%ÎZ Š3Àßh,æ…i®®¿àrþ¿k4ùà h ßáÊ»%TÔ¼)ZñЉ©65£€ï õãhÿ¸+øÉ’©µ ?w‡ç`” +•P+ -¿¯±–oÖÈ„¤·‹ÒfžB¾`ØnN§q¥~[˧²1xèú -—ê34|YŸ€ ¾Ì-ˆ"x½"ŠžÝ|pñÓû•ôSœn¿Ô¿ÌÝdœBQ®²ÂaŸI¹ìØȳIÏÝ1b)AÏ]rš$À$6Ž]›vXû<—µÉ‚ ÚZ¾ðÇàmÄhmâÍ3F"Uuxd¬ Ìõ^¥¤W¾|müÌQùó8b¬ö9µ–¬CÒlzÍ-žnÁ» ’m!ñ®Êu€Èky7¯yW,ǯf‹gè0´> a{^„󯹬ó6Rˆ$;Âõ ð¿Û%ì[=©g¨ÍO&Æ•'½&E3 :޹Q™Voœ%d8CG+Å”úe_P®_ÃIŽ× b -ãá9£)†Ö/&c\fnš!…i<Œõ'&lê¯FÁÖ²ôÕJ6£‡·hDÄpåË,(ÿ¼sš‘ fè)#d›Ô -„“Ö±îHÎ} ƒÖó×è´e/=²ò¢Ö6©+^¡?Óä ‡ÇZk'\çOto(Þ¥D×P>T›’ľôžY—Õã宂bE‹ã’4®ÜÊ·¬$›Cc÷ÙU¼vÒ1ÒMHñ2š Î6s}|"ë0êÏ%ˆ~©${1Øñæ–Ó÷¡’Y†…äKz:1A†<‰ ëþKÓ®vÓ2Åú‘ß+Ôƒ r4“Þ#ÏÁy˜àŠÓ¾…#jxz8ËŠ¼±ÅþP”ïLE ç¬ÕŽ ætÅð|ª‚”ÆÙ"\DFâ ÒZòµ–ªÅd¹O–{‚ð0¤xô0YâÁ˜ÐÆwüŽ ŠìX¡à9N^Â&0ì °Ëï~àë<Ö{CH¸jÆÀ_>åët‚‚yÀHŒ›/J† )K>Œ+È‹¤ûgâp¦Ö9ð[-á¬}ÝÚ@XúZ@ô‹ÇX0ÿb5œúS ‹Ö(ôg^R>oU†p™pjÞU˜#hµ8 …jÇz4džšwëuP¼Žô‰Š"^!± -w -pŠ ¢é)BÚÌ$A˜+¼gÇë.Q\áñ2Î;ÂÇ%fÉ@jZ"(‘ùÑÎ1hç½8$0-d*l…ÉVœúB&,,3Ý'IíÁFÁ¹Ìí ulʨ`¿!1Qr¤¡áñóª‰Aû‚°3)G×Gåa¹pÉÒoïå Šï¡¼èô  `Ü'þ?(Íݶ´ƒÅ&9WJ½cÞŒ½âGíî£wIë±À‰ +¡G&R'4Ô«ßÑ_¹(T^ ~¹Ì´˜NgAS7 þéëËlæctCñ¦cñŒü!”Påy—)hxo^$)™UñémÃ>yÝAÕëüq}ùÅÊÈV4:Y˜Yµ~ײã¼ ð¦ÈfVÖÆâøº=m…5Á0h®rcEï†V €‰#QŒ:¦&#„Ó©Íc·¨úíXOšñÔŒ§M¤œ_zSçëÛ5óWÄ6Š~B7;O¥)Ã÷Å9•@ ’€¨nÂC¶Ó›~é×häIH#º\Vn­QO0l$J: e ñ”guû6õ»òL¦<ÔF5ò1±µ´ë¹[ «04%qPµ‡ŽgD‰3 û%aðIR[ r…ð’Xª0½iœ‡IºÅ½õ.Ÿ -­¤ž \Ÿú² vú½b2Š:ð.¨¸c84$NOqþ^þ¡ >¤Æ2³GT˜òØBx£„"BÍœ¾[1áUó=ýû{ß!ð«ÂìþÉŠ–cÝ“PʇóAã81ŽŽnà¢éÎîµ^17™2¦MWMîV î7œ½Ë ÞvÒNÞš(²)YJfB"ÿv­Á»tãvÙDZ“ZU6 P™U—0¼ïÏó&)[*Þ°cÉ“l>®ð²BÁ:ªì#»ñÜïä¡_œÓÕ3é—¬ªkOˆ_¤Ãy KÆÕgmí§[mF½:Æ2aL™„Ñ~Í”œ¯^>~›ròJƒ71Ç–%ÿ–y$â·£\ƒO>ã³ÓìïA'Y“Ž–av™Lóæ©ªÚYìyb°°L ´Í]w‘F -ê6i‚\bh!®49 n-¨ø»Žñ ŽÈ»zÒC2µ·9õßM1¸KŒCáNƒæ~oí[pÆ«kà¶èl _(:Ò´ jÆØebþÏ䉤¡vþØÕÞs&2S©#y½”ëÍ¥Þx¡îŒlL~À©"# 3oªñÞÅ?µ²c®™S¨kCjG6ŸÊý`^õ-ËÔÆ µ˜üµ)m÷ÈÝ‹ž,ÙÅ".ú“»’µÙÔÆÕ瓞ÕÄ,€³î]ª>NïI+¯ÿƒÊÛC/màlk;—ÓÿؘiS¥žX9¨ž,æº<"'5©ŒH`oîê ØŤ ïék2¦!¡•€‹d²S°±VQl?9£OÒ-‰VŸ~çÙ™Sr0ÚzW”¹Ú+׋9¬ç°*_b„EW]ç`´–Í=€ KdPÈ.8¾n…R³ÎV 4®îþÕ!HªB`âåÁ㢑«t!Õh^B è *PF¸ps+›…™æù~H }òš}¥nŽ^Ÿ2²çÙ®Âé8§„3 k`ñs&q1 £bvŽcq$)q äR<®ÕDgÛÃ0h¿¬iAÖOÍù‡$,’m¢ôpW¯[×µíÖN! YŸ»¿ð˜™nqV€0"Öü"‘VË›ŠüôS³÷侊„¢Q=I2Ù‰—Æ Â:– ÷Luµ` -ר!A‰½þ¥œKýæ~•éí §l /1¯ÈÝ`ŠtbÑõ&$”&³trYc{p¼ßDâÍ”©ŠËËeú¨ÖFþcœèýu±‰ìëmh,SŒÒ1š¢KX QŽ`ŘCËL*1±<ÍþöT-ŒÆýqw\(DàÚS¨«rÓšlsjò»¡hѦM_* %3µ³1ˆÒ*òá4S¨8qTôg"·í=R˜¬)9ÏÛa}ÌV²1¨D_‹F)<íN¥&ÙRy†®ë`¿d€•¶´K^z Íèbë¡ê­¼u„‹ Sä”/ÛÍŠ¹:hÀ„¦œÒ%§BD!˜[¯Â»=¬9²ò%f¿·ÝàqœÁY!±’…mâ°êœ[mÝZ8{¸ù¸Dvl7 B»ˆNÁÃÝC-ù&ÁÙ'%þ,‡,²?ë8Ôª— -?@Ým7emR”ÙBÄnJ ->3Pº +k@‘-ÚFsa™ ˆýNŽÛI¨avó§ƒ)O Í“R>çÚ€§U̺Ñ;ºÄåU%Û>¾v”ªKÊ=W,:ÕgÉ|›íÞ¸™äšÓùq±rH&ØÑsõûuúT -œI· ƒÍŠg9ÛK±Ží&F/ .Lg¹Ù dj»àsk.çÁc‡ÃäQ’§³Æ!>|£Y’±é¤ - nµ8¤-B±Ó4SØU7ÉÞÆ;¾üuúkñMLTôŵo¤â¸¶©Ò£•”¥…–•—#ûÛæ·®*i>jÏ|.Â"ó"Gýæ­l<‡ˆã¢—‡]ùÿåo%ǃ 7Öx*Ó()[~Ι;©ÿ“<øØ™¶Nعê~B6°›ûJgŸE\ÆÏ¬ÈéAÛF˜_]ÉÈ— £~Ø2\5ÅSÛàZWÏ(u` œ¡ÀTf£FRäÓ‚Á¹¢'+( ´$P’÷æœh8Êj¢×ï·e€@Eö…üv¸ßvuØЗo'3—6uª“Ò,ªö „#0ùÔâfN¬Í,"úe:—9ÑW'åd» ŠÚ2ËðÃ7é¼ÚB ¡]’H¿¿±bºøj¥¹±˜°öÛ3»yòCŸîÇöcü®ø¾ò!tňa®  ¢‰î‹U’ÀƒwIáClp§žª6ÞÏBDŸ’BÒé%’ÇP4·z: ‚lbU -‹È‘¦|xâ]Y©ËNøm1° ç–NBuƒVèI`}»ÁÈ%f -þý—>C®º\O˜ úŽQ* ùö°¶øV·—Óùfw¾ _¹ß|äògQgI¬zæ5Y4•Þ®|ºu0 sÀ–}cf 1Ðd"H v = lÖ] H¢KÆÀcO¶>ÀWí.6Bª›^g±ŸÂVîÖ VûŒ¥òÊ/[9)oŒ–ñ;r#ž0 ð ±ÞÅsôñQµùùµoob´èŠëC -YÅOÕf…D¼$î®k©góñþð׬å´HšÓµ˜„DL ã j}Où‘c) D1E›=1ÿº,›C©Ùé¡4´zH5rLsïY4=„&„MÖf¨“¥|ö0ú]Rh^([¶’Â’?£ž›ƒÈù˜Ž·µª4›þŒmk-ã=œ5i9€¦@eór5# É-'ø3Á¦;=…ÅÎT}¶ ã…¦²e¼<|à…7ÊãE[ŸëŽ( øóñ¼ä\árÕ–P 4ßþfm®º~kùóxs%Ï–óNûjžÐ-T@¤ÐDt†œ\~Ÿ“l²q¡õ¬˜ùV2q®Ðj˜ÇΙl4 š.]‹ .Û)›ÜŠ´qh°bÀ™ß~¢1VÀÙ,Àó¾Y™m¦Ó#ÓÞ8VÊ3{'jÈí#Ý‘†?däõz*‚Ô¯”:€8ÅMX7›ôæÂ3W=-·aØ a²éL€­8š·Ò¾ÑÄ•òžV•[FY.HÆÎ§Í<¿c¹4[Ÿ…òl8f ¶P%‡ ûÃ}¾Ỷð‰éÉ7 ™æ =,Ä4¥Ád¤wÎB˜'6>žƒ („ï&X - Û$R¡ø:JÎò–¶{Á CšÃ^å\Úñ‡VŒ4+ï2oå$Þ$|àºöá÷ôu˰s°@]¶ñ^.r˜æÝFP™Q=>¢‚Àù¬ÃŸWi$£Ñò+SSø,áÅÞm¿Œ˜~iî§#ƒª¼è»É†ñޤÐj@uÇÕof2ëÔáL—¦-Y[ð¥å7*à<ÆyW*·°Ÿ°£A€d֓מÏu ÿäPŽKµø¢Çoæ 6?XC”F€‹’[ŠëE˜¿4r$k~`0K؈1 53nç8®Â2W—èm2†O­æ/3´’l< ª¢öìâo2ÜÀa’´‚˜J¼ŠiD¦®),L.É„fÌ}´pJ¿³Z¯ø:oô…@K~•¶(4 }¥Ü -m/d‘#F‹`)Ù¬—ÿϲý¨KÖ¦1¶_ N=»y]½a2íYôD| x§_z‘¶àæhÛþå(ÂLk÷8Àä’)¦©Aй­ˆ-,Ó&_Ô˜åЃK’ 8ßêãaí;¢–úâบ!•3n¯€'jÃEY1fÄÛTmƸMÔ¼R -±%Dy^)òa×1Oi%Ùm÷¥ìäÚºfs%Šÿ_a>=8R$DKí›#ùJ”?¢E™M™æ´Lïê|,¶™KR‰äá¹Â6–ÌdÇÖÈ×q³Ir‘ÞØLBi–t„†·Ð¨®ãgOŒuôdw`H4v½Ø¡Äzƒ -b’ÆÊ€”OÔÃNÒ’LBûW䢣û *ÞÛŽ_õþÀ¡‰Œc€4^}êÃüÍ‹ý=jþBalù¢îû&Ž÷}Sœ½fØŸOã“«7÷‡ª’†ÿ§}> «ê’òr(ÈXeÊ·»ä7¹ÙÐÙc`c°vÞrN½t¤†?"ß_`›âñEÔFpÞpöó&ý€: d‘Täµïœ5E»_˜üMäíEIb\SÌ—„·©³Üò çc…nñœ¥IÓ®l\W6Ì `’®‰6$…ÄÒþöÑÍQ@ #rŒ&¢«ðÜŸ¼  åD= ÅȘTfÑ!V«ÔWíÖw]¥OÆþ§p°ÃŒÆØ!H^øØ£·Å”ÄZÿCkx^Ãípس TþIØÆê—¥Åã‘á0"ƒXÒT†€Ëº¡H÷+NÖ‚¨í:G.c>\qŰÏBÍY 9×Ó\v†îtÔ¸oHâSwžæ BˆÙ8î#‘Å@áð¾ÍEż˜_D:HÇ¢‡ÉÜ(WiÔô߸ÃN‚£(Á‡Ø;†iÌ„rÐ{É× -_'4x)öqâBþQJaÁ©“¼DÞùÌÄÊ~(Ç—\±wõO Ï{äT 8!ÿK›oEñÐ+»¾Ð]Ô—¢ 1€fñŽÁ$¡{¶ÙKzÕ(¹/BUÎþ‘¬òÌqjÅñÝÞÆœoä.[š£k'v7<¨UçpˆÎ2 ãG°c7&'N–]–0ºm'hF8_h%t»dBá»àU›9y_QÎ"©·³,ƒ¤ì’õu“Á\Û<–·ï’s–m/Ù§Â…8ÞŽ•©1ë:ö—ë’P+…üÎÅÌuIBöjOä'ä‘Õ°íZ(„óiZµþ¦¬jpö_À™¨9ò³Š WIÓ¬*… G}3 á÷ÔRÚP ný—=zÀ̵%,åÌãxôgƒeÍjD@{äB÷=ÛÒˆw åzIJä­‚urx° -\ŽH#IºW÷ޱ÷Ù¿BûiQeÀ^2ëùn¶Õ;#ò<Ãð7I$F•é‰;>VÎÚÈñ‚2ľ íTtõ]ìH[ÎÎËä~p ÌP…±,Þ©÷.ÏÞßÕˆÍbä‡B†ÒÌ v%ž3’ÐxD.¯Ži*=sôa*¥Ÿ€*:ÓA±U Ü…”#‚@+ºLzéñ7*B•>ɼûd+P–š©ù%Å2ðQ5AFÍ®R“¸èà ÷ˆ¬ûˆèÕ*ÀÄøïShÜ%;£sLÝÍìG'únÔ†—ÁÇÞ†ä9‡QŸ‚¹öe¾~ÖW„KY¥(pbYTŒù°'㬃¡fùÄyÍž¬ØÓሡ˜·%›>d $µ%@r¼†ê×éШ_IÚf [L{Ïëh'ýEB>dTY,*Û,Õ°5?Ú+À·¼M úàå,e^Þ³$áÊ(l 4†mFF´ùêì¡é× ™‚^w9h$d·mÝWÀ÷°OŽE¡Ó˜PÔ׌΂Ohà`söRã’7‰£+ùÖ€æ‘HWfýòE ‚!®bN\Jß׿á3pª7rݲºÐ­¨Æõ̤‘ -rðɆñ k­Ê²tœ)FLÆ0aLö¶ÑÔãׇÄ~±ô˜½ ¨ Q£Œ¸!"WgY¿-x¹ƒðJŸEáx^ù³ìkæÃLÆÒí×{Ï0ä.ÎÔ¨¾_ÒÂK(Õ;e³ÍdL P™s&Èýœ¨SðSRqvM.ü6y.sðîg«+Ò¬Äÿ|u)Þ¨ -ˆx”ßMÕ$q)ƒ<„L;0Bö«Ç!0Õì’žÚDXŽ\Cðøä1wùvÛ¡³}ƒ®›œVÀ³ß–wC_Ä1®ùý?Ï+u¬åg¯ã˜ûb¤Ælž ðA˜ök!60èÞRÀ2o\«µó9ÙŒœ/>Ìäj3+Y'Š]*x3¦·Á_,Õþ?ä1 j<&“,¶ZA»,Ñ»Œ¡í2ô5ŠØ…èLÁÑdp·jæ}ÝŒ¦Žš}úMuZ®Oܵ#°5f^[=#½}RÝRwö–äF«ÿÑsD~²f°Xïñù-:kx~›R-(·jâ¦T‚h=OÏwwK)媲E*ïœS8œÿ²ªe d„¨[©—ˡ͙(àxÛ‰‹hš€”cÂq†S„‹m³¬Fœ¿úròÔr•/ðf*Âàé*œ3cq”I¡™ëCe/yæÏƒõ{']‡­ÈTï˜×çÔöyì¡„gÓ‹]›¦À—ârDúq¡¢¸ev±¬Q>{<ÖB·•…à‚Š©ËÀÙ1Y_TòÃZqHúæp³ÍÁÆu(p-wÄ Ñ×­ç æVå:£Wœ´j“;OCIçò¿ñ -®“ÁŠ0­œíëk0ÏΕܥú7‰áŽ*g‡r¥‚õPû"Ê‹t•Y™Ü!02×dj•˜œ˜#£B)Ë -Âw_Ò_þµE+,àxE¬C@`¾ ›ßÙ]èæ¨¢*¨3cçߥ“< oÊ*ÞÈŽÒÅó¦ŒbfÛËØL¨ü•6_ØVÇÙHÛÊ”bßË8º•RÙaðïh!Ç ¯…賬°÷l‰b€ æ€,;n ~€?\vê¸àõ’µ/cùü' cßb¨¬}Õ®KŽƒð··ýž4“ÎfzCþPà0Y ýVæÿ!Â#­¥b“Ù>+C§=œzàÉg?¥ yĕך´­ÛJfôÊØ6[•7VE±r½ÂsEç{©ÚQ³³m|Ú¼¤°|. ½’ª uZ¯KãØ‡º 1DSMK¾Wç7ØT’$·­±L<×ÿg&}÷ç]æüŒ‹ZÈϤPh½*ÞI°EU -'žŽP2Èóèÿƒ0)×(wéPb2…³kO©b™“ Z •ùÕ6”æš š …ð† -sеvëËvÊÛ§aÆÌ)&ªHh‘];­Ÿ&pä ŽØàÆ–Oä±±¦må~váò¼bvCHÅþq“ ö@¡ßœNbÀ{·Za燩•j~©ü1zÙ-2@­ÔàÿéP:ƒ­#oìÖjßz}¾üé(_¾S¤¼(šŸs -±VëwS}&f§·«²?:ŸdÎ2OvzË‚Y»›±XŒÉÖÂ_Lƒnœ¯/|#×¶uÚfz­iîòNkû4!¬è%ðã ¤Áqªg¸?«—>˜-§¹v¸­ªøžmˆ÷ U¾Vðº­/ UÜÓëîÞgë P6[~¹¹'xÐÙÜîþÂ,+áJ¨4c˜¿Ìÿ*{Óhvi4ð½Éرù6¶¥Ã!I$®YžÇ4÷·![ÖŽåÃäðÓµè/ËðõåDÝ!Õ£^¯ ÖÔþˆb$˜<ŒÇe™rÙ4×ɘäE½€ú×Tâû\€WkÝ'Ù,äXöTHrÀõõw\Zä¡„UtýBqí„£N»9‡ßÓæ ¯ÜtbãíÊITËæ…#ÝéØ/;õ¦l¹ø01ÏŠÓºñÃãë“È~á†68¦!´ßoeÿ:•ÿ̯‡ èl±á²Ozð|r ®Ö•83¿æA%UX‚ÿûÕŠ‰ÃP²ÓâÉz¸ä -#ï‚éŸ+Jä3êì@UŒŒ &”Ëʽ‘ÇØ{33„ä(熅çÒ’EÞæ±Ë¹Žmóx[ouÙHyÝÔ¦!¾[”#57;G¨žûíævü^vyO„F;)»–b¢BDÅ¢d4À÷ˆÕšg‚{±’)a›úöç¡,ÈÜkˆ,!.æðÊâU˜WƒÅ†ÿ|"¬àØdŒ}¡z `Z ðNëA–ºw‚ìãPeƒ¬¼lë9“ >»ˆK5–•úËÛx€* ¤ƒ¯Zú•—e؆‡p'Ÿ§6EwíªXÓ[“ˆo´©Yt±EŽÐ]¿–¸Ô[E š*§©ô¬„<À¨uSúr+ÃÆÛj–sGR2À…cDIÄú>…¿2‚4N@œÅèT®†m»zÚò‘Tb&Ãl, ;$ÍÉT«,ï”ζѷ ¯*Màƒe)ž2˜šÛ@ÕÆãÊÛĪÞ+l šùºÚ‚&[ghž¡4ñy*'‡´ï('#B u ÂØ›`Œè ÿ›ý½ct/#MxsEc¥¢iÁT 7bCXòãEFžC ú"B¥žê¸âÄô'vèÏŸS%ˆ¸m]~ÇÎH ¯ˆ‘Ìì(Ý–ú]ßë†\Ž(=¿±Ú¦†»W®4Èj$2Ò§Kâ^¥€‡™t'DDÄ5Ùº²D*Å…î e(_/Y²Y$PMšDôicax'¡³ÀþÄõµ9¶ –2×Å(Ë -µ<M.dno¹—•$âB:ÅR]sg¬̉-ž‘2•­Î uH»Góò3ÀM'ÌôÎËj>UGd|`ÊAñMÿg©^-Yb#ŸO¡UÇlJÖqT~Tx€_‡-g®¥x -@h0tÜÝ ¦¦ô‚Q§˜¾“IKùÔ”" µ’i‰Ë¦ÀXndV° þjàslÕ]“]ï[I|ÇñZsêßïc,˜´À€9Eh$rd¿,B›ë›bMpþšðñFãT¨¹ÜdºÛM¸e•óB‹'Ä÷´/%€äÐëÙlؽŽh;Or‡1îõ@zS@Qk3èü Z% jÓ–PëÝÞõj±Êv_çà×mDٳѰ.àR~£"ÐTõÜaDœäÊW¯‚Iq˜£;§P`Aµ”—]¥b+òw 8OÏТúÕ½›S"sÀŽ–]¶“w@hÄ S©¨ šu+$V’R(‡¦”á§ôz8í UF Ævûª¼³ãµF]#\¥T²”¨":i¨?ãvŠ ™à0ýÍe¯Ò(&‰xÆàבâz}Z¬0*Aå¨Þ<#¯u[z;‡°‡P¤ÆÖóÈQ^N<³#¹‚!œt¹Ï*XÅÇCçô=ãyY©OlL²”rÉK1±œb!<}¿í˜Hô§b3@’C¾ -`öêiçq¨Ž–TÎhc*,D,Lœµ(3?x¦³@Æ‹öcΨÓÖN%äAí!+”)Vl¿UÕ˜rECäÚ'â{•².w£ƒ¶ºÁ/žÆEð…¡D$"ü¤ÍJM†G(*„Í&× Àw¬íø¯D›UßSÝ2 Ï öØFûŒ~OmÕAs{}5¾âëK£×'a[G}õL_ƒ"¬)À -¹±Ýt~+$@éDd%Ó¤²°ÏÚóɤ ¹ÍïV@kúÃUn@€§Å\„QA•'uäuŸkuo Šó'‡l@£€b降æ7õŠè««F¡:m®Ë\‡1qB 13è–Ž`Yrt°[z½nGÊ cl ŠœìNBý:x»%½€%mâ4!‰÷(‹ç#$Ï@@Û¬6•‘7KNŒÃ…î2­jŽ–¼ -ÓZHaz~÷ÐnøìÍ´?j:þ:%›¶Úè®¶ñ%°0þöGô ¤@ãñÜeàïöƒT•/}dœd7½ËbP†>t£]Œ´[.ä¥`K€þÊN91‚qÑS¨ˆ.-`ŒàÒ¾lA…c - E&<õ©+\n‰Á@4ÁFØzÃLtók0瓜•*~ÙÉ`ãïÂÑÈâ’Ó´ ñ‡ZA«4ªèì¹MA.§°C©µáMZ¬/Ë=H0™ÕÃ…w€Åéá"!I›ù­÷Õ¯h˜.·C]›~[›Þ´ä¯ÊN*‚ |çr^;9éÛ“£Õ–ô‰yÄ>ëL?ºÌ™à¹jÂîPL|pCÇV@^Cáœd|²Þ%Ó¿%Uô×Ôÿ&—Panæ ŸLþ欱ÄïÏh~™ATèÉ)„“Àd7 í0Æ“ŸÈpgQ„dJ‚.§ü&‚Œ†{ªS*»‹=¡Ö¼0¥‘ÖmE_eÐË7.VVáZÊšp¶žY¾ù!0ïõ9¸ -wé T¢} ½Ó:9”‹ -’t{ó®50îÐæ0‚¾3¯¼ž·þÐÑEJ*~+é,È0^¼û¼Ä]ÐUÚÕ‰¥„DgžCRŠ]Ôšt˜å²}`nùVvBÀu½Öù´y~ŸmÔt VŒvx -j‚ºèøÙ8´йá—ëÍð¸VÒºO•Œ`ÞJWDdåô °Ü'»ôßäK.Kï-i –VÈ@#€„J'›—¹oX ¸žQ !}·MV‰äLC‘ÌÅ”/ÔpaBì0û.Ùªj­T¢Ï¹­f¯)«ˆy+c¸«§™%dA¯?»ÑòQ°Ì_\ÆLÔŽ`@ÁB¼ûòœ¸¤—P‰„Y§|•.¸ŠÜ`Z¾^:s½¾äŠî+0ß2z 0Ƶ¾ò¥êßÏ2uz- Šn|1 Áª‘ëÌ¿}GÓ!·Ø"‰mqÖ÷é{ï‹y»ï´õl -űn3bè_5ÆÐ/˜"3¶ ¥¹×¯º=«NÏü[‘²÷)ÝŠ¥7nüìÂLçHÐEµ¡WT”ìËÉ,¬“4(^¿‰°%½ôf]èÂKüáÜ -”f¸­áë5—eÅSg¼ ¥#ÍvV—S!¸Ñº$Œ÷²èÔèÅ41ÚÄ}rÆ$ž€aCkñ‚––}¸b3¡-=çüÕ!¦vÀH•²&íF]£ÈeÎsìØò"å´q¬ýI%ÜB(§Â/ö’ rñn÷zó&óÒI˜˜LZRIm³‹ú@líJ0±é\tÇ Œ„æÆ4;i—DéåÅÅ­/7kF¿6¡¡’`„ÜÆwŽ IO“™.¾5¶¦p”|ßÊ&9Bå’‡añûf·QrÜŠhúÞ(]/(#)öbT¨D>]€ÿ÷uÅ¥¶§Áx—DâÐ\‹")MÔ®…u—dq„3€â(Y÷ßTÊÔg>’Èu(tAÞ¨re•€Y|ÌÁÅò¯ðèéÀE8*Ûñ˜ë֦߬ôü©b‡U-¿(Ü߇‡zaiß[p rd!N¸ãb›zð)g‡š$Þ)–h%#™):±ŸK8jœ ¥õòƒRûÉVYä3óy1ý"ИuvÖ-c&G…~œfû…ç×i³¸øq(‡R‹%AšŸõ%:ü«fšÍ^ Ryã7 àxF”_:®q5Þd‡ÙA?få6!p?œ¹ó pïËF-kÇì(0«ž„FüˆÃ¹¡óJ×3ZнƒÎ\àôu C'J–¨;œhe”¼`ª zB’š¥yg'Wñ»ýJWD %Ó›ÄOÄí.DŒFP®ãáˆùMfÓ€†Óþ fÿ+r¶ß•ž¯ÎØDïÎÿ‹ÕB®©Pã¼ö%¬qßí¸%KPDL±Js‚éœ9¹•hi˼FµûÔ„ˆl}Œ² ’)LVºSö:4¤ªqÕåßwµV]|r¦b– …TH\¯ÁX/B‰Fsœ ÔoµmaC¬H€@® ãëÔDCˆÞ<8®Xê?ö~<äøº&»8X_/™~bÙh8ãPI5¦«íKõùX -Õ#„ d,㼎-~†2KúaZ°“ 6›¼´L-ûý9îÏp57 ØCó(-vŸ¢e_ÖÐkø°$·rfEϲ0çY©é.ÚéG¹‰„¿¿Y;p(¬òkSD2QÕyæ¾&2~1E¼b …ÌLèA'`1(q«]bþ‚­!ú”UVưä]xi8>ô׆х!'ŒócF㉭ÁÊËô™¿Ó57²*>Æ`ÒÍ]jr¾Å³áóLãPŸ#fï«šŠ›DƒâÊÖs2è,`6¶ÐA0.ºŠöår ï=6ëÍÌ‹)f/ÞϯUŽâ£þX´¡‘‰Ò ˜_âq¬ '4Z@Vœr"ÈH¢#Íg&‘Ï×k£+§$•K‚nd•(Ó®Á¸cCƹò°qq ËÊÄ' JM,øeŸÑ¾¸°”*„ò·„r3ܽUõ¹5Úï–+î7öíå×´€TSýº­ ×!e®õ³"n ™ÒÔëQ u‹™‡™6“ý9ç#/?«*™¼o¼q,žäG±0Bt€› ‹;ú÷:7 Æ!Ç‚j÷ÎW`G -’6ÀXu]9à úÒæ¦$bž -¨d1¤9gkt5¼,„|lh¼ -= ÔúpŒ8y¶l› -¨kƳB±‚ûýÇ1*Mí­"%©ùØB‹ *b‰NXô„d†dVyÌBÎtê`Šåx/ÂVV2ä±øÈm4Ø£ŠÞšèž"¥¼n¨‚x ã`€ŒÏa†/Å\¶: ÛmŒgè -Šw§ -”H:2Mf±JE] -ž¶ƒ¸ãêhƒŒQ"Þ v1R(}H[E›Zè†A!ÎFÛ°ú¹sº[™Èƒjè1K’êÉm˜·#b@+ÍAUÐ2“•É’y†b¾Ó"…›å䙑ÏW<[§\jT÷RS†wÞ -e,²Z™h‚¥ˆíÌ igÎ2dB)`Õ% I†R ?¦24¯TxU^9¨QÜl„ZSd=… -•Ô¸·°¼ŠP®éÅÀÑÁP¨Šf Ç«eÓòˆš¹"Ý!ªN"Â;<V%žPÓŽ`Ì^$¡ƒ›HA§ñf¤¡¨‚s™Þ0ˆ*ÄÁljœM.tàšèe¡ €¶¿¨&†u: ‘GýT[(¡- ¡i5©@Pí²®…8ÂO¯BD UÈ"r¡9BJüÒO[ é Šoezzñ¾äÊ.[räòŒx_lÝžš%ÕØŽc#^¥ñ$²ø„($jÑŽƒÊ.Ç<(*ŠAýý©’Y (.fLõ?ã²i¢³5Äá -QôŠWí±7%|‚¦öN¬çéDèS燥բ,'Žê×+\q;ø"Çá"y%¨ã ³ð–4Ÿ¿¢1ÒˆT‹Ý ®ä×Ö€êÈ9îÀB Õp…jg„ô§#`f4  ^L=¤uà¨×>e"z§1©P–“„ˆ:0…¥l½®UÆšQa>Áª*`„¶;Ø=-Õ±&¼oŠ#f¥¶¤Y”" -æB^ó㚌P£ƒÉ<.¤y©Iaœ+Äèà2ÂQx«v© ‡oÉËP55i耦æ`³We°+úlSYËLÑK„Âi*T…vˆš§“8]4Ü A‘)ÖœV14,sXÍ%Uph$\Y>`aNì“ô àÎ-Jßbù˜"ŠØd£9$EÓ‡äÊî.$´#š¯Ê«-‚åF7´@PZ8æøÖh¨Ä -2¦/ÒLG(*,”‰à™q0CÛ¢R õñ¬3cù³ôt˜O Z´Ö‡}HHj¨ÌÄ*øÓš‰alKcF K…’0Åu0u*t>æ©»DM< -(ßQ®-´@ c'„‚*r¶.ô`ÃZIÄ LM׈D"ó€Íµ u-ƒÇê‰æ ÔßûoÂ4Ñ=¨™¨<‡4¥3QcØ•¤VmìJ§hxÏþùDСœ¤Ø„}ä5§%/žJäEŠ!ÍiÇt® W UÔ§œêÌM"FEÙ@0$^**•Pþ[–³$ƒûPm ºŠFwSÄþHÛ™DP¥÷åÚ yT‚­¡aú¡Q¹Œ“B2«>Lï E…R"U †Æ›!Þ:؈°,>„«A"Sô9½$Ž$öÕ§gFú!%hø=Ø·ˆP+®8•*–@T^Þ¸ƒìVXq(HJTi!× zŠ*Þ š¨ág\R´“)Dw”ÔJ‚­ ÑÓá›ÎAk£÷0V6ìmIô7£ôgt· ŸTŇ%qÊK|•üò™{Ó0‰zîÀ¯#H\””Œ¡µmeÖõ놗… ùc¡Ü‹;¨¿P¯hfv«“JC-#”j„ÛsÃ%lÓݪ±ˆa$ªÝÁ´¤meBÞtÁqmòVsLd.Á˜ `„jÊ'’Ç#5Ê †‡O’”§5ÉÁ†žPŒS¿`i3ý¨Óûh`bc(¬¥K,Ì(•ѨSß¿ ÁNñž«Ø‰Ð}3ªÆ3­‰Bw—XHb"ªE"Ö»£^1 -Öƒ¸c©IíÞ:!­Ø$¡ðY¤íà¬S“R Óïþ—ö«ó‘훡¾Á`šR„ËÛ-Ë“®w  Ùa¼ƒ’úÈC‹%³sÞš U" _Â@j ÖßRT/Z-ö(6ÁÕ@Û0Ų -VépµåÙ„˜zóhSa)ŠòU¡½+j¢2a¢Î÷&à³…“éUáD d‡—a$63ÙšW¡A½D•ˆL±ˆ£°?ESIœêÉݶʋo£°9½\™{B2øÉôHë¶›DI©¤¤Õ„©ÖC½;TŒ°÷A¬O´’b M …‘™âƒºz!~EPgé&*¨!Æ¡ÐElÑø'jl Ÿ¯Ø°G´yf8QÚ\ôa?dV%,y73Sr`ô1ï:­{oŠž‹V±|¡ëVÆöI…Íù©+›‰‰‡±³ÎDóy3Kà]SnD´åvAìÜ.õ¦©;3§ƒ´Êõ½ÏYeŒ‚ŒÈTÂ\Òë#®C¸!÷s›Iý,#Fú¡)K‘§ô¡ž2 “ÝA[ŠiQ¡ä,b ´•raG¡"ð¡÷¥õXJ~"÷ÏyÙÿâÀ7>÷”èÑ—¯[/>x^jüÓ ÎÄê§Î t¡ÌXj ® ù 'ÉlqÏ3ç.uî±bTS¦å áUzdª%ô0Rc“¡¹ óF‚î (¿A¯C 7»Pà¶1‚8QÆ[øÄÆ%¦-Ò±ÐZ¹‚ÂèA^HLG½fáD_ÑA$X³ DïvkÆBÕWS`=Ó°µ÷2’ƒ«HëiHÊÃëqá:BNz+6Œ5¯ æ8ff,„âR%DE%aÈ3ß!$A¬yExɯûY¸B Sr°!=(†Î &Ee‚9˜¾¸3˜ª<ª r@5R+Ã)dbÚà8’yrIè$ŸK3ÈAM~‘ÈP`D#ÜD˜6þ¸(,Â(…a㚎F° ppÍ×:‚©s(¼öM›X…¨K©ü¡Ç•ã`Xl„9Œ.!UõrF -BìLTQW ø$„Ð/áÐ -D/É%ãªÆB}!–!ï3Å Z«eÖ˦ ¸$ÈÁ§fN(·TþxPƒ|**†y2_ÿZã`e™"j)ÌÁÄ56ÕuT ªíÀ¢‘P…¢jWô*­Æ3-†ºÐ•”j!h‚P,jü‡¤ô¸Š3!fÈRöPå±4Ê•¢¨k>2¾'tüi ³TEŠÞªÀŸò– -G"f#+SÒ©2Bæª -j„÷19´ŒôÇ""2Ý -m-èäoøB3b”&Å@X1ÿÄü{ygs°fH• Ú¸ (:D<üê˜&#€­ØËí)›)ùÈu¢O)i F ÆÁk6žŽeãBç«G#‹»V:Ô¼ˆ %tšÀøÐ@ЕÉà@Ä„v{Å Km‰XPP
iH`["½W5Eäò=í[hÔkÀåDQCì=GɈg¤$ï<-‰ùîOé¬A›úêE^úhZøý%%ùÞ*Ã(˧Hþ¯~Z6,Ë"¦¤a (*Vÿ~Q¤(©Š¨† ð)Ü`‘áeœî•ñ#^(¤‰Êp=Ô˜)&0: ušnñ1=_¤ÜÔ~&ì?EÖô LW0ñ¬È5Cí‘ `ójpzÕ*B<H”"„/o¥u¨øˆÕ zV@ñ•+ Â`L'Y?pjà©*™ -1 V]T©®¸˜0”(0ÌBfˆ$ÖcfgI )¯Æ{&E¡<ÜP'LøjýÜU:¤€¦U#²jï"EÿÌ^¢ 昘µC‚‚VA#n¦Á.2òqV#R±4¨F‘$“cÂI‚ÅÃHqA£¢ì*äA†7¼ ¦€]­u¤ <öж[Ú}a’‚4·èÀ€ ÆÀäw5ò Š*Qó´$xÌg1õÊ'¬‚ÿ ÑØZ&b>‹`ß§ E2ÿ?.)¡÷0ç»2B´q¹ê€š¯Ùë#k”“F«Øá’Éê\§«¨Š®!Az'q^­JU¨e; O>Výù4@+£àAc¤9ì 0€àÜÃÄéå ì €MÒh…TDq°òiù•NoFl*€æq@{îÂlªYD`‰•aIãÕ*Ã`2Ƴ½êTø(¢uLÔƒ&¬™NXWV‹VôdR1Ô~ꄯ³‘¹_Q·ZT3 -;Qh–¿ë#Á]&ÒQ%Áõ’K¸jÒÒØÓ ë.¥íªX£¨$H™ah55Q¤Þz„—K†Ô¼h<t‚ö+²,“u­ƒÕMÀONTxx/ˆQö‰©™"{h¢È#r{ð-ÇlS²‰\æ Ñ>æQ ¡L_aÔüàé*ÆÁæ"L!6vŠ›F$ÜE¥Ó·4­Ô³(‡)& •$ßX£Ø·˜M¦¶†]!áã%h¨û§)šD< †ÌìÑO(ÇEžPEŠÂqPŒ ! QÅè¾–RH…á˜#Ö ßŸËOõ9—M顸hí!j; ‘L:œ'@@Ijìq]‚»-q9eÌ{5ç6Ü ÅTˆlâ߇? ¡PÝ6jù¡Hf‚¹˜@#"õӟƨäÐ -ö¹—NÑH - ãp@x"”ò€m  8(’D9bAˆbÀ@Î*ÀÈl$é˜h(ýîÀꊪáOÚÁD&£¤ßS T^øÓsWÎ~gS6VòPy!L´JÑê‡f•¤>Úú3œváôÔk `C’S.yj ÿ@ÌÚ5¢¨ÄöWMå³ :V£ä¦y¤*•äcËcÖ!5†ž… cëãUÎ ÒYø•â\à/ˆ¯Mzï3³Úš9È üqãª?XfܨÖ>^ÜlÑ?6IÒâm¬°3!„4(~Q‰àÞÙOì~?’ãca©ÂD”›´ÝV„øE•Ùkfê¢õUinËá†{å6|¥nzã|7’ðŒhdó]E´Ô©&hc\MÂmÈ÷¾‹Sá]‘½ª$Zg\Ä€/‚^\•ÇŇgý«vr|íc|h¢M¤ ûI¼Ù»àcÚÅ#mE+­<+ÀcËXšÉbáEÙ3ìD¾«×%¤÷‚1¸ÑÇPœ”å00ª&!ãE+é0“ò§›7‹´à[[5ÁdYïPÄ{aù.åùÇk+5]lS7:ø¯…õD+pLô^ZœgQmXŽÑC:#Eäi2 ®Â1Œ-tòÄj¤ÓHZ@V©UañÉøÃ +ð)Â`9ÄE$wþ¥|ƒŸ®mÏd^©ìÄ_‡Ê‚f6¡¸\&¦]Fö ¼ã êñEˆlÊ@ :NéYH—Hï¦sJ£¾ÞY+…úþÆ?"cÕSNÙär:úoÄ<Í òd 5BMÊr´—› 7vHö\É`•‰ÌÓ‚ݬšÉZÔŠàtÝñŸõßTDrʃ‰—)@拃¡-|Ñó/ú Ïh˜öµ¥™yDÖ*l ˽†pÌcÉ_y +=˜%”ãou¦ ]‘KY`Z’ 4!^.»©¢zJ_âVCBNp€ê\Ñ^oÆIsbiC¨Ïµ;õçGé½u•^»šÂDt–{â€|„‰<.IµÒ-ݨ˜„‚ís d/ eú‰^(=h]Ù@S2ìþ–Ò¿Á+›ã%]þ²µ–žo–™zzÓ|zºcç!~çšT³R“îÎ÷ª¸2–?1eÈ0Ä%‰†õ?'ÂåôN}˜] -H 3ÇôHQ˜U¤9ãÊJI</mñ*÷1`ès†÷S—ÀŸÄc6?ÉÑ -eÒ‚°µ´<Ö'ê—‰Wú¡¸Ëw€»Ê}å|EÎPÀº‚ÿký?ÓqJÜçåÁåäü=5êZ²Z-ç”×R»ŒIµF\AGnvµT¬›†(Æ+šQ¢E)›– ©6¶&ÍFÁý‡ÞÝå±H‚æFîuÄHC²¥Ôr7Õ25«ùÄÝ1£ÃßMêÛÅ EåMì$»GE ŒHs`Ã.æ&&"íYKê]LèË¢ÝÁ. -€V“)¬ÕG:¤ñ>‘u$Qû¹hW<-Ç–¼ñ¢×Un:Á -¼êu1úÿ4«$±õ(Ÿä ÚîØè¥p».¦7c‚Ö„%« Òº.ú£ß“ŽuÕ/»}°âº³O?ƒaO -„Z /ãxF;ûVx4bÌeæÜ«T‡¼×É8Ë~µ¤úÛÊ2¥ì™º€ì’ò¸\ö?Œ ã:A$w¥ §¶LBð?¡(ÌDÎ+>¹L£ Lý ÖÁÃ!ÂdlOÞ‘J¨éÍ ÐaNõüض@ ô™òîØ‚”“l•Ëÿ$tû0€b'ųP†ulÄó„aŠÆ)årj\÷?»Ìø0&ìÏÖ7é{é"ëÿ·ˆ^l£ÿg k ø­LR- ‹ã²ÕĈmˆÃ-lGSpf@&áçƒrlV ®ç¬B”n«ˆ“;eÆè°U›ãª+Á2¥í‹ÙÄbØrtuT­ÒE5\öóí"Û]w0^NÐÃf[eá­èÒð•Ñ, -(.‰ ¨’†>˜•Î4L/1e²ÐY©Ú¨èâÃån<2 Ñ£õÑØšLDûå: ]ˆ.°ß¬Rú­¼-£X~ôDU¶Û–²j{ÃPžã> åñeÈ5žÏ)*?¡ µôê6“X×4U1_ÅÊñÄöÀW¾Ä^Ú_[À èBïÀ=È/dèêáVÏõŸ‹æ}\3,ECJ\ÍZÑ8\9Ì[ù¹Ø‘´À‚/*ŽéQ*ƒm>)f_—ùkŸ¶Ç)ÕŸ Æ¥Ðó\ŒîêF™t‘¨ÝuJáËmb4¹Ýƒ†,°Ól̦5à‰\r×uA|‹¡7àuÇ8ÔW®³ ‹8A[í|ÚsOAƒæ"™á óˆOuJÀ“ZJg¾÷«há‹·Èó­+Uè¨r¶»ägn^f¬ÇÊ0×]¥F2ŽO47fN¥^'¿úõž’·™o2*Fœ)ÝWN°"ÊÄjTÍV@6›Ë£d×*i^=ÿ̤Xð™Á¯þ£ VÙ™>2ÆÂ;ª4O@—C¨-TuØÚiæ&ïð…L(ãÐ`§¤±cýÜslû\¤ò™×LäÚÉÔEÓé3HK»»ÛËü]ëÒ˜˜n ÝHN¬ŒYx…U^–=‘!Kº¸£h¾?Æ6Ï[õ´ÂÅÒik$2Sµ ×Âcš!áA¼|ï¤ -Œ×Ûp¦qø2/ù—ÕSqŒj)¾³°9¬ìì•®£J>uJíb -.í(ܘ»k4ŲZ¬z´ËÞ×QÐuÖrpÒË_l²œËfI‘s9q€Ëßî°<¢›cô8Æ5äZ ¯í¸3 _%b< ŽUg fUšÁ¢Vg O#Δ"~Q±0!Ê#sdK‚ÿ8c“ž+\)gœ¾äƒ›dVwxvUU ‰¨GüyA§-Þ«*ÿ4@(…í fø&¶JØÙÂ~”v‚lÆ èÎ…áÛ)jÄŸÄãSž¶Ä…}oA*kOwÚ#3ŠôÚd€Ï?e¡çEØòÆ}Ì£º¼a493bÚÌ”Ð5W÷1/&wz)Õ¸,5Üö>Z?â. ¢ô -ð¡:™Ž u™ƒútm)~†JÊ‚\(&x¶q\wŒ&æÊžã€(àƒÄ ä¹W„8m-µm¯MMSÖSÃ-+…¼G«»Ô…t슫e -(2Åû;žOä/Ë‹» BµDg“íåö/ñ 5låi>€ -éÂiF…ñ;vÀÐá „Ô;§1O› -.Â`ÂYމ­ä•J›ô>¦ÆL^¢©kÛš`°Ï<¿€S„9}Ìë@B¨¾.T9í Y â1UŒS0{®>$/ADmÇ¥\JV€r©”½tl3 C*$`’“@•U`¿é£SÞ¬ÚJð—lÿFJnÁ W[-ô ’hP¥ q½ØC󗦇<1R{"Ãsís q=¹.|„fR…Î^cÑ£K‘~IhÁ%µ'y=—‚ Û¾îùC]µ>F§@Ó·íu¤aê^©ˆ³´!¡£þãíÍ;¢‚¸tÔ < ß—Å"GÀ}P$±©7µk0hÚpÞžËÒñIÁµÀlò¯¨¿Åb6QY7ë- KÆáq–«ÁCÑ€{‘.|¦¦³9ò±l,å“Éü¸-ŽUA‰ó“†-°Ý“ÔLuþ¶àÇéÙ¿G‹RY§0Ö!Ç ÊñûÉÌ'hw$²¡– \ ™ø#“¤ÌüŽsY -mKʕڧËÚ0²ïÄ•§îÆ@#̶Ÿ¼ý$µyÁ#ÖxŠ §íB„ÀS‚Oë|21ç<”ø˜z“ü9qsÜc¸e-h7зæå®‹[•°»)KÍ:ë…}¬®¬I -X¤¶îÝ Ò~Pgí¨®,›ï¬âzrMÍ[š (1ppï,ŸÁFdÉuŸýf£|f,a¼VcFघ«–è(Iì„H¤´d c…ªiëc.î‰á"cW63ˆb‹fê~Q}ìþ32$çÉ?°Ú™³.bÅm é.km ×rlÍ.>ЃqÊŠï[KÅpäšÄ¶Â?ÀEZ(}?„8'\ì÷<Å׺«ŒýSD%\ÔøÄƒKJSÄ<Ý) ÄHPX¤n$þ$‘-ƒìx„T¥OrBšòòòKüîÁEô/Ùæˆu(žƒköãÀÏ ÍÜ“32$7 .6H@<ÅÁ .z¶QÓËwTû -.P¡3Êp6+“ã8¬ä Ó0œ¶. 4v (ørT(ŽJÒ6ƒãŠ§Ã»s¯‹*KXŸäo©ÿ`"ü`åg>®aܽ}Ò¤"2ŠKw3Ÿ¡³ú{žIu_ »Ù[]Ùç+²|KÂN±§hXi¯RaÙÑ;"gƺ#ÕÔRñF ñ:wÚ@- çwDÿ·S£$›Ö —“MZµÉå®ëUÎáY'nSÎüêñmQ{“ϰÇÚÌ*«+¯òênâEnÓd”¡Mëͤû¡Žm19oôÕ‹¦¨kÅf£Ú&q¨°§bhF'²™o¼Úmä1—n¿‹´RЊä[82¦ŸYêµK,‹¹ÄœIس@·¡-ê—*b‡–ï-¨™íÏÜ&a±Á;àS@ö (oT\u÷$ETËÓ)û)¦ *Þ‘õâ²£„¦íØ/‰ëfKÔÙ¡ÉNå#..)›Ûæzå £kic£g˜:½7wGZ:|,ù@ ¹Nœß…Kí‘NNE39 LæÖ”áÚãä´ëƘôA§üawr¾Z9KÐ-ÈˤÆà|UÙ2’O, Ã( ¤Ó¬h/X‡².‚T…Àؘ¹¾ð+òT§óà~p@ƒw ÉËÃdô€K¨åYêœb!©âBr}:wp7îPÖ‰m)- ƒ¦ÅÇz© úÁálŒ‰{ðñÜp–˺±”É@ Ýy¹¨•å -!™nvc+vµž!¦@×á¿Ê#û—oŸ”†Õ$‘‡)e&îŒw"Ïk&|Óñ¢†oÄ2q9ýá§Óæ{ðxJ“æLc &Ò.9nµ“}ŒÑ!‡ñ·xÿ@âv³1¿Ô¥ l8¢2wí'^>a\ìê^jO¤[®²¢ö´[*tìþŽÿ2Ýë`ðÂ5ãD ³ÊˆaO’@"ÑÊÿ Æ7#Æ.I£NèXéÜ¥O \…ÖGçÓ…Í"÷´Ûð7’›ÉšÀHÝÉFlÐ)sø-ŽLnô:~l@ ²Ã)¯ytaꕘÏÈÎÖÄì:¹§+¼’[ìŒÈŠ„ŠÇP/´ìFW‡dryŒ ê) &kñÖ@öÉ\x£úe8r1ø'/@ÀrO¹0ŒkBcŽÏ$ènY?8€˜,÷4'ä‚‹òuáovO;­—¥tŽº6 ŒÉ€‚H$»ARL3è iSØx¿Þ¦ý-¨g-ÙêfÇjà:(•i_;{sàHtÐÁ†¯¦sãéÅ DÜv¶U\ŒdŸõv¿0ª]˜Ê‹hêjšø0Ÿ#%ç9BÌ7¿wÊÏšpSÈbQß<ì(p­½Ze‘˜³R\õ æ”hÚÍ®²T«Wý4¢2žœBX†îô(Ê”Ñ;v‘Hyé¶áa.$(²áæòÈÿW´ü\Ñ”nE-·%1|kšKkcÐÚ’T¹tŒâì+(ZçØè³%Ô2ŠûÌ/³6Ü1¸-J]„._­Å³KöÉm–v‹ -æ,‰—æuáËÔHœæâ"¤dä3 u ornróÄf¶'æDoƒ]€Óµ† -d!›Û‹[x9qà‡P%B»¼2—ÁYGBý¤YÍŽ&ÕºµZòî^Ôj7¯#þ?YQžUÇlÜô˜û­^Ü¢!ŸLÌñep8S=…ˆcÞtÉÓöt÷AÓ3U‰H‰§VÑJTD+¢p“HAO:HQ±G¿ÊóOýÝ*eì_-ÁoedT‡Œ² ô-5¢FÇü†C±¦vW»}T`n¾U´L!šÌ%z€•{TYË“ôk[°–^rÞã99 -8ÄY‹sn|œ2Ë:¥." „-ì5}ÇNÉüRÎô_•2R2«§‰ÌÑëcHïÁÁƒ€ˆÄŸ$šôƒÙLä¬v'«È"o×Ë 'ç=t—³"B<#xVi‰ -(9 †Œ-_”Ø!hì« 0ïW×_l†¥©&çsâV1¥HÃ?ËÒ³XéšxÎl°+aâÊ Ðp@:ÂãÌkÜN³öã³@ì?Rk(>$,GßP;YϱÚãØ’£À Jùk6œh–¯‹JµcG< Å ZŒë È ­G<˜TÃÜ´‚‰ƒ±ûü"רÿüôÏZÙxðæz&ÊŒ3'r†ûüUCC1F}<@Ñýç`qÀIbØÙ -±eÝŽéûDå°8%£mIžÿµ|ij^˜Žì²_¯Ü“W[yÇ¿¼2x ˆÂ¦ý^j”<^‹f v³tNãB0[ä÷éBäFp?N}F¤ì¬͡ެçðÐË+Zò£ÿ -ׯp¸ëýƒ„ÖË¿‚óÒ),Žƒ5ZÛZ?Š0Âj!ÏD)þ=Á0AÿU®Ö:¤yñ§N;¢&áhòLbÍ”(Ê›ëîu‰¨ðh -L ±š:«f@Ç]ʇœqaÝ£uö†ê<Áb2ïõ`ðMx,D}ˆH-¬à ’j2/ÿðñ ¢ã ¤NÁKøð…ÿ†ô=xY•›šxÌÐÌÙ&1ûW8ñ„¼oØ1½•,SI…óuk‡)OÙÉãÔ -b‹:¼Ï”Àþ0c®‡o8…%swò´FS½2©jËîˆ=lL ƒÝ53á‰àÃŒúÆïŸp²Õè0À ^ÏoZ"‡´ìbb¥w%œ@' =ÜþGÒ¦r, à'øê0p1Ò_ïö19ĪGÈ —ýÓñþ©$Ь^WW¸pƒªh¯5ˆ¹$6ª© -›º §Ì‰¯pñL=w8ªñ4‘·Á\ Åi‹(Fš”u]@šâiw>¬ŒÄ¶y‡4ñõÐ_,o½Öã@þ€f1«þ”LÐs|Ûö¦¤¸‚6tJ…&'Æh5âþé,ÀSUAê V9¹Éº§¶p½#~™É)Wqxê^ÀµœÇvé’l™¥ÈÒ¯öùÖöCçÎxd½³{{ 3H‡Ÿ|ªÀK„í¼B2ï{Ðpq.ršá诶h*©¸;Û±xF×zXúú$-”ªX*Q56ƒ¿v€9¨=£èÅßS·¥æøUli¥X|¾ÔÚ,iv¾Ûê£Õ/¥#‚(–6þš¡{!ÏzLÞ0ã'Y ×_ }ëÞ%/ýˆtK°!—Œ *‹Ø€Ÿ(Å$QØ`" gcNuÙØtz¨¢ZCDõcÛ k bpNy˧E|+D´3Á@É]Ô¾,à]Iï`éyêD?qÏA° -¿Ù$é…Èü§ÝªMÏ’!hQvnƒ{°;h¨ÒFÐm’Í„2ãg¸ôûö¥xµ]AƒúcNö9Ì'?þ¨ñ…é:]†H*×ÂsIvÀ¾&Q·úeAßàÿ.ï“'¼¢óƒ†~YükR4 ~%ÔrXÒ!â·ðpÅ=e‰îù?25‹tôó %‚pr3€Ùg‹í1M9²pHüØ7wX>R>4 Ù"o"{½ÛÚŒƒ€Þ?›¾õ†²V¾ŒH® É@PÊÀç‰GÇü] òçýþ”ƒŸÜD›çÀl¤mÏYCæ2áËé~…ˉr×÷-8¢Ä%·©üÙ¾ -ºM?-Úñg©Ê#&b»aiö³¬Þw+P¡Z)¼àõ^ZÏãÿÔhìzÒŸ¹­V¥@'ìduž9å½èkÛ9^ž&º -‹Bã—2ï[ ý¤VlÂ}tücèñÜ*6¥ùGõsÖCýGë'è긟ºBÉT±IGÖwlTŒWìóÌ Ùkifà<žVÖÛÉË>ñ•æ+dÏ¿jN[v6I;»“ö­Ky÷#7ùÛ±™1¦8}™ &¤2–,¿H™öG=¸ÞéaC„ƒ…T?@ª¡Ñ>N7¦ìI¬¿Ð"›"ìC’Ï/_‰”:eûÃÙ%·¨R.Éj°üª±¡|Þzr¹÷V)‰·¾Â›üZúÓˆ&Í¥\-Ð3;üœÉmÆ …Íþ6€Á"%Ÿ.(=×ù•?O“²»A ê$§¼ÃÇc›@^áÞT¾Gpœ°±ùí ® î8RM©0,ô¸^Ÿ®ØcVx&Uµ]ΘŒ¹ûúèÏw9èÐPÖIµjlˆÇÂÌ£Qæv_J {8›Ý ”F1-ñ+Þ¹!šŸ /¥8A£G ‹ÅS;‹bFÔƒ”°_ÖHâk‘‚Æœb-kÊnCZê†7ædˆQSÞ5\Ü…APERXüCÊšg‘ëDì¼Ó}Ù -Ή¥ì™"o²¬ý‹N²ã¢ð ¹Gåp°HžüàÆœ ôDÖò‡{ün<ç¶µ­•yžÞF6ãh¯¢.W w°Á93æysŽ…ƒÖB7ù““ÜÓRºA‡Q²‹–4à¼Î°î—,ßèÕ‰™Q7ˆà%i»›\ -´%æõJr<Îj:¨b¢ëTO0"‰0³óং\È£± -åÉ~M¬ªÏÌØ#s%3š±7ZˆÝï51󽸀e?¥“ÏÖ¼þý)^ÎóÊ4pƒº¸HˆGY£€e³û¥ -‹5¨ä ¬2Þ/‚E¯uºü©–‡”ùÜÑE÷¹˜è#^ñÆASÑaäÊ¿{²ð½!¾«èïÎÝ•ž|Bˆa• Èà”" 3ÙÝç&8› €‚Jeúrð…`ƒW½.NzX”ü®ÔÀ§–~ ˆïeÆlÈdBñŽ×‚I#2RåõhzJè®¶Þ§nñÙy1)(_¼åâE_#­øÂúmï®Ç 3⥇FƒsÞ¯8\­£æµTàžñ§~͘ z„A=<$ÜE¨ggþrA_\á‰K”C¶QG‡WÁ´BàÒóbà¿éºØ»Ÿ¥~Zóh ¿­) O˜ÉAö¥ë`ÓHO€´ÕJ¤¦ƒÙê0=IO Mƒ¬¯óB e߀U¯lbØLžb˜"CBedž8_l<5'Ðkš'[UÌ`Lqqôb—d€¾´R@;MÅ3ñebuà¯)bfA‹zŠ”p¨úyêµêoZ®~8 OÃÔã/Ÿ[Ø3“ uEâ¥ÏÓ&ƒ^KCŸâ‡j~¤Ø€ðÖ§“Ï›Hb´Ö¡3J$Ñp!™ÁgÆ'@pŸe$© -FHy6O×åþ ›·MHúö'Æë®¬Z8ô±íàðøŽFm–3þjv©lÔ·ö¯¾=ƒ})BZDnxD"O(Nxç¥ìÂ{él -gXÂ$õÐv*×BÏÛÉ{†À¹·JÂó2óÙm™Ÿ?R -™,¶>œô±jÂGÁ ‚~S -#­ˆón*iF+l<|‹”eg"{µˆ&<>æ;Ž’é2ûGzŽI}€´…LÛp¿êÄ Ý¡@õîÕCõH’.¶à ŸÒÊ»c¼´/M#{§‚_ÉâlI+,n¸é»ÆÐѬrsùþI‡ÎÇ!K}r6?&†9Ð -Ås@žQÜÑÀiµ}4¬+ÄLeZã—×ê³ÅbuEm¦%B&C@Ïk\äÖƒ&Cæzžš±<¯üiöæ`& ókÇ Ê»¶V§|el÷|'9@< iY¤í†dÄg‡Ñ§&•ÏÀîàÔºªÈG4_úøÉkÖ(¶¿á 4€úÔð|^* -¿ß0¶Ñám¨IO¥¿&Y¦òlG ä<BLŸ«)ÑœGO¦(þU³m.Ý­SÇöy¦z]=ßÀkÌâ\T~.¶€»Æø:é¨}aç˜x:°@¡ ÔqacV‰Þ¹Kùmu4™+–x3_³ùÓ¤™S(âÅÅryÅ“FºÃnÍéb1”™…+ü’ù%s9KL ⾘SÚ|‚˜XÏ@(Áüžy’O/Ï_k§ÁÄÅñF‰3Fº=±ßS÷¥cÍÌ;ÊýÁ8>´ôD"§yàMììü˜ô^êèäeJ\@JºÝ%;wzžš5œ»Ë”­=žCÝ‘·ÿ]¾þ¸J›Œ1KÛ™•+‹ö7u½e••Û^¾˜r£`Ê-Š©wñš~ÍE?T„?óÿ +¦>Qv~¼¡ÜSÁ'_s­†ïh²*rGëX·IhªÞþÅç«ìÖ<@Í®´T³¿–,b$ÛJø4zÁH÷?®2lÝuÛÕ||OÔÑÔâeŠ8´‘R‘ˆލ…%úÂLú2T‹‹ðëÐÄùÍ ìëE¢õŽ|ÛëçiѬ –B:‚ÿIÁ®ì=W”<ÿs+;ºô*?«' Ê»{;üÊ·U±¶?Ý=¿R[Áwȃ³C!<ê…Ý֛Ĉý¹žØôçØ³ÊŒ?+ªâjÞ ¸õVA -Äêuÿ]'8>÷UXȪe{ÑtÁHˆ qF·' -epæ%‹u\Ÿš“ð#Aךì1…f™Õº@Ð'0'.I¥gdÉ"$¾CŘKˆ6Ñ¢E‰;üç,6SQ÷ZW{|ÅK•AýlóÆ{ðÉ3 ØŸ67L `±êY–—ÕFL¢äú€¿FØþ¢<–ç±HgÄÁ âóö8.ühÁŒ”‘­\ô$õfMŽ]Á}¯°ýMqYŠ.:ŽY¦1‰$E¦'1צ<9–mQ¸íƒÐû ¤G½°.pêrCWˆÇ@†¹±bÕUø -€dkš-¨7®É漑õ|—ñ—˜{IÈíŽcó‘m9u”3#ï -ÉI“E›€¬> h -—ÙsS…ÖfÄÍ€+^öÈæˆõ¤GÁ{eÚ¡P -¹S§ƒÁùêJ ò†£c=Õ£`ä2t ›=vVëWò%["–üôÒìBebåÐxûJ»¨Ópí6Ÿ“\ÍÛo”oWˆ±×gÙÍ+OL.žIº-PIÛ*ZÛ;…s=Ñ{÷rõšã€@‘=0¢5’¿=I+ÌC³AàëU僴+×Ný3ñ;«þ¾[GA¶ê‹?¸¦d÷æßÅ¡N+©mZ¾²š¡ðýLÛ¶;¯QþÆ]=/½[zí¢„Ps»µ×ÂvýË|¿Fs¨€âºìu&¥râ„q2±¬¹ûáÛiÑĉÍûÚc•î7²ìús«ú¯ÓNËÛMóc æÂƒŠé0©òîÔ>nq…_öF.ÔL¨÷ÜBª -],cû‚[FÉúdz3ÜLî®x‚‰ÒZ®Sâ¨èâ’úÌ] 0}ܯü)vHê…Êœ3o IË£§Ûÿ_ö^†¹ôa˜" @zE‚´?Ã3‡9ІRêÌçôPpJ-’¢Ã vÁTHÆ¢¤Kϱ Ô¦¦ž,Ÿ¨Þ†Îa`÷fîüªv½ÎÂüÿ¤Ä•ÔÀÃñHÀ>E~bÍCó7ħ3BT‹zâkæ¢ÿSåKôCq ³va¹†/_(܇¥¯Z)FÑÖ&’ -Šg£z.Ûž(t*M+„÷$ÛÒç?¶X7F¯Fè’^_ýu£tîcÆ¢‰“Rx½ÙÑ2ì‹‘/Âßéë¦ü·oeŽz$A  ŒB•'ßÔ”Ä - OM¨×_îc²|ê<ß-ÔÃlÂC–žºÿkoQ€‘ª(h3ãyHh_¦ÿtÛÙ¬Eüñ³¼Ù®{މ©­Ã(bü g›Öž¶]½C~8»2ãÕÿ÷á½h,,þp€˜sØn’‡ô†¤ò!ðáªEò]jÆØÚ̈´øvZøÑå^õp ¾~Žro(Ö3øÑä.&qq—$žN d-#OãxøC˜]#BOû†©¯ …SlŸi Ð²ÛeÖz¾*Óø€%p`î0¯'õn¤kíx®Ñ쾋ÐMÓ´¶æ†Lðsà7î6B¤ã¦~êDYâ-mËÂ-“ÿ9iÅÝíƒvÄæÅX%@!ñ«ËÜÜ^]‘h"D|žÎ³X¿Á4`è2÷ÏKÜËÛ‚MJ÷"•~kɺã‡Ó¤P1£X{„FXC]NõGÉ‹8ž¤'Êo~ýRw“†4•t -—ì\™ˆ»´³ðëNÝŸ1é—ñà{Ÿ1‹&ÈQG ³8Œ¢A9÷œ{“;þLVëZYÿ¥ìkúI -b-e+E=Ç—§IÃÕnÖpÑ4‘Ñ!í^ÄL33ZÙàÜÚ×ÞÅTZxNžÈ6I5ÙÉÐG|éT"n¡C,“´Ñäù·/¿Uj~qgº®±(\H9?G¡r¹nh;vÚô2ëË/Í”è‡À9p¨_ŸÊÖç¥Êo‡•œª¹·–#RAçÃ%h˜bÔô צ²Ð-ò’Éyüºë,´“¹2Ñì è±Gý¾"“0üµÎhøC°GÅÆ:áEºÔ„ÏE°²}ómµê#äK ¤%ˆsÐVíVj×=§¹K~ƒm?pê²4¬èÁjÜ¢‡émø”—s`{&Z&à] Ö ´Á—¤]²#ÒªëâÙ-ù˜–ln>Šß2̃¢ŽÂ70zÅÒZG‰œÑ²«Ž¬ð„A 4‚<³Zc[#@ÊG%º™’¦éKƒxvØÈø ™¡\4ÁÇînK¼¬XÒHüˇ³&­=Tƒ„2{Æxüžðvît‹´=¾¤x ‰ÆüpïÆq©0«}KsñrïÐó!öj À>‚So Ô‹6©rĪf€EK¸'ûÜðhá›g}YßXUŸ¡—dù2øPÞ°qàÚáždšÔbŽPÅ!Š•lf9øyïZƒ‡Ú¡bÎÓÝ‹m÷6mŠP³[¯Ud‚܉FTïß@ìÆ­? 5ÎÁ&*VÒ9ɲ0Äõø«ÚL‡®Ö­á¼>"êé·,¢AVJ@p)-»Â»rüöÙKˆÖV!mýý¦óH’áÌ A‡˜ÛÍ)»f2¨ÇŸÊ€19¹zV8c8¢FüÙhÙõºùùº³Ç0[.Ÿ¥j™–Óî<´ÅzÍ iuŸ™k1,ÀûqŸ‘ëPÁ¤A½¦þCÂȼŸ#Ò}['¸a¥ÏUøÕ†t>¯Î"…Y|ºlÒN1Üe–ç5éÀTFR™gÊÙ ä8 h0Âpf"Á:û[‹P}–í¼8~Dr -ù0–²<Ãj|!•ɧWˆ ä[qk²++m'PÂÚ=2Û°ˆ÷yüó -âÈ­•¢ùâ±ãB^Œ²–¤MCÓµ˜¤Ã) +Ëe/Þ³ë>Õ#c ∛o+´Äl -P2Ùã[ìTÏìG(XΚUJí`Öâo,’|nò/LÚø³+4D©hªg$ãñ^g†öH…ªµžƒ†âRúÚ ø!¤ïøãèü‹îÆÍñ¾™j+ÕYðÇí[ïâkʠ亀ù˜4Þݬ0 ž×Èý;˜Y?¥,µÑ.k|‹ÿƒ'|§”ÓÅü×ÄuŸÁáÈ1©¿ ÍÏt^ý²Å¤‘pšÌO´×ÄRdZûNñÐ+Ç ‡£ÍËÓn†Åg”Åöâ"‘¿vA}ÉÆÀ5øì£í"µþ¯3ÉæÕd§1ynŠê³,u$*o@¯eõ¾ʸSênÖŠ"ÜàQ®6µE1²%ŽUÿÔR¼ÞsŽÂo‹0ˆvmrº¨WÈxX”Ï'›Zò -1ˆçÖ¬¹òØ…ÃF_xhÙÛŽwE¸êRÆù&&iá3îxÆ<(÷äA»^ïï–Ø¬¡» iÈLÇs˜àgÌ <–`é%Ô>£x‹ô¦ßxtô[\ö‰w–²e%«Ý ÎCôgožšÎC1‰’AiÂofXÛ¡6þ<’`=þ˜(øck¹Úmbų¯ÐâøB%XÛóʇBo×b§ÐEi-*mÛûÍ’¸Ð,gÑY3v "Ĩ LoLX-ù¾ÎòT)ñoOÎÀLPTÁðtÊéHœDšÒëöŠÉÆò vK0Wÿ;Î+`Mˆònó< ß 0ƒ ÌYµ˜½…¨¦A%ÆHu8Ë(šÆÂßP¸áo(0⻪×/¾ª´BÖ¤´ÊâïÁÁÕŒŽx™'ªR£ó〱Ž‘Ìÿ ÓÙÒîÖ–;[”ˆ0ĦЙֺÂTf•ðEÙÓF*ú­>q¼EH5«Kƒ%à”þ…sÑËÛÎhÚ³N#í\'f -\aW!pÖDÚìî[ÒaLÔäM¢Ôžp1B/I'ÔC $˜ë†ó†€íÞ@Ævä-ÇW^=’Ÿ€¬OOsϺH ~ñ³Ÿt=k °lbsgü¸*”“ý«$Ú.æÂ>Χzñ›¦Ø[ÔÉà&Þ𪘟h˜—›q#!#³×ìÈ€(T•°–eŒBÀ‚Ò ð´â|W(1*Á5ÔÖÜׄ!m•JF$·‘ óH+Ôeê,ìeÔEbЦ4Òœ‚?†ˆIøˆBÍ«Œ"Øç »'LûÚßñUGàaƒQmØ¥ùý•¶ŽÏÓ à|¾œ ¶(›_m5¾ãјð½Å”<BNÈ÷Ÿ @c üÕÐè˜jã¤$„ºŽ ýh´_öi3«ÎY:¢)%›N*zF‰ÇgÝZ!?¨îpØ.¼¼¼·Dæ†êGl{-³1ŒY u—‰ q2¡h¢Ë*þ²{e§òzÏÙ`\˜í|òð“-"¿=/pB -öž&ßn¼"¿–à…\!ͤÀ±û;…’ªÕ\Û)Pv 0–îHk È!êßéÛË5ýtRj#’ñž•[w„ÏIV Jh’6·9Å‘½pxò;ŒC7T õ㨷pN’)l»v²ä= -LꑉîœõOó#X,DÛTØŒ–÷émÄ$9 GÞ"„ŠÃ\ÊèþOÃ}]aÒIól ÍΤÙΣEÆ%Œ,x;@Öœì¯5‡[íòŦ0ã¶kp ˆ`ûö’Äï9úÅIåeJµ3D“ ¨˜wjú?5Jˆ%5õâ Þ–KÏFc9—íñ¾@˜¯ŒTôŠ9š cGk`³ÖJ†¬ËGR”]ޱI&pã·ï25°;`øà©GͬzûÝ}c2Q<$üo¡ŒwÔçHw…É—p¢r;é†Q¿Ýâ)"47Œ4yô>’êÒ8mÍçý_&—uóLŠgÈaxëÙ˜‡r#êYÖ­¤ív¡ÛÐE°{%+Ôô=­Õûì‹3cBc=±RÍÚëOY+?@& Ýz«à³W³vw¡îËA Mé  »u×Pé4ùß©Jl܈{µ 8ÛöÿújîÖÈ$z¯Êwg;™ ©é€Ò·~JχDK7Ü”€9ïʧчB6#… ¶iñ¡Aóû&4¨Ó< ‚½ -€aö<;в¨¼’—Ô¸e2 -LC·7îˆvˆæ!µ$É'b È£³9Ø…úf\,_N¤ì74ƒ‚÷ŸW…D4ȵ ÑvõpüìWèno -½ËæÓKƒ¨ Š„óñ£‡cS‰SÅpþIZbìýòeò0æ 0§ojryö¡­Ô­Ž“óñ¨@+H‡<®j¬KÎo_š‘ÑM‘_G›RMsOe”RµÍ‚œ¸±p×@€Â#Wï9Hâ~ ¯ÔîÊù2ƒý/ÒÖ¥ä/"lL€ç- ”­hœ&d{¥ú,k‰Ã„Ìèð„µêÝîŽDÁÞ^¬’…˜¾&>TûÜÃì¯*:ãžbôƒ\¦“'ŽÁ´eå[‚÷CM§oœÇ³]Ë äç;¡Š»)0 Væn”ÝH—+ÏkÓ@~¦‹±#“·ßš»ˆ_xøvW ¤†³ ]û<âðì@-‡¼¹|Ûuô!äCÚ#h³cðöœCc R^Dj›~ñöëýó+ pÄ´sÛf.ˆÜÃÆ™fù€’^Þ*^N¼$(§ÍÌa³Ô¿$ôpó@š IõáëSòRññË9Õk¾=¼¼™˜Y|“*X¸Ð e`tùæµÀ^·âw7`ÆÔöa#v š Š­ê -„i‡jñ¨¾ XvT0z.’$®Õl #ur#àyÈe“ó;YŽ Æ3Ù6 tÑ‘uûÌÎí¡ÐïIWtާLµH~xÒYF2µn^QZ$ß~¸ gÑÑ‚ßQ‹ëypenØw.0s©Þ—Ò¸ØÚš6Þ)É[‰j7/‰0‘—“¥£^îM¿”x² Å,*ˆ1Ò±š¿>‘ 3MïdhóqîªBÞ "5Œ (±î36áÆ~¶%ÜŒŠU-×ÄÖÞ(æ£V‚Vr|7#©„¯®LŸvù­LËÖ‘ÔðF<ÃPG3eö¯ÿ Áyq°q~ñM˜äўǓC J>ìx~ÿO.ûâká\ ¯ˆòWtN‘}[tb%2G`AßÃB~Þ+…O ¥ÿN (ƒ-Ôzâ°â[Á„ï…¬>œèiAá{†Ã¹ªL`Iöaι Ÿ4W¶‘±¶Ûê¶9â/Q>ø%æ(8öÄ jÁ» -9i† J× °e:åàZ«Ú/g’Œt%¶¦\Y¬åV0Õ¾Bµ…?Í+±oG0fçš®[5ÿ+D*¡pPaQÖrË-*HÓ£ ]"ïûñ“ŸSû±ã „4Ñ*[W ¼‘EÛkl=!#­ö;+°~ l ÿ•®œaMû5b¦›)M±×òÇH³éŽ"^ -ÈÜÄD~Ö*Ù¯bXmAµyF*®÷$!'}v{ÞϬC¶)‡£‹üüw.G ³oi‘x‘'ØÃnƒ˜À6"™ÄNA¶yó» vê6ò+;ñSÚ¸~ cÚÍÙt±É/îs‘DsŸ³A¡aäMÝ®Ûäš]¹8‹I¢rÕïOKàÒ]Ç,-†„2C‚™U&]Þ¬ÝÇ€ŽÞ)Äà1ÞÓ6†ÇÐ;r7ãì:ß|r`ä]/g²üˆ¤I~-I§ÓÉ^lgGÝ×àøÔhÄéþЪ'œ³àýâ?ys–sÀË&õÆûÒ¡¹0']t°7†Y‰h ¨iÝ™]6Ä”[cÖÙ¦xK¿¢fGͲ°e'{¢"ªÖ£Ó)¬i]„j,qæã/Ñr”V6Av‡œ.—­'ïe¡º=Àâ’}2#S‡M½Ö“äVf¹A=0ÌZÀL"ß"‘ú·ò“ÅÇr§µy6" -ÔÔ.kˆ¸øº&ðÇ)VMz¤®¥ö6Ä”'ŠqKéP„G´)X­xbn-vZ±ÛÐÙ£3Ëeq¶%°ä¨Úú=ÒF{˜@sê žvgƒ4@ùÃ'fŒ,Œƒ¡6ÓP´bÁûš\ß2ÙÚPBÈË4 ¨ù5Þ!³hÂc9©Ô0#RSEa)¹ó;#7ýS7ÜøŸøÎÈ-l¯͡ˉ¥Å|³|û½Bˆ0f±ä0¥{±0aoÉ. ÷»öy¸ÐãY.½ÍÚ'TAö§AÈ2+C`¿–y 6À&®äð‚iJùÅÓ ašFn‚Â.›G!vßÑkô˜Üs7ér”Q¨v±ß–ð²uõ;ÓS½‚¦´A—΀hXX{ç%PlºÍ è’²X®(JOsC¬Ò˜i¦â×’.´ÎY]É €ßPŒ˜gß³˜¶ÎõipoŠb¢oáBŒ0ù4*ê)µ3«”°õƒ¥'U ¾Šþ4.5cÞÉŒ8X6H¬ßB3ˆ6ìº*Þ,5÷ÊZƒúâÆ`gwz®îu•0à^+¤°YªyÄLª9Vù|÷Aè®ð¥z.­ŒzlWÆjÝdž–ˆ±ëˆÍ—Tã£Û·.‚ö5TP\‚a•ã 5iñ8#†Ë¼QÛԜݾ¶/…šΚñ*fþX}½ ÔsŒ¶Ú‹së”aßüÉû6#jDüÚ$€`™ROågVÖÊsY6dª‹€7<è3±og':.Èiã¾ÅáÏQ2ïvaŒöx1y†ý8re¢M÷°ÍËDÍpšeÅ™íDù²÷g6,õ`Î&ßϨépÒ·jG$½R;ªÊô8Ò›ÌÇ8Š7#)—æPM¨íÄ'"~oËšP¹¨!ËWÏe©rèE%ï3õÜ“–lJM*qh‡Cë3\þëaÚVL °¨àpè4·u\YOox~öÿ(nQ†ÍÀ?ÍgbÍ£®-LÓ#x<稿Eæ){a(¬Íï™ÍìÇ1^½ÜŸbó yÖ$ÒÐ 6{ÔÜRÕ 8Tœ™åÕ Ù¹Ê#ììSÀKÀWV<£˜^´ T1Õç%ú5ù:‚7BÎ6;4Ë ’‘-FÑà -Ï-¥ÄL™o›É ଠQ[Š -cßø0¾·•J Zv«\¹GÚ-ïKé#ÂtGÓø·nå°½dÔUö¶†h¡òC\1D|mÏ.Ç`Ù‡++e·+dzVåÚ×Z”Y»„;(æ$Q,ã+¡ÙÑŠqw×apÅÅZDQ/¬¶áàNY·*ÌQafáVW¿”ª8Bíó„¢Íð™g/Ôdr¶üœž+s"×çk.€·¬¥õ×:4Á ÕRUZžÜ,©fÓZaÜî'B²uä¯Bþö›<ÇÚMήßCОwÉMUæ·ìÇä ÄucÝkàÂp4þe쳜N2’Ek ÕN—D¥ãYzÔÌS C&{/Ð4PŽöØ&™6p û¢MÀKÇJ–°æÝyŠ>ÊE=4æX^FI€ ঌ8GÏ|ä`Ìª× ,T˜‰ôÚç0n%¥ª€ ÿQ¬”Ê¥¡¨WÅ“Œ,ËA¥Ï8³ŸŽsèzÝŠf™Þ‘Q´sY0+£—‘JéâTW¼^®½FHa'N¶Á…áëSžºµ”¾n‡b–Š;aÅ]àZâhÿq%>ñЉ9ê}—·hžJ³Tý¥”š ©\ÉB‚·sF:ín'Ý…ërN`:tÎU1Fµò¹Ë\4{›JÉ«‘„ë}Þ—t`D|ö$—p¤ÁS&¥´äªÈŠ—ïrÊèzÈü…•K°IâAc°g@ëXYºaš˜üt¯|‡4&|!÷¬hO{ؽ‡B§„Å.èꬿ01ÑtâYL ‰jù)k0ß“lÈôÀÇÎH¢}7Šˆ0Óä@…³³éÄf"’_dM*, Q¨Ã1¹Ÿui%iæòÎÊqèÛ‚ÜLÄÁù"~6)Œ˜HŽ¡h±ÐûÙ †–¹›$Sÿr2í°{ôb—ÏgFð§Á|¬e®3à_q.r*–ý¹ÎõDHdè´.põ -ª8tÐv -¦?ó9æ¾j«5‚•_‚CŸ[]@TÛ•€IqYE—È»úÜFzR¼‹VDØÌpÏ Ó ÎÌ4”¢Ÿf½Õ*–=Ù¿êk¬SL¥^øšÖ= ༬l;ƒÌ·sèëܤn¡3X¬Ú¤g±û'úæ‚¥P^å'”:öØrúJq]ÿÔínKŸy-Ñ­W{Ó0Ðч²ÑžÜ˜0 A­ “#:bÁ}_wÆýÍcœSõ$—%Nk_-e¶«Ùð#”ùžÑ¾O „•|.¯LkçùD¶Ê÷íƒad?C6‡A°…Dk–æC›ÌS’5)± !‹0~Ý?jÑY¨_Í0òi(‡½ -‰C„BQr#ïòB_ PØ´kLÈ b5Ó´â­Œ ·$e$ö{ÕéŸ\_Ä›è«qF³Âß,›Êò'< êµz„¬ù.¡&Î:Œe‰ñåSê‚KÍdYõÕ†°g†z<˜%KgÌ)«³=Ä™¾ÃABåj²¶šky:aFÓ4ú ,¥©L>¦ê*gµØ‰¡Äãòóÿ úµ'¤¼¡|m|Sh^X¡=g/ |XóÔ7d7߬Ø(Õ Ü<µFÉ\Æp|@ÞÿRl¸Ó¬YäÖÜõ¸Éàêç6PãÐ4J‰#n‹¦†É4ø1Y9ZG³ mE SKAVY£m]5"®îõ–9K‹˜#N¿¾]¼S«±?Yr®”hÃýÜ‹¯’mw¦ß[ht¯C„f~°•ÙA~{î‰.c‘è3õYÜ._é¹ 2ms$+îQì ­ø¤\¥É`Ó§ Ã*UËŒ.¡%gÚT,Ý2WCŠx?´ZîÁkdè¢@Œ9&Ó2Â& -Åû^Û)þC‰çÒÁ+Má6{n¨t’øCuù\ìçgèØSÕ/nÓ -SÕl²5ƒ¦ÇÄ86?™†ºb6öÄ×\ë·L>6SᢰfDò/o#Ž÷*[ë]ë!›{ͧb C,dY4‚¾ÝŸ“@¯ší@R©Å0Ê ¬\Ò`²¢E˜ ¢fy%ô¥µ4xHW¯FÄ3a.+S§´é­fÙU*,8X3QkEzÝažvpeU¶s -«â3gL«q1°Ê«5Ä,ÈÌ2!•¡²ãé1òE®>J…°p?oÞ¦LxŸú„CT攨5'³:bñ~2øð-Ûá™æ¹ -Jšæ­"«8Ì䇩 f”¹{½|ë.|­{sÌ_Í÷F–¶Ìð0­añ%=ˆO>F‘ˆf:ËéÕãˆqm¯Ò.ÆxÞy >= -¹[,äc›9–T”!#‡ `Àè÷“nœY“™PNy,µLdx]ÂøŒÞWdà.‘餀Rà•ÿ{ÁøÑk{»†?™ “M ÉuL•zn¦¡kµ>®¥ µ" ¿wò—=ÚGì’šÑKo/£KcW–9ôߣ& Ÿ#9M~‰ÐZám(øÎ6ˆÚ¸ÚÝÙlèb¸_oÉ•G|6ç°{®wŽtç´©Œõ¹F€§X•B‡Лùj¯´à©Mh†AÔ:B^¨ÿ)Tÿ7b%tØ -ö@{Ëm^~Å3k1—:6¨³å‡B“LrÓ‚,¹>ƒª²¯ÍbŒ˜ª^«>¯#¼"‰.œE,¦[‹Aãí»â`®ˆÃ«ÅVN%UƒFŽÎ.XÞáBåPŠÂ-‡,“M6nq,ા Üé]Y¬TŠ`‘QÞVºTˆ³øÔ'’L}°tèžëôÁòú†R[®fiðéãn‚Ðrðþt.C F“d¡LJ¸fL de£f¾ÆÎŸYÛ³uÍBÖ¼”s´‹1=kP¨qv !?%‡gRîQÍü“ü;{(Z‚üXÌwQ0<ƒ{àEø%è/aá‚Yƒq¶à ~ 3¦¤f!6ÐGÄxÞ•}™'OàÙ2¸x¼33†;þX]¾1Xµç¶fyw|‡@ŽÔY˜?ÆÑßÌÕx:Î#!‚9bã ±hU‘M'æVHª7Ë¡®Þ6–©çD¼Ù]ë"Ê}ù,CdJUÐ\'¼ð%³ýˆ Óq!-Õ “—±´+ø/P ÁÊí’Ò884€æNHÖ«‰Ç´ð5\±2 +êfk"ÁP^@)ð¨ëŒ¥ó£ „yÖú#±àG®Lä~Ê#Ÿà¼¡Ê}YŸ“e¶Oܲx¦`Y4äñLöoõ ¥a.Ü›Øí€ÈÀÓ%àÚó]ó¦Uáê»ðÆ7œ®Á…k _Öç5,[AGÇòy(WNdP9˜ ÃZ+¼ *ðÔúRÈw¡· fó>ˆ÷¿¢9Õ¬ª«F=U Ä"ƒ}/f¤©^9tmÅÚÊ8Ö“0ޱ~kþGé0í>…¶n2mNÕ!ôš$/jWjÊ],|7–û»Cª! ëq ¡ÒŸµ–®`Ø ÜAGq–ÙÊ~yÈë¡Ê’8×N¯¯Ï ð²´L¤ŒhÈD 3 ;ÁVlÂ13z‹Y›2V_[øÄ™teGåI)„åcèHUZÂ8ŒØXhm´`I󢄮*æO Ë¡åý¶ï ½¹²To#ÐSS$Òe7rY3gð:s{ÅUY½\vÏdJ‘áöçØ%ßþêfG£](K‚aíX‘Ú¿ ÎfÎ -:,Ü=! —B:öVr´‚ÈÖmöǃúR,™Ù8ØÍr´Y^d)ó†_<ñÝŸZ–÷•sáœ>'¤Þ -löÜv¥|Y}­o$kBL…Öë|V“XY²áÌsff"•…Å äñ$ÃÆ†]ÑŽ˜Cæ%$ZÁ™™ÁÊ‘|³á=kݼåì— -Žì*ò¡ŠéÃ%vJÓÆ¹Æ…î;Ú;ñ3€ˆn¢¥yT¨ aZ¢~ä– ]Hó ã.öôåº ÉÏ×ÑV>c—-ÁýƒI&¥5‘£Àu¥È›€úPØ8]Ätâzd$£×³á'bí¡ÿ§L)«çGžo蛩mciÛ¸¨…‰Ïb%äÓ“,R¿#wʲY&·„>VyˆCž‡‰(vìY²’‹=”ó:^2hý\Ý=íÀì•÷ñ¬5c˲V-úp¶JeÞ˜»Á¶Vo·ªÑ°ï‚´‹±zl–ÿe‘lšf:´êðͲ6½cÞGWâCòÌDìrqŽ…d¬V©l§=}E-Z¬£ !oÚ ÑMxœäÕÛåÏšfòÄl«¦}¬î‚NMعrdÑ]q ¸%&L僜(ßèf³ãÅ”“Öo·Oºâ…Ò¤X±çY¶¾T®‹d¬)xŽé"xÓbHichx±¹“añv¯’5§*Ú‹b”âeçgkè¸ÛeÏ¡ñÍ”B Dƒý¸3½z«Ž™´øãj IkkΚl;Y@‚;XY‚ D«–ëgZ˜ÇG:¡)´àÙXšy¥ô̇=õÐdV†®FŽáh >›iбû¯: &Ú=dxtàOŒ áÕ'Ä£VÒm ÓyFÞº æè¨“í:g›ôŽœîgñª9rj(=©¶@×rµXV ááÓö¨+s²K—͆ Z[ô! >äÈ=êªi±ö›«A†œ¼#¦4%·†*¿[b«X1Üè†ÃŒ \ä ŸÙ”é«‹§Ú–íÙÓ˜¼ áõóy^6ÐÜQ£RÎM/P^-äI²·ìWÂLë  Küüù¾ÑW¥Pc(y_„`úr»C!Kv©–éIVñ..ëÔ[Nwžx‰1×/b”®2UP¤‹9Õ¸”-9ôŽO™ìl]ŠE±Ð/mæ§9ØÈ1ß,)bòs¨ËôbmjðÈ„ÖÒ£±¥£&¤çÉbŠîÊ:B5=O»® -çÂÞrÐÆz¼ÐÆÎ|yÞ>ŒäGÒàDÝ`8:¶âƒ3¸@´b€ ƒ¸©1ÊMdƒé¼HS1`B0ÎC!Ú‡¨—FsIŸÒ!Ÿ¤]OåIˆ|Ž']ôr{5Òí—×Yÿ/Œ§ÿŸ7בJÛÒ1c°†Œk›!t¬ša€.¯œ!r/ˆßŠ8ŠP1½,éy;ØM6½¿L ›Ò¤)Ðh7—»”]ç” -ëy!t~nA¦þ#ͦºŸF©*…™°䤢>stream -1ØšÙ¹FÖÈwk¹ -þKå!“µðë-Š–'–mzFMÊsÅ{R¹ -€°ž™ ]Ž–ÚÊ\‘i´HGVZ²v2Ï™ ã^ÔNzîÖ¸O0‘­¨ŠðëAùi¿IüÙ]B®Â©ØEÿ·4«Pc½ˆc™èƒjÔ‹ør4³šÃ¼™Å·…!Éàƒ6;³™c'$±)n½ -úHØ·’\~¯°Íe(Í´$Úþ¤Þñu#FnÂI=¢6žWú?üWj1ùG^¸)iCáéö~¢ñBÙ-pjÝ<Žär½m0†ò0¨’ŽÒå?›e2¦g‚_‡²H´½}˜wT®‘‚Äé‰JÑ3ÂÕï=à¾JÆí%”Î_ø‡í¯f%5ø¯¦9‰,. ¯¹´ÎmRSG0Ký,|VÆ I C¶õXSÞBö½6=¶Hn–_¸·Ðç祇óõká1BÉÞï•sÑd—'Bø~·’â•'‘¾J͵{J5˜w–| V£«Rë‹I'‚q´ˆ¥<8˜E‰Û„<9Ç23­¨ÚÖñño.n ’Šü*]Œ¢çÝàLçÚØâxóÜs+èn@®¤Uˆ•è-«È5p#ê%]S´SmÚGúæH®á<_‡´'îž`]Mìèl>Ø,íyä9wÎAâ¨!xŽÌ•·¹>1¥ç€íI®âÅI,vC•LöÓ`òƒ™~X>5} ƒpcƙ샫pb/Üš)…!)Û?+¯I<1%°Wg?zâN? ÔçbÒ’+Ö}4Ñ¥ZæŸÑazù݆ò¥sÍœ~Cè]žQborœr‹Z4‹-‘+g9Mo”Ý9õ>Pý¢ÃL±.›ÖGÔ}W,p¬¦Q3™ô± -~õûäþqA{å&nÚ"¾Pµõ€ûø…“z³…FÓûKøk}CùDÛß.ïX£Šˆ“ðlΙB»|æ+TÎXFK`%fªÌ·¬¼b±ž²ùÍûW²E9<š®´Þ£ä@¶ÈLPÅsXKSÊ~jŽÚšµ†P—™ÈËÔŸ3Ig ŽEÌràQæ8…LÿœLÍqãƒI•ìõ¿SVrZP&vWb L ™ˆ©rAåšnÀiï1C‡L~LÊ| A!ÂŽˆZŸXÖPbA¥°œØñóÖ*ßÕ*Veˆ˜Y"#ÈÈ%þ5í]YKC‰k=ôàáéF¬|2‘IÐêjÀ‡ñ‘Ì’¡ø†ÝyXPÍUæ+_Ÿ¡J$ù£pòÍ%â J‹4±n˜©øu‹êp°Gš“ghK™`#°óÕÇ0”Ïò‚»DP¸È¥oYÖc«æËu!Q&ŽjL-` 1Ùdoä·‘BÈ8¹ÍÖäRСj-¼uÐ)¨ÜÝpN ŽØGå±ô/ÎGñ+Õ<T&©ö=øéËﹻ7ÑYÂÇX ¶8ž—74ÍÇÆ2©›¼SPÚÈŠSòÆôÜÇæô®ݼ`±x{Ü n¾«×aA¨ÒØ4"Ìx\¬ŽÎ”^Ý[îËW¹Gåm_¿¯'|ñ7âÂf£,}9‡VªÝ|3ÿ¼ê#ýb¿¾É"+ÌutX•ÚêÏTŽcz/&§O;bîR$þªF‡³°d"=â´õ÷ä9‹*êh‹JÆ -o…$z¾ùÎq‚ ópŽó‹ønL–qË_¸côYœ-,Ó%ÒÓƒ1ë -= -a\\ª‚‚M" SRiÿy|qëdcr}è˜ßh\öΔ2K¹:!Ľ¶©¤oU ÍäÄÈ@ê'k·-4 r ™! -cÓ¤ªùQ`ŒmªŒ×àØ±Fa™¡›Ãî° ïÝÔiþ°L?©©i 7ÕJHg=4Ç/s%Α­:ÅÖ:sRæã`'Óp¿·Ä/Ò6+VTC¯ò;5Ø…/ÒÞìébR"MUÃÈb|7ÒkwŸ21"rÆn8Þ!2êÇŽ²Ýݘq7k§âwtæ«#«cì›l6Š«¹!‰ñWŒ«7~Ên–Å MMjwÓ*c-ŽÌ¡»{؈oʦÅ~ s§©x°)tØÝA8’ê=‰©auVvvêNA,[vr9akJx=;;úaË•G/ûÕð®ª?²üîC„VtuU©³ -cK¢îê¼íŠÂX¥îA -.ªË€ö£u6%¥ÚX¨vµÝÚ™¦D‹;IÜïH׊•Xsy…Å#MÛï4Oý!+‹ŠA}®¨U.9£ÝQ9r®™|èRVš}jù_{™ÜDTµšÚ1ké![¿VKÖøBãʘ™QÙ<Ä’š)Ú´nwìÜMÓZe‰3¿î¼©êògBR’„sRÑgRm46d íL»Î÷²«š ïc9¶6„â,_ÍñVtñÍx*Ü l/W ÇíYÌä`S5ªðÅ!/æ^>F AƒóÝO’×qd¬ór‰dÚ‘°»ªŒåº¿§/ˆÂÙJ†¶éÈHV$¡ÿDŠAša¯Üºù&‹S=Õ0^&7‘©“ -O°”*oE{Ð4»åC&¥KaßË#_ƒÔМg¬,ˆ#¼1N‘ª#öÙÇ"ƒdª»ÊÃY•Tùª%º ŧE½º+!©‡è(j¤~é”E/—H¾õ1E9Ô‡UúLÑ}Úœ‚ÙGþàØ4v3чâj²“Qd"½G†W[-wª;Ýf=7¬–RƒúQµ˜‚Õ+#Qµ³zVÉ„ŸçèîöÚ/‰L¿W_)vµ•ÄÊîô¢‚7ÅtÊWX¸œÏrªuF(@é>Ìx`ÚQs¬<4F£QZò¼¹—£ƒ_ÜL-L¾;ºÃ¦¡|ä$ÝÈ惣±˜± M‡ROøDuNÅý Ô%r Aƒë•k%"•µ¤ÈØe:Xç³øK¬Eõ«(Y±†-‰!¢ZUQ‡ÌŒ¨fTµŠç‚*¬”z6C2g©× : -š<B#´;ùÕ‰y«;"4«2I-ùŒõöžÌ¥ëŠtf æk†VÞ¬Ü1]ô“cWéãÅ¿áW4Ö‘¶Xw†(hë8VcdýjÈš¹ ŽªÄ53%…¬ŠHÕLhi¶ãAWœÎ“Í”iÓ²²çFèÖŠá•îê!­j’;E*Þ\T‘©N—ŠVYŠŒ•ð\öÆMÖ…M]ÏŒ© [—2š®šOM¨êZ“‹ ±¡ZÝ‘b–ºu^ÏÛíY%ËèfΫ˜ÔƒÐ×$ች ¨Ž¬²”i x:…ucZ®×2$±·È8%ï"BVœÓ.Q†ÈXs4òº²QTE2³Á÷ °.Újª¥ì$ ±+—â‰ZîÅ9ßT;õ¸½*Eâ…¬MŽ*™Ì‚wh{¶¢†a˜YÄè¦mî:}ÈÝYårçºrùΚžbD6 -ªÞw0yL2•φ(óÞr¢2›Ô-æì[ø¯Ît eú s™@ÐàL Ÿ?û(SâCë›XF"7d\Ò¿W§““„‹|Ìá.±-¶sMfF* G&CÑ¿ÕæÈCeS—‰2†Fn#Ž‘aC¥µéïnä[‘Í - m\BDAûÄkøµhU FGu,²™ÝÀ3uìÝ¡uª2­*®¿-!œûý„+iz¶ƒð„/ËBÊ4˜YCdWV9Ü36“ݹn1¥Þ㌿ ó Õ8ÚG$"q¼:p[2E{&âD®È¦s>_Uæ72–#ªMµa¼³“²TÖêEñÈ6ÔVz’¯¢EåÒž.C›”&ì¹sB»³ƒpTÒÞÈ¢â4ZB™‹E«S»J‘NšVhŸyªR!S«ã¡ï4-™nU"²ûuÌUlØcR§ˆ÷Ü1ޤ9rŸâDõ«ŽH­÷ИQôJš}>eg’zãúTѪêBæf艳K9Û9„òáÉ‚ƒ¦:aò^ýar‹ÐO¦ ›ZE>4¦°¡7%÷)¥+Iãr«óN1;¨õ^,Üò"b»þ'BtÃBÐ@HTËb#ÝQjJA'a Sfó4H.öŠ«2QÛ.$2e?K}IŒ˜ ¾­±ß$ä@8D‡@H¯ŸÂc݃ژÜ\¥RÛémÎeÒ×é8“R]A÷œ_r ;cÚÁ¹ä$ê…«-é b–¢ºmhns䱋ÝnÆh$Áç—àU®×¾ÌÎ÷bJn#óë+VÆjG‘9ViÇzmŸrä«¡3²ÈMVK™ËÝœ{cFÃs…NÖ^¡ií(­1¿ú“‰H^ RBrœò)>™í4Tc²c Ea}D:­™Þ’ŽÜþ0Ép¬5ëÉ@c±Àp*WQ­c;Ñîq'iãÀ©Ö¬VUTš˜³œã㙉EO^¶Å‰lŽg1#{)XxTETµ¹:›š”̵éés{Iœùîå*¿afz§Cb‡Ç7'SÙHÌ„y†æÇ+38Ö‹›ÇÊèž‘Ë%Fõlž«Q¸áx!…íA­\ê­ÚKÖ¹¡¡‘óhW&dW•.^/ránâlpcœ³(çì÷×k‚sô™B|dâWÌê/3”òscô¹"…zT/Ó?Þw÷ØÆÆùFÊQF¢9{ŽÔÝì¬càÒPÕ”üóËèýØ[»‡ùØú}Î.w#»RÔ9â(ß UŽŒe6†ö’ix ?wí­cá0²H¬ÊÌÊB¬Ÿ¸õé•<Mä¦jäqV›»öe²_ÕRÔŸê#cCf4ìÜJL8bÞHíß%¶qý>Sþ­Žøè1ŒÌPQ[ò0xÅ‹eV,ÞRbââ/ETqÓ0‘a8a Ïe¸–ˆ°¤\lýܤ¢Ø–IôÔõªgÇ|Ê&™ÉÑïp9óø| ¨Î¨Bv™îÆæ:ÏGóÓ‹QsjFž:Y\e¦iäHB#U»ªtdÆô -t6‘’ûYkˆ&ê9VŒøŸÅerfîQAvÉE2%YÚIm!=ź ÛöbÔÙ·&²’ì–;3FµgUï5è5 LÏ¡[¯žÿ V¤N¨Ìij©‚=êÍŒ { 't¥·ì4ËLUNñƒ.óUÌZ–#ùLÆ'½ŸhÆ2§IÜœTXöy8‘x–>˜R5õ³*Šiõh êýHÆ÷ž¥örV½7&6&)SÏJQFêAM¸É;ú®•/ˆb,ŠSíˆñ̳$܃£1÷TÖ8וC¥‹£Öê¾xœÞðT•ëdð´Øü'ÊǫÒõSss Šu¯aG,Ï 3 ®dÓP5x¼±˜;ÒfÎ |©Kí›N5%O OJö¡;™ÒëtX}NÒfÅ ± :æû éŠâFUeç™HÑЭVýaB¶cˆÂ¥%¯è#V1â²÷¢`éÌù'5¬{‡Ðd q¾ëhn¥"ÍDv/'P{’Ñ”ÃÙ©Rsˆ]áð=3IËaSÑ•È4R”(;LÕþÑ ëXs’²œU•G‘ˆ"Q÷Ý'’¬Ê¬Ñr]XÏ''yP9 ‰e…¯“u]l(´±h1µuJ-æúæ“H¤ŠS®ù·rCÎWÒ›E?£ž$|Ó4 ±‘6‘Y‰qEw¶l›SÍV<‘2GÆNW¡òcdðôÀ¹‰œêÕþ Ü9TzÕ·yµf~&aÝ]ˆåßЈÝR_<`ù†hu"œ‡©9® ΃ú(æøánS™Åÿ)Wkó`ŸÆ®æ²û©ª ãÝØµ3Tå0–˜Ô%f<5ªâÏžv½‰æ ëƒëÍ£}ø]oª?9 ¡šˆ‰Æw'µ”¢®.äèæL>ÐÎó÷mI.Ø—])v_§j‡U¾¨¤z餤DU32¥M +==úÿûĽÁí›üÁÆì"•ðAè_y¸™‹Š¬Ë½aº²f1÷ÏïˆÆ:W gj?Š“‡öè7UåÖò3 ¨ÆˆEÄb±Ä"k˜sT27–0ƒqXAÕÎïnLLtA ¦:c‰\.e‡±-Ó -’ : }Nãµ%GÅ+•a¨F&ì&$mYô†ÁPDDh§š±›V|_6mQùõÑ=lrm«vg‘ódvÍ­Ä|¢r<¥ógß|j섎$œ«²ƒÀF×äÌÕr ³’¦îÕ∎t«Öø¢Ô•Ÿ;Vðr3°É‹Ò8“̘|ÿRþÙÆ3DSi‰ŒK&#}hæDSš£]Fºi§!4>³¹Ñ&p®#{癪™0gß?rEËÍPj¬ äªÅTÆö°¸5ÕjgX1’1¡:3ˆ5gU%åÎFÂ3 :º™`%Bs'd²jT}Õp­f&s -¼úvöŸÑó6D,B®…«ñЯT3$“ý¶X¤?ì1ìlÕp Åž,Dæ$®LZظì<ÓÍ'9:¢X2h®9Tí¿ùé•1ß(rÉ«†ØÁ¦¯’ZUWb¥¡ Gî { gaôc  $0: -k©`ÁC&"㹘3¶\•û%Éî„‚;FûÏt #·²„©„<;œÌ(n±T°`‚yÏÌ#q9[‘g$ºî´m­UDTt¥ÈØ Çöj_>Õ‹3¢KÁ †S»HéSh:$M¥„Š(ì·S‡»Åd,(âs¹b*˜ÎRÙhŠSwg"¯°6µž0í4X $`‡ŽS=öÀ\_{à¡ £`ãéÐx¢lz0c3šéAÜ8qÇtêÁêñTôLšà€âJ‰Éw¬Y”Œüm½äG‘åèd ×‘øOýÈÈdèêáª_¹;nx:6lh’ùy¹L>u›ë*Ìós“ÙüAp‹öðèæÜ½îœÆŒwMÉè骨žÝ'Uì‘ÇœÄ h@/WÌ͇’i‘<Ÿk†s<¶ìêd±šü«kƒæB– ³R¯ü8㪕ƒ>òßâWcŸWHdBWÕñxFw·äáw.$Ö\M"ÜUïe’8aMï3ÄšÇfctTK™X•–Ù6’OÉ,]«ŽÅòшÄÒEW²Åx^z¤‹ªS0I¯R*™ Ź Üêë,Êbf¿F‹Â]2%Óƒö -¡=4Ù{EGêÄqæ”ζ†ëa‰“ÎîRêFîÒùoç1î¼×2÷;G!åÒÑEQY–û¸&*!’ÆquodÜ11šâI‰Ø·Á©Ðùîöª¤®FáÑ)£–É©“‚bRS65§=™s&¦29ŸTÙ³¸™î5¿«è)üÄdžÔ¨Ôñjª…Šf - ƒã€Hh•M¬®ó`•âàP<‹ä(†A -bÁ<)#Áš ÉLa&8>Š3Lƒó] ú˜ûEôî ‹yèøuLZ›Á:˜88m,iåñš¨Šôÿx²˜*wH4ÍùšU5ºfÆÊƒê„Ê1×zp.ùŽ·¬¾Ã€œ=QÞûV - -²7§RÒ½ú‰vË$úœ èÝjI†0o“%N¢·Dy½É“ÑdŸà±šï¿hB&à1Éœá a¢´DÇxpUÁ& Á" ¤\ø‚Œæ3&L‚ÙÈà<—Ò€cÑb½¼¸ –‘¸]33&ÅÄý,šOÂ>ŠÄÜP˜™Œ¦[¬ÃBÔüħXX˜_qžiT  7ôùßr\…Ö½dn3 ºÂ‡r³YÍq°é7Ý7÷üe¶mº9ºéKÂÃçAí‚ÞŒàTÆ:„wmºô¨Ÿ ˆÉζ釞%î/¿’t52>jˆEä¹»÷z»Ó -oxyÞ&éošd{_¼!‘Î{QP* éEHsË|JöFX3Û©$%Ã7½&õ¨‰ÞuÕ$5/!Ú‘0sÌF ‰óY¾îåðv§ -¥S/`ÄÙè¢D4¹+€ŠÔa™V¹¨ÑóŽ é¤™‰*{Û«"Þø¼„|ÛÕfØ^Q3§^Hât~HDasºá¡;¨µeqMŒ´$Œk«¿éH®diºâÃÄu¤L^?õ¥ÃÝxcþÄö×€T9i¢×Ïÿ>ð`òÐ$(”ò”KQ -º‡1AÑ…Ûàæcc}P£Ô»uü'ýºä‡! -¬9OÅ…DÃ$_qt¹Aac‘ ï§Õ_(Dà/?ðnïÙ%uð–Gò¨;å.—FfZŒßÂ4E+Ìñânqözoc‹€?XeûÁêÒÿ¢üôùWÔ॰xgãÒÑ ü¹#&ÿ3£ÓF£“µÚ£à9¤´3FëŠÀÿTÄÖG\¬¢°¾knkäÌ=bS4‡¦L£jØùb9ß; "ÄñÞÞ)ŸFݪŸ¹™šwÁËcwÁÓ÷lNNÅ×ÃÀ«l|–Îñ)Ìæ>GAþeÜýÄ-°ÈvuÝ‚Õ  «pèŽÑæñH\¸ÛÏ‘®Cæ«Õ¾A„ÿÖAƤ° -‰¿8æg•ml’“W|š@ü 5'èþŽÏ?ÓO±PÌgëya¦<ÅLÄðš—I?Þª§ì:Kg0|LµKTžƒó&,ôQŽ)(¼:Òì”næ*žj».H3x‡CU­ ÷#q ]>RňO²ÍÔÎC’«5FŒÕ™àŠ=*!EÆÜwb9¬™Ù)ׄ 6k–XÃΫ£*’ÒHÕ×Y9®Ð #:éq3¡&}ò”C»µ¥ òÍÒVEèô„@-.˜Ì§Æ1CÚ 4 ¿O Ãðá 9TçÛö ú%‘/Hÿ„™äÌŒ##d»ÿ%¶yòvg[ìý²í -$±šQNB pó$͸;^©œóý ä–•."ªd#i…ŠeÅNQªô:ÏC_øm ósÝ%ë„ü;6E[}r·q.Ö*D(„n!£ìX¼ìMˆo%€”É[!ÝŠvÆ–až 2’€±ËRч‰sˆcàß4Ê{ñÍÙ¥—vÕ!žÄ¿-)byž3^¡Àëlx$›šj$žM¢ì `x´å!Fb¬ìrr§'ü†Ñ“)¶æÒHP²õ‰dzgí>’™STÚìïf†²jÛK ¸ `Ïusƒ©6PG€d7'u†L½ä¬‡ío%Žx’ärÀ£:•û™fE¦?ðÜüPî,Ýb9Šôà¶E»ÁÐÑ”Oï‚‚IN8†®ú"ÙaªT¬ ø-Õ=# 6ï=KOóVäø"Ük»ñûà†Â|ÌåÐ…êâ–”çEtL¢‘. è<ÍçSÖ‹A“ƆçÚB…—ÎT"f ©"i”íX§w+ H¼Æ±™Ž¹J¨î{½~™2Yà訙e†‘؆êæ`DI/ò?E%ñ •hÀzñ ø£EÄ ÝûHu»â1-Ï…¶áŒ î ]oJRkÒ·uù.EJë¿Rä.ÌKó¬ï6@¸_ºa§‘ „Ï¥s£4$¶~Ú Ö6¿{óì\+Ÿ¿zîZ¤€DM0!¼%ÎqÑHvj BJ2ú¾²]—ð?Z½ægÅrú£p)C/˜A»Ãó—Àئ³WÄ 6E4ÔåÁA -Hˆ¤"Uª9)d¿èX€{¶ˆî¸oG@J>ÈlƒÝÀ±_ GPe'?âÛ⺡ºµ’X¦¤q&í£Z•‰ûÎ;g-×T<†žÍä÷˜šðx™[ÖgCfaxbJ‰B.K¹8úˆ U^ŒôÓS6š÷.ujˆCÙs’Û YròO:>ñ—³Ô\Hˆ4ÆP -ÆhÚFñG¸ߋΠ-)2 ã:寯æÉÐ<¥áûÇ Xœ ¶JEÃÈÆËéÕ-ñ#lb!d †[’Mûþ3ñu‘Ä<NÿãÛy’Œ sãPÈüô££¹è¶ª„º†MÐÞÊY:»ªÍÈÊ.‚8ljû¹çEO· …QyƒÚ|(R™HAÖ¡ƒ¾û¡*ÞÄ"Lä+²´V;`@mAJù{ëël™0— ŒK%«…Ý\Ï0d ‹.|\Ä3¥A©ÄÍV…@,ÒŒ×1EB·ØÚò M•µ©ô¸•gÜè"ÚéI1_¹+)Õ}+L…#)%¨Ð«Õ -áÚèÍóD(²T®¢<Ê/§Š¹³„TŒÇbáʱ•Û8µØxtxBµ‰ -Û‰\ôQã‚Y&  0ÌšbìŽp{"%+µ2V ^P84Þg³Œm‡—Àu!d(<ƒñµ¢k>ž¬–:òÖ—’Ý(„ç*¶Ïü,Ú°Ÿ¯}fb¸d‰za—µä`·Kô»ad—¶öýÛy²é‰›¿bžAN{ª™é_ -¯c -ÁÓus‘O÷Ü8¿¨–"ãËméf%zF¯”Í#zÊT€t¿(oêÈ‘‹q¥ü0‚°æ)KV¥•É Š²¯#Š-8“Ëü k¸[‹MEJ?Z¾[¨ùæÏkÁ\ÅdNÛŽŒ?ÍÂŽb·ÀÊÊR´£‰ó2{ùŠ—[|rMôK‡j7+†€3ÚA'´û•m.?1®]`Ä+ÂÝa‘ŠOå…ÔÅ›ÛL ä¬±%ÍË_²ðó'vc“e+vBb¶„öUÆf¬˜Æyp§Ÿ°àØŸQ÷ÍR6M?þGh¢” ¾vznœ7Ú$:ωÐdÛ{%˜M¸Ýæ Þý¿`ܘ1ó;··–naÊ90×W'ÍW="ý©R|¾’ré0›~(Ãc -híV%p©¾~f•¾Èi7¢ÚâÓIz¤ã¢¤X §`ÿ©î7ôöx*' ¸Kßp]Í–HÉðP¡ó¤þKbã^ðÓX -øló„Ï JDÄÍйñ¥üRŸ-û˜=*ÐDÎÔð8y“¾§2·žcn¤ˆ:a2‹®ƒÚ17=Jô#J”"~ȯ‘YKJÅêØ·Ìwl—ý¯žL+?¿ùJSøOùa=C¤ÎU-·•|›ËUöÖ,6mCGÊêÁPøbW·®™óáO…À=R0)ŠN¢^Y‡¹AyÁ”iɃXXÃæ„ÕýtâÈ9TÃ]¬ËM^õã‘V¾YD¡` PÏ0ÞF¢$:TJÒ…ÔÁGÚµrZãqÙ'›ûȈF°Û×€¾|ЀûÏFó\´^P ÃmžÃ8âo¸•u$êG™ -xZ4! ¦Ð¶­gh§^éäÁ÷må‚1!w«‘üWrß@*à,³!Áå’¿ -lsS»ß¼+xæøÊ ××úΠã®׺Nï› ít 0ˆY9éûYd"ó˜P -ªÑÌ>³‚ˆ· ªñýL1ÿîJÖqx0Šdúl>…H붉UƒW8ßl®0sI(ÙÓæBÆÁÞ×g2ÌžvŒBö¶ÂÛ?êÆ51&ce¯ÃËíÊCÌá¢îú…qà•0)¶–ôáÇc·ìFöÆî9øÉ•ã“ÚÙQµ9´ˆí¡Úls§MöÔÇÞfo³uþš]Ò-Ö:á -ÉvC?WÉ®LecˆiWF@¬/h˜>Kõm´a‹ŽÔ]Žk[¢AõŸ…¡E´K Íá.©®äù¼eZKX@mÀ6+¦‰…$™ã(|VÄ‘œßt-_jž•^ßbË -±9àPƒËþ;—϶…N™s]ÅKćXp£õaŸôŸñ´óqYÓ?«ø /ñÆz, {rJžCítÈ}RÏTf Å{%óÔµy·tln)ßÓ·, ÈLL—:øI¥Ë˜AqAë$G{ësˆ^"Ř1/KT_6Ø\´^PÄ/ÜxóÊ‚é¶Í=ÿÁª8˜ z¥è²–H&Dô_–H¨·‡?­©ƒÿëArˆãV½Ÿ©9Ö¥á¦SN”¹;†,6,q¥*ª®ò´®Ë ݬ¾YG$Hfio×[¡€ÆYnÅp{¡”!¼Ä!•‹Qá°ä&BÚR‚ïr‘Rô×HB;—5òá_{6º½©¨áR{œ!§Ô ¸™T£2(YÇdV»X¯6,Ï©C¢òœ{îâ²Vfðžú¬”ŒÓàj™mšµÜ‘c·’EY8¿p8&€CÈá£>±°Ã^ú!pûže«üSt?¶É9¹@Ò¹©tÆ[gÐôúÎ;àÃVMrˆèøŒèi[е҂ëˆ^$ó"%„6¢ø²Å±úL&² ¸2¹Ñ¢È¶ÒÔ@íƒ Ê!É!Ò™ÿÆ NÙ@Ac© P§Ê»Ñ„,&µœáò}z¾¶i Î"ÈBåûd¹Æ:^1òƒÃÑ=)µ#µkW…ÌIßÐNß–„9cTö›T[{$³äX;ó ÿo}Ë|¿JTV‚ Wçjâ‚ð:® ˜ô•c:øjÕñ3'°Q2²âÕÔ*W"ˆäfŠiþ•@jǵ­°H3ÁoÜ㪑& –üûöÁÃ-¡k‰2¦ä¼}#kßߎ¬ª>Z:ç†>W(‰ÆG÷&QÊØ<戊J@)¤gUÉÄCƒ° ] *.™wŠöì -á³¼Ñ}…0K§.„ “-†ëìjÅG¶Ð9RH½œTª°*cX¾xÊ™yìn1°¸¥+hc,n¨¥‘´Ï|ÔU«¾¶ÖßÔ0cŽjÜÜ"‡(Y­àlä™ü˜°ZF ÎëNË„c‘¦uÌŒšQV Äi±¸¿É5¬õ”I™ÝLz%5ÓÀFŽÆ¼8K†JvHÄLUª0£ú£FîUA²7Z!UÊÿyõ¢Çuw©¯ œ ~¸4ì ¦Ýõå?›EögE¿ïÅ«*çßÊøâ·Rëå-”Ö3Ço–&> s -þ®}?u=éÀ¯µ:_^ñ.Eªæ"¥ZòOðÜ¢ uƒ?©!l 4us»:!]—(“|Ükõ-–0â ›f]*"AjÝÖó\sÁßFqÍ¥å -ýc`¡†Ãkµ5c_6xy„…áÆœÕ™1QÆ])7Ðr“‰zuø˜C—/€¡kZV òøhD̯}‰“3ópVøÃþ5¦Œ†Ž -!å™#’E‡®GëúlרŠõÿ²iù#<Ó2ˆf yuꉔ¡í° zSêí•U 0ÎPAÿ…‚T؉;%?G¦‹üe«m¥¾¯—äà€Z_òí£Ojб6»z¡ÇÅ„½ÉÜhoüý¡¸{y‹ßÔÕ¹ê#É’"_•qMRñu:’&1Ñ—Þ=# µŠßÒï…ÁªLådŸ øêIË F‰BÕoËß·¡ ¾ÓcHs4C©†-5ùñŒŽÌÅZ ‰’^†¸c Û°aG~ÀT€ÐGwAÇ014,vÝUÏîâ$k§’i|/¡þhŽø ­Œ <4L N&{åi&ûËA]ˆmmH|Ö ¡¢‹XÔÌ™»1úDcÌZŒ¸Áª"×z4iõÖêåÁâ”2¸¿ƒëÒp™ÿkÎt?_ ™{jà¤A—¨HP8m( õ·¡L4@F¨Z4EoBÿ¦;—«}Ü -B<èœr£îd¬±‚5ô#rŸtAblÅ(Š{¬I¥»Äv¡2¿¹ü?`µb À¨ -ß,‹ØPúÂüáSˆÎ¦EëGår1vÙmbÙP@7¯o³""Éä´‘­¯Ô±A;ÎcX’8m}S&ÔóˆÃäÉÐï|.øç¬ÛˆaPÒ!r6î¹Á™¸Q©ÙBÀ–•tk”EƒäÞù~½øšóL*A›K·¿%?RgÞCêÍ0Ä«ŸzÎÆn6—e“Z¯i¡&`œ@7òt–H¡èD¹ú`šh븬Ä|£¸ Q>fèÎXhåAj1\̨[:Lߪ¹s²gõ -%J7Ú²Ý. ®žýœ ½oÉéð‰}tðä'†°ÓÖáû“¬dÔ™3Î=êoNѦºéí '‘q3ûHöòÍ@u}Ö -UF4«w … ‡¢€ÑQº5à1tŸ¸J;DHeKa€x8þaR¥EÖ‚®¼¨ýª#™ie¼eê²æ,‚å°Vžòçv«Ñí:³bp»åXñªç6`¬ÅÉ휼H\¥÷*¢lÑ­´ª}ºvÓ–ÑÀ>ûÊ«@h"è Åî§Yâð ‘ऊ4X†©û ÀÃU=ýŠÁþGj‹US·ú>™Ý)¾l/á*Ëa’§‘JP-w;nÁÝ$xód3^7ŒJ\¸ŸÆ -um„‘`QËA¢õPwÁzã>Œßw2íÊê…5­cÇ\ëËìe€ÂXDS·&9&›¡©êNBºÓ âs}`²GËyúHb+ÇÀŽ -Me-g±ftÕ 4~E%,­\©±ëö¯q:´pÙùãÕV¹ -Y›"àYt¿aÙ@9Cǹ×,=!áœéwµeíl—U&-~%=ôã²)Æye9í5ƒ˜%ÚL´ƒÓ·m‡`z±f­cÙÕ2x„åBÚýGû{Ò f0£ü[x‡k™å>Kes}6êÞF' ¾Â°åTÿèÑšÉ+ÄšŠ˜aÝ ³8â¡3%4wû…½dï9Çy˜…¥—£¨;w<ï®Tr¯sÄR†4ŽkÐ:Ùqv¹~‚#ùŠºGY¥’plÉÌUKI÷‘A:¥@N8¿ùÑü¿HéÃ}k˜U'vœ4¼ä‰ò_7¯ £Br¢÷õQ-¸žÖ•£,Á -~^ÔþÍ*¤qYË^T$h1·Ì[GúÞ€QÆ• ô—]åAR±Ú*8(µ\ì-.„á›ÝØL`Kȸ-Q•ǃrs²?¨ûäç²áÙL‰XYzèRQÃ!¯àã3Sæûþi›qŒ1°îV.íĉbS;|haîo²Û×Ù»ûÄÀˆÈÿÎø±˜&ÿ,fj¯#x™²mÍ«1¯±ÇõÛq‰è–ª¦å5RT†_»·>$J»Á=ëà…vaÖŠµ2ž[ÄÂGè6ªð1wo›žKõ|ž@—Ü9`…ô¡[G2û’®ŸµÊõb‚jÌñŽ!|†`}:šH&’Ä$¾ÀÍ· ÔRW 냶`A#D\OÍ9°%t/òñça ³Ppùöh¯À§Áá%úâ=Vï<¥Äbx|h#OFmU]”ðí‰[_­_.=mW£T¼ -0 •}Õ¢”¡!>;rÐ)_Éž¡í‘Òò[ý~¡㵟õ¨P3²"”¨Ú\é„Xã¬Ô¦¶xêHoå–ÔÚªzC@ë§ÍÛq…&¤‚¨DÖ|6n#þ裀æüÀªVÏ…jÁ=Œe&¯Ï à1°Ìç 5Õµgaä®Á[ -^sŒR¹e:Y8¸½ 1&ñ ω -ú˜ÆN …]A­Ÿ1hè΄yÁûìÎÈ»%C¹ß©~KÛÁÝc‚wúH¢€) -ë¼0ÏŸ“k%ÉÊà ƒ$„³t'!f8Š7²OUáJ æö:ÐÄ -ÎÒ©A |¦G‘¡.%w\“&”e+{²6”{Ëä¶§ˆÑ6`¡ÃÏ–[ÞÝ@$$Z߆=yÈZ¥¨nÛ§ž hÓúè°¾)iù½D’”½­‡“@WÅ£99z¢ð‰‚Š¡¥²ßºY ˆEÛɤ¬FBš¨Ÿ'e8M {ÂgpSÊŠÈ Mñ‘ \+ܵbõ?I-ÐªÝ :°X¦TSPú‚/r bÀLU†&€†c­·s@¶ˆ;â܉òÝú£;³'åN²_ûÌ0JЀ${$«‘Ê+ÂfŽr†èBEC‹g±ë;”Ûêå C% Ij8CЉz ÜÒšÔÜ‘!&5½¥¢ôIiÀB-4“ƒÂ*Fl«öª -2Pv“v&1GÁ G‹h¤Fö%D„î)XPÀ€&áÒØä Lg¯ßˆïõ_$l«œC;¡¼\˜ðÀuˆˆ,—–¾\ˆU«åµO^ÃðãŒ6ÇènˆC†¿Ø3œ¯7•ÏIÑ(³Fi(ÁŸÌz®ø¢‚–îYòÿ¿L¾Ë@u©gUpL¿ïEÍ)¼àÑœÀû>5¦žF$ˆVLãQú -š††I=ìÃp›x)ÚŸ½¼äØy{`×ü_ŒõÑY)yÈCåÔi勳cE™ÆêJìÀr'D½7!d"*Ùé‘{jPwI}gTÆ›L®’œ€²aà"^YTFRV£”i[.=´ +’õ±`¤·A¶>Š’8XeÀŽT²?™jÁ¯~¯ - Ÿ ²Qô|,B°iÅP·Œ=ñ|ö!QV§"¢›lmx\a€WÙ7®"¿Îè6¯=¡2>É ½ -ñyBáEiXÂÁíCâ’Bá [ƨ•AÒ×>"àŠ¾ï_ âçªi¤-èXÖé¡”Ú¹òèë°Oèmc˜ ‹ø™ÚpшæÃuè´cÞTn¸¾Øw†8 û±rýU‚Wuà› èRȘpl¥†h ‡ÅkæljåÆ/Œ² #ªmL„±CÈòõ9˜–( tÛ]¨Ð=8ú3ÆM~8ÜbP%Ë/»ù×Ùï]b YŒ©Ëи¤Fôþ>„ª½X3ˆ2ì£CÅŠk­Á#j>±`y¾¾ ¿} 8<Ÿ›œ1Yl †»°yG=ý•ûò9£Å¨‘B²ØŠó·R\Ñ~±Ì+[î.ºY±óÀ$x‰ ,p±õÈúDŠ:fhy+xõHŽéa~³< NѦ}Ù1 t )'²…ïG¸²¡?ÞŠäÇÃh$ºÇ±BÎh¯–ÿýíß ¼.#ó)§¸¦¨¯ï ¯‚ÂÄî&«J ß…y“o¢—L#qŠnßt8K|kd¼RºƒP%.%é0Õ?Ø«íxYd ì'ÍÆ?° ¯òêŒWª°m—LI?™†fƒ¤›;$cŸ‰aAw “(±˜ ܸ™õÑ㌵\g(µÛ,ÑŽñ@Á†©!gL­n·«>ÀóÜÐ|[à¤Ï¹ š´. Ãíÿ7"$ìjØô§™?§Œ¦ HûV°qãÉoýOÍ=gkÑO`ZhbEùþ¿ŽÊ?É CIàTr«™¢ê‡ªÈldØ(XBmÓ—¾}†Ôp½MW×n¬£žÍOƒh -ø=Pñhl\í0α­ëÿõ `'6 þeûç 6hN8îW ¶ÔÄí˜uqOís -‡gö…yšÈ "Ž„élLIùØÓ!Œx‡%³g?„TÊG)Ó·âEÛFyЈoù!¹„ÚcµÔ‹´™£Å˜nôãÿ!èj›H‚TÏR·¶tM›Á¶!½ÔC7¯[•ªðÔ¦ÁC@Ž¢Á1d±ÅV~Íò3øVÖ6o«T¡¾žþ3½…تyW&ÑþÿHïbûŸ—U¼o •#Þm§… Í În|–YÀ¡™~ -é«´¸½.¨ý¾jÁÐY§š¤Ò)¤rV3Í`”`dž„÷¦JYu÷W²ÁWÝx4õ()BK¶íxZ£2#ð0ÃÉ@“=Ëkº—øÍ=KÙ 4ȇœÀ«È4¡Œ:°ë­ï³âIÔ¥NTÑ!ã(ÑÍ Å‘¶YâdÖŽ¡j+T¾¤#Èž¾÷£ !4\{Óü-ö¾ßsÔt:Üõ­ZàxDÆL¥þLÐa˜TÿÂižN ˜DWU)oY˜Î3p9âNxpçÜçeñÕµQ;RÅj¿1WÐAt îü>³Ún˜^Ÿ´á…[шÂî³Ê]Šö„¢£œ/¼€Ã é (ᢠáÆä*K×y‹Zñ­¹nD€Äç¶ã39 ù<B<™’‡òrp½YôŸqŸXŸeø"Òß3o½Â2þ±ØV/ Û!ï5µ-zÔÄ„~ùÝ”»ã•„÷ÛcRÿÚÛ¾@ÝYÂuå.cËþ8õ¬h»yæ"«ùŒN8)¼jFI7;v«sOÙ{á…‚*ˆï ç<ÓI]úä€Þ”cíÖÀ,èƒØ‡Ç0èúŸAz —. ;œ½ƒ" ¢ºïä¯Yö”Áó$ 5rR A1éhoIõ¢ØL{ Ÿ)”S–çð|È@u ­50eã³W ϵNÝѵš¯1å¤ñz€º]‡5^wf0 ¦¬º˜!ÑA^p¥Œå¨±„éžUˆ‘ˆîJj(zÐã—F3y²WèÔVq¯ eô÷ÓU€œdè›xv*¨˜¡×8¤ÎÍ‚oy²än¿7Póµô§Ký9ºÚ¤hšhÀNîàqª”˜ªíOÓ3~6tAIó»ø®ø3 \¦CÊù(¨ÈbmvmU»¬,E‡éÌ­ÖaÉvE<:Ÿ¢¤·åE>ïæÜ2%øIL“ØP Eö°¡Î=ŽrËëŠBm ‰§åƒÌfQ’ùKŒ¦îã)O|u˜;£éíÔ1ÖÙï®DZôŒ"<¿ £þy8o°sH_ÚRÙ­xeá£Ws¡4šÂ|ôìÈ"–á£l³þê•É&qÒ ö˜×Ñc–ˆ¢†Mñ[ø4j2¼‡¦pµS¤J––üdËU[É œ>‡;N¤•ɸÐéätQÀ,‘ùضÕ,u"Í0J¥á鱬œf‹¨?™4’îkëðŽ]ZTà;Ñî–Ú¡¤'ÞÐ çM¢nxG¬Ó®Huöæ„fö’[J¯^åIŽ]É«ºŠÍ<ÍÑ`pˆ`„ͬr­A`Áß07HÛeÔiì#\vãpˆi´:³Ì}ý-´{+/Í[ñëÜp×Þ%g¹‚©ªÉ,¡îS[è‡aMTa_U 'K¥>¢¨ÀdnCüX¤/a0xa“TßÉk2Kúƒ’HÅ0#'÷qó ̱ͰžÉËš—K•*`ÿ=”…?éOF› 'âO¢§æö°l P,™G^jÛ4>õcEU -UI¥ÿ™«vSüSâņ”É™Á)Ì_*ÅÚ4åÊz©2]KË]ý‰ÌbؖϳHàkhíM1vUG&ÊoDBƒº8öeã7+x8Ä!hÈ@É/TR¢P9.)éÜ•–Ç2ˬ&nÄšN–?šo¼ZJ¾¨© ìÆL‹tƒWØAp Énû’™® EfCb±%x ¾nÿ»ËÔ/ÝH†4éê‘Á‹¶Y@<©Ìú*ÐH CíÄë)/¶/ôª0>[gcƒMUUÖ¯fÝsY"XŠ:´ÄúV9ܨ0+ì V{c9[rYÝ7ÄåÐ.²É›Exm-WÁ¶ì¸pxãut«µ-ÇC´aF³=,¤Ä5%ÜûɼJêP§Â7Ø,-&ÿc|‘C¨l“»˜¦J &[]ßzÅFŽˆ?£ÐÙ½™1Ðn鲿f æJÃØ ²€…¯-Ú²àl7]\QÑpŸ·×$ÙT?W¿U ìü–ã)«’Þ àyx}ŽÈ§\[Fx-ˆK®'‰f£[Ž+¼Ìˆ6ô2°a¿§s°J-„ÈbÁ¬‘hÇ%,Ýr¼v)ò–|p@¿¼k´1NÄp6±DT±<™×Zôrª·k7½S^£õðvyˆÐÂeò±(l¾ø–ãE¹[Ú0ÔFÿŽÅ;Æ&£]ÐÂ&LJ·îDªXDS†s4,dµÄ„»6—YÎöñŸì|c[ 3´ÿiÖ(ÿ&´äî—47ô0‘þc'z§8âtËñͬ†2@sKDòœ) ^„ ¤ZfØrô@¢2Ûת¬9 -%&ž6a,ºsyvQ—5º†N® ,»¶4Í–|˜„¹—VÒ*GÊÖr ¦0‘“œÆ‚˜–cØS‡VW~ÈÀ‹ü‰D<ö¬€ä:=Ì|«,[ÐÀÒh%dÉl õÚa¯´5ǃ¿ŒÉ‹Þ’bLù<­ë­.À8+àcyj^ïÙØ;˜ù††fØr8T “Gx¶wÖ$µFÔr³ô÷œÁæŒGj-G`6.?‘fl«TÙ]Zó¤ÃM»±AŒ `äÞ@ ‡¸~fÆDMÒ@bR‘Úij)4‚Íp8ÛzsÏn–p\»œÕ"¯S¢‘†J÷+ðÒ=ñ‡îÂÍ?ÒԜʤÁ,PAy‹PãÙ¦‰Þ¼*…îy2Lÿ8*Ž}ÍP„f}¼*V•’—´Ð3á£QÖðÀáàøv&Yxk‹0#±#Ÿ33¨ów³V µCYV÷¦¯ˆæK`Ö눫pÔEÌê/`ðULOørØzÀi¾ ßîá¬6 V°á€Ÿ[½@ÄArè•M´òrðLjŽÕfGÊ¡ô1ë[¨(æE™cMR_æp4v–ÿŽ1E’¯7JuÁZM׌ êló¥ØÉŸÖ¸ƒÔÜoÓÉs´SK˜SS¼ÞâÛJªýÇNs´Y‡8aF0*Dnê€U½h*âžóiZ@ƒÆDþzžú÷2¶ -´0’`¢@¹éÄ''àÉÚÿ2cåm@~ÈŽ¼HÓZ'{¼')5×ÔR†6€¢8 8€ž#Hí˜ÒWKZPJx.BñêL6JÞØÅYsf7®±žæ’4ïH)8$Á…‹wÆå¯'kÖŽ¿>ÞF4Ó]·S€ÀGbö5/>ÖÍ­„€›±rê[%Y.‰Ñ>Ø-|ì_è|q¨£hã®áê°9[ðpD¼ó»_¡«±¿™4ƦÔ˜9xæRD@;{ÿ¤&ÿ²…ËËÚ&% þΣ¹Év{bášR8 §½=ÎvÝ[uišy8i\¢ÑÔ8ftˆíÂŽ ²Çd•tÿÖEì2tf&T ¿–eFˈ¢ÙëºîxîšA묕v«*3Æ//5ïÂ¥ÐUwFÁÓ‹¹SÞÌ¥,º3iu6Ysåy±Ä˜(D“Ueó‹ÞŸÄœ¶ h š‚ôRHw¨@ÖO” U{ùdµå11Ô {¾:jêÃQ E)ßI“#R¦½Q]E¿ÜD/¶v½(C*Z‚ŒË°|³ÎV‚½dU˶Oät¢q1<ÙÞ_œ£È»Vú¹ZNšËˆÖQ}aÏàMú¡z­™ŽeäîJŠ Þ¶ýI:ôQ/š~óý<£¡°àbøä›¦QóaýA'ñbÆF`¶õ5FUkàée¹ê-t‘ Å=Ê­4ítí%¼A©–M–ÛŒ—ÛWéiíÿ'y6}^N”cGQX~æ@®˜}™8N|cΘB–œNbþ"ªkõ:¨T¼þ±0¤Ô˜âœ=Ò©ôðBº…0ô®e.g³Íi†ý -Ûð Ò~zµÌ:|r0Z¤ÓG:AŠˆº1ö9ÂêåÒ9t£ë;Ë:‘”+x%š± SËúZ¨ÕÆ=s\jec¯ž.i"1lHÏÆÙ8Ø]ÿ:31CbÇÏä@ã¶µ“n…¡çš5˜mj¹š\¡ë ñü ¤'¾~h$ Ò9I çÑ:“ƒbã÷.kÇ0^wðLm—ÒåÎî8u¶Ð6Ë—–>hrD¨Ýp›6vEÐ0=`Ìò²shvÐÕrAE”öM`ǸÉѾPQ·íÓµñe6D,öaP]ôÌÏ·hPM†}†û{±àLûÞ´ÝÝ1oàÚ\² -æsrx+ ™,=R›“ÚÊàl¥¼Å›‘õmÄîq¥6êV*9@C<4 üeŸkäJ ŠMøÄ_³Éá8(0܈j×Ül#rF%C–„Ö§uIÎ/]Ê›¥½áfàÄ&ŸÉ­ÞE^ -_&frhòþf®•BB–-„È6aEó|5‡Lá².|šsCîÌãocß.'bŸ‹k{³*A+nVœ—ÕÅïnôG67¾—‹]w.æÒþ³½š+iuöô 69Lo&ï¨#LГ\“(lAsã Bwž¼29¶¶ŸF¿h&îjÖëüpŒ‹…FÐ5PPÕ‚³žµäì‘ãW|2°²5Ñdgð‰'éÝA §HEñ"„;=ŠÉDÉb´Ùì®"Ãã‡ä.ŽƒÉ"âø¶‰ð-ú«t Ðüâbá’B¤–©.pyL ^m*εú_xœDH¬>®ÇÏPÁ¹_Ç‚ -Í37Y’JÞÙ–nd4ŠG庱{ÞÝ*‡œ¨—€8Ç‘âÜÍwŽž­C²>él†XÎæÇò,7ŽÍr<Ý™L£ƒ¿P†qÙÆ¸€Ã*ך„ª‡Iñàd½ÎânÁìæêfœ —•(søÞ)gE@†Ø=;ß2[‰½]dwΩÐIÄ=¯WÉhØØâÓ¬²i‘·Ûжf&±4Ê´] ‰¾gDȺÌf›™b&AKS¼M´r—6¯ê÷lN»0ÓÏ¥–ÈŽl«fÜN0ؕږÉÙjænl´lHãoÔP¥Ÿ=SË+ pÅá Ès‰V"Ž•[HdáÉPJÍØYB’[î'¨5É "c®š1 ÄwH- ^8S žñÅ»!å3Œ7WÄÝ - oÕV/9z³ š'm^ôG«Âì(®1zª—^GcÄ‹wMˆ¾XææLâ-Mö•§Y3$Z`s‰Ð\ºáfƒÃô°ÅýT!2vçÉœmÕÅ䯙H¢Œ-FZ‘Za¼}r³õ…LâÛWnÌëWݨÉr#ÏV¯]iü·¦–®ê4»7SÊœp9™{Zú3ô›¹S"¿DÆ…/ñEŽÚ²È;‹†k^Ã5,1Co_øÊâüOLÇœ® -LW¼ÒÚ–,èÒåDÿñÐåäÉÕ3çöä±a0•øØ:“ÿjîÔ¶‚ö ƒ§1`×d)*Õ@‹ð.ÓÊjJΊ?¼ÖJÒ’>dÌB $ao_YÀ%® ºRˤøä$^RÄü·”1YóvȈ»5†¬ØRÈ*îü8®&5ºðµýqÔ^­…®C6éÖz$«þŠ0úH$žŽÁXÓú!í¢YÐHýã+–Ø/dý.êÊ.Ö?8‚H]R±*µ‡ii™Ðìf P²w-_«ñ‰„aRƒ½{̼bOÒ¬. ;¦8•¢9ǰ*7©Í)GJqk‰g³¸VY¬*ΑyÐerT  Ä9O6eÆtrxKëù Õ[FЈô™dZ G¿}¶†6­¶™U“Ê$-è-ìGbŽ2?KõÏŠ/•q£ÈPÚ™êÑ ¸ìÑG5 Ò´s¾ô6¶¨Çá:ÏCñ¯Úfr´€â,í§-í˜Çä,w6R&NkRžÔÇa€†©¡hwŠñ‹,vîÅЈ Ìù­V}Õ!J¢[dÈÜ9nr¨DÙQ4ÌÒEŒ#3ùEÎ’‹ÃÃ’Û2X3£ £|pÄÞ‰A¶Â%|m[•<“›iöŸ™àNCûÊÀv– JõÔ+7¤ àä{f(øSñ‰ËÌ¥kËfÒ…N>7ò‰Œ%Éé`“y¼ ‰©–=mu1¹Dn,ÓcÒÇÑâI<¨©fõÐbo«4àmãÙr’Qtöq`~ª9·b‰8”ç/32[1&«©þ£W‡+ýk“(Å´œÄeþœ"°í¡ìºÝÁ~©9N_ Ç›X®{ €¨Ì:Y­¢\g5"zÄ`® àò¾cz‡’åãàÁvÞÓÉ¾Íø)À­¼e/0U~XsYQõ8ðtJºl©'nË÷«u¸4}HózTjœŠ‘Ö}.MD¦G_Œþêñ&l‰õ%ïïæ‡ß¯&»×‚8pcþ”ÁiÀT&ï b–K†=÷jå—ã¼ÝPÞ±~bå–%ŽE%œ‚Æ‚ïº(ØØB=÷3GkˆœÿÊ” ëò }A{¥Zû.T\ +¼Ï“±“¤iÙähTð²CË]\í˜åÞþÊ×ãXð8°ô5(¹qÔKæ -¹%ÖΆLšñ»¤µ¼âåÏ}ÇAÚǤ×Ê7ߎà…?¢Þ2XìF@Hoyafmº︤d›Ù„áªÁ`—Ö…Ïó x×ápÈÎÇ÷Wü¢&ùe"é^#§|ð3µ©3`áVŠñe(Ž.¾ibààšûpâPËÎ%xºYƒ¹%ïÞ’ŒÅT@£Æ‚§˜ŠÄ‘Ä[¸o·-üˆaèÉ蘤ò§5ÔàÐý§³K\UF?Mÿ±]\ðèÉšu›S¶òµa~»$Ôˆ}¼€ Ã~ÆE”•ý¿×ÑÀûÜ*Ÿ/Êmª\(©Uð÷ öqœäãꡌõȬnÚ˜4v¥Ge]ØáÑ-7¡¨Å£_„aI†Ì€Öc;‘W<*.pï¹ÅáÛŽxè­|S¸YPÎI‘§‰?†¦È»sâæâ Àyv‘ø2¶V²aSc•jL@œ„ãheKØÁ²±‰Õ^Vϲ •ÁxÖ'«äv‘‡ÐÇ(ü³ƒM£îñºpõpFD¸¿/8ÂÈu |C¥Áq t -eD¦7júHcK«uIy $+Zq4Î,„IEV¬Î!Z¬°Ë6üW†DŸ 2¸ŸÀÊa!.ζ|úaæ>UÜ#$.²u­ÁNæ•AH>sŸ–ÿeFà °íïy³}C…ª–¦™Á%æn~ö<ôþ \Hßù$>OÒNý€²ydWb‰CYyˆª[¿U«°£NM\ `@ïÓ¬ý# °½ªGT .òI š@Ô1®õýû.wŽåÕÎ à`A\j®f·EŒà}öà¤\úp¼{ä÷}ÏÕŽ½wh<¬Ó¬û€u íX"ŸÞLÝĉ)³5HÿP#ðƒ 0w>Ÿ•0õÖP‚;¡(=b/3)îÕÜ nŒŸà°è¡¯½V’S–ôvç;I¾Wò]°è¦lÔÀêhÈÏ*© -psy -º(E¬{Ã: -¥^„ ›L®'ØESXÓ ™Åß‚ ­‰g¢t@<¡BF:üÜ; £æ IÛ.™” -”çàPܰنùö[mCçÖ%Àkë%& à¥âa9Ž-èºs؇3g[<ÖÖ¦óöR E°wëïlHRþÌaºƒ|RãåS°Ît1µUÌrÕS¬ÂìY»3¸h3µu%-þ^÷^fƒ‘BJB°fç̇WtøàSÆ.Ü'Bîo×9`bòžsâí1…©Ñ¸me,b=\˜>UåØÞÂé+R¬l£b¯Z(D$KQ(ω¸©ó<·–Ù@ÊKÐÎûƒN1ÛªÛsà5»ðs«¸&*UhãñáîÂðú9 òZYX.ìÉaª4f÷$úog»ñÙ™yX‚_á`ìëV¬ÏBy´4™!™œGoÄWhëîòË¥rî±ø?ÖÓcÆoMQÏ>aœl³ûÌ=”ÞR¾”aFóåh}Q3ð×ÝëJNCT ÙÆk©8;*;*%8®:†üxÕBö9kX”÷®þklcä/yI”ÅøÚgªç%›åÉ«FíÀÇ™op®´~ºšÀLçµyadD×ÌsgÐ"ÈTðWGA °¡CB ˜ú~>Šïk%MáÂ'«ê¬ä%^ŽÜb1{l×N±o‹°5‚aéT‘–m®Õâ8kÔŸÁÜdB|øMb‹CÍÐíÀ-!þÎ IHWç1gy& C]Mcº€‰;jM¥u3ЉøF‰˜DG\ ¤9]¢±÷zââPÿ¸? -‹”æÈ‘]î¼cî-9ŒÎc}46‘ÓÉÉ+GQ£A³ÂÀXðÔÈ{Ç|:;Ì ¯Å°0*IV7Ò@ì~üÏ7$ZÖ[Xûf×Ïç”C -I–šXªy5ï&×µºlÙ¹ws¨nØ/°±__­ÔUïâ­+)÷ˆl¯šÁ®i^ƒñšæîðêô¼è.L¥ôƒš,`8ÓØ°Fƒîâ ¾)„æW¯¢‰ò¹?Ë™N¤F¤¸|; !õGIЖ âÂîhZ9 Ùcª0tqØÍµ)Ù& nõô/¢ -˜KØ .Ô,3EWÿ"ý…Áh{ÆÁ·¾"”\îáŒX›™&‡'©)_¢KÇŸæFýcYŽªvwVõáp… #È Ž“ÿ«¾8VÙ)Éä ÛäÏÈȵ·É‘ÌsoÌ, ãXJ:>œ¥ê®¤û¥ÄA)w/þ>4¯¿… ã.ãáe@ŒƒÖl»n¸ÒaÚ ·OË¥¨øïz!ÂV6Îc ã  ×ŽwŸä /z–¯ý&aã€a«§Qº1ëòÈ¥°ŠU3ê4ƒìÄØ°y(î»zZ -öi¶™D –D”¬kÃ8Tv&ß‚fˆ±áäHÛFq¼R‰ ä°é,iEÿب³ƒéÐÂñ -‡qÌdìw(Ì3ÜUpÜ¡8ˆ&¶«!q[¡3¦£ð¨š…TÂtꗸ䡀ÍÙ଱UñðÆa3!VRá±hg AÍ[†Üp¤»´_tÏ:ͽ2âK²†¾ÂPá˜+@’`õoûë/A„))êºôéu¢‰"ÀÎí¹|Òƒö¿ÜDŒÑ@Ạ1Š[CaF³ý(¬ˆß¡8àib°no½·qDV×wrýA¼9c )y4–rl8#ˆõ’Ýì.^䮈®gõQc.»zú Ž,8ÌëpugØKø¨ý±©ØÃQÝ`à§@%6\¬sQ•Éë(úÉúyŽ©yn-ñ†Ð¬Ï潜Ì,¶(û¬jåJk€L¨B Ì“¾ [‘m!y„ž}{Rñh`NyÂõIV Тu–îX»qµ.q{´«éõ -ô@éŽè¸&Hz½zD*õÝ@a‹£¸‹œ)ÔÒÒ´^1’ã;m…»cFKcj¤‰ptÒ¡*U'鉈4±ÞâÂÙBýÏPæ£cK)ý„ "(‹ÍŸœžl -yà±—÷š?»K 4l§]ÔR»†©nÏãòÝiêÎFˆ;ØëÄ~ÎZ ºM‘gÓ%€ÄŒ2üVŒôÄ+[UDakTÕ¿µ/ñ‹$´rÜÂÜ饷„¢¤E(@!é£cãÒa-޶ºu‚}>‘Ú‹¾ôX_( £K -¿Î;1‡½½¨+¥øw™t˽7¬ù`ý ›ïž±&~+Q5§,uYÀ[2ÞÜî yó‘r¿²Ü«!P‘Ê”>Ü& ØëjQ”D1ÔÇ‘øèÑ€~q«Bº$ªA\A&.>Up>ü˜.«d¦e̵ý}ÊXÅÒП^ṞgÅ¢vt,ªqœô¹×· ÌØYø²¯¸²ü(}_B¨ÂjWTžÈÝ3cà)e܉\¾¹ÅÁ’Ë*{áÆa¶yNúüÞ~ûé¾ßà fŠñdUÂG› ©O ßÅæ0R&!ötPÒVÈ‚öeÐUaÁÁD#¬RC“âLE@ðåjÔ4â'¤¨u´¾“1ÅZ¬ñ]´¦|ŸIÛ\ ˦I'UÈ`€Ýæ÷ÆÜ -?Œ©NÂõŒ~5åTŒ%0Û·æU+®Œnì´¥0>÷¨§iÙÌ(R®«ý&ÉØò‡eaÆW²«U ÿ¡Hã;ÐEP¾ ™ØÇêa -Ÿ|"ðí0`?eB¯cJC¤‚p]ÙÎgQêS{”J¸r0Ξ¿‡Y¶;¤=«Ü˜–ñý\W;â‘Öõü³¹¢$BÛrK#¹/ˆgšÞ™v!=“|'%È‹ÓT -åÙò ,ýéàN{¿üƒ–:tO„.Qƒ›SåË x}òœ5ÓÛ÷iþ1‚  rhºBkЙØ÷Éh!!šYœ1š#Åñµ2&ô>LSÓ§,`-…¾ô_»ZLõº¦¾<Ö[»]9cÛiéþì " |$íy‚:9µìŒ¥ïŒ¯:鱟Ø<pü…¯ÄÕ e]ØÂR„ÆÎû;Nù–Fe5Û*8»[¤†ó,Ä[ôºÅ7^'i×hCya`J)ÒP'oq‚d¯|X@_€®©/y_$ˆ®·0ÇiÐeñíj—å96ð› F'Â\_åÄ*¥›¦²ãÏZ+Ò^ TxxîË%7‹µ“ô.,-ÞVÿGƒSz¿Ì`œCi¢Ù0Ü£²0µôTÿRžÜr%ÏG'FG×t_µDð{®Ç^+Φ>¢´tÕúÀ`£¿‰|”äMˆ¤†þƒéA%@²zñ)ÕZ±áÌìªiåÓQcãÆø•_›Äüûf¼àp|H@‡Ëé/%·)WA{@äŒ ÒÖ—2UT'_Œ`­Ý7+*c£Ë„0WÖL{+Þ¡ë!Öù!‚E—rñÝRØ^åªÙÌC{˜ Œ‰GÊ¡!nƒvKhTL%‚.'­Î±d8ÚÛ"Ó=™n.c˜ž " $Ë¡+)ý¤'­°!Y‹=VÌ[\›hMþë[Ú2|t™4Á/°/c~•i­%,½L=[ôlR`D É%ÈÑõ†~Pq¬ŠóAïø3ÈŸPJç„M¹=A^O¦îš Kón›:=æÑ|Žä#T·¬1·oM¼Î`©è:J °ª”»÷œãåËßB´ˆÞ·M¼l¡D¤à-P0•ÍRô³@®€á\ ·›wÿ ¯hB­ r·Áü0)aU˜­b{Ú¦0É”oÖ±=Áí¬˜Â[Ö0¡qŒ1…oX‚'Š®5¦EÖ6o³RÇ`†¶g¦|3£yœd-Ò!LëŠô"3rîFÊwÜ1Ëz4˜Cæ7pÈOÔöÊ~äPÏëW}ðfW -d*Ýœû„ç¯"…¼)-_ijŒo%-Wï˜%wGÛZAmˆ¨µCþõ#ú(-g§ÿ/6J´ÒýXNlmL¡wœ6Úgs–tµ­ :³§F@sV‹æýTÏ™ÙAáÆ£fúA¦ª¨1!swIÇkd<ò -¾6…e¾•kY:bxWËôF–5Ú¡#±ãÇB•-Æ?ÿâÆ—FöP™§y©+ÚbrÆWÈà,:ÜÛ4“¥/}±C{Äÿ²ÌÎSá8°"t§Ë”øwú%Ëd€ˆÌSwÇòЉ4Èš_1•VW­%iÓ\M=¶iŽŽŽkÀv¤L5äPæ6%°­:5Ù_€²XmFceˆ.ºL¼¦ šØÉ"€>DØÐ|É–y›¿™òªJ ÆŸ=¼ÂÄå?pKH#Åyt xÛaÚáUöÙéì¡ÊË]%YúÏ˃E)ýV’¥…Fù¤aûpf<$JÞú' 8‰¡ûjoÝ(êÝvË$¥ž‹«VÁŠŠ¿fÝ0*J´ÂÅ_ܺԖY Ák—1óÐ÷ÏQ¬º  -žàÇ{ŽM;NRˆ°s‘ ÂíIoU1¥Šµíl¥ßw3ÖÏ÷9³f‰o¥uK4€"öÂ9`*“Ê Cð×Ùõm%ždûM«í/á$x]ã~ÅÝáòŠf8ëa±Âgzã„çjÔbb2«°®j£8¶3oƒEÁA@Åb§ÈÚØßò\ÖR³%‘—#ø¡`ztØ›Jˆg¼ìck¥&½‚_t´ùH®¯† @°ßÏ‹vCýRðÎTQ|y¸µ”IëpžÁ¾5œ-c\ÐÖV#¢ë¨NwSº‚+, fð˜Pµ–v›ŽICû€xþ'W™),ÂuóX+\Þ|&óÇã|¨D}É¥lEÙ03=[ɯÒ†z¡Õþf§òÓ½ë]sæ,ˆßk¹DcFÑ~Ä ¾£nàƒ5m&~^äûFjZð=iqJÒz†éý€»5àjUîÙ®ð2.cjû‡±:‹x­Ä7¨Ð¾ƒ¨sl¸ç°IÇ8ä“gˆÜF) Dl^”¡Bô—‘k¬Îj6$­`êdÁ“v}áA[¥Óg£G­ã]’ŒÊ¼P œBÌh%v\Ì+;Õª³:RJRÏ=¾¡\§™éq£KVQL¡t1iÖîcÜÕÀj•ˆÃÇ”ÚÔŽ?¹[K Ì!Û[^éÔK¶Ï1Ëè,XÁàíRË#`KÓ˜jˆþ^©–hØ¿N3ón²›Üì ­ ƒe%§(8 0 Ã8Å+*á°$0è×Ò0¿ôŠJ|£šP補bý‚‚Z)­P‰@’ª{mÞ釶c2º>¾FF‡Ø"›O³Mtªfí¶v -»d0€®–v``KÎfódÞ5E½DwE ÷!›™i¨1ªÊM2ìŸa AJ€¤"„#¹HÖ‰(c”‘F“å“´NaA±WŽV†Ö†’'ôø1jHtfaýÿ ¾ê4€ ;yw£“d!Îc)¸yà†ö}ºC+7Z|;*jTÏ.ZÎsj°ÕeÃÀÄNØõf€~ )eßµ%ìëUAµçšSVêÐ}"Å’Ô¨?»qÄ\ yåÄ¿‚/»ÜÁ¡óÆME¹;ˆô]˜duZõæ8Ë“(‚ãMêšaÏ‹Àm,:+5 ]CÉßøþééEtPz $1õ£ü¢WkÇ´åÉ jlñÊ«[å¼ü€ø¯¹Ë ¼Ð‹,Öj SfKmB«É l5媆½íð ×ó¶:ùzã “OÛnrü²Ïó¨N·w¢ï²vgÞɸ¾zŒó½˜`CÔäSÌG -endstream endobj 63 0 obj <>stream -H‰ÔVÉŽÜ6½ë+øÍf±¸ÕÕ#''ô!¾7‚ÌAÀñÿy”Ô’Ò€s5˜æ+±Xûrýýæ®_nÁ}ú忦oS®æcrMªÉ}W_‹k!ù&ÈU‹^ó8ârî1íÀ<@*^šËwÍUQo.ƒ36WšúRÉuÀsÇ)u,µß.Á#?ÖÖ‘¬ÌOQÑìSq¬;x¯ ä´^Q{áèI ÙçBAùtOî 5š©gA˜#›7åàÍà$¶àbKx¢ÿù³KºÞ çvïoçî·ß6Ñßœt¢¸¨’Pþh M¢ ¨(‡ßøÿ"0D‹°…X¡’m÷ï1]úC¿Ò‰ú>¹ˆ/ñ°QWŽí•å¥UaØ®‡þÂût§µ/ôÖ -¯eÔúÏ¡· UD4×þn™Ù|) í¿’1çÒ«ÄFÅ­²ÿ¨Š yÖgVÜMYÁòmåþÏË; ‹+%,¼?²ìeD~:ËX[§!÷Á!“9Q&qFR,F,“=!ZgCê@˜7BDŸ0íD(^á„EÉs±pŽõ »'™†ºˆ6Ͳøˆ0è–õ`9Ž~µ€Ñ¯lH7Cjê@èXoh·‘ -÷7.Á*ÂV3ÏÅú F£ŽgÌ:Ä:bhãnqH[†Æ‰0ƃ¸²3 t±áÔ´žWŸíм ìEhÍ8nŠAÁE°ŽÁ¸çBs$yL¹$}Uîo ‹Bà†‚„å‘3[8ùògóX7'zæƒùŽ•Tæ×ÿXiŽ;ÐiC:¯T§ñ€È,sôõñ²;7ˆ,†ÌǨˆk­9b“ÜFFÜFÆç/ØËߦÕC -endstream endobj 64 0 obj <> endobj 65 0 obj <> endobj 66 0 obj <> endobj 90 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 93 0 obj <> endobj 89 0 obj <> endobj 94 0 obj <> endobj 88 0 obj <> endobj 95 0 obj <> endobj 96 0 obj <> endobj 48 0 obj <>stream -H‰t—ËŽÇE÷ýõS“ïÇVcC+Û"¸ö„!.Šh6ü÷>7"»§«F&v×eWd~îq>‡™ÿß¡sûòˆÓâZq¾x-ýL>Vœ÷{œïa~¢bhiOqn­èŒ¢> ?v;ž ðªãyOcA¡©¦iï­½íqT€8÷ÎÚÜ[¬øqE°sÛgì@y‰wjÜËh[­yŸ<·É—²‡4ÍÆ’ìuÉcŸ=òZ¯¸›2çeœ ““ÓÀ¼Û¹@²3hµ:È›‘( -vHy·º¥ PöÒÝÌ 1+eOAVò>‚½TöÞ›±(Sƒ -ùåÌ 9™YVâ>ŠùÒö’º1ûólz¦ÅZt+gÈÌŒ=È ™Ê Kåxîø$çf ñ„›úÏÌ\ ™™:”bõ2Í´‡ªgœ‡€¼‡8÷ÌÌ23eŸê™ >(z­íšíú,Ê9ö¬F ¤³,;gÈìLOq £U}0&g…H¡˜Â½)|ªŸ°s…AtÅ+¼{×k‰/ÎìûÅ€u3'ĬŽBÀ“:Ô½Ò.…¬•jÞ4Ü*[¡³f7s†ÌNßsÔ÷6Ì›Îp4 -¡,§0Ôde¨½ÝÊ3`6¨oÀ—!_êf@K²‘<å J -M§Ä½®.Ðá*UºúF¾@Ó ¦»Ï$ ÑÞ(ËXvÎÙÉ{å祓X¥&kôÂÈN* IÆ YÝÊ 9éÿy­Q/58‡Ãt„=ºš¦ßóènå ™™N×è-«[*ú^h#jdNР·Ri9†+´ìŒ&¨‹ˆyfÆ8‚Yá¨ê@*î­Ôœ¡Ã¡šIMst­W¹CÎJr`²  j8îvž!³C‰Ta¨³{éPûÕ@©š…ôåÜ­<Ë[Ê€¡”à´:¢ˆ+6aÝásy…‡ºÞ¢D»I\Õ¨6ÄÜúp@\ ýЗ™3t8Ô2ÉÊÙå‚uDvsöL`%‰úÝÊbF ¨Nz!ódM’œ³ -d^gu ª î4–3ghÙÅŠ|ªë­d@°eñßÛè¸@©> 1AYäÕó½oÚ–;CœêûhfúQ^<æ:œ€•35M_ +Àœ}ýeÖ ljN¢ȶfØáï-ÁåjãX`ˆ:¤)èG‘jÒtÍ-1»ª’™ $3°+!5ºX:Ëtî%MY°´ƒÙ¼¹BO -#•ÐGi’>J“ø$M bMÖŠ’L!ë7µ™¹  Ïn©¾®Ðá»=B¯*B3ÔÞbê’4ƒ ':vKLZK–¡ ¢za8*CälDÑN×O‚FÈÖˆ"ëFqd¶š ¸B²Ã J†vØs[ÌÁ{,k§C»À›.ÉÎ:.Piw(Ò’…Ê¢JFIÍ~ûïÛh½´Ÿp2jñ –Ë=€«MrõÈ®ÐáP‹NìLŽAe›‰ý¿Oô2;¾áKéV&‚1µÆZüCÊE¿¢ê¹øç…û^°]§ž`z´LŒ×æX+ª@%N©Ḛ̀'|k¹‘n¬¨½–4_D¥ÁŽÍË~–• zïÄRÔ„ôA¤.ŠpˆíØ1“Û9C÷ö)Í–sNfG[•lA ® ¦.Þqp¹sBG‚>L¾pÝP[hÖlF :£øÒº@f'(¢gÒ‚…ŠË! ÏD'½¡Ï´‚:Cf®Ò•–ä!rÅ?•Ct”$€Mr²“ªè’ˆA·„›îìºL2©Õ‚ ?«RÄůÜN¶êCZ^ »ò±vÊÖR0bDÐè"Ñ·F›ê -‡|ÁQz  ɵ•~d† 7)QÓR–°5­ÀÎh’""¢»ž0 —g¹r‡ŽÛ×Û¯Û·ï·×Ÿ?‡í÷·¸þ¾øÇ—o·Ÿ~Û^? Û¯Û_Û>Ý>ñÛ‡™žÜÌ·'裞iã#ô8ßÜî”G«góÀÆ -LaÁ³,øZùx‚Lúõ¨Q9 `”ß´ž©N„ áf¯Y±Uw…¬:Kñò” *S9) ¦›Î«Ê0©•´?ŠüŽ~gÓ=¯]^×Íj0cMº"Gþõ|Åú¸?vO%ØŒ:®Z‰Ym ©æ.£¼Z×%ä ™ô[ò`ÌÄ ¥èÊ0W²o°ª¥Vסá©EÂÍ]xrñ2À$“éÎâ¿1?¤èdv8–åÏÕ0Iy5 iþdaˆŒ–¤=Cf‡zkaJPÛgîT¡ÒÕÔ…¨ /*èrxGŒcOÒ~w~ÉÅø¥6ã)˜ÃrŠD¦NÈ¥¦“”œG Q]_[[¼–ŠóZéª{‚Ì 9 í®+­ÉtyB£1g[Õ‹wŸ!3[k ˆ®%¢Ïµ~Åçy®5 ½.ÎÏïkà ²m¢Z'_:í‚ñíúZJ­ùJïKé 23„3Ö.K¶%p“m»b[‰MXØÚˆÎû’|†lÙF]mµZß³|áÛ½ÖÀÚÏ’AÅïV÷•ý™•nJA›¾ê–eZ gÓËî4M"½@=â 2)´'&IvTþ&­gW4b"É—Þî‚æ 1#ÚÒ3i)_é¢Ü]™¤îºäàã;×Nº@‡C=dÓWs¨À4ž:Iz«DnÒv‡gæ˜ ô®D[ÝexlUÏxèJ‹¡qQ—Ö}匎LL˜»‰à HM>.Í)-+¹é™æLNT’ªÆàÃu¤iY›hé](LzwIÅ3bVÈqfSÙD"¤‹”„t5ELäÊY wëª{B–/Òel†i:Qò\f¥ÏÍ7ò¬A,»æ¤y‡,ÖI÷úÿÈ.wYŽ#ˆúóó"«ºÞ®A6ACôeˆFS€@@€þ^'"»ïNׂƲâNg=232Âd)#@W¡2_fowœOèŠ3ÕëIäÙã³¥,a –…š\‹ÏŽâ¸MÆ'ä8ò&ãò&v£ê¡b÷2ÂòÐð¶7uÝŽç±á9<4í“ ÊH­0Rý2dÕ`³µ¾ü×tÔWÛ6.Û¶V»y›AÛÅa£v»Á貃¨1YÈétËd#Læ*—7mÃFtµõÛ~@—7•}“¥ !nÓkÏ EÆ’¨"!rÒ`‹ -ÕÓ6À„ù*t”\6zxí Kö³mƒÎ€d*Ä™<™–N×ÝžáK3œ_4NS剜ˆßj“µái -úÄO[i Ú¨0i ì 9‘£¨Ì–uGYPj­ÍjBdc&ßÊ-¢<3×x‰ïðBÒlýZO–IßrGù„†Iú N§ú7 2¯P¢¨1~¡ãë=â<¡+NfÛŠL+9¾B鱿úÐæÿ^ß sƒŽö#}\h†aèò«oÊ C¶¾8«H†]²sƒ®¡";ë,Z/JDó@š.s\⊜i4÷£ýW¤er—æ+ˆ#„ráîå}äïœ5¦eUbÁ7;dËñ¿YâŠÐ!ö™`YͪßÞ† _áãäï¶!÷ïPýß¡/W’¡Õ$*64d/šß,‹Ø5tä -º“Àß>n£ð Y£Ðп:À°pDihtÒôWPi°ô.í¦ÒOH™Ç$žXázSå! gU:˜ŽÚR%5›ªcCeÈgŒwQè]ËÔÅ)¨pã*ºhŒ :7¨¶ÊŒˆzùMIýDqPÅÿ}íˆ?’`¯n°¡:4 **ºù -`dðÁ¸Îó„®8UçÑ£¨¤!ÖÐ`Õ:™íjƒzôéU}E‰JjHõ–Mã -Hð43^æp‡Î€Ð³âÓ)ï¢×UëÔN Imù¹E,]~mE˜'ä0\ðXžU‚V]Ó ÐcomØjÄyBg@„÷4Ìq‹nÂ$«8LãE»GêX×­žÐÐá ÊR…™7ûðhn©Pu`ùqžÐ]„$ âq³"–*8æ É(tFÒ7ÈqÂvH] pßlÉÔ²Ùq²Ë\:FVÖqžãðs‹$ÕŠâ(VyjYÅéJÄ´TÌ;¢(6+Å´J_”.}’­[åB. éé~D²6è È›h'ùS|…yGÀ)Š”LLÀ :’þ¤²4P䲊ÌY¬!9{‚|ßê 9 ÝQ¦\ 9†Ì…t¯$YPFG<ò)Ý¡ojZçX4X‹­N Àl%{4¯×y"Ž‚£ëòG”âÔ¥ð|¾x•ÍкºúeÖr½¢¡”:\a†–§cörÜ>b‡.íë]ÒIòòà{ì׺\Í"{bè1ÍwèòXª½È>Ú6RžJ)ã}åãò‘lD·Ñ#̹Ì礗»¸¢Xh­x 9Osëu_§Ù Ç…È[§ã¬ùˆ„”lÍ:Ši¾CŽ· G<^BªOTAoÒ*Ž u0õ}ž'ä8Ù‚Hþt/&ý8Ô4¼³MiVº˜wÈ.űvñ™ïEÇ3Kà£äÀä±ó øLÚÓqžÐå%2ÏÐ5p–ž‡ª.ëPSöÅQL1÷Ú Åá>I…0†›ñ\Y÷N]mÞ}‰óC(?E¡µPï¡îGôfihe`ÐÆ×ÍY"Šæ(ê9ÝZ;$ùÏy¡÷`ó¬ÚãuŒ45÷ØœãñÕÞB·ïm„&<ÛE*‘uÑèÐÜË_ÎÆëR?Í ¯ß_ÿxÿûõŸ×Ïÿ5½ÿõç+¿ÿý%þüó×_{ÿüëïùýçïï¿ýöþåõ ¿]žiqÎĬüãµÄ.SP–¬]šÉ~‹Ùi’Þ®KC¿Pª¾Açk*²7@yO®Û55|†ƒ|O¶Dc-EMzá „Ò#,©r;IWɬ!êïk-J©*½9ŸÈ‘o„`Bñ–šêS%PeAv$>AÄp§åOä@çŠËjM5Mµ|Üä D€Å)&B9Óż'µfêq’ -ˆ—å©ëáà4 öÂ:52”>˜´QóSh+ÎÌSõå”lÈiD{u½ó'k“NEëצûÓˆ×|"§‘Ž@›°È¨Ýßè4M5Ãq“l‰þY#+^≜Få4QAè-'\:!<§rž‘“²qŠ ¹êbê, ¤­õT>,e²A áÈñDN#ÍûÊ Æ7S!’•È„h¼Y¤º|‘' ’à‹±5h¡™!½¥_HRƒ3þåc§$zmñDƒIÌšQ£„ ŽÖÝêöñ,ŸèÐÞ;¢¢¿Ã»u\£â'Õ§…åî‹D®¯»Ðî³C…@á *´®iéi­—¿8<â‰(O࢔uTg‹9;4Ùõ˜ |ëa‰©OD1j”ÅXRݼ"šƒDÄX YÓÕÙ"ÈkÐØŒMñáÄ4þe0 -e&¦µ¼KÏ¥Èé†(Æp5&!ÇS¶—8–6TB(Ž#iIª=v„(ãA’D(y>-,¸Î/©\$Û¹ñ‹*nÔ QŒe1=djv«,ŠsЩÉÍtØEõåô{nˆè—5}C>“º\.Kk¹7²×$T´N&~Åx"ŠÁ~‡¦„ûÅ”8n†çPÛS|za:3µêO„ܘtj2]‘Vj‡†±š™bZsÚá›lˆ"Ëæ!ϱƒ›Ð&|IÝßGÜd%ËÎ9=ŸèpÏ嬓S#pã ŠH^OÝÈõ²•;r¾$#iÐW¸JŒþGV â$dh ÊŽ5µR³®²#Ä`[,‚FÂy²z¨[)ÍáT5®B:݃~ƒÎh -*ŸÐHß¡ãÛ‡_¢q Ðð†º´b„¾t*½·¸à  -‡hS¥ìëäݵ#?×y òË_Uý@Ð,r7Õœ“ÇZßËM…ÒhˆÔ‚¢›çס5¥¨yË$@T;ÂQŒpož¯ÌU^Êt¨Ñ'.YúeÖ¿Ón›!†Ü§gVO²¯æŒ:P*zh}é½Ñtˆp0cñÎ<ÀºäyÒdXIg‰9•Zw€'¢šÝ×\¢<¤—Ô‹1gšäNóÐÙœ¼!§eWã]$Dj{îVµÇëÔcèÔf"Û…P •D¢qJìÿŒ—ËnÝHD÷ü -þ€-Ö»jÛF£wƒ1´hï…AkA7à60ƒþû9‘IÞˇ†T!2Y••9Leæë\õ‰aå¢gD1tÉlK1sŽ•§ÀبK:•ßô 7Ø4vEVã¶áJ$ ÖRõ+•%°™>ž -~’3¢2\ÝD%( ¬- ’ -¼w—Ƀ§b\Õy¶:¯jT(’‘NÝëòL .Èjˆ¦[IDÒQºü‘d…[¡áµŽ2†6HÖ-Æñ‹ùäjÜ!Ón– z’uÑðQ»Ébœ‘Õ,O 24S°Ž²ïÐbosÑ›RܶGD1 J™W ¾Ó¾Ý}Ë&ËZ[6ú#Z‘^Åcïm˜ðimú¶[ Ö‹H1¤ «° ¢åðsËA²lòt\OVòõ +Eá=@Í%Ž9k—C’}­óQÛ©ç-Âñ©DkÌ%ø;Ï!®ÌOWd=#9ìHÊFÙIoÕáb$ÅÛ»kPq¥ÆC¿íˆ¨C‡‘RñÝXW:=ÔþÉ'QH -ç°ÍXô‚BÞ'jîeà\šM³øEi½Ž 2#COÈ öh -{$Ô°XÂ0y{ãÒm’-kÒÓ>8böòŽ­G¬ß¼AËX¼¿ò{®IJQ €ƒ´ â¹a6ؼæïóŸÓéå·×eþãçæ…ŸüÇÛ÷é—oóËë{œ¾Ï¿~›¿N_yV—ˆç'Ȩó÷É Ü`E¥U8†³r§!XrºéË’mçlÂ6= ujaàéG™˜B!Wª€fV·¥˜½kÆ|›nalæã ÝÍv‹Ù8L•äaâ±6-ÈYÏHŒ¤™í.²JÛW$®¥<÷Öú‘ãak;B ?O“€Ìûi›Ríµ%¤6Ÿž)ÚÍ"žØ*7Èĸ%¾RmñÞÒµTú¤ÖÝ™CFú®ðy1…U²(®XñµgÙ–~«Úr·¸õnqë½®.³Ýàã☳ơdÑxe­Cìå„X”fe–ù‰è%ç¡,W“ms$"ê l»YÈDÑk&µYƒþ©ˆærhåÈ:lr~E, -¶ËÒ R*kŽ“pƒQ$ÓL‹r†,Œ†”Lk X²ÇR}98(lfr†®h´XÞt Ø}å&)  ¨Ú ­vOWÈâpÝÚ uY³½FPÄÂÂUÀìQÞ¸ÈÏf)¯ÈêHeó­Il@V›WMºÕ†䪩nÛͲ8Ýæ üé¾ZTeSEv0cU}Ûç3‹s†'j#NÑä£ýÈ0³,¦ø,aQ}§p-ÙZá -­1i6Ô!b23’5g2_@~ü’a‚¶8gÈâ0'„œ5÷´Ù€j@´QÀ'Ù '/Û_ Õ!IVÆú,–Yj«×Ì€á\¼®Å5èלdãí5úŒ$'öY’¯©9Zx’/ÐF$ž“2fIîö~†ÿâ2ˆº47Žm;ghu(뎱©v­¨¡\ŠÃF‘gý¡µ=β8¤…aðúÜ­ãV¤¥q ªíc2Vz›nâ¤ÅcVYµd*›ì Œ;™ViÉÓsF¶(CœCω†`G„2ÓÌ=4ëd8ŸàaÎÐêPRh±%Uþ!‹Žjt «,`¬‘Ççmq²êÒ<Ò¶‰bÒDʳO7h=B4∠’ ž‘·êécfS”Æ¡G1Â4x<öèY¯ë`qN´xgq† Ö1\+âá×^ƒëÞ’FTÒ‰ZF4~Q“¬’Ê€x^–’ã¦v)’'sGÓ-D³¤pv“ ýS³©xv ÇåÁbˆôËpö#áìGBùh)åÅk²ìfØ-”"ƒ'2mr0f‚Ö7€1±] ÕÅ]ƒ ^!r ¶0Ê4°Ä¶D˜ˆ^5gDwDÔ¬äj ÑRñ01«#¨ÔwÖL,ä¥Qºœ'A7AýÝ‚Î;'Éžö±V‰uk§ ²ÝFØÄÎ -Z†Bkó‹¬ÌÿžnÐöIÈA`­b‡¶µÊF}cÞws„, ¢®¤Ø™¨Z6D]¾L•W,„G9C–éz7ÆJÒɘ:i*jÌB3Ž-&ˆŠsV‡Ò®b¬&þ §$x&T˜&ÊÃs|V‡‚H¡*òIMY!È'o€\fÎrfÕ㜡ա$FG'›šIÀ²4SRYHU¥Äš[Ý·s†uC˜"ÏœýµE"„O77€ø‘uöQšÇ9C«CvÅT.öZ¢®ôŒê«8Pä5¨„âqÎʼn²¹ò+’'ÖÁ5×ÓlOX‚Y§¥r†ÔSrÀ2µŽ5y’°aέ©?«l¯ÜK—¡q7z,ŽÚÉ­e5– —]éò^ñÙ™Ñ`˜ dqœèDx-XSâÈúf÷îÕnæºUç ­É•dŽ#“ W@À³]‚‡qVYhNÝeü)NÇå¤`ƒL37²ÏC4‡;Û®b\ew·ÈâÀX¾Å^"sÔtyˆ¸™i½BÏù_!EÓQ;ð3–Ù^ÃOñ·‚aH‹²Œ™Æd`ªóç Y Llp«¼€Z““㞢æµ*:$‰Œ‹ßú2FfHBKRr•šmÞÓm$¥ -ìœ|,ކV²Lg‹Ó3m…6Ž6–ÐUïŒ]c.ˆ¢ÐQš K‘URyh•{‚Muª"Ë=ÐÛ]?#¥Ø˜WŠŠS¨þÖÈÉOQ5ŽÁ-<}æ¼B'XQ6Ía‰nèÌRÄí ¤¤ÚªòY®y'du”Q–±0w…“ ¢{oÁ‡Íò"y†lÊ+Ÿ¹’Y¦F¬È1Øoî³.sIÚe'Eš24FJÄ/ÐêNE&Ô¶!‹oî  -pm|¸‡zö%Õ|Éûôûüçôczùíu™ÿø9…yáß'ÿñö}úåÛüòúžçŸïó¯ßæ¯ÓWž]æû‚ÇÊzR¿þõ/ óò… _^ç—æùõË?&þòŸùúÇìQår4êFEü’ô)ýíûô)͹M»ˆË2ÃT¥ÿ®ÿo“ýš¶§£ò¼’í‰×É7*õÜ¡Ì}%vPÒùø,„5b¡¸DJ„ª‹ôq(š§á€9¡€ÔgwlÓ‡iTâQÒ4|ÈÀ8K†ñ²A¤^ Ñ ÕúwŒP’«‚Ñ”‡mO³!Nx̾܀<å+{  ´^ ŸP›;­Y’6¹}«X´6Ù0†=ÇãwHqülM¬2?Î. ¬%>“VÿËxÙ#KrAا˜ h‰ íõŠà6!chH†t}}™Õ=¯hw¯»(TefM¦¿ÞÏ9; ¥lO6n€;ãœÇ} &)Í©Ÿ i)À"Žèªˆð•1¦QæVÍgrÝÖoµÛ° Ê y !˜ñΨ å­u" Ó‘Y¶NþS@šÕanâ`ú¶½½š_kæ:Ï"t$@w ¨–ýä8¢½e¨LÇÁ[ÕxF:€=™ñDj{œ+ä8LIâ£%ÎY†Šv² eÍ ‘YIÇ(¸¯˜ÄÓ+R¡oâ4™‹aH" -€x¶x&1ËæÙ“o¸#¦Ótþ€J–ÝÔ¡]ø »¸§v‚0`zøz@ïoh¤'TžPKîŽ34NR1 µª³Ñ1-Ö=Ö4N‰wFmq´+ôŽÓJµ­H5Êd$=-je á9¼î)jóŠ( -ܽp2‚Ö¦bÂÛ(þÁ.›ò\I8‰Òz³Í~@“lew½HþíJq Ðr‰óÜ w@¹”W´œÂ4¾y½¯dˆ¼\qß7ÈA¶Ò½hTBÀ¬:ŸŒÐðzË%Â\G! $C£þ`2Û¦ 1QúÞÙj‘Û䯧W$˜§m™=PJÖŸ‹QÈb¬FYÊÚõáäÞ!‘j_¯‰sT³t˜ÅÃÕƒžDš”G°ÿ)ZÎ}bw–„=pÁ¾l}3¹6‹ÀͶø) ˜¾N{£Ü54bŽÖ`_ûò#±›ô¾AAýGœ#Öëó¥MeÂÇ?»Ù˜ò:ïoGe?ºG¯O¥g?xN8ÊIë}²““¦¡Ð¢¦Ô2dóësYv@6úscH6[ˆF{`ï†F™æL‹9òcÉ dÆ·[Ù+}°÷‚­ûä’þ;´Ý¥(©PK ¦7zù¤—68¿þ’—ë/—Ue’Õƒÿ8A§­Pz@g>f²Ñ‚Šö‰çý±•àìlaôìñ€|yE…†Bâ1Ôx4‹ŠO(TÀ´ÂnÝ/ ÷sƒG“Y3TtÃ+‰›Ù M¼”½ÅÝg¹uµø€Þ‚˜3¥V@…²ÏjºÚ´AM_$Qt[™J„¹"Š¢²wÍS¤bÑNúѧZ„Sa§‘ Tš~ÍžZâx ããü›Å^4Ò A]%mt-Š[ƒc›ÎÎ"ΖØ<†°ÓKÒ®¼Á”]&!雬!íã·%7ëþ¹C -Se–Ú«¡:š.(‹†o"çº\gS5)ß¡÷ -*:"aP0DŽߪ\Dã™Ï~*ã[Ný¼ÅRœý`•xStu‹Œk©ß#}\~=g쀔ù=Ñ…?É7QdZæú¾À2%Òí|¤0:–æD äûªšFõ Žèÿ÷ëùµÁÔÙ€$7®Ÿæc•¡6Q5CËð Úã7Èq2F~²e[H¶€BP.¹€² ÔhÒ;äz¦A¸ð"~ ÝIÙ€L†¶ <9ÎrØvj‹Ã–“€©ЦãÐ %žØmøÚû«e½†·t~¨¤A' º.Ê`kËë#Ôz$¦Tš{›bËÀF³…ãEG€ÚRdç9 «Fl3%i€L7“à€¢T®È;HDä.¤öÄ#Ç" ¹÷©Î4ô Y"57ÈD¸ùÖÊPŠd¿`X-i5yíÈËøV·t¢ûÒžÐS'ÊS'òI'DÖRVA¾s^Ò^ˆeKc¿¼æ*§"?7ÈwN©4…n¾{×WuQSTÃÅDÆÜ›ÜðQËWhĬqô×dªÇ|dí‡îëØ`HmšÑ[Wèm«ÞÔ¤ÊK>>Hšù¶E$?!múpüR¸ÓV¨ú-ÈÕ-N‹KnܽÊYvŹAà } -ÐéÆh5]¹6iÊPÀM¹Ý·s…§g}0)Î^‰cÂèÓë)Š_šƒäTÅŒ%²sƒF¦?ZfŒNV,=Ô·×›ÙAë5¢CoÑ̰µs*)štITÕØ|i\£š ëØrlç™Î1 16¡¯P -zƺ©‰¼j¡f<nÊìR4ÔÆÐt‡g†>Šâé|}‚g0¬EHÆhµ" -D\há××yƒd9Ó”MÏ…¡‘•h ƒúB4‹ÃÜ ÷ jãq³£;R|«Ñ\™<ÛéRIó´ÁÑ1÷SuÊ5z?7â*ßé꛼{=§ë€Þ_Ÿ,…v–÷{YÝò -\ñ¨Hæ²…¸!./ˆOÃ+>ˆ‘âå.ZlkP®Cº/vàĺº‚t†Þ¡-} ŠR±ˆIƒ3™ÓýfÛÉû -íì­‰“üÆ©ÌÌÝëi¿'«Ùô5>çÇ}ž ¼K ¨iæ1y–n`%Aë²{Ù _¡wøì¶-CYöerÕW- œu`Œ˜N:p@ï¯ý¥c\fŒÄÀ²>©éIýüÏ?æ·Ÿùùûë·ô×ï?ÿþÅ_þ÷ú„þ÷+¢æckì ]©ú”þö‡FMxê¥ðŽÞåÍü[ÿ£nõ³U?´?û7¼³6­~}ýþ»,M]°0CÊ,‚#v3.‹9ïÇùðÃ3$ˆ¼4×TÔKåùÄh:ùXž7¤) \H OVá4|@ š~}=1‡ª¡Kü'³€¿l-©¥êñ„Eý9N²»5”`ªbn‘Œd²1ån«t©¶@ZpÁS,ôtS=æ¤Â,zÒÞvD£Èîys’ÙÌë†9–jÇ4øy~q lH[ Z-’RäêŽ)W–¸ç¤^WÞ'•ï32ÙmÍÑEj%6¶ˆuÃK>zS -©‚.?W¡ºœ½/®D¥Wå5@ej`˱¯;¦Xî_ï‹L·eL^\Ú–Hð”ë¬|(Kk¾_…„¡2´©é…¿CD*DŸâäÃuùbêÛª½m2½¬ñô´¶xÙ‚> ÅÁÛb^›ÈT²¨À „-Ç ötJÈ"t‡ÞgHvÐ䯚«ä•µVBàlRÚ™ƒÐþ–ü½ Kº `'ÖðÙYSO´v ŒØÏzT´lòj%^ë9ŽcÍlš¡3­#Ìrz™ìÊ" u‹ä%«%ÏM`ÞåájHýz´¨s ‡ €n·,KÙR À©€ÊfÛÓ|…'|Ϊè¹úYëK“`ê;Е JmØd= =Î"»üÊ’ÅÏÒhŠV+Û:'¶‚û¹BGùTÅéîGz -uuWNK\‘Ã\¡w@¾c,Loþ:ûBä5®¥<Ÿf±¶ö8WHqô>ý%¹nYYÕÔˆà®,‹«5WÂy¥ÕÛ^Ì7ÈaªýýJÒÝCì "©È ÒXãþš›ô#Â\G¡î)‘ ÁפN’÷£55žM±úÑÒî\ƹEHqtmÜõ\"å”q¦éSð¯“ÅÝã¡çÊf(E¹"ÎCJ;—_B¸6ÓŒÐ\4)¯æ -9,3ÅžM…Ã4 ¢I{6ï†y‡M\{v¼!ŠÛ(“îSÀ›´ÁĈ`Ì4‘ÆÄLU|E¥»f'NnºÍGLù€M ¦Kû ,qö=Ì2—⢠IS̺¨.‹Èöøäìº1Kîm‹¿Ž1˜Z«‰0)/ìS£ê$aÓ<&=àƒSÝÜ£‚oâ0ýHp'7(* 3:¤¤cêö•F˜mRM’ŹAŽ¿à¹g‘auœAPE4ï´ÎŒéytªp£®È;Õ…4Or|!±:dšFQL•M4÷ö¾"Š2³«‘朚=˜%øAd¼MSuF-fÉ»ƒ\YrGìÇ lÒC•æç(4ÙÿÉ®–\)Ž ¸ïSôÆSÿÊÚú y…š…Ù?YfÑX$,ßžˆÈšaºž`*èÊúeFD2ƒ {ðn{* -Æ8#”_0E£ý†H‘QØ+Ú‚† aüwö Áif…¦­ îE­d¢eĤƋÆZmÈix< ëyØÏÃqöèÃì½S'3BÏPJJ½H,æ3eÀ$¸á»Å|†wR£yz&Cä,rnˆOQ‘E€sçàs%¹;v¦ðÁuú8 -v§é(ªÁ’3BÉÁª‘WbÕ4B&@!á¹pðÄgj4ßÏ1ŽØŒP•Ü €Ý‡EYiIÍM€yÊ®â€Q’¤Ç2x.E\ˆvv&£FìÌ h…Î8p¼àN+rÏäæZµ\ nÝí÷)NRiw+ó½ l–LªPÕm /aÜ„[ÜR `kLóÌWMˆ3Ña$®£¶*Ù²iáHqŠh¸\kçòl„ £Ô?š ´N}˜¦âœ!ÅAcÓ"”5È k,’ZéI†úŒHþ^ Ä8A$ ¤¦®<¬Ó뀢 OÍOu>)Ë+%0®ª£/Å›ìEœ[Y …Á-uBUöO@¢Ù¢ÓšH—>3çŒ(JÒCÑ%ïØ -vÙ&/,R×aFU/ˆRÌG Hc{v¢¬P9Z¿Â¦4ñ5èµPqÕ\øèp(âžLµKæçC `_X!ÊÒŽâÊ¿@ŠA«žUÄ 7y·Æ–H +þʯÛhÆ 2âh{ºöCÖåºG1*­hAf†y®3t8”eÖyeݧEÞOa< -%²žÕc¥I®ç QçÙ45Rèm¬\ÌyѤÜãÁ¥¦î¡L¡šD\X‘sƒt]kŠÅÖSß° <Ô:±8TàKášE!t@rfÙª#fJ¢7cEf‚b¯"4B}vtö˜)ÙC!Erc&È8‹ù¤1ªÜ"Þ6UGê(hÁ uPÌ!¶à‹6 .¦Àƒ°ä„8ƒ¬üjÒC‚ð$ ìyZ¨=™e '·¬ññ<®Ë¸/ã³cŽñn™›úŒÍ%†‡¡(«s׃»RE‚¯Û_û¿Û×íúÇ-ìÿ|ßâðçâÿ¼~Ù~ÿ´_oŸûþýóþîÓþqûˆoÓ…=A¦ð%~û[a®/òrÛ¯Ú~{ùsÃÿü·?BÝ=j¼_öNåÀ*„¿l—Ȇ¶p}ð”p«_ »Ùô®Ý?®“ù÷ëvÃö®ºÖ~^ ,S™ØäÇjÅô2Óo_L?çbóÛ‹/vùµÚ»÷/;þù)ÀW€ -endstream endobj 55 0 obj <>stream -é€äé€ä9ùwŸ -wßLøµw¿ˆRø R’}»÷•ªýühøIhi¨ø¯-n•ô#ô#õ”#õ”#ú$ú×4>9ù\èãéÍ‚øèg%TÃÇøÇ{uøï³UŸÓhùƒKÌ¿"ù:j÷ĉù[×ûŒùÓzvpï’ú¢\¦Šúyv“¶ØúPÉãbÚäùˆ·ïj-ù¤Üv'ù5˜g¬ö%ùª1ÞAÿßõ”#õ”#õ•#õ•#ú¢\¦ŠùÓzvpï’ù[×ûŒù:j÷ĉùM-è s·ù_Î; #>ùrVÔ 8yù“qß )ú N³ïLúßIî IeúËQñÝiú¶ÊúÚSÄùçébˆœÌùn=íªºù€éE IùøäŸœ‰>õ•#õ•#õ–#õ–#úßIî Ieú N³ïLù“qß )ùrVÔ 8yù…à MÃzù•«9 d•Dù§@© z\+ùÈUÆ [?,úC›Jø)[û JQÊûÜ 9O×úó¡  …ðú!ooË1Åù¦)ê .M…ù¶ÀU ErVú0l¡àdhõ–#õ–#õ–#õ–#û JQÊúC›Jø)[ùÈUÆ [?,ù§@© z\+ùÉÝ3 ¦luùì  ÑôUú Ð üù¼ú.ÇŒ Þ tú­í zÝûˆÓ'ß”Õûd1°¥"û>ÂŒ'úiR (;©ùêìa ‡Ouú ƒ ³› úˆK÷ P‘õ–#õ–#õ˜#õ˜#ûˆÓ'ß”Õú­í zÝú.ÇŒ Þ tú Ð üù¼ú.Óh -(zúMPF -U7öúly" -€„ˆú5H -cÂûo -ÑTûð&L nü,ûÎ/Ò ?¹qû¬ÓŠ »úÑa ¯ÃúOÄï - -42ún~ -7´0úìx† ØŽ™õ˜#õ˜#õ™#õ™#ûð&L nü,ûo -ÑTú5H -cÂúly" -€„ˆú«ùQ -ÖYöúâ#i /Uøû(ñ „hû9„ hÜû¿…§  ü¬y] -Š˜iüp–` --šaü5;Ë Ì·üûS~’ -e“ú̵x -¸Ö/ûü ²–ûƒ¨™ -¸õ™#õ™#õ›#õ›#ü¬y] -Š˜iû¿…§  û9„ hÜû(ñ „hû5T¼ ®¯MûLê< Úéûeé„ wãû…M® êÙuüÔ ›nÙý>ô IÚüåd -èÖ³üËâ -¸²šûÞ - C§=ûUG< “ êûlHx ÀD½ûòÐU lû²õ›#õ›#õœ#õœ#ý>ô IÚüÔ ›nÙû…M® êÙuûeé„ wãû~~ - 0MØû–¹› Zˆû®¢# „7ûÍ`> j£yüXTá :ýO€ ¡ž[ý5oô t$Lýæ F -ü(ÜÆ Ê/ûÜF ©{ûµwµ @öü>DÉ ñ<õœ#õœ#ö#ö#ýO€ ¡ž[üXTá :ûÍ`> j£yû®¢# „7ûÚG¬ ÙÑ$üF* ,PŠü-aE ~/ÏüJ—ò fϯüÙk "ÜËýÙÔŽ ²cý¯( YýQ þé|üˆ+á |h[ûùÆ À=˜ü#|× ðjü®¾“ Éäö#ö#öž#öž#ýÙÔŽ ²cüÙk "ÜËüJ—ò fϯü-aE ~/Ïü@Q §Š2üR ÐJcüd¹Ô øjrü# â&þý“' ¡îõþKÏ 7¼fþq( óHýîIh ß~,üíßÞ Oýåü]Oý *ünån ºïüý¸€ v%×öž#öž#öŸ#öŸ#þKÏ 7¼fý“' ¡îõü# â&þüd¹Ô øjrüvlì ¿áü‰ÅG«Šü˜¤¤o¿¼ü´ ¸ZžäýF ûþNê ºþ>‰† ŽOœþ)£ü cÀÓý$ëT Íóaü’Â; -|nü¥'?2вý5½ òX–öŸ#öŸ#öŸ#öŸ#þNê ºýF ûü´ ¸Zžäü˜¤¤o¿¼ü·’1¿e§ü×®6 ÇVüòXWM”ý °¾Dqóý ƒáíëþ°Ñé¶»þ“­dMòþpÕ.Ûbýh¶têKüÒôVªDÏüñsøë´ýƒ^ÿ¼€OöŸ#öŸ#ö #ö #þ°Ñé¶»ý ƒáíëý °¾DqóüòXWM”ý ì £8¥ý$¤)ìBý<€Õ3{lýS™Ê"åýê¬5ôäÿ²(§þèeÇYþÌý´ ‚ý¼¯¬a´|ý%DJbòý;½ÜØýÑ_Ô¦‚Ðö #ö #ö¡#ö¡#ÿ²(§ýê¬5ôäýS™Ê"åý<€Õ3{lýPïÁ{jgýd¦ÒÀÇýw ‹|ýŒgýõ"þ%Nð̯xÿBOŠ28ÿ-’ÿAPÿfõšdþsBœ4ýh¤jÎýyn´²X5þŒüƒÍUö¡#ö¡#ö¢#ö¢#ÿBOŠ28þ%Nð̯xýŒgýõ"ýw ‹|ý¹ê$Êýˆ­#F&dýX7f¡Mý£ë³YCBþ=–\3Ùÿ]X4öVõÿTïWÒäéÿM8g®…¢þ02cñãý–{Ýa/ýœ@Ÿ8ÈYþ5-€g ö¢#ö¢#ö¢#ö¢#ÿ]X4öVõþ=–\3Ùý£ë³YCBýX7f¡Mý—ßµ‡(ýŸ=°§Éý¦r'Æ=ý¸Ñ<¹êYþS'ä—eˆÿuv^¯ÿm•©< Úÿe‹°ÔÞþEÉÙWWý«s1yÊý±–ך¯²þKGouQfö¢#ö¢#ö£#ö£#ÿuv^¯þS'ä—eˆý¸Ñ<¹êYý¦r'Æ=ý­šÁå~ý´ŸÅ­ý»{E"4ýÌ §#þgáöïñÿŒMÕÂÛžÿ„Ø"¢+Tÿ}>Ø€ÉþZê±¹˜ý¿ùÖÙ$ÿýÅĆø¸œþ`!ÖE–ö£#ö£#ö£#ö£#ÿŒMÕÂÛžþgáöïñýÌ §#ý»{E"4ýÀìÿ@6çýÆA]ÀœýËw}zª/ýÛgØpCGþváSAûÿÝW#šmÿ˜$r­ÿ’G÷ãÓþmòçfýÒÁ4ÜÖýÖ1mS_¢þq(63º;ö£#ö£#ö£#ö£#ÿÝW#šmþváSAûýÛgØpCGýËw}zª/ýÕÀ¾´}Výßsë¬aýèéy C/ýövöªàþ’Ë©ÿ°Œÿ½á£ØNFÿ³¶ -žñ½ÿ© åbµÊþ‚ º’]Wý屪nýí Þãþˆ ÆNö£#ö£#ö£#ö£#ÿ½á£ØNFþ’Ë©ÿ°Œýövöªàýèéy C/ýöqŠÇþ·YéT)þ U–>6mþp_8¾Åþ²Õã)hÿäŒ?ÑÿÛ5÷³¦ÿÌäÃK¿3þ¡ÎÉs‹þþ…„xþ Ò"ãÖ’þ©yÝÌÕVö£#ö£#ö¤#ö¤#ÿäŒ?Ñþ²Õã)hþp_8¾Åþ U–>6mþÌD“Nþs_ÝÀþPÔ–·þ"žø‡ÛþÀ†õïŒÿ÷¨ÇÜÿñÆ„¾5Ñÿëœðmxþ¹æÄ†1Dþç ÖjþÁƒÚ´¤þ»>¿ÌW“ö¤#ö¤#ö¤#ö¤#ÿ÷¨ÇÜþÀ†õïŒþ"žø‡ÛþPÔ–·þ è]uÊþ ùã’Ê`þ"ut½eþ$Þ@¼þÂûž¸4‰ÿüÇŸ±ç`ÿû4Uƒz'ÿúþôIeÃþÄqAWsþ&6<Zfîþ#h‘lvþÁhT‰ÇQö¤#ö¤#ö¤#ö¤#ÿüÇŸ±ç`þÂûž¸4‰þ$Þ@¼þ"ut½eþ$…J¦/þ%Š>=@Õþ%Š>=@Õþ%Š>=@Õþóy=@Õÿÿÿÿ=:çÿÿÿÿ=:çÿþï.Í®þÅ#-êþ&îHEþ%Š>=@Õþóy=@Õö¤#ö¤#ö¤#ö¤#é€äÚuÁé€äxœé€äÅ>é€ä´îyì0BZµeîs†Ñ/v5ðmõòÔ8ð¦æÉ_M4ðßÞ€ËÀCñÐH83QîëvNa`ìm6'Úלìm6'xúèì0BZ;Üî¬x™›éC†ôŸRñZ$ñZ$óy$óy$ñÐH83QðßÞ€ËÀCð¦æÉ_M4ðmõòÔ8òjŠÀ´iôüÄòçõ„><éßMõè¦oª˜öM ùõ{Òö±oé{Gõ$r•8ô™óH‡1 ‹—ó•i¡šò£|ˆ âŒômÚJ¾2ôÀ -·³)Móy$óy$ô#ô#ö±oé{GöM ùõ{Òõè¦oª˜õ„><éßMö6è-L£öÙT© å÷iüC µýë÷Þx K¦øRùÏà`øÇ{uø(vâÈe^÷vRj{÷šs™Ÿ/ö›P î÷MÐx­ï<÷³õ%3[£ô#ô#õ”#õ”#øÇ{uøRùÏà`÷Þx K¦÷iüC µýë÷ŽœÇ ÜËí÷¯ó -ÍZ÷Òwñ -,â‡øJsK ÅÖøÂn¦ ^Ђù:j÷ĉùƒKÌ¿"øï³UŸÓhø{1— -É®ø„ qÕ§ø'îz žÁaøœ‡ñ 3Ëõ”#õ”#õ•#õ•#ù:j÷ĉøÂn¦ ^ЂøJsK ÅÖ÷Òwñ -,â‡÷ãŠç -@™˜÷ô†% -T3øc» -g®Åø - -šèøø°v ŒúùrVÔ 8yù_Î; #>ùM-è s·øÕ2Ž t±ø[†B ÙŸøn,ƒ ï&øæ'Ý ˆõ•#õ•#õ–#õ–#ùrVÔ 8yøø°v Œúø - -šèøc» -g®Åø|Ÿ -zûø%yÑ -ÔÂø5{÷ -££ø°»Ž -@¼ù, Ýwëù§@© z\+ù•«9 d•Dù…à MÃzù h‚ ²Ñhø"ý -í'ø ¿V -,¹ùk¢ Ç«õ–#õ–#õ–#õ–#ù§@© z\+ù, Ýwëø°»Ž -@¼ø5{÷ -££øTñí -Ë±Ñøtì -óIwø’Í d’ù!g -»>üùuÈ -\Sú Ð üù¼ùì  ÑôUùÉÝ3 ¦luùN—¯ - ‚EøÐ7q -hœøòi; -”#áùm´® -1ìõ–#õ–#õ˜#õ˜#ú Ð üù¼ùuÈ -\Sù!g -»>üø’Í d’ø°ÓG B'øÌjÍ j¶{øèËø ’ åùj± 6Ýwùë?i -Û®úly" -€„ˆúMPF -U7öú.Óh -(zù°y -‡³ù/'¨ -ââùM¤… ‡ ùÌŽ -°gdõ˜#õ˜#õ™#õ™#úly" -€„ˆùë?i -Û®ùj± 6ÝwøèËø ’ åù"¼Æ ßûïùSª„ 1ù…Ø… ~fgú H© +[ú’¸Í ×Îaû(ñ „húâ#i /Uøú«ùQ -ÖYöú*¿™ 1‰dù£ö „ÒpùÚ¨ ÝÈ„ú[³E ‚¤òõ™#õ™#õ›#õ›#û(ñ „hú’¸Í ×Îaú H© +[ù…Ø… ~fgùŸ›„ ¤¬ù´Ô ÌûùË” ó«ÛúT[9 ¤G-úÝ"^ Tâ€ûeé„ wãûLê< Úéû5T¼ ®¯Mú®ä˜ þGú& § Qbôú=›: }–ÓúÄ# *MÈõ›#õ›#õœ#õœ#ûeé„ wãúÝ"^ Tâ€úT[9 ¤G-ùË” ó«Ûùáõ. ‘–ùøA @ôÖú Ê) fϯú˜¾Ì Ipû#³o ÏÃ2û®¢# „7û–¹› Zˆû~~ - 0MØúõ¶å ²†új¼T Ë,èú‚÷ä õn˜û Äø ¦Çõœ#õœ#ö#ö#û®¢# „7û#³o ÏÃ2ú˜¾Ì Ipú Ê) fϯú5>: ´¸Ëú]^I ÿžèú€íüJ‹ûÁ–ûž”! Â"³ü-aE ~/ÏüF* ,PŠûÚG¬ ÙÑ$ûOX÷ %WbúÀ2Ý i,žúì1[ »¬ûws pCnö#ö#öž#öž#ü-aE ~/Ïûž”! Â"³ûÁ–ú€íüJ‹ú‘ï(o–8ú¢©(”¡}ú³'Ú¹}ûC«ÞxàsûÔ5Ð8¢{üd¹Ô øjrüR ÐJcü@Q §Š2û±L- ë}û ¼L+©Cû33Tc…ûÂ-‚löž#öž#öŸ#öŸ#üd¹Ô øjrûÔ5Ð8¢{ûC«Þxàsú³'Ú¹}úÃ5ÜÝÄÞúÔú¿wúâd¦%~wûtvèéŽüU¬T¥ü˜¤¤o¿¼ü‰ÅG«Šüvlì ¿áûåâú`ýÙûS¹à†æûg ÄrŽû÷­Ë„@söŸ#öŸ#öŸ#öŸ#ü˜¤¤o¿¼üU¬T¥ûtvèéŽúâd¦%~wúþO4mïìûµS³:Ëû3å÷Ù¬ûȸ)ÂU¤ü]…^ŒÑœüòXWM”ü×®6 ÇVü·’1¿e§ü%zâûúû`”1[û°‚‡}¶ÃüBÛAK^öŸ#öŸ#ö #ö #üòXWM”ü]…^ŒÑœûȸ)ÂU¤û3å÷Ù¬ûK!‘<Ñ„ûa”w~6ûwI”¿ßÄü[ÿ‘§ü¥njbGŠý<€Õ3{lý$¤)ìBý ì £8¥üwêؼ­ûßô´M|ûø¦âP²ü‘¾i`ö #ö #ö¡#ö¡#ý<€Õ3{lü¥njbGŠü[ÿ‘§ûwI”¿ßÄû‰Ø:iû›º¥@8û¬÷ |ê¯üEØ$Tw˜üÞ¿,ýw ‹|ýd¦ÒÀÇýPïÁ{jgü¹ÝVª6„ü ê‡ÒnLü4¡˜ÅüË¿àé:'ö¡#ö¡#ö¢#ö¢#ýw ‹|üÞ¿,üEØ$Tw˜û¬÷ |ê¯û¶;l›…û¼jï¹gßûÃ^)Öë¥ü]Ò±|üö³|ŒeýX7f¡Mýˆ­#F&dý¹ê$ÊüèÒ÷MC"üO"_r¡nüV™“ý¶üïzk–{ö¢#ö¢#ö¢#ö¢#ýX7f¡Müö³|Œeü]Ò±|ûÃ^)Öë¥ûÊ3»ô{HûÐßÉp¸û×n0-ËõüqÄØ G$ý èÂSý¦r'Æ=ýŸ=°§Éý—ßµ‡(üþ5 ¬˜*ücØvÏ 1ük6qîëçýçÉšö¢#ö¢#ö£#ö£#ý¦r'Æ=ý èÂSüqÄØ G$û×n0-ËõûÝö©J- ûäazeôûꨶ Ýü…™ai«ý ŠkA²xý»{E"4ý´ŸÅ­ý­šÁå~ýDüùüxS?'¨OüRUF<æý®ê#Ãñö£#ö£#ö£#ö£#ý»{E"4ý ŠkA²xü…™ai«ûꨶ Ýûï’œš»ûô]²·tyûù£ѹñü”„÷´¸¥ý/þ:—±jýËw}zª/ýÆA]ÀœýÀìÿ@6çý%ü%_îüŠ‚â|ã‰üÖõšs,ý*ÇÏzÇÖö£#ö£#ö£#ö£#ýËw}zª/ý/þ:—±jü”„÷´¸¥ûù£ѹñüs—Dâü dÜ8lôüñNh2)ü°@P7ÖýL”Æ8=‚ýèéy C/ýßsë¬aýÕÀ¾´}Vý:G{Ñ„üæìé=§ü§¹ r¡ýC>®¬£ö£#ö£#ö£#ö£#ýèéy C/ýL”Æ8=‚ü°@P7ÖüñNh2)üýLÈtmü,>ªûÆü40l2÷üÑ„¡\ÜÏýnê%MŒ•þ U–>6mþ·YéT)ýöqŠÇýZU¢ü¼Qÿ°züɪ«ýfQÖø¤bö£#ö£#ö¤#ö¤#þ U–>6mýnê%MŒ•üÑ„¡\ÜÏü40l2÷ü9û™¹™™ü?&'ýWüCŒÿ7e’üázë.ÍCýbè&4ôþPÔ–·þs_ÝÀþÌD“NýufÁ¢¤:ü×g -ªI_üÝ%ô¾Íýz‹aæa½ö¤#ö¤#ö¤#ö¤#þPÔ–·ýbè&4ôüázë.ÍCüCŒÿ7e’üF×*q…ÒüF¿q¢¬üH#IÈÜ¿üæ@§Å -,ý„^Á7™þ"ut½eþ ùã’Ê`þ è]uÊýƒfüäÅhç•üäÜΞBý‚âs–œóö¤#ö¤#ö¤#ö¤#þ"ut½eý„^Á7™üæ@§Å -,üH#IÈÜ¿üJfxÂüK}=FÃüK}=FÃüé=¸=FÃý‡fò=FÃþ%Š>=@Õþ%Š>=@Õþ$…J¦/ý†gìxÂüè8Ħ/üé=¸=FÃý‡fò=FÃö¤#ö¤#ö¤#ö¤#é€ä´îyé€äSÅé€äñ:ÿé€äd9ëóNŒòíû—SýÚ -ïç­{ ïüpîð58†a*ðmõòÔ8îs†Ñ/v5ì0BZµeì0BZSˆbëóNŒñÉVî4‰jSî:•Ã'ñZ$ñZ$óy$óy$ðmõòÔ8ð58†a*ïüpîïç­{ ñŒŽN[Mwó™cPñ5ôW Ž Xw|ô»tmÞHµõÜKdõ„><éßMôüÄòçòjŠÀ´iò1˜øGö‚ñÅ€ÇÀ†óvAÖ¼€ó¶¤ ?'›óy$óy$ô#ô#õ„><éßMõÜKdô»tmÞHµôW Ž Xw|ô÷Î ß.ËõŠ, -ik“ö |ù -öà»ö€øÈ -‹êvöõz… - ô1÷iüC µýëöÙT© åö6è-L£õÒ€NùWõ\5æ dúõþ®? þuNödÒì ƒÛÇô#ô#õ”#õ”#÷iüC µýëöõz… - ô1ö€øÈ -‹êvö |ù -öà»ö-†8 ÄqöK] >Õ¤öj…â aú—öâ= -úô‹÷Z|— -“è’÷Òwñ -,â‡÷¯ó -ÍZ÷ŽœÇ ÜËí÷ -GÂ2ö¢ö -®Î,öÃXa -×Ï™÷7÷Æ -lÓeõ”#õ”#õ•#õ•#÷Òwñ -,â‡÷Z|— -“è’öâ= -úô‹öj…â aú—öyíÕ s¹‹ö‰> …ZØö˜v –Þ}÷í 1Ð÷‹½] -̼³øc» -g®Å÷ô†% -T3÷ãŠç -@™˜÷k -§Ÿ£öñé/ ­‘÷Þ~ Fû÷zßÇ -¹@ðõ•#õ•#õ–#õ–#øc» -g®Å÷‹½] -̼³÷í 1Ðö˜v –Þ}ö§äq ¨8ŸöµHj »@öñW Ìêî÷>öÜ iÕ÷º6r ¹]ø5{÷ -££ø%yÑ -ÔÂø|Ÿ -zû÷œÖB -àò÷!ŠÎ C$Ã÷0ï Wø÷ª:; -òê“õ–#õ–#õ–#õ–#ø5{÷ -££÷º6r ¹]÷>öÜ iÕöñW Ìêîöà ” ð÷-öüÉ ˜«÷Ä 7Éz÷–W Ø©Òør¸ y„;ø’Í d’øtì -óIwøTñí -˱Ñ÷Ù²V .Ç¢÷[R á\÷zo µs÷õº‹ Ri õ–#õ–#õ˜#õ˜#ø’Í d’ør¸ y„;÷–W Ø©Ò÷Ä 7Éz÷2Ó% [vÕ÷K‹A €/÷eÎ £•A÷æX† HeÓøg’? í6eøèËø ’ åøÌjÍ j¶{ø°ÓG B'ø2xø ¡'¾÷±'† üQ>÷Ì¿ %’øK1 Åßûõ˜#õ˜#õ™#õ™#øèËø ’ åøg’? í6e÷æX† HeÓ÷eÎ £•A÷™zL éé÷Å7Ž 2Í&÷òˆ xMføxø= $þløÿha ѵaù…Ø… ~fgùSª„ 1ù"¼Æ ßûïø¡ƒ ;+^ø´ ŽtiøK§± ß„øÍ:` „`‰õ™#õ™#õ›#õ›#ù…Ø… ~fgøÿha ѵaøxø= $þl÷òˆ xMfø Ü] š¨³ø½í ¿×ø1>£ áßÓøºÉ ’u7ùBÌî C‰ùË” ó«Ûù´Ô ÌûùŸ›„ ¤¬ù+` ÷úúøL G_¨ø¥… o©;ù, ï fõ›#õ›#õœ#õœ#ùË” ó«ÛùBÌî C‰øºÉ ’u7ø1>£ áßÓøElRÛBøYLè'`ølò.IhXø÷àã ýâù‚Õ† ²[Ûú Ê) fϯùøA @ôÖùáõ. ‘–ùY. iü2øÎ3x µv”øäA‹ ÛÓæùmŒ Œõœ#õœ#ö#ö#ú Ê) fϯù‚Õ† ²[Ûø÷àã ýâølò.IhXø4È rø´|VÒçXøÔz³ÕHùcMÆÑâdùò Øõoú€íüJ‹ú]^I ÿžèú5>: ´¸ËùªO…? -ù)kDFùCOhŽúcùΑ%C‹Ýö#ö#öž#öž#ú€íüJ‹ùò ØõoùcMÆÑâdøÔz³ÕHøã¿7¨-øòÈXø˜ù•ßyƉù’ã9Žú"£ÕùVuú³'Ú¹}ú¢©(”¡}ú‘ï(o–8ú³‰ùrŒ5óµIùƒL#º ú%$ÔÙ‡öž#öž#öŸ#öŸ#ú³'Ú¹}ú"£ÕùVuù’ã9Žù•ßyƉùþÌšÃìù 6Rºceù,ºÛC!ù¾6 ž®8úPMWb`úâd¦%~wúÔú¿wúÃ5ÜÝÄÞú2±Øüçù ˆ¾Z…ôù²M¡}Î|úBé^=œ`öŸ#öŸ#öŸ#öŸ#úâd¦%~wúPMWb`ù¾6 ž®8ù,ºÛC!ùE 7tBù_¶‚Z®@ùukž˜k³ú ->Ábç«úŸä-c£û3å÷Ù¬ûµS³:ËúþO4mïìúl7媄Õù×—ßßYùô‰¤%*8ú†â0è¾ÓöŸ#öŸ#ö #ö #û3å÷Ù¬úŸä-c£ú ->Ábç«ùukž˜k³ùŠWÖpQùžŠ³_*ù²RLDúI$½wÿúà7)î«áûwI”¿ßÄûa”w~6ûK!‘<Ñ„ú¶Nor[zú*9 ìIú5ã“ úÊ‚ ®JTö #ö #ö¡#ö¡#ûwI”¿ßÄúà7)î«áúI$½wÿù²RLDùºˆ‡}ùÒÎx¿¯ùâH6öCóú{):ÍÐÜû-¥]Æû¬÷ |ê¯û›º¥@8û‰Ø:iúòŰ0˜úYÌóX8`úk¯}—<ûÓ³h«5ö¡#ö¡#ö¢#ö¢#û¬÷ |ê¯û-¥]Æú{):ÍÐÜùâH6öCóùê¼ïXÿùð(»,¯HùödG;ëúÄ!ËÔû)¹mü[½ûÃ^)Öë¥û¼jï¹gßû¶;l›…ûTzÇœúƒ£âèåèú‰Óe?0û"ÀEÞ×öö¢#ö¢#ö¢#ö¢#ûÃ^)Öë¥û)¹mü[½úÄ!ËÔùödG;ëùü‡ÀaÎ}ú‡Ñ{اúj:•Zhú¢ÀárÕ—û=‰PPÆû×n0-ËõûÐßÉp¸ûÊ3»ô{Hû0‰ë`ú–,{<^fúœÞxYSÖû6‰"3õ‰ö¢#ö¢#ö£#ö£#û×n0-Ëõû=‰PPÆú¢ÀárÕ—új:•ZhúX®Ü*ú#/ÇÕƒúÖ&àFtú´ÇÀAûO·Û Øûꨶ ÝûäazeôûÝö©J- ûC l±ñú¨¯'ŒWYú¯ -¨QûIp …«Jö£#ö£#ö£#ö£#ûꨶ ÝûO·Û Øú´ÇÀAúÖ&àFtú7øþú"zR(Uú&«É(Ï¡ú Èfû]˜`îÁ,ûù£ѹñûô]²·tyûï’œš»ûT¡-¼Kÿú¹'êÙG^ú½ó”ô!ûXäoÔ{³ö£#ö£#ö£#ö£#ûù£ѹñû]˜`îÁ,ú Èfú&«É(Ï¡ú/&pX\ú7ó6°!#úÛGé˜&Ðûwœ›€,|üñNh2)ü dÜ8lôüs—DâûfúT#LúÊŸ³; !úÓøm34ûoPgHö£#ö£#ö£#ö£#üñNh2)ûwœ›€,|úÛGé˜&Ðú>ó6°!#úI~ÒúTÅúT©Rú[â·š/€úùH;ŠÙXû–³¬{‰ü40l2÷ü,>ªûÆüýLÈtmûƒ®‡àt¯úåä1î×­úò+}ES*ûŽÙ&.Qîö£#ö£#ö¤#ö¤#ü40l2÷û–³¬{‰úùH;ŠÙXú[â·š/€úa0Üßå!úeÓê¹úiÏQ4mû·Hœû¥¥@ÏüCŒÿ7e’ü?&'ýWü9û™¹™™ûœ–ÈïÁúþ–_ДçûºÿRjû¡8<ïkö¤#ö¤#ö¤#ö¤#üCŒÿ7e’û¥¥@Ïû·HœúiÏQ4múlÆ<…ëúl„ÿ±dæúmÑÔZfû î|ЇÓûª Ù̵@üH#IÈÜ¿üF¿q¢¬üF×*q…Òû¨ï,z!û -´'|÷œû -¢\­’Sû¨¨¥í-ö¤#ö¤#ö¤#ö¤#üH#IÈÜ¿ûª Ù̵@û î|ЇÓúmÑÔZfúo±‚QCúpž½=L²úpž½=L²ûÇ÷=L²û¬ñ1=L²üK}=FÃüK}=FÃüJfxÂû«þQCû Îà~°ûÇ÷=L²û¬ñ1=L²ö¤#ö¤#ö¤#ö¤#é€äd9é€äd9é€ä-‡†é€äiÙúë¶Z¿jz탧ÕÌCÍïD`hôïvjñ[”£ï¯\ºÈ Ÿïç­{ íû—SýÚ -ëóNŒòëóNŒòë¶Z¿.-•íáÎf¿¼|íçÔelœñZ$ñZ$óy$óy$ïç­{ ï¯\ºÈ Ÿïvjñ[”£ïD`hôð®‘Ý 1_ò2¸ Üï‚ó)àÐ -Ç™óÓ¥X ôTô8H yåŽôW Ž Xw|ó™cPñ5ñŒŽN[MwñxË`uà ñ ²€õ¯ûò±÷@ ô,òò”rYYóy$óy$ô#ô#ôW Ž Xw|ô8H yåŽóÓ¥X ôTó)àÐ -Ç™ó¸³â ?óô; -H ¹ë·ô®÷À 7½õw µ ‚4Cõë‹r =ýö |ù -öà»õŠ, -ik“ô÷Î ß.ËôØÈÁ -œÝôbxk -lœõN \nõi:û -‰ÈÕô#ô#õ”#õ”#ö |ù -öà»õë‹r =ýõw µ ‚4Cô®÷À 7½ôÌoª V¼õôæÌÜ wãÜõ“Ô —•õÑul èÏöIv´ É‚öj…â aú—öK] >Õ¤ö-†8 Äqö š  :!³õ”ž ¡-¬õµ´b ÉšÕö*MÙ ^¤õ”#õ”#õ•#õ•#öj…â aú—öIv´ É‚õÑul èÏõ“Ô —•õJÕ ¦Ù~õð ¶‚­õ+ƒv Æ$õý» hOöwas ¶Zaö˜v –Þ}ö‰> …ZØöyíÕ s¹‹öXع “‚ˆõß2[ øvõð'ª ÖØöh(ó ¤ÐÍõ•#õ•#õ–#õ–#ö˜v –Þ}öwas ¶Zaõý» hOõ+ƒv Æ$õ9R0 Õp:õE æS¿õQæ· ö2Oö'\¤ O#¬ö¢¢) ìíöñW ÌêîöµHj »@ö§äq ¨8Ÿö†ÏT Ç®”ö ‰Ð *ÊSöŒð ?Eö”9< Ú1?õ–#õ–#õ–#õ–#öñW Ìêîö¢¢) ìíö'\¤ O#¬õQæ· ö2Oõk'; <‰õ„¦ 5çßõœÀ÷ U4Pöx~ µNGööÒ V(±÷Ä 7ÉzöüÉ ˜«öà ” ð÷-ö¾ýf ö@) o-æö_×Ï –ÖöÛ#B 2÷áõ–#õ–#õ˜#õ˜#÷Ä 7ÉzööÒ V(±öx~ µNGõœÀ÷ U4Põ´Ó të‚õÊ¥È •­—õáw’ µžöÃ4Ë Hv÷Dn„ Áö÷eÎ £•A÷K‹A €/÷2Ó% [vÕ÷០yÖ ö- Õyö¬c üØo÷*Õ - ¸Æõ˜#õ˜#õ™#õ™#÷eÎ £•A÷Dn„ ÁööÃ4Ë Hvõáw’ µžö7Ò ó?ãö6¾©4ˆ½ö_7®r4e÷L1Q çE°÷Ò¡u “ü¥÷òˆ xMf÷Å7Ž 2Í&÷™zL éé÷xÄ 'žöñõ Zp©÷#¸L ©š ÷¥Jû N|eõ™#õ™#õ›#õ›#÷òˆ xMf÷Ò¡u “ü¥÷L1Q çE°ö_7®r4eöt#%«Uö„­³±&>ö–é3Ð Ý÷‰BKèÞøàg ü„0ø1>£ áßÓø½í ¿×ø Ü] š¨³÷éõ¹ ¶Wò÷aÚ¼ ÷vÝÂ-?÷ýeŸ Ù¸3õ›#õ›#õœ#õœ#ø1>£ áßÓøàg ü„0÷‰BKèÞö–é3Ð Ýö¨Ýˆïÿöºœ| ÅaöÌE,÷ÃE_®ÿøN:cÁølò.IhXøYLè'`øElRÛBø&…÷›…jÿî÷±Ç§R_ø:š©@ùõœ#õœ#ö#ö#ølò.IhXøN:cÁ÷ÃE_®ÿöÌE,öë+Vj‚+÷ ”u¦5¶÷(ká¨ø(vâq.:ø·Iõ-;VøÔz³ÕHø´|VÒçXø4È røq‚Š©9í÷â\pí)ø Û5»ìø—K—êSUö#ö#öž#öž#øÔz³ÕHø·Iõ-;Vø(vâq.:÷(ká¨÷5Žùÿ´3÷Bá(O²÷Pä:t”øT¼ŒÐGôøå@êù•ßyƉøòÈXø˜øã¿7¨-øÆŽRO;ø5þq:høG™Ð³$øÖrÐo< öž#öž#öŸ#öŸ#ù•ßyƉøå@êøT¼ŒÐGô÷Pä:t”÷\ͪWÂú÷kqæsÅA÷uØÎ‘Üø~¥F,øâù¼•ðcùù,ºÛC!ù 6RºceùþÌšÃìøó¯l±_øa†Rí–Zøt>^¼GùÚÏŠ+öŸ#öŸ#öŸ#öŸ#ù,ºÛC!ù¼•ðcùø~¥F,øâ÷uØÎ‘Ü÷‹ÃKÊþ‡÷£·°'¤÷¶ò68ýºøÇ@>àË\ù\a«Afùukž˜k³ù_¶‚Z®@ùE 7tBù)ª1›ø”ÃfõŒø´¸©õGùF^Dm‰âöŸ#öŸ#ö #ö #ùukž˜k³ù\a«AføÇ@>àË\÷¶ò68ýº÷ÉŒšp 0÷Û€ï¥F ÷ìÛبtùÛ‹¦¤ùší\Ú‡ù²RLDùžŠ³_*ùŠWÖpQùpþØéFøÙÚ¢ÖÒøò†âX>Nù‡kÐ"õ•ö #ö #ö¡#ö¡#ù²RLDùší\Ú‡ùÛ‹¦¤÷ìÛبt÷û¢â Ô€ø âL?&ø™Lo7ù4™b- ùÍ€T¦òùâH6öCóùÒÎx¿¯ùºˆ‡}ù«›¤—šèù¢ç¿Ò°ù&âaü¢èù¾¨Îö¡#ö¡#ö¢#ö¢#ùâH6öCóùÍ€T¦òù4™b- ø™Lo7ø>r‡£gø#懟ðÃø)j ·†CùI%õyþ1ùâОTŽùödG;ëùð(»,¯Hùê¼ïXÿùÕõ Áìù<>‡E 9ùC¢pbh°ùÜQ:dö¢#ö¢#ö¢#ö¢#ùödG;ëùâОTŽùI%õyþ1ø)j ·†Cø.ÛÅÏ!²ø4)êæ@–ø9`UüèÜù[®ŽÄ2bùö6¡­‘új:•Zhú‡Ñ{اùü‡ÀaÎ}ùèîVo&šùN‘À‘™ ùVx#­Šùð"͈%áö¢#ö¢#ö£#ö£#új:•Zhùö6¡­‘ù[®ŽÄ2bø9`UüèÜø>´g‹3øCêÓ)¶îøI–?fùm´® KÛú¥ˆ딨úÖ&àFtú#/ÇÕƒúX®Ü*ùûó{»)dù`ü³ÚÔºùh›êõœ¬úø€Ó#¸ö£#ö£#ö£#ö£#úÖ&àFtú¥ˆ딨ùm´® KÛøI–?føLÖ)U\vøP–ñjÜ2øT@ßcù{6NP1çú¯‘3*­ú&«É(Ï¡ú"zR(Uú7øþú rLÅùq/!B4ùw?;.·ú„ƒaö£#ö£#ö£#ö£#ú&«É(Ï¡ú¯‘3*­ù{6NP1çøT@ßcø[ÙJ©Ùèøc®Ñîøiû ø ù• Э×ú1_ʸ³„ú>ó6°!#ú7ó6°!#ú1_ʸ³„ù• Ð­×øiû ø øsÃE/•ø}MJŠVÞøƒ¦QÈ&ùµV®ñtúRŸ¡:ú[â·š/€úTÅúT©RúI~Òú;ö%daùž+ÏÇ`ù®ýˆqHúK¥CZ ö£#ö£#ö¤#ö¤#ú[â·š/€úRŸ¡:ùµV®ñtøƒ¦QÈ&øˆ`00¨øŒÝ=@Õþ%Š>=@Õþ%Š>=pGþ%Š>=™Ëþ%Š>=É=þ%Š>=É=þóy=É=ÿÿÿÿ=Ï,ÿÿÿÿ=Ÿ¹ÿÿÿÿ=pGþóy=pGþ%Š>=pGþ%Š>=™Ëþóy=™Ëö¤#ö¤#ö¤#ö¤#þ%Š>=@Õý‡fò=FÃüé=¸=FÃüK}=FÃüK}=pGüK}=™ËüK}=ÃOüé=¸=ÃOý‡fò=É=þ%Š>=É=þ%Š>=™Ëþ%Š>=pGý‡fò=pGüé=¸=pGüé=¸=™Ëý‡fò=™Ëö¤#ö¤#ö¤#ö¤#üK}=FÃû¬ñ1=L²ûÇ÷=L²úpž½=L²úpž½=v6úpž½=™Ëúpž½=½aûÇ÷=½aû¬ñ1=ÃOüK}=ÃOüK}=™ËüK}=pGû¬ñ1=v6ûÇ÷=pGûÇ÷=™Ëû¬ñ1=™Ëö¤#ö¤#ö¤#ö¤#úpž½=L²úpž½=L²ùÒ{q=R ø–(ü=R ø–(ü=v6ø–(ü=“Ýø–(ü=·rùÒ{q=½aúpž½=½aúpž½=½aúpž½=™Ëúpž½=v6úpž½=v6ùÒ{q=pGùÒ{q=™Ëúpž½=™Ëö¤#ö¤#ö¤#ö¤#ÿÿÿÿ=Ï,þóy=É=þ%Š>=É=þ%Š>=É=þ%~b’ÇòþàÝèTüýÁuh7ŽïýÏ2WB~þpdabÿ’â*“Ÿ¼ÿÛY%ËDÿÿÿÿ±8óþóy±8óþ%~b’Çòþ -¼^í—Dþ«ôt À ö¤#ö¤#ö§#ö§#ÿ’â*“Ÿ¼þpdabýÏ2WB~ýÁuh7Žïýà†ÂóýÜhÏ£ßü˜¤¤ JVü´‚ SuýF5Ñ\è^þNêÁþÞ(chÀÿJjÈz"þ4ÔŠ¶^¤ý“®>–‰Êý7VFä¬þýÕs¤p ö§#ö§#÷°#÷°#þNêÁýF5Ñ\è^ü´‚ Suü˜¤¤ JVû“"V ƒúª"Å5«ø,×Ì$¨løM“ò$ÈÊ€ø½m›%8¤)ù|Rû%÷‰ŠûŠËE#éý1sÝ!røü(¿!mEû®œ5 ˜ $ú0l¡"å÷ÀúËßö#*1Î÷°#÷°#ùÉ"ùÉ"ù|Rû%÷‰Šø½m›%8¤)øM“ò$ÈÊ€ø,×Ì$¨löIù.&ŠÛ-ô¿š(Gñë)Ãyñ¥ -)/CFñá¥ó)ÁZ•òEƦ*Ê eô÷K)¬ž÷mÚ²(ûåö®õR'G–öj»C&«—Sôȹ()Æçô“*Ú(£éÐùÉ"ùÉ"ûâ!ûâ!òEƦ*Ê eñá¥ó)ÁZ•ñ¥ -)/CFñë)ÃyðTat)–û=ï €ˆ)ú(Çí¼F–*<ˆ`íÆË%*JEPíæG *ëwxîWb, õ#ï†+Ú+ѝðíHg+YG8ð‰'´*P’zðij“)²uïAq*Á7ï;K*¯íqûâ!ûâ!üë!üë!îWb, õ#íæG *ëwxíÆË%*JEPí¼F–*<ˆ`ìm £*~íèë˜* …~é€ä* —Ié€ä* —Ié€ä+>º•é€ä,{ -ë5ê«,{ -ìª|ü,Vl†ì‘wÇ+'~ìrNë*…ÏVë˜* …~ë5ê«+>Àƒüë!üë!üî!üî!þ%Š>=É=ý‡fò=É=üé=¸=ÃOüK}=ÃOüJöÖtQü,b?ªÞµûð¥Ûx4üˆ+áù¿²ý)XAƒýÁuh7ŽïþàÝèTüþ%~b’Çòý‡U'’Çòüé tVðüLjzºkýhº¢Ù.Gö¤#ö¤#ö§#ö§#ýÁuh7Žïý)XAƒüˆ+áù¿²ûð¥Ûx4û³¯  ³ûY–[6¶þúâd¦U‹›ûtv’ „üUεmü˜¤¤ JVýÜhÏ£ßýà†Âóüéõ’YTÀüHÏG9æûë§»sQÖü‰Å“öö§#ö§#÷°#÷°#ü˜¤¤ JVüUεmûtv’ „úâd¦U‹›ùôÐГp#ø”Ã!¡N9öÝ\œ#X<÷M0W#È`÷÷½$84±ø,×Ì$¨lúª"Å5«û“"V ƒû  Fmú†èÐ ùc~"'âùŸÖÒ"Uañ÷°#÷°#ùÉ"ùÉ"ø,×Ì$¨l÷½$84±÷M0W#È`÷öÝ\œ#X<õ&«%´‡ó9”&oõ“ðÚO']}ñä'ï”ÜñSs(¬*ñë)Ãyô¿š(GöIù.&ŠÛ-õÚ%t&„õ•ëe%Ž0óTÈ' âóË0Ÿ'|/ËùÉ"ùÉ"ûâ!ûâ!ñë)ÃyñSs(¬*ñä'ï”ÜðÚO']}ï»z‚'Ô¯BîÏH(.Çòí`5É(kží~}G)8ëíù*)¤kí¼F–*<ˆ`ï €ˆ)ú(ÇðTat)–û=ðÌ‹)ãïïøk(fÆ‘î¾={(Ãâ@îÞ g)e‹ûâ!ûâ!üë!üë!í¼F–*<ˆ`íù*)¤kí~}G)8ëí`5É(kžì/œJ(§oJêù…(Æáé€ä(Æ!ˆé€ä)dDÔé€ä*né€ä* —Ië˜* …~ìm £*~íèì]åí)ãÇ­ì>Ã)B•…êù…)d'-ë˜*b2üë!üë!üî!üî!üK}=ÃOû¬ñ1=ÃOûÇ÷=½aúpž½=½aúpu9UàúTémbú›âayú¶¿®åûWëW½*Èûð¥Ûx4ü,b?ªÞµüJöÖtQû¬ÓŠtQû˜…Uàúð Ü|‰5û‘Aò›·ÿö¤#ö¤#ö§#ö§#ûð¥Ûx4ûWëW½*Èú¶¿®åú›âayùèT#‘Z…ù—J`Ð ù,ºŸÌàù¾6 ÜaÉúPMWö²úâd¦U‹›ûY–[6¶þû³¯  ³û”¼Þ’ú}nq¾Î¦ú)a¯ÚdõúÇ ú"ö§#ö§#÷°#÷°#úâd¦U‹›úPMWö²ù¾6 ÜaÉù,ºŸÌàøVI£ä/÷o }fÇõÛ~" õý¯9"xßÙöm‚ó"è³”öÝ\œ#X<ø”Ã!¡N9ùôÐГp#ùb¹VÛ:øè–—ày÷‰BÆ í@pø$¶!1z~÷°#÷°#ùÉ"ùÉ"öÝ\œ#X<öm‚ó"è³”õý¯9"xßÙõÛ~" ô6'#”“Ïò(­¡$Ѥ ð$c%§7¡ða%L&9Nððº5&Ëf>ðÚO']}ó9”&oõ“õ&«%´‡ô¶Cð$ŸàÌôr á$g‰òeBŠ%c»[òÛ¤«%ÝÞEùÉ"ùÉ"ûâ!ûâ!ðÚO']}ðº5&Ëf>ða%L&9Nðð$c%§7¡ï"“&cGî#ö&cgí$ý&™®Ûí"lz'1Ì(íAîL'ÒþPí`5É(kžîÏH(.Çòï»z‚'Ô¯Bï~å™'B—óï_(x&¤z–îC’*&øjîca'™­¤ûâ!ûâ!üë!üë!í`5É(kžíAîL'ÒþPí"lz'1Ì(í$ý&™®Ûëò+ñ&ÏöšêÚ£„&ë|Ué€ä&ë«Çé€ä'‰Ïé€ä('øNé€ä(Æ!ˆêù…(Æáì/œJ(§oJì u”( NýìL¹'kçêÚ£„'‰¥êù…('Ú¦üë!üë!üî!üî!úpž½=½aúpž½=½aùÒ{q=½aø–(ü=·rø•í­7nÿø}jò/ì8øM/#J¾ùo²¹U[úäátÜêú›âayúTémbúpu9Uàúpu9UàùÒ@"7nÿù¬ÕùH÷\úN!h 8ö¤#ö¤#ö§#ö§#ú›âayúäátÜêùo²¹U[øM/#J¾øóM©E÷Ôþeã+÷uØÎê6ø~N(êù¤ÜнÓù,ºŸÌàù—J`Ð ùèT#‘Z…ùÓ»³“®ù2za¾ÔøÝ³$iÞù{ЈÀÿö§#ö§#÷°#÷°#ù,ºŸÌàù¤ÜнӸ~N(ê÷uØÎê6ö¸3°´RMõžNSY…Cô>`O ¹‹ôýKž!xvPõmX!èJ -õÛ~" ÷o }fÇøVI£ä/ø; YŽÕ"÷Àèosö]9¢ j¤öø¬÷ \ª¡÷°#÷°#ùÉ"ùÉ"õÛ~" õmX!èJ -ôýKž!xvPô>`O ¹‹òÞT£"sñ9!­#3L—ïn×–#ðñµïÒò[$ù¦tð‡D%‹½Ãð$c%§7¡ò(­¡$Ѥ ô6'#”“Ïóát#sѺó:"Ø^fñêÚ£„&ë|Uüë!üë!üî!üî!é€ä,{ -é€ä+>º•é€ä* —Ié€ä* —Ié€ä* —Ié€ä* —Ié€ä* —Ié€ä* —Ié€ä+>º•é€ä,{ -é€ä,{ -é€ä,{ -é€ä+>º•é€ä* —Ié€ä* —Ié€ä+>º•üî!üî!üî!üî!é€ä* —Ié€ä*né€ä)dDÔé€ä(Æ!ˆé€ä(Æ!ˆé€ä(Æ!ˆé€ä(Æ!ˆé€ä)dDÔé€ä*né€ä* —Ié€ä* —Ié€ä* —Ié€ä*né€ä)dDÔé€ä)dDÔé€ä*nüî!üî!üî!üî!é€ä(Æ!ˆé€ä('øNé€ä'‰Ïé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä'‰Ïé€ä('øNé€ä(Æ!ˆé€ä(Æ!ˆé€ä(Æ!ˆé€ä('øNé€ä'‰Ïé€ä'‰Ïé€ä('øNüî!üî!üî!üî!é€ä&ë«Çé€ä&ë«Çé€ä&M‚é€ä%6é€ä%6é€ä%6é€ä%6é€ä&M‚é€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&ë«Çé€ä&M‚é€ä&M‚é€ä&ë«Çüî!üî!üî!üî! -endstream endobj 56 0 obj <>stream -ãøCãøC*þZãøCÀ| ãøCÀ| å°!ÀÿÞçZUµìÇèï³€:ùèùµx* ³éÎ —ÌéDÕ•Ýç“}‡.VmåÌÎヾåÌÎã+Jå°!ÀÿÞçdRÜ—çeH½DmñZ$ñZ$òk$òk$éDÕ•ÝéÎ —Ìèùµx* ³èï³€:ùê…2íˆ (ìÂöøÛÇím\ƒJ~í€ zj?öíµô-ÞÉÃî×-àåì,M%êô¯bÔÁ¯êÆtýê÷âê4åx›âì¿ßÔ ì69,K yòk$òk$óy$óy$î×-àåíµô-ÞÉÃí€ zj?öím\ƒJ~îÔéÿ Ý¥ð$žè°¦LñWOÊhÜ{ñp¦JáÈñ¼Õ|ÊB–ò;Þ>æüðô¨|"ž‰ïŽŒ’tÆÓï5£÷r®Kîç®dôÓð=õ’«™ðušâ<óy$óy$ô„#ô„#ò;Þ>æüñ¼Õ|ÊB–ñp¦JáÈñWOÊhÜ{òŠœ /žó¤%(æílô£÷(·§—ôÁkO˜2|õ Sú$±QõÀ«Ž]!Iô¯ì~Dóƒ”ñªycóŒ/¿äò£×Ò4ìóÁ™OÇxQô”}F ô„#ô„#ô#ô#õÀ«Ž]!Iõ Sú$±QôÁkO˜2|ô£÷(·§—ôãFGìÕõ p"½:õ]ªWuÑõ{Æã8ºõÞÍ~Ȉö†¸ÄzÕöE|PÏ3Aö4¥•‚õcÝ]õºnͺõ>ŒWSUõ‹oÉÂô#ô#õŽ#õŽ#ö†¸ÄzÕõÞÍ~Ȉõ{Æã8ºõ]ªWuÑõ{Ì~rZõ›ZÓ‹^üõ·ØP§o'õÖ=†ˆ¯ö;<­äaöæÛ`\Ì öÈjó>òüö¦ä$"]õþó1ä¸Ýõ™èÓRð+õ¹À -l¶öÌ@ü„õŽ#õŽ#õ#õ#öæÛ`\Ì ö;<­äaõÖ=†ˆ¯õ·ØP§o'õÔˆÂþaõñ—~Þi+ö<8ù¯„ö,ßÚuFö“Ë–n «÷CI´o€÷$zÔ—`B÷Á†z)ÅöZ"Ô7Bõó0¼£ªéö:_¿1ºöu?!Pý:õ#õ#õ#õ#÷CI´o€ö“Ë–n «ö,ßÚuFö<8ù¯„ö*Õ¼ ø«öGM 0 /öc˜¥ K uö‚mû , uöë<–Ás'÷žw QŒ÷×Pî…“÷aˆ‡ÑŒÂö²LÔ‹)ºöIxõÄöf"ó  /öÍ -¤¤aõ#õ#õ‘#õ‘#÷žw QŒöë<–Ás'ö‚mû , uöc˜¥ K uöq¸Ž X©öÍ@ f&VöÜX s˜uö¬È T–F÷‚)êçm÷Ëì6ƒ€÷¼û(%í÷­Ô¾öúGóÏäYöã 9–öž¹ G$'÷9ÜŒ§õ‘#õ‘#õ’#õ’#÷Ëì6ƒ€÷‚)êçmö¬È T–FöÜX s˜uö›HÜ §Œö¨¯Ä «mö¶ ¤öÕA ~½ñ÷?³) ôñ÷õðÍcN²÷ç¯ATj“÷ÙbE{>÷$Ú"ùáùöº:9 b¥^öDZó pÅF÷1l Òõ’#õ’#õ’#õ’#÷õðÍcN²÷?³) ôñöÕA ~½ñö¶ ¤öëo - Õ¨f÷ ;A - - ÷Tj -CÉG÷sªX -%S?÷áË9 À8øžÇ‡ }Vøg"‡Úøø.ÚôŸm÷xP Q²F÷ -q9 ¶Â?÷?{ îŽ}÷ª&9 …гõ’#õ’#õ“#õ“#øžÇ‡ }V÷áË9 À8÷sªX -%S?÷Tj -CÉG÷o -^­…÷†ÂÔ -{ï7÷Ÿ‡I -—ñ^÷¾Ý -y¾œø.¨ -zVøîè n/ÂøÔ2 PQø»Å 12á÷þ!w Üó7÷ŽPì -@1â÷¦ -]¶Úø?– ø›«õ“#õ“#õ”#õ”#øîè n/Âø.¨ -zV÷¾Ý -y¾œ÷Ÿ‡I -—ñ^÷¸Ü -´6Ë÷Ð\Í -ÐO^÷è• -ì;øö– -ÎQ7øy`` -léuù<Òx Èù#ì ªFÊù # ŒQ³øHȇ -4œG÷×Y" -•þn÷ï¾I -²_âø_ŽÕ -O!7õ”#õ”#õ•#õ•#ù<Òx Èøy`` -léuøö– -ÎQ7÷è• -ì;øÂ2 2 øͦ $»ø0±Ü ?¤•øPô "•øÃ` -ÂxVù‰ª# -!uùp2J -޳ùV˜Í åâ}ø“! -Š¼êø #® -êBø8/" `»ø©ž‡ -¤þ”õ•#õ•#õ–#õ–#ù‰ª# -!uøÃ` -ÂxVøPô "•ø0±Ü ?¤•øHÙX [_ø^8Ü x}êøtã" ”–~ø”Dž wI•ùÊx  vùÒo -{› ùºAü -]¦ ù£Z ->U^øÜÆI -ßÅ?øh:Õ =n^ø}šY [1øða -û«^õ–#õ–#õ–#õ–#ùÒo -{› ùÊx  vø”Dž wI•øtã" ”–~ø¡~® ÍdøÍ“® „òøù‡ <ñãùaü ]úùËÕ Æmãú__¯ /,Óú0øq -ô vúùÕ -¸-}ù8U: V2ÓøÀà* °´øìÓ‡ èënùa^ü ‹M…õ–#õ–#õ˜#õ˜#ú__¯ /,ÓùËÕ Æmãùaü ]úøù‡ <ñãù#© u# -ùJìÆ ®ºúùs!€ æ‡8ù’)J ʽ!ú Oå t‹­úá•R ãøvú¶ºB ¨s0úŒ¿q kù½+— ]¬ùBî X!ùiô ’ðãùázq 9Ìõ˜#õ˜#õ™#õ™#úá•R ãøvú Oå t‹­ù’)J ʽ!ùs!€ æ‡8ùÅ+ U) -ú -¼B ÇîgúQ»5ª`úoþ¯ Åúï§ Ìá`ûÎ÷ IqÌûƒd ÔNúû8à Zòúc}Ÿ ê¥)ùä 9YXú(ÿÕ ­äÌú£€# W¾Žõ™#õ™#õ›#õ›#ûÎ÷ IqÌúï§ Ìá`úoþ¯ ÅúQ»5ª`úvÆlžú”i¥hú´¥¯Ûë–úÒb·ÂÓ ûS¬æwÇü8„; úÇ­ü"· À>­ûõ· ƒwû¾õéoú”^ZQõhú²&˜‹÷Üû1Pý=>õ›#õ›#õœ#õœ#ü8„; úÇ­ûS¬æwÇúÒb·ÂÓ ú´¥¯Ûë–úÔU§Üúó•I‘"ûjÖC2û/g&ìû²ä Ã*üœvK©Qü{—™oÃAüZHÇ5ª`ûuqq²©Åúò¯úQû»+1tÜû’ -õætõœ#õœ#õ#õ#üœvK©Qû²ä Ã*û/g&ìûjÖC2û.µÞ¶\ ûJ¡˜ì«ûf"Î";€û‚• &¶üÐZÇ_ôüõß×VážüØ|Åüº®¨ãÓ`ûÑ"Z„:ûKÛˆž?ÅûgÞÕ–Iûêr Ž=¾õ#õ#ö#ö#üõß×VážüÐZÇ_ôû‚• &¶ûf"Î";€ûsØ3= QûqWªJûŽôr2û«y[„ôü1.4„Iý!c¬ÍýúKçÍý{s€¾üq3ãùxûJy%ôˆû„‰Apü"ÅjýUIö#ö#öž#öž#ý!c¬Íü1.4„Iû«y[„ôûŽôr2ûœ} Œ|ûª,Ö¦–ˆûµÂqÁu+ûÑp«mxüXqÞk2åýJÀîЦý>P°ä&Qý/ÆDÈKhü?‘b5¸åû¸uíÝûÅÚæŽÕüL NŽ+öž#öž#öž#öž#ýJÀîЦüXqÞk2åûÑp«mxûµÂqÁu+ûÍÞ·öÂRû妿+E§ûýÇ^ÿ+üèÏJü ƒj Pý–å4¨Ýý}ãq®Jýd¨9©üür2˜¤Õûé’bຟüîK ü‡†æÖ!Jöž#öž#öŸ#öŸ#ý–å4¨Ýü ƒj PüèÏJûýÇ^ÿ+üÛ°’ûõü,Ø4Å;ü?ûæøÊˆüYô°äâ üä «žÆýÞC[Lþüýɸßæ#ý¯?%àU¶ü¸Ý[DÈ·ü.´·~ZüFÐý±4RüÏ|jt…íöŸ#öŸ#öŸ#öŸ#ýÞC[Lþüüä «žÆüYô°äâ ü?ûæøÊˆüT7æ,üh4^lCü{³  ˜ü”µ¿}6bý #‰GQÞþ4î^ þ k¹p3ýóÚüùžzâAåün+3üSK— ý 9ÀdöŸ#öŸ#ö #ö #þ4î^ ý #‰GQÞü”µ¿}6bü{³  ˜ü…rS¨ÛCü%ÏÁ~ü˜½CÙèÖü±D Çš,ý=Tj“_·þ<ù’=3Þþ2¹ï#$§þ(oÝbý*ŠjaÑ3üžtr– ü§¦ý¯/jý3cyPö #ö #ö #ö #þ<ù’=3Þý=Tj“_·ü±D Çš,ü˜½CÙèÖüˆýæjü¢OòHbü§ þd‰ü¿S$ì^¿ýK·™¸ó·þL1Èd) þG"ÈW=yþBÈJAýBn¡ lîü¶ÇÓÒZüº’ àB˜ýF¨™¬$ö #ö #ö #ö #þL1Èd) ýK·™¸ó·ü¿S$ì^¿ü§ þd‰ü«Cý -³$ü¯r¿ü$ü³›æ#4SüËœ$qÏýXIzÞÛÏþYžL‹l·þU,D~eþP´¡qL¯ýP4ׯZüÇø­ZüÇrý9 ýSÑ×ÑÔ3ö #ö #ö #ö #þYžL‹l·ýXIzÞÛÏüËœ$qÏü³›æ#4SüÔ§r…ýüõ!<ãh¸ý'$>ò ý) 4/Tîý·ÚS°þ¿Ž‚ºBîþŸ›DX‡þ}Ló¿ýý{²zG/üì­Ks>zý KÓÅþý—ç¡\×ö #ö #ö¡#ö¡#þ¿Ž‚ºBîý·ÚS°ý) 4/Tîý'$>ò ý-<›ªýFæDõrý_\<Kßýs =ŠþŽzMïÿî¡ØiSþöΚ|‘‚þÛ²L-‚ýÓþfDýCeKŒcýZ–çt±ýét»vö¡#ö¡#ö¢#ö¢#ÿî¡ØiSþŽzMïýs =Šý_\<KßýliruóTýuM‚ ðý3rÊÎÐý‘¿È¾7Tþ"û-šÙŠÿ2ðØ`ª<ÿ(]3ýßÿÀ(cþ_çE þý€°h_’ý‡Ù×”^%þgrn--ö¢#ö¢#ö¢#ö¢#ÿ2ðØ`ª<þ"û-šÙŠý‘¿È¾7Tý3rÊÎÐýˆáSô¸Ðý’\ÀÍÈý›«SFý­Š:lçþ>òËàÿQVä*¡ÿGjƒ¹9%ÿ=FçaÐþ-V×Ç‘ý›m©è!Tý£Å‘,÷þ5’îÚcö¢#ö¢#ö£#ö£#ÿQVä*¡þ>òËàý­Š:lçý›«SFý¤énHý­ôc•²÷ý¶Ò×¼C=ýÇŠ±“{þY‡ß“ždÿn2ØbXÁÿdÈ=9-\ÿ[+-þHÇ<D½\ý¶LLb¬Øý¾4‹5þPDjrÿö£#ö£#ö£#ö£#ÿn2ØbXÁþY‡ß“ždýÇŠ±“{ý¶Ò×¼C=ý½ÔÈã8lýÄ©ß M\ýË]S.EýÚy‚$È÷þmoÈ X’ÿ„:ŠÜA±ÿ} Á´ˆMÿuµ¹‹ãsþa -À½)ýÎz؈ªýÓÆÿƒsþf@þá™’ö£#ö£#ö£#ö£#ÿ„:ŠÜA±þmoÈ X’ýÚy‚$È÷ýË]S.EýØ¢™yMýåJçÀ8Éýñ[×ùðýþ6™ûåMþ‘ö±å;ÿ¬§T¿ûÿŸÒ-w±ƒÿ’Zs+ÅMþ{ŠXÜ.ýç¾ÈoNdýò%©¸$&þ…!Šœñlö£#ö£#ö£#ö£#ÿ¬§T¿ûþ‘ö±å;ýþ6™ûåMýñ[×ùðýú#ßH6lþ{ȉ]þ -i-ÆoÂþS¿ãŒþ©pc­‰«ÿÇ€\\„ÿ¿ÐMâeÿ¶ïÀþ›aL-ÿøþþ¡@.þ +Š‚|'þ öØl ðö£#ö£#ö¤#ö¤#ÿÇ€\\„þ©pc­‰«þS¿ãŒþ -i-ÆoÂþ—öçøþÐ=½”þþßt˜Âþ'Ÿ©osVþ¼g<`ôÿÝ`ÐI&UÿØØ\®'ÿÏ5±Ðò«þ±%¹ï6þG¸ý[Âþ#pç8˜'þ·ÞÈ&{ñö¤#ö¤#ö¤#ö¤#ÿÝ`ÐI&Uþ¼g<`ôþ'Ÿ©osVþþßt˜Âþ'VÈâOþ.¡™BJ}þ4äï”–þ9踑²þÏ1=‰’7ÿô¸à|0éÿî $wÿæDà¾NþÅKLÕï³þ/÷’Ý)³þ3ªþ?lþȃc1ØVö¤#ö¤#ö¤#ö¤#ÿô¸à|0éþÏ1=‰’7þ9踑²þ4äï”–þ9‰kæìÚþ9”¡+¯âþ;öb¡}þ=Èþa\VþÓ>\]¿VÿûÜsWÊ}ÿùر;âÿù¦=ÓöþÔšáWNþ>4äÚþ;Û©*j»þÑ:š#0»ö¤#ö¤#ö¤#ö¤#ÿûÜsWÊ}þÓ>\]¿Vþ=Èþa\Vþ;öb¡}þ>-çÐêþ?ƒß‡ þ?ƒß‡ þ?ƒß‡ þÕs…ÿÿÿÿ…ÿÿÿÿ…ÿþžÐÌíOþÖ¹Òâ(þ@zŠÏE(þ?ƒß‡ þÕs…ö¤#ö¤#ö¤#ö¤#ãøCÀ| ãøCUü´ãøCëzzãøC€ø@åŸêwI‰ç8§–¬F<è½xù.¸èÍéYd&¬èÞËŸÏÓèï³€:ùçZUµìÇå°!ÀÿÞå°!V€råŸêwëËÃçIw;bçImÔ ñZ$ñZ$òk$òk$èï³€:ùèÞËŸÏÓèÍéYd&¬è½xù.¸ê*é#A§ú놺4¨C-ìËÛc%¯ãí¯š9±í7ˆcÀ°ím\ƒJ~ìÂöøÛÇê…2íˆ (êtK 4ê;ѬŸîë¼æÊ-ëÏ騄TÇòk$òk$óy$óy$ím\ƒJ~í7ˆcÀ°í¯š9±ìËÛc%¯ãîGk¦ôwïT•T>°ÜðrÁUê¿®ð¾ðÑj®ñ Mé~{ñWOÊhÜ{ð$žè°¦LîÔéÿ Ý¥îŸL™V¥îQ{wï ÄѾÜïØol1Eóy$óy$ô„#ô„#ñWOÊhÜ{ñ Mé~{ð¾ðÑj®ðrÁUê¿®ñ‘nF•è¦ò˜^?O^aó‡Bà 0³óæ+nž¬ºôE}++ô£÷(·§—ó¤%(æílòŠœ /žò>R Ñžñݘ'F¦ò÷FéÛÚióEBZqdô„#ô„#ô#ô#ô£÷(·§—ôE}++óæ+nž¬ºó‡Bà 0³óÂWê C”óû^ vJô4–» §sœô—W 7v7ôú£òÇvõ]ªWuÑõ p"½:ôãFGìÕô„c8`Îô!@•Ðiô^d´ Gô½if’½mô#ô#õŽ#õŽ#õ]ªWuÑôú£òÇvô—W 7v7ô4–» §sœôPº… À‘ÃônJ´ ×ÍÊôˆÕ? òôíÚ ƒÝÂõRÙ) ¦uõ·ØP§o'õ›ZÓ‹^üõ{Ì~rZõÅãâWuô³Á! PŽÂôÓOv i–}õ6[¬ù“|õŽ#õŽ#õ#õ#õ·ØP§o'õRÙ) ¦uôíÚ ƒÝÂôˆÕ? òô£Û - ÕÊô¾¹Ã -%oGôÙq( ->ì»õ@]¥ Ò õ§O¼ f„ö<8ù¯„õñ—~Þi+õÔˆÂþaõoÌ_ 18}õÚG ž}õ%¦@ ¹ FõŠ« JÑùõ#õ#õ#õ#ö<8ù¯„õ§O¼ f„õ@]¥ Ò ôÙq( ->ì»ôô( -Xd”õ¾O -qºËõ),Ó -Šï^õ‘ûo - UõúÊ - µºÃöc˜¥ K uöGM 0 /ö*Õ¼ ø«õÃé@ dFõ[¥ ëþ”õwŒë - }õÞ šº}õ#õ#õ‘#õ‘#öc˜¥ K uõúÊ - µºÃõ‘ûo - Uõ),Ó -Šï^õ6aH -—ŒuõCІ -¤VõP®) -°ªœõºh8 -FûÃö$"H ÝGNöÜX s˜uöÍ@ f&Vöq¸Ž X©öéó ÃCNõŸ/ã -,ò(õ­D• -:o}ö1 ÏÕ/õ‘#õ‘#õ’#õ’#öÜX s˜uö$"H ÝGNõºh8 -FûÃõP®) -°ªœõ]4Ó -½Î?õiµã -ÊìGõv+¼ -×ÿõàË¥ -o6öKkŽ -mö¶ ¤ö¨¯Ä «mö›HÜ §Œö1ŽÌ ëVfõÆîã -TfõÔUÌ -b#Gö>Û øtmõ’#õ’#õ’#õ’#ö¶ ¤öKkŽ -mõàË¥ -o6õv+¼ -×ÿõ¨! DÃõÙN_ ?ø¬ö - v sÓöx.X ÿ¤öæIž -¨äu÷Tj -CÉG÷ ;A - - öëo - Õ¨fö€Ï! ->qfö£ - -£{ÃöGo@ -ÚÝ}ö²` -r³õ’#õ’#õ“#õ“#÷Tj -CÉGöæIž -¨äuöx.X ÿ¤ö - v sÓö"þÄ Œ"ö9w §WöP&w Á²úö¿ñg ^tO÷/¼X -û5¤÷Ÿ‡I -—ñ^÷†ÂÔ -{ï7÷o -^­…÷ð1 -ÃÃö‘¥ '^ö¨Ñg DI÷÷ä -ß-âõ“#õ“#õ”#õ”#÷Ÿ‡I -—ñ^÷/¼X -û5¤ö¿ñg ^tOöP&w Á²úög1 ÜGö}¾H öWòö”R! lÄ÷Á† ¯÷w+P M¢Û÷è• -ì;÷Ð\Í -ÐO^÷¸Ü -´6Ë÷H7ë uvöÖÎ" x×öï( ”ð0÷^ó 1±…õ”#õ”#õ•#õ•#÷è• -ì;÷w+P M¢Û÷Á† ¯ö”R! lÄöªë– *•öÁcg DtÄö×¹– ^;÷J· þµv÷½´p Ÿ*8ø0±Ü ?¤•øͦ $»øÂ2 2 ÷Xh i™Ë÷U` Én÷4`Ô äé†÷¥Ð9 ƒ‡_õ•#õ•#õ–#õ–#ø0±Ü ?¤•÷½´p Ÿ*8÷J· þµvö×¹– ^;öîS - wÉ_÷/½ “[g÷\Ì ­—v÷‹Ý OîWøbä òE8øtã" ”–~ø^8Ü x}êøHÙX [_÷ÕÛì ºš÷aPw C¼÷v¯û 5²H÷é³ Ö,¥õ–#õ–#õ–#õ–#øtã" ”–~øbä òE8÷‹Ý OîW÷\Ì ­—v÷A‡ ⛼÷j.ë ýo÷’Ù` J¼Žø -C9 ðÌwø²® –áúøù‡ <ñãøÍ“® „òø¡~® Ídø,þp + ¼÷µƒÅ „ò÷á˜Å ½ WøV$9 _onõ–#õ–#õ˜#õ˜#øù‡ <ñãø²® –áúø -C9 ðÌw÷’Ù` J¼Ž÷º’Å /÷ß® µ`ø­® éûø~ÔI ’ê!øøúä <¸­ùs!€ æ‡8ùJìÆ ®ºúù#© u# -ø¬?A Ï!ø29 %>úøY@I ^ÖëøÐÆ* ìoõ˜#õ˜#õ™#õ™#ùs!€ æ‡8øøúä <¸­ø~ÔI ’ê!ø­® éûøQRäP@"ø’»ÔøÔ2!âôùS“*Ó#ùÒ§#„iÅúQ»5ª`ú -¼B ÇîgùÅ+ U) -ùJá «TãøËy€ ú­ù'ülÎoù‹¨J­Ìõ™#õ™#õ›#õ›#úQ»5ª`ùÒ§#„iÅùS“*Ó#øÔ2!âôøö’:T‰ÅùªÍ‰â"ù0Ç#½€ù²Qr‡ú3[€&÷ú´¥¯Ûë–ú”i¥húvÆlžù÷κ¾hùu¦2Ê`ù“ôü>Ö*úÆð`õ›#õ›#õœ#õœ#ú´¥¯Ûë–ú3[€&÷ù²Qr‡ù0Ç#½€ùNbˆðôùk“i#YhùˆdüUtú ¸ˆQú¯ƦôûjÖC2úó•I‘"úÔU§ÜúS x^,pùϬ¶¥„üùîìÛõ¦úp§›¨ûRŽý̓Ïûܬj”PÇöŸ#öŸ#ö #ö #ü{³  ˜ûð@;ÅðûdÌÖûÏúÙ_ 1³‰úâ{+HÙ$úëŒ_Ñæúô†v˜4û€–íB]¿ü ¬æ#Kü˜½CÙèÖü%ÏÁ~ü…rS¨ÛCûú‰Þ¿Çûmîú;ûwœq+—rüÖõ¸‰ö #ö #ö #ö #ü˜½CÙèÖü ¬æ#Kû€–íB]¿úô†v˜4úùÎû[úý{qSKûíy˜šjûŽQíe4ýü°Ç1Éöü§ þd‰ü¢OòHbüˆýæjüx UÞû…+MÀæû‰ÚJYèCüðC%­Ïö #ö #ö #ö #ü§ þd‰ü°Ç1ÉöûŽQíe4ýûíy˜šjûÓZ¤™û ³ ¯‘û “åºöSûšA;ˆ`Sü&î‘UÊSü³›æ#4Sü¯r¿ü$ü«Cý -³$üå$>,û’7Îp´,û–`õ|÷‘ü"ÅjI’$ö #ö #ö #ö #ü³›æ#4Sü&î‘UÊSûšA;ˆ`Sû “åºöSû,RÎò üõ!<ãh¸üÔ§r…ýüGú·–þû¹$ã¦bûØÜõB:öüfT¤öö #ö #ö¡#ö¡#ý'$>ò ü„Zk.KûõŒæ—jŠûf¿ÇæÈûQÇ!û–ýím„þû­ÉÖ½Òkü>QÖ—–<üÎÔ<qZý_\<KßýFæDõrý-<›ªüž²ÇàÀüæíäßü'…îGHÐü¶^CD¡ö¡#ö¡#ö¢#ö¢#ý_\<KßüÎÔ<qZü>QÖ—–<û­ÉÖ½ÒkûºÖå¾DûÂ=æ çÈûËv 4ódü\· ÿüíòrî25ý3rÊÎÐýuM‚ ðýliruóTüÛárœ/‚üJ•;¿‚üS~æê„cüä ÄSkö¢#ö¢#ö¢#ö¢#ý3rÊÎÐüíòrî25ü\· ÿûËv 4ódûÔ{¿\ÐûÝT˜‚bkûåúý§ë5üwä,‡J-ý ÇÀf©&ý›«SFý’\ÀÍÈýˆáSô¸Ðü÷ S5üe¼¿8¬küo8,aÁdýy,>nÐö¢#ö¢#ö£#ö£#ý›«SFý ÇÀf©&üwä,‡J-ûåúý§ë5ûî¦ýÍsÿû÷&$ò8’ûÿrÖ3Tü‘è,ø8¢ý$]‚Ú=ïý¶Ò×¼C=ý­ôc•²÷ý¤énHý‚Žéü€Š‘¬Ò÷ü‰›zÔ=àý ³­ªö£#ö£#ö£#ö£#ý¶Ò×¼C=ý$]‚Ú=ïü‘è,ø8¢ûÿrÖ3Tüî;:‡Éü Gý^ü€€Þtü¥vbený8g IýªýË]S.EýÄ©ß M\ý½ÔÈã8lý+_r-ƒü˜c‘’²üŸ>CB§¢ý1¹4$½Áö£#ö£#ö£#ö£#ýË]S.Eý8g Iýªü¥vbenü€€Þtüê¿Æe²ü*àŪü6ZGøÂüÉÐr1N|ý]–%¤6ýñ[×ùðýåJçÀ8ÉýØ¢™yMýE¬S”ƒü±áªõMü¾‰SòdýQŠÏÖãö£#ö£#ö£#ö£#ýñ[×ùðý]–%¤6üÉÐr1N|ü6ZGøÂü>5χ§.üEöZÄ(ºüMLbý}eüá©rë#„ýv ØÉ£þ -i-ÆoÂþ{ȉ]ýú#ßH6lýf^,^à²üÑûpüèüÚSj±ÎÙýn¸›b>ö£#ö£#ö¤#ö¤#þ -i-ÆoÂýv ØÉ£üá©rë#„üMLbý}eüSÿ×6âáü\ÍylÒ›ü`¢‰ Êüõj‘‘”ýŠ7Kƒøþþßt˜ÂþÐ=½”þ—öçøý}:çAÙüè\æ$‰üñ• ^Yý†‰L<Êö¤#ö¤#ö¤#ö¤#þþßt˜ÂýŠ7Kƒøüõj‘‘”ü`¢‰ Êühh°ñüo=Ç`#Œüuý¬õœý -Y‚¤ÕÃýŸœjœµéþ4äï”–þ.¡™BJ}þ'VÈâOý’4ðÈ»üý5ßø»ý€°X³ý™^°Joñö¤#ö¤#ö¤#ö¤#þ4äï”–ýŸœjœµéý -Y‚¤ÕÃüuý¬õœüyl™ùÞüyP‘:)}ü{'ymx}ý—<iÛ}ý¦ ™f>}þ;öb¡}þ9”¡+¯âþ9‰kæìÚý¤@çï ³ý¯‚ñ¾?ýÀS6Œ}ý¤D/Lâö¤#ö¤#ö¤#ö¤#þ;öb¡}ý¦ ™f>}ý—<iÛ}ü{'ymx}ü}¼ýÔ,êü¿‡ ü¿‡ ýˆS‡ ýªç‡ þ?ƒß‡ þ?ƒß‡ þ>-çÐêý¨¸ŠÔ,êý2[ÐêýˆS‡ ýªç‡ ö¤#ö¤#ö¤#ö¤#ãøC€ø@ãøCxÓãøC«ö™ãøCAt`æõx1B'Äé¼LíØ7Lì*`KÈì`3þ<Ÿì–°±(äìËÛc%¯ãê-«€##ïç/½•8ç/½Ìæõx1¬©þéò ŸLÁé÷Ò3®š!ñZ$ñZ$óy$óy$ìËÛc%¯ãì–°±(äì`3þ<Ÿì*`KÈía¤×@|î„‘\̸ŸïŽ8{l ïÚg÷ëþð&—tk^áðrÁUê¿®ïT•T>°ÜîGk¦ôwíås¹2jªí—~%´’IîÐÀØLlïeØ¿Póy$óy$ô„#ô„#ðrÁUê¿®ð&—tk^áïÚg÷ëþïŽ8{l ð˜UU žáñŒ—U ·ÏVòjŽ^ -l·òÉw ù3 ó(Z …´«ó‡Bà 0³ò˜^?O^añ‘nF•è¦ñE>ʇÙðä„ÑŠÿ¯ñë€ DK^ò9{/Âߌô„#ô„#ô#ô#ó‡Bà 0³ó(Z …´«òÉw ù3 òjŽ^ -l·ò¡iŒ -š® òÖQÊ -ÉÎ^ó ‚é -÷qfón‰… -‡nfóÑ -qô4–» §sœóû^ vJóÂWê C”óco? ·!ŒóR7 -'*(ó9Xf -YÐùó˜W} æGfô#ô#õ#õ#ô4–» §sœóÑ -qón‰… -‡nfó ‚é -÷qfó%¨Œ ÃÚóA:” $9ËóYÒ/ <µ^ó¾ÑV -Î~ô#Ö -`L^ôˆÕ? òônJ´ ×ÍÊôPº… À‘Ãóí³ê -0(óˆ© -žÆuó¦?V -¶}ô K -Fõ#õ#õ#õ#ôˆÕ? òô#Ö -`L^ó¾ÑV -Î~óYÒ/ <µ^órå Tªfó‹Ön lx0ó¤¦ „)òô ’• ¾Wôr„¬ -«XVôÙq( ->ì»ô¾¹Ã -%oGô£Û - ÕÊô>Ö^ -z ó×éâ -æsóòÂê 0ôWǬ -‘Úâõ#õ#õ#õ#ôÙq( ->ì»ôr„¬ -«XVô ’• ¾Wó¤¦ „)òó½{^ ›Ð~óÖ/ ³[óîÁ ʾGôWœ `#úôÀ^8 -õ‰¬õ),Ó -Šï^õ¾O -qºËôô( -Xd”ô< -ÄÐ0ô$gÚ /j}ô>ýœ HÀ´ô¥ï´ -ÜUõ#õ#õ‘#õ‘#õ),Ó -Šï^ôÀ^8 -õ‰¬ôWœ `#úóîÁ ʾGóû - Öu†ôGË âòôù íÂ_ô}: „ êôæô _õP®) -°ªœõCІ -¤Võ6aH -—ŒuôÍ’¬ &ÃôcØ kÕôqÛ xmôÙÐv ÒËõ‘#õ‘#õ’#õ’#õP®) -°ªœôæô _ô}: „ êôù íÂ_ô Ë ùúô*¶f -!ô6Ff T~ô æO ©‹~õ ‹Ó @Â}õv+¼ -×ÿõiµã -ÊìGõ]4Ó -½Î?ôózÄ '‚´ôˆÚÛ Fô•[ê d!ôÿú 3µGõ’#õ’#õ’#õ’#õv+¼ -×ÿõ ‹Ó @Â}ô æO ©‹~ô6Ff T~ôd—8 Bæ¼ô’g rìÓô¿°n ¢fÄõ-Ë´ =K•õ›ì• Ø6ö - v sÓõÙN_ ?ø¬õ¨! DÃõ=c8 u ÃôÏ7! Ú¼õ‚_ Ñ¥õk-~ ¥Ûõ’#õ’#õ”#õ”#ö - v sÓõ›ì• Ø6õ-Ë´ =K•ô¿°n ¢fÄôÖò ¹—•ôëJ Ó%ÛõÅ¥ ët–õp• ˆ5ëõà[† $÷@öP&w Á²úö9w §Wö"þÄ Œ"õ´Ýã ñ=¼õE W T|gõ[ - oç0õÉ;† -Ìõ”#õ”#õ”#õ”#öP&w Á²úõà[† $÷@õp• ˆ5ëõÅ¥ ët–õýê û_õ+) Zëõ@Ä 4˜Ôõ±~Ž Ó6­ö"èW qÎëö”R! lÄö}¾H öWòög1 ÜGõ÷8@ ?Zõ…ÈÛ  ¼´õœƒò ºøÄö Nã Wºõ”#õ”#õ•#õ•#ö”R! lÄö"èW qÎëõ±~Ž Ó6­õ@Ä 4˜ÔõU• LÑ!õiþÄ dâ1õ~ÁO |Ñžõñ¾¼ Kúöd¼) ½À¼ö×¹– ^;öÁcg DtÄöªë– *•ö9Ì ‹éWõÆ„_ ënúõÜü1 \ŽöNeú £úgõ•#õ•#õ–#õ–#ö×¹– ^;öd¼) ½À¼õñ¾¼ Kúõ~ÁO |Ñžõ“ÒW ”ˆûõ¦& ®8ãõ¹ÐÛ Æ˜oö.Q héµö¢Öó @–÷\Ì ­—v÷/½ “[göîS - wÉ_ö{U ×TöÏÄ 4ý¼ö¦Û PÄö©ã ñ -!õ–#õ–#õ–#õ–#÷\Ì ­—vö¢Öó @–ö.Q héµõ¹ÐÛ Æ˜oõàˆ_ ÷ÒÜöÄŽ(uëö,Xžö¤ þ—"÷ië ¤§ -÷’Ù` J¼Ž÷j.ë ýo÷A‡ ⛼öÌ}­ @DÜöU š$!ö~4 Î…Ôöò¿w pçëõ–#õ–#õ˜#õ˜#÷’Ù` J¼Ž÷ië ¤§ -ö¤ þ—"ö,XžöQ|o‰;ösF–»P*ö–9Ü뤽÷`w•sI÷Ї?Goø­® éû÷ß® µ`÷º’Å /÷C(ë ÙŽöÈëã/Köím1e$P÷dó 49õ˜#õ˜#õ™#õ™#ø­® éû÷Ї?Go÷`w•sIö–9Ü뤽öݘKW:÷q`¯-A÷WCI‡÷ÖWA¿\"øUk9pœ½øÔ2!âôø’»ÔøQRäP@"÷×,I¦kû÷W¾žõ%Å÷˜…X`mÜø  -M9õ™#õ™#õ›#õ›#øÔ2!âôøUk9pœ½÷ÖWA¿\"÷WCI‡÷w ­=ì÷ì n³Ý÷¬âûž9ø.-*S- ø¯wY!ù0Ç#½€ùªÍ‰â"øö’:T‰Åøw~A£C÷ö¦îO‡ø69#§åø‘`žÔîõ›#õ›#õœ#õœ#ù0Ç#½€ø¯wY!ø.-*S- ÷¬âûž9÷ÈiÍÎq÷ã‘Qý'J÷þY‡+¤õø²®äA3ù Õœ×ÕùˆdüUtùk“i#YhùNbˆðôøÍ¾;œìøI³û‚õxøfêxµ½íøè:BjÂÆõœ#õœ#ö#ö#ùˆdüUtù Õœ×Õø²®äA3÷þY‡+¤õøÉä[gÆø.æ*Š|ÎøF¨½¸ïBøËéŸu"åùQ$å1\#ùÖeÆí•aù¼Á»–¾ù¢Â®ˆßùi‡ÐHxøš# þiø´!pF¶ ù7…Íÿ]€ö#ö#ö#ö#ùÖeÆí•aùQ$å1\#øËéŸu"åøF¨½¸ïBøR’pÐ ø^`ç)§øjôþ ýøðC®¼ RùvdÍz -§ùü‹ˆ8˜ùïèÕg+ùã5Q—€ù]ôpJ^Bø×ͶŒYRøä†Õ¥.˜ùiǶagÖö#ö#öž#öž#ùü‹ˆ8˜ùvdÍz -§øðC®¼ Røjôþ ýøuåãøß‡+qZø‹ÅxBÉiùÁ:ŽÖù™Â—ÂYÞú Ãõ‚Júai#ú .:P²iùƒ ’­yøü#Òè ùÛIë6ÆùŸ©;·öž#öž#öž#öž#ú Ãõ‚Jù™Â—ÂYÞùÁ:ŽÖø‹ÅxBÉiø žppòýøµ(ìžnÇøÉ_QËBbùQÿˆŽŽbùÚš#QÔÇúc:Y ÆúMeäÝú7Aa³Ú§ù°@ô;ù'š20¾ù=ÇaºÇùÄÊ€!‘öž#öž#öŸ#öŸ#úc:Y ÆùÚš#QÔÇùQÿˆŽŽbøÉ_QËBbøÝÅøHrøó"#ˆjùr—Pa ùŠiÇú¢:ÝÙîú¡º ¤–úý#tRRúxx:E¢3ùïÝŸ‚[Îùe´ü»”qù}9åêD‘úåR­–,öŸ#öŸ#öŸ#öŸ#ú¡º ¤–ú¢:ÝÙîùŠiÇùr—Pa ùæŸ|¿ù&ü¨iþù7ÝÓaùÂxB|‘úMë§g˜ úÙ_ 1³‰úǘhSú´BÔ^ú*wq ¢ZùžþpC{¨ù±ŠÆr…zú;¨39L×öŸ#öŸ#ö #ö #úÙ_ 1³‰úMë§g˜ ùÂxB|‘ù7ÝÓaù?„è×ùGòYþ%¸ùPJBG‘ùÜ`:ß úhp˜ªÒ¨úô†v˜4úëŒ_Ñæúâ{+HÙ$úW a~½¨ùÊ÷i²øùÔ¶ÉëCú_v” [ö #ö #ö #ö #úô†v˜4úhp˜ªÒ¨ùÜ`:ß ùPJBG‘ùTyÕ°ùX§Æ(^4ù\ËQ2Õæùé/ÆÿjßúuŽŸÌrûíy˜šjúý{qSKúùÎû[úlíÖ¶5ÏùàŽüé›<ùåŸôó,úq˜À¸¸ö #ö #ö #ö #ûíy˜šjúuŽŸÌrùé/Æÿjßù\ËQ2Õæù`hQ=€ ùcúH$™ùg‹åR½îùô9: "Sú€æíŒSû “åºöSû ³ ¯‘ûÓZ¤™úyt€ׄ¡ùìÇ+ -¡ùð§qŽ™ú} åâ#‘ö #ö #ö #ö #û “åºöSú€æíŒSùô9: "Sùg‹åR½îù„2§l‘ùŸ±ÕùM¡ùºXiH[‚úI%ˆDú×ò§ïãûf¿ÇæÈûJÖnw4û,RΟ/Mú oJWvŠû0üå1E’ö¢#ö¢#ö¢#ö¢#ûËv 4ódû:5 XVÈú¨ô {´’ú¸§Ÿ÷ú +Ãa5ú(FÕæ÷ú0PB ÎMúÂ3Öé-EûTiÈŒ=ûåúý§ë5ûÝT˜‚bkûÔ{¿\ÐûC:¿mšú±W+ lúº*iÆVûKq£sö¢#ö¢#ö£#ö£#ûåúý§ë5ûTiÈŒ=úÂ3Öé-Eú0PB ÎMú8då,Ÿðú@RJN¾.úHÖpÑúÚˆ+R#ûlý4(lûÿrÖ3Tû÷&$ò8’ûî¦ýÍsÿû\ÃiîúÊHy þèúÒÇŸ0Ã{ûd«33Eö£#ö£#ö£#ö£#ûÿrÖ3Tûlý4(lúÚˆ+R#úHÖpÑúN J‘ÜÁúSæ²â²úY¢åÓ*úì“·¹¢û‰ÖœI=ü€€Þtü Gý^üî;:‡ÉûsxæX‚{úà‚ sâúæÜa—rMûyWRyˆlö£#ö£#ö£#ö£#ü€€Þtû‰ÖœI=úì“·¹¢úY¢åÓ*úe2å³úp5χ§.ûªu·žWû q°sFûÍýìôÑû±™KÖˆ6ö£#ö£#ö¤#ö¤#üMLbý}eû¸ïR×Fû$’C"1'ú534‹ú–g·iØ/úžÅ;›ç£ú¢@˜˃7û7+½ûËÕZ®Šeü`¢‰ Êü\ÍylÒ›üSÿ×6âáû¿¢ÇI<Âû*ÄÆW~Nû3’inûÈK{QÒö¤#ö¤#ö¤#ö¤#ü`¢‰ ÊûËÕZ®Šeû7+½ú¢@˜˃7ú©z˜*¯'ú¯ÔZ}÷úµB§ÅZÃûJ…½:êûßεüuý¬õœüo=Ç`#Œühh°ñûÓ¡ûŒû>GÆ5ŒûECu×'ûÙõChCfö¤#ö¤#ö¤#ö¤#üuý¬õœûßεûJ…½:êúµB§ÅZÃú¹OÆ Ôñú¹ €H}úºÌýxUûP<¿t¸ûå²q}ü{'ymx}üyP‘:)}üyl™ùÞûä$ûN’¯µûN|CE}ûãÛ3=Æ}ö¤#ö¤#ö¤#ö¤#ü{'ymx}ûå²q}ûP<¿t¸úºÌýxUú½L×Ï…ú¾‹ŸŒ¼ú¾‹ŸŒ¼ûT 3Œ¼ûéŒÇŒ¼ü¿‡ ü¿‡ ü}¼ýÔ,êûèG ×ÉêûRÁqÔ2…ûT 3Œ¼ûéŒÇŒ¼ö¤#ö¤#ö¤#ö¤#ãøCAt`ãøCAt`ãøCÖôóãøCðæ»Ú¦ºQéJîYMxëˆß˜j}|ëáä;l´Ùì·îá;Ùì*`KÈé¼LíØ7Læõx1B'Äæõx1B'Äæ»Ú¦×»÷é£ía‚驤ñ]ÜñZ$ñZ$óy$óy$ì*`KÈì·îá;Ùëáä;l´Ùëˆß˜j}|ì¨ßÙNí´‡È ZÃ/ îƒGï(É5 Peïtø±Š®eïŽ8{l î„‘\̸Ÿía¤×@|íOY/ íçÛVªî3¦÷wNîkQ’êɾóy$óy$ô„#ô„#ïŽ8{l ïtø±Š®eï(É5 Pe îƒGïŸAÿ -Wêð€Ðl =}ñMÙø Ç=OñîGø -ÿôòM+ -Œ?»òjŽ^ -l·ñŒ—U ·ÏVð˜UU žáð‹ )°ð[“ ž%ñ!>l -X¾Gño9› ×Ruô„#ô„#ô#ô#òjŽ^ -l·òM+ -Œ?»ñîGø -ÿôñMÙø Ç=Oñ€{/ ñ¹ñ±?á XWñâo Go0òŠpÊ †ìOòíwf éOó ‚é -÷qfòÖQÊ -ÉÎ^ò¡iŒ -š® ò„7 -º6Úò ã” *?vòYA” \Õvò¸FF -éKâô#ô#õ#õ#ó ‚é -÷qfòíwf éOòŠpÊ †ìOñâo Go0ñúø \ûŽò*u p¥Ìò*Ï ‡[HòÖ~¤ ÊSÄó;ƒf \vóYÒ/ <µ^óA:” $9Ëó%¨Œ ÃÚó .A^ò¢’« œx¬ò¿ß” ³£ãó"ëÊ C âõ#õ#õ#õ#óYÒ/ <µ^ó;ƒf \vòÖ~¤ ÊSÄò*Ï ‡[HòAô» òXø³ ³òoÛ Ég)ó'Œ àó† £uó¤¦ „)òó‹Ön lx0órå TªfóT–V t~òí¤? àw~óE7 ùúómIù ‹Ã@õ#õ#õ#õ#ó¤¦ „)òó† £uó'Œ àòoÛ Ég)ò†Î/ ßBòŸ³ ôõò´U/ -1óg-â T‚óÏü} éç´óîÁ ʾGóÖ/ ³[ó½{^ ›Ð~óžîê »ó6³ %µÛóPxf >ênó·j} Ò~Óõ#õ#õ‘#õ‘#óîÁ ʾGóÏü} éç´óg-â T‚ò´U/ -1ò¿²» XúòË ŽòÖWe *Ô†óŠêù v„8óô¥ ÏÄôù íÂ_ôGË âòóû - Öu†óÜE} õ™Wór‹n _H0óž? kÉ@óèlÚ .òõ‘#õ‘#õ’#õ’#ôù íÂ_óô¥ ÏÄóŠêù v„8òÖWe *Ô†òá à 6!@òë¼… Amûòöf« L©ãó¬µ švôZ¤ 1Qô6Ff T~ô*¶f -!ô Ë ùúôEÚ  ó•¥ñ Ðòó¢” ŽØŽô ʤ %$õ’#õ’#õ’#õ’#ô6Ff T~ôZ¤ 1Qó¬µ švòöf« L©ãó!+N yƒóKz7 ¥Û`óuSf ѸPô2`… &gô f Àó8ô¿°n ¢fÄô’g rìÓôd—8 Bæ¼ôE«v aÝ´ó×^ Æí­ôŒò ú1wôs8 ‘s­õ’#õ’#õ”#õ”#ô¿°n ¢fÄô f Àó8ô2`… &góuSf ѸPóŠßÃ ç žó“V þÃûó±dÒ61ôqµ? m -ôá€0 ½ÄõÅ¥ ët–ôëJ Ó%ÛôÖò ¹—•ô·Ã Ø$ -ôGìâ ;bµô]ãà VŠ9ôÌ -@ ño -õ”#õ”#õ”#õ”#õÅ¥ ët–ôá€0 ½Äôqµ? m -ó±dÒ61óÄø¤+àwóØv Bcóë×fXÊô¯ZO ´ãõ É´ Rž½õ@Ä 4˜Ôõ+) Zëõýê û_ôö¾ "DŽô…N¬ ƒ¦µô›þ Ÿõ É~ :`Ôõ”#õ”#õ•#õ•#õ@Ä 4˜Ôõ É´ Rž½ô¯ZO ´ãóë×fXÊóÿCùo ®ô”……U9ô%Τ›m½ôìs8 ú­õ_p¥ š‰ -õ~ÁO |ÑžõiþÄ dâ1õU• LÑ!õ5Éê jÑoôÂÌ~ ÊWôÙ>´ ãûÅõJ® ‚™žõ•#õ•#õ–#õ–#õ~ÁO |Ñžõ_p¥ š‰ -ôìs8 ú­ô%Τ›m½ô9L ±BûôJâÉ`ô\Dêß“Íõ%ÿòAŸIõš€0 ãö)õ¹ÐÛ Æ˜oõ¦& ®8ãõ“ÒW ”ˆûõt­ ²:Ìôÿö8ãëõÒê+!Üõ†Õò Ëœ9õ–#õ–#õ–#õ–#õ¹ÐÛ Æ˜oõš€0 ãö)õ%ÿòAŸIô\Dêß“Íô€ `ô£_Ë9îhôÆMvfLIõ•÷¼Ï ö a–u+óö,XžöÄŽ(uëõàˆ_ ÷ÒÜõÁ7´0–õIÂ¥owõs -¢¾*õ畆E Aõ–#õ–#õ˜#õ˜#ö,Xžö a–u+óõ•÷¼Ï ôÆMvfLIôèf“A‡õyÁõ'Ànî3€õýH]±öwBã…Aö–9Ü뤽ösF–»P*öQ|o‰;ö2Mg¥ßÔõ¸_üIõÜÏW1*öTO×0®õ˜#õ˜#õ™#õ™#ö–9Ü뤽öwBã…AõýH]±õ'Ànî3€õiÝ!Fh¶õ É!¢ÇõÚ_úN€ö¹öóvõY÷9 -ë(5ô÷WCI‡÷q`¯-AöݘKW:ö¾¡ -g2"ö?8úµëìö€¾Pmìöû>žÉG®õ™#õ™#õ›#õ›#÷WCI‡÷9 -ë(5ôö¹öóvõYõÚ_úN€õ÷†¼%”ö-HS…˜ö)o\í÷ ì–nY÷6Å·ba÷¬âûž9÷ì n³Ý÷w ­=ì÷XÖëW)Yö×{ë¢5QöôoÖ—÷s:9‡Ý:õ›#õ›#õœ#õœ#÷¬âûž9÷6Å·ba÷ ì–nYö)o\íöBv­«qíö[9ÖïötS­ÕÖ÷]ñ"‹5Î÷áJICÒ ÷þY‡+¤õ÷ã‘Qý'J÷ÈiÍÎq÷ª½–ç*Î÷'^Ô.ƒY÷E,­`Oˆ÷Æ‚NÆõœ#õœ#ö#ö#÷þY‡+¤õ÷áJICÒ ÷]ñ"‹5ÎötS­ÕÖöŠÖµ-êÖö¡ @Yhyö¶ëµ„C‰÷¥hÛ ø*GIÐBøF¨½¸ïBø.æ*Š|ÎøÉä[gÆ÷ùº¦sB÷tt*·JÎ÷ Xèúõø„µ¡¢iö#ö#ö#ö#øF¨½¸ïBø*GIÐB÷¥hÛ ö¶ëµ„C‰öÁéó™®CöÌ×`®ì$ö׳ûÄÇ÷ÇôV¦øNÍ¥qøjôþ ýø^`ç)§øR’pÐ ø6+`çE¯÷°¦)@¿÷½AyøB]ôýÈ·ö#ö#öž#öž#øjôþ ýøNÍ¥q÷ÇôV¦ö׳ûÄÇöâ–1Ùjöí¶íÛõööÆûmî÷é!A™æøp"žXÜRø‹ÅxBÉiøß‡+qZøuåãøYÝA+‚+÷ÒÛäk·$÷àóƒ„íøf<®A‰Þöž#öž#öž#öž#ø‹ÅxBÉiøp"žXÜR÷é!A™æööÆûmî÷ û. S÷ç"X$÷/‰äcýø%öäü4ø®—àH3øÉ_QËBbøµ(ìžnÇø žppòýø„û—‡ ÷ü[`ôKøT"ó£õøš[³t˜öž#öž#öŸ#öŸ#øÉ_QËBbø®—àH3ø%öäü4÷/‰äcý÷A¶ëªî°÷VGÒ¾÷e+"ü-,ø_r͘™øéŠŸdT¿ùr—Pa øó"#ˆjøÝÅøHrøÂL NCø8#ìFŒøPŽ®t)îøÙ:7{‰öŸ#öŸ#öŸ#öŸ#ùr—Pa øéŠŸdT¿ø_r͘™÷e+"ü-,÷uC–%æ÷…ÅMf ÷”°Iu ø’ * jù ôæ;æù7ÝÓaù&ü¨iþùæŸ|¿øúþ¦² øo‹AƆSøƒ¦ô}rù &»DÏöŸ#öŸ#ö #ö #ù7ÝÓaù ôæ;æø’ * j÷”°Iu ÷œŒÜˆÚ‚÷¤Xžœ%÷¬¯öîø«¾QYÖKù7ÔI%›×ùPJBG‘ùGòYþ%¸ù?„è×ù&û·røšw"/ìKø¤`FXçù/vÆyþö #ö #ö #ö #ùPJBG‘ù7ÔI%›×ø«¾QYÖK÷¬¯öî÷¯óÔ¹µ¡÷³ÔÃi÷·©*Í Èø¸4*xLSùD“Dæçù\ËQ2ÕæùX§Æ(^4ùTyÕ°ù< 0)öø¯ž—c”þø´Yn¤ ù@iÝ:i™ö #ö #ö #ö #ù\ËQ2ÕæùD“Dæçø¸4*xLS÷·©*Í È÷º÷®Öæ‚÷¾@–໡÷ÁƒäêïøÂãì— ùO‘Bd† ùg‹åR½îùcúH$™ù`hQ=€ ùH*hO‘ ø»}‚' ø¿ ŸWÀùKÿxYì¸ö #ö #ö #ö #ùg‹åR½îùO‘Bd† øÂãì— ÷Áƒäêï÷Ûá–8œÀ÷õYp„$ø ñ Í -¡ùªÕ„@ù¤wôXØùºXiH[‚ùŸ±ÕùM¡ù„2§l‘ùl¹4°øÝAŸå8ßøý:;Sçù‰Ñaõöö #ö #ö¡#ö¡#ùºXiH[‚ù¤wôXØùªÕ„@ø ñ Í -¡ø"ñA¹ø7-A^x{øJ¥ £;ƒùX -ÍdVèùè2>¹ùü7q0†÷ùç—æŠùѶ˜¹ù»>B¨Fù*¥pÎD’ùDh™{ùÓkYó•Lö¡#ö¡#ö¢#ö¢#ùü7q0†÷ùè2>¹ùX -ÍdVèøJ¥ £;ƒøUežÅT&ø\®çÌøcõ¦ <‹ùsðìÏØú,R«¯sú¸§Ÿ÷ú.JzÙïú¼:U‰5ùôüc"’ùbÅÆ†u&ùlY­œÉùü§‡qkö¢#ö¢#ö¢#ö¢#ú¸§Ÿ÷ú,R«¯sùsðìÏØøcõ¦ <‹øk°—*¸5øs>®K†øz¥‡k«Éù x6 -‹úí iƒú0PB ÎMú(FÕæ÷ú +Ãa5ú ‰ÕÏø±ù{¦BðŽƒù…¢ŸäØúãŸò’Eö¢#ö¢#ö£#ö£#ú0PB ÎMúí iƒù x6 -‹øz¥‡k«Éø‚(h‹Ëàø‰~p«>.ø­:ÊMù¥]͘ÈEú7Ó#zÍ“úHÖpÑú@RJN¾.ú8då,Ÿðú'¯8@Áù”†¾V*¢ùž)iyþ&ú0—YhUö£#ö£#ö£#ö£#úHÖpÑú7Ó#zÍ“ù¥]͘ÈEø­:ÊMø–,Yé1ºø›„:§Áø Å®%u›ù·pø^ºúJ†·ÜîUúY¢åÓ*úSæ²â²úN J‘ÜÁú=Í—œŒƒùª×Q·ìù²T—ÚàúDÉí¼¦ÿö£#ö£#ö£#ö£#úY¢åÓ*úJ†·ÜîUù·pø^ºø Å®%u›ø«{ a|øµµ™ÙÑø¿sÅÏöeùÚ$iª¶|úm䀔 6úzÄÝ‹÷“úpú™ŸÎШ£ú¢@˜˃7úžÅ;›ç£ú–g·iØ/ú‹·õp^ÊùöÙô~¥ñú°ô³)Fú–$q¡ ö¤#ö¤#ö¤#ö¤#ú¢@˜˃7ú™ŸÎШ£úÒŸß">øãÞ¦öõ£øê’Náùøðjì›Ðøõn¶Ý¿êúð¾ÐYú°9BÈ9(úµB§ÅZÃú¯ÔZ}÷ú©z˜*¯'ú ÙÎ/Ô”ú †7”úìôŽi(úªÊõ€Õfö¤#ö¤#ö¤#ö¤#úµB§ÅZÃú°9BÈ9(úð¾ÐYøõn¶Ý¿êøù2ôÆ0øøÈpW}øúr€ƒ,ú# -ü}7?ú¸€Zyš?úºÌýxUú¹ €H}ú¹OÆ Ôñú´Fa³Vú´üdâú!fˆQ¤ú¶¿ÞIâ¤ö¤#ö¤#ö¤#ö¤#úºÌýxUú¸€Zyš?ú# -ü}7?øúr€ƒ,øüÛ*Ûr øþ€’Wøþ€’Wú)§Œ¼ú¾‹ŸŒ¼ú¾‹ŸŒ¼ú¾‹ŸŒ¼ú½L×Ï…úºÿqÙ¬ú%yBÕ}Gú)§Œ¼ú¾‹ŸŒ¼ö¤#ö¤#ö¤#ö¤#ÿÿÿÿ…þÕs…þ?ƒß‡ þ?ƒß‡ þ?ƒß®_þ?ƒßÕþ?ƒßvþ?ƒßvþÕsvÿÿÿÿvÿÿÿÿÛ8ÿÿÿÿ®_þÕs®_þ?ƒß®_þ?ƒßÕþÕsÕö¤#ö¤#ö¤#ö¤#þ?ƒß‡ ýªç‡ ýˆS‡ ü¿‡ ü¿®_ü¿Õü¿üÛýˆSüÛýªçüÛþ?ƒßvþ?ƒßÕþ?ƒß®_ýªç®_ýˆS®_ýˆSÕýªçÕö¤#ö¤#ö¤#ö¤#ü¿‡ ûéŒÇŒ¼ûT 3Œ¼ú¾‹ŸŒ¼ú¾‹Ÿ®_ú¾‹ŸÕú¾‹Ÿ÷?ûT 3÷?ûéŒÇüÛü¿üÛü¿Õü¿®_ûéŒÇ®_ûT 3®_ûT 3ÕûéŒÇÕö¤#ö¤#ö¤#ö¤#ú¾‹ŸŒ¼ú¾‹ŸŒ¼ú)§Œ¼øþ€’Wøþ€³úøþ€Õøþ€ñ¤ú)§÷?ú¾‹Ÿ÷?ú¾‹Ÿ÷?ú¾‹ŸÕú¾‹Ÿ®_ú¾‹Ÿ®_ú)§®_ú)§Õú¾‹ŸÕö¤#ö¤#ö¤#ö¤#ÿÿÿÿvþÕsvþ?ƒßvþ?ƒßvþ?ms¿ÁÄþxžý¾‚‘!(—ýË~ö!2¾þcØT!OÅaÿvtT!¯ÿÑÅš² ÿÿúd܈!þÔù=܈!þ?ms¿ÁÄþ˜}2þ²÷štXö¤#ö¤#ö§#ö§#ÿvtT!¯þcØT!OÅaýË~ö!2¾ý¾‚‘!(—ýhî"Øüéæ$é¨ü?ûæ&¿üYúK&*¡[üä&cå5ýÞC[&Ššþ’ºç%wDÿ##LCþ¿<#ý|eß"çJý°$“Ëöý˜„ $±Ñßö§#ö§#÷°#÷°#ýÞC[&Ššüä&cå5üYúK&*¡[ü?ûæ&¿úîü;)Dß“øûŠÍ,.B¬ö†.œºóö¬ .»±ë÷½ó/%kû÷Ê/ä/ÙÝìúaäa-B/ üv™j*'N>û|h+)ȨÙûõ)XÁáù|*,M9¤ù­rp,·}÷°#÷°#ùÉ"ùÉ"÷Ê/ä/ÙÝì÷½ó/%kûö¬ .»±ëö†.œºóô 1 -Ÿñ5&U2þ™qîÐ4O“îè4iŒKîT+÷4ó©¸î²ËÁ5íÚöò•4†<;õ2{g2qŒÎô~Û1½Bô=†1*$—ñI£3’;ñ¸õ63ŒbùÉ"ùÉ"ûâ!ûâ!î²ËÁ5íÚöîT+÷4ó©¸îè4iŒKîÐ4O“ìp0j4ø­êÈbR5xzzéXY5Îöé"I€5Û [é@ #6sd¸éo^Õ7†¹ë?öéXY5ÎöêÈbR5xzzìp0j4ø­ì6ì‘4n•°ììC3Ù RêZ4S6êpÖ4ë‰Þûâ!ûâ!üë!üë!éXY5Îöèû³Ÿ5>?öèÝðü4¥æ™èÁQÝ43ç.54eôæå“B)4ŽgKãøC4ŽŽ‰ãøC5$ ãøC5¹ŠãøC6O -©å°†6Nî¡çhN`6#×çYü5û¨ç<‡Ü4ø—å“B)5#âCå°†5¹s©üë!üë!üî!üî!ü¿üÛûéŒÇüÛûT 3÷?ú¾‹Ÿ÷?ú¾Y+†5 -ú˜¿ÕÜúNŸ yÿúÞhq –ž#ûvÇi ´faüÏ Ñ€üVn=î½ü~à¢ûgûée‰¢ûgûSÔ$†5 -û+gZ(9ûÃÆR/œ`ö¤#ö¤#ö§#ö§#üÏ Ñ€ûvÇi ´faúÞhq –ž#úNŸ yÿú~ˆ!ð(+ù•Ñ€#^Ô ùr—$¿"[ùŠi$øf4ú¢:%1ª ú¡º %jíçû?pæ#ïa¨û¶³"d!Þû)Âå"90aú‘o#"§úéR#˜æúµ^¯#¶4ö§#ö§#÷°#÷°#ú¡º %jíçú¢:%1ª ùŠi$øf4ùr—$¿"[÷ß¶¦'ü¢ö.Ìo*iñôÒ0,"zœô|Œ?,Œ/ôæ@´,õã…õOõ)-_•÷•+ž+VNùgYp(bkMøÝAŸ()'tøiÎx'¹@{ö˜€ã*p$÷+w)*°¡Ú÷°#÷°#ùÉ"ùÉ"õOõ)-_•ôæ@´,õã…ô|Œ?,Œ/ôÒ0,"zœñöÁ„.>i¥ïpNš/ïNAì¯tS1—ìè¸,1ií!ök2'4:í[:D2±L ðR½E1vö§ó -¨G/¤Îoò óÒ/;`ò`uù.¨#µï©’t0yfðyl0ìÙ:ùÉ"ùÉ"ûâ!ûâ!í[:D2±L í!ök2'4:ìè¸,1iì¯tS1—ëO j1¥c€éàtˆ2 -íèjKa2^%Öè†ê€2íôÖ褭#3†N3èÁQÝ43êTh 3ÆEëߨj3Oë¦d‘2Äð¯ëˆdC2/{Rê f2 ûˆê)w#39OJûâ!ûâ!üë!üë!èÁQÝ43褭#3†N3è†ê€2íôÖèjKa2^%Öæô"92¨FZåvg2ÍÚZãøC2ÎiãøC3cbãøC3ù õãøC4ŽŽ‰å“B)4ŽgKç.54eôæçè½3ÓMçt–3:î#åvg3cZíå“B)3øæ·üë!üë!üî!üî!ú¾‹Ÿ÷?ú¾‹Ÿ÷?ú)§÷?øþ€ñ¤øýÌ:in­øÛŸɼûø–­I "òìù©IJ REŸúA¢§ p ÝúNŸ yÿú˜¿ÕÜú¾Y+†5 -ú¾Y+†5 -ú(Íain­ùùß—ái"ú’D+þÝIö¤#ö¤#ö§#ö§#úNŸ yÿúA¢§ p Ýù©IJ REŸø–­I "òìøRCô!|(Ý÷ì,"ÎFq÷e+"$VÏø_aû$qü4øéyÍ$«@ ùr—$¿"[ù•Ñ€#^Ô ú~ˆ!ð(+ùñ#!á8ÖùX­a!Ã'·øæcY#,ëÖù{ض#Jñ¿ö§#ö§#÷°#÷°#ùr—$¿"[øéyÍ$«@ ø_aû$qü4÷e+"$VÏöXÛ&ˆ\ôÈm@(òƒ.òÕ´Ò*åW£óŠ,^+™Ï/óóàÓ,ƒ¤ôÒ0,"zœö.Ìo*iñ÷ß¶¦'ü¢÷ŽÜ'l¹÷RJµ&ü-Áõ|äÌ)¦õöÕv)çx”÷°#÷°#ùÉ"ùÉ"ôÒ0,"zœóóàÓ,ƒ¤óŠ,^+™Ï/òÕ´Ò*åW£ðâÚÂ,Ø -vîßï.g«wì¨Ç/t½"ìbN,0nóû워j0ù Íì¯tS1—ïpNš/ïNAñöÁ„.>i¥ñ×ÊŒ.xHñ—L²-Œ‚îì¹/aâPï\lM/ÕUwùÉ"ùÉ"ûâ!ûâ!ì¯tS1—워j0ù ÍìbN,0nóûì¨Ç/t½"꾘i/û¾élzÕ0aÐXèDä0¦4èB——1¸Ðè`Z:2Q)qèjKa2^%Öéàtˆ2 -íëO j1¥c€ë;>1‹j¶ë=Î0õõYé³t1h9ÆéÑŠÎ2ˆûâ!ûâ!üë!üë!èjKa2^%Öè`Z:2Q)qèB——1¸ÐèDä0¦4æºó0ê—ÍåY» -1 SãøC1 –IãøC28‘ÕãøC2ÎiãøC2Îiåvg2ÍÚZæô"92¨FZæï)¦2¡ÊõæÑµ2 faåY» -28Nåvg2ÍÚZüë!üë!üî!üî!ãøC8†ÉãøC6ä…¡ãøC6O -©ãøC6O -©ãøC6O -©ãøC6O -©ãøC6O -©ãøC6O -©ãøC6ä…¡ãøC8†ÉãøC8†ÉãøC8†ÉãøC6ä…¡ãøC6O -©ãøC6O -©ãøC6ä…¡üî!üî!üî!üî!ãøC6O -©ãøC5¹ŠãøC5$ ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC5$ ãøC5¹ŠãøC6O -©ãøC6O -©ãøC6O -©ãøC5¹ŠãøC5$ ãøC5$ ãøC5¹Šüî!üî!üî!üî!ãøC4ŽŽ‰ãøC3ù õãøC3cbãøC2ÎiãøC2ÎiãøC2ÎiãøC2ÎiãøC3cbãøC3ù õãøC4ŽŽ‰ãøC4ŽŽ‰ãøC4ŽŽ‰ãøC3ù õãøC3cbãøC3cbãøC3ù õüî!üî!üî!üî!ãøC2ÎiãøC2ÎiãøC28‘ÕãøC1 –IãøC1 –IãøC1 –IãøC1 –IãøC28‘ÕãøC2ÎiãøC2ÎiãøC2ÎiãøC2ÎiãøC2ÎiãøC28‘ÕãøC28‘ÕãøC2Îiüî!üî!üî!üî! -endstream endobj 57 0 obj <>stream -ÿÿÿÿ)+²âÿÿÿÿ(ï¾ÿÿÿÿ't‹nÿÿÿÿ't‹nýˆ't3™û9Vd&÷õÜù5uÅ&0× ù#0Ç&IokøîvG&Ò”ø—V½'ʈúÊS¡(£ôýO­h)+qýO­h(« ýˆ't3™û' é'úû!x©'«mžñZ$ñZ$óy$óy$ø—V½'ʈøîvG&Ò”ù#0Ç&Iokù5uÅ&0× ÷/e:%kaªõvãð$V=’ôq!#+ç/óêºÉ#JØmóÑ#»õ&òð©$7Þô7•%ÄÄWöaí‹&òÊéö¹’%úDu÷¿%ƒú õZ-™$u.Ðõ_–%~àóy$óy$ô#ô#òð©$7ÞóÑ#»õ&óêºÉ#JØmôq!#+ç/óQX"“ú˜ò¬RK!÷’¸ò"ß!W´Mñú¤è!u©ñŽÔ!ئ÷ðÕ¥b"€³šñvÃ#/ bò*#ü#Ù­~òÇKþ#jÇó4Î~"²ë×òÔT"‡sò/Ir"‡~ô#ô#õ”#õ”#ðÕ¥b"€³šñŽÔ!ئ÷ñú¤è!u©ò"ß!W´Mñóé:!0,‹ñÑÖ‡!•Íñ®ÁÓ ÞÆ®ñ"ì ü2,ñ!/![fða“!üáZð‡ÎÄ"(U­ð­à"UŽàñfG!­‚>ñÕkC!N‡ñ³7 !$ -ñGKX!‡¸õ”#õ”#õ•#õ•#ða“!üáZñ!/![fñ"ì ü2,ñ®ÁÓ ÞÆ®ñcd ʱÕñŒ%ä ¶»-ñzþY ¢â¶ñ\Yõ ÀZðëÀû!Œúð)3j!»…•ð;à´!Ñ-çðN®ï!æ÷)ñ+ƒ!E¦4ñ~Éú èSñm€ ÓÙÑðþsÃ!35Lõ•#õ•#õ–#õ–#ð)3j!»…•ðëÀû!Œúñ\Yõ ÀZñzþY ¢â¶ñiªå -îñZJù z—ñJ€ eä -ñ+e™ ‚°Wð¹L\ Þi\ïó¾F!y \ð…! ƒðZ5!¥þ2ðØíD!—ñK ¬L’ñ;¬ –ÝãðË › ôiƒõ–#õ–#õ–#õ–#ïó¾F!y \ð¹L\ Þi\ñ+e™ ‚°WñJ€ eä -ñ)ûL =&ñ -Zd ЄðëÏífðÌ“[ ŒðW¥ƒ a&àïŒGË õ,cï®Z~! ˜yïÐÕ}!LÌð–c“ ±êÍñ \e Yê2ðëÖð 0çªðy¸6 Œ•µõ–#õ–#õ˜#õ˜#ïŒGË õ,cðW¥ƒ a&àðÌ“[ ŒðëÏífð̈`Ä© ð°PJ›T,ð“ys@oðu,tŽ‘÷ïýoâøXï,¤ó pnïLs œ)Çïjõ9 É)Wð6Rò 5&’ð®ìàÀ1ð’ 8¶¥³ðÿî ´õ˜#õ˜#õ™#õ™#ï,¤ó pnïýoâøXðu,tŽ‘÷ð“ys@oðX²#Ë]ð&7Ñnzïó¢Ô‚›XïÖfœ2úïY§BéL5î~UgiéÊîµÃ’¿üYîì³{ ©!~öŒ0£ð:eï?åð Éëï‘ï?^Äõ™#õ™#õ›#õ›#î~UgiéÊïY§BéL5ïÖfœ2úïó¢Ô‚›XïÙ¯[‘Øïûs2¢ˆï¬˜\ ;µïŠ/#áÎïðœm`Ðî0Ë£ç³?îJ4±Œîbß?@“ï=S¹¾¢ÿï»ýÄu&»ï¦­GKH ï*-ª˜_õ›#õ›#õœ#õœ#î0Ë£ç³?ïðœm`ÐïŠ/#áÎ﬘\ ;µï•Øã˜ïj#¼{ÊïiI •ëïLÔ”­š!îÌ7ó„gíçpOg§#íÿê‘Á îܼpTîø&ÖB'ïxÉçü>™ïbõ«Ô*ÝîäQœ&õœ#õœ#ö#ö#íçpOg§#îÌ7ó„gïLÔ”­š!ïiI •ëï@Ý{F²_ï*ŒúSÇîóøe®Œ%îØî;Ä1¹îT»êwígfòk4íŽæx½èÖí»(¥M7îŸïU*|ï$n€^^³îý bù[î|;pUÈ/ö#ö#öž#öž#ígfòk4îT»êwîØî;Ä1¹îóøe®Œ%îâŸsˆE…îÑÞb]îÀ¾(=iî–REî ¼x´í/oŠïÄ<íAÏûK@íTwÈAqvîAÌÀÙPÎîÇšÆëî·TLw+´î3µÿ¹öž#öž#öŸ#öŸ#í/oŠïÄ<î ¼x´î¦„–REîÀ¾(=iîî°\<×îžtôYî°ZÎø¤îwR\â„Aíð ™Ùìûbw11í -0hŸ¤þí‡ßÇSîÙàdºËî–"ª,°.î…ŸµíÿHC -èöŸ#öŸ#öŸ#öŸ#ìûbw11íð ™ÙîwR\â„Aî°ZÎø¤îtø…?þîVWŸ>Zî=©Kø¥Óî&3Ü -yíœsÉ;¢Ëì iE -ì»bÄÙ¬ìÛ¢Ý&Ê–íлÊ0€îZ·w˜Ë›î>â1Oÿí·m|‡ëmöŸ#öŸ#ö #ö #ì iE -íœsÉ;¢Ëî&3Ü -yî=©Kø¥Óî%ü÷²`ùî¿noºíù£,ÚPí㤮<4¾íWÐ!g…cìU‡ý®É~ìl÷ïö™•ì†Uì@¤“í‚`¤ïSÃÏàíùºÊ}Ìæío:–¯Uyö #ö #ö¡#ö¡#ìU‡ý®É~íWÐ!g…cí㤮<4¾íù£,ÚPíæ÷êE¥íÓÜvª íÂG"lCí¯›y™tí!ŠdŸ þì¿xÜ”¦ì,ð ì@Ü/f “íC$SÙ¸íе„ù¢ÒíÀ r·kxí4»nâ‚yö¡#ö¡#ö¢#ö¢#ì¿xÜ”¦í!ŠdŸ þí¯›y™tíÂG"lCí¸ó;M}´í²„g.œîí«eêŒÁí™L×ì'í y?Rì¹Ox~Àìø™M’ì¥óº÷øív]}mQí¥·7ZÔ!í e×:üTíÚ#`_%ö¢#ö¢#ö¢#ö¢#ì¹Ox~Àí y?Rí™L×ì'í«eêŒÁí¤sWòtXí¡´Ôòåí–ö~¸ äí…õ`Ãyì÷ÑãlBëêfÑç¡ëñ±87oÔëù" W¢4íz7¶…í’TÆþÑ팦à^ìþe9÷4ö¢#ö¢#ö£#ö£#ëêfÑç¡ì÷ÑãlBí…õ`Ãyí–ö~¸ äíVB›&%í‰Öö~Øíƒ~c#ÃísŸëm¢Öìä6¢ŠýÝëÕB=»2ëÜ$YÙpîëã2^øW1ìïëÜÃÛÒíU%¦‘DíyøÉ‰W-ì뽩<³ö£#ö£#ö£#ö£#ëÕB=»2ìä6¢ŠýÝísŸëm¢Öíƒ~c#Ãí~tG*Îíy…‚+Ñ ít²cüíeñª®þìÖ -5ŠëÅAa¨þëÊM%~Õ[ëϹøœ®£ìÞ¨ßlzhín•çQ¬ íjÄÉ5o ìÛVR¹›ö£#ö£#ö£#ö£#ëÅAa¨þìÖ -5Šíeñª®þít²cüík-Û‹`íb¨tÑíYqTwÍOíLæ¿$ì¼3]•ð²ë§^Þºd¹ë°Èºï|Šëº¥Ý'?ËìË´8û!Mí\l[å)bíUŠ@°f¦ìÅ9Ë Cö£#ö£#ö£#ö£#ë§^Þºd¹ì¼3]•ð²íLæ¿$íYqTwÍOíLë€Ôí@œ’½¯Õí8§þoÔí0:¦t.ìž‹|‚]U냆™©˜ëŒ9Aï\ë™y¸O§ì®N7+¡í@Z³Åóí84·ÂÂì§57ØÓö£#ö£#ö¤#ö¤#냆™©˜ìž‹|‚]Uí0:¦t.í8§þoÔí2¬r Y*í-k‰Ûn&í(ð? ZÇí$*£/bì‘ß<«&´ërmy¸>ëwVø¥~ë} -½CË0ì˜6,|.í*?%h«í(‡òÞBÀì–ÂÓëŽ2ö¤#ö¤#ö¤#ö¤#ërmy¸>ì‘ß<«&´í$*£/bí(ð? ZÇí%—åe?,í%‡m3â„í$-— suí!í4 ´—ì™[Aëm'xën–ÞBënÍÃwÎFìŽ?†j¶úí ´NhÇí#L†5&dì‘£<9çö¤#ö¤#ö¤#ö¤#ëm'xì™[Aí!í4 ´—í$-— suí"E½Š_í!N–’í!N–’í!N–’ìŽï/–’ëj&Ž–ëj&Ž–ëk(Áìš×»G<í -"¾Î?í!N–’ìŽï/–’ö¤#ö¤#ö¤#ö¤#ÿÿÿÿ't‹nÿÿÿÿ&â)Üÿÿÿÿ&OÈJÿÿÿÿ%½cúýÀ‚Å%¼ö0û¨Y'%KúfùÓšJ$—#RùžßÊ%µzùj*Ç%¨Däù5uÅ&0× û9Vd&÷õÜýˆ't3™ýˆ&áÒýÀ‚Å&OZ€ûs¤$%Ô‰Ðûn f&ofsñZ$ñZ$óy$óy$ù5uÅ&0× ùj*Ç%¨DäùžßÊ%µzùÓšJ$—#R÷üÜé#ãõ¬ölL"ç¶Îõ9)!Ø“ÁôÁIý"I°zôdZÐ"ºÊuôq!#+ç/õvãð$V=’÷/e:%kaª÷d=$âÏ‚÷È'æ$l…ö¡ #XÐÉõÓÍ #å Ùóy$óy$ô#ô#ôq!#+ç/ôdZÐ"ºÊuôÁIý"I°zõ9)!Ø“ÁôxÚ´!NG³óâ„V Àó\ [ .²AòðÏ… ‘²ðò„ù2 ô³žò"ß!W´Mò¬RK!÷’¸óQX"“ú˜ó®n…""àžôëˆ!¿a­óv³€!#½ó#!!””Èô#ô#õ”#õ”#ò"ß!W´Mò„ù2 ô³žòðÏ… ‘²ðó\ [ .²Aó:¹“ -Ê6óÞJäÕíòûë À©CòŒÝN }òÏ e¶ñ®ÁÓ ÞÆ®ñÑÖ‡!•Íñóé:!0,‹ò_¿ Í+ÜòÎã? mÈ&ò¬Ð D4&ò@äD §7“õ”#õ”#õ•#õ•#ñ®ÁÓ ÞÆ®òÏ e¶òŒÝN }òûë À©CòìV®l‚òÜe–œHsòÌÃËŠ?Øò\0NçËwñë—T EWñzþY ¢â¶ñŒ%ä ¶»-ñcd ʱÕò q! kSœò}™ Ê»òkÌœùÔñü¾Þ Y/Žõ•#õ•#õ–#õ–#ñzþY ¢â¶ñë—T EWò\0NçËwòÌÃËŠ?Øò¼öx]©ò¯neìò E<R¾wò.1|®t½ñ¼? --ÃñJ€ eä -ñZJù z—ñiªå -îñÚCß 1¢NòL]ÕéIò<ý1ÀÌòñÌ^¹ X‘õ–#õ–#õ–#õ–#ñJ€ eä -ñ¼? --Ãò.1|®t½ò E<R¾wòƒ!-¨€òfZK ÑòIåÓäÓªñÔ÷ü<áþñ`§”ðSðëÏífñ -Zd Єñ)ûL =&ñœ‰ádßò [‰a†ññföa%ñH<¼Â0õ–#õ–#õ˜#õ˜#ðëÏífñ`§”ðSñÔ÷ü<áþòIåÓäÓªò.‡À&ò‘Ÿš~‘ñúG–vÇñ‚«Êy(ñ ‹ÜÌð“ys@oð°PJ›T,ð̈`Ä© ñA{µlš¶ñ¹-°4Tñœõšîâ4ñ'ìPFð‰õ˜#õ˜#õ™#õ™#ð“ys@oñ ‹ÜÌñ‚«Êy(ñúG–vÇñĬ-íšñ—bZâàœñhðA›Lçðìèháðpø5‚ïó¢Ô‚›Xð&7ÑnzðX²#Ë]ðÐN„ÏgºñMÿ‚Q=ñó5/ù×ð¢ÿ[„R€õ™#õ™#õ›#õ›#ïó¢Ô‚›Xðpø5‚ðìèháñhðA›LçñQwà_ñ=s²RÅñ(e.Ä,ð©Ëx@oð+1îÁ¿r﬘\ ;µïûs2¢ˆïÙ¯[‘ØðUþÔuÞðÔ¨ÞÄüYð¾Úœ ðBUé#…õ›#õ›#õœ#õœ#﬘\ ;µð+1îÁ¿rð©Ëx@oñ(e.Ä,ñ®K -À®ðÿ>ßç8³ðëLÄ.úðj~¸ -@ïéá#PÈïiI •ëïj#¼{Êï•Øã˜ðq¦šð•¸T<ñð~¦Ç-"ùð:v”Bõœ#õœ#ö#ö#ïiI •ëïéá#PÈðj~¸ -@ðëLÄ.úðÆ’Q|Èð¡t6Áwð€‰Ùñä,ïüW‰0Åêïx%8oªgîóøe®Œ%ï*ŒúSÇï@Ý{F²_ïÁ{ÈðEú:ÁÿðAÎu£5ïœ\Ý»r ö#ö#öž#öž#îóøe®Œ%ïx%8oªgïüW‰0Åêð€‰Ùñä,ðpÌœÏRðaQ>¬ÕyðR Æ‹_ïÌI»Æ…ÎïF3ù>îÀ¾(=iîîÑÞb]îâŸsˆE…ïfÑÄIcÇïìŸÉ þïÛˆ¶èHéïWVf'îöž#öž#öŸ#öŸ#îÀ¾(=iîïF3ù>ïÌI»Æ…ÎðR Æ‹_ðC0™i&ð2¸¸H}´ð&SÕ&½X^Ð2ïè­–åÊî°ZÎø¤îžtôYî°\<×ï6GÜ¡hï½h¤–Ê鉶〓Lï%¬ã»þ€öŸ#öŸ#öŸ#öŸ#î°ZÎø¤ïè­–åÊ^Ð2ð&SÕ&½Xð }ã²§ïñFþ£ÇïÚäd ZïQ#ô•‘îîÇcáÇ@î=©Kø¥ÓîVWŸ>Zîtø…?þîûHJM*fï…DÀÈ@ïg†êÕ[îà³ ÇöŸ#öŸ#ö #ö #î=©Kø¥ÓîÇcáÇ@ïQ#ô•‘îïÚäd ZïÅb"$3Uï°šáæ|ÃJªèd﮽Ö9î„Ú0‰¬íù£,ÚPî¿noºî%ü÷²`ù €Õ§ï;¢U»èï$ÆUÍgîšðLC!Ôö #ö #ö¡#ö¡#íù£,ÚPî„Ú0‰¬ï®½Ö9Jªèdï‹VBnmwïzÈl49ïjÔIûî¬îÝS!aôîOÍYFÒ~íÂG"lCíÓÜvª íæ÷êE¥îqð„¾õîÿµ™¾îíB5YŠÃîa]0„¤‚ö¡#ö¡#ö¢#ö¢#íÂG"lCîOÍYFÒ~îÝS!aôïjÔIûî¬ïb@„àpï\†×Ãï ïV¨îÇÜ¥ËA¬î9¡Híè–í«eêŒÁí²„g.œîí¸ó;M}´îFyr( *îÔºMsúîÎKyæ“4î@¿Å øÃö¢#ö¢#ö¢#ö¢#í«eêŒÁî9¡Híè–îÇÜ¥ËA¬ïV¨ïOÄ¡C¾ïI—­ruõïC†+X4(î´«œx'fî%Ñ ˜¥í–ö~¸ äí¡´Ôòåí¤sWòtXî2®µÏÍnîÁ‰D¯çé’i4î,|C´ÿ¦ö¢#ö¢#ö£#ö£#í–ö~¸ äî%Ñ ˜¥î´«œx'fïC†+X4(ï=t©=òZï7‰”$<ˆï1¹ò °î¢P©(m¶îç`EȽíƒ~c#Ãí‰Öö~ØíVB›&%î0Ñ{2æî®š]å™î¨ KA—Žî@?a}ö£#ö£#ö£#ö£#íƒ~c#Ãîç`EȽî¢P©(m¶ï1¹ò °ï-.0ñ¦ùï(½àØÉüï$c…Àxùî”{ûÛW:î™îö2»ít²cüíy…‚+Ñ í~tG*Îî Ý\)Ò‡îÄçÿî˜ÖUó¨<î m òÊö£#ö£#ö£#ö£#ít²cüî™îö2»î”{ûÛW:ï$c…Àxùï´NÖôïmbajYï ƒÉ55åîzÖ Kgsíê#úa™íYqTwÍOíb¨tÑík-Û‹`íû À­î‹Ìêµ5¼wž¦íòÈ7’@„ö£#ö£#ö£#ö£#íYqTwÍOíê#úa™îzÖ Kgsï ƒÉ55åïWÌÜ•îõaŒ“îíÀvDŽî\ ÏR½QíÊ\¥`ì’í8§þoÔí@œ’½¯ÕíLë€ÔíÝž'ÿŸÑîoª£òL#îcPºš2ÔíÒQ9¯€“ö£#ö£#ö¤#ö¤#í8§þoÔíÊ\¥`ì’î\ ÏR½QîíÀvDŽîèN&üç$îㆾ4îßsˆwŽîME˜náí»ª˜cuí(ð? ZÇí-k‰Ûn&í2¬r Y*íÄ[›)éîV™ fîQ^Æ+bí¿˜ôÓvÓö¤#ö¤#ö¤#ö¤#í(ð? ZÇí»ª˜cuîME˜náîßsˆwŽîÜg„R­UîÜwü%¸¿îÛ4ÓsîHÚÆ]4í¶pæõí$-— suí%‡m3â„í%—åe?,í·ÅP]GÚîJ:Z¤§îJ$#)Bí·àÃ0XÂö¤#ö¤#ö¤#ö¤#í$-— suí¶pæõîHÚÆ]4îÛ4ÓsîÙa‚¹ýßîØuv–îØuv–îF£–í³²S–Óí!N–’í!N–’í"E½Š_í´˜áºîG,½‡ îF£–í³²S–Óö¤#ö¤#ö¤#ö¤#ÿÿÿÿ%½cúÿÿÿÿ%+hÿÿÿÿ$˜ Öÿÿÿÿ$<†ýøís$»…ü[é#Ÿü1úq¹R"ýrWú=O#†ÀúOM$“éùÓšJ$—#Rû¨Y'%KúfýÀ‚Å%¼ö0ýÀ‚Å%*”žýøís$˜ûâ¡i$(ŽYûÝ)$Ãh>ñZ$ñZ$óy$óy$ùÓšJ$—#RúOM$“éú=O#†Àúq¹R"ýrWøÊT˜"\‰¯÷b7+!y0 -ö4û´ …CõØ ö] õ{"Ø!gyÆõ9)!Ø“ÁölL"ç¶Î÷üÜé#ãõ¬ø1‘ì#[c„ø•Ÿ–"å×÷M{!êJöÉyû"všóy$óy$ô#ô#õ9)!Ø“Áõ{"Ø!gyÆõØ ö] ö4û´ …Cõ 6 ’õ»Þˆ¤#ô Ø²ôô4Mh³£óÈv¯Ë´Qó\ [ .²Aóâ„V ÀôxÚ´!NG³ôÕÉá Ý*ùõCFä y®Çô¬å‹ë¢ôNZ© ]ô#ô#õ”#õ”#ó\ [ .²AóÈv¯Ë´Qô4Mh³£ô Ø²ôô‰ìåe"ôeëŠÃ ôIC¢Ž—óÚ†ìÑójøÈaK -òûë À©CóÞJäÕíó:¹“ -Ê6ó¦Ši§É‡ô³™HeÑóöÝÍ"tFóŠì…w´õ”#õ”#õ•#õ•#òûë À©CójøÈaK -óÚ†ìÑôIC¢Ž—ô:ÑË’$oô,¥HÕºôŽ»qœúó­õÀÏ(™ó=\Æ,´8òÌÃËŠ?ØòÜe–œHsòìV®l‚ó[+O ŠóËÄñ‚©ó¼ NßaYóLþ‘>¼Ôõ•#õ•#õ–#õ–#òÌÃËŠ?Øó=\Æ,´8ó­õÀÏ(™ôŽ»qœúôFÅaeôáâPóö‹v?–%ó„r9›O*ó^y÷qò E<R¾wò¯neìò¼öx]©ó-Ò -óŸ­Ë¿ó‘È¥«Òó!*- ]¥õ–#õ–#õ–#õ–#ò E<R¾wó^y÷qó„r9›O*óö‹v?–%óÜLg5ÚóÂZ2ý=Üó¨ºUܨ­ó3Ç4·ò¾Ù(ŒÅUòIåÓäÓªòfZK Ñòƒ!-¨€òõ:XÑò9ój3*yîßóMfÝUL0òÛH#°÷|õ–#õ–#õ˜#õ˜#òIåÓäÓªò¾Ù(ŒÅUó3Ç4·ó¨ºUܨ­ó®®»¥´óxÍv™¦7óa¦xåòé ÍK€òqã›!¯#ñúG–vÇò‘Ÿš~‘ò.‡À&ò£Üh«óÀ×´ó1qî ™òŒ-¤F/õ˜#õ˜#õ™#õ™#ñúG–vÇòqã›!¯#òé ÍK€óa¦xåó0«8Öó.ÿôR½òÞ=­³þvòaΉpñå_eN3«ñhðA›Lçñ—bZâàœñĬ-íšòßç8³ñ®K -À®ñ’GÞÁA«òêð{eñþWßâñÜs¡Nmõœ#õœ#ö#ö#ðëLÄ.úñk¹á~D´ñìQø8],òlïŒòræòLG'±yïò*¸3s/'ò M5<3ñˆèýt ¯ñ¶¬³nð€‰Ùñä,ð¡t6ÁwðÆ’Q|ÈñG/å6*ñ˯÷awñ¦…ã²åñ% ñ÷ß¹ö#ö#öž#öž#ð€‰Ùñä,ñ¶¬³nñˆèýt ¯ò M5<3ñþùÅðaññ"÷–ñã[cغÐñ]˜X.?ð×ÏÐOžððR Æ‹_ðaQ>¬ÕyðpÌœÏRðôþì:”ñzÇtTÔÞñkL2ŽðçIqb -öž#öž#öŸ#öŸ#ðR Æ‹_ð×ÏÐOžðñ]˜X.?ñã[cغÐñÖ÷º4ñÆüàœìÍñ»üÍ~‚ ñ4Äz¶—¥ð­Œ(îªð&SÕ&½Xð2¸¸H}´ðC0™i&ðÈó¤-²ªñPdñÄž@«‚ðr‰AcRlïäMã…ö—ïV¨ï\†×Ãï ïb@„àpïïÁ>º’æð~–—ù¶ðxMé{åNïêÂ4¡Hö¢#ö¢#ö¢#ö¢#ïV¨ïäMã…ö—ðr‰AcRlñÄž@«‚ðûì(#ðõˆ)ùððØøZkða;IMªïÒ`º8@éïC†+X4(ïI—­ruõïOÄ¡C¾ïÝÿÿjœÔðlà Jº ðf­š/ìDïØr<R‚¶ö¢#ö¢#ö£#ö£#ïC†+X4(ïÒ`º8@éða;IMªððØøZkðê˜àÁNðå6µÉ£´ðßõ̳\ðPŒƒÐ_bïÁ#:íºhï1¹ò °ï7‰”$<ˆï=t©=òZïÌTµÿð[½þ´ðUÍlæþºïÆòÝä@ö£#ö£#ö£#ö£#ï1¹ò °ïÁ#:íºhðPŒƒÐ_bðßõ̳\ðÛèKœ%ãð×ö=…ÂìðÔ§oà÷ðD2šŠ¿7ï´K¥š¹ï$c…Àxùï(½àØÉüï-.0ñ¦ùï¼—xÔN±ðL¹~*ðH³ ¡-︥j½ë»ö£#ö£#ö£#ö£#ï$c…Àxùï´K¥š¹ðD2šŠ¿7ðÔ§oà÷ðÌ;†D"‰ðĺ9bŸð½›¼òž{ð,éÐ ïœ6p˜ï ƒÉ55åïmbajYï´NÖôï«›Øtûsð– —ïjÙÇ–VîØuv–îØuv–îÙa‚¹ýßïkµZ¶q_ïþ$¥¹øaïý>– —ïjÙÇ–Vö¤#ö¤#ö¤#ö¤#ÿÿÿÿ$<†ÿÿÿÿ$<†ÿÿÿÿ#sÚôÿÿÿÿ"Oþ1R¤"N~ü†Y/!ô»ûØZ!c¾ú¸¸Ï"\GÏú„Í"ä×9úq¹R"ýrWü[é#Ÿü1ýøís$»…ýøís$»…þ1R¤#sA@ü/9¥"ì‡/ü)¦d#‡cÒñZ$ñZ$óy$óy$úq¹R"ýrWú„Í"ä×9ú¸¸Ï"\GÏûØZ!c¾ù—ÌG Õ pøW㇠-©F÷Ký1ï¤ö®¡8õ:˜öQ·‰ fT’ö4û´ …C÷b7+!y0 -øÊT˜"\‰¯øÜŸ"CñPù@¬½!Í©£÷ºÁ Íñ{÷~ó!ZA‹óy$óy$ô#ô#ö4û´ …CöQ·‰ fT’ö®¡8õ:˜÷Ký1ï¤öÇ‘lÂß(öNíéQ+yõã›Uܳ§õ*r"„½‹ô¾›Ïç¾:ô Ø²ôõ»Þˆ¤#õ 6 ’õ¼ìhé¦Mö*nè†']õ•Ä·ù5]õ74Xj¬ªô#ô#õ”#õ”#ô Ø²ôô¾›Ïç¾:õ*r"„½‹õã›Uܳ§õÈZEÀÍõ¯óM¡V-õ–={„sëôÖ»j%Â!ôg­¬… ZôIC¢Ž—ôeëŠÃ ô‰ìåe"ô fÇphõ+•hoôðq<B§"ô„„ô¥§Ðõ”#õ”#õ•#õ•#ôIC¢Ž—ôg­¬… ZôÖ»j%Â!õ–={„sëõ‰‹½ußõ|êxgcõpYªXúô­Æœöï÷ô=-¡T{—ôŽ»qœúô,¥HÕºô:ÑË’$oôYp²t¶2ôÊ ¬-RôºWjVôKD/d±˜õ•#õ•#õ–#õ–#ôŽ»qœúô=-¡T{—ô­Æœöï÷õpYªXúõc‘÷J½!õX­V;õLѯ,mÓô‡>Çô$ß"Çóö‹v?–%ôáâPôFÅaeô.å¬Dlô þéè²ýô“ÃÕ¾Vô"{K3Iõõ–#õ–#õ–#õ–#óö‹v?–%ô$ß"Çô‡>ÇõLѯ,mÓõ5r6Ã4õZñs(õ‰YÔ}¯ô<&#h}µóÇ8LÀŒ ó¨ºUܨ­óÂZ2ý=ÜóÜLg5ÚóúåÐfÎôoÞ¢©cuôRöã…s-óàØ)á!8õ–#õ–#õ˜#õ˜#ó¨ºUܨ­óÇ8LÀŒ ô<&#h}µõ‰YÔ}¯ôñAÕ·"©ôݢÐôÇïµ{·vóöþ½ *vób·]Žóa¦xåóxÍv™¦7ó®®»¥´ó®,¥Ÿ‰ô%Þ K"¯ô Ó&Có—ˆ~Qñõ˜#õ˜#õ™#õ™#óa¦xåób·]Žóöþ½ *vôÇïµ{·vôœ¤ŽB2ôy!ÄßôS‹̲Ãóx3ÂMHòûÄžšdòÞ=­³þvó.ÿôR½ó0«8ÖóNò¸Ñó˳–Ï¥ó©É†\öó%µïÚµžõ™#õ™#õ›#õ›#òÞ=­³þvòûÄžšdóx3ÂMHôS‹̲Ãô@.&°‚éô0Þ³’oýôþ…uÕó?Ôð" -òÁ:|9žNò¤1ÍRL¢ò·+ñròÈ¥Ó”1¤òæ,Äz”…ódÜL1AóP´< ¼ïòÔ/#YÓlõ›#õ›#õœ#õœ#ò¤1ÍRL¢òÁ:|9žNó?Ôð" -ôþ…uÕôZºYóþóQ<²…óîÈI ¶Ñó ü”Ôò‰^‡Ú¾VòlïŒòræòõœò‘„‚1èÛò®1:†ó/0CÓ]ùó, °Ò‚ò›ˆúA õœ#õœ#ö#ö#òlïŒòræò‰^‡Ú¾Vó ü”ÔóîÈI ¶ÑóÑûýæÜXó³üH¯šó™¬Áx–øò¬LÎà²"ò(ú“àò M5<3ò*¸3s/'òLG'±yïòh¶!™Å`òí5LZüUòơҵBòE¼à]„ö#ö#öž#öž#ò M5<3ò(ú“àò¬LÎà²"ó™¬Áx–øó&î\Ç/ó€Ò‚A_²ótª&cAòƒXˆ©Kñý”õĺñã[cغÐññ"÷–ñþùÅðaòþrHòŸÌxÄâYò{£¨{ò H³â|€öž#öž#öŸ#öŸ#ñã[cغÐñý”õĺòƒXˆ©Kótª&cAóhÓ× C!ó[F†ñY(óQ¥ÅÖI€ò\ 2àØñÕUNjó±ñ»üÍ~‚ ñÆüàœìÍñÖ÷º4ñð9 ¥–ˆòwÖm‹êòf.aMð€ñàUa‰[³öŸ#öŸ#öŸ#öŸ#ñ»üÍ~‚ ñÕUNjó±ò\ 2àØóQ¥ÅÖI€ó=WI wó'+7m$ód{:Í«òYÃŒoêñ™°½û<ñx$AÏlâñŒ;Ùvñ¤ê.B(ñ¾B®.™´òH?$ý4Ïò+ ¿1cñ£±H÷ÐöŸ#öŸ#ö #ö #ñx$AÏlâñ™°½û<òYÃŒoêód{:Í«ó,yØ òóŽ+Ö–Öòã~–§‹ñá;ïîN$ñUgbžÈñ@ð(öwñR†^‰ÌñdÇN–°ñ|<¼„” -ò!ÁYzKññK„ݰñgzùO/^ö #ö #ö¡#ö¡#ñ@ð(öwñUgbžÈñá;ïîN$òã~–§‹òÕÐUv·œòÈ VH$“ò»î˜Kpñ´#¬XÛ•ñ&u~Lñaq‹ñ!´a¾fñ0– -ò’‰ñEü}ã8ñÓ®¾5ñÀÕi…´¸ñ4ðe°Ë¸ö¡#ö¡#ö¢#ö¢#ñaq‹ñ&u~Lñ´#¬XÛ•ò»î˜Kpò´Ûçò°‹¶îò«q:ؼBñ¡­nñã/4TXñÄž@«‚ñ‰FY>dñ Ír‰,ñÉÑe5~ñ­)BŸ ñ¦9'«ñ§×Lç:ö¢#ö¢#ö¢#ö¢#ñÄž@«‚ñã/4TXñ¡­nò«q:ؼBò¦g6Ââ‰ò¡~"­|òœ«˜ƒmñ÷ÍJñsìôÊððØøZkðõˆ)ùðûì(#ñ 9ú»ùñœûÖsñ”Ê!áüòñŽÄ“dö¢#ö¢#ö£#ö£#ððØøZkñsìôÊñ÷ÍJòœ«˜ƒmò—¼qƒƒò’éRo -àòŽ1¦ZöñB¿‹2~ðïÙv¨ŠÆðßõ̳\ðå6µÉ£´ðê˜àÁNðûŸ(Õ[­ñ‹q¸`ñƒÿéŸD™ðõÜ¿*ö£#ö£#ö£#ö£#ðßõ̳\ðïÙv¨ŠÆñB¿‹2~òŽ1¦ZöòЧåF¢ ò‡.›2»ÝòƒËGHôñrÂiKlððâà\fK1ðÔ§oà÷ð×ö=…ÂìðÛèKœ%ãðëÑs‘¬Mñ{¸ývÛÆñv+:^ßÙðæ¼t|-&ö£#ö£#ö£#ö£#ðÔ§oà÷ðâà\fK1ñrÂiKlðòƒËGHôò|¿øpÜòv ŽÓX'òo®2°ñZß0Ô€•ðÊ,Šê´âð½›¼òž{ðĺ9bŸðÌ;†D"‰ðÛ½:ŒÃñk¿^$’ñaC -÷ÔiðÑP…yö£#ö£#ö£#ö£#ð½›¼òž{ðÊ,Šê´âñZß0Ô€•òo®2°òg;\h§ƒò]Ì(¨QòWëéïoÈñ<úîÄGð«FFó‰ð¢Óqýð©h²ZWQð³É”¢a ðÀ_ßšwsñRl[!ñBÛ?ÿð±Û‡UMMö£#ö£#ö¤#ö¤#ð¢Óqýð«FFó‰ñ<úîÄGòWëéïoÈòSŒ¶òOºóƒÅ_òLsX³Üñ- IeÐ¥ðšÞÝmÅ8ð•ðLp”Vð™ z ü·ðê]Ùuð¦]2Ôkñ8›ÍW˜ñ0N­â(ðž ž-šö¤#ö¤#ö¤#ö¤#ð•ðLp”VðšÞÝmÅ8ñ- IeÐ¥òLsX³ÜòIûÈ-ŒcòJY byòIA$ì“mñ&ÎÜòhð”u‡õòNð’: ÷3pð“h‹Žûð“1¦@;ð˜ 8=Oñ*•:©,ñ'ìP:Wð•¨ïMÚö¤#ö¤#ö¤#ö¤#ð’: ÷3pð”u‡õòNñ&ÎÜòhòIA$ì“mòGšu²ßaòFÄ^–òFÄ^–ñ";– -Ùðœê– —ðœê– —ðœê– —ð}û¶n ð’¸âµ0=ñ%(-¸·@ñ";– -Ùðœê– —ö¤#ö¤#ö¤#ö¤#ëj&Ž–ìŽï/–’í!N–’í!N–’í!N•ïfí!N•Æ:í!N•í!N•ìŽï/•šPëj&Ž•—‘ëj&Ž•Ã|ëj&Ž•ò%ìŽï/•ì§í!N•ïfí!N•Æ:ìŽï/•Èùö¤#ö¤#ö¤#ö¤#í!N–’í³²S–ÓîF£–îØuv–îØuv•ì§îØuv•ÈùîØuv•¢ŒîF£•ŸÍí³²S•ŸÍí!N•í!N•Æ:í!N•ïfí³²S•ì§îF£•ïfîF£•Æ:í³²S•Èùö¤#ö¤#ö¤#ö¤#îØuv–ïjÙÇ–Vïý>– —ðœê– —ðœê•ééðœê•Èùðœê•¨ ïý>•¥KïjÙÇ•¥KîØuv•¢ŒîØuv•ÈùîØuv•ì§ïjÙÇ•ééïý>•ì§ïý>•ÈùïjÙÇ•Èùö¤#ö¤#ö¤#ö¤#ðœê– —ðœê– —ñ";– -ÙòFÄ^–òFÄ^•ééòFÄ^•˸òFÄ^•­‡ñ";•ªÈðœê•¨ ðœê•¨ ðœê•Èùðœê•ééðœê•ééñ";•ì§ñ";•Èùðœê•Èùö¤#ö¤#ö¤#ö¤#ëj&Ž•—‘ìŽï/•šPí!N•í!N•í!^zYþ1í@{¢Û“í}ðUç““íq9ÝÚìÜ )À³?ëÏ%Á’YÚëŒQäõbëj&Ž=ÎWìŽï/=Ñí!^zYþ1í:"Äýzì¤éØü#tö¤#ö¤#ö§#ö§#ëÏ%Á’YÚìÜ )À³?íq9ÝÚí}ðUç““í»j„±NRî<=€ælî°Z \¼ýîw ¦úï£;¨õtûâ!ûâ!üë!üë!ûü¿‰dö÷ü+/qÙ¡üH:P -PüQö„Á‹ýˆ>„ÖO—þÄa!·5-ÿÿÿÿ·'tÿÿÿÿ·'tÿÿÿÿ$Åâÿÿÿÿþ¨4ýO[!é‡ýf‰#:½Íýƒ`jÏóúþÄa!·5-þ¨4$Ã$üë!üë!üî!üî!í!N•í³²S•ŸÍîF£•ŸÍîØuv•¢ŒîØ–fv. -îôäqV¿ï,ºè<Ð îŸïU ÆŸî -ÁeŸ¿í}ðUç““í@{¢Û“í!^zYþ1í³ÂÊZïîF2v+LîeIÁH¸ðíÐS+á©ö¤#ö¤#ö§#ö§#í}ðUç““î -ÁeŸ¿îŸïU ÆŸï,ºè<Ð ïd–Ý"á︼r ð&SÕøH Ìånïè­ ”ÏÖî°Z \¼ýî<=€ælí»j„±NRîElwÛ]ÔîÚ”êøÑŽï0ÈiÖ\ˆîžt¸ùFö§#ö§#÷°#÷°#î°Z \¼ýïè­ ”ÏÖ Ìånð&SÕøHñ9æ ñÅwòHD¡ - ùóÞÉ-t~ðówG· ú¼óÆA¥v‡ò¨DÊ=õðé_¨üÚ4ÿ  - ð õR Lçð{” ¹²ñàÃ+ £„ÅñPá d^h÷°#÷°#ùÉ"ùÉ"ò¨DÊ=õóÆA¥v‡ówG· ú¼óÞÉ-t~ðõu^1Ýÿâ÷\®—÷æùoP>¼ù7=d4á¾øÿ0­©køÇ.&qö~g€x@ôg4èkôζ^æ–áõ ܺv{­÷$Õ¿“ö¶tÜŸ°“ùÉ"ùÉ"ûâ!ûâ!øÇ.&qøÿ0­©kù7=d4á¾ùoP>¼úxÌÕMɶû>„úeTü§-ÂŒü‹!S5À‹ümý2 ÜüQö„Á‹û®ƒQ3~ùëFž¬ÿºú#Yw48 ú@¹ûÆ‘cûc1ÀpcbûE»GÛ80ûâ!ûâ!üë!üë!üQö„Á‹ümý2 Üü‹!S5À‹ü§-ÂŒýÁyе§þàˆ¿nj[ÿÿÿÿnNèÿÿÿÿÛíVÿÿÿÿI‹Åÿÿÿÿ·'tþÄa!·5-ýˆ>„ÖO—ý–?eç‰ý³cûµþàˆ¿ÜÉþÄa!I–¿üë!üë!üî!üî!îØuv•¢ŒïjÙÇ•¥Kïý>•¥Kðœê•¨ ðÈÕ’]äð©GÂ¥8ðÛ…|’ „ðN¹évX﹋ùXÜ7ï,ºè<Ð îôäqV¿îØ–fv. -ïjõ9v. -ïýd„’[&ð²Ÿ"ï„y¤dÅö¤#ö¤#ö§#ö§#ï,ºè<Р﹋ùXÜ7ðN¹évXðÛ…|’ „ñ ȳ”sÐñXÊ·›ûñ»üÍ­0Õñ4Äzuûð­Œ(= "ð&SÕøH︼r ïd–Ý"áïîžMLð”ðƒÆÀjdNðÑ’dcè<ð?9F„úö§#ö§#÷°#÷°#ð&SÕøHð­Œ(= "ñ4Äzuûñ»üÍ­0Õò¶Í Ï€áó§/ 7¿õS «ô­Ì C„›ôFJ£ÜfóÞÉ-t~ðòHD¡ - ùñ9æ ñÅwñ‰r9 )ØQñú~{ —nó?­¡ -±³‹ò¯Æ -r.÷°#÷°#ùÉ"ùÉ"óÞÉ-t~ðôFJ£Üfô­Ì C„›õS «öƒ‡y<íø9ÓZtÍúˆËQÅÇùßuñÊŠ¶ù§cCRcùoP>¼÷\®—÷æõu^1ÝÿâõÜß§E„öÕhâøÀ€¼ù§cCRcùßuñÊŠ¶úˆËQÅÇûS ûþÉ£—+üüdzqYqüàXNä‹üÃ4-OZpü§-ÂŒû>„úeTúxÌÕMɶú°ß®ÕúÎ@2g[^ûÔ¼C’yû·KH„gGûâ!ûâ!üë!üë!ü§-ÂŒüÃ4-OZpüàXNä‹üüdzqYqýùúo?·þüµÚ%Ÿˆÿÿÿÿ%v\ÿÿÿÿ“Êÿÿÿÿ³9ÿÿÿÿnNèþàˆ¿nj[ýÁyе§ýÏ"M™ýëùÖ¯ƒÅþüµÚ“=öþàˆ¿Ϋüë!üë!üî!üî!ðœê•¨ ðœê•¨ ñ";•ªÈòFÄ^•­‡òGÁ®‹ò]«ȈªòŠPçHüñ}p%¸ï—ðè<·›È·ðÛ…|’ „ð©GÂ¥8ðÈÕ’]äðÈÕ’]äñ"8 ®ˆAñDÙŒ±Z˜ð¯ ¡”ƒQö¤#ö¤#ö§#ö§#ðÛ…|’ „ðè<·›È·ñ}p%¸ï—òŠPçHüò¶õ òù”²)†ÊóQ¥ÅUl!ò\£•øÁ’ñÕkCÀ«úñ»üÍ­0ÕñXÊ·›ûñ ȳ”sÐñ ØÍ£Üñ¶¾À„–ò’‚ÌÙ}ñr9-¯v;ö§#ö§#÷°#÷°#ñ»üÍ­0ÕñÕkCÀ«úò\£•øÁ’óQ¥ÅUl!ô.7 ­>stream -ÿÿÿÿ5v1ÿÿÿÿ4Xö#ÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ4Xö#ÿÿÿÿ5v1ÿÿÿÿ5v1ÿÿÿÿ5v1ÿÿÿÿ4Xö#ÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ4Xö#ñZ$ñZ$ñZ$ñZ$ÿÿÿÿ3Êitÿÿÿÿ3;×mÿÿÿÿ2­Egÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2­Egÿÿÿÿ3;×mÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3Êitÿÿÿÿ3;×mÿÿÿÿ2­Egÿÿÿÿ2­Egÿÿÿÿ3;×mñZ$ñZ$ñZ$ñZ$ÿÿÿÿ2¸¸ÿÿÿÿ1&±ÿÿÿÿ1”ªÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ1”ªÿÿÿÿ1&±ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ2¸¸ÿÿÿÿ1&±ÿÿÿÿ1”ªÿÿÿÿ1”ªÿÿÿÿ1&±ñZ$ñZ$ñZ$ñZ$ÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ/äuõÿÿÿÿ.ÇT”ÿÿÿÿ.ÇT”ÿÿÿÿ.ÇT”ÿÿÿÿ.ÇT”ÿÿÿÿ/äuõÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ/äuõÿÿÿÿ/äuõÿÿÿÿ0sPñZ$ñZ$ñZ$ñZ$ÿÿÿÿ5v1ÿÿÿÿ4Xö#ÿÿÿÿ3Êitÿÿÿÿ3Êitþ\Ÿ3ÊN¹ü¸Ã3¡ûÁK3OhÀûF&3[ËúöäÃ3íúÉÃÆ4òôüa&5JƒþA35vþA34XðÊþ\Ÿ3ÊN¹ü´ƒ3§3áü—îø48‚@ñZ$ñZ$ñ]$ñ]$úÉÃÆ4òôúöäÃ3íûF&3[ËûÁK3OhÀù€¿€2ýÌ÷ì—Û2ƒìöhŸu1â©@öU©,1ûmÃö 2#ÍõÄÐk3m»U÷bÃf4ÔÉù&f4›ä{ùUÚ3¡¥Ïùr†Ê3b"÷Ù¡’2œ°“÷½_3+7éñ]$ñ]$òf$òf$õÄÐk3m»Uö 2#ÍöU©,1ûmÃöhŸu1â©@ó`9 0¡Oð™e~.Å -îG¿,swvî*7£,þãíÅiÞ,ǫ̃íPj-¡æï’DB0Ì–òˆOk2É1ò⌠1(,PóMBÄ0º…ð{Þ.âîð>]¶/n³"òf$òf$ó$ó$íPj-¡æíÅiÞ,ǫ̃î*7£,þãîG¿,swvëö#T*!Ù êÚ&'[ÒèØu7$R¡Âè¿°µ$e˜ è<$œ4,çMh{$öv%è¤_ø(2ôyê aë+(úIëL{_*|àÕëØ›ç*?`{ê¤'mùé’üØ'ز€ó$ó$õ˜#õ˜#çMh{$öv%è<$œ4,è¿°µ$e˜ èØu7$R¡Âè77¿"ά ç½M !:„cçk°^ž‚™ç_N§ý½æÍÿ¾ÄaÍåÈ$ ñ‚Êæ9ü!© *æ¡O#Xƒ*çëç"þA1èmä"á¢R窶ý!H½çsO!elõ˜#õ˜#ö¡#ö¡#åÈ$ ñ‚ÊæÍÿ¾ÄaÍç_N§ý½çk°^ž‚™ç²€Îæð¿´^¤Þæð¤ù»F‘æð¤ù»F‘æbK»I=åDô=»KéåDþîz¯åqC9èæ‚‘†#Tìçßå>`æð¿´^¤Þæb"üzö¡#ö¡#ö¤#ö¤#ÿÿÿÿ3Êitÿÿÿÿ3;×mÿÿÿÿ2­Egÿÿÿÿ2¸¸þxÖ2“Lüð*^1øÿûo¾Ð1«ÝûTsl24û²û82ÆD¸ûÁK3OhÀü¸Ã3¡þ\Ÿ3ÊN¹þ\Ÿ3; þxÖ2­úüâÿ2ƒÖ®üÆkt3*eñZ$ñZ$ñ]$ñ]$ûÁK3OhÀû82ÆD¸ûTsl24û²ûo¾Ð1«ÝùïX›1_¹øvlO0îX÷ sØ0W—,öÕ×·0ÛGÝöŸ;–1^øöhŸu1â©@÷ì—Û2ƒìù€¿€2ýÌù©³C2wdcùÆ_1æ µø?Ð.1q´ ø#3ü2;_ñ]$ñ]$òf$òf$öhŸu1â©@öŸ;–1^øöÕ×·0ÛGÝ÷ sØ0W—,ô8(/+Ò'ñ a-oGïv(^+EÐïZ™+©Ù@Õ,§îG¿,swvð™e~.Å -ó`9 0¡Oó–Õ.0›¤ô‹ç/¯‚Ùñ;³œ-Ôˆðþ3B.`:¼òf$òf$ó$ó$îG¿,swvÕ,§ïZ™+©Ù@ïv(^+EÐíKä½)·ÒëTU&ƒ*êc‡L#®Í_éßÖš#åi€é\%é$¡èØu7$R¡ÂêÚ&'[Òëö#T*!Ù ìZñ)½ìçù)ˆBë £¤&¹­KêŠØ'$f±ó$ó$õ˜#õ˜#èØu7$R¡Âé\%é$¡éßÖš#åi€êc‡L#®Í_éÍ "DÔèé[es ËëIé<K‚gè†mfÐxçôσ4ˆçk°^ž‚™ç½M !:„cè77¿"ά èºèq"˜èéIjn"{q èÔý ôß èC´¼!ôõ˜#õ˜#ö¡#ö¡#çk°^ž‚™çôσ4ˆè†mfÐxé<K‚gèÃLj蜀zC4èœUµ»Cåè É»Cåç7»F‘æð¤ù»F‘æð¿´^¤Þç²€Îç¥éaôØoè7=ØÁäè îsC4çQ»^¤Þö¡#ö¡#ö¤#ö¤#ÿÿÿÿ2¸¸ÿÿÿÿ1&±ÿÿÿÿ1”ªÿÿÿÿ0sPþ“{N0rÒ†ý'ŒM0Nü‘û¼U0N—û§pñ0‘oóû‹ -41"¸ùûo¾Ð1«Ýüð*^1øÿþxÖ2“LþxÖ1Eþ“{N1dýãï0ÚטüýÍd1l%÷ñZ$ñZ$ñ]$ñ]$ûo¾Ð1«Ýû‹ -41"¸ùû§pñ0‘oóû¼U0N—ú]ì\/Áñù@Ä/Xó÷°Bã.Ì…÷y¦Â/P5É÷C -¡/Óæz÷ sØ0W—,øvlO0îXùïX›1_¹úL]0ÙKûú4øš0HNøÉ¤£/ÛȤø­p0jOúñ]$ñ]$òf$òf$÷ sØ0W—,÷C -¡/Óæz÷y¦Â/P5É÷°Bã.Ì…õ-¶Wøò§D,…®ð¤‘«*œÖð?Ãç*{jšïÚö"*à; ïv(^+EÐñ a-oGô8(/+Ò'ônÄ).¨!vôÙzâ.:ªòBÏ,~SsòO%- -ySòf$òf$ó$ó$ïv(^+EÐïÚö"*à; ð?Ãç*{jšð¤‘«*œÖ'(™Bí΄%«"/ëî™`# -öOëjè¯#A•êç7ý#x1>êc‡L#®Í_ëTU&ƒ*íKä½)·Òí°²‚(µê î<Øb(xgìÒ%á¾Pì&Lu ó$ó$õ˜#õ˜#êc‡L#®Í_êç7ý#x1>ëjè¯#A•ëî™`# -öOëcØ!ºýÇêùx‚ ]O‚ê²ÇÛø‚6ê)©,ÐGé˜ZÍ04Wé<K‚gé[es ËëIéÍ "DÔèêPËÑ"8ÇêßS'!ñ™èêsÑ †EñéáÍ# ¢ôÚõ˜#õ˜#ö¡#ö¡#é<K‚gé˜ZÍ04Wê)©,ÐGê²ÇÛø‚6êl5“²>êH;ç'À‘êHq»>Œé¹yûA8é*ç¼»A8èœUµ»Cå蜀zC4èÃLjéNíϽq'éà<.¡Zœé¹©à'Ã=é+ (C1aö¡#ö¡#ö¤#ö¤#ÿÿÿÿ0sPÿÿÿÿ0sPÿÿÿÿ/äuõÿÿÿÿ.ÇT”þ®ì.Çlý^î=.¥úÏü¹Ú.dÀ,ûè˜Ý/j £ûÌ7y/ûìVû¼U0N—ý'ŒM0Nü‘þ“{N0rÒ†þ“{N0rÒ†þ®ì/ä5ÎýH`k/·zeý,Ià0HËpñZ$ñZ$ñ]$ñ]$û¼U0N—ûÌ7y/ûìVûè˜Ý/j £ü¹Ú.dÀ,úÌ…w.#ˆ6ùŠ9-Â/:øTF-As÷ùÕM.0ã÷Ã9,.³ÃA÷°Bã.Ì…ù@Ä/Xóú]ì\/Áñúl%/¯ ;úˆÖ¨/Æáù/Ó@.°ÎÇù7 /?Vñ]$ñ]$òf$òf$÷°Bã.Ì…÷Ã9,.³ÃA÷ùÕM.0ãøTF-Asõèþ,@Ûó®¹'*ÃÁ˜ñÓR(è./ñ&æÝ)”G¤ðÂ)ùh𤑫*œÖò§D,…®õ-¶Wøõ# L-“võÄ-/zªó¥ +oÛ òÅ$±+ûþAòf$òf$ó$ó$𤑫*œÖðÂ)ùhñ&æÝ)”G¤ñÓR(è./ï÷b7' xîzH²$Ó0ˆíy«u"g!ìì‹”"Ácåì]ã"øëî™`# -öOí΄%«"/'(™Bî¿(<'öÕïKN'¸‘{í‹«Ò%-oÕí“%˜):ó$ó$õ˜#õ˜#ëî™`# -öOì]ã"øì‹”"Ácåíy«u"g!ììøì‘!1#úì—éî¶hìVSš¥YëPs#Ò£ê¿*ïeê²ÇÛø‚6êùx‚ ]O‚ëcØ!ºýÇë{È[!¨Ñì -O±!‹eóëR= 2gãë  OËõ˜#õ˜#ö¡#ö¡#ê²ÇÛø‚6ê¿*ïeëPs#Ò£ìVSš¥YìK\Jõëóü­ OÀëó·-»;àêÖ˜x»>ŒêHq»>ŒêHq»>ŒêH;ç'À‘êl5“²>êrEªŽô«ë™arÞ êÖØ  RmêH;ç'À‘ö¡#ö¡#ö¤#ö¤#åDô=»KéæbK»I=æð¤ù»F‘æð¤ù»F‘æð¤ù»!%æð¤ùºù æð¤ùºÐóæð¤ùºÐóæbKºÐóåDô=ºÎGåDô=ºù åDô=»!%æbK»xæð¤ù»!%æð¤ùºù æbKºû¸ö¤#ö¤#ö¤#ö¤#æð¤ù»F‘ç7»F‘è É»CåèœUµ»CåèœUµ»xèœUµºû¸èœUµºÖLè ɺӠç7ºÓ æð¤ùºÐóæð¤ùºù æð¤ù»!%ç7»xè É»!%è ɺù ç7ºû¸ö¤#ö¤#ö¤#ö¤#èœUµ»Cåé*ç¼»A8é¹yûA8êHq»>ŒêHq»xêHqºû¸êHqºØøé¹yÃºØøé*缺ÖLèœUµºÖLèœUµºû¸èœUµ»xé*ç¼»xé¹yûxé¹yúû¸é*缺û¸ö¤#ö¤#ö¤#ö¤#êHq»>ŒêHq»>ŒêÖ˜x»>Œëó·-»;àëó·-»Ìëó·-ºû¸ëó·-ºÞQêÖ˜xºÛ¥êHqºØøêHqºØøêHqºû¸êHq»xêHq»xêÖ˜x»xêÖ˜xºû¸êHqºû¸ö¤#ö¤#ö¤#ö¤#åDô=ºÎGæbKºÐóæð¤ùºÐóæð¤ùºÐóæð¿´uRç²s™cçk°^×—˜ç_NÎsæÍÿ¾±¸cåÈ$ „”»åqC<2åDþîüÖæb"üü‚æð¿´uRçßånÛÐæ‚‘†R™ö¤#ö¤#ö§#ö§#åÈ$ „”»æÍÿ¾±¸cç_NÎsçk°^×—˜ç½M ;“!è77¿§k|èØu7#xoè¿°µ‚&è<ÙæçMh{¡_æ¡O”[æ9üÌúçsO«‚窶ý-]èmä”u2çëçwÖSö§#ö§#÷°#÷°#çMh{¡_è<Ùæè¿°µ‚&èØu7#xoêÚ&³ëö#T TA#îG¿ ¢»î*7£åMíÅiÞ€M‰íPjÔ4ê aë -Mçè¤eP C%¸é’üØ g±ê¤iëØ›ç 6¹¶ëL{_ -ù9\÷°#÷°#ùÉ"ùÉ"íPjÔ4íÅiÞ€M‰î*7£åMîG¿ ¢»ð™e~±ó`9 ÔË.öhŸu“nDöU©,z©Áö öùõÄÐk\/òˆOk_Qï’DB[Mšð>]¶dbð{Þ“ŠBóMBļ¬ò⌠MíàùÉ"ùÉ"ûâ!ûâ!õÄÐk\/ö öùöU©,z©ÁöhŸu“nD÷ì—Ûò. ù€¿€xKqûÁK&±pûF&O/úöäÉ}úÉÃÆƒ%²ù&fÚ5µ÷bÃf\H÷½_JâH÷Ù¡’Ùižùr†Êe¸ùUÚÔqµûâ!ûâ!üë!üë!úÉÃÆƒ%²úöäÉ}ûF&O/ûÁK&±pü¸ÃÕpþ\Ÿ«ÈËÿÿÿÿ«°¼ÿÿÿÿ«°¼ÿÿÿÿ!bÿÿÿÿþA3 -±üa&,®ü—îø=•Dü´ƒÎæOþ\Ÿ«ÈËþA3)füë!üë!üî!üî!æð¤ùºÐóç7ºÓ è ɺӠèœUµºÖL蜀z2æ#èÃÇ««é<*—Éè†mG çôÏòå©çk°^×—˜ç²s™cæð¿´uRçQ»uRè îs2ãwè7=XLç¥éa?ö¤#ö¤#ö§#ö§#çk°^×—˜çôÏòå©è†mG é<*—Éé[esª.èéÍ 1EIêc‡LÇLÒéßÖš°±é\%éZèØu7#xoè77¿§k|ç½M ;“!èC´¼d‰èÔýÂ8yéIjnú©(èºèqÞ -Iö§#ö§#÷°#÷°#èØu7#xoé\%éZéßÖš°±êc‡LÇLÒëTUóZíKä½ [_³ïv(^ -1µïZ™ Ì@ðî¬ŒÕ gpîG¿ ¢»ëö#T TA#êÚ&³êŠØQ³€ë £¤¼j9ìçù ö‘îìZñ ¹è÷°#÷°#ùÉ"ùÉ"îG¿ ¢»î¬ŒÕ gpïZ™ Ì@ðïv(^ -1µñ aÐmô8(JH ÷ sØ€YöÕ×·šÏ§öŸ;–ööhŸu“nDó`9 ÔË.ð™e~±ðþ3Bßtñ;³œ¢¨ô‹çÆ—Xó–Õ.X{àùÉ"ùÉ"ûâ!ûâ!öhŸu“nDöŸ;–ööÕ×·šÏ§÷ sØ€YøvlOˆÙùïX›cØûo¾ÐÊ?ÛûTslAû8¯ÒÌûÁK&±pù€¿€xKq÷ì—Ûò. ø#3üuá~ø?Ð.f'ùÆ_ù{ù©³Cþ³!ûâ!ûâ!üë!üë!ûÁK&±pû8¯ÒÌûTslAûo¾ÐÊ?Ûüð*^~2þxÖW†åÿÿÿÿWaxÿÿÿÿÈÒÿÿÿÿ:BÃÿÿÿÿ«°¼þ\Ÿ«ÈËü¸ÃÕpüÆkt`ïËüâÿò@ÖþxÖÈ÷Šþ\Ÿ:X%üë!üë!üî!üî!èœUµºÖLé*缺ÖLé¹yÃºØøêHqºØøêH;çNVóêl5âgóê²ÇÛ}—úê)©,bIêé˜ZÍEåÚé<*—ÉèÃÇ««èœ€z2æ#é+ (2æ#鹩àNVóéà<.Ô¿•éNíϸ¦]ö¤#ö¤#ö§#ö§#é<*—Éé˜ZÍEåÚê)©,bIêê²ÇÛ}—úêùx‚ÈëcØ»jëî™`k!5ëjè¯4…êç7ýýèóêc‡LÇLÒéÍ 1EIé[esª.èéáÍ#Ó%WêsÑïÔ?êßS'„€IêPËÑgájö§#ö§#÷°#÷°#êc‡LÇLÒêç7ýýèóëjè¯4…ëî™`k!5í΄Êø' b€î𤑫 _}[ð?Ãç -ú¬êïÚö" -•ß&ïv(^ -1µíKä½ [_³ëTUóZì)¢{ìÒ”[àî<Øb ý°~í°²‚ À0#÷°#÷°#ùÉ"ùÉ"ïv(^ -1µïÚö" -•ß&ð?Ãç -ú¬ê𤑫 _}[ò§D \”ƒõ¿Â8÷°Bã©’m÷y¦Â%á¼÷C -¡¢1 -÷ sØ€Yô8(JH ñ aÐmòO%k ÞòBÏ÷ÄôÙzâ<‡ônÄ)Íø»ùÉ"ùÉ"ûâ!ûâ!÷ sØ€Y÷C -¡¢1 -÷y¦Â%á¼÷°Bã©’mù@Äÿ’ú]ì\´y“û¼UmËšû§pñäª=û‹ -4S^‹ûo¾ÐÊ?ÛùïX›cØøvlOˆÙø­p Ê7øÉ¤£šNàú4øš.ãúL]œË‰ûâ!ûâ!üë!üë!ûo¾ÐÊ?Ûû‹ -4S^‹û§pñäª=û¼UmËšý'ŒM' þ“{NDþÿÿÿÿ4ÿÿÿÿt‚ÚÿÿÿÿåóÿÿÿÿWaxþxÖW†åüð*^~2üýÍd ñýãï›EDþ“{Ntµ¤þxÖæ?üë!üë!üî!üî!êHqºØøêHqºØøêÖ˜xºÛ¥ëó·-ºÞQëóü­iÊpìKÏ;ìVSšИ,ëPs#£w/ê¿*‡ê²ÇÛ}—úêl5âgóêH;çNVóêH;çNVóêÖØ iÇÄë™a<êrEªç%…ö¤#ö¤#ö§#ö§#ê²ÇÛ}—úê¿*‡ëPs#£w/ìVSšИ,ì—é‡cÈìøì‘Dó‹íy«uõ˜ì‹”´¶Kì]ã~*ëî™`k!5ëcØ»jêùx‚Èë 'eëR=C²Nì -O±ê´>ë{È[Î_ö§#ö§#÷°#÷°#ëî™`k!5ì]ã~*ì‹”´¶Kíy«uõ˜îzH²¢é©ï÷b7iŸ~ñÓR éUñ&æÝ áÒð }𤑫 _}[' b€îí΄Êøí“Ýð÷í‹«ÒH§°ïKN ½ˆ¶î¿(< €¯÷°#÷°#ùÉ"ùÉ"𤑫 _}[ð }ñ&æÝ áÒñÓR éUó®¹' -²Uìõèþ 5>stream -ñ2q ñ2q Ò† ñ2q ;Ëêñ2q ;ËêòøÜ–< ô¡©•b£ö ü$’¸ö!È*âýöG¯°­£ö†Yzýöôñ}aŸYó!nX/_ó!nXÒ¹ñòøÜ–< ô®Ð@ƒ²çô²Ò—V_ñZ$ñZ$óy$óy$ö†YzýööG¯°­£ö!È*âýö ü$’¸÷‰+в’ÙøÅôyÛÇùÎ/µPd¾ùâÑg:$ú%¥®èÍ»ú–¨—\d0ùvš'rIçøì™ù÷ÞA›KÐÿ÷–R¸ ß+øÚ•Éc›™ù›1þ·dóy$óy$ô#ô#ú–¨—\d0ú%¥®èÍ»ùâÑg:$ùÎ/µPd¾úQzúÇÍ#.9û1 ˆ¡vûGЋŠÝû•“DYuü?ÝË=û¦Ý N$jû%f3ÓnŽú´cJ_Øúe§“§dKúݶy’ û!¶ÁÆø°ô#ô#õ”#õ”#ü?ÝË=û•“DYuûGЋŠÝû1 ˆ¡vûLeQ½€ ûdåÓÛj±û~#Ðø +û”$ÕâáBûä¶žNëüm·r*N4üR= µü7hꇅû²B7c_½ûbR™§öûzêËÆ>ÕûȆX mõ”#õ”#õ•#õ•#üm·r*N4ûä¶žNëû”$ÕâáBû~#Ðø +ûŠN{ðû—×û£\ù#jû¹añ)Åü -Z Êæ÷ü–AOYN üˆÓI»ü{Q:ûñš^®8û ¢FñTû­ ùÿæ_ûüëÍ»Tõ•#õ•#õ–#õ–#ü–AOYN ü -Z Êæ÷û¹añ)Åû£\ù#jû¯Ò„1F!ûºàØ@v`ûÆ”öNøîûÜ™î:?Œü.¢gøLGü¼¶D‰*ü¯ñÆyIü£Ï hÉLüçÙÚb6ûÅ×|U|ûÐåÐ+Àðü!áÛèz0õ–#õ–#õ–#õ–#ü¼¶D‰*ü.¢gøLGûÜ™î:?ŒûÆ”öNøîûÝš„lLþûô\ö‰FDü -Ôh¥ä¾ü Å£‘±“ütßRaQý¿çðüîœ=ȶmüÕÌÇ©#üG¼ÜK@ûóŸ|W“œü -J?uü\^3#Åõ–#õ–#õ˜#õ˜#ý¿çðütßRaQü Å£‘±“ü -Ôh¥ä¾ü ͈ÂéÛü5cà ›üIÙ©ýrgü_£kéÍXüµ¦U­'ýKâgGbÈý5Gn'ñëý%”5üŒÑwr€ü6¾Ã®²¾üJâ$ÌûŒüŸj«Jõ˜#õ˜#õ™#õ™#ýKâgGbÈüµ¦U­'ü_£kéÍXüIÙ©ýrgüt¤6—­ü˜&ÙqÑÜü¼Êª€¶üÒ ™˜rý+„±`¤dýÉ;G+~ý¡_ÆFgýyÙÅ…Ê$üã³냃ü‰ãs"òžü­jd_h˜ý¨„"Ã@õ™#õ™#õ›#õ›#ýÉ;G+~ý+„±`¤düÒ ™˜rü¼Êª€¶üÏŠÆ‘üß8­äÇüïßîX3ýÀÉý_Ê’¹Ä±þýHaÌsýî× BáÍýÝ•ì"Öüý?ãHSÕüäɵ´+ÄüôzÒI&ýM¨\šÚ -õ›#õ›#õœ#õœ#þýHaÌsý_Ê’¹Ä±ýÀÉüïßîX3ý8;×ý]88÷Cý FÿT´½ý4½ECªÌý‘6+fþ5¹•½âªþ$d¤Ÿ™ÜþЊ€êkýqÔØÞ¶ý  yý$Ó'ñEýá:ó!;õœ#õœ#ö#ö#þ5¹•½âªý‘6+fý4½ECªÌý FÿT´½ý=Tª¤ýZ˜GÄ“‰ýt£ˆûËýˆFë‚Ýýç!e¾Lìþ‘ÏËslþuh”7ò»þU‘ûûý± ªO~ýQÊG|¤¦ýn -µýʺ.‚Ó”ö#ö#öž#öž#þ‘ÏËslýç!e¾LìýˆFë‚Ýýt£ˆûËý œý_@ 1·¢ý™z Ll¡ý¬U¾ =Ÿþ …û ÜÆþº¨Ì-¢þ¬×°¯ðþŸmf‘qÅýô¿ÜRžý”ŠÑ  ý :ý "æ!ýÿOõ¸öž#öž#öŸ#öŸ#þº¨Ì-¢þ …û ÜÆý¬U¾ =Ÿý™z Ll¡ý¥=ê gIý² - ,áý¼A ›ÙúýÎB& Éæþ/~Ï ewLþߺK "â.þÔÓq ÍGþÆêÖéyÌþb( 0(ñý¸§ Xw˜ýÄWï sÌþ$—õ HbeöŸ#öŸ#öŸ#öŸ#þߺK "â.þ/~Ï ewLýÎB& Éæý¼A ›ÙúýК) ÐÝVýåýI -´ý÷¼Ï -5øÏþ›S -)o†þk¥× -Ìôÿ ä? Ëüÿ ~X ”?âþöM_ \µ%þFã ŸJCýâÔ ÂÑ3ýö×Û ÷*ÑþX?ð ÎóÙöŸ#öŸ#ö #ö #ÿ ä? Ëüþk¥× -Ìôþ›S -)o†ý÷¼Ï -5øÏþ¾Ú -h€ þ2Ê -™Z+þ)« -È…pþ8x; -½{þ˜ -žU2ÿV¼Ä -kÙÿEæ$ -7sÃÿ3¨M -52þ~iå -<é*þ_ -[÷Wþ(–Z -ŽOÉþŒ+ -j±)ö #ö #ö¡#ö¡#ÿV¼Ä -kÙþ˜ -žU2þ8x; -½{þ)« -È…pþ6²F -øfJþCÍœ &ùþPr† S~þ^Ge In-þÄ© .êÿ¾8 @·ÿsñ? -Ѻÿeš -ŸUÇþ«âò -Ò— þFã -í[éþQ¢{ ù¨þ¶;° -ýûEö¡#ö¡#ö¢#ö¢#ÿ¾8 @·þÄ© .êþ^Ge In-þPr† S~þW'« i&þ[Çè V|þ`æv ”ôÑþmî ŒþÔ1˜ s'þÿ“¸õ J7ÿŽ  2Ÿãÿˆý† jaþËKê F«”þdüŠ _ŽÆþhÏ‚ vt¿þΜž [bö¢#ö¢#ö¢#ö¢#ÿ“¸õ J7þÔ1˜ s'þþmî Œþ`æv ”ôÑþeåp ª› þjÌ» ¿Ò¿þoœV Ô›ëþ{Ò¹ Ìcíþ⌭ µj7ÿ£Ê4 ®ÉÿžŒ yÿ™.[ a×þÙªñ ŠÇþrí - ¡¹Pþw ·šÁþÝN‹ ž»ö¢#ö¢#ö£#ö£#ÿ£Ê4 ®Éþ⌭ µj7þ{Ò¹ ÌcíþoœV Ô›ëþt` éeþy; ý¿¼þ}œ  «Ùþ‰¾ -˜þð&V õ†ÿ²þf ÒW¤ÿ®Q ¼™ºÿ¨ôš ¦aqþç» Ìßþ€–| á-þ„uL ö1{þë/A ßCœö£#ö£#ö£#ö£#ÿ²þf ÒW¤þð&V õ†þ‰¾ -˜þ}œ  «Ùþ <½ÿÆG \uþ™°ò lC(þž¤ ’1æÿ'[  (ö£#ö£#ö£#ö£#ÿÓú ‹bÿ èW ¥9þ¤ÞÚ µ.®þ›Õ¤ ºç/þ¤Úç [þ­°Ì @»)þ³iM y>—þ¹x§ u— ÿ"?Ÿ keÆÿíºC Z¢ãÿç} çÿÝ÷ö רÿæK ò=þ­à* û¢›þ³À& =ÿÙ -ÃÊö£#ö£#ö¤#ö¤#ÿíºC Z¢ãÿ"?Ÿ keÆþ¹x§ u— þ³iM y>—þ·º— ±á™þ»}Å ãp¹þ¾¶Ê ëøþÂ>Á âçÿ+\‘&sÿú G ü¾€ÿöˆB ÎlWÿòjI ˜dtÿ&ï¦ ©'Vþ½Åþ ®: þ¿½ ág©ÿ'Ôš ר=ö¤#ö¤#ö¤#ö¤#ÿú G ü¾€ÿ+\‘&sþÂ>Á âçþ¾¶Ê ëøþÁ—8k(þÁ*o[ê4þÂ'xE“þÃÁ›w` ÿ,ÿtÑYÿýÛMp£–ÿüÎßQ¸ïÿü§f+œÿ-÷°4|ŽþĦ6bþÂÄø[Nÿ+ò’Uê¥ö¤#ö¤#ö¤#ö¤#ÿýÛMp£–ÿ,ÿtÑYþÃÁ›w` þÂ'xE“þÆe±7þÄ4Íc‰þÄ4Íc‰þÄ4Íc‰ÿ-y_Í_—ÿÿÿÿÍ_—ÿÿÿÿÍ_—ÿÿJj®tðÿ.j*²¦¦þÅ î°QþÄ4Íc‰ÿ-y_Í_—ö¤#ö¤#ö¤#ö¤#ñ2q ;Ëêñ2q ¥3ñ2q RŠñ2q w—ÔòÐJÔwæÇôQÕÉ%íõ¢ìpK2ÆõÈÓIèýlõîº#†Èö ü$’¸ô¡©•b£òøÜ–< òøÜ–¥P\òÐJÔ¡}ôw¿âfô…ô{Â9÷—ýñZ$ñZ$óy$óy$ö ü$’¸õîº#†ÈõÈÓIèýlõ¢ìpK2ÆöõkÌ ¹øJm¨ù¶ÒDeLùH‡'ójù‹[n¡»”ùÎ/µPd¾øÅôyÛÇ÷‰+в’Ù÷cD°È3÷QÛiÖ_øXh0ÒøƒÐË2óy$óy$ô#ô#ùÎ/µPd¾ù‹[n¡»”ùH‡'ójù¶ÒDeLù|©§Úeùè¹HúI3v¥½ú–Œõ/xGúäÅèFÞû1 ˆ¡vúÇÍ#.9úQzú1™ûOù¿qðV‡‚ú6E -Æè“úzA`uN¢ô#ô#õ”#õ”#û1 ˆ¡vúäÅèFÞú–Œõ/xGúI3v¥½úafyºúw’…«ÄºúŽ-ÅÈúÞl1Ìû.Gï<Ÿuû~#Ðø +ûdåÓÛj±ûLeQ½€ úþݲú®íãILDúÇnfg.pû òýõ”#õ”#õ•#õ•#û~#Ðø +û.Gï<ŸuúÞl1ÌúŽ-ÅÈú™ítÒç_ú¥6ýßòëú°t°ìê»ûlÈ©£úûRdàfa+û£\ù#jû—×ûŠN{ðû:ÁmKGúéÉUŽQúö/œ¬*ûFéXÓõ•#õ•#õ–#õ–#û£\ù#jûRdàfa+ûlÈ©£úú°t°ìê»ú»ÑöùÆèúÅÏ꣬úÐs©Ò¿û"€ÒßzûtˆŒì4ûÆ”öNøîûºàØ@v`û¯Ò„1F!û^ÚltŒâû ʶ€(ûØbŰfûhÔm‚i¥õ–#õ–#õ–#õ–#ûÆ”öNøîûtˆŒì4û"€ÒßzúÐs©Ò¿úåhA/{æúú°IÖûcÝiûb¥$‰5û¶¾íå8óü -Ôh¥ä¾ûô\ö‰FDûÝš„lLþû‹’ ®@Dû7t«툡ûN3+ -æû CˆÈ–…õ–#õ–#õ˜#õ˜#ü -Ôh¥ä¾û¶¾íå8óûb¥$‰5ûcÝiû"‹ë~?‚û4íI™S>ûGÐ쳂ûÓÖvÐÖûóÖÀ:#˜üIÙ©ýrgü5cà ›ü ͈ÂéÛû̸ :ûv¥Y>ëNûŠð3\¢ûßyQÌõ˜#õ˜#õ™#õ™#üIÙ©ýrgûóÖÀ:#˜ûÓÖvÐÖûGÐ쳂ûn]çe7ûŽòŠ]Pû°X»PÕíü ÓÒbßücNêáïÑü¼Êª€¶ü˜&ÙqÑÜüt¤6—­üºsDëûÄ`zª´ûèm¡åêCü>«Á©@÷õ™#õ™#õ›#õ›#ü¼Êª€¶ücNêáïÑü ÓÒbßû°X»PÕíûÁz[jO ûÏž,…#³ûÞ“žàü9Ì\jü”Ö%50#üïßîX3üß8­äÇüÏŠÆ‘üvþ#üõr2Üü*§õPGÑü„.äܨõ›#õ›#õœ#õœ#üïßîX3ü”Ö%50#ü9Ì\jûÞ“žàûí£ß¸Ç»ûüUÌÒT«ü -Ðuë†ÏügMN¹>'üÃÊ&†ùrý FÿT´½ý]88÷Cý8;×ü¥.sQ²üüH­¨ƒïÌüXÒ¤  ü³à`k;ùõœ#õœ#ö#ö#ý FÿT´½üÃÊ&†ùrügMN¹>'ü -Ðuë†Ïü%í ^)ü?Ëë Q8JüWwD ‚¿…ü¶ƒd U…¡ý“v (K½ýt£ˆûËýZ˜GÄ“‰ý=Tª¤üà×(¿óLü“ÅísüžØ $XüûŒ'ñÍmö#ö#öž#öž#ýt£ˆûËý“v (K½ü¶ƒd U…¡üWwD ‚¿…übÄÀ ›ÂKümêà ´fTüxáh ̯“üÙ– ¡íGý9EÒ w.íý™z Ll¡ý_@ 1·¢ý œý"  CÑóüÁÔÒ nˆgüÎÿ ‰§ûý-/ \uüöž#öž#öŸ#öŸ#ý™z Ll¡ý9EÒ w.íüÙ– ¡íGüxáh ̯“üƒ”ñ åsüh¤ üŒ{ü˜RE -Õ¹üùŽî ìƒ ýZ˘ Ä,”ý¼A ›Ùúý² - ,áý¥=ê gIýE ® ’süãÅ- ºVüð¥M Ô9áýPáa ©zöŸ#öŸ#öŸ#öŸ#ý¼A ›ÙúýZ˘ Ä,”üùŽî ìƒ ü˜RE -Õ¹üªæô -E yü¾xG -s(QüΑl - Ø¡ý1Ÿâ -}6ý”®X -Y—oý÷¼Ï -5øÏýåýI -´ýК) ÐÝVýo]€ ù/ïý #ž -¶àý!†½ -O‰±ý‚îÓ -'R¹öŸ#öŸ#ö #ö #ý÷¼Ï -5øÏý”®X -Y—oý1Ÿâ -}6üΑl - Ø¡üÞ¸ -ÎÀ5üìýÁ -û ýüûl“ %÷ý_ùð Ñ)ýćN -ç«Lþ)« -È…pþ2Ê -™Z+þ¾Ú -h€ ý¥°d -Œ#2ýA/ -«!•ýQ‹ -Ûû ý´¥l -¸€ö #ö #ö¡#ö¡#þ)« -È…pýćN -ç«Lý_ùð Ñ)üûl“ %÷ýÆ| QvÍý­ì {gâý&Õ £ÊEý„ì ˆÞýê­P mñÀþPr† S~þCÍœ &ùþ6²F -øfJýÒ$è Œ'ýlSÚ 2Pðýys# `{ŸýÞ X A}<ö¡#ö¡#ö¢#ö¢#þPr† S~ýê­P mñÀý„ì ˆÞý&Õ £ÊEý%QÐ ·ÝÜý)oÉ Ìý.ø ß¶ý”[s ÆÊÿýúžû ­ßèþ`æv ”ôÑþ[Çè V|þW'« i&ýñfg „Zý‹ œñšý·D ³%ðýõ„` ˜A“ö¢#ö¢#ö¢#ö¢#þ`æv ”ôÑýúžû ­ßèý”[s ÆÊÿý.ø ß¶ý2œ… ó_ý7V ¥jý;j… ‰ ý¢$z WþÞn ë•¡þoœV Ô›ëþjÌ» ¿Ò¿þeåp ª› ýÿ¡è Æ#ý˜ä ÚtýËK ï«´þÆ ÖÌuö¢#ö¢#ö£#ö£#þoœV Ô›ëþÞn ë•¡ý¢$z Wý;j… ‰ ý?Ǧ ,h½ýD  >å½ýH6è Püý¯W ;ãüþx &Çêþ}œ  «Ùþy; ý¿¼þt` éeþ ¦% ^Íý¦› oý«-¯ )É«þç¤ ÛÍö£#ö£#ö£#ö£#þ}œ  «Ùþx &Çêý¯W ;ãüýH6è PüýK{Å cEÊýN°× u(ÖýQÎ: †¥Aý¹I› sSþ Äý `íþˆ—þ­°Ì @»)þ¤Úç [þ<Íw P»ýÓÇW è ýÜ¥ Z@4þDéÔ Jðaö£#ö£#ö¤#ö¤#þ³iM y>—þJ¦H ƒoÜýáßP ¥ýyK —ÖXý}ò Ë^¾ý€sH øq)ýƒe?oýì\ûþUœì¤yþ¾¶Ê ëøþ»}Å ãp¹þ·º— ±á™þNóŸ ¼ÞýåÉø Á)‡ýé‘ ò¸§þR_õ é);ö¤#ö¤#ö¤#ö¤#þ¾¶Ê ëøþUœì¤yýì\ûýƒe?oý…•ÉEŨý……ÿfyý†rØë„ýï°<}`/þXé®zÐèþÂ'xE“þÁ*o[ê4þÁ—8k(þXÇ>'ý@ &ýîÃcc$þWí ^u‰ö¤#ö¤#ö¤#ö¤#þÂ'xE“þXé®zÐèýï°<}`/ý†rØë„ý‡Â`³“ýˆh+Íg|ýˆh+Íg|ýñ­uÍc‰þZîÌÍc‰þÄ4Íc‰þÄ4Íc‰þÆe±7þZI³ŒýðûÒ±*ýñ­uÍc‰þZîÌÍc‰ö¤#ö¤#ö¤#ö¤#ñ2q w—Ôñ2q àÝñ2q Jtñ2q ³c½ò§¹³Â{ô üí)õ13òqÎâõWË™ˆõ}—­d.õ¢ìpK2ÆôQÕÉ%íòÐJÔwæÇòÐJÔá,ò§¹J}1ô'ëæš·Ïô+î=+[GñZ$ñZ$óy$óy$õ¢ìpK2Æõ}—­d.õWË™ˆõ13òqÎâöaªz倦÷d ˆÿ‰ø==ð8iÍø€7çøøÂâ‹•¼"ù¶ÒDeLøJm¨öõkÌ ¹öÏ„).=!ö‡•FƒO?÷§tX7¨³÷ÒuÍÒÄ~óy$óy$ô#ô#ù¶ÒDeLøÂâ‹•¼"ø€7çøø==ð8iÍø¨=W’Cù ©_îÊù`aÞL9öù­í¡ùûup½×%úI3v¥½ùè¹Hù|©§Úeù9ÍUù1;øë «@½mùW1/¦ábù›-…UGqô#ô#õ”#õ”#úI3v¥½ùûup½×%ù­í¡ù`aÞL9öùvbãcrÔùŠ?6|Âùžø˜“‡ùîÔyNð¶ú>°Z -^_úŽ-ÅÈúw’…«ÄºúafyºúÚQ׫"ùÃê³E^ùÚ7Œkú'¶¤ð[õ”#õ”#õ•#õ•#úŽ-ÅÈú>°Z -^_ùîÔyNð¶ùžø˜“‡ù©9§ŸRÎù³jì«Ñù½Œg¶·ú„stJú_|—0-‰ú°t°ìê»ú¥6ýßòëú™ítÒç_úJ“y¶ùùˆZ¼„úcgÈúT>å#5¹õ•#õ•#õ–#õ–#ú°t°ìê»ú_|—0-‰ú„stJù½Œg¶·ùÇÕ[ÂC½ùл ÎÐøùÚR[Ú°ƒú,^Ƙ½=ú~k0VÉøúÐs©Ò¿úÅÏ꣬ú»ÑöùÆèújÙÞ= ·úÍsïú"ÇtŒÝ³úsÃI–òõ–#õ–#õ–#õ–#úÐs©Ò¿ú~k0VÉøú,^Ƙ½=ùÚR[Ú°ƒùí5ýò®ÁùÿÞi -eñúKŸ!Ò!úfaâßúºzˆ£-«ûcÝiúú°IÖúåhA/{æú“[Öqsú?>v°»{úSóå˯ú¦B‰*Oõ–#õ–#õ˜#õ˜#ûcÝiúºzˆ£-«úfaâßúKŸ!Ò!ú$JN9‘6ú4¾>RáúEÈ.i‘¥ú›Ë,àuúñÎð37ûGÐ쳂û4íI™S>û"‹ë~?‚úÎvp½Äúxc¼ú@õúŠÁ(T°úÞê`Öoõ˜#õ˜#õ™#õ™#ûGÐ쳂úñÎð37ú›Ë,àuúEÈ.i‘¥úh|˜2Áú…ºIÈèÅú£çu÷'1úýbŒ¿¸ûVݤˆEû°X»PÕíûŽòŠ]Pûn]çe7ûZ¦$uú¾ f[‘úß5`‘u·û5wsTÌlõ™#õ™#õ›#õ›#û°X»PÕíûVݤˆEúýbŒ¿¸ú£çu÷'1ú³nŒ  8ú¿ÿ¹ &B¬úÍ¡F =kÁû(« “Òûƒ´ØÓ·ðûÞ“žàûÏž,…#³ûÁz[jO ûgÿC¡¾;û é£Ö–*û ‚ñj½ût”c¹û¢õ›#õ›#õœ#õœ#ûÞ“žàûƒ´ØÓ·ðû(« “ÒúÍ¡F =kÁúÛ‚ T´júèN` k® úõ]ß ‚XâûQÚ· P:û®W Ë…ü -Ðuë†ÏûüUÌÒT«ûí£ß¸Ç»û’šퟪû6K Ü{ûDË8 9ijûŸØô ™`õœ#õœ#ö#ö#ü -Ðuë†Ïû®W Ë…ûQÚ· P:úõ]ß ‚Xâû ÙÙ ±®û$ûž ÝÝ -û:K - -eLû™W Ý/Zûøg2 ¯õvüWwD ‚¿…ü?Ëë Q8Jü%í ^)ûÈš Q¢ÞûiV± ~Éû„ ° °£&ûà»Ù ~r.ö#ö#öž#öž#üWwD ‚¿…ûøg2 ¯õvû™W Ý/Zû:K - -eLûDpn - è•ûNrT -7ûXLÁ -Lî’û¸€ï -",Fü±+ ÷mìüxáh ̯“ümêà ´fTübÄÀ ›ÂKü´® Èø<û£€€ ó®±û®¢ - V­ü ¶• ß$®öž#öž#öŸ#öŸ#üxáh ̯“ü±+ ÷mìû¸€ï -",FûXLÁ -Lî’ûaè -bßÍûl³= -wðûtœH -Í…ûÕØò -ezìü7› -=(Sü˜RE -Õ¹üh¤ üŒ{üƒ”ñ åsü#` -ÒÍûÂA -8!tûÍïæ -Onü.+ú -$ãöŸ#öŸ#öŸ#öŸ#ü˜RE -Õ¹ü7› -=(SûÕØò -ezìûtœH -Í…û…3¿ -¹5û–óE -â {û¥f ´üt -èáük‚ö -ÄwAüΑl - Ø¡ü¾xG -s(Qüªæô -E yüIªK -m\ûæph -ßûú» -¿Ûü[iÑ -–ÊãöŸ#öŸ#ö #ö #üΑl - Ø¡ük‚ö -ÄwAüt -èáû¥f ´û³R— 4ûÙûÀȸ \ãÝûÍÄz ƒhü2QØ dBÀü–ß5 Eãüûl“ %÷üìýÁ -û ýüÞ¸ -ÎÀ5üzúB -ò^Õüa ]9ü%V =¾üˆpc FÚö #ö #ö¡#ö¡#üûl“ %÷ü–ß5 Eãü2QØ dBÀûÍÄz ƒhûØÞ¥ ª‡OûãŽ< Ð>ÊûíÛ# ô üS Y Ù¢Êü¹e ¾¶ˆý&Õ £ÊEý­ì {gâýÆ| QvÍü£9 pœ©ü=l ‹arüISs µR‡ü­ì¨ –T$ö¡#ö¡#ö¢#ö¢#ý&Õ £ÊEü¹e ¾¶ˆüS Y Ù¢ÊûíÛ# ô ûóç ™“û÷œ Ç ûûAz *siüa… ˆRüÇÌ} ø;ý.ø ß¶ý)oÉ Ìý%QÐ ·ÝÜü¿Œ ÒÊüYA, ë­Pü]_$ ÿ܉üÃ,@ äø+ö¢#ö¢#ö¢#ö¢#ý.ø ß¶üÇÌ} ø;üa… ˆRûûAz *siûÿSš <#%üQÿ Mxü<¦ ^v.ümö› G|yüÔ° 0‚Ãý;j… ‰ ý7V ¥jý2œ… ó_üÌXý J/üe› #8 üj ó 6~`üÐWa Ÿ ö¢#ö¢#ö£#ö£#ý;j… ‰ üÔ° 0‚Ãümö› G|yü<¦ ^v.ü /3 olbü € ¾üÕ# POüyõº {4>üáQ f,ýH6è PüýD  >å½ý?Ǧ ,h½üÙ ± Cbsüqé' Xr¬üv.™ jï¬üÜì TÎö£#ö£#ö£#ö£#ýH6è PüüáQ f,üyõº {4>üÕ# POü¿5  Ä?ü™| °Ýdü` À—Ìü‚Ûi ­E¢üêRØ ™óxýQÎ: †¥AýN°× u(ÖýK{Å cEÊüä[- xaÛü|ßÌ ‹¨-ü€ë ‹:üç5u ˆwö£#ö£#ö£#ö£#ýQÎ: †¥AüêRØ ™óxü‚Ûi ­E¢ü` À—Ìü!Ì à ›ü&jh þNü+Œé ¬Öü“šY -·8üû£Ö ú½¨ýc±F êÈ -ý^œ ÊübýX ò ©žüð‘ ¼ìMüˆ€. ̺rüŽwØ î°üõ÷, Úõòö£#ö£#ö£#ö£#ýc±F êÈ -üû£Ö ú½¨ü“šY -·8ü+Œé ¬Öü2˜æ T`9ü:w ˆ+ºü>ËV ¶r ü§’N ¬<ÔýUS ¢ ýyK —ÖXýsâ dukýk¹æ *Ý«ý¬v :ÓIüš¦V Djšü¢Öo }úuý # n¦°ö£#ö£#ö¤#ö¤#ýyK —ÖXýUS ¢ ü§’N ¬<Ôü>ËV ¶r üBSM äÛäüEhË u‹üHÂ0Bôü±-’*ŠrýGo$Ññýƒe?oý€sH øq)ý}ò Ë^¾ý?ú Õü«E Ú¦¬ü®†›½ ýYk þ-ö¤#ö¤#ö¤#ö¤#ýƒe?oýGo$Ññü±-’*ŠrüHÂ0BôüJ úS 'üIáŽpHËüJ¾‡ü³ü…-ý5s‚vØý†rØë„ý……ÿfyý…•ÉEŨýwùK~)ü³&ØMc³ü³óm½wýHšh¦Íö¤#ö¤#ö¤#ö¤#ý†rØë„ý5s‚vØü³ü…-üJ¾‡üKþ\¶"ÆüLœBÍkoüLœBÍkoüµá‹Íg|ý"âÍg|ýˆh+Íg|ýˆh+Íg|ý‡Â`³“ý„ü¶Óüµ7ͳ“üµá‹Íg|ý"âÍg|ö¤#ö¤#ö¤#ö¤#ñ2q ³c½ñ2q ³c½ñ2q ©ñ2q ï/§ò'Oïž/ó²10°sô¿f˜jþôþ%êå³øõ$ ă~žõ13òqÎâô üí)ò§¹³Â{ò§¹³Â{ò'Oœóð×–}õzóôÝßœåñZ$ñZ$óy$óy$õ13òqÎâõ$ ă~žôþ%êå³øô¿f˜jþõÍíåþù†ö³ö‘i÷tÅ ,j[÷åÄŸüÞø(˜KN¦ ø==ð8iÍ÷d ˆÿ‰öaªz倦öTƒL÷4Uö ”iLB€÷$õ#ì÷OúlŸ;Äóy$óy$ô#ô#ø==ð8iÍø(˜KN¦ ÷åÄŸüÞ÷tÅ ,j[÷ÓÙ|J/ø*•„Î ™øw‰!Î/øüìÆ¨õ÷ùJt•aÄŽù`aÞL9öù ©_îÊø¨=W’Cø““¿¨PøDØ ïܲø¯¿ÀU7Tøó¼cô#ô#õ”#õ”#ù`aÞL9öùJt•aÄŽøüìÆ¨õ÷øw‰!Î/ø‹_³6kîøœçõL|¾ø¯döaA÷ù9²íE2ùˆ÷“¨®éùžø˜“‡ùŠ?6|ÂùvbãcrÔù`u›xýmù…ý½—©ù&ž²Ø|ùt:>‘Jžõ”#õ”#õ•#õ•#ùžø˜“‡ùˆ÷“¨®éù9²íE2ø¯döaA÷ø¸‰Ík¾=øÁžÚv*¸øÊ¤€‡iùVVîù§‡oË«°ù½Œg¶·ù³jì«Ñù©9§ŸRÎù“8¢´z·ùB<—÷½…ùMŠ‘Îùeô¿ÿwõ•#õ•#õ–#õ–#ù½Œg¶·ù§‡oË«°ùVVîøÊ¤€‡iøÓÔÍŠÀ’øÛª•þEøä5 ŽGùrHÝ1]*ùÄQVïiåùÚR[Ú°ƒùл ÎÐøùÇÕ[ÂC½ù±Ðc×8Uù_À+›ùi½ù&Í(ùººãŠZõ–#õ–#õ–#õ–#ùÚR[Ú°ƒùÄQVïiåùrHÝ1]*øä5 ŽGøõºµáœùŸ#ÊõÈùIßÊÌù¨Déu]sùü^W6 ?úKŸ!Ò!ùÿÞi -eñùí5ýò®Áù×1h#ùƒ¥F´rù—ÜÑ`ˆpùéí.õ–#õ–#õ˜#õ˜#úKŸ!Ò!ùü^W6 ?ù¨Déu]sùIßÊÌù&±ôæÝù42 -´‘ùC¿q ¡DùÙÿu¹ëØú0_}:§úEÈ.i‘¥ú4¾>Ráú$JN9‘6ú]MÈTù¸JQŠy…ùÊÓ)¤ÿ%úøoeªðõ˜#õ˜#õ™#õ™#úEÈ.i‘¥ú0_}:§ùÙÿu¹ëØùC¿q ¡Dùbá[ IKù|…ú tt:ù—v/ |iú5,Å AuúŽ§Ü ”gú£çu÷'1ú…ºIÈèÅúh|˜2ÁúRÛ «ÛÃùù!`ãFìú< ûTúp~£ÛR õ™#õ™#õ›#õ›#ú£çu÷'1úŽ§Ü ”gú5,Å Auù—v/ |iù¥^Ê ±ÃPù°aF Ça¦ù¼ƒì ÛóŽú]º• „6ú¸Ä^ O+GúÍ¡F =kÁú¿ÿ¹ &B¬ú³nŒ  8úž.ó r{úCS UJjúQ—ï oqMú«Þ 82õ›#õ›#õœ#õœ#úÍ¡F =kÁú¸Ä^ O+Gú]º• „6ù¼ƒì ÛóŽùÈ{& ð¥ ùÔFô - ‡ùßëH -*õú„n² ŧˆúàë‹ “bÓúõ]ß ‚XâúèN` k® úÛ‚ T´júÆ2š fsïúi­Ü ˜°ÀúxÎQ ±ˆúÓÜ |¼õœ#õœ#ö#ö#úõ]ß ‚Xâúàë‹ “bÓú„n² ŧˆùßëH -*õùôœÅ -BÅ2ú -/C -j}Øú½ -’úÇÍ# -G2û&Ý5 -ü,û:K - -eLû$ûž ÝÝ -û ÙÙ ±®úøg… žú™$" ïAÅú´Ý© - ñûÒ íoùö#ö#öž#öž#û:K - -eLû&Ý5 -ü,úÇÍ# -G2ú½ -’ú& -¦ßú.ý× -¹Ã¸ú7¸ -Í-‘úå@Ç -†~mûEtö -[ÀûXLÁ -Lî’ûNrT -7ûDpn - è•û1¢ -0{ƒúÐÎs -[1øú܆„ -s‡û;š‰ -Eæˆöž#öž#öŸ#öŸ#ûXLÁ -Lî’ûEtö -[Àúå@Ç -†~mú7¸ -Í-‘ú@; -à«'úIýÖ -óO¡úPê? ÅRû%º -Ä03ûbbd -›ÝšûtœH -Í…ûl³= -wðûaè -bßÍûO G -qµAúíÃÆ -™ÿöúú=D -°ºƒûZyX -†öŸ#öŸ#öŸ#öŸ#ûtœH -Í…ûbbd -›Ýšû%º -Ä03úPê? ÅRú_€Š -]Îúor5 R³ú|>™ v”Tû1} ;à\û”‹w A¼û¥f ´û–óE -â {û…3¿ -¹5ûrùÚ -ÇE±û¿ø -êȯû$° `»û†³ -ï)ÃöŸ#öŸ#ö #ö #û¥f ´û”‹w A¼û1} ;à\ú|>™ v”Túˆœu ›;oú”½ ¾¦½ú b àÚ3ûYÓ ­˜Úû¾`ê ŽrþûÍÄz ƒhûÀȸ \ãÝû³R— 4ûÙû¢t A‰û=ÚÝ `‡wûNFè ‹eeû±a6 gî>ö #ö #ö¡#ö¡#ûÍÄz ƒhû¾`ê ŽrþûYÓ ­˜Úú b àÚ3ú©òÜ “ßú³nŒ %²ú¼“c ESÔûzA ®ûàD þ"kûíÛ# ô ûãŽ< Ð>ÊûØÞ¥ ª‡OûÉw# µ¾ûcª ÐR†ûq ( øÐŒûÕ¹] ÙÒ)ö¡#ö¡#ö¢#ö¢#ûíÛ# ô ûàD þ"kûzA ®ú¼“c ESÔúÁª UQWúÄÃ} e~9úÈnû u0¼û‡îr LËV ¶r ü:w ˆ+ºü2˜æ T`9ü)° ZÕûÀ… c¨&ûË·w ›'ü3ü+ ‹Ëaö£#ö£#ö¤#ö¤#ü>ËV ¶r ü8¸ - º³ûÏñ ÄB÷û~S Õ ¿ûŸ© þY û -bA"yíû ºDAplûÛiú8†üDƒ×2LüHÂ0BôüEhË u‹üBSM äÛäü<@ è{‹ûÓZ íŽAûÙ -üAàÔz©ö¤#ö¤#ö¤#ö¤#üHÂ0BôüDƒ×2LûÛiú8†û ºDAplû€9`v´û=zzû -c3rûßæ°‹¼üI "ˆvhüJ¾‡üIáŽpHËüJ úS 'üFU%EûÝ/ïW -ÏûßkvH[üHCq1²ö¤#ö¤#ö¤#ö¤#üJ¾‡üI "ˆvhûßæ°‹¼û -c3rû:W¸®ûÐXÍoaûÐXÍoaûãVøÍkoüLœBÍkoüLœBÍkoüLœBÍkoüKþ\¶"ÆüJ_à·ºûá±´|eûãVøÍkoüLœBÍkoö¤#ö¤#ö¤#ö¤#ÿÿÿÿÍ_—ÿ-y_Í_—þÄ4Íc‰þÄ4Íc‰þÄ4Í+þÄ4ÍžÀþÄ4ͺbþÄ4ͺbÿ-y_;Tÿÿÿÿ;TÿÿÿÿÍžÀÿÿÿÿÍ+ÿ-y_̓þÄ4Í+þÄ4ÍžÀÿ-y_ÍšÍö¤#ö¤#ö¤#ö¤#þÄ4Íc‰þZîÌÍc‰ýñ­uÍc‰ýˆh+Íg|ýˆh+̓ýˆh+ÍšÍýˆh+Ͷoýñ­uͺbþZîÌͺbþÄ4ͺbþÄ4ÍžÀþÄ4Í+þZîÌ̓ýñ­uÍ+ýñ­uÍžÀþZîÌÍšÍö¤#ö¤#ö¤#ö¤#ýˆh+Íg|ý"âÍg|üµá‹Íg|üLœBÍkoüLœB̓üLœBÍšÍüLœBͲ|üµá‹Ͷoý"âͶoýˆh+Ͷoýˆh+ÍšÍýˆh+̓ý"â̓üµá‹̓üµá‹ÍšÍý"âÍšÍö¤#ö¤#ö¤#ö¤#üLœBÍkoüLœBÍkoûãVøÍkoûÐXÍoaûÐX̓ûÐXÍšÍûÐXÍ®ŠûãVøͲ|üLœBͲ|üLœBͲ|üLœBÍšÍüLœB̓üLœB̓ûãVø̓ûãVøÍšÍüLœBÍšÍö¤#ö¤#ö¤#ö¤#ÿÿÿÿ;Tÿ-y_;TþÄ4ͺbþÄ4ͺbþÄ(>°°ÿþ­È{”Zþ—s& þŠ»éz&2þö^Êÿ·_z°q0ÿ盼òçÿÿÿÿÄ÷çÿ-y_ÄóôþÄ(>°°ÿþ²\à—†lÿ§G¬G³ö¤#ö¤#ö§#ö§#ÿ·_z°q0þö^ÊþŠ»éz&2þ—s& þUa¶RE¿þ^¦-+Øý¼AÿCñýÎQð D;þ/Žš5–ÕþߺKx;½ÿ?k’õÿ‡#Õ£ïzþÎ]uqñÓþcó\Âþ%¨U;,"þŽåºPL&ö§#ö§#÷°#÷°#þߺKx;½þ/Žš5–ÕýÎQð D;ý¼AÿCñý õj£·>ü &$“ÐúʳBeðÂúà€ö{¾wû*ïVÆ,Öû©þaE?ÔýhUæÙÒþ!¹»C+äýqŠƒ ý C ±·ˆü!Ýè:]’ü‰YJgÊÇ÷°#÷°#ùÉ"ùÉ"û©þaE?Ôû*ïVÆ,Öúà€ö{¾wúʳBeðÂù‰R]§IÂøuË©+öcþ‹W5÷öqúãi¦öšM|ʼPöÜòezëôø§æ¼ïWúK˜_£¡ãùÌ…b$ŽåùŸ½vøv»tµøeA– ¿³ùÉ"ùÉ"ûâ!ûâ!öÜòezëôöšM|ʼPöqúãi¦öcþ‹W5÷õ‘‮ˆjô¶ügð‹zó×Ü´¼ãóÞÜÚ%á»óóÑr‘(/ô#æR…Kõ¦""M˜õ÷§¶Ú?!õµÎ*}õŸâÊÀÒôÁ|ŸþD¶ôÖ¨{i‡9ûâ!ûâ!üë!üë!ô#æR…KóóÑr‘(/óÞÜÚ%á»ó×Ü´¼ãòøÀôHêZòg§_Jñ2tü_Rñ2tü_Rñ2tüÈ—Kñ2tü›ëò)ªœ›ëó!¥œ‚¼ýóúi¸É&òüAM~¿òg§_Jò)ªœÈ—Küë!üë!üî!üî!þÄ4ͺbþZîÌͺbýñ­uͺbýˆh+ͶoýˆToœn -ýsùÊk¿ýKΪ5Úéý± ªJ/þX^úÇþ—s& þ­È{”ZþÄ(>°°ÿþZæç°°ÿýñ•Æœn -ýÛ9öu3bþFˆP‰ð·ö¤#ö¤#ö§#ö§#þ—s& þX^úÇý± ªJ/ýKΪ5Úéý#£Š˜üç§ïÇb®ü˜RE†H2üùŽî®šËýZ˘ÖñWý¼AÿCñþ^¦-+ØþUa¶RE¿ýò#á4Öý†á_ÕýHä˜ïµHý²!ýÙ>ö§#ö§#÷°#÷°#ý¼AÿCñýZ˘ÖñWüùŽî®šËü˜RE†H2ûú5 FŠû¼bIÜùëh#†¡±ú5ÖƒÑú€Dâ~púʳBeðÂü &$“Ðý õj£·>ü¬¸Á{d¥ü[mÃ,™$ûZ*e¬¸<ûÁ¥ÇÚ!~÷°#÷°#ùÉ"ùÉ"úʳBeðÂú€Dâ~pú5ÖƒÑùëh#†¡±øÇ \ªñ¡÷i•bÂõë¿3ûöYX”¼¥ö;«òõùNöcþ‹W5÷øuË©+ù‰R]§IÂù>ãþ\Ûbùz»õ`÷‘W±öŸl÷à#2Gî\ùÉ"ùÉ"ûâ!ûâ!öcþ‹W5÷ö;«òõùNöYX”¼¥õë¿3ûõ,I‚ѳôeVŸ¾É[󚕃æð‰ó®ÀÉL3|óõa·yðó×Ü´¼ãô¶ügð‹zõ‘‮ˆjõi“ÙMKÀõToâä\ôƒ“•"0ô˜¿qM¥ûâ!ûâ!üë!üë!ó×Ü´¼ãóõa·yðó®ÀÉL3|󚕃æð‰òÏØZ©ò(¤#r[ñ2q #†ñ2q ŒËañ2q ö ¸ñ2tü_Ròg§_JòøÀôHêZòî«Qáª.òÙíýv[Ôò(¤Œ·¤òg§öÓüë!üë!üî!üî!ýˆh+Ͷoý"âͶoüµá‹ͶoüLœBͲ|üL|­ˆ'"ü:''B5%üBøÅü{EC » üæª!¯£ýKΪ5ÚéýsùÊk¿ýˆToœn -ý%œjüµÁ÷ˆ+ü¡kELJÈý µ¬aö¤#ö¤#ö§#ö§#ýKΪ5Úéüæª!¯£ü{EC » üBøÅûñál®îWû»ñ8a™…ûtœH PfûÕØò5¢ÿü7›]õ™ü˜RE†H2üç§ïÇb®ý#£Š˜üÀeµâ[üUAÍ+Mü-á‰ìü†kFŸö§#ö§#÷°#÷°#ü˜RE†H2ü7›]õ™ûÕØò5¢ÿûtœH Pfúæp»dÑäúcäŸÿèù §R ùV‹dñÀÿù ùÃ<3Qùëh#†¡±û¼bIÜûú5 FŠû˜øcÛóñûG­e$}ú]ÒDênGúÅM¦׊÷°#÷°#ùÉ"ùÉ"ùëh#†¡±ù ùÃ<3QùV‹dñÀÿù §R øÆZ®•öÉ”cžrõråÆ õšeq¶õ´&Ò?_õë¿3û÷i•bÂøÇ \ªñ¡ø|ü`OøO4¹ùßöñæýâÛ÷@²~4&ùÉ"ùÉ"ûâ!ûâ!õë¿3ûõ´&Ò?_õšeq¶õråÆ ôÆ\Wûô¬ä=ó]RD±(!óqy˜kó†n0±‰óš•ƒæð‰ôeVŸ¾É[õ,I‚ѳõ΢!• ô¸W¥ô1éÚðIôG¶[‹‡ûâ!ûâ!üë!üë!󚕃æð‰ó†n0±‰óqy˜kó]RD±(!ò¦ó²ÕIñìé¢çš™ñ2q çº.ñ2q Pÿwñ2q º@Îñ2q #†ò(¤#r[òÏØZ©òÅÆ©§×‹ò± U<#ñìé¢Pßãò(¤º-üë!üë!üî!üî!üLœBͲ|üLœBͲ|ûãVøͲ|ûÐXÍ®Šû¨Þsä-ûXvL‹úà=Û»D¡û¡šöÜ›ü ákñŸüBøÅü:''B5%üL|­ˆ'"üL|­ˆ'"ûã/sèûÊHZ)óÌü5–´>µö¤#ö¤#ö§#ö§#üBøÅü ákñŸû¡šöÜ›úà=Û»D¡úÀ#@]@©ú>sûÐ\úPê?”X™ûâÖùûbVŒÿPûtœH Pfû»ñ8a™…ûñál®îWûä,"¤j,ûxé >Qû@n>uDû©«{S™;ö§#ö§#÷°#÷°#ûtœH PfûbVŒÿPûâÖùúPê?”X™ùÒ¬kÅ]>ù¶ݵóø,ÑåÈŽø«àðGŒøöOP‘„ëù §R úcäŸÿèúæp»dÑäúÔ' VÑ™ú‚Ü&ù–Á\Èñùýš#Š24÷°#÷°#ùÉ"ùÉ"ù §R øöOP‘„ëø«àðGŒø,ÑåÈŽ÷B|e²=lö*'¢mÚ!ôùìõ;ÀœC¦õd¨ý€PõråÆ öÉ”cžrøÆZ®•÷îø¦˜ËÌ÷Ác1PjölȘ Åö»”oTÃùÉ"ùÉ"ûâ!ûâ!õråÆ õd¨ý€Põ;ÀœC¦ôùìô`–Î+dDóÂ[Ió {_¹óAY”<¼ÕóVN,¨Jó]RD±(!ô¬ä=ôÆ\Wûô¸WÈDÑLô£7ÄÛ“èóôÐqô ,¬Qóûâ!ûâ!üë!üë!ó]RD±(!óVN,¨JóAY”<¼Õó {_¹ò~ -›zTñئ¬«ÆÊñ2q «îDñ2q ~täñ2q çº.ñ2q çº.ñìé¢çš™ò¦ó²ÕIò£s и“ò޶Kej9ñئ¬~Mkñìé¢çš™üë!üë!üî!üî!ñ2tü›ëñ2tüÈ—Kñ2tü_Rñ2tü_Rñ2tü_Rñ2q _Rñ2q _Rñ2q _Rñ2q È—Kñ2q ›ëñ2q ›ëñ2tü›ëñ2tüÈ—Kñ2tü_Rñ2q _Rñ2q È—Küî!üî!üî!üî!ñ2tü_Rñ2q ö ¸ñ2q ŒËañ2q #†ñ2q #†ñ2q #†ñ2q #†ñ2q ŒËañ2q ö ¸ñ2q _Rñ2q _Rñ2tü_Rñ2q ö ¸ñ2q ŒËañ2q ŒËañ2q ö ¸üî!üî!üî!üî!ñ2q #†ñ2q º@Îñ2q Pÿwñ2q çº.ñ2q çº.ñ2q çº.ñ2q çº.ñ2q Pÿwñ2q º@Îñ2q #†ñ2q #†ñ2q #†ñ2q º@Îñ2q Pÿwñ2q Pÿwñ2q º@Îüî!üî!üî!üî!ñ2q çº.ñ2q çº.ñ2q ~täñ2q «îDñ2q «îDñ2q «îDñ2q «îDñ2q ~täñ2q çº.ñ2q çº.ñ2q çº.ñ2q çº.ñ2q çº.ñ2q ~täñ2q ~täñ2q çº.üî!üî!üî!üî! -endstream endobj 60 0 obj <>stream -ÿÿÿÿ+D„ÿÿÿÿ*]¾ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ*]¾ÿÿÿÿ+D„ÿÿÿÿ+D„ÿÿÿÿ+D„ÿÿÿÿ*]¾ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ*]¾üî!üî!üî!üî!ÿÿÿÿ)ê`ÿÿÿÿ)vý;ÿÿÿÿ)špÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ)špÿÿÿÿ)vý;ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿÿÿÿ)vý;ÿÿÿÿ)špÿÿÿÿ)špÿÿÿÿ)vý;üî!üî!üî!üî!ÿÿÿÿ(;øÿÿÿÿ(Ù,ÿÿÿÿ'©v`ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'©v`ÿÿÿÿ(Ù,ÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(;øÿÿÿÿ(Ù,ÿÿÿÿ'©v`ÿÿÿÿ'©v`ÿÿÿÿ(Ù,üî!üî!üî!üî!ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ&µÿÿÿÿ%Ûñ¯ÿÿÿÿ%Ûñ¯ÿÿÿÿ%Ûñ¯ÿÿÿÿ%Ûñ¯ÿÿÿÿ&µÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ&µÿÿÿÿ&µÿÿÿÿ'6¾üî!üî!üî!üî!ÿÿÿÿ+D„ÿÿÿÿ*]¾ÿÿÿÿ)ê`ÿÿÿÿ)ê`ÿ«'¨)è:‡ÿVS¥)æ[ÿ{N)ãóÜÿ¢)äyþûëÍ*WV§þðÄ$+=°ÿK+ü+?ø0ÿ¥˜'+B;úÿ¥˜'*[z¶ÿ«'¨)è:‡ÿVS¥)æ;ùÿVS¥*Yšqüî!üî!üí!üí!þðÄ$+=°þûëÍ*WV§ÿ¢)äyÿ{N)ãóÜþ¬ÁA)ÞÔÚþXÖ)×”«þoÄ)ÑFÊþoÄ)ÑFÊýøCÇ*D ýáëÌ+)Ë{þ<,³+0Ÿ}þ–qî+8P+þ¡™˜*Qòkþ¬Å•)Þ÷wþXÖ)×”«þR‰*Jó#üí!üí!üë!üë!ÿÿÿÿ)ê`ÿÿÿÿ)vý;ÿÿÿÿ)špÿÿÿÿ(;øÿ°»}(Ž9ÿavû(Œ63ÿ2y(Š7¤ÿ ž¤(ýwÒÿ#)p³­ÿ{N)ãóÜÿVS¥)æ[ÿ«'¨)è:‡ÿ«'¨)t×¼ÿ°»})›áÿ[ã&(ÿvaÿ[ã&)rÙ-üî!üî!üí!üí!ÿ{N)ãóÜÿ#)p³­ÿ ž¤(ýwÒÿ2y(Š7¤þÔ(…]Üþt ù(~…†þ$ø(xÂþÌ(ëšpþ )^nsþoÄ)ÑFÊþXÖ)×”«þ¬ÁA)ÞÔÚþ²U)k˜ÿþ½(øž þhàü(ñY‰þcHÓ)d¼Tüí!üí!üë!üë!ÿÿÿÿ(;øÿÿÿÿ(Ù,ÿÿÿÿ'©v`ÿÿÿÿ'6¾ÿ¶Jþ'47£ÿlšQ'2Yˆÿ"é¤'0{lÿUÏ'£·GÿÁú(÷uÿ2y(Š7¤ÿavû(Œ63ÿ°»}(Ž9ÿ°»}(ÖIÿ¶Jþ'§šoÿg|'¥—Œÿg|(úXüî!üî!üí!üí!ÿ2y(Š7¤ÿÁú(÷uÿUÏ'£·Gÿ"é¤'0{lþÙ_ç'+æßþý'%t6þF€Z' ?’þ;P '“¿þ0$ (îþ$ø(xÂþt ù(~…†þÔ(…]ÜþȤi("þÓÐf'Ÿ' þ„ÌË'˜Jcþ8ö( ­/üí!üí!üë!üë!ÿÿÿÿ'6¾ÿÿÿÿ'6¾ÿÿÿÿ&µÿÿÿÿ%Ûñ¯ÿ»ÞÓ%Ú61ÿw½§%Øz³ÿ3œz%Ö½ ÿ(tÑ&½ ÿ"àü'0V¥ÿ"é¤'0{lÿlšQ'2Yˆÿ¶Jþ'47£ÿ¶Jþ'47£ÿ»ÞÓ&Àùžÿl•ý&¾Ôÿl•ý'26êüî!üî!üí!üí!ÿ"é¤'0{lÿ"àü'0V¥ÿ(tÑ&½ ÿ3œz%Ö½ þï¯:%Òoáþ«èë%Ìg:þhR%ǽ þQ¬W&­ieþF€Z' ?’þF€Z' ?’þý'%t6þÙ_ç'+æßþÙ[“'+ÄBþ䇑&¸Ëwþ•ð&²”þý'%t6üí!üí!üë!üë!ýáëÌ+)Ë{ýøCÇ*D þoÄ)ÑFÊþoÄ)ÑFÊý®ö)ÈÊÁýZϬ)¼Ÿ|ýÊ)²C.ýÊ)²eÌüõ´þ*$Œ½üÔ$ +¸ý. -+èSý‡ÑÖ+ À©ýž.$*;Oý®ö)ÈÊÁýZϬ)¼ÂýO›*/½üë!üë!üê!üê!üÔ$ +¸üõ´þ*$Œ½ýÊ)²eÌýÊ)²C.üûþŒ)°Üüñvù)¯yDüæïg)®%üæïg)®4ÂüÕq4* A¾ü²y#+4Ãü½²+µØüÈë+6íüê|*# ¨üûú8)±üñr¦)¯›áüàª,*!ÂÒüê!üê!üé!üé!ü²y#+4ÃüÕq4* A¾üæïg)®4Âüæïg)®%üÜy#)¬64üÒß)ª^–üÇŒ›)¨‚¤üÇŒ›)¨¥Aüµ]*“óüù*þS üœ%|+Hôü§M&+>ÜüÊE7*KÖüÜy#)¬XÑüÒß)ª|ßüÀ„­*‰Úüé!üé!üé!üé!üù*þS üµ]*“óüÇŒ›)¨¥AüÇŒ›)¨‚¤ü²¤g)¤ÊÁü·à)¡ÞüˆÏ¬)ZûüˆËX)tðüu4¡*+cüN2*òyþüdV…*öj üzª,*ú^—üŸ \*Ÿ}ü² )¤í^ü·à)¡,Ôü‹ƒô*Ùüé!üé!üé!üé!üN2*òyþüu4¡*+cüˆËX)tðüˆÏ¬)Zûü^úð)•Þ9ü5&5)Žaxü UÍ)†ä·ü UÍ)†ä·ûôð×)øûÈ+@*ÚuªûôÉæ*ât9ü!hŒ*êwüH•û*(€ü^úð)•ø/ü5&5)Žaxü!}*êüé!üé!üè!üè!þoÄ)ÑFÊþ )^nsþÌ(ëšpþ$ø(xÂýÖe(pÔØý‡•C(eV¦ý8ãÝ([Î[ý((ÍõLýN—)@=ýÊ)²C.ýZϬ)¼Ÿ|ý®ö)ÈÊÁýº"›)UòjýÊë(ã¨ÜývÌÊ(×}—ýkœy)Jx‹üë!üë!üê!üê!ýÊ)²C.ýN—)@=ý((ÍõLý8ãÝ([Î[ý/ ±(Z2ý%30(Ypœýe«(Wë3ý ëÌ(Éø/üøm™)<*üæïg)®%üñvù)¯yDüûþŒ)°Üý Ç)>µýE7(̨#ý´þ(Ë}—ýõ,)=lIüê!üê!üé!üé!üæïg)®%üøm™)<*ý ëÌ(Éø/ýe«(Wë3ý¥ (V-‹ýä–(Toãüþ$ (R²;üëð(Ä íüÙÀ‡)6“òüÇŒ›)¨‚¤üÒß)ª^–üÜy#)¬64üí÷U):)8ý&î(È:‡üõ°ª(Æbéüä6Ë)8küé!üé!üé!üé!üÇŒ›)¨‚¤üÙÀ‡)6“òüëð(Ä íüþ$ (R²;üꞣ(O6ëü×:(K»›üØ%(H@Kü¯ý(¹òjüœfc)+¨ÜüˆÏ¬)Zûü·à)¡Þü²¤g)¤ÊÁüÄÔ)2ÜüØo -(Á%üƒ(½mºü±Rë)/`¿üé!üé!üé!üé!üˆÏ¬)Zûüœfc)+¨Üü¯ý(¹òjüØ%(H@KüœT(AEWüu†Ö(:N·üN€Y(3SÃü8c(¤„ü!ºÂ)´fü UÍ)†ä·ü5&5)Žaxü^úð)•Þ9ür‘§)$,üˆö(²ûÊü_&5(«üK‹*)1'üé!üé!üè!üè!þ$ø(xÂþ0$ (îþ;P '“¿þF€Z' ?’ýý;Ø'Úœý´_.'ùýkA'Y‡ýZtÐ'w€yýI¬V'é§jý8ãÝ([Î[ý‡•C(eV¦ýÖe(pÔØýáGb'ýü‚ýòÛ'‹²óý£’a'€9ý˜b'ó/µüë!üë!üê!üê!ý8ãÝ([Î[ýI¬V'é§jýZtÐ'w€yýkA'Y‡ýb!)'$*ýXø'1ÞýOàB'È•ý>b'sÕý,ãÝ'åâŒýe«(Wë3ý%30(Ypœý/ ±(Z2ý?Ú}'èZAýQX°'vMEýGyÜ'u<¯ý6±c'çc¡üê!üê!üé!üé!ýe«(Wë3ý,ãÝ'åâŒý>b'sÕýOàB'È•ýFÑ'' ý=Áù&þ……ý4·(&üãüý"ƒ<'nÔØýS£'àÉüþ$ (R²;ýä–(Toãý¥ (V-‹ý##S'ä$äý5Rë'r1Þý+’`'pt6ý.'â2üé!üé!üé!üé!üþ$ (R²;ýS£'àÉý"ƒ<'nÔØý4·(&üãüý"˜Þ&ù£ýz”&öb/üþ`ž&ó!HüêÅ”'d׺ü×.Ü'Ö‰ÙüØ%(H@Kü×:(K»›üꞣ(O6ëüüÎ;'ÝH9ýiF'k‘ÇüüãÝ'hwüê´E'Ú)üé!üé!üé!üé!üØ%(H@Kü×.Ü'Ö‰ÙüêÅ”'d׺üþ`ž&ó!HüÚ$ &쮟üµçx&æ9Íü‘ªå&ßÇ$ü{JC'P÷uüdåN'Â'ÆüN€Y(3SÃüu†Ö(:N·üœT(AEWü°(_'Ï“9üÆT'^bèüŸ‚ƒ'Wgôü‹ëË'Éfüé!üé!üè!üè!þF€Z' ?’þF€Z' ?’þQ¬W&­ieþhR%ǽ þ$`Ÿ%Àä´ýá$Å%¶ÉMýŸ\%®ä´ý|i&“ùýkA'6êýkA'Y‡ý´_.'ùýý;Ø'Úœýý;Ø'ÚœþQ&¦‘ý¿~&šòhý´_.' í\üë!üë!üê!üê!ýkA'Y‡ýkA'6êý|i&“ùýŸ\%®ä´ý•4¢%­ËwýŒ¼í%¬ðöý„V†%«¥÷ýa^u&˜ýýOàB'¥øýOàB'È•ýXø'1Þýb!)'$*ýb!)'ýsŸ\&‘ô’ýiÄÛ&æ&ýXø' üê!üê!üé!üé!ýOàB'È•ýOàB'¥øýa^u&˜ýý„V†%«¥÷ý{ý%ªeýs£¯%¨˜üýkJD%§“ýFæÀ&ŠÒ­ý4·(&üÁ_ý4·(&üãüý=Áù&þ……ýFÑ'' ýFÑ'pýY &Ž”ýOD&ŒXý=ÆL&þbçüé!üé!üé!üé!ý4·(&üãüý4·(&üÁ_ýFæÀ&ŠÒ­ýkJD%§“ýZ“%¤@ýIÛï%¡Âý9)%žoý÷V&S -üþ`ž&óRüþ`ž&ó!Hýz”&öb/ý"˜Þ&ù£ý"˜Þ&ù€xý63é&‡Ì0ý"®€&„W]ý~è&öH9üé!üé!üé!üé!üþ`ž&ó!Hüþ`ž&óRý÷V&S -ý9)%žoý¶o%˜½üöH%’$âüÔÙÄ%Œ61ü¨Ú&n–Óü‘ªå&ßÇ$ü‘ªå&ßÇ$üµçx&æ9ÍüÚ$ &쮟üÚ$ &ì’üð‰&{b.üÉ~/&t…„üµçx&æ9Íüé!üé!üè!üè!ûÈ+@*Úuªûôð×)øü UÍ)†ä·ü UÍ)†ä·ú½ÞÏ)Dä¶ùvØQ(áÕ‘ø<ÌÆ(_ 4ø<ÌÆ(_ 4øšL(Ê4Â÷¸9ª)Ÿ]ÝùP**P*údWõ*” ú‘!à)±§kú½ÞÏ)Dä¶ùvØQ(áÕ‘ù_´û)U'üè!üè!ûá!ûá!ü UÍ)†ä·ü!ºÂ)´fü8c(¤„üN€Y(3SÃûaV'õ½ ùæ\I'™ZùøÁd6'â‹ø•1¼'ŠwøhÿA'õ ¦ø<ÌÆ(_ 4ùvØQ(áÕ‘ú½ÞÏ)Dä¶úÔ?q(Ó´eûü`(fí]ùº)Î(ï‡ù£ -Ì(wAüè!üè!ûá!ûá!üN€Y(3SÃüdåN'Â'Æü{JC'P÷uü‘ªå&ßÇ$ûpãÜ&¦™µúUä”&PàaùE÷S%à$âùÄØ&J¹pøí–±&µMýøÁd6'â‹ùæ\I'™ZùûaV'õ½ û-ÆK'„Œ»ûZ~ç'ÇÝú)²&»tîúŽÃ'.Æküè!üè!ûá!ûá!ü‘ªå&ßÇ$ü‘ªå&ßÇ$ü¨Ú&n–ÓüÔÙÄ%Œ61ûÊfb%Wt5úÅh‹%eÈùÊŽÃ$ g9ùr)Î%uUùE÷S%à$âùE÷S%à$âúUä”&PàaûpãÜ&¦™µûpãÜ&¦™µû Ì&9Ò­úmê%ÝŽäúUä”&Pàaüè!üè!ûá!ûá!÷¸9ª)Ÿ]ÝøšL(Ê4Âø<ÌÆ(_ 4ø<ÌÆ(_ 4õÈtÊ'[Œó‰&.%Úçñ¨±Z#ù²8ñ¨±Z#ù²8ñW$KI¨ð³ñˆ$îv^ò´0ÿ&î¯Xõ²(‰ÏÌõr·'´¦±õÈtÊ'[Œó‰&.%ÚçóW_ß&K‚¢ûá!ûá!úÑ!úÑ!ø<ÌÆ(_ 4øhÿA'õ ¦ø•1¼'ŠwøÁd6'â‹öw3+&-Fô^ -$Å~Mòq-#îòKÛç#V…‚ñúF¡#¨Èñ¨±Z#ù²8ó‰&.%ÚçõÈtÊ'[Œõô¢ñ&ðõKöK&—Úœô Ä%½óÚ»t%ˆ€wûá!ûá!úÑ!úÑ!øÁd6'â‹øí–±&µMýùÄØ&J¹pùE÷S%à$â÷%õà$ÿDõ3æ#°æÜó’5S",ó@›¹"aÁ\òïs"³XÌòq-#îô^ -$Å~Möw3+&-Fö£e¦%±öùÃe%i–Òôár $|"ô¯¬P$séûá!ûá!úÑ!úÑ!ùE÷S%à$âùE÷S%à$âùr)Î%uUùÊŽÃ$ g9÷Ô¸•#мPöøÂ"œOlô†õ&!gïóãÊ™!¾”¦ó’5S",ó’5S",õ3æ#°æÜ÷%õà$ÿD÷%õà$ÿD÷|SŸ$¥ålõdÎ5#?|"õ3æ#°æÜûá!ûá!úÑ!úÑ!ð³ñˆ$îv^ñW$KI¨ñ¨±Z#ù²8ñ¨±Z#ù²8ïÈE."CâîFÌ¿Ù÷píB´:eŸtíB´:eŸtìØ¬‘Ñîìö‘ê6äíI ˆ¼Nî³²"î9ïVÜ"K -1ïÈE."CâîFÌ¿Ù÷píí¶d 0WYúÑ!úÑ!ùÀ!ùÀ!ñ¨±Z#ù²8ñúF¡#¨ÈòKÛç#V…‚òq-#îðÜÜž!DN²ïu‰+2‘î‚máîÙ :~í­HÇ9lùíB´:eŸtîFÌ¿Ù÷pïÈE."CâðÚt!Ǭrð‹GX!•æ"ï -{ûWg5î±aM­ÄõúÑ!úÑ!ùÀ!ùÀ!òq-#îòïs"³XÌó@›¹"aÁ\ó’5S",ññt o[­ð£TS|oÜïÂ+8\niïW–ªˆ£îí´Õ‰î‚máïu‰+2‘ðÜÜž!DN²ñ.qå ò¹lñŸÞÉ Àðóð8¿Æ¨¢WïߥÿúÑ!úÑ!ùÀ!ùÀ!ó’5S",ó’5S",óãÊ™!¾”¦ô†õ&!gïó šf}ñјͪþñèá×Öùð,¿Å0;ïïÂ+8\niïÂ+8\nið£TS|oÜññt o[­ññt o[­òbÜŸ =“3ðüo&óð£TS|oÜúÑ!úÑ!ùÀ!ùÀ!ìö‘ê6äìØ¬‘ÑîíB´:eŸtíB´:eŸtìÀ0û+£ì]…Yä‹Aìx^——ìx^——ë¥ã®ÒêÇë¿ÚEMëfV>ñëw­»›4ìLÖÖBÌáìÀ0û+£ì]…Yä‹AëçôgûÂùÀ!ùÀ!ø´"ø´"êÇë¿ÚEMë¥ã®Òìx^——ìx^——ëÙkcI¥íë·øºõØgë·çl¢pŽë·çl¢pŽëD„ ¢r¸ê]Ã\¢tâê]ǰ Äêq'v|ÓëcÍv`alëÙkcI¥íë·øºõØgëDG šø´"ø´"÷­"÷­"íB´:eŸtí­HÇ9lùîÙ :~î‚máî´:¼Eí¬¨°‹ºíoþSëáí {jìŠqá€ÿZìx^——ì]…Yä‹AìÀ0û+£í*ňÿp“íž­èFÀí?ᨬ-ìÊLbÃdPùÀ!ùÀ!ø´"ø´"ìx^——ìŠqá€ÿZí {jíoþSëáí1aLÏí)Åߣ -í {¢ne잨¯¢neì+Eä¢pŽë·çl¢pŽë·øºõØgëÙkcI¥íìJ—a>˜:ìÀ5N'Ü¼ìžÆùߣ -ì+[†õØgø´"ø´"÷­"÷­"î‚máîí´Õ‰ïW–ªˆ£ïÂ+8\niïQ3&L…|îûdz1„ -¿+îS˜&ØiíÝþ=Ò¤íoþSëáí¬¨°‹ºî´:¼EîsDtáÊîæž™x·÷î«Rªûîo¸iáÉùÀ!ùÀ!ø´"ø´"íoþSëáíÝþ=Ò¤îS˜&Øi¿+î‰[ˆïø"îlV{Ékƒîl/‹¢jíøÌ¿¢l;í…ió¢l;í {¢neí)Åߣ -í1aLÏí¢‘ÁTî+7ûÖíøøÉm­í…ˆ=ß àø´"ø´"÷­"÷­"ïÂ+8\niïÂ+8\nið,¿Å0;ïñèá×Öùð™¶fÜôŠðJë -Ø„ð=ÍKï8+7ùÄð¿+¿+îûdz1„ -ïQ3&L…|ïQ3&L…|ïÄK5[©ïq\úM<îûdz1„ -ùÀ!ùÀ!ø´"ø´"¿+¿+ï8+7ùÄðð=ÍKïáQpÃ!=ïÆ‡†³6&ïÆSš¢gçîߎ¢jîl/‹¢jîl/‹¢jîlV{Ékƒî‰[ˆïø"î‰[ˆïø"îþõ"Ù<¤îßÁî³8PîlV{Ékƒø´"ø´"÷­"÷­"ê]Ã\¢tâëD„ ¢r¸ë·çl¢pŽë·çl¢pŽë·çl¢REë·çl¢1Ñë·çl¢^ë·çl¢^ëD„ ¢^ê]Ã\¢4ê]Ã\¢1Ñê]Ã\¢REëD„ ¢Pë·çl¢REë·çl¢1ÑëD„ ¢3û÷­"÷­"÷­"÷­"ë·çl¢pŽì+Eä¢pŽìž¨¯¢neí {¢neí {¢Pí {¢3ûí {¢²ìž¨¯¢ˆì+E䢈ë·çl¢^ë·çl¢1Ñë·çl¢REì+Eä¢P잨¯¢RE잨¯¢1Ñì+Eä¢3û÷­"÷­"÷­"÷­"í {¢neí…ió¢l;íøÌ¿¢l;îl/‹¢jîl/‹¢Pîl/‹¢3ûîl/‹¢ÜíøÌ¿¢Üí…ió¢²í {¢²í {¢3ûí {¢Pí…ió¢PíøÌ¿¢PíøÌ¿¢3ûí…ió¢3û÷­"÷­"÷­"÷­"îl/‹¢jîl/‹¢jîߎ¢jïÆSš¢gçïÆSš¢MñïÆSš¢3ûïÆSš¢/îߎ¢îl/‹¢Üîl/‹¢Üîl/‹¢3ûîl/‹¢Pîl/‹¢Pîߎ¢Pîߎ¢3ûîl/‹¢3û÷­"÷­"÷­"÷­"ê]Ã\¢4ëD„ ¢^ë·çl¢^ë·çl¢^ë·øºN«¯ëÙkcúÞ)ìx^­kìx^­kë¥ã–qDêÇë¿j< êq'ÎDê]ǰ8t(ëDG8vRë·øºN«¯ëÙkcúÞ)ëcÍvä ÷­"÷­"÷¦"÷¦"êÇë¿j< ë¥ã–qDìx^­kìx^­kì]…Y_ö¬ìÀ0ûÞßíB´: Þä£íB´: Þä£ìج ²¯þìö‘ ZK ëw­»©PëfVt%ëçôgH¿Þì]…Y_ö¬ìÀ0ûÞßìLÖÖµ ÷¦"÷¦"öš"öš"ë·çl¢^ì+E䢈잨¯¢ˆí {¢²í)Ådá í1aL'µíoþð˜5í {Ú|ÎìŠqáĽìx^­këÙkcúÞ)ë·øºN«¯ì+[†N«¯ìžÆùdÞãìÀ5N§[ìJ—aé³÷­"÷­"÷¦"÷¦"ìx^­kìŠqáĽí {Ú|Îíoþð˜5í¬¨°¹{\î´:ˆoÑî‚mc|îÙ7I˜í­HÇ íB´: Þä£ìÀ0ûÞßì]…Y_ö¬ìÊLbí?ᨘTkíž­\=Wí*ňEƒ÷¦"÷¦"öš"öš"í {¢²í…ió¢²íøÌ¿¢Üîl/‹¢ÜîlV{{jî‰[ˆT‹ô3ÄëîS˜«®íÝþ±síoþð˜5í1aL'µí)Ådá í…ˆ=dá íøø{jî+7I~@í¢‘2À˜÷­"÷­"÷¦"÷¦"íoþð˜5íÝþ±sîS˜«®î‘ž3ÄëîûdzýâïQ3&÷þšïÂ+8èƒïW–ª»áîí®Žî‚mc|î´:ˆoÑí¬¨°¹{\îo¸Ú¢Mî«ñÙîæž™ËÌ îsDt´¢L÷¦"÷¦"öš"öš"îl/‹¢Üîl/‹¢Üîߎ¢ïÆSš¢/ïÆ‡†‘MðïáQpbÙð=vñ¡ï8+7J¿&3Äë3Äëî‰[ˆT‹ôîlV{{jîlV{{jîßÁî‘KÇîþõ"kGrî‰[ˆT‹ô÷­"÷­"÷¦"÷¦"3Äë3Äëï8+7J¿&ð=vñ¡ðJë -l‚“ð™¶fgcñèálªóð,¿ÅEþïÂ+8èƒïÂ+8èƒïQ3&÷þšîûdzýâîûdzýâïq\ú*6ÛïÄK(nïQ3&÷þš÷¦"÷¦"öš"öš"ìö‘ ZK ìØ¬ ²¯þíB´: Þä£íB´: Þä£îFÌ¿ jŠ}ïÈE. +@5ñ¨±ZJÑÞñ¨±ZJÑÞñWù:nð³ñˆV ¸î³²VKíI -»ÇÈíí¶d ,¾îFÌ¿ jŠ}ïÈE. +@5ïVÜùw»öš"öš"ô…#ô…#íB´: Þä£í­HÇ îÙ7I˜î‚mc|ïu‰ O\ðÜÜž -3:òq-?“ÛòKÛçíþ”ñúF¡œg$ñ¨±ZJÑÞïÈE. +@5îFÌ¿ jŠ}î±aM –¿"ï -{û íáð‹GX ®ôðÚt |Õ{öš"öš"ô…#ô…#î‚mc|îí®ŽïW–ª»áïÂ+8èƒð£TS È:ññt -Õ(jó’5S 4Xó@›¹âÀ‘òïs‘+Kòq-?“ÛðÜÜž -3:ïu‰ O\ïߥ EÖð8¿Æ ›á¿ñŸÞÉ -ƒúñ.qå -Qʪöš"öš"ô…#ô…#ïÂ+8èƒïÂ+8èƒð,¿ÅEþñèálªóñј vÙó  ªoô†õ& -)ýóãÊ™ …íGó’5S 4Xó’5S 4Xññt -Õ(jð£TS È:ð£TS È:ðüo t#òbÜŸ î¹ññt -Õ(jöš"öš"ô…#ô…#ð³ñˆV ¸ñWù:nñ¨±ZJÑÞñ¨±ZJÑÞó‰&.jl/õÈtÊèøø<ÌÆäá¹ø<ÌÆäá¹øšLzM+÷¸9ª¥$õ²º´Jò´0ÿUÔ¿óW_ßùuó‰&.jl/õÈtÊèøõr·Ýeô…#ô…#óp#óp#ñ¨±ZJÑÞñúF¡œg$òKÛçíþ”òq-?“Ûô^ - öw3+>øÁd6$Ÿaø•1¼º -ÔøhÿAOvFø<ÌÆäá¹õÈtÊèøó‰&.jl/óÚ»t¼Ÿô Ä-nZöK¬©zõô¢ñSŒ¢ô…#ô…#óp#óp#òq-?“Ûòïs‘+Kó@›¹âÀ‘ó’5S 4Xõ3æ“:÷%õàEÒùE÷Sd] -ùÄØùÈ}øí–±3ïøÁd6$Ÿaöw3+>ô^ - ô¯¬PЛôár BÊöùÃeÚíDö£e¦Ò–ô…#ô…#óp#óp#ó’5S 4Xó’5S 4XóãÊ™ …íGô†õ& -)ýöøÂ¨4«÷Ô¸•sÇÆùʎäÝùr)ÎÎóÂùE÷Sd] -ùE÷Sd] -÷%õàEÒõ3æ“:õ3æ“:õdÎ5ô÷|SŸžœ÷%õàEÒô…#ô…#óp#óp#÷¸9ª¥$øšLzM+ø<ÌÆäá¹ø<ÌÆäá¹ùvËVbbÍú½ã#ÿ»€ü Uͽ°®ü Uͽ°®ûô]»H>ûÈ+@j$úddð°šSù>·ßù_£¬ï©ùvËVbbÍú½ã#ÿ»€ú¦®~Š(cóp#óp#òb$òb$ûÈ+@j$ûô]»H>ü Uͽ°®ü Uͽ°®ýXÈv{¥Ýþ¬•ýZ7ˆÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿæÃnÿÿÿÿþ–dó§ý+õä#­ËýB ø -ýXÈv{¥Ýþ¬•ýZ7ˆþ–dóæÉëòb$òb$ñZ$ñZ$ø<ÌÆäá¹øhÿAOvFø•1¼º -ÔøÁd6$ŸaùæWõªããûe©NÞÖüN€Y?xü8iE¢CËü!q4,¬[ü Uͽ°®ú½ã#ÿ»€ùvËVbbÍù¢ýÑÌ÷[ùº%z@OUúö@ââ¤úßêl‚ˆóp#óp#òb$òb$ü Uͽ°®ü!q4,¬[ü8iE¢CËüN€Y?xý…Ÿ\ÓïþÂËZ´fhÿÿÿÿ´Hÿÿÿÿ@ç}ÿÿÿÿ͆ÛÿÿÿÿZ$þ¬•ýZ7ˆýXÈv{¥ÝýcÖ*ìÔýz‘¨boÈþÂËZAÆþ¬•ý͘*òb$òb$ñZ$ñZ$øÁd6$Ÿaøí–±3ïùÄØùÈ}ùE÷Sd] -úUä”óg#ûpãÜžü‘ªådÌü{“ÑõÐküd›À€8ûüN€Y?xûe©NÞÖùæWõªããúŠpzšú)²ˆÒ•ûO¿18ûû8Šp»¥ßóp#óp#òb$òb$üN€Y?xüd›À€8ûü{“ÑõÐkü‘ªådÌý²qí+˜+þØüc•Iÿÿÿÿl.ÿÿÿÿ› Œÿÿÿÿ'ªêÿÿÿÿ´HþÂËZ´fhý…Ÿ\Óïý¨¼DÌý§d:ºjþØüc›4§þÂËZ'Ç -òb$òb$ñZ$ñZ$ùE÷Sd] -ùE÷Sd] -ùr)ÎÎóÂùʎäÝúÅq3;êbûÊfbí#ZüÔÕq¸X·ü¨¢öÚc‡ü‘ªådÌü‘ªådÌûpãÜžúUä”óg#úUä”óg#úm =fÁGûˆÔ“ ûpãÜžóp#óp#òb$òb$ü‘ªådÌü‘ªådÌü¨¢öÚc‡üÔÕq¸X·ýßDƒ>þï1ÀhÆSÿÿÿÿh>ÿÿÿÿÎúÿÿÿÿl.ÿÿÿÿl.þØüc•Iý²qí+˜+ý²qí+˜+ýÉ-l¡3ïþï1À‚æþØüc•Iòb$òb$ñZ$ñZ$ÿÿÿÿÿÿÿÿæÃnÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿæÃnÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÃnÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿæÃnñZ$ñZ$ñZ$ñZ$ÿÿÿÿZ$ÿÿÿÿ͆Ûÿÿÿÿ@ç}ÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ@ç}ÿÿÿÿ͆ÛÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿZ$ÿÿÿÿ͆Ûÿÿÿÿ@ç}ÿÿÿÿ@ç}ÿÿÿÿ͆ÛñZ$ñZ$ñZ$ñZ$ÿÿÿÿ´Hÿÿÿÿ'ªêÿÿÿÿ› Œÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿ› Œÿÿÿÿ'ªêÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ´Hÿÿÿÿ'ªêÿÿÿÿ› Œÿÿÿÿ› Œÿÿÿÿ'ªêñZ$ñZ$ñZ$ñZ$ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿÎúÿÿÿÿh>ÿÿÿÿh>ÿÿÿÿh>ÿÿÿÿh>ÿÿÿÿÎúÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿl.ÿÿÿÿÎúÿÿÿÿÎúÿÿÿÿl.ñZ$ñZ$ñZ$ñZ$ -endstream endobj 61 0 obj <>stream -îXK*îXK*ûQîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*ûQîXK*îXK*îXK*îXK*ûQîXK*x¤ÌîXK*x¤ÌîXK*ûQüî!üî!üî!üî!îXK*x¤ÌîXK*ö0GîXK*s¾îXK*ñKòîXK*ñKòîXK*ñKòîXK*ñKòîXK*s¾îXK*ö0GîXK*x¤ÌîXK*x¤ÌîXK*x¤ÌîXK*ö0GîXK*s¾îXK*s¾îXK*ö0Güî!üî!üî!üî!îXK*ñKòîXK*nÕîXK*ìbèîXK*ið½îXK*ið½îXK*ið½îXK*ið½îXK*ìbèîXK*nÕîXK*ñKòîXK*ñKòîXK*ñKòîXK*nÕîXK*ìbèîXK*ìbèîXK*nÕüî!üî!üî!üî!îXK*ið½îXK*ið½îXK*çyÞîXK*╉îXK*╉îXK*╉îXK*╉îXK*çyÞîXK*ið½îXK*ið½îXK*ið½îXK*ið½îXK*ið½îXK*çyÞîXK*çyÞîXK*ið½üî!üî!üî!üî!îXK*îXK*ûQîXK*x¤ÌîXK*x¤Ìî›øÆzZ¥îß¡®|#ï#OJ}Á¢ï#J•}›øï)\=6'ï5ŒÕîëÄý´¬î¢¹Ûƒî¢¹üòyî›øÆzZ¥îß¡®{èyîß¡®þ\þüî!üî!ûî!ûî!ï5ŒÕï)\=6'ï#J•}›øï#OJ}Á¢ïfå\ÒïªmO‡˜pïíù÷Œ§&ïíù÷Œ§&ïú!û²TðvºÈ®ïÈÓ¶ õï+ü é£ïs¬›ïf৬rïªmO‡˜pï°ƒ¬ - -šûî!ûî!ùí!ùí!îXK*x¤ÌîXK*ö0GîXK*s¾îXK*ñKòî•çò×lîÓƒôg›ïõ÷Êï0°xžï=¢û'sï#OJ}Á¢îß¡®|#î›øÆzZ¥î›øÆ÷æ î•çuNKîÙ”»vÿoîÙ”»ùvOüî!üî!ûî!ûî!ï#OJ}Á¢ï=¢û'sï0°xžïõ÷ÊïNž½ù¼ðïŒ ÿ ïÉè…žïթ톓&ïáÑò ›ùïíù÷Œ§&ïªmO‡˜pïfå\Òï`Óµÿ7íïT°e|TÅï˜3¢‚ïžEJCûî!ûî!ùí!ùí!îXK*ñKòîXK*nÕîXK*ìbèîXK*ið½îÚ,kVîÇdylÁîþîÆn+—ïnðÃlï s_õïõ÷ÊîÓƒôg›î•çò×lî•çpeAîÚ,íÍmîÍv!ïXçîÍv!qÏÆüî!üî!ûî!ûî!ïõ÷Êï s_õïnðÃlîþîÆn+—ï6Xq¥iïm¥7v… ï¥$zfqï±-)ýoDï½U.€|ÌïÉè…žïŒ ÿ ïNž½ù¼ðïHw fïïyÍ<ù’“ïÞã|½ûî!ûî!ùí!ùí!îXK*ið½îXK*ið½îXK*çyÞîXK*╉î‰È„ãÕ¯î»Eßå‰îìÃ9æ_dîøæ‰ë¹mîþó{nQAîþîÆn+—îÇdylÁîÚ,kVîÚ,kVî‰È„è¾¹îÇi.êt’îÇi.læ¼üî!üî!ûî!ûî!îþîÆn+—îþó{nQAîøæ‰ë¹mîìÃ9æ_dï_ê–ïOH;í£añGDï˜Ý ÷]žï¥$zfqï¥$zfqïm¥7v… ï6Xq¥iï6\ÓqËï*&¯ïXéïg˜Dó¹mïm¥7v… ûî!ûî!ùí!ùí!ðvºÈ®ïú!û²Tïíù÷Œ§&ïíù÷Œ§&ð1`ô“i[ðtоÊð·Ì¥eÔð·ÐÆ¥@*ðÊÞ) -ðîš 0Ãcð¥B['ð[øÊ#æðC¨Á Œð1`ô“i[ðtоœð ð€¼-Õ£ùí!ùí!÷í!÷í!ðîš 0ÃcðÊÞ) -ð·ÐÆ¥@*ð·Ì¥eÔðúã¯Øñ=qq¼qñ€=È_ñ€=È_ñ˜›;LØ•ñÉWŽV…ñ€uIÁŸñ7Ì;MñEä3‘_ðúç»®ã.ñ=qq¼qñO½ó@Ø÷í!÷í!õì"õì"ïíù÷Œ§&ïáÑò ›ùïթ톓&ïÉè…žðÍÔ ³†ðCÓ žíð€þDð“A.Òð¥ˆú!›ùð·Ì¥eÔðtоÊð1`ô“i[ð%8ð`‰ðõØŒ¼XðV7–hÇðbBñKðùí!ùí!÷í!÷í!ð·Ì¥eÔð¥ˆú!›ùð“A.Òð€þDð½ùù"Ä—ðúmR/ fñ7'J9¼ñO…t¾UòñgãC,)ñ€=È_ñ=qq¼qðúã¯ØðèŸî+>ýðÐAŦŽqñÆÆ³öœñ%H7šÌ÷í!÷í!õì"õì"ïÉè…žï½U.€|Ìï±-)ýoDï¥$zfqïÜ5þøûð͈(ðJ0Žªµð\s3tðnºÿ–>jð€þDðCÓ žíðÍÔ ³†ïú¡†¥þïè^ƒð%^š ñêð1‹TŽÕùí!ùí!÷í!÷í!ð€þDðnºÿ–>jð\s3tðJ0Žªµðì–… ð·d~¡ÏÉðødño­/ΛñÍÖ´¤Ññ7'J9¼ðúmR/ fð½ùù"Ä—ð«¶ážú½ð“X¸Næðϧ&¥ÿðâ)ªJ/÷í!÷í!õì"õì"ï¥$zfqï¥$zfqï˜Ý ÷]žï€ˆañGDﱞ(öC%ïâ_0ý¬}ð]lM&ð7èP …ðJ+gŽÐ_ðJ0Žªµð͈(ïÜ5þøûïÜ5þøûïÉòæüTÊðêj‘ð͈M¹ùí!ùí!÷í!÷í!ðJ0ŽªµðJ+gŽÐ_ð7èP …ð]lM&ðD'ß -@Ëðt`^,ð¤û¼uÂðÕ³Z&".ðødðødð·d~¡ÏÉðì–… ðì–ªµðh²Âú)ð¥ü+™ð·d~¡ÏÉ÷í!÷í!õì"õì"ñÉWŽV…ñ˜›;LØ•ñ€=È_ñ€=È_òŠ_6ü®7ód„K¾ôг¦’ôг¦’ôºœ?­¡õG²W»¿ô¼5æNÞòëÅò» i†S•òŠ_6ü®7ód„K¾ó¨ ÎCõì"õì"ìé$ìé$ñ€=È_ñgãC,)ñO…t¾Uòñ7'J9¼ò(ùeiZó±*ÿóù¿&‘fô)Ö±›˜uôYé‡'Ÿ„ôг¦’ód„K¾òŠ_6ü®7òr wØòAWî4þóF©=2 ó_Lù¿· õì"õì"ìé$ìé$ñ7'J9¼ñÍÖ´¤Ñño­/ΛðødñÇ“•Ö -£òœ°m—âóix†k|9ó™÷ƒHóɧœƒŠWóù¿&‘fó±*ÿò(ùeiZò›<äƒÜñßí ZàÙòÌÃB¢žðòåð“%#ðõì"õì"ìé$ìé$ðødðødðÕ³Z&".ð¤û¼uÂñf-ÄB¶ò#T|ÄòÙ6›Çg ó9e±ßu+óix†k|9óix†k|9òœ°m—âñÇ“•Ö -£ñÇ“•Ö -£ñ–åbLg òƒƒ”âòœ°m—âõì"õì"ìé$ìé$õG²W»¿ôºœ?­¡ôг¦’ôг¦’ö|ƒ:KøJ€8¶Ë«ùÉÒ 6\ùÉÒ 6\ú"—ÇÝIžúÔ#B+¹mù24æ‰Ô|÷=¥I:S—öÝzé"Eyö|ƒ:KøJ€8¶Ë«ø€©k;_÷ìé$ìé$×ã)×ã)ôг¦’ôYé‡'Ÿ„ô)Ö±›˜uóù¿&‘fõÁW—Ì!÷bËŠãÂÙø¿€Ð@eJùFŽ矌ùq KŽÕùÉÒ 6\øJ€8¶Ë«ö|ƒ:KöOi@÷3=õño"X(÷»‘HŠý÷ñºz‘hìé$ìé$×ã)×ã)óù¿&‘fóɧœƒŠWó™÷ƒHóix†k|9õ.c jö{ܺ÷µ*âJ»9ø ðŸñðÆøf»™+ø¿€Ð@eJ÷bËŠãÂÙõÁW—Ì!õ‘@ @ñõ3Eî¡yöÓÜš·ôK÷ -Í<ˆ—ìé$ìé$×ã)×ã)óix†k|9óix†k|9ó9e±ßu+òÙ6›Çg ôE/]óõ“b.=µíöªÙ¨ U'÷\e$£€ö÷µ*âJ»9÷µ*âJ»9ö{ܺõ.c jõ.c jô¥4Ev<öDíªŒ%¼ö{ܺìé$ìé$×ã)×ã)úÔ#B+¹mú"—ÇÝIžùÉÒ 6\ùÉÒ 6\ûIpµWÂü|°„ €W0ýLHò uÒ4ýLHò uÒ4ýÀAã Eº©þ¨3Æ -å‹“ýÅ—9Â-üüvžÍž_ûĆ#.ûIpµWÂü|°„ €W0üÝ¥V "]×ã)×ã)ÀÜ.ÀÜ.ùÉÒ 6\ùq KŽÕùFŽ矌ø¿€Ð@eJú'ö%û3ÉÏ ->…ûðbÔ ÔüdW ÖIüØP ¥é¾ýLHò uÒ4ü|°„ €W0ûIpµWÂúðT²€útí´DKhû§ÂÀ -mŽü·“ °sp×ã)×ã)ÀÜ.ÀÜ.ø¿€Ð@eJøf»™+ø ðŸñðÆ÷µ*âJ»9øï0Ç „ʉùêã -ü³ú”x –d)ûpò fLŸû|iã 65ûðbÔ Ôû3ÉÏ ->…ú'ö%ùÃb8õÖãùGö… ,Ëú^Ü -Ì›wú¿ÐÞ -nœ£×ã)×ã)ÀÜ.ÀÜ.÷µ*âJ»9÷µ*âJ»9÷\e$£€ööªÙ¨ U'÷Â9˜ -lƒìø¢ ºÜ5ù8- &ªÊú  Æ{´ú”x –d)ú”x –d)ùêã -ü³øï0Ç „ʉøï0Ç „ʉøsÅ ºó»ù‰îH Z­ ùêã -ü³×ã)×ã)ÀÜ.ÀÜ.þ¨3Æ -å‹“ýÀAã Eº©ýLHò uÒ4ýLHò uÒ4ý´sR peVþ3. uxÄþ7èq–4þ7èq–4þ·ßf“Bÿ©a6{·ÿoÚT ôÿé  öÿ…þ1÷¾ W.›ý´sR peVþ3. uxÄþƒ Z \8ŸÀÜ.ÀÜ.°Ø1°Ø1ÿ©a6{·þ·ßf“Bþ7èq–4þ7èq–4þRGǤëþfÊóÉþsbCÔ™þsbCÔ™þò+‰ü^OÿêCíS ÿÛÎZ<+ÿÆ${Ç­¿þÒ>^ëÂïþRGǤëþfÊóÉþå±rJK°Ø1°Ø1ªÖ2ªÖ2ÿêCíS þò+‰ü^OþsbCÔ™þsbCÔ™þ€©y˜µjþ‡V~ ,âþ‡[3§ƒfþ‡[3§ƒfÿé §ƒfÿÿÿÿ§~±ÿÿÿÿýÿø¼Q€nÊþþ×a†rRþ€©y˜µjþ‡V~ ,âÿé ²ªÖ2ªÖ2§Õ3§Õ3ýLHò uÒ4üØP ¥é¾üdW ÖIûðbÔ ÔüOº éË'ü–‡R ÖãJüÆoÈȰ°ý?5†°¢ý¿'h—Ÿžþ7èq–4þ3. uxÄý´sR peVý@za  |áüÂõö ¹³œý é ²ÎýŒÖ1 ™ôÀÜ.ÀÜ.°Ø1°Ø1þ7èq–4ý¿'h—Ÿžý?5†°¢üÆoÈȰ°üÞf^A—cüðpö»«füüq6Výx‘ì.Ð{ý÷V}Z0þsbCÔ™þfÊóÉþRGǤëýØPªÎýXYm/ŒËýkšÀ¯¤Výêõù–úÙ°Ø1°Ø1ªÖ2ªÖ2þsbCÔ™ý÷V}Z0ýx‘ì.Ð{üüq6Vý– ±¾ý¬ý,FÇý¶h§ˆýŒD>§ˆþ Ò§ˆþ‡[3§ƒfþ‡V~ ,âþ€©y˜µjþ·›¹ˆý…‰­üŸýŒ:Ó,Bþ È© ,âªÖ2ªÖ2§Õ3§Õ3ûðbÔ Ôû|iã 65ûpò fLŸú”x –d)úé‹m c0øû)à,8IûT÷ ÆwûͼÞù½ üM®ÀàºüÆoÈȰ°ü–‡R ÖãJüOº éË'ûÛÉ â²û]„^ 3mû =)8 ü *U úóÅÀÜ.ÀÜ.°Ø1°Ø1üÆoÈȰ°üM®ÀàºûͼÞù½ ûT÷ Æwûj„õ~‰ÚûzÂ)ìcû… žZ׋ü±SQôü€uª=Û©üüq6Vüðpö»«füÞf^A—cüdnšSFûä|¹lBûõëóà[ôüuKáDzv°Ø1°Ø1ªÖ2ªÖ2üüq6Vü€uª=Û©ü±SQôû… žZ׋ûÉLû–}8[÷û–œ§ŒÑüŸr§ŒÑü‘-H§ŒÑý¶h§ˆý¬ý,FÇý– ±¾ü‹Ÿs´Ýü v@ÆGôüŒ8[÷ü‘(,FǪÖ2ªÖ2§Õ3§Õ3ú”x –d)ú”x –d)ú  Æ{´ù8- &ªÊù„ Ü–Éù½4Q™³¡ùã~xZàóúÕ?*ÉhûT÷ ÆwûT÷ Æwû)à,8Iúé‹m c0øúé‹m c0øúl |bþú©óQöû)à,8IÀÜ.ÀÜ.°Ø1°Ø1ûT÷ ÆwûT÷ ÆwúÕ?*Éhùã~xZàóùö£Œ»|Rú]¡ú¿ËYûÜ pMÕû… žZ׋û… žZ׋ûzÂ)ìcûj„õ~‰Úûj„õ~‰ÚúêŽ^—g"úûb; ûzÂ)ìc°Ø1°Ø1ªÖ2ªÖ2û… žZ׋û… žZ׋ûÜ pMÕú¿ËYúl:á—gúUGDuÜúlѧ‘†ûˆ|§‘†û–œ§ŒÑû–œ§ŒÑû–}8[÷ûÉLûÉLûUßÛ)ûpòDq'û–}8[÷ªÖ2ªÖ2§Õ3§Õ3ÿÿÿÿ§~±ÿé §ƒfþ‡[3§ƒfþ‡[3§ƒfþ‡[3§©þ‡[3§Êþ‡[3§ï¯þ‡[3§ï¯ÿé §ï¯ÿÿÿÿ§ôdÿÿÿÿ§Îºÿÿÿÿ§©ÿé §©þ‡[3§©þ‡[3§Êÿé §Ê§Õ3§Õ3§Õ3§Õ3þ‡[3§ƒfþ Ò§ˆýŒD>§ˆý¶h§ˆý¶h§©ý¶h§Êý¶h§êúýŒD>§êúþ Ò§ï¯þ‡[3§ï¯þ‡[3§Êþ‡[3§©þ Ò§©ýŒD>§©ýŒD>§Êþ ҧʧÕ3§Õ3§Õ3§Õ3ý¶h§ˆü‘-H§ŒÑüŸr§ŒÑû–œ§ŒÑû–œ§­Åû–œ§Êû–œ§æEüŸr§æEü‘-H§êúý¶h§êúý¶h§Êý¶h§©ü‘-H§­ÅüŸr§©üŸr§Êü‘-H§Ê§Õ3§Õ3§Õ3§Õ3û–œ§ŒÑû–œ§ŒÑûˆ|§‘†úlѧ‘†úlѧ­ÅúlѧÅPúlѧáûˆ|§æEû–œ§æEû–œ§æEû–œ§Êû–œ§­Åû–œ§­Åûˆ|§©ûˆ|§Êû–œ§Ê§Õ3§Õ3§Õ3§Õ3ÿÿÿÿ§ôdÿé §ï¯þ‡[3§ï¯þ‡[3§ï¯þ‡V~/F3þ€©y¶½¬þsbC=ž|þsbC=ž|þò+‰SÆÿêCbõÿø¼QÏ ÿÿÿÿ;`ÿé ;[cþ‡V~/F3þ€©y¶½¬þþ×aÉçÕ3§Õ3¤Ô4¤Ô4ÿêCbõþò+‰SÆþsbC=ž|þsbC=ž|þfÃÄ„þRGÇJÒßþ7èqÏá—þ7èqÏá—þ·ßèßÓÿ©aüÿÆ${‡ÅWÿÛÎõ;Ÿþå±Ý-þfÃÄ„þRGÇJÒßþÒ>^c°'¤Ô4¤Ô4Ò5Ò5ÿ©aüþ·ßèßÓþ7èqÏá—þ7èqÏá—þ3.ÙúQý´sRß ¿ýLHòÙ âýLHòÙ âýÀAã ¸lþ¨3Æiì7ÿé XsÿoÚT;d×þƒ Zó?,þ3.ÙúQý´sRß ¿þ1÷¾øDzÒ5Ò5Î8Î8þ‡[3§ï¯þ Ò§ï¯ýŒD>§êúý¶h§êúý¬ý#1ý– žrWüüqýx‘ì ¢šý÷V}6åþsbC=ž|þ€©y¶½¬þ‡V~/F3þ È©/F3ýŒ:Ó#1ý…‰¡vvþ·³¹§Õ3§Õ3¤Ô4¤Ô4þsbC=ž|ý÷V}6åýx‘ì ¢šüüqüðpö“ÌdüÞf^ àhüÆoȆÇý?5†žÕ:ý¿'h·Ówþ7èqÏá—þRGÇJÒßþfÃÄ„ýêõù¸|òýkšÀŸÓtýXYmëýØP8ÈG¤Ô4¤Ô4Ò5Ò5þ7èqÏá—ý¿'h·Ówý?5†žÕ:üÆoȆÇü–‡Rx”€üNýe¬£ûð^IZAüdWyqÌüØP©‰WýLHòÙ âý´sRß ¿þ3.ÙúQýŒÖ1µéÖý 霤ûüÂõö•Ä.ý@za®ö4Ò5Ò5Î8Î8ý¶h§êúü‘-H§êúüŸr§æEû–œ§æEû–}û†'û… žô ?ü±ü!!ü€uªœ!üüqý– žrWý¬ý#1ü‘(#,NüŒü v@‰+"ü‹Ÿs›n9§Õ3§Õ3¤Ô4¤Ô4üüqü€uªœ!ü±ü!!û… žô ?ûzÂ)cÇûj„õÐíðûT÷ =¬žûͼÞUº¾üM®Àn¸úüÆoȆÇüÞf^ àhüðpö“ÌdüuKá‡ÅTûõëóo×ûä|¹âøˆüdnšûÕФÔ4¤Ô4Ò5Ò5üÆoȆÇüM®Àn¸úûͼÞUº¾ûT÷ =¬žû)à,)úúé‹mìFÒú”x¹¡ûpòé+,û|iãB·ûð^IZAüNýe¬£ü–‡Rx”€ü *UTPû =);?*û]„^^]ûÛÉ5cÒ5Ò5Î8Î8û–œ§æEû–œ§æEûˆ|§æEúlѧáúUG -ý9úl:màdú¿ËÐÆûÜ ß%@û… žô ?û… žô ?û†'û–}û–}ûpò îûUßsãìû†'§Õ3§Õ3¤Ô4¤Ô4û… žô ?û… žô ?ûÜ ß%@ú¿ËÐÆú]2])ùö£Œ“ûyùã~xô’"úÕ?$©­ûT÷ =¬žûT÷ =¬žûj„õÐíðûzÂ)cÇûzÂ)cÇúûb;JkIúêŽ^¸ óûj„õÐíð¤Ô4¤Ô4Ò5Ò5ûT÷ =¬žûT÷ =¬žúÕ?$©­ùã~xô’"ù½4QµÄ*ù„ráù8-(ÈLú ˆüú”x¹¡ú”x¹¡úé‹mìFÒû)à,)úû)à,)úú©óýéÔúlÓúé‹mìFÒÒ5Ò5Î8Î8þ¨3Æiì7ýÀAã ¸lýLHòÙ âýLHòÙ âü|°„ÏæûIpšSùÉÒ hoùÉÒ hoú"—Çr.,úÔ#B#¹¨üvžÔ¶ýÅ—9IÏüÝ¥V-ü|°„ÏæûIpšSûĆ#ÐI;Î8Î8rÆ>rÆ>ýLHòÙ âüØP©‰WüdWyqÌûð^IZAû3ÉÏíýú#A²aðø¿|€ùAØgØ>ùq KÀüùÉÒ hoûIpšSü|°„Ïæü·“Ÿ[û§ÂÀA -=útí´ ,cúðT²AU•Î8Î8rÆ>rÆ>ûð^IZAû|iãB·ûpòé+,ú”x¹¡ùêãRÄÉøï0ÇÊ­B÷µ*â¼’ø ðŸ]‚Pøf¶]¶H ø¿|€ú#A²aðû3ÉÏíýú¿ÐÞàÖrú^Ü ‚ÜSùGö…#sùÃ]ƒYœ2Î8Î8rÆ>rÆ>ú”x¹¡ú”x¹¡ú ˆüù8-(ÈLø¢”–à÷Â9˜âóßöªÙ¨úf£÷\e$«ò÷µ*â¼’÷µ*â¼’øï0ÇÊ­BùêãRÄÉùêãRÄÉù‰îHôÅõøsÅ”Zøï0ÇÊ­BÎ8Î8rÆ>rÆ>úÔ#B#¹¨ú"—Çr.,ùÉÒ hoùÉÒ hoù -&ÆÙ -Gø7“¤…¿‹÷V7<z²÷V7<z²÷žàºˆºBø'¾ Uxñùñ -Lú)ºô®{ùQž>C#ù -&ÆÙ -Gø7“¤…¿‹ø€YañâÜrÆ>rÆ>`ÁB`ÁBø'¾ Uxñ÷žàºˆºB÷V7<z²÷V7<z²öå¾gÜúöq-9­¿Žõù¢ìí¿õù¢ìí¿ö>® ZSÝö«u!9Æ¢÷-ç3 óíx÷¬Ö# §²ž÷.)Ô%õöå¾gÜúöq-9­¿Žö¹a ’Õ`ÁB`ÁBY¿CY¿Cö«u!9Æ¢ö>® ZSÝõù¢ìí¿õù¢ìí¿õ‚ž -ÄEõ_Ò gëôŠ ›ÌƒôŠ ›Ìƒôºœ!ÅtõBü!÷¼ õ£!¿Žö)Ž!ŸËõÃÅ ›æõ‚ž -ÄEõ_Ò gëõBñ/ × «Y¿CY¿CV¾DV¾DùÉÒ hoùq KÀüùAØgØ>ø¿|€ø#Ò½a^÷Q™„Zpö„µ+ã(öÉ#ÏIÞ%÷Ș¶µ÷V7<z²ø7“¤…¿‹ù -&ÆÙ -Gø±a€?Ôøié'÷ 3µºÎ÷èùs&+ÔrÆ>rÆ>`ÁB`ÁB÷V7<z²÷Ș¶µöÉ#ÏIÞ%ö„µ+ã(ö@¤(Wõ´s@gŒïõGÌ¡½1õ~@£v“õÃ.e~-õù¢ìí¿öq-9­¿Žöå¾gÜúö¦2†þKö]—'‘Ðõî¶WÔ¼›ö6ê"@â`ÁB`ÁBY¿CY¿Cõù¢ìí¿õÃ.e~-õ~@£v“õGÌ¡½1ôÛ$øÛè¾ôk¤¾öóùºq?á¯ô)Ñü³Ú ôYé‡ 'Ó’ôŠ ›Ìƒõ_Ò gëõ‚ž -ÄEõOw]»|wõ Æ9N0‹ô›» „·çô×HHóò+Y¿CY¿CV¾DV¾Dø¿|€øf¶]¶H ø ðŸ]‚P÷µ*â¼’÷ ß¡¸uökŸe/%Võ³.eª‚éõ÷ ä›ö@F‡}vö„µ+ã(÷Q™„Zpø#Ò½a^÷¸^d› ÷pæú‚èöº9–޹÷ÿSúÜ^rÆ>rÆ>`ÁB`ÁBö„µ+ã(ö@F‡}võ÷ ä›õ³.eª‚éõVóŠè1³ô÷½û!_ô•úU¶ôÌiÓÅo€õ\K2ÏõGÌ¡½1õ´s@gŒïö@¤(WõÞål¾C]õ–NÃQúbõ2މûõz4Ýúaø`ÁB`ÁBY¿CY¿CõGÌ¡½1õ\K2ÏôÌiÓÅo€ô•úU¶ô46Š 8óÏ㣹’Ðóix†ãöÜó™WïÍóɧœËè¾óùºq?á¯ôk¤¾öôÛ$øÛè¾ô¨ƒ¸i¥¦ôf×HüUóÿû.-‹Áô;ŒŠœÆY¿CY¿CV¾DV¾D÷µ*â¼’÷µ*â¼’÷\e$«òöªÙ¨úf£öë†Aõ…©úÚ•ôá§žq‰`õj„ç>Hõ³.eª‚éõ³.eª‚éökŸe/%V÷ ß¡¸u÷ ß¡¸uöЩg7Ÿ¼ö"Þ\ÃökŸe/%VrÆ>rÆ>`ÁB`ÁBõ³.eª‚éõ³.eª‚éõj„ç>Hôá§žq‰`ô¦p¨\ô;Û,eóä'ç ¯ ôQŠé!Ïô•úU¶ô•úU¶ô÷½û!_õVóŠè1³õVóŠè1³õX,{è¹ô¯Š1µ‡ô÷½û!_`ÁB`ÁBY¿CY¿Cô•úU¶ô•úU¶ôQŠé!Ïóä'ç ¯ óG81²ó4'æbk^òÙ6›ˆ ó9`ûoýëóix†ãöÜóix†ãöÜóÏ㣹’Ðô46Š 8ô46Š 8óò‰™ÁLó”VûJ]AóÏ㣹’ÐY¿CY¿CV¾DV¾DõBü!÷¼ ôºœ!ÅtôŠ ›ÌƒôŠ ›ÌƒôŠ ›Ìƒôjr ¨D‘ô+]v Á+Cô+~k Á¸ôX²Ë!6Ú ô²ú™" éô÷Õ†"XõBü!÷¼ ôºœ!ÅtôŠ ›Ìƒôj“ ¨ÑÏô¹!¢%V¾DV¾DV¾DV¾Dô²ú™" éôX²Ë!6Ú ô+~k Á¸ô+]v Á+Cô Ît ÍžœóäŠÆ Ý£Qó´ í;¾ó´RF îdYóÝâv!dØàô0Å "P¢¾ôe "?~Øôˆm".½ô6@ !Dl—ô ïh Î0óäÇú ÞÇ7ô½c!S´úV¾DV¾DU¾DU¾Dô0Å "P¢¾óÝâv!dØàó´RF îdYó´ í;¾ó›ý‡ õfóà þ9úóeÁ€!À¿óf‰! 9có=­!€ÇóÛJ "m•5óùü["c1)ôy"YŽ%óÕô!mÄGóœ:¼ öŠó‚+n ÿ²Ÿó«ê²!v¼U¾DU¾DU¾DU¾DóÛJ "m•5ó=­!€Çóf‰! 9cóeÁ€!À¿óI!÷zó+ÀR!*­ó -ñ*!$Øàó Eé!&¡Žó/«"!žËîóx Ö"N—ó›ê²"ƒ¾gó¼["w¤‚ónth!Š‘óIÛd!pó,!ó[óStþ!•7 -U¾DU¾DT½DT½Dóx Ö"N—ó/«"!žËîó Eé!&¡Žó -ñ*!$ØàòêQ!."pòǦl!7ýóò¢ñ)!Bkjò£OR!DlòÄŠÃ!½~óžÆ"­£Vó.±›"¢×!YËWòBÿH!^»òb‰•!ש6R½ER½ER½ER½Eò‡£"·òL ¤!Ý «ò.a!c }ò.f!`Èfòµ!!jJuñÙRØ!tFîñ«áC!~„ñ¬6!&ñÅç&!ü ºñøïú"ïlò*ŽJ"äòYäÍ"Ù!Ýòóƒ!çlòJ!l’BñÙ¬L!vªùñ÷…u!ðžR½ER½EP¼EP¼Eñøïú"ïlñÅç&!ü ºñ¬6!&ñ«áC!~„ñ~N¹!ˆ¢¼ñN¤!#žñÁ!™cÄñiÊ!›Ãñ1ºk"z"ñ\W# ’Eñ’¥Ó#‚øñÇ5k"ú.9ñ”,—"Ç:ñ~¨-!‹ÈñNjø!’~@ñhOæ" oŠP¼EP¼EM»FM»Fñ\W# ’Eñ1ºk"z"ñiÊ!›ÃñÁ!™cÄðSÀK!»1ïgÜ!Ö{æîXK*!ÖФîXK*!ÖФîXK*"TYÅîXK*#OupïH;#O ±ðx#1ÔÆðWÞ"<¼£ðT Ÿ!½ÛÓïgÜ!Ö{æïH;"TM»FM»F9µJ9µJôŠ ›ÌƒôYé‡ 'Ó’ô)Ñü³Ú óùºq?á¯óùºq?á¯óÝNK1"󣻞aËSóÐïÿÖìßóþ) Llô+]v Á+Côjr ¨D‘ôŠ ›ÌƒôYé‡ 'Ó’ô)Ñü³Ú ô -G¯ÀR¯ô==® 3#V¾DV¾DV¾DV¾Dô+]v Á+Cóþ) LlóÐïÿÖìß󣻞aËSó‡{m{ócpI{ÇËó7_ΉԽó`ô³ MúóŠ„â vÇ7ó´ í;¾óäŠÆ Ý£Qô Ît ÍžœóÞš XÅó´HÜâAóxòAóºú– g*V¾DV¾DU¾DU¾Dó´ í;¾óŠ„â vÇ7ó`ô³ Múó7_ΉԽó!};‘>ó ÃÙ™BËòð=¡ç“ói8 /÷ó>•\ x[óeÁ€!À¿óà þ9úó›ý‡ õfórh£ ~ìáóK j ·Ró0ô² ‹/óZ³ö †öKU¾DU¾DU¾DU¾DóeÁ€!À¿ó>•\ x[ói8 /÷òð=¡ç“òÖšªE¼ò»‘<´›¨ò¼É¼c)òÂ" 4ˆÔòæ‡; ¬³5ó -ñ*!$Øàó+ÀR!*­óI!÷zó"_7 ™¯òýÊé !Ž òßû+ ,ÁSó[ ¤U¾DU¾DT½DT½Dó -ñ*!$Øàòæ‡; ¬³5òÂ" 4ˆÔò¼É¼c)ò€jÄʽò`–‡Í¿Žò?>××83ò`zH PIEòµ¸ ÉZXò¢ñ)!BkjòǦl!7ýóòêQ!."pòÅç( µøò¤|£ <õòÑø FСò¦jû ¾è,T½DT½DS½ES½Eò¢ñ)!Bkjòµ¸ ÉZXò`zH PIEò?>××83ò.•ZÛò+òqsàÑÍò ×ÙåÍ®ò+T _Y)òJÔé ØßïòjQ!Rkjò}³^!Lðkò‘Ò!G›òoVb ΊòOÌ U=ò<í  ZX“ò^71 Ói¥S½ES½ER½ER½EòjQ!RkjòJÔé Øßïò+T _Y)ò ×ÙåÍ®ñú+kêŒ[ñç©îQ‚ñÕ*òÉñò¯> lʾòYR æÇ8ò.f!`ÈfòB¡![Ú¤òVà®!WŸËò7_Ì ÞPò¬M dÖòl¾ hR°ò$÷ áÙvR½ER½ER½ER½Eò.f!`ÈfòYR æÇ8ñò¯> lʾñÕ*òÉñ¯€¿ûs ñˆg ‰ñ^Í× Nñx~û ˆ÷yñ’0!Ú¤ñ«áC!~„ñÙRØ!tFîòµ!!jJuñç ðMüñÍ*Ô ut<ñ¡È‹ p´ñ¿¡´ ùcÃR½ER½EP¼EP¼Eñ«áC!~„ñ’0!Ú¤ñx~û ˆ÷yñ^Í× Nñ5h ?ñ ”À ¿ðÜ'à &9øðñx€ ¡ññÉ!!¬¼ñÁ!™cÄñN¤!#žñ~N¹!ˆ¢¼ñd•! ºÜñO+ ‘újñå` ™v—ñ8ÊN!gáP¼EP¼EM»FM»FñÁ!™cÄñÉ!!¬¼ðñx€ ¡ñðÜ'à &9øð& Ì E-œïNø1 ]×îXK* ^+ÙîXK* Û´ùîXK*!YBÏîXK*!ÖФïgÜ!Ö{æðSÀK!»1ð>o«!?Åtð;]l ÀéYïNø1 Û`:ïgÜ!XîM»FM»F9µJ9µJóùºq?á¯óɧœËè¾ó™WïÍóix†ãöÜóix†ãöÜóO¯Øî³ó{kbóIRÜwŒïóv‡=ì©Æó£»žaËSóÝNK1"óùºq?á¯óɧœËè¾ó™WïÍó|ä9c?@ó¯ÞíÖ–V¾DV¾DV¾DV¾D󣻞aËSóv‡=ì©ÆóIRÜwŒïó{kbóZ‚  YòâZìDòº¯@&m½òä?oœæúó ÏŸ`6ó7_ΉԽócpI{ÇËó‡{m{óYàø£ó/ŽãÁæó ê±eó9àNŽV¾DV¾DU¾DU¾Dó7_ΉԽó ÏŸ`6òä?oœæúòº¯@&m½ò¦üî- ò‘¬N4PPòz³ô<ò¡à³[€òÉ <*£äòð=¡ç“ó ÃÙ™BËó!};‘>ò÷í ÄÙòБÓ£Jò¸Ør«“ÿòâ—¶!ÿU¾DU¾DU¾DU¾Dòð=¡ç“òÉ <*£äò¡à³[€òz³ô<òc¨ÆC˜³òKfÜM £ò0ˆgSè½òTí ÌòyWD8Éò¼É¼c)ò»‘<´›¨òÖšªE¼ò¯mí3 òŠÔéºáòoÌÅ2Nò—,××83ò`–‡Í¿Žò€jÄʽò[²0L¥ò:G«Ó¢òÆÉÜ’<ò?_ÌT©ÇT½DT½DS½ES½Eò?>××83òf^"lñüÇöåZñÛ‘:lGñÌ”+pIAñ½*Ót®zñ­Yèy4¨ñÌÚÊòÀ#ñìV÷lFéò ×ÙåÍ®òqsàÑÍò.•ZÛò+ò YébáñíÏœéZSñÜ«¶î9õñýð‘gFRS½ES½ER½ER½Eò ×ÙåÍ®ñìV÷lFéñÌÚÊòÀ#ñ­Yèy4¨ñzÝ}}¢ñŒä4€Íñ| ¢„Ïoñ™µ¶þËèñ·_ËxÍñÕ*òÉñç©îQ‚ñú+kêŒ[ñÚ¯>q–ñ¼÷ -÷gñªŽHúÉŽñÊ•tU R½ER½ER½ER½EñÕ*òÉñ·_ËxÍñ™µ¶þËèñ| ¢„ÏoñZL^Œ [ñ6Ûö”Ïoñºjfñ+kŽMøñE³“1#ñ^Í× Nñˆg ‰ñ¯€¿ûs ñ‘Ö«v”ñwörœÔñP·OñnfC‰ª^R½ER½EP¼EP¼Eñ^Í× NñE³“1#ñ+kŽMøñºjfðìT¥‹ÂðÅ Ü«[€ðœ1J³ wð±ê.Ç4ðÆÒ‹ª~;ðÜ'à &9øñ ”À ¿ñ5h ?ñ¶âœ/_ñ2x níðÚZ}'=ðôD ¢ÒP¼EP¼EM»FM»FðÜ'à &9øðÆÒ‹ª~;ð±ê.Ç4ðœ1J³ wïøYMÎÞ½ï6ÍÒå2NîXK*å‡ îXK*c.îXK*àžîXK* ^+ÙïNø1 ]×ð& Ì E-œð¼,Év•ð ©îJ•Åï6ÍÒb»oïNø1àIDM»FM»F9µJ9µJóix†ãöÜóix†ãöÜó9`ûoýëòÙ6›ˆ òÙ6›ˆ òÂLa‘ -Dò”|££ ròîÉ%Œ¼˜óý†Þ$ó{kbóO¯Øî³óix†ãöÜóix†ãöÜó9`ûoýëó˜äz»jóOŽãíuV¾DV¾DV¾DV¾Dó{kbóý†Þ$òîÉ%Œ¼˜ò”|££ rò} ‰¬!8òa@¸¾ò=ùüýòáܮЛòºr %I×òº¯@&m½òâZìDóZ‚  Yó>B ò×í •×ò´'ä£ÚœòâMÈ^V¾DV¾DU¾DU¾Dòº¯@&m½òºr %I×òáܮЛò=ùüýò,WÈò»ò ÏY!ò*ÔÖ>¥òS<}ÃRòzmV:šwòz³ô<ò‘¬N4PPò¦üî- ò¦Äo+ò'òi7´¼˜òg¡¶¼lò‘e¯2ÒöU¾DU¾DU¾DU¾Dòz³ô<òzmV:šwòS<}ÃRò*ÔÖ>¥ñð·{ÜæöñÛ<{åxéñÃTësò ÎoÙõ®ò03¨R ò0ˆgSè½òKfÜM £òc¨ÆC˜³òcb'B ò>É$Éÿò#¶åÔFòKÒK?@U¾DU¾DT½DT½Dò0ˆgSè½ò03¨R ò ÎoÙõ®ñÃTësñ«¨Äò$Áñ’€(ùBÄñwÞèÈ\ñ¹üVðÛ3ñÛ7ÆiìEñÛ‘:lGñù‹Xc)òݼ[w¿ò³Y¯ñô#-à¬ñÔ–éUœñù6™am'T½DT½DS½ES½EñÛ‘:lGñÛ7ÆiìEñ¹üVðÛ3ñwÞèÈ\ñj’ý Wñ\èéÝñNଠ›¢ñ„Gý}¡ñ­)wfñ­Yèy4¨ñ½*Ót®zñÌ”+pIAñÌ:·n5?ñ¬°kô³.ñ›Œ„ùqÛñ¼Ör~8S½ES½ER½ER½Eñ­Yèy4¨ñ­)wfñ„Gý}¡ñNଠ›¢ñ@Å™nèñ2¿H§ñ# eÕNñ^ φtñ{¶ã‚‡£ñ| ¢„ÏoñŒä4€ÍñzÝ}}¢ñ!i{M`ñi5L1ñmsùÍñŒu~…HR½ER½ER½ER½Eñ| ¢„Ïoñ{¶ã‚‡£ñ^ φtñ# eÕNñýÈóðå …% ðÄ«³,¼—ð÷½ò áño› ñºjfñ6Ûö”ÏoñZL^Œ [ñY÷ŸŠSÙñ@±zñ²ÄxUñ6‹í’kdR½ER½EP¼EP¼Eñºjfño› ð÷½ò áðÄ«³,¼—𣚢3ûð€~ù8ü&ð\:´?á«ð†žÀ4õð›ï`°¬ ðœ1J³ wðÅ Ü«[€ðìT¥‹Âðì6£#ðÖ±–'bðªã.”ðÄÇó¨ü)P¼EP¼EM»FM»Fðœ1J³ wð›ï`°¬ ð†žÀ4õð\:´?á«ïÊ¡X‹(ï¨'lƒîXK*lâBîXK*gù8îXK*å‡ îXK*å‡ ï6ÍÒå2NïøYMÎÞ½ïødÌfïõ%Mž–ï¨'g¤yï6ÍÒå2NM»FM»F9µJ9µJ -endstream endobj 62 0 obj <>stream -ÿÿÿÿ]ÿÿÿÿUo;ÿÿÿÿñy;ÿÿÿÿñy;þPwöñ=@ü½ œeµû\È’jûPJþ%7¢û,LÞ‚z£úðÊr,19üqBeÀ¨þ)ñS0 þ)ñSUB@þPwöñ=@ü°“u­3Bü¬Áñ÷9µJ9µJcÁAcÁAúðÊr,19û,LÞ‚z£ûPJþ%7¢û\È’jùû¾’ÚøÎ-ôÐQ¹÷ÓA{˜ô÷¿©Ñº8÷€3EföZ÷á•ìO9ø&iïÊùn²g˜ÞJùª1ï'´ùî„*ž`gøº–JåtÞø‘»ŸEFcÁAcÁA~É<~É<÷á•ìO9÷€3EföZ÷¿©Ñº8÷ÓA{˜ô÷W!œÙîöæ6µ2 rö·âÄݯölåVÙR„ö#A}ííõ¤Ð¯êöc¾ öT‹{CÓöø¦;õêô÷Cj¸±û3öÑd)F€GöÔw“ü#~É<~É<ˆÌ:ˆÌ:õ¤Ð¯êö#A}ííölåVÙR„ö·âÄݯöhH„©ßöQóz€ö92rIMö$&(†`kõØPÇ‚OõUŒÇ5©[õo¤ÕSWÓõ‰²r7ÍöÖÿw°öSy¸¾Sìö<¨¡‘žõòkÑå.çˆÌ:ˆÌ:ŠÌ9ŠÌ9õUŒÇ5©[õØPÇ‚Oö$&(†`kö92rIMö-6Žd’¶ö!léVð½ö¶IccöÌø]Gåõ³èî)Hõ/ £ Šõ;αѧõH¢}&²BõËiz¸‹6öM„x«´ö ƒßjÕ@õÀ©ü«óeŠÌ9ŠÌ9ŠÌ9ŠÌ9õ/ £ Šõ³èî)HöÌø]Gåö¶Iccö á;ðFõÿaZ-ƒàõôD%¾Jõß[3h²õ‘tir sõ -ˆÛ¢Ìõ¨mê¨ãõ".˜úUËõ§ ãŽu©õôøOÒèõêxPA.Hõ†ŠŠÌ9ŠÌ9‹Í9‹Í9õ -ˆÛ¢Ìõ‘tir sõß[3h²õôD%¾JõÞgrägõÈÊyè^Üõ³pùÍ/ˆõžžmà`õNÁjØôÃáp”¾ôÛ&Ÿ=–ôòµŒ½BEõy¥S© õÉ~hŽÏõ³ô-ûoõfü:(ЋÍ9‹Í9Í9Í9ôÃáp”¾õNÁjØõžžmà`õ³pùÍ/ˆõž–î±¢~õ‹Q¼•jãõwœz ´õbëFŒ´tõ=oÆU-ô‚’&ð¾ô˜ - DÎô­#Òcˆõ8ÌþsÊõ‰À¢ÄÓõv í¨£õ&´ìä2€Í9Í9Î8Î8ô‚’&ð¾õ=oÆU-õbëFŒ´tõwœz ´õOyCÊ*õ-@ ‰Ñõ -uÒÕ·½ôöH6ç1¹ô¡Nî×éô ‰ùs¬-ô1d,®qJôVëèë¯ìôå–Ç‹[õ:Ì Vqëõ3ÍôÇ)!VžæÎ8Î8‘Î8‘Î8ô ‰ùs¬-ô¡Nî×éôöH6ç1¹õ -uÒÕ·½ôø§}» }ôé¿cŸ\ôÙòž„3!ôÆú•-ôo«Ç6¹óÖ–ðÀ£óçÓ8£óø2 Vˆhôöþþ¶ôäyâ̇yôÕ뿯ðHô€ãx䔘‘Î8‘Î8“Ï7“Ï7óÖ–ðÀ£ôo«Ç6¹ôÆú•-ôÙòž„3!ôÊiSiëô»CNlLô«û®4eô˜@DBÀô@¸üsÿF󤂢ÃO¶ó´øàDóÅ©†ý3éô^½¬©«Þô¶•¯yö×ô§©Õ^˜¨ôQ21¿´“Ï7“Ï7”Ï7”Ï7󤂢ÃO¶ô@¸üsÿFô˜@DBÀô«û®4eôeDýû7ôtš_ÉÖ[ô[Þñ–µôIgì¤Þòóï%cÏÏÌóMÕéAóhÎOcµó†E¸ˆWþô"Ò9Žô|öÖ'“ôb#ZØž˜ô -[J@”Ï7”Ï7–Ð7–Ð7óMÕéAóï%cÏÏÌôIgì¤Þòô[Þñ–µôP - {óiôDb%b3sô8ãxHÔôô&úæVçbóË¢÷€tó&×ëžHó3d~ÞMó@!ÌúdÍóâ7Y³KXô=“Š»¦ô2y’pDóØ/Š›-[–Ð7–Ð7—Ð6—Ð6ó&×ëžHóË¢÷€tô&úæVçbô8ãxHÔôô-·E/V˜ô!}*¾ÆôÌýgÆôÃì -†óªm1 /óFpI¡ó lM‹çŠó¡¦Ëäó¿lœc¬0ôγ=g&ô.J$¦ó´Ç\L«—Ð6—Ð6˜Ð6˜Ð6óFpI¡óªm1 /ôÃì -†ôÌýgÆôŠ!Ëÿóð:ɚʦóß`k óÏ[v÷¢óqIð˜ÊöòÅ,“Љûòל£™òí¢9`Gó”ýú%µóó7Øj¾óà5ɦ´(óƒ¹uÌ䓘Ð6˜Ð6™Ñ6™Ñ6òÅ,“ЉûóqIð˜ÊöóÏ[v÷¢óß`k óÏ9a;󿙘 ¬Yó°„‚ßáLó¡çaê_1óBj•ókò’8úò¢ Ÿi¨!ò³^?œ8#ó_{›dyó¿4aFù‚ó°üw*=óRh8û²™Ñ6™Ñ6šÑ6šÑ6ò’8úóBj•ókó¡çaê_1ó°„‚ßáLó£–x²k°ó— d†”Ló‹"C\]ó}ÿ¿ez‡ó^Ž ¡òi73©0òvR8×%>òƒðqÿÁó4LèÖSRó”ý¼ç´óŠž¯ñó*y”­¯šÑ6šÑ6›Ñ6›Ñ6òi73©0ó^Ž ¡ó}ÿ¿ez‡ó‹"C\]ó„¿ÝGYºó€[F2E”ó{‚z¾óo"ã&0öó?=ØÞòX$Md·™ò]u { ßòbUX’WóxôhÈów¡Pw?ósÿo:¸‰óRÿT@D›Ñ6›Ñ6œÑ5œÑ5òX$Md·™ó?=ØÞóo"ã&0öó{‚z¾óvÃì .îórÜõ -²ómŠJáOkóañ`éódþíòHâ;"ÁèòMÜÃ8L#òRñŠNH³óÓ;'iùójdU¡ãóf3üÖ×ó^Žu`œÑ5œÑ5œÑ5œÑ5òHâ;"Áèódþíóañ`éómŠJáOkóiöÍeód—áº<5ó`>‰§PüóUh®}Ïòóy¼‡Îò:rãr¸ò?)$ø(òCö± 5Îòûx|é_ -ó]k Õ\ŠóY¾%Ái òø0Ë×/>œÑ5œÑ5œÒ5œÒ5ò:rãr¸òóy¼‡ÎóUh®}Ïó`>‰§Püó\Íœ”8ÆóYol‰†óV#üoEóLíuÖ_òéϤˆ/gò/X ¦NTò2ö‰º<5ò6ªðΞLòï²—­³bóQ÷ ›cºóO\^ˆÉòímœHœÒ5œÒ5Ò5Ò5ò/X ¦NTòéϤˆ/góLíuÖ_óV#üoEóO§WJºjóIqì'ÕpóC‹:›Íó:öˆ «òØ*Œ2_ò4*ò!‰«XX£ò(IÉ~kòâ½`L$óE”IQIÍó@àú-D-òÞ”r?sùÒ5Ò5Ò5Ò5ò4*òØ*Œ2_ó:öˆ «óC‹:›Íó:úHôSó2–Q‡…xó-#ÔQÜ ó'f^UQMòÃær_ò«nëÇò–©q*ò¢©ë¡òέoÒ<Öó2iUÉ!1ó,ÕŠüòÉÐ䙈HÒ5Ò5žÒ5žÒ5ò«nëÇòÃær_ó'f^UQMó-#ÔQÜ ó) ö ó%{Líõó"hĬ]ófÆ›/ò»?Ì ÌñöøiÔúvñúO÷Vñþ4<4F†ò¿rÝ$]¤ó#P€ˆ˜ó" Üîò§ò¾•²øÍžÒ5žÒ5žÒ5žÒ5ñöøiÔúvò»?Ì ÌófÆ›/ó"hĬ]ó # œMfó Íz™ïó'ã_ªVó¢`‡ò¹±§bòñóZ€fëÈñôYh„Eçñô~å¨û¶ò¸Å}  -óÈœž>ó‘ñ{u;òº°€L'žÒ5žÒ5žÒ5žÒ5ñóZ€fëÈò¹±§bòó¢`‡ó'ã_ªVóÚC)ÉCó5R×Êó5R×Êó5R×Êò¹=rÙªññQqÝjññQqÝjññýá,7‰ò¸U(=ÈóTg*¦oó5R×Êò¹=rÙªžÒ5žÒ5žÒ5žÒ5ÿÿÿÿñy;ÿÿÿÿƒ:ÿÿÿÿ)‹ZÿÿÿÿÅ•Zþvþ™ÅJaýÛîx ýûÈÂòü¤Ñû¤ÄÒYåóû€Æ²·(ôû\È’jü½ œeµþPwöñ=@þPwöE`þvþ™)@aüäÝÎÕcþüá)?"´9µJ9µJcÁAcÁAû\È’jû€Æ²·(ôû¤ÄÒYåóûÈÂòü¤Ñú‡Q‚IJùuñùÖQø‘¡aàÎøR*ÕjÐø¸·Zò÷ÓA{˜ôøÎ-ôÐQ¹ùû¾’ÚúÿÞ0Q¹úcO7ߊlù6{l#Dsù ¤€ƒ—cÁAcÁA~É<~É<÷ÓA{˜ôø¸·ZòøR*ÕjÐø‘¡aàÎø ³ø¾n)÷º]XÄ÷^Ÿ«ú S÷ûÓ=¨¼öËWúD%ö·âÄݯöæ6µ2 r÷W!œÙî÷–xîO›ì÷áA+ ¬+÷pj@ ô-÷/ÚŽîp ~É<~É<ˆÌ:ˆÌ:ö·âÄݯöËWúD%÷ûÓ=¨¼÷^Ÿ«ú S÷GuWá†`÷2fÐÇ.÷‘œ®é?öлyð Dö„åU1)Hö92rIMöQóz€öhH„©ßö±ì]fC®öýÕ>%!Éöæ­½3öœÚLZ|ˆÌ:ˆÌ:ŠÌ9ŠÌ9ö92rIMö„åU1)Höлyð D÷‘œ®é?÷Æà¢s*÷ !–Óöüb!‰¿;ö¯~É žöbš  ‚ö¶Iccö!léVð½ö-6Žd’¶öy ²#r±öÅð¼ã“/öº*×Õñ6önPó[ŠÌ9ŠÌ9ŠÌ9ŠÌ9ö¶Iccöbš  ‚ö¯~É žöüb!‰¿;öñ—d}ŠÀöèHp^ÜöÝÿºc×éöI¢z©öB.—áŠõôD%¾JõÿaZ-ƒàö á;ðFöVÅ)üãö¤³Z½l#öš3–¯öMKÌîâÿŠÌ9ŠÌ9‹Í9‹Í9õôD%¾JöB.—áŠöI¢z©öÝÿºc×éöÊXJ†‰ö¶nð1‚ö£BÊSöS'?TìöMü‘ Ìõ³pùÍ/ˆõÈÊyè^ÜõÞgrägö,N$ÅA§ö|.ç‰)Iöf•­m£¾ö§|¬=‹Í9‹Í9Í9Í9õ³pùÍ/ˆöMü‘ ÌöS'?Tìö£BÊSö - -ÿ¾Lö~•­æÕöl¥›Í(ªö÷ÄÉcõÉIí@kûõwœz ´õ‹Q¼•jãõž–î±¢~õîp1u€Áö@-;àö,çÖ¨nõÜÿ”[ÈJÍ9Í9Î8Î8õwœz ´õÉIí@kûö÷ÄÉcöl¥›Í(ªöH - -›äiö)1h¤7ö aª7ÃLõ´hbli}õ_o¡Œõ -uÒÕ·½õ-@ ‰ÑõOyCÊ*õ¡&ð -'’õö\3Õ…!õÔéJgõ‚9×Öã¡Î8Î8‘Î8‘Î8õ -uÒÕ·½õ_o¡Œõ´hbli}ö aª7ÃLõùñ’‘õë¯sõõÝNLí£Àõ†ÚhÔ+õ0fƒR¶ôÙòž„3!ôé¿cŸ\ôø§}» }õM Å†gMõ¤#©T8Áõ•;Ž8F€õ@7lêБÎ8‘Î8“Ï7“Ï7ôÙòž„3!õ0fƒR¶õ†ÚhÔ+õÝNLí£ÀõÏ,àÕ îõÁ8o¼ÊTõ³t¹¤Ýõ[¤5Ô™™õÏñWÿô«û®4eô»CNlLôÊiSiëõ Ý86ñ`õx¸û±õB°Œ£^¶õ&áço9ÚôÎÜèžå‚”Ï7”Ï7–Ð7–Ð7ô[Þñ–µô¶%:k#üõgÃ@3#õj® BJõ_òNý€$õU\ æÖõJïÏ Ÿôï—÷¤±ô”?' ;âô8ãxHÔôôDb%b3sôP - {óiôªPVQõ¬(rÝôú²çôŸº9ša–Ð7–Ð7—Ð6—Ð6ô8ãxHÔôô”?' ;âôï—÷¤±õJïÏ Ÿõ@É:·ßlõ5Ž¡”#õ-RЇÌôÐÀ{°Òuôti¤×ôÌýgÆô!}*¾Æô-·E/V˜ô‰4½†ôåqJàx}ôÙ70ÇÞÌô}Ôðr>—Ð6—Ð6˜Ð6˜Ð6ôÌýgÆôti¤×ôÐÀ{°Òuõ-RЇÌõr:\¿·õÝ80ñ³ôù“§’Dô›‚y'e˜ô=qKI:Ìóß`k óð:ɚʦôŠ!Ëÿô`àø¤ÅVô¿cƒ -`ôªÌ -RÆæôNK÷x÷R˜Ð6˜Ð6™Ñ6™Ñ6óß`k ô=qKI:Ìô›‚y'e˜ôù“§’DôêãÈÙúšôܯ¯ÖôÎúæ‡&~ôo~¤º¸ôNÂMó°„‚ßáL󿙘 ¬YóÏ9a;ô-FÏ<¬ôŒÒšûÍîô}2ÑÍjHôdï™Ñ6™Ñ6šÑ6šÑ6ó°„‚ßáLôNÂMôo~¤º¸ôÎúæ‡&~ôÃ@?]מô·î6Zô­ T©³ôLhd):ÍóëÃtBËçó‹"C\]ó— d†”Ló£–x²k°ôD”×vôcÃs{kØôWM^O–Tó÷ÅTm2šÑ6šÑ6›Ñ6›Ñ6ó‹"C\]óëÃtBËçôLhd):Íô­ T©³ô§.!ü˜üô£E?éjIôžà¨ÖÄhô=ÀîlQóÜ£ó{‚z¾ó€[F2E”ó„¿ÝGYºóådÍ-È ôFŒð*ôB(Zóá{묛Ñ6›Ñ6œÑ5œÑ5ó{‚z¾óÜ£ô=ÀîlQôžà¨ÖÄhôš’Ä ô–W5±É@ô’6ŸÛô0¤þµ¬ƒóϤË}÷ómŠJáOkórÜõ -²óvÃì .îó×àÑñ‡ô9qëÛ¾ñô4ÉÛÇš´óÓ©6ß9=œÑ5œÑ5œÑ5œÑ5ómŠJáOkóϤË}÷ô0¤þµ¬ƒô’6ŸÛôŽ<ìÝôŠÝ|^Bô† -ük/?ô$+;óÂ-Z“Fýó`>‰§Püód—áº<5óiöÍeóÊ‘Q·¾ñô,ƒá£¾Qô( j!󯆲¦0WœÑ5œÑ5œÒ5œÒ5ó`>‰§PüóÂ-Z“Fýô$+;ô† -ük/?ô‚ôYÓ@ôèPHØ·ô|ó8=Æô®J”îó¸i\íõóV#üoEóYol‰†ó\Íœ”8Æó¾¼m€,çô!vmßô§[/ßó»´uo2_œÒ5œÒ5Ò5Ò5óV#üoEó¸i\íõô®J”îô|ó8=ÆôwåãôqZ-÷Tôkö®Ù"qô &òèL%ó¦W6÷sùóC‹:›ÍóIqì'ÕpóO§WJºjó±è¡8acô¿Ü)_ ôŠq{ðó¬A¨­œÒ5Ò5Ò5Ò5óC‹:›Íó¦W6÷sùô &òèL%ôkö®Ù"qôdU¦œIô\–Ÿe™ÆôWŸ×4Ëšóô#«>{Qó£¿H,éó-#ÔQÜ ó2–Q‡…xó:úHôSóÊ´Œô…é«rºóùtoI~ó–<}ÕÁÒ5Ò5žÒ5žÒ5ó-#ÔQÜ ó£¿H,éóô#«>{QôWŸ×4ËšôSç°ßpôP§~ÙtôMÛ´\eóê ݹË"ó†:y¿;Àó"hĬ]ó%{Líõó) ö óŒábTóðgÄ (óìÕÞó‰Iðç“8žÒ5žÒ5žÒ5žÒ5ó"hĬ]ó†:y¿;Àóê ݹË"ôMÛ´\eôKÇ3 ÷ôKÖ2píøôJõGXhäóçæZÕJóƒD]?Ðó'ã_ªVó Íz™ïó # œMfóƒñ°–Þ©óçôÏ•´óçåÑsX~ó„.x/ižÒ5žÒ5žÒ5žÒ5ó'ã_ªVóƒD]?ÐóçæZÕJôJõGXhäôI¶¥'ZþôI3Ô -ôI3Ô -óå!SÕêó-2×Êó5R×Êó5R×ÊóÚC)ÉCóʤ'^½óåÊ)Çdóå!SÕêó-2×ÊžÒ5žÒ5žÒ5žÒ5ÿÿÿÿÅ•ZÿÿÿÿaŸYÿÿÿÿý§yÿÿÿÿ™±yþ…<™WýTª’SÞ%ü4½RäÝ­ü¿2B ¯ûìÁŸaÐûÈÂòü¤ÑýÛîx ýþvþ™ÅJaþvþ™aT`þ…<ýOaý0¬r±Fý,ÚßÜ9µJ9µJcÁAcÁAûÈÂòü¤ÑûìÁŸaÐü¿2B ¯ü4½RäÝ­ûœ®výÛúµýÛ½ -ùPG5(¨ùŠ»‚fªøÑîϤ¬ø‘¡aàÎùuñùÖQú‡Q‚IJú«O6%IúÔ@ÜùÞ?q(ù,ùµh…ˆÊPcÁAcÁA~É<~É<ø‘¡aàÎøÑîϤ¬ùŠ»‚fªùPG5(¨øêeŽàDøá»ˆ¦ø;‡t/<ø÷ñãœrØa÷¨?öqê÷^Ÿ«ú S÷º]XÄø ³ø¾n)ø`*…q2øªòÁ-@føD=ãÌAø®1½[~É<~É<ˆÌ:ˆÌ:÷^Ÿ«ú S÷¨?öqê÷ñãœrØaø;‡t/<øø&¢*-©øÅî¿ÜøÇë‰1÷´=ä,©6÷hgÀmÉ:÷‘œ®é?÷2fÐÇ.÷GuWá†`÷‘/ê÷÷ÜþQ\É÷ÇïËBßà÷~<ô†})ˆÌ:ˆÌ:ŠÌ9ŠÌ9÷‘œ®é?÷hgÀmÉ:÷´=ä,©6øÇë‰1÷öZñàSž÷ì­Õ.é÷ã@Ê÷–*6 üv÷IF+IÝÙöüb!‰¿;÷ !–Ó÷Æà¢s*÷]aS%÷ª„Í!s£÷ŸÉL÷Sï+V.qŠÌ9ŠÌ9ŠÌ9ŠÌ9öüb!‰¿;÷IF+IÝÙ÷–*6 üv÷ã@Ê÷ÙIê¿%:÷ÐÓ5³9Ù÷Ç·§óg÷yÐÞæ”H÷+æl%7öÝÿºc×éöèHp^Üöñ—d}ŠÀ÷>{n=©]÷Œeàÿ÷‚ìƒñÚ¹÷6º1¼ŠÌ9ŠÌ9‹Í9‹Í9öÝÿºc×é÷+æl%7÷yÐÞæ”H÷Ç·§óg÷µË>‘(ª÷¤hz¥'÷’“Ìde÷Bºˆ †Ùöò݆ܨ–ö£BÊSö¶nð1‚öÊXJ†‰÷ - å¨÷gàÍÏËk÷T:$¶Æã÷Kóõ`E‹Í9‹Í9Í9Í9ö£BÊSöò݆ܨ–÷Bºˆ †Ù÷’“Ìde÷yfMØ:÷qÝ]6¢§÷a¯! D ÷JYåYö¾Ss“‡ñöl¥›Í(ªö~•­æÕö - -ÿ¾LößãMÜ÷1 #‰ù÷÷ /†pC`öÐC„¬eÍ9Í9Î8Î8öl¥›Í(ªö¾Ss“‡ñ÷JYåY÷a¯! D ÷@—<óþ§÷$õ“ż¾÷Mƒ™ÎÜö³T;Îu ö^Zóö aª7ÃLö)1h¤7öH - -›äiö™·âbAÐöîéd-Ÿ`öÏüKúbîö~y3ü'Î8Î8’Î8’Î8ö aª7ÃLö^Zóö³T;Îu ÷Mƒ™ÎÜöùŽ¥„¥öퟃm®öà©ûW>öŠ6‰F©ö3Â1»u4õÝNLí£Àõë¯sõõùñ’‘öN9êìaö¤•]¸½Õö—+ŸŸC9öB#XÓ牒Î8’Î8“Ï7“Ï7õÝNLí£Àö3Â1»u4öŠ6‰F©öà©ûW>öÓì¬@ùÐöÇXš+(\öºñ„¡áöc@E`Gö Hýu­õ³t¹¤ÝõÁ8o¼ÊTõÏ,àÕ îö% Ä¢Ýcö}xÈs(\öo„WZäâö ² î“Ï7“Ï7”Ï7”Ï7õ³t¹¤Ýö Hýu­öc@E`Göºñ„¡áö¤¤[éCŠö¹Á¾¹Çöy}'”mÞö6Þ¿^¸õÄôUêQqõj® BJõ(0DIõš„Ðs QõòYCáëöLÐðö3sx鬀õÛnyVH”Ï7”Ï7–Ð7–Ð7õj® BJõÄôUêQqö6Þ¿^¸öy}'”mÞöoÚ¿öfY³j9ö\þSUBKö¢¤}Ù|õ¦Jµ¦rŽõJïÏ ŸõU\ æÖõ_òNý€$õº4×ÒKö”F©ÿ™ö -þ’™Jõ°·»½€Ä–Ð7–Ð7—Ð6—Ð6õJïÏ Ÿõ¦Jµ¦rŽö¢¤}Ù|ö\þSUBKöSÞî@jöIžä,iöBÙ¥òõåÅ=ð›õ‰n*d;Cõ-RЇÌõ5Ž¡”#õ@É:·ßlõœ$éFZõø†ÿiQõíH R¶õ‘äß{Iz—Ð6—Ð6˜Ð6˜Ð6õ-RЇÌõ‰n*d;CõåÅ=ð›öBÙ¥òö2ZSîooö!{èÇ¿öÃq ˆõµ²CÁé¼õW¤Õã½ôù“§’DõÝ80ñ³õr:\¿·õwÉ6uõÖ{ºõÃjºèíóõfîf_˜Ð6˜Ð6™Ñ6™Ñ6ôù“§’DõW¤Õã½õµ²CÁé¼öÃq ˆöŽ.xãUõùÅ¡RÿÂõíqI.iÑõô}Kþ -õ.w±i’DôÎúæ‡&~ôܯ¯ÖôêãÈÙúšõHôõ¸%fõ¨}š¶©õšHÕp’õ<,h’AÔ™Ñ6™Ñ6šÑ6šÑ6ôÎúæ‡&~õ.w±i’Dõô}Kþ -õíqI.iÑõâæF ElõØÀzåtHõÎô¥ÂödõnSt܇~õ ®„ö˜ô­ T©³ô·î6ZôÃ@?]מõ"½ @Cdõƒiz&Ù¦õxŠÿbõ“r@šÑ6šÑ6›Ñ6›Ñ6ô­ T©³õ ®„ö˜õnSt܇~õÎô¥ÂödõÉœe±Ö_õÆ/7 ÞõÂ>ÖÈðõa1§r¸õM¿¡ôžà¨ÖÄhô£E?éjIô§.!ü˜üõÓãõhû5ËgyõeS¸8ÆõeãÑÂa›Ñ6›Ñ6œÑ5œÑ5ôžà¨ÖÄhõM¿¡õa1§r¸õÂ>ÖÈðõ¾a3~ýDõº–Nn…ïõ¶Þ'^f²õUPÍt8&ôóÃsŠ šô’6ŸÛô–W5±É@ôš’Ä ôû¯t¬mAõ]@Ž–¥,õYô„Wcô÷ä›÷ÌœÑ5œÑ5œÑ5œÑ5ô’6ŸÛôóÃsŠ šõUPÍt8&õ¶Þ'^f²õ³NGuõ¯q™>€Põ«×p/ ‚õIèŸCaôçùÍW#`ô† -ük/?ôŠÝ|^BôŽ<ìÝôïž–xiõQ‘'déõM‚ÈRŠOôëñ®hRdœÑ5œÑ5œÒ5œÒ5ô† -ük/?ôçùÍW#`õIèŸCaõ«×p/ ‚õ©²m¹õ¦a3&õ£¾r4õAyi—ôß4`%ä¾ô|ó8=ÆôèPHØ·ô‚ôYÓ@ôäâØEÇaõG'á3y˜õDé"}0ôâ-Y6°œÒ5œÒ5Ò5Ò5ô|ó8=Æôß4`%ä¾õAyi—õ£¾r4õžbsãU\õ™BnÆÒÈõ”b#«ªôõ1’gºÒÉôÎÆjÉúôkö®Ù"qôqZ-÷TôwåãôÙF.®Üõ<jõ®dõ6r²ÕúôÔ)éè,HÒ5Ò5Ò5Ò5ôkö®Ù"qôÎÆjÉúõ1’gºÒÉõ”b#«ªôõ­Dtߘõ†š®C¬5õ‚Ú¼sõ›î!l+ô»Â+âôWŸ×4Ëšô\–Ÿe™ÆôdU¦œIôÇ%b!1õ*áG„lõ#ÂM[ìôÀ‹[êÒ5Ò5žÒ5žÒ5ôWŸ×4Ëšô»Â+âõ›î!l+õ‚Ú¼sõ~Ájëªõõ{ÏñÅóõyNí¤ lõ|‰©} -ô±­å®ëÇôMÛ´\eôP§~ÙtôSç°ßpô·g›ú-ÙõAõZ­õMʉ±ô´v"ÓמÒ5žÒ5žÒ5žÒ5ôMÛ´\eô±­å®ëÇõ|‰©} -õyNí¤ lõwkZ‚ò§õw”–g@ õvªQ'rõÒIS“Øô®å¨Uþ^ôJõGXhäôKÖ2píøôKÇ3 ÷ô¯™—Š0Yõœ¶ˆcDõ¤5i¬†ô¯Æ“n’žÒ5žÒ5žÒ5žÒ5ôJõGXhäô®å¨Uþ^õÒIS“ØõvªQ'rõu“$î˜õtýÐKõtýÐKõ4Ò+ô­Ô -ôI3Ô -ôI3Ô -ôI¶¥'Zþô­§$ðxõ¦e'Yõ4Ò+ô­Ô -žÒ5žÒ5žÒ5žÒ5ÿÿÿÿ™±yÿÿÿÿ™±yÿÿÿÿ5»xÿÿÿÿmÍ—þÄ ßmd¡ý y7/™mü »rÍiüe<ÆvÐßüA>¦Ôü4½RäÝ­ýTª’SÞ%þ…<™Wþ…<™WþÄ ß5R‚ýdú‹ÙQâýa('Cx9µJ9µJcÁAcÁAü4½RäÝ­üA>¦Ôüe<ÆvÐßü »rÍiûŸìk²kúÅzáqÂúa-Mrcù£=ÒÍ!ùcœ± #ùPG5(¨úµýÛ½ -ûœ®výÛû Cf2.ûdm[jáúZ,fÌú1QgÆ¥cÁAcÁA~É<~É<ùPG5(¨ùcœ± #ù£=ÒÍ!úa-Mrcù´%˜ùa¹³ógùo=dj¼ø™ú×,ºøPZÈ#ø;‡t/<øøá»ˆ¦øêeŽàDøþøÊäßùHÉ5†õøãCú&µdø¢´Gt1@~É<~É<ˆÌ:ˆÌ:ø;‡t/<øøPZÈ#ø™ú×,ºùo=dj¼ùÎüPÔóøõ% ;â‰øãš1()#ø`Ó5–P/øý×p3øÇë‰1øÅî¿Üø&¢*-©ø;t¶¸Ôø‡YØÖðøraϪ •ø(«9í¦ÞˆÌ:ˆÌ:ŠÌ9ŠÌ9øÇë‰1øý×p3ø`Ó5–P/øãš1()#øÚëB4øÒKQNøÉ¶Ÿ -vìøDÛTvU.÷÷÷J¶6‘÷ã@Ê÷ì­Õ.é÷öZñàSžø @;Ì: øX$EŒ[øMlG€,Bø–#ÁJgŠÌ9ŠÌ9ŠÌ9ŠÌ9÷ã@Ê÷÷÷J¶6‘øDÛTvU.øÉ¶Ÿ -vìøÀüp¿µø¹Œ#öÕø±s%ì ø*‡LU¤_÷Ü š”E@÷Ç·§óg÷ÐÓ5³9Ù÷ÙIê¿%:÷î2ô«@¸ø‘(ª÷ʰ‰}|cø‘KAb%ø×å(×s÷¸åôgr´‹Í9‹Í9Í9Í9÷’“Ìde÷§fXQ2ª÷÷C[íø‚#U¯ÿçørì‚›ô øe!M‡?zøV¸§s`—÷È -Óøh÷v\1 ™ ÷a¯! D ÷qÝ]6¢§÷yfMØ:÷–O²:¥Ç÷è ˆ÷Ör®ç×K÷†Šm#÷(Í9Í9Î8Î8÷a¯! D ÷v\1 ™ ÷È -ÓøhøV¸§s`—ø9(-Låø Î6"ÕDø9\ûÚl÷qtgSªð÷{ˆQ ÷Mƒ™ÎÜ÷$õ“ż¾÷@—<óþ§÷UDKáS'÷ªyެ°·÷‹ Az¥È÷9o´?Î8Î8’Î8’Î8÷Mƒ™ÎÜ÷{ˆQ ÷qtgSªðø9\ûÚl÷úèšÚ÷ï”Ôg÷ä hÀˆ¼÷Jñƒ öô}ŸF=röà©ûW>öퟃm®öùŽ¥„¥÷ ¸r™é÷d;d@k^÷Vw¯'—’÷s'\:’Î8’Î8“Ï7“Ï7öà©ûW>öô}ŸF=r÷Jñƒ ÷ä hÀˆ¼÷جy¬åÓ÷ÍxÆ™„„÷Âj†h÷&,¶Õµ?öÎ\2s¥öºñ„¡áöÇXš+(\öÓì¬@ùÐö缑0%÷?””j÷1:íèÑ5öÚÃHøA“Ï7“Ï7”Ï7”Ï7öºñ„¡áöÎ\2s¥÷&,¶Õµ?÷Âj†h÷®Ãç^è£÷šG“9,m÷ˆLB™söæ6µZ±ö‹ðl…£Áöy}'”mÞö¹Á¾¹Çö¤¤[éCŠö¸ ÙN÷†®5Töø2€Dö -¯ïª”Ï7”Ï7–Ð7–Ð7öy}'”mÞö‹ðl…£Áöæ6µZ±÷ˆLB™s÷¿[÷wSšíæœ÷o áÛwöÊ;”ëönã&G-ýö\þSUBKöfY³j9öoÚ¿ö‚MÔpBÃöÝ©ƒG´ðöÒˆŽ1qöx>…[ëë–Ð7–Ð7—Ð6—Ð6ö\þSUBKönã&G-ýöÊ;”ë÷o áÛw÷fô£Èòó÷]¯Á·@¼÷WŸ¤Äö¯½ÑãþªöSfù -ISöBÙ¥òöIžä,iöSÞî@jöeÃÁ2UÑöÂ%× Èö¶Póö{NöZíÅÀ—Ð6—Ð6˜Ð6˜Ð6öBÙ¥òöSfù -ISö¯½Ñãþª÷WŸ¤Ä÷IBl€'÷:W]A¬÷-öû:˜¬öÙŸrW²ö#Èq”+öÃq ˆö!{èÇ¿ö2ZSîooöC©3áÐö¡ã¿Y¹öŽû•²ö1€ç»1˜Ð6˜Ð6™Ñ6™Ñ6öÃq ˆö#Èq”+öÙŸrW²÷-öû:˜¬÷"8•Ì÷Û¦ö'—÷ ç­Õ­#ö[‹6Y’õüj#íÌõíqI.iÑõùÅ¡RÿÂöŽ.xãUönlùÓöv8O‹öf‚ï&ÔöbÂHƒ¾™Ñ6™Ñ6šÑ6šÑ6õíqI.iÑõüj#íÌö[‹6Y’÷ ç­Õ­#÷ ´±ZöùŽ¥”ãVöðßµvCö<¼ K„õÜé¹ÜžõÎô¥ÂödõØÀzåtHõâæF ElõñƒgþÉhöR3–å]ÊöEk ¾ëÅõåâþÜZ‚šÑ6šÑ6›Ñ6›Ñ6õÎô¥ÂödõÜé¹Üžö<¼ K„öðßµvCöì -©gÂöé0Wµ’öåHÏXö/¿o±Óõ΢-‡[›õÂ>ÖÈðõÆ/7 ÞõÉœe±Ö_õÖ©¨¼™ö7ç‘1ö3;>~™íõÒ’Ž˜!¨›Ñ6›Ñ6œÑ5œÑ5õÂ>ÖÈðõ΢-‡[›ö/¿o±ÓöåHÏXöâ/Ö9ã~öÞѧ+D}öÛ†6òUö$ ê@ÌØõÂzÐVžMõ¶Þ'^f²õº–Nn…ïõ¾a3~ýDõÊÀÊvŽö,Qä`Åùö'W[OõÆ2÷f¿iœÑ5œÑ5œÑ5œÑ5õ¶Þ'^f²õÂzÐVžMö$ ê@ÌØöÛ†6òUöØ(£ìöÔàU¢]öÑ£ãòëÆö£¼Úoõ¶´ë'æNõ«×p/ ‚õ¯q™>€Põ³NGuõ¾»*F€ðö ­»2~pöÜo!‘õºKU7YœÑ5œÑ5œÒ5œÒ5õ«×p/ ‚õ¶´ë'æNö£¼ÚoöÑ£ãòëÆöÏ9]å3öÌÚ×sYöʉÎÊ+XöIèOåõ­Õ@ú¨ìõ£¾r4õ¦a3&õ©²m¹õ³ðmF…ö96ø½öj‘õ—æõ°{À šeœÒ5œÒ5Ò5Ò5õ£¾r4õ­Õ@ú¨ìöIèOåöʉÎÊ+XöÅÀ¯¢ÕöÁ*¯–O•ö¼Í—~1˜õÿÊQ—õœú•¦AÖõ”b#«ªôõ™BnÆÒÈõžbsãU\õ¨yAÜɹö L¼ÍÇaö#¨¯7ÿõ¡ÚßÁiªÒ5Ò5Ò5Ò5õ”b#«ªôõœú•¦AÖõÿÊQ—ö¼Í—~1˜ö·¢MtJö°šü!Àƒö¬”ú­Mõë\û -›Ïõ‡àÏK†õ‚Ú¼sõ†š®C¬5õ­Dtߘõ–E¶ovzõú›f\´õïcÚ1¯õŒ_£@;GÒ5Ò5žÒ5žÒ5õ‚Ú¼sõ‡àÏK†õë\û -›Ïö¬”ú­Mö©›$Óvzö¦ü#±%’ö¤¾™“¼tõà{Àœ°½õ|­¢![õyNí¤ lõ{ÏñÅóõ~Ájëªõõ„†`è:õèdãdüõâ¹JºÛõ. Ã/ážÒ5žÒ5žÒ5žÒ5õyNí¤ lõ|­¢![õà{Àœ°½ö¤¾™“¼tö£vF7ö£Rû]”(ö¢ IæõÜ8æMãõxLEPNõvªQ'rõw”–g@ õwkZ‚ò§õzɉ•õÞÌ©:€õÜûÔaÈõyrff´žÒ5žÒ5žÒ5žÒ5õvªQ'rõxLEPNõÜ8æMãö¢ Iæö¡oh"€Rö àöÌ‹ö àöÌ‹õØôõÐKõtýÐKõtýÐKõtýÐKõu“$î˜õw¢$LõÛ&{óõØôõÐKõtýÐKžÒ5žÒ5žÒ5žÒ5ññQqÝjò¹=rÙªó5R×Êó5R×Êó5R»­ó5R¡oó5R…Ró5R…Rò¹=rƒrññQq²ññQqŸññQq½ò¹=r»­ó5R»­ó5R¡oò¹=r¡ožÒ5žÒ5žÒ5žÒ5ó5R×Êó-2×Êóå!SÕêôI3Ô -ôI3»­ôI3¡oôI3‰óå!S‡2ó-2…Ró5R…Ró5R¡oó5R»­ó-2»­óå!S»­óå!S¡oó-2¡ožÒ5žÒ5žÒ5žÒ5ôI3Ô -ô­Ô -õ4Ò+õtýÐKõtý¹Íõtý£OõtýŒÑõ4Šñô­‰ôI3‰ôI3¡oôI3»­ô­¹Íõ4»­õ4¡oô­£OžÒ5žÒ5žÒ5žÒ5õtýÐKõtýÐKõØôõÐKö àöÌ‹ö àö·íö àö¥/ö àö‘õØôõŒÑõtýŒÑõtýŒÑõtý£Oõtý¹Íõtý¹ÍõØôõ»­õØôõ¡oõtý£OžÒ5žÒ5žÒ5žÒ5ññQq²ò¹=rƒró5R…Ró5R…Ró9 ¢ÁMó"’ 6äêó-T Ë€|ó-T Ë€|òÈ- ºiÖò R ®ovñ÷& #ŽÚññQq ™´ò¹=r ™ ”ó9 ¢ÁMó"’ 6äêò¾> (Z‡žÒ5žÒ5¡Ó4¡Ó4ò R ®ovòÈ- ºiÖó-T Ë€|ó-T Ë€|ó7« `.óG{› õ)õó\wd ‹8¤ó\wd ‹8¤òö˜1 wPbò6Iy QÙòbŸ Ä¡"ò&} 9PòÒ@ LwEó7« `.óG{› õ)õòᘩ á[ð¡Ó4¡Ó4§Õ3§Õ3ò6Iy QÙòö˜1 wPbó\wd ‹8¤ó\wd ‹8¤ó†nô -·WâóÅ"“ çx`ôÌ õVôÌ õVó»»õù¨ÍóF­{ò¨„ƒ †Ï±òd. -iÉHó “ -£;%ó†nô -·WâóÅ"“ çx`óa22 Óe§Õ3§Õ3·Ù0·Ù0ó5R…Ró-2…Róå!S‡2ôI3‰ôI ³ ¬bôMý> J<ÚôW˜W è¢óôÓÚ â”RóàÒ Ñ}¬ó-T Ë€|ó"’ 6äêó9 ¢ÁMó0ò ¢ÁMóå,’ ¬`&óê GÖó† ¾ 9K°žÒ5žÒ5¡Ó4¡Ó4ó-T Ë€|óàÒ Ñ}¬óôÓÚ â”RôW˜W è¢ôa3q †äKôoØ %°èô‚¥N Åmoô"Ò ²F;ó¼œà ž]ùó\wd ‹8¤óG{› õ)õó7« `.󙻥 i­Èóÿ&¢ }P±ôw³ Só¨”Á …|¡Ó4¡Ó4§Õ3§Õ3ó\wd ‹8¤ó¼œà ž]ùô"Ò ²F;ô‚¥N Åmoô¨Êz æ}ôáÀ£ -H0õ-R ’ÕPôÐÀ{ lЧôti¤ F?þôÌ õVóÅ"“ çx`ó†nô -·Wâóä­ -ÔÑôJŒQ -è-Žô…iË -!Ô‡ô!yj - à §Õ3§Õ3·Ù0·Ù0ôI3‰ô­‰õ4ŠñõtýŒÑõu  ¶¿õylê ]”Éõ‚Z  ©õOÝ ÿ£xôº\Ô îŒÓôW˜W è¢ôMý> J<ÚôI ³ ¬bô­“ ¬cåõ3 ¶¿õð¾ [.ô±yj L£ žÒ5žÒ5¡Ó4¡Ó4ôW˜W è¢ôº\Ô îŒÓõOÝ ÿ£xõ‚Z  ©õŠ»Ë ­®hõ—©Ô V7Ûõ¨Ó8 ÿ¢:õH­¼ ì{ôâÊÊ Ø’Ãô‚¥N ÅmoôoØ %°èôa3q †äKôÃCÿ wåõ(®ü ¤Îõ6¯ GÚtôЭ½ 4O¡Ó4¡Ó4§Õ3§Õ3ô‚¥N ÅmoôâÊÊ Ø’ÃõH­¼ ì{õ¨Ó8 ÿ¢:õË"A Ruõþ^³ -¨ÇàöBÙ -·*õåÅ ßlõ‰n* ¹!Ùõ-R ’ÕPôáÀ£ -H0ô¨Êz æ}õ¤ !Ÿkõlä 5¼(õ¢Û -‚}7õ>z -nk¹§Õ3§Õ3·Ù0·Ù0õtýŒÑõtýŒÑõØôõŒÑö àö‘ö ó´ ¿¥Wö¤Ü– pêÙö¬] "±¯õç£ ·Nõ‚Z  ©õ‚Z  ©õylê ]”Éõu  ¶¿õu  ¶¿õÙ³ ¿£wõÝä> l,õylê ]”ÉžÒ5žÒ5¡Ó4¡Ó4õ‚Z  ©õ‚Z  ©õç£ ·Nö¬] "±¯ö´D$ Ôx…ö¿ÂÐ †¾ÎöÏ" 9Õ%ö²k ˆœõ¨Ó8 ÿ¢:õ¨Ó8 ÿ¢:õ—©Ô V7ÛõŠ»Ë ­®hõŠ»Ë ­®hõð&È ÁQPõýŒÆ jàõ—©Ô V7Û¡Ó4¡Ó4§Õ3§Õ3õ¨Ó8 ÿ¢:õ¨Ó8 ÿ¢:ö²k ˆœöÏ" 9Õ%öí}Ç  ±÷ù p÷WŸ -x™öžnð -,ÓöBÙ -·*öBÙ -·*õþ^³ -¨ÇàõË"A RuõË"A Ruö1s f‘ÔöbKT -¼Ù^õþ^³ -¨Çà§Õ3§Õ3·Ù0·Ù0óF­{ó»»õù¨ÍôÌ õVôÌ õVô½a «Æõ²E#5‹öãu÷ò‰öãu÷ò‰öœÇX«Wêöjöìô¦j´Øó·€šùAôp.IEØKô½a «Æõ²E#5‹õPÌø÷·Ù0·Ù0Ïà+Ïà+ôÌ õVôti¤ F?þôÐÀ{ lЧõ-R ’ÕPõÃ=¾(Sö¡ç]Û´^÷·ÕÆ'÷pÓ6e¨÷*$—8·öãu÷ò‰õ²E#5‹ô½a «Æõ´$¶øOõfæçËËö[8¾•¿õøóµiä+·Ù0·Ù0Ïà+Ïà+õ-R ’ÕPõ‰n* ¹!ÙõåÅ ßlöBÙ -·*öÉ0¿ƒ÷‘…å”5ø‹³š%ÄøDßSuE÷þ0t Ʀ÷·ÕÆ'ö¡ç]Û´^õÃ=¾(Sö”•NbüölÇX™6x÷J×FM†röè•ü"dÞ·Ù0·Ù0Ïà+Ïà+öBÙ -·*öBÙ -·*öžnð -,Ó÷WŸ -x™÷Îþ¡ Ví®ø(-LµÅù_™‘n5bøÒø÷|hYqØø#¸0Ïî}÷éÊžyÔÏà+Ïà+Þä(Þä(ø0SÁ^²üøM ºSø×'ÜWèÞø×'ÜWèÞùŠ—‰ßá_úIÅœyWûjc&´<ûjc&´<úë#zÊ[…úžŽ(­ÖùÄ£kãAøô çÛÆƒùPÓ4‰ ùŠ—‰ßá_úIÅœyWú8i$ðÞä(Þä(æç&æç&öãu÷ò‰÷*$—8·÷pÓ6e¨÷·ÕÆ'øBRÑ;JÊøÚÔľ=„ù}ûøQàùGSÿ˜Eù ¤€©k™ø×'ÜWèÞø#¸0Ïî}÷|hYqØ÷½ "W÷û¤2ôœ+øœ?"r#çøbMÑÏà+Ïà+Þä(Þä(ø×'ÜWèÞù ¤€©k™ùGSÿ˜Eù}ûøQàú!kãü;úÎè †Êû„J^;¸Ãû]ÿµßaëû7µ ƒ ûjc&´<úIÅœyWùŠ—‰ßá_ù¸÷p6Ïùò»Å‚ú¨¡7*sAúpDÕ®tÞä(Þä(æç&æç&÷·ÕÆ'÷þ0t ƦøDßSuEø‹³š%Äù—:#½ù‘ñX¬Š¬ú$ÌSJPâùîO¯øÎ&ù´xœ¢Ÿ›ù}ûøQàøÚÔľ=„øBRÑ;JÊø‰pûJøÁèšÖuùS[·`qùjf -UBÏà+Ïà+Þä(Þä(ù}ûøQàù´xœ¢Ÿ›ùîO¯øÎ&ú$ÌSJPâú·«èûT -¤”<•û÷&˜P½IûÐÛðôfqûª•˜šû„J^;¸ÃúÎè †Êú!kãü;úOƒ:éõú‰Gg‘)^û-û7å½úõ2Éã ðÞä(Þä(æç&æç&ø‹³š%Äø‹³š%ÄøÒVûŒ›–éBûT -¤”<•Þä(Þä(æç&æç&úžŽ(­Öúë#zÊ[…ûjc&´<ûjc&´<ûjc&´<û*‹È‹û\È’óû\®T€±û8°4«?úðÊrñ+ãú¹÷–×ÚúžŽ(­Öúë#zÊ[…ûjc&´<û*pÊXûÝYÀëˆæç&æç&æç&æç&úðÊrñ+ãû8°4«?û\®T€±û\È’óûuåwÿ 5û•,ˆòH'û»¾jåÝQû»¯äóûšuɆ ?ûXvºÊãû.a,؈Òû 7 æ_FûTb qûuË:þ–ßû”ø ñ]Ýûp`<”E÷æç&æç&æç&æç&ûXvºÊãûšuɆ ?û»¯äóû»¾jåÝQûÎðÞß^Íûã¸+ØU–ûúÑÐÁ¬ûùß×Ï•ÈûÚ¯Dpœ0ûœ†X³ÖÃû„¢¼¼ûmgCÃÊäû¯fSˆ ûμcÞtƒûã|1×)²ûÂ>Îxâ)æç&æç&çç&çç&ûœ†X³ÖÃûÚ¯Dpœ0ûùß×Ï•ÈûúÑÐÁ¬ü’6Ékœü(JýÀ~ÒüBnI¹•xüB'¸)Úü%,ˆX~2ûëzñš”aûÎü¢3Šûµ K«ÔCûó2wh™°üV<È=Øü(ƒ¿Tü­´`\çç&çç&çç&çç&ûëzñš”aü%,ˆX~2üB'¸)ÚüBnI¹•xü\hZ²2IüxƒªYü•<Æ¢ ­ü”ñÍ cõüz|?þ¿üEÛw€Ø+ü%öõ‰ìQüÔH’üA…ßPjÔü\! °Æ«üw·Š¨µ-üZ“ÆIåçç&çç&èè%èè%üEÛw€Ø+üz|?þ¿ü”ñÍ cõü•<Æ¢ ­ü£Ùçèü²ßþ™«VüÂO •N?ü“’ü¨î­2Í;üwšs·üf;®w¾füUÑx|[7üŠr ;Êü£ŽîœBØü²•—í@ü˜Á7‰êèè%èè%éè%éè%üwšs·ü¨î­2Í;ü“’üÂO •N?üÑÍ‘)büáè•Ë3üòRˉޑüòÒˆüÚiI&íü«zðfxäü™ŽžjÃ=ü‡üDn$ü¹ØW.J¨üÑ~_m,üᜋü>üÈ€·+7qéè%éè%éè%éè%ü«zðfxäüÚiI&íüòÒˆüòRˉޑý9õ‚J§ý5ÄøzW&ýYóÓrNýY¬špüýE7Å@©ý•ULuuüõIU‰›üÏb’^6ªüþPëªßýîü€{³ý5}¿xoÔý¹¹TÏéè%éè%ëé%ëé%ý•ULuuýE7Å@©ýY¬špüýYóÓrNý~9-j#Ký¤šSd)ÚýÌjØ\ÊkýÌ.ÝZè¸ý»2uøeÕý™}5AÂýn2=BaýD-žCæbýlб–ý}ñóh;ùý¤^YbH(ýÀHfuëé%ëé%íé$íé$ý™}5AÂý»2uøeÕýÌ.ÝZè¸ýÌjØ\ÊkþkðbA ·ÿ(Yø,'[ÿÿÿÿ+ãáÿÿÿÿ+ãáÿÿÿÿÇíáÿÿÿÿÿ CzþG — -þiBcÚ»þk´h?¿ÿ(Yø,'[ÿ È1Zíé$íé$üî!üî!ûjc&´<û7µ ƒ û]ÿµßaëû„J^;¸Ãû„J^;¸Ãû›z2¹;ûÈÂò ¸Kû¤ÄÒÃw)û€Æ²f4(û\È’óû*‹È‹ûjc&´<û7µ ƒ û]ÿµßaëûwšÕv9ûN‰(z ¬æç&æç&æç&æç&û\È’óû€Æ²f4(û¤ÄÒÃw)ûÈÂò ¸Kûß“N±Dûûô% {ü Û׈ûýñõ¢‚àûÜÚD0û»¾jåÝQû•,ˆòH'ûuåwÿ 5û™ã—\JVû»•.ºp"ûÚÜ@­´´û¶DnPšïæç&æç&æç&æç&û»¾jåÝQûÜÚD0ûýñõ¢‚àü Û׈ü0v¹úðÖüCZsôŒüW±Kí¬”ü8|ø޲üüLe/¹dûúÑÐÁ¬ûã¸+ØU–ûÎðÞß^ÍûðÃ=±•ü^Óœžü$)à•”×üè¾7MNæç&æç&çç&çç&ûúÑÐÁ¬üLe/¹dü8|ø޲üüW±Kí¬”ül!çôüÞÈ:ü™a¢ؘnü|cZxìÇü_hÒAüBnI¹•xü(JýÀ~Òü’6Ékœü/ÂÊ(cTüL授 \üd£rüEIE *yçç&çç&çç&çç&üBnI¹•xü_hÒAü|cZxìÇü™a¢ؘnü°ø¬ÑåoüÊÊźüäšTÃ;/üÊ$bÕùü¯®Ënãü•<Æ¢ ­üxƒªYü\hZ²2IüybâÝñü“þ#r9Èü¯˜Mj`„ü’xH -Àçç&çç&èè%èè%ü•<Æ¢ ­ü¯®ËnãüÊ$bÕùüäšTÃ;/üñâV¿uêüÿˆ»–fý ‹~·œ¦üôvV×ÙüÛdrö üÂO •N?ü²ßþ™«Vü£Ùçèü¾O¬þMÆü×l‘_³üær¨ZÑ™üËõdúnCèè%èè%éè%éè%üÂO •N?üÛdrö üôvV×Ùý ‹~·œ¦ýš,³Õý*BŒ°Õ ý9.f­Fý!ÝL#šý ñTëüòRˉޑüáè•Ë3üÑÍ‘)büêÞ¾ñî/ýˆ†S´ý§ÃO²„üù‡îí·éè%éè%éè%éè%üòRˉޑý ñTëý!ÝL#šý9.f­FýWY¦`„ývnèŸ"Ñý—N“—‹(ý‚Ù¾5²ÔýndéÓÚýYóÓrNý5ÄøzW&ý9õ‚J§ý*Ø~ãm+ý?rÐE=ÿýaýÒ=HžýJ6 Ü/yéè%éè%ëé%ëé%ýYóÓrNýndéÓÚý‚Ù¾5²Ôý—N“—‹(ý¸D»`4ýÛ-u‹3ýÿX‘„Sýî\)!Ð2ýÝc€¿MOýÌjØ\Êký¤šSd)Úý~9-j#Ký’®Ëý~ý£Ïæ.‡áýÊ1 (Pýµ’üƬ¾ëé%ëé%íé$íé$ýÌjØ\ÊkýÝc€¿MOýî\)!Ð2ýÿX‘„SþS¹k¬Eÿ;—ªX <ÿÿÿÿWÇÂÿÿÿÿóÑÂÿÿÿÿÙâÿÿÿÿ+ãáÿ(Yø,'[þkðbA ·þ|é ¤#›þ[ )bÿ;—ªô<ÿ(Yø[íé$íé$üî!üî!û„J^;¸Ãûª•˜šûÐÛðôfqû÷&˜P½Iû÷&˜P½Iü ®,H¨ ü4½R8oü¿2Ûsáçç&çç&çç&çç&ü™a¢ؘnü¶\*8DüÓV³—ï½üðQ;÷›dýŒ¾ñ–µý ë2ný3û£äl±ý…Þ„{üÿ#¢EüäšTÃ;/üÊÊźü°ø¬ÑåoüÍöô1‘üè’5‘ë ý£ÛŠËXüäƒ×+*ðçç&çç&èè%èè%üäšTÃ;/üÿ#¢Eý…Þ„{ý3û£äl±ý?êÄá#ýL,^݃WýXÄ0Ùé-ý?²Šy$`ý&$_“ý ‹~·œ¦üÿˆ»–füñâV¿uêý XÜÿý%u€ž ý3¸|¾Šý™´[4èè%èè%éè%éè%ý ‹~·œ¦ý&$_“ý?²Šy$`ýXÄ0Ùé-ýekÖ¿ýrœ„ÓÞÞý€BЫËýhkxo‰GýPÌïh¢ý9.f­Fý*BŒ°Õ ýš,³Õý4¯’šNýLUšu¼Òý[ºr¼ZýAá÷éè%éè%éè%éè%ý9.f­FýPÌïh¢ýhkxo‰Gý€BЫËýšè¼Êt€ý·—Ãî}ýÔ­½áýÀ8=[=®ý«Ãhùe[ý—N“—‹(ývnèŸ"ÑýWY¦`„ýn¬"ƒýƒJ3iQüý¢§ÂbJýŠã½û%éè%éè%ëé%ëé%ý—N“—‹(ý«Ãhùe[ýÀ8=[=®ýÔ­½áýòPJ¶þ¼Ø±ú¬þ2FK«Û¿þ!IâIXÜþQ:æÕøýÿX‘„SýÛ-u‹3ý¸D»`4ý̹ò:gýÝÛuTÄÉþÄ/OwÉýì&í–ëé%ëé%íé$íé$ýÿX‘„SþQ:æÕøþ!IâIXÜþ2FK«Û¿þ´ºÏ•µòÿNÑœƒïÿÿÿÿƒ«¤ÿÿÿÿµ£ÿÿÿÿ»½ÃÿÿÿÿWÇÂÿ;—ªX <þS¹k¬Eþ¡P!Î/(þ£¾g33ÿNÑœùÿ;—ª¼<íé$íé$üî!üî!û÷&˜P½Iû÷&˜P½IüqA­ üj“eÁÏüj“eÁÏü|A^˜»ü »rPD³üXÕ°–2åü4×8ïäü4½R8oü ®,H¨ û÷&˜P½Iû÷&˜P½IüqA­ ü4[Û¤…ü ÈiI`æç&æç&æç&æç&ü4½R8oü4×8ïäüXÕ°–2åü »rPD³ü²îýI!üɇ?†%üåœü6Ëöü£š-{Ñü‚‚G¼ ü‚UKÑ¿üb¿‚%ÆÐüIA&0[2üI[c0͇ük ;ŽóSü‡ˆƒÊßübì}&±æç&æç&æç&æç&ü‚UKÑ¿ü‚‚G¼ ü£š-{Ñüåœü6Ëöüó†.2Çý›D,þBýØ~'€…üÔ¯“j»üµ~ÿ ÃaüµC -•ü¢ü¼Åhü’S‚ßü’1m)ü±‡vY¢üÄrXp8Õü£4öó,æç&æç&çç&çç&üµC -•üµ~ÿ ÃaüÔ¯“j»ýØ~'€…ý# ÷"1¥ý4?^ÉýGD”œ{ý =X²ªüð”µùüðQ;÷›düÚì}ýüÇœ šLüÇØÆ0üäø el8üú‰Æ]tøüÛ/öþ€ÿçç&çç&çç&çç&üðQ;÷›düð”µùý =X²ªýGD”œ{ýZGûýn%/ Ÿ#ýƒY2 ýN´áFyý4?æIý3û£äl±ý ë2nýŒ¾ñ–µýÌxó3ý g¹S^*ý9€ÞLxý`ÚìØ'çç&çç&èè&èè&ý3û£äl±ý4?æIýN´áFyýƒY2 ýït’|ý˜Ônÿngý¤¢ü5µýrâªÛýYK#CkéýfðÜ?¤ÃýLs˜ßAmèè&èè&éè%éè%ýXÄ0Ùé-ýY iÛ§Cýr> endobj 50 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> endobj 37 0 obj <> endobj 40 0 obj <> endobj 53 0 obj <> endobj 54 0 obj <> endobj 101 0 obj <> endobj 102 0 obj <> endobj 103 0 obj <> endobj 100 0 obj <> endobj 104 0 obj <> endobj 105 0 obj <> endobj 99 0 obj <> endobj 106 0 obj <> endobj 107 0 obj <> endobj 98 0 obj <> endobj 108 0 obj <> endobj 109 0 obj <> endobj 97 0 obj <> endobj 110 0 obj <> endobj 111 0 obj <> endobj 28 0 obj <>stream -H‰´—ÉŽåÆE÷ü -þ@±r¶*^Yn¡Ö¾ ¸¯ ´X¿ïs#È7ðu^´%tóy3cºùú·õõïoaýé/oëòu kL#¬i”°¾Øãï¿-ÿ\ÿ½¼¾½‡õí}}ýÖ÷·Ÿþò纼þ ô_,_׸þk*­o­µ¾Ö9×/‹à/KŒa+µóœÌcnµdÖÅóþÖñöK úÜ~},ïË/Ëë§hÛkÃÖï7¬ekEû ³¤n¹ù³~°ŸK¶—öw_j³ÝôëØ-v‹½µ-ç\Ö‚òmË—›‘fÔn¤=»‘öxy}ݼ·1w×–žw=,5ËvK_<о)¿vK—ÝÒ{CËÓ–}Ê­í[þ¸`ÖïîúìÞÑö”?5~#~\0ûw7|¨ÇqöhÌqK!ÎÿW=ÎÓ†%µ-Äò­þ(Ÿþ‚PíÛà'OOè O„ÐÒZbÝ*©d@è ¾\@œÛ̸cy‚.K u‹©8ÔÒXóäOa8GÀù3 Úñc9#—%c\ÑÔ`eKSÇ‹}«ðgR=†* m£Ñœ!xúÀÍ¡>ŸõmøixY@¬Ó牧mÕüTí³Ê¾Î3Ú:¥ý…´ç‰&ã¦ý„¡L>K$¢¾¤óÅ-רøD<'ž†Ÿúp(æ5#pѽƒ'å®–q~t q^hÎ4%o¡™ß4mÍ)mcj«P¶ à…¼U„3FP8î——%µ‚SU%x~¶´¦4=bÅd¹™à÷¢’\áx‚.Kìl_ðf˜´Ä?ŽC‹$!É$Z…8è„Iö^e©õ¸êÝ—rÓÄ gäN[ËÜ5eÇBù9^^+‰Ÿ*C ;m«Òhf1ÿœ8šW–ªSºjcZ«– #ù]»ò\òu`P*Ѫ(¶èˈqEDzNZˆáÅØhî†ðoÕšñNË’D¡YqÚ:¥hòA/†„ÐÖB¥ëêƒÝVTk›Îˆ²q ‰“])ûZõFÞF3˜ºëÒì'DL(#ñ/C*œZ£Rô*ú¦O[+òâxDà 0óÔ7‘©i¬e2àÍakMÌ44£ÙZQ‡ã„ˆ£ØÄW‰fW©L\mÖR^àe*zÜmpãNñ\–ÔahÒù§Fe[×…„¿HZ(Њ6gZK¥–Á:ã “˜3GSVñ.ÅÝr±Lµs²›ŽûÜõšëäâ3¦ÐHn+I7/ŒÇ-%ºÛ¦—‰.,¹Ç ¹<"ÖA]GR‹ïb7„T¯'ËÕ/·“»1ÙtNŽrc56KÓwä /ït pìNM -)ñ2Ÿ]Rm48¢’º>TþœÏŸIr/2rUÆ`ÚIj¢ý¨ÂñJ´Ð†UÓ#⪒¾Iã2ÎæÛæëRÌ÷£ûRC„å*MA&fôNgä®I T[ãUÖjŸ¶¦5ˆã„À!ÿpIpMJÓž¥uG| -³ˆ:Ö-8NˆD’®Š!¥yžÌî…áâÕÔ®Mä„ܤ7•'äI°Ó“`Ç;ÁFbt£R8U–œ6vCz]™NH)-UérÉ#rq'iòPT¬ -׎©Jz7=2É—e¹o9 æaÁO:¾6½FöŒÐ'óÇ q½.šRLO1j‘ ^6E–ÑüB¥ÁÉ›Æ ‘¾PÐUt"e6gÓPCâ×&͈ ÇÔ 24Ω‰RŒP2`4©Š†°ª p<Þý£S•‰ª–3rYšXUpÔ´¼‘bÛD’ LÝ@æVqVyôŒÀÑýæÁ-dÃ.îxMez:Ö.7áÎÈå)í!Z‹ï¢>¥Ië8GíûÝÉŽÝšJÒKÖk%Mƒf}ø£N ìùÎC‚—w¯6±J³w¯·üÍ=.Ƚ/ÞEê@àÐý”."d¤0ùD®ûª®ÿYΈ¾¡ïÒ»…h6à"ÒÈðVhºjU´uåmFɶ'D-‹!:ŠT·äTc{²uW ÓØ)·¨…™š>b qçaÀÐxAªM…Ç’²òb*$äGD©N•3@©TÕÈÞ d5j‰¬-»3ܯ½T¦¬@ ):땈¡––dj³÷9ªX'D=šéL€2»­¢G±Ø8ð˜ÖÇ4p[ësBa'fÔãÖ¥‘$©8XÛH˜ÓtÀj¢z.&r<ÀuõY‹`V]3‡õ(,Ë>|´z¼#õ$~7ïе4ZÓÀ1.·p V'äÕãè˜õG ÿ½©Çß3š×7HÞÞ××O1¬ïo?/üéÏõÊýuuÚ£¿ pÝCÖVúÓ—%Ê}e½±Wµ|{ÖÅÑd½´¿ûBõéÐúõ±¼sFí·-#ÿùžMÏc»—HòÒ†õ=]jE*nÏú÷±ØcÞߺ¾^‚¾/áØQ~‰Œë†.LS¡Ž2'6DxÇ$÷As§Z‡!êt3Št:R»šÜ3v–­Ù8+o¡uG˜„ H59‚Ø:× 3.©ýŽ%Qlê>Bb5DŠè@¨Nu‚Ä4‚ÍE`(Km†Ñ‡‘3Bg™¨!:gGègBŠ^ \pJ3ö3&*°¾C4öÕ€X¢#¹mzfGÒ¨NuÂŒŠö^†c‘‰Ìµ!ÁÙ¤jï ±¥8× #.Ó¤c=Ê[Õ»¶!»f7CþKvµìÆqÁû|Åü€%¾×FN bèß… >Œ8bøïSUݳÚáB€vY;Ó$›Íêªd;\ E‚/‰ÚO–1`ÉʸHwÕN«"jʤP+ÆXè¿™!"Ȇ|A»b•H¥Ò ›&QÉàŒZc|€Žm‚—cb1€[è*'º@ëyÇ:µȪT(‰á+ÖîhÐfã;è!˜ŽãÂz  fö3p϶©Š[ Žˆú‚„hh4± Â©úÃ%„âa®Âà@µ·§¢(n9{•©‰8C,œïàN«ÿb˜˜%a Qßj›ÄMB““LäÍS…²íňbt‹ hFgC>¯=:W&¬“¬WÀâ€bßâ‘b*’¡Èrq0é’LÁÄ0™§J‘‰´'Þ‹Œ>€s&YB Ò+q£QÖQ”¡Š£ÌÍÜ…¨Ódtà•Áiói{Z †È‹Á  8•f -GGîfû8)®’¸Ë=é9¢þ¤×+m­hj;LÐjïD»®Õ²{?<î†ý:œ—!¥ñý0{çæ@`b*¦“®¯ÓæÐ2‘«‚”1…ùÙHÍ„yä[¼·ÕZC@ÍÞ\f-ë1Øé.7’œLÒ÷Ø,ÃE}²vÀ®Må[Í^ExÌS:?²uðX°"¹qyà•iãÖlSWÄW29R=¦k"l6°ÕâKë4ßÓ^7ÅB²Ú"+½«¡ÑÀ5y'—+¢ŠO½šýì’ (áÀMbᥩîqçÜW€À¬ð¯â ³4Zl«¥ÛýI†ÙØ2‹s…»š… C®ƒ:>î3µ q&ÄîF˜w9ºAã‰sL\…3ó`šµy;.ˆ%ˆ¿‘ äÅ8?¸W‡ÕëÆ"‹Ki)Oh‰<óMJßc¢,v×hX—®DÈ…J3²®æ;ù ))Ý³ß ƒ£ƒªz(=…nH—¸F×ÔçD¦wÛ; k2¨† òBÿ޹S4¤%R°º@Š]¯dcŽˆÔ鱳ů$Ãiwt ²hDýS€ÚMI@æföHdFdätú£ &ƒ4-ÛÄ&õ1m[«Ú¹úo{Ä3-7ò¨‹æ1CŠöC‹ÕŠ!5¹y\°ÃÌií«ªèü’-90䙈 £åS(”©¯´ÉmPvG:«¥ ެŽÃ?`ìÍ‹³ù›#°^!½H9óx—ø¼hûq^Æu÷eìr!4÷:Ük·Åך èr…H^Ëî{©ß¶?÷¶oÛó¯¯aÿûû÷€¿öñöuûåóþüú%íß¿ì?Ox6ì1°£.ù$¿þû—Â<¿ ÈËëþü”ôëËï~ú±ßbÛ-,s’éW)°LCøëNÿì ­È×;óßÛ¦¯%ë!öCmZ0?Þ¶W¬ïão/;>þ` -áqþ -endstream endobj 45 0 obj <>stream -;¢úYÿÿÿÿ;¢úYýƒØH;¢úYüEÐY;¢úYüEÐY;¢úYüEÐY;¢ôbüEÐY;¢ôbüEÐY;¢ôbüEÐY;¢ôbýƒØH;¢ôbÿÿÿÿ;¢ôbÿÿÿÿ;¢úYÿÿÿÿ;¢úYýƒØH;¢úYüEÐY;¢ôbüEÐY;¢ôbýƒØHñZ$ñZ$ñZ$ñZ$;¢úYüEÐY;¢úYû¼~;¢úYùɨ¢;¢úYø‹ ´;¢úYø‹ ´;¢ôbø‹ ´;¢ôbø‹ ´;¢ôbùɨ¢;¢ôbû¼~;¢ôbüEÐY;¢ôbüEÐY;¢úYüEÐY;¢úYû¼~;¢úYùɨ¢;¢ôbùɨ¢;¢ôbû¼~ñZ$ñZ$ñZ$ñZ$;¢úYø‹ ´;¢úY÷MŒØ;¢úYöxý;¢úYôÑk;¢úYôÑk;¢ôbôÑk;¢ôbôÑk;¢ôböxý;¢ôb÷MŒØ;¢ôbø‹ ´;¢ôbø‹ ´;¢úYø‹ ´;¢úY÷MŒØ;¢úYöxý;¢ôböxý;¢ôb÷MŒØñZ$ñZ$ñZ$ñZ$;¢úYôÑk;¢úYôÑk;¢úYó“]3;¢úYñ;r;¢úYñ;r;¢ôbñ;r;¢ôbñ;r;¢ôbó“]3;¢ôbôÑk;¢ôbôÑk;¢ôbôÑk;¢úYôÑk;¢úYôÑk;¢úYó“]3;¢ôbó“]3;¢ôbôÑkñZ$ñZ$ñZ$ñZ$;¢ôbÿÿÿÿ;¢ôbýƒØH;¢ôbüEÐY;¢ôbüEÐY7ûUÇüE”¶4Ržàûélv0»l§û3de0»l§û3de0|jüw†Ï0EuþÛhc3× ¥ÿ¥i7¾#;ÿÿè$7¾#;ýƒÌZ7ûUÇüE”¶4Ržàûélv4ôŸý-¦ºñZ$ñZ$òb$òb$0EuþÛhc0|jüw†Ï0»l§û3de0»l§û3de-$4wú}Ph)ž†êùmh‡&<ûø¡¶&<ûø¡¶%Ã% ù+oo$Ïûw -à(küöÿù,-{Nþ+],ä1±xÝöYi§1t“Ù÷‹`h4Î4ø5?q88ˆRø‹M688ˆR÷M9[8uºÝö ¤5+Pßõ¹ Ì4즞öý:"ñZ$ñZ$òb$òb$1t“Ù÷‹`h1±xÝöYi§1ðÐõG>2-µóãVt/¬¾óE t,‡ òZ3¬)òÕñ"Ïc(žßòH($FêónjÔ'ªvëô”8*ÒEõãÑ.ó–öá`.vQõµ™-.¶IKôq‚±+‹±ªó€e+KÝ:ô½ýfòb$òb$óp#óp#;¢ôbôÑk;¢ôbôÑk;¢ôbó“]3;¢ôbñ;r8²íhñ¬Q5ÅXðÌÓ2æÜFð;L€2m HòŸ.2-µóãVt2-µóãVt5IÃaô~8uºÝôÐùÈ8uºÝôÐùÈ8²íhó’Î5ˆm¢ó<Ò05IÃaô~ñZ$ñZ$òb$òb$2-µóãVt2-µóãVt2m HòŸ.2æÜFð;L€0eæï©Ëv-9ûîМ:*…n¿í±f9)‘ÂÔïýª)òÕñ"Ïc)òÕñ"Ïc,‡ òZ3¬/¬¾óE t/¬¾óE t/Q¤öò‰ù,E\ñ7«,‡ òZ3¬òb$òb$óp#óp#$Ïûw -à%Ã% ù+oo&<ûø¡¶&<ûø¡¶xÐÝõ8°Fìñ!gzsëåÙ -zsëåÙ -9•>ìÆ¾>wÄß•ûæ5ô ˜—EøyìRм9ö.PáxÐÝõ8°Fìñ!g½¶•òJǺóp#óp#ô…#ô…#&<ûø¡¶&¶ËößÓþ'0 öõºE'ªvëô”8!Z‘kñ÷m¾‘ìò½0éCÜDÜê$ªû_§ëíßzsëåÙ -Fìñ!gxÐÝõ8°ò¦ÒôÜT à»uó;v±¾îøé'ÑÄð16<óp#óp#ô…#ô…#'ªvëô”8($FêónjÔ(žßòH)òÕñ"Ïc#ìÆ¾>zsëåÙ -zsëåÙ -î&(æ¹xÒ -Ç‹Ÿà‡”„ú‚ÙÃvMú‚ÙÃvMÔºOÚ=LB‰ÞÛ0ø-†OPâi[ ó¯ué…" µÕçB®Ìî&(æ¹xÒ -Ç‹Ÿà‡”„ ÑêÁáu¯ô…#ô…#öš"öš"zsëåÙ -û_§ëíßÜDÜê$ª½0éCè–äänlÇîÞ¥Íÿ kë;ØUôl -F‚ØÏÊb OÊÙI Wú‚ÙÃvM -Ç‹Ÿà‡”„î&(æ¹xÒÏ ]娧±°åOW­ âú5ߣõ íYXà ¾ô…#ô…#öš"öš"½0éCž;èb8K~úpçM_ߤæ gëã —â#f(J<ÜÄ qÝTdÖèl• ·†¬×bH ‘¸ó×Üw kë;ØUôlÇîÞ¥Íÿè–äänlÉ‚ã‡M(bãK\$6„Ý=ãf.•¦Þ+ø -ô…#ô…#öš"öš"_ߤæ gë_ߤæ gë@ÄÙå¿|À•9ãý¬`Ý~SߨY׋:”ÚâFìN·—Õzêµ"Ön– ÝTdÖèl•ÝTdÖèl•J<ÜÄ qã —â#f(ã —â#f(³êáš*7?¥ÛÕò×J<ÜÄ qô…#ô…#öš"öš"‰ÞÛ0ø-ÔºOÚ=LBú‚ÙÃvMú‚ÙÃvM’Á7Öaêd‚ÇrÒÜ<ØÌ­~ÏE -žÌ­~ÏE -žˆ‹Ï„aÑ$©€Ïþ7ÇæòtÓÓí )Åוp¶TÅ6Ö¡ÄË’Á7Öaêd‚ÇrÒÜ<Ø>«Ó;öš"öš"÷¦"÷¦"$©€Ïþ7Lj‹Ï„aÑÌ­~ÏE -žÌ­~ÏE -ž™€Ë­ØeºeRÈ!~º/¦Ä]‚ãº/¦Ä]‚ã|!ÁÄ]ˆÚÄ]ŽÐÛÈBZbfƒÌ)s—Òe3Ë삦™€Ë­ØeºeRÈ!~|9›ÈBT -÷¦"÷¦"÷­"÷­"ú‚ÙÃvM OÊÙI W -F‚ØÏÊb kë;ØUôl -R²Õ.d œqÑå}¹t±{΋ÝuBƧÎÈÈpþžHϣ̭~ÏE -ž‚ÇrÒÜ<Ø’Á7Öaêd¸ŽðÕèoö„úÕ¨:òÀ+Ò@Û5®£¸Ò€Ùdöš"öš"÷¦"÷¦"Ì­~ÏE -žþžHÏ£BƧÎÈÈpt±{΋ÝuÊÌ|Ë2=2t¸ÀÇÇèýt_KÄ]|ì6QfÄ]|ìøCÄ]‚ãº/¦Ä]‚ãºeRÈ!~™€Ë­ØeN˜×Ë_ì’Í$ËPµ«6¤äÇÇèýøy-È!~÷¦"÷¦"÷­"÷­" kë;ØUôl ‘¸ó×Üw ·†¬×bHÝTdÖèl• ¥ê$ÓúÝÁ ºqoÐ »oÍÒ°M -êʥΛG ¦¢EÎNò{t±{΋Ýu œqÑå}¹ -R²Õ.d B kÔ´Ž €lÔt³· Ž•)ÑJ -Jx·ÑŠEöš"öš"÷¦"÷¦"t±{΋Ýu ¦¢EÎNò{ -êʥΛG »oÍÒ°M ~ÿxʶ¢ /7ÇŠª„ .ŽñÄ]pÿ ð Ä]vö²s'Ä]vöt_KÄ]|ìt¸ÀÇÇèýÊÌ|Ë2=2 ËÓËĹ -G!ÊÕx ðò[ÇŠ°{²Æ¤ÇÇã÷¦"÷¦"÷­"÷­"ÝTdÖèl•ÝTdÖèl•"Ön– N·—Õzêµ/{ŸÒÇQyVFmÏ÷ù„Ä¿lÍ}- `ÝØÍ“Y »oÍÒ°M »oÍÒ°M ºqoÐ ¥ê$ÓúÝÁ ¥ê$ÓúÝÁãæ%Ó»Z þáЮºt ºqoÐöš"öš"÷¦"÷¦" »oÍÒ°M »oÍÒ°M `ÝØÍ“YÄ¿lÍ}-32tÊ;ÍéS®ÇMrè¾–Ä]k l¢ÌÄ]pÿ .ŽñÄ]pÿ .ŽñÄ]pÿ /7ÇŠª„ ~ÿxʶ¢ ~ÿxʶ¢ Ã3ÅÊw÷¿ m1íÇMwù /7ÇŠª„÷¦"÷¦"÷­"÷­"Ä]ŽÐ|!ÁÄ]ˆÚº/¦Ä]‚ãº/¦Ä]‚ãº/¦Ä]/eº/¦Ä\Õñº/¦Ä\||º/¦Ä\|||!ÁÄ\||Ä\v†Ä\ÕñÄ]/e|!ÁÄ])oº/¦Ä]/eº/¦Ä\Õñ|!ÁÄ\Ûç÷­"÷­"÷­"÷­"º/¦Ä]‚ãøCÄ]‚ã6QfÄ]|ìt_KÄ]|ìt_KÄ])ot_KÄ\Ûçt_KÄ\ˆj6QfÄ\‚søCÄ\‚sº/¦Ä\||º/¦Ä\Õñº/¦Ä]/eøCÄ])o6QfÄ]/e6QfÄ\ÕñøCÄ\Ûç÷­"÷­"÷­"÷­"t_KÄ]|ì²s'Ä]vö ð Ä]vö .ŽñÄ]pÿ .ŽñÄ])o .ŽñÄ\Ûç .ŽñÄ\Ž` ð Ä\Ž`²s'Ä\ˆjt_KÄ\ˆjt_KÄ\Ûçt_KÄ])o²s'Ä])o ð Ä])o ð Ä\Ûç²s'Ä\Ûç÷­"÷­"÷­"÷­" .ŽñÄ]pÿ .ŽñÄ]pÿ l¢ÌÄ]pÿè¾–Ä]kè¾–Ä]#xè¾–Ä\Ûçè¾–Ä\šN l¢ÌÄ\”W .ŽñÄ\Ž` .ŽñÄ\Ž` .ŽñÄ\Ûç .ŽñÄ])o .ŽñÄ])o l¢ÌÄ])o l¢ÌÄ\Ûç .ŽñÄ\Ûç÷­"÷­"÷­"÷­"Ä\v†|!ÁÄ\||º/¦Ä\||º/¦Ä\||ºeRÀ´ãØ™€½ ,ñÌ­~¹tú¸Ì­~¹tú¸ˆ‹¹5£…$©€¸»Ç™bfƒ¼‘¿ÛÀw¥_|9›Àw«VºeRÀ´ãØ™€½ ,ñÒe3¼Í|º÷­"÷­"ø´"ø´"$©€¸»Ç™ˆ‹¹5£…Ì­~¹tú¸Ì­~¹tú¸‚ÇrµÝˆ’Á7²Xûú‚®ö ú‚®ö ÔºO®|³‰Þ­‰2 )ű$Žªæòt´çi>«µÄY‚ÇrµÝˆ’Á7²XûTÅ6²:”ø´"ø´"ùÀ!ùÀ!º/¦Ä\||øCÄ\‚s6QfÄ\‚st_KÄ\ˆjt¸ÀÀòYÊÌ|½‡È$t±{º.'áBƧ¹ñ6ïþžH¹±å³Ì­~¹tú¸™€½ ,ñºeRÀ´ãØøy-À´ãØ6¤äÀòc’Í$½iO«N˜×½*Ÿs÷­"÷­"ø´"ø´"Ì­~¹tú¸þžH¹±å³BƧ¹ñ6ït±{º.'á œq¶Ô‡ -R²³‹¡C kë;°dê -F‚¯ê:ô Oʯpdÿú‚®ö ’Á7²Xû‚ÇrµÝˆ®£¸¶9%ûòÀ+¶y$*ö„ú³ËN¸Žð²Ñðçø´"ø´"ùÀ!ùÀ!t_KÄ\ˆj²s'Ä\ˆj ð Ä\Ž` .ŽñÄ\Ž` /7Á/TÛ ~ÿx¾cV »oºçU -êÊ¥ºªj ¦¢EºkÛt±{º.'áÊÌ|½‡È$t¸ÀÀòY²Æ¤ÀòY ðò[Á/TÛ -G!½äêÞ ËÓ½¦:¦÷­"÷­"ø´"ø´"t±{º.'á ¦¢EºkÛ -êÊ¥ºªj »oºçU ºqo·ËF½ ¥ê$´¿'•ÝTd±Ñ’Ê ·†¬±W¼Õ ‘¸ó°Ýæß kë;°dê -R²³‹¡C œq¶Ô‡ -Jx··/ë Ž•)·oé@ €l´EQŸ B k´w9ø´"ø´"ùÀ!ùÀ! .ŽñÄ\Ž` .ŽñÄ\Ž` l¢ÌÄ\”Wè¾–Ä\šNéS®Ál“T32t¾~þ‰Ä¿l» ‚2 `ÝØ»&¬= »oºçU »oºçU ~ÿx¾cV /7Á/TÛ /7Á/TÛ m1íÁl] Ã3žB — ~ÿx¾cV÷­"÷­"ø´"ø´" »oºçU »oºçU `ÝØ»&¬=Ä¿l» ‚2VFm¸Â Ò/{Ÿµò­æN·—³?ª"²Kh¿ÝTd±Ñ’ÊÝTd±Ñ’Ê ¥ê$´¿'• ºqo·ËF½ ºqo·ËF½ þḠJâãæ%´ÿü ¥ê$´¿'•ø´"ø´"ùÀ!ùÀ!‰Þ­‰2ÔºO®|³ú‚®ö ú‚®ö -Ç‹Ÿ¨2jÛî&(¢Œ„zsœÔ,LzsœÔ,L9•>›óA!wÄßš1pÁ ó¯uŸµ€4†UG¦PªM ÑêÁ§DV8 -Ç‹Ÿ¨2jÛî&(¢Œ„ µÕ¡wP“ùÀ!ùÀ!úÑ!úÑ!ú‚®ö Oʯpdÿ -F‚¯ê:ô kë;°dêÇîª1`è–ä¤K’Þ½0ŸváàÜDÜž•ü¬û_§µzsœÔ,Lî&(¢Œ„ -Ç‹Ÿ¨2jÛ íYX¨¬FÇ âú5©š[k±°£j­©Ï ]¢áq¹ùÀ!ùÀ!úÑ!úÑ! kë;°dê ‘¸ó°Ýæß ·†¬±W¼ÕÝTd±Ñ’ÊJ<«õ÷åã —¦–Ÿ._ߤ¢k~úp¡8²@ž; WÍ ½0Ÿváàè–ä¤K’ÞÇîª1`.•¦ªŽV$6„«|!ð(b¥µ´É‚¥,~ ùÀ!ùÀ!úÑ!úÑ!ÝTd±Ñ’ÊÝTd±Ñ’Ê"²Kh¿N·—³?ª‹:”­×¾jÝ~S¨á¥ˆ•9¤¼Rÿ@ÄÙ¢ú‚Ÿ_ߤ¢k_ߤ¢kã —¦–Ÿ.J<«õ÷åJ<«õ÷å?¥¬ä³ê§Õ(ã —¦–Ÿ.ùÀ!ùÀ!úÑ!úÑ!wÄßš1pÁ9•>›óA!zsœÔ,LzsœÔ,LFì—§ãïxÐÝ“US&<û´]©&<û´]©%Ã% Žñ$ÏBô—E@ûæ5”­m<½¶•–o=œFì—§ãïxÐÝ“USм9’‹´vúÑ!úÑ!ûá!ûá!zsœÔ,Lû_§µÜDÜž•ü¬½0Ÿváà‘ìòš¢Z¡!Z‘k–—˜'ªvë”%ÆÓ'0 ö’ÿù&¶Ë‘Ú+b&<û´]©xÐÝ“USFì—§ãï'ÑĘˆÏ±¾™Áum à»u•œÉàò¦Ò”§# úÑ!úÑ!ûá!ûá!½0Ÿváàž; WÍ ~úp¡8²@_ߤ¢kÜíUœ×K#EÍ2ˆ›K4Ê2ÂC\)ÅÇ2Â=e)f\2¡‹ïT@2+Ò‰{ƒ‡1îKý‰†d1°Åô‰‘K2ÅŒæ*2NíC=øF2ˆ•T3¦_2R˜‹ú5Hüé!üé!üé!üé!2+Ò‰{ƒ‡2¡‹ïT@2Â=e)f\2ÂC\)ÅÇ2ß`$¥Æ2ûñd‹»3Âqq°3¼zE2艩‹ß¬«2ˆ‰kFÛ2iX‰p´c2J˜‰võ2®Û¡‹éæ¸2ßi$LQ2ûëm,P2Éé‹å=üé!üé!üé!üé!2ˆ‰kFÛ2艩‹ß¬«3¼zE3Âqq°35É*™¯3RÉí»·3oЧã¶3oʰ~T3A€ã‹ÓÑ*2äóA‰^Ü92Æ‚‰cÁ2§ĉg!R3yg‹Û‡#35Ã44M3RÃ÷\L3"‘%‹×ö²üé!üé!üê!üê!2äóA‰^Ü93A€ã‹ÓÑ*3oʰ~T3oЧã¶4X6(ŒòTB5@*ZŒÐÈ–6) Œ¹e6) Œ¹e6 -A!‹|ÔÙ5Ì£=‰®q4ÔH ‰•™3ÜÄ´‰@U49RW‹´ÿ=4X01Œñîá5@*ZŒÐÈ–5æ„‹•¶ -üê!üê!üë!üë!0»f°†kD0ùo޾p’16Ø$öuá1tâ‘.{/1à( ‘C)2K¼>‘ $2·VgôÓ2P«»b2KJîŽðð2K)HÚ1¡û]#¨1.°ÜqÇv1ll‘Ž©ÌÄ1¢lVã=Û2¼xΚ 1ØÃŽ–”¿üè!üè!üé!üé!2K)HÚ2KJîŽðð2P«»b2·VgôÓ2í €ë:3"ê™á¡3X´²Ø3&’åïõ2ôk Žc×ã2ÂC\)ÅÇ2ˆ›K4Ê2Nó:>EÍ2„óŽw¶ä2·ıÉ2ðÂÕ§ˆý2ºÃŽnæüé!üé!üé!üé!2ÂC\)ÅÇ2ôk Žc×ã3&’åïõ3X´²Ø3sœºÓ53Ž„ÂÎi 3©fÔÉœ…3y46ì3Hû9ŽT×I3Âqq°2ûñd‹»2ß`$¥Æ3B$Ž^½Ø3Atö™#q3^Kú”p3,$6ŽYñTüé!üé!üé!üé!3Âqq°3Hû9ŽT×I3y46ì3©fÔÉœ…3Äf¶Åq3ß–O›3ú¨¾ë33Ìd@„> 3žsŽIà3oЧã¶3RÉí»·35É*™¯3eûüŽPùR3”-î‹ m3±L‚‡Ôq3ºŽMháüé!üé!üê!üê!3oЧã¶3žsŽIà3Ìd@„> 3ú¨¾ë34Ó¡¥¤ž95¬ „õ›6…vòoº6fªû2…‚6GÙõõI6) Œ¹e5@*ZŒÐÈ–4X6(ŒòTB4†yþŽ-l4¥WØiñ5@Hec5^üGŽ XÎüê!üê!üë!üë!1tâ‘.{/1²I—’f€}1ïÿV“žÕ2-» ”Ö…#2‘™D”ľÜ2õ}u”²òŸ3Ya¥”¡,Y3#[é“gµK2íV,’.D52·VgôÓ2K¼>‘ $1à( ‘C)2ÝÊ’SHw2S㆓Œ¹Ž2¿w¸“y‰2Áú’A|:üè!üè!üé!üé!2·VgôÓ2íV,’.D53#[é“gµK3Ya¥”¡,Y3‹MÆ”˜4V3½9ç”aÂ3ÙŸœ’ü(3©fÔÉœ…3Ž„ÂÎi 3sœºÓ53¥Ä’ MŸ3Õ÷P“G­B3ðßX“Bà¾3¾·”’Ȭüé!üé!üé!üé!3©fÔÉœ…3ÙŸœ’ü(4 Òn“>aÂ4: 6”xÁd4S”tãl4l\¹”rAˆ4……{”nò°4W;¯“4E‡4(ñâ‘ù˜]3ú¨¾ë33ß–O›3Äf¶Åq3ôŸ‘ÿЩ4"ãU“:ƒÊ4>í“7”^4 à‘ý.Äüé!üé!üê!üê!3ú¨¾ë34(ñâ‘ù˜]4W;¯“4E‡4……{”nò°5O”Vî'6óÔ9(—6áæÃ”$Æc6ÃÕ’è6*6¤Hß‘«¥ò6…vòoº5¬ „õ›4Ó¡¥¤ž95ëq‘ßKc5 ÉL“@ý5ù!Ö’ü˜_5ÊÞ‘Á‹Êüê!üê!üë!üë!2-» ”Ö…#2-» ”Ö…#2kpÉ–Šq2æâ=˜~•3Ct˜n4™3Ÿ>«˜]Ú3ûlã˜M3ga•Úå3Ya¥”¡sé3Ya¥”¡,Y2õ}u”²òŸ2‘™D”ľÜ2‘™D”ľÜ2ÇŸ•þ/ó339*•ë?~2õƒk”³:0üè!üè!üé!üé!3Ya¥”¡,Y3Ya¥”¡sé3ga•Úå3ûlã˜M4){ ˜E(Ÿ4W‰6˜<ט4…V˜4†‘4!SÄ•ÀµØ3ï+ÿ”†£¼3ï& ”†DQ3½9ç”P—Ú}7²¹•a\’6áæÃ”$Æc6áæÃ”$Æc6óÔ9(—5O”Vî'5O”WM’5mðó•”C,6F7™•t;#6óÔ9(—üê!üê!üë!üë!5Ì£=‰®q6 -A!‹|ÔÙ6) Œ¹e6) Œ¹e7s Œ¨ -#7ûÍ Œ”c8åVÆŒ…é_8åb³Œ…‰ô8Ö¥‹GÕƒ8·HœˆÌÒ7¾LúˆÛ®Õ6Åu!ˆðÕ×7 ‹iöG7s Œ¨ -#7ûÓŒ“¡ø7Ý ‹V¬^üë!üë!üí!üí!8·HœˆÌÒ8Ö¥‹GÕƒ8åb³Œ…‰ô8åVÆŒ…é_9Ï9ôŒ€:¹+ŒzË;¢ôbŒt4ý;¢ôbŒt4ý;¢ôb‹6';¢ôbˆºW:©½ˆÀI‘9°áˆÆÊ9Ï?ê‹A‘J9Ï?ꌟ.:¹+ŒzË:©½‹úÃ9ØFR8ô¶Ê×Ù8åVÆŒ…é_7ûÍ Œ”c7s Œ¨ -#71Döäš[7@¤ú"¨@8)ó¥w8 'ѯÝüë!üë!üí!üí!8åVÆŒ…é_8ô¶Ê×Ù9ØFR9jæ>úÃ9íî9u`:Èq93ïü;¢ôb.d¢;¢ôbŽðV½;¢ôb²HØ;¢ôbŒt4ý:¹+ŒzË9Ï9ôŒ€9Þ”½³ -9Þ”ŽûÀï:Èq9ŽõÜ!:¹+¸-§üí!üí!üî!üî!6…vòoº6¤Hß‘«¥ò6ÃÕ’è6*6áæÃ”$Æc7¬zÇ”lÅ8vÍ1”¦~9Ay“ø '92’º]­9"Äô‘|©=9jæ>úÃ89MLSñ7_vè_8y7~BÞ‘›Î¨7¨Ù’ÙÜ8gs#’Æø8H§-‘Šaüë!üë!üí!üí!9jæ>úÃ9"Äô‘|©=92’º]­9Ay“ø ': ¢+“òæ/:×ËG“íÀ7;¢ôb“è”H;¢ôb’ª†c;¢ôb‘lx~;¢ôb.d¢:Èq93ïü9íî9u`9ýH‘w#Ù9ýH’µ1¾:×ËG’¯¬[:Èq9‘qýáüí!üí!üî!üî!6áæÃ”$Æc6áæÃ”$Æc7²¹•a\’7>P—Ú}7ùx¯—Í¡8´MC—¼ÿ9o0—±‹9PÇ0•6 9Am"“øk’9Ay“ø '8vÍ1”¦~7¬zÇ”lÅ7¬zÇ”lÅ7»ÚË•T€¡8•‡C•Aû„8vÁC” àüë!üë!üí!üí!9Ay“ø '9Am"“øk’9PÇ0•6 9o0—±‹:+\=—¬Vþ:ç%T—§q;¢ôb—¢Ãí;¢ôb•&¨#;¢ôb“è”H;¢ôb“è”H:×ËG“íÀ7: ¢+“òæ/: –>“óEš: –>•1S:ç%T•+n°:×ËG“íÀ7üí!üí!üî!üî!;¢ôbˆºW;¢ôb‹6';¢ôbŒt4ý;¢ôbŒt4ý;¢ôbŒt4ý;¢úYŒt4ý;¢úYŒt4ý;¢úYŒt4ý;¢úY‹6';¢úYˆºW;¢úYˆºW;¢ôbˆºW;¢ôb‹6';¢ôbŒt4ý;¢úYŒt4ý;¢úY‹6'üî!üî!üî!üî!;¢ôbŒt4ý;¢ôb²HØ;¢ôbŽðV½;¢ôb.d¢;¢ôb.d¢;¢úY.d¢;¢úY.d¢;¢úYŽðV½;¢úY²HØ;¢úYŒt4ý;¢úYŒt4ý;¢ôbŒt4ý;¢ôb²HØ;¢ôbŽðV½;¢úYŽðV½;¢úY²HØüî!üî!üî!üî!;¢ôb.d¢;¢ôb‘lx~;¢ôb’ª†c;¢ôb“è”H;¢ôb“è”H;¢úY“è”H;¢úY“è”H;¢úY’ª†c;¢úY‘lx~;¢úY.d¢;¢úY.d¢;¢ôb.d¢;¢ôb‘lx~;¢ôb’ª†c;¢úY’ª†c;¢úY‘lx~üî!üî!üî!üî!;¢ôb“è”H;¢ôb“è”H;¢ôb•&¨#;¢ôb—¢Ãí;¢ôb—¢Ãí;¢úY—¢Ãí;¢úY—¢Ãí;¢úY•&¨#;¢úY“è”H;¢úY“è”H;¢úY“è”H;¢ôb“è”H;¢ôb“è”H;¢ôb•&¨#;¢úY•&¨#;¢úY“è”Hüî!üî!üî!üî! -endstream endobj 46 0 obj <>stream -ª¯zü­+®=€J®=€JŽ]Á®>M Ê6®vÜ®-H®Ñã÷®ãI®Ì3ïâhæ­¡DáH¸o«QÍ8†»ª÷‡È»(ª°G½È»(­÷ÖŽ]Á®>M ÊÑ7®yÆÔÒ72­G>š9µJ9µJM»FM»FH¸o«QÍâhæ­¡Dá®ãI®Ì3ï®-H®Ñã÷&þ®èI›u*®új4 ‹_¯F¸ -]Я ïHq ­ãÄÿe«—~æK˜±«}†Ìš4«i_afJ«­¹‡Å'ºN®â°œGœ®ô£kÐJY­É—íM»FM»FP¼EP¼Eÿe«—~æHq ­ãÄ -]Я ï ‹_¯F¸wW£¯+=à$/¯C° Cö´¯Z´d DÚ5¯U1Û Œ†€®.p -õ嫿o ®«Í_g ;œ'«³?ÀMÏ­ÿ#x*¯%Èuá `¯>-y ’^®`nP¼EP¼ER½ER½E -õ嫿o Œ†€®.p DÚ5¯U1Û Cö´¯Z´d uÆ^¯fœõ ¦²‡¯pÕE կݯ}hw Ö“_¯xÐ -"«€®R -¹øB¬ xE -†«†«þȰ -QS†«ósÿ Âä!®;u v©à¯am §– ¯k‹ ï^Ä®DÉÕR½ER½ER½ER½E -¹øB¬ xE -"«€®R Ö“_¯xРկݯ}hw -…c¯Ššë -2g¯—}¾ -^z𝤑 -_^¯Ÿ Š -¯£ƒ®zˆ5 OV1¬6uã áy¬(×_ -í~¬Ø* -UÐm®`ÙO -h寅\£ -2ÿ鯒ƒ· -4z®läR½ER½ES½ES½E OV1¬6uã -¯£ƒ®zˆ5 -_^¯Ÿ Š -^z𝤑 -·%B· -èK¯ÕÚ Y¼¯ëxü Z”"¯ç)• ²ƒÅ®Äß a–J¬„è Š¬l s °#2¬R= pƒ®–Þ -¸ o¯¸=O Àl¯ÐÄt \w•®¬WßS½ES½ET½DT½D a–J¬„è ²ƒÅ®Äß Z”"¯ç)• Y¼¯ëxü ©'°r ñ°£ 52h°1Ð 5èi°.Aÿ ”“f¯ Q(¬Ñ4: ÅѬ¸åö ¸‹¬›®º ü®Ûú& ©Ù˜¯ü"µ ñÄs°óž J+‡®õ¿ÍT½DT½DU¾DU¾D Q(¬Ñ4: ”“f¯ 5èi°.Aÿ 52h°1Ð y}°HÉ ¸0¬°^' òkò°q×Ä óƒ°o€ Wq™¯P×µä­$ã à+E­£C ›QO¬êO@ Þ·¯') yÙ/°E; ¸Ê<°[[ã áJ¯;UuU¾DU¾DU¾DU¾Dµä­$ã Wq™¯P× óƒ°o€ òkò°q×Ä gÁ°—…ü Æ_ï°¾9ÖŸá°ÜNãéѰÚù¡€'䯿ø›ZI -­‹W0-­jŒ?Ÿjc­@Ž  ×&¯z@Ó h¢°”ĸ Ư°¼ä”,èX¯Ÿ-ªU¾DU¾DV¾DV¾DZI -­‹W0€'䯿ø›éѰÚù¡Ÿá°ÜNã«´±„]÷Hö±6™j÷Hö±6™j÷Hö±6™jk{C°eSÚ.­íüCSÚ.­íüC«²­Í’&„ܰ»ý«^U±/÷Hö±6™jk{C°eV¾DV¾DV¾DV¾D®=€J¯lÕ°œ0c±Ë‹HTY±ÌX [ª²ââ¢"²R¶ÒG'¿±'Âz­[¯üض®-H®Ñã÷Ê6®vÜŽ]Á®>M Ž]Á¯m¢@TY°œý%/ž°Üî$–•™¯ªk›9µJ9µJM»FM»F®-H®Ñã÷z­[¯üضG'¿±'¢"²R¶Òhµ²g'pëQ¤²wH¨OQ©²)då±d®Ëx"°;03 ‹_¯F¸›u*®új4&þ®èIó~°°2w´è¢±<>)dà±N_-]aî°#S¯M»FM»FP¼EP¼E ‹_¯F¸Ëx"°;03då±d®OQ©²)³²¤‹LL²ºLl÷ƒ²Îô ´£Î±¨7óüP°p{ Cö´¯Z´dà$/¯C°wW£¯+=9Df°Tx¸ñ&Z±{Yò籓J4˜}”°jwyP¼EP¼ER½ER½E Cö´¯Z´düP°p{´£Î±¨7ól÷ƒ²Îô š97²ÙÀ;ƳٲâÜ)ñgy²îRú =š±È³D ‰—¼°£. կݯ}hw ¦²‡¯pÕE uÆ^¯fœõ .°Y á傱³$ Ëû±½‘ -Qçg³Rop -©× -²0~ Ì]± Îí Y¼¯ëxü -èK¯ÕÚ -·%B· -fà†°áÆ -yr²î| -b;ϲË -²ø¨°÷^kS½ES½ET½DT½D Y¼¯ëxü Ì]± Îí -©× -²0~ -Qçg³Rop -™ÿ³e/Ì -ÛQd³~(± <г’`o wâ²r, Ö±Qø“ 52h°1Ð ñ°£ ©'°r QÔ±"¼¬ -ñõ²Bå: 9ö±²]ôà ’cu±;µ‘T½DT½DU¾DU¾D 52h°1Ð Ö±Qø“ wâ²r, <г’`o Vï\³§BÎ ;³º¢k Å"³ÌЦ )޲®K; ÿݱ/ òkò°q×Ä ¸0¬°^' y}°HÉ x0±hüõ µšZ²‡à ô­ˆ²œn` SÄ–±|\’U¾DU¾DU¾DU¾D òkò°q×Ä ÿݱ/ )޲®K; Å"³ÌЦ /™ ³î}X …¶`´çm Êñ´-F– 8)k³Pð ¥aα÷OéŸá°ÜNã Æ_ï°¾9Ö gÁ°—…ü û±µÅh ”6²ÐIM òîòöæg Y'Œ±Ù:ÝU¾DU¾DV¾DV¾DŸá°ÜNã ¥aα÷Oé 8)k³Pð Êñ´-F– Uwf´câÈ š·¾´6 š·¾´6ê ³g.ƒ¨²NÍÌ÷Hö±6™j÷Hö±6™j«´±„]=ÖQ²3z ¯ɳHí!ê ³g.ƒ¨²NÍÌV¾DV¾DV¾DV¾D±Ë‹H²úÚÍ´*5²µY–¢òµZ]Wí8̵NèyûµÓ~L¬œ˜´¨”îà"5³} 0¢"²R¶Ò[ª²ââTY±ÌX TY²û§Ž¢ò´+s ¾i´eZ*($d³2Ì@9µJ9µJM»FM»F¢"²R¶Òà"5³} 0¬œ˜´¨”îyûµÓ~LÛ͵æ(;.µô'•£¶ÊúÓ0à´ÞáD³µøOQ©²)ëQ¤²wH¨hµ²g'pMã³’/R»´»'ÊyAY´Ë=¢­>g³ 2$M»FM»FP¼EP¼EOQ©²)D³µøÓ0à´Þá•£¶ÊúîΙ¶‹9Dn¹¶0\—•øR¶C3³ݤµw›%K8³õ°#l÷ƒ²Îô LL²ºL³²¤‹tÿá³Ìüf,áմ󡾌µ •Ê ³àÂdP¼EP¼ER½ER½El÷ƒ²Îô %K8³õ°#ݤµw›•øR¶C3³¾¬¶LãæºÛ¶Tã  d¶_=}Y1†µ9Ç¥OW´ò°ñgy²îRúƳٲâÜ)š97²ÙÀ;RŒì´‡³XZµ&'j2Òüµ/CWz›·´{ßR½ER½ER½ER½Eñgy²îRú¥OW´ò°Y1†µ9Ç d¶_=}3UͶj+ÍXŒ•¶tÊ}|½»¶$ìÍÒµZ¡˜ Sê´6C mŸ³šï EQ¦³$ 혲úi ÏÕw´ ÂmïµDŒ¨ÑüµPG(õ >´*²ÒR½ER½ES½ES½E mŸ³šï Sê´6CÍÒµZ¡˜|½»¶$ìÅ6Ƕ“·« ¤­¶§H J ¶¹Zƒ ¢pµ—ò ùò´tº -Qçg³Rop - -F|³>‘ ¾.Z³(}1 mãC´M… ßµo(÷ ašµ„Ì· ²VÙ´``"S½ES½ET½DT½D -Qçg³Rop ùò´tº ¢pµ—ò J ¶¹Zƒ Šø^¶ÉøÜ Å”U¶àÄ^ ýAˆ¶òðÙ -[솵ÒÈK -º‘Ó´²”] <г’`o -ÛQd³~(± -™ÿ³e/Ì -B´‡…½ âí±µ§¢ë -$?SµÀ›Ð -|¦g´ž\ŸT½DT½DU¾DU¾D <г’`o -º‘Ó´²”] -[솵ÒÈK ýAˆ¶òðÙ -4Á;·¼• -hFØ·'¯ -—Ø·'=‡ -üD%¶þ `µë´êÊ Å"³ÌЦ ;³º¢k Vï\³§BÎ -øJ´Çv¼ -“f‰µåˆ§ -Ì²îµøèD +Ϭ´ØáÖU¾DU¾DU¾DU¾D Å"³ÌЦ `µë´êÊ -üD%¶þ -—Ø·'=‡ -÷ªÎ·Et´ E"·e• ƒB/·~I© ðz’¶cH£ ]²õµHGœ Êñ´-F– …¶`´çm /™ ³î}X Ë'Zµ ¼Ä \”¶'@© ²?…¶J“þ xMµ,ètU¾DU¾DV¾DV¾D Êñ´-F– ]²õµHGœ ðz’¶cH£ ƒB/·~I© ÿÚh·¯L’ >&…·ÇÓ· >&…·ÇÓ· ²XÓ¶¯ŸU &‹ µ—jó š·¾´6 š·¾´6 Uwf´câÈ è9Sµ~ãÎ m|¶”Vì ²XÓ¶¯ŸU &‹ µ—jóV¾DV¾DV¾DV¾DµY–µY–¶ˆà¸ç•äß?Û¸èb¦~ÍG¹¯ŽÞ‘„¹TQ'D÷Í·.sx}jµÙ9µyûµÓ~Lí8̵Nè¢òµZ]W¢òµZ]Wß?Û¶‰¬Üå3¶ÈŒÚìŸ;µ•þð9µJ9µJM»FM»FyûµÓ~Lx}jµÙ9µD÷Í·.sÞ‘„¹TQ'677¹dúà‹ -–¹q’Ú鹂’ÌVNµ·6†ž”aò¶ ‘Õ£¶Êú;.µô'Û͵æ(Û3µëÌ‘œ£0·Ø,u^·$ùd:rlµùíæM»FM»FP¼EP¼E•£¶Êú”aò¶ ‘ÃVNµ·6†žÚ鹂’Ì*й•çv‘%¹¦§‚¾ù!¹·s[MF·o}³•%á¶H¶;•øR¶C3³Dn¹¶0\—îΙ¶‹9îè¶"R¥ôÜ·H÷ZJ·^±ÚCœG¶5ßP¼EP¼ER½ER½E•øR¶C3³•%á¶H¶;MF·o}³¾ù!¹·s[ãç¹À'ÁܹÆõR(Ðÿ¹Ð'ÿÀ.Ñ·Š&Û Fó¶d‡% d¶_=}æºÛ¶Tã ¾¬¶Lã½Ùž¶Rqjq¥ ·x ž®·€ô-åèj¶Z,µR½ER½ER½ER½E d¶_=} Fó¶d‡%À.Ñ·Š&Û(Ðÿ¹Ð'ÿJ¾¹ÙîŽkÁÓ¹ã|<‹â#¹ìºJ+¥â·¨­¨{ëI¶„*T|½»¶$ìXŒ•¶tÊ}3UͶj+Í2ƒ\¶ouuâÔ·“øÊ …’·Ÿo›Wº#¶yÏäR½ER½ES½ES½E|½»¶$ì{ëI¶„*T+¥â·¨­¨‹â#¹ìºJÌ?3¹þò% ÞºÿB8ƒº E—ñVi·ßÿÛ IF ¶½©ê J ¶¹Zƒ ¤­¶§HÅ6Ƕ“·«ÄdV¶˜±³kýB·ºå„¸ ÷ÏÓC Ýœ¶«rS½ES½ET½DT½D J ¶¹Zƒ IF ¶½©êñVi·ßÿÛB8ƒº E—{ö©º.¶¯Ü÷ºCkláKñºSŒ¤ ëê¸²Í ü–ç¶öŠ? ýAˆ¶òðÙ Å”U¶àÄ^ Šø^¶ÉøÜ Š1M¶ÎHC +·îpÑ l|ð¸œõ Äé´¶ä]ÃT½DT½DU¾DU¾D ýAˆ¶òðÙ ü–ç¶öŠ? ë긲ÍáKñºSŒ¤ “ºd6\ @Qïºs¬ô jŽºði -2ظH>7 -—IÞ·)þË -—Ø·'=‡ -hFØ·'¯ -4Á;·¼• -4ê· J› Ï3¸'\† -›é¸9úÁ -g¸§·èóU¾DU¾DU¾DU¾D -—Ø·'=‡ -—IÞ·)þË -2ظH>7 jŽºði ¿Â-ºœl -W㺹B› -;“UºÏA\ ¿Û¸š”‘ ‚ø>·žë ƒB/·~I© E"·e• -÷ªÎ·Et´ -÷·HAY -ˆ (¸bÅ> -Þ~¹¸„¡1 D½1·fêFU¾DU¾DV¾DV¾D ƒB/·~I© ‚ø>·žë ¿Û¸š”‘ -;“UºÏA\ -ªCºú¶] -ášý»pÝ -ášý»pÝ Éùè¸à >&…·ÇÓ· >&…·ÇÓ· >&…·ÇÓ· ÿÚh·¯L’ ÿx·°­4 „ið¸Æò Éùè¸à >&…·ÇÓ·V¾DV¾DV¾DV¾DSÚ.­íüCk{C°e÷Hö±6™j÷Hö±6™j&2±³þeNµ4²@s—oˆd²Û Ýoˆd²Û ÝŒ±ÔÉV1u¯¸çðâ -n¯$´ž}|®vضᰧ@Ô&2±³þeNµ4²@s—íbA±8`mV¾DV¾DY¿CY¿C1u¯¸çðŒ±ÔÉVoˆd²Û Ýoˆd²Û Ý[“³uÎ$©„†´¨ ¹Ä¼´Ô¿ð¹Ä¼´Ô¿ðiTb³Ï@Š´±à„g‹5±äÿXR˰a«,>Îײq=Ÿ[“³uÎ$©„†´¨ Xò ³šY¿CY¿C`ÁB`ÁB´±à„giTb³Ï@йļ´Ô¿ð¹Ä¼´Ô¿ðÚ?y¶@úð× à·âCþ¦s¹±F1¦s¹±F1|›„¸Ú¾q)”D·-ű0°âµ4èç³mÙøŠ_µ;´jÚ?y¶@úð× à·âCþƒ¸"¶áì `ÁB`ÁBrÆ>rÆ>÷Hö±6™jƒ¨²NÍÌê ³g. š·¾´6­ìh´ñZ»ZJµpÂyÁßRµýYËEkÇ´ïiëûï³éoˆd²Û ÝNµ4²@s—&2±³þe²}²Ì2Ç"³Øäø5®a´\¯ýÔ[n³T‘sV¾DV¾DY¿CY¿Coˆd²Û Ýëûï³éEkÇ´ïiÁßRµýYËÈdZ¶‰å¼Ȉ·#_⿌·ÈûydÝÀ¶ÑgmfµÌ¹Ä¼´Ô¿ð©„†´¨ [“³uÎ$œq´}‘®U),µ‚"3aœ¶#ÔÄ|"µ3>Y¿CY¿C`ÁB`ÁB¹Ä¼´Ô¿ðmfµÌdÝÀ¶Ñg¿Œ·Èûy®Œ¹ç}fÞº”"¤S¼4Ʋù ³»^>òϺ‡Â’¦s¹±F1× à·âCþÚ?y¶@úðUž·'è(l‡g¸-.®Sã?¹¹=€¸¸À_`ÁB`ÁBrÆ>rÆ> š·¾´6 &‹ µ—jó ²XÓ¶¯ŸU >&…·ÇÓ· 5¡¸.?°'ÿa¸¡[6A¹‡X—µ¸–¥>RÞ· J~ÁßRµýYË»ZJµpÂy­ìh´ñZ9º¶ M½ ©ÓT· N¢Y'·ŒóA4¶„àUV¾DV¾DY¿CY¿CÁßRµýYË>RÞ· J~—µ¸–¥6A¹‡Xm"¹žµævÙº(#ÅMź½+¡j¥¹ÅÍ4¸ÀN*¿Œ·ÈûyȈ·#_âÈdZ¶‰å¼;Ÿˆ·‘©F1ô¸–9Ë„í¹(—å.òs¸"ö_Y¿CY¿C`ÁB`ÁB¿Œ·Èûy4¸ÀN*j¥¹ÅÍÅMź½+¡‚õï»ç<Þ#¼-½<ðœŸ/3¾¸G2u«“½á¿rL'ó½ C"¤S¼4Ʋ}fÞº”®Œ¹çð³°¹û @ßÊ»O¥ú8¼ft<¦ê~»f]`ÁB`ÁBrÆ>rÆ> >&…·ÇÓ· >&…·ÇÓ· Éùè¸à -ášý»pÝ ½[U»kf ”ª'»Ñ`= f0¼AÀEm¦º%Þß6A¹‡X6A¹‡X'ÿa¸¡[ 5¡¸.?° 5¡¸.?° ¥º@¹:ýA ‰RT¹©/å'ÿa¸¡[V¾DV¾DY¿CY¿C6A¹‡X6A¹‡Xm¦º%Þß f0¼AÀE8ué¼² MòÚ½,æ$Ë"½±g*¾»Â«ÅMź½+¡ÅMź½+¡ævÙº(#m"¹žµm"¹žµQùݺ¢Ù7»-ĉævÙº(#Y¿CY¿C`ÁB`ÁBÅMź½+¡ÅMź½+¡¾»Â«Ë"½±g*WT¾º]ÕÊ+¿êA;´cÁ;¼RȲӿŽÃ’Ÿ/3¾¸G2Ÿ/3¾¸G2#¼-½<ðœ‚õï»ç<Þ‚õï»ç<ÞÓ'¸¼ìƒdwë¾=H{#¼-½<ðœ`ÁB`ÁBrÆ>rÆ>)”D·-ű|›„¸Ú¾q¦s¹±F1¦s¹±F1D.ê½OU÷"+ZÁ¤U¯$ ó»Æ_ú?$ ó»Æ_ú?%9(ÅëÇñ'i‹2ÅcW%Eÿ‘¿Øá"[»u´ n\—¼ÌyÔD.ê½OU÷"+ZÁ¤U¯#œ|ÀÁFrÆ>rÆ>Î8Î8¦s¹±F1Ϻ‡Â’ù ³»^>ò"¤S¼4Ʋm|¿6;®ýÃoÕ< ØV•Ǽ‘'!ðŠ÷ÇH^Ú#¿YÆÔ,Œ$ ó»Æ_ú?"+ZÁ¤U¯D.ê½OU÷m²‰¾%ÒXC„ܾ¨¹Û (ã_Âû¢ï!%½Â‡ürÆ>rÆ>Î8Î8"¤S¼4ƲL'ó½ Cu«“½á¿rŸ/3¾¸G2•âÁ¯ö ‹Å;TÊ¿É3o§ó€È¥"À"3È0Ãt ØV•Ǽ‘'®ýÃoÕ<m|¿6;–ŒÀU²›l^oÀØŽ¾=íÄÇøz›ÃäŠrÆ>rÆ>Î8Î8Ÿ/3¾¸G2Ÿ/3¾¸G2ȲӿŽÃ’´cÁ;¼R¾»¢ÃÞöÂÛ^iÇÈøG!øÊuÊXwмÉe½¿É3o¿É3oö ‹Å;TÊ•âÁ¯•âÁ¯k´bÂ1ò¢ Ç-Æd]ö ‹Å;TÊrÆ>rÆ>Î8Î8'i‹2ÅcW%9(ÅëÇñ$ ó»Æ_ú?$ ó»Æ_ú?%¡3Ƚf&%Úà_Ë41T&Z?Í·)S&Z?Í·)S'fêÍzºù)Öð͈¬)Kò²ÊHÝõ(|Hlǘ&Kß§È€z«%¡3Ƚf&%Úà_Ë41T'ü\Ê÷#¹Î8Î8Ò5Ò5)Öð͈¬'fêÍzºù&Z?Í·)S&Z?Í·)S&™ìLÎø™ó&ÉãäÐ=&×&éó#уþ&éó#уþ(B}ÑO.*s´kÑ*Õ*PÁÇÏÇqÈ*oiÎeXW'ÏY솙&™ìLÎø™ó&ÉãäÐ=&×'ý¤ïПÒ5Ò5¤Ô4¤Ô4*s´kÑ*Õ(B}ÑO.&éó#уþ&éó#уþ' -cÒÈë$')KÔ9M'4«ÕW7Õ'4«ÕW7Õ(I‰àÕW7Õ*¨9úÕW,u*¨9úÓòüa*–§ÒŽCÍ(:à -Ҝ˂' -cÒÈë$')KÔ9M(I‰àÓóÁ¤Ô4¤Ô4§Õ3§Õ3$ ó»Æ_ú?#¿YÆÔ,Œ!ðŠ÷ÇH^Ú ØV•Ǽ‘'!¼ôJÉâ¶<"iÎ Ì"ÝŽ™ÎgÉû$V<Î-«$%6wéÍñ<Ê&Z?Í·)S%Úà_Ë41T%¡3Ƚf&$lÑÉ1˜t"Õ(¬Énƒï#‡É7ËÈaÑ$¼å4Ë‹T6Î8Î8Ò5Ò5&Z?Í·)S%6wéÍñ<Ê$V<Î-«$"ÝŽ™ÎgÉû#nßÏ‹æï#CвÛç#`1ÜÑÛ<á$‹í«ÑÉf%¾7TÑ•5y&éó#уþ&ÉãäÐ=&×&™ìLÎø™ó%sFôÏ$1$>çÏ`OÎ$l”lЕÌ|% UwÐZ6CÒ5Ò5¤Ô4¤Ô4&éó#уþ%¾7TÑ•5y$‹í«ÑÉf#`1ÜÑÛ<á#}XÓÜ#ŒíÔ-v8#Œ/]ÕWC5$»„’ÕWC5%êßwÕWC5'4«ÕW7Õ')KÔ9M' -cÒÈë$%Ü1ÒÐ4¯$«A:ÒüTQ$»h"Ô-jØ%êÎgÔ9M¤Ô4¤Ô4§Õ3§Õ3 ØV•Ǽ‘'À"3È0Ãt§ó€È¥"¿É3o]MËRø»¹Í -ãr`ݤÏ_C „¥HÎÞKÌ!¹ÆõΡÝr"ÝŽ™ÎgÉû"iÎ Ì!¼ôJÉâ¶< ¤¿èÊVèŠusÊ“Ô ¶ä̳À!KÒáÌv²õÎ8Î8Ò5Ò5"ÝŽ™ÎgÉû!¹ÆõΡÝr „¥HÎÞKÌ`ݤÏ_C”ëÂÐ(‹¼-ÍÑ(÷Öp”Ò3pÅ!,cÒ!DJ"4v Ñíi]#`1ÜÑÛ<á#CвÛç#nßÏ‹æï!ðÃ×Ï·r° »–ÊÏó‘j å¼9Ñ ‹"w”ÐÏëRÒ5Ò5¤Ô4¤Ô4#`1ÜÑÛ<á"4v Ñíi]!,cÒ!DJÖp”Ò3pÅð³[Ó>P“ýüÔJ§Äþ*ÕWN•!-DÕWN•"\Ú)ÕWN•#Œ/]ÕWC5#ŒíÔ-v8#}XÓÜ"Ot…Ó -çg!–ÞÓ7!-WtÔJ§Ä"\½¸Ô-v8¤Ô4¤Ô4§Õ3§Õ3¿É3o¿É3owмÉe½G!øÊuÊXý (Ì-Vh‡©fÍöB2ä,°ÏÈÿê+¶GÏTÍ`ݤÏ_C`ݤÏ_Cø»¹Í -ãr]MËR]MËR.ìËDæmß¼ÍGñ ø»¹Í -ãrÎ8Î8Ò5Ò5`ݤÏ_C`ݤÏ_C+¶GÏTÍä,°ÏÈÿênUвj&5OéÑžFL¯LÒ‹¤©¤!;ÒgK²Öp”Ò3pÅÖp”Ò3pż-ÍÑ(÷”ëÂÐ(‹”ëÂÐ(‹_ÄeÐ[;äˆlÁÑd'0¼-ÍÑ(÷Ò5Ò5¤Ô4¤Ô4Öp”Ò3pÅÖp”Ò3pŤ!;ÒgK²L¯LÒ‹¤©d¯ÓyKoëáÔgä¯p$ÁÕWYõÎÔÚÕWYõþ*ÕWN•þ*ÕWN•ýüÔJ§Äð³[Ó>P“ð³[Ó>P“¿Õ´Ójp5ΛúÔgÙOýüÔJ§Ä¤Ô4¤Ô4§Õ3§Õ3*¨9úÕW,u(I‰àÕW7Õ'4«ÕW7Õ'4«ÕW7Õ'4«ÕW’Õ'4«ÕWâv'4«ÕX=v'4«ÕX=v(I‰àÕX=v*¨9úÕXHÖ*¨9úÕWíÖ*¨9úÕW’Õ(I‰àÕW’Õ'4«ÕW’Õ'4«ÕWâv(I‰àÕWâv§Õ3§Õ3§Õ3§Õ3'4«ÕW7Õ%êßwÕWC5$»„’ÕWC5#Œ/]ÕWC5#Œ/]ÕW’Õ#Œ/]ÕWâv#Œ/]ÕX2$»„’ÕX2%êßwÕX=v'4«ÕX=v'4«ÕWâv'4«ÕW’Õ%êßwÕW’Õ$»„’ÕW’Õ$»„’ÕWâv%êßwÕWâv§Õ3§Õ3§Õ3§Õ3#Œ/]ÕWC5"\Ú)ÕWN•!-DÕWN•þ*ÕWN•þ*ÕWž5þ*ÕWâvþ*ÕX&¶!-DÕX&¶"\Ú)ÕX2#Œ/]ÕX2#Œ/]ÕWâv#Œ/]ÕW’Õ"\Ú)ÕWž5!-DÕW’Õ!-DÕWâv"\Ú)ÕWâv§Õ3§Õ3§Õ3§Õ3þ*ÕWN•þ*ÕWN•ÎÔÚÕWYõp$ÁÕWYõp$ÁÕWž5p$ÁÕW×p$ÁÕXVÎÔÚÕX&¶þ*ÕX&¶þ*ÕX&¶þ*ÕWâvþ*ÕWž5þ*ÕWž5ÎÔÚÕW’ÕÎÔÚÕWâvþ*ÕWâv§Õ3§Õ3§Õ3§Õ3*¨9úÕXHÖ(I‰àÕX=v'4«ÕX=v'4«ÕX=v')KÖŸ;þ' -c׿Š'&éó#Ù,lM&éó#Ù,lM(B}Ù`G:*s´kÙ„ 1*–§Ø!<Þ*¨9úÖ¼xê(I‰àÖ¼mŠ')KÖŸ;þ' -c׿Š'(:à -ةɧÕ3§Õ3ªÖ2ªÖ2*s´kÙ„ 1(B}Ù`G:&éó#Ù,lM&éó#Ù,lM&ÉãäÚrYÓ&™ìLÛ¶ÛX&Z?ÜøWX&Z?ÜøWX'fêÝ4ºR)ÖðݨìŸ*oiÜJó*PÁÇÚèã'ý¤ïÚ­ð &ÉãäÚrYÓ&™ìLÛ¶ÛX'ÏYÛòÖ2ªÖ2°Ø1°Ø1)ÖðݨìŸ'fêÝ4ºR&Z?ÜøWX&Z?ÜøWX%Úà_ß{C÷%¡3áò$$ ó»äO{ $ ó»äO{ %9(äíY'i‹2å¬T(|Hlã_:)Kò²àf¢¶'ü\߸Q’%Úà_ß{C÷%¡3áò$&Kß§â.úŸ°Ø1°Ø1ÀÜ.ÀÜ.'4«ÕX=v%êßwÕX=v$»„’ÕX2#Œ/]ÕX2#ŒíÖ‚ -s#}X׫×o#`1ÜØÔ8i$‹í«Øædå%¾7TÙ?Ò&éó#Ù,lM' -c׿Š'')KÖŸ;þ%êÎgÖŸ;þ$»h"Ö‚ -s$«A:׳ ú%Ü1×ß@œ§Õ3§Õ3ªÖ2ªÖ2&éó#Ù,lM%¾7TÙ?Ò$‹í«Øædå#`1ÜØÔ8i#CÙü¤Ä#nßÛ#™¼"ÝŽ™ÜG¶°$V<ÜÊ'%6wéܾ8&Z?ÜøWX&™ìLÛ¶ÛX&ÉãäÚrYÓ% UwÚUJh$l”lÚ´/$>çÛO0Ý%sFôÛ‹D7ªÖ2ªÖ2°Ø1°Ø1&Z?ÜøWX%6wéܾ8$V<ÜÊ'"ÝŽ™ÜG¶°"iÎ Þð˜!¼ôJàÌ¿ ØV•âòä$!ðŠ÷ãgq#¿YãÛH¿$ ó»äO{ %¡3áò$%Úà_ß{C÷$¼å4ß$!#‡É7Þçz"Õ(¬á@ü¼$lÑá}Ü×°Ø1°Ø1ÀÜ.ÀÜ.#Œ/]ÕX2"\Ú)ÕX2!-DÕX&¶þ*ÕX&¶ýüÖd͇ð³[×q$·Öp”Ø|æ!,cØŽ1"4v ØÂN#`1ÜØÔ8i#}X׫×o#ŒíÖ‚ -s"\½¸Öÿ!-WtÖd͇!–Þ×xnB"Ot…פä§Õ3§Õ3ªÖ2ªÖ2#`1ÜØÔ8i"4v ØÂN!,cØŽ1Öp”Ø|æ¼-ÍنﴔñrÚX `ݤۗ „¥HÛÑ4ß!¹ÆõÜ —Ù"ÝŽ™ÜG¶°#nßÛ#™¼#CÙü¤Ä"w”Ùß•X å¼9Ù£ÿ »–ÊÚ»ïA!ðÃ×Úø›ªÖ2ªÖ2°Ø1°Ø1"ÝŽ™ÜG¶°!¹ÆõÜ —Ù „¥HÛÑ4ß`ݤۗø»¹Ý¤‘Ù]Mß§zY¿á–M;§ó€â -‰À"3â~±Ö ØV•âòä$!¼ôJàÌ¿"iÎ Þð˜!KÒáÞ8ÂV ¶äÝûÀusଦ ¤¿èàXŒÁ°Ø1°Ø1ÀÜ.ÀÜ.þ*ÕX&¶þ*ÕX&¶ÎÔÚÕX&¶p$ÁÕXVoëáÖG›d¯×6}`L¯LØ#ܤ!;ØH)˜Öp”Ø|æÖp”Ø|æð³[×q$·ýüÖd͇ýüÖd͇ΛúÖG›û¿Õ´×Eð³[×q$·§Õ3§Õ3ªÖ2ªÖ2Öp”Ø|æÖp”Ø|æ¤!;ØH)˜L¯LØ#Ü5OéÙ:¤nUÙý„ä,°Úæua+¶GÛZ§®`ݤۗ`ݤۗ”ñrÚX ¼-Íنﴼ-ÍنﴈlÁÙKY{_ÄeÚT9f”ñrÚX ªÖ2ªÖ2°Ø1°Ø1`ݤۗ`ݤۗ+¶GÛZ§®ä,°Úæua‡©fܹ>yý¥ØÞ‚*CG!øà9ªówмá"Ž¿á–M;¿á–M;]Mß§zYø»¹Ý¤‘Ùø»¹Ý¤‘Ùß¼Ýgž.ìßjŽÞ]Mß§zY°Ø1°Ø1ÀÜ.ÀÜ.'i‹2å¬T%9(äíY$ ó»äO{ $ ó»äO{ "+Zé œD4ší`S¦$ðþ/¦$ðþ/|›„ñÔ¶Ú)”Dó¯š"[ïÿ—%Eÿ‘êÖ“Ê#œ|éî//"+Zé œD4ší`S nbGíâûwÀÜ.ÀÜ.×ã)×ã)$ ó»äO{ #¿YãÛH¿!ðŠ÷ãgq ØV•âòä$®ýç? m|ë0?"¤Sîz¹ùù&cïQ6YÏ¢Ãð'²¹¦$ðþ/D4ší`S"+Zé œ!%½è–íO (ã_ç³Ò\CŠŒìÆÐm¸:쉢óÀÜ.ÀÜ.×ã)×ã) ØV•âòä$À"3â~±Ö§ó€â -‰¿á–M;ö ‹åt+á•âé^ÌŸ/3ë÷9yu«“ì͵ÙL'óí¤29"¤Sîz¹ùm|ë0?®ýç? ø€KæËmÁ=íåè^.l^oéÖæŒ–ŒêY°ÀÜ.ÀÜ.×ã)×ã)¿á–M;¿á–M;wмá"ŽG!øà9ªóÛ^i㨬S¾»¢æÐ‰éºés¸øȲÓë ±¹Ÿ/3ë÷9yŸ/3ë÷9y•âé^Ìö ‹åt+áö ‹åt+á Ç-ä‘îk´bè}‚©•âé^ÌÀÜ.ÀÜ.×ã)×ã))”Dó¯š|›„ñÔ¶Ú¦$ðþ/¦$ðþ/þMôœ>ß²ó6÷ƒST÷N¦ùxÛá÷N¦ùxÛák{Cú‘CSßÞüÁy~gdúþv7Ó1÷sjýŠÚqõÆfÜþMôœ>ß²ó6÷ƒST–Éøm•²×ã)×ã)ìé$ìé$¦$ðþ/Ï¢Ãð'²¹ù&cïQ6Y"¤Sîz¹ùØ)jñÅb焹ôh¨2 š½nö0>ºï»÷HsƒXø`§÷N¦ùxÛá²ó6÷ƒSTþMôœ>ß1íóÅ·®¥Êò›"[±Võ€Ü•>Æ™ökò×ã)×ã)ìé$ìé$"¤Sîz¹ùL'óí¤29u«“ì͵ÙŸ/3ë÷9y¨NÖîíÛE‹ñMý >,5òç¡” ²^ƒóÿÕö &‹ õ -X š½nö0>º焹ôh¨2Ø)jñÅb­ -ðî‹~ÐæïÄW¥BØòf1ssRkóPsÐ×ã)×ã)ìé$ìé$Ÿ/3ë÷9yŸ/3ë÷9yȲÓë ±¹ºés¸øxyóì¯(P¢ î3FŽ -ášýïŸm ÉùèñÏm2 >,5òç¡” >,5òç¡”‹ñMý¨NÖîíÛE¨NÖîíÛE%r³íçè9øðcº³‹ñMý×ã)×ã)ìé$ìé$SßÞüÁyk{Cú‘C÷N¦ùxÛá÷N¦ùxÛá ™Àžúsõx -#Aû2ðU ‘û²>s ‘û²>sÚÿÉüÛÇ/Pº‰ÿ.ïg p þ¤¸ ¾ôDýÓ‹¡ Ö•Yû£"Ü ™Àžúsõx -#Aû2ðU -˜»‘üPë€ìé$ìé$õì"õì"÷N¦ùxÛáƒXø`§ï»÷Hs š½nö0>º tŒù÷_O 7Éâ÷ÁØRïŠJø5‚*dÒù_:eE -úˆªW ‘û²>s -#Aû2ðU ™Àžúsõx %”ù[Á è¿Fø,“± r¤jøëln èB¹ú \9ìé$ìé$õì"õì" š½nö0>º &‹ õ -X ²^ƒóÿÕö >,5òç¡” -O_󴽯LvƒôP´ï>ïRô¸ÅÊyÏŠõâYæ´ª÷ îïŠJø5‚ 7Éâ÷ÁØR tŒù÷_O `[õü -Ë ôÌýˆ‡Q -õzI üéªö˜D6ìé$ìé$õì"õì" >,5òç¡” >,5òç¡” ÉùèñÏm2 -ášýïŸm *+]ðU'asðßœìŽZ ñ< vÊó1®>ïRô¸ÅÊ>ïRô¸ÅÊLvƒôP´ï -O_󴽯 -O_󴽯 -ŠHò…bÖØ3ó2Å$LvƒôP´ïìé$ìé$õì"õì"Pº‰ÿ.ïgÚÿÉüÛÇ/ ‘û²>s ‘û²>sþ¶ðûÎ&]çàû»ÔŸüÓO»ÚOü.Pçÿ¡ý2JÐ@>äÿŠ(Ïñ¼ÿp²É ¨ÿMÅÕ*íRüú¨ýþ¶ðûÎ&]óAûîå­˜Óxýà*õì"õì"÷í!÷í!@>äÿŠ(Ïçÿ¡ý2JлÚOü.P»ÔŸüÓOOœüèíwÚü1HPÔ4‡üA¢iÔ4‡üA¢iñ““ýo…ë,WZÿËXPÝòCÿ¹’6 -\ÿ kÐ6ÅhýHÑULüCîwÚü1HP£.|ý]¿Ñ÷í!÷í!ùí!ùí! ‘û²>seE -úˆªW*dÒù_:ïŠJø5‚\ÅÏøN‘Äʵølb7d©ø}Ðc‰ûù­šP¯MúٶлԟüÓO]çàûþ¶ðûÎ&ÃÜiú¤`—¦ùx€öâWù˜1È?úÂn-õì"õì"÷í!÷í!»ÔŸüÓO¯MúÙ¶Ðc‰ûù­šP7d©ø}Ð£šŒø“f +pø¨þk| ø·á!™p¿ùåжÏËû³†Ô4‡üA¢iwÚü1HPOœüèíí*JúíÌnϺ.ù¿‚Š-Š|ùÖáíY¯ÎûYn÷í!÷í!ùí!ùí!ïŠJø5‚´ª÷ îyÏŠõâYæ>ïRô¸ÅʺԭôÎò 7—Ùôê:t²úcôý(Pßö)DÐ ?W÷UaP7d©ø}Ðʵølb\ÅÏøN‘Ä!ëG÷$ý¨õ´åõø†'c½+öVôžc÷@Fõì"õì"÷í!÷í!7d©ø}Ð ?W÷UaPßö)Dвúcôý(P-ßÍõ BWõ ©%#é0õ.ÙAH<ö\¼^¬÷÷‰ò>| ø·á!+pø¨þk£šŒø“f wu;÷gI‹Zö9 ƧöN˜òÆ´÷{ˆ÷í!÷í!ùí!ùí!>ïRô¸ÅÊ>ïRô¸ÅÊÊó1®ŽZ ñ< vã‹ñORS¤lþñh÷.ŠnñxÒІÏaóавô³ôüÍP²úcôý(P7—Ùôê:tºÔ­ôÎò ºÔ­ôÎò ŽžKó¢o+ü±ñó¿ä÷7’)ôéÔõì"õì"÷í!÷í!²úcôý(P²ô³ôüÍP†ÏaóаÐ.ŠnñxÒи*½ñ†k¥B^íñ˜_@ËÆ\ñ¤iñŠ$ô}æûî!ûî!üî!üî!| ø·á!^¬÷÷‰ò>AH<ö\¼#é0õ.ÙžHõ7€€áõCQÙ’¤éõK¬e¡Iöz¬I¯í5÷©¬.¾‘ZøØ¬S(8øÏ$ç‹æøÂ­QÊ,Ú÷”¾n»}Töenê'%örF]D„÷ @ùí!ùí!ûî!ûî!¾‘ZøØ¬¯í5÷©¬.¡Iöz¬I’¤éõK¬e mñõOJ†6øõR„0õUðö…?™°÷´š~°øãõc”àÎøà.})¶<øÜg—÷­sö~/†6øöß”Û÷°Ó˜ûî!ûî!üî!üî!#é0õ.Ù#é0õ.ÙŠ$ô>stream -so׺ÿÿÿÿso׺û0´ so׺øÉƒso׺øÉƒl[Ø&øÆÁTf-€’øP`ñÍ–÷. l`ðg»÷9«›`‡Õëù˜o{_¸#°þJ=ÞeMXåÿ=½Ékåbáÿý¾Ðkåbáû.[Äl[Ø&øÆÁTf,¸ø¿–f ú‹ØPüî!üî!çè&çè&_¸#°þJ=Þ`‡Õëù˜o{`ðg»÷9«›`ñÍ–÷. l_£|®öðO^aÙö¾4ý]0…<ö|ñ].Úö‡ÓM\°Ý øâq'[¶Ž ýŒ -—\û |ýÒb¾^S^þPÿ_#AùV‚œ_¢ HöûŸ~^_s¼öÉîY]õï€ù(ÉOçè&çè&åç&åç&[¶Ž ýŒ -—\°Ý øâq'].Úö‡ÓM]0…<ö|ñ\¯Üö6 ZÞ¦Ûõó3MYÊj8õ³‡YȨõ¾¶sY70øX òü¶MY<Ó üú7ZrVêýA^>[l¥îø—Ûå[ÿ¾öAÀhZÜÙõþb#Z]õ+øXÑÑåç&åç&ãæ'ãæ'X òü¶MY70øYȨõ¾¶sYÊj8õ³‡Y@œµõ’œ¹X¹3õvyvX72ŽõS©»X5dÏõ^e!Wšó­÷²V…VgÓüO”üVòŸüt¥åWƒúü“ -WX¤$÷ñ¼òY>ÎõõËŽX·eCõ4ÜX%³›÷×gnãæ'ãæ'âæ'âæ'VgÓüO”üWšó­÷²V…X5dÏõ^e!X72ŽõS©»Wµ™ÿõ/ BW7nÁõ U¨V¼°ÕôèVºî¡ôò¶ÍV÷½÷D~TÓ×µûÝÄ·UVáªü§sU݇ü(ŸGð޼ÒJ>Gð޼ÒJ>Gð޼ÒIhÉòÇqÒG@ÉY÷8ÛÒG@ÉY÷8ÛÒH!׿÷‘ÇúIÜ›`óµ–JÖŽ ðä¯J>Gð޼ÒIhÉòÇqÒÞå(Þå(Þå(Þå(so׺øÉƒso׺öaPýso׺óù¶Žso׺ñ’lÒMkñÃØg ¨?ðæ|×b+w|ðëäaÂå«òp¯ÄaZ_fôÏ\`ñÍ–÷. lf-€’øPl[Ø&øÆÁTl[Ø&ö_ÎlÒMkó÷^Hf¥oóE@¶f–cõ³Ypüî!üî!çè&çè&`ñÍ–÷. laZ_fôÏ\aÂå«òp¯Äb+w|ðëä`óÊï×Àˆ_Æ6ïª<^ªpãïl)K^,sÒñÆÞ<]®‚Lô!|]0…<ö|ñ^aÙö¾4ý_£|®öðO` óô‘Po`‹ …ò6mR_H %ò¥^ßêôc—"çè&çè&åç&åç&]0…<ö|ñ]®‚Lô!|^,sÒñÆÞ<^ªpãïl)K]Îï*Æò\€z¬îì^{[~Ò î°ØÏZíZñ"xZ[â(ó]U YÊj8õ³‡ZÞ¦Ûõó3M\¯Üö6 \~¬íóÛi2] ½ñ…dÌ[ï¼ñB‘ [pËó»åç&åç&ãæ'ãæ'YÊj8õ³‡Z[â(ó]U ZíZñ"x[~Ò î°ØÏZþ7pî’/ZÆïîxMZ…õîW¾{YlÒð«¯ÞXÑ£°òÿ¸XX72ŽõS©»X¹3õvyvY@œµõ’œ¹YÒ¥ójYS¤%ó"ˆãæ'ãæ'âæ'âæ'X72ŽõS©»XÑ£°òÿ¸XYlÒð«¯ÞZ…õîW¾{Y¬ßî5b1YcîÜX¥‰öíóuQXžðE<œW_§¹ò–ìÐV¼°ÕôèW7nÁõ U¨Wµ™ÿõ/ BXP !òÛÈXó;½ð‰jªXuðe´WÚe¥ò¹¥tâæ'âæ'áæ'áæ'V¼°ÕôèW_§¹ò–ìÐXžðE<œX¥‰öíóuQWÀš¨í²†hVèb«íuçVâí;LåUj\ŠïˆzºT·âŸñÕ¿¦T](ô"í|Tß…†ô`ùšUÇLô¢ÏcVjBùòQ/W£Äð6œV5èÀïÂI½U‘ÿqò´®áæ'áæ'àæ(àæ(T](ô"í|T·âŸñÕ¿¦Uj\ŠïˆzºVâí;LåUOû{íé+T–m4ì¿}Sæy»ì…“ÔS&ažî΄Rf=öñuIQ¦%Ùó`NíRb¹óç›S)ñ‘óé5SÜk}ñ›ð¤TïS.SÖIŒï÷7S"Ý5ñU ÷àæ(àæ(ßå(ßå(Q¦%Ùó`NíRf=öñuIS&ažî΄Sæy»ì…“ÔS7'ÞìJßå(ßå(Þå(Þå(Má*éò„wN¶ÜtïÓ'OŒþ푲šPb?ˆëPU6OçGð޼ÒJ>Gð޼ÒJ×/§ðáúxK´Üm÷L®ÏìpxKÛÝ·ìRÒJðÅîVÒÞå(Þå(Þå(Þå(so׺ñ’so׺ï*S‚so׺ì¹so׺ê[ŒmH°êXÆ]gíÏìéºótce!aèõ·\bü‘ëT{;b” Lí³(b+w|ðëäg ¨?ðæ|×lÒMkñÃØlÒMkï(RmH°ìÀ`Ìg…>ì =gv:î‡Ðüî!üî!çè&çè&b+w|ðëäb” Lí³(bü‘ëT{;ce!aèõ·\bC®rè¿lÂa,“è•Ùz`$hè\O»_¦kê¶í–_(môí‹p^ªpãïl)K_Æ6ïª<`óÊï×Àˆa\!šíxü©aÛ¡ë0¢`®‚êðwU`DšGíOiaçè&çè&åç&åç&^ªpãïl)K_(môí‹p_¦kê¶í–`$hè\O»_aÀèoÀ^"N~çår‘]3.Pç®*\¡¶_ê\”\>oìZ¦=[~Ò î°ØÏ\€z¬îì^{]Îï*Æò^ úTìÐ)^Ÿd¯êz$±]Öê;¥$]çì–Òåç&åç&ãæ'ãæ'[~Ò î°ØÏ\>oìZ¦=\¡¶_ê\”]3.Pç®*\»Ò+瑪e\Ffgçz —[ÕÙ[ç[Ó;[;h9é¯ÄžZ ÷ì¶Z…õîW¾{ZÆïîxMZþ7pî’/[¯`ì;åq\*Z:éçô[«õEéÎú[Cœì$[£ãæ'ãæ'âæ'âæ'Z…õîW¾{Z ÷ì¶[;h9é¯Äž[ÕÙ[ç[Ó;[e¿¿ç;Ï6Zø ç²ZŽn¢æþdµYëw¾éPéYH€Úë¡ÅX¥‰öíóuQYcîÜY¬ßî5b1Z(ëápÍZËNéÀ™ZU©!énbEYºþGëÂS¨âæ'âæ'áæ'áæ'X¥‰öíóuQYH€Úë¡ÅYëw¾éPéZŽn¢æþdµY¹ôÆæÂ&WXñ?Ñæ‰>4X4fÙæS¬MWábè Ú#VÏgwêîVâí;LåVèb«íuçWÀš¨í²†hXc‘Œë`¿YýâéÖ‹X>ÅåèÖl -Wšè"ë'Öûáæ'áæ'àæ(àæ(Vâí;LåVÏgwêîWábè Ú#X4fÙæS¬MWvðæ"³ÛVÊOåàIV&Ù(åªØ¼Ufµ€çó²`T¦cê<£Sæy»ì…“ÔT–m4ì¿}UOû{íé+V€ò긻UV×èoá±V ý2è(ÿUV…QêvÃàæ(àæ(ßå(ßå(Sæy»ì…“ÔT¦cê<£Ufµ€çó²`V&Ù(åªØ¼U„üås¾XTíå@›ÍTaˆuåqS•¶üçViýRÉÙøé›bßQþëàD«R”Sœì!óS7'ÞìJ4Y¹ôÆæÂ&WY»Ÿäæ·õwZo :äk åY–½'ä.ü³Xòßcæ€g¤áæ'áæ'àæ(àæ(X4fÙæS¬MX5úàæJÕ½Xè€Wãý§èZKà&ßl+Yœ&eß?sXýÈöß-+Xg- -ÞÐVèW ãZ±V(?壊¨V&Ù(åªØ¼VÊOåàIWvðæ"³ÛWw°ƒæÝKX8» ãѾW~ó ã‹ÀŒVË{*åØ×Làæ(àæ(ßå(ßå(V&Ù(åªØ¼V(?壊¨VèW ãZ±Xg- -ÞÐWÑÞKæWEºÞn,¿VÅkÞB©U.†âÆàÎTb´˜å Ù°TaˆuåqTíå@›ÍU„üås¾XU…×ål‡[VR:/ã'êÒU¯,5âòdwTî-8å;cßå(ßå(ßå(ßå(TaˆuåqTb´˜å Ù°U.†âÆàÎVÅkÞB©VDøWÞ…ÚUÌÀÞÝóùYUdQ¯ÝÇöµS¹ÕzâF®Rä#ðäˆRãHœäŒ%öST™æä»~ÕSÖ±päà¿S×Ý“äÚøTT®uýâ™ÉT"9âr°½SUu:ä·XÑßå(ßå(Þå(Þå(RãHœäŒ%öRä#ðäˆS¹ÕzâF®UdQ¯ÝÇöµTûBÝž5ATœlƒÝx™ÑTHÞå(Þå(Þå(Þå(Q¯*–äNêQ¯Ì2äšKRxøáÑ6ÊTHGð޼ÒJ>Gð޼ÒF¾§ï3Ë®C‰ƒ²í¯@j(ºìýO@j(ºìýO?²îZ=Vò_º@VÜô'Ì4CÂT¾õÆ E™ô.ñU% F¾§ï3Ë®C‰ƒ²í¯BGk!ïÇ^Þå(Þå(Ûä)Ûä)=Vò_º?²îZ@j(ºìýO@j(ºìýO=JÍÃêVø:@¤T胡Ô7OÀæ‹–z7OÀæ‹–z5êÓèžS±3KªÎìŠ[v6oNlî¤ -g9­^¤ð–~V;輸ìg¹è=JÍÃêVø:@¤T胡Ô8Ü—]ê–¤NÛä)Ûä)Óâ*Óâ*3KªÎìŠ[v5êÓèžS±7OÀæ‹–z7OÀæ‹–z1l­â›Æ+ë»§Þt1&éã8ÙÉï&éã8ÙÉï%6sÚÊ(?!ÏêéÞ0ÙT'&•ã‡l[-XèW+À0>íä­É1l­â›Æ+ë»§Þt1*Fà »FÓâ*Óâ*ÀÝ.ÀÝ.J>Gð޼ÒJðÅîVÒKÛÝ·ìRÒLdz5éäÒI¹Àè ñ9F¼Ñç67ËCÒ4å¦ÉÍBÇ5ñçÊ©žAu&èéß~@j(ºìýOC‰ƒ²í¯F¾§ï3Ë®G©Ú%ìû®HÍêêÙ¦9EÃØDéf ÁDË>ë~™ -Þå(Þå(Ûä)Ûä)@j(ºìýOAu&èéß~BÇ5ñçÊ©žCÒ4å¦ÉÍ@è<âä[Ï>î±âc9@;R”<àŒÅó:â‚ÉÕ8ž­á䕇 7OÀæ‹–z:@¤T胡Ô=JÍÃêVø>h‚’è?ŠÛ?ʈæ.²z<ÛJ8äi÷Ø;wHÌæ|ã<Ûä)Ûä)Óâ*Óâ*7OÀæ‹–z8ž­á䕇 :â‚ÉÕ;R”<àŒÅó5ÓÓÉÜßÓÍ0°Ö½Ø©|,çÓüºŠ*PˆÂÕ°Ú(5ý×ckŸ&éã8ÙÉï+ë»§Þt11l­â›Æ2í àÆÎ­4R`VÞ´„æ.ýƒøÚ\ÚX-ŸlÜe!lÓâ*Óâ*ÀÝ.ÀÝ.Ldz5éäÒM³ˆ³ç«èÒNŸR¥ås3ÒO‹(#ã:~ÒLµpâ"PIîÇ{à½m—G:?ƒßJ¡×F/AUán§DÝ2Mã‚éüCÒ4å¦ÉÍF¼Ñç67ËI¹Àè ñ9J¥Š æh<9KɦäFËÅHöïâíÖG´réåÎÕÞå(Þå(Ûä)Ûä)CÒ4å¦ÉÍDÝ2Mã‚éüF/AUán§G:?ƒßJ¡×D…¬Ý×ÖAãD˜ÜBÜ8?V¹Úõl>z˜ÜƒùO<¢(^Þ–¶…;R”<àŒÅó>î±âc9@@è<âä[ÏBñ±â#Ch¼ßï,Â@¬  ÞIE?H“)à\†4Ûä)Ûä)Óâ*Óâ*;R”<àŒÅó<¢(^Þ–¶…>z˜ÜƒùO?V¹Úõl:;—o×$H5uý^Ó:ƒß1ßaÎâ¶°/jŒœÐ– u-·9×ÒIgÅ,çÓüºŠ0°Ö½Ø©|5ÓÓÉÜßÓÍ7URÇÛ "´8º#üØøÍa3ª™Ôíâ/2d5 Öö)CÓâ*Óâ*ÀÝ.ÀÝ.O‹(#ã:~ÒO‹(#ã:~ÒPvý¡á¾GRNÜTGO±+wÛ{GÛM!o&ÚD®îJ¢JèØîyàHŒNŒÝ69‚G:?ƒßJ¡×G:?ƒßJ¡×IîÇ{à½m—Lµpâ"PLµpâ"PMÙŒßì½fK0à Þ¥iÃIîÇ{à½m—Þå(Þå(Ûä)Ûä)G:?ƒßJ¡×G:?ƒßJ¡×HŒNŒÝ69‚J¢JèØîyàH#&ª×˜DÓE´š€Ö"s¥CY}«Ô$å@º`óØ{,ª?V¹Úõl?V¹ÚõlAãD˜ÜBÜ8D…¬Ý×ÖD…¬Ý×ÖEç½ ÛÆýµCGQÚ/Ù¾AãD˜ÜBÜ8Ûä)Ûä)Óâ*Óâ*?V¹Úõl?V¹Úõl@º`óØ{,ªCY}«Ô$å>£[ÑhpO:;tÍË‹¶67ã;ÉȧK2Ñ2&Í/X`1ßaÎâ¶°1ßaÎâ¶°5uý^Ó:ƒß:;—o×$H:;—o×$H; t0ÕÒ6ÔrêÑ2<Ë5uý^Ó:ƒßÓâ*Óâ*ÀÝ.ÀÝ.!ÏêéÞ0ÙT%6sÚÊ(?&éã8ÙÉï&éã8ÙÉïælÏ;²Ý’BÃxqŸ†µü¨˜qŸ†µü¨˜ 8ꆶè~ÇŒ¸À)³›Æº"‹$Óƒ¦‰<9ÐÔælÏ;²Ý’BÃx›Äâ\ ÀÝ.ÀÝ.£Õ4£Õ4&éã8ÙÉï(5ý×ckŸ*PˆÂÕ°Ú,çÓüºŠ"ªAsÊ¢æ¿*pé¿pèý¾†³9(ã †´$ýœªT†µÓqŸ†µü¨˜Ý’BÃxælÏ;²™¾ÖÍ_Ýb öî®ÌVEñ»éÀ\¾zGBÂ)¢…ÀÝ.ÀÝ.£Õ4£Õ4,çÓüºŠ-·9×ÒIgÅ/jŒœÐ– u1ßaÎâ¶°(n"`Æ2V!wD»ÌY÷ÅÑû°uœ(†±aq˜Ts†²MR¡¾†³9(*pé¿pèý"ªAsÊ¢æ¿$]”8Èï“ú&ºÏ›Çåð>š¼¸;c%é¾…ÀÝ.ÀÝ.£Õ4£Õ41ßaÎâ¶°1ßaÎâ¶°2Ñ2&Í/X`67ã;ÉȧK.1÷ÂÁÂHc'Ä"¬¸'Ö|#oðû­²¡þ†û¯‰ÆœÅÑû°uœÅÑû°uœ!wD»ÌY÷(n"`Æ2V(n"`Æ2V*ËR8Å(ùx#R¸¬¹ÿx!wD»ÌY÷ÀÝ.ÀÝ.£Õ4£Õ4ÇŒ¸À) 8ꆶè~qŸ†µü¨˜qŸ†µü¨˜ ¹6̯q>Ø -ªÂ<¨ŸäÖ JPÄ¡¬¡ù JPÄ¡¬¡ùÖÚW¢'=C6\£Á®†.ª}!àTþ±Äƒ -Q¾þ¯ìØ ¹6̯q>Ø -ªÂ<¨ŸäÖ7nq©ÃY£Õ4£Õ4’Ð7’Ð76\£ÁÖÚW¢'=C JPÄ¡¬¡ù JPÄ¡¬¡ùšž3ŠWiš°ä弤ú—*Ñh¼¤ú—*ÑhNô$—”`ŽOâ—ÝÊNìꊛŸ¿Ðzv.Ÿ]à&–ž¬î­šž3ŠWiš°äå¤ÃÈ›)Ɇ’Ð7’Ð7ŒÎ8ŒÎ8ŽOâ—ÝÊNNô$—”`¼¤ú—*Ñh¼¤ú—*Ñhcæÿ“¤½ë774§ -6ý|Œ‘&;6ý|Œ‘&;ÏWŒ‘&;Œ‘1ÆUòý/µ9”ÔÌù$“þK¯cæÿ“¤½ë774§ -Ïn—UçrŒÎ8ŒÎ8‰Í9‰Í9qŸ†µü¨˜ªT†µÓã †´$ýœ¾†³9(’$&­úœ§ Ö¦ÂF^", F11 út ¼ð š„¡6·: JPÄ¡¬¡ù -ªÂ<¨ŸäÖ ¹6̯q>ØñëÌ®…iZYo&® Ðbï§s o ï<#§îþò£Õ4£Õ4’Ð7’Ð7 JPÄ¡¬¡ù š„¡6·: út ¼ð^", F11¹®W ù=ÏÔ™Áþoêú–wÌö Š¢+–œ¯³ -ñV—¤ú—*ÑhWiš°äåšž3Š -ð'ùÚ‡Ó c©ñ`™± áã5™üù” -qDšuéÀ’Ð7’Ð7ŒÎ8ŒÎ8¼¤ú—*Ñh -ñV—î« Š¢+–œ¯³êú–wÌö˜$Q“-§ nKÆß[mú÷Œ‘$ TüŒ‘° ž£vŒ‘°6ý|Œ‘&;774§ -cæÿ“¤½ë Èž£“•ó– 3a"“˜Ó#„O*•ÄÔ¸÷C•é¶ÍKFn–RõÅêú–wÌö=ÏÔ™Áþo¹®W ù¾Hœ¯³Íƒ@@œ5º -[Ÿ™©™¼r™‡Õ’Ð7’Ð7ŒÎ8ŒÎ8êú–wÌöKFn–RõŸ÷C•é¶ÍO*•ÄÔÌV’¶„œ¥k㤯¤øsŒ‘™=RxŒ‘$Õ òŒ‘$mú÷Œ‘$nKÆß[˜$Q“-§ üÛô“ܵgžs’ÅNñ=º]¤¯ÕñÀß[ŒÎ8ŒÎ8‰Í9‰Í9ÅÑû°uœÅÑû°uœþ†û¯‰Æœ#oðû­²¡!CóM¨wfšŸó£ý …ÄüyDåjže%qó”žß´Þqó”žß´Þ£Eä¤ä›ËkªÊ¶akªÊ¶aÒ‰MªO!™°¤h½H£Eä¤ä›Ë£Õ4£Õ4’Ð7’Ð7qó”žß´Þqó”žß´Þåjže%…ÄüyDøò š²mbŽÀ¨—äH™G¤C•Û*‡•[•O*•ÄÔO*•ÄÔfH>˜Ó#„ÙP1›ÝLóÙP1›ÝLóLÒ)›cSEÖçj˜Z3XfH>˜Ó#„’Ð7’Ð7ŒÎ8ŒÎ8O*•ÄÔO*•ÄÔ‡•[•G¤C•Û*‡Ý’?m»Ü€uhλÛõïŒø žnŒ‘™¤øsŒ‘™¤øsŒ‘™¥k㤯ÌV’¶„œÌV’¶„œ7•’\öØ 4hÚF¥k㤯ŒÎ8ŒÎ8‰Í9‰Í9Œ‘1ÆÏWŒ‘&;6ý|Œ‘&;6ý|Œ‘&;6ý|Œy6ý|Œ×v6ý|Œ*O6ý|Œ*OÏWŒ*OŒÃŒË댄žÏWŒy6ý|Œy6ý|Œ×vÏWŒ×v‰Í9‰Í9‰Í9‰Í96ý|Œ‘&; ž£vŒ‘° TüŒ‘°mú÷Œ‘$mú÷Œymú÷Œ×vmú÷ŒAe TüŒ5Ú ž£vŒ5Ú6ý|Œ*O6ý|Œ×v6ý|Œy ž£vŒy TüŒy TüŒ×v ž£vŒ×v‰Í9‰Í9‰Í9‰Í9mú÷Œ‘$Õ òŒ‘$=RxŒ‘$¤øsŒ‘™¤øsŒmˆ¤øsŒã¤øsŒLð=RxŒAeÕ òŒAemú÷ŒAemú÷Œ×vmú÷ŒyÕ òŒmˆ=RxŒy=RxŒ×vÕ òŒã‰Í9‰Í9‰Í9‰Í9¤øsŒ‘™¤øsŒ‘™ žnŒ‘™ÛõïŒøÛõïŒmˆÛõïŒãÛõïŒX{ žnŒLð¤øsŒLð¤øsŒLð¤øsŒã¤øsŒmˆ¤øsŒmˆ žnŒy žnŒ×v¤øsŒã‰Í9‰Í9‰Í9‰Í9ŒÃÏWŒ*O6ý|Œ*O6ý|Œ*O774‰©cæÿ…{’Ÿ¼¤úõ!¼¤úõ!Nô$Œ@)ŽOâB†;/µ9…{½ˆÊ]ŒÏn—ˆÊi774‰©cæÿ…{’Ÿù$…"Û‰Í9‰Í9†Ì:†Ì:ŽOâB†;Nô$Œ@)¼¤úõ!¼¤úõ!Wi~ok¤šzíOÿ JPÄws®‘ JPÄws®‘ÖÚWvùG6\v =Ézv.yÂpnìêŠ}€¹¤ÃÈ}ö‡Wi~ok¤šzíOÿ&–zsa݆Ì:†Ì:€Ê;€Ê;6\v =ÉÖÚWvùG JPÄws®‘ JPÄws®‘ -ªÂpÆ>6ý|Œ*O ž£vŒ5Ú TüŒ5Úmú÷ŒAenKƉ@õs˜$Q…ò©€êú‚¨ƒ“ Š¢+‚ƒ Ö -ñV‚aÞ¼¤úõ!cæÿ…{’Ÿ774‰© žÝ.‰© ¥Ë‰@éç 3a"…ãê· Èž£…Š\ó‰Í9‰Í9†Ì:†Ì:¼¤úõ! -ñV‚aÞ Š¢+‚ƒ Öêú‚¨ƒ“=ÏÔ^R¹®W|/^",xÚX útxd4™ š„wé™O JPÄws®‘šzíOÿWi~ok¤ -qD~ªfÉ áã5#Võ c©ñ{¿¶Ù -ð'ù{EÈ·†Ì:†Ì:€Ê;€Ê; JPÄws®‘ š„wé™O útxd4™^",xÚX§ Ör^ -s’$&lUí¾†eç(kã †dûRíªT†d}pqŸ†c#§ò ¹6Ìi¯± -ªÂpÆ>mú÷ŒAeÕ òŒAe=RxŒAe¤øsŒLð¥kã‰|5ÛÌV†iËíO*ƒ[|y¸÷Cƒ6™½KFn‚ÍZÄêú‚¨ƒ“˜$Q…ò©€nKƉ@õsÕñÀ‰@õs=º]‰|5Ûgžs†[™üÛô†sÕ‰Í9‰Í9†Ì:†Ì:êú‚¨ƒ“KFn‚ÍZĸ÷Cƒ6™½O*ƒ[|yfH>€M-ÙP1}C–qó”z@›«!ËÜyÊ¥a®UoyP¢^",xÚX¹®W|/=ÏÔ^R™¼r™A´ -[Ÿ€1àƒ@@|ê–j¾H|pœ½†Ì:†Ì:€Ê;€Ê;^",xÚX®UoyP¢!ËÜyÊ¥aqó”z@›«£Eät;´¾knUš(ÅÑûhª´o(†g¾ÞòTs†fÒý龆eç(k’$&lUí§ Ör^ -sëx2sðW^׈sŠÎÛ2\miÄ«ÊÙ&lî+k€Ê;€Ê;pÆ>pÆ>¤øsŒLð¤øsŒLð žnŒLðÛõïŒX{Ü€u‰·Î‡Ý†àâÏG¤C„u`‡ƒÄ»qO*ƒ[|yO*ƒ[|yÌV†iËí¥kã‰|5Û¥kã‰|5Û 4‰·vC7•†ÃY±ÌV†iËí‰Í9‰Í9†Ì:†Ì:O*ƒ[|yO*ƒ[|y‡ƒÄ»qG¤C„u`ŽÀ¨<ðøò ~mã(…Äü{§ såjz»+jqó”z@›«qó”z@›«ÙP1}C–fH>€M-fH>€M-Öçj€Æ2LÒ)}¼ýDÙP1}C–†Ì:†Ì:€Ê;€Ê;qó”z@›«qó”z@›«åjz»+j…Äü{§ sŸóvS~!CóMp¨éï#oðûkn4éþ†ûi–‰íÅÑûhª´oÅÑûhª´oknUš(£Eät;´¾£Eät;´¾™°t·“BÒ‰MnÑ3hknUš(€Ê;€Ê;pÆ>pÆ>ÇŒ``'y 8ê†b7ÒtqŸ†c#§òqŸ†c#§òÝ’BV -؇ælJ ×&éã8@ †š&éã8@ †š%6s>V(J!Ïêé:ïw5"‹$Eœ¿ä³›RfI›T=ô|Ý’BV -؇ælJ ׉<9I|„pÆ>pÆ>Z¿CZ¿CqŸ†c#§òªT†d}pã †dûRí¾†eç(k*péY¯g"ªAsN}iË,çE#–*PˆÂCp7¯(5ýA¼äë&éã8@ †šælJ ×Ý’BV -؇GBVö®ñ»éXÃ’ öî®LÊ {™¾ÖKÀs'pÆ>pÆ>Z¿CZ¿C¾†eç(kTs†fÒýé(†g¾ÞòÅÑûhª´o!wD]Sö’(n"`Rí³31ßaJ=™Ú/jŒœHŠG-·9×FÖèÅ,çE#–"ªAsN}iË*péY¯gc%éZ›= ->š\hŠ&ºÏ›Q:`n$]”8P0¼pÆ>pÆ>Z¿CZ¿CÅÑûhª´oÅÑûhª´oþ†ûi–‰í#oðûkn4é'Ä"¬`øz .1÷ÂW^'67ã;OW©?2Ñ2&Kðø*1ßaJ=™Ú1ßaJ=™Ú(n"`Rí³3!wD]Sö’!wD]Sö’#R¸¬_ Ï*ËR8S÷W(n"`Rí³3pÆ>pÆ>Z¿CZ¿C!Ïêé:ïw5%6s>V(J&éã8@ †š&éã8@ †š0í”6&Š<ëcQ-ýo]J>G(‘ŸBJ>G(‘ŸBIhÉ&XÞ·G@ÉY!çt·9FßÖ'°…+,}J®0BE/ãûÃ3¨ö²0í”6&Š<ëcQ-ýo];F,!ï+Z¿CZ¿CG¹GG¹G&éã8@ †š(5ýA¼äë*PˆÂCp7¯,çE#–5]Ñó;Ê@Û@4JNLdz5/;¾BKÛÝ·- BJðÅ*ÊTBJ>G(‘ŸB<ëcQ-ýo]0í”6&Š2 æÛ7¹„Ú3ª/:´²?¤N2™=×-C06$]Z¿CZ¿CG¹GG¹G,çE#–-·9×FÖèÅ/jŒœHŠG1ßaJ=™Ú9ÎÑAóðD4^»:—,ªO‹(#5åÝBNŸR¥3­(BM³ˆ³1tsBLdz5/;¾B@Û@4JN5]Ñó;Ê7$¸=}eÈ8½ ?Ú¡+CH‰=8^wªA{°¾6ƒZ¿CZ¿CG¹GG¹G1ßaJ=™Ú1ßaJ=™Ú2Ñ2&Kðø*67ã;OW©?>>Y9GQàhGØÖ«@äÝRN<üBPvý¡8’BO‹(#5åÝBO‹(#5åÝBD4^»:—,ª9ÎÑAóð9ÎÑAóð:ר$Cë#ÈF7:G(‘ŸBJ>G(‘ŸBPíJ%ÚÖW`êó#ÊNˆ^TDæ"jÈ^TDæ"jÈ]ÜÑ« ž\íß©V9ÕUƒL3ÍûcN<×;ïPv«#s€ïPíJ%ÚÖW`êó#ÊNˆVr>4!…à,G¹GG¹G?·I?·IJ>G(‘ŸBJðÅ*ÊTBKÛÝ·- BLdz5/;¾BRãY,³•HY>‰²*Æ¡­_ºµ®)}ó»_C6ç'"^Ëì$Æò^TDæ"jÈW`êó#ÊNˆPíJ%ÚÖQ{ÂÈ(‹Q÷-Û*zàHXÇw(j©ƒWØ^.&&F²G¹GG¹G?·I?·ILdz5/;¾BM³ˆ³1tsBNŸR¥3­(BO‹(#5åÝBU6g3ŒTt[3ý1ÂôÒa!ê0‘Ü9`©§¯.5ä`2(é+Ùëå_ºµ®)}ó»Y>‰²*Æ¡­RãY,³•HSÎØÖ.ìJHTJCê1SŸtZ¤µ7/fü¨Y¶y-"ŽLG¹GG¹G?·I?·IO‹(#5åÝBO‹(#5åÝBPvý¡8’BRN<üBW‰/v:e¡\ùÒ½8¿G÷b‡‹²7¥¹-a˜™°2íÈØa!ê0‘Ü9a!ê0‘Ü9[3ý1ÂôÒU6g3ŒTtU6g3ŒTtU±5ó©¡\ -à¼4W£[3ý1ÂôÒG¹GG¹G?·I?·I\íß©V9Õ]ÜÑ« ž^TDæ"jÈ^TDæ"jÈ_3z("B#`£ß"/^`ñÍ–!ò;¨`ñ !ñ±"`‰0:’øÎ_¸#°Ö«^Ê Æ‹]ÛöV+zj^ÊèXãj¾_3z("B#`˜T"¤×_›½¬­?·I?·I>·I>·I_¸#°Ö«`‰0:’øÎ`ñ !ñ±"`ñÍ–!ò;¨aah7!ÞdoaÑØ!Ê6b@©!¶µýb@y!¶Õa߇éV Hasà–Îà`¦Qs«éR`/:’Àø9aR§}Þ[aa\¬!ÝÙéaÐ÷M!Éàahqk'º>·I>·I=·I=·Iasà–Îàa߇éV Hb@y!¶Õb@©!¶µýbxp!¬Õìb°C¥!¢õÚbè»!™Ébè 0!˜Q‹bгÁ7ËwaÐøwlwa”ŠÂâšaXù‹ŒX½b K—%bxe!¬9b°8!¢='bO"ŠBAš=·I=·I=¶J=¶JaÐøwlwbгÁ7Ëwbè 0!˜Q‹bè»!™Éc : !‘™ˆcXj!Š(Ócô!‚¬’c‚i!óßc6é ׺bƒÍ’_X#bGàg^êb ýýoe±bÆ•Æ/İc /!àÕcX^„!‰d•bû(Þ=¶J=¶J<¶J<¶JbƒÍ’_X#c6é ׺c‚i!óßcô!‚¬’eReÊ!Kdgm×! -uhÖ8 Ý/·I>·I`ñÍ–!ò;¨aZ_f$PóýaÂå«&¯¬Qb+w|)d¥b“•Ü(ûÐ¥bû¿È(é1ccÞ((ÖcÈ™&v¡b¡³ $±‹b@©!¶µýaÑØ!Ê6aah7!ÞdoaÉú$=Äb+—&Qbšª8&‰Ab2h$*ˆÄ>·I>·I=·I=·Ib@©!¶µýb¡³ $±‹cÈ™&v¡ccÞ((Öc—ç“(ÍScËü‰(Ãýd(º³c¢º&Z-|cEb #ù›Ýbè»!™Éb°C¥!¢õÚbxp!¬ÕìbÙ†$ Ñyc6ÝŽ&mWcn¥&cw|c ›${î=·I=·I=¶J=¶Jbè»!™ÉcEb #ù›Ýc¢º&Z-|d(º³d4I(²¡=dhè’(¬þGdYá(¦dCÀ’&DäÝcê'C#ãÈ·cô!‚¬’cXj!Š(Óc : !‘™ˆc}’#ò+'cÖý2&R*dZÎ&Kâ"c²_#ëDø=¶J=¶J<¶J<¶Jcô!‚¬’cê'C#ãÈ·dCÀ’&DäÝdYá(¦fAWÌ(s#ºgä@©(5ÛÚi‰è( „TiMq›%¦Á%iÔÚ#AòkhÖ8 Ý/·I>·Ib+w|)d¥b” L+múbü‘-ËÕNce!a0*¢cÅÃ01Pd&q,0Ôþd‡L/ö„8d%ý½-–ˆªcÄè-+6ccÞ((Öbû¿È(é1b“•Ü(ûÐ¥bü'¬+Zˆúc]=<-ºxücÅ[-§äüc\ÉÌ+I,¨>·I>·I=·I=·IccÞ((ÖcÄè-+6d%ý½-–ˆªd‡L/ö„8d·^—/íľdçµl/åÏe B/Ü\ádº´Ò-{ËBd]]c+E.d(º³cËü‰(Ãýc—ç“(ÍScøý#+-CdVT’-Ô¼dŠ]ý-„мd)Sø+$.=·I=·I=¶J=¶Jd(º³d]]c+E.dº´Ò-{ËBe B/Ü\áeH…¹/Ôà eyr /ÏÈ0eªD/ÉUqeP€ô-h9Ldöó0+'dYá(¦dhè’(¬þGd4I(²¡=d‘ …+2Üdë9Õ-tOeÙQ-n¬ dÂá+l=¶J=¶J<¶J<¶JdYá(¦döó0+'eP€ô-h9LeªD/ÉUqg0>B/š×æhµ|/aBœj;û¸/9Íáj^÷,Õ -²iĶª*pGƒi‰è( „Tgä@©(5ÛÚfAWÌ(s#ºfšå*Ô?ßfÖ¤ó-9»Áhyvº,ümhÝk*šŸ <¶J<¶J;¶J;¶Ja!ê0‘Ü9a!ê0‘Ü9a˜™°2íÈØb‡‹²7¥¹-c9î‡7†cì\ç7f^KdžËG7F¶Ÿc;½2‰Ð}ce,í0+(ce!a0*¢b£Æ 0Maâv@0ohÙaâv@0ohÙbJü…2Î!-cP]2©ƒ³b£Ñ–0M‹‰?·I?·I>·I>·Ice!a0*¢ce,í0+(c;½2‰Ð}džËG7F¶Ÿd÷ñ&76†eQ"‘7&xãeªHp7_Êdè(Ü2W,íd‡×/÷1_d‡L/ö„8d&q,0ÔþcÅÃ01PcÅÏ 0Çbd&äœ2y·ddý2gFd&q,0±>·I>·I=·I=·Id‡L/ö„8d‡×/÷1_dè(Ü2W,íeªHp7_ÊeÖÕš7AífnP7$f/ûz6þ2euc±2=§3e B/Ý”e B/Ü\ádçµl/åÏd·^—/íľd·j"/î}qeÁ‘2O…eHÊü2EÅdçÀ÷/åÉ‚=·I=·I=¶J=¶Je B/Ü\áe B/Ý”euc±2=§3f/ûz6þ2f\Â\6÷xf‰ñ"6ò’f¶æ16ì©àf¿2+5Ôeª%Ï/ʯeªD/ÉUqeyr /ÏÈ0eH…¹/Ôà eH‘D/Õ™Se¢*“26µxeÖÊ21‚eyr /Ѐã=¶J=¶J<¶J<¶JeªD/ÉUqeª%Ï/ʯf¿2+5Ôf¶æ16ì©àh$¸6—i…æN6Œ©]jî݈6hojw¤1ž‘j;û¸/9Íáj;û¸/9Íáhµ|/aBœg0>B/š×æg0IÍ/›œ$gl 02i¬Ë1Ãthµ|/aBœ<¶J<¶J;¶J;¶Jh#J½®å¯hšËxl hÖ8 Ý/Z“0Þ;¶J;¶J;¶J;¶JlŒQX¹²lÔêó%9òlù, ‹Öllùý Œƒ“m?²h ‡<÷m‰Ô; ¼¢m×zv {ë€mבŒ {2Ím¸:¯QmyußGQÕm& Mh;l×”S9]m -^¹žm?½ó †Ïm‰ëQ ïmedîgv;¶J;¶J;¶J;¶JmyußGQÕm¸:¯QmבŒ {2Ím×zv {ë€n%NÞ yµÜnvœ# wi!nËy\ uPnËr tLžn±‹½ 1)n}vÇ?²ón#$B\mÌW,Dâyn üá´n%Zi xý)nv³: v»ùnWÚ=;¶J;¶J:¶J:¶Jn}vÇ?²ón±‹½ 1)nËr tLžnËy\ uPpV l‹q« bŸ}so׺ WNso׺ WNso׺ï¨ so׺ PŠqeÎ,CžoçIV6¹Áp^L7÷pá kÒgq« bŸ}qeÎû›:¶J:¶J9µJ9µJhÖ8 Ý/=%uUCk¨Žq#NÛk{Þ¥ ©Hsi¸n ËÞuhÖ8 Ý/=%uUClî'Û[¬lkf¸'Ó`plâ -*'Ê[³meãé'ÀMumA¢É%Y¼‡ma©"ó lùý Œƒ“lkå³ —'ãkìÓ–  Â±lƒb#Él>¶í%mN}l½É -%c¿:l&Ó"ýÄ];¶J;¶J;¶J;¶Jlùý Œƒ“ma©"ó mA¢É%Y¼‡meãé'ÀMum§ÐÈ'»LmíX'¶n5Š˜'°…+n3»%I£nmöÜÞ"âÍ> endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 38 0 obj <> endobj 39 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 43 0 obj <> endobj 44 0 obj <> endobj 115 0 obj <> endobj 116 0 obj <> endobj 117 0 obj <> endobj 114 0 obj <> endobj 118 0 obj <> endobj 119 0 obj <> endobj 113 0 obj <> endobj 120 0 obj <> endobj 121 0 obj <> endobj 122 0 obj <> endobj 112 0 obj <> endobj 123 0 obj <> endobj 124 0 obj <> endobj 26 0 obj [25 0 R] endobj 125 0 obj <> endobj xref -0 126 -0000000004 65535 f -0000000016 00000 n -0000000147 00000 n -0000043162 00000 n -0000000000 00000 f -0000043234 00000 n -0000000000 00000 f -0000050783 00000 n -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000050856 00000 n -0000051096 00000 n -0000052705 00000 n -0000118294 00000 n -0000183883 00000 n -0000249472 00000 n -0000315061 00000 n -0000000000 00000 f -0000043818 00000 n -0000044405 00000 n -0000045611 00000 n -0000566209 00000 n -0000044835 00000 n -0000510425 00000 n -0000050756 00000 n -0000046423 00000 n -0000050643 00000 n -0000563188 00000 n -0000563311 00000 n -0000563433 00000 n -0000563554 00000 n -0000563697 00000 n -0000508026 00000 n -0000563819 00000 n -0000563939 00000 n -0000508144 00000 n -0000564062 00000 n -0000564181 00000 n -0000564302 00000 n -0000564422 00000 n -0000514588 00000 n -0000526653 00000 n -0000543230 00000 n -0000347113 00000 n -0000507545 00000 n -0000507667 00000 n -0000507788 00000 n -0000507906 00000 n -0000508264 00000 n -0000508385 00000 n -0000359989 00000 n -0000379386 00000 n -0000406961 00000 n -0000426358 00000 n -0000435038 00000 n -0000454432 00000 n -0000466497 00000 n -0000483074 00000 n -0000344448 00000 n -0000345563 00000 n -0000345706 00000 n -0000345849 00000 n -0000045282 00000 n -0000045797 00000 n -0000045919 00000 n -0000046041 00000 n -0000046161 00000 n -0000045681 00000 n -0000045712 00000 n -0000050252 00000 n -0000049861 00000 n -0000049470 00000 n -0000046280 00000 n -0000046458 00000 n -0000046821 00000 n -0000046582 00000 n -0000046702 00000 n -0000049613 00000 n -0000049737 00000 n -0000050004 00000 n -0000050128 00000 n -0000050395 00000 n -0000050519 00000 n -0000346737 00000 n -0000346493 00000 n -0000345992 00000 n -0000346129 00000 n -0000346253 00000 n -0000346375 00000 n -0000346617 00000 n -0000346874 00000 n -0000346994 00000 n -0000510046 00000 n -0000509651 00000 n -0000509256 00000 n -0000508889 00000 n -0000508508 00000 n -0000508653 00000 n -0000508768 00000 n -0000509034 00000 n -0000509131 00000 n -0000509400 00000 n -0000509526 00000 n -0000509795 00000 n -0000509921 00000 n -0000510190 00000 n -0000510305 00000 n -0000565842 00000 n -0000565300 00000 n -0000564907 00000 n -0000564540 00000 n -0000564685 00000 n -0000564782 00000 n -0000565052 00000 n -0000565177 00000 n -0000565445 00000 n -0000565596 00000 n -0000565721 00000 n -0000565987 00000 n -0000566084 00000 n -0000566234 00000 n -trailer -<<1024B9ECB345AE4DA88B96C1E55FA7C5>]>> -startxref -566453 -%%EOF diff --git a/src/website/ifcos-graph-1-02.svg b/src/website/ifcos-graph-1-02.svg deleted file mode 100644 index 611978b9ea..0000000000 --- a/src/website/ifcos-graph-1-02.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/ifcos-graph-1.ai b/src/website/ifcos-graph-1.ai deleted file mode 100644 index 5aa605570f..0000000000 --- a/src/website/ifcos-graph-1.ai +++ /dev/null @@ -1,2035 +0,0 @@ -%PDF-1.6 %âãÏÓ -1 0 obj <>/OCGs[24 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream - - - - - application/pdf - - - ifcos-graph-1 - - - Adobe Illustrator 26.0 (Windows) - 2022-01-06T21:26:44-03:00 - 2022-01-06T21:26:44-03:00 - 2022-01-06T21:26:44-03:00 - - - - 256 - 224 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA4AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYqx7z/AKlead5Uu7iylMFyz29uky/aT6zcRwFlr3USEjFXjtzb+UIpWjuY7E3A/vPrHpNLUitX aSrkmvfLI4ZyFgE/BqlmhE0ZAH3qDReSe0Wm/wDAwZL8vk/my+RR+Zxfzo/MKbQ+TO0Wnf8AAwY/ l8n82XyK/mcX86PzCm0Hk/tDp/8AwMH9Mfy+T+bL5FH5nF/Oj8wsaDyl2hsP+Bh/pj+XyfzZfIp/ M4v50fmFM2/lTtDYf8DD/TH8vk/my+RX8zi/nR+YWG28r9oLH/gIf6Y/l8n82XyK/mcX86PzCw23 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 - - - - proof:pdf - uuid:65E6390686CF11DBA6E2D887CEACB407 - xmp.did:33cbc006-497d-754e-b799-ad1d2cc5fdfb - uuid:759860ed-722e-4f78-8791-795710a66df7 - - xmp.iid:8a4ff8f2-3e33-8f42-8d9d-637e96d6ceef - xmp.did:4a31adf9-6be4-0e4a-9ddd-cb12c4756887 - uuid:65E6390686CF11DBA6E2D887CEACB407 - default - - - - - saved - xmp.iid:7fb25f08-3058-a741-a9e6-342376003cdf - 2022-01-06T19:11:39-03:00 - Adobe Illustrator 26.0 (Windows) - / - - - saved - xmp.iid:33cbc006-497d-754e-b799-ad1d2cc5fdfb - 2022-01-06T21:25:10-03:00 - Adobe Illustrator 26.0 (Windows) - / - - - - Web - AIRobin - Document - 1 - True - False - - 523.259259 - 480.592593 - Pixels - - - - - CascadiaMono-Regular - Cascadia Mono - Regular - Open Type - Version 2111.001 - False - - - - - - - Cyan - Magenta - Yellow - Black - - - - - - Grupo de muestras por defecto - 0 - - - - Blanco - RGB - PROCESS - 255 - 255 - 255 - - - Negro - RGB - PROCESS - 0 - 0 - 0 - - - Rojo RGB - RGB - PROCESS - 255 - 0 - 0 - - - Amarillo RGB - RGB - PROCESS - 255 - 255 - 0 - - - Verde RGB - RGB - PROCESS - 0 - 255 - 0 - - - Cian RGB - RGB - PROCESS - 0 - 255 - 255 - - - Azul RGB - RGB - PROCESS - 0 - 0 - 255 - - - Magenta RGB - RGB - PROCESS - 255 - 0 - 255 - - - R=193 G=39 B=45 - RGB - PROCESS - 193 - 39 - 45 - - - R=237 G=28 B=36 - RGB - PROCESS - 237 - 28 - 36 - - - R=241 G=90 B=36 - RGB - PROCESS - 241 - 90 - 36 - - - R=247 G=147 B=30 - RGB - PROCESS - 247 - 147 - 30 - - - R=251 G=176 B=59 - RGB - PROCESS - 251 - 176 - 59 - - - R=252 G=238 B=33 - RGB - PROCESS - 252 - 238 - 33 - - - R=217 G=224 B=33 - RGB - PROCESS - 217 - 224 - 33 - - - R=140 G=198 B=63 - RGB - PROCESS - 140 - 198 - 63 - - - R=57 G=181 B=74 - RGB - PROCESS - 57 - 181 - 74 - - - R=0 G=146 B=69 - RGB - PROCESS - 0 - 146 - 69 - - - R=0 G=104 B=55 - RGB - PROCESS - 0 - 104 - 55 - - - R=34 G=181 B=115 - RGB - PROCESS - 34 - 181 - 115 - - - R=0 G=169 B=157 - RGB - PROCESS - 0 - 169 - 157 - - - R=41 G=171 B=226 - RGB - PROCESS - 41 - 171 - 226 - - - R=0 G=113 B=188 - RGB - PROCESS - 0 - 113 - 188 - - - R=46 G=49 B=146 - RGB - PROCESS - 46 - 49 - 146 - - - R=27 G=20 B=100 - RGB - PROCESS - 27 - 20 - 100 - - - R=102 G=45 B=145 - RGB - PROCESS - 102 - 45 - 145 - - - R=147 G=39 B=143 - RGB - PROCESS - 147 - 39 - 143 - - - R=158 G=0 B=93 - RGB - PROCESS - 158 - 0 - 93 - - - R=212 G=20 B=90 - RGB - PROCESS - 212 - 20 - 90 - - - R=237 G=30 B=121 - RGB - PROCESS - 237 - 30 - 121 - - - R=199 G=178 B=153 - RGB - PROCESS - 199 - 178 - 153 - - - R=153 G=134 B=117 - RGB - PROCESS - 153 - 134 - 117 - - - R=115 G=99 B=87 - RGB - PROCESS - 115 - 99 - 87 - - - R=83 G=71 B=65 - RGB - PROCESS - 83 - 71 - 65 - - - R=198 G=156 B=109 - RGB - PROCESS - 198 - 156 - 109 - - - R=166 G=124 B=82 - RGB - PROCESS - 166 - 124 - 82 - - - R=140 G=98 B=57 - RGB - PROCESS - 140 - 98 - 57 - - - R=117 G=76 B=36 - RGB - PROCESS - 117 - 76 - 36 - - - R=96 G=56 B=19 - RGB - PROCESS - 96 - 56 - 19 - - - R=66 G=33 B=11 - RGB - PROCESS - 66 - 33 - 11 - - - - - - Grises - 1 - - - - R=0 G=0 B=0 - RGB - PROCESS - 0 - 0 - 0 - - - R=26 G=26 B=26 - RGB - PROCESS - 26 - 26 - 26 - - - R=51 G=51 B=51 - RGB - PROCESS - 51 - 51 - 51 - - - R=77 G=77 B=77 - RGB - PROCESS - 77 - 77 - 77 - - - R=102 G=102 B=102 - RGB - PROCESS - 102 - 102 - 102 - - - R=128 G=128 B=128 - RGB - PROCESS - 128 - 128 - 128 - - - R=153 G=153 B=153 - RGB - PROCESS - 153 - 153 - 153 - - - R=179 G=179 B=179 - RGB - PROCESS - 179 - 179 - 179 - - - R=204 G=204 B=204 - RGB - PROCESS - 204 - 204 - 204 - - - R=230 G=230 B=230 - RGB - PROCESS - 230 - 230 - 230 - - - R=242 G=242 B=242 - RGB - PROCESS - 242 - 242 - 242 - - - - - - Grupo de colores Web - 1 - - - - R=63 G=169 B=245 - RGB - PROCESS - 63 - 169 - 245 - - - R=122 G=201 B=67 - RGB - PROCESS - 122 - 201 - 67 - - - R=255 G=147 B=30 - RGB - PROCESS - 255 - 147 - 30 - - - R=255 G=29 B=37 - RGB - PROCESS - 255 - 29 - 37 - - - R=255 G=123 B=172 - RGB - PROCESS - 255 - 123 - 172 - - - R=189 G=204 B=212 - RGB - PROCESS - 189 - 204 - 212 - - - - - - - Adobe PDF library 16.03 - 21.0.0 - - - - - - - - - - - - - - - - - - - - - - - - - -endstream endobj 3 0 obj <> endobj 5 0 obj <>/Resources<>/ExtGState<>/Font<>/ProcSet[/PDF/Text]/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 936.06 589.333]/Type/Page>> endobj 26 0 obj <>/Resources<>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 523.259 480.593]/Type/Page>> endobj 41 0 obj <>stream -H‰´—ˎ䶆÷z -½€Ø¼_¶n;ÙÄï ±gQí`2ïä§Ès$µ»j~;3*²Ž>’‡/õò÷×õåÇW»~÷ýëº|Yì«5©…5ù`|jë&ÿù×òÏõ7ļüõ'»þú±ÿøÛË_Þìúý¿—OËË+jo_W·ÿ­_o¿õ@׿ ÂâÏ­±8ã­+kj&ù×ÛÛÒ¿y[¶š©5¡pG!&S£Ga‹Éš\üM GÉYSjYo‹Ö„L®n[«šÉ¡®Š 5š˜{ÅlL*Àq6­¸/ɸT´<Û ¥¢§¢3µy¼>+æã.å½ÓÉ´T÷ AË/Ⱥ·Ê¿=S§ Ug:]3®fÎPv&bFF†fÁeãÇS·¦Å=UeŸ7NØ>ɛ꣔ûÑ{賂düñzƒIÂ\áƒGŸz–>ïÝÿ |5­ÄàÐz'e d×»Ûe×÷èivË»‡Ç«xIJn®‹°~ÁFØRÀ6˜ ÅF6·C-È÷Å› f›´¬±£¢ãû›X”H/¶ŠÜwd:–qÖ}§GŒàÚŠ4ÜOMÁzݘÍ;lóíÒ¼Í{Ï=üo­­)‹nb¿¬&é¶[°ÝbÍÄ‚o±mÎc®ûà|ªÆálpØžöæq(9›Vç’IØLg<æg…Ã!×w¨igK°«Øìßµ_óÈko®Xlݧæ=Þí'4Ýιø|øèážZ$¬Á±}2毟ÙÒqu¹ÏΟ7ŒŸ× ÉN!ü·¾=ø”Ç¿G¢˜£{>|do ¡Ÿ?P/•®fØ™~´k±Ï¢S­»•1ŠÜvÄŽÖ§8ÄB?ò§*•9…'iUÖ„eÚ²Êz’ECbíw˜ç!¾¯¸§!ý˜rÏ)˜«>þg!X(ÙûBN÷0Iê+ÐãÔ—Þ ;/„S&4¸ŒÌ>%û~§$Yƒ)rݵ ÉÌgî8²3ä¹ãpd ¦ÈCw’,Á y.dެÁ YDÂ]ÛÅÊZç­¿´£Ðª‡ž*qhñŽB‹KZÅ£Ð"…Vó8ô´‰C‹zZt¢Ðêƒ>~PÓ,â BF‹/åøEeqXbûüq󑔨«ìøJÙ¯Jì^H¢EJ --ÁZ¥dÐL¡UJ­Á ú4½—_ýŸ™^5›ÊÊŒFƒ)´xæÇu—Û)q;xpÇøÝo™E»úèâñ‘ïZƒ9ôT˜CK0……)´ShQ˜Bk0‡žªrh ¦Ð¢*…Ö` -->Ù¶_ºIù=}âÐ"…Ÿ(´ÊG¡U¾` -{û´¹Ÿ!´{Yc9²¨Ç%–"«yYc)²ŠG5–#‹w Yb)²jG5–"O“\+¦Vv˳ÖÔÀnyZ½ãÐÃ%-âQè)‡Vó(ô´‰C«zzèD¢Å= -=}âÐ*…ùj>ÿDz.Ÿ«ÍØXù(´sè)‡–` --òQh ¦Ð"…Ö`=åãÐL¡E> -­ÁZ}²çŸ<ß’/+-ƒÖ`->Qh ¦ÐêƒÖ` -­>1h æÐâ…–` -­>1h ¦ÐâS‰&Xvç+ÅøDï|Zƒ9ôô‰CK0…Ÿ(´Shñ‰Bk0‡ž>qh ¦Ðâ…Ö` -->åj¢cw¾âLH•B«|zúÄ¡E> -->Qh•B‹OZåãÐÓ'-òQhñ‰B«|Z|JÙdïIùR3)ÓòQh æÐÓ'-ÁZ|¢ÐL¡Å' -­ÁzúÄ¡%˜B‹OZƒô|诺ջdbŠ /ú~¸‡õö¶sñ¿±ý°ûòˆOKL.‰–Òšâ +%‡Ï(´ShõŒAk0…VÏ´3èÓôƈ9ªþÏL¯ÊJFýcF£ÁZ<ÃXj`wÊXL¡ŸPd ¦ÈÓ2Ž,Á Y$£ÈÌÅ1ЬÁyªÄ‘%˜!‹IYƒ²ˆªi¡²Ö9S+½RhÕŽCO•8´xG¡Å% -­âQh‘‰B«yzÚÄ¡E= --:Qhuïâ}9_%Ÿâƒ=ÿBú†!$zsè9éZ‚9ôœt-Á$zL:‰žÁzN:‡–àÇèÓ¹îcFúRºæÓ¹ÇL g:>6$Ù¯Á´ÜÉ&•¶VS£—ÂmqS¬_ºbròž”±£lõ¾pêQÆ…pµý·RTœR¥¥SqÆá¶â˜Â1«³Ðÿ=…£¸Ïj]ç+û¼õ7ç‡Ûr©¿¼rÅ[’æGnL?ÔÅnXÊÿ4ý8Nû]u¾¹yk2w«ŸnËõ›wïýüÿr #@‰ùž®ùt[¶ëWÛõ½í=öˆôï+ÿ`:Hé‹ -endstream endobj 42 0 obj <> endobj 43 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/XObject<>>>/Subtype/Form>>stream -q -/GS0 gs -531 0 0 453 -7.441061 18.5569458 cm -/Im0 Do -Q - -endstream endobj 45 0 obj <> endobj 48 0 obj <>stream -H‰ìÒËuƒ@@±IÿMgÍlçäÓjÐZ¿ãƒ¿Éž’#>pÀö|`Ov„ Œ`GvŒ Œ Œ Œ Œ Œ Œ ” Œ Œ ” Œ Œ ” Œ ” ” Œ ” ” Œ ” ” ” Œ ” ” ” ” Œ ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” Œ ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” ” –l,%ØR‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚P‚XN°±”`K B B b9ÁÆR‚-%%ˆåK ¶” Z‰év#”˜N b_‰ÙF(1ÛQ '&;áÄ`'#”˜ë¬„SŽPb¨óN õ¨„=áÄ@OF81ÎÓN sa„£\áÄ G81ÆåRÌðJ'&xq„w÷z)ník!¬¸«7>XqCo°âV¾éƒwðÝùo~hÀΧ‡I…c -endstream endobj 46 0 obj [/Indexed 29 0 R 1 50 0 R] endobj 49 0 obj <>/Filter/FlateDecode/Height 453/Intent/RelativeColorimetric/Length 9754/Name/X/Subtype/Image/Type/XObject/Width 531>>stream -H‰ì—÷[“Y†gg×Ù¥:PBB !„Þ鑊” ]ª†>ÒD¤ˆ ‚H‘¦*("6¬ØÐQgwfÿ˜}Ï÷%@œÙ¹ü¸®sÿç‡ç¾žç=_}…Á`0 óeø†š`0ŸË€Ùˆ¿Ò‡¯1;¿F‹Ozðw Åø¤ÿ°;—¼ø“Bü^†`vˆñ'¤XïÃ:vav -ëÝX'Å4b;YãŸJ¢‘Š[ñG…Pø tAñæ¿0;A^¬Zñ¹R¬‚ô´½ó-ÁwÊC&¥pƒÔ‚´âóX5‚‚ð°4á{ÄnÌ€ˆŠtC¡a…ªŸg„BÒd©Âž={ÔÔ1Ô…ŒH Â"Õ@^ -J)¶íÄš«B> 4444{1Ô…HH¢"ô@bV¬I±}'ÖFƒ0 | ÈM ÐÆP‰F£!;H d’b}QlÓ4J!`.Àh$ƒ¶¶ŽŽ®®® ¡0(!JGÜ1j Å÷ªRlË Åj(+BÑjê¤: ‚¾¡¡!N7RbŒ¡«©AD”’CW´+)ˆ¦€õØ®*F|CB@Aì¥iú À`˜˜˜fÊ‚ò11a0@:´ ­@RE±='T€Ñ „€~@>3LÀs&“Ų°°`+±ÄP…ÕLØ‹Ådšƒ& c#dtH¡¦BéÄÖ7¦ò Œ *nˆ½4m]=ÂS°eÁ¶äp¹VVÖ€ †¢@8VVV\Ç’mÁ/L +ôt‘êj¿wb+%È¿†ÂT4hºøÀd±-¹VÖ6¶vvö<ÏÁÁ¡(googkkcm^°˜`…Ýš‚†Šb»N¬ÎÜ -#`3tõ As›Ãµ¶µ³wà; -NB¡³³ àŠ¡ (gg¡ÐI päó@ k.‡Í2‡ª@RhíEŪä9ñ)# $0ZP„–àƒ=/prvqus÷ðôôòò|0%ãååéááîæêâì$à;؃–Lh -C}](Š5'¶¬ …ä!¡0*ÂØ‚km>]Ü<<½||ýüE"±xß¾}$Š ¢‹E"?_0ÃÍE(àóìl¸–ÐÆôí;¡2pH«£A76eZp@G'ðÁÛÇO$ - “H$û1‚  - ‹ü|½=Á -G;k.›iÆ NÀ=¡œŽ­•€’@FìV#:‚Î0cYZÙò….î^>þ†0IxDd”T‹¡ Lt´T. -ûûzy¸ -y¶V–,3#=…ª5±Ùwƒ,‰o¿S5ÂÚÎÁ „ð…JÂ#¥1±â“d2Y2pC)P&MRbbBüØiTÄþÐ౟·‡«ßÞ†caN@OhÀ_¦c×®MkBYŠÙP×ÔÒ!ŒàXÛó…nž DpXxTt\|¢,9%5-=#33++놂@0™éi©)ɲĸ¸˜¨IH Ø×ËÝÙ‘gÃ%€‡Únr:6«‰K‚¦­ghLáèìîí¿/X!OJNMÏÌÊÎÉÍËË/((,,,ÂPˆ¥  ?//7'ûPfzêÁ¤„¸èÈý!"ƒ-8Á ëëh©LÇÆ5¡¼$¿ ˜ cSX 0ÂÃG.K¥¤gåäæ‘—”––••——W`(„RVVZZR,?RT˜Ÿ›s(#59ñ@t„$Xìëéꄜ0CNÐ4·® ˆ¯WKB“³aÂd[Fˆƒ$‘1ñ²ÔÌìÜ‚"yIYEåѪêêšÚÚ:à†R Ljkkª««ŽVV”•Èäåd¥LŒ“BQøy6–™±¡žö^ ²&”ŸŽÍvƒ¸$àÿ©gÈ0³àÚñ‘Áû¥qI)Ùy…òÒò«jêê7œhljjnnAœÄP"æææ¦Æ Çëëj«¬(•åçd¦Êâ£#B‘žµ%ÓÄh]Ml´kÇ¥¢$ ŒLY¡;aÄYZVn¡¼¬²ª¶¾¡±ùdkÛOíí§;:::×8ƒùr¨äÐ ±œ>ÝþSÛ©“-M'Ž×UÿX^\”—q0!9áéâhoÅ6g(j}:6^ŽU%ˆïQælk{«·(ŒHNÏÎ?RZY}¬¡éä©öŽÎ®³Ý=½}}ýýýç0Béëëíé>Ûu¦£½­µùD}ÍÑryá™)‰±à„¯‡3ß–Ë2E¿Žjb³Ý ¾:úP\[¾‹§_ $ -ŒÈ)—WÕ54·¶wtu÷õœ¼04<<22ºÆæË¡’ÃèÈÈÈðÐÐ…Ás}=g;O·µ4Ö×T–åf¥$ÆD„ˆ}Üœ`:à×5ŸŽ­•P솺¦–.Q<'wŸ}¡‘q20¢¸¢º¾©µýLwßÀàÐÈØÅKã—'&''¯\ÅP2 ˆeâòåñKc£ÃÎ÷÷tu´µ4Ô-;œ—•’½?Häåâhǵ€šÐ¡i@Ml²*JÇ%|7X[G/QpxLbZvAqeMCK[gwÿù¡ÑK—'¯\›š¾>33;;;‡¡ÊÌÌõé©kW''. žëíjom9537¿°xçî½û––0%²´ôàÁý{woߺ1;}uââð@Og8QR˜š- ôóò¬ÙfÆÄrÀŸc#%”×%:%ÐCŸÇ¥ÀÍJ"!5»°´ª¾Œ¸06qíú[‹wï/=züäé³gËËÏ•¼À|aV£X^^~öôÉãGÜ»³0?;}e|ä|oç©ÆºJy^fr\d\|[þ¡ÄŸCqLl¤„ò”Pî†ÐÃ?(J"O^Y×ÔÖÕáâäÔìüâ½¥GOž=ñòÕë•••7$o1@Æ›••ׯ^½|¾üôñÃûwnÎ\'z:ZªË‹rÒ &|Ýö°tb9Ð1¡¸/7?%t æÄnˆC£âS² ˪Z;{Ç&§çî>xôôùË×+o~÷þý‡~ÁPÞ¿÷óÛ7+¯^,?yxq~æÚøÈ@w{KýÑâ|¨‰ˆ`•åØä˜XS‚8%t M˜b7$ÑIé¹G*ëšÛ»F'¦æî=|²üråí»÷¿üû?¿þúÛoÿýûõá\e™†a|\»ã £3¸².j,R–VD@Y¥é"à -«B¬”i"¥)A‚…PÒ¥w!ÒÛIr’œtEÝò|çœ(Ü&À¨³‡ë÷|ó½×¼ïó”IÃeöãQ¸RSS’““âc££"÷ïݹuƒÝ¡!³§Œi×ÄK];¶}²YÃúÎÎñ§?V8L”%áL—•n©|»­ Ö}èÑ'žzæùÁ}ÿÃY! –~½ÖŠØ—˜œâJKÏÈp»Ý™4v*éi®Ô”¤„¸èCỬ‰åK>ÿdú¤±Ã¼Õ«{çö­š7þë_jÜw·³†:ÃDI”-ÎtY5¨šý­Íß_xéµþCFM˜:ç³Åa«7l³"Ç&$§¦e¸3³²=OŽW.‚ï4r<žìì¬ÌŒtWJR|LÔð[¾YõÕÂù³§|0bPßàžÏ?óÔ>T·æýwÿùöÊ·TòÏ—%aÓe¥[o«bÓeízÎ(ñ\·WÞ0lìäó,]¹~ËÎðÈÃq‰)i™YžœÜ¼¼üü‚2…¸Ì~<Š‚üü<Ë#;ËîJNˆŠØ»cÓÚK>Ÿ;}âè¡ÿzý¥lçx̆‰jAUù²ü•ßÄO ǽÕëÔod£Dçî½ûØ»ñÑìO…­Ù¸}ODT¬áÎòäæå1Å$Αäçåx²2Ò’bíß½uêe¡!3?7lÀ›¯t{®Ý“MÖ«móe•Ûœ•ãÆ‹&a Ç}5ê4hüxë]l”:2Ü®‰å‹?ûØ^Ž}z¿è Ô©~ïO+GI\ë$áì wÜå,6]>û|O%FOœþÉ‚e«6lÛsàp\²Ë›_h==VZZzÜçÿ4JK­Œ’â¢k"Õ±{ëú•_~1wÚ„Qƒû÷èÒ¡õãÔ©qŸwå¸@×ø’ðî ÎÂѤÅÓ6]¾þö»c&Ï Y¶fÓŽðƒ1‰©Y9V„„…pÒœB qŽÄâ(=v´øH¡5‘ž’¹wûÆÕËBç͘4zhÿ×þùgm¾tVŽ»îðm¡×_wíÏ“ðî ×ÝpãÍ–„³ƒÖ¬ûp“m:v}ùÃÆ}8ûÓÅË×mÞµ?*.9-Ó“gE8AX ß:N#pxOİ(Ž–)Èó¸]I±‡öíÜ´6lÑüY“Ǿû¶3_>Ý¢ÉCu¼ß·…z“¸¦¢$nò%T­¦³ƒ¶íØõ•7ßyïý)¶äëõ[w8Ÿ’ž•[àaA81|‡Àã„aQ”-.Êw®‰øÃ»·¬[±øÓÙ{oÀ/wíØ¦E“‡}[¨%q³?‰?T˜De_xwÐ^o þM—_®üfÛÞȘD—Û.‰â£Þ"¬‡3æ,‰s$V…¿‰Â¼ìŒÔ„è{¶}óõ›/ßþŽ­Û:[hÍjAþ$n¸hUƒªÕªgI´ëÔ½WŸA#ÆO›ûÅÒU¶‡ŒMJËÌÉ/*9vüä)'ç¾G`ñvaQœ:yüX‰]™®¤˜ƒ{·oX¹ô‹9Småx«W·çÚ>Ùô‘Ÿ’¸é¢IT©ô@­z ›¶l×éÅÞ}œ0ÍŽÕwì;—ì}7ì’8õíwÎý`_ð‹· -»)¾=e×Ä‘‚ܬ´äØCá;6®Zf+ÇøƒúôêÞ©%Q¯Vµ ª·W¾x•nµ$îq’hÖ²}gKbð¨ Óç…~µfÓN›.S2²íݰKÂ^3gé!@Ygìí°k¢¸07;=9Ι/W/[ðÉ´ #õíýb§v-›6¬Wë ªU.=‰Úõ}I÷%ÓWTâ»$¼EüÇß„]örØ0‘µç¦5_…Λ>aÔ`K¢sû–Íœ$î±$n­T^Wù“¸þü$ZµïÜ#¸ßK"daØÚÍ»"'¤º=ùÞ$Ng¯†¿ˆÿ p”5qö¬M'Jm˜ð¸Sm娵yMXè¼G îìK¢~í_D‡.=^í7dô$o[vû“°QÂÞ3þ".÷/ÀÏø›8c/‡ N NkÆXCú÷èܾÕùI\ïO⪠&Ѩ¹7‰þ–ÄÌEË-‰Ñ .wŽM—6J8ïE(§ ïËqò¸Í—9nWBtÄî-Þ$&v’èÒáR’¸º¢$†ú’Xç$‘èÊb Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $Ó IÿâóºHøü @1ý‰$2åÊ¢’Š» !ðZ“¸[QR¤”g‚Äÿs&‰[zõ !äž#Q¯'q‹#qéõ’¸ÔL¢$„C¢ü5’X ÉÚCb1GbÄ!1ây‡x’çI4êHÀ„ãDèH4>G⺄'q¨5 Ãö’0l“Äu=‰ûµõ O›šIÀ„°ú½™DÓÓÆ†úÚû¯›„5‘po›=:0!¤~דøï³6Høûr'Öí#ÑñE$œ‰„ð¥(ŽD~‘¦5 $¬~kMBS”Ï‘ˆÒ‘p~‰Ží%aO$NøŸ‰ Y~¡F[u¿¶®¡ñI“n™€ áõ›n•hzÒØPW{¿J«)Ì—e ÑyÿDž'1wÆ'1cîbK+k["áÅ“¸*Õ“¨®©{ÄzP!¨ø‰p"¸ƒãQ]Mµž„ô*OÂËÍÙÞÖÚÊòU$:èItjMb‘¥Õ&[{'7¯~çDâ«Òôœ<•Z[É“àŽfHX‘þßàITjÕª¼œtéU±èœ‘p²·Ýde¹¨5‰Nz^BÂt’žÄ.'7Ïã~çÂÄñÉé9 -•º¬ò]¡ôsèM Æ‹ ƒnÐ{•ej•"'=9^vÎ︧›Ó®m:“LÛK¢;‘0Ò‘°X³iÛ.ÇýžÞ§ƒ.^ŽKJ»©(¸SZAû¥î™h¢¿*ÍäÙ³&Ý#AÛeEéÅÍ´¤¸ËƒN{{îw$k,ÍáH‰î¼ŠÄÝ{™˜Nš>g¡Åš6;÷ôþ9042615;÷vqI9-ôLÐ6AïÄ3^RÜPšžÒ&A­å%Å·s³Sc#Cö>¸Ïq§ÍÆ5 çLŸdjbdhÐNLÆL$ËWf³cϾŽ -ø5âJÂ,¹²H£¥Ÿƒž‰†ÇЦ&ÞLÜHDããz$èßÐjŠ”ò¬ W"~ 8uì×=;l>[½œHLcb4°}$zéHL›mN$¶Ú}ãêqôäÙ á1×R2e´_r?GÍCÞDãRד'¼ˆ‡5ü¿¡Ê“e^¿~áìÉ£ß~c·uÃªåæ³§éHôz‰Î:CŒÇL˜ff¾lՆϿtøöû#¾gB.EKèäP—Ð3Á™¨'¤¢‘ƒ?‘Ç¢žADIq‚;8¢/…œñ=òý^‡/?ß°jÙ³iÆÑ‘èüïu~ŸHô0Äxô„©f –~º~Ë»]öñ?/Ç'¥fË•…êÒò*2QË¡xÔ@=FBŠÉ#D-‰¨*/U*åÙ©IñbÑyŸÃß¹ìþbËúO—.0›:a´ñ}‰ÄûßãI¼ÕšÄ[-$º‰ÁÃGŸ2kþ’•ÿؼý«»{𠺛ÀýÅš² -2ñ€CQWW¯ëBúiÐ\ÄQQ¦)*PÈ2Sb#éà8îåîüÕö®[¹dþ¬)ãG < oÏn:o·EâmžD—n=yã¦Ìœ÷ÉŠµÖ¶öNûzÓ~N?GZ¶<_E&Ê+ïÞ«&5µÔC$¤¸‘Ô‡ê{w+ËË4Ū|yvšTýŸ ´]Üï´ËÖzíß?™7óÃqD¢?‘è‘x§mïèIôé?hØÈq~ôñbK«MÛvîqõøÑ÷L°H—˜’‘“«$¥ÚŠÊ*RQ}Ÿz€„7’jòPUY¡-%ÊÜœŒ”Ä8±(øŒï®{vnÛhe¹øã&9lPÿ>¯ ñ.G¢k"1tÄØÉ3æ,´àN‡½´Lø…FÄH’S³d -2¡.)Õ–WTVVUÝmîzӵ̢ªª²²¢\[Z¢& -YVj²$&"4ÈïÄá{ì¶ò7èŒIcG Ô¯O®‰w_L‚®Ð®=z÷3jb:iúlóeÜ~ùµ³›§÷©³!"qlÂõ´,Yn~Aa±ZSRZ¦ÕjËù*0ÒƒæRVZ¢QäçʲҮ'Ä^…œ=uÌÓV Ú.—q7¨©‰‘a¿Þ=ºÒ ú›Itïm0Ј®Ð©fó—¬Xgm»Ë‘~ŽŸüƒBãâÉDŽÿÄôüâò­ÀÚú½Í­íÚy´»»û8Ì̧„–Äîî£G;?=|°½µ¹±¾¸¹¼8?=á#Ú/6:ªÊŒ†Ü,8.SΣ݇•8¸ðçàñ‰šÈ/,µØ.4¹Û»½CWƦf®-.­Ü -¬®­ÿ°qïþææÖÖÖ¦©lnÞ¿·ñÃúÚjàÖÊÒâµ™©±+C^0Ây¡ÚRZ§!J‚‡þ‘N‰ƒË&‹‹jB‘•£+2YmuMnO×åaÿøÔôÜÂâÒòÊ­ÛwïWWW×ÂÜÅ|JhI@.ßwnß\Y¾¾¸07=5îèëò€6«©H—“©€’€ãý7"ìÆÁå@&]2•Z«/6WØ.8]m=ÞÁÿØä×Ó³ó ß.~w}iiyùbÈD–——–®·øíÂüìô×cþáAoOG›‹0¢XŸ«V¦‹‰’@Çe¤Ý • jâoѱñ,øtˆ$ò ÖPl¶Ú -—Ú;{½¾¯üWÇ'§¾™ž™™››®a˜ -ennvffú›©Éñ«þ߀··ÓãnnpT##´•L߃%qT ÚrP5ÁMÀtdhò Å&K•½Îé)zúú††G®øG¯ŽOLLLb˜¤2>>6vuÔedxh ¿¯»ÃsÉ嬫­²FdÈ¥©‚$. ]p\FzãnЖƒº&90b©"S£Õ•–WÚõN—»íËÎîÞËÞþÁÁ!ŸoxxxÃ< Ÿohpp ßÛ×ÛÝÙÞænqÖ;lå¥EÈ…T,€Ù ¾dIDT‚^Ätð…âtè ­®Ðh¶TÕ8ê›]îVO{GgWwOoo__ße dz{{º»:;Ú=­nWScÝVi1 u¹„B˜ V<ñÝ—G”8\q ,.r¶C“o(*1[*mµŽúgsËE÷¥ÖÖ6ÇÓ|‰a(Ȧ­µõ’ûbK³³¡ÎQ[ B”òs԰Ș·•íÀ„O\˜1Ä9œ«²²µº¢ÜZY]cwÔÕ74:MMÍÍÍ-&É459 õu{Mu¥µÜBè´ÙY*ºäw#bI—#41q‰lÔ©Ha(4–šË,Öʪj[M­Ýnw80L’±ÛkkklÕU•VK™©´¸Ð¯ÍVg(Ò%©0þŸ1¡Ùˆ¨D¨&Âçr"Y J“Ê• EnXQl,5™ËÊ-«µ¢¢¢’¤ -èD «Õb)/3›JŒàƒ./„Pʤi"A2ÑÔo㸒 ×Ä_£Î|œ€{‚ÃKJ¦¦¥ƒYšœÜ¼|½¡ °¨Øh,))L&‚¢))1‹‹ - ú|ðA“•¡”KÓR…)I<e:$Ž-‰CÓrŠI!•)À -5h¡ÍËË×éôzP€a"(½^§ËÏËÓææhÔàƒBFÁf«qö‹3QÇÏm:ÂNÄÄÁx@QðA -±D*“+U™Yjµ&;;ÈÅ0H';;[£Vgef¨”r™T"!øPìÄxʈà!ñæïÆ¡š:ŸÀbsyIÉ)Qª8M’.“ÉJ¥J•db˜ -ŠG¥R*rYºT’>R’“x\v"Œü5(#NQFDTâpcF£¢)8¼óÈ -!h^H¤ÒôtƒBŽa¡T !©T6ˆSE„ç¡!X ¨"¢ÑeIqülPJ„œ Š.Šø„D¸)|~Š@ ŠD©€Ã\P@"‘P(¤ðùÈ.‡•BÄž£*âÝŒÖé5pQR$BWpyàERr2¨ÁO "À0‰P.$•6€lV"K494#ŽU"ìñ=MJMXAjÁæp¸\PƒwÃh "$Åá°I  DEP¿Ï·Gœ ÆI欈ƒ¶H@bl ÓA1 0q±àC°!ÂñNF„î‰àxRU´/@ h ÃdˆŒâ ±1HÂBˆ°o_ÃN„¥@V€„È D,†É!C2À\>Єx#ÂN¥ ¬-À $Rs ²:‹l(BB¼‡4'H)H+@ äƒtÃtȨÎ6€¤A!ÞËʉ”H äÅiÊ ã¡ÒŠ"u |  ñîF•YAhA™ArÃPÂEQ©¢ûðB„œ ¥ ­ ´ ©9 Cû<ì%Äû–‚²"èÝ ã ‡ö—ƒ>|€t)BVнÀœÂé…ý@!ZA÷‚Χ~/æoê³âÃ+Ž·Ã8ÞÝÿìCD+0'‘äãÏÀÇ–;rÒø?€Á`0 s„ÿ -0ê¡MÜ -endstream endobj 29 0 obj [/ICCBased 51 0 R] endobj 50 0 obj <>stream -ÿÿÿ -endstream endobj 51 0 obj <>stream -H‰œ–yTSwÇoÉž•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  - 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ -V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)ë«”ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= -€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtÜ›ò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)Ë”z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ßÞô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð -¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ŽSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()Ó”WT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèÒÓ¿¢?a0nŒhF!ÃÀXÇØÍ8ÅøšñÜŒkæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…寒°d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 -N'çÎ)Î].ÂuæJ¸rî -î÷ wšGä xR^¯‡÷[ÞoÆœchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö -n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ -¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû -endstream endobj 47 0 obj <> endobj 52 0 obj <> endobj 53 0 obj [0.0 0.0 0.0] endobj 54 0 obj <>/ProcSet[/PDF/ImageB]/XObject<>>>/Subtype/Form>>stream -q -/GS0 gs -531 0 0 453 -7.441061 18.5569458 cm -/Im0 Do -Q - -endstream endobj 55 0 obj <> endobj 57 0 obj <>/Filter/FlateDecode/Height 453/Intent/RelativeColorimetric/Length 9754/Name/X/Subtype/Image/Type/XObject/Width 531>>stream -H‰ì—÷[“Y†gg×Ù¥:PBB !„Þ鑊” ]ª†>ÒD¤ˆ ‚H‘¦*("6¬ØÐQgwfÿ˜}Ï÷%@œÙ¹ü¸®sÿç‡ç¾žç=_}…Á`0 óeø†š`0ŸË€Ùˆ¿Ò‡¯1;¿F‹Ozðw Åø¤ÿ°;—¼ø“Bü^†`vˆñ'¤XïÃ:vav -ëÝX'Å4b;YãŸJ¢‘Š[ñG…Pø tAñæ¿0;A^¬Zñ¹R¬‚ô´½ó-ÁwÊC&¥pƒÔ‚´âóX5‚‚ð°4á{ÄnÌ€ˆŠtC¡a…ªŸg„BÒd©Âž={ÔÔ1Ô…ŒH Â"Õ@^ -J)¶íÄš«B> 4444{1Ô…HH¢"ô@bV¬I±}'ÖFƒ0 | ÈM ÐÆP‰F£!;H d’b}QlÓ4J!`.Àh$ƒ¶¶ŽŽ®®® ¡0(!JGÜ1j Å÷ªRlË Åj(+BÑjê¤: ‚¾¡¡!N7RbŒ¡«©AD”’CW´+)ˆ¦€õØ®*F|CB@Aì¥iú À`˜˜˜fÊ‚ò11a0@:´ ­@RE±='T€Ñ „€~@>3LÀs&“Ų°°`+±ÄP…ÕLØ‹Ådšƒ& c#dtH¡¦BéÄÖ7¦ò Œ *nˆ½4m]=ÂS°eÁ¶äp¹VVÖ€ †¢@8VVV\Ç’mÁ/L +ôt‘êj¿wb+%È¿†ÂT4hºøÀd±-¹VÖ6¶vvö<ÏÁÁ¡(googkkcm^°˜`…Ýš‚†Šb»N¬ÎÜ -#`3tõ As›Ãµ¶µ³wà; -NB¡³³ àŠ¡ (gg¡ÐI päó@ k.‡Í2‡ª@RhíEŪä9ñ)# $0ZP„–àƒ=/prvqus÷ðôôòò|0%ãååéááîæêâì$à;؃–Lh -C}](Š5'¶¬ …ä!¡0*ÂØ‚km>]Ü<<½||ýüE"±xß¾}$Š ¢‹E"?_0ÃÍE(àóìl¸–ÐÆôí;¡2pH«£A76eZp@G'ðÁÛÇO$ - “H$û1‚  - ‹ü|½=Á -G;k.›iÆ NÀ=¡œŽ­•€’@FìV#:‚Î0cYZÙò….î^>þ†0IxDd”T‹¡ Lt´T. -ûûzy¸ -y¶V–,3#=…ª5±Ùwƒ,‰o¿S5ÂÚÎÁ „ð…JÂ#¥1±â“d2Y2pC)P&MRbbBüØiTÄþÐ౟·‡«ßÞ†caN@OhÀ_¦c×®MkBYŠÙP×ÔÒ!ŒàXÛó…nž DpXxTt\|¢,9%5-=#33++놂@0™éi©)ɲĸ¸˜¨IH Ø×ËÝÙ‘gÃ%€‡Únr:6«‰K‚¦­ghLáèìîí¿/X!OJNMÏÌÊÎÉÍËË/((,,,ÂPˆ¥  ?//7'ûPfzêÁ¤„¸èÈý!"ƒ-8Á ëëh©LÇÆ5¡¼$¿ ˜ cSX 0ÂÃG.K¥¤gåäæ‘—”––••——W`(„RVVZZR,?RT˜Ÿ›s(#59ñ@t„$Xìëéꄜ0CNÐ4·® ˆ¯WKB“³aÂd[Fˆƒ$‘1ñ²ÔÌìÜ‚"yIYEåѪêêšÚÚ:à†R Ljkkª««ŽVV”•Èäåd¥LŒ“BQøy6–™±¡žö^ ²&”ŸŽÍvƒ¸$àÿ©gÈ0³àÚñ‘Áû¥qI)Ùy…òÒò«jêê7œhljjnnAœÄP"æææ¦Æ Çëëj«¬(•åçd¦Êâ£#B‘žµ%ÓÄh]Ml´kÇ¥¢$ ŒLY¡;aÄYZVn¡¼¬²ª¶¾¡±ùdkÛOíí§;:::×8ƒùr¨äÐ ±œ>ÝþSÛ©“-M'Ž×UÿX^\”—q0!9áéâhoÅ6g(j}:6^ŽU%ˆïQælk{«·(ŒHNÏÎ?RZY}¬¡éä©öŽÎ®³Ý=½}}ýýýç0Béëëíé>Ûu¦£½­µùD}ÍÑryá™)‰±à„¯‡3ß–Ë2E¿Žjb³Ý ¾:úP\[¾‹§_ $ -ŒÈ)—WÕ54·¶wtu÷õœ¼04<<22ºÆæË¡’ÃèÈÈÈðÐÐ…Ás}=g;O·µ4Ö×T–åf¥$ÆD„ˆ}Üœ`:à×5ŸŽ­•P솺¦–.Q<'wŸ}¡‘q20¢¸¢º¾©µýLwßÀàÐÈØÅKã—'&''¯\ÅP2 ˆeâòåñKc£ÃÎ÷÷tu´µ4Ô-;œ—•’½?Häåâhǵ€šÐ¡i@Ml²*JÇ%|7X[G/QpxLbZvAqeMCK[gwÿù¡ÑK—'¯\›š¾>33;;;‡¡ÊÌÌõé©kW''. žëíjom9537¿°xçî½û––0%²´ôàÁý{woߺ1;}uââð@Og8QR˜š- ôóò¬ÙfÆÄrÀŸc#%”×%:%ÐCŸÇ¥ÀÍJ"!5»°´ª¾Œ¸06qíú[‹wï/=züäé³gËËÏ•¼À|aV£X^^~öôÉãGÜ»³0?;}e|ä|oç©ÆºJy^fr\d\|[þ¡ÄŸCqLl¤„ò”Pî†ÐÃ?(J"O^Y×ÔÖÕáâäÔìüâ½¥GOž=ñòÕë•••7$o1@Æ›••ׯ^½|¾üôñÃûwnÎ\'z:ZªË‹rÒ &|Ýö°tb9Ð1¡¸/7?%t æÄnˆC£âS² ˪Z;{Ç&§çî>xôôùË×+o~÷þý‡~ÁPÞ¿÷óÛ7+¯^,?yxq~æÚøÈ@w{KýÑâ|¨‰ˆ`•åØä˜XS‚8%t M˜b7$ÑIé¹G*ëšÛ»F'¦æî=|²üråí»÷¿üû?¿þúÛoÿýûõá\e™†a|\»ã £3¸².j,R–VD@Y¥é"à -«B¬”i"¥)A‚…PÒ¥w!ÒÛIr’œtEÝò|çœ(Ü&À¨³‡ë÷|ó½×¼ïó”IÃeöãQ¸RSS’““âc££"÷ïݹuƒÝ¡!³§Œi×ÄK];¶}²YÃúÎÎñ§?V8L”%áL—•n©|»­ Ö}èÑ'žzæùÁ}ÿÃY! –~½ÖŠØ—˜œâJKÏÈp»Ý™4v*éi®Ô”¤„¸èCỬ‰åK>ÿdú¤±Ã¼Õ«{çö­š7þë_jÜw·³†:ÃDI”-ÎtY5¨šý­Íß_xéµþCFM˜:ç³Åa«7l³"Ç&$§¦e¸3³²=OŽW.‚ï4r<žìì¬ÌŒtWJR|LÔð[¾YõÕÂù³§|0bPßàžÏ?óÔ>T·æýwÿùöÊ·TòÏ—%aÓe¥[o«bÓeízÎ(ñ\·WÞ0lìäó,]¹~ËÎðÈÃq‰)i™YžœÜ¼¼üü‚2…¸Ì~<Š‚üü<Ë#;ËîJNˆŠØ»cÓÚK>Ÿ;}âè¡ÿzý¥lçx̆‰jAUù²ü•ßÄO ǽÕëÔod£Dçî½ûØ»ñÑìO…­Ù¸}ODT¬áÎòäæå1Å$Αäçåx²2Ò’bíß½uêe¡!3?7lÀ›¯t{®Ý“MÖ«móe•Ûœ•ãÆ‹&a Ç}5ê4hüxë]l”:2Ü®‰å‹?ûØ^Ž}z¿è Ô©~ïO+GI\ë$áì wÜå,6]>û|O%FOœþÉ‚e«6lÛsàp\²Ë›_h==VZZzÜçÿ4JK­Œ’â¢k"Õ±{ëú•_~1wÚ„Qƒû÷èÒ¡õãÔ©qŸwå¸@×ø’ðî ÎÂѤÅÓ6]¾þö»c&Ï Y¶fÓŽðƒ1‰©Y9V„„…pÒœB qŽÄâ(=v´øH¡5‘ž’¹wûÆÕËBç͘4zhÿ×þùgm¾tVŽ»îðm¡×_wíÏ“ðî ×ÝpãÍ–„³ƒÖ¬ûp“m:v}ùÃÆ}8ûÓÅË×mÞµ?*.9-Ó“gE8AX ß:N#pxOİ(Ž–)Èó¸]I±‡öíÜ´6lÑüY“Ǿû¶3_>Ý¢ÉCu¼ß·…z“¸¦¢$nò%T­¦³ƒ¶íØõ•7ßyïý)¶äëõ[w8Ÿ’ž•[àaA81|‡Àã„aQ”-.Êw®‰øÃ»·¬[±øÓÙ{oÀ/wíØ¦E“‡}[¨%q³?‰?T˜De_xwÐ^o þM—_®üfÛÞȘD—Û.‰â£Þ"¬‡3æ,‰s$V…¿‰Â¼ìŒÔ„è{¶}óõ›/ßþŽ­Û:[hÍjAþ$n¸hUƒªÕªgI´ëÔ½WŸA#ÆO›ûÅÒU¶‡ŒMJËÌÉ/*9vüä)'ç¾G`ñvaQœ:yüX‰]™®¤˜ƒ{·oX¹ô‹9Småx«W·çÚ>Ùô‘Ÿ’¸é¢IT©ô@­z ›¶l×éÅÞ}œ0ÍŽÕwì;—ì}7ì’8õíwÎý`_ð‹· -»)¾=e×Ä‘‚ܬ´äØCá;6®Zf+ÇøƒúôêÞ©%Q¯Vµ ª·W¾x•nµ$îq’hÖ²}gKbð¨ Óç…~µfÓN›.S2²íݰKÂ^3gé!@Ygìí°k¢¸07;=9Ι/W/[ðÉ´ #õíýb§v-›6¬Wë ªU.=‰Úõ}I÷%ÓWTâ»$¼EüÇß„]örØ0‘µç¦5_…Λ>aÔ`K¢sû–Íœ$î±$n­T^Wù“¸þü$ZµïÜ#¸ßK"daØÚÍ»"'¤º=ùÞ$Ng¯†¿ˆÿ p”5qö¬M'Jm˜ð¸Sm娵yMXè¼G îìK¢~í_D‡.=^í7dô$o[vû“°QÂÞ3þ".÷/ÀÏø›8c/‡ N NkÆXCú÷èܾÕùI\ïO⪠&Ѩ¹7‰þ–ÄÌEË-‰Ñ .wŽM—6J8ïE(§ ïËqò¸Í—9nWBtÄî-Þ$&v’èÒáR’¸º¢$†ú’Xç$‘èÊb Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $H &@L ˜@1b Ĉ $Ó IÿâóºHøü @1ý‰$2åÊ¢’Š» !ðZ“¸[QR¤”g‚Äÿs&‰[zõ !äž#Q¯'q‹#qéõ’¸ÔL¢$„C¢ü5’X ÉÚCb1GbÄ!1ây‡x’çI4êHÀ„ãDèH4>G⺄'q¨5 Ãö’0l“Äu=‰ûµõ O›šIÀ„°ú½™DÓÓÆ†úÚû¯›„5‘po›=:0!¤~דøï³6Høûr'Öí#ÑñE$œ‰„ð¥(ŽD~‘¦5 $¬~kMBS”Ï‘ˆÒ‘p~‰Ží%aO$NøŸ‰ Y~¡F[u¿¶®¡ñI“n™€ áõ›n•hzÒØPW{¿J«)Ì—e ÑyÿDž'1wÆ'1cîbK+k["áÅ“¸*Õ“¨®©{ÄzP!¨ø‰p"¸ƒãQ]Mµž„ô*OÂËÍÙÞÖÚÊòU$:èItjMb‘¥Õ&[{'7¯~çDâ«Òôœ<•Z[É“àŽfHX‘þßàITjÕª¼œtéU±èœ‘p²·Ýde¹¨5‰Nz^BÂt’žÄ.'7Ïã~çÂÄñÉé9 -•º¬ò]¡ôsèM Æ‹ ƒnÐ{•ej•"'=9^vÎ︧›Ó®m:“LÛK¢;‘0Ò‘°X³iÛ.ÇýžÞ§ƒ.^ŽKJ»©(¸SZAû¥î™h¢¿*ÍäÙ³&Ý#AÛeEéÅÍ´¤¸ËƒN{{îw$k,ÍáH‰î¼ŠÄÝ{™˜Nš>g¡Åš6;÷ôþ9042615;÷vqI9-ôLÐ6AïÄ3^RÜPšžÒ&A­å%Å·s³Sc#Cö>¸Ïq§ÍÆ5 çLŸdjbdhÐNLÆL$ËWf³cϾŽ -ø5âJÂ,¹²H£¥Ÿƒž‰†ÇЦ&ÞLÜHDããz$èßÐjŠ”ò¬ W"~ 8uì×=;l>[½œHLcb4°}$zéHL›mN$¶Ú}ãêqôäÙ á1×R2e´_r?GÍCÞDãRד'¼ˆ‡5ü¿¡Ê“e^¿~áìÉ£ß~c·uÃªåæ³§éHôz‰Î:CŒÇL˜ff¾lՆϿtøöû#¾gB.EKèäP—Ð3Á™¨'¤¢‘ƒ?‘Ç¢žADIq‚;8¢/…œñ=òý^‡/?ß°jÙ³iÆÑ‘èüïu~ŸHô0Äxô„©f –~º~Ë»]öñ?/Ç'¥fË•…êÒò*2QË¡xÔ@=FBŠÉ#D-‰¨*/U*åÙ©IñbÑyŸÃß¹ìþbËúO—.0›:a´ñ}‰ÄûßãI¼ÕšÄ[-$º‰ÁÃGŸ2kþ’•ÿؼý«»{𠺛ÀýÅš² -2ñ€CQWW¯ëBúiÐ\ÄQQ¦)*PÈ2Sb#éà8îåîüÕö®[¹dþ¬)ãG < oÏn:o·EâmžD—n=yã¦Ìœ÷ÉŠµÖ¶öNûzÓ~N?GZ¶<_E&Ê+ïÞ«&5µÔC$¤¸‘Ô‡ê{w+ËË4Ū|yvšTýŸ ´]Üï´ËÖzíß?™7óÃqD¢?‘è‘x§mïèIôé?hØÈq~ôñbK«MÛvîqõøÑ÷L°H—˜’‘“«$¥ÚŠÊ*RQ}Ÿz€„7’jòPUY¡-%ÊÜœŒ”Ä8±(øŒï®{vnÛhe¹øã&9lPÿ>¯ ñ.G¢k"1tÄØÉ3æ,´àN‡½´Lø…FÄH’S³d -2¡.)Õ–WTVVUÝmîzӵ̢ªª²²¢\[Z¢& -YVj²$&"4ÈïÄá{ì¶ò7èŒIcG Ô¯O®‰w_L‚®Ð®=z÷3jb:iúlóeÜ~ùµ³›§÷©³!"qlÂõ´,Yn~Aa±ZSRZ¦ÕjËù*0ÒƒæRVZ¢QäçʲҮ'Ä^…œ=uÌÓV Ú.—q7¨©‰‘a¿Þ=ºÒ ú›Itïm0Ј®Ð©fó—¬Xgm»Ë‘~ŽŸüƒBãâÉDŽÿÄôüâò­ÀÚú½Í­íÚy´»»û8Ì̧„–Äîî£G;?=|°½µ¹±¾¸¹¼8?=á#Ú/6:ªÊŒ†Ü,8.SΣ݇•8¸ðçàñ‰šÈ/,µØ.4¹Û»½CWƦf®-.­Ü -¬®­ÿ°qïþææÖÖÖ¦©lnÞ¿·ñÃúÚjàÖÊÒâµ™©±+C^0Ây¡ÚRZ§!J‚‡þ‘N‰ƒË&‹‹jB‘•£+2YmuMnO×åaÿøÔôÜÂâÒòÊ­ÛwïWWW×ÂÜÅ|JhI@.ßwnß\Y¾¾¸07=5îèëò€6«©H—“©€’€ãý7"ìÆÁå@&]2•Z«/6WØ.8]m=ÞÁÿØä×Ó³ó ß.~w}iiyùbÈD–——–®·øíÂüìô×cþáAoOG›‹0¢XŸ«V¦‹‰’@Çe¤Ý • jâoѱñ,øtˆ$ò ÖPl¶Ú -—Ú;{½¾¯üWÇ'§¾™ž™™››®a˜ -ennvffú›©Éñ«þ߀··ÓãnnpT##´•L߃%qT ÚrP5ÁMÀtdhò Å&K•½Îé)zúú††G®øG¯ŽOLLLb˜¤2>>6vuÔedxh ¿¯»ÃsÉ嬫­²FdÈ¥©‚$. ]p\FzãnЖƒº&90b©"S£Õ•–WÚõN—»íËÎîÞËÞþÁÁ!ŸoxxxÃ< Ÿohpp ßÛ×ÛÝÙÞænqÖ;lå¥EÈ…T,€Ù ¾dIDT‚^Ätð…âtè ­®Ðh¶TÕ8ê›]îVO{GgWwOoo__ße dz{{º»:;Ú=­nWScÝVi1 u¹„B˜ V<ñÝ—G”8\q ,.r¶C“o(*1[*mµŽúgsËE÷¥ÖÖ6ÇÓ|‰a(Ȧ­µõ’ûbK³³¡ÎQ[ B”òs԰Ș·•íÀ„O\˜1Ä9œ«²²µº¢ÜZY]cwÔÕ74:MMÍÍÍ-&É459 õu{Mu¥µÜBè´ÙY*ºäw#bI—#41q‰lÔ©Ha(4–šË,Öʪj[M­Ýnw80L’±ÛkkklÕU•VK™©´¸Ð¯ÍVg(Ò%©0þŸ1¡Ùˆ¨D¨&Âçr"Y J“Ê• EnXQl,5™ËÊ-«µ¢¢¢’¤ -èD «Õb)/3›JŒàƒ./„Pʤi"A2ÑÔo㸒 ×Ä_£Î|œ€{‚ÃKJ¦¦¥ƒYšœÜ¼|½¡ °¨Øh,))L&‚¢))1‹‹ - ú|ðA“•¡”KÓR…)I<e:$Ž-‰CÓrŠI!•)À -5h¡ÍËË×éôzP€a"(½^§ËÏËÓææhÔàƒBFÁf«qö‹3QÇÏm:ÂNÄÄÁx@QðA -±D*“+U™Yjµ&;;ÈÅ0H';;[£Vgef¨”r™T"!øPìÄxʈà!ñæïÆ¡š:ŸÀbsyIÉ)Qª8M’.“ÉJ¥J•db˜ -ŠG¥R*rYºT’>R’“x\v"Œü5(#NQFDTâpcF£¢)8¼óÈ -!h^H¤ÒôtƒBŽa¡T !©T6ˆSE„ç¡!X ¨"¢ÑeIqülPJ„œ Š.Šø„D¸)|~Š@ ŠD©€Ã\P@"‘P(¤ðùÈ.‡•BÄž£*âÝŒÖé5pQR$BWpyàERr2¨ÁO "À0‰P.$•6€lV"K494#ŽU"ìñ=MJMXAjÁæp¸\PƒwÃh "$Åá°I  DEP¿Ï·Gœ ÆI欈ƒ¶H@bl ÓA1 0q±àC°!ÂñNF„î‰àxRU´/@ h ÃdˆŒâ ±1HÂBˆ°o_ÃN„¥@V€„È D,†É!C2À\>Єx#ÂN¥ ¬-À $Rs ²:‹l(BB¼‡4'H)H+@ äƒtÃtȨÎ6€¤A!ÞËʉ”H äÅiÊ ã¡ÒŠ"u |  ñîF•YAhA™ArÃPÂEQ©¢ûðB„œ ¥ ­ ´ ©9 Cû<ì%Äû–‚²"èÝ ã ‡ö—ƒ>|€t)BVнÀœÂé…ý@!ZA÷‚Χ~/æoê³âÃ+Ž·Ã8ÞÝÿìCD+0'‘äãÏÀÇ–;rÒø?€Á`0 s„ÿ -0ê¡MÜ -endstream endobj 56 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 38 0 obj <> endobj 60 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 59 0 obj <> endobj 63 0 obj <> endobj 64 0 obj <> endobj 65 0 obj <> endobj 58 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 24 0 obj <> endobj 68 0 obj [/View/Design] endobj 69 0 obj <>>> endobj 31 0 obj <> endobj 30 0 obj <> endobj 8 0 obj <> endobj 17 0 obj <> endobj 18 0 obj <>stream -%!PS-Adobe-3.0 -%%Creator: Adobe Illustrator(R) 24.0 -%%AI8_CreatorVersion: 26.0.2 -%%For: (Paulina Godoy) () -%%Title: (ifcos-graph-1.ai) -%%CreationDate: 1/6/2022 9:26 PM -%%Canvassize: 16383 -%%BoundingBox: 805 -1428 1967 -410 -%%HiResBoundingBox: 805.410790676549 -1427.33195029627 1966.91943069302 -410.391428290652 -%%DocumentProcessColors: Cyan Magenta Yellow Black -%AI5_FileFormat 14.0 -%AI12_BuildNumber: 754 -%AI3_ColorUsage: Color -%AI7_ImageSettings: 0 -%%RGBProcessColor: 0 0 0 ([Registro]) -%AI3_Cropmarks: 812.851851851845 -1445.88888888888 1336.11111111111 -965.296296296292 -%AI3_TemplateBox: 960.5 -540.5 960.5 -540.5 -%AI3_TileBox: 653.611491244419 -1503.1925986961 1495.47147171585 -908.17264020001 -%AI3_DocumentPreview: None -%AI5_ArtSize: 14400 14400 -%AI5_RulerUnits: 6 -%AI24_LargeCanvasScale: 1 -%AI9_ColorModel: 1 -%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 -%AI5_TargetResolution: 800 -%AI5_NumLayers: 1 -%AI17_Begin_Content_if_version_gt:24 4 -%AI10_OpenToVie: 450.185185185183 -919.666666666675 1.6875 0 8216.59259259259 8844.74074074075 1819 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 -%AI17_Alternate_Content -%AI9_OpenToView: 450.185185185183 -919.666666666675 1.6875 1819 914 18 0 0 2656 44 0 0 0 1 1 0 1 1 0 1 -%AI17_End_Versioned_Content -%AI5_OpenViewLayers: 7 -%AI17_Begin_Content_if_version_gt:24 4 -%AI17_Alternate_Content -%AI17_End_Versioned_Content -%%PageOrigin:560 -840 -%AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 -%AI9_Flatten: 1 -%AI12_CMSettings: 00.MS -%%EndComments - -endstream endobj 19 0 obj <>stream -%AI24_ZStandard_Data(µ/ýX4£ŽÎŰ 8 O’¤   Éf}¾Žÿsý/ägzê§ûèƒYk-ûÌG®ìîÞ´wug …`+ö = ‰.ʃG„  Ùä•,.¥<1õnIlÏ5;DºæjI,Xx<0Á &€¢Iˆs£ïPÙ¡#¼«£Í¤R«Z¤=«ôé$z¨XÝnÛº½"åsÍY¥{·HºY‡ºiœÜMÓ½Ÿ¥YùùSž™÷p§Önþ#fÒb¦Õùh²>í*;“®õTwèÜ:ݽÖÙaî -$¡²/oø$Qˆ$ªÐ}B±h¸ðHb—P, # ’$ü’"ÉÂ>KJT$Q=éwU3 ‹*a _Ë‘xªÕÌÌ¥ÀCZ4äª!‰ÙÑŠS fÔ2p©aHg -<+{±Oè±ô EƒJÃa±?<ÝͽÓe•цw5¼xçæª"jÙjIÈö:´Ñ`4Và e ÃÔ Çª@R4‹DÂoìÓw|—¡ -M˜–"˜çÀ†âVFƒ¡°¢$©h$a(ÖÖ{A $q0ðn[H²×@2ÇH4nKEÅÐó5ªAc‘ l,dÑP|HÂP IÖ²IŒ$ƒ€ð`@Àƒ‡…EƒRܱ-7ÛÑ:ŽYïð°n ñµÆRº^âOH>Ù©lºÚ)z¨ä&VÕÏ4oDt4$TÛ™qÕòvÔ³ß*žɦvO*»¨CS½öšÞÑÑŠ† -¢YÒæu׊̎êI·¶®ÛFuùLOæx aÉ‚S×Ó¢¤7´% •*Æ@ƒA $I4ªHâ` É­H²8Rè¥cŠEÅ4º³«…"ñU$Á³r4D‘øÒ5‘ä ’4„$ ÅI4ÑÊHâh0‰oâ’¸®¬o Iƒ”H¢°¢¡HÒ(G9(vö’(P ®SuÑÈE’Úk1L±HØ&ÈfVgx†$ª¿b±`, # Õ¦.„QV¥d$±KL$Ù„"±h ‰íCM\A†Z©µeŽD9¬a cÁ(×9­ ¯&l «s’ÀÖ„Òö7wA• M0„V®¢H²Œ3 j¸Q kœ6¶ñF‚Aæ8M0ÊM’œãRÁp *H²h8dG)’,‹†£áHD’3$©Å6DÁH0 $Á¢;Ö‘\¤b33Òq´Þ9Œa $93«Ö1ÎÅ …Rº -’¼n„$Ž„«hD3Ù$ )Š$$Q½*E"±H¢‰æ²I‰U$9›ƒHr¢¯™lÒâ‚$<ph0H"AA.„TðºhÆKSùCÅôGÛ¾„z÷Õîþˆ†Ji^ËšE”S›è¡rµ‹4jxaùªFKû9 I$(P€$P4  P¹­k¦ËTÒ’Å¥Jºn´'<­¬¡¢—jß ­vu¨ý°Ôl·z¥G—>â¯iíÇ—¡IqI0€ …ƒ IRŸ`8I®S÷ $Y0LHRdt„” jƒÈvÙÐyß$Wœ’ËSIö Åùm É*Zã_$)F5 ’(ž(‡HbGƒÑxI´‘l`-VÏ -Iˆá€P4  \ÃQd$)+;L$Ñ}IHâ0B—âÇ0–&Ȱå%’`fjn.#¦º„$·hø¶ßïx|^¯â‰+®@†ãŽS‚*Q—‰|â‰D"±H,Ž„#A -R ‰¢¥P*0W¡X0 EC$ ‡‚\v˜ $IÝ/ކƒáX8Ž„ãŽu¨#è8‡9Êa9 G£Ñ`4 E#ÑxcÚH$¹†5ªá5ŒÆb“ŒcÈáX4ã·¸’˜Š…B¡H¨"©@Å)NaŠj$ F"‘H<$›ØLà%¬N8A Ço¼qÆâŠ+žøóy<þŽ$w»‹](‰$xV¦u4„¡Œ…‚6±ø"±P4‹cáXfãˆ$Š„"Á8ã‹$×MMUÆ>ÁP0ŒCÁ@’¹ÄgHRÔp4…b‘Ø….t‘ \Ø¢µð‚´p( -†B¡H(ž -$AÅ)Ja) Fb‘P$‰'6‘ L\• DãŒ/žø¿×ãíuºC±{´HÒÐ…*ôºªŠZju$#ùs`¨@.&&:—¸ÄýöôòïÎèèÖ°…-nkkiyddŽj£¥(E½^ZZYXWUUH⢢r¸á…V¨õÊrƒ´ Å"! ¤HB&#$¥¥S‚„$ j¹lFk -/ÌpÃTT®ª+,¬,­­W¢¥¨E-ŠQŒj”£ÈÈleefHb††––¦¦¶7…)la cÃFGç««»ËËÓû%nqkœã H²À6Д••˜˜ššÏg"¹HG:’”ÔZzzŠšªºz½&4¡ -]èBÊІ:”IÈ[[kk¸¹©»»ßDbH¢X0ŽEò‘„ÅŠ ’X`æò€Ø@„‡âÀ ¡<±áñ`"Báñ !"ÂC¡8<" 6Ñ HÁGžK£ -x440L€ àð±à -$Lxè@Ä#…<8a‚ - xñ€aá’H`CCÃc 8 ð°°2—ˆ …-—G (äË£‚ƒ„GÄÃ(ÜH’Á„ˆ <4<@8ÀÂCB„Ã#B„‡Å‡ 0D X4(‡GDÄBƒ£Î‹NýëT·igKé4ÐÛ -%bàÀ¢  @Eð`˜>x4xàÐÁ ˆ†DµïJbÖºœ_îuA:»ÝRÇI×*¨›ã‚šsÿ‚bkÂ+<&ð‡G h@.WD@h‚`háðˆpxX4p`€ðP4PK€x`A&0`#&4 V©¢Ë)TJgDv¼•͹˜ï·x%²9³Y5*/¾huPÓ<7åÝáâ\ÚêÊs?¤5.ž’ìe/Ž«lYÞâ·êæ2Oo\Emí\† (@8(-õúb.iêbžViÐ\™sZ²öîk;œR¼ü¹èZŽÕ–y÷K4çk÷¤ó,ev®ü!®íÞ`Sžæ§f6W±ÆÖ*÷\0Ï.­òGûY³ Í*ŸxšUJ'Yå—\'4›ßRVåÑ·ù¹:ó†Î^M¡Ëñ¬'JEÕ›Òò++Ź–#ž¿i;¯%û!>i=©.ÛÁ-?"5¼¥ÖØ}V‹yÿħºè5§²èëvñ{*럼bFW´u3ýÕÚ\ÕɼN^ñ©­âèzdI«¨é<Í›FO×4±lz6]ÊøÑ,›t–xcí”RÒ”Ä[Ý­KMjY:’ñV¦cw±m/¿w³¢©+ïæîêšÇ²Üš^ï…÷AÚò]ï>%§}-J/zl×ò–ÞÒeQÕ\½Ó&©ŠRÕXËëÒ{7߃T¥êjT‹"Ý·Uí\ ~ï:w—C­¹–½“ýîÅô¥'µR=Ñ“h.½âg5‰Jï‹D–Oë}·<§Ü«Ûï<õnM›ùKz/½›“ÍCZÌ>éÍ© -~sV‹ª­ô)/³ÆpK’‰ðZ»£w1’ÎmñÑ,UQ#›ÕrF¦xwÖÎíó–îvóöø5TS[ëá;hN›M¼'é]%÷l6K%ùðÖêf³`-Ýp6‹Ój­&]%é6¸Åw"µqUI,üê%•Kí¶ÔÒç^tõh<þ8¾Kš^Ù‘>Ó¼šæx³´N¯¾“Kâ×ùIu9¡mzµºM¤C¼eá¤Ú¥¯¢+=ÍÄo޵|7ÏFƒébšµZF-ãÓR§œv.³*|*&Þz=ÑØ.—gšXe{ëë舧Etª&’^®žíeÙuÜ£’®®Æ¤¥Ò㯈>½9N—^ÏË8—‰ó3ËÌÙ'º(½æÆž"IÚö"É¡9…¨sUtïÑ+æû®ž>R*–ýKÑsZÐjg FbÕÑÐZx¡P(ÞØ„"Iƒ±P$VIL¯ eäÝÙ9ŠD)gåk-#·ÅXFåâ ‡¥é¢RWW‘`Ôïxj$‹Z$!—ê>¡ C÷ ã6Ê{[ºX‘ Å7ŽÔFT…BÑ@’Æ‚‘P<Ï‹d(”§#±¥¦ Ä1Š+1(Š;›«Q™].Ò‘fϾ³ááâ­p¨z›ëSYx'Ñ™ÝPѳÓÌ;ZwÏ”ç[J\¥möNB2ü«‡Š~ËöR2©á¥Ré.ѾúDX™^0òwûÒ“´ÔUu»ûEÅ2Ö±ÎoãŽ[¹(…)PÁÀ…6¤ay¹H²@¬‹+GùÂK4%]DÒ×”zfi%#‰2‰…^Om(Ž$‰i”d`cWWÜÌ…e·t¬î°Ö&BKCº’áU*ZzóЏJFô}ß5baz À¸žA§"mq_؉ƒÕ8«RÕ— UÉBëYq–,˜ó=±˜KJ•òPA—™Úý?—ª¾ÐR)S ñT룚HÂpÙ!ÉÞu‰$©»8#‘PÂy…B±p2jg( †ƒá†5°¡7 FÃѰÃèPÇ -ÃápI ÅÕ¤±H,N¬ŠR,–%ÒʉÕij2’8F‰’(ÖZP‚ö‹$Š$xFŽc¡@’½[k ‰#±X$)$±£ÁX(_Md,‰ë"±éH`£Jµ@Û‚NI‡…ŠDDH"A‘¤¸´ªv™Tõã÷ì{–•¯Ó*OÊ£ÑtHiƒ$ŽÄY’("Y‡[𸩬ûÚNe=ëT)kÑî2B“oÍÎUÖ-»|–¢Ú½vÕéì‡ß¡´UR•™á¦%î¥Ú9–Yg6»åŒ²ürú)Ú7ëz±úrÉ|»©pÜŽGw£ç ÕfÞ^[8kU«»vSY×îLµrô<¶«6vu[2÷¶§CBÌßÖìvìÊÖŽÌÈsW¥ÐhnK©åÑÔ²¦´$ªf9ůίH‹ïjw¬ñ–2S<ÛÜ¢Fê]BB›Ò u‹šÒîÛÓãžôµGÛ-7ãÑ –ÕÑ~z9†º£X›fwÕ陥fɲ3³<;žlKñ¿iYÝÒ\Kåù¾'Ùç©c-y.Ìõ=‘lÈ*/7×YôJï§[º[¢UÊ¥_‹æÌ§{*e±¬;™]"æ¸^ôd²Ó«ç¶ì«jh‹ÑwãªòÚMÕ"ÚnÅ´’Mqi*K’õʺi›Õ²\¹\6§Ò¢tå¼£n¹»(Ǭæ»Ñ—´/•¾ü–¦§f7KšeÓûUâ,•¾ WKèK]béݸ:‹8õ<{¾wÿnðÊjlýÂK×¾¨eºvK÷õLWn)ÕϼûWKmwgÚuÚÒkYªâ1Ï„¦ÇúΞuÎ_œTÛI2M2æ<]w‹™Gú|ݨ]òþÙù¼fµˆä×é9ͧ·d—êúôÌ¥dcâ!º4+OO ]z×ÛF(ê£B½›NG©""a‚ …¢‚Á" -Å;úm§ªŽiZ¼sKb"y -wÇ+H‹UøÊýN!ÚzWŸÍ)7+iósK7Hj.ïý>·å®Ð{Hu»‡dVöª¢ïöŽjÕ™ÿ«ðT¬ÿÞuߟ¤63ï‰jZÌ´-f¢*-æ©ênÒ"¦)Ë/5ýº7¨ZXlV®‹ƒXªÖhñ‡äÉS<2ZD,_k·î]¼¥åö»wñwÞ©tKÍ­¤1,EZºøõž)ÞõÏæŸ—vIUsw·U”?´EåQ&åU 'Ñ’ë6–‰·‡äILEÊã"MbY‹”fi“çÂBL/èJÙ - «[ÅÛI+>¥žMõ¹—XJXêzéaâWÏÊÉoÍ£³’Xú±©º¬¤–Ñð6é -]ø:ºùšN†{y3BÃ[——ά ov7·gk†/έ÷SUÔÍðöze†·.ö¢±ºõm~]Ÿ[¬\—ÂÄ3\ãW‡îÊ$ÄcÜB$|¥éà=®âµ­ß•jF© -V’¢é=sm¶rL‡jÉEU¾¦šG¦*þìi"]éÕTÑæhqÈUti?MRÑ`ÑRi•#«=ªb,¨£TVðž¯_—쇇.®Íý*¶{MoÝkuGUÖªºûÚu¨êå»Sͫܭ¾£*MßÖÜ -ªm±ÿ΃VÕ;«òõªtߪúéí)Ýa¢5uIéÎjöJ¢•ÒýðrΊʨt§4œ³*Ì!,Gº™Æ+>´®QaAR̪)WÙ˻۔îf¦§ ÍK)Õ¨©ëu¢²Õ|ö°@+<[¹ßîžw*#"C:½úÞ™ÞIwã*]º»±l­®q©ê)ý¦Lß×4®[ña)޹Ίê’ÇVr÷hÕã”'‘&Ù³U,k-¯FFšx?ºì*ºÞ©n^ç\ºŠs®rzrªÙ«ÕYái¡>ѨjGûÛ_mÎ/•»¸—˜ißßÏfo´ÛËF«rfcßR”jãïy\ı¢dÅìkã5ÏTÇJ.bÍÄ,“Þ”ð¾J§ÂÛºè!NºàÙÞËSÕ‡ˆÊyÇ¥ÖL‰'µ¯¤­h¦sEI•oòç[IúyúôHiHMƒE‘>W®¹šåDuÑb&âu 'õJ¥±®»;WëÙ4+çKZš¬,ëLŠ—¶½5ÔºÃ'R–Ñ>S=Ѽ5eE]õÄ!µm"ÞK7¨{9w¹¥×á: ÕÅÌ9u%é—‰¿£+~)?«¶ê]ëêÂC5Ma9¼ºd}ÇXŠHóð§¨:Ƽ›ëì•ÅÓ.ýð¶ß¬ZéöpÕ%17ô­ æ%Þžrknié -}çü -^ª®ÕÞY­ÖüJUήç·ë_Ñ¢[áîì•[RܹûÐm™piʶºN+†¥j¼ïñ•³ÕûËÙÞHi6Úíej•y‡´5ˆÅöNÄçjªk¯¶hª†–XJX¼¹–Xê;ú_Z8¥„öaQª¼ÄçM)é–#^âéiSjÊr?5­¼aíùjµÊ¶­ÒûÑZ±+ÛsˆvîÊóêô–Êón™8¶ƒÔ̿ʚgÌ‚ôÌ»aÚ3í²­ÌûYk|ªÇºSq2Ë-ól,zK‰w\²A¢Ù+æ*ÄCWKÓ¼«ë -ÉÔë³=ëµv͆fö²Ö7uQ‰ìÖ[³3Zë|f§+Ž¥™¯§;³£UÑÝôåñìfz‘–õ˜¥ce§ýô;eó­G¯•F¯Š^ZÚÔX7%Ë554=&yq륾ª½s­–ù4p‹NG¦ej§R²Í¾v)áâ¡í*ÍÒìµ&âÝ©J¯K䬧Ù/1]¥e¥f·D›Ê*{[ËŠ‹6†uӽʵçÖ§®Ê&ÑM÷ˆyz_YÚíç1Ö™žúÐîc~Óôôn Íÿ^uí¹[éjh;ˆ…vUë VÙZC³¥V1RÝgµûJõæU;YzòêtÓn”‹Ö|IÃT´_iÍ­ïË0Ï*=÷bXš¨³¸Fs/÷ù†f³3ÏŽv9‹E;öb­çÙbÙKÚ/7çWۨçVEsZÔ7úíeôÄEÿv­ÛQ«Ú¤µC½Úw33 ûÄQ«£¡Ú¯ktsµqìåU?çØjK½F‹Æ[Ì”ÊîgÞ¹ª-;Ù?X:¦åvôº¬*Y—cúº›ðƒ…·Í»Ý_Þôu/5¬1-‡Hd÷*ç`i©ÃÁ¢-Gg»;–ÝPÑ fÎ]öÁ—UWÚ}K=Võ½Û­©«qçl*/Ý.mêålx›j›C>Å©U¯æ.sÈ¥‹u‰6þ©y_²ÖK-&¹ÊiM‰ð~ºYxÎÓ×îY¦Ú‰rªÊˆl'Éu¬=uá‹qm“LXdf{>º%å—¦Hg_N³ôcúì Þé­æ7U±òÞêÞߢ*fGzšZ7?º©‘¹Ò¼¥äò[Êߤ«˜}Z”ªXW>ºFŸI3•æ”Æ3›jMÓxÝ×øôÕל0m•—w«º4ª¡ú[it‰·U˜èýw'¿ù]ôj«ôykÙð9zd=MÊS³~ó…s¢²žò³K^!¦*)q“œJz×é ®a½”ôôÜAï‘’Þj?hÌÜ[­IúDŽ%fZS÷Œ®˜¤7BOzŒªØï–ô&ß OzG³Ó/ý>Õœ©Šj‹ÖD£®rš§63Ë\ì¾/2ͼ÷éLõ=Ëvsl–j¹ˆši³ú~\Íü©ÞØH}„Þ´±‘úž•:d›.õ½î9du¸™6«ïäÅ!«²fÛª—ꪊŸgÍë¡ZÝ­îÙº¤ÓüËYwµy´ÔÍî§UsE~Þ¸¥µ‡v_«½k¨ì®W7XUl¶š5bÝ×F« -ê¢9ÑwzÙØë™ÖZºZÍY•Ú2ÓÕ¯´%µ\6j>\{¯l†YzšUÖDˆIwûŸ´Ú=MÝ"ÓýŠ|¥öé)Ñ}Í5juªYGtW:µ*£æÑݧµ*Hvºiå‚÷í•Ï¡³‹Iok[¶¿óýHulUò†è²KšªnÏ<];“6çšw<#j¾ -ó®/-ÒÚ]´öÅWZ.!ÝÑÚÉ|®ëiÞÌt¶´È0Õ~šWÔ¼²;æà• 5oUG:xULK)ÕnÞO^ÙóZk㻩é•Úe7äÚ<ª»Åò™–O¶a™Ðt·VV³ý$òž­J—¬L.³“ïf¿Ûÿÿ½»2»ºéókÙQ)iyóôd£ÄÊ»®ê¥ï5Jv)Ö’—жRSSÉI·x¶?'éíZm/žÙõÿÿœ~·“1ïŒÎEv"*ž¡oš4ggÞ‰íÍ_ý¤'õ™‹ì+$›ÖQs·ÈÊtìM]½ÚÂÛ;5Yÿ#êŸÏÿþyohIɹ8Š©¨h¨8ŠXùÌËLEÍÏ!žæ*"Î!êÍááÑ æPfî *îo¯ðzúSÌ[jYÙ”:K¯cI–g©c™T9'ÚÔ¤ñb¡*j&õÈ“zOjê^jªUiVko½îMÝög¯§Dè£ÇdT_‘Q}‹©Vû~ý'ÿ¯©‘K§[>´>m3ª´–}£†Î+«sM¦I{K¸KI›¾¥uQ•0oof‘ŠœŠ˜º«ehEèS+ºÛa–/s5®3}V#»âùéÛ³–]•F£‰¼†S·Å—Î}Qícä«<ª—TÉ4É‹…I^´Ù©Éw©íOÇÅ5þs[›;·×Û¥9æäæÉÆkº‰5¥TnzfÅqþ•ãÄEÓ­3W툥:Nç8+7ÕSYꬩÌ[OeÒh¦®NæYºHII­ùÓX­çÃÌ4UCÚ­¡¥5— ­ÑO'Õz:¦¨«;ºß¥ÁMÕý\^^â®çr‘h.ŒæRŸÌÇtolIQ1•lêF‡U75òÝÕÒ§¥S×ñrí)ò‘þö)2^fw­úÒIòÙ¤X¥äRZª#òÚP ÑôDç?KBŸåñ§³kª4O™Õë­ÚÄò1É—uþ~ }M²]FGΧ«æÐä<Þ<‡¶ôÉyhÉg¸¦†Ï$3"]ž•v[šß²k^6Í“»W§”»5VÖ<^QoÒVÕ"ÜRUµ_h»®Înµhj§¨>amZ˾TÒº£Þˆ'ËÝzÚ{ˆçC×lʹTz©Vz\{Ÿ•«Fú=¬QûµäW)•óc_³;^Ž=Ç~»Ü±Ÿ~wiL¾#ª2âéK ?»û©-Û[[?ÿ™¾Èw§'§ÇäçÒìñ˜üà¿Á߱̈kµ=h›ŸUÖ;ò—žJ×+5=­k?«œõ4¤qÙu‡;·×^kxב~óùÕ£¹í}}³Ê÷&–-“|ûÙ2uC¼Üòi~‹LóeM̼-Ú”Ù”ÌtË0GÍT‡™fS×éNâ'Ík5¦šm˜?óÚ¾0ïL5o¢þÒ|X©—7ï³fç‰l¥SJD;À9šwu ëVGoê|7¯™™•••mÍÚÐå¨ÙÒS†…¥h¬¥Áº,C–§ì–7g¥ô13¤OÙ}´ÖÖæH.Ò¡bZDuµ÷!“-mçU[C…¨F;©FCU4tÑÕQÞÝ«ÊõãkR]ú¹‡Šêh¨tžg74{—‰C•Cª–CdR\ºô% 9']“6Y8he“–f¯õé¼v^øWÑ‘UnÖÔÙf³h:¾£Wù¼ßk mç°Ô9‡‡”sHHˆˆˆˆx”6ˆiUƒhÄÂ=RÚ+ÄüÞNa!VáþôN=xûýÑèMa~Q ?ˆ‰YëItPv¬)S»Ë4ޝPqè‡nè6KwèœÿÐ]¥¢Ó¨ö9u.Îá¢_6‹ˆèÄY\,Ä9ZîÍ%jš]Ÿ”Kh:zý÷—E³ÇÂüuêx“k·M]½£wÕ¦‰|"ßKxJ¤W4&ëªíí‘èˆÒÈ>÷Ûá|‹tþ“i’­¹¥J¾Qº-½íªu_Y–ZâÕì-ïsÛÉÝÔ¿ìí:~Úw|×>¾Þ¿Sÿ–ܹÎéÙjVsçú½¹êÍ5æJs%U4SKD×ÍáaÕ> ½µƒ¨øšEŸ'ÑXGÏ^ÕØÙØÝµYæÚÉZµN–ås²&P Å‚ -Ê9ðЀ,,"ÑàÁ#bá‘Áã $ `qªIiö~=î–ñu«Ž]äÅØm‹ñ” -uEˆZ[ÎjÑðtù¥4´õ¹2õ¦Ör†[[L›hhkÛ‚OUn.¯¨º-+­ðUŠE¶2ÄÒÁ¬\ßâÐ×Ivˆ©>[VM-¼®«~Æã]VóvRþ¾z+þN·ñ<û•¿q·ÿÖÿÓ#åo¤#þÔî²h¦ÉŒ‰–—NÛé W鎘u4æ•aÖÓþòeÁ#³#%’Ó0Ë­ÔNiTÛ’™v”“èvð=³[ÊÒRt;ÅÒ¥ùaéÒÉÒ¬fï>_–6·Ñ2O_[ÍV±¢Óê'ÌסgíLSI?®§ë¶ÐÌX¥š«'o•ž²JO‹V¥'™ôè­‚yu-3ç锕Êombylu;$MÅS¤ôŽ I¿´j£¤´e’¦]S–få»—¤ÞM+Ú#õ4YŸ´ò´›ÔL­\‘ppÌjxéÅ*óêËV,³¬…j4zÞej.ÅL¤Ì›)ZŠ2¿HõÓ0ÏÎ,ñ˜·Y˜wyduÛ¼K:U³D-=,™gÌEŸŠp_™çÄbE{ež±ÉxÎ'®®•Ý—z{V”ж\+´q-Õq‰lnånZý3õ8N[Y´úxÊÛ]×J^}hV´ìSœÃ¬»ò·¨²–V°¨|§˜™y¿ÊÊ™ê>qHLФ.+ju³U’l÷¸hÆ$Ä«.þò×ÏYêLU9%Ã%Ä©­CÚ*¥Dv„i3̳ÃëZ‡¶ªXÚ!휥wJiªnñÒߣ]îNòæMñZé‚.Y•¶Š.æ-¿Z“Φåà)^3w5-§L”¨eqU±ÑVzÎBº ü«hž½Ãº/ ɇzuùÒÂñÕ¥©ìÏÔêòœ·T—>×Ò-ë¬ã´¼s™N•45³Ä3M£¬¼Íhöü«Ü»IzeÞÜYo—t&3殥Î>ÚØ¢ Z¥¤­E4'.Ò !µô1¿·RivLsÙ-¦KÍ´©Ë-ŽÙ¢{ž»à®i¦m*ËŠS‘öŽF¬k^/?Y>DL½Å۸״²Š¦,Ú,ï`¹mý‚¿ÄÍŸæ¤Ýæ«LMú,$D[µÚ.³.žƒE¯OI³rŸ·O—›˜hZT¸‡~žêÞ0]x*ß©±2­e_U9Õ–õyͱÄ:-#?}†XdõÑnd=ÒåÜÑ-Éz®4ÏNÛ·<§ÏV§é²[Ù}—’šÙŽ‘ÕèÐNs¦—UKöY×Ö+o.2é׎¬†4o§\µò’˧–y»ÒíìR ùòYu»ºŠy»3wÖªvîÍÛ®¦é ï9úlxsÊ<ûžéÅèÒt¹Fwó~Ð -×ÌÉeïªÖNk8wejGǰþ‚«÷Qž]¡y mîåŒf÷¾0¨ ¨ÔŽ,e¢¢Æ!…RD£s  8 Ä¢Qáœj~²”BlN¨Y”ÔBÆCÒ å8S?'¦„Ó\]Uc¸ç»êê_²Á«ýƒÀæÇëWÌéõ¼Œqʦ bŒ@,Ùѵý a̸«>®>#Œ—4cÜ2FL¯³@³€H?íÒ”B'Œseaü&Ä!`¬Æ¡ç Ô-¾XyΘ†¸s±ÿÁ -q-ž‹7»}kÌÅ}“ä¦|¬½ôÎÅ—WΛŒ¹øn6p¸7çbü½os.NÜlnhF|çboOCóÅswkÏhäí–¤:䋯±zÚPì‹wL±Cm:]t¯\̦ì²/ÖN_Z¢l´I_ŒÉöŽ•‘¾Xçcðõ¨>-Ü·Ã,Kp_lVTY¿ø%áØá¿ þ¸Ãá/<Šð-7ÿbÿ*´¤¬ïÒe©+¦ -h>ôAØñí-øÂ*³]<|C"(þb?Óf †ØcWGŒ¡ë£gè/Óø6&xbœ¸LeéÊÆ „ìûÅ«z…Ò0¬RUÅëÄÝ‹‰ƒD‘¤´lðþr5 |*žŠ¦õ‹ÏLˆXw$â0k‘®£)F%eÆQË«ˆÆL89ÿVc*jÃÚøw?†|c—7N=p(à8Ö„V½ÁÓÇe~GßÏ,#`ëô¢ÂôG#þC®è:ß8(›ÞÌD}c"èNñ@ã,¢@[ ßQ†4e„xÃYÅiÎà«xu(1š6^WWk®Ï·âœkÔ†¹s¢"hãd“E‰ìWã,$· ®Æ°¤#C ®Æ×^ÐãÙ´£UíL[=×-êTã>(>ßzÒ] &ט±ÉïÅq>®!Î9î4yðµ"¸Ï9n¶¹Êë8ì\û-çŸÒãŸúù89²Y34Vµ/å.rYа»%Û ·-d0Ç kÐ*°Qä¡BZá;ru¯»L½°;»ŽLõ¨9’IǶO$©K²0¾eª„åiD—.Ù¬3f2qoÎÚ›Òm?xò!P&+ÊÖ:*¥,Wý2ˆ™ÊuîUF¿•óÍÚ–³zá̠ܵfBû–ãŒåZtÙ”utë€Ó>¿ê›[ÝÖÖ…˜mK¤Õ¿0/µ‚’s ¡˜‰m8«cÎäÉ ŸÈÝõ¾ÌáQ·‡3W4{~‡Y¾ ï”æxã‰S³ÑkvUnw6¿Ž¢Ê%iwb˽ÏFôf&ÎÐ{¡ì‡Æ8eœWAÝÔVålóœ‹çœìŒ¦ØóÐ .çÁ(c6â©ð,ßþëåYZ -ʧ`Šz†–ÅÆg÷lsW£ý|v_ÓÁÏßü9{ƒVèÝ‘Õζ·ÃQÞÑ2,eùd5+`Õnr0ŒQâjúçÏ:b–SàLjàç{ÌåÏÃW£kÆÌŸ™ýÚ´”5;Uð³ê3QüA~cmøÈÐöŇ<:µÜªhAëþ¥Î+è\Ç5B*hûØ3Ðë$Ù—¡  Ï+šèU&€"¤]÷±/FA»˜2JAw–3‘l‹²¬)î¥{n†H)(/à„Ä mf€¼ WÆ!ÆŽìf ¤V4RZWã§M4È«@3Ä'[…b{° ±éû„™»ióƒÆPXvXx¥ÅR¦¦XÃhºòÔuз3ûqàe<è‰<·ì=hµ3#ÎÜÃ1][—'tï7TxB«m¦ -}tÅ*ß0D\¥£Ðü’mÆdÐzNè^ê4ÕsNh»[f>xÍao3z+ R't-ZõÀv5Mh¬´ ]ð¼P9e D±ý¢d «'¡™MGÏÓ#俨lµà›Å!¡å;Ò¦Ð8÷}¨öÅl.. ýè%çs_ßÐ6þ#<-4 P2ÔÙa-VÁ·¡OGBÃê‰ m—‡QdÃær>;v“»/ËaÛî¸ãu•š@74²Pý€hBÈm× xzC§¥åE—ºk톆×Wˆ»ï¢šÉu- ˆî<‰F¹Ó—¢íp\¶èáæNFW2†Ï6Z„˜¸ÙÑú}+û£'[ï„HS(í’²ê?I»ó‘&IQzjDQM…JÏ{IOúÒáñ2{L¿CÓ8>ÕͲéfÞÏqzAbëô-uGO¬~º†AÝ?\E衦@fF} ©·îŒðÍÞMa¤2µ¦|ÒN]­Ã =˜mªŽ(.#SÍVÕ+ ÌIW-ŸJÌêÖ@ßêîÒ¼kÎ=ÖcW¬ýçdÂŽ³n[GÈå -ùå@eCš?h¥\ëÌäämMý“&´Á¿5w´`A®ÛçÔÈ‹®‘´ë†Çµ‚7^Ó§{}úÌÓõu,» -Ñ`t…™ì±ˆž†°…vŸÏ¥êŽÚ(‰Ø$ KÛL ô ›·Ý]4v#ªK™M÷Ù7 AÙ£ðÑvs£Z¦ ±¢ ì ¤aôpP$X³I{"éìÉ1v}ŸÝDÅfhC,ô£=1"˜öj/¤à kvNÕöþ¤¨V~mßK^›Šˆí©ZÛ§dËj !'ݶéæ=å§Qµ¶íR’Û©Áw¹Ýv$ÐáÂ=êI÷×®X´>°5—Ân·¬4” g v[¹{zCÖøÂ’øÉr¾e·½û'tÓÛ¿L·éíêu0UôGM‘yû{F åѰ1o§pžC” ò¶{݃æÅ€V¼ Ú=,Ô3Ò·‰¨,ù,:Bro¸&`Vôíä@´7ßn £ª§&Y®ÚéÛ/e©(@ÿÞž3Ñ^+ûÄÛ»wZàú¸œ¤>¼ç^Hjð¶@‚· Ëì5` -xÛâÛ¯ú;ßÔMúÔÍÜ-’׊oW±ó!3ÂÛñHÄdùÚo×§–‚·aÜ:».õ,@ñ¶Û H½DñÇ‘"ÞÖ3×!}bo˜5zHÇ۪РþJ ÇÛº ,·ŸÁ¦òö-7…Òm´9 ÒíöD‚žÞCôK·kÎ~0Ý– -_Lº­Uï éö¡)nÏÖ,pûÞ?P‚}òà6²gÁZxÓí"<Ë…dE¦Û(H;‰$V·U×D‚·ñ5+Ð'H­3ܾ䪠Á·ªX8~ÛpNùÅÖ¶ÿ:ƒ+k;«ÂàXs@kûÖ‚„&kûÐÛínYWrï2Ö6ú%üC›¼Ö6Ø1`9=¹~å—ЇÖö9_5-ªÙÞ/Æ.@Bâb“´ŸbÛ¤ nKì皎´çlË—k‡l¡)Q¶{.ÂC9Û[VÏ\Œbmší»D€ÃÕfÛ˜j†îÍ3[KIr/³1^µ©íGn…P¿Ä 0ۘ˅“e€òÁló?ønF;™m)ÈIü‰t^K.Ìvàrÿ«Ê°TC’óD™a{cË1³Ý7ƒž£Ú®¡ÝvNŸ¶3·=©—0ònwæÞžòùŠß."JeŠ÷Ñ»}&ªCÄö…¤|·÷Ý8C½}önwJoÔÙ{p7§c,k$Ü<¤¸ó¤{WÛq››L´TD O<¹Ç9ɦaî~ÅD­œ›¾ý{‰ÐÝ’páÊÆB·êøÈØÞÜð t“D\¿Kw5 ŽEu_F€áºk‰¹D¥ìŽÊ‘q·»O¡H Þ}6dƒwçñ颢™ôt¼»–ÎAÐö(Þî7ì8=Óe½»W¼¸ÝeºE‰w7ÿ+õâ÷Ñ2ÚÝEsi˳Ý-üò`ûnw÷¹A¸H¤aéøîžB¡Ø¼Opw³R¼u¯qwï&ë Z›ä»ûÝjF(¹»ëሆÛÝSZl¾9˜qwûZ¦whÅÔÝxÛð^Ȇ’7nÃöæ(ðT5X à‘ø©Q&à½Ôéˆô•:.ˆß(€wœð7lìùðÈŠÓàïNnUYRôñwKe”Ó/²cýÝL•ìæDùß½«ZF¼ôò¤”‰"Þ¡ä ùÕ›x£q'†wcÊaJh »áÝ3£ÔÉï_:ÄÃQ*©œÇ<¼ý2Ï‘[4jï"Ím#è§Þ¶b¹àpy×àÑË·XuŠœwKtð'ƒŽ2ä]û:ÃCÞYOÔääÝkýÏCÞøÊ®¬âwiþ-Õb<o@ œøÝš<ö'¿[Ȫ¨ëyxÏdWi¡ªcLä}Á@6¾Ô= oýC4mÌ; MUM¡7éTV½ÑdžJõÖŒï´7l¦îÞÛÂ8ýúÚ®¹Æ÷Í’/>ßwÔ1€}ÿçWGF4<²‡ß#¦ú½±«ÕÓ'ä)#ÿÈvØøÊ:ÀÀ€oÐö~ß–vàµ5LpwSʽûU<Í ¼CFÂÉ…»âØHt*Æpöõa­ÌZ‹ß œ½õá-=áâ8ZßÕC€²ho‰G Ð~zO¦xg"6±C´Áà/] 20.-Éx=¨¯‘Æ‡ØÆ™¨ì‚'§G.;Þhiyr¯µ».ÇG[1i>^RÈa@>Lw¯òI‡4"½½ÐyæFõÞx·%WøFÖä‡#>ù 9=Êã~ÙÚXWÙ¬| 3ñiÉ/tÆS-—„Åäò{†ÝôòEÁ¼×SðŒ×¾<¹Èu“¢ZgþÔøª’^§Û4›‡9þ-7GóH=H8\ÎC&Z¿R罋žòŽÏyçUWèÜyžŠÏãÊuó~®&ÎPôõ´AïØú‹z<µ rºå—otôð ÔBzÁ³‚©úbGÏôÍ2‘zÙ“Ç„LÐ.Ñ›ŽŠ‹Q<=}5b£Üª~;¯¨ËNBZ”:zˆ§¾G¡ÞúTïB_zóªÿ6®¾ïÒÖºÍb²~U¤ušÌ⬥¦“\ß^ ÏÛõvX÷Ç^wþ¯dnAØOÄÞé·–Æ~„h’od_‡ËÞ-ÈW”Q5©dKÚ…?~©=YcÐäÚ; ŽR¶£GÝ$n{zŠEõk1—J…k ¸û)â~ˆÜë¥|ú0C²O0º7ÓÊǬûmü¼FŸ[8ïάˆÇ9Þ}VZceòà“OöÃç‰ïæ°[Æxvp@Ü;#Øäþ}߀gÚ$ßPwâs>¸†¼&:4ö#_ŒÛ.1yT·,PþÊ“>Y>³.‡vùÛfy ó%3ßré~5Ÿ½ùæTÝ;çݹmb ž÷dñ/‚fÔû›@o]šÈ™[ÙT\Š>é&‹)hÜÚŽ> -`9Ý& X³’]0½”Ów…”êÁâu?\êI-„‰ˆœêßÄ×åêe}_|-·~ -€å¹õcÑÀ`‰(¼©»¾!`¿.Ü’Øk®ò’½Š;ÇÖìmwuí[å-ŒumÿäÕ·OÀÿþq?tì#t¡Ù}§Åû´½¯õöýÇý÷Ô&‚?§°™Ú«n¸€ð/I†Ï †µlm<‚Œ—oÒ |pJ¿¼aË]!üõ\®Ce뤔¸¦2üoÄâÛÆÊ.å Âÿ¡C?E ȧ›V)FÍ3æAGôhOãþ§ÔqL¶¦ø´?0ÇÞ‚§øÿ±¥ èQü:1Âá 5’úZ -ÊQüÔðü-ÆŸtü¤4ìòÜDE!“Xr—_q3ìÈÂåͯ0¢Í"ÐïëD/é§ò¢7}¶Â’Þ“úÝoõ±Y4Q[ßÒ¯H'1ì™Þ¾´ŽöƒÈS¯ÓË¡U›B*š± Ûxœ†/܇»snÝ o zŸýýòýAø÷1­ -Ì#~‹ƒ…ÆÜþácäÏKúkòí6=#K–p-¨ùs“HÃ}þéá‰=ú×m5ê‡)šg# úÖOO û«I{µý*#‚©$Áî_³Jþ÷×C#>ˆÿ[ÜÉýWvÄ?D—°$²všUÈÿ;–Èü 0ëG1ÿxuPc*K@dèŸxÕ?Œö6û'6ev”&)f¡Ãÿ´fþ»õÿï?µæÖ{|ý“¹uêT8hµL6–µ;ÈgR…À7ÜñH]úfÇ(Ì®Œ”ÛᎠ-J€Ðk -Ù¹Wà?Ðeð@oB e£Ý{לU'ë­ÓÇ«íì™°âÀjaå@hèg æfüG›~çT&ïjžá}0pBÚgÒ1HF[EzÞV©×S&?g jÌ8 -NÔÇ8”çm",\¶eEö²ûDª±«JÛ”>¥–üe‰¥ ¾ÃÎøPº‡Ð°dˆ±Á‘ö´¸‹©öÆtÅÀ‡Ig‰¨˜›4~âQ[—±Ön­Ë†´µCÝNðÀ”…ãøiÖ#^8y!˜nÃ}:ñLö¤5y’ñ Ž441%åYô½h_:²R$¨¾ÁãGܺ&±±HJ'×d{áÈ]‘x‚)Qh%\ lÔ}à*é|0L£' }½ Ôj´»&!§ -_·NÌáè[è¤N鎔¹K”,^@©æAœ}‰Ñ£;‹j.ñ~­Þ$xÕW™—6}œÝ˜½z× -"M¯ßbë€øDÅÞ ù®}D ³7?i½Ì܃HöQÌꔸ5µá[ómègÛ '§Ê‹~iÀy¯¿x%´mHÁö]],ÏšÝ=J ‚MO˲ÝÄNàžÉ›¯ç%Aª¬·©?yŒs¡ Þ*ÀĤl¨}Ê´¼”êoº†D<š”E"xõêÖ)pÄÆÐBɬ¡+ª¾Ýj, L±·Të)vº„JŸ¸Ä$K¯¬à%¯4é¨Ü¿K‡24ÎcÈ›œ­i¿g‘]ö;Ûõö{[É8bHšÒV0Išÿ«3ÈwoêºÙ€JÇU¼ÄÈ„½nj (Їç·e¨!%°‹†Å£WÒKã'C -+«‘¹9ú»:ì7¨ -ö4!p­Q Ü?Œ¦3y‘Å Èg/Û‡D½Öü׸=¬ª“ÛDň9ã‹ ×äè*çMÜVr{/x }„¢¨™€… éþ>Ö†÷ÝK‰áGª¦$%.¶´d°Fà ÞLZùÀÎ o{·±o‰ï·Gü‘ c¯ß”wKÐDØ%OT€v.ˆYöã_DDš É)¹‡X˜ÙÈTçóHQ©x}òš»h¥ºÙúŠa7‰2˜JñÆÁ+’T®9ŽÂ¦k’@ÈEá’?… P”ö­ZuSQùÿ›Óݨóx!X(í°G”´)(üˆ"¨iP}_%4V’iøGÑËoSÜv¡$M«ŽÍ ]kÕÄè€oœÐæS2VËðߢ”RÖ?p`S.@ôm2œåÚBD#›ãK Að()‡‹°aºùñ¬ÖANÞ‰s„tŸCíà@ß%¥šý†eÂÏš'ÿ‰·Á/¬À] (8—{÷æÜ¯ûß"°¨‡`¡ðŽ ½ìhu-:NY:ÿ:+0ˆ>¬ª·ù–4.ü¬ ¢Û™§WÖ.ÒTe1¢9æa©Ú~‰^B¹êkxj*¹×rž¢õ׋푆Šíë¸àPCZn¶âãØgB#_´|m¦b“æ/Ò©%²ª>hU€$­÷“šÅé'G/Q˜’fí™Ti¾? ÓNS•|àI#MîjdzùuŽlQ ®¹-µU+]¨zç½7ôðñÿÆ[õh'áBZkƒœS­ü">%±±ñþC`(U¤Ô£…Ë*/éh¿sPÄ\v*_jpÔ˜¦:TÚ(¹Èft%]uîy`±8‰™][ ZdÝÅÒD¸Áõ¦¤,X(¼XìòЇ±óEÁ„Ñ9!F¿ÊèÃG¶×Ž ­ô`*MõôÉyëðâ™`‰-ËwÙ£^¯éEa\—[x¦VR*‚msÞƒ{¨†ïJ¼\âW·KÝ ›Âûüã*Ú+- Á¿kò€9m'Ž{µqødj°*»ˆŸ—ñ‰ãž)pq½¡6²& ÈcüÝQêñs<oªV!EÇ ð–ö -~"ã!Á•íO ¢ÂkÀ*rÌ3ÆÅ~ð{Z\æCqöÒƒœï]B``¥´Ø]ª¢?[¢·«e]è:ÎU“6µûë;>Ýæ¿ykÁut¦SiÊù&S'þ³›˜Ö¤ôƒíÞ¨Òbò,òǼÞ3RzxÏܬ¿·˜Å÷ªónº·ˆÄÐYé…ÓךäcÌ2µ™@‰^µFÓ‰í)––ø´HcU* ô¬P^QFš£×¤VKC¸UYd0Ó¨Ž·ææ¿ žäXUÂ[¤8Òæù"h¿*³0žÍ]Ç_’í˦wV„-ÂÚP2=í^ -Ht¡T]áƒ.4³~…É<Åú«w…©gàërr'„ËT»A››dÊ,åV­ûÇ›jÃúép3¸ ¹Z 2DÐäxâ%K‡ÒˆŒ(>é<éS`iJtä®r6eÖq¹0™m'Ì`AÁšGè'©X‘ÈÀþ ù56ÂØ$@Ї„£rõnVN¹T»€q>¿;º·"&¬gNeh»ébPaöD™üð‡%DD˜€-Úà! -‰#>éÚI,Q…¨´×§íšö zÏ£=žüO3nªg -Àc8«NÎZo«c<@Wtx·Ëjð2dÁDÂÀA®Â J1Hý0ðîÊŠ(Ì/b~T%ª×2¬Š‡— º 8U³‚~Ë$tïÚé׿¡üe³$Yp˜0ƒT;²3(‹£Ôð ƒ–Þbu½ÛÙk©?‹+¾»c(n3ç5M¨l½^–w¬"áyÜL«’’ñÓ"ƒ¹ ÊR9ÙSÌ飒NÉ–$ìÁ•È—„¾³ó1ëHk'Þ´+VóoN«ökÂŒ95‹§;lLýѧw½¿D“hQ6Ö«öæ‡õ+5¨”A h%RE†2…Q(UÅ•xèp€fh¨‡ã^1æ>ç<(åê©LE©cë É^–à+-SW€S±f†—†Ø»ÑN´2syŒê-‰œRÑÙß¼D_rAý·É]ÜìT¦Ì Ó¾ 9ÐõbŽ€žQótMÍÄ7f:熼oçÑš+-ýZt±½@äÉV«s`Ø;å6®L|ˆJªîà 1/8&4Qü!| (r±=øÂî{’{fµ=ù¬ÚVE•Kv:Z¡&Ÿ+AK‰"&&'±Ä¹½×оÌmÜEЬàI-²â‘6 æ]¡¿亾êºÚ ¬®À…HJ¿×DÆ©&Š™ë=¥d|.Oe•Ö‡%À‡ø`­x¼à™Cú=mÑæÏ¡ - +l²õu\t•”!tNVWbÍò3˜$j´Ô4³÷$ߣ6k!(ç.W€LÆ«˜ûYÞÝò:¾$žH˜ltø…E¸ÓÞbŒ‘’ÿvjS%‹ï´îçÅŽlX븛Ø×êÜ{ÈoÅÑ ‡iI -È£€÷fkö”X=ÇuG2Š l[B«Úí®uî`QRpk”ÑÉHc‡É™GÚÆOo|¡À*7½8Â*mB¥ŽM'E*—Aû-ZÅ89'$~U˜»Ãž< -TvÖ¹ÂÜcdlM‘ç)Ú©G¨шÜñRì2+Ërt$©"Bh(i°‹Ý+b<ˆ?“eFc(7† ¦Q·l¢ï”÷6Ûpxp¿Œ³³Ý,”UÄU8p¥ñ•›"çcDÔH e¤>Ó·õ=чE>àhuLðCºÂ¸ÝµÜJ ªö–)UüV» -¢ÇH‘ý â±Þgüüɦ&³Ó]S+³G-€•ãÔó] ÂE5Ï’ØŒ;OVWo@Q3©‘½t†ÉéŠéi–wX„öð·G -2ÇN…áHMR4 {â^{E¥ÛåR§ 팙×B±a/žà Ú"'>˜n¬Â#•Ü›(ïÐ߯‹¹/xm)ý“äE8åpøU§‡Üh£üßÒ8ˆQÒ|™Øt¼2r}s¯Å(‹ßQ(AÚ¡É+|„‹a% ¼šòJpJhñYS¢‚æ¨Â“p]:›}z¢w¥‚rôÖ€¬$v-ÃJ¶Û&‚È%¹Žã¸si«yï±pI$©Pœ¥(w‚¬ap=ëU{nÅ&ü¿°3e~ÇÞ›ôwºZGÕýMéQ_‡¥¦WLY¬þ36èúãxÀ]Fqì°e]„¹¢`¢‘S÷n埚˜ÁkkZjÂͨguMŸ£¸îCðjÏ Ï>ƒ%áÏæïqzÞl:t²¾¨1HRsó€g8[..3œb7T¬á "*ßLuB¯Ï"˜"{Hk¢oc«Y(SMBƒï3„ãÕv]@ÒÏüÎ&ÝFíUÜ?˜ïǬëÛ‰ø•ÑV5l‰$zÙu¼G³:Æ ~¦€*Ç´¦0Q-% S?F6XÔ<îÎM™æý3FÀ\æR0'Æ•Zi_;zm!fC—fAýÅé—ÀY<“£ÔøìÊ©³†Š™gmYàX]®Á^eêâh¿ âÀgÔàŽ’ÃáøåxTMà·Í1i]töî‘tm µZçSuPtòã´=`cn"`€^Âç®Á5ü‹´X.Zрঠõ-9Ž¡2ÉîH:}BvvÔmIE,|°åË9ãÿØ·¹¸s02#2b°sž©ؤ¯ÀXgX·:´4ñ›©ÿ4pJÚͬïΡ»F ò8¸T­ŒÈz6)Ò¢nNA1ˆ“àÖè;Hy Ži@0ä@úÖ‘ÃTWÝ{÷ÀÐ÷çÃÞGq«H!ÊU£­"鬰·8õˆ4u•\åˆ7´¸z°÷ugì²5²s9jJAÚr%ø•Ï„]MñÏ üÌÍ)ñ˜û¹|rŸ€Ç,€Oª¤À hp’2Ñ=Kªr›¦Ÿá.DÐãÇÊ›³•eZ†-‹ÕÄdÜ÷ÁB_ƒ¦oHü4øçÞ˜ñW,ÿXA8[=P2­þ"|ÍZä¡Î¦‡Œàr¡›!/×0&²2¨çŸf¸ðY؃ZÖ;ej3<ÉKr -€¥}šN¢é:_†/è½–lÒƒDZôͰÔòrÊãº+V]ÕóòsB5 ¼ZÍÌ3nP„)9™Œ:#œêú·3Íq1À¬põ ½³½æËVe#¤)£†sÝaÜÚÅ9íöÓ4N‹%k½>U}A`<½6~$¢ÔóA *GÓ¥>Cœ”kT‹R‘C•¤e³¶{kT™¢-!B¯YYYï/”¨ÕÈ0†ýøõ5™çœ0ÀläføÌQŽHµ+g%ßï7Ðà¸n`dèþØcT¼ì\êhN2¢AÃÍ<ðS_±¨nôWùç+þi‘<ñEá˜MÚØ²'KÖhTÖõ"^1´.yOÛ$ÂêÌÌ–“Ø]QWŒCb¿lš“mOî[÷€ 0,KyšÄ±f(§áŸZÕ¾7>ÙŠkº9#+Rá,‹n m$'„QûZ¹gŸnÜ<ë‚ìCª,gñ+šK°õÝ1±&¯÷ó×Ã…^ЧR>‡/ź/Æ÷s\Å"àɨNe8ƒþ`*÷Ǭ.ßg¦L=yàoa++*` ôškZ×E.¶úûå`K @ÚëÁO‡DnX¯:Ç;×»F¹GíqÑð°|¯*§¦7ûý BA“´Ú…™Tkߌ³ò~ÔYÅe@:ÔÍ+øUt@a?Ãq¥Ôqô `“¿%òþØ8WÁš¶Qz>w&7öôÖÝ©¬i˜|u–oÅÈMD’­ -j2ÌÄà ÁÀ[hPP^y&ERgJŠc3 ÷Çk-Ö’ºqa”7ºhªx‡¼‘”èUì;ä§ÂD Í_¤l"•)³ñR-­”&n?µò!ùEñ“œÕÅü÷žúåpP U”zô–io† |Í@<¹VÂÄ}l\Œ%KÞÞŠsê}‚…§³ Ðn`­íh]CVÂ/™ úðD•ömÝý¿&¥ËÖ*NØòSj‚KÀúõÏúm_yQ?Mýßf•õÆjM¹£^`¦'/—Jzâ\…XÃ6$F¢gjéy¥eïW®hùÒƒa’›«}ϲÎm#«D¸K«OÄ7¬)e£&¡S}ÎA Äõï¶¹-f]oŒj8^Y‹îSâFEjùukïÊŸŒ 0î¶ ³=)ô”;Ÿ¶’¨Îu5­(ù¶ž«¶í”î\hÆ×ïæÑoþØ…ë€N[Ü¡C¬àKñ„™R®PRÃ5NB{ã»?‰òŸ\¡sÝ”» ûzBÝq:ŸûŒ'Š‚¬@×rž¯z01^]?M[vm€ó's5”^æM`øQB‚ùo)qè¤Áãyš -¼Ò†Á¦M$§tžI8,y¹ùöÚgàLá˜95‚áÚ=ü‹0ã‡]ás9ÆY£Ð“ ]™½¾SFr^í‘Èf«PUø'‹Ùÿ^sÝ{[µXñÁs¦çr*îÊa¦+€C¶cpÏ~1¥c×KœÓÃBùN®(…?±z«¼,0æû•[ª¬íR߯¿M—u´WY¦¢„–ååëÉ%å‚…ãôÞ?x‘{@ß]À”š¹¯ð8°é߆€³›þo›|•Ê­[}ÝVgrbŒÃWS¿”pHÿáŽ| -%×.È\¸G&W²e¥þóÁê,F6QYV. Ö[•õiªÕV/)ýLÔA2&èLf‰6…Uºrûûw,øQ™`c8&VÃi Žsµ{yèt‹¥rñ<5­šú£Ò`ålçü–"ÂK¶Ö‰zhÜ`¢}AÚ‹™º¹O²vߨLþ¼>?éH¡ ¨¯u…7 ØO¸§Å’ˆ®¥áÊuå:ˆä§%ãs“}Ý&MjÁÐרTVj -‰>Aô'˜èì6%z01"zËxË„§ƒš%c‰ëlr/7® = QX­,‘„xŠÒd6é)ÄQ;½'Á(ËÏ4Ökã']òÎJù#¶Eö¬] f§ÕAå“Ò+ŽC´…Žüâ8z£˜4§¾ðWJ·—±§C]šÇ"Å‘á>£a<Œ1ó‰%MÐ À¹1ÂÖ¥s†Î tü–o龸7ce~(ÿsºìâgtõ&é³ÙTŸzÎA”‘ÙˆŸ -)‹4yD„¡²5É¢˜2ßM±w9k|%+êtÉç6Xe ¥Ñp°µJÞéêÆ0•R>ñQ¦ï="Ë•µ}Þ@q4:ã¤k4 ’ñu(“'CŸ¥À:ÜsA¯Ø%¯Ï‚ ¤i÷«7 ë I͵ö¿/»œG}*i ÚHІ¸Ýß{ël9Ý?(„†ÅÅïä¨ûj¡îó¿ëˆ—>`¶‚ôUÉwã%äÇ-SÛøk+ñän™eš»d÷R*Ë'ï .µ`Í ¯ÖÎ 6xïŒËñ!¡ï[û?\zRnĉÒÐQŒ×ñËR¹x¶|[[À7´@Žû<9œ€ôgSÊ`ݺL_ô¶}ЮBº|ë#ÄW“i9$_@·ûºÅ KòSÔr Ñž0Hp–{ǵSµ—¹˜)³âêÊ©°|%¹˜AI¦Óh›Ýº°sÏ Í S·¢mOXÄÂRÝ@É8sÜ/wƒPZIa…h=KùoÞÑóÆ¿¾éýêfïö³NEœpþqLal 6'þ¨ôôéº"ìax’ @ùÙ+Ïpg^g¾•ö0÷Ú¸nOƒ¢áU¿YƒŠ Õ>Ó¸uä&p ¶‰ÎŒ{³tVrZ'ƒäš&õK”â¡Î¢¨+§Ú ¤âæ!p¤^Ò™ö -f lÜ£¬ãê+•¨¯§9¬Ðω¸¹¤—EÍvÿäÕ¥GkÖñÍJðf»4ŽÍµîC V•è‘s)às»ç”¼Çôðν”çé -¾R@ãÐmŠü´Ì<EÊNˆ§ÇÐï(y`©AJrÕ˜finuñáCtñ¨™àU¯VË8þ ‰`NeÇÙâ”[ˆFÈt—‚4dŠÖzäp kà{q)à -vg)öT¶Ò™ -Í RŒÁV“çò<ÍKSYÆIŠ,ún[Û¬ãà÷fadD!;W#²—5›1k9ÔÊt7¦Ÿ=ILSÎZ5„_,-é1Hh,$.‚bùÓ*Ê…qaDšÎ†ÓP*±á‡¸!hïZ>\kL”7’Xš½ô­‚Æ¿kçŠ<)—Âzhp¦„ò.qú±Å®¡±¼1Óœ¡©èÄJ*óº óÕãê 7zAÛ_!jíí†+ñÓÏœrˆ¥Ìo~–þö 5,$ÏtmdÝiÿÐ#îøÑhÄß?0ñhsƒ?M@¢ÑñÀß&WA5iù¦Uì -ø[JÎhŠÑc„sÎ*è -VÒð½áÞU›Ç¼Œæúf@t=ÈÝž¤q¤†˜k-' –Çí3°*àyi*T43­ÁN5¯tDwøR¹äý½ÃÚVê-›lQm*‹“nà qSâÐÝÀ<—½c+³t¢–1+âUÐÖ‰,€Ò 2}%'. b~PD×d@ã¬bÈ»´‘j«—¼nŸ¸Àþs{{ËécÈ#ºa Ùj=ëZYØ[oºs§2BœC¿,ɠ‰{ç¢bö²‰+#YÔÃ)1I¨-+ÌDˤ3xÆ x½A?y -²¾â3?ü²üèióbÇ^Ðÿ›ãÜÚx–ŒÑ*·BÈóZ€©AWâ¤jÊ*r„q5Ùz*<ÏNš† ³Œ´ X1À /\0­ %g®½½‰I -Õ¡ÊÀ©´>%ŪØÍyqÖ“„ô/ç[ÆwÔãÔáB:¸_whÛX´\!ð¬j‰8Åúpµ—y@?igä%_±ïE@R*É¿0uýK øÓ›¯øȦôO„Î!-qWáo̺Î~1%o*É -,låI‘M”R¨|’{¬„[=Å”I·¦^âP&¿ƒJëì†L”NÊÿÙô­`+^;çv+ =Ú?¾Áڻ앒7*(¯iª«ï´tßôЦÇ!¾ß?™×…©3ðÝå5Ìd”ôQóòiw+Œ ‘&=qéÑòˆåôl¾|¹"“x7†ÞJ -¹Š‰£èà¢Îä¢v˜NùÅ ·Š°î‡ëߦ¤J Y¬ÿ˜ÿØ­vlL EÂð§É”“¸«öIîu’öèh,¼+’æÚŒ9ÕLïþhêÈÜ·%o1x•Î/~ƒ ‰µ¨ûJ‹Ðbp“èwä8S¥¸42ë}¨œ -òIuÃÅÅ„rÔÛ[‘ª|:W7A§˜3«(I&jzÐÐ (ÁŽMì+ÌâhpMÐEÙ„ŸñÀÅâBÌ(6áÁq7û.xv7ÎÖGL Ƭ K¨¹Ö¶É˜.1ûKl´è þ}®:ºŒÞYî¢ v{LGû ±ƒ†!*Iv "¦>cG‚ª‘–ÃHfïmì(— O "îMx3RééŠÅÞâ ’ïxàÖ¼äWóÓ"ÑÝß)B§÷ÄamÙÆjRØ«{8g/•ƒÃ’´³¼:^ìO^š¬ç‚oš8&Wcõ!EwjŠäB¡ˆ$@ÕyÜRË} Gö$Ù`˜‘„¸ š¾Î.3@ÿp€³­ÐÉêì‰Óh¨âºZG¸±CA¤Ñù «HÁ»$àÂb(•饛 ¾ž6'©|”П Â÷8QJ"¶¼ëu€ S¼j}YÍ¿ÚÁ®­‹žIÿRˆÖÐD~¿yeçÒÖYx³3¹HˆÇ?Þ*¹<1…â ­²Ö¯´*<7áqqD\Ê:Ñ‹çi#YvåeÓ ÍÙ‰s¡(BˆÍÔn©ÖHËA®¾ ]ÈÕˆ‚k±Ÿ=kd¾Ô,£j¦ún‰IÜìM‘9Œx€ºɉlå°£×oÌ+zyÑNR‘É@ÚÎi×GïÇ›À˜ç6¿ ¼k¥@'j!„¶b*: ½¨(Rh<èèk*ôøCÄÿÜ}™‘§T6›¶VçTäÏ àî×6‡ÔKpýžOð‘',êäEf&Kòß ‡–Zi”üÜT*DZ±¬!É6iÙÖã’ÖTû¯Ýâ7—r+);rM¤çj÷ËŒãÜιï©ê¹] Jc× -©øGâRít–}ñ8aÈ­ùÕïTåpP§iîçYIô©bù;m8eŸ•#÷žÐw_¨Ä Ú9|=ðë›oØžNIj£Y^«ä•H¬$A`åCÍ“ÞimP1O¸R(ÊMIFíº?ÿöìÚ0RÉ ½®Ï•Þü•bZWL¸ž^ï™> -ŒÈƒ½]˜-³ïu‰Ó•[k)6|¾-ã[€z«„ ,d§³ø -–×Ã?bNñ¢5¨pm^QÒ¨Øyþ qÒ. -_Ðåµ³Aêq )0g©'”­¶C¾×Ü8wÖs[/fæ´>K¸܆’püŸÆæ€¶é[™p‘à Ö¼=BOD¨1±OIú¶R•#™À(fņJ „ˆk”¨[¼“ÞÀIgòÁÑ"0›3ÒVÞ0Ò³|®i¯”G±ÉT¥g TN»:8½fYÊGŠÃØ–é·ÑBĆÜ$^¸íòp#g7I8nv£¼ƒ¯œ×¸ðu@ô¢Cðþ„(H†üE¿3Ø".@ƒ6ë`.b V¶~Yò²ìÌýÆ&Ê¥f,+‘":2Ò ý¦Æg=ᘃ;3‹;å1á–ZÙ©]4Ðàò—È“¿“r™ˆÎsü½ÊBþa„8h£jŸFµ£¨ ,ºÊŒ/tt øô0pbH\¥Í¸´ÊMv80¼’Œ`­´Rå*Öº¯*ý!•ªø)$?4 |ÆÚ1WÁ¶.b®† -ªˆt=ôB"a‡»UOg-Á/š‡Ç<Ãí=çõ -¿Üð¡(6íCU?q)ùDêÕü9=ý4‡ÏŠÜòøVݸ'y_(¼„ì…¦ žuèDª’31¶®·5~|Ö4&®£ü3Ÿ­¸9õÿh½rÌ9Ðd½¼`WTb×>‹Ÿg5F]Ã3 –(ò…g?—É‡Ý …cÁo>Ê–+™_’t—òû‚_qÒ×j`SžU^7«ü|¦¹ÈLìã(ûÉо …ØË×Å#E?&wùMÅj'6´eËK ‘$/e2'‘ @…¬µ/sÒo‹ýx9­Í˜+,¯/šÀ¿4ôt$±êÒ»ÊOú²(å†d,#óReZ+s¾ÀŠì#Áb·>w"#,-:’±™»÷P>yY¢9{Fßu—~ß3À&gÀ‹ÎÕgPQfÅ$åwc•œÎ;$Qµ^(vÜVÚ}œy¢¦,´ÄêÂ8í‰7R]z¦Š*±nÎÄoÖö=L ܶ–C’¼aÔ¿ÚÚø¬-عÂ?ã‘u$_zŸ:Jع´ˆ½šS°0• _^nN»³ž’ ÞΕíä•åƒPaìQš¦SmË5Ö#ú±…ŠPRVp\‘™uŠïúæ Û‰ªèåegÀ(yÍúJâôI “u5ˆ™Ó9Ùtaƒ°ˆ´iïJ¥ð ÌøˆÅ ÓOXè‹Eá«h½Z~é‹Ró,d€öþtÚƒp6 Å3͹8ù`” Š4wØ[nºËfwÎYÏžMˆ©wUÅŽíšÄ'ÔŽæLîi]L³Ï„à‚lw)]²êÒ»Êïú²Ì›KH꽯ئì¶¥×µj÷~(›ÔÅŸÀU¹& õ—Cüef›Û0“ZnÆMâ%ôÀnÌM’t ùn1›’¸,0•ªBAS×d‹¬Á<±+É· õZµ³:‰…\¯eƈ„«¯o×7/gXY߸¾JžÀ‘…h+ÕÛ¸ŽNÊVèL4.)¨«Lÿ´î§í¢pŠAWŸÑŸL£¨[åÃvTsSéUïÏ@¼#fïð;Ñ8»×£¸žˆ(ä-TN™ ˂ӡ ½¤ mÔ³\#±±VÆ_åp$“wÙh½ÓhD«‰Ãè‡x_¸²@A* ˜Á!¨€n”S:8TçÑ¡£rº;‡¥/ŒÀ©{å@O?q ¼jS–T|«ä¼LÖ‹ m~ÛQ.W¾µno „[¥ºW*2Ü·9`}E4væPõóT„DÒOœàÃ_I~'ÆKJu·tΚõämu»LÒ‘ŠU.Äj1È x÷$U…Î.º -î2¶¶IºMƒ;=láYpñ¨ Çq¥¬ÑÙUž*éÏ@3û´Ì©§%µeäÖžÆ6‰7!öQš]%ψìIèÒkñ&ánøØ\°½FoŒ'–«šZ;Õ*׿„¤aÞg±²žÐY‹]3|‚Q=÷4\Uý'v_ìMyf®#{Š;bcõ‡å3è¹ëÊ×ÊâØÇF |‡ß»ØpqÕ5ûôº ã+&åÔjÏú&l€V^ñîò®Dæ¿d‰¥1Ù¢ƒ -ü@BƒþY¿"5Da SÇkK¤Zi$jA& 6ŒÙüG Ì;DPé#5T}¡v1ÞƒNvÁŒýî3@á29Æ»¸eÚ„¤.—Dÿd£ÕãоúŽý`q÷ƒ¡ùyŠv8Tõ+ZÆÕ)o?-”Ðuò¹QÕË¡úãtÁÐͰ6uËŠ­"°çˆUi$ -C¯ÆŠîöµíJ0â*bo‰ã^“û@å]ËL΢7ù†Û÷âÆŒ’rYöeª¬ªJä.()Nf0áçøX‹¿mø:ÿ{ï½þç8õW-iì% ÏÙº³m’ 3G(3ÆYÐÕÞ}s);€0á`æ:ǤÞxuuºþá¿küGœ¿€éÿLÕë Ú¦~—ÑÇÀœ·jF!X…È88Èä(‘‹7•SÚN­ß4¹¶¦(wÂ7SàS€w -òôÄ»3==·ŒKédéD©[‹¢;_Áva¶ýPËI!iÂf5ïŽü -Û„^gÁ¶•mdAXÆ2´Ñ ®h@öÙœò?üURï¦OXYŸô_»äê…Ü™^/Eï}̈Ptæ­^‹qòü³ù±6:kûk­òp»ˆ’“ʼ¨ì©º(6Qš­dBL"•>˜~Yý|µ³Q|äg´”’*\œq>n|ruîþø½ -akë<Ç®EA¯ëû¸϶ïŽäT?¤Üȉ–µs`µ©=’ 9êa¬Ç‡EZ[q£†6)šM JçÑB¢íª«Û-šx¤JêûÄ’ÉÅ ¾(ZUëµ<êÞþÇK;²ìîÉï1Tu 46è!ƒc$ {AäÃJí 1äe-¤¤õ”A« ÆJ˜‘ÙZÎßd?-N‡ð‚”ž¸ÑG¤Y»(¯š *áëB6vI Ï¦Ú H|X4ê´44½!€‡"*Ù„º”k¡Fý)ï42ˆ~âÞv¥Ôñ_‚S/ÔÐ?г†(ü¶¶É®ø;½hz!±[½˜øLŸƒÐÌÁïZóPÌ-Œ#“z7ö­[®ŽéoO–ü!ÌñËàš/¡Á - ŠNÉpn;4CÌR- -Ï_ šÎ) ø’À°÷À¢´à$8Ä|ã–›6DTdƒmãЮ-X€ÿZÞÿÙOTQmfŽ¿¬Ö»¾rÚÉ£¾™±ÀíÀäG%€hö|’'tгN9×Aì_©ìeúrÅ{ÿ W>•ÕÏEÇEeM¤ä"rOcž4Ó*›NØu6G±",Ø­Ã÷rÚ»¤n“Ö¾ ®aYit2뀜•àäDµëã¤XéI(ØC#ù: rhVÔœ”±f%"_+K’ˆÈ‰ôV"º‚Š™*cà{¿ªÖØ#gÎ å Â%Q,-l78œd¾ñ_E§hX©Wç&TmôtMÈ@ÿì~¤Þ~*WVJ~âuQª™wnáG$íoúÀD(”Gÿ.•,“e›ÏñŒP†‹lKÜÙ_Tn¤œ“Y˜sÎ{úR,\öGøø8‚° ;+¥y¶óqêßKNqz—¬-n2]&íz.òúïrtA<µ¥š ñg~-wÿ/’¯zZº:~î¸\¼ÑODMŒð‡þµ¾w±ŸNÂUô§£Ú¼ç[¬÷ºT*­4š¨‰W*ôš…[{†€³Jð4ÄL8%£o-h‘Ÿ?¢¢v5ù¼J¦wÿ%qäCr®gq5f äúTØHô4°sÔdÝ˲w†î]ƒxJ3;–Õè&MS”¦>Ȯꌄ֧ñnWѲ³gת›Oùåyjïëc$Á´ ÒŸÔ‚F1±ŠŸH#Vª°:¬Ø+J=ZnüúüÌß+q‹ øî·åâqä¦(baÜ­¥I5ë,TDóþFÍ‹H~2µNq´héCúáÌe_¥&sŠwû¥ƒŠ‡,Ãu=õÖŠ_I>¾"ÿ•«µ*§é”»¯]…|+,óLíÔu;U^9ŽŠ˜yþV>¾§„9gPoCçIÿ– °j¶ÂÍ+¼±™@ä’QŽ6íÒÙÂ÷À¼„¾gá÷¼ãí¢Vë ßÑõ˜ÖWÞ O/Ù•Å®«Ïîý3³¤¯ÜuŒŸýåì@þEYq󒺦”jYKyÊn¹Áò |F/á8rºåc¡†™àÍsT¤Áµi¹‘n‰±e0ö=¦°äÊÀ@¢˜C~.ä—ÈHnžÙMJì»uÞ"'áBߘîíÃQ‡/tÁ—oÍ v¹‰‚ àB1©ã³ÃÊSšƒWýgò™¦ØÏ_ÎT25íÇyò…;Zïq¸äú »,±ò•Ó¶=¬Fç•(B' äùaûsQƩ̈́¬¾Ú Iç'D‚üÄÈ„Tˆ¤з5QÅ,Dš[ȾÏa¹ºͶGC:L¤–KlÞ@ÅFÚ`֬Řȳ¬6¹W ýòÉÊ„ÂSÎu%‡Lýcû~€³¢1Ë(•]¾¾Ç>]j%ä]dŒ€­û­Ÿ‚Sƒís™Åÿ,kæo -¥NªÛðG ï˜ËÙÌç ‰ªdˆÔeûÌÖò/Ï+@Ø*–GY³Ž¸í¥öìÕœ7#{?ú#ÏN31îàmŒ5}ç,Õ1Ø¥¼´çöåà‚v9 -=ëæá«Z{¡ëâòßÅ]|.áùÅDKǨÈÿÎ&ãÒ|Ž…ÔºÖòQ, ~Ü\|ÿ…ýÚ¶uÊÑ~Çá„¡¹0+ɬÛ"mVÅÇ–æ*oYH«çózŒ `@âÂãï¥_D¶Ëûä"ºíaƒÊNažÞtŒGøæf©I÷¶ÜÕøTíò69 ´´ñ¨î326ÔGËè ‚YÄa3‹œ¸åÑN©cë¦ò«uòÍm¾×J!Fd¶QÀÈ÷9‚nfÓ5B}ùGrÚ"ó…€y>Ë«½³_@Ú³"ÂOÖr\éþ€-vU‰¿Ï=°°û@cWS0ÀG¼[œ¦€[ci»öëȺЅ-ŸØg(ÃØy¢í_ ™ßìX¦½³üÁ)K¡gД7‰*4þ‹° -ç™@Iùw™€6Ä—$0ùÿ1CØpñMb6€ÀsIаëÊ!î˜ƃµñRz<žÿµ¸òaŽúöíB&*ÙææöÃÚ^Öƒ'“ä¹™nýÀ{{Àß%ÿ$5PeÅ)…•þÞ[†—HHãâ½AGhi‘étÎÌf¡E¸Rs…KG}rü•LåWÞÚlkáœ^¯ßD¢"l¤ Æs.©·:}§(ó8Vû£µTP1‡¦¿„^AöQV$àhí@oh>È5§~™ûó®çÈœý12²$ôë:Îd…FºF?há/„³¿þ*ŒeúþI\S¿(unÁ\"°¸_olCÁÚÆ×.ìhðuÅ<`PÓs32»Ñ¯¢$ë¼¾ kÿ5¡¼'~P½ÿsYÔ*b^ߎ 8%‰¯Ò%: B!ÔÂÀ— ¡L©.D@ÔÂdså²;ê„6•zˆ ¡ßMZJÌMS­tÓj2©åf+X|‹úŸ@ó ->bÑc•„ bfUz’¹Uù™O¾Ê„–±V:ˆ û/î zú‰)a¢”U¿ÃSÿ•’¹@aÐK8 Š[3ÙÛôº˜¡¹ioÓC÷¦àÙM‰´DÏqç8è/XLÇ+xpÏ-‰£ºç$V±É ¶^’P ýÁ©?ŽñpAmðú…¨¿ŠAÐDù~aÊ€bß<r.> úÐÁ>º²>t<;âlˆFÉCÁ6~À¿±2Þ‚þòõ¤¹Ÿ3zš€ðc„¡žƒ¿Õ犽…yu¡2 6¡ iPØØ'ß1kåA鎄˜]SÆš š7üBÒÆÝŠÜuæ‚8N'n‚""ƒ VBs‰¡ñvVÄóÏ%é¡´ŸM8&±—Yôž? åVÏ"5"z˜Ÿ[ ë‚s|XêÏÕ4Ý¥Üs÷PýÇyG-¡³‰;Œ´£'Ô –C+¥[pnëª)é½SF>uò8«lræ9iÑÝÖáÄŽ— -;2¬Ó:õlì¤TÏks§ÂêyHn½“Ï€Çîs Q\+ -õƒnÇ:îÇsµ\I=þcâcE1E¤_§™D!Ú‡ßX¾Í -å±q¼}¥gAðš„­¼—œ¸~ž?Dd–ª£–b?HaWíD [iÐÈ´ú&%2èØ†Y‘2BÛ¹Õ<ñQ¾i-—Ÿ•Û£jGÇ)\!C*2oß>ŽD¹ -Ž>ÃB±å’™¦å~!§²”Åû (ô[Nä-§üŽ3õFßCPÍŒyV›Šý»]ÁÖêóôWéˆÓuÄ…]ÄÝVÖË]%-ÞCTk4XÖ÷«s€ƒý«rÊ™šÊu—‚ÒQ<4inÚòU.Br2{¯´¾™Ð\êRÔÁT´ªÌV˜àÉ´1oSœ2.ê…þëK:Ol%tµ:(ýø@×­$ÚéâІä,´‚VW`KðÐÂkmÆÚØøÀÅ“Q/2â£4×j£B¤˜ )@JX&1x”ªŽbGùl”д[ãAêðºò\zä$Kê#¤=bÉç{3à|Gþ´¬Í å Oû}³ÜZB>>Ÿ½ô ôÈXùÌ.¿MàduFº‚Ñ¿´úo”Ÿ^Ó¨VÐ_x¸ƒÙ ˜®Ž]­$s; s»6Ÿ×G%ßbŠI+ŒáÔB/19¢]ËO€«”¾ø©ÐË`Þ³ÐÕx"¿ùÏJ1u2R–KúL-]¶PLªdç*Ì©­E䲘²dÎø(R¨@y:=ЖœŸÝllÍjg.S®¡˜”}é(˜ÙœÍ=y̪8柴´¶gfxHŸƒ¬oKÅ £Ÿ¹Î‹•þÄè%>á­®U%â~÷ï)K3qvRÛ5¤>"ö…Šïf‘,!ã]c)¼VB 9U¾ y‹§„Ôì³Ò¿~7^¨¢_ûÊ%Õx=ÖÞ¡á÷wèSŽzÈcʲÙB÷ñOCÊE™Ä}öÐË—b—L袈®Ï˜3å´XÏ)«YéžtiNÚžVLÇU5l“†n–q-dîÔœ’’ ~Èr”fûÒ™@Œ²³Ýœ*ç“©4È;}^ÌßÙàþ·=ŸYͧBSQ¤ b¼ŽÑLk9¿C[Õ6FÐ|ù ü'†z0<२°å»(¼}‚è$EÂ,£¹®;#„'¤–mÛ[ +áÐ)<ãÿyxÿE<)Û+^ïÏ+Ž—x:<åºò>·O#IxŒÀí’#ZÔ„j®ƒ ùäþó¡„>n¾õ\<~q–³ÛVWñÀ´;¬ëë<©×üç¹Ã"´Ä€ÿóò“ -(þÐáõÓ¸UÛ]fz¥K -Ï(‰sªnÃ&ã‚æ!ŽªšÃ©‚ ÃS¢ò{§âÌJñ_ÊyìŽñß¾zˆLYâg´æ\œ}¼ð•z`µÅð -&ô•©b’QûJdyÍèW ÅKÒ×n‘t :j$Áy/‹Ï©)ekxow‹‹’²øG«>‰HnFJUëËR<c×6¹¹ -ÛG#ùeX^¤X\Ds…©}?/ƒÞâ: 2‹QXÿ£ŠýÉÜJO2áê(žÒQ­þUŒîñÄÍL!—Y¸§³ŽÌJ3óðüAÝbù•M EÍ%ÐÜÏ)¡û¢‰ü¢+ÿ‹þ9$û'æáþ“è?ÆüÏíõpà>Þ§ñ}¬›þF0 ¥f~Œ¥Ì8áFˆˆgá8g~ õÛ›GÛ×ý~üìk÷Ðv“óvåa¦ñ.ð”ÛÓdoâ.ÛoŸ6ò.ú[V4‡yz-8쯭[qô×?Â::¬öb›3“ÚÇVqꀋ"Áíé$¢@Ӝ뉵Ú©ÑÆš7þý‘#ôq)7ª|Šëp9•”ÿš-üqN¦m²U°ú`Gº<½¬ÎN^&ïírõ)”l1ÏtÒ[fŸR*V½Ìt.K¯L­c?RwŠªºæדà‡NHìÏ,¹ØDvœû°Hv¤áñ¨AŠŸ!¸9^é.òù*PñÉzQ™‰˜?ƒ#‹ÉTŽƒ^Ÿ„ºìàÛšóRâb1§e}¾ä¡_û·`uYé’³­ÎÜ#/÷•;^¬×¤+gÌ–ÜË×¥%Ÿ¶â²a"©^Þ—ŒÝ[Ú+µ,6{c²ŠEÕîÅìÜbª¯˜d¦!šh lb¢´@å<}‚V¢Z vSÕr¨-l·¥?MËØs<˜Â®¶öš ´=ÜZ5²'x˜ÒàwÏ­XNêë­‚ÇV%¯DaÉñHKìâYø{o<Çü¬Éyß<}Ò4Ö©þêVÉMÏTZH?.Ú -–ML±î±f?P§Z6OËÄÌ#E¨÷wrß§Ç$ Ø#PÖ9jç7C)?‰T,a>ϰû¾þq#ëjvÚcoÖEPÛéê “E?T'Oú¯¶|VxIÞÿx!~WϘf—žÚ\.ðÌ×÷º8púùCU°‘ -[òtž%ã%'¤}:\ž´ÿ¥ ‘—ûQ?3¼ÈF%}‘Z9%Âô?µ¼SI»9ãõXcI甜Ó%ö3üú}¯‹í@³íŒK£½'câ9{q<¨k–uü%¨ùîõÖ¬¡Žál ðð‚`‡!I¶¥Ø—˜œÝ¦¢#FÌÉŸ2Üæ•]=d$¥Ý…§9s+)È"¶r³UP§JÐŒøïñ4[è& -FL-÷ rW$êI¨¯Õn v¹ï :à ‰¡¬ ʦÄ*R7{ýè uÛç¼Û¦ü!yßì^2õ‚~ðóÖÎ^á'iÕB—‰Œ|ñe6þe!?=%_ð\'ß+ù/6äë_5Ýè.nBD–ÎCa ¬ÚFàËÔTç?~eÇ gtæœ~Já$~\¯Ñˆ{ÁTÊú(5clBt>%M‰MœRŠ‚R_㤗0)·:`E}›áAà=TÂC„RhUÅŽ/ÁTE=9Äl êKsŠÝB˜áäUN³ýˆàQ±”öaŒa›@N¨’׫Wßû×àÞy*Ì€»>Ç_Üœýc¹‘ðN¯Lˆ4Z9J¥Q5õ1œ}þi§WËÂûªë»Ä+åpØø¦å£ØàÐZSø  kP_yü‰)÷¯ìžjá¡sSÅ…(¹)¦ÙH³þ3Y¼ªµ‹4»R·*]ùò¦™‘öoŒ™L¢Q¯Ñ¼i®i9æõW¹Q³×¡O$½*ê(“ëÀΕ¢æ1|nÃ8ºÕeÍô7c¬™Ò¢šw~1KÜ=Ï\Ñ'ö¤´W™ÈA¦¿;JÝ-?_Þ€ÌÄÍò¢ªè‰‡À!év2!] \3O¥9öãÌÜ-Vc›‰õ×§0î¹Ä¬h·Òî’‘=o²'zIíq.‡¯H‹Ëcz†,.@S؈xŠK,‘t)q&k*”5.¥äTæ"ÊO»ˆtä8j2G´ž`ÁáY116”†Ñµ²8¹pyÿÂÁ*Ý_¨ˆGŽÀ–ÝØÊE2ån˜¸2V7Þ«‰hpŒ^]–}/Í·"ˆ­Ah3&H¯Jof.¾¡³!«KB0tª¶E9âr~¢z.1ÖJþXõø$c;‰Ø&a+žLòÂ$ÇR¢eác¤ŠF:§õ’éeÒBádw²w#©ómÿpPô»z*Šã-%¬( -½è”~< æ‹O1[cR›uL’®E{åç!õóÈÅ…¼p˜ØC¤‘]j–>n0nfpqÁn¥{‹D&Wkzs2—ß “ùKGɶƒdšMGFŒ‘YÎõ 2b{y#áêŽEóÜÌao#] -'#€rÃ/×ué³ -+⇿žpãf®sÇÌ›\¡Æ9wzÂrû.W'O[ôBnUId-¾ß“{ûTÆIP‘Ã:3U6pÜ!ÉÄ%ÍÖåMk$pé³åØ•™ƒ«×£*^Ö•&)Ù¯r0o©TèÛ·óýn”*ÜW=ƒTaFUø s­(¡R®Ü9¦„Ÿês¼ØÔZÀôVuS:——z¯jx'(¿"*«šHHÿóŒµØõDF º° e‰¡‹Þ6Ÿ^Á÷s2ü÷A«ý ˆó¨,*mtKéx£':¢1„.:кZRZNŠŽ6^ÝœU:ï×Q|ú¥vÇh|åà Ì_…‹Às - ë&j¢ci‡ÅIùœÊpŽû±•1V´žO٦ЀJ¯®#Þ·oR Ó‡{ ³ÃÑ•^ª(ýiœ[êÚ‚2h¡¼ÁSš[‡¾›¢ráèL‡“È6 MèëD–MÊ`ÓsÚHãfšÀpZ\KÃ]VèB–ÞG×ãði—ˆÎËtk…)TŸb&X ½*¡K…ýä¸JËÅl‚ï?• ²«:K…jÿõßì~n¥ -C¶þ¼ ?jÊ­U©ÜÊÓWfFé}’~ »NÞÒ{ߨ{&Ü.†Â›â¾š±÷5J2¨òÿ/õÛ‚Ùú±ä–ú‹ŽêÝšz˜ >Q¶Snœ—ºzÊ 3{ë´Fô£¨Ž`ñ³Æ‰åƒo“ïgÛ©þô›¾â!6™‘F⣉üåÐWR¼8{$–á~pØ[ªtÃáü9L‡ŽÙ7áÄÆ~w\§³mòSÕü®•ÿVFªNÌι:NÐÍ-ëfXTø ÉÊhTwŃuT ~I^­cQ/OåúÚJ½6sù¬OUlPælC{j„CJŸ³â^…<–Èú¶HŽHΊ%)D¿R¶%^×—ný®J1’;™:Ýå>âÿ„“Þc»æå÷G¾¿ r/…JäÍ®2G÷Êż[dº×u&aõ¹E`dFÓ€{}|šèýRíab’i%ˆoFl9›*á´“ÀuzñT}OLÈÝÔ'ªƒ/-ÈPR½Ï»z:žFú*acl C"@ç;—‘¡&æ¤ñ‡°NXä C¨ŠZ†=ovh‹ß¨é£·ÝŸ…ëó–ÉáqnH(ÚÑD^Éý±°‡fsH7r$õj$Á1;ÿ­]"K€rèlMD*òæó<.Ìï—3efx‰[µ`ôšÞ£$~ã LàtMý -´X“µUŸ¤7/¨:åsŃýC5coÃjòØ^Ìëô’ŒFØŸû8¢l5aå T÷éÇ5—š>5Óäñ%1 é qJÃl lz>^Å]Á|¨µÈ1ÙÎ0y/’žŽk¨ØOvå|q¼ìÖ¢Kä]ÎÑ =UÓê9kdEË_rCX÷{¯_ǯ}ïX•eUfäyªl,¬:ETc‹PN´rzxjrà -Å‹ëR3´‰lØÔßÛ]eÖ^‘~øVÈÝ€ÞÆq'ñðÐ åÿV¥A¡º¯çíMÞ¸\RõÍJ´hÒ…àÕ•Ï,wbrö8õ‘23˜¶ X­†’AvP3ðšúšKª¯ªRÆ ñ§ýþè±·P6u)$ˆ·@´nÈ\#IXb -íÒZlõá+Gìc požŠ÷\‘ kûãXN°±¤¡ÙÇW¨¼ðKÿB¿î”ùÞq¯2{Ì€84ÔÜ"¿jiþ~Ñu±àMdrF¸¡T ÅÐlOcM"ï5’Â>p°,ä¾£'òYJeTlîW¥œÓcЗÞî´!}„ñI>’l`;LIfˆÈ+FC:ÈVh w«lf«ÑÎqË4Ê~Åà˜Ëߌ8É:B™Ã–9ñö+õòàèkM…rýˬšú9SÅ·´”V62 9qS§Ÿ&ôfIc%ƒ ˆëÕBNðËŽ…ÊWÖ¸¿=P!%Ç2íâ¯þ¿‹ž'ÒG–4  «Îõ$t#ãD CŠ_.|‰ØäãE’n†‹ Ì–fç¨å‹²E2…\¾ø¢ÌN;^¶ý¯¢p×èg¤"M·Ç¤?ÀR:3Š,”h'Ãͯº©$µRêiÛi8èG¼”4÷‹ØÇ\“œš3÷¶}LÈ#«–L|‰AÑklGLæ 6Ë%ùâsúŒ>\å~J½U<Ÿu§Ý²˜?§ÈE±n>Ù_PkéPãš_ÀmòŸ·f2OFb²„R+6ãMvWà·k±uƒó!îXÆ€^{Å ‹¡ƒ³ˆl:¾œ syÌÖ·T¦óhÄÖ¡pÇOòaEeÏ“&6R˜lÜ©Ù4/Oz=ÊÌB¸[`ÀʆyPÄÅq“¨^ÕE”­R1xòÍó>ÿ·+êSŽó}•tW©6Ÿÿ‚žzåûöÒ6î´V«Cðˆ+\F_£Mg¯Š70EPÁÿq“ü‘ãÛ³/™jƒ¨˜Ô™3¥y|ý öeÀ^|h>ZQy*Ä~ýù]š›è<÷ÀîûWGæáåªßj¨™ûMJÀíKoÉlË$›®ïe#{lDÜuæçXsgbÎJkžn ¢ï­õâ|˽œ=ѱÉXßè© ¯ÑôŠ™àFŸV%sÃò㉈Ѩ†§$á\ÌÕ2eEçH×"{Hut˜µ}NæÄZ,®¶yK )þÕ-ˆÐ¤'•ž»Ñ¾-CZm¢"šuˆœù´9tßÒ¬®LœH~Ä#V"ëk{é§,·†Pߌ°Av¯: %r‚oHl–š*ëwÑþ~ªP½‚¨/æš; ò Ò´1ÄÞ‡&ÿ¢ñQË)£)É™i&ÚMÆûurq%ÀðÃSø)£á`l9/‘TÀñ]5é»û&*N´jävv O˜‚:@×ã†|rƒ‘ËÜl½º÷ (bù‰#pg@]²¿õ@}5ˆû¬Ó ‡˜í@ÇŒVaÊ ðïj*vðUáÛÞ n„hÞý ¯Ôë±mð1kßѹ10ubãÄQ9†Xª1ùí¥e¾s+=v|`®ÞP”Ïõ¨¨D°“Ǫ* ¾wØiô»Á…m)óÓˆ_g–é ç2ñâ–ÚÙ<ñÁº–¬$ämB%t©j‘’BÉ]¶sÖøÐzÖÑm©ñ÷¤%ÜLJ–Y¿Öú4†s'³šÚ?Ü©>ž@7Bõ³%ˬx<´¡þBÏþߥü´BRXÿ.µRP UR麺H*Ç­¬IHÃtU24I™d’)ùu -ѮʶO|•¬¤W%.+£&.+åqFXi·<»DirVÐÅ_£#\× ùõ$KdÈ EÆDÆ’šOêr*ùÎ⋤]]SNc}®â”2É)VQ‡$”°„륤$±&'‚ŠH,)’’<’‹m¹ì‰j£ÏÐN6R´Q Öåßœ|rXž|o$’ŠˆfÙ\뾩A墕‰V4dOV±b‰¥ó|éØ2©ˆ*ÚÝÌý°D nA–%Š2Ó9ЦNFêe'ýN¨¹ëK‰Âef£õ%ª–°GÂ%q'‚Ž‘Mø›šPѽæÕ®6#âr1fŸR£!5sϧåy=bUçüÎbŒMŸYNž9«y„èmîÌgsÛ‰ZÛ‘VJ!ÄÛg¨™×dФæÍÚb”roæD“Í”«A³º«T¢U‹Æ-Ä9áºP…ƒâåa¢>ª(8X£M(8q9F©pk™ê9{­ØP£Xª­‘h: -CHŠ$ãK®-Åë=ã ñ°SlÉ W$,iÔö£T%Ôèñá¾t‰V‡bêd]ŽsñÇžÈ#“p¬ ÜH}ªÞq.–hc>Ä:uA¾ÙoɉBÙð#es‰Mçµø*þörªæ¢ ¿r½‚”eØ ,Ëzâ‘iZ­2Âûv,c ÙsPª At»\ZH­¤ÎõrùKb| ÏäCrR4Èeò w«ê#ª:µª5!¬©)©ÓÌP ½¤BÑ-V QŸS0Q9¨¨ªö~ß÷döZ‘N>ÔL=Óáp¦íÆÃá ‰¡*s A !,)Â1Ê! Âb§B¤6’` Ajâ`RTE(J1BM­d3¨»„¡ SfNµ ¦‹æ‡&e*b1°TÅÂ…„DJJ~iûRˆJqÂTddä 3ŸLGÜU*-cæ©yîÄP+tNt°I$‰t’@"ÕšÍÃeÂቅÃïkn{‰©‘±Hïp‰–XÎ&M =˜æLÓ4‰A8¤p(A(¡ŠªbBÕˆ¡V¶éd¢~=J¤Ó¿éèÞÈ‘òvÅ«3ôòêEnXåyÅÃßm¬Š‘2¢ wÕ9dâ½^Fpj& UÄMn&î='¾‚^$á*×Y¡³Ø9týƒÓO<Ýi1>c£ðÐðt'îðLPˆPøµ4ÌÌnNQ\•s政#¿\}‘Û¥}r"ÏȨ¸*†ËH-ŽLãÑ4Œle¡‘˜ÐŒÌ#«Qä]ô£­ŸOY•ÔE’E|Ç"Œˆ§›úVíO7BÒïêá³mè¬Â6Š™=ïT_VÖB ¿ƒ+“¢Õîq¯<²ó£Qfj-: ò«Y$·E¬™(³‘ -»²!ùœ_v¹ür™Q“™þÖ¥eмŽhHdëu¦è¬T⛣Äkè2ܵhj¥è±ÄX™²µ8 "Ld“ÉMÝÌ6¬!Ï4‹3Q˜æ•Ý#òBÜYÉPüêBº…w£®.ÊÉ”Dné‰Yù{™!ºøîQÓH´âhuOü‰mÆ_&ìmLÁ°Ãt2k*Ž®a™¬!MjX>±–2ÃR~”‡uÑVlÑŸâj2$H*iT£q Wì¿ð&Ý_©ÛAÉJ™1Äž˜¬8w4J|³w« Í%'æåå’\,¡S±®Ç9éiQ k ¡æH¶F,""åÆ*‹HIV+²‡{*Î ÖtdL»¶ÓrÓ78ácûÑŒúTÆãÿ['Ÿ…Ží(œI«Á¿Þ¢•¼Â2ú¸%vÇŠéÅ|Ì<&ýÜÇ[ßœˆ¸1¤˜×%H*jÙ©ÉÐŒ¯ˆŠ‹õëwY¸BªH(6ò¹Üè¬F™1íí|µ™TP6‰¹ðþˆ1ŒñÇ1b.ç4³›3D›Ñ½v!‹¨­X¿´)OÐÊš‰½4›VUE›’"o¾)±fZ §q=íü’©9æQƒR(8¦‘p‘Ð<4ÕÔWùjŒèÄoª=ÄdÓŽæcJã¶)£¦_ÅÔ`š…¤ÐH£Å™¶3 ë·e}<OóÒ¢dÒ -MyRͽJÑEÏŒñXœy城± ø¦d!%ýbŠ­˜Ó*æñÑTÈL­Øš‡6-²Üí¿ú¥KÑXbbA2–â(È0^ÙCeÛ3šç¦=k”'Xô[5 D¦&F¦2ãé®D¤b*©üSyU6âvEêˆ_4âvÚ²Ó -‡¤äºãêÔ2[&UROŸÊdc;höU"(d·x(Zõê#'Ç´uì‚XªWßK°Š/ãuQÕ—kÚ•/ý™ºQ1£YlCTŠðkÎú§#\Üc†ÄóIæ1©= ¦óÔwg‰Zhñi9K3¯Äý ñ²¡É’ÐDÛÏA§)¾Or1FwÄmº³£d¥ =õФ›Ùˆ22œ‹µ1†°\²$–nž 7¯FdÛ·mž9ÃIâY©Â˜”²S÷9ͼKÈWyýóú3¡m 4 ÓiúÜa†Ïfâô9YŸÏju¾þl:Õêþ"Õ¢"ašµžHM=_ˆæöÌËùxo+ÈŽ!Úf"C¾úTs=f&ˆ¶Î/GÚ!­3¦I¬æS]8ÐŒ*!â)’ $£„”aKJ’2åÊ3¶A²8ž;J”„cq´#/ŸKÅÆ¶å´=µ*|$)‡½M×Ŕƨ¡‰êy—êŠÆš¸™è ™ GÅmþ­0ÁÎHõSihÐŽ*ÁIT ;Õ -ׄ«g[Ug$–‘šÒRœg´ªEŠfá<ˆb¾“«|?nµŒÔ‚êsj-’d¤6R³L­œ×&æý%¨Np2T ¾È¢ÙHÕ´ÊÁê'¸›†ê¬&HŠP/kC‡æÔ"9TÐóÔCŽ¥t9NéZ(dSjôFí‰ÜݾFéãÄ©Çñ´AkIŒô&…8J“’¬0䤧qYÆ*ÂË•Ÿƒf(adf„Ê<úðVÌs~†bô%$,ípù­2˜åaÐÊãD>AêL3aÈÉí¢Ü7pûŽA<¸¼t½/¶¡Võ¼D:«I¤¤ˆÜ͇÷³õ¹°FŸ§Qt…"h½LCfNáƒiê¦hÂáâEfue9Èć^…çd+-B¶8ç•3¸æY²ûRê‘t›_Á^|æ¡­ó–«UÜå¼bªF“yÜ[(ÁßûÉD¨oÁ½=0Ä”¯øÿ. -ÊgÃèðÕ“ FÕˆ›9‹¦$ò)“ÌŠ—奫 øCJ¤bùŒ+ªmË„>H ƒ¼Š«…ž^®¶§É¥­QR‘ ´®ˆðÈÇ‚eÎoù±bÄuz«Ds1M MÔ´ÿÊú0Ôå°_‹>V•à»‚ß ƒ¼ø ——Ã×ÅN¢NnñÜá›cZåÛ£ ©ê¤GäÒ”äz9ãï#áZ">IÉæ"'V¥EÖ §Š$Ô¢¹vNƒ K´Fn“¦…(JÂÔÀœÓÙ™*’Â%ªe‡"újš -ó™9q~nØè!òÀƒEà者$Œt¯L…‹Ñ‡J¡“ªƒyU펃(ôQSºƒ.'–L¹DSjQˆeÊ<ûÚĬ¼Jxu§ùŒ$¬è31³`Š™Ð$á®rî QBå9¹.¿ú ‘ÆaDHr8)"$B3_¦Â5¯Ðk.§ -uÉ  Í J=›[á°wÁÏôpÇÑb¨"˜¦V?‰H Dø¦œ -^ÕBI„78ÆÌ!¤3½‰L¥u.Sôöà­`êZ¥K¬ÄDÙ³¢¢(‚†…T+….]É„Iáênß KS´UL_ #"t êÊwÛ­(G©ÅǼ9Uv 5$‹ýz²i‰KˆHüõàê&Û1ãï%7ùŽ„þÑ0¶*uA† ñ"n2ç)£V‰!—K{d9&ð€S7x -ánÎa&ŒàÄ€ˆ¾IyZ|¾ §aÂdq$R#2‘KÐàGEצ‚°ÀÁÄF¨FQh'‹AÉx¤E{Ãü>¡—Á81¸Ü-.Ä@âæ‹d Ê­E0ŒLC±m0Âà1Ø„B1bà‡ ˆ1¼L¾]D¡QNh  ]°å 3¨^ú…T†b³ ¾)6 $Eð #3N…:u³¦ˆpòWJqÌ‚rS*%A®É£4êv~ŠuN(ñE©Ç#¢‹¢E)‹ 3#VÑ óið /§–LQjô2iKR‹Þ¼%Yt‹”Ô E§=àd@4Ð ->ð 4 8€ä ` l €*6ðlÀР XPb0ð -TN$ÔÁ&  ˜À*¨Àê l@ ˆ€‚ -B@Að (€ƒ T@A&@0 - PP6 T`€î¨(PÝšUµà€ÿíw ü·â Ž~Ez±ûÁxÈ4׃ÎUv`÷­k1ß” Ša§FsQ•Áš)¶æA55s -­™ž0“ -c@$šÈªaF¦b˜YøG2˜Š¡F:ÁE‡P±fÌÑëŠhaF¨5kFˆB‘”ïp_‚)õ9ˆ ¦:B‰hD¦ªXht †¨\aXv0m1# -&ùb¨"|ªÔ*Ý@ä"Üm™2ò#ÜRþ‚‰\®:}où&f#^- -'‡»,QYBýaˆ¤Š2ƒZC™!ª$D¹(H¡Hˆ¢¦ $±Kè3äÅ£LâPq'w·Ä÷@t"‘ñ¤:!s*"!S€X˜ aŠÍc\“ÁÅ ôê_ 4LÒ‰hD„ +Dì¶­XÉI[=.’¡²#̦ €Ä€ 5"(À "ˆ€A@TCnŒ_rà2}¡±¬…5°ÂÔH :8˜Ð9ÃÌ‚‡² М“ŠEF£`¢G Ôa1ªí -5EfP`¹Ф‚x†Ú¶ -Oá! e‰çõlD¡ôß#ŸqÐèý¶œáEaµ (°!î:H–N¡`ýC<à6i¨ƒ±KíÇpÐAÌå“~AÚn†*|ôQŸ   îETt†¦C‡×lN´~A:àHìû)Z•I'÷¡ÈY'¨,ª¢Àƒ³Ñbˆ0kÆÛ[ ]óÅâ¡åäa>&5ŠÄó%ªÂ¦Õ …˜óCѹ7+%ü"G .L5œ’VÕ´œ®kÄõïVµå©Ïc6aÆeqd.7Ñ ›û·»Œ—µfÔhTs¿ã‹¡–†^Ñ[ˆ’sWOaªFâ­aNƒ:;j3tœ‰’5B Íé;Q r,#‰úUNŒ}ßç!„*ü`Æc&¨îºòHëúí'eBq¢þ9È‘ZP~}}—…ÚÂÄúQý£)PlJê›± ħŽ{ ýŒl<à¦AÉKHÒ!£Xjþ.œð¯QüË3ÓPÒ_Dw*AÂ2¿´ÎF¬Ã¨dµF"%v6Ó04 CÁpPHBÉûšh,n* ‚aaˆx„Ð!Ä @ Ãt{GÉ߬’ÑŸg® 3Jç'öÉôô îN\Rá…ôƒk®ƒ˜µ½—O !r³›Ÿã9¬ƒÓ“C½òN{µ¨ŸÚJK>Îæº¯¹†Õ3Nn7%Øà"ÒöÍ*‰1çÛ­ßøãÀ°ÿÕð'œ•ﳃeŒ½„¬”¡é^T½Osœg êC -@ˆ7ý:é¼Þ “àá¢-S+TÙ$À‚8bð<8-¨\ãÃÕYØ¥8‘"~à¹ûI¦ú<…Û—õY»Ÿ0°vÔÊÕ9FSGYnæÛç §yŒ@[0µuoÆòqÜÛF……–<¤ôo±P=ú¸õÃdA<Œ©™¦ÄG0òê”ð“cZÖi¨ÚœS´wú^%ÝÄ…ñÉþrW¥µv–ÙxŽZNµAC¢1v¤RTÈ7äÝrˈVYãÈ'±·pº=‡˜P°BÃOÄ4°€¯«x}Ö7#Ž1nªnDδâ¶ñ%ûJ§3üä %dQ½C±1·:P×о@ÖÚI 7)e‹ºJ€½¸)Ô'¥aþ¾ ôWW0†qË„²;ïŸZ® -›#Ë¡î=âz6$þ°Üqõâ½€°ÎȤA±—º@¡R‹PSAhì,àÄ!Ë•5”UZ¡”¢ y?B˜h c)cô‰ÛâþŸKÈž_¹0wo7Ù•Ð?ÒƒŒWî¦ÄºWáå¥ß€_vw?/̃Ð㙑ÿ2j!\KV; íçf\ªãu;ïx]<^÷g`ŒZgzíé'‘ëxE[¾3f2žp$À¼ŽO}”2ã©xn¤âï˘!¥r±¢ s}”òûë™?ÿÅá¸÷C+0žg›²™?ˆuØž»7Bo .ÄÊ €ÁÀÖŸYßó|Û>0}t–™|܈R6õ}VLþýºQq¯íÒ³pÊÁÓí>VÆd++HŸ nHÆGöž”3\C” k!á“ÉmHSp3•YhX†=ý(ï ÎÏ®TÁ¦ -ãO¤l©]5%(W€5¡ŸŠú¹UH~èú,gÐ'°Ðš‚{p„—PqVO’¡í­7²ŽüBWÒ"Çs%ÙWÆâvZtJÐUšï<•a1ø°×Ø‚ôLv‹(-ø ¶´'  NHvF®q–ð0L–€µ@[™T‹iiÁÀÔ°+ 9¥ð.Ï¡n¶U:KÏódaŠ˜ov…­NñLþ3JÔhqˆ+¸—ªB@ ¸$_0Št¯åLv>²àZ?ô¸ƒ¢Nà•‡Àkà›¶,ÞÛg~×Ý¥Zµ¸'ü}Q°O-Ýwî^‰~‚ArVG€´³=¦ÓèõBLY„ÌÅNÂB³uäþW ™Ü½±Þ ÓÜ:41Ф|äׄÁìaú+ÌkÄdˆp F_™ÀZ¤©¤ˆ»jbÊ0ûôϨ71@+ƒ³bŽjFÖ3fBZ­hL÷iÂR#!Ÿ) -õIÃÖÅ£‚ ”˜F,2°ÆëBÉ©PxYÌôB ›2t eйÒ—±/áIkf Cûb)ÇFdmÆšÂ$9rf€þž÷ªWŸY -;Ó‡Fã Ѩ?¤KrÊr^Ued—ÿŒcI5$„Êþåt¿~ ØÍgk\Qi£­1ì-vÍ!n,‚¯þ¯¡ã?)¼°‰!‡²ÿH­‘¯¿˜½lôÔs’`Ù ×Heóû¬ -ú,•°>j#~äþe•€žðm& ÎH\sì䚉pé7¡»±AòvîÝüÈp¤žÏ´Â$€›^L9‡ÉÍ˾Ǭb2cT‚APùàOëìOÞȼl*ÄÞô [9á]„½ÈQn¤;6lÌj= -¹4î)шB -Üg½9ù¾ØÅàÙ ²töæL²PòÉ_}„‘ÝoÌrþ ä–}ý“”Ï)&p"è?†ƒv¼I4Äi ˆÍ¤âÐâı3ã q¾gQ‡HÓ>µ5“$”è­¨¼ÄANoü\ŠXJâv¦Ë¤>‘º»à½V ñpÇáþï ‰M¡¡ù6}sFwJ-±CWM€†â$€ìPÁã”Aÿ H©ä\©¤ì[?Û ¿[ã“U]uŸv=-ajV9Á“eŽ–ó…„Õ½ =Eûbec—u©e -y„B²1ó*­.«=fqÐ+Äù'{êxÒ㔚Q¸Sqº•·«¤hËÊñ;·M’­£`ÕµæÔ"y ëYˆ&(ÖÌzõ,DŠa ®¤21¥«™6QmŽ¡‚¶wÁ*Þq{òòÀEócϼÎ;áߥ1m-!r]ã•lf±DK ȧâéë+å -­foÓèçÓ—QaháGñëÿ¦Œ?Ô0âiƒÐ[—òZT¯ìA‹Áa”î2[&¸œv’¦ç*Éyè±v!^3Û$Ñá˳¼á]fØbí*È1äm…eÐÿBæPª¨»©mî[Ž•SLŠh²]BÓØÇ)9õpù½'¿²XÑriWRBX$Lïä"|õ`ý±NˆùÍh {ŽûþN.ÚWÛ$>s˜Vç„bd@ÄÓ¢3íì> ÎaœH'.þAü -Öï0¸ìÄóZ27Ð,i*б -ÃîÜI•¦HXw‹± ×AFpþQhå©o&aE7OÈ1É`m8ÀÎ#ž_ ²:óÁ€›nôáÁ ×4_n„B?ÌÐKÙÌÇ:¨aø=gÚújZ'šRy iò²1¿•†å¿Îsô¼¾’––á¶Bœ S„ŒnÑÝLÒDIx\Ú‚¶ô˜™iâ|a+ÆY2+ˆå¿m‹Ó, uŠu€Ua»ôV¥ôì«|µq`ämóLýf¼åÁNñE®ÕëÊ®%%^œöþ8)@I~]·JÜ"¦¯>îúÚ"ÔÇ}e°Â«=˦£\2]ž|AüðíK©E“~yŒ¦H¸]˜üéŠ>@€3%½§ìØŽ ²È‚u‡"ûÛYE§“¸åt5 q`8§­Ë&1L—\葇ÇqÓ•¯u%íc©ºhS7”™L›‹*"w>A\X¤ѯ׌œOø“)ETÆ(k³æ´áüQ•\Uq2|zã̆V'ÓÕR8V#ažLãj d#(=r*¡ü”– gŒSé˜.ñUxĹ@7Ø©­;(@ÅÃŽÚ£ö® »2ÎVÒ‘ê÷ê4q½)É€ìÓ1Å­‘³èB1Ú"ýjËd4Ž” uÄ¥“€œbù˜™-£HÜId04:ôœ† TY§Ï€%ÞʦT¸j`C®}ß#ˈrBWÑiÍŠú\nEðÁša¸¦`¯¥ —OÅñk%°“¡„Þ©$Ì%2Ð!= -†÷{ôž>ÒèÚè¹Qúž#bz)*‘uø%T:Å)Åâ>Pp`°úIæÀ‚ƒ;´¾PRê¡Í")U¦øêF²ËLÝhwhE­À‰Õ|â«%•&I\3d‡H‰Í!ß YRÊ0r8®?cÓG’zÔ¥* -†G);Ò è(2ÎG± !Ð7 -•†Tm”95„X£˜kBeCše"BÈ(Þ6Fa»!©/ -äß–.ЇÐZ‰2+ˆ±]Ø6VTD4‘"áüñ¼lþ6ŠDÜÈ¡uiµbá:‹ÃþP\›ƒ^I=vHB:$eêS p_ÒnÑh(ô CÑÎШÚBÈ¢ê—B+É݄؉›$D$è-¢‰ÐÚ¨ÌÒqj-DðÎÆ_z¨~b‡Ž G2vÖrBdpß[ÜÄ›À‚ölœR€uýbVÓ9M,ó@Êi¤ö›u•[¹ê±Ø…×>çÃî^ÃT¾ü¼3¦2¼.()„_!.ECØ~Yùh'UÆ è©Ýú9)®›4RåÁ^ƒ+5¿u•4Éû¦ƒ™J¤âA< *ï¨ÒO™4||"Mq 7¡sDÔì±öÊ^>º³e9¾µKH~%“uƒÜ HÃd…Š*¿bJ´^yIôp’nƒPwÜÎG ÖŒŒÇôÐècã%¼êL@™L-ÊÄ®²Æ¶6ÏCÆ €ÐD„(3U70Ý!.Æ ø?/Á7¤{±3OÙÜ!?kÎРđ -">¶ô?Ö°ðÙ@©þ‡êÿKÚÉ¢þ¿³ŠŽžNÿ§C}q8Ãÿy/GuãPò•}ÿçUñÒÚ¼¹hÿçž*…ûÙÖc˜ú0øbú5Ah|x&"Å‘ô¡™Ž…µÿ¡k¦²Z'@×rÁiAà¶8cPD/):Â2|ðKšþ=ê@•ÀèÆ¢FlSÔë5w¶¬ø¹*ƨ›én˜E:⨥¿—pÕæ€  óË) -mÎæáÓ+JC˜XR|^ÁÛç½¼VP "eæ3ñýK(]£S¬¡+¨‘ -_$ÐG55VÎÿ4Üu½ãŽ6""e¦rRcYVƒo³°0iGŠèrÔ¼cüúý,9K!)3l4`å|¥!XÖ&”f>P;uxѸ2ÀQ«ˆƒ®»d/SÐüҒǣ çàgð(£Ä Ù5‰yF¤9ØßÙ¬~ýA![¹h8Y ÿ+œQn±ìÆM¼z63‡Iú`-“ÍH4ª"a½4|ø††hFÒmõÏ\Ò8#3À~û$&ÐøepsdÒ×\Ø2ÒôP%îmP ¾&V惦^äpåë©)eºT -Ûjkƒ‚¸Ò—a„*²3Œ¥ŽTùé>þ»:HbÌ3¿9Ë’Ð`ÀL¥ÅÕ¹³0·ÔÞ¢Jh¬®‹6d”&Rìv1øÀ7è$¬eŒfÕ¨6 ‰§:¬7§àsuáçγC)6Œ[*§vµ`Ž!“ tJÓN‡Ñëž * *È*hœÀO¯Ô£Yðf´Õcˆ,¤.úö.¨¬ôbyås†6+ÙʸÎÚ@Ù$eKDAþ’S5îGCÊl{à ÊY0Öå ‰UQ k"¤w¸^¿ì„Þßß¡jspØÒuìÏ*ñ!8ÞzÚ‹*<À‹•ÝõäÈö¾˜ßïé¹qTP<ƒØ¼gY¸Ã»UB¥Oq©i8,ë^,CïƒÄ>ENÕ;÷wLóãMvâŒÚYï ø2—y”Aâ]ÐÅvêL$[jÀ²ùº@àÂ5(VX*>~iQ1Å -g‘Øð>YÌ©_î7¯‹ºd{,²B‚GÔ‘–ö5£ÊŠåè»»³¸ä‘‘”¾ ñƒáŒ—øôS' [ÌÑDµfÿíˆBØ\g9:W¨J7U¦Nþö!VF´¥ÇäQ´+cèù6¤ÊJtD~­ ÓÇBäÖv -À›åä )F“'oÅ·8\©Ëx ŠtÑWí§JÙH†æ»Bƒp '+«ÔtƒâyS˜ZQêkÍÛÜs Õ ©~⣎Ù\˜¬y|?Äæ5SãŒGMùžSû­¿¡ -Œ»¹f¢•‡Vr·œ¬åœèкä;žšÏßÉhPaoÉg‘fݳzè.ÙPîuáHÝ}ÌcÇÓð£-ÓœÇHÂ^7<2bï‹¡G>æSåDYòÊ5žð(d ×@â]¥ùß´Öéž -K¬;|=©£”‰ÐöÝ–’ÄÇiË;"në¡M­,?TbO7ûÚïÚµø]~„TôG‹û$½QÑoPÐç#²ÚŠs¨¨ÏN|å+¡;jPþöšôÀ!³|;ʯ%ÀìèFGμ „ÿ¥VÔLÎö¥|0«ÐA áäp© Æ -¸µÄYõÒöÖŽ—ˆJLÉ¡äÛ¢ØqþÖŽ—Ì@T€~pˆ×µìÊÃÉw÷©Ý@ú!LǦµ c//oK!-„‹[§aÇ©ˆ’g[ûãN $‰½32H“=”;-bäË [}i:òpèˆs!…0,Í,§#ìZœñ¬‰r·uÈpVb~ ¾ûZ3pþvëEª˜¥x²íŸ'Oxò–xÑ2Z¼P¶¬ó¶¹ßÁŒ=?IúP¶Dc (¨ñHJ6²$êóiS.Ës BO½ yPúÐx³Õø+¡{ßõÒòATP~×< þ –Ík ûZö¤­ýTœå´å=#ÿCí’ôϰ½–!h&Ÿè…Lš™§×¶©¡&¤ÅYjyE}ˆÓ£7Êœ™m‘tnO› J ¨­&kö%‚}ø”?‹^äöF¹daØòY‡iâúeŸ QH£gFøˆÒ6ª-d áj€\ËÓ)µr¶(‰„ß³€/8øè°R¶ŽÛ¹€¸['žUØ.Ì,‚ÚÁ´Ú½deš‘4Ú x{ ܆k`ªëDáÖU÷ëð„z`öá›Â!Ó ;¡GJ ë™f‰þ5Mq‡¡•¥ŽmnX[x‡Dßé_D(^g]¦¨®Þ;¬û€IEd0Â- -©Ó’ùÑ-´žè}óÂM:÷ù1ò³Ú+{Rñº›¶½qmHIoúIÎÑ$BUì †ÝćHºF‘k‡šØ`i8즵ÎN  -Aá³xÈ…w¯¬qÒù(™Ð’ŠªÍ P—ƒZ™l¡›C9­À-*ñ«Ò=åÛ ß`:×eŒƒÏ/¸’bÍh«ÇDÔ‘TÈÏßÂ| _¸ÀYÕœüÙ‚KZi5@1Üà,{ Ì´M}]p£ˆà yØj°ÈTQ¶âÄÃXë¨ p·@ƒÕ—öŽo u­+ê ÆÓ -¶!6-J\>tït×^ç´å™õfWÊÑj¢ržš!+IrhQ¿* ¨7ó…E¢ÚªÂev­ŠQàåJª6|ïžÉÿ4 ›ªLŒ\"f‘jl=» !ª­¼ý–èDTƒ6çn†Œœ« -L3ü1'©Âæ6èQßÞ8ÌißMm0°F•)š±j(¤9—ꌬ†5à/€ô”âƒyMIª`´„´¾¥”aÖe8÷“çUÄ´ƒGlQ*,Èù=HC¯p°;NYo¨•P¶¾éR~E+©¿Si3†¡_+(dhûQ -•‚ÒeIu#Þ± 1®Q­úþá'„ÙšÓ•›½ðž(î{´Š'®š§raÔº ž"P<é$°Rã“cRµD’ÓâáƒSw 8½YÎÙìäãªú”cxìõ?÷kZ]˜ŠAiú+‘  Ÿâ$œI"`m¶'SOÖQ ¦Ìs¢˜6³g>?Ó¦t ôxéù3¥ê•·ߨeí~•w%Æ×Í£¹ÛçåBTi¸"”Ç\„3 ë.¥%uÝeú…RoÀ¬‘“’{d¥Rî k…°B~}w™ÒÉš~ˆx‘H©§ˆPˆwe;ÛÂÖMq*ƒ¦|;á/%ˆa>'¨ˆálŠJ¦:5¡_€©GPSyÆ@©ü˜Ž‹X˜ÚØ’©ë„1®¹5 0Xø ŽhýZ‹Û̲~.~(ß´ÙšÄJª†Ää1EõÅ•åÈœ¾ä -*ÿ)Ò¨6q0”¢‡Ðâ[rá|—\ÌâÑ9ͤttãûtr¤—k¹‚ñÌîÙ1fz„5)Š}B}¤rX4Šâ­sxè2öÁ q×€2O%V=k³÷îjñr ä¸eqáG…h}Í¡*ÞÐÉr‹Ñ µ²ÝT2¼‚éÚqD&DÏD»AáÉ 8cŒ!í…Û——gM>¬©ñ0=2‘ôh}Ç7ó£/XwY¥„Go- 2´ücã£ÃŒY;€íú·1üâ׊7BxçFU†Ê+Çúïæ°ïÏй,ËpƒËªäΔ݇}ZÍ%úG¥ûB0O)ƒþ€`æÝ†ÖY‹ûfQú6ÍŠØ„J2€~$íÎOŽÅkÇ’¥.â=ñ,u~Á÷ÞüaÝ Ik­ÊÖ´ÁöOê¹w×njÞ™þÇèÝË_Òdðq‚÷8ä -Ÿûƒ±Öñ³1 ^Àì÷œ”yC_Ôàˆî:&‘:# ŠŠ…‡ kE}™ÕÍÑ×l-GË4ú -*iØÑWÇÝ ínô½z—ù[@ßi‹_Âì(Ê¥¿pÆÇ…¬°‚¥ØAªø¡`«Oë`4Ó5˜°ÐœÿÂH…»¹Û–Ù$ë=7q¿ðŒôßlI½¾pv=*>’ICqÎ_XR¿8J˜yá½æ¨Æ "rš—ƒ‚ð^;×ü^X#hc£*ñª,+Ï}@pX™líAüý|ì“¶EOˆ¡'õúHˆ5+˜Ÿ#qB,ø·ÄigêèÍ%jçž™2[@ËyýlSˆÕµHÛŽð‹u:uo‹ýûæ+·ìó´úèíÄ&‡IÙ @~ÃEÀJ§ÉÊá$"„aºZ0ìo Ìçð×›i†Ó'$1t(Ê™÷,ÿGΑ8%4ض«D¡G´}¸›Žð2§ãdÝ´ûàµÞÈ2ß@ÁîÈ\˜gÚ©ÙÁR«e™²#äÓh*L• ÿëÃŒÿåQ, ×M˜vÔ; - -ò& þ*Í1ÇkƒÄ¨1c‹%-pl²ÔN©ªfXØ|ç$›¯ík…ê+çI^¥%ÀòÔÈ‚(ÙdbÀêx£áõïSÕ¬%²À]¹0b+0Ê*™hTWÍáï.ê¨Éš'l;¬dT”j´ÅÁH‚Îë}¼‰ýX͆µÒ2HX(øjkœFÎܸ~jŸk±(qJ&sw’˜š‚NùV#–…zI¬«ÚqáoçJDUOò"5^C/ZY?φ‘®SË÷PµÕiç‘T°2Ý^'áóPáÂhé=cœKE¼ˆ—Ç{ÝÌN È(½€¶~ð”©"}¾÷e íFO_ÑŠÂpÀÇYôr? uá³pÞ›2Ã#®¥òçI¸¨Vn¡UÒd…›AuKùþñ—Ï&o‹á.'‡†Šž<ºUmŠÙs(1!ŸÿÔ2 Àù?MÆb4¬UêXÍÉ8å}y6ŒÓ’À¯ˆL"¥â‹˜zÓ|¯ë"Jnq§_ITðV(„Z-ëÇÜcÀ~Ò±XYá’a­®Ãh60ŸgPgG^SÙ“ñØk[³Ù‚Ðô!öúµØ vøyc®'ÕËÌòXçx~ª#‹NKapm¢/.¤*¶àô077Aó‚ïo±üKö·­I¨'ƒM;_baÍt:Ã*°‚ASyz|þÁ1LE‡‹¢Ðú8¢ ,þÜìIþdÄÓ¹«gŠqÊ¡/E­Ë¤3Hz´Û'ç‡‚ê¬æ æÉ½RÂíßøTËJTºh›K†8R` ú~! -¦s yá¾w¦òÎ'X„N°°M€O<¤Éigå zDÍ–Dµ¶Qƒ²+ã¢Z"IcÙ*—°'­ýMO‚]²I”¦ d~bïIÚõdOààêô« ?d~Âb²|M0¨/ŠOV ó§8¶¥™‘óP·îe!“Ö/%k¯òÌæ2Ç!â)žÿ€°ÍÈ™8ÌÏ”Eæ6|Zчþ”¦ŠÒ–V?|EX[µôIP¹ôy Ú‘;* -+ßøµà‚#z·î‘|Àíó-2ß –Y'æ³ó†³ýáŽá#t2HÇÉîlÆÐ‹"Å—Uaàß\Ál¦³µ"Ǩ6د~±Žï€ÛFêO(x£ÞBôtHW†—%|ï9Ħ.èk`•ÿ/|ñ"ŒJéC³:@Ѝˆßú«“yàR&Èõ}6EÃéhñÅN ]q5]³‘mÌ/YOÇmŽÔÆôÊ-ñ¡Ð8Èb3ðLvV6·ªxlç'Z±5íºò‚ò–º+÷,Ì¢'ÞlJ?CΤ&Tes{tþv¶ýÔ^léÛÍ«"{‰Ž¾Úú$‚$=¾ \ßä ~Gúv“ÐÇ;©Ãm ®…5/·íc÷Rx(º'Š{Ö²Ð݆浌âr{5\/ëtVÉÕrsº×ø˜7ÿÓèŸ Rv2g´ìZÂ8™ÚÑÛÅ«´±H¥Ò•øD¡Ï`ÉOö@Þ…Âü¸[Ìrç¦:"Û_ÜÁPXšÐÒú·Aµ7$L%øJ0µIÃ:}PÚñ"~«s=ã@˜‘³T=ƒãèIgíælâ¸ûˆdQJßî0Šî˜œ×ä|€YÐëQÿØŠ¸HQ}Ã8N -úïÁ.Ýu`˜w9l~>ò sxL©¢Ç©Y>!¢û7{¶Cq E¡üU½%|ó¡Ã“zÎçsoOÉ(ÐÀp^­é!&ldó¿'*¹\VúR…+Š_#Ë„•Òd+©KÁ¢‹Úœ×”YM>táèX4Û'ÔËAÍÅ·™WHeü:PDyPç›uû0Â[ÂÓ¯3M’0Rœã Ð0ÞÐX\°†hè¢ÞuãŠnÜ”("55à -¸èýª\#úh"A1Íf ï3››FF €Œ­È¯Y¿‡ŽM@Dbn”6ÐÚHߤü@XZ"çÞ½<ûQòb§®ïFpíÊ:㼜ҳ¿ƒiW7'.1T²•UŽ)Æ©QB¼#§ ƒØ‰hà5•±Çy.dX“$b|9ˆ Êâ½2Ô29)!IsØX¾TÏ}H&Á§Õ¥²m£áòŠW°hnÁj˜·vÌQ s·÷ëѺÈY¨P*ÿâo5\EkZž4qÚ¾QÛî+ÂAG·sîRì5.Êߊ2ÛëaÛŠ²(¾ÙȪo7S©•k&ÍW#9ÙºýójÓò¥áiÚêH&\ÒdÜH!âEù4 €1™Öåôf%ç¶ç$£Ã•ª”b"#™p×á÷vï™óð¾M7V¬‘Ý;`­°±R>£™ÐC¾HûÔî(rNÓøäõÅYJèij„O>#¯…ýy°ˆD±-ÂâÇ ˜´J™w *žåž{Nø#¾“ÏÁþ Ïγv؃ËS G}ãƒHÏ¡¿A¶öbúì‚@(q(²ÁPŽ?KãcuHøgËcä3׿†»Cc8l&ºú˜IúááQÌkÌd8ó XÍ4ÑÃ!fò]=e™¤”‰C{PŽLrC21½ 7>ÌXž2ûÄ*´ª~¸èZwÿÉä2@`3:h@(eÂúÈäõÀWÀ{ D]V—ÅËàüÌtAX5&¬„†Å„B¸5&lBN -Á}L–-‡d%’éº "Sc2"n,&½ò]­ÕgFÃJ"ªæMÄdIЍ"LÞ­ˆßɰÀIJE¼Ô¶_D§ÏšÆ=d„ë?#N(Ž` וƒÉC˜&!ý% l°åKX uš¼.½‰^ IÁKºJBs]r™IÔœKOB,.е -§¬^%†¼%Xâ‹/ÝJK”SK \B@×nßKÜ?K ƒ ie.bLLË’åʳ±$ê™ KPÓD­¯$ï5ñÑ• ÖDW±MÌÖJ²ph˜^¬$6MЬ’&:QB•„j'¥1&dÆ-Ÿ’š=ñjJØë•,%Õ?ñŒ”ÀŠú…;¬4PíN2 N)”0`6 ¤]O@|’°GQàf¤p—Ó“â˜K2×þU“Ðõù<*DÑ “L†.I85Å.–„¤=¨$ˆOþ“„ãQT–$ Ž -Q'Àr¤þRÁ鑤 ŠNU¼1öà9BXvDp$]ÍŠîŒY+ºê·‚æEB®ÀU$I¼¢ÀDô[!ÊÀ¢–C’# X±¨Tx,¶ r²(xÝf!Ë@’òÂgèrb`Í3 TB%}bW Rý‘>i¡DüÞQ 'ôÔBÕ÷òj!Éz„Я…šÍ#ÔÙÂwxƒ[•TrCºìH›·0«Ž$Á…ãb -ù*4Ì‘¨çb<Ž 5]Dü 9T×¼.$ GpP߯[§i/@¼Jlykl„—zdt*r4ßîE×ûYæ ¨‘CSuCÒûbYtôÀ_D`ª“цl'ž 9’‘³‚6FÈ=M‰‘é„A'Œ°`=‘u*œÎÑaØàEöC Fç"‡L N#a£«âÅ`ªaߘEÔC8,œÑ4]J<+‚2T‘ È¨ý©L26Kô&£ö$’2ÎAªV†LO„½–áöDx¡œH¨/ÃyšH@f`"?šÑ¸©×fxì$rY ûIä³3bŠD(êšGõg3" AC£"ByhÈCD(â…ˆpÑÐÒs= D"FËò¤4È|@L£A=äê4ðÔh^‡Œ)5P17²!vT vãÛÕ`zC`3ktµ!ß[c ñíÑW`ƒÑ áŠz7Ùà%ÏÙè‘!Oiã†t® Å/„}^]ˆ’Û†@^ ¸Ááè:/Š'7b®Q4}J7¨gDzÝè$…ÀÈ2 ´½1nBû†LÅUàÀ–„ät!.Á!M„,%…^ᄼF>H5ô;ˆdq´ÌAÖ á㨹G†”#QƒüÈrüeTÌ¡Ak1<:‡šWLŸÃ04tH;Aˆ{tè– dL‡öF&ÔaG'U‡Nqßœuœ‘ax{žŒj` YgÇqеCìH;¸ãhBÓšï8‰aÚwÈ) Q"D$xh — NH‰‘+ ‘ǃ,›<Úü×Ëwç€ÿCÒùGbz¼º?·z´¡þˆ9–?þzˆþh#ÚãÓý óš,ûQL¦töæ÷ ©~äwè‡6øa~Ä1>îãQùÐeø‘>5ÔG¾ï£eéÐu?]k¬ºRì~û˜;i}”e~¬Ì}%´mˆ3Ò$œ¾íl>ž ?˜„5à·ñQ’qýóÏóD¬ÄÇË hàcó€ï=`'îë=ìö”{ÜÕN'=©LâIsdäß!¯Ä›ùž‚cx¯Õ¡éö8&S{»¿ Â_ö uPfXê‚pcpAj®$÷ÿyvAp’MÙ²˜Í»`ýlÕ9ãY·P„ãêA}&¦a¾Õ®VRv~3›QÅ94=0M‘Úä¶ÍcÊeBD%)÷óš‚ ®ó}Œ®’:cÉS—ͥюyðx-/ â¡<~KAzÝäÈ£|{<ÔI‘ŒG€‰qDŠ?¤ñ@WõBWðH‚Ôà.†€óIó;p€ |Çú:ï¨65ïÈèešŒ¹CUYN-BGaf :½ŽžGíÐ_~v´¯e‡ D앾)=Ø›:PÖ^‡k®ãé.F­ƒ«B ëˆ.kVGÔö©CÿŒ:< ˆ^=i“f„Z@hÌÍÃT•"+¤#dé{¾öÐgÐÁ­ýÍŒžÚ¸Î¨@Râ¨6Gáï™Ã‰@Ô2æÈc\€zîåH*{Cl^å oQŽ6óLrCr4™CŽ„ðĨÔv“)GѺÆaÖÅ80dËâh?‡âh< î#Žòá?®á(~»7¿aƒƒ½%8ú, “B À - ½ûÐÃí³uß0^Ž–åÒ„Ø9÷F²ÞP GyÌÒX - kðFêyánÐS^7à¹éýóÜè¯ÜÀN7€H2¸ö¯& é–ðµØÆ¼€Û þ_±wZN  oã(?×D@†ªD¼m d@44„µRîÌ—m:~ŒMˆ$”Ú"»i~i !³ Úé8#ò JßâvÅC"~¼¿Yä<µ±”6Ìã  Éˆ³ÑY/9& -òulôz‚hóÄ}a3 lû FQ¡±¤kXDp ü˵ë:kÔ=-]HM¬ñ‹ Û®F#«w‚¸S5Š+ˆüêàö¥F,¯5 -„3Ôiú>˜d›Ó@ö …šFòŠi`½³ˆá)!`ð’,!I$ŸJc¢B–# ‘øhpêB¼ ÊSбh,Ã!¢ž¢ËÐHÕBƒ$h€wC>ÿŒÄ¢Õg ïÁž¢Ï@G;)D„Ñà‰ˆ9ÃÎI?¿Ü$RØfP¾Dú­K3„‘f A‘b3ãËIz2ƒHEzŠ«+ Ì`™EZxW\„¿epêEª³Œ×Áë•Á#uU23e@n‡2úή“јFʘŒ¤×ÈCÉàq#u-82Yd QŽ:d4§#à böÇÐÎùõˆòˆãM²P|L"qqŒÐò#³o*n@"€ÆÈéŽ1\ ÛãH…$³Ã°2œy…¤kÅHÎCâ»b¼I³#„‘ØWs$5%F#$1‹ß’¤©G%Abô]’YºÃ4“¼Î0(ù/ äM2´ÂHÈ“ˆ›0° D@„%ZLJ qã+Æ`4'%`R0²öP‚áV”œÀ¢¤zÀ(”¬ 0À ÿ ·(¹HJë/ÒA‰d¿X%ÝøE -WJÌD­J苇*i_ô‚¾–§’Æöb³Z/šH/€Éæ3H^ôM%K‰” x!}*2yE•l .Fª„Jv‘üç/XQÞéÕt‡*É7ËEõ2¹0$r\ æ‰ ÒU¸È+™.¨>¦€&ón¡V2üW½~ÚmæJ>j‹þ×$“sÙ7 [º’0×kÑβËzjáæJ–§ȱÒBÄ•üü­$Àh‘o+ñ3hqìm¸¿g¡ÚJ,™³¸å#8kü'fÑGiYPÙJ¶(‹æW¢ Yð™ å²° KŠãX¬1ò”¢%ù‹Åœ,2±È¥%B8,H!dÂÂF,¤dI`1)-að+ø¶¤î½âE.ÁlàÑ.¦¡ÙK&¸Ì¿D™®Àˆ0ñ•+PÄD\Aq+¼hL$÷m lÅ2=­h™8:ëüüÓ*†NœFšêD:¢"6;9*ØîDPQJa )b”ʦì†qqŠ©:<OÀ–w¢¡¥˜g'ŠÀNÞ!fý”sn‚›ò¥ &¬” Ô* ѾùÖõá#°‰yùtG¤÷*cêÂŘ—#„ËU~áhs¡ö*G×_ER£9#ô¹ŠžŒ¸¿¯Áâ*U`¸Å‹¨ð…‹°÷g¸ïï¥TE´/¦‹VQŠH»b*¡UZNÿUÑ¿DT`•Ñ$‚ûª¢ëˆˆ8 -¬bÄBÄ1· ÷"X%͇mðÕNð«œCÌ6oˆ6¹jl=œEˆÌ¢W%•¾™‚ýU•NâyU¦¹>«Xc!ªÞ*ê)ƒ÷„ðñ*b'1²ÀÊ•L¬ðXÅ -àoÛ–+݃b%rMV0s³"±›Väk…,,BtÌ­˜½pF.WÖ”YÜIuE&Wv/IWT©»‚PB\æŽ$˽Raï+ÜM€…; ‘i';ËH>À¢S ¬ -`á€%Xš÷{#XT[Î8!¤µ\LI¥èö]‚¥7¥+>¶·‹ÌΜB:nB˜*™’$„ì´•°Ô›ã³Q$ MKª Ûü&] Ëv"bŒ„a)T³QX†eNž6t}eüœbûŒ‚z\ÌRãx+„d˜MI!Âß|Ëž¢gX¾IºLz¿Z Xax'°Ï°!žä.LJlL¦‚ì¹ X]S^ ‚±,A$¨X”R©$Gf,Ê8…EòXTˆ’‘eÛ{²èQ@ĈÓ„e€ØÃ,ÅùS³ØànåùzÎ’0àÂg@]A<¸B‹ÆüÐŒ?¤-¹ÕÒâìÃa©~؇°SËqúP½Z4ž ×bR>€ƒ-Š‹”²Å >°Ó%ï\ÛbÀ=P[”\”Înqy=0Ô[Ä«ü-ÓµÁExèÎÃE€=òçc\21/È…)ÊÃåõñ@¹`< œ î‡( I`ð $]ÈÁ)ué÷;ün]8z$É.ÅH{·]ä#» Ù¶ëwi&í0^PÉ„—R`‡Ëâ…¯¸`+å¦ñÍ ?¬C½è1ÖË}êp¬öBÃϾ—[é€8¾è-¦Ù—ÇË¿¨õ¸vóöµõpþÒu€×ü—íÃý˜6¹fÀ|R¢0W˜O,ïr¦Näðl‚¡w¦ "〼”âq04ˆC?„iºphb ó>±÷¢Â§œ ]©¾Høël3 o¾!vRopexCå<ÌÇnÀÄhÏ ­˜QãpYbÔõ64?1Ú|DňR0رô¢ Móm€‰1ú™ AÃŒ¹C6àÔ‘Æ ð£_ƒ@öXH™b\l )>F ¹b ŸB†Éj¨&2³§*G¦…QCÓ$󛊂-LƵ&¨¤!Ó•“iM ”Á# °†¸R†Šh(R™BCßÊlþ É2­=CÑ–ùí œ]¦FÎù—¹·ˆ@̤Ï$Ld†CfHÕÌ¿ ôh¦cËÐX3G+¸6ÓHÊÐgæ&!9SO2t–Î|Ed;Ó dHä™q<”{¦üÆÐßg¶ ©É'h&] u ÍYÅ@jh´ìiýÑ$w›Ž‰¿,¡Ã@Öht1 ûh®#û# i˜û‡Ò( YƒáÓtÚšÆÔ_ƒNS:xë/ôd§{¡Ò[½p`jú3/$Q3¼ð^Õ$$‚•VÓ](ú§ '%‘0£çÂÃP£^¹ÃÖü0Ã5âàB§®Ùôp6¯‘²te~ ޶á¾Ô‚XÕÂêaS*è c£V¤ -ðNgáEeÓØ 7¼e6T' ñÎÆðX8‰6U°¦ \±P–ªÍ’ïy¯Û8€t¶iæ+Äp› ¯Àæmšs… -nîø 8‹›Q­€`tVð8åæžò‰éöôy€éf¶B_7¤$fýÿu£ªÀs7ŠK…\›ߨ@Z‹´‰ö0õF•PŽÐÀ÷¢ƒœ‚P¾ÙÒ(Ý72˜Br¿®Ô·Ñ8Ó“Bh¤8®…& ޤQØ78…ˆ„cCžY8å …úT8(LÎE ÐtÄõp(ŽŸgqTôf1Žô€×8Ö Žc5'ðøã;eÕ#r:|XÉÉî&””² Å’èÏ&Håt€+O¬r¨Ð„'ÑæËLh‚Lö‡ \”Óû%€¯rzt Ó·–ÐÄð-Y tf9©øŽ™5x9Ç(á¸Ò“о4 ¶]Ž”%!O—³I 9*u5¨.gŠHHæh <3GÿG`«9¢=Þ¡;;çˆÈÈ;GÑFâså:|4œÐa‘ž$:Ð/ÞèÚ"L’ÕŠÀ¼¥Söm:ê§S¾Bê¤NT‡7EèZZÉXgÚ`ëôŸZ'61סp"´}²2ì̲Ó6ivBÏh§Å`GQ•Gê²D½`PŠïÃúÀ"ZÊÌ@@ÌÓµÞ&L„Ž@žŠ‘µÆ÷à°ÛAŽ%$ñ«=àaOVÂc^”EV|à;±=è‡ù¦ærl$UÆ_BñesÛœùûú¨Ž’í~]{0l˜MX¾®¡®¹þ¶ÈU}iÛ\ÀHõWBÛ,µ ¢‚&Óɲ°=hÞ‘º\{m⺕ŽììýðéaÓê[{ðÆ'…> jÎåÚ' sÇm¢Õ@p–Szjq¹®;>³–}<((!l/üŠ=zà%ØͶ' w_ d))´´Ñƒ/MZ}¥Xœ£: -û‹V‘£Ô±`æ`×gY±ƒ¿M°Hô¸Ñƒ1%ʰÜ̾q­x'‘5ëÁôP„¯EW±ê -÷èr””ý‚RqGàäru˜þuåÒ<€[¶ Ï1¬ÆdŠo¡* £?Γ|x®BTºn+¤2kpÌ’‘êQÚæ¸šÄ`{IËG–37wÀD».~î@?þÏ«‰Òæ~žtQ¾1îa+óSÈÚcŸ-ð¤nm,Ml½œÊá;P¿Ï‚ÂÌÍwð>5o')Ònî`G¤©¥®S¸Õ -¼I9dºÀ¤òG¥gž©æ«ƒµ,èxšÆ6 5Ï9ü:#¢®;DŠ3¾>ô˜#yÑ–¶ª9ô&ïÉ<FckÙV™ƒ@/^˜‘;+S嚇‘¬ò±ßˆ¤ô( ÖH•gk² ²©lÊÁD¿Ý««À/ä V•+_fà%«.´Œ(’â½80Kå[HqYúxÒ?dašÎ€ !EU‰æ‚ƒ•h \žeu߈ P‡‘0PWj -îÏvH@“¦DŽ6z;T’œ`¨ŒW@H&ƒ[¯°yJÉDð.Ðxa“j9 P]ÐÛ¢€Îã$g.¿ç¤ É\ —PC¿Ã°$Ș €Ôu r2ÓöŽª*a Ê1„§Åj“¨åûi;a¢œ°.fõ< ªWänàuùÁZY nù~$ÝøiÆ‚‰íŒ~UŒŠ -ň7¾Ë©¼ô -èö,ˆÑ•éŒ4X‡þL +<•zjÖï ­ l–%Xÿ«ÇDpÞ圬 ->›’VÎí¦©à ?¿béîD©záÄÇmºS0Dû| µ}b -ާîzEGÕP -†«Uc¶|.Œ¶ R0¼A—ójŠ aì)4A2¶ó¡ìÀ2MsäC7ZÉQ¦€²A‰¼¢áûŠ©Ÿ‡ ,·Ÿ é•qµî½ÚѬNb‡ka‡¯Xw¥oŠÕ–,™¶X†Þj¶Z›€,®êX]"r‰&Øþ{é*Þ3C&È?±äÅ;‘ 4ýC8·Àã— ´ÓPX f]1³Ý?_ Ê®bxE¹Ê¦” Þƒõ»@ÊI@sø‚Ô‹O“$ ¢™—Ü âý¨¨UH0wP;‘\¡Fw?! -Há¼c݈K:SÉ•²À–Io/‚V£lm„­#SE°¡ªX€”I•Ž(=ţⲛù ãÌ!‚“†âzX["€?Ñ·Ûƒ"#$”ƒy ŒB!àâ±VÁõ+ÉÂûõäÏ1«“RÛ‚`!ó …o  í† 9}1T(I™€chŸCÙú÷5öÚømfg…ÌÆ(ª’ Ð}€Çôo’öro>ã¼O()ÀQÝõ€9Ðá¹R×ãŒ:ÁåHvŽ¢¾âcFelœAð„ʦíؽ×kršÙ³Ôo!ÖhÒ*ô¯:àÊ$œ2à I؈Oà{Lü0<†T[ CðH<õHóeSY8Ðh?$Þ¡œ“Ùx¾;u YQ÷Ò&DG9« ÌTÜq‡aL峑ŽÖ±¾ ÃÀÜ€t÷4v¸Æ¤Òpü£h€¦ßÔtl.ˆgàÑåyT9=K3 ‹²räËne@Hƒæ€¿P42ùÚ†ÉÀO] h °’OÒjyG Ì^$™{€o×FØ]zg8vé¡3 ö/ð ·(Áâ¿?ÙpíqŠ>ñ/ ç{¾Ð¦Ü5(˜~Y/°˜¼s™kìFÖH²™ª78}#oÚ 0xl;-y'Òó”(-#”x{Ô12MCáÌj®©òÝi—þæ€s+ïêUWc߯U@LQ˜¨3,ÒR$Fi¾loPœÀ ¬`ð¶E‰ÎIsWfºê'æR› ` -¨=Q¯ÌDsûg3<*ç´¾‘1B.ÜƶRå¶óJÝ5z™ 4Ýðç¾Sþá*«®Í¢íÿD[Táñ^`¿$Ðóhÿ%z {#$ýx¹'$Ðh>¡†„ øhË8;n"0˜ù%G CMU=xÃ|£¬ŸD÷`\îDÀ®Œ²gáÅfz-g ®I! ó!ØŽñå¥ç‚@ãTÑ~Ô5úã(}D逡© -µP°a覻U>ÀŽ×”¼S~‹£á$=Àul{×PØ»åÈé•Ðq09‚nzRæ@ÂX,Ç‹6ÂpÎLõ 6^IÓΈ¢ ¸ŸW¨ˆ èSžaû x/ü é÷µ’GЃËûÖñ!–³{þcå„ püÀ£À0 k AÆ>ïwÀVA -wIøÀà§ GõÀ @ô¸Jðy:Ùw\§˜ ÎN’°Hê³€¸´F—¨` -<ß+€þ3ß~X• À¤*€è,Ý®0Ô£¼pyD"`‚-N(`c˜ÅWRÎ Ú¹ÃÈÛÀÁp9¶q¢¾ˆJÀÚ<ì pKéÀ꺸^Ø{œ×0®|Ânäug>˜Ì3è33Œ5ƒCæs³%1ëR?€iT ]‚é>‰:ÛŽçf ŒTú(¦Ÿ÷d I!ZoÝ7&ð¦ÝÙ/ç|:¼C|¾û†h²òâ°Ÿ’¤"2@Vš÷ÿ0:S3ÆßPf³ЈîÞ - Ô†™Î-(“Ä÷KÎò¶z›§œ“ -ÉÀáq’Üï1.†>»XêDÔ Ò€ÀšœÑ @"PÔ¹°'bLrïs®8§r@)¾‚Ë:×™B4ç ÖièDð‚â.N+¦´ÃMB%©\½RävsÞ£*‚ÚÕFs¡ ¨Tò{¤€b¥u @ÝpÚ\ !€ò¿}ýÅp}¼sE!ê¢0Ê€íWÅXßÁ¡2«W¸ØÀX&ü¥ž:I;ùGp²€'#SÃ8ŠÖ‡¿‹+€¢`á¦(µŒŒf­,ž[qÆðêÝÁ&…£á0cÒuWǃÇ*°ìN¼«&PU/‚_ Xc pM_´3q"@Ó“B80«—(W îÍÑBq%2l?˜&¼sDRK¨!Ãîø.ÀJ -'|Tƒ#Š.¿¯¢æˆQ@f4¯…•$¶æEˆõ‘J:‚ˆ‘ãåà‘54ˆ½S„» ÂïɾE›8> Ÿ»”·Š7•ÿø ÄQ -û¿£ßDmÅÛþ_ õ¸Ø‘ýJ{ö¢YtŽmÿçcZkZ4q쟿àŒýÿõ0C$PÇÿùRîÿ¯ˆ}j¶PÚÿfª]æ£ÿvfÊzˆü§®°]V¡(i,Díû‡Ùi‚h²ç ì9kÿ>¨àØTÒ_ûÇ)ù!—Wÿ6\q.“~õpÐ?Ûñ7¶.e! ÿJ»â„^1Iˆ.ÿœÞ½_ ƒµà>öø_‹Ã`’„SN Á݈÷Oˆ±ƒðKíÂ}û¯$¸¿«*‰y.˜»ðÙŸú´ »0ï§×ßz÷ô6F·êH‡ƒ§DfúXer{^_¹€+%Þ°ù¥¿èf¬ôaJ_€8#ù4f^n(ÿÈ¥­¶.5Züq«¥ -£á/JÌ‹]â|Jð _Æ}?f¹Ì”#Ùä•’”eyÿocaÍ€J÷#É+uý-LÂýdf%Åwïcû· 0â£`<û­ß_‰iò -ýaµû{”€ª£»œIzýÜà5}B‚ @Z?%Ò‘fÕ¯ Ž}ÝYäP¿¦>( îðy˜~RòÇôsßeomd¶ «{ô‹ ýøÙ'¥½›Ýç?£˜W떘ο5CÆ(µ¤k~7Œ)º -[Ìo2;™„ûOE._–ßíµùœ&õÔ!”RóÚk俌‹Cfà'¿¤¬ÇOoê ·¬Óøyj}ʼnå˜ ¼âcÿSH†¿ä6ï£VG„ÿŸ#\£©(³ü$qüfŒ‹:ÏÞ5æã'}ÀEh/¨¯ï£«Ö'¾GÊ޷ኜã»*=ñ>G0ßDl#ÞGWÅáøNfT]vÿŸi¼Œž[›‹ƒîC–æä ÞŽû3î@>Ã2F‘Ñ·ÿPyÝÜôÖöq -_úrXûçs²&K¬ö¦Ñþ7.í$Xf_³Õ¿ ’w¥GöסÏÔ‚R9Ü.JìÃ"¨ü÷”û²s¯*nêFßõ¯J‚$Šj´«¯vKAý¶”lŠ$@œ¾Üض7€"ÄK_n ÜR©e’I¿ý/»EL}Û £oýi‰‘¢¿Û•}LÇ™¡O•¨ãG¼€èkÔçÑ»r*&¹x1}¾x™ ÇçÏ‘yºøÅó™å:X G.ˆå™¯ k·‘Þ|$\Рü˜9ÿYîV«Ïæ‡ÇEÍ -°0ç·à^á - 9IIØÜÏœ?¹a¦}“ºù-E‘i¬4»ù'4„I 1íæIL4O–ÚC»ùCÂRIX2XbÆòMý;Úl "QªRó7y€î2„Ró‹·à>h•‰&Ôün‹8gó~•;£æ'tžSóy­b"6sÜ€è@ÍŸîE9̯€zŸ¨ùaz/Öâ4Ÿèì6ÍŸ 8×Ý•.ž›æŸô¨Æía!O6e2’wö¨y“AaWJ¾ßlv´Áåÿ.بjš -F_ù7G»´çê˜òÿ›FA½ê©“Oãoùì£LÉ?üví-‹ü¸=Ö'ÈœQ”>ÅU4òø׺Œ¼M»V ÇwØy»¥哯‡Kc@ùcP}Äà0QÝN°W|lÞZW°+…³ÞCN|NZØ.‡š·E|¬ÈÈ›‡8iBZ®_†ÿ/ R´ Ÿ¶rY6ˆØU0>w -_ƒgç+Dá[Œë ·Rpâ‚ï’®ÏÆG®1Þ‹--zÎITE|TÝf÷ÐréC rìa`Vôû_&ˆ; ëûzÍŸwa¡…ï­ÅÃcãwmƒ½¯åT ²IÞ[_€DC)&ŸIu.7áÚ¼ÏFóRë»ÿ <É•õúî%ù|åsŒEí^Cq«Y÷dg‰ç 5Ý_•aêšûšñRá–.1ÑBîÍ›M ——-çÃ=ˆ:ç' ‰ãEí·×ê7¶ÔÃw¼>I‚܆^‡4ÙöÉöiälÀE¯cûd¹eT&¥µ§Ï~…:€n¹µoÊ™‚nì9U i͋Ğu°QïGfF¿ {r´ÏKE]¡_+°ïSy48\Jàë㎼!¦çÚÀû½ë JņÁëƒãS¸,s=™]ŒFhØíÖ?u3–&Wè­«õJF×Áï'Gf}®nº@À@Ö—Ð. ‘[5tõ]"O2¯$ÄÇ«Ï&óPõ³îàÊ¥Ëð©AÔF…˜ÀS?ƒ¥~„š§x¦çÙ¨'£_¼­ý¦ŒP?ü¥Ä -ÖgøôÞ€)ót6túóAÖ}•ã]±aÓÿµÃ^ñRŽégC&[-}3ÒUHäŪ¡ô]%XL÷äe|0Žô­J‰X@žk|ô”:½ñgä\ëPÕË’²è--ìyè9woÇeÝÊo 6ô¨u©ƒþ‡^è%ñÀÖ¨:Nè1²›H_bz,èWtïMÔýT@ÏÞµè– éÌÏ‘¾Ìq À{Þx)B~Ï{$4&”²^Êó¼Á -–.*pß ¼óhzõÔ÷ºUçeáC¨@½lΣÛâA×Ýô8qþ¸{^ú?™§s7ÏÅ‚ŸÊæÍNúx4ää‹Nj¾Š ­¥æE»!,‰æßŠ6•ØËr™§Þ—`W ‘cÞ_c 7pÑÛæš£?ü¢#¡ØBøqK—·â:{\ÀÖ¿w…˜ mñcùU[7G@Ó±¼ÕÜ‚P–žÖÊ?8FÀKZ“›¨|’ê&¸x3:”'Tg¼¿W/Òûäo“€“~)¿GÅR.‹Ï@ÊC–|­ñþ«)ÅIÞÉúëhÝo×7ò·D4Ë2ÄR`%òðö}øóRæJÈ/ àï—ú€¥P»{¼m -g}ןªâ=‡™ bKG˜Ë†Þ6þ[<<{÷HÒxìuÅ·6-%VŽ*Uk4<º.Ô~ñpóqµ[¢->¬´ÚûlWüd1 $zúnezJñHE!'þƒº„©V¢µð™`I‰/¨É Õ¬ˆ'¾Ø·ƒ[–?½óùª<ü¨¢°Œ¢ðhâ ÿrÅât-¬zJ?ó+ýïÂ; æ‘A×FÙ*¼P¤ÿ·ýñ^–ð4VLn½EBøöSË–ƒ‡3í |‡ÁÿèTÊÛÍ?Ágb†§#£žG€mðéå ÐUà/wåÿ|!í3àa”?j£ÈÌWAˆxŠA(×ÒPë"%ý;k¶G~ú÷yĤìv‹Ù<ñwÖÖˆgHFéw2N€Ý6Q~?mðÇ +ƒ -.ɾû>š>}§Ï½ŠKŸ‘T¼n ÃÍ.å÷ã„™¤ÈÙÞA¦0´Þ KêìO×;Ö÷H*F%¦÷:àx#qÒ€`,îL#Aç}ŒšÃ/E£¼OŸþËÃŽß#·ƒWeá{àÝÁßöØ3-$ïÄ»³f$­§·»bøÛ,_ŽŽà›ÝZÇÅjŒÇ®;¹ï Euï}A³ˆ†î|ïYdö”î|0öÜKFtê º—–Õn¢Hå¥9.pî3)‰¡®Ô—»I|qÃ×S»Ï—ü6'e§K{ÜÙz]â󀌿â.ö…N\u­-î}µtiÇb/Üoc;@H½¸7©?É·ã.;x{­~]MOÛóüei«:"Åæãuà9§˜TZJ&Ø -EœËÈQ_ûÆþÖŽ™«Pxv±GÓBijßÒ¹ášbC¥¬ º™ýDKÃúúûË®?~©ôZ;ÒÊë¥Å²²Üôö¯Éîì‹ÖJ $d÷¨©ƒYRd-"eÇÞ,,Hnbå&õžEÂDÝk‰={£¹×.¬å5½‹ÃnX2l:æ^ÙLØiÒ¯;‰:¸(ØIçòŒ v–Voʹè@À.ȳüoOlwy~ýOå -„1ľnè%ô?¯›o™© šÂ6”›\¤‘您®£âŒ´jPò޹žˆUîhÃuäÒäú»² ×G*Öù+ðéÖ?ç6±ß±õFGÞËji µ>¨Â®$­<€Ö³8B•ŸÔPïe€Þ2ÕWA9Ö•o Iœ_X˜€uQBɧÐn×ÏÕ^4& ªslMju&//à||/æƒöö^š%¬º—Ô´póüÓ×Tq…b:º~ ]À.X–Ë - Œ -endstream endobj 20 0 obj <>stream -A=“rÎÔ71`¨ÔÅ9ŸR3^óémÙ%a8ûë8Ôm>4­¡å±‚:³ªíÓÆÝàøœo﬽È]ÕZÎélhzÂïM§_Ho. ½ -¬éÅLŸÆL·ó‘¶:Ãt²Šåa\Ö øwré·ý ä3†ÿ•¾L[ f-¥s} ÁWp5N:Žqåh¦Öñ§%é4Ê–H?]NÒ "¸ÿwzSGg]ª(ntÑÅâ½WvL†Œ®BRƒØ¢ËéùP9¸8Ɉ&)zômì•¢ð 㓘á¾Èq,„9ŠK Ý· u7ôI]ì}Åæ.t½¹çèÏ‚D“T =>[ôÙ˜KèðÍK‚Ç­ç Gà -mÖ]6eoD½ =ÞÜŽ¹Ö €Î|쓞ª)]ÜÈz£ -çÿ9BQBø?ÏD›{KöÎ,E÷ót˜fñû9¹åÄåý|æÔá/:¼¶m[€nÝób  -¹¾B¤ø@¿aœBºxmi:!0E S¦@'úãʆCž*/ »š8ººÐò6ЬݺǽÙlKè‡ò‘ †5ûk}õœLÖ¤ÐÉ˪lôé¨]Æ ùtï"G1/€®Ì±*à ‘Úʬ“¶™àÏݰ#õ,¡ïsÄTïÛ÷yäÕI GaÞ犳ϴñ>ÁŒì!¤ùüúÃu‚ÐðÝs¦J»6ñèôœŸÚ•×Jåù¦ý[;0üã–ƒ™ZZÓ¥¹d¾¼Ã1 ‚*Žù•e¥ô/U…o35®¹Ídæ“쯹0xÀüÿ®±ÂŒ@|ùcN”ª<Îôþïò˜\ô7¡õ‘Ô3—ß2?Õ²‰ª¼å™##P$7*TËc\A(üiW€ rTÃr”[¬< -ºòoç2úT»€•_„ÉäzýÃÀ©Ààdçv’ªS^Ž€5çYuÅh­ö¾ÄÚ–Eyx5¡Šb)gAyøÒ˜Üý!àœ'÷èIKS¹<œ[tä_ìiäÆm9ß·¿ýØb˸/(rû6¨rÆâ(r•«³Ïá£cˆï¹“v^ë2Jò;òùðÙeï©2é! ?1ÏZø$Sƒ4CWŒ›7/µ]+?ÞŽ~ÿR2 1?ÞjÚiï‰óãxwA¥TÜ0?N W)=ا²üøãæHÚbö¶òã9(~é'ä=©Ïóù/q üøY;–Á/ ùqŸ D Xqñ4?>õ îDV~ÜÓJ»‘úÕr÷Ûû O‹g| a±äÁà\$¢,@Ž j˜U@ΔØ40ûG4©\VºÐ Èû4RQ˜`äD†ŸLÔxJrü-¶Ëº¶šd òó»>w°ŠÈMsñ¨Øv9'H%ßçLAîv:¸÷à!-X5‚BX…™ -ò\‡%âV‹¦ã -òHåB”¦ ßW@qI P@)Èmß - -rv6ÐK^a¨ -rºzB^Ӯ؄Üûÿ.æ5º ymF]>Òö, ýò?çÞ¡ØÊ'ä÷ã$¤çB–ywB>‚/  7<+¢»E² -r:—Ô:V -rghàòy6I‚¼¼3Ò+,ÝÒ£zü”ò„:1çy„Xƒ+çš _½_޵GŸOÈ=ÍeÈ£*,AiwíÜ^‚<Ë#KU8‹+A¾›1so†¹^ßew37HÇ-Èm%È5J?æ) ‘a¡Oñä<>Ì#ü6¸7×§²¼È÷H‰Æ_$ÌÌ`ÏÑÈ¿krh„ç¥òVÃ̯ÌÎâÙ˜+ -òUZ˜»¦‚Ùß1!7Xñ‰ò7ä¤8’‡|’ÇŠþŒ•/(‘ØYw¡\ä)pÃÛ@A~Ò¦€ëèñö -·ßÅÞµ õãLê•õ)3Åá¿ÃþÍ#n†ÔÓý ûÃJ?wœ­kÁµ®ñ^(®÷žWpŒüï$¬HèÂS˜£Üycáæ7U<5 -iŠ -wEµýnøvŠÌ‰-áíA+9þ^ÃÅkx#ÜØ’º á+>3Ð'‹q¬„ÚŽÑÁ£^ìuðœZêüá58»[)Äà”*í…åE¤²àŽòîJr[0¥àuî"]‘d2“àà=0ÞFÁÂ>ÌкWܸ¢y “<è334„,]àÎ@4XÔEÚd'ýÁ9û#áÎÌ ¤„ìž|"(®€GÔ[¡¯îÇŒó¨7¢@³ê¨öSpé<†§ÉvÓ¡Áwãü3B¶Uÿ AÞptý¾–Ðß;–ÎϾߋk¦#›®S¨Vë÷ )?P+Œ/Œ>?5\#~Cß.Á¯|”À=ú†&ñí»oÄÚÐ=÷.¬ìÛ6Y%L§¾ñ—Z \Ðh0資i1¶éùå› - @Àu|?#©Ñ3ØŸN)|³3†‡öÙÇšã{ÿ™µÄ”ˆ´æÞ.ölnN?Ÿ1P{³»G”’mÞO6 °7Xh\Œuü=P;öQ‹ YÄ<½eëýeÊïSºkô>67˜&{ÏûjsP‹04ìEhÞQBO³òOSUÊì"oøxÀÕ룇Çe¼q2NøM {Øï&…FñÖ§Y?¼Èšj|ðC•åÔ˜å¿{~Î<šü*'Îz÷Q1°»Åʯqwê4³ÒßjPÁÚîDQTM?ˆn Á íàÚŸù¬ƒ*#@Çn© Ër¯[«»áÇ<<'@ën WSð¥[u/¨fø^€ÅkÔí ¦@Q†Ìjº‘›'écˆÆH7ÄÅûõc—7ÛÜ49¬¸á]yŽÿsÇ*œº»HôX5‚ÛÜÀ{{z!dn•H;û‚í–{ éìWy ƒ”;Ñk³wõÏa=Émõ¦¬·ýŸÈÍÁžkƒ78Ð6nf ¬Ði—´¸GZSf¹IÜ% €¼£_”qÃ}h­<Ýg{J¸;vPîÿ¹Jp?\Ù*تp€{Pé^Їêc×Âoû¸¥úÆñÞn‹y#ö½’y;Àä`ƒ£ÃuºÛ ¥¨Ûqsa¼¿t¹m¬ØØËm{k 3‘QþFGÄ ·7™§é%eºmyh³#°5'¶‡˜à²‘ƒÚö¨ò0˜×óÙæ÷kuïVL]Ûèâå‹Ü$›zG×RŒ ¶5Æ£üׯ‹#ôÚ—T§qm(BÑT¤"Z;Ç0RyXO¿Úó+NpUûNÀ=š¿Ô~9d€ë4Až4¢2r¨”«ZAÖ4:íÇýóùzÇ´‡Ôä¯I•]œ´ëÔΟv³*ŒŠ¶ï²C;”¥ûÞeh_Û¼t}ö 8éM·'4d8ží“™agQ± ³q‹Š‡n1O‰¾Ù§æÛï”ÕÓZ³×e•a÷§ñ ´ô÷De"ÃìŸ.»7p&}òƒb£mž¤Be›Ã1œb:y²›,2ƒ‡èøù9‚Jöq|ÆcF¶ ²ádžþ-U\è ûƒ"ÚÛ­04òØ€ÛU’°ÇOp%,±È;c×Åù5 -,÷b» ªtûÜú´ú· -`LlKÏ·YÓÿì¢uˆíëkÙàØ£ › ^µ\½aM3l{ÿB·œ -;°…Þc+®°eZN—.ò ì´hëM4)©[ÏQî3`ûð€r%-â/|Ù_·NBvMµ÷K‡}¶A¼òëTg+!äàQJ_7 {«êCîìÜ¢!*FAY®×—Jv¿WcçõUWBl§x­^` ÆëÆ.Å^ÈÞuÔ·žÈI°|§] Lܱ⹺¦Â=mŠ®5W> šn˜k/ýÓzM÷ÎÇuOMý;=‚0 õ…k?†!*8J”ð­G;ÕOnúFŠKžÁÚ:0ˆÀŒÝ%Äýµ¶³·XP(¨X­ÅPTê¡#>6­-–{ -îÕ=R¢u|Þ“g@;ëÊŒ¶Ù‰`ôB“Y£ý_2eM}¹Ï“ ².  Y[ÉMreÑ®gÆŠS×,BlÖ{!ÖmvÊÞ^xÂÖµ¥[aÅ_½wgïÞ^Ð,÷õj¥Z™BþÍeŠeW?ÔcäØo_xˆ«Gˆ„ö•­NŽ*†Œ6í[C«?†.Bí/ryîçXý²Â(-ÃûªMþ—8´jÁϪìçê`U}I‚>k)¢jK6?©©®Rô~¶èÉØÙEªG‹2zc0¢Ú®G»Pô?õ0i5¶{ã^;53²/Òxæ1¶©¹í¬ZdêVÖ´e”KÍä:픓çI©¹˜Ì58$õ¸اq•iTÿ9]+~ÔxìÔîâ*‡z»·dµ¨]%ýÍSÔ”8åh¤ª†ìBî¨6<½¥]u+ÓwÞ·Oöƒô#t¦~ñ­ ‘žîƒÏHQs0.âªýú!’*ÆRVRâW„fÃø[I-îl%‰&@B){ÒEnKstŒRoQ‹fš†Ïþ)e`\J¬”ÚØÊñZ,uSY}öZª³œ'¾~ˆ.ÝßnàžÈ¥+í|Ñ^úBæý¦Ãɺ–骰›Œ)aùßbš­ºË€*¦±MKS Žéa2DB?p¦\·Ã@iJù3„•kÚ&OïoSeŸIe|œ¡åEyϪeêÍœN›ïÌ ƒ™Íšò“W:]rhÇAkÔ°VTBïG]§ª/­› “$¨'ñH¨8–øªŸ&~§Sb†[%Q¿|¶¨Ç²È·Ñþb£^ýýÃŽzÔƒ¤b¤CÚ(º T.iY–ê®ä+SMÎ5ÕÄîtª#³L»÷©'‡pb¨Uë !*¨q³ vªÒGò쪪8«HYfÕuª„åUßsçy±zÔˆípV¿ÏØC¸Vÿ]¡5à*KÓJb5ñ*št^j_V'Uœ{ôÕPPÖdXU°—±«ÖyD±yö ?àßÀ¬w¬)¼n«èÞ~“¬â>œ·¬¬xwk³òê ô³VÓ;‘DZ)¿\Ýÿn6\$ µÒs Ô[­Š?Ûê©[- œýÖ“êu¸éÿ°ØZõmo…ˆ®Q7åÅêŠé ]7ÎOïšì¥ùu|äÚ‰¡Š‰ðçÕ¦©&|gÂ7°WÝ•‚nÂW÷§¾Ö-•%W5¯“¿F)d­¢4ÄÆÒÖ4 Ì'³@Cb& ,í´ë:™¡ƒ ÁžÖÚ¢Ï%Pz‡MCU–ˆíœíK‹xÁ`Ί•¯Ä±[E££±ˆ‰²Ç±UDCõXæA–ë¼ÅF6>Çd¼’]!o›©';èë_pã”õÓªânxq¯ìùGS¢o$e¼áõ—õ3ÄÞIÁi·%z1;§Î“fV È‹,H™+æ^íi£wÎÆ2’AqßÉ¿‘ÌàÙ¨ÖÀôÙ¤’ÑÖV†VhéX3Eë=bMÜÑžUä -kŒq¬Zm¬Ò—öj—,ç´0k ¨ µC"óRËG,,7UÛ¡aI%”ºÚ±0Áf-Ù‰É|kÙ¸ÈXXërÁÎlí¨RÕŒ­+[Ÿ£g“çá¶+]¸Pã¦zµLlki¿MÝÖ±Áí ‰böÌ­7âq™)VRQu+ÔEªü3>Y¼Ì[GOÃJî½u0y…ßÞÄ]|c€{vBúø „«ü¢fð†ûÉ|ÞwÜ­£GîÁ|,®%\ß5×Qú9öÇõ„ünHîùuÜÛQnÈN‹”f‡Ž¹ÇäA?›{\ŠÅ¢Áð×çú˜ŒÊo….÷Âݹ²ŸÜÑõeEÕ.Ý;¾CôÓeÜaT7R.­_ÝÀŒ˜Hm¸îØ'ìŽÇ²;÷’S»$°¤Ûí*_`O™»¤ß]öÓ%¥ª„ïrºøÞD± ðr¼Äeâµçxƒ¨ -­é/y-Uƒry} nÞOâ€^wwÆåJzp©×ðARÓ½gÓó&{akTÏn/”ËaWpêt÷ÂÛBHøfÎKŒ˜}s~䛯ÇIÔÕ|ÃŒ¤ô¢¯­B(ë+Œ#¨}Õ‘RÚwßWþøU@;¡_GƒÈ7û]¦9šø« èõ]1¯ÓèIôï¼¼ý/tÎsÀø¨Îö4,úÎ|Î È%áÆå ˜Öi‰fÀ"f95¶.HBÀg'¸˜ЀÛìõ [ïWZ‘ƒßº_Ìÿ•ƒ­>jõ`U]æÂáŒË„²Œ°Gù•¾¯‰¨¾A…(ÇV¯;-‚±ðŸRA„ãA '”ͽ÷Ñšáì7C¨!akxÎ +@~ÃaOUòèðr<¼OºÊìÈä.Ó‡ ʇˆ5ÄE%$¤¸EÌÀ0’±{{Ó<¬µÑ0JLjQE錉9 {¦y–dÙéIJÿ„8]dÚí5ÅN«ØŸ4Cɯký=Êjáð×Ñ}\|†ë~£C‡ål4%Gcœ!5•±?ÞÎâ{ÆZK!ß½Åa˜è‰RØ#Z’7û!X*nL4¾à8éR=ËQ2pôêÕÆžŒºYj[§cÿd^ÚXç;W[S+{ ã”:.ìRG$DWHïvó~Û8˱?ýxûçÿ°î¤+ÇÕÝ¢Ž å#C.´³N[Í)ý4pš°å8YG­6oÇ·a7R#¥O‡ñÍH-¦ ëÎ`Ž µç­CæX«Ù÷, 0Çzn\,²˜ÚO:̱ëáÃÃ÷ùåØ8ñìG³Îí{QŽ-Bg™Z ”cgU÷ -£qHÁJ0FFc¡€J4ö'V„Æ)z=……ײš³I»Bà]æóºM‹cɪ€Æ`§.c¢|”㤙W­-{”¼ÆW¨Ø<¯OÐ0Æ'2r¾åc Q×®:ßõÂ#+0Ž yn\° ÐjöíøÆ"Œ½`yÜátaÌøw¶'ŒC¶ÕÄ„1ïPõã€bÏâW·ØàÍ1–Ÿ=çwŒç»3f<ÅNãYüWÌ8*²¸:ìä0czžêžcæñ`mÓÁß`Æph€aÌøƒ²Õ‚;M„5Ô­*2öŒ"hj¼ÈØ<ˆBØ@펃Ý`À8/ø] yz{r ”l‰éÓ² -ç c‹ â}àœkWXõö§Da— "tp? -ã€T¨cÜa¾v$~®É%B‚í9à^pï”þÿ§éúÿßtýÿóåÍ—·à•ŸWnmK™’”Rd>‘®ÿODDD„ê¼zåç•$+q#—% &l#Â6v_³¢Z½ ¡í=r9oLÒ4ù´nàÂî¶0ú€§® tðßЉÙ5l#h >7Ügßí`Æ¡ aÇ¢ÍRIw‡TÒ`ú¿ -Ã'‡ß¾PaÜÍd™÷£Lâ VÞ -H}“åøÊ} B¶ßsÔh÷Ÿ6ùðœ}¹P Ý÷qóK•zß&gªÔ2lË“óðœ|ùÓ&_®ôˆ— Âá@}nxÑ!]žäx—)ÖáK“wùP¢œRló>‚iŸ¦­+l3ÇUãèÝ7c°pžYÍ„9¾=x¥ÅR^ü*,'êª HéQï*Œóð xo…X†-Dᜫ3í¤K;OÔ(w;òÙÝ%‘ö…,›µƒ†·âÛM³6bÎÙ«•8ëüÓ(ŸM•¡xK¡4ÀÙw3hQx;mŽ?Û ôgÎåAƒq~èpî&Z¬³¥TÞhÒÔ‹A'à—B1ø©/ï¡}ùŸÛßÑKóB„n¸N2î ø¤ôQ£‚D†t¿§Oíû®y$É:"Æ·ü(ñï!·ù›¶1!·Ÿ3wæmÜÆl:´Ôç–+Eâá@ùp&s&óœLã©ÑÿùcûA‡mHøyªÄÛÈÑî¾±£§d8xZ†cͤm‹ïê `DÃVcTÐTœ˜¹B.g§L?σ§†ÿð¹ý%˼ß4IÆúà¼Þ™/J¤Ã¥P þ*q¤Æ»Ÿ¿5\éñ.ÿkËiضhš3-š&MLãäy} A6Ÿ“7vO»lðÌYB\ó:|d6ÍšÖLó6"ÌC>û9xfuOßš t¨æßn£È9içÛn›º®šfmÄl#×UçÐù2Z½C&ó>‚j÷9ÍÆ™+³‹çzÆj_'Ìóè¡}<3Gv׬yÙ4f[´Í›—C7fϨáá.®ÑÃ!D̘ý¹fÍËîa+ª­H›j#ñv£ðC ÁøôÙç•,õ°(ôX6‚8“åXÏæx¼1$Áôœhú P0oïI»ŒÁL<{I3ïvò${4í -S8i¯Êú)”ïãØÕ5m_4åÝõÁxs‡LÖ \ÞG’tÿænl¾©£wÆf7`™Gêç¯:ïîJÖÐp†, ´+Ÿ´6d½@”ð¨Ìëpœ92;¨0î)$Ѥx -&1âáGŒt9R#]n”X‡#1æý¥È=Ü&Þt©÷›.Ç_Êág‚ð;aîáB€qùNÞÙ¿‰ ³׈åpŸ>¶Ï3Fûñkû=ã5ü¦ ÌÛ¬‰Ý;zhhp7p¹'fšÌËŸ6ùð(RÀü‰sœ/Aê Âùš6/z&m üèf?˜¡XWhÂ93]ŽïiØÿv1øjFMæéK³‘óî,Gº*)fp˜¶+&j,ɺgí Æ}(PÁ¯Íñxku<ÞNš|N—dÜ)sœù<2/dè†÷øÑ¤‰é›:0ûnÌ®‰ó¢iÛ -Ó¬iÍ6t`t ›=cöç¶?OÅòïtìΪqãšmì¾æ=1›Ç/ÍÆÁ³iØòY¦Ëgu-0VÇÃY3jøŒƒ'Vßà}Õ7sdµ‘äœ7àÉç—,õü`ÛTì‡gÄijMÜ×íC¨vëì•ÝS°;<aƒ§g9¸nšæÃ3l9¸fn+<»Á=DE‹sN›cœéR¯ˆqÎ Ây1Zýóçf'åÝ@ƒnþgpí)Ð#øôß@÷ð¦L<|(QβÝBowÐaÛMí#¸f+MîáØ™Õ3g[aœº2ú(²ÎÐäûEŽq?çÎ춉JŒ³{øÚjº1Ç.ìþTûJ”yžÁ -B¯¡J(e¥Äýa ¨ÕÑÈ“§öüÜ|Ñ?!Æâ 5:x%Êy?5œgŒF„‡5Þ9Ê}"Cº‡%ÆáF‹s8Ñ!N”—óè¥ù5°ÚÆMìÆ©#»Éj·ŽÞ™ýÓçƒþäþ`.$—ëÈ¥áΜ˜¿™ó8wc÷ÎÞˆæoäÄî5­0×ÌΚzÕW3h?kjö±hÞ¶è>´g/¬¦yË癵žšýïô Ǫqû -ÛÌÍ?„mvŽ™M³æ¦Q›iʸjšµ­9GÌîDó?…l7Q£Ü­t‰çÄH¼´ ü9yfv[W4èö“(íþÒä^Oßš=Ãç)– »¿S³LÓ¦U×¼uÍ5r[´ ×|%³EgÉ„…±„ -ßþÏ_Û½3V«Ûî"Æ9ÏÓ—fßÀ•Ñ6s_s^YÍ3V»sðÆî»²»ÇÍœûEŒu~Qîæ§ù5­™ÇïÌN²Ä™#«mæÄè<2Û&nŒž1ÓÓ´y…{þØj$H<Ït©÷}Ó|Í›WMãÆå3˜fõóDŒržgOíçØ‘ù›¸0Ûæ Ìæ¯Ù T Òžh†½O.g €:tgþi³ïàüóJ‘xxÑbï«á;{h·Ð!œG‚ÄóFt?hÎûô±ý‡®Ìα#ó:ue?gÎÌëÐy92!D7äx‡5âÙI”v¾HQŽgŒ†ß¸‰ùœº2Ä»äX‡3UæåC‡r_çíι3»Û€ßî=4ÿó×v#IÞÝNœ{xcß!£Ý6q_tÐa›âôó HÞL—z¿IsüÔX¤%PÁœ#4ÁœŒæÐa ¢iGH‚9%Öù=´ô÷FD8‡¶}²Ú½36óC‹n_± çñK³oêÀìé˜<£Éüwš&þÚ̉Í=köcÜ­ãGFOÍn°Œ˜Uçî!L£“4ñh%L=[ SÏ&rœ³‹ëì£H<‰Ï>@Úw;˜h+8臅ãn¢Æ8ÿ3øVÿ¶ÝR,}„"—µVˆ£Ý † O`Ú¯aaÏ i…gÐðð ZþžÝYS2û;%ÿ2`øÕ”ÌþÊ€ÙY >q!·ÿ¸æ“ ï~㜯‰ ϤmsöÆê±ÙÝCVór¬ûL—{ž¼æoäÈj›¸°Ú‡PíN@ê‡K© ôEv¶Ï`ÚíÈvëà™ùœ;1“vû²ÙL˜yÿAŒÄÛ€&ßϹ+»kÖÀf9±9Ϭ&jŒó Fo$ü~×|yÍûø±ÝAˆp6“&ÙV BÐ^°¢ðNŠÔ»… ån»{ÈÐî2ŒûHwqG‚ÄóO›|¹‚ÑÁûÁ Å ÇÚ DÛÀæ8"”ó<ã4¯ƒgækÚ¾j›6°›Q_PbðC…~#Å:|¨pÎ7M’q©…~JÆ!Ñ¡γ§&wïŒÍ¼O`š"|û>~j¿§/í²ý"E9 òî Æýž±¾³‡æwøÎnÀ5O´÷þØþÙÌ÷×|Ñb7b´óH‘uŸéRïÈç<û~…*ð Êá9rf8`õ ø±9 í'ñ ·ægĶl?5Ü)s‡ -å+MÚáAƒnÈð- -|ËwöÎ~Θ§aÛ¢oâÂl¤JºÔÏèôóT‰ F?Å"ñ5Òý™2îâï•âÙÂxS€bi7˜1x#YÖÝ>‚iŸHqî7ˆqhkHÖn,ÚÞ"”5•†¡?b¤Ë{Æl÷ÏÛçÙS»wòÎþQã݇ ôl z(Ò@ÿóÇösäʼÝÙ×Ñ+û={hâ B¶|ÿùcû?lÿ¦­¬ž!ã¢gÊ´êž¾´o¤X‡ ¾ý¤Ç¼ÏTIö@…nvMÛm#×Uãà‘Í=|nv œ"ŒûB‡pÞçí"Œ³ƒá|YÍ÷ø±Ù@‚nþ(²ÎC‘ú$ï£Ç»»§ÍÎÑ#³}×üÐáÛ/R”Ñí~”‰@üŠã±n°âð6ÀIƇå|ÏŸÚtØæ›:Ç·‚_ -¡7Ðéç‘$ïî¥J½$yw'YÞÝR- -m4í. o)„· -BÀ³ï'Mây"E¹ÏD9þQ(=‚ÐqŽy÷‘"ë>$žW¢ÌûN—dü@çß?àé‡/Mîy¢C9\¨0Îÿ ®y¾4ÿóÇöíü“&~`“/ -œû=|kH°Í'EâáM“d\)2ŒûB…lùRäú‡#øôÓïò!B8Èï-œÃçð£D<ÉÑ.çÙS»sîÊîŸÀ5œHQî'MÒåEŠr8ÏXíæ£áFq¸‘#ÝWŠÄÕ(ó¾‘#Ý7z”×$óp&Ê=ÇŸ'­®‘ûškÞºfœº±;ˆ0ÎF‚ÄóI”vŸP­ž†‰sìÊì»2ûÆMìΩ+ó9vd÷ŽžÚ}WfOÇðy:–Ó8sc‡ÌÛиiÜ´jš4.Z'ÌãÔÙ2\õWFlƒoæÄê"Æ9óæ{øÖ|Q"Ý™Ö<#†Ï4j\3Yí:|ûAƒn>çÎÌÖ©K³sìÐê¾59çó×vÿ¶ÝC‰r~(QîöùSó6qa5]™}äH÷t’ÅMšw¹RÀ Å -Tð#ðüP£>éQïóì©Ý<ã5»)“ì§b$Ú -Hþ&L=ü©³ï;UŽs¤Æ¼ÿÔÙ÷«4k¬Ç»ÁŠCÿ …áGðé‡#AÞý¢Dº/Tçé’$íp@µûÇÏÍ'Ê}%ʼÿ”É—+ ø£Fñ$È»?T8÷}üÔp A7oô(‡1Îù Â¶_TX‡÷ŒÙî›¶1Ï£‡†¶}8³»F ÌÖ¡;óB‚q¹Sæ.uB§¶@üXâ ->ñ&Ê=¼©rœC}â4“$íð%K<<êÄ%ú'^¢ÌûD‹q8ŽÙcv ¾ý&Ê1¾D©÷—&÷ü"®“Wæ‹é~) Î@… ž`3:”û9wdvŽ™':ŒËúØ>Îۘס+Ãáð%É<¼i’ŒëØ™ýé×Ïœá3ÍÚÖ¬3Ã}ÓþÔ Ÿ»‡ :¾Btû?ƒkÞFî«Ö“ù¡C¸Ïã—fóô­Ù?†j7_š7š”ûDq>hÐÍóôÝ5r[ôLZ>Ϩ‰Ã;ygÿ‡ÐÍÎÑ«mê¾ê©—ÕÃW!fζÂ4g_ô WØæÍËÆÁó7ra7 ZW= ËÃS°<\ÃÖEÛÈÙ3i>ÜÅU":ýAÄ”ÌÓ¤qÕý[EÕ¯:PMÁþ·ÇÍVºÄó5gaö \˜çÑ;ˉåþNÞÙ§1Û²gÒÄ4Ïí Æ}=µ›gOíΩ+û?ä·Ĉçí~Óåø3Uêá;ä4['ÏÌæé[«{þÔî"Æ:Ÿô˜÷xö}(ÑÀÀð+ üP¢}9“åžçÑ[û:uhÉO J3YÞåL—z¸N?Ÿ`´ï'íûO™}¹”‰Áú‡/Aêá -Høå -B?”¨ wÂ$ãEˆvÈ0î!Âá=|kžgŒö{öØ~P >d—)ÊáAr?ðí#5Þý%K<(ΠD!®`ôGz¤Ëƒúâò¼3_³æeãЕÙ@owßš×Á3ó<ã4ï¸æøÚpònÓæmÖÂlž=µÄx—Gæ 8ÿp&ó« Å\Ê`îDɇ+EâáE‰tÈpîÎåN”|¹µ"¢G‚¼ûFsxÑ#Ü¿#«oÜÆl!B7œÈP.ÿùcû@€mÇ. ×É;óL“yâ¨ÐÁ¿¡7R¼»uîÌn:/Ú&®ë6B¤!Êå9seøÎÝ.dÈ–-Êá;d²O“¦UOÃpðŒÞñ#û8seöL–¾’ÆšIËçœ<2[G¯ìãàùqÙ·q«§cwÖ”ÌgØrp9ìr„»sðÈüTìË|ù,™°:KÆkÆ¢q‡uüÊjÀ³ºf®k¾Éó²iØF„§c9x -ö¿]YŸ²OÝêSUÌ~ª>]·OÝ­õ)¯b¯ÜêÔSõ©úôuz¬ì§· _]cp_ èôx°Ÿ¬O ¤tzؾÜÚ¸¾ªZª[…õn¹Uí–ûtÕj¹V7.¬'/4:=sµŠÅz½Õ-×êÅ^«Ø³k»Õn·Ý«5«íb©Ø®õŒ«Õv¯[l¶zÕ^¹×j•jå^©W,×Z¥^»×m[¥V¹Ù­UKår¹Û*î–»Ýj·Ý®{ív»Õmw{åV¯Tn—KÅžY±X,7ËÍr¯®Û«–[Õ½^¯Ô*ö l{Í^»],›ÅVçVíU‹Íf5d±Ùkö,Kår­W¬—jÍrϰÜîöìæn³Ý®†nÖ›ÕR»Xkתíf½V®ËÕb¹Õl—«ÅvµZ«‹âv«\l6«ÅfµZ-W«ÅnµXìÛí^©[­7ËÝj·^/—ºÕb«¶Zì–«ÅR¹ÚªWkír³T®¶Û¥vµX,VÛÕn»ÚíõzÝv½\-öÚ­R¹ZoÖ›µR¹[-u«Ånµ]ív«Ýj±ZªV‹åj¹Ô¬v›Õb±Ú­«ÕbµXì”UËÝR«Zª7ëÍb½Ô.7ëõR·Û,–[¥n¹^-u›åzµYmV›õR·Yî6«Ån©[않­Z©Ø¬÷Ú½b³°Y-›Åv­\l¶š½b³×kK½j¯×¬öšåv³×¬VkÍR¯YìÕšÕZ³Ø*¶›ír¯TkÛ¥j­UêµÛµf¯Þl5«ÍV³Wn¶šÅV³Ú®µÊ‹ÕjµÕ«¶[Íb»Xm‹År±V.–ªÝb±XlV«õb½TmKÕb±\m‹­j±Xì¶JÍb±X+v{½b·U,¶«õ^¯Ø«Õkåz¯Øm×ÛåZ»ÚëËÝ^«Wì{Ýb¯Ø«öjÕR­W¬ÖzÍf¯VªõªµZ¯Xm¶‹õj³Ù,UÛµbµ]k–Úµj½V+¶»õf©\+v[ÝZµ[ê6«í^­[+öªÝ^½U+¶J»µb±SÛ­Öj¥nµV-u›Õf±Ú«{µb·T-¶jõz¹Ôª•Zµb¹\ U+Öº¥V­^ª·ŠíbµTo‹òf¯V¬•ºõV·Úî•Ú­b«´Ø+w[­fµ×k•‹½R¹UnËÅZ±Vê¶ŠÕ ½R·U,U«­bµZ¯uk¥nµYj¶Ê­f«Øl»­bµÔ-¶Š½v³Øªv‹­V³Øm–ºÝV±Úª•[åjØj»Vjµº­V±]ªÖëÝz½VnwKõz©^o—êõj½Þ+×KÕv½^­UKír·W®wÛÕV­U\/—ª¥j·Ô­uKÕn«W.U{Åf±T­·ê¥jµ[­w»½RµÞ®»Õj½\®V›õj³[/5ëíf½[ª6ëµjðf½]*6ë¥j·[¬7«ån¯Ú«ëÝjÈb©W¯6ëÅj³]«—ËÕV©W¯WUËÕj­Wí–jõj¯Ú+U[eõZ½W+ÖºÕz¯Ù®×ëÝj©Uï–ºÕZ½UoÕKÕf·^­·«ÝjµÛj¶{Ír»Tm·«µj»Ýj·»íf©Û.Ö›Ývµ^*·›ír»Z*·«ÝV³ÛîuÛÕn·V핪Ýj½[/5ÛÍv»Ù®6{õ^©Zlw‹íb·ÖëÛíV³×îõʽj©Vm—k½R«]ï•Z­v»Vjõн^µÔj·êÝj½Ü+Õ‹Í^½ÛîukÕ ÝR»Üm—»Ýv¹Û,µËÝv¯Xj—ÛÍV»UÞë•ÚµZ»¸Y-u{ír¯\îUëÅZ±ÖìV{­R·V-—{õr­ÝêöÚ¥f³ÜìõºÅR¯Ü땺½R±Øê–‹¥^µÔí•{½r·\.Õʵj­Xî–«¥Z±Ü,uÛÝZ­Ü­•{µr¹Ú*÷Úõj©[n¶ÚÕf½¶WîÖ»Ír»×­öŠõr·ÕîVk½z»W®—»Íb«ÜnVKíf±Ú-×Ú½v©Ý­¶êÝ^½Ôî¶«µn»U/6{½Z¯Xï¶›ÝV»Ø+¶K­r¹\ª•›­^·Þ,7{­j¹Y-õÊåv©×-W{ÝZ½Ø.ëµn¹\.˽b§¨Û,6˽^³Wl5«‹õ^±Ô¬×z¥j±^-÷ê¥n³]j6ëÕVµU­–{årµX.UËÅf±×ë;µÕV±]®5{ÍR·Ú®Öнn·Ü-×˽f½×-×kÍf¹Wêöªån¯YmöJår¯Ø+—êå^±Õì–ZíZ­ÚköJµv¯Ök÷š½Z«Ôk7{ÅNm¹UÜ+õjÅ^µ[j¶›½r³]®Öšõv©Y*W{µj¯Úî•«½Z³Û­—Û½V¯]ìKÝv¯[ì–Ûír¹]­Ö‹Ýr»ôÓ•ËÍv©ÜîÕkõR·ÝîkÝv»×n÷Ú½V±Tn·k¥rµÙ,–êµb±Ý«¶{õR½ÝëµZÍR«Þ+vªÚ¥VµZ.–jµ^·T«Öš½r¯ÞêÖ»ÕZ©\«÷º½z¯^îÕêÕbµÜ+—ëÍV¯^lÕKÝVµÛl–{ín»Z Z*Ö{Åz­Ô¬÷šõn³]í–ë½rµT­÷ŠÍj½Ú­÷º½v·]o–êõ^³\®ÖKõz½×jK­V«ZjµZ­Zµ^ª•»Íj¨b½^lµZåR±Uï–KÅV±Ø)l•š­V»V핚­v½Tn¶šíb©Ùêõš­vµU¬—Ê­V©ÚjµJÝV±Ø)o•Ê­b±ÖnµÊ­v«Ø®n‹ªZ·Û+—jív­]*Vëµr­Ô®•Ú­RµÖl6«¥j­Vïu«ÕR·V-•kÝn¹VkõŠ­Òz©\+¶»¥v­Ø+vËÍR«Ý+›åR«×köjÅr­Þîõj½b±SÙ*–z½b±SYêõÚÕR¯X®×{½n¹Ù*µ«­R»\.5{Åb§´WïÖJíj¯Xì”öêÕ^¹Ýl–º½V±ÔíõÚÅz·XíöZÝf¯Þk7[Ýz±Ú*•{­z«T.w˽j¹[­µ*Ë¥v·ÔîµZõn»Ù,Õ{½^½\ª÷ê½Z±Ü-Õ{Åb§¶Ø.–›ív©Þ+·Z­b½Ø-•«¥Z­Zª{Íj©Ö+WkåR­[o—ʽ^±Ø+õŠÍf«Ô.õŠÅj­×l‹Ýb©Y,–›½v½Yj‹Åb±SÜí‹åZ½]êÖjõZ±T®ÕëÅZ±X,«År¹Þ«—ÊÅb±SÜn·Ë¥v·[k‹Å^¯×n¶Û­V©Ùn¶º­R³Yl7«µb©Yj×zÝrµ×-5›ÅzµÔl«åR³Ù,¶‹ÅVµÚª—šå^µÖî‹¥r³Tm‹¥v½^ª6k­bµ[­µËÝR·ÙêÖÛåZ«W*7ËÍf³[o–Kår·X®Öjår¹Y­Ö{Åv¯Tn5[½r³V+•ËÍr»ÔmÖê¥r³X씵zÕ íj·ÖkV«íj­WkõZõv©\¬u›ÅV½Z¬ÕZíz³Þ,–‹µnµ[.Õ{­R«Z,×Jåf½To‹Úb©U-·ÛÕ^ϰةî5«ÓóÖ€¾­[-7«½z©\¬–kõV³ÞkËõR­Uì¶KåV±×-ËÅr½ÛnµŠÕj«Ônv›íz©\n•›¥r½X«†«5ëíf±Öm¶«¥r±Üª•ÚÍb¹X+öŠÅV»×ëöнV©Znë½V±Ý«‹Õ^­Z¬vëµV±Ø©êÕËÅR«U,—{Õj³T¬Ûíb³Ún•Úåj¯Ûê¶ëåj©Zo•Úõži½W+µë½^«Õ,Ökín¹ÙûI«=ãn½Ûê•êÝR½Û®»Å“‘Kî"ý„ˆFö¹¤\rXùÈ$O±F˜­½˜ãÊ |Ï&k¬ì‹Ü%4%‹.a“yR:ç¤y¼sÒâqœäó1¯ ŠG»%:ç¤ü`œ“òC”ñIŸ’$¾.‰”{Æ0ÐVÔJ$6A,Èd±sÅ”3Ä#ZÄk P ‹(ó¸Q"boŒú’…2ÍA%Œšš¥o™‘Pð$ý„|N -©¼$D’H™âŠYyÊ\æ‘5ö²¥Î4LrHéGD³’‘ɸ’1Ißda’BIÃ"‡’D hß5I‚ÏI)òçžÁÏ®øðLšˆK±øÃ*üÈXÈ"ýŽTBêa!©GäFå‘wHt<æ¡ñˆ·„…#ŽxLP@ŽŸXVFñÃD,í»d¡eŒ E˽X$L¾9ZE-³ï eåø f¦di$Œ.^‹Q€?³5Ùã‹×£/[š)¬˜qnNyã›Rêÿ—v‡H„¹Q2ÁT81—Yéá!…Xáê„l²×i¨äð¼+¶[–8Ü ùוx¸”×tÖ †4¼6%È$‚… Qˆ”­>"F¶Ø¨Á»¸¸ÈG„‰1.<†2 0#X¾|äJÑÇbÊÃ%€’|I6%ÉH>%ÉK:#÷ŒÀx¼crƒ‘îIF:(=ç¤aœ›²ƒqNÊFº'B ñ˜´ôk²HùX…n2—0K\Ä( èòE(äK.YÀ¯ÐQ*nƒQ7ðA ³µÈ$L.X¤TlæÄÇŸ³Ü˜Á(Œ·¥Š ¹äËV£‘0âB,x>/bjÆ$àŒOÂä~Y¶Ü€U¶øÄÒ/9œ–#¾VÀ…]o!s§e ?BËŒÿ¿È°Á -¬°Á xAË5Àk€2CÖàÒeèDÌ_ÜF‹ÒSŠZ%á‘ÄHòÑǼ#1ïŒi¤[’¤±ŽÉ‘Ź&Kçœi´Sò£±Ž‰Ÿ)GçžôxÄ{²rœDôpIâ£b¼HÃ&€•Sì>=Kß2_\!‹¬ÅËrÅ•±BR¶Ø’ ñb'/~U–6V)(>F徆ň¶…ˆ}祊-™£‹—$/#ଠù ÅÒrñ¼êPÎ!«äŠ Kæ±8 ç0ò-C€H]ØDK¾™‚Ê™& *j›¡TØ.KP9Ü€›®<\8Å€ŸEåÄ]SiqI¹Ç5’«IÑ‘›I¹‘s‰)ÀN c¤öóâå~”áeÄ$e9ÉA%‡‘…E% “Fö)Á|ÔS‚Â1Ï )äÑI>)Ž“ƒQ9¥!‡„ár»¥$R%ïD|XIf²™‰øÄOñÉ_fæ¸Ç#c´dùˆG´ˆ/ à†y#‹Xß‘'ù<ÆÆ ¡äw -ˆâ Èc8ƒFÃ\^jx=%Gr¾#J´Î¬èÀ=@‚Þ™¤+(Á¼©®læa(¢Zs¶rÂçU\ü[bü]HmîÊ+dñv ƒÐ{óioY_%pÂÖ@€Xbhv¤†K²„²KÎ)m‘2ºxZQà^9À'ZAoT’@Nù‚ X&'·LE'}˜ƒN-û”`Rò%鬭rFF€Òoˆr+ paå3Š…mzåA0²îŽ4ù’5¶xMæøâ5†ÂÅSÀIøÍŠÛÌÊ›îr#ŒE`­~„Ï´±™lÉ#‡t1e Î'¥ŠwdòEë²1Ë´€2±"¶( Leòø¥Qœ7@tÓR#wsbcëC¡uT ?[—̰‡HéªrŒ/)¶¤Ž-^‡TÂàŠKÂä”)®ŒEÂàò¥xDL>ÉIEM²¯Ègäž‘‘c#¤”H-!¡ÜAÊðÒµ䀼ÑÇ­È]¾$=©¤M)”ü+‚I‰˜’ôŠß,÷™”ù¯¢"Ç*5q·)Ù!.ìe ®±–?k -‰OSQq‡A±ñ ‰DÑÊ”QeìósÊ›¦Š+g’;´tuA@¡÷§`uݵ¨DØØy}ðÆP~aŵ€°])?¹C‹×ä -_†?žpAö¸Òµ˖ؘöÖN,ŒÃ>ýþ–dM&ô¦C¢¶…“6 º÷‡Ûpê D[d|Íà$ìçeŒ½ØCŒ–$©•²ÊÍ)l’–Oà,3£¼YzRQÃLq¥l2Ç¯Ç ]¶ÆM¨ÜkVŠÜ[`vÔsNŽ|@%UpÂ&b>¥0_–/¶ˆeš°r–É" Ù£.\ƒKJÅã&Oþ%8˜÷½%†ý#c±‹¹ ?f¥Ž%ž&ÅÇ«¢ã¾¹Ü˜ÅYjÜø•6Z]L^ˆµ¤°È¿”À«!É!†K¢C LJÿêË ;„&èí“HŽź¤q¾úrÂwÑQ³eQR'–€SÊàÆÈ䀜PÊg@–z,%a°™· `Ìu#`»,VêÃ)]ðA*`üà.‘ ñ".bÀ(W~!tVÙÆ—CV|¯N*¿ -^‚#pÍÒª2ã^[ò_3â#?S’#'‹’±…G ¦EÇÍ6¥®ö$ÈW{¢#£Räú`²•ÇÄHN·DHÞf…È?£ÂÃßQ9‚'©²57¥Žs±aÓc^Ôa^vx²*4ÄzH~l©MÉ‘_ã9gX`4ü5FÇ 6†‡­Æ¥ˆ§åImXŠ%G¬â‡,Òe«òE–0ÅR0øxbhÉZÄ(‘8Z"&”ô¤’Ij…LñˆÜŒ[ îB)xB.¸ ³àŒÁ‹€ï!ð¥îR€ÈŒ€a®ËpSè¾MYƒóysãYoèòI{øZ[UõYXHÿ/U‘›9ÁÛé±Õ¤È²#ZtB€ˆÉ˜´àš«ŒŠAŒÙüÈo¿P†1€\‹©1Ûè‡P@Åìaà3íO.ó¸4Àâ’És-0¼˜øN5iü%ÒáP¡€?û#’橤ÈH¬‹"éj¤I;_½ÑXƒ8 ýõ…‡]§%Š ‡€¬ìä«V¦N”2w,F °t‹«Åö*õQ{*.|ÌŒ9œÅý¿à q-3l›K ƒƒfÓ²ÄvË¢ÄNãRÄnÓ‚äVë2äþ@Z &Ms™1ƒ±À ç+)n°˜©€‚æºrÃsMy×WVxZLÔY\TÔv•¾ ‰ q‘[aJfˆ¯¬Œz ZDçVHí[Š‹›«4Žc‘q×Z\Ø÷÷†@g -W6gcHë°5W–ì;$K>a,ùà‘+¹$6×?hŸ€Ž°–<è/ü Çb«})b¯u1b‡…RÐÃ&»âãîÂR€¿Ą́Å_nØd\zøµ+@¼8Œ:œÀŒ¹Š,ÂgRrädOrü­Rø·ÊŠÚƒP›Ê -èÍ‹gÝAKh-n‚Bëk‰ -®p“P1V)é·ª2ꩺ„Þ¦\ÖÞ&•ôü%Å-æ$†¼Å„`%3Ì!ÑYÜľFd×\#ÎÄàÚr²BœWañÙ¤è×E!‚“uéáG€G€ƒþ[%ÇÌqE É–-Å(ZĆYºüD(bpJWÈ ]xñR$2&'+¦î3Œ=—:-'óà–0ñI\Î^ÂeåÒï\‚e¡¤_ - -|~½a.à kèÒYƒÈâù©°|~-Æ› ÁoÕèµ=ï J0ë-ÈzA‹ÁÛH²Îv@£ð¦ê"z[uýTT<}…DN[!Í?–¸ø ¯Õ¥ÅWKR€xˆ-ûªÍ4o]Y3g#¾®hÞ[DLŒ¨ðäòî¦óλÀð¹9誌E¿íics4ÚÙŽ÷…ÒN„—Q[¶x ‹mˆ-¸!;¶î–Á߬ñ8æ- ‡Ð㮨1[FX^€A€IþniQãUdÜ#¨ÈÀÅQbxú -‹ÛWQñGl‰ñżì¸spÐw—õˆ/7nqö•+h¤ «Ä¬˜EpAQƒC¢Þ0¦8ƒÑÙBÏÙ‹är¶PªIèâyè"Z_(í¤;8µ½bÚ ±•Q……ÔƒØ"jSYõ¶„Ö°tÒÛ"’u•Ç¢M!Êæ|ËçŒËç<á g¸–O{k‰ŒßF$Ç–—“9NÅÅÿUfÜ`.-ê ‹;K :˶XÌWbZÌö–¶}¥ÅýÅrâ¾°4,!J&ÝAÌ(Mc1ñÁ®äðaPlüXnܾ -Œû¾ãÎ -ƒÂ¾ÂrÂÞP´ŽPÄ’®àD“µ9"í-G¯@´OK°m+I/G€É·…àÓïSmþW4? %t+‹J(~ÁЦýÀÆ" ÁFc-A‰¥½¡”ÓþE3çÀä2ÿ:w5i¡uöĆØ, -s£þbjÔ`_pø<'Jp¾#IÄmY„|30?î5/J꼪؂Yºø»¬Ô]å$à(SÀGÍ5 s®€:\€aeXV(–XbüÍHðÕM£ãIsÎŽrhk‹<Ö ºx~,(žb¯Êzªá‚aø·Bï¦Ï¼oC÷µV? 1h -¦maÊfM- ðKÁøûU ‹u€Ö_MXhy-q¡eÊf-ÄøV÷ ®ÑÕ á U6í¨Ñ@üˆ‘.°¤ÒwYq{+/ü%˜¸Wˆ¤m€“Œ/aæý¨‚6+£a^DëÙI‰œž¢Âw5‰‘—9¹‘ß[bÔ ýv¥PÎÕ!Œ´Õ#moyqoMñg+-l_ºâ‡KWÜZNXä^Ê o[Iám+/ì0*7ð3-@î¶,B¾V—v‡HçV.þx‚ç,-l/å…ÿRIaSy!QgÈJ_ÀÒIs‡TÒÝ"”u„%˜ó„&™t„&˜ó„&š4…(›s*u•QUJú?”ŠÖJ=é Y@çmÉ‚ÆZÁ À›‹Áoµ±è°h‚ïú°¤­ Œþ N:ï T4m]HkXDi ¥ž3Š·7‰%Í=B9W(í sÐZ[ â9! fMÁ‰&MÁ‰&áʦÍŒ§ ©]•eôæ°Å“ûãñžÐD“±8…'—ö„&™´£™'&R|Ë—*õ¾!•ÿ{¤“kNâ9â'!墡k˜ÂyWo$ú+ý‚†µÓæø5Þ} ?¶|ÇîL¬@3PKÂÊÛCP×2ÃF›Â_ƒ²#+µƒ¹¨¸9ˆ¥70:‡8€D}‡‰Q0 ­¥ÀÚª0Â`lEýá3öäl ¹FÒÄ£ƒßf£J:lÉ™ŒCоûé_õ¢#ñ> ÊGè"ç¼¢›7ð©‡#81þ<}f^§OÌRlóO¡|^ -Å`Qãœ÷ùcóB…o˜dÒ"JA†+u€7R¦M)Wcƒ4ÚR- -í¢|_A À¯5Òh_èÒIgØâI#ý«A#£iضh2Ú@t°Ž“Æ’bâÖ`¥‚ŒÆÛ BÜisüŸFÇŠÄߟÂhg‹<Ö ZÞ -P ÖÛ!”³„$™ô6ÈdM•¡8AJ&ý¡‹hmUEÔ{™\ÎÕ´õÇbÍRIO ¢Æ¥“nÐÑ> h[˜þ E”ÁŠB¯€„àoÂìcpÑ+¼´èú°¤«1ï*ŒG›ûƒ²Þþ¨¤±:$kîJ›£Ñž ÄÒ†ÐBñ¸Ü1Îå>€iZ”u$œ4ˆ8ÿî*!Ð`Tðyè^k<ÖŠdÒžpÖ\’ö‡_J… ®  HeÍÁxC‰âNšcš|©RÏÁ‹CÀ³ïÈ‘î#9Þm<ÞS1 -q)„*tA -Aï ÆàÇÜÙ,ólöi-QÞå>}léÑWbIs“@ÖT‡I“x~ 3Ï'EZs,Þb$ÞI•y·‘â]&_Þ3Vû3g[à)¦yÓš&íl.’ÉúÚƒÑnâß<ä4Ûæ l¶¡ ›uòÐf›¸/z&M \#÷¦Ië"Ó -ÛÄÙ@‡m·Îxì¶¡ó¢ÿÈî¾2¦K$q €7“åø5Ê5â) ô TâHu¸¡Û_ʼûR+½˜ŸIÓc]t¢›÷:É ƒèBZgDÖMšã?^Ã… -ãî%K<< -…  ãÐ'YÞÝA‰n6ÑcÜ=%CñöÁ¤%,Ùœ±8$k)‡V‹^JáýêgÕè½H0goKzJÆ¡úì» „úÙÜ —³†*£ó†* õ–Çdm ÓÏ' ô TÞ^$ÞÚ’t‡ãmÍ¡xK©0¼—(÷²< m K8g R6iíIº*ƒÑC‰âFsxä#ܧÂHô ¦€z -J0k¡A8|'/ÍJ„óQ,o ¥ž3UR;ƒOÚ€åÔ Do}Ñø³5›$ûð~¹&yÁ¨ ^•±è°(2” -”»—(ó~ѿ߀E៛/R”C Ú7„‡/YâñÏ|‘£­ àO úç£NüáS0 ¿5F"ÞÀD!Žäx÷…á Fï(‚ß)“ì€úy0¤2|ûK–x?}A‚p¾èß±C›1Ë{øÒ˜<ñü…v–ˆ¢ÿ:²y¦õŽý¬´­oOàZŸ]³6¾©£™6ópäÌê±™¯ ³kÚ¼hBµ{ SÏ;xqˆÕÑx4igMÚÙFuC‰rXµÖÇãÍý™Íñx?qþ}kF[©`O_ÚïéKû ^üy`Dý†.Ÿ´‚vQãÜo¢çK’y Næ|\Ú^ú!E8ŸƒgVû ¦ÝP¤Ö’³V%Í€E¡_€‚ÐK™ <ðɇ1ây§K2žÍñxwPÖ -PÞDqwa]IW+@1Xs\ΘxÎÔöOr'ßŸŠ±hSc0ÚX ú%?åŽy÷ ¢o°â0êľàD ®@4°iSï?úù©‰w%—;d3¯3&ó<}h°€†é)*<“Ï_ᘽiw}DÞ LâMä¼Q.7j”Ë—,ñ’$í¬3}…žÉ2ïóì©Ý7ngõP¢œ—BAè¤ L’´{ÚìÃ|âOšÿ‰sœ9Æý›:0»&n½36óIw TÞS0?”h_‡ëÐý¾5#F;ä˜ç¤øóÚ!”S2o¤G»·ÿØvãVvß¼…Ý5j]5 MsÆuÓ¤qÕ8wb7OŸ™Ÿ†ùY†+œ…Ї˜òù+Lᜋ åüÌÙV¸æí \YW_q<ÖS3}‘#M9G7}’m'ül¦L=¿À„áí -¨Ý-BY Æ}ž1Ú_ÚÄóÔˆGw÷"œgÂÌû NüÝ Z ÚV·‚Ñ?| _€‚Ð30è¼@ô’Tþª F™/ŸeOQñ1@Ù´ŒþÙCpö ²ï %´Î*-á/`ᜯ>k¨QÀÿä³Þ°DówX’‰[(‚iG‰:e’½Ò¿\êD¡×☬§T,ú£}VŠŸúbÑ;MúáM˜}wƒ‡÷ƒˆ^ÁŠ?› tÏÞ 4›uúÎè'dÏ5bîþ°¤!ÀHô2ý²;$i S6k.JZê„a_š]Ô8çëþ¢Ü­©÷Œþ},ÿÖÇãmAÊf͡ɧÍáŠgÕ!Y7ph'õÕ&÷pìÂî¦QÃæ5‡«´°é€øØú2"C¼¡tt†ôR&5†ã%:ø íðŸñÚÖÑ¢œÖN²8Éñ.\×0ó<†%›ö‡(˜â-ʺî„óL–ãïÆaR$ô÷ö‘ñð(‚[cñC™àÉß~Nž˜ÏÁ#ó?}k¸Q¢œ8'àgP¢W ø“ ï~þÚüàÛmYw=ÒÝ@ǹƒ…ßÁ‹C¿ Ä ÏHqÎ39öýC¶<‡Žìß¼•Ù6ncöOŸšx §IãªeFüoÏÃW½jU¿¢¢"2¤ûªtÖݘsSæbÛƒ7“%Ù÷ôµÙGšs65‡býàFbÁK‰¯“yÚŽ\´“ÓMe"ðèñgŽì'°í6JöÖŒµ‡)ÿB’ÊO…‘ˆàÓïÈ´yó²{ýµš~ý0‡-žvVÈäܺg3qæÝ jÚ^'–ôƒŽtÔ -A»Z£Má f¡”“ƒ“ÎÃ’Í»ëCÒ¶Î`ôP ¸Í¾ÿÄIÆ…ßò¢D: -TÐw}HÚÛ’_Êa)¡7pÙ‡G -âR¢‡Cˆtw¾A„6¤\ ¤ØF7}ðô³¥N(ÖŒp†1\ i)'ðT:oíÊ ÇÚˆ±ÎóÕnÀ5¯£wfïì¡ÝIwH“vÞ(Ùo…@ÖJEí R:énÍ™ªI¨·ršo0Òy'ýûÿbõ*!¼ ¼ËŽÔ{1ÁáE81a3(‘xÒÝE‡t¹aÜÎÝš/RŒ+øÌ¬Ä“ ëò?7 -D(?&–9%–?«£Ñ Îýü¹ý Â7˜d\I/HÎ1¾5mJÄ!À8Ìxæ(ýÄN”|¸“åžx’—J!ˆ[i<ÚZ”óÇ£-•Âð^ºÜó9vd¾‡¼†í±è5 Éü”`ÖK”y?¨°MA蟘ú‚0_º´Ãuôʾ̖Õiª«)™ÿþ¶ÝQ'½–¤ÀßbŒ³kÞÀæéž%³egѨu{þØjC¶Yˆñ­>¤«Ø@¬=9W“yˆ+¤ö'›¿‹CÒ!ÒÒ )Æù›9±ºFÎ+l$YW_y8Ö–`ÞŽPÞP¢}ùa\ÏX툑.2Qh[q0Ú \>¸‘XGÁ´«?i Q0稟I3ï í»¯>ë L6g M6ë H8k G8o J2ý!˜µÑ@œg/íÛ¸Õ9tc'ïÌŠB<{£Ñ?@±èŸ.ù˜ùrjŠD\Aç`؆3Yæá¦\Ö lÎQ0ëœ>²ÙfN,|“'F÷×<Ôhà}aJèì! )}eeôSqõžhÒW6TŠ@ûIÔÏnãÐvÃðÆêx¬”(ĉçð¾5ßÃ×V/8axSA!µ/4ñ¤·9$ï J6ý7 ináˆ%Í—M´÷C”†ú+*'ìj Êð” Å& ÎTIöJz‡®Ì¶y ³Ÿ8ÇbnGïÍ1ù£Hþ2›‡¬vCúåR&ÿÏ>¼h1§1a÷|þΈ‰ç¹°›èPî°$çK”x¹ŸÚ§IÓ¢§c<»ÃA‚nø•F£§¦XÄ›.ñr7²üF- ×™;ÃkÔ¼üt„ŸwòÎþ‹¶‡-£5,Ÿ7&›ó“çß½4¹ç‘ ïˆéš.Ǹև£íá'.áHetØvÛ¼‰ÕC†q_h ~•‘ˆàìËmÖÂìŽÓà©ØAÊÝdÒšlÖBý<Ù}Õ³<€è4`èWPàÛ]a -çLEô¶Æp¼„~¨O@üé²IïJC²®Ê`ô6ÇŸèÐîŽ2ˆouHÚWŽ7RãÝÏÛ„•_KÃ.ŒÞ¹Kó}jyR"ÞÖKòÖRãND8—ÿŒßr¥Ç»¼Ñîÿ®Í¸‰Ã2^a«éŽuDiWƒhâù50á´“ñpž;¶ÿÃ׆óÕn8/›FÍk:”«ðóZ ’uwH%Uð ¾Ý<{j<ýpmIÛ‹D;é1Ï0-ס;ó<{i_ˆPÎ?aúá XâÀ™-ÊáP€yh`~æ‰åp—~øÒÁœ‰Ã ÔÏ)Îyž±ÚÝ£çöwðÒ~ÝØ¿³{üÔápr›‡ûñcËÛð_•Õó++¹¯ÚÉsÏ?aöå5i]·Ì –Áïp¿¢Âê ¿M2þ¤Ù÷«2½…ž(1ש;û9se?§®Ì÷졉… ÛÄD‰qùÏÛ, ß „†-`ñœµ?$飀÷Qe]ƒ‡~Û#ÒÞò ¬±8m§K²™ÌϤm…iضè?7ÏÀEà×%ógXb‰ð$û8/zf ïø™ÙIy¿ źûò† Ä•&÷²¬³§n0Ò (1‡ƒ‚–PªnÊì« ój'ξ;j4-ôQ¢ƒ_ -Åáä¸×뫬.kÖ¼ì¥È=ÜZ¯€„òw¢™K™Ä… Ýð©—xîà"z•=ƒVBr‚йV¯ÍÙ×gQm¦‘%㦚®y¬ôÚŠªßYT]ˆžáÆnU¢oذ¡_«:(nG@4Õ« °ËʃPeØÂ'°"tñüV‡@†¸ œ£VÎÛ$•á cBg bFà ZÖ9xi៿9:N°x~§‚<~)Œ‹ÃP¯a1b›QrÓ\fÌ”øNáx O(å _}9aƒ»¸¨­¸¨ 1l sèBJ_eAa‡Ðr¢Î@…³–€Dsv#’®6’¼›¬ ¤—:Ç5Ûœ£g6/`Ah‡C¢æÆ³¦úH¬Fûj§ÑqäØFOÑì,™±úêFŒZt£•>ñh E6g<6OÅî«~u¡C¯;x˜–ÑW9}fà&Ò¾9NpÍ…ýeŇͥeG c[qQgYIakLÎ@k©‰5†-£á_@m P4g P0gªFú(Ïþ)d«uüÈh -UBÁ´—7X€³K,ÁLžãzêFb-A g¸BÎ+#ò^räû@n;zeŸ¦LlwþÒ¤my%µ(,©¼§d æ8É8„‹ÿÀæXkÊ%w®–BgzЇz :‘N‚>•Í4ûUÒÕ2^_ýC ]ÃvB—íö0 A•nà9±”DÉ_¡H»,D$¿ ñe#qf°"±®êh¤Ÿ:m/k®È -¾Û ¾ÚC˜ÐÚíŽ-GLÆÈ6„t ©‘k€òY-âù C¹ÚA DÛ—Ð:”O°âÍd 8gmaQãRVàXRHx«Æ;'îÌÓ¤uÝ9tcÇ.  -„ÃuâÒ¼Mœ=ãúîì©Õ>†nsÑ#l+t Þ -C† 4ob°Ü×L³Ö•eSG¶©ûv»ªCg:zÐ ô8èPGzØTÄ+«ò p‡ÀÀÊ¿ä¨óŽ“ƒ$Ñ"ƒb#)Ý4:®gÖ¶°d¸n;gsœøþ06èPñ‡‰1‡aéqo}ÑAç\ -¨Å\vÌXa^„/„1‘Õm¢ ¾ †lý&‚¬£ƒåè¡E9›Is\+0qHkuPÒ¨ŒÎ¦„Δ\Ö–Tڜӥ,î X8m%K½[‰2Ï_ riGˆbI3yŽë™¸îùUßú†°©MÚÙVÎG˜u´áÛƒ6¬£kÞ¾Àýc…è8Uˆ)µ˜.º¼7¡ðû"Pa®@‰¬ ´ÈâYã*+ŒŒYƒ$ÀP%í¡E:ºÉ“¯†ÐÃqưe4Ìá€P:¯Âq%Æ·œ§f8ÖÔìg!PñG_3úµœ4íÂT³¸Ê -¼KIŒ¼ªÉèítIÆyðÖ¼™-ÿñcË}ÑÄ8oc^Fë¦k̾>à¾CN³gÊòYf+|5 ûß~BDŸACß ACw‚ÐzQºAЭ,`ðalû -IÂ…e¼°ª¦pôÕŒBmî0•ƒ»Z0¤ñÊÀ -B¬"M¼/RåÞLĈG/`H‹èÂbö€Šð+`¯…FALèÌÇ`ý €CÛ -ŒèçëAd„¦è”µKRÐðp颊"z'¼ pöÝ VÖ>ýl¤I½ú‰4ÖÐ¥8g¢BLK9¨jW`â¾p¤“þ ÄÓco$âD‡pbµöt„ –Ù²³d´n«$ÉqaËh¨ŽîÞ:„ÞŽ!†)E#·®±ëúN×p«(ˆ`eY@šrVÓµšªYe8Š¡'âI+åVWåXd([nL[Æ™PÉÅ^pÔÜ(™_&Ðñìó÷Vûº…3,`lf¥‡_³"䮽Ȩ3$@lÁ€Q°L|¿ȘӜù[Z|̘ø&(a8øœ“.ój¤Ë»z‰3ï.r¤»—.Çõ” ÇÒ<%…¯©°¸ý“þ;qñAp)ACÀá8K© ôC„q¹Ÿ~ôxwãèÑ=Wõm•B—RÀíÞí™/Ä.¬ QÞaa­TfÑabÐ^@±†$÷®’Bÿ®$àE•}!Yù”d]•…X](ðò€„ÕV èUõˆe–˜ÈÒPXY(œX X†™8É´&ߌàÄàÜôI¶0ëê/,l7*=ò  ó¦‡&ãf+Èð>ÃN¡~´Ñd^X$Àx–_l ®ª+$î&É>œ©‘/W ¨Å€„T'ß–×L—øwú -Ü­8€è&`èV:LÓ|ß@ÁCÏ>¸ÐA\ðÐó!º.…þCpŠ„ûÎÈåV=ÇòЯ,X¨áëª‚Š¢([VBD9 -WY‹Õˆ2«¹¼DÄl€YU -À;˜ánPcqŽpÅóÛa*¾nO†üÅ X¶8Œñ´'`Ñ S¸rYS…½G@‘çSbü0$7ò«)%î -N4i+)y†, s‰µ"Ýì3èF+0q8g}`‚-”‚†ÀX´Ÿ:û~…)œ3N…(¡6FâïÁKwO{ýµêb0–ÎÞZøBé'%¥„·ºbÂαS w Þ Ý‚WCçÀÍÐE\àеB|0[u•—|­(ðåÊ|µå xHÝ:üÀˆó CªÆ!¨^‡ e î &œ—À˜ù[þ%UÀaXÈñ­Fp°öRáƒÃ¬¨í† þxÂÅ—dIîU¥õâZ´#XÆ·à qa–$G®5RN’×I–{õS(`M¡Êæ,á g¸hrÎæáK³ óò(OB|A‰Á”^âä›—:ñìC7šÆmÄw& Ó¤iÕ7uc4Ï›mçEw«+ªÎåfèx»T3i#²fÔº¬löÒD<ÙP¬ -QÎqu—‰d…(ë° -QRUUŽB%¢<Æ^•U9Œ‡e²eU[œ¨ò „Õ†r ¬åXÛ.žW x4~µJ4¿Ä”˜«Äœ¨%Hé=ÚÕ9whó‘fmU2ù­BÀ šk€e{…òÛAáúÊ -¥%E „áÜä®À…ôëóKŒy+ - ¿U -—D“FJ´í­ÒsÒƒóšé·:† VÛ Bw  Ûs0•T ÃYêaçúbu6Mº…ojÔqZøº.SìR.EȈáúˆ« @%ä@tË0@Ìe- ÐÊ `Á•ð¥+\(e2ˆ˜-B"¥Zö3öÈ%x‰“/Œ(² ‘”Š›xÁk,%r ˆ†©6é N.ë Z<é)ë¢Æ9_¤xwG82yçLF»¨¨|þ-í, -k©‰³öHåÌtÙW÷pVVçj?tð•GrœÛJ@ÊWfûÎÁ‚Uçj;tDÌœå`ž?´š†M ÜÄéG7°Ñîùƒ ×À‰eYêaa(ŸÈ²Ë<¾{Cóm—½Pm(—rú±‡¡_U¥ú£î„3ÔŸzŠú,áÁ `W…¤ƒŠFû¨vᮈïf(kcL€ßšôÈ÷ˆÑ:䑤‹¬äˆY¹1$è¦M²}àrÐc)€¾¯¼°5|µ<0ÃØ”tÖ&øê£lýA ^²ä«§\âð”+Ç;Ö×î"¨¾½Â„†=†h5Ó »ºÉD^¤IwQÂÑHv3ƒ‰à^H\eŸx^A©xÄjê<Ì:@b1Ë(”l¥éæa(E_‡(/°å*”{x¨PæáaªÌ¢Ã‘E 2#² ‚nÁR§³Q]|¡:ÝÃ3ÅSUÁdZmÇx^) qø­‘üÚbpÌqPzh­%©±uÅ…´†m,\×¶Éë -#}ÖÑQ: Á °"«Ë Ž[ÌI ñÕ”t”(ã,dˆŽzqæ `ª´0Œ§D >v%HÍ!YÙ‘¶R žWQ^˜ÎÚˆîáC¸/-]»Ò„~a„ ˸¬ - ‘Å¡ü⪛À'V• %–…ò wø2c66ÙËTtÒÇ'fL=ÒC5È~dÈu¸)Q†¡†Tl ©Xwæ3Ì+ddІ²’^å-Wp_¢Ô_c~ÐThžÚÑ8o€èÌV*ä¿qabߥ(p \:ëkŽF»NÏA˦—b!èmæºêœ¼²*0%~ Ýh«Ið­ÅFMeÇÏö¨œ;7C‡®Ä`B_‚šÐ— "t¥Üþ­²š’qxS02é£8É]€ó—Aè80Oj¿*anÊ]Àsˆá*Œ2€»ïŠè»,‹Ë ªPŽ¢áA¥.’dÅÝæ.èX$¦¾4ÔkhúL6é@g1'’­JÈr.kG0-,a '8ÎÉqÜb+Lؤ\ÖMœãÈnÆL<÷pVˆ6-ðeÜ b+ÂY`\Ì6–ô‡ÌÀвáˆuÕÒieUÞqu¡\•¡PI(/Ñà„€x’riR˜q;=Dƒ]k¤Ôøõ& Î4óÓ…º-Áj—\!"é’ê(å²KcØ€ Ú\%Žö†1š7×–þÐG®;!Hr|HŒŸå¤E½Í‘9?ÀÁ8[P‚ï13ê µO0¿O0±¶(QUV¾ò+{S@ 8ۥ󪉅ÖÔH¬eVwÉ•YyK–]YL¸«KD¹HÕ\Fb5—ŸT…ËRB|•°R+물Ö6H•oXº’8aª©•í^ Õ¥~ˆúOçé3½ªg©c]Ü ‚…8µHÑW{@`”ÖÇ i ÆžjDÙ@í¾u‡c}aŠçÜ-BYßÈ…ÝCªÞÅb˜–iY](Ë!˜%;±‰øÄ„×Ê\¾\åÒ«e$²e¸e|¹ UÞf>cþcb“1$Ÿ’ÊÇ=$% ŸÐ‰• ‚C¹ l †åÒ xyª¯rª¼Ê¨¢Ë|è–—d8*sFðÁRØ­ÙqÆí‚_<Õ¹GN¨ûÔô›.ÔNæ[ížXø6¥nÅÑh×”yÙ]–Uæ -,e›žSÜ*Wh ³?l•¹ˆðãr€íU@U^^ Ä·Œ€‡«òÈʰš+5À—® ÂmH@–Ìcü¶1e¬o¹”Xâè¥É4“Ðñho÷›¹ýÌõgaôíÒR‡ÚêpˆºÒÍPê;}º}Bp`Œ¦†ÉD%~‹uG”d.2éó³²å&+À’p^.òó¤>ÄbÀ—ÔÁ¥kòÆ/r“,7Þ“)wš)a®²’o]6r…U>""[>â—Mªýp—«„°+á9Aà7¢À¦·@3Wù‹ˆ¬2* e& À3ƒŽ:ï ·®Ìá¼í~û w’ê,ètÖA£@íoô¿ïT§ëÕ͸ ú–ƒýûäÔ¯BFýŽMWš!š9Ä/d•…XåPÅf«âkBCœá¹°qs- ãg% ÄáŸa+¨ Å(à»u1ⱠЂ–²ˆ%UYÕdäðƒ/w Ñ'$nL¾[儸PÎÂáZ¦± ”†ªVð92¦PcâÌ+)ÎvÃaftlåP‚²Š -Þò’ Úò RåšÊ$&ø8IäΘ(ÃvÆ¡Î:àLíkt,©£ÎÁ€Q¿€tÔ»GEÂÎÑ´×PX@&Î[PRáwNíKOäHzwÏ DǪ¯(—ìEö!…Ü BC0Èå#e“8¹ò°/—Výò•ªp9Jå'”Kh0¢’x!A…… å'¦Ê42ô(ñ‹pÓcn‹3$OË…PËCÅP«ƒP[“#M 98Aü°9E -¯6A§hbà=è` :-Õ׋­|@†ò“ Ê10%)¤€CCÎ˃dì â²Øú!é›”iX€PöAª|² -E`)ÐàXÃö8 zˆI}ʇ¨?Õõ£¡~D3Ô™hŠzS ‘P÷ÙÙ9ê@=6kUVº æC¤‘KF:%`ë é||2Ž$â… “D)Zå ÍJÁ•¤SÎ_lñš…rÖ˜‚JØ/wYùËXyŒU†r Êa0(•gty´0^gnˆe{eMíˆVÔΆ!ªÿê^?8Яè]%¦ŽZêT¡¥>%´Ô©BM‚ýË@Aïâ*èst0«‚¾i©?ø1êN3A]iÇÆf¦× è9"x¡BÙH‡³²–,>+Xî ü ?”_dQ• ¸±À°$“{?„|þõH™˜CÑёǠŒ+ZvT_•¹x¸–dP*€ç§2:T­8Hø®Ób:g˜ÚɤúØA¯4õ+LýÂQS¯ ´Ô'$1õmRRß"-u.RR÷"u ºIýTRñt cpzê x–ºÐt¨ûôŸ~Ó}JpU®²ï -Ì<%Z8÷–tѼƒ‚À&”/šxN¶`æ1¡2¹'¤È$ÙÇÊñ’>. …’˜ff`qËJ0\ËJ,$•ID葲¨aQvíˆY úY}«zÔ;8ꔎ:ÔR·j°ÔíªSϯNÝ -J©‡€JꚎ üu§¢¤éP'êB}§ûôœ¾S3ûSp] -õØgD3¯ ’M;*a.ížÀHÇ$Ë#žŽ{=ŒHŽ{D‘$ïPé‡CE$âFEÏ&i8°äge0XÊR4 («¨°ó;U6Õ©ôG+¨¾Gª›Yt0êSçšzêT ”:–Ȩ7"êxˆú¡ž`©È9êFS¢>Ô‡ŠzP7pCÔÐõ8Gýi§¨#Ñ õž!)IAyÅ…@|ÈqÑÇ;$QïŽü¨¼œòVIˆDrì‡ä¸GÏ?P6ÿ -`’9(ãFãc>ÄM"mz@¸x±r˜+å~¬z§ ZÕþø•êvœz‡¦NgÁ@kPÐÉ ú\…¨^†MÐgz£¥žJêvŽz£.•sÔ™¦Dý‡§÷tNÔ}ºÒt¨°9êG3D62}ªô“$¡„Ããe·É= =*ñ”\©ÌKÂ…2ïÈÉ<"G$÷‚ÐÔ+"#r“È=!E::ñ[Üü'GäKm-±P$€Å S]Ö®I3è—7ƒnh¥ çe8ÐÕ¶M}ëªÔ­ ’:¦¤¾M2ê×¢£þ€§¨'¸êHÓŸŽ4õé¦BÝÀ QošêKÓ¡®4#Ô“¦B4SP(?ÑÐH¸D°RïHÍ»(W8õ˜\ñÌ{‚…SÏÉ—K½#W"ñŽ4‰Ü…’ì£I¥_Ž" ¨$$%,¬l€Õ¶L$ƒTÆ… .ŠÞ™^ÙNHÅ ŸA@ÐñL}KŠ©ÂQŸ0tÔ'%uoÑQŸ -2ê zŠ:Uè¨7àIê -v–z’QêB½§ÿLûÌL·ùé@]¨ÿÈôi–6A^.U¤ŸOL=#N2ñžˆ©´s†O‰J=#Y ó„ð¨äÛ±“ÏÌ>Q,ý -0ix±3‰Z`‹)]_e0VÊY8ô<Ñ›Ð'¿>()uGEýÊRŸ£:`©ÿK½,‹ ƒet´î‚žO)è–:„ ¤.¥“Ô‘¦EýG‡§O§@8E=6ÁT±Ì;¢¬@¤Þ‘zB€Dîy™W¤ä‘|>V@òñœ ¢ éG„R0È%äøÈA “‘„>&#q8êáÈ‚C(¹ÐS%OBg 1ÕíLÄ¢Îaé¨cA%up‚¤Ž• ©sP°Ô+0%õ¬SÏ-uêŽRGPsÔƒ:PN×¹Ñé7„ÊW4@þ‘¬Ô3’DRoˆŽÉ½!>"ÇCZTŽ©Üû1¤RÏHL2$•ãH*É=†XÞpY¨£RGßUN@DP—C ÓN¯•Ù¼¯}¯ƒƒþ¥ô LHýÊCÔ§r†úƒ›¡.ESÔ Ôõ¥)Pê>¨ïôŸÞÓh‚úSÍQOÿé5=gæg[N’¡rHŽL½#G0ñ–PáÔsòås¼$ (‰—P¿!_:ÉC°€þù òÙÄŠ¤àÌÈ?-$ {T2†29CT1l¬¬åJª\bà ©·{]¡:#¥Žå1êV¢^íêÔ¡ᆨW{ˆºVȨs‹Žzw(©G RêX¤®ç(¨÷Ôô›Þe¦>3H=§’•ųÃWy’Tæñž x”+¥‰GäGd_ÐH?!¢‘?>!û„p>ê±ù÷C´Ô,1‡­Ã#à“ŒIÆ‘‚?*#TBþpÔóñå†Pö¡†‡X„>¶Ð 0Bêr‚z‚ŸEóÓÔ uS ¾Ô…úPïéF2?½i¦¨#Éõ¾ÓmºNŸé43×B”P-ªàâÙ·d’¯Ègd¢¾ÈÇ$y‘Iò ÿ~pFŽĨ$ÿ(@sÈN>H0É>‚TòñÈ1ù—C…$!MÁR¾Àʈh*‹RÉı=îƒ^p g…ºRÿé?8ݦÛäô™^3ÔSÔs Ö¼<&„$ LIò’{AlLŽƒì˜ÌCâs¯Hé&Ṟ(–{B LŽÁäëá$²SJÚ`ÈÉÏ%lŒ.ª|Í•»„§Ê(:Ô¨ ‹Ð˼ úÈ(g¦×ðôÞÓy:Pÿé:]§ót›iŸ‘éÓé RRÓ £¼&$ 0]•ä'™ŒssN¢4Ö1Iò8.R¢’1Id‰+c“‘Nê& F -©œ44RXɘ¤O²SŠš$©•²HÑ*f’…DÉBJ Îè•·¹C9J‡©'×¶—Iꎖ:TMPGê=}¨ïtœŽCÓifúÌM¿é6Ó>SÓoúL¯é½çôœÎÓ¦H}K…0­Ã@¤ö¼£Ã[_I¿#š{GP@æ%i9V"*)˜$q’ðˆ"%£2$áÅHr“|:€L’}ä˜ÜòÂrOH J¾5$Ç>lLúñX!Y¨SQÓÈ›’èe.~˜+t¹Ôn…AWpcTÓ{—™öiŸáéAÌ*B‡rtåÀfe0XwYKXYŒ•!ðG<$Z&õˆH‰û ¹ÄFäž{?tHúí€éç#TRHeäßOÉ¿¢“|;vPJ>™«¬t"'Y¢ÊØcUº—`zÑr‹•ÅX5(£àPd¥ðB7«à Gáuœ®ÓizM—é2Ó>##ÓÓ…úO'ê9½g¦ÛôÞe:NßéEý¦ÉÜôž~Óq:M·™öÞ{ïÓ>Ó{ï½÷Þ{—é4ݦçôžÓyzM¿éÓ>ÓoúNçé@]¨+u©$©N¦EÁªÌåÃä^é$cœ•ŒsTvPNV‰#€™0 -žP îËÃ%ƒŽwG‚Dî y9&²r „Å#yDZc8"ùz´ˆôóù÷ãSRðGedàÉHB“„> # ¨„<ÌÙ'ŒwP^±ajHKèÿZí zœ:Oçé4½¦ÏtšnÓoºNßé<=§ÓôšNÓiú´Ëô™>ÓszM§é4¦×ô›ŽÓ}:P2 `¦nŒ‘h•‰?Ó5.]jêAŠZÐ5D°ÊÐá†xøiЖl(+ÀÊ‘S‹Ùa˜hÒ]I€QKŽ -K@%‘’|H:óŠüpÜûÁrHzDnDò uÄ+ÂR É¿¢‘~B>!û€˜€ôóá äÒ‘I eŠ,c‡Xºà€]Jߘ)ÞË—¿ˆ#Œ]9_´rXÊ¥šÆ\bà)@îÂLãV…žÅ…П† zÑÌS'êG½§ÿôœ®Ós:Oßé=½ˆ©C=õH:„'¨>ö½…’*BY•0@T(Aõ41„Q =@ tTB'ò>PPâÃUY -˜Ì—}SãªDY”+uBÙ8åŽüL--3¤/#&‹8R±„ä‚’D%`MÌÅ%|™‡K+LNò%Ñ|Ìb£ÑîˆÇ<"Aó‚ü ô B -9DË–A¼W9ýf€-a_f"BBLJ"%ƒº–¶[`À g™têÐSÂaêO4H]i -ÔfzzRêI}©3EõzB„>±‡é¢ÿ º%] §A7êO}¨+õ¡ÎÔºnDƒ ?19è?„ ȹ+í%D J)Àí8‡e㜕sSn0ÒAÑ!9VòÙØÃ­2L'–€Wþ%™Œ)!ÉWä³0H'&áÆËÌ(o•,®ˆ9*á¢Eè勯’F‰˜$pòÐ#¤ßOI•’…?#ýx ÔñùØxDoKt‡2” 0Ê!¨Æ™¼ÙB¿ÚVû…íT§­v ÛkÏàÝö -²*C·ã` -S·­ 3jb~ñ¬.” '€0`H c¸&s|ñ:\²ÀGD²Àß,UŒ´“ÒNJ F¹R!”zRB%Sl {+/õ-W±g”†PüçžIŒ+5 1®tÌ"Ý#‘ä#¤xD|@ê ±Qi¨¤R†—.G!`´"[lùšôò ¹Ä$Y -Hr’d 0ñŠè€i‘™ØÄï’–1=-Sî°1?ì¯vØu^¢Ü~bÂØ'´€=‚–ž=„䂲¯È'$OJC%‚‰KðÑØòÅP&‚©„b¤JÆ*ï!¬ÊB¬ºÊO¾v -h¡ïàBR9ÀcB¬ä‹BYYIÎ’ôÊeŒ.`ŽIÆhNéâó´h©¹ À¦½b–éèdÜYŰS“ -% .`“?ºt9& #®,€ X¦e”¹Ç½ 3$û~ À¬\R—ùÈdOT -›¢”/9y ”o‡Ê=žÅ.é’wVN©«äC"š)˜$’3²I^f‹*d„LšlÕQ!‚{ í¡ükAid^®"B/æ?& ÜL¸ßÊÈb+ ««£I¹O„8g´ˆç—,õ‚OB¤G;ÜŠD¯¥ñø¨8ÄuîÐ|ÏŸÚí¤É÷¡FmÞ¼ì:´»‡ÜFt(÷¥Pú'M?¼§/íÓŒ¨û ÎêßW5j`õ’%î ÅaåÝß!›y¦Ì=oÀ“ÏÆ}ŸÀ6{‡Ní;iŽÿÓæ8ò{ËyöÎþaÜwâðGÞ6û˜0óþ‘ä¾C>ó:yd)9›ãñV*øsæÎrîÌl§Í¿;ÛcrÞþ¨œ# Ñœ¥P,ÒOŸ÷Òäø/eîÝH’xU57ˆåüêçmäÄf²ûʯ«þ l»¹; ï -D4mk È%H2®€”ð~âüóHŒyþ²Î-ÚÙ>ùp›~>è°ÍÛÌÍ3my¸f®k† ôUu7Hæ\…ñh;Yö%EÞé©-Yâá J þ¦ËñТÜU$Ý-’¦À¤ òÎðì{Ú4ÀÉ'Dç Ri[Aý`&¤8†)ô ÅÀ³Ï Ã?I&- &]¡T“Ööp¼¬P¼,ù¾ÐáÛƒˆÃÎ:‘L$Ç» óï㈴€þáD‰rN™yùÔ -FÿàâežP"Ü4iç“ ïŽï^[€£‡íËwðÒü_›Ò%žtSœû:ygö ˜]ä8w3hˆ3XAèüR(ÿÇã_@'Oíû®ùð±ý¸1ûpÍ/aæ}' ?uÆ¢\½4¹ç{Èm¾úÛAP‰ !«³9o+ ÅÏýñx#IÚi}Á5m[69ÍîñS»‡áìš´¯ÚˆÑÎÆýš¶®{æ‹+ÂIAHæg°‚ÐïŒÍñ¼Ð ¾¹‡+ !ˆµi/Þey4ÚuxøÉ ŸAʦà³Ðî${ìH{BÌ«c’îöÀœ?Pµ=`­¨8¼oîÂj/:kúuüÜ(¹´¥P Ú<ÿ Da$þ' ï§L@©…6t_õôìƒmæ¾ê¦L²ÐBñ†@#rÖꨤ£H>eöåJ‘xA~s?©ŸZ‘è 0Üñ3“´³µA*g ¥¡4ÖF¤àÓ_š#Æ:/…âðf â0¨n¤X·€T¯Päò¦P$Ó®ÂØ“IPRi_E ý?ŠŠÜêʉ¢Æ¸_Ã6Âαó=c¶›úÑS9ñôlÖN–|?IÒ.Gj´‹0dÒžra˜GꀼœÄŸ6ÇyÓåø+0á‡7ø•(ó<`›ÒdÞÏæ`ôŽTÞ\ z¥É=oàÒÐBQ Á¿@àGª¤û5s\5ÍZ>çäÙH‘v^IrÏ;phC˜‘ø„öÕ˜…Ù5n`uNÝ™Í×f÷ôµÙO£ã¯-"ISk"ýû >ñž‚B E™|߸Ù8ù¾Èd­Íñx?uöý:°º‹¿à¦²êZáðtÌïŒÍɸáÛ§1Ûª§db°‘#Ý £ÒCˆqø£R~½°ÛZWà)ˆCˆ¡ø©.ï¦Ì<¼ÉR/·ÒPü¢lÚ’|ÖYJDÅ`ATt©ÕˆF&D¸I -ÿ³7G•aˆw‰XÒ[“u„#šsˆ,)hšIŠoI'­@ÑF‚¼û?€m Vz¨Ï@<ЇôS*o$¤ ôúÀ¤¹:*í©Œ÷ÒÃ"E9<‰Òî;u&íÃqPÚS*ïŸdü€¦ßm€’/g²~ dod)gÛÔy…mèÀÂN¡ãÛË$3<I&m•Áè™*ÉØ6Oß™ež’ãÞ͘ïþ¦AÓº3,é´ÅJXäxø+žöƒŠwÓæø#=Òå Tž0´Ÿ8ÿ>$ž¤!Æá×îhô\“÷ο"ùü'p-êÄ®ýÑè¥Xz |8Ó$_Qb÷y[m4ÚPŸ„~I’ìxþý)Šw„!“ö€hñíãÜ}y9/»‡Œ†Àð;Pqø£F{ÈkžgoÍëä¥Ù@…n HðáÙ ö5G£@ôÏ'UæÝMš{^h e"ð3Uæå:wf÷ÎÒ£^¤Ü=s¶îyÕípV¿±²¦_Ÿ¦aËg#Æ:¬$ZŒlÞD…q¹Î\؆û×ð£E;ÜFŽë¦Óë{…Iæᇤ¯0ÄÒ?xQ¸36Ûú¸œ/”~Î"œ„þ«)%nºÉ <+‰hîE¢¯9«“(érªŒBü@'Y| ÔÏ/8ax;€‘Xw}`ÒŽpÒ–pz G4o)„N–zâ @7ña® tðwwLÞÚ¸‚Ñ?ܧ?Àè«0}ÖÆdíRYw}HÚ R6Uêå>|j J þ.J[;#ÒK™ Œ"%ôN—}Ê3WÀih(ÇGís¨63uêÝHÿî'Ï¿› -E;‚Îð+ áZJ‰¼•Î{K„’¶àX5Ú}¼´:Ç®ÌÞ!›Ù?mÞÀ¦ßÌ®û•ˆ+¹3<ÃÎÛ/å -áÄ!åóþÀÅó–P$“¾€äÒGÝ}§Í1ö”ŠEÔ˜÷úà|R㞟Z‘è½?"}¤ ô÷ömÖÂl7°šgœæçò§Í¾%*è£Fq,½Ô‰Bo¤X‡Ù—_i4úlÆ=!D'N=üÁ D¿ÀDà‡ðâ·Ôr¢äË›,õò!øI—K¥Ä«4ë®Ë™d²¦ÒX¬ŒÞDqw"\}4ig# áw?iþùø©9eæå÷ð­yŸ@¶û†®Ëãà‰ÙH’w"žxâV(ÞIŽwy A´h—׬yÙ>g¹M]—-3â›Õí!ˆéþfßÔK+<ý²Á9veöS' ]¡ çO^Zƒƒy"® sð7IóþÓ%`¶€«ŒHûIsœçØ‘Ý4h]5ÎÛ˜çÉSûHŒyÿ Â<[€ãwpbñ~²$‹‘ñð¥E2>•WÀ)h‰‡OrIãðÍ5raß›<0šg¬vC‘ú RBgbHÐYTHüZ@}'µVˆãJg=åÍ4™'Ö±#Ó˜uÙCqZÚÞÊI(Žñx?xAˆW˜Â9K(’I_o8ÞC…sþi³Ïj£±BÎy»£’®0$³æ dÓObigq0~¨}¿h±Î#=Ö5Iöá<ý õ"±DŠ´ãsÓ‚âôÓz`"ñn̦9Ó¢eÂè¯ W è†gm0~* -qΛ8gÎìnбŠJ¨ÇP -:/XaX#˜óH“u^J…ààâÐ;Yö%5æáR¤…xR#~7fËpÑY= "Dw1cög&˼ßÀâ4‰çiؼæ)¶™›“(ï>Ðá[]ÃæE÷ø±ÙDˆu~:B î3–ÕŒ™x¾ÁûªeÂèoÿ ªfº¸hœ·3œ;1?c&¦gÌÄóLØÖü3¸æ%LÙ ‡àRÂÆúˆ¤“(ï>Ι}ó6¶³w%èxçÆ¡wã°n„=ûa/zž!Ûªoà¼Íå¾ô¸' -ŒË‘ñð ~¸Ô‰BÏ`E¡oÂܳ‘ûºgÎðy*fÏ3cZõ \Z~tx—;Iò‰¡:óœùË¿\Št°Z£ÝºwOÓp«.¶ -1S™ÁH¥íÃrŽ2a`´¯æ.± sÐJcUý߉ q8Éh.5Zˆ/5Þi%=Îmíì•åLyâ G8mI<ï(ÑÁ/T(w3aŽï(žA -¯Ý!YcPÂY#Èäú´µ6$oH>o,&£8$œÞJCñ?uî‰åþÓ&_NÈå]AÉå½ Äà_^”H÷¡> ½T CÏd¹÷wòÐ~Mš—m£æåsæÊ~OߨÖΜ™>dø–ßÌù^ƒ¨ê5ˆ€¿‰r/§Aëªû]‡e´ìzªuÛ]•U×0áÃT Ÿ±:o^NÌJ?g«ÆÛÁ‹Ã[ŠÀK=/•"ð'ý"¬óM‘F†vùL˜¸î_«ª^W‰è\XY=i>¤Ñ¶ö`´‘&ïî7®¹ã`«8¯¯ ØÕ?XÄôË_u?‹¸ÃW4h\ôŸ™MÃ:ø³7*ë« H[ Áž>µ¿CF»¥`üý+/£¾˜Ð:J…à’džäx—!Þý&µ4ðÐ̽< …ßlþáO}Æ,¯m༼‘bœ–_Ú ]—'"œË‘éò¤EÇŸ ¿‘#ûVZ|±%4Ä¢|KMÐL<­˜`rQÑÔŠú̃åüÎ8ÍV‚Ôï6ï¦N¼ñO¡Ú*Á'Þæ`Ä pêå;}c¿íf²¼Ë0÷ð&Èq.Tç‰ -í”,ípœº±[‡LT¨†G•àgq0~§M<1ÎÝ’ŽÜ®c‡vë¡ý›¸0»ãWX]wðBZ‡€Bj79îÜ¥á5gb7Ï^™˜.§îÌN‚¼ûS2o/ÊzjE¢O¢´3‚¬‹ ÄrÌïø¡ÕH“w5…*¡`/å…¿j"Š_k@Ú HÞÝ^ŠÄ ®Äx§ä÷–¦i-ÆáD‹qx‘¢œ6‡äÒäžÏ©3»iÈÆæ@7¥Ç;¡C¶|gL†Óœ‰mš3.»æ¬ëž¡UψåöÔë¦{xƒ™áïΟ™í—.ír(PAÏ4IÆ{Æjß(ÑÐéòïîÙ ‹ "ú»?,i¢D¹Ï3>û6n^^‡î¬‡œ†Û¬‰yáà)^Ï”iÕ8tc[ß,¨ÑÁû -Šg~aÊfMäç§aZ_š·¯ï‘e­Ý!Y?€(ÔGõ³¡R2Hh_AÅ÷tüèê¢#ï°ås©q^´-Lɬ3Pé¬=Xñ¼ALõ˜hþ¬ÇÛA D=¶;Š”ÐOÉ8”ñ²ÁS3û{cF+ Ä;XáôœXæBÇùÍÝ×£v+UÞ}œ|ßÀfß/J¬óJzxÑ¿Ï׿§c><=³¿7v`ô*›~C”K¼æ«.rŒûNŸ{N—d\g.Í÷è¹}#Å:üo®²š’ÑXN¡ã[ƒ%¸WVª¼û5q^5mY:op”P-¬)%¼* ·+ RÚ @ýp¦Ê=‰²cm šIÛ -×V^Üy;ˆl… ¡!ö`…Ä%Jø¡<?á\¶Ut§%Ú—#5j`Âi‹x²)ž€D“vÊÜÃãn ?·äˆç¡FyÆh8Í×m7"h-ßå>~iù´ÌϘÝá·¯0 \X§OLÂÎ0U–Q›ž¢Âø˜t~$ Dýˆþgì†×´uÝ9wcKŽ|ÿ Ó:\K«}øÔ¶~V¿¿VŠ!B9¿ÁЧÝr9/aæý2ZýsÈV7i’m)„žÉr|gÖÙ~(ÖTŒ´†1'¾bGläp8pt©‘_:3hQhK±(´èH¬£^ÖÖ 4+™´‚~I/K$’¾0åsÎÀ„ÓæÐäÓ¦bòù­”pjp¢™kmHþô¹á5k\ötÌÏÎ1aƒ{ÈkžZƒ1S«ƒ“Lü)”ïÛØÑ4oZ³¢›‡ÑXO¹P¼‘ïjÞ¸j.:Kæë÷ð­ù1qS2Åš`âNždOó6"¿m„Ä–†#™ŸèPŸ)ÛD‹qËÉ(>OYqkwd‚©1휄wÓ%ß Y]£ÖUØçˆTÞxL~$}O_Ú¯Yû¢uôÎl(P¿¼A -Bü¨Ÿ2|û2[w¸‹¨ -!£EƒkÜFÐBƒq¾IrOü¤¹'fŠÌÓªA»§bœ£GfºÝ XÚ -X´ßêú;%ûW3h[_¢E»Z&¾ô—õ˜N˜}·]Ú÷¿ÝM˜}·Ó%÷ñs»sìÈn%É=ß "iW)ùÄ+$Ù¬Û¾h¡Ã7nŽFüIÓ¯9û¢»ýÅ’ù²/Hé¤/LÙ¬ŸBù¼Ž_Y-6[u6t &ô 0ÈpÙW6tbsÏ¡Ú,äGJèÕ `Î -LÞ„h `ÚBë§ÍÀ[*…áÍíAYk8’é3á´¯0¿ã^îdÉ÷©,¿—v& ÿ»äs몉gNuÅÓoÈ¢é·D"í1 -ï¦Ïq}€´ï38ñ¤³9o}7âÜÚìû’lÖUP8óªRÎÜÃN¡ -æM- q‰SÏVÊij™6÷l-ÉÚCQ;C•Mª„ m36OÏr0ÑcÜÍ=Òè'H¹¤§j ÞErwMœ×ׯ.lÖÑ+³uÇl(€·7‰%¡ô3Ä5Õ—Q[ÂͰŠ&`>T8÷iÌF„}Ûj[FéoRÜûÃ’~ÐÑ?`a˜7(qølúáKãü Å{BNºûƒÒ(1ïvÐÂð[ ¢i{…LÚHŽwxX½³‡vC˜±è3ìÈÌ'ü¸¼œ ô9vd¾ækΑS»yîÒò7±›­‹žŽðàŽÏY3bâyÊ%Ó¤qíŒÍn¢Ä¸À5߯>|èarôÐÀTa U>é¥ÊñÝé,"ÄT-ûªÕH‘yw„+—ó?€FÍõ‡í¥¼ðh†yðت1o L8ï N:o©†7Ò£Þý¤ùçŒÒ°mÑý[]Õ¨yÍAˆn‰"ŒûÓ¯îøk:&!ÂÕP(k¡Æ8zÆŒ KfDøªWaàзSÞ®âv Z ý¾QçÞ4›mæÀæ)ÚÏÊ“Í;eu·±¬z‡ ˜*ûî¥K=€„ í¥¢ 1†´î€éì•’nàÂð&r|ûJ–x·…)ž³••Ñ•…ÁȦÝíAYK8’I[q4ÚS.ý” ÅûjÒîÐdóc9Å;(ñôb<ÚO}R)ñ&Íñ'b”óCŽrõÏ`[ dÈvÛ̉…ãlž€_©rïþdCrÌ»™*ûn§ÍñO@‚wâÔÇã€Ùj@µZ‡ÌžQÛúú¶ÕOœ~6sd³Ìˆ‹mØGpÍNšÄóDŽpw œ]óæÞ<«‰éêž?¶zæLkžAÏ=€hÞ€'Ùw‡XÒ6ŸŒI ñ—²âSx‚Y/Mîýº3ÿóçö!Ìp¬5,ñ´#ɤtþ}£CºH çÑS‚ÔûP zoJÛÀfß·I³qêÊh£Ç9|J"F¢çÙS»kÔFØB†n?'àŸb¡ø«0mjÅzÉRïþd³üà<›§)Qw¾š’i…‡åvöÐn³/úæ Ìëè¥ÑEŒwöRåøîñc³§`«Ax°± ûJ ‚9oèòIÿºÙý‹UUã&6#UÚÙI–w -^ÒÊ+²îØ µ¬Ðð!´˜  \úá@oÿ D_S1‘û'(r-‘HšérÏK¥0¼¤0¬‰ç|MÛzFƒkܺh¢C9üé’O2{ŠB»i“ï–³Eô;„‡80pO Z}3'VOÉðïέvÊ${2m'Ì>_×5wŸUÕ=Tàл°¬´¼/l;• Ó8zea›8²ðLÚVxÊu{þµÊÉC›˜¼)Pé #%´§f9¸çàªéž…³76'Hñgoè:K€¢97]òÝ<{l·ŽÞÙýøv7}’m U:ÁÆ”˜Aˆ)AOÉp¤™.ÇwÑ?ÝI3Pqx?mÚR' ‹ç|Ô‰ÁûCPüÅGiãSdø*,(ê2ýœƒgVÛ̉Í3i\ß)˜V˜Hqîs‡TÒp$:mòÝh0Ú®|ÎÂ|Îd$ÖDsö Ë|ù,°•£gF÷ü­Ñ<|h>ˆñ­Z„«ƒáh%ÌñlyW)ÒÝFwuQdtyW;òÕK›ãÚ'pÍα3«ín©†÷•‡cÍ…B9{XÒ¾ˆ‚©À˜ ½G.g @¹{&lDô˜÷ÁNRø°!1ĨpÖC‰r·8lYt¸æoð¾¢HwÆf¾kÍXý*C/¬*¡I¸0 °RçxÎ -™œAlµ3lá¬y ÏÂÝ·B§=pH"‘Qt^…ůúr¢Î¡ #IæÕ F í/%Æ=—£ל¥…í䉨H±]&^ KÛj‹ -úƒÒšÃÐÚ’Ïü„DNÕÔK8’Iw}TÚV’u#›á S<ÁØ–`0£J~žcœº°¿àD ~½Áx7 qø§`þI0çJ.é¢F;{­ëKó¦ÆÁ31ÖÕDr·‘¤mà³ïf²Üû>o B·»ûU½ÃÝ{ Âé ›±B i -W<ÃW•à¡ÅºyælÄw*†ƒgÎpº§oÍŽZ!h{›\ΜS Ò^Ðâ’œ QÆÍIyó•HdÄ)f`VÌX ”a&Ïqý$êg;˜¡Xc# -¾«Ì¨s+4ìp¶+£·-$fJšÁ -BåáXk¸òYg‹<ÖO£|v” -Á›Î01£s†.¢³‡0)À (žºÁH/iêÝ;|hó ›øÛµÀV2^sOŸM½qèÄ(¼wÈföŒš8lc'fâÌ» è»…åê;0úæ.lZ„“šQ¸Ó—FçØ¥ÑEtI”z¶Ð¾ZHQ®.j¬K¢Ü³‡åì#I;›¨ÑŽF’¼»¡TüÝDŒuõRåø¶°EÌÁáìHšZcц`ã‘n¢ôó;vj7_œ§pÄsö€e´žbáh Æy6/ú&άýûA‚p~ú%ËpÝߎƒÁ2\õ·ãYV½ŠB‡ž¥r» C”ra/ÁI™z´‚…áìHÚ˜Ïp…0³ÐcÜä¾:™üV€EïBĘá-g¤Ç=;Á¨ }A -)øŠË [¬ÇG›òã×`hÐ@ñÅð…ü-]Qƒœø¦xÒÕ¶”‰Ã{CКª -©}Á g]AŠçŒ€”>¢Ì£€úy3k G,mždqÎ\X>õº]˜Î\nä'^€‚ðvãÐ?¨ax=ÎÑ5q^Ó2ñ—†-ì«c§FóÕð´ wlÕ¿U ú º÷Á„bBš¹­,%O=šû„ó‹=R9õ¯z8+D [X*E !Rp1£a+Èp†0$À3}ò…ÝÀGšy` (ñí£æºrÃs@€D˜Á ÅðÒ娯¡ gyaA‹AááÓ”äçR`x¯%1r-&*ÄWXH½×Èfxj£W -f8A -?»çƹ3›uöÎhÂ5úç­vú$Û°x愆’¨´o öa!€Á@A!ÅÃSH EãÂI}`b²’D´„T3c‘"ú*¹;gu¯íô•sxI((û-ÔƒÌiÜNhsšøƒ¨ÙŒ ‰´Ý®\í]Ax$0rVÊýÕj2³ôb‰ -±å‚ï¤çýžÀW}âÍ(ß§©L?õØBýü¨&¨lCo­Uñ}-ý5ÿм­ íÏæ0å>"UŽúsvVÄÿv–·,Ér‘{gëxœ“ƒ‚‘_EöMUõÌu‚Ùü+~Êg€È̲`ß”ñ—FuåÎKǧópJ¬™þ÷²®jƒ&Ù[¯ßþî5^·².سèÊUÊhîÈ5¿¤ŒQÁ8÷bÇg:¦ý!dp;Ç2ñúçHtà¿oÄþ³™õð²—‘ÝÓl/øAj×Ùê^N`OªW ñŸøóßW¡¼•Ö|»õxžÍѱB»:¥Cv#K¾[ßVd´(H=IÈ‚xt±º”Oó}틘¼?ʹ¯ŸgÐ}rÉyÍø–¸,$=Ñöq¥¿g_•ǼЬ‚áKý;.5͹շÒ®ymöt<ßžoþ‡ y_i–zn¿$ißËî¾#ìá; 7/Qü]žgè~'ÙûY2Ò­èÈ5ç[ÔAÂmwœõÚìgEcû8ã¾Ûž~Ö)P²˜“óõ¤rjbêëÞœ~”x_6Û9ÌwƒG‹lDVx‹úç}ÀLœ`³‰¡Ãôÿ9„uO¦µ7R¾Œ§N®c‡Åàâ½ÉÌ\}û'úåãNùYGMÜÙŠ³ ãÄ£^\>ɇ糤ˆ¾ª‹ªeì -Ÿ -àÚ /~2:p!£Ïç©NäwŽs|÷Ãñ÷ ÝŽ avt„­±ô‘·ýY«ÆÉ;£Þpîab?Ãëá8 ú˜ìØÉ«Îq⢚2“ TøYçýϪX·”¸[!ô1<Š›ƒ’ýÝö«SÇúþ P&Ë/°Ÿ•AÿÔW,ÓÜþY¡ò4Ü£ÏGá;þç¥þ¬Sム!ß46¿Œy¸°Ã²{]û{ý’sØ”öÜ7äÓ–Û ÃëN¢ùY-¿8ÜÐ;\•~V×÷äãüß2¸X¿mA3êòy1—Õógù ý³2ÜÙvOß.l¸ëíÊ Ã†ÚÓçOÝóë;•Œ7€ÀQ|ê‹Â¥À¸¶l½¢iú·þV÷ùO/X¹ëšìš ¢_[`&&>n=ß×V^Ķ9òâÿÂHøg%쬹nÊâ{â,.~¾S×[4§wÈ.kíL·çAz!$3\¾ÆØŸUquë„JãKžRúÌÍ…~V¦4±¯g¬¦ -Ëã–×HþÇôUvÉ\YÁü'‡ù³Ö®›Û:Çàng•ö=Ê’œ‚yêgåÉaépZ­ö¡¹Wgc Öι •ÿÅvüñsHS›s¾°Ããáõܵý¬”çªøÿ¬[Ík"äCÌc8Ï–$¬?ƒEôæ×Ñ.ü_%ÜÖaqöÁOFÚƒVX†/Þþdg¦ÀÅÍ4»».ïëÌõ–ù-§d8½•?áî9Úú¦÷½®‘¨Ï;e?¡âúà 3ÌÊøq{¥bpý½wúÚÖþH—ã½ÈÝ[DëÞ(HÈ“ý}Ü~÷Z’Ëè¬5±ÿ4X^w6™+R˜—ÜÓìëøqÜ?BŠWÔÈÿúŒe[©£ïaÿɘxŸiºOÛ–˜ž«µ”~^˜;ÄéIŠº:pfÆZª÷øåÛóLïjá™Ç!'îD§¿¼Èd:1ëýrƒ^{ÒÖ{ÏÃøùñ]ŽŸ^©ŸÆïÇá]óB½ÜJ›ïKç­" « W4tßG¢)Ÿ.~f%¹©9(Óµ[ºî3rÂngzšA>>HS?• ñ¦wDû~u^À»Ï?3ÝrÛë´?î­zË'f‡`ó3ÞN3!ø¼ï0„ÖÏ-Óvò«ôKZxéOç’d{°¡Oó­æ#Š–$ô@ÿfú•càZ¢²Å›î JªÓBšÜúô³5ðµÂô•Æ!.z;a¶ê=~—rÙÈO;´šÀÝ(Ÿ˜ûïÁ§ìè^!3ê÷ž$ï‹D™Ã…ƒ‚s':¨úÝlzÈ©DºkK”í许ÓACýÿü}ÏÒaFr蕨ÕÃÏÜ÷í!äÙ\õ¯‚Û»I#Ò~´_O–:°ð»æö~ë°iÒ—ïQí×¶ñ"Åà·ç _,lîø÷aÏ=níý†=©ÁÝ—qÂ0>ù®í#·RŽŒ‡Õ³Ï')'Øÿ­dŸ În~¢bÚVæa1há™UúE"0ÁC÷ÂL$ØœãQäÌÓ¢¡r­ýŒ’äžê(_§¹³ÅjΆþV&¸Ã Éä{b ¾9jÖç5š9¨Þ˜}ƒõÿ^Kòλj²«LåËÿº ÿøQb7L¾`‚ôz«0›€ŽõOJæIÑ‚mÈ!)ó¬3ÛBX)ýÕ[Æñ_ãdþ¯ÿ¿ÔŽD8vÓ­1Œœö%™¨\ƒ5ÖÅí²iVé+”å·àOQÃg#äÔíÞÜf/UùóãoˆñÖO2fz¿”¬ÏñÕ§ú-³m<€1ùŽÜkâú Õþ[µûß¾Kþ¯Ÿ÷•qí#>frÛŒí¿>ôNÈÎ} %¯~÷Ç”îGÚ‹ïo¶ú4ÿ›§?çG´¹[äÙ–kû#„\W™ù*܃ã¹WSÐ}òJfJ&¢ƒùý@á›}øâ4i®{þÂCçÇ S– ½päšM`Kþxd:&øÏ`ô&Ý›6Ьè«¡ 54žûú3¬f¸(ºº’É!ýéÝ^ÊIÀ'öri^oß{ÃöT™äÙæžÇðFÜc¼Ž®ß›šÍ^¿ärÀsŒQáojÞïÈÎO%=ó~}eâ¾~ç°Gñ®\dÆÐI®àˆ}-£LOñL¤fß✒Ï]æ?ó÷>¶³7ªÎfèÏF?ñÓK9.±Úžý ‰à -¯Þ"³w}É P®+å:ûûHn+ëþ8w¡£¾`HƒàsÐþúžü¶¾ÜyÂØð:m_#¦åsËŒì0›þíÛrê'˜ôŸ™°Ž¢Ó÷7¶]é‡W¸ÿ£¾ëÓÊÀço<;Ÿnd‹{¨j^Âgu‘KØÿO»ô">ù—tÓþ¢Ã“|ó?à[š?ëY¥ÜÈ4>ô°ÆòWc‡>ÕQÂ+°+ßËúÿ(øºA Ÿü]®v V»]Ë; -×î´aÈ‹;õÁ{ÎgBýÏÏ÷MrÈZj¿Gw÷-¥fé%g½õ¸áÙ­ò5íkXн·wXw2¦w”¿¸Þï5䯇Ö£nàß.È¢Ûþs¥w¿LÎÇÑ¡k4L‰@ÍÁGÕŽ´ˆ=‚5÷аŸgTt#ìèG 6zZªÀ8˜kßÿHay?…zÐ]UqÙÌ+¨æçÚW»‚4ß ’Hð-¯@2ÿö’ -†ÞX£á}o„eÆ"uÙøW=×4$s»ÛaÉ÷‰k!n‹Üj!˜µôñÃâdKÅ ¦–¹ž‹þñJ;FšrZ¢Ìçšr7'’5»HÈÖÏGž8b™ú0Ê_"MŽ|aâc–ÂEcƒÒh$ÒÆÅæU2bˈ#ŠXWØñ©.lvïItƒø¥gëœ7I·÷ ÍéàpJ‹39.u™ü2ý¨äëòL­S»Œ6ü]té4ªëœxº®R_D87B³%J 4NÆx;ª÷O× -[éU ¯¾·t"­T¸ŠY¼¬$=@G7ò;Íš”†Ûª#ør¥(,P¦—‡ –lØKѹ1‘ìÚ¯R>ÌÉdêºw Ö¶na -¾`Ž.}×^ƒ~†ÏÜè¿Qû¦|嘠ն ô@'ó²üúµ@rãóˆhžo,u¹Ó2òµ6Jò),N³Âð†bÐûóW8J@Ÿ]\sº6Ÿ-kßÉ.dè•“W~aŒ<^žxí™¶¸EJd‡ˆû°”v¾ƒ|u³ýƒQä½ÿI`ˆ¬?üå)¡/­Gzhèv¥¯ -¢üÚdXC:ÁI/OŒ‚R<[olÜ -Ú4£hÑ #s`#2E¨Û - |[Þ“øB"V:z }$tek®é ÎÄ£, }Ï¡tçD,_0v ¤Ååe°:'Æi UG•ª(ØkùñnÊ…g©±M2|ÙœÅ[T¯Tbc³˜å}3È|²›ŒL¼ü˜ÈªœgfWé½%Cô&“Á§ÑªWyëžöºÑ24o&HÍ~t©%Ý}Ãxuð㪜á -νÛ3 o“I©\ï;`¼+†LÍþO¾î<¬'¹±:ßw')ãá½àÍÓò”Y”e©„χîs\” ˜?5à…‰§*]›÷Ì\‡<€WHÇæ00× “0[?$y©n¢¨QL˜XM¾¤`LÍu¶ýü´ŸöSSzàÁ›oNI‡>!¿ز5;”º“ÍPÖ,Â!MöµŠÛ}GczÐf¡”I†Ñ^Ô›ä£AN¦>3®3ðùÁB§J@íIIˆHÝ )@Þýb¥´^ÙOã“éÑÆ »‘þ»5=H§GpˆCvø`‰ÙÁ} -Oåó%$z‰Í5–‡ä £AeOüö¡5> GÝŽ.<9ÃöåÌnQÀÞ0NXÏÕîí'ÿ(§©EõÃzÓ‰÷kë:—• -Á`—„(»ªOšØÒÆÔM•-áÇ› -9·±· mL€NÝ  ª0Áä( [Ÿõ»]7•iHÈ}‘=ß%rÉb˜aÓXÅó™¤ì¾¸D¶•íókßÎèw¹6JYÛ¨/–&©¦ÙµX¡ ˆðöÎXa›³¬!»°ÚçF ‘³¸+áîL䑲´Œ2Y̯±±H…i—q†m_¦«çQŠPHV#iúpŸë 5çÙì—,È.ÃäÖ±œD÷`z¢´1?›†(™ñ÷%”ðH@?™¸ÑOÉðª´C»¤âaÒš§A.œ”nÅ’«£b°!š.aTTý8äº6ªÏÆš?Û’,ÌÌþß«Ô+jÆF|çÊRO`ØLžXÜýËÂ{CY0~ -“7 µ÷Ó°Ð9ˆmOºRÿ' ¨»Éqüî…Nê<Ù¦ UÂÔ°«a¯¹dz„£»)2Ì étŠLè6±BmÝ5xÈpít?qÆY?f('|“Š6i6BOȪ,æÐÿ ÷P#–P?̆üœùeQ‰ûÃ! -%5zª¶ì°¸<ã=¨kC&Øû>Ìoþ¥*Œ)üoÓ„´JQåóÕ¯B¸¯¨žÔõå+b&Zá„ø!Î8é‰~¼\9¢WºBšÝÐK&¶ua—=á t†rœ Š °_6´/!~GÏŽínTBrõš!x%‚gó%Б”† Úx®túd8‚À,WCÐÿ ƒäIVEü¤£:·U‹ú¥€êœd3õÆØJc¾ˆ®ò4›´zß OKsðºTÔb´ÕQ–³dKn@9Ú»ÞGŒ½fw]μWÉÉù€ùäfÐt |fšOæ|}…1}§Ç qÙê¶ÓÒ¨¢Z„·‡ÚèÖ£cnê'uÕé·?CnÄEÈñ¢!ʶ 4:=“äÙÄ¿;:,½s^þ’2¨ºóqni€!T.ÕȬ_Ì:‚0ù8aHº -eqñ{L ˜8¥ILòÛŠä[×0l -‘x>I<£€O<ñ[šÅöü$l URõèðÐÂV§låíL8å°S;ŸœZÈeCIÌó8ØÞ}Êæ+Áî\.T…xS¤C&\âóažlæ õ•›pˆõS‚ø88ÅÛ(þêB»žX#ŒÁ¶A³_ˆ:e0_¢»S å°Í˜ØœþÅWú”¸Ÿ¼Åý sFÉÞdÁ3 ¥%AÜ Jn—%2°ò/ O×A -κô„–ùO§•òFÕPQ¨ç”'µ0¿tðÔ]­Q²…î"œ§5~IF,ÒÃtñ„ah9TqáVg÷ÓfÛf3ð"¿NàúG;‚…$HåŽt -NV|›àÇAkØ|)ÏÚxš$‹È@.FgMD ‘#È\ÁOG‚H¡aÎÐ0-`¢ -Ï€Fs®s5 ߟ`Ùç…\»â@8+ðm«‚Ò%ª† Äl¢Ú§»GšÞ2dp‡²ˆ›£š2¨*†£ÄØjx _4 ±·Çµ÷ÛÛ}pÍð´xI|qxõHêï 6öÕçóï}ÁWÐ"N`M2ºËbH±#­„wÌ©s"Ô!rÛ?]"Q‚Àq™ý þ~”7B”á ÕÔ9u´zÜ FA ¤ ¢U7Ùu`•[…€[Ⱥ¨®ù“艄ÌÆDã2|#QvZÊæâÕc'ž¼ã”í3ë¤ÀN¸Ûs®IBQqôb.n³ïþ c8Ù+›…æ¼gYi3r¸­s9„¦EnÊ!Ì»2´mhÚà¿/§8²ÖŸÐT¹éiÎZˆÆ3”ž¼QÀÿÚ*ádNIÆîægªE[²K§% ÄÚxªh 4d®˜PV?ó8O”«î–ß íÌXù¢€P W<›Ø@˜§ÝŒ…¹ƒb‰J.ùoò–ýÝ#fY»ƒwù|mpÅSœâŽèÜôÔÚÍŒŸ˜ƒ9†ûlI¸ÑtÀÝü-Êch¸¯Äx”˜àÄ<Ñ€`üàÙöµßµªqÊq(åÔ4’©¬r·O»ÈpI<Å})£o;0+&!ˆÐú17]^—V&¶'ÅóÇþ ¢3‚é«©2KfÉç®5úɰ‘þ‘  Õ¿J«1üWÜ\=`¶ž=„‘iÄP÷Å }‰˜«?¸…–%™A±„£NÜ`³!nê!<ºM§='[v ÷b4_f*òãYkSà ¸h_a­à²Éñ‡)þ%Ÿ]dQÚã>äOݵªe6üA¸ E8R_p3ÿÇmGc¼qɈ ºžÔ‚ YpÂïÿÛgI€ÒrÛÜ¡‹0&¨¢J8§8*TãA¾>:E!m’iѨ©›}³¿H¡ÝL§„Æe³ARéˆa2Œ…t2«©Ü:Fa´†:„ÎtN1~GÁÎN!£hOžÒ£Rì Ž¤ÚaïÓôñJ ‡Ù4Ÿ¥¡yR‡¨…£–æK÷S#—ˆ5¸%"zêü†f»B!k»˜¦éö…GÖ¤$(HÕȀå›kW³Q ý®ÓºÀœ™)‚ `Q-©VTÒŒÎëb@ ÚšsÌ"Ÿ­&[ æ3€Ø‹ç7‹m'©/2ó*rlûØœîB°åqC_}fÄKvÈØXØØ\©¨ª¿¡ØÖl¤ƒ0H§Ht)VÕœð¸ñÇb´1ÜŒÂM4¯áÖs©MA€dé’”&ã*7"²°Å ²läUð»à¼À†Í£ ÅÉ®^5"d7!‡ ài<¿›*upP•WóËïÉÌgw­ ”êºeC½¹ŒNìbí0«ƒôñ PLÀ"͈‚÷^ÉË?±.Ô”’pg¾’…Þ«A‘†C8pÊ:ÅŠ\!r GåX\?e¬Q &`8ǘËj³ÍÔóêxyxæ0ä¨ã¦â,¤£L"F¶ò=ÕÆ“+ürSM›?ȯâpìïOØ ˆ y䆂$±­ \²‡PSËQÖ}ŠîÏzÔ*OìQê’æx¤ætíó8\(Dg'ƒ¶Üv>Ó£/£tû:G.Cx1aÑo©yä’+Ýcùéo -ùL6BaZ=ˆ,È®7$«ù»À+²§±ì%+¾Å'9ptÝäßæadk«·ýêJ‘± “m¡l(µ&¡•ÛÔóŸÜX2€NOW)Ü[ÒʬK§‘OŸá&‡ã4°ìÚRe£SúR·nc6|ælYhÞÄ®MÍoÞ7€õ©uëiM1ôÃßLZŽŸðiÁ?hôƒO`¡Ì­Ÿr5·—qk`gQ®šBhè®o®ÍÑ:‘Ù¥ áÔÈ28¯‹p«Y2Ï‚^"x‡Jò× -Å¢g#¢€.GýÆ#ðûZ?EüV£f¤Q—¤:6xIk¿ÕÏúÝêtÎRág’“?gs'½¯æÕ>š¼¼û/'·A÷N»&ƒU|,Ekü"w€ïÏ»~b{Åu¯ÎTŽðwŒo¶*¤¬ÐZ­Î†¶-ïþ¬8õ"”4õ°ÒʵP¼¿4cíQ Ý½’ET³Ð4¼Ø åØw’Æ•-æÍ!‹š¶™Hol¨›–I@7-·%:÷–dé>¦£g¾5ýfQ3z,*T¾‰¦ˆ``ËJÜ-Ï6fO^^"Æ£u2çÁü‰ÅyNWHõ W^¦›,â ²ðð©B«¬ÜÙ¬&jŒ›HÑÀ e˜j6z©réÎîskçy8þÃ3’‹›¯Ì»¸Ëô|cNÜFfR Paw‚I£þÉTÍWÍ…>‰«6›õ?ଈÀRDœ:hoƒY©î¼¹ˆ€Í -{Æ&ù2¢¼Lc·½Q_n`D§lŽ &Rk´.óÜ”I1¿6W(L†º¼¼A½Å(¢¢K;Caáð!_˜sĪ'%3\4 O;½M Ä¿Åz“£{¶ñŸ¯¶ï¦»w‡^)cYm™¨°—LzlÉS!^ïc:Œ•ʵ Ÿ‘›øk¤·L -3 -ÄðGÒÄ€vN#øÖ¯Wsm÷S“›Gn{k÷0K…5{tîªfsÏèmDîëy#jîý~€Æ1Nå(ï>AjX5®¢3É@ Ä7ö<ˆ:gxê:ånŸ€¼ -[+#µ¶¼ÅÀ.Ñ}ÇÁ ÔO^[×ééR¥UAÊ?5/u?vÂ'E…yÜĤ¿ó¼&7ŸÊz0ýù=~NÄç¤P¯`/Z`l Ç5,ØS)ðTpêÇyl°ÞÜB»«x¼f;Ю/º#ßs@µÝôŸkƒ‹+ÊS8Tã ön”Pr•S¬ ×S–±‹‰^A6¾×N“å'´þ”9åmîq¼ÿ;¬Œé·”¹mV9@‡<ª¢at©WÜM¶HOä6ÎZRfÑJ[¤ ?bƳ~ÝDI§¼-2Yþë±3uí΢áä -lgÉ~`ñmÍ&“Ø•nð¢Rr»´DPOÔ8ÐêÀÍ.¢_E—¨¡”¶÷i’a¦2ÿC£6ˆǪ̃›C¨”ÕÙ»xhƈ"uØÉp6Ú€óX){0Š4†¶“èb0V”CÙ - -âàxhd$ ¡•ಠ‹4r–Îèçtªý]ýjKØŽÇÀP Òõ²^¸±Íšƒ…NpqF±˜µ5îÑ6ù­ȶ;K3~Ç’Ó×0<Ìç–¿y 6ÏXIè¸×£ìÀ.[."üÞùs);9¿“¹<¦*{0:€\0"w²?ctHÞíéìÃÊ*n”s }Æ|Ëñ<6ÕDBNй³‘5ëvx÷µ‚©d­O‚ÌY_Í´2¡3ô8t„6ÌJ)ü5‚-éÓÒ£ñ¦—¡Ï!‹}KBµ˜Lç଴^áÆ>ð)£Éž¸µsƒÏƒÿ#‘ìiKšCzn!N «£ùµü³ýϸ¿·,í±X9fþ¯£S!¥ç™´(ÀÆC¦÷Px1…‡ŽèrzTÁy¿\o/+ÆfDRµ,z¸S½Øß )•V’«!sËí£ŠªgU͸§©=²mP¤‡Dl–ˆ¶™L=À\>m¢ùƒïy§¼ºÇUÝãÓ}(™4»ëºÂCG†ï>xvl]æ¸+s\Ó'Úðê²SÅ1ƒ*³‹}E¨|1ïø:~ÐNHfù}Ec¾)‰µÙïÐȹÓD ˜ŸÝKæ}z§ñt>;,E}M?çM—XTzéÞw•P¡n W¤í¶¿Rƒe>´e€<Óºôå.L•‰ðyQO€¾ŒËIäYÙ×—[•¿×ØíiTéÑ"ѧn¦¶Už®Ãÿ6,´À)9´¹`´¼þÂ_9w^…ó 1ïëêµÚ³y•ê ¾È33±Ð ”Œ^¯Å^À¸Î¾ôh©OOˆ OJ5Rד6Š…5Ì„*8oC/ÍQ–hqW}ÓháýBfRÁ‚âC0£ÊÈu+P…+À·«J J7!…û¡ãødDL´p Wþ¥O‹aÄIÄ‘£õºÇf<—A)üUû`þVÿõXÍܬ¤àLÁ`öœý -ûCµ>é|ôÌWÊÞØ ]‰)ŽuÁÅbñ!ÆMqºÀîH+þ¦G™™ïª”MJ§ÝçQ·UlÔ¨~Ø?™“ýÐë•‘ÜúG Ú)Òh…f¡·Pºa¬Üâ±çÖƒÁoR¼Î™dÚzó^¬ K„h¬( ~fäPªymãø. P.Fiã*ˆrX«¢¯šãMÅÈ6;Õ,cÄŸIͱE‘³BÐ?Ê'ø0c‚Ü–P4óEe%î0\17“îr /f1M€¬J° ‰ß÷:òÙ*ñ‹]„¨zµj”†¡ ²{×Mº%—L™ˆ¥©' Ï°¿@ÁbˆÎIo+«ødjQ‡å K‰Ù;š]`§¬)ˆIU`N¦|¬9“A[¹ˆ ¡{­Q¢¢ü䘓õ N-锄vÛ»>é>†­ù÷ÖÐiVHN¼i%¹bÕaº¯³´ÔQËæBnNt¨Qg)$¢“$]y7ÇWùrM΄=ÄŒ9Ê9óú­™(ô•…©ƒ‹ÓX ‹Ì¶Oé!9[fJEŠÜnW@ ½àÿ”±j–ú0b@¼œS|ŽCˆ-+yÇ!»:äœí\ÂÕ  ‚ØÖ+'­Â#‡ž-Äo3ÞP(dè*Á1ï²ÒEH7/¿?¢¬tý2Èþ?Z —ÃW…\—Ò»„ÇAÒî|$Gxh¦×T¹ùÅÆoÉÓ¡zn@-”‹Ý^Å3âòn–Ð#1Ýäû*;RÕãd|[ºó‚ž…èvxew-ÉuU[à*eõ( µp0ƒ!æ€ã'ˆÅ¤qž+ø!몣îRˆ™X˜RLMŸÜIØz¥µ£¥Ú¡ÕŒÙ?\¦¤f,rðšh™Œ§fÓµ ú™~E¯]»²?vÓãE¥d6Œã.É•Æ?ªïØC6A'äÚªþ!õ -‰'Ûx¥ ¥YïͨãÕt¤ÛpdÍØ%Jqð‡ºn‘áu¨ô©¯P -‘ÎlJ¹‚­ ->ià\+&b’GÔ6Šî|ˆ(“Ó°S^jÁà6f¶:@øÔ%Ç"U–ðCåØ)¢Uì ¯ZÐîá9sóÑùíâêp¸ðºà¡ŽC²Î€Èõ±0 -àj0ˆŸh¯"Å×ÂW“±ÃËšk’zÆ.æÓ¼ì#Œ˜]>÷,(®ÕŽA ¶#AãU¾bZ&U°š±P#aGÂ7:j+â÷îEYóHu$ª`ô–ÀœÁ¼¬ÁÕ¢ì(8˜Óþödp!n•®"À{?þKW#„¯¼jïl2i!¯‰¶Ki4#åêÒä%`vã~ã]ÙËØFiL¶ÑÅ(J x¿”3ȦÒbü :“ŽRÓíiÌ©ì1H’|…t‰ò¡Ù¤ãÕÒ«?·Œé“áHúw™ ®O»•Í7­ù^ùÌØP(}â<ªô1BÜ&™{R†ŽDm)í?]ôØÝíh’šë­3oìc+ÑâŽá -‡bÝbi7q ROâO`tlSS5=ÕU>L&#ÍÙ}¸kßÐQ`¼TÉXS§A‹QÆùÝ€$ÍÏvš|ÚÈ®íÞA}÷åÍé&I íY> aODC¸Ô"}s9W9а¦MòÙ˜…ù`w½ö\Á9¶R!`L5ˆœZÎú¤š#?:ƒ¯ÜXû«aάT–öt^ 1g£>Ý‚L6BP7úÃ3@@éxµb»«5n«–Àßý¤§€‘`K…`Yd¨1I{jÖcJt.®n$BõÍ—˜5A é€"H·É5¶œK¦¥×ñ>AŠDø3x+—)ÆãZæA)¼ÎÞih ‰‰ìöÖ;õ¹i§œwÑÈ·° -Ûµ‹6©ód8Î:êDfi»”_Ë´ŸMµŸ–L®^tnC3h@á0øãÈû¤Öèå:h‘ZÍŒõ¦÷¼4!ãÑàràGæð†¹R=®hàÞ…ÚÀÌ^jå|Óz#›ø„Tþ@E€@Ý¡†xJ‡µ ÆLòÉ?é…”µ‰ºë”–JÖ‰‡ v¬Âe¿± ñ»-„î&'êªØÞÿé4fjzÐI/èŠB!¥@ƒ%Ÿ¤qäâKFZAá¶m×V[>¼™$İ}ЫUÁFÓŸÑ"ý³ºÚð-ËÔOOnÖÕ¶Wë–_yÙ¬¹‚þã€|Ÿ_>H’ýÄà‘÷}9 ÖÃaå|åBÊiY¤È¥Ûôž ²Ôh -ÌB1)ÍÒŒ&Ä/Ñ#!h°qǯ(Üž„âÊzúë.G²’Š·#YáïÄ" à$¡SÆÆè%c~r«š¦•‹ßm$¼Üdy<ŒK¦ztžR·þø“½}½¬ÿëÕìžz/}úÛz¢Õb-š(©z· Ö*¡ˆíb½(%µptÕáÛuSž^ (*^ÌuÁ€ì›±[)ž‹9&‹jÐTâ™ëk ôSLˆ»§›h«±¾„lbãûbØ/¡ÛÎæêµ ~ЄWã”ÁíÓÔБ\ ú0´~uCâ/ #Nö\W6Zp>ê ô¨»k…m?2Êø}€:oN°NÝw²¾ùðÒÓ¯S¸O˜Fü¹îFŒ0/L+ `#qï Õ£ÌS+ЊȜVuJG× 8Ïz¢QA‹†ïYÐMŧA¦Ñ¹º¸Qó5©æTh8Åé<æjÎÄ®ÙöâŽý]9XíeK’7H·uŒyrM( …"¥³b9 -Cl.V‰ÅC>¯j·òòâá×rQ6`€W!ñ¿)õfÈÏ5ì0·Ï‹%@“NÙš­¥(Àn² ð5Ù[I¾Ÿ³mõ`ü‰°:Gù¾À¤¯…ïcr8µÆú+Y/|Ú žK‘` cdct®Üwo¼¶OD¶«~ÝŽÖpª§°C»5 ÞÆØðÛ3‘ÔÞvR–ßX½ùƒŽ-/‘zĶ¢’ôn^½øŽfáŒñ¦ÄT“{"¿~ÑsLÍ•Y‘@çSËdNV¥ ©ƒêD®Ê,H¦W¡d -VS¤Åð…Kb‘ψ@š\ÕâO{\ æQ0…@}X¸è5VOPWÑ‘Ë}P•µÁ±õ£G¥ Yü4è -±@Œ6·9vH8iÚ¬ì Ks‰Œ– a£I<pÆ€wCï9^€¿¡jŠùh1Ô·Zñ1³Ã~éGTHœBåÄ[V€î™õmº">…MÖ@rJºk¡~JC7H-[ª5ˆ+®óµháòâzQ…k­Á\€"}›¦Û!0“iÏ”|—z°%×Þ$ÛðÓ¦¶H©±¨ƒ(LSën6]&åÞumî€{äôÀv9×`@¿HÈË›P -š5•Ïã](t?è -0ù¥IqZ’Í‹sZíêꛈé"§÷Ë8 Jçtkâ)§H\WQ57˜ulíŸÈ -Ò©¼…J—{ šµsÔhl,? Dq$ÛõÖÓÓçwüè–((èTJAT4^olž7=â4e± -Óψj^’”×P@A?@#¼_^×,vjÄÕË5µõb³S\.؈).÷KÛýòrqi½¾¾ª_Z/+¶;5ÂÛÅ5eýÚf§¬]_Û©Þ®ØUl9\R]#¾¸Þì»í‚u§°\눩*×›òÂv½¦¸``ܧ¬Z§G욥b«f[nKíZ¯[î“¶jåNaÁ®]/7__Õ).¬wÄÔÕë•êâêÊNqy¹\Øë«õº}Ê^±]X°ë—U»ÕbÁ¦¬]#¼S^íˆì”VûÅòV±\Þ­WXkU{Õ^­Wí•ÚÅn³Tl•»åÊb½Vl— ÖÕNm«ÙîÔ—5;ņõšòra«Õ®ÖŠÍ‚u»ºÛJ¨Q¶IR~u…D)e„âÈC ‚@#Ì0#@B#HBdÆ&¢Zfaé†sé9ø gãXê´9±X¬Q Z:Ï´ÛeÁÅÊ%íNÇg¾Lqg ×± qŒÈîÃô•Ì'^¾”x²FoúÒ™üaÓÍÏ%gñ´B¹f*c: ŦkNÐ¥çš%³qJç1ÅÏÉÀ¹òpZœn$9ÃÆZŽ:œªüpBÉ{*¢ò¥‡3Új¿ç$¨“a_†óƒ8';«¾Çyyì, F×üGvñ,Ùo¸õ(ttÞ‡ó–MòÁŸ€ÿVÀq$660c6f35e-b383-4eaf-a344-b881eba129660f7-8661-4e0e-b963-09f7ead1ml10SVGFilter -/ : -/XMLNode(fxmlnode-nodenam/ArrayeTurbulence;childrenstitchTilesattribute2nodetype(noSvalu; ,numOctav2baseFrequency0.tresult,1feComposoperator2(ininSourceGraphioh100%id)AI_Alfa_dywwxx1/Def ;4fractalNois4Morphologydilainnadius1.bbOffsebd2(-dy152nDisplacementMapyChannelSelecAxRx32ss1Matri4m13GaussianBluanimccumu2(nonadditivrecalcModlineaNstdDevifromrestaralwayfillfreeztotobeg0sd55n4n1cc81c2cccccc8cc1ccccMergNb4BrisaSua1-5Desenfoquo_77n3ilatar_66ernErosion66NrepeatDindefin0.remov0.2EstáticspliR1 1;20 15;200 200; ;1 1 1bcOuarithmetkk13134042121150 5JuegoDePíxeles;20 20;DiffuseLightingl-colyellow;green;blue;indigo;violet;red;oran5DistantLelevazimu8dConsurfaceS51Specularls1ExponerelitPai100122oBlurreddd2x1Sombr688132154x4fePoi000-5xz2z0specty:whi011sDeInglete24x0iay0x454doFloodƒØ¨‚­HfDF’ -R ˆ’„qžb7m@` !‚2† ‚ ‚ †0 ƒB‘21ôjŠFfŽG|ñ&”ISÄĉmzÍ‚ÐOà—ÆhJ½OE\y£&rì¨b¹é#H]ô…ë\èÖ{±T%€ðCRlÂE%·;A—zigæH;`‡”\¤“òѤu[P -b0˜E$2êÞßåD,Jj³ã+T¤þ@*Åò|M%õ&¦†¢¢ïŸT“WÞâÖdMh.£ÕôÆ‹§Šƒ…Uþ[§gVüëbÙië9FœÐsl0V˜ðAhL"Dµ,M¬VYîˆƒÊ -C}ÅÚaœžñ–òÄêIo™Œ(™kT©û~<êͯ·hr#‘¤ -bÈŒHçïa(;ÍF*Z13€ô7‘³_yJîSÕ­V•Øî+¡WÞ`ÀðAR™ÚjF#1¨egP:òˆñÕT&ˆhñÊ—}#¸¬²äýQTÙº -ã‰8^PìSCﮌ9‹äëLá:ó?`F I?ò»G¾°p›XyO@Ìwêš[N•V Ñ¥öBË›°T%ÃÈóyŠß–TňãdtÐÞå»ßà|Ã:æ@rÒÿµÐ¡-†Øên® YÜ=Mx‘YAŠ'» ÀAÇÇ ïõ?vmŠQRÕCö·À5¤mþÏ#+H" êr‘vÉßváu4‰"ÔA9-O#ÓÄ\'i\Ø»Bíp›T4EÀBŽ“ì|:&¾Ý3tZ°9þ&±{Ž ´gˆŽtB§Ña@‰ËŽïnkm®†„¡Å³Šù~Œ õcàpièír€>#ØÚ}&]¬sÍv"õý´(ÄðPäž$Û%ºdÀT£#*5‘-äD„=pÎMßweËe€! ¼«g¦à|2zÀûU%nÝK§í´€E|š°ïšáÇÁ1 yàNœw ½@׿Mz¢âòË=5HÕpšzÆ8é±Ûy€fÖÊæ¹4ÚŠÆÇ`ì1Êϸ\b“¾‚†RÁ±Ò¶ã8À=ŸÙ·[D–Åj[rD²|r„%:¢ÅÙ¦<ÞÅŸÝ„+Î`»œŒmg{ ÚÓÍÅŠk `†~™ªjõ@EÅ6`i¡áì|d!¦Ïè§tÃÙÜÚÉú>SÕ”·ˆÕ@Ó5Æ´X¢±Ï‚ÕjX<ØzbT±ÿ­ŸBf乆†oq3]ÞUJÚ ²œð•âFyû=c+ÏS– WeHéì帞[¤%*{8ué?u—T[‰gw—žÌ¾Î¨˜ˆEÊ\…U‘јuäFñ®ð¹Œ’¹ÕxrDίà0ߥ¬ÐÚÎJ.ˆë’e·>yoQCgOe)'U—*3”ˆò:ôcÈs ÜÃÚBËd¡ŸÃ?{Ù7nëËÀaÝzùW+4…þ6…5/s¶*»~¢É‡3ÙòÄ %k8”ÅóÇ•¹µÙÚÛÙs­)_÷ÄYœÚþ¡Hãéàlƒ "+94/ÇÉ8gòsÍT1Ds9Ê<8îõZ ÛX°®),ê†FTE˜TýFýœ7 d$LÓé ·ÙÙ;2'ŽÛá»Yi“\ÿÄU©CÂ(OxºhªB‰'/CC -¬±8ÂY°ïöÓ` YEåôsÛŽý.YmÙBöx„ôa!§Âî]¹ ìÈå"Ë̤{<ö=I WhRþ­ÇýÑ¡ÇÌ„çz ,âpÊ€<á8e¦T˜ìˆºc«¶6»Ã0G‹¶Ïƒ*7|ó²Ÿç,ÓÌá$¬Æ›F`}*¢ÌÅøDá‚i„:Ñ;¶¸r̶¸ ¡§W’îæZÓuý÷ÒÄHÖÖ‚qˆ…+D#©ló¸».ó»wè¡0ŽeÑ#ù€Ï—ú•üs;ËІ÷Û…+*‚˜ ÁÞð’mä2艄ˆjáÁàwoôûtyéH:±ºù;amK6x¨äGaNÎt=ǘN<²Ýý$úDtpÆ_¶xïr´â§Ñ* o8nµI¬¬7мöƒ?gÖía1Œ»Öû Ô".t O„£E¤ø3™ç™ ”ä•#~o-[Hw¼ž0î­Fú${?²´¶ô‘¯äb¸ÖÙ-€ÔXÈ"ƒ´dÑ%ÊX¼%ñ´”~”ž©ÝÙªoÚ¤˜Å0’»ÊêK‡&0rÓÄÑRX„jæà T¬O„Ïr¨EºP}5dM¥åh+ö3 “Ÿè/oZýE‡É¨MP™¾ì!ÓŒ`‘×`)çô Þ ‰J¸nHO±¦ÒžFk÷®±¨jè1×¼~¶Â¦Z© Åú2‚ 82›]•ÉÄ@ÜA˜l#Ž q$ÍÔ÷ÔZßKBä[ŒŽN ¨‘훇]c}Œ=µÜÅ0åKÅDB ¿ñåü4tï~“gsæoÜ]Úo¤=’€†J1ô¤ÄÍôé~fŒr/f €ë"¨ªtwð ®©×1Ò8ìÆ£“76tÇÈÇ—7À -¢ùÇ´Žã¦Ã³öC—&ãêµÛGí"º¦â蟓ÆLë¬ë=‰£'òñ™%"ÜüIq9jÏ[65¤SʶZöqÙg6¿GÂyf|¦Æ)ÌæLiÏP­—w›}){!ÿ ¾5à@=…25S.R“†ËCŒsSÀàvmšŸÈ[! aÓj—çðØèSÐ|k©Y$}º7VÍŠ<ì‹èüÃÙöÎÏXXÞ¢Š TÒ= *kÐ¥éµ}ÛãÏšË"phéÂCù1¥Ëh„ð«z·'†«Ë—ÍNQ xwh}‰‰wƒ¤dBbõEbN|¾ '~‚GèMü )MÐa›÷ž­é† tóÃ3-+jwšîÁ­ ‰ ±Å¤¢-ÚìÉ”ëÆ8æí–P϶Ó“¦·õÙ®"‚‡s«Œ ‚‚FþœxR¢¶>í$ŒÂ-û¡“Ž^Ö -í4K ¯½­”¤fü"bœ²Î¯y}dÜΘÛŹ%”º¸Eÿ³à }å-îÊÊ.lVjíç³­.¥¨2b÷ ¤e#…ÀÝ”ÌÃv¾fó?:sÁäÍ‘“… ¸ÅΠž– -–¥Ã<”ÇB@T>M´¸1¨ÉÑñlµMuq_¯‰È¡Îb¼ ìýrÞ,Ôa| -ëÁ£$ÃSW&•RÛu¯dK0c$C™†r!àqI?BB¢¥>–º6eAR¶GDKè݇¾F›g€.DÿC°h,¶¡Ösylëð!0y u§†—m³m­”b2 êÛn¢W$}SÊxdqVgJ›ÀÉ+¥`„¬Ôœ ±¥£ÉšÝ€D+Ðc¿óŒ GOdÔ‹óò#äë¯8›×Y'X|w‹rF**ÝY~¢Ö×à¯&EŸ4•îA%‚ŒUw1J}ïX1™`kʱ<Ú‡Êý2GÏRL…Ùh H?×Ü¿éð‹ñ›.5Ftk†ÆI™óÑú™„ù[ó8›ýØH5y³“0p{ª1cà8Ÿ\@šœÜE4ñ”ΰªáä¶ ë}"ã¬mAH g_ÛÒõZÜÌ4O~3Mªt™¤ŠJª@L ˜àB­Å"I*i‚"a˜L0ÆÖß\¶sÈxUôyX>d¼*4Õ»Õ[Û»Õ[×ÁïUÓ4¨†zc! dM•%sÍ+åþ·foyá¦2MEwQßB}4˜æáõ¼ž—3Í“º cºÅX•¥²|gÇØg33ÍÃÞ{^Ès ç/d a§‰zD—UT$¢`<" QUE )2Á` QѤ—ŠºÀ9ª‹eR!EˆL*ÓdB¡x 9LÃÎÉ3çCä8ÖzŸmêr—iž—¾*›Œ™&¢ðüp¢¦‡\¦™ r r r r r r r r r r r ç™&BÕÑýRy_*ËešG#c¾/ÿi:>7Æ”“™Æá‹ŽµÇ^Lóp¯íÅxµkº]m—k y±ìWÍÆ4eûí¿LÑ^Ùö5k3ͳîúkËZúJí÷÷òñ/^è³ôgýüa7céÜìš——û¥/Ó@¶õiê:ëtLó°åv¹dÌ ßKeÎÍ ’Í Û®læÅ¼ÿö»'ãÅžºÐõB_¶©û»˜¦Q@Þõ¦ê˜?SuËXÛÖûN{ßêSm«Ë4ÔeRQ" V“H¤€ ˜†B=*¾˜&2A8Ë6º`TØ>T“ˆJ’P¸¨PŽm(¶d™0"؉òˆ. #Bb™¢JÂe’¦•PaPÊaAÐŒ¨b°«ª»¬¨HTÁÒÀ -d\&è‚Â, å¡@„¢(‡÷&óÛ¥&É$ñŒi(,û¹}¹ÞzŸ%ÏîSyÚ~c?ê,8£c ‚Åk­µþå>M÷­¥[­•×9÷yn«]Ñ\f &•IuQ‘ÀÖ«éÏófšÊ:«;Õef·Ï{¾Ò€4Z{ëÞ6…æ×žª{Ü:·ð³½õéV4Ì4Æ¢B%ãBq© 'ñ-P©(‰‰Çkûþ\EH‘Š‚H.Ôü] Lãxv1Í£ŽeyûõTð9îÛ -‰ra‘°²–l™óg[H[o—m•™¦ÂZ:„õÿs[úbˆƒøû¿çÉvñ.·ÆÕçšc¹•Ô]ì–i*½žYë~ê“Ï>×*ùOn*º{–Ë4f»ªÝÜË_|m¥ï.®»ók~{ÎÉz}¯ýõv5ÞÅÜÙù1ocN×Û\ôç«íX.3Íò=»\T]T(F”"HUU{Ûk»°5Ý–¬¶û*º§Ì7}•¥bóníÍÍ'8kÆÜÝ›1woÞ͘¦¢L™••Y/l¼ÊÌ4•n­Ý»­ª®ªÝ»­«m¡vïökûfÝŒ5Ú7g¹ ¼gô…¾ÞþÞ¿Ð-ô÷Ý }-ôµð{ýflá¯Ê³dacßî.Ü…ìÙÂ_ YãýÛ†ßþ¯æþ¹Û­ì–•µõ¿köÝw½¾Ï›ÛU~¾ ª‘"¨‹Jä`‹ÌÚó×ÙÙ½–lèw5<ŽýålßËnÓ1c·Ý¦ã]ºÉËÙë‹í»zqß?KÞ~Nó1£yÓ±[½Ó±™#ãFfïv›«{¹‹iþ ›2ïN¶8ÛB÷ïÙ‹Ÿ¾M^Ï4•Þ¦qì3néÜ/+'/ttÖš'[fΆ¹ŸÍ“ÿÙe3c“á{¿/î§#û3KÍ÷ÚoÑcwÆ÷pY¿l¬Œå3Me7Yköqö¸lèɸ­µäP r r r r(­œmý?[ï¶ڒqö®ãl›¼«ŸåÛì…º†¼˜†Ò¯·mvÎBI ˆº`$DRe€ ž]_Ykñññ3/|fFä]ïyæ&¨ (E0ºHT‘æØk/×±ßË^Ƕ|øØÂuùšµ·þÆM×»T~:ßåcÆ×^ûÖ©ø–§âw»ÍÞäçÒ=wa6öçÛ­ëÔöùÐÙ:Í~‰©&ô–Œi oýú¯ï[FÖ¬›kèÿŒ¥SPDpÏãp<ó<ÇSyÇó<ó@ä@Îó8 çq@ŽsÓó@NæÖ=Ô¹ú“–Ä‘·$g¾$–Ø‚D,aÚ$Dœ¶;)ò½¢çÜŠøÃWoD—äêH{4à€ðæþµñ1ÿ¦q<Ïókìɾ¾ç·}÷=ëtÚ:ÖÜw¹ßËÿmÎ);w²íß~ÞÚSÖ´µ¿¹_n×~ÛÍ1ö®¹Æêޱ[oÿ­1«»–ŽÝ›ßåîKWqOïz²{‚IÀi‚­#Ë^dþöY•å^3×\>;§o;;vÉí®½}ìÿY& À¾NÙír,üµÐ­…Ÿ{s¦› [øÓ<øðá÷ÞÂ×ÞÂnï-ü_ "ª¨ª$D‘¦hâ_Y{ξ³½õźڳã§î9³æ.—‹L;ëví¹\îíL‘‘¶0ayïáÂO¬ŸÝ‹‘¦È‚EZàXoB&—jYÀV‘d©¤©¢™0¨Ÿ>?Ì"ñïÀáð,,. ,üÄyE„$ªÄIH*L4,4 hà $Líi b‘pÑke©øZ»ºeÚêšò{g­Û·WÆËÐMï‘pÑH@…ŃÉEÔÈ`ÁTŒªðÀ#xpa ׯIÀ y@ò $ ’‰E…~0@‘¸ƒ&$º XKDˆÅ¢Š"ºåñPLH K%9€REI¤F¦è^ ’DñQ$JTEx1‰ò‚ª\ "Q -¼ ª  40aLâq€¡!ùI„f‘§"³}Ï­_SqŸ};o½Î=VÇØ]¸d$ÐO%‚¢ÌEÀ{ ánuyI«È…®xôôZ‚®€à " p4AÑ €p€)ÃRá ©X&°¨§Û¤Â‚€¿P )‹(.D úPQ ,½föµEß9|V2®•H D§zqÐ+‰Cz+räq=fzG¸ÅNÒ@šK#öÖºî›5;JÓáð±g‘µlÁÙ¶toÁ« ‡n're &ÆÂìKÔB®/޳NÝÅiü”%p½|ÞlȹÛ:OöV–â™S ##®²ïòMÕ=5ÿ4í@ˆÈ>cô-1!%™¼¿ ­+Ràìá—È“´±ãÓ7m„oã% ó/Jâ¡…%”ûœÖNÊ·Kò⣩HR#׺%ùPîZ­!”' ÀÈôÿ{Ì(ÆÐ5#„Î øÜÔ§–ò££Á,´Ííiáê÷jÜ¢/’0Ôf±Fœî¦Þópø oX¸ó¿á„© v¨a¤¢¬x, -*rþ5Õ:!˜±íJ,¾¾ÒЙl‡  úÓ÷±ðŸ¡.7… ™œû–˜˜ vt¯ŠZ¢ò7ÛÙS]ê â hŠãMØÊùà`QJlcÃåÉE¼8éi(~ï]ðv9ra͇Fµ¾šÆ ý’ÉÓ²µ4M5NÜ»w[šÈð™t«ÔB”9®qÀÈ—°wŠ -Œémò“ªhÏbŠóoGVpQš‚8cMšJ÷¦Ô7,µû2xÁǪ˜#¤\,§öþÈ{É'?:«Ç²jdŒ¦þE¤GGí™õŸÍß‚`AÁOG¿ªŽ³í×|Äïô€»ïñXÔ»è*+l×YK‚†ø1TõÛžM}œ„ Za\Äkh.2x}‚»ï`mD5øaö¯ÑVQ½Êü›‚²öÄÉÜä•ìíM=æê|?÷¼½¾{/ìu¶Rúb¢ k‰j^‹N¸ú$KDòà™ÿå¼¼êÓÙi2ÜxNCß¿jC4 AΩw~)WŒóÛåd‰Á…©¾‰â½¶€”ç¦ÚC[XqŠ0Q¬Î©IÒ–Ôt¥ƒŠå²Šy]ªÔ mêˆØß4WÙ*tDv©Î oüx«B¦xÉ4bÍT?1»í¨’ð”X¬È)L1ñøõÁWÞo‰ç6S T½¢œ‰4wpk!Ío<)ڟƯâVXÇ‚!_›¸…0œm:*ŽêRžmupÀŠFtŽj -ÙÊ&ìÇV¢c8=ª3¥\d‘‹»\›¢~Ó·CDk‚ÊÍjåÐ!Âñi»y_u˜ÃdŒSI¤lÁG^ЩËp­ä¢a᤬`éÂm8¤{û“`ë¥ÆrE˜,Kên$‰bÀ#v%”Æ!Åïy÷EI#ò¼äI†€Á¨S}!¥Ùž«Ó`Å¡Ñ NÕôBƒ A¶¡³ÓÀ„]}鯤á9ðvSÉ:T®ÁŒèÉ3ë$gÃNîÓº¡‰'%jN£-%š–øÎ?s dµßO¾á£À³bÈ©³J¾ˆ"–-OlµSª¿Qa˜-¢?kß:”JîNȈ -endstream endobj 21 0 obj <>stream -k^b˜If講5–¯J -ÅÁ_ϰ°±êÙ¦õ¹pÈ#ì zz®É¿Œ^X vøpí¯RtCBø+Å)ƒ]¬}G!ú5‘›åÊ©µ°í¿FÂ$²Û`éhŒ…*ºŠàCµXíJ‚f°êÆñŠêVtÃ|â:©3æ¿#ˆ »t(Ñ=C·¥[“-~b’A&éÑÎ9Ë ·‰ã=†•H¥‹Ht"ÁªU&[‚(pH‹`©sÄ7 -œÂ;ÌÏ $'jÉk2T -°*ÚPäÖ<ÖÙ¼qÆ ¢Ëùæ%Ätã™J1Ë[Îàˆ²r‘Œ¬\@K@cö'äj£°ÚPyfåå¨^“^ÆÌi´þOÚ‹ûžÆ%?»t­*3í„w•³Ì¯>b¾6@+×0‹i4¦méFƒL-øœ®š/»°ö0]Ê0`9ñ êæ4ËÌO{šòüf<Ê„V°jÇu1³¯ÚÊGÈb5…¯©² $æ ’%CS Ìk½‡¢v˜?â³®íkmô†óby‰ØyRilJ7—œ’%es¤Uµ˜Cý!$Ôì¤:²¢sdæâ‡8ë—M~éÚj–£.£“͸,ì}'1"ub&3 Äd£Ë˜wW…ê¤äšL84g†à·ÙBÖv†§M,ë»7ä•:¾8¬œlBiÃM9ð3}0¸ •µLõæ¤UE2æVUQÄCíEÞÎW¹š16 U2æ%*²;±¥pÔZSä˜R»äÄ‹3‡YYzC%R‘g§”Ì6Qäè|.pbݳ±äœF£«Ö= oB¨¦!GsØ#–<Õy --~zy¡©f=53ϳ¡aRir z4 ï}ÚdËÔëY°Þ0AEp„!a™D~IPÜêï±”#Îá?SÔ ý,Û:ÕÙ¥²Ò2 ¦KòØÍ_ð¾”úÌ*3üÂï0=ǤzNŸk²à¦ïðc1Æ`ølëÑ™ÇQjÀ<ä¼ øí¼F,l¼œû–´mõ…^C#6á%…Ü;oÈN¡´ü ë"—šNÈ#ãsé:Dðy­w:‘éåvŪt.sAuÎa1ü£>7b¸­üq›«+ óU¬-ÖîÊ] XË8%‚s䊗:ùÃFAsËסÇ&½)ºe¬ Ù=sUãos•iê®Æ~ËB|J†p§CVà`èàÐøŸpÐ(Öpg#àŒáƒÖå•i ~4NðqSu±±èc™>%ŽäϢ姨dhƒr¨C#ˆèùf*W &­<0§æº/à篆Œš n0ÛJd‘œ<킃ÇêóSo޲ââce´æƒa¬ûö:Ëêj÷ã èø]CB*ߥ•Ží½eÒ^O*ªMÓÆãKN§œV3Š%_—¬£j¯^û‰¡WŒN¤¼¶A}ã ¯½£³µœ„YNäÜ]û!¼Â8Îþ­>Å R®%~"9¬øá”öùÒuÉ iÎLëè­¯ é’n„ùU𷚦öÁËYïMîº%€a<±AvL=Êg.`7Nåå2û´ñS@èµ¥üS{#ZûAôâÆ2=ö‘xÆzÜ•`#vsÎÍ— R›Äø±‡Õ¸¬Å•ršÄ¯,¼êŒ¡Æ³f öxYf0ö޵ÀÏB¬îMfÛ¼¼ç0¸å=4;lŠ8„†”vqw+¹è&ºÐÂâo œcÏÍ´³Vç)Ó?ŠÈZõ°3â™ú *„yhèȘ ï#ã}ËBÓ5èf+‘xÑRjˆ"h)³µý˜dÝØ9.ðdu3o‚jš}@£ó†Q{¢ÉÛšy€½8ûï|,z£ûåztiö·Ü2¬–Y×Ô ÄG< œÛ‹|u¹ZÑ o‚T ÁêzÙi6¨éÏpÏ݆9*›iÖŒZ4D®rçƒ -HeW‹¶Ë’PZ‡G–ÑÛºš?1&m€8ô³Î3[õMãði×*>âb&œÊJÁu™X<;Î’ý.0 -é—Ážé6´›ÏdiŒ(°Ä{Ùu[ÄŽ$‚‹¸JǸ²1Ló!¤ìp×h€™ñ’[™E Ø%Þfпƒ,™|×IÚ¿ÇNwÆ#ôg¿­E¹‘TgQ_‚öˆ§ -'CWx.´‹8Ï&g5Y[K‘p[ür:ÙE6ç,¨Il=°&› -BûžÕ‡-÷õiG· k}øË}­÷¤B   €‹‹I µ àè¢R4ÉUoWmŒØy‡Gtb§×gë¿¢×T–GAO"íxÅrÅ›zJ®\ÿ%ë \_Q»µ‰yóìî䆢óY2Õãɤ³RàYBñs¨ÁZj]4XJ¤ xqÆþ" ñËÁè0c›í¶ƒ³¥m÷¤krì­‰éGåÓÚS”>–MJü¿T1Pù #*Õîpº"}r¡tãéq®Ì*k!LÜ2ç}Åa‹Ï›øH€EŠþØûàa¬.*:7y8;'õB6­¼ µd˜¿<: ¤Žð×9kÆV\_番¯H»€%@õC+êatÃm ‚4Wª‚Ÿ–ám¿«iæ ¸`ÔÃbæSb{·úd{©îÀ>—9ÜY–ÄÅ˜í³¢çãÆÂüo•²84j…D¶ÁÊ-KKKê“ÐöZAUh¸lC œ´M ,Ó*áiëæô-jørVÚˆƒ‰$È>de<ÉM“€YVÛü$T~4³ò¢ñJÞLŸÁåZ¨ŸMÒ·ºŸTô]°¬ði¢õV¶-z R8’¿; ©ÒôòÈDTïœKñ,AZã3€¾®ºË È6˜“v†O횟ðÛꦪo¦àL ,p$ßnóW©Ù¹ÊŽJ™ÝRµ]ò=…ÍøY!ºjÖ‰˜HÞÞkÆšÿA6dršø%´6ñú°(ÂÿáJACúK×”ŠžÓÕìiL ¯“Ô"ÃiÒɾ’³ØnŸÒÈsWŒÕX©¥¡â¨W¬‘a)a`úþëž°Ôþ¶‘`hµ1#XQ€ºè_RA£_Ê™›û¸!™}ƒ¶ba‰^·Œ³á¯É†X `€$€;óHbó ‹ï.û¡#ÐÄÁP‘ñ›¹zš2oîˆ>°­58/[´ÊÜãr¼÷ -_ȵ©°³I¦ œ«âç ù½…÷ßì£/’“hK^3Øb\›zŠp:Í<)¤Q!ýÎK3'¬{Rµ¤öÖ@åâÜ3"6óTÆ2­áºóf¼7-0E, -gUMýà8Þ¿ šô\L?Fža ¾o›ìI8š[‚d‚ç7ð¥°ææH`óÆÔûV‚¨ºkáxä·ÿ±Ô0÷440&º/”.]ÈÂî’%;Õ¨ì9Š€P½~W²§·IHÙ?£còqkbð6Ä>f Ɇåfõ~Ô7´MgߺwJû‰es®Ð¥`Ùz`ówá *^ôâD\ÈŠe@œö k)|8M=BwŠý²wuÓé[¶¾—öMkjY…rÔŒ¯}/$iδÎ4~5‘dØ ­cè™"¾O³E‡OMƒ†)è†^Ô6Ã/Ì/½h {ú¿£ɦ؛v¥•[‹±ºij$]e÷Ñ̰óq¸dwGt ®B׸`÷TÛ) -PA¾;”×#~ÐØKáWž&>Ùð_•Ktï)i#œŽ6Œ1ˆKfc¦½÷&BÄÈhO­æ)g‡½Ñ®ÖÐj=l4¯ÇÀ´ÓËñ?£mãBß0ÙCòA ”ch) rÔðiŽÀ -ì³²ÔIÖ %6m¦]ÔÄñ\h’ËÜê[Ó uî@mÕ1’ìKɲxZªc¡íã|†ù‘œø€#ì-÷ÿÕéÆ À Š"È›Õtº.ù_óØicº¢:nqì3dê=WZÔˆlp¶µèËVèÍ“Éõ$–7Ñõqé4M¸âäÔ` -ñk§0“ôf t¶ñÅS8Pó RÖt[3p­ÜüþaÀã›d»™²Qúvˆ÷6¨DY«¾+‚¯-zÕÛ,…NXL‡;8LN¯c~)i]AÌ¢8FÖ¹`B©o:‚(I–6Û{‘lÐ&E\‹Í  %á•ã˜^ª£!Ž·œÛ(£†©w©<±šf÷9öxÑÝ8`@ç%bíe÷òÊá3ÌžuÇ9]]Sœ·GÛ­C LxV‚©µ5$2mMqÈÀ~—MN3†l³z÷°£gÐÆ¬5 <ŠCú<^„b-mUñ^иäafg/Fœ$¯}dЋà lêÃÖ;Ù]å–xèÅ-qXm q&3øoÛK×I`ÕO¸X:„k2gà%#{aŒß«ÄÙ˜¥‰,¶$2-äQÖªo˜Š2»÷Ò•+3þH=7ÊGP;úy%ŠD`m÷Vç™ËˈPj4H)EAãVÇ`ó‚0$´\§Ó2é¢÷kÔ¯ÜYàû÷8[‹ëì] 1PÝŸs†s¸æó …r¸ìNÿƒ¼* F 4- G’sÀÔþo¶šÔH“­†€!X‡¶xIéØ}¤»l𦏄µ–ÙÌlÈò:‰å„ØÉ ¶ W%]€RäœÔŸÛà"Ø—¯Y>28‡þØ2F®%â¯,+Hè{…t’Ó a«°î¡—ŠFœi(äAØk²8áäM?ö {‹©I,¡Oï™ÉŽÙí×aêŒêNt Í7ÌÅçïNlË%0aË -`¯'÷,‹…1¶ôÃ8'oš>P²áÓ޻㻘2Iaq/‹>k¡juAh¡¹=£­f`-‡L´ï³]Òç ¸M}dÜ8H«ËG,Ã<´—&Á•YH³œë˜¦»¢AÐýtWTS‚1>¸ìiÙù7™%B6:6n<ÜŠ*Y·SŒ,‰˜£¯Ä–‚ Ìû¢@€iǹ-@€õ¼w›"æ7à’IEuŽ„–b”úŒa·¨;º•±bÓ&h\ÿ(H1>½ò ç+< ºï1´\7ÝÑŸhŽ.O ¼4Æ -¤iÏbq´»ŽJ?þÛË;:…K$…j!ü;.ƒÆÕê‰mJ=Ç«‚}qF–„,ï;PýâÙ× @‚PÉÅ̓‹.û©XÀoù-€ÒŒ(Chú½ºµýœ8=h|Åf††»0ðþý’Èí#®@³Õ‹ð¥*ØM —’‡£Í…Á¢0æh¡ -Xª-3+âÔ"ËÙÃU€(pUd°Hlh€âƒ î M2—Ø/ÈÄï–dhRý~$ ´óOуü[m1ƒ”Çg­7îoÆ? #D -ÐI0“w áŒÖ{™ `}„:sþ³è~¡Ûå^ŽyìBÆx¸N)2ýµìo)‘ãZ¶>1­øx­÷#@8È.CH ðÂ@p&Í`öÒR!PEŶþ>|ÈÆ(‹\KŸëÞM‚ñÚ¡N¦¢nAA.Tææ_±ÛŸõÓûˆ` ÿŒ %|L˜ÂPÁÞnõQ½÷3‘ªf  ’Bw|Ýáà1ý}ÛGq‘ö‡ä•ð[ö8ª#v¡[@³²%¶©¥ày0I¡\“O½4©C•fèI›Ù­Žún/÷ÁªM]D—ý}ÑÑ¡~“…Àˆ*®ìØj:€€9šÎ* IòÁ=`Ç;2Qý'%wpP8?7n³ž©{,¦,<”ía–NdöNg %<<¼±¢”ÖÈtdÝ´ðÿ)'F8¡W•¯CƒJÀë×êC; iQ±ÄàV"…›6)eAå.æ$fF‰ -ºÃÌ6"˜`÷c`ºšßòÝøÙÓÞ@DøÕ%‹žUîù.3&r:РÌÝüI|¤9_£ˆ. ÒjÉÉ*û%š\(B8]^Œalͯ¡§–æô¡Í#ˆ&eùž<…ƒõ§?é2—•ÂÈêMö±ëIÈáÄØ”úÖ¢ÆÎƒûN‡:©»BÌÍ%Þ‚k’B549œ¿- ÆÚ†˜Û-&NSZ.æƒ µ¡K˜™íø®±EåunI«r‹û!èEÐk²»EïŸþ¿ñê~tÉê8nYü©¼9ÈÝE'†übÊÑ¥Ï?LåᑃA)+gR­4D]`FtƒÄE$ß`J¹o„Xb{?ÃWà‹sñÆ€–8¼èP¿ø“uÚ\oa6ÇMWHªàõi+Å@c!zpk͹ãEÄ'Ë|J÷QLäÁrH‚ÏÁMf?~ø +ßÐÌ13vSg(mÓÆ³æFZÞÇR‹h¯!…¶ñ äîhÒ#øFÓÇ _ð6@;ØnTìã‰uÇ‹Ij '¿"X„mŒ(•Ž:à ¢êC}a†H;+Äó¡aƒ‚{#Úý?Y4/z"@áhýGÆÏ;¡5²Ýð¶gOüŠx‘çoKexÎäБqìDqSŠ6:?3sìHN§ ‹âð¿g{Xüq™mVˆÖæ<Ûs¬váÝ4u a|c¡á }ýPx;$r[Vâ ñ‰âàTƒŽ$§¶Jûª®¬Ùk¯óȱøü£ÇϺUHªŠï®Ôtý(t¦Kɸ•›— »t£êÿ¨ž°‹dÇý.Š.2xžú™ʶÛ5ð•’306Öžr).f½ngeJ]!ôZØÁ?Ú¦’É¥ÀO§†#}„¨~2ÈSÎ%ÏTèæD ¦(ümxêÓ+ß&Š?%çWæ˧‚©Ü- h à&°Ï)°àbE -e>ô²=‘/¤»àžÿ¿éÎþî=ÔŽ £|Cê#+u¥`$•w˜×ä×'£ÒÊ%r6†ãÞÌ%5½ÄoßWÙêëÍBZe¡Y‘º3ÚØ·ÚÝñ÷X¥QG†~$<õ'%vIoÝ]¤™÷=}‚`¡H_b@©¼CEqÌo<‰a*Š;u°û57áŠ**œ³-\¦37’Ñî—ŒG= $W顯 ‘¬ãnšùz„çû›¹ú6¼2.pXãä²tŸf¿éVÑ‚” ¢;ÎZ9³ƒŠšä ΪÃYè„@¡¼2@È1Çíâb:ÅuHjáäGÿ.ŒV\rÇ«mË]äÊßnÓö$„kJh­BÒPÁÊ]§€´ùHlÓnO1ôÐdüFœN’Giiâ ºVÄýÐ;kûá ”>¶Y(\@°Š4\‰Ä#îˆ{ Ì ÎÔB¨“eõZð„éëæjUõ çñÛ­_V‹GÉê|‡æÈ{b}åu*¥Õ*X_ÇHu¢ OÌY°1ò*<¹ôÎ" ôCƒU£Ë÷¢1ÙÐw¢Së‚×ËWïfF†hàG -•¿ÌìV>ÒÙrI†är”¢]j`&¢ñØÍ óÜùúîÄÓ(ª,³Þ`s‰>ÈËfÀ8Và;ÔPq…øË…›µøþb¼;‘[ÎNžÆmÁ® Ò{¡•QM«©¤Ùp/ ¨÷µ]ý’æ:(WÖJN9É•YòO±HWÿŒWÖž4š= -:NVú>½û(!‹É{4*D?/ ®)©)>ða[#ÕrqtŸ&´ÜÓ5rÏ’~`¸KœQ¨5J"WV;ú‡öˆå#A› ¾5(ô«$™ÿ§Ä’õspC©ŒÂDzÓÙ±îÆZ‚ÈÚ¡h`R3b98zéSE0W¶-|G÷<¢A6#¦ë¯å€j•³ž7'ò¹“Œå#†ôþ9bI„`Í™vz"_*¿œ¯fÄ‚þsŠxL¹/d~‰0 `bW^:¾’a®ˆ°‚"ë…zH#!UÿiJ‰e‹t™ÓxbÓ«Q£]©&ÎqÕ`ax­ÉJa ÏY•tws6qÉs`¤Ã.¦ýaÕà¨ŰÍÙ,Ù9± ‰5oÊÀðXHºÇwAï\Ôæ0do¨IÃnÑj3À•Ü¢R½âÆñrÖyž3 -£ë¦,L§€F¯,‚˜Ú•9LîîOصÆqÇÃ;}U¼²Kµ°&Ý«u 4^׋8?fKª¢™ÖM¡H·*I, yeŠò*eFÆÅœÕ¹©YpŒ˜Ïlðá[œ~¥¡VWÂJì=)ñù£º;Tû’Nåô0(*¯#\1ÚGðDÆóÔXs6³Þ*V<ÏìFÓ“'âp‹Ãâ°8 4ÙØÙù]ºwçuÀ ÕCÞï4ù!>|)‘^w»{@iÊÝòû5+‡Ü˜å{é÷ ùeiU~»Áj6Vº$ iQPhDp±©’“§ÀÇ @J‹Æ#é=ï -¢sbIŽ®$O˜ÃŽçÙ¯È7rw˜C¶Q‰ ¥‘=EÌhÆåˆbJ[‚É|b [„PIÊ´ï‚ÖkHU¤©G«Ù»+ ¢==ÔVß½ìZhyÊ„0BC@±ÂÍT‚ƒ®gHÖ¿Ë•ºcŒÝü˜ó!¸+¯g i .©÷Q°”Y ýSfú€6˽ñ¯¸MnuÏÑ.å@åæ¼9Ú™6› ¼dA¢¼HŽ¥`ð`Nçëªë¾áªÄºlH¥øü$:5‹\§"<à†¶m­Œª¸Ý„÷|Èã(¾ùͧè™FàZái$íýìZ¿é2/»`$”œq~$OoË4ƒ’îV[cæ šåªÃ²LÓ\Ñ<¢pd Á t £æa£ˆDËâÍh¯y+là{{t1i@< \mI­g)«YX.Vÿšá!&ÔšSý,Æ$Ô¬¤ã5 -œŽT ‹«CÁà”z±ªn˜ÇÕÛnÛ%oŒ™Z¬$+Ì¥DZ,X\ih@R· oÒÒ aF:=¹AýUçÒÞ6»fž»#˜µ9†bØÎu¿ù:a ¸¡dšô V±Pö—¤Ì(*K%±õÊX6ʑٶ(×T&I*º ¶cÖüŽï*MbÆ\ÔYƒ•¼=ËîAdTÞ *RŸŸ˜R«˜© Ztá=ø”—o¶¥ŽË†d9‰ÆžE±àÌÕW˜žðMšyà aû÷i„r*:#kéMú+d–OÌF >z”Ì£€‹ØÆ‰•±ÆVÜíœóˆ;ñctÑKt†C åªÒZ.3SŠCf^°Å^Õ½p -Ç¡ù‚Ðë“V¯1n lqA¿…¬Ø–G| q¾Š‡ƒÂY×";\B -G„S¨ –iEqœóÄý–áX8õZD[JXnØFå4´Çé8£Ô“ÊÎ+ãW6St„U_£ÎUÝ”/ƒ}H1¿¢)¨G]ë÷^…\©hi±)f+»âXÃ!'5N '„MypM…0»ÿˆ’t³I(³»ªmïïñwc’v‘e‡Ók8B‚ ǯÍ ;±±Šßp¥ -ÁÄθLº!GÉOJÝ–"þ¥©Š¸3Ë -OеI z5ªðG$³¾—-nJ¤M8iêÃ{—ŠR4xR­¬)™g±.S¼¬±ãОV8èp8âŒ6“'.áÚL9¥¡L‹™¨û(kmc%P­áR7¬˜Ý<^Ò²¿ R½ ë¯ÉmîM~Ý»óæ¤ÙI¾uß¾ÜÚôy“›K.ž¹Ë¯õ¸I­K¾I“,ËÜç]“ÚôžÌ{ÇRNÝ]ß’‹·{ß’’bK.^Î|›&¹Ér—ÚÌÙ“>ëÒ÷¿×úrz=ïœy™sÙϺÔfiæMò¿&5IòŸ7ß&i’&Éý÷~—f6³Îº4µiöí5ï›9óíwç:o>~­7ßzkII±wÖ$)¹x$)9=’ü^É=לô¦éI’ì%ù}Iê2÷ì·I–Y{nþ1{ÉÅÓ^RRH.Þß’ÓûÚ÷_úŸõ/wùûö%÷ÿ—?ÿÞ˲ô_g]v“%/×F)¬¾§l”½l»¤³`§{EšSç1û]ö2ó2sRsósóû²ï’ôÙüÞïþ;Iæ’kݵæì’ÓûfÎ¥æyo¿³7¿'}î¼üæßyk®G­µöÜìûû^þ^r“ôe'óçåÖ&Ùóÿ?oÍÿÎßä¿ÜÛÜ\›ŸÌŸÌæöþóOjÓs9IöÍw©%§÷ÿäç¥&óÖ¹ì™o³ÿÜõþ½Ì¾s“Üfþ¾$}ÿº$É^æ1›Z—¦'óΤç½üäïY÷¼¿äâiRrz¼Ü|ôžo]š~ï^öÿÿֺܺk]îyß:—¥ïdÉ}ç¾”\<Ó”œž×\wsÌg³ä¥&·óöå/}ïZK.^çZrzÜk^rRë=f¯ÜÛëLú¾uÖ½ôügOnÎËî9/M“üäïžüe©õϽÔe.KÞ¹Ö“ûsÝóÞzsNn¾5'Ë®õ&Éò›[—ùgM’Üs3ï¬?/s&½i’¹çÒ“Û“æÞ]—¾—dYšÙ”\¼,9½Òkÿ¿Î%7¹ù7ùõ˜»öŸïQçï·Ù7ïšì^ûNþ²ü»{²Ü=w?jÉÅó]rz;ë1çß{&¹ßÛüù{2g-¹xy›ykí¿©·Ö$Ϧÿ$'³÷¼ëß»äô~×cÞÛgß}™sû÷d÷¦ÙóÖœ4ËRK.×{K.ž&µ¤¤ ½–\<ó’ä]û>æ½I’“ú÷žÇ¼÷'¿ÖssçÌóÖ?›fùÇìeÒ$?'½—\¼žsiæÞɼ3'7©ËÏK­Ë’äûoóûÞ¿ï¤/ùæcö¾&wÎäÖ%i’fiþîq?nÓôÞûýI¯;Yšœm–æþÛsÙþÜ›¼÷Ÿ½çü”\<]úojÉéå®õ3Iö’ä¼ôü÷íû&5÷Ÿ÷ŸËl–#'óïÞoŸ3ç{ä|KNoë1{¦6yþÛsnn_Žºÿ=©Í¬ÉŸGÓK.Þ'µÏ\rñÈ®%§GfSrzºë½MÒë=ïÿIíÉÏ%¯Ü’Ó#ùö|g^šÙ›ä÷{kŸõ÷]rñL.9=njIIë’›º“f6ËŸ{ÿ»äå×\ï²ïÌ3ÿ>“Ü,;'5³i ™åþ¥©½É»þ¹¯»ƒrç]îNŽžs=YnÎMU1Ÿ{=šß§³7Mi½ÿÏd÷dÿ/š³(T¥wÉ7É{þÝ›ùr–¼öÖ– -ÙˆP T±‘—Æqº¢£«y™KØJgÞÛŽ ´F÷zzoïDoH½·±èêÂiÉï­÷/÷çc¶äÔ5ôv{>fGÌÞl1:òr7MnfmæÍ¹ÖÜïï{ç~go—ÝoOj2o­¹÷c6}{J¨1º¦%çÝɬ¿ßcþå.óþ?ÿ¾ËÜ·ÙKòë’ë­y/µç¥éù˜¹Ù³×ÝwÍÇìy¯wæåÏ™þ÷ø˜ËMæÎó&Kíqmæï½Þå/ó/÷È·ÉI?fOÙó]{Ro2ï­sÎ:“[k³ÿŸ3ùw/Éq“œïí3ç=gŸIþ=Yòü9ïÚìüwóûòkßs÷_óLêÒçîM_îü{ù{ç{÷íýÍÓžÇÓ»$I]æßsî}›ÌZ›½Ôû›:{R—|Ý [€¤¨3ÓIWY&€ƒ4Æˆàø Ón #ËÔÚ(FÀzb5òv²KÛ ¥ ”ºÓyàA 8•¦i¥ÎpJçÀ€‘WÕ”¹×F£½åÆ]Ø”ª‹3~`·ët•Ýïe·R©t«ÔTÓ}gé|Ò¤¼ºqÇ‹rœ,:©ñ*·Ò¬D•Å@wêC$°ü­¡Î‚và•‰`øÔX€ -àÛ>¹ Æš`Ô" -—+BŠ$ÆVª'TÔ‘pÀˆÁ±CŒaàÓ¢«EÄNRBÒ@œ,NB|RÿD„„‚¢VzAD@²#ÜbDf¸¢£³‘“ÑÜp{ݯÞf¡·ºBU ®ÂÊHšÂ…ä -m$ÛšhùN¡h‰È¢:d%vbP!ÂPì"_8ž±{ØÁ0ÜÁö Ñz¥¬Ã  ¸Q:x1tpX8çÐÌás?“ƒîÅ29Ôç·O$l§K<Ô0ÄF‡šl˜k …Ûgß 9S-5¼è5€®Ù2$†•Á!¹ Ä$8a“MƒÈ31ÜJ-0Àh®4ˆá åŠk盂˜º0Ø(a8¼&ÐðQ‰ …N9rÁ–kȺJw'B9;_Ÿé‚«…FмO©²¤µöÐLŠ8,¸vZ°\ÐT²a@Ýê­€hb²XHT$Jйy0$r!ÍÁÊ ,„`¦`D¥²)@„á‚C×îÐÎrv#þt2ÝwŽ¢öÓ­ ¹“¸/F[ÛšÌhßÁUÍ>S)ûþûX+Éõ‘(ë ›äUði­êo»Ô‡ReÔ×CÓ§Zb¤¯ó£o!R¾Wˆ‚>ËÎñù ®¨ó±ÜóUt£Íwxšïe0À|äò‰š­|5IŠò‰<“ÉG $_H(Ä2Yäs}(ÈÇéóã¡Jù½/M~.Cã„ÿ>jÇ¿Clà_JÂú#rù“¨µÇ·pÄÆï¦a9¾”+Õø. IüÆÈ‡ñµ&Íâ3X)ŠïÌÄ -^$A|Ÿ ¿˜¸ß@¦aø -ø!¾ïûBÇ÷}emWÄÕAðrÙ*6†ïû¾–â;¿aBŸN5°øÀc~ß÷ÅÊ÷a^Í÷u‚Ì÷Ý83ðËɆϡ†ïà` -]2œå eÀÑQZb LEt¼ÚrÒ¶æ"Ú¾ÉÒ‚&‹‡~ßÁAËĉº#{-œ?H2úõÂ×Êz …DgÖÉLÇE¼éNšaõ±ì9¦qàN$„Ò9²‹´Ïw€T.Z†¤Àifœ°rdH(ijšŠa+ “âaÉ7žˆßǃ{Èvþ6 HÊ(ºŠ…4"„#Q1)ÙçQg#°ÙÕÚœE‡CÌBBAtpppQWºJcÁ]`Ÿu9ª¡‘à&Ñ¥«ŠP88膇悠ÌJ–RÁêrêq€ÅKЉt!KÄ÷½Dß÷E  Šû¾ÏõI|ßë9|ßAH(¼ÄïûD áûø{(À1h¨Å÷„„‚8ÉÙǧÙ+Çé×TÏÿ•÷à"J:˃Cf‡x'³mŸÁ"†„wñÝ'r´ŒäÓ´"He3.šMëN–‘ãqá -ˆ–]F`æSLcsÁ?´h˜MÎÿSÅ›o̶/Þü¾Uè&0¥{SÌF£ß÷ÁŽÒ˜ñïã«Í÷}ß@ãû>>€ Ïø}ŸËø¾¯agH(œ$‹ïûh·Qi¿ïß÷¹œTZdYÁ©"¢DJ~‰x:2˜&‘ø¾o¡k¥*þû¾Ï†8ÓÊå,ÁïûHá÷}k­EZNß÷}ïáû>Ý!½•ý}ßw Ò€| - Gñ}`‚ñ}Øâû\Ð‰ØØv+QyÀ -mT3®ˆ •§#¾Lð~ß@„ƒ !šé"yCt19¢G†O&«ïuñŒÌæû¾pÖÊÒŒ/;ŒÉòð Þåñ¶6‹êuµx¬êµ¬gê”UA­ÜN¥!ÅŒE½KêQÂx®ºb,0Úºï*‹íUP€„m:ÀRXJ`0¾«lMgmn溦7MGo®1¬IRsrtÝ5†gc¬½ÙÒšS]4«±1ÖÞd#첩ún²¥½®«®´qöÊÆÙ+[ßÞéØÛ®í›ÄjkoñH£µ0îEs.º¾©5­¡nl¤ÑÚ”UWZ: @Nî[ÜÆ)<Â.›¢jÌ¢ïèxk£; –î€×Í¥9_×Õ¯ë¶o̶²v–QŒ¯Ëó½és¬L¯³1fi«a7…YeÛ˜me2½Ž°û¦3Ô°£+m„ÝÑÐÊdìŽ6ÂïìuÇœlÁê9oÈvýoí‰LË3¹¥tŠ6Þ,Ñ£ÛÁcÌÒÒ˜UÇÜøºînæ¶£; g¯,V{ÛqöÊØÆtEÇ×ucíM]e£;à•¸\Í͹ñ]e£;­¥ì»yueð8{e(k‹Qè›ÁÄ›ÌHᩨ‹bj¬«3 Wij̦³Î*c;{Ób¶ƒ{[į%×¾¶Åì4×¾6Y˶!£±ö•Yt³´lò]–®k+{ÛM(4 €6ô=µº¶#ÝÒØNZCGê‡mÕ ïYKKêŒm1¬ÃiÆU_œfv›ƒÕœ·¦3oEY•æµðÎ[S/•µl+óZÖc pÔSa¯õØš -§¶Óà)¬Î¼t†ÊÔÕE=”Ýylêµë‹ÊÐX…SYÊz*ì5ØtM½ÕYê¡Þë¡0›ª®§Â©—ÊÔUQ޸Ɍ<¯Íµ2O€j“½¨Çî¼½è®æ­¨çzpûêÁíê±-ìÁm kµ™^jO¸ ½i&ØcÖ'Ü‹†rê{ÒyUQ6Ñ7eÓtUO@ßÓïU=¥0JÕð‹^\}OHÕT,%ˆat3{ыƦ×&3Úºcym2#­;Ã*ÈñÙÃ+ŽU½–Ævb­Ç‹Yõ±èsU¼®¨Nk¨Û¦ð› -HßW±¶²1ÖÞSÇâm­M#ÍIä™FUW‹§Æ¬ÅëX¼¯;–Rººj¼îB©ÔÔ±(¼îX8hm¦Ëd¨k‚ófQ×ìXtš«¥ð«ÆªÚPºª6eM4}-nûb`T‹b:–’Ñú—žç=ËÈYG;Í$Q:z9C2ÙîŽtÏ´í³œÊPS±µ¹ÿ迹ãu‡ÒÒ Üñ|¹ËW²l=+ËÎYæQ‡©Ëî0Sé id–Ñ|L±÷þ¦Ãã™›Z…ÛR{ZÓ’¹IîðÆî³noh }c8 •,#mjÐàú×9÷_æ€ïsÞÛç­¾1½€kY»j5§¦ sm ïdøE¼`¡Ø 0»æ 1šIW7‡ÂŠWy…¯ŽSSºÆPõE 1:Cã4gP¼B·=Níx^,·³‚,2 …<_)ÐãJ*TÈA ,à~Rù4è1Éfª±‰”bQ`0r> ¸x™²Ã sSúቈ©4ðÞ*]„CBÁl1B9ãÚÌp¤á£ PpIÄ,oZúmÊah ÊK£Y’>@á” -ÇŠÒ0ÄoH(¬HEš°ä3kœÅ„X\hø!¡°iµ6Y´s¥YÛ€ÙÜäÕª‹*FH(Øü²FDPî ›,0¤Rj3À­O $X?pJ0ŠK6äG+'ÖÖzCBáå¾rÞ'£Kµ1Ë ½ð•â …h²c½pD³04ì4)اÍ9óéåшPøNÓm“]+Éâe†_ù\6ÙöKÐê¢ ÝµIµ- ²]³J  -› G¨‘€ v–½¡†_Å'p~Ô–ðc \£«ñ.ò$±B­—•Y!fy=o]ÙÏ2o¸#¾s"îJàÜzm¿$a5b–¸ÖµSñ¦„¦þÈFë=Á‘÷…Aâ#‡„ÂÁñÑöK1.A|ü™(#&kEåQãþ„J¤e"l~BKéxÀÖ£¢«–Gqá·Çœ„„‚…eaèËóùR£Ã”²%ZÄù`ûáaœŒ)ÖIü«¬syXä-Z`>ï -,܉ˆrÅtæ+evn/¢Ø@ÌrH(ä<~"Âñ£¢ê”ÓCù˧ÀÂyœL"%Ã'˜i!…`ü¨„X­Wã`>Ç×ñ‘âqò®ƒi=_3ª³ ¬sàq¾Håæ?Z …KÍEËoDÓˆ Á[Y¬u|X‘ód•iTR2pp§IË\â…GHBè;$>2mñùKQDæ'"¡HOZw,a$Ã(hwÍ3žy…„ÂD&-\À'Éx½©ÖXyÓ‘/ˆvt~+u!¡àùÄÖ…½L#× ÊÛ˜Äl-çxÚx$­$?d,K'4lÂT$XÏf»r9“@%7É©À\ªw«µ$iVÔ½Á8Ò’Iáf+ÂÄI:5÷–Y¦[G6ú·PH€XÕ‚"©‘««ï‹[m©Ücd‹°$nûZW{!L¢Z‡o^ã޶Sˆh2‡ÓJÌš^ -$£ÔgOO©ÜìÍ2ÒìVküÚù´2 ›d!¡ŠJY)Æxc£Ô,J‘iÔÙ¡¦Q¥%HU((+Ö9 ²ØÀÃiÛuú&ÚT²©—…_(©ºhŸÈeøhw‘ë©mL$T+ˆ´BB1¶¾ÖıXjˆa}2É‚5‰¹f®ÿ0`š6-4¹‚Ò8P@6HME¿‚r´V1T+³"0q% ájªˆB©n-ÎWi&´— Ë­f! …nº,n-šØB)-qù.rzQ¤Š©ù\P†”ŒŠÑâÚI¤€ŒN”SyYàwr"—)Vzœ&"}˜<¨\‰ò(S%òÆ)¥fæ¼ Qw†daë q`Ñ9]¥ÃŸ’ä;áXÛ péÀÆ´="øFجr UcùX(Í‚Q^4êñИB07c±´2ã(òdà™™íT‡LêŒÑ0ž86a& mÁpÆÀˆ QöºÃyq]Þì~.¹ɼÜp‰‹ MÜ,4‚¥¶ši,ªÊ-¸–본¸Ü¬ò… -S%ÁIKåqŠu_J¦±A)#+¢´Þ ‡q8(Wu'!¡@† -^“ã30iÅ2’Éû9î=®äsH½$2: YÌ fEqH`4À‚U¢™m$ Þ0oPd‚ŒÆ‘„‡`µ2§œÈd"›Ó#íú9DBB!#9©×–® 'ô@>pV*Ò(]³uHa¦€MC2ÝâbŽ>é6wEd0o•ZD&e¿`>¥Ëᔢ£´Äf0Éh߉ۓ©ú¸N2$6³…IþÎbˆ•©û«bý—©tú¦Çeó90]~Ê…Áø$£¡ó¹æù…èò!sz$0}ÌÀ‰>p¸Ã‡UÚãCÕAqåéR@ÒELüè!¡E`/k ¯Ì÷\ÈGÁ<†ÃýsÖ”Yð„¤Û¤)ísd¨öÊ…ùìUÓN¶˜ìmQuáN8¬n1:¦7Ù¢t(£m[˜$ú±Ð:$@ŠN¨qŽ›='Å2A¦–ʆQìÉÔS2΀âYÀ¢Pä˜k¤{øÄöpyPCDg‡yxì|ÄJ%ÇC€{ÀÇÊzÖ‘ƒú ãA” ©Ï -¤k«Œk ñÇÁEsAmç°•Fœ#DÀ‚98˧-mý8t‡Å!â$t8p'tàb¹††Ãd >j­X&j¨XÓ0hÎf7.†—¢ -d ŒÅ± ÝÄQñU…Ä5Ói–c '"¾Úr‹­Úb!¼Ú˜aÐRq ºÆ®´]1ÐAb¤Îaà:‡ÂÐeZŸa0@Œ Q— ¾\u‹P œ&êâóµ°Æ£ZÌpãhgtçb„]”Å"#óXÈÒKb~.±âç˪¹ž™B†²X -„‰=)&1¤PE6E\Þ$ -È7¿BeÒFÅ'™$!¡@©àâÄ«Ê%ÄÕ§%B¶+á*T‚eÂ%f&Q'ÑÛO*•ê}eDåбt,‹ÀQ¾@Tc@MËªÆæbc†¥É$hÜ]Ü]«s’R58qpºÀÁiæŒô–æ1Æ f9±x¡éâ…šT&•I5æFçèœ|þG‚|B…ó‹P@Pž A(× ¢(ü“ã…{ryà|çÑOÎóÑÏ9ð¦ˆ$Ï·Á­Ý¹-lpkÛ:8£ À -Ü^âtOb§¶95˜kövmØn¦ºl«ƒß  áXíLf·ˆQ&ˆ‘ÄÂÐŒê4'‰¾’hâ"f H»·1’$öaoPMN}ʧ,0Î8_°Ì@ $ðÙäÝ€‹¾P ›dbûÑ¢6Æ: Táä(‘Ã1ò&kˆj±2À@&œr´JàP(QÊ 8IìÙ†¥"%óEX+ “'5d< Fã2' Çc)Heµ=lÃzNU`Æl±mÆ©ãJzœÞŽàmH€–;.êÔbní biôŽü1bhŽ­0+•ÇÎÿ¾0ïë}éXçv€Új¨¹ŽuNT%Õëdp,•J±XHдՙ@¡L†ÆÁiÆÁi~àà6… …ECd¼Ð4'^húqÅOˆ¢ðûY Eá$åóq;öä<\gvíÉ):äàÉyçž#–°:ˆ–;·—ê²95ñUÚðDÅàtª‹VÔ‡V(1%žˆŠÝ$ž(>7á|ƒ22,ΖF»ÕDãÒˆ–FŽ•Æ¥aLXaD, Ípd Æ …ŒA†âÉd ïn3É)l^¤Ò¸t†Ïæv®Ü¬³à”fzr´*Ÿáóo‚J€ÆOÀF*҄ᇄB‡7 ÜZ¹v®t0üln l÷.rÝ$$L—r¶ê!¡ {y4Â4@Ó· ¬ºáoÇÛ½†øÈPÀ„lp¿¡F`J™ÆçeâW¹Ùßéfk|+Ó£1=ŽÏÅ-ŽOãJ5¾‰u|5xëÕ©ÀüéPHÍXãÎÀ”×±j¥lRczYøÊæ `á’ÈO‰Dü0´uÇcÄÀ±•j¥Z©8Ó#f5ªÞ—Ê+ ]Ù -ÈÎ%I¨J!e©DPÓ²»rW§»rW)¸biD,u ZN©¨IÔ¦N&Y³±`ppšQ*Æâ$²¦“5¦sRjt“Iµ«À8óBÓüBÓìx¡iÎÎIúHã#A(»Ê×™îÉytæï<šâùhîÉyÀ¦¸æÃMñ nƒ[»s³Á­@(â–‚Ò¹šÎƒ[›O8ð$cÕeSâSc"êÓæÔÚPžÄ/y²¦s"ž!{0qûœæÄC‰'û„KÜ97t³S¨Ö|çDܸ•ÛXi\Ž K£ÝÆ -t¬4.Mc51,f«Q¥KÐ`b„U, í 9ÄhR)ˆYÎyü$Ľvï'©A4Û 8jhð}qMãx_Ô7°>Ã7xjð É'ºêïK=pa‰ÓÚä\Û€«U_—APaØüjˆ¥ -©l}œ’¯Þóôß Â®•á‹þe“® k+b -›wÛCÎQ©øp­dBâTì_LJÁMÄ/$F³WãÛ- ßiöj|&Wªñ”2OG>Œïå(7?ÓÍÖøÈCIñ‰³×ÂS5•È`BWÁB´ 2lÊEu‡Sš«í5;$<š\f¿6 ÇΕˆW—ýG mÄÐ216ÕecVŽ•ê²µÊ‘’$öW@Z®Ä’Ćâ5M‡@T爂èÑFDAMÓ±t¬sB Ò@Tü#A(w!AQ>îG£(üã2B…Ç#Eôx¾óhJ›:'¢Ggø:¥(<¡!ŽøhŠ'BüRB¹'7Æ¥sӱΉرÁ­½¹]:Î((Û"!Æ­ -Û¢cˆ ·¶MÌrçvšG¨™À“¸@Ù/Õesjy|q@ŸÈsj‹FA9 NuÙ›ˆN-$.°KuÙºI<)P@h*]‚–CB!•ÞÎê…¦ùœ†Î`âH³à²1‰úøL\CÓà$¨>g§H%Iì·ÄézH(D#†–7¨¨¸4&ºÓLøç²kí JR4B’ÄNì^77ºsuŽg ¢Tœæ÷uN–F—Ÿ“» œf ‘Q·Ä8J ÐGSDMŠ¥‰+Äv:VQ -ncÕŽ9²5-ïè®Îˆ …Ö%»Wˆ¡”¾Ñ®¡i44N¦$¶!“Úa&µ=. C_J(éÀÛP#ÔL&")$žpK£3§9ÁeH*4DÀ8y„:ÍIb431‰ú½§„rrÅ„h£‰H*™ú#³"Ì5hhTCWàö"†„Âi¦p'¯1Ë—ºî6ûƒ6ÜK F-zH(€X=ùéáìá4ШHe:³¥ DÎs:µ›¼s^uÖîë †_ÊEÄQÃvïÁÔàzF@6Uç”!ðk@ f¦ãahH…†Oºœ6ù1Û€°T­zû „ ›‰dŽ‘$±Áw!•°´0ô"&Q† ÄGƒOà}w*É#'Ø2ô0X]”SÂ1Á îšüD? #/˜MŽ•Q@SY‘”Ó“ˆ•PSÞ7û+*³ÌVelŠ¥B =š‚ ?Eá¶T @´<™Q^;$L°÷Ô%v|X1·ÿÚ<²»À|~ aƒÄ,cŒH:p¸“,Œv - Ž1˜t9>¢€¸MæxÈâ°?‹)ÛƒHc!‹Á`udб²P5éÛúi"†®É—#]v -ÇqGñí@ºB˜’a}XHðâÄLŠ5yb(¨i·ˆ*¢L]‚£8NɉÉ@QH(~„&Š6…A²Ķ~Â…Ú`%Æ.YΈ hc¿á—8ø¥Ëoødz 1"â3|DÆÂÐ!¡° aœlKå4iÅñÖ…@qü¡i>ÁÒä”# B¹@nþeګ焪ÈÕ£y~¹Pd˜Z>³A=ðÛT8&Ö!g]”fBiÓ›ò™õ´õÐD™õÄ,D]Í™°.ÒöšC¿¶x ÓU¹Pòõ“FS^jÊ!g:ßg~jVïtä]¨g]¢¢ï~ Ì”eÆD§º•¾¬ø9°oµ<•e¤3ˆâ¯þç,A´MÌ¢ R"X)ÆzTT:<9vñéN±¥X»`GsV£sævŸð5ߊ¸Faá;ê…\×Ϲ,£ö§JjG¸¨ù@†îáìÂשt&7„_:Ð íU‡übCzôÃÜS} ‘€¨òòZ‚l%4ÀØQÒCñ…. ÆníÕb{æjŸ½`pJã!Ä>zÄÔˆˆ$Å ‘-™Phi¬ œpÎQ¶ËOØXØIL·IIù²æßÆ 9äS#9¼ d áˆ=»Sühz€lðp†\LŸ¤Ó‹Ïùóܦé\ÓG}û Y…U`²ê–¼@ 9oFTcTÁÇEF= H<¯±EZê2Bý“ûG1VÄQçÛÚØ¼¶Šb` E8ÚÔ)É›ìòʱ¢¾vï3šmá/úS T.ˆ‡Q/‰5X‘–-Qì»`ÀUß’$dN9T­ÀéyáöÙ”kVºj–üªÊ®{í׸‰íØiGM¾}.X¸_yOá-lÖC¬åwrN>ºò$J q“\r.KDeÔ#TÈ¡eÝô,Òu+:›é_iâ!†3‡X'—…)ã¤yhAKîSïYÞ&G‚Ž8N±ã3T9¬œñQå&–]§ˆJZqŽ€cŸësÞ+3Á%â\ ôT³·’çðGDuë˜ý·¨¯@ÈÄJ]Ù%Ä„¼ÉGÉøÕt -É•ª qF ˆë!v¹k·ó%'ÄA±XÛUÓA(&Ä7›á¢–1zˆsØ ŸÛ@1 q¼C\ó ¦aþ…ÿÀ "yÀø!NÓLé¨Ü€#Hý^¤*ñ!v}8„C.Ár‡xÈ]Û ¼@B¼L¢9 šñ²#ÄÉú™âà|¤åºq±J˜Ø?àŽEV1°Ó ìšO~ª† #×C*û±ŽåÞŒÒy°•áˆAˆ?·&¾ÙàdõÚæ˜ÀÆõ¦†h3évˆá"ô½£žƒ@o61ò÷Åñ’¾Àoo*MŸ:ÝĤ¾€#—…·°´ ë4$áÄæ‘cJ(eJE‡;MÑ‚JÅ6F©­>΄P |ç•f÷YÒéÀ0q°™·‰Î&T¾.Ѧ•ŸP ƤR6¦?}Æ$¤¼Ù¶Å|;ø$œJÞ9£7æ!&]–k;f–•ëZÑså¬D|­õ¢© }%V…RW$‡h_~›dкëmÒÇl[Š#\„½+ý®è¯cž1Ú¯–ÒÉ3}m8`£[Ž'ò -Ê2¸ôk…žÙ]|FŒ²R£%È’·ø=@ÂÚR]ú0¬žµ®-6´gò—n~ø)ίyÍâ“7 ‰ù*¬Lî3Eÿ±ÚîµS,)º¤oz>šË}&\™¯ÂZ‚/ŠU»æR¢¡â]?Øpj'hŒÞ[ªç”ìäŽ d?Ë¡•l"5\"ÿS¢J\Òi¦æ  æþEaR5F{´<ðQ¥^ÔPp¼÷®‚p"³\²<(™œÍ€¤.@ôp*Ç–ý¤Žœì¡µ+U<Ïn^? q‡üQ„Pâç®UQœ´ ‰:gm¼Hš'kADÁ9 Ü#UYdLÕ#ŒÄòAJŒÐ«Á,Èe\Óx‹ÌY)“ŠÏ`ŠÙsÏ‚¬Uƒ==‡X:…‚á\"g°°V•ü‡=´¯8á$R¿Ñ~¥¨â÷Ô,öÀE5XM[ c£ýDžiÏ -à'l{P…­3F%Üa* i»"?™ç›5•£×¯>E, o÷ÖH&=w©²,ò‰Q$ÎY*—­ì~RG<3¤’7 ˜kõ럂™/{ZOÇ¡X® -!Ô  )'ÊŒSÜx„9a{ýˆ­ 7…™ÔdÓF¼.öŒÓDsmî8àíïšJñcKã@ïÆˆ¤¥ÅÒHÞÑÀ±°Cþ‰u?Ù+SÌum>  ¹'m81žÉªLB {ê¾A§ˆh -'?öÃ&‘¦œ0],ʘùʽ¾Apå³–xn ž]ìà¥Íý>®¬­‰“º}XÀGIŒûûr -ÎÌWr Þ/ŒƒÌ›qùTG²XM8’£Mž½8¡õ¼˜xî¸-3Ž6ä¿!æ}^6|ºÄ×…e­ aô[i–Ë/‰È(Q•kÀahÜ ¡LÉ·5@S”¥8Xpƒà‹%¯ËïQ,xvV8|2Éw%`üß`)Ñ‹@ÕçzÂÏ*ù)â7X†Ã3 »Ézzž¬š0g'¹ílð<Æ.Šº;Þll0*¢À4gopñ‡]…zÛï‰ß`z­’+“×vÚaæ|";ñK ´õô7XB³–$¶ØËßLìÞ`ð6ÖüWP^a4Þ\þ&Ç–îLŸÙàµÎåÔAsbƒ=™K˜ÚÇʯ["¥”*a †cA²äW7ChíÅåãoÕmnr•åQ@wtPŽ~÷š™‘cš¬;­Y&/[¼9³¿¢a±'µ‡œ­¨(I7 -ÀϤ;RœÞ¬:Ìe.pÆLŸ³·Ö¨)°Âú\(Ý'èY`;x%*´®7Õ¶û/•@i«íYê@¤ÆJb™•ºý§Òû&NÛYy­Ûpˆ“¨„\½Ç —Þ÷!`úµÜâ ]Ãß@Zða¢Iœ»Ôèò¥Õ³ÖMƒÙ ›3ü,{5íà5¦±–2cXîU&‹§fMòG¼šýàD€¯8ŠÀÓŒ`¦€ ™€ã@ãÃ;Ó©+•È, p§ï"C×ÎÓ¶9³\Q<”W³|P‰Â› -`(°‚(8HM4ùâ{õN$ AìâèÄæK”+±i<…ÌqÔìžu²…Èq²ã0 À IP’H%ƒƒ8!DÈþ”.W|6Å/5Ê‘0Îm°œäoUCpÚÔ`ò)-Šv€¼¹uC¡VÝxrÀX†¨oÚÊáöÈÈ\ Š%BUNôªAe i3­Œʸ|ú$R¼5˜ù‹ni “;bFä¿ñ»Y #WÆî¨Û ‹o§“×1¨A§TÛm'ßùFf¯l¨zÈÉ?!ÀCWÞ:<†-jîñ9ãM­èqðœä2•ä·ä_ñu’ÜeíøxòŒù²eð7ôâ‚ß-²âÎ` ¨âÐÚåÏiHØ‘~òšKÜÚÁœC ¬â2J³tù­Àõ_j*úüÎ^V†]°)8Ÿ%#!U¤j û¸>CW莜|˜åô«´mU §_´K­Ó˜\ ëç-¦rj¤çž9ä¶á\.'dp^X·‡{ž’(^“B E ”d ÖÙ1`U11Á§3 ŠË°9«ÏæÄ}dÞè²2Oâí«¦ÑgN~‘œRxcÆ“æ''æøG"§vLyòŽÓVq|*6ÿcÂbÔï=ÉVùRñg&œÖÈÀ€?Ãb_@z¿Nˬèß@AihHdòê¸ çPUØ<º'¤tÙ×Ö„jÆö^sý¶ô{‡ï•ý*þ€oÆîw!£Q7“ªò…˸@ÓDÄu_¤ºÅ8(óay²Ãlè5xà J¥žM'"Ö„ ¨ “¸„QÝ‘b;ß.ÀS”í!ÒwXéûä8µ)Ý—–Kßû¶hgÞ=Lhc9Ò6­H^WbÅ!ÝÕ;xѺ¥Ò³—A>^D[ŽÓ‹˜©Ó3åµ!‘nCc\-æ¯Lj¼’&®÷ÁS)‚¶/2Ü“u¥[À -I±s²/¹£7í({ŸJ[¡Ædš®#;øØïÆÉ,Ð [$CÇÉÑÚox‡;5ùJ÷—™ê¤x*»ËY<{2¢NÁ½öýNE·±ÅAµѴ̦É×^A¯ÍNG"“Ío%‡¦ ø¨aœDžšÝ[w% Ǩš¹Í ÉgèKhyíÚ“èUÈÅ)‚v|»'PUA®Ã™A¾P—ØÅ3ûóäèSâç3 °M5¬9”¼ææù±ß_Ví¤ÙZ£Z}Š-D±¡×ëñ\u§¦Ûx§"–<Æ3#T‚_Œü¶ˆÈXÐKó˜…´Êš¸ßVßf‹¤ˆ²[;;sôeíXŠYx^x»[eùçe:<ýi¢<Ì# -,˜É/ªhQb±²UÅ3"/×·*Óüfo+“f?‡’”"ØYr!¿€ÛÉ­Òë8¾hi+qÊ&µ*_+#?;ÄG&ì6wy2FZ®q AÄ|ô*p­MûøOðXÕ«õ¶ÍxµÜåyÇ,”7ïs¥¬ôàeú·`ݹȅI7Ÿ˜Gk ®Tññ˼¥ñ:JëyÊîúUýùò±¦ù¿ðY°‚®6ªˆ]'vñtÄŠ×Ú ¹ðOø^;âöY|°Ç¼ºq\m¤¾#ÀÜuƒ}Ã=–Þ— `.çs™3Á˜;›%Šïà— -ú°±AäÑ{“)×}5pÌ}C¢¦|¯‰ol›\GAñ6 G¹¼QP=h鲆¥ÒZ´£ÈǸ­œ´=;C\ïÖ’x¡8§W•ÌæÏ-šŽ^ÓÌÕ™ˆÊ“0y2ÌàæÇI¯Ü>?˜ =ù‚½fF´îòÇ öø-`Äå§HÊMð{¯ÛGXÇZá{&[¼öÂq=Š [*ÏVñ8ÏIÇvÁŸbŸÔòc&U)jõÖd¨_åÁ«ªa ÕGƒ—‡h<-Ló  ±å½ñ3ÅÏ3Qúh*°) -ÔÛ{83œªž…5ý¸ü|ù‹Ç±ŒóHê§SèeL$AMO ŽM}”lÉ¢ðl‹àðHn¨zvø' -à—èb5½éjÙÇÜv ÚEeä4Äúƒ,yh«%'€*§Ä—0ùu¿aÝ k…¶*ÚßHÕ×£¡Í-ÕÈ”b1´|×Û(¦ ÇÀ(%{QiŽˆ„ Sž#7²Ôå{Šep c“p*ƒxdÎûÂvTzÔh3Ž&_„•x`|HÂ,%rxß -`ù|*óû^ÅCFQ‚œ?Ãc(ñÅR¸3Ì݉F—ëâà3 Çû(mûý-Ë…3c©ÂtîÇ3B”7€-¿êbÜM–Œ—œä® ÷çäa¢š¯.ÿÕœèq†²Nä;kɤÿïËBfâ`X“³§(#žÅsÎ×4¶$-0S¢+™MW?5ë±£‚u¦ÕL 8Þú­9ÇépojNz'Òø4¢—¾ßN´³»3œ-‰a»rj0P9œ=?DoðIu›5cØD9ò`¬%Á£Õ~³ i¤˜¾ŸDùEuªgÊTWĈ&o¾@9‰lÉÀû‡›œþÏç–ÿ_œeÆ]—²np1éD ªåà|s®™ã˜Rèê“8UháœWš­ bM oοÓ?ÌbZ$wi¥¡’Fj]uvRp؆ÀvhÁ²úºqjBú÷°½‰B>Áð`þ”;X¨ æ&dߨ U¿Zÿq {{€Y)uÁ;Y„Ð{ÞˆLÃ{žg†ñaCÇ&¬m™H±ý4 -bœ´7ò¢ÖÚXF=¯$Ó¯O5 ŽÇÚIŽØ‹=†t'¤)BÏ ¦ì\:Uj³èñåÔ GÜÈ2y«ŠjSG±y"ñЯéÌô¿ñ’ËÏ>šµ%šm…7ßûÒ3¹]Û½&X²ö¦~¦º"®s{k\í‡5g|“žY9˜²…kxA‚lƇ޺M½–Ìe…¾õêN²Ö6&(”¸:ÄëlÕœ×)kÖ¬ Ã')M ôAgZBøÐ¥FÒ¡NvŸ -ãã«ÔÃs\´»qâD+w…¶æ\5ôzŸRnÚäTÛqqÓ`Ôuc׬p›xmžKç{’,Øt$Õr®²u 8êä_$@JBQ#e8á÷²TMüKÇD*ºçñU3I­¥)@$Šæ±ÃÔsŸç=œ¸ÚÉj@àÉÎlÍ÷¸#_éØ ã‹p¼ŽæE¯ÉT4^ŒOµæ3Ú:;`ÖU¦pƒ!çûl2áe8cê'«£Oq>{å”ÉÏRƒóE¦„`LT„¥°k¤©m‘m”:€¾fp¹1 ¢~ì=qxÏ9X¨u·º“ã0²‚²ðÿcðP>-¹6Ç®Hh/³-ÑèŠAÅkrøÅvb4¤¢-¬´ß³·†‘,L£Çô’§UAµÕÊI›(ø«•˜zÆÈKž|G ‹$M FŸ4¡±nfþêM£ÈCÜgÎiÄ»pè8©€öæÜz[Ô@¸CN„HpÝáD€ˆBPtÚŠLûžû?[|@”'º`Öflr j¹¨ù"²M‡ó~òw%¼ævR|Aù]*ÄJçmø¸Ìh…­Cqe|ìzÕu®ræ¹’-lÿpÙ¥pëôž*)´4p€ÿã«<nɘN|8¢-б#Q¨Œá¯‡l’È-Ä•¢Ð‡Ü lïri79‘‡H!ñ¾,q_"é?ó‹üD=‹~–&ź‡@†³ù±ÅÃ1ý7„œõt¹‡Å褪ÏÌÑ#U°ÝŒ+VŠ–ý -ˆƒñït«Íúae›ùÀ¦TQJà&)òÒ]#ÝV VyOÆ…œW‘ãÈr<‡’ƒœ7Ÿ ‚çÌ!´8GšÆo°›V’i‚3cVÃáêÌ© S 30:F0éŠ g`ZüÓªÉ;8‚#=•SƒK (ß§ºÀiHOÚnÛA|6•sQO厓2¯#ÝYŠÿµÙ]Ì;Â4y"Ñ'[­6o4’Á¹ñ“$”ºúاgŒf3uù å@>öo;QcN…7çOý3èqßãYåÊt;™1ë~Ì[Åí_NŒ%jËHkÕD–yŽÈ–møû̦>”n<Ï m-:z0nYH!bò’Î|¥£ R·ÜÁ[ò/œûì!09ÞråÇ`õ~À•yp’5a¥w½â »üèÙ¥Ó)äTÔkÜÈ¿uèŸ÷eFOxœ ö%R+ÁíóÂÞrCMn‡ -7ÿÃ=¹zÀ¼ÜR0d£Ö.|bã¯ÛçÛVM?)ú&˜k؆›¯üïýÜ÷ªžÌ5‘V2Èg¢Á?!Þþ'ª"É$¶í|Áêä\í+-ÒæäÍõ³ûmç¨=¼éb·;[,ô%3Q:CíGg±ޤú ôYXéwä^*´ï9Ý¢ŽoNOíiã -­íj‚¨Ü~÷=Q,?¦P3pã΂h›ÎìS#Ø-vÇý§NÿÁ`‘±“b·uùå#Þ§  :'NfŒN¨DîÃmÐ æ W> ¿?þÃÙüÞâ¸[Â× ÉÎïñ{ßTö{ox QUyQ?§¿°±%éÌ>9|7Ó!Û!'ßVSONT>nÔU6ü} õ=2@ª°`ì}ñë´N‹.¹A@Ú»ÿNñ¼‰g5!ªÛöE^3R³geÆ\SLК"uÂïd:Kθ=¡”†7J©¥áŸôÀN(ÐE.®YÁoQdDÇ x -2DP؇ʷFÎÁׇÄë°›„ï"þdÏ4ø5fìÈ1»ëøþœõcÓÖ„Îé«§qP¾.p³¤¾˜¥î §ÈÿáFvé€n|Ð23NhÕ¯¶_Ö~)«ùY@A*˜mfjähƒÔ;"+ÿùþ+ô„ô$ý«(ƒ ".kÞ×Á¥¬«õÌ hʽ£† C"Ö?«÷I5•¦œ®wPõ„Ì-ؘē±—™ÀöÊ×+ÜË L¥®DÌ5ÿŠÏ2Y;S8¶·ÛÂŽ±¼ÇJŠî”’>líèEFª J.?ŽRª IyËjä,`¢'#k"OÄÔøUÓ œÿDà8êi`"Á@h“©šý”9RÔʉ—t#ˆö ”¬ð…³EÛœý„Fü§½µN塤P§(V~èâortnûÛsz½%5¼f³@z˜× Ü?9ê~tÞftù¦áa[Ö˜›YÎG=¶zÚ;[tD2¢ÒËÛyvI-1ý ‡ÀÒ”Y*òÌ[  ®è¤,÷MuÜV9™hÎ&©â^‚ì ^dŽ,Þj¶"¶*¡àHP`É¢‘°ÝK¤ÎÃrDÿÛÛiuebuˆé/ÍðñФOµvJX ¨‚¼=ê…ÁzºJE“!iKRX‘ JŒ–îz’1' 5v~zY)\˪€:§}Qw'—¦nä@ˆ²”硜õtµÔ;ØÔè’¤2©bd%àµyKž^ÊèÅàÿOà`¸5k"Ã&uú†e5Í~î33x¦Í­e­ÆÒtÞ $…*|€B,õ£ÏÇ”åÚ€ Š8® $FZ:iî’ -œØ KQøŸ†Û÷DVOjþ& (¦+U„K¶‰.Ãf´Ù’ëé„Ãü 3êº.läª5å=Æýz¢6Vúbˆ¤qc¾bÆCœÀ}Z(½›6ºMž/ÒŸ(ß½/0”ÞYãPPBîÈz -šÔ®ïÓ‘$+‡Ð~pìx}_XÜÛ %1ó÷ƒC,)ÿf‚ÁÜ)¦¯óZ]‚n±ƒ®wlu†%†¨ëÈÐ K‹cyûv·Ovò%Ø÷†uûJm5\<ÝuH˜ Bäy›E&_Œ™ç…J;ÖÐÕÜ̈ÇJЄí>|¥©8M3ã -b‹Ä c(y¡H–Wý‹4ÐtFûgmºÏõry¹QÏãþ —•á -1"sýû QLp¹ AË/˜$Ž%[ƒ>¸¸šC)Ó•À««‚8´#™1€2WÙõõ«Höa¼|d8&FâÄ„I¯6½¾×0Ãr·ëœ{¸ºPÜÜ$Ý+Ê Àó™HÕ›‚?»ÃFbÇÉÒ¦ pÈ\:áæ -íR¨>:WS¤ý’Oy’ Z_c p¾!¹}¼÷q=©á[Òˆ³ÌÌk»ÿn´‘:¾­N]O·çÖß¶L]Y<ŽÇ3’IQ޶=V(€œ%e­w=O$‹™ä·%èæNá»ãˆÜçå‡Þb±…«ði Í7ƒÀŸ–—SÊg&~å•P×B™‡GmE„?8sG|Soõ»z|ŸŽrV&Üô{?…¹„0ž•ý.”ýÀߪSŒ›žå}k¢X邘gèzcBª!le; ¾a·I¦A -š¡Ï)Á)ûTíL’»Ý`• -¬˜'NµdÜ£"yƒÛÍÊL*·Šù¨ÛA&Ÿ¤ÜHJ„èê:´˜Pu¸DUF—è‚Øöâ¶ó’B£y°0.Ø š ~všþêf^—ÄC82l j&›cçuÍû30¼Ú}ádˆï©I|#,¸‰ˆq‹|¶T¦¶|q~ÖOÂLÅa0y«î8ó)?²®5Z.ºGè¡/òÐüñr`…û„k7³_#UÀ27±deÚÕ}2JR›û*Ÿ“7!Wqi?›[°A ïéW ÆAL ¨ýbÇØÚ‹+¾gJHQšÐ›²bfAƒÚåsjßþLlÝü„h_‹÷X.‰ÆºÊHÏèò -I{p/F7‹þ¹~P>¶M6v¨Ñíî5¿NçK3C^´¢vâKo\Ý/Œ›óßÍŲR'!ÍB•U+%£“Hˆ˜ =’CÕ,7Gh×G‹[°Üîq=Š–'WÜä×-jÂFv‹Þ.{¿©ÞnÀ`}~^˜~Ëöˆß,rÌçÒ 'm3uåá)úÊ”CÏcA‚*†=!}I¤‚€ ÐB¼Ækyþ÷¼ •׌]hí JW‹™/Y¨h_Öÿc‚I†”3mÖv¡‡ÎÕÉvÈ "§ü`Â+ßrKƒ‹¶>ú·‘HIS“ŒÓàœ,»´gÐ`äÜ4e¤a§·ÎDA"’d²ÅTÌÏ,…P›¼=/ÿPÖ¦š‘u.$Aö°%Eué]1 !ÝWĬÕRDÓÂPÚz‹Iibnnl¢O gd]fŠ’)÷<±öOn~(‚ÊéÚ¼aܸÜÍ…zº~Ùwnv††Ùܪ>Žq”7 *!<½”"DG|gâG"Œ'œ¬ Ý´ô3˜ã6™ŸV7„à~íB¡)üMàÁ_^z æÎséB‹±ä¤ €âm‘Ê.ò\ t!¾9Ø…»–Úåfí¨F¼4+œˆ£ý³Ú5À`:3‰ÜÌéR×|/À w}&Š)¢¥qÇ>Zue&”‘ƒW¤$ò„ñHp`ñi\ý޽.:Â×Ä&kw֯Ƞ.’üGˆP‡%-2nb”µ<ö3øfeG!„$vPêòC‚k«ä÷ã# å‘ÍLìª ×|f¡èÀ¶.H¸ïv©¥m52š°Þüõü\<‹Fr0>ö~7«U¹é6)ç8 ð›ÊYÙ/‚5—æZb;})µMíþ+¦¤ö6”@YW< [Ö 4î7Ô÷&‘c¢·¬È"™ôi…qÔÛ¹‡Å!øªM -ÞdñchÃJrýo¶Íôå¶nûˆ……£ðsÃJS{;Œ{}À›ôæÔF>'Gì„"EqØÖ%§F¥l ¸úxì€M’4ïšø‰ƒmÜÌ¢û QŸPL ”¯º™‹B.Ù;.FZÿ#èy2‡wœñê³î±ìµ²7ƒ_s««–œ÷ºßYy0¥IÌ@qˆj‡ è´I f2ª‡¦kxU±åÛÞCU«U{‚‡îØþú>r‰ä¨„¡ b[s`?"¤ÜR€ÆŽ¯Õ×´Wæ;ÎwQæÝÓD !X 9C„iC9;J3"2eOšLøvó„2}ª€ICÐjÒñþ¶Ù½»›^ú#|ùÛP¨˜0…^M·b3þ«2Ä%ÊG“ê/ÁCs€c¬ß¾äºÖ;€•Æž#í¤„cÿŠÊŸÀ÷„ÎÕ_»¹4÷¹âA^·ô«-Q7ýRƒ"4µ5ú ¦°|õ‰P¿*½¬{ÕYnQß:ÌÌFÀç¿ÃÌnÔ^¬f~ÝúTîÍ?Ÿ™öÿ2Ð=š2&3¾Ê‘uPº†ý…Õrì¯U¥¨š ÷íæ`å«Í/àèà qYi%Þ%ÿ“¡îM -ñ7^Û! —°ço–®zHEýñ¡Ww\‰¤^ì1ðŨc"³ãN9(Ž'F®Î_T -|ÿ`“_–¼nná}p¹±®<Óù\¹î 戂RHFÚ¥o¾’àX†·ø ÙG!­±'wTæh -Sf[9øD{W§Ò­Ç^øß±Ü‚÷‹HòFùòóZí¥O%(¨ÑÍš{^·f a.h/ŽzàÚ+ø[‡‰fD’ÏëÐyK=¥…¬ºÿ$[ê¬ÇúùÕÑút´HÁïõhw.Æ`É ›ݶ†éó.øØÏ#ä8¤U%ÏðF_§¯c•æüÃúOÓ¿5ïW´ÓŸõ´–•ÙM…ÛÑ©‡*â×YÎÉ œTØ7x B±jŠ'ºì²/x"˜9p´Ä’ĽƒAEÔ‰›]°˜ãljg ~ý·¿ -òÓM %\:§<('Š:«¥ø£77ŒÈ>…Å}‚wWQ÷£Z&Äñ ^‹”ý‚,Øúÿ.cU1Œ§–áÅú,ÐPAf&k=4]Ò‹×mèðü³-µÍûÕR¼T5ßH÷[¯Xo¤ÀËv …Ρ2/‚wÞŸCö²ò”žn{œ Úÿc)•{µ˜í ô†Æêéçöí3xkË£o2[ñÊX¼•èχÔþâ!ûžZŒ‡¤ö!©ú‚%hG(·hßz~æ×AÉ—l‚‡ ]Aϛӧ ­‹Óîë8<Äp-‹è®Îv ,£…Jsn›Ñ9²Úš< ®Í st®f׿|þÒ:G>².‘ø¶”KÒ‘ñü¤ê!c±$¢+8y%Zý:誀Ñs™€H,Þ×^Ú©^ª¸F¼’°ŠFёޭ΀ˆï>I8ò'} €w4ºI×þDSyÆÛ¦ -p‚)¸—»<ð Þ @/ÄÑCÿ@ƒ»åâ; ša0÷Ö¶!9öý'w›ù=‰Ü~XGÀã¯rj»ŽƒódgDÌ…„àÀ:Ht¥™•N×7H”´mÒaY¢p,_‹1ö]¢åjãŒ8š¯ÂÉ‚Ú=^/o}õ÷ê•UNoó"Ð -ΜikIKpÂÛ8NÔâZìpAM%Í'€ÃceÙ²î$ÄÆy,åZÖ²•ðÊϧ0Nƒé~§ ö!÷ž¶•ä´MO+Ú,îk_F[XÌÇžƒi7È*láR±­X5{ODœµîÈ[ÅP§MMG;þÅOt'êÕè§Z=~ª(}~ª‡6H-Ì‘ª¾‰S¥µú©´/2—lJè§#|T~ X {ÃËŒ ¸Øº_‰7½1áNµ %ö0ºÇèä¤Å z•}hrK°¢ír*–ŸÓÊ‚;ÿ%Û1úq‡Ø$èé·ÁW7Ÿ<õzž-piviÖi0o¯Ë<å¶ÉßV½êRõÔÊgµ¢ôl>&‹–{pesçnÕó¼‘ñùö‹'í¶ýâgõêòØbë\ûkû".¤Cë–©B€Ø˜~<â?-LëÙü -¹qnqó'-BÁ38•¢¦„¤x°mŒv)t<± =ÙlOA¯$‚v˜[Ê Áo`>e‘îþ¬òé'$!ÌåÐiÜÑÔÆÂfCÒ [»`rNTPªftÂì=ýÍaAí/ÄisT?ŠŠ2ŒîcìÜ©ÚÀ©Ÿ¸Ï ÉDZ_}$¸P{û 5´b·X~›‡l¹š$­[¢„x:ÝoMX©û´T¢d§ÇûÇ·jý²Èf…ÒsÞ÷5î?Ö=6[n ÜØ+Î{e¹W&œ÷ê¶y[‚í+fœ!Ô%îlâYêemôž$P¯˜8èe '½˜¡Žz ÑOVqC-mk½= Oïg«Zõj„ý0 z{ªWÙÍ^“„Ûœ“`ßhu“݈H ÞO8èå”ïÜ-Â^õÈüL‹^±eÚËŽõrúQ~·¥ð¯lõؼ› YRIVlvÃ;6túÖÍ[)$yÜÀ€,1¦hÊÉ‚´ÓŒí»K+{s…löÄÊ;‘kõèÛ§‹ÄIm ¡û|·[ŽI„;Ø'¥ú¤p§Ï®0H(iJ8ݑ´Ëß×3‘&:K½}£´ä_3á΃ ¥TêU¢4ÞÑÂ:S !æ©Ñ7¸üÞ¥y6¾}B%*Õ4&:]ÅôOu©öëŒUŠÉÖŸ.d¥(• «cðªÍŒ§hÏS-Ï“åÅt)nD>E‘×}ŠU¶Ÿ’”“$39B1ûؘN4žb)ob–”èó¹Áúpëj¯«ÕíUjO,v'}Š æËQñ²9‘8€`}CuIÐg%äU‰(79°€ƒ)Rªœ »*1‰”ËNëUd8E?8ÝE:€¢ ýR' Ý‹m°*Ø œ‹è#©×E-”§b0V`Ý¥2Cgž’ÇRv%ƒÃN¥Ÿb"kÀ*µŒÌ)n”6q<Ùu›»Ë²eYœ @¨ Q«\Pš Â3VEM -œÈ¡«ÀËô@hˆPÖ& ï`Õ:8РéHds€—Àê–d£ÆêA=•ÝÔT÷v[§X–ô)–’’>Ч¨®ŠÕ°Ü”©wC5íqUîgJ•ò@Ÿb I+÷,h¯^ã®^]©Ú¯ Ô¸Œj£:M@H|ìêÛj Ï„È -HR>ZÀ‚Ú- ^³qG}Š˜VÀ©â…Tí›J.Oêz]…¹ÓUè3AèS$×z‘€¦Z;ú5¾õ`ª­Œ.Y\òòp¤,Ÿ%ãe«Ô6˜ NÁ›³ZBùúÐØ)ãg2)ãÒÇŠjV6;¾ÆÔP]F™VjQt·¹% 6£{Žæ²ð¡XÞ$Ã!¦úÅÜ"ÖHõ)†°  fkɰ–—иDÐr"}Š'Âøœs-Ý·¨T—j¿²f§„Ÿ¨ÀdU¼ -žcU« È…_…vŠŸhQÉ”¢’%¿Øíëßí?¯$> £$~¦™lü6—;~)’“_í‚ -;¼º' ×zÛN´ùÔ¥S`L®înW±B¢Uœ@8¾¢ôÐX°`Ðy¬qf°¢fº,.âÉò›MZN°t!Ó&GÑ3$S°Z$ÊUOW± ŽØE‘kSjÈ5ƒ¯cÚ$º\"$+ †ü5ØbS`£•€ƒ‚„ÃL‘tA?Pn²hÈ6è¥TáíÎÖÃ!½6ädpªhµB±%bjÜŸ`°`Àm(­'X 0š‘n·>Å,aAƒ úÙ8½oÕÓ…Ê(@Ë£è9ºj`ÁÀèÔŽ@€4™bSð'5žøŒ@Eø!”P"I¬wROúš‘ ÞÕéx \-ƒ«z:‘í{:Ûi§«NGÀà¬ìb„W–‡A*¥RÖƒh¡,X04BcÉ2DäíAR"[ãY‘Év!+še lÇœ+ƒÕ<!–°±ªNfcÉN€±›Ùíb+š‹u,¶°Xì63I ‡Øs§€ˆ€”Ÿ,M¡á/>…x?ëc ðG¼*™NžxÊX‚UþX†ÊâH¶§– -~‚;"„K2f±Ùø¸Îy#Á‚Á„yª½•+rÈ0gÈS5V¤ZRbdI‰Ydq)%Ã0ý k{¤SjeêUn¤ŒÉjc¶€6­wð;‘Ðr!Þ€å¢`^”|,ÿt( †Z&×ñ¬n ¦ZOÊXÖ2‚|áÕ,2ªëØ4®„¢gUÔù¬–̱ÎMdq¤wöG¦q#žMës¤ƒâ4¢ø’ ‹‹ùJ×7:'I¤q'dårÂízÕ:Å1]qèNºÚ»Ãa¾Îx§¸Hõ)j4>®‡yôòÙòDÃߘª˜­|œñ1·ÕAŽEšUrõ9EÎŒO0Åšh"À1Ÿà—&7Añ9ÅÑ‹;oB -óèfƒy’×ÇO%7Y5]ÐKQêjÇkž"_‰´Qµ$ħ€‘däsÅËN"2}NQo°Boj$Hµ¸_”zÜðîëc–C¾öŽÇSéKMîÆà`uKŒâ•A˜Ñå38‡Æò¦ëi% -jh:Pàó¬Óx.,Õ£7VhüKÅ8À‚¡gQÍ¡˜ÍånZ’ÈèPl±µ²dw¹qjÉ›9$7ŽeüІÊkÒ}ôæšF“;R0Õ>V+žlhâ[<«d“etÁe§È> ”¸> âËT=Õõ› „NH“ëE¤Õ5øó ìØ”}Šd™Â<~ ¬núÌj=/Ûp`p!=YžA‚Ô0•êkP.IrQQé /&µáÔ± I2Z’D@¯±f{©¿Æyê†=X@MR °7ªáUþq¢NÌbàÆ×q&4IÎâÔ[M€ÙDÄe¦’F“K  Ww¼ÑN1ìèSô <²™›`h£ÛG78þ¢ <9š„qhÜØ7Š!è ¸WÛ8$¹Õª¢l’hvN¢/;s,ó}Š Èõ”—Ù¸!Ó(€,nóØ8Œ€UjUñÊ¥Ÿ8CGÈ „<^;ù^•ËIrãT…ãU¹“ ýò·º!g‡@)ˆž*ÀŠò ƒ˜Dy¤ü;6ä¥KüV6òPâÊaÄo…kâ×xlT#'?åD~©*t2 -*K›)úá\J•Îù ’ ½$þÂ(ùyläwÚ6ðuâwÙŒßh‘Á¡ˆÏépõ p¡®”«¦(Ê¥CàBQ2X@%Aµ!î†Æ¼’ø"8ñƒå€3~ié?ÉIQÙøIrMüB¼’øP‹J~"\nü8—;Þ¼‰Yψ3~\nüF/ÕøåÐÄè GŒ‘êSÄ%ÆZ£¦¨}µvæh§xm´S¼4ZNFK4\§x.D€ëo¯•kñl­­•ÒÉZ9X«D€pS¸V«@&Z|§Ý ()D,>]ÊF:G<i'#•R:X®E}*R6:ñd%]ëF²‰¾Úèă‘n'R`àÒÈM0ŸÃ:S`NR b÷™  "H?äõñ«# ï †Š \ m4G¤æUOwWßħ•¾A«”Ϫ¢Í3«9®àtŒ³j ³Ê A3º|(\•ÄĤθ2¼% i.1aþì¼OÃ]äN§,‰‰M\¡ l=˜*I¤ßÉœÂ|‚¿¬¶S#­µC]FÀ*¥œ¡wXXtŒ³ªàfu,)1‹ú$‹»¸‘°0›;y*ÍÈdŽ¥HDã )í¿£'~‹J~ŒR§±0eØåèPŒÈUö5ê#éM:««¥7!©õy.˜grŒ_A\§®öާg -L€9EÒ§`G4"‰ÁŒUjiBÉ´ˆ¤ÉżràdùEÃ/V©­&Þ#½„"¸¥KVmë²h$ùëË­ZR#´2êŽ"ëÇÊÉò kÜ´V³‘«‘ -M“Ûm¨ŠÓle% ¡$dÚ©‚Hž‹YzHb¦Q&¥Í ‚GŸoíPׂ>ÕŽºÜ|ªí‘™HùܦZ^‚$ÕC]#Ÿ§š–%e i;˜e¤ä¨M®&A÷”`¥¸„×7¸ì¥KüN6ò;k³Æ£ä'@;ÅoÁ"ßè€3 - ¿Þ~3ãz¶\ÍãÕ¸•ŽC’ ÃÕ­ŒRŒ[ éN%¨²¤tª]HjKÍylÕøP‹’ø¡—;~-ù%ìîg0k=È¥ÃüBÃÉ\f>f#£ãÚnœêÙ}3t< Ѓ G´ô&:X% ÄÌPœ±’ƽ½ƒb°`°k!]b¤2F$š]p;«‰I&F* C§hª/¥JÎÒªé€ÏŽõ!Ò „j ™Kqt*¹c]ðÛ(X0Ôˆ6¿S@\æINrª0 ¦»Ü^¶@Á0êáuÁp`ÂT»{íP†ÒV”T´I±£Oñ H?õKÁŸ9%'Ãq–¤Ñä*6£ëE7FL?Ét„èŠø‘¶ƒÙŧT±`–e9ˆ`Ú ¢ÑðÉÑ‚PŒÁP»L”>E-bìÞ©xrV‚m³^D<ðªu½žÅ«–!y›â¹FРØ¬ï£E€… Á¡x°j…,­6¤jJÅËŠ«Ô<NQĦO V©ýЧZ°`5~õ|ªå›»Ë¼™Õ ìdùðò©VJ>xc¦o;µ£OóW™Â|±ÑÔL$Tš\å„P¬GANTcŸ²Åø6­—’¢«Åe¯«]”ºdð*IŸeísŠ+•“"Aª]lšøŒü[!_ Ö㈗¯týæ-·óF“û@ÄdUÓ1%4©.e·É8JÌFpdúÜôbàÎÊî6ɉ\ÃfÇA%¡±ÈMVµ^áÊ'ŠY\k(a|I¾Éê¦cþ„ÔˆRó&¿ÑcJ\a9HPã¢ßNߤAri XJ(©\µ\ Y¹xO4|>Ü6åŸ[UÌ*x#"^p©˜å3¾Wåöï`åøt(E—{¯­ áÛÓp$pF8øOŵ$ÈâŽXš‚’fÕ¢0ˆ+ùL‚¬®¿„/7À‚!Ü`fß‚á5þí³ÍLãN¾ŒêâñFÄM—¤ßN? Š!£×tDŒ1ñla|‡#ÁWguQÒT¹(ælµfƒ1‰Á ÷§Cñ•D{\•{¡˜Ý¦’ë­$Ò¸|§R`Žã¬næ\®xÉF“‹kûœbºÅ,ǹñ)•;bN–>§ØJx•{$mt °_¬ á{t|‚-‰J q¦‹§j;b,P©qÑ“Õ[ÓG…̨`0wÖï?üø=䌨Û¶÷2¿þ dÀá Œjøû[›¿mwq‹Mœ¯¹{6³µ_þÖÚ4íÖã›ÿïÛû½ßû¾\oüÖÌýš—O¸y­™±Ù¹ÞåÞf7÷Ö›L¬¹©wÿÒv~Ð=ó3ßoqÉs~l­LSw¼·Æù/þç—góÚ¿›ßߦÎV›Ûþ ¢7/¿Yc󖦙sýø;yÀÖæÞ9Îæ-MÜsSwloÆx›Øf¾ÿo¶|ëÿl9ÞXk;·œcÝ{i±ùƒGwýÙê2÷Ì3~kÿÆw—æó·¦ÉK3çží[Ëí[ã·}›ØÔ ®IÂhwý|³ÅYçþÙüoþ †þzß]jÛ÷—½ë¿›ÑÎ{ó}õå!Ø`‡f{s׿m³MÆš3 - -†MÏvçmbÞzïörŽCö±¾ºç‹·ÉK“ó®16ËÇ™ÛÒâkùÍÙìfÆåÆxc^jSãlî2¿Åúæ~õ_Þ»¹5¶¸4{Ö]ót,^ÁËfÍ>7Pß–çÍy6õçkbû¼´¿ÃÍj5‹Ã1cí -×5÷¿¶f‰ñ¡_n·Öø±K?æýê¿ößjÞyi^ýƒK[Œ¿—øÚûWëû6·µüÚç·—öjnÞwþ[êþÙĽgò`ïk¬ö²±R‡†cÉ -`˜m®}lÿ-F°ÍN5lFh®[ÂÒ½X=‚kÆ›Ù2¤Ý¹~û¯ñHãÙ`¼/Þø–YožêÜõã~ï.ûͬ†`cñ\0Ã1cul¾¾8_³äÜTÃdÒñk®·ÉmÆ—¹›?éÖjm–¯wï×$µåïËóásçvcóâ¬Éßû{?è¾ñ5ÉÃóÇ·´&>tkšWßçøÍRÛ|Жï¬oœuyíÆ&7ßÄ9ßœ7<›¯o/ùþ«Ín–ws³wžMþ†Ÿô|óæÝ,oÖ;k»·ÆºÌºOúÍ{kmòçßܵYb³ónÚœ7.ÍçÚê×{®½ÖÜeÞ9[~kܝָÍòíͦ™íÿýã|07·ßõÞûp·6;Î¥Ý&Î|ïmËÍ1yÿò|¯ÆŸK¬µÙñ¶›w~ûß7ßZmq¯ésþ8[Ëkš÷­M̹ٻíúÞ{û~[æÏäÁ41ÆYs›knêÏøãœùµeïüZnﶸÄùÿ³6¯Éwþß¼¿Æ%N¸{ó~í}oÛq.±ùoÀáöÜÿî/Ò÷6?cžM­{©9ÿCÞ›÷nŸß÷6qÖϵ-MÎñ6-Ïæ.yíöŒoÇ—¿Öf6ù µ}û6_—Øä_0¸¾¼üÿð7[³÷l3yжÿíüùþþ:›¸ü[;ds?Þ%ÆÙÕqæåÆïÛ»í6ï’÷ÏXëÏoâöøu6·©9y¸›šo?ίïÖØvò /Ö¯Kk~¾ÚÌåçÒjûxïl±iænr“ߌíÕ&ǹ´ÝšwÎ{Ö¼W0À^ű(ô` ÛæÐø ×ÚìÁêCß_0è``m -†—͢Ϡ`Áp’¤b–2 Y&AÚaü•ÍŽI*f°ê.$záЋ¬«] BLÊv¨KæXÕŽ¯TuIÚÈó0N]m@@Q6V¯2R‰‘Jv}$GC.‰'u}&⢘® †BºžÜ ×ø8QDh…`ªõ•¼œ~=uIÿ7fZ%‰´tà0ŸÆ2%2B˜ -AËÅMÃf²…•¤Ê¼aÀ‰7¨TñÂlD!ÈBHÕÈÌ8ã $ ÇäòP㤀tT8‚@P"šE‘@â ˆ(† - cŒ1Ì1 ¯ù2^­÷óáúý Ëë—û;¾~?ÿÊúõò¯¿Çû³þ˜?ƒëïñþ¸þ/ãÕúw?®ßϰ¼~¹¿ãë÷ó¯¬_/ïðú{¼?ëù3¸þïëÿ2^­÷óáúý Ëë—û;¾~?ÿÊúõò¯¿Çû³þ˜?ƒëïñþ¸þ/ãÕúw?®ßϰ¼~¹¿ãë÷ó¯¬_/ïðú{¼?ëù3¸þïëÿ2^­÷óáúý Ëë—û;¾~?ÿÊúõò¯¿Çû³þ˜?ƒëïñþ¸þ/ãÕúw?®ßϰ¼~¹¿ãë÷ó¯¬_/ïðú{¼?ëù3¸þïëÿ8Yï“õ÷>]ï¥ë€¾é­¾û_£ý÷ãþóHtMHÙ@`â'z¥óhoŽIP'¯ÞÁä¨å]½ü¼«´èvYÙ¢Ø[±úÒ+„§¥Ç2¸Ÿ»¸-ÀȿֻàV€tå¥áاMËÿER.O£° Ù¶‰“èfÖRѯ|Å»ª|M’V<ªJ×d‹+^Tej¶ Ã¦úÔ´J_ßWîz—vo¾bПWeãÒØÏ¶šÄNÅaí8ÖŽfCÄ\ 6÷ŠlÅ2P‹•Cß"êÅòp³Y"±Î¶q›ýÜ‹2ÖÈU`ÌÓiE¤}1’ÈØeç|¤GrÇîHn¿E (~L$øý~íZ—× »™•ádfõÀ7îLX½z0:t»š|N÷Sñ[î -°Ù ¾dcü ©ÃÝš>÷nì”wÊ€–Ì‘‚´&¹ Paòp( -{RƒÉ&e8×ã:ý†ú\í£*¬ïÕØ OÛ‹.zûŽ m­Ø]¼títì_Ž7¹º$N}azŠÅ±C>Š­ZÐ --í×Ô9ètx‹ê©j®äΔúÖÊm`ð5ÿûÑÅIõà ҃Íù;S8©´3{SÿenXºë®l%cØbµÁ•øZlÚãð<䱆³Òò¨ßŒ x1_…Ý 3©ú¾}hSI Ѩ÷|=.äŠå!=tm!ﳊÄc¬¦¥EQŒâ^ñx—ÈÚâ*˜£¤=›Ïèu}‡ÕÂC÷+à&]Ëâ4Ö,‘|íˆJœÃWö& _Ôó§—“åè¦/òê=åÌŸæÐt+©`Àv“i@ý¸Ä lF‰³@"êZŽ!Öý$*µGOk¸”¹g -¦2‰*Ã’Ôt£©i2ÒðŠ79jT²+Ëèƒ¤Ž¶_´¯E0»×ó©'èìt…‰½1€..ãÜ_->,ö¯cáøJ¡î—«/Öè« ‘H,h¾)^IôCž-p$à³Má,xI±¾Éu%x«;‘ÎC¡}dd€¥‘Z‰i`‡ƒIƒCÂ0Ó–Y`A‰Ò/† ˜´2͈Yà@¦^*ôqñŸ×·¿ø¡áí?b*µóžc­ÊúVM­Ï/ì+£ê*KÞ0SÊ ™ì[XVßlÂö1–– °ÁΘËs"ó’ñ¶­Z=§×•BóÀ2S“xzH’1µ›Zn£¢œ,¤C’Õ•rÍÁn×–IZIµ6Yff1r›±Èüï»´ç›A¨Úš†™—m,õ߇£Ú¾m¦– ¯+÷K*ÝrÜpm1B‹,LÛ—[¼ÅŠX{–CcH ¿hpÂ'qDé<+Qfˆ:Y–߸_—ºÜ8ò˜“o×L9ÍßK €WF/k÷¹9d°Ü@ò–§¥^;3+© -ÙO Ži»ÇR£|i¾N -—Y¦<µi7‡àþ¤H©ü¶1Þ-Ñ·fnâ@°çåÖ5jÀC|ß¼cÁ:¿ÊâÏó0'rm@®ÌÍÚ³n}pI?€ñWC`…’DKo½ Èɺ©Zl-ï>èm—$ŸÔù ïïºöÿ;Ãa £VfvœÉÒ °à¯F–y@VžÃ1VÞ…üuŸ‰°”¬ sÉq™^MyµK¦MÈNÇõ4YS¸'R ]nSHyÞ7ÜŒÀ%…JÐ aaö;*/Vò)¨ ¾Ó³×LzRfõìêØò0ïØ¼#ÙïY×…® ß¿ÆË×ì*kr{­ËÙm‹§w–›¡ -XÞ¡¡ÞÖŸ¢cƒÒwy9êËUÒ‰]üýÁ·â{MAG‘– à½>”ši¹2€«œä2ã,7¬)VUŠN„Ñ{g²²&Ô2Áè¼éqüÚ¾—¶¨S=ñ[;ÑÉíAÑÄpšù‰ƒÇØÔáS +ä–ˆe¸Ü()·&T­üäÑä¶ñ ”*Ê¡•\¿?Çl…1ëífwþ“y‰>V§ýzD-˜¡±Z±l…*Ë7yÛ±Ò:`™²ôbæf‡§¦¶Ö¯›‰ËµvXHªÕÅMŽ?/,côÜ~ôx•K’øY›"ç1è*FÅS7ɯá*»8³P®z©&´¨=G¢¯?âdä± S¡rŸvJyïãrïíÒ˜Žw ÒT‚£wW,›‡vÃÄ:º@÷Ì0µVbxcñˆT]†5kDÝ—]\ÙwwC†rK w±3qÆe­ÈnMnçËl2¶X¥×‹XV‚Ábðñ1ûû/)»ž¹àËil™k ”R³ì¨Ã·xK€-ð‚ãö£NÄyM­¿pbN¬tàð”wˆû¤htZ«è`¨Ej£c øZUtÖ®ßè Ã¹EºËÙ$µÑY숒¥èDÓ5:dE)„ƒGëô4º£$vâôÄô‚£t;äÓ£‰_Ç -õ„pDxrz|¨£µOrzö¸5£´¦Yáœ_mÒŒŸŽzàS¬aÀ ‰ÎÌß™iD=ìbNÏ&7êY˜þœžfÄñqmÇ«xð@=Þ¢žÃ¾ Ñ¾U®º…ZÅS팖ñK!R 3L_ë’߯‚ûÄņºKÇÌ-ÕµÃ÷X)$RÂAž2ªXž»Aµ…H¶ 2 ° ‚šdGÄ7Yü›*¾Î'6Ëk¾çȃ ŸRmú âe™‡ÝtÈ>“MFý3F¯’ -뻆^ôG`EáúEdœëHtT ñGuá<Ð"Ç r‚潑Á£ýû·Ll® æ{NŒ‰NZB…ûl2O7>pЍ4jßDt×V»fÂÌ$ w;Ón'tŽŠ¡õPÓ&ETÍ~2AšŽÙhª¸jS[ÔÖºe†D(éÄ“Q2 Ûrãz­9ƒr`æÚÑøâ-cHgQ+úJKY‰1D$º\– {ñÐK+´"rˆl´Ì²ê-ÏüWxoÂâ`’ͦ1ˆY1û‰$gbïX¼j¤È1>¡Ó‚×q¹˜· DÒ[[IXö²Ï«¨L QîÈ_Ó‚dÏ3buEüÔÄ`°ÙXL¾Ö¨à£cÿJf³Rx€)t$]¹ÎZèõ-‡)âßÂZò€O Ëå/¼_¡¨Dð’]ÙoŽçïOŸ5Oá͉t‡t5çýëb˜’à‚黩Û幯ŒêVÀ§xA¾__…‘­½¦6éjÒ×M‡r;;&Þ£ýðBG8£û -î ¶Û›¸ª€7ã®ôoT‚Rž7'KÆ6O®ÚRÀ¥&tî!Z"/×]%ØFq_ú¿áÎ#}Ÿˆh >lp^ùFm«1&{¸Îv$à\ _,b‘ º½jRËûìµõ4ößÀê_‡MÍU¶Ï¸ÂŒt¥-{m¸»ÙŸÍIÙ -¿~ÿ«¶ ÿ ì×c¨Bá§Ÿ,ׯá¦BŽõºØ¨é*˜ŽoÙÌÝñc¤¯<üŸ0ËôªÁ¾ mšW‹Ðœ–k\Ï+~_â9%ùÝ2¤ÞÞÓÉÎVNî,y¥ÇæS¨Áw‹ô§EýâÔ"ÁdäÙ´)˜Gö"þÅÀâqô1 1è]wiÓ‹BÙRÜFnZïó"¸J0VUР«e¡ ‘çÆê!(³Ê÷ð?XñRϼ6ŸÛ8ÖNAë#3²ŒFY Ç,Ÿ‰Alu R!цªÑÒ_x¡7sˆ¼²E¼NC¨Í[1;tH”| ƒD®è¬‹¦Kí]mE„ó­£b&·ºDƒÁèY+G@úZá·tGáv @½Ê¦¤:ÑFƒþ_ÐÆÆx›+äj!ZÏúkÿâ΢©Ìø˜•°²ðæÒA½ÖyêØ<³iÒ®ú˜¶l(w-ì36·W/´º@7û¬ŠQÖl.ˆaXÛ;Âÿ!¡.ŠíÊv±ë\œ¸ÑÈfS3‡ÑW9™µ¸sMÍSž}|£Ùª o1œDô–°Ôl&»É÷%¤æ­."ƒ#‰bYÞ_§®F¨K†.µxþ‚”1‡ÚxÑ×*ÃàZü%_:b{æÛ)u“^Db€…€¹îýgŸSÉ­Qìûìïzqzõ/ÔÉ=n_/¾6J>ëhèËÐë$§Ã‰kX¾¶¸,w 5={aѧð!õ&ºÌö"Ãd&.]¹~j 0:-åÇ,g€«Ä̹Zü‘:[3 iAŸNPÓÀ]§LXÿ'æl…“‹Cßüy™ûÔ …Ÿö4åáœÚ“ø ¸õfwêSC9iJí}«¼* Ï òçúhÂò¬dG׸0$Pì®RíB#ÒÙ!AäêS¬Z¨ÖÝVÊírr ‰tj¹–aú9S 7ÜÇ¡Åø[\% NéÇõý<ò4~ 9? -$3“ ©)Р”Ókj—€\ݾò ùeø8€Ïúú/ôƒFžOëðOö&¯ŒBCû·Š®¼-žOpvú 4èPªkäx`ÇÄ¿Ìκi*_UÌð(ƤÞ`²JJ!ؾÎTàmß“ æ"W3êÁp ‘J…TŽf•×ÒÁˆ'˜ÁÁ wÌÑF&Áx‰—pI×°œ…5RÏ%¯{Èùœ5…†ÿ‰~i’ãh8|#ì=†ß}¹iÓ`”HàˆáèÛòÏüT…ŒÅ>!XfW{Í ˜õMÀˆ®=÷S-®tgkšñÒyf¹ Û.õ>®doW`«ŽšçÇ?ÀâÛóFjàO4ë"°LúéÚ¯Fd2[è*@pÿÞœ7ÐrÌë¯ï¤­)±—¸3ÈÖÖÐßÚ¨ÿ8毴UªŽHP3…!@°ÛM@–0 eÆ)WfÌe„&Œ¶¦x-ž ‹Q4,? 4¡Þª•)²£a(èüÅ@Ú¢AÅvÏ–ÔFÂÕ*2;´’Z¸ê4› ñÛBwýj°§8cgF<Ëźm ‰‘¹1Y€CÒ-ªÒ;“Bï|Àzq,$0zìcò‚^ÀBÈîÎÓŠs¨¡sbO=:É ]!KbÄ*ó6Òºe,!ëN¨ïgSJ™H¤„Üqæbˆa‚¨ƒ„ˆ”áÏÎ[Ž <@¾6¨CGj%ô°‰Ça.÷†°ža^Ú•é«Ï@š[(Ì ´– ¢mò/®Òéu‘_[Cvkyݹ 7Ñna7쵦_ô[ÑþzÆNÖX\_²\±ÝËÌüõkÖgy,œv>‡n/¬gmÖ·¸ ¸ú|»9*©ÊÓð=bX9…—['CÎŒÅYc'!娮¼3/p…7ò´ !VN‹þKÎa™$WŠ’O$" -2ÉúìBú¤e¤ÂË›„’ðfø¸b¨§øÚ¶î—ie%ñ‰Ü6I¤ôxþd[< j ·E$Öq¡Î=¹4lÖ‘¡\$Z¾²öUü3 ñËÏE„ç ­™Co„ª«…$x -I NS O}eÈ6ßmÞÆšo`A×ÄdË8Ect"¶†´à/ææ³üNj7—å4Æê楰Z€Šð±[wÿ*´Zo[ëÊïõhƒñI6 -Fl¬…]µ~Ò’øpóÃè–cúAÏ" ¼þN1ëQ^ªð˵ -]ô™T3Ðï{ž@I¤-eCò´ôÑŽÞ ¹ŒêýdëØvû -QÙ§ƒŽ§1[8h©Ðr@;P>ˆsÓÉ•=ÍmÉ +Çõ¢úÒ«pE€H“ õüµ“Qa [½íÀµ4ÔO¯þ†§wÝÙK-O 6¢¹ÆÝîñª%1ð£ëÒdꮣ ì«Íj{È¿7l„p¯¾y “â@™`àĹkr™­e¾ƒZøi`·/1‰W|ž®ÁáѸ‡aH¨kíÐp ‹<ž$cIÓ½O?R¦ÏtRªp¿¢vêßÀ¹„0ú,Jøl²NÌAÈÐÝ2+ÓUåØàW äÌÁjebYóŠ×˜;õ¢"63£–è±­bpðÑ+†P-éé6|ëµ»—ñf8SD¤ 7ã.U&å¾+LO´Šƒöà€“õHUÜ=¹bf=‡B†…zÌ’XÛÎXm+ÄsÅÆ3¹Wt+r -¿5£TÓj3ã€ÑŒ™£}ЇêzUb%D&ù`F(o\bÝú¸uMæã¥ñãnôš¦ŽzÆÜ<À%*© @в] }¸°¥•¢×©¢-áC.A bª2 (?áÓϺNÈÑrÀ¬ õŽ……& œœ­ÆÍ¾Éi4µ“}5˜!6æ¦A|M9¯QUXtó8äF’ƒ± Åsc]7ó¼”úéihÎEâù$ÿK|qÖŸÂ/ “¿sóbR'_¿! ø¿â¿ÑøÞ\ã…AìÝ•dm#µ˜‡ìBÌù͸Nõ XÕªm7Á+ÒÁÞ ÂB9àâ–eã±± e|Ìó8úÁ/Îòª±£!ïZ{\‹Kê@¦]ÈÇ…"+ â¡,©¤Íªf¢ðˆðgqÐÎÏþI4tÈŒ—”z,(—j«Q\Ýä9¡á{¶KhÐ_–Š@¬ˆ#õeà<ÕÂFܤOgÜŸ|þü|± ñ8{NM?Šõi§ðÏ¢2<ý˜á8aþÿî·Ùõïúwý»þ]ÿ®׿ëßõïúëúwý»þ]ÿ®׿ëßõïúwýký»þ]ÿ®׿ëßõïúwý»þ]]ÿ®׿ëßõïúwý»þ]ÿ®­׿ëßõïúwý»þ]ÿ®׿ë¯ëßõïúwý»þ]ÿ®׿ëßõ¯õïúwý»þ]ÿ®׿ëßõïúwýuý»þ]ÿ®׿ëßõïúwý»þµþ]ÿ®׿ëßõïúwý»þ]ÿ®¿®׿ëßõïúwý»þ]ÿ®׿ֿëßõïúwý»þ]ÿ®׿ëßõ×õïúwý»þ]ÿ®׿ëßõïú×ú UTÔx -  - -  - -  -  -   -  -   "##$%%&'&%%$$#"!  - - !#%'(*+,--../...-,+*)'%#! -  #%(+-/134887765310.+)&#  "&*-0369;=?@ABCCDCCBA@?=;9741.+'#  - !%)-269=@CFHJKMNOOPQPOONMLJHFDA>:73/*&" - "',05:?CGKNQTVWYZ[\\]^]\\[ZYXVTROLHD@;72-(# - -28>CHMRVZ]`bdfghijjjjkjjjjihgfec`^[WSNJE?:4/)$ - "'-3:@GMRX]bfjmoqsuvwwxyxwwvutrpmjgc^YTNHB<5/)# !&-3:AIPV]cinrvz}‚ƒ„…†…„„ƒ}zwsojd^XQJC<5/(" %+2:AIQY`gntzƒ‡ŠŒŽ‘’““”““’‘ŒŠ‡„€{upib[SKC<4-&   ")08@HQZbjry…‹“—™›žŸ ¡ ŸŸœš—”Œ‡zsld\SKB:2+$ &-5=FOYbkt|ƒŠ‘–› £¦¨ª«¬­­®­­¬«ª¨¦¤ œ—’Œ…~vmd[QH?7/'! - - ")1:CLV`jt}†Ž•œ¢§«¯±´¶·¸¹¹º¹¹¸·¶´²¯¬¨£–‡vlbXNE<3+#%-5>HR]gr|†—Ÿ¦¬±¶¹¼¿ÁÂÃÄÄÅÅÅÅÅÆÅÄÄÃÃÁÀ½º·²­§ ™‡~ti_TJ@7.&   (09BMXcnyƒŽ— ¨¯¶»ÀÃÇÉËÌÎÎÏÏÏÏÐÏÏÏÏÎÎÍËÊÇÄÁ¼·±©¡™…{peZOD;1)" *34,$ -$,5?JUamy…›¦¯¸¿ÆÌÐÔ×ÚÜÝÞßßàßßÞÞÜÚØÕÑÌÇÁ¹±§’‡{ocWLA7.&  &/8BMYer~Š–¡¬µ¾ÆÍÒ×ÛÞáâäåæææçææåäãáßÛØÓÎÇ¿·­£˜Œ€sg[OD:0(  (1:EP\iv‚›¦±»ÄÌÒØÝáäæèêëëìëëêéçäáÝÙÓÍż²¨œ„wk^RF<2)! !)24*""+4>IUbo|‰–¢®¹ÃÌÔÛáåéíïñòóôôõôôóòñïíêæáÜÕÍĺ¯¤—‹}pcVJ?5,##,5@KWdq~Œ™¥±¼ÆÏ×Þäéíðòôõö÷÷ø÷÷öõôòðíéäߨÐǽ²¦š€reXLA6-$ $-6ALYes€Ž›¨´¿ÉÒÚáæëïòõö÷øùùúùùùøöõòïëçáÚÓÊÀµ©œtfYMB7-%  %-7BMZgt‚©µÀËÔÜâèíñôöøùúûûûüûûûúùøöôñíéãÜÔËÁ¶ªžƒuh[NB8.% - %.8BN[huƒ‘ž«·ÂÌÕÝäêîòõ÷ùúûüüýüüûûùøõòïêäÞÖÍø¬Ÿ’„vi[OC%.8CO\iv„’Ÿ¬¸ÃÍÖÞåëïóöøúûüýýýþýýýüûúùöóïëåß×Îĸ¬ ’…wi\OD9/&&/9DO\iw…’ ­¹ÄÎ×ßæëðô÷ùûüþþþþýýüûù÷ôðëæß×ÎĹ­ “…wj]PP]jx…“ìþþþþþþñìæàØÏŹ­¡“†x†“¡®ºÅÏØàæìñô÷úûýýÿÿþþýýûúøõñìçàØÏꮡ””çìñõøúüükkÐÐÆy'^QE'/9EQ^kyÆ¥¨!"‘@ DD=¡wC“Lc`(Š ñ‚ ƒ ‚!„B„!D`ˆ1DI\sÄ^šôÛÓi4*xûa­ýºì–B®pA ÅlñÍ[§­9 õ}k÷ãkض‘oÁ»YzÎâ ºz ýLÓ·Ô€-s§Ärèg úu‚X* açãGÏâ÷0åi Ä+ÿ[f_ž­+òàÅršæÏ¨5qËüàzËØ+ÀËV#Ë-0ªô8}©-Ç\Ú!¤€ˆ>z¼Iÿò^E“p)óÉ@o@‹A€a[ 'zíS0Œeñ½„Û(À`dñ.²ü5ÀÍfêàµ-3?³døùø$-cYêëš57Ç^µArY¼C‹÷Xäì¯7•urWÑÅvƵX¿ÔúÔâi;×zúÆÂ5Õ`ZªùZûï¡ phÙ ÁUtĮdž-³Ä€•OàÖ².Üv)›̘XÈ´4™-ÆBX±þÒç{««Z`®K‰è¥Á&`$,¿:è–—¤À|Yøö¥i{õ“aaÀÒÊ–uÆÝ¢—Û—aV  $x@d)R fTù.-hìG¬µ+ -)“m>þ«PöïA`®‘ Fo°^H!î¹Æ…I”…:±{.±Oíð±ŒLlÕ‚nP5p WãcC™Ç&ÝV·@GA`÷`Ú€½ó` -‡€!`á„À ,ÀÚy L^àðUýÊ, yÐ õU±¾*Ô_õ«X¿B÷³}ëá0×OJ»~od=ÂÍõf¬š\ŸhÄzÄŠõˆ7ÖØ\hs}€‘õ +×#œX8s=¡‰õ+Ö3®Xp¹àÎõ&ë¬\Ï0b=ðäz„3Öl¬O´b=ÂäzÀ›ë̬'°¹>ÁˆõÄ‘ëO¬رžÐÆú“ëW®8Y`çzëƒF®g±pSãáÞ¡ŸÑRPI8\ÊÑaä*:J«Åú7x Tt.áÝ'4=]6o¬?þå¾ÿE‘À-$Ðs&lo¶8_þ¯¯ýÚÿïÅ{ãÌíÅÕg¬„ -â¤WŠ‚YΫíØgÍmÎ__{ý÷Ý÷¾«ÝX_½·ï^ýÇ}ûÛ1ÇüóÚ±ïÚco÷µÕ‹ÿ¿¼ÿ[oöïÚ»xîþsÿ+ÆÛ³ÎU½ù¶ºë­5¶Öjûyæ·b»»çÛÚ[{Þ‚t¨Ò}3"""A$I’t" ˆ€ BQD@„ ÒÂQ ƒ00€ ‚!„!„C!„B$=­OéÎ tö ³Ï xö@À³ -Ïxö@ÀÙ#g:{HÀÙ#g({ àÙ…c({ èìÁ³‡= èìÁ³ž=PðìÀ³ÎpöˆàÙCÎpö@áØ -Ï(8ö@áØBg:{DðìBg<{ ðì…g<{ pö³‡="È¥ç",ûܹX÷ÕÖ¹`}§~YǤéOéÔôtкtÍKÙæSË]åÒzpW ¤‰g~äW9õÍûñ·{ÜlmÛüá^Wà5•ú2ϼG[óŸUçm^F£œ2³#‚Êîy÷˜ø½Ú#ûÿÌSúTEC‰º›aTa”G£k~‘äP±!f”—›iF‚‘|FòÛÁU>ª–‹ôɪsÕ¹Ýfo,À‰‡8è€lô7H¬»7-]¬Ÿ ( --)U?Tõó+ VÓuÀ‘Ž!Iô¦ÖË»ë×v% TŸÉƒ'ä÷y+ÑìêìCC:¢M õ0p~QƒK›a+Ã+Z ´`~/) Í·,ä’÷('1ºd‡‘ pl`ì7½•ÉçÖ´92äß,ÅÏqþ+ Fàkþ¯R8ÑÕ˜ó]V†ÖF~s¦ç§ö¹xI¾bÑÄßt®J¡×\C“õÊÞgÊêD^äA)Äq'’ñJžp'ßqb-ÔH -A-2™hVFüÌH ¿¤Ì é}|x™ßóTù*¹ ü;É/×[— ’‰¸ú9˜w¬ôÀp6$ÔùwJäL①щç”:?§Žîȧ‰LJÍŠŠ~pYpªê¬¸ ¥´ˆKYTš2Ji'̹D£ž%Ê›7Œ†*IëùVÛ’,’.פB…¾Ó¬cósÈÃ<%…ýÀ“/^‰/ û³þó+XD -¥é^4Œ;òA#ßÑD:xH=áEת‡dxû×~o—H¤×kæY"Ì-…ºû»%‹‡ÿ$¥ÛS‘³†¤ ˜¶d;"q˜®28-ñ¢‹…>“ͼ¾j‹‚³ŒDÖݬ¬ÛÅ,ÀCLJ١ÎbÜÝcÂÆ÷§YŒ»ÔiÈ\¹(²í¦×À°FÔÎa¼È -Ás•fd¶,ä=öÒzdòa Ò þreEŽe3Hp¹EÎôªEž„Ÿ¦Œ 2^z9b1ÅâB6Y «òÌ61v½¤’u]-?`ieÝ jYF¸®*-’­,Òiµµ`([Y¹ëO èȪ•;«i9¥(u‘ý©+i‘Íj¢,EÉõ$ -yl:¢å¢ÇAÖ—„[‚㈕¤»—Īš,]J è:¡øÈö\r; ëfþÇJÒú‰²çƒIÀ-(å`. ¼e#.“ˆÿFÖlbßDvgÊQ™Bb`«‘óp–Ð>8ÙrMç¯BCY]IX0,œì£\­spL²dâºS.’²9²c`Ee„*a'Ùñ Z†7\Þ–ô#%§áàÍWë#Ø•×{´Þpè°9¾<"A³b!Èó½eÐ4ý˜á@¼`øÿÿÄä&{€½ÏÞg_±Ø“ìYö{Ÿ½‘ý€=Ëþeÿ²Ù¿ì_ö/û—ý‹ýËþeÿ²Ù¿ì_ö/û—ýËþeeÿ²Ù¿ì_ö/û—ýËþeÿ²±Ù¿ì_ö/û—ýËþeÿ²Ù¿ì¯ì_ö/û—ýËþeÿ²Ù¿ì_ö/ö/û—ýËþeÿ²Ù¿ì_ö/û—ý•ýËþeÿ²Ù¿ì_ö/û—ýËþÅþeÿ²Ù¿ì_ö/û—ýËþeÿ²¿²Ù¿ì_ö/û—ýËþeÿ²ٿؿì_ö/û—ýËþeÿ²Ù¿ì_öWö/û—ýËþeÿ²Ù¿ì_ö/ûûwH|¨,>´;    - -   !" "$&()*-,+)(&%"  #&),.029988765421/,*'%" #'+.147:<>?ABB><:852/,)%"!&*.37:>ADFHJLPONNLKIGEB?<840,($"',16;@DHLORTVXY[[]^WUSPMJFB=94/*% (-39>DINSW[^acefhiigfdb_\YUPLGA<61+& !'-4SY^bgjmprtyyxsqolhe`[VPJD>71+% &,3:AHOV]cinswz}ƒ„…„ƒ‚€~|xuqlf`ZSME>71*$#*19@HPX’‘‹ˆ…}xrkd]UME>6/(" '.6>GOXaiqx…Š“—™œŸ˜•’ˆƒ|unf^UMD<4,%#+3;DMV`irz‚‰–›Ÿ®­­¬ª©§¤¡ž™”އ€xof]SJA90)" &.7@IS]gqzƒŒ“š ¦ª®¶µ³°­©¤Ÿ˜‘‰xndZPG=4,%")1:DNYcnx‚Œ•¤«°µÆÆ¾»¸³¯©¢›’‰€LB$,4>HS^it‰“¥­´º¿ÃÆÉËÌÍÐÈÅÁ½¸²«£›‘‡|rf[PF&.7ALWbnz…𤭵¼ÂÇËÏÑÔÕÖÑÎÊÆÁŽƒxl`UJ?5,%0:DO[gsŠ– «´¼ÃÉÏÓÖÙÛÖÒÍȺ²©Ÿ”ˆ}qeYFR^jwƒ›¦°ºÂÉÐÕÙÝàâãååÜÙÔÏÈÁ¸¯¤™u*4>HTamz‡“Ÿªµ¿ÇÏÕÚßâåçéêìåâÞÚÔÍÆ½³©ž’…xl ?JVcp}Š—£®¹ÃËÓÙßãçêìðïîìêçãÞÙÒÊÁ¸­¡•ˆ|oXerŒ™¦±¼ÆÏÖÝâçëîðñóçâÜÖYftœ¨´¿ÉÑÙàåêîðóôöêåߨÑȾfª¶ÁËÔÛâçìðóõN&.8CO[iv„‘Ÿãéîñô÷üO\iwêùûP]jwåëðóöùúðP“¡ìxþkÐÐ'yÆÆy'‚D¨òu"#"‘ˆH’¦ ¢ ˆ eûsGQ‚ <‚B !D@!„" B!„BŒÔÃÈ­z—ÄNŠëÖÿ_:f’ŠG›aßÒÊqØ["zTYdO‰ 0nLGðÚöèÚDýEù4 iCr×3"‚ èñXóñŶwÇ3j@zÅ£/#1Ö=Ò½ßÁ£ G¬k©Wg‹t=ÞÕ‹|ù»cã9–èƒ"Ý‹5õo@=BPàá©¥„`pC =ꕦãˆÔÕ¬aSìÛÐ葯¦#J‘›ÇµCnd`£Çþa‡%tî6z¤˜‚¡j}OkP½ýpô¨/Kh®‘/ h}Kèè±okPëµ6L_«€¬eGç75ÒRÉS -?zŒÖ @z,K¯¼ÜâïÒ£k¿Ó ¤G—실ˆa&å¸?g…ô?û¢ M{0Õ"ˆô¨üP\ŸÇo%Œô¨ò ç=žx€$=þÍ´Ó˜’#GdB¼rIBŸx¾(¼×a5 Lz<{tç½ÈÚWö^çɼéÞüh?X§(€æ4<Nz”EïX?7 9Ǩës"*=J§lßÌ£ô˜IïØ0¥Ç¸'õwkpLPéñ"ù›KÃZC›6 GlMXz|þV•ïôcmÚ¨ô§w”Ð +=# Q.Ù°K–©Ìj«ÄŽ™5œ½ôøZz,ªiHÖø2b¢ò0=N¢—õ—¥7 - Eã1=ŽÓ*%˜ñUBßÑxšI>LÙŸÑÅô€ét ÑTÊ:Lu³fz´ðÓcA3‚fÔΨ3=¾Ñô¨?Èôh9Óã¨JNaí¹¦ÇQ—Z2¦÷ŽMü«æ†3M”Þ“™ ¶ŸöŽ;…LKBþòNí‹'šP¨jƒ_H—™ÐFü9Œ…!€özßB‰”*ð3ɹËh}æÖTÏÐ> ï Äƒ÷…~_Ò0_Å/5ŽõÞHåW¢‚ü®“Ñ65µ†r248JnØ`ûo—åbñø¿»Ü5Då<*œGç¬Cê âûz‘Nµo×ïÁg> >óèø”µ™§Á×< |Íëp3¯‡™y=léyºÙ`ÙÓñ²O>Ùû -Ø×[ØïÌìCbö.1öd5öÊfö]{ù*ös+{8û .{™ýæ‘=o½n•½efïÇ^Ö˾id/«`/bÿk³‰³÷äØÓÑØošØó2²ÏµØïìàì/±ìk:ö’Gö´ö:Uö?6{(<û{= û¤3{-ý|‰½½É4ÎÞc_Fc/sÉ^ËȾWÊ~÷²G³ÿɰ§é²W:ÙÓØÏ•@àà´˜*u´; ò¤Àxi=Õí@©[ÐRw¶ƒéðå3” Ýžòäed­½Ô¸þù[^¦”RJr:óQ±{°²ÕÀ&Ø\}ñÿ9¾Õ×pÝ?]:ÿ'ã·—î¿Æç0õ=§Ü9Ûwѽ}jr½Ø×ÕŸë‚òÏ—Ó7A5¹ubä—纜ê]PQOëêÇçŠÊW?¹((@B:0€Å A€,hðB 6HÀ @4,à  (R(©°à -4xh3H¨paˆì9tìà€Â.}%”\ÀXº1ÁÂ׊0ÁâÅNF@¨ˆ-bØØñ$CÂà!Ÿ‰2˜|üˆQY]!imh]‚E ¦&©!UWI˜8‰RÅÊ¥6|HMYYò„ --\¾€ #ÆÅÒŽC¬4‰reË—0dÌœI£¦CŠP‚ã)Vu¤É”,]Ä”A³¦›7pæð¢ºZ%‹—1gظ‰3§Ž;,§˜U’'WºŒAÓ;xôðésÅ„Ê1gÚÄ©ƒgŸ?)‚Ä –/eØÀ©“§ÏA„ -:³REK4nèàéh‹I.dÖı³çÏ «&V¾˜i3A…)Z”挛:zþ:”hQ–@…i€¢EŒ8wújtÈ‘F@8’³C†Ò£œ­Óqî2o.»Zšüîìgôæo›ýq³ëwÏ"»:Ó sÏžƒªêEãEõûvZvjúÓ»y]NýQ®×‹Ñ½tOPU½h„h¹$ˆ1©˜TTLHŠ­I¬LI¬Ø«?õ_åLŸuÛ±:UMlÝîjõ:ëÓÕ÷Zþ’`š:ÂÈ”ª¥ªTÌÅ Ö4µBT¬Æë5µ"D “X"Z=2ôÈÐ#b¿Üþþæ÷猹7ÿeÓÇßÈþÏÝSÛ#qM_ÝçøŠë¾ï˜íð•“[&ç{‰þèß<ÈCEצˆN×7YŸÓöoŸ;ýôlþ'tnû=ÙÛ˜«mSÝæ¾ïoS~Ïåæs&¾¯Ûµü·üÿÚÒyö¹ù27Þ÷ÉÍÓ¿^lw®96,‘7ýÎÆGÆV²sûò]òKLO÷ϯ¡¶C·ºíùZ6w»ËÇí}÷6}íε%v*¯vóͼ½…5ÅÆ§ì¸åëÌžfgî`ËèÕvöò‘[2¬ŸÛæ>käwmüˆ‹Þ¯Ùþq{ÏðÛY›b»ZìºMÙ3—7u=ÛUD×WÕŸÃÖº®ì¬è骟i:}÷\Ñý?ÿvm={ßž¾vív]ÓeÍlÚžI,¥ÖŠ ]þÓ†þŸn5÷׵ǞDtVǺªìný©7çðÝ®³vTÜ×ݽò·evµö!~·Nß××ê¼=³«Õ¸Ýø‰ùÍ¥»suÊ0_ßFuŠ™¨ê\z…_¨3ë­SH©™I’d8Ó@@Àa ˆH¤<… öÀÈCáPâà $…ÑÅ@ ‚ ‚0ã”1D‚˜Kº~h3¯Ðl”âhÈ×›õkŽ„Ò\ý÷4©zs†xó/4{+Hg§0Sü4vºÐÔBw¦`ï¡ç¾=5¯×ðp’â6Âç¨ýLló×?ÀÉqTÃhŠ€¹Ë½ÐN„!˜KÕy|Ú?躮°!ábtä×k¼ðmŠ¦Æ‘àSçär”ò/&ÇÎrxnÇ÷$ÅëîÛ¥´W7Q­°°Èªøg‹¸áþ­Ppè>ú›òÁr|ÒÕñ˜Cè¦yuˆ´Úb¢ý‡–î¨ÄxeŠô‚ìë¢rRá;éŠÆ%HNú›~×®¹FfB_hK¡KCÿ¸Wh6+,Òt}Í €´ãÂ¥ã÷Ç›Xr,‰:ïÉ=9ľ[H«µ„¦€ü6®Ñ­0*ô»ƒ+Zˆ(EJ1ü3Äã8Aø8—©Gó€•ƺÿËp|Pšw‡äþŠZ˜rË$jD6ž§ÙrXga´­˜Ø·*ÍoE™ú±½KÙá -3P¦·冚/à ?£Ò^‹Ì ¨$þ¦lwb¡;P‚ãfT^I”UL,Lºq¹ÏJ|Ф™ëV7»Ñddp]t+¥X>}ÇޚФGv qð:„8ó0‰;CR(W"aùôSn(Î5½Hÿ„7¸\?‚%î‚° @‚䈂‡v›üe,†èXA›µêB‡‘úº?¸¥÷dJÛÇ|îáIsx§#ñ°Ç»p°ónCòÄY±.@*y%l­l’¹É -J½v€ntód¯Ñ[ÇMß‹8Ú2«ð~Íjçø©~‰` A//‚”32´xü¬¯'M÷Z&NC Tߨiáx•1EïÉ:–n*²°©Å6P2 <=4ÉRö›Åʹޠ‹+’èJ_ÝS.þp*ôk­c¸î@´Å¼ø2rg?;~a­zë”â\OòCø™Å E·NIïNðÔLšjÀ¾¹O«~bX)w”Õå]Ü«HÍúޤ ©’-ÛZé½bSýN÷kvßëC¤UV»o>ö -Õ& Þ7Ñðˆø»Ç9í ñk%OVçQ׿ÉЉ0æ’ÊtÁŠ7( å®MÀÛ{uÛM47^òM¢û,УêÆ{±PôÏ–ÅÌF#¯¡YæÉÑ DÔúH7髳›¤w`z“érb z 5žß’Sø‰Ô”+yþU™®¨n×D5:iÚ›äG¼§C§aíu@n©†ù‹ ޮ܅ÉDó˜çO_”Á? Y61 ÜÞe‰@Åc÷3ïO™Ãë˜8McˆÉj¦$0•]#ü=;×Q‘ MŠ”@U~qf)3Zˆ­nÇáÖKµ9ªòïß~¡ßõï´íÑ2„øPN¿Z#—ædðD‚ë*/T}3Äú<בM‹„ ‘ǥآÿ³ÞüsÁÐ:”·À¨d×îŸ4IÈ'¿×‚s¬$ô: PL õ<2ާˆ¯Y“-½¬Á_Έé6X #¥kžúmR$Á¤•|1¨ÊÐîÝô:ð8?"¥e0¡n*Ó&ëd1sÝGÌ£WõI€™>™“­ ÑðàD¡‡B–„ÏiE½è„(]…çÂËá‘›ÊiH!¢ÿ@…N‘Ÿ+<#D ¡LSë¨êt5MͰHÝ L0­çæe—ff¢wÑÕQf‘$<é¢"Ϩ"xŽhöOÞq&)k§+Ù^ÞÄiœÈ›öü7,^tŒÒåð@tw½ŠÓ£×aÛÂÕíoÈÏFçs©óŽhìsÙ—\ng "ÍÎÀÙŸÇ_Ï0cs—+£ºž¨¹áèìs3ý.×û{» t9êÏ^Ò°Ÿaž,|TÓ\d>×þkÔs)7©?Á!«$m¿†VIT¦±;]ýã®ú$ƒ¶I§UÇ'ÊWH}+}ä¬cLóN]¥6ÊÉ,³S #2ŸaÒ¬ãi3¼€¬‚×^ó»ï>²Ûœ¬®[´{ŽEa+‡–ÍV[½oß KU)†Þ I Sy…s ¡è{5·ä«G@’‚c炦æÓÇÈr9„X”Á™!*Œ-7}Îò>YÅ9´$÷j­YýüóM€(P‡+òÊꜞUn<Û;1W¥D7¨Ù äeëP³ìqA§²ZÀÔ‚'œýûœ.A´r{§þÒœ2‡‰<%ƒ%FHÝ6çiòPj!ÉÎ1¾½Vèb€E¼eRÛ‘±øíY~ÝQ<Š=*¹µôï/’{­ÑE!.¬³§J™LF3<[GàÿiH÷×# -y2Ÿò(vïfüþ0µ Ï•ª»)´I!ÈÅ(óp=\$¯“Ö -V>ýJØ€ÇËrSlTrˆCmLIn¡•©l*iG¥Ÿøå°}p yجüµ{üðr†'UIß“”zŽûåðü‡7G²þ_ÝÌ[¼Y|ØØ L')¯~€¬3rÅ^uÂQ³íXvÔÿÔbl´_{*b§®‡áÖK_¬Ý„ÛJݦ>Nì¨ël‰QlYUGŒûÈ0í¶Õ‰”¬BÐJ;8™Ÿä¼£3ËaÖè÷‘üw€3ú¿y#¯Ÿ4ép €øÞïpõöªMWs:ÐéÖÒÖå;e.äC·ÍØ ö<¶r(ü2Ÿ‰Y·Ò§Ù5u£Š[h{Ç/|¦‹<÷U{„i µÎ -‘È›V@û´Å1ס —iÜõàïÄø¼[ݾ;à!5)8DxÙØ[åÒšuÆøOtv¦–DÛ¼*"ï#ê€!¹Ö¦ ýdò©OÓÀhYùf`Wð€8O{"TèŸádáØ„îr -?ÝxR犄æN$I’··ÌÙZÅ3ØÈ€¡éP›TÊ3žAeY§ª¿<ÑGñ#Q\–hÀ]â+W¢€ˆ0˘5±— -·"×ä‚dær×D0}ä—LBj¨vÐ=“H an„ÂOª›=ëŸ8ôž"'qN™A}$àô¨geù]B2Œ?• ¥°¥ Á ®†Ò !8¯0f5ÃlIkÝ÷v+â-И €PnD¤ï+R©ÈMyÝÉæ*Œz#Yvóú{ÜQ^íÅþN:><|zÕY¸Tm¡+@5 rÍŸúÊå1‡}ËÄëÊI¹—4²òµ¾“”z4ÉO Š.Щ|M”²¥UnÔ\6"?×kzǧš÷$B…EXô«V—|y%!.€H§É@9ý£ ôc@.ýI"Lœ*·±i@@Y"âç%\g1Hã›Å=eÎÏ0?!Ë]´ )d8"7n549'Æ}*ÉÄÉ„‘`4`R™•ez¶•&&ñ²ÞKµ<¼\hoÒæ1qBóÀwÓ{.f›Ǭ¡éiTÄ5á«¢ÿJ„Ê9­Â„dˆt½`6aûЧ–ƒÿG5k5¼v2õü¸äÕdyyk={Òác%É"œ˜eàæ¯diigsX œjcÎB¦~°…«òx Î0ý\»!†al{0í—4ͱEÊx£a ʹTù’VÁÉö±è®…¾£Z7ßSƒâ#‡y¶!¸\ZŽ#·Z'Jm“«3Ù¤N-þêéÑl¥ƒ-.xWl´•c¹hx?Äoä’KÖv“ñypO¯RþTDœbP›h9Æ& ’&K%‰Î’-"ÆNɡ娢éûÈi&ÙCÊDdÍm›çòð?›rÐr´ŠI:iû­DIøB(‰®òI{¦û¤iåøðØU<kɬÃå†ÿ¹Z y¿Mêˆ#‡_il€ú³o8«ýÛ L·ú|7°À2[g¤o9Æ–3À%Ó/sHv”$ÿL4×XŽÑ0©ÛÈ((˜˜N®´J¤óaF2}TD‘ˆV™INs£þg9îcÎ'çHÌcÛØó6@ºì(˜çíhá"Ì(Ó*5R ‰ÈçÐÃ~A/ÌëÊ…DïÂȦcB]g\ -—c[RLæ* 74r£ymÝŽÁeF`— 0ø€ÕÄ…»XHŒm^—£²¥,z;×¼Ë1Ÿ2°d=ÈÀ@ïÝR’[Á5çè¶‹™¶]ÙÆÝå¸ÏÁ‰fùŠÁ¼0ËË‘L+?¶°õ×Êͬ¨?´°œiâ‚«t”iÉ‹¶»ƒµjËrh­¨LÀ—c3$þR5›–àÈm]ãlZà€‚bsƒ¶Äh¬¸ˆ:D›ò ¬V¾Ó×ðØ^ ~ ½Ò[“ˆV8™FH¬s*æ)Xà¼ÿÀ,b‚ð‰Ìë·èYÔ…R Š;‘mÚFñÌqðå¿ñ©¼³épì)3Oãb¿Ú;=©Ý°€ëàœkýÜ^.‘Áy Fqÿqƒ°æÿûۿɾt›¼kfA_Û^+å¤Ý‚½–øsÍþª³ÊÛ3ÇÉÛcoŽ ”4B±›¹µKØbKN®dðú¼ÖÐTa–ë¼õ’`{P€Ôÿ‡ñHÌ:q䜫á´BK‡hI‚ÅY Kæ(?ßAQ_kì`×1@§:”0 dÁuIþlR'ropmnœO½Ñƒ8³g/#¾}úº&:2÷[ì–™‰ÈÏe~òúkËêv}S;ó¥híR8{Ë×ø™6·~wé¯þš¾öü¶º _»Ú½Núßø [ìí¿]éùV¿¹ö¯sݦ:þ¿¢²ã@ïn«Žû[¹½Ì?ýyKnêô[§ºÄÑžËë\›r&¿LtøÚ›?þõ‡¾øžîêVUŸóò.»sÈêªíé§~:tVΖ{Š«ïi2n¾·ìÙ™[ó9—ï¶±·a¶;6º|¹¯ùËÇùÎ.±õsŒûÉu¿ßUm·ë”Óéº{¯/È®Ëù´ÕW{Ÿ:lo·ýýÝé&ÿkïã–ªîzUÛb;wjcÝünù[«StÙŽ7ݵã}Š'ºCgͦo;Sõ9÷üy{oŸÓ~úwïéµß½TÖö˜×-#r¶VÛ·¹Ý5çsΛYanK×T;+o+•[;Zêüü¹˜ú9â²kÚ¯ëMÛa+;ÇíÆíÜ­÷w?ÇþÜûîØn—&æcsÌÝÏÎñ»?ã{™³åœ6ö[ÕÜæÌ«îëÛ¹ÿöÊþv¿³¹åtíåô\TÜdo¼Ü®šøËÙܶîÃŒ¨"N542’$éÒ -)£¤BŠ0+ z`À8ˆ¢¢ c9!d!„ !B¡‘ô²9ô3è„”ÃàPÃH‚*€ÈÑ ‘¤!¤@2%ˆI&ˆÈLP)A -2ÁJ@R‚*€d‚¨ R‘¤ 1DD1m -¡¢@ ¤Ñ`„4Œ¬ ˆed@÷” Ç%ëúƒ<°~8„×—ÅáÑÏ‘ebÑçàxú:YÀ,ñyÑ=Ž-¯¸§ 4cI'WDÆT2?îIlNô…±Ã“Æ­tôyÜÇÍg¡ÕU!,_Hˆ\L‚FïX'‚¸\]š$~NK>Û“œJµ»’šç@OA —•öû‘.œªn[ɾ8·mm{Ûßv’%þ¶·Æ¾FÒc`,=×ìne’¹¦D/´%Qä`×Ë -S’±Œ¬e!è -É%Á˜!™e(ɘZ;Y"ùeMæm†}Œ+¿¡š8}]½5ÞÀ!m?œ;ð2·áwkŽê¹‡fAtäUV•›Ä˘ÄùÙ´CU(7gÖ?ÃNi/ÇøY¤'ãÊ3 -ˆ&úOåK¨V4BF1 ƒ’Y %ƒ©}' ’_ÆŒÜên¥ð‘>ì%pè¹±x&1Ŷ­³‡DW -“÷]†rfá±Cí‡ÀÖU0wøÇEü#Äû«ì 9i ¹Lh¸+!ƒ3[9³x¤±ž,è1£gâ_Ã$±¨ -<0búý˳mÞ‹Å’,¡’½‘©Àähk¶‘˜«$±»H£Ÿ/IsÆÂÔ@ùOÔ«4ëDµ%›Aÿ·#6>'_~êD5¸ ¸ñw×ÊMù[ßkCŒ^|U1ÀXwA½ûå—–¸~ ¶ì›€‚ü23ò«@.'!t,I{b ¤³ZÅKºœî_^8ž¤ßÅöÍeòŒUkfxNoûg/¦ÇèÂ#h•ò“мØ2Ë¥/íã?œˆÝº@Iª´VÄD%‘üSø[’£•°ePRæYdü)/È2šä”üyŠÞ%\%o{®—Ÿú& €Ð»Þì›@Ä?·˜W -½åïr<|®ÎßÒ#zæô§ü3•RG6¦óUH\4¶ëîݯ"ŸÑªÅ¼Y¾©aLæ³rÛÊ-ª(ï‡ÂøÖãc¶Bc÷6œóÃÃ_“¤n¼Ï·Šñ®8 *¦¶ú§‡ïsŸ«+,þÓõ©W`!ÈÿaÞÜ#ØL¥Nˆñ+ ’KƒÏì0‹9l$$7,L±3`ùù’IM˜áXPpÝÿÿˆü7øƒÅƒÐƒØƒë‰Í©Ûó¯b®$4¤lÌ|Ä\{xÐ|z°}0ð}{pý ñ ù éÁöÁüÁ÷AìÁõƒÄƒæƒÔƒíƒ¹ß±×šR¶æ¾bN?HH=Ø>˜?ø>ˆ=¸~xÐô õ`û`þàû öàúAâAóAêÁöÁøƒïƒØƒë‰Í©ÛóÿÔÛÖ¬ÜI˜áXPpßðÿÿ‰õ¨ÁÉ‹áï¹Ý…ä ìììììì=Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?X°°°°°°°°°°÷`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ýÁþÁþÁþÁþÁþÁþÁþÁþÁþÁÞƒýƒýƒýƒýƒýƒýƒýƒýƒýƒýƒõûûûûûûû{—šLäI˜áXPpßðÿÿ‰³p†ööööööÖìììììììììì=Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?Ø?X°°°°°°°°°°÷`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ÿ`ýÁþÁþÁþÁþÁþÁþÁþÁþÁþÁÞƒýƒýƒýƒýƒýƒýƒýƒýƒýƒýƒõûûûûûûûûâZU,K˜áXPô ‰ðÿ#‰ÀmêSQ>==ˆ=èzð|}Ppx°æAôÁâÁáÁáÁÚƒèƒÅƒÃƒÃƒµ¡ÖD,¬=ˆz°xpxpx°ö ú`ñàðàð`íAôÁƒÃõÑ‹‡‡k¢¬=ˆ>X<8<8>??@@@@A@@@@??>==<;:98653(&$! #%'*,/13579;=>?ABCDEEFFGGGHIHGGGFFEEDCBA?>=;97531/-*(%#! !$&),/1469;=@ACEFHIJKLMMNNOOOONNMMLKJIHFECB@>;9742/,*'$" "%(9BEHY[]_`bcdefgghhhihhhgffedcb`_][YWTROLIF1-*"%),048<@DGKORUX[^`ceghjkmnnoppqqqrqqqpponnmkjigeca^\YVSPLHEA=952.*&# -!%(,048=AEIMQUY\_behkmoqxxyyzzz{zzzyyrqomkifc`]ZVROKFB>:62.*& $'+FJOSW[_cuwy{|~€€‚‚ƒƒƒƒ„ƒƒƒƒ‚‚€€~|{ywusa]YUPLHC?:62-)%""&*/38=AFKPUY^bfjnqux…†‡ˆ‰ŠŠ‹‹ŒŒŒŒŒŒ‹‹‹Š‰ˆ‡†…ƒ‚€}{xurokgc_[VRMHC?:51,($ 79 #@EJPUZ`ejotx|€„‡Š’”•—˜™š›œœžœœ›š™˜—–”’Ž‹ˆ…~zuqlgb]XRMHB=83.*%! - !%*.39>CIOTZ`ekpuzƒ‡‹Ž’” ¡¢£¤¤¥¥¦§¦¥¥¥¤££¢¡“Œ‰…|wrmhb]WRLFA;61,(##',16ELS[cjrz‚Š‘™ §­³¹¿ÄÈÌÐßàáâãäääåæåääããâáßÒÏËǽ¸²¬¥ž—ˆ€xphaYQJC<60+% "'-29?FMU]emu}…”œ£ª±·½ÂÇÝßççèèéêéèèçææåãâàÞÜÙÖÓÏÊÆÁ»µ¯¨¡š“‹ƒ{skc[1,&#(.W^gow‡—Ÿ¦­´ºÀÅÊÏÓ×ÚÝàâäæçèéíììììëëêéèçåäâßÝÙÖÒÎÉľ¹²«¤•ކ}NF?92-'" $).4;BIPX`hpy‰‘™¡¨¯¶½ÃÈÍÒÖÚÝàãíîîïïïïðïïïïîîíìëêèçåÑÌÇÁ»µ®§ og_WOHA:4.(#$)/5EMT\emv~‡˜ ¨°·¾ÄËÐÕÚÞâæéìîðñóôõ÷÷ööõôóñïíëèåâÞÚÕÐÊĽ¶¯§Ÿ—†~uld\TLD=7 8fnwˆ‘™¡©±¸¿ÆÌÒ×Üàäçêíï÷øøùùùùùùøø÷êçãßÛÖÑËÅ¿¸°¨ ˜‡vme]T+&!!&,28?FNV^fox€‰’š¢ª²¹ÀÇÍÓØÝáåèëîðòôõ÷øøùúúúúûúúúúùøø÷õôòðîëèåáÜØÒÍÆÀ¹±ª¢™‘ˆ€wnf]UMF?8 -!',29?GNV_gpxŠ’›£«³ºÁÈÎÔÙïñóõöûûûöõóñïìéæâÝÙÓÎÇÁº²«¢š’‰€xof^VNF?82,&!"',29@GOW_gpy‚Š“œ¤¬´»ÂÉÏÔÚßãçêíðòôö÷öôòðíêæãÞÙÔÎÈ»³«£›’Šxpg_VNG?92,'!-3hqy‚‹”œ¤­ÕÚßäçëîúöõóðîëçãßÚÕÏÉ»´¬¤œ“Š‚ypg_WOG@92,'"HOW`hqz‚‹”¥­µ¼ÃÊÐÖÛàäè÷øúüüûúúø÷õóñîëèäàÛÕÐÊü´­¤œ”‹‚yqh3-PX`iqzƒŒ½Äìïñôöù÷öôñïìèäàÛÖÐÊüµ­¥”‹‚zqh`WOH:ArzƒŒ•¦®µ½ÄËÑÖÜàåéìïòøöôòïìéåàÜÖÑÊĽŒƒ{¶×ÜáþþáÜ×ÑËĽµ®¦•iA:air{„Œ•žÿÿÿüû¶ríðòõÿÿúøöõòðíž•Œƒ{ria‚ʨbÌ -CdDDDDD¤u‚ X‚A”T†ˆ ü€ðX1B!†B!„B!B!„Baâ1°„œÑÐ0 ›†/Û ±&¾Œ}‰ïDò<7(d2Eâ‹ç…€m¨ÕC³q‘.H£i!¸ -ËÖB ¦¤QP𒘓«R ®µàôŸ„€ŠÐÀâbPRø{þ,ü€[µ+CR@’”u®$‰ÌJ ¬f%µQðÈï[µ%¼^:G–àRþ‹¢À໼"‹Ž[Z~¤Ž$ õ -F¤,Ñ´Æcay!¯¶BÃS:>#W“F’¤=GÚþìˆ;"šø³Ÿ‚¹á}A&D©tÀ¨É)É -¥?4Ê‘,Œb= L!̉†ûQõL`Èdod ïíû bx˜…®Eƒ¡ºDŠ¥^]"G{öé0~b&J;Ðd›#/IJò3¹DÀõ€´!å KÎphgßXòì™J÷ % š) رV‚ÊïhÌ+EkûE®^ú(HÍI÷ 9HŽaVÔæ°¦OB+¤œ;¡™„26,‘Ó5ãjtD(cBn1å¤+¹ûG9Í{~ea•´A¡Íú•§ñãüýH)§Òâº#3 ëUÑ“{dq׉äñ‘HxÇΜaÁÎÉÖè·/ÉÂj1–Yuq0™z£0‘õ}äì83c §'iŽFÖѪ](¤ÄØ(£ehCÎ -ØŽ©N>‚pá…8¡Ì†ýÅ`ävI`hz"CŽq[øHlTF™FVû¼Í¨Æ¯ŒÌ–¤SˆNF¡-¦â×ÇQ£Œ:¶o+<æi£ÑNÂL3Ǽ)ΖÔPÈhUXýŸ/ÚnBüÜZÊ«¸r­Œ42„ŽÔÃ4©,™dÀÀ£â <.–%ì[ q/A÷aT;ä!\Va„÷ÎØ•\•ÄâœN^’ ódбÈ÷ÒiEÉÔ¹Oø0ºö+×1þúL2bÒ‚ûxFØñD‘P嚘`+GònªÆŸ±eJ6¼¥Dk\.hR˜š‚Ø÷£ n¬å¸ºð qu)`l—íV|”bMÙJŠ.ž‚÷‹ ÙÒæy…á•§å -²dk)²úîûÛnÊ(>Øq* üU¢ÉâÃIp(ϵ(pF&ôDZ„˜¤EÑ@žš‡›VR¤×~8Á›UŠÔtX à+ -³bëÖ¢°D-ÓZ$WH*‹b`‘¨ÆŒôò¥a(}WD^Æ¢®&´ñ8ÒpÅd¸ƒ]¥lQø“ûZ’ ؤPPÒ”a Ô„U ’?ÖÃÁ’`x$~]¸ìl-1’` ¿~AMS”Ú§c[C; ÊZz}oµÀPU|9¢‰±çº™ t||*·HRúJºJ5Þ-/x›Êúµ[4¾_ 3yüÎÔÃ0…c’[ì¨"°ÒÒ¡xšÈ™QÚRM;4!AÓ¿Š„¼DßZG&$!ªöß™9J¿ë†ã¨œ!ã^AqP¦¿¹ŽãŸnÇÆ³»sùww".ÏîÎõ¾×Œ¯÷7ô©|ƒrg/:¬~*íïqÔ΀ øÐÍØ½£S âÙøl…œ.úû kçú}÷ÂN[¿þCqÝmB®ú«'óm û®Lå€bM4P¤AKŠš•±E;Ë$¸Ý LP;Hк9LpwQ˜àzq˜ ~a Aí 0Aýæ0ÁÊM!ÁÝÍ`‚›ƒÕ•Á÷›‚ ª—Ãë ÒÆ3]¹ -ä$¾Å÷þ÷„(Iÿžæ(¯ÒóóðíéæIÒ¯ÌÒ×ÝáæêêæáÝ×ÒÌ–ž§§ž–Uë ÕA5¾€Êü•=À+󪴚ŀ XO@bÈ@•èÉ -endstream endobj 22 0 obj <>stream -€ÐÀ'³@¬¬à …1æ˜U|!¸ð€ ¬ÏÙ *?0â.Œ €úÿ>À!($™j¸±Ï¬!/0µhƒ;í·ÿøò˜T¯™RJ)¥T±Ûèý—­kRÞxÞ<ÐÀ àNº¤ ëÌ -jÚ¼‰Ã:vîÜÑÏ oÚ¬áɉ+“%H6`Jâ„Ý$Ê”(ª¼XÉÒRÓŽœ93ØP'‡;xòð gk«‡={öì€çŽ3c¬¾”@uAÐÀE"°ý -”ª¼€!s†6oäÈPC;xvØÚÃçK $DAA+àC¡ÊÔ/`Ȩ¦Mœ94Ô¹“gkO?Bü4D "Q„FD>[;`ùR5UEJ¯L”(ÐtEK+2*¤qó‚ 6ØÉ³åƒ!dÄ $’ Ô9nÔPyjÒ×äÁPAJT°Ä”äÒEe -cΤq#‡NxàãçÏ‚ŽHB‰BLèѡΠ)p¡Š‚zò2)B„›ˆÉb¡Í têàÙê Aƒr -C‡¦À DYX1Ä rÚ°`FÌ USTžš@ÀTT.VXZ-Ä‘¡ž­þ:‚P¡' ªâ -DY$R¤8l´°ÀtÉ"u%¢D–ª®Î¨y3Ƕ~øCÄ %œˆb -+%Ò‚ 1ƃŒE†Ì+T\¬ìðÐçHzBŠ*)â 0Ä c£2ÌhäHO0\¨¢¤8ékB¢Á“)W¶|sF êäáD A… 8tE¢-¼ƒ Ff4º‚òyy°”-6rh¸³åÐKü@”‘Èh¹‰aŠ,º ÃŽ<øèÃI^Ìq£E…*æà ÇO $ž "Ñ‹Ar:d EŠÀ`„Æ’¬ÐÊ£H“æ¸#‹ˆ:îØ£?ˆQƒ3CÖ Yó¡AjDA¤$T¨ÔQLœ g8$û©{è×1¶¹¶ùãµÌïy»Æ—o~)¾ö¿^_y¹o†vìwµ}7'žë¢.›ë2þÙ•‹gÎÞ¿îª/aŸ9šuÞY·âÕéK霬ֿ}­ãñoâÙã^v¿nœÏg­ë˜Ö£1–š'-L¨X1³‹ÞÎÚx×êâ]ûˆÆŠÉŠéÊÑ.Íûײ½/»³Üôî½0ýÕÍÔ¯^?StÕ¾ÌÓÕÔÎY/õ\ÅÖýüÕëXßïÎ.{<ålÆ}ÖKÏó÷êÍcwsS¿ôñ¯Góîþ¬ŒúÒù¾_g¶ÄÛè½fïo†Øæ|ᙑ®–Ôuw·û:ûÛ/÷º~wÏ<=Ï+ÓoÓWuí/O7ršt6e?UgsÃ=΋=Ïi‰÷Ó6×.ut,7;¬0WXŠNX¸aœÄô«Ž9§“Wd’í¼3—Ç,–Ós1NÕé*Œ†qºÃ³0ùJC”†() @" PDÈ#( )bÀGŽ 9räH €$P`‚ - R¥! -a@‰’%Kššššœt°¤„ ;T"R„#¨DÀvPD) -.XÚ€ ‰’¦*P–.à ƒ$MLNùAp% -–'(!€ð„ƒ 0¨%¥oò$ÊÓ“&L41Aþ&Ož ¨X¹2E¥%ËÔ•¨$JIš,„ž ¨Da¡ÚRB™2YYYfLØ’eJªŠZS’”€"e„¨©,U\Êd™)Cæ*L -_ºPqJ¤D0Á0yÐUå -™,¬+0't©¢ÂR*Š“_kJ”ÁC–8peŠ•)-&|±jÌ \´LEMyròjMp°dA¾Rø‡Æê×±·²ñ"ºo·^ùWf‰2Y¶´‰Í•3dÌë½Ëìy=¯¥´3-Ïr¯g_cÇítt½oß²?»×Ÿ÷ôr¿sZÒWôïl©EÃíË-±‘Ý’óº¿ÃçT»®±ûùݯ÷ÓrËæµ_e½þ¬…0+¼Ô–4OKÌ-·ýµ[/Lõ¼]©>uãÖ·ëN­õJu#\Ùf#ç›éÅêKžh‹j|ý]ª¯^æõêKÝìˆW÷®ž®õݵõuë¨û»É—Ûe¦‡é–üv]£>{3³^‡ÉŠ~w§ˆ¹øÿ¼×é•IÁ7TÒL”&­×{øê§½×ž– -[F`3%åÝ—´õ_¼.m™‰«}ý¹sñîæë-}SÛµ°úOÊ Ïi)ÍÕý¨Ú¨àBÕÕ/n¨HÉöõuÓìßÔå¼»RõðRä|>kÆëðÊL©”3ZD°¥%mÍÿšïýðêÔS|t=Ö=Eì¼öXÓ%ŽšËj³%ëÊq§ö5¿ù)æu‰'µ{Ìßå°PAƒ¥W¬T1#Þýq{ª>êµèm–{±Tú^iWu+^Ú\=‰Ùòo}|—mÞ³-Úý³µæ^ÿy‹ºÉ—Ù©j§¹óÕi\„.»KŒWl̤b«òž5¢»“¥žõò•wøÚ¯lÚ—~î÷uoÇ—à„¡*aêÎ2ñºœºnKùZšÛ3¶ß9jÚš~?ï•z±Ôß%ò{c_˜Zì§É¨‹×ïîÅxï¨ü¿ê—û9ÿ›÷Õ«yµ[2ßþ_¬‹û~†—¦ là,I)­)hlßÿÛ8ûºC©gTÛÔUf³ÿ|6ën{»ëüwÛîY7÷BöËSª×Ô /Ó/F7t·Kg½³ùÞõ®e)÷Íu[ó¾íÞ1÷Ìq·ùJÞþKEýËRËþ´=ÙòrŒ²nÔ´ µfL,SÔ’ÑÏŠÉOj•ÏøLÿòêo÷6¿Ì½¿VÿzÙPÿ -†¨³ÉJŒ)…15F“$“@@@Y  -•$ è£ñX$‡ƒ!X‰aA ‚ ‚ Dq!!ÅP3Í ¡d9È™é}]e -€R}§ë-±Þl<¯ñ€ªcþN¶ì,p“0Ù1¬J›,kj>Ø®®ŒRË“KÉ‚QÒWÑ žTê Ž “ô¸ˆ- 8|S_D„É]fR0N2“½“ïTh¾-¿¶ÏoÓ–Œ÷«L°T«ìê¼J,û·ÉFyåhnÃÆÅïä † -Í1žÌ²óŸ ”ôŒ{ ñk‚G’:̸ò0÷¢¦iu’ý1` ] ;¾A”¯2å±ä]ô‚ýH–aÆIt'û¡X©Ð2-WFMŠŒoåõÇE‹èòr³1ñ·Èú -6õŠY¡ÂÀÛFðO'õü¤P‰d­‰w$ ½ƒ²R‰ ‘*µœÙÂ1Ζœñ@œ“3¯}é|ý"‚Ñ÷¤1hãJZIÿú ¤Á”ymûļ>’÷ö+¹ù‚.¨¿Rmžä£å,àçT6y‹kéš§W毮VókÔÞ¼·|T7$CÒ½§¸¿ŽËÁµI ìåã~<=Þ{]/«¶ÝÓ±Úþ·B«Æ¯”Š»‹ÄL‚—y´Ú94LyMÖeMÐl$Ê^&}¼|ùÒ;IÓ“=ûx!\1%C\–ÿŸõx™ˆY^³ÙÔ7ù½*íŠuGuÜÂ/§;ȵþ2Ú¼cÒÏ6ò4éç± -zàr€ÓÓa -¨PÚU0ë8þ*Oãþ…XVW¨ðJrG&¥Û³üÓ-xýÊfœ~Z{zܤŠðË©ÈIê%0i*‘ ì%ú/ òîEÕP ·Ñ–K=Ù/«–IÕ-l+¢ªcŽ€¶¶kú:Uƒ - ÌЫý‹T%ÞÏÁ!ò¹}MB©§ñ¼Xâ±Vd½òöfë´jàøéof{ -l´”‹¦Y#tÒ¬d—¦‘†^tÛ²€­|èþžs4ÊUÏwÜÅR¹æ…JÙïŒPÞ«E<¶’™Á0Q7X'Àí2Ž%#:y<A -Ü¹î¯ ‹?ba7Ò)ˇYD¶7Í*XãµÆS”Ÿ3cI4»&%NS¡T;Ó›§K`‚,èî¤æ2S¨ûl :µÛ¬—d²Ê£Yä¸o8]ÍG¥\JÈצÔF ÖaÒCGݽoUKyž÷ã¦yeñj¸ãËv– z^çÅN `Vn¶'^Úÿ¾Ö<)‹ë³Þö -=û„6ŠÀ<ú²DÁ€æ$D¸.È峕¦'ÅĬèw³zŒ@ë¡b„%q'¶ÞkëN)"¼þAÍú7U;­ÈÈÅd©K¾#z±ì $ðó%î….gkøÔEKLzw_j˜0½Â.—;,½_€ÅS÷„ð$ÒJ÷Ž\ߥ°,’+,WX ħ·ßÐgvµ¿×,\]5±”Æ+­ëDÙpš¦ð?r÷ÅÛ‰&nÇax}%Ü“¥3µ‚„UÌZ•w% ÿ4· ôåÚ´ó‘¸6™Ö {Ã1œOiv›Õ»·£{çU8çºz(ºm¬™Û£ ?|¡NÀOúõG,pßê'ã\³î§FHÑÁéš±Es¡ïë@̶†I~“)¸ï䔪ö›¯ÂŒE}“a.1Ch¹ð\ `- ÃýIòmE ãˆìÑ®.X¼©j³[³t'Aßj: “Luº•’‰¤åÐʬ±³XWŽ^åÃÚ{7À1‡¨°]H×j„nÀwÅK”0ÇÓ‚¾GíB¦_˜g«߉¬Õ1× $ - ØR„$‘–(52ctk`°`[&æÖ äl Ñhǽ†–Áb«eùdÀª»_Õ¹Ù±ïÐLg μ‡ÐËV ƈÙM“O‚^vX[¢"RSÚôœåùÖéYœ«jû×Uµ!)tÈÃÒC“X8‘ÛõH Ø!4åõ«'ÔÄq°¾ óLž’…NØS꽸}M@€ã^ðá7„xÈÒ?ú§öÿ€ Ð|IŠ›ÚŠ[ùûàˆàÜ¥Luïò<×ÚÍÌ©‹ŠàcÓ{ûDú×GtAò@‡ZÝ'Ö†e-É•}yÝ•‘îi£rÞǧØr7,«2xÙÊmr·5µÃêb’;(’¿òZ.šSîÌÚÝÿÚŽU9㸽#”_¢ÉÌö‘ñ\Úß,ÕÑ!a…K÷¥ÜÑ^ ‡Ú#:0M[[˜»„ªñqhî8DxÔÛ®Ö?Cô*É1ÆâŸøY¬J&gP -"é éGôÙ:!ãê?ï:[¡¸€ -Ý‘qû - ÚãaÛQªø…÷_^Ž[)?ïVp£Ó92€šµ´`P‹ûº žP#ºW•½Ê}ÓåÆÐ.¹íU`–g@¢Ã¤Ö]"¦9¢ç’hqÒ×DzeN~Öãí¾liž€¨“èË?˜’ppË—\¨í6äcBc8wœAS lj 0à´ì §Î D¤vŽ¥‘ðF„<ØÒ[Ðî‚~ ±ÇÉâ¾×IÜKÿf˜n½ñ:zs÷ûæEϬÚFô°ˆ_§TÖßÝYç±­k•ˆÎ¥ûü:×›RÃxS¾·¦®{o©]„|gXë"y$D¬Ö.0À·jm>ˆ9»sÖktŠ/g'óY¤0¶æÂœ&Œã"'0LÀÞÓŠÜë4˽f׎{­[`èy¡TwÊ|µ†ßD»WëÆþ‹FÞ¦Õ¡2­N¥MzŠ•è¥UdšNï·ÊIý,'õÊ­tâB‰T‹‘É)ÓMN•`—œf|!D±¦2QšJÑÎJ”®Ä_ßÄk{mµF'šø÷_t¯â6ù;gÙÅœ9VE2Û2k]ÍJ¡ÕQù¾8™¼ «©À©é)O6h{“Nˆ=í9¡UŸ ™Õœ¡LsÌiC+3ecN!{îô> …,),^X‰ø ˜e# Æw“;ZMÌ$Sg5O›ŒÞÎ2™Ü -“jŽÍM…=HÅlËÒ'ƒS¹Éô#¬ôF£BfŽ–„óUÀF˵‰9r(]lÙ‘Eú28vÙ8îŠûÂ¥¥‰^M©å•d{Ò©ÆMNG#²‚”è&4É<âô»Ð>“ìYÈQpÏÒ£®o_+ÜÑ -¼õ¡ -¯ª …Í€¦‚ o»<’¢0Æä~véqIö¯1ïïÏ„cxg—ù G&zª”,†-ýãÑÝ+Ìf/Œ\q3þî¸cŒþÃúƒD"•ý éçPÔ|ãm˹ÅŠ»)HYAáßÄm'¡-ñ†L€ÈG…O" þø+vÂsþ’Ú¾PóЖÇÎõ…£C@ÌXc[È|xÑË¥$}¢Æë3,,>8 ÷/Û)Ä -’«<…"kдÚ>.øçÀ€ØÚgÔc5Yî©ûNQ É$Ö½¼%ªÇ q⎾Ÿß'ò‰Òíh„jœ.…Èð©}jíÈÉ&>N£^× pwÂu¹7a™S˽ç{\(ÄÕŽääÑÃà ¡À‰…f 1ç`ž‹v gvâîð­A±áî j箺“æá‘ä„ðœ<ÁûÐS$wé3§Ö„Js^ëÓäphLæ'Zß_Få™à˜â7qãòŽe¶Å‡l¸- -šöÔN“¼5ŸC`ÓÞèwŽ›xDÛuQŸFCǵ¿šÑŽú´æõDü̻хnULÜu´Ö8ªö\VC[el³|ÅxÇ-¶êžlEìOb1Ù3ïá’öù®¨ØzH¬¬˜ÃNªÂòkÝnÄŸ`ãkìÊÑ+ËM·Å(öÎ󶺲Ê}7ÓÚ$ˆHPº2fð)¬sÇí¦ÊŒÒö»ÈêfH¦<o¡Â±×ED-׊çxØC•VKƒïÕÚxbüì}U,4Ë:|I¡u&Ÿdl%X¡IÄå§&Ø+‚µ®CÜoSÞšÎÜ‘qˆ‹Q(nº˜ù@oáÐåthi“ƒ•žL¸T¡š¢Å‚)*\ÆX©ZÂR‹¬•iȆW²P]aa•ª)HÐG)+&cäU»VSJKʼL™ÁB‚iÖè•»?|wÛ»^ªM-X̤ ó§ÍÐ{Ý/t.ÈWf¦ÙI}÷ž^¶Z«|Ȭb<ŽüИ°  YÂ,Y¡ËcÆŒ ÚF+Š+»$êŒ(¬%†F˜¦2 c°¤¹Z5q¤°Œ„(& 1a‹¿–.fÆ¨à† -‹/Öš'2.x Z,¼YÃÂã•Z0#…,¥u—xo¸¾‡fÊÙZ~ÇwÝ! W •,aÔ Ñ3XØPYò©åÛ…4Xà|˜ª2n´T¸²F¥Ü¼Ñ®²†„*RWÞfu–ëä—3!tô÷®G -Ï.Ó­EçÙé#* ë4eb¤”À¦óóc1-Å}ì(Eé,(ýúßxF¸™â´bôE9i˜_Ø0£Ì¦J ØdOà üð/ç È×ÞS6K,qÓPã%½t‘Z…šùüɤ;ÓPR¡r¸Í‚å¦\‘ÅuYkÞùzÈJÃÔ -O9Tˆ7.'ðÀ`è¹Ñ’FÆCoA…!Õ‚÷lIÄ&Ãz†Ó$¤ïx•H¡»þICVPŒ˜é°š“”2üš ̘¦ñ‘¢‘öˆh=}¾.Yà -¯¶*Ö=©E1 /¼Lº‹÷}DM±ž)+sp˜¿ItaµÑYBm4‰åÈË ODù-`Ø„ œl—mÔë±ôß:G*®Ú -µŽt^›ÑP¾qZþ´Q’ÿïÄö° -‡f£/Êãpaxð©ÓIejâ“·g=ÏóRnÀ ’¨-B‰Œ¾?M©E%‡…)”#}¶õ×´°eö·rr»îä|daa¸à™ÇIajâ'ÍÊ`¹HóRñ- Jý‰t AÁ­ë—Ò°•÷*§ðÓ÷8T˜,Lˆ$ÉtMòIe\°"ey1ò“T oä¬+šÎ0+ûîEH`f?ß… 0ÁRÇðD³¦õ±>mR«‚ùm#÷ŸÂ€%/gɤjO”.®ÀhXå:aX¸Ë ¨­XØËKDYýù¡<1&Œw|4¢Ä&ef(ð?ŽJÄ;‚2¶/yÀ”àµü“«å;›Ôå‰M(N…Õ*Ê{Î!w7Î2 R°…N °£‘õMÛƒ±¬1RÖ r\’Áß~ûÃ,$¬–”CçêGÓ,D´´ZCÂäÙÚOÑú:8i7'?j_21]$#¬ê)ª’x\ 8Hûk’¤c­¿ØX +“(ÎC“Pþ:S,Ÿš¯›˜’šðÃp]TOÕù—,"Û=JŽÆcɉZ˜dò>S·ãþáiÖ*ÔžC"ó _±žÌÌ$Bß´±‚äÉ–[1b)}6¥'€öwZ¾±ËÄÿ„V_U|ÃÄ4{ ÖUÃûGqhHö=ù"N¢#)„O\’¬e„ $oR&’(>¹Å =òo<5"-‚°_×âéUe~†nõV߯±•’CൽãyÝx@#mýŸ\¸NfÒ"¶†,HÙ5Sy¨-é%Vo^´»Œ jýRO -­F䡈¡Ô!9„q=4Rü32‡°uª‚Ýœ¼bë© -Áë%¸þâf+µnKUŠjnºzãCyW&GŠ–¡ˆtI¤Qà3CeS·$ˆÓÿþ^Wb„……UQ®œÊ]CæÊ*2¶ÆƒêråB^¹¤œ*aKÓ¢uÕ§]àh¥™4OoŽ}ƨÅRZ¿k¨ð Z¤”€Æ.K¦”`FEHÃÆL•—3Sl¯°ZHS…Ì’4Q\Ðd¹pÆ®Hawc&ë SXjSEͬ€kžÚ˜Š¢`©r&LK­ /¥å~í–š!ÎT lâ¸Öš,,¬5Ž"¸q/‡fK5Z –+$l U˜¯ˆÀäuêWàrEK¼ ©ºÂ"EjÍ™¤²¾Š–6.àU¨—òÖë™í{©¯”òr+Xjn¤¼@-ÑjAË-\Xp¡„„¢eXg¦¨Ñ"•”2q-Hñ¿D.‰¥ŒÔÕ -]ÒDL kž°´¼Š6%Æ´QuϹób©–ÒÒînªªÊÕ7V¼p±"%fM‡ÊZ3•ÖÕ•-+´”­ª¸ÅQ³W®FSBU” aÚ˜a²Ä„(^˜Ô‹aƒS¦ÚD…!A«…-m°t)C& U¸ Ê&+ʼ”YA –´ÊˆÁJ&7…dÞ˜Z!*ÊLœ5#¤I\ˆ2Å+¼3…„}*¬lqA„7"Y5Z.¬aÁ„'3[Ø…©(ÏcÏ_Gæ»Üþ¥´ØßYh.g¤dM‰â”™2h²Œ‰bœ£2µSZTÆ´0µÅ ›*]Þ¤QÃF…VÁ-†¨ã~£Œ$£Œ&!„&fVÕÀÀÀ€` „£0i&Éà …Œ Q £Ã$%ûzž²°ä8A©iïãSàÛIKBÎRéTâI£öCi ô#P@·ÓÓhC#yQ:`c|ŒD~ºšÁð+‰Wnc +Mƒa¥4ÒŽm]áuȺ¨ÙFÔ¨ú¿‚…`?e$ ©=:-ƒ¹÷’ é[ò ‚_ÿŸ*L¦!l…ICì?à -Ó‚Cž§¨9N’àSwOÅš_>¿þ_S˜<û΃z‹úÿC…I’ñ>ʸ¤4GÈ$Lí@úõ&ß*$÷u…‘HhyUØxõë’ª°² L\çÏ_ÕŸm~ʬ‹(wBK鲕GŸ¸+˜NàÇøu&]â°&NšbËz÷3vÇ}‘ç´}àbQ*…å ÌÀèSfò«J‹XÒRƒ½ã{'ÿ8½îÞë¼}€Né‰@Òׯbe±¹g ךÙIOüwC°„ž°S6ÙC„NRè„Ùû°5ÈÅsY›0âÙÐ$¡]—dQÔ’„Ð…ÿ92®·.¬X)ÌbÖýÓä÷ðæaý•±’þJècrr‘ÂŒ ®t:]r?àNØa8ÃÇ'ÎÄ -æé$·‰0R9OúâàÖåï #2Ô“”RÿF_®õ––¤D˃þ'íç “… ‚nMûJV   -Æ”qÖÈ“éÌ%fƹDC¿§±³î/Ï2ÃÆ³Ÿuós‹Âœàgè0I‚gG ³`p7b_ù?±‚X_biuu>}kšÂ6¡C‘…IsçâC<º`Š$²šP/ÔÒÄë5vVhC~P¶ç»¯ - ¥ÍÂÁ -eèi÷ÌÒã€Â‘ÌV˜Vçƒ8Mz²¾Á¶^ Ä'ÉHVÊ1ߓ˼ÂNuC ºù$Â,9aamÈUÆð1 K1pÄÀ~?èI‡­!—šIb®Z’%}¬qÙ"iÄÅ¢ Ë"eã.,ë—>+ñ¿f€˜¥ù¦ß|YX¢ÂQI-,'!FÆêI¡…|õFóÆ ‘Z˜¸2€^_u˜ûê,Œc7”I9È´'YŽ‚ôž‚ÃùœØ9~/Bt2TŽ»ÄŠ‘ââ¤÷¯‹!«¬-ãÌ£¯IÅŽò…Hˆñžé‘|ò³0Æ'!Ž^+A(¡ÉD æ$‚§ÔÄEŸ‹ÙùI~]¾¶°9CAI)õñoè+½l…+[(ã¾õCi7®Â¤ŠÒ’`ÔæÛ!-lØGTB/C4Âæ|4t^JR‡öAÒMêÑ”*‰\‡ÒÆÒêTñ<.ý/ÒÂØà”‰s$á4« -'!L|C;Y¯Ûe {j#ó•“ß¶¾t´0M˜Pê&…DçSiÅéüOÝ@Jýº~ma™¨øÞD_XZXµ )óròM frCKt¹šøÇ„̶€>vÈjå Da±g%érQVLú œÖjªð˜6QM(„ƒ hÄÙ<>æç?Ê÷ÎÂFx^²A)‘5Ã'$&ö’¼"¼Ùw*NU€lãk5 ³&³ž¶¥"“oÖ[\>¹|ÿea¡¢%cb}¶´^wÅJÜpŸ¤…ÝÁOb ¡‰Ì‘(‹…ñ=»d鉗ø]u1V9‘·0\jÙ{úu ä.õ‚RÇ:{o ŽÉçíÂ>Ü¥»ÞIùÛÂ:»ËŠ"'ûfýR²“üÂô5i»ha‰‰¡ÚdÒì&!rt`y tI1Ïcž‘¢–`O+ÔëÁ“ 3L¾½ózp ”y$o˜{Gyd¤}}©ÑUL1— ÿK–òE¹Y•£‡ºÓ ûú -K«T8Ò°|Ô·r¦ÎƒL*“‡ §¤†ŠvŸ¾¸NˆšeFíA¿}ùÚÂ(I™Ø¥\RnñÑ@¦±jò«u!ù^!±¯/ DRËÂâ}Pz1·°ù‘kM(+ -O?®oYâGÕq «²Ö¬4áˆñî‰ÂfŒt/ò-l£ÌÍeçŠó¤c8…ñDSÂo÷“ëüÖƒõCÒJú ÜYº½¯+¹°=»"TÏ`)ùÉïÆ°¤5c ð±4„LÒ¬)ìÞ§€‹.F˜+k)Œ{64Ich×} µ$¡†qᎠì¡-¬Õ]V=r²A­_Jv’_ðA_“¶‹\˜ˆ8¾j;ëYúo2)Q²:éâc2?ÿ¤RˬÁîËÀ<¾)àô.ñ±óKff'(cÊ}| -|;iIÈYªN%>i´~(MD £€h§‘ÒhCcò¢± ÆÆGÀ'ªaðÝ•œWµ1P+åÀ0UhǶx;d¹ÂÔLgê\â(ú\ °5©·¬ß®ÁÜw)ØäMyˆ§cÏG&ÓR^Á‹&£úϱ´ óSÔ—$xÁÔ½§bÍÇWKHϱÿÏ&Ïà]ç¡Þýÿ¢Â$I‰xe\)ÍÅ‘R¦ö }½I‰o•»²H$T^l<úu)Ÿ,(×ù׿lá›PfuD©¢Ù~\ýÄ]Átz‚wà×%PÊ=¬#Ib¥>ÝõŒ½C½ÈmÚÕUÓ†2˜½ÑP%¿£´ZP0®´-Ÿk|¿³g Kq„§oô±‰®1üŠ1îY›9e¹º4I€!Ì/cé" RÄ>±CÛµœjìDw°°û:Ÿà&{¦¾2h±á SÕóA3ù9 …ïŸCáÏmm…„õMš`¦b֣ú–îi2`öÅâCjÐǤà4 cq¥Ñæ’ÌeÏ$QO÷ø\mq$Âx’ -¸`#ªû?±#±žZÙ¨'k(.‡¥öcsÅïÓü֊øoýOÚ[Ø&˜"? ´™ÄÍã·%ÒþGw¡Lƒær˜ª5™ˆiX'VÍêåU!Ùüú«Âr0ȉ¶g飭e0¸w¤¯xˆ±X/±4r¨Ê:.}mea›ð¡è¤sáAÚ`K)Mªbj}‰uµv&T!?¨³ç—¯ cef´áp…òéÉõ¬•aŸ,$.¿£EàÉÖÓÄ@]!‚•öFx/¡+¡¡–£Ô[Öe‰ô’´âÞÍ÷dÃ0ð¸" šù$<šsI0CДÜlt2l„E‰¼Õëlà»D«{J™<6øDb_¨±™$gÑSâQ§2¬íˆ”¡µç1l:¦J¢ÞSTzV]Ö³Ä,OÛd‹Åj4¤·¹x~†Êò›'ÍG¥\X‰-L Ê”ÙUeŠ ªNEµÀB˜+-L9+U+°¹âfL”,C8Y܆Œ ^XÀÂâj¶Œg¥\°EäßÞý르Üÿ,£´™,)w†Š¦±2UÌx!!‹KVVuQƒpðÊ,V¡JÔ“O³&Í\‰BeÉS˜ß)jØ@U ¥ -4WR¤¸GÝ„!!Œ2.`©¶yãý¾>öâz&ßë¶ó•oS–¬Àn”ÌÔ•­(vÙr%"°_ÙÿµjÇÝû{÷—å}Ÿå÷µ­B(3%0 &¥EêlËQš4]V5&ÝÐÂÿ•6X$°”D¨²( iÜŒPekà”á"¥ÕE« ”—.SæŠV UHØ¢›(7lÆ=Ï™Ã*-xÙrÅŠZA­ðJ-.e%N– $,—2nªÂœ ƒ% ªÄhÔ–6 çZ•,­ª§Z@˜PYÒf /¾–ª%[a²ÇeÉ -W¢h§+‚é}^zeËÌx½b#£Þ¥«¨«eªFð–5WS-´p·iÝöygÖ÷ÑWõ¼Mó®î Þ}÷óZo£quÍ]F»[·´ã¿o;3ÖÅDç=GOTWÓ¯[Þ.ëû¼L—÷Þÿ:•a»³Ñ²¯ëc;gÓ F˜2ÅÄÄÄdä2e¤q…¬–ȬaM dÖ”Y"S&L2l°aa…Â,‘q¦…2FXC™0k¶)†&&#89­!'ŒÔ“” b®`éåÏ®Ú=Ûvšé^—7³MLmM4WhÖ•Ñò -ùíXOËßü±mÛ_=±K÷s;ÓÖÔÔÿå¿toµ‚Ú”µŒ"›)Ï}ýD ŽO†ƒDÇŽAwù¥š'^ˆ‰mé)ìñï”lãÿ@ MB3±Ð°‡YÃšŽ¤Éqó(º‘nA¦h !êŒ1…j˜õö6Æëå€nN„ãÖ>³h†‡3äifÉXû)ÝÒï({p((À D0!AÄx+ýö÷ð}æðyç*†• ŠnÚ|ÂK·ä³žf›Ý†IàiØv’ÒÝkݸ*zèçj[†”°æÍ7MbíîsX`jv°ps@Ú|糂TaD(„ gÙ!ÞáVêÆµt–Q”6*Ó–ÅÀ?õÖ8©Yͽá9Euõ]T<ŽNyØá1¼!Q4q—E öõ¹ùš«´S;†Ò¦S·§®ã™š¶[àSA¥Œ¬€*A(™îq©ã~ ý þæÀ»Œû†—øî™ßúÔO6-Î †¡Bü³v}Ë>Øñr+Ñ/SìÚßœãG§Pgàü¾_‡©NªÃH‚˜¢&z^nwœ9˜Á:â¼NäWl^K܃/¯2yvi¨°Ÿò {kER}»o¥ íDiEFDĈüDv‰—€t–yï©b°Ý0²±ƒJrcXCDóèÖè1¯®ÝýÐØµ9è“`;A«2÷ÞišIksyëÏõ‹úÇlPû%+­Êe¬»,žË’Áv¾NÑaEpk*}^Ÿ’Q¦r)ôŒHf’Ï«Àä2³éè%"Ý2Ë2p¦¦ ÚëÜŸN©ü³kÏæRÒS“üĺU0«?ð2©ÈŠÕQñ0ÙßdRl.GWV_N;¢Jô– WœHN:oSX¦CIVÐ.û>(M(U§“·úÁº(-`Œ‚ìCh¿\`²&í/÷èðv޲Ö.º4/Š{Ýþ+8]Ò CSJ~!´s.Ñ^ƒ "R>mT`ïQ¢õ$v¯ÆõsLëBèÉw'´H®pÇ˨~Æe!"ØQ¯¬HqµµSG ˆNÓ#Šãɱ×-Ƴ ¥ÎŸõI`]³Ë  t,™M>Ï é!ˆŸ`ð#å¹/Lâ.l=`Ad„ÅMp)0ÌAß¶©”ñDµ…x¨ˆ¸ÞÉŽ¯Æ¥»ŒŒÒÕ,ÙÁàdrÅdë0¨€¾&¥£RXrîXZi2 Ç(ÅŸâùó•…ÍúI#qýsÖþ£á>%_]gOé%µ« i#–ÌÿEbí^Õ*¼RýP¾TÎ, n_HÆ»™´øÅ`TD^„Sؼ´ -eíþ´‹† Cù°›ö­ïKÉ–ÏkÚNÿ-]a5Ð,¤Ã­SÓòP´ YÝé G@a—rÆ?Mk¯hÖw=U˜”[Y‰O¬%¹f¤ˆìΊ ¦ò†K¯ó-eÍDÓ"éŠ!ýÐ5…’r;Ú8­«/5=|#4”?¯‡Aˆk¦‰}gœéʪ¡É-L@”Òm –8f^2¡Œ+d– Ò¬ùÑx'!ΨðÆÕ`Ëô:ay¥Üª³ŸöUÄ: §.E}ÓÈn’é #2eø»/WÛïK‚rø,¼ÐµØÀ¥¸œï·¥UÕ )·¶U¬œ«Á*–›&Ý@º¹Áö¹¯¾Á&“Öï'-ßÙ Ó¼G×ö÷q5a7=­Ðå×7Ùu£ Ûÿ¥Ilv³WR&q®2,‘ùÛ|Lvöä³Þ„¹øJËO~D<)z*A•ÚS0iOpGŸß×ðIŒµS)QŠ K¡Ò6 - -ì\ÓrIi”Erªâ £›µ¶r²¡CYçc—ýOZ0¼dé¬4ǧÕµ :ÒA]Á°õä5 ã磘šÂÍ‹ÄT%y¾™ì¤A$)Y‹;eù×÷Bi äôŸÎŸOwØÖq(Ä¥ÿ´üÅ0I“rãC¸\˜¯ó(kÌê.±c5}GJÀ€ ~’} -µ0é—:ý²Q$0“æÕ•_§K¤IHOVæ{Ù4P”ÔÄÝyà#v>Íü'½Þ¥O8gAüàI:ÎÊ(ó-òuŽÓš#dÝâÞ-}O§ ˜é\uá’ùd‰d8ÒûOã P¢L£º(‘6šOd3ý¥ˆ=I@)r­{ ×ÝK_!Y0@¤ 7kme¡B¯Õ0{G"B»X‹ö££òfš¹ŒÊà(ã¤Þó*È’®êXåa×VqÏäÑ] -ò¼•Ï«ÐÉtõ’a¼áìL»8üëïä­ØlI[ ’¸|½“âW|ò.;¹ãd÷¼×nŽÉ:¡­ûÛúš úxÀ =í"NF>7/vü„μò¨#Ž™\é†Ó#|‘ W €jÏÉZ︈˜¶9›;_E׫ÔZ|•Á’9Ø:Éy)(w™êëÈZáǘ0¹ÉQža4Éáß pçïæ*Ûgq`w¿> -š×:t9ú”.iæ¼GIZv«—0 ¹vq~A\ïYÒ˜$ Ïtª ®Íæ$,ÚY»‡çBN‘®âz¯åŒÿm›i[dô%Õ¶+”¸æ£t$i7ùHȦ3Âw(‡²s:Ë@;(ß^Ù‰ŽvVúø)U„›C¶ X”¯Ë f–ŒÿUšPÂY‰Òi„®ö#—H?,~|">`Ö6Hª;ÄÌšR¦Ÿ±†än-d–-˜Q‹‰EÍc1£‚Áþ´ÊìüUecë«—óã‚%×Ü•+0üÐØ×¥ATׄ ft0‹çà¹aXÒW²J²zÀÊ“4Ò;WYt,Ð ?)“9ü+/å2¯IàÿÛ°Þvþ† -±@߸{½“fݶÚ]&*r2‰–i0Y'ôúc[_“Aª0I1w¡d2ùü‰NÞxìæŸt¡ÄÄ]ƒNƒ<²<|s(“Í®ôÚ -endstream endobj 44 0 obj [/ICCBased 51 0 R] endobj 27 0 obj <>stream -H‰¼WIoǾϯè£|˜f/ÕÛ!ÒŠ Nb€u$/¤)ch-lèßç«ÞgÈ'ÈASÕݵ|][_üõJ\|¥Äå·Wbù¸(áb’ÖZ‘¬—Ê‹µÑŸn—Å/ËÅÕµ§G¡$™À¿6Õ_ñxªËW×Båâúê/‹–äøM,ßaí§Çå£ÐyU ­¼Ôѯe´Qœæ?,«’ZÈAð·#¡eÀo%ŒôN‹ÓRIò^†àÄÖ!IãœH2y+ˆ=Z#‰yZ‚²R)Ý9Û´“'']Š]`§«FȨœbÒÖiØkëyè„'ÆfЬg/”O8|¹ü€m"ÄGá(J«Ð:H¯Bçhe -$œMÒG=h“¤²²Žœ­s>¡; 4ö.——±¯’¿.úŠjø #Óº1¦Ëú²¿9&ºO¯Qó á°Jó'.”<¢GÙ”t¨JÐPíÿëBgÀÃ<>9îÈåv¬åD‰»oä2 Ò`Y³W^Ëtìô¯ËJNåvßXKß³V‡=‘§³"÷ËÒ9¬uÅ„‡’ -1™¶µžOÜQÃ`EH%¤&6€{s%a-JÚ¤iVKŒ7ã àágØÚ8Ý$(üŽáÖåòoþ|ñÇ%¾}µ6ýêü/O¼Ãƒà1Ç`¦†´±Ó˜ÃÐj3óO—\L¹Ìq‰h$z+·ãN2˜C>ÜYyh]š§¸u]‘§T¸Fo òSD£³2C‘lHò<‘Éü³•ïb(aÜJ5LOË]Eí§çÓ¹©G@­N(ÈFcê ˜(Ï -&L+‘ -L - åÚøNÁà†R¦ g`ytŽÃ˜aDe0(F—1*ŠRin09W]”±@£m§yl)tùÝ*UŒµ8íwHý°\ÞŒgTÉôütª ~qsÃ0ÝÜ¡ƒ‡¤K«­Ÿ]ŠP ÆŽü›‡åÕ»‡ï?}ïîNï?Üþòx»mßÜü¼äNMâæ_Ë«;ñ‡Ý²ä¯·¯ÞC_îÞm·ËL¾ý¦ÕÒä£>½ÿùöôîä?¿üýó—·åàŸîN+kÏžûíÛöøì©±2޼¾yI]TÖÿ‡¤#ò­›Ÿ~¦„!+ÙL•ÀÐC¨x3!írTavÁH ГAâù•ThÆFdU¥!ó.¸Ò°UÎÚ|W¤B5îZÉØ×tËïÚÝœçÑO1r«ãÃà;U?«dʹ:MƒšZ’冟1¨†x1¬¦P€îcqÌ¥š°¦"{Ås(þZ eò¦ ðÈAhÙĽ2WH‰ç®à±ŠAÂ\”x©áW‡z žsc2ÀrÏ`fÈ}tÒe·ª~˘óßâ6áN7vµ²èžNx¯  -à)‚,jöîb¾Ò<"Ý•w]^q—²»J f뱤; {o“ãŠsaç­…&YÕ;¨ ´÷6aGpC=ZYB}˜½ET¡ëõ#ü¸÷XÇC#—|§Xõã­@0Ìb*ÒH<ÀlâqgLØ_¸EZp»¸&Ï̦@yºpà WcO@àpàX„ÑŽ3š àNw€œmpMfC«i8|IÕö~¦úÖd¼ÂYÇ‹ëY|ioäùb‡oç4,¸‚Nø"y Ïß~ñÄï&|F’4áÛéŽï³ NâÉlX5­ß‡ï¨ÚÞÎ4ßúí½¾E"s&‚ÝaŠ„ž—&„§ Aƒykh¬J‘&„œ 4å¨ÇE:™nž9ÛàT4ºÌŠV×Ú>rØŽj{?S}ë2÷Þ¿á¢Æöc_­”¸ëßÎiXpÓKV&hŽà#g[ð„Ý£l;LØjÀÛÉæÕ±uFÅ¡Ëk85Û‡ï§ÚÝÏT¿¶Ï_†mVãˆü‹êƒÃ»#;¡;8 -<¦ôˆD‡Qê¹þ9GÛr3ý ÁÓqcƒîø8Ûà4„›ÌŠV×Ú>rø’ªííLó­ßÚÞû!\ÕàMæ¯>¼þþJæ 0ܽr  -endstream endobj 28 0 obj <> endobj 39 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/XObject<>>>/Subtype/Form>>stream -q -/GS0 gs -344 0 0 296 459.6880188 190.3119812 cm -/Im0 Do -Q - -endstream endobj 40 0 obj <>/ExtGState<>/ProcSet[/PDF/ImageC/ImageI]/XObject<>>>/Subtype/Form>>stream -q -/GS0 gs -343 0 0 294 140.6880188 191.3119812 cm -/Im0 Do -Q - -endstream endobj 74 0 obj <
    > endobj 76 0 obj <>stream -H‰ìÐÁ‚@±µÿ¦ý+ pÌˤ„Ììy±KhÈiEjEjDjÄjÃjÃjÃjÃjÃjCkÂjCkÂjCkÂjBkCkÂjBkCkBkBkBkÂjBkCkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkBkb¼FkAkBkBkBkb¼FkAkb¼Fka¼Fka¼Fká³Õë¾V½>`cÕë²ÍU¯‹vV½.Ù]õºà`Uì]Ç©boù*ö²s©f¯¸p*÷Œ;¡À¿x 0Øxb -endstream endobj 77 0 obj <>/Filter/FlateDecode/Height 294/Intent/RelativeColorimetric/Length 4804/Name/X/Subtype/Image/Type/XObject/Width 343>>stream -H‰ì׉SÓwÇñîv«ÈH„#pä.E@¥\–‚"Gñ‚V‹‚¤Œñª9l½ÊÚ¢Bm= -ÔÖ"GU -hU„z@¡Àˆ,†9÷úþ’€€¦µvžÙáyÿ™Ékžùä›W^Á0 “×_0¹!(`/eúWLnTvœè«˜ÜÆã¾ ê¨èß$½†ML¢2fû°OM%šÓ$MÇ&&Q‘ðJev•2¥8f± Q& - -”®TVûÛª•˜R⩤¤¬¬B¥ŠÉ’p(++)^bKÉŽÂþ¦*¹ÔiÄTQ‰€ªª©«Óh4 Iô)ŸÔAƒFSWWSSUQV"²c°ò\eªTbªªFÓ 3šZZL&“…É"ZZšš ºM]M•ÈR°d -乎©’KU¦LZL–6[G—ÃÑ#éc$J‚ÃÑÕa³µ™Zšt uU%ÉÅÊsU® ¨¤¢F£k2µu8ú†\#c/Ëd -7jÀãq ô9ºl–ƒÀ*+ÎïúTUYU®Ébsô¹Æ|S3s¥¥••5&ËÊÊÒR`afÊçq ôtµ™ 5r°c®òUÕh &›c`Ä7XÍ´µ³wptrrÆd999:ØÛÙÚX ÌMx\}]m-ººê¨ë3çJX%»JT54YºF&V6vŽ.®n³=<=çxÉš;e˜3ÇÓÃÝÍÕÅÉÞÖZ`Æãê±™ šÄõ9ç*=V©ª–6Çon5ËÑÅÍÃkÞ|_?ÿ€€@i §l2€Àß7xÏõœíêd7S`j¬¯Ã’º>ç\¥Ç:}†’*MS[k"°qxÝÝk¾oÀ[o‡, 9e“„‡‡- ]èç3Ïó g;ksž.‹¡®¢¨0íµÉçJ=^¥&@EÁâpM-g9»y-ðZ¹tùÊèX¡0..nÕ” …±1Ñ+–½èëíáê`cÁ7ÐaÒÕ”GÏõ9Ǫ¬FgêšXÚ¹¸{û…F.‹‰{÷½u ‰’’DTïOá$¢¤ ‰ ëã×®Ž]èãåæhcÁÓgki¨*={®Öi -Ô° ø‚Y.óB"– ׬OJÞ”²%uÛ¶´í)-m[êÖÍl%Æ¯ŽŽZä7—¸šëiS30ù\¥ 9VÇÈÜÆÙ}~à⨘5 É)©;vïIß—‘™••egeeff¤ïýpgÚ–M¢u«VDWkS®.Sr®“Y% ¨B«‰•ƒ›wÀâ¥ÂxQJÚîô¬O9š““›‡‘rssŽ9t`æÞ©×DGûy¹Ú xúä\©u°c ÁäYÌzÝË/$J¸.yë®}Î9~âó“§NaEE……§O|–Ÿwì`öG;6‹ÖFGùx8Ï4ãê’uUT˜¸ÒwÙ†¶>ßÊÑ}APDL|rꞬC¹'N}yîÂ×Å%%¥XiiIIñ…ógÏäçÈØµE´fÅ’@ï7ȹê±èj“W@6­*4-®™‹—èò5¢­{öÍ?uæ|ÉÅKe—Ë+**IUS8êûWVT”—}ÿÝ7Åg¿(øôpæ®Í‰«¢B|=¬M Øšd¨·ÀdVE²Æ;·ùA‘„”]YGÿ^x®ôRyÕÕêkjkëêê®Oíˆ@mmMõµ+•eßuêøáŒ×E‡Îsµ5'+@£ÞãXǦ•΢6ÀÃwѲ5Éiûåž¿xù‡êº·n×ß¹Ó€54ܹSëæÚkUe¥gO}zà£TÑê¨`ŸÙö‡¼žÏJ¦ÕÀt¦‹W@XÌú”Ýçž:w±üjÝÍúÆ»÷455cÍÍMMîÝm¨ÿ©æÊåÒ¯ -r²wnŠ_êGV€¯¯=y\¥¬3”ÕlC3[×yoEÆ%¥¦>q¦ôòÕë·ï7·´¶µµ·w`íím¿¶þÒt¯ñVÝ•²â/òîÝ’8×ÅÆÔ€ÍǪ©Ã5'ÓúöÒw“wdåœ<釺Û?7µ´u<ì|Ô…Q=ê|ØÑÖòàç[5Ußž-8–™&ZýN·«­™¡ô7ëYVòÐ5ØÏö Yþަݟ/*)¯¾ÙØÔÚÑÙÕýX,îÁzzÄâÇÝ]­ºVV\˜·çƵ˂¸ÙYpuä³rŒ-<|¯\—²çà‰//VÕÕßoéxÔ-îéííë{‚õõõööˆÿÑÙÑr¯¾¶ò›3ù>ü ~Å¢7ÝíFÔSàVÉ_W&‡géèé°%ýÈçç.]½ÑØÜÖÙ-îíëïÄúûûz‰k[SÃ+ßýìÐÞÍë£C}=,9ëø§ÀÓg«ÏÊÉÓ?,61ußÑ“ʪoÝméè÷>Ɔ‡††žôŠ»:~¹{óÚ÷ç Ž¤oMˆYâïéhI½°&>\DZò­œæ„ 7lËÈ9õõåoßo}ØÝÓGT‡GFþ9å&®}=Ý[ïݪ.»pòXFjbl˜ÿ'+žžVU –ßÚÙ+ \˜´-3çtqyMýƒ¶ÎǽýƒCê¿0Jvh°¿÷qç¯êkÊ‹OçdnÛ  ¬üßc ŒˆKJËÊ-,©¨½ÓÔöHÜÛOn• þ{ÊGÁ’{íï?jkºS[QR˜›™–$ ôr¶æë±&ýÍzʪ/cmÏÊ“²¶w‰û†PUå:4Ð'îj—±f¥‰â"^œ5;¯¨´²®¡¹½‹L+u¬ä3ÿ3Õ£\%¬=]íÍ u•¥EyYÛGYõå±ÒGYW=eíèêy28ŒªÒ¨s|ÒÓÕ!cÍþ³¬ÿë¯ôu®“YW²Ò_õ:²Nj<ëõg5‘²¾/a­BÖɽ<ëÜ…‘È*¯ ¬UÖ÷¥¬&Èúò=—5rá\dýS!+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈú_öëþ¥é~ã8®ÊÛtnsóf¦›Î›¶LS[aj»ÊB]'Ô¥dR6I™5Ï F©'Ak]E72£. M)ÐJ$µB,W”šW˜¢LIÅ&3MíÀù|w£y“uâ¼òýü¼y}?_$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV¤_g•ìIFÖïµ$kòÉXù&Ö#ëSd]Ø<Ö§FÖ+ÿçYµÈº oYµÿVt¥TÕÉš1Ç:026>9=ƒ®TFÕ™éÉñ±‘9Ö «ÓYÕ·*k›Û:{Fôã“S„•rÅþCX§&Çõ#=m͵•·Ô?ÃêafUä«KM¬ºa½abj]QªÓSý°ÎÄZªÎW˜Y=~À*= Wä]ÒÜ{Üô²ãƒnè“aâËÔÌÌW»âûúuffêË„áÓîCÇ˦Ç÷4—òòÒåXíX|QØv©L~:âQã‹öîþ£d\¿{%°+¾r«_È´Ž~ìïnÑø¨Bs1ï´\&Ý&â{°œì¿Çê# -‹Š“=•[\RþðIëÛ÷}ƒ#zÃgâ:5MOOÕÏýÈ`ßû·­O–—çž:*‹‹ -ù|—•ÆâøC£b“ŽdŸ-ºy·º¡åuW¯nhToŸ˜˜œü‚MNNLŒô£CºÞ®×- ÕwoÍ>’*ôá°h‹Y[mmOsæx C"cg© -¯•=¨¦íèîÕ ã㟱ñqƒaL?:<Ø×Ý¡}Vÿ ìZ¡*ëpbLdˆÐ›ãL³·^ýÛR¬î<Á¦m»ÒŽŸ)¸z»ª¶©õMWOÿàÐÈè'½~ Óë?Ž ö÷t½imª­º}µàÌñ´„ÝÛ6 xîßaµsdºq‚ã÷¥SžWkÊkžkÛÿêéÓ ~Á¨†‡>êúzþj×>o¨)רÏ+¥î‹àº1í–fe¸zùoܺcoJ†"·èFÙýºÆ–Wí]ݽ}ý:ÝÀÀ 60 Óõ÷õvwµ¿ji¬»_v£(W‘‘²wÇÖþ^®Œ%Y­l.ž~Ä©,ý¤ªàJiEu}S‹öMG×ûî==½XooOχî÷]o´-MõÕ¥W -T'ÓeR‰xƒŸ§ ÃÁÖj)Öµtò÷* -ŒÙ(S™_|ýNeM}ãóVíë·íï°wï:;;Úß¾Ö¶>o¬¯©¼s½8_™yhLd¨ˆü»Ò×ÎgýæáÊñqO‘g«.¨Kþ¬¬®khzÖÒúâe[›V«}µ²#mm/_´¶)åPzƱãYÙ§N+9TÿZÉŠÓ§²³ŽËH?”’»3B,ôõrg™Žu«ñ-`ecïÈ`s¸~ Íá’]qñûe)©i‡•Ë322þ‰¹üè‘Ãi©)²ýñq»$ᛃ„~\›áhocµzÁÌ+5.\_A`È–ItŒtトÄ$™ì@²©”•›Yà€L–”˜°o¯4&Z±%$PàËõp¡&`ñ±YëjcçàäìÂñ∂BÅá‘’Ñ»cbã¤Ò=¦þ±r3 H¥q±1»£wH"ÃÅ¡A¢¾ÇÅÙÉÁÎÆ¸¬ XÍçjre²Ý=y¾ëEÁ¡â­áÛ"£¢¶KÌý¾r³lŠŠÜ¾U(ZïËótg3Mª‹Õr®«ÖP®4Ë•ãÉãû D6o - ÛŒY - Ù¼qƒHàÏçyr\Y ¥jœ€E¬ßº®u¤3Ù®œu\o¾Ÿ€@(‰þŽY‰„BA€¿ß›»ŽãÊfÒ×~_Õø0»ÚÚ;ÐèL–‹g§—çíãÃ7ç»’³ øøxó¸^žë8n.,&æ`o;§ºˆuÖuµ•59XšÙÅvqusçp> endobj 78 0 obj <> endobj 79 0 obj [0.0 0.0 0.0] endobj 80 0 obj <>/ProcSet[/PDF/ImageB]/XObject<>>>/Subtype/Form>>stream -q -/GS0 gs -343 0 0 294 140.6880188 191.3119812 cm -/Im0 Do -Q - -endstream endobj 81 0 obj <> endobj 82 0 obj <>/Filter/FlateDecode/Height 294/Intent/RelativeColorimetric/Length 4804/Name/X/Subtype/Image/Type/XObject/Width 343>>stream -H‰ì׉SÓwÇñîv«ÈH„#pä.E@¥\–‚"Gñ‚V‹‚¤Œñª9l½ÊÚ¢Bm= -ÔÖ"GU -hU„z@¡Àˆ,†9÷úþ’€€¦µvžÙáyÿ™Ékžùä›W^Á0 “×_0¹!(`/eúWLnTvœè«˜ÜÆã¾ ê¨èß$½†ML¢2fû°OM%šÓ$MÇ&&Q‘ðJev•2¥8f± Q& - -”®TVûÛª•˜R⩤¤¬¬B¥ŠÉ’p(++)^bKÉŽÂþ¦*¹ÔiÄTQ‰€ªª©«Óh4 Iô)ŸÔAƒFSWWSSUQV"²c°ò\eªTbªªFÓ 3šZZL&“…É"ZZšš ºM]M•ÈR°d -乎©’KU¦LZL–6[G—ÃÑ#éc$J‚ÃÑÕa³µ™Zšt uU%ÉÅÊsU® ¨¤¢F£k2µu8ú†\#c/Ëd -7jÀãq ô9ºl–ƒÀ*+ÎïúTUYU®Ébsô¹Æ|S3s¥¥••5&ËÊÊÒR`afÊçq ôtµ™ 5r°c®òUÕh &›c`Ä7XÍ´µ³wptrrÆd999:ØÛÙÚX ÌMx\}]m-ººê¨ë3çJX%»JT54YºF&V6vŽ.®n³=<=çxÉš;e˜3ÇÓÃÝÍÕÅÉÞÖZ`Æãê±™ šÄõ9ç*=V©ª–6Çon5ËÑÅÍÃkÞ|_?ÿ€€@i §l2€Àß7xÏõœíêd7S`j¬¯Ã’º>ç\¥Ç:}†’*MS[k"°qxÝÝk¾oÀ[o‡, 9e“„‡‡- ]èç3Ïó g;ksž.‹¡®¢¨0íµÉçJ=^¥&@EÁâpM-g9»y-ðZ¹tùÊèX¡0..nÕ” …±1Ñ+–½èëíáê`cÁ7ÐaÒÕ”GÏõ9Ǫ¬FgêšXÚ¹¸{û…F.‹‰{÷½u ‰’’DTïOá$¢¤ ‰ ëã×®Ž]èãåæhcÁÓgki¨*={®Öi -Ô° ø‚Y.óB"– ׬OJÞ”²%uÛ¶´í)-m[êÖÍl%Æ¯ŽŽZä7—¸šëiS30ù\¥ 9VÇÈÜÆÙ}~à⨘5 É)©;vïIß—‘™••egeeff¤ïýpgÚ–M¢u«VDWkS®.Sr®“Y% ¨B«‰•ƒ›wÀâ¥ÂxQJÚîô¬O9š““›‡‘rssŽ9t`æÞ©×DGûy¹Ú xúä\©u°c ÁäYÌzÝË/$J¸.yë®}Î9~âó“§NaEE……§O|–Ÿwì`öG;6‹ÖFGùx8Ï4ãê’uUT˜¸ÒwÙ†¶>ßÊÑ}APDL|rꞬC¹'N}yîÂ×Å%%¥XiiIIñ…ógÏäçÈØµE´fÅ’@ï7ȹê±èj“W@6­*4-®™‹—èò5¢­{öÍ?uæ|ÉÅKe—Ë+**IUS8êûWVT”—}ÿÝ7Åg¿(øôpæ®Í‰«¢B|=¬M Øšd¨·ÀdVE²Æ;·ùA‘„”]YGÿ^x®ôRyÕÕêkjkëêê®Oíˆ@mmMõµ+•eßuêøáŒ×E‡Îsµ5'+@£ÞãXǦ•΢6ÀÃwѲ5Éiûåž¿xù‡êº·n×ß¹Ó€54ܹSëæÚkUe¥gO}zà£TÑê¨`ŸÙö‡¼žÏJ¦ÕÀt¦‹W@XÌú”Ýçž:w±üjÝÍúÆ»÷455cÍÍMMîÝm¨ÿ©æÊåÒ¯ -r²wnŠ_êGV€¯¯=y\¥¬3”ÕlC3[×yoEÆ%¥¦>q¦ôòÕë·ï7·´¶µµ·w`íím¿¶þÒt¯ñVÝ•²â/òîÝ’8×ÅÆÔ€ÍǪ©Ã5'ÓúöÒw“wdåœ<釺Û?7µ´u<ì|Ô…Q=ê|ØÑÖòàç[5Ußž-8–™&ZýN·«­™¡ô7ëYVòÐ5ØÏö Yþަݟ/*)¯¾ÙØÔÚÑÙÕýX,îÁzzÄâÇÝ]­ºVV\˜·çƵ˂¸ÙYpuä³rŒ-<|¯\—²çà‰//VÕÕßoéxÔ-îéííë{‚õõõööˆÿÑÙÑr¯¾¶ò›3ù>ü ~Å¢7ÝíFÔSàVÉ_W&‡géèé°%ýÈçç.]½ÑØÜÖÙ-îíëïÄúûûz‰k[SÃ+ßýìÐÞÍë£C}=,9ëø§ÀÓg«ÏÊÉÓ?,61ußÑ“ʪoÝméè÷>Ɔ‡††žôŠ»:~¹{óÚ÷ç Ž¤oMˆYâïéhI½°&>\DZò­œæ„ 7lËÈ9õõåoßo}ØÝÓGT‡GFþ9å&®}=Ý[ïݪ.»pòXFjbl˜ÿ'+žžVU –ßÚÙ+ \˜´-3çtqyMýƒ¶ÎǽýƒCê¿0Jvh°¿÷qç¯êkÊ‹OçdnÛ  ¬üßc ŒˆKJËÊ-,©¨½ÓÔöHÜÛOn• þ{ÊGÁ’{íï?jkºS[QR˜›™–$ ôr¶æë±&ýÍzʪ/cmÏÊ“²¶w‰û†PUå:4Ð'îj—±f¥‰â"^œ5;¯¨´²®¡¹½‹L+u¬ä3ÿ3Õ£\%¬=]íÍ u•¥EyYÛGYõå±ÒGYW=eíèêy28ŒªÒ¨s|ÒÓÕ!cÍþ³¬ÿë¯ôu®“YW²Ò_õ:²Nj<ëõg5‘²¾/a­BÖɽ<ëÜ…‘È*¯ ¬UÖ÷¥¬&Èúò=—5rá\dýS!+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈ -²‚„¬ !+HÈú_öëþ¥é~ã8®ÊÛtnsóf¦›Î›¶LS[aj»ÊB]'Ô¥dR6I™5Ï F©'Ak]E72£. M)ÐJ$µB,W”šW˜¢LIÅ&3MíÀù|w£y“uâ¼òýü¼y}?_$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV$d YABV¤_g•ìIFÖïµ$kòÉXù&Ö#ëSd]Ø<Ö§FÖ+ÿçYµÈº oYµÿVt¥TÕÉš1Ç:026>9=ƒ®TFÕ™éÉñ±‘9Ö «ÓYÕ·*k›Û:{Fôã“S„•rÅþCX§&Çõ#=m͵•·Ô?ÃêafUä«KM¬ºa½abj]QªÓSý°ÎÄZªÎW˜Y=~À*= Wä]ÒÜ{Üô²ãƒnè“aâËÔÌÌW»âûúuffêË„áÓîCÇ˦Ç÷4—òòÒåXíX|QØv©L~:âQã‹öîþ£d\¿{%°+¾r«_È´Ž~ìïnÑø¨Bs1ï´\&Ý&â{°œì¿Çê# -‹Š“=•[\RþðIëÛ÷}ƒ#zÃgâ:5MOOÕÏýÈ`ßû·­O–—çž:*‹‹ -ù|—•ÆâøC£b“ŽdŸ-ºy·º¡åuW¯nhToŸ˜˜œü‚MNNLŒô£CºÞ®×- ÕwoÍ>’*ôá°h‹Y[mmOsæx C"cg© -¯•=¨¦íèîÕ ã㟱ñqƒaL?:<Ø×Ý¡}Vÿ ìZ¡*ëpbLdˆÐ›ãL³·^ýÛR¬î<Á¦m»ÒŽŸ)¸z»ª¶©õMWOÿàÐÈè'½~ Óë?Ž ö÷t½imª­º}µàÌñ´„ÝÛ6 xîßaµsdºq‚ã÷¥SžWkÊkžkÛÿêéÓ ~Á¨†‡>êúzþj×>o¨)רÏ+¥î‹àº1í–fe¸zùoܺcoJ†"·èFÙýºÆ–Wí]ݽ}ý:ÝÀÀ 60 Óõ÷õvwµ¿ji¬»_v£(W‘‘²wÇÖþ^®Œ%Y­l.ž~Ä©,ý¤ªàJiEu}S‹öMG×ûî==½XooOχî÷]o´-MõÕ¥W -T'ÓeR‰xƒŸ§ ÃÁÖj)Öµtò÷* -ŒÙ(S™_|ýNeM}ãóVíë·íï°wï:;;Úß¾Ö¶>o¬¯©¼s½8_™yhLd¨ˆü»Ò×ÎgýæáÊñqO‘g«.¨Kþ¬¬®khzÖÒúâe[›V«}µ²#mm/_´¶)åPzƱãYÙ§N+9TÿZÉŠÓ§²³ŽËH?”’»3B,ôõrg™Žu«ñ-`ecïÈ`s¸~ Íá’]qñûe)©i‡•Ë322þ‰¹üè‘Ãi©)²ýñq»$ᛃ„~\›áhocµzÁÌ+5.\_A`È–ItŒtトÄ$™ì@²©”•›Yà€L–”˜°o¯4&Z±%$PàËõp¡&`ñ±YëjcçàäìÂñ∂BÅá‘’Ñ»cbã¤Ò=¦þ±r3 H¥q±1»£wH"ÃÅ¡A¢¾ÇÅÙÉÁÎÆ¸¬ XÍçjre²Ý=y¾ëEÁ¡â­áÛ"£¢¶KÌý¾r³lŠŠÜ¾U(ZïËótg3Mª‹Õr®«ÖP®4Ë•ãÉãû D6o - ÛŒY - Ù¼qƒHàÏçyr\Y ¥jœ€E¬ßº®u¤3Ù®œu\o¾Ÿ€@(‰þŽY‰„BA€¿ß›»ŽãÊfÒ×~_Õø0»ÚÚ;ÐèL–‹g§—çíãÃ7ç»’³ øøxó¸^žë8n.,&æ`o;§ºˆuÖuµ•59XšÙÅvqusçp> endobj 73 0 obj <>stream -H‰ìÐÁ Â@ÀÀ¥ÿ¦ùCB f*°<pèÆGK¦vL­¸ZqµbkÄÖŠ­[#¶6lØñµakÄ׆­_¾FlmøÚð5bkÃ׆¯ _¾6|ØÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµákÃ׆¯ _¾6|møÚðµ1Æ&|MŒ¯ _¾6|mŒ± _ãkbŒMøš_clÂ×ÄŒ±_óèÛA¿ái«±±ñÕØu[[]¶½ÕØE{[]²¿ÕØëŽ®:{Õ««Î^q檵ï:}ÕÚÓÞ{êî W—ÿâ.À…‡{ã -endstream endobj 83 0 obj <>/Filter/FlateDecode/Height 296/Intent/RelativeColorimetric/Length 5010/Name/X/Subtype/Image/Type/XObject/Width 344>>stream -H‰ì׉SÓgÀñnk+$!Ü!@w¸oŽ€RäµÈ­¯"‚x¡ríZV¨¬õjQAG¹j‹ÄZ©¢° c1P¹µ»} ¡  nwÞigx¾@f~ŸyæyŸ¼óAÐkû 4C гߋú.4Cÿ»íDÑ÷ š¨ûÖªã¤sˆÞ‡&%@™#Â}+Y‘ª€ýÄDs¡I P¾BÚ7ËŽ«¨ÈSLLL%MˆA0„¯ˆö °cªBTD*!A"IJJ‘!A II ù"[!í»¯—°¢YLª¸IRŠ,--C¡P¨Âh³=!‘‘–&K¸âˆV(;3¬•˜U*‘Ri²t99y”$ˆ°“£ËÒ¨—,%’} ¬ˆm ’Y†J£ËÉ+*)+«0ª(&Ä$ e%Eyº,•"-%‰d Ø÷ÞÞuœULœ$%-C£#SU¦š‹¥Éfk¥=k °Ùšš, u5U†²¢<†dIbsg„ýUBÍ*]¡ª³ØÚ:zúŽ¡¡$ÈÐÐc ¯§«Íf©3J -H–ŒFv®hLug•¦ÈÊ+2ÔXl}Ž‘‰™¹…¥•µµ $ÈÚÚÊÊÒÂÌÄØP_W‹¥ÆP’§SÑÈŽÃN3®"V*]A…©¡¥Ç16³´™·ÀÎÞÁ‘Ëuæ~ìó¬Ì´”ä};¶nX°|‰£­©¾¦h`'-Á5@ĸjq,,òô ŽˆÚàÐá£9'óòÏœ-(,<+,,8{&?ïËœcYé)‰{¢7®ñ÷r±³2ÒVW"6ì+‹@¸Ä$¤(rh\Ml¹nޫãv'üìØ§Îž/ºX\RZVV•—••–_¼p¾ ÿäñéÉqÑ‚}<œç›é³òÔ)‹@´¤i -ªlŽÅB—e¡‘»’R³²ó -ŠŠË.WT~[U]}•¨fÖ&øüêꪪÊ+_——\(<•s$-yOTت®öV†ZLEY´„ÁDWt HÊЕÔtŒmÝ}B6ÅÆÌÊÉ?_üÕ•ªk×oÔÖ×ßD5Ìêúúºß_«®¼\Rt:÷HjâÎ-ký<æ™èj(Ó)¢;Éu®p è™Í_ä¸>*îÀgÙùÿ*ý¦ú»Ú†[wššš!TSÓÝÆÛ uׯV”]8“•²/:|Õr—…æšh vWt 04 ,ì\?úxclbÚѼó¥5µ M÷ÿûÞȵ>n–M†Ej:Wtf149–n¾k·î=x4ÿbÅõ[÷Úxüî>¤:<22 -ŽŒŒ ôuóŸ¶Ý»ýý•K§¥î‹ZçëîhÅa3ä‘ëÄCKxf!Wy›cåèîµ?õøéKWn4>xüSWoÿàðÈè‹/^ÎúÂ(‚íïíêøñAãÊâ3'Òâ·­÷÷p´6d«¾zÀŠþ ó•mhíèá¿~[ü¡gK¾­½ó°ýÙÏ}CˆõåË_ _Ú‘a4°ÏÚ[îÖU•d§'D‡ù{r_慠\¹žèÌJHÏ.(­ª»Ûò„ßý|p±¢ýϬE;ø¼›ÿ¤µ©¾º´ '=1&,ÀÓÉÆHKUJžÉUËÈÆ ¹Æ$¦ç–U×7µòø=ýC#ëýMŽØ‘¡þ>p-+ÌÉHŒ \ú:W2UAàº40|{b†ÈµsÌýæg}¬Àµ·“÷¨ùæÕ²ÂÜŒ¤íc®Ì·pMÊÈ=W~õfó#^goÿÐè b\ÿèú3D ì‹ÑáÞΧ„kù¹ÜÌ·qeŽ»f޹>íì} ¬cûªk„È•6½+Mä®35ѵá÷º6€ë«+ž&¹Ö\c…®Úàú4­k—ó\µlœ½‚"b®5à:%pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<ë¯ì×ù;ÕyÇñkîK%û±oÇ~ìYOB–TB´¨l“e¹3-¤f´wS#qÚÔt7*Z¦IÔ41¨¦Ë(îI¤8"ëÌuÝŸï÷ekrw_ŸÿÁy\¯ë}>_˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð¦OtÕ59Ç;0r3íZ‚®cBW˜Æu ôžƒ®ÿ_#\Kh×Í|W݉»>D×Ñ}Š«ôkº~¨á®'ìªöΕ+påµvv÷ þ…°t„õ¯ÁÑ®C®ÒuMäfæä—W×óZ;º{û©Á",a%sìïíîlå \¹u—V ]½ÂcÓ†\[®,FæJ»v´òê«Ë‹ós2¹‰C®jãÊ2á¸×M»Ò2²óŠÊ×5µ´wõô P°(KT ë@OWGK“À5-16<Àë#®Lâê¼Ð?,&!5ýÂõ_J=m|õúÍÛÞ~KÉNúþüsp°¿¯§«ýUcÝã²¢¼ìŒ´]›ˆ« ÇDWMAZ|×éâ âʶqöô[Ÿròܵ‚UµÏÿhëìîé#°ƒ„v²GúûÈy}Ýü¢¶êAaîùôÔ„˜0ÿ…Ä•5®«ÐTâ*ÏÔa[;yø†nܱïxÖ·­ü½×ÒþæmOo_ÿ6ÐßOXßvu´¾lxòÛý‚kçN¤ÄG¯ñót¶a³˜ -Œq]ÅòªÚÆVŽîËCÖoûö迯ütçau]cs[Ç›n"ÛÛ‡õõööôtwu´57Õ×TܽuõûcÉ;6†úz8Y³u˜ò ñéã¹JÉ©hY:¸ù÷Í¡Óó‹J«ž445·µw¾éêî~‹½íîîêêìh{Å{^û¨¼äæå3Gön[²ÜÝÑÊX[•r*4Ž«¬²¦¹Ý¼%+ÿ¹%‰›q!÷ö½Šê§ÏyÍ-m¯Û;::±ÎÎŽŽö¶ÖfÞ‹ºšÊû…×sNÜýuT°›ƒ¥‘–Šœ”Ø8®Â¢’²Jú3l]½ÉC+>åøÙ+7‹K+kž64òþxÕÒÒŠQµ¼j~Ùô¼î?Ue%·®ž;™š¸9rå’yvæšÊc]?û‡ÐaQ Eu]S޳§oè†m{ʾöó²Êê'u Ï›x<ÞKŒÇkj|ÑP_[SU~¯ ï♣É;£Ã¼]mgèk(ËJŠ -w}ÿ!«ÀÔ1¶š½À狵[÷?{)ïöÒŠªêßkŸÖÕ×?Þ=«¯¯«}Ró¨²ì^á²Ò¹»ãÖ…¬ðtæÏX%™¸’‡–ª–¡…ÝÜEaÑÛ÷ÌȺœ÷sñ½ÒŠÊªGÕÕ5©ºúqÕoe÷K -n\½púHr|ldÐR·ÙVÆ:L…QŸ[WúA ¬¡o6ÓÙsŪ¨- ûgf]ʽYPt÷×¥ååI“;"P^^öàþÝ’Â[yWÎw,5)nýjoW;sC-ê90Ž+ýÇ%£¨Æb[9Ì_¸fC\RÊጳÙWróº]øKQqq ÕIýóKŠ‹‹ - nݼ~õbÖ©cißl‰ ZæîÄ1ÕÓàÿmu"Ì?3l]<–EDoMÚwðÄéï/\ºòcîõ¼üüØüü¼¼Ük?\ÎÎ:“~dÿî±kCü¼çÚ[ë¨)Ž9¯ôƒ€Xꫤ®Ë¶²Ÿëå—°'õÐñÌïÎf¿“s»˜““}þÜÙ3§Ná&'m - X²À‰c¦¯¥Bá)#\ßò" ƒ5ã8Î_ä±aËöĽ)ÜÃGŸLÏÈ<…‘233ÒO;| 5yw|\ÌÚÐ@—YÆ,5%Yrøçu”+õ" Ë22·ur[ä´&*ú«í ÿÚóí¾ý©i\îì—›–¶?%yïî];âb×G¬ -Xêéjoe¢§©"/-1ú Юô‹€ V^ES—mA`½—® -Ú°é«­ÛwÆ'ìJLÂH‰‰»vîØúõæèu‘«ƒ|—x¸:ؘh3e¥¨×À(×áƒUdjéXÇyž‹W¯ŽXûåú1›bc7Óm™´ñl즘è ë¢"ÃBVúûx¹¹ØÛ˜²Ô•åÔ\ÉãJ –\X†œkÎqp™ï¹x™_`PpÈê5aá¤ÈÉ1[ºê‹ÏýW,õvŸë8ËŠ°j¨(ÈHR×uô\ù/!êI !MÛYÙÎv™ç¾pÑÒeË}ýüé>Ÿ´ñ`€¿¿ßŠå>‹½<Ü\ì8&4+¹ãÌõý`EÄ$)XM–ÛÜz¦½£ËÜù Ü=zyyó[4ixy-ôôpw›7ÇÙaÇÒÌHO[fšëhWz°XEUu-]C¶™…õÌYö³œ]\æðs´ æ¸8;9Îv°³µ±275Ö×Ñd*c=WÁ`° Y%¦†6K߈m:ÃÂÒÊچÙ‰ñãØØX[Yš›™êéhª©(ÊñY§òYǺ¾‡•’–SPVUÓÔféé³Ù&&¦?¶±±¡¾®Ž–SEQ^–!I³ŽwFÂN—”’‘SP"´êZÚÚ:,–® ½IÛ‹ÅÒÑÖÒÔPgª()ÈÉ2¤$ÄD¬c¯ÀØiÂ"¢âd³2ròÄVEE•ÉT#©cꔓÉTUQVR$¨Ò I 1ÑéÂä¶ŽFÀR““”bHËÈÊÉË+1:ÊB^^NVV†B§U©±~˜u–žì4šV\B’à2Òüd&{|"%E™Š‰ŠÐªô ø0«–L–Úì4aB+"**&&N%ÑÑb„”˜T¾*¬d¥aiY-±žNÁ†E‰bJ¡ÒªaåÃòeiÚ)S©¦a#¢Q:Õá²-…+DûbâQ„hêGUßÉÒ´\lœø>ŸMXuí;]llïˆ&®:’û›þ7SÔ@ŸJŠaØdé¿ ·ø -endstream endobj 72 0 obj <> endobj 84 0 obj <> endobj 85 0 obj [0.0 0.0 0.0] endobj 86 0 obj <>/ProcSet[/PDF/ImageB]/XObject<>>>/Subtype/Form>>stream -q -/GS0 gs -344 0 0 296 459.6880188 190.3119812 cm -/Im0 Do -Q - -endstream endobj 87 0 obj <> endobj 88 0 obj <>/Filter/FlateDecode/Height 296/Intent/RelativeColorimetric/Length 5010/Name/X/Subtype/Image/Type/XObject/Width 344>>stream -H‰ì׉SÓgÀñnk+$!Ü!@w¸oŽ€RäµÈ­¯"‚x¡ríZV¨¬õjQAG¹j‹ÄZ©¢° c1P¹µ»} ¡  nwÞigx¾@f~ŸyæyŸ¼óAÐkû 4C гߋú.4Cÿ»íDÑ÷ š¨ûÖªã¤sˆÞ‡&%@™#Â}+Y‘ª€ýÄDs¡I P¾BÚ7ËŽ«¨ÈSLLL%MˆA0„¯ˆö °cªBTD*!A"IJJ‘!A II ù"[!í»¯—°¢YLª¸IRŠ,--C¡P¨Âh³=!‘‘–&K¸âˆV(;3¬•˜U*‘Ri²t99y”$ˆ°“£ËÒ¨—,%’} ¬ˆm ’Y†J£ËÉ+*)+«0ª(&Ä$ e%Eyº,•"-%‰d Ø÷ÞÞuœULœ$%-C£#SU¦š‹¥Éfk¥=k °Ùšš, u5U†²¢<†dIbsg„ýUBÍ*]¡ª³ØÚ:zúŽ¡¡$ÈÐÐc ¯§«Íf©3J -H–ŒFv®hLug•¦ÈÊ+2ÔXl}Ž‘‰™¹…¥•µµ $ÈÚÚÊÊÒÂÌÄØP_W‹¥ÆP’§SÑÈŽÃN3®"V*]A…©¡¥Ç16³´™·ÀÎÞÁ‘Ëuæ~ìó¬Ì´”ä};¶nX°|‰£­©¾¦h`'-Á5@ĸjq,,òô ŽˆÚàÐá£9'óòÏœ-(,<+,,8{&?ïËœcYé)‰{¢7®ñ÷r±³2ÒVW"6ì+‹@¸Ä$¤(rh\Ml¹nޫãv'üìØ§Îž/ºX\RZVV•—••–_¼p¾ ÿäñéÉqÑ‚}<œç›é³òÔ)‹@´¤i -ªlŽÅB—e¡‘»’R³²ó -ŠŠË.WT~[U]}•¨fÖ&øüêꪪÊ+_——\(<•s$-yOTت®öV†ZLEY´„ÁDWt HÊЕÔtŒmÝ}B6ÅÆÌÊÉ?_üÕ•ªk×oÔÖ×ßD5Ìêúúºß_«®¼\Rt:÷HjâÎ-ký<æ™èj(Ó)¢;Éu®p è™Í_ä¸>*îÀgÙùÿ*ý¦ú»Ú†[wššš!TSÓÝÆÛ uׯV”]8“•²/:|Õr—…æšh vWt 04 ,ì\?úxclbÚѼó¥5µ M÷ÿûÞȵ>n–M†Ej:Wtf149–n¾k·î=x4ÿbÅõ[÷Úxüî>¤:<22 -ŽŒŒ ôuóŸ¶Ý»ýý•K§¥î‹ZçëîhÅa3ä‘ëÄCKxf!Wy›cåèîµ?õøéKWn4>xüSWoÿàðÈè‹/^ÎúÂ(‚íïíêøñAãÊâ3'Òâ·­÷÷p´6d«¾zÀŠþ ó•mhíèá¿~[ü¡gK¾­½ó°ýÙÏ}CˆõåË_ _Ú‘a4°ÏÚ[îÖU•d§'D‡ù{r_慠\¹žèÌJHÏ.(­ª»Ûò„ßý|p±¢ýϬE;ø¼›ÿ¤µ©¾º´ '=1&,ÀÓÉÆHKUJžÉUËÈÆ ¹Æ$¦ç–U×7µòø=ýC#ëýMŽØ‘¡þ>p-+ÌÉHŒ \ú:W2UAàº40|{b†ÈµsÌýæg}¬Àµ·“÷¨ùæÕ²ÂÜŒ¤íc®Ì·pMÊÈ=W~õfó#^goÿÐè b\ÿèú3D ì‹ÑáÞΧ„kù¹ÜÌ·qeŽ»f޹>íì} ¬cûªk„È•6½+Mä®35ѵá÷º6€ë«+ž&¹Ö\c…®Úàú4­k—ó\µlœ½‚"b®5à:%pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<+žÀOàŠ'pŸâ \ñ®xW<ë¯ì×ù;ÕyÇñkîK%û±oÇ~ìYOB–TB´¨l“e¹3-¤f´wS#qÚÔt7*Z¦IÔ41¨¦Ë(îI¤8"ëÌuÝŸï÷ekrw_ŸÿÁy\¯ë}>_˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð&t… ]aBW˜Ð¦OtÕ59Ç;0r3íZ‚®cBW˜Æu ôžƒ®ÿ_#\Kh×Í|W݉»>D×Ñ}Š«ôkº~¨á®'ìªöΕ+påµvv÷ þ…°t„õ¯ÁÑ®C®ÒuMäfæä—W×óZ;º{û©Á",a%sìïíîlå \¹u—V ]½ÂcÓ†\[®,FæJ»v´òê«Ë‹ós2¹‰C®jãÊ2á¸×M»Ò2²óŠÊ×5µ´wõô P°(KT ë@OWGK“À5-16<Àë#®Lâê¼Ð?,&!5ýÂõ_J=m|õúÍÛÞ~KÉNúþüsp°¿¯§«ýUcÝã²¢¼ìŒ´]›ˆ« ÇDWMAZ|×éâ âʶqöô[Ÿròܵ‚UµÏÿhëìîé#°ƒ„v²GúûÈy}Ýü¢¶êAaîùôÔ„˜0ÿ…Ä•5®«ÐTâ*ÏÔa[;yø†nܱïxÖ·­ü½×ÒþæmOo_ÿ6ÐßOXßvu´¾lxòÛý‚kçN¤ÄG¯ñót¶a³˜ -Œq]ÅòªÚÆVŽîËCÖoûö迯ütçau]cs[Ç›n"ÛÛ‡õõööôtwu´57Õ×TܽuõûcÉ;6†úz8Y³u˜ò ñéã¹JÉ©hY:¸ù÷Í¡Óó‹J«ž445·µw¾éêî~‹½íîîêêìh{Å{^û¨¼äæå3Gön[²ÜÝÑÊX[•r*4Ž«¬²¦¹Ý¼%+ÿ¹%‰›q!÷ö½Šê§ÏyÍ-m¯Û;::±ÎÎŽŽö¶ÖfÞ‹ºšÊû…×sNÜýuT°›ƒ¥‘–Šœ”Ø8®Â¢’²Jú3l]½ÉC+>åøÙ+7‹K+kž64òþxÕÒÒŠQµ¼j~Ùô¼î?Ue%·®ž;™š¸9rå’yvæšÊc]?û‡ÐaQ Eu]S޳§oè†m{ʾöó²Êê'u Ï›x<ÞKŒÇkj|ÑP_[SU~¯ ï♣É;£Ã¼]mgèk(ËJŠ -w}ÿ!«ÀÔ1¶š½À狵[÷?{)ïöÒŠªêßkŸÖÕ×?Þ=«¯¯«}Ró¨²ì^á²Ò¹»ãÖ…¬ðtæÏX%™¸’‡–ª–¡…ÝÜEaÑÛ÷ÌȺœ÷sñ½ÒŠÊªGÕÕ5©ºúqÕoe÷K -n\½púHr|ldÐR·ÙVÆ:L…QŸ[WúA ¬¡o6ÓÙsŪ¨- ûgf]ʽYPt÷×¥ååI“;"P^^öàþÝ’Â[yWÎw,5)nýjoW;sC-ê90Ž+ýÇ%£¨Æb[9Ì_¸fC\RÊጳÙWróº]øKQqq ÕIýóKŠ‹‹ - nݼ~õbÖ©cißl‰ ZæîÄ1ÕÓàÿmu"Ì?3l]<–EDoMÚwðÄéï/\ºòcîõ¼üüØüü¼¼Ük?\ÎÎ:“~dÿî±kCü¼çÚ[ë¨)Ž9¯ôƒ€Xꫤ®Ë¶²Ÿëå—°'õÐñÌïÎf¿“s»˜““}þÜÙ3§Ná&'m - X²À‰c¦¯¥Bá)#\ßò" ƒ5ã8Î_ä±aËöĽ)ÜÃGŸLÏÈ<…‘233ÒO;| 5yw|\ÌÚÐ@—YÆ,5%Yrøçu”+õ" Ë22·ur[ä´&*ú«í ÿÚóí¾ý©i\îì—›–¶?%yïî];âb×G¬ -Xêéjoe¢§©"/-1ú Юô‹€ V^ES—mA`½—® -Ú°é«­ÛwÆ'ìJLÂH‰‰»vîØúõæèu‘«ƒ|—x¸:ؘh3e¥¨×À(×áƒUdjéXÇyž‹W¯ŽXûåú1›bc7Óm™´ñl즘è ë¢"ÃBVúûx¹¹ØÛ˜²Ô•åÔ\ÉãJ –\X†œkÎqp™ï¹x™_`PpÈê5aá¤ÈÉ1[ºê‹ÏýW,õvŸë8ËŠ°j¨(ÈHR×uô\ù/!êI !MÛYÙÎv™ç¾pÑÒeË}ýüé>Ÿ´ñ`€¿¿ßŠå>‹½<Ü\ì8&4+¹ãÌõý`EÄ$)XM–ÛÜz¦½£ËÜù Ü=zyyó[4ixy-ôôpw›7ÇÙaÇÒÌHO[fšëhWz°XEUu-]C¶™…õÌYö³œ]\æðs´ æ¸8;9Îv°³µ±275Ö×Ñd*c=WÁ`° Y%¦†6K߈m:ÃÂÒÊچÙ‰ñãØØX[Yš›™êéhª©(ÊñY§òYǺ¾‡•’–SPVUÓÔféé³Ù&&¦?¶±±¡¾®Ž–SEQ^–!I³ŽwFÂN—”’‘SP"´êZÚÚ:,–® ½IÛ‹ÅÒÑÖÒÔPgª()ÈÉ2¤$ÄD¬c¯ÀØiÂ"¢âd³2ròÄVEE•ÉT#©cꔓÉTUQVR$¨Ò I 1ÑéÂä¶ŽFÀR““”bHËÈÊÉË+1:ÊB^^NVV†B§U©±~˜u–žì4šV\B’à2Òüd&{|"%E™Š‰ŠÐªô ø0«–L–Úì4aB+"**&&N%ÑÑb„”˜T¾*¬d¥aiY-±žNÁ†E‰bJ¡ÒªaåÃòeiÚ)S©¦a#¢Q:Õá²-…+DûbâQ„hêGUßÉÒ´\lœø>ŸMXuí;]llïˆ&®:’û›þ7SÔ@ŸJŠaØdé¿ ·ø -endstream endobj 33 0 obj <> endobj 34 0 obj <> endobj 35 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 93 0 obj <> endobj 90 0 obj <> endobj 94 0 obj <> endobj 89 0 obj <> endobj 95 0 obj <> endobj 32 0 obj <> endobj 96 0 obj <> endobj 97 0 obj <>stream -H‰”’wtUUÆ÷9'粿ó"é!*U"JZ „Ф¼¼$$˜¼„÷‚´Œ:ê8€Ê8Œ2##X¤÷®(½÷šô>7×YóǸ˜Y®³îï®ï»{ïs÷>‡•¥±¤h`ûÔ –ž¼i;%DÕ“Së7œZü|1Qõ†¶7Лï)lLÛ'Øú}¢ˆéÞaEîœqf5©K$² 埈ч¨©(dÊ ¼ÙÏN˜8†¨“$ -ÎÌÉòdÖ9òÎGDéÙv½Æ9¶ÕFv°õǶ®–“_4<¼õÎn¶^EÔàP^×CcóÜD“íï )ß3¼0Ôzšhii¼ÛçÉÏZÛ^eÙzQùë…¢}:ÚûïžK4½R¡?«ÐÓ/÷3;ˆäMö*+î©^DUKH·MLJäñ{2ÈíáÏ£·s²2ü‚òD†D”¶njJôø1EÙ; -’öœ‚H“Eeì©…P(…Q„ý-šÊQ ÅRyª@‘N|ôoâŸúOFøgˆx’ íSÜšš’঄'Tà'WxBFðÿȰgF‹I·iæ¦Å]’“ÜT¥k’ÝoZ·¤Înš˜’ÜÅöŸP¿ûOÌïÎpýŸŒ'ŸÈoãã<ž¼"šã-å|¯'E‹½ÞüBZ‘é+ȧMÙ¹>íÈö{¼´+×—[DGì»—G§^pxÕá-‡J)d~Vf®`ßÐ|¿([àÏô‰H¿7¯HÄùór‰*kú‡ù}">ëËø†¢i Р‰h4Œ‰¡‘Z)#³ü¾™vG¥}•>¿vXÍfi¥ó(ÕÖuÜ8zš*:º¶Ã‡!Æ:Œtî°ŽÃòÎN•©ª£j:¬çxõœ79NŒÃêk8|Æa9‡±kQþŒ)˜Šiøâ#LÇ_ð1þŠø>Á§˜‰¿ãø ³ðO|ŽÙ˜ƒ/ð%¾Âט‹o0óñ-`!á;,Æ,Å÷X†åX•X…ÕXƒµX‡õØ€Ø„ÍØ‚­Ø†íØð#vâ'üŒ]Ø=Ø‹}Ø8hÚ™DÓÞt0M'ÉœÅ^Î4M’ébºšdÓ§šî<ͤ˜T“fªs1`z˜tþÔô4½LoÓ‡?4}ËLq]t•¸.¹®¸®º®¹~q]wÝpÝtÝrÝŽ~.8‹„Ȱot%BÃiÍ Oh6í¦ãôHh‘.ú‹¢XLïŠ%b§8$ÎȲ2D†ÊYNÆÈXY^Vq²¢¬"«Ë:²®¬'ëËxÙLΖóäB¹D.—«åz¹YnSŸ«9êKõµúFÍW Ô"µX-UËÔ -µJ­QkÕzµQmV[Õ.µGíSÔ!uDS'Ô)uFST‰º¬®ª_‚îÝ z¤IiK¬Cu¸ŽÖ1º£î§höê,=HçêWt¾.ÐCt‘¦‡ë‘z”~]OÐõ›z—>¯/êÛúž~`Y-¬–Ö(k¬5Þ*¶&Y'­SÖiëŒuÖ:g·.X­’2éü¿ÈM¸)7ãæÜ‚_â–ÜŠ[s·á¶Ü޹=wàŽÜ‰;swᮜÌݸ;§p*§qNçe¼œWðJ^Å«y ¯åu¼ž7ðFÞÄ›y oåm¼wðü#ïäŸøgÞÅ»yïå}¼ŸðA>ćùåc|œOðI>ŧù Ÿås|ž/ðE.áK|™¯ðU¾Æ¿ðu¾Á7ùßæ;|—ïñ}~Àù?A@B!Ê€¸Œ§P!EÂHD!åƒX”GÄáiTD%¸QUPÕP5ð j¢j£ê¢žE}Ä£â94ÂóhŒð"š )šáÎã¡ 5a&ÜD˜(mÊ™kÊ› -&ÎI=¨A°‘4–&`¸4äµ´–Á~I”´“h0zÑŒ—Á~IФJø t‘ °‡ôì“ô‘¾Ò|XJ&8H öÉ\1Wešcd–—ˆ8×KÀo¯ÉY.–¥‚5—²JVƒoÉAnÊzÙ Á÷ä}Ù~ ÉðùT>?—/e;ø•ì”]àÉ“}à9(‡À"9&¨}9%Å‚µ„Š•sà%¹,¨}¹ -MÃÚÉu'1µZA}`E­¤¨}­¢U5¬®5´&XKëhXOhC°‰6Õf`sm¡-ÁÖ¡mÀ(m§X3ÑXÅšA'Ñ1€©ÐËÎ`†vÓî`/}H{ƒ}¡¡ÀL¤Ð}LWhƒŽÔQ -MÐqú¬B ôy¤“Ñ|=€îù´^tX ÐEŸÑK¸:ˆnú½Œ«CèªÏj ®£»>§?àª]öy½‚«¯Ñm«WqU®Í¸:Šîû‚^ÇUºðïõ†c ÎÐ]huKÄNŠ ÍŽAlh!Öµõ£l;ÄÛ±¶­ƒØÔ6CL·[ÙÖˆñ61Öb% ÿmÜÕ·È9km´…ØZðƒ¶ø6Ì>€n›#&ZèºM²Ð{ÿ%)\z7Î9›î=é˜æˆ9iΘ æºù…ˆ|T[šRkЦ8J¥®ðØ4„ž„ËŽ†ÏއÓN×N‡ÛÎß.‚㮄箥}pÛkt>«ìqUáZ\›pKnË1ÇIœÆ]¸;?Äýx áa<šÇðs<‰_âWøUxïb~ƒWñ^Ïïò&þ?æÏø ÞÁ»x/â#|ŒOñù,Ç—ø -ßà_ÄÀ“+I5©-u¥¡4“VÒV:H¼¹³t‡;GdjÙYjœy¹dÉ:yW6ËÇpç’+ùrTNÊi¹(Wä¶*ü9ªuáÑápé¶ÚAã4E»hOí£uˆŽÐ§u‚æèNÝ¥»5W÷è^̓Sï·®5–,[±Š½ ²¬Ïú­g+ÚJ¶² ¶Uàà!¶v±–?÷§Z§•â¥{i^ª—âÅy¼d/ÉãÅóÏ8;ZœC¤–—è%h2ƇÜoù&zEg^Ý þ+ªåwO7Ùè§¶ £Ú†ž*]UžÉÇéôN¦~œJkÊ,™«‰ÿ÷é¥ÐD†CûOOpô·§×pÒ/1½œb׸MÝnø¥ºÛÆmïÆ¹‰&Æt,ï!sïßEâ0£ >ÍœÀ?LuNà|”g<ÇEg8Íq1¿Y\è/t f VÐ{æLJ÷àïjï0Þç›èB!ñ^Ôšéh:bf`¾[6ß-›ï–Íw1_ðÛá²ßŽ`\‘ÿ8â ÿIŒˆð"ÊF¨S­Œw×ÓqÑýí.¨|„SþíÝNÙ S~¿1zϘ -÷cïãûýžº‘nRàS~Ò¼tÿ³æ¯äWyxM×ßg¯µö¹k範"$DÌ!5Æ<&"2HB(óPcÍTͪEQC©¹æ¹(1<÷œ½÷Ygïµ×úýÖÏs¦ÆGÿÛ9d×òNËíùªñ§´B}.üáXUg,ýe, ¿YWÓ¤9CSy -üž³î§æ9Ôj®••Š?ð‚ûçòZ‰6÷¯‰×=Ö¬ÖAs pb!ÀŠôòTnb©XcM²>2=(‹ÕÖkš× á#2ÄqQdŠKÖ£[öZû¬ýfúˆÑO  EºøÍJ²Ú[ã¬4“»˜³Š¢ž(tbEs=ž¼F«FöqV˜×·Ü†ÛvAó  "x† -?©¥tËh#ceœQGñ2A&ʲ¥L’­d™,Sd[ù¦lçdÙ)ë’uSúU•W0ʪ ,$ KYT—Á²œ,/CdE£µjå|Å2Ž÷xTæÎ9¹*®—i/V“ßY©''…““ÁNNÖ¿šßE«¬UNdZ!Vˆ¸l5²‹+V¤ÕÔä~Œ'¾³­DqÃÉÞ›žìµJ¿òåíNäמ?†¿1ì{Ú°íYÃ®ç ›fö,kX³šaË¢†%+v,iX±¼aÃ0ÆùB ß•6<çuÆÚ=õ£º¯¨‡ê'õÈ(§Çê‰ÝÈ.gײ«ÛAv€]Ù®h¶KÙávˆ]Ç®aÛÅìªöv»Œ]ßצR8¨N˜´ì|B{ÐÚœòË]l~Þ{z¾Ä³';É«o†‰åD³¦ÎÉökÃìðÌWOsúËf÷z2ÝÔ%ße?ÿnÿ‰Ó]ÝÍÆ ÕÎÛå /fÏF©k9výsF<ï;;ræ ±Ú½šÖa눧91l‰!âš™ñ2Âóeÿ#ÿjеáäc_/%„ïA¡ß±@8Xàv° —ƒ¹½÷š•Ëc[Oô²-‚t¸ŽÐMt¤nª£t>Wª«³«£«“n¦£uŒŽÕqº¹k–ŽwÍÖ :Q·ÐÁ®q®9º¥Nr-Ñ­tkÝF'»æêcˇoó¶Yœ%¤Î£Mmªýt1aë $òé’º¤ðÓet9‘_‡èQPWÔUD!]MWº¦®%н\™!sm®Ãu¹×çÜqcçn‘ܔ£¸Gs Çr7çxNàDnÁ-9‰[qknÃÉœÂmùMnÇí¹¿Å©Ü‘;qgîÂ]¹wçÜ“{ñÛÜ›ûp_îÇýy¿Ãyæ!<”‡ñpÁ#ù]ÅïñhÃcyç <‘'ñû<™?ày -OåiüOç<“?æY<›çð\þ„çñ|þ”ðB^Ä‹y /åeü/ç¼’Wñj^Ãky¯ç ¼‘7ñfþœ·ðVÞÆ_ðvÞÁi¼“wñnÞÃå½¼÷óßøäC|˜ðQ>Æ_òW|œOð×|’¿áS|šÏðYNçs|ž3ø_äL»¹ª»’ IîæZ&¼±B;yrð¥Çå1Ož•™òš¼#È‚Pð…üPJ@Yx D@ ´€H…®ÐúÀ ÃaŒ…‰ðLƒ™0æÃ"X+á$œgð"ú`w¾ŽE0Ë`(VÅšXbFa,&`¶ÅŽØCuÆ~8GâXœ„Sq&ÎÅOq1.ÇÕ¸7ã6LÃ=¸á1<‰éx/ã5¼wð>ÄǯTiE¨SY£«P ªK(’b)‘ZS[£ôfÐ\ZHËhm ­´“öÑa:N§)“®Ñ-z@•TZùª¼ª€òWÅU)UNUTUT UO…«fª¹j©RTªê©Åó2fkž‘åUy[Þ—ÏäsPüÀ‚  „Bu¨ á ‰ oA轡? ‚að.Œ 0¦Â ˜ ó`!,…ð5œ†@jôuGaôÇâX+b¬u°†cSŒÁxl‰)˜ŠÝU싃pŽÁ‰8gàœ‹ð3\…ëpnŸ÷áA<Š'ð,fà%¼Šßãm¼‹ðçW*Q -¤T†B¨2…QjHM(†¨¥ÈŸh:Í¡´”VÒz£zÓŒÒ=dÔí)£h¯{Ÿ~6š•N}ÍhÓÂF–4´‚ÑaFk66ú2ÎhÊd£#{í8ÔxoÞÿ‰RúSU’Wä·¶øwõyJfÈ+ò¦¼'ŸÊ,@pC^(Å T€ªPAÄCkh¡;¼ ý` …‘0ÆÃû0¦Ã,øÀX«a-¬‡°¶À6Øi° öÀ^ØïŽ„ƒpŽÂ—îÞpNA:œ‡ —á[¸×áÜ‚;ð܃ûðÁø-ta.wSôÃBˆ%1+aÖÆúØ#1›c lƒ°«»öÆwp¾‡“ñCœŽ³q.Äe¸×âFÜ‚ÛqîÅx¿Â3x3ñ[¼Ž·ð¼ð)f“/ùQa -  *M¡T‰ªSmj@EÑOI”Lí¨¥R'êBݨõ¢ÞÔ—úÓ@LCi8¤Q4šÆ9JwÍ¢ù´„VÐZÚLÛi ct’Ò)ƒ®Ð÷ôwºK?Ò#zF¿P=W¤l•KýEù©‚*@«2*DURÕUmÕPEªX• Z«öª›ê««‘j´«Æ«IîÎædoËÕr³Ü&Óä¹_’Çäñ?5OVÁX`|[á Ø;a7ü‹ùrŠªÞâøÞçõ;ÃñëñÌ£‚)¢×"¢¢š T %MÍGÍ¢ùª{(d×– j>ªëƒ¬LIISKóQQ™K¼Êà £Id¦ÂÀÌÝ瀺j­ûçÖþýÎÙç7¿3œÏÙ{÷a¾˜?Êãó'ù¯ùÓF4•ð?òø‹ü%þ2…/ãËy_Á_çá+ù*þÖÿU´Åûâ-Uœ$>%N§ŠÓÅâ,ñYñyqŽ8O\ ¦‹â1“"r¹¸J\ý·qYÒ™.ñ†wű–bTøß£TZ"eKˤÒËÊ4ê^eCav#ÉVœ¡9ëÕ%k\ä¾5Á´F×¼±¦Q––G¡Èßýpìëoj#×de޲HÉP2•te©2_Y¢ï-­•Ö’ì½'y|] lÜQR+s••yÊe¡®¤Bfg.¿§ýú¥+ÁèÛÙÈ"ÉêûBIÛnŒ¹¯²[]¦¾ºtÿs…¾æ¡H+a/u’"€ØSÐõÆú™;O“>¡¶O2qú^B„z‹¡ÚMJZÓwK”0Š¡‰·ŽÍöG.Ä+i€^¯@sŒ€oøÕúÜÒxšú,´XE7?A' N@ú•ý ³¨}×a.¾…ïà&,À]XˆŸâY,E'ÞÀ*ôR/Ø‘ëÉõáúsÑÜPê%“¨‹Oän67—[Îåpë¸j5^MT'¨SÔçÔ•ê»jµ&k͵VšªYµ`ͦuÖµžZ¤¥Ek±Ú Ú"-K{U+жi»µBící vÄ"ZZX-ªÅj±YºY&Zò,;-…–«»•³JÖfÖk+k;kGkk˜µ·5Î:5ˆ ò²í :l É ÙâµµµEÙblƒmi¶)¶i¶YZtšÞiNgoh÷°îa_…î:¹ë³nÎÝÛåŽvrǺ‡»‹Üŵ©µoÔþ\7°î–·NgN5§÷2ßàøšÁq#qÌ'Ž{ˆãâXŽ×‰c ׆S¹âÉ x€ãdn†Áq5qÌ58~Ê"Ž' ŽH!K|@ÇRÈ1”k3)ÏæŽ{“4ðûT-OGÚ Á” c)×éõk e9=Çé/Pf«*©Žè‹‰ãyñw $3qTIk&Çâ˜FZ©ÔàX)UI5l´œ/ï–?!ŽE>ŽÁÄ1BTãÔÑjŠ:™8fÇ|â诵Ð5ÍÇ1Bëçã88fkùÚVm»¶OÛ¯Њ Ž­}'XÞxˆcsâØÖªú8¦5ƒ#„@H^H>qŒôqœj›ipœÝˆc@Øñ°SGt‡ºûÇ÷÷0ƒãƒcT=Gö¥‹\=¾½~žM4vóð\ #¯çò 4®Ž†WÖGO–g«×êÙçùÒsØ8wy6ИãYïä¹î  .U0ukäßê¿%‘ËŸÉ…ò>y%©´ºŠìœç,ßêGu_Ùá¡OÝкôûǤm‡pŒfʇx^÷à>Êe?}K\‹ @÷‘êJSûF{To³—ºd妲÷/‹&“œ%Îg’îq†;ƒœ¸Ž:£­ŽKK¯Æ;F=øË*nV8\M+Î9îTœ¹–àXãXæHr$:4G £ÀµJ}ݵ߮UÑåY§µü@y²c¬qçýöcö­ö|ûfû2{¶=«|xÙ÷eÙúµÒêú{”˜¿ß!ÕÌ3ë=ŠÙ=ÃÛò -7øõг,~Iv…{F¿.XÑÖÈBuÂi §|# ¦£ÁBlãÿ…üQÆÝÈ××wAÚñÁõ±÷Ga¤qD£0Ž,lY)‰{BPKÕTý .4SímZ¿ƒî©.Q÷8šÆd²ïï.î”2 ÞKt“VIåR-£7ùÝ_ÁÝXSæÏXÖŽÎt³6\=Ë.Áß~Ø ö;Å.²Kì2+3<å®>ôMvA7vÑw^bŒë¯É¤L uÓm“‡¨Õ(½”ÈzÒ[¡§¤$)ÉÊ8ã|âŸ#íUʆ³E,‘¹ä`Ó –ÁƳ6Föc²©lKfq,^n.7•ýÙc¦ëD½¨” -B!C<Œ„THƒ©ð<¼éàmØÛáßð‡SpJX*Ë&ÊmØló¸ -µP‡<ÊØ5 ÅîC0“𠜈‹q)fârÌ¡ -½2únÊéØÓö¤ÜšžÚæ`u¬BFÓ]ÓMóeS%ž`óå@6Íô«¹Âô»Ü’ªa•ùªl1ýÂF™]R%žd ¨>Þ£Ì:’ô®ÑÚ?R”Z „‘6éca $Bt‚…°ÁbX/É -¼ ÁnØ ûàx WÃ-(ƒëP UpjHXµB*€½±öÄ^(`*ÎÀIø.Âér\ˆoãzÌ£ -µ—`!´‚?HØIµÝŽà+"!GÍ Q„.(A? „®èÿĉmà4ÃP †!h…GÑÃ0Fà#€að$€ñ c¤`xÃaö…I8&c,ƒi3p$<ƒÁLÏa"ÌÁdxÇÃ\‡ca¦@Î… Lƒ58r1þ…Yð¾1ÞÅP€/ëõ6ãJØ…¯ÃN| vàZ(Æ÷  `æÂ܇0>Ç-p?€3”!ÏÂøü„‡àG<ˆk -Þƒþ0ˆÝÄá˜+q|Œá0¸ »@,Áë8Ÿôç=ø¸a¦Ã|Þ'õ8»Âwø ´%Ý<>€ËhÁ(ø>Ž#p+îÀæ£ÿeº.ܳ.÷8Žßñ<¿û{?cc]#¤ÙÆèRºôp¥”né’ÒˆH""9º‘fÀ(/B:6jtÊÆ€1`´ ð&Î¥ÿÄûz¿°‰¸‚$ÜÆM\Ç~À!CŽ`ö"Gq‡q—""¢Ôs^ TߨAjˆªf«aj¸Z¨©Åj–š§¢ÝÌWsÔ5Bž”§ä 'Ê4ùX>‘OÝa<ÏäyN&ÊyXqïqL—'äi™ Ïȳò¼LrOyK&»¹#Så=yW>’ÏÝ™dP*HeT¡*“Êê>%»Ê¡r©"ª¨*®Š©*\•TQ*R•sZEeVYÜÁ«²ªŒ»™ -ª¢»šÒîjr»S-¬"d¼ -‘éê#ùRU•¯T5w°Õj(©j*¥j)íîǧê(OÕSFÕW¤>VV}bv»Joœ7Ñ›äMö¦xS½Þ,/Ú›ãÍóx‹¼%ÞRo¹·Â[é­öÖxë¼ ^Œ·É‹õ¶z;]éâÍqs;°[°Õ\Ã6sÝ6'Í)sÚ•î¨ÿŒûª]j¿«ÚèŸâÄ›ào¥;×¶wjòÖ¨oúÈé2Ô™²¼ód]gI'Eg5'5¯…Såx÷TOœó;ÿµsª›' , 7bÝñ -§â|£r©½j‹Ú¡–©#遼u6uC¥kíž3 Øìo¦ ép]FWvš¨¯ê1λõüO©úÖ¿ùÎzUßÖ)^u=]G{uuª×À?Ú?Îiâ€ÿ˜¿»¿çóêyo4ë;¯›è–z‘ÓÈ@ß &ÿ<ÿbæïíª÷ú -ú’ü}õa}DÇ¿s¯o¶¿šh #D;Y[´—uEWÙPt“ŸŠþ²¹˜(û‰ ²¯ˆ–#ÅB9V”«Ä>¹B+E°x BÅCqÇ=ü](RE¸ç„˜â¬wÃé1É9í¦sj²sb¢('3‰ -2‹øHæ‘2ƒˆ’A¢”Ì(JË`QRЦ²¼h,ËŠ‘²³%»ˆÁ²­Ó]{1LvÃeG1D¶£e71FöceO1NößËîb½œ&bä ±Iαr¶Ø"爭r®Ø,£E¼Œqrƒ8.7Š“r³énú˜¾¦‡égz™Þ¦§}fÝŸ›sÓ¤š‡æ‰yjþ$aÒÍmsÇ<0¯Í3sÏÜ7‰æ•ya™Çæ¹I37lº½O%)œ"(’¢¨…HQ^ÊN(ˆ|d©0…Rò¸8—âÒœƒsqn›l_Ú[\€ qeÎËÁ\’#9„³p6ÎÊ™¹(—㜜‘³sÎÃaœÃ¹Gq(r.Æ™¸¬õÓB)”h(É]·–þ°>:IGé²ÕtœÓ%lKØBtÇf´ÅìtËf¶lA:fËÒ)[œîÙL¶¼-@Gl:a‹RªUôÀf¥x:ds¸¼hƒ(Íf³El~›“S² ¥‡6»-góQœ-MOݑ߷Yè´-lsѺK¯éœtÞÝù:KÝ£Ÿ¡´ÃFÚ¼´ÛFØ0Úe+ÛR´ÏV²Q´—h?m·á6í´mIúžÓ3wù/轤tëÙ –­¤«t“nÐkl ]£ÛT•ÊSªH•¨2U¡é#ªKu¨6Õ¢šTƒªS=úœQcªFßÒ(úŽFÓKãh<ý@h"ýHÃi £‘4„†ÒlšO+i-Í¡´Ê‰b­ ¹´Ðim½3Û"ZCh9ýJ_SDi05¥NÔ‘¾¢&ô}IÍ©µ¦6Ô’ZQWêFÝ©õ¦>Ô—úQOêEú6S u¡IôM¦Ÿi --¦%´”šÑ/4•¦ÑtjKí¨=u më„8ƒfÒ,Ц-¦ioZ›¶¦•iÛ9x ðsTä­˜ŽìhÆç1ÿD%Þ†e(Нø6Æ‚ñ1Æ äÀ|ßð TæíX‹(ôæ4ü„ü—Ob>ò£-ÿ‘Шɿc9Š¡ ßÁ8ŸðÌDN|É1ˆÓQ…w eñ5?Á/È‚Æ|‹Qù&Fà.À*D ßÃDá?9C+¾Ša¨Æ»°¥Ð‡b2BñŸÂ@;¾oáC-Þ‹(Ž®œ‚ñÀ¿ø(f!šó% æ—øÃ&”Çÿø¦!šò9,Etæ[‹ú|kP½ø&!Ÿò ÌC>´áë…¼Pýø1¦ 3q¡ :p¾ƒ‡:¼+ŽîœŠ Ä¿9³‘-ù -†òkTåØˆrèÏO1YÑ„Ïb -£'ã{êñA¬F$zò}üˆŒhÈÇ1yÑš¯a8$ªón¬GiôåGø™ð9ŸÆB|€öœˆQð£6ïï(n|? ð1D#7Zðe ù‹ñêÿã¨â³{w{wë3\£(DZ#æ:½£b“Š@8!¤‡í»Ä6Müå’î:M»ë³¤´M $NBnKI5 BAC%U…@´ˆY‡ÐK[Ò¤PAK%¾µ|‘*~Gª@óy3{gÇ*öÌÞ¼/óÞ›7ï½™q¯÷ít_v?꺷ºÛ -‹……“…S…³®åîtKîˆ[p?ëî(^wov™k»·»9·î]×*®¸ŸqûÜa7ïfܬ븟r?è¼è¼äüʹâ<áœs¾á|Óù–ómç;ΓÎSÎ÷ ÎÓÎ3ΜgŸ9ÊYv.9Ï;——kÎùÌs™ÿäµ_·_Ãëå¹·ÙÆÜ9Ó³·°Œ­¼Óí×?±òo˜ý™ýwÁ+ìMöþûÙŸð½gå]«ÅαW0þ5û#û+΋7q#Ÿ`/°càUì-Àpm`ö «¸a¿Å.±ç0ºŒSè4ð?Æø÷8SJx¹üVK¹‡=Ï®@ò)Èþ¤¼È~üßÀñC@WÙï õmhyšý”ýº_ÁÍÿîœ d¾ o€û-&¡ñ'ì/ìŸìÝÔ‚+À\…ü x/áô:VñwöŒ–rÔ×`ÏØósöKP߀M,Ã3›27gœW²ç3sÆœY§UXÎßw¯¼c_̪úØ÷Î?ùݳ_ìk>òðÒW¿ræô—O<±xüØ—¾ø…‡<úÀý÷}þÞ#‡-Ìϵgãèž»Þu`& îÜ¿¯5=9±wÏŸݽ«yëGÊnq‹•`—Åð¼»u KÜ> û¶n±”3¬ò©öú\Õ'ƒÊøTÐñ*•ÐUWÙjƒz<'Û]B˜…¹1>-Æ'gÞ‘&Óº2ôÁ-){¸¨¦h ¼KÃ=p÷:òh—,8"Aʹ„eªÀ×½ÄÒƒÜð!V -5닊æÁ›X©ÒІ1*uG߉¼Sf³èí;EÇJG3âÑB¸ÜÌ®*ݦ;ì“â„GŠ·9WNUÌN²¢¬Hx)<ÀcVìÉŠ¨ð0ì¬\ nQ,› %Âz|2©[OÏP¥øã­`™nêÑP˜ÜZÐáLÕ5Ö&,! àà„YÆ žø½N©%MÍj„†ÛX…ƦËuf±vÇ6¸²QT#E Ø d ¥ÞåÎW0¸%Ã}kÊ]¥L”Ë̶˜ÒDó/agên®^¨ë%¼o°„Z拱¢Å.–¬~ËK sJ£;ÖRR¬{-i*å\'á–z8XNlkAŸYø¾Õì› .–äë/8†èoë–FbïñÅjXOؽFbíñ#„6™jƒ#¬U}: ÞÈCÌ#ºG¶n¡èâ˜÷D˜lÜ(l$åòð¸F #Öt€%±S‹|iBŽM”·#L3ÕѶhF`H´Q Úûy¤f#C^nÊ&EELÜlSbgª‰•­Z;ÙNøÍ))WÌ©>1Ô£ÜÎn7‡(y1¤¬MÆë Ñà›È¶˜EÖ'‚CÞBC¶ª‹XeÅ—dÙòe³…%5¶ÇÇÚÆƒ{ý‰HRr—r„'õl-nÇT÷2%‰‘‘pÍŒ—ª·#p4BÍŒL²!b>/c¹ðÜ´Àpf†æ´fYšs®×eŒe{¼z2lkc>Lc[·äV«SZœlÊùj{¤Ål$f ‚²s=îÐzĸÖâĩӿ–þ•c¢1êñœÊ â*|.4!Ã&tÝøŸLÖ&Ž=ÕÂeùÓ]ÈJ!hRº<Ü›Ô#xí6+*[£È *ê^OÝú=–X-ÍrÉËb» ž¼‹z¤r,µc*NÅc@ð`± ÍHv#Ó²µž&õ€ƒH”T«Õv•–£–&xò(ÙSñ¸Êá—/Ä\Tv'Ìz&PûñËiÌe”@žÊãXˆçEÕZQÒï“YXǦÅ<)…TL¬6Á ñ5åÔFéíA_ÄóØDÒÇãy=· sµwHš×•,vUûŽCµ˜¥O["ÕAd[®z“Ü ù6‰ªu7[kïp,ð2or½Õ1"™œ0JPA†±X%FÌ×­¦î÷“ƒùê*F·£¾a.h©°l*P]–¼n<ä+ûCƒ Òâ­)Ô¬Þ(r^®: -÷ÖUÍæÊnéöèù£4Õën˜™Œ.»t,Vºöö{RG·’nŪ*T±Ñ*  9OËY Œa´™“Ñæš` U<¥è…D)­Îë5™ãSùÄE!Ô½ÎÊÕ ÔÈHPCR_Њh†-`r—CÄ÷rEªÉ´>j£z kÑ®nym3ÑÌ’r7:>õ¬J=WIÿ(fh•gÓ¬LónÞS‡CÎÌrÒ -ÎQQQ¹Û“ú¶qÙ *yÔ1,YÅÕ´CD¯í¬ñ꘩•VS°&b(°M¸dŠÝ}RKìV6ÀÞH,ÛÌ*ˆAú)ŠÁĶò¨öTŒÊý%zÙŽæÌA /³Ao]½ÑE½·Ç©4µ‚œ— uÈÔÔ¢ŸF±ù÷{ôEÊÉ|ד¢É1§Å-𨍥ßã~á=gÉÂÿ§¬î¦*jU£ZáýUeÌ™í³ä1S'Æ(§¥¤Ò–üeh©vð`Ú6¹-µ¾9 S&HuAc4ˆtË“9fÛª} ”Á{Í„vˆeXsÍ3\h•m·á6N€ÝnÕÄyJNg›è\ôCŒšÔ#°4©§™Ô—fii]ÕOÅ›=-ÞH=atЋžD‚«„;pÖËAc—á®íÚŸ5˜ -XnO¬|-eȃ]Ý.e_·þSù¿ÌXéË% åz„:ƒýÀ^÷¿7¥°Û¯Ñé.÷÷~ ™¦ƒ;¬ú†éþBgS‘à6ìï™WÓš£¯k£Q”Šk±›É÷ùnI8êwçvý¶ S:»Û -ÎKžz•Neá7W«P÷ÈuZÅøQ?½èž¡Ý}D‹{ÄçüîYÃn[8(ÐQʼn»PÓENâÂs$ŽuÒϘ͸KMÑí/QæÖ¶Ã<†DúÎÀ­;¼m!Þ• „¦TÙ8äÑ[’óòM I¾ õ˜voJ‡SÜ©¥\´‚Çœ†¬/Ùr|N ™;è¹ôÊë>°ÎûïGæ4UªÃ‹òE‡Ý-Nâº0,çw¡(â¨ï°;B)q¤JA¯©ýùÑê°Ðý€î2=þà­¶Q À‹;+ÏÐÃiUïÃ=½‹ÐK#ÙUÜaÿe»Z€¢ºÎð9÷µ»w_÷îÞÝA]ŠÙ塦¬+*ÅG2ˆV­šH{Û:ôZQ1Å$ãPk¢d|eŠÊ5É8à0+AÆ:µiÆ0;f´h팵6kãXÜ=ô?w4`÷.Ëðßÿÿß÷ݳoü ,•^üè½t#¸§Å‰pcØ{×î­†‹ðÇ)~ŒýÝ–¼Z¯„PB½qy|3b‘™‘MB6«VŽW9f4#2j(Û—íËÍÎÍÎ{é5Ù/§¤¸RàÊ•]‰–³ŸFË#öS¾y¤®·—>s_ôö"5Û¡ºq¼:ÔF6Am“Q51GkÃóOÔÆôñŸk±±¢­ì†xUZq¤>%µBExÉÈ…¦e„U„NѤŠNFsè}Ù²ce;¿Àï+,ÈÏÈÆ~/çRP - \õu[{{Û½{ØŒd˜|GÖ]Ãݽ'?Ü»¯÷Áý§$FÊ(&ðghÇÍ„œhZPá-VÕh±ˆ2LF´#VEq@¶Ož#ÃsÞKo²~'|ÒX?›–©¿f;[ê•ßö/È -ÝeÍïß­Ô´òÍO¶éJô»îJ´¢€ Ú0:ĽÍåÀf¡Á$÷duú œéæRª*™5»Uµ‹Fƒj4PØy0:‡g4ºˆÍ”ó3rq‘‡s»d‹OÍ(È/ôûÜCNóº·ßÀÅØ™V¤Ø0ë³%· Êul팞:ÿôë[æÎ\и€ ­¯Ü¸§$°2õ'GD<· -;Ôœ¡‡åþ:@JÝJëûíÏ~;ß^ºl¡:»Ž<ô®Ý^¬Oê$0_Ê¢” “rOBšlGN«ê4hÉl"ì_EfJøf;æè¤S32‹¦àøŠÒ¼2ë§Œ]šF—t±¬¹¬¢ qÞÅ/wm%ÿ TØ¿‹Ü'§cg#ŠÙt)Ñto`ÿ1r K‘‘{ä¹ ðƒ#…£wÅbn6JDIA»ID‚U`VÎ1p½H–PÊØxR}>…EfzÉ7äö`öè­Ü“³šW|pê]K–&T|¢àÉ {ß m_\ÞõQ×E›%ì°@ó€»p§îd”tRÿX‘ Sè$äÃöSpªJÝá÷9\Šô½¿À “2¹ûÕ¿…X“óný;-ù¬¤±dÒºcã HôÉây'~¸»½»Ïn ;D˜ÿBPj ÿYD{·Ú(Ö¤²XC¢Þ{ý5YJñÅe‘ˆu«½kª{Þ†Yänì6a¯2J·Q '¢3™ÆpXßnÜǃ K'u±Œ4ƒ`¶K¢fæT³.Fê€9z}Ú,3€é6e=)òkªG¦½{Ú»£­æÜÏ~Iw÷óÐçáØ«°¹tÄë¾~•4žCITE’[µJ!L*h47Œˆ£Íø ²³AI©áKö™ô]ŠÀäGb‡pû\ÝÇÌüUqeeq`Õ*ö~4! _¬ã×õ·Å•:ˆ—mt† -òR®$Õæ -ä°YU› Ñ¼±Ç¥ä§2+2‹¸h€µ z(Ò–Ÿ£Ñ)ö/Rû g>#EÇhoÃö‡“¸„ÜþìÁ¯m| Ž=b®Äæ²[&8Á§@P–olò‰A/#Q•%6ðLÒ4;ÁK:j'ª": æqw[ÄûÓ5+v',o‰¹ñ¥[ö´w¥êË»¾Pß-‹j¡õ h×)(+è‘ MEI2ð‰œh5Ȫ“ECü6@Ò:¾è´TWæs{öƒø{zã2û‹ŠÍeüê•[j¢y= á•› -+Ö³3¶ì?¨Þֽĥ߉ö°êý‡iuÑŸ) ØØa 4ƒ É‚ö=¥Å]üJó|Oj} -snÃfró™Öt8¤+š&Eà˜‘¹‚dQ‡žcS¥3eâ>•%&3RºQ™ªÁGo}ûí­­»vm…‡‚½XÀ<•üüŒ;½=gÎ^¸pöLOÜ;$Ÿ+$•L4Šn6瓜j’Aã­*oÖ8›†…8¬žè )Ú †€LsêÉ0ï•jïSð¬ß´ˆkËvïhljjܱ»¬Âv¸áËë×I>ÿðÎÈCÜ][ƒsÚ:ΟëéëhÃ95µä."ɪôrxjNV¸ºÑ$4+8 a[‚Gu&šÑÈ9lvÕ&jœYå ãjÏ}6ùù¬ßééJÓYáøyÀ)à #*ØÑvp`Ñ+ïì!Aæ2É:“E6ã×Ü—áôžºMÿŒm ‡¹tr-f¡&ÔôìCF™(5è§Ym©)ò#R’T&œŽç…[G.ÎÁùé/ÄùT<ÓêOÿ8!t¼ìø{þ‚G€øœþÊžR÷ò†—ϵ–,¼üÑÑÅ&õIÒ¼Ey¹Ö@Ö¶ú™Ì~Å‹r¦ËyYo7ž>Šà‘R`—Ã×è.ô ´ Â¹$ ¹Õ%‡\°:Ó8?³Ž8ÅbìŸÈuýäAÃ!ᛯ"Ûç«-K(ÝŽT¶ŒÙÙ±S3›Â cdk£ûñ6:•žT.]?¤3’Œ¬YÐxѪ"Q3¥"8büÄ‘2~ -a®5H•—v8ª>ˆ~]ß_îØqiµ­]r3ÚÀ6=äÒéõfô<à^ñrkÏ -xIAÉh4›L•ð\îQ$šyLöccpÂÅïZ*ž -µ¨YØ8H¾øQËŸ÷Ý&Õƒ¸ÚK¼½Šµêl3{0:·÷~„?§ˆ­Q„ñåÑ!f+à@KTä¤åãQ6àUca©LD"hE-áTa ìÅÒ…‘ŠÅÿ³ˆhlz$:Øk0>yRéý ˆ£³Ù{ÂJz^—ÛU…“*wyü,àw¥¥Ò/c{ž\ ‡ñxQ^ò0Åx8¹ÿ wáOðNÒDÚÉ ²³³x\…Ú§ÆkcÕŒBf£j¯] çOZT?ê0W“‡1&£ÃÉy¸o"GH¸¿¿…×á*ÜÐI2Ér²”¤@åšÿ³_6ÀUWß}Ù¨ò‘VAˆŒVš)<+µµ1‰$q_A!¦OÛ¦¨a*ÚL)Px@‡‰ÐZ›aD3m°5§8œJ´*µ*Tí`ÚTj ÜþÏÝsóöÝwïË{!B;½Éüæì9÷ìîÙ¯³û¬RUagg=Âl!6P$ãx+mË»C*#s­úBVxÞYYuÖ4C2jÌf¿’çÈñ-z ‡ì¸èüÚ7–~Ûóœº9ZTX8iB¸¼qgÕ¬PãÊÛn­]x˳Û6ßùâÝv‹ÈªB ±ïçÜâœLU›))²Mb̈~/Ð5Èp„î׌ã5­­çû¶¶öÂhDöQòî–¥×λ¼è#Ñ'›2°xãÇî!ùÖ[5¯tŒì¸¶SoR{¡/i¯²Èš~ösÇÈSÙý›l«ñ×w¡jõ ܃ŒKòí‹ÌP•„µ /ã”wô4Öˆ²^ZT³u²$ k9îµMàkLSŠÔ°4Çõ€b[…¸Nxò y<›±~ièŸ2_2æÉ±9±V¸æÌayÖr½Ê$xµ™.flÎþtʹÜ¥€{-«ŒuXζëÁ Þ ê¤ÂÇþYæg Áòû®«Þ²à 0ŸËN_“•ÎÕ¼¦^1“ÿoÀHž«ÏaoC·ö±žÊ™oú -–»<ðª_ÃŒÕÒ:kØLÊY.R±óÞOÅëQC÷[ƒžb¥KÏ5úvæÜÍö$ŒcJ=È{€j£ìÄ3ϧÏZË¿ÉxÜE5χ³ÛÙþ€kŒï«fù(ÿt(œ}Ñb§â÷ÌU XÅçe'×\§tÞ6ssVªØ½@ù”rÎlö©7êë ë_e¹œÇÖßXç*^wjw¢®cup|N¢â÷N”c¤bû†ïbz+øa·íÜYν=XÅrv³1ö;åÁ- XÇߊ ¿Z[&ýf¶ÕrÄ\þîàÔ«à~yŸHèrxÜ„ë ÀC§³û2ÊãX§ùî@y¡ÖÅ90ïý6°å€Y(£ý(¿ Ž ür xÚè¯ ¾Ly¯c5KÜQÖiðŠjÝÛõ·{®áŸn›y)úMóé;ó÷ª“4®iI¾ÍéÙ9’ÿL-΄o’|Ëíf½ê$ßîí^=Û~ÆjÕüßë”w_$é¶ý\é¼kÊ›À·[; <ò½†§}êxÉ=)ú¥*g‚!¼§–Ædg\9‰6ÇÏÏÞ­vêXÞçQǰ9~éÚÓj?CÓé—®î^ëtõ>|¦Y:vyà¾9˜ßÿ µSö·®Æûw3ø2ÊGÞ½Ö“ $Þ×|/Yïƒ7áó¦kN“úÇÛ´¯—-±¾o»/§g½Q¶·å²_üU -ýbœÖ]€~[Ìòñ û×õ´Ó¥ß'u‰2./½ ưL²î^{ß÷žïƘ֔nžàs†½l~¹)Ý·‘ûšfý¸7‹Çïš š“¤¿WÂ]´qžl؇§]sU -˜rCgiGKh~öƒ§a¿Lr±˜qöSó ³ÇàW̰†ÙÉ\ϬfbpŽÄUÌ‹`3³ŠùŸ…:Ã6Û`+3„ið¿KܲǴ ÔòÞ£1­õ`‘1n ¯3æCÞ&Ì£,áò8._"?A9h -3—åt1>»™å`2lð^8ÆkJsŒ½%n<üæs»?tùí?ÏAÇ›\¬@y°‹RfósSo€ù—¸¹ØÆleÂ.fº¨S ¹ÏÅó`{LR^³ËÏóúÿŽõx_<"ü=Âã.e:§/3à5苵.‹!Ÿ„¤¹ÛŽƒ6®ÑõE>‰GF•þÊÈõÚfÛ‹ôÚKä(Yh¿®4 6)ÇœB^ 3@ïpœ‡P¥jΘ®Ï¿­çûØñ&a…Z˜Jí+Z42¢±ÇM4B­Çkó”ÆŽER¹l@üM#‡ëñˆóÌ!ýÝ:¨çÄ:¡Ë6'í´&åã}ä½×ÄOåç=±=%(äù¯ï9³äú›øŠ²ß+2[ïq£ž'q9ø;ŸKg‰Dè­`ß•N.­âÜDr"À¹ا‚ÎÞ­`œîO”ð¡v*ø¼.á²»ŸJÎc£Ø¯’¡oƒx/æùÚªãí‰ûN<àÒ7rlËbõã ÷Öí<ž[˜ûŽò·(_#<ÃŒsDýaïŠwx_âyˆ°,f&º9¶ $„üªÇÊ~>žõûÕ,Øõ<ì ^ŸrŸö¹­Îö’ɘ;ï˜åTbaÈ?å:QæC}.aYä£ Ã^dÈ€ý,yè]ÄB{›ÃbeG7m~e[oИ6ÛÞžh·ÏP4±ŽÛO\Ç>ä_âíßU~P›±˜så˜Û}ãâj7âjOgWm$m˜‡Ío~üû‰[¯÷ø/ANö_°ÿ:ªô½øy¥ßêt7ÓoTºŸ—±í3ú-BoíöÏv‡Ê¾3ÅŸÐý}Û˜³?ƒ\–”û ¹½JW¼ -ÿ^Ê~«Ê‰à›Z·ï†&¥ßæˆWÞ¯ôÝëÜ?L­Ñnmšp{s¸í‘lwòvÁöË3|xŠ¥™ûçð\™ã~UÕ£9>z£uKµ”w¶°Q.3Ê*ñÞÙdøµêu áýºO—é]›34T§w¹ýî¥w2¿§Åvüwì›-É×y7Ý8ÐíßæwÔÚ&bŸö˜ìä€Ò¿CÖhi÷ÓÆ{¿å:ߨüÎ=à½ïHþf¿/ _¹¶u*áínÛœhGY^éc/æ¹Êä5n ¸T„öÆ0mîïɾu·®Xªô}1š™.W ¿ÐÛc;Ëõ± œB -p|üÊ'4â,d-d;Ø…rì"$5òa® ùhË´¯uÐiýÑsà7+éâÈq’î¿v“lhC†¸íàGWäyðŽëuðGŽ‹byœc60ç\l@û‹A½Ž¥“V†ÊÈ«r K/Æå»A“Ï÷êPÄu}}ˆyê¹ ¬e` K‡ÛÁ|Юá9\Ǽ®uûÞâ8Et‡Ð}Ú÷y«.[¸Wås˜{ÌEsSIƒýशÅPÍK™ÕJß¡9ÜNï~–Ôÿð{p -üBC¿Gå:Ü£w¢|<ö -݆8™Í”éïb& ¹ÆF>îÒûW¾A~ˆqô°èÓ±ZL;ÄrÑ*&ˆÝØ‘SìÿUb¬˜.æ -ý77 [4ø!óþÇYwq M¼ˆ"£4 Ú>=Ôð4hH$³ï°#5z…Òd=ø¸k²j.gbd7$Ò{x -4^|r.óáÁ€€€€€€€€€€€€€€€€€€€€€€4i¹@ŽÆèS¢=Ä^^Óô͸HDþÃ~•GÇYUñûKKKK¡¨€PÇ -t›$m¡ZPÓÉ$M›¥,¥î³e2í$3o¦iD¬‚ûZT\wQ ¸/¸o,e)²¹ç¨ÇsÔãÿ¢Gñ¾ûîû–™Iê?þÑäÌ÷½å¾»þî½ï;õ;õ;õû?ÿŸ‡éVZEGh9µÑÙÔI7- å7ðc!‹6~ÒÂ%¼{‘ŽÑf;ÓõnÃIÆ‹)¥ãEtí ­×˜#xL”£ku :Ÿ~ÏcÇç)]_@ÝX¬ã…´;u|ÅPWzÖ7éúbºÇt|:]Ø6 ã%tN[QÇgÐú¶ët¼ŒÇGu|æyÇÛ~§ã³hóŠ£>+þÈÖä©@u*Qšª´4FI¶k7­ãqš<Êò3GE~P™¦ø×Þp*2Kå õRºº-1–Ü»{]"íeÓ¹bz ’•91j«î”F&àî2¤¨^6ø1úfÄÓ6¶Kyg)×ëgcEIì›öýÅu\b“–qN‘Äi˜ú¨ŸßCS³Óãû¥1?Vû5Ãó«FVl¬HÏè*\â·ñ[÷‡˜[?GÈfnP)<ß[Íñ°¾±¸qIKš+_Î3¾Wꊒ¨½½Âu;ïf‘ÉÙ¢èSã~ö7c¥Ù9;!]­ì”܈փNé&ážÒ.ÔC|ÖÄ0#'ÓÉNö\w$ r”’ìEû]~öy¡¾g5µHÊk6$¦;q±ÄìæCgB2¦ Hq¹`±YÑÞj%ýjªÃZZ±]Q,‡kb€¤aõÁ´È -K -ê©© &ÿmw<ãÛ|Hà²Ø½²xs\i«²SôëLF25éžvÌði׿AOó®ÕÊ!ø™Xë >öñ,ª9µ9²ØVŒpÄYlª7Èg‹¡êqbMbrש†"lm(ꯨMM3}Ëæ»®¶~yb“­ÑCâç‚Ì,½•0Ðä½èMÍÓø…óÖ?ÝÄêe¢5Ø~òRç·Fí2ZSJ>úfC[€¤NÕ+°lZcÄÀk[ûm‚=Í ÉÞ -‚ÌsýÅf§²/ÍZ•åÐWý›¾EDÍïaÿAí‹V]Smïñ”cZPÑ¾ÕØÇ£µ·Oô4rÚ%vW¶žÆ¥ä#¦¶Nʉv½æÄª’œšÐe‡ƒàþ÷{OU¬¯Jí­ùñÍŠ¥FƒVÜMí©éZMªE–‰¥Ц“ç,°ZdŸ®¯8«œ'¬ín8•Õ³Q9Q?ç…ÞÝr -åtË{X]ïœ.{.ÕÊQžG®œL¦„ïøæÝøæ2ÈgŒW3Å­¹Ö?žØxHï Yñ±ñuÕ¿qNQøÚÜ£¯Ñ+Y‰½Vü:k#‘h‘#Û5{­'mX9­ï´áûöì÷ž<¹;âd#Î;SêàÎ]U_VEy¹X{~´/¿º»âTƒ¿£Ñ=‘ÝÁ©p¯é’Š7!«­ùÎ…OjšíŶ9„×ýûªµÑfï¤Ð¸{À”Ü響8××r‚´ªÄÂókÚÌ<ðWÔeåVþ2ÈÒ~ÑoZk!‚qW{ƒ`ùýo~WâÙ=]tK[”ՓˇœMäÌ}·i¾'•õk¦ùÜ*Â!¨•Á7oY¼l9×%»*fëµ6'Š¢QIëДúsö^¾’¢8œMb˜p— -:Ýl]ÓVŒ|Þj;©º_®µÂÒ¥ÕCó±,&™aë³ÇÕ¡™®­Þ†6+=Öé’ÕNXëùõñÄy|£nçïC9ĵ~D(Íáía4§d¯×büE“â1žuój7¯¬dŠaÝ_)‘ÚÃcÃqˆF…—å‘â§á½—bÂ;&s3ÛÉôƒÌËœMÒ5"#É܆…2%¼xÕ|e%•ΜHðÊ(Ï͸—×¶©¼A>eÞýrÎèb5áõ@jT«>‘è4àYŠùo×Ý.æÝ'üŒþqñ”úzö¨¦]â#ÃyD¾ GùT—ììâqŠŸCòhõèVmņÞ·¶$E «Q‚ß»X¶¡èe½FD #iD)ãb¡±§[Ω;eÕj6¤Q6ã€K‡úÒêaü?æKûûù?æ#¤Y˜Dº_¤¦$ -Iõ½ñZ¿«TÈ÷ ñЉŽÑ¯›ÇFß^?ú:nѴ€“Ð+V$ÅýB=Ìz'™¾Ï_±¨ë´%Ôƒ–§E·|ȇ ‰•‰ßn–šTät‰‡¢VØ<0úVX?wé3!g‡dÄxPc˜ð#:$XjöÊɸ¤PuI<†}/ôH–¨æ£!¹8Ž* -‡|Í¢þuÙâèæS!,/';AãÏ.án4ö½qb¾Òyk\=ÚÂ_iüÎJ•¯HííÐûu‡Tåï›óýrŸ-p=,I­k#ù{ú®’D †¿e‡ùq݇6,ÀBœ†EXŒÓé,ÁRœe8“28‹Žb9ÎÆ³ðlÊâ98‡î #8—.¦Kèßô4åpž‹çÑ*¬ ¿à|\ÀÝ? ñ|º/À ˰’îÇ‹qß«°k°ë§5h§µôt ë±i.ÅeØ„ÍÇ市À•ô =DÿÄz[q®ÆKðRjÇËÐE؆º‘¤Nô Ûч؉~ Ðh=mÀ †° »‘Â0wt#ôF1†=¸{©€—Ó£x^‰WáÕx ^‹42È"‡<ÆQ 1AwÒ]üeòw¾¯nBû°%ÚŒIúý S(£‚¨ÒåðPC1Ct=†zœ&ð:z×âõ¸oÀa¼oÂõ¸oÆ[ðV¼®ÄÛñ¼“¶à]x7Þƒ÷ÒVºŠþ†÷ÑÝ8‚ñ~|¤«qý‡ñ|7ãc¸·âãøc¬ˆÛðI| -ŸÆgðY|ŽöãóønÇñ%*áË´GqîÄ]4…¯p½ _e„õÐe| _glþßðMÆeß·©Šï໸ßÃ÷ÉÃðC:€áÇø ~ŠŸáçøîÁ½Œæ¸žÂý8†ð ÂÃ8N;ñ~‰GñãñIªáq¾ñNã ªãIü -¿ÆoðÛÿ2X -`}ïb¶mÛ¶mÛ¶mÛ¶í…¥-×VCͶÍöáùðBP=¼^ -/‡W‚áÕðZx=¼Ô o†·ÂÛáðnx/¼>†‚kŸ-V;|> Ÿ†ÏÂçá‹ðåç{¬ _CÃ×á›ðmø.| ?CÂá'‚ ‘%X¨Áð`÷gÚ~f­>¢!:b fб‚Á{ÄFÄ &#^Ðñ‘ ‘‰?·y’£‚ÑHŒD2$G -¤D*¤F¤E:¤GdD¦ 12#KÐY‘ Ù‘#h4 î#gp¹yù‚æÈÜBD!FE1‡P"X¬@I”Bi”AY”CyT@ETBeTAUTCuÔ@MÔBmÔA]ÔC}4@C4Bc4AS4Cs´@K´Bk´A[´C{t@GtBgtAWtCwô@OôBoôA_ôC À@ Â` ÁP ÃpŒÀHŒÂhŒÁXŒÃxLÀDLÂdLÁTLÃtÌÀLÌÂlÌÁ\ÌÃ|,ÀB,Âb,ÁR,Ãr¬ÀJ¬Âj¬ÁZ¬ÃzlÀFlÂflÁVlÃvìÀNìÂnìÁ^ìÃ~|/ñ¾Æ|ƒoñ¾Ç8ˆCø?ágü‚_ñ~Çø‡qáoÅ1Ç üƒq§pgpçðÎã.â.ã -®â®ãnânãîâîãâã žâžã^â^ã ÞâÞã>â†IÑŒÀˆÁRFbdFaTFctÆ`LÆblÆa\Æc|&`B&bb&aR&cr¦`J¦bj¦aZ¦czf`FfbffaVfcvæ`Næbnæa^æc~`AbaaQcq–`I–bi–aY–cyV`EVbeVaUVcuÖ`MÖbmÖa]Öc}6`C6bc6aS6cs¶`K¶bk¶a[¶c{v`GvbgvaWvcwö`Oöboöa_öcà@â`áPãpŽàHŽâhŽáXŽãxNàDNâdNáTNãtÎàLÎâlÎá\Îã|.àB.âb.áR.ãr®àJ®âj®áZ®ãznàFnâfnáVnãvîàNîânîá^îã~~Á/ù¿æ~Ãoù¿ç<ÈCü‘?ñgþÂ_ùçü“‡y„ñoå1ç þÃy’§xšgx–çøÏó/ò/ó -¯ò¯óoòoóïòïóòó ŸòŸó_ò_ó ßòßó?ò“…‚(ÉŠ ˆŠ¤ÈŠ¢¨Š¦èŠ¡˜Š¥ØŠ£¸Š§øJ „J¤ÄJ¢¤J¦äJ¡”J¥ÔJ£´J§ôÊ ŒÊ¤ÌÊ¢¬Ê¦ìÊ¡œÊ¥ÜÊ£¼Ê§ü* ‚*¤Â*¢¢*¦â*¡’*¥Ò*£²*§òª Šª¤Êª¢ªª¦êª¡šª¥Úª£ºª§új †j¤Æj¢¦j¦æj¡–j¥Öj£¶j§öê Žê¤Îꢮê¦îꡞê¥Þꣾê§þ ¤Á¢¡¦á¡‘¥Ñ£±§ñš ‰š¤Éš¢©š¦éš¡™š¥Ùš£¹š§ùZ …Z¤ÅZ¢¥Z¦åZ¡•Z¥ÕZ£µZ§õÚ Ú¤ÍÚ¢­Ú¦íÚ¡Ú¥ÝÚ£½Ú§ýúB_ê+}­úFßê;}¯tP‡ô£~ÒÏúE¿ê7ý®?ô§ëˆþÒß:ªc:®úGÿê¤Né´Îè¬Îé?×]Ô%]Ö]Õ5]× ÝÔ-ÝÖÝÕ=Ý×=Ô#=Ö=Õ3=× ½Ô+½Ö½Õ;½×}Ô' Ó²ÁÉ‘ÅQÍÑÃ1˱ÇqÏñÀ ȉÄIÌÉÂ)Ê©ÆiÎéÁÉ™ÅYÍÙÃ9˹ÇyÏù]À]È…]ÄE]ÌÅ]Â%]Ê¥]Æe]Îå]Á]É•]ÅU]ÍÕ]Ã5]˵]Çu]ÏõÝÀ ÝÈÝÄMÝÌÍÝÂ-ÝÊ­ÝÆmÝÎíÝÁÝÉÝÅ]ÝÍÝÝÃ=Ý˽ÝÇ}ÝÏý=À=ȃ=ÄC=ÌÃ=Â#=Ê£=Æc=Îã=Á=É“=ÅS=ÍÓ=Ã3=˳=Çs=Ïó½À ½È‹½ÄK½Ì˽Â+½Ê«½Æk½Îë½Á½É›½Å[½ÍÛ½Ã;½Ë»½Ç{½Ïûý?Að „ô…737mµY»Ù¶k³mÛ¶~¶mÛ¶mÛ¶6»þ9Ûüv¿Ãïô»ün¿Çïõûü~Àô‡üaÄõÇüqŸô§üiÆŸõçüyÁ_ô—üeÅ_õ×üuÃßô·ümÇßõ÷ü}ÿÀ?ôücÿÄ?õÏüsÿ¿ô¯ükÿÆ¿õïü{ê?øþ“ÿì¿ø¯þ›ÿîøŸþ—ÿíÿø¿þ ,Â!<<B0D@DDBdDA¢"¢#1±qñ ‰„`$F$E2$G -¤D*¤F¤E:¤GdD&dFdE6dGäD.äFäE>äGD!FŠ (Š¡8J $J¡4Ê ,Ê¡<* "*¡2ª *ª¡:j &j¡6ê .ê¡> !¡1š )š¡9Z %Z¡5Ú -Ú¡=: #:¡3º +º¡;z 'z¡7ú /úá?ôÇ Ä Æ Å0 ÇŒÄ(ŒÆŒÅ8ŒÇLÄ$LÆLÅ4LÇ ÌÄ,ÌÆÌÅ<ÌÇ,Ä",Æ,Å2,Ç -¬Ä*¬Æ¬Å:¬ÇlÄ&lÆlÅ6lÇìÄ.ìÆìÅ>ìÇÄ!ÆÅ1Ç œÄ)œÆœÅ9œÇ\Ä%\Æ\Å5\Ç ÜÄ-ÜÆÜÅ=ÜÇ<Ä#<Æ<Å3<Ç ¼Ä+¼Æ¼Å;¼G(>à#>á3¾à+¾á;~à'~á7þà/þÑ1 Ã2ÃÓ$EcFd$Ff0*£1:ƒ1‹±‡qñ™€ ™ˆA fb&aR&cr¦`J¦bj¦aZ¦czf`FfbffaVfcvæ`Næbnèb¸˜.–‹í⸸.ž‹ï0ó2ó³ ² 3„EX”ÅXœ%X’¥XšeX–åXžX‘•X™UX•ÕX5X“µX›uX—õXŸ ØØØíqŸÝ÷•MØ”ÍØœ-Ø’­ØšmØ–íØžؙؑ]Ø•ÝØ=Ø“½Ø›}Ø—ýøûsrs‡r‡sGrGs ÇrÇs'r's -§r§sgrgsçrçsrs —r—sWrWs ׺h.À%t‰ÜjÞ-vIÜ"wØ w‘¹Îë¹ÁEw¹ÑEt‘\}×Ðp…¸‰›¹…[¹Û]Tîp›Üfîä.îv!Ü㎸£n‹Ûê¶¹íÜëVºUnŸÛ+À}ÜÏ<ÈC<Ì#<Êc<Î<ÉS<Í3<Ës<Ï ¼ÈK¼Ì+¼Êk¼Î¼É[¼Í;¼Ë{¼Ï|ÈG|Ì'|Êg|Î|ÉW|Í7|Ëw|ÏP~àG~âg~áW~ãwþàOþâoþá_þ“S…U8…—DI¦ЍHЬ( -PTESt*†b*–b+Žâ*žâ+*‘‚\8+±’(©’)¹R(¥¢Tn¯£R+Òºeî›Ò)½2(£2)³²(«²)»r(§r)·ª<Ê«|nšò«€ -ª -+DETÔEqï]¨Ûá‚Ýx—ع©nŠ›ì–»Fn‰+ì&©˜›£â*áf¹™n©Jº*å䎩´Ê¨¬Ê©¼*¨¢*©²ª¨ªª©ºj¨¦j©¶ê¨®ê©¾¨¡©±š¨©š©¹Z¨¥Z©µÚ¨­Ú©½:¨£:©³º¨«º©»z¨§z©·ú¨¯úé?õ× Ô Ö Õ0 ×Ô(ÖÕ8×MÔ$MÖMÕ4M× ÍÔ,ÍÖÍÕ<Íw;µ@ µH‹µDKµL˵B+µJ«µFkµNëµAµI›µE[µMÛµC;µK»µG{µOûu@uH‡uDGuLÇuB'uJ§uFguNçuAuI—uEWuM×uC7uK·uGwuO÷õ@õHõDOõLÏõB/õJ¯õFoõNïªú¨Oú¬/úªoú®ú©_ú­?ú«æ,Œ…µpÞ¼Áh2³Ñ"Yd‹bÕ¢Yt ´ÓbYl‹cq-žÅ·–ÐY[bKbI-™%·–ÒRYjKci-¥· –Ñ2YfËbY-›e·–ÓrYnËcy-Ÿå·VÐ -Ya ±"VÔŠYq+a%­”•¶2VÖÊYy«`­’U¶*VÕªYu«a5­–Õ¶:V×êY}k` ­‘5þŸKªŽÏªlÇzÇ}]7 )RRk6Bx÷¾5R@rŒ± 06º»UPéînéF¥[éî4è’onŸÃ¿®ßsÎWÜ&$\:J„DJ”t’Î-1+qÒEºJ¼t“I”îÒCzJ/é-}¤¯ô“þ2@Ê ,Cd¨ “á2BFÊ(-cd¬Œ“ñòµ|#ßÊ™(ßÉ÷òƒL’É2E¦Ê4™.3d¦Ì’Ù2GæÊ<™/ d¡,’ŲD–Ê2Y.+d¥¬’Õ²FÖÊ:Y/äGÙ(›d³l‘­²M¶ËÙ)»d·ì‘½²O~’ŸåÙ/ä ’ÃrDŽÊ19.'䤜’Óò«ü&g䬜“órA.Ê%¹,Wäª\“ërCnÊ-¹-wä®Ü“ûò@Ê#y,¿Ëò§ü%Oä©<“çòB^Ê+y-oä­¼“¿å=,¤AZ¤Czd€È@¨UÌk¤5ÜcF&k,2[CŸXm­»Ö`dµö ²#r">EnäA^äC~@ABaAQÃg(Ž(‰R(ÏQeQåQžð‚7|à ?ø£"ˆJ¨Œ*¨Š/P ÕáD\pÃF ÔD-£6ê .ê¡>BÐ ÑÑMñ%š¡9Zà+´D+´F´E;„¢=ÂÐáèˆD" -ÐшA,âÐ]nH@"º£z¢z£ú¢úcbc†b†cFbFc ÆbÆãk|ƒo1ñ¾Ç˜„ɘ‚©˜†é˜™˜…Ù˜ƒ¹˜‡ùX€…X„ÅX‚¥X†åX•X…ÕXƒµX‡õØ€±›°[°Û°;°»°{°ûð~Æ/Ø8ˆC8Œ#8Šc8Ž8‰S8_ñÎà,Îá<.à".á2®à*®á:nà&ná6îà.îá>à!á1~Çøá žâžã^â^ã ÞâþÆ{ZLôLÇôÌ@=˜‘BTfbffá'ÌÊlÌÎÌÉ\ü”¹™‡y™ùY€Yˆ…Y„EYŒŸ±8K°$K±4?g–e9–gzÒ‹Þô¡/ýèÏŠ ` +±2«°*¿`5V§“AtÑM›5X“µÌڬú¬Çú a6d#6f6å—lÆælÁ¯Ø’­ØšmØ–íÊö c†³##É(vbgF3†±Œcve<»1‰ìÎìÉ^ìÍ>ìË~ìÏÈAÌ!ÊaÎÉQÍ1Ëqϯù ¿åNäwüž?p's -§r§sgrgsçrçsrs —r—sWrWs ×r×säFnâfnáVnãvîàNîânîá^îãOü™¿p?ð ñ0ð(ñ8Oð$Oñ4åo<ó<Çó¼À‹¼Ä˼«¼Æë¼Á›¼Åۼû¼Çû|À‡|ÄÇüðOþÅ'|j·.Z.kœuÅ:k]³.X—¬sÖyë²u•Ïøœ/ø’¯øšoø–ïø7ß«¥i4­¦ÓôšAê¡UJUͤ™5‹~¢Y5›fךSsé§š[óh^ͧùµ€ÔBZX‹hQ-¦Ÿiq-¡%µ”–ÖϵŒ–ÕrZ^+¨§z©·ú¨¯ú©¿VÔ ÔJZY«hUýB«iuujºÔ­¶ÖКZKƒµ¶ÖѺZOëkˆ6ІÚHkmª_j3m®-ô+m©­´µ¶Ñ¶ÚNCµ½†i ׎¡‘¥´³FkŒÆjœvÑ®¯Ý4Aµ»öОÚK{kí«ý´¿Ð:HëªÃt¸ŽÐ‘gûøðîቱQ^¶ÓNÁ ƒž½ úþƒž^.·©÷5è2húœÍgòo—¿ÛÃëጋˆ‹ ï g|TlDhXbB2Oo§‡ÓN~Ó–Ó1:¼'\âBÃÂÂcLYP -£€@‡;,4i`ÄÇ…&8ìdY;ù£aoÔ¹ K—aå2ê\¾°?ŸÔb„9=lCØN!œ²6ÐÓ¬·SÐhê])ï Š¦ÎËQ3™ kþ+&å—·7j~,ÊËöM_«}h|ŠB/›µ>îñ²½}Ó×Î\»m²AŽàTºŒå®`Ã8ø#ÆþŽà„¨èáüçééôõôñôbíÿnð1Â|ŒW>Æ#_GÝÔ)¹uÿïpRuPúºIZLé‡V§ ÝÛQ?…oýT-¾~éìØÃÍœ•o€#$•$·ÉÉmÂp.ns}îyš+tÙB"ãâMêncˆý¡ËT¹Í5Øž™B"“n/>1&:41Á#ÄØ–ü×Ïtù?l§ ÜŸ!Ý¢C»E¦(jd •0?ÃÊÏéhœrÇÿ½·—äo–š+ -¨‘¾IRþŽ&©Æ¥Ô$õ8󆾿íhšÊ+Ûxbûghú¯¶YTÃ8iÿíªíÛF€íÝ4^'ÙÅݧûpÀø&ñ£(‰EÑk$ñåš/ÅV½J×+û7ùõ'‰¥}0ŒÙ·#Ä¢,_\Íbp…\ÑÒ1ñ⪿¥Ë«¡€3´û„\~pî~˜Ü}þᦩê}³_~¸}¨¾Ô«ß³bùû°VÁM„ƦËìùÇñ²¼ÌÉå¶½Þ¾ù×Ï/³¿ÍÙwsöãŒ)"—dæc­km—í’—<A9¨D—DŠ2 ê»&öùf‘PàdÜ+ãgòP¡KVS—¬jækÒ¯ÇØ,o¦ÚaR-k×kÚáFsrŸÃ\ž×a;ôíÍ<«aYM*„I×Yê#Q¸HÖ5êÌ—·®-Þ>i‹üü6èõ(5¦ßRžm¦6iW›'mR.Úç\Ÿ4Ÿ¿k>»îù¬' õDée3U9ã‰k—*ëÛ¥;ÞF«Ï¡Õ±äüâÏÛ‡ºÞm«ÝMs ¡\n§Þk<]U¦òå–öÒül;õR‹+³Ü¹ôïªûvxhï7õrGûª:­ÑWY‚K$ô²¥} /ÕY+P¯…/ Ômn-髈féwA«@Y•ñ‹vÖSÚY_Å.‰`–pLŠUKúêí«°JšåÞ…`ÿ¤¯Â!ÅÛvw»?;ôÝô@»)®XŒc³dy¤](“Å‘tQÀZÄ­ô€ç¥}qœy|ôÓÊJ³Åqè¢GR_©¿8ùòÑ9õHºçãØ=]÷üú¤{ÊåWÚ=”-¢lõò›ëžßÆ;uî:Äeµ=¼¼ž÷ÆÝœmçì~Î~›±ç]Þ·‡æ~ûõüñ¿Ýßå¶¹­z+X”Xg†"憫HÄh Ê@]’º ÅQíõ¨Ä:ä‘߯@Pކ^>Ÿƒ7 ž÷z%¨³_0œÇpƒ½ÌÛ };ìd°‡Á>»˜·Ëãã|û슼ž·ÛûïϽð#œáœ8ÌÛ‡ó"د=Å~4&‘AžaŸÿxò…¾~Žõç–Ð+=_¾B‡ª1?¾oæ<×Ý>̤‚#î¸q—¾Nü:âÂ'ÌpBúuØÍ'û8â,O¿$ò‚&,¸ç½âÃWóΰWx{¡/`§€öØ'`—ðvy|œ/`Ÿ€]Òëy»½ÿþØ+/qžÄ9xÅ…ðöá<éëÃÇûð Ì-"ƒ¾ßrÜ{a ŸC¯€½%ôJÏÛWÈó¼.8ø Ž¸ -ø$àÓ€×s^ÁzðAr;çÅhïë Ž/chŠÀ"X$ò€,e`Q<ðïÞšE¶½ßTg¦>T‹«»»¡G¼¥Êû}Ó½Žg»¥Ó²[~¿é~ýÔ½‹Ÿ«ûûªûлûtSür<ùõxòŸ¦û0júçìäMsúvÓ.Þ5·wÕéûêøìÊA¾Ù4§y÷ÿf߸c2}>œhwíþ'Ìw݉ÃçýnøŽ¹"Êç¿ÝÕ·PêÕýsø -Jžw‡vcJ58ý©wú¶wzqSoÕ³.ë]îƒËMïòŸƒËÛÁe‡cò“Ýñ䯦\»N6-N`‹ýàü¡sþçï;ǯ»ÿŽ]´½½Ï›Ñ³†ýš2nùH|}uœûôCÀ»- Õy;F缚¢]Óh×°ÄÙï»HáS‰?Èm™–kð—4»ª^ÏÝ£þÂKöÝ„tø~¶>ˆþöTÔ#ýýÿˆ{<˜Àa‚€ <4O&`‹Ä–[d¸E†[v:¬¬)3íó²c§ûB“§&2˜È`bx{zÔkdŒSâð”x¾ÅîêhþüP û]D^S†¨©rÚwáO.ƒ™­ÞÕ7ÍÈ4»æ°¦L¯ŠX¤+P/³¥ŽÖ^æq±€ÀéxT˜£%%” LåÁ¸Ç°£é¨àV^0¡È àk/ %¨æ¶¥Ñ -”l2k/ Ð -Ð|T hÖ”p¤„#Ý6C`3?µö² °)h2*ÍQ*9-õ<È{'˜òÞ1SÞÁ8ç¼ÀŽ‚‚!xAÁ -^„à‰’È q7[{Y‡ÔŒ -A4NÐS*”/6$Q!G*4ä(ÉHæíÚË4´ -šš%›|¹Ú åªÄ¨0CKdt:%Å3cRzÁ˜”ž“â™1)½`±#¦àqSð˜‚Ç!xLÀv0 -ÎBpFÁg!8#à;8ç!8§àœ‚óœp‚‚‹\PpAÁE.¸ÄIÁe.)¸¤à2—\a‡¢à*W\Qp‚«<Í\)vt÷ÌÞ FðžÁ=3‚÷‚ <ÆŽ˜‚Ç!xLÁ]õ­<3õß>Ü3Tfx‹'@¹K—Ptù$ÇzÞ:šâʧîÓQ{:˜72S_4îŽÎâ%)Öx¯‡ž0€ÜÀ³› PŽý.t%æ¤$R=CÌÁ˜•2ªÎ¨:›Ô™ N’I½gH%ÃL*)º¤è’¢§ÀH)zJÑS‚Î|F(ÌÌÍΉ*/@ ƒL>P·Zªn©:Id‚×7Áƒ;2“:ÞW”4C’@÷ ©`F}³ð%sÐ ê]£´uFfZ=ÍtãêÔŸ:f|Vzf|V4n„6Ë„X†bŠe&,.à” ¶ã³€‹Ð)t9ƒ[gᔥNÙÐ)K²Ô);8õ}]ïÞo꺿…Ãí;x÷Cq 3%±S;—¡™xv/0|Ohú=¡Ãï M¿'tAãE>4Ú‡¦¼:üàÕôƒW—«$£†E•Y:jØ9V/ ÚÒQÃ’<*H‘8”k/›(GG7˜C, -ÊÒ‚²aAYZP–”¥•à ´½!÷[Ó™EÓ™EÓ™…£är<´¹çÄ3£3£3ãNc{ŠRÉQ*-¦É‘™¬Ãð8ƒq @`sØÑ"uÏ8’‡Z‰x:åª@‡qÄ-ø¨0ÿþËpµ³éj…Ù,¸ÚFá}Vù¨ Á67ß^øßS½„3²¢3²ÂŒ¼¦L¯úýõ¦h¿toáÍpõýGbUÆé<<ƒÓ38©ÉŒÛñ`e’bÉ‹‡™¤X’\Z<½™ —V„—–¾ÅˆåÊ3“]˜ÿ•…IÁE5 î$f_.½`DûßUзnƒg:™NÝ8‰íøå%y™öО=ZQ"¥#)Q·^:éÑ#{åxç­w“Õ:y¯¿¾”øQúÄM{Ø…  €&Rrß(Ñ7^02›,¹]ʱ5R­FªÕ -–Æ!×]+NÅ^T|ë*–/ÀU°|Áò·±9Ü™sªçìèœ{¤ -åÞ€PTÑPd>]&`>r¼F©¨C©ÀôT`8 MV‰áL ¨ -CÖ ®¡Âp)A©\*— -A¥BÉ õôBOR€(˜]0»`ö ÄŒÙ3fçþR`p,18– ªªáªj¸ª®ªèn%w·’»[¹ènѬIÍ]ˆŽ»í» F«¨:Î2j¾4®Uóµj¾VÍתq­š¯Uóµj¾V…APñ ¨xTü:b‘Ú²vn>´eÇ¢ï7);6eǦœA ò$á J8ƒøÚ4žT–3ÄF% |Á |Á |þ‚’/ÁU²|Éò%ËÇåV „‰š udàš&¸¦‰¸&UÞ…¦©aq d :ÝÆN Ñ‘àcÁ>±ûX°…"mEà -›X!—Á3Ÿh– -•ÊÁ9Gp¾T8¨çÌg…!…\’ÊX¡d…’ÊX¡—b…*V¨X¡b…ñ Y!N*Ž“** 2Å”’&ÄdötÊcKš§Ì -k¼`6¿E“E´rbˆ4¬ÎéH@æ#9Â|$‡ÌGB -S¼a(¤5º n¥4ü©yþÐìiÍžÖñÕp–7,oXÞÄ¡BÞ»¼ê÷Û ™_,D›D€ˆ†A"Z^¼eŒÌÎST®dvž*bçax¨szsb)Xó* -Öœú²¿ Èä½¼µTB¢5 ‹¹Ñ2»evËì˜-sž-sž-sš-•ôéà &£t³¼LÈ0‡L†ÉV¬këZ±®ëZ‘.Ô/I#Ü€hÎf :IÉì\Œ¤dvÔ©˜KäR#£R£$(Y°|Áò˱Œ"1ž6 :MSðNE¼·ž†[OSÄ;4ÉjHhV®cåš•kV®IèzxX]÷ºúÇýáø*F Œ -Ó]æ›05ä€òÕ¶}º~n–lo†¯Ö”ÿnûmÛ®#|ò`S7ãËŸä¡)I1ݦèhE‚õðpt "È£cx<ŽÑOftŒ€BW€ýD£Ÿ(kà8FAô¢eðö Üw<¹…ýH¨ÜÂÞ öZØiag;-ìÌ`§ÍaW»BO—Á> û2Øga_ -»RؓŽ´?ì·àóäª6  9ûOwØß %MŠp˜ -À 0”€ -°,½æõnÿô§ý®óÇïžòçãã¡ó´³‡ýó_›oàë7¿y¾¾ûÖíüg·ùüxôŒ» ú=vÏO‡qñcØcøÀçßà {Œ|Ã#Ÿßcüô{ŒŒã×·Gù›NL ˜Â/ -~Qð‹‚_ü¢àUž¹“Žû<ž'ôßýËádø>Ä—ni+Àp˜ -À 0”€ -°ôöÈúèC¦Ëúèk ¯¾úèkÊ7¿éŸÚí6Yžü<àχõ35"oF´‡Íî¡;lö‡€÷Ï_FüzÄÝw¿iwiA œ¯çΊ€†Õ·©aڬŅkÑY‹CO´Ì´IËY¤Å£“–µ-ð½Ú³…µ«ý‰ -"®7c‘wOÞñØ»LœÎâR‰Î2bÓYŸe&Mg3Î|:ˈÇgaât—þt–›Îâ°ø,3iÚ‹ãqÚ‹ã2"zÎH\-ˆ¯‡:EwîÑéÎ4¾s¢¾³î·{÷6¯ï¶¯Ýuºæ·Ûm»vÝ¡D {~¿ßîw7÷Ýî¢òu+UÒ_o+@ÿâ%ºöÊV¨c+¼«•k9ÜVýýþàº¸í«¯Ïnÿƒ‹†Cß­¯ÿòØín=¸q]ûaAâ•w µýýfsÜl×ÝHþùK{ z8º§zÓÿ:Ò¯îí}7Òï\32>ޤÃè·®Dß núì•_K¿vÇÿ'(q5:wÍ' $¼9 ¯¼_®t_ŸÛ- Z,l»¾÷Gáës×7{¿å剸Åx™·þJG¿á‘OÄgø\K×?úü¾{Ú`)|y'øhcS/A:eòÀ{jAú‘8¹ˆ)D¿¾añ·‘ŒŸh o~:!“ò·? ½!w;Fá(~ƒia”=!/ךȟ]ë>ýÎuöÿ‡9o§ 8Y™r`\ù%ZA¼ûiüDTº«÷D^8µÌ^úHÔ¹ŒKÿáRdÑ[|Ëôö4vÓE£ïˆ@äkO¸s â„rÏÄ%÷G:kdÑ%ÊÔÓf½Þv7}÷õ”Þõ Çð„n·Ðw”r$¶ ò™~Å>öØí3ã5Q§½áKdÀ´Yþ'&O ->°Sj>®ÌÊ~9]œT^‘7ƒED"‹ˆ:IûQ¥ÂH…Æ3Gã™?‚ÉF2SÞÜïŸîüb ¦Ýj‚ny…îyÕ€ºç8ºÞ]o‚®7 ëЛ@¾ÝωMíçC›³vçÞÅm·iG¡ü»›$Þ×äÕ?=)EËœèi…š`þj ¬'÷è;_ýþb½ß}~aŸÃȦñDŒj£HxÊ}±ÝZ °“üãé.³í¶$€>LllÙ±cy™d&à »ÑÀ#ÖßСHXâ1D2é$?p‹BQÔ‹.«ºö îMÓõqQsíËñ͸¶Œ×ž^wôíeãz -ÝËþÙXþ˜µÍjÞ :“Õ/–ýÁäf;k¯w‡Ÿ»Í«þÑ®o–óYÛÏnô£‹{ƒþl1¿ÿ& Ê0ïTQs÷r/ÖÛÝíúf½šµã’Ád¼EYT¿”/KŸêŸÃÿàþÇkQŽG¥—ƒžcÓl»]ÿ¹ß¼8ü#8~.Ö®Æ_÷ß³ñ×õzw{ŽÃbuqøuÝ=‡ìIX…p¬Ë%!Œ 9ë½Úõü;²ƒ1ôÏXÝL¬RËj +Xžµß¦Ñr˜Áôl»›Æ![J¶Ôæÿ”xiKHþ´>kwÝm4}6ü=[|9¬õóùr;o+Š/ÈhJFS2²’âJŠ+i¾¤ø¹ûû‚" Š.hª¨^ôíÕõ¾m›Ýùrõãá×´Ì’ÞKz¯(·’r [’¦d%í”SŒåäa EN ”Åìsòðfº¬zñmÙ¸Øö¯*Rfõù¸t½þ 81ËÌ„f2f–1³Œ"3fÆëïx½]&~2ì*ì*ì*ì*ìjš¨©§¦žš½­ÅŽ!ÖtTWgý¡}v³ß0„x”+†$Ã!NN=¹ì5ù*âVè+ânw#ÛoøQGÁ<ø”º\6ƒM-¨?;úÎe³©§b½Â^^ÿJžUüjüjæV“/f?}9ü}Çø;úrø;úævçøºXü¨ËI|Ö ë!õFä è;¤NKü9™zê‰Ð[âÄR¿ä'ÅÞϳ†ºB°×3'þ˺@òãï™G@¾€:–þÙ'Ž—y²¯O½úÿ9xÌß‹žùÔåyìdO_^úb– Å^ú%~$vR/ñ"êæßµ3"ÓŸa¬81ùñœ¬ÓŸa“‚“ï\(Ï/z‹‘¹‰ñ"úé;–÷ýwò~"ÇØ;y?äý‘z¤>Ö#↲ïäéßU¯&á×n÷÷f)É qpPkNI±’ü(½T^›G1R«¼j%UJ*‘8t¨µ\I™’R$#*»ê U¤^I‰’R%©|©ª%-”T*Iõ—Jïj˜ßä÷+8S¯XÕìTÍNÍÖÊOuàT]NõãÔÓ«~b£$AÍÖé:•ŸQ~¡zþ"ÕQ &ª§Åª:#µê5Õ{ z”¥UÙc=OÝŸªÚª˜VÕâÕóaÔ$B%Ê/P•yõ¯f)ËPå ÔZ kQϧזêy Ô$¼z7%Pk^MÞëÉ+¿På uL½GªÎHGÑ3SµDj‚F­½¦öÁ¨çÚjIeUNÕâ´ŸÚ£ü"UY¨&ê´*ŠÑOˆŽ¢j‰ÔtCµc±þÿ Þ?§òÅj-V1þîêïµî]ÏEùEª²P¿qª¿XíŸcfÃ&ÓóînÙ6ßfóæb¹úqþÑíWÏ¿5w³¶ùéþϳnÓÿëüiÞÝ6³þN¶XÎîÖ«ÅÇsö÷œÁ,gRËÙ5ä¬îùÝrµß5Ï»f.ÞahΛn·¼›íшÿè—sÖË9;çœYsî9gµ¼ˆ¡øÁ"ØqGʹ åœ-sμ9g>ËÂJþbÌg9S[îP–³¼å.e©Çræ¶Ü½,s²ÜÝ,gYˆ^æ‡_ q$oRg.ué³Ûõ¾kÉZº#k~¨Šè‘d .6Û¦›o—›Ýr½ÂhR×5­r½³\7-ÇfËuÏÒZÆ:[ÊÖH1J‹W¶4„´ÊÖ‡c{Nþ<?¶6¬.x¿v] $SÁO„P­”Ó•`*¤S33]™F»ÿ/𠸩Y>])¦‚ -M}¦î5B5©M¨hj c9Ÿfw›fÛÍV‹«Ã¯¯íòföîz¶½ºÞö_„íòæv7èÞ‹î{³{Ð^ ÚÙvÞ Ÿ&Š«›mÓ¿êãÂå)å›cŻźmt¯7í¾»ºÿ3šÄÝÛAT‘›?ö³öjø;(>Lõ—Q«®x\j›®þ Ê_Äò!Äå)ç/Gʉý¿—¦~¿éš¿æíìîêöïÍm³cúayÖõæËîû˜I©T°WÃ’lÍ[‘š÷SÍ ­è ·gÜé‰Bï×°pØ›QYý<6z˜ÊXÝã8‡É_ĉ׻å‘ᬛ/—»eÛ߇¡)U¦ßŽœÇZ»vÖÝòÇYÅù0 1Ý´id^­‰ê¡›OÔ÷åéÒ~?¹t¢ªùr;ßßMÛþõŸ7«Ý”Ÿï·}¿Zô_†ùzÛ\Ý-‹¶ùÚ5^ìñ­xX¸<¥|¯­›þ+Ók?jm·ëÏ÷úÏ¢ç?ŠóHûáÈžðŸŽÔ‡øoUòîD¿<Žxy*Ú›ãf_©Ð?…ýïÉ/Át²O-üç´'y~;½zÈûñ ýû“ÑþwíÑÐ??¹ò뾄~4€ã~zjáÃé€_޾Óçå¤öã±>ëž…ÇÆ—§ìþõáñSzZýé‘Ëã¶Žñî„ùû“–/ïöÝr>kWë]ózò{qÝÇ¥$` ôpèa sè` SÈÍ ‰a3haÙwKê€zȵ É¡ƒ%L!Çø$†Ì …L$/uèa sè` SÈM,‰a3h!7Ã$‘¾SòC=¬a,a -¹a&1¬`-,`"yy ô°†9t°„)äú”İ‚´°€‰¼÷ŒaE=Ð@k˜CK˜Âư‚´;k’H^ê0ÐÃæÐÁ¦ëbà -fÐÂ&ÒwF~h ‡5Ì¡ƒ%LacXÁ ZXÀDò²zXÃ:XÂF0†Ì …Ldß-,¨èa sè` SÁV0ƒ0‘¼Ôa ‡5Ì¡ƒ%LacXÁ ZXÀDúNÈ ô°†9t°„)ŒþÏx•v5q…áDö°#„ÝWQÃ$LÀªY´*$`ÞI&%dtf…nt±µ‹ÖS¿÷ð{úÁÿÐÃoº½sç0a±MΙç¾Ï»ÞíÍ1„8ƒEãˆv^üG #Î"ƃˆÓˆ“ˆÄâ bQDŒ#NpBÖ=BÖ9BÖýgFœD "òõÆÃ6Z|À:BÀª‹É1 ­þÆÐâÇ­uf®Ëj¤(¯ªë©:²ºaðêbˆÄ8b1ZÇÿÖ8<ÄFEU×HJ-:X?ú[¿¥ ƒˆ±†´j¤ä¼ºy`@e“X/ ±`«!3Ä "NHô7àÄ|«D—Qs¡©4EK,ÍÓis -§w -!§µâ•VÁ©¹ÐV¶½ßÊ×zPK^]Í?¸;ç-¯Î¦ù,ƒÖÏ…´^·N N"Fãh@ ×D1ÿOÊÑ–nÛÇKk•й‚9ãÒjÔHE¡N*"Ó†E:xS©^fë…ÝŠ‡¼ÔÚÌä‹·1÷®‘tCS×äzé B³dWdé<Ìm#•—SD«”Ø£VJ6YÏ‘ÃN+mÉʼª° oÙ'´©œ«—Ô‚Œ©<¼"^I‹!—všÏÉ+­n¤dMU ~aÙ.¨æÚ7–Ik¯ÌViÝ¥Ysc R(»eÛ$W(Ÿ7ª;9Œ&ß{ožÔÓ¼1 ¾Ø|4>7³à -‚É 3ã³%.$miÕCáõ4…Wq -¿E)ü} ¿Ä(üÛ— -?]À×÷áÅu -?0üþÆ[øî…o§(ìLíÃ7S÷áëk¾ºJáË(|1Ia;Lak‚Âç! -›Á]()lˆŒq -º¿4ÿSxî§ð,°j` -?¬ òÂ>¬ |æÛœ‚âÛ…ì…ÌØ>ÈW(¤G{`utR£Èè|:: Òè%x:Bá“áx2Laex–‡EH^¦°t9/QX¼H!1Daá…GƒæááÀ$›Ýƒ -÷&áãsî¡p÷,…9 p§n÷S¸ÕŸ…›}×`¶Âtü)Ä£;‹FàÆõ1¸65]ÕàêÔY˜û!àoÁwÆ|wÀWÕÛýäJo3ŒöPéñÀåá~î¦p©».íÂÐù;papÏïÂùæ.ï“®8×YgwÏ$àLœé¤Ðï¥Ðç­†Þ‰îÑ•®)od¥Çuš£Žî˜÷ŸåÓb[¢UlI´%[’bC¢J¬L4$+“Í“M‰zÑ“¨«nÑ•hJz’ÕIW²N¬MTˆ§µÉSÉ×ß‘H•û½ûÍÞÂÈÜû:?·Wû`eÏýrïÂ#óy¸¼WýrÏ•X^Yzçv¿N¾xõÊÕ›Û{óhé¯ -&ß:¸ô®²âu2æqŒŒ¸ð;‚cûév|Qí.=]ˆn6²eT[¦øq#–‘Ç(N²ëúW€·½€ -endstream endobj 70 0 obj [/ICCBased 51 0 R] endobj 25 0 obj [24 0 R] endobj 98 0 obj <> endobj xref -0 99 -0000000004 65535 f -0000000016 00000 n -0000000147 00000 n -0000047284 00000 n -0000000000 00000 f -0000047342 00000 n -0000000000 00000 f -0000000000 00000 f -0000077869 00000 n -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000000000 00000 f -0000077942 00000 n -0000078160 00000 n -0000079815 00000 n -0000145404 00000 n -0000210993 00000 n -0000276582 00000 n -0000000000 00000 f -0000077454 00000 n -0000357201 00000 n -0000047907 00000 n -0000293106 00000 n -0000295821 00000 n -0000062360 00000 n -0000077756 00000 n -0000077640 00000 n -0000321401 00000 n -0000320198 00000 n -0000320341 00000 n -0000320484 00000 n -0000075782 00000 n -0000075933 00000 n -0000076084 00000 n -0000295883 00000 n -0000296204 00000 n -0000048390 00000 n -0000050625 00000 n -0000050687 00000 n -0000293071 00000 n -0000051006 00000 n -0000052312 00000 n -0000065099 00000 n -0000051069 00000 n -0000052355 00000 n -0000062395 00000 n -0000062450 00000 n -0000065213 00000 n -0000065276 00000 n -0000065306 00000 n -0000065592 00000 n -0000075670 00000 n -0000065665 00000 n -0000077086 00000 n -0000076571 00000 n -0000076235 00000 n -0000076348 00000 n -0000076467 00000 n -0000076714 00000 n -0000076838 00000 n -0000076962 00000 n -0000077210 00000 n -0000077330 00000 n -0000077524 00000 n -0000077555 00000 n -0000357166 00000 n -0000308132 00000 n -0000314369 00000 n -0000308195 00000 n -0000296525 00000 n -0000302509 00000 n -0000296588 00000 n -0000297454 00000 n -0000302623 00000 n -0000302686 00000 n -0000302716 00000 n -0000303004 00000 n -0000303077 00000 n -0000309108 00000 n -0000314483 00000 n -0000314546 00000 n -0000314576 00000 n -0000314864 00000 n -0000314937 00000 n -0000321179 00000 n -0000320965 00000 n -0000320627 00000 n -0000320740 00000 n -0000320845 00000 n -0000321060 00000 n -0000321292 00000 n -0000321859 00000 n -0000322139 00000 n -0000357226 00000 n -trailer -<<624E7489F7E07242978B41D832AEBB20>]>> -startxref -357440 -%%EOF diff --git a/src/website/ifcos-graph-1.svg b/src/website/ifcos-graph-1.svg deleted file mode 100644 index 717ac16519..0000000000 --- a/src/website/ifcos-graph-1.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/ifcos-graph-2.svg b/src/website/ifcos-graph-2.svg deleted file mode 100644 index a6e8e80232..0000000000 --- a/src/website/ifcos-graph-2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/ifcos_classic-logo.svg b/src/website/ifcos_classic-logo.svg deleted file mode 100644 index aede7b6f97..0000000000 --- a/src/website/ifcos_classic-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/ifcos_new_logo.svg b/src/website/ifcos_new_logo.svg deleted file mode 100644 index dbcfc2e8b3..0000000000 --- a/src/website/ifcos_new_logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/ifos-graphs.svg b/src/website/ifos-graphs.svg deleted file mode 100644 index 8bc66509e4..0000000000 --- a/src/website/ifos-graphs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/index.html b/src/website/index.html deleted file mode 100644 index 4f8b1b6ee4..0000000000 --- a/src/website/index.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - Hello plantilla - - - -
    -
    -

    IfcOpenShell

    -

    the open source Ifc toolkit and geometry engine

    -
    -
    - computer-graph -
    -
    -
    -
    -

    what is IfcOpenShell?

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    -
    -
    -

    why IfcOpenShell?

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    getting started is easy!

    -
    - code - 3d-building -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/src/website/learn.html b/src/website/learn.html deleted file mode 100644 index 23ec2686bd..0000000000 --- a/src/website/learn.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - Hello plantilla - - - -
    -
    -

    Learn

    -

    -
    -
    - computer-graph -
    -
    -
    -
    -

    start here!

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    -
    -
    -

    ready to get started?

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/src/website/logo-combos-for-cli-tools.svg b/src/website/logo-combos-for-cli-tools.svg deleted file mode 100644 index bea2d85101..0000000000 --- a/src/website/logo-combos-for-cli-tools.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/website/products.html b/src/website/products.html deleted file mode 100644 index 4de70f4c6a..0000000000 --- a/src/website/products.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - Hello plantilla - - - -
    -
    -

    Products

    -

    -
    -
    - computer-graph -
    -
    -
    -
    -

    tools for every need

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    -
    -
    -
    -

    ready to get started?

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - \ No newline at end of file diff --git a/src/website/styles.css b/src/website/styles.css deleted file mode 100644 index 3a8f9791c4..0000000000 --- a/src/website/styles.css +++ /dev/null @@ -1,197 +0,0 @@ -* { - margin:0; - padding:0; - box-sizing: border-box; - font-family: 'Nunito', sans-serif; -} - -:root { - --green-dark: #45B749; - --green-medium: #C6DA20; - --base-yellow: #F5E732; - --orange-dark: #F1642A; - --orange-medium: #FFBC2C; - --dark-font: #2F403A; - --blue-tint: #4A5E69; - --off-white: #F7F7F7; - --jumbo-header: 6vw; - --jumbo-text: 3vw; - --header:5vh; - --content:3vh; -} - -body { - background-image: url("ifcos_new_logo.svg"); - background-size: 95vw auto; - background-position: 50% 0%; - background-repeat: no-repeat; -} - -.container { - width:100vw; - height:100vh; -} - - -nav { - background-color: var(--off-white); - width:100vw; - height:8vh; - padding: 0 2vw; - position: fixed; - display: flex; - justify-content: space-between; - box-shadow: 2px 2px 10px rgba(128, 128, 128, 0.493); - z-index: 1; -} - -.logo { - display: flex; - align-items: center; -} - -.logo img { - height: 70%; -} - -.logo a { - text-decoration: none; - color: black; - font-size: 21px; - font-weight: bold; - text-align: center; - justify-content: center; - margin-left: 10px; -} - -nav .menu { - display: flex; - flex-direction: row; - align-self: center; - width: fit-content; - text-decoration: none; - font-size: 18px; -} - -nav .menu a { - text-decoration: none; - color: black; - margin-right: 1rem; - justify-items: space-evenly; - position: relative; -} - -nav .menu a:last-child { - margin-right: 0; -} - -nav .menu a::after { - content: ""; - background-color: var(--orange-medium); - border-radius: 2px; - position: absolute; - left: 0; - top: 100%; - width:100%; - height: 5px; - opacity: 0; - transition: ease-in-out 0.3s; -} - -nav .menu a.selected::after { - opacity: 0.8; -} - -nav .menu a:hover::after { - background-color: var(--green-dark); - opacity: 0.8; -} - -h1 { - font-size: var(--jumbo-header); - color: black; -} - -h2 { - font-size: var(--header); - color: black; - display: block; -} - -.content { - font-size: var(--content); - color: var(--dark-font); -} - -.subheader { - font-size: var(--jumbo-text); - color: var(--dark-font); - font-weight: bolder; -} - -.subheader span { - font-weight: bold; -} - -.jumbo { - display: flex; - justify-content: space-evenly; - width:100vw; - height:50vh; - padding: 30vh; -} - -.jumbo-text { - width: 40vw; -} - -.jumbo-graph { - width: 30vw; -} - -.abstract { - display: inline-flex; - height: 60vh; - padding: 40vh 30vh; -} - -.group h2{ - padding: 5vh 30vh; -} - -.img-group { - display: flex; - justify-content: center; -} - -.img-group img { - width:30vw; -} - -.card-group { - display: grid; - grid-template-columns: repeat(auto-fit, 20rem); - grid-template-rows: 20rem; - column-gap:0.5rem; - row-gap: 2rem; - padding: 0rem 7rem; - justify-content: center; -} - -.card { - width:17rem; - height: 20rem; - background: rgba( 255, 255, 255, 0.25 ); - box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 ); - backdrop-filter: blur( 5px ); - -webkit-backdrop-filter: blur( 5px ); - border-radius: 10px; -} - -footer { - margin-top: 5vh; - height:10vh; - width:100vw; - background-color: var(--blue-tint); - color: var(--off-white); -} \ No newline at end of file From f0a00cbc94d0d7f4020b694f8893641a08c267cf Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 9 May 2022 15:35:52 +1000 Subject: [PATCH 130/243] #2185 Set up auto generated API reference documentation via sphinx-autoapi --- .../docs/users/exploring_an_ifc_model.rst | 32 ++++++++--- src/ifcopenshell-python/docs/conf.py | 39 +++++++++++-- .../docs/ifcopenshell-python.rst | 4 +- .../ifcopenshell-python/api-documentation.rst | 21 ------- .../ifcopenshell-python/developer_guide.rst | 15 +++++ .../{quickstart.rst => hello_world.rst} | 6 +- src/ifcopenshell-python/docs/index.rst | 8 +-- .../ifcopenshell/__init__.py | 55 +++++++++++++++++++ .../ifcopenshell/api/__init__.py | 2 + .../ifcopenshell/api/aggregate/__init__.py | 24 ++++++++ .../api/aggregate/assign_object.py | 20 +++++-- .../ifcopenshell/api/attribute/__init__.py | 17 ++++++ .../ifcopenshell/api/boundary/__init__.py | 21 +++++++ .../api/classification/__init__.py | 17 ++++++ .../ifcopenshell/api/constraint/__init__.py | 17 ++++++ .../ifcopenshell/api/context/__init__.py | 17 ++++++ .../ifcopenshell/api/control/__init__.py | 17 ++++++ .../ifcopenshell/api/cost/__init__.py | 17 ++++++ .../ifcopenshell/api/document/__init__.py | 17 ++++++ .../ifcopenshell/api/drawing/__init__.py | 17 ++++++ .../ifcopenshell/api/geometry/__init__.py | 17 ++++++ .../ifcopenshell/api/georeference/__init__.py | 17 ++++++ .../ifcopenshell/api/grid/__init__.py | 17 ++++++ .../ifcopenshell/api/group/__init__.py | 17 ++++++ .../ifcopenshell/api/layer/__init__.py | 17 ++++++ .../ifcopenshell/api/library/__init__.py | 17 ++++++ .../ifcopenshell/api/material/__init__.py | 17 ++++++ .../ifcopenshell/api/nest/__init__.py | 17 ++++++ .../ifcopenshell/api/owner/__init__.py | 17 ++++++ .../ifcopenshell/api/profile/__init__.py | 17 ++++++ .../ifcopenshell/api/project/__init__.py | 17 ++++++ .../ifcopenshell/api/pset/__init__.py | 17 ++++++ .../api/pset_template/__init__.py | 17 ++++++ .../ifcopenshell/api/resource/__init__.py | 17 ++++++ .../ifcopenshell/api/root/__init__.py | 17 ++++++ .../ifcopenshell/api/sequence/__init__.py | 17 ++++++ .../ifcopenshell/api/spatial/__init__.py | 17 ++++++ .../ifcopenshell/api/structural/__init__.py | 17 ++++++ .../ifcopenshell/api/style/__init__.py | 17 ++++++ .../ifcopenshell/api/system/__init__.py | 17 ++++++ .../ifcopenshell/api/type/__init__.py | 17 ++++++ .../ifcopenshell/api/unit/__init__.py | 17 ++++++ .../ifcopenshell/api/void/__init__.py | 17 ++++++ src/ifcopenshell-python/ifcopenshell/draw.py | 1 + .../ifcopenshell/entity_instance.py | 2 +- src/ifcopenshell-python/ifcopenshell/file.py | 20 +++---- .../ifcopenshell/geom/__init__.py | 1 + src/ifcopenshell-python/ifcopenshell/guid.py | 1 + .../ifcopenshell/util/__init__.py | 2 + .../ifcopenshell/validate.py | 2 + 50 files changed, 744 insertions(+), 59 deletions(-) delete mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/api-documentation.rst create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/developer_guide.rst rename src/ifcopenshell-python/docs/ifcopenshell-python/{quickstart.rst => hello_world.rst} (81%) create mode 100644 src/ifcopenshell-python/ifcopenshell/api/aggregate/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/attribute/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/boundary/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/classification/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/constraint/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/context/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/control/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/cost/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/document/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/drawing/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/geometry/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/georeference/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/grid/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/group/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/layer/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/library/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/material/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/nest/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/owner/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/profile/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/project/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/pset/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/pset_template/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/resource/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/root/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/sequence/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/spatial/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/structural/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/style/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/system/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/type/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/unit/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/api/void/__init__.py diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index dea6eaeaea..e52e10a329 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -29,7 +29,7 @@ The bottom right **Properties** panel shows data and relationships. The **Properties** panel has tabs to switch between different types of properties. Make sure you have the **Scene Properties** tab activated, and find -the **IFC Project** subpanel. Click on the **Load Project** and browse to your +the **IFC Project** subpanel. Click on **Load Project** and browse to your ``.ifc`` file. .. image:: properties-loadproject.png @@ -210,7 +210,7 @@ Press the **Select Icon** to select all objects that are of the same **IfcSlab** **Class**. Then, you can isolate these elements by going to ``Object > Show/Hide > Hide Unselected`` (hotkey ``Shift-H``). To show all elements again, you can use ``Object > Show/Hide > Show Hidden Objects`` (hotkey ``Alt-H``). If you want to -hide elements instead, you can use ``Object > Show/Hiden > Hide Selected`` +hide elements instead, you can use ``Object > Show/Hidden > Hide Selected`` (hotkey ``H``). .. image:: element-class-select.png @@ -295,8 +295,13 @@ You can find **Quantities** in the **IFC Quantity Sets** subpanel. .. image:: qtos.png -Viewing construction types --------------------------- +Finding the location of objects +------------------------------- + +TODO + +Checking construction types +--------------------------- Almost everything in the built environment will have a **Construction Type**. For example, an architect will specify a door type for every door in a project. @@ -332,7 +337,7 @@ You can visually inspect types in isolation to the rest of the model. Types are hidden by default, so first enable the visibility of the **Types** collection in the **Outliner** by pressing the **Visibility Icon**. Then, select a type, and click on ``View > Local View > Toggle Local View`` (hotkey ``/``) in the -**Viewport**. Toggle the view again to see the entire model again. +**Viewport**. Toggle the view to see the entire model again. .. image:: type-local-view.png @@ -343,8 +348,16 @@ click on ``View > Local View > Toggle Local View`` (hotkey ``/``) in the occurrence (such as a wall, which varies based on the wall length), the **Construction Type** will typically have no geometry. -Viewing materials ------------------ +Filtering by materials +---------------------- + +Everything in the built environment is made from a physical raw **Material** +resources. For example, a **Material** might be a 140mm core filled block. +Another **Material** might be a 190mm hollowcore block. **Materials** are +grouped into categories like steel, concrete, brick, block, and so on. + +We can see a list of **Materials** used in the project in the **IFC Materials** +subpanel in the **Scene Properties** tab. TODO @@ -352,3 +365,8 @@ Taking simple measurements -------------------------- TODO + +What else is there? +------------------- + +TODO diff --git a/src/ifcopenshell-python/docs/conf.py b/src/ifcopenshell-python/docs/conf.py index 7d291e12ef..e632b18838 100644 --- a/src/ifcopenshell-python/docs/conf.py +++ b/src/ifcopenshell-python/docs/conf.py @@ -28,19 +28,19 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) +import os +import sys +sys.path.insert(0, os.path.abspath('..')) # -- Project information ----------------------------------------------------- project = "IfcOpenShell" -copyright = "2020, IfcOpenShell Contributors" +copyright = "2020-2022, IfcOpenShell Contributors" author = "IfcOpenShell Contributors" # The full version, including alpha/beta/rc tags -release = "0.0.1" +release = "0.7.0" # -- General configuration --------------------------------------------------- @@ -48,7 +48,34 @@ release = "0.0.1" # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ["sphinx.ext.autodoc"] + +# I considered autodoc+autosummary but it had showstopper glitches: +# - Some modules couldn't be accessed https://github.com/sphinx-doc/sphinx/issues/7912#issuecomment-1120508738 +# - No subnav making it really hard to navigate +# - Kinda hacky setup https://stackoverflow.com/questions/2701998/sphinx-autodoc-is-not-automatic-enough +# - I couldn't customise the template to show submodules above members which makes API discovery hard for users +extensions = ["autoapi.extension"] + +# We're only documenting Python here +autoapi_type = 'python' + +# autoapi works by reading source code instead of importing modules +autoapi_dirs = ['../ifcopenshell'] + +# autoapi_options doesn't have show-module-summary, as it tends to create one +# page per function which contradicts the presentation of showing all functions +# as a list. This creates two possible locations where a function is documented +# which is really disorienting. I also exclude imported-members. For example, +# ifcopenshell.file is imported from ifcopenshell.file.file, but it gets pretty +# confusing to see the docs again in multiple places (seriously, +# ifcopenshell.file.file is everywhere). +autoapi_options = ['members', 'undoc-members', 'private-members', 'special-members', 'show-inheritance'] + +# This option is set to both to allow both class docstrings and __init__ docstrings. +autoapi_python_class_content = 'both' + +# Group by type (e.g. attribute, class, function, etc) then alphabetically. +autoapi_member_order = "groupwise" # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python.rst b/src/ifcopenshell-python/docs/ifcopenshell-python.rst index 1f661a3488..4902bc9157 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python.rst @@ -8,8 +8,8 @@ this document. :maxdepth: 1 :caption: Contents: - ifcopenshell-python/quickstart - ifcopenshell-python/api-documentation + ifcopenshell-python/hello_world + ifcopenshell-python/developer_guide Indices and tables ------------------ diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/api-documentation.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/api-documentation.rst deleted file mode 100644 index 299250fb90..0000000000 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/api-documentation.rst +++ /dev/null @@ -1,21 +0,0 @@ -API Documentation -================= - -.. automodule:: ifcopenshell.entity_instance - :members: - -.. automodule:: ifcopenshell.file - :members: - -.. automodule:: ifcopenshell.guid - :members: - - -.. automodule:: ifcopenshell.template - :members: - -.. automodule:: ifcopenshell.validate - :members: - -.. automodule:: ifcopenshell.ids - :members: diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/developer_guide.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/developer_guide.rst new file mode 100644 index 0000000000..d664cbe111 --- /dev/null +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/developer_guide.rst @@ -0,0 +1,15 @@ +Developer Guide +=============== + +The core module implements low-level functionality to read and write IFC data. This includes: + +- Reading IFC data from different serialisations into Python objects +- Accessing direct and indirect attributes of IFC entities +- Creating IFC entities +- Generating GlobalIds +- Removing IFC entities and all references +- Modifying IFC direct attributes +- Checking IFC class inheritance +- Validating IFC data + +TODO diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/quickstart.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/hello_world.rst similarity index 81% rename from src/ifcopenshell-python/docs/ifcopenshell-python/quickstart.rst rename to src/ifcopenshell-python/docs/ifcopenshell-python/hello_world.rst index 56c3ce6e60..333020cfa8 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/quickstart.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/hello_world.rst @@ -1,5 +1,7 @@ -Quickstart -========== +Hello, world! +============= For starters, you can read `Using IfcOpenShell to parse IFC files with Python `_ + +TODO diff --git a/src/ifcopenshell-python/docs/index.rst b/src/ifcopenshell-python/docs/index.rst index c4aab3ecd0..b2d3c866eb 100644 --- a/src/ifcopenshell-python/docs/index.rst +++ b/src/ifcopenshell-python/docs/index.rst @@ -1,20 +1,20 @@ Let's learn IfcOpenShell ======================== -IfcOpenShell is a +IfcOpenShell is a suite of developer libraries and utilities to manipulate OpenBIM data. -A coloured icon: :octicon:`report;1em;sd-text-info`, some more text. +.. note:: -:bdg:`plain badge` + This documentation is incomplete. Would you like to help write more? `Get in touch! `__ .. toctree:: + :hidden: :maxdepth: 1 :caption: Contents: ifcopenshell ifcopenshell-python ifcconvert - blenderbim bimtester ifcdiff ifcclash diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py index c75c4989e9..3ec2188265 100644 --- a/src/ifcopenshell-python/ifcopenshell/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -16,6 +16,17 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +"""The entry module for IfcOpenShell + +Typically used for opening an IFC via a filepath, or accessing one of the +submodules. + +Example:: + + import ifcopenshell + print(ifcopenshell.version) # v0.7.0-1b1fd1e6 + model = ifcopenshell.open("/path/to/model.ifc") +""" from __future__ import absolute_import from __future__ import division @@ -60,14 +71,27 @@ UNSUPPORTED_SCHEMA = ifcopenshell_wrapper.file_open_status.UNSUPPORTED_SCHEMA class Error(Exception): + """Error used when a generic problem occurs""" pass class SchemaError(Error): + """Error used when an IFC schema related problem occurs""" pass def open(fn): + """Loads an IFC dataset from a filepath + + :param fn: Filepath to the IFC model + :type fn: string + :returns: A file object + :rtype: ifcopenshell.file.file + + Example:: + + ifc_file = ifcopenshell.open("/path/to/model.ifc") + """ f = ifcopenshell_wrapper.open(os.path.abspath(fn)) if f.good(): return file(f) @@ -84,6 +108,26 @@ def open(fn): def create_entity(type, schema="IFC4", *args, **kwargs): + """Creates a new IFC entity that does not belong to an IFC file object + + Note that it is more common to create entities within a existing file + object. See :meth:`ifcopenshell.file.file.create_entity`. + + :param type: Case insensitive name of the IFC class + :type type: string + :param schema: The IFC schema identifier + :type schema: string + :param args: The positional arguments of the IFC class + :param kwargs: The keyword arguments of the IFC class + :returns: An entity instance + :rtype: ifcopenshell.entity_instance.entity_instance + + Example:: + + person = ifcopenshell.create_entity("IfcPerson") # #0=IfcPerson($,$,$,$,$,$,$,$) + model = ifcopenshell.file() + model.add(person) # #1=IfcPerson($,$,$,$,$,$,$,$) + """ e = entity_instance((schema, type)) attrs = list(enumerate(args)) + [(e.wrapped_data.get_argument_index(name), arg) for name, arg in kwargs.items()] for idx, arg in attrs: @@ -95,6 +139,17 @@ gcroot = [] def register_schema(schema): + """Registers a custom IFC schema + + :param schema: A schema object + :type schema: ifcopenshell.express.schema_class.SchemaClass + + Example:: + + schema = ifcopenshell.express.parse("/path/to/ifc-custom.exp") + ifcopenshell.register_schema(schema) + ifcopenshell.file(schema="IFC_CUSTOM") + """ gcroot.append(schema) ifcopenshell_wrapper.register_schema(schema.schema) register_schema_attributes(schema.schema) diff --git a/src/ifcopenshell-python/ifcopenshell/api/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/__init__.py index c53f1aa85b..876071d223 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/api/__init__.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +"""High level user-oriented IFC authoring capabilities""" + import json import numpy import importlib diff --git a/src/ifcopenshell-python/ifcopenshell/api/aggregate/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/aggregate/__init__.py new file mode 100644 index 0000000000..18731bf443 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/aggregate/__init__.py @@ -0,0 +1,24 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +"""Aggregates are the concept of breaking down larger wholes into smaller parts. + +One common use is spatial elements, such as how a site has multiple buildings, +and a building has multiple storeys. Another is for regular elements, such as +how a wall is made out of members and coverings. +""" diff --git a/src/ifcopenshell-python/ifcopenshell/api/aggregate/assign_object.py b/src/ifcopenshell-python/ifcopenshell/api/aggregate/assign_object.py index d6cc75ee8a..dc630e6d4d 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/aggregate/assign_object.py +++ b/src/ifcopenshell-python/ifcopenshell/api/aggregate/assign_object.py @@ -21,14 +21,24 @@ import ifcopenshell.api class Usecase: - def __init__(self, file, **settings): + def __init__(self, file, product=None, relating_object=None): + """Assigns an object as an aggregate to a product + + :param product: The part of the aggregate + :param relating_object: The whole of the aggregate + :return: entity: The aggregate relationship + + Example:: + + element = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcSite") + subelement = ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcBuilding") + ifcopenshell.api.run("aggregate.assign_object", model, product=subelement, relating_object=element) + """ self.file = file self.settings = { - "product": None, - "relating_object": None, + "product": product, + "relating_object": relating_object, } - for key, value in settings.items(): - self.settings[key] = value def execute(self): decomposes = None diff --git a/src/ifcopenshell-python/ifcopenshell/api/attribute/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/attribute/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/attribute/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/boundary/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/boundary/__init__.py new file mode 100644 index 0000000000..c2a0c1900d --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/boundary/__init__.py @@ -0,0 +1,21 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +"""Boundaries are primarily used for representing virtual interfaces between +spaces for energy analysis. +""" diff --git a/src/ifcopenshell-python/ifcopenshell/api/classification/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/classification/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/classification/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/constraint/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/constraint/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/constraint/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/context/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/context/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/context/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/control/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/control/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/control/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/cost/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/cost/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/cost/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/document/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/document/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/document/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/drawing/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/drawing/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/drawing/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/georeference/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/georeference/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/georeference/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/grid/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/grid/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/grid/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/group/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/group/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/group/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/layer/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/layer/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/layer/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/library/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/library/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/library/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/material/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/material/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/material/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/nest/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/nest/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/nest/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/owner/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/owner/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/owner/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/profile/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/profile/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/profile/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/project/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/project/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/pset/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/pset/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/pset_template/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/pset_template/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/pset_template/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/resource/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/resource/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/resource/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/root/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/root/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/root/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/spatial/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/spatial/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/spatial/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/structural/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/structural/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/structural/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/style/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/style/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/style/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/system/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/system/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/system/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/type/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/type/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/type/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/unit/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/unit/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/unit/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/api/void/__init__.py b/src/ifcopenshell-python/ifcopenshell/api/void/__init__.py new file mode 100644 index 0000000000..e0caddbe3c --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/api/void/__init__.py @@ -0,0 +1,17 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . diff --git a/src/ifcopenshell-python/ifcopenshell/draw.py b/src/ifcopenshell-python/ifcopenshell/draw.py index 02e0ee950c..42755555b5 100644 --- a/src/ifcopenshell-python/ifcopenshell/draw.py +++ b/src/ifcopenshell-python/ifcopenshell/draw.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +"""2D drawing generation and serialisation""" import math import json diff --git a/src/ifcopenshell-python/ifcopenshell/entity_instance.py b/src/ifcopenshell-python/ifcopenshell/entity_instance.py index 14cd7de69b..7b04d06387 100644 --- a/src/ifcopenshell-python/ifcopenshell/entity_instance.py +++ b/src/ifcopenshell-python/ifcopenshell/entity_instance.py @@ -88,7 +88,7 @@ for nm in ifcopenshell_wrapper.schema_names(): class entity_instance(object): - """This is the base Python class for all IFC objects. + """Base class for all IFC objects. An instantiated entity_instance will have methods of Python and the IFC class itself. diff --git a/src/ifcopenshell-python/ifcopenshell/file.py b/src/ifcopenshell-python/ifcopenshell/file.py index 0e9874da3f..73bd62c8e0 100644 --- a/src/ifcopenshell-python/ifcopenshell/file.py +++ b/src/ifcopenshell-python/ifcopenshell/file.py @@ -180,14 +180,12 @@ class file(object): ifc_file = ifcopenshell.open(file_path) products = ifc_file.by_type("IfcProduct") - print(products[0].id(), products[0].GlobalId) - >>> 122 2XQ$n5SLP5MBLyL442paFx - # Subscripting - print(products[0] == ifc_file[122] == ifc_file['2XQ$n5SLP5MBLyL442paFx']) - >>> True + print(products[0].id(), products[0].GlobalId) # 122 2XQ$n5SLP5MBLyL442paFx + print(products[0] == ifc_file[122] == ifc_file["2XQ$n5SLP5MBLyL442paFx"]) # True """ def __init__(self, f=None, schema=None): + """Create a new file object""" if f is not None: self.wrapped_data = f else: @@ -247,12 +245,12 @@ class file(object): Example:: f = ifcopenshell.file() - f.create_entity('IfcPerson') - >>> #1=IfcPerson($,$,$,$,$,$,$,$) - f.create_entity('IfcPerson', 'Foobar') - >>> #2=IfcPerson('Foobar',$,$,$,$,$,$,$) - f.create_entity('IfcPerson', Identification='Foobar') - >>> #3=IfcPerson('Foobar',$,$,$,$,$,$,$) + f.create_entity("IfcPerson") + # >>> #1=IfcPerson($,$,$,$,$,$,$,$) + f.create_entity("IfcPerson", "Foobar") + # >>> #2=IfcPerson('Foobar',$,$,$,$,$,$,$) + f.create_entity("IfcPerson", Identification="Foobar") + # >>> #3=IfcPerson('Foobar',$,$,$,$,$,$,$) """ eid = kwargs.pop("id", -1) diff --git a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py index a960dde620..7edfeaa50b 100644 --- a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +"""Geometry processing and analysis""" from __future__ import absolute_import from __future__ import division diff --git a/src/ifcopenshell-python/ifcopenshell/guid.py b/src/ifcopenshell-python/ifcopenshell/guid.py index 6f20166988..a5e417e251 100644 --- a/src/ifcopenshell-python/ifcopenshell/guid.py +++ b/src/ifcopenshell-python/ifcopenshell/guid.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +"""Reads and writes encoded GlobalIds""" from __future__ import absolute_import from __future__ import division diff --git a/src/ifcopenshell-python/ifcopenshell/util/__init__.py b/src/ifcopenshell-python/ifcopenshell/util/__init__.py index 8bed51a56f..944d7db18c 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/__init__.py +++ b/src/ifcopenshell-python/ifcopenshell/util/__init__.py @@ -15,3 +15,5 @@ # # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . + +"""Utility functions for common IFC queries""" diff --git a/src/ifcopenshell-python/ifcopenshell/validate.py b/src/ifcopenshell-python/ifcopenshell/validate.py index 866154ff3c..a2f2010584 100644 --- a/src/ifcopenshell-python/ifcopenshell/validate.py +++ b/src/ifcopenshell-python/ifcopenshell/validate.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . +"""Data validation module""" + from __future__ import print_function import sys From 8f2b32532c88b7074d564efcc9795a6e9a9bae9d Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 9 May 2022 11:00:04 +0200 Subject: [PATCH 131/243] validate.py text result formatting improvements --- .../ifcopenshell/validate.py | 71 ++++++++++++++++--- 1 file changed, 63 insertions(+), 8 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/validate.py b/src/ifcopenshell-python/ifcopenshell/validate.py index a2f2010584..685ba8c8c0 100644 --- a/src/ifcopenshell-python/ifcopenshell/validate.py +++ b/src/ifcopenshell-python/ifcopenshell/validate.py @@ -72,11 +72,54 @@ simple_type_python_mapping = { } +def annotate_inst_attr_pos(inst, pos): + def get_pos(): + depth=0 + idx=-1 + for c in str(inst): + if c == '(': + depth += 1 + if depth == 1: + idx = 0 + yield -1 + else: + yield idx + elif c == ')': + depth -= 1 + if depth == 0: + idx = -1 + yield -1 + else: + yield idx + elif depth == 1 and c == ',': + idx += 1 + yield -1 + else: + yield idx + return "".join(" ^"[i == pos] for i in get_pos()) + + +def format(val): + if isinstance(val, tuple) and val and isinstance(val[0], ifcopenshell.entity_instance): + return "[\n%s\n ]" % "\n".join(" {}. {}".format(*x) for x in enumerate(val, start=1)) + else: + return repr(val) + + def assert_valid_inverse(attr, val, schema): b1, b2 = attr.bound1(), attr.bound2() invalid = len(val) < b1 or (b2 != -1 and len(val) > b2) if invalid: - raise ValidationError("%r not valid for %s" % (val, attr)) + + ent_ref = attr.entity_reference().name() + attr_ref = attr.attribute_reference().name() + aggr = attr.type_of_aggregation_string().upper() + b1 = attr.bound1() + b2 = attr.bound2() + + attr_formatted = f"{attr.name()} : {aggr} [{b1}:{b2}] OF {ent_ref} FOR {attr_ref}" + + raise ValidationError(f"With inverse:\n {attr_formatted}\nValue:\n {format(val)}\nNot valid\n") return True @@ -125,7 +168,7 @@ def assert_valid(attr, val, schema): raise NotImplementedError("Not impl %s %s" % (type(attr_type), attr_type)) if invalid: - raise ValidationError("%r not valid for %s" % (val, attr)) + raise ValidationError(f"With attribute:\n {attr}\nValue:\n {val}\nNot valid\n") return True @@ -166,7 +209,7 @@ def validate(f, logger): if hasattr(logger, "set_instance"): logger.error(e) else: - logger.error("In %s\n%s", inst, e) + logger.error("For instance:\n %s\n%s", inst, e) has_invalid_value = False for i in range(len(attrs)): @@ -178,18 +221,27 @@ def validate(f, logger): logger.error("Invalid attribute value for %s.%s", entity, attrs[i]) else: logger.error( - "In %s\nInvalid attribute value for %s.%s", + "For instance:\n %s\n %s\nInvalid attribute value for %s.%s", inst, + annotate_inst_attr_pos(inst, i), entity, attrs[i], ) has_invalid_value = True if not has_invalid_value: - for attr, val, is_derived in zip(attrs, inst, entity.derived()): + for i, (attr, val, is_derived) in enumerate(zip(attrs, inst, entity.derived())): if val is None and not (is_derived or attr.optional()): - logger.error("Attribute %s.%s not optional", entity, attr) + if hasattr(logger, "set_instance"): + logger.error("Attribute %s.%s not optional", entity, attr) + else: + logger.error( + "For instance:\n %s\n %s\nWith attribute:\n %s\nNot optional\n", + inst, + annotate_inst_attr_pos(inst, i), + attr + ) if val is not None: attr_type = attr.type_of_attribute() @@ -199,7 +251,10 @@ def validate(f, logger): if hasattr(logger, "set_instance"): logger.error(str(e)) else: - logger.error("In %s\n%s", inst, e) + logger.error("For instance:\n %s\n %s\n%s", + inst, + annotate_inst_attr_pos(inst, i), + e) for attr in entity.all_inverse_attributes(): val = getattr(inst, attr.name()) @@ -209,7 +264,7 @@ def validate(f, logger): if hasattr(logger, "set_instance"): logger.error(str(e)) else: - logger.error("In %s\n%s", inst, e) + logger.error("For instance:\n %s\n%s", inst, e) if __name__ == "__main__": From 7e28d193ecc780ad998265f321e9fe3701f4bd48 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 9 May 2022 19:27:14 +1000 Subject: [PATCH 132/243] #2185 Document installation and hello world examples for IfcOpenShell-python --- .../docs/_static/custom.css | 17 ++ src/ifcopenshell-python/docs/conf.py | 2 + .../docs/ifcopenshell-python.rst | 14 +- .../blenderbim-python-console-1.png | Bin 0 -> 186291 bytes .../blenderbim-python-console-2.png | Bin 0 -> 117237 bytes .../blenderbim-text-editor-1.png | Bin 0 -> 114844 bytes .../blenderbim-text-editor-2.png | Bin 0 -> 101399 bytes .../ifcopenshell-python/code_examples.rst | 4 + .../docs/ifcopenshell-python/hello_world.rst | 216 +++++++++++++++++- .../docs/ifcopenshell-python/installation.rst | 139 +++++++++++ 10 files changed, 381 insertions(+), 11 deletions(-) create mode 100644 src/ifcopenshell-python/docs/_static/custom.css create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-python-console-1.png create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-python-console-2.png create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-text-editor-1.png create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-text-editor-2.png create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/code_examples.rst create mode 100644 src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst diff --git a/src/ifcopenshell-python/docs/_static/custom.css b/src/ifcopenshell-python/docs/_static/custom.css new file mode 100644 index 0000000000..4ecfae2065 --- /dev/null +++ b/src/ifcopenshell-python/docs/_static/custom.css @@ -0,0 +1,17 @@ +.blockbutton { + border: 1px solid var(--color-admonition-title--seealso); + background-color: var(--color-admonition-title-background--seealso); + padding: 5px; + text-align: center; + border-radius: 5px; + max-width: 500px; + margin-left: auto; + margin-right: auto; +} +section img { + display: block; + margin-left: auto; + margin-right: auto; + box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; + border-radius: 5px; +} diff --git a/src/ifcopenshell-python/docs/conf.py b/src/ifcopenshell-python/docs/conf.py index e632b18838..c4df1f62d3 100644 --- a/src/ifcopenshell-python/docs/conf.py +++ b/src/ifcopenshell-python/docs/conf.py @@ -97,3 +97,5 @@ html_theme = "furo" # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] + +html_css_files = ["custom.css"] diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python.rst b/src/ifcopenshell-python/docs/ifcopenshell-python.rst index 4902bc9157..2a6169fefa 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python.rst @@ -1,19 +1,15 @@ IfcOpenShell-Python =================== -This documentation is free software! You are free to contribute and help write -this document. +IfcOpenShell-Python provides Python bindings to the core IfcOpenShell C++ +system, as well as high level analysis and authoring functions. .. toctree:: + :hidden: :maxdepth: 1 :caption: Contents: + ifcopenshell-python/installation ifcopenshell-python/hello_world + ifcopenshell-python/code_examples ifcopenshell-python/developer_guide - -Indices and tables ------------------- - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-python-console-1.png b/src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-python-console-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc44b5a07a72e82e11a9ab0c9a11331d2eb77a5 GIT binary patch literal 186291 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�&E*D_VB1!E1WD?&IeN++80PWp9nWT5Y~v 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 N;Rx}5d*5y)D0*csoV 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 literal 0 HcmV?d00001 diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-python-console-2.png b/src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-python-console-2.png new file mode 100644 index 0000000000000000000000000000000000000000..47b6cddd71b8431a1133399c6383be908ea1803d GIT binary patch literal 117237 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�no3bvjn=t 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 literal 0 HcmV?d00001 diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-text-editor-1.png b/src/ifcopenshell-python/docs/ifcopenshell-python/blenderbim-text-editor-1.png new file mode 100644 index 0000000000000000000000000000000000000000..252f18faf0f7b0ec35b124a988005b05709bd09b GIT binary patch literal 114844 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

    KF2FYwxHi}}~V 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 z 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 SiK`a{f2a;F_Uv`Lj{gsQchB(v literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/viewport-dimensions.png b/src/blenderbim/docs/users/viewport-dimensions.png new file mode 100644 index 0000000000000000000000000000000000000000..52dda47f6873c3540643f9c18d2c1a7a9b7e3e19 GIT binary patch literal 124009 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 ZrkapBD2UFvtB!#m9W8y$%8S;a{{w@tuhjqm literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/viewport-sidebar.png b/src/blenderbim/docs/users/viewport-sidebar.png new file mode 100644 index 0000000000000000000000000000000000000000..7931d22a93d8fff8b3b1a7258b77eb35717a925e GIT binary patch literal 83248 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≥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 G-~R#s6HAN$ literal 0 HcmV?d00001 From c95d3693ea447cefade2cff369d753b7b7781902 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 16 May 2022 11:35:39 +1000 Subject: [PATCH 160/243] OpenSourceBIM contributors badge now in README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1ef82d777d..f60f4e5641 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ For more information, see [![Build Status](https://travis-ci.org/IfcOpenShell/IfcOpenShell.svg?branch=v0.6.0)](https://travis-ci.org/IfcOpenShell/IfcOpenShell) +[![Financial Contributors](https://opencollective.com/opensourcebim/tiers/badge.svg)](https://opencollective.com/opensourcebim/) + Prerequisites ------------- * Git From 3cb68ca388502243449a21ea48c6a8d5f7d61c62 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 16 May 2022 13:06:54 +0200 Subject: [PATCH 161/243] #2186 optional attribute setter fix --- .../ifcopenshell/express/implementation.py | 2 ++ .../ifcopenshell/express/templates.py | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/express/implementation.py b/src/ifcopenshell-python/ifcopenshell/express/implementation.py index a500b41b2f..2e32e38829 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/implementation.py +++ b/src/ifcopenshell-python/ifcopenshell/express/implementation.py @@ -159,6 +159,8 @@ class Implementation(codegen.Base): "type": arg["full_type"].replace("::Value", ""), "non_optional_type": arg["non_optional_type"].replace("::Value", ""), "star_if_optional": "*" if "boost::optional" in arg["full_type"] else "", + "check_optional_set_begin": "if (v) {" if "boost::optional" in arg["full_type"] else "", + "check_optional_set_end": "}" if "boost::optional" in arg["full_type"] else "", }, ) diff --git a/src/ifcopenshell-python/ifcopenshell/express/templates.py b/src/ifcopenshell-python/ifcopenshell/express/templates.py index f52580f516..3b0b043e9f 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/templates.py +++ b/src/ifcopenshell-python/ifcopenshell/express/templates.py @@ -259,13 +259,13 @@ get_attr_stmt_nested_array = "%(null_check)s aggregate_of_aggregate_of_instance: get_inverse = "return data_->getInverse(%(schema_name_upper)s_%(type)s_type, %(index)d)->as<%(type)s>();" set_attr_stmt = ( - "{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(%(star_if_optional)sv" - + ");data_->setArgument(%(index)d,attr);}" + "{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();%(check_optional_set_begin)sattr->set(%(star_if_optional)sv" + + ");%(check_optional_set_end)sdata_->setArgument(%(index)d,attr);}" ) -set_attr_stmt_enum = "{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(%(star_if_optional)sv,%(non_optional_type)s::ToString(%(star_if_optional)sv)));data_->setArgument(%(index)d,attr);}" +set_attr_stmt_enum = "{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();%(check_optional_set_begin)sattr->set(IfcWrite::IfcWriteArgument::EnumerationReference(%(star_if_optional)sv,%(non_optional_type)s::ToString(%(star_if_optional)sv)));%(check_optional_set_end)sdata_->setArgument(%(index)d,attr);}" set_attr_stmt_array = ( - "{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((%(star_if_optional)sv)->generalize()" - + ");data_->setArgument(%(index)d,attr);}" + "{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();%(check_optional_set_begin)sattr->set((%(star_if_optional)sv)->generalize()" + + ");%(check_optional_set_end)sdata_->setArgument(%(index)d,attr);}" ) constructor_stmt = ( From b09ff828de244aa87e191a8553fc6ca3d6e8fdbd Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 16 May 2022 13:07:05 +0200 Subject: [PATCH 162/243] #2186 rerun codegen --- src/ifcparse/Ifc2x3.cpp | 932 +++++++++++----------- src/ifcparse/Ifc4.cpp | 1358 ++++++++++++++++---------------- src/ifcparse/Ifc4x1.cpp | 1392 ++++++++++++++++----------------- src/ifcparse/Ifc4x2.cpp | 1404 ++++++++++++++++----------------- src/ifcparse/Ifc4x3_rc1.cpp | 1450 +++++++++++++++++----------------- src/ifcparse/Ifc4x3_rc2.cpp | 1440 +++++++++++++++++----------------- src/ifcparse/Ifc4x3_rc3.cpp | 1456 +++++++++++++++++----------------- src/ifcparse/Ifc4x3_rc4.cpp | 1474 +++++++++++++++++------------------ 8 files changed, 5453 insertions(+), 5453 deletions(-) diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index c0e35dc2de..249c055202 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -9015,9 +9015,9 @@ Ifc2x3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v ::Ifc2x3::IfcRoleEnum::Value Ifc2x3::IfcActorRole::Role() const { return ::Ifc2x3::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc2x3::IfcActorRole::setRole(::Ifc2x3::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcActorRole::declaration() const { return *IFC2X3_IfcActorRole_type; } @@ -9037,11 +9037,11 @@ Ifc2x3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc2x3::IfcO // Function implementations for IfcAddress boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Ifc2x3::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc2x3::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc2x3::IfcAddress::setPurpose(boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc2x3::IfcAddress::setPurpose(boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc2x3::IfcPerson::list::ptr Ifc2x3::IfcAddress::OfPerson() const { return data_->getInverse(IFC2X3_IfcPerson_type, 7)->as(); } ::Ifc2x3::IfcOrganization::list::ptr Ifc2x3::IfcAddress::OfOrganization() const { return data_->getInverse(IFC2X3_IfcOrganization_type, 4)->as(); } @@ -9120,7 +9120,7 @@ Ifc2x3::IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(::Ifc2x3::Ifc ::Ifc2x3::IfcCurve* Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcAnnotationFillArea::setOuterBoundary(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > Ifc2x3::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcCurve >(); } -void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcAnnotationFillArea::declaration() const { return *IFC2X3_IfcAnnotationFillArea_type; } @@ -9132,7 +9132,7 @@ Ifc2x3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc2x3::IfcCurve* v1_Oute ::Ifc2x3::IfcPoint* Ifc2x3::IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPoint>(true); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setFillStyleTarget(::Ifc2x3::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > Ifc2x3::IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(4)); } -void Ifc2x3::IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc2x3::IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(*v)));}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcAnnotationFillAreaOccurrence::declaration() const { return *IFC2X3_IfcAnnotationFillAreaOccurrence_type; } @@ -9202,9 +9202,9 @@ Ifc2x3::IfcApplication::IfcApplication(::Ifc2x3::IfcOrganization* v1_Application // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc2x3::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcAppliedValueSelect* Ifc2x3::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAppliedValueSelect>(true); } void Ifc2x3::IfcAppliedValue::setAppliedValue(::Ifc2x3::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } @@ -9231,9 +9231,9 @@ void Ifc2x3::IfcAppliedValueRelationship::setComponents(aggregate_of< ::Ifc2x3:: ::Ifc2x3::IfcArithmeticOperatorEnum::Value Ifc2x3::IfcAppliedValueRelationship::ArithmeticOperator() const { return ::Ifc2x3::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(2)); } void Ifc2x3::IfcAppliedValueRelationship::setArithmeticOperator(::Ifc2x3::IfcArithmeticOperatorEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcArithmeticOperatorEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcAppliedValueRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcAppliedValueRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcAppliedValueRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcAppliedValueRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcAppliedValueRelationship::declaration() const { return *IFC2X3_IfcAppliedValueRelationship_type; } @@ -9243,15 +9243,15 @@ Ifc2x3::IfcAppliedValueRelationship::IfcAppliedValueRelationship(::Ifc2x3::IfcAp // Function implementations for IfcApproval boost::optional< std::string > Ifc2x3::IfcApproval::Description() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcApproval::setApprovalDateTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalStatus() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcApproval::setApprovalStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcApproval::setApprovalStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalLevel() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcApproval::setApprovalLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcApproval::setApprovalLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalQualifier() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcApproval::setApprovalQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcApproval::setApprovalQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } std::string Ifc2x3::IfcApproval::Name() const { std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcApproval::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } std::string Ifc2x3::IfcApproval::Identifier() const { std::string v = *data_->getArgument(6); return v; } @@ -9298,7 +9298,7 @@ void Ifc2x3::IfcApprovalRelationship::setRelatedApproval(::Ifc2x3::IfcApproval* ::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalRelationship::setRelatingApproval(::Ifc2x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcApprovalRelationship::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcApprovalRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcApprovalRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc2x3::IfcApprovalRelationship::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcApprovalRelationship::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -9368,11 +9368,11 @@ Ifc2x3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v double Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc2x3::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC2X3_IfcAsymmetricIShapeProfileDef_type; } @@ -9516,7 +9516,7 @@ Ifc2x3::IfcBooleanResult::IfcBooleanResult(::Ifc2x3::IfcBooleanOperator::Value v // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc2x3::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcBoundaryCondition::declaration() const { return *IFC2X3_IfcBoundaryCondition_type; } @@ -9526,17 +9526,17 @@ Ifc2x3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string // Function implementations for IfcBoundaryEdgeCondition boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcBoundaryEdgeCondition::declaration() const { return *IFC2X3_IfcBoundaryEdgeCondition_type; } @@ -9546,11 +9546,11 @@ Ifc2x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std: // Function implementations for IfcBoundaryFaceCondition boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcBoundaryFaceCondition::declaration() const { return *IFC2X3_IfcBoundaryFaceCondition_type; } @@ -9560,17 +9560,17 @@ Ifc2x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std: // Function implementations for IfcBoundaryNodeCondition boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcBoundaryNodeCondition::declaration() const { return *IFC2X3_IfcBoundaryNodeCondition_type; } @@ -9580,7 +9580,7 @@ Ifc2x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std: // Function implementations for IfcBoundaryNodeConditionWarping boost::optional< double > Ifc2x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcBoundaryNodeConditionWarping::declaration() const { return *IFC2X3_IfcBoundaryNodeConditionWarping_type; } @@ -9632,9 +9632,9 @@ Ifc2x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc2x3::IfcSurface* v1_BaseSurfac // Function implementations for IfcBuilding boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcPostalAddress>(true); } void Ifc2x3::IfcBuilding::setBuildingAddress(::Ifc2x3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -9670,7 +9670,7 @@ Ifc2x3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > Ifc2x3::IfcBuildingElementProxy::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc2x3::IfcBuildingElementProxy::setCompositionType(boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc2x3::IfcBuildingElementProxy::setCompositionType(boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcBuildingElementProxy::declaration() const { return *IFC2X3_IfcBuildingElementProxy_type; } @@ -9698,7 +9698,7 @@ Ifc2x3::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, // Function implementations for IfcBuildingStorey boost::optional< double > Ifc2x3::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcBuildingStorey::declaration() const { return *IFC2X3_IfcBuildingStorey_type; } @@ -9716,9 +9716,9 @@ void Ifc2x3::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::IfcWri double Ifc2x3::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcCShapeProfileDef::CentreOfGravityInX() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcCShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcCShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcCShapeProfileDef::declaration() const { return *IFC2X3_IfcCShapeProfileDef_type; } @@ -9788,7 +9788,7 @@ void Ifc2x3::IfcCartesianTransformationOperator::setAxis2(::Ifc2x3::IfcDirection ::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator::declaration() const { return *IFC2X3_IfcCartesianTransformationOperator_type; } @@ -9806,7 +9806,7 @@ Ifc2x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC2X3_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -9826,9 +9826,9 @@ Ifc2x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC2X3_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -9848,9 +9848,9 @@ Ifc2x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc2x3::IfcProfileTyp // Function implementations for IfcChamferEdgeFeature boost::optional< double > Ifc2x3::IfcChamferEdgeFeature::Width() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcChamferEdgeFeature::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcChamferEdgeFeature::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcChamferEdgeFeature::Height() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcChamferEdgeFeature::setHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcChamferEdgeFeature::setHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcChamferEdgeFeature::declaration() const { return *IFC2X3_IfcChamferEdgeFeature_type; } @@ -10007,7 +10007,7 @@ Ifc2x3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, doubl // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc2x3::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcColourSpecification::declaration() const { return *IFC2X3_IfcColourSpecification_type; } @@ -10076,7 +10076,7 @@ Ifc2x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc2x3::IfcTransiti aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Ifc2x3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcProfileDef >(); } void Ifc2x3::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcCompositeProfileDef::declaration() const { return *IFC2X3_IfcCompositeProfileDef_type; } @@ -10166,11 +10166,11 @@ Ifc2x3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity( // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcConnectionPointEccentricity::declaration() const { return *IFC2X3_IfcConnectionPointEccentricity_type; } @@ -10220,17 +10220,17 @@ Ifc2x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc2x3::Ifc std::string Ifc2x3::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcConstraintEnum::Value Ifc2x3::IfcConstraint::ConstraintGrade() const { return ::Ifc2x3::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc2x3::IfcConstraint::setConstraintGrade(::Ifc2x3::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc2x3::IfcActorSelect* Ifc2x3::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcConstraint::setCreatingActor(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcConstraint::setCreationTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc2x3::IfcConstraintClassificationRelationship::list::ptr Ifc2x3::IfcConstraint::ClassifiedAs() const { return data_->getInverse(IFC2X3_IfcConstraintClassificationRelationship_type, 0)->as(); } ::Ifc2x3::IfcConstraintRelationship::list::ptr Ifc2x3::IfcConstraint::RelatesConstraints() const { return data_->getInverse(IFC2X3_IfcConstraintRelationship_type, 2)->as(); } @@ -10246,9 +10246,9 @@ Ifc2x3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std:: // Function implementations for IfcConstraintAggregationRelationship boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcConstraintAggregationRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcConstraintAggregationRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcConstraintAggregationRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcConstraintAggregationRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintAggregationRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintAggregationRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcConstraint >(); } @@ -10276,9 +10276,9 @@ Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRela // Function implementations for IfcConstraintRelationship boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcConstraintRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcConstraintRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcConstraintRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcConstraintRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcConstraint >(); } @@ -10300,9 +10300,9 @@ Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std:: // Function implementations for IfcConstructionMaterialResource boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcConstructionMaterialResource::UsageRatio() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::declaration() const { return *IFC2X3_IfcConstructionMaterialResource_type; } @@ -10320,11 +10320,11 @@ Ifc2x3::IfcConstructionProductResource::IfcConstructionProductResource(std::stri // Function implementations for IfcConstructionResource boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceIdentifier() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcConstructionResource::setResourceIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcConstructionResource::setResourceIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcConstructionResource::setResourceGroup(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcConstructionResource::setResourceGroup(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > Ifc2x3::IfcConstructionResource::ResourceConsumption() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc2x3::IfcResourceConsumptionEnum::FromString(*data_->getArgument(7)); } -void Ifc2x3::IfcConstructionResource::setResourceConsumption(boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc2x3::IfcConstructionResource::setResourceConsumption(boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v)));}data_->setArgument(7,attr);} } ::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcConstructionResource::setBaseQuantity(::Ifc2x3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -10399,7 +10399,7 @@ Ifc2x3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc2 int Ifc2x3::IfcCoordinatedUniversalTimeOffset::HourOffset() const { int v = *data_->getArgument(0); return v; } void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setHourOffset(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc2x3::IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setMinuteOffset(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setMinuteOffset(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcAheadOrBehind::Value Ifc2x3::IfcCoordinatedUniversalTimeOffset::Sense() const { return ::Ifc2x3::IfcAheadOrBehind::FromString(*data_->getArgument(2)); } void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setSense(::Ifc2x3::IfcAheadOrBehind::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcAheadOrBehind::ToString(v)));data_->setArgument(2,attr);} } @@ -10425,9 +10425,9 @@ void Ifc2x3::IfcCostSchedule::setPreparedBy(::Ifc2x3::IfcActorSelect* v) { {IfcW ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setSubmittedOn(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setUpdateDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = *data_->getArgument(11); return v; } @@ -10445,7 +10445,7 @@ Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcO std::string Ifc2x3::IfcCostValue::CostType() const { std::string v = *data_->getArgument(6); return v; } void Ifc2x3::IfcCostValue::setCostType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcCostValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcCostValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcCostValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcCostValue::declaration() const { return *IFC2X3_IfcCostValue_type; } @@ -10455,7 +10455,7 @@ Ifc2x3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost // Function implementations for IfcCovering boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > Ifc2x3::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc2x3::IfcCovering::setPredefinedType(boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc2x3::IfcCovering::setPredefinedType(boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc2x3::IfcRelCoversSpaces::list::ptr Ifc2x3::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC2X3_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc2x3::IfcRelCoversBldgElements::list::ptr Ifc2x3::IfcCovering::Covers() const { return data_->getInverse(IFC2X3_IfcRelCoversBldgElements_type, 5)->as(); } @@ -10481,7 +10481,7 @@ void Ifc2x3::IfcCraneRailAShapeProfileDef::setOverallHeight(double v) { {IfcWrit double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseWidth2() const { double v = *data_->getArgument(4); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseWidth2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcCraneRailAShapeProfileDef::Radius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcCraneRailAShapeProfileDef::setRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcCraneRailAShapeProfileDef::setRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadWidth() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setHeadWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadDepth2() const { double v = *data_->getArgument(7); return v; } @@ -10499,7 +10499,7 @@ void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseDepth2(double v) { {IfcWrite:: double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth3() const { double v = *data_->getArgument(13); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseDepth3(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } boost::optional< double > Ifc2x3::IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc2x3::IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc2x3::IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc2x3::IfcCraneRailAShapeProfileDef::declaration() const { return *IFC2X3_IfcCraneRailAShapeProfileDef_type; } @@ -10513,7 +10513,7 @@ void Ifc2x3::IfcCraneRailFShapeProfileDef::setOverallHeight(double v) { {IfcWrit double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadWidth() const { double v = *data_->getArgument(4); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setHeadWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcCraneRailFShapeProfileDef::Radius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcCraneRailFShapeProfileDef::setRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcCraneRailFShapeProfileDef::setRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadDepth2() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setHeadDepth2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadDepth3() const { double v = *data_->getArgument(7); return v; } @@ -10525,7 +10525,7 @@ void Ifc2x3::IfcCraneRailFShapeProfileDef::setBaseDepth1(double v) { {IfcWrite:: double Ifc2x3::IfcCraneRailFShapeProfileDef::BaseDepth2() const { double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setBaseDepth2(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc2x3::IfcCraneRailFShapeProfileDef::declaration() const { return *IFC2X3_IfcCraneRailFShapeProfileDef_type; } @@ -10635,7 +10635,7 @@ Ifc2x3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::I // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc2x3::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr Ifc2x3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcCurveStyleFontPattern >(); } void Ifc2x3::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -10647,7 +10647,7 @@ Ifc2x3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_N // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc2x3::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc2x3::IfcCurveStyleFontSelect* Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveStyleFontSelect>(true); } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc2x3::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc2x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -10711,7 +10711,7 @@ void Ifc2x3::IfcDerivedProfileDef::setParentProfile(::Ifc2x3::IfcProfileDef* v) ::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcDerivedProfileDef::setOperator(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcDerivedProfileDef::declaration() const { return *IFC2X3_IfcDerivedProfileDef_type; } @@ -10725,7 +10725,7 @@ void Ifc2x3::IfcDerivedUnit::setElements(aggregate_of< ::Ifc2x3::IfcDerivedUnitE ::Ifc2x3::IfcDerivedUnitEnum::Value Ifc2x3::IfcDerivedUnit::UnitType() const { return ::Ifc2x3::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc2x3::IfcDerivedUnit::setUnitType(::Ifc2x3::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcDerivedUnit::declaration() const { return *IFC2X3_IfcDerivedUnit_type; } @@ -10864,7 +10864,7 @@ Ifc2x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std // Function implementations for IfcDistributionControlElement boost::optional< std::string > Ifc2x3::IfcDistributionControlElement::ControlElementId() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcDistributionControlElement::setControlElementId(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcDistributionControlElement::setControlElementId(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc2x3::IfcRelFlowControlElements::list::ptr Ifc2x3::IfcDistributionControlElement::AssignedToFlowElement() const { return data_->getInverse(IFC2X3_IfcRelFlowControlElements_type, 4)->as(); } @@ -10916,7 +10916,7 @@ Ifc2x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::stri // Function implementations for IfcDistributionPort boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > Ifc2x3::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc2x3::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc2x3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc2x3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcDistributionPort::declaration() const { return *IFC2X3_IfcDistributionPort_type; } @@ -10926,11 +10926,11 @@ Ifc2x3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc2 // Function implementations for IfcDocumentElectronicFormat boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::FileExtension() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcDocumentElectronicFormat::setFileExtension(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcDocumentElectronicFormat::setFileExtension(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::MimeContentType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcDocumentElectronicFormat::setMimeContentType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcDocumentElectronicFormat::setMimeContentType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::MimeSubtype() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcDocumentElectronicFormat::setMimeSubtype(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcDocumentElectronicFormat::setMimeSubtype(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcDocumentElectronicFormat::declaration() const { return *IFC2X3_IfcDocumentElectronicFormat_type; } @@ -10944,21 +10944,21 @@ void Ifc2x3::IfcDocumentInformation::setDocumentId(std::string v) { {IfcWrite::I std::string Ifc2x3::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > Ifc2x3::IfcDocumentInformation::DocumentReferences() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcDocumentReference >(); } -void Ifc2x3::IfcDocumentInformation::setDocumentReferences(boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc2x3::IfcDocumentInformation::setDocumentReferences(boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcDocumentInformation::setDocumentOwner(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setCreationTime(::Ifc2x3::IfcDateAndTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateAndTime>(true); } @@ -10970,9 +10970,9 @@ void Ifc2x3::IfcDocumentInformation::setValidFrom(::Ifc2x3::IfcCalendarDate* v) ::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDocumentInformation::setValidUntil(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > Ifc2x3::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc2x3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc2x3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > Ifc2x3::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc2x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc2x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc2x3::IfcDocumentInformationRelationship::list::ptr Ifc2x3::IfcDocumentInformation::IsPointedTo() const { return data_->getInverse(IFC2X3_IfcDocumentInformationRelationship_type, 1)->as(); } ::Ifc2x3::IfcDocumentInformationRelationship::list::ptr Ifc2x3::IfcDocumentInformation::IsPointer() const { return data_->getInverse(IFC2X3_IfcDocumentInformationRelationship_type, 0)->as(); } @@ -10988,7 +10988,7 @@ void Ifc2x3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc2x3::I aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr Ifc2x3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcDocumentInformation >(); } void Ifc2x3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcDocumentInformationRelationship::declaration() const { return *IFC2X3_IfcDocumentInformationRelationship_type; } @@ -11007,9 +11007,9 @@ Ifc2x3::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string // Function implementations for IfcDoor boost::optional< double > Ifc2x3::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcDoor::declaration() const { return *IFC2X3_IfcDoor_type; } @@ -11019,25 +11019,25 @@ Ifc2x3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc2x3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc2x3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } @@ -11049,11 +11049,11 @@ Ifc2x3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcDoorPanelOperationEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc2x3::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcDoorPanelProperties::setPanelOperation(::Ifc2x3::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcDoorPanelProperties::setPanelPosition(::Ifc2x3::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } @@ -11095,9 +11095,9 @@ Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of_instance::ptr v1 // Function implementations for IfcDraughtingCalloutRelationship boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcDraughtingCalloutRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcDraughtingCalloutRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcDraughtingCalloutRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcDraughtingCalloutRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(::Ifc2x3::IfcDraughtingCallout* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } @@ -11189,7 +11189,7 @@ Ifc2x3::IfcEdgeCurve::IfcEdgeCurve(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3:: // Function implementations for IfcEdgeFeature boost::optional< double > Ifc2x3::IfcEdgeFeature::FeatureLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcEdgeFeature::setFeatureLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcEdgeFeature::setFeatureLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcEdgeFeature::declaration() const { return *IFC2X3_IfcEdgeFeature_type; } @@ -11221,7 +11221,7 @@ Ifc2x3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Global ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value Ifc2x3::IfcElectricDistributionPoint::DistributionPointFunction() const { return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcElectricDistributionPoint::setDistributionPointFunction(::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcElectricDistributionPointFunctionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc2x3::IfcElectricDistributionPoint::UserDefinedFunction() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcElectricDistributionPoint::setUserDefinedFunction(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcElectricDistributionPoint::setUserDefinedFunction(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcElectricDistributionPoint::declaration() const { return *IFC2X3_IfcElectricDistributionPoint_type; } @@ -11281,19 +11281,19 @@ Ifc2x3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_Gl // Function implementations for IfcElectricalBaseProperties boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > Ifc2x3::IfcElectricalBaseProperties::ElectricCurrentType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc2x3::IfcElectricCurrentEnum::FromString(*data_->getArgument(6)); } -void Ifc2x3::IfcElectricalBaseProperties::setElectricCurrentType(boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcElectricCurrentEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc2x3::IfcElectricalBaseProperties::setElectricCurrentType(boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcElectricCurrentEnum::ToString(*v)));}data_->setArgument(6,attr);} } double Ifc2x3::IfcElectricalBaseProperties::InputVoltage() const { double v = *data_->getArgument(7); return v; } void Ifc2x3::IfcElectricalBaseProperties::setInputVoltage(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } double Ifc2x3::IfcElectricalBaseProperties::InputFrequency() const { double v = *data_->getArgument(8); return v; } void Ifc2x3::IfcElectricalBaseProperties::setInputFrequency(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::FullLoadCurrent() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcElectricalBaseProperties::setFullLoadCurrent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcElectricalBaseProperties::setFullLoadCurrent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::MinimumCircuitCurrent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcElectricalBaseProperties::setMinimumCircuitCurrent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcElectricalBaseProperties::setMinimumCircuitCurrent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::MaximumPowerInput() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcElectricalBaseProperties::setMaximumPowerInput(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcElectricalBaseProperties::setMaximumPowerInput(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::RatedPowerInput() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcElectricalBaseProperties::setRatedPowerInput(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcElectricalBaseProperties::setRatedPowerInput(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } int Ifc2x3::IfcElectricalBaseProperties::InputPhase() const { int v = *data_->getArgument(13); return v; } void Ifc2x3::IfcElectricalBaseProperties::setInputPhase(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -11321,7 +11321,7 @@ Ifc2x3::IfcElectricalElement::IfcElectricalElement(std::string v1_GlobalId, ::If // Function implementations for IfcElement boost::optional< std::string > Ifc2x3::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcRelConnectsStructuralElement::list::ptr Ifc2x3::IfcElement::HasStructuralMember() const { return data_->getInverse(IFC2X3_IfcRelConnectsStructuralElement_type, 4)->as(); } ::Ifc2x3::IfcRelFillsElement::list::ptr Ifc2x3::IfcElement::FillsVoids() const { return data_->getInverse(IFC2X3_IfcRelFillsElement_type, 5)->as(); } @@ -11343,7 +11343,7 @@ Ifc2x3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistor // Function implementations for IfcElementAssembly boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > Ifc2x3::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc2x3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc2x3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc2x3::IfcElementAssemblyTypeEnum::Value Ifc2x3::IfcElementAssembly::PredefinedType() const { return ::Ifc2x3::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } void Ifc2x3::IfcElementAssembly::setPredefinedType(::Ifc2x3::IfcElementAssemblyTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcElementAssemblyTypeEnum::ToString(v)));data_->setArgument(9,attr);} } @@ -11371,7 +11371,7 @@ Ifc2x3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc2x3::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr Ifc2x3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcPhysicalQuantity >(); } void Ifc2x3::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -11383,7 +11383,7 @@ Ifc2x3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc2x3 // Function implementations for IfcElementType boost::optional< std::string > Ifc2x3::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcElementType::declaration() const { return *IFC2X3_IfcElementType_type; } @@ -11443,9 +11443,9 @@ Ifc2x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string // Function implementations for IfcEnergyProperties boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > Ifc2x3::IfcEnergyProperties::EnergySequence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc2x3::IfcEnergySequenceEnum::FromString(*data_->getArgument(4)); } -void Ifc2x3::IfcEnergyProperties::setEnergySequence(boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcEnergySequenceEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc2x3::IfcEnergyProperties::setEnergySequence(boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcEnergySequenceEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcEnergyProperties::UserDefinedEnergySequence() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcEnergyProperties::setUserDefinedEnergySequence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcEnergyProperties::setUserDefinedEnergySequence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc2x3::IfcEnergyProperties::declaration() const { return *IFC2X3_IfcEnergyProperties_type; } @@ -11459,7 +11459,7 @@ void Ifc2x3::IfcEnvironmentalImpactValue::setImpactType(std::string v) { {IfcWri ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value Ifc2x3::IfcEnvironmentalImpactValue::Category() const { return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcEnvironmentalImpactValue::setCategory(::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcEnvironmentalImpactValue::UserDefinedCategory() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcEnvironmentalImpactValue::setUserDefinedCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcEnvironmentalImpactValue::setUserDefinedCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcEnvironmentalImpactValue::declaration() const { return *IFC2X3_IfcEnvironmentalImpactValue_type; } @@ -11507,7 +11507,7 @@ Ifc2x3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc2x3:: aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcExtendedMaterialProperties::ExtendedProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcExtendedMaterialProperties::setExtendedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcExtendedMaterialProperties::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcExtendedMaterialProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcExtendedMaterialProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc2x3::IfcExtendedMaterialProperties::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcExtendedMaterialProperties::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -11519,11 +11519,11 @@ Ifc2x3::IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(::Ifc2x3::I // Function implementations for IfcExternalReference boost::optional< std::string > Ifc2x3::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcExternalReference::ItemReference() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcExternalReference::setItemReference(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcExternalReference::setItemReference(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcExternalReference::declaration() const { return *IFC2X3_IfcExternalReference_type; } @@ -11647,17 +11647,17 @@ Ifc2x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc2x3::IfcClosedShel // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcFailureConnectionCondition::declaration() const { return *IFC2X3_IfcFailureConnectionCondition_type; } @@ -11935,11 +11935,11 @@ void Ifc2x3::IfcFluidFlowProperties::setFluid(::Ifc2x3::IfcMaterial* v) { {IfcWr ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setPressureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc2x3::IfcFluidFlowProperties::UserDefinedPropertySource() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcFluidFlowProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcFluidFlowProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::TemperatureSingleValue() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcFluidFlowProperties::setTemperatureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcFluidFlowProperties::setTemperatureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcTimeSeries>(true); } @@ -11947,11 +11947,11 @@ void Ifc2x3::IfcFluidFlowProperties::setTemperatureTimeSeries(::Ifc2x3::IfcTimeS ::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(15)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateSingleValue(::Ifc2x3::IfcDerivedMeasureValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::FlowConditionSingleValue() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc2x3::IfcFluidFlowProperties::setFlowConditionSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc2x3::IfcFluidFlowProperties::setFlowConditionSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::VelocitySingleValue() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc2x3::IfcFluidFlowProperties::setVelocitySingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc2x3::IfcFluidFlowProperties::setVelocitySingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::PressureSingleValue() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } double v = *data_->getArgument(18); return v; } -void Ifc2x3::IfcFluidFlowProperties::setPressureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc2x3::IfcFluidFlowProperties::setPressureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } const IfcParse::entity& Ifc2x3::IfcFluidFlowProperties::declaration() const { return *IFC2X3_IfcFluidFlowProperties_type; } @@ -11971,13 +11971,13 @@ Ifc2x3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistor // Function implementations for IfcFuelProperties boost::optional< double > Ifc2x3::IfcFuelProperties::CombustionTemperature() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcFuelProperties::setCombustionTemperature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcFuelProperties::setCombustionTemperature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcFuelProperties::CarbonContent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcFuelProperties::setCarbonContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcFuelProperties::setCarbonContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcFuelProperties::LowerHeatingValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcFuelProperties::setLowerHeatingValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcFuelProperties::setLowerHeatingValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcFuelProperties::HigherHeatingValue() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcFuelProperties::setHigherHeatingValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcFuelProperties::setHigherHeatingValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcFuelProperties::declaration() const { return *IFC2X3_IfcFuelProperties_type; } @@ -12031,11 +12031,11 @@ Ifc2x3::IfcGasTerminalType::IfcGasTerminalType(std::string v1_GlobalId, ::Ifc2x3 // Function implementations for IfcGeneralMaterialProperties boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MolecularWeight() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcGeneralMaterialProperties::setMolecularWeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcGeneralMaterialProperties::setMolecularWeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::Porosity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcGeneralMaterialProperties::setPorosity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcGeneralMaterialProperties::setPorosity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MassDensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcGeneralMaterialProperties::setMassDensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcGeneralMaterialProperties::setMassDensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcGeneralMaterialProperties::declaration() const { return *IFC2X3_IfcGeneralMaterialProperties_type; } @@ -12045,15 +12045,15 @@ Ifc2x3::IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(::Ifc2x3::Ifc // Function implementations for IfcGeneralProfileProperties boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::PhysicalWeight() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcGeneralProfileProperties::setPhysicalWeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcGeneralProfileProperties::setPhysicalWeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::Perimeter() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcGeneralProfileProperties::setPerimeter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcGeneralProfileProperties::setPerimeter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::MinimumPlateThickness() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcGeneralProfileProperties::setMinimumPlateThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcGeneralProfileProperties::setMinimumPlateThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::MaximumPlateThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcGeneralProfileProperties::setMaximumPlateThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcGeneralProfileProperties::setMaximumPlateThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::CrossSectionArea() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcGeneralProfileProperties::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcGeneralProfileProperties::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcGeneralProfileProperties::declaration() const { return *IFC2X3_IfcGeneralProfileProperties_type; } @@ -12073,7 +12073,7 @@ Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1 int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc2x3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc2x3::IfcDirection* Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDirection>(true); } @@ -12098,11 +12098,11 @@ Ifc2x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRe ::Ifc2x3::IfcGeometricRepresentationContext* Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcGeometricRepresentationContext>(true); } void Ifc2x3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc2x3::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcGeometricProjectionEnum::Value Ifc2x3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc2x3::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetView(::Ifc2x3::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc2x3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationSubContext::declaration() const { return *IFC2X3_IfcGeometricRepresentationSubContext_type; } @@ -12126,7 +12126,7 @@ void Ifc2x3::IfcGrid::setUAxes(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v) { { aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc2x3::IfcGridAxis >(); } void Ifc2x3::IfcGrid::setVAxes(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > Ifc2x3::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc2x3::IfcGridAxis >(); } -void Ifc2x3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc2x3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc2x3::IfcRelContainedInSpatialStructure::list::ptr Ifc2x3::IfcGrid::ContainedInStructure() const { return data_->getInverse(IFC2X3_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -12137,7 +12137,7 @@ Ifc2x3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcGridAxis boost::optional< std::string > Ifc2x3::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc2x3::IfcCurve* Ifc2x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcGridAxis::setAxisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc2x3::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -12208,15 +12208,15 @@ Ifc2x3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc2x3:: // Function implementations for IfcHygroscopicMaterialProperties boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::VaporPermeability() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcHygroscopicMaterialProperties::setVaporPermeability(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcHygroscopicMaterialProperties::setVaporPermeability(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcHygroscopicMaterialProperties::setMoistureDiffusivity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcHygroscopicMaterialProperties::setMoistureDiffusivity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc2x3::IfcHygroscopicMaterialProperties::declaration() const { return *IFC2X3_IfcHygroscopicMaterialProperties_type; } @@ -12234,7 +12234,7 @@ void Ifc2x3::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc2x3::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcIShapeProfileDef::declaration() const { return *IFC2X3_IfcIShapeProfileDef_type; } @@ -12308,19 +12308,19 @@ Ifc2x3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc2x3 double Ifc2x3::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc2x3::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc2x3::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcLShapeProfileDef::CentreOfGravityInX() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcLShapeProfileDef::CentreOfGravityInY() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcLShapeProfileDef::declaration() const { return *IFC2X3_IfcLShapeProfileDef_type; } @@ -12330,7 +12330,7 @@ Ifc2x3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::V // Function implementations for IfcLaborResource boost::optional< std::string > Ifc2x3::IfcLaborResource::SkillSet() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcLaborResource::setSkillSet(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcLaborResource::setSkillSet(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcLaborResource::declaration() const { return *IFC2X3_IfcLaborResource_type; } @@ -12352,13 +12352,13 @@ Ifc2x3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist std::string Ifc2x3::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcOrganization* Ifc2x3::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcLibraryInformation::setPublisher(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcLibraryInformation::setVersionDate(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > Ifc2x3::IfcLibraryInformation::LibraryReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcLibraryReference >(); } -void Ifc2x3::IfcLibraryInformation::setLibraryReference(boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc2x3::IfcLibraryInformation::setLibraryReference(boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcLibraryInformation::declaration() const { return *IFC2X3_IfcLibraryInformation_type; } @@ -12413,13 +12413,13 @@ Ifc2x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc2x3::I // Function implementations for IfcLightSource boost::optional< std::string > Ifc2x3::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcLightSource::setLightColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcLightSource::declaration() const { return *IFC2X3_IfcLightSource_type; } @@ -12487,7 +12487,7 @@ Ifc2x3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std: ::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcLightSourceSpot::setOrientation(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc2x3::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc2x3::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc2x3::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -12535,13 +12535,13 @@ Ifc2x3::IfcLocalPlacement::IfcLocalPlacement(::Ifc2x3::IfcObjectPlacement* v1_Pl int Ifc2x3::IfcLocalTime::HourComponent() const { int v = *data_->getArgument(0); return v; } void Ifc2x3::IfcLocalTime::setHourComponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc2x3::IfcLocalTime::MinuteComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcLocalTime::setMinuteComponent(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcLocalTime::setMinuteComponent(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcLocalTime::SecondComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcLocalTime::setSecondComponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcLocalTime::setSecondComponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc2x3::IfcCoordinatedUniversalTimeOffset* Ifc2x3::IfcLocalTime::Zone() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(true); } void Ifc2x3::IfcLocalTime::setZone(::Ifc2x3::IfcCoordinatedUniversalTimeOffset* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc2x3::IfcLocalTime::DaylightSavingOffset() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcLocalTime::setDaylightSavingOffset(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcLocalTime::setDaylightSavingOffset(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcLocalTime::declaration() const { return *IFC2X3_IfcLocalTime_type; } @@ -12619,7 +12619,7 @@ void Ifc2x3::IfcMaterialLayer::setMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite double Ifc2x3::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc2x3::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc2x3::IfcMaterialLayerSet::list::ptr Ifc2x3::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC2X3_IfcMaterialLayerSet_type, 0)->as(); } @@ -12632,7 +12632,7 @@ Ifc2x3::IfcMaterialLayer::IfcMaterialLayer(::Ifc2x3::IfcMaterial* v1_Material, d aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr Ifc2x3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcMaterialLayer >(); } void Ifc2x3::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcMaterialLayerSet::declaration() const { return *IFC2X3_IfcMaterialLayerSet_type; } @@ -12690,17 +12690,17 @@ Ifc2x3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc2x3::IfcValue* v1_ValueCompo // Function implementations for IfcMechanicalConcreteMaterialProperties boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::Workability() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWorkability(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWorkability(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc2x3::IfcMechanicalConcreteMaterialProperties::declaration() const { return *IFC2X3_IfcMechanicalConcreteMaterialProperties_type; } @@ -12710,9 +12710,9 @@ Ifc2x3::IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialPr // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc2x3::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcMechanicalFastener::declaration() const { return *IFC2X3_IfcMechanicalFastener_type; } @@ -12730,15 +12730,15 @@ Ifc2x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_Glob // Function implementations for IfcMechanicalMaterialProperties boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::DynamicViscosity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcMechanicalMaterialProperties::setDynamicViscosity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcMechanicalMaterialProperties::setDynamicViscosity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::YoungModulus() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcMechanicalMaterialProperties::setYoungModulus(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcMechanicalMaterialProperties::setYoungModulus(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::ShearModulus() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcMechanicalMaterialProperties::setShearModulus(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcMechanicalMaterialProperties::setShearModulus(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::PoissonRatio() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcMechanicalMaterialProperties::setPoissonRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcMechanicalMaterialProperties::setPoissonRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc2x3::IfcMechanicalMaterialProperties::declaration() const { return *IFC2X3_IfcMechanicalMaterialProperties_type; } @@ -12748,19 +12748,19 @@ Ifc2x3::IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(::Ifc2x // Function implementations for IfcMechanicalSteelMaterialProperties boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::YieldStress() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setYieldStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setYieldStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::UltimateStress() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setUltimateStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setUltimateStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::UltimateStrain() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setUltimateStrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setUltimateStrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::HardeningModule() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setHardeningModule(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setHardeningModule(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::ProportionalStress() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setProportionalStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setProportionalStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::PlasticStrain() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setPlasticStrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setPlasticStrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > Ifc2x3::IfcMechanicalSteelMaterialProperties::Relaxations() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(12); return es->as< ::Ifc2x3::IfcRelaxation >(); } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::setRelaxations(boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(12,attr);} } +void Ifc2x3::IfcMechanicalSteelMaterialProperties::setRelaxations(boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc2x3::IfcMechanicalSteelMaterialProperties::declaration() const { return *IFC2X3_IfcMechanicalSteelMaterialProperties_type; } @@ -12790,7 +12790,7 @@ Ifc2x3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc2x3::IfcOwner ::Ifc2x3::IfcBenchmarkEnum::Value Ifc2x3::IfcMetric::Benchmark() const { return ::Ifc2x3::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcMetric::setBenchmark(::Ifc2x3::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc2x3::IfcMetricValueSelect* Ifc2x3::IfcMetric::DataValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcMetricValueSelect>(true); } void Ifc2x3::IfcMetric::setDataValue(::Ifc2x3::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12826,7 +12826,7 @@ void Ifc2x3::IfcMove::setMoveFrom(::Ifc2x3::IfcSpatialStructureElement* v) { {If ::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcMove::setMoveTo(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcMove::PunchList() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcMove::setPunchList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcMove::setPunchList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc2x3::IfcMove::declaration() const { return *IFC2X3_IfcMove_type; } @@ -12848,7 +12848,7 @@ Ifc2x3::IfcNamedUnit::IfcNamedUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensi // Function implementations for IfcObject boost::optional< std::string > Ifc2x3::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcRelDefines::list::ptr Ifc2x3::IfcObject::IsDefinedBy() const { return data_->getInverse(IFC2X3_IfcRelDefines_type, 4)->as(); } @@ -12887,7 +12887,7 @@ void Ifc2x3::IfcObjective::setResultValues(::Ifc2x3::IfcMetric* v) { {IfcWrite:: ::Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc2x3::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc2x3::IfcObjective::setObjectiveQualifier(::Ifc2x3::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc2x3::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcObjective::declaration() const { return *IFC2X3_IfcObjective_type; } @@ -12964,23 +12964,23 @@ Ifc2x3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc2x3:: // Function implementations for IfcOpticalMaterialProperties boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleTransmittance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setVisibleTransmittance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setVisibleTransmittance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarTransmittance() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setSolarTransmittance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setSolarTransmittance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrTransmittance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrTransmittance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrTransmittance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrEmissivityBack(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrEmissivityBack(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrEmissivityFront(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrEmissivityFront(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleReflectanceBack() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setVisibleReflectanceBack(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setVisibleReflectanceBack(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleReflectanceFront() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setVisibleReflectanceFront(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setVisibleReflectanceFront(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarReflectanceFront() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceFront(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceFront(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarReflectanceBack() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceBack(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceBack(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcOpticalMaterialProperties::declaration() const { return *IFC2X3_IfcOpticalMaterialProperties_type; } @@ -13000,15 +13000,15 @@ Ifc2x3::IfcOrderAction::IfcOrderAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwn // Function implementations for IfcOrganization boost::optional< std::string > Ifc2x3::IfcOrganization::Id() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcOrganization::setId(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcOrganization::setId(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc2x3::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcActorRole >(); } -void Ifc2x3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc2x3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > Ifc2x3::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcAddress >(); } -void Ifc2x3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc2x3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc2x3::IfcOrganizationRelationship::list::ptr Ifc2x3::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC2X3_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc2x3::IfcOrganizationRelationship::list::ptr Ifc2x3::IfcOrganization::Relates() const { return data_->getInverse(IFC2X3_IfcOrganizationRelationship_type, 2)->as(); } @@ -13023,7 +13023,7 @@ Ifc2x3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Id, s std::string Ifc2x3::IfcOrganizationRelationship::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcOrganizationRelationship::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcOrganizationRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcOrganizationRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcOrganizationRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcOrganization* Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcOrganizationRelationship::setRelatingOrganization(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcOrganization >::ptr Ifc2x3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcOrganization >(); } @@ -13063,11 +13063,11 @@ void Ifc2x3::IfcOwnerHistory::setOwningUser(::Ifc2x3::IfcPersonAndOrganization* ::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApplication>(true); } void Ifc2x3::IfcOwnerHistory::setOwningApplication(::Ifc2x3::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc2x3::IfcStateEnum::Value > Ifc2x3::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc2x3::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc2x3::IfcOwnerHistory::setState(boost::optional< ::Ifc2x3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc2x3::IfcOwnerHistory::setState(boost::optional< ::Ifc2x3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc2x3::IfcChangeActionEnum::Value Ifc2x3::IfcOwnerHistory::ChangeAction() const { return ::Ifc2x3::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } void Ifc2x3::IfcOwnerHistory::setChangeAction(::Ifc2x3::IfcChangeActionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcChangeActionEnum::ToString(v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc2x3::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } void Ifc2x3::IfcOwnerHistory::setLastModifyingUser(::Ifc2x3::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcApplication>(true); } @@ -13117,9 +13117,9 @@ void Ifc2x3::IfcPermeableCoveringProperties::setOperationType(::Ifc2x3::IfcPerme ::Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc2x3::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcPermeableCoveringProperties::setPanelPosition(::Ifc2x3::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13141,21 +13141,21 @@ Ifc2x3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* // Function implementations for IfcPerson boost::optional< std::string > Ifc2x3::IfcPerson::Id() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcPerson::setId(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcPerson::setId(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc2x3::IfcActorRole >(); } -void Ifc2x3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc2x3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > Ifc2x3::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcAddress >(); } -void Ifc2x3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc2x3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc2x3::IfcPersonAndOrganization::list::ptr Ifc2x3::IfcPerson::EngagedIn() const { return data_->getInverse(IFC2X3_IfcPersonAndOrganization_type, 0)->as(); } @@ -13170,7 +13170,7 @@ void Ifc2x3::IfcPersonAndOrganization::setThePerson(::Ifc2x3::IfcPerson* v) { {I ::Ifc2x3::IfcOrganization* Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcPersonAndOrganization::setTheOrganization(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcActorRole >(); } -void Ifc2x3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc2x3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcPersonAndOrganization::declaration() const { return *IFC2X3_IfcPersonAndOrganization_type; } @@ -13184,9 +13184,9 @@ void Ifc2x3::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc2x3 std::string Ifc2x3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc2x3::IfcPhysicalComplexQuantity::declaration() const { return *IFC2X3_IfcPhysicalComplexQuantity_type; } @@ -13198,7 +13198,7 @@ Ifc2x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Na std::string Ifc2x3::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcPhysicalComplexQuantity::list::ptr Ifc2x3::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC2X3_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -13221,7 +13221,7 @@ Ifc2x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name ::Ifc2x3::IfcPileTypeEnum::Value Ifc2x3::IfcPile::PredefinedType() const { return ::Ifc2x3::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcPile::setPredefinedType(::Ifc2x3::IfcPileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcPileTypeEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > Ifc2x3::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc2x3::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc2x3::IfcPile::setConstructionType(boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc2x3::IfcPile::setConstructionType(boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcPile::declaration() const { return *IFC2X3_IfcPile_type; } @@ -13402,19 +13402,19 @@ Ifc2x3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc2x3::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc2x3::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcPostalAddress::declaration() const { return *IFC2X3_IfcPostalAddress_type; } @@ -13492,11 +13492,11 @@ Ifc2x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcP std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::declaration() const { return *IFC2X3_IfcPresentationLayerAssignment_type; } @@ -13522,7 +13522,7 @@ Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc2x3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcPresentationStyle::declaration() const { return *IFC2X3_IfcPresentationStyle_type; } @@ -13546,7 +13546,7 @@ void Ifc2x3::IfcProcedure::setProcedureID(std::string v) { {IfcWrite::IfcWriteAr ::Ifc2x3::IfcProcedureTypeEnum::Value Ifc2x3::IfcProcedure::ProcedureType() const { return ::Ifc2x3::IfcProcedureTypeEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcProcedure::setProcedureType(::Ifc2x3::IfcProcedureTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcProcedureTypeEnum::ToString(v)));data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcProcedure::UserDefinedProcedureType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcProcedure::setUserDefinedProcedureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcProcedure::setUserDefinedProcedureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcProcedure::declaration() const { return *IFC2X3_IfcProcedure_type; } @@ -13590,9 +13590,9 @@ Ifc2x3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< st // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc2x3::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr Ifc2x3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcRepresentation >(); } void Ifc2x3::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -13604,13 +13604,13 @@ Ifc2x3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std: // Function implementations for IfcProductsOfCombustionProperties boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcProductsOfCombustionProperties::setSpecificHeatCapacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcProductsOfCombustionProperties::setSpecificHeatCapacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::N20Content() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcProductsOfCombustionProperties::setN20Content(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcProductsOfCombustionProperties::setN20Content(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::COContent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcProductsOfCombustionProperties::setCOContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcProductsOfCombustionProperties::setCOContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::CO2Content() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcProductsOfCombustionProperties::setCO2Content(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcProductsOfCombustionProperties::setCO2Content(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcProductsOfCombustionProperties::declaration() const { return *IFC2X3_IfcProductsOfCombustionProperties_type; } @@ -13622,7 +13622,7 @@ Ifc2x3::IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(::I ::Ifc2x3::IfcProfileTypeEnum::Value Ifc2x3::IfcProfileDef::ProfileType() const { return ::Ifc2x3::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc2x3::IfcProfileDef::setProfileType(::Ifc2x3::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcProfileDef::declaration() const { return *IFC2X3_IfcProfileDef_type; } @@ -13632,7 +13632,7 @@ Ifc2x3::IfcProfileDef::IfcProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_Prof // Function implementations for IfcProfileProperties boost::optional< std::string > Ifc2x3::IfcProfileProperties::ProfileName() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcProfileProperties::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcProfileProperties::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc2x3::IfcProfileDef* Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcProfileProperties::setProfileDefinition(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13644,9 +13644,9 @@ Ifc2x3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string // Function implementations for IfcProject boost::optional< std::string > Ifc2x3::IfcProject::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcProject::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcProject::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcProject::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcProject::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcProject::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr Ifc2x3::IfcProject::RepresentationContexts() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcRepresentationContext >(); } void Ifc2x3::IfcProject::setRepresentationContexts(aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } ::Ifc2x3::IfcUnitAssignment* Ifc2x3::IfcProject::UnitsInContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcUnitAssignment>(true); } @@ -13664,7 +13664,7 @@ void Ifc2x3::IfcProjectOrder::setID(std::string v) { {IfcWrite::IfcWriteArgument ::Ifc2x3::IfcProjectOrderTypeEnum::Value Ifc2x3::IfcProjectOrder::PredefinedType() const { return ::Ifc2x3::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcProjectOrder::setPredefinedType(::Ifc2x3::IfcProjectOrderTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcProjectOrderTypeEnum::ToString(v)));data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcProjectOrder::declaration() const { return *IFC2X3_IfcProjectOrder_type; } @@ -13704,7 +13704,7 @@ Ifc2x3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::If std::string Ifc2x3::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcPropertyDependencyRelationship::list::ptr Ifc2x3::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC2X3_IfcPropertyDependencyRelationship_type, 0)->as(); } ::Ifc2x3::IfcPropertyDependencyRelationship::list::ptr Ifc2x3::IfcProperty::PropertyDependsOn() const { return data_->getInverse(IFC2X3_IfcPropertyDependencyRelationship_type, 1)->as(); } @@ -13735,9 +13735,9 @@ void Ifc2x3::IfcPropertyConstraintRelationship::setRelatingConstraint(::Ifc2x3:: aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcPropertyConstraintRelationship::RelatedProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcPropertyConstraintRelationship::setRelatedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyConstraintRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcPropertyConstraintRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPropertyConstraintRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcPropertyConstraintRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcPropertyConstraintRelationship::declaration() const { return *IFC2X3_IfcPropertyConstraintRelationship_type; } @@ -13760,11 +13760,11 @@ void Ifc2x3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc2x3::I ::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProperty>(true); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc2x3::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyDependencyRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcPropertyDependencyRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcPropertyDependencyRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcPropertyDependencyRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcPropertyDependencyRelationship::declaration() const { return *IFC2X3_IfcPropertyDependencyRelationship_type; } @@ -13812,7 +13812,7 @@ Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::o // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc2x3::IfcObjectReferenceSelect* Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcObjectReferenceSelect>(true); } void Ifc2x3::IfcPropertyReferenceValue::setPropertyReference(::Ifc2x3::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13860,7 +13860,7 @@ void Ifc2x3::IfcPropertyTableValue::setDefiningValues(aggregate_of_instance::ptr aggregate_of_instance::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyTableValue::setDefiningUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcUnit>(true); } @@ -13886,7 +13886,7 @@ Ifc2x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId ::Ifc2x3::IfcObjectTypeEnum::Value Ifc2x3::IfcProxy::ProxyType() const { return ::Ifc2x3::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcProxy::setProxyType(::Ifc2x3::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcProxy::declaration() const { return *IFC2X3_IfcProxy_type; } @@ -13974,7 +13974,7 @@ Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of_instance::ptr v1_Con // Function implementations for IfcRailing boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > Ifc2x3::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc2x3::IfcRailing::setPredefinedType(boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc2x3::IfcRailing::setPredefinedType(boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcRailing::declaration() const { return *IFC2X3_IfcRailing_type; } @@ -14034,9 +14034,9 @@ Ifc2x3::IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, aggregate_ double Ifc2x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc2x3::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcRectangleHollowProfileDef::declaration() const { return *IFC2X3_IfcRectangleHollowProfileDef_type; } @@ -14098,9 +14098,9 @@ void Ifc2x3::IfcReferencesValueDocument::setReferencedDocument(::Ifc2x3::IfcDocu aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcReferencesValueDocument::ReferencingValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } void Ifc2x3::IfcReferencesValueDocument::setReferencingValues(aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcReferencesValueDocument::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcReferencesValueDocument::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcReferencesValueDocument::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcReferencesValueDocument::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcReferencesValueDocument::declaration() const { return *IFC2X3_IfcReferencesValueDocument_type; } @@ -14126,13 +14126,13 @@ void Ifc2x3::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { std::string Ifc2x3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > Ifc2x3::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc2x3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc2x3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc2x3::IfcReinforcementBarProperties::declaration() const { return *IFC2X3_IfcReinforcementBarProperties_type; } @@ -14142,7 +14142,7 @@ Ifc2x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_T // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc2x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr Ifc2x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcSectionReinforcementProperties >(); } void Ifc2x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14158,11 +14158,11 @@ void Ifc2x3::IfcReinforcingBar::setNominalDiameter(double v) { {IfcWrite::IfcWri double Ifc2x3::IfcReinforcingBar::CrossSectionArea() const { double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcReinforcingBar::setCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcReinforcingBar::BarRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(12)); } void Ifc2x3::IfcReinforcingBar::setBarRole(::Ifc2x3::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(12,attr);} } boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > Ifc2x3::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc2x3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc2x3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc2x3::IfcReinforcingBar::declaration() const { return *IFC2X3_IfcReinforcingBar_type; } @@ -14172,7 +14172,7 @@ Ifc2x3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc2x3:: // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc2x3::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcReinforcingElement::declaration() const { return *IFC2X3_IfcReinforcingElement_type; } @@ -14182,9 +14182,9 @@ Ifc2x3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, :: // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc2x3::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc2x3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { double v = *data_->getArgument(11); return v; } void Ifc2x3::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc2x3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { double v = *data_->getArgument(12); return v; } @@ -14216,7 +14216,7 @@ Ifc2x3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc2x3::If aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr Ifc2x3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcObjectDefinition >(); } void Ifc2x3::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > Ifc2x3::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc2x3::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc2x3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc2x3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc2x3::IfcRelAssigns::declaration() const { return *IFC2X3_IfcRelAssigns_type; } @@ -14500,7 +14500,7 @@ void Ifc2x3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc2x3::IfcBo ::Ifc2x3::IfcStructuralConnectionCondition* Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcStructuralConnectionCondition>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc2x3::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14524,7 +14524,7 @@ Ifc2x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::stri aggregate_of< ::Ifc2x3::IfcElement >::ptr Ifc2x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcElement >(); } void Ifc2x3::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc2x3::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC2X3_IfcRelConnectsWithRealizingElements_type; } @@ -14636,9 +14636,9 @@ Ifc2x3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_Glob // Function implementations for IfcRelInteractionRequirements boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::DailyInteraction() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcRelInteractionRequirements::setDailyInteraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcRelInteractionRequirements::setDailyInteraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::ImportanceRating() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcRelInteractionRequirements::setImportanceRating(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcRelInteractionRequirements::setImportanceRating(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelInteractionRequirements::setLocationOfInteraction(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcSpaceProgram>(true); } @@ -14792,9 +14792,9 @@ Ifc2x3::IfcRelaxation::IfcRelaxation(double v1_RelaxationValue, double v2_Initia ::Ifc2x3::IfcRepresentationContext* Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationContext>(true); } void Ifc2x3::IfcRepresentation::setContextOfItems(::Ifc2x3::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr Ifc2x3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcRepresentationItem >(); } void Ifc2x3::IfcRepresentation::setItems(aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -14809,9 +14809,9 @@ Ifc2x3::IfcRepresentation::IfcRepresentation(::Ifc2x3::IfcRepresentationContext* // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcRepresentation::list::ptr Ifc2x3::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC2X3_IfcRepresentation_type, 0)->as(); } @@ -14866,13 +14866,13 @@ Ifc2x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc2x3::IfcProfileDef* v1_S // Function implementations for IfcRibPlateProfileProperties boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::Thickness() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcRibPlateProfileProperties::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcRibPlateProfileProperties::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibHeight() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcRibPlateProfileProperties::setRibHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcRibPlateProfileProperties::setRibHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibWidth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcRibPlateProfileProperties::setRibWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcRibPlateProfileProperties::setRibWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibSpacing() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcRibPlateProfileProperties::setRibSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcRibPlateProfileProperties::setRibSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc2x3::IfcRibPlateDirectionEnum::Value Ifc2x3::IfcRibPlateProfileProperties::Direction() const { return ::Ifc2x3::IfcRibPlateDirectionEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcRibPlateProfileProperties::setDirection(::Ifc2x3::IfcRibPlateDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcRibPlateDirectionEnum::ToString(v)));data_->setArgument(6,attr);} } @@ -14922,9 +14922,9 @@ void Ifc2x3::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* ::Ifc2x3::IfcOwnerHistory* Ifc2x3::IfcRoot::OwnerHistory() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcOwnerHistory>(true); } void Ifc2x3::IfcRoot::setOwnerHistory(::Ifc2x3::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcRoot::declaration() const { return *IFC2X3_IfcRoot_type; } @@ -14934,7 +14934,7 @@ Ifc2x3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcRoundedEdgeFeature boost::optional< double > Ifc2x3::IfcRoundedEdgeFeature::Radius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcRoundedEdgeFeature::setRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcRoundedEdgeFeature::setRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcRoundedEdgeFeature::declaration() const { return *IFC2X3_IfcRoundedEdgeFeature_type; } @@ -14954,7 +14954,7 @@ Ifc2x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc2x3::I // Function implementations for IfcSIUnit boost::optional< ::Ifc2x3::IfcSIPrefix::Value > Ifc2x3::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc2x3::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc2x3::IfcSIUnit::setPrefix(boost::optional< ::Ifc2x3::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc2x3::IfcSIUnit::setPrefix(boost::optional< ::Ifc2x3::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc2x3::IfcSIUnitName::Value Ifc2x3::IfcSIUnit::Name() const { return ::Ifc2x3::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc2x3::IfcSIUnit::setName(::Ifc2x3::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -14992,25 +14992,25 @@ void Ifc2x3::IfcScheduleTimeControl::setLateFinish(::Ifc2x3::IfcDateTimeSelect* ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setScheduleFinish(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ScheduleDuration() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc2x3::IfcScheduleTimeControl::setScheduleDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setScheduleDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ActualDuration() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc2x3::IfcScheduleTimeControl::setActualDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setActualDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::RemainingTime() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc2x3::IfcScheduleTimeControl::setRemainingTime(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setRemainingTime(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::FreeFloat() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc2x3::IfcScheduleTimeControl::setFreeFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setFreeFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::TotalFloat() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc2x3::IfcScheduleTimeControl::setTotalFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setTotalFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< bool > Ifc2x3::IfcScheduleTimeControl::IsCritical() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } bool v = *data_->getArgument(18); return v; } -void Ifc2x3::IfcScheduleTimeControl::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(19)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setStatusTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(19,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::StartFloat() const { if(!data_->getArgument(20) || data_->getArgument(20)->isNull()) { return boost::none; } double v = *data_->getArgument(20); return v; } -void Ifc2x3::IfcScheduleTimeControl::setStartFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(20,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setStartFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(20,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::FinishFloat() const { if(!data_->getArgument(21) || data_->getArgument(21)->isNull()) { return boost::none; } double v = *data_->getArgument(21); return v; } -void Ifc2x3::IfcScheduleTimeControl::setFinishFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(21,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setFinishFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(21,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::Completion() const { if(!data_->getArgument(22) || data_->getArgument(22)->isNull()) { return boost::none; } double v = *data_->getArgument(22); return v; } -void Ifc2x3::IfcScheduleTimeControl::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(22,attr);} } +void Ifc2x3::IfcScheduleTimeControl::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(22,attr);} } ::Ifc2x3::IfcRelAssignsTasks::list::ptr Ifc2x3::IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return data_->getInverse(IFC2X3_IfcRelAssignsTasks_type, 7)->as(); } @@ -15039,7 +15039,7 @@ void Ifc2x3::IfcSectionReinforcementProperties::setLongitudinalStartPosition(dou double Ifc2x3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc2x3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc2x3::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc2x3::IfcSectionProperties* Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSectionProperties>(true); } @@ -15109,9 +15109,9 @@ Ifc2x3::IfcServiceLifeFactor::IfcServiceLifeFactor(std::string v1_GlobalId, ::If aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr Ifc2x3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcShapeModel >(); } void Ifc2x3::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc2x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc2x3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc2x3::IfcProductDefinitionShape* Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcProductDefinitionShape>(true); } @@ -15160,13 +15160,13 @@ Ifc2x3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optiona // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc2x3::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcPostalAddress>(true); } void Ifc2x3::IfcSite::setSiteAddress(::Ifc2x3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -15178,7 +15178,7 @@ Ifc2x3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcSlab boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > Ifc2x3::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc2x3::IfcSlab::setPredefinedType(boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc2x3::IfcSlab::setPredefinedType(boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcSlab::declaration() const { return *IFC2X3_IfcSlab_type; } @@ -15198,11 +15198,11 @@ Ifc2x3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcSlippageConnectionCondition::declaration() const { return *IFC2X3_IfcSlippageConnectionCondition_type; } @@ -15222,7 +15222,7 @@ Ifc2x3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcEnti bool Ifc2x3::IfcSoundProperties::IsAttenuating() const { bool v = *data_->getArgument(4); return v; } void Ifc2x3::IfcSoundProperties::setIsAttenuating(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > Ifc2x3::IfcSoundProperties::SoundScale() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc2x3::IfcSoundScaleEnum::FromString(*data_->getArgument(5)); } -void Ifc2x3::IfcSoundProperties::setSoundScale(boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcSoundScaleEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc2x3::IfcSoundProperties::setSoundScale(boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcSoundScaleEnum::ToString(*v)));}data_->setArgument(5,attr);} } aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr Ifc2x3::IfcSoundProperties::SoundValues() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc2x3::IfcSoundValue >(); } void Ifc2x3::IfcSoundProperties::setSoundValues(aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -15250,7 +15250,7 @@ Ifc2x3::IfcSoundValue::IfcSoundValue(std::string v1_GlobalId, ::Ifc2x3::IfcOwner ::Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcSpace::InteriorOrExteriorSpace() const { return ::Ifc2x3::IfcInternalOrExternalEnum::FromString(*data_->getArgument(9)); } void Ifc2x3::IfcSpace::setInteriorOrExteriorSpace(::Ifc2x3::IfcInternalOrExternalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcInternalOrExternalEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc2x3::IfcRelCoversSpaces::list::ptr Ifc2x3::IfcSpace::HasCoverings() const { return data_->getInverse(IFC2X3_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc2x3::IfcRelSpaceBoundary::list::ptr Ifc2x3::IfcSpace::BoundedBy() const { return data_->getInverse(IFC2X3_IfcRelSpaceBoundary_type, 4)->as(); } @@ -15274,9 +15274,9 @@ Ifc2x3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc2x3 std::string Ifc2x3::IfcSpaceProgram::SpaceProgramIdentifier() const { std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcSpaceProgram::setSpaceProgramIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcSpaceProgram::MaxRequiredArea() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcSpaceProgram::setMaxRequiredArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcSpaceProgram::setMaxRequiredArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcSpaceProgram::MinRequiredArea() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcSpaceProgram::setMinRequiredArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcSpaceProgram::setMinRequiredArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcSpaceProgram::setRequestedLocation(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } double Ifc2x3::IfcSpaceProgram::StandardRequiredArea() const { double v = *data_->getArgument(9); return v; } @@ -15292,23 +15292,23 @@ Ifc2x3::IfcSpaceProgram::IfcSpaceProgram(std::string v1_GlobalId, ::Ifc2x3::IfcO // Function implementations for IfcSpaceThermalLoadProperties boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcSpaceThermalLoadProperties::setApplicableValueRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcSpaceThermalLoadProperties::setApplicableValueRatio(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcThermalLoadSourceEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadSource() const { return ::Ifc2x3::IfcThermalLoadSourceEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadSource(::Ifc2x3::IfcThermalLoadSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcThermalLoadSourceEnum::ToString(v)));data_->setArgument(5,attr);} } ::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcSpaceThermalLoadProperties::setPropertySource(::Ifc2x3::IfcPropertySourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcPropertySourceEnum::ToString(v)));data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::SourceDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcSpaceThermalLoadProperties::setSourceDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcSpaceThermalLoadProperties::setSourceDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc2x3::IfcSpaceThermalLoadProperties::MaximumValue() const { double v = *data_->getArgument(8); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setMaximumValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::MinimumValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcSpaceThermalLoadProperties::setMinimumValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcSpaceThermalLoadProperties::setMinimumValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadTimeSeriesValues(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc2x3::IfcThermalLoadTypeEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadType() const { return ::Ifc2x3::IfcThermalLoadTypeEnum::FromString(*data_->getArgument(13)); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadType(::Ifc2x3::IfcThermalLoadTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcThermalLoadTypeEnum::ToString(v)));data_->setArgument(13,attr);} } @@ -15330,7 +15330,7 @@ Ifc2x3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHi // Function implementations for IfcSpatialStructureElement boost::optional< std::string > Ifc2x3::IfcSpatialStructureElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcSpatialStructureElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcSpatialStructureElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcElementCompositionEnum::Value Ifc2x3::IfcSpatialStructureElement::CompositionType() const { return ::Ifc2x3::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcSpatialStructureElement::setCompositionType(::Ifc2x3::IfcElementCompositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcElementCompositionEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -15383,13 +15383,13 @@ Ifc2x3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v // Function implementations for IfcStairFlight boost::optional< int > Ifc2x3::IfcStairFlight::NumberOfRiser() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcStairFlight::setNumberOfRiser(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcStairFlight::setNumberOfRiser(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc2x3::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc2x3::IfcStairFlight::declaration() const { return *IFC2X3_IfcStairFlight_type; } @@ -15438,9 +15438,9 @@ void Ifc2x3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc2x3::IfcAnalysis ::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcStructuralLoadGroup >(); } -void Ifc2x3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc2x3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc2x3::IfcStructuralResultGroup >(); } -void Ifc2x3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc2x3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralAnalysisModel::declaration() const { return *IFC2X3_IfcStructuralAnalysisModel_type; } @@ -15461,7 +15461,7 @@ Ifc2x3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc2x3::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralConnectionCondition::declaration() const { return *IFC2X3_IfcStructuralConnectionCondition_type; } @@ -15528,7 +15528,7 @@ Ifc2x3::IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(std:: // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc2x3::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoad::declaration() const { return *IFC2X3_IfcStructuralLoad_type; } @@ -15544,9 +15544,9 @@ void Ifc2x3::IfcStructuralLoadGroup::setActionType(::Ifc2x3::IfcActionTypeEnum:: ::Ifc2x3::IfcActionSourceTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc2x3::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcStructuralLoadGroup::setActionSource(::Ifc2x3::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc2x3::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc2x3::IfcStructuralResultGroup::list::ptr Ifc2x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC2X3_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc2x3::IfcStructuralAnalysisModel::list::ptr Ifc2x3::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC2X3_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -15558,17 +15558,17 @@ Ifc2x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadLinearForce::declaration() const { return *IFC2X3_IfcStructuralLoadLinearForce_type; } @@ -15578,11 +15578,11 @@ Ifc2x3::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::option // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadPlanarForce::declaration() const { return *IFC2X3_IfcStructuralLoadPlanarForce_type; } @@ -15592,17 +15592,17 @@ Ifc2x3::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::option // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC2X3_IfcStructuralLoadSingleDisplacement_type; } @@ -15612,7 +15612,7 @@ Ifc2x3::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC2X3_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -15622,17 +15622,17 @@ Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDi // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleForce::declaration() const { return *IFC2X3_IfcStructuralLoadSingleForce_type; } @@ -15642,7 +15642,7 @@ Ifc2x3::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::option // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC2X3_IfcStructuralLoadSingleForceWarping_type; } @@ -15660,11 +15660,11 @@ Ifc2x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::s // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Constant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Constant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Constant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Y() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Y(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Y(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Z() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Z(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Z(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadTemperature::declaration() const { return *IFC2X3_IfcStructuralLoadTemperature_type; } @@ -15730,37 +15730,37 @@ Ifc2x3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_Gl // Function implementations for IfcStructuralProfileProperties boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalConstantX() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setTorsionalConstantX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setTorsionalConstantX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaYZ() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaYZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaYZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaY() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaZ() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::WarpingConstant() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setWarpingConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setWarpingConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearCentreZ() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setShearCentreZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setShearCentreZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearCentreY() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setShearCentreY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setShearCentreY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearDeformationAreaZ() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setShearDeformationAreaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setShearDeformationAreaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearDeformationAreaY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setShearDeformationAreaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setShearDeformationAreaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MaximumSectionModulusY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMaximumSectionModulusY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMaximumSectionModulusY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MinimumSectionModulusY() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMinimumSectionModulusY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMinimumSectionModulusY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MaximumSectionModulusZ() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } double v = *data_->getArgument(18); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMaximumSectionModulusZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMaximumSectionModulusZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MinimumSectionModulusZ() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setMinimumSectionModulusZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setMinimumSectionModulusZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalSectionModulus() const { if(!data_->getArgument(20) || data_->getArgument(20)->isNull()) { return boost::none; } double v = *data_->getArgument(20); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setTorsionalSectionModulus(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(20,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setTorsionalSectionModulus(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(20,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::CentreOfGravityInX() const { if(!data_->getArgument(21) || data_->getArgument(21)->isNull()) { return boost::none; } double v = *data_->getArgument(21); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(21,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(21,attr);} } boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::CentreOfGravityInY() const { if(!data_->getArgument(22) || data_->getArgument(22)->isNull()) { return boost::none; } double v = *data_->getArgument(22); return v; } -void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(22,attr);} } +void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(22,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralProfileProperties::declaration() const { return *IFC2X3_IfcStructuralProfileProperties_type; } @@ -15794,13 +15794,13 @@ Ifc2x3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Global // Function implementations for IfcStructuralSteelProfileProperties boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaZ() const { if(!data_->getArgument(23) || data_->getArgument(23)->isNull()) { return boost::none; } double v = *data_->getArgument(23); return v; } -void Ifc2x3::IfcStructuralSteelProfileProperties::setShearAreaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(23,attr);} } +void Ifc2x3::IfcStructuralSteelProfileProperties::setShearAreaZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(23,attr);} } boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaY() const { if(!data_->getArgument(24) || data_->getArgument(24)->isNull()) { return boost::none; } double v = *data_->getArgument(24); return v; } -void Ifc2x3::IfcStructuralSteelProfileProperties::setShearAreaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(24,attr);} } +void Ifc2x3::IfcStructuralSteelProfileProperties::setShearAreaY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(24,attr);} } boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { if(!data_->getArgument(25) || data_->getArgument(25)->isNull()) { return boost::none; } double v = *data_->getArgument(25); return v; } -void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(25,attr);} } +void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(25,attr);} } boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { if(!data_->getArgument(26) || data_->getArgument(26)->isNull()) { return boost::none; } double v = *data_->getArgument(26); return v; } -void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(26,attr);} } +void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(26,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralSteelProfileProperties::declaration() const { return *IFC2X3_IfcStructuralSteelProfileProperties_type; } @@ -15820,7 +15820,7 @@ Ifc2x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::stri ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value Ifc2x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcStructuralSurfaceMember::setPredefinedType(::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcStructuralSurfaceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceMember::declaration() const { return *IFC2X3_IfcStructuralSurfaceMember_type; } @@ -15862,7 +15862,7 @@ void Ifc2x3::IfcStyledItem::setItem(::Ifc2x3::IfcRepresentationItem* v) { {IfcWr aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr Ifc2x3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcPresentationStyleAssignment >(); } void Ifc2x3::IfcStyledItem::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc2x3::IfcStyledItem::declaration() const { return *IFC2X3_IfcStyledItem_type; } @@ -15882,7 +15882,7 @@ Ifc2x3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc2x3::IfcRepresenta ::Ifc2x3::IfcActorSelect* Ifc2x3::IfcSubContractResource::SubContractor() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcSubContractResource::setSubContractor(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc2x3::IfcSubContractResource::JobDescription() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcSubContractResource::setJobDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcSubContractResource::setJobDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcSubContractResource::declaration() const { return *IFC2X3_IfcSubContractResource_type; } @@ -15976,9 +15976,9 @@ Ifc2x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc2x3::IfcColourRgb* // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleRefraction::declaration() const { return *IFC2X3_IfcSurfaceStyleRefraction_type; } @@ -15988,7 +15988,7 @@ Ifc2x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< do // Function implementations for IfcSurfaceStyleRendering boost::optional< double > Ifc2x3::IfcSurfaceStyleRendering::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcSurfaceStyleRendering::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcSurfaceStyleRendering::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc2x3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColourOrFactor>(true); } @@ -16064,7 +16064,7 @@ void Ifc2x3::IfcSweptDiskSolid::setDirectrix(::Ifc2x3::IfcCurve* v) { {IfcWrite: double Ifc2x3::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } double Ifc2x3::IfcSweptDiskSolid::StartParam() const { double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcSweptDiskSolid::setStartParam(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc2x3::IfcSweptDiskSolid::EndParam() const { double v = *data_->getArgument(4); return v; } @@ -16135,17 +16135,17 @@ void Ifc2x3::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc2x3::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcTShapeProfileDef::CentreOfGravityInY() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcTShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcTShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc2x3::IfcTShapeProfileDef::declaration() const { return *IFC2X3_IfcTShapeProfileDef_type; } @@ -16192,13 +16192,13 @@ Ifc2x3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist std::string Ifc2x3::IfcTask::TaskId() const { std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcTask::setTaskId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcTask::Status() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcTask::WorkMethod() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } bool Ifc2x3::IfcTask::IsMilestone() const { bool v = *data_->getArgument(8); return v; } void Ifc2x3::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< int > Ifc2x3::IfcTask::Priority() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcTask::declaration() const { return *IFC2X3_IfcTask_type; } @@ -16208,15 +16208,15 @@ Ifc2x3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcTelecomAddress::declaration() const { return *IFC2X3_IfcTelecomAddress_type; } @@ -16232,15 +16232,15 @@ void Ifc2x3::IfcTendon::setNominalDiameter(double v) { {IfcWrite::IfcWriteArgume double Ifc2x3::IfcTendon::CrossSectionArea() const { double v = *data_->getArgument(11); return v; } void Ifc2x3::IfcTendon::setCrossSectionArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc2x3::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc2x3::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc2x3::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc2x3::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc2x3::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc2x3::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc2x3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc2x3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc2x3::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc2x3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc2x3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc2x3::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc2x3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc2x3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc2x3::IfcTendon::declaration() const { return *IFC2X3_IfcTendon_type; } @@ -16308,13 +16308,13 @@ Ifc2x3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc // Function implementations for IfcTextStyleFontModel boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTextStyleFontModel::FontFamily() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTextStyleFontModel::setFontFamily(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcTextStyleFontModel::setFontFamily(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleFontModel::setFontSize(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16340,15 +16340,15 @@ Ifc2x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc2x3::IfcColo ::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setTextIndent(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setLetterSpacing(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setWordSpacing(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setLineHeight(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16360,13 +16360,13 @@ Ifc2x3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc2x3::IfcSizeSelect* v1 // Function implementations for IfcTextStyleWithBoxCharacteristics boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxHeight() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxWidth() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16419,13 +16419,13 @@ Ifc2x3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Co // Function implementations for IfcThermalMaterialProperties boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::SpecificHeatCapacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcThermalMaterialProperties::setSpecificHeatCapacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcThermalMaterialProperties::setSpecificHeatCapacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::BoilingPoint() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcThermalMaterialProperties::setBoilingPoint(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcThermalMaterialProperties::setBoilingPoint(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::FreezingPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcThermalMaterialProperties::setFreezingPoint(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcThermalMaterialProperties::setFreezingPoint(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::ThermalConductivity() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcThermalMaterialProperties::setThermalConductivity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcThermalMaterialProperties::setThermalConductivity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc2x3::IfcThermalMaterialProperties::declaration() const { return *IFC2X3_IfcThermalMaterialProperties_type; } @@ -16437,7 +16437,7 @@ Ifc2x3::IfcThermalMaterialProperties::IfcThermalMaterialProperties(::Ifc2x3::Ifc std::string Ifc2x3::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::StartTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcTimeSeries::setStartTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::EndTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } @@ -16447,7 +16447,7 @@ void Ifc2x3::IfcTimeSeries::setTimeSeriesDataType(::Ifc2x3::IfcTimeSeriesDataTyp ::Ifc2x3::IfcDataOriginEnum::Value Ifc2x3::IfcTimeSeries::DataOrigin() const { return ::Ifc2x3::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcTimeSeries::setDataOrigin(::Ifc2x3::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc2x3::IfcUnit* Ifc2x3::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcTimeSeries::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -16472,7 +16472,7 @@ Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(: // Function implementations for IfcTimeSeriesSchedule boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeriesScheduleType(::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v)));data_->setArgument(6,attr);} } ::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } @@ -16522,11 +16522,11 @@ Ifc2x3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc2x3 // Function implementations for IfcTransportElement boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > Ifc2x3::IfcTransportElement::OperationType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc2x3::IfcTransportElement::setOperationType(boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcTransportElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc2x3::IfcTransportElement::setOperationType(boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcTransportElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcTransportElement::CapacityByWeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcTransportElement::setCapacityByWeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcTransportElement::setCapacityByWeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcTransportElement::CapacityByNumber() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcTransportElement::setCapacityByNumber(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcTransportElement::setCapacityByNumber(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcTransportElement::declaration() const { return *IFC2X3_IfcTransportElement_type; } @@ -16600,9 +16600,9 @@ Ifc2x3::IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(::Ifc2x3::IfcVe // Function implementations for IfcTypeObject boost::optional< std::string > Ifc2x3::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > Ifc2x3::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcPropertySetDefinition >(); } -void Ifc2x3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc2x3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc2x3::IfcRelDefinesByType::list::ptr Ifc2x3::IfcTypeObject::ObjectTypeOf() const { return data_->getInverse(IFC2X3_IfcRelDefinesByType_type, 5)->as(); } @@ -16613,9 +16613,9 @@ Ifc2x3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc2x3::IfcOwner // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > Ifc2x3::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc2x3::IfcRepresentationMap >(); } -void Ifc2x3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc2x3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcTypeProduct::declaration() const { return *IFC2X3_IfcTypeProduct_type; } @@ -16633,13 +16633,13 @@ void Ifc2x3::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc2x3::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcUShapeProfileDef::CentreOfGravityInX() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcUShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcUShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc2x3::IfcUShapeProfileDef::declaration() const { return *IFC2X3_IfcUShapeProfileDef_type; } @@ -16797,19 +16797,19 @@ Ifc2x3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcWaterProperties boost::optional< bool > Ifc2x3::IfcWaterProperties::IsPotable() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc2x3::IfcWaterProperties::setIsPotable(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc2x3::IfcWaterProperties::setIsPotable(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcWaterProperties::Hardness() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc2x3::IfcWaterProperties::setHardness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc2x3::IfcWaterProperties::setHardness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcWaterProperties::AlkalinityConcentration() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc2x3::IfcWaterProperties::setAlkalinityConcentration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc2x3::IfcWaterProperties::setAlkalinityConcentration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc2x3::IfcWaterProperties::AcidityConcentration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcWaterProperties::setAcidityConcentration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcWaterProperties::setAcidityConcentration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcWaterProperties::ImpuritiesContent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcWaterProperties::setImpuritiesContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcWaterProperties::setImpuritiesContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcWaterProperties::PHLevel() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcWaterProperties::setPHLevel(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcWaterProperties::setPHLevel(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcWaterProperties::DissolvedSolidsContent() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcWaterProperties::setDissolvedSolidsContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcWaterProperties::setDissolvedSolidsContent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc2x3::IfcWaterProperties::declaration() const { return *IFC2X3_IfcWaterProperties_type; } @@ -16819,9 +16819,9 @@ Ifc2x3::IfcWaterProperties::IfcWaterProperties(::Ifc2x3::IfcMaterial* v1_Materia // Function implementations for IfcWindow boost::optional< double > Ifc2x3::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc2x3::IfcWindow::declaration() const { return *IFC2X3_IfcWindow_type; } @@ -16831,21 +16831,21 @@ Ifc2x3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc2x3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc2x3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc2x3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc2x3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } @@ -16861,9 +16861,9 @@ void Ifc2x3::IfcWindowPanelProperties::setOperationType(::Ifc2x3::IfcWindowPanel ::Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcWindowPanelProperties::setPanelPosition(::Ifc2x3::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc2x3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc2x3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16895,21 +16895,21 @@ void Ifc2x3::IfcWorkControl::setIdentifier(std::string v) { {IfcWrite::IfcWriteA ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::CreationDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setCreationDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > Ifc2x3::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcPerson >(); } -void Ifc2x3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc2x3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc2x3::IfcWorkControl::setDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc2x3::IfcWorkControl::setDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc2x3::IfcWorkControl::setTotalFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc2x3::IfcWorkControl::setTotalFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::StartTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setStartTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } ::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setFinishTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > Ifc2x3::IfcWorkControl::WorkControlType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc2x3::IfcWorkControlTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc2x3::IfcWorkControl::setWorkControlType(boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcWorkControlTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc2x3::IfcWorkControl::setWorkControlType(boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcWorkControlTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc2x3::IfcWorkControl::UserDefinedControlType() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc2x3::IfcWorkControl::setUserDefinedControlType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc2x3::IfcWorkControl::setUserDefinedControlType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc2x3::IfcWorkControl::declaration() const { return *IFC2X3_IfcWorkControl_type; } @@ -16943,9 +16943,9 @@ void Ifc2x3::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc2x3::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc2x3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc2x3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc2x3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc2x3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc2x3::IfcZShapeProfileDef::declaration() const { return *IFC2X3_IfcZShapeProfileDef_type; } diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 32576d5748..3f0b878a59 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -11123,11 +11123,11 @@ Ifc4::IfcWarpingMomentMeasure::operator double() const { return *data_->getArgum // Function implementations for IfcActionRequest boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > Ifc4::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcActionRequest::declaration() const { return *IFC4_IfcActionRequest_type; } @@ -11150,9 +11150,9 @@ Ifc4::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Ow ::Ifc4::IfcRoleEnum::Value Ifc4::IfcActorRole::Role() const { return ::Ifc4::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcActorRole::setRole(::Ifc4::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11163,7 +11163,7 @@ Ifc4::IfcActorRole::IfcActorRole(::Ifc4::IfcRoleEnum::Value v1_Role, boost::opti // Function implementations for IfcActuator boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > Ifc4::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcActuator::declaration() const { return *IFC4_IfcActuator_type; } @@ -11183,11 +11183,11 @@ Ifc4::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4::IfcOwner // Function implementations for IfcAddress boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > Ifc4::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4::IfcAddress::setPurpose(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4::IfcAddress::setPurpose(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcPerson::list::ptr Ifc4::IfcAddress::OfPerson() const { return data_->getInverse(IFC4_IfcPerson_type, 7)->as(); } ::Ifc4::IfcOrganization::list::ptr Ifc4::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4_IfcOrganization_type, 4)->as(); } @@ -11225,7 +11225,7 @@ Ifc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr // Function implementations for IfcAirTerminal boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > Ifc4::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAirTerminal::declaration() const { return *IFC4_IfcAirTerminal_type; } @@ -11235,7 +11235,7 @@ Ifc4::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAirTerminalBox::declaration() const { return *IFC4_IfcAirTerminalBox_type; } @@ -11265,7 +11265,7 @@ Ifc4::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecovery::declaration() const { return *IFC4_IfcAirToAirHeatRecovery_type; } @@ -11285,7 +11285,7 @@ Ifc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_Gl // Function implementations for IfcAlarm boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > Ifc4::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAlarm::declaration() const { return *IFC4_IfcAlarm_type; } @@ -11316,7 +11316,7 @@ Ifc4::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist ::Ifc4::IfcCurve* Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcCurve >(); } -void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcAnnotationFillArea::declaration() const { return *IFC4_IfcAnnotationFillArea_type; } @@ -11342,25 +11342,25 @@ Ifc4::IfcApplication::IfcApplication(::Ifc4::IfcOrganization* v1_ApplicationDeve // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcAppliedValueSelect* Ifc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAppliedValueSelect>(true); } void Ifc4::IfcAppliedValue::setAppliedValue(::Ifc4::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcMeasureWithUnit* Ifc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcAppliedValue::setUnitBasis(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > Ifc4::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcAppliedValue >(); } -void Ifc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11371,19 +11371,19 @@ Ifc4::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, b // Function implementations for IfcApproval boost::optional< std::string > Ifc4::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setRequestingApproval(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } @@ -11444,7 +11444,7 @@ Ifc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setOriginalValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcCostValue>(true); } @@ -11458,7 +11458,7 @@ void Ifc4::IfcAsset::setUser(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArg ::Ifc4::IfcPerson* Ifc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcAsset::setResponsiblePerson(::Ifc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setDepreciatedValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -11478,21 +11478,21 @@ void Ifc4::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {IfcWrite: double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4_IfcAsymmetricIShapeProfileDef_type; } @@ -11502,7 +11502,7 @@ Ifc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4::IfcPr // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcAudioVisualAppliance::declaration() const { return *IFC4_IfcAudioVisualAppliance_type; } @@ -11626,7 +11626,7 @@ Ifc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int // Function implementations for IfcBeam boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > Ifc4::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBeam::declaration() const { return *IFC4_IfcBeam_type; } @@ -11680,7 +11680,7 @@ Ifc4::IfcBlock::IfcBlock(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLe // Function implementations for IfcBoiler boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > Ifc4::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBoiler::declaration() const { return *IFC4_IfcBoiler_type; } @@ -11722,7 +11722,7 @@ Ifc4::IfcBooleanResult::IfcBooleanResult(::Ifc4::IfcBooleanOperator::Value v1_Op // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcBoundaryCondition::declaration() const { return *IFC4_IfcBoundaryCondition_type; } @@ -11846,9 +11846,9 @@ Ifc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, b // Function implementations for IfcBuilding boost::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4::IfcPostalAddress* Ifc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcBuilding::setBuildingAddress(::Ifc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -11868,7 +11868,7 @@ Ifc4::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > Ifc4::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBuildingElementPart::declaration() const { return *IFC4_IfcBuildingElementPart_type; } @@ -11888,7 +11888,7 @@ Ifc4::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_Glob // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBuildingElementProxy::declaration() const { return *IFC4_IfcBuildingElementProxy_type; } @@ -11916,7 +11916,7 @@ Ifc4::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, :: // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcBuildingStorey::declaration() const { return *IFC4_IfcBuildingStorey_type; } @@ -11926,9 +11926,9 @@ Ifc4::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > Ifc4::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcBuildingSystem::declaration() const { return *IFC4_IfcBuildingSystem_type; } @@ -11938,7 +11938,7 @@ Ifc4::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcBurner boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > Ifc4::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcBurner::declaration() const { return *IFC4_IfcBurner_type; } @@ -11966,7 +11966,7 @@ void Ifc4::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::IfcWrite double Ifc4::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcCShapeProfileDef::declaration() const { return *IFC4_IfcCShapeProfileDef_type; } @@ -11976,7 +11976,7 @@ Ifc4::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableCarrierFitting::declaration() const { return *IFC4_IfcCableCarrierFitting_type; } @@ -11996,7 +11996,7 @@ Ifc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_Glob // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableCarrierSegment::declaration() const { return *IFC4_IfcCableCarrierSegment_type; } @@ -12016,7 +12016,7 @@ Ifc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_Glob // Function implementations for IfcCableFitting boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > Ifc4::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableFitting::declaration() const { return *IFC4_IfcCableFitting_type; } @@ -12036,7 +12036,7 @@ Ifc4::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4:: // Function implementations for IfcCableSegment boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > Ifc4::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCableSegment::declaration() const { return *IFC4_IfcCableSegment_type; } @@ -12100,7 +12100,7 @@ void Ifc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4::IfcDirection* v) ::Ifc4::IfcCartesianPoint* Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator::declaration() const { return *IFC4_IfcCartesianTransformationOperator_type; } @@ -12118,7 +12118,7 @@ Ifc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -12138,9 +12138,9 @@ Ifc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -12160,7 +12160,7 @@ Ifc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4::IfcProfileTypeEnu // Function implementations for IfcChiller boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > Ifc4::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcChiller::declaration() const { return *IFC4_IfcChiller_type; } @@ -12180,7 +12180,7 @@ Ifc4::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi // Function implementations for IfcChimney boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > Ifc4::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcChimney::declaration() const { return *IFC4_IfcChimney_type; } @@ -12246,19 +12246,19 @@ Ifc4::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4:: // Function implementations for IfcClassification boost::optional< std::string > Ifc4::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcRelAssociatesClassification::list::ptr Ifc4::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4::IfcClassificationReference::list::ptr Ifc4::IfcClassification::HasReferences() const { return data_->getInverse(IFC4_IfcClassificationReference_type, 3)->as(); } @@ -12272,9 +12272,9 @@ Ifc4::IfcClassification::IfcClassification(boost::optional< std::string > v1_Sou ::Ifc4::IfcClassificationReferenceSelect* Ifc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcClassificationReferenceSelect>(true); } void Ifc4::IfcClassificationReference::setReferencedSource(::Ifc4::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssociatesClassification::list::ptr Ifc4::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4::IfcClassificationReference::list::ptr Ifc4::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4_IfcClassificationReference_type, 3)->as(); } @@ -12294,7 +12294,7 @@ Ifc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_Cfs // Function implementations for IfcCoil boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > Ifc4::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCoil::declaration() const { return *IFC4_IfcCoil_type; } @@ -12338,7 +12338,7 @@ Ifc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1 // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcColourSpecification::declaration() const { return *IFC4_IfcColourSpecification_type; } @@ -12348,7 +12348,7 @@ Ifc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::strin // Function implementations for IfcColumn boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > Ifc4::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcColumn::declaration() const { return *IFC4_IfcColumn_type; } @@ -12376,7 +12376,7 @@ Ifc4::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCommunicationsAppliance::declaration() const { return *IFC4_IfcCommunicationsAppliance_type; } @@ -12408,11 +12408,11 @@ Ifc4::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optiona // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > Ifc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } -void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcComplexPropertyTemplate::declaration() const { return *IFC4_IfcComplexPropertyTemplate_type; } @@ -12459,7 +12459,7 @@ Ifc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4::IfcTransitionCo aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcProfileDef >(); } void Ifc4::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcCompositeProfileDef::declaration() const { return *IFC4_IfcCompositeProfileDef_type; } @@ -12469,7 +12469,7 @@ Ifc4::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4::IfcProfileTypeEnum: // Function implementations for IfcCompressor boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > Ifc4::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCompressor::declaration() const { return *IFC4_IfcCompressor_type; } @@ -12489,7 +12489,7 @@ Ifc4::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcCondenser boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > Ifc4::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCondenser::declaration() const { return *IFC4_IfcCondenser_type; } @@ -12549,11 +12549,11 @@ Ifc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcConnectionPointEccentricity::declaration() const { return *IFC4_IfcConnectionPointEccentricity_type; } @@ -12601,17 +12601,17 @@ Ifc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4::IfcSolidO std::string Ifc4::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4::IfcConstraint::setConstraintGrade(::Ifc4::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcConstraint::setCreatingActor(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcResourceConstraintRelationship::list::ptr Ifc4::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -12623,7 +12623,7 @@ Ifc4::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::st // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResource::declaration() const { return *IFC4_IfcConstructionEquipmentResource_type; } @@ -12643,7 +12643,7 @@ Ifc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionMaterialResource::declaration() const { return *IFC4_IfcConstructionMaterialResource_type; } @@ -12663,7 +12663,7 @@ Ifc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(s // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcConstructionProductResource::declaration() const { return *IFC4_IfcConstructionProductResource_type; } @@ -12685,7 +12685,7 @@ Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std ::Ifc4::IfcResourceTime* Ifc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcResourceTime>(true); } void Ifc4::IfcConstructionResource::setUsage(::Ifc4::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcAppliedValue >(); } -void Ifc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResource::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12697,7 +12697,7 @@ Ifc4::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcAppliedValue >(); } -void Ifc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -12709,13 +12709,13 @@ Ifc4::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_Gl // Function implementations for IfcContext boost::optional< std::string > Ifc4::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > Ifc4::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcRepresentationContext >(); } -void Ifc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4::IfcUnitAssignment* Ifc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnitAssignment>(true); } void Ifc4::IfcContext::setUnitsInContext(::Ifc4::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -12740,7 +12740,7 @@ Ifc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4::IfcDimensionalExp // Function implementations for IfcControl boost::optional< std::string > Ifc4::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssignsToControl::list::ptr Ifc4::IfcControl::Controls() const { return data_->getInverse(IFC4_IfcRelAssignsToControl_type, 6)->as(); } @@ -12751,7 +12751,7 @@ Ifc4::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v // Function implementations for IfcController boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > Ifc4::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcController::setPredefinedType(boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcController::setPredefinedType(boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcController::declaration() const { return *IFC4_IfcController_type; } @@ -12794,7 +12794,7 @@ Ifc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4: // Function implementations for IfcCooledBeam boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > Ifc4::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCooledBeam::declaration() const { return *IFC4_IfcCooledBeam_type; } @@ -12814,7 +12814,7 @@ Ifc4::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcCoolingTower boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > Ifc4::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCoolingTower::declaration() const { return *IFC4_IfcCoolingTower_type; } @@ -12848,11 +12848,11 @@ Ifc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4::IfcCoordinateRefere std::string Ifc4::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcCoordinateOperation::list::ptr Ifc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4_IfcCoordinateOperation_type, 0)->as(); } @@ -12863,11 +12863,11 @@ Ifc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::string v1_ // Function implementations for IfcCostItem boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > Ifc4::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > Ifc4::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcCostValue >(); } -void Ifc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > Ifc4::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } -void Ifc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCostItem::declaration() const { return *IFC4_IfcCostItem_type; } @@ -12877,13 +12877,13 @@ Ifc4::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcCostSchedule boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > Ifc4::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcCostSchedule::declaration() const { return *IFC4_IfcCostSchedule_type; } @@ -12901,7 +12901,7 @@ Ifc4::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost:: // Function implementations for IfcCovering boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > Ifc4::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcRelCoversSpaces::list::ptr Ifc4::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4::IfcRelCoversBldgElements::list::ptr Ifc4::IfcCovering::CoversElements() const { return data_->getInverse(IFC4_IfcRelCoversBldgElements_type, 5)->as(); } @@ -12923,7 +12923,7 @@ Ifc4::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4::IfcOwner // Function implementations for IfcCrewResource boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > Ifc4::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcCrewResource::declaration() const { return *IFC4_IfcCrewResource_type; } @@ -12969,7 +12969,7 @@ void Ifc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4::IfcMonetaryUn double Ifc4::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcLibraryInformation* Ifc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcCurrencyRelationship::setRateSource(::Ifc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -12981,7 +12981,7 @@ Ifc4::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::str // Function implementations for IfcCurtainWall boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > Ifc4::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcCurtainWall::declaration() const { return *IFC4_IfcCurtainWall_type; } @@ -13043,7 +13043,7 @@ void Ifc4::IfcCurveStyle::setCurveWidth(::Ifc4::IfcSizeSelect* v) { {IfcWrite::I ::Ifc4::IfcColour* Ifc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcCurveStyle::setCurveColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcCurveStyle::declaration() const { return *IFC4_IfcCurveStyle_type; } @@ -13053,7 +13053,7 @@ Ifc4::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr Ifc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcCurveStyleFontPattern >(); } void Ifc4::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13065,7 +13065,7 @@ Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Nam // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4::IfcCurveStyleFontSelect* Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveStyleFontSelect>(true); } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -13101,7 +13101,7 @@ Ifc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4::IfcAxis2Placement3D* // Function implementations for IfcDamper boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > Ifc4::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDamper::declaration() const { return *IFC4_IfcDamper_type; } @@ -13125,7 +13125,7 @@ void Ifc4::IfcDerivedProfileDef::setParentProfile(::Ifc4::IfcProfileDef* v) { {I ::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcDerivedProfileDef::setOperator(::Ifc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcDerivedProfileDef::declaration() const { return *IFC4_IfcDerivedProfileDef_type; } @@ -13139,7 +13139,7 @@ void Ifc4::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4::IfcDerivedUnitEleme ::Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnit::UnitType() const { return ::Ifc4::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcDerivedUnit::setUnitType(::Ifc4::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcDerivedUnit::declaration() const { return *IFC4_IfcDerivedUnit_type; } @@ -13193,7 +13193,7 @@ Ifc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRat // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDiscreteAccessory::declaration() const { return *IFC4_IfcDiscreteAccessory_type; } @@ -13213,7 +13213,7 @@ Ifc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDistributionChamberElement::declaration() const { return *IFC4_IfcDistributionChamberElement_type; } @@ -13292,11 +13292,11 @@ Ifc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string // Function implementations for IfcDistributionPort boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > Ifc4::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > Ifc4::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcDistributionPort::declaration() const { return *IFC4_IfcDistributionPort_type; } @@ -13306,9 +13306,9 @@ Ifc4::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4:: // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcDistributionSystem::declaration() const { return *IFC4_IfcDistributionSystem_type; } @@ -13322,35 +13322,35 @@ void Ifc4::IfcDocumentInformation::setIdentification(std::string v) { {IfcWrite: std::string Ifc4::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcDocumentInformation::setDocumentOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > Ifc4::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > Ifc4::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4::IfcRelAssociatesDocument::list::ptr Ifc4::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4::IfcDocumentReference::list::ptr Ifc4::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4_IfcDocumentReference_type, 4)->as(); } @@ -13368,7 +13368,7 @@ void Ifc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4::IfcDo aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcDocumentInformation >(); } void Ifc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcDocumentInformationRelationship::declaration() const { return *IFC4_IfcDocumentInformationRelationship_type; } @@ -13378,7 +13378,7 @@ Ifc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boo // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentReference::setReferencedDocument(::Ifc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -13391,15 +13391,15 @@ Ifc4::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > // Function implementations for IfcDoor boost::optional< double > Ifc4::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > Ifc4::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > Ifc4::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4::IfcDoor::setOperationType(boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4::IfcDoor::setOperationType(boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcDoor::declaration() const { return *IFC4_IfcDoor_type; } @@ -13409,31 +13409,31 @@ Ifc4::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4::IfcDoorLiningProperties::declaration() const { return *IFC4_IfcDoorLiningProperties_type; } @@ -13443,11 +13443,11 @@ Ifc4::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcDoorPanelProperties::setPanelOperation(::Ifc4::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } @@ -13489,9 +13489,9 @@ void Ifc4::IfcDoorType::setPredefinedType(::Ifc4::IfcDoorTypeEnum::Value v) { {I ::Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorType::OperationType() const { return ::Ifc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcDoorType::setOperationType(::Ifc4::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcDoorType::declaration() const { return *IFC4_IfcDoorType_type; } @@ -13517,7 +13517,7 @@ Ifc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::st // Function implementations for IfcDuctFitting boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > Ifc4::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDuctFitting::declaration() const { return *IFC4_IfcDuctFitting_type; } @@ -13537,7 +13537,7 @@ Ifc4::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcDuctSegment boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > Ifc4::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDuctSegment::declaration() const { return *IFC4_IfcDuctSegment_type; } @@ -13557,7 +13557,7 @@ Ifc4::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > Ifc4::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcDuctSilencer::declaration() const { return *IFC4_IfcDuctSilencer_type; } @@ -13611,7 +13611,7 @@ Ifc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_E // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > Ifc4::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricAppliance::declaration() const { return *IFC4_IfcElectricAppliance_type; } @@ -13631,7 +13631,7 @@ Ifc4::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricDistributionBoard::declaration() const { return *IFC4_IfcElectricDistributionBoard_type; } @@ -13651,7 +13651,7 @@ Ifc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::st // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDevice::declaration() const { return *IFC4_IfcElectricFlowStorageDevice_type; } @@ -13671,7 +13671,7 @@ Ifc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::st // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > Ifc4::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricGenerator::declaration() const { return *IFC4_IfcElectricGenerator_type; } @@ -13691,7 +13691,7 @@ Ifc4::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId // Function implementations for IfcElectricMotor boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > Ifc4::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricMotor::declaration() const { return *IFC4_IfcElectricMotor_type; } @@ -13711,7 +13711,7 @@ Ifc4::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > Ifc4::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElectricTimeControl::declaration() const { return *IFC4_IfcElectricTimeControl_type; } @@ -13731,7 +13731,7 @@ Ifc4::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_Glob // Function implementations for IfcElement boost::optional< std::string > Ifc4::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcRelFillsElement::list::ptr Ifc4::IfcElement::FillsVoids() const { return data_->getInverse(IFC4_IfcRelFillsElement_type, 5)->as(); } ::Ifc4::IfcRelConnectsElements::list::ptr Ifc4::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4_IfcRelConnectsElements_type, 5)->as(); } @@ -13753,9 +13753,9 @@ Ifc4::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v // Function implementations for IfcElementAssembly boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > Ifc4::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > Ifc4::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcElementAssembly::declaration() const { return *IFC4_IfcElementAssembly_type; } @@ -13791,7 +13791,7 @@ Ifc4::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -13803,7 +13803,7 @@ Ifc4::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcElementType boost::optional< std::string > Ifc4::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcElementType::declaration() const { return *IFC4_IfcElementType_type; } @@ -13863,7 +13863,7 @@ Ifc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v // Function implementations for IfcEngine boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > Ifc4::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcEngine::declaration() const { return *IFC4_IfcEngine_type; } @@ -13883,7 +13883,7 @@ Ifc4::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcEvaporativeCooler::declaration() const { return *IFC4_IfcEvaporativeCooler_type; } @@ -13903,7 +13903,7 @@ Ifc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId // Function implementations for IfcEvaporator boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > Ifc4::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcEvaporator::declaration() const { return *IFC4_IfcEvaporator_type; } @@ -13923,11 +13923,11 @@ Ifc4::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcEvent boost::optional< ::Ifc4::IfcEventTypeEnum::Value > Ifc4::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > Ifc4::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4::IfcEventTime* Ifc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcEventTime>(true); } void Ifc4::IfcEvent::setEventOccurenceTime(::Ifc4::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -13939,13 +13939,13 @@ Ifc4::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Ow // Function implementations for IfcEventTime boost::optional< std::string > Ifc4::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcEventTime::declaration() const { return *IFC4_IfcEventTime_type; } @@ -13959,7 +13959,7 @@ void Ifc4::IfcEventType::setPredefinedType(::Ifc4::IfcEventTypeEnum::Value v) { ::Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventType::EventTriggerType() const { return ::Ifc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcEventType::setEventTriggerType(::Ifc4::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcEventType::declaration() const { return *IFC4_IfcEventType_type; } @@ -13969,9 +13969,9 @@ Ifc4::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistor // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -13991,11 +13991,11 @@ Ifc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity( // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -14018,7 +14018,7 @@ Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost:: // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcRelSpaceBoundary::list::ptr Ifc4::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary_type, 4)->as(); } @@ -14154,17 +14154,17 @@ Ifc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4::IfcClosedShell* v // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcFailureConnectionCondition::declaration() const { return *IFC4_IfcFailureConnectionCondition_type; } @@ -14174,7 +14174,7 @@ Ifc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::option // Function implementations for IfcFan boost::optional< ::Ifc4::IfcFanTypeEnum::Value > Ifc4::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFan::declaration() const { return *IFC4_IfcFan_type; } @@ -14194,7 +14194,7 @@ Ifc4::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v // Function implementations for IfcFastener boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > Ifc4::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFastener::declaration() const { return *IFC4_IfcFastener_type; } @@ -14242,7 +14242,7 @@ Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_ aggregate_of_instance::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcFillAreaStyle::declaration() const { return *IFC4_IfcFillAreaStyle_type; } @@ -14284,7 +14284,7 @@ Ifc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4::IfcVect // Function implementations for IfcFilter boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > Ifc4::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFilter::declaration() const { return *IFC4_IfcFilter_type; } @@ -14304,7 +14304,7 @@ Ifc4::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminal::declaration() const { return *IFC4_IfcFireSuppressionTerminal_type; } @@ -14326,9 +14326,9 @@ Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string ::Ifc4::IfcCurve* Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14372,7 +14372,7 @@ Ifc4::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > Ifc4::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFlowInstrument::declaration() const { return *IFC4_IfcFlowInstrument_type; } @@ -14392,7 +14392,7 @@ Ifc4::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::If // Function implementations for IfcFlowMeter boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > Ifc4::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFlowMeter::declaration() const { return *IFC4_IfcFlowMeter_type; } @@ -14492,7 +14492,7 @@ Ifc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_Glob // Function implementations for IfcFooting boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > Ifc4::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFooting::declaration() const { return *IFC4_IfcFooting_type; } @@ -14528,7 +14528,7 @@ Ifc4::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId // Function implementations for IfcFurniture boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcFurniture::declaration() const { return *IFC4_IfcFurniture_type; } @@ -14540,7 +14540,7 @@ Ifc4::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistor ::Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcFurnitureType::setAssemblyPlace(::Ifc4::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcFurnitureType::declaration() const { return *IFC4_IfcFurnitureType_type; } @@ -14550,7 +14550,7 @@ Ifc4::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4::IfcOwn // Function implementations for IfcGeographicElement boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > Ifc4::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcGeographicElement::declaration() const { return *IFC4_IfcGeographicElement_type; } @@ -14580,7 +14580,7 @@ Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_E int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcAxis2Placement* Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcDirection* Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(true); } @@ -14606,11 +14606,11 @@ Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepr ::Ifc4::IfcGeometricRepresentationContext* Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGeometricRepresentationContext>(true); } void Ifc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4_IfcGeometricRepresentationSubContext_type; } @@ -14634,9 +14634,9 @@ void Ifc4::IfcGrid::setUAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { {IfcW aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setVAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > Ifc4::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcGridAxis >(); } -void Ifc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcGridTypeEnum::Value > Ifc4::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcGrid::ContainedInStructure() const { return data_->getInverse(IFC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -14647,7 +14647,7 @@ Ifc4::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4::IfcCurve* Ifc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcGridAxis::setAxisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -14698,7 +14698,7 @@ Ifc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4::IfcSurface* v1_BaseSurface, b // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > Ifc4::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcHeatExchanger::declaration() const { return *IFC4_IfcHeatExchanger_type; } @@ -14718,7 +14718,7 @@ Ifc4::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcHumidifier boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > Ifc4::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcHumidifier::declaration() const { return *IFC4_IfcHumidifier_type; } @@ -14746,11 +14746,11 @@ void Ifc4::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteA double Ifc4::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcIShapeProfileDef::declaration() const { return *IFC4_IfcIShapeProfileDef_type; } @@ -14772,7 +14772,7 @@ Ifc4::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost:: ::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedColourMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcColourRgbList* Ifc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgbList>(true); } void Ifc4::IfcIndexedColourMap::setColours(::Ifc4::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -14788,9 +14788,9 @@ Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4::IfcTessellatedFaceSet* v1 ::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList>(true); } void Ifc4::IfcIndexedPolyCurve::setPoints(::Ifc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::declaration() const { return *IFC4_IfcIndexedPolyCurve_type; } @@ -14833,7 +14833,7 @@ Ifc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4::IfcSurfac // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4_IfcIndexedTriangleTextureMap_type; } @@ -14843,7 +14843,7 @@ Ifc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< : // Function implementations for IfcInterceptor boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > Ifc4::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcInterceptor::declaration() const { return *IFC4_IfcInterceptor_type; } @@ -14871,13 +14871,13 @@ Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4::IfcCurve* v1_Curve3D, a // Function implementations for IfcInventory boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > Ifc4::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcInventory::setJurisdiction(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcPerson >(); } -void Ifc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setCurrentValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcCostValue* Ifc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcCostValue>(true); } @@ -14913,7 +14913,7 @@ Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_Ti // Function implementations for IfcJunctionBox boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcJunctionBox::declaration() const { return *IFC4_IfcJunctionBox_type; } @@ -14935,15 +14935,15 @@ Ifc4::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4::If double Ifc4::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLShapeProfileDef::declaration() const { return *IFC4_IfcLShapeProfileDef_type; } @@ -14953,7 +14953,7 @@ Ifc4::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value // Function implementations for IfcLaborResource boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > Ifc4::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcLaborResource::declaration() const { return *IFC4_IfcLaborResource_type; } @@ -14985,7 +14985,7 @@ Ifc4::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::opti // Function implementations for IfcLamp boost::optional< ::Ifc4::IfcLampTypeEnum::Value > Ifc4::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLamp::declaration() const { return *IFC4_IfcLamp_type; } @@ -15007,15 +15007,15 @@ Ifc4::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* std::string Ifc4::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcActorSelect* Ifc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcLibraryInformation::setPublisher(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssociatesLibrary::list::ptr Ifc4::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4::IfcLibraryReference::list::ptr Ifc4::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4_IfcLibraryReference_type, 5)->as(); } @@ -15027,9 +15027,9 @@ Ifc4::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::o // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcLibraryInformation* Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcLibraryReference::setReferencedLibrary(::Ifc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15056,7 +15056,7 @@ Ifc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngl // Function implementations for IfcLightFixture boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > Ifc4::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcLightFixture::declaration() const { return *IFC4_IfcLightFixture_type; } @@ -15088,13 +15088,13 @@ Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4::IfcLi // Function implementations for IfcLightSource boost::optional< std::string > Ifc4::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4::IfcColourRgb* Ifc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSource::setLightColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcLightSource::declaration() const { return *IFC4_IfcLightSource_type; } @@ -15162,7 +15162,7 @@ Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::s ::Ifc4::IfcDirection* Ifc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceSpot::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -15224,11 +15224,11 @@ void Ifc4::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteArgumen double Ifc4::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcMapConversion::declaration() const { return *IFC4_IfcMapConversion_type; } @@ -15252,9 +15252,9 @@ Ifc4::IfcMappedItem::IfcMappedItem(::Ifc4::IfcRepresentationMap* v1_MappingSourc std::string Ifc4::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcMaterialDefinitionRepresentation::list::ptr Ifc4::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4::IfcMaterialRelationship::list::ptr Ifc4::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4_IfcMaterialRelationship_type, 3)->as(); } @@ -15279,15 +15279,15 @@ Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationsh // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialConstituent::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcMaterialConstituentSet::list::ptr Ifc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4_IfcMaterialConstituentSet_type, 2)->as(); } @@ -15298,11 +15298,11 @@ Ifc4::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::strin // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > Ifc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcMaterialConstituent >(); } -void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcMaterialConstituentSet::declaration() const { return *IFC4_IfcMaterialConstituentSet_type; } @@ -15337,15 +15337,15 @@ void Ifc4::IfcMaterialLayer::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::If double Ifc4::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcMaterialLayerSet::list::ptr Ifc4::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4_IfcMaterialLayerSet_type, 0)->as(); } @@ -15358,9 +15358,9 @@ Ifc4::IfcMaterialLayer::IfcMaterialLayer(::Ifc4::IfcMaterial* v1_Material, doubl aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr Ifc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcMaterialLayer >(); } void Ifc4::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcMaterialLayerSet::declaration() const { return *IFC4_IfcMaterialLayerSet_type; } @@ -15378,7 +15378,7 @@ void Ifc4::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4::IfcDirectionSense double Ifc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcMaterialLayerSetUsage::declaration() const { return *IFC4_IfcMaterialLayerSetUsage_type; } @@ -15410,17 +15410,17 @@ Ifc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4::IfcMaterial >::ptr // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcMaterial* Ifc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialProfile::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcProfileDef* Ifc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcMaterialProfile::setProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcMaterialProfileSet::list::ptr Ifc4::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4_IfcMaterialProfileSet_type, 2)->as(); } @@ -15431,9 +15431,9 @@ Ifc4::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_N // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcMaterialProfile >(); } void Ifc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4::IfcCompositeProfileDef* Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCompositeProfileDef>(true); } @@ -15449,9 +15449,9 @@ Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string ::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsage::declaration() const { return *IFC4_IfcMaterialProfileSetUsage_type; } @@ -15463,7 +15463,7 @@ Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4::IfcMaterial ::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4_IfcMaterialProfileSetUsageTapering_type; } @@ -15497,7 +15497,7 @@ void Ifc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4::IfcMaterial* v) aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcMaterial >(); } void Ifc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcMaterialRelationship::declaration() const { return *IFC4_IfcMaterialRelationship_type; } @@ -15528,11 +15528,11 @@ Ifc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4::IfcValue* v1_ValueComponent // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcMechanicalFastener::declaration() const { return *IFC4_IfcMechanicalFastener_type; } @@ -15544,9 +15544,9 @@ Ifc4::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::If ::Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcMechanicalFastenerType::setPredefinedType(::Ifc4::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcMechanicalFastenerType::declaration() const { return *IFC4_IfcMechanicalFastenerType_type; } @@ -15556,7 +15556,7 @@ Ifc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_Global // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > Ifc4::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMedicalDevice::declaration() const { return *IFC4_IfcMedicalDevice_type; } @@ -15576,7 +15576,7 @@ Ifc4::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcMember boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > Ifc4::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMember::declaration() const { return *IFC4_IfcMember_type; } @@ -15606,7 +15606,7 @@ Ifc4::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist ::Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcMetric::Benchmark() const { return ::Ifc4::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcMetric::setBenchmark(::Ifc4::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcMetricValueSelect* Ifc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcMetricValueSelect>(true); } void Ifc4::IfcMetric::setDataValue(::Ifc4::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcReference* Ifc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcReference>(true); } @@ -15638,7 +15638,7 @@ Ifc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBa // Function implementations for IfcMotorConnection boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > Ifc4::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcMotorConnection::declaration() const { return *IFC4_IfcMotorConnection_type; } @@ -15670,7 +15670,7 @@ Ifc4::IfcNamedUnit::IfcNamedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, // Function implementations for IfcObject boost::optional< std::string > Ifc4::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcRelDefinesByObject::list::ptr Ifc4::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4::IfcRelDefinesByObject::list::ptr Ifc4::IfcObject::Declares() const { return data_->getInverse(IFC4_IfcRelDefinesByObject_type, 5)->as(); } @@ -15709,13 +15709,13 @@ Ifc4::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() {data_ // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > Ifc4::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcConstraint >(); } -void Ifc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > Ifc4::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcObjective::setObjectiveQualifier(::Ifc4::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcObjective::declaration() const { return *IFC4_IfcObjective_type; } @@ -15725,7 +15725,7 @@ Ifc4::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::stri // Function implementations for IfcOccupant boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > Ifc4::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcOccupant::declaration() const { return *IFC4_IfcOccupant_type; } @@ -15773,7 +15773,7 @@ Ifc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFace // Function implementations for IfcOpeningElement boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > Ifc4::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4::IfcRelFillsElement::list::ptr Ifc4::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4_IfcRelFillsElement_type, 4)->as(); } @@ -15792,15 +15792,15 @@ Ifc4::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, :: // Function implementations for IfcOrganization boost::optional< std::string > Ifc4::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcActorRole >(); } -void Ifc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcAddress >(); } -void Ifc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4::IfcOrganizationRelationship::list::ptr Ifc4::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4::IfcOrganizationRelationship::list::ptr Ifc4::IfcOrganization::Relates() const { return data_->getInverse(IFC4_IfcOrganizationRelationship_type, 2)->as(); } @@ -15845,7 +15845,7 @@ Ifc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4::IfcComp // Function implementations for IfcOutlet boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > Ifc4::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcOutlet::declaration() const { return *IFC4_IfcOutlet_type; } @@ -15869,11 +15869,11 @@ void Ifc4::IfcOwnerHistory::setOwningUser(::Ifc4::IfcPersonAndOrganization* v) { ::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setOwningApplication(::Ifc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4::IfcChangeActionEnum::Value > Ifc4::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcApplication>(true); } @@ -15923,7 +15923,7 @@ Ifc4::IfcPcurve::IfcPcurve(::Ifc4::IfcSurface* v1_BasisSurface, ::Ifc4::IfcCurve std::string Ifc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcPerformanceHistory::declaration() const { return *IFC4_IfcPerformanceHistory_type; } @@ -15937,9 +15937,9 @@ void Ifc4::IfcPermeableCoveringProperties::setOperationType(::Ifc4::IfcPermeable ::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15951,11 +15951,11 @@ Ifc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string // Function implementations for IfcPermit boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > Ifc4::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPermit::declaration() const { return *IFC4_IfcPermit_type; } @@ -15965,21 +15965,21 @@ Ifc4::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ // Function implementations for IfcPerson boost::optional< std::string > Ifc4::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcActorRole >(); } -void Ifc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcAddress >(); } -void Ifc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4::IfcPersonAndOrganization::list::ptr Ifc4::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4_IfcPersonAndOrganization_type, 0)->as(); } @@ -15994,7 +15994,7 @@ void Ifc4::IfcPersonAndOrganization::setThePerson(::Ifc4::IfcPerson* v) { {IfcWr ::Ifc4::IfcOrganization* Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcActorRole >(); } -void Ifc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcPersonAndOrganization::declaration() const { return *IFC4_IfcPersonAndOrganization_type; } @@ -16008,9 +16008,9 @@ void Ifc4::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4::If std::string Ifc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcPhysicalComplexQuantity::declaration() const { return *IFC4_IfcPhysicalComplexQuantity_type; } @@ -16022,7 +16022,7 @@ Ifc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name std::string Ifc4::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcPhysicalComplexQuantity::list::ptr Ifc4::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -16044,9 +16044,9 @@ Ifc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, // Function implementations for IfcPile boost::optional< ::Ifc4::IfcPileTypeEnum::Value > Ifc4::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > Ifc4::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcPile::setConstructionType(boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcPile::setConstructionType(boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPile::declaration() const { return *IFC4_IfcPile_type; } @@ -16066,7 +16066,7 @@ Ifc4::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcPipeFitting boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > Ifc4::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPipeFitting::declaration() const { return *IFC4_IfcPipeFitting_type; } @@ -16086,7 +16086,7 @@ Ifc4::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcPipeSegment boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > Ifc4::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPipeSegment::declaration() const { return *IFC4_IfcPipeSegment_type; } @@ -16162,7 +16162,7 @@ Ifc4::IfcPlane::IfcPlane(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcElementa // Function implementations for IfcPlate boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > Ifc4::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPlate::declaration() const { return *IFC4_IfcPlate_type; } @@ -16246,11 +16246,11 @@ Ifc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4::IfcSurf // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr Ifc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcIndexedPolygonalFace >(); } void Ifc4::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPolygonalFaceSet::declaration() const { return *IFC4_IfcPolygonalFaceSet_type; } @@ -16281,19 +16281,19 @@ Ifc4::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcPostalAddress::declaration() const { return *IFC4_IfcPostalAddress_type; } @@ -16363,11 +16363,11 @@ Ifc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() {dat std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4_IfcPresentationLayerAssignment_type; } @@ -16393,7 +16393,7 @@ Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcPresentationStyle::declaration() const { return *IFC4_IfcPresentationStyle_type; } @@ -16413,7 +16413,7 @@ Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_o // Function implementations for IfcProcedure boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcProcedure::declaration() const { return *IFC4_IfcProcedure_type; } @@ -16433,9 +16433,9 @@ Ifc4::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4::IfcOwn // Function implementations for IfcProcess boost::optional< std::string > Ifc4::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcRelSequence::list::ptr Ifc4::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4_IfcRelSequence_type, 4)->as(); } ::Ifc4::IfcRelSequence::list::ptr Ifc4::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4_IfcRelSequence_type, 5)->as(); } @@ -16471,9 +16471,9 @@ Ifc4::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std: // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcRepresentation >::ptr Ifc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcRepresentation >(); } void Ifc4::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -16487,7 +16487,7 @@ Ifc4::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::s ::Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileDef::ProfileType() const { return ::Ifc4::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcProfileDef::setProfileType(::Ifc4::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4::IfcProfileProperties::list::ptr Ifc4::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4_IfcProfileProperties_type, 3)->as(); } @@ -16525,11 +16525,11 @@ Ifc4::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcProjectOrder boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > Ifc4::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProjectOrder::declaration() const { return *IFC4_IfcProjectOrder_type; } @@ -16539,9 +16539,9 @@ Ifc4::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4::IfcOwner // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcNamedUnit* Ifc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcProjectedCRS::setMapUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16553,7 +16553,7 @@ Ifc4::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optional< std // Function implementations for IfcProjectionElement boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > Ifc4::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProjectionElement::declaration() const { return *IFC4_IfcProjectionElement_type; } @@ -16565,7 +16565,7 @@ Ifc4::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4 std::string Ifc4::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcPropertySet::list::ptr Ifc4::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4_IfcPropertySet_type, 4)->as(); } ::Ifc4::IfcPropertyDependencyRelationship::list::ptr Ifc4::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -16620,7 +16620,7 @@ void Ifc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4::IfcPr ::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcPropertyDependencyRelationship::declaration() const { return *IFC4_IfcPropertyDependencyRelationship_type; } @@ -16630,7 +16630,7 @@ Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16656,7 +16656,7 @@ Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggreg // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16668,7 +16668,7 @@ Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::opt // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcObjectReferenceSelect* Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcObjectReferenceSelect>(true); } void Ifc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16701,9 +16701,9 @@ Ifc4::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr Ifc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -16728,17 +16728,17 @@ Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost: // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > Ifc4::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcPropertyTableValue::declaration() const { return *IFC4_IfcPropertyTableValue_type; } @@ -16766,7 +16766,7 @@ Ifc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProtectiveDevice::declaration() const { return *IFC4_IfcProtectiveDevice_type; } @@ -16776,7 +16776,7 @@ Ifc4::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4:: // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4_IfcProtectiveDeviceTrippingUnit_type; } @@ -16808,7 +16808,7 @@ Ifc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcProxy::ProxyType() const { return ::Ifc4::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcProxy::setProxyType(::Ifc4::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcProxy::declaration() const { return *IFC4_IfcProxy_type; } @@ -16818,7 +16818,7 @@ Ifc4::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Ow // Function implementations for IfcPump boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > Ifc4::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcPump::declaration() const { return *IFC4_IfcPump_type; } @@ -16840,7 +16840,7 @@ Ifc4::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* double Ifc4::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityArea::declaration() const { return *IFC4_IfcQuantityArea_type; } @@ -16852,7 +16852,7 @@ Ifc4::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std double Ifc4::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityCount::declaration() const { return *IFC4_IfcQuantityCount_type; } @@ -16864,7 +16864,7 @@ Ifc4::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< s double Ifc4::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityLength::declaration() const { return *IFC4_IfcQuantityLength_type; } @@ -16884,7 +16884,7 @@ Ifc4::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi double Ifc4::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityTime::declaration() const { return *IFC4_IfcQuantityTime_type; } @@ -16896,7 +16896,7 @@ Ifc4::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std double Ifc4::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityVolume::declaration() const { return *IFC4_IfcQuantityVolume_type; } @@ -16908,7 +16908,7 @@ Ifc4::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< double Ifc4::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcQuantityWeight::declaration() const { return *IFC4_IfcQuantityWeight_type; } @@ -16918,7 +16918,7 @@ Ifc4::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< // Function implementations for IfcRailing boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > Ifc4::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRailing::declaration() const { return *IFC4_IfcRailing_type; } @@ -16938,7 +16938,7 @@ Ifc4::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi // Function implementations for IfcRamp boost::optional< ::Ifc4::IfcRampTypeEnum::Value > Ifc4::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRamp::declaration() const { return *IFC4_IfcRamp_type; } @@ -16948,7 +16948,7 @@ Ifc4::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcRampFlight boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > Ifc4::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRampFlight::declaration() const { return *IFC4_IfcRampFlight_type; } @@ -17000,9 +17000,9 @@ Ifc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int double Ifc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRectangleHollowProfileDef::declaration() const { return *IFC4_IfcRectangleHollowProfileDef_type; } @@ -17062,19 +17062,19 @@ Ifc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4::IfcSurf ::Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcRecurrencePattern::setRecurrenceType(::Ifc4::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > Ifc4::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcTimePeriod >(); } -void Ifc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcRecurrencePattern::declaration() const { return *IFC4_IfcRecurrencePattern_type; } @@ -17084,13 +17084,13 @@ Ifc4::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4::IfcRecurrenceTypeEnum:: // Function implementations for IfcReference boost::optional< std::string > Ifc4::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4::IfcReference* Ifc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcReference::setInnerReference(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17118,13 +17118,13 @@ void Ifc4::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { { std::string Ifc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcReinforcementBarProperties::declaration() const { return *IFC4_IfcReinforcementBarProperties_type; } @@ -17134,7 +17134,7 @@ Ifc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_Tot // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr Ifc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcSectionReinforcementProperties >(); } void Ifc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17146,15 +17146,15 @@ Ifc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > Ifc4::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingBar::declaration() const { return *IFC4_IfcReinforcingBar_type; } @@ -17166,17 +17166,17 @@ Ifc4::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4::IfcO ::Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcReinforcingBarType::setPredefinedType(::Ifc4::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingBarType::declaration() const { return *IFC4_IfcReinforcingBarType_type; } @@ -17186,7 +17186,7 @@ Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::If // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingElement::declaration() const { return *IFC4_IfcReinforcingElement_type; } @@ -17204,23 +17204,23 @@ Ifc4::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_Global // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > Ifc4::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingMesh::declaration() const { return *IFC4_IfcReinforcingMesh_type; } @@ -17232,25 +17232,25 @@ Ifc4::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4::If ::Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcReinforcingMeshType::setPredefinedType(::Ifc4::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::declaration() const { return *IFC4_IfcReinforcingMeshType_type; } @@ -17274,7 +17274,7 @@ Ifc4::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4::IfcOwn aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > Ifc4::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcRelAssigns::declaration() const { return *IFC4_IfcRelAssigns_type; } @@ -17388,7 +17388,7 @@ Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcConstraint* Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17514,7 +17514,7 @@ void Ifc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4::IfcBounda ::Ifc4::IfcStructuralConnectionCondition* Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralConnectionCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17538,7 +17538,7 @@ Ifc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string aggregate_of< ::Ifc4::IfcElement >::ptr Ifc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcElement >(); } void Ifc4::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4_IfcRelConnectsWithRealizingElements_type; } @@ -17690,7 +17690,7 @@ void Ifc4::IfcRelInterferesElements::setRelatedElement(::Ifc4::IfcElement* v) { ::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -17744,9 +17744,9 @@ void Ifc4::IfcRelSequence::setRelatedProcess(::Ifc4::IfcProcess* v) { {IfcWrite: ::Ifc4::IfcLagTime* Ifc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLagTime>(true); } void Ifc4::IfcRelSequence::setTimeLag(::Ifc4::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcSequenceEnum::Value > Ifc4::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRelSequence::declaration() const { return *IFC4_IfcRelSequence_type; } @@ -17840,9 +17840,9 @@ Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSeg ::Ifc4::IfcRepresentationContext* Ifc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationContext>(true); } void Ifc4::IfcRepresentation::setContextOfItems(::Ifc4::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr Ifc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcRepresentationItem >(); } void Ifc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -17857,9 +17857,9 @@ Ifc4::IfcRepresentation::IfcRepresentation(::Ifc4::IfcRepresentationContext* v1_ // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4::IfcRepresentation::list::ptr Ifc4::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4_IfcRepresentation_type, 0)->as(); } @@ -17894,9 +17894,9 @@ Ifc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4::IfcAxis2Placement* v1_M // Function implementations for IfcResource boost::optional< std::string > Ifc4::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcRelAssignsToResource::list::ptr Ifc4::IfcResource::ResourceOf() const { return data_->getInverse(IFC4_IfcRelAssignsToResource_type, 6)->as(); } @@ -17931,9 +17931,9 @@ Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcResourceLevelRelationship::declaration() const { return *IFC4_IfcResourceLevelRelationship_type; } @@ -17943,35 +17943,35 @@ Ifc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4::IfcResourceTime::declaration() const { return *IFC4_IfcResourceTime_type; } @@ -18027,7 +18027,7 @@ Ifc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4::IfcAxis2Placeme // Function implementations for IfcRoof boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > Ifc4::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcRoof::declaration() const { return *IFC4_IfcRoof_type; } @@ -18051,9 +18051,9 @@ void Ifc4::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* at ::Ifc4::IfcOwnerHistory* Ifc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOwnerHistory>(true); } void Ifc4::IfcRoot::setOwnerHistory(::Ifc4::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcRoot::declaration() const { return *IFC4_IfcRoot_type; } @@ -18073,7 +18073,7 @@ Ifc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4::IfcPr // Function implementations for IfcSIUnit boost::optional< ::Ifc4::IfcSIPrefix::Value > Ifc4::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnit::Name() const { return ::Ifc4::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4::IfcSIUnit::setName(::Ifc4::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -18085,7 +18085,7 @@ Ifc4::IfcSIUnit::IfcSIUnit(::Ifc4::IfcUnitEnum::Value v2_UnitType, boost::option // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSanitaryTerminal::declaration() const { return *IFC4_IfcSanitaryTerminal_type; } @@ -18105,11 +18105,11 @@ Ifc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4::IfcDataOriginEnum::Value > Ifc4::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcSchedulingTime::declaration() const { return *IFC4_IfcSchedulingTime_type; } @@ -18145,7 +18145,7 @@ void Ifc4::IfcSectionReinforcementProperties::setLongitudinalStartPosition(doubl double Ifc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4::IfcSectionProperties* Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSectionProperties>(true); } @@ -18175,7 +18175,7 @@ Ifc4::IfcSectionedSpine::IfcSectionedSpine(::Ifc4::IfcCompositeCurve* v1_SpineCu // Function implementations for IfcSensor boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > Ifc4::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSensor::declaration() const { return *IFC4_IfcSensor_type; } @@ -18195,7 +18195,7 @@ Ifc4::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcShadingDevice boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > Ifc4::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcShadingDevice::declaration() const { return *IFC4_IfcShadingDevice_type; } @@ -18217,9 +18217,9 @@ Ifc4::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4 aggregate_of< ::Ifc4::IfcShapeModel >::ptr Ifc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4::IfcShapeModel >(); } void Ifc4::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcProductRepresentationSelect* Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProductRepresentationSelect>(true); } @@ -18268,11 +18268,11 @@ Ifc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcPropertyEnumeration* Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnit>(true); } @@ -18280,9 +18280,9 @@ void Ifc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4::IfcUnit* v) { {IfcW ::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcSimplePropertyTemplate::declaration() const { return *IFC4_IfcSimplePropertyTemplate_type; } @@ -18292,13 +18292,13 @@ Ifc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_Global // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4::IfcPostalAddress* Ifc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcSite::setSiteAddress(::Ifc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -18310,7 +18310,7 @@ Ifc4::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcSlab boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > Ifc4::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSlab::declaration() const { return *IFC4_IfcSlab_type; } @@ -18346,11 +18346,11 @@ Ifc4::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSlippageConnectionCondition::declaration() const { return *IFC4_IfcSlippageConnectionCondition_type; } @@ -18360,7 +18360,7 @@ Ifc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::opti // Function implementations for IfcSolarDevice boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > Ifc4::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSolarDevice::declaration() const { return *IFC4_IfcSolarDevice_type; } @@ -18388,9 +18388,9 @@ Ifc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcEntity // Function implementations for IfcSpace boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > Ifc4::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4::IfcRelCoversSpaces::list::ptr Ifc4::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4::IfcRelSpaceBoundary::list::ptr Ifc4::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary_type, 4)->as(); } @@ -18402,7 +18402,7 @@ Ifc4::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Ow // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > Ifc4::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpaceHeater::declaration() const { return *IFC4_IfcSpaceHeater_type; } @@ -18424,7 +18424,7 @@ Ifc4::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4::If ::Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceType::PredefinedType() const { return ::Ifc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSpaceType::setPredefinedType(::Ifc4::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcSpaceType::declaration() const { return *IFC4_IfcSpaceType_type; } @@ -18434,7 +18434,7 @@ Ifc4::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistor // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4::IfcRelServicesBuildings::list::ptr Ifc4::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4_IfcRelServicesBuildings_type, 5)->as(); } @@ -18447,7 +18447,7 @@ Ifc4::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpatialElementType::declaration() const { return *IFC4_IfcSpatialElementType_type; } @@ -18457,7 +18457,7 @@ Ifc4::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::If // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > Ifc4::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpatialStructureElement::declaration() const { return *IFC4_IfcSpatialStructureElement_type; } @@ -18475,7 +18475,7 @@ Ifc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string // Function implementations for IfcSpatialZone boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > Ifc4::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSpatialZone::declaration() const { return *IFC4_IfcSpatialZone_type; } @@ -18487,7 +18487,7 @@ Ifc4::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi ::Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcSpatialZoneType::setPredefinedType(::Ifc4::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcSpatialZoneType::declaration() const { return *IFC4_IfcSpatialZoneType_type; } @@ -18517,7 +18517,7 @@ Ifc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4::IfcAxis2Placement3D* v1_P // Function implementations for IfcStackTerminal boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > Ifc4::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStackTerminal::declaration() const { return *IFC4_IfcStackTerminal_type; } @@ -18537,7 +18537,7 @@ Ifc4::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcStair boost::optional< ::Ifc4::IfcStairTypeEnum::Value > Ifc4::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStair::declaration() const { return *IFC4_IfcStair_type; } @@ -18547,15 +18547,15 @@ Ifc4::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Ow // Function implementations for IfcStairFlight boost::optional< int > Ifc4::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > Ifc4::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcStairFlight::declaration() const { return *IFC4_IfcStairFlight_type; } @@ -18585,7 +18585,7 @@ Ifc4::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistor // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcStructuralAction::declaration() const { return *IFC4_IfcStructuralAction_type; } @@ -18612,9 +18612,9 @@ void Ifc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4::IfcAnalysisMode ::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcStructuralLoadGroup >(); } -void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcStructuralResultGroup >(); } -void Ifc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4::IfcObjectPlacement* Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -18637,7 +18637,7 @@ Ifc4::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcStructuralConnectionCondition::declaration() const { return *IFC4_IfcStructuralConnectionCondition_type; } @@ -18647,7 +18647,7 @@ Ifc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost:: // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcStructuralCurveAction::setPredefinedType(::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -18716,7 +18716,7 @@ Ifc4::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_Global // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoad::declaration() const { return *IFC4_IfcStructuralLoad_type; } @@ -18726,7 +18726,7 @@ Ifc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Nam // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadCase::declaration() const { return *IFC4_IfcStructuralLoadCase_type; } @@ -18738,7 +18738,7 @@ Ifc4::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::If aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr Ifc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcStructuralLoadOrResult >(); } void Ifc4::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadConfiguration::declaration() const { return *IFC4_IfcStructuralLoadConfiguration_type; } @@ -18754,9 +18754,9 @@ void Ifc4::IfcStructuralLoadGroup::setActionType(::Ifc4::IfcActionTypeEnum::Valu ::Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcStructuralLoadGroup::setActionSource(::Ifc4::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4::IfcStructuralResultGroup::list::ptr Ifc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4::IfcStructuralAnalysisModel::list::ptr Ifc4::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -18768,17 +18768,17 @@ Ifc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, :: // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadLinearForce::declaration() const { return *IFC4_IfcStructuralLoadLinearForce_type; } @@ -18796,11 +18796,11 @@ Ifc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std: // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4_IfcStructuralLoadPlanarForce_type; } @@ -18810,17 +18810,17 @@ Ifc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4_IfcStructuralLoadSingleDisplacement_type; } @@ -18830,7 +18830,7 @@ Ifc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(b // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -18840,17 +18840,17 @@ Ifc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisp // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForce::declaration() const { return *IFC4_IfcStructuralLoadSingleForce_type; } @@ -18860,7 +18860,7 @@ Ifc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4_IfcStructuralLoadSingleForceWarping_type; } @@ -18878,11 +18878,11 @@ Ifc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::str // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcStructuralLoadTemperature::declaration() const { return *IFC4_IfcStructuralLoadTemperature_type; } @@ -18958,7 +18958,7 @@ Ifc4::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -18980,7 +18980,7 @@ Ifc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMember::declaration() const { return *IFC4_IfcStructuralSurfaceMember_type; } @@ -19020,7 +19020,7 @@ void Ifc4::IfcStyledItem::setItem(::Ifc4::IfcRepresentationItem* v) { {IfcWrite: aggregate_of_instance::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcStyledItem::declaration() const { return *IFC4_IfcStyledItem_type; } @@ -19038,7 +19038,7 @@ Ifc4::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4::IfcRepresentation // Function implementations for IfcSubContractResource boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > Ifc4::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcSubContractResource::declaration() const { return *IFC4_IfcSubContractResource_type; } @@ -19092,9 +19092,9 @@ Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_o ::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcSurface* Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19106,7 +19106,7 @@ Ifc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4::IfcPr // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceFeature::declaration() const { return *IFC4_IfcSurfaceFeature_type; } @@ -19138,11 +19138,11 @@ Ifc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4::IfcProfileDef* v1_S // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceReinforcementArea::declaration() const { return *IFC4_IfcSurfaceReinforcementArea_type; } @@ -19180,9 +19180,9 @@ Ifc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4::IfcColourRgb* v1_ // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleRefraction::declaration() const { return *IFC4_IfcSurfaceStyleRefraction_type; } @@ -19216,7 +19216,7 @@ Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4::IfcColourRgb* v ::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleShading::declaration() const { return *IFC4_IfcSurfaceStyleShading_type; } @@ -19240,11 +19240,11 @@ void Ifc4::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgument* bool Ifc4::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcSurfaceTexture::setTextureTransform(::Ifc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcTextureCoordinate::list::ptr Ifc4::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4::IfcSurfaceStyleWithTextures::list::ptr Ifc4::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -19272,11 +19272,11 @@ void Ifc4::IfcSweptDiskSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::Ifc double Ifc4::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcSweptDiskSolid::declaration() const { return *IFC4_IfcSweptDiskSolid_type; } @@ -19286,7 +19286,7 @@ Ifc4::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4::IfcCurve* v1_Directrix, doubl // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4_IfcSweptDiskSolidPolygonal_type; } @@ -19308,7 +19308,7 @@ Ifc4::IfcSweptSurface::IfcSweptSurface(::Ifc4::IfcProfileDef* v1_SweptCurve, ::I // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSwitchingDevice::declaration() const { return *IFC4_IfcSwitchingDevice_type; } @@ -19337,7 +19337,7 @@ Ifc4::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcSystemFurnitureElement::declaration() const { return *IFC4_IfcSystemFurnitureElement_type; } @@ -19347,7 +19347,7 @@ Ifc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_Global // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcSystemFurnitureElementType::declaration() const { return *IFC4_IfcSystemFurnitureElementType_type; } @@ -19365,15 +19365,15 @@ void Ifc4::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteA double Ifc4::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4::IfcTShapeProfileDef::declaration() const { return *IFC4_IfcTShapeProfileDef_type; } @@ -19383,11 +19383,11 @@ Ifc4::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value // Function implementations for IfcTable boost::optional< std::string > Ifc4::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > Ifc4::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcTableRow >(); } -void Ifc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > Ifc4::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcTableColumn >(); } -void Ifc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcTable::declaration() const { return *IFC4_IfcTable_type; } @@ -19397,11 +19397,11 @@ Ifc4::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTableColumn::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcReference* Ifc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(true); } @@ -19415,9 +19415,9 @@ Ifc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifie // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4::IfcTableRow::declaration() const { return *IFC4_IfcTableRow_type; } @@ -19427,7 +19427,7 @@ Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_ // Function implementations for IfcTank boost::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTank::declaration() const { return *IFC4_IfcTank_type; } @@ -19447,17 +19447,17 @@ Ifc4::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcTask boost::optional< std::string > Ifc4::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4::IfcTaskTime* Ifc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcTaskTime>(true); } void Ifc4::IfcTask::setTaskTime(::Ifc4::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > Ifc4::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcTask::declaration() const { return *IFC4_IfcTask_type; } @@ -19467,39 +19467,39 @@ Ifc4::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcTaskTime boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > Ifc4::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4::IfcTaskTime::declaration() const { return *IFC4_IfcTaskTime_type; } @@ -19521,7 +19521,7 @@ Ifc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > ::Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskType::PredefinedType() const { return ::Ifc4::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTaskType::setPredefinedType(::Ifc4::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4::IfcTaskType::declaration() const { return *IFC4_IfcTaskType_type; } @@ -19531,17 +19531,17 @@ Ifc4::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTelecomAddress::declaration() const { return *IFC4_IfcTelecomAddress_type; } @@ -19551,21 +19551,21 @@ Ifc4::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4::IfcAddressTy // Function implementations for IfcTendon boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > Ifc4::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4::IfcTendon::declaration() const { return *IFC4_IfcTendon_type; } @@ -19575,7 +19575,7 @@ Ifc4::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > Ifc4::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcTendonAnchor::declaration() const { return *IFC4_IfcTendonAnchor_type; } @@ -19597,11 +19597,11 @@ Ifc4::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4:: ::Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonType::PredefinedType() const { return ::Ifc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4::IfcTendonType::setPredefinedType(::Ifc4::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcTendonType::declaration() const { return *IFC4_IfcTendonType_type; } @@ -19663,7 +19663,7 @@ void Ifc4::IfcTextStyle::setTextStyle(::Ifc4::IfcTextStyleTextModel* v) { {IfcWr ::Ifc4::IfcTextFontSelect* Ifc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTextFontSelect>(true); } void Ifc4::IfcTextStyle::setTextFontStyle(::Ifc4::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTextStyle::declaration() const { return *IFC4_IfcTextStyle_type; } @@ -19675,11 +19675,11 @@ Ifc4::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4: std::vector< std::string > /*[1:?]*/ Ifc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleFontModel::setFontSize(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19705,15 +19705,15 @@ Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4::IfcColour* ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setTextIndent(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLineHeight(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19737,7 +19737,7 @@ Ifc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4::IfcSurfac std::string Ifc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4::IfcTextureCoordinateGenerator::declaration() const { return *IFC4_IfcTextureCoordinateGenerator_type; } @@ -19793,7 +19793,7 @@ Ifc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndT std::string Ifc4::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -19803,7 +19803,7 @@ void Ifc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4::IfcTimeSeriesDataTypeEnu ::Ifc4::IfcDataOriginEnum::Value Ifc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcTimeSeries::setDataOrigin(::Ifc4::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4::IfcUnit* Ifc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTimeSeries::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19854,7 +19854,7 @@ Ifc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4::IfcAxis2Placement3D* v1_Pos // Function implementations for IfcTransformer boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > Ifc4::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTransformer::declaration() const { return *IFC4_IfcTransformer_type; } @@ -19874,7 +19874,7 @@ Ifc4::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcTransportElement boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > Ifc4::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTransportElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTransportElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTransportElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTransportElement::declaration() const { return *IFC4_IfcTransportElement_type; } @@ -19910,13 +19910,13 @@ Ifc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4::IfcProfileTypeEnum: // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4::IfcTriangulatedFaceSet::declaration() const { return *IFC4_IfcTriangulatedFaceSet_type; } @@ -19944,7 +19944,7 @@ Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregat // Function implementations for IfcTubeBundle boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcTubeBundle::declaration() const { return *IFC4_IfcTubeBundle_type; } @@ -19964,9 +19964,9 @@ Ifc4::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > Ifc4::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } -void Ifc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4::IfcRelDefinesByType::list::ptr Ifc4::IfcTypeObject::Types() const { return data_->getInverse(IFC4_IfcRelDefinesByType_type, 5)->as(); } @@ -19977,11 +19977,11 @@ Ifc4::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcRelAssignsToProcess::list::ptr Ifc4::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4_IfcRelAssignsToProcess_type, 6)->as(); } @@ -19992,9 +19992,9 @@ Ifc4::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > Ifc4::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcRepresentationMap >(); } -void Ifc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcRelAssignsToProduct::list::ptr Ifc4::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4_IfcRelAssignsToProduct_type, 6)->as(); } @@ -20005,11 +20005,11 @@ Ifc4::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4::IfcRelAssignsToResource::list::ptr Ifc4::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4_IfcRelAssignsToResource_type, 6)->as(); } @@ -20028,11 +20028,11 @@ void Ifc4::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteA double Ifc4::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4::IfcUShapeProfileDef::declaration() const { return *IFC4_IfcUShapeProfileDef_type; } @@ -20052,7 +20052,7 @@ Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcUnitaryControlElement::declaration() const { return *IFC4_IfcUnitaryControlElement_type; } @@ -20072,7 +20072,7 @@ Ifc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_ // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcUnitaryEquipment::declaration() const { return *IFC4_IfcUnitaryEquipment_type; } @@ -20092,7 +20092,7 @@ Ifc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, // Function implementations for IfcValve boost::optional< ::Ifc4::IfcValveTypeEnum::Value > Ifc4::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcValve::declaration() const { return *IFC4_IfcValve_type; } @@ -20152,7 +20152,7 @@ Ifc4::IfcVertexPoint::IfcVertexPoint(::Ifc4::IfcPoint* v1_VertexGeometry) : IfcV // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcVibrationIsolator::declaration() const { return *IFC4_IfcVibrationIsolator_type; } @@ -20192,7 +20192,7 @@ Ifc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > Ifc4::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcVoidingFeature::declaration() const { return *IFC4_IfcVoidingFeature_type; } @@ -20202,7 +20202,7 @@ Ifc4::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcWall boost::optional< ::Ifc4::IfcWallTypeEnum::Value > Ifc4::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWall::declaration() const { return *IFC4_IfcWall_type; } @@ -20238,7 +20238,7 @@ Ifc4::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > Ifc4::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWasteTerminal::declaration() const { return *IFC4_IfcWasteTerminal_type; } @@ -20258,15 +20258,15 @@ Ifc4::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcWindow boost::optional< double > Ifc4::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > Ifc4::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > Ifc4::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcWindow::declaration() const { return *IFC4_IfcWindow_type; } @@ -20276,29 +20276,29 @@ Ifc4::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4::IfcWindowLiningProperties::declaration() const { return *IFC4_IfcWindowLiningProperties_type; } @@ -20312,9 +20312,9 @@ void Ifc4::IfcWindowPanelProperties::setOperationType(::Ifc4::IfcWindowPanelOper ::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcWindowPanelProperties::setPanelPosition(::Ifc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4::IfcShapeAspect* Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20354,9 +20354,9 @@ void Ifc4::IfcWindowType::setPredefinedType(::Ifc4::IfcWindowTypeEnum::Value v) ::Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowType::PartitioningType() const { return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4::IfcWindowType::setPartitioningType(::Ifc4::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcWindowType::declaration() const { return *IFC4_IfcWindowType_type; } @@ -20366,11 +20366,11 @@ Ifc4::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4::IfcWorkTime >(); } -void Ifc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcWorkTime >(); } -void Ifc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > Ifc4::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcWorkCalendar::declaration() const { return *IFC4_IfcWorkCalendar_type; } @@ -20382,17 +20382,17 @@ Ifc4::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4::IfcOwner std::string Ifc4::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcPerson >(); } -void Ifc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4::IfcWorkControl::declaration() const { return *IFC4_IfcWorkControl_type; } @@ -20402,7 +20402,7 @@ Ifc4::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi // Function implementations for IfcWorkPlan boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > Ifc4::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcWorkPlan::declaration() const { return *IFC4_IfcWorkPlan_type; } @@ -20412,7 +20412,7 @@ Ifc4::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > Ifc4::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4::IfcWorkSchedule::declaration() const { return *IFC4_IfcWorkSchedule_type; } @@ -20424,9 +20424,9 @@ Ifc4::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwner ::Ifc4::IfcRecurrencePattern* Ifc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcWorkTime::setRecurrencePattern(::Ifc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcWorkTime::declaration() const { return *IFC4_IfcWorkTime_type; } @@ -20444,9 +20444,9 @@ void Ifc4::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWriteA double Ifc4::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4::IfcZShapeProfileDef::declaration() const { return *IFC4_IfcZShapeProfileDef_type; } @@ -20456,7 +20456,7 @@ Ifc4::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value // Function implementations for IfcZone boost::optional< std::string > Ifc4::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4::IfcZone::declaration() const { return *IFC4_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp index e7814ae7bb..6799e2678f 100644 --- a/src/ifcparse/Ifc4x1.cpp +++ b/src/ifcparse/Ifc4x1.cpp @@ -11269,11 +11269,11 @@ Ifc4x1::IfcWarpingMomentMeasure::operator double() const { return *data_->getArg // Function implementations for IfcActionRequest boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > Ifc4x1::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcActionRequest::declaration() const { return *IFC4X1_IfcActionRequest_type; } @@ -11296,9 +11296,9 @@ Ifc4x1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v ::Ifc4x1::IfcRoleEnum::Value Ifc4x1::IfcActorRole::Role() const { return ::Ifc4x1::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x1::IfcActorRole::setRole(::Ifc4x1::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11309,7 +11309,7 @@ Ifc4x1::IfcActorRole::IfcActorRole(::Ifc4x1::IfcRoleEnum::Value v1_Role, boost:: // Function implementations for IfcActuator boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > Ifc4x1::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcActuator::declaration() const { return *IFC4X1_IfcActuator_type; } @@ -11329,11 +11329,11 @@ Ifc4x1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x1::IfcO // Function implementations for IfcAddress boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Ifc4x1::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x1::IfcAddress::setPurpose(boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4x1::IfcAddress::setPurpose(boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcPerson::list::ptr Ifc4x1::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X1_IfcPerson_type, 7)->as(); } ::Ifc4x1::IfcOrganization::list::ptr Ifc4x1::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X1_IfcOrganization_type, 4)->as(); } @@ -11371,7 +11371,7 @@ Ifc4x1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x1::IfcFaceBound >: // Function implementations for IfcAirTerminal boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > Ifc4x1::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcAirTerminal::declaration() const { return *IFC4X1_IfcAirTerminal_type; } @@ -11381,7 +11381,7 @@ Ifc4x1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwn // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x1::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcAirTerminalBox::declaration() const { return *IFC4X1_IfcAirTerminalBox_type; } @@ -11411,7 +11411,7 @@ Ifc4x1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x1::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X1_IfcAirToAirHeatRecovery_type; } @@ -11431,7 +11431,7 @@ Ifc4x1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_ // Function implementations for IfcAlarm boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > Ifc4x1::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcAlarm::declaration() const { return *IFC4X1_IfcAlarm_type; } @@ -11451,7 +11451,7 @@ Ifc4x1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi // Function implementations for IfcAlignment boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > Ifc4x1::IfcAlignment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAlignmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAlignmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcAlignment::declaration() const { return *IFC4X1_IfcAlignment_type; } @@ -11461,7 +11461,7 @@ Ifc4x1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi // Function implementations for IfcAlignment2DHorizontal boost::optional< double > Ifc4x1::IfcAlignment2DHorizontal::StartDistAlong() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr Ifc4x1::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcAlignment2DHorizontalSegment >(); } void Ifc4x1::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -11485,11 +11485,11 @@ Ifc4x1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost:: // Function implementations for IfcAlignment2DSegment boost::optional< bool > Ifc4x1::IfcAlignment2DSegment::TangentialContinuity() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } bool v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcAlignment2DSegment::StartTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcAlignment2DSegment::EndTag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcAlignment2DSegment::declaration() const { return *IFC4X1_IfcAlignment2DSegment_type; } @@ -11563,7 +11563,7 @@ void Ifc4x1::IfcAlignmentCurve::setHorizontal(::Ifc4x1::IfcAlignment2DHorizontal ::Ifc4x1::IfcAlignment2DVertical* Ifc4x1::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAlignment2DVertical>(true); } void Ifc4x1::IfcAlignmentCurve::setVertical(::Ifc4x1::IfcAlignment2DVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcAlignmentCurve::declaration() const { return *IFC4X1_IfcAlignmentCurve_type; } @@ -11584,7 +11584,7 @@ Ifc4x1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x1::IfcOwner ::Ifc4x1::IfcCurve* Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > Ifc4x1::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcCurve >(); } -void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcAnnotationFillArea::declaration() const { return *IFC4X1_IfcAnnotationFillArea_type; } @@ -11610,25 +11610,25 @@ Ifc4x1::IfcApplication::IfcApplication(::Ifc4x1::IfcOrganization* v1_Application // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4x1::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcAppliedValueSelect* Ifc4x1::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAppliedValueSelect>(true); } void Ifc4x1::IfcAppliedValue::setAppliedValue(::Ifc4x1::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcAppliedValue::setUnitBasis(::Ifc4x1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > Ifc4x1::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } -void Ifc4x1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11639,19 +11639,19 @@ Ifc4x1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, // Function implementations for IfcApproval boost::optional< std::string > Ifc4x1::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcApproval::setRequestingApproval(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(true); } @@ -11712,7 +11712,7 @@ Ifc4x1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x // Function implementations for IfcAsset boost::optional< std::string > Ifc4x1::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setOriginalValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcCostValue>(true); } @@ -11726,7 +11726,7 @@ void Ifc4x1::IfcAsset::setUser(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWrit ::Ifc4x1::IfcPerson* Ifc4x1::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcPerson>(true); } void Ifc4x1::IfcAsset::setResponsiblePerson(::Ifc4x1::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setDepreciatedValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -11746,21 +11746,21 @@ void Ifc4x1::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {IfcWrit double Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x1::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X1_IfcAsymmetricIShapeProfileDef_type; } @@ -11770,7 +11770,7 @@ Ifc4x1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x1::I // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x1::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcAudioVisualAppliance::declaration() const { return *IFC4X1_IfcAudioVisualAppliance_type; } @@ -11894,7 +11894,7 @@ Ifc4x1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, i // Function implementations for IfcBeam boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > Ifc4x1::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcBeam::declaration() const { return *IFC4X1_IfcBeam_type; } @@ -11948,7 +11948,7 @@ Ifc4x1::IfcBlock::IfcBlock(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2 // Function implementations for IfcBoiler boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > Ifc4x1::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcBoiler::declaration() const { return *IFC4X1_IfcBoiler_type; } @@ -11990,7 +11990,7 @@ Ifc4x1::IfcBooleanResult::IfcBooleanResult(::Ifc4x1::IfcBooleanOperator::Value v // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4x1::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcBoundaryCondition::declaration() const { return *IFC4X1_IfcBoundaryCondition_type; } @@ -12114,9 +12114,9 @@ Ifc4x1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x1::IfcSurface* v1_BaseSurfac // Function implementations for IfcBuilding boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcPostalAddress>(true); } void Ifc4x1::IfcBuilding::setBuildingAddress(::Ifc4x1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -12136,7 +12136,7 @@ Ifc4x1::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > Ifc4x1::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcBuildingElementPart::declaration() const { return *IFC4X1_IfcBuildingElementPart_type; } @@ -12156,7 +12156,7 @@ Ifc4x1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_Gl // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x1::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcBuildingElementProxy::declaration() const { return *IFC4X1_IfcBuildingElementProxy_type; } @@ -12184,7 +12184,7 @@ Ifc4x1::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4x1::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcBuildingStorey::declaration() const { return *IFC4X1_IfcBuildingStorey_type; } @@ -12194,9 +12194,9 @@ Ifc4x1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > Ifc4x1::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcBuildingSystem::declaration() const { return *IFC4X1_IfcBuildingSystem_type; } @@ -12206,7 +12206,7 @@ Ifc4x1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcBurner boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > Ifc4x1::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcBurner::declaration() const { return *IFC4X1_IfcBurner_type; } @@ -12234,7 +12234,7 @@ void Ifc4x1::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::IfcWri double Ifc4x1::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcCShapeProfileDef::declaration() const { return *IFC4X1_IfcCShapeProfileDef_type; } @@ -12244,7 +12244,7 @@ Ifc4x1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::V // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x1::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCableCarrierFitting::declaration() const { return *IFC4X1_IfcCableCarrierFitting_type; } @@ -12264,7 +12264,7 @@ Ifc4x1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_Gl // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x1::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCableCarrierSegment::declaration() const { return *IFC4X1_IfcCableCarrierSegment_type; } @@ -12284,7 +12284,7 @@ Ifc4x1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_Gl // Function implementations for IfcCableFitting boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > Ifc4x1::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCableFitting::declaration() const { return *IFC4X1_IfcCableFitting_type; } @@ -12304,7 +12304,7 @@ Ifc4x1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCableSegment boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > Ifc4x1::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCableSegment::declaration() const { return *IFC4X1_IfcCableSegment_type; } @@ -12344,7 +12344,7 @@ Ifc4x1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentat std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x1::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcCartesianPointList2D::declaration() const { return *IFC4X1_IfcCartesianPointList2D_type; } @@ -12356,7 +12356,7 @@ Ifc4x1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vecto std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x1::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcCartesianPointList3D::declaration() const { return *IFC4X1_IfcCartesianPointList3D_type; } @@ -12372,7 +12372,7 @@ void Ifc4x1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x1::IfcDirection ::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator::declaration() const { return *IFC4X1_IfcCartesianTransformationOperator_type; } @@ -12390,7 +12390,7 @@ Ifc4x1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X1_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -12410,9 +12410,9 @@ Ifc4x1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X1_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -12432,7 +12432,7 @@ Ifc4x1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x1::IfcProfileTyp // Function implementations for IfcChiller boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > Ifc4x1::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcChiller::declaration() const { return *IFC4X1_IfcChiller_type; } @@ -12452,7 +12452,7 @@ Ifc4x1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwn // Function implementations for IfcChimney boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > Ifc4x1::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcChimney::declaration() const { return *IFC4X1_IfcChimney_type; } @@ -12530,19 +12530,19 @@ Ifc4x1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcClassification boost::optional< std::string > Ifc4x1::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4x1::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcRelAssociatesClassification::list::ptr Ifc4x1::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X1_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x1::IfcClassificationReference::list::ptr Ifc4x1::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X1_IfcClassificationReference_type, 3)->as(); } @@ -12556,9 +12556,9 @@ Ifc4x1::IfcClassification::IfcClassification(boost::optional< std::string > v1_S ::Ifc4x1::IfcClassificationReferenceSelect* Ifc4x1::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcClassificationReferenceSelect>(true); } void Ifc4x1::IfcClassificationReference::setReferencedSource(::Ifc4x1::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcRelAssociatesClassification::list::ptr Ifc4x1::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X1_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x1::IfcClassificationReference::list::ptr Ifc4x1::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X1_IfcClassificationReference_type, 3)->as(); } @@ -12578,7 +12578,7 @@ Ifc4x1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1 // Function implementations for IfcCoil boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > Ifc4x1::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCoil::declaration() const { return *IFC4X1_IfcCoil_type; } @@ -12622,7 +12622,7 @@ Ifc4x1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4x1::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcColourSpecification::declaration() const { return *IFC4X1_IfcColourSpecification_type; } @@ -12632,7 +12632,7 @@ Ifc4x1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::str // Function implementations for IfcColumn boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > Ifc4x1::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcColumn::declaration() const { return *IFC4X1_IfcColumn_type; } @@ -12660,7 +12660,7 @@ Ifc4x1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x1::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCommunicationsAppliance::declaration() const { return *IFC4X1_IfcCommunicationsAppliance_type; } @@ -12692,11 +12692,11 @@ Ifc4x1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optio // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4x1::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x1::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > Ifc4x1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x1::IfcPropertyTemplate >(); } -void Ifc4x1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcComplexPropertyTemplate::declaration() const { return *IFC4X1_IfcComplexPropertyTemplate_type; } @@ -12743,7 +12743,7 @@ Ifc4x1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x1::IfcTransiti aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcProfileDef >(); } void Ifc4x1::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcCompositeProfileDef::declaration() const { return *IFC4X1_IfcCompositeProfileDef_type; } @@ -12753,7 +12753,7 @@ Ifc4x1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x1::IfcProfileTypeE // Function implementations for IfcCompressor boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > Ifc4x1::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCompressor::declaration() const { return *IFC4X1_IfcCompressor_type; } @@ -12773,7 +12773,7 @@ Ifc4x1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcCondenser boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > Ifc4x1::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCondenser::declaration() const { return *IFC4X1_IfcCondenser_type; } @@ -12833,11 +12833,11 @@ Ifc4x1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity( // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcConnectionPointEccentricity::declaration() const { return *IFC4X1_IfcConnectionPointEccentricity_type; } @@ -12885,17 +12885,17 @@ Ifc4x1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x1::IfcSo std::string Ifc4x1::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcConstraintEnum::Value Ifc4x1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x1::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4x1::IfcConstraint::setConstraintGrade(::Ifc4x1::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcConstraint::setCreatingActor(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x1::IfcResourceConstraintRelationship::list::ptr Ifc4x1::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X1_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -12907,7 +12907,7 @@ Ifc4x1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std:: // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x1::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcConstructionEquipmentResource::declaration() const { return *IFC4X1_IfcConstructionEquipmentResource_type; } @@ -12927,7 +12927,7 @@ Ifc4x1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceTy // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x1::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcConstructionMaterialResource::declaration() const { return *IFC4X1_IfcConstructionMaterialResource_type; } @@ -12947,7 +12947,7 @@ Ifc4x1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x1::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcConstructionProductResource::declaration() const { return *IFC4X1_IfcConstructionProductResource_type; } @@ -12969,7 +12969,7 @@ Ifc4x1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(s ::Ifc4x1::IfcResourceTime* Ifc4x1::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcResourceTime>(true); } void Ifc4x1::IfcConstructionResource::setUsage(::Ifc4x1::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x1::IfcAppliedValue >(); } -void Ifc4x1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } void Ifc4x1::IfcConstructionResource::setBaseQuantity(::Ifc4x1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12981,7 +12981,7 @@ Ifc4x1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } -void Ifc4x1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } void Ifc4x1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -12993,13 +12993,13 @@ Ifc4x1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_ // Function implementations for IfcContext boost::optional< std::string > Ifc4x1::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > Ifc4x1::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcRepresentationContext >(); } -void Ifc4x1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x1::IfcUnitAssignment* Ifc4x1::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcUnitAssignment>(true); } void Ifc4x1::IfcContext::setUnitsInContext(::Ifc4x1::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13024,7 +13024,7 @@ Ifc4x1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x1::IfcDimensiona // Function implementations for IfcControl boost::optional< std::string > Ifc4x1::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcRelAssignsToControl::list::ptr Ifc4x1::IfcControl::Controls() const { return data_->getInverse(IFC4X1_IfcRelAssignsToControl_type, 6)->as(); } @@ -13035,7 +13035,7 @@ Ifc4x1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistor // Function implementations for IfcController boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > Ifc4x1::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcController::setPredefinedType(boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcController::setPredefinedType(boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcController::declaration() const { return *IFC4X1_IfcController_type; } @@ -13078,7 +13078,7 @@ Ifc4x1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc // Function implementations for IfcCooledBeam boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > Ifc4x1::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCooledBeam::declaration() const { return *IFC4X1_IfcCooledBeam_type; } @@ -13098,7 +13098,7 @@ Ifc4x1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcCoolingTower boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > Ifc4x1::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCoolingTower::declaration() const { return *IFC4X1_IfcCoolingTower_type; } @@ -13132,11 +13132,11 @@ Ifc4x1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x1::IfcCoordinateRe std::string Ifc4x1::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x1::IfcCoordinateOperation::list::ptr Ifc4x1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X1_IfcCoordinateOperation_type, 0)->as(); } @@ -13147,11 +13147,11 @@ Ifc4x1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::string v // Function implementations for IfcCostItem boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > Ifc4x1::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > Ifc4x1::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcCostValue >(); } -void Ifc4x1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > Ifc4x1::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } -void Ifc4x1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCostItem::declaration() const { return *IFC4X1_IfcCostItem_type; } @@ -13161,13 +13161,13 @@ Ifc4x1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcCostSchedule boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > Ifc4x1::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcCostSchedule::declaration() const { return *IFC4X1_IfcCostSchedule_type; } @@ -13185,7 +13185,7 @@ Ifc4x1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost // Function implementations for IfcCovering boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > Ifc4x1::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x1::IfcRelCoversSpaces::list::ptr Ifc4x1::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X1_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x1::IfcRelCoversBldgElements::list::ptr Ifc4x1::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X1_IfcRelCoversBldgElements_type, 5)->as(); } @@ -13207,7 +13207,7 @@ Ifc4x1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x1::IfcO // Function implementations for IfcCrewResource boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > Ifc4x1::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcCrewResource::declaration() const { return *IFC4X1_IfcCrewResource_type; } @@ -13253,7 +13253,7 @@ void Ifc4x1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x1::IfcMoneta double Ifc4x1::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x1::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcLibraryInformation>(true); } void Ifc4x1::IfcCurrencyRelationship::setRateSource(::Ifc4x1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13265,7 +13265,7 @@ Ifc4x1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::s // Function implementations for IfcCurtainWall boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > Ifc4x1::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcCurtainWall::declaration() const { return *IFC4X1_IfcCurtainWall_type; } @@ -13341,7 +13341,7 @@ void Ifc4x1::IfcCurveStyle::setCurveWidth(::Ifc4x1::IfcSizeSelect* v) { {IfcWrit ::Ifc4x1::IfcColour* Ifc4x1::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcCurveStyle::setCurveColour(::Ifc4x1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x1::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcCurveStyle::declaration() const { return *IFC4X1_IfcCurveStyle_type; } @@ -13351,7 +13351,7 @@ Ifc4x1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::I // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4x1::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr Ifc4x1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcCurveStyleFontPattern >(); } void Ifc4x1::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13363,7 +13363,7 @@ Ifc4x1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_N // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x1::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x1::IfcCurveStyleFontSelect* Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveStyleFontSelect>(true); } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x1::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -13399,7 +13399,7 @@ Ifc4x1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x1::IfcAxis2Placement // Function implementations for IfcDamper boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > Ifc4x1::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcDamper::declaration() const { return *IFC4X1_IfcDamper_type; } @@ -13423,7 +13423,7 @@ void Ifc4x1::IfcDerivedProfileDef::setParentProfile(::Ifc4x1::IfcProfileDef* v) ::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x1::IfcDerivedProfileDef::setOperator(::Ifc4x1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcDerivedProfileDef::declaration() const { return *IFC4X1_IfcDerivedProfileDef_type; } @@ -13437,7 +13437,7 @@ void Ifc4x1::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x1::IfcDerivedUnitE ::Ifc4x1::IfcDerivedUnitEnum::Value Ifc4x1::IfcDerivedUnit::UnitType() const { return ::Ifc4x1::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x1::IfcDerivedUnit::setUnitType(::Ifc4x1::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcDerivedUnit::declaration() const { return *IFC4X1_IfcDerivedUnit_type; } @@ -13491,7 +13491,7 @@ Ifc4x1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionR // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x1::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcDiscreteAccessory::declaration() const { return *IFC4X1_IfcDiscreteAccessory_type; } @@ -13513,13 +13513,13 @@ Ifc4x1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Global double Ifc4x1::IfcDistanceExpression::DistanceAlong() const { double v = *data_->getArgument(0); return v; } void Ifc4x1::IfcDistanceExpression::setDistanceAlong(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x1::IfcDistanceExpression::AlongHorizontal() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcDistanceExpression::declaration() const { return *IFC4X1_IfcDistanceExpression_type; } @@ -13529,7 +13529,7 @@ Ifc4x1::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, bo // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x1::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcDistributionChamberElement::declaration() const { return *IFC4X1_IfcDistributionChamberElement_type; } @@ -13608,11 +13608,11 @@ Ifc4x1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::stri // Function implementations for IfcDistributionPort boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > Ifc4x1::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > Ifc4x1::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > Ifc4x1::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcDistributionPort::declaration() const { return *IFC4X1_IfcDistributionPort_type; } @@ -13622,9 +13622,9 @@ Ifc4x1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4x1::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > Ifc4x1::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcDistributionSystem::declaration() const { return *IFC4X1_IfcDistributionSystem_type; } @@ -13638,35 +13638,35 @@ void Ifc4x1::IfcDocumentInformation::setIdentification(std::string v) { {IfcWrit std::string Ifc4x1::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcDocumentInformation::setDocumentOwner(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > Ifc4x1::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4x1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > Ifc4x1::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4x1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4x1::IfcRelAssociatesDocument::list::ptr Ifc4x1::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X1_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x1::IfcDocumentReference::list::ptr Ifc4x1::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X1_IfcDocumentReference_type, 4)->as(); } @@ -13684,7 +13684,7 @@ void Ifc4x1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x1::I aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr Ifc4x1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcDocumentInformation >(); } void Ifc4x1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcDocumentInformationRelationship::declaration() const { return *IFC4X1_IfcDocumentInformationRelationship_type; } @@ -13694,7 +13694,7 @@ Ifc4x1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(b // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x1::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDocumentInformation>(true); } void Ifc4x1::IfcDocumentReference::setReferencedDocument(::Ifc4x1::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -13707,15 +13707,15 @@ Ifc4x1::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string // Function implementations for IfcDoor boost::optional< double > Ifc4x1::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > Ifc4x1::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > Ifc4x1::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x1::IfcDoor::setOperationType(boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x1::IfcDoor::setOperationType(boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcDoor::declaration() const { return *IFC4X1_IfcDoor_type; } @@ -13725,31 +13725,31 @@ Ifc4x1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x1::IfcDoorLiningProperties::declaration() const { return *IFC4X1_IfcDoorLiningProperties_type; } @@ -13759,11 +13759,11 @@ Ifc4x1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcDoorPanelOperationEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x1::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcDoorPanelProperties::setPanelOperation(::Ifc4x1::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x1::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } @@ -13805,9 +13805,9 @@ void Ifc4x1::IfcDoorType::setPredefinedType(::Ifc4x1::IfcDoorTypeEnum::Value v) ::Ifc4x1::IfcDoorTypeOperationEnum::Value Ifc4x1::IfcDoorType::OperationType() const { return ::Ifc4x1::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x1::IfcDoorType::setOperationType(::Ifc4x1::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x1::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcDoorType::declaration() const { return *IFC4X1_IfcDoorType_type; } @@ -13833,7 +13833,7 @@ Ifc4x1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std:: // Function implementations for IfcDuctFitting boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > Ifc4x1::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcDuctFitting::declaration() const { return *IFC4X1_IfcDuctFitting_type; } @@ -13853,7 +13853,7 @@ Ifc4x1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcDuctSegment boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > Ifc4x1::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcDuctSegment::declaration() const { return *IFC4X1_IfcDuctSegment_type; } @@ -13873,7 +13873,7 @@ Ifc4x1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > Ifc4x1::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcDuctSilencer::declaration() const { return *IFC4X1_IfcDuctSilencer_type; } @@ -13927,7 +13927,7 @@ Ifc4x1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > Ifc4x1::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElectricAppliance::declaration() const { return *IFC4X1_IfcElectricAppliance_type; } @@ -13947,7 +13947,7 @@ Ifc4x1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Global // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x1::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElectricDistributionBoard::declaration() const { return *IFC4X1_IfcElectricDistributionBoard_type; } @@ -13967,7 +13967,7 @@ Ifc4x1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std:: // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x1::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X1_IfcElectricFlowStorageDevice_type; } @@ -13987,7 +13987,7 @@ Ifc4x1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std:: // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > Ifc4x1::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElectricGenerator::declaration() const { return *IFC4X1_IfcElectricGenerator_type; } @@ -14007,7 +14007,7 @@ Ifc4x1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_Global // Function implementations for IfcElectricMotor boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > Ifc4x1::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElectricMotor::declaration() const { return *IFC4X1_IfcElectricMotor_type; } @@ -14027,7 +14027,7 @@ Ifc4x1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::If // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > Ifc4x1::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElectricTimeControl::declaration() const { return *IFC4X1_IfcElectricTimeControl_type; } @@ -14047,7 +14047,7 @@ Ifc4x1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_Gl // Function implementations for IfcElement boost::optional< std::string > Ifc4x1::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcRelFillsElement::list::ptr Ifc4x1::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X1_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x1::IfcRelConnectsElements::list::ptr Ifc4x1::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X1_IfcRelConnectsElements_type, 5)->as(); } @@ -14069,9 +14069,9 @@ Ifc4x1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistor // Function implementations for IfcElementAssembly boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > Ifc4x1::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > Ifc4x1::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcElementAssembly::declaration() const { return *IFC4X1_IfcElementAssembly_type; } @@ -14107,7 +14107,7 @@ Ifc4x1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4x1::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr Ifc4x1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } void Ifc4x1::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14119,7 +14119,7 @@ Ifc4x1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcElementType boost::optional< std::string > Ifc4x1::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcElementType::declaration() const { return *IFC4X1_IfcElementType_type; } @@ -14179,7 +14179,7 @@ Ifc4x1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string // Function implementations for IfcEngine boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > Ifc4x1::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcEngine::declaration() const { return *IFC4X1_IfcEngine_type; } @@ -14199,7 +14199,7 @@ Ifc4x1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x1::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcEvaporativeCooler::declaration() const { return *IFC4X1_IfcEvaporativeCooler_type; } @@ -14219,7 +14219,7 @@ Ifc4x1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_Global // Function implementations for IfcEvaporator boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > Ifc4x1::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcEvaporator::declaration() const { return *IFC4X1_IfcEvaporator_type; } @@ -14239,11 +14239,11 @@ Ifc4x1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcEvent boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > Ifc4x1::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > Ifc4x1::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x1::IfcEventTime* Ifc4x1::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcEventTime>(true); } void Ifc4x1::IfcEvent::setEventOccurenceTime(::Ifc4x1::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14255,13 +14255,13 @@ Ifc4x1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v // Function implementations for IfcEventTime boost::optional< std::string > Ifc4x1::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcEventTime::declaration() const { return *IFC4X1_IfcEventTime_type; } @@ -14275,7 +14275,7 @@ void Ifc4x1::IfcEventType::setPredefinedType(::Ifc4x1::IfcEventTypeEnum::Value v ::Ifc4x1::IfcEventTriggerTypeEnum::Value Ifc4x1::IfcEventType::EventTriggerType() const { return ::Ifc4x1::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x1::IfcEventType::setEventTriggerType(::Ifc4x1::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x1::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x1::IfcEventType::declaration() const { return *IFC4X1_IfcEventType_type; } @@ -14285,9 +14285,9 @@ Ifc4x1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4x1::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcProperty >(); } void Ifc4x1::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x1::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -14307,11 +14307,11 @@ Ifc4x1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntit // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4x1::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -14334,7 +14334,7 @@ Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x1::IfcRelSpaceBoundary::list::ptr Ifc4x1::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X1_IfcRelSpaceBoundary_type, 4)->as(); } @@ -14470,17 +14470,17 @@ Ifc4x1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x1::IfcClosedShel // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcFailureConnectionCondition::declaration() const { return *IFC4X1_IfcFailureConnectionCondition_type; } @@ -14490,7 +14490,7 @@ Ifc4x1::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::opti // Function implementations for IfcFan boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > Ifc4x1::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFan::declaration() const { return *IFC4X1_IfcFan_type; } @@ -14510,7 +14510,7 @@ Ifc4x1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistor // Function implementations for IfcFastener boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > Ifc4x1::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFastener::declaration() const { return *IFC4X1_IfcFastener_type; } @@ -14558,7 +14558,7 @@ Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v aggregate_of_instance::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x1::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::declaration() const { return *IFC4X1_IfcFillAreaStyle_type; } @@ -14600,7 +14600,7 @@ Ifc4x1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x1::Ifc // Function implementations for IfcFilter boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > Ifc4x1::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFilter::declaration() const { return *IFC4X1_IfcFilter_type; } @@ -14620,7 +14620,7 @@ Ifc4x1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x1::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFireSuppressionTerminal::declaration() const { return *IFC4X1_IfcFireSuppressionTerminal_type; } @@ -14642,9 +14642,9 @@ Ifc4x1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::stri ::Ifc4x1::IfcCurve* Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcDirection* Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14688,7 +14688,7 @@ Ifc4x1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > Ifc4x1::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFlowInstrument::declaration() const { return *IFC4X1_IfcFlowInstrument_type; } @@ -14708,7 +14708,7 @@ Ifc4x1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, :: // Function implementations for IfcFlowMeter boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > Ifc4x1::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFlowMeter::declaration() const { return *IFC4X1_IfcFlowMeter_type; } @@ -14808,7 +14808,7 @@ Ifc4x1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_Gl // Function implementations for IfcFooting boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > Ifc4x1::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFooting::declaration() const { return *IFC4X1_IfcFooting_type; } @@ -14844,7 +14844,7 @@ Ifc4x1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Global // Function implementations for IfcFurniture boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcFurniture::declaration() const { return *IFC4X1_IfcFurniture_type; } @@ -14856,7 +14856,7 @@ Ifc4x1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi ::Ifc4x1::IfcAssemblyPlaceEnum::Value Ifc4x1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcFurnitureType::setAssemblyPlace(::Ifc4x1::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcFurnitureType::declaration() const { return *IFC4X1_IfcFurnitureType_type; } @@ -14866,7 +14866,7 @@ Ifc4x1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x1::If // Function implementations for IfcGeographicElement boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > Ifc4x1::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcGeographicElement::declaration() const { return *IFC4X1_IfcGeographicElement_type; } @@ -14896,7 +14896,7 @@ Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1 int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x1::IfcDirection* Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDirection>(true); } @@ -14922,11 +14922,11 @@ Ifc4x1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRe ::Ifc4x1::IfcGeometricRepresentationContext* Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcGeometricRepresentationContext>(true); } void Ifc4x1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x1::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcGeometricProjectionEnum::Value Ifc4x1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x1::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x1::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X1_IfcGeometricRepresentationSubContext_type; } @@ -14950,9 +14950,9 @@ void Ifc4x1::IfcGrid::setUAxes(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v) { { aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x1::IfcGridAxis >(); } void Ifc4x1::IfcGrid::setVAxes(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > Ifc4x1::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x1::IfcGridAxis >(); } -void Ifc4x1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > Ifc4x1::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcGrid::declaration() const { return *IFC4X1_IfcGrid_type; } @@ -14962,7 +14962,7 @@ Ifc4x1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x1::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x1::IfcCurve* Ifc4x1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcGridAxis::setAxisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x1::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -15013,7 +15013,7 @@ Ifc4x1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x1::IfcSurface* v1_BaseSurfac // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > Ifc4x1::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcHeatExchanger::declaration() const { return *IFC4X1_IfcHeatExchanger_type; } @@ -15033,7 +15033,7 @@ Ifc4x1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::If // Function implementations for IfcHumidifier boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > Ifc4x1::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcHumidifier::declaration() const { return *IFC4X1_IfcHumidifier_type; } @@ -15061,11 +15061,11 @@ void Ifc4x1::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x1::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcIShapeProfileDef::declaration() const { return *IFC4X1_IfcIShapeProfileDef_type; } @@ -15087,7 +15087,7 @@ Ifc4x1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost ::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } void Ifc4x1::IfcIndexedColourMap::setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x1::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcColourRgbList* Ifc4x1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourRgbList>(true); } void Ifc4x1::IfcIndexedColourMap::setColours(::Ifc4x1::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -15103,9 +15103,9 @@ Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x1::IfcTessellatedFaceSet ::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList>(true); } void Ifc4x1::IfcIndexedPolyCurve::setPoints(::Ifc4x1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::declaration() const { return *IFC4X1_IfcIndexedPolyCurve_type; } @@ -15148,7 +15148,7 @@ Ifc4x1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x1::IfcSu // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4x1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X1_IfcIndexedTriangleTextureMap_type; } @@ -15158,7 +15158,7 @@ Ifc4x1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< // Function implementations for IfcInterceptor boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > Ifc4x1::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcInterceptor::declaration() const { return *IFC4X1_IfcInterceptor_type; } @@ -15186,13 +15186,13 @@ Ifc4x1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x1::IfcCurve* v1_Curve3 // Function implementations for IfcInventory boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > Ifc4x1::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x1::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcInventory::setJurisdiction(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcPerson >(); } -void Ifc4x1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcInventory::setCurrentValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcCostValue>(true); } @@ -15228,7 +15228,7 @@ Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_ // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > Ifc4x1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcJunctionBox::declaration() const { return *IFC4X1_IfcJunctionBox_type; } @@ -15250,15 +15250,15 @@ Ifc4x1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x1 double Ifc4x1::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4x1::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x1::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcLShapeProfileDef::declaration() const { return *IFC4X1_IfcLShapeProfileDef_type; } @@ -15268,7 +15268,7 @@ Ifc4x1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::V // Function implementations for IfcLaborResource boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > Ifc4x1::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcLaborResource::declaration() const { return *IFC4X1_IfcLaborResource_type; } @@ -15300,7 +15300,7 @@ Ifc4x1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::op // Function implementations for IfcLamp boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > Ifc4x1::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcLamp::declaration() const { return *IFC4X1_IfcLamp_type; } @@ -15322,15 +15322,15 @@ Ifc4x1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist std::string Ifc4x1::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcActorSelect* Ifc4x1::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcLibraryInformation::setPublisher(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcRelAssociatesLibrary::list::ptr Ifc4x1::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X1_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x1::IfcLibraryReference::list::ptr Ifc4x1::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X1_IfcLibraryReference_type, 5)->as(); } @@ -15342,9 +15342,9 @@ Ifc4x1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost: // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4x1::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibraryInformation>(true); } void Ifc4x1::IfcLibraryReference::setReferencedLibrary(::Ifc4x1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15371,7 +15371,7 @@ Ifc4x1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAn // Function implementations for IfcLightFixture boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > Ifc4x1::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcLightFixture::declaration() const { return *IFC4X1_IfcLightFixture_type; } @@ -15403,13 +15403,13 @@ Ifc4x1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x1::I // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x1::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcLightSource::setLightColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcLightSource::declaration() const { return *IFC4X1_IfcLightSource_type; } @@ -15477,7 +15477,7 @@ Ifc4x1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std: ::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcLightSourceSpot::setOrientation(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4x1::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x1::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4x1::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -15573,11 +15573,11 @@ void Ifc4x1::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteArgum double Ifc4x1::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x1::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcMapConversion::declaration() const { return *IFC4X1_IfcMapConversion_type; } @@ -15601,9 +15601,9 @@ Ifc4x1::IfcMappedItem::IfcMappedItem(::Ifc4x1::IfcRepresentationMap* v1_MappingS std::string Ifc4x1::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x1::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X1_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x1::IfcMaterialRelationship::list::ptr Ifc4x1::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X1_IfcMaterialRelationship_type, 3)->as(); } @@ -15628,15 +15628,15 @@ Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelation // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialConstituent::setMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcMaterialConstituentSet::list::ptr Ifc4x1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X1_IfcMaterialConstituentSet_type, 2)->as(); } @@ -15647,11 +15647,11 @@ Ifc4x1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::str // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > Ifc4x1::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcMaterialConstituent >(); } -void Ifc4x1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcMaterialConstituentSet::declaration() const { return *IFC4X1_IfcMaterialConstituentSet_type; } @@ -15686,15 +15686,15 @@ void Ifc4x1::IfcMaterialLayer::setMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite double Ifc4x1::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4x1::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x1::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcMaterialLayerSet::list::ptr Ifc4x1::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X1_IfcMaterialLayerSet_type, 0)->as(); } @@ -15707,9 +15707,9 @@ Ifc4x1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x1::IfcMaterial* v1_Material, d aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr Ifc4x1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcMaterialLayer >(); } void Ifc4x1::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcMaterialLayerSet::declaration() const { return *IFC4X1_IfcMaterialLayerSet_type; } @@ -15727,7 +15727,7 @@ void Ifc4x1::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x1::IfcDirectionS double Ifc4x1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X1_IfcMaterialLayerSetUsage_type; } @@ -15759,17 +15759,17 @@ Ifc4x1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x1::IfcMaterial >:: // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialProfile::setMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x1::IfcProfileDef* Ifc4x1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcMaterialProfile::setProfile(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcMaterialProfileSet::list::ptr Ifc4x1::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X1_IfcMaterialProfileSet_type, 2)->as(); } @@ -15780,9 +15780,9 @@ Ifc4x1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1 // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr Ifc4x1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcMaterialProfile >(); } void Ifc4x1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x1::IfcCompositeProfileDef* Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCompositeProfileDef>(true); } @@ -15798,9 +15798,9 @@ Ifc4x1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::strin ::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } void Ifc4x1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X1_IfcMaterialProfileSetUsage_type; } @@ -15812,7 +15812,7 @@ Ifc4x1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x1::IfcMate ::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X1_IfcMaterialProfileSetUsageTapering_type; } @@ -15846,7 +15846,7 @@ void Ifc4x1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x1::IfcMaterial* aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Ifc4x1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcMaterial >(); } void Ifc4x1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcMaterialRelationship::declaration() const { return *IFC4X1_IfcMaterialRelationship_type; } @@ -15877,11 +15877,11 @@ Ifc4x1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x1::IfcValue* v1_ValueCompo // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4x1::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x1::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcMechanicalFastener::declaration() const { return *IFC4X1_IfcMechanicalFastener_type; } @@ -15893,9 +15893,9 @@ Ifc4x1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, :: ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value Ifc4x1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x1::IfcMechanicalFastenerType::declaration() const { return *IFC4X1_IfcMechanicalFastenerType_type; } @@ -15905,7 +15905,7 @@ Ifc4x1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_Glob // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > Ifc4x1::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcMedicalDevice::declaration() const { return *IFC4X1_IfcMedicalDevice_type; } @@ -15925,7 +15925,7 @@ Ifc4x1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::If // Function implementations for IfcMember boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > Ifc4x1::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcMember::declaration() const { return *IFC4X1_IfcMember_type; } @@ -15955,7 +15955,7 @@ Ifc4x1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner ::Ifc4x1::IfcBenchmarkEnum::Value Ifc4x1::IfcMetric::Benchmark() const { return ::Ifc4x1::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcMetric::setBenchmark(::Ifc4x1::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x1::IfcMetricValueSelect* Ifc4x1::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcMetricValueSelect>(true); } void Ifc4x1::IfcMetric::setDataValue(::Ifc4x1::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x1::IfcReference* Ifc4x1::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcReference>(true); } @@ -15987,7 +15987,7 @@ Ifc4x1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::Ifc // Function implementations for IfcMotorConnection boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > Ifc4x1::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcMotorConnection::declaration() const { return *IFC4X1_IfcMotorConnection_type; } @@ -16019,7 +16019,7 @@ Ifc4x1::IfcNamedUnit::IfcNamedUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensi // Function implementations for IfcObject boost::optional< std::string > Ifc4x1::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcRelDefinesByObject::list::ptr Ifc4x1::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X1_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x1::IfcRelDefinesByObject::list::ptr Ifc4x1::IfcObject::Declares() const { return data_->getInverse(IFC4X1_IfcRelDefinesByObject_type, 5)->as(); } @@ -16058,13 +16058,13 @@ Ifc4x1::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() {dat // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > Ifc4x1::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcConstraint >(); } -void Ifc4x1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > Ifc4x1::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x1::IfcObjectiveEnum::Value Ifc4x1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x1::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcObjective::setObjectiveQualifier(::Ifc4x1::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcObjective::declaration() const { return *IFC4X1_IfcObjective_type; } @@ -16074,7 +16074,7 @@ Ifc4x1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::st // Function implementations for IfcOccupant boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > Ifc4x1::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcOccupant::declaration() const { return *IFC4X1_IfcOccupant_type; } @@ -16122,7 +16122,7 @@ Ifc4x1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x1::IfcCurve* v1_BasisCurve, do aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr Ifc4x1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcDistanceExpression >(); } void Ifc4x1::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcOffsetCurveByDistances::declaration() const { return *IFC4X1_IfcOffsetCurveByDistances_type; } @@ -16140,7 +16140,7 @@ Ifc4x1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_Cfs // Function implementations for IfcOpeningElement boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > Ifc4x1::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x1::IfcRelFillsElement::list::ptr Ifc4x1::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X1_IfcRelFillsElement_type, 4)->as(); } @@ -16159,15 +16159,15 @@ Ifc4x1::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, // Function implementations for IfcOrganization boost::optional< std::string > Ifc4x1::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4x1::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcActorRole >(); } -void Ifc4x1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4x1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > Ifc4x1::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcAddress >(); } -void Ifc4x1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4x1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4x1::IfcOrganizationRelationship::list::ptr Ifc4x1::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X1_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x1::IfcOrganizationRelationship::list::ptr Ifc4x1::IfcOrganization::Relates() const { return data_->getInverse(IFC4X1_IfcOrganizationRelationship_type, 2)->as(); } @@ -16224,7 +16224,7 @@ Ifc4x1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x1::Ifc // Function implementations for IfcOutlet boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > Ifc4x1::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcOutlet::declaration() const { return *IFC4X1_IfcOutlet_type; } @@ -16248,11 +16248,11 @@ void Ifc4x1::IfcOwnerHistory::setOwningUser(::Ifc4x1::IfcPersonAndOrganization* ::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcApplication>(true); } void Ifc4x1::IfcOwnerHistory::setOwningApplication(::Ifc4x1::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > Ifc4x1::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x1::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } void Ifc4x1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x1::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcApplication>(true); } @@ -16302,7 +16302,7 @@ Ifc4x1::IfcPcurve::IfcPcurve(::Ifc4x1::IfcSurface* v1_BasisSurface, ::Ifc4x1::If std::string Ifc4x1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x1::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x1::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcPerformanceHistory::declaration() const { return *IFC4X1_IfcPerformanceHistory_type; } @@ -16316,9 +16316,9 @@ void Ifc4x1::IfcPermeableCoveringProperties::setOperationType(::Ifc4x1::IfcPerme ::Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x1::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x1::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16330,11 +16330,11 @@ Ifc4x1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::stri // Function implementations for IfcPermit boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > Ifc4x1::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcPermit::declaration() const { return *IFC4X1_IfcPermit_type; } @@ -16344,21 +16344,21 @@ Ifc4x1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* // Function implementations for IfcPerson boost::optional< std::string > Ifc4x1::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x1::IfcActorRole >(); } -void Ifc4x1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > Ifc4x1::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcAddress >(); } -void Ifc4x1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x1::IfcPersonAndOrganization::list::ptr Ifc4x1::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X1_IfcPersonAndOrganization_type, 0)->as(); } @@ -16373,7 +16373,7 @@ void Ifc4x1::IfcPersonAndOrganization::setThePerson(::Ifc4x1::IfcPerson* v) { {I ::Ifc4x1::IfcOrganization* Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcActorRole >(); } -void Ifc4x1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcPersonAndOrganization::declaration() const { return *IFC4X1_IfcPersonAndOrganization_type; } @@ -16387,9 +16387,9 @@ void Ifc4x1::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x1 std::string Ifc4x1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X1_IfcPhysicalComplexQuantity_type; } @@ -16401,7 +16401,7 @@ Ifc4x1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Na std::string Ifc4x1::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x1::IfcPhysicalComplexQuantity::list::ptr Ifc4x1::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X1_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -16423,9 +16423,9 @@ Ifc4x1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name // Function implementations for IfcPile boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > Ifc4x1::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > Ifc4x1::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcPile::setConstructionType(boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcPile::setConstructionType(boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcPile::declaration() const { return *IFC4X1_IfcPile_type; } @@ -16445,7 +16445,7 @@ Ifc4x1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcPipeFitting boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > Ifc4x1::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcPipeFitting::declaration() const { return *IFC4X1_IfcPipeFitting_type; } @@ -16465,7 +16465,7 @@ Ifc4x1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcPipeSegment boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > Ifc4x1::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcPipeSegment::declaration() const { return *IFC4X1_IfcPipeSegment_type; } @@ -16541,7 +16541,7 @@ Ifc4x1::IfcPlane::IfcPlane(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcElem // Function implementations for IfcPlate boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > Ifc4x1::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcPlate::declaration() const { return *IFC4X1_IfcPlate_type; } @@ -16625,11 +16625,11 @@ Ifc4x1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x1::Ifc // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4x1::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr Ifc4x1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcIndexedPolygonalFace >(); } void Ifc4x1::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcPolygonalFaceSet::declaration() const { return *IFC4X1_IfcPolygonalFaceSet_type; } @@ -16669,19 +16669,19 @@ Ifc4x1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, :: // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4x1::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcPostalAddress::declaration() const { return *IFC4X1_IfcPostalAddress_type; } @@ -16751,11 +16751,11 @@ Ifc4x1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() {d std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X1_IfcPresentationLayerAssignment_type; } @@ -16781,7 +16781,7 @@ Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcPresentationStyle::declaration() const { return *IFC4X1_IfcPresentationStyle_type; } @@ -16801,7 +16801,7 @@ Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate // Function implementations for IfcProcedure boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > Ifc4x1::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcProcedure::declaration() const { return *IFC4X1_IfcProcedure_type; } @@ -16821,9 +16821,9 @@ Ifc4x1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x1::If // Function implementations for IfcProcess boost::optional< std::string > Ifc4x1::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcRelSequence::list::ptr Ifc4x1::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X1_IfcRelSequence_type, 4)->as(); } ::Ifc4x1::IfcRelSequence::list::ptr Ifc4x1::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X1_IfcRelSequence_type, 5)->as(); } @@ -16859,9 +16859,9 @@ Ifc4x1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< st // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4x1::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr Ifc4x1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcRepresentation >(); } void Ifc4x1::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -16875,7 +16875,7 @@ Ifc4x1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std: ::Ifc4x1::IfcProfileTypeEnum::Value Ifc4x1::IfcProfileDef::ProfileType() const { return ::Ifc4x1::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x1::IfcProfileDef::setProfileType(::Ifc4x1::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x1::IfcProfileProperties::list::ptr Ifc4x1::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X1_IfcProfileProperties_type, 3)->as(); } @@ -16913,11 +16913,11 @@ Ifc4x1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcProjectOrder boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > Ifc4x1::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcProjectOrder::declaration() const { return *IFC4X1_IfcProjectOrder_type; } @@ -16927,9 +16927,9 @@ Ifc4x1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x1::IfcO // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcProjectedCRS::setMapUnit(::Ifc4x1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16941,7 +16941,7 @@ Ifc4x1::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optional< s // Function implementations for IfcProjectionElement boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > Ifc4x1::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcProjectionElement::declaration() const { return *IFC4X1_IfcProjectionElement_type; } @@ -16953,7 +16953,7 @@ Ifc4x1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::If std::string Ifc4x1::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcPropertySet::list::ptr Ifc4x1::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X1_IfcPropertySet_type, 4)->as(); } ::Ifc4x1::IfcPropertyDependencyRelationship::list::ptr Ifc4x1::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X1_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -17008,7 +17008,7 @@ void Ifc4x1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x1::I ::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProperty>(true); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x1::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X1_IfcPropertyDependencyRelationship_type; } @@ -17018,7 +17018,7 @@ Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boo // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17044,7 +17044,7 @@ Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggr // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17056,7 +17056,7 @@ Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::o // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcObjectReferenceSelect* Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcObjectReferenceSelect>(true); } void Ifc4x1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x1::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17089,9 +17089,9 @@ Ifc4x1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_Global // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x1::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr Ifc4x1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x1::IfcPropertyTemplate >(); } void Ifc4x1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -17116,17 +17116,17 @@ Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boos // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > Ifc4x1::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::declaration() const { return *IFC4X1_IfcPropertyTableValue_type; } @@ -17154,7 +17154,7 @@ Ifc4x1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x1::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcProtectiveDevice::declaration() const { return *IFC4X1_IfcProtectiveDevice_type; } @@ -17164,7 +17164,7 @@ Ifc4x1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X1_IfcProtectiveDeviceTrippingUnit_type; } @@ -17196,7 +17196,7 @@ Ifc4x1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId ::Ifc4x1::IfcObjectTypeEnum::Value Ifc4x1::IfcProxy::ProxyType() const { return ::Ifc4x1::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcProxy::setProxyType(::Ifc4x1::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcProxy::declaration() const { return *IFC4X1_IfcProxy_type; } @@ -17206,7 +17206,7 @@ Ifc4x1::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v // Function implementations for IfcPump boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > Ifc4x1::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcPump::declaration() const { return *IFC4X1_IfcPump_type; } @@ -17228,7 +17228,7 @@ Ifc4x1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist double Ifc4x1::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcQuantityArea::declaration() const { return *IFC4X1_IfcQuantityArea_type; } @@ -17240,7 +17240,7 @@ Ifc4x1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< s double Ifc4x1::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcQuantityCount::declaration() const { return *IFC4X1_IfcQuantityCount_type; } @@ -17252,7 +17252,7 @@ Ifc4x1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< double Ifc4x1::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcQuantityLength::declaration() const { return *IFC4X1_IfcQuantityLength_type; } @@ -17272,7 +17272,7 @@ Ifc4x1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwn double Ifc4x1::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcQuantityTime::declaration() const { return *IFC4X1_IfcQuantityTime_type; } @@ -17284,7 +17284,7 @@ Ifc4x1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< s double Ifc4x1::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcQuantityVolume::declaration() const { return *IFC4X1_IfcQuantityVolume_type; } @@ -17296,7 +17296,7 @@ Ifc4x1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optiona double Ifc4x1::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcQuantityWeight::declaration() const { return *IFC4X1_IfcQuantityWeight_type; } @@ -17306,7 +17306,7 @@ Ifc4x1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optiona // Function implementations for IfcRailing boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > Ifc4x1::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcRailing::declaration() const { return *IFC4X1_IfcRailing_type; } @@ -17326,7 +17326,7 @@ Ifc4x1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwn // Function implementations for IfcRamp boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > Ifc4x1::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcRamp::declaration() const { return *IFC4X1_IfcRamp_type; } @@ -17336,7 +17336,7 @@ Ifc4x1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ // Function implementations for IfcRampFlight boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > Ifc4x1::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcRampFlight::declaration() const { return *IFC4X1_IfcRampFlight_type; } @@ -17388,9 +17388,9 @@ Ifc4x1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(i double Ifc4x1::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x1::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X1_IfcRectangleHollowProfileDef_type; } @@ -17450,19 +17450,19 @@ Ifc4x1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x1::Ifc ::Ifc4x1::IfcRecurrenceTypeEnum::Value Ifc4x1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x1::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x1::IfcRecurrencePattern::setRecurrenceType(::Ifc4x1::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4x1::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x1::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcTimePeriod >::ptr > Ifc4x1::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcTimePeriod >(); } -void Ifc4x1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x1::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x1::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcRecurrencePattern::declaration() const { return *IFC4X1_IfcRecurrencePattern_type; } @@ -17472,13 +17472,13 @@ Ifc4x1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x1::IfcRecurrenceTypeEn // Function implementations for IfcReference boost::optional< std::string > Ifc4x1::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x1::IfcReference* Ifc4x1::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcReference::setInnerReference(::Ifc4x1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17490,9 +17490,9 @@ Ifc4x1::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIdentif // Function implementations for IfcReferent boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > Ifc4x1::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReferentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcReferent::declaration() const { return *IFC4X1_IfcReferent_type; } @@ -17518,13 +17518,13 @@ void Ifc4x1::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { std::string Ifc4x1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcementBarProperties::declaration() const { return *IFC4X1_IfcReinforcementBarProperties_type; } @@ -17534,7 +17534,7 @@ Ifc4x1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_T // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4x1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr Ifc4x1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcSectionReinforcementProperties >(); } void Ifc4x1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17546,15 +17546,15 @@ Ifc4x1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperti // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4x1::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > Ifc4x1::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingBar::declaration() const { return *IFC4X1_IfcReinforcingBar_type; } @@ -17566,17 +17566,17 @@ Ifc4x1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x1:: ::Ifc4x1::IfcReinforcingBarTypeEnum::Value Ifc4x1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcReinforcingBarType::setPredefinedType(::Ifc4x1::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::declaration() const { return *IFC4X1_IfcReinforcingBarType_type; } @@ -17586,7 +17586,7 @@ Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, :: // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingElement::declaration() const { return *IFC4X1_IfcReinforcingElement_type; } @@ -17604,23 +17604,23 @@ Ifc4x1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_Glob // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4x1::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > Ifc4x1::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4x1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingMesh::declaration() const { return *IFC4X1_IfcReinforcingMesh_type; } @@ -17632,25 +17632,25 @@ Ifc4x1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x1 ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value Ifc4x1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcReinforcingMeshType::setPredefinedType(::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::declaration() const { return *IFC4X1_IfcReinforcingMeshType_type; } @@ -17674,7 +17674,7 @@ Ifc4x1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x1::If aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > Ifc4x1::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x1::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x1::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x1::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcRelAssigns::declaration() const { return *IFC4X1_IfcRelAssigns_type; } @@ -17788,7 +17788,7 @@ Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::stri // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcConstraint* Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17914,7 +17914,7 @@ void Ifc4x1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x1::IfcBo ::Ifc4x1::IfcStructuralConnectionCondition* Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcStructuralConnectionCondition>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x1::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17938,7 +17938,7 @@ Ifc4x1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::stri aggregate_of< ::Ifc4x1::IfcElement >::ptr Ifc4x1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcElement >(); } void Ifc4x1::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x1::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X1_IfcRelConnectsWithRealizingElements_type; } @@ -18090,7 +18090,7 @@ void Ifc4x1::IfcRelInterferesElements::setRelatedElement(::Ifc4x1::IfcElement* v ::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4x1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4x1::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18144,9 +18144,9 @@ void Ifc4x1::IfcRelSequence::setRelatedProcess(::Ifc4x1::IfcProcess* v) { {IfcWr ::Ifc4x1::IfcLagTime* Ifc4x1::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcLagTime>(true); } void Ifc4x1::IfcRelSequence::setTimeLag(::Ifc4x1::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > Ifc4x1::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcRelSequence::declaration() const { return *IFC4X1_IfcRelSequence_type; } @@ -18240,9 +18240,9 @@ Ifc4x1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveS ::Ifc4x1::IfcRepresentationContext* Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationContext>(true); } void Ifc4x1::IfcRepresentation::setContextOfItems(::Ifc4x1::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr Ifc4x1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcRepresentationItem >(); } void Ifc4x1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18257,9 +18257,9 @@ Ifc4x1::IfcRepresentation::IfcRepresentation(::Ifc4x1::IfcRepresentationContext* // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x1::IfcRepresentation::list::ptr Ifc4x1::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X1_IfcRepresentation_type, 0)->as(); } @@ -18294,9 +18294,9 @@ Ifc4x1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x1::IfcAxis2Placement* // Function implementations for IfcResource boost::optional< std::string > Ifc4x1::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcRelAssignsToResource::list::ptr Ifc4x1::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X1_IfcRelAssignsToResource_type, 6)->as(); } @@ -18331,9 +18331,9 @@ Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boo // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcResourceLevelRelationship::declaration() const { return *IFC4X1_IfcResourceLevelRelationship_type; } @@ -18343,35 +18343,35 @@ Ifc4x1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::option // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4x1::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x1::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x1::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x1::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x1::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x1::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x1::IfcResourceTime::declaration() const { return *IFC4X1_IfcResourceTime_type; } @@ -18427,7 +18427,7 @@ Ifc4x1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x1::IfcAxis2Pla // Function implementations for IfcRoof boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > Ifc4x1::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcRoof::declaration() const { return *IFC4X1_IfcRoof_type; } @@ -18451,9 +18451,9 @@ void Ifc4x1::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* ::Ifc4x1::IfcOwnerHistory* Ifc4x1::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcOwnerHistory>(true); } void Ifc4x1::IfcRoot::setOwnerHistory(::Ifc4x1::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcRoot::declaration() const { return *IFC4X1_IfcRoot_type; } @@ -18473,7 +18473,7 @@ Ifc4x1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x1::I // Function implementations for IfcSIUnit boost::optional< ::Ifc4x1::IfcSIPrefix::Value > Ifc4x1::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x1::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x1::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4x1::IfcSIUnitName::Value Ifc4x1::IfcSIUnit::Name() const { return ::Ifc4x1::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x1::IfcSIUnit::setName(::Ifc4x1::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -18485,7 +18485,7 @@ Ifc4x1::IfcSIUnit::IfcSIUnit(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, boost::op // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x1::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSanitaryTerminal::declaration() const { return *IFC4X1_IfcSanitaryTerminal_type; } @@ -18505,11 +18505,11 @@ Ifc4x1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4x1::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > Ifc4x1::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x1::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4x1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcSchedulingTime::declaration() const { return *IFC4X1_IfcSchedulingTime_type; } @@ -18545,7 +18545,7 @@ void Ifc4x1::IfcSectionReinforcementProperties::setLongitudinalStartPosition(dou double Ifc4x1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x1::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x1::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4x1::IfcSectionProperties* Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSectionProperties>(true); } @@ -18599,7 +18599,7 @@ Ifc4x1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x1::IfcCompositeCurve* v1_Spi // Function implementations for IfcSensor boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > Ifc4x1::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSensor::declaration() const { return *IFC4X1_IfcSensor_type; } @@ -18619,7 +18619,7 @@ Ifc4x1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcShadingDevice boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > Ifc4x1::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcShadingDevice::declaration() const { return *IFC4X1_IfcShadingDevice_type; } @@ -18641,9 +18641,9 @@ Ifc4x1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::If aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr Ifc4x1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x1::IfcShapeModel >(); } void Ifc4x1::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcProductRepresentationSelect* Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProductRepresentationSelect>(true); } @@ -18693,11 +18693,11 @@ Ifc4x1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optiona // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcUnit>(true); } @@ -18705,9 +18705,9 @@ void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x1::IfcUnit* v) { { ::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x1::IfcSimplePropertyTemplate::declaration() const { return *IFC4X1_IfcSimplePropertyTemplate_type; } @@ -18717,13 +18717,13 @@ Ifc4x1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_Glob // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x1::IfcPostalAddress>(true); } void Ifc4x1::IfcSite::setSiteAddress(::Ifc4x1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -18735,7 +18735,7 @@ Ifc4x1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ // Function implementations for IfcSlab boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > Ifc4x1::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSlab::declaration() const { return *IFC4X1_IfcSlab_type; } @@ -18771,11 +18771,11 @@ Ifc4x1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcSlippageConnectionCondition::declaration() const { return *IFC4X1_IfcSlippageConnectionCondition_type; } @@ -18785,7 +18785,7 @@ Ifc4x1::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::op // Function implementations for IfcSolarDevice boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > Ifc4x1::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSolarDevice::declaration() const { return *IFC4X1_IfcSolarDevice_type; } @@ -18813,9 +18813,9 @@ Ifc4x1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcEnti // Function implementations for IfcSpace boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > Ifc4x1::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x1::IfcRelCoversSpaces::list::ptr Ifc4x1::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X1_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x1::IfcRelSpaceBoundary::list::ptr Ifc4x1::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X1_IfcRelSpaceBoundary_type, 4)->as(); } @@ -18827,7 +18827,7 @@ Ifc4x1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > Ifc4x1::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSpaceHeater::declaration() const { return *IFC4X1_IfcSpaceHeater_type; } @@ -18849,7 +18849,7 @@ Ifc4x1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x1 ::Ifc4x1::IfcSpaceTypeEnum::Value Ifc4x1::IfcSpaceType::PredefinedType() const { return ::Ifc4x1::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcSpaceType::setPredefinedType(::Ifc4x1::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcSpaceType::declaration() const { return *IFC4X1_IfcSpaceType_type; } @@ -18859,7 +18859,7 @@ Ifc4x1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4x1::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x1::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X1_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x1::IfcRelServicesBuildings::list::ptr Ifc4x1::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X1_IfcRelServicesBuildings_type, 5)->as(); } @@ -18872,7 +18872,7 @@ Ifc4x1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4x1::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSpatialElementType::declaration() const { return *IFC4X1_IfcSpatialElementType_type; } @@ -18882,7 +18882,7 @@ Ifc4x1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, :: // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > Ifc4x1::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSpatialStructureElement::declaration() const { return *IFC4X1_IfcSpatialStructureElement_type; } @@ -18900,7 +18900,7 @@ Ifc4x1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::stri // Function implementations for IfcSpatialZone boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > Ifc4x1::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSpatialZone::declaration() const { return *IFC4X1_IfcSpatialZone_type; } @@ -18912,7 +18912,7 @@ Ifc4x1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x1::IfcOwn ::Ifc4x1::IfcSpatialZoneTypeEnum::Value Ifc4x1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcSpatialZoneType::setPredefinedType(::Ifc4x1::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcSpatialZoneType::declaration() const { return *IFC4X1_IfcSpatialZoneType_type; } @@ -18942,7 +18942,7 @@ Ifc4x1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x1::IfcAxis2Placement3D* // Function implementations for IfcStackTerminal boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > Ifc4x1::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcStackTerminal::declaration() const { return *IFC4X1_IfcStackTerminal_type; } @@ -18962,7 +18962,7 @@ Ifc4x1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcStair boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > Ifc4x1::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcStair::declaration() const { return *IFC4X1_IfcStair_type; } @@ -18972,15 +18972,15 @@ Ifc4x1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v // Function implementations for IfcStairFlight boost::optional< int > Ifc4x1::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4x1::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > Ifc4x1::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x1::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcStairFlight::declaration() const { return *IFC4X1_IfcStairFlight_type; } @@ -19010,7 +19010,7 @@ Ifc4x1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4x1::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralAction::declaration() const { return *IFC4X1_IfcStructuralAction_type; } @@ -19037,9 +19037,9 @@ void Ifc4x1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x1::IfcAnalysis ::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcStructuralLoadGroup >(); } -void Ifc4x1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x1::IfcStructuralResultGroup >(); } -void Ifc4x1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -19062,7 +19062,7 @@ Ifc4x1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4x1::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralConnectionCondition::declaration() const { return *IFC4X1_IfcStructuralConnectionCondition_type; } @@ -19072,7 +19072,7 @@ Ifc4x1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x1::IfcStructuralCurveAction::setPredefinedType(::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -19141,7 +19141,7 @@ Ifc4x1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_Glob // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4x1::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoad::declaration() const { return *IFC4X1_IfcStructuralLoad_type; } @@ -19151,7 +19151,7 @@ Ifc4x1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_N // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadCase::declaration() const { return *IFC4X1_IfcStructuralLoadCase_type; } @@ -19163,7 +19163,7 @@ Ifc4x1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, :: aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr Ifc4x1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcStructuralLoadOrResult >(); } void Ifc4x1::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4x1::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X1_IfcStructuralLoadConfiguration_type; } @@ -19179,9 +19179,9 @@ void Ifc4x1::IfcStructuralLoadGroup::setActionType(::Ifc4x1::IfcActionTypeEnum:: ::Ifc4x1::IfcActionSourceTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x1::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcStructuralLoadGroup::setActionSource(::Ifc4x1::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x1::IfcStructuralResultGroup::list::ptr Ifc4x1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X1_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x1::IfcStructuralAnalysisModel::list::ptr Ifc4x1::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X1_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -19193,17 +19193,17 @@ Ifc4x1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X1_IfcStructuralLoadLinearForce_type; } @@ -19221,11 +19221,11 @@ Ifc4x1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< st // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X1_IfcStructuralLoadPlanarForce_type; } @@ -19235,17 +19235,17 @@ Ifc4x1::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::option // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X1_IfcStructuralLoadSingleDisplacement_type; } @@ -19255,7 +19255,7 @@ Ifc4x1::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X1_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -19265,17 +19265,17 @@ Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDi // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X1_IfcStructuralLoadSingleForce_type; } @@ -19285,7 +19285,7 @@ Ifc4x1::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::option // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X1_IfcStructuralLoadSingleForceWarping_type; } @@ -19303,11 +19303,11 @@ Ifc4x1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::s // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadTemperature::declaration() const { return *IFC4X1_IfcStructuralLoadTemperature_type; } @@ -19383,7 +19383,7 @@ Ifc4x1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Global // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x1::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -19405,7 +19405,7 @@ Ifc4x1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::stri ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceMember::declaration() const { return *IFC4X1_IfcStructuralSurfaceMember_type; } @@ -19445,7 +19445,7 @@ void Ifc4x1::IfcStyledItem::setItem(::Ifc4x1::IfcRepresentationItem* v) { {IfcWr aggregate_of_instance::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x1::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcStyledItem::declaration() const { return *IFC4X1_IfcStyledItem_type; } @@ -19463,7 +19463,7 @@ Ifc4x1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x1::IfcRepresenta // Function implementations for IfcSubContractResource boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > Ifc4x1::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcSubContractResource::declaration() const { return *IFC4X1_IfcSubContractResource_type; } @@ -19517,9 +19517,9 @@ Ifc4x1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggrega ::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcSurface* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19531,7 +19531,7 @@ Ifc4x1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x1::I // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x1::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSurfaceFeature::declaration() const { return *IFC4X1_IfcSurfaceFeature_type; } @@ -19563,11 +19563,11 @@ Ifc4x1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x1::IfcProfileDef* // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x1::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X1_IfcSurfaceReinforcementArea_type; } @@ -19605,9 +19605,9 @@ Ifc4x1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x1::IfcColourRgb* // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X1_IfcSurfaceStyleRefraction_type; } @@ -19641,7 +19641,7 @@ Ifc4x1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x1::IfcColourRg ::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleShading::declaration() const { return *IFC4X1_IfcSurfaceStyleShading_type; } @@ -19665,11 +19665,11 @@ void Ifc4x1::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgument bool Ifc4x1::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x1::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x1::IfcSurfaceTexture::setTextureTransform(::Ifc4x1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcTextureCoordinate::list::ptr Ifc4x1::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X1_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x1::IfcSurfaceStyleWithTextures::list::ptr Ifc4x1::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X1_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -19697,11 +19697,11 @@ void Ifc4x1::IfcSweptDiskSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite: double Ifc4x1::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcSweptDiskSolid::declaration() const { return *IFC4X1_IfcSweptDiskSolid_type; } @@ -19711,7 +19711,7 @@ Ifc4x1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x1::IfcCurve* v1_Directrix, d // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4x1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X1_IfcSweptDiskSolidPolygonal_type; } @@ -19733,7 +19733,7 @@ Ifc4x1::IfcSweptSurface::IfcSweptSurface(::Ifc4x1::IfcProfileDef* v1_SweptCurve, // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x1::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSwitchingDevice::declaration() const { return *IFC4X1_IfcSwitchingDevice_type; } @@ -19762,7 +19762,7 @@ Ifc4x1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcSystemFurnitureElement::declaration() const { return *IFC4X1_IfcSystemFurnitureElement_type; } @@ -19772,7 +19772,7 @@ Ifc4x1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_Glob // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcSystemFurnitureElementType::declaration() const { return *IFC4X1_IfcSystemFurnitureElementType_type; } @@ -19790,15 +19790,15 @@ void Ifc4x1::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x1::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x1::IfcTShapeProfileDef::declaration() const { return *IFC4X1_IfcTShapeProfileDef_type; } @@ -19808,11 +19808,11 @@ Ifc4x1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::V // Function implementations for IfcTable boost::optional< std::string > Ifc4x1::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > Ifc4x1::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcTableRow >(); } -void Ifc4x1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > Ifc4x1::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcTableColumn >(); } -void Ifc4x1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcTable::declaration() const { return *IFC4X1_IfcTable_type; } @@ -19822,11 +19822,11 @@ Ifc4x1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::option // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4x1::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcTableColumn::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcReference* Ifc4x1::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcReference>(true); } @@ -19840,9 +19840,9 @@ Ifc4x1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identif // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x1::IfcTableRow::declaration() const { return *IFC4X1_IfcTableRow_type; } @@ -19852,7 +19852,7 @@ Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v // Function implementations for IfcTank boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > Ifc4x1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcTank::declaration() const { return *IFC4X1_IfcTank_type; } @@ -19872,17 +19872,17 @@ Ifc4x1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcTask boost::optional< std::string > Ifc4x1::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x1::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x1::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x1::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x1::IfcTaskTime* Ifc4x1::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcTaskTime>(true); } void Ifc4x1::IfcTask::setTaskTime(::Ifc4x1::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > Ifc4x1::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcTask::declaration() const { return *IFC4X1_IfcTask_type; } @@ -19892,39 +19892,39 @@ Ifc4x1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ // Function implementations for IfcTaskTime boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > Ifc4x1::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4x1::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4x1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4x1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4x1::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4x1::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x1::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x1::IfcTaskTime::declaration() const { return *IFC4X1_IfcTaskTime_type; } @@ -19946,7 +19946,7 @@ Ifc4x1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string ::Ifc4x1::IfcTaskTypeEnum::Value Ifc4x1::IfcTaskType::PredefinedType() const { return ::Ifc4x1::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcTaskType::setPredefinedType(::Ifc4x1::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x1::IfcTaskType::declaration() const { return *IFC4X1_IfcTaskType_type; } @@ -19956,17 +19956,17 @@ Ifc4x1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcTelecomAddress::declaration() const { return *IFC4X1_IfcTelecomAddress_type; } @@ -19976,21 +19976,21 @@ Ifc4x1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x1::IfcAddre // Function implementations for IfcTendon boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > Ifc4x1::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x1::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x1::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x1::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x1::IfcTendon::declaration() const { return *IFC4X1_IfcTendon_type; } @@ -20000,7 +20000,7 @@ Ifc4x1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > Ifc4x1::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcTendonAnchor::declaration() const { return *IFC4X1_IfcTendonAnchor_type; } @@ -20022,11 +20022,11 @@ Ifc4x1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4 ::Ifc4x1::IfcTendonTypeEnum::Value Ifc4x1::IfcTendonType::PredefinedType() const { return ::Ifc4x1::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x1::IfcTendonType::setPredefinedType(::Ifc4x1::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x1::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcTendonType::declaration() const { return *IFC4X1_IfcTendonType_type; } @@ -20088,7 +20088,7 @@ void Ifc4x1::IfcTextStyle::setTextStyle(::Ifc4x1::IfcTextStyleTextModel* v) { {I ::Ifc4x1::IfcTextFontSelect* Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTextFontSelect>(true); } void Ifc4x1::IfcTextStyle::setTextFontStyle(::Ifc4x1::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x1::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcTextStyle::declaration() const { return *IFC4X1_IfcTextStyle_type; } @@ -20100,11 +20100,11 @@ Ifc4x1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc std::vector< std::string > /*[1:?]*/ Ifc4x1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleFontModel::setFontSize(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20130,15 +20130,15 @@ Ifc4x1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x1::IfcColo ::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setTextIndent(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setLineHeight(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20162,7 +20162,7 @@ Ifc4x1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x1::IfcSu std::string Ifc4x1::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x1::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x1::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X1_IfcTextureCoordinateGenerator_type; } @@ -20218,7 +20218,7 @@ Ifc4x1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_En std::string Ifc4x1::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4x1::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4x1::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -20228,7 +20228,7 @@ void Ifc4x1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x1::IfcTimeSeriesDataTyp ::Ifc4x1::IfcDataOriginEnum::Value Ifc4x1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x1::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcTimeSeries::setDataOrigin(::Ifc4x1::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x1::IfcUnit* Ifc4x1::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcTimeSeries::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -20279,7 +20279,7 @@ Ifc4x1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x1::IfcAxis2Placement3D* v1 // Function implementations for IfcTransformer boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > Ifc4x1::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcTransformer::declaration() const { return *IFC4X1_IfcTransformer_type; } @@ -20299,9 +20299,9 @@ Ifc4x1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcTransitionCurveSegment2D boost::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::StartRadius() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x1::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x1::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::EndRadius() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } bool Ifc4x1::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = *data_->getArgument(5); return v; } void Ifc4x1::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } bool Ifc4x1::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = *data_->getArgument(6); return v; } @@ -20317,7 +20317,7 @@ Ifc4x1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x1::IfcCa // Function implementations for IfcTransportElement boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > Ifc4x1::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTransportElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTransportElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcTransportElement::declaration() const { return *IFC4X1_IfcTransportElement_type; } @@ -20353,13 +20353,13 @@ Ifc4x1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x1::IfcProfileTypeE // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4x1::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4x1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x1::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4x1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x1::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x1::IfcTriangulatedFaceSet::declaration() const { return *IFC4X1_IfcTriangulatedFaceSet_type; } @@ -20397,7 +20397,7 @@ Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggr // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > Ifc4x1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcTubeBundle::declaration() const { return *IFC4X1_IfcTubeBundle_type; } @@ -20417,9 +20417,9 @@ Ifc4x1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4x1::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > Ifc4x1::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } -void Ifc4x1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4x1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4x1::IfcRelDefinesByType::list::ptr Ifc4x1::IfcTypeObject::Types() const { return data_->getInverse(IFC4X1_IfcRelDefinesByType_type, 5)->as(); } @@ -20430,11 +20430,11 @@ Ifc4x1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4x1::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x1::IfcRelAssignsToProcess::list::ptr Ifc4x1::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X1_IfcRelAssignsToProcess_type, 6)->as(); } @@ -20445,9 +20445,9 @@ Ifc4x1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwn // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > Ifc4x1::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x1::IfcRepresentationMap >(); } -void Ifc4x1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcRelAssignsToProduct::list::ptr Ifc4x1::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X1_IfcRelAssignsToProduct_type, 6)->as(); } @@ -20458,11 +20458,11 @@ Ifc4x1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwn // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4x1::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x1::IfcRelAssignsToResource::list::ptr Ifc4x1::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X1_IfcRelAssignsToResource_type, 6)->as(); } @@ -20481,11 +20481,11 @@ void Ifc4x1::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x1::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x1::IfcUShapeProfileDef::declaration() const { return *IFC4X1_IfcUShapeProfileDef_type; } @@ -20505,7 +20505,7 @@ Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcUnitaryControlElement::declaration() const { return *IFC4X1_IfcUnitaryControlElement_type; } @@ -20525,7 +20525,7 @@ Ifc4x1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x1::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcUnitaryEquipment::declaration() const { return *IFC4X1_IfcUnitaryEquipment_type; } @@ -20545,7 +20545,7 @@ Ifc4x1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId // Function implementations for IfcValve boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > Ifc4x1::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcValve::declaration() const { return *IFC4X1_IfcValve_type; } @@ -20605,7 +20605,7 @@ Ifc4x1::IfcVertexPoint::IfcVertexPoint(::Ifc4x1::IfcPoint* v1_VertexGeometry) : // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x1::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcVibrationIsolator::declaration() const { return *IFC4X1_IfcVibrationIsolator_type; } @@ -20645,7 +20645,7 @@ Ifc4x1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::I // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > Ifc4x1::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcVoidingFeature::declaration() const { return *IFC4X1_IfcVoidingFeature_type; } @@ -20655,7 +20655,7 @@ Ifc4x1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcWall boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > Ifc4x1::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcWall::declaration() const { return *IFC4X1_IfcWall_type; } @@ -20691,7 +20691,7 @@ Ifc4x1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > Ifc4x1::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcWasteTerminal::declaration() const { return *IFC4X1_IfcWasteTerminal_type; } @@ -20711,15 +20711,15 @@ Ifc4x1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcWindow boost::optional< double > Ifc4x1::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > Ifc4x1::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > Ifc4x1::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcWindow::declaration() const { return *IFC4X1_IfcWindow_type; } @@ -20729,29 +20729,29 @@ Ifc4x1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x1::IfcWindowLiningProperties::declaration() const { return *IFC4X1_IfcWindowLiningProperties_type; } @@ -20765,9 +20765,9 @@ void Ifc4x1::IfcWindowPanelProperties::setOperationType(::Ifc4x1::IfcWindowPanel ::Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcWindowPanelProperties::setPanelPosition(::Ifc4x1::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20807,9 +20807,9 @@ void Ifc4x1::IfcWindowType::setPredefinedType(::Ifc4x1::IfcWindowTypeEnum::Value ::Ifc4x1::IfcWindowTypePartitioningEnum::Value Ifc4x1::IfcWindowType::PartitioningType() const { return ::Ifc4x1::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x1::IfcWindowType::setPartitioningType(::Ifc4x1::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x1::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcWindowType::declaration() const { return *IFC4X1_IfcWindowType_type; } @@ -20819,11 +20819,11 @@ Ifc4x1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > Ifc4x1::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x1::IfcWorkTime >(); } -void Ifc4x1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > Ifc4x1::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcWorkTime >(); } -void Ifc4x1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > Ifc4x1::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcWorkCalendar::declaration() const { return *IFC4X1_IfcWorkCalendar_type; } @@ -20835,17 +20835,17 @@ Ifc4x1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x1::IfcO std::string Ifc4x1::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x1::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcPerson >(); } -void Ifc4x1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x1::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x1::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4x1::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x1::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x1::IfcWorkControl::declaration() const { return *IFC4X1_IfcWorkControl_type; } @@ -20855,7 +20855,7 @@ Ifc4x1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwn // Function implementations for IfcWorkPlan boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > Ifc4x1::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x1::IfcWorkPlan::declaration() const { return *IFC4X1_IfcWorkPlan_type; } @@ -20865,7 +20865,7 @@ Ifc4x1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > Ifc4x1::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x1::IfcWorkSchedule::declaration() const { return *IFC4X1_IfcWorkSchedule_type; } @@ -20877,9 +20877,9 @@ Ifc4x1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcO ::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } void Ifc4x1::IfcWorkTime::setRecurrencePattern(::Ifc4x1::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x1::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x1::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcWorkTime::declaration() const { return *IFC4X1_IfcWorkTime_type; } @@ -20897,9 +20897,9 @@ void Ifc4x1::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x1::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x1::IfcZShapeProfileDef::declaration() const { return *IFC4X1_IfcZShapeProfileDef_type; } @@ -20909,7 +20909,7 @@ Ifc4x1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::V // Function implementations for IfcZone boost::optional< std::string > Ifc4x1::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x1::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x1::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x1::IfcZone::declaration() const { return *IFC4X1_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp index da2bd2f0c9..3e31975014 100644 --- a/src/ifcparse/Ifc4x2.cpp +++ b/src/ifcparse/Ifc4x2.cpp @@ -11635,11 +11635,11 @@ Ifc4x2::IfcWarpingMomentMeasure::operator double() const { return *data_->getArg // Function implementations for IfcActionRequest boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > Ifc4x2::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcActionRequest::declaration() const { return *IFC4X2_IfcActionRequest_type; } @@ -11662,9 +11662,9 @@ Ifc4x2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v ::Ifc4x2::IfcRoleEnum::Value Ifc4x2::IfcActorRole::Role() const { return ::Ifc4x2::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x2::IfcActorRole::setRole(::Ifc4x2::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11675,7 +11675,7 @@ Ifc4x2::IfcActorRole::IfcActorRole(::Ifc4x2::IfcRoleEnum::Value v1_Role, boost:: // Function implementations for IfcActuator boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > Ifc4x2::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcActuator::declaration() const { return *IFC4X2_IfcActuator_type; } @@ -11695,11 +11695,11 @@ Ifc4x2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x2::IfcO // Function implementations for IfcAddress boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Ifc4x2::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x2::IfcAddress::setPurpose(boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4x2::IfcAddress::setPurpose(boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcPerson::list::ptr Ifc4x2::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X2_IfcPerson_type, 7)->as(); } ::Ifc4x2::IfcOrganization::list::ptr Ifc4x2::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X2_IfcOrganization_type, 4)->as(); } @@ -11737,7 +11737,7 @@ Ifc4x2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x2::IfcFaceBound >: // Function implementations for IfcAirTerminal boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > Ifc4x2::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcAirTerminal::declaration() const { return *IFC4X2_IfcAirTerminal_type; } @@ -11747,7 +11747,7 @@ Ifc4x2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwn // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x2::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcAirTerminalBox::declaration() const { return *IFC4X2_IfcAirTerminalBox_type; } @@ -11777,7 +11777,7 @@ Ifc4x2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x2::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X2_IfcAirToAirHeatRecovery_type; } @@ -11797,7 +11797,7 @@ Ifc4x2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_ // Function implementations for IfcAlarm boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > Ifc4x2::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcAlarm::declaration() const { return *IFC4X2_IfcAlarm_type; } @@ -11817,7 +11817,7 @@ Ifc4x2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi // Function implementations for IfcAlignment boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > Ifc4x2::IfcAlignment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAlignmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAlignmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcAlignment::declaration() const { return *IFC4X2_IfcAlignment_type; } @@ -11827,7 +11827,7 @@ Ifc4x2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi // Function implementations for IfcAlignment2DHorizontal boost::optional< double > Ifc4x2::IfcAlignment2DHorizontal::StartDistAlong() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr Ifc4x2::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcAlignment2DHorizontalSegment >(); } void Ifc4x2::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -11851,11 +11851,11 @@ Ifc4x2::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost:: // Function implementations for IfcAlignment2DSegment boost::optional< bool > Ifc4x2::IfcAlignment2DSegment::TangentialContinuity() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } bool v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcAlignment2DSegment::StartTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcAlignment2DSegment::EndTag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcAlignment2DSegment::declaration() const { return *IFC4X2_IfcAlignment2DSegment_type; } @@ -11929,7 +11929,7 @@ void Ifc4x2::IfcAlignmentCurve::setHorizontal(::Ifc4x2::IfcAlignment2DHorizontal ::Ifc4x2::IfcAlignment2DVertical* Ifc4x2::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAlignment2DVertical>(true); } void Ifc4x2::IfcAlignmentCurve::setVertical(::Ifc4x2::IfcAlignment2DVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcAlignmentCurve::declaration() const { return *IFC4X2_IfcAlignmentCurve_type; } @@ -11950,7 +11950,7 @@ Ifc4x2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x2::IfcOwner ::Ifc4x2::IfcCurve* Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > Ifc4x2::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcCurve >(); } -void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcAnnotationFillArea::declaration() const { return *IFC4X2_IfcAnnotationFillArea_type; } @@ -11976,25 +11976,25 @@ Ifc4x2::IfcApplication::IfcApplication(::Ifc4x2::IfcOrganization* v1_Application // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4x2::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcAppliedValueSelect* Ifc4x2::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAppliedValueSelect>(true); } void Ifc4x2::IfcAppliedValue::setAppliedValue(::Ifc4x2::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcAppliedValue::setUnitBasis(::Ifc4x2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > Ifc4x2::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } -void Ifc4x2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -12005,19 +12005,19 @@ Ifc4x2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, // Function implementations for IfcApproval boost::optional< std::string > Ifc4x2::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcApproval::setRequestingApproval(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(true); } @@ -12078,7 +12078,7 @@ Ifc4x2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x // Function implementations for IfcAsset boost::optional< std::string > Ifc4x2::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setOriginalValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcCostValue>(true); } @@ -12092,7 +12092,7 @@ void Ifc4x2::IfcAsset::setUser(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWrit ::Ifc4x2::IfcPerson* Ifc4x2::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcPerson>(true); } void Ifc4x2::IfcAsset::setResponsiblePerson(::Ifc4x2::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setDepreciatedValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -12112,21 +12112,21 @@ void Ifc4x2::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {IfcWrit double Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x2::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X2_IfcAsymmetricIShapeProfileDef_type; } @@ -12136,7 +12136,7 @@ Ifc4x2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x2::I // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x2::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcAudioVisualAppliance::declaration() const { return *IFC4X2_IfcAudioVisualAppliance_type; } @@ -12260,7 +12260,7 @@ Ifc4x2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, i // Function implementations for IfcBeam boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > Ifc4x2::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcBeam::declaration() const { return *IFC4X2_IfcBeam_type; } @@ -12288,7 +12288,7 @@ Ifc4x2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcBearing boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > Ifc4x2::IfcBearing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBearingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBearingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcBearing::declaration() const { return *IFC4X2_IfcBearing_type; } @@ -12334,7 +12334,7 @@ Ifc4x2::IfcBlock::IfcBlock(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2 // Function implementations for IfcBoiler boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > Ifc4x2::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcBoiler::declaration() const { return *IFC4X2_IfcBoiler_type; } @@ -12376,7 +12376,7 @@ Ifc4x2::IfcBooleanResult::IfcBooleanResult(::Ifc4x2::IfcBooleanOperator::Value v // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4x2::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcBoundaryCondition::declaration() const { return *IFC4X2_IfcBoundaryCondition_type; } @@ -12501,7 +12501,7 @@ Ifc4x2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x2::IfcSurface* v1_BaseSurfac // Function implementations for IfcBridge boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > Ifc4x2::IfcBridge::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBridgeTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBridgeTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcBridge::declaration() const { return *IFC4X2_IfcBridge_type; } @@ -12511,7 +12511,7 @@ Ifc4x2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* // Function implementations for IfcBridgePart boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > Ifc4x2::IfcBridgePart::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBridgePartTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBridgePartTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBridgePartTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcBridgePart::declaration() const { return *IFC4X2_IfcBridgePart_type; } @@ -12521,9 +12521,9 @@ Ifc4x2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcBuilding boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcPostalAddress>(true); } void Ifc4x2::IfcBuilding::setBuildingAddress(::Ifc4x2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -12543,7 +12543,7 @@ Ifc4x2::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > Ifc4x2::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcBuildingElementPart::declaration() const { return *IFC4X2_IfcBuildingElementPart_type; } @@ -12563,7 +12563,7 @@ Ifc4x2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_Gl // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x2::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcBuildingElementProxy::declaration() const { return *IFC4X2_IfcBuildingElementProxy_type; } @@ -12591,7 +12591,7 @@ Ifc4x2::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4x2::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcBuildingStorey::declaration() const { return *IFC4X2_IfcBuildingStorey_type; } @@ -12601,9 +12601,9 @@ Ifc4x2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > Ifc4x2::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcBuildingSystem::declaration() const { return *IFC4X2_IfcBuildingSystem_type; } @@ -12613,7 +12613,7 @@ Ifc4x2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcBurner boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > Ifc4x2::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcBurner::declaration() const { return *IFC4X2_IfcBurner_type; } @@ -12641,7 +12641,7 @@ void Ifc4x2::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::IfcWri double Ifc4x2::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcCShapeProfileDef::declaration() const { return *IFC4X2_IfcCShapeProfileDef_type; } @@ -12651,7 +12651,7 @@ Ifc4x2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::V // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x2::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCableCarrierFitting::declaration() const { return *IFC4X2_IfcCableCarrierFitting_type; } @@ -12671,7 +12671,7 @@ Ifc4x2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_Gl // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x2::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCableCarrierSegment::declaration() const { return *IFC4X2_IfcCableCarrierSegment_type; } @@ -12691,7 +12691,7 @@ Ifc4x2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_Gl // Function implementations for IfcCableFitting boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > Ifc4x2::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCableFitting::declaration() const { return *IFC4X2_IfcCableFitting_type; } @@ -12711,7 +12711,7 @@ Ifc4x2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCableSegment boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > Ifc4x2::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCableSegment::declaration() const { return *IFC4X2_IfcCableSegment_type; } @@ -12731,7 +12731,7 @@ Ifc4x2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCaissonFoundation boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > Ifc4x2::IfcCaissonFoundation::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCaissonFoundationTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCaissonFoundationTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCaissonFoundation::declaration() const { return *IFC4X2_IfcCaissonFoundation_type; } @@ -12771,7 +12771,7 @@ Ifc4x2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentat std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x2::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcCartesianPointList2D::declaration() const { return *IFC4X2_IfcCartesianPointList2D_type; } @@ -12783,7 +12783,7 @@ Ifc4x2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vecto std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x2::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcCartesianPointList3D::declaration() const { return *IFC4X2_IfcCartesianPointList3D_type; } @@ -12799,7 +12799,7 @@ void Ifc4x2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x2::IfcDirection ::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator::declaration() const { return *IFC4X2_IfcCartesianTransformationOperator_type; } @@ -12817,7 +12817,7 @@ Ifc4x2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -12837,9 +12837,9 @@ Ifc4x2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X2_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -12859,7 +12859,7 @@ Ifc4x2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x2::IfcProfileTyp // Function implementations for IfcChiller boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > Ifc4x2::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcChiller::declaration() const { return *IFC4X2_IfcChiller_type; } @@ -12879,7 +12879,7 @@ Ifc4x2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwn // Function implementations for IfcChimney boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > Ifc4x2::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcChimney::declaration() const { return *IFC4X2_IfcChimney_type; } @@ -12957,19 +12957,19 @@ Ifc4x2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcClassification boost::optional< std::string > Ifc4x2::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4x2::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcRelAssociatesClassification::list::ptr Ifc4x2::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X2_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x2::IfcClassificationReference::list::ptr Ifc4x2::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X2_IfcClassificationReference_type, 3)->as(); } @@ -12983,9 +12983,9 @@ Ifc4x2::IfcClassification::IfcClassification(boost::optional< std::string > v1_S ::Ifc4x2::IfcClassificationReferenceSelect* Ifc4x2::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcClassificationReferenceSelect>(true); } void Ifc4x2::IfcClassificationReference::setReferencedSource(::Ifc4x2::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcRelAssociatesClassification::list::ptr Ifc4x2::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X2_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x2::IfcClassificationReference::list::ptr Ifc4x2::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X2_IfcClassificationReference_type, 3)->as(); } @@ -13005,7 +13005,7 @@ Ifc4x2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1 // Function implementations for IfcCoil boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > Ifc4x2::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCoil::declaration() const { return *IFC4X2_IfcCoil_type; } @@ -13049,7 +13049,7 @@ Ifc4x2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4x2::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcColourSpecification::declaration() const { return *IFC4X2_IfcColourSpecification_type; } @@ -13059,7 +13059,7 @@ Ifc4x2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::str // Function implementations for IfcColumn boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > Ifc4x2::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcColumn::declaration() const { return *IFC4X2_IfcColumn_type; } @@ -13087,7 +13087,7 @@ Ifc4x2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x2::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCommunicationsAppliance::declaration() const { return *IFC4X2_IfcCommunicationsAppliance_type; } @@ -13119,11 +13119,11 @@ Ifc4x2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optio // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4x2::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x2::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > Ifc4x2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x2::IfcPropertyTemplate >(); } -void Ifc4x2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcComplexPropertyTemplate::declaration() const { return *IFC4X2_IfcComplexPropertyTemplate_type; } @@ -13170,7 +13170,7 @@ Ifc4x2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x2::IfcTransiti aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcProfileDef >(); } void Ifc4x2::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcCompositeProfileDef::declaration() const { return *IFC4X2_IfcCompositeProfileDef_type; } @@ -13180,7 +13180,7 @@ Ifc4x2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x2::IfcProfileTypeE // Function implementations for IfcCompressor boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > Ifc4x2::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCompressor::declaration() const { return *IFC4X2_IfcCompressor_type; } @@ -13200,7 +13200,7 @@ Ifc4x2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcCondenser boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > Ifc4x2::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCondenser::declaration() const { return *IFC4X2_IfcCondenser_type; } @@ -13260,11 +13260,11 @@ Ifc4x2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity( // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcConnectionPointEccentricity::declaration() const { return *IFC4X2_IfcConnectionPointEccentricity_type; } @@ -13312,17 +13312,17 @@ Ifc4x2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x2::IfcSo std::string Ifc4x2::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcConstraintEnum::Value Ifc4x2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x2::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4x2::IfcConstraint::setConstraintGrade(::Ifc4x2::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcConstraint::setCreatingActor(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x2::IfcResourceConstraintRelationship::list::ptr Ifc4x2::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X2_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -13334,7 +13334,7 @@ Ifc4x2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std:: // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x2::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcConstructionEquipmentResource::declaration() const { return *IFC4X2_IfcConstructionEquipmentResource_type; } @@ -13354,7 +13354,7 @@ Ifc4x2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceTy // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x2::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcConstructionMaterialResource::declaration() const { return *IFC4X2_IfcConstructionMaterialResource_type; } @@ -13374,7 +13374,7 @@ Ifc4x2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x2::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcConstructionProductResource::declaration() const { return *IFC4X2_IfcConstructionProductResource_type; } @@ -13396,7 +13396,7 @@ Ifc4x2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(s ::Ifc4x2::IfcResourceTime* Ifc4x2::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcResourceTime>(true); } void Ifc4x2::IfcConstructionResource::setUsage(::Ifc4x2::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x2::IfcAppliedValue >(); } -void Ifc4x2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } void Ifc4x2::IfcConstructionResource::setBaseQuantity(::Ifc4x2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -13408,7 +13408,7 @@ Ifc4x2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } -void Ifc4x2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } void Ifc4x2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -13420,13 +13420,13 @@ Ifc4x2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_ // Function implementations for IfcContext boost::optional< std::string > Ifc4x2::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > Ifc4x2::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcRepresentationContext >(); } -void Ifc4x2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x2::IfcUnitAssignment* Ifc4x2::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcUnitAssignment>(true); } void Ifc4x2::IfcContext::setUnitsInContext(::Ifc4x2::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13451,7 +13451,7 @@ Ifc4x2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x2::IfcDimensiona // Function implementations for IfcControl boost::optional< std::string > Ifc4x2::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcRelAssignsToControl::list::ptr Ifc4x2::IfcControl::Controls() const { return data_->getInverse(IFC4X2_IfcRelAssignsToControl_type, 6)->as(); } @@ -13462,7 +13462,7 @@ Ifc4x2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistor // Function implementations for IfcController boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > Ifc4x2::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcController::setPredefinedType(boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcController::setPredefinedType(boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcController::declaration() const { return *IFC4X2_IfcController_type; } @@ -13505,7 +13505,7 @@ Ifc4x2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc // Function implementations for IfcCooledBeam boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > Ifc4x2::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCooledBeam::declaration() const { return *IFC4X2_IfcCooledBeam_type; } @@ -13525,7 +13525,7 @@ Ifc4x2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcCoolingTower boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > Ifc4x2::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCoolingTower::declaration() const { return *IFC4X2_IfcCoolingTower_type; } @@ -13559,11 +13559,11 @@ Ifc4x2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x2::IfcCoordinateRe std::string Ifc4x2::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x2::IfcCoordinateOperation::list::ptr Ifc4x2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X2_IfcCoordinateOperation_type, 0)->as(); } @@ -13574,11 +13574,11 @@ Ifc4x2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::string v // Function implementations for IfcCostItem boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > Ifc4x2::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > Ifc4x2::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcCostValue >(); } -void Ifc4x2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > Ifc4x2::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } -void Ifc4x2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCostItem::declaration() const { return *IFC4X2_IfcCostItem_type; } @@ -13588,13 +13588,13 @@ Ifc4x2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcCostSchedule boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > Ifc4x2::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcCostSchedule::declaration() const { return *IFC4X2_IfcCostSchedule_type; } @@ -13612,7 +13612,7 @@ Ifc4x2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost // Function implementations for IfcCovering boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > Ifc4x2::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x2::IfcRelCoversSpaces::list::ptr Ifc4x2::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X2_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x2::IfcRelCoversBldgElements::list::ptr Ifc4x2::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X2_IfcRelCoversBldgElements_type, 5)->as(); } @@ -13634,7 +13634,7 @@ Ifc4x2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x2::IfcO // Function implementations for IfcCrewResource boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > Ifc4x2::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcCrewResource::declaration() const { return *IFC4X2_IfcCrewResource_type; } @@ -13680,7 +13680,7 @@ void Ifc4x2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x2::IfcMoneta double Ifc4x2::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x2::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcLibraryInformation>(true); } void Ifc4x2::IfcCurrencyRelationship::setRateSource(::Ifc4x2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13692,7 +13692,7 @@ Ifc4x2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::s // Function implementations for IfcCurtainWall boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > Ifc4x2::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcCurtainWall::declaration() const { return *IFC4X2_IfcCurtainWall_type; } @@ -13768,7 +13768,7 @@ void Ifc4x2::IfcCurveStyle::setCurveWidth(::Ifc4x2::IfcSizeSelect* v) { {IfcWrit ::Ifc4x2::IfcColour* Ifc4x2::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcCurveStyle::setCurveColour(::Ifc4x2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x2::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcCurveStyle::declaration() const { return *IFC4X2_IfcCurveStyle_type; } @@ -13778,7 +13778,7 @@ Ifc4x2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::I // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4x2::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr Ifc4x2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcCurveStyleFontPattern >(); } void Ifc4x2::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13790,7 +13790,7 @@ Ifc4x2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_N // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x2::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x2::IfcCurveStyleFontSelect* Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveStyleFontSelect>(true); } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x2::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -13826,7 +13826,7 @@ Ifc4x2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x2::IfcAxis2Placement // Function implementations for IfcDamper boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > Ifc4x2::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcDamper::declaration() const { return *IFC4X2_IfcDamper_type; } @@ -13866,7 +13866,7 @@ void Ifc4x2::IfcDerivedProfileDef::setParentProfile(::Ifc4x2::IfcProfileDef* v) ::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x2::IfcDerivedProfileDef::setOperator(::Ifc4x2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcDerivedProfileDef::declaration() const { return *IFC4X2_IfcDerivedProfileDef_type; } @@ -13880,7 +13880,7 @@ void Ifc4x2::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x2::IfcDerivedUnitE ::Ifc4x2::IfcDerivedUnitEnum::Value Ifc4x2::IfcDerivedUnit::UnitType() const { return ::Ifc4x2::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x2::IfcDerivedUnit::setUnitType(::Ifc4x2::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcDerivedUnit::declaration() const { return *IFC4X2_IfcDerivedUnit_type; } @@ -13934,7 +13934,7 @@ Ifc4x2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionR // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x2::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcDiscreteAccessory::declaration() const { return *IFC4X2_IfcDiscreteAccessory_type; } @@ -13956,13 +13956,13 @@ Ifc4x2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Global double Ifc4x2::IfcDistanceExpression::DistanceAlong() const { double v = *data_->getArgument(0); return v; } void Ifc4x2::IfcDistanceExpression::setDistanceAlong(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x2::IfcDistanceExpression::AlongHorizontal() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcDistanceExpression::declaration() const { return *IFC4X2_IfcDistanceExpression_type; } @@ -13972,7 +13972,7 @@ Ifc4x2::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, bo // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x2::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcDistributionChamberElement::declaration() const { return *IFC4X2_IfcDistributionChamberElement_type; } @@ -14051,11 +14051,11 @@ Ifc4x2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::stri // Function implementations for IfcDistributionPort boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > Ifc4x2::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > Ifc4x2::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > Ifc4x2::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcDistributionPort::declaration() const { return *IFC4X2_IfcDistributionPort_type; } @@ -14065,9 +14065,9 @@ Ifc4x2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4x2::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > Ifc4x2::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcDistributionSystem::declaration() const { return *IFC4X2_IfcDistributionSystem_type; } @@ -14081,35 +14081,35 @@ void Ifc4x2::IfcDocumentInformation::setIdentification(std::string v) { {IfcWrit std::string Ifc4x2::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcDocumentInformation::setDocumentOwner(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > Ifc4x2::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4x2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > Ifc4x2::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4x2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4x2::IfcRelAssociatesDocument::list::ptr Ifc4x2::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X2_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x2::IfcDocumentReference::list::ptr Ifc4x2::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X2_IfcDocumentReference_type, 4)->as(); } @@ -14127,7 +14127,7 @@ void Ifc4x2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x2::I aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr Ifc4x2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcDocumentInformation >(); } void Ifc4x2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcDocumentInformationRelationship::declaration() const { return *IFC4X2_IfcDocumentInformationRelationship_type; } @@ -14137,7 +14137,7 @@ Ifc4x2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(b // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x2::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDocumentInformation>(true); } void Ifc4x2::IfcDocumentReference::setReferencedDocument(::Ifc4x2::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14150,15 +14150,15 @@ Ifc4x2::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string // Function implementations for IfcDoor boost::optional< double > Ifc4x2::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > Ifc4x2::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > Ifc4x2::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x2::IfcDoor::setOperationType(boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x2::IfcDoor::setOperationType(boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcDoor::declaration() const { return *IFC4X2_IfcDoor_type; } @@ -14168,31 +14168,31 @@ Ifc4x2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x2::IfcDoorLiningProperties::declaration() const { return *IFC4X2_IfcDoorLiningProperties_type; } @@ -14202,11 +14202,11 @@ Ifc4x2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcDoorPanelOperationEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x2::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcDoorPanelProperties::setPanelOperation(::Ifc4x2::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x2::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } @@ -14248,9 +14248,9 @@ void Ifc4x2::IfcDoorType::setPredefinedType(::Ifc4x2::IfcDoorTypeEnum::Value v) ::Ifc4x2::IfcDoorTypeOperationEnum::Value Ifc4x2::IfcDoorType::OperationType() const { return ::Ifc4x2::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x2::IfcDoorType::setOperationType(::Ifc4x2::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x2::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcDoorType::declaration() const { return *IFC4X2_IfcDoorType_type; } @@ -14276,7 +14276,7 @@ Ifc4x2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std:: // Function implementations for IfcDuctFitting boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > Ifc4x2::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcDuctFitting::declaration() const { return *IFC4X2_IfcDuctFitting_type; } @@ -14296,7 +14296,7 @@ Ifc4x2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcDuctSegment boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > Ifc4x2::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcDuctSegment::declaration() const { return *IFC4X2_IfcDuctSegment_type; } @@ -14316,7 +14316,7 @@ Ifc4x2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > Ifc4x2::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcDuctSilencer::declaration() const { return *IFC4X2_IfcDuctSilencer_type; } @@ -14370,7 +14370,7 @@ Ifc4x2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > Ifc4x2::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElectricAppliance::declaration() const { return *IFC4X2_IfcElectricAppliance_type; } @@ -14390,7 +14390,7 @@ Ifc4x2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Global // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x2::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElectricDistributionBoard::declaration() const { return *IFC4X2_IfcElectricDistributionBoard_type; } @@ -14410,7 +14410,7 @@ Ifc4x2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std:: // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x2::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X2_IfcElectricFlowStorageDevice_type; } @@ -14430,7 +14430,7 @@ Ifc4x2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std:: // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > Ifc4x2::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElectricGenerator::declaration() const { return *IFC4X2_IfcElectricGenerator_type; } @@ -14450,7 +14450,7 @@ Ifc4x2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_Global // Function implementations for IfcElectricMotor boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > Ifc4x2::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElectricMotor::declaration() const { return *IFC4X2_IfcElectricMotor_type; } @@ -14470,7 +14470,7 @@ Ifc4x2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::If // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > Ifc4x2::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElectricTimeControl::declaration() const { return *IFC4X2_IfcElectricTimeControl_type; } @@ -14490,7 +14490,7 @@ Ifc4x2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_Gl // Function implementations for IfcElement boost::optional< std::string > Ifc4x2::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcRelFillsElement::list::ptr Ifc4x2::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X2_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x2::IfcRelConnectsElements::list::ptr Ifc4x2::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X2_IfcRelConnectsElements_type, 5)->as(); } @@ -14512,9 +14512,9 @@ Ifc4x2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistor // Function implementations for IfcElementAssembly boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > Ifc4x2::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > Ifc4x2::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcElementAssembly::declaration() const { return *IFC4X2_IfcElementAssembly_type; } @@ -14550,7 +14550,7 @@ Ifc4x2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4x2::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr Ifc4x2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } void Ifc4x2::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14562,7 +14562,7 @@ Ifc4x2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcElementType boost::optional< std::string > Ifc4x2::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcElementType::declaration() const { return *IFC4X2_IfcElementType_type; } @@ -14622,7 +14622,7 @@ Ifc4x2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string // Function implementations for IfcEngine boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > Ifc4x2::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcEngine::declaration() const { return *IFC4X2_IfcEngine_type; } @@ -14642,7 +14642,7 @@ Ifc4x2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x2::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcEvaporativeCooler::declaration() const { return *IFC4X2_IfcEvaporativeCooler_type; } @@ -14662,7 +14662,7 @@ Ifc4x2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_Global // Function implementations for IfcEvaporator boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > Ifc4x2::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcEvaporator::declaration() const { return *IFC4X2_IfcEvaporator_type; } @@ -14682,11 +14682,11 @@ Ifc4x2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcEvent boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > Ifc4x2::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > Ifc4x2::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x2::IfcEventTime* Ifc4x2::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcEventTime>(true); } void Ifc4x2::IfcEvent::setEventOccurenceTime(::Ifc4x2::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14698,13 +14698,13 @@ Ifc4x2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v // Function implementations for IfcEventTime boost::optional< std::string > Ifc4x2::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcEventTime::declaration() const { return *IFC4X2_IfcEventTime_type; } @@ -14718,7 +14718,7 @@ void Ifc4x2::IfcEventType::setPredefinedType(::Ifc4x2::IfcEventTypeEnum::Value v ::Ifc4x2::IfcEventTriggerTypeEnum::Value Ifc4x2::IfcEventType::EventTriggerType() const { return ::Ifc4x2::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x2::IfcEventType::setEventTriggerType(::Ifc4x2::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x2::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x2::IfcEventType::declaration() const { return *IFC4X2_IfcEventType_type; } @@ -14728,9 +14728,9 @@ Ifc4x2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4x2::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcProperty >(); } void Ifc4x2::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x2::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -14750,11 +14750,11 @@ Ifc4x2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntit // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4x2::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -14777,7 +14777,7 @@ Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x2::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x2::IfcRelSpaceBoundary::list::ptr Ifc4x2::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X2_IfcRelSpaceBoundary_type, 4)->as(); } @@ -14929,17 +14929,17 @@ Ifc4x2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x2::IfcO // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcFailureConnectionCondition::declaration() const { return *IFC4X2_IfcFailureConnectionCondition_type; } @@ -14949,7 +14949,7 @@ Ifc4x2::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::opti // Function implementations for IfcFan boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > Ifc4x2::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFan::declaration() const { return *IFC4X2_IfcFan_type; } @@ -14969,7 +14969,7 @@ Ifc4x2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistor // Function implementations for IfcFastener boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > Ifc4x2::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFastener::declaration() const { return *IFC4X2_IfcFastener_type; } @@ -15017,7 +15017,7 @@ Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v aggregate_of_instance::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x2::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::declaration() const { return *IFC4X2_IfcFillAreaStyle_type; } @@ -15059,7 +15059,7 @@ Ifc4x2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x2::Ifc // Function implementations for IfcFilter boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > Ifc4x2::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFilter::declaration() const { return *IFC4X2_IfcFilter_type; } @@ -15079,7 +15079,7 @@ Ifc4x2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x2::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFireSuppressionTerminal::declaration() const { return *IFC4X2_IfcFireSuppressionTerminal_type; } @@ -15101,9 +15101,9 @@ Ifc4x2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::stri ::Ifc4x2::IfcCurve* Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcDirection* Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15147,7 +15147,7 @@ Ifc4x2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > Ifc4x2::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFlowInstrument::declaration() const { return *IFC4X2_IfcFlowInstrument_type; } @@ -15167,7 +15167,7 @@ Ifc4x2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, :: // Function implementations for IfcFlowMeter boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > Ifc4x2::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFlowMeter::declaration() const { return *IFC4X2_IfcFlowMeter_type; } @@ -15267,7 +15267,7 @@ Ifc4x2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_Gl // Function implementations for IfcFooting boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > Ifc4x2::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFooting::declaration() const { return *IFC4X2_IfcFooting_type; } @@ -15303,7 +15303,7 @@ Ifc4x2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Global // Function implementations for IfcFurniture boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcFurniture::declaration() const { return *IFC4X2_IfcFurniture_type; } @@ -15315,7 +15315,7 @@ Ifc4x2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi ::Ifc4x2::IfcAssemblyPlaceEnum::Value Ifc4x2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcFurnitureType::setAssemblyPlace(::Ifc4x2::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcFurnitureType::declaration() const { return *IFC4X2_IfcFurnitureType_type; } @@ -15325,7 +15325,7 @@ Ifc4x2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x2::If // Function implementations for IfcGeographicElement boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > Ifc4x2::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcGeographicElement::declaration() const { return *IFC4X2_IfcGeographicElement_type; } @@ -15355,7 +15355,7 @@ Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1 int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x2::IfcDirection* Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDirection>(true); } @@ -15381,11 +15381,11 @@ Ifc4x2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRe ::Ifc4x2::IfcGeometricRepresentationContext* Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcGeometricRepresentationContext>(true); } void Ifc4x2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x2::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcGeometricProjectionEnum::Value Ifc4x2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x2::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x2::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X2_IfcGeometricRepresentationSubContext_type; } @@ -15409,9 +15409,9 @@ void Ifc4x2::IfcGrid::setUAxes(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v) { { aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x2::IfcGridAxis >(); } void Ifc4x2::IfcGrid::setVAxes(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > Ifc4x2::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x2::IfcGridAxis >(); } -void Ifc4x2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > Ifc4x2::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcGrid::declaration() const { return *IFC4X2_IfcGrid_type; } @@ -15421,7 +15421,7 @@ Ifc4x2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x2::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x2::IfcCurve* Ifc4x2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcGridAxis::setAxisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x2::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -15472,7 +15472,7 @@ Ifc4x2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x2::IfcSurface* v1_BaseSurfac // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > Ifc4x2::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcHeatExchanger::declaration() const { return *IFC4X2_IfcHeatExchanger_type; } @@ -15492,7 +15492,7 @@ Ifc4x2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::If // Function implementations for IfcHumidifier boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > Ifc4x2::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcHumidifier::declaration() const { return *IFC4X2_IfcHumidifier_type; } @@ -15520,11 +15520,11 @@ void Ifc4x2::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x2::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcIShapeProfileDef::declaration() const { return *IFC4X2_IfcIShapeProfileDef_type; } @@ -15546,7 +15546,7 @@ Ifc4x2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost ::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } void Ifc4x2::IfcIndexedColourMap::setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x2::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcColourRgbList* Ifc4x2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourRgbList>(true); } void Ifc4x2::IfcIndexedColourMap::setColours(::Ifc4x2::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -15562,9 +15562,9 @@ Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x2::IfcTessellatedFaceSet ::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList>(true); } void Ifc4x2::IfcIndexedPolyCurve::setPoints(::Ifc4x2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::declaration() const { return *IFC4X2_IfcIndexedPolyCurve_type; } @@ -15607,7 +15607,7 @@ Ifc4x2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x2::IfcSu // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4x2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X2_IfcIndexedTriangleTextureMap_type; } @@ -15617,7 +15617,7 @@ Ifc4x2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< // Function implementations for IfcInterceptor boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > Ifc4x2::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcInterceptor::declaration() const { return *IFC4X2_IfcInterceptor_type; } @@ -15645,13 +15645,13 @@ Ifc4x2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x2::IfcCurve* v1_Curve3 // Function implementations for IfcInventory boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > Ifc4x2::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x2::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcInventory::setJurisdiction(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcPerson >(); } -void Ifc4x2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcInventory::setCurrentValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcCostValue>(true); } @@ -15687,7 +15687,7 @@ Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_ // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > Ifc4x2::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcJunctionBox::declaration() const { return *IFC4X2_IfcJunctionBox_type; } @@ -15709,15 +15709,15 @@ Ifc4x2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x2 double Ifc4x2::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4x2::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x2::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcLShapeProfileDef::declaration() const { return *IFC4X2_IfcLShapeProfileDef_type; } @@ -15727,7 +15727,7 @@ Ifc4x2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::V // Function implementations for IfcLaborResource boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > Ifc4x2::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcLaborResource::declaration() const { return *IFC4X2_IfcLaborResource_type; } @@ -15759,7 +15759,7 @@ Ifc4x2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::op // Function implementations for IfcLamp boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > Ifc4x2::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcLamp::declaration() const { return *IFC4X2_IfcLamp_type; } @@ -15781,15 +15781,15 @@ Ifc4x2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist std::string Ifc4x2::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcActorSelect* Ifc4x2::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcLibraryInformation::setPublisher(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcRelAssociatesLibrary::list::ptr Ifc4x2::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X2_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x2::IfcLibraryReference::list::ptr Ifc4x2::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X2_IfcLibraryReference_type, 5)->as(); } @@ -15801,9 +15801,9 @@ Ifc4x2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost: // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4x2::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibraryInformation>(true); } void Ifc4x2::IfcLibraryReference::setReferencedLibrary(::Ifc4x2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15830,7 +15830,7 @@ Ifc4x2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAn // Function implementations for IfcLightFixture boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > Ifc4x2::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcLightFixture::declaration() const { return *IFC4X2_IfcLightFixture_type; } @@ -15862,13 +15862,13 @@ Ifc4x2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x2::I // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x2::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcLightSource::setLightColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcLightSource::declaration() const { return *IFC4X2_IfcLightSource_type; } @@ -15936,7 +15936,7 @@ Ifc4x2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std: ::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcLightSourceSpot::setOrientation(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4x2::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x2::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4x2::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -16030,11 +16030,11 @@ void Ifc4x2::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteArgum double Ifc4x2::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x2::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcMapConversion::declaration() const { return *IFC4X2_IfcMapConversion_type; } @@ -16058,9 +16058,9 @@ Ifc4x2::IfcMappedItem::IfcMappedItem(::Ifc4x2::IfcRepresentationMap* v1_MappingS std::string Ifc4x2::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x2::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X2_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x2::IfcMaterialRelationship::list::ptr Ifc4x2::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X2_IfcMaterialRelationship_type, 3)->as(); } @@ -16085,15 +16085,15 @@ Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelation // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialConstituent::setMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcMaterialConstituentSet::list::ptr Ifc4x2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X2_IfcMaterialConstituentSet_type, 2)->as(); } @@ -16104,11 +16104,11 @@ Ifc4x2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::str // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > Ifc4x2::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcMaterialConstituent >(); } -void Ifc4x2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcMaterialConstituentSet::declaration() const { return *IFC4X2_IfcMaterialConstituentSet_type; } @@ -16143,15 +16143,15 @@ void Ifc4x2::IfcMaterialLayer::setMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite double Ifc4x2::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4x2::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x2::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcMaterialLayerSet::list::ptr Ifc4x2::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X2_IfcMaterialLayerSet_type, 0)->as(); } @@ -16164,9 +16164,9 @@ Ifc4x2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x2::IfcMaterial* v1_Material, d aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr Ifc4x2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcMaterialLayer >(); } void Ifc4x2::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcMaterialLayerSet::declaration() const { return *IFC4X2_IfcMaterialLayerSet_type; } @@ -16184,7 +16184,7 @@ void Ifc4x2::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x2::IfcDirectionS double Ifc4x2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X2_IfcMaterialLayerSetUsage_type; } @@ -16216,17 +16216,17 @@ Ifc4x2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x2::IfcMaterial >:: // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialProfile::setMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x2::IfcProfileDef* Ifc4x2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcMaterialProfile::setProfile(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcMaterialProfileSet::list::ptr Ifc4x2::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X2_IfcMaterialProfileSet_type, 2)->as(); } @@ -16237,9 +16237,9 @@ Ifc4x2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1 // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr Ifc4x2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcMaterialProfile >(); } void Ifc4x2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x2::IfcCompositeProfileDef* Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCompositeProfileDef>(true); } @@ -16255,9 +16255,9 @@ Ifc4x2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::strin ::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } void Ifc4x2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X2_IfcMaterialProfileSetUsage_type; } @@ -16269,7 +16269,7 @@ Ifc4x2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x2::IfcMate ::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X2_IfcMaterialProfileSetUsageTapering_type; } @@ -16303,7 +16303,7 @@ void Ifc4x2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x2::IfcMaterial* aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Ifc4x2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcMaterial >(); } void Ifc4x2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcMaterialRelationship::declaration() const { return *IFC4X2_IfcMaterialRelationship_type; } @@ -16334,11 +16334,11 @@ Ifc4x2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x2::IfcValue* v1_ValueCompo // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4x2::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x2::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcMechanicalFastener::declaration() const { return *IFC4X2_IfcMechanicalFastener_type; } @@ -16350,9 +16350,9 @@ Ifc4x2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, :: ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value Ifc4x2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x2::IfcMechanicalFastenerType::declaration() const { return *IFC4X2_IfcMechanicalFastenerType_type; } @@ -16362,7 +16362,7 @@ Ifc4x2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_Glob // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > Ifc4x2::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcMedicalDevice::declaration() const { return *IFC4X2_IfcMedicalDevice_type; } @@ -16382,7 +16382,7 @@ Ifc4x2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::If // Function implementations for IfcMember boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > Ifc4x2::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcMember::declaration() const { return *IFC4X2_IfcMember_type; } @@ -16412,7 +16412,7 @@ Ifc4x2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner ::Ifc4x2::IfcBenchmarkEnum::Value Ifc4x2::IfcMetric::Benchmark() const { return ::Ifc4x2::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcMetric::setBenchmark(::Ifc4x2::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x2::IfcMetricValueSelect* Ifc4x2::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcMetricValueSelect>(true); } void Ifc4x2::IfcMetric::setDataValue(::Ifc4x2::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x2::IfcReference* Ifc4x2::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcReference>(true); } @@ -16444,7 +16444,7 @@ Ifc4x2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::Ifc // Function implementations for IfcMotorConnection boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > Ifc4x2::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcMotorConnection::declaration() const { return *IFC4X2_IfcMotorConnection_type; } @@ -16476,7 +16476,7 @@ Ifc4x2::IfcNamedUnit::IfcNamedUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensi // Function implementations for IfcObject boost::optional< std::string > Ifc4x2::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcRelDefinesByObject::list::ptr Ifc4x2::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X2_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x2::IfcRelDefinesByObject::list::ptr Ifc4x2::IfcObject::Declares() const { return data_->getInverse(IFC4X2_IfcRelDefinesByObject_type, 5)->as(); } @@ -16516,13 +16516,13 @@ Ifc4x2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x2::IfcObjectPlacement* v1_ // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > Ifc4x2::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcConstraint >(); } -void Ifc4x2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > Ifc4x2::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x2::IfcObjectiveEnum::Value Ifc4x2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x2::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcObjective::setObjectiveQualifier(::Ifc4x2::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcObjective::declaration() const { return *IFC4X2_IfcObjective_type; } @@ -16532,7 +16532,7 @@ Ifc4x2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::st // Function implementations for IfcOccupant boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > Ifc4x2::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcOccupant::declaration() const { return *IFC4X2_IfcOccupant_type; } @@ -16580,7 +16580,7 @@ Ifc4x2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x2::IfcCurve* v1_BasisCurve, do aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr Ifc4x2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcDistanceExpression >(); } void Ifc4x2::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcOffsetCurveByDistances::declaration() const { return *IFC4X2_IfcOffsetCurveByDistances_type; } @@ -16598,7 +16598,7 @@ Ifc4x2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_Cfs // Function implementations for IfcOpeningElement boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > Ifc4x2::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x2::IfcRelFillsElement::list::ptr Ifc4x2::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X2_IfcRelFillsElement_type, 4)->as(); } @@ -16617,15 +16617,15 @@ Ifc4x2::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, // Function implementations for IfcOrganization boost::optional< std::string > Ifc4x2::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4x2::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcActorRole >(); } -void Ifc4x2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4x2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > Ifc4x2::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcAddress >(); } -void Ifc4x2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4x2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4x2::IfcOrganizationRelationship::list::ptr Ifc4x2::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X2_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x2::IfcOrganizationRelationship::list::ptr Ifc4x2::IfcOrganization::Relates() const { return data_->getInverse(IFC4X2_IfcOrganizationRelationship_type, 2)->as(); } @@ -16682,7 +16682,7 @@ Ifc4x2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x2::Ifc // Function implementations for IfcOutlet boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > Ifc4x2::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcOutlet::declaration() const { return *IFC4X2_IfcOutlet_type; } @@ -16706,11 +16706,11 @@ void Ifc4x2::IfcOwnerHistory::setOwningUser(::Ifc4x2::IfcPersonAndOrganization* ::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcApplication>(true); } void Ifc4x2::IfcOwnerHistory::setOwningApplication(::Ifc4x2::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > Ifc4x2::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x2::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } void Ifc4x2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x2::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcApplication>(true); } @@ -16760,7 +16760,7 @@ Ifc4x2::IfcPcurve::IfcPcurve(::Ifc4x2::IfcSurface* v1_BasisSurface, ::Ifc4x2::If std::string Ifc4x2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x2::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x2::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcPerformanceHistory::declaration() const { return *IFC4X2_IfcPerformanceHistory_type; } @@ -16774,9 +16774,9 @@ void Ifc4x2::IfcPermeableCoveringProperties::setOperationType(::Ifc4x2::IfcPerme ::Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x2::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x2::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16788,11 +16788,11 @@ Ifc4x2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::stri // Function implementations for IfcPermit boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > Ifc4x2::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcPermit::declaration() const { return *IFC4X2_IfcPermit_type; } @@ -16802,21 +16802,21 @@ Ifc4x2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* // Function implementations for IfcPerson boost::optional< std::string > Ifc4x2::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x2::IfcActorRole >(); } -void Ifc4x2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > Ifc4x2::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcAddress >(); } -void Ifc4x2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x2::IfcPersonAndOrganization::list::ptr Ifc4x2::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X2_IfcPersonAndOrganization_type, 0)->as(); } @@ -16831,7 +16831,7 @@ void Ifc4x2::IfcPersonAndOrganization::setThePerson(::Ifc4x2::IfcPerson* v) { {I ::Ifc4x2::IfcOrganization* Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcActorRole >(); } -void Ifc4x2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcPersonAndOrganization::declaration() const { return *IFC4X2_IfcPersonAndOrganization_type; } @@ -16845,9 +16845,9 @@ void Ifc4x2::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x2 std::string Ifc4x2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X2_IfcPhysicalComplexQuantity_type; } @@ -16859,7 +16859,7 @@ Ifc4x2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Na std::string Ifc4x2::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x2::IfcPhysicalComplexQuantity::list::ptr Ifc4x2::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X2_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -16881,9 +16881,9 @@ Ifc4x2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name // Function implementations for IfcPile boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > Ifc4x2::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > Ifc4x2::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcPile::setConstructionType(boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcPile::setConstructionType(boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcPile::declaration() const { return *IFC4X2_IfcPile_type; } @@ -16903,7 +16903,7 @@ Ifc4x2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcPipeFitting boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > Ifc4x2::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcPipeFitting::declaration() const { return *IFC4X2_IfcPipeFitting_type; } @@ -16923,7 +16923,7 @@ Ifc4x2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcPipeSegment boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > Ifc4x2::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcPipeSegment::declaration() const { return *IFC4X2_IfcPipeSegment_type; } @@ -16999,7 +16999,7 @@ Ifc4x2::IfcPlane::IfcPlane(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcElem // Function implementations for IfcPlate boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > Ifc4x2::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcPlate::declaration() const { return *IFC4X2_IfcPlate_type; } @@ -17083,11 +17083,11 @@ Ifc4x2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x2::Ifc // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4x2::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr Ifc4x2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcIndexedPolygonalFace >(); } void Ifc4x2::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcPolygonalFaceSet::declaration() const { return *IFC4X2_IfcPolygonalFaceSet_type; } @@ -17128,19 +17128,19 @@ Ifc4x2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, :: // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4x2::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcPostalAddress::declaration() const { return *IFC4X2_IfcPostalAddress_type; } @@ -17210,11 +17210,11 @@ Ifc4x2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() {d std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::declaration() const { return *IFC4X2_IfcPresentationLayerAssignment_type; } @@ -17240,7 +17240,7 @@ Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x2::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcPresentationStyle::declaration() const { return *IFC4X2_IfcPresentationStyle_type; } @@ -17260,7 +17260,7 @@ Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate // Function implementations for IfcProcedure boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > Ifc4x2::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcProcedure::declaration() const { return *IFC4X2_IfcProcedure_type; } @@ -17280,9 +17280,9 @@ Ifc4x2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x2::If // Function implementations for IfcProcess boost::optional< std::string > Ifc4x2::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcRelSequence::list::ptr Ifc4x2::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X2_IfcRelSequence_type, 4)->as(); } ::Ifc4x2::IfcRelSequence::list::ptr Ifc4x2::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X2_IfcRelSequence_type, 5)->as(); } @@ -17319,9 +17319,9 @@ Ifc4x2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< st // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4x2::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr Ifc4x2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcRepresentation >(); } void Ifc4x2::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -17335,7 +17335,7 @@ Ifc4x2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std: ::Ifc4x2::IfcProfileTypeEnum::Value Ifc4x2::IfcProfileDef::ProfileType() const { return ::Ifc4x2::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x2::IfcProfileDef::setProfileType(::Ifc4x2::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x2::IfcProfileProperties::list::ptr Ifc4x2::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X2_IfcProfileProperties_type, 3)->as(); } @@ -17373,11 +17373,11 @@ Ifc4x2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcProjectOrder boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > Ifc4x2::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcProjectOrder::declaration() const { return *IFC4X2_IfcProjectOrder_type; } @@ -17387,9 +17387,9 @@ Ifc4x2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x2::IfcO // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcProjectedCRS::setMapUnit(::Ifc4x2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17401,7 +17401,7 @@ Ifc4x2::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optional< s // Function implementations for IfcProjectionElement boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > Ifc4x2::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcProjectionElement::declaration() const { return *IFC4X2_IfcProjectionElement_type; } @@ -17413,7 +17413,7 @@ Ifc4x2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::If std::string Ifc4x2::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcPropertySet::list::ptr Ifc4x2::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X2_IfcPropertySet_type, 4)->as(); } ::Ifc4x2::IfcPropertyDependencyRelationship::list::ptr Ifc4x2::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X2_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -17468,7 +17468,7 @@ void Ifc4x2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x2::I ::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProperty>(true); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x2::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X2_IfcPropertyDependencyRelationship_type; } @@ -17478,7 +17478,7 @@ Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boo // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17504,7 +17504,7 @@ Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggr // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17516,7 +17516,7 @@ Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::o // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcObjectReferenceSelect* Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcObjectReferenceSelect>(true); } void Ifc4x2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x2::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17549,9 +17549,9 @@ Ifc4x2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_Global // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x2::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr Ifc4x2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x2::IfcPropertyTemplate >(); } void Ifc4x2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -17576,17 +17576,17 @@ Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boos // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > Ifc4x2::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::declaration() const { return *IFC4X2_IfcPropertyTableValue_type; } @@ -17614,7 +17614,7 @@ Ifc4x2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x2::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcProtectiveDevice::declaration() const { return *IFC4X2_IfcProtectiveDevice_type; } @@ -17624,7 +17624,7 @@ Ifc4x2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X2_IfcProtectiveDeviceTrippingUnit_type; } @@ -17656,7 +17656,7 @@ Ifc4x2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId ::Ifc4x2::IfcObjectTypeEnum::Value Ifc4x2::IfcProxy::ProxyType() const { return ::Ifc4x2::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcProxy::setProxyType(::Ifc4x2::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcProxy::declaration() const { return *IFC4X2_IfcProxy_type; } @@ -17666,7 +17666,7 @@ Ifc4x2::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v // Function implementations for IfcPump boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > Ifc4x2::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcPump::declaration() const { return *IFC4X2_IfcPump_type; } @@ -17688,7 +17688,7 @@ Ifc4x2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist double Ifc4x2::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcQuantityArea::declaration() const { return *IFC4X2_IfcQuantityArea_type; } @@ -17700,7 +17700,7 @@ Ifc4x2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< s double Ifc4x2::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcQuantityCount::declaration() const { return *IFC4X2_IfcQuantityCount_type; } @@ -17712,7 +17712,7 @@ Ifc4x2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< double Ifc4x2::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcQuantityLength::declaration() const { return *IFC4X2_IfcQuantityLength_type; } @@ -17732,7 +17732,7 @@ Ifc4x2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwn double Ifc4x2::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcQuantityTime::declaration() const { return *IFC4X2_IfcQuantityTime_type; } @@ -17744,7 +17744,7 @@ Ifc4x2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< s double Ifc4x2::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcQuantityVolume::declaration() const { return *IFC4X2_IfcQuantityVolume_type; } @@ -17756,7 +17756,7 @@ Ifc4x2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optiona double Ifc4x2::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcQuantityWeight::declaration() const { return *IFC4X2_IfcQuantityWeight_type; } @@ -17766,7 +17766,7 @@ Ifc4x2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optiona // Function implementations for IfcRailing boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > Ifc4x2::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcRailing::declaration() const { return *IFC4X2_IfcRailing_type; } @@ -17786,7 +17786,7 @@ Ifc4x2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwn // Function implementations for IfcRamp boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > Ifc4x2::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcRamp::declaration() const { return *IFC4X2_IfcRamp_type; } @@ -17796,7 +17796,7 @@ Ifc4x2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ // Function implementations for IfcRampFlight boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > Ifc4x2::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcRampFlight::declaration() const { return *IFC4X2_IfcRampFlight_type; } @@ -17848,9 +17848,9 @@ Ifc4x2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(i double Ifc4x2::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x2::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X2_IfcRectangleHollowProfileDef_type; } @@ -17910,19 +17910,19 @@ Ifc4x2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x2::Ifc ::Ifc4x2::IfcRecurrenceTypeEnum::Value Ifc4x2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x2::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x2::IfcRecurrencePattern::setRecurrenceType(::Ifc4x2::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4x2::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x2::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcTimePeriod >::ptr > Ifc4x2::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcTimePeriod >(); } -void Ifc4x2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x2::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x2::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcRecurrencePattern::declaration() const { return *IFC4X2_IfcRecurrencePattern_type; } @@ -17932,13 +17932,13 @@ Ifc4x2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x2::IfcRecurrenceTypeEn // Function implementations for IfcReference boost::optional< std::string > Ifc4x2::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x2::IfcReference* Ifc4x2::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcReference::setInnerReference(::Ifc4x2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17950,9 +17950,9 @@ Ifc4x2::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIdentif // Function implementations for IfcReferent boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > Ifc4x2::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReferentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcReferent::declaration() const { return *IFC4X2_IfcReferent_type; } @@ -17978,13 +17978,13 @@ void Ifc4x2::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { std::string Ifc4x2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcementBarProperties::declaration() const { return *IFC4X2_IfcReinforcementBarProperties_type; } @@ -17994,7 +17994,7 @@ Ifc4x2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_T // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4x2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr Ifc4x2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcSectionReinforcementProperties >(); } void Ifc4x2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18006,15 +18006,15 @@ Ifc4x2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperti // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4x2::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > Ifc4x2::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingBar::declaration() const { return *IFC4X2_IfcReinforcingBar_type; } @@ -18026,17 +18026,17 @@ Ifc4x2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x2:: ::Ifc4x2::IfcReinforcingBarTypeEnum::Value Ifc4x2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcReinforcingBarType::setPredefinedType(::Ifc4x2::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x2::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::declaration() const { return *IFC4X2_IfcReinforcingBarType_type; } @@ -18046,7 +18046,7 @@ Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, :: // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x2::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingElement::declaration() const { return *IFC4X2_IfcReinforcingElement_type; } @@ -18064,23 +18064,23 @@ Ifc4x2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_Glob // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4x2::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > Ifc4x2::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4x2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingMesh::declaration() const { return *IFC4X2_IfcReinforcingMesh_type; } @@ -18092,25 +18092,25 @@ Ifc4x2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x2 ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value Ifc4x2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcReinforcingMeshType::setPredefinedType(::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x2::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::declaration() const { return *IFC4X2_IfcReinforcingMeshType_type; } @@ -18134,7 +18134,7 @@ Ifc4x2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x2::If aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > Ifc4x2::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x2::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x2::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x2::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcRelAssigns::declaration() const { return *IFC4X2_IfcRelAssigns_type; } @@ -18248,7 +18248,7 @@ Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::stri // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcConstraint* Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18374,7 +18374,7 @@ void Ifc4x2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x2::IfcBo ::Ifc4x2::IfcStructuralConnectionCondition* Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcStructuralConnectionCondition>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x2::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -18398,7 +18398,7 @@ Ifc4x2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::stri aggregate_of< ::Ifc4x2::IfcElement >::ptr Ifc4x2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcElement >(); } void Ifc4x2::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x2::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X2_IfcRelConnectsWithRealizingElements_type; } @@ -18550,7 +18550,7 @@ void Ifc4x2::IfcRelInterferesElements::setRelatedElement(::Ifc4x2::IfcElement* v ::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4x2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4x2::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18616,9 +18616,9 @@ void Ifc4x2::IfcRelSequence::setRelatedProcess(::Ifc4x2::IfcProcess* v) { {IfcWr ::Ifc4x2::IfcLagTime* Ifc4x2::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcLagTime>(true); } void Ifc4x2::IfcRelSequence::setTimeLag(::Ifc4x2::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > Ifc4x2::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcRelSequence::declaration() const { return *IFC4X2_IfcRelSequence_type; } @@ -18712,9 +18712,9 @@ Ifc4x2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveS ::Ifc4x2::IfcRepresentationContext* Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationContext>(true); } void Ifc4x2::IfcRepresentation::setContextOfItems(::Ifc4x2::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr Ifc4x2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcRepresentationItem >(); } void Ifc4x2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18729,9 +18729,9 @@ Ifc4x2::IfcRepresentation::IfcRepresentation(::Ifc4x2::IfcRepresentationContext* // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x2::IfcRepresentation::list::ptr Ifc4x2::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X2_IfcRepresentation_type, 0)->as(); } @@ -18766,9 +18766,9 @@ Ifc4x2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x2::IfcAxis2Placement* // Function implementations for IfcResource boost::optional< std::string > Ifc4x2::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcRelAssignsToResource::list::ptr Ifc4x2::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X2_IfcRelAssignsToResource_type, 6)->as(); } @@ -18803,9 +18803,9 @@ Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boo // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcResourceLevelRelationship::declaration() const { return *IFC4X2_IfcResourceLevelRelationship_type; } @@ -18815,35 +18815,35 @@ Ifc4x2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::option // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4x2::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x2::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x2::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x2::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x2::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x2::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x2::IfcResourceTime::declaration() const { return *IFC4X2_IfcResourceTime_type; } @@ -18899,7 +18899,7 @@ Ifc4x2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x2::IfcAxis2Pla // Function implementations for IfcRoof boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > Ifc4x2::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcRoof::declaration() const { return *IFC4X2_IfcRoof_type; } @@ -18923,9 +18923,9 @@ void Ifc4x2::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* ::Ifc4x2::IfcOwnerHistory* Ifc4x2::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcOwnerHistory>(true); } void Ifc4x2::IfcRoot::setOwnerHistory(::Ifc4x2::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcRoot::declaration() const { return *IFC4X2_IfcRoot_type; } @@ -18945,7 +18945,7 @@ Ifc4x2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x2::I // Function implementations for IfcSIUnit boost::optional< ::Ifc4x2::IfcSIPrefix::Value > Ifc4x2::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x2::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x2::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4x2::IfcSIUnitName::Value Ifc4x2::IfcSIUnit::Name() const { return ::Ifc4x2::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x2::IfcSIUnit::setName(::Ifc4x2::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -18957,7 +18957,7 @@ Ifc4x2::IfcSIUnit::IfcSIUnit(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, boost::op // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x2::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSanitaryTerminal::declaration() const { return *IFC4X2_IfcSanitaryTerminal_type; } @@ -18977,11 +18977,11 @@ Ifc4x2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4x2::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > Ifc4x2::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x2::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4x2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcSchedulingTime::declaration() const { return *IFC4X2_IfcSchedulingTime_type; } @@ -19017,7 +19017,7 @@ void Ifc4x2::IfcSectionReinforcementProperties::setLongitudinalStartPosition(dou double Ifc4x2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x2::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x2::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4x2::IfcSectionProperties* Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSectionProperties>(true); } @@ -19071,7 +19071,7 @@ Ifc4x2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x2::IfcCompositeCurve* v1_Spi // Function implementations for IfcSensor boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > Ifc4x2::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSensor::declaration() const { return *IFC4X2_IfcSensor_type; } @@ -19091,7 +19091,7 @@ Ifc4x2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcShadingDevice boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > Ifc4x2::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcShadingDevice::declaration() const { return *IFC4X2_IfcShadingDevice_type; } @@ -19113,9 +19113,9 @@ Ifc4x2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::If aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr Ifc4x2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x2::IfcShapeModel >(); } void Ifc4x2::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcProductRepresentationSelect* Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProductRepresentationSelect>(true); } @@ -19165,11 +19165,11 @@ Ifc4x2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optiona // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcUnit>(true); } @@ -19177,9 +19177,9 @@ void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x2::IfcUnit* v) { { ::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x2::IfcSimplePropertyTemplate::declaration() const { return *IFC4X2_IfcSimplePropertyTemplate_type; } @@ -19189,13 +19189,13 @@ Ifc4x2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_Glob // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x2::IfcPostalAddress>(true); } void Ifc4x2::IfcSite::setSiteAddress(::Ifc4x2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -19207,7 +19207,7 @@ Ifc4x2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ // Function implementations for IfcSlab boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > Ifc4x2::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSlab::declaration() const { return *IFC4X2_IfcSlab_type; } @@ -19243,11 +19243,11 @@ Ifc4x2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcSlippageConnectionCondition::declaration() const { return *IFC4X2_IfcSlippageConnectionCondition_type; } @@ -19257,7 +19257,7 @@ Ifc4x2::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::op // Function implementations for IfcSolarDevice boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > Ifc4x2::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSolarDevice::declaration() const { return *IFC4X2_IfcSolarDevice_type; } @@ -19285,9 +19285,9 @@ Ifc4x2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcEnti // Function implementations for IfcSpace boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > Ifc4x2::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x2::IfcRelCoversSpaces::list::ptr Ifc4x2::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X2_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x2::IfcRelSpaceBoundary::list::ptr Ifc4x2::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X2_IfcRelSpaceBoundary_type, 4)->as(); } @@ -19299,7 +19299,7 @@ Ifc4x2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > Ifc4x2::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSpaceHeater::declaration() const { return *IFC4X2_IfcSpaceHeater_type; } @@ -19321,7 +19321,7 @@ Ifc4x2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x2 ::Ifc4x2::IfcSpaceTypeEnum::Value Ifc4x2::IfcSpaceType::PredefinedType() const { return ::Ifc4x2::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcSpaceType::setPredefinedType(::Ifc4x2::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcSpaceType::declaration() const { return *IFC4X2_IfcSpaceType_type; } @@ -19331,7 +19331,7 @@ Ifc4x2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4x2::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x2::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X2_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x2::IfcRelServicesBuildings::list::ptr Ifc4x2::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X2_IfcRelServicesBuildings_type, 5)->as(); } @@ -19344,7 +19344,7 @@ Ifc4x2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4x2::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSpatialElementType::declaration() const { return *IFC4X2_IfcSpatialElementType_type; } @@ -19354,7 +19354,7 @@ Ifc4x2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, :: // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > Ifc4x2::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSpatialStructureElement::declaration() const { return *IFC4X2_IfcSpatialStructureElement_type; } @@ -19372,7 +19372,7 @@ Ifc4x2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::stri // Function implementations for IfcSpatialZone boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > Ifc4x2::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSpatialZone::declaration() const { return *IFC4X2_IfcSpatialZone_type; } @@ -19384,7 +19384,7 @@ Ifc4x2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x2::IfcOwn ::Ifc4x2::IfcSpatialZoneTypeEnum::Value Ifc4x2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcSpatialZoneType::setPredefinedType(::Ifc4x2::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcSpatialZoneType::declaration() const { return *IFC4X2_IfcSpatialZoneType_type; } @@ -19414,7 +19414,7 @@ Ifc4x2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x2::IfcAxis2Placement3D* // Function implementations for IfcStackTerminal boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > Ifc4x2::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcStackTerminal::declaration() const { return *IFC4X2_IfcStackTerminal_type; } @@ -19434,7 +19434,7 @@ Ifc4x2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcStair boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > Ifc4x2::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcStair::declaration() const { return *IFC4X2_IfcStair_type; } @@ -19444,15 +19444,15 @@ Ifc4x2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v // Function implementations for IfcStairFlight boost::optional< int > Ifc4x2::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4x2::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > Ifc4x2::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x2::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcStairFlight::declaration() const { return *IFC4X2_IfcStairFlight_type; } @@ -19482,7 +19482,7 @@ Ifc4x2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4x2::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralAction::declaration() const { return *IFC4X2_IfcStructuralAction_type; } @@ -19509,9 +19509,9 @@ void Ifc4x2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x2::IfcAnalysis ::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcStructuralLoadGroup >(); } -void Ifc4x2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x2::IfcStructuralResultGroup >(); } -void Ifc4x2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -19534,7 +19534,7 @@ Ifc4x2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4x2::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralConnectionCondition::declaration() const { return *IFC4X2_IfcStructuralConnectionCondition_type; } @@ -19544,7 +19544,7 @@ Ifc4x2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x2::IfcStructuralCurveAction::setPredefinedType(::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -19613,7 +19613,7 @@ Ifc4x2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_Glob // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4x2::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoad::declaration() const { return *IFC4X2_IfcStructuralLoad_type; } @@ -19623,7 +19623,7 @@ Ifc4x2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_N // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadCase::declaration() const { return *IFC4X2_IfcStructuralLoadCase_type; } @@ -19635,7 +19635,7 @@ Ifc4x2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, :: aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr Ifc4x2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcStructuralLoadOrResult >(); } void Ifc4x2::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4x2::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X2_IfcStructuralLoadConfiguration_type; } @@ -19651,9 +19651,9 @@ void Ifc4x2::IfcStructuralLoadGroup::setActionType(::Ifc4x2::IfcActionTypeEnum:: ::Ifc4x2::IfcActionSourceTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x2::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcStructuralLoadGroup::setActionSource(::Ifc4x2::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x2::IfcStructuralResultGroup::list::ptr Ifc4x2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X2_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x2::IfcStructuralAnalysisModel::list::ptr Ifc4x2::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X2_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -19665,17 +19665,17 @@ Ifc4x2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X2_IfcStructuralLoadLinearForce_type; } @@ -19693,11 +19693,11 @@ Ifc4x2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< st // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X2_IfcStructuralLoadPlanarForce_type; } @@ -19707,17 +19707,17 @@ Ifc4x2::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::option // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X2_IfcStructuralLoadSingleDisplacement_type; } @@ -19727,7 +19727,7 @@ Ifc4x2::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X2_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -19737,17 +19737,17 @@ Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDi // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X2_IfcStructuralLoadSingleForce_type; } @@ -19757,7 +19757,7 @@ Ifc4x2::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::option // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X2_IfcStructuralLoadSingleForceWarping_type; } @@ -19775,11 +19775,11 @@ Ifc4x2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::s // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadTemperature::declaration() const { return *IFC4X2_IfcStructuralLoadTemperature_type; } @@ -19855,7 +19855,7 @@ Ifc4x2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Global // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x2::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -19877,7 +19877,7 @@ Ifc4x2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::stri ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceMember::declaration() const { return *IFC4X2_IfcStructuralSurfaceMember_type; } @@ -19917,7 +19917,7 @@ void Ifc4x2::IfcStyledItem::setItem(::Ifc4x2::IfcRepresentationItem* v) { {IfcWr aggregate_of_instance::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x2::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcStyledItem::declaration() const { return *IFC4X2_IfcStyledItem_type; } @@ -19935,7 +19935,7 @@ Ifc4x2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x2::IfcRepresenta // Function implementations for IfcSubContractResource boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > Ifc4x2::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcSubContractResource::declaration() const { return *IFC4X2_IfcSubContractResource_type; } @@ -19989,9 +19989,9 @@ Ifc4x2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggrega ::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcSurface* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20003,7 +20003,7 @@ Ifc4x2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x2::I // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x2::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSurfaceFeature::declaration() const { return *IFC4X2_IfcSurfaceFeature_type; } @@ -20035,11 +20035,11 @@ Ifc4x2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x2::IfcProfileDef* // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x2::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X2_IfcSurfaceReinforcementArea_type; } @@ -20077,9 +20077,9 @@ Ifc4x2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x2::IfcColourRgb* // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X2_IfcSurfaceStyleRefraction_type; } @@ -20113,7 +20113,7 @@ Ifc4x2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x2::IfcColourRg ::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleShading::declaration() const { return *IFC4X2_IfcSurfaceStyleShading_type; } @@ -20137,11 +20137,11 @@ void Ifc4x2::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgument bool Ifc4x2::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x2::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x2::IfcSurfaceTexture::setTextureTransform(::Ifc4x2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcTextureCoordinate::list::ptr Ifc4x2::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X2_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x2::IfcSurfaceStyleWithTextures::list::ptr Ifc4x2::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X2_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -20169,11 +20169,11 @@ void Ifc4x2::IfcSweptDiskSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite: double Ifc4x2::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcSweptDiskSolid::declaration() const { return *IFC4X2_IfcSweptDiskSolid_type; } @@ -20183,7 +20183,7 @@ Ifc4x2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x2::IfcCurve* v1_Directrix, d // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4x2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X2_IfcSweptDiskSolidPolygonal_type; } @@ -20205,7 +20205,7 @@ Ifc4x2::IfcSweptSurface::IfcSweptSurface(::Ifc4x2::IfcProfileDef* v1_SweptCurve, // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x2::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSwitchingDevice::declaration() const { return *IFC4X2_IfcSwitchingDevice_type; } @@ -20234,7 +20234,7 @@ Ifc4x2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcSystemFurnitureElement::declaration() const { return *IFC4X2_IfcSystemFurnitureElement_type; } @@ -20244,7 +20244,7 @@ Ifc4x2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_Glob // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcSystemFurnitureElementType::declaration() const { return *IFC4X2_IfcSystemFurnitureElementType_type; } @@ -20262,15 +20262,15 @@ void Ifc4x2::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x2::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x2::IfcTShapeProfileDef::declaration() const { return *IFC4X2_IfcTShapeProfileDef_type; } @@ -20280,11 +20280,11 @@ Ifc4x2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::V // Function implementations for IfcTable boost::optional< std::string > Ifc4x2::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > Ifc4x2::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcTableRow >(); } -void Ifc4x2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > Ifc4x2::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcTableColumn >(); } -void Ifc4x2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcTable::declaration() const { return *IFC4X2_IfcTable_type; } @@ -20294,11 +20294,11 @@ Ifc4x2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::option // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4x2::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcTableColumn::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcReference* Ifc4x2::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcReference>(true); } @@ -20312,9 +20312,9 @@ Ifc4x2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identif // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x2::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x2::IfcTableRow::declaration() const { return *IFC4X2_IfcTableRow_type; } @@ -20324,7 +20324,7 @@ Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v // Function implementations for IfcTank boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > Ifc4x2::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcTank::declaration() const { return *IFC4X2_IfcTank_type; } @@ -20344,17 +20344,17 @@ Ifc4x2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcTask boost::optional< std::string > Ifc4x2::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x2::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x2::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x2::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x2::IfcTaskTime* Ifc4x2::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcTaskTime>(true); } void Ifc4x2::IfcTask::setTaskTime(::Ifc4x2::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > Ifc4x2::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcTask::declaration() const { return *IFC4X2_IfcTask_type; } @@ -20364,39 +20364,39 @@ Ifc4x2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ // Function implementations for IfcTaskTime boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > Ifc4x2::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4x2::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4x2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4x2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4x2::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4x2::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x2::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x2::IfcTaskTime::declaration() const { return *IFC4X2_IfcTaskTime_type; } @@ -20418,7 +20418,7 @@ Ifc4x2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string ::Ifc4x2::IfcTaskTypeEnum::Value Ifc4x2::IfcTaskType::PredefinedType() const { return ::Ifc4x2::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcTaskType::setPredefinedType(::Ifc4x2::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x2::IfcTaskType::declaration() const { return *IFC4X2_IfcTaskType_type; } @@ -20428,17 +20428,17 @@ Ifc4x2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcTelecomAddress::declaration() const { return *IFC4X2_IfcTelecomAddress_type; } @@ -20448,21 +20448,21 @@ Ifc4x2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x2::IfcAddre // Function implementations for IfcTendon boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > Ifc4x2::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x2::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x2::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x2::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x2::IfcTendon::declaration() const { return *IFC4X2_IfcTendon_type; } @@ -20472,7 +20472,7 @@ Ifc4x2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > Ifc4x2::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcTendonAnchor::declaration() const { return *IFC4X2_IfcTendonAnchor_type; } @@ -20514,11 +20514,11 @@ Ifc4x2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::If ::Ifc4x2::IfcTendonTypeEnum::Value Ifc4x2::IfcTendonType::PredefinedType() const { return ::Ifc4x2::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x2::IfcTendonType::setPredefinedType(::Ifc4x2::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x2::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcTendonType::declaration() const { return *IFC4X2_IfcTendonType_type; } @@ -20580,7 +20580,7 @@ void Ifc4x2::IfcTextStyle::setTextStyle(::Ifc4x2::IfcTextStyleTextModel* v) { {I ::Ifc4x2::IfcTextFontSelect* Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTextFontSelect>(true); } void Ifc4x2::IfcTextStyle::setTextFontStyle(::Ifc4x2::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x2::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcTextStyle::declaration() const { return *IFC4X2_IfcTextStyle_type; } @@ -20592,11 +20592,11 @@ Ifc4x2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc std::vector< std::string > /*[1:?]*/ Ifc4x2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleFontModel::setFontSize(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20622,15 +20622,15 @@ Ifc4x2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x2::IfcColo ::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setTextIndent(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setLineHeight(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20654,7 +20654,7 @@ Ifc4x2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x2::IfcSu std::string Ifc4x2::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x2::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x2::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X2_IfcTextureCoordinateGenerator_type; } @@ -20710,7 +20710,7 @@ Ifc4x2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_En std::string Ifc4x2::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4x2::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4x2::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -20720,7 +20720,7 @@ void Ifc4x2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x2::IfcTimeSeriesDataTyp ::Ifc4x2::IfcDataOriginEnum::Value Ifc4x2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x2::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcTimeSeries::setDataOrigin(::Ifc4x2::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x2::IfcUnit* Ifc4x2::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcTimeSeries::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -20771,7 +20771,7 @@ Ifc4x2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x2::IfcAxis2Placement3D* v1 // Function implementations for IfcTransformer boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > Ifc4x2::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcTransformer::declaration() const { return *IFC4X2_IfcTransformer_type; } @@ -20791,9 +20791,9 @@ Ifc4x2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcTransitionCurveSegment2D boost::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::StartRadius() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x2::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x2::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::EndRadius() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } bool Ifc4x2::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = *data_->getArgument(5); return v; } void Ifc4x2::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } bool Ifc4x2::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = *data_->getArgument(6); return v; } @@ -20809,7 +20809,7 @@ Ifc4x2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x2::IfcCa // Function implementations for IfcTransportElement boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > Ifc4x2::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTransportElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTransportElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcTransportElement::declaration() const { return *IFC4X2_IfcTransportElement_type; } @@ -20845,13 +20845,13 @@ Ifc4x2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x2::IfcProfileTypeE // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4x2::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4x2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x2::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4x2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x2::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x2::IfcTriangulatedFaceSet::declaration() const { return *IFC4X2_IfcTriangulatedFaceSet_type; } @@ -20889,7 +20889,7 @@ Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggr // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > Ifc4x2::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcTubeBundle::declaration() const { return *IFC4X2_IfcTubeBundle_type; } @@ -20909,9 +20909,9 @@ Ifc4x2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4x2::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > Ifc4x2::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } -void Ifc4x2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4x2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4x2::IfcRelDefinesByType::list::ptr Ifc4x2::IfcTypeObject::Types() const { return data_->getInverse(IFC4X2_IfcRelDefinesByType_type, 5)->as(); } @@ -20922,11 +20922,11 @@ Ifc4x2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4x2::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x2::IfcRelAssignsToProcess::list::ptr Ifc4x2::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X2_IfcRelAssignsToProcess_type, 6)->as(); } @@ -20937,9 +20937,9 @@ Ifc4x2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwn // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > Ifc4x2::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x2::IfcRepresentationMap >(); } -void Ifc4x2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcRelAssignsToProduct::list::ptr Ifc4x2::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X2_IfcRelAssignsToProduct_type, 6)->as(); } @@ -20950,11 +20950,11 @@ Ifc4x2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwn // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4x2::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x2::IfcRelAssignsToResource::list::ptr Ifc4x2::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X2_IfcRelAssignsToResource_type, 6)->as(); } @@ -20973,11 +20973,11 @@ void Ifc4x2::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x2::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcUShapeProfileDef::declaration() const { return *IFC4X2_IfcUShapeProfileDef_type; } @@ -20997,7 +20997,7 @@ Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x2::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcUnitaryControlElement::declaration() const { return *IFC4X2_IfcUnitaryControlElement_type; } @@ -21017,7 +21017,7 @@ Ifc4x2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x2::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcUnitaryEquipment::declaration() const { return *IFC4X2_IfcUnitaryEquipment_type; } @@ -21037,7 +21037,7 @@ Ifc4x2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId // Function implementations for IfcValve boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > Ifc4x2::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcValve::declaration() const { return *IFC4X2_IfcValve_type; } @@ -21097,7 +21097,7 @@ Ifc4x2::IfcVertexPoint::IfcVertexPoint(::Ifc4x2::IfcPoint* v1_VertexGeometry) : // Function implementations for IfcVibrationDamper boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcVibrationDamper::declaration() const { return *IFC4X2_IfcVibrationDamper_type; } @@ -21107,7 +21107,7 @@ Ifc4x2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcVibrationDamperType boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamperType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x2::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x2::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x2::IfcVibrationDamperType::declaration() const { return *IFC4X2_IfcVibrationDamperType_type; } @@ -21117,7 +21117,7 @@ Ifc4x2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x2::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcVibrationIsolator::declaration() const { return *IFC4X2_IfcVibrationIsolator_type; } @@ -21157,7 +21157,7 @@ Ifc4x2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::I // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > Ifc4x2::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcVoidingFeature::declaration() const { return *IFC4X2_IfcVoidingFeature_type; } @@ -21167,7 +21167,7 @@ Ifc4x2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcWall boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > Ifc4x2::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcWall::declaration() const { return *IFC4X2_IfcWall_type; } @@ -21203,7 +21203,7 @@ Ifc4x2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > Ifc4x2::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcWasteTerminal::declaration() const { return *IFC4X2_IfcWasteTerminal_type; } @@ -21223,15 +21223,15 @@ Ifc4x2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcWindow boost::optional< double > Ifc4x2::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > Ifc4x2::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > Ifc4x2::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcWindow::declaration() const { return *IFC4X2_IfcWindow_type; } @@ -21241,29 +21241,29 @@ Ifc4x2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x2::IfcWindowLiningProperties::declaration() const { return *IFC4X2_IfcWindowLiningProperties_type; } @@ -21277,9 +21277,9 @@ void Ifc4x2::IfcWindowPanelProperties::setOperationType(::Ifc4x2::IfcWindowPanel ::Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcWindowPanelProperties::setPanelPosition(::Ifc4x2::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21319,9 +21319,9 @@ void Ifc4x2::IfcWindowType::setPredefinedType(::Ifc4x2::IfcWindowTypeEnum::Value ::Ifc4x2::IfcWindowTypePartitioningEnum::Value Ifc4x2::IfcWindowType::PartitioningType() const { return ::Ifc4x2::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x2::IfcWindowType::setPartitioningType(::Ifc4x2::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x2::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcWindowType::declaration() const { return *IFC4X2_IfcWindowType_type; } @@ -21331,11 +21331,11 @@ Ifc4x2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > Ifc4x2::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x2::IfcWorkTime >(); } -void Ifc4x2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > Ifc4x2::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcWorkTime >(); } -void Ifc4x2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > Ifc4x2::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcWorkCalendar::declaration() const { return *IFC4X2_IfcWorkCalendar_type; } @@ -21347,17 +21347,17 @@ Ifc4x2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x2::IfcO std::string Ifc4x2::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x2::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcPerson >(); } -void Ifc4x2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x2::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x2::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4x2::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x2::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x2::IfcWorkControl::declaration() const { return *IFC4X2_IfcWorkControl_type; } @@ -21367,7 +21367,7 @@ Ifc4x2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwn // Function implementations for IfcWorkPlan boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > Ifc4x2::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x2::IfcWorkPlan::declaration() const { return *IFC4X2_IfcWorkPlan_type; } @@ -21377,7 +21377,7 @@ Ifc4x2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > Ifc4x2::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x2::IfcWorkSchedule::declaration() const { return *IFC4X2_IfcWorkSchedule_type; } @@ -21389,9 +21389,9 @@ Ifc4x2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcO ::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } void Ifc4x2::IfcWorkTime::setRecurrencePattern(::Ifc4x2::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x2::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x2::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcWorkTime::declaration() const { return *IFC4X2_IfcWorkTime_type; } @@ -21409,9 +21409,9 @@ void Ifc4x2::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::IfcWrit double Ifc4x2::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x2::IfcZShapeProfileDef::declaration() const { return *IFC4X2_IfcZShapeProfileDef_type; } @@ -21421,7 +21421,7 @@ Ifc4x2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::V // Function implementations for IfcZone boost::optional< std::string > Ifc4x2::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x2::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x2::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x2::IfcZone::declaration() const { return *IFC4X2_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp index 67bc0c0e19..03437fc88e 100644 --- a/src/ifcparse/Ifc4x3_rc1.cpp +++ b/src/ifcparse/Ifc4x3_rc1.cpp @@ -12962,11 +12962,11 @@ Ifc4x3_rc1::IfcWarpingMomentMeasure::operator double() const { return *data_->ge // Function implementations for IfcActionRequest boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > Ifc4x3_rc1::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcActionRequest::declaration() const { return *IFC4X3_RC1_IfcActionRequest_type; } @@ -12989,9 +12989,9 @@ Ifc4x3_rc1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi ::Ifc4x3_rc1::IfcRoleEnum::Value Ifc4x3_rc1::IfcActorRole::Role() const { return ::Ifc4x3_rc1::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc1::IfcActorRole::setRole(::Ifc4x3_rc1::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13002,7 +13002,7 @@ Ifc4x3_rc1::IfcActorRole::IfcActorRole(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, // Function implementations for IfcActuator boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > Ifc4x3_rc1::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcActuator::declaration() const { return *IFC4X3_RC1_IfcActuator_type; } @@ -13022,11 +13022,11 @@ Ifc4x3_rc1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcAddress boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Ifc4x3_rc1::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x3_rc1::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcPerson::list::ptr Ifc4x3_rc1::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X3_RC1_IfcPerson_type, 7)->as(); } ::Ifc4x3_rc1::IfcOrganization::list::ptr Ifc4x3_rc1::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X3_RC1_IfcOrganization_type, 4)->as(); } @@ -13064,7 +13064,7 @@ Ifc4x3_rc1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc1::IfcFace // Function implementations for IfcAirTerminal boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminal::declaration() const { return *IFC4X3_RC1_IfcAirTerminal_type; } @@ -13074,7 +13074,7 @@ Ifc4x3_rc1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalBox::declaration() const { return *IFC4X3_RC1_IfcAirTerminalBox_type; } @@ -13104,7 +13104,7 @@ Ifc4x3_rc1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X3_RC1_IfcAirToAirHeatRecovery_type; } @@ -13124,7 +13124,7 @@ Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string // Function implementations for IfcAlarm boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > Ifc4x3_rc1::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlarm::declaration() const { return *IFC4X3_RC1_IfcAlarm_type; } @@ -13144,7 +13144,7 @@ Ifc4x3_rc1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc1::If // Function implementations for IfcAlignment boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > Ifc4x3_rc1::IfcAlignment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAlignmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAlignmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment::declaration() const { return *IFC4X3_RC1_IfcAlignment_type; } @@ -13174,9 +13174,9 @@ Ifc4x3_rc1::IfcAlignment2DCantSegLine::IfcAlignment2DCantSegLine(boost::optional // Function implementations for IfcAlignment2DCantSegTransition boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::StartRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::EndRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } bool Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IsStartRadiusCCW() const { bool v = *data_->getArgument(11); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setIsStartRadiusCCW(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } bool Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IsEndRadiusCCW() const { bool v = *data_->getArgument(12); return v; } @@ -13198,11 +13198,11 @@ void Ifc4x3_rc1::IfcAlignment2DCantSegment::setHorizontalLength(double v) { {Ifc double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartCantLeft() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setStartCantLeft(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantLeft() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartCantRight() const { double v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setStartCantRight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantRight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcAlignment2DCant::list::ptr Ifc4x3_rc1::IfcAlignment2DCantSegment::ToCant() const { return data_->getInverse(IFC4X3_RC1_IfcAlignment2DCant_type, 0)->as(); } @@ -13213,7 +13213,7 @@ Ifc4x3_rc1::IfcAlignment2DCantSegment::IfcAlignment2DCantSegment(boost::optional // Function implementations for IfcAlignment2DHorizontal boost::optional< double > Ifc4x3_rc1::IfcAlignment2DHorizontal::StartDistAlong() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr Ifc4x3_rc1::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >(); } void Ifc4x3_rc1::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13237,11 +13237,11 @@ Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boo // Function implementations for IfcAlignment2DSegment boost::optional< bool > Ifc4x3_rc1::IfcAlignment2DSegment::TangentialContinuity() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } bool v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAlignment2DSegment::StartTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAlignment2DSegment::EndTag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DSegment::declaration() const { return *IFC4X3_RC1_IfcAlignment2DSegment_type; } @@ -13283,9 +13283,9 @@ Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(b // Function implementations for IfcAlignment2DVerSegTransition boost::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::StartRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::EndRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IsStartRadiusCCW() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setIsStartRadiusCCW(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } bool Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IsEndRadiusCCW() const { bool v = *data_->getArgument(10); return v; } @@ -13333,7 +13333,7 @@ void Ifc4x3_rc1::IfcAlignmentCurve::setHorizontal(::Ifc4x3_rc1::IfcAlignment2DHo ::Ifc4x3_rc1::IfcAlignment2DVertical* Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAlignment2DVertical>(true); } void Ifc4x3_rc1::IfcAlignmentCurve::setVertical(::Ifc4x3_rc1::IfcAlignment2DVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlignmentCurve::declaration() const { return *IFC4X3_RC1_IfcAlignmentCurve_type; } @@ -13343,7 +13343,7 @@ Ifc4x3_rc1::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x3_rc1::IfcAlignment2DHor // Function implementations for IfcAnnotation boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > Ifc4x3_rc1::IfcAnnotation::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAnnotationTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAnnotationTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAnnotationTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc1::IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IFC4X3_RC1_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -13356,7 +13356,7 @@ Ifc4x3_rc1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc1:: ::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > Ifc4x3_rc1::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } -void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAnnotationFillArea::declaration() const { return *IFC4X3_RC1_IfcAnnotationFillArea_type; } @@ -13382,25 +13382,25 @@ Ifc4x3_rc1::IfcApplication::IfcApplication(::Ifc4x3_rc1::IfcOrganization* v1_App // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcAppliedValueSelect* Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAppliedValueSelect>(true); } void Ifc4x3_rc1::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc1::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc1::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } -void Ifc4x3_rc1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13411,19 +13411,19 @@ Ifc4x3_rc1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_N // Function implementations for IfcApproval boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcApproval::setRequestingApproval(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } @@ -13484,7 +13484,7 @@ Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc1::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setOriginalValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } @@ -13498,7 +13498,7 @@ void Ifc4x3_rc1::IfcAsset::setUser(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite: ::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcPerson>(true); } void Ifc4x3_rc1::IfcAsset::setResponsiblePerson(::Ifc4x3_rc1::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setDepreciatedValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13518,21 +13518,21 @@ void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {Ifc double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcAsymmetricIShapeProfileDef_type; } @@ -13542,7 +13542,7 @@ Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc1::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcAudioVisualAppliance::declaration() const { return *IFC4X3_RC1_IfcAudioVisualAppliance_type; } @@ -13675,7 +13675,7 @@ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegre // Function implementations for IfcBeam boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > Ifc4x3_rc1::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBeam::declaration() const { return *IFC4X3_RC1_IfcBeam_type; } @@ -13703,7 +13703,7 @@ Ifc4x3_rc1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcBearing boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > Ifc4x3_rc1::IfcBearing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBearingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBearingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBearing::declaration() const { return *IFC4X3_RC1_IfcBearing_type; } @@ -13749,7 +13749,7 @@ Ifc4x3_rc1::IfcBlock::IfcBlock(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, d // Function implementations for IfcBoiler boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > Ifc4x3_rc1::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBoiler::declaration() const { return *IFC4X3_RC1_IfcBoiler_type; } @@ -13799,7 +13799,7 @@ Ifc4x3_rc1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4x3_rc1::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryCondition::declaration() const { return *IFC4X3_RC1_IfcBoundaryCondition_type; } @@ -13924,7 +13924,7 @@ Ifc4x3_rc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc1::IfcSurface* v1_Ba // Function implementations for IfcBridge boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > Ifc4x3_rc1::IfcBridge::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBridgeTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBridgeTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBridge::declaration() const { return *IFC4X3_RC1_IfcBridge_type; } @@ -13942,9 +13942,9 @@ Ifc4x3_rc1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcBuilding boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } void Ifc4x3_rc1::IfcBuilding::setBuildingAddress(::Ifc4x3_rc1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -13956,7 +13956,7 @@ Ifc4x3_rc1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementPart::declaration() const { return *IFC4X3_RC1_IfcBuildingElementPart_type; } @@ -13976,7 +13976,7 @@ Ifc4x3_rc1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementProxy::declaration() const { return *IFC4X3_RC1_IfcBuildingElementProxy_type; } @@ -13996,7 +13996,7 @@ Ifc4x3_rc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4x3_rc1::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingStorey::declaration() const { return *IFC4X3_RC1_IfcBuildingStorey_type; } @@ -14006,9 +14006,9 @@ Ifc4x3_rc1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingSystem::declaration() const { return *IFC4X3_RC1_IfcBuildingSystem_type; } @@ -14034,9 +14034,9 @@ Ifc4x3_rc1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, :: // Function implementations for IfcBuiltSystem boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuiltSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc1::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcBuiltSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuiltSystem::declaration() const { return *IFC4X3_RC1_IfcBuiltSystem_type; } @@ -14046,7 +14046,7 @@ Ifc4x3_rc1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcBurner boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > Ifc4x3_rc1::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcBurner::declaration() const { return *IFC4X3_RC1_IfcBurner_type; } @@ -14074,7 +14074,7 @@ void Ifc4x3_rc1::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::If double Ifc4x3_rc1::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcCShapeProfileDef_type; } @@ -14084,7 +14084,7 @@ Ifc4x3_rc1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc1::IfcProfileTyp // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierFitting::declaration() const { return *IFC4X3_RC1_IfcCableCarrierFitting_type; } @@ -14104,7 +14104,7 @@ Ifc4x3_rc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierSegment::declaration() const { return *IFC4X3_RC1_IfcCableCarrierSegment_type; } @@ -14124,7 +14124,7 @@ Ifc4x3_rc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v // Function implementations for IfcCableFitting boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableFitting::declaration() const { return *IFC4X3_RC1_IfcCableFitting_type; } @@ -14144,7 +14144,7 @@ Ifc4x3_rc1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, :: // Function implementations for IfcCableSegment boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableSegment::declaration() const { return *IFC4X3_RC1_IfcCableSegment_type; } @@ -14164,7 +14164,7 @@ Ifc4x3_rc1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, :: // Function implementations for IfcCaissonFoundation boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc1::IfcCaissonFoundation::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCaissonFoundation::declaration() const { return *IFC4X3_RC1_IfcCaissonFoundation_type; } @@ -14204,7 +14204,7 @@ Ifc4x3_rc1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricReprese std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList2D::declaration() const { return *IFC4X3_RC1_IfcCartesianPointList2D_type; } @@ -14216,7 +14216,7 @@ Ifc4x3_rc1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::v std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList3D::declaration() const { return *IFC4X3_RC1_IfcCartesianPointList3D_type; } @@ -14232,7 +14232,7 @@ void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc1::IfcD ::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator::declaration() const { return *IFC4X3_RC1_IfcCartesianTransformationOperator_type; } @@ -14250,7 +14250,7 @@ Ifc4x3_rc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X3_RC1_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -14270,9 +14270,9 @@ Ifc4x3_rc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X3_RC1_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -14292,7 +14292,7 @@ Ifc4x3_rc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc1::IfcPr // Function implementations for IfcChiller boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > Ifc4x3_rc1::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcChiller::declaration() const { return *IFC4X3_RC1_IfcChiller_type; } @@ -14312,7 +14312,7 @@ Ifc4x3_rc1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcChimney boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > Ifc4x3_rc1::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcChimney::declaration() const { return *IFC4X3_RC1_IfcChimney_type; } @@ -14390,19 +14390,19 @@ Ifc4x3_rc1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, :: // Function implementations for IfcClassification boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4x3_rc1::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc1::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc1::IfcClassificationReference::list::ptr Ifc4x3_rc1::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X3_RC1_IfcClassificationReference_type, 3)->as(); } @@ -14416,9 +14416,9 @@ Ifc4x3_rc1::IfcClassification::IfcClassification(boost::optional< std::string > ::Ifc4x3_rc1::IfcClassificationReferenceSelect* Ifc4x3_rc1::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc1::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc1::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc1::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc1::IfcClassificationReference::list::ptr Ifc4x3_rc1::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X3_RC1_IfcClassificationReference_type, 3)->as(); } @@ -14438,7 +14438,7 @@ Ifc4x3_rc1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc1::IfcFace > // Function implementations for IfcCoil boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > Ifc4x3_rc1::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCoil::declaration() const { return *IFC4X3_RC1_IfcCoil_type; } @@ -14482,7 +14482,7 @@ Ifc4x3_rc1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4x3_rc1::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcColourSpecification::declaration() const { return *IFC4X3_RC1_IfcColourSpecification_type; } @@ -14492,7 +14492,7 @@ Ifc4x3_rc1::IfcColourSpecification::IfcColourSpecification(boost::optional< std: // Function implementations for IfcColumn boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > Ifc4x3_rc1::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcColumn::declaration() const { return *IFC4X3_RC1_IfcColumn_type; } @@ -14520,7 +14520,7 @@ Ifc4x3_rc1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCommunicationsAppliance::declaration() const { return *IFC4X3_RC1_IfcCommunicationsAppliance_type; } @@ -14552,11 +14552,11 @@ Ifc4x3_rc1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::o // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4x3_rc1::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > Ifc4x3_rc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc1::IfcPropertyTemplate >(); } -void Ifc4x3_rc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcComplexPropertyTemplate::declaration() const { return *IFC4X3_RC1_IfcComplexPropertyTemplate_type; } @@ -14603,7 +14603,7 @@ Ifc4x3_rc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc1::Ifc aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeProfileDef::declaration() const { return *IFC4X3_RC1_IfcCompositeProfileDef_type; } @@ -14613,7 +14613,7 @@ Ifc4x3_rc1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc1::IfcProf // Function implementations for IfcCompressor boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > Ifc4x3_rc1::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCompressor::declaration() const { return *IFC4X3_RC1_IfcCompressor_type; } @@ -14633,7 +14633,7 @@ Ifc4x3_rc1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCondenser boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > Ifc4x3_rc1::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCondenser::declaration() const { return *IFC4X3_RC1_IfcCondenser_type; } @@ -14693,11 +14693,11 @@ Ifc4x3_rc1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEnt // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionPointEccentricity::declaration() const { return *IFC4X3_RC1_IfcConnectionPointEccentricity_type; } @@ -14745,17 +14745,17 @@ Ifc4x3_rc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc std::string Ifc4x3_rc1::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcConstraintEnum::Value Ifc4x3_rc1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc1::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc1::IfcConstraint::setConstraintGrade(::Ifc4x3_rc1::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcConstraint::setCreatingActor(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc1::IfcResourceConstraintRelationship::list::ptr Ifc4x3_rc1::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X3_RC1_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -14767,7 +14767,7 @@ Ifc4x3_rc1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< s // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionEquipmentResource::declaration() const { return *IFC4X3_RC1_IfcConstructionEquipmentResource_type; } @@ -14787,7 +14787,7 @@ Ifc4x3_rc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResour // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionMaterialResource::declaration() const { return *IFC4X3_RC1_IfcConstructionMaterialResource_type; } @@ -14807,7 +14807,7 @@ Ifc4x3_rc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResource // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionProductResource::declaration() const { return *IFC4X3_RC1_IfcConstructionProductResource_type; } @@ -14829,7 +14829,7 @@ Ifc4x3_rc1::IfcConstructionProductResourceType::IfcConstructionProductResourceTy ::Ifc4x3_rc1::IfcResourceTime* Ifc4x3_rc1::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcResourceTime>(true); } void Ifc4x3_rc1::IfcConstructionResource::setUsage(::Ifc4x3_rc1::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } -void Ifc4x3_rc1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } void Ifc4x3_rc1::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14841,7 +14841,7 @@ Ifc4x3_rc1::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } -void Ifc4x3_rc1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } void Ifc4x3_rc1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14853,13 +14853,13 @@ Ifc4x3_rc1::IfcConstructionResourceType::IfcConstructionResourceType(std::string // Function implementations for IfcContext boost::optional< std::string > Ifc4x3_rc1::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > Ifc4x3_rc1::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcRepresentationContext >(); } -void Ifc4x3_rc1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcUnitAssignment* Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcUnitAssignment>(true); } void Ifc4x3_rc1::IfcContext::setUnitsInContext(::Ifc4x3_rc1::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -14884,7 +14884,7 @@ Ifc4x3_rc1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc1::IfcDi // Function implementations for IfcControl boost::optional< std::string > Ifc4x3_rc1::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToControl::list::ptr Ifc4x3_rc1::IfcControl::Controls() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToControl_type, 6)->as(); } @@ -14895,7 +14895,7 @@ Ifc4x3_rc1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwn // Function implementations for IfcController boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > Ifc4x3_rc1::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcController::declaration() const { return *IFC4X3_RC1_IfcController_type; } @@ -14938,7 +14938,7 @@ Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(: // Function implementations for IfcConveyorSegment boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc1::IfcConveyorSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcConveyorSegment::declaration() const { return *IFC4X3_RC1_IfcConveyorSegment_type; } @@ -14958,7 +14958,7 @@ Ifc4x3_rc1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_Global // Function implementations for IfcCooledBeam boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc1::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCooledBeam::declaration() const { return *IFC4X3_RC1_IfcCooledBeam_type; } @@ -14978,7 +14978,7 @@ Ifc4x3_rc1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCoolingTower boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc1::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCoolingTower::declaration() const { return *IFC4X3_RC1_IfcCoolingTower_type; } @@ -15012,11 +15012,11 @@ Ifc4x3_rc1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc1::IfcCoor std::string Ifc4x3_rc1::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcCoordinateOperation::list::ptr Ifc4x3_rc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X3_RC1_IfcCoordinateOperation_type, 0)->as(); } @@ -15027,11 +15027,11 @@ Ifc4x3_rc1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::stri // Function implementations for IfcCostItem boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > Ifc4x3_rc1::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > Ifc4x3_rc1::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcCostValue >(); } -void Ifc4x3_rc1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > Ifc4x3_rc1::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } -void Ifc4x3_rc1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCostItem::declaration() const { return *IFC4X3_RC1_IfcCostItem_type; } @@ -15041,13 +15041,13 @@ Ifc4x3_rc1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcCostSchedule boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc1::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCostSchedule::declaration() const { return *IFC4X3_RC1_IfcCostSchedule_type; } @@ -15065,7 +15065,7 @@ Ifc4x3_rc1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, b // Function implementations for IfcCourse boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > Ifc4x3_rc1::IfcCourse::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCourseTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCourseTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCourse::declaration() const { return *IFC4X3_RC1_IfcCourse_type; } @@ -15085,7 +15085,7 @@ Ifc4x3_rc1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcCovering boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > Ifc4x3_rc1::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcRelCoversSpaces::list::ptr Ifc4x3_rc1::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X3_RC1_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x3_rc1::IfcRelCoversBldgElements::list::ptr Ifc4x3_rc1::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X3_RC1_IfcRelCoversBldgElements_type, 5)->as(); } @@ -15107,7 +15107,7 @@ Ifc4x3_rc1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcCrewResource boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc1::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCrewResource::declaration() const { return *IFC4X3_RC1_IfcCrewResource_type; } @@ -15153,7 +15153,7 @@ void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc1::I double Ifc4x3_rc1::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15165,7 +15165,7 @@ Ifc4x3_rc1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< st // Function implementations for IfcCurtainWall boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc1::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCurtainWall::declaration() const { return *IFC4X3_RC1_IfcCurtainWall_type; } @@ -15241,7 +15241,7 @@ void Ifc4x3_rc1::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc1::IfcSizeSelect* v) { ::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveColour(::Ifc4x3_rc1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyle::declaration() const { return *IFC4X3_RC1_IfcCurveStyle_type; } @@ -15251,7 +15251,7 @@ Ifc4x3_rc1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc1::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15263,7 +15263,7 @@ Ifc4x3_rc1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcCurveStyleFontSelect* Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc1::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -15299,7 +15299,7 @@ Ifc4x3_rc1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc1::IfcAxis2P // Function implementations for IfcDamper boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > Ifc4x3_rc1::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDamper::declaration() const { return *IFC4X3_RC1_IfcDamper_type; } @@ -15339,7 +15339,7 @@ void Ifc4x3_rc1::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc1::IfcProfile ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc1::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedProfileDef::declaration() const { return *IFC4X3_RC1_IfcDerivedProfileDef_type; } @@ -15353,7 +15353,7 @@ void Ifc4x3_rc1::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc1::IfcDeri ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value Ifc4x3_rc1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc1::IfcDerivedUnit::setUnitType(::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedUnit::declaration() const { return *IFC4X3_RC1_IfcDerivedUnit_type; } @@ -15409,9 +15409,9 @@ Ifc4x3_rc1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_Direct ::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *IFC4X3_RC1_IfcDirectrixCurveSweptAreaSolid_type; } @@ -15435,7 +15435,7 @@ Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSol // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc1::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDiscreteAccessory::declaration() const { return *IFC4X3_RC1_IfcDiscreteAccessory_type; } @@ -15457,13 +15457,13 @@ Ifc4x3_rc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Gl double Ifc4x3_rc1::IfcDistanceExpression::DistanceAlong() const { double v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcDistanceExpression::setDistanceAlong(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcDistanceExpression::AlongHorizontal() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistanceExpression::declaration() const { return *IFC4X3_RC1_IfcDistanceExpression_type; } @@ -15473,7 +15473,7 @@ Ifc4x3_rc1::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong // Function implementations for IfcDistributionBoard boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionBoard::declaration() const { return *IFC4X3_RC1_IfcDistributionBoard_type; } @@ -15493,7 +15493,7 @@ Ifc4x3_rc1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_Gl // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc1::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionChamberElement::declaration() const { return *IFC4X3_RC1_IfcDistributionChamberElement_type; } @@ -15572,11 +15572,11 @@ Ifc4x3_rc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std:: // Function implementations for IfcDistributionPort boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > Ifc4x3_rc1::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc1::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > Ifc4x3_rc1::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionPort::declaration() const { return *IFC4X3_RC1_IfcDistributionPort_type; } @@ -15586,9 +15586,9 @@ Ifc4x3_rc1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, :: // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4x3_rc1::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > Ifc4x3_rc1::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionSystem::declaration() const { return *IFC4X3_RC1_IfcDistributionSystem_type; } @@ -15602,35 +15602,35 @@ void Ifc4x3_rc1::IfcDocumentInformation::setIdentification(std::string v) { {Ifc std::string Ifc4x3_rc1::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x3_rc1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x3_rc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4x3_rc1::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc1::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x3_rc1::IfcDocumentReference::list::ptr Ifc4x3_rc1::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X3_RC1_IfcDocumentReference_type, 4)->as(); } @@ -15648,7 +15648,7 @@ void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcDocumentInformation >(); } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformationRelationship::declaration() const { return *IFC4X3_RC1_IfcDocumentInformationRelationship_type; } @@ -15658,7 +15658,7 @@ Ifc4x3_rc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc1::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } void Ifc4x3_rc1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc1::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15671,15 +15671,15 @@ Ifc4x3_rc1::IfcDocumentReference::IfcDocumentReference(boost::optional< std::str // Function implementations for IfcDoor boost::optional< double > Ifc4x3_rc1::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > Ifc4x3_rc1::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc1::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc1::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDoor::declaration() const { return *IFC4X3_RC1_IfcDoor_type; } @@ -15689,31 +15689,31 @@ Ifc4x3_rc1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDoorLiningProperties::declaration() const { return *IFC4X3_RC1_IfcDoorLiningProperties_type; } @@ -15723,11 +15723,11 @@ Ifc4x3_rc1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_Glob // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } @@ -15769,9 +15769,9 @@ void Ifc4x3_rc1::IfcDoorType::setPredefinedType(::Ifc4x3_rc1::IfcDoorTypeEnum::V ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value Ifc4x3_rc1::IfcDoorType::OperationType() const { return ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc1::IfcDoorType::setOperationType(::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDoorType::declaration() const { return *IFC4X3_RC1_IfcDoorType_type; } @@ -15797,7 +15797,7 @@ Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(s // Function implementations for IfcDuctFitting boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc1::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDuctFitting::declaration() const { return *IFC4X3_RC1_IfcDuctFitting_type; } @@ -15817,7 +15817,7 @@ Ifc4x3_rc1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSegment boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc1::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSegment::declaration() const { return *IFC4X3_RC1_IfcDuctSegment_type; } @@ -15837,7 +15837,7 @@ Ifc4x3_rc1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc1::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSilencer::declaration() const { return *IFC4X3_RC1_IfcDuctSilencer_type; } @@ -15857,7 +15857,7 @@ Ifc4x3_rc1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, :: // Function implementations for IfcEarthworksCut boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksCut::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksCut::declaration() const { return *IFC4X3_RC1_IfcEarthworksCut_type; } @@ -15875,7 +15875,7 @@ Ifc4x3_rc1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, // Function implementations for IfcEarthworksFill boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksFill::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksFill::declaration() const { return *IFC4X3_RC1_IfcEarthworksFill_type; } @@ -15919,7 +15919,7 @@ Ifc4x3_rc1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc1::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricAppliance::declaration() const { return *IFC4X3_RC1_IfcElectricAppliance_type; } @@ -15939,7 +15939,7 @@ Ifc4x3_rc1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Gl // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricDistributionBoard::declaration() const { return *IFC4X3_RC1_IfcElectricDistributionBoard_type; } @@ -15959,7 +15959,7 @@ Ifc4x3_rc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(s // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X3_RC1_IfcElectricFlowStorageDevice_type; } @@ -15979,7 +15979,7 @@ Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(s // Function implementations for IfcElectricFlowTreatmentDevice boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::declaration() const { return *IFC4X3_RC1_IfcElectricFlowTreatmentDevice_type; } @@ -15999,7 +15999,7 @@ Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceTy // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc1::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricGenerator::declaration() const { return *IFC4X3_RC1_IfcElectricGenerator_type; } @@ -16019,7 +16019,7 @@ Ifc4x3_rc1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_Gl // Function implementations for IfcElectricMotor boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc1::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricMotor::declaration() const { return *IFC4X3_RC1_IfcElectricMotor_type; } @@ -16039,7 +16039,7 @@ Ifc4x3_rc1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc1::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricTimeControl::declaration() const { return *IFC4X3_RC1_IfcElectricTimeControl_type; } @@ -16059,7 +16059,7 @@ Ifc4x3_rc1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v // Function implementations for IfcElement boost::optional< std::string > Ifc4x3_rc1::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcRelFillsElement::list::ptr Ifc4x3_rc1::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X3_RC1_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x3_rc1::IfcRelConnectsElements::list::ptr Ifc4x3_rc1::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X3_RC1_IfcRelConnectsElements_type, 5)->as(); } @@ -16080,9 +16080,9 @@ Ifc4x3_rc1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwn // Function implementations for IfcElementAssembly boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc1::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc1::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElementAssembly::declaration() const { return *IFC4X3_RC1_IfcElementAssembly_type; } @@ -16118,7 +16118,7 @@ Ifc4x3_rc1::IfcElementComponentType::IfcElementComponentType(std::string v1_Glob // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4x3_rc1::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr Ifc4x3_rc1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } void Ifc4x3_rc1::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -16130,7 +16130,7 @@ Ifc4x3_rc1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::If // Function implementations for IfcElementType boost::optional< std::string > Ifc4x3_rc1::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcElementType::declaration() const { return *IFC4X3_RC1_IfcElementType_type; } @@ -16190,7 +16190,7 @@ Ifc4x3_rc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::st // Function implementations for IfcEngine boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > Ifc4x3_rc1::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEngine::declaration() const { return *IFC4X3_RC1_IfcEngine_type; } @@ -16210,7 +16210,7 @@ Ifc4x3_rc1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc1::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporativeCooler::declaration() const { return *IFC4X3_RC1_IfcEvaporativeCooler_type; } @@ -16230,7 +16230,7 @@ Ifc4x3_rc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_Gl // Function implementations for IfcEvaporator boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc1::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporator::declaration() const { return *IFC4X3_RC1_IfcEvaporator_type; } @@ -16250,11 +16250,11 @@ Ifc4x3_rc1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcEvent boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > Ifc4x3_rc1::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc1::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcEventTime* Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcEventTime>(true); } void Ifc4x3_rc1::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc1::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16266,13 +16266,13 @@ Ifc4x3_rc1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi // Function implementations for IfcEventTime boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEventTime::declaration() const { return *IFC4X3_RC1_IfcEventTime_type; } @@ -16286,7 +16286,7 @@ void Ifc4x3_rc1::IfcEventType::setPredefinedType(::Ifc4x3_rc1::IfcEventTypeEnum: ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value Ifc4x3_rc1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc1::IfcEventType::setEventTriggerType(::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcEventType::declaration() const { return *IFC4X3_RC1_IfcEventType_type; } @@ -16296,9 +16296,9 @@ Ifc4x3_rc1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc1::If // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } void Ifc4x3_rc1::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -16318,11 +16318,11 @@ Ifc4x3_rc1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseE // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -16345,7 +16345,7 @@ Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(b // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc1::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc1::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X3_RC1_IfcRelSpaceBoundary_type, 4)->as(); } @@ -16501,17 +16501,17 @@ Ifc4x3_rc1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFailureConnectionCondition::declaration() const { return *IFC4X3_RC1_IfcFailureConnectionCondition_type; } @@ -16521,7 +16521,7 @@ Ifc4x3_rc1::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost:: // Function implementations for IfcFan boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > Ifc4x3_rc1::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFan::declaration() const { return *IFC4X3_RC1_IfcFan_type; } @@ -16541,7 +16541,7 @@ Ifc4x3_rc1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwn // Function implementations for IfcFastener boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > Ifc4x3_rc1::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFastener::declaration() const { return *IFC4X3_RC1_IfcFastener_type; } @@ -16589,7 +16589,7 @@ Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::stri aggregate_of_instance::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcFillAreaStyle::ModelorDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC1_IfcFillAreaStyle_type; } @@ -16631,7 +16631,7 @@ Ifc4x3_rc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_ // Function implementations for IfcFilter boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > Ifc4x3_rc1::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFilter::declaration() const { return *IFC4X3_RC1_IfcFilter_type; } @@ -16651,7 +16651,7 @@ Ifc4x3_rc1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc1::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFireSuppressionTerminal::declaration() const { return *IFC4X3_RC1_IfcFireSuppressionTerminal_type; } @@ -16713,7 +16713,7 @@ Ifc4x3_rc1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc1::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFlowInstrument::declaration() const { return *IFC4X3_RC1_IfcFlowInstrument_type; } @@ -16733,7 +16733,7 @@ Ifc4x3_rc1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId // Function implementations for IfcFlowMeter boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc1::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMeter::declaration() const { return *IFC4X3_RC1_IfcFlowMeter_type; } @@ -16833,7 +16833,7 @@ Ifc4x3_rc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v // Function implementations for IfcFooting boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > Ifc4x3_rc1::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFooting::declaration() const { return *IFC4X3_RC1_IfcFooting_type; } @@ -16869,7 +16869,7 @@ Ifc4x3_rc1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Gl // Function implementations for IfcFurniture boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFurniture::declaration() const { return *IFC4X3_RC1_IfcFurniture_type; } @@ -16881,7 +16881,7 @@ Ifc4x3_rc1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc1::If ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value Ifc4x3_rc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcFurnitureType::declaration() const { return *IFC4X3_RC1_IfcFurnitureType_type; } @@ -16891,7 +16891,7 @@ Ifc4x3_rc1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcGeographicElement boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc1::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcGeographicElement::declaration() const { return *IFC4X3_RC1_IfcGeographicElement_type; } @@ -16921,7 +16921,7 @@ Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::pt int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } @@ -16947,11 +16947,11 @@ Ifc4x3_rc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : I ::Ifc4x3_rc1::IfcGeometricRepresentationContext* Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc1::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc1::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X3_RC1_IfcGeometricRepresentationSubContext_type; } @@ -17015,9 +17015,9 @@ void Ifc4x3_rc1::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::pt aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } void Ifc4x3_rc1::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > Ifc4x3_rc1::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } -void Ifc4x3_rc1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > Ifc4x3_rc1::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcGrid::declaration() const { return *IFC4X3_RC1_IfcGrid_type; } @@ -17027,7 +17027,7 @@ Ifc4x3_rc1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc1::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcGridAxis::setAxisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc1::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -17078,7 +17078,7 @@ Ifc4x3_rc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc1::IfcSurface* v1_Ba // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc1::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcHeatExchanger::declaration() const { return *IFC4X3_RC1_IfcHeatExchanger_type; } @@ -17098,7 +17098,7 @@ Ifc4x3_rc1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, // Function implementations for IfcHumidifier boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > Ifc4x3_rc1::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcHumidifier::declaration() const { return *IFC4X3_RC1_IfcHumidifier_type; } @@ -17126,11 +17126,11 @@ void Ifc4x3_rc1::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc1::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcIShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcIShapeProfileDef_type; } @@ -17170,7 +17170,7 @@ Ifc4x3_rc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::st // Function implementations for IfcInclinedReferenceSweptAreaSolid boost::optional< bool > Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } bool v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17184,7 +17184,7 @@ Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSol ::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc1::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc1::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcColourRgbList* Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourRgbList>(true); } void Ifc4x3_rc1::IfcIndexedColourMap::setColours(::Ifc4x3_rc1::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -17200,9 +17200,9 @@ Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc1::IfcTessellate ::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(true); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC1_IfcIndexedPolyCurve_type; } @@ -17245,7 +17245,7 @@ Ifc4x3_rc1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X3_RC1_IfcIndexedTriangleTextureMap_type; } @@ -17255,7 +17255,7 @@ Ifc4x3_rc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate // Function implementations for IfcInterceptor boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > Ifc4x3_rc1::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcInterceptor::declaration() const { return *IFC4X3_RC1_IfcInterceptor_type; } @@ -17283,13 +17283,13 @@ Ifc4x3_rc1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc1::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > Ifc4x3_rc1::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcInventory::setJurisdiction(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } -void Ifc4x3_rc1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcInventory::setCurrentValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } @@ -17325,7 +17325,7 @@ Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc1::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcJunctionBox::declaration() const { return *IFC4X3_RC1_IfcJunctionBox_type; } @@ -17367,15 +17367,15 @@ Ifc4x3_rc1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO double Ifc4x3_rc1::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4x3_rc1::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcLShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcLShapeProfileDef_type; } @@ -17385,7 +17385,7 @@ Ifc4x3_rc1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc1::IfcProfileTyp // Function implementations for IfcLaborResource boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc1::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcLaborResource::declaration() const { return *IFC4X3_RC1_IfcLaborResource_type; } @@ -17417,7 +17417,7 @@ Ifc4x3_rc1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost // Function implementations for IfcLamp boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > Ifc4x3_rc1::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcLamp::declaration() const { return *IFC4X3_RC1_IfcLamp_type; } @@ -17439,15 +17439,15 @@ Ifc4x3_rc1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO std::string Ifc4x3_rc1::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcLibraryInformation::setPublisher(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc1::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x3_rc1::IfcLibraryReference::list::ptr Ifc4x3_rc1::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X3_RC1_IfcLibraryReference_type, 5)->as(); } @@ -17459,9 +17459,9 @@ Ifc4x3_rc1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, bo // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } void Ifc4x3_rc1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17488,7 +17488,7 @@ Ifc4x3_rc1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPla // Function implementations for IfcLightFixture boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc1::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcLightFixture::declaration() const { return *IFC4X3_RC1_IfcLightFixture_type; } @@ -17520,13 +17520,13 @@ Ifc4x3_rc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc1::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcLightSource::setLightColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcLightSource::declaration() const { return *IFC4X3_RC1_IfcLightSource_type; } @@ -17594,7 +17594,7 @@ Ifc4x3_rc1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< ::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4x3_rc1::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x3_rc1::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4x3_rc1::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -17686,7 +17686,7 @@ Ifc4x3_rc1::IfcLinearSpanPlacement::IfcLinearSpanPlacement(::Ifc4x3_rc1::IfcObje // Function implementations for IfcLiquidTerminal boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc1::IfcLiquidTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcLiquidTerminal::declaration() const { return *IFC4X3_RC1_IfcLiquidTerminal_type; } @@ -17740,11 +17740,11 @@ void Ifc4x3_rc1::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteA double Ifc4x3_rc1::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMapConversion::declaration() const { return *IFC4X3_RC1_IfcMapConversion_type; } @@ -17778,9 +17778,9 @@ Ifc4x3_rc1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4 std::string Ifc4x3_rc1::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc1::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X3_RC1_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x3_rc1::IfcMaterialRelationship::list::ptr Ifc4x3_rc1::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X3_RC1_IfcMaterialRelationship_type, 3)->as(); } @@ -17805,15 +17805,15 @@ Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRela // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X3_RC1_IfcMaterialConstituentSet_type, 2)->as(); } @@ -17824,11 +17824,11 @@ Ifc4x3_rc1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std: // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > Ifc4x3_rc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcMaterialConstituent >(); } -void Ifc4x3_rc1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituentSet::declaration() const { return *IFC4X3_RC1_IfcMaterialConstituentSet_type; } @@ -17863,15 +17863,15 @@ void Ifc4x3_rc1::IfcMaterialLayer::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { { double Ifc4x3_rc1::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4x3_rc1::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcMaterialLayerSet::list::ptr Ifc4x3_rc1::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X3_RC1_IfcMaterialLayerSet_type, 0)->as(); } @@ -17884,9 +17884,9 @@ Ifc4x3_rc1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc1::IfcMaterial* v1_Mat aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr Ifc4x3_rc1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcMaterialLayer >(); } void Ifc4x3_rc1::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerSet::declaration() const { return *IFC4X3_RC1_IfcMaterialLayerSet_type; } @@ -17904,7 +17904,7 @@ void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc1::IfcDi double Ifc4x3_rc1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X3_RC1_IfcMaterialLayerSetUsage_type; } @@ -17936,17 +17936,17 @@ Ifc4x3_rc1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc1::IfcMate // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialProfile::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcMaterialProfile::setProfile(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcMaterialProfileSet::list::ptr Ifc4x3_rc1::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X3_RC1_IfcMaterialProfileSet_type, 2)->as(); } @@ -17957,9 +17957,9 @@ Ifc4x3_rc1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr Ifc4x3_rc1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcMaterialProfile >(); } void Ifc4x3_rc1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcCompositeProfileDef* Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCompositeProfileDef>(true); } @@ -17975,9 +17975,9 @@ Ifc4x3_rc1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::s ::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X3_RC1_IfcMaterialProfileSetUsage_type; } @@ -17989,7 +17989,7 @@ Ifc4x3_rc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc1: ::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X3_RC1_IfcMaterialProfileSetUsageTapering_type; } @@ -18023,7 +18023,7 @@ void Ifc4x3_rc1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc1::IfcM aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Ifc4x3_rc1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcMaterial >(); } void Ifc4x3_rc1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialRelationship::declaration() const { return *IFC4X3_RC1_IfcMaterialRelationship_type; } @@ -18054,11 +18054,11 @@ Ifc4x3_rc1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc1::IfcValue* v1_Va // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc1::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMechanicalFastener::declaration() const { return *IFC4X3_RC1_IfcMechanicalFastener_type; } @@ -18070,9 +18070,9 @@ Ifc4x3_rc1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMechanicalFastenerType::declaration() const { return *IFC4X3_RC1_IfcMechanicalFastenerType_type; } @@ -18082,7 +18082,7 @@ Ifc4x3_rc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_ // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMedicalDevice::declaration() const { return *IFC4X3_RC1_IfcMedicalDevice_type; } @@ -18102,7 +18102,7 @@ Ifc4x3_rc1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, // Function implementations for IfcMember boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > Ifc4x3_rc1::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMember::declaration() const { return *IFC4X3_RC1_IfcMember_type; } @@ -18132,7 +18132,7 @@ Ifc4x3_rc1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc1:: ::Ifc4x3_rc1::IfcBenchmarkEnum::Value Ifc4x3_rc1::IfcMetric::Benchmark() const { return ::Ifc4x3_rc1::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcMetric::setBenchmark(::Ifc4x3_rc1::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcMetricValueSelect* Ifc4x3_rc1::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcMetricValueSelect>(true); } void Ifc4x3_rc1::IfcMetric::setDataValue(::Ifc4x3_rc1::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcReference>(true); } @@ -18154,7 +18154,7 @@ Ifc4x3_rc1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc1::IfcProfil // Function implementations for IfcMobileTelecommunicationsAppliance boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::declaration() const { return *IFC4X3_RC1_IfcMobileTelecommunicationsAppliance_type; } @@ -18184,7 +18184,7 @@ Ifc4x3_rc1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil: // Function implementations for IfcMooringDevice boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMooringDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMooringDevice::declaration() const { return *IFC4X3_RC1_IfcMooringDevice_type; } @@ -18204,7 +18204,7 @@ Ifc4x3_rc1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, // Function implementations for IfcMotorConnection boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc1::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcMotorConnection::declaration() const { return *IFC4X3_RC1_IfcMotorConnection_type; } @@ -18236,7 +18236,7 @@ Ifc4x3_rc1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1 // Function implementations for IfcNavigationElement boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc1::IfcNavigationElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcNavigationElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcNavigationElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcNavigationElement::declaration() const { return *IFC4X3_RC1_IfcNavigationElement_type; } @@ -18256,7 +18256,7 @@ Ifc4x3_rc1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_Gl // Function implementations for IfcObject boost::optional< std::string > Ifc4x3_rc1::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcRelDefinesByObject::list::ptr Ifc4x3_rc1::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X3_RC1_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x3_rc1::IfcRelDefinesByObject::list::ptr Ifc4x3_rc1::IfcObject::Declares() const { return data_->getInverse(IFC4X3_RC1_IfcRelDefinesByObject_type, 5)->as(); } @@ -18296,13 +18296,13 @@ Ifc4x3_rc1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc1::IfcObjectPlacem // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > Ifc4x3_rc1::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcConstraint >(); } -void Ifc4x3_rc1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > Ifc4x3_rc1::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcObjectiveEnum::Value Ifc4x3_rc1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc1::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc1::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcObjective::declaration() const { return *IFC4X3_RC1_IfcObjective_type; } @@ -18312,7 +18312,7 @@ Ifc4x3_rc1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std // Function implementations for IfcOccupant boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > Ifc4x3_rc1::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcOccupant::declaration() const { return *IFC4X3_RC1_IfcOccupant_type; } @@ -18360,7 +18360,7 @@ Ifc4x3_rc1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc1::IfcCurve* v1_BasisC aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } void Ifc4x3_rc1::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurveByDistances::declaration() const { return *IFC4X3_RC1_IfcOffsetCurveByDistances_type; } @@ -18376,7 +18376,7 @@ void Ifc4x3_rc1::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?] std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc1::IfcOpenCrossProfileDef::Tags() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcOpenCrossProfileDef::declaration() const { return *IFC4X3_RC1_IfcOpenCrossProfileDef_type; } @@ -18394,7 +18394,7 @@ Ifc4x3_rc1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc1::IfcFace >::pt // Function implementations for IfcOpeningElement boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc1::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcRelFillsElement::list::ptr Ifc4x3_rc1::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X3_RC1_IfcRelFillsElement_type, 4)->as(); } @@ -18413,15 +18413,15 @@ Ifc4x3_rc1::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_Global // Function implementations for IfcOrganization boost::optional< std::string > Ifc4x3_rc1::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4x3_rc1::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } -void Ifc4x3_rc1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > Ifc4x3_rc1::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcAddress >(); } -void Ifc4x3_rc1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcOrganizationRelationship::list::ptr Ifc4x3_rc1::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X3_RC1_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x3_rc1::IfcOrganizationRelationship::list::ptr Ifc4x3_rc1::IfcOrganization::Relates() const { return data_->getInverse(IFC4X3_RC1_IfcOrganizationRelationship_type, 2)->as(); } @@ -18478,7 +18478,7 @@ Ifc4x3_rc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_ // Function implementations for IfcOutlet boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > Ifc4x3_rc1::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcOutlet::declaration() const { return *IFC4X3_RC1_IfcOutlet_type; } @@ -18502,11 +18502,11 @@ void Ifc4x3_rc1::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc1::IfcPersonAndOrgani ::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcApplication>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc1::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc1::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcApplication>(true); } @@ -18542,7 +18542,7 @@ Ifc4x3_rc1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr // Function implementations for IfcPavement boost::optional< bool > Ifc4x3_rc1::IfcPavement::Flexible() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } bool v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcPavement::setFlexible(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPavement::setFlexible(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPavement::declaration() const { return *IFC4X3_RC1_IfcPavement_type; } @@ -18576,7 +18576,7 @@ Ifc4x3_rc1::IfcPcurve::IfcPcurve(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, ::If std::string Ifc4x3_rc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc1::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPerformanceHistory::declaration() const { return *IFC4X3_RC1_IfcPerformanceHistory_type; } @@ -18590,9 +18590,9 @@ void Ifc4x3_rc1::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc1:: ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18604,11 +18604,11 @@ Ifc4x3_rc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std:: // Function implementations for IfcPermit boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > Ifc4x3_rc1::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPermit::declaration() const { return *IFC4X3_RC1_IfcPermit_type; } @@ -18618,21 +18618,21 @@ Ifc4x3_rc1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner // Function implementations for IfcPerson boost::optional< std::string > Ifc4x3_rc1::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } -void Ifc4x3_rc1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > Ifc4x3_rc1::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcAddress >(); } -void Ifc4x3_rc1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcPersonAndOrganization::list::ptr Ifc4x3_rc1::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X3_RC1_IfcPersonAndOrganization_type, 0)->as(); } @@ -18647,7 +18647,7 @@ void Ifc4x3_rc1::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc1::IfcPerson* ::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } -void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPersonAndOrganization::declaration() const { return *IFC4X3_RC1_IfcPersonAndOrganization_type; } @@ -18661,9 +18661,9 @@ void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::If std::string Ifc4x3_rc1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X3_RC1_IfcPhysicalComplexQuantity_type; } @@ -18675,7 +18675,7 @@ Ifc4x3_rc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v std::string Ifc4x3_rc1::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc1::IfcPhysicalComplexQuantity::list::ptr Ifc4x3_rc1::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X3_RC1_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -18697,9 +18697,9 @@ Ifc4x3_rc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_ // Function implementations for IfcPile boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > Ifc4x3_rc1::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > Ifc4x3_rc1::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPile::declaration() const { return *IFC4X3_RC1_IfcPile_type; } @@ -18719,7 +18719,7 @@ Ifc4x3_rc1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcPipeFitting boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc1::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPipeFitting::declaration() const { return *IFC4X3_RC1_IfcPipeFitting_type; } @@ -18739,7 +18739,7 @@ Ifc4x3_rc1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcPipeSegment boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc1::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPipeSegment::declaration() const { return *IFC4X3_RC1_IfcPipeSegment_type; } @@ -18823,7 +18823,7 @@ Ifc4x3_rc1::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi // Function implementations for IfcPlate boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > Ifc4x3_rc1::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPlate::declaration() const { return *IFC4X3_RC1_IfcPlate_type; } @@ -18907,11 +18907,11 @@ Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_ // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4x3_rc1::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc1::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPolygonalFaceSet::declaration() const { return *IFC4X3_RC1_IfcPolygonalFaceSet_type; } @@ -18952,19 +18952,19 @@ Ifc4x3_rc1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPostalAddress::declaration() const { return *IFC4X3_RC1_IfcPostalAddress_type; } @@ -19034,11 +19034,11 @@ Ifc4x3_rc1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity( std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC1_IfcPresentationLayerAssignment_type; } @@ -19064,7 +19064,7 @@ Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::st // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc1::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyle::declaration() const { return *IFC4X3_RC1_IfcPresentationStyle_type; } @@ -19084,7 +19084,7 @@ Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggre // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > Ifc4x3_rc1::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcProcedure::declaration() const { return *IFC4X3_RC1_IfcProcedure_type; } @@ -19104,9 +19104,9 @@ Ifc4x3_rc1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcProcess boost::optional< std::string > Ifc4x3_rc1::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcRelSequence::list::ptr Ifc4x3_rc1::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X3_RC1_IfcRelSequence_type, 4)->as(); } ::Ifc4x3_rc1::IfcRelSequence::list::ptr Ifc4x3_rc1::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X3_RC1_IfcRelSequence_type, 5)->as(); } @@ -19144,9 +19144,9 @@ Ifc4x3_rc1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr Ifc4x3_rc1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcRepresentation >(); } void Ifc4x3_rc1::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -19160,7 +19160,7 @@ Ifc4x3_rc1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< ::Ifc4x3_rc1::IfcProfileTypeEnum::Value Ifc4x3_rc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc1::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc1::IfcProfileDef::setProfileType(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc1::IfcProfileProperties::list::ptr Ifc4x3_rc1::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X3_RC1_IfcProfileProperties_type, 3)->as(); } @@ -19198,11 +19198,11 @@ Ifc4x3_rc1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcProjectOrder boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc1::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcProjectOrder::declaration() const { return *IFC4X3_RC1_IfcProjectOrder_type; } @@ -19212,9 +19212,9 @@ Ifc4x3_rc1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19226,7 +19226,7 @@ Ifc4x3_rc1::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optiona // Function implementations for IfcProjectionElement boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc1::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcProjectionElement::declaration() const { return *IFC4X3_RC1_IfcProjectionElement_type; } @@ -19238,7 +19238,7 @@ Ifc4x3_rc1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, std::string Ifc4x3_rc1::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcPropertySet::list::ptr Ifc4x3_rc1::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X3_RC1_IfcPropertySet_type, 4)->as(); } ::Ifc4x3_rc1::IfcPropertyDependencyRelationship::list::ptr Ifc4x3_rc1::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X3_RC1_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -19293,7 +19293,7 @@ void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x ::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProperty>(true); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc1::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X3_RC1_IfcPropertyDependencyRelationship_type; } @@ -19303,7 +19303,7 @@ Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19329,7 +19329,7 @@ Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19341,7 +19341,7 @@ Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcObjectReferenceSelect* Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc1::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19374,9 +19374,9 @@ Ifc4x3_rc1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_Gl // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc1::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr Ifc4x3_rc1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc1::IfcPropertyTemplate >(); } void Ifc4x3_rc1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -19401,17 +19401,17 @@ Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > Ifc4x3_rc1::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC1_IfcPropertyTableValue_type; } @@ -19439,7 +19439,7 @@ Ifc4x3_rc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::st // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDevice::declaration() const { return *IFC4X3_RC1_IfcProtectiveDevice_type; } @@ -19449,7 +19449,7 @@ Ifc4x3_rc1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, :: // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X3_RC1_IfcProtectiveDeviceTrippingUnit_type; } @@ -19481,7 +19481,7 @@ Ifc4x3_rc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_Glob ::Ifc4x3_rc1::IfcObjectTypeEnum::Value Ifc4x3_rc1::IfcProxy::ProxyType() const { return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcProxy::setProxyType(::Ifc4x3_rc1::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcProxy::declaration() const { return *IFC4X3_RC1_IfcProxy_type; } @@ -19491,7 +19491,7 @@ Ifc4x3_rc1::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi // Function implementations for IfcPump boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > Ifc4x3_rc1::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcPump::declaration() const { return *IFC4X3_RC1_IfcPump_type; } @@ -19513,7 +19513,7 @@ Ifc4x3_rc1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO double Ifc4x3_rc1::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityArea::declaration() const { return *IFC4X3_RC1_IfcQuantityArea_type; } @@ -19525,7 +19525,7 @@ Ifc4x3_rc1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optiona double Ifc4x3_rc1::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityCount::declaration() const { return *IFC4X3_RC1_IfcQuantityCount_type; } @@ -19537,7 +19537,7 @@ Ifc4x3_rc1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optio double Ifc4x3_rc1::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityLength::declaration() const { return *IFC4X3_RC1_IfcQuantityLength_type; } @@ -19557,7 +19557,7 @@ Ifc4x3_rc1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc1 double Ifc4x3_rc1::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityTime::declaration() const { return *IFC4X3_RC1_IfcQuantityTime_type; } @@ -19569,7 +19569,7 @@ Ifc4x3_rc1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optiona double Ifc4x3_rc1::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityVolume::declaration() const { return *IFC4X3_RC1_IfcQuantityVolume_type; } @@ -19581,7 +19581,7 @@ Ifc4x3_rc1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::opt double Ifc4x3_rc1::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityWeight::declaration() const { return *IFC4X3_RC1_IfcQuantityWeight_type; } @@ -19591,7 +19591,7 @@ Ifc4x3_rc1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::opt // Function implementations for IfcRail boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > Ifc4x3_rc1::IfcRail::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRailTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRailTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRail::declaration() const { return *IFC4X3_RC1_IfcRail_type; } @@ -19611,7 +19611,7 @@ Ifc4x3_rc1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcRailing boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > Ifc4x3_rc1::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRailing::declaration() const { return *IFC4X3_RC1_IfcRailing_type; } @@ -19639,7 +19639,7 @@ Ifc4x3_rc1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwn // Function implementations for IfcRamp boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > Ifc4x3_rc1::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRamp::declaration() const { return *IFC4X3_RC1_IfcRamp_type; } @@ -19649,7 +19649,7 @@ Ifc4x3_rc1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcRampFlight boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > Ifc4x3_rc1::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRampFlight::declaration() const { return *IFC4X3_RC1_IfcRampFlight_type; } @@ -19701,9 +19701,9 @@ Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKno double Ifc4x3_rc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X3_RC1_IfcRectangleHollowProfileDef_type; } @@ -19763,19 +19763,19 @@ Ifc4x3_rc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_ ::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value Ifc4x3_rc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc1::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc1::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTimePeriod >::ptr > Ifc4x3_rc1::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcTimePeriod >(); } -void Ifc4x3_rc1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRecurrencePattern::declaration() const { return *IFC4X3_RC1_IfcRecurrencePattern_type; } @@ -19785,13 +19785,13 @@ Ifc4x3_rc1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc1::IfcRecurren // Function implementations for IfcReference boost::optional< std::string > Ifc4x3_rc1::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcReference::setInnerReference(::Ifc4x3_rc1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19803,9 +19803,9 @@ Ifc4x3_rc1::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIde // Function implementations for IfcReferent boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > Ifc4x3_rc1::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReferentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReferent::declaration() const { return *IFC4X3_RC1_IfcReferent_type; } @@ -19827,7 +19827,7 @@ Ifc4x3_rc1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boos // Function implementations for IfcReinforcedSoil boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc1::IfcReinforcedSoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcedSoil::declaration() const { return *IFC4X3_RC1_IfcReinforcedSoil_type; } @@ -19841,13 +19841,13 @@ void Ifc4x3_rc1::IfcReinforcementBarProperties::setTotalCrossSectionArea(double std::string Ifc4x3_rc1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcementBarProperties::declaration() const { return *IFC4X3_RC1_IfcReinforcementBarProperties_type; } @@ -19857,7 +19857,7 @@ Ifc4x3_rc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4x3_rc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19869,15 +19869,15 @@ Ifc4x3_rc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProp // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc1::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBar::declaration() const { return *IFC4X3_RC1_IfcReinforcingBar_type; } @@ -19889,17 +19889,17 @@ Ifc4x3_rc1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4 ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC1_IfcReinforcingBarType_type; } @@ -19909,7 +19909,7 @@ Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingElement::declaration() const { return *IFC4X3_RC1_IfcReinforcingElement_type; } @@ -19927,23 +19927,23 @@ Ifc4x3_rc1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_ // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc1::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x3_rc1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4x3_rc1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMesh::declaration() const { return *IFC4X3_RC1_IfcReinforcingMesh_type; } @@ -19955,25 +19955,25 @@ Ifc4x3_rc1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::If ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC1_IfcReinforcingMeshType_type; } @@ -19997,7 +19997,7 @@ Ifc4x3_rc1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3 aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > Ifc4x3_rc1::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssigns::declaration() const { return *IFC4X3_RC1_IfcRelAssigns_type; } @@ -20111,7 +20111,7 @@ Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20247,7 +20247,7 @@ void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc ::Ifc4x3_rc1::IfcStructuralConnectionCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc1::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20271,7 +20271,7 @@ Ifc4x3_rc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std:: aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcElement >(); } void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X3_RC1_IfcRelConnectsWithRealizingElements_type; } @@ -20423,7 +20423,7 @@ void Ifc4x3_rc1::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc1::IfcIn ::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4x3_rc1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4x3_rc1::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20489,9 +20489,9 @@ void Ifc4x3_rc1::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc1::IfcProcess* v) ::Ifc4x3_rc1::IfcLagTime* Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcLagTime>(true); } void Ifc4x3_rc1::IfcRelSequence::setTimeLag(::Ifc4x3_rc1::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > Ifc4x3_rc1::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelSequence::declaration() const { return *IFC4X3_RC1_IfcRelSequence_type; } @@ -20585,9 +20585,9 @@ Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu ::Ifc4x3_rc1::IfcRepresentationContext* Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationContext>(true); } void Ifc4x3_rc1::IfcRepresentation::setContextOfItems(::Ifc4x3_rc1::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr Ifc4x3_rc1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcRepresentationItem >(); } void Ifc4x3_rc1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -20602,9 +20602,9 @@ Ifc4x3_rc1::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc1::IfcRepresentation // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcRepresentation::list::ptr Ifc4x3_rc1::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X3_RC1_IfcRepresentation_type, 0)->as(); } @@ -20639,9 +20639,9 @@ Ifc4x3_rc1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc1::IfcAxis2Pla // Function implementations for IfcResource boost::optional< std::string > Ifc4x3_rc1::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToResource::list::ptr Ifc4x3_rc1::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToResource_type, 6)->as(); } @@ -20676,9 +20676,9 @@ Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcResourceLevelRelationship::declaration() const { return *IFC4X3_RC1_IfcResourceLevelRelationship_type; } @@ -20688,35 +20688,35 @@ Ifc4x3_rc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::op // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc1::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc1::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc1::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc1::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcResourceTime::declaration() const { return *IFC4X3_RC1_IfcResourceTime_type; } @@ -20780,7 +20780,7 @@ Ifc4x3_rc1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcRoof boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > Ifc4x3_rc1::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRoof::declaration() const { return *IFC4X3_RC1_IfcRoof_type; } @@ -20804,9 +20804,9 @@ void Ifc4x3_rc1::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgume ::Ifc4x3_rc1::IfcOwnerHistory* Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcOwnerHistory>(true); } void Ifc4x3_rc1::IfcRoot::setOwnerHistory(::Ifc4x3_rc1::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcRoot::declaration() const { return *IFC4X3_RC1_IfcRoot_type; } @@ -20826,7 +20826,7 @@ Ifc4x3_rc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x // Function implementations for IfcSIUnit boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > Ifc4x3_rc1::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcSIUnitName::Value Ifc4x3_rc1::IfcSIUnit::Name() const { return ::Ifc4x3_rc1::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x3_rc1::IfcSIUnit::setName(::Ifc4x3_rc1::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -20838,7 +20838,7 @@ Ifc4x3_rc1::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, b // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc1::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSanitaryTerminal::declaration() const { return *IFC4X3_RC1_IfcSanitaryTerminal_type; } @@ -20858,11 +20858,11 @@ Ifc4x3_rc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_Glob // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > Ifc4x3_rc1::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x3_rc1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSchedulingTime::declaration() const { return *IFC4X3_RC1_IfcSchedulingTime_type; } @@ -20898,7 +20898,7 @@ void Ifc4x3_rc1::IfcSectionReinforcementProperties::setLongitudinalStartPosition double Ifc4x3_rc1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcSectionProperties* Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSectionProperties>(true); } @@ -20968,7 +20968,7 @@ Ifc4x3_rc1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc1::IfcCurve* v1_ // Function implementations for IfcSensor boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > Ifc4x3_rc1::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSensor::declaration() const { return *IFC4X3_RC1_IfcSensor_type; } @@ -20988,7 +20988,7 @@ Ifc4x3_rc1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcShadingDevice boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcShadingDevice::declaration() const { return *IFC4X3_RC1_IfcShadingDevice_type; } @@ -21010,9 +21010,9 @@ Ifc4x3_rc1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr Ifc4x3_rc1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc1::IfcShapeModel >(); } void Ifc4x3_rc1::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcProductRepresentationSelect* Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(true); } @@ -21054,7 +21054,7 @@ Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_in // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > Ifc4x3_rc1::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSignTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSignTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSign::declaration() const { return *IFC4X3_RC1_IfcSign_type; } @@ -21074,7 +21074,7 @@ Ifc4x3_rc1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcSignal boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > Ifc4x3_rc1::IfcSignal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSignalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSignalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSignal::declaration() const { return *IFC4X3_RC1_IfcSignal_type; } @@ -21102,11 +21102,11 @@ Ifc4x3_rc1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::opt // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcUnit>(true); } @@ -21114,9 +21114,9 @@ void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc1::IfcUnit ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSimplePropertyTemplate::declaration() const { return *IFC4X3_RC1_IfcSimplePropertyTemplate_type; } @@ -21126,13 +21126,13 @@ Ifc4x3_rc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_ // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } void Ifc4x3_rc1::IfcSite::setSiteAddress(::Ifc4x3_rc1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21144,7 +21144,7 @@ Ifc4x3_rc1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcSlab boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > Ifc4x3_rc1::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSlab::declaration() const { return *IFC4X3_RC1_IfcSlab_type; } @@ -21180,11 +21180,11 @@ Ifc4x3_rc1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSlippageConnectionCondition::declaration() const { return *IFC4X3_RC1_IfcSlippageConnectionCondition_type; } @@ -21194,7 +21194,7 @@ Ifc4x3_rc1::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost // Function implementations for IfcSolarDevice boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSolarDevice::declaration() const { return *IFC4X3_RC1_IfcSolarDevice_type; } @@ -21230,9 +21230,9 @@ Ifc4x3_rc1::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcSpace boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > Ifc4x3_rc1::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc1::IfcRelCoversSpaces::list::ptr Ifc4x3_rc1::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X3_RC1_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x3_rc1::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc1::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X3_RC1_IfcRelSpaceBoundary_type, 4)->as(); } @@ -21244,7 +21244,7 @@ Ifc4x3_rc1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc1::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceHeater::declaration() const { return *IFC4X3_RC1_IfcSpaceHeater_type; } @@ -21266,7 +21266,7 @@ Ifc4x3_rc1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::If ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value Ifc4x3_rc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcSpaceType::setPredefinedType(::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceType::declaration() const { return *IFC4X3_RC1_IfcSpaceType_type; } @@ -21276,7 +21276,7 @@ Ifc4x3_rc1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc1::If // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4x3_rc1::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc1::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X3_RC1_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x3_rc1::IfcRelServicesBuildings::list::ptr Ifc4x3_rc1::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X3_RC1_IfcRelServicesBuildings_type, 5)->as(); } @@ -21289,7 +21289,7 @@ Ifc4x3_rc1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4x3_rc1::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElementType::declaration() const { return *IFC4X3_RC1_IfcSpatialElementType_type; } @@ -21299,7 +21299,7 @@ Ifc4x3_rc1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > Ifc4x3_rc1::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialStructureElement::declaration() const { return *IFC4X3_RC1_IfcSpatialStructureElement_type; } @@ -21317,7 +21317,7 @@ Ifc4x3_rc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std:: // Function implementations for IfcSpatialZone boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc1::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialZone::declaration() const { return *IFC4X3_RC1_IfcSpatialZone_type; } @@ -21329,7 +21329,7 @@ Ifc4x3_rc1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc1 ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialZoneType::declaration() const { return *IFC4X3_RC1_IfcSpatialZoneType_type; } @@ -21359,7 +21359,7 @@ Ifc4x3_rc1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc1::IfcAxis2Place // Function implementations for IfcStackTerminal boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc1::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStackTerminal::declaration() const { return *IFC4X3_RC1_IfcStackTerminal_type; } @@ -21379,7 +21379,7 @@ Ifc4x3_rc1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, // Function implementations for IfcStair boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > Ifc4x3_rc1::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStair::declaration() const { return *IFC4X3_RC1_IfcStair_type; } @@ -21389,15 +21389,15 @@ Ifc4x3_rc1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi // Function implementations for IfcStairFlight boost::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > Ifc4x3_rc1::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStairFlight::declaration() const { return *IFC4X3_RC1_IfcStairFlight_type; } @@ -21427,7 +21427,7 @@ Ifc4x3_rc1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc1::If // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4x3_rc1::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralAction::declaration() const { return *IFC4X3_RC1_IfcStructuralAction_type; } @@ -21454,9 +21454,9 @@ void Ifc4x3_rc1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc1::Ifc ::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadGroup >(); } -void Ifc4x3_rc1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc1::IfcStructuralResultGroup >(); } -void Ifc4x3_rc1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21479,7 +21479,7 @@ Ifc4x3_rc1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_Glob // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4x3_rc1::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnectionCondition::declaration() const { return *IFC4X3_RC1_IfcStructuralConnectionCondition_type; } @@ -21489,7 +21489,7 @@ Ifc4x3_rc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(b // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc1::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21558,7 +21558,7 @@ Ifc4x3_rc1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_ // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4x3_rc1::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoad::declaration() const { return *IFC4X3_RC1_IfcStructuralLoad_type; } @@ -21568,7 +21568,7 @@ Ifc4x3_rc1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadCase::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadCase_type; } @@ -21580,7 +21580,7 @@ Ifc4x3_rc1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadConfiguration_type; } @@ -21596,9 +21596,9 @@ void Ifc4x3_rc1::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc1::IfcActionTy ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc1::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcStructuralResultGroup::list::ptr Ifc4x3_rc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X3_RC1_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x3_rc1::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc1::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X3_RC1_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -21610,17 +21610,17 @@ Ifc4x3_rc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_Global // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadLinearForce_type; } @@ -21638,11 +21638,11 @@ Ifc4x3_rc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadPlanarForce_type; } @@ -21652,17 +21652,17 @@ Ifc4x3_rc1::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::op // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadSingleDisplacement_type; } @@ -21672,7 +21672,7 @@ Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplace // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -21682,17 +21682,17 @@ Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSing // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadSingleForce_type; } @@ -21702,7 +21702,7 @@ Ifc4x3_rc1::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::op // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadSingleForceWarping_type; } @@ -21720,11 +21720,11 @@ Ifc4x3_rc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< st // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadTemperature::declaration() const { return *IFC4X3_RC1_IfcStructuralLoadTemperature_type; } @@ -21800,7 +21800,7 @@ Ifc4x3_rc1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Gl // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc1::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21822,7 +21822,7 @@ Ifc4x3_rc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std:: ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceMember::declaration() const { return *IFC4X3_RC1_IfcStructuralSurfaceMember_type; } @@ -21862,7 +21862,7 @@ void Ifc4x3_rc1::IfcStyledItem::setItem(::Ifc4x3_rc1::IfcRepresentationItem* v) aggregate_of_instance::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::declaration() const { return *IFC4X3_RC1_IfcStyledItem_type; } @@ -21880,7 +21880,7 @@ Ifc4x3_rc1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc1::IfcRe // Function implementations for IfcSubContractResource boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc1::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSubContractResource::declaration() const { return *IFC4X3_RC1_IfcSubContractResource_type; } @@ -21942,7 +21942,7 @@ Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc1::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceFeature::declaration() const { return *IFC4X3_RC1_IfcSurfaceFeature_type; } @@ -21974,11 +21974,11 @@ Ifc4x3_rc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc1::IfcProf // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X3_RC1_IfcSurfaceReinforcementArea_type; } @@ -22016,9 +22016,9 @@ Ifc4x3_rc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc1::IfcCo // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X3_RC1_IfcSurfaceStyleRefraction_type; } @@ -22052,7 +22052,7 @@ Ifc4x3_rc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc1::Ifc ::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleShading::declaration() const { return *IFC4X3_RC1_IfcSurfaceStyleShading_type; } @@ -22076,11 +22076,11 @@ void Ifc4x3_rc1::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgu bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc1::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcTextureCoordinate::list::ptr Ifc4x3_rc1::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X3_RC1_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x3_rc1::IfcSurfaceStyleWithTextures::list::ptr Ifc4x3_rc1::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X3_RC1_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -22108,11 +22108,11 @@ void Ifc4x3_rc1::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {I double Ifc4x3_rc1::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSweptDiskSolid::declaration() const { return *IFC4X3_RC1_IfcSweptDiskSolid_type; } @@ -22122,7 +22122,7 @@ Ifc4x3_rc1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc1::IfcCurve* v1_Dire // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X3_RC1_IfcSweptDiskSolidPolygonal_type; } @@ -22144,7 +22144,7 @@ Ifc4x3_rc1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc1::IfcProfileDef* v1_Swe // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSwitchingDevice::declaration() const { return *IFC4X3_RC1_IfcSwitchingDevice_type; } @@ -22174,7 +22174,7 @@ Ifc4x3_rc1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSystemFurnitureElement::declaration() const { return *IFC4X3_RC1_IfcSystemFurnitureElement_type; } @@ -22184,7 +22184,7 @@ Ifc4x3_rc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_ // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcSystemFurnitureElementType::declaration() const { return *IFC4X3_RC1_IfcSystemFurnitureElementType_type; } @@ -22202,15 +22202,15 @@ void Ifc4x3_rc1::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc1::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcTShapeProfileDef_type; } @@ -22220,11 +22220,11 @@ Ifc4x3_rc1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc1::IfcProfileTyp // Function implementations for IfcTable boost::optional< std::string > Ifc4x3_rc1::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > Ifc4x3_rc1::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcTableRow >(); } -void Ifc4x3_rc1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > Ifc4x3_rc1::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcTableColumn >(); } -void Ifc4x3_rc1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTable::declaration() const { return *IFC4X3_RC1_IfcTable_type; } @@ -22234,11 +22234,11 @@ Ifc4x3_rc1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::op // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcTableColumn::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } @@ -22252,9 +22252,9 @@ Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Ide // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::declaration() const { return *IFC4X3_RC1_IfcTableRow_type; } @@ -22264,7 +22264,7 @@ Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > Ifc4x3_rc1::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTank::declaration() const { return *IFC4X3_RC1_IfcTank_type; } @@ -22284,17 +22284,17 @@ Ifc4x3_rc1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcTask boost::optional< std::string > Ifc4x3_rc1::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x3_rc1::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc1::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc1::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc1::IfcTaskTime* Ifc4x3_rc1::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcTaskTime>(true); } void Ifc4x3_rc1::IfcTask::setTaskTime(::Ifc4x3_rc1::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > Ifc4x3_rc1::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTask::declaration() const { return *IFC4X3_RC1_IfcTask_type; } @@ -22304,39 +22304,39 @@ Ifc4x3_rc1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcTaskTime boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > Ifc4x3_rc1::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4x3_rc1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4x3_rc1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4x3_rc1::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc1::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTaskTime::declaration() const { return *IFC4X3_RC1_IfcTaskTime_type; } @@ -22358,7 +22358,7 @@ Ifc4x3_rc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::str ::Ifc4x3_rc1::IfcTaskTypeEnum::Value Ifc4x3_rc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcTaskType::setPredefinedType(::Ifc4x3_rc1::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTaskType::declaration() const { return *IFC4X3_RC1_IfcTaskType_type; } @@ -22368,17 +22368,17 @@ Ifc4x3_rc1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTelecomAddress::declaration() const { return *IFC4X3_RC1_IfcTelecomAddress_type; } @@ -22388,21 +22388,21 @@ Ifc4x3_rc1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc1:: // Function implementations for IfcTendon boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > Ifc4x3_rc1::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTendon::declaration() const { return *IFC4X3_RC1_IfcTendon_type; } @@ -22412,7 +22412,7 @@ Ifc4x3_rc1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc1::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTendonAnchor::declaration() const { return *IFC4X3_RC1_IfcTendonAnchor_type; } @@ -22454,11 +22454,11 @@ Ifc4x3_rc1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value Ifc4x3_rc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc1::IfcTendonType::setPredefinedType(::Ifc4x3_rc1::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTendonType::declaration() const { return *IFC4X3_RC1_IfcTendonType_type; } @@ -22520,7 +22520,7 @@ void Ifc4x3_rc1::IfcTextStyle::setTextStyle(::Ifc4x3_rc1::IfcTextStyleTextModel* ::Ifc4x3_rc1::IfcTextFontSelect* Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTextFontSelect>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc1::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyle::declaration() const { return *IFC4X3_RC1_IfcTextStyle_type; } @@ -22532,11 +22532,11 @@ Ifc4x3_rc1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, : std::vector< std::string > /*[1:?]*/ Ifc4x3_rc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22562,15 +22562,15 @@ Ifc4x3_rc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc1: ::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22594,7 +22594,7 @@ Ifc4x3_rc1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc std::string Ifc4x3_rc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc1::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X3_RC1_IfcTextureCoordinateGenerator_type; } @@ -22650,7 +22650,7 @@ Ifc4x3_rc1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v std::string Ifc4x3_rc1::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4x3_rc1::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4x3_rc1::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -22660,7 +22660,7 @@ void Ifc4x3_rc1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc1::IfcTimeSerie ::Ifc4x3_rc1::IfcDataOriginEnum::Value Ifc4x3_rc1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc1::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc1::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcTimeSeries::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -22711,7 +22711,7 @@ Ifc4x3_rc1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc1::IfcAxis2Placeme // Function implementations for IfcTrackElement boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > Ifc4x3_rc1::IfcTrackElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTrackElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTrackElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTrackElement::declaration() const { return *IFC4X3_RC1_IfcTrackElement_type; } @@ -22731,7 +22731,7 @@ Ifc4x3_rc1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, :: // Function implementations for IfcTransformer boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > Ifc4x3_rc1::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTransformer::declaration() const { return *IFC4X3_RC1_IfcTransformer_type; } @@ -22751,9 +22751,9 @@ Ifc4x3_rc1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::If // Function implementations for IfcTransitionCurveSegment2D boost::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::StartRadius() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::EndRadius() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } bool Ifc4x3_rc1::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } bool Ifc4x3_rc1::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = *data_->getArgument(6); return v; } @@ -22805,13 +22805,13 @@ Ifc4x3_rc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc1::IfcProf // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4x3_rc1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4x3_rc1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTriangulatedFaceSet::declaration() const { return *IFC4X3_RC1_IfcTriangulatedFaceSet_type; } @@ -22849,7 +22849,7 @@ Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCur // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc1::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcTubeBundle::declaration() const { return *IFC4X3_RC1_IfcTubeBundle_type; } @@ -22869,9 +22869,9 @@ Ifc4x3_rc1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4x3_rc1::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > Ifc4x3_rc1::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } -void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcRelDefinesByType::list::ptr Ifc4x3_rc1::IfcTypeObject::Types() const { return data_->getInverse(IFC4X3_RC1_IfcRelDefinesByType_type, 5)->as(); } @@ -22882,11 +22882,11 @@ Ifc4x3_rc1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc1::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToProcess_type, 6)->as(); } @@ -22897,9 +22897,9 @@ Ifc4x3_rc1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > Ifc4x3_rc1::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc1::IfcRepresentationMap >(); } -void Ifc4x3_rc1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc1::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToProduct_type, 6)->as(); } @@ -22910,11 +22910,11 @@ Ifc4x3_rc1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToResource::list::ptr Ifc4x3_rc1::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToResource_type, 6)->as(); } @@ -22933,11 +22933,11 @@ void Ifc4x3_rc1::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc1::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcUShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcUShapeProfileDef_type; } @@ -22957,7 +22957,7 @@ Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_U // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryControlElement::declaration() const { return *IFC4X3_RC1_IfcUnitaryControlElement_type; } @@ -22977,7 +22977,7 @@ Ifc4x3_rc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::stri // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryEquipment::declaration() const { return *IFC4X3_RC1_IfcUnitaryEquipment_type; } @@ -22997,7 +22997,7 @@ Ifc4x3_rc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_Glob // Function implementations for IfcValve boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > Ifc4x3_rc1::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcValve::declaration() const { return *IFC4X3_RC1_IfcValve_type; } @@ -23057,7 +23057,7 @@ Ifc4x3_rc1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc1::IfcPoint* v1_VertexGeom // Function implementations for IfcVibrationDamper boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationDamper::declaration() const { return *IFC4X3_RC1_IfcVibrationDamper_type; } @@ -23067,7 +23067,7 @@ Ifc4x3_rc1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::If // Function implementations for IfcVibrationDamperType boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamperType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc1::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationDamperType::declaration() const { return *IFC4X3_RC1_IfcVibrationDamperType_type; } @@ -23077,7 +23077,7 @@ Ifc4x3_rc1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_Global // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc1::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationIsolator::declaration() const { return *IFC4X3_RC1_IfcVibrationIsolator_type; } @@ -23125,7 +23125,7 @@ Ifc4x3_rc1::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc1::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcVoidingFeature::declaration() const { return *IFC4X3_RC1_IfcVoidingFeature_type; } @@ -23135,7 +23135,7 @@ Ifc4x3_rc1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcWall boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > Ifc4x3_rc1::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWall::declaration() const { return *IFC4X3_RC1_IfcWall_type; } @@ -23171,7 +23171,7 @@ Ifc4x3_rc1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc1::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWasteTerminal::declaration() const { return *IFC4X3_RC1_IfcWasteTerminal_type; } @@ -23199,15 +23199,15 @@ Ifc4x3_rc1::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcWindow boost::optional< double > Ifc4x3_rc1::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > Ifc4x3_rc1::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc1::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWindow::declaration() const { return *IFC4X3_RC1_IfcWindow_type; } @@ -23217,29 +23217,29 @@ Ifc4x3_rc1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWindowLiningProperties::declaration() const { return *IFC4X3_RC1_IfcWindowLiningProperties_type; } @@ -23253,9 +23253,9 @@ void Ifc4x3_rc1::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc1::IfcWin ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23295,9 +23295,9 @@ void Ifc4x3_rc1::IfcWindowType::setPredefinedType(::Ifc4x3_rc1::IfcWindowTypeEnu ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc1::IfcWindowType::setPartitioningType(::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWindowType::declaration() const { return *IFC4X3_RC1_IfcWindowType_type; } @@ -23307,11 +23307,11 @@ Ifc4x3_rc1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > Ifc4x3_rc1::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc1::IfcWorkTime >(); } -void Ifc4x3_rc1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > Ifc4x3_rc1::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcWorkTime >(); } -void Ifc4x3_rc1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc1::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkCalendar::declaration() const { return *IFC4X3_RC1_IfcWorkCalendar_type; } @@ -23323,17 +23323,17 @@ Ifc4x3_rc1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_r std::string Ifc4x3_rc1::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } -void Ifc4x3_rc1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc1::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc1::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4x3_rc1::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x3_rc1::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkControl::declaration() const { return *IFC4X3_RC1_IfcWorkControl_type; } @@ -23343,7 +23343,7 @@ Ifc4x3_rc1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc1 // Function implementations for IfcWorkPlan boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc1::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkPlan::declaration() const { return *IFC4X3_RC1_IfcWorkPlan_type; } @@ -23353,7 +23353,7 @@ Ifc4x3_rc1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc1::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkSchedule::declaration() const { return *IFC4X3_RC1_IfcWorkSchedule_type; } @@ -23365,9 +23365,9 @@ Ifc4x3_rc1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_r ::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } void Ifc4x3_rc1::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc1::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc1::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc1::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkTime::declaration() const { return *IFC4X3_RC1_IfcWorkTime_type; } @@ -23385,9 +23385,9 @@ void Ifc4x3_rc1::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc1::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcZShapeProfileDef::declaration() const { return *IFC4X3_RC1_IfcZShapeProfileDef_type; } @@ -23397,7 +23397,7 @@ Ifc4x3_rc1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc1::IfcProfileTyp // Function implementations for IfcZone boost::optional< std::string > Ifc4x3_rc1::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc1::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc1::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc1::IfcZone::declaration() const { return *IFC4X3_RC1_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp index 344e3010e3..f461d1734d 100644 --- a/src/ifcparse/Ifc4x3_rc2.cpp +++ b/src/ifcparse/Ifc4x3_rc2.cpp @@ -13099,11 +13099,11 @@ Ifc4x3_rc2::IfcWarpingMomentMeasure::operator double() const { return *data_->ge // Function implementations for IfcActionRequest boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > Ifc4x3_rc2::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcActionRequest::declaration() const { return *IFC4X3_RC2_IfcActionRequest_type; } @@ -13126,9 +13126,9 @@ Ifc4x3_rc2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi ::Ifc4x3_rc2::IfcRoleEnum::Value Ifc4x3_rc2::IfcActorRole::Role() const { return ::Ifc4x3_rc2::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc2::IfcActorRole::setRole(::Ifc4x3_rc2::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13139,7 +13139,7 @@ Ifc4x3_rc2::IfcActorRole::IfcActorRole(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, // Function implementations for IfcActuator boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > Ifc4x3_rc2::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcActuator::declaration() const { return *IFC4X3_RC2_IfcActuator_type; } @@ -13159,11 +13159,11 @@ Ifc4x3_rc2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcAddress boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Ifc4x3_rc2::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x3_rc2::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcPerson::list::ptr Ifc4x3_rc2::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X3_RC2_IfcPerson_type, 7)->as(); } ::Ifc4x3_rc2::IfcOrganization::list::ptr Ifc4x3_rc2::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X3_RC2_IfcOrganization_type, 4)->as(); } @@ -13201,7 +13201,7 @@ Ifc4x3_rc2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc2::IfcFace // Function implementations for IfcAirTerminal boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminal::declaration() const { return *IFC4X3_RC2_IfcAirTerminal_type; } @@ -13211,7 +13211,7 @@ Ifc4x3_rc2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalBox::declaration() const { return *IFC4X3_RC2_IfcAirTerminalBox_type; } @@ -13241,7 +13241,7 @@ Ifc4x3_rc2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc2::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X3_RC2_IfcAirToAirHeatRecovery_type; } @@ -13261,7 +13261,7 @@ Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string // Function implementations for IfcAlarm boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > Ifc4x3_rc2::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlarm::declaration() const { return *IFC4X3_RC2_IfcAlarm_type; } @@ -13281,7 +13281,7 @@ Ifc4x3_rc2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc2::If // Function implementations for IfcAlignment boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > Ifc4x3_rc2::IfcAlignment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAlignmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAlignmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment::declaration() const { return *IFC4X3_RC2_IfcAlignment_type; } @@ -13341,13 +13341,13 @@ void Ifc4x3_rc2::IfcAlignmentCantSegment::setHorizontalLength(double v) { {IfcWr double Ifc4x3_rc2::IfcAlignmentCantSegment::StartCantLeft() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setStartCantLeft(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::EndCantLeft() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } double Ifc4x3_rc2::IfcAlignmentCantSegment::StartCantRight() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setStartCantRight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::EndCantRight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::SmoothingLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcAlignmentCantSegment::setSmoothingLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAlignmentCantSegment::setSmoothingLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::ToString(v)));data_->setArgument(9,attr);} } @@ -13363,7 +13363,7 @@ void Ifc4x3_rc2::IfcAlignmentCurve::setHorizontal(::Ifc4x3_rc2::IfcAlignmentHori ::Ifc4x3_rc2::IfcAlignmentVertical* Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAlignmentVertical>(true); } void Ifc4x3_rc2::IfcAlignmentCurve::setVertical(::Ifc4x3_rc2::IfcAlignmentVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCurve::declaration() const { return *IFC4X3_RC2_IfcAlignmentCurve_type; } @@ -13373,7 +13373,7 @@ Ifc4x3_rc2::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x3_rc2::IfcAlignmentHoriz // Function implementations for IfcAlignmentHorizontal boost::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontal::StartDistAlong() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcAlignmentHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAlignmentHorizontal::setStartDistAlong(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr Ifc4x3_rc2::IfcAlignmentHorizontal::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >(); } void Ifc4x3_rc2::IfcAlignmentHorizontal::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } @@ -13395,7 +13395,7 @@ void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13407,9 +13407,9 @@ Ifc4x3_rc2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost:: // Function implementations for IfcAlignmentParameterSegment boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::StartTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::EndTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentParameterSegment::declaration() const { return *IFC4X3_RC2_IfcAlignmentParameterSegment_type; } @@ -13449,7 +13449,7 @@ void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setStartGradient(double v) { {IfcW double Ifc4x3_rc2::IfcAlignmentVerticalSegment::EndGradient() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setEndGradient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13461,7 +13461,7 @@ Ifc4x3_rc2::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(boost::opti // Function implementations for IfcAnnotation boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > Ifc4x3_rc2::IfcAnnotation::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAnnotationTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAnnotationTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAnnotationTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc2::IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IFC4X3_RC2_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -13474,7 +13474,7 @@ Ifc4x3_rc2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc2:: ::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > Ifc4x3_rc2::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } -void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAnnotationFillArea::declaration() const { return *IFC4X3_RC2_IfcAnnotationFillArea_type; } @@ -13500,25 +13500,25 @@ Ifc4x3_rc2::IfcApplication::IfcApplication(::Ifc4x3_rc2::IfcOrganization* v1_App // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcAppliedValueSelect* Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAppliedValueSelect>(true); } void Ifc4x3_rc2::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc2::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc2::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } -void Ifc4x3_rc2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13529,19 +13529,19 @@ Ifc4x3_rc2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_N // Function implementations for IfcApproval boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcApproval::setRequestingApproval(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } @@ -13602,7 +13602,7 @@ Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc2::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setOriginalValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } @@ -13616,7 +13616,7 @@ void Ifc4x3_rc2::IfcAsset::setUser(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite: ::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcPerson>(true); } void Ifc4x3_rc2::IfcAsset::setResponsiblePerson(::Ifc4x3_rc2::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setDepreciatedValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13636,21 +13636,21 @@ void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {Ifc double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcAsymmetricIShapeProfileDef_type; } @@ -13660,7 +13660,7 @@ Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc2::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcAudioVisualAppliance::declaration() const { return *IFC4X3_RC2_IfcAudioVisualAppliance_type; } @@ -13805,7 +13805,7 @@ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegre // Function implementations for IfcBeam boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > Ifc4x3_rc2::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBeam::declaration() const { return *IFC4X3_RC2_IfcBeam_type; } @@ -13833,7 +13833,7 @@ Ifc4x3_rc2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcBearing boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > Ifc4x3_rc2::IfcBearing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBearingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBearingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBearing::declaration() const { return *IFC4X3_RC2_IfcBearing_type; } @@ -13893,7 +13893,7 @@ Ifc4x3_rc2::IfcBlossCurve::IfcBlossCurve(::Ifc4x3_rc2::IfcAxis2Placement* v1_Pos // Function implementations for IfcBoiler boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > Ifc4x3_rc2::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBoiler::declaration() const { return *IFC4X3_RC2_IfcBoiler_type; } @@ -13943,7 +13943,7 @@ Ifc4x3_rc2::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4x3_rc2::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryCondition::declaration() const { return *IFC4X3_RC2_IfcBoundaryCondition_type; } @@ -14068,7 +14068,7 @@ Ifc4x3_rc2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc2::IfcSurface* v1_Ba // Function implementations for IfcBridge boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > Ifc4x3_rc2::IfcBridge::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBridgeTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBridgeTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBridge::declaration() const { return *IFC4X3_RC2_IfcBridge_type; } @@ -14086,9 +14086,9 @@ Ifc4x3_rc2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcBuilding boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } void Ifc4x3_rc2::IfcBuilding::setBuildingAddress(::Ifc4x3_rc2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14100,7 +14100,7 @@ Ifc4x3_rc2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementPart::declaration() const { return *IFC4X3_RC2_IfcBuildingElementPart_type; } @@ -14120,7 +14120,7 @@ Ifc4x3_rc2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementProxy::declaration() const { return *IFC4X3_RC2_IfcBuildingElementProxy_type; } @@ -14140,7 +14140,7 @@ Ifc4x3_rc2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4x3_rc2::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingStorey::declaration() const { return *IFC4X3_RC2_IfcBuildingStorey_type; } @@ -14150,9 +14150,9 @@ Ifc4x3_rc2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingSystem::declaration() const { return *IFC4X3_RC2_IfcBuildingSystem_type; } @@ -14178,9 +14178,9 @@ Ifc4x3_rc2::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, :: // Function implementations for IfcBuiltSystem boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuiltSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc2::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcBuiltSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuiltSystem::declaration() const { return *IFC4X3_RC2_IfcBuiltSystem_type; } @@ -14190,7 +14190,7 @@ Ifc4x3_rc2::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcBurner boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > Ifc4x3_rc2::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcBurner::declaration() const { return *IFC4X3_RC2_IfcBurner_type; } @@ -14218,7 +14218,7 @@ void Ifc4x3_rc2::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::If double Ifc4x3_rc2::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcCShapeProfileDef_type; } @@ -14228,7 +14228,7 @@ Ifc4x3_rc2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc2::IfcProfileTyp // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierFitting::declaration() const { return *IFC4X3_RC2_IfcCableCarrierFitting_type; } @@ -14248,7 +14248,7 @@ Ifc4x3_rc2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierSegment::declaration() const { return *IFC4X3_RC2_IfcCableCarrierSegment_type; } @@ -14268,7 +14268,7 @@ Ifc4x3_rc2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v // Function implementations for IfcCableFitting boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableFitting::declaration() const { return *IFC4X3_RC2_IfcCableFitting_type; } @@ -14288,7 +14288,7 @@ Ifc4x3_rc2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, :: // Function implementations for IfcCableSegment boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableSegment::declaration() const { return *IFC4X3_RC2_IfcCableSegment_type; } @@ -14308,7 +14308,7 @@ Ifc4x3_rc2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, :: // Function implementations for IfcCaissonFoundation boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc2::IfcCaissonFoundation::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCaissonFoundation::declaration() const { return *IFC4X3_RC2_IfcCaissonFoundation_type; } @@ -14348,7 +14348,7 @@ Ifc4x3_rc2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricReprese std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList2D::declaration() const { return *IFC4X3_RC2_IfcCartesianPointList2D_type; } @@ -14360,7 +14360,7 @@ Ifc4x3_rc2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::v std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList3D::declaration() const { return *IFC4X3_RC2_IfcCartesianPointList3D_type; } @@ -14376,7 +14376,7 @@ void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc2::IfcD ::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator::declaration() const { return *IFC4X3_RC2_IfcCartesianTransformationOperator_type; } @@ -14394,7 +14394,7 @@ Ifc4x3_rc2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X3_RC2_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -14414,9 +14414,9 @@ Ifc4x3_rc2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X3_RC2_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -14436,7 +14436,7 @@ Ifc4x3_rc2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc2::IfcPr // Function implementations for IfcChiller boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > Ifc4x3_rc2::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcChiller::declaration() const { return *IFC4X3_RC2_IfcChiller_type; } @@ -14456,7 +14456,7 @@ Ifc4x3_rc2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcChimney boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > Ifc4x3_rc2::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcChimney::declaration() const { return *IFC4X3_RC2_IfcChimney_type; } @@ -14534,19 +14534,19 @@ Ifc4x3_rc2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, :: // Function implementations for IfcClassification boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4x3_rc2::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc2::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc2::IfcClassificationReference::list::ptr Ifc4x3_rc2::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X3_RC2_IfcClassificationReference_type, 3)->as(); } @@ -14560,9 +14560,9 @@ Ifc4x3_rc2::IfcClassification::IfcClassification(boost::optional< std::string > ::Ifc4x3_rc2::IfcClassificationReferenceSelect* Ifc4x3_rc2::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc2::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc2::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc2::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc2::IfcClassificationReference::list::ptr Ifc4x3_rc2::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X3_RC2_IfcClassificationReference_type, 3)->as(); } @@ -14594,7 +14594,7 @@ Ifc4x3_rc2::IfcClothoid::IfcClothoid(::Ifc4x3_rc2::IfcAxis2Placement* v1_Positio // Function implementations for IfcCoil boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > Ifc4x3_rc2::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCoil::declaration() const { return *IFC4X3_RC2_IfcCoil_type; } @@ -14638,7 +14638,7 @@ Ifc4x3_rc2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4x3_rc2::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcColourSpecification::declaration() const { return *IFC4X3_RC2_IfcColourSpecification_type; } @@ -14648,7 +14648,7 @@ Ifc4x3_rc2::IfcColourSpecification::IfcColourSpecification(boost::optional< std: // Function implementations for IfcColumn boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > Ifc4x3_rc2::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcColumn::declaration() const { return *IFC4X3_RC2_IfcColumn_type; } @@ -14676,7 +14676,7 @@ Ifc4x3_rc2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCommunicationsAppliance::declaration() const { return *IFC4X3_RC2_IfcCommunicationsAppliance_type; } @@ -14708,11 +14708,11 @@ Ifc4x3_rc2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::o // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4x3_rc2::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > Ifc4x3_rc2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc2::IfcPropertyTemplate >(); } -void Ifc4x3_rc2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcComplexPropertyTemplate::declaration() const { return *IFC4X3_RC2_IfcComplexPropertyTemplate_type; } @@ -14757,7 +14757,7 @@ Ifc4x3_rc2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc2::Ifc aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeProfileDef::declaration() const { return *IFC4X3_RC2_IfcCompositeProfileDef_type; } @@ -14767,7 +14767,7 @@ Ifc4x3_rc2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc2::IfcProf // Function implementations for IfcCompressor boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > Ifc4x3_rc2::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCompressor::declaration() const { return *IFC4X3_RC2_IfcCompressor_type; } @@ -14787,7 +14787,7 @@ Ifc4x3_rc2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCondenser boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > Ifc4x3_rc2::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCondenser::declaration() const { return *IFC4X3_RC2_IfcCondenser_type; } @@ -14847,11 +14847,11 @@ Ifc4x3_rc2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEnt // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionPointEccentricity::declaration() const { return *IFC4X3_RC2_IfcConnectionPointEccentricity_type; } @@ -14899,17 +14899,17 @@ Ifc4x3_rc2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc std::string Ifc4x3_rc2::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcConstraintEnum::Value Ifc4x3_rc2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc2::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc2::IfcConstraint::setConstraintGrade(::Ifc4x3_rc2::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcConstraint::setCreatingActor(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc2::IfcResourceConstraintRelationship::list::ptr Ifc4x3_rc2::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X3_RC2_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -14921,7 +14921,7 @@ Ifc4x3_rc2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< s // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionEquipmentResource::declaration() const { return *IFC4X3_RC2_IfcConstructionEquipmentResource_type; } @@ -14941,7 +14941,7 @@ Ifc4x3_rc2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResour // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionMaterialResource::declaration() const { return *IFC4X3_RC2_IfcConstructionMaterialResource_type; } @@ -14961,7 +14961,7 @@ Ifc4x3_rc2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResource // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionProductResource::declaration() const { return *IFC4X3_RC2_IfcConstructionProductResource_type; } @@ -14983,7 +14983,7 @@ Ifc4x3_rc2::IfcConstructionProductResourceType::IfcConstructionProductResourceTy ::Ifc4x3_rc2::IfcResourceTime* Ifc4x3_rc2::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcResourceTime>(true); } void Ifc4x3_rc2::IfcConstructionResource::setUsage(::Ifc4x3_rc2::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } -void Ifc4x3_rc2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } void Ifc4x3_rc2::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14995,7 +14995,7 @@ Ifc4x3_rc2::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } -void Ifc4x3_rc2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } void Ifc4x3_rc2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15007,13 +15007,13 @@ Ifc4x3_rc2::IfcConstructionResourceType::IfcConstructionResourceType(std::string // Function implementations for IfcContext boost::optional< std::string > Ifc4x3_rc2::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > Ifc4x3_rc2::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcRepresentationContext >(); } -void Ifc4x3_rc2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcUnitAssignment* Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcUnitAssignment>(true); } void Ifc4x3_rc2::IfcContext::setUnitsInContext(::Ifc4x3_rc2::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15038,7 +15038,7 @@ Ifc4x3_rc2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc2::IfcDi // Function implementations for IfcControl boost::optional< std::string > Ifc4x3_rc2::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToControl::list::ptr Ifc4x3_rc2::IfcControl::Controls() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToControl_type, 6)->as(); } @@ -15049,7 +15049,7 @@ Ifc4x3_rc2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwn // Function implementations for IfcController boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > Ifc4x3_rc2::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcController::declaration() const { return *IFC4X3_RC2_IfcController_type; } @@ -15092,7 +15092,7 @@ Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(: // Function implementations for IfcConveyorSegment boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc2::IfcConveyorSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcConveyorSegment::declaration() const { return *IFC4X3_RC2_IfcConveyorSegment_type; } @@ -15112,7 +15112,7 @@ Ifc4x3_rc2::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_Global // Function implementations for IfcCooledBeam boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc2::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCooledBeam::declaration() const { return *IFC4X3_RC2_IfcCooledBeam_type; } @@ -15132,7 +15132,7 @@ Ifc4x3_rc2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCoolingTower boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc2::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCoolingTower::declaration() const { return *IFC4X3_RC2_IfcCoolingTower_type; } @@ -15166,11 +15166,11 @@ Ifc4x3_rc2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc2::IfcCoor std::string Ifc4x3_rc2::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcCoordinateOperation::list::ptr Ifc4x3_rc2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X3_RC2_IfcCoordinateOperation_type, 0)->as(); } @@ -15181,11 +15181,11 @@ Ifc4x3_rc2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::stri // Function implementations for IfcCostItem boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > Ifc4x3_rc2::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > Ifc4x3_rc2::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcCostValue >(); } -void Ifc4x3_rc2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > Ifc4x3_rc2::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } -void Ifc4x3_rc2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCostItem::declaration() const { return *IFC4X3_RC2_IfcCostItem_type; } @@ -15195,13 +15195,13 @@ Ifc4x3_rc2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcCostSchedule boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc2::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCostSchedule::declaration() const { return *IFC4X3_RC2_IfcCostSchedule_type; } @@ -15219,7 +15219,7 @@ Ifc4x3_rc2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, b // Function implementations for IfcCourse boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > Ifc4x3_rc2::IfcCourse::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCourseTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCourseTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCourse::declaration() const { return *IFC4X3_RC2_IfcCourse_type; } @@ -15239,7 +15239,7 @@ Ifc4x3_rc2::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcCovering boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > Ifc4x3_rc2::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcRelCoversSpaces::list::ptr Ifc4x3_rc2::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X3_RC2_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x3_rc2::IfcRelCoversBldgElements::list::ptr Ifc4x3_rc2::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X3_RC2_IfcRelCoversBldgElements_type, 5)->as(); } @@ -15261,7 +15261,7 @@ Ifc4x3_rc2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcCrewResource boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc2::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCrewResource::declaration() const { return *IFC4X3_RC2_IfcCrewResource_type; } @@ -15307,7 +15307,7 @@ void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc2::I double Ifc4x3_rc2::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15319,7 +15319,7 @@ Ifc4x3_rc2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< st // Function implementations for IfcCurtainWall boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc2::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCurtainWall::declaration() const { return *IFC4X3_RC2_IfcCurtainWall_type; } @@ -15409,7 +15409,7 @@ void Ifc4x3_rc2::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc2::IfcSizeSelect* v) { ::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveColour(::Ifc4x3_rc2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyle::declaration() const { return *IFC4X3_RC2_IfcCurveStyle_type; } @@ -15419,7 +15419,7 @@ Ifc4x3_rc2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc2::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15431,7 +15431,7 @@ Ifc4x3_rc2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcCurveStyleFontSelect* Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc2::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -15467,7 +15467,7 @@ Ifc4x3_rc2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc2::IfcAxis2P // Function implementations for IfcDamper boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > Ifc4x3_rc2::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDamper::declaration() const { return *IFC4X3_RC2_IfcDamper_type; } @@ -15507,7 +15507,7 @@ void Ifc4x3_rc2::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc2::IfcProfile ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc2::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedProfileDef::declaration() const { return *IFC4X3_RC2_IfcDerivedProfileDef_type; } @@ -15521,7 +15521,7 @@ void Ifc4x3_rc2::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc2::IfcDeri ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value Ifc4x3_rc2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc2::IfcDerivedUnit::setUnitType(::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedUnit::declaration() const { return *IFC4X3_RC2_IfcDerivedUnit_type; } @@ -15603,7 +15603,7 @@ Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSol // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc2::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDiscreteAccessory::declaration() const { return *IFC4X3_RC2_IfcDiscreteAccessory_type; } @@ -15623,7 +15623,7 @@ Ifc4x3_rc2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Gl // Function implementations for IfcDistributionBoard boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionBoard::declaration() const { return *IFC4X3_RC2_IfcDistributionBoard_type; } @@ -15643,7 +15643,7 @@ Ifc4x3_rc2::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_Gl // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc2::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionChamberElement::declaration() const { return *IFC4X3_RC2_IfcDistributionChamberElement_type; } @@ -15722,11 +15722,11 @@ Ifc4x3_rc2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std:: // Function implementations for IfcDistributionPort boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > Ifc4x3_rc2::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc2::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > Ifc4x3_rc2::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionPort::declaration() const { return *IFC4X3_RC2_IfcDistributionPort_type; } @@ -15736,9 +15736,9 @@ Ifc4x3_rc2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, :: // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4x3_rc2::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > Ifc4x3_rc2::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionSystem::declaration() const { return *IFC4X3_RC2_IfcDistributionSystem_type; } @@ -15752,35 +15752,35 @@ void Ifc4x3_rc2::IfcDocumentInformation::setIdentification(std::string v) { {Ifc std::string Ifc4x3_rc2::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x3_rc2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x3_rc2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4x3_rc2::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc2::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x3_rc2::IfcDocumentReference::list::ptr Ifc4x3_rc2::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X3_RC2_IfcDocumentReference_type, 4)->as(); } @@ -15798,7 +15798,7 @@ void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcDocumentInformation >(); } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformationRelationship::declaration() const { return *IFC4X3_RC2_IfcDocumentInformationRelationship_type; } @@ -15808,7 +15808,7 @@ Ifc4x3_rc2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc2::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } void Ifc4x3_rc2::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc2::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15821,15 +15821,15 @@ Ifc4x3_rc2::IfcDocumentReference::IfcDocumentReference(boost::optional< std::str // Function implementations for IfcDoor boost::optional< double > Ifc4x3_rc2::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > Ifc4x3_rc2::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc2::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc2::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDoor::declaration() const { return *IFC4X3_RC2_IfcDoor_type; } @@ -15839,31 +15839,31 @@ Ifc4x3_rc2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDoorLiningProperties::declaration() const { return *IFC4X3_RC2_IfcDoorLiningProperties_type; } @@ -15873,11 +15873,11 @@ Ifc4x3_rc2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_Glob // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } @@ -15919,9 +15919,9 @@ void Ifc4x3_rc2::IfcDoorType::setPredefinedType(::Ifc4x3_rc2::IfcDoorTypeEnum::V ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value Ifc4x3_rc2::IfcDoorType::OperationType() const { return ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc2::IfcDoorType::setOperationType(::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDoorType::declaration() const { return *IFC4X3_RC2_IfcDoorType_type; } @@ -15947,7 +15947,7 @@ Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(s // Function implementations for IfcDuctFitting boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc2::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDuctFitting::declaration() const { return *IFC4X3_RC2_IfcDuctFitting_type; } @@ -15967,7 +15967,7 @@ Ifc4x3_rc2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSegment boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc2::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSegment::declaration() const { return *IFC4X3_RC2_IfcDuctSegment_type; } @@ -15987,7 +15987,7 @@ Ifc4x3_rc2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc2::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSilencer::declaration() const { return *IFC4X3_RC2_IfcDuctSilencer_type; } @@ -16007,7 +16007,7 @@ Ifc4x3_rc2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, :: // Function implementations for IfcEarthworksCut boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksCut::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksCut::declaration() const { return *IFC4X3_RC2_IfcEarthworksCut_type; } @@ -16025,7 +16025,7 @@ Ifc4x3_rc2::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, // Function implementations for IfcEarthworksFill boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksFill::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksFill::declaration() const { return *IFC4X3_RC2_IfcEarthworksFill_type; } @@ -16069,7 +16069,7 @@ Ifc4x3_rc2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc2::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricAppliance::declaration() const { return *IFC4X3_RC2_IfcElectricAppliance_type; } @@ -16089,7 +16089,7 @@ Ifc4x3_rc2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Gl // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricDistributionBoard::declaration() const { return *IFC4X3_RC2_IfcElectricDistributionBoard_type; } @@ -16109,7 +16109,7 @@ Ifc4x3_rc2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(s // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X3_RC2_IfcElectricFlowStorageDevice_type; } @@ -16129,7 +16129,7 @@ Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(s // Function implementations for IfcElectricFlowTreatmentDevice boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::declaration() const { return *IFC4X3_RC2_IfcElectricFlowTreatmentDevice_type; } @@ -16149,7 +16149,7 @@ Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceTy // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc2::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricGenerator::declaration() const { return *IFC4X3_RC2_IfcElectricGenerator_type; } @@ -16169,7 +16169,7 @@ Ifc4x3_rc2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_Gl // Function implementations for IfcElectricMotor boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc2::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricMotor::declaration() const { return *IFC4X3_RC2_IfcElectricMotor_type; } @@ -16189,7 +16189,7 @@ Ifc4x3_rc2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc2::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricTimeControl::declaration() const { return *IFC4X3_RC2_IfcElectricTimeControl_type; } @@ -16209,7 +16209,7 @@ Ifc4x3_rc2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v // Function implementations for IfcElement boost::optional< std::string > Ifc4x3_rc2::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcRelFillsElement::list::ptr Ifc4x3_rc2::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X3_RC2_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x3_rc2::IfcRelConnectsElements::list::ptr Ifc4x3_rc2::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X3_RC2_IfcRelConnectsElements_type, 5)->as(); } @@ -16230,9 +16230,9 @@ Ifc4x3_rc2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwn // Function implementations for IfcElementAssembly boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc2::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc2::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElementAssembly::declaration() const { return *IFC4X3_RC2_IfcElementAssembly_type; } @@ -16268,7 +16268,7 @@ Ifc4x3_rc2::IfcElementComponentType::IfcElementComponentType(std::string v1_Glob // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4x3_rc2::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr Ifc4x3_rc2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } void Ifc4x3_rc2::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -16280,7 +16280,7 @@ Ifc4x3_rc2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::If // Function implementations for IfcElementType boost::optional< std::string > Ifc4x3_rc2::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcElementType::declaration() const { return *IFC4X3_RC2_IfcElementType_type; } @@ -16340,7 +16340,7 @@ Ifc4x3_rc2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::st // Function implementations for IfcEngine boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > Ifc4x3_rc2::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEngine::declaration() const { return *IFC4X3_RC2_IfcEngine_type; } @@ -16360,7 +16360,7 @@ Ifc4x3_rc2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc2::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporativeCooler::declaration() const { return *IFC4X3_RC2_IfcEvaporativeCooler_type; } @@ -16380,7 +16380,7 @@ Ifc4x3_rc2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_Gl // Function implementations for IfcEvaporator boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc2::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporator::declaration() const { return *IFC4X3_RC2_IfcEvaporator_type; } @@ -16400,11 +16400,11 @@ Ifc4x3_rc2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcEvent boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > Ifc4x3_rc2::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc2::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcEventTime* Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcEventTime>(true); } void Ifc4x3_rc2::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc2::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16416,13 +16416,13 @@ Ifc4x3_rc2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi // Function implementations for IfcEventTime boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEventTime::declaration() const { return *IFC4X3_RC2_IfcEventTime_type; } @@ -16436,7 +16436,7 @@ void Ifc4x3_rc2::IfcEventType::setPredefinedType(::Ifc4x3_rc2::IfcEventTypeEnum: ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value Ifc4x3_rc2::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc2::IfcEventType::setEventTriggerType(::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcEventType::declaration() const { return *IFC4X3_RC2_IfcEventType_type; } @@ -16446,9 +16446,9 @@ Ifc4x3_rc2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc2::If // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } void Ifc4x3_rc2::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -16468,11 +16468,11 @@ Ifc4x3_rc2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseE // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -16495,7 +16495,7 @@ Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(b // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc2::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc2::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X3_RC2_IfcRelSpaceBoundary_type, 4)->as(); } @@ -16651,17 +16651,17 @@ Ifc4x3_rc2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFailureConnectionCondition::declaration() const { return *IFC4X3_RC2_IfcFailureConnectionCondition_type; } @@ -16671,7 +16671,7 @@ Ifc4x3_rc2::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost:: // Function implementations for IfcFan boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > Ifc4x3_rc2::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFan::declaration() const { return *IFC4X3_RC2_IfcFan_type; } @@ -16691,7 +16691,7 @@ Ifc4x3_rc2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwn // Function implementations for IfcFastener boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > Ifc4x3_rc2::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFastener::declaration() const { return *IFC4X3_RC2_IfcFastener_type; } @@ -16739,7 +16739,7 @@ Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::stri aggregate_of_instance::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC2_IfcFillAreaStyle_type; } @@ -16781,7 +16781,7 @@ Ifc4x3_rc2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_ // Function implementations for IfcFilter boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > Ifc4x3_rc2::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFilter::declaration() const { return *IFC4X3_RC2_IfcFilter_type; } @@ -16801,7 +16801,7 @@ Ifc4x3_rc2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc2::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFireSuppressionTerminal::declaration() const { return *IFC4X3_RC2_IfcFireSuppressionTerminal_type; } @@ -16863,7 +16863,7 @@ Ifc4x3_rc2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc2::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFlowInstrument::declaration() const { return *IFC4X3_RC2_IfcFlowInstrument_type; } @@ -16883,7 +16883,7 @@ Ifc4x3_rc2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId // Function implementations for IfcFlowMeter boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc2::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMeter::declaration() const { return *IFC4X3_RC2_IfcFlowMeter_type; } @@ -16983,7 +16983,7 @@ Ifc4x3_rc2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v // Function implementations for IfcFooting boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > Ifc4x3_rc2::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFooting::declaration() const { return *IFC4X3_RC2_IfcFooting_type; } @@ -17019,7 +17019,7 @@ Ifc4x3_rc2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Gl // Function implementations for IfcFurniture boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFurniture::declaration() const { return *IFC4X3_RC2_IfcFurniture_type; } @@ -17031,7 +17031,7 @@ Ifc4x3_rc2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc2::If ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value Ifc4x3_rc2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcFurnitureType::declaration() const { return *IFC4X3_RC2_IfcFurnitureType_type; } @@ -17041,7 +17041,7 @@ Ifc4x3_rc2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcGeographicElement boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc2::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcGeographicElement::declaration() const { return *IFC4X3_RC2_IfcGeographicElement_type; } @@ -17071,7 +17071,7 @@ Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::pt int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } @@ -17097,11 +17097,11 @@ Ifc4x3_rc2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : I ::Ifc4x3_rc2::IfcGeometricRepresentationContext* Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc2::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc2::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X3_RC2_IfcGeometricRepresentationSubContext_type; } @@ -17179,9 +17179,9 @@ void Ifc4x3_rc2::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::pt aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } void Ifc4x3_rc2::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > Ifc4x3_rc2::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } -void Ifc4x3_rc2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > Ifc4x3_rc2::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcGrid::declaration() const { return *IFC4X3_RC2_IfcGrid_type; } @@ -17191,7 +17191,7 @@ Ifc4x3_rc2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc2::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcGridAxis::setAxisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc2::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -17242,7 +17242,7 @@ Ifc4x3_rc2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc2::IfcSurface* v1_Ba // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc2::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcHeatExchanger::declaration() const { return *IFC4X3_RC2_IfcHeatExchanger_type; } @@ -17262,7 +17262,7 @@ Ifc4x3_rc2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, // Function implementations for IfcHumidifier boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > Ifc4x3_rc2::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcHumidifier::declaration() const { return *IFC4X3_RC2_IfcHumidifier_type; } @@ -17290,11 +17290,11 @@ void Ifc4x3_rc2::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc2::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcIShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcIShapeProfileDef_type; } @@ -17334,7 +17334,7 @@ Ifc4x3_rc2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::st // Function implementations for IfcInclinedReferenceSweptAreaSolid boost::optional< bool > Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } bool v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17348,7 +17348,7 @@ Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSol ::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc2::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcColourRgbList* Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourRgbList>(true); } void Ifc4x3_rc2::IfcIndexedColourMap::setColours(::Ifc4x3_rc2::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -17364,9 +17364,9 @@ Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc2::IfcTessellate ::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(true); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC2_IfcIndexedPolyCurve_type; } @@ -17409,7 +17409,7 @@ Ifc4x3_rc2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X3_RC2_IfcIndexedTriangleTextureMap_type; } @@ -17419,7 +17419,7 @@ Ifc4x3_rc2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate // Function implementations for IfcInterceptor boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > Ifc4x3_rc2::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcInterceptor::declaration() const { return *IFC4X3_RC2_IfcInterceptor_type; } @@ -17447,13 +17447,13 @@ Ifc4x3_rc2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc2::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > Ifc4x3_rc2::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcInventory::setJurisdiction(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } -void Ifc4x3_rc2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcInventory::setCurrentValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } @@ -17489,7 +17489,7 @@ Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc2::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcJunctionBox::declaration() const { return *IFC4X3_RC2_IfcJunctionBox_type; } @@ -17531,15 +17531,15 @@ Ifc4x3_rc2::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO double Ifc4x3_rc2::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4x3_rc2::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcLShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcLShapeProfileDef_type; } @@ -17549,7 +17549,7 @@ Ifc4x3_rc2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc2::IfcProfileTyp // Function implementations for IfcLaborResource boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc2::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcLaborResource::declaration() const { return *IFC4X3_RC2_IfcLaborResource_type; } @@ -17581,7 +17581,7 @@ Ifc4x3_rc2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost // Function implementations for IfcLamp boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > Ifc4x3_rc2::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcLamp::declaration() const { return *IFC4X3_RC2_IfcLamp_type; } @@ -17603,15 +17603,15 @@ Ifc4x3_rc2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO std::string Ifc4x3_rc2::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcLibraryInformation::setPublisher(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc2::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x3_rc2::IfcLibraryReference::list::ptr Ifc4x3_rc2::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X3_RC2_IfcLibraryReference_type, 5)->as(); } @@ -17623,9 +17623,9 @@ Ifc4x3_rc2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, bo // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } void Ifc4x3_rc2::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17652,7 +17652,7 @@ Ifc4x3_rc2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPla // Function implementations for IfcLightFixture boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc2::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcLightFixture::declaration() const { return *IFC4X3_RC2_IfcLightFixture_type; } @@ -17684,13 +17684,13 @@ Ifc4x3_rc2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc2::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcLightSource::setLightColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcLightSource::declaration() const { return *IFC4X3_RC2_IfcLightSource_type; } @@ -17758,7 +17758,7 @@ Ifc4x3_rc2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< ::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4x3_rc2::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x3_rc2::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4x3_rc2::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -17858,7 +17858,7 @@ Ifc4x3_rc2::IfcLinearSpanPlacement::IfcLinearSpanPlacement(::Ifc4x3_rc2::IfcObje // Function implementations for IfcLiquidTerminal boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc2::IfcLiquidTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcLiquidTerminal::declaration() const { return *IFC4X3_RC2_IfcLiquidTerminal_type; } @@ -17912,11 +17912,11 @@ void Ifc4x3_rc2::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteA double Ifc4x3_rc2::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMapConversion::declaration() const { return *IFC4X3_RC2_IfcMapConversion_type; } @@ -17950,9 +17950,9 @@ Ifc4x3_rc2::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4 std::string Ifc4x3_rc2::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc2::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X3_RC2_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x3_rc2::IfcMaterialRelationship::list::ptr Ifc4x3_rc2::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X3_RC2_IfcMaterialRelationship_type, 3)->as(); } @@ -17977,15 +17977,15 @@ Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRela // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X3_RC2_IfcMaterialConstituentSet_type, 2)->as(); } @@ -17996,11 +17996,11 @@ Ifc4x3_rc2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std: // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > Ifc4x3_rc2::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcMaterialConstituent >(); } -void Ifc4x3_rc2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituentSet::declaration() const { return *IFC4X3_RC2_IfcMaterialConstituentSet_type; } @@ -18035,15 +18035,15 @@ void Ifc4x3_rc2::IfcMaterialLayer::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { { double Ifc4x3_rc2::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4x3_rc2::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcMaterialLayerSet::list::ptr Ifc4x3_rc2::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X3_RC2_IfcMaterialLayerSet_type, 0)->as(); } @@ -18056,9 +18056,9 @@ Ifc4x3_rc2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc2::IfcMaterial* v1_Mat aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr Ifc4x3_rc2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcMaterialLayer >(); } void Ifc4x3_rc2::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerSet::declaration() const { return *IFC4X3_RC2_IfcMaterialLayerSet_type; } @@ -18076,7 +18076,7 @@ void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc2::IfcDi double Ifc4x3_rc2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X3_RC2_IfcMaterialLayerSetUsage_type; } @@ -18108,17 +18108,17 @@ Ifc4x3_rc2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc2::IfcMate // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialProfile::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcMaterialProfile::setProfile(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcMaterialProfileSet::list::ptr Ifc4x3_rc2::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X3_RC2_IfcMaterialProfileSet_type, 2)->as(); } @@ -18129,9 +18129,9 @@ Ifc4x3_rc2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr Ifc4x3_rc2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcMaterialProfile >(); } void Ifc4x3_rc2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcCompositeProfileDef* Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCompositeProfileDef>(true); } @@ -18147,9 +18147,9 @@ Ifc4x3_rc2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::s ::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X3_RC2_IfcMaterialProfileSetUsage_type; } @@ -18161,7 +18161,7 @@ Ifc4x3_rc2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc2: ::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X3_RC2_IfcMaterialProfileSetUsageTapering_type; } @@ -18195,7 +18195,7 @@ void Ifc4x3_rc2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc2::IfcM aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Ifc4x3_rc2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcMaterial >(); } void Ifc4x3_rc2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialRelationship::declaration() const { return *IFC4X3_RC2_IfcMaterialRelationship_type; } @@ -18226,11 +18226,11 @@ Ifc4x3_rc2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc2::IfcValue* v1_Va // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc2::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMechanicalFastener::declaration() const { return *IFC4X3_RC2_IfcMechanicalFastener_type; } @@ -18242,9 +18242,9 @@ Ifc4x3_rc2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMechanicalFastenerType::declaration() const { return *IFC4X3_RC2_IfcMechanicalFastenerType_type; } @@ -18254,7 +18254,7 @@ Ifc4x3_rc2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_ // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMedicalDevice::declaration() const { return *IFC4X3_RC2_IfcMedicalDevice_type; } @@ -18274,7 +18274,7 @@ Ifc4x3_rc2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, // Function implementations for IfcMember boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > Ifc4x3_rc2::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMember::declaration() const { return *IFC4X3_RC2_IfcMember_type; } @@ -18304,7 +18304,7 @@ Ifc4x3_rc2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc2:: ::Ifc4x3_rc2::IfcBenchmarkEnum::Value Ifc4x3_rc2::IfcMetric::Benchmark() const { return ::Ifc4x3_rc2::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcMetric::setBenchmark(::Ifc4x3_rc2::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcMetricValueSelect* Ifc4x3_rc2::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcMetricValueSelect>(true); } void Ifc4x3_rc2::IfcMetric::setDataValue(::Ifc4x3_rc2::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcReference>(true); } @@ -18326,7 +18326,7 @@ Ifc4x3_rc2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc2::IfcProfil // Function implementations for IfcMobileTelecommunicationsAppliance boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::declaration() const { return *IFC4X3_RC2_IfcMobileTelecommunicationsAppliance_type; } @@ -18356,7 +18356,7 @@ Ifc4x3_rc2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil: // Function implementations for IfcMooringDevice boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMooringDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMooringDevice::declaration() const { return *IFC4X3_RC2_IfcMooringDevice_type; } @@ -18376,7 +18376,7 @@ Ifc4x3_rc2::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, // Function implementations for IfcMotorConnection boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc2::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcMotorConnection::declaration() const { return *IFC4X3_RC2_IfcMotorConnection_type; } @@ -18408,7 +18408,7 @@ Ifc4x3_rc2::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1 // Function implementations for IfcNavigationElement boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc2::IfcNavigationElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcNavigationElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcNavigationElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcNavigationElement::declaration() const { return *IFC4X3_RC2_IfcNavigationElement_type; } @@ -18428,7 +18428,7 @@ Ifc4x3_rc2::IfcNavigationElementType::IfcNavigationElementType(std::string v1_Gl // Function implementations for IfcObject boost::optional< std::string > Ifc4x3_rc2::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcRelDefinesByObject::list::ptr Ifc4x3_rc2::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X3_RC2_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x3_rc2::IfcRelDefinesByObject::list::ptr Ifc4x3_rc2::IfcObject::Declares() const { return data_->getInverse(IFC4X3_RC2_IfcRelDefinesByObject_type, 5)->as(); } @@ -18468,13 +18468,13 @@ Ifc4x3_rc2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc2::IfcObjectPlacem // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > Ifc4x3_rc2::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcConstraint >(); } -void Ifc4x3_rc2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > Ifc4x3_rc2::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcObjectiveEnum::Value Ifc4x3_rc2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc2::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc2::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcObjective::declaration() const { return *IFC4X3_RC2_IfcObjective_type; } @@ -18484,7 +18484,7 @@ Ifc4x3_rc2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std // Function implementations for IfcOccupant boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > Ifc4x3_rc2::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcOccupant::declaration() const { return *IFC4X3_RC2_IfcOccupant_type; } @@ -18532,7 +18532,7 @@ Ifc4x3_rc2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc2::IfcCurve* v1_BasisC aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } void Ifc4x3_rc2::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurveByDistances::declaration() const { return *IFC4X3_RC2_IfcOffsetCurveByDistances_type; } @@ -18548,7 +18548,7 @@ void Ifc4x3_rc2::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?] std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc2::IfcOpenCrossProfileDef::Tags() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcOpenCrossProfileDef::declaration() const { return *IFC4X3_RC2_IfcOpenCrossProfileDef_type; } @@ -18566,7 +18566,7 @@ Ifc4x3_rc2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc2::IfcFace >::pt // Function implementations for IfcOpeningElement boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc2::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcRelFillsElement::list::ptr Ifc4x3_rc2::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X3_RC2_IfcRelFillsElement_type, 4)->as(); } @@ -18585,15 +18585,15 @@ Ifc4x3_rc2::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_Global // Function implementations for IfcOrganization boost::optional< std::string > Ifc4x3_rc2::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4x3_rc2::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } -void Ifc4x3_rc2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > Ifc4x3_rc2::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcAddress >(); } -void Ifc4x3_rc2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcOrganizationRelationship::list::ptr Ifc4x3_rc2::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X3_RC2_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x3_rc2::IfcOrganizationRelationship::list::ptr Ifc4x3_rc2::IfcOrganization::Relates() const { return data_->getInverse(IFC4X3_RC2_IfcOrganizationRelationship_type, 2)->as(); } @@ -18638,7 +18638,7 @@ Ifc4x3_rc2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_ // Function implementations for IfcOutlet boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > Ifc4x3_rc2::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcOutlet::declaration() const { return *IFC4X3_RC2_IfcOutlet_type; } @@ -18662,11 +18662,11 @@ void Ifc4x3_rc2::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc2::IfcPersonAndOrgani ::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcApplication>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc2::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc2::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcApplication>(true); } @@ -18702,7 +18702,7 @@ Ifc4x3_rc2::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr // Function implementations for IfcPavement boost::optional< bool > Ifc4x3_rc2::IfcPavement::Flexible() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } bool v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcPavement::setFlexible(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPavement::setFlexible(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPavement::declaration() const { return *IFC4X3_RC2_IfcPavement_type; } @@ -18736,7 +18736,7 @@ Ifc4x3_rc2::IfcPcurve::IfcPcurve(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, ::If std::string Ifc4x3_rc2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc2::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPerformanceHistory::declaration() const { return *IFC4X3_RC2_IfcPerformanceHistory_type; } @@ -18750,9 +18750,9 @@ void Ifc4x3_rc2::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc2:: ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18764,11 +18764,11 @@ Ifc4x3_rc2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std:: // Function implementations for IfcPermit boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > Ifc4x3_rc2::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPermit::declaration() const { return *IFC4X3_RC2_IfcPermit_type; } @@ -18778,21 +18778,21 @@ Ifc4x3_rc2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner // Function implementations for IfcPerson boost::optional< std::string > Ifc4x3_rc2::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } -void Ifc4x3_rc2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > Ifc4x3_rc2::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcAddress >(); } -void Ifc4x3_rc2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcPersonAndOrganization::list::ptr Ifc4x3_rc2::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X3_RC2_IfcPersonAndOrganization_type, 0)->as(); } @@ -18807,7 +18807,7 @@ void Ifc4x3_rc2::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc2::IfcPerson* ::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } -void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPersonAndOrganization::declaration() const { return *IFC4X3_RC2_IfcPersonAndOrganization_type; } @@ -18821,9 +18821,9 @@ void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::If std::string Ifc4x3_rc2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X3_RC2_IfcPhysicalComplexQuantity_type; } @@ -18835,7 +18835,7 @@ Ifc4x3_rc2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v std::string Ifc4x3_rc2::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc2::IfcPhysicalComplexQuantity::list::ptr Ifc4x3_rc2::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X3_RC2_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -18857,9 +18857,9 @@ Ifc4x3_rc2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_ // Function implementations for IfcPile boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > Ifc4x3_rc2::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > Ifc4x3_rc2::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPile::declaration() const { return *IFC4X3_RC2_IfcPile_type; } @@ -18879,7 +18879,7 @@ Ifc4x3_rc2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcPipeFitting boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc2::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPipeFitting::declaration() const { return *IFC4X3_RC2_IfcPipeFitting_type; } @@ -18899,7 +18899,7 @@ Ifc4x3_rc2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcPipeSegment boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc2::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPipeSegment::declaration() const { return *IFC4X3_RC2_IfcPipeSegment_type; } @@ -18983,7 +18983,7 @@ Ifc4x3_rc2::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi // Function implementations for IfcPlate boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > Ifc4x3_rc2::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPlate::declaration() const { return *IFC4X3_RC2_IfcPlate_type; } @@ -19021,11 +19021,11 @@ Ifc4x3_rc2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInst ::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19085,11 +19085,11 @@ Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_ // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4x3_rc2::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc2::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPolygonalFaceSet::declaration() const { return *IFC4X3_RC2_IfcPolygonalFaceSet_type; } @@ -19130,19 +19130,19 @@ Ifc4x3_rc2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPostalAddress::declaration() const { return *IFC4X3_RC2_IfcPostalAddress_type; } @@ -19212,11 +19212,11 @@ Ifc4x3_rc2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity( std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC2_IfcPresentationLayerAssignment_type; } @@ -19242,7 +19242,7 @@ Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::st // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc2::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyle::declaration() const { return *IFC4X3_RC2_IfcPresentationStyle_type; } @@ -19262,7 +19262,7 @@ Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggre // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > Ifc4x3_rc2::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcProcedure::declaration() const { return *IFC4X3_RC2_IfcProcedure_type; } @@ -19282,9 +19282,9 @@ Ifc4x3_rc2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcProcess boost::optional< std::string > Ifc4x3_rc2::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcRelSequence::list::ptr Ifc4x3_rc2::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X3_RC2_IfcRelSequence_type, 4)->as(); } ::Ifc4x3_rc2::IfcRelSequence::list::ptr Ifc4x3_rc2::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X3_RC2_IfcRelSequence_type, 5)->as(); } @@ -19322,9 +19322,9 @@ Ifc4x3_rc2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr Ifc4x3_rc2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcRepresentation >(); } void Ifc4x3_rc2::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -19338,7 +19338,7 @@ Ifc4x3_rc2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< ::Ifc4x3_rc2::IfcProfileTypeEnum::Value Ifc4x3_rc2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc2::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc2::IfcProfileDef::setProfileType(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc2::IfcProfileProperties::list::ptr Ifc4x3_rc2::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X3_RC2_IfcProfileProperties_type, 3)->as(); } @@ -19376,11 +19376,11 @@ Ifc4x3_rc2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcProjectOrder boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc2::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcProjectOrder::declaration() const { return *IFC4X3_RC2_IfcProjectOrder_type; } @@ -19390,9 +19390,9 @@ Ifc4x3_rc2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19404,7 +19404,7 @@ Ifc4x3_rc2::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optiona // Function implementations for IfcProjectionElement boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc2::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcProjectionElement::declaration() const { return *IFC4X3_RC2_IfcProjectionElement_type; } @@ -19416,7 +19416,7 @@ Ifc4x3_rc2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, std::string Ifc4x3_rc2::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcPropertySet::list::ptr Ifc4x3_rc2::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X3_RC2_IfcPropertySet_type, 4)->as(); } ::Ifc4x3_rc2::IfcPropertyDependencyRelationship::list::ptr Ifc4x3_rc2::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X3_RC2_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -19471,7 +19471,7 @@ void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x ::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProperty>(true); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc2::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X3_RC2_IfcPropertyDependencyRelationship_type; } @@ -19481,7 +19481,7 @@ Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19507,7 +19507,7 @@ Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19519,7 +19519,7 @@ Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcObjectReferenceSelect* Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc2::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19552,9 +19552,9 @@ Ifc4x3_rc2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_Gl // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc2::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr Ifc4x3_rc2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc2::IfcPropertyTemplate >(); } void Ifc4x3_rc2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -19579,17 +19579,17 @@ Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > Ifc4x3_rc2::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC2_IfcPropertyTableValue_type; } @@ -19617,7 +19617,7 @@ Ifc4x3_rc2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::st // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDevice::declaration() const { return *IFC4X3_RC2_IfcProtectiveDevice_type; } @@ -19627,7 +19627,7 @@ Ifc4x3_rc2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, :: // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X3_RC2_IfcProtectiveDeviceTrippingUnit_type; } @@ -19659,7 +19659,7 @@ Ifc4x3_rc2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_Glob ::Ifc4x3_rc2::IfcObjectTypeEnum::Value Ifc4x3_rc2::IfcProxy::ProxyType() const { return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcProxy::setProxyType(::Ifc4x3_rc2::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcProxy::declaration() const { return *IFC4X3_RC2_IfcProxy_type; } @@ -19669,7 +19669,7 @@ Ifc4x3_rc2::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi // Function implementations for IfcPump boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > Ifc4x3_rc2::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcPump::declaration() const { return *IFC4X3_RC2_IfcPump_type; } @@ -19691,7 +19691,7 @@ Ifc4x3_rc2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO double Ifc4x3_rc2::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityArea::declaration() const { return *IFC4X3_RC2_IfcQuantityArea_type; } @@ -19703,7 +19703,7 @@ Ifc4x3_rc2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optiona double Ifc4x3_rc2::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityCount::declaration() const { return *IFC4X3_RC2_IfcQuantityCount_type; } @@ -19715,7 +19715,7 @@ Ifc4x3_rc2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optio double Ifc4x3_rc2::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityLength::declaration() const { return *IFC4X3_RC2_IfcQuantityLength_type; } @@ -19735,7 +19735,7 @@ Ifc4x3_rc2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc2 double Ifc4x3_rc2::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityTime::declaration() const { return *IFC4X3_RC2_IfcQuantityTime_type; } @@ -19747,7 +19747,7 @@ Ifc4x3_rc2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optiona double Ifc4x3_rc2::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityVolume::declaration() const { return *IFC4X3_RC2_IfcQuantityVolume_type; } @@ -19759,7 +19759,7 @@ Ifc4x3_rc2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::opt double Ifc4x3_rc2::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityWeight::declaration() const { return *IFC4X3_RC2_IfcQuantityWeight_type; } @@ -19769,7 +19769,7 @@ Ifc4x3_rc2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::opt // Function implementations for IfcRail boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > Ifc4x3_rc2::IfcRail::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRailTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRailTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRail::declaration() const { return *IFC4X3_RC2_IfcRail_type; } @@ -19789,7 +19789,7 @@ Ifc4x3_rc2::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcRailing boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > Ifc4x3_rc2::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRailing::declaration() const { return *IFC4X3_RC2_IfcRailing_type; } @@ -19817,7 +19817,7 @@ Ifc4x3_rc2::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwn // Function implementations for IfcRamp boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > Ifc4x3_rc2::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRamp::declaration() const { return *IFC4X3_RC2_IfcRamp_type; } @@ -19827,7 +19827,7 @@ Ifc4x3_rc2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcRampFlight boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > Ifc4x3_rc2::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRampFlight::declaration() const { return *IFC4X3_RC2_IfcRampFlight_type; } @@ -19879,9 +19879,9 @@ Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKno double Ifc4x3_rc2::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X3_RC2_IfcRectangleHollowProfileDef_type; } @@ -19941,19 +19941,19 @@ Ifc4x3_rc2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_ ::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value Ifc4x3_rc2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc2::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc2::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTimePeriod >::ptr > Ifc4x3_rc2::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcTimePeriod >(); } -void Ifc4x3_rc2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRecurrencePattern::declaration() const { return *IFC4X3_RC2_IfcRecurrencePattern_type; } @@ -19963,13 +19963,13 @@ Ifc4x3_rc2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc2::IfcRecurren // Function implementations for IfcReference boost::optional< std::string > Ifc4x3_rc2::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcReference::setInnerReference(::Ifc4x3_rc2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19981,9 +19981,9 @@ Ifc4x3_rc2::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIde // Function implementations for IfcReferent boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > Ifc4x3_rc2::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReferentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReferent::declaration() const { return *IFC4X3_RC2_IfcReferent_type; } @@ -20005,7 +20005,7 @@ Ifc4x3_rc2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boos // Function implementations for IfcReinforcedSoil boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc2::IfcReinforcedSoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcedSoil::declaration() const { return *IFC4X3_RC2_IfcReinforcedSoil_type; } @@ -20019,13 +20019,13 @@ void Ifc4x3_rc2::IfcReinforcementBarProperties::setTotalCrossSectionArea(double std::string Ifc4x3_rc2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcementBarProperties::declaration() const { return *IFC4X3_RC2_IfcReinforcementBarProperties_type; } @@ -20035,7 +20035,7 @@ Ifc4x3_rc2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4x3_rc2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20047,15 +20047,15 @@ Ifc4x3_rc2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProp // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc2::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBar::declaration() const { return *IFC4X3_RC2_IfcReinforcingBar_type; } @@ -20067,17 +20067,17 @@ Ifc4x3_rc2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4 ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC2_IfcReinforcingBarType_type; } @@ -20087,7 +20087,7 @@ Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingElement::declaration() const { return *IFC4X3_RC2_IfcReinforcingElement_type; } @@ -20105,23 +20105,23 @@ Ifc4x3_rc2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_ // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc2::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x3_rc2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4x3_rc2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMesh::declaration() const { return *IFC4X3_RC2_IfcReinforcingMesh_type; } @@ -20133,25 +20133,25 @@ Ifc4x3_rc2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::If ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC2_IfcReinforcingMeshType_type; } @@ -20175,7 +20175,7 @@ Ifc4x3_rc2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3 aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > Ifc4x3_rc2::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssigns::declaration() const { return *IFC4X3_RC2_IfcRelAssigns_type; } @@ -20289,7 +20289,7 @@ Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20425,7 +20425,7 @@ void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc ::Ifc4x3_rc2::IfcStructuralConnectionCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc2::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20449,7 +20449,7 @@ Ifc4x3_rc2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std:: aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcElement >(); } void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X3_RC2_IfcRelConnectsWithRealizingElements_type; } @@ -20601,7 +20601,7 @@ void Ifc4x3_rc2::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc2::IfcIn ::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4x3_rc2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4x3_rc2::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20667,9 +20667,9 @@ void Ifc4x3_rc2::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc2::IfcProcess* v) ::Ifc4x3_rc2::IfcLagTime* Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcLagTime>(true); } void Ifc4x3_rc2::IfcRelSequence::setTimeLag(::Ifc4x3_rc2::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > Ifc4x3_rc2::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelSequence::declaration() const { return *IFC4X3_RC2_IfcRelSequence_type; } @@ -20763,9 +20763,9 @@ Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu ::Ifc4x3_rc2::IfcRepresentationContext* Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationContext>(true); } void Ifc4x3_rc2::IfcRepresentation::setContextOfItems(::Ifc4x3_rc2::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr Ifc4x3_rc2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcRepresentationItem >(); } void Ifc4x3_rc2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -20780,9 +20780,9 @@ Ifc4x3_rc2::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc2::IfcRepresentation // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcRepresentation::list::ptr Ifc4x3_rc2::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X3_RC2_IfcRepresentation_type, 0)->as(); } @@ -20817,9 +20817,9 @@ Ifc4x3_rc2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc2::IfcAxis2Pla // Function implementations for IfcResource boost::optional< std::string > Ifc4x3_rc2::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToResource::list::ptr Ifc4x3_rc2::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToResource_type, 6)->as(); } @@ -20854,9 +20854,9 @@ Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcResourceLevelRelationship::declaration() const { return *IFC4X3_RC2_IfcResourceLevelRelationship_type; } @@ -20866,35 +20866,35 @@ Ifc4x3_rc2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::op // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc2::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc2::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc2::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc2::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcResourceTime::declaration() const { return *IFC4X3_RC2_IfcResourceTime_type; } @@ -20958,7 +20958,7 @@ Ifc4x3_rc2::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcRoof boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > Ifc4x3_rc2::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRoof::declaration() const { return *IFC4X3_RC2_IfcRoof_type; } @@ -20982,9 +20982,9 @@ void Ifc4x3_rc2::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgume ::Ifc4x3_rc2::IfcOwnerHistory* Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcOwnerHistory>(true); } void Ifc4x3_rc2::IfcRoot::setOwnerHistory(::Ifc4x3_rc2::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcRoot::declaration() const { return *IFC4X3_RC2_IfcRoot_type; } @@ -21004,7 +21004,7 @@ Ifc4x3_rc2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x // Function implementations for IfcSIUnit boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > Ifc4x3_rc2::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcSIUnitName::Value Ifc4x3_rc2::IfcSIUnit::Name() const { return ::Ifc4x3_rc2::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x3_rc2::IfcSIUnit::setName(::Ifc4x3_rc2::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -21016,7 +21016,7 @@ Ifc4x3_rc2::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, b // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc2::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSanitaryTerminal::declaration() const { return *IFC4X3_RC2_IfcSanitaryTerminal_type; } @@ -21036,11 +21036,11 @@ Ifc4x3_rc2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_Glob // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > Ifc4x3_rc2::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x3_rc2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSchedulingTime::declaration() const { return *IFC4X3_RC2_IfcSchedulingTime_type; } @@ -21076,7 +21076,7 @@ void Ifc4x3_rc2::IfcSectionReinforcementProperties::setLongitudinalStartPosition double Ifc4x3_rc2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcSectionProperties* Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSectionProperties>(true); } @@ -21170,7 +21170,7 @@ Ifc4x3_rc2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(::Ifc4x3_rc2: // Function implementations for IfcSensor boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > Ifc4x3_rc2::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSensor::declaration() const { return *IFC4X3_RC2_IfcSensor_type; } @@ -21204,7 +21204,7 @@ Ifc4x3_rc2::IfcSeriesParameterCurve::IfcSeriesParameterCurve(::Ifc4x3_rc2::IfcPl // Function implementations for IfcShadingDevice boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcShadingDevice::declaration() const { return *IFC4X3_RC2_IfcShadingDevice_type; } @@ -21226,9 +21226,9 @@ Ifc4x3_rc2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr Ifc4x3_rc2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc2::IfcShapeModel >(); } void Ifc4x3_rc2::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcProductRepresentationSelect* Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(true); } @@ -21270,7 +21270,7 @@ Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_in // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > Ifc4x3_rc2::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSignTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSignTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSign::declaration() const { return *IFC4X3_RC2_IfcSign_type; } @@ -21290,7 +21290,7 @@ Ifc4x3_rc2::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcSignal boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > Ifc4x3_rc2::IfcSignal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSignalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSignalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSignal::declaration() const { return *IFC4X3_RC2_IfcSignal_type; } @@ -21318,11 +21318,11 @@ Ifc4x3_rc2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::opt // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcUnit>(true); } @@ -21330,9 +21330,9 @@ void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc2::IfcUnit ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSimplePropertyTemplate::declaration() const { return *IFC4X3_RC2_IfcSimplePropertyTemplate_type; } @@ -21342,13 +21342,13 @@ Ifc4x3_rc2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_ // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } void Ifc4x3_rc2::IfcSite::setSiteAddress(::Ifc4x3_rc2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21360,7 +21360,7 @@ Ifc4x3_rc2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcSlab boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > Ifc4x3_rc2::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSlab::declaration() const { return *IFC4X3_RC2_IfcSlab_type; } @@ -21396,11 +21396,11 @@ Ifc4x3_rc2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSlippageConnectionCondition::declaration() const { return *IFC4X3_RC2_IfcSlippageConnectionCondition_type; } @@ -21410,7 +21410,7 @@ Ifc4x3_rc2::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost // Function implementations for IfcSolarDevice boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSolarDevice::declaration() const { return *IFC4X3_RC2_IfcSolarDevice_type; } @@ -21446,9 +21446,9 @@ Ifc4x3_rc2::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcSpace boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > Ifc4x3_rc2::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc2::IfcRelCoversSpaces::list::ptr Ifc4x3_rc2::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X3_RC2_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x3_rc2::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc2::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X3_RC2_IfcRelSpaceBoundary_type, 4)->as(); } @@ -21460,7 +21460,7 @@ Ifc4x3_rc2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc2::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceHeater::declaration() const { return *IFC4X3_RC2_IfcSpaceHeater_type; } @@ -21482,7 +21482,7 @@ Ifc4x3_rc2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::If ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value Ifc4x3_rc2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcSpaceType::setPredefinedType(::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceType::declaration() const { return *IFC4X3_RC2_IfcSpaceType_type; } @@ -21492,7 +21492,7 @@ Ifc4x3_rc2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc2::If // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4x3_rc2::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc2::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X3_RC2_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x3_rc2::IfcRelServicesBuildings::list::ptr Ifc4x3_rc2::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X3_RC2_IfcRelServicesBuildings_type, 5)->as(); } @@ -21505,7 +21505,7 @@ Ifc4x3_rc2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4x3_rc2::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElementType::declaration() const { return *IFC4X3_RC2_IfcSpatialElementType_type; } @@ -21515,7 +21515,7 @@ Ifc4x3_rc2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > Ifc4x3_rc2::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialStructureElement::declaration() const { return *IFC4X3_RC2_IfcSpatialStructureElement_type; } @@ -21533,7 +21533,7 @@ Ifc4x3_rc2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std:: // Function implementations for IfcSpatialZone boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc2::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialZone::declaration() const { return *IFC4X3_RC2_IfcSpatialZone_type; } @@ -21545,7 +21545,7 @@ Ifc4x3_rc2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc2 ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialZoneType::declaration() const { return *IFC4X3_RC2_IfcSpatialZoneType_type; } @@ -21575,7 +21575,7 @@ Ifc4x3_rc2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc2::IfcAxis2Place // Function implementations for IfcStackTerminal boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc2::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStackTerminal::declaration() const { return *IFC4X3_RC2_IfcStackTerminal_type; } @@ -21595,7 +21595,7 @@ Ifc4x3_rc2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, // Function implementations for IfcStair boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > Ifc4x3_rc2::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStair::declaration() const { return *IFC4X3_RC2_IfcStair_type; } @@ -21605,15 +21605,15 @@ Ifc4x3_rc2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi // Function implementations for IfcStairFlight boost::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > Ifc4x3_rc2::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStairFlight::declaration() const { return *IFC4X3_RC2_IfcStairFlight_type; } @@ -21643,7 +21643,7 @@ Ifc4x3_rc2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc2::If // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4x3_rc2::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralAction::declaration() const { return *IFC4X3_RC2_IfcStructuralAction_type; } @@ -21670,9 +21670,9 @@ void Ifc4x3_rc2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc2::Ifc ::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadGroup >(); } -void Ifc4x3_rc2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcStructuralResultGroup >(); } -void Ifc4x3_rc2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21695,7 +21695,7 @@ Ifc4x3_rc2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_Glob // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4x3_rc2::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnectionCondition::declaration() const { return *IFC4X3_RC2_IfcStructuralConnectionCondition_type; } @@ -21705,7 +21705,7 @@ Ifc4x3_rc2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(b // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc2::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21774,7 +21774,7 @@ Ifc4x3_rc2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_ // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4x3_rc2::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoad::declaration() const { return *IFC4X3_RC2_IfcStructuralLoad_type; } @@ -21784,7 +21784,7 @@ Ifc4x3_rc2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadCase::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadCase_type; } @@ -21796,7 +21796,7 @@ Ifc4x3_rc2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadConfiguration_type; } @@ -21812,9 +21812,9 @@ void Ifc4x3_rc2::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc2::IfcActionTy ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc2::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcStructuralResultGroup::list::ptr Ifc4x3_rc2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X3_RC2_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x3_rc2::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc2::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X3_RC2_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -21826,17 +21826,17 @@ Ifc4x3_rc2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_Global // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadLinearForce_type; } @@ -21854,11 +21854,11 @@ Ifc4x3_rc2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadPlanarForce_type; } @@ -21868,17 +21868,17 @@ Ifc4x3_rc2::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::op // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadSingleDisplacement_type; } @@ -21888,7 +21888,7 @@ Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplace // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -21898,17 +21898,17 @@ Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSing // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadSingleForce_type; } @@ -21918,7 +21918,7 @@ Ifc4x3_rc2::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::op // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadSingleForceWarping_type; } @@ -21936,11 +21936,11 @@ Ifc4x3_rc2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< st // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadTemperature::declaration() const { return *IFC4X3_RC2_IfcStructuralLoadTemperature_type; } @@ -22016,7 +22016,7 @@ Ifc4x3_rc2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Gl // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc2::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -22038,7 +22038,7 @@ Ifc4x3_rc2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std:: ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceMember::declaration() const { return *IFC4X3_RC2_IfcStructuralSurfaceMember_type; } @@ -22078,7 +22078,7 @@ void Ifc4x3_rc2::IfcStyledItem::setItem(::Ifc4x3_rc2::IfcRepresentationItem* v) aggregate_of_instance::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::declaration() const { return *IFC4X3_RC2_IfcStyledItem_type; } @@ -22096,7 +22096,7 @@ Ifc4x3_rc2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc2::IfcRe // Function implementations for IfcSubContractResource boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc2::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSubContractResource::declaration() const { return *IFC4X3_RC2_IfcSubContractResource_type; } @@ -22158,7 +22158,7 @@ Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc2::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceFeature::declaration() const { return *IFC4X3_RC2_IfcSurfaceFeature_type; } @@ -22190,11 +22190,11 @@ Ifc4x3_rc2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc2::IfcProf // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X3_RC2_IfcSurfaceReinforcementArea_type; } @@ -22232,9 +22232,9 @@ Ifc4x3_rc2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc2::IfcCo // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X3_RC2_IfcSurfaceStyleRefraction_type; } @@ -22268,7 +22268,7 @@ Ifc4x3_rc2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc2::Ifc ::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleShading::declaration() const { return *IFC4X3_RC2_IfcSurfaceStyleShading_type; } @@ -22292,11 +22292,11 @@ void Ifc4x3_rc2::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgu bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc2::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcTextureCoordinate::list::ptr Ifc4x3_rc2::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X3_RC2_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x3_rc2::IfcSurfaceStyleWithTextures::list::ptr Ifc4x3_rc2::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X3_RC2_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -22324,11 +22324,11 @@ void Ifc4x3_rc2::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {I double Ifc4x3_rc2::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSweptDiskSolid::declaration() const { return *IFC4X3_RC2_IfcSweptDiskSolid_type; } @@ -22338,7 +22338,7 @@ Ifc4x3_rc2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc2::IfcCurve* v1_Dire // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X3_RC2_IfcSweptDiskSolidPolygonal_type; } @@ -22360,7 +22360,7 @@ Ifc4x3_rc2::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc2::IfcProfileDef* v1_Swe // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSwitchingDevice::declaration() const { return *IFC4X3_RC2_IfcSwitchingDevice_type; } @@ -22390,7 +22390,7 @@ Ifc4x3_rc2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSystemFurnitureElement::declaration() const { return *IFC4X3_RC2_IfcSystemFurnitureElement_type; } @@ -22400,7 +22400,7 @@ Ifc4x3_rc2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_ // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcSystemFurnitureElementType::declaration() const { return *IFC4X3_RC2_IfcSystemFurnitureElementType_type; } @@ -22418,15 +22418,15 @@ void Ifc4x3_rc2::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc2::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcTShapeProfileDef_type; } @@ -22436,11 +22436,11 @@ Ifc4x3_rc2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc2::IfcProfileTyp // Function implementations for IfcTable boost::optional< std::string > Ifc4x3_rc2::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > Ifc4x3_rc2::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcTableRow >(); } -void Ifc4x3_rc2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > Ifc4x3_rc2::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcTableColumn >(); } -void Ifc4x3_rc2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTable::declaration() const { return *IFC4X3_RC2_IfcTable_type; } @@ -22450,11 +22450,11 @@ Ifc4x3_rc2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::op // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcTableColumn::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } @@ -22468,9 +22468,9 @@ Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Ide // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::declaration() const { return *IFC4X3_RC2_IfcTableRow_type; } @@ -22480,7 +22480,7 @@ Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > Ifc4x3_rc2::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTank::declaration() const { return *IFC4X3_RC2_IfcTank_type; } @@ -22500,17 +22500,17 @@ Ifc4x3_rc2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcTask boost::optional< std::string > Ifc4x3_rc2::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x3_rc2::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc2::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc2::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc2::IfcTaskTime* Ifc4x3_rc2::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcTaskTime>(true); } void Ifc4x3_rc2::IfcTask::setTaskTime(::Ifc4x3_rc2::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > Ifc4x3_rc2::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTask::declaration() const { return *IFC4X3_RC2_IfcTask_type; } @@ -22520,39 +22520,39 @@ Ifc4x3_rc2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcTaskTime boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > Ifc4x3_rc2::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4x3_rc2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4x3_rc2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4x3_rc2::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc2::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTaskTime::declaration() const { return *IFC4X3_RC2_IfcTaskTime_type; } @@ -22574,7 +22574,7 @@ Ifc4x3_rc2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::str ::Ifc4x3_rc2::IfcTaskTypeEnum::Value Ifc4x3_rc2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcTaskType::setPredefinedType(::Ifc4x3_rc2::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTaskType::declaration() const { return *IFC4X3_RC2_IfcTaskType_type; } @@ -22584,17 +22584,17 @@ Ifc4x3_rc2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTelecomAddress::declaration() const { return *IFC4X3_RC2_IfcTelecomAddress_type; } @@ -22604,21 +22604,21 @@ Ifc4x3_rc2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc2:: // Function implementations for IfcTendon boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > Ifc4x3_rc2::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTendon::declaration() const { return *IFC4X3_RC2_IfcTendon_type; } @@ -22628,7 +22628,7 @@ Ifc4x3_rc2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc2::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTendonAnchor::declaration() const { return *IFC4X3_RC2_IfcTendonAnchor_type; } @@ -22670,11 +22670,11 @@ Ifc4x3_rc2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value Ifc4x3_rc2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc2::IfcTendonType::setPredefinedType(::Ifc4x3_rc2::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTendonType::declaration() const { return *IFC4X3_RC2_IfcTendonType_type; } @@ -22736,7 +22736,7 @@ void Ifc4x3_rc2::IfcTextStyle::setTextStyle(::Ifc4x3_rc2::IfcTextStyleTextModel* ::Ifc4x3_rc2::IfcTextFontSelect* Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTextFontSelect>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc2::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyle::declaration() const { return *IFC4X3_RC2_IfcTextStyle_type; } @@ -22748,11 +22748,11 @@ Ifc4x3_rc2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, : std::vector< std::string > /*[1:?]*/ Ifc4x3_rc2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22778,15 +22778,15 @@ Ifc4x3_rc2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc2: ::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22810,7 +22810,7 @@ Ifc4x3_rc2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc std::string Ifc4x3_rc2::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc2::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X3_RC2_IfcTextureCoordinateGenerator_type; } @@ -22866,7 +22866,7 @@ Ifc4x3_rc2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v std::string Ifc4x3_rc2::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4x3_rc2::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4x3_rc2::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -22876,7 +22876,7 @@ void Ifc4x3_rc2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc2::IfcTimeSerie ::Ifc4x3_rc2::IfcDataOriginEnum::Value Ifc4x3_rc2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc2::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc2::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcTimeSeries::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -22927,7 +22927,7 @@ Ifc4x3_rc2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc2::IfcAxis2Placeme // Function implementations for IfcTrackElement boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > Ifc4x3_rc2::IfcTrackElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTrackElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTrackElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTrackElement::declaration() const { return *IFC4X3_RC2_IfcTrackElement_type; } @@ -22947,7 +22947,7 @@ Ifc4x3_rc2::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, :: // Function implementations for IfcTransformer boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > Ifc4x3_rc2::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTransformer::declaration() const { return *IFC4X3_RC2_IfcTransformer_type; } @@ -22967,9 +22967,9 @@ Ifc4x3_rc2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::If // Function implementations for IfcTransitionCurveSegment2D boost::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::StartRadius() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::EndRadius() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } bool Ifc4x3_rc2::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } bool Ifc4x3_rc2::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = *data_->getArgument(6); return v; } @@ -23021,13 +23021,13 @@ Ifc4x3_rc2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc2::IfcProf // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4x3_rc2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4x3_rc2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTriangulatedFaceSet::declaration() const { return *IFC4X3_RC2_IfcTriangulatedFaceSet_type; } @@ -23065,7 +23065,7 @@ Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCur // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc2::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcTubeBundle::declaration() const { return *IFC4X3_RC2_IfcTubeBundle_type; } @@ -23085,9 +23085,9 @@ Ifc4x3_rc2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4x3_rc2::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > Ifc4x3_rc2::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } -void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcRelDefinesByType::list::ptr Ifc4x3_rc2::IfcTypeObject::Types() const { return data_->getInverse(IFC4X3_RC2_IfcRelDefinesByType_type, 5)->as(); } @@ -23098,11 +23098,11 @@ Ifc4x3_rc2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc2::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToProcess_type, 6)->as(); } @@ -23113,9 +23113,9 @@ Ifc4x3_rc2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > Ifc4x3_rc2::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc2::IfcRepresentationMap >(); } -void Ifc4x3_rc2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc2::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToProduct_type, 6)->as(); } @@ -23126,11 +23126,11 @@ Ifc4x3_rc2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToResource::list::ptr Ifc4x3_rc2::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToResource_type, 6)->as(); } @@ -23149,11 +23149,11 @@ void Ifc4x3_rc2::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc2::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcUShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcUShapeProfileDef_type; } @@ -23173,7 +23173,7 @@ Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_U // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryControlElement::declaration() const { return *IFC4X3_RC2_IfcUnitaryControlElement_type; } @@ -23193,7 +23193,7 @@ Ifc4x3_rc2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::stri // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryEquipment::declaration() const { return *IFC4X3_RC2_IfcUnitaryEquipment_type; } @@ -23213,7 +23213,7 @@ Ifc4x3_rc2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_Glob // Function implementations for IfcValve boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > Ifc4x3_rc2::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcValve::declaration() const { return *IFC4X3_RC2_IfcValve_type; } @@ -23273,7 +23273,7 @@ Ifc4x3_rc2::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc2::IfcPoint* v1_VertexGeom // Function implementations for IfcVibrationDamper boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationDamper::declaration() const { return *IFC4X3_RC2_IfcVibrationDamper_type; } @@ -23283,7 +23283,7 @@ Ifc4x3_rc2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::If // Function implementations for IfcVibrationDamperType boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamperType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc2::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationDamperType::declaration() const { return *IFC4X3_RC2_IfcVibrationDamperType_type; } @@ -23293,7 +23293,7 @@ Ifc4x3_rc2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_Global // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc2::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationIsolator::declaration() const { return *IFC4X3_RC2_IfcVibrationIsolator_type; } @@ -23341,7 +23341,7 @@ Ifc4x3_rc2::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc2::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcVoidingFeature::declaration() const { return *IFC4X3_RC2_IfcVoidingFeature_type; } @@ -23351,7 +23351,7 @@ Ifc4x3_rc2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcWall boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > Ifc4x3_rc2::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWall::declaration() const { return *IFC4X3_RC2_IfcWall_type; } @@ -23387,7 +23387,7 @@ Ifc4x3_rc2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc2::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWasteTerminal::declaration() const { return *IFC4X3_RC2_IfcWasteTerminal_type; } @@ -23415,15 +23415,15 @@ Ifc4x3_rc2::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcWindow boost::optional< double > Ifc4x3_rc2::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > Ifc4x3_rc2::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc2::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWindow::declaration() const { return *IFC4X3_RC2_IfcWindow_type; } @@ -23433,29 +23433,29 @@ Ifc4x3_rc2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWindowLiningProperties::declaration() const { return *IFC4X3_RC2_IfcWindowLiningProperties_type; } @@ -23469,9 +23469,9 @@ void Ifc4x3_rc2::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc2::IfcWin ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23511,9 +23511,9 @@ void Ifc4x3_rc2::IfcWindowType::setPredefinedType(::Ifc4x3_rc2::IfcWindowTypeEnu ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc2::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc2::IfcWindowType::setPartitioningType(::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWindowType::declaration() const { return *IFC4X3_RC2_IfcWindowType_type; } @@ -23523,11 +23523,11 @@ Ifc4x3_rc2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > Ifc4x3_rc2::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc2::IfcWorkTime >(); } -void Ifc4x3_rc2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > Ifc4x3_rc2::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcWorkTime >(); } -void Ifc4x3_rc2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc2::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkCalendar::declaration() const { return *IFC4X3_RC2_IfcWorkCalendar_type; } @@ -23539,17 +23539,17 @@ Ifc4x3_rc2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_r std::string Ifc4x3_rc2::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } -void Ifc4x3_rc2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc2::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc2::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4x3_rc2::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x3_rc2::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkControl::declaration() const { return *IFC4X3_RC2_IfcWorkControl_type; } @@ -23559,7 +23559,7 @@ Ifc4x3_rc2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc2 // Function implementations for IfcWorkPlan boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc2::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkPlan::declaration() const { return *IFC4X3_RC2_IfcWorkPlan_type; } @@ -23569,7 +23569,7 @@ Ifc4x3_rc2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc2::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkSchedule::declaration() const { return *IFC4X3_RC2_IfcWorkSchedule_type; } @@ -23581,9 +23581,9 @@ Ifc4x3_rc2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_r ::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } void Ifc4x3_rc2::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc2::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc2::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc2::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkTime::declaration() const { return *IFC4X3_RC2_IfcWorkTime_type; } @@ -23601,9 +23601,9 @@ void Ifc4x3_rc2::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc2::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcZShapeProfileDef::declaration() const { return *IFC4X3_RC2_IfcZShapeProfileDef_type; } @@ -23613,7 +23613,7 @@ Ifc4x3_rc2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc2::IfcProfileTyp // Function implementations for IfcZone boost::optional< std::string > Ifc4x3_rc2::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc2::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc2::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc2::IfcZone::declaration() const { return *IFC4X3_RC2_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index 70e25bb91c..3733a9ede0 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -13130,11 +13130,11 @@ Ifc4x3_rc3::IfcWarpingMomentMeasure::operator double() const { return *data_->ge // Function implementations for IfcActionRequest boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > Ifc4x3_rc3::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcActionRequest::declaration() const { return *IFC4X3_RC3_IfcActionRequest_type; } @@ -13157,9 +13157,9 @@ Ifc4x3_rc3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi ::Ifc4x3_rc3::IfcRoleEnum::Value Ifc4x3_rc3::IfcActorRole::Role() const { return ::Ifc4x3_rc3::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc3::IfcActorRole::setRole(::Ifc4x3_rc3::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13170,7 +13170,7 @@ Ifc4x3_rc3::IfcActorRole::IfcActorRole(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, // Function implementations for IfcActuator boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > Ifc4x3_rc3::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcActuator::declaration() const { return *IFC4X3_RC3_IfcActuator_type; } @@ -13190,11 +13190,11 @@ Ifc4x3_rc3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcAddress boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Ifc4x3_rc3::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x3_rc3::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcPerson::list::ptr Ifc4x3_rc3::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X3_RC3_IfcPerson_type, 7)->as(); } ::Ifc4x3_rc3::IfcOrganization::list::ptr Ifc4x3_rc3::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X3_RC3_IfcOrganization_type, 4)->as(); } @@ -13232,7 +13232,7 @@ Ifc4x3_rc3::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc3::IfcFace // Function implementations for IfcAirTerminal boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminal::declaration() const { return *IFC4X3_RC3_IfcAirTerminal_type; } @@ -13242,7 +13242,7 @@ Ifc4x3_rc3::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalBox::declaration() const { return *IFC4X3_RC3_IfcAirTerminalBox_type; } @@ -13272,7 +13272,7 @@ Ifc4x3_rc3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc3::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X3_RC3_IfcAirToAirHeatRecovery_type; } @@ -13292,7 +13292,7 @@ Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string // Function implementations for IfcAlarm boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > Ifc4x3_rc3::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAlarm::declaration() const { return *IFC4X3_RC3_IfcAlarm_type; } @@ -13312,7 +13312,7 @@ Ifc4x3_rc3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc3::If // Function implementations for IfcAlignment boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > Ifc4x3_rc3::IfcAlignment::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAlignmentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAlignmentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAlignment::declaration() const { return *IFC4X3_RC3_IfcAlignment_type; } @@ -13338,11 +13338,11 @@ void Ifc4x3_rc3::IfcAlignmentCantSegment::setHorizontalLength(double v) { {IfcWr double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantLeft() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setStartCantLeft(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantLeft() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantRight() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setStartCantRight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantRight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13372,7 +13372,7 @@ void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13384,9 +13384,9 @@ Ifc4x3_rc3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost:: // Function implementations for IfcAlignmentParameterSegment boost::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::StartTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::EndTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentParameterSegment::declaration() const { return *IFC4X3_RC3_IfcAlignmentParameterSegment_type; } @@ -13424,7 +13424,7 @@ void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setStartGradient(double v) { {IfcW double Ifc4x3_rc3::IfcAlignmentVerticalSegment::EndGradient() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setEndGradient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13436,7 +13436,7 @@ Ifc4x3_rc3::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(boost::opti // Function implementations for IfcAnnotation boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > Ifc4x3_rc3::IfcAnnotation::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAnnotationTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAnnotationTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAnnotationTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc3::IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IFC4X3_RC3_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -13449,7 +13449,7 @@ Ifc4x3_rc3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc3:: ::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > Ifc4x3_rc3::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } -void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAnnotationFillArea::declaration() const { return *IFC4X3_RC3_IfcAnnotationFillArea_type; } @@ -13475,25 +13475,25 @@ Ifc4x3_rc3::IfcApplication::IfcApplication(::Ifc4x3_rc3::IfcOrganization* v1_App // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcAppliedValueSelect* Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAppliedValueSelect>(true); } void Ifc4x3_rc3::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc3::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc3::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } -void Ifc4x3_rc3::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13504,19 +13504,19 @@ Ifc4x3_rc3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_N // Function implementations for IfcApproval boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcApproval::setRequestingApproval(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } @@ -13577,7 +13577,7 @@ Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc3::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setOriginalValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } @@ -13591,7 +13591,7 @@ void Ifc4x3_rc3::IfcAsset::setUser(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite: ::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcPerson>(true); } void Ifc4x3_rc3::IfcAsset::setResponsiblePerson(::Ifc4x3_rc3::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setDepreciatedValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13611,21 +13611,21 @@ void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {Ifc double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcAsymmetricIShapeProfileDef_type; } @@ -13635,7 +13635,7 @@ Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc3::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcAudioVisualAppliance::declaration() const { return *IFC4X3_RC3_IfcAudioVisualAppliance_type; } @@ -13771,7 +13771,7 @@ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegre // Function implementations for IfcBeam boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > Ifc4x3_rc3::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBeam::declaration() const { return *IFC4X3_RC3_IfcBeam_type; } @@ -13799,7 +13799,7 @@ Ifc4x3_rc3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcBearing boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > Ifc4x3_rc3::IfcBearing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBearingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBearingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBearing::declaration() const { return *IFC4X3_RC3_IfcBearing_type; } @@ -13845,7 +13845,7 @@ Ifc4x3_rc3::IfcBlock::IfcBlock(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, d // Function implementations for IfcBoiler boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > Ifc4x3_rc3::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBoiler::declaration() const { return *IFC4X3_RC3_IfcBoiler_type; } @@ -13895,7 +13895,7 @@ Ifc4x3_rc3::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4x3_rc3::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryCondition::declaration() const { return *IFC4X3_RC3_IfcBoundaryCondition_type; } @@ -14019,7 +14019,7 @@ Ifc4x3_rc3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc3::IfcSurface* v1_Ba // Function implementations for IfcBridge boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > Ifc4x3_rc3::IfcBridge::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBridgeTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBridgeTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBridge::declaration() const { return *IFC4X3_RC3_IfcBridge_type; } @@ -14029,9 +14029,9 @@ Ifc4x3_rc3::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner // Function implementations for IfcBuilding boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } void Ifc4x3_rc3::IfcBuilding::setBuildingAddress(::Ifc4x3_rc3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14043,7 +14043,7 @@ Ifc4x3_rc3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementPart::declaration() const { return *IFC4X3_RC3_IfcBuildingElementPart_type; } @@ -14063,7 +14063,7 @@ Ifc4x3_rc3::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementProxy::declaration() const { return *IFC4X3_RC3_IfcBuildingElementProxy_type; } @@ -14083,7 +14083,7 @@ Ifc4x3_rc3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4x3_rc3::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingStorey::declaration() const { return *IFC4X3_RC3_IfcBuildingStorey_type; } @@ -14093,9 +14093,9 @@ Ifc4x3_rc3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc3::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingSystem::declaration() const { return *IFC4X3_RC3_IfcBuildingSystem_type; } @@ -14121,9 +14121,9 @@ Ifc4x3_rc3::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, :: // Function implementations for IfcBuiltSystem boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuiltSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc3::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcBuiltSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuiltSystem::declaration() const { return *IFC4X3_RC3_IfcBuiltSystem_type; } @@ -14133,7 +14133,7 @@ Ifc4x3_rc3::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcBurner boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > Ifc4x3_rc3::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcBurner::declaration() const { return *IFC4X3_RC3_IfcBurner_type; } @@ -14161,7 +14161,7 @@ void Ifc4x3_rc3::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::If double Ifc4x3_rc3::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcCShapeProfileDef_type; } @@ -14171,7 +14171,7 @@ Ifc4x3_rc3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc3::IfcProfileTyp // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierFitting::declaration() const { return *IFC4X3_RC3_IfcCableCarrierFitting_type; } @@ -14191,7 +14191,7 @@ Ifc4x3_rc3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierSegment::declaration() const { return *IFC4X3_RC3_IfcCableCarrierSegment_type; } @@ -14211,7 +14211,7 @@ Ifc4x3_rc3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v // Function implementations for IfcCableFitting boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableFitting::declaration() const { return *IFC4X3_RC3_IfcCableFitting_type; } @@ -14231,7 +14231,7 @@ Ifc4x3_rc3::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, :: // Function implementations for IfcCableSegment boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableSegment::declaration() const { return *IFC4X3_RC3_IfcCableSegment_type; } @@ -14251,7 +14251,7 @@ Ifc4x3_rc3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, :: // Function implementations for IfcCaissonFoundation boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc3::IfcCaissonFoundation::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCaissonFoundation::declaration() const { return *IFC4X3_RC3_IfcCaissonFoundation_type; } @@ -14291,7 +14291,7 @@ Ifc4x3_rc3::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricReprese std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList2D::declaration() const { return *IFC4X3_RC3_IfcCartesianPointList2D_type; } @@ -14303,7 +14303,7 @@ Ifc4x3_rc3::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::v std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList3D::declaration() const { return *IFC4X3_RC3_IfcCartesianPointList3D_type; } @@ -14319,7 +14319,7 @@ void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc3::IfcD ::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator::declaration() const { return *IFC4X3_RC3_IfcCartesianTransformationOperator_type; } @@ -14337,7 +14337,7 @@ Ifc4x3_rc3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X3_RC3_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -14357,9 +14357,9 @@ Ifc4x3_rc3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X3_RC3_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -14379,7 +14379,7 @@ Ifc4x3_rc3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc3::IfcPr // Function implementations for IfcChiller boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > Ifc4x3_rc3::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcChiller::declaration() const { return *IFC4X3_RC3_IfcChiller_type; } @@ -14399,7 +14399,7 @@ Ifc4x3_rc3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcChimney boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > Ifc4x3_rc3::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcChimney::declaration() const { return *IFC4X3_RC3_IfcChimney_type; } @@ -14465,19 +14465,19 @@ Ifc4x3_rc3::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, :: // Function implementations for IfcClassification boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4x3_rc3::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc3::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc3::IfcClassificationReference::list::ptr Ifc4x3_rc3::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X3_RC3_IfcClassificationReference_type, 3)->as(); } @@ -14491,9 +14491,9 @@ Ifc4x3_rc3::IfcClassification::IfcClassification(boost::optional< std::string > ::Ifc4x3_rc3::IfcClassificationReferenceSelect* Ifc4x3_rc3::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc3::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc3::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc3::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc3::IfcClassificationReference::list::ptr Ifc4x3_rc3::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X3_RC3_IfcClassificationReference_type, 3)->as(); } @@ -14523,7 +14523,7 @@ Ifc4x3_rc3::IfcClothoid::IfcClothoid(::Ifc4x3_rc3::IfcAxis2Placement* v1_Positio // Function implementations for IfcCoil boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > Ifc4x3_rc3::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCoil::declaration() const { return *IFC4X3_RC3_IfcCoil_type; } @@ -14567,7 +14567,7 @@ Ifc4x3_rc3::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4x3_rc3::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcColourSpecification::declaration() const { return *IFC4X3_RC3_IfcColourSpecification_type; } @@ -14577,7 +14577,7 @@ Ifc4x3_rc3::IfcColourSpecification::IfcColourSpecification(boost::optional< std: // Function implementations for IfcColumn boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > Ifc4x3_rc3::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcColumn::declaration() const { return *IFC4X3_RC3_IfcColumn_type; } @@ -14605,7 +14605,7 @@ Ifc4x3_rc3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCommunicationsAppliance::declaration() const { return *IFC4X3_RC3_IfcCommunicationsAppliance_type; } @@ -14637,11 +14637,11 @@ Ifc4x3_rc3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::o // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4x3_rc3::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc3::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > Ifc4x3_rc3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc3::IfcPropertyTemplate >(); } -void Ifc4x3_rc3::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcComplexPropertyTemplate::declaration() const { return *IFC4X3_RC3_IfcComplexPropertyTemplate_type; } @@ -14685,7 +14685,7 @@ Ifc4x3_rc3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc3::Ifc aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeProfileDef::declaration() const { return *IFC4X3_RC3_IfcCompositeProfileDef_type; } @@ -14695,7 +14695,7 @@ Ifc4x3_rc3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc3::IfcProf // Function implementations for IfcCompressor boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > Ifc4x3_rc3::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCompressor::declaration() const { return *IFC4X3_RC3_IfcCompressor_type; } @@ -14715,7 +14715,7 @@ Ifc4x3_rc3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCondenser boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > Ifc4x3_rc3::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCondenser::declaration() const { return *IFC4X3_RC3_IfcCondenser_type; } @@ -14775,11 +14775,11 @@ Ifc4x3_rc3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEnt // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionPointEccentricity::declaration() const { return *IFC4X3_RC3_IfcConnectionPointEccentricity_type; } @@ -14827,17 +14827,17 @@ Ifc4x3_rc3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc std::string Ifc4x3_rc3::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcConstraintEnum::Value Ifc4x3_rc3::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc3::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc3::IfcConstraint::setConstraintGrade(::Ifc4x3_rc3::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcConstraint::setCreatingActor(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc3::IfcResourceConstraintRelationship::list::ptr Ifc4x3_rc3::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X3_RC3_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -14849,7 +14849,7 @@ Ifc4x3_rc3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< s // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionEquipmentResource::declaration() const { return *IFC4X3_RC3_IfcConstructionEquipmentResource_type; } @@ -14869,7 +14869,7 @@ Ifc4x3_rc3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResour // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionMaterialResource::declaration() const { return *IFC4X3_RC3_IfcConstructionMaterialResource_type; } @@ -14889,7 +14889,7 @@ Ifc4x3_rc3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResource // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionProductResource::declaration() const { return *IFC4X3_RC3_IfcConstructionProductResource_type; } @@ -14911,7 +14911,7 @@ Ifc4x3_rc3::IfcConstructionProductResourceType::IfcConstructionProductResourceTy ::Ifc4x3_rc3::IfcResourceTime* Ifc4x3_rc3::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcResourceTime>(true); } void Ifc4x3_rc3::IfcConstructionResource::setUsage(::Ifc4x3_rc3::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } -void Ifc4x3_rc3::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } void Ifc4x3_rc3::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc3::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14923,7 +14923,7 @@ Ifc4x3_rc3::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } -void Ifc4x3_rc3::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } void Ifc4x3_rc3::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc3::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14935,13 +14935,13 @@ Ifc4x3_rc3::IfcConstructionResourceType::IfcConstructionResourceType(std::string // Function implementations for IfcContext boost::optional< std::string > Ifc4x3_rc3::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > Ifc4x3_rc3::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcRepresentationContext >(); } -void Ifc4x3_rc3::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcUnitAssignment* Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcUnitAssignment>(true); } void Ifc4x3_rc3::IfcContext::setUnitsInContext(::Ifc4x3_rc3::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -14966,7 +14966,7 @@ Ifc4x3_rc3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc3::IfcDi // Function implementations for IfcControl boost::optional< std::string > Ifc4x3_rc3::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToControl::list::ptr Ifc4x3_rc3::IfcControl::Controls() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToControl_type, 6)->as(); } @@ -14977,7 +14977,7 @@ Ifc4x3_rc3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwn // Function implementations for IfcController boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > Ifc4x3_rc3::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcController::declaration() const { return *IFC4X3_RC3_IfcController_type; } @@ -15020,7 +15020,7 @@ Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(: // Function implementations for IfcConveyorSegment boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc3::IfcConveyorSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcConveyorSegment::declaration() const { return *IFC4X3_RC3_IfcConveyorSegment_type; } @@ -15040,7 +15040,7 @@ Ifc4x3_rc3::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_Global // Function implementations for IfcCooledBeam boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc3::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCooledBeam::declaration() const { return *IFC4X3_RC3_IfcCooledBeam_type; } @@ -15060,7 +15060,7 @@ Ifc4x3_rc3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCoolingTower boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc3::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCoolingTower::declaration() const { return *IFC4X3_RC3_IfcCoolingTower_type; } @@ -15094,11 +15094,11 @@ Ifc4x3_rc3::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc3::IfcCoor std::string Ifc4x3_rc3::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcCoordinateOperation::list::ptr Ifc4x3_rc3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X3_RC3_IfcCoordinateOperation_type, 0)->as(); } @@ -15121,11 +15121,11 @@ Ifc4x3_rc3::IfcCosine::IfcCosine(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, d // Function implementations for IfcCostItem boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > Ifc4x3_rc3::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > Ifc4x3_rc3::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcCostValue >(); } -void Ifc4x3_rc3::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > Ifc4x3_rc3::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } -void Ifc4x3_rc3::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCostItem::declaration() const { return *IFC4X3_RC3_IfcCostItem_type; } @@ -15135,13 +15135,13 @@ Ifc4x3_rc3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcCostSchedule boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc3::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCostSchedule::declaration() const { return *IFC4X3_RC3_IfcCostSchedule_type; } @@ -15159,7 +15159,7 @@ Ifc4x3_rc3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, b // Function implementations for IfcCourse boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > Ifc4x3_rc3::IfcCourse::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCourseTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCourseTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCourse::declaration() const { return *IFC4X3_RC3_IfcCourse_type; } @@ -15179,7 +15179,7 @@ Ifc4x3_rc3::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcCovering boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > Ifc4x3_rc3::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcRelCoversSpaces::list::ptr Ifc4x3_rc3::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X3_RC3_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x3_rc3::IfcRelCoversBldgElements::list::ptr Ifc4x3_rc3::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X3_RC3_IfcRelCoversBldgElements_type, 5)->as(); } @@ -15201,7 +15201,7 @@ Ifc4x3_rc3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcCrewResource boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc3::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCrewResource::declaration() const { return *IFC4X3_RC3_IfcCrewResource_type; } @@ -15247,7 +15247,7 @@ void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc3::I double Ifc4x3_rc3::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc3::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15259,7 +15259,7 @@ Ifc4x3_rc3::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< st // Function implementations for IfcCurtainWall boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc3::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCurtainWall::declaration() const { return *IFC4X3_RC3_IfcCurtainWall_type; } @@ -15337,7 +15337,7 @@ void Ifc4x3_rc3::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc3::IfcSizeSelect* v) { ::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveColour(::Ifc4x3_rc3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyle::declaration() const { return *IFC4X3_RC3_IfcCurveStyle_type; } @@ -15347,7 +15347,7 @@ Ifc4x3_rc3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc3::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15359,7 +15359,7 @@ Ifc4x3_rc3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcCurveStyleFontSelect* Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc3::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -15395,7 +15395,7 @@ Ifc4x3_rc3::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc3::IfcAxis2P // Function implementations for IfcDamper boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > Ifc4x3_rc3::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDamper::declaration() const { return *IFC4X3_RC3_IfcDamper_type; } @@ -15435,7 +15435,7 @@ void Ifc4x3_rc3::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc3::IfcProfile ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc3::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedProfileDef::declaration() const { return *IFC4X3_RC3_IfcDerivedProfileDef_type; } @@ -15449,7 +15449,7 @@ void Ifc4x3_rc3::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc3::IfcDeri ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value Ifc4x3_rc3::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc3::IfcDerivedUnit::setUnitType(::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedUnit::declaration() const { return *IFC4X3_RC3_IfcDerivedUnit_type; } @@ -15539,7 +15539,7 @@ Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSol // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc3::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDiscreteAccessory::declaration() const { return *IFC4X3_RC3_IfcDiscreteAccessory_type; } @@ -15559,7 +15559,7 @@ Ifc4x3_rc3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Gl // Function implementations for IfcDistributionBoard boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionBoard::declaration() const { return *IFC4X3_RC3_IfcDistributionBoard_type; } @@ -15579,7 +15579,7 @@ Ifc4x3_rc3::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_Gl // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc3::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionChamberElement::declaration() const { return *IFC4X3_RC3_IfcDistributionChamberElement_type; } @@ -15658,11 +15658,11 @@ Ifc4x3_rc3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std:: // Function implementations for IfcDistributionPort boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > Ifc4x3_rc3::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc3::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionPort::declaration() const { return *IFC4X3_RC3_IfcDistributionPort_type; } @@ -15672,9 +15672,9 @@ Ifc4x3_rc3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, :: // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4x3_rc3::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionSystem::declaration() const { return *IFC4X3_RC3_IfcDistributionSystem_type; } @@ -15688,35 +15688,35 @@ void Ifc4x3_rc3::IfcDocumentInformation::setIdentification(std::string v) { {Ifc std::string Ifc4x3_rc3::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x3_rc3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x3_rc3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4x3_rc3::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc3::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x3_rc3::IfcDocumentReference::list::ptr Ifc4x3_rc3::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X3_RC3_IfcDocumentReference_type, 4)->as(); } @@ -15734,7 +15734,7 @@ void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcDocumentInformation >(); } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformationRelationship::declaration() const { return *IFC4X3_RC3_IfcDocumentInformationRelationship_type; } @@ -15744,7 +15744,7 @@ Ifc4x3_rc3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc3::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } void Ifc4x3_rc3::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc3::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15757,15 +15757,15 @@ Ifc4x3_rc3::IfcDocumentReference::IfcDocumentReference(boost::optional< std::str // Function implementations for IfcDoor boost::optional< double > Ifc4x3_rc3::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > Ifc4x3_rc3::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc3::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc3::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDoor::declaration() const { return *IFC4X3_RC3_IfcDoor_type; } @@ -15775,31 +15775,31 @@ Ifc4x3_rc3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDoorLiningProperties::declaration() const { return *IFC4X3_RC3_IfcDoorLiningProperties_type; } @@ -15809,11 +15809,11 @@ Ifc4x3_rc3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_Glob // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } @@ -15855,9 +15855,9 @@ void Ifc4x3_rc3::IfcDoorType::setPredefinedType(::Ifc4x3_rc3::IfcDoorTypeEnum::V ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value Ifc4x3_rc3::IfcDoorType::OperationType() const { return ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc3::IfcDoorType::setOperationType(::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDoorType::declaration() const { return *IFC4X3_RC3_IfcDoorType_type; } @@ -15883,7 +15883,7 @@ Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(s // Function implementations for IfcDuctFitting boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc3::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDuctFitting::declaration() const { return *IFC4X3_RC3_IfcDuctFitting_type; } @@ -15903,7 +15903,7 @@ Ifc4x3_rc3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSegment boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc3::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSegment::declaration() const { return *IFC4X3_RC3_IfcDuctSegment_type; } @@ -15923,7 +15923,7 @@ Ifc4x3_rc3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc3::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSilencer::declaration() const { return *IFC4X3_RC3_IfcDuctSilencer_type; } @@ -15943,7 +15943,7 @@ Ifc4x3_rc3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, :: // Function implementations for IfcEarthworksCut boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksCut::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksCut::declaration() const { return *IFC4X3_RC3_IfcEarthworksCut_type; } @@ -15961,7 +15961,7 @@ Ifc4x3_rc3::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, // Function implementations for IfcEarthworksFill boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksFill::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksFill::declaration() const { return *IFC4X3_RC3_IfcEarthworksFill_type; } @@ -16005,7 +16005,7 @@ Ifc4x3_rc3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc3::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricAppliance::declaration() const { return *IFC4X3_RC3_IfcElectricAppliance_type; } @@ -16025,7 +16025,7 @@ Ifc4x3_rc3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Gl // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricDistributionBoard::declaration() const { return *IFC4X3_RC3_IfcElectricDistributionBoard_type; } @@ -16045,7 +16045,7 @@ Ifc4x3_rc3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(s // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X3_RC3_IfcElectricFlowStorageDevice_type; } @@ -16065,7 +16065,7 @@ Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(s // Function implementations for IfcElectricFlowTreatmentDevice boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::declaration() const { return *IFC4X3_RC3_IfcElectricFlowTreatmentDevice_type; } @@ -16085,7 +16085,7 @@ Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceTy // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc3::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricGenerator::declaration() const { return *IFC4X3_RC3_IfcElectricGenerator_type; } @@ -16105,7 +16105,7 @@ Ifc4x3_rc3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_Gl // Function implementations for IfcElectricMotor boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc3::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricMotor::declaration() const { return *IFC4X3_RC3_IfcElectricMotor_type; } @@ -16125,7 +16125,7 @@ Ifc4x3_rc3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc3::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricTimeControl::declaration() const { return *IFC4X3_RC3_IfcElectricTimeControl_type; } @@ -16145,7 +16145,7 @@ Ifc4x3_rc3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v // Function implementations for IfcElement boost::optional< std::string > Ifc4x3_rc3::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcRelFillsElement::list::ptr Ifc4x3_rc3::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X3_RC3_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x3_rc3::IfcRelConnectsElements::list::ptr Ifc4x3_rc3::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X3_RC3_IfcRelConnectsElements_type, 5)->as(); } @@ -16166,9 +16166,9 @@ Ifc4x3_rc3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwn // Function implementations for IfcElementAssembly boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc3::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc3::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElementAssembly::declaration() const { return *IFC4X3_RC3_IfcElementAssembly_type; } @@ -16204,7 +16204,7 @@ Ifc4x3_rc3::IfcElementComponentType::IfcElementComponentType(std::string v1_Glob // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4x3_rc3::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr Ifc4x3_rc3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } void Ifc4x3_rc3::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -16216,7 +16216,7 @@ Ifc4x3_rc3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::If // Function implementations for IfcElementType boost::optional< std::string > Ifc4x3_rc3::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcElementType::declaration() const { return *IFC4X3_RC3_IfcElementType_type; } @@ -16276,7 +16276,7 @@ Ifc4x3_rc3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::st // Function implementations for IfcEngine boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > Ifc4x3_rc3::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEngine::declaration() const { return *IFC4X3_RC3_IfcEngine_type; } @@ -16296,7 +16296,7 @@ Ifc4x3_rc3::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc3::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporativeCooler::declaration() const { return *IFC4X3_RC3_IfcEvaporativeCooler_type; } @@ -16316,7 +16316,7 @@ Ifc4x3_rc3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_Gl // Function implementations for IfcEvaporator boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc3::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporator::declaration() const { return *IFC4X3_RC3_IfcEvaporator_type; } @@ -16336,11 +16336,11 @@ Ifc4x3_rc3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcEvent boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > Ifc4x3_rc3::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc3::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcEventTime* Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcEventTime>(true); } void Ifc4x3_rc3::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc3::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16352,13 +16352,13 @@ Ifc4x3_rc3::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi // Function implementations for IfcEventTime boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEventTime::declaration() const { return *IFC4X3_RC3_IfcEventTime_type; } @@ -16372,7 +16372,7 @@ void Ifc4x3_rc3::IfcEventType::setPredefinedType(::Ifc4x3_rc3::IfcEventTypeEnum: ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value Ifc4x3_rc3::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc3::IfcEventType::setEventTriggerType(::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcEventType::declaration() const { return *IFC4X3_RC3_IfcEventType_type; } @@ -16382,9 +16382,9 @@ Ifc4x3_rc3::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc3::If // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } void Ifc4x3_rc3::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -16404,11 +16404,11 @@ Ifc4x3_rc3::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseE // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -16431,7 +16431,7 @@ Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(b // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc3::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc3::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X3_RC3_IfcRelSpaceBoundary_type, 4)->as(); } @@ -16587,17 +16587,17 @@ Ifc4x3_rc3::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFailureConnectionCondition::declaration() const { return *IFC4X3_RC3_IfcFailureConnectionCondition_type; } @@ -16607,7 +16607,7 @@ Ifc4x3_rc3::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost:: // Function implementations for IfcFan boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > Ifc4x3_rc3::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFan::declaration() const { return *IFC4X3_RC3_IfcFan_type; } @@ -16627,7 +16627,7 @@ Ifc4x3_rc3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwn // Function implementations for IfcFastener boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > Ifc4x3_rc3::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFastener::declaration() const { return *IFC4X3_RC3_IfcFastener_type; } @@ -16675,7 +16675,7 @@ Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::stri aggregate_of_instance::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC3_IfcFillAreaStyle_type; } @@ -16717,7 +16717,7 @@ Ifc4x3_rc3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_ // Function implementations for IfcFilter boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > Ifc4x3_rc3::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFilter::declaration() const { return *IFC4X3_RC3_IfcFilter_type; } @@ -16737,7 +16737,7 @@ Ifc4x3_rc3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc3::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFireSuppressionTerminal::declaration() const { return *IFC4X3_RC3_IfcFireSuppressionTerminal_type; } @@ -16799,7 +16799,7 @@ Ifc4x3_rc3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc3::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFlowInstrument::declaration() const { return *IFC4X3_RC3_IfcFlowInstrument_type; } @@ -16819,7 +16819,7 @@ Ifc4x3_rc3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId // Function implementations for IfcFlowMeter boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc3::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMeter::declaration() const { return *IFC4X3_RC3_IfcFlowMeter_type; } @@ -16919,7 +16919,7 @@ Ifc4x3_rc3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v // Function implementations for IfcFooting boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > Ifc4x3_rc3::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFooting::declaration() const { return *IFC4X3_RC3_IfcFooting_type; } @@ -16955,7 +16955,7 @@ Ifc4x3_rc3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Gl // Function implementations for IfcFurniture boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFurniture::declaration() const { return *IFC4X3_RC3_IfcFurniture_type; } @@ -16967,7 +16967,7 @@ Ifc4x3_rc3::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc3::If ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value Ifc4x3_rc3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcFurnitureType::declaration() const { return *IFC4X3_RC3_IfcFurnitureType_type; } @@ -16977,7 +16977,7 @@ Ifc4x3_rc3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcGeographicElement boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc3::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcGeographicElement::declaration() const { return *IFC4X3_RC3_IfcGeographicElement_type; } @@ -17007,7 +17007,7 @@ Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::pt int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } @@ -17033,11 +17033,11 @@ Ifc4x3_rc3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : I ::Ifc4x3_rc3::IfcGeometricRepresentationContext* Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc3::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc3::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X3_RC3_IfcGeometricRepresentationSubContext_type; } @@ -17113,9 +17113,9 @@ void Ifc4x3_rc3::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::pt aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } void Ifc4x3_rc3::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > Ifc4x3_rc3::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } -void Ifc4x3_rc3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > Ifc4x3_rc3::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcGrid::declaration() const { return *IFC4X3_RC3_IfcGrid_type; } @@ -17125,7 +17125,7 @@ Ifc4x3_rc3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc3::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcGridAxis::setAxisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc3::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -17176,7 +17176,7 @@ Ifc4x3_rc3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc3::IfcSurface* v1_Ba // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc3::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcHeatExchanger::declaration() const { return *IFC4X3_RC3_IfcHeatExchanger_type; } @@ -17196,7 +17196,7 @@ Ifc4x3_rc3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, // Function implementations for IfcHumidifier boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > Ifc4x3_rc3::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcHumidifier::declaration() const { return *IFC4X3_RC3_IfcHumidifier_type; } @@ -17224,11 +17224,11 @@ void Ifc4x3_rc3::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc3::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcIShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcIShapeProfileDef_type; } @@ -17268,7 +17268,7 @@ Ifc4x3_rc3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::st // Function implementations for IfcInclinedReferenceSweptAreaSolid boost::optional< bool > Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } bool v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::declaration() const { return *IFC4X3_RC3_IfcInclinedReferenceSweptAreaSolid_type; } @@ -17280,7 +17280,7 @@ Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSol ::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc3::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcColourRgbList* Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourRgbList>(true); } void Ifc4x3_rc3::IfcIndexedColourMap::setColours(::Ifc4x3_rc3::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -17296,9 +17296,9 @@ Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc3::IfcTessellate ::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(true); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC3_IfcIndexedPolyCurve_type; } @@ -17341,7 +17341,7 @@ Ifc4x3_rc3::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X3_RC3_IfcIndexedTriangleTextureMap_type; } @@ -17351,7 +17351,7 @@ Ifc4x3_rc3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate // Function implementations for IfcInterceptor boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > Ifc4x3_rc3::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcInterceptor::declaration() const { return *IFC4X3_RC3_IfcInterceptor_type; } @@ -17379,13 +17379,13 @@ Ifc4x3_rc3::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc3::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > Ifc4x3_rc3::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc3::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcInventory::setJurisdiction(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } -void Ifc4x3_rc3::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcInventory::setCurrentValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } @@ -17421,7 +17421,7 @@ Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc3::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcJunctionBox::declaration() const { return *IFC4X3_RC3_IfcJunctionBox_type; } @@ -17463,15 +17463,15 @@ Ifc4x3_rc3::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO double Ifc4x3_rc3::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4x3_rc3::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcLShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcLShapeProfileDef_type; } @@ -17481,7 +17481,7 @@ Ifc4x3_rc3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc3::IfcProfileTyp // Function implementations for IfcLaborResource boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc3::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcLaborResource::declaration() const { return *IFC4X3_RC3_IfcLaborResource_type; } @@ -17513,7 +17513,7 @@ Ifc4x3_rc3::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost // Function implementations for IfcLamp boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > Ifc4x3_rc3::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcLamp::declaration() const { return *IFC4X3_RC3_IfcLamp_type; } @@ -17535,15 +17535,15 @@ Ifc4x3_rc3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO std::string Ifc4x3_rc3::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcLibraryInformation::setPublisher(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc3::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x3_rc3::IfcLibraryReference::list::ptr Ifc4x3_rc3::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X3_RC3_IfcLibraryReference_type, 5)->as(); } @@ -17555,9 +17555,9 @@ Ifc4x3_rc3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, bo // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } void Ifc4x3_rc3::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc3::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17584,7 +17584,7 @@ Ifc4x3_rc3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPla // Function implementations for IfcLightFixture boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc3::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcLightFixture::declaration() const { return *IFC4X3_RC3_IfcLightFixture_type; } @@ -17616,13 +17616,13 @@ Ifc4x3_rc3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc3::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcLightSource::setLightColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcLightSource::declaration() const { return *IFC4X3_RC3_IfcLightSource_type; } @@ -17690,7 +17690,7 @@ Ifc4x3_rc3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< ::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4x3_rc3::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x3_rc3::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4x3_rc3::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -17744,7 +17744,7 @@ Ifc4x3_rc3::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string // Function implementations for IfcLiquidTerminal boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc3::IfcLiquidTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcLiquidTerminal::declaration() const { return *IFC4X3_RC3_IfcLiquidTerminal_type; } @@ -17798,15 +17798,15 @@ void Ifc4x3_rc3::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteA double Ifc4x3_rc3::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleY() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcMapConversion::setScaleY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMapConversion::setScaleY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleZ() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcMapConversion::setScaleZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcMapConversion::setScaleZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMapConversion::declaration() const { return *IFC4X3_RC3_IfcMapConversion_type; } @@ -17828,7 +17828,7 @@ Ifc4x3_rc3::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc3::IfcRepresentationMap* v1_ // Function implementations for IfcMarineFacility boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc3::IfcMarineFacility::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMarineFacility::declaration() const { return *IFC4X3_RC3_IfcMarineFacility_type; } @@ -17840,9 +17840,9 @@ Ifc4x3_rc3::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4 std::string Ifc4x3_rc3::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc3::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X3_RC3_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x3_rc3::IfcMaterialRelationship::list::ptr Ifc4x3_rc3::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X3_RC3_IfcMaterialRelationship_type, 3)->as(); } @@ -17867,15 +17867,15 @@ Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRela // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X3_RC3_IfcMaterialConstituentSet_type, 2)->as(); } @@ -17886,11 +17886,11 @@ Ifc4x3_rc3::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std: // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > Ifc4x3_rc3::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcMaterialConstituent >(); } -void Ifc4x3_rc3::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::declaration() const { return *IFC4X3_RC3_IfcMaterialConstituentSet_type; } @@ -17925,15 +17925,15 @@ void Ifc4x3_rc3::IfcMaterialLayer::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { { double Ifc4x3_rc3::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4x3_rc3::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcMaterialLayerSet::list::ptr Ifc4x3_rc3::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X3_RC3_IfcMaterialLayerSet_type, 0)->as(); } @@ -17946,9 +17946,9 @@ Ifc4x3_rc3::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc3::IfcMaterial* v1_Mat aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr Ifc4x3_rc3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcMaterialLayer >(); } void Ifc4x3_rc3::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerSet::declaration() const { return *IFC4X3_RC3_IfcMaterialLayerSet_type; } @@ -17966,7 +17966,7 @@ void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc3::IfcDi double Ifc4x3_rc3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X3_RC3_IfcMaterialLayerSetUsage_type; } @@ -17998,17 +17998,17 @@ Ifc4x3_rc3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc3::IfcMate // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialProfile::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcMaterialProfile::setProfile(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcMaterialProfileSet::list::ptr Ifc4x3_rc3::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X3_RC3_IfcMaterialProfileSet_type, 2)->as(); } @@ -18019,9 +18019,9 @@ Ifc4x3_rc3::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr Ifc4x3_rc3::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcMaterialProfile >(); } void Ifc4x3_rc3::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcCompositeProfileDef* Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCompositeProfileDef>(true); } @@ -18037,9 +18037,9 @@ Ifc4x3_rc3::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::s ::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc3::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X3_RC3_IfcMaterialProfileSetUsage_type; } @@ -18051,7 +18051,7 @@ Ifc4x3_rc3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc3: ::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc3::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X3_RC3_IfcMaterialProfileSetUsageTapering_type; } @@ -18085,7 +18085,7 @@ void Ifc4x3_rc3::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc3::IfcM aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Ifc4x3_rc3::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcMaterial >(); } void Ifc4x3_rc3::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialRelationship::declaration() const { return *IFC4X3_RC3_IfcMaterialRelationship_type; } @@ -18116,11 +18116,11 @@ Ifc4x3_rc3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc3::IfcValue* v1_Va // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc3::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMechanicalFastener::declaration() const { return *IFC4X3_RC3_IfcMechanicalFastener_type; } @@ -18132,9 +18132,9 @@ Ifc4x3_rc3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMechanicalFastenerType::declaration() const { return *IFC4X3_RC3_IfcMechanicalFastenerType_type; } @@ -18144,7 +18144,7 @@ Ifc4x3_rc3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_ // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMedicalDevice::declaration() const { return *IFC4X3_RC3_IfcMedicalDevice_type; } @@ -18164,7 +18164,7 @@ Ifc4x3_rc3::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, // Function implementations for IfcMember boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > Ifc4x3_rc3::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMember::declaration() const { return *IFC4X3_RC3_IfcMember_type; } @@ -18194,7 +18194,7 @@ Ifc4x3_rc3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc3:: ::Ifc4x3_rc3::IfcBenchmarkEnum::Value Ifc4x3_rc3::IfcMetric::Benchmark() const { return ::Ifc4x3_rc3::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcMetric::setBenchmark(::Ifc4x3_rc3::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcMetricValueSelect* Ifc4x3_rc3::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcMetricValueSelect>(true); } void Ifc4x3_rc3::IfcMetric::setDataValue(::Ifc4x3_rc3::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcReference>(true); } @@ -18216,7 +18216,7 @@ Ifc4x3_rc3::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc3::IfcProfil // Function implementations for IfcMobileTelecommunicationsAppliance boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::declaration() const { return *IFC4X3_RC3_IfcMobileTelecommunicationsAppliance_type; } @@ -18246,7 +18246,7 @@ Ifc4x3_rc3::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil: // Function implementations for IfcMooringDevice boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMooringDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMooringDevice::declaration() const { return *IFC4X3_RC3_IfcMooringDevice_type; } @@ -18266,7 +18266,7 @@ Ifc4x3_rc3::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, // Function implementations for IfcMotorConnection boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc3::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcMotorConnection::declaration() const { return *IFC4X3_RC3_IfcMotorConnection_type; } @@ -18298,7 +18298,7 @@ Ifc4x3_rc3::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1 // Function implementations for IfcNavigationElement boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc3::IfcNavigationElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcNavigationElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcNavigationElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcNavigationElement::declaration() const { return *IFC4X3_RC3_IfcNavigationElement_type; } @@ -18318,7 +18318,7 @@ Ifc4x3_rc3::IfcNavigationElementType::IfcNavigationElementType(std::string v1_Gl // Function implementations for IfcObject boost::optional< std::string > Ifc4x3_rc3::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcRelDefinesByObject::list::ptr Ifc4x3_rc3::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X3_RC3_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x3_rc3::IfcRelDefinesByObject::list::ptr Ifc4x3_rc3::IfcObject::Declares() const { return data_->getInverse(IFC4X3_RC3_IfcRelDefinesByObject_type, 5)->as(); } @@ -18358,13 +18358,13 @@ Ifc4x3_rc3::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc3::IfcObjectPlacem // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > Ifc4x3_rc3::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcConstraint >(); } -void Ifc4x3_rc3::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > Ifc4x3_rc3::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcObjectiveEnum::Value Ifc4x3_rc3::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc3::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc3::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcObjective::declaration() const { return *IFC4X3_RC3_IfcObjective_type; } @@ -18374,7 +18374,7 @@ Ifc4x3_rc3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std // Function implementations for IfcOccupant boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > Ifc4x3_rc3::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcOccupant::declaration() const { return *IFC4X3_RC3_IfcOccupant_type; } @@ -18422,7 +18422,7 @@ Ifc4x3_rc3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc3::IfcCurve* v1_BasisC aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr Ifc4x3_rc3::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcPointByDistanceExpression >(); } void Ifc4x3_rc3::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurveByDistances::declaration() const { return *IFC4X3_RC3_IfcOffsetCurveByDistances_type; } @@ -18438,7 +18438,7 @@ void Ifc4x3_rc3::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?] std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc3::IfcOpenCrossProfileDef::Tags() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcOpenCrossProfileDef::declaration() const { return *IFC4X3_RC3_IfcOpenCrossProfileDef_type; } @@ -18456,7 +18456,7 @@ Ifc4x3_rc3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc3::IfcFace >::pt // Function implementations for IfcOpeningElement boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc3::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcRelFillsElement::list::ptr Ifc4x3_rc3::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X3_RC3_IfcRelFillsElement_type, 4)->as(); } @@ -18475,15 +18475,15 @@ Ifc4x3_rc3::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_Global // Function implementations for IfcOrganization boost::optional< std::string > Ifc4x3_rc3::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4x3_rc3::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } -void Ifc4x3_rc3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > Ifc4x3_rc3::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcAddress >(); } -void Ifc4x3_rc3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcOrganizationRelationship::list::ptr Ifc4x3_rc3::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X3_RC3_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x3_rc3::IfcOrganizationRelationship::list::ptr Ifc4x3_rc3::IfcOrganization::Relates() const { return data_->getInverse(IFC4X3_RC3_IfcOrganizationRelationship_type, 2)->as(); } @@ -18528,7 +18528,7 @@ Ifc4x3_rc3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_ // Function implementations for IfcOutlet boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > Ifc4x3_rc3::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcOutlet::declaration() const { return *IFC4X3_RC3_IfcOutlet_type; } @@ -18552,11 +18552,11 @@ void Ifc4x3_rc3::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc3::IfcPersonAndOrgani ::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcApplication>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc3::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc3::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc3::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc3::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcApplication>(true); } @@ -18592,7 +18592,7 @@ Ifc4x3_rc3::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr // Function implementations for IfcPavement boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > Ifc4x3_rc3::IfcPavement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPavementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPavementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPavement::declaration() const { return *IFC4X3_RC3_IfcPavement_type; } @@ -18626,7 +18626,7 @@ Ifc4x3_rc3::IfcPcurve::IfcPcurve(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, ::If std::string Ifc4x3_rc3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc3::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPerformanceHistory::declaration() const { return *IFC4X3_RC3_IfcPerformanceHistory_type; } @@ -18640,9 +18640,9 @@ void Ifc4x3_rc3::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc3:: ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18654,11 +18654,11 @@ Ifc4x3_rc3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std:: // Function implementations for IfcPermit boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > Ifc4x3_rc3::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPermit::declaration() const { return *IFC4X3_RC3_IfcPermit_type; } @@ -18668,21 +18668,21 @@ Ifc4x3_rc3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner // Function implementations for IfcPerson boost::optional< std::string > Ifc4x3_rc3::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } -void Ifc4x3_rc3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > Ifc4x3_rc3::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcAddress >(); } -void Ifc4x3_rc3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcPersonAndOrganization::list::ptr Ifc4x3_rc3::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X3_RC3_IfcPersonAndOrganization_type, 0)->as(); } @@ -18697,7 +18697,7 @@ void Ifc4x3_rc3::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc3::IfcPerson* ::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } -void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPersonAndOrganization::declaration() const { return *IFC4X3_RC3_IfcPersonAndOrganization_type; } @@ -18711,9 +18711,9 @@ void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::If std::string Ifc4x3_rc3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X3_RC3_IfcPhysicalComplexQuantity_type; } @@ -18725,7 +18725,7 @@ Ifc4x3_rc3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v std::string Ifc4x3_rc3::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc3::IfcPhysicalComplexQuantity::list::ptr Ifc4x3_rc3::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X3_RC3_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -18747,9 +18747,9 @@ Ifc4x3_rc3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_ // Function implementations for IfcPile boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > Ifc4x3_rc3::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > Ifc4x3_rc3::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPile::declaration() const { return *IFC4X3_RC3_IfcPile_type; } @@ -18769,7 +18769,7 @@ Ifc4x3_rc3::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcPipeFitting boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc3::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPipeFitting::declaration() const { return *IFC4X3_RC3_IfcPipeFitting_type; } @@ -18789,7 +18789,7 @@ Ifc4x3_rc3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcPipeSegment boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc3::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPipeSegment::declaration() const { return *IFC4X3_RC3_IfcPipeSegment_type; } @@ -18873,7 +18873,7 @@ Ifc4x3_rc3::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi // Function implementations for IfcPlate boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > Ifc4x3_rc3::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPlate::declaration() const { return *IFC4X3_RC3_IfcPlate_type; } @@ -18911,11 +18911,11 @@ Ifc4x3_rc3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInst ::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18975,11 +18975,11 @@ Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_ // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4x3_rc3::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc3::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc3::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPolygonalFaceSet::declaration() const { return *IFC4X3_RC3_IfcPolygonalFaceSet_type; } @@ -19001,11 +19001,11 @@ Ifc4x3_rc3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoi ::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcPolynomialCurve::setPosition(::Ifc4x3_rc3::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPolynomialCurve::declaration() const { return *IFC4X3_RC3_IfcPolynomialCurve_type; } @@ -19036,19 +19036,19 @@ Ifc4x3_rc3::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPostalAddress::declaration() const { return *IFC4X3_RC3_IfcPostalAddress_type; } @@ -19118,11 +19118,11 @@ Ifc4x3_rc3::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity( std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC3_IfcPresentationLayerAssignment_type; } @@ -19148,7 +19148,7 @@ Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::st // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationStyle::declaration() const { return *IFC4X3_RC3_IfcPresentationStyle_type; } @@ -19158,7 +19158,7 @@ Ifc4x3_rc3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::str // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > Ifc4x3_rc3::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcProcedure::declaration() const { return *IFC4X3_RC3_IfcProcedure_type; } @@ -19178,9 +19178,9 @@ Ifc4x3_rc3::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcProcess boost::optional< std::string > Ifc4x3_rc3::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcRelSequence::list::ptr Ifc4x3_rc3::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X3_RC3_IfcRelSequence_type, 4)->as(); } ::Ifc4x3_rc3::IfcRelSequence::list::ptr Ifc4x3_rc3::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X3_RC3_IfcRelSequence_type, 5)->as(); } @@ -19218,9 +19218,9 @@ Ifc4x3_rc3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr Ifc4x3_rc3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcRepresentation >(); } void Ifc4x3_rc3::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -19234,7 +19234,7 @@ Ifc4x3_rc3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< ::Ifc4x3_rc3::IfcProfileTypeEnum::Value Ifc4x3_rc3::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc3::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc3::IfcProfileDef::setProfileType(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc3::IfcProfileProperties::list::ptr Ifc4x3_rc3::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X3_RC3_IfcProfileProperties_type, 3)->as(); } @@ -19272,11 +19272,11 @@ Ifc4x3_rc3::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcProjectOrder boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc3::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc3::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcProjectOrder::declaration() const { return *IFC4X3_RC3_IfcProjectOrder_type; } @@ -19286,9 +19286,9 @@ Ifc4x3_rc3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19300,7 +19300,7 @@ Ifc4x3_rc3::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optiona // Function implementations for IfcProjectionElement boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc3::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcProjectionElement::declaration() const { return *IFC4X3_RC3_IfcProjectionElement_type; } @@ -19312,7 +19312,7 @@ Ifc4x3_rc3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, std::string Ifc4x3_rc3::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcPropertySet::list::ptr Ifc4x3_rc3::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X3_RC3_IfcPropertySet_type, 4)->as(); } ::Ifc4x3_rc3::IfcPropertyDependencyRelationship::list::ptr Ifc4x3_rc3::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X3_RC3_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -19367,7 +19367,7 @@ void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x ::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProperty>(true); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc3::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X3_RC3_IfcPropertyDependencyRelationship_type; } @@ -19377,7 +19377,7 @@ Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19403,7 +19403,7 @@ Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19415,7 +19415,7 @@ Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcObjectReferenceSelect* Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc3::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc3::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19448,9 +19448,9 @@ Ifc4x3_rc3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_Gl // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc3::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc3::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr Ifc4x3_rc3::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc3::IfcPropertyTemplate >(); } void Ifc4x3_rc3::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -19475,17 +19475,17 @@ Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > Ifc4x3_rc3::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC3_IfcPropertyTableValue_type; } @@ -19513,7 +19513,7 @@ Ifc4x3_rc3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::st // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDevice::declaration() const { return *IFC4X3_RC3_IfcProtectiveDevice_type; } @@ -19523,7 +19523,7 @@ Ifc4x3_rc3::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, :: // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X3_RC3_IfcProtectiveDeviceTrippingUnit_type; } @@ -19555,7 +19555,7 @@ Ifc4x3_rc3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_Glob ::Ifc4x3_rc3::IfcObjectTypeEnum::Value Ifc4x3_rc3::IfcProxy::ProxyType() const { return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcProxy::setProxyType(::Ifc4x3_rc3::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcProxy::declaration() const { return *IFC4X3_RC3_IfcProxy_type; } @@ -19565,7 +19565,7 @@ Ifc4x3_rc3::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi // Function implementations for IfcPump boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > Ifc4x3_rc3::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcPump::declaration() const { return *IFC4X3_RC3_IfcPump_type; } @@ -19587,7 +19587,7 @@ Ifc4x3_rc3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO double Ifc4x3_rc3::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityArea::declaration() const { return *IFC4X3_RC3_IfcQuantityArea_type; } @@ -19599,7 +19599,7 @@ Ifc4x3_rc3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optiona double Ifc4x3_rc3::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityCount::declaration() const { return *IFC4X3_RC3_IfcQuantityCount_type; } @@ -19611,7 +19611,7 @@ Ifc4x3_rc3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optio double Ifc4x3_rc3::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityLength::declaration() const { return *IFC4X3_RC3_IfcQuantityLength_type; } @@ -19631,7 +19631,7 @@ Ifc4x3_rc3::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc3 double Ifc4x3_rc3::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityTime::declaration() const { return *IFC4X3_RC3_IfcQuantityTime_type; } @@ -19643,7 +19643,7 @@ Ifc4x3_rc3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optiona double Ifc4x3_rc3::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityVolume::declaration() const { return *IFC4X3_RC3_IfcQuantityVolume_type; } @@ -19655,7 +19655,7 @@ Ifc4x3_rc3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::opt double Ifc4x3_rc3::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityWeight::declaration() const { return *IFC4X3_RC3_IfcQuantityWeight_type; } @@ -19665,7 +19665,7 @@ Ifc4x3_rc3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::opt // Function implementations for IfcRail boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > Ifc4x3_rc3::IfcRail::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRailTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRailTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRail::declaration() const { return *IFC4X3_RC3_IfcRail_type; } @@ -19685,7 +19685,7 @@ Ifc4x3_rc3::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcRailing boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > Ifc4x3_rc3::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRailing::declaration() const { return *IFC4X3_RC3_IfcRailing_type; } @@ -19705,7 +19705,7 @@ Ifc4x3_rc3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcRailway boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > Ifc4x3_rc3::IfcRailway::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailwayTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRailwayTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRailwayTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRailway::declaration() const { return *IFC4X3_RC3_IfcRailway_type; } @@ -19715,7 +19715,7 @@ Ifc4x3_rc3::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwn // Function implementations for IfcRamp boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > Ifc4x3_rc3::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRamp::declaration() const { return *IFC4X3_RC3_IfcRamp_type; } @@ -19725,7 +19725,7 @@ Ifc4x3_rc3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcRampFlight boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > Ifc4x3_rc3::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRampFlight::declaration() const { return *IFC4X3_RC3_IfcRampFlight_type; } @@ -19777,9 +19777,9 @@ Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKno double Ifc4x3_rc3::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X3_RC3_IfcRectangleHollowProfileDef_type; } @@ -19839,19 +19839,19 @@ Ifc4x3_rc3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_ ::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value Ifc4x3_rc3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc3::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc3::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTimePeriod >::ptr > Ifc4x3_rc3::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcTimePeriod >(); } -void Ifc4x3_rc3::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRecurrencePattern::declaration() const { return *IFC4X3_RC3_IfcRecurrencePattern_type; } @@ -19861,13 +19861,13 @@ Ifc4x3_rc3::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc3::IfcRecurren // Function implementations for IfcReference boost::optional< std::string > Ifc4x3_rc3::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcReference::setInnerReference(::Ifc4x3_rc3::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19879,9 +19879,9 @@ Ifc4x3_rc3::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIde // Function implementations for IfcReferent boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > Ifc4x3_rc3::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReferentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReferent::declaration() const { return *IFC4X3_RC3_IfcReferent_type; } @@ -19903,7 +19903,7 @@ Ifc4x3_rc3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boos // Function implementations for IfcReinforcedSoil boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc3::IfcReinforcedSoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcedSoil::declaration() const { return *IFC4X3_RC3_IfcReinforcedSoil_type; } @@ -19917,13 +19917,13 @@ void Ifc4x3_rc3::IfcReinforcementBarProperties::setTotalCrossSectionArea(double std::string Ifc4x3_rc3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcementBarProperties::declaration() const { return *IFC4X3_RC3_IfcReinforcementBarProperties_type; } @@ -19933,7 +19933,7 @@ Ifc4x3_rc3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4x3_rc3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19945,15 +19945,15 @@ Ifc4x3_rc3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProp // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc3::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc3::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBar::declaration() const { return *IFC4X3_RC3_IfcReinforcingBar_type; } @@ -19965,17 +19965,17 @@ Ifc4x3_rc3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4 ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC3_IfcReinforcingBarType_type; } @@ -19985,7 +19985,7 @@ Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingElement::declaration() const { return *IFC4X3_RC3_IfcReinforcingElement_type; } @@ -20003,23 +20003,23 @@ Ifc4x3_rc3::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_ // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc3::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x3_rc3::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4x3_rc3::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMesh::declaration() const { return *IFC4X3_RC3_IfcReinforcingMesh_type; } @@ -20031,25 +20031,25 @@ Ifc4x3_rc3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::If ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC3_IfcReinforcingMeshType_type; } @@ -20073,7 +20073,7 @@ Ifc4x3_rc3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3 aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > Ifc4x3_rc3::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssigns::declaration() const { return *IFC4X3_RC3_IfcRelAssigns_type; } @@ -20187,7 +20187,7 @@ Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20323,7 +20323,7 @@ void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc ::Ifc4x3_rc3::IfcStructuralConnectionCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc3::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20347,7 +20347,7 @@ Ifc4x3_rc3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std:: aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcElement >(); } void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X3_RC3_IfcRelConnectsWithRealizingElements_type; } @@ -20499,7 +20499,7 @@ void Ifc4x3_rc3::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc3::IfcIn ::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::logic::tribool Ifc4x3_rc3::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(8); return v; } void Ifc4x3_rc3::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20565,9 +20565,9 @@ void Ifc4x3_rc3::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc3::IfcProcess* v) ::Ifc4x3_rc3::IfcLagTime* Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcLagTime>(true); } void Ifc4x3_rc3::IfcRelSequence::setTimeLag(::Ifc4x3_rc3::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > Ifc4x3_rc3::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc3::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelSequence::declaration() const { return *IFC4X3_RC3_IfcRelSequence_type; } @@ -20661,9 +20661,9 @@ Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu ::Ifc4x3_rc3::IfcRepresentationContext* Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationContext>(true); } void Ifc4x3_rc3::IfcRepresentation::setContextOfItems(::Ifc4x3_rc3::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr Ifc4x3_rc3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcRepresentationItem >(); } void Ifc4x3_rc3::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -20678,9 +20678,9 @@ Ifc4x3_rc3::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc3::IfcRepresentation // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcRepresentation::list::ptr Ifc4x3_rc3::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X3_RC3_IfcRepresentation_type, 0)->as(); } @@ -20715,9 +20715,9 @@ Ifc4x3_rc3::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc3::IfcAxis2Pla // Function implementations for IfcResource boost::optional< std::string > Ifc4x3_rc3::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToResource::list::ptr Ifc4x3_rc3::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToResource_type, 6)->as(); } @@ -20752,9 +20752,9 @@ Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcResourceLevelRelationship::declaration() const { return *IFC4X3_RC3_IfcResourceLevelRelationship_type; } @@ -20764,35 +20764,35 @@ Ifc4x3_rc3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::op // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc3::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc3::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc3::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc3::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc3::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcResourceTime::declaration() const { return *IFC4X3_RC3_IfcResourceTime_type; } @@ -20848,7 +20848,7 @@ Ifc4x3_rc3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc3::Ifc // Function implementations for IfcRoad boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > Ifc4x3_rc3::IfcRoad::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRoadTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRoadTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRoadTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRoad::declaration() const { return *IFC4X3_RC3_IfcRoad_type; } @@ -20858,7 +20858,7 @@ Ifc4x3_rc3::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcRoof boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > Ifc4x3_rc3::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRoof::declaration() const { return *IFC4X3_RC3_IfcRoof_type; } @@ -20882,9 +20882,9 @@ void Ifc4x3_rc3::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgume ::Ifc4x3_rc3::IfcOwnerHistory* Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcOwnerHistory>(true); } void Ifc4x3_rc3::IfcRoot::setOwnerHistory(::Ifc4x3_rc3::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcRoot::declaration() const { return *IFC4X3_RC3_IfcRoot_type; } @@ -20904,7 +20904,7 @@ Ifc4x3_rc3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x // Function implementations for IfcSIUnit boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > Ifc4x3_rc3::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc3::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcSIUnitName::Value Ifc4x3_rc3::IfcSIUnit::Name() const { return ::Ifc4x3_rc3::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x3_rc3::IfcSIUnit::setName(::Ifc4x3_rc3::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -20916,7 +20916,7 @@ Ifc4x3_rc3::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, b // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc3::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSanitaryTerminal::declaration() const { return *IFC4X3_RC3_IfcSanitaryTerminal_type; } @@ -20936,11 +20936,11 @@ Ifc4x3_rc3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_Glob // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > Ifc4x3_rc3::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x3_rc3::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSchedulingTime::declaration() const { return *IFC4X3_RC3_IfcSchedulingTime_type; } @@ -20960,9 +20960,9 @@ Ifc4x3_rc3::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggre double Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC3_IfcSecondOrderPolynomialSpiral_type; } @@ -20990,7 +20990,7 @@ void Ifc4x3_rc3::IfcSectionReinforcementProperties::setLongitudinalStartPosition double Ifc4x3_rc3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcSectionProperties* Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSectionProperties>(true); } @@ -21083,7 +21083,7 @@ Ifc4x3_rc3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< // Function implementations for IfcSensor boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > Ifc4x3_rc3::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSensor::declaration() const { return *IFC4X3_RC3_IfcSensor_type; } @@ -21103,7 +21103,7 @@ Ifc4x3_rc3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcShadingDevice boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcShadingDevice::declaration() const { return *IFC4X3_RC3_IfcShadingDevice_type; } @@ -21125,9 +21125,9 @@ Ifc4x3_rc3::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr Ifc4x3_rc3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc3::IfcShapeModel >(); } void Ifc4x3_rc3::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcProductRepresentationSelect* Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(true); } @@ -21169,7 +21169,7 @@ Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_in // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > Ifc4x3_rc3::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSignTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSignTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSign::declaration() const { return *IFC4X3_RC3_IfcSign_type; } @@ -21189,7 +21189,7 @@ Ifc4x3_rc3::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcSignal boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > Ifc4x3_rc3::IfcSignal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSignalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSignalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSignal::declaration() const { return *IFC4X3_RC3_IfcSignal_type; } @@ -21217,11 +21217,11 @@ Ifc4x3_rc3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::opt // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc3::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcUnit>(true); } @@ -21229,9 +21229,9 @@ void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc3::IfcUnit ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc3::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSimplePropertyTemplate::declaration() const { return *IFC4X3_RC3_IfcSimplePropertyTemplate_type; } @@ -21253,13 +21253,13 @@ Ifc4x3_rc3::IfcSine::IfcSine(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, doubl // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } void Ifc4x3_rc3::IfcSite::setSiteAddress(::Ifc4x3_rc3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21271,7 +21271,7 @@ Ifc4x3_rc3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcSlab boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > Ifc4x3_rc3::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSlab::declaration() const { return *IFC4X3_RC3_IfcSlab_type; } @@ -21307,11 +21307,11 @@ Ifc4x3_rc3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSlippageConnectionCondition::declaration() const { return *IFC4X3_RC3_IfcSlippageConnectionCondition_type; } @@ -21321,7 +21321,7 @@ Ifc4x3_rc3::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost // Function implementations for IfcSolarDevice boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSolarDevice::declaration() const { return *IFC4X3_RC3_IfcSolarDevice_type; } @@ -21357,9 +21357,9 @@ Ifc4x3_rc3::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcSpace boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > Ifc4x3_rc3::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc3::IfcRelCoversSpaces::list::ptr Ifc4x3_rc3::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X3_RC3_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x3_rc3::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc3::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X3_RC3_IfcRelSpaceBoundary_type, 4)->as(); } @@ -21371,7 +21371,7 @@ Ifc4x3_rc3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc3::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceHeater::declaration() const { return *IFC4X3_RC3_IfcSpaceHeater_type; } @@ -21393,7 +21393,7 @@ Ifc4x3_rc3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::If ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value Ifc4x3_rc3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcSpaceType::setPredefinedType(::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceType::declaration() const { return *IFC4X3_RC3_IfcSpaceType_type; } @@ -21403,7 +21403,7 @@ Ifc4x3_rc3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc3::If // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4x3_rc3::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc3::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X3_RC3_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x3_rc3::IfcRelServicesBuildings::list::ptr Ifc4x3_rc3::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X3_RC3_IfcRelServicesBuildings_type, 5)->as(); } @@ -21416,7 +21416,7 @@ Ifc4x3_rc3::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4x3_rc3::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElementType::declaration() const { return *IFC4X3_RC3_IfcSpatialElementType_type; } @@ -21426,7 +21426,7 @@ Ifc4x3_rc3::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > Ifc4x3_rc3::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialStructureElement::declaration() const { return *IFC4X3_RC3_IfcSpatialStructureElement_type; } @@ -21444,7 +21444,7 @@ Ifc4x3_rc3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std:: // Function implementations for IfcSpatialZone boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc3::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialZone::declaration() const { return *IFC4X3_RC3_IfcSpatialZone_type; } @@ -21456,7 +21456,7 @@ Ifc4x3_rc3::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc3 ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialZoneType::declaration() const { return *IFC4X3_RC3_IfcSpatialZoneType_type; } @@ -21496,7 +21496,7 @@ Ifc4x3_rc3::IfcSpiral::IfcSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position) : // Function implementations for IfcStackTerminal boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc3::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStackTerminal::declaration() const { return *IFC4X3_RC3_IfcStackTerminal_type; } @@ -21516,7 +21516,7 @@ Ifc4x3_rc3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, // Function implementations for IfcStair boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > Ifc4x3_rc3::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStair::declaration() const { return *IFC4X3_RC3_IfcStair_type; } @@ -21526,15 +21526,15 @@ Ifc4x3_rc3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi // Function implementations for IfcStairFlight boost::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > Ifc4x3_rc3::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc3::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStairFlight::declaration() const { return *IFC4X3_RC3_IfcStairFlight_type; } @@ -21564,7 +21564,7 @@ Ifc4x3_rc3::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc3::If // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4x3_rc3::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralAction::declaration() const { return *IFC4X3_RC3_IfcStructuralAction_type; } @@ -21591,9 +21591,9 @@ void Ifc4x3_rc3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc3::Ifc ::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadGroup >(); } -void Ifc4x3_rc3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc3::IfcStructuralResultGroup >(); } -void Ifc4x3_rc3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21616,7 +21616,7 @@ Ifc4x3_rc3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_Glob // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4x3_rc3::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnectionCondition::declaration() const { return *IFC4X3_RC3_IfcStructuralConnectionCondition_type; } @@ -21626,7 +21626,7 @@ Ifc4x3_rc3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(b // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc3::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21695,7 +21695,7 @@ Ifc4x3_rc3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_ // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4x3_rc3::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoad::declaration() const { return *IFC4X3_RC3_IfcStructuralLoad_type; } @@ -21705,7 +21705,7 @@ Ifc4x3_rc3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadCase::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadCase_type; } @@ -21717,7 +21717,7 @@ Ifc4x3_rc3::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc3::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadConfiguration_type; } @@ -21733,9 +21733,9 @@ void Ifc4x3_rc3::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc3::IfcActionTy ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc3::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcStructuralResultGroup::list::ptr Ifc4x3_rc3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X3_RC3_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x3_rc3::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc3::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X3_RC3_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -21747,17 +21747,17 @@ Ifc4x3_rc3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_Global // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadLinearForce_type; } @@ -21775,11 +21775,11 @@ Ifc4x3_rc3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadPlanarForce_type; } @@ -21789,17 +21789,17 @@ Ifc4x3_rc3::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::op // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadSingleDisplacement_type; } @@ -21809,7 +21809,7 @@ Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplace // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -21819,17 +21819,17 @@ Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSing // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadSingleForce_type; } @@ -21839,7 +21839,7 @@ Ifc4x3_rc3::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::op // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadSingleForceWarping_type; } @@ -21857,11 +21857,11 @@ Ifc4x3_rc3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< st // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::declaration() const { return *IFC4X3_RC3_IfcStructuralLoadTemperature_type; } @@ -21937,7 +21937,7 @@ Ifc4x3_rc3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Gl // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc3::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21959,7 +21959,7 @@ Ifc4x3_rc3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std:: ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceMember::declaration() const { return *IFC4X3_RC3_IfcStructuralSurfaceMember_type; } @@ -21999,7 +21999,7 @@ void Ifc4x3_rc3::IfcStyledItem::setItem(::Ifc4x3_rc3::IfcRepresentationItem* v) aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr Ifc4x3_rc3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcPresentationStyle >(); } void Ifc4x3_rc3::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcStyledItem::declaration() const { return *IFC4X3_RC3_IfcStyledItem_type; } @@ -22017,7 +22017,7 @@ Ifc4x3_rc3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc3::IfcRe // Function implementations for IfcSubContractResource boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc3::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSubContractResource::declaration() const { return *IFC4X3_RC3_IfcSubContractResource_type; } @@ -22079,7 +22079,7 @@ Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc3::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceFeature::declaration() const { return *IFC4X3_RC3_IfcSurfaceFeature_type; } @@ -22111,11 +22111,11 @@ Ifc4x3_rc3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc3::IfcProf // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X3_RC3_IfcSurfaceReinforcementArea_type; } @@ -22153,9 +22153,9 @@ Ifc4x3_rc3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc3::IfcCo // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X3_RC3_IfcSurfaceStyleRefraction_type; } @@ -22189,7 +22189,7 @@ Ifc4x3_rc3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc3::Ifc ::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleShading::declaration() const { return *IFC4X3_RC3_IfcSurfaceStyleShading_type; } @@ -22213,11 +22213,11 @@ void Ifc4x3_rc3::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgu bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc3::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcTextureCoordinate::list::ptr Ifc4x3_rc3::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X3_RC3_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x3_rc3::IfcSurfaceStyleWithTextures::list::ptr Ifc4x3_rc3::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X3_RC3_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -22245,11 +22245,11 @@ void Ifc4x3_rc3::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { {I double Ifc4x3_rc3::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSweptDiskSolid::declaration() const { return *IFC4X3_RC3_IfcSweptDiskSolid_type; } @@ -22259,7 +22259,7 @@ Ifc4x3_rc3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc3::IfcCurve* v1_Dire // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X3_RC3_IfcSweptDiskSolidPolygonal_type; } @@ -22281,7 +22281,7 @@ Ifc4x3_rc3::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc3::IfcProfileDef* v1_Swe // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSwitchingDevice::declaration() const { return *IFC4X3_RC3_IfcSwitchingDevice_type; } @@ -22311,7 +22311,7 @@ Ifc4x3_rc3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSystemFurnitureElement::declaration() const { return *IFC4X3_RC3_IfcSystemFurnitureElement_type; } @@ -22321,7 +22321,7 @@ Ifc4x3_rc3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_ // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcSystemFurnitureElementType::declaration() const { return *IFC4X3_RC3_IfcSystemFurnitureElementType_type; } @@ -22339,15 +22339,15 @@ void Ifc4x3_rc3::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc3::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcTShapeProfileDef_type; } @@ -22357,11 +22357,11 @@ Ifc4x3_rc3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc3::IfcProfileTyp // Function implementations for IfcTable boost::optional< std::string > Ifc4x3_rc3::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > Ifc4x3_rc3::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcTableRow >(); } -void Ifc4x3_rc3::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > Ifc4x3_rc3::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcTableColumn >(); } -void Ifc4x3_rc3::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTable::declaration() const { return *IFC4X3_RC3_IfcTable_type; } @@ -22371,11 +22371,11 @@ Ifc4x3_rc3::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::op // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcTableColumn::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } @@ -22389,9 +22389,9 @@ Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Ide // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::declaration() const { return *IFC4X3_RC3_IfcTableRow_type; } @@ -22401,7 +22401,7 @@ Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > Ifc4x3_rc3::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTank::declaration() const { return *IFC4X3_RC3_IfcTank_type; } @@ -22421,17 +22421,17 @@ Ifc4x3_rc3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcTask boost::optional< std::string > Ifc4x3_rc3::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x3_rc3::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc3::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc3::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc3::IfcTaskTime* Ifc4x3_rc3::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcTaskTime>(true); } void Ifc4x3_rc3::IfcTask::setTaskTime(::Ifc4x3_rc3::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > Ifc4x3_rc3::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc3::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTask::declaration() const { return *IFC4X3_RC3_IfcTask_type; } @@ -22441,39 +22441,39 @@ Ifc4x3_rc3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcTaskTime boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > Ifc4x3_rc3::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc3::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4x3_rc3::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4x3_rc3::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc3::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4x3_rc3::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc3::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTaskTime::declaration() const { return *IFC4X3_RC3_IfcTaskTime_type; } @@ -22495,7 +22495,7 @@ Ifc4x3_rc3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::str ::Ifc4x3_rc3::IfcTaskTypeEnum::Value Ifc4x3_rc3::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcTaskType::setPredefinedType(::Ifc4x3_rc3::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTaskType::declaration() const { return *IFC4X3_RC3_IfcTaskType_type; } @@ -22505,17 +22505,17 @@ Ifc4x3_rc3::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTelecomAddress::declaration() const { return *IFC4X3_RC3_IfcTelecomAddress_type; } @@ -22525,21 +22525,21 @@ Ifc4x3_rc3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc3:: // Function implementations for IfcTendon boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > Ifc4x3_rc3::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTendon::declaration() const { return *IFC4X3_RC3_IfcTendon_type; } @@ -22549,7 +22549,7 @@ Ifc4x3_rc3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc3::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTendonAnchor::declaration() const { return *IFC4X3_RC3_IfcTendonAnchor_type; } @@ -22591,11 +22591,11 @@ Ifc4x3_rc3::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value Ifc4x3_rc3::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc3::IfcTendonType::setPredefinedType(::Ifc4x3_rc3::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc3::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTendonType::declaration() const { return *IFC4X3_RC3_IfcTendonType_type; } @@ -22657,7 +22657,7 @@ void Ifc4x3_rc3::IfcTextStyle::setTextStyle(::Ifc4x3_rc3::IfcTextStyleTextModel* ::Ifc4x3_rc3::IfcTextFontSelect* Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTextFontSelect>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc3::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyle::declaration() const { return *IFC4X3_RC3_IfcTextStyle_type; } @@ -22669,11 +22669,11 @@ Ifc4x3_rc3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, : std::vector< std::string > /*[1:?]*/ Ifc4x3_rc3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22699,15 +22699,15 @@ Ifc4x3_rc3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc3: ::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22731,7 +22731,7 @@ Ifc4x3_rc3::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc std::string Ifc4x3_rc3::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc3::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X3_RC3_IfcTextureCoordinateGenerator_type; } @@ -22775,11 +22775,11 @@ Ifc4x3_rc3::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QubicTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setQubicTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC3_IfcThirdOrderPolynomialSpiral_type; } @@ -22803,7 +22803,7 @@ Ifc4x3_rc3::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v std::string Ifc4x3_rc3::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4x3_rc3::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4x3_rc3::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -22813,7 +22813,7 @@ void Ifc4x3_rc3::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc3::IfcTimeSerie ::Ifc4x3_rc3::IfcDataOriginEnum::Value Ifc4x3_rc3::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc3::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc3::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcTimeSeries::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -22864,7 +22864,7 @@ Ifc4x3_rc3::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc3::IfcAxis2Placeme // Function implementations for IfcTrackElement boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > Ifc4x3_rc3::IfcTrackElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTrackElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTrackElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTrackElement::declaration() const { return *IFC4X3_RC3_IfcTrackElement_type; } @@ -22884,7 +22884,7 @@ Ifc4x3_rc3::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, :: // Function implementations for IfcTransformer boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > Ifc4x3_rc3::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTransformer::declaration() const { return *IFC4X3_RC3_IfcTransformer_type; } @@ -22940,13 +22940,13 @@ Ifc4x3_rc3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc3::IfcProf // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4x3_rc3::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc3::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc3::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc3::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4x3_rc3::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTriangulatedFaceSet::declaration() const { return *IFC4X3_RC3_IfcTriangulatedFaceSet_type; } @@ -22984,7 +22984,7 @@ Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCur // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc3::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcTubeBundle::declaration() const { return *IFC4X3_RC3_IfcTubeBundle_type; } @@ -23004,9 +23004,9 @@ Ifc4x3_rc3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4x3_rc3::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > Ifc4x3_rc3::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } -void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcRelDefinesByType::list::ptr Ifc4x3_rc3::IfcTypeObject::Types() const { return data_->getInverse(IFC4X3_RC3_IfcRelDefinesByType_type, 5)->as(); } @@ -23017,11 +23017,11 @@ Ifc4x3_rc3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc3::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToProcess_type, 6)->as(); } @@ -23032,9 +23032,9 @@ Ifc4x3_rc3::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > Ifc4x3_rc3::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc3::IfcRepresentationMap >(); } -void Ifc4x3_rc3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc3::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToProduct_type, 6)->as(); } @@ -23045,11 +23045,11 @@ Ifc4x3_rc3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToResource::list::ptr Ifc4x3_rc3::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToResource_type, 6)->as(); } @@ -23068,11 +23068,11 @@ void Ifc4x3_rc3::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc3::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcUShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcUShapeProfileDef_type; } @@ -23092,7 +23092,7 @@ Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_U // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryControlElement::declaration() const { return *IFC4X3_RC3_IfcUnitaryControlElement_type; } @@ -23112,7 +23112,7 @@ Ifc4x3_rc3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::stri // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryEquipment::declaration() const { return *IFC4X3_RC3_IfcUnitaryEquipment_type; } @@ -23132,7 +23132,7 @@ Ifc4x3_rc3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_Glob // Function implementations for IfcValve boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > Ifc4x3_rc3::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcValve::declaration() const { return *IFC4X3_RC3_IfcValve_type; } @@ -23192,7 +23192,7 @@ Ifc4x3_rc3::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc3::IfcPoint* v1_VertexGeom // Function implementations for IfcVibrationDamper boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationDamper::declaration() const { return *IFC4X3_RC3_IfcVibrationDamper_type; } @@ -23202,7 +23202,7 @@ Ifc4x3_rc3::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::If // Function implementations for IfcVibrationDamperType boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamperType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc3::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationDamperType::declaration() const { return *IFC4X3_RC3_IfcVibrationDamperType_type; } @@ -23212,7 +23212,7 @@ Ifc4x3_rc3::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_Global // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc3::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationIsolator::declaration() const { return *IFC4X3_RC3_IfcVibrationIsolator_type; } @@ -23276,7 +23276,7 @@ Ifc4x3_rc3::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc3::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcVoidingFeature::declaration() const { return *IFC4X3_RC3_IfcVoidingFeature_type; } @@ -23286,7 +23286,7 @@ Ifc4x3_rc3::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcWall boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > Ifc4x3_rc3::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWall::declaration() const { return *IFC4X3_RC3_IfcWall_type; } @@ -23322,7 +23322,7 @@ Ifc4x3_rc3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc3::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWasteTerminal::declaration() const { return *IFC4X3_RC3_IfcWasteTerminal_type; } @@ -23350,15 +23350,15 @@ Ifc4x3_rc3::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcWindow boost::optional< double > Ifc4x3_rc3::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > Ifc4x3_rc3::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc3::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc3::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc3::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWindow::declaration() const { return *IFC4X3_RC3_IfcWindow_type; } @@ -23368,29 +23368,29 @@ Ifc4x3_rc3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWindowLiningProperties::declaration() const { return *IFC4X3_RC3_IfcWindowLiningProperties_type; } @@ -23404,9 +23404,9 @@ void Ifc4x3_rc3::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc3::IfcWin ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23446,9 +23446,9 @@ void Ifc4x3_rc3::IfcWindowType::setPredefinedType(::Ifc4x3_rc3::IfcWindowTypeEnu ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc3::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc3::IfcWindowType::setPartitioningType(::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc3::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc3::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWindowType::declaration() const { return *IFC4X3_RC3_IfcWindowType_type; } @@ -23458,11 +23458,11 @@ Ifc4x3_rc3::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > Ifc4x3_rc3::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc3::IfcWorkTime >(); } -void Ifc4x3_rc3::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc3::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > Ifc4x3_rc3::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcWorkTime >(); } -void Ifc4x3_rc3::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc3::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc3::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkCalendar::declaration() const { return *IFC4X3_RC3_IfcWorkCalendar_type; } @@ -23474,17 +23474,17 @@ Ifc4x3_rc3::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_r std::string Ifc4x3_rc3::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } -void Ifc4x3_rc3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc3::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc3::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc3::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc3::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4x3_rc3::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x3_rc3::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc3::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc3::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkControl::declaration() const { return *IFC4X3_RC3_IfcWorkControl_type; } @@ -23494,7 +23494,7 @@ Ifc4x3_rc3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc3 // Function implementations for IfcWorkPlan boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc3::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc3::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkPlan::declaration() const { return *IFC4X3_RC3_IfcWorkPlan_type; } @@ -23504,7 +23504,7 @@ Ifc4x3_rc3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc3::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc3::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc3::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkSchedule::declaration() const { return *IFC4X3_RC3_IfcWorkSchedule_type; } @@ -23516,9 +23516,9 @@ Ifc4x3_rc3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_r ::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } void Ifc4x3_rc3::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc3::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc3::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc3::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkTime::declaration() const { return *IFC4X3_RC3_IfcWorkTime_type; } @@ -23536,9 +23536,9 @@ void Ifc4x3_rc3::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc3::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcZShapeProfileDef::declaration() const { return *IFC4X3_RC3_IfcZShapeProfileDef_type; } @@ -23548,7 +23548,7 @@ Ifc4x3_rc3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc3::IfcProfileTyp // Function implementations for IfcZone boost::optional< std::string > Ifc4x3_rc3::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc3::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc3::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc3::IfcZone::declaration() const { return *IFC4X3_RC3_IfcZone_type; } diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index f946e3f4c4..64058b2c9d 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -13148,11 +13148,11 @@ Ifc4x3_rc4::IfcWarpingMomentMeasure::operator double() const { return *data_->ge // Function implementations for IfcActionRequest boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > Ifc4x3_rc4::IfcActionRequest::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActionRequestTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcActionRequestTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcActionRequestTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcActionRequest::declaration() const { return *IFC4X3_RC4_IfcActionRequest_type; } @@ -13175,9 +13175,9 @@ Ifc4x3_rc4::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi ::Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcActorRole::Role() const { return ::Ifc4x3_rc4::IfcRoleEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcActorRole::setRole(::Ifc4x3_rc4::IfcRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRoleEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::UserDefinedRole() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcActorRole::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcActorRole::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13188,7 +13188,7 @@ Ifc4x3_rc4::IfcActorRole::IfcActorRole(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, // Function implementations for IfcActuator boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > Ifc4x3_rc4::IfcActuator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcActuatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcActuatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcActuator::declaration() const { return *IFC4X3_RC4_IfcActuator_type; } @@ -13208,11 +13208,11 @@ Ifc4x3_rc4::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcAddress boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Ifc4x3_rc4::IfcAddress::Purpose() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAddressTypeEnum::FromString(*data_->getArgument(0)); } -void Ifc4x3_rc4::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAddressTypeEnum::ToString(*v)));data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAddressTypeEnum::ToString(*v)));}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAddress::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcAddress::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAddress::UserDefinedPurpose() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcPerson::list::ptr Ifc4x3_rc4::IfcAddress::OfPerson() const { return data_->getInverse(IFC4X3_RC4_IfcPerson_type, 7)->as(); } ::Ifc4x3_rc4::IfcOrganization::list::ptr Ifc4x3_rc4::IfcAddress::OfOrganization() const { return data_->getInverse(IFC4X3_RC4_IfcOrganization_type, 4)->as(); } @@ -13250,7 +13250,7 @@ Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc4::IfcFace // Function implementations for IfcAirTerminal boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminal::declaration() const { return *IFC4X3_RC4_IfcAirTerminal_type; } @@ -13260,7 +13260,7 @@ Ifc4x3_rc4::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcAirTerminalBox boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminalBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBox::declaration() const { return *IFC4X3_RC4_IfcAirTerminalBox_type; } @@ -13290,7 +13290,7 @@ Ifc4x3_rc4::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::If // Function implementations for IfcAirToAirHeatRecovery boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecovery::declaration() const { return *IFC4X3_RC4_IfcAirToAirHeatRecovery_type; } @@ -13310,7 +13310,7 @@ Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string // Function implementations for IfcAlarm boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > Ifc4x3_rc4::IfcAlarm::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAlarmTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAlarmTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlarm::declaration() const { return *IFC4X3_RC4_IfcAlarm_type; } @@ -13330,7 +13330,7 @@ Ifc4x3_rc4::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc4::If // Function implementations for IfcAlignment boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > Ifc4x3_rc4::IfcAlignment::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlignmentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAlignmentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAlignmentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlignment::declaration() const { return *IFC4X3_RC4_IfcAlignment_type; } @@ -13356,11 +13356,11 @@ void Ifc4x3_rc4::IfcAlignmentCantSegment::setHorizontalLength(double v) { {IfcWr double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantLeft() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartCantLeft(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantLeft() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantRight() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartCantRight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantRight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13390,7 +13390,7 @@ void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13402,9 +13402,9 @@ Ifc4x3_rc4::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost:: // Function implementations for IfcAlignmentParameterSegment boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::StartTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::EndTag() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentParameterSegment::declaration() const { return *IFC4X3_RC4_IfcAlignmentParameterSegment_type; } @@ -13442,7 +13442,7 @@ void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartGradient(double v) { {IfcW double Ifc4x3_rc4::IfcAlignmentVerticalSegment::EndGradient() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setEndGradient(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -13454,7 +13454,7 @@ Ifc4x3_rc4::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(boost::opti // Function implementations for IfcAnnotation boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAnnotationTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAnnotationTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IFC4X3_RC4_IfcRelContainedInSpatialStructure_type, 4)->as(); } @@ -13467,7 +13467,7 @@ Ifc4x3_rc4::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc4:: ::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } -void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotationFillArea::declaration() const { return *IFC4X3_RC4_IfcAnnotationFillArea_type; } @@ -13493,25 +13493,25 @@ Ifc4x3_rc4::IfcApplication::IfcApplication(::Ifc4x3_rc4::IfcOrganization* v1_App // Function implementations for IfcAppliedValue boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcAppliedValueSelect* Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAppliedValueSelect>(true); } void Ifc4x3_rc4::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc4::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Category() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Condition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc4::IfcAppliedValue::ArithmeticOperator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcArithmeticOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcAppliedValue::Components() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } -void Ifc4x3_rc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13522,19 +13522,19 @@ Ifc4x3_rc4::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_N // Function implementations for IfcApproval boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcApproval::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::TimeOfApproval() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Status() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcApproval::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Level() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcApproval::setRequestingApproval(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } @@ -13595,7 +13595,7 @@ Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc4::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } @@ -13609,7 +13609,7 @@ void Ifc4x3_rc4::IfcAsset::setUser(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite: ::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcPerson>(true); } void Ifc4x3_rc4::IfcAsset::setResponsiblePerson(::Ifc4x3_rc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setDepreciatedValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13629,21 +13629,21 @@ void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { {Ifc double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcAsymmetricIShapeProfileDef_type; } @@ -13653,7 +13653,7 @@ Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x // Function implementations for IfcAudioVisualAppliance boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc4::IfcAudioVisualAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualAppliance::declaration() const { return *IFC4X3_RC4_IfcAudioVisualAppliance_type; } @@ -13789,7 +13789,7 @@ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegre // Function implementations for IfcBeam boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > Ifc4x3_rc4::IfcBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBeam::declaration() const { return *IFC4X3_RC4_IfcBeam_type; } @@ -13817,7 +13817,7 @@ Ifc4x3_rc4::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcBearing boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > Ifc4x3_rc4::IfcBearing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBearingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBearingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBearing::declaration() const { return *IFC4X3_RC4_IfcBearing_type; } @@ -13863,7 +13863,7 @@ Ifc4x3_rc4::IfcBlock::IfcBlock(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, d // Function implementations for IfcBoiler boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > Ifc4x3_rc4::IfcBoiler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBoilerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBoilerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoiler::declaration() const { return *IFC4X3_RC4_IfcBoiler_type; } @@ -13913,7 +13913,7 @@ Ifc4x3_rc4::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcBoundaryCondition boost::optional< std::string > Ifc4x3_rc4::IfcBoundaryCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCondition::declaration() const { return *IFC4X3_RC4_IfcBoundaryCondition_type; } @@ -14037,7 +14037,7 @@ Ifc4x3_rc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_Ba // Function implementations for IfcBridge boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > Ifc4x3_rc4::IfcBridge::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBridgeTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBridgeTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBridge::declaration() const { return *IFC4X3_RC4_IfcBridge_type; } @@ -14047,9 +14047,9 @@ Ifc4x3_rc4::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner // Function implementations for IfcBuilding boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } void Ifc4x3_rc4::IfcBuilding::setBuildingAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14061,7 +14061,7 @@ Ifc4x3_rc4::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcBuildingElementPart boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementPart::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPart::declaration() const { return *IFC4X3_RC4_IfcBuildingElementPart_type; } @@ -14081,7 +14081,7 @@ Ifc4x3_rc4::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v // Function implementations for IfcBuildingElementProxy boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementProxy::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxy::declaration() const { return *IFC4X3_RC4_IfcBuildingElementProxy_type; } @@ -14101,7 +14101,7 @@ Ifc4x3_rc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string // Function implementations for IfcBuildingStorey boost::optional< double > Ifc4x3_rc4::IfcBuildingStorey::Elevation() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingStorey::declaration() const { return *IFC4X3_RC4_IfcBuildingStorey_type; } @@ -14111,9 +14111,9 @@ Ifc4x3_rc4::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcBuildingSystem boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuildingSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcBuildingSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingSystem::declaration() const { return *IFC4X3_RC4_IfcBuildingSystem_type; } @@ -14139,9 +14139,9 @@ Ifc4x3_rc4::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, :: // Function implementations for IfcBuiltSystem boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuiltSystem::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcBuiltSystem::LongName() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltSystem::declaration() const { return *IFC4X3_RC4_IfcBuiltSystem_type; } @@ -14151,7 +14151,7 @@ Ifc4x3_rc4::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcBurner boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > Ifc4x3_rc4::IfcBurner::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBurnerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcBurnerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcBurner::declaration() const { return *IFC4X3_RC4_IfcBurner_type; } @@ -14179,7 +14179,7 @@ void Ifc4x3_rc4::IfcCShapeProfileDef::setWallThickness(double v) { {IfcWrite::If double Ifc4x3_rc4::IfcCShapeProfileDef::Girth() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setGirth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcCShapeProfileDef_type; } @@ -14189,7 +14189,7 @@ Ifc4x3_rc4::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc4::IfcProfileTyp // Function implementations for IfcCableCarrierFitting boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFitting::declaration() const { return *IFC4X3_RC4_IfcCableCarrierFitting_type; } @@ -14209,7 +14209,7 @@ Ifc4x3_rc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v // Function implementations for IfcCableCarrierSegment boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegment::declaration() const { return *IFC4X3_RC4_IfcCableCarrierSegment_type; } @@ -14229,7 +14229,7 @@ Ifc4x3_rc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v // Function implementations for IfcCableFitting boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableFitting::declaration() const { return *IFC4X3_RC4_IfcCableFitting_type; } @@ -14249,7 +14249,7 @@ Ifc4x3_rc4::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, :: // Function implementations for IfcCableSegment boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCableSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegment::declaration() const { return *IFC4X3_RC4_IfcCableSegment_type; } @@ -14269,7 +14269,7 @@ Ifc4x3_rc4::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, :: // Function implementations for IfcCaissonFoundation boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc4::IfcCaissonFoundation::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundation::declaration() const { return *IFC4X3_RC4_IfcCaissonFoundation_type; } @@ -14309,7 +14309,7 @@ Ifc4x3_rc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricReprese std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList2D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList2D::declaration() const { return *IFC4X3_RC4_IfcCartesianPointList2D_type; } @@ -14321,7 +14321,7 @@ Ifc4x3_rc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::v std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList3D::TagList() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList3D::declaration() const { return *IFC4X3_RC4_IfcCartesianPointList3D_type; } @@ -14337,7 +14337,7 @@ void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc4::IfcD ::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator::declaration() const { return *IFC4X3_RC4_IfcCartesianTransformationOperator_type; } @@ -14355,7 +14355,7 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator2DnonUniform boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *IFC4X3_RC4_IfcCartesianTransformationOperator2DnonUniform_type; } @@ -14375,9 +14375,9 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOper // Function implementations for IfcCartesianTransformationOperator3DnonUniform boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *IFC4X3_RC4_IfcCartesianTransformationOperator3DnonUniform_type; } @@ -14397,7 +14397,7 @@ Ifc4x3_rc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc4::IfcPr // Function implementations for IfcChiller boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > Ifc4x3_rc4::IfcChiller::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChillerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChillerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcChiller::declaration() const { return *IFC4X3_RC4_IfcChiller_type; } @@ -14417,7 +14417,7 @@ Ifc4x3_rc4::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcChimney boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > Ifc4x3_rc4::IfcChimney::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChimneyTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChimneyTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcChimney::declaration() const { return *IFC4X3_RC4_IfcChimney_type; } @@ -14483,19 +14483,19 @@ Ifc4x3_rc4::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, :: // Function implementations for IfcClassification boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Source() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcClassification::setSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Edition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcClassification::setEdition(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::string Ifc4x3_rc4::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcClassification::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Location() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcClassification::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcClassification::ReferenceTokens() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc4::IfcClassification::ClassificationForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc4::IfcClassificationReference::list::ptr Ifc4x3_rc4::IfcClassification::HasReferences() const { return data_->getInverse(IFC4X3_RC4_IfcClassificationReference_type, 3)->as(); } @@ -14509,9 +14509,9 @@ Ifc4x3_rc4::IfcClassification::IfcClassification(boost::optional< std::string > ::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc4::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc4::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Sort() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc4::IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesClassification_type, 5)->as(); } ::Ifc4x3_rc4::IfcClassificationReference::list::ptr Ifc4x3_rc4::IfcClassificationReference::HasReferences() const { return data_->getInverse(IFC4X3_RC4_IfcClassificationReference_type, 3)->as(); } @@ -14541,7 +14541,7 @@ Ifc4x3_rc4::IfcClothoid::IfcClothoid(::Ifc4x3_rc4::IfcAxis2Placement* v1_Positio // Function implementations for IfcCoil boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > Ifc4x3_rc4::IfcCoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoil::declaration() const { return *IFC4X3_RC4_IfcCoil_type; } @@ -14585,7 +14585,7 @@ Ifc4x3_rc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double // Function implementations for IfcColourSpecification boost::optional< std::string > Ifc4x3_rc4::IfcColourSpecification::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcColourSpecification::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcColourSpecification::declaration() const { return *IFC4X3_RC4_IfcColourSpecification_type; } @@ -14595,7 +14595,7 @@ Ifc4x3_rc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std: // Function implementations for IfcColumn boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > Ifc4x3_rc4::IfcColumn::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcColumnTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcColumnTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcColumn::declaration() const { return *IFC4X3_RC4_IfcColumn_type; } @@ -14623,7 +14623,7 @@ Ifc4x3_rc4::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcCommunicationsAppliance boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcCommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsAppliance::declaration() const { return *IFC4X3_RC4_IfcCommunicationsAppliance_type; } @@ -14655,11 +14655,11 @@ Ifc4x3_rc4::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::o // Function implementations for IfcComplexPropertyTemplate boost::optional< std::string > Ifc4x3_rc4::IfcComplexPropertyTemplate::UsageName() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcComplexPropertyTemplate::TemplateType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::declaration() const { return *IFC4X3_RC4_IfcComplexPropertyTemplate_type; } @@ -14703,7 +14703,7 @@ Ifc4x3_rc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc4::Ifc aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCompositeProfileDef::Label() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeProfileDef::declaration() const { return *IFC4X3_RC4_IfcCompositeProfileDef_type; } @@ -14713,7 +14713,7 @@ Ifc4x3_rc4::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc4::IfcProf // Function implementations for IfcCompressor boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > Ifc4x3_rc4::IfcCompressor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCompressorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCompressorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompressor::declaration() const { return *IFC4X3_RC4_IfcCompressor_type; } @@ -14733,7 +14733,7 @@ Ifc4x3_rc4::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCondenser boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > Ifc4x3_rc4::IfcCondenser::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCondenserTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCondenserTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCondenser::declaration() const { return *IFC4X3_RC4_IfcCondenser_type; } @@ -14793,11 +14793,11 @@ Ifc4x3_rc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEnt // Function implementations for IfcConnectionPointEccentricity boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionPointEccentricity::declaration() const { return *IFC4X3_RC4_IfcConnectionPointEccentricity_type; } @@ -14845,17 +14845,17 @@ Ifc4x3_rc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc std::string Ifc4x3_rc4::IfcConstraint::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcConstraint::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcConstraintEnum::Value Ifc4x3_rc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc4::IfcConstraintEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc4::IfcConstraint::setConstraintGrade(::Ifc4x3_rc4::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcConstraint::setCreatingActor(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcConstraint::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcResourceConstraintRelationship::list::ptr Ifc4x3_rc4::IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IFC4X3_RC4_IfcResourceConstraintRelationship_type, 2)->as(); } @@ -14867,7 +14867,7 @@ Ifc4x3_rc4::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< s // Function implementations for IfcConstructionEquipmentResource boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionEquipmentResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResource::declaration() const { return *IFC4X3_RC4_IfcConstructionEquipmentResource_type; } @@ -14887,7 +14887,7 @@ Ifc4x3_rc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResour // Function implementations for IfcConstructionMaterialResource boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionMaterialResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResource::declaration() const { return *IFC4X3_RC4_IfcConstructionMaterialResource_type; } @@ -14907,7 +14907,7 @@ Ifc4x3_rc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResource // Function implementations for IfcConstructionProductResource boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionProductResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResource::declaration() const { return *IFC4X3_RC4_IfcConstructionProductResource_type; } @@ -14929,7 +14929,7 @@ Ifc4x3_rc4::IfcConstructionProductResourceType::IfcConstructionProductResourceTy ::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcResourceTime>(true); } void Ifc4x3_rc4::IfcConstructionResource::setUsage(::Ifc4x3_rc4::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } -void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } void Ifc4x3_rc4::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14941,7 +14941,7 @@ Ifc4x3_rc4::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } -void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14953,13 +14953,13 @@ Ifc4x3_rc4::IfcConstructionResourceType::IfcConstructionResourceType(std::string // Function implementations for IfcContext boost::optional< std::string > Ifc4x3_rc4::IfcContext::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcContext::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcContext::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcContext::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcContext::Phase() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > Ifc4x3_rc4::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcRepresentationContext >(); } -void Ifc4x3_rc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcUnitAssignment* Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcUnitAssignment>(true); } void Ifc4x3_rc4::IfcContext::setUnitsInContext(::Ifc4x3_rc4::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -14984,7 +14984,7 @@ Ifc4x3_rc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc4::IfcDi // Function implementations for IfcControl boost::optional< std::string > Ifc4x3_rc4::IfcControl::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcControl::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToControl::list::ptr Ifc4x3_rc4::IfcControl::Controls() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToControl_type, 6)->as(); } @@ -14995,7 +14995,7 @@ Ifc4x3_rc4::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn // Function implementations for IfcController boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > Ifc4x3_rc4::IfcController::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcControllerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcControllerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcController::declaration() const { return *IFC4X3_RC4_IfcController_type; } @@ -15038,7 +15038,7 @@ Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(: // Function implementations for IfcConveyorSegment boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc4::IfcConveyorSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegment::declaration() const { return *IFC4X3_RC4_IfcConveyorSegment_type; } @@ -15058,7 +15058,7 @@ Ifc4x3_rc4::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_Global // Function implementations for IfcCooledBeam boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc4::IfcCooledBeam::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCooledBeamTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCooledBeamTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeam::declaration() const { return *IFC4X3_RC4_IfcCooledBeam_type; } @@ -15078,7 +15078,7 @@ Ifc4x3_rc4::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcCoolingTower boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc4::IfcCoolingTower::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTower::declaration() const { return *IFC4X3_RC4_IfcCoolingTower_type; } @@ -15112,11 +15112,11 @@ Ifc4x3_rc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc4::IfcCoor std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcCoordinateOperation::list::ptr Ifc4x3_rc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IFC4X3_RC4_IfcCoordinateOperation_type, 0)->as(); } @@ -15129,7 +15129,7 @@ Ifc4x3_rc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::stri double Ifc4x3_rc4::IfcCosine::CosineTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcCosine::setCosineTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcCosine::ConstantTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcCosine::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcCosine::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCosine::declaration() const { return *IFC4X3_RC4_IfcCosine_type; } @@ -15139,11 +15139,11 @@ Ifc4x3_rc4::IfcCosine::IfcCosine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, d // Function implementations for IfcCostItem boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > Ifc4x3_rc4::IfcCostItem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostItemTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCostItemTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCostItemTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > Ifc4x3_rc4::IfcCostItem::CostValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcCostValue >(); } -void Ifc4x3_rc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > Ifc4x3_rc4::IfcCostItem::CostQuantities() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } -void Ifc4x3_rc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCostItem::declaration() const { return *IFC4X3_RC4_IfcCostItem_type; } @@ -15153,13 +15153,13 @@ Ifc4x3_rc4::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcCostSchedule boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc4::IfcCostSchedule::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCostScheduleTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCostScheduleTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCostSchedule::declaration() const { return *IFC4X3_RC4_IfcCostSchedule_type; } @@ -15177,7 +15177,7 @@ Ifc4x3_rc4::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, b // Function implementations for IfcCourse boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > Ifc4x3_rc4::IfcCourse::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCourseTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCourseTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCourse::declaration() const { return *IFC4X3_RC4_IfcCourse_type; } @@ -15197,7 +15197,7 @@ Ifc4x3_rc4::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcCovering boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > Ifc4x3_rc4::IfcCovering::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoveringTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCoveringTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelCoversSpaces::list::ptr Ifc4x3_rc4::IfcCovering::CoversSpaces() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversSpaces_type, 5)->as(); } ::Ifc4x3_rc4::IfcRelCoversBldgElements::list::ptr Ifc4x3_rc4::IfcCovering::CoversElements() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversBldgElements_type, 5)->as(); } @@ -15219,7 +15219,7 @@ Ifc4x3_rc4::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcCrewResource boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc4::IfcCrewResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResource::declaration() const { return *IFC4X3_RC4_IfcCrewResource_type; } @@ -15265,7 +15265,7 @@ void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc4::I double Ifc4x3_rc4::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15277,7 +15277,7 @@ Ifc4x3_rc4::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< st // Function implementations for IfcCurtainWall boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc4::IfcCurtainWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCurtainWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCurtainWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWall::declaration() const { return *IFC4X3_RC4_IfcCurtainWall_type; } @@ -15355,7 +15355,7 @@ void Ifc4x3_rc4::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc4::IfcSizeSelect* v) { ::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyle::declaration() const { return *IFC4X3_RC4_IfcCurveStyle_type; } @@ -15365,7 +15365,7 @@ Ifc4x3_rc4::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, // Function implementations for IfcCurveStyleFont boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFont::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15377,7 +15377,7 @@ Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcCurveStyleFontSelect* Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc4::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } @@ -15413,7 +15413,7 @@ Ifc4x3_rc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc4::IfcAxis2P // Function implementations for IfcDamper boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > Ifc4x3_rc4::IfcDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDamper::declaration() const { return *IFC4X3_RC4_IfcDamper_type; } @@ -15453,7 +15453,7 @@ void Ifc4x3_rc4::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc4::IfcProfile ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc4::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedProfileDef::declaration() const { return *IFC4X3_RC4_IfcDerivedProfileDef_type; } @@ -15467,7 +15467,7 @@ void Ifc4x3_rc4::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc4::IfcDeri ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcDerivedUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcDerivedUnit::setUnitType(::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDerivedUnitEnum::ToString(v)));data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDerivedUnit::UserDefinedType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnit::declaration() const { return *IFC4X3_RC4_IfcDerivedUnit_type; } @@ -15543,7 +15543,7 @@ Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedRefer // Function implementations for IfcDiscreteAccessory boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc4::IfcDiscreteAccessory::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessory::declaration() const { return *IFC4X3_RC4_IfcDiscreteAccessory_type; } @@ -15563,7 +15563,7 @@ Ifc4x3_rc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Gl // Function implementations for IfcDistributionBoard boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoard::declaration() const { return *IFC4X3_RC4_IfcDistributionBoard_type; } @@ -15583,7 +15583,7 @@ Ifc4x3_rc4::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_Gl // Function implementations for IfcDistributionChamberElement boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc4::IfcDistributionChamberElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElement::declaration() const { return *IFC4X3_RC4_IfcDistributionChamberElement_type; } @@ -15662,11 +15662,11 @@ Ifc4x3_rc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std:: // Function implementations for IfcDistributionPort boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > Ifc4x3_rc4::IfcDistributionPort::FlowDirection() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowDirectionEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowDirectionEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowDirectionEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc4::IfcDistributionPort::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionPortTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionPortTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionPort::SystemType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionPort::declaration() const { return *IFC4X3_RC4_IfcDistributionPort_type; } @@ -15676,9 +15676,9 @@ Ifc4x3_rc4::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, :: // Function implementations for IfcDistributionSystem boost::optional< std::string > Ifc4x3_rc4::IfcDistributionSystem::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionSystem::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDistributionSystemEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionSystem::declaration() const { return *IFC4X3_RC4_IfcDistributionSystem_type; } @@ -15692,35 +15692,35 @@ void Ifc4x3_rc4::IfcDocumentInformation::setIdentification(std::string v) { {Ifc std::string Ifc4x3_rc4::IfcDocumentInformation::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Location() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Purpose() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::IntendedUse() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Scope() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } -void Ifc4x3_rc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v)));}data_->setArgument(15,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Status() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } -void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v)));data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v)));}data_->setArgument(16,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc4::IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesDocument_type, 5)->as(); } ::Ifc4x3_rc4::IfcDocumentReference::list::ptr Ifc4x3_rc4::IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IFC4X3_RC4_IfcDocumentReference_type, 4)->as(); } @@ -15738,7 +15738,7 @@ void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcDocumentInformation >(); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelationshipType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::declaration() const { return *IFC4X3_RC4_IfcDocumentInformationRelationship_type; } @@ -15748,7 +15748,7 @@ Ifc4x3_rc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc4::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } void Ifc4x3_rc4::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15761,15 +15761,15 @@ Ifc4x3_rc4::IfcDocumentReference::IfcDocumentReference(boost::optional< std::str // Function implementations for IfcDoor boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDoor::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcDoor::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > Ifc4x3_rc4::IfcDoor::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDoorTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc4::IfcDoor::OperationType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc4::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDoor::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoor::declaration() const { return *IFC4X3_RC4_IfcDoor_type; } @@ -15779,31 +15779,31 @@ Ifc4x3_rc4::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcDoorLiningProperties boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomThickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } ::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorLiningProperties::declaration() const { return *IFC4X3_RC4_IfcDoorLiningProperties_type; } @@ -15813,11 +15813,11 @@ Ifc4x3_rc4::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_Glob // Function implementations for IfcDoorPanelProperties boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorPanelOperationEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } @@ -15859,9 +15859,9 @@ void Ifc4x3_rc4::IfcDoorType::setPredefinedType(::Ifc4x3_rc4::IfcDoorTypeEnum::V ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoorType::OperationType() const { return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcDoorType::setOperationType(::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorTypeOperationEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcDoorType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDoorType::UserDefinedOperationType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorType::declaration() const { return *IFC4X3_RC4_IfcDoorType_type; } @@ -15887,7 +15887,7 @@ Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(s // Function implementations for IfcDuctFitting boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc4::IfcDuctFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFitting::declaration() const { return *IFC4X3_RC4_IfcDuctFitting_type; } @@ -15907,7 +15907,7 @@ Ifc4x3_rc4::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSegment boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc4::IfcDuctSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegment::declaration() const { return *IFC4X3_RC4_IfcDuctSegment_type; } @@ -15927,7 +15927,7 @@ Ifc4x3_rc4::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::If // Function implementations for IfcDuctSilencer boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc4::IfcDuctSilencer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencer::declaration() const { return *IFC4X3_RC4_IfcDuctSilencer_type; } @@ -15947,7 +15947,7 @@ Ifc4x3_rc4::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, :: // Function implementations for IfcEarthworksCut boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksCut::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksCut::declaration() const { return *IFC4X3_RC4_IfcEarthworksCut_type; } @@ -15965,7 +15965,7 @@ Ifc4x3_rc4::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, // Function implementations for IfcEarthworksFill boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksFill::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksFill::declaration() const { return *IFC4X3_RC4_IfcEarthworksFill_type; } @@ -16009,7 +16009,7 @@ Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge // Function implementations for IfcElectricAppliance boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc4::IfcElectricAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricAppliance::declaration() const { return *IFC4X3_RC4_IfcElectricAppliance_type; } @@ -16029,7 +16029,7 @@ Ifc4x3_rc4::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_Gl // Function implementations for IfcElectricDistributionBoard boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcElectricDistributionBoard::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoard::declaration() const { return *IFC4X3_RC4_IfcElectricDistributionBoard_type; } @@ -16049,7 +16049,7 @@ Ifc4x3_rc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(s // Function implementations for IfcElectricFlowStorageDevice boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDevice::declaration() const { return *IFC4X3_RC4_IfcElectricFlowStorageDevice_type; } @@ -16069,7 +16069,7 @@ Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(s // Function implementations for IfcElectricFlowTreatmentDevice boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::declaration() const { return *IFC4X3_RC4_IfcElectricFlowTreatmentDevice_type; } @@ -16089,7 +16089,7 @@ Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceTy // Function implementations for IfcElectricGenerator boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc4::IfcElectricGenerator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGenerator::declaration() const { return *IFC4X3_RC4_IfcElectricGenerator_type; } @@ -16109,7 +16109,7 @@ Ifc4x3_rc4::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_Gl // Function implementations for IfcElectricMotor boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc4::IfcElectricMotor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricMotorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricMotorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotor::declaration() const { return *IFC4X3_RC4_IfcElectricMotor_type; } @@ -16129,7 +16129,7 @@ Ifc4x3_rc4::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, // Function implementations for IfcElectricTimeControl boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc4::IfcElectricTimeControl::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControl::declaration() const { return *IFC4X3_RC4_IfcElectricTimeControl_type; } @@ -16149,7 +16149,7 @@ Ifc4x3_rc4::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v // Function implementations for IfcElement boost::optional< std::string > Ifc4x3_rc4::IfcElement::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcElement::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelFillsElement::list::ptr Ifc4x3_rc4::IfcElement::FillsVoids() const { return data_->getInverse(IFC4X3_RC4_IfcRelFillsElement_type, 5)->as(); } ::Ifc4x3_rc4::IfcRelConnectsElements::list::ptr Ifc4x3_rc4::IfcElement::ConnectedTo() const { return data_->getInverse(IFC4X3_RC4_IfcRelConnectsElements_type, 5)->as(); } @@ -16171,9 +16171,9 @@ Ifc4x3_rc4::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn // Function implementations for IfcElementAssembly boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc4::IfcElementAssembly::AssemblyPlace() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc4::IfcElementAssembly::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssembly::declaration() const { return *IFC4X3_RC4_IfcElementAssembly_type; } @@ -16209,7 +16209,7 @@ Ifc4x3_rc4::IfcElementComponentType::IfcElementComponentType(std::string v1_Glob // Function implementations for IfcElementQuantity boost::optional< std::string > Ifc4x3_rc4::IfcElementQuantity::MethodOfMeasurement() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } void Ifc4x3_rc4::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -16221,7 +16221,7 @@ Ifc4x3_rc4::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::If // Function implementations for IfcElementType boost::optional< std::string > Ifc4x3_rc4::IfcElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementType::declaration() const { return *IFC4X3_RC4_IfcElementType_type; } @@ -16281,7 +16281,7 @@ Ifc4x3_rc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::st // Function implementations for IfcEngine boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > Ifc4x3_rc4::IfcEngine::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEngineTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEngineTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEngine::declaration() const { return *IFC4X3_RC4_IfcEngine_type; } @@ -16301,7 +16301,7 @@ Ifc4x3_rc4::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcEvaporativeCooler boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc4::IfcEvaporativeCooler::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCooler::declaration() const { return *IFC4X3_RC4_IfcEvaporativeCooler_type; } @@ -16321,7 +16321,7 @@ Ifc4x3_rc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_Gl // Function implementations for IfcEvaporator boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc4::IfcEvaporator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEvaporatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEvaporatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporator::declaration() const { return *IFC4X3_RC4_IfcEvaporator_type; } @@ -16341,11 +16341,11 @@ Ifc4x3_rc4::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcEvent boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > Ifc4x3_rc4::IfcEvent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEventTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEventTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc4::IfcEvent::EventTriggerType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcEventTime* Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcEventTime>(true); } void Ifc4x3_rc4::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc4::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16357,13 +16357,13 @@ Ifc4x3_rc4::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi // Function implementations for IfcEventTime boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ActualDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::EarlyDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::LateDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ScheduleDate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEventTime::declaration() const { return *IFC4X3_RC4_IfcEventTime_type; } @@ -16377,7 +16377,7 @@ void Ifc4x3_rc4::IfcEventType::setPredefinedType(::Ifc4x3_rc4::IfcEventTypeEnum: ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcEventType::setEventTriggerType(::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcEventType::UserDefinedEventTriggerType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcEventType::declaration() const { return *IFC4X3_RC4_IfcEventType_type; } @@ -16387,9 +16387,9 @@ Ifc4x3_rc4::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc4::If // Function implementations for IfcExtendedProperties boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } void Ifc4x3_rc4::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -16409,11 +16409,11 @@ Ifc4x3_rc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseE // Function implementations for IfcExternalReference boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Location() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Identification() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcExternalReference::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 2)->as(); } @@ -16436,7 +16436,7 @@ Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(b // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc4::IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelSpaceBoundary_type, 4)->as(); } @@ -16592,17 +16592,17 @@ Ifc4x3_rc4::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcFailureConnectionCondition boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFailureConnectionCondition::declaration() const { return *IFC4X3_RC4_IfcFailureConnectionCondition_type; } @@ -16612,7 +16612,7 @@ Ifc4x3_rc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost:: // Function implementations for IfcFan boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > Ifc4x3_rc4::IfcFan::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFanTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFanTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFan::declaration() const { return *IFC4X3_RC4_IfcFan_type; } @@ -16632,7 +16632,7 @@ Ifc4x3_rc4::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn // Function implementations for IfcFastener boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > Ifc4x3_rc4::IfcFastener::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFastenerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFastenerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFastener::declaration() const { return *IFC4X3_RC4_IfcFastener_type; } @@ -16680,7 +16680,7 @@ Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::stri aggregate_of_instance::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::declaration() const { return *IFC4X3_RC4_IfcFillAreaStyle_type; } @@ -16722,7 +16722,7 @@ Ifc4x3_rc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_ // Function implementations for IfcFilter boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > Ifc4x3_rc4::IfcFilter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFilterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFilterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFilter::declaration() const { return *IFC4X3_RC4_IfcFilter_type; } @@ -16742,7 +16742,7 @@ Ifc4x3_rc4::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcFireSuppressionTerminal boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc4::IfcFireSuppressionTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminal::declaration() const { return *IFC4X3_RC4_IfcFireSuppressionTerminal_type; } @@ -16804,7 +16804,7 @@ Ifc4x3_rc4::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcFlowInstrument boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc4::IfcFlowInstrument::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrument::declaration() const { return *IFC4X3_RC4_IfcFlowInstrument_type; } @@ -16824,7 +16824,7 @@ Ifc4x3_rc4::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId // Function implementations for IfcFlowMeter boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc4::IfcFlowMeter::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowMeterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFlowMeterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeter::declaration() const { return *IFC4X3_RC4_IfcFlowMeter_type; } @@ -16924,7 +16924,7 @@ Ifc4x3_rc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v // Function implementations for IfcFooting boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > Ifc4x3_rc4::IfcFooting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFootingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFootingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFooting::declaration() const { return *IFC4X3_RC4_IfcFooting_type; } @@ -16960,7 +16960,7 @@ Ifc4x3_rc4::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Gl // Function implementations for IfcFurniture boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurniture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFurniture::declaration() const { return *IFC4X3_RC4_IfcFurniture_type; } @@ -16972,7 +16972,7 @@ Ifc4x3_rc4::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc4::If ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAssemblyPlaceEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurnitureType::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcFurnitureTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcFurnitureType::declaration() const { return *IFC4X3_RC4_IfcFurnitureType_type; } @@ -16982,7 +16982,7 @@ Ifc4x3_rc4::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcGeographicElement boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc4::IfcGeographicElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcGeographicElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcGeographicElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElement::declaration() const { return *IFC4X3_RC4_IfcGeographicElement_type; } @@ -17012,7 +17012,7 @@ Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::pt int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } @@ -17038,11 +17038,11 @@ Ifc4x3_rc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : I ::Ifc4x3_rc4::IfcGeometricRepresentationContext* Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc4::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc4::IfcGeometricProjectionEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcGeometricProjectionEnum::ToString(v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationSubContext::declaration() const { return *IFC4X3_RC4_IfcGeometricRepresentationSubContext_type; } @@ -17118,9 +17118,9 @@ void Ifc4x3_rc4::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::pt aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } void Ifc4x3_rc4::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(8,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > Ifc4x3_rc4::IfcGrid::WAxes() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } -void Ifc4x3_rc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > Ifc4x3_rc4::IfcGrid::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGridTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcGridTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcGridTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcGrid::declaration() const { return *IFC4X3_RC4_IfcGrid_type; } @@ -17130,7 +17130,7 @@ Ifc4x3_rc4::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc4::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcGridAxis::setAxisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc4::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } @@ -17181,7 +17181,7 @@ Ifc4x3_rc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc4::IfcSurface* v1_Ba // Function implementations for IfcHeatExchanger boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc4::IfcHeatExchanger::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchanger::declaration() const { return *IFC4X3_RC4_IfcHeatExchanger_type; } @@ -17201,7 +17201,7 @@ Ifc4x3_rc4::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, // Function implementations for IfcHumidifier boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > Ifc4x3_rc4::IfcHumidifier::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcHumidifierTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcHumidifierTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifier::declaration() const { return *IFC4X3_RC4_IfcHumidifier_type; } @@ -17229,11 +17229,11 @@ void Ifc4x3_rc4::IfcIShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcIShapeProfileDef_type; } @@ -17275,7 +17275,7 @@ Ifc4x3_rc4::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::st ::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc4::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcColourRgbList* Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourRgbList>(true); } void Ifc4x3_rc4::IfcIndexedColourMap::setColours(::Ifc4x3_rc4::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } @@ -17291,9 +17291,9 @@ Ifc4x3_rc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc4::IfcTessellate ::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(true); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_RC4_IfcIndexedPolyCurve_type; } @@ -17336,7 +17336,7 @@ Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc // Function implementations for IfcIndexedTriangleTextureMap boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTriangleTextureMap::declaration() const { return *IFC4X3_RC4_IfcIndexedTriangleTextureMap_type; } @@ -17346,7 +17346,7 @@ Ifc4x3_rc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate // Function implementations for IfcInterceptor boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > Ifc4x3_rc4::IfcInterceptor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcInterceptorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcInterceptorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptor::declaration() const { return *IFC4X3_RC4_IfcInterceptor_type; } @@ -17374,13 +17374,13 @@ Ifc4x3_rc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc4::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > Ifc4x3_rc4::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcInventoryTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcInventory::setJurisdiction(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } -void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcInventory::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } @@ -17416,7 +17416,7 @@ Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBox::declaration() const { return *IFC4X3_RC4_IfcJunctionBox_type; } @@ -17458,15 +17458,15 @@ Ifc4x3_rc4::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO double Ifc4x3_rc4::IfcLShapeProfileDef::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::Width() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } double Ifc4x3_rc4::IfcLShapeProfileDef::Thickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::FilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::LegSlope() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcLShapeProfileDef_type; } @@ -17476,7 +17476,7 @@ Ifc4x3_rc4::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc4::IfcProfileTyp // Function implementations for IfcLaborResource boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc4::IfcLaborResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResource::declaration() const { return *IFC4X3_RC4_IfcLaborResource_type; } @@ -17508,7 +17508,7 @@ Ifc4x3_rc4::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost // Function implementations for IfcLamp boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > Ifc4x3_rc4::IfcLamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLamp::declaration() const { return *IFC4X3_RC4_IfcLamp_type; } @@ -17530,15 +17530,15 @@ Ifc4x3_rc4::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcLibraryInformation::setPublisher(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Location() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Description() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc4::IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesLibrary_type, 5)->as(); } ::Ifc4x3_rc4::IfcLibraryReference::list::ptr Ifc4x3_rc4::IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IFC4X3_RC4_IfcLibraryReference_type, 5)->as(); } @@ -17550,9 +17550,9 @@ Ifc4x3_rc4::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, bo // Function implementations for IfcLibraryReference boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } void Ifc4x3_rc4::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17579,7 +17579,7 @@ Ifc4x3_rc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPla // Function implementations for IfcLightFixture boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc4::IfcLightFixture::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLightFixtureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLightFixtureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixture::declaration() const { return *IFC4X3_RC4_IfcLightFixture_type; } @@ -17611,13 +17611,13 @@ Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc4::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcLightSource::setLightColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLightSource::Intensity() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcLightSource::setIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightSource::declaration() const { return *IFC4X3_RC4_IfcLightSource_type; } @@ -17685,7 +17685,7 @@ Ifc4x3_rc4::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< ::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } double Ifc4x3_rc4::IfcLightSourceSpot::SpreadAngle() const { double v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setSpreadAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } double Ifc4x3_rc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = *data_->getArgument(12); return v; } @@ -17739,7 +17739,7 @@ Ifc4x3_rc4::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string // Function implementations for IfcLiquidTerminal boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc4::IfcLiquidTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminal::declaration() const { return *IFC4X3_RC4_IfcLiquidTerminal_type; } @@ -17793,15 +17793,15 @@ void Ifc4x3_rc4::IfcMapConversion::setNorthings(double v) { {IfcWrite::IfcWriteA double Ifc4x3_rc4::IfcMapConversion::OrthogonalHeight() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcMapConversion::setOrthogonalHeight(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisAbscissa() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisOrdinate() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMapConversion::Scale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcMapConversion::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleY() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcMapConversion::setScaleY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMapConversion::setScaleY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleZ() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcMapConversion::setScaleZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcMapConversion::setScaleZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMapConversion::declaration() const { return *IFC4X3_RC4_IfcMapConversion_type; } @@ -17823,7 +17823,7 @@ Ifc4x3_rc4::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc4::IfcRepresentationMap* v1_ // Function implementations for IfcMarineFacility boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc4::IfcMarineFacility::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMarineFacility::declaration() const { return *IFC4X3_RC4_IfcMarineFacility_type; } @@ -17835,9 +17835,9 @@ Ifc4x3_rc4::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4 std::string Ifc4x3_rc4::IfcMaterial::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterial::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Category() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcMaterial::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc4::IfcMaterial::HasRepresentation() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type, 3)->as(); } ::Ifc4x3_rc4::IfcMaterialRelationship::list::ptr Ifc4x3_rc4::IfcMaterial::IsRelatedWith() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialRelationship_type, 3)->as(); } @@ -17862,15 +17862,15 @@ Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRela // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Category() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialConstituentSet_type, 2)->as(); } @@ -17881,11 +17881,11 @@ Ifc4x3_rc4::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std: // Function implementations for IfcMaterialConstituentSet boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcMaterialConstituent >(); } -void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::declaration() const { return *IFC4X3_RC4_IfcMaterialConstituentSet_type; } @@ -17920,15 +17920,15 @@ void Ifc4x3_rc4::IfcMaterialLayer::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { { double Ifc4x3_rc4::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< boost::logic::tribool > Ifc4x3_rc4::IfcMaterialLayer::IsVentilated() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } boost::logic::tribool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Name() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialLayer::Priority() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcMaterialLayerSet::list::ptr Ifc4x3_rc4::IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialLayerSet_type, 0)->as(); } @@ -17941,9 +17941,9 @@ Ifc4x3_rc4::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc4::IfcMaterial* v1_Mat aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcMaterialLayer >(); } void Ifc4x3_rc4::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::LayerSetName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSet::declaration() const { return *IFC4X3_RC4_IfcMaterialLayerSet_type; } @@ -17961,7 +17961,7 @@ void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc4::IfcDi double Ifc4x3_rc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSetUsage::declaration() const { return *IFC4X3_RC4_IfcMaterialLayerSetUsage_type; } @@ -17993,17 +17993,17 @@ Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc4::IfcMate // Function implementations for IfcMaterialProfile boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialProfile::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcMaterialProfile::setProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Category() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcMaterialProfileSet::list::ptr Ifc4x3_rc4::IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IFC4X3_RC4_IfcMaterialProfileSet_type, 2)->as(); } @@ -18014,9 +18014,9 @@ Ifc4x3_rc4::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string // Function implementations for IfcMaterialProfileSet boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcMaterialProfile >(); } void Ifc4x3_rc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcCompositeProfileDef* Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCompositeProfileDef>(true); } @@ -18032,9 +18032,9 @@ Ifc4x3_rc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::s ::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsage::declaration() const { return *IFC4X3_RC4_IfcMaterialProfileSetUsage_type; } @@ -18046,7 +18046,7 @@ Ifc4x3_rc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc4: ::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::declaration() const { return *IFC4X3_RC4_IfcMaterialProfileSetUsageTapering_type; } @@ -18080,7 +18080,7 @@ void Ifc4x3_rc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc4::IfcM aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialRelationship::declaration() const { return *IFC4X3_RC4_IfcMaterialRelationship_type; } @@ -18111,11 +18111,11 @@ Ifc4x3_rc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc4::IfcValue* v1_Va // Function implementations for IfcMechanicalFastener boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalDiameter() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc4::IfcMechanicalFastener::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastener::declaration() const { return *IFC4X3_RC4_IfcMechanicalFastener_type; } @@ -18127,9 +18127,9 @@ Ifc4x3_rc4::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastenerType::declaration() const { return *IFC4X3_RC4_IfcMechanicalFastenerType_type; } @@ -18139,7 +18139,7 @@ Ifc4x3_rc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_ // Function implementations for IfcMedicalDevice boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMedicalDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDevice::declaration() const { return *IFC4X3_RC4_IfcMedicalDevice_type; } @@ -18159,7 +18159,7 @@ Ifc4x3_rc4::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, // Function implementations for IfcMember boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > Ifc4x3_rc4::IfcMember::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMemberTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMemberTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMember::declaration() const { return *IFC4X3_RC4_IfcMember_type; } @@ -18189,7 +18189,7 @@ Ifc4x3_rc4::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc4:: ::Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcMetric::Benchmark() const { return ::Ifc4x3_rc4::IfcBenchmarkEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcMetric::setBenchmark(::Ifc4x3_rc4::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcMetricValueSelect* Ifc4x3_rc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcMetricValueSelect>(true); } void Ifc4x3_rc4::IfcMetric::setDataValue(::Ifc4x3_rc4::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcReference>(true); } @@ -18211,7 +18211,7 @@ Ifc4x3_rc4::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc4::IfcProfil // Function implementations for IfcMobileTelecommunicationsAppliance boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::declaration() const { return *IFC4X3_RC4_IfcMobileTelecommunicationsAppliance_type; } @@ -18241,7 +18241,7 @@ Ifc4x3_rc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil: // Function implementations for IfcMooringDevice boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMooringDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDevice::declaration() const { return *IFC4X3_RC4_IfcMooringDevice_type; } @@ -18261,7 +18261,7 @@ Ifc4x3_rc4::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, // Function implementations for IfcMotorConnection boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc4::IfcMotorConnection::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnection::declaration() const { return *IFC4X3_RC4_IfcMotorConnection_type; } @@ -18293,7 +18293,7 @@ Ifc4x3_rc4::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1 // Function implementations for IfcNavigationElement boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc4::IfcNavigationElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcNavigationElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcNavigationElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElement::declaration() const { return *IFC4X3_RC4_IfcNavigationElement_type; } @@ -18313,7 +18313,7 @@ Ifc4x3_rc4::IfcNavigationElementType::IfcNavigationElementType(std::string v1_Gl // Function implementations for IfcObject boost::optional< std::string > Ifc4x3_rc4::IfcObject::ObjectType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcObject::setObjectType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcRelDefinesByObject::list::ptr Ifc4x3_rc4::IfcObject::IsDeclaredBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByObject_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelDefinesByObject::list::ptr Ifc4x3_rc4::IfcObject::Declares() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByObject_type, 5)->as(); } @@ -18353,13 +18353,13 @@ Ifc4x3_rc4::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacem // Function implementations for IfcObjective boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > Ifc4x3_rc4::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcConstraint >(); } -void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > Ifc4x3_rc4::IfcObjective::LogicalAggregator() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLogicalOperatorEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLogicalOperatorEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcLogicalOperatorEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc4::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc4::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcObjective::UserDefinedQualifier() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcObjective::declaration() const { return *IFC4X3_RC4_IfcObjective_type; } @@ -18369,7 +18369,7 @@ Ifc4x3_rc4::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std // Function implementations for IfcOccupant boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > Ifc4x3_rc4::IfcOccupant::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOccupantTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOccupantTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOccupantTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOccupant::declaration() const { return *IFC4X3_RC4_IfcOccupant_type; } @@ -18417,7 +18417,7 @@ Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc4::IfcCurve* v1_BasisC aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } void Ifc4x3_rc4::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcOffsetCurveByDistances::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::declaration() const { return *IFC4X3_RC4_IfcOffsetCurveByDistances_type; } @@ -18433,7 +18433,7 @@ void Ifc4x3_rc4::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?] std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc4::IfcOpenCrossProfileDef::Tags() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOpenCrossProfileDef::declaration() const { return *IFC4X3_RC4_IfcOpenCrossProfileDef_type; } @@ -18451,7 +18451,7 @@ Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::pt // Function implementations for IfcOpeningElement boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc4::IfcOpeningElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOpeningElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOpeningElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelFillsElement::list::ptr Ifc4x3_rc4::IfcOpeningElement::HasFillings() const { return data_->getInverse(IFC4X3_RC4_IfcRelFillsElement_type, 4)->as(); } @@ -18470,15 +18470,15 @@ Ifc4x3_rc4::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_Global // Function implementations for IfcOrganization boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } std::string Ifc4x3_rc4::IfcOrganization::Name() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcOrganization::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcOrganization::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcOrganization::Roles() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } -void Ifc4x3_rc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcOrganization::Addresses() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } -void Ifc4x3_rc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcOrganizationRelationship::list::ptr Ifc4x3_rc4::IfcOrganization::IsRelatedBy() const { return data_->getInverse(IFC4X3_RC4_IfcOrganizationRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcOrganizationRelationship::list::ptr Ifc4x3_rc4::IfcOrganization::Relates() const { return data_->getInverse(IFC4X3_RC4_IfcOrganizationRelationship_type, 2)->as(); } @@ -18523,7 +18523,7 @@ Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_ // Function implementations for IfcOutlet boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > Ifc4x3_rc4::IfcOutlet::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOutletTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcOutletTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcOutlet::declaration() const { return *IFC4X3_RC4_IfcOutlet_type; } @@ -18547,11 +18547,11 @@ void Ifc4x3_rc4::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc4::IfcPersonAndOrgani ::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcApplication>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStateEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::ChangeAction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChangeActionEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChangeActionEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcApplication>(true); } @@ -18587,7 +18587,7 @@ Ifc4x3_rc4::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr // Function implementations for IfcPavement boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > Ifc4x3_rc4::IfcPavement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPavementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPavementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPavement::declaration() const { return *IFC4X3_RC4_IfcPavement_type; } @@ -18621,7 +18621,7 @@ Ifc4x3_rc4::IfcPcurve::IfcPcurve(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, ::If std::string Ifc4x3_rc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc4::IfcPerformanceHistory::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPerformanceHistory::declaration() const { return *IFC4X3_RC4_IfcPerformanceHistory_type; } @@ -18635,9 +18635,9 @@ void Ifc4x3_rc4::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc4:: ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18649,11 +18649,11 @@ Ifc4x3_rc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std:: // Function implementations for IfcPermit boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > Ifc4x3_rc4::IfcPermit::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPermitTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPermitTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPermitTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPermit::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcPermit::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPermit::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPermit::declaration() const { return *IFC4X3_RC4_IfcPermit_type; } @@ -18663,21 +18663,21 @@ Ifc4x3_rc4::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner // Function implementations for IfcPerson boost::optional< std::string > Ifc4x3_rc4::IfcPerson::Identification() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcPerson::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPerson::FamilyName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPerson::GivenName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPerson::setGivenName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::MiddleNames() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::PrefixTitles() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::SuffixTitles() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPerson::Roles() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } -void Ifc4x3_rc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcPerson::Addresses() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } -void Ifc4x3_rc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcPersonAndOrganization::list::ptr Ifc4x3_rc4::IfcPerson::EngagedIn() const { return data_->getInverse(IFC4X3_RC4_IfcPersonAndOrganization_type, 0)->as(); } @@ -18692,7 +18692,7 @@ void Ifc4x3_rc4::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc4::IfcPerson* ::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } -void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPersonAndOrganization::declaration() const { return *IFC4X3_RC4_IfcPersonAndOrganization_type; } @@ -18706,9 +18706,9 @@ void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::If std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Quality() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Usage() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalComplexQuantity::declaration() const { return *IFC4X3_RC4_IfcPhysicalComplexQuantity_type; } @@ -18720,7 +18720,7 @@ Ifc4x3_rc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v std::string Ifc4x3_rc4::IfcPhysicalQuantity::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPhysicalQuantity::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalQuantity::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcPhysicalComplexQuantity::list::ptr Ifc4x3_rc4::IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IFC4X3_RC4_IfcPhysicalComplexQuantity_type, 2)->as(); } @@ -18742,9 +18742,9 @@ Ifc4x3_rc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_ // Function implementations for IfcPile boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > Ifc4x3_rc4::IfcPile::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPileTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPileTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > Ifc4x3_rc4::IfcPile::ConstructionType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileConstructionEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPileConstructionEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPileConstructionEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPile::declaration() const { return *IFC4X3_RC4_IfcPile_type; } @@ -18764,7 +18764,7 @@ Ifc4x3_rc4::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcPipeFitting boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc4::IfcPipeFitting::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPipeFittingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPipeFittingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFitting::declaration() const { return *IFC4X3_RC4_IfcPipeFitting_type; } @@ -18784,7 +18784,7 @@ Ifc4x3_rc4::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::If // Function implementations for IfcPipeSegment boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc4::IfcPipeSegment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegment::declaration() const { return *IFC4X3_RC4_IfcPipeSegment_type; } @@ -18868,7 +18868,7 @@ Ifc4x3_rc4::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi // Function implementations for IfcPlate boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > Ifc4x3_rc4::IfcPlate::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPlateTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPlateTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPlate::declaration() const { return *IFC4X3_RC4_IfcPlate_type; } @@ -18906,11 +18906,11 @@ Ifc4x3_rc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInst ::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertical() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18970,11 +18970,11 @@ Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_ // Function implementations for IfcPolygonalFaceSet boost::optional< bool > Ifc4x3_rc4::IfcPolygonalFaceSet::Closed() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc4::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcPolygonalFaceSet::PnIndex() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::declaration() const { return *IFC4X3_RC4_IfcPolygonalFaceSet_type; } @@ -18996,11 +18996,11 @@ Ifc4x3_rc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoi ::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcPolynomialCurve::setPosition(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolynomialCurve::declaration() const { return *IFC4X3_RC4_IfcPolynomialCurve_type; } @@ -19031,19 +19031,19 @@ Ifc4x3_rc4::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId // Function implementations for IfcPostalAddress boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::InternalLocation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPostalAddress::AddressLines() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalBox() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Town() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Region() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalCode() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Country() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPostalAddress::declaration() const { return *IFC4X3_RC4_IfcPostalAddress_type; } @@ -19113,11 +19113,11 @@ Ifc4x3_rc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity( std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of_instance::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_RC4_IfcPresentationLayerAssignment_type; } @@ -19143,7 +19143,7 @@ Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::st // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationStyle::declaration() const { return *IFC4X3_RC4_IfcPresentationStyle_type; } @@ -19153,7 +19153,7 @@ Ifc4x3_rc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::str // Function implementations for IfcProcedure boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > Ifc4x3_rc4::IfcProcedure::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProcedureTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProcedureTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProcedure::declaration() const { return *IFC4X3_RC4_IfcProcedure_type; } @@ -19173,9 +19173,9 @@ Ifc4x3_rc4::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcProcess boost::optional< std::string > Ifc4x3_rc4::IfcProcess::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProcess::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelSequence::list::ptr Ifc4x3_rc4::IfcProcess::IsPredecessorTo() const { return data_->getInverse(IFC4X3_RC4_IfcRelSequence_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelSequence::list::ptr Ifc4x3_rc4::IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IFC4X3_RC4_IfcRelSequence_type, 5)->as(); } @@ -19213,9 +19213,9 @@ Ifc4x3_rc4::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional // Function implementations for IfcProductRepresentation boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr Ifc4x3_rc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcRepresentation >(); } void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -19229,7 +19229,7 @@ Ifc4x3_rc4::IfcProductRepresentation::IfcProductRepresentation(boost::optional< ::Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc4::IfcProfileTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcProfileDef::setProfileType(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcProfileTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProfileDef::ProfileName() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcProfileDef::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } ::Ifc4x3_rc4::IfcProfileProperties::list::ptr Ifc4x3_rc4::IfcProfileDef::HasProperties() const { return data_->getInverse(IFC4X3_RC4_IfcProfileProperties_type, 3)->as(); } @@ -19267,11 +19267,11 @@ Ifc4x3_rc4::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcProjectOrder boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc4::IfcProjectOrder::PredefinedType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::FromString(*data_->getArgument(6)); } -void Ifc4x3_rc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectOrderTypeEnum::ToString(*v)));data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectOrderTypeEnum::ToString(*v)));}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::LongDescription() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProjectOrder::declaration() const { return *IFC4X3_RC4_IfcProjectOrder_type; } @@ -19281,9 +19281,9 @@ Ifc4x3_rc4::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcProjectedCRS boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19295,7 +19295,7 @@ Ifc4x3_rc4::IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optiona // Function implementations for IfcProjectionElement boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc4::IfcProjectionElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectionElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectionElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProjectionElement::declaration() const { return *IFC4X3_RC4_IfcProjectionElement_type; } @@ -19307,7 +19307,7 @@ Ifc4x3_rc4::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, std::string Ifc4x3_rc4::IfcProperty::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcProperty::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProperty::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcProperty::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcPropertySet::list::ptr Ifc4x3_rc4::IfcProperty::PartOfPset() const { return data_->getInverse(IFC4X3_RC4_IfcPropertySet_type, 4)->as(); } ::Ifc4x3_rc4::IfcPropertyDependencyRelationship::list::ptr Ifc4x3_rc4::IfcProperty::PropertyForDependance() const { return data_->getInverse(IFC4X3_RC4_IfcPropertyDependencyRelationship_type, 2)->as(); } @@ -19362,7 +19362,7 @@ void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x ::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProperty>(true); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDependencyRelationship::declaration() const { return *IFC4X3_RC4_IfcPropertyDependencyRelationship_type; } @@ -19372,7 +19372,7 @@ Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19398,7 +19398,7 @@ Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19410,7 +19410,7 @@ Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcObjectReferenceSelect* Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc4::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19443,9 +19443,9 @@ Ifc4x3_rc4::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_Gl // Function implementations for IfcPropertySetTemplate boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc4::IfcPropertySetTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertySetTemplate::ApplicableEntity() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(6,attr);} } @@ -19470,17 +19470,17 @@ Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, // Function implementations for IfcPropertyTableValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > Ifc4x3_rc4::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v)));}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::declaration() const { return *IFC4X3_RC4_IfcPropertyTableValue_type; } @@ -19508,7 +19508,7 @@ Ifc4x3_rc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::st // Function implementations for IfcProtectiveDevice boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDevice::declaration() const { return *IFC4X3_RC4_IfcProtectiveDevice_type; } @@ -19518,7 +19518,7 @@ Ifc4x3_rc4::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, :: // Function implementations for IfcProtectiveDeviceTrippingUnit boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::declaration() const { return *IFC4X3_RC4_IfcProtectiveDeviceTrippingUnit_type; } @@ -19550,7 +19550,7 @@ Ifc4x3_rc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_Glob ::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcProxy::ProxyType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcProxy::setProxyType(::Ifc4x3_rc4::IfcObjectTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProxy::Tag() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcProxy::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcProxy::declaration() const { return *IFC4X3_RC4_IfcProxy_type; } @@ -19560,7 +19560,7 @@ Ifc4x3_rc4::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi // Function implementations for IfcPump boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > Ifc4x3_rc4::IfcPump::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPumpTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcPumpTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcPump::declaration() const { return *IFC4X3_RC4_IfcPump_type; } @@ -19582,7 +19582,7 @@ Ifc4x3_rc4::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO double Ifc4x3_rc4::IfcQuantityArea::AreaValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityArea::setAreaValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcQuantityArea::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityArea::declaration() const { return *IFC4X3_RC4_IfcQuantityArea_type; } @@ -19594,7 +19594,7 @@ Ifc4x3_rc4::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optiona double Ifc4x3_rc4::IfcQuantityCount::CountValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityCount::setCountValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcQuantityCount::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityCount::declaration() const { return *IFC4X3_RC4_IfcQuantityCount_type; } @@ -19606,7 +19606,7 @@ Ifc4x3_rc4::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optio double Ifc4x3_rc4::IfcQuantityLength::LengthValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityLength::setLengthValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcQuantityLength::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityLength::declaration() const { return *IFC4X3_RC4_IfcQuantityLength_type; } @@ -19626,7 +19626,7 @@ Ifc4x3_rc4::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc4 double Ifc4x3_rc4::IfcQuantityTime::TimeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityTime::setTimeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcQuantityTime::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityTime::declaration() const { return *IFC4X3_RC4_IfcQuantityTime_type; } @@ -19638,7 +19638,7 @@ Ifc4x3_rc4::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optiona double Ifc4x3_rc4::IfcQuantityVolume::VolumeValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityVolume::setVolumeValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcQuantityVolume::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityVolume::declaration() const { return *IFC4X3_RC4_IfcQuantityVolume_type; } @@ -19650,7 +19650,7 @@ Ifc4x3_rc4::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::opt double Ifc4x3_rc4::IfcQuantityWeight::WeightValue() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcQuantityWeight::setWeightValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcQuantityWeight::Formula() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityWeight::declaration() const { return *IFC4X3_RC4_IfcQuantityWeight_type; } @@ -19660,7 +19660,7 @@ Ifc4x3_rc4::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::opt // Function implementations for IfcRail boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > Ifc4x3_rc4::IfcRail::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRail::declaration() const { return *IFC4X3_RC4_IfcRail_type; } @@ -19680,7 +19680,7 @@ Ifc4x3_rc4::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcRailing boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > Ifc4x3_rc4::IfcRailing::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailingTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailingTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailing::declaration() const { return *IFC4X3_RC4_IfcRailing_type; } @@ -19700,7 +19700,7 @@ Ifc4x3_rc4::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcRailway boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > Ifc4x3_rc4::IfcRailway::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailwayTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailwayTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRailwayTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailway::declaration() const { return *IFC4X3_RC4_IfcRailway_type; } @@ -19710,7 +19710,7 @@ Ifc4x3_rc4::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn // Function implementations for IfcRamp boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > Ifc4x3_rc4::IfcRamp::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRampTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRampTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRamp::declaration() const { return *IFC4X3_RC4_IfcRamp_type; } @@ -19720,7 +19720,7 @@ Ifc4x3_rc4::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcRampFlight boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > Ifc4x3_rc4::IfcRampFlight::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRampFlightTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRampFlightTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlight::declaration() const { return *IFC4X3_RC4_IfcRampFlight_type; } @@ -19772,9 +19772,9 @@ Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKno double Ifc4x3_rc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setWallThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRectangleHollowProfileDef::declaration() const { return *IFC4X3_RC4_IfcRectangleHollowProfileDef_type; } @@ -19834,19 +19834,19 @@ Ifc4x3_rc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_ ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcRecurrenceTypeEnum::ToString(v)));data_->setArgument(0,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::DayComponent() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::WeekdayComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::MonthComponent() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Position() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Interval() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } int v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Occurrences() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } int v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcTimePeriod >(); } -void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRecurrencePattern::declaration() const { return *IFC4X3_RC4_IfcRecurrencePattern_type; } @@ -19856,13 +19856,13 @@ Ifc4x3_rc4::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc4::IfcRecurren // Function implementations for IfcReference boost::optional< std::string > Ifc4x3_rc4::IfcReference::TypeIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReference::AttributeIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReference::InstanceName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcReference::setInnerReference(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19874,9 +19874,9 @@ Ifc4x3_rc4::IfcReference::IfcReference(boost::optional< std::string > v1_TypeIde // Function implementations for IfcReferent boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > Ifc4x3_rc4::IfcReferent::PredefinedType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReferentTypeEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReferentTypeEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReferentTypeEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReferent::RestartDistance() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcReferent::setRestartDistance(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReferent::declaration() const { return *IFC4X3_RC4_IfcReferent_type; } @@ -19898,7 +19898,7 @@ Ifc4x3_rc4::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boos // Function implementations for IfcReinforcedSoil boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc4::IfcReinforcedSoil::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcedSoil::declaration() const { return *IFC4X3_RC4_IfcReinforcedSoil_type; } @@ -19912,13 +19912,13 @@ void Ifc4x3_rc4::IfcReinforcementBarProperties::setTotalCrossSectionArea(double std::string Ifc4x3_rc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setSteelGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcementBarProperties::BarSurface() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::BarCount() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementBarProperties::declaration() const { return *IFC4X3_RC4_IfcReinforcementBarProperties_type; } @@ -19928,7 +19928,7 @@ Ifc4x3_rc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double // Function implementations for IfcReinforcementDefinitionProperties boost::optional< std::string > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19940,15 +19940,15 @@ Ifc4x3_rc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProp // Function implementations for IfcReinforcingBar boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::NominalDiameter() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::CrossSectionArea() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::BarLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBar::declaration() const { return *IFC4X3_RC4_IfcReinforcingBar_type; } @@ -19960,17 +19960,17 @@ Ifc4x3_rc4::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4 ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::BarLength() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBarType::BarSurface() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::declaration() const { return *IFC4X3_RC4_IfcReinforcingBarType_type; } @@ -19980,7 +19980,7 @@ Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElement::declaration() const { return *IFC4X3_RC4_IfcReinforcingElement_type; } @@ -19998,23 +19998,23 @@ Ifc4x3_rc4::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_ // Function implementations for IfcReinforcingMesh boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshLength() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshWidth() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingMesh::PredefinedType() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(17)); } -void Ifc4x3_rc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(*v)));data_->setArgument(17,attr);} } +void Ifc4x3_rc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(*v)));}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMesh::declaration() const { return *IFC4X3_RC4_IfcReinforcingMesh_type; } @@ -20026,25 +20026,25 @@ Ifc4x3_rc4::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::If ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshLength() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshWidth() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::declaration() const { return *IFC4X3_RC4_IfcReinforcingMeshType_type; } @@ -20080,7 +20080,7 @@ Ifc4x3_rc4::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3 aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > Ifc4x3_rc4::IfcRelAssigns::RelatedObjectsType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(*data_->getArgument(5)); } -void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v)));}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssigns::declaration() const { return *IFC4X3_RC4_IfcRelAssigns_type; } @@ -20194,7 +20194,7 @@ Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20330,7 +20330,7 @@ void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc ::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc4::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20354,7 +20354,7 @@ Ifc4x3_rc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std:: aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcElement >(); } void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::declaration() const { return *IFC4X3_RC4_IfcRelConnectsWithRealizingElements_type; } @@ -20508,7 +20508,7 @@ void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc4: ::Ifc4x3_rc4::IfcSpatialZone* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcSpatialZone>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3_rc4::IfcSpatialZone* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::logic::tribool Ifc4x3_rc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20574,9 +20574,9 @@ void Ifc4x3_rc4::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc4::IfcProcess* v) ::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcLagTime>(true); } void Ifc4x3_rc4::IfcRelSequence::setTimeLag(::Ifc4x3_rc4::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > Ifc4x3_rc4::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSequenceEnum::FromString(*data_->getArgument(7)); } -void Ifc4x3_rc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSequenceEnum::ToString(*v)));}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRelSequence::UserDefinedSequenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelSequence::declaration() const { return *IFC4X3_RC4_IfcRelSequence_type; } @@ -20670,9 +20670,9 @@ Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu ::Ifc4x3_rc4::IfcRepresentationContext* Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationContext>(true); } void Ifc4x3_rc4::IfcRepresentation::setContextOfItems(::Ifc4x3_rc4::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationType() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Ifc4x3_rc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcRepresentationItem >(); } void Ifc4x3_rc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -20687,9 +20687,9 @@ Ifc4x3_rc4::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc4::IfcRepresentation // Function implementations for IfcRepresentationContext boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextIdentifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextType() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcRepresentation::list::ptr Ifc4x3_rc4::IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IFC4X3_RC4_IfcRepresentation_type, 0)->as(); } @@ -20724,9 +20724,9 @@ Ifc4x3_rc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc4::IfcAxis2Pla // Function implementations for IfcResource boost::optional< std::string > Ifc4x3_rc4::IfcResource::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResource::LongDescription() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToResource::list::ptr Ifc4x3_rc4::IfcResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToResource_type, 6)->as(); } @@ -20761,9 +20761,9 @@ Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceLevelRelationship::declaration() const { return *IFC4X3_RC4_IfcResourceLevelRelationship_type; } @@ -20773,35 +20773,35 @@ Ifc4x3_rc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::op // Function implementations for IfcResourceTime boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleWork() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ScheduleUsage() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleContour() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::LevelingDelay() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcResourceTime::IsOverAllocated() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::StatusTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualWork() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ActualUsage() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualStart() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } std::string v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualFinish() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::RemainingWork() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc4::IfcResourceTime::RemainingUsage() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< double > Ifc4x3_rc4::IfcResourceTime::Completion() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } double v = *data_->getArgument(17); return v; } -void Ifc4x3_rc4::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc4::IfcResourceTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceTime::declaration() const { return *IFC4X3_RC4_IfcResourceTime_type; } @@ -20857,7 +20857,7 @@ Ifc4x3_rc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc4::Ifc // Function implementations for IfcRoad boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > Ifc4x3_rc4::IfcRoad::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoadTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRoadTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRoadTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoad::declaration() const { return *IFC4X3_RC4_IfcRoad_type; } @@ -20867,7 +20867,7 @@ Ifc4x3_rc4::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcRoof boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > Ifc4x3_rc4::IfcRoof::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRoofTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcRoofTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoof::declaration() const { return *IFC4X3_RC4_IfcRoof_type; } @@ -20891,9 +20891,9 @@ void Ifc4x3_rc4::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgume ::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcOwnerHistory>(true); } void Ifc4x3_rc4::IfcRoot::setOwnerHistory(::Ifc4x3_rc4::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcRoot::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoot::declaration() const { return *IFC4X3_RC4_IfcRoot_type; } @@ -20913,7 +20913,7 @@ Ifc4x3_rc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x // Function implementations for IfcSIUnit boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Ifc4x3_rc4::IfcSIUnit::Prefix() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSIPrefix::FromString(*data_->getArgument(2)); } -void Ifc4x3_rc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSIPrefix::ToString(*v)));data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSIPrefix::ToString(*v)));}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcSIUnitName::Value Ifc4x3_rc4::IfcSIUnit::Name() const { return ::Ifc4x3_rc4::IfcSIUnitName::FromString(*data_->getArgument(3)); } void Ifc4x3_rc4::IfcSIUnit::setName(::Ifc4x3_rc4::IfcSIUnitName::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSIUnitName::ToString(v)));data_->setArgument(3,attr);} } @@ -20925,7 +20925,7 @@ Ifc4x3_rc4::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, b // Function implementations for IfcSanitaryTerminal boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc4::IfcSanitaryTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminal::declaration() const { return *IFC4X3_RC4_IfcSanitaryTerminal_type; } @@ -20945,11 +20945,11 @@ Ifc4x3_rc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_Glob // Function implementations for IfcSchedulingTime boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > Ifc4x3_rc4::IfcSchedulingTime::DataOrigin() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(*data_->getArgument(1)); } -void Ifc4x3_rc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(*v)));data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(*v)));}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSchedulingTime::declaration() const { return *IFC4X3_RC4_IfcSchedulingTime_type; } @@ -20969,9 +20969,9 @@ Ifc4x3_rc4::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggre double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC4_IfcSecondOrderPolynomialSpiral_type; } @@ -20999,7 +20999,7 @@ void Ifc4x3_rc4::IfcSectionReinforcementProperties::setLongitudinalStartPosition double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSectionReinforcementProperties::TransversePosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcSectionProperties* Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSectionProperties>(true); } @@ -21092,7 +21092,7 @@ Ifc4x3_rc4::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< // Function implementations for IfcSensor boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > Ifc4x3_rc4::IfcSensor::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSensorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSensorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSensor::declaration() const { return *IFC4X3_RC4_IfcSensor_type; } @@ -21114,19 +21114,19 @@ Ifc4x3_rc4::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc4:: double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC4_IfcSeventhOrderPolynomialSpiral_type; } @@ -21136,7 +21136,7 @@ Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::I // Function implementations for IfcShadingDevice boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcShadingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDevice::declaration() const { return *IFC4X3_RC4_IfcShadingDevice_type; } @@ -21158,9 +21158,9 @@ Ifc4x3_rc4::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3_rc4::IfcShapeModel >(); } void Ifc4x3_rc4::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcShapeAspect::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcProductRepresentationSelect* Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(true); } @@ -21202,7 +21202,7 @@ Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_in // Function implementations for IfcSign boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSignTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSignTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSign::declaration() const { return *IFC4X3_RC4_IfcSign_type; } @@ -21222,7 +21222,7 @@ Ifc4x3_rc4::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcSignal boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > Ifc4x3_rc4::IfcSignal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSignalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSignalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSignal::declaration() const { return *IFC4X3_RC4_IfcSignal_type; } @@ -21250,11 +21250,11 @@ Ifc4x3_rc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::opt // Function implementations for IfcSimplePropertyTemplate boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::TemplateType() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::FromString(*data_->getArgument(4)); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::ToString(*v)));}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcUnit>(true); } @@ -21262,9 +21262,9 @@ void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc4::IfcUnit ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::AccessState() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStateEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStateEnum::ToString(*v)));}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSimplePropertyTemplate::declaration() const { return *IFC4X3_RC4_IfcSimplePropertyTemplate_type; } @@ -21276,9 +21276,9 @@ Ifc4x3_rc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_ double Ifc4x3_rc4::IfcSine::SineTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSine::setSineTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSine::LinearTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSine::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSine::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSine::ConstantTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcSine::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcSine::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSine::declaration() const { return *IFC4X3_RC4_IfcSine_type; } @@ -21288,13 +21288,13 @@ Ifc4x3_rc4::IfcSine::IfcSine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, doubl // Function implementations for IfcSite boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLatitude() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLongitude() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSite::RefElevation() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } ::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } void Ifc4x3_rc4::IfcSite::setSiteAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21306,7 +21306,7 @@ Ifc4x3_rc4::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcSlab boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > Ifc4x3_rc4::IfcSlab::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSlabTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSlabTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlab::declaration() const { return *IFC4X3_RC4_IfcSlab_type; } @@ -21342,11 +21342,11 @@ Ifc4x3_rc4::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcSlippageConnectionCondition boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlippageConnectionCondition::declaration() const { return *IFC4X3_RC4_IfcSlippageConnectionCondition_type; } @@ -21356,7 +21356,7 @@ Ifc4x3_rc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost // Function implementations for IfcSolarDevice boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSolarDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDevice::declaration() const { return *IFC4X3_RC4_IfcSolarDevice_type; } @@ -21392,9 +21392,9 @@ Ifc4x3_rc4::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcSpace boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > Ifc4x3_rc4::IfcSpace::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSpace::ElevationWithFlooring() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcRelCoversSpaces::list::ptr Ifc4x3_rc4::IfcSpace::HasCoverings() const { return data_->getInverse(IFC4X3_RC4_IfcRelCoversSpaces_type, 4)->as(); } ::Ifc4x3_rc4::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc4::IfcSpace::BoundedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelSpaceBoundary_type, 4)->as(); } @@ -21406,7 +21406,7 @@ Ifc4x3_rc4::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi // Function implementations for IfcSpaceHeater boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc4::IfcSpaceHeater::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeater::declaration() const { return *IFC4X3_RC4_IfcSpaceHeater_type; } @@ -21428,7 +21428,7 @@ Ifc4x3_rc4::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::If ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSpaceType::setPredefinedType(::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpaceTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSpaceType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceType::declaration() const { return *IFC4X3_RC4_IfcSpaceType_type; } @@ -21438,7 +21438,7 @@ Ifc4x3_rc4::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc4::If // Function implementations for IfcSpatialElement boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElement::LongName() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcSpatialElement::ContainsElements() const { return data_->getInverse(IFC4X3_RC4_IfcRelContainedInSpatialStructure_type, 5)->as(); } ::Ifc4x3_rc4::IfcRelServicesBuildings::list::ptr Ifc4x3_rc4::IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IFC4X3_RC4_IfcRelServicesBuildings_type, 5)->as(); } @@ -21451,7 +21451,7 @@ Ifc4x3_rc4::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcSpatialElementType boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElementType::ElementType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElementType::declaration() const { return *IFC4X3_RC4_IfcSpatialElementType_type; } @@ -21461,7 +21461,7 @@ Ifc4x3_rc4::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId // Function implementations for IfcSpatialStructureElement boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > Ifc4x3_rc4::IfcSpatialStructureElement::CompositionType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElementCompositionEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcElementCompositionEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElement::declaration() const { return *IFC4X3_RC4_IfcSpatialStructureElement_type; } @@ -21479,7 +21479,7 @@ Ifc4x3_rc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std:: // Function implementations for IfcSpatialZone boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc4::IfcSpatialZone::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZone::declaration() const { return *IFC4X3_RC4_IfcSpatialZone_type; } @@ -21491,7 +21491,7 @@ Ifc4x3_rc4::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc4 ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSpatialZoneType::LongName() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZoneType::declaration() const { return *IFC4X3_RC4_IfcSpatialZoneType_type; } @@ -21531,7 +21531,7 @@ Ifc4x3_rc4::IfcSpiral::IfcSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : // Function implementations for IfcStackTerminal boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc4::IfcStackTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStackTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStackTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminal::declaration() const { return *IFC4X3_RC4_IfcStackTerminal_type; } @@ -21551,7 +21551,7 @@ Ifc4x3_rc4::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, // Function implementations for IfcStair boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > Ifc4x3_rc4::IfcStair::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStairTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStairTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStair::declaration() const { return *IFC4X3_RC4_IfcStair_type; } @@ -21561,15 +21561,15 @@ Ifc4x3_rc4::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi // Function implementations for IfcStairFlight boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfRisers() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } int v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfTreads() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } int v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStairFlight::RiserHeight() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStairFlight::TreadLength() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > Ifc4x3_rc4::IfcStairFlight::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStairFlightTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStairFlightTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlight::declaration() const { return *IFC4X3_RC4_IfcStairFlight_type; } @@ -21599,7 +21599,7 @@ Ifc4x3_rc4::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc4::If // Function implementations for IfcStructuralAction boost::optional< bool > Ifc4x3_rc4::IfcStructuralAction::DestabilizingLoad() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } bool v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAction::declaration() const { return *IFC4X3_RC4_IfcStructuralAction_type; } @@ -21626,9 +21626,9 @@ void Ifc4x3_rc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc4::Ifc ::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadGroup >(); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcStructuralResultGroup >(); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21651,7 +21651,7 @@ Ifc4x3_rc4::IfcStructuralConnection::IfcStructuralConnection(std::string v1_Glob // Function implementations for IfcStructuralConnectionCondition boost::optional< std::string > Ifc4x3_rc4::IfcStructuralConnectionCondition::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnectionCondition::declaration() const { return *IFC4X3_RC4_IfcStructuralConnectionCondition_type; } @@ -21661,7 +21661,7 @@ Ifc4x3_rc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(b // Function implementations for IfcStructuralCurveAction boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21730,7 +21730,7 @@ Ifc4x3_rc4::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_ // Function implementations for IfcStructuralLoad boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoad::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoad::declaration() const { return *IFC4X3_RC4_IfcStructuralLoad_type; } @@ -21740,7 +21740,7 @@ Ifc4x3_rc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > // Function implementations for IfcStructuralLoadCase boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadCase::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadCase_type; } @@ -21752,7 +21752,7 @@ Ifc4x3_rc4::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Locations() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadConfiguration_type; } @@ -21768,9 +21768,9 @@ void Ifc4x3_rc4::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc4::IfcActionTy ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc4::IfcActionSourceTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcActionSourceTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadGroup::Coefficient() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoadGroup::Purpose() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcStructuralResultGroup::list::ptr Ifc4x3_rc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IFC4X3_RC4_IfcStructuralResultGroup_type, 6)->as(); } ::Ifc4x3_rc4::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc4::IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IFC4X3_RC4_IfcStructuralAnalysisModel_type, 7)->as(); } @@ -21782,17 +21782,17 @@ Ifc4x3_rc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_Global // Function implementations for IfcStructuralLoadLinearForce boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadLinearForce::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadLinearForce_type; } @@ -21810,11 +21810,11 @@ Ifc4x3_rc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional // Function implementations for IfcStructuralLoadPlanarForce boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadPlanarForce::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadPlanarForce_type; } @@ -21824,17 +21824,17 @@ Ifc4x3_rc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::op // Function implementations for IfcStructuralLoadSingleDisplacement boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleDisplacement_type; } @@ -21844,7 +21844,7 @@ Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplace // Function implementations for IfcStructuralLoadSingleDisplacementDistortion boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleDisplacementDistortion_type; } @@ -21854,17 +21854,17 @@ Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSing // Function implementations for IfcStructuralLoadSingleForce boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForce::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleForce_type; } @@ -21874,7 +21874,7 @@ Ifc4x3_rc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::op // Function implementations for IfcStructuralLoadSingleForceWarping boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadSingleForceWarping_type; } @@ -21892,11 +21892,11 @@ Ifc4x3_rc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< st // Function implementations for IfcStructuralLoadTemperature boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadTemperature::declaration() const { return *IFC4X3_RC4_IfcStructuralLoadTemperature_type; } @@ -21972,7 +21972,7 @@ Ifc4x3_rc4::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_Gl // Function implementations for IfcStructuralSurfaceAction boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v)));}data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(*data_->getArgument(11)); } void Ifc4x3_rc4::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::ToString(v)));data_->setArgument(11,attr);} } @@ -21994,7 +21994,7 @@ Ifc4x3_rc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std:: ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcStructuralSurfaceMember::Thickness() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceMember::declaration() const { return *IFC4X3_RC4_IfcStructuralSurfaceMember_type; } @@ -22034,7 +22034,7 @@ void Ifc4x3_rc4::IfcStyledItem::setItem(::Ifc4x3_rc4::IfcRepresentationItem* v) aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } void Ifc4x3_rc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcStyledItem::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcStyledItem::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcStyledItem::declaration() const { return *IFC4X3_RC4_IfcStyledItem_type; } @@ -22052,7 +22052,7 @@ Ifc4x3_rc4::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc4::IfcRe // Function implementations for IfcSubContractResource boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc4::IfcSubContractResource::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResource::declaration() const { return *IFC4X3_RC4_IfcSubContractResource_type; } @@ -22114,7 +22114,7 @@ Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x // Function implementations for IfcSurfaceFeature boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelAdheresToElement::list::ptr Ifc4x3_rc4::IfcSurfaceFeature::AdheresToElement() const { return data_->getInverse(IFC4X3_RC4_IfcRelAdheresToElement_type, 5)->as(); } @@ -22147,11 +22147,11 @@ Ifc4x3_rc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc4::IfcProf // Function implementations for IfcSurfaceReinforcementArea boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceReinforcementArea::declaration() const { return *IFC4X3_RC4_IfcSurfaceReinforcementArea_type; } @@ -22189,9 +22189,9 @@ Ifc4x3_rc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc4::IfcCo // Function implementations for IfcSurfaceStyleRefraction boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } double v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleRefraction::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyleRefraction_type; } @@ -22225,7 +22225,7 @@ Ifc4x3_rc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc4::Ifc ::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleShading::declaration() const { return *IFC4X3_RC4_IfcSurfaceStyleShading_type; } @@ -22249,11 +22249,11 @@ void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatS(bool v) { {IfcWrite::IfcWriteArgu bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc4::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcTextureCoordinate::list::ptr Ifc4x3_rc4::IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IFC4X3_RC4_IfcTextureCoordinate_type, 0)->as(); } ::Ifc4x3_rc4::IfcSurfaceStyleWithTextures::list::ptr Ifc4x3_rc4::IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IFC4X3_RC4_IfcSurfaceStyleWithTextures_type, 0)->as(); } @@ -22281,11 +22281,11 @@ void Ifc4x3_rc4::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {I double Ifc4x3_rc4::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::InnerRadius() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolid::declaration() const { return *IFC4X3_RC4_IfcSweptDiskSolid_type; } @@ -22295,7 +22295,7 @@ Ifc4x3_rc4::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc4::IfcCurve* v1_Dire // Function implementations for IfcSweptDiskSolidPolygonal boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::declaration() const { return *IFC4X3_RC4_IfcSweptDiskSolidPolygonal_type; } @@ -22317,7 +22317,7 @@ Ifc4x3_rc4::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc4::IfcProfileDef* v1_Swe // Function implementations for IfcSwitchingDevice boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSwitchingDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDevice::declaration() const { return *IFC4X3_RC4_IfcSwitchingDevice_type; } @@ -22347,7 +22347,7 @@ Ifc4x3_rc4::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner // Function implementations for IfcSystemFurnitureElement boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElement::declaration() const { return *IFC4X3_RC4_IfcSystemFurnitureElement_type; } @@ -22357,7 +22357,7 @@ Ifc4x3_rc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_ // Function implementations for IfcSystemFurnitureElementType boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElementType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElementType::declaration() const { return *IFC4X3_RC4_IfcSystemFurnitureElementType_type; } @@ -22375,15 +22375,15 @@ void Ifc4x3_rc4::IfcTShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebSlope() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcTShapeProfileDef_type; } @@ -22393,11 +22393,11 @@ Ifc4x3_rc4::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc4::IfcProfileTyp // Function implementations for IfcTable boost::optional< std::string > Ifc4x3_rc4::IfcTable::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcTable::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > Ifc4x3_rc4::IfcTable::Rows() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcTableRow >(); } -void Ifc4x3_rc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > Ifc4x3_rc4::IfcTable::Columns() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcTableColumn >(); } -void Ifc4x3_rc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTable::declaration() const { return *IFC4X3_RC4_IfcTable_type; } @@ -22407,11 +22407,11 @@ Ifc4x3_rc4::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::op // Function implementations for IfcTableColumn boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Identifier() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Name() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcTableColumn::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } @@ -22425,9 +22425,9 @@ Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Ide // Function implementations for IfcTableRow boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } +void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::declaration() const { return *IFC4X3_RC4_IfcTableRow_type; } @@ -22437,7 +22437,7 @@ Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr // Function implementations for IfcTank boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTankTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTankTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTank::declaration() const { return *IFC4X3_RC4_IfcTank_type; } @@ -22457,17 +22457,17 @@ Ifc4x3_rc4::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcTask boost::optional< std::string > Ifc4x3_rc4::IfcTask::Status() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTask::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTask::WorkMethod() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } bool Ifc4x3_rc4::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc4::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcTaskTime* Ifc4x3_rc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcTaskTime>(true); } void Ifc4x3_rc4::IfcTask::setTaskTime(::Ifc4x3_rc4::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > Ifc4x3_rc4::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } -void Ifc4x3_rc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTaskTypeEnum::ToString(*v)));}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTask::declaration() const { return *IFC4X3_RC4_IfcTask_type; } @@ -22477,39 +22477,39 @@ Ifc4x3_rc4::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcTaskTime boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > Ifc4x3_rc4::IfcTaskTime::DurationType() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(*data_->getArgument(3)); } -void Ifc4x3_rc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTaskDurationEnum::ToString(*v)));data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTaskDurationEnum::ToString(*v)));}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleDuration() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleFinish() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyFinish() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateStart() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::FreeFloat() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::TotalFloat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTaskTime::IsCritical() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } bool v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::StatusTime() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualDuration() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } std::string v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualStart() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } std::string v = *data_->getArgument(16); return v; } -void Ifc4x3_rc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualFinish() const { if(!data_->getArgument(17) || data_->getArgument(17)->isNull()) { return boost::none; } std::string v = *data_->getArgument(17); return v; } -void Ifc4x3_rc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::RemainingTime() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } -void Ifc4x3_rc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTaskTime::Completion() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } double v = *data_->getArgument(19); return v; } -void Ifc4x3_rc4::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(19,attr);} } +void Ifc4x3_rc4::IfcTaskTime::setCompletion(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTaskTime::declaration() const { return *IFC4X3_RC4_IfcTaskTime_type; } @@ -22531,7 +22531,7 @@ Ifc4x3_rc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::str ::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTaskType::setPredefinedType(::Ifc4x3_rc4::IfcTaskTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTaskTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTaskType::WorkMethod() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTaskType::declaration() const { return *IFC4X3_RC4_IfcTaskType_type; } @@ -22541,17 +22541,17 @@ Ifc4x3_rc4::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcTelecomAddress boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::TelephoneNumbers() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::FacsimileNumbers() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::PagerNumber() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::WWWHomePageURL() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::MessagingIDs() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTelecomAddress::declaration() const { return *IFC4X3_RC4_IfcTelecomAddress_type; } @@ -22561,21 +22561,21 @@ Ifc4x3_rc4::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc4:: // Function implementations for IfcTendon boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > Ifc4x3_rc4::IfcTendon::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::TensionForce() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcTendon::setTensionForce(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::PreStress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcTendon::setPreStress(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::FrictionCoefficient() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::AnchorageSlip() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendon::MinCurvatureRadius() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } -void Ifc4x3_rc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } +void Ifc4x3_rc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(16,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendon::declaration() const { return *IFC4X3_RC4_IfcTendon_type; } @@ -22585,7 +22585,7 @@ Ifc4x3_rc4::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner // Function implementations for IfcTendonAnchor boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc4::IfcTendonAnchor::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchor::declaration() const { return *IFC4X3_RC4_IfcTendonAnchor_type; } @@ -22627,11 +22627,11 @@ Ifc4x3_rc4::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(*data_->getArgument(9)); } void Ifc4x3_rc4::IfcTendonType::setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(v)));data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendonType::NominalDiameter() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendonType::CrossSectionArea() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< double > Ifc4x3_rc4::IfcTendonType::SheathDiameter() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonType::declaration() const { return *IFC4X3_RC4_IfcTendonType_type; } @@ -22693,7 +22693,7 @@ void Ifc4x3_rc4::IfcTextStyle::setTextStyle(::Ifc4x3_rc4::IfcTextStyleTextModel* ::Ifc4x3_rc4::IfcTextFontSelect* Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTextFontSelect>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc4::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyle::declaration() const { return *IFC4X3_RC4_IfcTextStyle_type; } @@ -22705,11 +22705,11 @@ Ifc4x3_rc4::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, : std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22735,15 +22735,15 @@ Ifc4x3_rc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc4: ::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22767,7 +22767,7 @@ Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc std::string Ifc4x3_rc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setMode(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc4::IfcTextureCoordinateGenerator::Parameter() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::declaration() const { return *IFC4X3_RC4_IfcTextureCoordinateGenerator_type; } @@ -22811,11 +22811,11 @@ Ifc4x3_rc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::declaration() const { return *IFC4X3_RC4_IfcThirdOrderPolynomialSpiral_type; } @@ -22839,7 +22839,7 @@ Ifc4x3_rc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v std::string Ifc4x3_rc4::IfcTimeSeries::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } std::string Ifc4x3_rc4::IfcTimeSeries::StartTime() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcTimeSeries::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc4x3_rc4::IfcTimeSeries::EndTime() const { std::string v = *data_->getArgument(3); return v; } @@ -22849,7 +22849,7 @@ void Ifc4x3_rc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc4::IfcTimeSerie ::Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc4::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcTimeSeries::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -22900,7 +22900,7 @@ Ifc4x3_rc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc4::IfcAxis2Placeme // Function implementations for IfcTrackElement boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > Ifc4x3_rc4::IfcTrackElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTrackElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTrackElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElement::declaration() const { return *IFC4X3_RC4_IfcTrackElement_type; } @@ -22920,7 +22920,7 @@ Ifc4x3_rc4::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, :: // Function implementations for IfcTransformer boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > Ifc4x3_rc4::IfcTransformer::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTransformerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTransformerTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTransformer::declaration() const { return *IFC4X3_RC4_IfcTransformer_type; } @@ -22976,13 +22976,13 @@ Ifc4x3_rc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc4::IfcProf // Function implementations for IfcTriangulatedFaceSet boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcTriangulatedFaceSet::Normals() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< std::vector< double > > v = *data_->getArgument(1); return v; } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } +void Ifc4x3_rc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTriangulatedFaceSet::Closed() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } +void Ifc4x3_rc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } std::vector< std::vector< int > > Ifc4x3_rc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcTriangulatedFaceSet::PnIndex() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTriangulatedFaceSet::declaration() const { return *IFC4X3_RC4_IfcTriangulatedFaceSet_type; } @@ -23020,7 +23020,7 @@ Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCur // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTubeBundleTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundle::declaration() const { return *IFC4X3_RC4_IfcTubeBundle_type; } @@ -23040,9 +23040,9 @@ Ifc4x3_rc4::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcTypeObject boost::optional< std::string > Ifc4x3_rc4::IfcTypeObject::ApplicableOccurrence() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } -void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelDefinesByType::list::ptr Ifc4x3_rc4::IfcTypeObject::Types() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByType_type, 5)->as(); } @@ -23053,11 +23053,11 @@ Ifc4x3_rc4::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcTypeProcess boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::ProcessType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc4::IfcTypeProcess::OperatesOn() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToProcess_type, 6)->as(); } @@ -23068,9 +23068,9 @@ Ifc4x3_rc4::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcTypeProduct boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > Ifc4x3_rc4::IfcTypeProduct::RepresentationMaps() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcRepresentationMap >(); } -void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTypeProduct::Tag() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc4::IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToProduct_type, 6)->as(); } @@ -23081,11 +23081,11 @@ Ifc4x3_rc4::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcTypeResource boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::Identification() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::LongDescription() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::ResourceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToResource::list::ptr Ifc4x3_rc4::IfcTypeResource::ResourceOf() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToResource_type, 6)->as(); } @@ -23104,11 +23104,11 @@ void Ifc4x3_rc4::IfcUShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FlangeSlope() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcUShapeProfileDef_type; } @@ -23128,7 +23128,7 @@ Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_U // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElement::declaration() const { return *IFC4X3_RC4_IfcUnitaryControlElement_type; } @@ -23148,7 +23148,7 @@ Ifc4x3_rc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::stri // Function implementations for IfcUnitaryEquipment boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryEquipment::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipment::declaration() const { return *IFC4X3_RC4_IfcUnitaryEquipment_type; } @@ -23168,7 +23168,7 @@ Ifc4x3_rc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_Glob // Function implementations for IfcValve boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > Ifc4x3_rc4::IfcValve::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcValveTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcValveTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcValve::declaration() const { return *IFC4X3_RC4_IfcValve_type; } @@ -23228,7 +23228,7 @@ Ifc4x3_rc4::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc4::IfcPoint* v1_VertexGeom // Function implementations for IfcVibrationDamper boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamper::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamper::declaration() const { return *IFC4X3_RC4_IfcVibrationDamper_type; } @@ -23238,7 +23238,7 @@ Ifc4x3_rc4::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::If // Function implementations for IfcVibrationDamperType boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamperType::PredefinedType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(*data_->getArgument(9)); } -void Ifc4x3_rc4::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v)));data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::ToString(*v)));}data_->setArgument(9,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamperType::declaration() const { return *IFC4X3_RC4_IfcVibrationDamperType_type; } @@ -23248,7 +23248,7 @@ Ifc4x3_rc4::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_Global // Function implementations for IfcVibrationIsolator boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc4::IfcVibrationIsolator::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolator::declaration() const { return *IFC4X3_RC4_IfcVibrationIsolator_type; } @@ -23296,7 +23296,7 @@ Ifc4x3_rc4::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcVoidingFeature boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc4::IfcVoidingFeature::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcVoidingFeature::declaration() const { return *IFC4X3_RC4_IfcVoidingFeature_type; } @@ -23306,7 +23306,7 @@ Ifc4x3_rc4::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcWall boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > Ifc4x3_rc4::IfcWall::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWallTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWallTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWall::declaration() const { return *IFC4X3_RC4_IfcWall_type; } @@ -23342,7 +23342,7 @@ Ifc4x3_rc4::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcWasteTerminal boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc4::IfcWasteTerminal::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminal::declaration() const { return *IFC4X3_RC4_IfcWasteTerminal_type; } @@ -23370,15 +23370,15 @@ Ifc4x3_rc4::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_r // Function implementations for IfcWindow boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallHeight() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcWindow::setOverallHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallWidth() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcWindow::setOverallWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > Ifc4x3_rc4::IfcWindow::PredefinedType() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(*data_->getArgument(10)); } -void Ifc4x3_rc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(*v)));data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWindowTypeEnum::ToString(*v)));}data_->setArgument(10,attr);} } boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc4::IfcWindow::PartitioningType() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(11)); } -void Ifc4x3_rc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(*v)));data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(*v)));}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWindow::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindow::declaration() const { return *IFC4X3_RC4_IfcWindow_type; } @@ -23388,29 +23388,29 @@ Ifc4x3_rc4::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner // Function implementations for IfcWindowLiningProperties boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningDepth() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningThickness() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::TransomThickness() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::MullionThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } ::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(13,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } double v = *data_->getArgument(14); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(14,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } -void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } +void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowLiningProperties::declaration() const { return *IFC4X3_RC4_IfcWindowLiningProperties_type; } @@ -23424,9 +23424,9 @@ void Ifc4x3_rc4::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc4::IfcWin ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowPanelPositionEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } double v = *data_->getArgument(6); return v; } -void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23466,9 +23466,9 @@ void Ifc4x3_rc4::IfcWindowType::setPredefinedType(::Ifc4x3_rc4::IfcWindowTypeEnu ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcWindowType::setPartitioningType(::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::ToString(v)));data_->setArgument(10,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcWindowType::ParameterTakesPrecedence() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } bool v = *data_->getArgument(11); return v; } -void Ifc4x3_rc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } +void Ifc4x3_rc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWindowType::UserDefinedPartitioningType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowType::declaration() const { return *IFC4X3_RC4_IfcWindowType_type; } @@ -23478,11 +23478,11 @@ Ifc4x3_rc4::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcWorkCalendar boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::WorkingTimes() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(6); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } -void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(6,attr);} } +void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } -void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc4::IfcWorkCalendar::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::FromString(*data_->getArgument(8)); } -void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::ToString(*v)));}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkCalendar::declaration() const { return *IFC4X3_RC4_IfcWorkCalendar_type; } @@ -23494,17 +23494,17 @@ Ifc4x3_rc4::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_r std::string Ifc4x3_rc4::IfcWorkControl::CreationDate() const { std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcWorkControl::setCreationDate(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } -void Ifc4x3_rc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Purpose() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Duration() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } -void Ifc4x3_rc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } +void Ifc4x3_rc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } -void Ifc4x3_rc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } +void Ifc4x3_rc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } std::string Ifc4x3_rc4::IfcWorkControl::StartTime() const { std::string v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcWorkControl::setStartTime(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } -void Ifc4x3_rc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } +void Ifc4x3_rc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(12,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkControl::declaration() const { return *IFC4X3_RC4_IfcWorkControl_type; } @@ -23514,7 +23514,7 @@ Ifc4x3_rc4::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc4 // Function implementations for IfcWorkPlan boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc4::IfcWorkPlan::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkPlanTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkPlanTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkPlan::declaration() const { return *IFC4X3_RC4_IfcWorkPlan_type; } @@ -23524,7 +23524,7 @@ Ifc4x3_rc4::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcWorkSchedule boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc4::IfcWorkSchedule::PredefinedType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::FromString(*data_->getArgument(13)); } -void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } +void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::ToString(*v)));}data_->setArgument(13,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkSchedule::declaration() const { return *IFC4X3_RC4_IfcWorkSchedule_type; } @@ -23536,9 +23536,9 @@ Ifc4x3_rc4::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_r ::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } void Ifc4x3_rc4::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } -void Ifc4x3_rc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } +void Ifc4x3_rc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Finish() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkTime::declaration() const { return *IFC4X3_RC4_IfcWorkTime_type; } @@ -23556,9 +23556,9 @@ void Ifc4x3_rc4::IfcZShapeProfileDef::setWebThickness(double v) { {IfcWrite::Ifc double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeThickness() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setFlangeThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::FilletRadius() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } -void Ifc4x3_rc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } +void Ifc4x3_rc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::EdgeRadius() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } -void Ifc4x3_rc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } +void Ifc4x3_rc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(8,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcZShapeProfileDef::declaration() const { return *IFC4X3_RC4_IfcZShapeProfileDef_type; } @@ -23568,7 +23568,7 @@ Ifc4x3_rc4::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc4::IfcProfileTyp // Function implementations for IfcZone boost::optional< std::string > Ifc4x3_rc4::IfcZone::LongName() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } -void Ifc4x3_rc4::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } +void Ifc4x3_rc4::IfcZone::setLongName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3_rc4::IfcZone::declaration() const { return *IFC4X3_RC4_IfcZone_type; } From 96bcd31d99a0580bcf8b21f088ac43589126f5fb Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 16 May 2022 14:24:57 +0200 Subject: [PATCH 163/243] #2202 Check for nested compound of solid in boolean result handling --- src/ifcgeom/IfcGeomShapes.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 2303774d01..8399a41708 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -541,6 +541,24 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, Ifc return true; } +namespace { + bool is_nested_compound_of_solid(const TopoDS_Shape& s, int depth=0) { + if (s.ShapeType() == TopAbs_COMPOUND) { + TopoDS_Iterator it(s); + for (; it.More(); it.Next()) { + if (!is_nested_compound_of_solid(it.Value(), depth + 1)) { + return false; + } + } + return true; + } else if (s.ShapeType() == TopAbs_SOLID) { + return depth > 0; + } else { + return false; + } + } +} + bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { TopoDS_Shape s1; @@ -697,7 +715,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape bool valid_result; - if (s1.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s1).More() && TopoDS_Iterator(s1).Value().ShapeType() == TopAbs_SOLID) { + if (s1.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s1).More() && is_nested_compound_of_solid(s1)) { TopoDS_Compound C; BRep_Builder B; B.MakeCompound(C); From 4eec863cad53bedcd337cb708cf0d930536d94ae Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 17 May 2022 22:21:11 +0200 Subject: [PATCH 164/243] Example for turning IDS test cases into spec. Sorry for butchering your code @Moult --- src/ifcopenshell-python/test/test_ids.py | 444 +++++++++++++++-------- 1 file changed, 287 insertions(+), 157 deletions(-) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 684bb65a58..06e115d456 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -17,16 +17,20 @@ # along with IfcOpenShell. If not, see . import os +import re import pytest import logging import unittest import tempfile import xmlschema +import functools +import itertools import ifcopenshell import ifcopenshell.api from bcf import bcfxml -from ifcopenshell import ids - +from dataclasses import dataclass +from ifcopenshell import ids, template, validate +from xml.dom.minidom import parseString TEST_PATH = os.path.join(tempfile.gettempdir(), "test.ifc") IFC_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IFC/", "IFC4_Wall_3_with_properties.ifc") @@ -150,6 +154,89 @@ class TestIdsParsing(unittest.TestCase): ) +@dataclass +class doc_test_case: + name: str + ids_content: str + ids_filename: str + ifc_content: str + ifc_filename: str + expected_result: str + + +class spec_generator: + cases = [] + + def __call__(self, name, *, facet, inst, expected): + + if not name: + return + + fail_or_pass = "pass" if expected is True else "fail" + + # Create an IFC file with the instance in `inst` passed to us + # based on an IFC file template with project and units. + f = template.create() + instances = [f.add(inst)] + for nm in inst.wrapped_data.get_inverse_attribute_names(): + for v in getattr(inst, nm): + instances.append(f.add(v)) + + # Validate the file created and loop over the issues, fixing them + # one by one. + l = validate.json_logger() + validate.validate(f, l) + for issue in l.statements: + if "GlobalId" in issue["message"]: + issue["instance"].GlobalId = ifcopenshell.guid.new() + + elif "PredefinedType" in issue["message"]: + ty = re.findall("\\(.+?\\)", issue["message"])[0][1:-1].split(", ")[0] + issue["instance"].PredefinedType = ty + elif "IfcMaterialList" in issue["message"]: + issue["instance"].Materials = [f.createIfcMaterial("Concrete", None, "CONCRETE")] + else: + raise Exception("About to emit invalid example data") + + ifc_text = "\n".join( + map(str, {inst: None for inst in itertools.chain.from_iterable(map(f.traverse, instances))}.keys()) + ) + + basename = f"{fail_or_pass}_{name.lower().replace(' ', '_')}" + + # Write IFC to disk + f.write(f"{basename}.ifc") + + # Create an IDS with the applicability selecting exactly + # the entity type passed to us in `inst`. + specs = ids.ids(title=name) + spec = ids.specification(name=name) + spec.add_applicability(ids.entity.create(name=inst.is_a())) + spec.add_requirement(facet) + specs.specifications.append(spec) + + # Write IDS to disk + with open(f"{basename}.ids", "w", encoding="utf-8") as ids_file: + ids_file.write(specs.to_string()) + + xml_text = "\n".join( + l + for l in parseString(specs.to_string()) + .getElementsByTagName("requirements")[0] + .childNodes[1] + .toprettyxml() + .split("\n") + if l.strip() + ).replace("\t", " ") + + self.cases.append(doc_test_case(name, xml_text, f"{basename}.ids", ifc_text, f"{basename}.ifc", fail_or_pass)) + + assert bool(facet(inst)) is expected + + +case = spec_generator() + + class TestIdsAuthoring(unittest.TestCase): def test_creating_a_minimal_ids_and_validating(self): specs = ids.ids(title="Title") @@ -278,45 +365,67 @@ class TestIdsAuthoring(unittest.TestCase): # Wrong IFC classes are never matched. facet = ids.entity.create(name="IfcRabbit") - assert bool(facet(ifc.createIfcWall())) is False + case("Non-existent entity name", facet=facet, inst=ifc.createIfcWall(), expected=False) # IFC class is checked for an exact match. Subclasses should not match. facet = ids.entity.create(name="IfcWall") - assert bool(facet(ifc.createIfcWall())) is True - assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True - assert bool(facet(ifc.createIfcSlab())) is False - assert bool(facet(ifc.createIfcWallStandardCase())) is False + case("Entity matching", facet=facet, inst=ifc.createIfcWall(), expected=True) + case( + "Entity with PredefinedType", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True + ) + case("Entity matching", facet=facet, inst=ifc.createIfcSlab(), expected=False) + case("Entity subtype", facet=facet, inst=ifc.createIfcWallStandardCase(), expected=False) # IFC class is case insensitive. facet = ids.entity.create(name="IFCWALL") - assert bool(facet(ifc.createIfcWall())) is True - assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True - assert bool(facet(ifc.createIfcSlab())) is False + case("Entity case 0", facet=facet, inst=ifc.createIfcWall(), expected=True) + case("Entity case 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) + case("Entity case 2", facet=facet, inst=ifc.createIfcSlab(), expected=False) # Predefined types are checked from standard enumeration values facet = ids.entity.create(name="IfcWall", predefinedType="SOLIDWALL") - assert bool(facet(ifc.createIfcWall())) is False - assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True - assert bool(facet(ifc.createIfcWall(PredefinedType="PARTITIONING"))) is False + case("Entity PredefinedType 0", facet=facet, inst=ifc.createIfcWall(), expected=False) + case("Entity PredefinedType 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) + case( + "Entity PredefinedType 2", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="PARTITIONING"), + expected=False, + ) # Predefined types are checked from the object type field if not standard facet = ids.entity.create(name="IfcWall", predefinedType="WALDO") - assert bool(facet(ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"))) is True + case( + "Entity user-defined type", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"), + expected=True, + ) # Predefined types are checked from the element type field if not standard for types facet = ids.entity.create(name="IfcWallType", predefinedType="WALDO") - assert bool(facet(ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"))) is True + case( + "Entity ElementType", + facet=facet, + inst=ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"), + expected=True, + ) # Userdefined is not an allowed filter because userdefined implies a specified object or element type facet = ids.entity.create(name="IfcWall", predefinedType="USERDEFINED") - assert bool(facet(ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"))) is False + case( + "Entity no USERDEFINED", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"), + expected=False, + ) # Predefined types should match inherited predefined types from the element type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="X") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IfcWall", predefinedType="X") - assert bool(facet(wall)) is True + case("Entity PredefinedType inheritance 0", facet=facet, inst=wall, expected=True) # Predefined types should match overridden predefined types from the element type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="X") @@ -325,28 +434,28 @@ class TestIdsAuthoring(unittest.TestCase): ) ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IfcWall", predefinedType="X") - assert bool(facet(wall)) is True + case("Entity PredefinedType inheritance 1", facet=facet, inst=wall, expected=True) # Restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration") facet = ids.entity.create(name=restriction) - assert bool(facet(ifc.createIfcWall())) is True - assert bool(facet(ifc.createIfcSlab())) is True - assert bool(facet(ifc.createIfcBeam())) is False + case("Entity enumeration 0", facet=facet, inst=ifc.createIfcWall(), expected=True) + case("Entity enumeration 1", facet=facet, inst=ifc.createIfcSlab(), expected=True) + case("Entity enumeration 2", facet=facet, inst=ifc.createIfcBeam(), expected=False) # Another example of how restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options="Ifc.*Type", type="pattern") facet = ids.entity.create(name=restriction) - assert bool(facet(ifc.createIfcWall())) is False - assert bool(facet(ifc.createIfcWallType())) is True + case("Entity pattern 0", facet=facet, inst=ifc.createIfcWall(), expected=False) + case("Entity pattern 1", facet=facet, inst=ifc.createIfcWallType(), expected=True) # Restrictions are allowed when matching the predefined type restriction = ids.restriction.create(options="FOO.*", type="pattern") facet = ids.entity.create(name="IfcWall", predefinedType=restriction) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") - assert bool(facet(wall)) is True - assert bool(facet(wall2)) is True + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall2, expected=True) def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") @@ -373,28 +482,28 @@ class TestIdsAuthoring(unittest.TestCase): # Attribute names that don't exist are never matched facet = ids.attribute.create(name="Foobar") - assert bool(facet(ifc.createIfcWall())) is False + case("", facet=facet, inst=ifc.createIfcWall(), expected=False) # Attribute names that are either null or empty string are not matched. # The logic is that unfortunately most BIM users cannot differentiate between the two. facet = ids.attribute.create(name="Name") - assert bool(facet(ifc.createIfcWall())) is False - assert bool(facet(ifc.createIfcWall(Name=""))) is False - assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True + case("", facet=facet, inst=ifc.createIfcWall(), expected=False) + case("", facet=facet, inst=ifc.createIfcWall(Name=""), expected=False) + case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) # When a value is specified, the value shall match case sensitively facet = ids.attribute.create(name="Name", value="Foobar") - assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True - assert bool(facet(ifc.createIfcWall(Name="Foobaz"))) is False + case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + case("", facet=facet, inst=ifc.createIfcWall(Name="Foobaz"), expected=False) # A value that is 0 is still considered a value, not "null-like", so it is matched facet = ids.attribute.create(name="Eastings") - assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is True + case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=True) # Simple values which must be strings are checked with strict typing. No type casting shall occur. facet = ids.attribute.create(name="Eastings", value="42") - assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is False - assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is False + case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=False) + case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=False) # Strict type checking is done with restrictions. This is really ugly, but hopefully hidden to a user. restriction = ids.restriction.create(options=[42], type="enumeration", base="decimal") @@ -403,63 +512,63 @@ class TestIdsAuthoring(unittest.TestCase): # options={"minInclusive": 42, "maxInclusive": 42}, type="bounds", base="decimal" # ) facet = ids.attribute.create(name="Eastings", value=restriction) - assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is True + case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=True) # Restrictions are allowed for the name restriction = ids.restriction.create(options=".*Name.*", type="pattern") facet = ids.attribute.create(name=restriction) - assert bool(facet(ifc.createIfcMaterialLayerSet(LayerSetName="Foo"))) is True - assert bool(facet(ifc.createIfcMaterialConstituentSet(Name="Foo"))) is True + case("", facet=facet, inst=ifc.createIfcMaterialLayerSet(LayerSetName="Foo"), expected=True) + case("", facet=facet, inst=ifc.createIfcMaterialConstituentSet(Name="Foo"), expected=True) # Restrictions for the name imply that multiple names may be matched. All, not any, must pass the checks. restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration") facet = ids.attribute.create(name=restriction) - assert bool(facet(ifc.createIfcWall(Name="Foo"))) is False - assert bool(facet(ifc.createIfcWall(Name="Foo", Description="Bar"))) is True + case("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=False) + case("", facet=facet, inst=ifc.createIfcWall(Name="Foo", Description="Bar"), expected=True) # Restrictions are allowed for the value restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration") facet = ids.attribute.create(name="Name", value=restriction) - assert bool(facet(ifc.createIfcWall(Name="Foo"))) is True - assert bool(facet(ifc.createIfcWall(Name="Bar"))) is True - assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is False + case("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=True) + case("", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) + case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) # Location instance only checks on the instance, this seems like intuitive behaviour facet = ids.attribute.create(name="Name", value="Foobar", location="instance") - assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True + case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Name = "Foobar" - assert bool(facet(wall)) is False + case("", facet=facet, inst=wall, expected=False) # Location type only checks on the type. This seems a bit weird honestly. facet = ids.attribute.create(name="Name", value="Foobar", location="type") - assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is False + case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Name = "Foobar" - assert bool(facet(wall)) is True + case("", facet=facet, inst=wall, expected=True) # Location any checks on attributes on the type, which may be inherited by the occurence facet = ids.attribute.create(name="Description", value="Foobar", location="any") - assert bool(facet(ifc.createIfcWall(Description="Foobar"))) is True + case("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Description = "Foobar" - assert bool(facet(wall)) is True + case("", facet=facet, inst=wall, expected=True) # Location any checks on attributes on the type, which may be overriden by attributes on the occurence facet = ids.attribute.create(name="Description", value="Foobar", location="any") - assert bool(facet(ifc.createIfcWall(Description="Foobar"))) is True + case("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Description = "Foobaz" wall.Description = "Foobar" - assert bool(facet(wall)) is True + case("", facet=facet, inst=wall, expected=True) def test_creating_a_classification_facet(self): facet = ids.classification.create() @@ -519,43 +628,43 @@ class TestIdsAuthoring(unittest.TestCase): # A classification facet with no data matches any present classification facet = ids.classification.create() - assert bool(facet(element0)) is False - assert bool(facet(element1)) is True + case("", facet=facet, inst=element0, expected=False) + case("", facet=facet, inst=element1, expected=True) # Values should match exactly if lightweight classifications are used. facet = ids.classification.create(value="1") - assert bool(facet(element1)) is True + case("", facet=facet, inst=element1, expected=True) # Values should match subreferences if full classifications are used. # E.g. a facet searching for Uniclass EF_25_10 Walls will match Uniclass EF_25_10_25, EF_25_10_30, etc facet = ids.classification.create(value="2") - assert bool(facet(element22)) is True + case("", facet=facet, inst=element22, expected=True) # Systems should match exactly regardless of lightweight or full classifications facet = ids.classification.create(system="Foobar") - assert bool(facet(project)) is True - assert bool(facet(element0)) is False - assert bool(facet(element1)) is True - assert bool(facet(element11)) is True - assert bool(facet(element22)) is True + case("", facet=facet, inst=project, expected=True) + case("", facet=facet, inst=element0, expected=False) + case("", facet=facet, inst=element1, expected=True) + case("", facet=facet, inst=element11, expected=True) + case("", facet=facet, inst=element22, expected=True) # Restrictions can be used for values restriction = ids.restriction.create(options="1.*", type="pattern") facet = ids.classification.create(value=restriction) - assert bool(facet(element1)) is True - assert bool(facet(element11)) is True - assert bool(facet(element22)) is False + case("", facet=facet, inst=element1, expected=True) + case("", facet=facet, inst=element11, expected=True) + case("", facet=facet, inst=element22, expected=False) # Restrictions can be used for systems restriction = ids.restriction.create(options="Foo.*", type="pattern") facet = ids.classification.create(system=restriction) - assert bool(facet(element0)) is False - assert bool(facet(element1)) is True + case("", facet=facet, inst=element0, expected=False) + case("", facet=facet, inst=element1, expected=True) # Specifying both a value and a system means that both (as opposed to either) requirements must be met facet = ids.classification.create(system="Foobar", value="1") - assert bool(facet(element1)) is True - assert bool(facet(element11)) is False + case("", facet=facet, inst=element1, expected=True) + case("", facet=facet, inst=element11, expected=False) # Location instance only checks on the instance (even if it's a type), this seems strange though wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -565,10 +674,10 @@ class TestIdsAuthoring(unittest.TestCase): "classification.add_reference", ifc, product=wall_type, reference=ref1, classification=system ) facet = ids.classification.create(value="1", location="instance") - assert bool(facet(wall_type)) is True - assert bool(facet(wall)) is False + case("", facet=facet, inst=wall_type, expected=True) + case("", facet=facet, inst=wall, expected=False) ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref1, classification=system) - assert bool(facet(wall)) is True + case("", facet=facet, inst=wall, expected=True) # Location type only checks on the type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -576,13 +685,13 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref1, classification=system) facet = ids.classification.create(value="1", location="type") - assert bool(facet(wall)) is False - assert bool(facet(wall_type)) is False + case("", facet=facet, inst=wall, expected=False) + case("", facet=facet, inst=wall_type, expected=False) ifcopenshell.api.run( "classification.add_reference", ifc, product=wall_type, reference=ref1, classification=system ) - assert bool(facet(wall)) is True - assert bool(facet(wall_type)) is True + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall_type, expected=True) # Location any checks on either the type or instance. # IFC doesn't specify how inheritance and overrides work here. Two options: @@ -597,11 +706,11 @@ class TestIdsAuthoring(unittest.TestCase): "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system ) facet = ids.classification.create(value="11", location="any") - assert bool(facet(wall)) is True - assert bool(facet(wall_type)) is False + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall_type, expected=False) facet = ids.classification.create(value="22", location="any") - assert bool(facet(wall)) is True - assert bool(facet(wall_type)) is True + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall_type, expected=True) def test_creating_a_property_facet(self): facet = ids.property.create() @@ -649,31 +758,31 @@ class TestIdsAuthoring(unittest.TestCase): # The logic is that unfortunately most BIM users cannot differentiate between the two. facet = ids.property.create(propertySet="Foo_Bar", name="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": None}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # A simple value checks an exact case-sensitive match facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Baz"}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) # Simple values only check string matches facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="1") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "1"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcInteger(1)}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) # Restrictions are supported for property sets. If multiple are matched, all must satisfy requirements. restriction = ids.restriction.create(options="Foo_.*", type="pattern") @@ -681,11 +790,11 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Baz") - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # Restrictions are supported for names. If multiple are matched, all must satisfy requirements. restriction = ids.restriction.create(options="Foo.*", type="pattern") @@ -693,11 +802,11 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "x"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "y"}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) # Restrictions are supported for values. If multiple are matched, all must satisfy requirements. restriction1 = ids.restriction.create(options="Foo.*", type="pattern") @@ -706,9 +815,9 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "y"}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "z"}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) # Restrictions may be used to check basic data primitives restriction = ids.restriction.create(options=[42.12], type="enumeration", base="decimal") @@ -716,19 +825,19 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42.12}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) restriction = ids.restriction.create(options=[42], type="enumeration", base="integer") facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) restriction = ids.restriction.create(options=[True], type="enumeration", base="boolean") facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": True}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": False}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) # When measure is not specified, no unit conversion is done and only primitives are checked restriction = ids.restriction.create(options=[42.12], type="enumeration", base="decimal") @@ -736,7 +845,7 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42.12}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # Measure may be used to specify an IFC data type restriction = ids.restriction.create(options=[2], type="enumeration", base="decimal") @@ -744,9 +853,9 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcMassMeasure(2)}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcTimeMeasure(2)}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # Measure also implies that a unit matters, and so a conversion shall take place to SI units restriction = ids.restriction.create(options=[2], type="enumeration", base="decimal") @@ -754,9 +863,9 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2)}) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2000)}) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # Location instance only checks on the instance, even if the instance is a type. Yes, weird, I know. wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -765,8 +874,8 @@ class TestIdsAuthoring(unittest.TestCase): pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="instance") - assert bool(facet(wall)) is False - assert bool(facet(wall_type)) is True + case("", facet=facet, inst=wall, expected=False) + case("", facet=facet, inst=wall_type, expected=True) # Location type only checks the type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -775,8 +884,8 @@ class TestIdsAuthoring(unittest.TestCase): pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="type") - assert bool(facet(wall)) is True - assert bool(facet(wall_type)) is True + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall_type, expected=True) # Location any checks inherited properties from the type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -785,8 +894,8 @@ class TestIdsAuthoring(unittest.TestCase): pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="any") - assert bool(facet(wall)) is True - assert bool(facet(wall_type)) is True + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall_type, expected=True) # Location any checks overriden properties from the occurrence wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -797,8 +906,8 @@ class TestIdsAuthoring(unittest.TestCase): pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar", location="any") - assert bool(facet(wall)) is True - assert bool(facet(wall_type)) is False + case("", facet=facet, inst=wall, expected=True) + case("", facet=facet, inst=wall_type, expected=False) def test_material_create(self): facet = ids.material.create() @@ -820,98 +929,98 @@ class TestIdsAuthoring(unittest.TestCase): # A material facet with no data matches any present material facet = ids.material.create() element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # A value will match a material name or category facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) material.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # A value will match any material name or category in a material list facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialList") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.add_list_item", ifc, material_list=material_set, material=material) material.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # A value will match any material name or category, or layer name or category in a layer set facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialLayerSet") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) layer = ifcopenshell.api.run("material.add_layer", ifc, layer_set=material_set, material=material) layer.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) layer.Name = "Bar" layer.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) layer.Category = "Bar" material.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # A value will match any material name or category, or profile name or category in a profile set facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialProfileSet") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) profile = ifcopenshell.api.run("material.add_profile", ifc, profile_set=material_set, material=material) profile.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) profile.Name = "Bar" profile.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) profile.Category = "Bar" material.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # A value will match any material name or category, or constituent name or category in a constituent set facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialConstituentSet") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) constituent = ifcopenshell.api.run( "material.add_constituent", ifc, constituent_set=material_set, material=material ) constituent.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) constituent.Name = "Bar" constituent.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) constituent.Category = "Bar" material.Name = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # Location instance will only check instances element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -920,8 +1029,8 @@ class TestIdsAuthoring(unittest.TestCase): material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) facet = ids.material.create(location="instance") - assert bool(facet(element)) is False - assert bool(facet(element_type)) is True + case("", facet=facet, inst=element, expected=False) + case("", facet=facet, inst=element_type, expected=True) # Location type will only check types element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -930,11 +1039,11 @@ class TestIdsAuthoring(unittest.TestCase): material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) facet = ids.material.create(location="type") - assert bool(facet(element)) is False - assert bool(facet(element_type)) is False + case("", facet=facet, inst=element, expected=False) + case("", facet=facet, inst=element_type, expected=False) ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) - assert bool(facet(element)) is True - assert bool(facet(element_type)) is True + case("", facet=facet, inst=element, expected=True) + case("", facet=facet, inst=element_type, expected=True) # Location any will check for inherited materials element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -944,8 +1053,8 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) material.Name = "Foo" facet = ids.material.create(value="Foo", location="any") - assert bool(facet(element)) is True - assert bool(facet(element_type)) is True + case("", facet=facet, inst=element, expected=True) + case("", facet=facet, inst=element_type, expected=True) # Location any will check for overriden materials element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -958,8 +1067,8 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) material.Name = "Foo" facet = ids.material.create(value="Foo", location="any") - assert bool(facet(element)) is True - assert bool(facet(element_type)) is False + case("", facet=facet, inst=element, expected=True) + case("", facet=facet, inst=element_type, expected=False) def test_creating_a_partof_facet(self): facet = ids.partOf.create() @@ -975,15 +1084,15 @@ class TestIdsAuthoring(unittest.TestCase): subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) facet = ids.partOf.create(entity="IfcElementAssembly") - assert bool(facet(element)) is False - assert bool(facet(subelement)) is True + case("", facet=facet, inst=element, expected=False) + case("", facet=facet, inst=subelement, expected=True) # An IfcElementAssembly strictly checks that the whole is an IfcElementAssembly class element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcSlab") subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcBeam") ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) facet = ids.partOf.create(entity="IfcElementAssembly") - assert bool(facet(subelement)) is False + case("", facet=facet, inst=subelement, expected=False) # A nested subelement still passes so long as one of its parents is an IfcElementAssembly element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") @@ -992,38 +1101,37 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) ifcopenshell.api.run("aggregate.assign_object", ifc, product=subsubelement, relating_object=subelement) facet = ids.partOf.create(entity="IfcElementAssembly") - assert bool(facet(subsubelement)) is True + case("", facet=facet, inst=subsubelement, expected=True) # An IfcGroup only checks that a group is assigned without any other logic element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") group = ifcopenshell.api.run("group.add_group", ifc) facet = ids.partOf.create(entity="IfcGroup") - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("group.assign_group", ifc, product=element, group=group) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # An IfcGroup can be passed by subtypes element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") group = ifc.createIfcInventory() facet = ids.partOf.create(entity="IfcGroup") ifcopenshell.api.run("group.assign_group", ifc, product=element, group=group) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # An IfcSystem only checks that a system is assigned without any other logic element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") system = ifcopenshell.api.run("system.add_system", ifc) facet = ids.partOf.create(entity="IfcSystem") - assert bool(facet(element)) is False + case("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) - assert bool(facet(element)) is True + case("", facet=facet, inst=element, expected=True) # An IfcSystem allows subtypes element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") system = ifcopenshell.api.run("system.add_system", ifc, ifc_class="IfcDistributionSystem") ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) facet = ids.partOf.create(entity="IfcSystem") - assert bool(facet(element)) is True - + case("", facet=facet, inst=element, expected=True) """ Creating IDS with restrictions """ @@ -1227,4 +1335,26 @@ class TestIdsReporting(unittest.TestCase): if __name__ == "__main__": - unittest.main() + try: + unittest.main() + except: + pass + with open("spec.md", "w") as f: + for c in case.cases: + write = functools.partial(print, file=f) + write("##", c.name) + write() + write("~~~xml") + write(c.ids_content) + write("~~~") + write() + write(f"[{c.ids_filename}](c.ids_filename)") + write() + write("~~~lua") + write(c.ifc_content) + write("~~~") + write() + write(f"[{c.ifc_filename}](c.ifc_filename)") + write() + write("Expected result:", c.expected_result) + write() From 3a1416536ae30bb99da6c2b8aedeeb0cdede4916 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 17 May 2022 22:31:37 +0200 Subject: [PATCH 165/243] Oops --- src/ifcopenshell-python/test/test_ids.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 06e115d456..811558c207 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -1348,13 +1348,13 @@ if __name__ == "__main__": write(c.ids_content) write("~~~") write() - write(f"[{c.ids_filename}](c.ids_filename)") + write(f"[{c.ids_filename}]({c.ids_filename})") write() write("~~~lua") write(c.ifc_content) write("~~~") write() - write(f"[{c.ifc_filename}](c.ifc_filename)") + write(f"[{c.ifc_filename}]({c.ifc_filename})") write() write("Expected result:", c.expected_result) write() From c352181f8ce5614554fb30e4706a3724e6b47026 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 22 May 2022 21:32:48 +1000 Subject: [PATCH 166/243] Fix bug where underlays didn't work --- src/blenderbim/blenderbim/bim/module/drawing/operator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/drawing/operator.py b/src/blenderbim/blenderbim/bim/module/drawing/operator.py index 187b0c1c14..91dcdd3b67 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/operator.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/operator.py @@ -173,7 +173,7 @@ class CreateDrawing(bpy.types.Operator): outfile.write(boilerplate.replace("", "")) if underlay: with open(underlay) as infile: - for line in enumerate(infile): + for i, line in enumerate(infile): if i < 2: continue elif "" in line: From e302fea33b6d2becbcbfbd3eec54ffd9f4d5eed9 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 22 May 2022 22:10:28 +1000 Subject: [PATCH 167/243] Resolve merge conflict. Still WIP IDS test cases. --- src/ifcopenshell-python/test/test_ids.py | 108 +++++++++++++++++------ 1 file changed, 79 insertions(+), 29 deletions(-) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 811558c207..05251be89b 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -32,7 +32,6 @@ from dataclasses import dataclass from ifcopenshell import ids, template, validate from xml.dom.minidom import parseString -TEST_PATH = os.path.join(tempfile.gettempdir(), "test.ifc") IFC_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IFC/", "IFC4_Wall_3_with_properties.ifc") IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_all_fields.xml") @@ -48,9 +47,6 @@ os.remove(os.path.join(tempfile.gettempdir(), "test.ifc")) class TestIdsParsing(unittest.TestCase): - - """Parsing basic IDS files""" - def test_parse_basic_ids(self): IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_all_fields.xml") ids_file = ids.ids.open(IDS_URL) @@ -90,11 +86,9 @@ class TestIdsParsing(unittest.TestCase): ) self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["system"]["simpleValue"], "Test_System") - """ Parsing invalid IDS.xml """ - # TODO - # def test_invalid_classification_facet(self): - # IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "Invalid_IDS_Wall_needs_classification.xml") - # self.assertRaises( XMLSchemaChildrenValidationError, ids.open(IDS_URL) ) + def test_failing_on_opening_invalid_ids_data(self): + with pytest.raises(xmlschema.validators.exceptions.XMLSchemaValidationError): + ids.ids.open("""""") """ Saving parsed IDS to IDS.xml """ @@ -238,19 +232,6 @@ case = spec_generator() class TestIdsAuthoring(unittest.TestCase): - def test_creating_a_minimal_ids_and_validating(self): - specs = ids.ids(title="Title") - spec = ids.specification(name="Name") - spec.add_applicability(ids.entity.create(name="IfcWall")) - spec.add_requirement(ids.attribute.create(name="Name", value="Waldo")) - specs.specifications.append(spec) - assert "http://standards.buildingsmart.org/IDS" in specs.to_string() - - model = ifcopenshell.file() - model.createIfcWall(Name="Waldo") - specs.validate(model) - # TODO test this without resorting to hooking into logger output - def test_create_an_ids_with_minimal_information(self): specs = ids.ids() assert specs.asdict() == { @@ -351,23 +332,27 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications[0].add_requirement(m) self.assertEqual(i.specifications[0].requirements.terms[1].value, "Test_Value") - def test_create_an_entity_facet(self): + def test_creating_an_entity_facet(self): facet = ids.entity.create(name="IfcName") assert facet.asdict() == {"name": {"simpleValue": "IfcName"}} - facet = ids.entity.create(name="IfcName", predefinedType="predefinedType") + facet = ids.entity.create(name="IfcName", predefinedType="predefinedType", instructions="instructions") assert facet.asdict() == { "name": {"simpleValue": "IfcName"}, "predefinedType": {"simpleValue": "predefinedType"}, + "@instructions": "instructions", } def test_filtering_using_an_entity_facet(self): ifc = ifcopenshell.file() # Wrong IFC classes are never matched. + # TODO: Discuss about potential schema error checking facet = ids.entity.create(name="IfcRabbit") case("Non-existent entity name", facet=facet, inst=ifc.createIfcWall(), expected=False) # IFC class is checked for an exact match. Subclasses should not match. + # TODO: Some votes to prefer inheritance (For: Moult, Evandro, Artur) + # Possible argument: CAD tools don't understand IFC facet = ids.entity.create(name="IfcWall") case("Entity matching", facet=facet, inst=ifc.createIfcWall(), expected=True) case( @@ -377,6 +362,7 @@ class TestIdsAuthoring(unittest.TestCase): case("Entity subtype", facet=facet, inst=ifc.createIfcWallStandardCase(), expected=False) # IFC class is case insensitive. + # WRONG WRONG WRONG should be UPPERCASE facet = ids.entity.create(name="IFCWALL") case("Entity case 0", facet=facet, inst=ifc.createIfcWall(), expected=True) case("Entity case 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) @@ -393,6 +379,10 @@ class TestIdsAuthoring(unittest.TestCase): expected=False, ) + # Predefined Type must be uppercase, exactly the same as defined in the enumeration + facet = ids.entity.create(name="IfcWall", predefinedType="solidwall") + assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is False + # Predefined types are checked from the object type field if not standard facet = ids.entity.create(name="IfcWall", predefinedType="WALDO") case( @@ -411,6 +401,9 @@ class TestIdsAuthoring(unittest.TestCase): expected=True, ) + # Predefined types are checked from the process type field if not standard for processes + # TODO + # Userdefined is not an allowed filter because userdefined implies a specified object or element type facet = ids.entity.create(name="IfcWall", predefinedType="USERDEFINED") case( @@ -444,6 +437,7 @@ class TestIdsAuthoring(unittest.TestCase): case("Entity enumeration 2", facet=facet, inst=ifc.createIfcBeam(), expected=False) # Another example of how restrictions are allowed when matching the IFC class + # Note: Regex patterns follow the XSD flavour restriction = ids.restriction.create(options="Ifc.*Type", type="pattern") facet = ids.entity.create(name=restriction) case("Entity pattern 0", facet=facet, inst=ifc.createIfcWall(), expected=False) @@ -454,8 +448,10 @@ class TestIdsAuthoring(unittest.TestCase): facet = ids.entity.create(name="IfcWall", predefinedType=restriction) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") + wall3 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="BAZFOO") case("", facet=facet, inst=wall, expected=True) case("", facet=facet, inst=wall2, expected=True) + case("", facet=facet, inst=wall3, expected=False) def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") @@ -490,16 +486,51 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=ifc.createIfcWall(), expected=False) case("", facet=facet, inst=ifc.createIfcWall(Name=""), expected=False) case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + # TODO write test case that evaluates empty list / set as False + # TODO write test case that evaluates logical UNKNOWN as False + # TODO write test case that evaluates any bool as True + + # An object value is truthy + facet = ids.attribute.create(name="OwnerHistory") + assert bool(facet(ifc.createIfcWall())) is False + assert bool(facet(ifc.createIfcWall(OwnerHistory=ifc.createIfcOwnerHistory()))) is True + + # Selects are only considered for truthy or falsey + facet = ids.attribute.create(name="DiffuseColour") + element = ifc.createIfcSurfaceStyleRendering() + assert bool(facet(element)) is False + assert bool(facet(ifc.createIfcSurfaceStyleRendering(DiffuseColour=ifc.createIfcColourRgb()))) is True + assert ( + bool(facet(ifc.createIfcSurfaceStyleRendering(DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)))) + is True + ) # When a value is specified, the value shall match case sensitively facet = ids.attribute.create(name="Name", value="Foobar") case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + case("", facet=facet, inst=ifc.createIfcWall(Name="foobar"), expected=False) case("", facet=facet, inst=ifc.createIfcWall(Name="Foobaz"), expected=False) # A value that is 0 is still considered a value, not "null-like", so it is matched facet = ids.attribute.create(name="Eastings") case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=True) + # Value checks are meaningless for checking objects, selects, and lists so it always fails + facet = ids.attribute.create(name="OwnerHistory", value="Foobar") + assert bool(facet(ifc.createIfcWall(OwnerHistory=ifc.createIfcOwnerHistory()))) is False + + # Selects + + # Lists + + # TODO continue from here + + # TODO should we be allowed to check inverse attributes? + # Nope - always false + + # TODO should we be allowed to check derived attributes? + # Nope - always false + # Simple values which must be strings are checked with strict typing. No type casting shall occur. facet = ids.attribute.create(name="Eastings", value="42") case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=False) @@ -909,7 +940,7 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=wall, expected=True) case("", facet=facet, inst=wall_type, expected=False) - def test_material_create(self): + def test_creating_a_material_facet(self): facet = ids.material.create() assert facet.asdict() == {"@location": "any"} facet = ids.material.create( @@ -1095,6 +1126,7 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=subelement, expected=False) # A nested subelement still passes so long as one of its parents is an IfcElementAssembly + # TODO nononono element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcSlab") subsubelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcBeam") @@ -1112,6 +1144,7 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=element, expected=True) # An IfcGroup can be passed by subtypes + # TODO: wrong, subtypes should not be matched element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") group = ifc.createIfcInventory() facet = ids.partOf.create(entity="IfcGroup") @@ -1127,6 +1160,7 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=element, expected=True) # An IfcSystem allows subtypes + # TODO: wrong, subtypes should not be matched element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") system = ifcopenshell.api.run("system.add_system", ifc, ifc_class="IfcDistributionSystem") ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) @@ -1190,8 +1224,6 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž") - """ Saving created IDS to IDS.xml """ - def test_created_ids_to_xml(self): i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) @@ -1213,10 +1245,10 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications[0].add_applicability(m) i.specifications[0].add_requirement(c) i.specifications[0].add_requirement(p1) - # TODO i.specifications[0].add_requirement(p2) + i.specifications[0].add_requirement(p2) i.specifications[0].add_requirement(p3) i.specifications[0].add_requirement(p4) - # TODO i.specifications[0].add_requirement(p5) + i.specifications[0].add_requirement(p5) fn = "TEST_FILE.xml" result = i.to_xml(fn) os.remove(fn) @@ -1224,6 +1256,24 @@ class TestIdsAuthoring(unittest.TestCase): class TestIfcValidation(unittest.TestCase): + def test_creating_a_minimal_ids_and_validating(self): + specs = ids.ids(title="Title") + spec = ids.specification(name="Name") + spec.add_applicability(ids.entity.create(name="IfcWall")) + spec.add_requirement(ids.attribute.create(name="Name", value="Waldo")) + specs.specifications.append(spec) + assert "http://standards.buildingsmart.org/IDS" in specs.to_string() + assert spec.status == None + + model = ifcopenshell.file() + wall = model.createIfcWall() + waldo = model.createIfcWall(Name="Waldo") + specs.validate2(model) + + assert spec.status == False + assert set(spec.applicable_entities) == {wall, waldo} + assert spec.failed_entities == [wall] + def test_validate_simple(self): # Same test as in reporting... ids_file = ids.ids.open(IDS_URL) From 0a3e5f65faaff62f7aac297a2c5f3f6df0e09a21 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 25 May 2022 17:49:12 +1000 Subject: [PATCH 168/243] Fix multiple specifications in IDS --- src/ifcopenshell-python/ifcopenshell/ids.py | 60 +++++++++++++++------ src/ifcopenshell-python/test/test_ids.py | 33 ++++++++++-- 2 files changed, 71 insertions(+), 22 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 2e39c61fef..f4182c9ca8 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -19,18 +19,14 @@ import os import re import logging -import operator import numpy as np import datetime - import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.classification - from bcf.v2.bcfxml import BcfXml from bcf.v2 import data as bcf - from xmlschema import XMLSchema from xmlschema import etree_tostring from xmlschema.validators import identities @@ -112,10 +108,10 @@ class ids: "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", "info": self.info, - "specifications": [], + "specifications": {"specification": []}, } for spec in self.specifications: - ids_dict["specifications"].append({"specification": spec.asdict()}) # TEST! + ids_dict["specifications"]["specification"].append(spec.asdict()) return ids_dict def to_string(self, ids_schema=ids_schema): @@ -139,6 +135,7 @@ class ids: :return: Result of the newly created file validation against the schema. :rtype: bool """ + ET.register_namespace("", "http://standards.buildingsmart.org/IDS") ET.ElementTree(ids_schema.encode(self.asdict())).write(filepath, encoding="utf-8", xml_declaration=True) return ids_schema.is_valid(filepath) @@ -162,6 +159,29 @@ class ids: ids_file.specifications = [specification.parse(s) for s in ids_content["specifications"]["specification"]] return ids_file + def validate2(self, ifc_file): + """Use to validate IFC model against IDS specifications. + + :param ifc_file: path to ifc file + :type ifc_file: str + :param logger: Logging object with handlers, defaults to None + :type logger: logging, optional + """ + for specification in self.specifications: + specification.applicable_entities.clear() + specification.failed_entities.clear() + specification.status = None + for element in ifc_file: + for specification in self.specifications: + if not specification.applicability(element, None): + continue + specification.applicable_entities.append(element) + if specification.requirements(element, None): + specification.status = True + else: + specification.status = False + specification.failed_entities.append(element) + def validate(self, ifc_file, logger=None): """Use to validate IFC model against IDS specifications. @@ -237,6 +257,10 @@ class specification: self.description = description self.instructions = instructions + self.applicable_entities = [] + self.failed_entities = [] + self.status = None + def asdict(self): """Converts object to a dictionary, adding required attributes. @@ -337,7 +361,6 @@ class specification: :rtype: [bool,bool] """ if self.applicability(inst, logger): - valid = self.requirements(inst, logger) if valid: @@ -473,10 +496,10 @@ class facet(metaclass=meta_facet): class entity(facet): """The IDS entity facet currently *with* inheritance""" - parameters = ["name", "predefinedType"] + parameters = ["name", "predefinedType", "instructions"] @staticmethod - def create(name=None, predefinedType=None): + def create(name=None, predefinedType=None, instructions=None): """Create an entity facet that can be added to applicability or requirements of IDS specification. :param name: IFC entity name that is required. e.g. IfcWall, defaults to None @@ -490,6 +513,7 @@ class entity(facet): inst = entity() inst.name = name inst.predefinedType = predefinedType + inst.instructions = instructions return inst def asdict(self): @@ -501,6 +525,8 @@ class entity(facet): results = {"name": parameter_asdict(self.name)} if self.predefinedType: results["predefinedType"] = parameter_asdict(self.predefinedType) + if self.instructions: + results["@instructions"] = self.instructions return results def __call__(self, inst, logger=None): @@ -569,16 +595,16 @@ class attribute(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - fac_dict = {"name": parameter_asdict(self.name)} + results = {"name": parameter_asdict(self.name)} if self.value: - fac_dict["value"] = parameter_asdict(self.value) + results["value"] = parameter_asdict(self.value) if self.location: - fac_dict["@location"] = self.location + results["@location"] = self.location if self.use: - fac_dict["@use"] = self.use + results["@use"] = self.use if self.instructions: - fac_dict["@instructions"] = self.instructions - return fac_dict + results["@instructions"] = self.instructions + return results def __call__(self, inst, logger=None): """Validate an ifc instance. @@ -752,7 +778,7 @@ class partOf(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - return {"@entity": parameter_asdict(self.entity)} + return {"@entity": self.entity} def __call__(self, inst, logger=None): """Validate an ifc instance against that partOf facet. @@ -1149,7 +1175,7 @@ class restriction: rest_dict["xs:enumeration"].append({"@value": option}) elif self.type == "bounds": for option in self.options: - rest_dict["xs:" + option] = [{"@value": self.options[option], "@fixed": False}] + rest_dict["xs:" + option] = [{"@value": str(self.options[option]), "@fixed": False}] elif self.type == "pattern": if "xs:pattern" not in rest_dict: rest_dict["xs:pattern"] = [{"@value": self.options}] diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 05251be89b..bbe9e96a3b 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -240,7 +240,7 @@ class TestIdsAuthoring(unittest.TestCase): "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", "info": {"title": "Untitled"}, - "specifications": [], + "specifications": {'specification': []}, } def test_create_an_ids_with_all_possible_information(self): @@ -269,7 +269,7 @@ class TestIdsAuthoring(unittest.TestCase): "purpose": "purpose", "milestone": "milestone", }, - "specifications": [], + "specifications": {'specification': []}, } def test_check_invalid_ids_information(self): @@ -280,7 +280,7 @@ class TestIdsAuthoring(unittest.TestCase): "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", "info": {"title": "Untitled"}, - "specifications": [], + "specifications": {'specification': []}, } def test_authoring_an_ids_with_no_specifications_is_invalid(self): @@ -363,6 +363,7 @@ class TestIdsAuthoring(unittest.TestCase): # IFC class is case insensitive. # WRONG WRONG WRONG should be UPPERCASE + # But in that case why are the enumerations for things like partOf using the IFC capitalisation? facet = ids.entity.create(name="IFCWALL") case("Entity case 0", facet=facet, inst=ifc.createIfcWall(), expected=True) case("Entity case 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) @@ -1103,9 +1104,9 @@ class TestIdsAuthoring(unittest.TestCase): def test_creating_a_partof_facet(self): facet = ids.partOf.create() - assert facet.asdict() == {"@entity": {"simpleValue": "IfcSystem"}} + assert facet.asdict() == {"@entity": "IfcSystem"} facet = ids.partOf.create(entity="IfcGroup") - assert facet.asdict() == {"@entity": {"simpleValue": "IfcGroup"}} + assert facet.asdict() == {"@entity": "IfcGroup"} def test_filtering_using_a_partof_facet(self): ifc = ifcopenshell.file() @@ -1274,6 +1275,28 @@ class TestIfcValidation(unittest.TestCase): assert set(spec.applicable_entities) == {wall, waldo} assert spec.failed_entities == [wall] + def test_creating_multiple_specifications(self): + specs = ids.ids(title="Title") + spec = ids.specification(name="Name") + spec.add_applicability(ids.entity.create(name="IfcWall")) + spec.add_requirement(ids.attribute.create(name="Name", value="Waldo")) + specs.specifications.append(spec) + + spec2 = ids.specification(name="Name") + spec2.add_applicability(ids.entity.create(name="IfcWall")) + spec2.add_requirement(ids.attribute.create(name="Name", value="Waldo")) + specs.specifications.append(spec2) + + model = ifcopenshell.file() + wall = model.createIfcWall() + waldo = model.createIfcWall(Name="Waldo") + specs.validate2(model) + + assert spec.status == False + assert set(spec.applicable_entities) == {wall, waldo} + assert spec.failed_entities == [wall] + assert spec2.failed_entities == [wall] + def test_validate_simple(self): # Same test as in reporting... ids_file = ids.ids.open(IDS_URL) From 24f307130cfb512840a67142524b58c25e4ed780 Mon Sep 17 00:00:00 2001 From: AToradaIBIM <98612825+AToradaIBIM@users.noreply.github.com> Date: Wed, 25 May 2022 11:10:19 +0200 Subject: [PATCH 169/243] BCFv3 "get_comments" error #2212 Fix for Issue #2212 The method get_comments wasn't working as expected because on line 649, it was trying to access the element "Topics" instead of "Topic", based on the XSD "Topics" doesn't exist. --- src/bcf/src/bcf/v3/bcfxml.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bcf/src/bcf/v3/bcfxml.py b/src/bcf/src/bcf/v3/bcfxml.py index 429bb2258a..0aa5925bdf 100644 --- a/src/bcf/src/bcf/v3/bcfxml.py +++ b/src/bcf/src/bcf/v3/bcfxml.py @@ -646,7 +646,7 @@ class BcfXml: def get_comments(self, guid): comments = {} data = self._read_xml(os.path.join(guid, "markup.bcf"), "markup.xsd") - if "Comments" not in data["Topics"]: + if "Comments" not in data["Topic"]: return comments for item in data["Topic"]["Comments"].get("Comment", []): From 67522e03d103a284b90718d61e27a92fa9c02403 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 27 May 2022 17:17:20 +1000 Subject: [PATCH 170/243] Fix import error bugs when importing P6XML to enterprise environments --- src/ifc4d/ifc4d/ifc2p6.py | 69 ++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 19 deletions(-) diff --git a/src/ifc4d/ifc4d/ifc2p6.py b/src/ifc4d/ifc4d/ifc2p6.py index 8ff8d426a1..9aa178dd7c 100644 --- a/src/ifc4d/ifc4d/ifc2p6.py +++ b/src/ifc4d/ifc4d/ifc2p6.py @@ -34,6 +34,8 @@ class Ifc2P6: self.element_map = {} self.hours_per_day = 8 self.project_tasks = [] + self.starts = [] + self.finishes = [] # P6XML does not understand patterns in holiday dates. Instead, it # expects a list of every day that is a holiday between a date range. # This allows you to specify the date range where the export should @@ -51,8 +53,8 @@ class Ifc2P6: self.schedule = self.file.by_type("IfcWorkSchedule")[0] - self.create_obs() - self.create_calendars() + # It seems as though OBSes aren't necessary and cause permission issues on P6 enterprise setups + # self.create_obs() self.create_projects() tree = ET.ElementTree(self.root) @@ -65,14 +67,23 @@ class Ifc2P6: ET.SubElement(obs, "Id").text = element.Name or "X" ET.SubElement(obs, "Name").text = element.LongName or "Unnamed" - def create_calendars(self): + def create_calendars(self, work_schedule): for calendar in self.file.by_type("IfcWorkCalendar"): - self.create_calendar(calendar) + self.create_calendar(calendar, work_schedule) - def create_calendar(self, calendar): - el = ET.SubElement(self.root, "Calendar") + def create_calendar(self, calendar, work_schedule): + el = ET.SubElement(self.element_map[work_schedule], "Calendar") ET.SubElement(el, "Name").text = calendar.Name or "Unnamed" self.link_element(calendar, el) + ET.SubElement(el, "BaseCalendarObjectId") + ET.SubElement(el, "HoursPerDay").text = "8" + ET.SubElement(el, "HoursPerMonth").text = "172" + ET.SubElement(el, "HoursPerWeek").text = "40" + ET.SubElement(el, "HoursPerYear").text = "2000" + ET.SubElement(el, "IsDefault").text = "0" + ET.SubElement(el, "IsPersonal").text = "0" + ET.SubElement(el, "ProjectObjectId").text = self.id_map[work_schedule] + ET.SubElement(el, "Type").text = "Project" working_week = self.auto_detect_working_week(calendar) @@ -81,13 +92,17 @@ class Ifc2P6: work_week = ET.SubElement(el, "StandardWorkWeek") - for day, time_periods in working_week.items(): + for day in ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]: work_hours = ET.SubElement(work_week, "StandardWorkHours") - day = ET.SubElement(work_hours, "DayOfWeek").text = day - for time_period in time_periods: - work_time = ET.SubElement(work_hours, "WorkTime") - ET.SubElement(work_time, "Start").text = time_period["Start"] - ET.SubElement(work_time, "Finish").text = time_period["Finish"] + ET.SubElement(work_hours, "DayOfWeek").text = day + if day in working_week: + print(working_week) + for time_period in working_week[day]: + work_time = ET.SubElement(work_hours, "WorkTime") + ET.SubElement(work_time, "Start").text = time_period["Start"] + ET.SubElement(work_time, "Finish").text = time_period["Finish"] + else: + ET.SubElement(work_hours, "WorkTime") holidays = ET.SubElement(el, "HolidayOrExceptions") for holiday in self.auto_detect_holidays(calendar): @@ -152,24 +167,34 @@ class Ifc2P6: def create_project(self, work_schedule): project = ET.SubElement(self.root, "Project") self.link_element(work_schedule, project) - - ET.SubElement(project, "ActivityDefaultCalendarObjectId").text = self.id_map[ - self.file.by_type("IfcWorkCalendar")[0] - ] + activity_calendar = ET.SubElement(project, "ActivityDefaultCalendarObjectId") ET.SubElement(project, "Name").text = work_schedule.Name or "Unnamed" ET.SubElement(project, "Id").text = work_schedule.Identification or "X" - ET.SubElement(project, "OBSObjectId").text = self.id_map[self.file.by_type("IfcProject")[0]] + data_date = ET.SubElement(project, "DataDate") + planned_start_date = ET.SubElement(project, "PlannedStartDate") + # ET.SubElement(project, "OBSObjectId").text = self.id_map[self.file.by_type("IfcProject")[0]] + # Note: order matters for P6 enterprise imports. + # Root elements like Name must come first. Then calendar, WBS, activities, and relationships. + # Changing the order will result in import failures (but not for all P6 versions, it seems?) + self.create_calendars(work_schedule) self.project_tasks = [] + self.activities = [] self.create_wbs(self.get_subtasks(work_schedule), work_schedule) + self.create_activities() self.create_relationships(self.project_tasks, work_schedule) + activity_calendar.text = self.id_map[self.file.by_type("IfcWorkCalendar")[0]] + start_date = sorted(self.starts)[0] + data_date.text = start_date + planned_start_date.text = start_date + def create_wbs(self, tasks, work_schedule, parent=None): self.project_tasks.extend(tasks) for task in tasks: subtasks = self.get_subtasks(task) if not subtasks: - self.create_activity(task, work_schedule, parent=parent) + self.activities.append({"task": task, "work_schedule": work_schedule, "parent": parent}) continue wbs = ET.SubElement(self.element_map[work_schedule], "WBS") self.link_element(task, wbs) @@ -181,6 +206,10 @@ class Ifc2P6: ET.SubElement(wbs, "ProjectObjectId").text = self.id_map[work_schedule] self.create_wbs(subtasks, work_schedule, parent=task) + def create_activities(self): + for activity in self.activities: + self.create_activity(activity["task"], activity["work_schedule"], parent=activity["parent"]) + def create_activity(self, task, work_schedule, parent=None): if not parent: return @@ -198,9 +227,11 @@ class Ifc2P6: if task.TaskTime.ScheduleStart: ET.SubElement(activity, "PlannedStartDate").text = task.TaskTime.ScheduleStart ET.SubElement(activity, "StartDate").text = task.TaskTime.ScheduleStart + self.starts.append(task.TaskTime.ScheduleStart) if task.TaskTime.ScheduleFinish: ET.SubElement(activity, "PlannedFinishDate").text = task.TaskTime.ScheduleFinish ET.SubElement(activity, "FinishDate").text = task.TaskTime.ScheduleFinish + self.finishes.append(task.TaskTime.ScheduleFinish) ET.SubElement(activity, "ProjectObjectId").text = self.id_map[work_schedule] ET.SubElement(activity, "ActualDuration").text = "0" ET.SubElement(activity, "ActualFinishDate") @@ -218,7 +249,7 @@ class Ifc2P6: "RemainingLateFinishDate": task.TaskTime.LateFinish, } for key, value in data_map.items(): - el = ET.SubElement(activity, "RemainingEarlyStartDate") + el = ET.SubElement(activity, key) if value: el.text = value From d2ad4b2b68bb32782050ebc51b0e288453337121 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 29 May 2022 11:15:37 +1000 Subject: [PATCH 171/243] Allow rooted tasks when exporting schedules to P6XML --- src/ifc4d/ifc4d/ifc2p6.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/ifc4d/ifc4d/ifc2p6.py b/src/ifc4d/ifc4d/ifc2p6.py index 9aa178dd7c..372bd6c6b3 100644 --- a/src/ifc4d/ifc4d/ifc2p6.py +++ b/src/ifc4d/ifc4d/ifc2p6.py @@ -125,7 +125,7 @@ class Ifc2P6: 6: "Saturday", 7: "Sunday", } - for working_time in calendar.WorkingTimes: + for working_time in calendar.WorkingTimes or []: if not working_time.RecurrencePattern or working_time.RecurrencePattern.RecurrenceType != "WEEKLY": continue @@ -211,8 +211,6 @@ class Ifc2P6: self.create_activity(activity["task"], activity["work_schedule"], parent=activity["parent"]) def create_activity(self, task, work_schedule, parent=None): - if not parent: - return activity = ET.SubElement(self.element_map[work_schedule], "Activity") self.link_element(task, activity) ET.SubElement(activity, "Id").text = task.Identification or "X" From 4b426e1fc0d4ee270f8d61ed3749e8d4cb884a98 Mon Sep 17 00:00:00 2001 From: maxfb87 Date: Tue, 12 Apr 2022 22:13:55 +0200 Subject: [PATCH 172/243] Refactor Georeference Module --- .../bim/module/georeference/data.py | 92 ++++ .../bim/module/georeference/operator.py | 427 +++++------------- .../blenderbim/bim/module/georeference/ui.py | 43 +- .../blenderbim/core/georeference.py | 78 ++++ src/blenderbim/blenderbim/core/tool.py | 35 ++ src/blenderbim/blenderbim/tool/__init__.py | 1 + .../blenderbim/tool/georeference.py | 361 +++++++++++++++ 7 files changed, 703 insertions(+), 334 deletions(-) create mode 100644 src/blenderbim/blenderbim/bim/module/georeference/data.py create mode 100644 src/blenderbim/blenderbim/core/georeference.py create mode 100644 src/blenderbim/blenderbim/tool/georeference.py diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py new file mode 100644 index 0000000000..93366b6baa --- /dev/null +++ b/src/blenderbim/blenderbim/bim/module/georeference/data.py @@ -0,0 +1,92 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import blenderbim.tool as tool + +def refresh(): + GeoreferenceData.is_loaded = False + +class GeoreferenceData: + data = {} + is_loaded = False + + @classmethod + def load(cls): + cls.data = { + "map_conversion" : cls.map_conversion(), + "projected_crs" : cls.projected_crs(), + "true_north" : cls.true_north(), + } + cls.is_loaded = True + + @classmethod + def map_conversion(cls): + ifc = tool.Ifc.get() + map_conversion_v = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + map_conversion_v = context.HasCoordinateOperation[0].get_info() + map_conversion_v["SourceCRS"] = map_conversion_v["SourceCRS"].id() + map_conversion_v["TargetCRS"] = map_conversion_v["TargetCRS"].id() + + break + + return map_conversion_v + + @classmethod + def projected_crs(cls): + ifc = tool.Ifc.get() + projected_crs = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() + if projected_crs["MapUnit"]: + projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() + + break + + return projected_crs + + @classmethod + def true_north(cls): + ifc = tool.Ifc.get() + true_north = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.TrueNorth: + continue + true_north = context.TrueNorth.DirectionRatios + break + + return true_north + diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py index 5b3e09037d..af7d34dec5 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py @@ -17,345 +17,146 @@ # along with BlenderBIM Add-on. If not, see . import bpy -import json -import ifcopenshell -import ifcopenshell.util.unit -import ifcopenshell.util.attribute -import ifcopenshell.api -import blenderbim.bim.helper -from blenderbim.bim.ifc import IfcStore -from ifcopenshell.api.georeference.data import Data -from ifcopenshell.api.unit.data import Data as UnitData -from math import radians, degrees, atan, tan, cos, sin +import blenderbim.tool as tool +import blenderbim.core.georeference as core -class EnableEditingGeoreferencing(bpy.types.Operator): - bl_idname = "bim.enable_editing_georeferencing" - bl_label = "Enable Editing Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - self.file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - self.props = props - - props.projected_crs.clear() - - blenderbim.bim.helper.import_attributes( - "IfcProjectedCRS", props.projected_crs, Data.projected_crs, self.import_projected_crs_attributes - ) - - props.map_conversion.clear() - blenderbim.bim.helper.import_attributes( - "IfcMapConversion", props.map_conversion, Data.map_conversion, self.import_map_conversion_attributes - ) - - props.has_true_north = bool(Data.true_north) - if Data.true_north: - props.true_north_abscissa = str(Data.true_north[0]) - props.true_north_ordinate = str(Data.true_north[1]) - - props.is_editing = True - return {"FINISHED"} - - def import_projected_crs_attributes(self, name, prop, data): - if name == "MapUnit": - new = self.props.projected_crs.add() - new.name = name - new.data_type = "enum" - new.is_null = data[name] is None - new.is_optional = True - new.enum_items = json.dumps( - {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} - ) - if data["MapUnit"]: - new.enum_value = str(data["MapUnit"]["id"]) - return True - - def import_map_conversion_attributes(self, name, prop, data): - if name not in ["SourceCRS", "TargetCRS"]: - # Enforce a string data type to prevent data loss in single-precision Blender props - prop.data_type = "string" - prop.string_value = "" if prop.is_null else str(data[name]) - return True - - -class DisableEditingGeoreferencing(bpy.types.Operator): - bl_idname = "bim.disable_editing_georeferencing" - bl_label = "Disable Editing Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - props = context.scene.BIMGeoreferenceProperties - props.is_editing = False - return {"FINISHED"} - - -class EditGeoreferencing(bpy.types.Operator): - bl_idname = "bim.edit_georeferencing" - bl_label = "Edit Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - return IfcStore.execute_ifc_operator(self, context) - - def _execute(self, context): - self.file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - - projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, self.export_crs_attributes) - map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, self.export_map_attributes) - - true_north = None - if props.has_true_north: - try: - true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] - except ValueError: - self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") - - ifcopenshell.api.run( - "georeference.edit_georeferencing", - self.file, - **{ - "map_conversion": map_conversion, - "projected_crs": projected_crs, - "true_north": true_north, - } - ) - Data.load(self.file) - bpy.ops.bim.disable_editing_georeferencing() - return {"FINISHED"} - - def export_map_attributes(self, attributes, prop): - if not prop.is_null and prop.data_type == "string": - # We store our floats as string to prevent single precision data loss - attributes[prop.name] = float(prop.string_value) - return True - - def export_crs_attributes(self, attributes, prop): - if not prop.is_null and prop.name == "MapUnit": - attributes[prop.name] = self.file.by_id(int(prop.enum_value)) - return True - - -class SetBlenderGridNorth(bpy.types.Operator): - bl_idname = "bim.set_blender_grid_north" - bl_label = "Set Blender Grid North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - context.scene.sun_pos_properties.north_offset = -radians( - ifcopenshell.util.geolocation.xaxis2angle( - float(context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), - float(context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), - ) - ) - return {"FINISHED"} - - -class SetIfcGridNorth(bpy.types.Operator): - bl_idname = "bim.set_ifc_grid_north" - bl_label = "Set IFC Grid North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - x_angle = -context.scene.sun_pos_properties.north_offset - context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) - context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) - return {"FINISHED"} - - -class SetBlenderTrueNorth(bpy.types.Operator): - bl_idname = "bim.set_blender_true_north" - bl_label = "Set Blender True North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - context.scene.sun_pos_properties.north_offset = -radians( - ifcopenshell.util.geolocation.yaxis2angle( - float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), - float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), - ) - ) - return {"FINISHED"} - - -class SetIfcTrueNorth(bpy.types.Operator): - bl_idname = "bim.set_ifc_true_north" - bl_label = "Set IFC True North" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - y_angle = -context.scene.sun_pos_properties.north_offset + radians(90) - context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(cos(y_angle)) - context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(sin(y_angle)) - return {"FINISHED"} - - -class RemoveGeoreferencing(bpy.types.Operator): - bl_idname = "bim.remove_georeferencing" - bl_label = "Remove Georeferencing" - bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - return IfcStore.execute_ifc_operator(self, context) - - def _execute(self, context): - ifcopenshell.api.run("georeference.remove_georeferencing", IfcStore.get_file()) - Data.load(IfcStore.get_file()) - return {"FINISHED"} - - -class AddGeoreferencing(bpy.types.Operator): +class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_georeferencing" bl_label = "Add Georeferencing" bl_options = {"REGISTER", "UNDO"} - - def execute(self, context): - return IfcStore.execute_ifc_operator(self, context) + bl_description = "Add a new georeference" def _execute(self, context): - ifcopenshell.api.run("georeference.add_georeferencing", IfcStore.get_file()) - Data.load(IfcStore.get_file()) - return {"FINISHED"} - - -class ConvertLocalToGlobal(bpy.types.Operator): - bl_idname = "bim.convert_local_to_global" - bl_label = "Convert Local To Global" + core.add_georeferencing(tool.Ifc) + +class EnableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.enable_editing_georeferencing" + bl_label = "Enable Editing Georeferencing" bl_options = {"REGISTER", "UNDO"} + bl_description = "Enable editing georeferencing" + + def _execute(self, context): + core.enable_editing_georeferencing(tool.Georeference) - @classmethod - def poll(cls, context): - file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - return file and props.coordinate_input.count(",") == 2 - - def execute(self, context): - if not Data.is_loaded: - Data.load(IfcStore.get_file()) - props = context.scene.BIMGeoreferenceProperties - x, y, z = [float(co) for co in props.coordinate_input.split(",")] - - if props.has_blender_offset: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - float(props.blender_eastings), - float(props.blender_northings), - float(props.blender_orthogonal_height), - float(props.blender_x_axis_abscissa), - float(props.blender_x_axis_ordinate), - 1.0, - ) - x, y, z = results - - # TODO: what if the project CRS units and the project units are different? - - if Data.map_conversion: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - Data.map_conversion["Eastings"], - Data.map_conversion["Northings"], - Data.map_conversion["OrthogonalHeight"], - Data.map_conversion.get("XAxisAbscissa", 1.0), - Data.map_conversion.get("XAxisOrdinate", 0.0), - Data.map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) - - props.coordinate_output = ",".join([str(r) for r in results]) - context.scene.cursor.location = results - return {"FINISHED"} - - -class ConvertGlobalToLocal(bpy.types.Operator): - bl_idname = "bim.convert_global_to_local" - bl_label = "Convert Global To Local" +class RemoveGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.remove_georeferencing" + bl_label = "Remove Georeferencing" bl_options = {"REGISTER", "UNDO"} + bl_description = "Remove the georeferencing" + + def _execute(self, context): + core.remove_georeferencing(tool.Ifc) + +class EditGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.edit_georeferencing" + bl_label = "Edit Georeferencing" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Edit the georeferencing" + + def _execute(self, context): + core.edit_georeferencing(tool.Ifc, tool.Georeference) + +class DisableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.disable_editing_georeferencing" + bl_label = "Disable Editing Georeferencing" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Close editing panel" - @classmethod - def poll(cls, context): - file = IfcStore.get_file() - props = context.scene.BIMGeoreferenceProperties - return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 + def _execute(self, context): + core.disable_editing_georeferencing(tool.Georeference) - def execute(self, context): - if not Data.is_loaded: - Data.load(IfcStore.get_file()) - props = context.scene.BIMGeoreferenceProperties - x, y, z = [float(co) for co in props.coordinate_input.split(",")] +class SetIfcGridNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_ifc_grid_north" + bl_label = "Set IFC Grid North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set IFC grid north" + + def _execute(self, context): + core.set_ifc_grid_north(tool.Georeference) - if Data.map_conversion: - results = ifcopenshell.util.geolocation.enh2xyz( - x, - y, - z, - Data.map_conversion["Eastings"], - Data.map_conversion["Northings"], - Data.map_conversion["OrthogonalHeight"], - Data.map_conversion.get("XAxisAbscissa", 1.0), - Data.map_conversion.get("XAxisOrdinate", 0.0), - Data.map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) +class SetBlenderGridNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_blender_grid_north" + bl_label = "Set Blender Grid North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set Blender grid north" + + def _execute(self, context): + core.set_blender_grid_north(tool.Georeference) - if props.has_blender_offset: - results = ifcopenshell.util.geolocation.enh2xyz( - results[0], - results[1], - results[2], - float(props.blender_eastings), - float(props.blender_northings), - float(props.blender_orthogonal_height), - float(props.blender_x_axis_abscissa), - float(props.blender_x_axis_ordinate), - 1.0, - ) - - props.coordinate_output = ",".join([str(r) for r in results]) - - scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) - context.scene.cursor.location = [o * scale for o in results] - return {"FINISHED"} - - -class GetCursorLocation(bpy.types.Operator): +class GetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.get_cursor_location" bl_label = "Get Cursor Location" bl_options = {"REGISTER", "UNDO"} - + bl_description = "Insert the current cursor coordinates" + @classmethod def poll(cls, context): - file = IfcStore.get_file() - return file and file.by_type("IfcUnitAssignment") - - def execute(self, context): - props = context.scene.BIMGeoreferenceProperties - scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) - project_coordinates = [o / scale for o in context.scene.cursor.location] - props.coordinate_input = ",".join([str(o) for o in project_coordinates]) - return {"FINISHED"} - - -class SetCursorLocation(bpy.types.Operator): + return tool.Ifc.get() + + def _execute(self, context): + core.get_cursor_location(tool.Georeference) + +class SetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_cursor_location" bl_label = "Set Cursor Location" bl_options = {"REGISTER", "UNDO"} + bl_description = "Move curson location to the specified coordinates" @classmethod def poll(cls, context): - file = IfcStore.get_file() + file = tool.Ifc.get() props = context.scene.BIMGeoreferenceProperties return file and file.by_type("IfcUnitAssignment") and props.coordinate_output.count(",") == 2 + + def _execute(self, context): + core.set_cursor_location(tool.Georeference) + +class SetIfcTrueNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_ifc_true_north" + bl_label = "Set IFC True North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set IFC True north" - def execute(self, context): + def _execute(self, context): + core.set_ifc_true_north(tool.Georeference) + +class SetBlenderTrueNorth(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.set_blender_true_north" + bl_label = "Set Blender True North" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Set Blender true north" + + def _execute(self, context): + core.set_blender_true_north(tool.Georeference) + +class ConvertLocalToGlobal(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.convert_local_to_global" + bl_label = "Convert Local To Global" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Convert local coordinate to global coordinate" + + @classmethod + def poll(cls, context): + file = tool.Ifc.get() props = context.scene.BIMGeoreferenceProperties - scale = ifcopenshell.util.unit.calculate_unit_scale(IfcStore.get_file()) - context.scene.cursor.location = [float(co) * scale for co in props.coordinate_output.split(",")] - return {"FINISHED"} + return file and props.coordinate_input.count(",") == 2 + + def _execute(self, context): + core.convert_local_to_global(tool.Georeference) + +class ConvertGlobalToLocal(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.convert_global_to_local" + bl_label = "Convert Global To Local" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Convert global coordinate to local coordinate" + + @classmethod + def poll(cls, context): + file = tool.Ifc.get() + props = context.scene.BIMGeoreferenceProperties + return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 + + def _execute(self, context): + core.convert_global_to_local(tool.Georeference) + diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 456d378f03..93dcc34c38 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -18,10 +18,9 @@ import ifcopenshell.util.geolocation from bpy.types import Panel -from ifcopenshell.api.georeference.data import Data from blenderbim.bim.ifc import IfcStore from blenderbim.bim.helper import draw_attributes, draw_attribute - +from blenderbim.bim.module.georeference.data import GeoreferenceData class BIM_PT_gis(Panel): bl_label = "IFC Georeferencing" @@ -31,18 +30,15 @@ class BIM_PT_gis(Panel): bl_region_type = "WINDOW" bl_context = "scene" bl_parent_id = "BIM_PT_geometry" - - @classmethod - def poll(cls, context): - return IfcStore.get_file() - + def draw(self, context): self.layout.use_property_split = True self.layout.use_property_decorate = False props = context.scene.BIMGeoreferenceProperties - if not Data.is_loaded: - Data.load(IfcStore.get_file()) - + + if not GeoreferenceData.is_loaded: + GeoreferenceData.load() + if props.is_editing: return self.draw_editable_ui(context) self.draw_ui(context) @@ -79,15 +75,16 @@ class BIM_PT_gis(Panel): row.operator("bim.set_ifc_true_north", text="Set IFC North") row.operator("bim.set_blender_true_north", text="Set Blender North") + def draw_ui(self, context): props = context.scene.BIMGeoreferenceProperties - if not Data.projected_crs: + if not GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Not Georeferenced") - if IfcStore.get_file().schema != "IFC2X3": + if IfcStore.get_file().schema != "IFC2X3": #TODO Is it correct to use IfcStore.get_file() or is it better tool.Ifc.get()? row.operator("bim.add_georeferencing", icon="ADD", text="") - + if props.has_blender_offset: row = self.layout.row() row.label(text="Blender Offset", icon="TRACKING_REFINE_FORWARDS") @@ -120,13 +117,13 @@ class BIM_PT_gis(Panel): ) ) - if Data.projected_crs: + if GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Projected CRS", icon="WORLD") row.operator("bim.enable_editing_georeferencing", icon="GREASEPENCIL", text="") row.operator("bim.remove_georeferencing", icon="X", text="") - for key, value in Data.projected_crs.items(): + for key, value in GeoreferenceData.data["projected_crs"].items(): if key == "id" or key == "type" or not value: continue if key == "MapUnit": @@ -137,11 +134,11 @@ class BIM_PT_gis(Panel): row.label(text=key) row.label(text=str(value)) - if Data.map_conversion: + if GeoreferenceData.data["map_conversion"]: row = self.layout.row(align=True) row.label(text="Map Conversion", icon="GRID") - for key, value in Data.map_conversion.items(): + for key, value in GeoreferenceData.data["map_conversion"].items(): if key == "id" or key == "type" or key == "SourceCRS" or key == "TargetCRS" or value is None: continue row = self.layout.row(align=True) @@ -154,22 +151,22 @@ class BIM_PT_gis(Panel): text=str( round( ifcopenshell.util.geolocation.xaxis2angle( - Data.map_conversion["XAxisAbscissa"], Data.map_conversion["XAxisOrdinate"] + GeoreferenceData.data["map_conversion"]["XAxisAbscissa"], GeoreferenceData.data["map_conversion"]["XAxisOrdinate"] ), 3, ) ) ) - if Data.true_north: + if GeoreferenceData.data["true_north"]: row = self.layout.row() row.label(text="True North", icon="LIGHT_SUN") row = self.layout.row(align=True) row.label(text="Vector") - row.label(text=str(Data.true_north[0:2])[1:-1]) + row.label(text=str(GeoreferenceData.data["true_north"][0:2])[1:-1]) row = self.layout.row(align=True) row.label(text="Derived Angle") - row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*Data.true_north[0:2]), 3))) + row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*GeoreferenceData.data["true_north"][0:2]), 3))) class BIM_PT_gis_utilities(Panel): @@ -181,6 +178,9 @@ class BIM_PT_gis_utilities(Panel): bl_category = "BlenderBIM" def draw(self, context): + if not GeoreferenceData.is_loaded: + GeoreferenceData.load() + props = context.scene.BIMGeoreferenceProperties row = self.layout.row(align=True) @@ -193,3 +193,4 @@ class BIM_PT_gis_utilities(Panel): row = self.layout.row(align=True) row.operator("bim.convert_local_to_global", text="Local to Global") row.operator("bim.convert_global_to_local", text="Global to Local") + diff --git a/src/blenderbim/blenderbim/core/georeference.py b/src/blenderbim/blenderbim/core/georeference.py new file mode 100644 index 0000000000..5096594ba1 --- /dev/null +++ b/src/blenderbim/blenderbim/core/georeference.py @@ -0,0 +1,78 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +def add_georeferencing(ifc): + ifc.run("georeference.add_georeferencing") + +def enable_editing_georeferencing(georeference): + georeference.clear_projected_crs() + georeference.import_projected_crs() + georeference.clear_map_conversion() + georeference.import_map_conversion() + georeference.set_has_true_north_prop() + georeference.set_true_north_props() + georeference.enable_editing() + +def remove_georeferencing(ifc): + ifc.run("georeference.remove_georeferencing") + +def disable_editing_georeferencing(georeference): + georeference.disable_editing() + +def edit_georeferencing(ifc, georeference): + projected_crs = georeference.get_projected_crs_attributes() + map_conversion = georeference.get_map_conversion_attributes() + true_north = georeference.get_true_north_attributes() + georeference.edit_georeferencing(projected_crs, map_conversion, true_north) + georeference.disable_editing() + +def set_ifc_grid_north(georeference): + x_angle = georeference.get_x_angle_from_sun_position() + georeference.set_xaxis_vector_from_angle(x_angle) + +def set_blender_grid_north(georeference): + angle = georeference.get_angle_from_xaxis() + georeference.set_sun_pos_north_offset(angle) + +def get_cursor_location(georeference): + georeference.get_cursor_location() + +def set_cursor_location(georeference): + scale = georeference.get_scale() + coordinates = georeference.get_coordinates_from_coordinate_output_prop() + georeference.set_cursor_location(coordinates, scale) + +def set_ifc_true_north(georeference): + georeference.set_ifc_true_north() + +def set_blender_true_north(georeference): + georeference.set_blender_true_north() + +def convert_local_to_global(georeference): + map_conversion = georeference.get_map_conversion() + coordinates = georeference.get_easting_northing_height_from_xyz(map_conversion) + georeference.set_coordinate_output_prop(coordinates) + georeference.set_cursor_location(coordinates, scale = 1) + +def convert_global_to_local(georeference): + map_conversion = georeference.get_map_conversion() + coordinates = georeference.get_xyz_from_easting_northig_height(map_conversion) + georeference.set_coordinate_output_prop(coordinates) + scale = georeference.get_scale() + georeference.set_cursor_location(coordinates, scale) + diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 6e478fb359..2858a6a943 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -247,6 +247,41 @@ class Geometry: def should_generate_uvs(cls, obj): pass def should_use_presentation_style_assignment(cls): pass +@interface +class Georeference: + def clear_projected_crs(cls): pass + def clear_map_conversion(cls): pass + def import_projected_crs(cls): pass + def import_map_conversion(cls): pass + def set_has_true_north_prop(cls): pass + def set_true_north_props(cls): pass + def enable_editing(cls): pass + def disable_editing(cls): pass + def get_projected_crs_attributes(cls): pass + def get_map_conversion_attributes(cls): pass + def get_true_north_attributes(cls): pass + def edit_georeferencing(cls, projected_crs, map_conversion, true_north): pass + def get_file(cls): pass + def import_projected_crs_attributes(cls, name, prop, data): pass + def import_map_conversion_attributes(cls, name, prop, data): pass + def export_crs_attributes(cls, attributes, prop): pass + def export_map_attributes(cls, attributes, prop): pass + def set_ifc_grid_north(cls): pass + def set_blender_grid_north(cls): pass + def get_cursor_location(cls): pass + def set_cursor_location(cls, coordinates, scale): pass + def get_scale(cls): pass + def get_coordinates_from_coordinate_output_prop(cls): pass + def set_ifc_true_north(cls): pass + def set_blender_true_north(cls): pass + def get_map_conversion(cls): pass + def get_easting_northing_height_from_xyz(cls, map_conversion): pass + def get_xyz_from_easting_northig_height(cls, map_conversion): pass + def set_coordinate_output_prop(cls, coordinates): pass + def get_x_angle_from_sun_position(cls): pass + def set_xaxis_vector_from_angle(cls, x_angle): pass + def get_angle_from_xaxis(cls): pass + def set_sun_pos_north_offset(cls, angle): pass @interface class Ifc: diff --git a/src/blenderbim/blenderbim/tool/__init__.py b/src/blenderbim/blenderbim/tool/__init__.py index 12bf26b42d..705120b4b6 100644 --- a/src/blenderbim/blenderbim/tool/__init__.py +++ b/src/blenderbim/blenderbim/tool/__init__.py @@ -28,6 +28,7 @@ from blenderbim.tool.demo import Demo from blenderbim.tool.document import Document from blenderbim.tool.drawing import Drawing from blenderbim.tool.geometry import Geometry +from blenderbim.tool.georeference import Georeference from blenderbim.tool.ifc import Ifc from blenderbim.tool.library import Library from blenderbim.tool.material import Material diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py new file mode 100644 index 0000000000..14c2f0dc95 --- /dev/null +++ b/src/blenderbim/blenderbim/tool/georeference.py @@ -0,0 +1,361 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import bpy +import json +import blenderbim.core.tool +import blenderbim.tool as tool +import ifcopenshell +import blenderbim.bim.helper + +from ifcopenshell.api.unit.data import Data as UnitData +from math import radians, degrees, atan, tan, cos, sin + +class Georeference(blenderbim.core.tool.Georeference): + + @classmethod + def clear_projected_crs(cls): + bpy.context.scene.BIMGeoreferenceProperties.projected_crs.clear() + + @classmethod + def clear_map_conversion(cls): + bpy.context.scene.BIMGeoreferenceProperties.map_conversion.clear() + + @classmethod + def import_projected_crs(cls): + ifc = tool.Ifc.get() + projected_crs = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() + if projected_crs["MapUnit"]: + projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() + + break + + props = bpy.context.scene.BIMGeoreferenceProperties + blenderbim.bim.helper.import_attributes( + "IfcProjectedCRS", + props.projected_crs, + projected_crs, + cls.import_projected_crs_attributes, + ) + + @classmethod + def import_map_conversion(cls): + ifc = tool.Ifc.get() + map_conversion_v = {} + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + map_conversion_v = context.HasCoordinateOperation[0].get_info() + map_conversion_v["SourceCRS"] = map_conversion_v["SourceCRS"].id() + map_conversion_v["TargetCRS"] = map_conversion_v["TargetCRS"].id() + + break + + props = bpy.context.scene.BIMGeoreferenceProperties + blenderbim.bim.helper.import_attributes( + "IfcMapConversion", + props.map_conversion, + map_conversion_v, + cls.import_map_conversion_attributes, + ) + + @classmethod + def set_has_true_north_prop(cls): + ifc = tool.Ifc.get() + true_north = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.TrueNorth: + continue + true_north = context.TrueNorth.DirectionRatios + break + + bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(true_north) + + @classmethod + def set_true_north_props(cls): + ifc = tool.Ifc.get() + true_north = {} + + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.TrueNorth: + continue + true_north = context.TrueNorth.DirectionRatios + break + + if true_north: + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(true_north[0]) + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(true_north[1]) + + @classmethod + def get_projected_crs_attributes(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, cls.export_crs_attributes) + return projected_crs + + @classmethod + def get_map_conversion_attributes(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, cls.export_map_attributes) + return map_conversion + + @classmethod + def get_true_north_attributes(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + true_north = None + if props.has_true_north: + try: + true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] + except ValueError: + print("ERROR, True North Abscissa and Ordinate expect a number") + #self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") + return true_north + + @classmethod + def enable_editing(cls): + bpy.context.scene.BIMGeoreferenceProperties.is_editing = True + + @classmethod + def disable_editing(cls): + bpy.context.scene.BIMGeoreferenceProperties.is_editing = False + + @classmethod + def edit_georeferencing(cls, projected_crs, map_conversion, true_north): + tool.Ifc.run( + "georeference.edit_georeferencing", + **{ + "projected_crs": projected_crs, + "map_conversion": map_conversion, + "true_north": true_north, + } + ) + + @classmethod + def get_file(cls): + return tool.Ifc.get() + + @classmethod + def import_projected_crs_attributes(cls, name, prop, data): + if name == "MapUnit": + new = bpy.context.scene.BIMGeoreferenceProperties.projected_crs.add() + new.name = name + new.data_type = "enum" + new.is_null = data[name] is None + new.is_optional = True + new.enum_items = json.dumps( + {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} + ) + if data["MapUnit"]: + new.enum_value = str(data["MapUnit"]["id"]) + return True + + @classmethod + def import_map_conversion_attributes(cls, name, prop, data): + if name not in ["SourceCRS", "TargetCRS"]: + # Enforce a string data type to prevent data loss in single-precision Blender props + prop.data_type = "string" + prop.string_value = "" if prop.is_null else str(data[name]) + return True + + @classmethod + def export_crs_attributes(cls, attributes, prop): + ifc_file = tool.Ifc.get() + if not prop.is_null and prop.name == "MapUnit": + attributes[prop.name] = ifc_file.by_id(int(prop.enum_value)) + return True + + @classmethod + def export_map_attributes(cls, attributes, prop): + if not prop.is_null and prop.data_type == "string": + # We store our floats as string to prevent single precision data loss + attributes[prop.name] = float(prop.string_value) + return True + + @classmethod + def get_cursor_location(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + project_coordinates = [o / scale for o in bpy.context.scene.cursor.location] + props.coordinate_input = ",".join([str(o) for o in project_coordinates]) + + @classmethod + def set_cursor_location(cls, coordinates, scale): + bpy.context.scene.cursor.location = coordinates * scale + + @classmethod + def get_scale(cls): + return ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + + @classmethod + def get_coordinates_from_coordinate_output_prop(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + coordinates = [float(co) for co in props.coordinate_output.split(",")] + return coordinates + + @classmethod + def set_ifc_true_north(cls): + y_angle = -bpy.context.scene.sun_pos_properties.north_offset + radians(90) + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(cos(y_angle)) + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(sin(y_angle)) + + @classmethod + def set_blender_true_north(cls): + bpy.context.scene.sun_pos_properties.north_offset = -radians( + ifcopenshell.util.geolocation.yaxis2angle( + float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), + float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), + ) + ) + + @classmethod + def get_map_conversion(cls): + ifc = tool.Ifc.get() + map_conversion = {} + if ifc.schema == "IFC2X3": + return + + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if not context.HasCoordinateOperation: + continue + + map_conversion = context.HasCoordinateOperation[0].get_info() + map_conversion["SourceCRS"] = map_conversion["SourceCRS"].id() + map_conversion["TargetCRS"] = map_conversion["TargetCRS"].id() + + break + + return map_conversion + + @classmethod + def get_easting_northing_height_from_xyz(cls, map_conversion): + props = bpy.context.scene.BIMGeoreferenceProperties + + x, y, z = [float(co) for co in props.coordinate_input.split(",")] + + if props.has_blender_offset: + results = ifcopenshell.util.geolocation.xyz2enh( + x, + y, + z, + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + 1.0, + ) + x, y, z = results + + # TODO: what if the project CRS units and the project units are different? + + if map_conversion: #TODO return error when there is the map conversiona but no Xaxis, scale, etc.. + results = ifcopenshell.util.geolocation.xyz2enh( + x, + y, + z, + map_conversion["Eastings"], + map_conversion["Northings"], + map_conversion["OrthogonalHeight"], + map_conversion.get("XAxisAbscissa", 1.0), + map_conversion.get("XAxisOrdinate", 0.0), + map_conversion.get("Scale", 1.0), + ) + else: + results = (x, y, z) + + return results + + @classmethod + def get_xyz_from_easting_northig_height(cls, map_conversion): + props = bpy.context.scene.BIMGeoreferenceProperties + x, y, z = [float(co) for co in props.coordinate_input.split(",")] + + if map_conversion: + results = ifcopenshell.util.geolocation.enh2xyz( + x, + y, + z, + map_conversion["Eastings"], + map_conversion["Northings"], + map_conversion["OrthogonalHeight"], + map_conversion.get("XAxisAbscissa", 1.0), + map_conversion.get("XAxisOrdinate", 0.0), + map_conversion.get("Scale", 1.0), + ) + else: + results = (x, y, z) + + if props.has_blender_offset: + results = ifcopenshell.util.geolocation.enh2xyz( + results[0], + results[1], + results[2], + float(props.blender_eastings), + float(props.blender_northings), + float(props.blender_orthogonal_height), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + 1.0, + ) + + return results + + @classmethod + def set_coordinate_output_prop(cls, coordinates): + props = bpy.context.scene.BIMGeoreferenceProperties + props.coordinate_output = ",".join([str(r) for r in coordinates]) + + @classmethod + def get_x_angle_from_sun_position(cls): + return -bpy.context.scene.sun_pos_properties.north_offset + + @classmethod + def set_xaxis_vector_from_angle(cls, x_angle): + bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) + bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) + + @classmethod + def get_angle_from_xaxis(cls): + return ifcopenshell.util.geolocation.xaxis2angle( + float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), + float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), + ) + + @classmethod + def set_sun_pos_north_offset(cls, angle): + bpy.context.scene.sun_pos_properties.north_offset = -radians(angle) + From 2d4e316df2742cc5bac977fa60849d6780b340e0 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 29 May 2022 17:25:28 +1000 Subject: [PATCH 173/243] Fix bug where unit editing failed for named units --- src/blenderbim/blenderbim/bim/module/unit/ui.py | 2 +- src/blenderbim/blenderbim/core/unit.py | 7 +++---- src/blenderbim/blenderbim/tool/unit.py | 8 ++++---- src/blenderbim/test/core/test_unit.py | 9 ++++++--- src/blenderbim/test/tool/test_unit.py | 14 +++++++------- 5 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/unit/ui.py b/src/blenderbim/blenderbim/bim/module/unit/ui.py index 8f053d108b..a6d13447f5 100644 --- a/src/blenderbim/blenderbim/bim/module/unit/ui.py +++ b/src/blenderbim/blenderbim/bim/module/unit/ui.py @@ -111,7 +111,7 @@ class BIM_UL_units(UIList): op.unit = item.ifc_definition_id if props.active_unit_id == item.ifc_definition_id: - row.operator("bim.edit_unit", text="", icon="CHECKMARK") + row.operator("bim.edit_unit", text="", icon="CHECKMARK").unit = item.ifc_definition_id row.operator("bim.disable_editing_unit", text="", icon="CANCEL") elif props.active_unit_id: row.operator("bim.remove_unit", text="", icon="X").unit = item.ifc_definition_id diff --git a/src/blenderbim/blenderbim/core/unit.py b/src/blenderbim/blenderbim/core/unit.py index f5fd274a66..e21ea62816 100644 --- a/src/blenderbim/blenderbim/core/unit.py +++ b/src/blenderbim/blenderbim/core/unit.py @@ -96,12 +96,11 @@ def disable_editing_unit(unit): def edit_unit(ifc, unit_tool, unit=None): attributes = unit_tool.export_unit_attributes() - unit_class = unit_tool.get_unit_class(unit) - if unit_class == "IfcMonetaryUnit": + if unit_tool.is_unit_class(unit, "IfcMonetaryUnit"): ifc.run("unit.edit_monetary_unit", unit=unit, attributes=attributes) - elif unit_class == "IfcDerivedUnit": + elif unit_tool.is_unit_class(unit, "IfcDerivedUnit"): ifc.run("unit.edit_derived_unit", unit=unit, attributes=attributes) - elif unit_class == "IfcNamedUnit": + elif unit_tool.is_unit_class(unit, "IfcNamedUnit"): ifc.run("unit.edit_named_unit", unit=unit, attributes=attributes) unit_tool.import_units() unit_tool.clear_active_unit() diff --git a/src/blenderbim/blenderbim/tool/unit.py b/src/blenderbim/blenderbim/tool/unit.py index e377592028..ebd9f1c152 100644 --- a/src/blenderbim/blenderbim/tool/unit.py +++ b/src/blenderbim/blenderbim/tool/unit.py @@ -87,10 +87,6 @@ class Unit(blenderbim.core.tool.Unit): def get_si_name_from_unit_type(cls, unit_type): return ifcopenshell.util.unit.si_type_names.get(unit_type, None) - @classmethod - def get_unit_class(cls, unit): - return unit.is_a() - @classmethod def import_unit_attributes(cls, unit): def callback(name, prop, data): @@ -152,6 +148,10 @@ class Unit(blenderbim.core.tool.Unit): def is_scene_unit_metric(cls): return bpy.context.scene.unit_settings.system in ["METRIC", "NONE"] + @classmethod + def is_unit_class(cls, unit, ifc_class): + return unit.is_a(ifc_class) + @classmethod def set_active_unit(cls, unit): bpy.context.scene.BIMUnitProperties.active_unit_id = unit.id() diff --git a/src/blenderbim/test/core/test_unit.py b/src/blenderbim/test/core/test_unit.py index 5c7143ceaa..3e77d582a8 100644 --- a/src/blenderbim/test/core/test_unit.py +++ b/src/blenderbim/test/core/test_unit.py @@ -142,7 +142,7 @@ class TestDisableEditingUnit: class TestEditUnit: def test_editing_monetary_units(self, ifc, unit): unit.export_unit_attributes().should_be_called().will_return("attributes") - unit.get_unit_class("unit").should_be_called().will_return("IfcMonetaryUnit") + unit.is_unit_class("unit", "IfcMonetaryUnit").should_be_called().will_return(True) ifc.run("unit.edit_monetary_unit", unit="unit", attributes="attributes").should_be_called() unit.import_units().should_be_called() unit.clear_active_unit().should_be_called() @@ -150,7 +150,8 @@ class TestEditUnit: def test_editing_derived_units(self, ifc, unit): unit.export_unit_attributes().should_be_called().will_return("attributes") - unit.get_unit_class("unit").should_be_called().will_return("IfcDerivedUnit") + unit.is_unit_class("unit", "IfcMonetaryUnit").should_be_called().will_return(False) + unit.is_unit_class("unit", "IfcDerivedUnit").should_be_called().will_return(True) ifc.run("unit.edit_derived_unit", unit="unit", attributes="attributes").should_be_called() unit.import_units().should_be_called() unit.clear_active_unit().should_be_called() @@ -158,7 +159,9 @@ class TestEditUnit: def test_editing_named_units(self, ifc, unit): unit.export_unit_attributes().should_be_called().will_return("attributes") - unit.get_unit_class("unit").should_be_called().will_return("IfcNamedUnit") + unit.is_unit_class("unit", "IfcMonetaryUnit").should_be_called().will_return(False) + unit.is_unit_class("unit", "IfcDerivedUnit").should_be_called().will_return(False) + unit.is_unit_class("unit", "IfcNamedUnit").should_be_called().will_return(True) ifc.run("unit.edit_named_unit", unit="unit", attributes="attributes").should_be_called() unit.import_units().should_be_called() unit.clear_active_unit().should_be_called() diff --git a/src/blenderbim/test/tool/test_unit.py b/src/blenderbim/test/tool/test_unit.py index 41250a9d77..626b6d0247 100644 --- a/src/blenderbim/test/tool/test_unit.py +++ b/src/blenderbim/test/tool/test_unit.py @@ -154,13 +154,6 @@ class TestGetSINameFromUnitType: assert subject.get_si_name_from_unit_type(key) == value -class TestGetUnitClass: - def test_run(self): - ifc = ifcopenshell.file() - assert subject.get_unit_class(ifc.createIfcSIUnit()) == "IfcSIUnit" - assert subject.get_unit_class(ifc.createIfcNamedUnit()) == "IfcNamedUnit" - - class TestImportUnitAttributes(NewFile): def test_importing_derived_units(self): ifc = ifcopenshell.file() @@ -307,6 +300,13 @@ class TestIsSceneUnitMetric(NewFile): assert subject.is_scene_unit_metric() is True +class TestIsUnitClass: + def test_run(self): + ifc = ifcopenshell.file() + assert subject.is_unit_class(ifc.createIfcSIUnit(), "IfcNamedUnit") is True + assert subject.is_unit_class(ifc.createIfcSIUnit(), "IfcMonetaryUnit") is False + + class TestSetActiveUnit(NewFile): def test_run(self): ifc = ifcopenshell.file() From 3e1c2c4dafb66befbb809c64d45bc434fffeb2cc Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 29 May 2022 23:44:18 +1000 Subject: [PATCH 174/243] Code review and tests for georeferencing module refactor --- .../bim/module/georeference/data.py | 125 ++++-- .../bim/module/georeference/operator.py | 53 ++- .../blenderbim/bim/module/georeference/ui.py | 51 +-- .../blenderbim/core/georeference.py | 82 ++-- src/blenderbim/blenderbim/core/tool.py | 50 +-- .../blenderbim/tool/georeference.py | 422 +++++++----------- src/blenderbim/pytest.ini | 1 + .../test/bim/feature/georeference.feature | 82 ++++ src/blenderbim/test/core/bootstrap.py | 7 + src/blenderbim/test/core/test_georeference.py | 114 +++++ src/blenderbim/test/tool/test_georeference.py | 357 +++++++++++++++ 11 files changed, 904 insertions(+), 440 deletions(-) create mode 100644 src/blenderbim/test/bim/feature/georeference.feature create mode 100644 src/blenderbim/test/core/test_georeference.py create mode 100644 src/blenderbim/test/tool/test_georeference.py diff --git a/src/blenderbim/blenderbim/bim/module/georeference/data.py b/src/blenderbim/blenderbim/bim/module/georeference/data.py index 93366b6baa..66df12b93b 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/data.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/data.py @@ -16,77 +16,108 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . + +import bpy +import ifcopenshell.util.geolocation import blenderbim.tool as tool + def refresh(): GeoreferenceData.is_loaded = False - + + class GeoreferenceData: data = {} is_loaded = False - + @classmethod - def load(cls): - cls.data = { - "map_conversion" : cls.map_conversion(), - "projected_crs" : cls.projected_crs(), - "true_north" : cls.true_north(), - } + def load(cls): + cls.data["blender_derived_angle"] = cls.blender_derived_angle() + cls.data["map_conversion"] = cls.map_conversion() + cls.data["map_derived_angle"] = cls.map_derived_angle() + cls.data["projected_crs"] = cls.projected_crs() + cls.data["true_north"] = cls.true_north() + cls.data["true_derived_angle"] = cls.true_derived_angle() cls.is_loaded = True - + + @classmethod + def blender_derived_angle(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + if props.has_blender_offset: + return str( + round( + ifcopenshell.util.geolocation.xaxis2angle( + float(props.blender_x_axis_abscissa), float(props.blender_x_axis_ordinate) + ), + 3, + ) + ) + @classmethod def map_conversion(cls): - ifc = tool.Ifc.get() - map_conversion_v = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - map_conversion_v = context.HasCoordinateOperation[0].get_info() - map_conversion_v["SourceCRS"] = map_conversion_v["SourceCRS"].id() - map_conversion_v["TargetCRS"] = map_conversion_v["TargetCRS"].id() - - break - - return map_conversion_v - + if tool.Ifc.get_schema() == "IFC2X3": + return {} + + for context in tool.Ifc.get().by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if context.HasCoordinateOperation: + map_conversion = context.HasCoordinateOperation[0].get_info() + del map_conversion["id"] + del map_conversion["type"] + del map_conversion["SourceCRS"] + del map_conversion["TargetCRS"] + return map_conversion + return {} + + @classmethod + def map_derived_angle(cls): + if ( + cls.data["map_conversion"] + and cls.data["map_conversion"]["XAxisAbscissa"] is not None + and cls.data["map_conversion"]["XAxisOrdinate"] is not None + ): + return str( + round( + ifcopenshell.util.geolocation.xaxis2angle( + cls.data["map_conversion"]["XAxisAbscissa"], cls.data["map_conversion"]["XAxisOrdinate"] + ), + 3, + ) + ) + return "" + @classmethod def projected_crs(cls): - ifc = tool.Ifc.get() - projected_crs = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() - if projected_crs["MapUnit"]: - projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() + if tool.Ifc.get_schema() == "IFC2X3": + return {} + + for context in tool.Ifc.get().by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if context.HasCoordinateOperation: + projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() + del projected_crs["id"] + del projected_crs["type"] + if projected_crs["MapUnit"]: + unit = projected_crs["MapUnit"] + projected_crs["MapUnit"] = (getattr(unit, "Prefix", "") or "") + unit.Name + return projected_crs + return {} - break - - return projected_crs - @classmethod def true_north(cls): ifc = tool.Ifc.get() true_north = {} - + if ifc.schema == "IFC2X3": return - + for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): if not context.TrueNorth: continue true_north = context.TrueNorth.DirectionRatios break - + return true_north + @classmethod + def true_derived_angle(cls): + if cls.data["true_north"]: + return str(round(ifcopenshell.util.geolocation.yaxis2angle(*cls.data["true_north"][0:2]), 3)) diff --git a/src/blenderbim/blenderbim/bim/module/georeference/operator.py b/src/blenderbim/blenderbim/bim/module/georeference/operator.py index af7d34dec5..71bde91ba8 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/operator.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/operator.py @@ -21,6 +21,7 @@ import bpy import blenderbim.tool as tool import blenderbim.core.georeference as core + class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_georeferencing" bl_label = "Add Georeferencing" @@ -29,34 +30,38 @@ class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): core.add_georeferencing(tool.Ifc) - + + class EnableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.enable_editing_georeferencing" bl_label = "Enable Editing Georeferencing" bl_options = {"REGISTER", "UNDO"} bl_description = "Enable editing georeferencing" - + def _execute(self, context): core.enable_editing_georeferencing(tool.Georeference) + class RemoveGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.remove_georeferencing" bl_label = "Remove Georeferencing" bl_options = {"REGISTER", "UNDO"} bl_description = "Remove the georeferencing" - + def _execute(self, context): core.remove_georeferencing(tool.Ifc) - + + class EditGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.edit_georeferencing" bl_label = "Edit Georeferencing" bl_options = {"REGISTER", "UNDO"} bl_description = "Edit the georeferencing" - + def _execute(self, context): core.edit_georeferencing(tool.Ifc, tool.Georeference) - + + class DisableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.disable_editing_georeferencing" bl_label = "Disable Editing Georeferencing" @@ -66,37 +71,41 @@ class DisableEditingGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): core.disable_editing_georeferencing(tool.Georeference) + class SetIfcGridNorth(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_ifc_grid_north" bl_label = "Set IFC Grid North" bl_options = {"REGISTER", "UNDO"} bl_description = "Set IFC grid north" - + def _execute(self, context): core.set_ifc_grid_north(tool.Georeference) + class SetBlenderGridNorth(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_blender_grid_north" bl_label = "Set Blender Grid North" bl_options = {"REGISTER", "UNDO"} bl_description = "Set Blender grid north" - + def _execute(self, context): core.set_blender_grid_north(tool.Georeference) + class GetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.get_cursor_location" bl_label = "Get Cursor Location" bl_options = {"REGISTER", "UNDO"} bl_description = "Insert the current cursor coordinates" - + @classmethod def poll(cls, context): return tool.Ifc.get() - + def _execute(self, context): core.get_cursor_location(tool.Georeference) - + + class SetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_cursor_location" bl_label = "Set Cursor Location" @@ -105,13 +114,13 @@ class SetCursorLocation(bpy.types.Operator, tool.Ifc.Operator): @classmethod def poll(cls, context): - file = tool.Ifc.get() props = context.scene.BIMGeoreferenceProperties - return file and file.by_type("IfcUnitAssignment") and props.coordinate_output.count(",") == 2 - + return tool.Ifc.get() and props.coordinate_output.count(",") == 2 + def _execute(self, context): core.set_cursor_location(tool.Georeference) - + + class SetIfcTrueNorth(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_ifc_true_north" bl_label = "Set IFC True North" @@ -121,6 +130,7 @@ class SetIfcTrueNorth(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): core.set_ifc_true_north(tool.Georeference) + class SetBlenderTrueNorth(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.set_blender_true_north" bl_label = "Set Blender True North" @@ -130,33 +140,34 @@ class SetBlenderTrueNorth(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): core.set_blender_true_north(tool.Georeference) + class ConvertLocalToGlobal(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.convert_local_to_global" bl_label = "Convert Local To Global" bl_options = {"REGISTER", "UNDO"} bl_description = "Convert local coordinate to global coordinate" - + @classmethod def poll(cls, context): file = tool.Ifc.get() props = context.scene.BIMGeoreferenceProperties return file and props.coordinate_input.count(",") == 2 - + def _execute(self, context): core.convert_local_to_global(tool.Georeference) - + + class ConvertGlobalToLocal(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.convert_global_to_local" bl_label = "Convert Global To Local" bl_options = {"REGISTER", "UNDO"} bl_description = "Convert global coordinate to local coordinate" - + @classmethod def poll(cls, context): file = tool.Ifc.get() props = context.scene.BIMGeoreferenceProperties return file and file.by_type("IfcUnitAssignment") and props.coordinate_input.count(",") == 2 - + def _execute(self, context): core.convert_global_to_local(tool.Georeference) - diff --git a/src/blenderbim/blenderbim/bim/module/georeference/ui.py b/src/blenderbim/blenderbim/bim/module/georeference/ui.py index 93dcc34c38..15c28e3467 100644 --- a/src/blenderbim/blenderbim/bim/module/georeference/ui.py +++ b/src/blenderbim/blenderbim/bim/module/georeference/ui.py @@ -16,12 +16,12 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . -import ifcopenshell.util.geolocation +import blenderbim.tool as tool from bpy.types import Panel -from blenderbim.bim.ifc import IfcStore from blenderbim.bim.helper import draw_attributes, draw_attribute from blenderbim.bim.module.georeference.data import GeoreferenceData + class BIM_PT_gis(Panel): bl_label = "IFC Georeferencing" bl_idname = "BIM_PT_gis" @@ -30,15 +30,15 @@ class BIM_PT_gis(Panel): bl_region_type = "WINDOW" bl_context = "scene" bl_parent_id = "BIM_PT_geometry" - + def draw(self, context): self.layout.use_property_split = True self.layout.use_property_decorate = False props = context.scene.BIMGeoreferenceProperties - + if not GeoreferenceData.is_loaded: GeoreferenceData.load() - + if props.is_editing: return self.draw_editable_ui(context) self.draw_ui(context) @@ -75,16 +75,15 @@ class BIM_PT_gis(Panel): row.operator("bim.set_ifc_true_north", text="Set IFC North") row.operator("bim.set_blender_true_north", text="Set Blender North") - def draw_ui(self, context): props = context.scene.BIMGeoreferenceProperties if not GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) row.label(text="Not Georeferenced") - if IfcStore.get_file().schema != "IFC2X3": #TODO Is it correct to use IfcStore.get_file() or is it better tool.Ifc.get()? + if tool.Ifc.get_schema != "IFC2X3": row.operator("bim.add_georeferencing", icon="ADD", text="") - + if props.has_blender_offset: row = self.layout.row() row.label(text="Blender Offset", icon="TRACKING_REFINE_FORWARDS") @@ -106,16 +105,7 @@ class BIM_PT_gis(Panel): row.label(text=props.blender_x_axis_ordinate) row = self.layout.row(align=True) row.label(text="Derived Grid North") - row.label( - text=str( - round( - ifcopenshell.util.geolocation.xaxis2angle( - float(props.blender_x_axis_abscissa), float(props.blender_x_axis_ordinate) - ), - 3, - ) - ) - ) + row.label(text=GeoreferenceData.data["blender_derived_angle"]) if GeoreferenceData.data["projected_crs"]: row = self.layout.row(align=True) @@ -124,12 +114,8 @@ class BIM_PT_gis(Panel): row.operator("bim.remove_georeferencing", icon="X", text="") for key, value in GeoreferenceData.data["projected_crs"].items(): - if key == "id" or key == "type" or not value: + if not value: continue - if key == "MapUnit": - unit_value = value.get("Prefix", "") or "" - unit_value += value["Name"] - value = unit_value row = self.layout.row(align=True) row.label(text=key) row.label(text=str(value)) @@ -139,7 +125,7 @@ class BIM_PT_gis(Panel): row.label(text="Map Conversion", icon="GRID") for key, value in GeoreferenceData.data["map_conversion"].items(): - if key == "id" or key == "type" or key == "SourceCRS" or key == "TargetCRS" or value is None: + if value is None: continue row = self.layout.row(align=True) row.label(text=key) @@ -147,16 +133,7 @@ class BIM_PT_gis(Panel): if key == "XAxisOrdinate": row = self.layout.row(align=True) row.label(text="Derived Angle") - row.label( - text=str( - round( - ifcopenshell.util.geolocation.xaxis2angle( - GeoreferenceData.data["map_conversion"]["XAxisAbscissa"], GeoreferenceData.data["map_conversion"]["XAxisOrdinate"] - ), - 3, - ) - ) - ) + row.label(text=GeoreferenceData.data["map_derived_angle"]) if GeoreferenceData.data["true_north"]: row = self.layout.row() @@ -166,7 +143,7 @@ class BIM_PT_gis(Panel): row.label(text=str(GeoreferenceData.data["true_north"][0:2])[1:-1]) row = self.layout.row(align=True) row.label(text="Derived Angle") - row.label(text=str(round(ifcopenshell.util.geolocation.yaxis2angle(*GeoreferenceData.data["true_north"][0:2]), 3))) + row.label(text=GeoreferenceData.data["true_derived_angle"]) class BIM_PT_gis_utilities(Panel): @@ -178,9 +155,6 @@ class BIM_PT_gis_utilities(Panel): bl_category = "BlenderBIM" def draw(self, context): - if not GeoreferenceData.is_loaded: - GeoreferenceData.load() - props = context.scene.BIMGeoreferenceProperties row = self.layout.row(align=True) @@ -193,4 +167,3 @@ class BIM_PT_gis_utilities(Panel): row = self.layout.row(align=True) row.operator("bim.convert_local_to_global", text="Local to Global") row.operator("bim.convert_global_to_local", text="Global to Local") - diff --git a/src/blenderbim/blenderbim/core/georeference.py b/src/blenderbim/blenderbim/core/georeference.py index 5096594ba1..8cde5d9b20 100644 --- a/src/blenderbim/blenderbim/core/georeference.py +++ b/src/blenderbim/blenderbim/core/georeference.py @@ -16,63 +16,67 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . + def add_georeferencing(ifc): ifc.run("georeference.add_georeferencing") + def enable_editing_georeferencing(georeference): - georeference.clear_projected_crs() georeference.import_projected_crs() - georeference.clear_map_conversion() georeference.import_map_conversion() - georeference.set_has_true_north_prop() - georeference.set_true_north_props() + georeference.import_true_north() georeference.enable_editing() - + + def remove_georeferencing(ifc): ifc.run("georeference.remove_georeferencing") + def disable_editing_georeferencing(georeference): georeference.disable_editing() - -def edit_georeferencing(ifc, georeference): - projected_crs = georeference.get_projected_crs_attributes() - map_conversion = georeference.get_map_conversion_attributes() - true_north = georeference.get_true_north_attributes() - georeference.edit_georeferencing(projected_crs, map_conversion, true_north) - georeference.disable_editing() - -def set_ifc_grid_north(georeference): - x_angle = georeference.get_x_angle_from_sun_position() - georeference.set_xaxis_vector_from_angle(x_angle) - -def set_blender_grid_north(georeference): - angle = georeference.get_angle_from_xaxis() - georeference.set_sun_pos_north_offset(angle) -def get_cursor_location(georeference): - georeference.get_cursor_location() - -def set_cursor_location(georeference): - scale = georeference.get_scale() - coordinates = georeference.get_coordinates_from_coordinate_output_prop() - georeference.set_cursor_location(coordinates, scale) + +def edit_georeferencing(ifc, georeference): + ifc.run( + "georeference.edit_georeferencing", + projected_crs=georeference.get_projected_crs_attributes(), + map_conversion=georeference.get_map_conversion_attributes(), + true_north=georeference.get_true_north_attributes(), + ) + georeference.disable_editing() + + +def set_ifc_grid_north(georeference): + georeference.set_ifc_grid_north() + + +def set_blender_grid_north(georeference): + georeference.set_blender_grid_north() + def set_ifc_true_north(georeference): georeference.set_ifc_true_north() + def set_blender_true_north(georeference): georeference.set_blender_true_north() -def convert_local_to_global(georeference): - map_conversion = georeference.get_map_conversion() - coordinates = georeference.get_easting_northing_height_from_xyz(map_conversion) - georeference.set_coordinate_output_prop(coordinates) - georeference.set_cursor_location(coordinates, scale = 1) - -def convert_global_to_local(georeference): - map_conversion = georeference.get_map_conversion() - coordinates = georeference.get_xyz_from_easting_northig_height(map_conversion) - georeference.set_coordinate_output_prop(coordinates) - scale = georeference.get_scale() - georeference.set_cursor_location(coordinates, scale) +def get_cursor_location(georeference): + georeference.set_coordinates("input", georeference.get_cursor_location()) + + +def set_cursor_location(georeference): + georeference.set_cursor_location(georeference.get_coordinates("output")) + + +def convert_local_to_global(georeference): + coordinates = georeference.xyz2enh(georeference.get_coordinates("input"), georeference.get_map_conversion()) + georeference.set_coordinates("output", coordinates) + georeference.set_cursor_location(coordinates) + + +def convert_global_to_local(georeference): + coordinates = georeference.enh2xyz(georeference.get_coordinates("input"), georeference.get_map_conversion()) + georeference.set_coordinates("output", coordinates) + georeference.set_cursor_location(coordinates) diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index 2858a6a943..3fa9c6808b 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -247,41 +247,29 @@ class Geometry: def should_generate_uvs(cls, obj): pass def should_use_presentation_style_assignment(cls): pass + @interface class Georeference: - def clear_projected_crs(cls): pass - def clear_map_conversion(cls): pass - def import_projected_crs(cls): pass - def import_map_conversion(cls): pass - def set_has_true_north_prop(cls): pass - def set_true_north_props(cls): pass - def enable_editing(cls): pass def disable_editing(cls): pass - def get_projected_crs_attributes(cls): pass - def get_map_conversion_attributes(cls): pass - def get_true_north_attributes(cls): pass - def edit_georeferencing(cls, projected_crs, map_conversion, true_north): pass - def get_file(cls): pass - def import_projected_crs_attributes(cls, name, prop, data): pass - def import_map_conversion_attributes(cls, name, prop, data): pass - def export_crs_attributes(cls, attributes, prop): pass - def export_map_attributes(cls, attributes, prop): pass - def set_ifc_grid_north(cls): pass - def set_blender_grid_north(cls): pass + def enable_editing(cls): pass + def enh2xyz(cls, map_conversion, coordinates): pass + def get_coordinates(cls, io): pass def get_cursor_location(cls): pass - def set_cursor_location(cls, coordinates, scale): pass - def get_scale(cls): pass - def get_coordinates_from_coordinate_output_prop(cls): pass - def set_ifc_true_north(cls): pass - def set_blender_true_north(cls): pass def get_map_conversion(cls): pass - def get_easting_northing_height_from_xyz(cls, map_conversion): pass - def get_xyz_from_easting_northig_height(cls, map_conversion): pass - def set_coordinate_output_prop(cls, coordinates): pass - def get_x_angle_from_sun_position(cls): pass - def set_xaxis_vector_from_angle(cls, x_angle): pass - def get_angle_from_xaxis(cls): pass - def set_sun_pos_north_offset(cls, angle): pass + def get_map_conversion_attributes(cls): pass + def get_projected_crs_attributes(cls): pass + def get_true_north_attributes(cls): pass + def import_map_conversion(cls): pass + def import_projected_crs(cls): pass + def import_true_north(cls): pass + def set_blender_grid_north(cls): pass + def set_blender_true_north(cls): pass + def set_coordinates(cls, io, coordinates): pass + def set_cursor_location(cls, coordinates): pass + def set_ifc_grid_north(cls): pass + def set_ifc_true_north(cls): pass + def xyz2enh(cls, map_conversion, coordinates): pass + @interface class Ifc: @@ -543,10 +531,10 @@ class Unit: def get_scene_unit_name(cls, unit_type): pass def get_scene_unit_si_prefix(cls): pass def get_si_name_from_unit_type(cls, unit_type): pass - def get_unit_class(cls, unit): pass def import_unit_attributes(cls, unit): pass def import_units(cls): pass def is_scene_unit_metric(cls): pass + def is_unit_class(cls, unit, ifc_class): pass def set_active_unit(cls, unit): pass diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py index 14c2f0dc95..5a22ab5c42 100644 --- a/src/blenderbim/blenderbim/tool/georeference.py +++ b/src/blenderbim/blenderbim/tool/georeference.py @@ -22,210 +22,142 @@ import blenderbim.core.tool import blenderbim.tool as tool import ifcopenshell import blenderbim.bim.helper - -from ifcopenshell.api.unit.data import Data as UnitData from math import radians, degrees, atan, tan, cos, sin + class Georeference(blenderbim.core.tool.Georeference): - - @classmethod - def clear_projected_crs(cls): - bpy.context.scene.BIMGeoreferenceProperties.projected_crs.clear() - - @classmethod - def clear_map_conversion(cls): - bpy.context.scene.BIMGeoreferenceProperties.map_conversion.clear() - @classmethod def import_projected_crs(cls): - ifc = tool.Ifc.get() - projected_crs = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - projected_crs = context.HasCoordinateOperation[0].TargetCRS.get_info() - if projected_crs["MapUnit"]: - projected_crs["MapUnit"] = map_conversion.TargetCRS.MapUnit.get_info() + def callback(name, prop, data): + if name == "MapUnit": + new = bpy.context.scene.BIMGeoreferenceProperties.projected_crs.add() + new.name = name + new.data_type = "enum" + new.is_null = data[name] is None + new.is_optional = True + new.enum_items = json.dumps( + { + u.id(): (getattr(u, "Prefix", "") or "") + u.Name + for u in tool.Ifc.get().by_type("IfcNamedUnit") + if u.UnitType == "LENGTHUNIT" + } + ) + if data["MapUnit"]: + new.enum_value = str(data["MapUnit"].id()) + return True - break - props = bpy.context.scene.BIMGeoreferenceProperties - blenderbim.bim.helper.import_attributes( - "IfcProjectedCRS", - props.projected_crs, - projected_crs, - cls.import_projected_crs_attributes, - ) - + props.projected_crs.clear() + + if tool.Ifc.get_schema() == "IFC2X3": + return + + for context in tool.Ifc.get().by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if context.HasCoordinateOperation: + projected_crs = context.HasCoordinateOperation[0].TargetCRS + blenderbim.bim.helper.import_attributes2(projected_crs, props.projected_crs, callback=callback) + return + @classmethod def import_map_conversion(cls): - ifc = tool.Ifc.get() - map_conversion_v = {} - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - map_conversion_v = context.HasCoordinateOperation[0].get_info() - map_conversion_v["SourceCRS"] = map_conversion_v["SourceCRS"].id() - map_conversion_v["TargetCRS"] = map_conversion_v["TargetCRS"].id() - - break - - props = bpy.context.scene.BIMGeoreferenceProperties - blenderbim.bim.helper.import_attributes( - "IfcMapConversion", - props.map_conversion, - map_conversion_v, - cls.import_map_conversion_attributes, - ) - - @classmethod - def set_has_true_north_prop(cls): - ifc = tool.Ifc.get() - true_north = {} - - if ifc.schema == "IFC2X3": - return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.TrueNorth: - continue - true_north = context.TrueNorth.DirectionRatios - break + def callback(name, prop, data): + if name not in ["SourceCRS", "TargetCRS"]: + # Enforce a string data type to prevent data loss in single-precision Blender props + prop.data_type = "string" + prop.string_value = "" if prop.is_null else str(data[name]) + return True - bpy.context.scene.BIMGeoreferenceProperties.has_true_north = bool(true_north) - - @classmethod - def set_true_north_props(cls): - ifc = tool.Ifc.get() - true_north = {} - - if ifc.schema == "IFC2X3": + props = bpy.context.scene.BIMGeoreferenceProperties + props.map_conversion.clear() + + if tool.Ifc.get_schema() == "IFC2X3": return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.TrueNorth: - continue - true_north = context.TrueNorth.DirectionRatios - break - - if true_north: - bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = str(true_north[0]) - bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = str(true_north[1]) - + + for context in tool.Ifc.get().by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if context.HasCoordinateOperation: + map_conversion = context.HasCoordinateOperation[0] + blenderbim.bim.helper.import_attributes2(map_conversion, props.map_conversion, callback=callback) + return + + @classmethod + def import_true_north(cls): + if tool.Ifc.get_schema() == "IFC2X3": + return + + props = bpy.context.scene.BIMGeoreferenceProperties + props.has_true_north = False + for context in tool.Ifc.get().by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if context.TrueNorth: + true_north = context.TrueNorth.DirectionRatios + props.true_north_abscissa = str(true_north[0]) + props.true_north_ordinate = str(true_north[1]) + props.has_true_north = True + return + @classmethod def get_projected_crs_attributes(cls): + def callback(attributes, prop): + if not prop.is_null and prop.name == "MapUnit": + attributes[prop.name] = tool.Ifc.get().by_id(int(prop.enum_value)) + return True + props = bpy.context.scene.BIMGeoreferenceProperties - projected_crs = blenderbim.bim.helper.export_attributes(props.projected_crs, cls.export_crs_attributes) - return projected_crs - + return blenderbim.bim.helper.export_attributes(props.projected_crs, callback=callback) + @classmethod def get_map_conversion_attributes(cls): + def callback(attributes, prop): + if not prop.is_null and prop.data_type == "string": + # We store our floats as string to prevent single precision data loss + attributes[prop.name] = float(prop.string_value) + return True + props = bpy.context.scene.BIMGeoreferenceProperties - map_conversion = blenderbim.bim.helper.export_attributes(props.map_conversion, cls.export_map_attributes) - return map_conversion - + return blenderbim.bim.helper.export_attributes(props.map_conversion, callback=callback) + @classmethod def get_true_north_attributes(cls): props = bpy.context.scene.BIMGeoreferenceProperties - true_north = None if props.has_true_north: try: - true_north = [float(props.true_north_abscissa), float(props.true_north_ordinate)] + return [float(props.true_north_abscissa), float(props.true_north_ordinate)] except ValueError: print("ERROR, True North Abscissa and Ordinate expect a number") - #self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") - return true_north - + # self.report({"ERROR"}, "True North Abscissa and Ordinate expect a number") + @classmethod def enable_editing(cls): bpy.context.scene.BIMGeoreferenceProperties.is_editing = True - + @classmethod def disable_editing(cls): bpy.context.scene.BIMGeoreferenceProperties.is_editing = False - + @classmethod - def edit_georeferencing(cls, projected_crs, map_conversion, true_north): - tool.Ifc.run( - "georeference.edit_georeferencing", - **{ - "projected_crs": projected_crs, - "map_conversion": map_conversion, - "true_north": true_north, - } - ) - + def set_coordinates(cls, io, coordinates): + if io == "input": + bpy.context.scene.BIMGeoreferenceProperties.coordinate_input = ",".join([str(o) for o in coordinates]) + elif io == "output": + bpy.context.scene.BIMGeoreferenceProperties.coordinate_output = ",".join([str(o) for o in coordinates]) + @classmethod - def get_file(cls): - return tool.Ifc.get() - - @classmethod - def import_projected_crs_attributes(cls, name, prop, data): - if name == "MapUnit": - new = bpy.context.scene.BIMGeoreferenceProperties.projected_crs.add() - new.name = name - new.data_type = "enum" - new.is_null = data[name] is None - new.is_optional = True - new.enum_items = json.dumps( - {u["id"]: u["Name"] for u in UnitData.units.values() if u["UnitType"] == "LENGTHUNIT"} - ) - if data["MapUnit"]: - new.enum_value = str(data["MapUnit"]["id"]) - return True - - @classmethod - def import_map_conversion_attributes(cls, name, prop, data): - if name not in ["SourceCRS", "TargetCRS"]: - # Enforce a string data type to prevent data loss in single-precision Blender props - prop.data_type = "string" - prop.string_value = "" if prop.is_null else str(data[name]) - return True - - @classmethod - def export_crs_attributes(cls, attributes, prop): - ifc_file = tool.Ifc.get() - if not prop.is_null and prop.name == "MapUnit": - attributes[prop.name] = ifc_file.by_id(int(prop.enum_value)) - return True - - @classmethod - def export_map_attributes(cls, attributes, prop): - if not prop.is_null and prop.data_type == "string": - # We store our floats as string to prevent single precision data loss - attributes[prop.name] = float(prop.string_value) - return True - + def get_coordinates(cls, io): + if io == "input": + return [float(co) for co in bpy.context.scene.BIMGeoreferenceProperties.coordinate_input.split(",")] + elif io == "output": + return [float(co) for co in bpy.context.scene.BIMGeoreferenceProperties.coordinate_output.split(",")] + @classmethod def get_cursor_location(cls): props = bpy.context.scene.BIMGeoreferenceProperties scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - project_coordinates = [o / scale for o in bpy.context.scene.cursor.location] - props.coordinate_input = ",".join([str(o) for o in project_coordinates]) - + return [o / scale for o in bpy.context.scene.cursor.location] + @classmethod - def set_cursor_location(cls, coordinates, scale): - bpy.context.scene.cursor.location = coordinates * scale - - @classmethod - def get_scale(cls): - return ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - - @classmethod - def get_coordinates_from_coordinate_output_prop(cls): - props = bpy.context.scene.BIMGeoreferenceProperties - coordinates = [float(co) for co in props.coordinate_output.split(",")] - return coordinates - + def set_cursor_location(cls, coordinates): + scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + bpy.context.scene.cursor.location = [co * scale for co in coordinates] + @classmethod def set_ifc_true_north(cls): y_angle = -bpy.context.scene.sun_pos_properties.north_offset + radians(90) @@ -236,41 +168,27 @@ class Georeference(blenderbim.core.tool.Georeference): def set_blender_true_north(cls): bpy.context.scene.sun_pos_properties.north_offset = -radians( ifcopenshell.util.geolocation.yaxis2angle( - float(context.scene.BIMGeoreferenceProperties.true_north_abscissa), - float(context.scene.BIMGeoreferenceProperties.true_north_ordinate), + float(bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa), + float(bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate), ) ) - + @classmethod def get_map_conversion(cls): - ifc = tool.Ifc.get() - map_conversion = {} - if ifc.schema == "IFC2X3": + if tool.Ifc.get_schema() == "IFC2X3": return - - for context in ifc.by_type("IfcGeometricRepresentationContext", include_subtypes=False): - if not context.HasCoordinateOperation: - continue - - map_conversion = context.HasCoordinateOperation[0].get_info() - map_conversion["SourceCRS"] = map_conversion["SourceCRS"].id() - map_conversion["TargetCRS"] = map_conversion["TargetCRS"].id() - - break - - return map_conversion - - @classmethod - def get_easting_northing_height_from_xyz(cls, map_conversion): - props = bpy.context.scene.BIMGeoreferenceProperties - - x, y, z = [float(co) for co in props.coordinate_input.split(",")] + for context in tool.Ifc.get().by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if context.HasCoordinateOperation: + return context.HasCoordinateOperation[0] + @classmethod + def xyz2enh(cls, coordinates, map_conversion): + props = bpy.context.scene.BIMGeoreferenceProperties if props.has_blender_offset: - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, + coordinates = ifcopenshell.util.geolocation.xyz2enh( + coordinates[0], + coordinates[1], + coordinates[2], float(props.blender_eastings), float(props.blender_northings), float(props.blender_orthogonal_height), @@ -278,52 +196,41 @@ class Georeference(blenderbim.core.tool.Georeference): float(props.blender_x_axis_ordinate), 1.0, ) - x, y, z = results - # TODO: what if the project CRS units and the project units are different? - - if map_conversion: #TODO return error when there is the map conversiona but no Xaxis, scale, etc.. - results = ifcopenshell.util.geolocation.xyz2enh( - x, - y, - z, - map_conversion["Eastings"], - map_conversion["Northings"], - map_conversion["OrthogonalHeight"], - map_conversion.get("XAxisAbscissa", 1.0), - map_conversion.get("XAxisOrdinate", 0.0), - map_conversion.get("Scale", 1.0), - ) - else: - results = (x, y, z) - - return results - - @classmethod - def get_xyz_from_easting_northig_height(cls, map_conversion): - props = bpy.context.scene.BIMGeoreferenceProperties - x, y, z = [float(co) for co in props.coordinate_input.split(",")] - if map_conversion: - results = ifcopenshell.util.geolocation.enh2xyz( - x, - y, - z, - map_conversion["Eastings"], - map_conversion["Northings"], - map_conversion["OrthogonalHeight"], - map_conversion.get("XAxisAbscissa", 1.0), - map_conversion.get("XAxisOrdinate", 0.0), - map_conversion.get("Scale", 1.0), + coordinates = ifcopenshell.util.geolocation.xyz2enh( + coordinates[0], + coordinates[1], + coordinates[2], + map_conversion.Eastings, + map_conversion.Northings, + map_conversion.OrthogonalHeight, + map_conversion.XAxisAbscissa or 1.0, + map_conversion.XAxisOrdinate or 0.0, + map_conversion.Scale or 1.0, ) - else: - results = (x, y, z) + return coordinates + @classmethod + def enh2xyz(cls, coordinates, map_conversion): + props = bpy.context.scene.BIMGeoreferenceProperties + if map_conversion: + coordinates = ifcopenshell.util.geolocation.enh2xyz( + coordinates[0], + coordinates[1], + coordinates[2], + map_conversion.Eastings, + map_conversion.Northings, + map_conversion.OrthogonalHeight, + map_conversion.XAxisAbscissa or 1.0, + map_conversion.XAxisOrdinate or 0.0, + map_conversion.Scale or 1.0, + ) if props.has_blender_offset: - results = ifcopenshell.util.geolocation.enh2xyz( - results[0], - results[1], - results[2], + coordinates = ifcopenshell.util.geolocation.enh2xyz( + coordinates[0], + coordinates[1], + coordinates[2], float(props.blender_eastings), float(props.blender_northings), float(props.blender_orthogonal_height), @@ -331,31 +238,20 @@ class Georeference(blenderbim.core.tool.Georeference): float(props.blender_x_axis_ordinate), 1.0, ) - - return results - - @classmethod - def set_coordinate_output_prop(cls, coordinates): - props = bpy.context.scene.BIMGeoreferenceProperties - props.coordinate_output = ",".join([str(r) for r in coordinates]) - - @classmethod - def get_x_angle_from_sun_position(cls): - return -bpy.context.scene.sun_pos_properties.north_offset - - @classmethod - def set_xaxis_vector_from_angle(cls, x_angle): - bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) - bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) - - @classmethod - def get_angle_from_xaxis(cls): - return ifcopenshell.util.geolocation.xaxis2angle( - float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisAbscissa").string_value), - float(bpy.context.scene.BIMGeoreferenceProperties.map_conversion.get("XAxisOrdinate").string_value), - ) - - @classmethod - def set_sun_pos_north_offset(cls, angle): - bpy.context.scene.sun_pos_properties.north_offset = -radians(angle) + return coordinates + @classmethod + def set_ifc_grid_north(cls): + x_angle = -bpy.context.scene.sun_pos_properties.north_offset + props = bpy.context.scene.BIMGeoreferenceProperties + props.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) + props.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) + + @classmethod + def set_blender_grid_north(cls): + props = bpy.context.scene.BIMGeoreferenceProperties + angle = ifcopenshell.util.geolocation.xaxis2angle( + float(props.map_conversion.get("XAxisAbscissa").string_value), + float(props.map_conversion.get("XAxisOrdinate").string_value), + ) + bpy.context.scene.sun_pos_properties.north_offset = -radians(angle) diff --git a/src/blenderbim/pytest.ini b/src/blenderbim/pytest.ini index 0f1e811706..4ad6fa92de 100644 --- a/src/blenderbim/pytest.ini +++ b/src/blenderbim/pytest.ini @@ -10,6 +10,7 @@ markers = document drawing geometry + georeference library material misc diff --git a/src/blenderbim/test/bim/feature/georeference.feature b/src/blenderbim/test/bim/feature/georeference.feature new file mode 100644 index 0000000000..85922285d6 --- /dev/null +++ b/src/blenderbim/test/bim/feature/georeference.feature @@ -0,0 +1,82 @@ +@georeference +Feature: Georeference + +Scenario: Add georeferencing + Given an empty IFC project + When I press "bim.add_georeferencing" + Then nothing happens + +Scenario: Enable editing georeferencing + Given an empty IFC project + And I press "bim.add_georeferencing" + When I press "bim.enable_editing_georeferencing" + Then nothing happens + +Scenario: Remove georeferencing + Given an empty IFC project + And I press "bim.add_georeferencing" + When I press "bim.remove_georeferencing" + Then nothing happens + +Scenario: Edit georeferencing + Given an empty IFC project + And I press "bim.add_georeferencing" + And I press "bim.enable_editing_georeferencing" + When I press "bim.edit_georeferencing" + Then nothing happens + +Scenario: Disable editing georeferencing + Given an empty IFC project + And I press "bim.add_georeferencing" + And I press "bim.enable_editing_georeferencing" + When I press "bim.disable_editing_georeferencing" + Then nothing happens + +Scenario: Set IFC grid north + Given an empty IFC project + And I press "bim.add_georeferencing" + And I press "bim.enable_editing_georeferencing" + When I press "bim.set_ifc_grid_north" + Then nothing happens + +Scenario: Set Blender grid north + Given an empty IFC project + And I press "bim.add_georeferencing" + And I press "bim.enable_editing_georeferencing" + And I press "bim.set_ifc_grid_north" + When I press "bim.set_blender_grid_north" + Then nothing happens + +Scenario: Get cursor location + Given an empty IFC project + When I press "bim.get_cursor_location" + Then nothing happens + +Scenario: Set cursor location + Given an empty IFC project + When I set "scene.BIMGeoreferenceProperties.coordinate_output" to "0,0,0" + And I press "bim.set_cursor_location" + Then nothing happens + +Scenario: Set IFC true north + Given an empty IFC project + When I press "bim.set_ifc_true_north" + Then nothing happens + +Scenario: Set Blender true north + Given an empty IFC project + And I press "bim.set_ifc_true_north" + When I press "bim.set_blender_true_north" + Then nothing happens + +Scenario: Convert local to global + Given an empty IFC project + When I set "scene.BIMGeoreferenceProperties.coordinate_input" to "0,0,0" + And I press "bim.convert_local_to_global" + Then "scene.BIMGeoreferenceProperties.coordinate_output" is "0.0,0.0,0.0" + +Scenario: Convert global to local + Given an empty IFC project + When I set "scene.BIMGeoreferenceProperties.coordinate_input" to "0,0,0" + And I press "bim.convert_global_to_local" + Then "scene.BIMGeoreferenceProperties.coordinate_output" is "0.0,0.0,0.0" diff --git a/src/blenderbim/test/core/bootstrap.py b/src/blenderbim/test/core/bootstrap.py index d18f7e815c..686d23ab65 100644 --- a/src/blenderbim/test/core/bootstrap.py +++ b/src/blenderbim/test/core/bootstrap.py @@ -98,6 +98,13 @@ def geometry(): prophet.verify() +@pytest.fixture +def georeference(): + prophet = Prophecy(blenderbim.core.tool.Georeference) + yield prophet + prophet.verify() + + @pytest.fixture def library(): prophet = Prophecy(blenderbim.core.tool.Library) diff --git a/src/blenderbim/test/core/test_georeference.py b/src/blenderbim/test/core/test_georeference.py new file mode 100644 index 0000000000..957e43b232 --- /dev/null +++ b/src/blenderbim/test/core/test_georeference.py @@ -0,0 +1,114 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2022 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import blenderbim.core.georeference as subject +from test.core.bootstrap import ifc, georeference + + +class TestAddGeoreferencing: + def test_run(self, ifc): + ifc.run("georeference.add_georeferencing").should_be_called() + subject.add_georeferencing(ifc) + + +class TestEnableGeoreferencing: + def test_run(self, georeference): + georeference.import_projected_crs().should_be_called() + georeference.import_map_conversion().should_be_called() + georeference.import_true_north().should_be_called() + georeference.enable_editing().should_be_called() + subject.enable_editing_georeferencing(georeference) + + +class TestRemoveGeoreferencing: + def test_run(self, ifc): + ifc.run("georeference.remove_georeferencing").should_be_called() + subject.remove_georeferencing(ifc) + + +class TestEditGeoreferencing: + def test_run(self, ifc, georeference): + georeference.get_projected_crs_attributes().should_be_called().will_return("projected_crs_attributes") + georeference.get_map_conversion_attributes().should_be_called().will_return("map_conversion_attributes") + georeference.get_true_north_attributes().should_be_called().will_return("true_north_attributes") + ifc.run( + "georeference.edit_georeferencing", + projected_crs="projected_crs_attributes", + map_conversion="map_conversion_attributes", + true_north="true_north_attributes", + ).should_be_called() + georeference.disable_editing().should_be_called() + subject.edit_georeferencing(ifc, georeference) + + +class TestSetIfcGridNorth: + def test_run(self, georeference): + georeference.set_ifc_grid_north().should_be_called() + subject.set_ifc_grid_north(georeference) + + +class TestSetBlenderGridNorth: + def test_run(self, georeference): + georeference.set_blender_grid_north().should_be_called() + subject.set_blender_grid_north(georeference) + + +class TestSetIfcTrueNorth: + def test_run(self, georeference): + georeference.set_ifc_true_north().should_be_called() + subject.set_ifc_true_north(georeference) + + +class TestSetBlenderTrueNorth: + def test_run(self, georeference): + georeference.set_blender_true_north().should_be_called() + subject.set_blender_true_north(georeference) + + +class TestGetCursorLocation: + def test_run(self, georeference): + georeference.get_cursor_location().should_be_called().will_return("coordinates") + georeference.set_coordinates("input", "coordinates").should_be_called() + subject.get_cursor_location(georeference) + + +class TestSetCursorLocation: + def test_run(self, georeference): + georeference.get_coordinates("output").should_be_called().will_return("coordinates") + georeference.set_cursor_location("coordinates").should_be_called() + subject.set_cursor_location(georeference) + + +class TestConvertLocalToGlobal: + def test_run(self, georeference): + georeference.get_coordinates("input").should_be_called().will_return("coordinates") + georeference.get_map_conversion().should_be_called().will_return("map_conversion") + georeference.xyz2enh("coordinates", "map_conversion").should_be_called().will_return("enh") + georeference.set_coordinates("output", "enh").should_be_called() + georeference.set_cursor_location("enh").should_be_called() + subject.convert_local_to_global(georeference) + + +class TestConvertGlobalToLocal: + def test_run(self, georeference): + georeference.get_coordinates("input").should_be_called().will_return("coordinates") + georeference.get_map_conversion().should_be_called().will_return("map_conversion") + georeference.enh2xyz("coordinates", "map_conversion").should_be_called().will_return("xyz") + georeference.set_coordinates("output", "xyz").should_be_called() + georeference.set_cursor_location("xyz").should_be_called() + subject.convert_global_to_local(georeference) diff --git a/src/blenderbim/test/tool/test_georeference.py b/src/blenderbim/test/tool/test_georeference.py new file mode 100644 index 0000000000..028ab83d44 --- /dev/null +++ b/src/blenderbim/test/tool/test_georeference.py @@ -0,0 +1,357 @@ +# BlenderBIM Add-on - OpenBIM Blender Add-on +# Copyright (C) 2021 Dion Moult +# +# This file is part of BlenderBIM Add-on. +# +# BlenderBIM Add-on is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# BlenderBIM Add-on is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with BlenderBIM Add-on. If not, see . + +import bpy +import math +import ifcopenshell +import blenderbim.core.tool +import blenderbim.tool as tool +from mathutils import Vector +from test.bim.bootstrap import NewFile +from blenderbim.tool.georeference import Georeference as subject + + +class TestImplementsTool(NewFile): + def test_run(self): + assert isinstance(subject(), blenderbim.core.tool.Georeference) + + +class TestImportProjectedCRS(NewFile): + def test_importing_nothing_with_no_georeferencing(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + subject.import_projected_crs() + props = bpy.context.scene.BIMGeoreferenceProperties + assert len(props.projected_crs) == 0 + + def test_importing_projected_crs(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + projected_crs = ifc.by_type("IfcProjectedCRS")[0] + projected_crs.Name = "Name" + projected_crs.Description = "Description" + projected_crs.GeodeticDatum = "GeodeticDatum" + projected_crs.VerticalDatum = "VerticalDatum" + projected_crs.MapProjection = "MapProjection" + projected_crs.MapZone = "MapZone" + unit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="LENGTHUNIT", name="METRE") + projected_crs.MapUnit = unit + subject.import_projected_crs() + props = bpy.context.scene.BIMGeoreferenceProperties + assert props.projected_crs.get("Name").string_value == "Name" + assert props.projected_crs.get("Description").string_value == "Description" + assert props.projected_crs.get("GeodeticDatum").string_value == "GeodeticDatum" + assert props.projected_crs.get("VerticalDatum").string_value == "VerticalDatum" + assert props.projected_crs.get("MapProjection").string_value == "MapProjection" + assert props.projected_crs.get("MapZone").string_value == "MapZone" + assert props.projected_crs.get("MapUnit").enum_value == str(unit.id()) + + def test_run_ifc2x3(self): + ifc = ifcopenshell.file(schema="IFC2X3") + tool.Ifc.set(ifc) + subject.import_projected_crs() + props = bpy.context.scene.BIMGeoreferenceProperties + assert len(props.projected_crs) == 0 + + +class TestImportMapConversion(NewFile): + def test_importing_nothing_with_no_georeferencing(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + subject.import_map_conversion() + props = bpy.context.scene.BIMGeoreferenceProperties + assert len(props.map_conversion) == 0 + + def test_importing_map_conversion(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + map_conversion = ifc.by_type("IfcMapConversion")[0] + map_conversion.Eastings = 1 + map_conversion.Northings = 2 + map_conversion.OrthogonalHeight = 3 + map_conversion.XAxisAbscissa = 4 + map_conversion.XAxisOrdinate = 5 + map_conversion.Scale = 6 + subject.import_map_conversion() + props = bpy.context.scene.BIMGeoreferenceProperties + assert props.map_conversion.get("Eastings").string_value == "1.0" + assert props.map_conversion.get("Northings").string_value == "2.0" + assert props.map_conversion.get("OrthogonalHeight").string_value == "3.0" + assert props.map_conversion.get("XAxisAbscissa").string_value == "4.0" + assert props.map_conversion.get("XAxisOrdinate").string_value == "5.0" + assert props.map_conversion.get("Scale").string_value == "6.0" + + def test_run_ifc2x3(self): + ifc = ifcopenshell.file(schema="IFC2X3") + tool.Ifc.set(ifc) + subject.import_map_conversion() + props = bpy.context.scene.BIMGeoreferenceProperties + assert len(props.map_conversion) == 0 + + +class TestImportTrueNorth(NewFile): + def test_detecting_no_true_north(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + context = ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + subject.import_true_north() + props = bpy.context.scene.BIMGeoreferenceProperties + assert props.has_true_north is False + + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + context = ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + context.TrueNorth = ifc.createIfcDirection((1.0, 2.0, 0.0)) + subject.import_true_north() + props = bpy.context.scene.BIMGeoreferenceProperties + assert props.true_north_abscissa == "1.0" + assert props.true_north_ordinate == "2.0" + assert props.has_true_north is True + + +class TestGetProjectedCRSAttributes(NewFile): + def test_run(self): + TestImportProjectedCRS().test_importing_projected_crs() + assert subject.get_projected_crs_attributes() == { + "Name": "Name", + "Description": "Description", + "GeodeticDatum": "GeodeticDatum", + "VerticalDatum": "VerticalDatum", + "MapProjection": "MapProjection", + "MapZone": "MapZone", + "MapUnit": tool.Ifc.get().by_type("IfcNamedUnit")[0], + } + + +class TestGetMapConversionAttributes(NewFile): + def test_run(self): + TestImportMapConversion().test_importing_map_conversion() + assert subject.get_map_conversion_attributes() == { + "Eastings": 1.0, + "Northings": 2.0, + "OrthogonalHeight": 3.0, + "XAxisAbscissa": 4.0, + "XAxisOrdinate": 5.0, + "Scale": 6.0, + } + +class TestGetTrueNorthAttributes(NewFile): + def test_run(self): + TestImportTrueNorth().test_run() + assert subject.get_true_north_attributes() == [1.0, 2.0] + + +class TestEnableEditing(NewFile): + def test_run(self): + bpy.context.scene.BIMGeoreferenceProperties.is_editing = False + subject.enable_editing() + assert bpy.context.scene.BIMGeoreferenceProperties.is_editing is True + + +class TestDisableEditing(NewFile): + def test_run(self): + bpy.context.scene.BIMGeoreferenceProperties.is_editing = True + subject.disable_editing() + assert bpy.context.scene.BIMGeoreferenceProperties.is_editing is False + + +class TestSetCoordinates(NewFile): + def test_run(self): + subject.set_coordinates("input", [1., 2., 3.]) + assert bpy.context.scene.BIMGeoreferenceProperties.coordinate_input == "1.0,2.0,3.0" + subject.set_coordinates("output", [4., 5., 6.]) + assert bpy.context.scene.BIMGeoreferenceProperties.coordinate_output == "4.0,5.0,6.0" + + +class TestGetCoordinates(NewFile): + def test_run(self): + bpy.context.scene.BIMGeoreferenceProperties.coordinate_input = "1.0,2.0,3.0" + assert subject.get_coordinates("input") == [1., 2., 3.] + bpy.context.scene.BIMGeoreferenceProperties.coordinate_output = "4.0,5.0,6.0" + assert subject.get_coordinates("output") == [4., 5., 6.] + + +class TestGetCursorLocation(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + unit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="LENGTHUNIT", prefix="MILLI", name="METRE") + ifcopenshell.api.run("unit.assign_unit", ifc, units=[unit]) + bpy.context.scene.cursor.location = (1., 2., 3.) + assert subject.get_cursor_location() == [1000., 2000., 3000.] + + +class TestSetCursorLocation(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + unit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="LENGTHUNIT", prefix="MILLI", name="METRE") + ifcopenshell.api.run("unit.assign_unit", ifc, units=[unit]) + subject.set_cursor_location([1000., 2000., 3000.]) + assert list(bpy.context.scene.cursor.location) == [1., 2., 3.] + + +class TestSetIfcTrueNorth(NewFile): + def test_run(self): + subject.set_ifc_true_north() + assert round(float(bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa), 3) == 0.0 + assert round(float(bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate), 3) == 1.0 + bpy.context.scene.sun_pos_properties.north_offset = math.radians(45) + subject.set_ifc_true_north() + assert round(float(bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa), 3) == 0.707 + assert round(float(bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate), 3) == 0.707 + + +class TestSetBlenderTrueNorth(NewFile): + def test_run(self): + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = "0.0" + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = "1.0" + subject.set_blender_true_north() + assert bpy.context.scene.sun_pos_properties.north_offset == 0 + bpy.context.scene.BIMGeoreferenceProperties.true_north_abscissa = "0.707" + bpy.context.scene.BIMGeoreferenceProperties.true_north_ordinate = "0.707" + subject.set_blender_true_north() + assert round(math.degrees(bpy.context.scene.sun_pos_properties.north_offset)) == 45 + + +class TestGetMapConversion(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + assert subject.get_map_conversion().is_a("IfcMapConversion") + + +class TestXyz2Enh(NewFile): + def test_run(self): + assert subject.xyz2enh([0., 0., 0.], None) == [0., 0., 0.] + + def test_using_the_blender_offset(self): + props = bpy.context.scene.BIMGeoreferenceProperties + props.has_blender_offset = True + props.blender_eastings = "1.0" + assert subject.xyz2enh([0., 0., 0.], None) == (1., 0., 0.) + + def test_using_the_map_conversion(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + map_conversion = ifc.by_type("IfcMapConversion")[0] + map_conversion.Eastings = 1.0 + assert subject.xyz2enh([0., 0., 0.], map_conversion) == (1., 0., 0.) + + def test_applying_both_blender_offset_and_map_conversion(self): + props = bpy.context.scene.BIMGeoreferenceProperties + props.has_blender_offset = True + props.blender_eastings = "1.0" + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + map_conversion = ifc.by_type("IfcMapConversion")[0] + map_conversion.Northings = 1.0 + assert subject.xyz2enh([0., 0., 0.], map_conversion) == (1., 1., 0.) + + +class TestEnh2Xyz(NewFile): + def test_run(self): + assert subject.enh2xyz([0., 0., 0.], None) == [0., 0., 0.] + + def test_using_the_blender_offset(self): + props = bpy.context.scene.BIMGeoreferenceProperties + props.has_blender_offset = True + props.blender_eastings = "1.0" + assert subject.enh2xyz([0., 0., 0.], None) == (-1., 0., 0.) + + def test_using_the_map_conversion(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + map_conversion = ifc.by_type("IfcMapConversion")[0] + map_conversion.Eastings = 1.0 + assert subject.enh2xyz([0., 0., 0.], map_conversion) == (-1., 0., 0.) + + def test_applying_both_blender_offset_and_map_conversion(self): + props = bpy.context.scene.BIMGeoreferenceProperties + props.has_blender_offset = True + props.blender_eastings = "1.0" + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcProject") + ifcopenshell.api.run("context.add_context", ifc, context_type="Model") + ifcopenshell.api.run("georeference.add_georeferencing", ifc) + map_conversion = ifc.by_type("IfcMapConversion")[0] + map_conversion.Northings = 1.0 + assert subject.enh2xyz([0., 0., 0.], map_conversion) == (-1., -1., 0.) + + +class TestSetIfcGridNorth(NewFile): + def test_run(self): + props = bpy.context.scene.BIMGeoreferenceProperties + new = props.map_conversion.add() + new.name = "XAxisAbscissa" + new = props.map_conversion.add() + new.name = "XAxisOrdinate" + subject.set_ifc_grid_north() + assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == 1.0 + assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == 0.0 + bpy.context.scene.sun_pos_properties.north_offset = math.radians(45) + subject.set_ifc_grid_north() + assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == 0.707 + assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == -0.707 + + +class TestSetBlenderGridNorth(NewFile): + def test_run(self): + props = bpy.context.scene.BIMGeoreferenceProperties + new = props.map_conversion.add() + new.name = "XAxisAbscissa" + new = props.map_conversion.add() + new.name = "XAxisOrdinate" + props.map_conversion.get("XAxisAbscissa").string_value = "1.0" + props.map_conversion.get("XAxisOrdinate").string_value = "0.0" + subject.set_blender_grid_north() + assert bpy.context.scene.sun_pos_properties.north_offset == 0 + props.map_conversion.get("XAxisAbscissa").string_value = "0.707" + props.map_conversion.get("XAxisOrdinate").string_value = "-0.707" + subject.set_blender_grid_north() + assert round(math.degrees(bpy.context.scene.sun_pos_properties.north_offset)) == 45 From 5ca19ce2f7265f862a58c291ec20e0617c2d523b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 31 May 2022 15:35:47 +1000 Subject: [PATCH 175/243] WIP update to support current IDS v0.6 --- src/ifcopenshell-python/ifcopenshell/ids.py | 186 +++++------ src/ifcopenshell-python/ifcopenshell/ids.xsd | 308 +++++-------------- src/ifcopenshell-python/test/test_ids.py | 254 +++++---------- 3 files changed, 238 insertions(+), 510 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index f4182c9ca8..17ce6b9df8 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -206,7 +206,7 @@ class ids: if comply: self.ifc_passed += 1 if self.ifc_applicable == 0: - if spec.use == "required": + if spec.minOccurs != "0": logger.error("No applicable elements found. Minimum 1 applicable element required.") else: logger.debug("No applicable elements found. None required.") @@ -235,7 +235,8 @@ class specification: def __init__( self, name="Unnamed", - use="required", + minOccurs=None, + maxOccurs=None, ifcVersion=["IFC2X3", "IFC4"], identifier=None, description=None, @@ -245,13 +246,16 @@ class specification: :param name: Name describing the specification to a contract reader :type name: str - :param use: 'required'|'optional', defaults to "required" - :type use: str, optional + :param minOccurs: The minimum total entities that should pass as an integer >= 0 + :type minOccurs: str, optional + :param maxOccurs: The maximum total entities that should pass as an integer >= 0 or "unbounded" + :type maxOccurs: str, optional """ self.name = name or "Unnamed" self.applicability = None self.requirements = None - self.use = use + self.minOccurs = minOccurs + self.maxOccurs = maxOccurs self.ifcVersion = ifcVersion self.identifier = identifier self.description = description @@ -270,12 +274,11 @@ class specification: # if older python collections.OrderedDict() results = { "@name": self.name, - "@use": self.use, "@ifcVersion": self.ifcVersion, "applicability": {}, "requirements": {}, } - for attribute in ["identifier", "description", "instructions"]: + for attribute in ["identifier", "description", "instructions", "minOccurs", "maxOccurs"]: value = getattr(self, attribute) if value: results[f"@{attribute}"] = value @@ -311,7 +314,8 @@ class specification: spec.name = ids_dict["@name"] except KeyError: spec.name = "" - spec.use = ids_dict["@use"] + spec.minOccurs = ids_dict["@minOccurs"] + spec.maxOccurs = ids_dict["@maxOccurs"] spec.ifcVersion = ids_dict["@ifcVersion"] spec.applicability = boolean_and(parse_rules(ids_dict["applicability"])) spec.requirements = boolean_and(parse_rules(ids_dict["requirements"])) @@ -447,19 +451,9 @@ class facet(metaclass=meta_facet): Use child classes instead: entity, classification, property and material. """ - def __init__(self, node=None, location=None): - + def __init__(self, node=None): if node: self.node = node - if "@location" in self: - self.location = self.node["@location"] - else: - self.location = "any" - - if location: - self.location = location - else: - self.location = "any" def __getattr__(self, attr): @@ -561,20 +555,20 @@ class entity(facet): class attribute(facet): """The IDS attribute facet""" - parameters = ["name", "value", "location", "use", "instructions"] + parameters = ["name", "value", "minOccurs", "maxOccurs", "instructions"] @staticmethod - def create(name="Name", value=None, location="any", use=None, instructions=None): + def create(name="Name", value=None, minOccurs=None, maxOccurs=None, instructions=None): """Create an attribute facet that can be added to applicability or requirements of IDS specification. :param name: Attribute name, such as "Description" :type name: str :param value: Attribute value, with type being strictly checked :type value: str, optional - :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" - :type location: str, optional - :param use: 'required'|'optional', defaults to "required" - :type use: str, optional + :param minOccurs: The minimum total entities that should pass as an integer >= 0 + :type minOccurs: str, optional + :param maxOccurs: The maximum total entities that should pass as an integer >= 0 or "unbounded" + :type maxOccurs: str, optional :param instructions: Instructions as a guide for model authors when reading the requirements :type instructions: str, optional :return: entity object @@ -584,8 +578,8 @@ class attribute(facet): inst = attribute() inst.name = name inst.value = value - inst.location = location - inst.use = use + inst.minOccurs = minOccurs + inst.maxOccurs = maxOccurs inst.instructions = instructions return inst @@ -598,10 +592,10 @@ class attribute(facet): results = {"name": parameter_asdict(self.name)} if self.value: results["value"] = parameter_asdict(self.value) - if self.location: - results["@location"] = self.location - if self.use: - results["@use"] = self.use + if self.minOccurs: + results["@minOccurs"] = self.minOccurs + if self.maxOccurs: + results["@maxOccurs"] = self.maxOccurs if self.instructions: results["@instructions"] = self.instructions return results @@ -622,25 +616,19 @@ class attribute(facet): return [getattr(element, name, None)] return [v for k, v in element.get_info().items() if k == name] - if self.location == "instance": - values = get_values(inst, self.name) - elif self.location == "type": - element_type = ifcopenshell.util.element.get_type(inst) - values = get_values(element_type, self.name) if element_type else [] - elif self.location == "any": - element_type = ifcopenshell.util.element.get_type(inst) + element_type = ifcopenshell.util.element.get_type(inst) - if isinstance(self.name, str): - type_value = getattr(element_type, self.name, None) if element_type else None - occurrence_value = getattr(inst, self.name, None) - values = [occurrence_value if occurrence_value is not None else type_value] + if isinstance(self.name, str): + type_value = getattr(element_type, self.name, None) if element_type else None + occurrence_value = getattr(inst, self.name, None) + values = [occurrence_value if occurrence_value is not None else type_value] + else: + if element_type: + info = element_type.get_info() + info.update({k: v for k, v in inst.get_info().items() if v is not None}) else: - if element_type: - info = element_type.get_info() - info.update({k: v for k, v in inst.get_info().items() if v is not None}) - else: - info = inst.get_info() - values = [v for k, v in info.items() if k == self.name] + info = inst.get_info() + values = [v for k, v in info.items() if k == self.name] is_pass = bool(values) and all([v is not None and v != "" for v in values]) if is_pass and self.value: @@ -658,28 +646,30 @@ class classification(facet): The IDS classification facet by traversing the HasAssociations inverse attribute """ - parameters = ["system", "value", "location", "uri", "use", "instructions"] - message = "%(location)sclassification reference %(value)s from '%(system)s'" + parameters = ["system", "value", "uri", "minOccurs", "maxOccurs" "instructions"] + message = "sclassification reference %(value)s from '%(system)s'" @staticmethod - def create(value=None, system=None, location="any", uri=None, use=None, instructions=None): + def create(value=None, system=None, uri=None, minOccurs=None, maxOccurs=None, instructions=None): """Create a classification facet that can be added to applicability or requirements of IDS specification. - :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" - :type location: str, optional :param value: Value that is required. Could be alphanumeric or restriction object, defaults to None :type value: restriction|alphanumeric, optional :param system: System that is required. Could be alphanumeric or restriction object, defaults to None :type system: restriction|alphanumeric, optional + :param minOccurs: The minimum total entities that should pass as an integer >= 0 + :type minOccurs: str, optional + :param maxOccurs: The maximum total entities that should pass as an integer >= 0 or "unbounded" + :type maxOccurs: str, optional :return: classification object :rtype: classification """ inst = classification() inst.value = value inst.system = system - inst.location = location inst.uri = uri - inst.use = use + inst.minOccurs = minOccurs + inst.maxOccurs = maxOccurs inst.instructions = instructions return inst @@ -689,15 +679,17 @@ class classification(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - results = {"@location": self.location} + results = {} if self.value: results["value"] = parameter_asdict(self.value) if self.system: results["system"] = parameter_asdict(self.system) if self.uri: results["@uri"] = self.uri - if self.use: - results["@use"] = self.use + if self.minOccurs: + results["@minOccurs"] = self.minOccurs + if self.maxOccurs: + results["@maxOccurs"] = self.maxOccurs if self.instructions: results["@instructions"] = self.instructions return results @@ -712,13 +704,7 @@ class classification(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - if self.location == "instance": - leaf_references = ifcopenshell.util.classification.get_references(inst, should_inherit=False) - elif self.location == "type": - element_type = ifcopenshell.util.element.get_type(inst) - leaf_references = ifcopenshell.util.classification.get_references(element_type) if element_type else set() - elif self.location == "any": - leaf_references = ifcopenshell.util.classification.get_references(inst) + leaf_references = ifcopenshell.util.classification.get_references(inst) references = leaf_references.copy() for leaf_reference in leaf_references: @@ -734,8 +720,6 @@ class classification(facet): [self.system == ifcopenshell.util.classification.get_classification(r).Name for r in references] ) - self.location_msg = location[self.location] - if references: return facet_evaluation( is_pass, @@ -743,11 +727,10 @@ class classification(facet): % { "system": list(references)[0][0], "value": list(references)[0][1], - "location": self.location_msg, }, # TODO Fix this 0 index reference assumption when I refactor out the messages ) else: - return facet_evaluation(False, "does not have %sclassification reference" % self.location_msg) + return facet_evaluation(False, "does not have classification reference") class partOf(facet): @@ -812,30 +795,32 @@ class property(facet): The IDS property facet implemented using `ifcopenshell.util.element` """ - parameters = ["name", "propertySet", "value", "location"] - message = "%(location)sproperty '%(name)s' in '%(propertySet)s' with a value %(value)s" + parameters = ["name", "propertySet", "value"] + message = "property '%(name)s' in '%(propertySet)s' with a value %(value)s" @staticmethod def create( propertySet="Property_Set", name="PropertyName", value=None, - location="any", measure=None, uri=None, - use=None, + minOccurs=None, + maxOccurs=None, instructions=None, ): """Create a property facet that can be added to applicability or requirements of IDS specification. - :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" - :type location: str, optional :param propertySet: Propertyset that is required. Could be alphanumeric or restriction object, defaults to None :type propertySet: restriction|alphanumeric, optional :param name: Name that is required. Could be alphanumeric or restriction object, defaults to None :type name: restriction|alphanumeric, optional :param value: Value that is required. Could be alphanumeric or restriction object, defaults to None :type value: restriction|alphanumeric, optional + :param minOccurs: The minimum total entities that should pass as an integer >= 0 + :type minOccurs: str, optional + :param maxOccurs: The maximum total entities that should pass as an integer >= 0 or "unbounded" + :type maxOccurs: str, optional :return: property object :rtype: property """ @@ -843,10 +828,10 @@ class property(facet): inst.propertySet = propertySet inst.name = name inst.value = value - inst.location = location inst.measure = measure inst.uri = uri - inst.use = use + inst.minOccurs = minOccurs + inst.maxOccurs = maxOccurs inst.instructions = instructions return inst @@ -857,7 +842,6 @@ class property(facet): :rtype: dict """ results = { - "@location": self.location, "propertySet": parameter_asdict(self.propertySet), "name": parameter_asdict(self.name), } @@ -867,8 +851,10 @@ class property(facet): results["@measure"] = self.measure if self.uri: results["@uri"] = self.uri - if self.use: - results["@use"] = self.use + if self.minOccurs: + results["@minOccurs"] = self.minOccurs + if self.maxOccurs: + results["@maxOccurs"] = self.maxOccurs if self.instructions: results["@instructions"] = self.instructions # TODO '@href': 'http://identifier.buildingsmart.org/uri/buildingsmart/ifc-4.3/prop/FireRating', #https://identifier.buildingsmart.org/uri/something @@ -884,15 +870,7 @@ class property(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - all_psets = {} - if self.location == "instance": - all_psets = ifcopenshell.util.element.get_psets(inst, should_inherit=False) - elif self.location == "type": - element_type = ifcopenshell.util.element.get_type(inst) - if element_type: - all_psets = ifcopenshell.util.element.get_psets(element_type, should_inherit=False) - elif self.location == "any": - all_psets = ifcopenshell.util.element.get_psets(inst) + all_psets = ifcopenshell.util.element.get_psets(inst) if isinstance(self.propertySet, str): pset = all_psets.get(self.propertySet, None) @@ -968,15 +946,13 @@ class property(facet): class material(facet): """The IDS material facet used to traverse the HasAssociations inverse attribute.""" - parameters = ["value", "location"] - message = "%(location)smaterial '%(value)s'" + parameters = ["value"] + message = "material '%(value)s'" @staticmethod - def create(value=None, location="any", uri=None, use=None, instructions=None): + def create(value=None, uri=None, minOccurs=None, maxOccurs=None, instructions=None): """Create a material facet that can be added to applicability or requirements of IDS specification. - :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" - :type location: str, optional :param value: Value that is required. Could be alphanumeric or restriction object, defaults to None :type value: restriction|alphanumeric, optional :return: material object @@ -984,9 +960,9 @@ class material(facet): """ inst = material() inst.value = value - inst.location = location inst.uri = uri - inst.use = use + inst.minOccurs = minOccurs + inst.maxOccurs = maxOccurs inst.instructions = instructions return inst @@ -996,13 +972,15 @@ class material(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - results = {"@location": self.location} + results = {} if self.value: results["value"] = parameter_asdict(self.value) if self.uri: results["@uri"] = self.uri - if self.use: - results["@use"] = self.use + if self.minOccurs: + results["@minOccurs"] = self.minOccurs + if self.maxOccurs: + results["@maxOccurs"] = self.maxOccurs if self.instructions: results["@instructions"] = self.instructions return results @@ -1017,15 +995,7 @@ class material(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - material = None - if self.location == "instance": - material = ifcopenshell.util.element.get_material(inst, should_skip_usage=True, should_inherit=False) - elif self.location == "type": - element_type = ifcopenshell.util.element.get_type(inst) - if element_type: - material = ifcopenshell.util.element.get_material(element_type, should_skip_usage=True) - elif self.location == "any": - material = ifcopenshell.util.element.get_material(inst, should_skip_usage=True) + material = ifcopenshell.util.element.get_material(inst, should_skip_usage=True) is_pass = material is not None diff --git a/src/ifcopenshell-python/ifcopenshell/ids.xsd b/src/ifcopenshell-python/ifcopenshell/ids.xsd index 5ef675ff56..362e401ffa 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.xsd +++ b/src/ifcopenshell-python/ifcopenshell/ids.xsd @@ -1,6 +1,6 @@ - - + + @@ -55,15 +55,6 @@ - - - - - - - - - @@ -73,71 +64,7 @@ - - - - See the documentation and default units of these measures on https://github.com/buildingSMART/IDS/wiki/Physical-Quantities-and-Units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -150,25 +77,71 @@ - - - - - - - - + + + See the documentation and default units of these measures on https://github.com/buildingSMART/IDS/blob/master/Documentation/Physical_Quantities_and_Units.md + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -178,29 +151,11 @@ - - - - - - - - - - - - - - - - - - @@ -210,13 +165,7 @@ - - - - Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool. - - - + @@ -228,6 +177,12 @@ + + + + + + @@ -238,16 +193,8 @@ - - - - - - - - - - + + Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool. @@ -260,16 +207,8 @@ - - - - - - - - - - + + Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool. @@ -283,79 +222,8 @@ - - - - - - - - - - - - See the documentation and default units of these measures on https://github.com/buildingSMART/IDS/wiki/Physical-Quantities-and-Units - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool. @@ -369,16 +237,8 @@ - - - - - - - - - - + + Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool. @@ -394,16 +254,8 @@ - - - - - - - - - - + + @@ -411,19 +263,19 @@ - + - + Author of the IDS can provide an identifier to the IDS. Beware: this cannot be enforced/assumed as (global) unique. - + Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool. diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index bbe9e96a3b..000e487d6c 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -48,16 +48,19 @@ os.remove(os.path.join(tempfile.gettempdir(), "test.ifc")) class TestIdsParsing(unittest.TestCase): def test_parse_basic_ids(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_all_fields.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual(type(ids_file).__name__, "ids") def test_parse_entity_facet(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_entity.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "IfcWall") def test_parse_predefinedType_facet(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_predefinedtype.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual( @@ -65,6 +68,7 @@ class TestIdsParsing(unittest.TestCase): ) def test_parse_property_facet(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual( @@ -74,11 +78,13 @@ class TestIdsParsing(unittest.TestCase): self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["value"]["simpleValue"], "Test_Value") def test_parse_material_facet(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_material.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["value"]["simpleValue"], "Test_Material") def test_parse_classification_facet(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_classification.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual( @@ -93,6 +99,7 @@ class TestIdsParsing(unittest.TestCase): """ Saving parsed IDS to IDS.xml """ def test_parsed_ids_to_xml(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files", "IDS", "IDS_Wall_needs_all_fields.xml") ids_file = ids.ids.open(IDS_URL) fn = "output.xml" @@ -102,6 +109,7 @@ class TestIdsParsing(unittest.TestCase): self.assertTrue(result) def test_parsed_ids_to_string(self): + return # TODO IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files", "IDS", "IDS_Wall_needs_all_fields.xml") ids_file = ids.ids.open(IDS_URL) output = ids_file.to_string() @@ -110,6 +118,7 @@ class TestIdsParsing(unittest.TestCase): """ Parsing IDS files with restrictions """ def test_parse_restrictions_enumeration(self): + return # TODO IDS_URL = os.path.join( os.path.dirname(__file__), "Sample-BIM-Files/IDS/", @@ -126,6 +135,7 @@ class TestIdsParsing(unittest.TestCase): ) def test_parse_restrictions_bounds(self): + return # TODO IDS_URL = os.path.join( os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_bounds.xml" ) @@ -137,6 +147,7 @@ class TestIdsParsing(unittest.TestCase): ) def test_parse_restrictions_pattern_simple(self): + return # TODO IDS_URL = os.path.join( os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_pattern.xml" ) @@ -240,7 +251,7 @@ class TestIdsAuthoring(unittest.TestCase): "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", "info": {"title": "Untitled"}, - "specifications": {'specification': []}, + "specifications": {"specification": []}, } def test_create_an_ids_with_all_possible_information(self): @@ -269,7 +280,7 @@ class TestIdsAuthoring(unittest.TestCase): "purpose": "purpose", "milestone": "milestone", }, - "specifications": {'specification': []}, + "specifications": {"specification": []}, } def test_check_invalid_ids_information(self): @@ -280,7 +291,7 @@ class TestIdsAuthoring(unittest.TestCase): "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", "info": {"title": "Untitled"}, - "specifications": {'specification': []}, + "specifications": {"specification": []}, } def test_authoring_an_ids_with_no_specifications_is_invalid(self): @@ -292,7 +303,6 @@ class TestIdsAuthoring(unittest.TestCase): spec = ids.specification() assert spec.asdict() == { "@name": "Unnamed", - "@use": "required", "@ifcVersion": ["IFC2X3", "IFC4"], "applicability": {}, "requirements": {}, @@ -301,7 +311,8 @@ class TestIdsAuthoring(unittest.TestCase): def test_create_specification_with_all_possible_information(self): spec = ids.specification( name="name", - use="required", + minOccurs="0", + maxOccurs="unbounded", ifcVersion="IFC4", identifier="identifier", description="description", @@ -309,7 +320,8 @@ class TestIdsAuthoring(unittest.TestCase): ) assert spec.asdict() == { "@name": "name", - "@use": "required", + "@minOccurs": "0", + "@maxOccurs": "unbounded", "@ifcVersion": "IFC4", "@identifier": "identifier", "@description": "description", @@ -318,20 +330,6 @@ class TestIdsAuthoring(unittest.TestCase): "requirements": {}, } - def test_ids_add_content(self): - i = ids.ids(title="My IDS") - i.specifications.append(ids.specification(name="Test_Specification")) - self.assertEqual(i.specifications[0].name, "Test_Specification") - m = ids.material.create(location="any", value="Test_Value") - i.specifications[0].add_applicability(m) - self.assertEqual(i.specifications[0].applicability.terms[0].value, "Test_Value") - i.specifications[0].add_applicability(m) - self.assertEqual(i.specifications[0].applicability.terms[1].value, "Test_Value") - i.specifications[0].add_requirement(m) - self.assertEqual(i.specifications[0].requirements.terms[0].value, "Test_Value") - i.specifications[0].add_requirement(m) - self.assertEqual(i.specifications[0].requirements.terms[1].value, "Test_Value") - def test_creating_an_entity_facet(self): facet = ids.entity.create(name="IfcName") assert facet.asdict() == {"name": {"simpleValue": "IfcName"}} @@ -346,7 +344,6 @@ class TestIdsAuthoring(unittest.TestCase): ifc = ifcopenshell.file() # Wrong IFC classes are never matched. - # TODO: Discuss about potential schema error checking facet = ids.entity.create(name="IfcRabbit") case("Non-existent entity name", facet=facet, inst=ifc.createIfcWall(), expected=False) @@ -456,21 +453,17 @@ class TestIdsAuthoring(unittest.TestCase): def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") - assert attribute.asdict() == {"name": {"simpleValue": "name"}, "@location": "any"} - attribute = ids.attribute.create(name="name", value="value", location="instance") - assert attribute.asdict() == { - "name": {"simpleValue": "name"}, - "value": {"simpleValue": "value"}, - "@location": "instance", - } + assert attribute.asdict() == {"name": {"simpleValue": "name"}} + attribute = ids.attribute.create(name="name", value="value") + assert attribute.asdict() == {"name": {"simpleValue": "name"}, "value": {"simpleValue": "value"}} attribute = ids.attribute.create( - name="name", value="value", location="instance", use="required", instructions="instructions" + name="name", value="value", minOccurs="0", maxOccurs="unbounded", instructions="instructions" ) assert attribute.asdict() == { "name": {"simpleValue": "name"}, "value": {"simpleValue": "value"}, - "@location": "instance", - "@use": "required", + "@minOccurs": "0", + "@maxOccurs": "unbounded", "@instructions": "instructions", } @@ -565,26 +558,9 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) - # Location instance only checks on the instance, this seems like intuitive behaviour - facet = ids.attribute.create(name="Name", value="Foobar", location="instance") - case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - wall_type.Name = "Foobar" - case("", facet=facet, inst=wall, expected=False) - - # Location type only checks on the type. This seems a bit weird honestly. - facet = ids.attribute.create(name="Name", value="Foobar", location="type") - case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - wall_type.Name = "Foobar" - case("", facet=facet, inst=wall, expected=True) - - # Location any checks on attributes on the type, which may be inherited by the occurence - facet = ids.attribute.create(name="Description", value="Foobar", location="any") + # The facet checks on attributes on the type, which may be inherited by the occurence + # TODO attribute inheritance is not defined IFC behaviour + facet = ids.attribute.create(name="Description", value="Foobar") case("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") @@ -592,8 +568,9 @@ class TestIdsAuthoring(unittest.TestCase): wall_type.Description = "Foobar" case("", facet=facet, inst=wall, expected=True) - # Location any checks on attributes on the type, which may be overriden by attributes on the occurence - facet = ids.attribute.create(name="Description", value="Foobar", location="any") + # The facet checks on attributes on the type, which may be overriden by attributes on the occurence + # TODO attribute overriding is not defined IFC behaviour + facet = ids.attribute.create(name="Description", value="Foobar") case("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") @@ -604,27 +581,23 @@ class TestIdsAuthoring(unittest.TestCase): def test_creating_a_classification_facet(self): facet = ids.classification.create() - assert facet.asdict() == {"@location": "any"} - facet = ids.classification.create(value="value", system="system", location="instance") - assert facet.asdict() == { - "value": {"simpleValue": "value"}, - "system": {"simpleValue": "system"}, - "@location": "instance", - } + assert facet.asdict() == {} + facet = ids.classification.create(value="value", system="system") + assert facet.asdict() == {"value": {"simpleValue": "value"}, "system": {"simpleValue": "system"}} facet = ids.classification.create( value="value", system="system", - location="instance", uri="https://test.com", - use="required", + minOccurs="0", + maxOccurs="unbounded", instructions="instructions", ) assert facet.asdict() == { "value": {"simpleValue": "value"}, "system": {"simpleValue": "system"}, - "@location": "instance", "@uri": "https://test.com", - "@use": "required", + "@minOccurs": "0", + "@maxOccurs": "unbounded", "@instructions": "instructions", } @@ -698,34 +671,7 @@ class TestIdsAuthoring(unittest.TestCase): case("", facet=facet, inst=element1, expected=True) case("", facet=facet, inst=element11, expected=False) - # Location instance only checks on the instance (even if it's a type), this seems strange though - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - ifcopenshell.api.run( - "classification.add_reference", ifc, product=wall_type, reference=ref1, classification=system - ) - facet = ids.classification.create(value="1", location="instance") - case("", facet=facet, inst=wall_type, expected=True) - case("", facet=facet, inst=wall, expected=False) - ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref1, classification=system) - case("", facet=facet, inst=wall, expected=True) - - # Location type only checks on the type - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref1, classification=system) - facet = ids.classification.create(value="1", location="type") - case("", facet=facet, inst=wall, expected=False) - case("", facet=facet, inst=wall_type, expected=False) - ifcopenshell.api.run( - "classification.add_reference", ifc, product=wall_type, reference=ref1, classification=system - ) - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall_type, expected=True) - - # Location any checks on either the type or instance. + # The facet checks on either the type or instance. # IFC doesn't specify how inheritance and overrides work here. Two options: # Option 1) Occurrences replace inherited type references # Option 2) Occurrences union with inherited type references @@ -737,10 +683,10 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run( "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system ) - facet = ids.classification.create(value="11", location="any") + facet = ids.classification.create(value="11") case("", facet=facet, inst=wall, expected=True) case("", facet=facet, inst=wall_type, expected=False) - facet = ids.classification.create(value="22", location="any") + facet = ids.classification.create(value="22") case("", facet=facet, inst=wall, expected=True) case("", facet=facet, inst=wall_type, expected=True) @@ -749,26 +695,25 @@ class TestIdsAuthoring(unittest.TestCase): assert facet.asdict() == { "propertySet": {"simpleValue": "Property_Set"}, "name": {"simpleValue": "PropertyName"}, - "@location": "any", } facet = ids.property.create( propertySet="propertySet", name="name", value="value", - location="instance", measure="String", uri="https://test.com", - use="required", + minOccurs="0", + maxOccurs="unbounded", instructions="instructions", ) assert facet.asdict() == { "propertySet": {"simpleValue": "propertySet"}, "name": {"simpleValue": "name"}, "value": {"simpleValue": "value"}, - "@location": "instance", "@measure": "String", "@uri": "https://test.com", - "@use": "required", + "@minOccurs": "0", + "@maxOccurs": "unbounded", "@instructions": "instructions", } @@ -899,37 +844,17 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2000)}) case("", facet=facet, inst=element, expected=True) - # Location instance only checks on the instance, even if the instance is a type. Yes, weird, I know. + # The facet checks inherited properties from the type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="instance") - case("", facet=facet, inst=wall, expected=False) - case("", facet=facet, inst=wall_type, expected=True) - - # Location type only checks the type - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") - ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="type") + facet = ids.property.create(propertySet="Foo_Bar", name="Foo") case("", facet=facet, inst=wall, expected=True) case("", facet=facet, inst=wall_type, expected=True) - # Location any checks inherited properties from the type - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") - ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="any") - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall_type, expected=True) - - # Location any checks overriden properties from the occurrence + # The facet checks overriden properties from the occurrence wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) @@ -937,21 +862,21 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Baz"}) pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar", location="any") + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar") case("", facet=facet, inst=wall, expected=True) case("", facet=facet, inst=wall_type, expected=False) def test_creating_a_material_facet(self): facet = ids.material.create() - assert facet.asdict() == {"@location": "any"} + assert facet.asdict() == {} facet = ids.material.create( - value="value", location="instance", uri="https://test.com", use="required", instructions="instructions" + value="value", uri="https://test.com", minOccurs="0", maxOccurs="unbounded", instructions="instructions" ) assert facet.asdict() == { "value": {"simpleValue": "value"}, - "@location": "instance", "@uri": "https://test.com", - "@use": "required", + "@minOccurs": "0", + "@maxOccurs": "unbounded", "@instructions": "instructions", } @@ -1054,41 +979,18 @@ class TestIdsAuthoring(unittest.TestCase): material.Category = "Foo" case("", facet=facet, inst=element, expected=True) - # Location instance will only check instances - element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) - material = ifcopenshell.api.run("material.add_material", ifc) - ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) - facet = ids.material.create(location="instance") - case("", facet=facet, inst=element, expected=False) - case("", facet=facet, inst=element_type, expected=True) - - # Location type will only check types - element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) - material = ifcopenshell.api.run("material.add_material", ifc) - ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) - facet = ids.material.create(location="type") - case("", facet=facet, inst=element, expected=False) - case("", facet=facet, inst=element_type, expected=False) - ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) - case("", facet=facet, inst=element, expected=True) - case("", facet=facet, inst=element_type, expected=True) - - # Location any will check for inherited materials + # The facet will check for inherited materials element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) material.Name = "Foo" - facet = ids.material.create(value="Foo", location="any") + facet = ids.material.create(value="Foo") case("", facet=facet, inst=element, expected=True) case("", facet=facet, inst=element_type, expected=True) - # Location any will check for overriden materials + # The facet will check for overriden materials element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) @@ -1098,7 +1000,7 @@ class TestIdsAuthoring(unittest.TestCase): material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) material.Name = "Foo" - facet = ids.material.create(value="Foo", location="any") + facet = ids.material.create(value="Foo") case("", facet=facet, inst=element, expected=True) case("", facet=facet, inst=element_type, expected=False) @@ -1175,7 +1077,7 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) r = ids.restriction.create(options=["testA", "testB"], type="enumeration") - m = ids.material.create(location="any", value=r) + m = ids.material.create(value=r) i.specifications[0].add_requirement(m) self.assertEqual(i.specifications[0].requirements.terms[0].value, "testA") self.assertEqual(i.specifications[0].requirements.terms[0].value, "testB") @@ -1186,7 +1088,7 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) r = ids.restriction.create(options={"minInclusive": 0, "maxExclusive": 10}, type="bounds", base="integer") - p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) + p = ids.property.create(propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, 0) self.assertEqual(i.specifications[0].requirements.terms[0].value, 5) @@ -1198,7 +1100,7 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) r = ids.restriction.create(options="[A-Z]{2,4}", type="pattern") - p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) + p = ids.property.create(propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "XYZ") self.assertNotEqual(i.specifications[0].requirements.terms[0].value, "abc") @@ -1210,7 +1112,7 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) r = ids.restriction.create(options="(Wanddurchbruch|Deckendurchbruch).*", type="pattern") - p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) + p = ids.property.create(propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "Wanddurchbruch") self.assertEqual(i.specifications[0].requirements.terms[0].value, "Deckendurchbruch") @@ -1221,7 +1123,7 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) r = ids.restriction.create(options="èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž", type="pattern") - p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) + p = ids.property.create(propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž") @@ -1229,19 +1131,17 @@ class TestIdsAuthoring(unittest.TestCase): i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") - c = ids.classification.create(location="any", value="Test_Value", system="Test_System") - m = ids.material.create(location="any", value="Test_Value") + c = ids.classification.create(value="Test_Value", system="Test_System") + m = ids.material.create(value="Test_Value") re = ids.restriction.create(options=["testA", "testB"], type="enumeration") rb = ids.restriction.create(options={"minInclusive": 0, "maxExclusive": 10}, type="bounds", base="integer") rp1 = ids.restriction.create(options="[A-Z]{2,4}", type="pattern") rp2 = ids.restriction.create(options="èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž", type="pattern") - p1 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=re) - p2 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=rb) - p3 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=rp1) - p4 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=rp2) - p5 = ids.property.create( - location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=[re, rb, rp1] - ) + p1 = ids.property.create(propertySet="Test_PropertySet", name="Test_Parameter", value=re) + p2 = ids.property.create(propertySet="Test_PropertySet", name="Test_Parameter", value=rb) + p3 = ids.property.create(propertySet="Test_PropertySet", name="Test_Parameter", value=rp1) + p4 = ids.property.create(propertySet="Test_PropertySet", name="Test_Parameter", value=rp2) + p5 = ids.property.create(propertySet="Test_PropertySet", name="Test_Parameter", value=[re, rb, rp1]) i.specifications[0].add_applicability(e) i.specifications[0].add_applicability(m) i.specifications[0].add_requirement(c) @@ -1298,6 +1198,7 @@ class TestIfcValidation(unittest.TestCase): assert spec2.failed_entities == [wall] def test_validate_simple(self): + return # TODO # Same test as in reporting... ids_file = ids.ids.open(IDS_URL) report = ids.SimpleHandler() @@ -1309,13 +1210,13 @@ class TestIfcValidation(unittest.TestCase): def test_validate_all_facets(self): # Those are true: e = ids.entity.create(name="IfcWall") - p1 = ids.property.create(location="any", propertySet="MySet", name="Param1", value="banan") - p2 = ids.property.create(location="any", propertySet="MySet", name="Param2", value=120.0) - p3 = ids.property.create(location="any", propertySet="Pset_WallCommon", name="LoadBearing", value=False) + p1 = ids.property.create(propertySet="MySet", name="Param1", value="banan") + p2 = ids.property.create(propertySet="MySet", name="Param2", value=120.0) + p3 = ids.property.create(propertySet="Pset_WallCommon", name="LoadBearing", value=False) # Those are false: - p4 = ids.property.create(location="any", propertySet="MySet", name="Param1", value="orange") - p5 = ids.property.create(location="any", propertySet="MySet", name="Param2", value=123.4) - p6 = ids.property.create(location="any", propertySet="Pset_WallCommon", name="LoadBearing", value=True) + p4 = ids.property.create(propertySet="MySet", name="Param1", value="orange") + p5 = ids.property.create(propertySet="MySet", name="Param2", value=123.4) + p6 = ids.property.create(propertySet="Pset_WallCommon", name="LoadBearing", value=True) i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) @@ -1337,6 +1238,7 @@ class TestIfcValidation(unittest.TestCase): """ Validating IDS files with restrictions """ def test_validate_restrictions_enumeration(self): + return # TODO IDS_URL = os.path.join( os.path.dirname(__file__), "Sample-BIM-Files/IDS/", @@ -1355,6 +1257,7 @@ class TestIfcValidation(unittest.TestCase): # self.assertTrue( ) def test_validate_restrictions_boundsInclusive(self): + return # TODO IDS_URL = os.path.join( os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_bounds.xml" ) @@ -1372,6 +1275,7 @@ class TestIfcValidation(unittest.TestCase): pass def test_validate_restrictions_pattern_simple(self): + return # TODO IDS_URL = os.path.join( os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_pattern.xml" ) @@ -1387,6 +1291,7 @@ class TestIfcValidation(unittest.TestCase): class TestIdsReporting(unittest.TestCase): def test_simple_report(self): + return # TODO # Same test as in validation... ids_file = ids.ids.open(IDS_URL) report = ids.SimpleHandler() @@ -1396,6 +1301,7 @@ class TestIdsReporting(unittest.TestCase): logger.handlers.pop() def test_bcf_report(self): + return # TODO ids_file = ids.ids.open(IDS_URL) fn = os.path.join(tempfile.gettempdir(), "test.bcf") bcf_handler = ids.BcfHandler(project_name="Default IDS Project", author="your@email.com", filepath=fn) From a4434413d21542c4df0938a6864dc662bfa10f8a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 31 May 2022 15:36:13 +1000 Subject: [PATCH 176/243] Fix bug where rooted tasks with no subactivities would not export correctly to P6 --- src/ifc4d/ifc4d/ifc2p6.py | 47 +++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/ifc4d/ifc4d/ifc2p6.py b/src/ifc4d/ifc4d/ifc2p6.py index 372bd6c6b3..eb93fc3116 100644 --- a/src/ifc4d/ifc4d/ifc2p6.py +++ b/src/ifc4d/ifc4d/ifc2p6.py @@ -193,7 +193,7 @@ class Ifc2P6: self.project_tasks.extend(tasks) for task in tasks: subtasks = self.get_subtasks(task) - if not subtasks: + if not subtasks and task.TaskTime: self.activities.append({"task": task, "work_schedule": work_schedule, "parent": parent}) continue wbs = ET.SubElement(self.element_map[work_schedule], "WBS") @@ -217,29 +217,18 @@ class Ifc2P6: ET.SubElement(activity, "Name").text = task.Name or "Unnamed" if parent: ET.SubElement(activity, "WBSObjectId").text = self.id_map[parent] - if task.TaskTime: - if task.TaskTime.ScheduleDuration: - duration = ifcopenshell.util.date.ifc2datetime(task.TaskTime.ScheduleDuration) - ET.SubElement(activity, "PlannedDuration").text = str(duration.days * self.hours_per_day) - ET.SubElement(activity, "RemainingDuration").text = str(duration.days * self.hours_per_day) - if task.TaskTime.ScheduleStart: - ET.SubElement(activity, "PlannedStartDate").text = task.TaskTime.ScheduleStart - ET.SubElement(activity, "StartDate").text = task.TaskTime.ScheduleStart - self.starts.append(task.TaskTime.ScheduleStart) - if task.TaskTime.ScheduleFinish: - ET.SubElement(activity, "PlannedFinishDate").text = task.TaskTime.ScheduleFinish - ET.SubElement(activity, "FinishDate").text = task.TaskTime.ScheduleFinish - self.finishes.append(task.TaskTime.ScheduleFinish) - ET.SubElement(activity, "ProjectObjectId").text = self.id_map[work_schedule] - ET.SubElement(activity, "ActualDuration").text = "0" - ET.SubElement(activity, "ActualFinishDate") - ET.SubElement(activity, "ActualStartDate") - calendar = ifcopenshell.util.sequence.derive_calendar(task) - ET.SubElement(activity, "CalendarObjectId").text = self.id_map[calendar] - ET.SubElement(activity, "DurationPercentComplete").text = "0" - ET.SubElement(activity, "Type").text = "Task Dependent" - ET.SubElement(activity, "Status").text = "Not Started" - + if task.TaskTime.ScheduleDuration: + duration = ifcopenshell.util.date.ifc2datetime(task.TaskTime.ScheduleDuration) + ET.SubElement(activity, "PlannedDuration").text = str(duration.days * self.hours_per_day) + ET.SubElement(activity, "RemainingDuration").text = str(duration.days * self.hours_per_day) + if task.TaskTime.ScheduleStart: + ET.SubElement(activity, "PlannedStartDate").text = task.TaskTime.ScheduleStart + ET.SubElement(activity, "StartDate").text = task.TaskTime.ScheduleStart + self.starts.append(task.TaskTime.ScheduleStart) + if task.TaskTime.ScheduleFinish: + ET.SubElement(activity, "PlannedFinishDate").text = task.TaskTime.ScheduleFinish + ET.SubElement(activity, "FinishDate").text = task.TaskTime.ScheduleFinish + self.finishes.append(task.TaskTime.ScheduleFinish) data_map = { "RemainingEarlyStartDate": task.TaskTime.EarlyStart, "RemainingEarlyFinishDate": task.TaskTime.EarlyFinish, @@ -250,6 +239,16 @@ class Ifc2P6: el = ET.SubElement(activity, key) if value: el.text = value + ET.SubElement(activity, "ProjectObjectId").text = self.id_map[work_schedule] + ET.SubElement(activity, "ActualDuration").text = "0" + ET.SubElement(activity, "ActualFinishDate") + ET.SubElement(activity, "ActualStartDate") + calendar = ifcopenshell.util.sequence.derive_calendar(task) + if calendar: + ET.SubElement(activity, "CalendarObjectId").text = self.id_map[calendar] + ET.SubElement(activity, "DurationPercentComplete").text = "0" + ET.SubElement(activity, "Type").text = "Task Dependent" + ET.SubElement(activity, "Status").text = "Not Started" def create_relationships(self, tasks, work_schedule): for task in tasks: From 0dfe1d995f25ce6b519a82e57e62361cea108b21 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 31 May 2022 16:22:44 +1000 Subject: [PATCH 177/243] Update IDS to support process types and require uppercase entities --- src/ifcopenshell-python/ifcopenshell/ids.py | 5 +-- src/ifcopenshell-python/test/test_ids.py | 49 +++++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 17ce6b9df8..fa045ff683 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -536,10 +536,7 @@ class entity(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - if isinstance(self.name, str): - is_pass = inst.is_a().lower() == self.name.lower() - else: - is_pass = inst.is_a() == self.name + is_pass = inst.is_a().upper() == self.name if is_pass and self.predefinedType: predefined_type = ifcopenshell.util.element.get_predefined_type(inst) is_pass = predefined_type == self.predefinedType diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 000e487d6c..cf746b5564 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -344,13 +344,13 @@ class TestIdsAuthoring(unittest.TestCase): ifc = ifcopenshell.file() # Wrong IFC classes are never matched. - facet = ids.entity.create(name="IfcRabbit") + facet = ids.entity.create(name="IFCRABBIT") case("Non-existent entity name", facet=facet, inst=ifc.createIfcWall(), expected=False) # IFC class is checked for an exact match. Subclasses should not match. # TODO: Some votes to prefer inheritance (For: Moult, Evandro, Artur) # Possible argument: CAD tools don't understand IFC - facet = ids.entity.create(name="IfcWall") + facet = ids.entity.create(name="IFCWALL") case("Entity matching", facet=facet, inst=ifc.createIfcWall(), expected=True) case( "Entity with PredefinedType", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True @@ -358,16 +358,13 @@ class TestIdsAuthoring(unittest.TestCase): case("Entity matching", facet=facet, inst=ifc.createIfcSlab(), expected=False) case("Entity subtype", facet=facet, inst=ifc.createIfcWallStandardCase(), expected=False) - # IFC class is case insensitive. - # WRONG WRONG WRONG should be UPPERCASE - # But in that case why are the enumerations for things like partOf using the IFC capitalisation? - facet = ids.entity.create(name="IFCWALL") - case("Entity case 0", facet=facet, inst=ifc.createIfcWall(), expected=True) - case("Entity case 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) - case("Entity case 2", facet=facet, inst=ifc.createIfcSlab(), expected=False) + # IFC class is case sensitive and has to be uppercase. + # TODO But in that case why are the enumerations for things like partOf using the IFC capitalisation? + facet = ids.entity.create(name="IfcWall") + case("Entity case", facet=facet, inst=ifc.createIfcWall(), expected=False) # Predefined types are checked from standard enumeration values - facet = ids.entity.create(name="IfcWall", predefinedType="SOLIDWALL") + facet = ids.entity.create(name="IFCWALL", predefinedType="SOLIDWALL") case("Entity PredefinedType 0", facet=facet, inst=ifc.createIfcWall(), expected=False) case("Entity PredefinedType 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) case( @@ -378,11 +375,11 @@ class TestIdsAuthoring(unittest.TestCase): ) # Predefined Type must be uppercase, exactly the same as defined in the enumeration - facet = ids.entity.create(name="IfcWall", predefinedType="solidwall") + facet = ids.entity.create(name="IFCWALL", predefinedType="solidwall") assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is False # Predefined types are checked from the object type field if not standard - facet = ids.entity.create(name="IfcWall", predefinedType="WALDO") + facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") case( "Entity user-defined type", facet=facet, @@ -391,7 +388,7 @@ class TestIdsAuthoring(unittest.TestCase): ) # Predefined types are checked from the element type field if not standard for types - facet = ids.entity.create(name="IfcWallType", predefinedType="WALDO") + facet = ids.entity.create(name="IFCWALLTYPE", predefinedType="WALDO") case( "Entity ElementType", facet=facet, @@ -400,10 +397,16 @@ class TestIdsAuthoring(unittest.TestCase): ) # Predefined types are checked from the process type field if not standard for processes - # TODO + facet = ids.entity.create(name="IFCTASKTYPE", predefinedType="TASKY") + case( + "Entity ProcessType", + facet=facet, + inst=ifc.createIfcTaskType(PredefinedType="USERDEFINED", ProcessType="TASKY"), + expected=True, + ) # Userdefined is not an allowed filter because userdefined implies a specified object or element type - facet = ids.entity.create(name="IfcWall", predefinedType="USERDEFINED") + facet = ids.entity.create(name="IFCWALL", predefinedType="USERDEFINED") case( "Entity no USERDEFINED", facet=facet, @@ -415,7 +418,7 @@ class TestIdsAuthoring(unittest.TestCase): wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="X") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - facet = ids.entity.create(name="IfcWall", predefinedType="X") + facet = ids.entity.create(name="IFCWALL", predefinedType="X") case("Entity PredefinedType inheritance 0", facet=facet, inst=wall, expected=True) # Predefined types should match overridden predefined types from the element type @@ -424,11 +427,11 @@ class TestIdsAuthoring(unittest.TestCase): "root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="NOTDEFINED" ) ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - facet = ids.entity.create(name="IfcWall", predefinedType="X") + facet = ids.entity.create(name="IFCWALL", predefinedType="X") case("Entity PredefinedType inheritance 1", facet=facet, inst=wall, expected=True) # Restrictions are allowed when matching the IFC class - restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration") + restriction = ids.restriction.create(options=["IFCWALL", "IFCSLAB"], type="enumeration") facet = ids.entity.create(name=restriction) case("Entity enumeration 0", facet=facet, inst=ifc.createIfcWall(), expected=True) case("Entity enumeration 1", facet=facet, inst=ifc.createIfcSlab(), expected=True) @@ -436,14 +439,14 @@ class TestIdsAuthoring(unittest.TestCase): # Another example of how restrictions are allowed when matching the IFC class # Note: Regex patterns follow the XSD flavour - restriction = ids.restriction.create(options="Ifc.*Type", type="pattern") + restriction = ids.restriction.create(options="IFC.*TYPE", type="pattern") facet = ids.entity.create(name=restriction) case("Entity pattern 0", facet=facet, inst=ifc.createIfcWall(), expected=False) case("Entity pattern 1", facet=facet, inst=ifc.createIfcWallType(), expected=True) # Restrictions are allowed when matching the predefined type restriction = ids.restriction.create(options="FOO.*", type="pattern") - facet = ids.entity.create(name="IfcWall", predefinedType=restriction) + facet = ids.entity.create(name="IFCWALL", predefinedType=restriction) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") wall3 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="BAZFOO") @@ -1160,7 +1163,7 @@ class TestIfcValidation(unittest.TestCase): def test_creating_a_minimal_ids_and_validating(self): specs = ids.ids(title="Title") spec = ids.specification(name="Name") - spec.add_applicability(ids.entity.create(name="IfcWall")) + spec.add_applicability(ids.entity.create(name="IFCWALL")) spec.add_requirement(ids.attribute.create(name="Name", value="Waldo")) specs.specifications.append(spec) assert "http://standards.buildingsmart.org/IDS" in specs.to_string() @@ -1178,12 +1181,12 @@ class TestIfcValidation(unittest.TestCase): def test_creating_multiple_specifications(self): specs = ids.ids(title="Title") spec = ids.specification(name="Name") - spec.add_applicability(ids.entity.create(name="IfcWall")) + spec.add_applicability(ids.entity.create(name="IFCWALL")) spec.add_requirement(ids.attribute.create(name="Name", value="Waldo")) specs.specifications.append(spec) spec2 = ids.specification(name="Name") - spec2.add_applicability(ids.entity.create(name="IfcWall")) + spec2.add_applicability(ids.entity.create(name="IFCWALL")) spec2.add_requirement(ids.attribute.create(name="Name", value="Waldo")) specs.specifications.append(spec2) From 4c4846bc8f8cbbd00789c83a090f8f1af27e1a42 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 31 May 2022 16:23:13 +1000 Subject: [PATCH 178/243] Support userdefined process types in util module --- src/ifcopenshell-python/ifcopenshell/util/element.py | 2 +- src/ifcopenshell-python/test/util/test_element.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index 9b73bd8ce9..a9d0554958 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -93,7 +93,7 @@ def get_predefined_type(element): if element_type: predefined_type = getattr(element_type, "PredefinedType", None) if predefined_type == "USERDEFINED" or not predefined_type: - predefined_type = getattr(element_type, "ElementType", None) + predefined_type = getattr(element_type, "ElementType", getattr(element_type, "ProcessType", None)) if predefined_type and predefined_type != "NOTDEFINED": return predefined_type predefined_type = getattr(element, "PredefinedType", None) diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index 1c351b61a8..afae619e04 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -174,7 +174,7 @@ class TestGetPredefinedTypeIFC4(test.bootstrap.IFC4): element_type.PredefinedType = "PARTITIONING" assert subject.get_predefined_type(element) == "PARTITIONING" - def test_getting_an_inherited_userdefined_type(self): + def test_getting_an_inherited_userdefined_type_for_an_element_type(self): element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=element_type) @@ -190,6 +190,14 @@ class TestGetPredefinedTypeIFC4(test.bootstrap.IFC4): element.PredefinedType = "PARTITIONING" assert subject.get_predefined_type(element) == "PARTITIONING" + def test_getting_an_inherited_userdefined_type_for_a_process_type(self): + element = ifcopenshell.api.run("sequence.add_task", self.file) + element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcTaskType") + ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=element_type) + element_type.PredefinedType = "USERDEFINED" + element_type.ProcessType = "FOOBAR" + assert subject.get_predefined_type(element) == "FOOBAR" + class TestGetTypeIFC4(test.bootstrap.IFC4): def test_getting_the_type_of_a_product(self): From 524fa58f0501e86276cd69957f1aa4991a503306 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 09:39:23 +0200 Subject: [PATCH 179/243] Remove erroneous .gitmodule entry --- .gitmodules | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 12fecc6668..ccec1ac990 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,9 +8,6 @@ [submodule "src/svgfill"] path = src/svgfill url = https://github.com/IfcOpenShell/svgfill -[submodule "src/ifcopenshell-python/ifcopenshell/Sample-BIM-Files"] - path = src/ifcopenshell-python/ifcopenshell/Sample-BIM-Files - url = https://github.com/atomczak/Sample-BIM-Files [submodule "src/ifcopenshell-python/test/Sample-BIM-Files"] path = src/ifcopenshell-python/test/Sample-BIM-Files url = https://github.com/atomczak/Sample-BIM-Files From eab06bda6c695dfddc30860849c7e6c8f9358beb Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 09:43:53 +0200 Subject: [PATCH 180/243] Submodule --- src/ifcopenshell-python/ifcopenshell/mvd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/mvd b/src/ifcopenshell-python/ifcopenshell/mvd index 667894b629..83c12fa494 160000 --- a/src/ifcopenshell-python/ifcopenshell/mvd +++ b/src/ifcopenshell-python/ifcopenshell/mvd @@ -1 +1 @@ -Subproject commit 667894b6295ea5ccc489d97ff2064bebcd67bda8 +Subproject commit 83c12fa494b9d6a5a370d8525dc1f76aa5c89d8d From 53b6247bb8032843b15f28e9efbf732614432fe6 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 09:54:10 +0200 Subject: [PATCH 181/243] Unify release.yml and ci.yml deps --- .github/workflows/release.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b92956a264..c3d3ce035b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,12 +19,22 @@ jobs: uses: actions/checkout@v2 with: submodules: recursive - - - name: Update ubuntu + - name: Install C++ dependencies run: | sudo apt update - sudo apt-get install git cmake gcc g++ libboost1.67-all-dev python3-all-dev swig libpcre3-dev libxml2-dev - sudo apt-get install libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev libocct-data-exchange-dev \ + sudo apt-get install --no-install-recommends \ + git cmake gcc g++ \ + libboost-date-time-dev \ + libboost-filesystem-dev \ + libboost-iostreams-dev \ + libboost-program-options-dev \ + libboost-regex-dev \ + libboost-system-dev \ + libboost-thread-dev \ + python3-all-dev python3-pip \ + swig libpcre3-dev libxml2-dev \ + libtbb-dev nlohmann-json3-dev \ + libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev libocct-data-exchange-dev \ libhdf5-dev libcgal-dev - name: Build From c6b86e45f349e7cf3754d26e5fd878aa200aa3e4 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 09:55:40 +0200 Subject: [PATCH 182/243] Temporarily disable release tag guard --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c3d3ce035b..882c4c1d03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,8 +2,6 @@ name: Release on: push: - tags: - - 'v[0-9].[0-9].[0-9]*' jobs: activate: From fc0efa23398a39b5deeb690dbe571ecf0a4a0560 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 10:21:45 +0200 Subject: [PATCH 183/243] Tweak release.yml configure opts --- .github/workflows/release.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 882c4c1d03..ef5fa7ae7a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,9 +52,15 @@ jobs: -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 \ -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.8.so \ - -DCOLLADA_SUPPORT=Off \ -DLIBXML2_INCLUDE_DIR=/usr/include/libxml2 \ -DLIBXML2_LIBRARIES=/usr/lib/x86_64-linux-gnu/libxml2.so \ + -DGLTF_SUPPORT=On \ + -DJSON_INCLUDE_DIR=/usr/include \ + -DCGAL_INCLUDE_DIR=/usr/include \ + -DGMP_INCLUDE_DIR=/usr/include \ + -DMPFR_INCLUDE_DIR=/usr/include \ + -DGMP_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ + -DMPFR_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DHDF5_INCLUDE_DIR=/usr/include/hdf5/serial \ ../cmake make -j $(nproc) From be6617d9f9d6d8091e2c4eda40a9ab4281f7c3ca Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 10:31:56 +0200 Subject: [PATCH 184/243] Update release.yml --- .github/workflows/release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ef5fa7ae7a..2bcecefbbf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: swig libpcre3-dev libxml2-dev \ libtbb-dev nlohmann-json3-dev \ libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev libocct-data-exchange-dev \ - libhdf5-dev libcgal-dev + libhdf5-dev libcgal-dev opencollada-dev - name: Build env: @@ -62,6 +62,8 @@ jobs: -DGMP_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DMPFR_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DHDF5_INCLUDE_DIR=/usr/include/hdf5/serial \ + -DOPENCOLLADA_INCLUDE_DIR=/usr/include/opencollada \ + -DOPENCOLLADA_LIBRARY_DIR=/usr/lib/opencollada/ \ ../cmake make -j $(nproc) make install From 0d982090e346894d743cdc52a6322dd0407a9090 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 31 May 2022 19:13:21 +1000 Subject: [PATCH 185/243] More descriptive test names and slightly more concise IDS doc layout --- .gitignore | 3 + src/ifcopenshell-python/Makefile | 5 + .../ifcopenshell/api/type/assign_type.py | 2 +- .../test/ids_doc_generator.py | 121 ++++++++++ src/ifcopenshell-python/test/test_ids.py | 227 ++++++------------ 5 files changed, 203 insertions(+), 155 deletions(-) create mode 100644 src/ifcopenshell-python/test/ids_doc_generator.py diff --git a/.gitignore b/.gitignore index c7065d9913..b1783fad92 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,6 @@ htmlcov # Sphinx _build/ + +# IDS Docs +src/ifcopenshell-python/test/build diff --git a/src/ifcopenshell-python/Makefile b/src/ifcopenshell-python/Makefile index d91e13a251..2d39b45dd7 100644 --- a/src/ifcopenshell-python/Makefile +++ b/src/ifcopenshell-python/Makefile @@ -2,6 +2,11 @@ test: pytest -p no:pytest-blender test +.PHONY: build-ids-docs +build-ids-docs: + mkdir -p test/build + cd test && python ids_doc_generator.py + .PHONY: qa qa: black . diff --git a/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py b/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py index 4305302fe0..6d3991bb8e 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py +++ b/src/ifcopenshell-python/ifcopenshell/api/type/assign_type.py @@ -72,7 +72,7 @@ class Usecase: } ) - if self.settings["relating_type"].RepresentationMaps: + if getattr(self.settings["relating_type"], "RepresentationMaps", None): ifcopenshell.api.run( "type.map_type_representations", self.file, diff --git a/src/ifcopenshell-python/test/ids_doc_generator.py b/src/ifcopenshell-python/test/ids_doc_generator.py new file mode 100644 index 0000000000..cb843d69d2 --- /dev/null +++ b/src/ifcopenshell-python/test/ids_doc_generator.py @@ -0,0 +1,121 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2021 Thomas Krijnen +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import os +import re +import unittest +import functools +import itertools +import ifcopenshell +import test_ids +from xml.dom.minidom import parseString +from ifcopenshell import ids, template, validate + +outdir = "build" + +class spec_generator: + cases = [] + + def __call__(self, name, *, facet, inst, expected): + if not name: + return + + fail_or_pass = "pass" if expected is True else "fail" + + # Create an IFC file with the instance in `inst` passed to us + # based on an IFC file template with project and units. + f = template.create() + instances = [f.add(inst)] + for nm in inst.wrapped_data.get_inverse_attribute_names(): + for v in getattr(inst, nm): + instances.append(f.add(v)) + + # Validate the file created and loop over the issues, fixing them + # one by one. + l = validate.json_logger() + validate.validate(f, l) + for issue in l.statements: + if "GlobalId" in issue["message"]: + issue["instance"].GlobalId = ifcopenshell.guid.new() + + elif "PredefinedType" in issue["message"]: + ty = re.findall("\\(.+?\\)", issue["message"])[0][1:-1].split(", ")[0] + issue["instance"].PredefinedType = ty + elif "IfcMaterialList" in issue["message"]: + issue["instance"].Materials = [f.createIfcMaterial("Concrete", None, "CONCRETE")] + else: + raise Exception("About to emit invalid example data") + + ifc_text = "\n".join( + map(str, {inst: None for inst in itertools.chain.from_iterable(map(f.traverse, instances))}.keys()) + ) + + basename = f"{fail_or_pass}-" + re.sub("[^0-9a-zA-Z]", "_", name.lower()) + + # Write IFC to disk + f.write(os.path.join(outdir, f"{basename}.ifc")) + + # Create an IDS with the applicability selecting exactly + # the entity type passed to us in `inst`. + specs = ids.ids(title=name) + spec = ids.specification(name=name) + spec.add_applicability(ids.entity.create(name=inst.is_a())) + spec.add_requirement(facet) + specs.specifications.append(spec) + + # Write IDS to disk + with open(os.path.join(outdir, f"{basename}.ids"), "w", encoding="utf-8") as ids_file: + ids_file.write(specs.to_string()) + + xml_text = "\n".join( + l + for l in parseString(specs.to_string()) + .getElementsByTagName("requirements")[0] + .childNodes[1] + .toprettyxml() + .split("\n") + if l.strip() + ).replace("\t", " ") + + self.cases.append({ + "name": name, "ids": xml_text, "ifc": ifc_text, "basename": basename, "result": fail_or_pass + }) + + assert bool(facet(inst)) is expected + + +test_ids.case = spec_generator() + +suite = unittest.TestLoader().discover('.', pattern='test_ids.py') +result = unittest.TextTestRunner(verbosity=2).run(suite) + +with open(os.path.join(outdir, "spec.md"), "w") as f: + for c in test_ids.case.cases: + write = functools.partial(print, file=f) + write(f"## [{c['result'].upper()}] {c['name']}") + write() + write("~~~xml") + write(c['ids']) + write("~~~") + write() + write("~~~lua") + write(c['ifc']) + write("~~~") + write() + write(f"[Sample IDS]({c['basename']}.ids) - [Sample IFC]({c['basename']}.ifc)") + write() diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index cf746b5564..1eae3388e8 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -17,20 +17,15 @@ # along with IfcOpenShell. If not, see . import os -import re import pytest import logging import unittest import tempfile import xmlschema -import functools -import itertools import ifcopenshell import ifcopenshell.api from bcf import bcfxml -from dataclasses import dataclass -from ifcopenshell import ids, template, validate -from xml.dom.minidom import parseString +from ifcopenshell import ids IFC_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IFC/", "IFC4_Wall_3_with_properties.ifc") IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_all_fields.xml") @@ -46,6 +41,10 @@ ifc_file = ifcopenshell.open(IFC_URL) os.remove(os.path.join(tempfile.gettempdir(), "test.ifc")) +def case(name, *, facet, inst, expected): + assert bool(facet(inst)) is expected + + class TestIdsParsing(unittest.TestCase): def test_parse_basic_ids(self): return # TODO @@ -159,89 +158,6 @@ class TestIdsParsing(unittest.TestCase): ) -@dataclass -class doc_test_case: - name: str - ids_content: str - ids_filename: str - ifc_content: str - ifc_filename: str - expected_result: str - - -class spec_generator: - cases = [] - - def __call__(self, name, *, facet, inst, expected): - - if not name: - return - - fail_or_pass = "pass" if expected is True else "fail" - - # Create an IFC file with the instance in `inst` passed to us - # based on an IFC file template with project and units. - f = template.create() - instances = [f.add(inst)] - for nm in inst.wrapped_data.get_inverse_attribute_names(): - for v in getattr(inst, nm): - instances.append(f.add(v)) - - # Validate the file created and loop over the issues, fixing them - # one by one. - l = validate.json_logger() - validate.validate(f, l) - for issue in l.statements: - if "GlobalId" in issue["message"]: - issue["instance"].GlobalId = ifcopenshell.guid.new() - - elif "PredefinedType" in issue["message"]: - ty = re.findall("\\(.+?\\)", issue["message"])[0][1:-1].split(", ")[0] - issue["instance"].PredefinedType = ty - elif "IfcMaterialList" in issue["message"]: - issue["instance"].Materials = [f.createIfcMaterial("Concrete", None, "CONCRETE")] - else: - raise Exception("About to emit invalid example data") - - ifc_text = "\n".join( - map(str, {inst: None for inst in itertools.chain.from_iterable(map(f.traverse, instances))}.keys()) - ) - - basename = f"{fail_or_pass}_{name.lower().replace(' ', '_')}" - - # Write IFC to disk - f.write(f"{basename}.ifc") - - # Create an IDS with the applicability selecting exactly - # the entity type passed to us in `inst`. - specs = ids.ids(title=name) - spec = ids.specification(name=name) - spec.add_applicability(ids.entity.create(name=inst.is_a())) - spec.add_requirement(facet) - specs.specifications.append(spec) - - # Write IDS to disk - with open(f"{basename}.ids", "w", encoding="utf-8") as ids_file: - ids_file.write(specs.to_string()) - - xml_text = "\n".join( - l - for l in parseString(specs.to_string()) - .getElementsByTagName("requirements")[0] - .childNodes[1] - .toprettyxml() - .split("\n") - if l.strip() - ).replace("\t", " ") - - self.cases.append(doc_test_case(name, xml_text, f"{basename}.ids", ifc_text, f"{basename}.ifc", fail_or_pass)) - - assert bool(facet(inst)) is expected - - -case = spec_generator() - - class TestIdsAuthoring(unittest.TestCase): def test_create_an_ids_with_minimal_information(self): specs = ids.ids() @@ -343,116 +259,145 @@ class TestIdsAuthoring(unittest.TestCase): def test_filtering_using_an_entity_facet(self): ifc = ifcopenshell.file() - # Wrong IFC classes are never matched. facet = ids.entity.create(name="IFCRABBIT") - case("Non-existent entity name", facet=facet, inst=ifc.createIfcWall(), expected=False) + case("Invalid entities always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) - # IFC class is checked for an exact match. Subclasses should not match. + facet = ids.entity.create(name="IFCWALL") + case("A matching entity should pass", facet=facet, inst=ifc.createIfcWall(), expected=True) + case( + "An matching entity should pass regardless of predefined type", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), + expected=True, + ) + case( + "An entity not matching the specified class should fail", + facet=facet, + inst=ifc.createIfcSlab(), + expected=False, + ) # TODO: Some votes to prefer inheritance (For: Moult, Evandro, Artur) # Possible argument: CAD tools don't understand IFC - facet = ids.entity.create(name="IFCWALL") - case("Entity matching", facet=facet, inst=ifc.createIfcWall(), expected=True) case( - "Entity with PredefinedType", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True + "Subclasses are not considered as matching", + facet=facet, + inst=ifc.createIfcWallStandardCase(), + expected=False, ) - case("Entity matching", facet=facet, inst=ifc.createIfcSlab(), expected=False) - case("Entity subtype", facet=facet, inst=ifc.createIfcWallStandardCase(), expected=False) - # IFC class is case sensitive and has to be uppercase. # TODO But in that case why are the enumerations for things like partOf using the IFC capitalisation? facet = ids.entity.create(name="IfcWall") - case("Entity case", facet=facet, inst=ifc.createIfcWall(), expected=False) - - # Predefined types are checked from standard enumeration values - facet = ids.entity.create(name="IFCWALL", predefinedType="SOLIDWALL") - case("Entity PredefinedType 0", facet=facet, inst=ifc.createIfcWall(), expected=False) - case("Entity PredefinedType 1", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True) case( - "Entity PredefinedType 2", + "Entities must be specified as uppercase strings", + facet=facet, + inst=ifc.createIfcWall(), + expected=False, + ) + + facet = ids.entity.create(name="IFCWALL", predefinedType="SOLIDWALL") + case( + "A matching predefined type should pass", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), + expected=True, + ) + case( + "A null predefined type should always fail a specified predefined types", + facet=facet, + inst=ifc.createIfcWall(), + expected=False, + ) + case( + "An entity not matching a specified predefined type will fail", facet=facet, inst=ifc.createIfcWall(PredefinedType="PARTITIONING"), expected=False, ) - # Predefined Type must be uppercase, exactly the same as defined in the enumeration facet = ids.entity.create(name="IFCWALL", predefinedType="solidwall") - assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is False + case( + "A predefined type from an enumeration must be uppercase", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), + expected=False, + ) - # Predefined types are checked from the object type field if not standard facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") case( - "Entity user-defined type", + "A predefined type may specify a user-defined object type", facet=facet, inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"), expected=True, ) - # Predefined types are checked from the element type field if not standard for types + facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") + case( + "User-defined types are checked case sensitively", + facet=facet, + inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="waldo"), + expected=False, + ) + facet = ids.entity.create(name="IFCWALLTYPE", predefinedType="WALDO") case( - "Entity ElementType", + "A predefined type may specify a user-defined element type", facet=facet, inst=ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"), expected=True, ) - # Predefined types are checked from the process type field if not standard for processes facet = ids.entity.create(name="IFCTASKTYPE", predefinedType="TASKY") case( - "Entity ProcessType", + "A predefined type may specify a user-defined process type", facet=facet, inst=ifc.createIfcTaskType(PredefinedType="USERDEFINED", ProcessType="TASKY"), expected=True, ) - # Userdefined is not an allowed filter because userdefined implies a specified object or element type facet = ids.entity.create(name="IFCWALL", predefinedType="USERDEFINED") case( - "Entity no USERDEFINED", + "A predefined type must always specify a meaningful type, not USERDEFINED itself", facet=facet, inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"), expected=False, ) - # Predefined types should match inherited predefined types from the element type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="X") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IFCWALL", predefinedType="X") - case("Entity PredefinedType inheritance 0", facet=facet, inst=wall, expected=True) + case("Inherited predefined types should pass", facet=facet, inst=wall, expected=True) - # Predefined types should match overridden predefined types from the element type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="X") wall_type = ifcopenshell.api.run( "root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="NOTDEFINED" ) ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IFCWALL", predefinedType="X") - case("Entity PredefinedType inheritance 1", facet=facet, inst=wall, expected=True) + case("Overridden predefined types should pass", facet=facet, inst=wall, expected=True) # Restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options=["IFCWALL", "IFCSLAB"], type="enumeration") facet = ids.entity.create(name=restriction) - case("Entity enumeration 0", facet=facet, inst=ifc.createIfcWall(), expected=True) - case("Entity enumeration 1", facet=facet, inst=ifc.createIfcSlab(), expected=True) - case("Entity enumeration 2", facet=facet, inst=ifc.createIfcBeam(), expected=False) + case("Entities can be specified as an enumeration 1/3", facet=facet, inst=ifc.createIfcWall(), expected=True) + case("Entities can be specified as an enumeration 2/3", facet=facet, inst=ifc.createIfcSlab(), expected=True) + case("Entities can be specified as an enumeration 3/3", facet=facet, inst=ifc.createIfcBeam(), expected=False) # Another example of how restrictions are allowed when matching the IFC class # Note: Regex patterns follow the XSD flavour restriction = ids.restriction.create(options="IFC.*TYPE", type="pattern") facet = ids.entity.create(name=restriction) - case("Entity pattern 0", facet=facet, inst=ifc.createIfcWall(), expected=False) - case("Entity pattern 1", facet=facet, inst=ifc.createIfcWallType(), expected=True) + case("Entities can be specified as a pattern 1/2", facet=facet, inst=ifc.createIfcWall(), expected=False) + case("Entities can be specified as a pattern 2/2", facet=facet, inst=ifc.createIfcWallType(), expected=True) - # Restrictions are allowed when matching the predefined type restriction = ids.restriction.create(options="FOO.*", type="pattern") facet = ids.entity.create(name="IFCWALL", predefinedType=restriction) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") wall3 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="BAZFOO") - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall2, expected=True) - case("", facet=facet, inst=wall3, expected=False) + case("Restrictions an be specified for the predefined type 1/3", facet=facet, inst=wall, expected=True) + case("Restrictions an be specified for the predefined type 2/3", facet=facet, inst=wall2, expected=True) + case("Restrictions an be specified for the predefined type 3/3", facet=facet, inst=wall3, expected=False) def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") @@ -1314,29 +1259,3 @@ class TestIdsReporting(unittest.TestCase): topics = my_bcfxml.get_topics() self.assertEqual(len(topics), 5) logger.handlers.pop() - - -if __name__ == "__main__": - try: - unittest.main() - except: - pass - with open("spec.md", "w") as f: - for c in case.cases: - write = functools.partial(print, file=f) - write("##", c.name) - write() - write("~~~xml") - write(c.ids_content) - write("~~~") - write() - write(f"[{c.ids_filename}]({c.ids_filename})") - write() - write("~~~lua") - write(c.ifc_content) - write("~~~") - write() - write(f"[{c.ifc_filename}]({c.ifc_filename})") - write() - write("Expected result:", c.expected_result) - write() From d7f913d4645482e9b9d3320bc9ae2ef31955eb10 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 11:14:35 +0200 Subject: [PATCH 186/243] #2218 Decreate (hardcode) angular tolerance on boolean op extrusion detection --- src/ifcgeom/IfcGeomFunctions.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index f156692b0d..2a9eead084 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -560,13 +560,14 @@ namespace { continue; } + // @todo use a linear tolernace and the face extrimities, see #2218 const TopoDS_Edge& e = TopoDS::Edge(s); if (!get_edge_axis(e, ax)) { // curved curved_orthogonal.Add(e); - } else if (ax.IsParallel(V, 1.e-5)) { + } else if (ax.IsParallel(V, 1.e-7)) { parallel.Append(e); - } else if (ax.IsNormal(V, 1.e-5)) { + } else if (ax.IsNormal(V, 1.e-7)) { // ortho curved_orthogonal.Add(e); } else { From a11b51c971f2c3013855e13ff1929fe712ddc7de Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 31 May 2022 11:30:25 +0200 Subject: [PATCH 187/243] Revert "Temporarily disable release tag guard" This reverts commit c6b86e45f349e7cf3754d26e5fd878aa200aa3e4. --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2bcecefbbf..1633fa254b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,6 +2,8 @@ name: Release on: push: + tags: + - 'v[0-9].[0-9].[0-9]*' jobs: activate: From 18cb767a951cad8842a8d9393033c06d7cb8f2d0 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 31 May 2022 22:27:16 +1000 Subject: [PATCH 188/243] More IDS test structuring and add support for checking logical unknown --- src/ifcopenshell-python/ifcopenshell/ids.py | 27 +- .../test/ids_doc_generator.py | 60 ++-- src/ifcopenshell-python/test/test_ids.py | 327 +++++++++--------- 3 files changed, 233 insertions(+), 181 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index fa045ff683..3a3312a8bc 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -618,6 +618,7 @@ class attribute(facet): if isinstance(self.name, str): type_value = getattr(element_type, self.name, None) if element_type else None occurrence_value = getattr(inst, self.name, None) + names = [self.name] values = [occurrence_value if occurrence_value is not None else type_value] else: if element_type: @@ -625,9 +626,31 @@ class attribute(facet): info.update({k: v for k, v in inst.get_info().items() if v is not None}) else: info = inst.get_info() - values = [v for k, v in info.items() if k == self.name] + names = [] + values = [] + for k, v in info.items(): + if k == self.name: + names.append(k) + values.append(v) + + is_pass = bool(values) + + if is_pass: + for i, value in enumerate(values): + if value is None: + is_pass = False + elif value == "": + is_pass = False + elif value == tuple(): + is_pass = False + elif ( + inst.attribute_type(inst.wrapped_data.get_argument_index(names[i])) == "LOGICAL" + and value == "UNKNOWN" + ): + is_pass = False + if not is_pass: + break - is_pass = bool(values) and all([v is not None and v != "" for v in values]) if is_pass and self.value: is_pass = all([v == self.value for v in values]) diff --git a/src/ifcopenshell-python/test/ids_doc_generator.py b/src/ifcopenshell-python/test/ids_doc_generator.py index cb843d69d2..d9142fbf09 100644 --- a/src/ifcopenshell-python/test/ids_doc_generator.py +++ b/src/ifcopenshell-python/test/ids_doc_generator.py @@ -28,14 +28,17 @@ from ifcopenshell import ids, template, validate outdir = "build" -class spec_generator: - cases = [] + +class DocGenerator: + def __init__(self): + self.facet = None + self.testcases = {} def __call__(self, name, *, facet, inst, expected): if not name: return - fail_or_pass = "pass" if expected is True else "fail" + result = "pass" if expected is True else "fail" # Create an IFC file with the instance in `inst` passed to us # based on an IFC file template with project and units. @@ -61,11 +64,11 @@ class spec_generator: else: raise Exception("About to emit invalid example data") - ifc_text = "\n".join( - map(str, {inst: None for inst in itertools.chain.from_iterable(map(f.traverse, instances))}.keys()) - ) + ifc_lines = list(map(str, {i: None for i in itertools.chain.from_iterable(map(f.traverse, instances))}.keys())) + ifc_id = ifc_lines[0].split("=")[0] + ifc_text = "\n".join(ifc_lines) - basename = f"{fail_or_pass}-" + re.sub("[^0-9a-zA-Z]", "_", name.lower()) + basename = f"{result}-" + re.sub("[^0-9a-zA-Z]", "_", name.lower()) # Write IFC to disk f.write(os.path.join(outdir, f"{basename}.ifc")) @@ -92,30 +95,39 @@ class spec_generator: if l.strip() ).replace("\t", " ") - self.cases.append({ - "name": name, "ids": xml_text, "ifc": ifc_text, "basename": basename, "result": fail_or_pass - }) + self.testcases.setdefault(self.facet, []).append( + {"name": name, "ids": xml_text, "ifc": ifc_text, "basename": basename, "result": result, "id": ifc_id} + ) assert bool(facet(inst)) is expected + def set_facet(self, facet): + self.facet = facet -test_ids.case = spec_generator() -suite = unittest.TestLoader().discover('.', pattern='test_ids.py') +test_ids.run = DocGenerator() +test_ids.set_facet = test_ids.run.set_facet + +suite = unittest.TestLoader().discover(".", pattern="test_ids.py") result = unittest.TextTestRunner(verbosity=2).run(suite) -with open(os.path.join(outdir, "spec.md"), "w") as f: - for c in test_ids.case.cases: +for facet, testcases in test_ids.run.testcases.items(): + with open(os.path.join(outdir, f"testcases-{facet}.md"), "w") as f: write = functools.partial(print, file=f) - write(f"## [{c['result'].upper()}] {c['name']}") + write(f"# {facet.capitalize()} testcases") write() - write("~~~xml") - write(c['ids']) - write("~~~") - write() - write("~~~lua") - write(c['ifc']) - write("~~~") - write() - write(f"[Sample IDS]({c['basename']}.ids) - [Sample IFC]({c['basename']}.ifc)") + write("These testcases are designed to help describe behaviour in edge cases and ambiguities. All valid IDS implementations must demonstrate identical behaviour to these test cases.") write() + for testcase in testcases: + write(f"## [{testcase['result'].upper()}] {testcase['name']}") + write() + write("~~~xml") + write(testcase["ids"]) + write("~~~") + write() + write("~~~lua") + write(testcase["ifc"]) + write("~~~") + write() + write(f"[Sample IDS]({testcase['basename']}.ids) - [Sample IFC: {testcase['id']}]({testcase['basename']}.ifc)") + write() diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 1eae3388e8..a8739700e9 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -41,7 +41,10 @@ ifc_file = ifcopenshell.open(IFC_URL) os.remove(os.path.join(tempfile.gettempdir(), "test.ifc")) -def case(name, *, facet, inst, expected): +def set_facet(facet): + pass + +def run(name, *, facet, inst, expected): assert bool(facet(inst)) is expected @@ -257,20 +260,22 @@ class TestIdsAuthoring(unittest.TestCase): } def test_filtering_using_an_entity_facet(self): + set_facet("entity") + ifc = ifcopenshell.file() facet = ids.entity.create(name="IFCRABBIT") - case("Invalid entities always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) + run("Invalid entities always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) facet = ids.entity.create(name="IFCWALL") - case("A matching entity should pass", facet=facet, inst=ifc.createIfcWall(), expected=True) - case( + run("A matching entity should pass", facet=facet, inst=ifc.createIfcWall(), expected=True) + run( "An matching entity should pass regardless of predefined type", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True, ) - case( + run( "An entity not matching the specified class should fail", facet=facet, inst=ifc.createIfcSlab(), @@ -278,7 +283,7 @@ class TestIdsAuthoring(unittest.TestCase): ) # TODO: Some votes to prefer inheritance (For: Moult, Evandro, Artur) # Possible argument: CAD tools don't understand IFC - case( + run( "Subclasses are not considered as matching", facet=facet, inst=ifc.createIfcWallStandardCase(), @@ -287,7 +292,7 @@ class TestIdsAuthoring(unittest.TestCase): # TODO But in that case why are the enumerations for things like partOf using the IFC capitalisation? facet = ids.entity.create(name="IfcWall") - case( + run( "Entities must be specified as uppercase strings", facet=facet, inst=ifc.createIfcWall(), @@ -295,19 +300,19 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="SOLIDWALL") - case( + run( "A matching predefined type should pass", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True, ) - case( + run( "A null predefined type should always fail a specified predefined types", facet=facet, inst=ifc.createIfcWall(), expected=False, ) - case( + run( "An entity not matching a specified predefined type will fail", facet=facet, inst=ifc.createIfcWall(PredefinedType="PARTITIONING"), @@ -315,7 +320,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="solidwall") - case( + run( "A predefined type from an enumeration must be uppercase", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), @@ -323,7 +328,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") - case( + run( "A predefined type may specify a user-defined object type", facet=facet, inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"), @@ -331,7 +336,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") - case( + run( "User-defined types are checked case sensitively", facet=facet, inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="waldo"), @@ -339,7 +344,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALLTYPE", predefinedType="WALDO") - case( + run( "A predefined type may specify a user-defined element type", facet=facet, inst=ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"), @@ -347,7 +352,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCTASKTYPE", predefinedType="TASKY") - case( + run( "A predefined type may specify a user-defined process type", facet=facet, inst=ifc.createIfcTaskType(PredefinedType="USERDEFINED", ProcessType="TASKY"), @@ -355,7 +360,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="USERDEFINED") - case( + run( "A predefined type must always specify a meaningful type, not USERDEFINED itself", facet=facet, inst=ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"), @@ -366,7 +371,7 @@ class TestIdsAuthoring(unittest.TestCase): wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="X") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IFCWALL", predefinedType="X") - case("Inherited predefined types should pass", facet=facet, inst=wall, expected=True) + run("Inherited predefined types should pass", facet=facet, inst=wall, expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="X") wall_type = ifcopenshell.api.run( @@ -374,30 +379,30 @@ class TestIdsAuthoring(unittest.TestCase): ) ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IFCWALL", predefinedType="X") - case("Overridden predefined types should pass", facet=facet, inst=wall, expected=True) + run("Overridden predefined types should pass", facet=facet, inst=wall, expected=True) # Restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options=["IFCWALL", "IFCSLAB"], type="enumeration") facet = ids.entity.create(name=restriction) - case("Entities can be specified as an enumeration 1/3", facet=facet, inst=ifc.createIfcWall(), expected=True) - case("Entities can be specified as an enumeration 2/3", facet=facet, inst=ifc.createIfcSlab(), expected=True) - case("Entities can be specified as an enumeration 3/3", facet=facet, inst=ifc.createIfcBeam(), expected=False) + run("Entities can be specified as an enumeration 1/3", facet=facet, inst=ifc.createIfcWall(), expected=True) + run("Entities can be specified as an enumeration 2/3", facet=facet, inst=ifc.createIfcSlab(), expected=True) + run("Entities can be specified as an enumeration 3/3", facet=facet, inst=ifc.createIfcBeam(), expected=False) # Another example of how restrictions are allowed when matching the IFC class # Note: Regex patterns follow the XSD flavour restriction = ids.restriction.create(options="IFC.*TYPE", type="pattern") facet = ids.entity.create(name=restriction) - case("Entities can be specified as a pattern 1/2", facet=facet, inst=ifc.createIfcWall(), expected=False) - case("Entities can be specified as a pattern 2/2", facet=facet, inst=ifc.createIfcWallType(), expected=True) + run("Entities can be specified as a pattern 1/2", facet=facet, inst=ifc.createIfcWall(), expected=False) + run("Entities can be specified as a pattern 2/2", facet=facet, inst=ifc.createIfcWallType(), expected=True) restriction = ids.restriction.create(options="FOO.*", type="pattern") facet = ids.entity.create(name="IFCWALL", predefinedType=restriction) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") wall3 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="BAZFOO") - case("Restrictions an be specified for the predefined type 1/3", facet=facet, inst=wall, expected=True) - case("Restrictions an be specified for the predefined type 2/3", facet=facet, inst=wall2, expected=True) - case("Restrictions an be specified for the predefined type 3/3", facet=facet, inst=wall3, expected=False) + run("Restrictions an be specified for the predefined type 1/3", facet=facet, inst=wall, expected=True) + run("Restrictions an be specified for the predefined type 2/3", facet=facet, inst=wall2, expected=True) + run("Restrictions an be specified for the predefined type 3/3", facet=facet, inst=wall3, expected=False) def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") @@ -416,46 +421,58 @@ class TestIdsAuthoring(unittest.TestCase): } def test_filtering_using_an_attribute_facet(self): + set_facet("attribute") + ifc = ifcopenshell.file() - # Attribute names that don't exist are never matched facet = ids.attribute.create(name="Foobar") - case("", facet=facet, inst=ifc.createIfcWall(), expected=False) + run("Invalid attribute names always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) - # Attribute names that are either null or empty string are not matched. - # The logic is that unfortunately most BIM users cannot differentiate between the two. facet = ids.attribute.create(name="Name") - case("", facet=facet, inst=ifc.createIfcWall(), expected=False) - case("", facet=facet, inst=ifc.createIfcWall(Name=""), expected=False) - case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) - # TODO write test case that evaluates empty list / set as False - # TODO write test case that evaluates logical UNKNOWN as False - # TODO write test case that evaluates any bool as True + run("Attributes with a string value should pass", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + run("Attributes with null values always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) + # The logic is that unfortunately most BIM users cannot differentiate between the two. + run("Attributes with empty strings always fail", facet=facet, inst=ifc.createIfcWall(Name=""), expected=False) + facet = ids.attribute.create(name="CountValue") + run("Attributes with a zero number have meaning and should pass", facet=facet, inst=ifc.createIfcQuantityCount(Name="Foobar", CountValue=0), expected=True) - # An object value is truthy - facet = ids.attribute.create(name="OwnerHistory") - assert bool(facet(ifc.createIfcWall())) is False - assert bool(facet(ifc.createIfcWall(OwnerHistory=ifc.createIfcOwnerHistory()))) is True + facet = ids.attribute.create(name="IsCritical") + element = ifc.createIfcTaskTime(IsCritical=True) + run("Attributes with a boolean true should pass", facet=facet, inst=element, expected=True) + element.IsCritical = False + run("Attributes with a boolean false should pass", facet=facet, inst=element, expected=True) + + facet = ids.attribute.create(name="RelatingPriorities") + run("Attributes with an empty list always fail", facet=facet, inst=ifc.createIfcRelConnectsPathElements(RelatingElement=ifc.createIfcWall(), RelatedElement=ifc.createIfcWall(), RelatingPriorities=[], RelatedPriorities=[], RelatedConnectionType="ATSTART", RelatingConnectionType="ATEND"), expected=False) + + facet = ids.attribute.create(name="LayerStyles") + item = ifc.createIfcCartesianPoint([0., 0., 0.]) + layer = ifc.createIfcPresentationLayerWithStyle("Foo", None, [item], None, True, False, False, []) + run("Attributes with an empty set always fail", facet=facet, inst=layer, expected=False) + + layer.LayerOn = "UNKNOWN" + facet = ids.attribute.create(name="LayerOn") + run("Attributes with a logical unknown always fail", facet=facet, inst=layer, expected=False) + + facet = ids.attribute.create(name="ScheduleDuration") + element = ifc.createIfcTaskTime(ScheduleDuration="P0D") + run("Attributes with a zero duration should pass", facet=facet, inst=element, expected=True) + + facet = ids.attribute.create(name="TaskTime") + element = ifc.createIfcTask(IsMilestone=True, TaskTime=ifc.createIfcTaskTime()) + run("Attributes referencing an object should pass", facet=facet, inst=element, expected=True) # Selects are only considered for truthy or falsey facet = ids.attribute.create(name="DiffuseColour") element = ifc.createIfcSurfaceStyleRendering() - assert bool(facet(element)) is False - assert bool(facet(ifc.createIfcSurfaceStyleRendering(DiffuseColour=ifc.createIfcColourRgb()))) is True - assert ( - bool(facet(ifc.createIfcSurfaceStyleRendering(DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)))) - is True - ) + rgb = ifc.createIfcColourRgb(None, 1, 1, 1) + run("Attributes with a select referencing an object should pass", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcColourRgb(None, 1, 1, 1)), expected=True) + run("Attributes with a select referencing a primitive should pass", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)), expected=True) # When a value is specified, the value shall match case sensitively facet = ids.attribute.create(name="Name", value="Foobar") - case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) - case("", facet=facet, inst=ifc.createIfcWall(Name="foobar"), expected=False) - case("", facet=facet, inst=ifc.createIfcWall(Name="Foobaz"), expected=False) - - # A value that is 0 is still considered a value, not "null-like", so it is matched - facet = ids.attribute.create(name="Eastings") - case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=True) + run("Attributes should check strings case sensitively 1/2", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + run("Attributes should check strings case sensitively 2/2", facet=facet, inst=ifc.createIfcWall(Name="foobar"), expected=False) # Value checks are meaningless for checking objects, selects, and lists so it always fails facet = ids.attribute.create(name="OwnerHistory", value="Foobar") @@ -475,8 +492,8 @@ class TestIdsAuthoring(unittest.TestCase): # Simple values which must be strings are checked with strict typing. No type casting shall occur. facet = ids.attribute.create(name="Eastings", value="42") - case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=False) - case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=False) + run("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=False) + run("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=False) # Strict type checking is done with restrictions. This is really ugly, but hopefully hidden to a user. restriction = ids.restriction.create(options=[42], type="enumeration", base="decimal") @@ -485,47 +502,47 @@ class TestIdsAuthoring(unittest.TestCase): # options={"minInclusive": 42, "maxInclusive": 42}, type="bounds", base="decimal" # ) facet = ids.attribute.create(name="Eastings", value=restriction) - case("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=True) + run("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=True) # Restrictions are allowed for the name restriction = ids.restriction.create(options=".*Name.*", type="pattern") facet = ids.attribute.create(name=restriction) - case("", facet=facet, inst=ifc.createIfcMaterialLayerSet(LayerSetName="Foo"), expected=True) - case("", facet=facet, inst=ifc.createIfcMaterialConstituentSet(Name="Foo"), expected=True) + run("", facet=facet, inst=ifc.createIfcMaterialLayerSet(LayerSetName="Foo"), expected=True) + run("", facet=facet, inst=ifc.createIfcMaterialConstituentSet(Name="Foo"), expected=True) # Restrictions for the name imply that multiple names may be matched. All, not any, must pass the checks. restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration") facet = ids.attribute.create(name=restriction) - case("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=False) - case("", facet=facet, inst=ifc.createIfcWall(Name="Foo", Description="Bar"), expected=True) + run("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=False) + run("", facet=facet, inst=ifc.createIfcWall(Name="Foo", Description="Bar"), expected=True) # Restrictions are allowed for the value restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration") facet = ids.attribute.create(name="Name", value=restriction) - case("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=True) - case("", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) - case("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) + run("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=True) + run("", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) + run("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) # The facet checks on attributes on the type, which may be inherited by the occurence # TODO attribute inheritance is not defined IFC behaviour facet = ids.attribute.create(name="Description", value="Foobar") - case("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) + run("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Description = "Foobar" - case("", facet=facet, inst=wall, expected=True) + run("", facet=facet, inst=wall, expected=True) # The facet checks on attributes on the type, which may be overriden by attributes on the occurence # TODO attribute overriding is not defined IFC behaviour facet = ids.attribute.create(name="Description", value="Foobar") - case("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) + run("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Description = "Foobaz" wall.Description = "Foobar" - case("", facet=facet, inst=wall, expected=True) + run("", facet=facet, inst=wall, expected=True) def test_creating_a_classification_facet(self): facet = ids.classification.create() @@ -581,43 +598,43 @@ class TestIdsAuthoring(unittest.TestCase): # A classification facet with no data matches any present classification facet = ids.classification.create() - case("", facet=facet, inst=element0, expected=False) - case("", facet=facet, inst=element1, expected=True) + run("", facet=facet, inst=element0, expected=False) + run("", facet=facet, inst=element1, expected=True) # Values should match exactly if lightweight classifications are used. facet = ids.classification.create(value="1") - case("", facet=facet, inst=element1, expected=True) + run("", facet=facet, inst=element1, expected=True) # Values should match subreferences if full classifications are used. # E.g. a facet searching for Uniclass EF_25_10 Walls will match Uniclass EF_25_10_25, EF_25_10_30, etc facet = ids.classification.create(value="2") - case("", facet=facet, inst=element22, expected=True) + run("", facet=facet, inst=element22, expected=True) # Systems should match exactly regardless of lightweight or full classifications facet = ids.classification.create(system="Foobar") - case("", facet=facet, inst=project, expected=True) - case("", facet=facet, inst=element0, expected=False) - case("", facet=facet, inst=element1, expected=True) - case("", facet=facet, inst=element11, expected=True) - case("", facet=facet, inst=element22, expected=True) + run("", facet=facet, inst=project, expected=True) + run("", facet=facet, inst=element0, expected=False) + run("", facet=facet, inst=element1, expected=True) + run("", facet=facet, inst=element11, expected=True) + run("", facet=facet, inst=element22, expected=True) # Restrictions can be used for values restriction = ids.restriction.create(options="1.*", type="pattern") facet = ids.classification.create(value=restriction) - case("", facet=facet, inst=element1, expected=True) - case("", facet=facet, inst=element11, expected=True) - case("", facet=facet, inst=element22, expected=False) + run("", facet=facet, inst=element1, expected=True) + run("", facet=facet, inst=element11, expected=True) + run("", facet=facet, inst=element22, expected=False) # Restrictions can be used for systems restriction = ids.restriction.create(options="Foo.*", type="pattern") facet = ids.classification.create(system=restriction) - case("", facet=facet, inst=element0, expected=False) - case("", facet=facet, inst=element1, expected=True) + run("", facet=facet, inst=element0, expected=False) + run("", facet=facet, inst=element1, expected=True) # Specifying both a value and a system means that both (as opposed to either) requirements must be met facet = ids.classification.create(system="Foobar", value="1") - case("", facet=facet, inst=element1, expected=True) - case("", facet=facet, inst=element11, expected=False) + run("", facet=facet, inst=element1, expected=True) + run("", facet=facet, inst=element11, expected=False) # The facet checks on either the type or instance. # IFC doesn't specify how inheritance and overrides work here. Two options: @@ -632,11 +649,11 @@ class TestIdsAuthoring(unittest.TestCase): "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system ) facet = ids.classification.create(value="11") - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall_type, expected=False) + run("", facet=facet, inst=wall, expected=True) + run("", facet=facet, inst=wall_type, expected=False) facet = ids.classification.create(value="22") - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall_type, expected=True) + run("", facet=facet, inst=wall, expected=True) + run("", facet=facet, inst=wall_type, expected=True) def test_creating_a_property_facet(self): facet = ids.property.create() @@ -683,31 +700,31 @@ class TestIdsAuthoring(unittest.TestCase): # The logic is that unfortunately most BIM users cannot differentiate between the two. facet = ids.property.create(propertySet="Foo_Bar", name="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": None}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # A simple value checks an exact case-sensitive match facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Baz"}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) # Simple values only check string matches facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="1") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "1"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcInteger(1)}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) # Restrictions are supported for property sets. If multiple are matched, all must satisfy requirements. restriction = ids.restriction.create(options="Foo_.*", type="pattern") @@ -715,11 +732,11 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Baz") - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # Restrictions are supported for names. If multiple are matched, all must satisfy requirements. restriction = ids.restriction.create(options="Foo.*", type="pattern") @@ -727,11 +744,11 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "x"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "y"}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) # Restrictions are supported for values. If multiple are matched, all must satisfy requirements. restriction1 = ids.restriction.create(options="Foo.*", type="pattern") @@ -740,9 +757,9 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "y"}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "z"}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) # Restrictions may be used to check basic data primitives restriction = ids.restriction.create(options=[42.12], type="enumeration", base="decimal") @@ -750,19 +767,19 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42.12}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) restriction = ids.restriction.create(options=[42], type="enumeration", base="integer") facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) restriction = ids.restriction.create(options=[True], type="enumeration", base="boolean") facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": True}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": False}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) # When measure is not specified, no unit conversion is done and only primitives are checked restriction = ids.restriction.create(options=[42.12], type="enumeration", base="decimal") @@ -770,7 +787,7 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42.12}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # Measure may be used to specify an IFC data type restriction = ids.restriction.create(options=[2], type="enumeration", base="decimal") @@ -778,9 +795,9 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcMassMeasure(2)}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcTimeMeasure(2)}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # Measure also implies that a unit matters, and so a conversion shall take place to SI units restriction = ids.restriction.create(options=[2], type="enumeration", base="decimal") @@ -788,9 +805,9 @@ class TestIdsAuthoring(unittest.TestCase): element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2)}) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2000)}) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # The facet checks inherited properties from the type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -799,8 +816,8 @@ class TestIdsAuthoring(unittest.TestCase): pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) facet = ids.property.create(propertySet="Foo_Bar", name="Foo") - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall_type, expected=True) + run("", facet=facet, inst=wall, expected=True) + run("", facet=facet, inst=wall_type, expected=True) # The facet checks overriden properties from the occurrence wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -811,8 +828,8 @@ class TestIdsAuthoring(unittest.TestCase): pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall, name="Foo_Bar") ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar") - case("", facet=facet, inst=wall, expected=True) - case("", facet=facet, inst=wall_type, expected=False) + run("", facet=facet, inst=wall, expected=True) + run("", facet=facet, inst=wall_type, expected=False) def test_creating_a_material_facet(self): facet = ids.material.create() @@ -834,98 +851,98 @@ class TestIdsAuthoring(unittest.TestCase): # A material facet with no data matches any present material facet = ids.material.create() element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # A value will match a material name or category facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) material.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # A value will match any material name or category in a material list facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialList") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) ifcopenshell.api.run("material.add_list_item", ifc, material_list=material_set, material=material) material.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # A value will match any material name or category, or layer name or category in a layer set facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialLayerSet") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) layer = ifcopenshell.api.run("material.add_layer", ifc, layer_set=material_set, material=material) layer.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) layer.Name = "Bar" layer.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) layer.Category = "Bar" material.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # A value will match any material name or category, or profile name or category in a profile set facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialProfileSet") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) profile = ifcopenshell.api.run("material.add_profile", ifc, profile_set=material_set, material=material) profile.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) profile.Name = "Bar" profile.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) profile.Category = "Bar" material.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # A value will match any material name or category, or constituent name or category in a constituent set facet = ids.material.create(value="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialConstituentSet") ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) material = ifcopenshell.api.run("material.add_material", ifc) constituent = ifcopenshell.api.run( "material.add_constituent", ifc, constituent_set=material_set, material=material ) constituent.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) constituent.Name = "Bar" constituent.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) constituent.Category = "Bar" material.Name = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) material.Name = "Bar" material.Category = "Foo" - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # The facet will check for inherited materials element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -935,8 +952,8 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) material.Name = "Foo" facet = ids.material.create(value="Foo") - case("", facet=facet, inst=element, expected=True) - case("", facet=facet, inst=element_type, expected=True) + run("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element_type, expected=True) # The facet will check for overriden materials element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") @@ -949,8 +966,8 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) material.Name = "Foo" facet = ids.material.create(value="Foo") - case("", facet=facet, inst=element, expected=True) - case("", facet=facet, inst=element_type, expected=False) + run("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element_type, expected=False) def test_creating_a_partof_facet(self): facet = ids.partOf.create() @@ -966,15 +983,15 @@ class TestIdsAuthoring(unittest.TestCase): subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) facet = ids.partOf.create(entity="IfcElementAssembly") - case("", facet=facet, inst=element, expected=False) - case("", facet=facet, inst=subelement, expected=True) + run("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=subelement, expected=True) # An IfcElementAssembly strictly checks that the whole is an IfcElementAssembly class element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcSlab") subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcBeam") ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) facet = ids.partOf.create(entity="IfcElementAssembly") - case("", facet=facet, inst=subelement, expected=False) + run("", facet=facet, inst=subelement, expected=False) # A nested subelement still passes so long as one of its parents is an IfcElementAssembly # TODO nononono @@ -984,15 +1001,15 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) ifcopenshell.api.run("aggregate.assign_object", ifc, product=subsubelement, relating_object=subelement) facet = ids.partOf.create(entity="IfcElementAssembly") - case("", facet=facet, inst=subsubelement, expected=True) + run("", facet=facet, inst=subsubelement, expected=True) # An IfcGroup only checks that a group is assigned without any other logic element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") group = ifcopenshell.api.run("group.add_group", ifc) facet = ids.partOf.create(entity="IfcGroup") - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("group.assign_group", ifc, product=element, group=group) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # An IfcGroup can be passed by subtypes # TODO: wrong, subtypes should not be matched @@ -1000,15 +1017,15 @@ class TestIdsAuthoring(unittest.TestCase): group = ifc.createIfcInventory() facet = ids.partOf.create(entity="IfcGroup") ifcopenshell.api.run("group.assign_group", ifc, product=element, group=group) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # An IfcSystem only checks that a system is assigned without any other logic element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") system = ifcopenshell.api.run("system.add_system", ifc) facet = ids.partOf.create(entity="IfcSystem") - case("", facet=facet, inst=element, expected=False) + run("", facet=facet, inst=element, expected=False) ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) # An IfcSystem allows subtypes # TODO: wrong, subtypes should not be matched @@ -1016,7 +1033,7 @@ class TestIdsAuthoring(unittest.TestCase): system = ifcopenshell.api.run("system.add_system", ifc, ifc_class="IfcDistributionSystem") ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) facet = ids.partOf.create(entity="IfcSystem") - case("", facet=facet, inst=element, expected=True) + run("", facet=facet, inst=element, expected=True) """ Creating IDS with restrictions """ From 419901649ea613cb5a5411d6f514210d5c14d1dc Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 1 Jun 2022 14:25:30 +1000 Subject: [PATCH 189/243] You can now configure the distance limit for false origin offsets --- src/blenderbim/blenderbim/bim/import_ifc.py | 28 +++++++++++-------- .../blenderbim/bim/module/project/prop.py | 8 +++--- .../blenderbim/bim/module/project/ui.py | 4 +-- .../test/bim/feature/project.feature | 6 ++-- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 72dae171be..c09f51b81e 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -270,7 +270,9 @@ class IfcImporter: def is_point_far_away(self, point, is_meters=True): # Locations greater than 1km are not considered "small sites" according to the georeferencing guide - limit = 1000 if is_meters else (1000 / self.unit_scale) + # Users can configure this if they have to handle larger sites but beware of surveying precision + limit = self.ifc_import_settings.distance_limit + limit = limit if is_meters else (limit / self.unit_scale) coords = point if hasattr(point, "Coordinates"): coords = point.Coordinates @@ -392,7 +394,7 @@ class IfcImporter: props = bpy.context.scene.BIMGeoreferenceProperties if props.has_blender_offset: return - if self.ifc_import_settings.should_offset_model: + if self.ifc_import_settings.false_origin: return self.set_manual_blender_offset() if self.file.schema == "IFC2X3": project = self.file.by_type("IfcProject")[0] @@ -408,9 +410,9 @@ class IfcImporter: def set_manual_blender_offset(self): props = bpy.context.scene.BIMGeoreferenceProperties - props.blender_eastings = str(self.ifc_import_settings.model_offset_coordinates[0]) - props.blender_northings = str(self.ifc_import_settings.model_offset_coordinates[1]) - props.blender_orthogonal_height = str(self.ifc_import_settings.model_offset_coordinates[2]) + props.blender_eastings = str(self.ifc_import_settings.false_origin[0]) + props.blender_northings = str(self.ifc_import_settings.false_origin[1]) + props.blender_orthogonal_height = str(self.ifc_import_settings.false_origin[2]) props.has_blender_offset = True def guess_georeferencing(self, element): @@ -1868,8 +1870,8 @@ class IfcImportSettings: self.should_clean_mesh = True self.deflection_tolerance = 0.001 self.angular_tolerance = 0.5 - self.should_offset_model = False - self.model_offset_coordinates = (0, 0, 0) + self.distance_limit = 1000 + self.false_origin = None self.has_filter = None self.should_filter_spatial_elements = True self.elements = set() @@ -1893,10 +1895,12 @@ class IfcImportSettings: settings.should_clean_mesh = props.should_clean_mesh settings.deflection_tolerance = props.deflection_tolerance settings.angular_tolerance = props.angular_tolerance - settings.should_offset_model = props.should_offset_model - settings.model_offset_coordinates = ( - [float(o) for o in props.model_offset_coordinates.split(",")] - if props.model_offset_coordinates - else (0, 0, 0) + settings.distance_limit = props.distance_limit + settings.false_origin = ( + [float(o) for o in props.false_origin.split(",")] + if props.false_origin + else None ) + if settings.false_origin == [0, 0, 0]: + settings.false_origin = None return settings diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index fe49738432..6e3d3e1f7b 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -132,10 +132,10 @@ class BIMProjectProperties(PropertyGroup): should_merge_by_material: BoolProperty(name="Import and Merge by Material", default=False) should_merge_materials_by_colour: BoolProperty(name="Import and Merge Materials by Colour", default=False) should_clean_mesh: BoolProperty(name="Import and Clean Mesh", default=True) - deflection_tolerance: FloatProperty(name="Import Deflection Tolerance", default=0.001) - angular_tolerance: FloatProperty(name="Import Angular Tolerance", default=0.5) - should_offset_model: BoolProperty(name="Import and Offset Model", default=False) - model_offset_coordinates: StringProperty(name="Model Offset Coordinates", default="0,0,0") + deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.001) + angular_tolerance: FloatProperty(name="Angular Tolerance", default=0.5) + distance_limit: FloatProperty(name="Distance Limit", default=1000) + false_origin: StringProperty(name="False Origin", default="0,0,0") links: CollectionProperty(name="Links", type=Link) active_link_index: IntProperty(name="Active Link Index") export_schema: EnumProperty(items=get_export_schema, name="IFC Schema") diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index e90c818113..0a6b668fda 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -82,9 +82,9 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "angular_tolerance") row = self.layout.row() - row.prop(pprops, "should_offset_model") + row.prop(pprops, "distance_limit") row = self.layout.row() - row.prop(pprops, "model_offset_coordinates") + row.prop(pprops, "false_origin") row = self.layout.row(align=True) row.operator("bim.load_project_elements") diff --git a/src/blenderbim/test/bim/feature/project.feature b/src/blenderbim/test/bim/feature/project.feature index f88e918f94..1fbddce925 100644 --- a/src/blenderbim/test/bim/feature/project.feature +++ b/src/blenderbim/test/bim/feature/project.feature @@ -269,16 +269,14 @@ Scenario: Load project elements - load with the spatial decomposition collection Scenario: Load project elements - manual offset of object placements Given an empty Blender session And I press "bim.load_project(filepath='{cwd}/test/files/manual-geolocation.ifc', is_advanced=True)" - When I set "scene.BIMProjectProperties.should_offset_model" to "True" - And I set "scene.BIMProjectProperties.model_offset_coordinates" to "268388500, 5774506000, 21900" + When I set "scene.BIMProjectProperties.false_origin" to "268388500, 5774506000, 21900" And I press "bim.load_project_elements" Then the object "IfcPlate/1780 x 270 PRECAST WALL" is at "0,0,0" Scenario: Load project elements - manual offset of cartesian points Given an empty Blender session And I press "bim.load_project(filepath='{cwd}/test/files/manual-geolocation-coords.ifc', is_advanced=True)" - When I set "scene.BIMProjectProperties.should_offset_model" to "True" - And I set "scene.BIMProjectProperties.model_offset_coordinates" to "1990711,5971553,22700" + When I set "scene.BIMProjectProperties.false_origin" to "1990711,5971553,22700" And I press "bim.load_project_elements" Then the object "IfcBuildingElementProxy/NAME" is at "0,0,0" From 89e2ad9262480fbbaea1496faf18449463c095da Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 2 Jun 2022 19:01:09 +1000 Subject: [PATCH 190/243] Write documentation for georeferencing --- src/blenderbim/docs/devs/georeferencing.rst | 95 ------- src/blenderbim/docs/index.rst | 2 +- src/blenderbim/docs/users/blenderoffset.png | Bin 0 -> 41296 bytes .../docs/users/coordinateconversion.png | Bin 0 -> 103417 bytes src/blenderbim/docs/users/georeferencing.rst | 243 ++++++++++++++++++ src/blenderbim/docs/users/manualorigin.png | Bin 0 -> 61455 bytes src/blenderbim/docs/users/mapconversion.png | Bin 0 -> 76429 bytes src/blenderbim/docs/users/mapcoordinates.png | Bin 0 -> 67399 bytes src/blenderbim/docs/users/offsetmode.png | Bin 0 -> 66483 bytes src/blenderbim/docs/users/projectedcrs.png | Bin 0 -> 20666 bytes src/blenderbim/docs/users/truenorth.png | Bin 0 -> 40218 bytes 11 files changed, 244 insertions(+), 96 deletions(-) delete mode 100644 src/blenderbim/docs/devs/georeferencing.rst create mode 100644 src/blenderbim/docs/users/blenderoffset.png create mode 100644 src/blenderbim/docs/users/coordinateconversion.png create mode 100644 src/blenderbim/docs/users/georeferencing.rst create mode 100644 src/blenderbim/docs/users/manualorigin.png create mode 100644 src/blenderbim/docs/users/mapconversion.png create mode 100644 src/blenderbim/docs/users/mapcoordinates.png create mode 100644 src/blenderbim/docs/users/offsetmode.png create mode 100644 src/blenderbim/docs/users/projectedcrs.png create mode 100644 src/blenderbim/docs/users/truenorth.png diff --git a/src/blenderbim/docs/devs/georeferencing.rst b/src/blenderbim/docs/devs/georeferencing.rst deleted file mode 100644 index 500c08bff5..0000000000 --- a/src/blenderbim/docs/devs/georeferencing.rst +++ /dev/null @@ -1,95 +0,0 @@ -Georeferencing -============== - -In the AEC industry, works in the built environment are split between vertical -construction (such as buildings and sites), and horizontal construction (such as -transit, transmission, and subterranean networks). Blender and the BlenderBIM -Add-on is only suitable for vertical construction. - -IFC4 onwards supports georeferencing. The BlenderBIM Add-on has full support for -IFC georeferencing. Here are the potential scenarios you will encounter in the -wild for vertical construction. - -1. Correctly georeferenced IFC4 with a map conversion transformation -2. Correctly georeferenced IFC4 with a map conversion without a transformation -3. Non-georeferenced IFC4 -4. Non-georeferenced IFC2X3 - -The first scenario is desired for most disciplines, such as architects and all -engineers (except for civil). Typically, this results in small local engineering -coordinates, which work well in Blender. - -Correct georeferencing requires a projected CRS and a map conversion. -Unfortunately, many users may be under the impression that their file is -correctly georeferenced, but this is rarely the case. You can check whether your -file is correctly georeferenced in the ``IFC Georeferencing`` scene panel. If -you see "Not Georeferenced", your file is not correctly georeferenced. If your -file is georeferenced, it is still no guarantee that the georeferencing data is -actually correct, but how to determine this is out of scope of this article. - -For scenarios 2, 3, and 4, coordinates may be quite large. To present this data -in Blender, the BlenderBIM Add-on will automatically attempt to create a false -origin to preserve the precision of the model. The first coordinate greater than -1km will be detected and used as an offset coordinate. You can see the false -origin, if any, in the ``Blender Offset`` section of the ``IFC Georeferencing`` -scene panel. - -Instead of relying on an automatic false origin, you can also specify a custom -origin coordinate. To do this, choose ``Enable Advanced Mode`` when loading an -IFC project. Then enable the ``Import and Offset Model`` option and specify a -new coordinate to replace the origin's default of 0,0,0 in the ``Model Offset -Coordinates`` option. - -Dealing with large coordinates ------------------------------- - -In scenarios 2, 3, and 4, a BIM vendor will typically choose from two possible -methods to offset their coordinates into large map coordinates. - -The first method is to shift the origin point of objects in the model relative -to the global coordinate system. We call this the ``OBJECT_PLACEMENT`` method. -The second method is to shift the coordinates of geometry within the objects -themselves relative to the object placement. We call this the -``CARTESIAN_POINT`` method. Sometimes, BIM applications combine both of these -methods in a single IFC project. To see which workaround was used on an object, -check the "Blender Offset" property in the ``Transform`` object panel. - -Sometimes, a model shifts their coordinates for some objects, but not all. For -example, the walls in a model may have their object placement or cartesian -points shifted to map coordinates, however, the object placement of the site is -still at 0, 0, 0. Since these coordinates are so far apart, this creates a -problem, because Blender needs to choose between displaying the walls accurately -and sacrificing precision at the site placement, or vice versa, but it is -impossible to satisfy both simultaneously in the same Blender session. - -Many IFC viewers only show geometry, and don't show object placements. This may -give users the false impression that their coordinates in their IFC project do -not have such a large range. However, because the BlenderBIM Add-on is a full -authoring platform, we do need to show these placements and thus it is the users -responsibility to reconcile this inconsistency in their coordinates. Either the -user needs to fix their file to consistently offset all coordinates, or the user -needs to manually tell the BlenderBIM Add-on the coordinates of the desired -false origin. In the absence of manual intervention, the BlenderBIM Add-on will -make an intelligent guess, but it may be wrong. - -Coordinates and precision limits --------------------------------- - -Blender, and subsequently the BlenderBIM Add-on, is not designed for map -coordinate systems. Blender internally uses single precision floating point -calculations. A full description of the precision implications are described in -the `Blender working limits documentation -`__. - -From a software perspective, lengths greater than 5,000 meters start to -accumulate precision errors that affect the nearest millimeter. Therefore, from -a software perspective, it is unwise to embark on a project with coordinates -ranging greater than +/- 5km. - -However, if working in local engineering coordinates, a single transformation is -required to convert from local engineering coordinates to map coordinates. This -transformation includes a scale factor. The scale factor is only assumed to be -constant for small sites (defined approximately as less than 1km square). This -practical limit of georeferenced vertical construction is smaller than the -software limit, so this surveying convention is the actual limiting factor, not -the software. diff --git a/src/blenderbim/docs/index.rst b/src/blenderbim/docs/index.rst index 88e887f908..26d4afd10d 100644 --- a/src/blenderbim/docs/index.rst +++ b/src/blenderbim/docs/index.rst @@ -16,6 +16,7 @@ The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with Blender. users/installation users/exploring_an_ifc_model users/creating_your_first_ifc + users/georeferencing .. toctree:: :hidden: @@ -28,4 +29,3 @@ The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with Blender. devs/writing_docs devs/undo_system devs/ux_guidelines - devs/georeferencing diff --git a/src/blenderbim/docs/users/blenderoffset.png b/src/blenderbim/docs/users/blenderoffset.png new file mode 100644 index 0000000000000000000000000000000000000000..d307ab8bd6a4c918d2daf8650099b2c159c32d9a GIT binary patch literal 41296 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 Iz2o|S0JvcH;{X5v literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/coordinateconversion.png b/src/blenderbim/docs/users/coordinateconversion.png new file mode 100644 index 0000000000000000000000000000000000000000..838859f5c45147f4e908c28c23b37b497717c40b GIT binary patch literal 103417 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%0A9lxkt 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 Sidebar`` then type +in your coordinate in the **Input** field. Press either the **Local to Global** +or **Global to Local** button to convert the coordinate. You will see the result +of the calculation in the **Output** field. + +.. image:: coordinateconversion.png + +True north +---------- + +When **Local engineering coordinates** are used, the model's +Y axis points to +**Project North** for the convenience of drafting. When **Map Coordinates** are +used, the model's +Y axis points to **Grid North** for the neccessity of +surveying. + +**Project North** and **Grid North** is different to **True North**. The angle +to **True North** is not a fixed angle. It will actually vary depending on the +Eastings and Northings you choose to calculate it from. + +However, this variable **True North** is a great source of confusion to +architects, who typically just want to do a shadow study, solar study, or +similar and go out for an early lunch. IFC can store a fixed **True North** +value as a reference to be used for these types of usecases. If one is stored in +your project, you may see it under the **True North** section of the **IFC +Georeferencing** panel. Your surveyor will be able to provide the **True North** +vector, but it should be only used as a reference, never used as a way to +coordinate model rotations, and always with the understanding that it is not a +fixed value. + +.. image:: truenorth.png + +.. warning:: + + Fun fact: **Magnetic North** is useless for the purposes of construction. + +Coordinate precision limits +--------------------------- + +The BlenderBIM Add-on focuses on vertical construction. Vertical construction +typically uses **Local engineering coordinates** on a small site. The +buildingSMART georeferencing technical experts panel have determined that a +small site under 1km square can be assumed to have a constant **Map +Conversion**. + +Therefore, if your model is less than 1km square, you are within the coordinate +precision limits. This is where the 1km default distance limit is derived from. + +If you want to exceed the 1km square surveying limitation, you will need to be +aware of software limitations that can result in precision loss when large +coordinate ranges are used. + +Blender, and subsequently the BlenderBIM Add-on, is not designed for **Map +Coordinates**. Blender internally uses single precision floating point +calculations. A full description of the precision implications are described in +the `Blender working limits documentation +`__. + +This means that lengths greater than 5,000 meters start to accumulate software +precision errors that affect the nearest millimeter. Therefore, from a software +perspective, it is unwise to embark on a project with coordinates ranging +greater than +/- 5km. diff --git a/src/blenderbim/docs/users/manualorigin.png b/src/blenderbim/docs/users/manualorigin.png new file mode 100644 index 0000000000000000000000000000000000000000..ba769b7bd070893dd264168fa6d0e432f42e7189 GIT binary patch literal 61455 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 I-X!pU0YzXexBvhE literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/mapcoordinates.png b/src/blenderbim/docs/users/mapcoordinates.png new file mode 100644 index 0000000000000000000000000000000000000000..b69be329d7d5790c073a6d5cb3d1695f1d8fab04 GIT binary patch literal 67399 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 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/offsetmode.png b/src/blenderbim/docs/users/offsetmode.png new file mode 100644 index 0000000000000000000000000000000000000000..3731df438389a8ae79e583f79d7264489ad8e8a2 GIT binary patch literal 66483 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 Ji#-eYe*mO?m$Co= literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/truenorth.png b/src/blenderbim/docs/users/truenorth.png new file mode 100644 index 0000000000000000000000000000000000000000..a1700b594633d83245f0e737eb5822701e3572a6 GIT binary patch literal 40218 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

    J60RQSSJzgPv{? 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 HXgdd1xV!$Nj4f6RNa;(+H_T|~vRBOYg zTW?PF9WK$>D7b^V(_^md|Hc8xz$0AIt@f#*EIDdY`=df8(zvEg=UV%0M;KED=k~tY z%=x?9bWLi}#r37rub*?)&14?uetJ#oEd+)d?Ju26583yL>(D|iU{ zX{T14nC literal 0 HcmV?d00001 From e508fb44f25da05c3be9b9552c405b3c0ba58f23 Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Thu, 2 Jun 2022 13:28:37 +0200 Subject: [PATCH 191/243] Update CMake release requirement --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f60f4e5641..f5875a9f36 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ For more information, see Prerequisites ------------- * Git -* CMake (2.6 or newer) +* CMake (3.1.3 or newer) * Windows: [Visual Studio] 2008 to 2019 (2022 not yet supported by dependency CMake) with C++ toolset (or [Visual C++ Build Tools]) or [MSYS2] + MinGW * *nix: GCC 4.7 or newer, or Clang (any version) From 54b82fd1492b9b2a5a7be96d31e23613593c5a9e Mon Sep 17 00:00:00 2001 From: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Date: Thu, 2 Jun 2022 22:06:26 +0200 Subject: [PATCH 192/243] Update README travis badge URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5875a9f36..c3100e86db 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ For more information, see * [http://ifcopenshell.org](http://ifcopenshell.org) * [http://academy.ifcopenshell.org](http://academy.ifcopenshell.org) -[![Build Status](https://travis-ci.org/IfcOpenShell/IfcOpenShell.svg?branch=v0.6.0)](https://travis-ci.org/IfcOpenShell/IfcOpenShell) +[![Build Status](https://travis-ci.com/IfcOpenShell/IfcOpenShell.svg?branch=v0.6.0)](https://travis-ci.com/IfcOpenShell/IfcOpenShell) [![Financial Contributors](https://opencollective.com/opensourcebim/tiers/badge.svg)](https://opencollective.com/opensourcebim/) From 00e46ce39ecdce6678c7bc402c0061905935ef20 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 6 Jun 2022 09:59:32 +1000 Subject: [PATCH 193/243] More meaningful percentage completion in console when loading models --- src/blenderbim/blenderbim/bim/import_ifc.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index c09f51b81e..09ab70c052 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -592,12 +592,13 @@ class IfcImporter: return representation_map def create_native_elements(self): - total = 0 + progress = 0 checkpoint = time.time() + total = len(self.native_elements) for element in self.native_elements: - total += 1 - if total % 250 == 0: - print("{} elements processed in {:.2f}s ...".format(total, time.time() - checkpoint)) + progress += 1 + if progress % 250 == 0: + print("{} / {} elements processed in {:.2f}s ...".format(progress, total, time.time() - checkpoint)) checkpoint = time.time() native_data = self.native_data[element.GlobalId] representation = native_data["representation"] @@ -657,15 +658,16 @@ class IfcImporter: if not valid_file: return results checkpoint = time.time() - total = 0 + progress = 0 + total = len(products) start_progress = self.progress progress_range = 85 - start_progress while True: - total += 1 - if total % 250 == 0: + progress += 1 + if progress % 250 == 0: print( - "{} ({}%) elements processed in {:.2f}s ...".format( - total, iterator.progress(), time.time() - checkpoint + "{} / {} ({}% preprocessed) elements processed in {:.2f}s ...".format( + progress, total, iterator.progress(), time.time() - checkpoint ) ) checkpoint = time.time() From a92d37cd6434e5340cd3a6bfae738f4f3858879e Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 6 Jun 2022 09:58:42 +0200 Subject: [PATCH 194/243] Quick fix py create_shape() setting propagation --- src/ifcwrap/IfcGeomWrapper.i | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index dba32a5a70..069521410c 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -370,6 +370,9 @@ struct ShapeRTTI : public boost::static_visitor IfcParse::IfcFile* file = instance->data().file; IfcGeom::Kernel kernel(file); + + // @todo unify this logic with the logic in iterator impl. + kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_ORIENT, settings.get(IfcGeom::IteratorSettings::SEW_SHELLS) ? std::numeric_limits::infinity() : -1); kernel.setValue(IfcGeom::Kernel::GV_DIMENSIONALITY, (settings.get(IfcGeom::IteratorSettings::INCLUDE_CURVES) ? (settings.get(IfcGeom::IteratorSettings::EXCLUDE_SOLIDS_AND_SURFACES) ? -1. : 0.) : +1.)); kernel.setValue(IfcGeom::Kernel::GV_LAYERSET_FIRST, @@ -377,6 +380,39 @@ struct ShapeRTTI : public boost::static_visitor ? +1.0 : -1.0 ); + kernel.setValue(IfcGeom::Kernel::GV_NO_WIRE_INTERSECTION_CHECK, + settings.get(IteratorSettings::NO_WIRE_INTERSECTION_CHECK) + ? +1.0 + : -1.0 + ); + kernel.setValue(IfcGeom::Kernel::GV_NO_WIRE_INTERSECTION_TOLERANCE, + settings.get(IteratorSettings::NO_WIRE_INTERSECTION_TOLERANCE) + ? +1.0 + : -1.0 + ); + kernel.setValue(IfcGeom::Kernel::GV_PRECISION_FACTOR, + settings.get(IteratorSettings::STRICT_TOLERANCE) + ? 1.0 + : 10.0 + ); + + kernel.setValue(IfcGeom::Kernel::GV_DISABLE_BOOLEAN_RESULT, + settings.get(IteratorSettings::DISABLE_BOOLEAN_RESULT) + ? +1.0 + : -1.0 + ); + + kernel.setValue(IfcGeom::Kernel::GV_DEBUG_BOOLEAN, + settings.get(IteratorSettings::DEBUG_BOOLEAN) + ? +1.0 + : -1.0 + ); + + kernel.setValue(IfcGeom::Kernel::GV_BOOLEAN_ATTEMPT_2D, + settings.get(IteratorSettings::BOOLEAN_ATTEMPT_2D) + ? +1.0 + : -1.0 + ); if (instance->declaration().is(Schema::IfcProduct::Class())) { if (representation) { From 0e8d7bdc97e85d103d132b81e298fee4a1cf5e0d Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 6 Jun 2022 09:58:57 +0200 Subject: [PATCH 195/243] Log result of unify() in boolean_operation() --- src/ifcgeom/IfcGeomFunctions.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 2a9eead084..e9519d88c6 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -4782,6 +4782,7 @@ namespace { } bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTools_ListOfShape& b_input, BOPAlgo_Operation op, TopoDS_Shape& result, double fuzziness) { + using namespace std::string_literals; const bool do_unify = true; const bool do_subtraction_eliminate_disjoint_bbox = true; @@ -4809,11 +4810,25 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo if (do_unify) { PERF("boolean operation: unifying operands"); - a = unify(a_input, fuzziness); + a = unify(a_input, fuzziness * 1000.); + + Logger::Notice( + "Simplified operand A from "s + + std::to_string(count(a_input, TopAbs_FACE)) + + " to "s + + std::to_string(count(a, TopAbs_FACE)) + ); + { TopTools_ListIteratorOfListOfShape it(b_input); for (; it.More(); it.Next()) { b.Append(unify(it.Value(), fuzziness)); + Logger::Notice( + "Simplified operand B from "s + + std::to_string(count(it.Value(), TopAbs_FACE)) + + " to "s + + std::to_string(count(b.Last(), TopAbs_FACE)) + ); } } } else { From 4c854fbb6216857619407a6d82bd68077979e584 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 6 Jun 2022 09:59:32 +0200 Subject: [PATCH 196/243] Try to do less allocation during parse, favour upper case entity names in spf --- src/ifcparse/IfcParse.h | 12 ------------ src/ifcparse/IfcSchema.cpp | 9 ++++++++- src/ifcparse/IfcSchema.h | 30 +++++++++++++++++++++++------- src/ifcparse/ifc_parse_api.h | 13 +++++++++++++ 4 files changed, 44 insertions(+), 20 deletions(-) diff --git a/src/ifcparse/IfcParse.h b/src/ifcparse/IfcParse.h index 8b0edf4880..484345128f 100644 --- a/src/ifcparse/IfcParse.h +++ b/src/ifcparse/IfcParse.h @@ -55,18 +55,6 @@ #include "../ifcparse/IfcSpfStream.h" -#if defined(__clang__) -# define my_thread_local thread_local -#elif defined(__GNUC__) -# define my_thread_local __thread -#elif __STDC_VERSION__ >= 201112L -# define my_thread_local _Thread_local -#elif defined(_MSC_VER) -# define my_thread_local __declspec(thread) -#else -# error Cannot define thread_local -#endif - namespace IfcParse { class IfcFile; diff --git a/src/ifcparse/IfcSchema.cpp b/src/ifcparse/IfcSchema.cpp index 9f4fcf6c02..6c7bee5b0c 100644 --- a/src/ifcparse/IfcSchema.cpp +++ b/src/ifcparse/IfcSchema.cpp @@ -4,7 +4,14 @@ #include bool IfcParse::declaration::is(const std::string& name) const { - if (name_lower_ == boost::to_lower_copy(name)) return true; + const std::string* name_ptr = &name; + if (std::any_of(name.begin(), name.end(), [](char c) { return std::islower(c); })) { + temp_string_() = name; + boost::to_upper(temp_string_()); + name_ptr = &temp_string_(); + } + + if (name_upper_ == *name_ptr) return true; if (this->as_entity()) { return this->as_entity()->is(name); diff --git a/src/ifcparse/IfcSchema.h b/src/ifcparse/IfcSchema.h index b11a115982..cb5abca5ca 100644 --- a/src/ifcparse/IfcSchema.h +++ b/src/ifcparse/IfcSchema.h @@ -24,6 +24,7 @@ #include #include #include +#include #include @@ -123,14 +124,19 @@ namespace IfcParse { friend class schema_definition; protected: - std::string name_, name_lower_; + std::string name_, name_upper_; int index_in_schema_; mutable const schema_definition* schema_; + std::string& temp_string_() const { + static my_thread_local std::string s; + return s; + } + public: declaration(const std::string& name, int index_in_schema) : name_(name) - , name_lower_(boost::to_lower_copy(name)) + , name_upper_(boost::to_upper_copy(name)) , index_in_schema_(index_in_schema) , schema_(0) {} @@ -138,7 +144,7 @@ namespace IfcParse { virtual ~declaration() {} const std::string& name() const { return name_; } - const std::string& name_lc() const { return name_lower_; } + const std::string& name_uc() const { return name_upper_; } virtual const type_declaration* as_type_declaration() const { return static_cast(0); } virtual const select_type* as_select_type() const { return static_cast(0); } @@ -416,7 +422,7 @@ namespace IfcParse { class declaration_by_name_cmp { public: bool operator()(const declaration* decl, const std::string& name) { - return decl->name_lc() < name; + return decl->name_uc() < name; } }; @@ -429,6 +435,11 @@ namespace IfcParse { instance_factory* factory_; + std::string& temp_string_() const { + static my_thread_local std::string s; + return s; + } + public: schema_definition(const std::string& name, const std::vector& declarations, instance_factory* factory); @@ -436,9 +447,14 @@ namespace IfcParse { ~schema_definition(); const declaration* declaration_by_name(const std::string& name) const { - const std::string name_lower = boost::to_lower_copy(name); - std::vector::const_iterator it = std::lower_bound(declarations_.begin(), declarations_.end(), name_lower, declaration_by_name_cmp()); - if (it == declarations_.end() || (**it).name_lc() != name_lower) { + const std::string* name_ptr = &name; + if (std::any_of(name.begin(), name.end(), [](char c) { return std::islower(c); })) { + temp_string_() = name; + boost::to_upper(temp_string_()); + name_ptr = &temp_string_(); + } + std::vector::const_iterator it = std::lower_bound(declarations_.begin(), declarations_.end(), *name_ptr, declaration_by_name_cmp()); + if (it == declarations_.end() || (**it).name_uc() != *name_ptr) { throw IfcParse::IfcException("Entity with '" + name + "' not found"); } else { return *it; diff --git a/src/ifcparse/ifc_parse_api.h b/src/ifcparse/ifc_parse_api.h index b2dec0ba1d..6a92c6d152 100644 --- a/src/ifcparse/ifc_parse_api.h +++ b/src/ifcparse/ifc_parse_api.h @@ -34,4 +34,17 @@ #define IFC_PARSE_API #endif +#if defined(__clang__) +# define my_thread_local thread_local +#elif defined(__GNUC__) +# define my_thread_local __thread +#elif __STDC_VERSION__ >= 201112L +# define my_thread_local _Thread_local +#elif defined(_MSC_VER) +# define my_thread_local __declspec(thread) +#elif defined(SWIG) +#else +# error Cannot define thread_local +#endif + #endif From fb3e9ad1b7e56f5d2908ed76ddf95e43f93db087 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 6 Jun 2022 10:13:48 +0200 Subject: [PATCH 197/243] Quality IteratorSettings name in wrapper gen --- src/ifcwrap/IfcGeomWrapper.i | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 069521410c..23f902fd8c 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -381,35 +381,35 @@ struct ShapeRTTI : public boost::static_visitor : -1.0 ); kernel.setValue(IfcGeom::Kernel::GV_NO_WIRE_INTERSECTION_CHECK, - settings.get(IteratorSettings::NO_WIRE_INTERSECTION_CHECK) + settings.get(IfcGeom::IteratorSettings::NO_WIRE_INTERSECTION_CHECK) ? +1.0 : -1.0 ); kernel.setValue(IfcGeom::Kernel::GV_NO_WIRE_INTERSECTION_TOLERANCE, - settings.get(IteratorSettings::NO_WIRE_INTERSECTION_TOLERANCE) + settings.get(IfcGeom::IteratorSettings::NO_WIRE_INTERSECTION_TOLERANCE) ? +1.0 : -1.0 ); kernel.setValue(IfcGeom::Kernel::GV_PRECISION_FACTOR, - settings.get(IteratorSettings::STRICT_TOLERANCE) + settings.get(IfcGeom::IteratorSettings::STRICT_TOLERANCE) ? 1.0 : 10.0 ); kernel.setValue(IfcGeom::Kernel::GV_DISABLE_BOOLEAN_RESULT, - settings.get(IteratorSettings::DISABLE_BOOLEAN_RESULT) + settings.get(IfcGeom::IteratorSettings::DISABLE_BOOLEAN_RESULT) ? +1.0 : -1.0 ); kernel.setValue(IfcGeom::Kernel::GV_DEBUG_BOOLEAN, - settings.get(IteratorSettings::DEBUG_BOOLEAN) + settings.get(IfcGeom::IteratorSettings::DEBUG_BOOLEAN) ? +1.0 : -1.0 ); kernel.setValue(IfcGeom::Kernel::GV_BOOLEAN_ATTEMPT_2D, - settings.get(IteratorSettings::BOOLEAN_ATTEMPT_2D) + settings.get(IfcGeom::IteratorSettings::BOOLEAN_ATTEMPT_2D) ? +1.0 : -1.0 ); From a96bffa34125d2fe8a1fe5bfccee55692f0a7399 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 6 Jun 2022 10:31:33 +0200 Subject: [PATCH 198/243] Update schema.py --- src/ifcopenshell-python/ifcopenshell/util/schema.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/schema.py b/src/ifcopenshell-python/ifcopenshell/util/schema.py index c6199c9889..3ec12889f9 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/schema.py +++ b/src/ifcopenshell-python/ifcopenshell/util/schema.py @@ -28,8 +28,8 @@ cwd = os.path.dirname(os.path.realpath(__file__)) def is_a(entity, ifc_class): - ifc_class = ifc_class.lower() - if entity.name_lc() == ifc_class: + ifc_class = ifc_class.upper() + if entity.name_uc() == ifc_class: return True if entity.supertype(): return is_a(entity.supertype(), ifc_class) From bc734c263e5c9d2dfe7553443d8c269416cd42d7 Mon Sep 17 00:00:00 2001 From: bimworld <60388452+bimworld@users.noreply.github.com> Date: Tue, 7 Jun 2022 12:10:48 +0200 Subject: [PATCH 199/243] Comment deconstructor IfcFile --- src/ifcparse/IfcFile.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ifcparse/IfcFile.h b/src/ifcparse/IfcFile.h index 9cddf017cd..f915059168 100644 --- a/src/ifcparse/IfcFile.h +++ b/src/ifcparse/IfcFile.h @@ -175,6 +175,7 @@ public: IfcFile(IfcParse::IfcSpfStream* f); IfcFile(const IfcParse::schema_definition* schema = IfcParse::schema_by_name("IFC4")); + /// Deleting the file will also delete all new instances that were added to the file (via memory allocation) virtual ~IfcFile(); file_open_status good() const { return good_; } From 1ec0e1ce19e3d4bfe33475659494a0b7f91bb620 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 09:07:10 +1000 Subject: [PATCH 200/243] Fix bug with displaying inherited psets by accident. --- src/blenderbim/blenderbim/bim/module/pset/data.py | 4 +++- src/ifcopenshell-python/ifcopenshell/util/element.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/pset/data.py b/src/blenderbim/blenderbim/bim/module/pset/data.py index 06ce5d638a..78e6350e7a 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/data.py +++ b/src/blenderbim/blenderbim/bim/module/pset/data.py @@ -41,7 +41,9 @@ class Data: @classmethod def psetqtos(cls, element, psets_only=False, qtos_only=False): results = [] - psetqtos = ifcopenshell.util.element.get_psets(element, psets_only=psets_only, qtos_only=qtos_only) + psetqtos = ifcopenshell.util.element.get_psets( + element, psets_only=psets_only, qtos_only=qtos_only, should_inherit=False + ) for name, data in psetqtos.items(): results.append( { diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index a9d0554958..7c75ec98d9 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -36,7 +36,7 @@ def get_psets(element, psets_only=False, qtos_only=False, should_inherit=True): elif hasattr(element, "IsDefinedBy"): element_type = ifcopenshell.util.element.get_type(element) if element_type and should_inherit: - psets = get_psets(element_type) + psets = get_psets(element_type, psets_only=psets_only, qtos_only=qtos_only, should_inherit=False) for relationship in element.IsDefinedBy: if relationship.is_a("IfcRelDefinesByProperties"): definition = relationship.RelatingPropertyDefinition From 2ab808a2161f96ba4ccce8e117a187ddeee2d69f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 09:09:35 +1000 Subject: [PATCH 201/243] #2224 You can now bulk check/uncheck filter categories on import --- .../blenderbim/bim/module/project/__init__.py | 35 ++++++++++--------- .../blenderbim/bim/module/project/operator.py | 12 +++++++ .../blenderbim/bim/module/project/ui.py | 4 +++ 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/__init__.py b/src/blenderbim/blenderbim/bim/module/project/__init__.py index 1e63507dd1..a2929523cd 100644 --- a/src/blenderbim/blenderbim/bim/module/project/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/project/__init__.py @@ -20,28 +20,29 @@ import bpy from . import ui, prop, operator classes = ( - operator.CreateProject, - operator.LoadProject, - operator.UnloadProject, - operator.LoadProjectElements, - operator.LinkIfc, - operator.UnlinkIfc, - operator.UnloadLink, - operator.LoadLink, - operator.ToggleLinkVisibility, - operator.SelectLibraryFile, - operator.ChangeLibraryElement, - operator.RefreshLibrary, - operator.RewindLibrary, - operator.AssignLibraryDeclaration, - operator.UnassignLibraryDeclaration, - operator.SaveLibraryFile, operator.AppendLibraryElement, - operator.EnableEditingHeader, + operator.AssignLibraryDeclaration, + operator.ChangeLibraryElement, + operator.CreateProject, operator.DisableEditingHeader, operator.EditHeader, + operator.EnableEditingHeader, operator.ExportIFC, operator.ImportIFC, + operator.LinkIfc, + operator.LoadLink, + operator.LoadProject, + operator.LoadProjectElements, + operator.RefreshLibrary, + operator.RewindLibrary, + operator.SaveLibraryFile, + operator.SelectLibraryFile, + operator.ToggleFilterCategories, + operator.ToggleLinkVisibility, + operator.UnassignLibraryDeclaration, + operator.UnlinkIfc, + operator.UnloadLink, + operator.UnloadProject, prop.LibraryElement, prop.FilterCategory, prop.Link, diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index 17ddfdc7bc..ae6f914c66 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -604,6 +604,18 @@ class LoadProjectElements(bpy.types.Operator): return set(self.file.by_type("IfcElement")) - set(selector.parse(self.file, self.props.filter_query)) +class ToggleFilterCategories(bpy.types.Operator): + bl_idname = "bim.toggle_filter_categories" + bl_label = "Toggle Filter Categories" + bl_options = {"REGISTER", "UNDO"} + should_select: bpy.props.BoolProperty(name="Should Select", default=True) + + def execute(self, context): + for filter_category in context.scene.BIMProjectProperties.filter_categories: + filter_category.is_selected = self.should_select + return {"FINISHED"} + + class LinkIfc(bpy.types.Operator): bl_idname = "bim.link_ifc" bl_label = "Link IFC" diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 0a6b668fda..9ecef6de71 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -53,6 +53,10 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "filter_mode") if pprops.filter_mode in ["DECOMPOSITION", "IFC_CLASS"]: + row = self.layout.row(align=True) + row.alignment = "RIGHT" + row.operator("bim.toggle_filter_categories", text="", icon="CHECKBOX_HLT").should_select = True + row.operator("bim.toggle_filter_categories", text="", icon="CHECKBOX_DEHLT").should_select = False self.layout.template_list( "BIM_UL_filter_categories", "", From 96e4641ebfd3f6f1b14b5a389374d23d396fe941 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 09:14:36 +1000 Subject: [PATCH 202/243] #2224 Optimise import by 10-40% by removing unnecessary slow traversal of representations --- src/blenderbim/blenderbim/bim/import_ifc.py | 33 ++++++++++++++++----- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 09ab70c052..1876ffb927 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -121,7 +121,14 @@ class MaterialCreator: def parse_representation_item(self, item): if not item.StyledByItem: return - style_ids = [e.id() for e in self.ifc_importer.file.traverse(item.StyledByItem[0]) if e.is_a("IfcSurfaceStyle")] + style_ids = [] + styles = list(item.StyledByItem[0].Styles) + while styles: + style = styles.pop() + if style.is_a("IfcSurfaceStyle"): + style_ids.append(style.id()) + elif style.is_a("IfcPresentationStyleAssignment"): + styles.extend(style.Styles) if not style_ids: return for style_id in style_ids: @@ -873,8 +880,13 @@ class IfcImporter: def get_representation_item_material_name(self, item): if not item.StyledByItem: return - style_ids = [e.id() for e in self.file.traverse(item.StyledByItem[0]) if e.is_a("IfcSurfaceStyle")] - return style_ids[0] if style_ids else None + styles = list(item.StyledByItem[0].Styles) + while styles: + style = styles.pop() + if style.is_a("IfcSurfaceStyle"): + return style.id() + elif style.is_a("IfcPresentationStyleAssignment"): + styles.extend(style.Styles) def create_native_faceted_brep(self, element, mesh_name): # TODO: georeferencing? @@ -1304,11 +1316,18 @@ class IfcImporter: for material_definition_representation in self.file.by_type("IfcMaterialDefinitionRepresentation"): material = material_definition_representation.RepresentedMaterial + blender_material = self.material_creator.materials[material.id()] for representation in material_definition_representation.Representations: - for style in [e for e in self.file.traverse(representation) if e.is_a("IfcSurfaceStyle")]: - blender_material = self.material_creator.materials[material.id()] - self.create_style(style, blender_material) - parsed_styles.add(style.id()) + styles = [] + for styled_item in representation.Items: + styles.extend(styled_item.Styles) + while styles: + style = styles.pop() + if style.is_a("IfcSurfaceStyle"): + self.create_style(style, blender_material) + parsed_styles.add(style.id()) + elif style.is_a("IfcPresentationStyleAssignment"): + styles.extend(style.Styles) for style in self.file.by_type("IfcSurfaceStyle"): if style.id() in parsed_styles: From 4681d3198f3b35be0cdae11d5ee46432d04d590a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 10:19:55 +1000 Subject: [PATCH 203/243] #841 #2224 Users can now enable native mesh processing with support for FBSM geometry --- src/blenderbim/blenderbim/bim/import_ifc.py | 54 +++++++++++++++---- .../blenderbim/bim/module/project/prop.py | 1 + .../blenderbim/bim/module/project/ui.py | 1 + 3 files changed, 45 insertions(+), 11 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 1876ffb927..f5023c1587 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -364,15 +364,26 @@ class IfcImporter: "type": "IfcSweptDiskSolid", } return True + + if not self.ifc_import_settings.should_use_native_meshes: + return False # Performance improvements only occur on edge cases currently + # FacetedBreps (without voids) are meshes. See #841. - # Commented out as seems currently too slow. - # if self.is_native_faceted_brep(representations): - # self.native_data[element.GlobalId] = { - # "representations": representations, - # "representation": self.get_body_representation(element.Representation.Representations), - # "type": "IfcFacetedBrep", - # } - # return True + if self.is_native_faceted_brep(representations): + self.native_data[element.GlobalId] = { + "representations": representations, + "representation": self.get_body_representation(element.Representation.Representations), + "type": "IfcFacetedBrep", + } + return True + + if self.is_native_face_based_surface_model(representations): + self.native_data[element.GlobalId] = { + "representations": representations, + "representation": self.get_body_representation(element.Representation.Representations), + "type": "IfcFaceBasedSurfaceModel", + } + return True def is_native_swept_disk_solid(self, representations): for representation in representations: @@ -388,6 +399,13 @@ class IfcImporter: return False return True + def is_native_face_based_surface_model(self, representations): + for representation in representations: + for i in representation["raw"].Items: + if i.is_a() != "IfcFaceBasedSurfaceModel": + return False + return True + def get_products_from_shape_representation(self, element): products = [pr.ShapeOfProduct[0] for pr in element.OfProductRepresentation] for rep_map in element.RepresentationMap: @@ -619,6 +637,8 @@ class IfcImporter: mesh = self.create_native_swept_disk_solid(element, mesh_name) elif native_data["type"] == "IfcFacetedBrep": mesh = self.create_native_faceted_brep(element, mesh_name) + elif native_data["type"] == "IfcFaceBasedSurfaceModel": + mesh = self.create_native_faceted_brep(element, mesh_name) mesh.BIMMeshProperties.ifc_definition_id = representation.id() mesh.name = mesh_name self.meshes[mesh_name] = mesh @@ -935,22 +955,32 @@ class IfcImporter: self.convert_representation(item.MappingSource.MappedRepresentation) elif item.is_a() == "IfcFacetedBrep": self.convert_representation_item_faceted_brep(item) + elif item.is_a() == "IfcFaceBasedSurfaceModel": + self.convert_representation_item_face_based_surface_model(item) + + def convert_representation_item_face_based_surface_model(self, item): + mesh = item.get_info_2(recursive=True) + for face_set in mesh["FbsmFaces"]: + self.convert_representation_item_face_set(item, face_set) def convert_representation_item_faceted_brep(self, item): + mesh = item.get_info_2(recursive=True) + return self.convert_representation_item_face_set(item, mesh["Outer"]) + + def convert_representation_item_face_set(self, item, mesh): # On a few occasions, we flatten a list. This seems to be the most efficient way to do it. # https://stackoverflow.com/questions/20112776/how-do-i-flatten-a-list-of-lists-nested-lists - mesh = item.get_info_2(recursive=True) # For huge face sets it might be better to do a "flatmap" instead of sum() # bounds = sum((f["Bounds"] for f in mesh["Outer"]["CfsFaces"] if len(f["Bounds"]) == 1), ()) - bounds = tuple(chain.from_iterable(f["Bounds"] for f in mesh["Outer"]["CfsFaces"] if len(f["Bounds"]) == 1)) + bounds = tuple(chain.from_iterable(f["Bounds"] for f in mesh["CfsFaces"] if len(f["Bounds"]) == 1)) # Here are some untested alternatives, are they faster? # bounds = tuple((f["Bounds"] for f in mesh["Outer"]["CfsFaces"] if len(f["Bounds"]) == 1))[0] # bounds = chain.from_iterable(f["Bounds"] for f in mesh["Outer"]["CfsFaces"] if len(f["Bounds"]) == 1) polygons = [[(p["id"], p["Coordinates"]) for p in b["Bound"]["Polygon"]] for b in bounds] - for face in mesh["Outer"]["CfsFaces"]: + for face in mesh["CfsFaces"]: # Blender cannot handle faces with holes. if len(face["Bounds"]) > 1: inner_bounds = [] @@ -1888,6 +1918,7 @@ class IfcImportSettings: self.should_merge_by_class = False self.should_merge_by_material = False self.should_merge_materials_by_colour = False + self.should_use_native_meshes = False self.should_clean_mesh = True self.deflection_tolerance = 0.001 self.angular_tolerance = 0.5 @@ -1913,6 +1944,7 @@ class IfcImportSettings: settings.should_merge_by_class = props.should_merge_by_class settings.should_merge_by_material = props.should_merge_by_material settings.should_merge_materials_by_colour = props.should_merge_materials_by_colour + settings.should_use_native_meshes = props.should_use_native_meshes settings.should_clean_mesh = props.should_clean_mesh settings.deflection_tolerance = props.deflection_tolerance settings.angular_tolerance = props.angular_tolerance diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 6e3d3e1f7b..791dd52dba 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -132,6 +132,7 @@ class BIMProjectProperties(PropertyGroup): should_merge_by_material: BoolProperty(name="Import and Merge by Material", default=False) should_merge_materials_by_colour: BoolProperty(name="Import and Merge Materials by Colour", default=False) should_clean_mesh: BoolProperty(name="Import and Clean Mesh", default=True) + should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.001) angular_tolerance: FloatProperty(name="Angular Tolerance", default=0.5) distance_limit: FloatProperty(name="Distance Limit", default=1000) diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 9ecef6de71..ac7ecd5eb3 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -78,6 +78,7 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "should_merge_by_material") row = self.layout.row() + row.prop(pprops, "should_use_native_meshes") row.prop(pprops, "should_merge_materials_by_colour") row = self.layout.row() row.prop(pprops, "should_clean_mesh") From d0f38bc919c69eea58c81bb97a57acb74b26404e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 11:32:00 +1000 Subject: [PATCH 204/243] #2224 You can now filter models by type when loading --- .../blenderbim/bim/module/project/operator.py | 10 ++++++++++ src/blenderbim/blenderbim/bim/module/project/prop.py | 9 ++++++++- src/blenderbim/blenderbim/bim/module/project/ui.py | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index ae6f914c66..7e1ab55fad 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -545,6 +545,8 @@ class LoadProjectElements(bpy.types.Operator): settings.elements = self.get_decomposition_elements() elif self.props.filter_mode == "IFC_CLASS": settings.elements = self.get_ifc_class_elements() + elif self.props.filter_mode == "IFC_TYPE": + settings.elements = self.get_ifc_type_elements() elif self.props.filter_mode == "WHITELIST": settings.elements = self.get_whitelist_elements() elif self.props.filter_mode == "BLACKLIST": @@ -595,6 +597,14 @@ class LoadProjectElements(bpy.types.Operator): elements.update(self.file.by_type(filter_category.name, include_subtypes=False)) return elements + def get_ifc_type_elements(self): + elements = set() + for filter_category in self.props.filter_categories: + if not filter_category.is_selected: + continue + elements.update(ifcopenshell.util.element.get_types(self.file.by_id(filter_category.ifc_definition_id))) + return elements + def get_whitelist_elements(self): selector = ifcopenshell.util.selector.Selector() return set(selector.parse(self.file, self.props.filter_query)) diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 791dd52dba..aa05d759f6 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -63,10 +63,16 @@ def update_filter_mode(self, context): new.ifc_definition_id = element.id() new.total_elements = sum([len(r.RelatedElements) for r in element.ContainsElements]) elif self.filter_mode == "IFC_CLASS": - for ifc_class in sorted(list(set([e.is_a() for e in file.by_type("IfcElement")]))): + for ifc_class in sorted(list({e.is_a() for e in file.by_type("IfcElement")})): new = self.filter_categories.add() new.name = ifc_class new.total_elements = len(file.by_type(ifc_class, include_subtypes=False)) + elif self.filter_mode == "IFC_TYPE": + for ifc_type in sorted(file.by_type("IfcElementType"), key=lambda e: e.Name or "Unnamed"): + new = self.filter_categories.add() + new.name = ifc_type.is_a() + "/" + (ifc_type.Name or "Unnamed") + new.ifc_definition_id = ifc_type.id() + new.total_elements = len(ifcopenshell.util.element.get_types(ifc_type)) class LibraryElement(PropertyGroup): @@ -117,6 +123,7 @@ class BIMProjectProperties(PropertyGroup): ("NONE", "None", "No filtering is performed"), ("DECOMPOSITION", "Decomposition", "Filter objects by decomposition"), ("IFC_CLASS", "IFC Class", "Filter objects by class"), + ("IFC_TYPE", "IFC Type", "Filter objects by type"), ("WHITELIST", "Whitelist", "Filter objects using a custom whitelist query"), ("BLACKLIST", "Blacklist", "Filter objects using a custom blacklist query"), ], diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index ac7ecd5eb3..e26daac146 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -52,7 +52,7 @@ class BIM_PT_project(Panel): row.prop(pprops, "collection_mode") row = self.layout.row() row.prop(pprops, "filter_mode") - if pprops.filter_mode in ["DECOMPOSITION", "IFC_CLASS"]: + if pprops.filter_mode in ["DECOMPOSITION", "IFC_CLASS", "IFC_TYPE"]: row = self.layout.row(align=True) row.alignment = "RIGHT" row.operator("bim.toggle_filter_categories", text="", icon="CHECKBOX_HLT").should_select = True From a1ed78e7555f7e92ff136e4cb9161a835f8069dc Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 11:53:58 +1000 Subject: [PATCH 205/243] #2224 You can now specify element offset / limit ranges when loading models --- src/blenderbim/blenderbim/bim/import_ifc.py | 21 ++++++++++++------- .../blenderbim/bim/module/project/operator.py | 1 + .../blenderbim/bim/module/project/prop.py | 3 +++ .../blenderbim/bim/module/project/ui.py | 8 ++++++- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index f5023c1587..259915d298 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -314,14 +314,19 @@ class IfcImporter: self.settings_2d.set_context_ids(self.plan_contexts) def process_element_filter(self): + offset = self.ifc_import_settings.element_offset + offset_limit = offset + self.ifc_import_settings.element_limit + if self.ifc_import_settings.has_filter: - self.elements = set(self.ifc_import_settings.elements) + self.elements = self.ifc_import_settings.elements # TODO: enable filtering for annotations self.annotations = set(self.file.by_type("IfcAnnotation")) else: - self.elements = set(self.file.by_type("IfcElement")) + self.elements = self.file.by_type("IfcElement") self.annotations = set(self.file.by_type("IfcAnnotation")) + self.elements = set(self.elements[offset:offset_limit]) + if self.ifc_import_settings.has_filter and self.ifc_import_settings.should_filter_spatial_elements: self.spatial_elements = self.get_spatial_elements_filtered_by_elements(self.elements) else: @@ -366,7 +371,7 @@ class IfcImporter: return True if not self.ifc_import_settings.should_use_native_meshes: - return False # Performance improvements only occur on edge cases currently + return False # Performance improvements only occur on edge cases currently # FacetedBreps (without voids) are meshes. See #841. if self.is_native_faceted_brep(representations): @@ -1924,6 +1929,8 @@ class IfcImportSettings: self.angular_tolerance = 0.5 self.distance_limit = 1000 self.false_origin = None + self.element_offset = 0 + self.element_limit = 30000 self.has_filter = None self.should_filter_spatial_elements = True self.elements = set() @@ -1949,11 +1956,9 @@ class IfcImportSettings: settings.deflection_tolerance = props.deflection_tolerance settings.angular_tolerance = props.angular_tolerance settings.distance_limit = props.distance_limit - settings.false_origin = ( - [float(o) for o in props.false_origin.split(",")] - if props.false_origin - else None - ) + settings.false_origin = [float(o) for o in props.false_origin.split(",")] if props.false_origin else None if settings.false_origin == [0, 0, 0]: settings.false_origin = None + settings.element_offset = props.element_offset + settings.element_limit = props.element_limit return settings diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index 7e1ab55fad..71160e86e4 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -495,6 +495,7 @@ class LoadProject(bpy.types.Operator, IFCFileSelector): return {"FINISHED"} context.scene.BIMProperties.ifc_file = self.filepath context.scene.BIMProjectProperties.is_loading = True + context.scene.BIMProjectProperties.total_elements = len(tool.Ifc.get().by_type("IfcElement")) if not self.is_advanced: bpy.ops.bim.load_project_elements() return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index aa05d759f6..1b7e4740b9 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -130,6 +130,7 @@ class BIMProjectProperties(PropertyGroup): name="Filter Mode", update=update_filter_mode, ) + total_elements: IntProperty(name="Total Elements", default=0) filter_categories: CollectionProperty(name="Filter Categories", type=FilterCategory) active_filter_category_index: IntProperty(name="Active Filter Category Index") filter_query: StringProperty(name="Filter Query") @@ -144,6 +145,8 @@ class BIMProjectProperties(PropertyGroup): angular_tolerance: FloatProperty(name="Angular Tolerance", default=0.5) distance_limit: FloatProperty(name="Distance Limit", default=1000) false_origin: StringProperty(name="False Origin", default="0,0,0") + element_offset: IntProperty(name="Element Offset", default=0) + element_limit: IntProperty(name="Element Offset", default=30000) links: CollectionProperty(name="Links", type=Link) active_link_index: IntProperty(name="Active Link Index") export_schema: EnumProperty(items=get_export_schema, name="IFC Schema") diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index e26daac146..e6017bcd6b 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -54,7 +54,7 @@ class BIM_PT_project(Panel): row.prop(pprops, "filter_mode") if pprops.filter_mode in ["DECOMPOSITION", "IFC_CLASS", "IFC_TYPE"]: row = self.layout.row(align=True) - row.alignment = "RIGHT" + row.label(text=f"Total: {pprops.total_elements}") row.operator("bim.toggle_filter_categories", text="", icon="CHECKBOX_HLT").should_select = True row.operator("bim.toggle_filter_categories", text="", icon="CHECKBOX_DEHLT").should_select = False self.layout.template_list( @@ -91,6 +91,12 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "false_origin") + row = self.layout.row() + row.label(text="Element Range") + row = self.layout.row(align=True) + row.prop(pprops, "element_offset", text="") + row.prop(pprops, "element_limit", text="") + row = self.layout.row(align=True) row.operator("bim.load_project_elements") row.operator("bim.unload_project", text="", icon="CANCEL") From d76679a45f286b2c7cfe469ea52c823df932e1ac Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 11:56:22 +1000 Subject: [PATCH 206/243] #2224 Cache seems unstable for some large models so allow option to disable --- src/blenderbim/blenderbim/bim/import_ifc.py | 16 ++++++++++------ .../blenderbim/bim/module/project/prop.py | 1 + .../blenderbim/bim/module/project/ui.py | 1 + 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 259915d298..92e4dd473c 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -683,9 +683,10 @@ class IfcImporter: ) else: iterator = ifcopenshell.geom.iterator(self.settings, self.file, include=products) - cache = IfcStore.get_cache() - if cache: - iterator.set_cache(cache) + if self.ifc_import_settings.should_cache: + cache = IfcStore.get_cache() + if cache: + iterator.set_cache(cache) valid_file = iterator.initialize() if not valid_file: return results @@ -832,9 +833,10 @@ class IfcImporter: ) else: iterator = ifcopenshell.geom.iterator(self.settings_2d, self.file, include=products) - cache = IfcStore.get_cache() - if cache: - iterator.set_cache(cache) + if self.ifc_import_settings.should_cache: + cache = IfcStore.get_cache() + if cache: + iterator.set_cache(cache) valid_file = iterator.initialize() if not valid_file: return results @@ -1925,6 +1927,7 @@ class IfcImportSettings: self.should_merge_materials_by_colour = False self.should_use_native_meshes = False self.should_clean_mesh = True + self.should_cache = True self.deflection_tolerance = 0.001 self.angular_tolerance = 0.5 self.distance_limit = 1000 @@ -1953,6 +1956,7 @@ class IfcImportSettings: settings.should_merge_materials_by_colour = props.should_merge_materials_by_colour settings.should_use_native_meshes = props.should_use_native_meshes settings.should_clean_mesh = props.should_clean_mesh + settings.should_cache = props.should_cache settings.deflection_tolerance = props.deflection_tolerance settings.angular_tolerance = props.angular_tolerance settings.distance_limit = props.distance_limit diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 1b7e4740b9..d2f4645bc9 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -141,6 +141,7 @@ class BIMProjectProperties(PropertyGroup): should_merge_materials_by_colour: BoolProperty(name="Import and Merge Materials by Colour", default=False) should_clean_mesh: BoolProperty(name="Import and Clean Mesh", default=True) should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) + should_cache: BoolProperty(name="Cache", default=False) deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.001) angular_tolerance: FloatProperty(name="Angular Tolerance", default=0.5) distance_limit: FloatProperty(name="Distance Limit", default=1000) diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index e6017bcd6b..1fc22aac97 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -76,6 +76,7 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "should_merge_by_class") row = self.layout.row() + row.prop(pprops, "should_cache") row.prop(pprops, "should_merge_by_material") row = self.layout.row() row.prop(pprops, "should_use_native_meshes") From 053e4e1185e37498771fce296db79ecd387c0a54 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 12:06:59 +1000 Subject: [PATCH 207/243] #2224 Enabling coordination mode now excludes types and openings --- src/blenderbim/blenderbim/bim/import_ifc.py | 12 +++++++++--- src/blenderbim/blenderbim/bim/module/project/prop.py | 1 + src/blenderbim/blenderbim/bim/module/project/ui.py | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 92e4dd473c..119f61a883 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -244,8 +244,9 @@ class IfcImporter: self.profile_code("Create spatial elements") self.create_structural_items() self.profile_code("Create structural items") - self.create_type_products() - self.profile_code("Create type products") + if not self.ifc_import_settings.is_coordinating: + self.create_type_products() + self.profile_code("Create type products") self.place_objects_in_collections() self.profile_code("Place objects in collections") if self.ifc_import_settings.should_merge_by_class: @@ -325,6 +326,9 @@ class IfcImporter: self.elements = self.file.by_type("IfcElement") self.annotations = set(self.file.by_type("IfcAnnotation")) + if self.ifc_import_settings.is_coordinating: + self.elements = [e for e in self.elements if e.Representation and not e.is_a("IfcFeatureElement")] + self.elements = set(self.elements[offset:offset_limit]) if self.ifc_import_settings.has_filter and self.ifc_import_settings.should_filter_spatial_elements: @@ -850,7 +854,7 @@ class IfcImporter: shape = iterator.get() if shape: product = self.file.by_id(shape.guid) - self.create_product(self.file.by_id(shape.guid), shape) + self.create_product(product, shape) results.add(product) if not iterator.next(): break @@ -1928,6 +1932,7 @@ class IfcImportSettings: self.should_use_native_meshes = False self.should_clean_mesh = True self.should_cache = True + self.is_coordinating = True self.deflection_tolerance = 0.001 self.angular_tolerance = 0.5 self.distance_limit = 1000 @@ -1957,6 +1962,7 @@ class IfcImportSettings: settings.should_use_native_meshes = props.should_use_native_meshes settings.should_clean_mesh = props.should_clean_mesh settings.should_cache = props.should_cache + settings.is_coordinating = props.is_coordinating settings.deflection_tolerance = props.deflection_tolerance settings.angular_tolerance = props.angular_tolerance settings.distance_limit = props.distance_limit diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index d2f4645bc9..36cc3b4391 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -142,6 +142,7 @@ class BIMProjectProperties(PropertyGroup): should_clean_mesh: BoolProperty(name="Import and Clean Mesh", default=True) should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) should_cache: BoolProperty(name="Cache", default=False) + is_coordinating: BoolProperty(name="For Coordination Only", default=False) deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.001) angular_tolerance: FloatProperty(name="Angular Tolerance", default=0.5) distance_limit: FloatProperty(name="Distance Limit", default=1000) diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 1fc22aac97..4a3a5182c4 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -82,6 +82,7 @@ class BIM_PT_project(Panel): row.prop(pprops, "should_use_native_meshes") row.prop(pprops, "should_merge_materials_by_colour") row = self.layout.row() + row.prop(pprops, "is_coordinating") row.prop(pprops, "should_clean_mesh") row = self.layout.row() row.prop(pprops, "deflection_tolerance") From bcbee0659bf47eb83923960224ca12ce421e6c8f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 12:09:19 +1000 Subject: [PATCH 208/243] #2224 Coordination mode now allows interspersed (much faster) object merging during model loading to crunch down large models, with a new by type merge mode --- src/blenderbim/blenderbim/bim/import_ifc.py | 128 +++++++++++++----- .../blenderbim/bim/module/project/prop.py | 18 ++- .../blenderbim/bim/module/project/ui.py | 8 +- 3 files changed, 110 insertions(+), 44 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index 119f61a883..ea1fe8e890 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -249,20 +249,14 @@ class IfcImporter: self.profile_code("Create type products") self.place_objects_in_collections() self.profile_code("Place objects in collections") - if self.ifc_import_settings.should_merge_by_class: - self.merge_by_class() - self.profile_code("Merging by class") - elif self.ifc_import_settings.should_merge_by_material: - self.merge_by_material() - self.profile_code("Merging by material") - if self.ifc_import_settings.should_merge_materials_by_colour or len(self.material_creator.materials) > 300: - self.merge_materials_by_colour() - self.profile_code("Merging by colour") self.add_project_to_scene() self.profile_code("Add project to scene") if self.ifc_import_settings.should_clean_mesh and len(self.file.by_type("IfcElement")) < 1000: self.clean_mesh() self.profile_code("Mesh cleaning") + if self.ifc_import_settings.should_merge_materials_by_colour or len(self.material_creator.materials) > 300: + self.merge_materials_by_colour() + self.profile_code("Merging by colour") self.set_default_context() self.profile_code("Setting default context") self.update_progress(100) @@ -632,8 +626,14 @@ class IfcImporter: for element in self.native_elements: progress += 1 if progress % 250 == 0: - print("{} / {} elements processed in {:.2f}s ...".format(progress, total, time.time() - checkpoint)) + percent = round(progress / total * 100) + print( + "{} / {} ({}%) elements processed in {:.2f}s ...".format( + progress, total, percent, time.time() - checkpoint + ) + ) checkpoint = time.time() + self.incrementally_merge_objects() native_data = self.native_data[element.GlobalId] representation = native_data["representation"] if not representation: @@ -702,13 +702,17 @@ class IfcImporter: while True: progress += 1 if progress % 250 == 0: + percent_created = round(progress / total * 100) + percent_preprocessed = iterator.progress() + percent_average = (percent_created + percent_preprocessed) / 2 print( - "{} / {} ({}% preprocessed) elements processed in {:.2f}s ...".format( - progress, total, iterator.progress(), time.time() - checkpoint + "{} / {} ({}% created, {}% preprocessed) elements processed in {:.2f}s ...".format( + progress, total, percent_created, percent_preprocessed, time.time() - checkpoint ) ) checkpoint = time.time() - self.update_progress((iterator.progress() / 100 * progress_range) + start_progress) + self.update_progress((percent_average / 100 * progress_range) + start_progress) + self.incrementally_merge_objects() shape = iterator.get() if shape: product = self.file.by_id(shape.guid) @@ -727,6 +731,19 @@ class IfcImporter: print("Done creating geometry") return results + def incrementally_merge_objects(self): + if not self.ifc_import_settings.is_coordinating: + return + if self.ifc_import_settings.merge_mode == "IFC_CLASS": + self.merge_by_class() + self.profile_code("Merging by class") + elif self.ifc_import_settings.merge_mode == "IFC_TYPE": + self.merge_by_type() + self.profile_code("Merging by type") + elif self.ifc_import_settings.merge_mode == "MATERIAL": + self.merge_by_material() + self.profile_code("Merging by material") + def create_structural_items(self): # Create structural collections self.structural_member_collection = bpy.data.collections.new("Members") @@ -1121,33 +1138,74 @@ class IfcImporter: def merge_by_class(self): merge_set = {} - for obj in self.added_data.values(): - if not isinstance(obj, bpy.types.Object): + id_set = {} + for ifc_definition_id, obj in self.added_data.items(): + if not isinstance(obj, bpy.types.Object) or not obj.data: continue - if "/" not in obj.name or "IfcRelAggregates" in obj.users_collection[0].name: + element = self.file.by_id(ifc_definition_id) + if not element.is_a("IfcElement"): continue - merge_set.setdefault(obj.name.split("/")[0], []).append(obj) - self.merge_objects(merge_set) + merge_set.setdefault(element.is_a(), []).append(obj) + id_set.setdefault(element.is_a(), []).append(ifc_definition_id) + self.merge_objects(merge_set, id_set) + + def merge_by_type(self): + merge_set = {} + id_set = {} + for ifc_definition_id, obj in self.added_data.items(): + if not isinstance(obj, bpy.types.Object) or not obj.data: + continue + element = self.file.by_id(ifc_definition_id) + if not element.is_a("IfcElement"): + continue + element_type = ifcopenshell.util.element.get_type(element) + if not element_type: + continue + merge_key = str(element_type.id()) + "-" + element_type.Name or "Unnamed" + merge_set.setdefault(merge_key, []).append(obj) + id_set.setdefault(merge_key, []).append(ifc_definition_id) + self.merge_objects(merge_set, id_set) def merge_by_material(self): merge_set = {} - for obj in self.added_data.values(): - if not isinstance(obj, bpy.types.Object): + id_set = {} + for ifc_definition_id, obj in self.added_data.items(): + if not isinstance(obj, bpy.types.Object) or not obj.data: continue - if "/" not in obj.name or "IfcRelAggregates" in obj.users_collection[0].name: + element = self.file.by_id(ifc_definition_id) + if not element.is_a("IfcElement"): continue - if not obj.material_slots: - merge_set.setdefault("no-material", []).append(obj) - else: - merge_set.setdefault(obj.material_slots[0].name, []).append(obj) - self.merge_objects(merge_set) + merge_key = obj.material_slots[0].name if obj.material_slots else "no-material" + merge_set.setdefault(merge_key, []).append(obj) + id_set.setdefault(merge_key, []).append(ifc_definition_id) + self.merge_objects(merge_set, id_set) - def merge_objects(self, merge_set): - for ifc_class, objs in merge_set.items(): - context_override = {} - context_override["object"] = context_override["active_object"] = objs[0] - context_override["selected_objects"] = context_override["selected_editable_objects"] = objs - bpy.ops.object.join(context_override) + def merge_objects(self, merge_set, id_set): + total_objs = sum([len(o) for o in merge_set.values()]) + cumulative_total = 0 + merge_set = {k: v for k, v in sorted(merge_set.items(), key=lambda i: len(i[1]), reverse=True)} + for group_name, objs in merge_set.items(): + total_group_objs = len(objs) + if total_group_objs < 10: + continue + merge_potential = total_objs - cumulative_total + if merge_potential < 250: + print("Merge target achieved") + return + cumulative_total += total_group_objs + print(f"Merging {total_group_objs} objects, {merge_potential} potentially remaining -", group_name) + try: + target = objs[0] + target.data = target.data.copy() + context_override = {} + context_override["object"] = context_override["active_object"] = target + context_override["selected_objects"] = context_override["selected_editable_objects"] = objs + bpy.ops.object.join(context_override) + target.data.name += "-merge" + for ifc_definition_id in id_set[group_name][1:]: + del self.added_data[ifc_definition_id] + except: + print("Merge failed") def merge_materials_by_colour(self): cleaned_materials = {} @@ -1926,8 +1984,7 @@ class IfcImportSettings: self.input_file = None self.diff_file = None self.should_use_cpu_multiprocessing = True - self.should_merge_by_class = False - self.should_merge_by_material = False + self.merge_mode = None self.should_merge_materials_by_colour = False self.should_use_native_meshes = False self.should_clean_mesh = True @@ -1956,8 +2013,7 @@ class IfcImportSettings: settings.diff_file = scene_diff.diff_json_file settings.collection_mode = props.collection_mode settings.should_use_cpu_multiprocessing = props.should_use_cpu_multiprocessing - settings.should_merge_by_class = props.should_merge_by_class - settings.should_merge_by_material = props.should_merge_by_material + settings.merge_mode = props.merge_mode settings.should_merge_materials_by_colour = props.should_merge_materials_by_colour settings.should_use_native_meshes = props.should_use_native_meshes settings.should_clean_mesh = props.should_clean_mesh diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 36cc3b4391..8ef662c481 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -135,12 +135,20 @@ class BIMProjectProperties(PropertyGroup): active_filter_category_index: IntProperty(name="Active Filter Category Index") filter_query: StringProperty(name="Filter Query") should_filter_spatial_elements: BoolProperty(name="Filter Spatial Elements", default=False) - should_use_cpu_multiprocessing: BoolProperty(name="Import with CPU Multiprocessing", default=True) - should_merge_by_class: BoolProperty(name="Import and Merge by Class", default=False) - should_merge_by_material: BoolProperty(name="Import and Merge by Material", default=False) - should_merge_materials_by_colour: BoolProperty(name="Import and Merge Materials by Colour", default=False) - should_clean_mesh: BoolProperty(name="Import and Clean Mesh", default=True) + should_use_cpu_multiprocessing: BoolProperty(name="CPU Multiprocessing", default=True) + merge_mode: bpy.props.EnumProperty( + items=[ + ("NONE", "None", "No objects are merged"), + ("IFC_CLASS", "IFC Class", "One object per IFC class"), + ("IFC_TYPE", "IFC Type", "One object per IFC construction type"), + ("MATERIAL", "Material", "One object per material"), + ], + name="Merge Mode", + default="NONE", + ) + should_merge_materials_by_colour: BoolProperty(name="Merge Materials by Colour", default=False) should_use_native_meshes: BoolProperty(name="Native Meshes", default=False) + should_clean_mesh: BoolProperty(name="Clean Meshes", default=True) should_cache: BoolProperty(name="Cache", default=False) is_coordinating: BoolProperty(name="For Coordination Only", default=False) deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.001) diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 4a3a5182c4..11fbdb13a6 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -74,16 +74,18 @@ class BIM_PT_project(Panel): row = self.layout.row() row.prop(pprops, "should_use_cpu_multiprocessing") row = self.layout.row() - row.prop(pprops, "should_merge_by_class") + row.prop(pprops, "should_clean_mesh") row = self.layout.row() row.prop(pprops, "should_cache") - row.prop(pprops, "should_merge_by_material") row = self.layout.row() row.prop(pprops, "should_use_native_meshes") + row = self.layout.row() row.prop(pprops, "should_merge_materials_by_colour") row = self.layout.row() row.prop(pprops, "is_coordinating") - row.prop(pprops, "should_clean_mesh") + if pprops.is_coordinating: + row = self.layout.row() + row.prop(pprops, "merge_mode") row = self.layout.row() row.prop(pprops, "deflection_tolerance") row = self.layout.row() From cdabc507e15ccd2026a93d6492f7d1dda1b8b504 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 14:09:02 +1000 Subject: [PATCH 209/243] #2224 New headless import script --- src/blenderbim/scripts/headless_import.py | 55 +++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/blenderbim/scripts/headless_import.py diff --git a/src/blenderbim/scripts/headless_import.py b/src/blenderbim/scripts/headless_import.py new file mode 100644 index 0000000000..9f69c76937 --- /dev/null +++ b/src/blenderbim/scripts/headless_import.py @@ -0,0 +1,55 @@ +# This can be run using `blender -b -P headless_import.py` + +import bpy +from blenderbim.bim.ifc import IfcStore + +# When federating, you may wish to manually specify the origin to ensure models +# with different or arbitrary origin conventions will turn up in the right spot. + +props = bpy.context.scene.BIMGeoreferenceProperties + +# A good idea it to test import a portion of the model (or grids only) and check +# georeferencing coordinates in the IFC Georeferencing panel before filling out +# these details. + +#props.blender_eastings = '334134181.0' +#props.blender_northings = '6254570511.0' +#props.blender_orthogonal_height = '0.0' +#props.blender_x_axis_abscissa = '0.147487884244522' +#props.blender_x_axis_ordinate = '0.989063862448262' +#props.has_blender_offset = True + +props = bpy.context.scene.BIMProjectProperties + +# Generally recommended to disable caching for stability right now +props.should_cache = False + +# If you are not authoring, it is recommended to enable this. +# When enabled, types, openings, and non geometric elements are not loaded. +props.is_coordinating = True + +# Merging is a good strategy to keep object counts low in huge models. + +# Leave it to none if you do not have a huge model. +props.merge_mode = "NONE" + +# A good merge strategy when the type is significant +props.merge_mode = "IFC_TYPE" + +# A good merge strategy to really get object counts low where types don't matter, like for structural models +props.merge_mode = "IFC_CLASS" + +# If you want to import a range of elements, say the first 30k elements, set the +# offset and limit here. 30k is generally useful as a guideline to keep models +# responsive (though my computer can handle 80k). +props.element_offset = 0 +props.element_limit = 30000 + +bpy.ops.bim.load_project(filepath="/path/to/your/model/input.ifc") + +# In coordination mode, it is unnecessary to maintain a link to the IFC +bpy.context.scene.BIMProperties.ifc_file = "" +IfcStore.file = None + +# Save the processed file here +bpy.ops.wm.save_mainfile(filepath="/path/to/your/model/output.blend") From 3507920c09707817fa5c18e75070890f845ed4cd Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 19:09:55 +1000 Subject: [PATCH 210/243] #2224 Expose unload project in UI to aid in unlinking IFCs for coordination only --- src/blenderbim/blenderbim/bim/module/project/ui.py | 1 + src/blenderbim/scripts/headless_import.py | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 11fbdb13a6..0940bbc69f 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -165,6 +165,7 @@ class BIM_PT_project(Panel): op.should_save_as = False op = row.operator("export_ifc.bim", icon="FILE_TICK", text="Save As") op.should_save_as = True + row.operator("bim.unload_project", text="", icon="X") def draw_create_project_ui(self, context): props = context.scene.BIMProperties diff --git a/src/blenderbim/scripts/headless_import.py b/src/blenderbim/scripts/headless_import.py index 9f69c76937..07596d6c08 100644 --- a/src/blenderbim/scripts/headless_import.py +++ b/src/blenderbim/scripts/headless_import.py @@ -48,8 +48,7 @@ props.element_limit = 30000 bpy.ops.bim.load_project(filepath="/path/to/your/model/input.ifc") # In coordination mode, it is unnecessary to maintain a link to the IFC -bpy.context.scene.BIMProperties.ifc_file = "" -IfcStore.file = None +bpy.ops.bim.unload_project() # Save the processed file here bpy.ops.wm.save_mainfile(filepath="/path/to/your/model/output.blend") From c95d263ca59640488a3f6a54befd3920ea94458c Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 8 Jun 2022 19:10:20 +1000 Subject: [PATCH 211/243] #2224 Write documentation for dealing with large models --- src/blenderbim/docs/index.rst | 1 + .../docs/users/dealing_with_large_models.rst | 188 ++++++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 src/blenderbim/docs/users/dealing_with_large_models.rst diff --git a/src/blenderbim/docs/index.rst b/src/blenderbim/docs/index.rst index 26d4afd10d..60b741527f 100644 --- a/src/blenderbim/docs/index.rst +++ b/src/blenderbim/docs/index.rst @@ -17,6 +17,7 @@ The BlenderBIM Add-on lets you analyse, create, and modify OpenBIM with Blender. users/exploring_an_ifc_model users/creating_your_first_ifc users/georeferencing + users/dealing_with_large_models .. toctree:: :hidden: diff --git a/src/blenderbim/docs/users/dealing_with_large_models.rst b/src/blenderbim/docs/users/dealing_with_large_models.rst new file mode 100644 index 0000000000..a6a44b83a6 --- /dev/null +++ b/src/blenderbim/docs/users/dealing_with_large_models.rst @@ -0,0 +1,188 @@ +Dealing with large models +========================= + +The BlenderBIM Add-on can handle large models, or federated collections of +models where the combined total IFCs may be many gigabytes or object counts may +be in the hundreds of thousands. + +Models may be large in terms of different metrics, such as: + +- Filesizes over 750MB, which may cause memory issues +- Individual object polygon counts over 100k, which may cause unreasonable + loading times +- Objects having excessive or low quality booleans, which may cause + unreasonable loading times +- Number of elements exceeding 50,000 loaded in the scene, which may cause + unreasonable loading times, selection glitches, and viewport lagging + +There are always solutions to all of these, but an understanding of the type of +size limitation you are up against will always help. + +Large filesizes +--------------- + +The first priority is to ensure you do not have a prohibitively large filesize. + +- Use IFC4. It can handle geometry much more efficiently and expect your + filesize to drop significantly. +- When coming from other software, ensure you are exporting solids, not faceted + BReps or tessellations where appropriate. Choosing the wrong export setting + can easily double or triple your filesize and export times. Choose **Design + Transfer View** instead of **Coordination View** or **Reference View**. Look + for export settings that use the keywords like "surface", "solid", "brep", + "tessellation", or "extrusion". +- Improve your model breakdown strategy (see below) +- Identify objects with large polygon counts and improve the modeling (see below) + +Model breakdown strategies +-------------------------- + +A good general strategy is to never have a large model to begin with. Breaking +down models is critical for usability during design and coordination. Where full +models are needed, such as during clash detection, review meetings, or client +handover, many small models may be federated. Model breakdown strategies +include: + +- **By discipline**, you probably already do this, so let's move on +- **By location**, such as by building, floor, zone, mid-rise, high-rise, core + podium, underground, plant rooms, facade orientation, or similar. +- **By object type**, such as by primary structural elements vs accessories + (plates, bolts, etc), furniture vs general arrangement, facade vs interiors, + distribution system elements (equipment, pipes, fittings) vs accessories (pipe + clamps, hangers, etc) or similar. +- **By coordination task**, many people get into the habit of exchanging the + entire building when a task only requires a tiny portion of it. Think of the + workflow of exchanging traditional drawings. A large project would have + thousands of drawings with a few drawings exchanged for a single coordination + task. This strategy can be used with models: exchange hundreds of tiny models + (some maybe even only 1MB!), scoped to the task at hand. Keep exchanges small + and frequent (like code commits, for the geeks reading this). + +Filtered model loading +---------------------- + +You may filter elements and only load a portion of the model. Click on **Enable +Advanced Mode** when loading a model and you will be presented with model +loading options in the **IFC Project** panel. **Filter Modes** include: + +- **Decomposition**, filter by location in the building, such as **Level 1** or + **Building A**. +- **IFC Class**, filter by IFC class, such as **Wall**, **Column**, or **Pipe + Segments** +- **IFC Type**, filter by IFC construction type, such as **Copper pipes** and + **200mm thick concrete slabs** +- **Whitelist** or **Blacklist**, filter by a custom query + +When **Whitelist** or **Blacklist** is chosen, you may type a custom query to +filter by attributes, properties, location, and so on. + +Large polygon counts +-------------------- + +If objects with large polygon counts are blocking you from importing, consider +enabling **Native Meshes** in the **Advanced Mode** when loading projects. + +The **Debug Panel** allows you to **Select High Polygon Meshes** or **Select +Highest Polygon Meshes** to isolate geometrically complex objects by a polygon +number threshold or a percentage. + +After selecting these elements, you can view them in edit mode to see a polygon +count and where the offending polygons are. Often, fixing a single object may +cut out 50MB. + +Excessive or low quality booleans +--------------------------------- + +In some cases, elements may be generated from external software with an +excessive (over 50) number of boolean operations or with high polygon, complex +booleans. + +The **IFC Debug** panel has a **Test All Shapes** feature which generates +geometry for every element one by one and outputs the processing time to the +console. When you see it stuck on an element, make a note of the element ID. You +may then use the **IFC Debug** panel's **Inspector** to determine the nature of +the boolean, or create a **Blacklist Filter Mode** to exclude the element from +import. + +These types of errors are usually problems with external software (i.e. not +internationally by the end-user) and typically do not affect critical geometry +and can be worked around. + +Fully resolving boolean issues is a complex case by case topic and not covered +here. + +High number of elements +----------------------- + +Click on **Enable Advanced Mode** when loading a model and you will be presented +with model loading options in the **IFC Project** panel. + +You may specify an **Element Range** to process. The **Element Offset** says the +first element to start processing at, and the **Element Limit** says how many +elements should be processed. For example, in a model with 100,000 objects, an +**Element Start** of 30,000 and an **Element Limit** of 20,000 will process the +elements starting at item number 30,000 and ending at item number 50,000. This +allows you to arbitrarily break down large models into submodels. This can be +combined with other filters. + +`Alpha versions of Blender `__ may +be used which will result in a faster load time (~10%). + +.. seealso:: + + Blender is working on resolving some performance bottlenecks related to high + object counts. See `D9892 `__, `D15129 + `__ (available in Blender 3.3 alpha), + and `D14162 `__ + +Coordination only models +------------------------ + +The BlenderBIM Add-on defaults to authoring IFCs. This allows full editing and +inspection of all element properties and relationships. However, sometimes only +geometry and basic attributes such as names are sufficient. Example usecases +include CG visualisation, overall federated model coordination, or pure +geometric checks. + +Click on **Enable Advanced Mode** when loading a model and you will be presented +with model loading options in the **IFC Project** panel. Enable **For +Coordination Only**, which will exclude non geometric elements, openings, and +types from being imported. This leads to slightly faster imports, and a +decreased object count. + +Enabling **For Coordination Only** also allows you to specify a **Merge Mode**. +This combines objects to keep object counts low. Blender is very good at +handling less objects with more complexity, rather than the other way around. +When a **Merge Mode** is activated, import times will increase (~50%) but object +counts will be drastically reduced, which is critical for the federation of +large models. **Merge Modes** include: + +- **IFC Class**, where objects of the same IFC class are merged. This is useful + if you have models where only the class is meaningful for other disciplines, + such as structural models. +- **IFC Type**, where objects of the same construction type are merged. This is + useful where the main identification of interest is the element type, not the + element instance. +- **Material**, where objects of the same material are merged. This is useful if + the model is used for purely visual exploration such as CG visualisation. + +Once loaded, the model may be saved as a ``.blend`` file for subsequent loads. +You can think of the ``.blend`` file as a geometry cache, which is very, very +fast to load. If it no longer necessary to access IFC data, consider pressing +the **Unload Project** icon so that future loads of the ``.blend`` file will be +very fast. + +With these strategies, a federated 1GB IFC model can easily load in 10 seconds +from the saved Blender files. + +Processing models headlessly +---------------------------- + +You can automate model processing using this command (~5% speedup): + +.. code-block:: bash + + $ blender -b -P headless_import.py + +The ``headless_import.py`` script contains instructions on how to configure +model loading settings. From 133fa5547be72ea96b26ef58717867831c30085f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 8 Jun 2022 13:37:06 +0200 Subject: [PATCH 212/243] Use OCCT github mirror for reliability --- win/build-deps.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win/build-deps.cmd b/win/build-deps.cmd index c14f0352be..aa321a8496 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -357,7 +357,7 @@ if not %ERRORLEVEL%==0 goto :Error set DEPENDENCY_NAME=Open CASCADE %OCCT_VERSION% set DEPENDENCY_DIR=%DEPS_DIR%\occt_git cd "%DEPS_DIR%" -call :GitCloneAndCheckoutRevision https://git.dev.opencascade.org/repos/occt.git "%DEPENDENCY_DIR%" %OCCT_VER% +call :GitCloneAndCheckoutRevision https://github.com/Open-Cascade-SAS/OCCT "%DEPENDENCY_DIR%" %OCCT_VER% if not %ERRORLEVEL%==0 goto :Error :: Patching always blindly would trigger a rebuild each time From 73c006a977d129aa3d4b0528a2aaccd762852d06 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 8 Jun 2022 13:37:48 +0200 Subject: [PATCH 213/243] Use OCCT github mirror for reliability --- nix/build-all.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/build-all.py b/nix/build-all.py index 3ed99e8382..f26a09b944 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -508,7 +508,7 @@ if USE_OCCT and "occ" in targets: "-DBUILD_MODULE_Draw=0", "-DBUILD_RELEASE_DISABLE_EXCEPTIONS=Off" ], - download_url = "https://git.dev.opencascade.org/repos/occt.git", + download_url = "https://github.com/Open-Cascade-SAS/OCCT", download_name = "occt", download_tool=download_tool_git, patch=None if OCCT_VERSION >= "7.4" else "./patches/occt/enable-exception-handling.patch", From 96fe1018edf63337c4deb7f8fc501cc3701f1fe2 Mon Sep 17 00:00:00 2001 From: Dmitry Sedov Date: Thu, 10 Feb 2022 11:11:49 +0300 Subject: [PATCH 214/243] implemented the minimal build version --- cmake/CMakeLists.txt | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fea3a0b9b8..527a7446f0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -38,7 +38,7 @@ MESSAGE(STATUS "Autodesk 3ds Max SDK found at ${max_sdk}") set(HAS_MAX TRUE) endif() endforeach() - +OPTION(MINIMAL_BUILD "The build is to make a minimal version of IFC converter from OCCT into IFC." ON) OPTION(COLLADA_SUPPORT "Build IfcConvert with COLLADA support (requires OpenCOLLADA)." ON) OPTION(IFCXML_SUPPORT "Build IfcParse with ifcXML support (requires libxml2)." ON) OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizations on RelWithDebInfo and Release builds." OFF) @@ -121,6 +121,7 @@ ENDMACRO() UNIFY_ENVVARS_AND_CACHE(OCC_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(OCC_LIBRARY_DIR) +if (NOT MINIMAL_BUILD) UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(OPENCOLLADA_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(LIBXML2_INCLUDE_DIR) @@ -130,17 +131,20 @@ UNIFY_ENVVARS_AND_CACHE(PYTHON_EXECUTABLE) UNIFY_ENVVARS_AND_CACHE(HDF5_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(HDF5_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(HDF5_LIBRARIES) +endif() UNIFY_ENVVARS_AND_CACHE(BOOST_ROOT) UNIFY_ENVVARS_AND_CACHE(BOOST_LIBRARYDIR) +if (NOT MINIMAL_BUILD) UNIFY_ENVVARS_AND_CACHE(CGAL_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(CGAL_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(GMP_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(GMP_LIBRARY_DIR) UNIFY_ENVVARS_AND_CACHE(MPFR_INCLUDE_DIR) UNIFY_ENVVARS_AND_CACHE(MPFR_LIBRARY_DIR) +endif() -if (GLTF_SUPPORT AND BUILD_CONVERT) +if (NOT MINIMAL_BUILD AND GLTF_SUPPORT AND BUILD_CONVERT) UNIFY_ENVVARS_AND_CACHE(JSON_INCLUDE_DIR) FIND_FILE(json_hpp "json.hpp" ${JSON_INCLUDE_DIR}/nlohmann) IF(json_hpp) @@ -201,10 +205,12 @@ if(USE_MMAP) add_definitions(-DUSE_MMAP) endif() +if (NOT MINIMAL_BUILD) # libxml2 is required for IFCXML (optional) and SVGFILL (mandatory) -find_package(LibXml2 REQUIRED) + find_package(LibXml2 REQUIRED) +endif() -if (IFCXML_SUPPORT) +if (NOT MINIMAL_BUILD AND IFCXML_SUPPORT) add_definitions(-DWITH_IFCXML) set(SWIG_DEFINES ${SWIG_DEFINES} -DWITH_IFCXML) endif() @@ -346,7 +352,7 @@ endif() endif(BUILD_IFCGEOM) -IF(COLLADA_SUPPORT) +IF(NOT MINIMAL_BUILD AND COLLADA_SUPPORT) # Find OpenCOLLADA IF("${OPENCOLLADA_INCLUDE_DIR}" STREQUAL "") MESSAGE(STATUS "No OpenCOLLADA include directory specified") @@ -426,7 +432,7 @@ IF(COLLADA_SUPPORT) ENDIF() ENDIF() -if(HDF5_SUPPORT) +if(NOT MINIMAL_BUILD AND HDF5_SUPPORT) IF("${HDF5_INCLUDE_DIR}" STREQUAL "") MESSAGE(STATUS "No HDF5 include directory specified") ElSE() @@ -774,7 +780,7 @@ INSTALL(TARGETS IfcConvert endif(BUILD_CONVERT) # IfcGeomServer -if(BUILD_GEOMSERVER) +if(NOT MINIMAL_BUILD AND BUILD_GEOMSERVER) file(GLOB CPP_FILES ../src/ifcgeomserver/*.cpp) file(GLOB H_FILES ../src/ifcgeomserver/*.h) @@ -828,7 +834,7 @@ IF(BUILD_DOCUMENTATION) ADD_SUBDIRECTORY(../docs docs) ENDIF() -IF(BUILD_IFCPYTHON) +IF(NOT MINIMAL_BUILD AND BUILD_IFCPYTHON) ADD_SUBDIRECTORY(../src/ifcwrap ifcwrap) ENDIF() @@ -836,11 +842,12 @@ IF(BUILD_EXAMPLES) ADD_SUBDIRECTORY(../src/examples examples) ENDIF() -IF(BUILD_IFCMAX) +IF(NOT MINIMAL_BUILD AND BUILD_IFCMAX) ADD_SUBDIRECTORY(../src/ifcmax ifcmax) ENDIF() - +if (NOT MINIMAL_BUILD) ADD_SUBDIRECTORY(../src/svgfill svgfill) +endif() # CMake installation targets INSTALL(FILES ${IFCPARSE_H_FILES} From cb8cfd79051cb2f7b5aa0cba233de5152aee2911 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 8 Jun 2022 13:59:29 +0200 Subject: [PATCH 215/243] Update CMakeLists.txt --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 527a7446f0..506f5ab411 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -38,7 +38,7 @@ MESSAGE(STATUS "Autodesk 3ds Max SDK found at ${max_sdk}") set(HAS_MAX TRUE) endif() endforeach() -OPTION(MINIMAL_BUILD "The build is to make a minimal version of IFC converter from OCCT into IFC." ON) +OPTION(MINIMAL_BUILD "The build is to make a minimal version of IFC converter from OCCT into IFC." OFF) OPTION(COLLADA_SUPPORT "Build IfcConvert with COLLADA support (requires OpenCOLLADA)." ON) OPTION(IFCXML_SUPPORT "Build IfcParse with ifcXML support (requires libxml2)." ON) OPTION(ENABLE_BUILD_OPTIMIZATIONS "Enable certain compiler and linker optimizations on RelWithDebInfo and Release builds." OFF) From 95881c6258827931d84e4b927fad8937dd9a86ce Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jun 2022 10:21:50 +1000 Subject: [PATCH 216/243] Fix embarrassing geolocation bug for showing / setting grid north --- src/blenderbim/Makefile | 2 +- .../blenderbim/tool/georeference.py | 2 +- src/blenderbim/test/tool/test_georeference.py | 24 +++++++++++++++++++ .../ifcopenshell/util/geolocation.py | 2 +- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index 84b93701ca..fc2c644ea3 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -115,7 +115,7 @@ endif cp -r blenderbim/* dist/blenderbim/ # Provides IfcOpenShell Python functionality - cd dist/working && wget https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-$(PYNUMBER)-v0.7.0-1b1fd1e-$(PLATFORM)64.zip + cd dist/working && wget https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-$(PYNUMBER)-v0.7.0-cb8cfd7-$(PLATFORM)64.zip cd dist/working && unzip ifcopenshell-python* cp -r dist/working/ifcopenshell dist/blenderbim/libs/site/packages/ diff --git a/src/blenderbim/blenderbim/tool/georeference.py b/src/blenderbim/blenderbim/tool/georeference.py index 5a22ab5c42..2c92eb2729 100644 --- a/src/blenderbim/blenderbim/tool/georeference.py +++ b/src/blenderbim/blenderbim/tool/georeference.py @@ -242,7 +242,7 @@ class Georeference(blenderbim.core.tool.Georeference): @classmethod def set_ifc_grid_north(cls): - x_angle = -bpy.context.scene.sun_pos_properties.north_offset + x_angle = bpy.context.scene.sun_pos_properties.north_offset props = bpy.context.scene.BIMGeoreferenceProperties props.map_conversion.get("XAxisAbscissa").string_value = str(cos(x_angle)) props.map_conversion.get("XAxisOrdinate").string_value = str(sin(x_angle)) diff --git a/src/blenderbim/test/tool/test_georeference.py b/src/blenderbim/test/tool/test_georeference.py index 028ab83d44..4dd8661e25 100644 --- a/src/blenderbim/test/tool/test_georeference.py +++ b/src/blenderbim/test/tool/test_georeference.py @@ -334,9 +334,21 @@ class TestSetIfcGridNorth(NewFile): subject.set_ifc_grid_north() assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == 1.0 assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == 0.0 + bpy.context.scene.sun_pos_properties.north_offset = math.radians(-45) + subject.set_ifc_grid_north() + assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == 0.707 + assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == -0.707 bpy.context.scene.sun_pos_properties.north_offset = math.radians(45) subject.set_ifc_grid_north() assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == 0.707 + assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == 0.707 + bpy.context.scene.sun_pos_properties.north_offset = math.radians(135) + subject.set_ifc_grid_north() + assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == -0.707 + assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == 0.707 + bpy.context.scene.sun_pos_properties.north_offset = math.radians(-135) + subject.set_ifc_grid_north() + assert round(float(props.map_conversion.get("XAxisAbscissa").string_value), 3) == -0.707 assert round(float(props.map_conversion.get("XAxisOrdinate").string_value), 3) == -0.707 @@ -354,4 +366,16 @@ class TestSetBlenderGridNorth(NewFile): props.map_conversion.get("XAxisAbscissa").string_value = "0.707" props.map_conversion.get("XAxisOrdinate").string_value = "-0.707" subject.set_blender_grid_north() + assert round(math.degrees(bpy.context.scene.sun_pos_properties.north_offset)) == -45 + props.map_conversion.get("XAxisAbscissa").string_value = "0.707" + props.map_conversion.get("XAxisOrdinate").string_value = "0.707" + subject.set_blender_grid_north() assert round(math.degrees(bpy.context.scene.sun_pos_properties.north_offset)) == 45 + props.map_conversion.get("XAxisAbscissa").string_value = "-0.707" + props.map_conversion.get("XAxisOrdinate").string_value = "0.707" + subject.set_blender_grid_north() + assert round(math.degrees(bpy.context.scene.sun_pos_properties.north_offset)) == 135 + props.map_conversion.get("XAxisAbscissa").string_value = "-0.707" + props.map_conversion.get("XAxisOrdinate").string_value = "-0.707" + subject.set_blender_grid_north() + assert round(math.degrees(bpy.context.scene.sun_pos_properties.north_offset)) == -135 diff --git a/src/ifcopenshell-python/ifcopenshell/util/geolocation.py b/src/ifcopenshell-python/ifcopenshell/util/geolocation.py index 2018f51702..85a23b6120 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/geolocation.py +++ b/src/ifcopenshell-python/ifcopenshell/util/geolocation.py @@ -114,7 +114,7 @@ def global2local(matrix, eastings, northings, orthogonal_height, x_axis_abscissa # Used for converting the X and Y vectors of the X Axis in IFC grid north geolocation def xaxis2angle(x, y): - return math.degrees(math.atan2(y, x)) + return math.degrees(math.atan2(y, x)) * -1 # Used for converting the X and Y vectors of the Y Axis in IFC true north geolocation From b5e27e4cedf2461b6f5580493f701e2205158a45 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jun 2022 15:30:18 +1000 Subject: [PATCH 217/243] Fix bug where transaction history was polluted when starting a new file in an existing Blender session --- src/blenderbim/blenderbim/bim/ifc.py | 3 +++ src/blenderbim/blenderbim/bim/import_ifc.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index fad719ac59..ca5b6438ae 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -65,6 +65,9 @@ class IfcStore: IfcStore.pset_template_file = None IfcStore.library_path = "" IfcStore.library_file = None + IfcStore.last_transaction = "" + IfcStore.history = [] + IfcStore.future = [] IfcStore.schema_identifiers = ["IFC4", "IFC2X3"] @staticmethod diff --git a/src/blenderbim/blenderbim/bim/import_ifc.py b/src/blenderbim/blenderbim/bim/import_ifc.py index ea1fe8e890..6098132078 100644 --- a/src/blenderbim/blenderbim/bim/import_ifc.py +++ b/src/blenderbim/blenderbim/bim/import_ifc.py @@ -314,6 +314,8 @@ class IfcImporter: if self.ifc_import_settings.has_filter: self.elements = self.ifc_import_settings.elements + if isinstance(self.elements, set): + self.elements = list(self.elements) # TODO: enable filtering for annotations self.annotations = set(self.file.by_type("IfcAnnotation")) else: From f451c51451481d6fe08ec147e0200ff5889c7005 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jun 2022 18:59:20 +1000 Subject: [PATCH 218/243] Fix bug where some appended assets created invalid graphs due to poor purging --- src/blenderbim/docs/users/dealing_with_large_models.rst | 2 +- .../ifcopenshell/api/project/append_asset.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blenderbim/docs/users/dealing_with_large_models.rst b/src/blenderbim/docs/users/dealing_with_large_models.rst index a6a44b83a6..346969d959 100644 --- a/src/blenderbim/docs/users/dealing_with_large_models.rst +++ b/src/blenderbim/docs/users/dealing_with_large_models.rst @@ -105,7 +105,7 @@ the boolean, or create a **Blacklist Filter Mode** to exclude the element from import. These types of errors are usually problems with external software (i.e. not -internationally by the end-user) and typically do not affect critical geometry +intentionally by the end-user) and typically do not affect critical geometry and can be worked around. Fully resolving boolean issues is a complex case by case topic and not covered diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py b/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py index 3f73d3c07a..828335c0d6 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py @@ -109,7 +109,7 @@ class Usecase: for inverse in self.file.get_inverse(added_context): ifcopenshell.util.element.replace_attribute(inverse, added_context, equivalent_existing_context) for added_context in added_contexts: - ifcopenshell.util.element.remove_deep(self.file, added_context) + ifcopenshell.util.element.remove_deep2(self.file, added_context) element_type = ifcopenshell.util.element.get_type(self.settings["element"]) if element_type: From 15661536dc1f9a40526420dcd859a97ec9ca6665 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jun 2022 19:01:32 +1000 Subject: [PATCH 219/243] Extract elements recipe now handles spatial elements as an upgrade to the ExtractSpaces recipe --- .../ifcpatch/recipes/ExtractElements.py | 32 ++++++++----- .../ifcpatch/recipes/ExtractSpaces.py | 48 ------------------- 2 files changed, 20 insertions(+), 60 deletions(-) delete mode 100644 src/ifcpatch/ifcpatch/recipes/ExtractSpaces.py diff --git a/src/ifcpatch/ifcpatch/recipes/ExtractElements.py b/src/ifcpatch/ifcpatch/recipes/ExtractElements.py index 69c5b56173..ac35c43117 100644 --- a/src/ifcpatch/ifcpatch/recipes/ExtractElements.py +++ b/src/ifcpatch/ifcpatch/recipes/ExtractElements.py @@ -50,23 +50,31 @@ class Patcher: self.file = self.new def add_element(self, element): - new_element = ifcopenshell.api.run("project.append_asset", self.new, library=self.file, element=element) + new_element = self.append_asset(element) if not new_element: return - for rel in element.ContainedInStructure: + for rel in getattr(element, "ContainedInStructure", []): spatial_element = rel.RelatingStructure - new_spatial_element = self.new.add(spatial_element) + new_spatial_element = self.append_asset(spatial_element) self.contained_ins.setdefault(spatial_element.GlobalId, set()).add(new_element) - self.add_spatial_tree(spatial_element, new_spatial_element) - for rel in element.Decomposes: - ifcopenshell.api.run("project.append_asset", self.new, library=self.file, element=rel.RelatingObject) - self.aggregates.setdefault(rel.RelatingObject.GlobalId, set()).add(new_element) + self.add_decomposition_parents(spatial_element, new_spatial_element) + self.add_decomposition_parents(element, new_element) - def add_spatial_tree(self, spatial_element, new_spatial_element): - for rel in spatial_element.Decomposes: - new = self.new.add(rel.RelatingObject) - self.aggregates.setdefault(rel.RelatingObject.GlobalId, set()).add(new_spatial_element) - self.add_spatial_tree(rel.RelatingObject, new) + def append_asset(self, element): + try: + return self.new.by_guid(element.GlobalId) + except: + pass + if element.is_a("IfcProject"): + return self.new.add(element) + return ifcopenshell.api.run("project.append_asset", self.new, library=self.file, element=element) + + def add_decomposition_parents(self, element, new_element): + for rel in element.Decomposes: + parent = rel.RelatingObject + new_parent = self.append_asset(parent) + self.aggregates.setdefault(parent.GlobalId, set()).add(new_element) + self.add_decomposition_parents(parent, new_parent) def create_spatial_tree(self): for relating_structure, related_elements in self.contained_ins.items(): diff --git a/src/ifcpatch/ifcpatch/recipes/ExtractSpaces.py b/src/ifcpatch/ifcpatch/recipes/ExtractSpaces.py deleted file mode 100644 index ca5077e401..0000000000 --- a/src/ifcpatch/ifcpatch/recipes/ExtractSpaces.py +++ /dev/null @@ -1,48 +0,0 @@ - -# IfcPatch - IFC patching utiliy -# Copyright (C) 2020, 2021 Dion Moult -# -# This file is part of IfcPatch. -# -# IfcPatch is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# IfcPatch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with IfcPatch. If not, see . - -import ifcopenshell -import ifcopenshell.util.selector - - -class Patcher: - def __init__(self, src, file, logger, args=None): - self.src = src - self.file = file - self.logger = logger - self.args = args - - def patch(self): - self.contained_ins = {} - self.aggregates = {} - self.new = ifcopenshell.file(schema=self.file.wrapped_data.schema) - self.owner_history = None - for owner_history in self.file.by_type("IfcOwnerHistory"): - self.owner_history = self.new.add(owner_history) - break - selector = ifcopenshell.util.selector.Selector() - for space in selector.parse(self.file, ".IfcSpace"): - self.add_element(space) - self.file = self.new - - def add_element(self, element): - self.new.add(element) - for rel_aggregate in element.Decomposes: - self.add_element(rel_aggregate.RelatingObject) - self.new.add(rel_aggregate) From 97bf4e3d0dea1417a3f1719ef3b4e7db4a0bc5f3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jun 2022 21:46:24 +1000 Subject: [PATCH 220/243] Fix bug where object class selection didn't work with linked models --- src/blenderbim/blenderbim/bim/module/search/operator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/search/operator.py b/src/blenderbim/blenderbim/bim/module/search/operator.py index cd4365289e..5004f5c7fa 100644 --- a/src/blenderbim/blenderbim/bim/module/search/operator.py +++ b/src/blenderbim/blenderbim/bim/module/search/operator.py @@ -84,7 +84,7 @@ class SelectIfcClass(bpy.types.Operator): def execute(self, context): self.file = IfcStore.get_file() for obj in context.visible_objects: - if not obj.BIMObjectProperties.ifc_definition_id: + if not obj.BIMObjectProperties.ifc_definition_id or obj.is_library_indirect: continue element = self.file.by_id(obj.BIMObjectProperties.ifc_definition_id) if does_keyword_exist(self.ifc_class, element.is_a(), context): From 8311983d5ec423cf71898e368b8e088c76707e1c Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 9 Jun 2022 21:47:35 +1000 Subject: [PATCH 221/243] You can now toggle visibility and wireframe modes of linked models and fix bug where links with the same name were not unique --- .../blenderbim/bim/module/project/operator.py | 34 ++++++++++++++++--- .../blenderbim/bim/module/project/prop.py | 5 ++- .../blenderbim/bim/module/project/ui.py | 18 ++++++++-- src/blenderbim/blenderbim/tool/project.py | 2 +- 4 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index 71160e86e4..f311ff50d5 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -708,7 +708,7 @@ class LoadLink(bpy.types.Operator): continue bpy.data.scenes[0].collection.children.link(child) link = context.scene.BIMProjectProperties.links.get(filepath) - link.collection_name = child.name + link.collection = child link.is_loaded = True return {"FINISHED"} @@ -718,11 +718,20 @@ class ToggleLinkVisibility(bpy.types.Operator): bl_label = "Toggle Link Visibility" bl_options = {"REGISTER", "UNDO"} bl_description = "Toggle visibility between SOLID and WIREFRAME" - collection_name: bpy.props.StringProperty() + link: bpy.props.StringProperty() + mode: bpy.props.StringProperty() def execute(self, context): - collection_name = self.collection_name - objs = filter(lambda obj: "IfcOpeningElement" not in obj.name, bpy.data.collections[collection_name].all_objects) + props = context.scene.BIMProjectProperties + link = props.links.get(self.link) + if self.mode == "WIREFRAME": + self.toggle_wireframe(link) + elif self.mode == "VISIBLE": + self.toggle_visibility(link) + return {"FINISHED"} + + def toggle_wireframe(self, link): + objs = filter(lambda obj: "IfcOpeningElement" not in obj.name, link.collection.all_objects) for i,obj in enumerate(objs): if i == 0: if obj.display_type == "WIRE": @@ -730,7 +739,22 @@ class ToggleLinkVisibility(bpy.types.Operator): else: display_type = "WIRE" obj.display_type = display_type - return {"FINISHED"} + link.is_wireframe = display_type == "WIRE" + + def toggle_visibility(self, link): + queue = [bpy.context.view_layer.layer_collection] + layer_collection = None + + while queue: + layer = queue.pop() + if layer.collection == link.collection: + layer_collection = layer + break + queue.extend(list(layer.children)) + + if layer_collection: + layer_collection.exclude = not layer_collection.exclude + link.is_hidden = layer_collection.exclude class ExportIFC(bpy.types.Operator): diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 8ef662c481..3fe5e5077f 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -23,6 +23,7 @@ from blenderbim.bim.ifc import IfcStore from blenderbim.bim.prop import StrProperty from bpy.types import PropertyGroup from bpy.props import ( + PointerProperty, BoolProperty, CollectionProperty, EnumProperty, @@ -91,8 +92,10 @@ class FilterCategory(PropertyGroup): class Link(PropertyGroup): name: StringProperty(name="Name") - collection_name: StringProperty(name="Collection Name") + collection: PointerProperty(name="Collection", type=bpy.types.Collection) is_loaded: BoolProperty(name="Is Loaded", default=False) + is_wireframe: BoolProperty(name="Is Wireframe", default=False) + is_hidden: BoolProperty(name="Is Hidden", default=False) class BIMProjectProperties(PropertyGroup): diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index 0940bbc69f..c8be2f2933 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -302,8 +302,22 @@ class BIM_UL_links(UIList): row = layout.row(align=True) if item.is_loaded: row.label(text=item.name) - op = row.operator("bim.toggle_link_visibility", text="", icon="HIDE_OFF") - op.collection_name = item.collection_name + op = row.operator( + "bim.toggle_link_visibility", + text="", + icon="CUBE" if item.is_wireframe else "MESH_CUBE", + emboss=False, + ) + op.link = item.name + op.mode = "WIREFRAME" + op = row.operator( + "bim.toggle_link_visibility", + text="", + icon="HIDE_ON" if item.is_hidden else "HIDE_OFF", + emboss=False, + ) + op.link = item.name + op.mode = "VISIBLE" op = row.operator("bim.unload_link", text="", icon="UNLINKED") op.filepath = item.name else: diff --git a/src/blenderbim/blenderbim/tool/project.py b/src/blenderbim/blenderbim/tool/project.py index 0670af4d6c..850c7aab24 100644 --- a/src/blenderbim/blenderbim/tool/project.py +++ b/src/blenderbim/blenderbim/tool/project.py @@ -102,7 +102,7 @@ class Project(blenderbim.core.tool.Project): while queue: layer = queue.pop() - if layer.name == collection.name: + if layer.collection == collection: layer_collection = layer break queue.extend(list(layer.children)) From 0a30d1a438f12c812542826c7e08f9b03a307420 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 10 Jun 2022 11:00:45 +0200 Subject: [PATCH 222/243] #2213 Read precision from rep context in create_shape() --- src/ifcwrap/IfcGeomWrapper.i | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 23f902fd8c..5993baedcf 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -483,6 +483,22 @@ struct ShapeRTTI : public boost::static_visitor } } + // Read precision for found representation's context + auto context = ifc_representation->ContextOfItems(); + if (context->as()) { + context = context->as()->ParentContext(); + } + if (context->as() && context->as()->Precision()) { + double p = *context->as()->Precision() + * kernel.getValue(IfcGeom::Kernel::GV_PRECISION_FACTOR); + p *= kernel.getValue(IfcGeom::Kernel::GV_LENGTH_UNIT); + if (p < 1.e-7) { + Logger::Message(Logger::LOG_WARNING, "Precision lower than 0.0000001 meter not enforced"); + p = 1.e-7; + } + kernel.setValue(IfcGeom::Kernel::GV_PRECISION, p); + } + if (!ifc_representation) { if (reps->size()) { // Return a random representation From f1e3d9c5735631e07433021f361df983e0fcffc7 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 10 Jun 2022 11:07:40 +0200 Subject: [PATCH 223/243] typename typename typename typename typename typename --- src/ifcwrap/IfcGeomWrapper.i | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 5993baedcf..a04b14e470 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -485,11 +485,11 @@ struct ShapeRTTI : public boost::static_visitor // Read precision for found representation's context auto context = ifc_representation->ContextOfItems(); - if (context->as()) { - context = context->as()->ParentContext(); + if (context->as()) { + context = context->as()->ParentContext(); } - if (context->as() && context->as()->Precision()) { - double p = *context->as()->Precision() + if (context->as() && context->as()->Precision()) { + double p = *context->as()->Precision() * kernel.getValue(IfcGeom::Kernel::GV_PRECISION_FACTOR); p *= kernel.getValue(IfcGeom::Kernel::GV_LENGTH_UNIT); if (p < 1.e-7) { From ce3a6bba0f47cf5185ec21ede53e7ae19dd4c85f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 10 Jun 2022 19:03:13 +1000 Subject: [PATCH 224/243] Fix bug where MS Project files with optional weekdays failed to import --- src/ifc4d/ifc4d/msp2ifc.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ifc4d/ifc4d/msp2ifc.py b/src/ifc4d/ifc4d/msp2ifc.py index 8a4a7d4587..470bcc435b 100644 --- a/src/ifc4d/ifc4d/msp2ifc.py +++ b/src/ifc4d/ifc4d/msp2ifc.py @@ -110,7 +110,9 @@ class MSP2Ifc: for calendar in project.find("pr:Calendars", self.ns).findall("pr:Calendar", self.ns): calendar_id = calendar.find("pr:UID", self.ns).text week_days = [] - for week_day in calendar.find("pr:WeekDays", self.ns).findall("pr:WeekDay", self.ns): + week_days_element = calendar.find("pr:WeekDays", self.ns) + week_day_elements = week_days_element.findall("pr:WeekDay", self.ns) if week_days_element else [] + for week_day in week_day_elements: working_times = [] if week_day.find("pr:WorkingTimes", self.ns): for working_time in week_day.find("pr:WorkingTimes", self.ns).findall("pr:WorkingTime", self.ns): From bf3eb68b67f4de67385f3d4ad39a2ef791cb1372 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 10 Jun 2022 11:19:46 +0200 Subject: [PATCH 225/243] template template template template template --- src/ifcwrap/IfcGeomWrapper.i | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index a04b14e470..0889b465d5 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -485,11 +485,11 @@ struct ShapeRTTI : public boost::static_visitor // Read precision for found representation's context auto context = ifc_representation->ContextOfItems(); - if (context->as()) { - context = context->as()->ParentContext(); + if (context->template as()) { + context = context->template as()->ParentContext(); } - if (context->as() && context->as()->Precision()) { - double p = *context->as()->Precision() + if (context->template as() && context->template as()->Precision()) { + double p = *context->template as()->Precision() * kernel.getValue(IfcGeom::Kernel::GV_PRECISION_FACTOR); p *= kernel.getValue(IfcGeom::Kernel::GV_LENGTH_UNIT); if (p < 1.e-7) { From 0f85890c729a449689a96b94e78f3c70697f14c7 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 11 Jun 2022 15:48:04 +0200 Subject: [PATCH 226/243] #2237 workaround for openings on extrusions of compound profiles --- src/ifcgeom/IfcGeomFunctions.cpp | 163 +++++++++++++++---------- src/ifcgeom/IfcGeomShapes.cpp | 20 +-- src/ifcgeom_schema_agnostic/Kernel.cpp | 18 ++- src/ifcgeom_schema_agnostic/Kernel.h | 4 + 4 files changed, 122 insertions(+), 83 deletions(-) diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index e9519d88c6..119075745b 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -1375,78 +1375,115 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, std::sort(opening_vector.begin(), opening_vector.end(), opening_sorter()); // Iterate over the shapes of the IfcProduct - for ( IfcGeom::IfcRepresentationShapeItems::const_iterator it3 = entity_shapes.begin(); it3 != entity_shapes.end(); ++ it3 ) { + for (IfcGeom::IfcRepresentationShapeItems::const_iterator it3 = entity_shapes.begin(); it3 != entity_shapes.end(); ++it3) { - bool is_manifold = Kernel::is_manifold(it3->Shape()); + TopoDS_Compound C; + BRep_Builder B; + B.MakeCompound(C); + TopoDS_Shape combined_result; - if (!is_manifold) { - Logger::Warning("Non-manifold first operand"); + std::list parts; + + bool is_multiple = it3->Shape().ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(it3->Shape()).More() && util::is_nested_compound_of_solid(it3->Shape()); + + if (is_multiple) { + TopoDS_Iterator sit(it3->Shape()); + for (; sit.More(); sit.Next()) { + parts.push_back(sit.Value()); + } + } else { + parts.push_back(it3->Shape()); } - for (int as_shell = 0; as_shell < 2; ++as_shell) { + for (auto& entity_part : parts) { - TopoDS_Shape entity_shape_solid; - TopoDS_Shape entity_shape_unlocated; - if (as_shell) { - entity_shape_unlocated = it3->Shape(); + + bool is_manifold = Kernel::is_manifold(entity_part); + + if (!is_manifold) { + Logger::Warning("Non-manifold first operand"); + } + + TopoDS_Shape entity_part_result; + + for (int as_shell = 0; as_shell < 2; ++as_shell) { + + TopoDS_Shape entity_shape_solid; + TopoDS_Shape entity_shape_unlocated; + if (as_shell) { + entity_shape_unlocated = entity_part; + } else { + entity_shape_unlocated = ensure_fit_for_subtraction(entity_part, entity_shape_solid); + } + const gp_GTrsf& entity_shape_gtrsf = it3->Placement(); + if (entity_shape_gtrsf.Form() == gp_Other) { + Logger::Message(Logger::LOG_WARNING, "Applying non uniform transformation to:", entity); + } + TopoDS_Shape entity_shape = apply_transformation(entity_shape_unlocated, entity_shape_gtrsf); + + TopoDS_Shape result = entity_shape; + + auto it = opening_vector.begin(); + auto jt = it; + + for (;; ++it) { + if (it == opening_vector.end() || jt->first / it->first > 10.) { + + TopTools_ListOfShape opening_list; + for (auto kt = jt; kt < it; ++kt) { + opening_list.Append(kt->second); + } + + TopoDS_Shape intermediate_result; + if (boolean_operation(result, opening_list, BOPAlgo_CUT, intermediate_result)) { + result = intermediate_result; + } else { + Logger::Message(Logger::LOG_ERROR, "Opening subtraction failed for " + boost::lexical_cast(std::distance(jt, it)) + " openings", entity); + } + + jt = it; + } + + if (it == opening_vector.end()) { + break; + } + } + + int result_n_faces = count(result, TopAbs_FACE); + + if (!is_manifold && as_shell == 0 && result_n_faces == 0) { + // If we have a non-manifold first operand and our first attempt + // on a Solid-Solid subtraction yielded a empty result (no faces) + // or a strange result, a larger number of faces with the original input + // included. Then retry (another iteration on the for-loop on as-shell) + // where we keep the first operand as is (a compound of faces probably, + // unless --orient-shells was activated in which case we're already lost). + if (!is_manifold) { + Logger::Warning("Retrying boolean operation on individual faces"); + } + continue; + } + + entity_part_result = result; + + // For manifold first operands we're not even going to try if processing + // as loose faces gives a better result. + break; + } + + if (is_multiple) { + B.Add(C, entity_part_result); } else { - entity_shape_unlocated = ensure_fit_for_subtraction(it3->Shape(), entity_shape_solid); - } - const gp_GTrsf& entity_shape_gtrsf = it3->Placement(); - if (entity_shape_gtrsf.Form() == gp_Other) { - Logger::Message(Logger::LOG_WARNING, "Applying non uniform transformation to:", entity); - } - TopoDS_Shape entity_shape = apply_transformation(entity_shape_unlocated, entity_shape_gtrsf); - - TopoDS_Shape result = entity_shape; - - auto it = opening_vector.begin(); - auto jt = it; - - for (;; ++it) { - if (it == opening_vector.end() || jt->first / it->first > 10.) { - - TopTools_ListOfShape opening_list; - for (auto kt = jt; kt < it; ++kt) { - opening_list.Append(kt->second); - } - - TopoDS_Shape intermediate_result; - if (boolean_operation(result, opening_list, BOPAlgo_CUT, intermediate_result)) { - result = intermediate_result; - } else { - Logger::Message(Logger::LOG_ERROR, "Opening subtraction failed for " + boost::lexical_cast(std::distance(jt, it)) + " openings", entity); - } - - jt = it; - } - - if (it == opening_vector.end()) { - break; - } + combined_result = entity_part_result; } - int result_n_faces = count(result, TopAbs_FACE); - - if (!is_manifold && as_shell == 0 && result_n_faces == 0) { - // If we have a non-manifold first operand and our first attempt - // on a Solid-Solid subtraction yielded a empty result (no faces) - // or a strange result, a larger number of faces with the original input - // included. Then retry (another iteration on the for-loop on as-shell) - // where we keep the first operand as is (a compound of faces probably, - // unless --orient-shells was activated in which case we're already lost). - if (!is_manifold) { - Logger::Warning("Retrying boolean operation on individual faces"); - } - continue; - } - - cut_shapes.push_back(IfcGeom::IfcRepresentationShapeItem(it3->ItemId(), result, it3->StylePtr())); - - // For manifold first operands we're not even going to try if processing - // as loose faces gives a better result. - break; } + + if (is_multiple) { + combined_result = C; + } + + cut_shapes.push_back(IfcGeom::IfcRepresentationShapeItem(it3->ItemId(), combined_result, it3->StylePtr())); } return true; } diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index 8399a41708..73ba45f0b8 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -541,24 +541,6 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, Ifc return true; } -namespace { - bool is_nested_compound_of_solid(const TopoDS_Shape& s, int depth=0) { - if (s.ShapeType() == TopAbs_COMPOUND) { - TopoDS_Iterator it(s); - for (; it.More(); it.Next()) { - if (!is_nested_compound_of_solid(it.Value(), depth + 1)) { - return false; - } - } - return true; - } else if (s.ShapeType() == TopAbs_SOLID) { - return depth > 0; - } else { - return false; - } - } -} - bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { TopoDS_Shape s1; @@ -715,7 +697,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape bool valid_result; - if (s1.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s1).More() && is_nested_compound_of_solid(s1)) { + if (s1.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s1).More() && util::is_nested_compound_of_solid(s1)) { TopoDS_Compound C; BRep_Builder B; B.MakeCompound(C); diff --git a/src/ifcgeom_schema_agnostic/Kernel.cpp b/src/ifcgeom_schema_agnostic/Kernel.cpp index 1de3d8e335..57a27be97c 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.cpp +++ b/src/ifcgeom_schema_agnostic/Kernel.cpp @@ -353,4 +353,20 @@ bool IfcGeom::Kernel::is_manifold(const TopoDS_Shape& a) { return true; } -} \ No newline at end of file +} + +bool IfcGeom::util::is_nested_compound_of_solid(const TopoDS_Shape& s, int depth) { + if (s.ShapeType() == TopAbs_COMPOUND) { + TopoDS_Iterator it(s); + for (; it.More(); it.Next()) { + if (!is_nested_compound_of_solid(it.Value(), depth + 1)) { + return false; + } + } + return true; + } else if (s.ShapeType() == TopAbs_SOLID) { + return depth > 0; + } else { + return false; + } +} diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h index 9b962d2278..4485143a89 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.h +++ b/src/ifcgeom_schema_agnostic/Kernel.h @@ -130,6 +130,10 @@ namespace IfcGeom { KernelFactoryImplementation& kernel_implementations(); } + + namespace util { + bool is_nested_compound_of_solid(const TopoDS_Shape& s, int depth = 0); + } } #endif \ No newline at end of file From d6f8448c835b64d1b66dccd3d9a1deb2a0c065e3 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 14 Jun 2022 15:02:54 +0200 Subject: [PATCH 227/243] IfcGeom refactoring pt. 1 --- src/ifcgeom/IfcAdvancedBrep.cpp | 99 + src/ifcgeom/IfcAnnotationFillArea.cpp | 119 ++ src/ifcgeom/IfcArbitraryClosedProfileDef.cpp | 106 + src/ifcgeom/IfcArbitraryOpenProfileDef.cpp | 87 + .../IfcArbitraryProfileDefWithVoids.cpp | 117 ++ src/ifcgeom/IfcAxis1Placement.cpp | 83 + src/ifcgeom/IfcAxis2Placement2D.cpp | 91 + src/ifcgeom/IfcAxis2Placement3D.cpp | 114 + ...urves.cpp => IfcBSplineCurveWithKnots.cpp} | 86 - src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp | 146 ++ src/ifcgeom/IfcBlock.cpp | 106 + src/ifcgeom/IfcBooleanResult.cpp | 298 +++ src/ifcgeom/IfcBoundingBox.cpp | 105 + src/ifcgeom/IfcCShapeProfileDef.cpp | 123 ++ src/ifcgeom/IfcCartesianPoint.cpp | 78 + .../IfcCartesianTransformationOperator2D.cpp | 107 + ...sianTransformationOperator2DnonUniform.cpp | 107 + .../IfcCartesianTransformationOperator3D.cpp | 92 + ...sianTransformationOperator3DnonUniform.cpp | 98 + src/ifcgeom/IfcCenterLineProfileDef.cpp | 139 ++ src/ifcgeom/IfcCircle.cpp | 88 + src/ifcgeom/IfcCircleHollowProfileDef.cpp | 126 ++ src/ifcgeom/IfcCircleProfileDef.cpp | 120 ++ src/ifcgeom/IfcCompositeCurve.cpp | 238 +++ src/ifcgeom/IfcCompositeProfileDef.cpp | 120 ++ src/ifcgeom/IfcConnectedFaceSet.cpp | 180 ++ src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp | 133 ++ src/ifcgeom/IfcCsgSolid.cpp | 95 + src/ifcgeom/IfcCurveBoundedPlane.cpp | 130 ++ src/ifcgeom/IfcCylindricalSurface.cpp | 104 + src/ifcgeom/IfcDerivedProfileDef.cpp | 102 + src/ifcgeom/IfcDirection.cpp | 78 + src/ifcgeom/IfcEdge.cpp | 110 + src/ifcgeom/IfcEdgeCurve.cpp | 171 ++ src/ifcgeom/IfcEdgeLoop.cpp | 99 + src/ifcgeom/IfcEllipse.cpp | 101 + src/ifcgeom/IfcEllipseProfileDef.cpp | 128 ++ src/ifcgeom/IfcExtrudedAreaSolid.cpp | 165 ++ src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp | 195 ++ src/ifcgeom/IfcFace.cpp | 359 ++++ src/ifcgeom/IfcFaceBasedSurfaceModel.cpp | 106 + .../{IfcGeomFunctions.cpp => IfcGeom.cpp} | 841 +------- src/ifcgeom/IfcGeom.h | 19 +- src/ifcgeom/IfcGeomFaces.cpp | 1284 ------------ src/ifcgeom/IfcGeomHelpers.cpp | 476 ----- src/ifcgeom/IfcGeomShapes.cpp | 1864 ----------------- src/ifcgeom/IfcGeomWires.cpp | 1086 ---------- src/ifcgeom/IfcGeometricSet.cpp | 140 ++ src/ifcgeom/IfcHalfSpaceSolid.cpp | 104 + src/ifcgeom/IfcIShapeProfileDef.cpp | 138 ++ src/ifcgeom/IfcIndexedPolyCurve.cpp | 178 ++ src/ifcgeom/IfcLShapeProfileDef.cpp | 165 ++ src/ifcgeom/IfcLine.cpp | 77 + src/ifcgeom/IfcManifoldSolidBrep.cpp | 122 ++ src/ifcgeom/IfcMappedItem.cpp | 138 ++ src/ifcgeom/IfcObjectPlacement.cpp | 118 ++ src/ifcgeom/IfcOrientedEdge.cpp | 94 + src/ifcgeom/IfcPlane.cpp | 126 ++ src/ifcgeom/IfcPolyLoop.cpp | 133 ++ src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp | 125 ++ src/ifcgeom/IfcPolygonalFaceSet.cpp | 209 ++ src/ifcgeom/IfcPolyline.cpp | 125 ++ src/ifcgeom/IfcRectangleHollowProfileDef.cpp | 144 ++ src/ifcgeom/IfcRectangleProfileDef.cpp | 112 + src/ifcgeom/IfcRectangularPyramid.cpp | 113 + src/ifcgeom/IfcRectangularTrimmedSurface.cpp | 106 + src/ifcgeom/IfcRepresentation.cpp | 118 ++ src/ifcgeom/IfcRevolvedAreaSolid.cpp | 163 ++ src/ifcgeom/IfcRightCircularCone.cpp | 105 + src/ifcgeom/IfcRightCircularCylinder.cpp | 105 + src/ifcgeom/IfcRoundedRectangleProfileDef.cpp | 115 + src/ifcgeom/IfcShellBasedSurfaceModel.cpp | 107 + src/ifcgeom/IfcSphere.cpp | 104 + src/ifcgeom/IfcSphericalSurface.cpp | 104 + src/ifcgeom/IfcSubedge.cpp | 101 + src/ifcgeom/IfcSurfaceCurve.cpp | 75 + src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp | 209 ++ src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp | 124 ++ src/ifcgeom/IfcSurfaceOfRevolution.cpp | 123 ++ src/ifcgeom/IfcSweptDiskSolid.cpp | 189 ++ src/ifcgeom/IfcTShapeProfileDef.cpp | 179 ++ src/ifcgeom/IfcToroidalSurface.cpp | 104 + src/ifcgeom/IfcTrapeziumProfileDef.cpp | 123 ++ src/ifcgeom/IfcTriangulatedFaceSet.cpp | 132 ++ src/ifcgeom/IfcTrimmedCurve.cpp | 292 +++ src/ifcgeom/IfcUShapeProfileDef.cpp | 138 ++ src/ifcgeom/IfcVector.cpp | 75 + src/ifcgeom/IfcZShapeProfileDef.cpp | 129 ++ src/ifcgeom_schema_agnostic/Kernel.cpp | 50 + src/ifcgeom_schema_agnostic/Kernel.h | 50 + 90 files changed, 10675 insertions(+), 5625 deletions(-) create mode 100644 src/ifcgeom/IfcAdvancedBrep.cpp create mode 100644 src/ifcgeom/IfcAnnotationFillArea.cpp create mode 100644 src/ifcgeom/IfcArbitraryClosedProfileDef.cpp create mode 100644 src/ifcgeom/IfcArbitraryOpenProfileDef.cpp create mode 100644 src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp create mode 100644 src/ifcgeom/IfcAxis1Placement.cpp create mode 100644 src/ifcgeom/IfcAxis2Placement2D.cpp create mode 100644 src/ifcgeom/IfcAxis2Placement3D.cpp rename src/ifcgeom/{IfcGeomCurves.cpp => IfcBSplineCurveWithKnots.cpp} (63%) create mode 100644 src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp create mode 100644 src/ifcgeom/IfcBlock.cpp create mode 100644 src/ifcgeom/IfcBooleanResult.cpp create mode 100644 src/ifcgeom/IfcBoundingBox.cpp create mode 100644 src/ifcgeom/IfcCShapeProfileDef.cpp create mode 100644 src/ifcgeom/IfcCartesianPoint.cpp create mode 100644 src/ifcgeom/IfcCartesianTransformationOperator2D.cpp create mode 100644 src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp create mode 100644 src/ifcgeom/IfcCartesianTransformationOperator3D.cpp create mode 100644 src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp create mode 100644 src/ifcgeom/IfcCenterLineProfileDef.cpp create mode 100644 src/ifcgeom/IfcCircle.cpp create mode 100644 src/ifcgeom/IfcCircleHollowProfileDef.cpp create mode 100644 src/ifcgeom/IfcCircleProfileDef.cpp create mode 100644 src/ifcgeom/IfcCompositeCurve.cpp create mode 100644 src/ifcgeom/IfcCompositeProfileDef.cpp create mode 100644 src/ifcgeom/IfcConnectedFaceSet.cpp create mode 100644 src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp create mode 100644 src/ifcgeom/IfcCsgSolid.cpp create mode 100644 src/ifcgeom/IfcCurveBoundedPlane.cpp create mode 100644 src/ifcgeom/IfcCylindricalSurface.cpp create mode 100644 src/ifcgeom/IfcDerivedProfileDef.cpp create mode 100644 src/ifcgeom/IfcDirection.cpp create mode 100644 src/ifcgeom/IfcEdge.cpp create mode 100644 src/ifcgeom/IfcEdgeCurve.cpp create mode 100644 src/ifcgeom/IfcEdgeLoop.cpp create mode 100644 src/ifcgeom/IfcEllipse.cpp create mode 100644 src/ifcgeom/IfcEllipseProfileDef.cpp create mode 100644 src/ifcgeom/IfcExtrudedAreaSolid.cpp create mode 100644 src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp create mode 100644 src/ifcgeom/IfcFace.cpp create mode 100644 src/ifcgeom/IfcFaceBasedSurfaceModel.cpp rename src/ifcgeom/{IfcGeomFunctions.cpp => IfcGeom.cpp} (87%) delete mode 100644 src/ifcgeom/IfcGeomFaces.cpp delete mode 100644 src/ifcgeom/IfcGeomHelpers.cpp delete mode 100644 src/ifcgeom/IfcGeomShapes.cpp delete mode 100644 src/ifcgeom/IfcGeomWires.cpp create mode 100644 src/ifcgeom/IfcGeometricSet.cpp create mode 100644 src/ifcgeom/IfcHalfSpaceSolid.cpp create mode 100644 src/ifcgeom/IfcIShapeProfileDef.cpp create mode 100644 src/ifcgeom/IfcIndexedPolyCurve.cpp create mode 100644 src/ifcgeom/IfcLShapeProfileDef.cpp create mode 100644 src/ifcgeom/IfcLine.cpp create mode 100644 src/ifcgeom/IfcManifoldSolidBrep.cpp create mode 100644 src/ifcgeom/IfcMappedItem.cpp create mode 100644 src/ifcgeom/IfcObjectPlacement.cpp create mode 100644 src/ifcgeom/IfcOrientedEdge.cpp create mode 100644 src/ifcgeom/IfcPlane.cpp create mode 100644 src/ifcgeom/IfcPolyLoop.cpp create mode 100644 src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp create mode 100644 src/ifcgeom/IfcPolygonalFaceSet.cpp create mode 100644 src/ifcgeom/IfcPolyline.cpp create mode 100644 src/ifcgeom/IfcRectangleHollowProfileDef.cpp create mode 100644 src/ifcgeom/IfcRectangleProfileDef.cpp create mode 100644 src/ifcgeom/IfcRectangularPyramid.cpp create mode 100644 src/ifcgeom/IfcRectangularTrimmedSurface.cpp create mode 100644 src/ifcgeom/IfcRepresentation.cpp create mode 100644 src/ifcgeom/IfcRevolvedAreaSolid.cpp create mode 100644 src/ifcgeom/IfcRightCircularCone.cpp create mode 100644 src/ifcgeom/IfcRightCircularCylinder.cpp create mode 100644 src/ifcgeom/IfcRoundedRectangleProfileDef.cpp create mode 100644 src/ifcgeom/IfcShellBasedSurfaceModel.cpp create mode 100644 src/ifcgeom/IfcSphere.cpp create mode 100644 src/ifcgeom/IfcSphericalSurface.cpp create mode 100644 src/ifcgeom/IfcSubedge.cpp create mode 100644 src/ifcgeom/IfcSurfaceCurve.cpp create mode 100644 src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp create mode 100644 src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp create mode 100644 src/ifcgeom/IfcSurfaceOfRevolution.cpp create mode 100644 src/ifcgeom/IfcSweptDiskSolid.cpp create mode 100644 src/ifcgeom/IfcTShapeProfileDef.cpp create mode 100644 src/ifcgeom/IfcToroidalSurface.cpp create mode 100644 src/ifcgeom/IfcTrapeziumProfileDef.cpp create mode 100644 src/ifcgeom/IfcTriangulatedFaceSet.cpp create mode 100644 src/ifcgeom/IfcTrimmedCurve.cpp create mode 100644 src/ifcgeom/IfcUShapeProfileDef.cpp create mode 100644 src/ifcgeom/IfcVector.cpp create mode 100644 src/ifcgeom/IfcZShapeProfileDef.cpp diff --git a/src/ifcgeom/IfcAdvancedBrep.cpp b/src/ifcgeom/IfcAdvancedBrep.cpp new file mode 100644 index 0000000000..50f5ff6fe1 --- /dev/null +++ b/src/ifcgeom/IfcAdvancedBrep.cpp @@ -0,0 +1,99 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcAdvancedBrep + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcAdvancedBrep* l, TopoDS_Shape& shape) { + return convert(l->Outer(), shape); +} + +#endif diff --git a/src/ifcgeom/IfcAnnotationFillArea.cpp b/src/ifcgeom/IfcAnnotationFillArea.cpp new file mode 100644 index 0000000000..1f51c569a7 --- /dev/null +++ b/src/ifcgeom/IfcAnnotationFillArea.cpp @@ -0,0 +1,119 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcAnnotationFillArea* l, TopoDS_Shape& face) { + TopoDS_Wire outer_boundary; + if (!convert_wire(l->OuterBoundary(), outer_boundary)) { + return false; + } + + assert_closed_wire(outer_boundary); + + BRepBuilderAPI_MakeFace mf(outer_boundary); + + if (l->InnerBoundaries()) { + IfcSchema::IfcCurve::list::ptr inner_boundaries = *l->InnerBoundaries(); + + for(IfcSchema::IfcCurve::list::it it = inner_boundaries->begin(); it != inner_boundaries->end(); ++it) { + TopoDS_Wire hole; + if (convert_wire(*it, hole)) { + assert_closed_wire(hole); + mf.Add(hole); + } + } + } + + ShapeFix_Shape sfs(mf.Face()); + sfs.Perform(); + face = sfs.Shape(); + + return true; +} diff --git a/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp b/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp new file mode 100644 index 0000000000..cdf21ae827 --- /dev/null +++ b/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp @@ -0,0 +1,106 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryClosedProfileDef* l, TopoDS_Shape& face) { + TopoDS_Wire wire; + if (!convert_wire(l->OuterCurve(), wire)) { + return false; + } + + assert_closed_wire(wire); + + TopoDS_Compound f; + bool success = convert_wire_to_faces(wire, f); + if (success) { + face = f; + } + return success; +} diff --git a/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp b/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp new file mode 100644 index 0000000000..3ee45d751e --- /dev/null +++ b/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp @@ -0,0 +1,87 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryOpenProfileDef* l, TopoDS_Wire& result) { + return convert_wire(l->Curve(), result); +} diff --git a/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp b/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp new file mode 100644 index 0000000000..8b771de210 --- /dev/null +++ b/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp @@ -0,0 +1,117 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryProfileDefWithVoids* l, TopoDS_Shape& face) { + TopoDS_Wire profile; + if (!convert_wire(l->OuterCurve(), profile)) { + return false; + } + + assert_closed_wire(profile); + + BRepBuilderAPI_MakeFace mf(profile); + + IfcSchema::IfcCurve::list::ptr voids = l->InnerCurves(); + + for(IfcSchema::IfcCurve::list::it it = voids->begin(); it != voids->end(); ++it) { + TopoDS_Wire hole; + if (convert_wire(*it, hole)) { + assert_closed_wire(hole); + mf.Add(hole); + } + } + + ShapeFix_Shape sfs(mf.Face()); + sfs.Perform(); + face = sfs.Shape(); + + return true; +} diff --git a/src/ifcgeom/IfcAxis1Placement.cpp b/src/ifcgeom/IfcAxis1Placement.cpp new file mode 100644 index 0000000000..7d02d0fbad --- /dev/null +++ b/src/ifcgeom/IfcAxis1Placement.cpp @@ -0,0 +1,83 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis1Placement* l, gp_Ax1& ax) { + IN_CACHE(IfcAxis1Placement,l,gp_Ax1,ax) + gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1); + + if (!l->Location()->declaration().is("IfcCartesianPoint")) { + // only applicable to 4x3 rc2 + Logger::Error("Not implemented", l->Location()); + return false; + } + + IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(),o); + if ( l->Axis() ) IfcGeom::Kernel::convert(l->Axis(), axis); + ax = gp_Ax1(o, axis); + CACHE(IfcAxis1Placement,l,ax) + return true; +} diff --git a/src/ifcgeom/IfcAxis2Placement2D.cpp b/src/ifcgeom/IfcAxis2Placement2D.cpp new file mode 100644 index 0000000000..0eb968d287 --- /dev/null +++ b/src/ifcgeom/IfcAxis2Placement2D.cpp @@ -0,0 +1,91 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement2D* l, gp_Trsf2d& trsf) { + IN_CACHE(IfcAxis2Placement2D,l,gp_Trsf2d,trsf) + gp_Pnt P; gp_Dir V (1,0,0); + + if (!l->Location()->declaration().is("IfcCartesianPoint")) { + // only applicable to 4x3 rc2 + Logger::Error("Not implemented", l->Location()); + return false; + } + + IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(),P); + if (l->RefDirection()) { + IfcGeom::Kernel::convert(l->RefDirection(), V); + } + + gp_Ax2d axis(gp_Pnt2d(P.X(),P.Y()), gp_Dir2d(V.X(),V.Y())); + + if (!axis_equal(axis, gp_Ax2d(), getValue(GV_PRECISION))) { + trsf.SetTransformation(axis, gp_Ax2d()); + } + + CACHE(IfcAxis2Placement2D,l,trsf) + return true; +} diff --git a/src/ifcgeom/IfcAxis2Placement3D.cpp b/src/ifcgeom/IfcAxis2Placement3D.cpp new file mode 100644 index 0000000000..fd9abd2779 --- /dev/null +++ b/src/ifcgeom/IfcAxis2Placement3D.cpp @@ -0,0 +1,114 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement3D* l, gp_Trsf& trsf) { + IN_CACHE(IfcAxis2Placement3D, l, gp_Trsf, trsf) + + gp_Pnt o; + gp_Dir axis(0, 0, 1); + gp_Dir refDirection; + + if (!l->Location()->declaration().is("IfcCartesianPoint")) { + // only applicable to 4x3 rc2 + Logger::Error("Not implemented", l->Location()); + return false; + } + + IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(), o); + const bool hasAxis = !!l->Axis(); + const bool hasRef = !!l->RefDirection(); + + if (hasAxis != hasRef) { + Logger::Warning("Axis and RefDirection should be specified together", l); + } + + if (hasAxis) { + IfcGeom::Kernel::convert(l->Axis(), axis); + } + + if (hasRef) { + IfcGeom::Kernel::convert(l->RefDirection(), refDirection); + } else { + if (!axis.IsParallel(gp::DX(), 1.e-5)) { + refDirection = gp::DX(); + } else { + refDirection = gp::DZ(); + } + gp_Vec Xvec = axis.Dot(refDirection) * axis; + gp_Vec Xaxis = refDirection.XYZ() - Xvec.XYZ(); + refDirection = Xaxis; + } + + gp_Ax3 ax3(o, axis, refDirection); + + if (!axis_equal(ax3, (gp_Ax3) gp::XOY(), getValue(GV_PRECISION))) { + trsf.SetTransformation(ax3, gp::XOY()); + } + + CACHE(IfcAxis2Placement3D,l,trsf) + return true; +} diff --git a/src/ifcgeom/IfcGeomCurves.cpp b/src/ifcgeom/IfcBSplineCurveWithKnots.cpp similarity index 63% rename from src/ifcgeom/IfcGeomCurves.cpp rename to src/ifcgeom/IfcBSplineCurveWithKnots.cpp index 92c14ce31c..aacbdcc484 100644 --- a/src/ifcgeom/IfcGeomCurves.cpp +++ b/src/ifcgeom/IfcBSplineCurveWithKnots.cpp @@ -17,14 +17,7 @@ * * ********************************************************************************/ -/******************************************************************************** - * * - * Implementations of the various conversion functions defined in mapping.i * - * * - ********************************************************************************/ - #include - #include #include #include @@ -41,7 +34,6 @@ #include #include #include - #include #include #include @@ -50,109 +42,31 @@ #include #include #include - #include #include #include #include #include #include - #include #include #include #include - #include #include #include #include #include - #include #include #include - #include - #include - #include "../ifcgeom/IfcGeom.h" - -#ifdef SCHEMA_HAS_IfcBSplineCurveWithKnots #include -#endif #define Kernel MAKE_TYPE_NAME(Kernel) -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircle* l, Handle(Geom_Curve)& curve) { - const double r = l->Radius() * getValue(GV_LENGTH_UNIT); - if ( r < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_ERROR, "Radius not greater than zero for:", l); - return false; - } - gp_Trsf trsf; - IfcSchema::IfcAxis2Placement* placement = l->Position(); - if (placement->as()) { - IfcGeom::Kernel::convert(placement->as(),trsf); - } else { - gp_Trsf2d trsf2d; - IfcGeom::Kernel::convert(placement->as(),trsf2d); - trsf = trsf2d; - } - gp_Ax2 ax = gp_Ax2().Transformed(trsf); - curve = new Geom_Circle(ax, r); - return true; -} -bool IfcGeom::Kernel::convert(const IfcSchema::IfcEllipse* l, Handle(Geom_Curve)& curve) { - double x = l->SemiAxis1() * getValue(GV_LENGTH_UNIT); - double y = l->SemiAxis2() * getValue(GV_LENGTH_UNIT); - if (x < ALMOST_ZERO || y < ALMOST_ZERO) { - Logger::Message(Logger::LOG_ERROR, "Radius not greater than zero for:", l); - return false; - } - // Open Cascade does not allow ellipses of which the minor radius - // is greater than the major radius. Hence, in this case, the - // ellipse is rotated. Note that special care needs to be taken - // when creating a trimmed curve off of an ellipse like this. - const bool rotated = y > x; - gp_Trsf trsf; - - IfcSchema::IfcAxis2Placement* placement = l->Position(); - if (placement->as()) { - IfcGeom::Kernel::convert(placement->as(), trsf); - } else { - gp_Trsf2d trsf2d; - IfcGeom::Kernel::convert(placement->as(), trsf2d); - trsf = trsf2d; - } - - gp_Ax2 ax = gp_Ax2(); - if (rotated) { - ax.Rotate(ax.Axis(), M_PI / 2.); - std::swap(x, y); - } - ax.Transform(trsf); - curve = new Geom_Ellipse(ax, x, y); - return true; -} - -#ifdef SCHEMA_HAS_IfcSurfaceCurve -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceCurve* sc, Handle(Geom_Curve)& curve) { - // @todo take into account PCurves. - return convert_curve(sc->Curve3D(), curve); -} -#endif - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcLine* l, Handle(Geom_Curve)& curve) { - gp_Pnt pnt;gp_Vec vec; - convert(l->Pnt(),pnt); - convert(l->Dir(),vec); - // See note at IfcGeomWires.cpp:237 - curve = new Geom_Line(pnt,vec); - return true; -} - #ifdef SCHEMA_HAS_IfcBSplineCurveWithKnots bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineCurveWithKnots* l, Handle(Geom_Curve)& curve) { diff --git a/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp b/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp new file mode 100644 index 0000000000..70db779d46 --- /dev/null +++ b/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp @@ -0,0 +1,146 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcBSplineSurfaceWithKnots + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, TopoDS_Shape& face) { + boost::shared_ptr< aggregate_of_aggregate_of > cps = l->ControlPointsList(); + std::vector uknots = l->UKnots(); + std::vector vknots = l->VKnots(); + std::vector umults = l->UMultiplicities(); + std::vector vmults = l->VMultiplicities(); + + TColgp_Array2OfPnt Poles (0, (int)cps->size() - 1, 0, (int)(*cps->begin()).size() - 1); + TColStd_Array1OfReal UKnots(0, (int)uknots.size() - 1); + TColStd_Array1OfReal VKnots(0, (int)vknots.size() - 1); + TColStd_Array1OfInteger UMults(0, (int)umults.size() - 1); + TColStd_Array1OfInteger VMults(0, (int)vmults.size() - 1); + Standard_Integer UDegree = l->UDegree(); + Standard_Integer VDegree = l->VDegree(); + + int i = 0, j; + for (aggregate_of_aggregate_of::outer_it it = cps->begin(); it != cps->end(); ++it, ++i) { + j = 0; + for (aggregate_of_aggregate_of::inner_it jt = (*it).begin(); jt != (*it).end(); ++jt, ++j) { + IfcSchema::IfcCartesianPoint* p = *jt; + gp_Pnt pnt; + if (!convert(p, pnt)) return false; + Poles(i, j) = pnt; + } + } + i = 0; + for (std::vector::const_iterator it = uknots.begin(); it != uknots.end(); ++it, ++i) { + UKnots(i) = *it; + } + i = 0; + for (std::vector::const_iterator it = vknots.begin(); it != vknots.end(); ++it, ++i) { + VKnots(i) = *it; + } + i = 0; + for (std::vector::const_iterator it = umults.begin(); it != umults.end(); ++it, ++i) { + UMults(i) = *it; + } + i = 0; + for (std::vector::const_iterator it = vmults.begin(); it != vmults.end(); ++it, ++i) { + VMults(i) = *it; + } + Handle_Geom_Surface surf = new Geom_BSplineSurface(Poles, UKnots, VKnots, UMults, VMults, UDegree, VDegree); + +#if OCC_VERSION_HEX < 0x60502 + face = BRepBuilderAPI_MakeFace(surf); +#else + face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); +#endif + + return true; +} + +#endif diff --git a/src/ifcgeom/IfcBlock.cpp b/src/ifcgeom/IfcBlock.cpp new file mode 100644 index 0000000000..5a546fe9d5 --- /dev/null +++ b/src/ifcgeom/IfcBlock.cpp @@ -0,0 +1,106 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcBlock* l, TopoDS_Shape& shape) { + const double dx = l->XLength() * getValue(GV_LENGTH_UNIT); + const double dy = l->YLength() * getValue(GV_LENGTH_UNIT); + const double dz = l->ZLength() * getValue(GV_LENGTH_UNIT); + + BRepPrimAPI_MakeBox builder(dx, dy, dz); + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(),trsf); + + // IfcCsgPrimitive3D.Position has unit scale factor + shape = builder.Solid().Moved(trsf); + + return true; +} diff --git a/src/ifcgeom/IfcBooleanResult.cpp b/src/ifcgeom/IfcBooleanResult.cpp new file mode 100644 index 0000000000..72351e6c24 --- /dev/null +++ b/src/ifcgeom/IfcBooleanResult.cpp @@ -0,0 +1,298 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { + + TopoDS_Shape s1; + IfcRepresentationShapeItems items1; + TopoDS_Wire boundary_wire; + IfcSchema::IfcBooleanOperand* operand1 = l->FirstOperand(); + IfcSchema::IfcBooleanOperand* operand2 = l->SecondOperand(); + bool has_halfspace_operand = false; + + BOPAlgo_Operation occ_op; + + const IfcSchema::IfcBooleanOperator::Value op = l->Operator(); + if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) { + occ_op = BOPAlgo_CUT; + } else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_INTERSECTION) { + occ_op = BOPAlgo_COMMON; + } else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION) { + occ_op = BOPAlgo_FUSE; + } else { + return false; + } + + std::vector second_operands; + second_operands.push_back(operand2); + + if (occ_op == BOPAlgo_CUT) { + int n_half_space_operands = 0; + bool process_as_list = true; + while (true) { + auto res1 = operand1->as(); + if (res1 && res1->SecondOperand()->as() && ++n_half_space_operands > 8) { + // There is something peculiar about many half space subtraction operands that OCCT does not like. + // Often these are used to create a semi-curved arch, as is the case in 693. Supplying all these + // operands at once apparently leads to too many edge-edge interference checks. + process_as_list = false; + break; + } + if (res1) { + if (res1->Operator() == op) { + operand1 = res1->FirstOperand(); + second_operands.push_back(res1->SecondOperand()); + } else { + process_as_list = false; + break; + } + } else { + break; + } + } + + if (!process_as_list) { + operand1 = l->FirstOperand(); + second_operands = { operand2 }; + } + } + + if ( shape_type(operand1) == ST_SHAPELIST ) { + if (!(convert_shapes(operand1, items1) && flatten_shape_list(items1, s1, true))) { + return false; + } + } else if ( shape_type(operand1) == ST_SHAPE ) { + if ( ! convert_shape(operand1, s1) ) { + return false; + } + { TopoDS_Solid temp_solid; + s1 = ensure_fit_for_subtraction(s1, temp_solid); } + } else { + Logger::Message(Logger::LOG_ERROR, "Invalid representation item for boolean operation", operand1); + return false; + } + + if (getValue(GV_DISABLE_BOOLEAN_RESULT) > 0.0) { + shape = s1; + return true; + } + + const double first_operand_volume = shape_volume(s1); + if (first_operand_volume <= ALMOST_ZERO) { + Logger::Message(Logger::LOG_WARNING, "Empty solid for:", l->FirstOperand()); + } + + TopTools_ListOfShape second_operand_shapes; + + for (auto& op2 : second_operands) { + TopoDS_Shape s2; + + bool shape2_processed = false; + + bool is_halfspace = op2->declaration().is(IfcSchema::IfcHalfSpaceSolid::Class()); + bool is_unbounded_halfspace = is_halfspace && !op2->declaration().is(IfcSchema::IfcPolygonalBoundedHalfSpace::Class()); + has_halfspace_operand |= is_halfspace; + + { + if (shape_type(op2) == ST_SHAPELIST) { + IfcRepresentationShapeItems items2; + shape2_processed = convert_shapes(op2, items2) && flatten_shape_list(items2, s2, true); + } else if (shape_type(op2) == ST_SHAPE) { + shape2_processed = convert_shape(op2, s2); + if (shape2_processed) { + TopoDS_Solid temp_solid; + s2 = ensure_fit_for_subtraction(s2, temp_solid); + } + } else { + Logger::Message(Logger::LOG_ERROR, "Invalid representation item for boolean operation", op2); + } + } + + if (is_unbounded_halfspace) { + TopoDS_Shape temp; + double d; + if (fit_halfspace(s1, s2, temp, d)) { + if (d < getValue(GV_PRECISION)) { + Logger::Message(Logger::LOG_WARNING, "Halfspace subtraction yields unchanged volume:", l); + continue; + } else { + s2 = temp; + } + } + } + + if (!shape2_processed) { + Logger::Message(Logger::LOG_ERROR, "Failed to convert SecondOperand:", op2); + continue; + } + + if (op2->declaration().is(IfcSchema::IfcHalfSpaceSolid::Class())) { + const double second_operand_volume = shape_volume(s2); + if (second_operand_volume <= ALMOST_ZERO) { + Logger::Message(Logger::LOG_WARNING, "Empty solid for:", op2); + } + } + + second_operand_shapes.Append(s2); + } + + /* + // TK: A little debugging trick to output both operands for visual inspection + + BRep_Builder builder; + TopoDS_Compound compound; + builder.MakeCompound(compound); + builder.Add(compound, s1); + for (const auto& s2 : second_operand_shapes) { + builder.Add(compound, s2); + } + shape = compound; + return true; + */ + +#if OCC_VERSION_HEX < 0x60900 + // @todo: this currently does not compile anymore, do we still need this? + bool valid_result = boolean_operation(s1, s2, occ_op, shape); +#else + + bool valid_result; + + if (s1.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s1).More() && util::is_nested_compound_of_solid(s1)) { + TopoDS_Compound C; + BRep_Builder B; + B.MakeCompound(C); + TopoDS_Iterator it(s1); + valid_result = true; + for (; it.More(); it.Next()) { + TopoDS_Shape part; + if (boolean_operation(it.Value(), second_operand_shapes, occ_op, part)) { + B.Add(C, part); + } else { + valid_result = false; + } + } + shape = C; + } else { + valid_result = boolean_operation(s1, second_operand_shapes, occ_op, shape); + } + +#endif + + if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) { + // In case of a subtraction, a check on volume is performed. + if (valid_result) { + const double volume_after_subtraction = shape_volume(shape); + if ( ALMOST_THE_SAME(first_operand_volume,volume_after_subtraction) ) + Logger::Message(Logger::LOG_WARNING,"Subtraction yields unchanged volume:",l); + } else { + Logger::Message(Logger::LOG_ERROR,"Failed to process subtraction:",l); + shape = s1; + } + // NB: After issuing error the first operand is returned! + return true; + } else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION && !valid_result) { + BRep_Builder B; + TopoDS_Compound C; + B.MakeCompound(C); + B.Add(C, s1); + TopTools_ListIteratorOfListOfShape it(second_operand_shapes); + for (; it.More(); it.Next()) { + B.Add(C, it.Value()); + } + Logger::Message(Logger::LOG_ERROR, "Failed to process union, creating compound:", l); + shape = C; + return true; + } else { + return valid_result; + } + return false; +} diff --git a/src/ifcgeom/IfcBoundingBox.cpp b/src/ifcgeom/IfcBoundingBox.cpp new file mode 100644 index 0000000000..435a450560 --- /dev/null +++ b/src/ifcgeom/IfcBoundingBox.cpp @@ -0,0 +1,105 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcBoundingBox* l, TopoDS_Shape& shape) { + const double dx = l->XDim() * getValue(GV_LENGTH_UNIT); + const double dy = l->YDim() * getValue(GV_LENGTH_UNIT); + const double dz = l->ZDim() * getValue(GV_LENGTH_UNIT); + + gp_Pnt corner; + IfcGeom::Kernel::convert(l->Corner(), corner); + BRepPrimAPI_MakeBox builder(corner, dx, dy, dz); + + shape = builder.Solid(); + + return true; +} diff --git a/src/ifcgeom/IfcCShapeProfileDef.cpp b/src/ifcgeom/IfcCShapeProfileDef.cpp new file mode 100644 index 0000000000..e0c0a43207 --- /dev/null +++ b/src/ifcgeom/IfcCShapeProfileDef.cpp @@ -0,0 +1,123 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCShapeProfileDef* l, TopoDS_Shape& face) { + const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double x = l->Width() / 2.0f * getValue(GV_LENGTH_UNIT); + const double d1 = l->WallThickness() * getValue(GV_LENGTH_UNIT); + const double d2 = l->Girth() * getValue(GV_LENGTH_UNIT); + bool doFillet = !!l->InternalFilletRadius(); + double f1 = 0; + double f2 = 0; + if ( doFillet ) { + f1 = *l->InternalFilletRadius() * getValue(GV_LENGTH_UNIT); + f2 = f1 + d1; + } + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[24] = {-x,-y,x,-y,x,-y+d2,x-d1,-y+d2,x-d1,-y+d1,-x+d1,-y+d1,-x+d1,y-d1,x-d1,y-d1,x-d1,y-d2,x,y-d2,x,y,-x,y}; + int fillets[8] = {0,1,4,5,6,7,10,11}; + double radii[8] = {f2,f2,f1,f1,f1,f1,f2,f2}; + return profile_helper(12,coords,doFillet ? 8 : 0,fillets,radii,trsf2d,face); +} diff --git a/src/ifcgeom/IfcCartesianPoint.cpp b/src/ifcgeom/IfcCartesianPoint.cpp new file mode 100644 index 0000000000..a571752b0c --- /dev/null +++ b/src/ifcgeom/IfcCartesianPoint.cpp @@ -0,0 +1,78 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianPoint* l, gp_Pnt& point) { + IN_CACHE(IfcCartesianPoint,l,gp_Pnt,point) + std::vector xyz = l->Coordinates(); + point = gp_Pnt( + xyz.size() ? (xyz[0]*getValue(GV_LENGTH_UNIT)) : 0.0f, + xyz.size() > 1 ? (xyz[1]*getValue(GV_LENGTH_UNIT)) : 0.0f, + xyz.size() > 2 ? (xyz[2]*getValue(GV_LENGTH_UNIT)) : 0.0f + ); + CACHE(IfcCartesianPoint,l,point) + return true; +} diff --git a/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp b/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp new file mode 100644 index 0000000000..5056701f7c --- /dev/null +++ b/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp @@ -0,0 +1,107 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator2D* l, gp_Trsf2d& trsf) { + IN_CACHE(IfcCartesianTransformationOperator2D,l,gp_Trsf2d,trsf) + + gp_Pnt origin; + gp_Dir axis1 (1.,0.,0.); + gp_Dir axis2 (0.,1.,0.); + + IfcGeom::Kernel::convert(l->LocalOrigin(),origin); + if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); + + const gp_Pnt2d origin2d(origin.X(), origin.Y()); + const gp_Dir2d axis12d(axis1.X(), axis1.Y()); + const gp_Dir2d axis22d(axis2.X(), axis2.Y()); + + // A better match to represent the IfcCartesianTransformationOperator2D would + // be the gp_Ax22d, but to my knowledge no easy way exists to convert it into + // a gp_Trsf2d. Easiest would probably be to simply update the underlying + // gp_Mat2d directly. + + const gp_Ax2d ax2d (origin2d, axis12d); + trsf.SetTransformation(ax2d); + + if ( ax2d.Direction().Rotated(M_PI / 2.).Dot(axis22d) < 0. ) { + gp_Trsf2d mirror; mirror.SetMirror(ax2d); + trsf.Multiply(mirror); + } + + trsf.Invert(); + if (l->Scale() && !ALMOST_THE_SAME(*l->Scale(), 1.)) { + trsf.SetScaleFactor(*l->Scale()); + } + + if (is_identity(trsf, getValue(GV_PRECISION))) { + trsf = gp_Trsf2d(); + } + + CACHE(IfcCartesianTransformationOperator2D,l,trsf) + return true; +} diff --git a/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp b/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp new file mode 100644 index 0000000000..c2716a831c --- /dev/null +++ b/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp @@ -0,0 +1,107 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator2DnonUniform* l, gp_GTrsf2d& gtrsf) { + IN_CACHE(IfcCartesianTransformationOperator2DnonUniform,l,gp_GTrsf2d,gtrsf) + + gp_Trsf2d trsf; + gp_Pnt origin; + gp_Dir axis1 (1.,0.,0.); + gp_Dir axis2 (0.,1.,0.); + + IfcGeom::Kernel::convert(l->LocalOrigin(),origin); + if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); + + const gp_Pnt2d origin2d(origin.X(), origin.Y()); + const gp_Dir2d axis12d(axis1.X(), axis1.Y()); + const gp_Dir2d axis22d(axis2.X(), axis2.Y()); + + const gp_Ax2d ax2d (origin2d, axis12d); + trsf.SetTransformation(ax2d); + + if ( ax2d.Direction().Rotated(M_PI / 2.).Dot(axis22d) < 0. ) { + gp_Trsf2d mirror; mirror.SetMirror(ax2d); + trsf.Multiply(mirror); + } + + trsf.Invert(); + + const double scale1 = l->Scale().get_value_or(1.); + const double scale2 = l->Scale2().get_value_or(scale1); + gtrsf = gp_GTrsf2d(); + gtrsf.SetValue(1,1,scale1); + gtrsf.SetValue(2,2,scale2); + gtrsf.Multiply(trsf); + + if (is_identity(gtrsf, getValue(GV_PRECISION))) { + gtrsf = gp_GTrsf2d(); + } + + CACHE(IfcCartesianTransformationOperator2DnonUniform,l,gtrsf) + return true; +} diff --git a/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp b/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp new file mode 100644 index 0000000000..8319a7090f --- /dev/null +++ b/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp @@ -0,0 +1,92 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator3D* l, gp_Trsf& trsf) { + IN_CACHE(IfcCartesianTransformationOperator3D,l,gp_Trsf,trsf) + gp_Pnt origin; + IfcGeom::Kernel::convert(l->LocalOrigin(),origin); + gp_Dir axis1 (1.,0.,0.); + gp_Dir axis2 (0.,1.,0.); + gp_Dir axis3 (0.,0.,1.); + if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); + if ( l->Axis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); + gp_Ax3 ax3 (origin,axis3,axis1); + if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); + + if (!axis_equal(ax3, (gp_Ax3) gp::XOY(), getValue(GV_PRECISION))) { + trsf.SetTransformation(ax3); + trsf.Invert(); + } + + if (l->Scale() && !ALMOST_THE_SAME(*l->Scale(), 1.)) { + trsf.SetScaleFactor(*l->Scale()); + } + + CACHE(IfcCartesianTransformationOperator3D,l,trsf) + return true; +} diff --git a/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp b/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp new file mode 100644 index 0000000000..75e8f9f28d --- /dev/null +++ b/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp @@ -0,0 +1,98 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator3DnonUniform* l, gp_GTrsf& gtrsf) { + IN_CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gp_GTrsf,gtrsf) + gp_Trsf trsf; + gp_Pnt origin; + IfcGeom::Kernel::convert(l->LocalOrigin(),origin); + gp_Dir axis1 (1.,0.,0.); + gp_Dir axis2 (0.,1.,0.); + gp_Dir axis3 (0.,0.,1.); + if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); + if ( l->Axis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); + gp_Ax3 ax3 (origin,axis3,axis1); + if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); + trsf.SetTransformation(ax3); + trsf.Invert(); + const double scale1 = l->Scale().get_value_or(1.); + const double scale2 = l->Scale2().get_value_or(scale1); + const double scale3 = l->Scale3().get_value_or(scale1); + gtrsf = gp_GTrsf(); + gtrsf.SetValue(1,1,scale1); + gtrsf.SetValue(2,2,scale2); + gtrsf.SetValue(3,3,scale3); + gtrsf.PreMultiply(trsf); + + if (is_identity(gtrsf, getValue(GV_PRECISION))) { + gtrsf = gp_GTrsf(); + } + + CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gtrsf) + return true; +} diff --git a/src/ifcgeom/IfcCenterLineProfileDef.cpp b/src/ifcgeom/IfcCenterLineProfileDef.cpp new file mode 100644 index 0000000000..688137d268 --- /dev/null +++ b/src/ifcgeom/IfcCenterLineProfileDef.cpp @@ -0,0 +1,139 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCenterLineProfileDef* l, TopoDS_Shape& face) { + const double d = l->Thickness() * getValue(GV_LENGTH_UNIT) / 2.; + + TopoDS_Wire wire; + if (!convert_wire(l->Curve(), wire)) return false; + + // BRepOffsetAPI_MakeOffset insists on creating circular arc + // segments for joining the curves that constitute the center + // line. This is probably not in accordance with the IFC spec. + // Although it does not specify a method to join segments + // explicitly, it does dictate 'a constant thickness along the + // curve'. Therefore for simple singular wires a quick + // alternative is provided that uses a straight join. + + TopExp_Explorer exp(wire, TopAbs_EDGE); + TopoDS_Edge edge = TopoDS::Edge(exp.Current()); + exp.Next(); + + if (!exp.More()) { + double u1, u2; + Handle(Geom_Curve) curve = BRep_Tool::Curve(edge, u1, u2); + + Handle(Geom_TrimmedCurve) trim = new Geom_TrimmedCurve(curve, u1, u2); + + Handle(Geom_OffsetCurve) c1 = new Geom_OffsetCurve(trim, d, gp::DZ()); + Handle(Geom_OffsetCurve) c2 = new Geom_OffsetCurve(trim, -d, gp::DZ()); + + gp_Pnt c1a, c1b, c2a, c2b; + c1->D0(c1->FirstParameter(), c1a); + c1->D0(c1->LastParameter(), c1b); + c2->D0(c2->FirstParameter(), c2a); + c2->D0(c2->LastParameter(), c2b); + + BRepBuilderAPI_MakeWire mw; + mw.Add(BRepBuilderAPI_MakeEdge(c1)); + mw.Add(BRepBuilderAPI_MakeEdge(c1a, c2a)); + mw.Add(BRepBuilderAPI_MakeEdge(c2)); + mw.Add(BRepBuilderAPI_MakeEdge(c2b, c1b)); + + face = BRepBuilderAPI_MakeFace(mw.Wire()); + } else { + BRepOffsetAPI_MakeOffset offset(BRepBuilderAPI_MakeFace(gp_Pln(gp::Origin(), gp::DZ()))); + offset.AddWire(wire); + offset.Perform(d); + face = BRepBuilderAPI_MakeFace(TopoDS::Wire(offset)); + } + return true; +} diff --git a/src/ifcgeom/IfcCircle.cpp b/src/ifcgeom/IfcCircle.cpp new file mode 100644 index 0000000000..fdb933e30a --- /dev/null +++ b/src/ifcgeom/IfcCircle.cpp @@ -0,0 +1,88 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircle* l, Handle(Geom_Curve)& curve) { + const double r = l->Radius() * getValue(GV_LENGTH_UNIT); + if ( r < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_ERROR, "Radius not greater than zero for:", l); + return false; + } + gp_Trsf trsf; + IfcSchema::IfcAxis2Placement* placement = l->Position(); + if (placement->as()) { + IfcGeom::Kernel::convert(placement->as(),trsf); + } else { + gp_Trsf2d trsf2d; + IfcGeom::Kernel::convert(placement->as(),trsf2d); + trsf = trsf2d; + } + gp_Ax2 ax = gp_Ax2().Transformed(trsf); + curve = new Geom_Circle(ax, r); + return true; +} diff --git a/src/ifcgeom/IfcCircleHollowProfileDef.cpp b/src/ifcgeom/IfcCircleHollowProfileDef.cpp new file mode 100644 index 0000000000..b093d47801 --- /dev/null +++ b/src/ifcgeom/IfcCircleHollowProfileDef.cpp @@ -0,0 +1,126 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircleHollowProfileDef* l, TopoDS_Shape& face) { + const double r = l->Radius() * getValue(GV_LENGTH_UNIT); + const double t = l->WallThickness() * getValue(GV_LENGTH_UNIT); + + if ( r == 0.0f || t == 0.0f ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + gp_Ax2 ax = gp_Ax2().Transformed(trsf2d); + + BRepBuilderAPI_MakeWire outer; + Handle(Geom_Circle) outerCircle = new Geom_Circle(ax, r); + outer.Add(BRepBuilderAPI_MakeEdge(outerCircle)); + BRepBuilderAPI_MakeFace mf(outer.Wire(), false); + + BRepBuilderAPI_MakeWire inner; + Handle(Geom_Circle) innerCirlce = new Geom_Circle(ax, r-t); + inner.Add(BRepBuilderAPI_MakeEdge(innerCirlce)); + mf.Add(inner); + + ShapeFix_Shape sfs(mf.Face()); + sfs.Perform(); + face = TopoDS::Face(sfs.Shape()); + return true; +} diff --git a/src/ifcgeom/IfcCircleProfileDef.cpp b/src/ifcgeom/IfcCircleProfileDef.cpp new file mode 100644 index 0000000000..c1d415f49e --- /dev/null +++ b/src/ifcgeom/IfcCircleProfileDef.cpp @@ -0,0 +1,120 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircleProfileDef* l, TopoDS_Shape& face) { + const double r = l->Radius() * getValue(GV_LENGTH_UNIT); + if ( r == 0.0f ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + gp_Ax2 ax = gp_Ax2().Transformed(trsf2d); + + + Handle(Geom_Circle) circle = new Geom_Circle(ax, r); + TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(circle); + + BRepBuilderAPI_MakeWire w; + w.Add(edge); + + TopoDS_Face f; + bool success = convert_wire_to_face(w, f); + if (success) face = f; + return success; +} diff --git a/src/ifcgeom/IfcCompositeCurve.cpp b/src/ifcgeom/IfcCompositeCurve.cpp new file mode 100644 index 0000000000..432e6dcda4 --- /dev/null +++ b/src/ifcgeom/IfcCompositeCurve.cpp @@ -0,0 +1,238 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#include "../ifcgeom_schema_agnostic/wire_builder.h" + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeCurve* l, TopoDS_Wire& wire) { + if ( getValue(GV_PLANEANGLE_UNIT)<0 ) { + Logger::Message(Logger::LOG_WARNING,"Creating a composite curve without unit information:",l); + + // Temporarily pretend we do have unit information + setValue(GV_PLANEANGLE_UNIT,1.0); + + bool succes_radians = false; + bool succes_degrees = false; + bool use_radians = false; + bool use_degrees = false; + + // First try radians + TopoDS_Wire wire_radians, wire_degrees; + try { + succes_radians = IfcGeom::Kernel::convert(l,wire_radians); + } catch (const std::exception& e) { + Logger::Notice(e); + } catch (const Standard_Failure& e) { + if (e.GetMessageString() && strlen(e.GetMessageString())) { + Logger::Notice(e.GetMessageString()); + } else { + Logger::Notice("Unknown error using radians"); + } + } catch (...) { + Logger::Notice("Unknown error using radians"); + } + + // Now try degrees + setValue(GV_PLANEANGLE_UNIT,0.0174532925199433); + try { + succes_degrees = IfcGeom::Kernel::convert(l,wire_degrees); + } catch (const std::exception& e) { + Logger::Notice(e); + } catch (const Standard_Failure& e) { + if (e.GetMessageString() && strlen(e.GetMessageString())) { + Logger::Notice(e.GetMessageString()); + } else { + Logger::Notice("Unknown error using degrees"); + } + } catch (...) { + Logger::Notice("Unknown error using degrees"); + } + + // Restore to unknown unit state + setValue(GV_PLANEANGLE_UNIT,-1.0); + + if ( succes_degrees && ! succes_radians ) { + use_degrees = true; + } else if ( succes_radians && ! succes_degrees ) { + use_radians = true; + } else if ( succes_radians && succes_degrees ) { + if ( wire_degrees.Closed() && ! wire_radians.Closed() ) { + use_degrees = true; + } else if ( wire_radians.Closed() && ! wire_degrees.Closed() ) { + use_radians = true; + } else { + // No heuristic left to prefer the one over the other, + // apparently both variants are equally successful. + // The curve might be composed of only straight segments. + // Let's go with the wire created using radians as that + // at least is a SI unit. + use_radians = true; + } + } + + if ( use_radians ) { + Logger::Message(Logger::LOG_NOTICE,"Used radians to create composite curve"); + wire = wire_radians; + } else if ( use_degrees ) { + Logger::Message(Logger::LOG_NOTICE,"Used degrees to create composite curve"); + wire = wire_degrees; + } + + return use_radians || use_degrees; + } + +#ifdef SCHEMA_HAS_IfcSegment + // 4x3 + IfcSchema::IfcSegment::list::ptr segments = l->Segments(); +#else + IfcSchema::IfcCompositeCurveSegment::list::ptr segments = l->Segments(); +#endif + + TopTools_ListOfShape converted_segments; + + for (auto it = segments->begin(); it != segments->end(); ++it) { + + if (!(*it)->declaration().is(IfcSchema::IfcCompositeCurveSegment::Class())) { + Logger::Error("Not implemented", *it); + return false; + } + + IfcSchema::IfcCurve* curve = ((IfcSchema::IfcCompositeCurveSegment*)(*it))->ParentCurve(); + + // The type of ParentCurve is IfcCurve, but the documentation says: + // ParentCurve: The *bounded curve* which defines the geometry of the segment. + // At least let's exclude IfcLine as an infinite linear segment + // definitely does not make any sense. + TopoDS_Wire segment; + + if (curve->as()) { + Logger::Notice("Infinite IfcLine used as ParentCurve of segment, treating as a segment", *it); + Handle_Geom_Curve handle; + convert_curve(curve, handle); + double u0 = 0.0; + double u1 = curve->as()->Dir()->Magnitude() * getValue(GV_LENGTH_UNIT); + if (u1 < getValue(GV_PRECISION)) { + Logger::Warning("Segment length below tolerance", *it); + } + BRepBuilderAPI_MakeEdge me(handle, u0, u1); + if (me.IsDone()) { + BRep_Builder B; + B.MakeWire(segment); + B.Add(segment, me.Edge()); + } + } else if (!convert_wire(curve, segment)) { + const bool failed_on_purpose = curve->as() && !segment.IsNull(); + Logger::Message(failed_on_purpose ? Logger::LOG_WARNING : Logger::LOG_ERROR, "Failed to convert curve:", curve); + continue; + } + + if (!((IfcSchema::IfcCompositeCurveSegment*)(*it))->SameSense()) { + segment.Reverse(); + } + + ShapeFix_ShapeTolerance FTol; + FTol.SetTolerance(segment, getValue(GV_PRECISION), TopAbs_WIRE); + + converted_segments.Append(segment); + + } + + if (converted_segments.Extent() == 0) { + Logger::Message(Logger::LOG_ERROR, "No segment succesfully converted:", l); + return false; + } + + BRepBuilderAPI_MakeWire w; + TopoDS_Vertex wire_first_vertex, wire_last_vertex, edge_first_vertex, edge_last_vertex; + + TopTools_ListIteratorOfListOfShape it(converted_segments); + + aggregate_of_instance::ptr profile = l->data().getInverse(&IfcSchema::IfcProfileDef::Class(), -1); + const bool force_close = profile && profile->size() > 0; + + util::wire_builder bld(getValue(GV_PRECISION), l); + util::shape_pair_enumerate(it, bld, force_close); + wire = bld.wire(); + + return true; +} diff --git a/src/ifcgeom/IfcCompositeProfileDef.cpp b/src/ifcgeom/IfcCompositeProfileDef.cpp new file mode 100644 index 0000000000..3e4ba1de71 --- /dev/null +++ b/src/ifcgeom/IfcCompositeProfileDef.cpp @@ -0,0 +1,120 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeProfileDef* l, TopoDS_Shape& face) { + // BRepBuilderAPI_MakeFace mf; + + TopoDS_Compound compound; + BRep_Builder builder; + builder.MakeCompound(compound); + + IfcSchema::IfcProfileDef::list::ptr profiles = l->Profiles(); + //bool first = true; + for (IfcSchema::IfcProfileDef::list::it it = profiles->begin(); it != profiles->end(); ++it) { + TopoDS_Face f; + if (convert_face(*it, f)) { + builder.Add(compound, f); + /* TopExp_Explorer exp(f, TopAbs_WIRE); + for (; exp.More(); exp.Next()) { + const TopoDS_Wire& wire = TopoDS::Wire(exp.Current()); + if (first) { + mf.Init(BRepBuilderAPI_MakeFace(wire)); + } else { + mf.Add(wire); + } + first = false; + } */ + } + } + + face = compound; + return !face.IsNull(); +} diff --git a/src/ifcgeom/IfcConnectedFaceSet.cpp b/src/ifcgeom/IfcConnectedFaceSet.cpp new file mode 100644 index 0000000000..2b4c450683 --- /dev/null +++ b/src/ifcgeom/IfcConnectedFaceSet.cpp @@ -0,0 +1,180 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Shape& shape) { + std::unique_ptr> helper_scope; + + IfcSchema::IfcCartesianPoint::list::ptr points = IfcParse::traverse((IfcUtil::IfcBaseClass*) l)->as(); + std::vector points_(points->begin(), points->end()); + + IfcSchema::IfcPolyLoop::list::ptr loops = IfcParse::traverse((IfcUtil::IfcBaseClass*)l)->as(); + std::vector loops_(loops->begin(), loops->end()); + + helper_scope.reset(new faceset_helper<>( + this, + points_, + loops_, + l->declaration().is(IfcSchema::IfcClosedShell::Class()) + )); + + faceset_helper_ = helper_scope.get(); + + IfcSchema::IfcFace::list::ptr faces = l->CfsFaces(); + + double min_face_area = faceset_helper_ + ? (faceset_helper_->epsilon() * faceset_helper_->epsilon() / 20.) + : getValue(GV_MINIMAL_FACE_AREA); + + TopTools_ListOfShape face_list; + for (IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++it) { + bool success = false; + TopoDS_Face face; + + try { + success = convert_face(*it, face); + } catch (const std::exception& e) { + Logger::Error(e); + } catch (const Standard_Failure& e) { + if (e.GetMessageString() && strlen(e.GetMessageString())) { + Logger::Error(e.GetMessageString()); + } else { + Logger::Error("Unknown error creating face"); + } + } catch (...) { + Logger::Error("Unknown error creating face"); + } + + if (!success) { + Logger::Message(Logger::LOG_WARNING, "Failed to convert face:", (*it)); + continue; + } + + if (face.ShapeType() == TopAbs_COMPOUND) { + TopoDS_Iterator face_it(face, false); + for (; face_it.More(); face_it.Next()) { + if (face_it.Value().ShapeType() == TopAbs_FACE) { + // This should really be the case. This is not asserted. + const TopoDS_Face& triangle = TopoDS::Face(face_it.Value()); + if (face_area(triangle) > min_face_area) { + face_list.Append(triangle); + } else { + Logger::Message(Logger::LOG_WARNING, "Degenerate face:", (*it)); + } + } + } + } else { + if (face_area(face) > min_face_area) { + face_list.Append(face); + } else { + Logger::Message(Logger::LOG_WARNING, "Degenerate face:", (*it)); + } + } + } + + if (face_list.Extent() == 0) { + return false; + } + + if (face_list.Extent() > getValue(GV_MAX_FACES_TO_ORIENT) || !create_solid_from_faces(face_list, shape)) { + TopoDS_Compound compound; + BRep_Builder builder; + builder.MakeCompound(compound); + + TopTools_ListIteratorOfListOfShape face_iterator; + for (face_iterator.Initialize(face_list); face_iterator.More(); face_iterator.Next()) { + builder.Add(compound, face_iterator.Value()); + } + shape = compound; + } + + return true; +} diff --git a/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp b/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp new file mode 100644 index 0000000000..b9b87b0497 --- /dev/null +++ b/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp @@ -0,0 +1,133 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcCraneRailAShapeProfileDef +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCraneRailAShapeProfileDef* l, TopoDS_Shape& face) { + double oh = l->OverallHeight() * getValue(GV_LENGTH_UNIT); + double bw2 = l->BaseWidth2() * getValue(GV_LENGTH_UNIT); + double hw = l->HeadWidth() * getValue(GV_LENGTH_UNIT); + double hd2 = l->HeadDepth2() * getValue(GV_LENGTH_UNIT); + double hd3 = l->HeadDepth3() * getValue(GV_LENGTH_UNIT); + double wt = l->WebThickness() * getValue(GV_LENGTH_UNIT); + double bw4 = l->BaseWidth4() * getValue(GV_LENGTH_UNIT); + double bd1 = l->BaseDepth1() * getValue(GV_LENGTH_UNIT); + double bd2 = l->BaseDepth2() * getValue(GV_LENGTH_UNIT); + double bd3 = l->BaseDepth3() * getValue(GV_LENGTH_UNIT); + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[28] = { + -hw / 2., +oh / 2., + -hw / 2., +oh / 2. - hd3, + -wt / 2., +oh / 2. - hd2, + -wt / 2., -oh / 2. + bd2, + -bw4 / 2., -oh / 2. + bd3, + -bw2 / 2., -oh / 2. + bd1, + -bw2 / 2., -oh / 2., + +bw2 / 2., -oh / 2., + +bw2 / 2., -oh / 2. + bd1, + +bw4 / 2., -oh / 2. + bd3, + +wt / 2., -oh / 2. + bd2, + +wt / 2., +oh / 2. - hd2, + +hw / 2., +oh / 2. - hd3, + +hw / 2., +oh / 2. + }; + + return profile_helper(14, coords, 0, 0, 0, trsf2d, face); +} +#endif diff --git a/src/ifcgeom/IfcCsgSolid.cpp b/src/ifcgeom/IfcCsgSolid.cpp new file mode 100644 index 0000000000..614bcb4e3d --- /dev/null +++ b/src/ifcgeom/IfcCsgSolid.cpp @@ -0,0 +1,95 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCsgSolid* l, TopoDS_Shape& shape) { + return convert_shape(l->TreeRootExpression(), shape); +} diff --git a/src/ifcgeom/IfcCurveBoundedPlane.cpp b/src/ifcgeom/IfcCurveBoundedPlane.cpp new file mode 100644 index 0000000000..c6858f6edc --- /dev/null +++ b/src/ifcgeom/IfcCurveBoundedPlane.cpp @@ -0,0 +1,130 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCurveBoundedPlane* l, TopoDS_Shape& face) { + gp_Pln pln; + if (!IfcGeom::Kernel::convert(l->BasisSurface(), pln)) { + return false; + } + + gp_Trsf trsf; + trsf.SetTransformation(pln.Position(), gp::XOY()); + + TopoDS_Wire outer; + if (!convert_wire(l->OuterBoundary(), outer)) { + return false; + } + + BRepBuilderAPI_MakeFace mf(outer); + + if (!mf.IsDone() || mf.Shape().IsNull()) { + Logger::Error("Invalid outer boundary:", l->OuterBoundary()); + return false; + } + + IfcSchema::IfcCurve::list::ptr boundaries = l->InnerBoundaries(); + + for (IfcSchema::IfcCurve::list::it it = boundaries->begin(); it != boundaries->end(); ++it) { + TopoDS_Wire inner; + if (convert_wire(*it, inner)) { + mf.Add(inner); + } + } + + ShapeFix_Shape sfs(mf.Face()); + sfs.Perform(); + + // `trsf` consitutes the placement of the plane and therefore has unit scale factor + face = TopoDS::Face(sfs.Shape()).Moved(trsf); + + return true; +} diff --git a/src/ifcgeom/IfcCylindricalSurface.cpp b/src/ifcgeom/IfcCylindricalSurface.cpp new file mode 100644 index 0000000000..8e1dc716a5 --- /dev/null +++ b/src/ifcgeom/IfcCylindricalSurface.cpp @@ -0,0 +1,104 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcCylindricalSurface + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcCylindricalSurface* l, TopoDS_Shape& face) { + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(),trsf); + + // IfcElementarySurface.Position has unit scale factor + face = BRepBuilderAPI_MakeFace(new Geom_CylindricalSurface(gp::XOY(), l->Radius() * getValue(GV_LENGTH_UNIT)), getValue(GV_PRECISION)).Face().Moved(trsf); + return true; +} + +#endif diff --git a/src/ifcgeom/IfcDerivedProfileDef.cpp b/src/ifcgeom/IfcDerivedProfileDef.cpp new file mode 100644 index 0000000000..036e51b482 --- /dev/null +++ b/src/ifcgeom/IfcDerivedProfileDef.cpp @@ -0,0 +1,102 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcDerivedProfileDef* l, TopoDS_Shape& face) { + TopoDS_Face f; + gp_Trsf2d trsf2d; + if (convert_face(l->ParentProfile(), f) && IfcGeom::Kernel::convert(l->Operator(), trsf2d)) { + gp_Trsf trsf = trsf2d; + face = BRepBuilderAPI_Transform(f, trsf).Shape(); + return true; + } else { + return false; + } +} diff --git a/src/ifcgeom/IfcDirection.cpp b/src/ifcgeom/IfcDirection.cpp new file mode 100644 index 0000000000..31fae2b16b --- /dev/null +++ b/src/ifcgeom/IfcDirection.cpp @@ -0,0 +1,78 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcDirection* l, gp_Dir& dir) { + IN_CACHE(IfcDirection,l,gp_Dir,dir) + std::vector xyz = l->DirectionRatios(); + dir = gp_Dir( + xyz.size() ? xyz[0] : 0.0f, + xyz.size() > 1 ? xyz[1] : 0.0f, + xyz.size() > 2 ? xyz[2] : 0.0f + ); + CACHE(IfcDirection,l,dir) + return true; +} diff --git a/src/ifcgeom/IfcEdge.cpp b/src/ifcgeom/IfcEdge.cpp new file mode 100644 index 0000000000..a2be514d4a --- /dev/null +++ b/src/ifcgeom/IfcEdge.cpp @@ -0,0 +1,110 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdge* l, TopoDS_Wire& result) { + if (!l->EdgeStart()->declaration().is(IfcSchema::IfcVertexPoint::Class()) || !l->EdgeEnd()->declaration().is(IfcSchema::IfcVertexPoint::Class())) { + Logger::Message(Logger::LOG_ERROR, "Only IfcVertexPoints are supported for EdgeStart and -End", l); + return false; + } + + IfcSchema::IfcPoint* pnt1 = ((IfcSchema::IfcVertexPoint*) l->EdgeStart())->VertexGeometry(); + IfcSchema::IfcPoint* pnt2 = ((IfcSchema::IfcVertexPoint*) l->EdgeEnd())->VertexGeometry(); + if (!pnt1->declaration().is(IfcSchema::IfcCartesianPoint::Class()) || !pnt2->declaration().is(IfcSchema::IfcCartesianPoint::Class())) { + Logger::Message(Logger::LOG_ERROR, "Only IfcCartesianPoints are supported for VertexGeometry", l); + return false; + } + + gp_Pnt p1, p2; + if (!convert(((IfcSchema::IfcCartesianPoint*)pnt1), p1) || + !convert(((IfcSchema::IfcCartesianPoint*)pnt2), p2)) + { + return false; + } + + BRepBuilderAPI_MakeWire mw; + mw.Add(BRepBuilderAPI_MakeEdge(p1, p2)); + + result = mw.Wire(); + return true; +} diff --git a/src/ifcgeom/IfcEdgeCurve.cpp b/src/ifcgeom/IfcEdgeCurve.cpp new file mode 100644 index 0000000000..01fefa8d0b --- /dev/null +++ b/src/ifcgeom/IfcEdgeCurve.cpp @@ -0,0 +1,171 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#include "../ifcgeom_schema_agnostic/wire_builder.h" + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdgeCurve* l, TopoDS_Wire& result) { + IfcSchema::IfcPoint* pnt1 = ((IfcSchema::IfcVertexPoint*) l->EdgeStart())->VertexGeometry(); + IfcSchema::IfcPoint* pnt2 = ((IfcSchema::IfcVertexPoint*) l->EdgeEnd())->VertexGeometry(); + if (!pnt1->declaration().is(IfcSchema::IfcCartesianPoint::Class()) || !pnt2->declaration().is(IfcSchema::IfcCartesianPoint::Class())) { + Logger::Message(Logger::LOG_ERROR, "Only IfcCartesianPoints are supported for VertexGeometry", l); + return false; + } + + gp_Pnt p1, p2; + if (!IfcGeom::Kernel::convert(((IfcSchema::IfcCartesianPoint*)pnt1), p1) || + !IfcGeom::Kernel::convert(((IfcSchema::IfcCartesianPoint*)pnt2), p2)) + { + return false; + } + + BRepBuilderAPI_MakeWire mw; + Handle_Geom_Curve crv; + + // The lack of a clear separation between topological and geometrical entities + // is starting to get problematic. If the underlying curve is bounded it is + // assumed that a topological wire can be crafted from it. After which an + // attempt is made to reconstruct it from the individual curves and the vertices + // of the IfcEdgeCurve. + const bool is_bounded = l->EdgeGeometry()->declaration().is(IfcSchema::IfcBoundedCurve::Class()); + + if (!is_bounded && convert_curve(l->EdgeGeometry(), crv)) { + TopoDS_Edge e; + if (util::create_edge_over_curve_with_log_messages(crv, getValue(GV_PRECISION), p1, p2, e)) { + mw.Add(e); + result = mw; + return true; + } else { + return false; + } + } else if (is_bounded && convert_wire(l->EdgeGeometry(), result)) { + if (!l->SameSense()) { + result.Reverse(); + } + + bool first = true; + TopExp_Explorer exp(result, TopAbs_EDGE); + + while (exp.More()) { + const TopoDS_Edge& ed = TopoDS::Edge(exp.Current()); + Standard_Real u1, u2; + Handle(Geom_Curve) ecrv = BRep_Tool::Curve(ed, u1, u2); + exp.Next(); + const bool last = !exp.More(); + + gp_Pnt a, b; + + if (first && last) { + a = p1; + b = p2; + } else if (first) { + a = p1; + ecrv->D0(u2, b); + } else if (last) { + ecrv->D0(u1, a); + b = p2; + } else { + BRepBuilderAPI_MakeEdge me(ecrv, u1, u2); + if (!me.IsDone()) { + return false; + } + mw.Add(me.Edge()); + first = false; + continue; + } + + TopoDS_Edge e; + if (util::create_edge_over_curve_with_log_messages(ecrv, getValue(GV_PRECISION), a, b, e)) { + mw.Add(e); + } else { + return false; + } + + first = false; + } + result = mw; + return true; + } else { + return false; + } +} diff --git a/src/ifcgeom/IfcEdgeLoop.cpp b/src/ifcgeom/IfcEdgeLoop.cpp new file mode 100644 index 0000000000..30efd11aa3 --- /dev/null +++ b/src/ifcgeom/IfcEdgeLoop.cpp @@ -0,0 +1,99 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdgeLoop* l, TopoDS_Wire& result) { + IfcSchema::IfcOrientedEdge::list::ptr li = l->EdgeList(); + BRepBuilderAPI_MakeWire mw; + for (IfcSchema::IfcOrientedEdge::list::it it = li->begin(); it != li->end(); ++it) { + TopoDS_Wire w; + if (convert_wire(*it, w)) { + mw.Add(TopoDS::Edge(TopoDS_Iterator(w).Value())); + } + } + if (!mw.IsDone()) { + return false; + } + result = mw.Wire(); + return true; +} diff --git a/src/ifcgeom/IfcEllipse.cpp b/src/ifcgeom/IfcEllipse.cpp new file mode 100644 index 0000000000..1a9433c738 --- /dev/null +++ b/src/ifcgeom/IfcEllipse.cpp @@ -0,0 +1,101 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcEllipse* l, Handle(Geom_Curve)& curve) { + double x = l->SemiAxis1() * getValue(GV_LENGTH_UNIT); + double y = l->SemiAxis2() * getValue(GV_LENGTH_UNIT); + if (x < ALMOST_ZERO || y < ALMOST_ZERO) { + Logger::Message(Logger::LOG_ERROR, "Radius not greater than zero for:", l); + return false; + } + // Open Cascade does not allow ellipses of which the minor radius + // is greater than the major radius. Hence, in this case, the + // ellipse is rotated. Note that special care needs to be taken + // when creating a trimmed curve off of an ellipse like this. + const bool rotated = y > x; + gp_Trsf trsf; + + IfcSchema::IfcAxis2Placement* placement = l->Position(); + if (placement->as()) { + IfcGeom::Kernel::convert(placement->as(), trsf); + } else { + gp_Trsf2d trsf2d; + IfcGeom::Kernel::convert(placement->as(), trsf2d); + trsf = trsf2d; + } + + gp_Ax2 ax = gp_Ax2(); + if (rotated) { + ax.Rotate(ax.Axis(), M_PI / 2.); + std::swap(x, y); + } + ax.Transform(trsf); + curve = new Geom_Ellipse(ax, x, y); + return true; +} diff --git a/src/ifcgeom/IfcEllipseProfileDef.cpp b/src/ifcgeom/IfcEllipseProfileDef.cpp new file mode 100644 index 0000000000..52805e8b99 --- /dev/null +++ b/src/ifcgeom/IfcEllipseProfileDef.cpp @@ -0,0 +1,128 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcEllipseProfileDef* l, TopoDS_Shape& face) { + double rx = l->SemiAxis1() * getValue(GV_LENGTH_UNIT); + double ry = l->SemiAxis2() * getValue(GV_LENGTH_UNIT); + + if ( rx < ALMOST_ZERO || ry < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + const bool rotated = ry > rx; + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + gp_Ax2 ax = gp_Ax2(); + if (rotated) { + ax.Rotate(ax.Axis(), M_PI / 2.); + std::swap(rx, ry); + } + ax.Transform(trsf2d); + + BRepBuilderAPI_MakeWire w; + Handle(Geom_Ellipse) ellipse = new Geom_Ellipse(ax, rx, ry); + TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(ellipse); + w.Add(edge); + + TopoDS_Face f; + bool success = convert_wire_to_face(w, f); + if (success) face = f; + return success; +} diff --git a/src/ifcgeom/IfcExtrudedAreaSolid.cpp b/src/ifcgeom/IfcExtrudedAreaSolid.cpp new file mode 100644 index 0000000000..3f9f1f51e8 --- /dev/null +++ b/src/ifcgeom/IfcExtrudedAreaSolid.cpp @@ -0,0 +1,165 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +// uncomment if you'd like negative or close to zero extrusion depths to succeed +// #define PERMISSIVE_EXTRUSION + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_Shape& shape) { + const double height = l->Depth() * getValue(GV_LENGTH_UNIT); + if (height < getValue(GV_PRECISION)) { + Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l); +#ifndef PERMISSIVE_EXTRUSION + return false; +#endif + } + + TopoDS_Shape face; + if ( !convert_face(l->SweptArea(),face) ) return false; + +#ifdef PERMISSIVE_EXTRUSION + if (abs(height) < getValue(GV_PRECISION)) { + shape = face; + return true; + } +#endif + + gp_Trsf trsf; + bool has_position = true; +#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf); + } + + gp_Dir dir; + convert(l->ExtrudedDirection(),dir); + + shape.Nullify(); + + /* + // @nb This logic was probably flawed always as this does not by itself result in a valid compsolid... + if (face.ShapeType() == TopAbs_COMPOUND) { + + // For compounds (most likely the result of a IfcCompositeProfileDef) + // create a compound solid shape. + + TopExp_Explorer exp(face, TopAbs_FACE); + + TopoDS_CompSolid compound; + BRep_Builder builder; + builder.MakeCompSolid(compound); + + int num_faces_extruded = 0; + for (; exp.More(); exp.Next(), ++num_faces_extruded) { + builder.Add(compound, BRepPrimAPI_MakePrism(exp.Current(), height*dir)); + } + + if (num_faces_extruded) { + shape = compound; + } + + } + */ + + if (shape.IsNull()) { + shape = BRepPrimAPI_MakePrism(face, height*dir); + } + + if (has_position && !shape.IsNull()) { + // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D + // and therefore has a unit scale factor + shape.Move(trsf); + } + + return !shape.IsNull(); +} diff --git a/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp b/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp new file mode 100644 index 0000000000..b2729650ed --- /dev/null +++ b/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp @@ -0,0 +1,195 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcExtrudedAreaSolidTapered +bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolidTapered* l, TopoDS_Shape& shape) { + const double height = l->Depth() * getValue(GV_LENGTH_UNIT); + if (height < getValue(GV_PRECISION)) { + Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l); + return false; + } + + TopoDS_Shape face1, face2; + if (!convert_face(l->SweptArea(), face1)) return false; + if (!convert_face(l->EndSweptArea(), face2)) return false; + + gp_Trsf trsf; + bool has_position = true; +#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf); + } + + gp_Dir dir; + convert(l->ExtrudedDirection(), dir); + + gp_Trsf end_profile; + end_profile.SetTranslation(height * dir); + + TopoDS_Edge spine_edge = BRepBuilderAPI_MakeEdge(gp_Pnt(), gp_Pnt((height * dir).XYZ())).Edge(); + TopoDS_Wire wire = BRepBuilderAPI_MakeWire(spine_edge).Wire(); + + shape.Nullify(); + + TopExp_Explorer exp1(face1, TopAbs_WIRE); + TopExp_Explorer exp2(face2, TopAbs_WIRE); + + TopoDS_Vertex v1, v2; + TopExp::Vertices(wire, v1, v2); + + TopoDS_Shape shell; + TopoDS_Compound compound; + BRep_Builder compound_builder; + + for (; exp1.More() && exp2.More(); exp1.Next(), exp2.Next()) { + const TopoDS_Wire& w1 = TopoDS::Wire(exp1.Current()); + const TopoDS_Wire& w2 = TopoDS::Wire(exp2.Current()); + + BRepOffsetAPI_MakePipeShell builder(wire); + builder.Add(w1, v1); + builder.Add(w2.Moved(end_profile), v2); + + TopoDS_Shape result = builder.Shape(); + + TopTools_ListOfShape li; + shape_to_face_list(result, li); + li.Append(BRepBuilderAPI_MakeFace(w1).Face().Reversed()); + li.Append(BRepBuilderAPI_MakeFace(w2).Face().Moved(end_profile)); + + create_solid_from_faces(li, result, true); + + // @todo ugly hack + + // The reason for this distinction is that at this point of the loop we're not sure anymore + // whether this was constructed from an inner or outer bound. So rather than iterating over + // wires of `face1` and `face2` we should iterate over the faces and then properly check with + // BRepTools::OuterBound(). + // Currently this distinction happens based on profile type which is not robust and probably + // not complete. + if (shell.IsNull()) { + shell = result; + } else if (l->SweptArea()->declaration().is(IfcSchema::IfcCircleHollowProfileDef::Class()) || + l->SweptArea()->declaration().is(IfcSchema::IfcRectangleHollowProfileDef::Class()) || + l->SweptArea()->declaration().is(IfcSchema::IfcArbitraryProfileDefWithVoids::Class())) + { + // @todo properly check for failure and all. + shell = BRepAlgoAPI_Cut(shell, result).Shape(); + } else { + if (compound.IsNull()) { + compound_builder.MakeCompound(compound); + compound_builder.Add(compound, shell); + } + compound_builder.Add(compound, result); + } + } + + if (!compound.IsNull()) { + shell = compound; + } + + shape = shell; + + if (exp1.More() != exp2.More()) { + Logger::Message(Logger::LOG_ERROR, "Inconsistent profiles encountered for:", l); + } + + if (has_position && !shape.IsNull()) { + // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D + // and therefore has a unit scale factor + shape.Move(trsf); + } + + return !shape.IsNull(); +} +#endif diff --git a/src/ifcgeom/IfcFace.cpp b/src/ifcgeom/IfcFace.cpp new file mode 100644 index 0000000000..959132fe6b --- /dev/null +++ b/src/ifcgeom/IfcFace.cpp @@ -0,0 +1,359 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#include "../ifcgeom_schema_agnostic/face_definition.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& result) { + IfcSchema::IfcFaceBound::list::ptr bounds = l->Bounds(); + + util::face_definition fd; + + const bool is_face_surface = l->declaration().is(IfcSchema::IfcFaceSurface::Class()); + + if (is_face_surface) { + IfcSchema::IfcFaceSurface* fs = (IfcSchema::IfcFaceSurface*) l; + fs->FaceSurface(); + // FIXME: Surfaces are interpreted as a TopoDS_Shape + TopoDS_Shape surface_shape; + if (!convert_shape(fs->FaceSurface(), surface_shape)) return false; + + // FIXME: Assert this obtaines the only face + TopExp_Explorer exp(surface_shape, TopAbs_FACE); + if (!exp.More()) return false; + + TopoDS_Face surface = TopoDS::Face(exp.Current()); + fd.surface() = BRep_Tool::Surface(surface); + } + + const int num_bounds = bounds->size(); + int num_outer_bounds = 0; + + for (IfcSchema::IfcFaceBound::list::it it = bounds->begin(); it != bounds->end(); ++it) { + IfcSchema::IfcFaceBound* bound = *it; + if (bound->declaration().is(IfcSchema::IfcFaceOuterBound::Class())) num_outer_bounds ++; + } + + // The number of outer bounds should be one according to the schema. Also Open Cascade + // expects this, but it is not strictly checked. Regardless, if the number is greater, + // the face will still be processed as long as there are no holes. A compound of faces + // is returned in that case. + if (num_bounds > 1 && num_outer_bounds > 1 && num_bounds != num_outer_bounds) { + Logger::Message(Logger::LOG_ERROR, "Invalid configuration of boundaries for:", l); + return false; + } + + if (num_outer_bounds > 1) { + Logger::Message(Logger::LOG_WARNING, "Multiple outer boundaries for:", l); + fd.all_outer() = true; + } + + TopTools_DataMapOfShapeInteger wire_senses; + + for (int process_interior = 0; process_interior <= 1; ++process_interior) { + for (IfcSchema::IfcFaceBound::list::it it = bounds->begin(); it != bounds->end(); ++it) { + IfcSchema::IfcFaceBound* bound = *it; + IfcSchema::IfcLoop* loop = bound->Bound(); + + bool same_sense = bound->Orientation(); + const bool is_interior = + !bound->declaration().is(IfcSchema::IfcFaceOuterBound::Class()) && + (num_bounds > 1) && + (num_outer_bounds < num_bounds); + + // The exterior face boundary is processed first + if (is_interior == !process_interior) continue; + + TopoDS_Wire wire; + if (faceset_helper_ && loop->as()) { + if (!faceset_helper_->wire(loop->as(), wire)) { + Logger::Message(Logger::LOG_WARNING, "Face boundary loop not included", loop); + continue; + } + } else if (!convert_wire(loop, wire)) { + Logger::Message(Logger::LOG_ERROR, "Failed to process face boundary loop", loop); + return false; + } + + if (!same_sense) { + wire.Reverse(); + } + + wire_senses.Bind(wire.Oriented(TopAbs_FORWARD), same_sense ? TopAbs_FORWARD : TopAbs_REVERSED); + + fd.wires().emplace_back(wire); + } + } + + if (fd.wires().empty()) { + Logger::Warning("Face with no boundaries", l); + return false; + } + + if (fd.surface().IsNull()) { + // Use the first wire to find a plane manually for polygonal wires + const TopoDS_Wire& wire = fd.wires().front(); + if (util::is_polyhedron(wire)) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + int count = 0; + TopoDS_Edge edges[2]; + for (; exp.More(); exp.Next(), count++) { + if (count < 2) { + edges[count] = TopoDS::Edge(exp.Current()); + } + } + + if (count == 3) { + // Help Open Cascade by finding the plane more efficiently + double _, __; + Handle(Geom_Line) c1 = Handle(Geom_Line)::DownCast(BRep_Tool::Curve(edges[0], _, __)); + Handle(Geom_Line) c2 = Handle(Geom_Line)::DownCast(BRep_Tool::Curve(edges[1], _, __)); + + const gp_Vec ab = c1->Position().Direction(); + const gp_Vec ac = c2->Position().Direction(); + const gp_Vec cross = ab.Crossed(ac); + + if (cross.SquareMagnitude() > ALMOST_ZERO) { + const gp_Dir n = cross; + fd.surface() = new Geom_Plane(c1->Position().Location(), n); + } + } else { + gp_Pln pln; + if (approximate_plane_through_wire(wire, pln)) { + fd.surface() = new Geom_Plane(pln); + } + } + } + } + + if (fd.surface().IsNull()) { + // BRepLib_FindSurface is used in case no surface is found or provided + + const TopoDS_Wire& wire = fd.wires().front(); + + BRepLib_FindSurface fs(wire, getValue(GV_PRECISION), true, true); + if (fs.Found()) { + fd.surface() = fs.Surface(); + ShapeFix_ShapeTolerance ftol; + ftol.SetTolerance(wire, fs.ToleranceReached(), TopAbs_WIRE); + } + } + + TopTools_ListOfShape face_list; + + if (fd.surface().IsNull()) { + // The set of wires is triangulated in case no surface can be found + Logger::Message(Logger::LOG_WARNING, "Triangulating face boundaries for face", l); + + if (fd.all_outer()) { + for (const auto& w : fd.wires()) { + TopTools_ListOfShape fl; + triangulate_wire({ w }, fl); + face_list.Append(fl); + } + } else { + triangulate_wire(fd.wires(), face_list); + } + } else if (!fd.all_outer()) { + BRepBuilderAPI_MakeFace mf(fd.surface(), fd.outer_wire()); + TopoDS_Face f = mf.Face(); + + if (mf.IsDone()) { + if (std::distance(fd.inner_wires().first, fd.inner_wires().second)) { + mf.Init(f); + + for (auto it = fd.inner_wires().first; it != fd.inner_wires().second; ++it) { + mf.Add(*it); + } + + face_list.Append(mf.Face()); + } else { + face_list.Append(f); + } + } + } else { + for (const auto& w : fd.wires()) { + BRepBuilderAPI_MakeFace mf(fd.surface(), w); + if (mf.IsDone()) { + face_list.Append(mf.Face()); + } + } + } + + if (!fd.surface().IsNull()) { + // Some fixes for orientation and p-curves. If we have no surface, it + // means the face has been triangulated in which case none of these + // fixes are necessary. + + if (fd.surface()->DynamicType() != STANDARD_TYPE(Geom_Plane)) { + // In case of (non-planar) face surface, p-curves need to be computed. + // For planar faces, Open Cascade generates p-curves on the fly. + + for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { + ShapeFix_Shape sfs(it.Value()); + + Handle(ShapeExtend_MsgRegistrator) msg; + msg = new ShapeExtend_MsgRegistrator; + sfs.SetMsgRegistrator(msg); + + sfs.Perform(); + it.Value() = sfs.Shape(); + + ShapeExtend_DataMapIteratorOfDataMapOfShapeListOfMsg jt(msg->MapShape()); + for (; jt.More(); jt.Next()) { + Message_ListIteratorOfListOfMsg kt(jt.Value()); + for (; kt.More(); kt.Next()) { + char* c = new char[kt.Value().Value().LengthOfCString() + 1]; + kt.Value().Value().ToUTF8CString(c); + Logger::Notice(c, l); + delete[] c; + } + } + } + } + + for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { + const TopoDS_Face& face = TopoDS::Face(it.Value()); + + ShapeFix_Face sfs(TopoDS::Face(face)); + TopTools_DataMapOfShapeListOfShape wire_map; + sfs.FixOrientation(wire_map); + + TopoDS_Iterator jt(face, false); + for (; jt.More(); jt.Next()) { + const TopoDS_Wire& w = TopoDS::Wire(jt.Value()); + // tfk: @todo if wire_map contains w, I would assume wire_senses also contains w, + // this is not the case in github issue #405. + if (wire_map.IsBound(w) && wire_senses.IsBound(w)) { + const TopTools_ListOfShape& shapes = wire_map.Find(w); + TopTools_ListIteratorOfListOfShape kt(shapes); + for (; kt.More(); kt.Next()) { + // Apparently the wire got reversed, so register it with opposite orientation in the map + wire_senses.Bind(kt.Value(), wire_senses.Find(w) == TopAbs_FORWARD ? TopAbs_REVERSED : TopAbs_FORWARD); + } + } + } + + it.Value() = sfs.Face(); + } + + for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { + TopoDS_Face& face = TopoDS::Face(it.Value()); + + bool all_reversed = true; + TopoDS_Iterator jt(face, false); + for (; jt.More(); jt.Next()) { + const TopoDS_Wire& w = TopoDS::Wire(jt.Value()); + if (!wire_senses.IsBound(w.Oriented(TopAbs_FORWARD)) || (w.Orientation() == wire_senses.Find(w.Oriented(TopAbs_FORWARD)))) { + all_reversed = false; + } + } + + if (all_reversed) { + face.Reverse(); + } + } + } + + if (face_list.Extent() > 1) { + TopoDS_Compound compound; + BRep_Builder builder; + builder.MakeCompound(compound); + for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { + TopoDS_Face& face = TopoDS::Face(it.Value()); + builder.Add(compound, face); + } + result = compound; + } else { + result = face_list.First(); + } + + return true; +} diff --git a/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp b/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp new file mode 100644 index 0000000000..71ae4d2068 --- /dev/null +++ b/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp @@ -0,0 +1,106 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcFaceBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { + bool part_success = false; + IfcSchema::IfcConnectedFaceSet::list::ptr facesets = l->FbsmFaces(); + auto collective_style = get_style(l); + for( IfcSchema::IfcConnectedFaceSet::list::it it = facesets->begin(); it != facesets->end(); ++ it ) { + TopoDS_Shape s; + auto shell_style = get_style(*it); + if (convert_shape(*it,s)) { + shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, shell_style ? shell_style : collective_style)); + part_success |= true; + } + } + return part_success; +} diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeom.cpp similarity index 87% rename from src/ifcgeom/IfcGeomFunctions.cpp rename to src/ifcgeom/IfcGeom.cpp index 119075745b..ecd901eb1e 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeom.cpp @@ -164,6 +164,7 @@ #include "../ifcparse/IfcFile.h" #include "../ifcgeom/IfcGeom.h" #include "../ifcgeom/IfcGeomTree.h" +#include "../ifcgeom_schema_agnostic/boolean_utils.h" #include #include @@ -239,578 +240,7 @@ void MAKE_INIT_FN(KernelImplementation_)(IfcGeom::impl::KernelFactoryImplementat #define Kernel MAKE_TYPE_NAME(Kernel) namespace { - void copy_operand(const TopTools_ListOfShape& l, TopTools_ListOfShape& r) { -#if OCC_VERSION_HEX < 0x70000 - TopTools_ListIteratorOfListOfShape it(l); - for (; it.More(); it.Next()) { - r.Append(BRepBuilderAPI_Copy(it.Value())); - } -#else - // On OCCT 7.0 and higher BRepAlgoAPI_BuilderAlgo::SetNonDestructive(true) is - // called. Not entirely sure on the behaviour before 7.0, so overcautiously - // create copies. - r.Assign(l); -#endif - } - - TopoDS_Shape copy_operand(const TopoDS_Shape& s) { -#if OCC_VERSION_HEX < 0x70000 - return BRepBuilderAPI_Copy(s); -#else - return s; -#endif - } - - double min_edge_length(const TopoDS_Shape& a) { - double min_edge_len = std::numeric_limits::infinity(); - TopExp_Explorer exp(a, TopAbs_EDGE); - for (; exp.More(); exp.Next()) { - GProp_GProps prop; - BRepGProp::LinearProperties(exp.Current(), prop); - double l = prop.Mass(); - if (l < min_edge_len) { - min_edge_len = l; - } - } - return min_edge_len; - } - - double min_vertex_edge_distance(const TopoDS_Shape& a, double min_search, double max_search) { - double M = std::numeric_limits::infinity(); - - TopTools_IndexedMapOfShape vertices, edges; - - TopExp::MapShapes(a, TopAbs_VERTEX, vertices); - TopExp::MapShapes(a, TopAbs_EDGE, edges); - - IfcGeom::impl::tree tree; - - // Add edges to tree - for (int i = 1; i <= edges.Extent(); ++i) { - tree.add(i, edges(i)); - } - - for (int j = 1; j <= vertices.Extent(); ++j) { - const TopoDS_Vertex& v = TopoDS::Vertex(vertices(j)); - gp_Pnt p = BRep_Tool::Pnt(v); - - Bnd_Box b; - b.Add(p); - b.Enlarge(max_search); - - std::vector edge_idxs = tree.select_box(b, false); - std::vector::const_iterator it = edge_idxs.begin(); - for (; it != edge_idxs.end(); ++it) { - const TopoDS_Edge& e = TopoDS::Edge(edges(*it)); - TopoDS_Vertex v1, v2; - TopExp::Vertices(e, v1, v2); - - if (v.IsSame(v1) || v.IsSame(v2)) { - continue; - } - - BRepAdaptor_Curve crv(e); - Extrema_ExtPC ext(p, crv); - if (!ext.IsDone()) { - continue; - } - - for (int i = 1; i <= ext.NbExt(); ++i) { - const double m = sqrt(ext.SquareDistance(i)); - if (m < M && m > min_search) { - M = m; - } - } - } - } - - return M; - } - - class points_on_planar_face_generator { - private: - const TopoDS_Face& f_; - Handle(Geom_Surface) plane_; - BRepTopAdaptor_FClass2d cls_; - double u0, u1, v0, v1; - int i, j; - bool inset_; - static const int N = 10; - - public: - points_on_planar_face_generator(const TopoDS_Face& f, bool inset=false) - : f_(f) - , plane_(BRep_Tool::Surface(f_)) - , cls_(f_, BRep_Tool::Tolerance(f_)) - , i((int)inset), j((int)inset) - , inset_(inset) - { - BRepTools::UVBounds(f_, u0, u1, v0, v1); - } - - void reset() { - i = j = (int)inset_; - } - - bool operator()(gp_Pnt& p) { - while (j < N) { - double u = u0 + (u1 - u0) * i / N; - double v = v0 + (v1 - v0) * j / N; - - i++; - if (i == N) { - i = 0; - j++; - } - - // Specifically does not consider ON - if (cls_.Perform(gp_Pnt2d(u, v)) == TopAbs_IN) { - plane_->D0(u, v, p); - return true; - } - } - - return false; - } - }; - - bool faces_overlap(const TopoDS_Face& f, const TopoDS_Face& g) { - points_on_planar_face_generator pgen(f); - - BRep_Builder B; - gp_Pnt test; - double eps = BRep_Tool::Tolerance(f) + BRep_Tool::Tolerance(g); - - BRepExtrema_DistShapeShape x; - x.LoadS1(g); - - while (pgen(test)) { - TopoDS_Vertex V; - B.MakeVertex(V, test, Precision::Confusion()); - x.LoadS2(V); - x.Perform(); - if (x.IsDone() && x.NbSolution() == 1) { - if (x.Value() > eps) { - return false; - } - } - } - - return true; - } - - double min_face_face_distance(const TopoDS_Shape& a, double max_search) { - /* - NB: This is currently only implemented for planar surfaces. - */ - double M = std::numeric_limits::infinity(); - - TopTools_IndexedMapOfShape faces; - - TopExp::MapShapes(a, TopAbs_FACE, faces); - - IfcGeom::impl::tree tree; - - // Add faces to tree - for (int i = 1; i <= faces.Extent(); ++i) { - if (BRep_Tool::Surface(TopoDS::Face(faces(i)))->DynamicType() == STANDARD_TYPE(Geom_Plane)) { - tree.add(i, faces(i)); - } - } - - for (int j = 1; j <= faces.Extent(); ++j) { - const TopoDS_Face& f = TopoDS::Face(faces(j)); - const Handle(Geom_Surface)& fs = BRep_Tool::Surface(f); - - if (fs->DynamicType() != STANDARD_TYPE(Geom_Plane)) { - continue; - } - - points_on_planar_face_generator pgen(f); - - Bnd_Box b; - BRepBndLib::AddClose(f, b); - b.Enlarge(max_search); - - std::vector face_idxs = tree.select_box(b, false); - std::vector::const_iterator it = face_idxs.begin(); - for (; it != face_idxs.end(); ++it) { - if (*it == j) { - continue; - } - - const TopoDS_Face& g = TopoDS::Face(faces(*it)); - const Handle(Geom_Surface)& gs = BRep_Tool::Surface(g); - - auto p0 = Handle(Geom_Plane)::DownCast(fs); - auto p1 = Handle(Geom_Plane)::DownCast(gs); - - if (p0->Position().IsCoplanar(p1->Position(), max_search, asin(max_search))) { - pgen.reset(); - - BRepTopAdaptor_FClass2d cls(g, BRep_Tool::Tolerance(g)); - - gp_Pnt test; - while (pgen(test)) { - gp_Vec d = test.XYZ() - p1->Position().Location().XYZ(); - double u = d.Dot(p1->Position().XDirection()); - double v = d.Dot(p1->Position().YDirection()); - - // nb: TopAbs_ON is explicitly not considered to prevent matching adjacent faces - // with similar orientations. - if (cls.Perform(gp_Pnt2d(u, v)) == TopAbs_IN) { - gp_Pnt test2; - p1->D0(u, v, test2); - double w = std::abs(gp_Vec(p1->Position().Direction().XYZ()).Dot(test2.XYZ() - test.XYZ())); - if (w < M) { - M = w; - } - } - } - } - } - } - - return M; - } - - int bounding_box_overlap(double p, const TopoDS_Shape& a, const TopTools_ListOfShape& b, TopTools_ListOfShape& c) { - int N = 0; - - Bnd_Box A; - BRepBndLib::Add(a, A); - - if (A.IsVoid()) { - return 0; - } - - TopTools_ListIteratorOfListOfShape it(b); - for (; it.More(); it.Next()) { - Bnd_Box B; - BRepBndLib::Add(it.Value(), B); - - if (B.IsVoid()) { - continue; - } - - if (A.Distance(B) < p) { - c.Append(it.Value()); - } else { - ++N; - } - } - - return N; - } - - bool get_edge_axis(const TopoDS_Edge& e, gp_Ax1& ax) { - double _, __; - - auto crv = BRep_Tool::Curve(e, _, __); - auto line = Handle_Geom_Line::DownCast(crv); - auto bsple = Handle_Geom_BSplineCurve::DownCast(crv); - - if (line) { - ax = line->Position(); - return true; - } else if (bsple) { - if (bsple->NbPoles() == 2 && bsple->Degree() == 1) { - gp_Dir V(bsple->Poles().Last().XYZ() - bsple->Poles().First().XYZ()); - ax = gp_Ax1(bsple->Poles().First(), V); - return true; - } - } - - return false; - } - - bool is_subset(const TopTools_IndexedMapOfShape& lhs, const TopTools_IndexedMapOfShape& rhs) { - if (rhs.Extent() < lhs.Extent()) { - return false; - } - for (int i = 1; i < lhs.Extent(); ++i) { - auto& s = lhs.FindKey(i); - if (!rhs.Contains(s)) { - return false; - } - } - return true; - } - - bool is_extrusion(const gp_Vec& v, const TopoDS_Shape& s, TopoDS_Face& base, std::pair& interval) { - // This assumes UnifySameDomain has been processed on s, so that - // the extrusion top and bottom are a single face. - - TopTools_IndexedDataMapOfShapeListOfShape mapping; - TopExp::MapShapesAndAncestors(s, TopAbs_EDGE, TopAbs_FACE, mapping); - TopExp::MapShapesAndAncestors(s, TopAbs_VERTEX, TopAbs_FACE, mapping); - - TopTools_ListOfShape parallel; - TopTools_IndexedMapOfShape curved_orthogonal; - gp_Ax1 ax; - gp_Ax1 V(gp::Origin(), v); - - // Segment edges in parallel to extrusion direction, and orthogonal or curved, - // where the latter two categories have to make the edges part of the base or - // top face. When neither of these categories the shape is not a extrusion - // or the extrusion direction is not orthogonal to its basis. - for (int i = 1; i < mapping.Extent(); ++i) { - auto& s = mapping.FindKey(i); - if (s.ShapeType() != TopAbs_EDGE) { - continue; - } - - // @todo use a linear tolernace and the face extrimities, see #2218 - const TopoDS_Edge& e = TopoDS::Edge(s); - if (!get_edge_axis(e, ax)) { - // curved - curved_orthogonal.Add(e); - } else if (ax.IsParallel(V, 1.e-7)) { - parallel.Append(e); - } else if (ax.IsNormal(V, 1.e-7)) { - // ortho - curved_orthogonal.Add(e); - } else { - return false; - } - } - - // Select the two faces for which their edges are subsets - // of the ortho/curved edges - TopTools_IndexedMapOfShape ortho_faces; - for (TopExp_Explorer exp(s, TopAbs_FACE); exp.More(); exp.Next()) { - TopTools_IndexedMapOfShape face_edges; - TopExp::MapShapes(exp.Current(), TopAbs_EDGE, face_edges); - if (is_subset(face_edges, curved_orthogonal)) { - ortho_faces.Add(exp.Current()); - } - } - - // There should be a basis and top face - if (ortho_faces.Extent() != 2) { - return false; - } - - // For the parallel edges assert that its two vertices are part - // of both the basis and the top face. - for (TopTools_ListIteratorOfListOfShape it(parallel); - it.More(); it.Next()) { - TopoDS_Vertex v01[2]; - TopExp::Vertices(TopoDS::Edge(it.Value()), v01[0], v01[1]); - - TopTools_IndexedMapOfShape v_ortho_faces; - int nb_ortho_faces[2] = { 0,0 }; - - for (int i = 0; i < 2; ++i) { - auto& faces = mapping.FindFromKey(v01[i]); - - for (TopTools_ListIteratorOfListOfShape jt(faces); - jt.More(); jt.Next()) { - if (ortho_faces.Contains(jt.Value())) { - nb_ortho_faces[i] ++; - v_ortho_faces.Add(jt.Value()); - } - } - } - - bool sets_equal = v_ortho_faces.Size() == ortho_faces.Size() && is_subset(v_ortho_faces, ortho_faces); - if (!sets_equal) { - return false; - } - } - - // Assert the base/top faces are planar and get the interval - // (dot products along axis) for which the extrusion is defined - // If necessary swap the two faces so that the basis face has - // the smallest dot product along the axis. - auto f0 = TopoDS::Face(ortho_faces.FindKey(1)); - auto f1 = TopoDS::Face(ortho_faces.FindKey(2)); - - const Handle(Geom_Surface)& f0_s = BRep_Tool::Surface(f0); - const Handle(Geom_Surface)& f1_s = BRep_Tool::Surface(f1); - - auto p0 = Handle(Geom_Plane)::DownCast(f0_s); - auto p1 = Handle(Geom_Plane)::DownCast(f1_s); - - if (p0.IsNull() || p1.IsNull()) { - return false; - } - - auto dot0 = p0->Location().XYZ().Dot(v.XYZ()); - auto dot1 = p1->Location().XYZ().Dot(v.XYZ()); - - if (dot0 > dot1) { - std::swap(dot0, dot1); - std::swap(f0, f1); - } - - base = f0; - interval = { dot0, dot1 }; - - return true; - } - - int eliminate_touching_operands(double prec, const TopoDS_Shape& a, const TopTools_ListOfShape& bs, TopTools_ListOfShape& c) { - TopTools_IndexedMapOfShape a_faces; - TopExp::MapShapes(a, TopAbs_FACE, a_faces); - - // Check if any of the faces in a are non-planar, which is - // not supported by this quick check. - for (int i = 1; i <= a_faces.Extent(); ++i) { - auto surf = BRep_Tool::Surface(TopoDS::Face(a_faces(i))); - if (surf->DynamicType() != STANDARD_TYPE(Geom_Plane)) { - return 0; - } - } - - TopTools_IndexedMapOfShape a_vertices; - TopExp::MapShapes(a, TopAbs_VERTEX, a_vertices); - - IfcGeom::impl::tree tree; - - // Add faces to tree - for (int i = 1; i <= a_faces.Extent(); ++i) { - tree.add(i, a_faces(i)); - } - - int N = 0; - - TopTools_ListIteratorOfListOfShape it(bs); - for (; it.More(); it.Next()) { - bool is_touching = false; - - auto& b = it.Value(); - - TopTools_IndexedMapOfShape b_faces; - TopExp::MapShapes(b, TopAbs_FACE, b_faces); - - // Check if any of the faces in b are non-planar, which is - // not supported by this quick check. - for (int i = 1; i <= b_faces.Extent(); ++i) { - auto surf = BRep_Tool::Surface(TopoDS::Face(b_faces(i))); - if (surf->DynamicType() != STANDARD_TYPE(Geom_Plane)) { - continue; - } - } - - TopTools_IndexedMapOfShape b_vertices; - TopExp::MapShapes(b, TopAbs_VERTEX, b_vertices); - - for (int k = 1; k <= b_faces.Extent(); ++k) { - const TopoDS_Face& f_b = TopoDS::Face(b_faces(k)); - Bnd_Box B; - BRepBndLib::Add(f_b, B); - - // Query tree using b_face bounding box - for (auto& i : tree.select_box(B, false)) { - const TopoDS_Face& f_a = TopoDS::Face(a_faces(i)); - - TopTools_IndexedMapOfShape f_a_vertices; - TopExp::MapShapes(f_a, TopAbs_VERTEX, f_a_vertices); - - BRepGProp_Face prop_a(f_a); - BRepGProp_Face prop_b(f_b); - - gp_Pnt p_a, p_b; - gp_Vec v_a, v_b; - - double u0, u1, v0, v1; - prop_a.Bounds(u0, u1, v0, v1); - prop_a.Normal((u0 + u1) / 2., (u0 + u1) / 2., p_a, v_a); - - prop_b.Bounds(u0, u1, v0, v1); - prop_b.Normal((u0 + u1) / 2., (u0 + u1) / 2., p_b, v_b); - - bool all_vertices_behind_f_a = true; - - // Check if all 'other' vertices in a are pointing - // away from the face in a, so that there is no geometry - // from a in front of the face that could participate - // in the boolean subtraction. - for (int j = 1; j <= a_vertices.Extent(); ++j) { - if (!f_a_vertices.Contains(a_vertices(j))) { - auto p = BRep_Tool::Pnt(TopoDS::Vertex(a_vertices(j))); - if ((p.XYZ() - p_a.XYZ()).Dot(v_a.XYZ()) > prec) { - all_vertices_behind_f_a = false; - break; - } - } - } - - if (!all_vertices_behind_f_a) { - continue; - } - - // Check if surface normals are opposite - if (v_a.IsOpposite(v_b, 1.e-5)) { - // Check if faces are co-planar - if ((p_b.XYZ() - p_a.XYZ()).Dot(v_a.XYZ()) <= prec) { - - TopTools_IndexedMapOfShape f_b_vertices; - TopExp::MapShapes(f_b, TopAbs_VERTEX, f_b_vertices); - - bool all_vertices_behind_f_b = true; - - // Check if all 'other' vertices in b are pointing - // away from the face in a. So that a boolean subtraction - // would not alter a. - for (int j = 1; j <= b_vertices.Extent(); ++j) { - if (!f_b_vertices.Contains(b_vertices(j))) { - auto p = BRep_Tool::Pnt(TopoDS::Vertex(b_vertices(j))); - if ((p.XYZ() - p_a.XYZ()).Dot(v_a.XYZ()) < prec * 10.) { - all_vertices_behind_f_b = false; - break; - } - } - } - - if (all_vertices_behind_f_b) { - is_touching = true; - break; - } - - } - } - } - - if (is_touching) { - break; - } - } - - if (!is_touching) { - c.Append(it.Value()); - } else { - ++N; - } - } - - return N; - } - - TopoDS_Shape unify(const TopoDS_Shape& s, double tolerance) { - tolerance = (std::min)(min_edge_length(s) / 2., tolerance); - ShapeUpgrade_UnifySameDomain usd(s); -#if OCC_VERSION_HEX >= 0x70200 - usd.SetSafeInputMode(true); -#endif -#if OCC_VERSION_HEX >= 0x70100 - usd.SetLinearTolerance(tolerance); - usd.SetAngularTolerance(1.e-3); -#endif - usd.Build(); - return usd.Shape(); - } - - gp_Trsf combine_offset_and_rotation(const gp_Vec &offset, const gp_Quaternion& rotation) { - auto offset_transform = gp_Trsf{}; - offset_transform.SetTranslation(offset); - - auto rotation_transform = gp_Trsf{}; - rotation_transform.SetRotation(rotation); - - return rotation_transform * offset_transform; - } + } void IfcGeom::Kernel::set_offset(const std::array &p_offset) { @@ -1366,7 +796,7 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, gp_GTrsf gtrsf = opening_shapes[i].Placement(); gtrsf.PreMultiply(opening_trsf); TopoDS_Shape opening_shape = apply_transformation(opening_shape_unlocated, gtrsf); - opening_vector.push_back(std::make_pair(min_edge_length(opening_shape), opening_shape)); + opening_vector.push_back(std::make_pair(util::min_edge_length(opening_shape), opening_shape)); } } @@ -4275,7 +3705,7 @@ bool IfcGeom::Kernel::wire_intersections(const TopoDS_Wire& wire, TopTools_ListO // eps is added to both ends of the parametric domain, so 3. is chosen to be on the safe side here. ? (faceset_helper_->epsilon() / 3.) // @todo re-evaluate 2. here for the reasons above: - : (std::min)(min_edge_length(wire) / 2., getValue(GV_PRECISION) * 10.); + : (std::min)(util::min_edge_length(wire) / 2., getValue(GV_PRECISION) * 10.); } // @todo: should this start from 0 in case of n > 64? @@ -4599,225 +4029,6 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a, const TopoDS_Shap } #else -namespace { - - bool boolean_subtraction_2d_using_builder(const TopoDS_Shape& a_input, const TopTools_ListOfShape& b_input, TopoDS_Shape& result, double eps) { - IfcGeom::impl::tree edge_tree; - - TopTools_ListOfShape ab_input = b_input; - ab_input.Prepend(a_input); - - TopTools_ListIteratorOfListOfShape it(ab_input); - int shape_index = 0; - int edge_index = 0; - std::map edge_index_to_shape_index; - - std::vector shapes; - std::vector> edges; - // First is the outer wire - std::vector wires; - - for (; it.More(); it.Next(), ++shape_index) { - if (it.Value().ShapeType() != TopAbs_FACE) { - return false; - } - - const TopoDS_Face& f = TopoDS::Face(it.Value()); - TopoDS_Wire outer_wire; - - if (shape_index == 0) { - outer_wire = BRepTools::OuterWire(f); - wires.push_back(outer_wire); - } - - size_t num_wires = 0; - TopoDS_Iterator it2(it.Value()); - for (; it2.More(); it2.Next()) { - ++num_wires; - - if (outer_wire.IsNull() || !it2.Value().IsSame(outer_wire)) { - wires.push_back(TopoDS::Wire(it2.Value())); - - if (shape_index == 0 && num_wires > 0) { - // An inner wire on the first operand face: reverse, because - // MakeFace expects inner boundaries to be added as bounded - // areas. - wires.back().Reverse(); - } - } - } - - if (num_wires > 1 && shape_index != 0) { - // The first operand can have inner wires, but the others - // can't because a inner wire would result in an additional - // outer wire for the result. - return false; - } - - shapes.push_back(it.Value()); - TopExp_Explorer exp(it.Value(), TopAbs_EDGE); - for (; exp.More(); exp.Next(), ++edge_index) { - edge_tree.add(edge_index, exp.Current()); - edge_index_to_shape_index[edge_index] = shape_index; - edges.push_back({ shape_index, TopoDS::Edge(exp.Current()) }); - } - } - - shape_index = 0; - edge_index = 0; - - it.Initialize(ab_input); - for (; it.More(); it.Next(), ++shape_index) { - TopExp_Explorer exp(it.Value(), TopAbs_EDGE); - for (; exp.More(); exp.Next(), ++edge_index) { - Bnd_Box b; - BRepBndLib::Add(exp.Current(), b); - b.Enlarge(eps); - - for (auto& i : edge_tree.select_box(b)) { - if (i == edge_index) { - // Skip self-selection - continue; - } - - if (edges[i].first == shape_index) { - // Skip edges of the same operand - continue; - } - - const TopoDS_Edge& e0 = TopoDS::Edge(exp.Current()); - const TopoDS_Edge& e1 = edges[i].second; - - double u11, u12, u21, u22, U1, U2; - - GeomAPI_ExtremaCurveCurve ecc( - BRep_Tool::Curve(e0, u11, u12), - BRep_Tool::Curve(e1, u21, u22) - ); - - // @todo: extend this to work in case of multiple extrema and curved segments. - const bool unbounded_intersects = (!ecc.Extrema().IsParallel() && ecc.NbExtrema() == 1 && ecc.Distance(1) < eps); - if (unbounded_intersects) { - ecc.Parameters(1, U1, U2); - - if (u11 > u12) { - std::swap(u11, u12); - } - if (u21 > u22) { - std::swap(u21, u22); - } - - /// @todo: tfk: probably need different thresholds on non-linear curves - u11 -= eps; - u12 += eps; - u21 -= eps; - u22 += eps; - - if (u11 < U1 && U1 < u12 && u21 < U2 && U2 < u22) { - // Edge curves belonging to different operands intersect, don't process - // using builder. - Logger::Notice("Intersecting boundaries"); - return false; - } - } - } - } - } - - // Only inner wires are considered that are directly contained in the outer wire - // Redundant subtractions are eliminated. - - std::vector redundant(wires.size(), false); - - std::vector wire_faces; - wire_faces.reserve(wires.size()); - - std::vector wire_clss; - wire_clss.reserve(wires.size()); - - std::vector> sass; - sass.reserve(wires.size()); - - for (auto& w : wires) { - wire_faces.push_back(BRepBuilderAPI_MakeFace(w).Face()); - wire_clss.emplace_back(wire_faces.back(), eps); - sass.push_back(std::make_unique(BRep_Tool::Surface(wire_faces.back()))); - } - - // First check for containment in outer wire - for (auto it = ++wires.begin(); it != wires.end(); ++it) { - // Considering a single vertex is sufficient because we have already - // guaranteed that the edges of different operands do not cross. - TopoDS_Iterator it_ed(*it); - auto& ed = it_ed.Value(); - - TopoDS_Iterator it_v(ed); - auto& v = TopoDS::Vertex(it_v.Value()); - - auto pnt = BRep_Tool::Pnt(v); - auto p2d = sass[0]->ValueOfUV(pnt, eps); - if (wire_clss[0].Perform(p2d) != TopAbs_IN) { - // A wire is not contained in the outer wire, it's a subtraction without - // any effect and marked as redundant. Feeding it to the builder algo - // will likely cause problems. - redundant[std::distance(wires.begin(), it)] = true; - Logger::Notice("Subtraction operand outside of outer bound"); - } - } - - // Now build a tree to find inner wires contained in other inner wires - // NB first wire is *not* in this tree - IfcGeom::impl::tree wire_tree; - for (size_t wire_index = 1; wire_index < wires.size(); ++wire_index) { - wire_tree.add(wire_index, wires[wire_index]); - } - - for (size_t wire_index = 1; wire_index < wires.size(); ++wire_index) { - Bnd_Box b; - BRepBndLib::Add(wires[wire_index], b); - b.Enlarge(eps); - - // We're only selecting operands completely within b because we - // have already guaranteed they do not intersect. So they are - // either fully in or out. Selecting with complete_within=true - // will filter out some unnecessary cases. It also means we need - // that due this assymetry we need to process all pairs of wire - // indices and not just the pairs where the first element is less - // than the second element. - for (auto& other_index : wire_tree.select_box(b, true)) { - // other_index is fully contained in wire_index - if (wire_index == other_index) { - continue; - } - - TopoDS_Iterator it_ed(wires[other_index]); - auto& ed = it_ed.Value(); - - TopoDS_Iterator it_v(ed); - auto& v = TopoDS::Vertex(it_v.Value()); - - auto pnt = BRep_Tool::Pnt(v); - auto p2d = sass[wire_index]->ValueOfUV(pnt, eps); - if (wire_clss[wire_index].Perform(p2d) == TopAbs_IN) { - // A wire is contained within another operand - redundant[other_index] = true; - Logger::Notice("Subtraction operand contained in other"); - } - } - } - - BRepBuilderAPI_MakeFace mf(wire_faces[0]); - for (size_t wire_index = 1; wire_index < wires.size(); ++wire_index) { - if (!redundant[wire_index]) { - mf.Add(TopoDS::Wire(wires[wire_index].Reversed())); - } - } - result = mf.Face(); - - return true; - } -} - bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTools_ListOfShape& b_input, BOPAlgo_Operation op, TopoDS_Shape& result, double fuzziness) { using namespace std::string_literals; @@ -4847,7 +4058,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo if (do_unify) { PERF("boolean operation: unifying operands"); - a = unify(a_input, fuzziness * 1000.); + a = util::unify(a_input, fuzziness * 1000.); Logger::Notice( "Simplified operand A from "s + @@ -4859,7 +4070,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { TopTools_ListIteratorOfListOfShape it(b_input); for (; it.More(); it.Next()) { - b.Append(unify(it.Value(), fuzziness)); + b.Append(util::unify(it.Value(), fuzziness)); Logger::Notice( "Simplified operand B from "s + std::to_string(count(it.Value(), TopAbs_FACE)) + @@ -4883,7 +4094,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo if (do_subtraction_eliminate_disjoint_bbox) { PERF("boolean subtraction: eliminate disjoint bbox"); - auto N = bounding_box_overlap(fuzziness, a, b, b_tmp); + auto N = util::bounding_box_overlap(fuzziness, a, b, b_tmp); if (N) { Logger::Notice("Eliminated " + std::to_string(N) + " disjoint operands"); std::swap(b, b_tmp); @@ -4894,7 +4105,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo PERF("boolean subtraction: eliminate touching"); b_tmp.Clear(); - auto N = eliminate_touching_operands(fuzziness, a, b, b_tmp); + auto N = util::eliminate_touching_operands(fuzziness, a, b, b_tmp); if (N) { Logger::Notice("Eliminated " + std::to_string(N) + " touching operands"); std::swap(b, b_tmp); @@ -4922,10 +4133,10 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { PERF("boolean operation: min edge length"); - min_length_orig = min_edge_length(a); + min_length_orig = util::min_edge_length(a); TopTools_ListIteratorOfListOfShape it(b); for (; it.More(); it.Next()) { - double d = min_edge_length(it.Value()); + double d = util::min_edge_length(it.Value()); if (d < min_length_orig) { min_length_orig = d; } @@ -4935,14 +4146,14 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { PERF("boolean operation: min vertex-edge dist"); - double d = min_vertex_edge_distance(a, getValue(GV_PRECISION), min_length_orig); + double d = util::min_vertex_edge_distance(a, getValue(GV_PRECISION), min_length_orig); if (d < min_length_orig) { min_length_orig = d; } TopTools_ListIteratorOfListOfShape it(b); for (; it.More(); it.Next()) { - d = min_vertex_edge_distance(it.Value(), getValue(GV_PRECISION), min_length_orig); + d = util::min_vertex_edge_distance(it.Value(), getValue(GV_PRECISION), min_length_orig); if (d < min_length_orig) { min_length_orig = d; } @@ -4954,7 +4165,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo Logger::Notice("Used fuzziness: " + std::to_string(fuzz)); TopTools_ListOfShape s1s; - s1s.Append(copy_operand(a)); + s1s.Append(util::copy_operand(a)); if (debug) { TopTools_ListOfShape* lists[2] = { &s1s, &b }; @@ -4978,7 +4189,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo if (do_attempt_2d_boolean) { PERF("boolean subtraction: extrusion check"); - is_extrusion_a = is_extrusion(gp::DY(), a, a_face, a_interval); + is_extrusion_a = util::is_extrusion(gp::DY(), a, a_face, a_interval); } if (is_extrusion_a) { @@ -4994,7 +4205,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { PERF("boolean subtraction: extrusion check"); - is_extrusion_b = is_extrusion(gp::DY(), it.Value(), b_face, b_interval); + is_extrusion_b = util::is_extrusion(gp::DY(), it.Value(), b_face, b_interval); } if (is_extrusion_b) { @@ -5025,7 +4236,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo PERF("boolean operation: 2d builder"); // First try using face builder - boolean_op_2d_success = boolean_subtraction_2d_using_builder(a_face, b_faces, face_result, fuzziness); + boolean_op_2d_success = util::boolean_subtraction_2d_using_builder(a_face, b_faces, face_result, fuzziness); } if (!boolean_op_2d_success) { @@ -5067,7 +4278,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo #endif builder->SetFuzzyValue(fuzz); builder->SetArguments(s1s); - copy_operand(b, b_tmp); + util::copy_operand(b, b_tmp); std::swap(b, b_tmp); builder->SetTools(b); { @@ -5183,7 +4394,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo auto& fi = it4.Value(); for (TopTools_ListIteratorOfListOfShape it2(faces_j); it2.More(); it2.Next()) { auto& fj = it2.Value(); - if (faces_overlap(TopoDS::Face(fi), TopoDS::Face(fj))) { + if (util::faces_overlap(TopoDS::Face(fi), TopoDS::Face(fj))) { overlap = true; } } @@ -5262,7 +4473,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { PERF("boolean operation: result min edge length check"); - if ((v = min_edge_length(r)) < fuzziness * 3.) { + if ((v = util::min_edge_length(r)) < fuzziness * 3.) { reason = 0; success = false; @@ -5273,7 +4484,7 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { PERF("boolean operation: result min vertex-edge dist check"); - if ((v = min_vertex_edge_distance(r, getValue(GV_PRECISION), fuzziness * 3.)) < fuzziness * 3.) { + if ((v = util::min_vertex_edge_distance(r, getValue(GV_PRECISION), fuzziness * 3.)) < fuzziness * 3.) { reason = 1; success = false; @@ -5284,9 +4495,9 @@ bool IfcGeom::Kernel::boolean_operation(const TopoDS_Shape& a_input, const TopTo { PERF("boolean operation: result min face-face dist check"); - if ((v = min_face_face_distance(r, 1.e-4)) < 1.e-4) { + if ((v = util::min_face_face_distance(r, 1.e-4)) < 1.e-4) { // #2095 Check if this distance wasn't already realized in the input first operand. - if (v < min_face_face_distance(a, 1.e-4)) { + if (v < util::min_face_face_distance(a, 1.e-4)) { reason = 2; success = false; } @@ -5706,3 +4917,11 @@ IfcGeom::Kernel::faceset_helper::faceset_helper( template class IfcGeom::Kernel::faceset_helper; template class IfcGeom::Kernel::faceset_helper, std::vector>; + +void IfcGeom::Kernel::set_conversion_placement_rel_to_type(const IfcParse::declaration* type) { + placement_rel_to_type_ = type; +} + +void IfcGeom::Kernel::set_conversion_placement_rel_to_instance(const IfcUtil::IfcBaseEntity* instance) { + placement_rel_to_instance_ = instance; +} diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 69a04f1339..99f6a87c13 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -87,24 +87,7 @@ if ( it != cache.T.end() ) { e = it->second; return true; } #include INCLUDE_PARENT_DIR(IfcSchema) namespace IfcGeom { - class IFC_GEOM_API geometry_exception : public std::exception { - protected: - std::string message; - public: - geometry_exception(const std::string& m) - : message(m) {} - virtual ~geometry_exception() throw () {} - virtual const char* what() const throw() { - return message.c_str(); - } - }; - - class IFC_GEOM_API too_many_faces_exception : public geometry_exception { - public: - too_many_faces_exception() - : geometry_exception("Too many faces for operation") {} - }; - + class IFC_GEOM_API MAKE_TYPE_NAME(Cache) { public: #include "mapping_cache.i" diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp deleted file mode 100644 index 7d2d339282..0000000000 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ /dev/null @@ -1,1284 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -/******************************************************************************** - * * - * Implementations of the various conversion functions defined in mapping.i * - * * - ********************************************************************************/ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include - -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include - -#include "../ifcgeom/IfcGeom.h" - -#ifdef SCHEMA_HAS_IfcBSplineSurfaceWithKnots -#include -#include -#include -#include -#endif - -#define Kernel MAKE_TYPE_NAME(Kernel) - -namespace { - /* Returns whether wire conforms to a polyhedron, i.e. only edges with linear curves*/ - bool is_polyhedron(const TopoDS_Wire& wire) { - double a, b; - TopLoc_Location l; - - TopoDS_Iterator it(wire, false, false); - for (; it.More(); it.Next()) { - auto crv = BRep_Tool::Curve(TopoDS::Edge(it.Value()), l, a, b); - if (!crv || crv->DynamicType() != STANDARD_TYPE(Geom_Line)) { - return false; - } - } - - return true; - } - - /* A temporary structure to store the intermediate data for the face conversion */ - class face_definition { - private: - Handle(Geom_Surface) surface_; - std::vector wires_; - bool all_outer_; - public: - face_definition() : surface_(), all_outer_(false) {} - - typedef std::vector::const_iterator wire_it; - - bool& all_outer() { - return all_outer_; - } - - bool all_outer() const { - return all_outer_; - } - - Handle(Geom_Surface)& surface() { - return surface_; - } - - const Handle(Geom_Surface)& surface() const { - return surface_; - } - - std::vector& wires() { - return wires_; - } - - const TopoDS_Wire& outer_wire() const { - return wires_.front(); - } - - std::pair inner_wires() const { - return { wires_.begin() + 1, wires_.end() }; - } - }; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& result) { - IfcSchema::IfcFaceBound::list::ptr bounds = l->Bounds(); - - face_definition fd; - - const bool is_face_surface = l->declaration().is(IfcSchema::IfcFaceSurface::Class()); - - if (is_face_surface) { - IfcSchema::IfcFaceSurface* fs = (IfcSchema::IfcFaceSurface*) l; - fs->FaceSurface(); - // FIXME: Surfaces are interpreted as a TopoDS_Shape - TopoDS_Shape surface_shape; - if (!convert_shape(fs->FaceSurface(), surface_shape)) return false; - - // FIXME: Assert this obtaines the only face - TopExp_Explorer exp(surface_shape, TopAbs_FACE); - if (!exp.More()) return false; - - TopoDS_Face surface = TopoDS::Face(exp.Current()); - fd.surface() = BRep_Tool::Surface(surface); - } - - const int num_bounds = bounds->size(); - int num_outer_bounds = 0; - - for (IfcSchema::IfcFaceBound::list::it it = bounds->begin(); it != bounds->end(); ++it) { - IfcSchema::IfcFaceBound* bound = *it; - if (bound->declaration().is(IfcSchema::IfcFaceOuterBound::Class())) num_outer_bounds ++; - } - - // The number of outer bounds should be one according to the schema. Also Open Cascade - // expects this, but it is not strictly checked. Regardless, if the number is greater, - // the face will still be processed as long as there are no holes. A compound of faces - // is returned in that case. - if (num_bounds > 1 && num_outer_bounds > 1 && num_bounds != num_outer_bounds) { - Logger::Message(Logger::LOG_ERROR, "Invalid configuration of boundaries for:", l); - return false; - } - - if (num_outer_bounds > 1) { - Logger::Message(Logger::LOG_WARNING, "Multiple outer boundaries for:", l); - fd.all_outer() = true; - } - - TopTools_DataMapOfShapeInteger wire_senses; - - for (int process_interior = 0; process_interior <= 1; ++process_interior) { - for (IfcSchema::IfcFaceBound::list::it it = bounds->begin(); it != bounds->end(); ++it) { - IfcSchema::IfcFaceBound* bound = *it; - IfcSchema::IfcLoop* loop = bound->Bound(); - - bool same_sense = bound->Orientation(); - const bool is_interior = - !bound->declaration().is(IfcSchema::IfcFaceOuterBound::Class()) && - (num_bounds > 1) && - (num_outer_bounds < num_bounds); - - // The exterior face boundary is processed first - if (is_interior == !process_interior) continue; - - TopoDS_Wire wire; - if (faceset_helper_ && loop->as()) { - if (!faceset_helper_->wire(loop->as(), wire)) { - Logger::Message(Logger::LOG_WARNING, "Face boundary loop not included", loop); - continue; - } - } else if (!convert_wire(loop, wire)) { - Logger::Message(Logger::LOG_ERROR, "Failed to process face boundary loop", loop); - return false; - } - - if (!same_sense) { - wire.Reverse(); - } - - wire_senses.Bind(wire.Oriented(TopAbs_FORWARD), same_sense ? TopAbs_FORWARD : TopAbs_REVERSED); - - fd.wires().emplace_back(wire); - } - } - - if (fd.wires().empty()) { - Logger::Warning("Face with no boundaries", l); - return false; - } - - if (fd.surface().IsNull()) { - // Use the first wire to find a plane manually for polygonal wires - const TopoDS_Wire& wire = fd.wires().front(); - if (is_polyhedron(wire)) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - int count = 0; - TopoDS_Edge edges[2]; - for (; exp.More(); exp.Next(), count++) { - if (count < 2) { - edges[count] = TopoDS::Edge(exp.Current()); - } - } - - if (count == 3) { - // Help Open Cascade by finding the plane more efficiently - double _, __; - Handle(Geom_Line) c1 = Handle(Geom_Line)::DownCast(BRep_Tool::Curve(edges[0], _, __)); - Handle(Geom_Line) c2 = Handle(Geom_Line)::DownCast(BRep_Tool::Curve(edges[1], _, __)); - - const gp_Vec ab = c1->Position().Direction(); - const gp_Vec ac = c2->Position().Direction(); - const gp_Vec cross = ab.Crossed(ac); - - if (cross.SquareMagnitude() > ALMOST_ZERO) { - const gp_Dir n = cross; - fd.surface() = new Geom_Plane(c1->Position().Location(), n); - } - } else { - gp_Pln pln; - if (approximate_plane_through_wire(wire, pln)) { - fd.surface() = new Geom_Plane(pln); - } - } - } - } - - if (fd.surface().IsNull()) { - // BRepLib_FindSurface is used in case no surface is found or provided - - const TopoDS_Wire& wire = fd.wires().front(); - - BRepLib_FindSurface fs(wire, getValue(GV_PRECISION), true, true); - if (fs.Found()) { - fd.surface() = fs.Surface(); - ShapeFix_ShapeTolerance ftol; - ftol.SetTolerance(wire, fs.ToleranceReached(), TopAbs_WIRE); - } - } - - TopTools_ListOfShape face_list; - - if (fd.surface().IsNull()) { - // The set of wires is triangulated in case no surface can be found - Logger::Message(Logger::LOG_WARNING, "Triangulating face boundaries for face", l); - - if (fd.all_outer()) { - for (const auto& w : fd.wires()) { - TopTools_ListOfShape fl; - triangulate_wire({ w }, fl); - face_list.Append(fl); - } - } else { - triangulate_wire(fd.wires(), face_list); - } - } else if (!fd.all_outer()) { - BRepBuilderAPI_MakeFace mf(fd.surface(), fd.outer_wire()); - TopoDS_Face f = mf.Face(); - - if (mf.IsDone()) { - if (std::distance(fd.inner_wires().first, fd.inner_wires().second)) { - mf.Init(f); - - for (auto it = fd.inner_wires().first; it != fd.inner_wires().second; ++it) { - mf.Add(*it); - } - - face_list.Append(mf.Face()); - } else { - face_list.Append(f); - } - } - } else { - for (const auto& w : fd.wires()) { - BRepBuilderAPI_MakeFace mf(fd.surface(), w); - if (mf.IsDone()) { - face_list.Append(mf.Face()); - } - } - } - - if (!fd.surface().IsNull()) { - // Some fixes for orientation and p-curves. If we have no surface, it - // means the face has been triangulated in which case none of these - // fixes are necessary. - - if (fd.surface()->DynamicType() != STANDARD_TYPE(Geom_Plane)) { - // In case of (non-planar) face surface, p-curves need to be computed. - // For planar faces, Open Cascade generates p-curves on the fly. - - for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { - ShapeFix_Shape sfs(it.Value()); - - Handle(ShapeExtend_MsgRegistrator) msg; - msg = new ShapeExtend_MsgRegistrator; - sfs.SetMsgRegistrator(msg); - - sfs.Perform(); - it.Value() = sfs.Shape(); - - ShapeExtend_DataMapIteratorOfDataMapOfShapeListOfMsg jt(msg->MapShape()); - for (; jt.More(); jt.Next()) { - Message_ListIteratorOfListOfMsg kt(jt.Value()); - for (; kt.More(); kt.Next()) { - char* c = new char[kt.Value().Value().LengthOfCString() + 1]; - kt.Value().Value().ToUTF8CString(c); - Logger::Notice(c, l); - delete[] c; - } - } - } - } - - for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { - const TopoDS_Face& face = TopoDS::Face(it.Value()); - - ShapeFix_Face sfs(TopoDS::Face(face)); - TopTools_DataMapOfShapeListOfShape wire_map; - sfs.FixOrientation(wire_map); - - TopoDS_Iterator jt(face, false); - for (; jt.More(); jt.Next()) { - const TopoDS_Wire& w = TopoDS::Wire(jt.Value()); - // tfk: @todo if wire_map contains w, I would assume wire_senses also contains w, - // this is not the case in github issue #405. - if (wire_map.IsBound(w) && wire_senses.IsBound(w)) { - const TopTools_ListOfShape& shapes = wire_map.Find(w); - TopTools_ListIteratorOfListOfShape kt(shapes); - for (; kt.More(); kt.Next()) { - // Apparently the wire got reversed, so register it with opposite orientation in the map - wire_senses.Bind(kt.Value(), wire_senses.Find(w) == TopAbs_FORWARD ? TopAbs_REVERSED : TopAbs_FORWARD); - } - } - } - - it.Value() = sfs.Face(); - } - - for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { - TopoDS_Face& face = TopoDS::Face(it.Value()); - - bool all_reversed = true; - TopoDS_Iterator jt(face, false); - for (; jt.More(); jt.Next()) { - const TopoDS_Wire& w = TopoDS::Wire(jt.Value()); - if (!wire_senses.IsBound(w.Oriented(TopAbs_FORWARD)) || (w.Orientation() == wire_senses.Find(w.Oriented(TopAbs_FORWARD)))) { - all_reversed = false; - } - } - - if (all_reversed) { - face.Reverse(); - } - } - } - - if (face_list.Extent() > 1) { - TopoDS_Compound compound; - BRep_Builder builder; - builder.MakeCompound(compound); - for (TopTools_ListIteratorOfListOfShape it(face_list); it.More(); it.Next()) { - TopoDS_Face& face = TopoDS::Face(it.Value()); - builder.Add(compound, face); - } - result = compound; - } else { - result = face_list.First(); - } - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryClosedProfileDef* l, TopoDS_Shape& face) { - TopoDS_Wire wire; - if (!convert_wire(l->OuterCurve(), wire)) { - return false; - } - - assert_closed_wire(wire); - - TopoDS_Compound f; - bool success = convert_wire_to_faces(wire, f); - if (success) { - face = f; - } - return success; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcAnnotationFillArea* l, TopoDS_Shape& face) { - TopoDS_Wire outer_boundary; - if (!convert_wire(l->OuterBoundary(), outer_boundary)) { - return false; - } - - assert_closed_wire(outer_boundary); - - BRepBuilderAPI_MakeFace mf(outer_boundary); - - if (l->InnerBoundaries()) { - IfcSchema::IfcCurve::list::ptr inner_boundaries = *l->InnerBoundaries(); - - for(IfcSchema::IfcCurve::list::it it = inner_boundaries->begin(); it != inner_boundaries->end(); ++it) { - TopoDS_Wire hole; - if (convert_wire(*it, hole)) { - assert_closed_wire(hole); - mf.Add(hole); - } - } - } - - ShapeFix_Shape sfs(mf.Face()); - sfs.Perform(); - face = sfs.Shape(); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryProfileDefWithVoids* l, TopoDS_Shape& face) { - TopoDS_Wire profile; - if (!convert_wire(l->OuterCurve(), profile)) { - return false; - } - - assert_closed_wire(profile); - - BRepBuilderAPI_MakeFace mf(profile); - - IfcSchema::IfcCurve::list::ptr voids = l->InnerCurves(); - - for(IfcSchema::IfcCurve::list::it it = voids->begin(); it != voids->end(); ++it) { - TopoDS_Wire hole; - if (convert_wire(*it, hole)) { - assert_closed_wire(hole); - mf.Add(hole); - } - } - - ShapeFix_Shape sfs(mf.Face()); - sfs.Perform(); - face = sfs.Shape(); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangleProfileDef* l, TopoDS_Shape& face) { - const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); - const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[8] = {-x,-y,x,-y,x,y,-x,y}; - return profile_helper(4,coords,0,0,0,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRoundedRectangleProfileDef* l, TopoDS_Shape& face) { - const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); - const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); - const double r = l->RoundingRadius() * getValue(GV_LENGTH_UNIT); - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO || r < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[8] = {-x,-y, x,-y, x,y, -x,y}; - int fillets[4] = {0,1,2,3}; - double radii[4] = {r,r,r,r}; - return profile_helper(4,coords,4,fillets,radii,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangleHollowProfileDef* l, TopoDS_Shape& face) { - const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); - const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); - const double d = l->WallThickness() * getValue(GV_LENGTH_UNIT); - - const bool fr1 = !!l->OuterFilletRadius(); - const bool fr2 = !!l->InnerFilletRadius(); - - const double r1 = fr1 ? (*l->OuterFilletRadius()) * getValue(GV_LENGTH_UNIT) : 0.; - const double r2 = fr2 ? (*l->InnerFilletRadius()) * getValue(GV_LENGTH_UNIT) : 0.; - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - TopoDS_Face f1; - TopoDS_Face f2; - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords1[8] = {-x ,-y, x ,-y, x, y, -x, y }; - double coords2[8] = {-x+d,-y+d, x-d,-y+d, x-d,y-d, -x+d,y-d}; - double radii1[4] = {r1,r1,r1,r1}; - double radii2[4] = {r2,r2,r2,r2}; - int fillets[4] = {0,1,2,3}; - - bool s1 = profile_helper(4,coords1,fr1 ? 4 : 0,fillets,radii1,trsf2d,f1); - bool s2 = profile_helper(4,coords2,fr2 ? 4 : 0,fillets,radii2,trsf2d,f2); - - if (!s1 || !s2) return false; - - TopExp_Explorer exp1(f1, TopAbs_WIRE); - TopExp_Explorer exp2(f2, TopAbs_WIRE); - - TopoDS_Wire w1 = TopoDS::Wire(exp1.Current()); - TopoDS_Wire w2 = TopoDS::Wire(exp2.Current()); - - BRepBuilderAPI_MakeFace mf(w1, false); - mf.Add(w2); - - ShapeFix_Shape sfs(mf.Face()); - sfs.Perform(); - face = TopoDS::Face(sfs.Shape()); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrapeziumProfileDef* l, TopoDS_Shape& face) { - const double x1 = l->BottomXDim() / 2. * getValue(GV_LENGTH_UNIT); - const double w = l->TopXDim() * getValue(GV_LENGTH_UNIT); - const double dx = l->TopXOffset() * getValue(GV_LENGTH_UNIT); - const double y = l->YDim() / 2. * getValue(GV_LENGTH_UNIT); - - // See: https://forums.buildingsmart.org/t/how-are-the-sides-of-ifctrapeziumprofiledefs-bounding-box-calculated-in-most-implementations/2945/8 - // The trapezium x center should not be midway of BottomXDim but rather at the center of the overall bounding box. - const double x_offset = ((std::min(dx, 0.) + std::max(w + dx, x1 * 2.)) / 2.) - x1; - - if ( x1 < ALMOST_ZERO || w < ALMOST_ZERO || y < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[8] = { - -x1 - x_offset, -y, - +x1 - x_offset, -y, - -x1 + dx + w - x_offset, y, - -x1 + dx - x_offset,y - }; - return profile_helper(4,coords,0,0,0,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcIShapeProfileDef* l, TopoDS_Shape& face) { - const double x1 = l->OverallWidth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double y = l->OverallDepth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double d1 = l->WebThickness() / 2.0f * getValue(GV_LENGTH_UNIT); - const double dy1 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - - bool doFillet1 = !!l->FilletRadius(); - double f1 = 0.; - if ( doFillet1 ) { - f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); - } - - bool doFillet2 = doFillet1; - double x2 = x1, dy2 = dy1, f2 = f1; - - // @todo in IFC4 a IfcAsymmetricIShapeProfileDef is not a subtype anymore of IfcIShapeProfileDef! - if (l->declaration().is(IfcSchema::IfcAsymmetricIShapeProfileDef::Class())) { - IfcSchema::IfcAsymmetricIShapeProfileDef* assym = (IfcSchema::IfcAsymmetricIShapeProfileDef*) l; - x2 = assym->TopFlangeWidth() / 2. * getValue(GV_LENGTH_UNIT); - doFillet2 = !!assym->TopFlangeFilletRadius(); - if (doFillet2) { - f2 = *assym->TopFlangeFilletRadius() * getValue(GV_LENGTH_UNIT); - } - if (assym->TopFlangeThickness()) { - dy2 = *assym->TopFlangeThickness() * getValue(GV_LENGTH_UNIT); - } - } - - if ( x1 < ALMOST_ZERO || x2 < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || dy1 < ALMOST_ZERO || dy2 < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[24] = {-x1,-y, x1,-y, x1,-y+dy1, d1,-y+dy1, d1,y-dy2, x2,y-dy2, x2,y, -x2,y, -x2,y-dy2, -d1,y-dy2, -d1,-y+dy1, -x1,-y+dy1}; - int fillets[4] = {3,4,9,10}; - double radii[4] = {f1,f2,f2,f1}; - return profile_helper(12,coords,(doFillet1||doFillet2) ? 4 : 0,fillets,radii,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcZShapeProfileDef* l, TopoDS_Shape& face) { - const double x = l->FlangeWidth() * getValue(GV_LENGTH_UNIT); - const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double dx = l->WebThickness() / 2.0f * getValue(GV_LENGTH_UNIT); - const double dy = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - - bool doFillet = !!l->FilletRadius(); - bool doEdgeFillet = !!l->EdgeRadius(); - - double f1 = 0.; - double f2 = 0.; - - if ( doFillet ) { - f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); - } - if ( doEdgeFillet ) { - f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); - } - - if ( x == 0.0f || y == 0.0f || dx == 0.0f || dy == 0.0f ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[16] = {-dx,-y, x,-y, x,-y+dy, dx,-y+dy, dx,y, -x,y, -x,y-dy, -dx,y-dy}; - int fillets[4] = {2,3,6,7}; - double radii[4] = {f2,f1,f2,f1}; - return profile_helper(8,coords,(doFillet || doEdgeFillet) ? 4 : 0,fillets,radii,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCShapeProfileDef* l, TopoDS_Shape& face) { - const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double x = l->Width() / 2.0f * getValue(GV_LENGTH_UNIT); - const double d1 = l->WallThickness() * getValue(GV_LENGTH_UNIT); - const double d2 = l->Girth() * getValue(GV_LENGTH_UNIT); - bool doFillet = !!l->InternalFilletRadius(); - double f1 = 0; - double f2 = 0; - if ( doFillet ) { - f1 = *l->InternalFilletRadius() * getValue(GV_LENGTH_UNIT); - f2 = f1 + d1; - } - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[24] = {-x,-y,x,-y,x,-y+d2,x-d1,-y+d2,x-d1,-y+d1,-x+d1,-y+d1,-x+d1,y-d1,x-d1,y-d1,x-d1,y-d2,x,y-d2,x,y,-x,y}; - int fillets[8] = {0,1,4,5,6,7,10,11}; - double radii[8] = {f2,f2,f1,f1,f1,f1,f2,f2}; - return profile_helper(12,coords,doFillet ? 8 : 0,fillets,radii,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcLShapeProfileDef* l, TopoDS_Shape& face) { - const bool hasSlope = !!l->LegSlope(); - const bool doEdgeFillet = !!l->EdgeRadius(); - const bool doFillet = !!l->FilletRadius(); - - const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double x = l->Width().get_value_or(l->Depth()) / 2.0f * getValue(GV_LENGTH_UNIT); - const double d = l->Thickness() * getValue(GV_LENGTH_UNIT); - const double slope = l->LegSlope().get_value_or(0.) * getValue(GV_PLANEANGLE_UNIT); - - double f1 = 0.0f; - double f2 = 0.0f; - if (doFillet) { - f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); - } - if ( doEdgeFillet) { - f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); - } - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - double xx = -x+d; - double xy = -y+d; - double dy1 = 0.; - double dy2 = 0.; - double dx1 = 0.; - double dx2 = 0.; - if (hasSlope) { - dy1 = tan(slope) * x; - dy2 = tan(slope) * (x - d); - dx1 = tan(slope) * y; - dx2 = tan(slope) * (y - d); - - const double x1s = x; const double y1s = -y + d - dy1; - const double x1e = -x + d; const double y1e = -y + d + dy2; - const double x2s = -x + d - dx1; const double y2s = y; - const double x2e = -x + d + dx2; const double y2e = -y + d; - - const double a1 = y1e - y1s; - const double b1 = x1s - x1e; - const double c1 = a1*x1s + b1*y1s; - - const double a2 = y2e - y2s; - const double b2 = x2s - x2e; - const double c2 = a2*x2s + b2*y2s; - - const double det = a1*b2 - a2*b1; - - if (ALMOST_THE_SAME(det, 0.)) { - Logger::Message(Logger::LOG_NOTICE, "Legs do not intersect for:",l); - return false; - } - - xx = (b2*c1 - b1*c2) / det; - xy = (a1*c2 - a2*c1) / det; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[12] = {-x,-y, x,-y, x,-y+d-dy1, xx, xy, -x+d-dx1,y, -x,y}; - int fillets[3] = {2,3,4}; - double radii[3] = {f2,f1,f2}; - return profile_helper(6,coords,doFillet ? 3 : 0,fillets,radii,trsf2d,face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcUShapeProfileDef* l, TopoDS_Shape& face) { - const bool doEdgeFillet = !!l->EdgeRadius(); - const bool doFillet = !!l->FilletRadius(); - const bool hasSlope = !!l->FlangeSlope(); - - const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double x = l->FlangeWidth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double d1 = l->WebThickness() * getValue(GV_LENGTH_UNIT); - const double d2 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - const double slope = l->FlangeSlope().get_value_or(0.) * getValue(GV_PLANEANGLE_UNIT); - - double dy1 = 0.0f; - double dy2 = 0.0f; - double f1 = 0.0f; - double f2 = 0.0f; - - if (doFillet) { - f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); - } - if (doEdgeFillet) { - f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); - } - - if (hasSlope) { - dy1 = (x - d1) * tan(slope); - dy2 = x * tan(slope); - } - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[16] = {-x,-y, x,-y, x,-y+d2-dy2, -x+d1,-y+d2+dy1, -x+d1,y-d2-dy1, x,y-d2+dy2, x,y, -x,y}; - int fillets[4] = {2,3,4,5}; - double radii[4] = {f2,f1,f1,f2}; - return profile_helper(8, coords, (doFillet || doEdgeFillet) ? 4 : 0, fillets, radii, trsf2d, face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcTShapeProfileDef* l, TopoDS_Shape& face) { - const bool doFlangeEdgeFillet = !!l->FlangeEdgeRadius(); - const bool doWebEdgeFillet = !!l->WebEdgeRadius(); - const bool doFillet = !!l->FilletRadius(); - const bool hasFlangeSlope = !!l->FlangeSlope(); - const bool hasWebSlope = !!l->WebSlope(); - - const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double x = l->FlangeWidth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double d1 = l->WebThickness() * getValue(GV_LENGTH_UNIT); - const double d2 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - const double flangeSlope = hasFlangeSlope ? (*l->FlangeSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; - const double webSlope = hasWebSlope ? (*l->WebSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; - - if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - double dy1 = 0.0f; - double dy2 = 0.0f; - double dx1 = 0.0f; - double dx2 = 0.0f; - double f1 = 0.0f; - double f2 = 0.0f; - double f3 = 0.0f; - - if (doFillet) { - f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); - } - if (doWebEdgeFillet) { - f2 = *l->WebEdgeRadius() * getValue(GV_LENGTH_UNIT); - } - if (doFlangeEdgeFillet) { - f3 = *l->FlangeEdgeRadius() * getValue(GV_LENGTH_UNIT); - } - - double xx, xy; - if (hasFlangeSlope) { - dy1 = (x / 2. - d1) * tan(flangeSlope); - dy2 = x / 2. * tan(flangeSlope); - } - if (hasWebSlope) { - dx1 = (y - d2) * tan(webSlope); - dx2 = y * tan(webSlope); - } - if (hasWebSlope || hasFlangeSlope) { - const double x1s = d1/2. - dx2; const double y1s = -y; - const double x1e = d1/2. + dx1; const double y1e = y - d2; - const double x2s = x; const double y2s = y - d2 + dy2; - const double x2e = d1/2.; const double y2e = y - d2 - dy1; - - const double a1 = y1e - y1s; - const double b1 = x1s - x1e; - const double c1 = a1*x1s + b1*y1s; - - const double a2 = y2e - y2s; - const double b2 = x2s - x2e; - const double c2 = a2*x2s + b2*y2s; - - const double det = a1*b2 - a2*b1; - - if (ALMOST_THE_SAME(det, 0.)) { - Logger::Message(Logger::LOG_NOTICE, "Web and flange do not intersect for:",l); - return false; - } - - xx = (b2*c1 - b1*c2) / det; - xy = (a1*c2 - a2*c1) / det; - } else { - xx = d1 / 2; - xy = y - d2; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[16] = {d1/2.-dx2,-y, xx,xy, x,y-d2+dy2, x,y, -x,y, -x,y-d2+dy2, -xx,xy, -d1/2.+dx2,-y}; - int fillets[6] = {0,1,2,5,6,7}; - double radii[6] = {f2,f1,f3,f3,f1,f2}; - return profile_helper(8, coords, (doFillet || doWebEdgeFillet || doFlangeEdgeFillet) ? 6 : 0, fillets, radii, trsf2d, face); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircleProfileDef* l, TopoDS_Shape& face) { - const double r = l->Radius() * getValue(GV_LENGTH_UNIT); - if ( r == 0.0f ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - gp_Ax2 ax = gp_Ax2().Transformed(trsf2d); - - - Handle(Geom_Circle) circle = new Geom_Circle(ax, r); - TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(circle); - - BRepBuilderAPI_MakeWire w; - w.Add(edge); - - TopoDS_Face f; - bool success = convert_wire_to_face(w, f); - if (success) face = f; - return success; -} - -#ifdef SCHEMA_HAS_IfcCraneRailAShapeProfileDef -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCraneRailAShapeProfileDef* l, TopoDS_Shape& face) { - double oh = l->OverallHeight() * getValue(GV_LENGTH_UNIT); - double bw2 = l->BaseWidth2() * getValue(GV_LENGTH_UNIT); - double hw = l->HeadWidth() * getValue(GV_LENGTH_UNIT); - double hd2 = l->HeadDepth2() * getValue(GV_LENGTH_UNIT); - double hd3 = l->HeadDepth3() * getValue(GV_LENGTH_UNIT); - double wt = l->WebThickness() * getValue(GV_LENGTH_UNIT); - double bw4 = l->BaseWidth4() * getValue(GV_LENGTH_UNIT); - double bd1 = l->BaseDepth1() * getValue(GV_LENGTH_UNIT); - double bd2 = l->BaseDepth2() * getValue(GV_LENGTH_UNIT); - double bd3 = l->BaseDepth3() * getValue(GV_LENGTH_UNIT); - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - double coords[28] = { - -hw / 2., +oh / 2., - -hw / 2., +oh / 2. - hd3, - -wt / 2., +oh / 2. - hd2, - -wt / 2., -oh / 2. + bd2, - -bw4 / 2., -oh / 2. + bd3, - -bw2 / 2., -oh / 2. + bd1, - -bw2 / 2., -oh / 2., - +bw2 / 2., -oh / 2., - +bw2 / 2., -oh / 2. + bd1, - +bw4 / 2., -oh / 2. + bd3, - +wt / 2., -oh / 2. + bd2, - +wt / 2., +oh / 2. - hd2, - +hw / 2., +oh / 2. - hd3, - +hw / 2., +oh / 2. - }; - - return profile_helper(14, coords, 0, 0, 0, trsf2d, face); -} -#endif - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircleHollowProfileDef* l, TopoDS_Shape& face) { - const double r = l->Radius() * getValue(GV_LENGTH_UNIT); - const double t = l->WallThickness() * getValue(GV_LENGTH_UNIT); - - if ( r == 0.0f || t == 0.0f ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - gp_Ax2 ax = gp_Ax2().Transformed(trsf2d); - - BRepBuilderAPI_MakeWire outer; - Handle(Geom_Circle) outerCircle = new Geom_Circle(ax, r); - outer.Add(BRepBuilderAPI_MakeEdge(outerCircle)); - BRepBuilderAPI_MakeFace mf(outer.Wire(), false); - - BRepBuilderAPI_MakeWire inner; - Handle(Geom_Circle) innerCirlce = new Geom_Circle(ax, r-t); - inner.Add(BRepBuilderAPI_MakeEdge(innerCirlce)); - mf.Add(inner); - - ShapeFix_Shape sfs(mf.Face()); - sfs.Perform(); - face = TopoDS::Face(sfs.Shape()); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcEllipseProfileDef* l, TopoDS_Shape& face) { - double rx = l->SemiAxis1() * getValue(GV_LENGTH_UNIT); - double ry = l->SemiAxis2() * getValue(GV_LENGTH_UNIT); - - if ( rx < ALMOST_ZERO || ry < ALMOST_ZERO ) { - Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); - return false; - } - - const bool rotated = ry > rx; - - gp_Trsf2d trsf2d; - bool has_position = true; -#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf2d); - } - - gp_Ax2 ax = gp_Ax2(); - if (rotated) { - ax.Rotate(ax.Axis(), M_PI / 2.); - std::swap(rx, ry); - } - ax.Transform(trsf2d); - - BRepBuilderAPI_MakeWire w; - Handle(Geom_Ellipse) ellipse = new Geom_Ellipse(ax, rx, ry); - TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(ellipse); - w.Add(edge); - - TopoDS_Face f; - bool success = convert_wire_to_face(w, f); - if (success) face = f; - return success; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCenterLineProfileDef* l, TopoDS_Shape& face) { - const double d = l->Thickness() * getValue(GV_LENGTH_UNIT) / 2.; - - TopoDS_Wire wire; - if (!convert_wire(l->Curve(), wire)) return false; - - // BRepOffsetAPI_MakeOffset insists on creating circular arc - // segments for joining the curves that constitute the center - // line. This is probably not in accordance with the IFC spec. - // Although it does not specify a method to join segments - // explicitly, it does dictate 'a constant thickness along the - // curve'. Therefore for simple singular wires a quick - // alternative is provided that uses a straight join. - - TopExp_Explorer exp(wire, TopAbs_EDGE); - TopoDS_Edge edge = TopoDS::Edge(exp.Current()); - exp.Next(); - - if (!exp.More()) { - double u1, u2; - Handle(Geom_Curve) curve = BRep_Tool::Curve(edge, u1, u2); - - Handle(Geom_TrimmedCurve) trim = new Geom_TrimmedCurve(curve, u1, u2); - - Handle(Geom_OffsetCurve) c1 = new Geom_OffsetCurve(trim, d, gp::DZ()); - Handle(Geom_OffsetCurve) c2 = new Geom_OffsetCurve(trim, -d, gp::DZ()); - - gp_Pnt c1a, c1b, c2a, c2b; - c1->D0(c1->FirstParameter(), c1a); - c1->D0(c1->LastParameter(), c1b); - c2->D0(c2->FirstParameter(), c2a); - c2->D0(c2->LastParameter(), c2b); - - BRepBuilderAPI_MakeWire mw; - mw.Add(BRepBuilderAPI_MakeEdge(c1)); - mw.Add(BRepBuilderAPI_MakeEdge(c1a, c2a)); - mw.Add(BRepBuilderAPI_MakeEdge(c2)); - mw.Add(BRepBuilderAPI_MakeEdge(c2b, c1b)); - - face = BRepBuilderAPI_MakeFace(mw.Wire()); - } else { - BRepOffsetAPI_MakeOffset offset(BRepBuilderAPI_MakeFace(gp_Pln(gp::Origin(), gp::DZ()))); - offset.AddWire(wire); - offset.Perform(d); - face = BRepBuilderAPI_MakeFace(TopoDS::Wire(offset)); - } - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeProfileDef* l, TopoDS_Shape& face) { - // BRepBuilderAPI_MakeFace mf; - - TopoDS_Compound compound; - BRep_Builder builder; - builder.MakeCompound(compound); - - IfcSchema::IfcProfileDef::list::ptr profiles = l->Profiles(); - //bool first = true; - for (IfcSchema::IfcProfileDef::list::it it = profiles->begin(); it != profiles->end(); ++it) { - TopoDS_Face f; - if (convert_face(*it, f)) { - builder.Add(compound, f); - /* TopExp_Explorer exp(f, TopAbs_WIRE); - for (; exp.More(); exp.Next()) { - const TopoDS_Wire& wire = TopoDS::Wire(exp.Current()); - if (first) { - mf.Init(BRepBuilderAPI_MakeFace(wire)); - } else { - mf.Add(wire); - } - first = false; - } */ - } - } - - face = compound; - return !face.IsNull(); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcDerivedProfileDef* l, TopoDS_Shape& face) { - TopoDS_Face f; - gp_Trsf2d trsf2d; - if (convert_face(l->ParentProfile(), f) && IfcGeom::Kernel::convert(l->Operator(), trsf2d)) { - gp_Trsf trsf = trsf2d; - face = BRepBuilderAPI_Transform(f, trsf).Shape(); - return true; - } else { - return false; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* l, TopoDS_Shape& face) { - gp_Pln pln; - convert(l, pln); - Handle_Geom_Surface surf = new Geom_Plane(pln); -#if OCC_VERSION_HEX < 0x60502 - face = BRepBuilderAPI_MakeFace(surf); -#else - face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); -#endif - return true; -} - -#ifdef SCHEMA_HAS_IfcBSplineSurfaceWithKnots - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcBSplineSurfaceWithKnots* l, TopoDS_Shape& face) { - boost::shared_ptr< aggregate_of_aggregate_of > cps = l->ControlPointsList(); - std::vector uknots = l->UKnots(); - std::vector vknots = l->VKnots(); - std::vector umults = l->UMultiplicities(); - std::vector vmults = l->VMultiplicities(); - - TColgp_Array2OfPnt Poles (0, (int)cps->size() - 1, 0, (int)(*cps->begin()).size() - 1); - TColStd_Array1OfReal UKnots(0, (int)uknots.size() - 1); - TColStd_Array1OfReal VKnots(0, (int)vknots.size() - 1); - TColStd_Array1OfInteger UMults(0, (int)umults.size() - 1); - TColStd_Array1OfInteger VMults(0, (int)vmults.size() - 1); - Standard_Integer UDegree = l->UDegree(); - Standard_Integer VDegree = l->VDegree(); - - int i = 0, j; - for (aggregate_of_aggregate_of::outer_it it = cps->begin(); it != cps->end(); ++it, ++i) { - j = 0; - for (aggregate_of_aggregate_of::inner_it jt = (*it).begin(); jt != (*it).end(); ++jt, ++j) { - IfcSchema::IfcCartesianPoint* p = *jt; - gp_Pnt pnt; - if (!convert(p, pnt)) return false; - Poles(i, j) = pnt; - } - } - i = 0; - for (std::vector::const_iterator it = uknots.begin(); it != uknots.end(); ++it, ++i) { - UKnots(i) = *it; - } - i = 0; - for (std::vector::const_iterator it = vknots.begin(); it != vknots.end(); ++it, ++i) { - VKnots(i) = *it; - } - i = 0; - for (std::vector::const_iterator it = umults.begin(); it != umults.end(); ++it, ++i) { - UMults(i) = *it; - } - i = 0; - for (std::vector::const_iterator it = vmults.begin(); it != vmults.end(); ++it, ++i) { - VMults(i) = *it; - } - Handle_Geom_Surface surf = new Geom_BSplineSurface(Poles, UKnots, VKnots, UMults, VMults, UDegree, VDegree); - -#if OCC_VERSION_HEX < 0x60502 - face = BRepBuilderAPI_MakeFace(surf); -#else - face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); -#endif - - return true; -} - -#endif diff --git a/src/ifcgeom/IfcGeomHelpers.cpp b/src/ifcgeom/IfcGeomHelpers.cpp deleted file mode 100644 index ee2918a1f6..0000000000 --- a/src/ifcgeom/IfcGeomHelpers.cpp +++ /dev/null @@ -1,476 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -/******************************************************************************** - * * - * Implementations of the various conversion functions defined in mapping.i * - * * - ********************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include - -#include "../ifcgeom/IfcGeom.h" - -#define Kernel MAKE_TYPE_NAME(Kernel) - -namespace { - - // Helper functions (re)set gp_(G)Trsf(2d) forms explicitly to 'Identity' - // so that it can be easily identified in the IfcMappedItem processing - - // For axis placements detect equality early in order for the - // relatively computionaly expensive gp_Trsf calculation to be skipped - template - bool axis_equal(const T& a, const T& b, double tolerance); - template <> - bool axis_equal(const gp_Ax3& a, const gp_Ax3& b, double tolerance) { - if (!a.Location().IsEqual(b.Location(), tolerance)) return false; - // Note that the tolerance below is angular, above is linear. Since architectural - // objects are about 1m'ish in scale, it should be somewhat equivalent. Besides, - // this is mostly a filter for NULL or default values in the placements. - if (!a.Direction().IsEqual(b.Direction(), tolerance)) return false; - if (!a.XDirection().IsEqual(b.XDirection(), tolerance)) return false; - if (!a.YDirection().IsEqual(b.YDirection(), tolerance)) return false; - return true; - } - - bool axis_equal(const gp_Ax2d& a, const gp_Ax2d& b, double tolerance) { - if (!a.Location().IsEqual(b.Location(), tolerance)) return false; - if (!a.Direction().IsEqual(b.Direction(), tolerance)) return false; - return true; - } - - template struct dimension_count {}; - template <> struct dimension_count { static const int n = 2; }; - template <> struct dimension_count { static const int n = 2; }; - template <> struct dimension_count < gp_Trsf > { static const int n = 3; }; - template <> struct dimension_count < gp_GTrsf > { static const int n = 3; }; - - template - bool is_identity(const T& t, double tolerance) { - // Note the {1, n+1} range due to Open Cascade's 1-based indexing - // Note the {1, n+2} range due to the translation part of the matrix - for (int i = 1; i < dimension_count::n + 2; ++i) { - for (int j = 1; j < dimension_count::n + 1; ++j) { - const double iden_value = i == j ? 1. : 0.; - const double trsf_value = t.Value(j, i); - if (fabs(trsf_value - iden_value) > tolerance) { - return false; - } - } - } - return true; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianPoint* l, gp_Pnt& point) { - IN_CACHE(IfcCartesianPoint,l,gp_Pnt,point) - std::vector xyz = l->Coordinates(); - point = gp_Pnt( - xyz.size() ? (xyz[0]*getValue(GV_LENGTH_UNIT)) : 0.0f, - xyz.size() > 1 ? (xyz[1]*getValue(GV_LENGTH_UNIT)) : 0.0f, - xyz.size() > 2 ? (xyz[2]*getValue(GV_LENGTH_UNIT)) : 0.0f - ); - CACHE(IfcCartesianPoint,l,point) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcDirection* l, gp_Dir& dir) { - IN_CACHE(IfcDirection,l,gp_Dir,dir) - std::vector xyz = l->DirectionRatios(); - dir = gp_Dir( - xyz.size() ? xyz[0] : 0.0f, - xyz.size() > 1 ? xyz[1] : 0.0f, - xyz.size() > 2 ? xyz[2] : 0.0f - ); - CACHE(IfcDirection,l,dir) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcVector* l, gp_Vec& v) { - IN_CACHE(IfcVector,l,gp_Vec,v) - gp_Dir d; - IfcGeom::Kernel::convert(l->Orientation(),d); - v = l->Magnitude() * getValue(GV_LENGTH_UNIT) * d; - CACHE(IfcVector,l,v) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement3D* l, gp_Trsf& trsf) { - IN_CACHE(IfcAxis2Placement3D, l, gp_Trsf, trsf) - - gp_Pnt o; - gp_Dir axis(0, 0, 1); - gp_Dir refDirection; - - if (!l->Location()->declaration().is("IfcCartesianPoint")) { - // only applicable to 4x3 rc2 - Logger::Error("Not implemented", l->Location()); - return false; - } - - IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(), o); - const bool hasAxis = !!l->Axis(); - const bool hasRef = !!l->RefDirection(); - - if (hasAxis != hasRef) { - Logger::Warning("Axis and RefDirection should be specified together", l); - } - - if (hasAxis) { - IfcGeom::Kernel::convert(l->Axis(), axis); - } - - if (hasRef) { - IfcGeom::Kernel::convert(l->RefDirection(), refDirection); - } else { - if (!axis.IsParallel(gp::DX(), 1.e-5)) { - refDirection = gp::DX(); - } else { - refDirection = gp::DZ(); - } - gp_Vec Xvec = axis.Dot(refDirection) * axis; - gp_Vec Xaxis = refDirection.XYZ() - Xvec.XYZ(); - refDirection = Xaxis; - } - - gp_Ax3 ax3(o, axis, refDirection); - - if (!axis_equal(ax3, (gp_Ax3) gp::XOY(), getValue(GV_PRECISION))) { - trsf.SetTransformation(ax3, gp::XOY()); - } - - CACHE(IfcAxis2Placement3D,l,trsf) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis1Placement* l, gp_Ax1& ax) { - IN_CACHE(IfcAxis1Placement,l,gp_Ax1,ax) - gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1); - - if (!l->Location()->declaration().is("IfcCartesianPoint")) { - // only applicable to 4x3 rc2 - Logger::Error("Not implemented", l->Location()); - return false; - } - - IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(),o); - if ( l->Axis() ) IfcGeom::Kernel::convert(l->Axis(), axis); - ax = gp_Ax1(o, axis); - CACHE(IfcAxis1Placement,l,ax) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator3D* l, gp_Trsf& trsf) { - IN_CACHE(IfcCartesianTransformationOperator3D,l,gp_Trsf,trsf) - gp_Pnt origin; - IfcGeom::Kernel::convert(l->LocalOrigin(),origin); - gp_Dir axis1 (1.,0.,0.); - gp_Dir axis2 (0.,1.,0.); - gp_Dir axis3 (0.,0.,1.); - if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); - if ( l->Axis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); - gp_Ax3 ax3 (origin,axis3,axis1); - if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); - - if (!axis_equal(ax3, (gp_Ax3) gp::XOY(), getValue(GV_PRECISION))) { - trsf.SetTransformation(ax3); - trsf.Invert(); - } - - if (l->Scale() && !ALMOST_THE_SAME(*l->Scale(), 1.)) { - trsf.SetScaleFactor(*l->Scale()); - } - - CACHE(IfcCartesianTransformationOperator3D,l,trsf) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator2D* l, gp_Trsf2d& trsf) { - IN_CACHE(IfcCartesianTransformationOperator2D,l,gp_Trsf2d,trsf) - - gp_Pnt origin; - gp_Dir axis1 (1.,0.,0.); - gp_Dir axis2 (0.,1.,0.); - - IfcGeom::Kernel::convert(l->LocalOrigin(),origin); - if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); - - const gp_Pnt2d origin2d(origin.X(), origin.Y()); - const gp_Dir2d axis12d(axis1.X(), axis1.Y()); - const gp_Dir2d axis22d(axis2.X(), axis2.Y()); - - // A better match to represent the IfcCartesianTransformationOperator2D would - // be the gp_Ax22d, but to my knowledge no easy way exists to convert it into - // a gp_Trsf2d. Easiest would probably be to simply update the underlying - // gp_Mat2d directly. - - const gp_Ax2d ax2d (origin2d, axis12d); - trsf.SetTransformation(ax2d); - - if ( ax2d.Direction().Rotated(M_PI / 2.).Dot(axis22d) < 0. ) { - gp_Trsf2d mirror; mirror.SetMirror(ax2d); - trsf.Multiply(mirror); - } - - trsf.Invert(); - if (l->Scale() && !ALMOST_THE_SAME(*l->Scale(), 1.)) { - trsf.SetScaleFactor(*l->Scale()); - } - - if (is_identity(trsf, getValue(GV_PRECISION))) { - trsf = gp_Trsf2d(); - } - - CACHE(IfcCartesianTransformationOperator2D,l,trsf) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator3DnonUniform* l, gp_GTrsf& gtrsf) { - IN_CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gp_GTrsf,gtrsf) - gp_Trsf trsf; - gp_Pnt origin; - IfcGeom::Kernel::convert(l->LocalOrigin(),origin); - gp_Dir axis1 (1.,0.,0.); - gp_Dir axis2 (0.,1.,0.); - gp_Dir axis3 (0.,0.,1.); - if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); - if ( l->Axis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); - gp_Ax3 ax3 (origin,axis3,axis1); - if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); - trsf.SetTransformation(ax3); - trsf.Invert(); - const double scale1 = l->Scale().get_value_or(1.); - const double scale2 = l->Scale2().get_value_or(scale1); - const double scale3 = l->Scale3().get_value_or(scale1); - gtrsf = gp_GTrsf(); - gtrsf.SetValue(1,1,scale1); - gtrsf.SetValue(2,2,scale2); - gtrsf.SetValue(3,3,scale3); - gtrsf.PreMultiply(trsf); - - if (is_identity(gtrsf, getValue(GV_PRECISION))) { - gtrsf = gp_GTrsf(); - } - - CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gtrsf) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperator2DnonUniform* l, gp_GTrsf2d& gtrsf) { - IN_CACHE(IfcCartesianTransformationOperator2DnonUniform,l,gp_GTrsf2d,gtrsf) - - gp_Trsf2d trsf; - gp_Pnt origin; - gp_Dir axis1 (1.,0.,0.); - gp_Dir axis2 (0.,1.,0.); - - IfcGeom::Kernel::convert(l->LocalOrigin(),origin); - if ( l->Axis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->Axis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); - - const gp_Pnt2d origin2d(origin.X(), origin.Y()); - const gp_Dir2d axis12d(axis1.X(), axis1.Y()); - const gp_Dir2d axis22d(axis2.X(), axis2.Y()); - - const gp_Ax2d ax2d (origin2d, axis12d); - trsf.SetTransformation(ax2d); - - if ( ax2d.Direction().Rotated(M_PI / 2.).Dot(axis22d) < 0. ) { - gp_Trsf2d mirror; mirror.SetMirror(ax2d); - trsf.Multiply(mirror); - } - - trsf.Invert(); - - const double scale1 = l->Scale().get_value_or(1.); - const double scale2 = l->Scale2().get_value_or(scale1); - gtrsf = gp_GTrsf2d(); - gtrsf.SetValue(1,1,scale1); - gtrsf.SetValue(2,2,scale2); - gtrsf.Multiply(trsf); - - if (is_identity(gtrsf, getValue(GV_PRECISION))) { - gtrsf = gp_GTrsf2d(); - } - - CACHE(IfcCartesianTransformationOperator2DnonUniform,l,gtrsf) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* pln, gp_Pln& plane) { - IN_CACHE(IfcPlane,pln,gp_Pln,plane) - IfcSchema::IfcAxis2Placement3D* l = pln->Position(); - gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1);gp_Dir refDirection; - - if (!l->Location()->declaration().is("IfcCartesianPoint")) { - // only applicable to 4x3 rc2 - Logger::Error("Not implemented", l->Location()); - return false; - } - - IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(),o); - bool hasRef = !!l->RefDirection(); - if ( l->Axis() ) IfcGeom::Kernel::convert(l->Axis(),axis); - if ( hasRef ) IfcGeom::Kernel::convert(l->RefDirection(),refDirection); - gp_Ax3 ax3; - if ( hasRef ) ax3 = gp_Ax3(o,axis,refDirection); - else ax3 = gp_Ax3(o,axis); - plane = gp_Pln(ax3); - CACHE(IfcPlane,pln,plane) - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement2D* l, gp_Trsf2d& trsf) { - IN_CACHE(IfcAxis2Placement2D,l,gp_Trsf2d,trsf) - gp_Pnt P; gp_Dir V (1,0,0); - - if (!l->Location()->declaration().is("IfcCartesianPoint")) { - // only applicable to 4x3 rc2 - Logger::Error("Not implemented", l->Location()); - return false; - } - - IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(),P); - if (l->RefDirection()) { - IfcGeom::Kernel::convert(l->RefDirection(), V); - } - - gp_Ax2d axis(gp_Pnt2d(P.X(),P.Y()), gp_Dir2d(V.X(),V.Y())); - - if (!axis_equal(axis, gp_Ax2d(), getValue(GV_PRECISION))) { - trsf.SetTransformation(axis, gp_Ax2d()); - } - - CACHE(IfcAxis2Placement2D,l,trsf) - return true; -} - -void IfcGeom::Kernel::set_conversion_placement_rel_to_type(const IfcParse::declaration* type) { - placement_rel_to_type_ = type; -} - -void IfcGeom::Kernel::set_conversion_placement_rel_to_instance(const IfcUtil::IfcBaseEntity* instance) { - placement_rel_to_instance_ = instance; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcObjectPlacement* l, gp_Trsf& trsf) { - IN_CACHE(IfcObjectPlacement,l,gp_Trsf,trsf) - if ( ! l->declaration().is(IfcSchema::IfcLocalPlacement::Class()) ) { - Logger::Message(Logger::LOG_ERROR, "Unsupported IfcObjectPlacement:", l); - return false; - } - IfcSchema::IfcLocalPlacement* current = (IfcSchema::IfcLocalPlacement*)l; - for (;;) { - - gp_Trsf trsf2; - IfcSchema::IfcAxis2Placement* relplacement = current->RelativePlacement(); - if (relplacement->as()) { - IfcGeom::Kernel::convert(relplacement->as(),trsf2); - trsf.PreMultiply(trsf2); - } - - if (current->PlacementRelTo()) { - IfcSchema::IfcObjectPlacement* parent = current->PlacementRelTo(); - - bool parent_placement_ignored = false; - if (placement_rel_to_type_ || placement_rel_to_instance_) { - IfcSchema::IfcProduct::list::ptr parent_places = parent->PlacesObject(); - for (auto iter = parent_places->begin(); iter != parent_places->end(); ++iter) { - if ((placement_rel_to_type_ && (*iter)->declaration().is(*placement_rel_to_type_)) || - (placement_rel_to_instance_ && (*iter)->as() == placement_rel_to_instance_)) { - parent_placement_ignored = true; - } - } - } - - if (parent_placement_ignored) { - // The parent placement of the current is a placement for a type that is - // being ignored (Site or Building) or it is the host element of an opening. - break; - } else if (parent->declaration().is(IfcSchema::IfcLocalPlacement::Class())) { - // Keep processing parent placements - current = current->PlacementRelTo()->as(); - } else { - // This is the root placement (typically Site). - break; - } - } else { - break; - } - } - - trsf.PreMultiply(offset_and_rotation); - - CACHE(IfcObjectPlacement,l,trsf) - return true; -} diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp deleted file mode 100644 index 73ba45f0b8..0000000000 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ /dev/null @@ -1,1864 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -/******************************************************************************** - * * - * Implementations of the various conversion functions defined in mapping.i * - * * - ********************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include -#include - -#include - -#include - -#include - -#include "../ifcgeom/IfcGeom.h" - -#include - -#ifdef SCHEMA_HAS_IfcToroidalSurface -#include -#endif - -#define Kernel MAKE_TYPE_NAME(Kernel) - -// uncomment if you'd like negative or close to zero extrusion depths to succeed -// #define PERMISSIVE_EXTRUSION - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_Shape& shape) { - const double height = l->Depth() * getValue(GV_LENGTH_UNIT); - if (height < getValue(GV_PRECISION)) { - Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l); -#ifndef PERMISSIVE_EXTRUSION - return false; -#endif - } - - TopoDS_Shape face; - if ( !convert_face(l->SweptArea(),face) ) return false; - -#ifdef PERMISSIVE_EXTRUSION - if (abs(height) < getValue(GV_PRECISION)) { - shape = face; - return true; - } -#endif - - gp_Trsf trsf; - bool has_position = true; -#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf); - } - - gp_Dir dir; - convert(l->ExtrudedDirection(),dir); - - shape.Nullify(); - - /* - // @nb This logic was probably flawed always as this does not by itself result in a valid compsolid... - if (face.ShapeType() == TopAbs_COMPOUND) { - - // For compounds (most likely the result of a IfcCompositeProfileDef) - // create a compound solid shape. - - TopExp_Explorer exp(face, TopAbs_FACE); - - TopoDS_CompSolid compound; - BRep_Builder builder; - builder.MakeCompSolid(compound); - - int num_faces_extruded = 0; - for (; exp.More(); exp.Next(), ++num_faces_extruded) { - builder.Add(compound, BRepPrimAPI_MakePrism(exp.Current(), height*dir)); - } - - if (num_faces_extruded) { - shape = compound; - } - - } - */ - - if (shape.IsNull()) { - shape = BRepPrimAPI_MakePrism(face, height*dir); - } - - if (has_position && !shape.IsNull()) { - // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D - // and therefore has a unit scale factor - shape.Move(trsf); - } - - return !shape.IsNull(); -} - -#ifdef SCHEMA_HAS_IfcExtrudedAreaSolidTapered -bool IfcGeom::Kernel::convert(const IfcSchema::IfcExtrudedAreaSolidTapered* l, TopoDS_Shape& shape) { - const double height = l->Depth() * getValue(GV_LENGTH_UNIT); - if (height < getValue(GV_PRECISION)) { - Logger::Message(Logger::LOG_ERROR, "Non-positive extrusion height encountered for:", l); - return false; - } - - TopoDS_Shape face1, face2; - if (!convert_face(l->SweptArea(), face1)) return false; - if (!convert_face(l->EndSweptArea(), face2)) return false; - - gp_Trsf trsf; - bool has_position = true; -#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf); - } - - gp_Dir dir; - convert(l->ExtrudedDirection(), dir); - - gp_Trsf end_profile; - end_profile.SetTranslation(height * dir); - - TopoDS_Edge spine_edge = BRepBuilderAPI_MakeEdge(gp_Pnt(), gp_Pnt((height * dir).XYZ())).Edge(); - TopoDS_Wire wire = BRepBuilderAPI_MakeWire(spine_edge).Wire(); - - shape.Nullify(); - - TopExp_Explorer exp1(face1, TopAbs_WIRE); - TopExp_Explorer exp2(face2, TopAbs_WIRE); - - TopoDS_Vertex v1, v2; - TopExp::Vertices(wire, v1, v2); - - TopoDS_Shape shell; - TopoDS_Compound compound; - BRep_Builder compound_builder; - - for (; exp1.More() && exp2.More(); exp1.Next(), exp2.Next()) { - const TopoDS_Wire& w1 = TopoDS::Wire(exp1.Current()); - const TopoDS_Wire& w2 = TopoDS::Wire(exp2.Current()); - - BRepOffsetAPI_MakePipeShell builder(wire); - builder.Add(w1, v1); - builder.Add(w2.Moved(end_profile), v2); - - TopoDS_Shape result = builder.Shape(); - - TopTools_ListOfShape li; - shape_to_face_list(result, li); - li.Append(BRepBuilderAPI_MakeFace(w1).Face().Reversed()); - li.Append(BRepBuilderAPI_MakeFace(w2).Face().Moved(end_profile)); - - create_solid_from_faces(li, result, true); - - // @todo ugly hack - - // The reason for this distinction is that at this point of the loop we're not sure anymore - // whether this was constructed from an inner or outer bound. So rather than iterating over - // wires of `face1` and `face2` we should iterate over the faces and then properly check with - // BRepTools::OuterBound(). - // Currently this distinction happens based on profile type which is not robust and probably - // not complete. - if (shell.IsNull()) { - shell = result; - } else if (l->SweptArea()->declaration().is(IfcSchema::IfcCircleHollowProfileDef::Class()) || - l->SweptArea()->declaration().is(IfcSchema::IfcRectangleHollowProfileDef::Class()) || - l->SweptArea()->declaration().is(IfcSchema::IfcArbitraryProfileDefWithVoids::Class())) - { - // @todo properly check for failure and all. - shell = BRepAlgoAPI_Cut(shell, result).Shape(); - } else { - if (compound.IsNull()) { - compound_builder.MakeCompound(compound); - compound_builder.Add(compound, shell); - } - compound_builder.Add(compound, result); - } - } - - if (!compound.IsNull()) { - shell = compound; - } - - shape = shell; - - if (exp1.More() != exp2.More()) { - Logger::Message(Logger::LOG_ERROR, "Inconsistent profiles encountered for:", l); - } - - if (has_position && !shape.IsNull()) { - // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D - // and therefore has a unit scale factor - shape.Move(trsf); - } - - return !shape.IsNull(); -} -#endif - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceOfLinearExtrusion* l, TopoDS_Shape& shape) { - TopoDS_Wire wire; - if ( !convert_wire(l->SweptCurve(), wire) ) { - TopoDS_Face face; - if ( !convert_face(l->SweptCurve(),face) ) return false; - TopExp_Explorer exp(face, TopAbs_WIRE); - wire = TopoDS::Wire(exp.Current()); - } - const double height = l->Depth() * getValue(GV_LENGTH_UNIT); - - gp_Trsf trsf; - bool has_position = true; -#ifdef SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf); - } - - gp_Dir dir; - convert(l->ExtrudedDirection(),dir); - - shape = BRepPrimAPI_MakePrism(wire, height*dir); - - if (has_position) { - // IfcSweptSurface.Position (trsf) is an IfcAxis2Placement3D - // and therefore has a unit scale factor - shape.Move(trsf); - } - - return !shape.IsNull(); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceOfRevolution* l, TopoDS_Shape& shape) { - TopoDS_Wire wire; - if ( !convert_wire(l->SweptCurve(), wire) ) { - TopoDS_Face face; - if ( !convert_face(l->SweptCurve(),face) ) return false; - TopExp_Explorer exp(face, TopAbs_WIRE); - wire = TopoDS::Wire(exp.Current()); - } - - gp_Ax1 ax1; - IfcGeom::Kernel::convert(l->AxisPosition(), ax1); - - gp_Trsf trsf; - bool has_position = true; -#ifdef SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf); - } - - shape = BRepPrimAPI_MakeRevol(wire, ax1); - - if (has_position) { - // IfcSweptSurface.Position (trsf) is an IfcAxis2Placement3D - // and therefore has a unit scale factor - shape.Move(trsf); - } - - return !shape.IsNull(); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRevolvedAreaSolid* l, TopoDS_Shape& shape) { - const double ang = l->Angle() * getValue(GV_PLANEANGLE_UNIT); - - TopoDS_Shape face; - if ( ! convert_face(l->SweptArea(),face) ) return false; - - gp_Ax1 ax1; - IfcGeom::Kernel::convert(l->Axis(), ax1); - - gp_Trsf trsf; - bool has_position = true; -#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf); - } - - - { - // https://github.com/IfcOpenShell/IfcOpenShell/issues/1030 - // Check whether Axis does not intersect SweptArea - - double min_dot = +std::numeric_limits::infinity(); - double max_dot = -std::numeric_limits::infinity(); - - gp_Ax2 ax(ax1.Location(), gp::DZ(), ax1.Direction()); - - TopExp_Explorer exp(face, TopAbs_EDGE); - for (; exp.More(); exp.Next()) { - BRepAdaptor_Curve crv(TopoDS::Edge(exp.Current())); - GCPnts_QuasiUniformDeflection tessellater(crv, getValue(GV_PRECISION)); - - int n = tessellater.NbPoints(); - for (int i = 1; i <= n; ++i) { - double d = ax.YDirection().XYZ().Dot(tessellater.Value(i).XYZ()); - if (d < min_dot) { - min_dot = d; - } - if (d > max_dot) { - max_dot = d; - } - } - } - - bool intersecting; - if (std::abs(min_dot) > std::abs(max_dot)) { - intersecting = max_dot > + getValue(GV_PRECISION); - } else { - intersecting = min_dot < - getValue(GV_PRECISION); - } - - if (intersecting) { - Logger::Warning("Warning Axis and SweptArea intersecting", l); - } - } - - if (ang >= M_PI * 2. - ALMOST_ZERO) { - shape = BRepPrimAPI_MakeRevol(face, ax1); - } else { - shape = BRepPrimAPI_MakeRevol(face, ax1, ang); - } - - if (has_position) { - // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D - // and therefore has a unit scale factor - shape.Move(trsf); - } - - return !shape.IsNull(); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcManifoldSolidBrep* l, IfcRepresentationShapeItems& shape) { - TopoDS_Shape s; - auto collective_style = get_style(l); - if (convert_shape(l->Outer(),s) ) { - auto indiv_style = get_style(l->Outer()); - - IfcSchema::IfcClosedShell::list::ptr voids(new IfcSchema::IfcClosedShell::list); - if (l->declaration().is(IfcSchema::IfcFacetedBrepWithVoids::Class())) { - voids = l->as()->Voids(); - } -#ifdef SCHEMA_HAS_IfcAdvancedBrepWithVoids - if (l->declaration().is(IfcSchema::IfcAdvancedBrepWithVoids::Class())) { - voids = l->as()->Voids(); - } -#endif - - for (IfcSchema::IfcClosedShell::list::it it = voids->begin(); it != voids->end(); ++it) { - TopoDS_Shape s2; - /// @todo No extensive shapefixing since shells should be disjoint. - /// @todo Awaiting generalized boolean ops module with appropriate checking - if (convert_shape(l->Outer(), s2)) { - s = BRepAlgoAPI_Cut(s, s2).Shape(); - } - } - - shape.push_back(IfcRepresentationShapeItem(l->data().id(), s, indiv_style ? indiv_style : collective_style)); - return true; - } - return false; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcFaceBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { - bool part_success = false; - IfcSchema::IfcConnectedFaceSet::list::ptr facesets = l->FbsmFaces(); - auto collective_style = get_style(l); - for( IfcSchema::IfcConnectedFaceSet::list::it it = facesets->begin(); it != facesets->end(); ++ it ) { - TopoDS_Shape s; - auto shell_style = get_style(*it); - if (convert_shape(*it,s)) { - shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, shell_style ? shell_style : collective_style)); - part_success |= true; - } - } - return part_success; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcHalfSpaceSolid* l, TopoDS_Shape& shape) { - IfcSchema::IfcSurface* surface = l->BaseSurface(); - if ( ! surface->declaration().is(IfcSchema::IfcPlane::Class()) ) { - Logger::Message(Logger::LOG_ERROR, "Unsupported BaseSurface:", surface); - return false; - } - gp_Pln pln; - IfcGeom::Kernel::convert((IfcSchema::IfcPlane*)surface,pln); - const gp_Pnt pnt = pln.Location().Translated( l->AgreementFlag() ? -pln.Axis().Direction() : pln.Axis().Direction()); - shape = BRepPrimAPI_MakeHalfSpace(BRepBuilderAPI_MakeFace(pln),pnt).Solid(); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace* l, TopoDS_Shape& shape) { - TopoDS_Shape halfspace; - if ( ! IfcGeom::Kernel::convert((IfcSchema::IfcHalfSpaceSolid*)l,halfspace) ) return false; - - TopoDS_Wire wire; - if ( ! convert_wire(l->PolygonalBoundary(),wire) || ! wire.Closed() ) return false; - - gp_Trsf trsf; - if ( ! convert(l->Position(),trsf) ) return false; - - TColgp_SequenceOfPnt points; - if (wire_to_sequence_of_point(wire, points)) { - // Boolean subtractions not very robust for narrow operands, - // increase minimal point spacing to eliminate such shapes. - const double t = getValue(GV_PRECISION) * 10.; - remove_duplicate_points_from_loop(points, wire.Closed() != 0, t); // Note: wire always closed, as per if statement above - remove_collinear_points_from_loop(points, wire.Closed() != 0, t); - if (points.Length() < 3) { - Logger::Message(Logger::LOG_ERROR, "Not enough points retained from:", l->PolygonalBoundary()); - return false; - } - sequence_of_point_to_wire(points, wire, wire.Closed() != 0); - } - - TopoDS_Shape prism = BRepPrimAPI_MakePrism(BRepBuilderAPI_MakeFace(wire),gp_Vec(0,0,200)); - gp_Trsf down; down.SetTranslation(gp_Vec(0,0,-100.0)); - - // `trsf` and `down` both have a unit scale factor - prism.Move(trsf*down); - - shape = BRepAlgoAPI_Common(halfspace,prism); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { - aggregate_of_instance::ptr shells = l->SbsmBoundary(); - auto collective_style = get_style(l); - for( aggregate_of_instance::it it = shells->begin(); it != shells->end(); ++ it ) { - TopoDS_Shape s; - decltype(collective_style) shell_style; - if ((*it)->declaration().is(IfcSchema::IfcRepresentationItem::Class())) { - shell_style = get_style((IfcSchema::IfcRepresentationItem*)*it); - } - if (convert_shape(*it,s)) { - shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, shell_style ? shell_style : collective_style)); - } - } - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { - - TopoDS_Shape s1; - IfcRepresentationShapeItems items1; - TopoDS_Wire boundary_wire; - IfcSchema::IfcBooleanOperand* operand1 = l->FirstOperand(); - IfcSchema::IfcBooleanOperand* operand2 = l->SecondOperand(); - bool has_halfspace_operand = false; - - BOPAlgo_Operation occ_op; - - const IfcSchema::IfcBooleanOperator::Value op = l->Operator(); - if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) { - occ_op = BOPAlgo_CUT; - } else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_INTERSECTION) { - occ_op = BOPAlgo_COMMON; - } else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION) { - occ_op = BOPAlgo_FUSE; - } else { - return false; - } - - std::vector second_operands; - second_operands.push_back(operand2); - - if (occ_op == BOPAlgo_CUT) { - int n_half_space_operands = 0; - bool process_as_list = true; - while (true) { - auto res1 = operand1->as(); - if (res1 && res1->SecondOperand()->as() && ++n_half_space_operands > 8) { - // There is something peculiar about many half space subtraction operands that OCCT does not like. - // Often these are used to create a semi-curved arch, as is the case in 693. Supplying all these - // operands at once apparently leads to too many edge-edge interference checks. - process_as_list = false; - break; - } - if (res1) { - if (res1->Operator() == op) { - operand1 = res1->FirstOperand(); - second_operands.push_back(res1->SecondOperand()); - } else { - process_as_list = false; - break; - } - } else { - break; - } - } - - if (!process_as_list) { - operand1 = l->FirstOperand(); - second_operands = { operand2 }; - } - } - - if ( shape_type(operand1) == ST_SHAPELIST ) { - if (!(convert_shapes(operand1, items1) && flatten_shape_list(items1, s1, true))) { - return false; - } - } else if ( shape_type(operand1) == ST_SHAPE ) { - if ( ! convert_shape(operand1, s1) ) { - return false; - } - { TopoDS_Solid temp_solid; - s1 = ensure_fit_for_subtraction(s1, temp_solid); } - } else { - Logger::Message(Logger::LOG_ERROR, "Invalid representation item for boolean operation", operand1); - return false; - } - - if (getValue(GV_DISABLE_BOOLEAN_RESULT) > 0.0) { - shape = s1; - return true; - } - - const double first_operand_volume = shape_volume(s1); - if (first_operand_volume <= ALMOST_ZERO) { - Logger::Message(Logger::LOG_WARNING, "Empty solid for:", l->FirstOperand()); - } - - TopTools_ListOfShape second_operand_shapes; - - for (auto& op2 : second_operands) { - TopoDS_Shape s2; - - bool shape2_processed = false; - - bool is_halfspace = op2->declaration().is(IfcSchema::IfcHalfSpaceSolid::Class()); - bool is_unbounded_halfspace = is_halfspace && !op2->declaration().is(IfcSchema::IfcPolygonalBoundedHalfSpace::Class()); - has_halfspace_operand |= is_halfspace; - - { - if (shape_type(op2) == ST_SHAPELIST) { - IfcRepresentationShapeItems items2; - shape2_processed = convert_shapes(op2, items2) && flatten_shape_list(items2, s2, true); - } else if (shape_type(op2) == ST_SHAPE) { - shape2_processed = convert_shape(op2, s2); - if (shape2_processed) { - TopoDS_Solid temp_solid; - s2 = ensure_fit_for_subtraction(s2, temp_solid); - } - } else { - Logger::Message(Logger::LOG_ERROR, "Invalid representation item for boolean operation", op2); - } - } - - if (is_unbounded_halfspace) { - TopoDS_Shape temp; - double d; - if (fit_halfspace(s1, s2, temp, d)) { - if (d < getValue(GV_PRECISION)) { - Logger::Message(Logger::LOG_WARNING, "Halfspace subtraction yields unchanged volume:", l); - continue; - } else { - s2 = temp; - } - } - } - - if (!shape2_processed) { - Logger::Message(Logger::LOG_ERROR, "Failed to convert SecondOperand:", op2); - continue; - } - - if (op2->declaration().is(IfcSchema::IfcHalfSpaceSolid::Class())) { - const double second_operand_volume = shape_volume(s2); - if (second_operand_volume <= ALMOST_ZERO) { - Logger::Message(Logger::LOG_WARNING, "Empty solid for:", op2); - } - } - - second_operand_shapes.Append(s2); - } - - /* - // TK: A little debugging trick to output both operands for visual inspection - - BRep_Builder builder; - TopoDS_Compound compound; - builder.MakeCompound(compound); - builder.Add(compound, s1); - for (const auto& s2 : second_operand_shapes) { - builder.Add(compound, s2); - } - shape = compound; - return true; - */ - -#if OCC_VERSION_HEX < 0x60900 - // @todo: this currently does not compile anymore, do we still need this? - bool valid_result = boolean_operation(s1, s2, occ_op, shape); -#else - - bool valid_result; - - if (s1.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s1).More() && util::is_nested_compound_of_solid(s1)) { - TopoDS_Compound C; - BRep_Builder B; - B.MakeCompound(C); - TopoDS_Iterator it(s1); - valid_result = true; - for (; it.More(); it.Next()) { - TopoDS_Shape part; - if (boolean_operation(it.Value(), second_operand_shapes, occ_op, part)) { - B.Add(C, part); - } else { - valid_result = false; - } - } - shape = C; - } else { - valid_result = boolean_operation(s1, second_operand_shapes, occ_op, shape); - } - -#endif - - if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE) { - // In case of a subtraction, a check on volume is performed. - if (valid_result) { - const double volume_after_subtraction = shape_volume(shape); - if ( ALMOST_THE_SAME(first_operand_volume,volume_after_subtraction) ) - Logger::Message(Logger::LOG_WARNING,"Subtraction yields unchanged volume:",l); - } else { - Logger::Message(Logger::LOG_ERROR,"Failed to process subtraction:",l); - shape = s1; - } - // NB: After issuing error the first operand is returned! - return true; - } else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION && !valid_result) { - BRep_Builder B; - TopoDS_Compound C; - B.MakeCompound(C); - B.Add(C, s1); - TopTools_ListIteratorOfListOfShape it(second_operand_shapes); - for (; it.More(); it.Next()) { - B.Add(C, it.Value()); - } - Logger::Message(Logger::LOG_ERROR, "Failed to process union, creating compound:", l); - shape = C; - return true; - } else { - return valid_result; - } - return false; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Shape& shape) { - std::unique_ptr> helper_scope; - - IfcSchema::IfcCartesianPoint::list::ptr points = IfcParse::traverse((IfcUtil::IfcBaseClass*) l)->as(); - std::vector points_(points->begin(), points->end()); - - IfcSchema::IfcPolyLoop::list::ptr loops = IfcParse::traverse((IfcUtil::IfcBaseClass*)l)->as(); - std::vector loops_(loops->begin(), loops->end()); - - helper_scope.reset(new faceset_helper<>( - this, - points_, - loops_, - l->declaration().is(IfcSchema::IfcClosedShell::Class()) - )); - - faceset_helper_ = helper_scope.get(); - - IfcSchema::IfcFace::list::ptr faces = l->CfsFaces(); - - double min_face_area = faceset_helper_ - ? (faceset_helper_->epsilon() * faceset_helper_->epsilon() / 20.) - : getValue(GV_MINIMAL_FACE_AREA); - - TopTools_ListOfShape face_list; - for (IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++it) { - bool success = false; - TopoDS_Face face; - - try { - success = convert_face(*it, face); - } catch (const std::exception& e) { - Logger::Error(e); - } catch (const Standard_Failure& e) { - if (e.GetMessageString() && strlen(e.GetMessageString())) { - Logger::Error(e.GetMessageString()); - } else { - Logger::Error("Unknown error creating face"); - } - } catch (...) { - Logger::Error("Unknown error creating face"); - } - - if (!success) { - Logger::Message(Logger::LOG_WARNING, "Failed to convert face:", (*it)); - continue; - } - - if (face.ShapeType() == TopAbs_COMPOUND) { - TopoDS_Iterator face_it(face, false); - for (; face_it.More(); face_it.Next()) { - if (face_it.Value().ShapeType() == TopAbs_FACE) { - // This should really be the case. This is not asserted. - const TopoDS_Face& triangle = TopoDS::Face(face_it.Value()); - if (face_area(triangle) > min_face_area) { - face_list.Append(triangle); - } else { - Logger::Message(Logger::LOG_WARNING, "Degenerate face:", (*it)); - } - } - } - } else { - if (face_area(face) > min_face_area) { - face_list.Append(face); - } else { - Logger::Message(Logger::LOG_WARNING, "Degenerate face:", (*it)); - } - } - } - - if (face_list.Extent() == 0) { - return false; - } - - if (face_list.Extent() > getValue(GV_MAX_FACES_TO_ORIENT) || !create_solid_from_faces(face_list, shape)) { - TopoDS_Compound compound; - BRep_Builder builder; - builder.MakeCompound(compound); - - TopTools_ListIteratorOfListOfShape face_iterator; - for (face_iterator.Initialize(face_list); face_iterator.More(); face_iterator.Next()) { - builder.Add(compound, face_iterator.Value()); - } - shape = compound; - } - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcMappedItem* l, IfcRepresentationShapeItems& shapes) { - gp_GTrsf gtrsf; - IfcSchema::IfcCartesianTransformationOperator* transform = l->MappingTarget(); - if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator3DnonUniform::Class()) ) { - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianTransformationOperator3DnonUniform*)transform,gtrsf); - } else if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator2DnonUniform::Class()) ) { - Logger::Message(Logger::LOG_ERROR, "Unsupported MappingTarget:", transform); - return false; - } else if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator3D::Class()) ) { - gp_Trsf trsf; - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianTransformationOperator3D*)transform,trsf); - gtrsf = trsf; - } else if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator2D::Class()) ) { - gp_Trsf2d trsf_2d; - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianTransformationOperator2D*)transform,trsf_2d); - gtrsf = (gp_Trsf) trsf_2d; - } - IfcSchema::IfcRepresentationMap* map = l->MappingSource(); - IfcSchema::IfcAxis2Placement* placement = map->MappingOrigin(); - gp_Trsf trsf; - if (placement->declaration().is(IfcSchema::IfcAxis2Placement3D::Class())) { - IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement3D*)placement,trsf); - } else { - gp_Trsf2d trsf_2d; - IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement2D*)placement,trsf_2d); - trsf = trsf_2d; - } - gtrsf.Multiply(trsf); - - auto mapped_item_style = get_style(l); - - const size_t previous_size = shapes.size(); - bool b = convert_shapes(map->MappedRepresentation(), shapes); - - for (size_t i = previous_size; i < shapes.size(); ++ i ) { - shapes[i].prepend(gtrsf); - - // Apply styles assigned to the mapped item only if on - // a more granular level no styles have been applied - if (!shapes[i].hasStyle()) { - shapes[i].setStyle(mapped_item_style); - } - } - - return b; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRepresentation* l, IfcRepresentationShapeItems& shapes) { - IfcSchema::IfcRepresentationItem::list::ptr items = l->Items(); - bool part_succes = false; - if ( items->size() ) { - for ( IfcSchema::IfcRepresentationItem::list::it it = items->begin(); it != items->end(); ++ it ) { - IfcSchema::IfcRepresentationItem* representation_item = *it; - if ( shape_type(representation_item) == ST_SHAPELIST ) { - part_succes |= convert_shapes(*it, shapes); - } else { - TopoDS_Shape s; - if (convert_shape(representation_item, s)) { - if (s.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s).More() && TopoDS_Iterator(s).Value().ShapeType() == TopAbs_SOLID) { - TopoDS_Iterator it(s); - for (; it.More(); it.Next()) { - shapes.push_back(IfcRepresentationShapeItem(representation_item->data().id(), it.Value(), get_style(representation_item))); - } - } else { - shapes.push_back(IfcRepresentationShapeItem(representation_item->data().id(), s, get_style(representation_item))); - } - part_succes |= true; - } - } - } - } - return part_succes; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresentationShapeItems& shapes) { - // @nb the selection is partly duplicated from convert_curves() but it's needed as a - // geometric set by it's static class definition does not inform us of the type of elements. - // @todo handle this better so that this doesn't log an error. - const bool include_curves = getValue(GV_DIMENSIONALITY) != +1; - const bool include_solids_and_surfaces = getValue(GV_DIMENSIONALITY) != -1; - - aggregate_of_instance::ptr elements = l->Elements(); - if ( !elements->size() ) return false; - bool part_succes = false; - auto parent_style = get_style(l); - for (aggregate_of_instance::it it = elements->begin(); it != elements->end(); ++it) { - auto element = *it; - TopoDS_Shape s; - if (shape_type(element) == ST_SHAPELIST) { - IfcRepresentationShapeItems items; - if (!(convert_shapes(element, items) && flatten_shape_list(items, s, false))) { - continue; - } - } else if (shape_type(element) == ST_SHAPE && include_solids_and_surfaces) { - if (!convert_shape(element, s)) { - continue; - } - } else if (shape_type(element) == ST_WIRE && include_curves) { - TopoDS_Wire w; - if (!convert_wire(element, w)) { - continue; - } - s = w; - } else { - continue; - } - - part_succes = true; - decltype(parent_style) style = 0; - if (element->declaration().is(IfcSchema::IfcPoint::Class())) { - style = get_style((IfcSchema::IfcPoint*) element); - } - else if (element->declaration().is(IfcSchema::IfcCurve::Class())) { - style = get_style((IfcSchema::IfcCurve*) element); - } - else if (element->declaration().is(IfcSchema::IfcSurface::Class())) { - style = get_style((IfcSchema::IfcSurface*) element); - } - shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, style ? style : parent_style)); - } - return part_succes; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcBlock* l, TopoDS_Shape& shape) { - const double dx = l->XLength() * getValue(GV_LENGTH_UNIT); - const double dy = l->YLength() * getValue(GV_LENGTH_UNIT); - const double dz = l->ZLength() * getValue(GV_LENGTH_UNIT); - - BRepPrimAPI_MakeBox builder(dx, dy, dz); - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(),trsf); - - // IfcCsgPrimitive3D.Position has unit scale factor - shape = builder.Solid().Moved(trsf); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcBoundingBox* l, TopoDS_Shape& shape) { - const double dx = l->XDim() * getValue(GV_LENGTH_UNIT); - const double dy = l->YDim() * getValue(GV_LENGTH_UNIT); - const double dz = l->ZDim() * getValue(GV_LENGTH_UNIT); - - gp_Pnt corner; - IfcGeom::Kernel::convert(l->Corner(), corner); - BRepPrimAPI_MakeBox builder(corner, dx, dy, dz); - - shape = builder.Solid(); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangularPyramid* l, TopoDS_Shape& shape) { - const double dx = l->XLength() * getValue(GV_LENGTH_UNIT); - const double dy = l->YLength() * getValue(GV_LENGTH_UNIT); - const double dz = l->Height() * getValue(GV_LENGTH_UNIT); - - BRepPrimAPI_MakeWedge builder(dx, dz, dy, dx / 2., dy / 2., dx / 2., dy / 2.); - - gp_Trsf trsf1, trsf2; - trsf2.SetValues( - 1, 0, 0, 0, - 0, 0, 1, 0, - 0, 1, 0, 0 -#if OCC_VERSION_HEX < 0x60800 - , Precision::Angular(), Precision::Confusion() -#endif - ); - - IfcGeom::Kernel::convert(l->Position(), trsf1); - shape = BRepBuilderAPI_Transform(builder.Solid(), trsf1 * trsf2); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRightCircularCylinder* l, TopoDS_Shape& shape) { - const double r = l->Radius() * getValue(GV_LENGTH_UNIT); - const double h = l->Height() * getValue(GV_LENGTH_UNIT); - - BRepPrimAPI_MakeCylinder builder(r, h); - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(),trsf); - - // IfcCsgPrimitive3D.Position has unit scale factor - shape = builder.Solid().Moved(trsf); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRightCircularCone* l, TopoDS_Shape& shape) { - const double r = l->BottomRadius() * getValue(GV_LENGTH_UNIT); - const double h = l->Height() * getValue(GV_LENGTH_UNIT); - - BRepPrimAPI_MakeCone builder(r, 0., h); - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(),trsf); - - // IfcCsgPrimitive3D.Position has unit scale factor - shape = builder.Solid().Moved(trsf); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSphere* l, TopoDS_Shape& shape) { - const double r = l->Radius() * getValue(GV_LENGTH_UNIT); - - BRepPrimAPI_MakeSphere builder(r); - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(),trsf); - - // IfcCsgPrimitive3D.Position has unit scale factor - shape = builder.Solid().Moved(trsf); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCsgSolid* l, TopoDS_Shape& shape) { - return convert_shape(l->TreeRootExpression(), shape); -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCurveBoundedPlane* l, TopoDS_Shape& face) { - gp_Pln pln; - if (!IfcGeom::Kernel::convert(l->BasisSurface(), pln)) { - return false; - } - - gp_Trsf trsf; - trsf.SetTransformation(pln.Position(), gp::XOY()); - - TopoDS_Wire outer; - if (!convert_wire(l->OuterBoundary(), outer)) { - return false; - } - - BRepBuilderAPI_MakeFace mf(outer); - - if (!mf.IsDone() || mf.Shape().IsNull()) { - Logger::Error("Invalid outer boundary:", l->OuterBoundary()); - return false; - } - - IfcSchema::IfcCurve::list::ptr boundaries = l->InnerBoundaries(); - - for (IfcSchema::IfcCurve::list::it it = boundaries->begin(); it != boundaries->end(); ++it) { - TopoDS_Wire inner; - if (convert_wire(*it, inner)) { - mf.Add(inner); - } - } - - ShapeFix_Shape sfs(mf.Face()); - sfs.Perform(); - - // `trsf` consitutes the placement of the plane and therefore has unit scale factor - face = TopoDS::Face(sfs.Shape()).Moved(trsf); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangularTrimmedSurface* l, TopoDS_Shape& face) { - if (!l->BasisSurface()->declaration().is(IfcSchema::IfcPlane::Class())) { - Logger::Message(Logger::LOG_ERROR, "Unsupported BasisSurface:", l->BasisSurface()); - return false; - } - gp_Pln pln; - IfcGeom::Kernel::convert((IfcSchema::IfcPlane*) l->BasisSurface(), pln); - - BRepBuilderAPI_MakeFace mf(pln, l->U1(), l->U2(), l->V1(), l->V2()); - - face = mf.Face(); - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceCurveSweptAreaSolid* l, TopoDS_Shape& shape) { - gp_Trsf directrix; - TopoDS_Shape face; - TopoDS_Face surface_face; - TopoDS_Wire wire, section; - - const bool is_plane = l->ReferenceSurface()->declaration().is(IfcSchema::IfcPlane::Class()); - - if (!is_plane) { - TopoDS_Shape surface_shell; - if (!convert_shape(l->ReferenceSurface(), surface_shell)) { - Logger::Error("Failed to convert reference surface", l); - return false; - } - if (count(surface_shell, TopAbs_FACE) != 1) { - Logger::Error("Non-continuous reference surface", l); - return false; - } - surface_face = TopoDS::Face(TopExp_Explorer(surface_shell, TopAbs_FACE).Current()); - } - - gp_Trsf trsf; - bool has_position = true; -#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL - has_position = l->Position() != nullptr; -#endif - if (has_position) { - IfcGeom::Kernel::convert(l->Position(), trsf); - } - - if (!convert_face(l->SweptArea(), face) || - !convert_wire(l->Directrix(), wire) ) { - return false; - } - - gp_Pln pln; - gp_Pnt directrix_origin; - gp_Vec directrix_tangent; - bool directrix_on_plane = is_plane; - - if (is_plane) { - IfcGeom::Kernel::convert((IfcSchema::IfcPlane*) l->ReferenceSurface(), pln); - - // As per Informal propositions 2: The Directrix shall lie on the ReferenceSurface. - // This is not always the case with the test files in the repository. I am not sure - // how to deal with this and whether my interpretation of the propositions is - // correct. However, if it has been asserted that the vertices of the directrix do - // not conform to the ReferenceSurface, the ReferenceSurface is ignored. - { - for (TopExp_Explorer exp(wire, TopAbs_VERTEX); exp.More(); exp.Next()) { - if (pln.Distance(BRep_Tool::Pnt(TopoDS::Vertex(exp.Current()))) > ALMOST_ZERO) { - directrix_on_plane = false; - Logger::Message(Logger::LOG_WARNING, "The Directrix does not lie on the ReferenceSurface", l); - break; - } - } - } - } - - { - TopExp_Explorer exp(wire, TopAbs_EDGE); - TopoDS_Edge edge = TopoDS::Edge(exp.Current()); - double u0, u1; - Handle(Geom_Curve) crv = BRep_Tool::Curve(edge, u0, u1); - crv->D1(u0, directrix_origin, directrix_tangent); - } - - if (is_plane && pln.Axis().Direction().IsNormal(directrix_tangent, Precision::Approximation()) && directrix_on_plane) { - directrix.SetTransformation(gp_Ax3(directrix_origin, directrix_tangent, pln.Axis().Direction()), gp::XOY()); - } else if (!is_plane) { - ShapeAnalysis_Surface sas(BRep_Tool::Surface(surface_face)); - auto pnt2d = sas.ValueOfUV(directrix_origin, getValue(GV_PRECISION) * 10.); - BRepGProp_Face prop(surface_face); - gp_Pnt _; - gp_Vec surface_normal; - prop.Normal(pnt2d.X(), pnt2d.Y(), _, surface_normal); - directrix.SetTransformation(gp_Ax3(directrix_origin, directrix_tangent, surface_normal), gp::XOY()); - } else { - directrix.SetTransformation(gp_Ax3(directrix_origin, directrix_tangent), gp::XOY()); - } - face = BRepBuilderAPI_Transform(face, directrix); - - if (!is_plane) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - for (; exp.More(); exp.Next()) { - ShapeFix_Edge sfe; - sfe.FixAddPCurve(TopoDS::Edge(exp.Current()), surface_face, false, getValue(GV_PRECISION)); - } - } - - // NB: Note that StartParam and EndParam param are ignored and the assumption is - // made that the parametric range over which to be swept matches the IfcCurve in - // its entirety. - BRepOffsetAPI_MakePipeShell builder(wire); - - { TopExp_Explorer exp(face, TopAbs_WIRE); - section = TopoDS::Wire(exp.Current()); } - - builder.Add(section); - builder.SetTransitionMode(BRepBuilderAPI_RightCorner); - if (directrix_on_plane) { - builder.SetMode(pln.Axis().Direction()); - } else if (!is_plane) { - builder.SetMode(surface_face); - } - builder.Build(); - builder.MakeSolid(); - shape = builder.Shape(); - - if (has_position) { - // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D - // and therefore has a unit scale factor - shape.Move(trsf); - } - - return true; -} - -namespace { - bool wire_is_c1_continuous(const TopoDS_Wire& w, double tol) { - // NB Note that c0 continuity is NOT checked! - - TopTools_IndexedDataMapOfShapeListOfShape map; - TopExp::MapShapesAndAncestors(w, TopAbs_VERTEX, TopAbs_EDGE, map); - for (int i = 1; i <= map.Extent(); ++i) { - const auto& li = map.FindFromIndex(i); - if (li.Extent() == 2) { - const TopoDS_Vertex& v = TopoDS::Vertex(map.FindKey(i)); - - const TopoDS_Edge& e0 = TopoDS::Edge(li.First()); - const TopoDS_Edge& e1 = TopoDS::Edge(li.Last()); - - double u0 = BRep_Tool::Parameter(v, e0); - double u1 = BRep_Tool::Parameter(v, e1); - - double _, __; - Handle(Geom_Curve) c0 = BRep_Tool::Curve(e0, _, __); - Handle(Geom_Curve) c1 = BRep_Tool::Curve(e1, _, __); - - gp_Pnt p; - gp_Vec v0, v1; - c0->D1(u0, p, v0); - c1->D1(u1, p, v1); - - if (1. - std::abs(v0.Normalized().Dot(v1.Normalized())) > tol) { - return false; - } - } - } - return true; - } -} - -namespace { - bool wire_to_ax(const TopoDS_Wire& wire, gp_Ax2& directrix) { - gp_Pnt directrix_origin; - gp_Vec directrix_tangent; - - TopoDS_Edge edge; - - // Find first edge - TopoDS_Vertex v0, v1; - TopExp::Vertices(wire, v0, v1); - TopTools_IndexedDataMapOfShapeListOfShape map; - TopExp::MapShapesAndAncestors(wire, TopAbs_VERTEX, TopAbs_EDGE, map); - if (v0.IsSame(v1) && map.Contains(v0) && map.FindFromKey(v0).Extent() == 2) { - // Closed wire, with more than 1 edges - auto es = map.FindFromKey(v0); - auto e1 = TopoDS::Edge(es.First()); - auto e2 = TopoDS::Edge(es.Last()); - - double u0, u1; - - gp_Vec accum; - - Handle(Geom_Curve) crv = BRep_Tool::Curve(e1, u0, u1); - crv->D1(TopExp::FirstVertex(e1).IsSame(v0) ? u0 : u1, directrix_origin, directrix_tangent); - - accum += directrix_tangent; - - crv = BRep_Tool::Curve(e2, u0, u1); - crv->D1(TopExp::FirstVertex(e2).IsSame(v0) ? u0 : u1, directrix_origin, directrix_tangent); - - accum += directrix_tangent; - - directrix_tangent = accum; - - } else if (map.Contains(v0) && map.FindFromKey(v0).Extent() == 1) { - edge = TopoDS::Edge(map.FindFromKey(v0).First()); - - double u0, u1; - Handle(Geom_Curve) crv = BRep_Tool::Curve(edge, u0, u1); - crv->D1(u0, directrix_origin, directrix_tangent); - } else { - Logger::Error("Unable to locate first edge"); - return false; - } - - directrix = gp_Ax2(directrix_origin, directrix_tangent); - - return true; - } - - bool is_single_linear_edge(const TopoDS_Wire& wire) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - if (!exp.More()) { - return false; - } - TopoDS_Edge e = TopoDS::Edge(exp.Current()); - exp.Next(); - if (exp.More()) { - return false; - } - double u, v; - Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); - return crv->DynamicType() == STANDARD_TYPE(Geom_Line); - } - - bool is_single_circular_edge(const TopoDS_Wire& wire) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - if (!exp.More()) { - return false; - } - TopoDS_Edge e = TopoDS::Edge(exp.Current()); - exp.Next(); - if (exp.More()) { - return false; - } - double u, v; - Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); - return crv->DynamicType() == STANDARD_TYPE(Geom_Circle); - } - - void process_sweep_as_extrusion(const TopoDS_Wire& wire, const TopoDS_Wire& section, TopoDS_Shape& result) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - TopoDS_Edge e = TopoDS::Edge(exp.Current()); - double u, v; - Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); - const auto& dir = Handle(Geom_Line)::DownCast(crv)->Position().Direction(); - // OCCT line is normalized so diff in parametric coords equals length - const double depth = std::abs(u - v); - // @todo we could be extruding the wire only when we know this is an intermediate edge. - TopoDS_Face face = BRepBuilderAPI_MakeFace(section).Face(); - result = BRepPrimAPI_MakePrism(face, depth*dir).Shape(); - } - - void process_sweep_as_revolution(const TopoDS_Wire& wire, const TopoDS_Wire& section, TopoDS_Shape& result) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - TopoDS_Edge e = TopoDS::Edge(exp.Current()); - double u, v; - Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); - auto circ = Handle(Geom_Circle)::DownCast(crv); - // @todo we could be extruding the wire only when we know this is an intermediate edge. - const double depth = std::abs(u - v); - TopoDS_Face face = BRepBuilderAPI_MakeFace(section).Face(); - result = BRepPrimAPI_MakeRevol(face, circ->Axis(), depth).Shape(); - } - - void process_sweep_as_pipe(const TopoDS_Wire& wire, const TopoDS_Wire& section, TopoDS_Shape& result, bool force_transformed=false) { - // This tolerance is fairly high due to the linear edge substitution for small (or large radii) conical curves. - const bool is_continuous = wire_is_c1_continuous(wire, 1.e-2); - BRepOffsetAPI_MakePipeShell builder(wire); - builder.Add(section); - builder.SetTransitionMode(is_continuous || force_transformed ? BRepBuilderAPI_Transformed : BRepBuilderAPI_RightCorner); - try { - builder.Build(); - } catch (Standard_Failure& e) { - // We fallback to BRepBuilderAPI_Transformed, but likely with visual artefacts. - if (!(is_continuous || force_transformed)) { - return process_sweep_as_pipe(wire, section, result, true); - } else { - throw e; - } - } - builder.MakeSolid(); - result = builder.Shape(); - } - - void sort_edges(const TopoDS_Wire& wire, std::vector& sorted_edges) { - TopTools_IndexedDataMapOfShapeListOfShape map; - TopExp::MapShapesAndAncestors(wire, TopAbs_VERTEX, TopAbs_EDGE, map); - - for (int i = 1; i <= map.Extent(); ++i) { - if (map.FindFromIndex(i).Extent() > 2) { - Logger::Warning("Self-intersecting Directrix"); - } - } - - std::set seen; - - auto num_edges = IfcGeom::Kernel::count(wire, TopAbs_EDGE); - - TopoDS_Vertex v0, v1; - // @todo this creates the ancestor map twice - TopExp::Vertices(wire, v0, v1); - - bool ignore_first_equality_because_closed = v0.IsSame(v1); - - // @todo this probably still does not work on a closed wire consisting of one (circular) edge. - - while ((int) sorted_edges.size() < num_edges && - (!v0.IsSame(v1) || ignore_first_equality_because_closed)) - { - ignore_first_equality_because_closed = false; - if (!map.Contains(v0)) { - throw std::runtime_error("Disconnected vertex"); - } - const TopTools_ListOfShape& es = map.FindFromKey(v0); - TopoDS_Vertex ve0, ve1; - TopTools_ListIteratorOfListOfShape it(es); - bool added = false; - for (; it.More(); it.Next()) { - const TopoDS_Edge& e = TopoDS::Edge(it.Value()); - TopExp::Vertices(e, ve0, ve1, true); - if (ve0.IsSame(v0) && seen.find(&*e.TShape()) == seen.end()) { - sorted_edges.push_back(e); - v0 = ve1; - added = true; - seen.insert(&*e.TShape()); - break; - } - } - if (!added) { - throw std::runtime_error("Disconnected edge"); - } - } - } - - - // #939: a closed loop causes failed triangulation in 7.3 and artefacts - // in 7.4 so we break up a closed wire into two equal parts. - void break_closed(const TopoDS_Wire& wire, std::vector& wires) { - std::vector sorted_edges; - sort_edges(wire, sorted_edges); - - if (sorted_edges.size() == 1) { - wires.push_back(wire); - return; - } - - BRep_Builder B; - - wires.emplace_back(); - B.MakeWire(wires.back()); - - for (size_t i = 0; i < sorted_edges.size(); ++i) { - if (i == sorted_edges.size() / 2) { - wires.emplace_back(); - B.MakeWire(wires.back()); - } - - const auto& e = sorted_edges[i]; - B.Add(wires.back(), e); - } - } - - void segment_adjacent_non_linear(const TopoDS_Wire& wire, std::vector& wires) { - std::vector sorted_edges; - sort_edges(wire, sorted_edges); - - BRep_Builder B; - double u, v; - - wires.emplace_back(); - B.MakeWire(wires.back()); - - for (int i = 0; i < (int) sorted_edges.size() - 1; ++i) { - const auto& e = sorted_edges[i]; - Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); - const bool is_linear = crv->DynamicType() == STANDARD_TYPE(Geom_Line); - - const auto& f = sorted_edges[i+1]; - crv = BRep_Tool::Curve(f, u, v); - const bool next_is_linear = crv->DynamicType() == STANDARD_TYPE(Geom_Line); - - B.Add(wires.back(), e); - - if (!is_linear && !next_is_linear) { - wires.emplace_back(); - B.MakeWire(wires.back()); - } - } - - if (!sorted_edges.empty()) { - B.Add(wires.back(), sorted_edges.back()); - } - } - - // @todo make this generic for other sweeps not just swept disk - void process_sweep(const TopoDS_Wire& wire, double radius, TopoDS_Shape& result) { - std::vector wires, wires_tmp; - segment_adjacent_non_linear(wire, wires_tmp); - for (auto& w : wires_tmp) { - break_closed(w, wires); - } - - TopoDS_Compound C; - BRep_Builder B; - if (wires.size() > 1) { - B.MakeCompound(C); - } - - for (auto& w : wires) { - TopoDS_Shape part; - - gp_Ax2 directrix; - if (!wire_to_ax(w, directrix)) { - continue; - } - Handle(Geom_Circle) circle = new Geom_Circle(directrix, radius); - TopoDS_Wire section = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(circle)); - - if (is_single_circular_edge(w)) { - process_sweep_as_revolution(w, section, part); - } else if (is_single_linear_edge(w)) { - process_sweep_as_extrusion(w, section, part); - } else { - process_sweep_as_pipe(w, section, part); - } - if (wires.size() > 1) { - B.Add(C, part); - } else { - result = part; - } - } - - if (wires.size() > 1) { - result = C; - } - - /* - // Eliminate Swept Surfaces? - result = ShapeCustom::SweptToElementary(result); - - // Eliminate Trimmed Surfaces? - ShapeBuild_ReShape sbrs; - BRep_Builder b; - TopExp_Explorer exp(result, TopAbs_FACE); - for (; exp.More(); exp.Next()) { - const TopoDS_Face& f = TopoDS::Face(exp.Current()); - auto S = BRep_Tool::Surface(f); - if (S->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) { - auto RTS = Handle(Geom_RectangularTrimmedSurface)::DownCast(S); - auto B = RTS->BasisSurface(); - TopoDS_Shape newf = f.EmptyCopied(); - // @todo Is it ok to assume no location? - b.MakeFace(TopoDS::Face(newf), B, BRep_Tool::Tolerance(f)); - sbrs.Replace(f, newf); - } - } - result = sbrs.Apply(result); - */ - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shape& shape) { - TopoDS_Wire wire, section1, section2; - - bool hasInnerRadius = !!l->InnerRadius(); - - if (!convert_wire(l->Directrix(), wire)) { - return false; - } - - // Start- EndParam became optional in IFC4 -#ifdef SCHEMA_IfcSweptDiskSolid_StartParam_IS_OPTIONAL - auto sp = l->StartParam(); - auto ep = l->EndParam(); -#else - boost::optional sp, ep; - sp = l->StartParam(); - ep = l->EndParam(); -#endif - - if (count(wire, TopAbs_EDGE) == 1 && sp && ep) { - TopoDS_Vertex v0, v1; - TopExp::Vertices(wire, v0, v1); - if (v0.IsSame(v1)) { - TopExp_Explorer exp(wire, TopAbs_EDGE); - auto& e = TopoDS::Edge(exp.Current()); - double a, b; - auto crv = BRep_Tool::Curve(e, a, b); - if ((crv->DynamicType() == STANDARD_TYPE(Geom_Circle)) || - (crv->DynamicType() == STANDARD_TYPE(Geom_Ellipse))) - { - BRepBuilderAPI_MakeEdge me(crv, *sp, *ep); - if (me.IsDone()) { - auto e2 = me.Edge(); - BRep_Builder B; - wire.Nullify(); - B.MakeWire(wire); - B.Add(wire, e2); - } - } - } - } - - // NB: Note that StartParam and EndParam param are ignored and the assumption is - // made that the parametric range over which to be swept matches the IfcCurve in - // its entirety. - - process_sweep(wire, l->Radius() * getValue(GV_LENGTH_UNIT), shape); - - if (shape.IsNull()) { - return false; - } - - double r2 = 0.; - - if (hasInnerRadius) { - // Subtraction of pipes with small radii is unstable. - r2 = *l->InnerRadius() * getValue(GV_LENGTH_UNIT); - } - - if (r2 > getValue(GV_PRECISION) * 10.) { - TopoDS_Shape inner; - process_sweep(wire, r2, inner); - - bool is_valid = false; - - // Boolean op on the compound of separately processed sweeps - // is not attempted. - // @todo iterate over compound subshapes and process boolean - // separately. - // @todo don't process as boolean op at all, since we know - // only the start and end faces intersect and we know they - // are co-planar and we know they are circles. - if (shape.ShapeType() != TopAbs_COMPOUND) { - BRepAlgoAPI_Cut brep_cut(shape, inner); - if (brep_cut.IsDone()) { - TopoDS_Shape result = brep_cut; - - ShapeFix_Shape fix(result); - fix.Perform(); - result = fix.Shape(); - - is_valid = BRepCheck_Analyzer(result).IsValid() != 0; - if (is_valid) { - shape = result; - } - } - } - - if (!is_valid) { - Logger::Message(Logger::LOG_WARNING, "Failed to subtract inner radius void for:", l); - } - } - - return true; -} - -#ifdef SCHEMA_HAS_IfcCylindricalSurface - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCylindricalSurface* l, TopoDS_Shape& face) { - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(),trsf); - - // IfcElementarySurface.Position has unit scale factor - face = BRepBuilderAPI_MakeFace(new Geom_CylindricalSurface(gp::XOY(), l->Radius() * getValue(GV_LENGTH_UNIT)), getValue(GV_PRECISION)).Face().Moved(trsf); - return true; -} - -#endif - -#ifdef SCHEMA_HAS_IfcSphericalSurface - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSphericalSurface* l, TopoDS_Shape& face) { - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(), trsf); - - // IfcElementarySurface.Position has unit scale factor - face = BRepBuilderAPI_MakeFace(new Geom_SphericalSurface(gp::XOY(), l->Radius() * getValue(GV_LENGTH_UNIT)), getValue(GV_PRECISION)).Face().Moved(trsf); - return true; -} - -#endif - -#ifdef SCHEMA_HAS_IfcToroidalSurface - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcToroidalSurface* l, TopoDS_Shape& face) { - gp_Trsf trsf; - IfcGeom::Kernel::convert(l->Position(), trsf); - - // IfcElementarySurface.Position has unit scale factor - face = BRepBuilderAPI_MakeFace(new Geom_ToroidalSurface(gp::XOY(), l->MajorRadius() * getValue(GV_LENGTH_UNIT), l->MinorRadius() * getValue(GV_LENGTH_UNIT)), getValue(GV_PRECISION)).Face().Moved(trsf); - return true; -} - -#endif - -#ifdef SCHEMA_HAS_IfcAdvancedBrep - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcAdvancedBrep* l, TopoDS_Shape& shape) { - return convert(l->Outer(), shape); -} - -#endif - -#ifdef SCHEMA_HAS_IfcTriangulatedFaceSet - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcTriangulatedFaceSet* l, TopoDS_Shape& shape) { - IfcSchema::IfcCartesianPointList3D* point_list = l->Coordinates(); - auto coord_list = point_list->CoordList(); - std::vector> indices = l->CoordIndex(); - - faceset_helper< - std::vector, - std::vector - > helper(this, coord_list, indices, l->Closed().get_value_or(false)); - - TopTools_ListOfShape faces; - - for (auto it = indices.begin(); it != indices.end(); ++it) { - TopoDS_Wire w; - if (helper.wire(*it, w)) { - BRepBuilderAPI_MakeFace mf(w); - if (mf.IsDone()) { - faces.Append(mf.Face()); - } - } - } - - if (faces.Extent() > getValue(GV_MAX_FACES_TO_ORIENT) || !create_solid_from_faces(faces, shape)) { - TopoDS_Compound compound; - BRep_Builder builder; - builder.MakeCompound(compound); - - TopTools_ListIteratorOfListOfShape face_iterator; - for (face_iterator.Initialize(faces); face_iterator.More(); face_iterator.Next()) { - builder.Add(compound, face_iterator.Value()); - } - shape = compound; - } - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolygonalFaceSet* pfs, TopoDS_Shape& shape) { - IfcSchema::IfcCartesianPointList3D* point_list = pfs->Coordinates(); - auto coord_list = point_list->CoordList(); - auto polygonal_faces = pfs->Faces(); - - std::vector> indices; - indices.reserve(polygonal_faces->size() * 2); - - std::vector> loop_grouping; - loop_grouping.reserve(polygonal_faces->size()); - - for (auto& f : *polygonal_faces) { - loop_grouping.emplace_back(); - loop_grouping.back().push_back(indices.size()); - indices.push_back(f->CoordIndex()); - if (f->as()) { - auto inner_coordinates = f->as()->InnerCoordIndices(); - for (auto& x : inner_coordinates) { - loop_grouping.back().push_back(indices.size()); - indices.push_back(x); - } - } - } - - faceset_helper< - std::vector, - std::vector - > helper(this, coord_list, indices, pfs->Closed().get_value_or(false)); - - TopTools_ListOfShape faces; - - for (auto& f : loop_grouping) { - bool not_planar = false; - - TopoDS_Wire w; - if (!helper.wire(indices[f[0]], w)) { - continue; - } - - TopoDS_Face face; - std::vector ws = { w }; - - // @todo triangulate - BRepBuilderAPI_MakeFace mf(w); - if (mf.Error() == BRepBuilderAPI_NotPlanar) { - not_planar = true; - } else if (mf.IsDone()) { - face = mf.Face(); - } else { - // todo log - continue; - } - - if (f.size() > 1) { - - if (not_planar) { - for (auto it = f.begin() + 1; it != f.end(); ++it) { - TopoDS_Wire w2; - if (helper.wire(indices[*it], w2)) { - ws.push_back(w2); - } - } - } else { - BRepBuilderAPI_MakeFace mf2(face); - for (auto it = f.begin() + 1; it != f.end(); ++it) { - TopoDS_Wire w2; - if (helper.wire(indices[*it], w2)) { - mf2.Add(w2); - ws.push_back(w2); - } - - } - - if (mf2.Error() == BRepBuilderAPI_NotPlanar) { - not_planar = true; - } else if (mf2.IsDone()) { - face = mf2.Face(); - } - } - - } - - if (not_planar) { - TopTools_ListOfShape fs; - if (triangulate_wire(ws, fs)) { - Logger::Warning("Triangulated face boundary:", pfs); - TopTools_ListIteratorOfListOfShape it(fs); - for (; it.More(); it.Next()) { - const TopoDS_Face& tri = TopoDS::Face(it.Value()); - if (face_area(tri) > getValue(GV_MINIMAL_FACE_AREA)) { - faces.Append(tri); - } - } - } - } else { - faces.Append(face); - } - } - - if (faces.Extent() > getValue(GV_MAX_FACES_TO_ORIENT) || !create_solid_from_faces(faces, shape)) { - TopoDS_Compound compound; - BRep_Builder builder; - builder.MakeCompound(compound); - - TopTools_ListIteratorOfListOfShape face_iterator; - for (face_iterator.Initialize(faces); face_iterator.More(); face_iterator.Next()) { - builder.Add(compound, face_iterator.Value()); - } - shape = compound; - } - - return true; -} - -#endif diff --git a/src/ifcgeom/IfcGeomWires.cpp b/src/ifcgeom/IfcGeomWires.cpp deleted file mode 100644 index c1bb274c1b..0000000000 --- a/src/ifcgeom/IfcGeomWires.cpp +++ /dev/null @@ -1,1086 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -/******************************************************************************** - * * - * Implementations of the various conversion functions defined in mapping.i * - * * - ********************************************************************************/ - -#define _USE_MATH_DEFINES -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include -#if OCC_VERSION_HEX < 0x70600 -#include -#endif - -#include - -#include "../ifcgeom/IfcGeom.h" - -#define Kernel MAKE_TYPE_NAME(Kernel) - -namespace { - // Returns the first edge of a wire - TopoDS_Edge first_edge(const TopoDS_Wire& w) { - TopoDS_Vertex v1, v2; - TopExp::Vertices(w, v1, v2); - TopTools_IndexedDataMapOfShapeListOfShape wm; - TopExp::MapShapesAndAncestors(w, TopAbs_VERTEX, TopAbs_EDGE, wm); - return TopoDS::Edge(wm.FindFromKey(v1).First()); - } - - // Returns new wire with the edge replaced by a linear edge with the vertex v moved to p - TopoDS_Wire adjust(const TopoDS_Wire& w, const TopoDS_Vertex& v, const gp_Pnt& p) { - TopTools_IndexedDataMapOfShapeListOfShape map; - TopExp::MapShapesAndAncestors(w, TopAbs_VERTEX, TopAbs_EDGE, map); - - bool all_linear = true, single_circle = false, first = true; - - const TopTools_ListOfShape& edges = map.FindFromKey(v); - TopTools_ListIteratorOfListOfShape it(edges); - for (; it.More(); it.Next()) { - const TopoDS_Edge& e = TopoDS::Edge(it.Value()); - double _, __; - Handle(Geom_Curve) crv = BRep_Tool::Curve(e, _, __); - const bool is_line = crv->DynamicType() == STANDARD_TYPE(Geom_Line); - const bool is_circle = crv->DynamicType() == STANDARD_TYPE(Geom_Circle); - all_linear = all_linear && is_line; - single_circle = first && is_circle; - } - - if (all_linear) { - BRep_Builder b; - TopoDS_Vertex v2; - b.MakeVertex(v2, p, BRep_Tool::Tolerance(v)); - - ShapeBuild_ReShape reshape; - reshape.Replace(v.Oriented(TopAbs_FORWARD), v2); - - return TopoDS::Wire(reshape.Apply(w)); - } else if (single_circle) { - TopoDS_Vertex v1, v2; - TopExp::Vertices(w, v1, v2); - - gp_Pnt p1, p2, p3; - p1 = v.IsEqual(v1) ? p : BRep_Tool::Pnt(v1); - p3 = v.IsEqual(v2) ? p : BRep_Tool::Pnt(v2); - - double a, b; - Handle(Geom_Curve) crv = BRep_Tool::Curve(TopoDS::Edge(edges.First()), a, b); - crv->D0((a + b) / 2., p2); - - GC_MakeCircle mc(p1, p2, p3); - if (!mc.IsDone()) { - throw IfcGeom::geometry_exception("Failed to adjust circle"); - } - - TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(mc.Value(), p1, p3).Edge(); - BRepBuilderAPI_MakeWire builder; - builder.Add(edge); - return builder.Wire(); - } else { - throw IfcGeom::geometry_exception("Unexpected wire to adjust"); - } - } - - // A wrapper around BRepBuilderAPI_MakeWire that makes sure segments are connected either by moving end points or by adding intermediate segments - class wire_builder { - private: - BRepBuilderAPI_MakeWire mw_; - double p_; - bool override_next_; - gp_Pnt next_override_; - const IfcUtil::IfcBaseClass* inst_; - - public: - wire_builder(double p, const IfcUtil::IfcBaseClass* inst = 0) : p_(p), override_next_(false), inst_(inst) {} - - void operator()(const TopoDS_Shape& a) { - const TopoDS_Wire& w = TopoDS::Wire(a); - if (override_next_) { - override_next_ = false; - TopoDS_Edge e = first_edge(w); - mw_.Add(adjust(w, TopExp::FirstVertex(e, true), next_override_)); - } else { - mw_.Add(w); - } - } - - void operator()(const TopoDS_Shape& a, const TopoDS_Shape& b, bool last) { - TopoDS_Wire w1 = TopoDS::Wire(a); - const TopoDS_Wire& w2 = TopoDS::Wire(b); - - if (override_next_) { - override_next_ = false; - TopoDS_Edge e = first_edge(w1); - w1 = adjust(w1, TopExp::FirstVertex(e, true), next_override_); - } - - TopoDS_Vertex w11, w12, w21, w22; - TopExp::Vertices(w1, w11, w12); - TopExp::Vertices(w2, w21, w22); - - gp_Pnt p1 = BRep_Tool::Pnt(w12); - gp_Pnt p2 = BRep_Tool::Pnt(w21); - - double dist = p1.Distance(p2); - - // Distance is within tolerance, this is fine - if (dist < p_) { - mw_.Add(w1); - goto check; - } - - // Distance is too large for attempting to move end points, add intermediate edge - if (dist > 1000. * p_) { - mw_.Add(w1); - mw_.Add(BRepBuilderAPI_MakeEdge(p1, p2)); - Logger::Warning("Added additional segment to close gap with length " + boost::lexical_cast(dist) + " to:", inst_); - goto check; - } - - { - TopTools_IndexedDataMapOfShapeListOfShape wmap1, wmap2; - - // Find edges connected to end- and begin vertex - TopExp::MapShapesAndAncestors(w1, TopAbs_VERTEX, TopAbs_EDGE, wmap1); - TopExp::MapShapesAndAncestors(w2, TopAbs_VERTEX, TopAbs_EDGE, wmap2); - - const TopTools_ListOfShape& last_edges = wmap1.FindFromKey(w12); - const TopTools_ListOfShape& first_edges = wmap2.FindFromKey(w21); - - double _, __; - if (last_edges.Extent() == 1 && first_edges.Extent() == 1) { - Handle(Geom_Curve) c1 = BRep_Tool::Curve(TopoDS::Edge(last_edges.First()), _, __); - Handle(Geom_Curve) c2 = BRep_Tool::Curve(TopoDS::Edge(first_edges.First()), _, __); - - const bool is_line1 = c1->DynamicType() == STANDARD_TYPE(Geom_Line); - const bool is_line2 = c2->DynamicType() == STANDARD_TYPE(Geom_Line); - - const bool is_circle1 = c1->DynamicType() == STANDARD_TYPE(Geom_Circle); - const bool is_circle2 = c2->DynamicType() == STANDARD_TYPE(Geom_Circle); - - // Preferably adjust the segment that is linear - if (is_line1 || (is_circle1 && !is_line2)) { - mw_.Add(adjust(w1, w12, p2)); - Logger::Notice("Adjusted edge end-point with distance " + boost::lexical_cast(dist) + " on:", inst_); - } else if ((is_line2 || is_circle2) && !last) { - mw_.Add(w1); - override_next_ = true; - next_override_ = p1; - Logger::Notice("Adjusted edge end-point with distance " + boost::lexical_cast(dist) + " on:", inst_); - } else { - // In all other cases an edge is added - mw_.Add(w1); - mw_.Add(BRepBuilderAPI_MakeEdge(p1, p2)); - Logger::Warning("Added additional segment to close gap with length " + boost::lexical_cast(dist) + " to:", inst_); - } - } else { - Logger::Error("Internal error, inconsistent wire segments", inst_); - mw_.Add(w1); - } - } - - check: - if (mw_.Error() == BRepBuilderAPI_NonManifoldWire) { - Logger::Error("Non-manifold curve segments:", inst_); - } else if (mw_.Error() == BRepBuilderAPI_DisconnectedWire) { - Logger::Error("Failed to join curve segments:", inst_); - } - } - - const TopoDS_Wire& wire() { return mw_.Wire(); } - }; - - template - void shape_pair_enumerate(TopTools_ListIteratorOfListOfShape& it, Fn& fn, bool closed) { - bool is_first = true; - TopoDS_Shape first, previous, current; - for (; it.More(); it.Next(), is_first = false) { - current = it.Value(); - if (is_first) { - first = current; - } else { - fn(previous, current, false); - } - previous = current; - } - if (closed) { - fn(current, first, true); - } else { - fn(current); - } - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcCompositeCurve* l, TopoDS_Wire& wire) { - if ( getValue(GV_PLANEANGLE_UNIT)<0 ) { - Logger::Message(Logger::LOG_WARNING,"Creating a composite curve without unit information:",l); - - // Temporarily pretend we do have unit information - setValue(GV_PLANEANGLE_UNIT,1.0); - - bool succes_radians = false; - bool succes_degrees = false; - bool use_radians = false; - bool use_degrees = false; - - // First try radians - TopoDS_Wire wire_radians, wire_degrees; - try { - succes_radians = IfcGeom::Kernel::convert(l,wire_radians); - } catch (const std::exception& e) { - Logger::Notice(e); - } catch (const Standard_Failure& e) { - if (e.GetMessageString() && strlen(e.GetMessageString())) { - Logger::Notice(e.GetMessageString()); - } else { - Logger::Notice("Unknown error using radians"); - } - } catch (...) { - Logger::Notice("Unknown error using radians"); - } - - // Now try degrees - setValue(GV_PLANEANGLE_UNIT,0.0174532925199433); - try { - succes_degrees = IfcGeom::Kernel::convert(l,wire_degrees); - } catch (const std::exception& e) { - Logger::Notice(e); - } catch (const Standard_Failure& e) { - if (e.GetMessageString() && strlen(e.GetMessageString())) { - Logger::Notice(e.GetMessageString()); - } else { - Logger::Notice("Unknown error using degrees"); - } - } catch (...) { - Logger::Notice("Unknown error using degrees"); - } - - // Restore to unknown unit state - setValue(GV_PLANEANGLE_UNIT,-1.0); - - if ( succes_degrees && ! succes_radians ) { - use_degrees = true; - } else if ( succes_radians && ! succes_degrees ) { - use_radians = true; - } else if ( succes_radians && succes_degrees ) { - if ( wire_degrees.Closed() && ! wire_radians.Closed() ) { - use_degrees = true; - } else if ( wire_radians.Closed() && ! wire_degrees.Closed() ) { - use_radians = true; - } else { - // No heuristic left to prefer the one over the other, - // apparently both variants are equally successful. - // The curve might be composed of only straight segments. - // Let's go with the wire created using radians as that - // at least is a SI unit. - use_radians = true; - } - } - - if ( use_radians ) { - Logger::Message(Logger::LOG_NOTICE,"Used radians to create composite curve"); - wire = wire_radians; - } else if ( use_degrees ) { - Logger::Message(Logger::LOG_NOTICE,"Used degrees to create composite curve"); - wire = wire_degrees; - } - - return use_radians || use_degrees; - } - -#ifdef SCHEMA_HAS_IfcSegment - // 4x3 - IfcSchema::IfcSegment::list::ptr segments = l->Segments(); -#else - IfcSchema::IfcCompositeCurveSegment::list::ptr segments = l->Segments(); -#endif - - TopTools_ListOfShape converted_segments; - - for (auto it = segments->begin(); it != segments->end(); ++it) { - - if (!(*it)->declaration().is(IfcSchema::IfcCompositeCurveSegment::Class())) { - Logger::Error("Not implemented", *it); - return false; - } - - IfcSchema::IfcCurve* curve = ((IfcSchema::IfcCompositeCurveSegment*)(*it))->ParentCurve(); - - // The type of ParentCurve is IfcCurve, but the documentation says: - // ParentCurve: The *bounded curve* which defines the geometry of the segment. - // At least let's exclude IfcLine as an infinite linear segment - // definitely does not make any sense. - TopoDS_Wire segment; - - if (curve->as()) { - Logger::Notice("Infinite IfcLine used as ParentCurve of segment, treating as a segment", *it); - Handle_Geom_Curve handle; - convert_curve(curve, handle); - double u0 = 0.0; - double u1 = curve->as()->Dir()->Magnitude() * getValue(GV_LENGTH_UNIT); - if (u1 < getValue(GV_PRECISION)) { - Logger::Warning("Segment length below tolerance", *it); - } - BRepBuilderAPI_MakeEdge me(handle, u0, u1); - if (me.IsDone()) { - BRep_Builder B; - B.MakeWire(segment); - B.Add(segment, me.Edge()); - } - } else if (!convert_wire(curve, segment)) { - const bool failed_on_purpose = curve->as() && !segment.IsNull(); - Logger::Message(failed_on_purpose ? Logger::LOG_WARNING : Logger::LOG_ERROR, "Failed to convert curve:", curve); - continue; - } - - if (!((IfcSchema::IfcCompositeCurveSegment*)(*it))->SameSense()) { - segment.Reverse(); - } - - ShapeFix_ShapeTolerance FTol; - FTol.SetTolerance(segment, getValue(GV_PRECISION), TopAbs_WIRE); - - converted_segments.Append(segment); - - } - - if (converted_segments.Extent() == 0) { - Logger::Message(Logger::LOG_ERROR, "No segment succesfully converted:", l); - return false; - } - - BRepBuilderAPI_MakeWire w; - TopoDS_Vertex wire_first_vertex, wire_last_vertex, edge_first_vertex, edge_last_vertex; - - TopTools_ListIteratorOfListOfShape it(converted_segments); - - aggregate_of_instance::ptr profile = l->data().getInverse(&IfcSchema::IfcProfileDef::Class(), -1); - const bool force_close = profile && profile->size() > 0; - - wire_builder bld(getValue(GV_PRECISION), l); - shape_pair_enumerate(it, bld, force_close); - wire = bld.wire(); - - return true; -} - -namespace { - - /* - Below is code to deduce the formula below in SageMath - - | R, b = var('R b') - | - | Bxy = R * cos(b), R * sin(b) - | Cxy = R * cos(b/2), R * sin(b/2) - | - | def dot(v, w): - | return v[0] * w[0] + v[1] * w[1] - | - | def norm(v): - | l = sqrt(v[0]^2 + v[1]^2) - | return v[0] / l, v[1] / l - | - | (R - R*dot(norm(Cxy), norm(Bxy))).full_simplify() - */ - - double deflection_for_approximating_circle(double radius, double param) { - return -radius * std::cos(1. / 2. * param) * std::cos(param) - radius * std::sin(1. / 2. * param) * std::sin(param) + radius; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& wire) { - IfcSchema::IfcCurve* basis_curve = l->BasisCurve(); - bool isConic = basis_curve->declaration().is(IfcSchema::IfcConic::Class()); - double parameterFactor = isConic ? getValue(GV_PLANEANGLE_UNIT) : getValue(GV_LENGTH_UNIT); - - Handle(Geom_Curve) curve; - if (shape_type(basis_curve) == ST_CURVE) { - if (!convert_curve(basis_curve, curve)) return false; - } else if (shape_type(basis_curve) == ST_WIRE) { - Logger::Warning("Approximating BasisCurve due to possible discontinuities", l); - TopoDS_Wire w; - if (!convert_wire(basis_curve, w)) return false; -#if OCC_VERSION_HEX < 0x70600 - BRepAdaptor_CompCurve cc(w, true); - Handle(Adaptor3d_HCurve) hcc = Handle(Adaptor3d_HCurve)(new BRepAdaptor_HCompCurve(cc)); -#else - auto hcc = new BRepAdaptor_CompCurve(w, true); -#endif - // @todo, arbitrary numbers here, note they cannot be too high as contiguous memory is allocated based on them. - Approx_Curve3d approx(hcc, getValue(GV_PRECISION), GeomAbs_C0, 10, 10); - curve = approx.Curve(); - } else { - Logger::Error("Unknown BasisCurve", l); - return false; - } - - bool trim_cartesian = l->MasterRepresentation() != IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER; - aggregate_of_instance::ptr trims1 = l->Trim1(); - aggregate_of_instance::ptr trims2 = l->Trim2(); - - unsigned sense_agreement = l->SenseAgreement() ? 0 : 1; - double flts[2]; - gp_Pnt pnts[2]; - bool has_flts[2] = {false,false}; - bool has_pnts[2] = {false,false}; - - TopoDS_Edge e; - - for ( aggregate_of_instance::it it = trims1->begin(); it != trims1->end(); it ++ ) { - IfcUtil::IfcBaseClass* i = *it; - if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[sense_agreement] ); - has_pnts[sense_agreement] = true; - } else if ( i->declaration().is(IfcSchema::IfcParameterValue::Class()) ) { - const double value = *((IfcSchema::IfcParameterValue*)i); - flts[sense_agreement] = value * parameterFactor; - has_flts[sense_agreement] = true; - } - } - - for ( aggregate_of_instance::it it = trims2->begin(); it != trims2->end(); it ++ ) { - IfcUtil::IfcBaseClass* i = *it; - if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { - IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[1-sense_agreement] ); - has_pnts[1-sense_agreement] = true; - } else if ( i->declaration().is(IfcSchema::IfcParameterValue::Class()) ) { - const double value = *((IfcSchema::IfcParameterValue*)i); - flts[1-sense_agreement] = value * parameterFactor; - has_flts[1-sense_agreement] = true; - } - } - - trim_cartesian &= has_pnts[0] && has_pnts[1]; - bool trim_cartesian_failed = !trim_cartesian; - if ( trim_cartesian ) { - if ( pnts[0].Distance(pnts[1]) < 2 * getValue(GV_PRECISION) ) { - Logger::Message(Logger::LOG_WARNING,"Skipping segment with length below tolerance level:",l); - return false; - } - ShapeFix_ShapeTolerance FTol; - TopoDS_Vertex v1 = BRepBuilderAPI_MakeVertex(pnts[0]); - TopoDS_Vertex v2 = BRepBuilderAPI_MakeVertex(pnts[1]); - FTol.SetTolerance(v1, getValue(GV_PRECISION), TopAbs_VERTEX); - FTol.SetTolerance(v2, getValue(GV_PRECISION), TopAbs_VERTEX); - BRepBuilderAPI_MakeEdge me (curve,v1,v2); - if (!me.IsDone()) { - BRepBuilderAPI_EdgeError err = me.Error(); - if ( err == BRepBuilderAPI_PointProjectionFailed ) { - Logger::Message(Logger::LOG_WARNING,"Point projection failed for:",l); - trim_cartesian_failed = true; - } - } else { - e = me.Edge(); - // BRepBuilderAPI_MakeEdge swaps v1 and v2 if the parameter value of v2 is - // smaller than that of v1. In that case the edge has to be reversed so that - // the vertex order is consistent with Trim1 and Trim2. Otherwise the - // IfcOpenShell wire builder will create intermediate edges automatically. - // The alternative would be to reverse the underlying curve instead. - if (!TopExp::FirstVertex(e, true).IsSame(v1)) { - e.Reverse(); - } - } - } - - if ( (!trim_cartesian || trim_cartesian_failed) && (has_flts[0] && has_flts[1]) ) { - // The Geom_Line is constructed from a gp_Pnt and gp_Dir, whereas the IfcLine - // is defined by an IfcCartesianPoint and an IfcVector with Magnitude. Because - // the vector is normalised when passed to Geom_Line constructor the magnitude - // needs to be factored in with the IfcParameterValue here. - if ( basis_curve->declaration().is(IfcSchema::IfcLine::Class()) ) { - IfcSchema::IfcLine* line = static_cast(basis_curve); - const double magnitude = line->Dir()->Magnitude(); - flts[0] *= magnitude; flts[1] *= magnitude; - } - if ( basis_curve->declaration().is(IfcSchema::IfcEllipse::Class()) ) { - IfcSchema::IfcEllipse* ellipse = static_cast(basis_curve); - double x = ellipse->SemiAxis1() * getValue(GV_LENGTH_UNIT); - double y = ellipse->SemiAxis2() * getValue(GV_LENGTH_UNIT); - const bool rotated = y > x; - if (rotated) { - flts[0] -= M_PI / 2.; - flts[1] -= M_PI / 2.; - } - } - - double radius = 1.0; - if (curve->DynamicType() == STANDARD_TYPE(Geom_Circle)) { - auto circle_curve = Handle_Geom_Circle::DownCast(curve); - radius = circle_curve->Radius(); - } else if (curve->DynamicType() == STANDARD_TYPE(Geom_Ellipse)) { - auto circle_curve = Handle_Geom_Ellipse::DownCast(curve); - radius = (circle_curve->MajorRadius() + circle_curve->MinorRadius()) / 2.; - } - - // Fix from @sanderboer to compare using model tolerance, see #744 - // Made dependent on radius, see #928 - - // A good critereon for determining whether to take full curve - // or trimmed segment would be whether there are other curve segments or this - // is the only one. - boost::optional num_segments; - auto segment = l->data().getInverse(&IfcSchema::IfcCompositeCurveSegment::Class(), -1); - if (segment->size() == 1) { - auto comp = (*segment->begin())->data().getInverse(&IfcSchema::IfcCompositeCurve::Class(), -1); - if (comp->size() == 1) { - num_segments = (*comp->begin())->as()->Segments()->size(); - } - } - - // @todo is 100. not too much? Check with the original issue. - const double precision_markup = getValue(IfcGeom::Kernel::GV_PRECISION_FACTOR) == 1. ? 1. : 100.; - - if (isConic && ALMOST_THE_SAME(fmod(flts[1]-flts[0],M_PI*2.), 0., precision_markup * getValue(GV_PRECISION) / (2 * M_PI * radius))) { - e = BRepBuilderAPI_MakeEdge(curve).Edge(); - } else { - BRepBuilderAPI_MakeEdge me (curve,flts[0],flts[1]); - e = me.Edge(); - } - - if (num_segments && *num_segments > 1) { - TopoDS_Vertex v0, v1; - TopExp::Vertices(e, v0, v1); - if (v0.IsSame(v1)) { - Logger::Warning("Skipping degenerate segment", l); - return false; - } - } - - } else if ( trim_cartesian_failed && (has_pnts[0] && has_pnts[1]) ) { - e = BRepBuilderAPI_MakeEdge(pnts[0], pnts[1]).Edge(); - } - - if (e.IsNull()) { - return false; - } - - if (isConic) { - // Tiny circle segnments can cause issues later on, for example - // when the comp curve is used as the sweeping directrix. - double a, b; - Handle(Geom_Curve) crv = BRep_Tool::Curve(e, a, b); - double radius = -1.; - if (crv->DynamicType() == STANDARD_TYPE(Geom_Circle)) { - radius = Handle(Geom_Circle)::DownCast(crv)->Radius(); - } else if (crv->DynamicType() == STANDARD_TYPE(Geom_Ellipse)) { - // The formula in deflection_for_approximating_circle() is for circles, but probably good enough - radius = Handle(Geom_Ellipse)::DownCast(crv)->MajorRadius(); - } - if (radius > 0. && deflection_for_approximating_circle(radius, b - a) < 100 * getValue(GV_PRECISION) && std::abs(b-a) < M_PI/4.) { - TopoDS_Vertex v0, v1; - TopExp::Vertices(e, v0, v1); - e = TopoDS::Edge(BRepBuilderAPI_MakeEdge(v0, v1).Edge().Oriented(e.Orientation())); - Logger::Warning("Subsituted edge with linear approximation", l); - } - } - - BRepBuilderAPI_MakeWire w; - w.Add(e); - - if (w.IsDone()) { - wire = w.Wire(); - - // When SenseAgreement == .F. the vertices above have been reversed to - // comply with the direction of conical curves. The ordering of the - // vertices then still needs to be reversed in order to have begin and - // end vertex consistent with IFC. - if (sense_agreement != 0) { // .F. - wire.Reverse(); - } - - return true; - } else { - return false; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolyline* l, TopoDS_Wire& result) { - IfcSchema::IfcCartesianPoint::list::ptr points = l->Points(); - - // Parse and store the points in a sequence - TColgp_SequenceOfPnt polygon; - for(IfcSchema::IfcCartesianPoint::list::it it = points->begin(); it != points->end(); ++ it) { - gp_Pnt pnt; - IfcGeom::Kernel::convert(*it, pnt); - polygon.Append(pnt); - } - - // @todo the strict tolerance should also govern these arbitrary precision increases - const double eps = getValue(GV_PRECISION) * 10; - const bool closed_by_proximity = polygon.Length() >= 3 && polygon.First().Distance(polygon.Last()) < eps; - if (closed_by_proximity) { - // tfk: note 1-based - polygon.Remove(polygon.Length()); - } - - // Remove points that are too close to one another - remove_duplicate_points_from_loop(polygon, closed_by_proximity, eps); - - if (polygon.Length() < 2) { - // We somehow need to signal we fail this curve on purpose not to trigger an error. - BRep_Builder B; - B.MakeWire(result); - return false; - } - - BRepBuilderAPI_MakePolygon w; - for (int i = 1; i <= polygon.Length(); ++i) { - w.Add(polygon.Value(i)); - } - - if (closed_by_proximity) { - w.Close(); - } - - result = w.Wire(); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolyLoop* l, TopoDS_Wire& result) { - IfcSchema::IfcCartesianPoint::list::ptr points = l->Polygon(); - - // Parse and store the points in a sequence - TColgp_SequenceOfPnt polygon; - for(IfcSchema::IfcCartesianPoint::list::it it = points->begin(); it != points->end(); ++ it) { - gp_Pnt pnt; - IfcGeom::Kernel::convert(*it, pnt); - polygon.Append(pnt); - } - - // A loop should consist of at least three vertices - int original_count = polygon.Length(); - if (original_count < 3) { - Logger::Message(Logger::LOG_ERROR, "Not enough edges for:", l); - return false; - } - - // Remove points that are too close to one another - const double eps = getValue(GV_PRECISION) * 10; - remove_duplicate_points_from_loop(polygon, true, eps); - - int count = polygon.Length(); - if (original_count - count != 0) { - std::stringstream ss; ss << (original_count - count) << " edges removed for:"; - Logger::Message(Logger::LOG_WARNING, ss.str(), l); - } - - if (count < 3) { - Logger::Message(Logger::LOG_ERROR, "Not enough edges for:", l); - return false; - } - - BRepBuilderAPI_MakePolygon w; - for (int i = 1; i <= polygon.Length(); ++i) { - w.Add(polygon.Value(i)); - } - w.Close(); - - result = w.Wire(); - - TopTools_ListOfShape results; - if (wire_intersections(result, results)) { - Logger::Error("Self-intersections with " + boost::lexical_cast(results.Extent()) + " cycles detected", l); - select_largest(results, result); - } - - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcArbitraryOpenProfileDef* l, TopoDS_Wire& result) { - return convert_wire(l->Curve(), result); -} - -#include - -namespace { - bool create_edge_over_curve_with_log_messages(const Handle_Geom_Curve& crv, const double eps, const gp_Pnt& p1, const gp_Pnt& p2, TopoDS_Edge& result) { - if (crv->IsClosed() && p1.Distance(p2) <= eps) { - BRepBuilderAPI_MakeEdge me(crv); - if (me.IsDone()) { - result = me.Edge(); - return true; - } else { - return false; - } - } - - BRep_Builder builder; - TopoDS_Vertex v1, v2; - /// @todo project first and emit warnings accordingly - builder.MakeVertex(v1, p1, eps); - builder.MakeVertex(v2, p2, eps); - - BRepBuilderAPI_MakeEdge me(crv, v1, v2); - if (!me.IsDone()) { - const double eps2 = eps * eps; - if (me.Error() == BRepBuilderAPI_PointProjectionFailed) { - GeomAdaptor_Curve GAC(crv); - const gp_Pnt* ps[2] = { &p1, &p2 }; - for (int i = 0; i < 2; ++i) { - Extrema_ExtPC extrema(*ps[i], GAC); - if (extrema.IsDone()) { - int n = extrema.NbExt(); - double dmin = std::numeric_limits::infinity(); - for (int j = 1; j <= n; j++) { - const double d = extrema.SquareDistance(j); - if (d < dmin) { - dmin = d; - } - } - if (dmin == std::numeric_limits::infinity()) { - Logger::Error("No extrema for point"); - } else if (dmin > eps2) { - Logger::Error("Distance of " + boost::lexical_cast(std::sqrt(dmin)) + " exceeds tolerance"); - } - } else { - Logger::Error("Failed to calculate extrema for point"); - } - } - } - return false; - } - result = me.Edge(); - return true; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdgeCurve* l, TopoDS_Wire& result) { - IfcSchema::IfcPoint* pnt1 = ((IfcSchema::IfcVertexPoint*) l->EdgeStart())->VertexGeometry(); - IfcSchema::IfcPoint* pnt2 = ((IfcSchema::IfcVertexPoint*) l->EdgeEnd())->VertexGeometry(); - if (!pnt1->declaration().is(IfcSchema::IfcCartesianPoint::Class()) || !pnt2->declaration().is(IfcSchema::IfcCartesianPoint::Class())) { - Logger::Message(Logger::LOG_ERROR, "Only IfcCartesianPoints are supported for VertexGeometry", l); - return false; - } - - gp_Pnt p1, p2; - if (!IfcGeom::Kernel::convert(((IfcSchema::IfcCartesianPoint*)pnt1), p1) || - !IfcGeom::Kernel::convert(((IfcSchema::IfcCartesianPoint*)pnt2), p2)) - { - return false; - } - - BRepBuilderAPI_MakeWire mw; - Handle_Geom_Curve crv; - - // The lack of a clear separation between topological and geometrical entities - // is starting to get problematic. If the underlying curve is bounded it is - // assumed that a topological wire can be crafted from it. After which an - // attempt is made to reconstruct it from the individual curves and the vertices - // of the IfcEdgeCurve. - const bool is_bounded = l->EdgeGeometry()->declaration().is(IfcSchema::IfcBoundedCurve::Class()); - - if (!is_bounded && convert_curve(l->EdgeGeometry(), crv)) { - TopoDS_Edge e; - if (create_edge_over_curve_with_log_messages(crv, getValue(GV_PRECISION), p1, p2, e)) { - mw.Add(e); - result = mw; - return true; - } else { - return false; - } - } else if (is_bounded && convert_wire(l->EdgeGeometry(), result)) { - if (!l->SameSense()) { - result.Reverse(); - } - - bool first = true; - TopExp_Explorer exp(result, TopAbs_EDGE); - - while (exp.More()) { - const TopoDS_Edge& ed = TopoDS::Edge(exp.Current()); - Standard_Real u1, u2; - Handle(Geom_Curve) ecrv = BRep_Tool::Curve(ed, u1, u2); - exp.Next(); - const bool last = !exp.More(); - - gp_Pnt a, b; - - if (first && last) { - a = p1; - b = p2; - } else if (first) { - a = p1; - ecrv->D0(u2, b); - } else if (last) { - ecrv->D0(u1, a); - b = p2; - } else { - BRepBuilderAPI_MakeEdge me(ecrv, u1, u2); - if (!me.IsDone()) { - return false; - } - mw.Add(me.Edge()); - first = false; - continue; - } - - TopoDS_Edge e; - if (create_edge_over_curve_with_log_messages(ecrv, getValue(GV_PRECISION), a, b, e)) { - mw.Add(e); - } else { - return false; - } - - first = false; - } - result = mw; - return true; - } else { - return false; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdgeLoop* l, TopoDS_Wire& result) { - IfcSchema::IfcOrientedEdge::list::ptr li = l->EdgeList(); - BRepBuilderAPI_MakeWire mw; - for (IfcSchema::IfcOrientedEdge::list::it it = li->begin(); it != li->end(); ++it) { - TopoDS_Wire w; - if (convert_wire(*it, w)) { - mw.Add(TopoDS::Edge(TopoDS_Iterator(w).Value())); - } - } - if (!mw.IsDone()) { - return false; - } - result = mw.Wire(); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcEdge* l, TopoDS_Wire& result) { - if (!l->EdgeStart()->declaration().is(IfcSchema::IfcVertexPoint::Class()) || !l->EdgeEnd()->declaration().is(IfcSchema::IfcVertexPoint::Class())) { - Logger::Message(Logger::LOG_ERROR, "Only IfcVertexPoints are supported for EdgeStart and -End", l); - return false; - } - - IfcSchema::IfcPoint* pnt1 = ((IfcSchema::IfcVertexPoint*) l->EdgeStart())->VertexGeometry(); - IfcSchema::IfcPoint* pnt2 = ((IfcSchema::IfcVertexPoint*) l->EdgeEnd())->VertexGeometry(); - if (!pnt1->declaration().is(IfcSchema::IfcCartesianPoint::Class()) || !pnt2->declaration().is(IfcSchema::IfcCartesianPoint::Class())) { - Logger::Message(Logger::LOG_ERROR, "Only IfcCartesianPoints are supported for VertexGeometry", l); - return false; - } - - gp_Pnt p1, p2; - if (!convert(((IfcSchema::IfcCartesianPoint*)pnt1), p1) || - !convert(((IfcSchema::IfcCartesianPoint*)pnt2), p2)) - { - return false; - } - - BRepBuilderAPI_MakeWire mw; - mw.Add(BRepBuilderAPI_MakeEdge(p1, p2)); - - result = mw.Wire(); - return true; -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcOrientedEdge* l, TopoDS_Wire& result) { - if (convert_wire(l->EdgeElement(), result)) { - if (!l->Orientation()) { - result.Reverse(); - } - return true; - } else { - return false; - } -} - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcSubedge* l, TopoDS_Wire& result) { - TopoDS_Wire temp; - if (convert_wire(l->ParentEdge(), result) && convert((IfcSchema::IfcEdge*) l, temp)) { - TopExp_Explorer exp(result, TopAbs_EDGE); - TopoDS_Edge edge = TopoDS::Edge(exp.Current()); - Standard_Real u1, u2; - Handle(Geom_Curve) crv = BRep_Tool::Curve(edge, u1, u2); - TopoDS_Vertex v1, v2; - TopExp::Vertices(temp, v1, v2); - BRepBuilderAPI_MakeWire mw; - mw.Add(BRepBuilderAPI_MakeEdge(crv, v1, v2)); - result = mw.Wire(); - return true; - } else { - return false; - } -} - -#ifdef SCHEMA_HAS_IfcIndexedPolyCurve - -bool IfcGeom::Kernel::convert(const IfcSchema::IfcIndexedPolyCurve* l, TopoDS_Wire& result) { - - IfcSchema::IfcCartesianPointList* point_list = l->Points(); - std::vector< std::vector > coordinates; - if (point_list->as()) { - coordinates = point_list->as()->CoordList(); - } else if (point_list->as()) { - coordinates = point_list->as()->CoordList(); - } - - std::vector points; - points.reserve(coordinates.size()); - for (std::vector< std::vector >::const_iterator it = coordinates.begin(); it != coordinates.end(); ++it) { - const std::vector& coords = *it; - points.push_back(gp_Pnt( - coords.size() < 1 ? 0. : coords[0] * getValue(GV_LENGTH_UNIT), - coords.size() < 2 ? 0. : coords[1] * getValue(GV_LENGTH_UNIT), - coords.size() < 3 ? 0. : coords[2] * getValue(GV_LENGTH_UNIT))); - } - - int max_index = points.size(); - - BRepBuilderAPI_MakeWire w; - - // ignored, just for capturing the curve parameters on the null check - double u, v; - - if(l->Segments()) { - aggregate_of_instance::ptr segments = *l->Segments(); - for (aggregate_of_instance::it it = segments->begin(); it != segments->end(); ++it) { - IfcUtil::IfcBaseClass* segment = *it; - if (segment->declaration().is(IfcSchema::IfcLineIndex::Class())) { - IfcSchema::IfcLineIndex* line = (IfcSchema::IfcLineIndex*) segment; - std::vector indices = *line; - gp_Pnt previous; - for (std::vector::const_iterator jt = indices.begin(); jt != indices.end(); ++jt) { - if (*jt < 1 || *jt > max_index) { - throw IfcParse::IfcException("IfcIndexedPolyCurve index out of bounds for index " + boost::lexical_cast(*jt)); - } - const gp_Pnt& current = points[*jt - 1]; - if (jt != indices.begin()) { - BRepBuilderAPI_MakeEdge me(previous, current); - if (me.IsDone() && !BRep_Tool::Curve(me.Edge(), u, v).IsNull()) { - w.Add(me.Edge()); - } else { - Logger::Warning("Ignoring segment on", l); - } - } - previous = current; - } - } else if (segment->declaration().is(IfcSchema::IfcArcIndex::Class())) { - IfcSchema::IfcArcIndex* arc = (IfcSchema::IfcArcIndex*) segment; - std::vector indices = *arc; - if (indices.size() != 3) { - throw IfcParse::IfcException("Invalid IfcArcIndex encountered"); - } - for (int i = 0; i < 3; ++i) { - const int& idx = indices[i]; - if (idx < 1 || idx > max_index) { - throw IfcParse::IfcException("IfcIndexedPolyCurve index out of bounds for index " + boost::lexical_cast(idx)); - } - } - const gp_Pnt& a = points[indices[0] - 1]; - const gp_Pnt& b = points[indices[1] - 1]; - const gp_Pnt& c = points[indices[2] - 1]; - Handle(Geom_Circle) circ = GC_MakeCircle(a, b, c).Value(); - BRepBuilderAPI_MakeEdge me(circ, a, c); - if (me.IsDone() && !BRep_Tool::Curve(me.Edge(), u, v).IsNull()) { - w.Add(me.Edge()); - } else { - Logger::Warning("Ignoring segment on", l); - } - } else { - throw IfcParse::IfcException("Unexpected IfcIndexedPolyCurve segment of type " + segment->declaration().name()); - } - } - } else if (points.begin() < points.end()) { - std::vector::const_iterator previous = points.begin(); - for (std::vector::const_iterator current = previous+1; current < points.end(); ++current){ - BRepBuilderAPI_MakeEdge me(*previous, *current); - if (me.IsDone() && !BRep_Tool::Curve(me.Edge(), u, v).IsNull()) { - w.Add(me.Edge()); - previous = current; - } - } - } - - result = w.Wire(); - return true; -} - -#endif diff --git a/src/ifcgeom/IfcGeometricSet.cpp b/src/ifcgeom/IfcGeometricSet.cpp new file mode 100644 index 0000000000..5e4c56270f --- /dev/null +++ b/src/ifcgeom/IfcGeometricSet.cpp @@ -0,0 +1,140 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresentationShapeItems& shapes) { + // @nb the selection is partly duplicated from convert_curves() but it's needed as a + // geometric set by it's static class definition does not inform us of the type of elements. + // @todo handle this better so that this doesn't log an error. + const bool include_curves = getValue(GV_DIMENSIONALITY) != +1; + const bool include_solids_and_surfaces = getValue(GV_DIMENSIONALITY) != -1; + + aggregate_of_instance::ptr elements = l->Elements(); + if ( !elements->size() ) return false; + bool part_succes = false; + auto parent_style = get_style(l); + for (aggregate_of_instance::it it = elements->begin(); it != elements->end(); ++it) { + auto element = *it; + TopoDS_Shape s; + if (shape_type(element) == ST_SHAPELIST) { + IfcRepresentationShapeItems items; + if (!(convert_shapes(element, items) && flatten_shape_list(items, s, false))) { + continue; + } + } else if (shape_type(element) == ST_SHAPE && include_solids_and_surfaces) { + if (!convert_shape(element, s)) { + continue; + } + } else if (shape_type(element) == ST_WIRE && include_curves) { + TopoDS_Wire w; + if (!convert_wire(element, w)) { + continue; + } + s = w; + } else { + continue; + } + + part_succes = true; + decltype(parent_style) style = 0; + if (element->declaration().is(IfcSchema::IfcPoint::Class())) { + style = get_style((IfcSchema::IfcPoint*) element); + } + else if (element->declaration().is(IfcSchema::IfcCurve::Class())) { + style = get_style((IfcSchema::IfcCurve*) element); + } + else if (element->declaration().is(IfcSchema::IfcSurface::Class())) { + style = get_style((IfcSchema::IfcSurface*) element); + } + shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, style ? style : parent_style)); + } + return part_succes; +} diff --git a/src/ifcgeom/IfcHalfSpaceSolid.cpp b/src/ifcgeom/IfcHalfSpaceSolid.cpp new file mode 100644 index 0000000000..d196b37d4c --- /dev/null +++ b/src/ifcgeom/IfcHalfSpaceSolid.cpp @@ -0,0 +1,104 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcHalfSpaceSolid* l, TopoDS_Shape& shape) { + IfcSchema::IfcSurface* surface = l->BaseSurface(); + if ( ! surface->declaration().is(IfcSchema::IfcPlane::Class()) ) { + Logger::Message(Logger::LOG_ERROR, "Unsupported BaseSurface:", surface); + return false; + } + gp_Pln pln; + IfcGeom::Kernel::convert((IfcSchema::IfcPlane*)surface,pln); + const gp_Pnt pnt = pln.Location().Translated( l->AgreementFlag() ? -pln.Axis().Direction() : pln.Axis().Direction()); + shape = BRepPrimAPI_MakeHalfSpace(BRepBuilderAPI_MakeFace(pln),pnt).Solid(); + return true; +} diff --git a/src/ifcgeom/IfcIShapeProfileDef.cpp b/src/ifcgeom/IfcIShapeProfileDef.cpp new file mode 100644 index 0000000000..93b61a9387 --- /dev/null +++ b/src/ifcgeom/IfcIShapeProfileDef.cpp @@ -0,0 +1,138 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcIShapeProfileDef* l, TopoDS_Shape& face) { + const double x1 = l->OverallWidth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double y = l->OverallDepth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double d1 = l->WebThickness() / 2.0f * getValue(GV_LENGTH_UNIT); + const double dy1 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); + + bool doFillet1 = !!l->FilletRadius(); + double f1 = 0.; + if ( doFillet1 ) { + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); + } + + bool doFillet2 = doFillet1; + double x2 = x1, dy2 = dy1, f2 = f1; + + // @todo in IFC4 a IfcAsymmetricIShapeProfileDef is not a subtype anymore of IfcIShapeProfileDef! + if (l->declaration().is(IfcSchema::IfcAsymmetricIShapeProfileDef::Class())) { + IfcSchema::IfcAsymmetricIShapeProfileDef* assym = (IfcSchema::IfcAsymmetricIShapeProfileDef*) l; + x2 = assym->TopFlangeWidth() / 2. * getValue(GV_LENGTH_UNIT); + doFillet2 = !!assym->TopFlangeFilletRadius(); + if (doFillet2) { + f2 = *assym->TopFlangeFilletRadius() * getValue(GV_LENGTH_UNIT); + } + if (assym->TopFlangeThickness()) { + dy2 = *assym->TopFlangeThickness() * getValue(GV_LENGTH_UNIT); + } + } + + if ( x1 < ALMOST_ZERO || x2 < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || dy1 < ALMOST_ZERO || dy2 < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[24] = {-x1,-y, x1,-y, x1,-y+dy1, d1,-y+dy1, d1,y-dy2, x2,y-dy2, x2,y, -x2,y, -x2,y-dy2, -d1,y-dy2, -d1,-y+dy1, -x1,-y+dy1}; + int fillets[4] = {3,4,9,10}; + double radii[4] = {f1,f2,f2,f1}; + return profile_helper(12,coords,(doFillet1||doFillet2) ? 4 : 0,fillets,radii,trsf2d,face); +} diff --git a/src/ifcgeom/IfcIndexedPolyCurve.cpp b/src/ifcgeom/IfcIndexedPolyCurve.cpp new file mode 100644 index 0000000000..889b1e0ed4 --- /dev/null +++ b/src/ifcgeom/IfcIndexedPolyCurve.cpp @@ -0,0 +1,178 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcIndexedPolyCurve + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcIndexedPolyCurve* l, TopoDS_Wire& result) { + + IfcSchema::IfcCartesianPointList* point_list = l->Points(); + std::vector< std::vector > coordinates; + if (point_list->as()) { + coordinates = point_list->as()->CoordList(); + } else if (point_list->as()) { + coordinates = point_list->as()->CoordList(); + } + + std::vector points; + points.reserve(coordinates.size()); + for (std::vector< std::vector >::const_iterator it = coordinates.begin(); it != coordinates.end(); ++it) { + const std::vector& coords = *it; + points.push_back(gp_Pnt( + coords.size() < 1 ? 0. : coords[0] * getValue(GV_LENGTH_UNIT), + coords.size() < 2 ? 0. : coords[1] * getValue(GV_LENGTH_UNIT), + coords.size() < 3 ? 0. : coords[2] * getValue(GV_LENGTH_UNIT))); + } + + int max_index = points.size(); + + BRepBuilderAPI_MakeWire w; + + // ignored, just for capturing the curve parameters on the null check + double u, v; + + if(l->Segments()) { + aggregate_of_instance::ptr segments = *l->Segments(); + for (aggregate_of_instance::it it = segments->begin(); it != segments->end(); ++it) { + IfcUtil::IfcBaseClass* segment = *it; + if (segment->declaration().is(IfcSchema::IfcLineIndex::Class())) { + IfcSchema::IfcLineIndex* line = (IfcSchema::IfcLineIndex*) segment; + std::vector indices = *line; + gp_Pnt previous; + for (std::vector::const_iterator jt = indices.begin(); jt != indices.end(); ++jt) { + if (*jt < 1 || *jt > max_index) { + throw IfcParse::IfcException("IfcIndexedPolyCurve index out of bounds for index " + boost::lexical_cast(*jt)); + } + const gp_Pnt& current = points[*jt - 1]; + if (jt != indices.begin()) { + BRepBuilderAPI_MakeEdge me(previous, current); + if (me.IsDone() && !BRep_Tool::Curve(me.Edge(), u, v).IsNull()) { + w.Add(me.Edge()); + } else { + Logger::Warning("Ignoring segment on", l); + } + } + previous = current; + } + } else if (segment->declaration().is(IfcSchema::IfcArcIndex::Class())) { + IfcSchema::IfcArcIndex* arc = (IfcSchema::IfcArcIndex*) segment; + std::vector indices = *arc; + if (indices.size() != 3) { + throw IfcParse::IfcException("Invalid IfcArcIndex encountered"); + } + for (int i = 0; i < 3; ++i) { + const int& idx = indices[i]; + if (idx < 1 || idx > max_index) { + throw IfcParse::IfcException("IfcIndexedPolyCurve index out of bounds for index " + boost::lexical_cast(idx)); + } + } + const gp_Pnt& a = points[indices[0] - 1]; + const gp_Pnt& b = points[indices[1] - 1]; + const gp_Pnt& c = points[indices[2] - 1]; + Handle(Geom_Circle) circ = GC_MakeCircle(a, b, c).Value(); + BRepBuilderAPI_MakeEdge me(circ, a, c); + if (me.IsDone() && !BRep_Tool::Curve(me.Edge(), u, v).IsNull()) { + w.Add(me.Edge()); + } else { + Logger::Warning("Ignoring segment on", l); + } + } else { + throw IfcParse::IfcException("Unexpected IfcIndexedPolyCurve segment of type " + segment->declaration().name()); + } + } + } else if (points.begin() < points.end()) { + std::vector::const_iterator previous = points.begin(); + for (std::vector::const_iterator current = previous+1; current < points.end(); ++current){ + BRepBuilderAPI_MakeEdge me(*previous, *current); + if (me.IsDone() && !BRep_Tool::Curve(me.Edge(), u, v).IsNull()) { + w.Add(me.Edge()); + previous = current; + } + } + } + + result = w.Wire(); + return true; +} + +#endif diff --git a/src/ifcgeom/IfcLShapeProfileDef.cpp b/src/ifcgeom/IfcLShapeProfileDef.cpp new file mode 100644 index 0000000000..edaaf1551a --- /dev/null +++ b/src/ifcgeom/IfcLShapeProfileDef.cpp @@ -0,0 +1,165 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcLShapeProfileDef* l, TopoDS_Shape& face) { + const bool hasSlope = !!l->LegSlope(); + const bool doEdgeFillet = !!l->EdgeRadius(); + const bool doFillet = !!l->FilletRadius(); + + const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double x = l->Width().get_value_or(l->Depth()) / 2.0f * getValue(GV_LENGTH_UNIT); + const double d = l->Thickness() * getValue(GV_LENGTH_UNIT); + const double slope = l->LegSlope().get_value_or(0.) * getValue(GV_PLANEANGLE_UNIT); + + double f1 = 0.0f; + double f2 = 0.0f; + if (doFillet) { + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); + } + if ( doEdgeFillet) { + f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); + } + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + double xx = -x+d; + double xy = -y+d; + double dy1 = 0.; + double dy2 = 0.; + double dx1 = 0.; + double dx2 = 0.; + if (hasSlope) { + dy1 = tan(slope) * x; + dy2 = tan(slope) * (x - d); + dx1 = tan(slope) * y; + dx2 = tan(slope) * (y - d); + + const double x1s = x; const double y1s = -y + d - dy1; + const double x1e = -x + d; const double y1e = -y + d + dy2; + const double x2s = -x + d - dx1; const double y2s = y; + const double x2e = -x + d + dx2; const double y2e = -y + d; + + const double a1 = y1e - y1s; + const double b1 = x1s - x1e; + const double c1 = a1*x1s + b1*y1s; + + const double a2 = y2e - y2s; + const double b2 = x2s - x2e; + const double c2 = a2*x2s + b2*y2s; + + const double det = a1*b2 - a2*b1; + + if (ALMOST_THE_SAME(det, 0.)) { + Logger::Message(Logger::LOG_NOTICE, "Legs do not intersect for:",l); + return false; + } + + xx = (b2*c1 - b1*c2) / det; + xy = (a1*c2 - a2*c1) / det; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[12] = {-x,-y, x,-y, x,-y+d-dy1, xx, xy, -x+d-dx1,y, -x,y}; + int fillets[3] = {2,3,4}; + double radii[3] = {f2,f1,f2}; + return profile_helper(6,coords,doFillet ? 3 : 0,fillets,radii,trsf2d,face); +} diff --git a/src/ifcgeom/IfcLine.cpp b/src/ifcgeom/IfcLine.cpp new file mode 100644 index 0000000000..53aedc57c2 --- /dev/null +++ b/src/ifcgeom/IfcLine.cpp @@ -0,0 +1,77 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcLine* l, Handle(Geom_Curve)& curve) { + gp_Pnt pnt;gp_Vec vec; + convert(l->Pnt(),pnt); + convert(l->Dir(),vec); + // See note at IfcGeomWires.cpp:237 + curve = new Geom_Line(pnt,vec); + return true; +} diff --git a/src/ifcgeom/IfcManifoldSolidBrep.cpp b/src/ifcgeom/IfcManifoldSolidBrep.cpp new file mode 100644 index 0000000000..5e623b8c8b --- /dev/null +++ b/src/ifcgeom/IfcManifoldSolidBrep.cpp @@ -0,0 +1,122 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcManifoldSolidBrep* l, IfcRepresentationShapeItems& shape) { + TopoDS_Shape s; + auto collective_style = get_style(l); + if (convert_shape(l->Outer(),s) ) { + auto indiv_style = get_style(l->Outer()); + + IfcSchema::IfcClosedShell::list::ptr voids(new IfcSchema::IfcClosedShell::list); + if (l->declaration().is(IfcSchema::IfcFacetedBrepWithVoids::Class())) { + voids = l->as()->Voids(); + } +#ifdef SCHEMA_HAS_IfcAdvancedBrepWithVoids + if (l->declaration().is(IfcSchema::IfcAdvancedBrepWithVoids::Class())) { + voids = l->as()->Voids(); + } +#endif + + for (IfcSchema::IfcClosedShell::list::it it = voids->begin(); it != voids->end(); ++it) { + TopoDS_Shape s2; + /// @todo No extensive shapefixing since shells should be disjoint. + /// @todo Awaiting generalized boolean ops module with appropriate checking + if (convert_shape(l->Outer(), s2)) { + s = BRepAlgoAPI_Cut(s, s2).Shape(); + } + } + + shape.push_back(IfcRepresentationShapeItem(l->data().id(), s, indiv_style ? indiv_style : collective_style)); + return true; + } + return false; +} diff --git a/src/ifcgeom/IfcMappedItem.cpp b/src/ifcgeom/IfcMappedItem.cpp new file mode 100644 index 0000000000..554f8df596 --- /dev/null +++ b/src/ifcgeom/IfcMappedItem.cpp @@ -0,0 +1,138 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcMappedItem* l, IfcRepresentationShapeItems& shapes) { + gp_GTrsf gtrsf; + IfcSchema::IfcCartesianTransformationOperator* transform = l->MappingTarget(); + if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator3DnonUniform::Class()) ) { + IfcGeom::Kernel::convert((IfcSchema::IfcCartesianTransformationOperator3DnonUniform*)transform,gtrsf); + } else if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator2DnonUniform::Class()) ) { + Logger::Message(Logger::LOG_ERROR, "Unsupported MappingTarget:", transform); + return false; + } else if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator3D::Class()) ) { + gp_Trsf trsf; + IfcGeom::Kernel::convert((IfcSchema::IfcCartesianTransformationOperator3D*)transform,trsf); + gtrsf = trsf; + } else if ( transform->declaration().is(IfcSchema::IfcCartesianTransformationOperator2D::Class()) ) { + gp_Trsf2d trsf_2d; + IfcGeom::Kernel::convert((IfcSchema::IfcCartesianTransformationOperator2D*)transform,trsf_2d); + gtrsf = (gp_Trsf) trsf_2d; + } + IfcSchema::IfcRepresentationMap* map = l->MappingSource(); + IfcSchema::IfcAxis2Placement* placement = map->MappingOrigin(); + gp_Trsf trsf; + if (placement->declaration().is(IfcSchema::IfcAxis2Placement3D::Class())) { + IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement3D*)placement,trsf); + } else { + gp_Trsf2d trsf_2d; + IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement2D*)placement,trsf_2d); + trsf = trsf_2d; + } + gtrsf.Multiply(trsf); + + auto mapped_item_style = get_style(l); + + const size_t previous_size = shapes.size(); + bool b = convert_shapes(map->MappedRepresentation(), shapes); + + for (size_t i = previous_size; i < shapes.size(); ++ i ) { + shapes[i].prepend(gtrsf); + + // Apply styles assigned to the mapped item only if on + // a more granular level no styles have been applied + if (!shapes[i].hasStyle()) { + shapes[i].setStyle(mapped_item_style); + } + } + + return b; +} diff --git a/src/ifcgeom/IfcObjectPlacement.cpp b/src/ifcgeom/IfcObjectPlacement.cpp new file mode 100644 index 0000000000..096b79419b --- /dev/null +++ b/src/ifcgeom/IfcObjectPlacement.cpp @@ -0,0 +1,118 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcObjectPlacement* l, gp_Trsf& trsf) { + IN_CACHE(IfcObjectPlacement,l,gp_Trsf,trsf) + if ( ! l->declaration().is(IfcSchema::IfcLocalPlacement::Class()) ) { + Logger::Message(Logger::LOG_ERROR, "Unsupported IfcObjectPlacement:", l); + return false; + } + IfcSchema::IfcLocalPlacement* current = (IfcSchema::IfcLocalPlacement*)l; + for (;;) { + + gp_Trsf trsf2; + IfcSchema::IfcAxis2Placement* relplacement = current->RelativePlacement(); + if (relplacement->as()) { + IfcGeom::Kernel::convert(relplacement->as(),trsf2); + trsf.PreMultiply(trsf2); + } + + if (current->PlacementRelTo()) { + IfcSchema::IfcObjectPlacement* parent = current->PlacementRelTo(); + + bool parent_placement_ignored = false; + if (placement_rel_to_type_ || placement_rel_to_instance_) { + IfcSchema::IfcProduct::list::ptr parent_places = parent->PlacesObject(); + for (auto iter = parent_places->begin(); iter != parent_places->end(); ++iter) { + if ((placement_rel_to_type_ && (*iter)->declaration().is(*placement_rel_to_type_)) || + (placement_rel_to_instance_ && (*iter)->as() == placement_rel_to_instance_)) { + parent_placement_ignored = true; + } + } + } + + if (parent_placement_ignored) { + // The parent placement of the current is a placement for a type that is + // being ignored (Site or Building) or it is the host element of an opening. + break; + } else if (parent->declaration().is(IfcSchema::IfcLocalPlacement::Class())) { + // Keep processing parent placements + current = current->PlacementRelTo()->as(); + } else { + // This is the root placement (typically Site). + break; + } + } else { + break; + } + } + + trsf.PreMultiply(offset_and_rotation); + + CACHE(IfcObjectPlacement,l,trsf) + return true; +} diff --git a/src/ifcgeom/IfcOrientedEdge.cpp b/src/ifcgeom/IfcOrientedEdge.cpp new file mode 100644 index 0000000000..ffa3b9d0b6 --- /dev/null +++ b/src/ifcgeom/IfcOrientedEdge.cpp @@ -0,0 +1,94 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcOrientedEdge* l, TopoDS_Wire& result) { + if (convert_wire(l->EdgeElement(), result)) { + if (!l->Orientation()) { + result.Reverse(); + } + return true; + } else { + return false; + } +} diff --git a/src/ifcgeom/IfcPlane.cpp b/src/ifcgeom/IfcPlane.cpp new file mode 100644 index 0000000000..dde9f45893 --- /dev/null +++ b/src/ifcgeom/IfcPlane.cpp @@ -0,0 +1,126 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* l, TopoDS_Shape& face) { + gp_Pln pln; + convert(l, pln); + Handle_Geom_Surface surf = new Geom_Plane(pln); +#if OCC_VERSION_HEX < 0x60502 + face = BRepBuilderAPI_MakeFace(surf); +#else + face = BRepBuilderAPI_MakeFace(surf, getValue(GV_PRECISION)); +#endif + return true; +} +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* pln, gp_Pln& plane) { + IN_CACHE(IfcPlane,pln,gp_Pln,plane) + IfcSchema::IfcAxis2Placement3D* l = pln->Position(); + gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1);gp_Dir refDirection; + + if (!l->Location()->declaration().is("IfcCartesianPoint")) { + // only applicable to 4x3 rc2 + Logger::Error("Not implemented", l->Location()); + return false; + } + + IfcGeom::Kernel::convert((const IfcSchema::IfcCartesianPoint*) l->Location(),o); + bool hasRef = !!l->RefDirection(); + if ( l->Axis() ) IfcGeom::Kernel::convert(l->Axis(),axis); + if ( hasRef ) IfcGeom::Kernel::convert(l->RefDirection(),refDirection); + gp_Ax3 ax3; + if ( hasRef ) ax3 = gp_Ax3(o,axis,refDirection); + else ax3 = gp_Ax3(o,axis); + plane = gp_Pln(ax3); + CACHE(IfcPlane,pln,plane) + return true; +} diff --git a/src/ifcgeom/IfcPolyLoop.cpp b/src/ifcgeom/IfcPolyLoop.cpp new file mode 100644 index 0000000000..a8320998f7 --- /dev/null +++ b/src/ifcgeom/IfcPolyLoop.cpp @@ -0,0 +1,133 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolyLoop* l, TopoDS_Wire& result) { + IfcSchema::IfcCartesianPoint::list::ptr points = l->Polygon(); + + // Parse and store the points in a sequence + TColgp_SequenceOfPnt polygon; + for(IfcSchema::IfcCartesianPoint::list::it it = points->begin(); it != points->end(); ++ it) { + gp_Pnt pnt; + IfcGeom::Kernel::convert(*it, pnt); + polygon.Append(pnt); + } + + // A loop should consist of at least three vertices + int original_count = polygon.Length(); + if (original_count < 3) { + Logger::Message(Logger::LOG_ERROR, "Not enough edges for:", l); + return false; + } + + // Remove points that are too close to one another + const double eps = getValue(GV_PRECISION) * 10; + remove_duplicate_points_from_loop(polygon, true, eps); + + int count = polygon.Length(); + if (original_count - count != 0) { + std::stringstream ss; ss << (original_count - count) << " edges removed for:"; + Logger::Message(Logger::LOG_WARNING, ss.str(), l); + } + + if (count < 3) { + Logger::Message(Logger::LOG_ERROR, "Not enough edges for:", l); + return false; + } + + BRepBuilderAPI_MakePolygon w; + for (int i = 1; i <= polygon.Length(); ++i) { + w.Add(polygon.Value(i)); + } + w.Close(); + + result = w.Wire(); + + TopTools_ListOfShape results; + if (wire_intersections(result, results)) { + Logger::Error("Self-intersections with " + boost::lexical_cast(results.Extent()) + " cycles detected", l); + select_largest(results, result); + } + + return true; +} diff --git a/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp b/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp new file mode 100644 index 0000000000..5af0aa011b --- /dev/null +++ b/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp @@ -0,0 +1,125 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace* l, TopoDS_Shape& shape) { + TopoDS_Shape halfspace; + if ( ! IfcGeom::Kernel::convert((IfcSchema::IfcHalfSpaceSolid*)l,halfspace) ) return false; + + TopoDS_Wire wire; + if ( ! convert_wire(l->PolygonalBoundary(),wire) || ! wire.Closed() ) return false; + + gp_Trsf trsf; + if ( ! convert(l->Position(),trsf) ) return false; + + TColgp_SequenceOfPnt points; + if (wire_to_sequence_of_point(wire, points)) { + // Boolean subtractions not very robust for narrow operands, + // increase minimal point spacing to eliminate such shapes. + const double t = getValue(GV_PRECISION) * 10.; + remove_duplicate_points_from_loop(points, wire.Closed() != 0, t); // Note: wire always closed, as per if statement above + remove_collinear_points_from_loop(points, wire.Closed() != 0, t); + if (points.Length() < 3) { + Logger::Message(Logger::LOG_ERROR, "Not enough points retained from:", l->PolygonalBoundary()); + return false; + } + sequence_of_point_to_wire(points, wire, wire.Closed() != 0); + } + + TopoDS_Shape prism = BRepPrimAPI_MakePrism(BRepBuilderAPI_MakeFace(wire),gp_Vec(0,0,200)); + gp_Trsf down; down.SetTranslation(gp_Vec(0,0,-100.0)); + + // `trsf` and `down` both have a unit scale factor + prism.Move(trsf*down); + + shape = BRepAlgoAPI_Common(halfspace,prism); + return true; +} diff --git a/src/ifcgeom/IfcPolygonalFaceSet.cpp b/src/ifcgeom/IfcPolygonalFaceSet.cpp new file mode 100644 index 0000000000..80f55e3214 --- /dev/null +++ b/src/ifcgeom/IfcPolygonalFaceSet.cpp @@ -0,0 +1,209 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcPolygonalFaceSet + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolygonalFaceSet* pfs, TopoDS_Shape& shape) { + IfcSchema::IfcCartesianPointList3D* point_list = pfs->Coordinates(); + auto coord_list = point_list->CoordList(); + auto polygonal_faces = pfs->Faces(); + + std::vector> indices; + indices.reserve(polygonal_faces->size() * 2); + + std::vector> loop_grouping; + loop_grouping.reserve(polygonal_faces->size()); + + for (auto& f : *polygonal_faces) { + loop_grouping.emplace_back(); + loop_grouping.back().push_back(indices.size()); + indices.push_back(f->CoordIndex()); + if (f->as()) { + auto inner_coordinates = f->as()->InnerCoordIndices(); + for (auto& x : inner_coordinates) { + loop_grouping.back().push_back(indices.size()); + indices.push_back(x); + } + } + } + + faceset_helper< + std::vector, + std::vector + > helper(this, coord_list, indices, pfs->Closed().get_value_or(false)); + + TopTools_ListOfShape faces; + + for (auto& f : loop_grouping) { + bool not_planar = false; + + TopoDS_Wire w; + if (!helper.wire(indices[f[0]], w)) { + continue; + } + + TopoDS_Face face; + std::vector ws = { w }; + + // @todo triangulate + BRepBuilderAPI_MakeFace mf(w); + if (mf.Error() == BRepBuilderAPI_NotPlanar) { + not_planar = true; + } else if (mf.IsDone()) { + face = mf.Face(); + } else { + // todo log + continue; + } + + if (f.size() > 1) { + + if (not_planar) { + for (auto it = f.begin() + 1; it != f.end(); ++it) { + TopoDS_Wire w2; + if (helper.wire(indices[*it], w2)) { + ws.push_back(w2); + } + } + } else { + BRepBuilderAPI_MakeFace mf2(face); + for (auto it = f.begin() + 1; it != f.end(); ++it) { + TopoDS_Wire w2; + if (helper.wire(indices[*it], w2)) { + mf2.Add(w2); + ws.push_back(w2); + } + + } + + if (mf2.Error() == BRepBuilderAPI_NotPlanar) { + not_planar = true; + } else if (mf2.IsDone()) { + face = mf2.Face(); + } + } + + } + + if (not_planar) { + TopTools_ListOfShape fs; + if (triangulate_wire(ws, fs)) { + Logger::Warning("Triangulated face boundary:", pfs); + TopTools_ListIteratorOfListOfShape it(fs); + for (; it.More(); it.Next()) { + const TopoDS_Face& tri = TopoDS::Face(it.Value()); + if (face_area(tri) > getValue(GV_MINIMAL_FACE_AREA)) { + faces.Append(tri); + } + } + } + } else { + faces.Append(face); + } + } + + if (faces.Extent() > getValue(GV_MAX_FACES_TO_ORIENT) || !create_solid_from_faces(faces, shape)) { + TopoDS_Compound compound; + BRep_Builder builder; + builder.MakeCompound(compound); + + TopTools_ListIteratorOfListOfShape face_iterator; + for (face_iterator.Initialize(faces); face_iterator.More(); face_iterator.Next()) { + builder.Add(compound, face_iterator.Value()); + } + shape = compound; + } + + return true; +} + +#endif diff --git a/src/ifcgeom/IfcPolyline.cpp b/src/ifcgeom/IfcPolyline.cpp new file mode 100644 index 0000000000..bcb57a1c47 --- /dev/null +++ b/src/ifcgeom/IfcPolyline.cpp @@ -0,0 +1,125 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolyline* l, TopoDS_Wire& result) { + IfcSchema::IfcCartesianPoint::list::ptr points = l->Points(); + + // Parse and store the points in a sequence + TColgp_SequenceOfPnt polygon; + for(IfcSchema::IfcCartesianPoint::list::it it = points->begin(); it != points->end(); ++ it) { + gp_Pnt pnt; + IfcGeom::Kernel::convert(*it, pnt); + polygon.Append(pnt); + } + + // @todo the strict tolerance should also govern these arbitrary precision increases + const double eps = getValue(GV_PRECISION) * 10; + const bool closed_by_proximity = polygon.Length() >= 3 && polygon.First().Distance(polygon.Last()) < eps; + if (closed_by_proximity) { + // tfk: note 1-based + polygon.Remove(polygon.Length()); + } + + // Remove points that are too close to one another + remove_duplicate_points_from_loop(polygon, closed_by_proximity, eps); + + if (polygon.Length() < 2) { + // We somehow need to signal we fail this curve on purpose not to trigger an error. + BRep_Builder B; + B.MakeWire(result); + return false; + } + + BRepBuilderAPI_MakePolygon w; + for (int i = 1; i <= polygon.Length(); ++i) { + w.Add(polygon.Value(i)); + } + + if (closed_by_proximity) { + w.Close(); + } + + result = w.Wire(); + return true; +} diff --git a/src/ifcgeom/IfcRectangleHollowProfileDef.cpp b/src/ifcgeom/IfcRectangleHollowProfileDef.cpp new file mode 100644 index 0000000000..95dba8fc22 --- /dev/null +++ b/src/ifcgeom/IfcRectangleHollowProfileDef.cpp @@ -0,0 +1,144 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangleHollowProfileDef* l, TopoDS_Shape& face) { + const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); + const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); + const double d = l->WallThickness() * getValue(GV_LENGTH_UNIT); + + const bool fr1 = !!l->OuterFilletRadius(); + const bool fr2 = !!l->InnerFilletRadius(); + + const double r1 = fr1 ? (*l->OuterFilletRadius()) * getValue(GV_LENGTH_UNIT) : 0.; + const double r2 = fr2 ? (*l->InnerFilletRadius()) * getValue(GV_LENGTH_UNIT) : 0.; + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + TopoDS_Face f1; + TopoDS_Face f2; + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords1[8] = {-x ,-y, x ,-y, x, y, -x, y }; + double coords2[8] = {-x+d,-y+d, x-d,-y+d, x-d,y-d, -x+d,y-d}; + double radii1[4] = {r1,r1,r1,r1}; + double radii2[4] = {r2,r2,r2,r2}; + int fillets[4] = {0,1,2,3}; + + bool s1 = profile_helper(4,coords1,fr1 ? 4 : 0,fillets,radii1,trsf2d,f1); + bool s2 = profile_helper(4,coords2,fr2 ? 4 : 0,fillets,radii2,trsf2d,f2); + + if (!s1 || !s2) return false; + + TopExp_Explorer exp1(f1, TopAbs_WIRE); + TopExp_Explorer exp2(f2, TopAbs_WIRE); + + TopoDS_Wire w1 = TopoDS::Wire(exp1.Current()); + TopoDS_Wire w2 = TopoDS::Wire(exp2.Current()); + + BRepBuilderAPI_MakeFace mf(w1, false); + mf.Add(w2); + + ShapeFix_Shape sfs(mf.Face()); + sfs.Perform(); + face = TopoDS::Face(sfs.Shape()); + return true; +} diff --git a/src/ifcgeom/IfcRectangleProfileDef.cpp b/src/ifcgeom/IfcRectangleProfileDef.cpp new file mode 100644 index 0000000000..fe352089a8 --- /dev/null +++ b/src/ifcgeom/IfcRectangleProfileDef.cpp @@ -0,0 +1,112 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangleProfileDef* l, TopoDS_Shape& face) { + const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); + const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[8] = {-x,-y,x,-y,x,y,-x,y}; + return profile_helper(4,coords,0,0,0,trsf2d,face); +} diff --git a/src/ifcgeom/IfcRectangularPyramid.cpp b/src/ifcgeom/IfcRectangularPyramid.cpp new file mode 100644 index 0000000000..b1dce67d1b --- /dev/null +++ b/src/ifcgeom/IfcRectangularPyramid.cpp @@ -0,0 +1,113 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangularPyramid* l, TopoDS_Shape& shape) { + const double dx = l->XLength() * getValue(GV_LENGTH_UNIT); + const double dy = l->YLength() * getValue(GV_LENGTH_UNIT); + const double dz = l->Height() * getValue(GV_LENGTH_UNIT); + + BRepPrimAPI_MakeWedge builder(dx, dz, dy, dx / 2., dy / 2., dx / 2., dy / 2.); + + gp_Trsf trsf1, trsf2; + trsf2.SetValues( + 1, 0, 0, 0, + 0, 0, 1, 0, + 0, 1, 0, 0 +#if OCC_VERSION_HEX < 0x60800 + , Precision::Angular(), Precision::Confusion() +#endif + ); + + IfcGeom::Kernel::convert(l->Position(), trsf1); + shape = BRepBuilderAPI_Transform(builder.Solid(), trsf1 * trsf2); + return true; +} diff --git a/src/ifcgeom/IfcRectangularTrimmedSurface.cpp b/src/ifcgeom/IfcRectangularTrimmedSurface.cpp new file mode 100644 index 0000000000..760b8cf924 --- /dev/null +++ b/src/ifcgeom/IfcRectangularTrimmedSurface.cpp @@ -0,0 +1,106 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangularTrimmedSurface* l, TopoDS_Shape& face) { + if (!l->BasisSurface()->declaration().is(IfcSchema::IfcPlane::Class())) { + Logger::Message(Logger::LOG_ERROR, "Unsupported BasisSurface:", l->BasisSurface()); + return false; + } + gp_Pln pln; + IfcGeom::Kernel::convert((IfcSchema::IfcPlane*) l->BasisSurface(), pln); + + BRepBuilderAPI_MakeFace mf(pln, l->U1(), l->U2(), l->V1(), l->V2()); + + face = mf.Face(); + + return true; +} diff --git a/src/ifcgeom/IfcRepresentation.cpp b/src/ifcgeom/IfcRepresentation.cpp new file mode 100644 index 0000000000..e29d0b413d --- /dev/null +++ b/src/ifcgeom/IfcRepresentation.cpp @@ -0,0 +1,118 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRepresentation* l, IfcRepresentationShapeItems& shapes) { + IfcSchema::IfcRepresentationItem::list::ptr items = l->Items(); + bool part_succes = false; + if ( items->size() ) { + for ( IfcSchema::IfcRepresentationItem::list::it it = items->begin(); it != items->end(); ++ it ) { + IfcSchema::IfcRepresentationItem* representation_item = *it; + if ( shape_type(representation_item) == ST_SHAPELIST ) { + part_succes |= convert_shapes(*it, shapes); + } else { + TopoDS_Shape s; + if (convert_shape(representation_item, s)) { + if (s.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s).More() && TopoDS_Iterator(s).Value().ShapeType() == TopAbs_SOLID) { + TopoDS_Iterator it(s); + for (; it.More(); it.Next()) { + shapes.push_back(IfcRepresentationShapeItem(representation_item->data().id(), it.Value(), get_style(representation_item))); + } + } else { + shapes.push_back(IfcRepresentationShapeItem(representation_item->data().id(), s, get_style(representation_item))); + } + part_succes |= true; + } + } + } + } + return part_succes; +} diff --git a/src/ifcgeom/IfcRevolvedAreaSolid.cpp b/src/ifcgeom/IfcRevolvedAreaSolid.cpp new file mode 100644 index 0000000000..16606276b7 --- /dev/null +++ b/src/ifcgeom/IfcRevolvedAreaSolid.cpp @@ -0,0 +1,163 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRevolvedAreaSolid* l, TopoDS_Shape& shape) { + const double ang = l->Angle() * getValue(GV_PLANEANGLE_UNIT); + + TopoDS_Shape face; + if ( ! convert_face(l->SweptArea(),face) ) return false; + + gp_Ax1 ax1; + IfcGeom::Kernel::convert(l->Axis(), ax1); + + gp_Trsf trsf; + bool has_position = true; +#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf); + } + + + { + // https://github.com/IfcOpenShell/IfcOpenShell/issues/1030 + // Check whether Axis does not intersect SweptArea + + double min_dot = +std::numeric_limits::infinity(); + double max_dot = -std::numeric_limits::infinity(); + + gp_Ax2 ax(ax1.Location(), gp::DZ(), ax1.Direction()); + + TopExp_Explorer exp(face, TopAbs_EDGE); + for (; exp.More(); exp.Next()) { + BRepAdaptor_Curve crv(TopoDS::Edge(exp.Current())); + GCPnts_QuasiUniformDeflection tessellater(crv, getValue(GV_PRECISION)); + + int n = tessellater.NbPoints(); + for (int i = 1; i <= n; ++i) { + double d = ax.YDirection().XYZ().Dot(tessellater.Value(i).XYZ()); + if (d < min_dot) { + min_dot = d; + } + if (d > max_dot) { + max_dot = d; + } + } + } + + bool intersecting; + if (std::abs(min_dot) > std::abs(max_dot)) { + intersecting = max_dot > + getValue(GV_PRECISION); + } else { + intersecting = min_dot < - getValue(GV_PRECISION); + } + + if (intersecting) { + Logger::Warning("Warning Axis and SweptArea intersecting", l); + } + } + + if (ang >= M_PI * 2. - ALMOST_ZERO) { + shape = BRepPrimAPI_MakeRevol(face, ax1); + } else { + shape = BRepPrimAPI_MakeRevol(face, ax1, ang); + } + + if (has_position) { + // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D + // and therefore has a unit scale factor + shape.Move(trsf); + } + + return !shape.IsNull(); +} diff --git a/src/ifcgeom/IfcRightCircularCone.cpp b/src/ifcgeom/IfcRightCircularCone.cpp new file mode 100644 index 0000000000..690d28d205 --- /dev/null +++ b/src/ifcgeom/IfcRightCircularCone.cpp @@ -0,0 +1,105 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRightCircularCone* l, TopoDS_Shape& shape) { + const double r = l->BottomRadius() * getValue(GV_LENGTH_UNIT); + const double h = l->Height() * getValue(GV_LENGTH_UNIT); + + BRepPrimAPI_MakeCone builder(r, 0., h); + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(),trsf); + + // IfcCsgPrimitive3D.Position has unit scale factor + shape = builder.Solid().Moved(trsf); + + return true; +} diff --git a/src/ifcgeom/IfcRightCircularCylinder.cpp b/src/ifcgeom/IfcRightCircularCylinder.cpp new file mode 100644 index 0000000000..307327abec --- /dev/null +++ b/src/ifcgeom/IfcRightCircularCylinder.cpp @@ -0,0 +1,105 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRightCircularCylinder* l, TopoDS_Shape& shape) { + const double r = l->Radius() * getValue(GV_LENGTH_UNIT); + const double h = l->Height() * getValue(GV_LENGTH_UNIT); + + BRepPrimAPI_MakeCylinder builder(r, h); + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(),trsf); + + // IfcCsgPrimitive3D.Position has unit scale factor + shape = builder.Solid().Moved(trsf); + + return true; +} diff --git a/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp b/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp new file mode 100644 index 0000000000..ecb71e38f4 --- /dev/null +++ b/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp @@ -0,0 +1,115 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcRoundedRectangleProfileDef* l, TopoDS_Shape& face) { + const double x = l->XDim() / 2.0f * getValue(GV_LENGTH_UNIT); + const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); + const double r = l->RoundingRadius() * getValue(GV_LENGTH_UNIT); + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO || r < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[8] = {-x,-y, x,-y, x,y, -x,y}; + int fillets[4] = {0,1,2,3}; + double radii[4] = {r,r,r,r}; + return profile_helper(4,coords,4,fillets,radii,trsf2d,face); +} diff --git a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp new file mode 100644 index 0000000000..bfc970b8f4 --- /dev/null +++ b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp @@ -0,0 +1,107 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { + aggregate_of_instance::ptr shells = l->SbsmBoundary(); + auto collective_style = get_style(l); + for( aggregate_of_instance::it it = shells->begin(); it != shells->end(); ++ it ) { + TopoDS_Shape s; + decltype(collective_style) shell_style; + if ((*it)->declaration().is(IfcSchema::IfcRepresentationItem::Class())) { + shell_style = get_style((IfcSchema::IfcRepresentationItem*)*it); + } + if (convert_shape(*it,s)) { + shapes.push_back(IfcRepresentationShapeItem(l->data().id(), s, shell_style ? shell_style : collective_style)); + } + } + return true; +} diff --git a/src/ifcgeom/IfcSphere.cpp b/src/ifcgeom/IfcSphere.cpp new file mode 100644 index 0000000000..7e9bde719a --- /dev/null +++ b/src/ifcgeom/IfcSphere.cpp @@ -0,0 +1,104 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSphere* l, TopoDS_Shape& shape) { + const double r = l->Radius() * getValue(GV_LENGTH_UNIT); + + BRepPrimAPI_MakeSphere builder(r); + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(),trsf); + + // IfcCsgPrimitive3D.Position has unit scale factor + shape = builder.Solid().Moved(trsf); + + return true; +} diff --git a/src/ifcgeom/IfcSphericalSurface.cpp b/src/ifcgeom/IfcSphericalSurface.cpp new file mode 100644 index 0000000000..a93b90acd6 --- /dev/null +++ b/src/ifcgeom/IfcSphericalSurface.cpp @@ -0,0 +1,104 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcSphericalSurface + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSphericalSurface* l, TopoDS_Shape& face) { + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(), trsf); + + // IfcElementarySurface.Position has unit scale factor + face = BRepBuilderAPI_MakeFace(new Geom_SphericalSurface(gp::XOY(), l->Radius() * getValue(GV_LENGTH_UNIT)), getValue(GV_PRECISION)).Face().Moved(trsf); + return true; +} + +#endif diff --git a/src/ifcgeom/IfcSubedge.cpp b/src/ifcgeom/IfcSubedge.cpp new file mode 100644 index 0000000000..be3459fcb1 --- /dev/null +++ b/src/ifcgeom/IfcSubedge.cpp @@ -0,0 +1,101 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define _USE_MATH_DEFINES +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSubedge* l, TopoDS_Wire& result) { + TopoDS_Wire temp; + if (convert_wire(l->ParentEdge(), result) && convert((IfcSchema::IfcEdge*) l, temp)) { + TopExp_Explorer exp(result, TopAbs_EDGE); + TopoDS_Edge edge = TopoDS::Edge(exp.Current()); + Standard_Real u1, u2; + Handle(Geom_Curve) crv = BRep_Tool::Curve(edge, u1, u2); + TopoDS_Vertex v1, v2; + TopExp::Vertices(temp, v1, v2); + BRepBuilderAPI_MakeWire mw; + mw.Add(BRepBuilderAPI_MakeEdge(crv, v1, v2)); + result = mw.Wire(); + return true; + } else { + return false; + } +} diff --git a/src/ifcgeom/IfcSurfaceCurve.cpp b/src/ifcgeom/IfcSurfaceCurve.cpp new file mode 100644 index 0000000000..b444aa2eae --- /dev/null +++ b/src/ifcgeom/IfcSurfaceCurve.cpp @@ -0,0 +1,75 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcSurfaceCurve +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceCurve* sc, Handle(Geom_Curve)& curve) { + // @todo take into account PCurves. + return convert_curve(sc->Curve3D(), curve); +} +#endif diff --git a/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp b/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp new file mode 100644 index 0000000000..ca7c321e1a --- /dev/null +++ b/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp @@ -0,0 +1,209 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceCurveSweptAreaSolid* l, TopoDS_Shape& shape) { + gp_Trsf directrix; + TopoDS_Shape face; + TopoDS_Face surface_face; + TopoDS_Wire wire, section; + + const bool is_plane = l->ReferenceSurface()->declaration().is(IfcSchema::IfcPlane::Class()); + + if (!is_plane) { + TopoDS_Shape surface_shell; + if (!convert_shape(l->ReferenceSurface(), surface_shell)) { + Logger::Error("Failed to convert reference surface", l); + return false; + } + if (count(surface_shell, TopAbs_FACE) != 1) { + Logger::Error("Non-continuous reference surface", l); + return false; + } + surface_face = TopoDS::Face(TopExp_Explorer(surface_shell, TopAbs_FACE).Current()); + } + + gp_Trsf trsf; + bool has_position = true; +#ifdef SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf); + } + + if (!convert_face(l->SweptArea(), face) || + !convert_wire(l->Directrix(), wire) ) { + return false; + } + + gp_Pln pln; + gp_Pnt directrix_origin; + gp_Vec directrix_tangent; + bool directrix_on_plane = is_plane; + + if (is_plane) { + IfcGeom::Kernel::convert((IfcSchema::IfcPlane*) l->ReferenceSurface(), pln); + + // As per Informal propositions 2: The Directrix shall lie on the ReferenceSurface. + // This is not always the case with the test files in the repository. I am not sure + // how to deal with this and whether my interpretation of the propositions is + // correct. However, if it has been asserted that the vertices of the directrix do + // not conform to the ReferenceSurface, the ReferenceSurface is ignored. + { + for (TopExp_Explorer exp(wire, TopAbs_VERTEX); exp.More(); exp.Next()) { + if (pln.Distance(BRep_Tool::Pnt(TopoDS::Vertex(exp.Current()))) > ALMOST_ZERO) { + directrix_on_plane = false; + Logger::Message(Logger::LOG_WARNING, "The Directrix does not lie on the ReferenceSurface", l); + break; + } + } + } + } + + { + TopExp_Explorer exp(wire, TopAbs_EDGE); + TopoDS_Edge edge = TopoDS::Edge(exp.Current()); + double u0, u1; + Handle(Geom_Curve) crv = BRep_Tool::Curve(edge, u0, u1); + crv->D1(u0, directrix_origin, directrix_tangent); + } + + if (is_plane && pln.Axis().Direction().IsNormal(directrix_tangent, Precision::Approximation()) && directrix_on_plane) { + directrix.SetTransformation(gp_Ax3(directrix_origin, directrix_tangent, pln.Axis().Direction()), gp::XOY()); + } else if (!is_plane) { + ShapeAnalysis_Surface sas(BRep_Tool::Surface(surface_face)); + auto pnt2d = sas.ValueOfUV(directrix_origin, getValue(GV_PRECISION) * 10.); + BRepGProp_Face prop(surface_face); + gp_Pnt _; + gp_Vec surface_normal; + prop.Normal(pnt2d.X(), pnt2d.Y(), _, surface_normal); + directrix.SetTransformation(gp_Ax3(directrix_origin, directrix_tangent, surface_normal), gp::XOY()); + } else { + directrix.SetTransformation(gp_Ax3(directrix_origin, directrix_tangent), gp::XOY()); + } + face = BRepBuilderAPI_Transform(face, directrix); + + if (!is_plane) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + for (; exp.More(); exp.Next()) { + ShapeFix_Edge sfe; + sfe.FixAddPCurve(TopoDS::Edge(exp.Current()), surface_face, false, getValue(GV_PRECISION)); + } + } + + // NB: Note that StartParam and EndParam param are ignored and the assumption is + // made that the parametric range over which to be swept matches the IfcCurve in + // its entirety. + BRepOffsetAPI_MakePipeShell builder(wire); + + { TopExp_Explorer exp(face, TopAbs_WIRE); + section = TopoDS::Wire(exp.Current()); } + + builder.Add(section); + builder.SetTransitionMode(BRepBuilderAPI_RightCorner); + if (directrix_on_plane) { + builder.SetMode(pln.Axis().Direction()); + } else if (!is_plane) { + builder.SetMode(surface_face); + } + builder.Build(); + builder.MakeSolid(); + shape = builder.Shape(); + + if (has_position) { + // IfcSweptAreaSolid.Position (trsf) is an IfcAxis2Placement3D + // and therefore has a unit scale factor + shape.Move(trsf); + } + + return true; +} diff --git a/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp b/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp new file mode 100644 index 0000000000..9efcf31919 --- /dev/null +++ b/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp @@ -0,0 +1,124 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceOfLinearExtrusion* l, TopoDS_Shape& shape) { + TopoDS_Wire wire; + if ( !convert_wire(l->SweptCurve(), wire) ) { + TopoDS_Face face; + if ( !convert_face(l->SweptCurve(),face) ) return false; + TopExp_Explorer exp(face, TopAbs_WIRE); + wire = TopoDS::Wire(exp.Current()); + } + const double height = l->Depth() * getValue(GV_LENGTH_UNIT); + + gp_Trsf trsf; + bool has_position = true; +#ifdef SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf); + } + + gp_Dir dir; + convert(l->ExtrudedDirection(),dir); + + shape = BRepPrimAPI_MakePrism(wire, height*dir); + + if (has_position) { + // IfcSweptSurface.Position (trsf) is an IfcAxis2Placement3D + // and therefore has a unit scale factor + shape.Move(trsf); + } + + return !shape.IsNull(); +} diff --git a/src/ifcgeom/IfcSurfaceOfRevolution.cpp b/src/ifcgeom/IfcSurfaceOfRevolution.cpp new file mode 100644 index 0000000000..d06c04e11a --- /dev/null +++ b/src/ifcgeom/IfcSurfaceOfRevolution.cpp @@ -0,0 +1,123 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceOfRevolution* l, TopoDS_Shape& shape) { + TopoDS_Wire wire; + if ( !convert_wire(l->SweptCurve(), wire) ) { + TopoDS_Face face; + if ( !convert_face(l->SweptCurve(),face) ) return false; + TopExp_Explorer exp(face, TopAbs_WIRE); + wire = TopoDS::Wire(exp.Current()); + } + + gp_Ax1 ax1; + IfcGeom::Kernel::convert(l->AxisPosition(), ax1); + + gp_Trsf trsf; + bool has_position = true; +#ifdef SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf); + } + + shape = BRepPrimAPI_MakeRevol(wire, ax1); + + if (has_position) { + // IfcSweptSurface.Position (trsf) is an IfcAxis2Placement3D + // and therefore has a unit scale factor + shape.Move(trsf); + } + + return !shape.IsNull(); +} diff --git a/src/ifcgeom/IfcSweptDiskSolid.cpp b/src/ifcgeom/IfcSweptDiskSolid.cpp new file mode 100644 index 0000000000..520d3c6c38 --- /dev/null +++ b/src/ifcgeom/IfcSweptDiskSolid.cpp @@ -0,0 +1,189 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#include "../ifcgeom_schema_agnostic/sweep_utils.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shape& shape) { + TopoDS_Wire wire, section1, section2; + + bool hasInnerRadius = !!l->InnerRadius(); + + if (!convert_wire(l->Directrix(), wire)) { + return false; + } + + // Start- EndParam became optional in IFC4 +#ifdef SCHEMA_IfcSweptDiskSolid_StartParam_IS_OPTIONAL + auto sp = l->StartParam(); + auto ep = l->EndParam(); +#else + boost::optional sp, ep; + sp = l->StartParam(); + ep = l->EndParam(); +#endif + + if (count(wire, TopAbs_EDGE) == 1 && sp && ep) { + TopoDS_Vertex v0, v1; + TopExp::Vertices(wire, v0, v1); + if (v0.IsSame(v1)) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + auto& e = TopoDS::Edge(exp.Current()); + double a, b; + auto crv = BRep_Tool::Curve(e, a, b); + if ((crv->DynamicType() == STANDARD_TYPE(Geom_Circle)) || + (crv->DynamicType() == STANDARD_TYPE(Geom_Ellipse))) + { + BRepBuilderAPI_MakeEdge me(crv, *sp, *ep); + if (me.IsDone()) { + auto e2 = me.Edge(); + BRep_Builder B; + wire.Nullify(); + B.MakeWire(wire); + B.Add(wire, e2); + } + } + } + } + + // NB: Note that StartParam and EndParam param are ignored and the assumption is + // made that the parametric range over which to be swept matches the IfcCurve in + // its entirety. + + util::process_sweep(wire, l->Radius() * getValue(GV_LENGTH_UNIT), shape); + + if (shape.IsNull()) { + return false; + } + + double r2 = 0.; + + if (hasInnerRadius) { + // Subtraction of pipes with small radii is unstable. + r2 = *l->InnerRadius() * getValue(GV_LENGTH_UNIT); + } + + if (r2 > getValue(GV_PRECISION) * 10.) { + TopoDS_Shape inner; + util::process_sweep(wire, r2, inner); + + bool is_valid = false; + + // Boolean op on the compound of separately processed sweeps + // is not attempted. + // @todo iterate over compound subshapes and process boolean + // separately. + // @todo don't process as boolean op at all, since we know + // only the start and end faces intersect and we know they + // are co-planar and we know they are circles. + if (shape.ShapeType() != TopAbs_COMPOUND) { + BRepAlgoAPI_Cut brep_cut(shape, inner); + if (brep_cut.IsDone()) { + TopoDS_Shape result = brep_cut; + + ShapeFix_Shape fix(result); + fix.Perform(); + result = fix.Shape(); + + is_valid = BRepCheck_Analyzer(result).IsValid() != 0; + if (is_valid) { + shape = result; + } + } + } + + if (!is_valid) { + Logger::Message(Logger::LOG_WARNING, "Failed to subtract inner radius void for:", l); + } + } + + return true; +} diff --git a/src/ifcgeom/IfcTShapeProfileDef.cpp b/src/ifcgeom/IfcTShapeProfileDef.cpp new file mode 100644 index 0000000000..a4b752d55a --- /dev/null +++ b/src/ifcgeom/IfcTShapeProfileDef.cpp @@ -0,0 +1,179 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcTShapeProfileDef* l, TopoDS_Shape& face) { + const bool doFlangeEdgeFillet = !!l->FlangeEdgeRadius(); + const bool doWebEdgeFillet = !!l->WebEdgeRadius(); + const bool doFillet = !!l->FilletRadius(); + const bool hasFlangeSlope = !!l->FlangeSlope(); + const bool hasWebSlope = !!l->WebSlope(); + + const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double x = l->FlangeWidth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double d1 = l->WebThickness() * getValue(GV_LENGTH_UNIT); + const double d2 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); + const double flangeSlope = hasFlangeSlope ? (*l->FlangeSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; + const double webSlope = hasWebSlope ? (*l->WebSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + double dy1 = 0.0f; + double dy2 = 0.0f; + double dx1 = 0.0f; + double dx2 = 0.0f; + double f1 = 0.0f; + double f2 = 0.0f; + double f3 = 0.0f; + + if (doFillet) { + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); + } + if (doWebEdgeFillet) { + f2 = *l->WebEdgeRadius() * getValue(GV_LENGTH_UNIT); + } + if (doFlangeEdgeFillet) { + f3 = *l->FlangeEdgeRadius() * getValue(GV_LENGTH_UNIT); + } + + double xx, xy; + if (hasFlangeSlope) { + dy1 = (x / 2. - d1) * tan(flangeSlope); + dy2 = x / 2. * tan(flangeSlope); + } + if (hasWebSlope) { + dx1 = (y - d2) * tan(webSlope); + dx2 = y * tan(webSlope); + } + if (hasWebSlope || hasFlangeSlope) { + const double x1s = d1/2. - dx2; const double y1s = -y; + const double x1e = d1/2. + dx1; const double y1e = y - d2; + const double x2s = x; const double y2s = y - d2 + dy2; + const double x2e = d1/2.; const double y2e = y - d2 - dy1; + + const double a1 = y1e - y1s; + const double b1 = x1s - x1e; + const double c1 = a1*x1s + b1*y1s; + + const double a2 = y2e - y2s; + const double b2 = x2s - x2e; + const double c2 = a2*x2s + b2*y2s; + + const double det = a1*b2 - a2*b1; + + if (ALMOST_THE_SAME(det, 0.)) { + Logger::Message(Logger::LOG_NOTICE, "Web and flange do not intersect for:",l); + return false; + } + + xx = (b2*c1 - b1*c2) / det; + xy = (a1*c2 - a2*c1) / det; + } else { + xx = d1 / 2; + xy = y - d2; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[16] = {d1/2.-dx2,-y, xx,xy, x,y-d2+dy2, x,y, -x,y, -x,y-d2+dy2, -xx,xy, -d1/2.+dx2,-y}; + int fillets[6] = {0,1,2,5,6,7}; + double radii[6] = {f2,f1,f3,f3,f1,f2}; + return profile_helper(8, coords, (doFillet || doWebEdgeFillet || doFlangeEdgeFillet) ? 6 : 0, fillets, radii, trsf2d, face); +} diff --git a/src/ifcgeom/IfcToroidalSurface.cpp b/src/ifcgeom/IfcToroidalSurface.cpp new file mode 100644 index 0000000000..eaa55f91f7 --- /dev/null +++ b/src/ifcgeom/IfcToroidalSurface.cpp @@ -0,0 +1,104 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcToroidalSurface + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcToroidalSurface* l, TopoDS_Shape& face) { + gp_Trsf trsf; + IfcGeom::Kernel::convert(l->Position(), trsf); + + // IfcElementarySurface.Position has unit scale factor + face = BRepBuilderAPI_MakeFace(new Geom_ToroidalSurface(gp::XOY(), l->MajorRadius() * getValue(GV_LENGTH_UNIT), l->MinorRadius() * getValue(GV_LENGTH_UNIT)), getValue(GV_PRECISION)).Face().Moved(trsf); + return true; +} + +#endif diff --git a/src/ifcgeom/IfcTrapeziumProfileDef.cpp b/src/ifcgeom/IfcTrapeziumProfileDef.cpp new file mode 100644 index 0000000000..4960f31e60 --- /dev/null +++ b/src/ifcgeom/IfcTrapeziumProfileDef.cpp @@ -0,0 +1,123 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrapeziumProfileDef* l, TopoDS_Shape& face) { + const double x1 = l->BottomXDim() / 2. * getValue(GV_LENGTH_UNIT); + const double w = l->TopXDim() * getValue(GV_LENGTH_UNIT); + const double dx = l->TopXOffset() * getValue(GV_LENGTH_UNIT); + const double y = l->YDim() / 2. * getValue(GV_LENGTH_UNIT); + + // See: https://forums.buildingsmart.org/t/how-are-the-sides-of-ifctrapeziumprofiledefs-bounding-box-calculated-in-most-implementations/2945/8 + // The trapezium x center should not be midway of BottomXDim but rather at the center of the overall bounding box. + const double x_offset = ((std::min(dx, 0.) + std::max(w + dx, x1 * 2.)) / 2.) - x1; + + if ( x1 < ALMOST_ZERO || w < ALMOST_ZERO || y < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[8] = { + -x1 - x_offset, -y, + +x1 - x_offset, -y, + -x1 + dx + w - x_offset, y, + -x1 + dx - x_offset,y + }; + return profile_helper(4,coords,0,0,0,trsf2d,face); +} diff --git a/src/ifcgeom/IfcTriangulatedFaceSet.cpp b/src/ifcgeom/IfcTriangulatedFaceSet.cpp new file mode 100644 index 0000000000..5935695b76 --- /dev/null +++ b/src/ifcgeom/IfcTriangulatedFaceSet.cpp @@ -0,0 +1,132 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +#ifdef SCHEMA_HAS_IfcTriangulatedFaceSet + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcTriangulatedFaceSet* l, TopoDS_Shape& shape) { + IfcSchema::IfcCartesianPointList3D* point_list = l->Coordinates(); + auto coord_list = point_list->CoordList(); + std::vector> indices = l->CoordIndex(); + + faceset_helper< + std::vector, + std::vector + > helper(this, coord_list, indices, l->Closed().get_value_or(false)); + + TopTools_ListOfShape faces; + + for (auto it = indices.begin(); it != indices.end(); ++it) { + TopoDS_Wire w; + if (helper.wire(*it, w)) { + BRepBuilderAPI_MakeFace mf(w); + if (mf.IsDone()) { + faces.Append(mf.Face()); + } + } + } + + if (faces.Extent() > getValue(GV_MAX_FACES_TO_ORIENT) || !create_solid_from_faces(faces, shape)) { + TopoDS_Compound compound; + BRep_Builder builder; + builder.MakeCompound(compound); + + TopTools_ListIteratorOfListOfShape face_iterator; + for (face_iterator.Initialize(faces); face_iterator.More(); face_iterator.Next()) { + builder.Add(compound, face_iterator.Value()); + } + shape = compound; + } + + return true; +} + +#endif \ No newline at end of file diff --git a/src/ifcgeom/IfcTrimmedCurve.cpp b/src/ifcgeom/IfcTrimmedCurve.cpp new file mode 100644 index 0000000000..73b56f4d75 --- /dev/null +++ b/src/ifcgeom/IfcTrimmedCurve.cpp @@ -0,0 +1,292 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include + +#include "../ifcgeom_schema_agnostic/wire_builder.h" + +#define _USE_MATH_DEFINES + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& wire) { + IfcSchema::IfcCurve* basis_curve = l->BasisCurve(); + bool isConic = basis_curve->declaration().is(IfcSchema::IfcConic::Class()); + double parameterFactor = isConic ? getValue(GV_PLANEANGLE_UNIT) : getValue(GV_LENGTH_UNIT); + + Handle(Geom_Curve) curve; + if (shape_type(basis_curve) == ST_CURVE) { + if (!convert_curve(basis_curve, curve)) return false; + } else if (shape_type(basis_curve) == ST_WIRE) { + Logger::Warning("Approximating BasisCurve due to possible discontinuities", l); + TopoDS_Wire w; + if (!convert_wire(basis_curve, w)) return false; +#if OCC_VERSION_HEX < 0x70600 + BRepAdaptor_CompCurve cc(w, true); + Handle(Adaptor3d_HCurve) hcc = Handle(Adaptor3d_HCurve)(new BRepAdaptor_HCompCurve(cc)); +#else + auto hcc = new BRepAdaptor_CompCurve(w, true); +#endif + // @todo, arbitrary numbers here, note they cannot be too high as contiguous memory is allocated based on them. + Approx_Curve3d approx(hcc, getValue(GV_PRECISION), GeomAbs_C0, 10, 10); + curve = approx.Curve(); + } else { + Logger::Error("Unknown BasisCurve", l); + return false; + } + + bool trim_cartesian = l->MasterRepresentation() != IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER; + aggregate_of_instance::ptr trims1 = l->Trim1(); + aggregate_of_instance::ptr trims2 = l->Trim2(); + + unsigned sense_agreement = l->SenseAgreement() ? 0 : 1; + double flts[2]; + gp_Pnt pnts[2]; + bool has_flts[2] = {false,false}; + bool has_pnts[2] = {false,false}; + + TopoDS_Edge e; + + for ( aggregate_of_instance::it it = trims1->begin(); it != trims1->end(); it ++ ) { + IfcUtil::IfcBaseClass* i = *it; + if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { + IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[sense_agreement] ); + has_pnts[sense_agreement] = true; + } else if ( i->declaration().is(IfcSchema::IfcParameterValue::Class()) ) { + const double value = *((IfcSchema::IfcParameterValue*)i); + flts[sense_agreement] = value * parameterFactor; + has_flts[sense_agreement] = true; + } + } + + for ( aggregate_of_instance::it it = trims2->begin(); it != trims2->end(); it ++ ) { + IfcUtil::IfcBaseClass* i = *it; + if ( i->declaration().is(IfcSchema::IfcCartesianPoint::Class()) ) { + IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[1-sense_agreement] ); + has_pnts[1-sense_agreement] = true; + } else if ( i->declaration().is(IfcSchema::IfcParameterValue::Class()) ) { + const double value = *((IfcSchema::IfcParameterValue*)i); + flts[1-sense_agreement] = value * parameterFactor; + has_flts[1-sense_agreement] = true; + } + } + + trim_cartesian &= has_pnts[0] && has_pnts[1]; + bool trim_cartesian_failed = !trim_cartesian; + if ( trim_cartesian ) { + if ( pnts[0].Distance(pnts[1]) < 2 * getValue(GV_PRECISION) ) { + Logger::Message(Logger::LOG_WARNING,"Skipping segment with length below tolerance level:",l); + return false; + } + ShapeFix_ShapeTolerance FTol; + TopoDS_Vertex v1 = BRepBuilderAPI_MakeVertex(pnts[0]); + TopoDS_Vertex v2 = BRepBuilderAPI_MakeVertex(pnts[1]); + FTol.SetTolerance(v1, getValue(GV_PRECISION), TopAbs_VERTEX); + FTol.SetTolerance(v2, getValue(GV_PRECISION), TopAbs_VERTEX); + BRepBuilderAPI_MakeEdge me (curve,v1,v2); + if (!me.IsDone()) { + BRepBuilderAPI_EdgeError err = me.Error(); + if ( err == BRepBuilderAPI_PointProjectionFailed ) { + Logger::Message(Logger::LOG_WARNING,"Point projection failed for:",l); + trim_cartesian_failed = true; + } + } else { + e = me.Edge(); + // BRepBuilderAPI_MakeEdge swaps v1 and v2 if the parameter value of v2 is + // smaller than that of v1. In that case the edge has to be reversed so that + // the vertex order is consistent with Trim1 and Trim2. Otherwise the + // IfcOpenShell wire builder will create intermediate edges automatically. + // The alternative would be to reverse the underlying curve instead. + if (!TopExp::FirstVertex(e, true).IsSame(v1)) { + e.Reverse(); + } + } + } + + if ( (!trim_cartesian || trim_cartesian_failed) && (has_flts[0] && has_flts[1]) ) { + // The Geom_Line is constructed from a gp_Pnt and gp_Dir, whereas the IfcLine + // is defined by an IfcCartesianPoint and an IfcVector with Magnitude. Because + // the vector is normalised when passed to Geom_Line constructor the magnitude + // needs to be factored in with the IfcParameterValue here. + if ( basis_curve->declaration().is(IfcSchema::IfcLine::Class()) ) { + IfcSchema::IfcLine* line = static_cast(basis_curve); + const double magnitude = line->Dir()->Magnitude(); + flts[0] *= magnitude; flts[1] *= magnitude; + } + if ( basis_curve->declaration().is(IfcSchema::IfcEllipse::Class()) ) { + IfcSchema::IfcEllipse* ellipse = static_cast(basis_curve); + double x = ellipse->SemiAxis1() * getValue(GV_LENGTH_UNIT); + double y = ellipse->SemiAxis2() * getValue(GV_LENGTH_UNIT); + const bool rotated = y > x; + if (rotated) { + flts[0] -= M_PI / 2.; + flts[1] -= M_PI / 2.; + } + } + + double radius = 1.0; + if (curve->DynamicType() == STANDARD_TYPE(Geom_Circle)) { + auto circle_curve = Handle_Geom_Circle::DownCast(curve); + radius = circle_curve->Radius(); + } else if (curve->DynamicType() == STANDARD_TYPE(Geom_Ellipse)) { + auto circle_curve = Handle_Geom_Ellipse::DownCast(curve); + radius = (circle_curve->MajorRadius() + circle_curve->MinorRadius()) / 2.; + } + + // Fix from @sanderboer to compare using model tolerance, see #744 + // Made dependent on radius, see #928 + + // A good critereon for determining whether to take full curve + // or trimmed segment would be whether there are other curve segments or this + // is the only one. + boost::optional num_segments; + auto segment = l->data().getInverse(&IfcSchema::IfcCompositeCurveSegment::Class(), -1); + if (segment->size() == 1) { + auto comp = (*segment->begin())->data().getInverse(&IfcSchema::IfcCompositeCurve::Class(), -1); + if (comp->size() == 1) { + num_segments = (*comp->begin())->as()->Segments()->size(); + } + } + + // @todo is 100. not too much? Check with the original issue. + const double precision_markup = getValue(IfcGeom::Kernel::GV_PRECISION_FACTOR) == 1. ? 1. : 100.; + + if (isConic && ALMOST_THE_SAME(fmod(flts[1]-flts[0],M_PI*2.), 0., precision_markup * getValue(GV_PRECISION) / (2 * M_PI * radius))) { + e = BRepBuilderAPI_MakeEdge(curve).Edge(); + } else { + BRepBuilderAPI_MakeEdge me (curve,flts[0],flts[1]); + e = me.Edge(); + } + + if (num_segments && *num_segments > 1) { + TopoDS_Vertex v0, v1; + TopExp::Vertices(e, v0, v1); + if (v0.IsSame(v1)) { + Logger::Warning("Skipping degenerate segment", l); + return false; + } + } + + } else if ( trim_cartesian_failed && (has_pnts[0] && has_pnts[1]) ) { + e = BRepBuilderAPI_MakeEdge(pnts[0], pnts[1]).Edge(); + } + + if (e.IsNull()) { + return false; + } + + if (isConic) { + // Tiny circle segnments can cause issues later on, for example + // when the comp curve is used as the sweeping directrix. + double a, b; + Handle(Geom_Curve) crv = BRep_Tool::Curve(e, a, b); + double radius = -1.; + if (crv->DynamicType() == STANDARD_TYPE(Geom_Circle)) { + radius = Handle(Geom_Circle)::DownCast(crv)->Radius(); + } else if (crv->DynamicType() == STANDARD_TYPE(Geom_Ellipse)) { + // The formula in deflection_for_approximating_circle() is for circles, but probably good enough + radius = Handle(Geom_Ellipse)::DownCast(crv)->MajorRadius(); + } + if (radius > 0. && util::deflection_for_approximating_circle(radius, b - a) < 100 * getValue(GV_PRECISION) && std::abs(b-a) < M_PI/4.) { + TopoDS_Vertex v0, v1; + TopExp::Vertices(e, v0, v1); + e = TopoDS::Edge(BRepBuilderAPI_MakeEdge(v0, v1).Edge().Oriented(e.Orientation())); + Logger::Warning("Subsituted edge with linear approximation", l); + } + } + + BRepBuilderAPI_MakeWire w; + w.Add(e); + + if (w.IsDone()) { + wire = w.Wire(); + + // When SenseAgreement == .F. the vertices above have been reversed to + // comply with the direction of conical curves. The ordering of the + // vertices then still needs to be reversed in order to have begin and + // end vertex consistent with IFC. + if (sense_agreement != 0) { // .F. + wire.Reverse(); + } + + return true; + } else { + return false; + } +} diff --git a/src/ifcgeom/IfcUShapeProfileDef.cpp b/src/ifcgeom/IfcUShapeProfileDef.cpp new file mode 100644 index 0000000000..68baa93a16 --- /dev/null +++ b/src/ifcgeom/IfcUShapeProfileDef.cpp @@ -0,0 +1,138 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcUShapeProfileDef* l, TopoDS_Shape& face) { + const bool doEdgeFillet = !!l->EdgeRadius(); + const bool doFillet = !!l->FilletRadius(); + const bool hasSlope = !!l->FlangeSlope(); + + const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double x = l->FlangeWidth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double d1 = l->WebThickness() * getValue(GV_LENGTH_UNIT); + const double d2 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); + const double slope = l->FlangeSlope().get_value_or(0.) * getValue(GV_PLANEANGLE_UNIT); + + double dy1 = 0.0f; + double dy2 = 0.0f; + double f1 = 0.0f; + double f2 = 0.0f; + + if (doFillet) { + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); + } + if (doEdgeFillet) { + f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); + } + + if (hasSlope) { + dy1 = (x - d1) * tan(slope); + dy2 = x * tan(slope); + } + + if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[16] = {-x,-y, x,-y, x,-y+d2-dy2, -x+d1,-y+d2+dy1, -x+d1,y-d2-dy1, x,y-d2+dy2, x,y, -x,y}; + int fillets[4] = {2,3,4,5}; + double radii[4] = {f2,f1,f1,f2}; + return profile_helper(8, coords, (doFillet || doEdgeFillet) ? 4 : 0, fillets, radii, trsf2d, face); +} diff --git a/src/ifcgeom/IfcVector.cpp b/src/ifcgeom/IfcVector.cpp new file mode 100644 index 0000000000..585659f67f --- /dev/null +++ b/src/ifcgeom/IfcVector.cpp @@ -0,0 +1,75 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcVector* l, gp_Vec& v) { + IN_CACHE(IfcVector,l,gp_Vec,v) + gp_Dir d; + IfcGeom::Kernel::convert(l->Orientation(),d); + v = l->Magnitude() * getValue(GV_LENGTH_UNIT) * d; + CACHE(IfcVector,l,v) + return true; +} diff --git a/src/ifcgeom/IfcZShapeProfileDef.cpp b/src/ifcgeom/IfcZShapeProfileDef.cpp new file mode 100644 index 0000000000..2b66344919 --- /dev/null +++ b/src/ifcgeom/IfcZShapeProfileDef.cpp @@ -0,0 +1,129 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../ifcgeom/IfcGeom.h" +#include +#include +#include +#include + +#define Kernel MAKE_TYPE_NAME(Kernel) + +bool IfcGeom::Kernel::convert(const IfcSchema::IfcZShapeProfileDef* l, TopoDS_Shape& face) { + const double x = l->FlangeWidth() * getValue(GV_LENGTH_UNIT); + const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); + const double dx = l->WebThickness() / 2.0f * getValue(GV_LENGTH_UNIT); + const double dy = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); + + bool doFillet = !!l->FilletRadius(); + bool doEdgeFillet = !!l->EdgeRadius(); + + double f1 = 0.; + double f2 = 0.; + + if ( doFillet ) { + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); + } + if ( doEdgeFillet ) { + f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); + } + + if ( x == 0.0f || y == 0.0f || dx == 0.0f || dy == 0.0f ) { + Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l); + return false; + } + + gp_Trsf2d trsf2d; + bool has_position = true; +#ifdef SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL + has_position = l->Position() != nullptr; +#endif + if (has_position) { + IfcGeom::Kernel::convert(l->Position(), trsf2d); + } + + double coords[16] = {-dx,-y, x,-y, x,-y+dy, dx,-y+dy, dx,y, -x,y, -x,y-dy, -dx,y-dy}; + int fillets[4] = {2,3,6,7}; + double radii[4] = {f2,f1,f2,f1}; + return profile_helper(8,coords,(doFillet || doEdgeFillet) ? 4 : 0,fillets,radii,trsf2d,face); +} diff --git a/src/ifcgeom_schema_agnostic/Kernel.cpp b/src/ifcgeom_schema_agnostic/Kernel.cpp index 57a27be97c..924cd7bde0 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.cpp +++ b/src/ifcgeom_schema_agnostic/Kernel.cpp @@ -370,3 +370,53 @@ bool IfcGeom::util::is_nested_compound_of_solid(const TopoDS_Shape& s, int depth return false; } } + +namespace { + template struct dimension_count {}; + template <> struct dimension_count { static const int n = 2; }; + template <> struct dimension_count { static const int n = 2; }; + template <> struct dimension_count < gp_Trsf > { static const int n = 3; }; + template <> struct dimension_count < gp_GTrsf > { static const int n = 3; }; + + template + bool is_identity_helper(const T& t, double tolerance) { + // Note the {1, n+1} range due to Open Cascade's 1-based indexing + // Note the {1, n+2} range due to the translation part of the matrix + for (int i = 1; i < dimension_count::n + 2; ++i) { + for (int j = 1; j < dimension_count::n + 1; ++j) { + const double iden_value = i == j ? 1. : 0.; + const double trsf_value = t.Value(j, i); + if (fabs(trsf_value - iden_value) > tolerance) { + return false; + } + } + } + return true; + } +} + +bool IfcGeom::Kernel::is_identity(const gp_Trsf2d& t, double tolerance) { + return is_identity_helper(t, tolerance); +} + +bool IfcGeom::Kernel::is_identity(const gp_GTrsf2d& t, double tolerance) { + return is_identity_helper(t, tolerance); +} + +bool IfcGeom::Kernel::is_identity(const gp_Trsf& t, double tolerance) { + return is_identity_helper(t, tolerance); +} + +bool IfcGeom::Kernel::is_identity(const gp_GTrsf& t, double tolerance) { + return is_identity_helper(t, tolerance); +} + +inline IFC_PARSE_API gp_Trsf IfcGeom::Kernel::combine_offset_and_rotation(const gp_Vec & offset, const gp_Quaternion & rotation) { + auto offset_transform = gp_Trsf{}; + offset_transform.SetTranslation(offset); + + auto rotation_transform = gp_Trsf{}; + rotation_transform.SetRotation(rotation); + + return rotation_transform * offset_transform; +} diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h index 4485143a89..17fec0b1eb 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.h +++ b/src/ifcgeom_schema_agnostic/Kernel.h @@ -33,6 +33,12 @@ #include #include +#include +#include +#include +#include +#include +#include namespace IfcGeom { @@ -116,6 +122,32 @@ namespace IfcGeom { IFC_PARSE_API static bool is_manifold(const TopoDS_Shape& a); IFC_PARSE_API static IfcUtil::IfcBaseEntity* get_decomposing_entity(IfcUtil::IfcBaseEntity*, bool include_openings = true); IFC_PARSE_API static std::map get_layers(IfcUtil::IfcBaseEntity*); + + // For axis placements detect equality early in order for the + // relatively computionaly expensive gp_Trsf calculation to be skipped + IFC_PARSE_API static bool axis_equal(const gp_Ax3& a, const gp_Ax3& b, double tolerance) { + if (!a.Location().IsEqual(b.Location(), tolerance)) return false; + // Note that the tolerance below is angular, above is linear. Since architectural + // objects are about 1m'ish in scale, it should be somewhat equivalent. Besides, + // this is mostly a filter for NULL or default values in the placements. + if (!a.Direction().IsEqual(b.Direction(), tolerance)) return false; + if (!a.XDirection().IsEqual(b.XDirection(), tolerance)) return false; + if (!a.YDirection().IsEqual(b.YDirection(), tolerance)) return false; + return true; + } + + IFC_PARSE_API static bool axis_equal(const gp_Ax2d& a, const gp_Ax2d& b, double tolerance) { + if (!a.Location().IsEqual(b.Location(), tolerance)) return false; + if (!a.Direction().IsEqual(b.Direction(), tolerance)) return false; + return true; + } + + IFC_PARSE_API static bool is_identity(const gp_Trsf2d& t, double tolerance); + IFC_PARSE_API static bool is_identity(const gp_GTrsf2d& t, double tolerance); + IFC_PARSE_API static bool is_identity(const gp_Trsf& t, double tolerance); + IFC_PARSE_API static bool is_identity(const gp_GTrsf& t, double tolerance); + + IFC_PARSE_API static gp_Trsf combine_offset_and_rotation(const gp_Vec &offset, const gp_Quaternion& rotation); }; namespace impl { @@ -134,6 +166,24 @@ namespace IfcGeom { namespace util { bool is_nested_compound_of_solid(const TopoDS_Shape& s, int depth = 0); } + + class IFC_GEOM_API geometry_exception : public std::exception { + protected: + std::string message; + public: + geometry_exception(const std::string& m) + : message(m) {} + virtual ~geometry_exception() throw () {} + virtual const char* what() const throw() { + return message.c_str(); + } + }; + + class IFC_GEOM_API too_many_faces_exception : public geometry_exception { + public: + too_many_faces_exception() + : geometry_exception("Too many faces for operation") {} + }; } #endif \ No newline at end of file From 6f5f18944329f0edf43739d2f5f27c1195bfe44f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 14 Jun 2022 15:24:38 +0200 Subject: [PATCH 228/243] Missing files --- src/ifcgeom_schema_agnostic/IteratorCache.h | 31 + src/ifcgeom_schema_agnostic/boolean_utils.cpp | 777 ++++++++++++++++++ src/ifcgeom_schema_agnostic/boolean_utils.h | 90 ++ .../face_definition.cpp | 22 + src/ifcgeom_schema_agnostic/face_definition.h | 78 ++ src/ifcgeom_schema_agnostic/sweep_utils.cpp | 356 ++++++++ src/ifcgeom_schema_agnostic/sweep_utils.h | 59 ++ src/ifcgeom_schema_agnostic/wire_builder.cpp | 226 +++++ src/ifcgeom_schema_agnostic/wire_builder.h | 105 +++ 9 files changed, 1744 insertions(+) create mode 100644 src/ifcgeom_schema_agnostic/IteratorCache.h create mode 100644 src/ifcgeom_schema_agnostic/boolean_utils.cpp create mode 100644 src/ifcgeom_schema_agnostic/boolean_utils.h create mode 100644 src/ifcgeom_schema_agnostic/face_definition.cpp create mode 100644 src/ifcgeom_schema_agnostic/face_definition.h create mode 100644 src/ifcgeom_schema_agnostic/sweep_utils.cpp create mode 100644 src/ifcgeom_schema_agnostic/sweep_utils.h create mode 100644 src/ifcgeom_schema_agnostic/wire_builder.cpp create mode 100644 src/ifcgeom_schema_agnostic/wire_builder.h diff --git a/src/ifcgeom_schema_agnostic/IteratorCache.h b/src/ifcgeom_schema_agnostic/IteratorCache.h new file mode 100644 index 0000000000..2f92028359 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/IteratorCache.h @@ -0,0 +1,31 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef ITERATOR_CACHE_H +#define ITERATOR_CACHE_H + +namespace IfcGeom { + + class IteratorCache { + + }; + +} + +#endif \ No newline at end of file diff --git a/src/ifcgeom_schema_agnostic/boolean_utils.cpp b/src/ifcgeom_schema_agnostic/boolean_utils.cpp new file mode 100644 index 0000000000..3a22488943 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/boolean_utils.cpp @@ -0,0 +1,777 @@ +#include "boolean_utils.h" + +#include "../ifcgeom/IfcGeomTree.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +void IfcGeom::util::copy_operand(const TopTools_ListOfShape & l, TopTools_ListOfShape & r) { +#if OCC_VERSION_HEX < 0x70000 + TopTools_ListIteratorOfListOfShape it(l); + for (; it.More(); it.Next()) { + r.Append(BRepBuilderAPI_Copy(it.Value())); + } +#else + // On OCCT 7.0 and higher BRepAlgoAPI_BuilderAlgo::SetNonDestructive(true) is + // called. Not entirely sure on the behaviour before 7.0, so overcautiously + // create copies. + r.Assign(l); +#endif +} + +TopoDS_Shape IfcGeom::util::copy_operand(const TopoDS_Shape & s) { +#if OCC_VERSION_HEX < 0x70000 + return BRepBuilderAPI_Copy(s); +#else + return s; +#endif +} + +double IfcGeom::util::min_edge_length(const TopoDS_Shape & a) { + double min_edge_len = std::numeric_limits::infinity(); + TopExp_Explorer exp(a, TopAbs_EDGE); + for (; exp.More(); exp.Next()) { + GProp_GProps prop; + BRepGProp::LinearProperties(exp.Current(), prop); + double l = prop.Mass(); + if (l < min_edge_len) { + min_edge_len = l; + } + } + return min_edge_len; +} + +double IfcGeom::util::min_vertex_edge_distance(const TopoDS_Shape & a, double min_search, double max_search) { + double M = std::numeric_limits::infinity(); + + TopTools_IndexedMapOfShape vertices, edges; + + TopExp::MapShapes(a, TopAbs_VERTEX, vertices); + TopExp::MapShapes(a, TopAbs_EDGE, edges); + + IfcGeom::impl::tree tree; + + // Add edges to tree + for (int i = 1; i <= edges.Extent(); ++i) { + tree.add(i, edges(i)); + } + + for (int j = 1; j <= vertices.Extent(); ++j) { + const TopoDS_Vertex& v = TopoDS::Vertex(vertices(j)); + gp_Pnt p = BRep_Tool::Pnt(v); + + Bnd_Box b; + b.Add(p); + b.Enlarge(max_search); + + std::vector edge_idxs = tree.select_box(b, false); + std::vector::const_iterator it = edge_idxs.begin(); + for (; it != edge_idxs.end(); ++it) { + const TopoDS_Edge& e = TopoDS::Edge(edges(*it)); + TopoDS_Vertex v1, v2; + TopExp::Vertices(e, v1, v2); + + if (v.IsSame(v1) || v.IsSame(v2)) { + continue; + } + + BRepAdaptor_Curve crv(e); + Extrema_ExtPC ext(p, crv); + if (!ext.IsDone()) { + continue; + } + + for (int i = 1; i <= ext.NbExt(); ++i) { + const double m = sqrt(ext.SquareDistance(i)); + if (m < M && m > min_search) { + M = m; + } + } + } + } + + return M; +} + +bool IfcGeom::util::faces_overlap(const TopoDS_Face & f, const TopoDS_Face & g) { + points_on_planar_face_generator pgen(f); + + BRep_Builder B; + gp_Pnt test; + double eps = BRep_Tool::Tolerance(f) + BRep_Tool::Tolerance(g); + + BRepExtrema_DistShapeShape x; + x.LoadS1(g); + + while (pgen(test)) { + TopoDS_Vertex V; + B.MakeVertex(V, test, Precision::Confusion()); + x.LoadS2(V); + x.Perform(); + if (x.IsDone() && x.NbSolution() == 1) { + if (x.Value() > eps) { + return false; + } + } + } + + return true; +} + +double IfcGeom::util::min_face_face_distance(const TopoDS_Shape & a, double max_search) { + /* + NB: This is currently only implemented for planar surfaces. + */ + double M = std::numeric_limits::infinity(); + + TopTools_IndexedMapOfShape faces; + + TopExp::MapShapes(a, TopAbs_FACE, faces); + + IfcGeom::impl::tree tree; + + // Add faces to tree + for (int i = 1; i <= faces.Extent(); ++i) { + if (BRep_Tool::Surface(TopoDS::Face(faces(i)))->DynamicType() == STANDARD_TYPE(Geom_Plane)) { + tree.add(i, faces(i)); + } + } + + for (int j = 1; j <= faces.Extent(); ++j) { + const TopoDS_Face& f = TopoDS::Face(faces(j)); + const Handle(Geom_Surface)& fs = BRep_Tool::Surface(f); + + if (fs->DynamicType() != STANDARD_TYPE(Geom_Plane)) { + continue; + } + + points_on_planar_face_generator pgen(f); + + Bnd_Box b; + BRepBndLib::AddClose(f, b); + b.Enlarge(max_search); + + std::vector face_idxs = tree.select_box(b, false); + std::vector::const_iterator it = face_idxs.begin(); + for (; it != face_idxs.end(); ++it) { + if (*it == j) { + continue; + } + + const TopoDS_Face& g = TopoDS::Face(faces(*it)); + const Handle(Geom_Surface)& gs = BRep_Tool::Surface(g); + + auto p0 = Handle(Geom_Plane)::DownCast(fs); + auto p1 = Handle(Geom_Plane)::DownCast(gs); + + if (p0->Position().IsCoplanar(p1->Position(), max_search, asin(max_search))) { + pgen.reset(); + + BRepTopAdaptor_FClass2d cls(g, BRep_Tool::Tolerance(g)); + + gp_Pnt test; + while (pgen(test)) { + gp_Vec d = test.XYZ() - p1->Position().Location().XYZ(); + double u = d.Dot(p1->Position().XDirection()); + double v = d.Dot(p1->Position().YDirection()); + + // nb: TopAbs_ON is explicitly not considered to prevent matching adjacent faces + // with similar orientations. + if (cls.Perform(gp_Pnt2d(u, v)) == TopAbs_IN) { + gp_Pnt test2; + p1->D0(u, v, test2); + double w = std::abs(gp_Vec(p1->Position().Direction().XYZ()).Dot(test2.XYZ() - test.XYZ())); + if (w < M) { + M = w; + } + } + } + } + } + } + + return M; +} + +int IfcGeom::util::bounding_box_overlap(double p, const TopoDS_Shape & a, const TopTools_ListOfShape & b, TopTools_ListOfShape & c) { + int N = 0; + + Bnd_Box A; + BRepBndLib::Add(a, A); + + if (A.IsVoid()) { + return 0; + } + + TopTools_ListIteratorOfListOfShape it(b); + for (; it.More(); it.Next()) { + Bnd_Box B; + BRepBndLib::Add(it.Value(), B); + + if (B.IsVoid()) { + continue; + } + + if (A.Distance(B) < p) { + c.Append(it.Value()); + } else { + ++N; + } + } + + return N; +} + +bool IfcGeom::util::get_edge_axis(const TopoDS_Edge & e, gp_Ax1 & ax) { + double _, __; + + auto crv = BRep_Tool::Curve(e, _, __); + auto line = Handle_Geom_Line::DownCast(crv); + auto bsple = Handle_Geom_BSplineCurve::DownCast(crv); + + if (line) { + ax = line->Position(); + return true; + } else if (bsple) { + if (bsple->NbPoles() == 2 && bsple->Degree() == 1) { + gp_Dir V(bsple->Poles().Last().XYZ() - bsple->Poles().First().XYZ()); + ax = gp_Ax1(bsple->Poles().First(), V); + return true; + } + } + + return false; +} + +bool IfcGeom::util::is_subset(const TopTools_IndexedMapOfShape & lhs, const TopTools_IndexedMapOfShape & rhs) { + if (rhs.Extent() < lhs.Extent()) { + return false; + } + for (int i = 1; i < lhs.Extent(); ++i) { + auto& s = lhs.FindKey(i); + if (!rhs.Contains(s)) { + return false; + } + } + return true; +} + +bool IfcGeom::util::is_extrusion(const gp_Vec & v, const TopoDS_Shape & s, TopoDS_Face & base, std::pair& interval) { + // This assumes UnifySameDomain has been processed on s, so that + // the extrusion top and bottom are a single face. + + TopTools_IndexedDataMapOfShapeListOfShape mapping; + TopExp::MapShapesAndAncestors(s, TopAbs_EDGE, TopAbs_FACE, mapping); + TopExp::MapShapesAndAncestors(s, TopAbs_VERTEX, TopAbs_FACE, mapping); + + TopTools_ListOfShape parallel; + TopTools_IndexedMapOfShape curved_orthogonal; + gp_Ax1 ax; + gp_Ax1 V(gp::Origin(), v); + + // Segment edges in parallel to extrusion direction, and orthogonal or curved, + // where the latter two categories have to make the edges part of the base or + // top face. When neither of these categories the shape is not a extrusion + // or the extrusion direction is not orthogonal to its basis. + for (int i = 1; i < mapping.Extent(); ++i) { + auto& s = mapping.FindKey(i); + if (s.ShapeType() != TopAbs_EDGE) { + continue; + } + + // @todo use a linear tolernace and the face extrimities, see #2218 + const TopoDS_Edge& e = TopoDS::Edge(s); + if (!get_edge_axis(e, ax)) { + // curved + curved_orthogonal.Add(e); + } else if (ax.IsParallel(V, 1.e-7)) { + parallel.Append(e); + } else if (ax.IsNormal(V, 1.e-7)) { + // ortho + curved_orthogonal.Add(e); + } else { + return false; + } + } + + // Select the two faces for which their edges are subsets + // of the ortho/curved edges + TopTools_IndexedMapOfShape ortho_faces; + for (TopExp_Explorer exp(s, TopAbs_FACE); exp.More(); exp.Next()) { + TopTools_IndexedMapOfShape face_edges; + TopExp::MapShapes(exp.Current(), TopAbs_EDGE, face_edges); + if (is_subset(face_edges, curved_orthogonal)) { + ortho_faces.Add(exp.Current()); + } + } + + // There should be a basis and top face + if (ortho_faces.Extent() != 2) { + return false; + } + + // For the parallel edges assert that its two vertices are part + // of both the basis and the top face. + for (TopTools_ListIteratorOfListOfShape it(parallel); + it.More(); it.Next()) { + TopoDS_Vertex v01[2]; + TopExp::Vertices(TopoDS::Edge(it.Value()), v01[0], v01[1]); + + TopTools_IndexedMapOfShape v_ortho_faces; + int nb_ortho_faces[2] = { 0,0 }; + + for (int i = 0; i < 2; ++i) { + auto& faces = mapping.FindFromKey(v01[i]); + + for (TopTools_ListIteratorOfListOfShape jt(faces); + jt.More(); jt.Next()) { + if (ortho_faces.Contains(jt.Value())) { + nb_ortho_faces[i] ++; + v_ortho_faces.Add(jt.Value()); + } + } + } + + bool sets_equal = v_ortho_faces.Size() == ortho_faces.Size() && is_subset(v_ortho_faces, ortho_faces); + if (!sets_equal) { + return false; + } + } + + // Assert the base/top faces are planar and get the interval + // (dot products along axis) for which the extrusion is defined + // If necessary swap the two faces so that the basis face has + // the smallest dot product along the axis. + auto f0 = TopoDS::Face(ortho_faces.FindKey(1)); + auto f1 = TopoDS::Face(ortho_faces.FindKey(2)); + + const Handle(Geom_Surface)& f0_s = BRep_Tool::Surface(f0); + const Handle(Geom_Surface)& f1_s = BRep_Tool::Surface(f1); + + auto p0 = Handle(Geom_Plane)::DownCast(f0_s); + auto p1 = Handle(Geom_Plane)::DownCast(f1_s); + + if (p0.IsNull() || p1.IsNull()) { + return false; + } + + auto dot0 = p0->Location().XYZ().Dot(v.XYZ()); + auto dot1 = p1->Location().XYZ().Dot(v.XYZ()); + + if (dot0 > dot1) { + std::swap(dot0, dot1); + std::swap(f0, f1); + } + + base = f0; + interval = { dot0, dot1 }; + + return true; +} + +int IfcGeom::util::eliminate_touching_operands(double prec, const TopoDS_Shape & a, const TopTools_ListOfShape & bs, TopTools_ListOfShape & c) { + TopTools_IndexedMapOfShape a_faces; + TopExp::MapShapes(a, TopAbs_FACE, a_faces); + + // Check if any of the faces in a are non-planar, which is + // not supported by this quick check. + for (int i = 1; i <= a_faces.Extent(); ++i) { + auto surf = BRep_Tool::Surface(TopoDS::Face(a_faces(i))); + if (surf->DynamicType() != STANDARD_TYPE(Geom_Plane)) { + return 0; + } + } + + TopTools_IndexedMapOfShape a_vertices; + TopExp::MapShapes(a, TopAbs_VERTEX, a_vertices); + + IfcGeom::impl::tree tree; + + // Add faces to tree + for (int i = 1; i <= a_faces.Extent(); ++i) { + tree.add(i, a_faces(i)); + } + + int N = 0; + + TopTools_ListIteratorOfListOfShape it(bs); + for (; it.More(); it.Next()) { + bool is_touching = false; + + auto& b = it.Value(); + + TopTools_IndexedMapOfShape b_faces; + TopExp::MapShapes(b, TopAbs_FACE, b_faces); + + // Check if any of the faces in b are non-planar, which is + // not supported by this quick check. + for (int i = 1; i <= b_faces.Extent(); ++i) { + auto surf = BRep_Tool::Surface(TopoDS::Face(b_faces(i))); + if (surf->DynamicType() != STANDARD_TYPE(Geom_Plane)) { + continue; + } + } + + TopTools_IndexedMapOfShape b_vertices; + TopExp::MapShapes(b, TopAbs_VERTEX, b_vertices); + + for (int k = 1; k <= b_faces.Extent(); ++k) { + const TopoDS_Face& f_b = TopoDS::Face(b_faces(k)); + Bnd_Box B; + BRepBndLib::Add(f_b, B); + + // Query tree using b_face bounding box + for (auto& i : tree.select_box(B, false)) { + const TopoDS_Face& f_a = TopoDS::Face(a_faces(i)); + + TopTools_IndexedMapOfShape f_a_vertices; + TopExp::MapShapes(f_a, TopAbs_VERTEX, f_a_vertices); + + BRepGProp_Face prop_a(f_a); + BRepGProp_Face prop_b(f_b); + + gp_Pnt p_a, p_b; + gp_Vec v_a, v_b; + + double u0, u1, v0, v1; + prop_a.Bounds(u0, u1, v0, v1); + prop_a.Normal((u0 + u1) / 2., (u0 + u1) / 2., p_a, v_a); + + prop_b.Bounds(u0, u1, v0, v1); + prop_b.Normal((u0 + u1) / 2., (u0 + u1) / 2., p_b, v_b); + + bool all_vertices_behind_f_a = true; + + // Check if all 'other' vertices in a are pointing + // away from the face in a, so that there is no geometry + // from a in front of the face that could participate + // in the boolean subtraction. + for (int j = 1; j <= a_vertices.Extent(); ++j) { + if (!f_a_vertices.Contains(a_vertices(j))) { + auto p = BRep_Tool::Pnt(TopoDS::Vertex(a_vertices(j))); + if ((p.XYZ() - p_a.XYZ()).Dot(v_a.XYZ()) > prec) { + all_vertices_behind_f_a = false; + break; + } + } + } + + if (!all_vertices_behind_f_a) { + continue; + } + + // Check if surface normals are opposite + if (v_a.IsOpposite(v_b, 1.e-5)) { + // Check if faces are co-planar + if ((p_b.XYZ() - p_a.XYZ()).Dot(v_a.XYZ()) <= prec) { + + TopTools_IndexedMapOfShape f_b_vertices; + TopExp::MapShapes(f_b, TopAbs_VERTEX, f_b_vertices); + + bool all_vertices_behind_f_b = true; + + // Check if all 'other' vertices in b are pointing + // away from the face in a. So that a boolean subtraction + // would not alter a. + for (int j = 1; j <= b_vertices.Extent(); ++j) { + if (!f_b_vertices.Contains(b_vertices(j))) { + auto p = BRep_Tool::Pnt(TopoDS::Vertex(b_vertices(j))); + if ((p.XYZ() - p_a.XYZ()).Dot(v_a.XYZ()) < prec * 10.) { + all_vertices_behind_f_b = false; + break; + } + } + } + + if (all_vertices_behind_f_b) { + is_touching = true; + break; + } + + } + } + } + + if (is_touching) { + break; + } + } + + if (!is_touching) { + c.Append(it.Value()); + } else { + ++N; + } + } + + return N; +} + +TopoDS_Shape IfcGeom::util::unify(const TopoDS_Shape & s, double tolerance) { + tolerance = (std::min)(min_edge_length(s) / 2., tolerance); + ShapeUpgrade_UnifySameDomain usd(s); +#if OCC_VERSION_HEX >= 0x70200 + usd.SetSafeInputMode(true); +#endif +#if OCC_VERSION_HEX >= 0x70100 + usd.SetLinearTolerance(tolerance); + usd.SetAngularTolerance(1.e-3); +#endif + usd.Build(); + return usd.Shape(); +} + +bool IfcGeom::util::boolean_subtraction_2d_using_builder(const TopoDS_Shape & a_input, const TopTools_ListOfShape & b_input, TopoDS_Shape & result, double eps) { + IfcGeom::impl::tree edge_tree; + + TopTools_ListOfShape ab_input = b_input; + ab_input.Prepend(a_input); + + TopTools_ListIteratorOfListOfShape it(ab_input); + int shape_index = 0; + int edge_index = 0; + std::map edge_index_to_shape_index; + + std::vector shapes; + std::vector> edges; + // First is the outer wire + std::vector wires; + + for (; it.More(); it.Next(), ++shape_index) { + if (it.Value().ShapeType() != TopAbs_FACE) { + return false; + } + + const TopoDS_Face& f = TopoDS::Face(it.Value()); + TopoDS_Wire outer_wire; + + if (shape_index == 0) { + outer_wire = BRepTools::OuterWire(f); + wires.push_back(outer_wire); + } + + size_t num_wires = 0; + TopoDS_Iterator it2(it.Value()); + for (; it2.More(); it2.Next()) { + ++num_wires; + + if (outer_wire.IsNull() || !it2.Value().IsSame(outer_wire)) { + wires.push_back(TopoDS::Wire(it2.Value())); + + if (shape_index == 0 && num_wires > 0) { + // An inner wire on the first operand face: reverse, because + // MakeFace expects inner boundaries to be added as bounded + // areas. + wires.back().Reverse(); + } + } + } + + if (num_wires > 1 && shape_index != 0) { + // The first operand can have inner wires, but the others + // can't because a inner wire would result in an additional + // outer wire for the result. + return false; + } + + shapes.push_back(it.Value()); + TopExp_Explorer exp(it.Value(), TopAbs_EDGE); + for (; exp.More(); exp.Next(), ++edge_index) { + edge_tree.add(edge_index, exp.Current()); + edge_index_to_shape_index[edge_index] = shape_index; + edges.push_back({ shape_index, TopoDS::Edge(exp.Current()) }); + } + } + + shape_index = 0; + edge_index = 0; + + it.Initialize(ab_input); + for (; it.More(); it.Next(), ++shape_index) { + TopExp_Explorer exp(it.Value(), TopAbs_EDGE); + for (; exp.More(); exp.Next(), ++edge_index) { + Bnd_Box b; + BRepBndLib::Add(exp.Current(), b); + b.Enlarge(eps); + + for (auto& i : edge_tree.select_box(b)) { + if (i == edge_index) { + // Skip self-selection + continue; + } + + if (edges[i].first == shape_index) { + // Skip edges of the same operand + continue; + } + + const TopoDS_Edge& e0 = TopoDS::Edge(exp.Current()); + const TopoDS_Edge& e1 = edges[i].second; + + double u11, u12, u21, u22, U1, U2; + + GeomAPI_ExtremaCurveCurve ecc( + BRep_Tool::Curve(e0, u11, u12), + BRep_Tool::Curve(e1, u21, u22) + ); + + // @todo: extend this to work in case of multiple extrema and curved segments. + const bool unbounded_intersects = (!ecc.Extrema().IsParallel() && ecc.NbExtrema() == 1 && ecc.Distance(1) < eps); + if (unbounded_intersects) { + ecc.Parameters(1, U1, U2); + + if (u11 > u12) { + std::swap(u11, u12); + } + if (u21 > u22) { + std::swap(u21, u22); + } + + /// @todo: tfk: probably need different thresholds on non-linear curves + u11 -= eps; + u12 += eps; + u21 -= eps; + u22 += eps; + + if (u11 < U1 && U1 < u12 && u21 < U2 && U2 < u22) { + // Edge curves belonging to different operands intersect, don't process + // using builder. + Logger::Notice("Intersecting boundaries"); + return false; + } + } + } + } + } + + // Only inner wires are considered that are directly contained in the outer wire + // Redundant subtractions are eliminated. + + std::vector redundant(wires.size(), false); + + std::vector wire_faces; + wire_faces.reserve(wires.size()); + + std::vector wire_clss; + wire_clss.reserve(wires.size()); + + std::vector> sass; + sass.reserve(wires.size()); + + for (auto& w : wires) { + wire_faces.push_back(BRepBuilderAPI_MakeFace(w).Face()); + wire_clss.emplace_back(wire_faces.back(), eps); + sass.push_back(std::make_unique(BRep_Tool::Surface(wire_faces.back()))); + } + + // First check for containment in outer wire + for (auto it = ++wires.begin(); it != wires.end(); ++it) { + // Considering a single vertex is sufficient because we have already + // guaranteed that the edges of different operands do not cross. + TopoDS_Iterator it_ed(*it); + auto& ed = it_ed.Value(); + + TopoDS_Iterator it_v(ed); + auto& v = TopoDS::Vertex(it_v.Value()); + + auto pnt = BRep_Tool::Pnt(v); + auto p2d = sass[0]->ValueOfUV(pnt, eps); + if (wire_clss[0].Perform(p2d) != TopAbs_IN) { + // A wire is not contained in the outer wire, it's a subtraction without + // any effect and marked as redundant. Feeding it to the builder algo + // will likely cause problems. + redundant[std::distance(wires.begin(), it)] = true; + Logger::Notice("Subtraction operand outside of outer bound"); + } + } + + // Now build a tree to find inner wires contained in other inner wires + // NB first wire is *not* in this tree + IfcGeom::impl::tree wire_tree; + for (size_t wire_index = 1; wire_index < wires.size(); ++wire_index) { + wire_tree.add(wire_index, wires[wire_index]); + } + + for (size_t wire_index = 1; wire_index < wires.size(); ++wire_index) { + Bnd_Box b; + BRepBndLib::Add(wires[wire_index], b); + b.Enlarge(eps); + + // We're only selecting operands completely within b because we + // have already guaranteed they do not intersect. So they are + // either fully in or out. Selecting with complete_within=true + // will filter out some unnecessary cases. It also means we need + // that due this assymetry we need to process all pairs of wire + // indices and not just the pairs where the first element is less + // than the second element. + for (auto& other_index : wire_tree.select_box(b, true)) { + // other_index is fully contained in wire_index + if (wire_index == other_index) { + continue; + } + + TopoDS_Iterator it_ed(wires[other_index]); + auto& ed = it_ed.Value(); + + TopoDS_Iterator it_v(ed); + auto& v = TopoDS::Vertex(it_v.Value()); + + auto pnt = BRep_Tool::Pnt(v); + auto p2d = sass[wire_index]->ValueOfUV(pnt, eps); + if (wire_clss[wire_index].Perform(p2d) == TopAbs_IN) { + // A wire is contained within another operand + redundant[other_index] = true; + Logger::Notice("Subtraction operand contained in other"); + } + } + } + + BRepBuilderAPI_MakeFace mf(wire_faces[0]); + for (size_t wire_index = 1; wire_index < wires.size(); ++wire_index) { + if (!redundant[wire_index]) { + mf.Add(TopoDS::Wire(wires[wire_index].Reversed())); + } + } + result = mf.Face(); + + return true; +} + +void IfcGeom::util::points_on_planar_face_generator::reset() { + i = j = (int)inset_; +} + +bool IfcGeom::util::points_on_planar_face_generator::operator()(gp_Pnt& p) { + while (j < N) { + double u = u0 + (u1 - u0) * i / N; + double v = v0 + (v1 - v0) * j / N; + + i++; + if (i == N) { + i = 0; + j++; + } + + // Specifically does not consider ON + if (cls_.Perform(gp_Pnt2d(u, v)) == TopAbs_IN) { + plane_->D0(u, v, p); + return true; + } + } + + return false; +} \ No newline at end of file diff --git a/src/ifcgeom_schema_agnostic/boolean_utils.h b/src/ifcgeom_schema_agnostic/boolean_utils.h new file mode 100644 index 0000000000..31cc9ed4f2 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/boolean_utils.h @@ -0,0 +1,90 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef BOOLEAN_UTILS_H +#define BOOLEAN_UTILS_H + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace IfcGeom { + namespace util { + + void copy_operand(const TopTools_ListOfShape& l, TopTools_ListOfShape& r); + + TopoDS_Shape copy_operand(const TopoDS_Shape& s); + + double min_edge_length(const TopoDS_Shape& a); + + double min_vertex_edge_distance(const TopoDS_Shape& a, double min_search, double max_search); + + class points_on_planar_face_generator { + private: + const TopoDS_Face& f_; + Handle(Geom_Surface) plane_; + BRepTopAdaptor_FClass2d cls_; + double u0, u1, v0, v1; + int i, j; + bool inset_; + static const int N = 10; + + public: + points_on_planar_face_generator(const TopoDS_Face& f, bool inset = false) + : f_(f) + , plane_(BRep_Tool::Surface(f_)) + , cls_(f_, BRep_Tool::Tolerance(f_)) + , i((int)inset), j((int)inset) + , inset_(inset) + { + BRepTools::UVBounds(f_, u0, u1, v0, v1); + } + + void reset(); + + bool operator()(gp_Pnt& p); + }; + + bool faces_overlap(const TopoDS_Face& f, const TopoDS_Face& g); + + double min_face_face_distance(const TopoDS_Shape& a, double max_search); + + int bounding_box_overlap(double p, const TopoDS_Shape& a, const TopTools_ListOfShape& b, TopTools_ListOfShape& c); + + bool get_edge_axis(const TopoDS_Edge& e, gp_Ax1& ax); + + bool is_subset(const TopTools_IndexedMapOfShape& lhs, const TopTools_IndexedMapOfShape& rhs); + + bool is_extrusion(const gp_Vec& v, const TopoDS_Shape& s, TopoDS_Face& base, std::pair& interval); + + int eliminate_touching_operands(double prec, const TopoDS_Shape& a, const TopTools_ListOfShape& bs, TopTools_ListOfShape& c); + + TopoDS_Shape unify(const TopoDS_Shape& s, double tolerance); + + bool boolean_subtraction_2d_using_builder(const TopoDS_Shape& a_input, const TopTools_ListOfShape& b_input, TopoDS_Shape& result, double eps); + + } +} + +#endif \ No newline at end of file diff --git a/src/ifcgeom_schema_agnostic/face_definition.cpp b/src/ifcgeom_schema_agnostic/face_definition.cpp new file mode 100644 index 0000000000..4111c6c675 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/face_definition.cpp @@ -0,0 +1,22 @@ +#include "face_definition.h" + +#include +#include +#include +#include + +/* Returns whether wire conforms to a polyhedron, i.e. only edges with linear curves*/ +bool IfcGeom::util::is_polyhedron(const TopoDS_Wire & wire) { + double a, b; + TopLoc_Location l; + + TopoDS_Iterator it(wire, false, false); + for (; it.More(); it.Next()) { + auto crv = BRep_Tool::Curve(TopoDS::Edge(it.Value()), l, a, b); + if (!crv || crv->DynamicType() != STANDARD_TYPE(Geom_Line)) { + return false; + } + } + + return true; +} diff --git a/src/ifcgeom_schema_agnostic/face_definition.h b/src/ifcgeom_schema_agnostic/face_definition.h new file mode 100644 index 0000000000..6fe982055b --- /dev/null +++ b/src/ifcgeom_schema_agnostic/face_definition.h @@ -0,0 +1,78 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef FACE_DEFINITION_H +#define FACE_DEFINITION_H + +#include +#include + +#include +#include + +namespace IfcGeom { + namespace util { + + /* Returns whether wire conforms to a polyhedron, i.e. only edges with linear curves*/ + bool is_polyhedron(const TopoDS_Wire& wire); + + /* A temporary structure to store the intermediate data for the face conversion */ + class face_definition { + private: + Handle(Geom_Surface) surface_; + std::vector wires_; + bool all_outer_; + public: + face_definition() : surface_(), all_outer_(false) {} + + typedef std::vector::const_iterator wire_it; + + bool& all_outer() { + return all_outer_; + } + + bool all_outer() const { + return all_outer_; + } + + Handle(Geom_Surface)& surface() { + return surface_; + } + + const Handle(Geom_Surface)& surface() const { + return surface_; + } + + std::vector& wires() { + return wires_; + } + + const TopoDS_Wire& outer_wire() const { + return wires_.front(); + } + + std::pair inner_wires() const { + return { wires_.begin() + 1, wires_.end() }; + } + }; + + } +} + +#endif diff --git a/src/ifcgeom_schema_agnostic/sweep_utils.cpp b/src/ifcgeom_schema_agnostic/sweep_utils.cpp new file mode 100644 index 0000000000..8c166b7dbb --- /dev/null +++ b/src/ifcgeom_schema_agnostic/sweep_utils.cpp @@ -0,0 +1,356 @@ +#include "sweep_utils.h" + +#include "../ifcparse/IfcLogger.h" +#include "../ifcgeom_schema_agnostic/Kernel.h" + +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +bool IfcGeom::util::wire_is_c1_continuous(const TopoDS_Wire & w, double tol) { + // NB Note that c0 continuity is NOT checked! + + TopTools_IndexedDataMapOfShapeListOfShape map; + TopExp::MapShapesAndAncestors(w, TopAbs_VERTEX, TopAbs_EDGE, map); + for (int i = 1; i <= map.Extent(); ++i) { + const auto& li = map.FindFromIndex(i); + if (li.Extent() == 2) { + const TopoDS_Vertex& v = TopoDS::Vertex(map.FindKey(i)); + + const TopoDS_Edge& e0 = TopoDS::Edge(li.First()); + const TopoDS_Edge& e1 = TopoDS::Edge(li.Last()); + + double u0 = BRep_Tool::Parameter(v, e0); + double u1 = BRep_Tool::Parameter(v, e1); + + double _, __; + Handle(Geom_Curve) c0 = BRep_Tool::Curve(e0, _, __); + Handle(Geom_Curve) c1 = BRep_Tool::Curve(e1, _, __); + + gp_Pnt p; + gp_Vec v0, v1; + c0->D1(u0, p, v0); + c1->D1(u1, p, v1); + + if (1. - std::abs(v0.Normalized().Dot(v1.Normalized())) > tol) { + return false; + } + } + } + return true; +} + +bool IfcGeom::util::wire_to_ax(const TopoDS_Wire & wire, gp_Ax2 & directrix) { + gp_Pnt directrix_origin; + gp_Vec directrix_tangent; + + TopoDS_Edge edge; + + // Find first edge + TopoDS_Vertex v0, v1; + TopExp::Vertices(wire, v0, v1); + TopTools_IndexedDataMapOfShapeListOfShape map; + TopExp::MapShapesAndAncestors(wire, TopAbs_VERTEX, TopAbs_EDGE, map); + if (v0.IsSame(v1) && map.Contains(v0) && map.FindFromKey(v0).Extent() == 2) { + // Closed wire, with more than 1 edges + auto es = map.FindFromKey(v0); + auto e1 = TopoDS::Edge(es.First()); + auto e2 = TopoDS::Edge(es.Last()); + + double u0, u1; + + gp_Vec accum; + + Handle(Geom_Curve) crv = BRep_Tool::Curve(e1, u0, u1); + crv->D1(TopExp::FirstVertex(e1).IsSame(v0) ? u0 : u1, directrix_origin, directrix_tangent); + + accum += directrix_tangent; + + crv = BRep_Tool::Curve(e2, u0, u1); + crv->D1(TopExp::FirstVertex(e2).IsSame(v0) ? u0 : u1, directrix_origin, directrix_tangent); + + accum += directrix_tangent; + + directrix_tangent = accum; + + } else if (map.Contains(v0) && map.FindFromKey(v0).Extent() == 1) { + edge = TopoDS::Edge(map.FindFromKey(v0).First()); + + double u0, u1; + Handle(Geom_Curve) crv = BRep_Tool::Curve(edge, u0, u1); + crv->D1(u0, directrix_origin, directrix_tangent); + } else { + Logger::Error("Unable to locate first edge"); + return false; + } + + directrix = gp_Ax2(directrix_origin, directrix_tangent); + + return true; +} + +bool IfcGeom::util::is_single_linear_edge(const TopoDS_Wire & wire) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + if (!exp.More()) { + return false; + } + TopoDS_Edge e = TopoDS::Edge(exp.Current()); + exp.Next(); + if (exp.More()) { + return false; + } + double u, v; + Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); + return crv->DynamicType() == STANDARD_TYPE(Geom_Line); +} + +bool IfcGeom::util::is_single_circular_edge(const TopoDS_Wire & wire) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + if (!exp.More()) { + return false; + } + TopoDS_Edge e = TopoDS::Edge(exp.Current()); + exp.Next(); + if (exp.More()) { + return false; + } + double u, v; + Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); + return crv->DynamicType() == STANDARD_TYPE(Geom_Circle); +} + +void IfcGeom::util::process_sweep_as_extrusion(const TopoDS_Wire & wire, const TopoDS_Wire & section, TopoDS_Shape & result) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + TopoDS_Edge e = TopoDS::Edge(exp.Current()); + double u, v; + Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); + const auto& dir = Handle(Geom_Line)::DownCast(crv)->Position().Direction(); + // OCCT line is normalized so diff in parametric coords equals length + const double depth = std::abs(u - v); + // @todo we could be extruding the wire only when we know this is an intermediate edge. + TopoDS_Face face = BRepBuilderAPI_MakeFace(section).Face(); + result = BRepPrimAPI_MakePrism(face, depth*dir).Shape(); +} + +void IfcGeom::util::process_sweep_as_revolution(const TopoDS_Wire & wire, const TopoDS_Wire & section, TopoDS_Shape & result) { + TopExp_Explorer exp(wire, TopAbs_EDGE); + TopoDS_Edge e = TopoDS::Edge(exp.Current()); + double u, v; + Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); + auto circ = Handle(Geom_Circle)::DownCast(crv); + // @todo we could be extruding the wire only when we know this is an intermediate edge. + const double depth = std::abs(u - v); + TopoDS_Face face = BRepBuilderAPI_MakeFace(section).Face(); + result = BRepPrimAPI_MakeRevol(face, circ->Axis(), depth).Shape(); +} + +void IfcGeom::util::process_sweep_as_pipe(const TopoDS_Wire & wire, const TopoDS_Wire & section, TopoDS_Shape & result, bool force_transformed) { + // This tolerance is fairly high due to the linear edge substitution for small (or large radii) conical curves. + const bool is_continuous = wire_is_c1_continuous(wire, 1.e-2); + BRepOffsetAPI_MakePipeShell builder(wire); + builder.Add(section); + builder.SetTransitionMode(is_continuous || force_transformed ? BRepBuilderAPI_Transformed : BRepBuilderAPI_RightCorner); + try { + builder.Build(); + } catch (Standard_Failure& e) { + // We fallback to BRepBuilderAPI_Transformed, but likely with visual artefacts. + if (!(is_continuous || force_transformed)) { + return process_sweep_as_pipe(wire, section, result, true); + } else { + throw e; + } + } + builder.MakeSolid(); + result = builder.Shape(); +} + +void IfcGeom::util::sort_edges(const TopoDS_Wire & wire, std::vector& sorted_edges) { + TopTools_IndexedDataMapOfShapeListOfShape map; + TopExp::MapShapesAndAncestors(wire, TopAbs_VERTEX, TopAbs_EDGE, map); + + for (int i = 1; i <= map.Extent(); ++i) { + if (map.FindFromIndex(i).Extent() > 2) { + Logger::Warning("Self-intersecting Directrix"); + } + } + + std::set seen; + + auto num_edges = IfcGeom::Kernel::count(wire, TopAbs_EDGE); + + TopoDS_Vertex v0, v1; + // @todo this creates the ancestor map twice + TopExp::Vertices(wire, v0, v1); + + bool ignore_first_equality_because_closed = v0.IsSame(v1); + + // @todo this probably still does not work on a closed wire consisting of one (circular) edge. + + while ((int)sorted_edges.size() < num_edges && + (!v0.IsSame(v1) || ignore_first_equality_because_closed)) { + ignore_first_equality_because_closed = false; + if (!map.Contains(v0)) { + throw std::runtime_error("Disconnected vertex"); + } + const TopTools_ListOfShape& es = map.FindFromKey(v0); + TopoDS_Vertex ve0, ve1; + TopTools_ListIteratorOfListOfShape it(es); + bool added = false; + for (; it.More(); it.Next()) { + const TopoDS_Edge& e = TopoDS::Edge(it.Value()); + TopExp::Vertices(e, ve0, ve1, true); + if (ve0.IsSame(v0) && seen.find(&*e.TShape()) == seen.end()) { + sorted_edges.push_back(e); + v0 = ve1; + added = true; + seen.insert(&*e.TShape()); + break; + } + } + if (!added) { + throw std::runtime_error("Disconnected edge"); + } + } +} + +// #939: a closed loop causes failed triangulation in 7.3 and artefacts +// in 7.4 so we break up a closed wire into two equal parts. +void IfcGeom::util::break_closed(const TopoDS_Wire & wire, std::vector& wires) { + std::vector sorted_edges; + sort_edges(wire, sorted_edges); + + if (sorted_edges.size() == 1) { + wires.push_back(wire); + return; + } + + BRep_Builder B; + + wires.emplace_back(); + B.MakeWire(wires.back()); + + for (size_t i = 0; i < sorted_edges.size(); ++i) { + if (i == sorted_edges.size() / 2) { + wires.emplace_back(); + B.MakeWire(wires.back()); + } + + const auto& e = sorted_edges[i]; + B.Add(wires.back(), e); + } +} + +void IfcGeom::util::segment_adjacent_non_linear(const TopoDS_Wire & wire, std::vector& wires) { + std::vector sorted_edges; + sort_edges(wire, sorted_edges); + + BRep_Builder B; + double u, v; + + wires.emplace_back(); + B.MakeWire(wires.back()); + + for (int i = 0; i < (int)sorted_edges.size() - 1; ++i) { + const auto& e = sorted_edges[i]; + Handle_Geom_Curve crv = BRep_Tool::Curve(e, u, v); + const bool is_linear = crv->DynamicType() == STANDARD_TYPE(Geom_Line); + + const auto& f = sorted_edges[i + 1]; + crv = BRep_Tool::Curve(f, u, v); + const bool next_is_linear = crv->DynamicType() == STANDARD_TYPE(Geom_Line); + + B.Add(wires.back(), e); + + if (!is_linear && !next_is_linear) { + wires.emplace_back(); + B.MakeWire(wires.back()); + } + } + + if (!sorted_edges.empty()) { + B.Add(wires.back(), sorted_edges.back()); + } +} + +// @todo make this generic for other sweeps not just swept disk +void IfcGeom::util::process_sweep(const TopoDS_Wire & wire, double radius, TopoDS_Shape & result) { + std::vector wires, wires_tmp; + segment_adjacent_non_linear(wire, wires_tmp); + for (auto& w : wires_tmp) { + break_closed(w, wires); + } + + TopoDS_Compound C; + BRep_Builder B; + if (wires.size() > 1) { + B.MakeCompound(C); + } + + for (auto& w : wires) { + TopoDS_Shape part; + + gp_Ax2 directrix; + if (!wire_to_ax(w, directrix)) { + continue; + } + Handle(Geom_Circle) circle = new Geom_Circle(directrix, radius); + TopoDS_Wire section = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(circle)); + + if (is_single_circular_edge(w)) { + process_sweep_as_revolution(w, section, part); + } else if (is_single_linear_edge(w)) { + process_sweep_as_extrusion(w, section, part); + } else { + process_sweep_as_pipe(w, section, part); + } + if (wires.size() > 1) { + B.Add(C, part); + } else { + result = part; + } + } + + if (wires.size() > 1) { + result = C; + } + + /* + // Eliminate Swept Surfaces? + result = ShapeCustom::SweptToElementary(result); + + // Eliminate Trimmed Surfaces? + ShapeBuild_ReShape sbrs; + BRep_Builder b; + TopExp_Explorer exp(result, TopAbs_FACE); + for (; exp.More(); exp.Next()) { + const TopoDS_Face& f = TopoDS::Face(exp.Current()); + auto S = BRep_Tool::Surface(f); + if (S->IsKind(STANDARD_TYPE(Geom_RectangularTrimmedSurface))) { + auto RTS = Handle(Geom_RectangularTrimmedSurface)::DownCast(S); + auto B = RTS->BasisSurface(); + TopoDS_Shape newf = f.EmptyCopied(); + // @todo Is it ok to assume no location? + b.MakeFace(TopoDS::Face(newf), B, BRep_Tool::Tolerance(f)); + sbrs.Replace(f, newf); + } + } + result = sbrs.Apply(result); + */ +} diff --git a/src/ifcgeom_schema_agnostic/sweep_utils.h b/src/ifcgeom_schema_agnostic/sweep_utils.h new file mode 100644 index 0000000000..033891d9c9 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/sweep_utils.h @@ -0,0 +1,59 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef SWEEP_UTILS_H +#define SWEEP_UTILS_H + +#include +#include + +#include + +namespace IfcGeom { + namespace util { + + bool wire_is_c1_continuous(const TopoDS_Wire& w, double tol); + + bool wire_to_ax(const TopoDS_Wire& wire, gp_Ax2& directrix); + + bool is_single_linear_edge(const TopoDS_Wire& wire); + + bool is_single_circular_edge(const TopoDS_Wire& wire); + + void process_sweep_as_extrusion(const TopoDS_Wire& wire, const TopoDS_Wire& section, TopoDS_Shape& result); + + void process_sweep_as_revolution(const TopoDS_Wire& wire, const TopoDS_Wire& section, TopoDS_Shape& result); + + void process_sweep_as_pipe(const TopoDS_Wire& wire, const TopoDS_Wire& section, TopoDS_Shape& result, bool force_transformed = false); + + void sort_edges(const TopoDS_Wire& wire, std::vector& sorted_edges); + + + // #939: a closed loop causes failed triangulation in 7.3 and artefacts + // in 7.4 so we break up a closed wire into two equal parts. + void break_closed(const TopoDS_Wire& wire, std::vector& wires); + + void segment_adjacent_non_linear(const TopoDS_Wire& wire, std::vector& wires); + + // @todo make this generic for other sweeps not just swept disk + void process_sweep(const TopoDS_Wire& wire, double radius, TopoDS_Shape& result); + } +} + +#endif diff --git a/src/ifcgeom_schema_agnostic/wire_builder.cpp b/src/ifcgeom_schema_agnostic/wire_builder.cpp new file mode 100644 index 0000000000..f63f88f498 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/wire_builder.cpp @@ -0,0 +1,226 @@ +#include "wire_builder.h" + +#include "../ifcparse/IfcLogger.h" +#include "../ifcgeom_schema_agnostic/Kernel.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Returns the first edge of a wire +TopoDS_Edge IfcGeom::util::first_edge(const TopoDS_Wire & w) { + TopoDS_Vertex v1, v2; + TopExp::Vertices(w, v1, v2); + TopTools_IndexedDataMapOfShapeListOfShape wm; + TopExp::MapShapesAndAncestors(w, TopAbs_VERTEX, TopAbs_EDGE, wm); + return TopoDS::Edge(wm.FindFromKey(v1).First()); +} + +// Returns new wire with the edge replaced by a linear edge with the vertex v moved to p +TopoDS_Wire IfcGeom::util::adjust(const TopoDS_Wire & w, const TopoDS_Vertex & v, const gp_Pnt & p) { + TopTools_IndexedDataMapOfShapeListOfShape map; + TopExp::MapShapesAndAncestors(w, TopAbs_VERTEX, TopAbs_EDGE, map); + + bool all_linear = true, single_circle = false, first = true; + + const TopTools_ListOfShape& edges = map.FindFromKey(v); + TopTools_ListIteratorOfListOfShape it(edges); + for (; it.More(); it.Next()) { + const TopoDS_Edge& e = TopoDS::Edge(it.Value()); + double _, __; + Handle(Geom_Curve) crv = BRep_Tool::Curve(e, _, __); + const bool is_line = crv->DynamicType() == STANDARD_TYPE(Geom_Line); + const bool is_circle = crv->DynamicType() == STANDARD_TYPE(Geom_Circle); + all_linear = all_linear && is_line; + single_circle = first && is_circle; + } + + if (all_linear) { + BRep_Builder b; + TopoDS_Vertex v2; + b.MakeVertex(v2, p, BRep_Tool::Tolerance(v)); + + ShapeBuild_ReShape reshape; + reshape.Replace(v.Oriented(TopAbs_FORWARD), v2); + + return TopoDS::Wire(reshape.Apply(w)); + } else if (single_circle) { + TopoDS_Vertex v1, v2; + TopExp::Vertices(w, v1, v2); + + gp_Pnt p1, p2, p3; + p1 = v.IsEqual(v1) ? p : BRep_Tool::Pnt(v1); + p3 = v.IsEqual(v2) ? p : BRep_Tool::Pnt(v2); + + double a, b; + Handle(Geom_Curve) crv = BRep_Tool::Curve(TopoDS::Edge(edges.First()), a, b); + crv->D0((a + b) / 2., p2); + + GC_MakeCircle mc(p1, p2, p3); + if (!mc.IsDone()) { + throw IfcGeom::geometry_exception("Failed to adjust circle"); + } + + TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(mc.Value(), p1, p3).Edge(); + BRepBuilderAPI_MakeWire builder; + builder.Add(edge); + return builder.Wire(); + } else { + throw IfcGeom::geometry_exception("Unexpected wire to adjust"); + } +} + +double IfcGeom::util::deflection_for_approximating_circle(double radius, double param) { + return -radius * std::cos(1. / 2. * param) * std::cos(param) - radius * std::sin(1. / 2. * param) * std::sin(param) + radius; +} + +bool IfcGeom::util::create_edge_over_curve_with_log_messages(const Handle_Geom_Curve & crv, const double eps, const gp_Pnt & p1, const gp_Pnt & p2, TopoDS_Edge & result) { + if (crv->IsClosed() && p1.Distance(p2) <= eps) { + BRepBuilderAPI_MakeEdge me(crv); + if (me.IsDone()) { + result = me.Edge(); + return true; + } else { + return false; + } + } + + BRep_Builder builder; + TopoDS_Vertex v1, v2; + /// @todo project first and emit warnings accordingly + builder.MakeVertex(v1, p1, eps); + builder.MakeVertex(v2, p2, eps); + + BRepBuilderAPI_MakeEdge me(crv, v1, v2); + if (!me.IsDone()) { + const double eps2 = eps * eps; + if (me.Error() == BRepBuilderAPI_PointProjectionFailed) { + GeomAdaptor_Curve GAC(crv); + const gp_Pnt* ps[2] = { &p1, &p2 }; + for (int i = 0; i < 2; ++i) { + Extrema_ExtPC extrema(*ps[i], GAC); + if (extrema.IsDone()) { + int n = extrema.NbExt(); + double dmin = std::numeric_limits::infinity(); + for (int j = 1; j <= n; j++) { + const double d = extrema.SquareDistance(j); + if (d < dmin) { + dmin = d; + } + } + if (dmin == std::numeric_limits::infinity()) { + Logger::Error("No extrema for point"); + } else if (dmin > eps2) { + Logger::Error("Distance of " + boost::lexical_cast(std::sqrt(dmin)) + " exceeds tolerance"); + } + } else { + Logger::Error("Failed to calculate extrema for point"); + } + } + } + return false; + } + result = me.Edge(); + return true; +} + +void IfcGeom::util::wire_builder::operator()(const TopoDS_Shape& a) { + const TopoDS_Wire& w = TopoDS::Wire(a); + if (override_next_) { + override_next_ = false; + TopoDS_Edge e = first_edge(w); + mw_.Add(adjust(w, TopExp::FirstVertex(e, true), next_override_)); + } else { + mw_.Add(w); + } +} + +void IfcGeom::util::wire_builder::operator()(const TopoDS_Shape& a, const TopoDS_Shape& b, bool last) { + TopoDS_Wire w1 = TopoDS::Wire(a); + const TopoDS_Wire& w2 = TopoDS::Wire(b); + + if (override_next_) { + override_next_ = false; + TopoDS_Edge e = first_edge(w1); + w1 = adjust(w1, TopExp::FirstVertex(e, true), next_override_); + } + + TopoDS_Vertex w11, w12, w21, w22; + TopExp::Vertices(w1, w11, w12); + TopExp::Vertices(w2, w21, w22); + + gp_Pnt p1 = BRep_Tool::Pnt(w12); + gp_Pnt p2 = BRep_Tool::Pnt(w21); + + double dist = p1.Distance(p2); + + // Distance is within tolerance, this is fine + if (dist < p_) { + mw_.Add(w1); + goto check; + } + + // Distance is too large for attempting to move end points, add intermediate edge + if (dist > 1000. * p_) { + mw_.Add(w1); + mw_.Add(BRepBuilderAPI_MakeEdge(p1, p2)); + Logger::Warning("Added additional segment to close gap with length " + boost::lexical_cast(dist) + " to:", inst_); + goto check; + } + + { + TopTools_IndexedDataMapOfShapeListOfShape wmap1, wmap2; + + // Find edges connected to end- and begin vertex + TopExp::MapShapesAndAncestors(w1, TopAbs_VERTEX, TopAbs_EDGE, wmap1); + TopExp::MapShapesAndAncestors(w2, TopAbs_VERTEX, TopAbs_EDGE, wmap2); + + const TopTools_ListOfShape& last_edges = wmap1.FindFromKey(w12); + const TopTools_ListOfShape& first_edges = wmap2.FindFromKey(w21); + + double _, __; + if (last_edges.Extent() == 1 && first_edges.Extent() == 1) { + Handle(Geom_Curve) c1 = BRep_Tool::Curve(TopoDS::Edge(last_edges.First()), _, __); + Handle(Geom_Curve) c2 = BRep_Tool::Curve(TopoDS::Edge(first_edges.First()), _, __); + + const bool is_line1 = c1->DynamicType() == STANDARD_TYPE(Geom_Line); + const bool is_line2 = c2->DynamicType() == STANDARD_TYPE(Geom_Line); + + const bool is_circle1 = c1->DynamicType() == STANDARD_TYPE(Geom_Circle); + const bool is_circle2 = c2->DynamicType() == STANDARD_TYPE(Geom_Circle); + + // Preferably adjust the segment that is linear + if (is_line1 || (is_circle1 && !is_line2)) { + mw_.Add(adjust(w1, w12, p2)); + Logger::Notice("Adjusted edge end-point with distance " + boost::lexical_cast(dist) + " on:", inst_); + } else if ((is_line2 || is_circle2) && !last) { + mw_.Add(w1); + override_next_ = true; + next_override_ = p1; + Logger::Notice("Adjusted edge end-point with distance " + boost::lexical_cast(dist) + " on:", inst_); + } else { + // In all other cases an edge is added + mw_.Add(w1); + mw_.Add(BRepBuilderAPI_MakeEdge(p1, p2)); + Logger::Warning("Added additional segment to close gap with length " + boost::lexical_cast(dist) + " to:", inst_); + } + } else { + Logger::Error("Internal error, inconsistent wire segments", inst_); + mw_.Add(w1); + } + } + +check: + if (mw_.Error() == BRepBuilderAPI_NonManifoldWire) { + Logger::Error("Non-manifold curve segments:", inst_); + } else if (mw_.Error() == BRepBuilderAPI_DisconnectedWire) { + Logger::Error("Failed to join curve segments:", inst_); + } +} \ No newline at end of file diff --git a/src/ifcgeom_schema_agnostic/wire_builder.h b/src/ifcgeom_schema_agnostic/wire_builder.h new file mode 100644 index 0000000000..7a75c32a7a --- /dev/null +++ b/src/ifcgeom_schema_agnostic/wire_builder.h @@ -0,0 +1,105 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef WIRE_BUILDER_H +#define WIRE_BUILDER_H + +#include "../ifcparse/IfcBaseClass.h" + +#include + +#include +#include +#include + +#include +#include + +namespace IfcGeom { + namespace util { + // Returns the first edge of a wire + TopoDS_Edge first_edge(const TopoDS_Wire& w); + + // Returns new wire with the edge replaced by a linear edge with the vertex v moved to p + TopoDS_Wire adjust(const TopoDS_Wire& w, const TopoDS_Vertex& v, const gp_Pnt& p); + + // A wrapper around BRepBuilderAPI_MakeWire that makes sure segments are connected either by moving end points or by adding intermediate segments + class wire_builder { + private: + BRepBuilderAPI_MakeWire mw_; + double p_; + bool override_next_; + gp_Pnt next_override_; + const IfcUtil::IfcBaseClass* inst_; + + public: + wire_builder(double p, const IfcUtil::IfcBaseClass* inst = 0) : p_(p), override_next_(false), inst_(inst) {} + + void operator()(const TopoDS_Shape& a); + + void operator()(const TopoDS_Shape& a, const TopoDS_Shape& b, bool last); + + const TopoDS_Wire& wire() { return mw_.Wire(); } + }; + + template + void shape_pair_enumerate(TopTools_ListIteratorOfListOfShape& it, Fn& fn, bool closed) { + bool is_first = true; + TopoDS_Shape first, previous, current; + for (; it.More(); it.Next(), is_first = false) { + current = it.Value(); + if (is_first) { + first = current; + } else { + fn(previous, current, false); + } + previous = current; + } + if (closed) { + fn(current, first, true); + } else { + fn(current); + } + } + + /* + Below is code to deduce the formula below in SageMath + + | R, b = var('R b') + | + | Bxy = R * cos(b), R * sin(b) + | Cxy = R * cos(b/2), R * sin(b/2) + | + | def dot(v, w): + | return v[0] * w[0] + v[1] * w[1] + | + | def norm(v): + | l = sqrt(v[0]^2 + v[1]^2) + | return v[0] / l, v[1] / l + | + | (R - R*dot(norm(Cxy), norm(Bxy))).full_simplify() + */ + + double deflection_for_approximating_circle(double radius, double param); + + bool create_edge_over_curve_with_log_messages(const Handle_Geom_Curve& crv, const double eps, const gp_Pnt& p1, const gp_Pnt& p2, TopoDS_Edge& result); + } +} + +#endif From b49cfe97444927593d98ce64a78ae10e96e72737 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 14 Jun 2022 15:25:14 +0200 Subject: [PATCH 229/243] msvc /mp --- cmake/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 506f5ab411..f19c4eafd0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -53,6 +53,7 @@ OPTION(HDF5_SUPPORT "Enable HDF5 support (requires HDF5, zlib)" ON) OPTION(USE_VLD "Use Visual Leak Detector for debugging memory leaks, MSVC-only." OFF) OPTION(USE_MMAP "Adds a command line options to parse IFC files from memory mapped files using Boost.Iostreams" OFF) OPTION(BUILD_SHARED_LIBS "Build IfcParse and IfcGeom as shared libs (SO/DLL)." OFF) +OPTION(MSVC_PARALLEL_BUILD "Multi-threaded compilation in Microsoft Visual Studio (/MP)" ON) if (${HAS_MAX}) OPTION(BUILD_IFCMAX "Build IfcMax, a 3ds Max plug-in, Windows-only." OFF) endif() @@ -66,6 +67,10 @@ IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE "Release") ENDIF() +if(MSVC AND MSVC_PARALLEL_BUILD) + add_definitions("/MP") +endif() + # QtViewer requires Qt5 OPTION(BUILD_QTVIEWER "Build IfcOpenShell Qt GUI Viewer" OFF) include(GNUInstallDirs) From 124f786007ca618ebd3ede4d256b46d67d49d8b0 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 14 Jun 2022 17:18:44 +0200 Subject: [PATCH 230/243] Update Kernel.cpp --- src/ifcgeom_schema_agnostic/Kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom_schema_agnostic/Kernel.cpp b/src/ifcgeom_schema_agnostic/Kernel.cpp index 924cd7bde0..385979c555 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.cpp +++ b/src/ifcgeom_schema_agnostic/Kernel.cpp @@ -411,7 +411,7 @@ bool IfcGeom::Kernel::is_identity(const gp_GTrsf& t, double tolerance) { return is_identity_helper(t, tolerance); } -inline IFC_PARSE_API gp_Trsf IfcGeom::Kernel::combine_offset_and_rotation(const gp_Vec & offset, const gp_Quaternion & rotation) { +gp_Trsf IfcGeom::Kernel::combine_offset_and_rotation(const gp_Vec & offset, const gp_Quaternion & rotation) { auto offset_transform = gp_Trsf{}; offset_transform.SetTranslation(offset); From bc2d76e685ef86a03cdc43662cef987dbb6a0063 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 15 Jun 2022 13:41:13 +0200 Subject: [PATCH 231/243] Include-what-you-use --- src/ifcgeom/IfcAdvancedBrep.cpp | 69 --- src/ifcgeom/IfcAnnotationFillArea.cpp | 64 --- src/ifcgeom/IfcArbitraryClosedProfileDef.cpp | 67 --- src/ifcgeom/IfcArbitraryOpenProfileDef.cpp | 60 -- .../IfcArbitraryProfileDefWithVoids.cpp | 64 --- src/ifcgeom/IfcAxis1Placement.cpp | 42 -- src/ifcgeom/IfcAxis2Placement2D.cpp | 38 -- src/ifcgeom/IfcAxis2Placement3D.cpp | 39 -- src/ifcgeom/IfcBSplineCurveWithKnots.cpp | 41 -- src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp | 61 -- src/ifcgeom/IfcBlock.cpp | 67 --- src/ifcgeom/IfcBooleanResult.cpp | 67 --- src/ifcgeom/IfcBoundingBox.cpp | 67 --- src/ifcgeom/IfcCShapeProfileDef.cpp | 67 --- src/ifcgeom/IfcCartesianPoint.cpp | 43 -- .../IfcCartesianTransformationOperator2D.cpp | 38 -- ...sianTransformationOperator2DnonUniform.cpp | 37 -- .../IfcCartesianTransformationOperator3D.cpp | 40 -- ...sianTransformationOperator3DnonUniform.cpp | 39 -- src/ifcgeom/IfcCenterLineProfileDef.cpp | 55 -- src/ifcgeom/IfcCircle.cpp | 43 -- src/ifcgeom/IfcCircleHollowProfileDef.cpp | 59 -- src/ifcgeom/IfcCircleProfileDef.cpp | 62 -- src/ifcgeom/IfcCompositeCurve.cpp | 55 -- src/ifcgeom/IfcCompositeProfileDef.cpp | 67 --- src/ifcgeom/IfcConnectedFaceSet.cpp | 66 --- src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp | 68 --- src/ifcgeom/IfcCsgSolid.cpp | 69 --- src/ifcgeom/IfcCurveBoundedPlane.cpp | 61 -- src/ifcgeom/IfcCylindricalSurface.cpp | 65 --- src/ifcgeom/IfcDerivedProfileDef.cpp | 64 --- src/ifcgeom/IfcDirection.cpp | 43 -- src/ifcgeom/IfcEdge.cpp | 56 -- src/ifcgeom/IfcEdgeCurve.cpp | 53 -- src/ifcgeom/IfcEdgeLoop.cpp | 57 -- src/ifcgeom/IfcEllipse.cpp | 43 -- src/ifcgeom/IfcEllipseProfileDef.cpp | 62 -- src/ifcgeom/IfcExtrudedAreaSolid.cpp | 65 --- src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp | 55 -- src/ifcgeom/IfcFace.cpp | 50 -- src/ifcgeom/IfcFaceBasedSurfaceModel.cpp | 68 --- src/ifcgeom/IfcGeom.cpp | 153 ++++- src/ifcgeom/IfcGeom.h | 19 +- src/ifcgeom/IfcGeomIteratorImplementation.h | 8 +- src/ifcgeom/IfcGeomRenderStyles.cpp | 146 ----- src/ifcgeom/IfcGeomRepresentation.cpp | 257 --------- src/ifcgeom/IfcGeomRepresentation.h | 447 --------------- src/ifcgeom/IfcGeometricSet.cpp | 67 --- src/ifcgeom/IfcHalfSpaceSolid.cpp | 62 -- src/ifcgeom/IfcIShapeProfileDef.cpp | 67 --- src/ifcgeom/IfcIndexedPolyCurve.cpp | 54 -- src/ifcgeom/IfcLShapeProfileDef.cpp | 67 --- src/ifcgeom/IfcLine.cpp | 43 -- src/ifcgeom/IfcManifoldSolidBrep.cpp | 67 --- src/ifcgeom/IfcMappedItem.cpp | 66 --- src/ifcgeom/IfcObjectPlacement.cpp | 43 -- src/ifcgeom/IfcOrientedEdge.cpp | 59 -- src/ifcgeom/IfcPlane.cpp | 62 -- src/ifcgeom/IfcPolyLoop.cpp | 56 -- src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp | 63 --- src/ifcgeom/IfcPolygonalFaceSet.cpp | 65 --- src/ifcgeom/IfcPolyline.cpp | 57 -- src/ifcgeom/IfcRectangleHollowProfileDef.cpp | 61 -- src/ifcgeom/IfcRectangleProfileDef.cpp | 67 --- src/ifcgeom/IfcRectangularPyramid.cpp | 65 --- src/ifcgeom/IfcRectangularTrimmedSurface.cpp | 66 --- src/ifcgeom/IfcRepresentation.cpp | 69 --- src/ifcgeom/IfcRevolvedAreaSolid.cpp | 62 -- src/ifcgeom/IfcRightCircularCone.cpp | 67 --- src/ifcgeom/IfcRightCircularCylinder.cpp | 67 --- src/ifcgeom/IfcRoundedRectangleProfileDef.cpp | 67 --- src/ifcgeom/IfcShellBasedSurfaceModel.cpp | 68 --- src/ifcgeom/IfcSphere.cpp | 67 --- src/ifcgeom/IfcSphericalSurface.cpp | 66 --- src/ifcgeom/IfcSubedge.cpp | 53 -- src/ifcgeom/IfcSurfaceCurve.cpp | 46 -- src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp | 53 -- src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp | 61 -- src/ifcgeom/IfcSurfaceOfRevolution.cpp | 62 -- src/ifcgeom/IfcSweptDiskSolid.cpp | 59 -- src/ifcgeom/IfcTShapeProfileDef.cpp | 67 --- src/ifcgeom/IfcToroidalSurface.cpp | 65 --- src/ifcgeom/IfcTrapeziumProfileDef.cpp | 67 --- src/ifcgeom/IfcTriangulatedFaceSet.cpp | 66 --- src/ifcgeom/IfcTrimmedCurve.cpp | 44 -- src/ifcgeom/IfcUShapeProfileDef.cpp | 67 --- src/ifcgeom/IfcVector.cpp | 42 -- src/ifcgeom/IfcZShapeProfileDef.cpp | 67 --- ...eomSerialisation.cpp => Serialization.cpp} | 0 src/ifcgeom/mapping.cpp | 2 +- .../GeometrySerializer.h | 2 +- .../IfcGeomElement.h | 6 +- .../IfcGeomIteratorSettings.h | 19 +- .../IfcGeomRenderStyles.h | 2 +- .../IfcGeomRepresentation.cpp | 533 ++++++++++++++++++ .../IfcGeomRepresentation.h | 187 ++++++ .../IfcGeomShapeType.h | 0 .../IfcGeomTree.h | 3 +- .../IfcRepresentationShapeItem.h | 0 .../IteratorImplementation.h | 5 +- src/ifcgeom_schema_agnostic/Kernel.h | 11 +- .../ifc_geom_api.h | 0 102 files changed, 884 insertions(+), 5721 deletions(-) delete mode 100644 src/ifcgeom/IfcGeomRenderStyles.cpp delete mode 100644 src/ifcgeom/IfcGeomRepresentation.cpp delete mode 100644 src/ifcgeom/IfcGeomRepresentation.h rename src/ifcgeom/{IfcGeomSerialisation.cpp => Serialization.cpp} (100%) rename src/{ifcgeom => ifcgeom_schema_agnostic}/IfcGeomElement.h (97%) rename src/{ifcgeom => ifcgeom_schema_agnostic}/IfcGeomIteratorSettings.h (94%) create mode 100644 src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp create mode 100644 src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h rename src/{ifcgeom => ifcgeom_schema_agnostic}/IfcGeomShapeType.h (100%) rename src/{ifcgeom => ifcgeom_schema_agnostic}/IfcGeomTree.h (99%) rename src/{ifcgeom => ifcgeom_schema_agnostic}/IfcRepresentationShapeItem.h (100%) rename src/{ifcgeom => ifcgeom_schema_agnostic}/ifc_geom_api.h (100%) diff --git a/src/ifcgeom/IfcAdvancedBrep.cpp b/src/ifcgeom/IfcAdvancedBrep.cpp index 50f5ff6fe1..a165bc7ee4 100644 --- a/src/ifcgeom/IfcAdvancedBrep.cpp +++ b/src/ifcgeom/IfcAdvancedBrep.cpp @@ -17,76 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcAnnotationFillArea.cpp b/src/ifcgeom/IfcAnnotationFillArea.cpp index 1f51c569a7..1fd33ba896 100644 --- a/src/ifcgeom/IfcAnnotationFillArea.cpp +++ b/src/ifcgeom/IfcAnnotationFillArea.cpp @@ -17,75 +17,11 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp b/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp index cdf21ae827..fb4955164e 100644 --- a/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp +++ b/src/ifcgeom/IfcArbitraryClosedProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp b/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp index 3ee45d751e..a68ab93085 100644 --- a/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp +++ b/src/ifcgeom/IfcArbitraryOpenProfileDef.cpp @@ -17,67 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp b/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp index 8b771de210..c418edf369 100644 --- a/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp +++ b/src/ifcgeom/IfcArbitraryProfileDefWithVoids.cpp @@ -17,75 +17,11 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcAxis1Placement.cpp b/src/ifcgeom/IfcAxis1Placement.cpp index 7d02d0fbad..55973e2de3 100644 --- a/src/ifcgeom/IfcAxis1Placement.cpp +++ b/src/ifcgeom/IfcAxis1Placement.cpp @@ -18,49 +18,7 @@ ********************************************************************************/ #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcAxis2Placement2D.cpp b/src/ifcgeom/IfcAxis2Placement2D.cpp index 0eb968d287..fe8a849a59 100644 --- a/src/ifcgeom/IfcAxis2Placement2D.cpp +++ b/src/ifcgeom/IfcAxis2Placement2D.cpp @@ -18,49 +18,11 @@ ********************************************************************************/ #include -#include #include #include -#include #include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcAxis2Placement3D.cpp b/src/ifcgeom/IfcAxis2Placement3D.cpp index fd9abd2779..8b41e67cf2 100644 --- a/src/ifcgeom/IfcAxis2Placement3D.cpp +++ b/src/ifcgeom/IfcAxis2Placement3D.cpp @@ -20,47 +20,8 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcBSplineCurveWithKnots.cpp b/src/ifcgeom/IfcBSplineCurveWithKnots.cpp index aacbdcc484..b6f536606f 100644 --- a/src/ifcgeom/IfcBSplineCurveWithKnots.cpp +++ b/src/ifcgeom/IfcBSplineCurveWithKnots.cpp @@ -17,51 +17,10 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include diff --git a/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp b/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp index 70db779d46..910e713939 100644 --- a/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp +++ b/src/ifcgeom/IfcBSplineSurfaceWithKnots.cpp @@ -17,75 +17,14 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include #include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcBlock.cpp b/src/ifcgeom/IfcBlock.cpp index 5a546fe9d5..0007b97729 100644 --- a/src/ifcgeom/IfcBlock.cpp +++ b/src/ifcgeom/IfcBlock.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcBooleanResult.cpp b/src/ifcgeom/IfcBooleanResult.cpp index 72351e6c24..046c5d647a 100644 --- a/src/ifcgeom/IfcBooleanResult.cpp +++ b/src/ifcgeom/IfcBooleanResult.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcBoundingBox.cpp b/src/ifcgeom/IfcBoundingBox.cpp index 435a450560..5c164f5d91 100644 --- a/src/ifcgeom/IfcBoundingBox.cpp +++ b/src/ifcgeom/IfcBoundingBox.cpp @@ -18,75 +18,8 @@ ********************************************************************************/ #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCShapeProfileDef.cpp b/src/ifcgeom/IfcCShapeProfileDef.cpp index e0c0a43207..cab56aae3e 100644 --- a/src/ifcgeom/IfcCShapeProfileDef.cpp +++ b/src/ifcgeom/IfcCShapeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCartesianPoint.cpp b/src/ifcgeom/IfcCartesianPoint.cpp index a571752b0c..93a6ae50ba 100644 --- a/src/ifcgeom/IfcCartesianPoint.cpp +++ b/src/ifcgeom/IfcCartesianPoint.cpp @@ -18,49 +18,6 @@ ********************************************************************************/ #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp b/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp index 5056701f7c..d91e0c707f 100644 --- a/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp +++ b/src/ifcgeom/IfcCartesianTransformationOperator2D.cpp @@ -18,49 +18,11 @@ ********************************************************************************/ #include -#include #include #include -#include #include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp b/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp index c2716a831c..c1735399c4 100644 --- a/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp +++ b/src/ifcgeom/IfcCartesianTransformationOperator2DnonUniform.cpp @@ -18,49 +18,12 @@ ********************************************************************************/ #include -#include #include #include -#include #include -#include -#include -#include #include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp b/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp index 8319a7090f..730a2e9960 100644 --- a/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp +++ b/src/ifcgeom/IfcCartesianTransformationOperator3D.cpp @@ -18,49 +18,9 @@ ********************************************************************************/ #include -#include #include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp b/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp index 75e8f9f28d..9bedf1c115 100644 --- a/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp +++ b/src/ifcgeom/IfcCartesianTransformationOperator3DnonUniform.cpp @@ -18,49 +18,10 @@ ********************************************************************************/ #include -#include #include -#include -#include -#include -#include -#include #include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCenterLineProfileDef.cpp b/src/ifcgeom/IfcCenterLineProfileDef.cpp index 688137d268..03f701a3ee 100644 --- a/src/ifcgeom/IfcCenterLineProfileDef.cpp +++ b/src/ifcgeom/IfcCenterLineProfileDef.cpp @@ -17,75 +17,20 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include #include #include #include #include -#include -#include -#include -#include -#include #include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCircle.cpp b/src/ifcgeom/IfcCircle.cpp index fdb933e30a..731fa13130 100644 --- a/src/ifcgeom/IfcCircle.cpp +++ b/src/ifcgeom/IfcCircle.cpp @@ -17,53 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCircleHollowProfileDef.cpp b/src/ifcgeom/IfcCircleHollowProfileDef.cpp index b093d47801..6a9e7fbf3e 100644 --- a/src/ifcgeom/IfcCircleHollowProfileDef.cpp +++ b/src/ifcgeom/IfcCircleHollowProfileDef.cpp @@ -17,75 +17,16 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include -#include -#include -#include #include #include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCircleProfileDef.cpp b/src/ifcgeom/IfcCircleProfileDef.cpp index c1d415f49e..d97ff05041 100644 --- a/src/ifcgeom/IfcCircleProfileDef.cpp +++ b/src/ifcgeom/IfcCircleProfileDef.cpp @@ -17,75 +17,13 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCompositeCurve.cpp b/src/ifcgeom/IfcCompositeCurve.cpp index 432e6dcda4..a6345c3b02 100644 --- a/src/ifcgeom/IfcCompositeCurve.cpp +++ b/src/ifcgeom/IfcCompositeCurve.cpp @@ -17,67 +17,12 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #include "../ifcgeom_schema_agnostic/wire_builder.h" diff --git a/src/ifcgeom/IfcCompositeProfileDef.cpp b/src/ifcgeom/IfcCompositeProfileDef.cpp index 3e4ba1de71..4c3ae3ea57 100644 --- a/src/ifcgeom/IfcCompositeProfileDef.cpp +++ b/src/ifcgeom/IfcCompositeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcConnectedFaceSet.cpp b/src/ifcgeom/IfcConnectedFaceSet.cpp index 2b4c450683..b9a419c990 100644 --- a/src/ifcgeom/IfcConnectedFaceSet.cpp +++ b/src/ifcgeom/IfcConnectedFaceSet.cpp @@ -17,76 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp b/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp index b9b87b0497..95d2306616 100644 --- a/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp +++ b/src/ifcgeom/IfcCraneRailAShapeProfileDef.cpp @@ -17,75 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCsgSolid.cpp b/src/ifcgeom/IfcCsgSolid.cpp index 614bcb4e3d..1a53a25509 100644 --- a/src/ifcgeom/IfcCsgSolid.cpp +++ b/src/ifcgeom/IfcCsgSolid.cpp @@ -17,76 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCurveBoundedPlane.cpp b/src/ifcgeom/IfcCurveBoundedPlane.cpp index c6858f6edc..07f25981c6 100644 --- a/src/ifcgeom/IfcCurveBoundedPlane.cpp +++ b/src/ifcgeom/IfcCurveBoundedPlane.cpp @@ -17,76 +17,15 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcCylindricalSurface.cpp b/src/ifcgeom/IfcCylindricalSurface.cpp index 8e1dc716a5..a74fc41f1b 100644 --- a/src/ifcgeom/IfcCylindricalSurface.cpp +++ b/src/ifcgeom/IfcCylindricalSurface.cpp @@ -17,76 +17,11 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcDerivedProfileDef.cpp b/src/ifcgeom/IfcDerivedProfileDef.cpp index 036e51b482..1bf666540a 100644 --- a/src/ifcgeom/IfcDerivedProfileDef.cpp +++ b/src/ifcgeom/IfcDerivedProfileDef.cpp @@ -17,75 +17,11 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcDirection.cpp b/src/ifcgeom/IfcDirection.cpp index 31fae2b16b..21e84df886 100644 --- a/src/ifcgeom/IfcDirection.cpp +++ b/src/ifcgeom/IfcDirection.cpp @@ -17,50 +17,7 @@ * * ********************************************************************************/ -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcEdge.cpp b/src/ifcgeom/IfcEdge.cpp index a2be514d4a..ea119ca2ad 100644 --- a/src/ifcgeom/IfcEdge.cpp +++ b/src/ifcgeom/IfcEdge.cpp @@ -17,67 +17,11 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcEdgeCurve.cpp b/src/ifcgeom/IfcEdgeCurve.cpp index 01fefa8d0b..7cf5a34452 100644 --- a/src/ifcgeom/IfcEdgeCurve.cpp +++ b/src/ifcgeom/IfcEdgeCurve.cpp @@ -17,67 +17,14 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include #include #include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #include "../ifcgeom_schema_agnostic/wire_builder.h" diff --git a/src/ifcgeom/IfcEdgeLoop.cpp b/src/ifcgeom/IfcEdgeLoop.cpp index 30efd11aa3..b3c49d933a 100644 --- a/src/ifcgeom/IfcEdgeLoop.cpp +++ b/src/ifcgeom/IfcEdgeLoop.cpp @@ -17,67 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcEllipse.cpp b/src/ifcgeom/IfcEllipse.cpp index 1a9433c738..c76cc9d118 100644 --- a/src/ifcgeom/IfcEllipse.cpp +++ b/src/ifcgeom/IfcEllipse.cpp @@ -17,53 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcEllipseProfileDef.cpp b/src/ifcgeom/IfcEllipseProfileDef.cpp index 52805e8b99..77de9babc5 100644 --- a/src/ifcgeom/IfcEllipseProfileDef.cpp +++ b/src/ifcgeom/IfcEllipseProfileDef.cpp @@ -17,75 +17,13 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcExtrudedAreaSolid.cpp b/src/ifcgeom/IfcExtrudedAreaSolid.cpp index 3f9f1f51e8..0f354d5de8 100644 --- a/src/ifcgeom/IfcExtrudedAreaSolid.cpp +++ b/src/ifcgeom/IfcExtrudedAreaSolid.cpp @@ -17,76 +17,11 @@ * * ********************************************************************************/ -#include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include // uncomment if you'd like negative or close to zero extrusion depths to succeed // #define PERMISSIVE_EXTRUSION diff --git a/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp b/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp index b2729650ed..bcf0dc6d5e 100644 --- a/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp +++ b/src/ifcgeom/IfcExtrudedAreaSolidTapered.cpp @@ -20,73 +20,18 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include #include #include -#include -#include -#include -#include #include #include #include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcFace.cpp b/src/ifcgeom/IfcFace.cpp index 959132fe6b..1c615d032d 100644 --- a/src/ifcgeom/IfcFace.cpp +++ b/src/ifcgeom/IfcFace.cpp @@ -17,75 +17,25 @@ * * ********************************************************************************/ -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include #include #include #include #include -#include -#include #include #include -#include -#include -#include -#include #include -#include -#include -#include #include -#include #include -#include -#include -#include #include #include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #include "../ifcgeom_schema_agnostic/face_definition.h" diff --git a/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp b/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp index 71ae4d2068..760a860d6f 100644 --- a/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp +++ b/src/ifcgeom/IfcFaceBasedSurfaceModel.cpp @@ -17,76 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcGeom.cpp b/src/ifcgeom/IfcGeom.cpp index ecd901eb1e..d2959f2ff7 100644 --- a/src/ifcgeom/IfcGeom.cpp +++ b/src/ifcgeom/IfcGeom.cpp @@ -24,7 +24,6 @@ ********************************************************************************/ #include -#include #include #include @@ -34,32 +33,19 @@ #include #include #include -#include -#include -#include -#include #include #include #include #include #include -#include #include -#include #include #include -#include -#include -#include -#include #include #include -#include -#include -#include #include #include @@ -107,9 +93,7 @@ #include #include -#include -#include #include @@ -118,7 +102,6 @@ #include #include -#include #include #include @@ -135,25 +118,18 @@ #include #include -#include -#include #include -#include #include -#include #include #include #include -#include -#include #include -#include #if OCC_VERSION_HEX >= 0x70200 #include @@ -161,9 +137,11 @@ #include "../ifcparse/macros.h" #include "../ifcparse/IfcSIPrefix.h" + #include "../ifcparse/IfcFile.h" #include "../ifcgeom/IfcGeom.h" -#include "../ifcgeom/IfcGeomTree.h" + +#include "../ifcgeom_schema_agnostic/IfcGeomTree.h" #include "../ifcgeom_schema_agnostic/boolean_utils.h" #include @@ -4925,3 +4903,128 @@ void IfcGeom::Kernel::set_conversion_placement_rel_to_type(const IfcParse::decla void IfcGeom::Kernel::set_conversion_placement_rel_to_instance(const IfcUtil::IfcBaseEntity* instance) { placement_rel_to_instance_ = instance; } + + +namespace { + + bool process_colour(IfcSchema::IfcColourRgb* colour, double* rgb) { + if (colour != 0) { + rgb[0] = colour->Red(); + rgb[1] = colour->Green(); + rgb[2] = colour->Blue(); + } + return colour != 0; + } + + bool process_colour(IfcSchema::IfcNormalisedRatioMeasure* factor, double* rgb) { + if (factor != 0) { + const double f = *factor; + rgb[0] = rgb[1] = rgb[2] = f; + } + return factor != 0; + } + + bool process_colour(IfcSchema::IfcColourOrFactor* colour_or_factor, double* rgb) { + if (colour_or_factor == 0) { + return false; + } else if (colour_or_factor->declaration().is(IfcSchema::IfcColourRgb::Class())) { + return process_colour(static_cast(colour_or_factor), rgb); + } else if (colour_or_factor->declaration().is(IfcSchema::IfcNormalisedRatioMeasure::Class())) { + return process_colour(static_cast(colour_or_factor), rgb); + } else { + return false; + } + } + +} + +#define Kernel MAKE_TYPE_NAME(Kernel) + +std::shared_ptr IfcGeom::Kernel::internalize_surface_style(const std::pair& shading_styles) { + if (shading_styles.second == 0) { + return 0; + } + int surface_style_id = shading_styles.first->data().id(); + auto it = style_cache.find(surface_style_id); + if (it != style_cache.end()) { + return it->second; + } + + + IfcSchema::IfcSurfaceStyle* style = shading_styles.first->as(); + IfcSchema::IfcSurfaceStyleShading* shading = shading_styles.second->as(); + + std::shared_ptr surface_style_ptr; + + if (style->Name()) { + surface_style_ptr.reset(new SurfaceStyle(surface_style_id, *style->Name())); + } else { + surface_style_ptr.reset(new SurfaceStyle(surface_style_id)); + } + + std::shared_ptr surface_style_ptr_const = std::const_pointer_cast(surface_style_ptr); + SurfaceStyle& surface_style = *surface_style_ptr; + + double rgb[3]; + if (process_colour(shading->SurfaceColour(), rgb)) { + surface_style.Diffuse().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); + } + if (shading_styles.second->declaration().is(IfcSchema::IfcSurfaceStyleRendering::Class())) { + IfcSchema::IfcSurfaceStyleRendering* rendering_style = static_cast(shading_styles.second); + if (rendering_style->DiffuseColour() && process_colour(rendering_style->DiffuseColour(), rgb)) { + SurfaceStyle::ColorComponent diffuse = surface_style.Diffuse().get_value_or(SurfaceStyle::ColorComponent(1, 1, 1)); + surface_style.Diffuse().reset(SurfaceStyle::ColorComponent(diffuse.R() * rgb[0], diffuse.G() * rgb[1], diffuse.B() * rgb[2])); + } + if (rendering_style->DiffuseTransmissionColour()) { + // Not supported + } + if (rendering_style->ReflectionColour()) { + // Not supported + } + if (rendering_style->SpecularColour() && process_colour(rendering_style->SpecularColour(), rgb)) { + surface_style.Specular().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); + } + if (rendering_style->SpecularHighlight()) { + IfcSchema::IfcSpecularHighlightSelect* highlight = rendering_style->SpecularHighlight(); + if (highlight->declaration().is(IfcSchema::IfcSpecularRoughness::Class())) { + double roughness = *((IfcSchema::IfcSpecularRoughness*)highlight); + if (roughness >= 1e-9) { + surface_style.Specularity().reset(1.0 / roughness); + } + } else if (highlight->declaration().is(IfcSchema::IfcSpecularExponent::Class())) { + surface_style.Specularity().reset(*((IfcSchema::IfcSpecularExponent*)highlight)); + } + } + if (rendering_style->TransmissionColour()) { + // Not supported + } + if (rendering_style->Transparency()) { + const double d = *rendering_style->Transparency(); + surface_style.Transparency().reset(d); + } + } + return style_cache[surface_style_id] = surface_style_ptr_const; +} + +std::shared_ptr IfcGeom::Kernel::get_style(const IfcSchema::IfcRepresentationItem* item) { + return internalize_surface_style(get_surface_style(item)); +} + +std::shared_ptr IfcGeom::Kernel::get_style(const IfcSchema::IfcMaterial* material) { + IfcSchema::IfcMaterialDefinitionRepresentation::list::ptr defs = material->HasRepresentation(); + for (IfcSchema::IfcMaterialDefinitionRepresentation::list::it jt = defs->begin(); jt != defs->end(); ++jt) { + IfcSchema::IfcRepresentation::list::ptr reps = (*jt)->Representations(); + IfcSchema::IfcStyledItem::list::ptr styles(new IfcSchema::IfcStyledItem::list); + for (IfcSchema::IfcRepresentation::list::it it = reps->begin(); it != reps->end(); ++it) { + styles->push((**it).Items()->as()); + } + for (IfcSchema::IfcStyledItem::list::it it = styles->begin(); it != styles->end(); ++it) { + const std::pair ss = get_surface_style(*it); + if (ss.second) { + return internalize_surface_style(ss); + } + } + } + auto material_style = std::make_shared(material->data().id(), material->Name()); + return style_cache[material->data().id()] = material_style; +} diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 99f6a87c13..ae0ec58d06 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -23,13 +23,6 @@ #include #include -static const double ALMOST_ZERO = 1.e-9; - -template -inline static bool ALMOST_THE_SAME(const T& a, const T& b, double tolerance=ALMOST_ZERO) { - return fabs(a-b) < tolerance; -} - #include #include #include @@ -54,14 +47,12 @@ inline static bool ALMOST_THE_SAME(const T& a, const T& b, double tolerance=ALMO #include "../ifcparse/IfcParse.h" #include "../ifcparse/IfcBaseClass.h" -#include "../ifcgeom/IfcGeomElement.h" -#include "../ifcgeom/IfcGeomRepresentation.h" -#include "../ifcgeom/IfcRepresentationShapeItem.h" -#include "../ifcgeom/IfcGeomShapeType.h" - +#include "../ifcgeom_schema_agnostic/IfcGeomElement.h" +#include "../ifcgeom_schema_agnostic/IfcGeomRepresentation.h" +#include "../ifcgeom_schema_agnostic/IfcRepresentationShapeItem.h" +#include "../ifcgeom_schema_agnostic/IfcGeomShapeType.h" #include "../ifcgeom_schema_agnostic/Kernel.h" - -#include "ifc_geom_api.h" +#include "../ifcgeom_schema_agnostic/ifc_geom_api.h" // Define this in case you want to conserve memory usage at all cost. This has been // benchmarked extensively: https://github.com/IfcOpenShell/IfcOpenShell/pull/47 diff --git a/src/ifcgeom/IfcGeomIteratorImplementation.h b/src/ifcgeom/IfcGeomIteratorImplementation.h index d809383325..7746fa13f9 100644 --- a/src/ifcgeom/IfcGeomIteratorImplementation.h +++ b/src/ifcgeom/IfcGeomIteratorImplementation.h @@ -81,11 +81,11 @@ #include "../ifcparse/IfcFile.h" #include "../ifcgeom/IfcGeom.h" -#include "../ifcgeom/IfcGeomElement.h" -#include "../ifcgeom_schema_agnostic/IfcGeomMaterial.h" -#include "../ifcgeom/IfcGeomIteratorSettings.h" -#include "../ifcgeom/IfcRepresentationShapeItem.h" +#include "../ifcgeom_schema_agnostic/IfcGeomElement.h" +#include "../ifcgeom_schema_agnostic/IfcGeomMaterial.h" +#include "../ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h" +#include "../ifcgeom_schema_agnostic/IfcRepresentationShapeItem.h" #include "../ifcgeom_schema_agnostic/IfcGeomFilter.h" #include "../ifcgeom_schema_agnostic/IteratorImplementation.h" diff --git a/src/ifcgeom/IfcGeomRenderStyles.cpp b/src/ifcgeom/IfcGeomRenderStyles.cpp deleted file mode 100644 index 0644ca1cc6..0000000000 --- a/src/ifcgeom/IfcGeomRenderStyles.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -#include - -#include "IfcGeom.h" - -namespace { - - bool process_colour(IfcSchema::IfcColourRgb* colour, double* rgb) { - if (colour != 0) { - rgb[0] = colour->Red(); - rgb[1] = colour->Green(); - rgb[2] = colour->Blue(); - } - return colour != 0; - } - - bool process_colour(IfcSchema::IfcNormalisedRatioMeasure* factor, double* rgb) { - if (factor != 0) { - const double f = *factor; - rgb[0] = rgb[1] = rgb[2] = f; - } - return factor != 0; - } - - bool process_colour(IfcSchema::IfcColourOrFactor* colour_or_factor, double* rgb) { - if (colour_or_factor == 0) { - return false; - } else if (colour_or_factor->declaration().is(IfcSchema::IfcColourRgb::Class())) { - return process_colour(static_cast(colour_or_factor), rgb); - } else if (colour_or_factor->declaration().is(IfcSchema::IfcNormalisedRatioMeasure::Class())) { - return process_colour(static_cast(colour_or_factor), rgb); - } else { - return false; - } - } - -} - -#define Kernel MAKE_TYPE_NAME(Kernel) - -std::shared_ptr IfcGeom::Kernel::internalize_surface_style(const std::pair& shading_styles) { - if (shading_styles.second == 0) { - return 0; - } - int surface_style_id = shading_styles.first->data().id(); - auto it = style_cache.find(surface_style_id); - if (it != style_cache.end()) { - return it->second; - } - - - IfcSchema::IfcSurfaceStyle* style = shading_styles.first->as(); - IfcSchema::IfcSurfaceStyleShading* shading = shading_styles.second->as(); - - std::shared_ptr surface_style_ptr; - - if (style->Name()) { - surface_style_ptr.reset(new SurfaceStyle(surface_style_id, *style->Name())); - } else { - surface_style_ptr.reset(new SurfaceStyle(surface_style_id)); - } - - std::shared_ptr surface_style_ptr_const = std::const_pointer_cast(surface_style_ptr); - SurfaceStyle& surface_style = *surface_style_ptr; - - double rgb[3]; - if (process_colour(shading->SurfaceColour(), rgb)) { - surface_style.Diffuse().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); - } - if (shading_styles.second->declaration().is(IfcSchema::IfcSurfaceStyleRendering::Class())) { - IfcSchema::IfcSurfaceStyleRendering* rendering_style = static_cast(shading_styles.second); - if (rendering_style->DiffuseColour() && process_colour(rendering_style->DiffuseColour(), rgb)) { - SurfaceStyle::ColorComponent diffuse = surface_style.Diffuse().get_value_or(SurfaceStyle::ColorComponent(1,1,1)); - surface_style.Diffuse().reset(SurfaceStyle::ColorComponent(diffuse.R() * rgb[0], diffuse.G() * rgb[1], diffuse.B() * rgb[2])); - } - if (rendering_style->DiffuseTransmissionColour()) { - // Not supported - } - if (rendering_style->ReflectionColour()) { - // Not supported - } - if (rendering_style->SpecularColour() && process_colour(rendering_style->SpecularColour(), rgb)) { - surface_style.Specular().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); - } - if (rendering_style->SpecularHighlight()) { - IfcSchema::IfcSpecularHighlightSelect* highlight = rendering_style->SpecularHighlight(); - if (highlight->declaration().is(IfcSchema::IfcSpecularRoughness::Class())) { - double roughness = *((IfcSchema::IfcSpecularRoughness*)highlight); - if (roughness >= 1e-9) { - surface_style.Specularity().reset(1.0 / roughness); - } - } else if (highlight->declaration().is(IfcSchema::IfcSpecularExponent::Class())) { - surface_style.Specularity().reset(*((IfcSchema::IfcSpecularExponent*)highlight)); - } - } - if (rendering_style->TransmissionColour()) { - // Not supported - } - if (rendering_style->Transparency()) { - const double d = *rendering_style->Transparency(); - surface_style.Transparency().reset(d); - } - } - return style_cache[surface_style_id] = surface_style_ptr_const; -} - -std::shared_ptr IfcGeom::Kernel::get_style(const IfcSchema::IfcRepresentationItem* item) { - return internalize_surface_style(get_surface_style(item)); -} - -std::shared_ptr IfcGeom::Kernel::get_style(const IfcSchema::IfcMaterial* material) { - IfcSchema::IfcMaterialDefinitionRepresentation::list::ptr defs = material->HasRepresentation(); - for (IfcSchema::IfcMaterialDefinitionRepresentation::list::it jt = defs->begin(); jt != defs->end(); ++jt) { - IfcSchema::IfcRepresentation::list::ptr reps = (*jt)->Representations(); - IfcSchema::IfcStyledItem::list::ptr styles(new IfcSchema::IfcStyledItem::list); - for (IfcSchema::IfcRepresentation::list::it it = reps->begin(); it != reps->end(); ++it) { - styles->push((**it).Items()->as()); - } - for (IfcSchema::IfcStyledItem::list::it it = styles->begin(); it != styles->end(); ++it) { - const std::pair ss = get_surface_style(*it); - if (ss.second) { - return internalize_surface_style(ss); - } - } - } - auto material_style = std::make_shared(material->data().id(), material->Name()); - return style_cache[material->data().id()] = material_style; -} diff --git a/src/ifcgeom/IfcGeomRepresentation.cpp b/src/ifcgeom/IfcGeomRepresentation.cpp deleted file mode 100644 index c346471aa4..0000000000 --- a/src/ifcgeom/IfcGeomRepresentation.cpp +++ /dev/null @@ -1,257 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -#include -#include -#include - -#include -#include -#include -#include - -#include "../ifcgeom/IfcGeom.h" - -#include "IfcGeomRepresentation.h" - -IfcGeom::Representation::Serialization::Serialization(const BRep& brep) - : Representation(brep.settings()) - , id_(brep.id()) -{ - TopoDS_Compound compound = brep.as_compound(); - for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = brep.begin(); it != brep.end(); ++ it) { - int sid = -1; - - if (it->hasStyle() && it->Style().Diffuse()) { - const IfcGeom::SurfaceStyle::ColorComponent& clr = *it->Style().Diffuse(); - surface_styles_.push_back(clr.R()); - surface_styles_.push_back(clr.G()); - surface_styles_.push_back(clr.B()); - - sid = it->Style().Id().get_value_or(-1); - } else { - surface_styles_.push_back(-1.); - surface_styles_.push_back(-1.); - surface_styles_.push_back(-1.); - } - - if (it->hasStyle() && it->Style().Transparency()) { - surface_styles_.push_back(1. - *it->Style().Transparency()); - } else { - surface_styles_.push_back(1.); - } - - surface_style_ids_.push_back(sid); - } - std::stringstream sstream; - BRepTools::Write(compound,sstream); - brep_data_ = sstream.str(); -} - -// todo copied from kernel -#include -#include - -TopoDS_Shape apply_transformation(const TopoDS_Shape& s, const gp_Trsf& t) { - if (t.Form() == gp_Identity) { - return s; - } else { - /// @todo set to 1. and exactly 1. or use epsilon? - if (t.ScaleFactor() != 1.) { - return BRepBuilderAPI_Transform(s, t, true); - } else { - return s.Moved(t); - } - } -} - -TopoDS_Shape apply_transformation(const TopoDS_Shape& s, const gp_GTrsf& t) { - if (t.Form() == gp_Other) { - return BRepBuilderAPI_GTransform(s, t, true); - } else { - return apply_transformation(s, t.Trsf()); - } -} - -TopoDS_Compound IfcGeom::Representation::BRep::as_compound(bool force_meters) const { - TopoDS_Compound compound; - BRep_Builder builder; - builder.MakeCompound(compound); - for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { - const TopoDS_Shape& s = it->Shape(); - gp_GTrsf trsf = it->Placement(); - - if (!force_meters && settings().get(IteratorSettings::CONVERT_BACK_UNITS)) { - gp_Trsf scale; - scale.SetScaleFactor(1.0 / settings().unit_magnitude()); - trsf.PreMultiply(scale); - } - - const TopoDS_Shape moved_shape = apply_transformation(s, trsf); - builder.Add(compound, moved_shape); - } - return compound; -} - -namespace { - void accumulate(const gp_Ax3& ax, const gp_Dir& normal, double area, double& along_x, double& along_y, double& along_z) { - along_x += area * fabs(ax.XDirection().Dot(normal)); - along_y += area * fabs(ax.YDirection().Dot(normal)); - along_z += area * fabs(ax.Direction().Dot(normal)); - } - - void surface_area_along_direction(double tol, const TopoDS_Shape& s, const gp_Ax3& ax, double& along_x, double& along_y, double& along_z) { - along_x = along_y = along_z = 0.; - - bool meshed = false; - - TopExp_Explorer exp(s, TopAbs_FACE); - for (; exp.More(); exp.Next()) { - const TopoDS_Face& face = TopoDS::Face(exp.Current()); - Handle(Geom_Surface) surf = BRep_Tool::Surface(face); - Handle(Geom_Plane) plane = Handle(Geom_Plane)::DownCast(surf); - - if (surf->DynamicType() == STANDARD_TYPE(Geom_Plane)) { - GProp_GProps prop_area; - BRepGProp::SurfaceProperties(face, prop_area); - const double area = prop_area.Mass(); - - accumulate(ax, plane->Position().Direction(), area, along_x, along_y, along_z); - } else { - - if (!meshed) { - try { - BRepMesh_IncrementalMesh(s, tol); - } catch (...) { - Logger::Message(Logger::LOG_ERROR, "Failed to triangulate shape"); - return; - } - meshed = true; - } - - TopLoc_Location loc; - Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc); - if (!tri.IsNull()) { - std::vector coords; - coords.reserve(tri->NbNodes()); - - for (int i = 1; i <= tri->NbNodes(); ++i) { - coords.push_back(tri->Node(i).Transformed(loc).XYZ()); - } - - const Poly_Array1OfTriangle& triangles = tri->Triangles(); - for (int i = 1; i <= triangles.Length(); ++i) { - int n1, n2, n3; - - if (face.Orientation() == TopAbs_REVERSED) { - triangles(i).Get(n3, n2, n1); - } else { - triangles(i).Get(n1, n2, n3); - } - - const gp_XYZ& pt1 = coords[n1 - 1]; - const gp_XYZ& pt2 = coords[n2 - 1]; - const gp_XYZ& pt3 = coords[n3 - 1]; - const gp_Vec v1 = pt2 - pt1; - const gp_Vec v2 = pt3 - pt2; - const gp_Vec v3 = pt1 - pt3; - const gp_Vec normal_vector = v1 ^ v2; - if (normal_vector.Magnitude() > ALMOST_ZERO) { - gp_Dir normal = gp_Dir(); - - double edge_lengths[3] = { v1.Magnitude(), v2.Magnitude(), v3.Magnitude() }; - std::sort(&edge_lengths[0], &edge_lengths[2]); - - const double& a = edge_lengths[0]; - const double& b = edge_lengths[1]; - const double& c = edge_lengths[2]; - - const double area = 0.25 * sqrt((a + (b + c))*(c - (a - b))*(c + (a - b))*(a + (b - c))); - accumulate(ax, normal, area, along_x, along_y, along_z); - } - } - } - } - } - } -} - -bool IfcGeom::Representation::BRep::calculate_surface_area(double& area) const { - try { - area = 0.; - - for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { - GProp_GProps prop; - BRepGProp::SurfaceProperties(it->Shape(), prop); - area += prop.Mass(); - } - - return true; - } catch (...) { - Logger::Error("Error during calculation of surface area"); - return false; - } -} - -bool IfcGeom::Representation::BRep::calculate_volume(double& volume) const { - try { - volume = 0.; - - for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { - if (Kernel::is_manifold(it->Shape())) { - GProp_GProps prop; - BRepGProp::VolumeProperties(it->Shape(), prop); - volume += prop.Mass(); - } else { - return false; - } - } - - return true; - } catch (...) { - Logger::Error("Error during calculation of volume"); - return false; - } -} - -bool IfcGeom::Representation::BRep::calculate_projected_surface_area(const gp_Ax3 & ax, double & along_x, double & along_y, double & along_z) const { - try { - along_x = along_y = along_z = 0.; - - for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { - double x, y, z; - surface_area_along_direction(settings().deflection_tolerance(), it->Shape(), ax, x, y, z); - - if (Kernel::is_manifold(it->Shape())) { - x /= 2.; - y /= 2.; - z /= 2.; - } - - along_x += x; - along_y += y; - along_z += z; - } - - return true; - } catch (...) { - Logger::Error("Error during calculation of projected surface area"); - return false; - } -} diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h deleted file mode 100644 index 40f6718c59..0000000000 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ /dev/null @@ -1,447 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -#ifndef IFCGEOMREPRESENTATION_H -#define IFCGEOMREPRESENTATION_H - -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "../ifcgeom/IfcGeomIteratorSettings.h" -#include "../ifcgeom_schema_agnostic/IfcGeomMaterial.h" -#include "../ifcgeom/IfcRepresentationShapeItem.h" - -#include - -namespace IfcGeom { - - namespace Representation { - - class IFC_GEOM_API Representation { - Representation(const Representation&); //N/A - Representation& operator =(const Representation&); //N/A - protected: - const ElementSettings settings_; - public: - explicit Representation(const ElementSettings& settings) - : settings_(settings) - {} - const ElementSettings& settings() const { return settings_; } - virtual ~Representation() {} - }; - - class IFC_GEOM_API BRep : public Representation { - private: - std::string id_; - const IfcGeom::IfcRepresentationShapeItems shapes_; - BRep(const BRep& other); - BRep& operator=(const BRep& other); - public: - BRep(const ElementSettings& settings, const std::string& id, const IfcGeom::IfcRepresentationShapeItems& shapes) - : Representation(settings) - , id_(id) - , shapes_(shapes) - {} - virtual ~BRep() {} - IfcGeom::IfcRepresentationShapeItems::const_iterator begin() const { return shapes_.begin(); } - IfcGeom::IfcRepresentationShapeItems::const_iterator end() const { return shapes_.end(); } - const IfcGeom::IfcRepresentationShapeItems& shapes() const { return shapes_; } - const std::string& id() const { return id_; } - TopoDS_Compound as_compound(bool force_meters = false) const; - - bool calculate_volume(double&) const; - bool calculate_surface_area(double&) const; - bool calculate_projected_surface_area(const gp_Ax3& ax, double& along_x, double& along_y, double& along_z) const; - }; - - class IFC_GEOM_API Serialization : public Representation { - private: - std::string id_; - std::string brep_data_; - std::vector surface_styles_; - std::vector surface_style_ids_; - public: - const std::string& brep_data() const { return brep_data_; } - const std::vector& surface_styles() const { return surface_styles_; } - const std::vector& surface_style_ids() const { return surface_style_ids_; } - Serialization(const BRep& brep); - virtual ~Serialization() {} - const std::string& id() const { return id_; } - private: - Serialization(); - Serialization(const Serialization&); - Serialization& operator=(const Serialization&); - }; - - class Triangulation : public Representation { - private: - // A nested pair of floats and a material index to be able to store an XYZ coordinate in a map. - // TODO: Make this a std::tuple when compilers add support for that. - typedef typename std::pair > Coordinate; - typedef typename std::pair VertexKey; - typedef std::map VertexKeyMap; - typedef std::pair Edge; - - std::string id_; - std::vector _verts; - std::vector _faces; - std::vector _edges; - std::vector _normals; - std::vector uvs_; - std::vector _material_ids; - std::vector _materials; - size_t weld_offset_; - VertexKeyMap welds; - - // when read from serialization, the element needs to take ownership of the styles, - // the material vector is constructor off of this. - // @todo this can be improved - std::vector> styles_; - - public: - const std::string& id() const { return id_; } - const std::vector& verts() const { return _verts; } - const std::vector& faces() const { return _faces; } - const std::vector& edges() const { return _edges; } - const std::vector& normals() const { return _normals; } - const std::vector& uvs() const { return uvs_; } - const std::vector& material_ids() const { return _material_ids; } - const std::vector& materials() const { return _materials; } - - Triangulation(const BRep& shape_model) - : Representation(shape_model.settings()) - , id_(shape_model.id()) - , weld_offset_(0) - { - for ( IfcGeom::IfcRepresentationShapeItems::const_iterator iit = shape_model.begin(); iit != shape_model.end(); ++ iit ) { - - // Don't weld vertices that belong to different items to prevent non-manifold situations. - weld_offset_ += welds.size(); - welds.clear(); - - int surface_style_id = -1; - if (iit->hasStyle()) { - Material adapter(iit->StylePtr()); - std::vector::const_iterator jt = std::find(_materials.begin(), _materials.end(), adapter); - if (jt == _materials.end()) { - surface_style_id = (int)_materials.size(); - _materials.push_back(adapter); - } else { - surface_style_id = (int)(jt - _materials.begin()); - } - } - - if (settings().get(IteratorSettings::APPLY_DEFAULT_MATERIALS) && surface_style_id == -1) { - Material material(IfcGeom::get_default_style(settings().element_type())); - std::vector::const_iterator mit = std::find(_materials.begin(), _materials.end(), material); - if (mit == _materials.end()) { - surface_style_id = (int)_materials.size(); - _materials.push_back(material); - } else { - surface_style_id = (int)(mit - _materials.begin()); - } - } - - const TopoDS_Shape& s = iit->Shape(); - const gp_GTrsf& trsf = iit->Placement(); - - // Triangulate the shape - try { - BRepMesh_IncrementalMesh(s, settings().deflection_tolerance(), false, settings().angular_tolerance()); - } catch(...) { - Logger::Message(Logger::LOG_ERROR, "Failed to triangulate shape"); - continue; - } - - // Iterates over the faces of the shape - int num_faces = 0; - TopExp_Explorer exp; - for ( exp.Init(s,TopAbs_FACE); exp.More(); exp.Next(), ++num_faces ) { - TopoDS_Face face = TopoDS::Face(exp.Current()); - TopLoc_Location loc; - Handle_Poly_Triangulation tri = BRep_Tool::Triangulation(face,loc); - - if (tri.IsNull()) { - Logger::Message(Logger::LOG_ERROR, "Triangulation missing for face"); - } else { - // A 3x3 matrix to rotate the vertex normals - const gp_Mat rotation_matrix = trsf.VectorialPart(); - - // Keep track of the number of times an edge is used - // Manifold edges (i.e. edges used twice) are deemed invisible - std::map,int> edgecount; - std::vector > edges_temp; - - std::vector coords; - BRepGProp_Face prop(face); - std::map dict; - - // Vertex normals are only calculated if vertices are not welded and calculation is not disable explicitly. - const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES) && - !settings().get(IteratorSettings::NO_NORMALS); - - for( int i = 1; i <= tri->NbNodes(); ++ i ) { - coords.push_back(tri->Node(i).Transformed(loc).XYZ()); - trsf.Transforms(*coords.rbegin()); - dict[i] = addVertex(surface_style_id, *coords.rbegin()); - - if ( calculate_normals ) { - const gp_Pnt2d& uv = tri->UVNode(i); - gp_Pnt p; - gp_Vec normal_direction; - prop.Normal(uv.X(),uv.Y(),p,normal_direction); - gp_Vec normal(0., 0., 0.); - if (normal_direction.Magnitude() > 1.e-9) { - normal = gp_Dir(normal_direction.XYZ() * rotation_matrix); - } else { - Handle_Geom_Surface surf = BRep_Tool::Surface(face); - // Special case the normal at the poles of a spherical surface - if (surf->DynamicType() == STANDARD_TYPE(Geom_SphericalSurface)) { - if (fabs(fabs(uv.Y()) - M_PI / 2.) < 1.e-9) { - const bool is_top = uv.Y() > 0; - const bool is_forward = face.Orientation() == TopAbs_FORWARD; - const double z = (is_top == is_forward) ? 1. : -1.; - normal = gp_Dir(gp_XYZ(0, 0, z) * rotation_matrix); - } - } - // TODO: Do the same for conical surfaces, but they are rare in IFC. - } - _normals.push_back(normal.X()); - _normals.push_back(normal.Y()); - _normals.push_back(normal.Z()); - } - } - - const Poly_Array1OfTriangle& triangles = tri->Triangles(); - for( int i = 1; i <= triangles.Length(); ++ i ) { - int n1,n2,n3; - if ( face.Orientation() == TopAbs_REVERSED ) - triangles(i).Get(n3,n2,n1); - else triangles(i).Get(n1,n2,n3); - - /* An alternative would be to calculate normals based - * on the coordinates of the mesh vertices */ - /* - const gp_XYZ pt1 = coords[n1-1]; - const gp_XYZ pt2 = coords[n2-1]; - const gp_XYZ pt3 = coords[n3-1]; - const gp_XYZ v1 = pt2-pt1; - const gp_XYZ v2 = pt3-pt2; - gp_Dir normal = gp_Dir(v1^v2); - _normals.push_back((float)normal.X()); - _normals.push_back((float)normal.Y()); - _normals.push_back((float)normal.Z()); - */ - - _faces.push_back(dict[n1]); - _faces.push_back(dict[n2]); - _faces.push_back(dict[n3]); - - _material_ids.push_back(surface_style_id); - - addEdge(dict[n1], dict[n2], edgecount, edges_temp); - addEdge(dict[n2], dict[n3], edgecount, edges_temp); - addEdge(dict[n3], dict[n1], edgecount, edges_temp); - } - for ( std::vector >::const_iterator jt = edges_temp.begin(); jt != edges_temp.end(); ++jt ) { - if (edgecount[*jt] == 1) { - // non manifold edge, face boundary - _edges.push_back(jt->first); - _edges.push_back(jt->second); - } - } - } - } - - if (!_normals.empty() && settings().get(IfcGeom::IteratorSettings::GENERATE_UVS)) { - uvs_ = box_project_uvs(_verts, _normals); - } - - if (num_faces == 0) { - // Edges are only emitted if there are no faces. A mixed representation of faces - // and loose edges is discouraged by the standard. An alternative would be to use - // TopExp_Explorer texp(s, TopAbs_EDGE, TopAbs_FACE) to find edges that do not - // belong to any face. - for (TopExp_Explorer texp(s, TopAbs_EDGE); texp.More(); texp.Next()) { - BRepAdaptor_Curve crv(TopoDS::Edge(texp.Current())); - GCPnts_QuasiUniformDeflection tessellater(crv, settings().deflection_tolerance()); - int n = tessellater.NbPoints(); - int previous = -1; - - for (int i = 1; i <= n; ++i) { - gp_XYZ p = tessellater.Value(i).XYZ(); - - int current = addVertex(surface_style_id, p); - - std::vector> segments; - if (i > 1) { - segments.push_back(std::make_pair(previous, current)); - } - - if (settings().get(IfcGeom::IteratorSettings::EDGE_ARROWS)) { - // In case you want direction arrows on your edges - double u = tessellater.Parameter(i); - gp_XYZ p2, p3; - gp_Pnt tmp; - gp_Vec tmp2; - crv.D1(u, tmp, tmp2); - gp_Dir d1, d2, d3, d4; - d1 = tmp2; - if (texp.Current().Orientation() == TopAbs_REVERSED) { - d1 = -d1; - } - if (fabs(d1.Z()) < 0.5) { - d2 = d1.Crossed(gp::DZ()); - } else { - d2 = d1.Crossed(gp::DY()); - } - d3 = d1.XYZ() + d2.XYZ(); - d4 = d1.XYZ() - d2.XYZ(); - p2 = p - d3.XYZ() / 10.; - p3 = p - d4.XYZ() / 10.; - trsf.Transforms(p2); - trsf.Transforms(p3); - trsf.Transforms(p); - - int left = addVertex(surface_style_id, p2); - int right = addVertex(surface_style_id, p3); - - segments.push_back(std::make_pair(left, current)); - segments.push_back(std::make_pair(right, current)); - } - - for (auto& sgmt : segments) { - _edges.push_back(sgmt.first); - _edges.push_back(sgmt.second); - _material_ids.push_back(surface_style_id); - } - - previous = current; - } - } - } - - BRepTools::Clean(s); - } - } - - Triangulation( - ElementSettings settings, - const std::string& id, - const std::vector& verts, - const std::vector& faces, - const std::vector& edges, - const std::vector& normals, - const std::vector& uvs, - const std::vector& material_ids, - const std::vector>& styles) - : Representation(settings) - , id_(id) - , _verts(verts) - , _faces(faces) - , _edges(edges) - , _normals(normals) - , uvs_(uvs) - , _material_ids(material_ids) - , styles_(styles) - { - for (auto& s : styles_) { - _materials.push_back(IfcGeom::Material(s)); - } - } - - virtual ~Triangulation() {} - - /// Generates UVs for a single mesh using box projection. - /// @todo Very simple impl. Assumes that input vertices and normals match 1:1. - static std::vector box_project_uvs(const std::vector &vertices, const std::vector &normals) - { - std::vector uvs; - uvs.resize(vertices.size() / 3 * 2); - for (size_t uv_idx = 0, v_idx = 0; - uv_idx < uvs.size() && v_idx < vertices.size() && v_idx < normals.size(); - uv_idx += 2, v_idx += 3) { - - double n_x = normals[v_idx], n_y = normals[v_idx + 1], n_z = normals[v_idx + 2]; - double v_x = vertices[v_idx], v_y = vertices[v_idx + 1], v_z = vertices[v_idx + 2]; - - if (std::abs(n_x) > std::abs(n_y) && std::abs(n_x) > std::abs(n_z)) { - uvs[uv_idx] = v_z; - uvs[uv_idx + 1] = v_y; - } - if (std::abs(n_y) > std::abs(n_x) && std::abs(n_y) > std::abs(n_z)) { - uvs[uv_idx] = v_x; - uvs[uv_idx + 1] = v_z; - } - if (std::abs(n_z) > std::abs(n_x) && std::abs(n_z) > std::abs(n_y)) { - uvs[uv_idx] = v_x; - uvs[uv_idx + 1] = v_y; - } - } - - return uvs; - } - - private: - // Welds vertices that belong to different faces - int addVertex(int material_index, const gp_XYZ& p) { - const bool convert = settings().get(IteratorSettings::CONVERT_BACK_UNITS); - const double X = convert ? (p.X() / settings().unit_magnitude()) : p.X(); - const double Y = convert ? (p.Y() / settings().unit_magnitude()) : p.Y(); - const double Z = convert ? (p.Z() / settings().unit_magnitude()) : p.Z(); - int i = (int) _verts.size() / 3; - if (settings().get(IteratorSettings::WELD_VERTICES)) { - const VertexKey key = std::make_pair(material_index, std::make_pair(X, std::make_pair(Y, Z))); - typename VertexKeyMap::const_iterator it = welds.find(key); - if ( it != welds.end() ) return it->second; - i = (int) (welds.size() + weld_offset_); - welds[key] = i; - } - _verts.push_back(X); - _verts.push_back(Y); - _verts.push_back(Z); - return i; - } - inline void addEdge(int n1, int n2, std::map,int>& edgecount, std::vector >& edges_temp) { - const Edge e = Edge( (std::min)(n1,n2),(std::max)(n1,n2) ); - if ( edgecount.find(e) == edgecount.end() ) edgecount[e] = 1; - else edgecount[e] ++; - edges_temp.push_back(e); - } - Triangulation(); - Triangulation(const Triangulation&); - Triangulation& operator=(const Triangulation&); - }; - - } -} - -#endif diff --git a/src/ifcgeom/IfcGeometricSet.cpp b/src/ifcgeom/IfcGeometricSet.cpp index 5e4c56270f..5c121f1c10 100644 --- a/src/ifcgeom/IfcGeometricSet.cpp +++ b/src/ifcgeom/IfcGeometricSet.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcHalfSpaceSolid.cpp b/src/ifcgeom/IfcHalfSpaceSolid.cpp index d196b37d4c..a77210dcc8 100644 --- a/src/ifcgeom/IfcHalfSpaceSolid.cpp +++ b/src/ifcgeom/IfcHalfSpaceSolid.cpp @@ -18,75 +18,13 @@ ********************************************************************************/ #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcIShapeProfileDef.cpp b/src/ifcgeom/IfcIShapeProfileDef.cpp index 93b61a9387..37affbce91 100644 --- a/src/ifcgeom/IfcIShapeProfileDef.cpp +++ b/src/ifcgeom/IfcIShapeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcIndexedPolyCurve.cpp b/src/ifcgeom/IfcIndexedPolyCurve.cpp index 889b1e0ed4..35886a34db 100644 --- a/src/ifcgeom/IfcIndexedPolyCurve.cpp +++ b/src/ifcgeom/IfcIndexedPolyCurve.cpp @@ -17,67 +17,13 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcLShapeProfileDef.cpp b/src/ifcgeom/IfcLShapeProfileDef.cpp index edaaf1551a..c006e41835 100644 --- a/src/ifcgeom/IfcLShapeProfileDef.cpp +++ b/src/ifcgeom/IfcLShapeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcLine.cpp b/src/ifcgeom/IfcLine.cpp index 53aedc57c2..a21bf8ae37 100644 --- a/src/ifcgeom/IfcLine.cpp +++ b/src/ifcgeom/IfcLine.cpp @@ -17,53 +17,10 @@ * * ********************************************************************************/ -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcManifoldSolidBrep.cpp b/src/ifcgeom/IfcManifoldSolidBrep.cpp index 5e623b8c8b..b278997b4b 100644 --- a/src/ifcgeom/IfcManifoldSolidBrep.cpp +++ b/src/ifcgeom/IfcManifoldSolidBrep.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcMappedItem.cpp b/src/ifcgeom/IfcMappedItem.cpp index 554f8df596..751a8dbd23 100644 --- a/src/ifcgeom/IfcMappedItem.cpp +++ b/src/ifcgeom/IfcMappedItem.cpp @@ -17,76 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcObjectPlacement.cpp b/src/ifcgeom/IfcObjectPlacement.cpp index 096b79419b..ab3605aae5 100644 --- a/src/ifcgeom/IfcObjectPlacement.cpp +++ b/src/ifcgeom/IfcObjectPlacement.cpp @@ -17,50 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcOrientedEdge.cpp b/src/ifcgeom/IfcOrientedEdge.cpp index ffa3b9d0b6..8475d7a957 100644 --- a/src/ifcgeom/IfcOrientedEdge.cpp +++ b/src/ifcgeom/IfcOrientedEdge.cpp @@ -17,67 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcPlane.cpp b/src/ifcgeom/IfcPlane.cpp index dde9f45893..1d635afc50 100644 --- a/src/ifcgeom/IfcPlane.cpp +++ b/src/ifcgeom/IfcPlane.cpp @@ -17,76 +17,14 @@ * * ********************************************************************************/ -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcPolyLoop.cpp b/src/ifcgeom/IfcPolyLoop.cpp index a8320998f7..7a1b5b4deb 100644 --- a/src/ifcgeom/IfcPolyLoop.cpp +++ b/src/ifcgeom/IfcPolyLoop.cpp @@ -17,67 +17,11 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp b/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp index 5af0aa011b..002e323bb5 100644 --- a/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp +++ b/src/ifcgeom/IfcPolygonalBoundedHalfSpace.cpp @@ -17,76 +17,13 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcPolygonalFaceSet.cpp b/src/ifcgeom/IfcPolygonalFaceSet.cpp index 80f55e3214..1ef9e99c2b 100644 --- a/src/ifcgeom/IfcPolygonalFaceSet.cpp +++ b/src/ifcgeom/IfcPolygonalFaceSet.cpp @@ -17,76 +17,11 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcPolyline.cpp b/src/ifcgeom/IfcPolyline.cpp index bcb57a1c47..49dc05fcc4 100644 --- a/src/ifcgeom/IfcPolyline.cpp +++ b/src/ifcgeom/IfcPolyline.cpp @@ -17,67 +17,10 @@ * * ********************************************************************************/ -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRectangleHollowProfileDef.cpp b/src/ifcgeom/IfcRectangleHollowProfileDef.cpp index 95dba8fc22..77f6084b97 100644 --- a/src/ifcgeom/IfcRectangleHollowProfileDef.cpp +++ b/src/ifcgeom/IfcRectangleHollowProfileDef.cpp @@ -17,75 +17,14 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include #include #include #include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRectangleProfileDef.cpp b/src/ifcgeom/IfcRectangleProfileDef.cpp index fe352089a8..13b79df195 100644 --- a/src/ifcgeom/IfcRectangleProfileDef.cpp +++ b/src/ifcgeom/IfcRectangleProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRectangularPyramid.cpp b/src/ifcgeom/IfcRectangularPyramid.cpp index b1dce67d1b..c82dd96fe7 100644 --- a/src/ifcgeom/IfcRectangularPyramid.cpp +++ b/src/ifcgeom/IfcRectangularPyramid.cpp @@ -17,76 +17,11 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRectangularTrimmedSurface.cpp b/src/ifcgeom/IfcRectangularTrimmedSurface.cpp index 760b8cf924..3bd1d7902f 100644 --- a/src/ifcgeom/IfcRectangularTrimmedSurface.cpp +++ b/src/ifcgeom/IfcRectangularTrimmedSurface.cpp @@ -17,76 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRepresentation.cpp b/src/ifcgeom/IfcRepresentation.cpp index e29d0b413d..e4ca45d5e0 100644 --- a/src/ifcgeom/IfcRepresentation.cpp +++ b/src/ifcgeom/IfcRepresentation.cpp @@ -17,76 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRevolvedAreaSolid.cpp b/src/ifcgeom/IfcRevolvedAreaSolid.cpp index 16606276b7..4e3b4d94d8 100644 --- a/src/ifcgeom/IfcRevolvedAreaSolid.cpp +++ b/src/ifcgeom/IfcRevolvedAreaSolid.cpp @@ -18,75 +18,13 @@ ********************************************************************************/ #include -#include #include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRightCircularCone.cpp b/src/ifcgeom/IfcRightCircularCone.cpp index 690d28d205..c4164a2c08 100644 --- a/src/ifcgeom/IfcRightCircularCone.cpp +++ b/src/ifcgeom/IfcRightCircularCone.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRightCircularCylinder.cpp b/src/ifcgeom/IfcRightCircularCylinder.cpp index 307327abec..eb541b167b 100644 --- a/src/ifcgeom/IfcRightCircularCylinder.cpp +++ b/src/ifcgeom/IfcRightCircularCylinder.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp b/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp index ecb71e38f4..61a3037fa0 100644 --- a/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp +++ b/src/ifcgeom/IfcRoundedRectangleProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp index bfc970b8f4..8430601d6d 100644 --- a/src/ifcgeom/IfcShellBasedSurfaceModel.cpp +++ b/src/ifcgeom/IfcShellBasedSurfaceModel.cpp @@ -17,76 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSphere.cpp b/src/ifcgeom/IfcSphere.cpp index 7e9bde719a..5ef4f40905 100644 --- a/src/ifcgeom/IfcSphere.cpp +++ b/src/ifcgeom/IfcSphere.cpp @@ -17,76 +17,9 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSphericalSurface.cpp b/src/ifcgeom/IfcSphericalSurface.cpp index a93b90acd6..31573fe51c 100644 --- a/src/ifcgeom/IfcSphericalSurface.cpp +++ b/src/ifcgeom/IfcSphericalSurface.cpp @@ -17,76 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSubedge.cpp b/src/ifcgeom/IfcSubedge.cpp index be3459fcb1..58509dd1b5 100644 --- a/src/ifcgeom/IfcSubedge.cpp +++ b/src/ifcgeom/IfcSubedge.cpp @@ -17,67 +17,14 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include #include #include -#include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define _USE_MATH_DEFINES #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSurfaceCurve.cpp b/src/ifcgeom/IfcSurfaceCurve.cpp index b444aa2eae..6c00a42c60 100644 --- a/src/ifcgeom/IfcSurfaceCurve.cpp +++ b/src/ifcgeom/IfcSurfaceCurve.cpp @@ -17,53 +17,7 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp b/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp index ca7c321e1a..7837b4f8a5 100644 --- a/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp +++ b/src/ifcgeom/IfcSurfaceCurveSweptAreaSolid.cpp @@ -21,72 +21,19 @@ #include #include #include -#include -#include -#include -#include -#include -#include #include -#include #include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp b/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp index 9efcf31919..04c71e6224 100644 --- a/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp +++ b/src/ifcgeom/IfcSurfaceOfLinearExtrusion.cpp @@ -17,76 +17,15 @@ * * ********************************************************************************/ -#include #include #include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSurfaceOfRevolution.cpp b/src/ifcgeom/IfcSurfaceOfRevolution.cpp index d06c04e11a..50adda19c3 100644 --- a/src/ifcgeom/IfcSurfaceOfRevolution.cpp +++ b/src/ifcgeom/IfcSurfaceOfRevolution.cpp @@ -17,76 +17,14 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include #include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcSweptDiskSolid.cpp b/src/ifcgeom/IfcSweptDiskSolid.cpp index 520d3c6c38..533dff7381 100644 --- a/src/ifcgeom/IfcSweptDiskSolid.cpp +++ b/src/ifcgeom/IfcSweptDiskSolid.cpp @@ -17,76 +17,17 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include #include #include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include -#include -#include -#include #include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #include "../ifcgeom_schema_agnostic/sweep_utils.h" diff --git a/src/ifcgeom/IfcTShapeProfileDef.cpp b/src/ifcgeom/IfcTShapeProfileDef.cpp index a4b752d55a..3143182863 100644 --- a/src/ifcgeom/IfcTShapeProfileDef.cpp +++ b/src/ifcgeom/IfcTShapeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcToroidalSurface.cpp b/src/ifcgeom/IfcToroidalSurface.cpp index eaa55f91f7..0b37ea6c09 100644 --- a/src/ifcgeom/IfcToroidalSurface.cpp +++ b/src/ifcgeom/IfcToroidalSurface.cpp @@ -17,75 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include #include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcTrapeziumProfileDef.cpp b/src/ifcgeom/IfcTrapeziumProfileDef.cpp index 4960f31e60..300cff3ef6 100644 --- a/src/ifcgeom/IfcTrapeziumProfileDef.cpp +++ b/src/ifcgeom/IfcTrapeziumProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcTriangulatedFaceSet.cpp b/src/ifcgeom/IfcTriangulatedFaceSet.cpp index 5935695b76..cc1a7d0b62 100644 --- a/src/ifcgeom/IfcTriangulatedFaceSet.cpp +++ b/src/ifcgeom/IfcTriangulatedFaceSet.cpp @@ -17,76 +17,10 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcTrimmedCurve.cpp b/src/ifcgeom/IfcTrimmedCurve.cpp index 73b56f4d75..e60a4ded90 100644 --- a/src/ifcgeom/IfcTrimmedCurve.cpp +++ b/src/ifcgeom/IfcTrimmedCurve.cpp @@ -19,65 +19,21 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include #include -#include #include #include -#include -#include -#include -#include #include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include #include #include #include #include #include "../ifcgeom/IfcGeom.h" -#include #include "../ifcgeom_schema_agnostic/wire_builder.h" diff --git a/src/ifcgeom/IfcUShapeProfileDef.cpp b/src/ifcgeom/IfcUShapeProfileDef.cpp index 68baa93a16..64a15b6ced 100644 --- a/src/ifcgeom/IfcUShapeProfileDef.cpp +++ b/src/ifcgeom/IfcUShapeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcVector.cpp b/src/ifcgeom/IfcVector.cpp index 585659f67f..09daa295b1 100644 --- a/src/ifcgeom/IfcVector.cpp +++ b/src/ifcgeom/IfcVector.cpp @@ -17,50 +17,8 @@ * * ********************************************************************************/ -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcZShapeProfileDef.cpp b/src/ifcgeom/IfcZShapeProfileDef.cpp index 2b66344919..d39f9083d1 100644 --- a/src/ifcgeom/IfcZShapeProfileDef.cpp +++ b/src/ifcgeom/IfcZShapeProfileDef.cpp @@ -17,75 +17,8 @@ * * ********************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "../ifcgeom/IfcGeom.h" -#include -#include -#include -#include #define Kernel MAKE_TYPE_NAME(Kernel) diff --git a/src/ifcgeom/IfcGeomSerialisation.cpp b/src/ifcgeom/Serialization.cpp similarity index 100% rename from src/ifcgeom/IfcGeomSerialisation.cpp rename to src/ifcgeom/Serialization.cpp diff --git a/src/ifcgeom/mapping.cpp b/src/ifcgeom/mapping.cpp index 725301d8bd..8e09756330 100644 --- a/src/ifcgeom/mapping.cpp +++ b/src/ifcgeom/mapping.cpp @@ -18,7 +18,7 @@ ********************************************************************************/ #include "IfcGeom.h" -#include "IfcGeomShapeType.h" +#include "../ifcgeom_schema_agnostic/IfcGeomShapeType.h" #include diff --git a/src/ifcgeom_schema_agnostic/GeometrySerializer.h b/src/ifcgeom_schema_agnostic/GeometrySerializer.h index 56f8cd9eed..58fb7c4d64 100644 --- a/src/ifcgeom_schema_agnostic/GeometrySerializer.h +++ b/src/ifcgeom_schema_agnostic/GeometrySerializer.h @@ -21,7 +21,7 @@ #define GEOMETRYSERIALIZER_H #include "../ifcgeom_schema_agnostic/Serializer.h" -#include "../ifcgeom/IfcGeomElement.h" +#include "../ifcgeom_schema_agnostic/IfcGeomElement.h" class SerializerSettings : public IfcGeom::IteratorSettings { diff --git a/src/ifcgeom/IfcGeomElement.h b/src/ifcgeom_schema_agnostic/IfcGeomElement.h similarity index 97% rename from src/ifcgeom/IfcGeomElement.h rename to src/ifcgeom_schema_agnostic/IfcGeomElement.h index c9829d8ef3..e924da8b58 100644 --- a/src/ifcgeom/IfcGeomElement.h +++ b/src/ifcgeom_schema_agnostic/IfcGeomElement.h @@ -26,9 +26,9 @@ #include "../ifcparse/Argument.h" #include "../ifcparse/IfcGlobalId.h" -#include "../ifcgeom/IfcGeomRepresentation.h" -#include "../ifcgeom/IfcGeomIteratorSettings.h" -#include "ifc_geom_api.h" +#include "../ifcgeom_schema_agnostic/IfcGeomRepresentation.h" +#include "../ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h" +#include "../ifcgeom_schema_agnostic/ifc_geom_api.h" namespace IfcGeom { diff --git a/src/ifcgeom/IfcGeomIteratorSettings.h b/src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h similarity index 94% rename from src/ifcgeom/IfcGeomIteratorSettings.h rename to src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h index 0211fc5758..814fc4ddcd 100644 --- a/src/ifcgeom/IfcGeomIteratorSettings.h +++ b/src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h @@ -20,12 +20,14 @@ #ifndef IFCGEOMITERATORSETTINGS_H #define IFCGEOMITERATORSETTINGS_H -#include - #include "ifc_geom_api.h" + #include "../ifcparse/IfcException.h" #include "../ifcparse/IfcBaseClass.h" +#include +#include + namespace IfcGeom { class IFC_GEOM_API IteratorSettings @@ -132,16 +134,9 @@ namespace IfcGeom double force_space_transparency() const { return force_space_transparency_; } std::set context_ids() const { return context_ids_; } - void set_deflection_tolerance(double value) - { - /// @todo Using deflection tolerance of 1e-6 or smaller hangs the conversion, research more in-depth. - /// This bug can be reproduced e.g. with the Duplex model that can be found from http://www.nibs.org/?page=bsa_commonbimfiles#project1 - deflection_tolerance_ = value; - if (deflection_tolerance_ <= 1e-6) { - Logger::Message(Logger::LOG_WARNING, "Deflection tolerance cannot be set to <= 1e-6; using the default value 1e-3"); - deflection_tolerance_ = 1e-3; - } - } + /// @todo Using deflection tolerance of 1e-6 or smaller hangs the conversion, research more in-depth. + /// This bug can be reproduced e.g. with the Duplex model that can be found from http://www.nibs.org/?page=bsa_commonbimfiles#project1 + void set_deflection_tolerance(double value); void set_angular_tolerance(double value) { angular_tolerance_ = value; diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRenderStyles.h b/src/ifcgeom_schema_agnostic/IfcGeomRenderStyles.h index b6d57dc42d..8200cf0529 100644 --- a/src/ifcgeom_schema_agnostic/IfcGeomRenderStyles.h +++ b/src/ifcgeom_schema_agnostic/IfcGeomRenderStyles.h @@ -20,7 +20,7 @@ #ifndef IFCGEOMRENDERSTYLES_H #define IFCGEOMRENDERSTYLES_H -#include "../ifcgeom/ifc_geom_api.h" +#include "../ifcgeom_schema_agnostic/ifc_geom_api.h" #include #include diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp new file mode 100644 index 0000000000..5e5b64b233 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp @@ -0,0 +1,533 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include "IfcGeomRepresentation.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "../ifcparse/IfcLogger.h" +#include "../ifcgeom_schema_agnostic/Kernel.h" + +IfcGeom::Representation::Serialization::Serialization(const BRep& brep) + : Representation(brep.settings()) + , id_(brep.id()) +{ + TopoDS_Compound compound = brep.as_compound(); + for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = brep.begin(); it != brep.end(); ++ it) { + int sid = -1; + + if (it->hasStyle() && it->Style().Diffuse()) { + const IfcGeom::SurfaceStyle::ColorComponent& clr = *it->Style().Diffuse(); + surface_styles_.push_back(clr.R()); + surface_styles_.push_back(clr.G()); + surface_styles_.push_back(clr.B()); + + sid = it->Style().Id().get_value_or(-1); + } else { + surface_styles_.push_back(-1.); + surface_styles_.push_back(-1.); + surface_styles_.push_back(-1.); + } + + if (it->hasStyle() && it->Style().Transparency()) { + surface_styles_.push_back(1. - *it->Style().Transparency()); + } else { + surface_styles_.push_back(1.); + } + + surface_style_ids_.push_back(sid); + } + std::stringstream sstream; + BRepTools::Write(compound,sstream); + brep_data_ = sstream.str(); +} + +// todo copied from kernel +#include +#include + +TopoDS_Shape apply_transformation(const TopoDS_Shape& s, const gp_Trsf& t) { + if (t.Form() == gp_Identity) { + return s; + } else { + /// @todo set to 1. and exactly 1. or use epsilon? + if (t.ScaleFactor() != 1.) { + return BRepBuilderAPI_Transform(s, t, true); + } else { + return s.Moved(t); + } + } +} + +TopoDS_Shape apply_transformation(const TopoDS_Shape& s, const gp_GTrsf& t) { + if (t.Form() == gp_Other) { + return BRepBuilderAPI_GTransform(s, t, true); + } else { + return apply_transformation(s, t.Trsf()); + } +} + +TopoDS_Compound IfcGeom::Representation::BRep::as_compound(bool force_meters) const { + TopoDS_Compound compound; + BRep_Builder builder; + builder.MakeCompound(compound); + for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { + const TopoDS_Shape& s = it->Shape(); + gp_GTrsf trsf = it->Placement(); + + if (!force_meters && settings().get(IteratorSettings::CONVERT_BACK_UNITS)) { + gp_Trsf scale; + scale.SetScaleFactor(1.0 / settings().unit_magnitude()); + trsf.PreMultiply(scale); + } + + const TopoDS_Shape moved_shape = apply_transformation(s, trsf); + builder.Add(compound, moved_shape); + } + return compound; +} + +namespace { + void accumulate(const gp_Ax3& ax, const gp_Dir& normal, double area, double& along_x, double& along_y, double& along_z) { + along_x += area * fabs(ax.XDirection().Dot(normal)); + along_y += area * fabs(ax.YDirection().Dot(normal)); + along_z += area * fabs(ax.Direction().Dot(normal)); + } + + void surface_area_along_direction(double tol, const TopoDS_Shape& s, const gp_Ax3& ax, double& along_x, double& along_y, double& along_z) { + along_x = along_y = along_z = 0.; + + bool meshed = false; + + TopExp_Explorer exp(s, TopAbs_FACE); + for (; exp.More(); exp.Next()) { + const TopoDS_Face& face = TopoDS::Face(exp.Current()); + Handle(Geom_Surface) surf = BRep_Tool::Surface(face); + Handle(Geom_Plane) plane = Handle(Geom_Plane)::DownCast(surf); + + if (surf->DynamicType() == STANDARD_TYPE(Geom_Plane)) { + GProp_GProps prop_area; + BRepGProp::SurfaceProperties(face, prop_area); + const double area = prop_area.Mass(); + + accumulate(ax, plane->Position().Direction(), area, along_x, along_y, along_z); + } else { + + if (!meshed) { + try { + BRepMesh_IncrementalMesh(s, tol); + } catch (...) { + Logger::Message(Logger::LOG_ERROR, "Failed to triangulate shape"); + return; + } + meshed = true; + } + + TopLoc_Location loc; + Handle(Poly_Triangulation) tri = BRep_Tool::Triangulation(face, loc); + if (!tri.IsNull()) { + std::vector coords; + coords.reserve(tri->NbNodes()); + + for (int i = 1; i <= tri->NbNodes(); ++i) { + coords.push_back(tri->Node(i).Transformed(loc).XYZ()); + } + + const Poly_Array1OfTriangle& triangles = tri->Triangles(); + for (int i = 1; i <= triangles.Length(); ++i) { + int n1, n2, n3; + + if (face.Orientation() == TopAbs_REVERSED) { + triangles(i).Get(n3, n2, n1); + } else { + triangles(i).Get(n1, n2, n3); + } + + const gp_XYZ& pt1 = coords[n1 - 1]; + const gp_XYZ& pt2 = coords[n2 - 1]; + const gp_XYZ& pt3 = coords[n3 - 1]; + const gp_Vec v1 = pt2 - pt1; + const gp_Vec v2 = pt3 - pt2; + const gp_Vec v3 = pt1 - pt3; + const gp_Vec normal_vector = v1 ^ v2; + if (normal_vector.Magnitude() > ALMOST_ZERO) { + gp_Dir normal = gp_Dir(); + + double edge_lengths[3] = { v1.Magnitude(), v2.Magnitude(), v3.Magnitude() }; + std::sort(&edge_lengths[0], &edge_lengths[2]); + + const double& a = edge_lengths[0]; + const double& b = edge_lengths[1]; + const double& c = edge_lengths[2]; + + const double area = 0.25 * sqrt((a + (b + c))*(c - (a - b))*(c + (a - b))*(a + (b - c))); + accumulate(ax, normal, area, along_x, along_y, along_z); + } + } + } + } + } + } +} + +bool IfcGeom::Representation::BRep::calculate_surface_area(double& area) const { + try { + area = 0.; + + for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { + GProp_GProps prop; + BRepGProp::SurfaceProperties(it->Shape(), prop); + area += prop.Mass(); + } + + return true; + } catch (...) { + Logger::Error("Error during calculation of surface area"); + return false; + } +} + +bool IfcGeom::Representation::BRep::calculate_volume(double& volume) const { + try { + volume = 0.; + + for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { + if (Kernel::is_manifold(it->Shape())) { + GProp_GProps prop; + BRepGProp::VolumeProperties(it->Shape(), prop); + volume += prop.Mass(); + } else { + return false; + } + } + + return true; + } catch (...) { + Logger::Error("Error during calculation of volume"); + return false; + } +} + +bool IfcGeom::Representation::BRep::calculate_projected_surface_area(const gp_Ax3 & ax, double & along_x, double & along_y, double & along_z) const { + try { + along_x = along_y = along_z = 0.; + + for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = begin(); it != end(); ++it) { + double x, y, z; + surface_area_along_direction(settings().deflection_tolerance(), it->Shape(), ax, x, y, z); + + if (Kernel::is_manifold(it->Shape())) { + x /= 2.; + y /= 2.; + z /= 2.; + } + + along_x += x; + along_y += y; + along_z += z; + } + + return true; + } catch (...) { + Logger::Error("Error during calculation of projected surface area"); + return false; + } +} + +IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) + : Representation(shape_model.settings()) + , id_(shape_model.id()) + , weld_offset_(0) +{ + for (IfcGeom::IfcRepresentationShapeItems::const_iterator iit = shape_model.begin(); iit != shape_model.end(); ++iit) { + + // Don't weld vertices that belong to different items to prevent non-manifold situations. + weld_offset_ += welds.size(); + welds.clear(); + + int surface_style_id = -1; + if (iit->hasStyle()) { + Material adapter(iit->StylePtr()); + std::vector::const_iterator jt = std::find(_materials.begin(), _materials.end(), adapter); + if (jt == _materials.end()) { + surface_style_id = (int)_materials.size(); + _materials.push_back(adapter); + } else { + surface_style_id = (int)(jt - _materials.begin()); + } + } + + if (settings().get(IteratorSettings::APPLY_DEFAULT_MATERIALS) && surface_style_id == -1) { + Material material(IfcGeom::get_default_style(settings().element_type())); + std::vector::const_iterator mit = std::find(_materials.begin(), _materials.end(), material); + if (mit == _materials.end()) { + surface_style_id = (int)_materials.size(); + _materials.push_back(material); + } else { + surface_style_id = (int)(mit - _materials.begin()); + } + } + + const TopoDS_Shape& s = iit->Shape(); + const gp_GTrsf& trsf = iit->Placement(); + + // Triangulate the shape + try { + BRepMesh_IncrementalMesh(s, settings().deflection_tolerance(), false, settings().angular_tolerance()); + } catch (...) { + Logger::Message(Logger::LOG_ERROR, "Failed to triangulate shape"); + continue; + } + + // Iterates over the faces of the shape + int num_faces = 0; + TopExp_Explorer exp; + for (exp.Init(s, TopAbs_FACE); exp.More(); exp.Next(), ++num_faces) { + TopoDS_Face face = TopoDS::Face(exp.Current()); + TopLoc_Location loc; + Handle_Poly_Triangulation tri = BRep_Tool::Triangulation(face, loc); + + if (tri.IsNull()) { + Logger::Message(Logger::LOG_ERROR, "Triangulation missing for face"); + } else { + // A 3x3 matrix to rotate the vertex normals + const gp_Mat rotation_matrix = trsf.VectorialPart(); + + // Keep track of the number of times an edge is used + // Manifold edges (i.e. edges used twice) are deemed invisible + std::map, int> edgecount; + std::vector > edges_temp; + + std::vector coords; + BRepGProp_Face prop(face); + std::map dict; + + // Vertex normals are only calculated if vertices are not welded and calculation is not disable explicitly. + const bool calculate_normals = !settings().get(IteratorSettings::WELD_VERTICES) && + !settings().get(IteratorSettings::NO_NORMALS); + + for (int i = 1; i <= tri->NbNodes(); ++i) { + coords.push_back(tri->Node(i).Transformed(loc).XYZ()); + trsf.Transforms(*coords.rbegin()); + dict[i] = addVertex(surface_style_id, *coords.rbegin()); + + if (calculate_normals) { + const gp_Pnt2d& uv = tri->UVNode(i); + gp_Pnt p; + gp_Vec normal_direction; + prop.Normal(uv.X(), uv.Y(), p, normal_direction); + gp_Vec normal(0., 0., 0.); + if (normal_direction.Magnitude() > 1.e-9) { + normal = gp_Dir(normal_direction.XYZ() * rotation_matrix); + } else { + Handle_Geom_Surface surf = BRep_Tool::Surface(face); + // Special case the normal at the poles of a spherical surface + if (surf->DynamicType() == STANDARD_TYPE(Geom_SphericalSurface)) { + if (fabs(fabs(uv.Y()) - M_PI / 2.) < 1.e-9) { + const bool is_top = uv.Y() > 0; + const bool is_forward = face.Orientation() == TopAbs_FORWARD; + const double z = (is_top == is_forward) ? 1. : -1.; + normal = gp_Dir(gp_XYZ(0, 0, z) * rotation_matrix); + } + } + // TODO: Do the same for conical surfaces, but they are rare in IFC. + } + _normals.push_back(normal.X()); + _normals.push_back(normal.Y()); + _normals.push_back(normal.Z()); + } + } + + const Poly_Array1OfTriangle& triangles = tri->Triangles(); + for (int i = 1; i <= triangles.Length(); ++i) { + int n1, n2, n3; + if (face.Orientation() == TopAbs_REVERSED) + triangles(i).Get(n3, n2, n1); + else triangles(i).Get(n1, n2, n3); + + /* An alternative would be to calculate normals based + * on the coordinates of the mesh vertices */ + /* + const gp_XYZ pt1 = coords[n1-1]; + const gp_XYZ pt2 = coords[n2-1]; + const gp_XYZ pt3 = coords[n3-1]; + const gp_XYZ v1 = pt2-pt1; + const gp_XYZ v2 = pt3-pt2; + gp_Dir normal = gp_Dir(v1^v2); + _normals.push_back((float)normal.X()); + _normals.push_back((float)normal.Y()); + _normals.push_back((float)normal.Z()); + */ + + _faces.push_back(dict[n1]); + _faces.push_back(dict[n2]); + _faces.push_back(dict[n3]); + + _material_ids.push_back(surface_style_id); + + addEdge(dict[n1], dict[n2], edgecount, edges_temp); + addEdge(dict[n2], dict[n3], edgecount, edges_temp); + addEdge(dict[n3], dict[n1], edgecount, edges_temp); + } + for (std::vector >::const_iterator jt = edges_temp.begin(); jt != edges_temp.end(); ++jt) { + if (edgecount[*jt] == 1) { + // non manifold edge, face boundary + _edges.push_back(jt->first); + _edges.push_back(jt->second); + } + } + } + } + + if (!_normals.empty() && settings().get(IfcGeom::IteratorSettings::GENERATE_UVS)) { + uvs_ = box_project_uvs(_verts, _normals); + } + + if (num_faces == 0) { + // Edges are only emitted if there are no faces. A mixed representation of faces + // and loose edges is discouraged by the standard. An alternative would be to use + // TopExp_Explorer texp(s, TopAbs_EDGE, TopAbs_FACE) to find edges that do not + // belong to any face. + for (TopExp_Explorer texp(s, TopAbs_EDGE); texp.More(); texp.Next()) { + BRepAdaptor_Curve crv(TopoDS::Edge(texp.Current())); + GCPnts_QuasiUniformDeflection tessellater(crv, settings().deflection_tolerance()); + int n = tessellater.NbPoints(); + int previous = -1; + + for (int i = 1; i <= n; ++i) { + gp_XYZ p = tessellater.Value(i).XYZ(); + + int current = addVertex(surface_style_id, p); + + std::vector> segments; + if (i > 1) { + segments.push_back(std::make_pair(previous, current)); + } + + if (settings().get(IfcGeom::IteratorSettings::EDGE_ARROWS)) { + // In case you want direction arrows on your edges + double u = tessellater.Parameter(i); + gp_XYZ p2, p3; + gp_Pnt tmp; + gp_Vec tmp2; + crv.D1(u, tmp, tmp2); + gp_Dir d1, d2, d3, d4; + d1 = tmp2; + if (texp.Current().Orientation() == TopAbs_REVERSED) { + d1 = -d1; + } + if (fabs(d1.Z()) < 0.5) { + d2 = d1.Crossed(gp::DZ()); + } else { + d2 = d1.Crossed(gp::DY()); + } + d3 = d1.XYZ() + d2.XYZ(); + d4 = d1.XYZ() - d2.XYZ(); + p2 = p - d3.XYZ() / 10.; + p3 = p - d4.XYZ() / 10.; + trsf.Transforms(p2); + trsf.Transforms(p3); + trsf.Transforms(p); + + int left = addVertex(surface_style_id, p2); + int right = addVertex(surface_style_id, p3); + + segments.push_back(std::make_pair(left, current)); + segments.push_back(std::make_pair(right, current)); + } + + for (auto& sgmt : segments) { + _edges.push_back(sgmt.first); + _edges.push_back(sgmt.second); + _material_ids.push_back(surface_style_id); + } + + previous = current; + } + } + } + + BRepTools::Clean(s); + } +} + +/// Generates UVs for a single mesh using box projection. +/// @todo Very simple impl. Assumes that input vertices and normals match 1:1. + +inline std::vector IfcGeom::Representation::Triangulation::box_project_uvs(const std::vector& vertices, const std::vector& normals) +{ + std::vector uvs; + uvs.resize(vertices.size() / 3 * 2); + for (size_t uv_idx = 0, v_idx = 0; + uv_idx < uvs.size() && v_idx < vertices.size() && v_idx < normals.size(); + uv_idx += 2, v_idx += 3) { + + double n_x = normals[v_idx], n_y = normals[v_idx + 1], n_z = normals[v_idx + 2]; + double v_x = vertices[v_idx], v_y = vertices[v_idx + 1], v_z = vertices[v_idx + 2]; + + if (std::abs(n_x) > std::abs(n_y) && std::abs(n_x) > std::abs(n_z)) { + uvs[uv_idx] = v_z; + uvs[uv_idx + 1] = v_y; + } + if (std::abs(n_y) > std::abs(n_x) && std::abs(n_y) > std::abs(n_z)) { + uvs[uv_idx] = v_x; + uvs[uv_idx + 1] = v_z; + } + if (std::abs(n_z) > std::abs(n_x) && std::abs(n_z) > std::abs(n_y)) { + uvs[uv_idx] = v_x; + uvs[uv_idx + 1] = v_y; + } + } + + return uvs; +} + +// Welds vertices that belong to different faces + +inline int IfcGeom::Representation::Triangulation::addVertex(int material_index, const gp_XYZ & p) { + const bool convert = settings().get(IteratorSettings::CONVERT_BACK_UNITS); + const double X = convert ? (p.X() / settings().unit_magnitude()) : p.X(); + const double Y = convert ? (p.Y() / settings().unit_magnitude()) : p.Y(); + const double Z = convert ? (p.Z() / settings().unit_magnitude()) : p.Z(); + int i = (int)_verts.size() / 3; + if (settings().get(IteratorSettings::WELD_VERTICES)) { + const VertexKey key = std::make_pair(material_index, std::make_pair(X, std::make_pair(Y, Z))); + typename VertexKeyMap::const_iterator it = welds.find(key); + if (it != welds.end()) return it->second; + i = (int)(welds.size() + weld_offset_); + welds[key] = i; + } + _verts.push_back(X); + _verts.push_back(Y); + _verts.push_back(Z); + return i; +} + +inline void IfcGeom::Representation::Triangulation::addEdge(int n1, int n2, std::map, int>& edgecount, std::vector>& edges_temp) { + const Edge e = Edge((std::min)(n1, n2), (std::max)(n1, n2)); + if (edgecount.find(e) == edgecount.end()) edgecount[e] = 1; + else edgecount[e] ++; + edges_temp.push_back(e); +} diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h new file mode 100644 index 0000000000..4da99272fb --- /dev/null +++ b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h @@ -0,0 +1,187 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef IFCGEOMREPRESENTATION_H +#define IFCGEOMREPRESENTATION_H + +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include "../ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h" +#include "../ifcgeom_schema_agnostic/IfcGeomMaterial.h" +#include "../ifcgeom_schema_agnostic/IfcRepresentationShapeItem.h" + +#include + +#include + +namespace IfcGeom { + + namespace Representation { + + class IFC_GEOM_API Representation { + Representation(const Representation&); //N/A + Representation& operator =(const Representation&); //N/A + protected: + const ElementSettings settings_; + public: + explicit Representation(const ElementSettings& settings) + : settings_(settings) + {} + const ElementSettings& settings() const { return settings_; } + virtual ~Representation() {} + }; + + class IFC_GEOM_API BRep : public Representation { + private: + std::string id_; + const IfcGeom::IfcRepresentationShapeItems shapes_; + BRep(const BRep& other); + BRep& operator=(const BRep& other); + public: + BRep(const ElementSettings& settings, const std::string& id, const IfcGeom::IfcRepresentationShapeItems& shapes) + : Representation(settings) + , id_(id) + , shapes_(shapes) + {} + virtual ~BRep() {} + IfcGeom::IfcRepresentationShapeItems::const_iterator begin() const { return shapes_.begin(); } + IfcGeom::IfcRepresentationShapeItems::const_iterator end() const { return shapes_.end(); } + const IfcGeom::IfcRepresentationShapeItems& shapes() const { return shapes_; } + const std::string& id() const { return id_; } + TopoDS_Compound as_compound(bool force_meters = false) const; + + bool calculate_volume(double&) const; + bool calculate_surface_area(double&) const; + bool calculate_projected_surface_area(const gp_Ax3& ax, double& along_x, double& along_y, double& along_z) const; + }; + + class IFC_GEOM_API Serialization : public Representation { + private: + std::string id_; + std::string brep_data_; + std::vector surface_styles_; + std::vector surface_style_ids_; + public: + const std::string& brep_data() const { return brep_data_; } + const std::vector& surface_styles() const { return surface_styles_; } + const std::vector& surface_style_ids() const { return surface_style_ids_; } + Serialization(const BRep& brep); + virtual ~Serialization() {} + const std::string& id() const { return id_; } + private: + Serialization(); + Serialization(const Serialization&); + Serialization& operator=(const Serialization&); + }; + + class Triangulation : public Representation { + private: + // A nested pair of floats and a material index to be able to store an XYZ coordinate in a map. + // TODO: Make this a std::tuple when compilers add support for that. + typedef typename std::pair > Coordinate; + typedef typename std::pair VertexKey; + typedef std::map VertexKeyMap; + typedef std::pair Edge; + + std::string id_; + std::vector _verts; + std::vector _faces; + std::vector _edges; + std::vector _normals; + std::vector uvs_; + std::vector _material_ids; + std::vector _materials; + size_t weld_offset_; + VertexKeyMap welds; + + // when read from serialization, the element needs to take ownership of the styles, + // the material vector is constructor off of this. + // @todo this can be improved + std::vector> styles_; + + public: + const std::string& id() const { return id_; } + const std::vector& verts() const { return _verts; } + const std::vector& faces() const { return _faces; } + const std::vector& edges() const { return _edges; } + const std::vector& normals() const { return _normals; } + const std::vector& uvs() const { return uvs_; } + const std::vector& material_ids() const { return _material_ids; } + const std::vector& materials() const { return _materials; } + + Triangulation(const BRep& shape_model); + + Triangulation( + ElementSettings settings, + const std::string& id, + const std::vector& verts, + const std::vector& faces, + const std::vector& edges, + const std::vector& normals, + const std::vector& uvs, + const std::vector& material_ids, + const std::vector>& styles) + : Representation(settings) + , id_(id) + , _verts(verts) + , _faces(faces) + , _edges(edges) + , _normals(normals) + , uvs_(uvs) + , _material_ids(material_ids) + , styles_(styles) + { + for (auto& s : styles_) { + _materials.push_back(IfcGeom::Material(s)); + } + } + + virtual ~Triangulation() {} + + /// Generates UVs for a single mesh using box projection. + /// @todo Very simple impl. Assumes that input vertices and normals match 1:1. + static std::vector box_project_uvs(const std::vector &vertices, const std::vector &normals); + + private: + // Welds vertices that belong to different faces + int addVertex(int material_index, const gp_XYZ& p); + inline void addEdge(int n1, int n2, std::map, int>& edgecount, std::vector >& edges_temp); + + Triangulation(); + Triangulation(const Triangulation&); + Triangulation& operator=(const Triangulation&); + }; + + } +} + +#endif diff --git a/src/ifcgeom/IfcGeomShapeType.h b/src/ifcgeom_schema_agnostic/IfcGeomShapeType.h similarity index 100% rename from src/ifcgeom/IfcGeomShapeType.h rename to src/ifcgeom_schema_agnostic/IfcGeomShapeType.h diff --git a/src/ifcgeom/IfcGeomTree.h b/src/ifcgeom_schema_agnostic/IfcGeomTree.h similarity index 99% rename from src/ifcgeom/IfcGeomTree.h rename to src/ifcgeom_schema_agnostic/IfcGeomTree.h index 656ae2c868..4f0fae3335 100644 --- a/src/ifcgeom/IfcGeomTree.h +++ b/src/ifcgeom_schema_agnostic/IfcGeomTree.h @@ -21,7 +21,8 @@ #define IFCGEOMTREE_H #include "../ifcparse/IfcFile.h" -#include "../ifcgeom/IfcGeomElement.h" + +#include "../ifcgeom_schema_agnostic/IfcGeomElement.h" #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" #include "../ifcgeom_schema_agnostic/IfcGeomMaterial.h" #include "../ifcgeom_schema_agnostic/Kernel.h" diff --git a/src/ifcgeom/IfcRepresentationShapeItem.h b/src/ifcgeom_schema_agnostic/IfcRepresentationShapeItem.h similarity index 100% rename from src/ifcgeom/IfcRepresentationShapeItem.h rename to src/ifcgeom_schema_agnostic/IfcRepresentationShapeItem.h diff --git a/src/ifcgeom_schema_agnostic/IteratorImplementation.h b/src/ifcgeom_schema_agnostic/IteratorImplementation.h index 51798f46c1..fc9ca78aeb 100644 --- a/src/ifcgeom_schema_agnostic/IteratorImplementation.h +++ b/src/ifcgeom_schema_agnostic/IteratorImplementation.h @@ -20,10 +20,11 @@ #ifndef ITERATOR_IMPLEMENTATION_H #define ITERATOR_IMPLEMENTATION_H +#include "../ifcparse/IfcFile.h" + #include "../ifcgeom_schema_agnostic/IfcGeomFilter.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" -#include "../ifcparse/IfcFile.h" -#include "../ifcgeom/IfcGeomIteratorSettings.h" +#include "../ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h" #include diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h index 17fec0b1eb..4d961cded0 100644 --- a/src/ifcgeom_schema_agnostic/Kernel.h +++ b/src/ifcgeom_schema_agnostic/Kernel.h @@ -2,8 +2,8 @@ #define ITERATOR_KERNEL_H #include "../ifcparse/IfcFile.h" -#include "../ifcgeom/IfcGeomIteratorSettings.h" -#include "../ifcgeom/IfcRepresentationShapeItem.h" +#include "../ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h" +#include "../ifcgeom_schema_agnostic/IfcRepresentationShapeItem.h" #ifdef HAS_SCHEMA_2x3 #include "../ifcparse/Ifc2x3.h" @@ -40,6 +40,13 @@ #include #include +static const double ALMOST_ZERO = 1.e-9; + +template +inline static bool ALMOST_THE_SAME(const T& a, const T& b, double tolerance = ALMOST_ZERO) { + return fabs(a - b) < tolerance; +} + namespace IfcGeom { class BRepElement; diff --git a/src/ifcgeom/ifc_geom_api.h b/src/ifcgeom_schema_agnostic/ifc_geom_api.h similarity index 100% rename from src/ifcgeom/ifc_geom_api.h rename to src/ifcgeom_schema_agnostic/ifc_geom_api.h From 2bd6d9343c109de94da61adaa8b5228b2f3e544f Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 15 Jun 2022 13:56:47 +0200 Subject: [PATCH 232/243] Fixes for some of the header renames --- src/ifcgeom_schema_agnostic/Serialization.h | 3 ++- src/ifcgeomserver/IfcGeomServer.cpp | 2 +- src/ifcwrap/IfcGeomWrapper.i | 12 ++++++------ src/ifcwrap/IfcPython.i | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/ifcgeom_schema_agnostic/Serialization.h b/src/ifcgeom_schema_agnostic/Serialization.h index be3d79bd3f..5e7d4c82c6 100644 --- a/src/ifcgeom_schema_agnostic/Serialization.h +++ b/src/ifcgeom_schema_agnostic/Serialization.h @@ -1,6 +1,7 @@ -#include "../ifcgeom/ifc_geom_api.h" #include "../ifcparse/IfcBaseClass.h" +#include "../ifcgeom_schema_agnostic/ifc_geom_api.h" + #include #include diff --git a/src/ifcgeomserver/IfcGeomServer.cpp b/src/ifcgeomserver/IfcGeomServer.cpp index 7abc957b02..c30d04b8c8 100644 --- a/src/ifcgeomserver/IfcGeomServer.cpp +++ b/src/ifcgeomserver/IfcGeomServer.cpp @@ -39,7 +39,7 @@ #endif #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" -#include "../ifcgeom/IfcGeomElement.h" +#include "../ifcgeom_schema_agnostic/IfcGeomElement.h" #include "../ifcparse/IfcFile.h" #include "../ifcparse/IfcLogger.h" diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 0889b465d5..ebc76c9350 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -58,14 +58,14 @@ } } -%include "../ifcgeom/ifc_geom_api.h" -%include "../ifcgeom/IfcGeomIteratorSettings.h" -%include "../ifcgeom/IfcGeomElement.h" +%include "../ifcgeom_schema_agnostic/ifc_geom_api.h" +%include "../ifcgeom_schema_agnostic/IfcGeomIteratorSettings.h" +%include "../ifcgeom_schema_agnostic/IfcGeomElement.h" %include "../ifcgeom_schema_agnostic/IfcGeomMaterial.h" -%include "../ifcgeom/IfcGeomRepresentation.h" +%include "../ifcgeom_schema_agnostic/IfcGeomRepresentation.h" %include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" - %include "../ifcgeom_schema_agnostic/GeometrySerializer.h" + %include "../serializers/SvgSerializer.h" %include "../serializers/HdfSerializer.h" %include "../serializers/WavefrontObjSerializer.h" @@ -76,7 +76,7 @@ // A Template instantantation should be defined before it is used as a base class. // But frankly I don't care as most methods are subtlely different anyway. -%include "../ifcgeom/IfcGeomTree.h" +%include "../ifcgeom_schema_agnostic/IfcGeomTree.h" %extend IfcGeom::tree { diff --git a/src/ifcwrap/IfcPython.i b/src/ifcwrap/IfcPython.i index d14f968b61..dd1517c998 100644 --- a/src/ifcwrap/IfcPython.i +++ b/src/ifcwrap/IfcPython.i @@ -80,7 +80,7 @@ %{ #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" #include "../ifcgeom_schema_agnostic/Serialization.h" - #include "../ifcgeom/IfcGeomTree.h" + #include "../ifcgeom_schema_agnostic/IfcGeomTree.h" #include "../serializers/SvgSerializer.h" #include "../serializers/WavefrontObjSerializer.h" @@ -133,7 +133,7 @@ %module ifcopenshell_wrapper %{ #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" #include "../ifcgeom_schema_agnostic/Serialization.h" - #include "../ifcgeom/IfcGeomTree.h" + #include "../ifcgeom_schema_agnostic/IfcGeomTree.h" #include "../serializers/SvgSerializer.h" #include "../serializers/WavefrontObjSerializer.h" From 25f1d21a855172202cc99af93eaf964d0a770546 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 15 Jun 2022 14:23:58 +0200 Subject: [PATCH 233/243] Fixes for some of the header renames --- src/ifcgeom_schema_agnostic/boolean_utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcgeom_schema_agnostic/boolean_utils.cpp b/src/ifcgeom_schema_agnostic/boolean_utils.cpp index 3a22488943..509d7d63a7 100644 --- a/src/ifcgeom_schema_agnostic/boolean_utils.cpp +++ b/src/ifcgeom_schema_agnostic/boolean_utils.cpp @@ -1,6 +1,6 @@ #include "boolean_utils.h" -#include "../ifcgeom/IfcGeomTree.h" +#include "../ifcgeom_schema_agnostic/IfcGeomTree.h" #include #include From c4dc3934fa956883072edd7700bf84937d1898f8 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 15 Jun 2022 14:46:37 +0200 Subject: [PATCH 234/243] Add missing file --- .../IfcGeomIteratorSettings.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.cpp diff --git a/src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.cpp b/src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.cpp new file mode 100644 index 0000000000..9a2df3a578 --- /dev/null +++ b/src/ifcgeom_schema_agnostic/IfcGeomIteratorSettings.cpp @@ -0,0 +1,12 @@ +#include "IfcGeomIteratorSettings.h" + +#include "../ifcparse/IfcLogger.h" + +void IfcGeom::IteratorSettings::set_deflection_tolerance(double value) +{ + deflection_tolerance_ = value; + if (deflection_tolerance_ <= 1e-6) { + Logger::Message(Logger::LOG_WARNING, "Deflection tolerance cannot be set to <= 1e-6; using the default value 1e-3"); + deflection_tolerance_ = 1e-3; + } +} From 7d6ba89496b76f8e0106c182eefdbc5a9d2d9b46 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 15 Jun 2022 15:21:46 +0200 Subject: [PATCH 235/243] Fixes after restructuring --- src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp | 8 +++----- src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h | 4 ++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp index 5e5b64b233..c85c826aab 100644 --- a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp +++ b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.cpp @@ -476,7 +476,7 @@ IfcGeom::Representation::Triangulation::Triangulation(const BRep& shape_model) /// Generates UVs for a single mesh using box projection. /// @todo Very simple impl. Assumes that input vertices and normals match 1:1. -inline std::vector IfcGeom::Representation::Triangulation::box_project_uvs(const std::vector& vertices, const std::vector& normals) +std::vector IfcGeom::Representation::Triangulation::box_project_uvs(const std::vector& vertices, const std::vector& normals) { std::vector uvs; uvs.resize(vertices.size() / 3 * 2); @@ -504,9 +504,7 @@ inline std::vector IfcGeom::Representation::Triangulation::box_project_u return uvs; } -// Welds vertices that belong to different faces - -inline int IfcGeom::Representation::Triangulation::addVertex(int material_index, const gp_XYZ & p) { +int IfcGeom::Representation::Triangulation::addVertex(int material_index, const gp_XYZ & p) { const bool convert = settings().get(IteratorSettings::CONVERT_BACK_UNITS); const double X = convert ? (p.X() / settings().unit_magnitude()) : p.X(); const double Y = convert ? (p.Y() / settings().unit_magnitude()) : p.Y(); @@ -525,7 +523,7 @@ inline int IfcGeom::Representation::Triangulation::addVertex(int material_index, return i; } -inline void IfcGeom::Representation::Triangulation::addEdge(int n1, int n2, std::map, int>& edgecount, std::vector>& edges_temp) { +void IfcGeom::Representation::Triangulation::addEdge(int n1, int n2, std::map, int>& edgecount, std::vector>& edges_temp) { const Edge e = Edge((std::min)(n1, n2), (std::max)(n1, n2)); if (edgecount.find(e) == edgecount.end()) edgecount[e] = 1; else edgecount[e] ++; diff --git a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h index 4da99272fb..ecb71f374c 100644 --- a/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h +++ b/src/ifcgeom_schema_agnostic/IfcGeomRepresentation.h @@ -172,9 +172,9 @@ namespace IfcGeom { static std::vector box_project_uvs(const std::vector &vertices, const std::vector &normals); private: - // Welds vertices that belong to different faces + /// Welds vertices that belong to different faces int addVertex(int material_index, const gp_XYZ& p); - inline void addEdge(int n1, int n2, std::map, int>& edgecount, std::vector >& edges_temp); + void addEdge(int n1, int n2, std::map, int>& edgecount, std::vector >& edges_temp); Triangulation(); Triangulation(const Triangulation&); From 1de6a7e792318022823984e34c7a7dad6a5cfd7a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 19 Jun 2022 17:53:30 +1000 Subject: [PATCH 236/243] Improve geolocation docs with rotation diagram and scale explanation --- src/blenderbim/docs/users/georeferencing.rst | 53 +++++++++++------- src/blenderbim/docs/users/mapconversion.png | Bin 76429 -> 76626 bytes .../docs/users/xaxisabscissaordinate.png | Bin 0 -> 36002 bytes 3 files changed, 33 insertions(+), 20 deletions(-) create mode 100644 src/blenderbim/docs/users/xaxisabscissaordinate.png diff --git a/src/blenderbim/docs/users/georeferencing.rst b/src/blenderbim/docs/users/georeferencing.rst index f35e4697a8..4127fbacfb 100644 --- a/src/blenderbim/docs/users/georeferencing.rst +++ b/src/blenderbim/docs/users/georeferencing.rst @@ -81,29 +81,42 @@ Northings, Orthogonal Height, and **Grid North**. are trained to work in **Map Coordinates**, it is safer to work with local engineering coordinates and consult your surveyor for professional guidance. -**Map Conversions** contain three types of parameters. The **Eastings**, -**Northings** and **Orthogonal Height** parameters define the translation from -the model's XYZ coordinates to map Eastings, Northings, and Heights. The **X -Axis Abcissa** and **X Axis Ordinate** define the rotation vector from **Project -North** to **Grid North**. The **Scale** defines the average combined scale -factor across the small 1km site that converts from the model's surface -distances to map grid distances. Note that the **Scale** is actually not a -constant. However, for the small sites dealt with in vertical construction, it -may be approximated to be a constant by your surveyor and will typically be a -value close to, but not exactly 1. Your model's local engineering origin at 0, -0, 0, will always convert exactly to the **Easting**, **Northing**, and -**Orthogonal Height** displayed in this panel. +**Map Conversions** contain six parameters. + +**Eastings**, **Northings** and **Orthogonal Height** parameters define the +translation from the model's XYZ coordinates to map **Eastings**, **Northings**, +and **Heights**. Your model's local engineering origin at 0, 0, 0, will always +convert exactly to the **Easting**, **Northing**, and **Orthogonal Height** +displayed in this panel. + +The **X Axis Abcissa** and **X Axis Ordinate** define the rotation vector from +**Project North** to **Grid North**. These two numbers combine into a coordinate +vector pointing along the X axis (i.e. **Project East**). The default is an +abscissa of 1 and ordinate of 0. This default (1, 0) vector implies **Project +East** and **Grid East** coalign, which means there is no rotation between +**Project North** and **Grid North**. + +.. image:: xaxisabscissaordinate.png .. tip:: - The rotation from **Project North** to **Grid North** are shown using the **X - Axis Abcissa** and **X Axis Ordinate**. It sounds strange, but these two - numbers combine into a coordinate vector pointing along the X axis (i.e. - East). For example, an abscissa of 1 and an ordinate of 0 gives the vector of - (1, 0), which points directly in the +X direction, due East. This vector - means there is no rotation between **Project North** to **Grid North**. To - save you the mental struggle of converting this vector to degrees, a - calculated rotation is always just below these values. Phew! + To save you the mental struggle of converting to degrees, a calculated + rotation is always just below these values. Phew! + +The distance measured on site, or the "surface distance" is actually not the +same as the distance measured between Eastings and Northings. This difference is +provided by the **Scale** parameter. The **Scale** defines the average combined +scale factor across the small 1km site that converts from the model's surface +distances to map grid distances. Note that the **Scale** is actually not a +constant. However, for the small sites dealt with in vertical construction, it +may be approximated to be a constant by your surveyor and will typically be a +value close to, but not exactly 1. + +.. note:: + + Always check that the surveyor provides a scale factor such that surface + distance multiplied by **Scale** equals map grid distances (as opposed to + the other way around). Working with Map Coordinates ---------------------------- diff --git a/src/blenderbim/docs/users/mapconversion.png b/src/blenderbim/docs/users/mapconversion.png index 7d2aed8c0baed8a3cc7d4957ecc3fda6c15b0cfe..1e3a5259cd6eba641308b4c78bba1389ce552e85 100644 GIT binary patch delta 32940 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 delta 32935 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�O-91l{0bvSIhD82?L&>m((a_)<$(oMhF4RtfPhZ@_F$1um;{3?@4(0ZZ zqtMMhV~p2B%gWb=FJ*+lMsS#ddwccgQW9ucezm!xNYVGx+S_MtzUk=!!*cB_)-P)g zoMxOHtXWT6&IG=r84OW$=z9a7z=;%`ljx`upIH_lRu>1P3h3*{DjIclv6KP=F%=W@CgFJ6?Jsj>XFoj>0k`fQR24 zuEa9>-cbO}lgs_7><)pBl2Q%~7c~sHj>;}z)S`!`5=*&6si3WFnua~m*0pt_0q^Nk znTG+r!Q~`HA95V|io<|MWiicaTm(2bR)o~X*VlZibUT4^kIMuez>H`BdpG@wn?gtX#+5d=Da0+1 z=cA`KQJ!3}a6K94myr&jhs_2{!QpP7QE0h?P+BRE?cREZLvg8HV&OY7D?$}BLH7RPFi}*znEi;c*eVvtzzuU=mcxZn9RJ?*=!La36P#JwI z^L#zH%V*~$No$PBVDbvIqx7Cnx<{v3yDqN2;&H3rN$1^AAOVKezB=#r7F#GeprU>tAdb!e zg4_A8xl1$Y9N!KW@dG@}2nW?{tX`&Jj`x%^$9o_jvT|bf$o&!o*E`LF9zcnDYPu=o z^0Z}}H6+(qcr*Lxyie31{J$=@nW%J$@Fq@)>FM|!(^9Se$HSFo(2 z2IiswP#1RpCvg}r3b^0l2EP1G@6SEk8}p;0o1ZSh;3*6KOZ<|iYSaf3s265M8xQY= z3edx2PST!;wzWi*ba&qh3!~!YQr%x6p{91ZJ5vB;Ius#W&0vG2f%fI1!M!84rb%!533QuP#o&=^67p}*ZxDVq0WF;0jNF3 z++C}kd)vW0mB46rI7sW}t6(`4e6BWsA%W2-AT$?F+;>!3qI?h^^nd7q6@~0QO)6DmKa{zX&n{#U7D#Z% z##J*<#xAPlbUoskfB(*0FJf>EgFr-bBRL)01i_`CXZ``eHgm2#u!F+F!z&-M&4Ac7 z0f5AR_vk;s328OQA^AbpNO7jDfVu@h+^COJc7+r8tS2@@c;<_46Et^_tU~&I(Fpi% zx~Lpp48Yw$Hh#zpuN21I;Ycg1ZUPMs>d>RQ-a~UWvC=5sdk2q znt%XfPsrboaVFw_qw`>p@&%|UmlgoWMA|r2yaD{){y#7gMGYt%tWF>P2HS;p-oyQ0 zJ7UT>(vQ4jkU7M7jcN(C_vnxSAS*g9ph*47@D99IPKFkMMh^r8Aa)Hm^?m!q_IJJk z*IEj^^acjJ6al(EE%ngq($|gV#4iKNt3a(GJi($Xc2}Y>>;`D!td3vwFE6-(AyRZI z5pv+BGiq}nz}Ky1j70SExw>NEy9N5~SK~mNW4>rTgjZ&5)nptCz9JZ9g8C5mKPtr+ zf>EbV2HcdC`f&)o?El5*fp`L5`Yi)v$P7wQxrMI$dAA&HlrV7OtR^+M+*@2rNEIyr z&ZOvJAr3Jypt~|VP=C2)Do8{ST2O2n7{$JbndsXNK6Vu$iTp;7LoS73$6H`@{ z#B~z3@y5hHw8##FgmaLp6vJv@{|i!M%!}UU0GzOaYI0>(XaEj80&AJZo7?1!*?{+u z-Un8JKu?AAvNF`T0Q{ zzDjk=PlkwDb9lC`(_?TreMbgZb7ew&tLwOUtM-LkZ`AzTejaG-h}*>S_SaYD+XohG zT@8w)tqnjk89`@}?BxRV$r%hwfFW^9 zMT!BKGFO;&vN-_dSNSet1m+rS(g*(MujgZ700Neu(fmc8EC(hrFh&R|FnBYuBxoAS Vs#?zHnLh_4@9FC2vd$@?2>{4oSM&e? literal 0 HcmV?d00001 From 4761c585718197ae15f6d10cfe9e76758b67c821 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 21 Jun 2022 17:00:46 +1000 Subject: [PATCH 237/243] IDS now supports failing inverse checks --- src/ifcopenshell-python/ifcopenshell/ids.py | 15 +- src/ifcopenshell-python/test/test_ids.py | 181 +++++++++++--------- 2 files changed, 114 insertions(+), 82 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 3a3312a8bc..ce6137e69f 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -21,6 +21,7 @@ import re import logging import numpy as np import datetime +import builtins import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.placement @@ -643,11 +644,15 @@ class attribute(facet): is_pass = False elif value == tuple(): is_pass = False - elif ( - inst.attribute_type(inst.wrapped_data.get_argument_index(names[i])) == "LOGICAL" - and value == "UNKNOWN" - ): - is_pass = False + else: + argument_index = inst.wrapped_data.get_argument_index(names[i]) + try: + attribute_type = inst.attribute_type(argument_index) + if attribute_type == "LOGICAL" and value == "UNKNOWN": + is_pass = False + except: + if names[i] in inst.wrapped_data.get_inverse_attribute_names(): + is_pass = False if not is_pass: break diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index a8739700e9..85ec8c4219 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -381,19 +381,16 @@ class TestIdsAuthoring(unittest.TestCase): facet = ids.entity.create(name="IFCWALL", predefinedType="X") run("Overridden predefined types should pass", facet=facet, inst=wall, expected=True) - # Restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options=["IFCWALL", "IFCSLAB"], type="enumeration") facet = ids.entity.create(name=restriction) run("Entities can be specified as an enumeration 1/3", facet=facet, inst=ifc.createIfcWall(), expected=True) run("Entities can be specified as an enumeration 2/3", facet=facet, inst=ifc.createIfcSlab(), expected=True) run("Entities can be specified as an enumeration 3/3", facet=facet, inst=ifc.createIfcBeam(), expected=False) - # Another example of how restrictions are allowed when matching the IFC class - # Note: Regex patterns follow the XSD flavour restriction = ids.restriction.create(options="IFC.*TYPE", type="pattern") facet = ids.entity.create(name=restriction) - run("Entities can be specified as a pattern 1/2", facet=facet, inst=ifc.createIfcWall(), expected=False) - run("Entities can be specified as a pattern 2/2", facet=facet, inst=ifc.createIfcWallType(), expected=True) + run("Entities can be specified as a XSD regex pattern 1/2", facet=facet, inst=ifc.createIfcWall(), expected=False) + run("Entities can be specified as a XSD regex pattern 2/2", facet=facet, inst=ifc.createIfcWallType(), expected=True) restriction = ids.restriction.create(options="FOO.*", type="pattern") facet = ids.entity.create(name="IFCWALL", predefinedType=restriction) @@ -462,87 +459,123 @@ class TestIdsAuthoring(unittest.TestCase): element = ifc.createIfcTask(IsMilestone=True, TaskTime=ifc.createIfcTaskTime()) run("Attributes referencing an object should pass", facet=facet, inst=element, expected=True) - # Selects are only considered for truthy or falsey facet = ids.attribute.create(name="DiffuseColour") element = ifc.createIfcSurfaceStyleRendering() rgb = ifc.createIfcColourRgb(None, 1, 1, 1) run("Attributes with a select referencing an object should pass", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcColourRgb(None, 1, 1, 1)), expected=True) run("Attributes with a select referencing a primitive should pass", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)), expected=True) - # When a value is specified, the value shall match case sensitively + facet = ids.attribute.create(name="EngagedIn") + person = ifc.createIfcPerson() + organisation = ifc.createIfcOrganization(Name="Foo") + ifc.createIfcPersonAndOrganization(ThePerson=person, TheOrganization=organisation) + run("Inverse attributes cannot be checked and always fail", facet=facet, inst=person, expected=False) + + facet = ids.attribute.create(name="Dim") + run("Derived attributes cannot be checked and always fail", facet=facet, inst=ifc.createIfcCartesianPoint([0., 0., 0.]), expected=False) + facet = ids.attribute.create(name="Name", value="Foobar") run("Attributes should check strings case sensitively 1/2", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) run("Attributes should check strings case sensitively 2/2", facet=facet, inst=ifc.createIfcWall(Name="foobar"), expected=False) - # Value checks are meaningless for checking objects, selects, and lists so it always fails - facet = ids.attribute.create(name="OwnerHistory", value="Foobar") - assert bool(facet(ifc.createIfcWall(OwnerHistory=ifc.createIfcOwnerHistory()))) is False + facet = ids.attribute.create(name="TaskTime", value="Foobar") + run("Value checks always fail for objects", facet=facet, inst=ifc.createIfcTask(IsMilestone=False, TaskTime=ifc.createIfcTaskTime()), expected=False) - # Selects + rgb = ifc.createIfcColourRgb(None, 1, 1, 1) + facet = ids.attribute.create(name="DiffuseColour", value="Foobar") + run("Value checks always fail for selects", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)), expected=False) - # Lists + facet = ids.attribute.create(name="Coordinates", value="Foobar") + run("Value checks always fail for lists", facet=facet, inst=ifc.createIfcCartesianPoint([0., 0., 0.]), expected=False) # TODO continue from here - # TODO should we be allowed to check inverse attributes? - # Nope - always false + global_id = ifcopenshell.guid.new() + facet = ids.attribute.create(name="GlobalId", value=global_id) + run("GlobalIds are treated as strings and not expanded", facet=facet, inst=ifc.createIfcWall(GlobalId=global_id), expected=True) - # TODO should we be allowed to check derived attributes? - # Nope - always false + # 255 characters + identifier = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345" + facet = ids.attribute.create(name="Identification", value=identifier + "_extra_characters") + run("IDS does not bother with string truncation such as for identifiers", facet=facet, inst=ifc.createIfcPerson(Identification=identifier), expected=False) - # Simple values which must be strings are checked with strict typing. No type casting shall occur. - facet = ids.attribute.create(name="Eastings", value="42") - run("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=0), expected=False) - run("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=False) + facet = ids.attribute.create(name="RefractionIndex", value="42") + run("Numeric values are checked using type casting 1/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42), expected=True) + facet = ids.attribute.create(name="RefractionIndex", value="42.") + run("Numeric values are checked using type casting 2/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.0), expected=True) + facet = ids.attribute.create(name="RefractionIndex", value="42.0") + run("Numeric values are checked using type casting 3/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.0), expected=True) + facet = ids.attribute.create(name="RefractionIndex", value="42") + run("Numeric values are checked using type casting 4/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.3), expected=False) + facet = ids.attribute.create(name="RefractionIndex", value="42,3") + run("Only specifically formatted numbers are allowed 1/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.3), expected=False) + facet = ids.attribute.create(name="RefractionIndex", value="123,4.5") + run("Only specifically formatted numbers are allowed 2/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=False) + facet = ids.attribute.create(name="RefractionIndex", value="1.2345e3") + run("Only specifically formatted numbers are allowed 3/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=True) + facet = ids.attribute.create(name="RefractionIndex", value="1.2345E3") + run("Only specifically formatted numbers are allowed 3/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=True) - # Strict type checking is done with restrictions. This is really ugly, but hopefully hidden to a user. - restriction = ids.restriction.create(options=[42], type="enumeration", base="decimal") - # Here is another uglier option: - # restriction = ids.restriction.create( - # options={"minInclusive": 42, "maxInclusive": 42}, type="bounds", base="decimal" - # ) - facet = ids.attribute.create(name="Eastings", value=restriction) - run("", facet=facet, inst=ifc.createIfcMapConversion(Eastings=42), expected=True) + facet = ids.attribute.create(name="NumberOfRisers", value="42") + run("Integers follow the same rules as numbers", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) + facet = ids.attribute.create(name="NumberOfRisers", value="42.0") + run("Integers follow the same rules as numbers 2/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) + + facet = ids.attribute.create(name="NumberOfRisers", value="42.3") + run("Integers are always floored when cast 1/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) + facet = ids.attribute.create(name="NumberOfRisers", value="42.7") + run("Integers are always floored when cast 2/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) + + facet = ids.attribute.create(name="NumberOfRisers", value="42.7") + run("Integers are always floored when cast 2/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) + + facet = ids.attribute.create(name="IsMilestone", value="TRUE") + element = ifc.createIfcTask(IsMilestone=False) + run("Booleans must be specified as uppercase strings 1/3", facet=facet, inst=element, expected=False) + facet = ids.attribute.create(name="IsMilestone", value="FALSE") + run("Booleans must be specified as uppercase strings 2/3", facet=facet, inst=element, expected=True) + facet = ids.attribute.create(name="IsMilestone", value="False") + run("Booleans must be specified as uppercase strings 2/3", facet=facet, inst=element, expected=False) + + facet = ids.attribute.create(name="EditionDate", value="2022-01-01") + run("Dates are treated as strings 1/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="2022-01-01"), expected=True) + run("Dates are treated as strings 1/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="2022-01-01+00:00"), expected=False) + + facet = ids.attribute.create(name="ScheduleDuration", value="PT16H") + run("Durations are treated as strings 1/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="PT16H"), expected=False) + run("Durations are treated as strings 2/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="P2D"), expected=False) - # Restrictions are allowed for the name restriction = ids.restriction.create(options=".*Name.*", type="pattern") facet = ids.attribute.create(name=restriction) - run("", facet=facet, inst=ifc.createIfcMaterialLayerSet(LayerSetName="Foo"), expected=True) - run("", facet=facet, inst=ifc.createIfcMaterialConstituentSet(Name="Foo"), expected=True) + run("Name restrictions may be used 1/4", facet=facet, inst=ifc.createIfcMaterialLayerSet(MaterialLayers=[ifc.createIfcMaterialLayer(LayerThickness=1)], LayerSetName="Foo"), expected=True) + run("Name restrictions may be used 2/4", facet=facet, inst=ifc.createIfcMaterialConstituentSet(Name="Foo"), expected=True) - # Restrictions for the name imply that multiple names may be matched. All, not any, must pass the checks. restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration") facet = ids.attribute.create(name=restriction) - run("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=False) - run("", facet=facet, inst=ifc.createIfcWall(Name="Foo", Description="Bar"), expected=True) + run("Name restrictions may be used 3/4", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=False) + run("Name restrictions may be used 4/4", facet=facet, inst=ifc.createIfcWall(Name="Foo", Description="Bar"), expected=True) - # Restrictions are allowed for the value restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration") facet = ids.attribute.create(name="Name", value=restriction) - run("", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=True) - run("", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) - run("", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) + run("Value restrictions may be used 1/3", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=True) + run("Value restrictions may be used 2/3", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) + run("Value restrictions may be used 3/3", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) - # The facet checks on attributes on the type, which may be inherited by the occurence - # TODO attribute inheritance is not defined IFC behaviour - facet = ids.attribute.create(name="Description", value="Foobar") - run("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) wall_type.Description = "Foobar" - run("", facet=facet, inst=wall, expected=True) + run("Attributes are not inherited by the occurrence", facet=facet, inst=wall, expected=False) - # The facet checks on attributes on the type, which may be overriden by attributes on the occurence - # TODO attribute overriding is not defined IFC behaviour - facet = ids.attribute.create(name="Description", value="Foobar") - run("", facet=facet, inst=ifc.createIfcWall(Description="Foobar"), expected=True) - wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") - ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - wall_type.Description = "Foobaz" - wall.Description = "Foobar" - run("", facet=facet, inst=wall, expected=True) + restriction = ids.restriction.create(options=["42"], type="enumeration", base="string") + facet = ids.attribute.create(name="RefractionIndex", value=restriction) + run("Typecast checking may also occur within enumeration restrictions", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42), expected=True) + + restriction = ids.restriction.create( + options={"minInclusive": 42, "maxInclusive": 42}, type="bounds", base="decimal" + ) + facet = ids.attribute.create(name="RefractionIndex", value=restriction) + run("Strict numeric checking may be done with a bounds restriction", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42), expected=True) def test_creating_a_classification_facet(self): facet = ids.classification.create() @@ -567,6 +600,8 @@ class TestIdsAuthoring(unittest.TestCase): } def test_filtering_using_a_classification_facet(self): + set_facet("classification") + library = ifcopenshell.file() system = library.createIfcClassification(Name="Foobar") ref1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=system) @@ -596,45 +631,37 @@ class TestIdsAuthoring(unittest.TestCase): is_lightweight=False, ) - # A classification facet with no data matches any present classification facet = ids.classification.create() - run("", facet=facet, inst=element0, expected=False) - run("", facet=facet, inst=element1, expected=True) + run("A classification facet with no data matches any classification 1/2", facet=facet, inst=element0, expected=False) + run("A classification facet with no data matches any classification 2/2", facet=facet, inst=element1, expected=True) - # Values should match exactly if lightweight classifications are used. facet = ids.classification.create(value="1") - run("", facet=facet, inst=element1, expected=True) + run("Values should match exactly if lightweight classifications are used", facet=facet, inst=element1, expected=True) - # Values should match subreferences if full classifications are used. - # E.g. a facet searching for Uniclass EF_25_10 Walls will match Uniclass EF_25_10_25, EF_25_10_30, etc facet = ids.classification.create(value="2") - run("", facet=facet, inst=element22, expected=True) + run("Values match subreferences if full classifications are used (e.g. EF_25_10 should match EF_25_10_25, EF_25_10_30, etc)", facet=facet, inst=element22, expected=True) - # Systems should match exactly regardless of lightweight or full classifications facet = ids.classification.create(system="Foobar") - run("", facet=facet, inst=project, expected=True) - run("", facet=facet, inst=element0, expected=False) - run("", facet=facet, inst=element1, expected=True) - run("", facet=facet, inst=element11, expected=True) - run("", facet=facet, inst=element22, expected=True) + run("Systems should match exactly 1/5", facet=facet, inst=project, expected=True) + run("Systems should match exactly 2/5", facet=facet, inst=element0, expected=False) + run("Systems should match exactly 3/5", facet=facet, inst=element1, expected=True) + run("Systems should match exactly 4/5", facet=facet, inst=element11, expected=True) + run("Systems should match exactly 5/5", facet=facet, inst=element22, expected=True) - # Restrictions can be used for values restriction = ids.restriction.create(options="1.*", type="pattern") facet = ids.classification.create(value=restriction) - run("", facet=facet, inst=element1, expected=True) - run("", facet=facet, inst=element11, expected=True) - run("", facet=facet, inst=element22, expected=False) + run("Restrictions can be used for values 1/3", facet=facet, inst=element1, expected=True) + run("Restrictions can be used for values 2/3", facet=facet, inst=element11, expected=True) + run("Restrictions can be used for values 3/3", facet=facet, inst=element22, expected=False) - # Restrictions can be used for systems restriction = ids.restriction.create(options="Foo.*", type="pattern") facet = ids.classification.create(system=restriction) - run("", facet=facet, inst=element0, expected=False) - run("", facet=facet, inst=element1, expected=True) + run("Restrictions can be used for systems 1/2", facet=facet, inst=element0, expected=False) + run("Restrictions can be used for systems 2/2", facet=facet, inst=element1, expected=True) - # Specifying both a value and a system means that both (as opposed to either) requirements must be met facet = ids.classification.create(system="Foobar", value="1") - run("", facet=facet, inst=element1, expected=True) - run("", facet=facet, inst=element11, expected=False) + run("Both system and value must match (all, not any) if specified 1/2", facet=facet, inst=element1, expected=True) + run("Both system and value must match (all, not any) if specified 2/2", facet=facet, inst=element11, expected=False) # The facet checks on either the type or instance. # IFC doesn't specify how inheritance and overrides work here. Two options: From c4433489b71fa247b01f2cac96904ff9680f0958 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 21 Jun 2022 17:01:12 +1000 Subject: [PATCH 238/243] IDS now supports type casting --- src/ifcopenshell-python/ifcopenshell/ids.py | 36 +++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index ce6137e69f..9d7082541d 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -657,7 +657,22 @@ class attribute(facet): break if is_pass and self.value: - is_pass = all([v == self.value for v in values]) + for value in values: + if isinstance(value, ifcopenshell.entity_instance): + is_pass = False + break + elif isinstance(self.value, str) and isinstance(value, str): + if value != self.value: + is_pass = False + break + elif isinstance(self.value, str): + cast_value = cast_to_value(self.value, value) + if value != cast_value: + is_pass = False + break + elif value != self.value: + is_pass = False + break if self.value: self.message = "foo" @@ -1100,6 +1115,22 @@ class boolean_or(boolean_logic): fold = any +def cast_to_value(from_value, to_value): + try: + target_type = type(to_value).__name__ + if target_type == "int": + # Casting str -> float -> int means that notation like '1e3' is preserved + return int(float(from_value)) + elif target_type == "bool": + if from_value == "TRUE": + return True + elif from_value == "FALSE": + return False + return builtins.__dict__[target_type](from_value) + except ValueError: + pass + + class restriction: """ The value restriction from XSD implemented as a list of values and a containment test @@ -1222,13 +1253,12 @@ class restriction: :rtype: bool """ result = False - # TODO implement data type comparison if self and (other or other == 0): if self.type == "enumeration" and self.base == "bool": self.options = [x.lower() for x in self.options] result = str(other).lower() in self.options elif self.type == "enumeration": - result = other in self.options + result = other in [cast_to_value(o, other) for o in self.options] elif self.type == "bounds": result = True for sign in self.options.keys(): From ff3e2f14e1d443c62eca0a9ad6c0ffa21d8e636a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 21 Jun 2022 19:28:29 +1000 Subject: [PATCH 239/243] Inherited and overridden classification references per system is now supported --- .../ifcopenshell/util/classification.py | 28 +++++++++++++------ .../test/util/test_classification.py | 5 +++- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/classification.py b/src/ifcopenshell-python/ifcopenshell/util/classification.py index 0ad86a3dea..e0f60fd19c 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/classification.py +++ b/src/ifcopenshell-python/ifcopenshell/util/classification.py @@ -24,15 +24,25 @@ def get_references(element, should_inherit=True): if should_inherit: element_type = ifcopenshell.util.element.get_type(element) if element_type and element_type != element: - results.update(get_references(element_type)) - results.update( - { - r.RelatingClassification - for r in getattr(element, "HasAssociations", []) - if r.is_a("IfcRelAssociatesClassification") - } - ) - return results + results = get_references(element_type) + occurrence_results = { + r.RelatingClassification + for r in getattr(element, "HasAssociations", []) + if r.is_a("IfcRelAssociatesClassification") + } + if results: + type_references_per_system = {} + occurrence_references_per_system = {} + for result in results: + type_references_per_system.setdefault(get_classification(result), []).append(result) + for result in occurrence_results: + occurrence_references_per_system.setdefault(get_classification(result), []).append(result) + type_references_per_system.update(occurrence_references_per_system) + results = set() + for values in type_references_per_system.values(): + [results.add(v) for v in values] + return results + return occurrence_results def get_classification(reference): diff --git a/src/ifcopenshell-python/test/util/test_classification.py b/src/ifcopenshell-python/test/util/test_classification.py index 06c13a95e3..7b838544e3 100644 --- a/src/ifcopenshell-python/test/util/test_classification.py +++ b/src/ifcopenshell-python/test/util/test_classification.py @@ -71,7 +71,10 @@ class TestGetReferences(test.bootstrap.IFC4): reference=reference2, classification=classification, ) - assert subject.get_references(element) == set(self.file.by_type("IfcClassificationReference")) + reference1 = [r for r in self.file.by_type("IfcClassificationReference") if r.Identification == "1"][0] + reference2 = [r for r in self.file.by_type("IfcClassificationReference") if r.Identification == "2"][0] + assert subject.get_references(element_type) == set([reference2]) + assert subject.get_references(element) == set([reference1]) def test_getting_direct_classifications(self): library = ifcopenshell.file() From 1706ca5293df04117b8b159fc2f9cbea45134142 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 21 Jun 2022 19:28:53 +1000 Subject: [PATCH 240/243] Fix bug where adding heavy classification references led to duplicate classification systems --- .../api/classification/add_reference.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py b/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py index 29946c4316..0d271ec135 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py +++ b/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py @@ -58,13 +58,30 @@ class Usecase: return migrator = ifcopenshell.util.schema.Migrator() + if self.settings["is_lightweight"]: old_referenced_source = self.settings["reference"].ReferencedSource self.settings["reference"].ReferencedSource = None + else: + existing_classification = [ + c for c in self.file.by_type("IfcClassification") if c.Name == self.settings["classification"].Name + ] + relating_classification = migrator.migrate(self.settings["reference"], self.file) + if self.settings["is_lightweight"]: relating_classification.ReferencedSource = self.settings["classification"] self.settings["reference"].ReferencedSource = old_referenced_source + elif existing_classification: + to_delete = set() + for traversed_reference in self.file.traverse(relating_classification): + if traversed_reference.ReferencedSource.is_a("IfcClassification"): + to_delete.add(traversed_reference.ReferencedSource) + traversed_reference.ReferencedSource = existing_classification[0] + break + for element in to_delete: + self.file.remove(element) + self.file.create_entity( "IfcRelAssociatesClassification", **{ From d23f14f8aa8b25102b4a3fddaa3ebd9f6f27a252 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 21 Jun 2022 22:05:26 +1000 Subject: [PATCH 241/243] Cleaner IFC doc generation showing all contextual entities not only those related to the target instance --- .../test/ids_doc_generator.py | 18 +-- src/ifcopenshell-python/test/test_ids.py | 128 ++++++++++++++---- 2 files changed, 107 insertions(+), 39 deletions(-) diff --git a/src/ifcopenshell-python/test/ids_doc_generator.py b/src/ifcopenshell-python/test/ids_doc_generator.py index d9142fbf09..a703d4d48b 100644 --- a/src/ifcopenshell-python/test/ids_doc_generator.py +++ b/src/ifcopenshell-python/test/ids_doc_generator.py @@ -40,13 +40,8 @@ class DocGenerator: result = "pass" if expected is True else "fail" - # Create an IFC file with the instance in `inst` passed to us - # based on an IFC file template with project and units. - f = template.create() - instances = [f.add(inst)] - for nm in inst.wrapped_data.get_inverse_attribute_names(): - for v in getattr(inst, nm): - instances.append(f.add(v)) + f = inst.wrapped_data.file + instances = list(f) # Validate the file created and loop over the issues, fixing them # one by one. @@ -62,12 +57,9 @@ class DocGenerator: elif "IfcMaterialList" in issue["message"]: issue["instance"].Materials = [f.createIfcMaterial("Concrete", None, "CONCRETE")] else: - raise Exception("About to emit invalid example data") - - ifc_lines = list(map(str, {i: None for i in itertools.chain.from_iterable(map(f.traverse, instances))}.keys())) - ifc_id = ifc_lines[0].split("=")[0] - ifc_text = "\n".join(ifc_lines) + raise Exception("About to emit invalid example data:", issue) + ifc_text = "\n".join([f"{e} /* Testcase */" if e == inst else str(e) for e in f]) basename = f"{result}-" + re.sub("[^0-9a-zA-Z]", "_", name.lower()) # Write IFC to disk @@ -96,7 +88,7 @@ class DocGenerator: ).replace("\t", " ") self.testcases.setdefault(self.facet, []).append( - {"name": name, "ids": xml_text, "ifc": ifc_text, "basename": basename, "result": result, "id": ifc_id} + {"name": name, "ids": xml_text, "ifc": ifc_text, "basename": basename, "result": result, "id": inst.id()} ) assert bool(facet(inst)) is expected diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 85ec8c4219..ccd7e20fac 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -263,18 +263,20 @@ class TestIdsAuthoring(unittest.TestCase): set_facet("entity") ifc = ifcopenshell.file() - facet = ids.entity.create(name="IFCRABBIT") run("Invalid entities always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) + ifc = ifcopenshell.file() facet = ids.entity.create(name="IFCWALL") run("A matching entity should pass", facet=facet, inst=ifc.createIfcWall(), expected=True) + ifc = ifcopenshell.file() run( "An matching entity should pass regardless of predefined type", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True, ) + ifc = ifcopenshell.file() run( "An entity not matching the specified class should fail", facet=facet, @@ -283,6 +285,7 @@ class TestIdsAuthoring(unittest.TestCase): ) # TODO: Some votes to prefer inheritance (For: Moult, Evandro, Artur) # Possible argument: CAD tools don't understand IFC + ifc = ifcopenshell.file() run( "Subclasses are not considered as matching", facet=facet, @@ -292,6 +295,7 @@ class TestIdsAuthoring(unittest.TestCase): # TODO But in that case why are the enumerations for things like partOf using the IFC capitalisation? facet = ids.entity.create(name="IfcWall") + ifc = ifcopenshell.file() run( "Entities must be specified as uppercase strings", facet=facet, @@ -300,18 +304,21 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="SOLIDWALL") + ifc = ifcopenshell.file() run( "A matching predefined type should pass", facet=facet, inst=ifc.createIfcWall(PredefinedType="SOLIDWALL"), expected=True, ) + ifc = ifcopenshell.file() run( "A null predefined type should always fail a specified predefined types", facet=facet, inst=ifc.createIfcWall(), expected=False, ) + ifc = ifcopenshell.file() run( "An entity not matching a specified predefined type will fail", facet=facet, @@ -320,6 +327,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="solidwall") + ifc = ifcopenshell.file() run( "A predefined type from an enumeration must be uppercase", facet=facet, @@ -328,6 +336,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") + ifc = ifcopenshell.file() run( "A predefined type may specify a user-defined object type", facet=facet, @@ -336,6 +345,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="WALDO") + ifc = ifcopenshell.file() run( "User-defined types are checked case sensitively", facet=facet, @@ -344,6 +354,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALLTYPE", predefinedType="WALDO") + ifc = ifcopenshell.file() run( "A predefined type may specify a user-defined element type", facet=facet, @@ -352,6 +363,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCTASKTYPE", predefinedType="TASKY") + ifc = ifcopenshell.file() run( "A predefined type may specify a user-defined process type", facet=facet, @@ -360,6 +372,7 @@ class TestIdsAuthoring(unittest.TestCase): ) facet = ids.entity.create(name="IFCWALL", predefinedType="USERDEFINED") + ifc = ifcopenshell.file() run( "A predefined type must always specify a meaningful type, not USERDEFINED itself", facet=facet, @@ -367,12 +380,14 @@ class TestIdsAuthoring(unittest.TestCase): expected=False, ) + ifc = ifcopenshell.file() wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="X") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IFCWALL", predefinedType="X") run("Inherited predefined types should pass", facet=facet, inst=wall, expected=True) + ifc = ifcopenshell.file() wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="X") wall_type = ifcopenshell.api.run( "root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="NOTDEFINED" @@ -383,22 +398,30 @@ class TestIdsAuthoring(unittest.TestCase): restriction = ids.restriction.create(options=["IFCWALL", "IFCSLAB"], type="enumeration") facet = ids.entity.create(name=restriction) + ifc = ifcopenshell.file() run("Entities can be specified as an enumeration 1/3", facet=facet, inst=ifc.createIfcWall(), expected=True) + ifc = ifcopenshell.file() run("Entities can be specified as an enumeration 2/3", facet=facet, inst=ifc.createIfcSlab(), expected=True) + ifc = ifcopenshell.file() run("Entities can be specified as an enumeration 3/3", facet=facet, inst=ifc.createIfcBeam(), expected=False) restriction = ids.restriction.create(options="IFC.*TYPE", type="pattern") facet = ids.entity.create(name=restriction) + ifc = ifcopenshell.file() run("Entities can be specified as a XSD regex pattern 1/2", facet=facet, inst=ifc.createIfcWall(), expected=False) + ifc = ifcopenshell.file() run("Entities can be specified as a XSD regex pattern 2/2", facet=facet, inst=ifc.createIfcWallType(), expected=True) restriction = ids.restriction.create(options="FOO.*", type="pattern") facet = ids.entity.create(name="IFCWALL", predefinedType=restriction) + ifc = ifcopenshell.file() wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") - wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") - wall3 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="BAZFOO") run("Restrictions an be specified for the predefined type 1/3", facet=facet, inst=wall, expected=True) + ifc = ifcopenshell.file() + wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") run("Restrictions an be specified for the predefined type 2/3", facet=facet, inst=wall2, expected=True) + ifc = ifcopenshell.file() + wall3 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="BAZFOO") run("Restrictions an be specified for the predefined type 3/3", facet=facet, inst=wall3, expected=False) def test_creating_an_attribute_facet(self): @@ -421,28 +444,34 @@ class TestIdsAuthoring(unittest.TestCase): set_facet("attribute") ifc = ifcopenshell.file() - facet = ids.attribute.create(name="Foobar") run("Invalid attribute names always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) + ifc = ifcopenshell.file() facet = ids.attribute.create(name="Name") run("Attributes with a string value should pass", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + ifc = ifcopenshell.file() run("Attributes with null values always fail", facet=facet, inst=ifc.createIfcWall(), expected=False) # The logic is that unfortunately most BIM users cannot differentiate between the two. + ifc = ifcopenshell.file() run("Attributes with empty strings always fail", facet=facet, inst=ifc.createIfcWall(Name=""), expected=False) facet = ids.attribute.create(name="CountValue") + ifc = ifcopenshell.file() run("Attributes with a zero number have meaning and should pass", facet=facet, inst=ifc.createIfcQuantityCount(Name="Foobar", CountValue=0), expected=True) facet = ids.attribute.create(name="IsCritical") + ifc = ifcopenshell.file() element = ifc.createIfcTaskTime(IsCritical=True) run("Attributes with a boolean true should pass", facet=facet, inst=element, expected=True) element.IsCritical = False run("Attributes with a boolean false should pass", facet=facet, inst=element, expected=True) facet = ids.attribute.create(name="RelatingPriorities") + ifc = ifcopenshell.file() run("Attributes with an empty list always fail", facet=facet, inst=ifc.createIfcRelConnectsPathElements(RelatingElement=ifc.createIfcWall(), RelatedElement=ifc.createIfcWall(), RelatingPriorities=[], RelatedPriorities=[], RelatedConnectionType="ATSTART", RelatingConnectionType="ATEND"), expected=False) facet = ids.attribute.create(name="LayerStyles") + ifc = ifcopenshell.file() item = ifc.createIfcCartesianPoint([0., 0., 0.]) layer = ifc.createIfcPresentationLayerWithStyle("Foo", None, [item], None, True, False, False, []) run("Attributes with an empty set always fail", facet=facet, inst=layer, expected=False) @@ -452,84 +481,112 @@ class TestIdsAuthoring(unittest.TestCase): run("Attributes with a logical unknown always fail", facet=facet, inst=layer, expected=False) facet = ids.attribute.create(name="ScheduleDuration") + ifc = ifcopenshell.file() element = ifc.createIfcTaskTime(ScheduleDuration="P0D") run("Attributes with a zero duration should pass", facet=facet, inst=element, expected=True) facet = ids.attribute.create(name="TaskTime") + ifc = ifcopenshell.file() element = ifc.createIfcTask(IsMilestone=True, TaskTime=ifc.createIfcTaskTime()) run("Attributes referencing an object should pass", facet=facet, inst=element, expected=True) facet = ids.attribute.create(name="DiffuseColour") - element = ifc.createIfcSurfaceStyleRendering() + ifc = ifcopenshell.file() rgb = ifc.createIfcColourRgb(None, 1, 1, 1) run("Attributes with a select referencing an object should pass", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcColourRgb(None, 1, 1, 1)), expected=True) + + ifc = ifcopenshell.file() + rgb = ifc.createIfcColourRgb(None, 1, 1, 1) run("Attributes with a select referencing a primitive should pass", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)), expected=True) + ifc = ifcopenshell.file() facet = ids.attribute.create(name="EngagedIn") person = ifc.createIfcPerson() organisation = ifc.createIfcOrganization(Name="Foo") ifc.createIfcPersonAndOrganization(ThePerson=person, TheOrganization=organisation) run("Inverse attributes cannot be checked and always fail", facet=facet, inst=person, expected=False) + ifc = ifcopenshell.file() facet = ids.attribute.create(name="Dim") run("Derived attributes cannot be checked and always fail", facet=facet, inst=ifc.createIfcCartesianPoint([0., 0., 0.]), expected=False) facet = ids.attribute.create(name="Name", value="Foobar") + ifc = ifcopenshell.file() run("Attributes should check strings case sensitively 1/2", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=True) + ifc = ifcopenshell.file() run("Attributes should check strings case sensitively 2/2", facet=facet, inst=ifc.createIfcWall(Name="foobar"), expected=False) facet = ids.attribute.create(name="TaskTime", value="Foobar") + ifc = ifcopenshell.file() run("Value checks always fail for objects", facet=facet, inst=ifc.createIfcTask(IsMilestone=False, TaskTime=ifc.createIfcTaskTime()), expected=False) - rgb = ifc.createIfcColourRgb(None, 1, 1, 1) facet = ids.attribute.create(name="DiffuseColour", value="Foobar") + ifc = ifcopenshell.file() + rgb = ifc.createIfcColourRgb(None, 1, 1, 1) run("Value checks always fail for selects", facet=facet, inst=ifc.createIfcSurfaceStyleRendering(SurfaceColour=rgb, ReflectanceMethod="FLAT", DiffuseColour=ifc.createIfcNormalisedRatioMeasure(0.5)), expected=False) facet = ids.attribute.create(name="Coordinates", value="Foobar") + ifc = ifcopenshell.file() run("Value checks always fail for lists", facet=facet, inst=ifc.createIfcCartesianPoint([0., 0., 0.]), expected=False) # TODO continue from here global_id = ifcopenshell.guid.new() facet = ids.attribute.create(name="GlobalId", value=global_id) + ifc = ifcopenshell.file() run("GlobalIds are treated as strings and not expanded", facet=facet, inst=ifc.createIfcWall(GlobalId=global_id), expected=True) # 255 characters identifier = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345" facet = ids.attribute.create(name="Identification", value=identifier + "_extra_characters") - run("IDS does not bother with string truncation such as for identifiers", facet=facet, inst=ifc.createIfcPerson(Identification=identifier), expected=False) + ifc = ifcopenshell.file() + run("IDS does not handle string truncation such as for identifiers", facet=facet, inst=ifc.createIfcPerson(Identification=identifier), expected=False) facet = ids.attribute.create(name="RefractionIndex", value="42") + ifc = ifcopenshell.file() run("Numeric values are checked using type casting 1/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42), expected=True) facet = ids.attribute.create(name="RefractionIndex", value="42.") + ifc = ifcopenshell.file() run("Numeric values are checked using type casting 2/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.0), expected=True) facet = ids.attribute.create(name="RefractionIndex", value="42.0") + ifc = ifcopenshell.file() run("Numeric values are checked using type casting 3/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.0), expected=True) facet = ids.attribute.create(name="RefractionIndex", value="42") + ifc = ifcopenshell.file() run("Numeric values are checked using type casting 4/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.3), expected=False) facet = ids.attribute.create(name="RefractionIndex", value="42,3") + ifc = ifcopenshell.file() run("Only specifically formatted numbers are allowed 1/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42.3), expected=False) facet = ids.attribute.create(name="RefractionIndex", value="123,4.5") + ifc = ifcopenshell.file() run("Only specifically formatted numbers are allowed 2/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=False) facet = ids.attribute.create(name="RefractionIndex", value="1.2345e3") + ifc = ifcopenshell.file() run("Only specifically formatted numbers are allowed 3/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=True) facet = ids.attribute.create(name="RefractionIndex", value="1.2345E3") - run("Only specifically formatted numbers are allowed 3/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=True) + ifc = ifcopenshell.file() + run("Only specifically formatted numbers are allowed 4/4", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=1234.5), expected=True) facet = ids.attribute.create(name="NumberOfRisers", value="42") + ifc = ifcopenshell.file() run("Integers follow the same rules as numbers", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) facet = ids.attribute.create(name="NumberOfRisers", value="42.0") + ifc = ifcopenshell.file() run("Integers follow the same rules as numbers 2/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) facet = ids.attribute.create(name="NumberOfRisers", value="42.3") + ifc = ifcopenshell.file() run("Integers are always floored when cast 1/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) facet = ids.attribute.create(name="NumberOfRisers", value="42.7") + ifc = ifcopenshell.file() run("Integers are always floored when cast 2/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) facet = ids.attribute.create(name="NumberOfRisers", value="42.7") + ifc = ifcopenshell.file() run("Integers are always floored when cast 2/2", facet=facet, inst=ifc.createIfcStairFlight(NumberOfRisers=42), expected=True) facet = ids.attribute.create(name="IsMilestone", value="TRUE") + ifc = ifcopenshell.file() element = ifc.createIfcTask(IsMilestone=False) run("Booleans must be specified as uppercase strings 1/3", facet=facet, inst=element, expected=False) facet = ids.attribute.create(name="IsMilestone", value="FALSE") @@ -538,29 +595,41 @@ class TestIdsAuthoring(unittest.TestCase): run("Booleans must be specified as uppercase strings 2/3", facet=facet, inst=element, expected=False) facet = ids.attribute.create(name="EditionDate", value="2022-01-01") + ifc = ifcopenshell.file() run("Dates are treated as strings 1/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="2022-01-01"), expected=True) + ifc = ifcopenshell.file() run("Dates are treated as strings 1/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="2022-01-01+00:00"), expected=False) facet = ids.attribute.create(name="ScheduleDuration", value="PT16H") + ifc = ifcopenshell.file() run("Durations are treated as strings 1/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="PT16H"), expected=False) + ifc = ifcopenshell.file() run("Durations are treated as strings 2/2", facet=facet, inst=ifc.createIfcClassification(Name="Name", EditionDate="P2D"), expected=False) restriction = ids.restriction.create(options=".*Name.*", type="pattern") facet = ids.attribute.create(name=restriction) + ifc = ifcopenshell.file() run("Name restrictions may be used 1/4", facet=facet, inst=ifc.createIfcMaterialLayerSet(MaterialLayers=[ifc.createIfcMaterialLayer(LayerThickness=1)], LayerSetName="Foo"), expected=True) + ifc = ifcopenshell.file() run("Name restrictions may be used 2/4", facet=facet, inst=ifc.createIfcMaterialConstituentSet(Name="Foo"), expected=True) restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration") facet = ids.attribute.create(name=restriction) + ifc = ifcopenshell.file() run("Name restrictions may be used 3/4", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=False) + ifc = ifcopenshell.file() run("Name restrictions may be used 4/4", facet=facet, inst=ifc.createIfcWall(Name="Foo", Description="Bar"), expected=True) restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration") facet = ids.attribute.create(name="Name", value=restriction) + ifc = ifcopenshell.file() run("Value restrictions may be used 1/3", facet=facet, inst=ifc.createIfcWall(Name="Foo"), expected=True) + ifc = ifcopenshell.file() run("Value restrictions may be used 2/3", facet=facet, inst=ifc.createIfcWall(Name="Bar"), expected=True) + ifc = ifcopenshell.file() run("Value restrictions may be used 3/3", facet=facet, inst=ifc.createIfcWall(Name="Foobar"), expected=False) + ifc = ifcopenshell.file() wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) @@ -569,12 +638,14 @@ class TestIdsAuthoring(unittest.TestCase): restriction = ids.restriction.create(options=["42"], type="enumeration", base="string") facet = ids.attribute.create(name="RefractionIndex", value=restriction) + ifc = ifcopenshell.file() run("Typecast checking may also occur within enumeration restrictions", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42), expected=True) restriction = ids.restriction.create( options={"minInclusive": 42, "maxInclusive": 42}, type="bounds", base="decimal" ) facet = ids.attribute.create(name="RefractionIndex", value=restriction) + ifc = ifcopenshell.file() run("Strict numeric checking may be done with a bounds restriction", facet=facet, inst=ifc.createIfcSurfaceStyleRefraction(RefractionIndex=42), expected=True) def test_creating_a_classification_facet(self): @@ -603,23 +674,25 @@ class TestIdsAuthoring(unittest.TestCase): set_facet("classification") library = ifcopenshell.file() - system = library.createIfcClassification(Name="Foobar") - ref1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=system) + system_a = library.createIfcClassification(Name="Foobar") + ref1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=system_a) ref11 = library.createIfcClassificationReference(Identification="11", ReferencedSource=ref1) - ref2 = library.createIfcClassificationReference(Identification="2", ReferencedSource=system) + ref2 = library.createIfcClassificationReference(Identification="2", ReferencedSource=system_a) ref22 = library.createIfcClassificationReference(Identification="22", ReferencedSource=ref2) + system_b = library.createIfcClassification(Name="Foobaz") + refx = library.createIfcClassificationReference(Identification="X", ReferencedSource=system_b) ifc = ifcopenshell.file() project = ifc.createIfcProject() - ifcopenshell.api.run("classification.add_classification", ifc, classification=system) + system_a = ifcopenshell.api.run("classification.add_classification", ifc, classification=system_a) element0 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") element1 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") ifcopenshell.api.run( - "classification.add_reference", ifc, product=element1, reference=ref1, classification=system + "classification.add_reference", ifc, product=element1, reference=ref1, classification=system_a ) element11 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") ifcopenshell.api.run( - "classification.add_reference", ifc, product=element11, reference=ref11, classification=system + "classification.add_reference", ifc, product=element11, reference=ref11, classification=system_a ) element22 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") ifcopenshell.api.run( @@ -627,7 +700,7 @@ class TestIdsAuthoring(unittest.TestCase): ifc, product=element22, reference=ref22, - classification=system, + classification=system_a, is_lightweight=False, ) @@ -663,24 +736,27 @@ class TestIdsAuthoring(unittest.TestCase): run("Both system and value must match (all, not any) if specified 1/2", facet=facet, inst=element1, expected=True) run("Both system and value must match (all, not any) if specified 2/2", facet=facet, inst=element11, expected=False) - # The facet checks on either the type or instance. - # IFC doesn't specify how inheritance and overrides work here. Two options: - # Option 1) Occurrences replace inherited type references - # Option 2) Occurrences union with inherited type references - # Option 2 is followed here. + # IFC doesn't yet formally specify how inheritance and overrides work here. We follow these rules: + # https://github.com/buildingSMART/IFC4.3.x-development/issues/475 wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref11, classification=system) + ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref11, classification=system_a) ifcopenshell.api.run( - "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system + "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system_a ) + + system_b = ifcopenshell.api.run("classification.add_classification", ifc, classification=system_b) + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall_type, reference=refx, classification=system_b + ) + facet = ids.classification.create(value="11") - run("", facet=facet, inst=wall, expected=True) - run("", facet=facet, inst=wall_type, expected=False) + run("Occurrences override the type classification per system 1/3", facet=facet, inst=wall, expected=True) facet = ids.classification.create(value="22") - run("", facet=facet, inst=wall, expected=True) - run("", facet=facet, inst=wall_type, expected=True) + run("Occurrences override the type classification per system 2/3", facet=facet, inst=wall, expected=False) + facet = ids.classification.create(value="X") + run("Occurrences override the type classification per system 3/3", facet=facet, inst=wall, expected=True) def test_creating_a_property_facet(self): facet = ids.property.create() From 5a636a925b276dbfc227cfaf4712b0178630737b Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 21 Jun 2022 14:15:37 +0200 Subject: [PATCH 242/243] #2244 file.add() Don't fail on project without unit info --- src/ifcparse/IfcParse.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index 7366ff75a2..3dae4f7cd6 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -1858,8 +1858,12 @@ IfcUtil::IfcBaseClass* IfcFile::addEntity(IfcUtil::IfcBaseClass* entity, int id) we->setArgument(i, copy); } else if (decl && decl->is(*schema()->declaration_by_name("IfcLengthMeasure"))) { if (boost::math::isnan(conversion_factor)) { - const std::pair this_file_unit = getUnit("LENGTHUNIT"); - const std::pair other_file_unit = other_file->getUnit("LENGTHUNIT"); + std::pair this_file_unit = { nullptr, 1.0 }; + std::pair other_file_unit = { nullptr, 1.0 }; + try { + this_file_unit = getUnit("LENGTHUNIT"); + other_file_unit = other_file->getUnit("LENGTHUNIT"); + } catch (IfcParse::IfcException&) {} if (this_file_unit.first && other_file_unit.first) { conversion_factor = other_file_unit.second / this_file_unit.second; } else { From e44e03f02e1cf948ad452866da44ba9757d5703b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Jun 2022 05:06:15 +0000 Subject: [PATCH 243/243] Bump numpy in /src/ifcopenshell-python/ifcopenshell Bumps [numpy](https://github.com/numpy/numpy) from 1.21.0 to 1.22.0. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst) - [Commits](https://github.com/numpy/numpy/compare/v1.21.0...v1.22.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- src/ifcopenshell-python/ifcopenshell/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/requirements.txt b/src/ifcopenshell-python/ifcopenshell/requirements.txt index d0a2328f34..29dd91befd 100644 --- a/src/ifcopenshell-python/ifcopenshell/requirements.txt +++ b/src/ifcopenshell-python/ifcopenshell/requirements.txt @@ -1,4 +1,4 @@ lxml==4.6.5 -numpy==1.21.0 +numpy==1.22.0 regex==2021.4.4 xmlschema==1.6.4 \ No newline at end of file

    nb9GX2$fXn(y{;^4(NOhqSZOfrn)!WQv%w-J`i^D z@d+}7T|n3Rs^?vY9QBzqRQ!ojZ&3WD@~o@x5yXh%N3U~#J3goL zcD9JQ;L-5Uf)T-@^yS7ysbAL;Zj51QlCy_Cv=&>dlO2b>>QwpO&@a!Kk`6yx87*U` z{R+!D+DkSW2c^XJ51wF=ARXh&2STze`d#7D8+17d_5)#vS_k2Jn6v~3!P=jy8~IeC zi3#KO8N>5ariEp2NPNZW+qR#>r(vKuXfAnvm);b4G}ykaLYoi|(5mY3a2OIKHeLL% z)?F7UxnKK2UV`-0(Nymf_lSMk&2@6?Yfeuz!;Fceg@Lu|9`byhIU_}HJ7fex--tP1 zyFkY<7`Im)vcHtuda?)&wZ?q-${hqvxiRedcyxw)q<*ZGnl}k!nhIPB7(Lu+nFaC{ z6lgzIp(VdP7i_I4U6VuI;i;r9638!1Tm$mnXHhK)_VjdIMo+BaPS2XN zV|Qluuiy0F1ZNt=395_Rh_paA?tK+Pipdy5%k(WA?y|$3iS|G}@@IazDfHO87>$qG zNdN22L$$NHxEu{}Yl)CbqYkkkdZQmxuDnnefrTnj_Xsv6qwZXxzzeH&^RCt>gv<(< z?*sM)Sx&v1+B&I>?6>g~=8VWrB^AsVC7Hb)%fGKVeUN*SzELXLO?uCv>&Q*% z_?1oUkbi;gb`>p2_==3>UX|m>MTMQmTR%?W#X&h=JFRc>z94=~zW4_%u9ZgWI9ogN z$bK_p{?LJ=s9Qn%T|~q#XIpvotKsCir#C8uO5vO5Nj{iPo??IQJkhNp>4sK@LZj`) z*|elBJ{~?jBvLcSL}4bj+Z27#k3=7vM6H~&!WnN!qn0;h{(ibqk5?LXhN+_7AG$vF z^!AUi)$Kg`n#~9kY>s&AOHPA20(Nuuv!GXRZol70HS9xf2GJo4j-#ZLqes1e^xT9h zI4+X0$k)F4q~RwGW2%{@fF&nH%v_mnK&18IixEPVPDO8~=*(}dEa*4c!< zQX9{fKc@yG9#rmnP1Z;ZwpE_6!Cu-fy2{8Zws{{yX_u-e>rpuh3Q@+0Yfs+YRIFiU z^DN#)?vxSw)DdQxu5|HsB`?2kGxiJ?X0d@o!%fV#Z;_Hb*nsa3aG@X7ySychM1}gP z^6fRrQNl|(!6dYXqrJl4?!zjb zjJ9jM(}^fX6J;%^Z0)g$QXjJRiHet-Ee56;RSaStb;iDL={UcM%HC9kN}?vzup5*{ zwmE!1@FSrv1nOc@p&oiWN3$`OT^(kR#zE40oSFQq+Ly`3vKHp@bYJF|@Y9&i4SU7C zMC>|QsvT~wi?WuVo7Et2FYDcdf}K?bjb4PXem1ghiu*l;E}g@~yxTzd8ig2f1tEqR zmu%S0iT-%;X8m0-fosek^snK+dr6=+LLeX@!)>Lc)D@(p{&_$Qj)n6BQ$*y4#ED0Y z=W%5i(Y!ER$JIv$LaU?8bV?9jNY;O<37e=e{!~t(;OdHFh>Z4zS%<_h-_z6O1sWS44EEUMX=ZcP zRLu(#<6DG_Yu1@}kF!q#ev92B!NKyvQz-Mao8*O?t*A2(!x}oNFTc8foRPe69Dbdqlr>LGQTmF(ReAw`JNh zS4!RtQz@BTQUcXd+k{HBRy8()`;;!=F|5IuGE1_76JG#VJpyj^I_%HDxl{e%UU(Lc z0>lp9*e`szF0T-)FRr~wBvrmpFhwCuJ*SPl!8vN5j~!XOV6GgY@s=G`R-swFgG1<~ zcrA62KI0(4Za>BMGQeMLL5bKKIoAi~i$V|_F?vE16GKtSOd8$#dV5XWoct8@8@Qz<)^A`?q_cPUd7pt?IH5-S3fB+jiCmSax3mC!T?(5`X>cisXPW3#+ zKjx6ObT@aib@8xub|QbC)6~q_(?f)k5`0en&-FRFsHpsFdMEe4qX6Q;=40x@#=*+Y z=IF@w?{~O+$asNC{$9}k^$vG!@Vy5%O-pxYPd9T*881sG52}Bk!ovJt_q%wyIsElH z7Upc04wjB!s5^Kn$A3IhPC-TeUw1r*z}nW)<*&Oyu>WJEhppBB1nWQ6_Wa3Tuk-H< z0k{8a-v1c=&v*Z8Fc_txA}H-_?)kht1!)n==jRJrIGfvA2>$gew-vt?7pJKJizy$U zDGN6j7dwlo86P_fmw<%;zlFJgnK=*pzfGm!eMwf~+)k`1e&kPh|n7;x#OAsfQJ~L4;D-*2&Z7e}-z?I$COZm_A37gO`Vsou8M3kC$73 zn}d`0e+KDTy19c)e4dkoot5h!^FD8jAb1%NSkvb`1rz*r2Y44jDK|?~4`(-RXJ-cy z%I5`;Ki~ORdXo$PV^id9-N6Xo=Zyb5=d~Vk-+w36Kd;;V-!_YbpNET&i;u;W-<$*Nw>gL~pCvyFyD2{h zrv<;ICBKE$f6ngiY~|r?>Sifn4c-*I4M?EB-iDn1uTV1l=V)&m%jY<;gW6{2VPO~0 z=HM6P77*m(W#V8LWM`*j`}>92o~!zwZ!FCA|A~q4UjzOP2Ecv)xCY<_pcUJ{;Og&~ zJ%{oC;h(?v;{V|jz|{YJ$p0$7{|(oF!}Y(4!2fFSf3xeq;rd@i;D0svzuEQwTey(^ zNAOrW0T$#9iu;LMcdq#;%zwjn68S*+fID~K-g`tA@A$k@;SK|FU>&u2IC15LdKO6vrrsPfeCZqM)GYxn=s$C+0HtVUM+w z8c*IsY&H$v$=mw2zD`AHG`Kpx$2X|Ia&qBV+tv{^#AoEb2J0{{H^s7Mz6y!moH@V`G(nkY*@G#Ks~u zF;7jQq8m9W)AMyhPX9fL&(Ub(hYv!GjEu>7c@M*V&d$zBU_lqCmtajP)u?7< zWORoPgvoIYPEVu!`t{3G^qtj5!pGka=ltGh`7@rerR)wX?8-%=BtT2*HJia|YH9ga z{;=V!R4s^|DG)mD$to&Jx;|d!d)Occ&&P@(WZ|pTsULhdD{64={p06P4zClv-Z|gL z<8PyTa80$fOw%7fa@a31>*?$7d@l;x_lHC$?Y?|yRG)#okYz_F{Rk6VdW7;aZNdTp z0U@}kh^)c5FR`VC(@m{J-Q;Ye6M{5qKk&x{ozLwT@4r^!;ON*K_~11>I(lT--rPJ; zRrDqn78%#%V=j-Hqf@n-6GZ>S1Y#U6%U}W#-%&tArFjf|Qc&%N%@8%kr@qG@$Y`X( z2$`0bO9sxSHz%vb^femiX8O3ZBDci%x94iV{cg`t6J*1{l>MJSW1$S0>>rd>1pWE#;_5p0@YrfQzkPOw7HNu5zX7wU_hvz6{^zV1dQebM^oUv7azX7>8q`$F z#m!A*dwcr~#8zKW5I;YEvb~Ou&cR}BmTHjAp=WI)%L}B48Bb$lV;>)%1^pX^iQwjB z#fm>`kWX7SD?hjAUN!k#nng=f%2#N{6Y?m2FI2BS9^$*+43*v^1@H|I@WL zsj)aC;ocDB0u`d_LOQz}0R`qOAt26MQquYM9aw2WL3?w74#>t3~(|5gO(A3;a(T9wLq^_wc`R07BtyX{Z zJt`5e$zV95i9RkbFK;%Fz0Ny=b>Tv^(RhL|2CYhy$#e$U*;=FssGs{ExsLS7$jHJJ z`*Ly!1iemdTDtg!grvwny*&57If>CV@`Z&U&zdqdHxG-!rsK_neB5xKHT^mqBiIEw z)soHUOuDhL0ieLX^|wwDDUbh+gO9K8r5^$tAF5=SWU(>W$}%B66BF{@`y;05JibPW zf_zhah$P(%DoV=!7Up03ZT8FRuV1San(E^+Pf3zv^ndw6vbniQPfsr{Ee+#a`8Kp7 z2{%L>0{o3F#lXi$0C2U@?W1yFLBpekYrch%(OBv7WU|SHQ<*QOMa#UVN=?W9la-sc$~qY`|W;Ip0Eu@I0!Mk&(GOc{d9{ z6d-%C`Bw1#voH2;B%xtp&CXk*J+}Zxk(ij6@&!GSe0_cK`J9Lq zm6Y;6LWsV3`4;d4pp=H{mU^5skGB5yahP(5bZSFZ>m z$m!`37#JA9rU!#O?C$AtJziodgfdTPWJ2pHVW}`2Nj4%PNu&_|Qc5!@s zoP5^nWCarx;`r=rqpnkt?>>RHuI}zyoBbc(vJX5{Dq%XoRRHIGf9|JrKqt|5Pd;W`8=Gq?;IRN(;pf z1)guu3z&2pq)kkURjb{kz=A%1{;aOAAA?3B7+gvZpmBR|BCYA&yD)ibC>f1s*aB@u z%BN19K3BWldn*u+%X%iftc=R)V{U})d}WBGeyig;?tGORJOqGjlk20!VgI!kyt%%PsH(CKD?>N(*?}#1V;|i|B^w{C&A9k0NGVL5T>RnY^b#aesX@Dw z&3vUw+I@QS^+IM;<|J9B<=k7Xs#k>`YHDhFuU?gc67*{qSy^8nT3mc-ZTP$Zuy5PP z$H)MTJ&qP8iceghYH5uNX=j<4nb}PT!(S~w+@3dL-`CCA0QiX;9F$Cxy9TfgstF-N z@~h#u-yIwl00Z^fok##gZGZnBrE47cf_cj9`6A!}`2_`+_s5O9Q*3?IKlksikDKil z8Sfq*o;$(Hdq<)X7XWd<+hQQ??9_20?(TdntgK3%w|b?m zeSdw+dQQXij0{uI>Zx<3jEmqQ0HF%Fnv(<7tg5QI(qf5h6nOm-LcGza2ZNZ{aEkO( z=9eU~-}t?~y)JHUgOeFd9A?7^5J^K#c&vu}cXhIg{pEvqqc`>& zmAY4LNOo<6I5IoKG1zxE>(19+ZUBBk-VlO*N=drlxc+`%b{5_He3M6E_s#EL-__r0 zOY4dL+QY`d!`lUYa1212hK2^Dfq?-rze_MawP9FPM8wVzx|p=QJOV&U3Je4f;kAU3 z{t#%85_GNh%V?lyAs{1%6%-Um7==egg<0woiw59>CBhD|-+?)Ic6LI*Hurd%;#aEv zb~_jLyP|jXb79&|AYf;Rl>}Ym@#zVZh$s%c8#yR>S6A1I>uVVe4NSn?T+cT}3MACZ z=D2H|KsfMu9q>n!$dXc1u}-%7$l%e4`y2ay$AT6xT_i>Z6#@a8#xrO^K|^1HMHkyI zH*^F(@Zv{uC>S&tcBWpjWm=j#IVJY^-!4r&fJ8q;VP>A9=t;zBfna84CO?d{4DasdhF}cB3I-z~A=yRHxIM+0;tyt3eSG)5 z(7!hCSuDGKE|M}g@BZ1stOHtgA;mdlL@x-?I2 z;`Fq#!)gmG0OLs6G6@R{>O@kJSRy{B{(%9=G&;4>=dk4EDeZGuTU*1x!|z@%8`IS~ zh&^6FLqS1Bv$h8Pd1Kh+frv6h4k8WO0jN?QJyuG}Q1HzqasdCmt`hc6e0_D*^h=i~ zHKsP`${=51l$4Z|^Z7BYtgKc(c(a{t_QZkyU z*W*?vLhiDoS^1-BjvEzJG|(QUO-&dei+RV9S+Dp+MGFxeot#)f=(Z0Is@qwwFSGpV z#;ng889YI8^aEv(1WI9Nu1pSeV(`q+zCJM^9x+HrP%{)O=HWYf=aRcPP@vh^*eIm| zwQp&`QczI1`0-;fgGu+|Vn^yZPe2axgW3fVL}iP*S|9MHTJ$2%Bj+vFUT#Yi4gB*WWLWRg<2cF1-fC z1%-%6f$;h6ZrH|#Ar1~su~wDp#nsg?P_Y<9L`s9BAH2^KkCz+MZoL7gpO~0%@$v$# zIUKyjn<1wKmz5=%qT553GgFBz~Fc9xBxpz$;yfX z=}e;k4EYrmG^uH6F=cZ8#9nT0lKT4K8`4_#0-Ji7GT_dgHqbFZLGJ)kR-zugw`T#^ zN}98;pWoo%Ak^*oR#ZmD3!peB0<{L0mT(={S_g7@>;VT9*T4Z%Rc=tB(;Bp`63w^C zxw)}NM|M7beqVn-J(Qz&baarju_c8sxvoP24xF5k0Sh`Sgt($2Qo14yF)=YY2Ez8y z5mJR_OlxZ^?gZJ)#on5_5MQuj#bAMuH@oXs>3k9Y%+_|vl3?&!fC;Kiy4(VQlf0Mv zcq$Zmk2i*=brEl=4;WbAKmd?*K7XEW?FBe8SqvhOmWz-?GJm zM8hR1&bIoJ9v=fZ``$4>BY1G7Z9z1Ny}dnMGE%;c01U18&}D z8#@`NK@)cRMnS#l z8Vvjg1>sj(-T+tU*1wAg3u6!v#4Idmdz@_$i1=Og0~@8;VU-i)(-lCZ8Ek9%*uiRz zGIqNKdH@^jDA0I#c;IK-tAyRLB=g~D%)9+O=jS(kyxUEZonWDhQd#u&6%OpQO@=)A z_ALTvouhD*0)AI0pu&NOqLyw2iRp7(-;RNW6-pr$i7$*@BbpQ#SO6fFK0|SDZ*RM{ zvG=nEF38FRzo=$Kg^y3Lj2W@v60RlhdERl@&zswYAR;460SEO{} z?AW`6^6n*LhTpL!Sy0YiNVer`Z4~}2DUSQLy z4%g|w`_$v_ZP?)giA}5A4^&vQ?L6%#?gZ!FUvK~#sYd%tW#XFLzA1Kec7{~i0{Scd zR-2NBW@HbJU3V6AY7|moe8A&@mWTvsKT{-@1SC74f+5iGpwU7jA|is#g9n9(iHj?% zbM>4c`T6l0WwJoNr`_HHz5_}?7T|9{KmZ1S`JpKE<1d6Q_RFk*#F$TKa{w5ZQ&mL+ z?epSU{mvGO0F#Za=L+lOom+@jd@N*jFfX6%u|Cv6@omb)^4xF)+yTc1P&qG z!*Vu8byOq z4-$mDipmHeug#WIxDdghq-7I{V*q0(tRHq4#zBhsWWx<=T~=Eg2ZR8K@@N3%63n>R zqVBtSiWQPNI=D-9`ej^R%ZAO{qxMc4x{MicQ#p!7JC`1&wzh~uLP8dnmIE_0Xf!l5 z)N5q|>?Zxeua=)xX@q2n_iXpuy-2QCtj4|ZB~np?Q&Vv($cAG39@AYG-}XP|J@4k@ z$P%MP*9l3~g=wzbOGBU76{-->3 zMm>apegf&?;^`Ry^7_rw^|D}}rNfsF5k^*4R-5(rETp0V2;i$Cpe|BWuG^irMnRz@ zr=~&yJX&ve-UWWy*y(z^%GuNIeb@W1gm`$?$+!2tA{OHqV7oysmKgWF`Iw5?*2xZh zo3AkZzCWmYf9(?iqWnFDE3#iz*xMu5F(tIIrG{Bd| zL1nm7+7Q7oW+0W6l<2kEVD>)U7~tUIO48%xa&t-%Sz1~GeIAvUN95q(;Gr`MTsa`= zgF&S~(}JLS!f0y#H>=joAZ@V*c|j8auS&td zpfDyd{xns80#qX^NMulqWPw+hAQM5W+&(>3!O8%BHpt$pC8YAV>V}5#@2qFdKplgD zAi~3-+MlD;X_#o#<7axjR1erA4JR#DOms*s3mp#$!^SyC=N(`?1Jh_=VBpzP0hu0& zMiMLb=MnqGix=T^ED2)Q37AkJ!4B9ladA|>m>n?DJck5)PWh^P{cL@Yp#c2Co|Hap zZ2W5~30|jbJ3#h7x7e^S=+Mwmj2ACt@{>3?IDi8f0z7$2N=m>J zEI9R9s%$_0ViXiyGZ8S_dGo`?-JR<#_9|c)Mn*>9-~bZrpT?_Kif{OC6`P*5VDIA( zr2t??`<>@WI`Mz`1)%A<6$5U=;k425>ZyZOzl0u%&uODS_5~BbI~0&#d3?@hz-#Vs z-Hn{d9+T;C`57izBJS%e0K8Xn93&3V0}HHybO6*h3NXHBK?JC1b91xo6id<)8=vf~ zGGGV-`oH|ndu}fV;K{Z#bd4l{>EL?#RR&~dKX95POE7>yfP-)w&3!aPqUhmw&raqvQfUJ({=-?-jdM}qmDoC(pcM}ErW@{@BAjAOC148QR zn1P3C{&as$&&mp%x#*afkj_p4#OuWP_;7Gup>W%Hv`aSCQf%8b(5*|4v(jV=4T9|o z97)3uUiBm4V#`s0SU-y%c$IkowEzKV3YWn0UX;lu3@#f7B`h2HqXK_c0yr!{^#yDF)|vTnOT}LIGsqXv_*&*w7TBY#EBRmmw#@ZCFX6NFP0yqySI<1d_p1ScL&b@p`q*+3t-@q?A_M`@eBoROX;Fy5w(kLYt{iQ;lD_qF?Y#2c4 zxE`u78cP9~XNL4R*ZhsG?b`u203drj$8^zPl^(}S3Hfy<2%rRId(>#tN&p^p1pN`s znFS&)1=I=fa;T}Pi%Uxf%RM{XzQqpsW5t9^>$vXpRHhQ0x*mf}!a#}u=`rvul__cX zMd}(v$zHsG1uFjQ3KBYclw`@LRh@|zW?siN>Cp;cderGPLjj-l`MBZP5d@u^q(Gb; zWBX!f=adI%DCJCF&nbB8vk3W0kK7Fq-bG&q@dLRp<(CBd0{$ z;r1IHt`MJ!rG;^1Ql^vEm|laH)7W$Ks{T)$G^MnhoH-z=0A3(Ldd$x9DYP&E3!a!* z8OPO8O;}}~Kj^nGP`eO-obT=Lr(zh!mUm){yo%EA2iJ{PfVl;xL>vB1(oVoy?0-c0|3;6cvxJU{QB_?$V%`#Fiiym zgDVeZmrsE$Gx%*P%hcLB3aA4!ek~kWfJ1;Eq~3yFWA>?7LYje7=Jhpj;A(Z#L`pp` z3v0!6oq$tsVaCA1;`qW;5Rjy)DP*lm z%B!k|05XGz0>(w-_*TTr{rYod59_bpQTVez`JYRBUQ|^4fcMG2kfKdHB-Wrzn~=vh zdinCjs__}%HlV1@#1Gw@7Ex-KY`Fa%vP7+Aw0xKJe%%8h(quDN`s$pOg(U(UT9%fT z0a^RnesSOvhkQPEF$b{E`-z;pA#;=~-~Gwk-KsZeX9rdyFo*%YE(LJLtwP1gi3PHO z5P*}!Jok?uKgL(SfMdUcH^PDU9-MIajMgnUkEHEJ$+Uxmd>FR`#(m%lJ*s0ry5W2heJi(4N=6 zU{gf{?=gNo9{?qhibRuw!#3G?{F1UNck`tRr7RPBdt`7x4GcR#kzUEMf%F^z9VR&^ zN8u_Ya{QlJ572S$*K1HBz)3F#2aC@q8W-TW)(pS}kVj)c#(_*m0W$pR%EPeRXU-?I zRT8(2Zng_9sA1QQlt_!=H!(|O??;9PVEhV7R-6m4G8t(}Szlj99qX;dsM`IIG)91z z>$~}5za-aKyTFsx<*O08}~*07R-f4Idw$ zkH0?^56=s5LI%tfNe2h!1v?&4?w>l{tv5b+qd)t??(S4uY^~oHjhO{x3qU?_LX~_#k|G~o zQ^N@Cn10X-fLI4^bF-~eAwPtOFno^b0%TQ>z@0b$@YAb0ZJXv3@Dmt$nlmh7g_ zE-FA|RKSg^tE>CLS#Oi~xzWjH4^d}lr=aEYSqKp6dEFu%m#v_l9fUrS8h3Wa7|1NM z4%Nr=d9W_&Cdy3(M?}DanG)cfITV$ZxqTXIY9`A^on>X=fJFkP!?#F%l(LRQuc|42x=KrDUJ;1qa`~PuL(vY?pl9h_c zo+T6+NmfS5PKu0dqEtqOke!jD?7fqaWbcugt&nW-e_i+U+`s4hKaTF>F5~mLuIoI{ z_jrx>$MEZP!)mFH4bQ`jnPzS^%>oWu1)b2q8z&{I+EZc|1lgGU%r6;E6nL#`%%e*$R1^IJxNbn)E)M~sUn;wc^O z#uJBC^6wwDgNF{C<2-m16m#?a;pF>VU|N2VUngylpYmN6c`%a*+7q%VW3rbu0 zr8QC<(PyCEAkW*@syI}gLUV719<3Y-QUU=2ie*w`_3ilS3U5j;8J2VA=Eu=D%ng*2 z^_IFuFc=HEEL(v&Imf#HC@=3mY99U1NG!8e^mkvUr@wgkgH|D#J*Z|DQBayY^w{y^ zJ5V9)rPzurytC@rkzFCih(ygp%M}ZuL~qdgPL+Tqc+Wn^IYH$f7l}B>gaCN#nAaai z*L6lIw_@cIqGv=j8UJ}*U`1Z_YLH_{RFpsHQGw(%JUs){VmZHl_7)rvv!DK$s#j#S zIIWF-#h^Y?1m%)2D&nl1ONPJb#jf+)ej6)~=eDZ$&Siaj-}RoVW{gmx%lX|`y$uLp zPsC=F`RLJD?FDhhQ`9f9K0Pn15;=EnY-~XEAPfK;fi&RNt0#yFLjc6sFUeE_*ZkXP ze_G-c&zqDK%aR7Hz=YA3QH^K7(*RbYjzaS3vN#5kGgyI?git>KYUM>3zsR~D5};rO z*{{}vQ@Wkv)HiP%8$XJSWZ2)$eb`r?f-m$&&E+e+mi$IkFYTXDE#0vkmKM9}Ypnfc z=hevTDnU}+RUFmFp2|q`kytPts${ck`86-F#;i%@+H*gDwRQS> z_xi!7GN>e!hG;p+>?UYHkW-2VMSw#kCub2Brg3v~<2-rt^I*keYZN+iBJ6-#?0(;$ zUB3IVrRBi0XU~4zx3W47*2ter=kjF_1jCNP=%}dg1A7}*FYD{43T0o9>4mDH;RgR> z!JCGLQ{vL&{oFzV&%=i`?{A9TiU_|2k(|F944e5So#-@=auJ>%#r_?<@T6rS@aJ}pDk##_?0%Ap`GX%+i3r@ zuwA@8*<@LQdOrZqJ64yrP=|Ck?oA0l8j7C7>nhhHg*TqhpHl(I0Z2S4XFQWKQ>6PH ziDJi82etCopG!^L6{i(XxwS?%=8IZ;YIT^uityazi(C`TKoWEW)e#U5bNxVoNt6AA5f)D|Q0E9$44jDms+p)e*tL9a+IL@6M z%8|?`zAjjvGD}+L&2^n}8a2P&-&B3Z@Z}3Ad63o)yoqke{OVP0$W~fd*nPuWNB_M5(ees?TPVTZy-8?7n6=6gAqtbN23F zL(90D?zp|HD0yurkw4MdHE1%X(AhoG6WkiP|9YtS?0>~>l(WJ&Kgg3?(cd2!*|#Oz zLZ!Ssz%%#|vq1dW77sbHtLmAY+~oH%wOKhbgdHQ#InnhuLfu1dRq@hX&FJzNY!T4{@xDZpNFhXV8bUjA+pHwi6| zu~mx3J{^*P&gFYtY%gAZ8JILCf4s!&qB2zOCFG&AZR007AyXsePNHTquKGvVcdfZs zMg#|<#Cl+)!)&*ktlzUzC8@2e`jI=!VlEH;NTVxd`=92J5FcL1s(4MRd#2Z_o{!h* z&*AeX`p)LsDdf#+Z5ZF>)q0RTX^GY$`_RXVOC&-nbe7@|8}kbFRO^STt}EQujs2nH z`LB#Ip0?cbxOsZ!m&Y6P1Lg6Dp4~^!a`^CJp!=*{8kR@2i$#;@-1IDB(n2HHWOQHB zxJU0};i;V+FdO?E*MC{Se)Owy#tNXN zKwG%bh+&jF2{Mu=$O6vcG{^mn( ze({4&%QA2_Sn|?=QzC?HTUEzJBxlf#IqOGSt7#{oF zS#<7G9syMR^R%ngPJ15r@eB@DFELfpxpoauyAtAx4%iy^Emn%4erp2sw%m$*ulH+8x22788qBF^r%SaoAu=Oq?%X1n}2ZG zPN?pQ9cQ|ESO4YkQVc7=F$K0Vp;z0fGPJ%q4?6OTE%SzMmrBgVXu~#(lYSB`96~~x zrpBLpdyCsWFDe}bf&%WCTVu&@M1$=QN&RJ3+DaD_>O*geh$qLkA(O}7FHL9y?dP3q3vKa zg+)a-I93p>|Hiy`{tqsN`>8H-Q#_P2u`8e@i=>VJSpLxHwV>w*P@e8B_#^meWtURd zvCC{!lLGHjK76npeO2gpo#aLBh>Gr0^0TF;=H^d_hK4lGYo3Q9PE}X8_s7z#naB<8 zknFd|S1+oqYFrBLNu({CX1z&-97Nqfhw}7litkx zXMuqMdhx(Fk36}|zrR_UPBU#WdBHQLy~Jw=(@fReU6ZryDekl1YItO4 ztBd~h6|HLOXmy!N-w7rsvHHFH!gi+nte^76t@B9BkQDgS z@gohKc3XFdjurRg^PGynxiPCVO#ZUMG+yI&a(_+uaES(byW|D zHD_L$>noI6=%a_g0v$b_qNcGi+cPGq)TO=;6L*CQOC$1Jw|9TqrdUH3G@ohmBv#V6 zkhl1>fS$nMj~@?ZeGd;-`P17;f_E%<+pgljBOoU?w+d8*DvE?tI=RfCsgWuj#-i?9 z0sSJfTR=cSabq5H_CqWCXXI#-{+sdSLVq^Kk_q1J>pf{pYx9jxR+SLI7TW*x@$}q6 zs6{%n%@2s)|K$fvgZ}5A!Q8S|(Wt!h_vJYLh%AO2bac#F`YYOfP4L~lJ-PS1mVV!3 zd*b`+;hhr3K#QL)EdhJ`!$N5o*FCh=7U^j2jSUQZJkz{&`A>_A#fSp&%2%#jaTuM2 zD)+2}{i;qaTc`MYq3J^=qF+0B+*yZ1r2^>}Zk;)E28H_T@)4pf8vQVPz~DV38+F@) zL$ci$2#NvepRzAh;SG@Na!6J8(b07e70rPd-h244H$cD_7C7a^n_3TiB%SWeATzA; z8`Si49ItGCb14H|3?a@=N=jOgoSB^Tfy8+T@XK9|LVc$Rwl5<&KPziPc@QxefUdRa z`~pmzq*l6cu9_r7n`}???$&R^q*u|XEM)I=23rDC&PM_X8F);ybt0SzlJKLPhCvLX+63c)Zc)vehATY(!gxy+I-{`#(Smp&}BK4nLD zpZWQ|+YioqprMfD4TnCL6lag1y5$wFf}Vut@evsR<|T0n2~~alX8=Uw#UIr@2(RLK z%OAD{MId_j%bW+n=SidKM}mqWd9?kx$tQ0rr$J?DM)D=A76G~Kxz##6cKlkYsfPwe zKl7AD%b3_Jmo$iobPoG>Tz4G$LwQ6ryFDj_-%UhJtV6-2J%I{h*m>AZaA`B~!xsJ0ZBK69*vemVn$TB3DeSg9xc$he z60|~Pn;T+~Lnr~K&j7p&U9W?#dhA|kUq3UsuaiRl;S*;yT;)%$#0d2ii1JTho{7Mm z@RV4jc8dKwAKlPye_d|)RWwiVA6=CFG!66{8Y$P>SSC|>B3#ZxOfd@?APBu1P(CK; ztpVLfMGEF!T!2iAsn2<)#3=>>k@95q_q$JgP*#2==_*PzsE{AVgS@8^xOI@=yTE78 z{iFW(xUX@Y`8g<6zN1^B59 z$9a=Jl2L=bAXXsrK1?v2F3W?DFDfd2Snvbk2GZyexJFPzLr)ux-(A<#(D($s9(1hd zA%`Q_5hzee9U?zx$&;r?ZNIpjB}dsS!ErkLi=DIE`PLHKlB%m;!Z*+OymD6EGrNb6 zOi8L<`qr>+BWG2VlsjXL%kLd->vI?QID2|};-SpRcUs^=zyHOE6?&8D>D>^apb9t& z5gynduvxFo>9n=Av6k5D03grG%kO}eosf{fdev!W3~4w4*x+#CIFOO={)l^2)z;qO z6Ni>}aCB6|m-~@4ajZa|?OR2k4K>3~kPEoY*yQA$P|$P~xn~!c8PbsNt{^l&1l@)3 zNx*zyM4{CuB>elIZbjsNa3!hLu^kTsay?N|I)D?OMautLp!o%Ma`xn50%b#N00jsg zPLlc<^i$V<)+~?~=qisR!?B3p_8*x1>{$Be=K|O;1R&0tE$KWF$f7!lYq4JhlYs2GgtyXc6HH03(YRE@tI~N z?Sv6@gNir|1jGTD8bBQ(3J01%eDS*53LD<=@tz|uLPE$P^oHyK3cG#Vg5us?TOW9N zCsh{!IMf4snV1?l^3ec{^W+>#35}WmIKE*?8RGm>^FgK9@#QB5iTbG#ivJ?%Pt z@*}ot20R{733fQIAEBlr93L_=GUB|Z>kxTb=oL9HaRZG;*I*X)=o%HK_5NQdd z5RVUuLDs=R7|(&=5C5*(0T#Q7)T~wPzzYokFW|#JlWn^|V4el|J2&LZL%>{sNh@$Y z8E$`_0EiNv7(g@>&lp5Jfl(47*a$((TYt_1^9P0kU0@iE$Z(*scJc48C&s@QCb_fQQYZH|)SBhJ1vUg@ z2Q~{hDFIBQX1##32vrJ15G25~!^I;413dw=f!-R11iR8S#x?Pn5tPe_$YAND@umb; z0Fn0qUJdurl4Jvb61?)|_Y!%xyS4y;A$TIlOwOb7g>?0)YCj#ZZ1=8K0<6OWNq4Wj z@y(b^0(VRRqmURL<>1&3bcN#*(8;-PXBwDsKcu9j;~i;CkaO*T4wI0h07CSF8pH&G zQk<^AynZ*Yv@{;bO1zOV1iMN4GL3y}4p~7KB`hLx6r?Xp00oZQ$=V@o93oUkMnwex z;zD#ALdi*psDVEdl1t=$=@bn@yp*#{s0-d*n1!BwJg! zr7HdtQh9wxS$8daH#ft>^7pyX#@TqtKxma}g*1GgbEi){#(Y zDMyJOMfpnSpD6!c9&BKD^=0(5jr^1#`3RM4&iE~;-BIqR8&r^=)Xvs7AEjR!}%q( zx3^cZ;}M`@JhlB`$ge`uHC@GM*p(1 zPnIH$3%mNewV)ey;m|ilWo0>(reNE7Xk4Ptc>F)9=6uWlq?-HDF|xHCyzVc2C!;q9?U$CPw+83_J?NX!sD69vT6Ew=+n6`yXqy!rRp`k&QZF-3=; zYX^~^JGq6ya%8n3?96MU<0n~Z=06P|GOVX?v-9Bb?0u7eZ6QzfI5*i@q1&SIggTR; znFtja3Rv*{Bxg;{ug5pNMy>!2K!{hL@|gi{MqC3$KLEJ}A*h0?%xbdrIMJLTZ~+~z z6HJG`6Pd5X7Vr*Cx};D*5IY2J$yxN%Fq}nl)DbLoi0yhReKESo%jPBX9=Z3b% z+j_8MwY8UcEV0)4j`QqNS$C zg2l5Bs<4pg)zzU?VcWkWjQ*C1cj_**hOb0y*q`QRpvi_!lGkqXY7ku*%ENbdDJXVW zcMP_~)oMW)$pR(_&0;nDU3Pvq;QYl;avt0nDd`$cZN(@TpZLr2gKAggZ_o~M`#X7e zdx1zq%|$fxpeLo}@QeU(Iio5Y6fEP_1}0ih!xl*@=9 zpM^(Xs(`u%9(}vNH0r}nbAGzajs?`XgoO)2_vZ--tb`ID_8Gk4$f8CBUqTf z;2yB9>O`u8u>A;8@Sw(2H7N+L8@+sIDqcxPD}SqouE@{+Zcny=i(i~kZYIBfU-P-< z(UWH|d!Sq5h3d-y^c)&;4+EMg(Op}&Ad-}1t6#n9VXRG`ATex$GttAKXds;^x+@BMlU0cPa*2AxWX>2sBo0;_gAG= zx2G~&!W7A4FJCmu;?1XbPHUT69IEscEg%PIw>!E>r-k>mgj7=7B!`KSj|__o+*ixL zie@IGgko6rRteoNNOB_H5_)A|LC=uWA%ZyqT_#2<H*&non=QwV+H>k4*L@96 z05ec7Yy?Q~q=`}vgb0Rpym_Hp;&g~0c0q2U6@bBM3)Y>;tEWy;o~#XAREMeL`Sa?R z$JGe0NT8y{`tls|>QOnnOVA=guUQGn2W)^_*JmrJ&^bdYMBFKnZr}uLmO@zYhg%1& zA*A4h81UkyOJ}}NaYr2IaPL;#;$mXXxM}yzA?J*!a~E@3{!S+Uh3e%I15R$uPhA@1 znqoFyBV56^J}0!s#5~kVB4NB>Y&*T&(4_F@%^SIyZIbSD3h&1jQ1V(q!a#na1+XN0 zOz33y3C@6vr!BkrN#5mb&nTGSJ4|TcP#vGX+b0g%njVHTf)TF?{tbZ|VaP4^m^a%` zXV}mG*ael*K$vOtQD5CvKJ^HQK$GK`H=G}Q{*>dk&AdtTg4KEi?F;!zhpDzIHoXDA zf!|z*d=%afjA+X3zM&q>aCTT+3*}l&cu6 z8eBpVdE&$_P~tCYj0p1=+8eN!P-Z_xT^sb6#^${MUJD1$Y2q6ElbGs22zFQI$Id5R zy$QfY3*H>U`2q5K5O6V=FhVq7nz{G7p_xvZo5YT%ZF$WW<9V>dgq+mgg3=LphmIoh zp{P~Y9keGIcfO0l`*MtzSG78Qbn?ShuDPcPnjMtcyB4(7jiq32yL+gy{{uWyO_K~Z>= zhldK8jnFH?B>@l_P8{e~;^N}MPw~ZN3-89-6V|3v@9r2^GG;>gBBfgyG;sq)@byl_)h zSATQgjn6T{w-Siz(Xl6Vac@(PMMj&nzJhzmex}c#aQIqVKerh{%DV~QO!3+I)3hL| z=TLXiDYGl=sgZNcX5c9X>w z)_t0e1?usXH|{jLBE)^Mmegh8xU(4##RVP{5nhl$ag5^PSOOU!G=UipC<;N%!?g-G zhmmp9)ps90d`4S|+fTT1oYSZI61A)<(X{Pg3xrQ-dG;vb5eEW;14*P}&UW1)e~xqX z)FvX1zm23L&N6?*Tn{@p*eZ0!{^I1a4TkCd<|ZM+pH|2t8J2SNM}%tt&k18RkUEdt zoEt6$gd=jrH1)&L(npUUL$kCK+ZBP~(PhrtA*UBPpldVP-*sl>hWfQ@-A3oHLEBR9 zxy@+dI=T<^H;{GXoZKs5AgT+9ol&JjwhZiWcZQbY>KHBv+~85rJV0%0f;iwojXFIS zGGy?E(}$)UV9zlGW*FU7_4FtMF3PX~!hyET8-DECOd=D?uso1q;r#+CO>wcJcH|!F zQKD$yU6GxC*@{s-n!o**ug9Y>3VO-$Z8_fOG|COPH?Pd@*7f=Jq2-+EZZu(SKZ?n^ z9SqJg33v9it?4S?Vcf%Hq3tXMIOozIZddX#U!Ky=X?`OkqZ=FRD+`iK5EI_+$xW$T z&;$%b__2@;+9R$8Y^PGgF}jIBmGAaf6qfuccRM{;)0=fae%r{na>^!-Ik%S+rVofkp2ve$%bt_uOMLvfC7gDkN&>ibn6|TvJ;9;^X@>}rWP!4@e`J+9rfzi{5UnC@1mjl#Z;Dx^Cj zDv{8w3b5TLUB#ck{zy_w0|QcjIkF6`-IxpkQ0{B44C)G~QsA4~pL^THgd7VqS=rQJ zd_J_s2=&x!^YGcX>{8ilLZ-Kcs+TLhE?7J)ir-cm{hgX4HQ{DMjqp2x=afAi(Mz9t zcvfgmhK8&Am``oG4E@RFk8j@#6F0A6l~my%bVierrZKID6YiG%&23w3LyGyJleY)Q zhw<+EZ!-;|Y9@S*fQ5V9T|d8iMymU&>QmLy%mW|t$hDm>^r~O2ecE)Dm42;6suQDo zdds0#WttwBGQ-`T#goq|DsKk38!(UY%^LW)2iwN2;R!)tIM@s)$aSU`YD#(7wg5ulesJh%5)Nq z*@N^cSdZG8Hz(}k+Ld}lcHdfIuJQMgEK=W8yHNFm2kj5lCi}i0>ef)TK6F_2T*A`j zEwOA5_?v?!mfYMQ7AP|td+wkgSdTW1HXZGAt}n5{$C@q`zb$_J=+e?`nz8c~!{$K5 zZOLUhVOpi8%ev1o=4kApAr7U#=(m&=U0@dL6Dsbv_`ah!BWkd2qpm*0Kk+|}=MnvO zmW$QdC8kWCYE^!_iAun6*k5RJde)kY!ZK7-Q_}{P8KJPm(kDMTev(jcylWbird`qM z;Z1(r{hG`r;hm%NpV7zGCGm#bl7F>cnv?}+mhhTJSw$;1EZ9WX8S!NR8#5Vc>U9>d z{X6kvz1{S~C(7vkw^~2%8W~g5(2%pW{UiToO=PqBW=1;DwTd~*X(`_n|E-?vjqA+s zKZ~5|wU@ttrzk;CxGint_o;1c0*b}yXY#JM&r(<^8yvbXwWe1x29MaMTlsCFsmD`e zthUuWRZ@9S&vSC<@AEPW%WJs~`wG9`0etVLMXyA_s%X7?S(ctXd2)J-tM|Mv!8Nhn zZ0ocU$h(a+KUpkvr(oo8Y@R8J^4ly~qlBD4g865@B(+oJ^(diV+w+*rg9lRUgc&tG zy(9LtmtYU-@LKz^#Ww6Vdtt3gy!}f5)XSM8{ga0d*xWh#l+2yqO>^|mz-;rc(7KS5M8>-xW zFrb)~l$)*ks{8rvfc0DL5<~(&EGQhOd4I*i|YH(0_KtMOtc`=?A5SBdOoXt6T4Ielh(W zNaBCinDK#+msxoGkf@%P){~YAR!PZ?mw%6i*2=;>6)%{PBH2;%($dMP@N)N=han*W zXH@Tc9V?d_lZ0r(AariWv5zF?L8oNwS0^ej7hEu{{ZOoNA~Kq)a(~b8+Z;dRF78|@ z*Q;iJ=+cor9-M8g5^0-~Q=#_ExYeytotZi%$K0L!r{BFEYwtI8gp{0fwfwP&ysStr zTVP6-Otn~Cr)1hl)PPMQ>+rNmwY%b7msFCqkV9(f>Zh{h{`;cLW);E=&sywtYOc@9|#N1K^-OD~+Gx+QiXQTPnqe!Bf34!cw( zj=Tyy#3d-?o*=leC?l#HA|vyd;+P8M(?Gr8Y4dOjrf!{RiRTKLn48P+mOwl|g1qpeD9 zooNeZj+BQEAIM?(_dX-pg&FpsE zCp(nrlN3AaT}|bDbNjoh%LWN)ns?#@cKPv4KW_Q)@U4tH+>>IGy@Frf<&3>ievYeD z)aQQM)XPm(r4~Y=K+MUQS@I31juarg(na5ujg3b(6;)0ihHr9*-a&qP?T`uBhXJB; z0Qiwr{S-J76kvYzt!J)h>J;imFW}(&n3$ed4B~Z$=O0m@V7nT!&9lAgwqX2JA%!QK z@F}YT-7iucWGNq2Dz|StSl@S{&o3%JTJ+QMk$BoUOO@`;7Ui#H)4KW2dn*?I#146F z$@bjTJ0{&>hZ$ZhFV(Cx46?e2ZmUD@zFw!(6;;)yI7$w^j)KjNHEUspi-E0NOM4>= zdTm>jb~8yb=yhcD{KVuwHb|xgE^T}Y5F##ilw|XFXjuYgkHDyL2F6Lu^!oO2#{sij zjYAIFsExLq)4SG6U%c3D(FHvP!K-%IvC0p@;|ZVQ4yBg=%zS}L_X1=}po}kc*xBlF zKvoQBr3IS(gR+F3*g>3;gjN0)pB{(?#2ZX&3W|d*e#QGF;H-MSr+}xvZ5gBxCD-Tmautg4DUuke>-%CM~ZaZ+{-qcl0{do^17O zp~XHK@;L!2oeAaqTQnup5O(Wz(6b3hZs~<10M27NL^h+!&qi5_xn6c*1g$VZ|=+< zu>CZ0FXtOYdg>JH?HJ_vpnpb)?l?w{@a|s0{vuuxivB_%D+XcR5O2ZLDHsXS!T6@Acb4Va7hp`^w{IV`5zmiZ zct%_mLJc}T%1Ir4{b=4*ItJ@CEEYkJs;e`){!x_#ArGSl`A1Cc@%w(~EeevQKIevu z^sObB!jK7HJ9p7EA0~Y%+u7MgbJb`cYpWk8m-P`Eblp})?2JS? zL$MEPPvtcN`2_0TN-Rbjhp$^%42WW0@I1x(JoZIV7}P~OQF-ucd4p_-`?VAe*p`!% zJAW>wTc)0@UC=MW4~seiwJqp*b%`fdqX@%g6=1v>F>p)g(>^B;7)QdpR zOd%>E`7ttbRDQot9MtO1+HO@&*b0XILe#hz`0!-yZU*5O0Q6}s@`1rsngtAeK=8uE z$Ogb@={-Nk3zcCc!G5_3T61AiM@Hu1p!h>>YGTF>$}fto?~;;^3JG=Ot01&tZGh*T z!K9-Dwp6F5&t1N7-fK5-Q$i8f^An*15rdeIfWa~#S;%A5gb$lamfx=dYxxELT?F4c z0b4(K*dd(Y^Xlp#?)?J>FLzP7@@ySpy_$Hw;RxnOA@tx8UQLViPJBOe#5k)9(yi*T zc?dALLw%uCoa@_{y;I};A(FCwrrf$tj-^ z?CgOUQ_(OM4;H6Ea_xh%*XN)19p?ED7v*k+d-u;!iRr=P2hZ(IwAi@4VO!BKQM=^R zzdf^5GSq`%QyZ`^ngDixSo7O@ow#8V8w=ou9>iP^U0!NBbV*=xaptbk){ z5|twICzIb>2{XvO2)uFE7%u%ikG*jJ;02PBlRwQY#iZ*qXE$MYz#nDshU^K(`V7y} z#LE-V6x}K8Gh}MpnZ78vPT|k5gEx}Eh8^+WQ-6N}xgF0s@)B)}Gu8y&ICF>ArtgZy zUc=Nai>;RO3JOG?fQ2W0hDX@OS~RMvP$#J7VVwy8zW`zsstxf)+v(0GD=lo)rWd^! zFGr;v!W&Ts<|_ z1gKnfO~2@SJ;)jV1&wN&iLz5uZqzmygT|`2a*7xUMsS~)GUl;GTfO}J2DicA~~2C zaVHMOJ~(y>x|8Vo3d;t*g&4}J<|ET!Wr?VM;6MeYmS_P&ElizWBhT3z~&cfd#N8>5Et@QX6SkO)dP!{n=C=(tMrF1z9u8mh9J+wga$5 z@f*z`zpStIZ<-)lyi2AFsatRmcflN5e|@5oH>JOF?_TDeydL_JFH;NcJEB`&Wh}1! z{gUa|GJ#V;uNHhrmN)m<&c$?S$mph2cR$xvpSrD+z=^qEkD}^lmJVQaPXA2x$h|f( z*DEqf2O?{>zO^Bb&v^W`3^~E}YRJfeKPj;}IptHHj!c_kG_l!|-__KEF(#0C?`hA2 z+d6KOH%t^N8yO`uSs!j)tD5$tIV3qxzj@A4Frp6dF`=Jq7(4SrvxOfuIJgMZ_Tr3G z;fb`F*6X%TN-YjUPdOZ5A@=`+?f5FA^+ja++g-7lH0zW(X99keZMuO-@oE@5aF0v) zI6A$fnz0sLUj1Iyw4X8x$``Mk@7TFjiu!Q{oNIe)rMAA^hUj&wh$@{`UT&DMaGTL= zr?i@NwzB2;<6!2+;c&8(hDy-BLjG+s7gPh@Ek{;w$KoYSxnifvp51lXZa1-P9vQoO zxHV|lj{TkQ!rwiU_O6B0x3+tBkk3#TYqapkd!4d4%KFg413zY>U#+4)Ldzjg2}^S!1r22~f%GwjjNJS|~~lqJ|P@R4Lh$eRl7jb6q=r zQtS?H8JMxUedqFZx^2@V=vwFEJG0bZ;wKJXHz6)@b%8On*X$jEo9mU|M}*BJCb_x&lKsz5C8LT zVRM-Qsd96+w77r!oPWN|aO3~}%75PQKW~9VIN_!B&lUXl3!Z|HPu41i@jbf4Q_?CN z5*Ahi6nAdzFGuj(mywYldVVg-@%(lwLE(T{Aam+}??b|{XM15Ps!>^kY-^D06(CB& zdkgR4ctPNj;HdnD6>k1-{z83UV0;NM4uixSGl{pr5Z!3^HzBegsoT0qmO9Fc8#B0y zW=iQ}8ah6R`}+9&-wS?7=91XL@YWvnTiw?+Xb0Y4`icvL2;fkm%SRIK{cPjv&bte zkK*kNF-`Ac;Agz)gSK17$hQob;#=uUO+1o0s3V9GV(8*KH^!jIt;Q0|Aa|w}|K15H zj{(GcP(wboNGYW2g`vA<%>{C~Hu@GghRq_@kc5*>d8Tp$LMoH6;vj3fg+ z4`B!B9zB zQCm*5C5QI>?+opwptJX|6r{)EC`OBiA&+C$T`jsN6;xLd!5zpNb(n8NnvZTZfb}VW zKu?S-34o;7AM1KRJ}`eOwTOghT;Nis65E8ZKMONyjwSQA%0-l-m>|?{D2WgJ|K4+w z=w?wi8|L-EXN>d~?YgKfYCGOIUA*olr6Re)in87mptP>T;G^-vdZ-zzE-<-nJqx)I zEfj&sQsNuS!w%xn>GQ-q>lNrTG2~`6>237QA727`f%fh`BKneA-{Aqm*9GB^|65pQ zvsWlp`7pc)lQgP{y>#i4*hDeX1C{tJ3FdkXKG@DUz~jEM3u2MiP*sS7E`}5?2pz!h zqW-`2TK5^aF&(t`UhSz~_szdxO?>5p*imTZqxB$MG8r5B1y5W(h_Kekeo^wi_|viV z{qhVxdP3E#Xi;*qIsLY~I)V<%7-s-*N*K7*rG$ip)&llkSKt2^Mmz-v z))z~B68b`YJ@-ahAN;kfAY8s>kYrc)R+Oki0T&p}n|DM*1&(rPEk=A8dUyp$TC$p9 zx_{ki6KNrrlvMfNYDqY zN+X1x#L!8!)4vMF7#W?Xd9f*FNOvmlaOEiRV-+eD_^b0=_p{}hvcdi{JXI#7J1|18Y*r=7>6!W8`@sUm^A${ArzWmWSRkt z=%e2{K&Q9moJG^i`CTt)3@tRG>q_*Q%?@>ixaq6CmlV65wWAB5jc1UoM4QkwN;wR? z97S5}RsfaWA z6tnoo=80KM$im_Of)DX!5N5R-qi}o2wk~lB;M1sODQtECW#@s{N>gvG= zTYz;$z;R)mQI&x5+aTaditGnaG6B2Fb1GOjT{Ny*y0BRqvQXqZX)VlJ>hi1k^t~35 zGLXm3*G`sdBa17-wcvu|a>p^pkzu8)D~g?#w@OxGw8yi3HLSH**B_9K2#`M0FkcpL z^ZON3HTmt>xX({5|F$8!;4_)mxu))q9(eIVOKJc2o}MS^7jO4y`dm13pz)2<)SL6g zN3?f(q>}BYd!ackC!lR5cd@gMk1bgLmP>PnQ*!`Y(gT}Q&--W6vL2gUmeSezxS|}j zG`bwjOnt%Rw)_At>-1^ecS^1N{v6Q`p4g99G&HK9jOZKfz7nU`oSs7E`V3YD^fNLe z6!p3#V%UCwM-i#fVSTr9^NK`P^)K6R7lkRz7$pq_FOkrQNdWTu3scV^`EeJHvk+kp z=p!*O(qTHI8ZDb}IVncAMNA3Pqha_+Mg<#y9Mt3w&c6Q1zs)uZb7-HScsP9jMZF+4 z^?8hu_Dd3lFOAW@=!jm2Ii$RqCu1&G6{gbrlj?QQp1y%O`ySATsOjt1+jZz^-o0Cl zjm;?j3f(5I3xaJHh#>VkL?D4eZ4zWH&c&6iKDh`zZtA=<@cIiM?V$b~tK>=Vii*_U$8xa{76K-EAvI7JS$dqVv>eMh=@Z80H z0||f#{`iq&{&gn92&(Mt?Bwd|wAiRf{N@Xp1-6r+`QkbL$WYZq7Tp1#qnrdhT1k!_AxVr*R3?{jk4-6TjWpWHLM+d*%A zbh1>pQRC#vDUFy|tz-l1}%1Dh&cCmcUeTL9!ybpuKNC@;c%@ zDWfeYxr=9|<^1W?$Fcwf9j++?szwagBt|(awGiiarg(mjUZJh|mC)yTPtS?n%+PAI zE2+zQBU6-MphHEB_QB_XC^7GS4KN##N--N4#L2ftTOBa@fN&i^K?AV^@i`Q<5a8|T zz{wWq8gPXNk@Ar{a850Z6oyBiKubNSB$qt^e!ZR&g|89Pn8%xIWt+oLFY!8klH6Rk zAxcT;6U?S%g98JlfzK|ZD?N@$3uq*l6jf9RKo#I3At8r633A4F$+!NzpalMgqJ^M< z>P+IH^d`z(w8MeH!N$T%PzDLeB^YTZB3Ysmvq97&wDgJQ-n>1SV~$_^JYgG`%mwU` z09t`X`*;{}5QF%VRmnaPEX_4y1L4-`F+&X z7of}qrdkaL63=7EcG3OAJzn)^=teXUUjex)&-z!XQ-pdG_&t5~lyl8rU0{gyeza#C zRwv$eVUinBdW7oP)1pJQOZD~h`|bXV{|9WAwB z@BzC0^L;x09qP&t<;R-molh?@ZN^rmvD9)MzHl%qFm9r`@0|Q2-;}klO)sAM^9LO? zG#)Fz$EtlU@b&$|pvg(DgWC$-i$B!8 z5?-&AMD_?g_z-zz^}c__&$%pXl^vNkZ)FKy>kwc`*`KkG@2-0;quv!%uasfid3)k! z3%MwkCCvJ`t^^$jI25)X&+P(m*5bz@4bXB=e0`a}l2>jE)~e%6mOna>!v1x7iw!@U zy4!m7I-iOiEoqu>T~8+G$)%$;T$xvTtaEQG9Tpgo)fNA+t8bEyzidb4ZI%HWA&1l) zBmEA$U!`kzHs+qYN2Wg<8M9>pz&z{%FpS`Syzl&7?I;_~sAe3_?YVP4kd=H7gI4w6 zudXZ(m?2n?A5VIw)SGRth5=kTw+`LOD^iXaMN0vg6ObW@dAoQ)A^z{L&v{`9F%Ngt z@7~vLpOpLmKx6^%?+wj45Yt)-SP3>F^Cs=9TgtUZNT}%eznqT7NE%{)aq#i|emEt$ zJmAGXzte7iy~L6(Mo1|@2pT09aI$01Z3rUfyDicP#F+@f*fxQz8O}?0;IO2H4;sdc zQvj+lW&Ah9{6r|YzVVwH<$*oQy?m5}E0sKM<*3H1w^8eU6zI^cz@{e*4w`y)hX9rn z&>m5wWBRHu+KC|4xoC1|;BEefTLLhD6BQ3;E!y;0<`IBg?;Rm1luRIc|A0CA=scdG z3!Q`ec5rDe3{@;4HU?6KcKx7iENb`s?{~mfa54-8nVkjn!zxdFXapv|(eaSU2l~ma zBXD7&K=qwG40mQCf)ELjF$t^E7o#00t5vh^xgIV;MsS{PMY|NBdvY z-=A!qcsXvM6QnL5c==%Ec>WH?U5PuC-<%0k#9b0N6;(=kR@o8n%B#)|JE(1M_71cL zS#BJw;bM`~sn?jYf2TX*T6E~~NR z_RP4w6w3j|ha~o%rP@l5ji`&+$bH6e zITT&8E!>@>PX-LVXTi5MvW&`;FylDVAD3q{|=ZMh)P%BicQJ`a;!5?>*3> zA~k}B0W>-~!3xMaG2``^rmpoiO#c;ta)l7LxggaM$gv#%G`O2ing>u9Gr;>ffN`H+ zGJBILznuvN-~$+3Jnq>Nx&G3LCmYOa+S=Ek^!6 z#y3g4chi1C2{Gp&zR+IB<2JYJy#4*3-IcHj64RQd7I6JYzi(f^_P|(+obE4OnA85C z`^m4t4=ua(nYgQ`B5RD|P$npSb#N^tL|je_sfZwUanX#DF0Tm81JmL5Q*0%mju_WP zS~TNl^cPXcA0<9vB0O{KWTa!LK;RUjDzQxGY@ENTt%G?8qd#b!x<~)*15reLTjP&k$k0%W(T!o3)Bv z?`+N2H@po_E-xu?{oVJs@!*fRiWVwef2r4AtVclN4H(tIGx*FflF?^6*H+)X@c%C{;e+^xM@SmbC$}KWphIBO9m}375Ar) z7kxLPKC(@3Yq%@)i#CwJLgjCZ|yvS^9vXj$v?o4HM8HvAFx zjM74yjPI!{-%;zeX6P-+p}Lf)4ZI?Z|tv~yKJJE6L4or?0)hD zJ{t*x`_h(l@i`*^rtUVbAgRUTGe+`yEN$d$T>}VI6dE=T=3o#0Hvh(xh zF^=pkJ_n)!F&gSh|R$FV_(ue zu4tN6jRKkmz^ekZ>H9kZgpl47!+mwRL(K+uc0VIyh?HXh4{v9e(=?Ehno6WAaPSW> z4*q6dPYp62P!5CbcFQO};iwg_K-1`mW3$qh=GHbq5neG!ayn6T`=JdWt|svI;-kcZ z!o#nL)lGKt*S}Vs=qnM!Jc=*Jp3|5c;=@=}R7|l^3Emm#Kc876GeL1Px-A=k67V9Y z9KtLPA$=0qKLry@@AMUiK{1Igl=!?KLK*ENt)xT=?>#}fjgR01)aG}P#|k9YL{o09 zmBOeO!2Ac8m{gpcM3Kag!bK(YReZd2tFZvhz;Uh6*eUt*^qc-l2Kt#sI{wB?;Dx1%|nH7Ts?kQYYOe>t^0{C{_Wlq+2bjnJ2)99<3U)PS9N;#?hq%s~%iIdkrhnCKiN0O4%5( z55(IPaT;mgTutMVzM}YgO6Eeh8Ivjdnd-_|7NHsU0`JFnj#Rj+xXZlJIiDlPLh94y z-Nm3T_SISUM#4l^pRt8KZ{Tg|kVCd@U$>3f88?(m7nhO;TcgwrYwC~3C09MJ3-johVwpNCnPkmXbibWM6uVz0M*o&Ub`Ae3p zR&BQpRou3PIk)d+qL;s>u%*J;IGt;r^G$*1MZgb|-*RODG8R^OB^S*(zi-+?%Ipyr z9-w{z7g(9fT+5Xi7k7>2#qEWTTFqLa%eqOi?@X?~C(Dx9)7HDlatf1*d#yNeC@w*c z0(XqASBKCjiL*H4$-}iftoO6Ze=^Bxqt$KXPf;F77;bsUEwN*iX>~{G)Tf+k)IwF? z%3pt%YKiR6HJXaG|GJ7);D6s90~;h`8eT25G{e*R46P{IoO6IsOQPNiH0_%fDWea5 zs=UR=@6A`GPo*rPmcnNr-ZFu86n?Lq$&;cFtUMwxX5)lMcfbJhO_sylkmwi&dTU`@ z0o}H+kCzWIMrDfqH>O#(dI;)+WX)wZ`J2d72*PUcJXSk^fF#H-2zxHT_D+mI00~$H z5DwiM=!b975=GBc(^6CA0$JPBt~a2p#s^eVyRWvybQU|FLHOrA?E45n9X)vk9EmIB zOKSE7x^f&5VrCa3^W)Q<=Y;PY z#W3HQIWyn>_w%ZwM+^?qRt_HdJ8yJ0-<)dk=yuUv?2>yKqq?i*PI@@*F1YvXdQ+R% zNB^|QMwjzUTe(HQy-$zf`fMVcE!uJKfZ!;LZ6HS|U#nC-qY9IHrO{zV9op>py%s6K zr9KZ@lQ@(#rHlAenFUORZ41`ur@DkVw?C|AyB!~SZv9;<#mb?xr$iOb_rEk6sMoVL zy%+fE8Lj8(Egw_1h1T8Au&R>c$?cG=xgn7H^lL`H#+9wyQLCNV6~nA*>Ku(qPKP|S z%rb7N<4xJAs1bbSg>qPMv!y6o-vH-H@o*fv(JDMxl%N>wy!ssc0C-d9pm(WwsjlAq z%3C9~`P$vv9q$vZ<(+;wB$qJc->&~!zmk86vQKd@nqk1aIFVmwWDKDJvJnz%sNTXh zC&P}71zkCpQWu;HWddb9ae$k9SHhwQ)a(R%Xv{D7k zV-L1>hy!iW^0nHOuEAf><){?%^0V^JWncxck-H+)h#?Y&A7x18IX6O&D9Jv+SbgZX z`Y{^F)a);X&vi!Ow{>uYse|>g+dENUfcP*t_;IVz13(2cvm)343;@E`0`*{a$&0LF z0BrSu|0p}gln%T`?&GU=YdsL)thHpm7oZZAa&JY{wRWFQ-bpp{>QR z+uYCOx9&s&glo6UcJx(d^M6Jcf4Y_un+Dl8+ojcpi5BbCmBnk_q?Q8p&0Ou554xz& zP`#?DS6Yh=*h}Dx^`SZQZ!t4=?|xJt$48J07O4&cLt`sg-)p67B&^=&%wm#Sa?zb9 zfi23hXy6#VtZjq%(ayi&xsUiiWGq#_mv2`*XQS|1H~wAv)2R4YlHY>%-IvZ7sqBB} zXd5>p#7XCTSu2hy=xKI`a;`AgYss0sYB{t~oSQtH_s)!*s?9%rm0jXY)r`aQeF}RN zKc`+~8~>It<{`l8EvM0T{ne8h#YX3!o9}WRPh#SEId0UJSGqZ-Pe+#awZD{8RRTpy zBj@aihwOebbRK8dsZO%r^S_^%R?If8^~X#*Y~vdB6Dh5SB~)HbUR%-%q^PYG)U3Qx zZWLI_5@By`nbUsn(^6>0?SK$5&kRw3wRT!X&ihf~@52BPs!75c`o&YIk-JC#ARnI* z(hP{Y0f{>(bHVk%9T^0Z9uTQ8EPslc*Qs7|4cN7)4sd6S|EABof7#VhBq7EnJ6|PN zDbkLDg^A!#$JgZ41Jjn@n98%pA9+!EPc3}YUA{dlKHXJLcIg151>)R zSfY1iUz3PGCJT|rc3+}-6A6hozebuwxddth@MTri$-1_mow$tLqF3SB;O}8-_(*oK zpW(yNt6=M$jS};RO)dJdI~DyTE1Al=t1x(EWMpeT4@g7(h++UEAM>!59jY75>Z7X> z=v;%+454uSKq{f!?;4rhAnHZN+NAhE+23XyNUTSmG1ggYRcF@%o;(zB7Gi=vEMnN- zvt@_694)ZvG)+s=e(NcTz3TGQ!}Be7=zYkgyLQm4Gu?(Fh&i)$A;;rS6!A{RI6b6y zaY+0FO9D6ohh2Z_0Yv&KMG1KKY){MrK$~Eb*Qz@+&xyBW=&%2r+(TQ_d`0Lm1f)N% zN&|N!S1cHuQ;iB7&8a8L_j_&}oknwt-qT{D2NjVNs-Und>a8wx8(B^v))r)AoI|kl z`$ViWt{oxP9;LkvWX>oOPwc48GW)`Y8cQ<={~6S&zMc*j>>Qz|QD9UTK2RE1Ww7XD z;rj4JcB0q~Bj@M-vTuu{Hz}${yQ&De9-ZH0&|Yoqy%4R-A&rCD-i-i>D1^y(ffzKS-Ilw)CT6$>Ivv ztX@dkjyaEFFVp3LHOs#{G#3Z|4)F56+#`83#H?5A%KqO1yk7jipw4CBp$4bSf`%@&Q7Fa%z8pJ)8>B z;otC9%)lo=wb7KJFO8Ux%MU-E33-oK{11**Q!o{)oFpPiT^&Fd`T(oE`ZY;SipP&rXYjJJW=IGA*|=up^%dz| zcW=uKyBe#Ee3xeD_kQq%S-l+f(y^}3Tk{Ipm}ST|I(~3 z>L#@HokBF)VT5;%-uqBXmiTtkspNi;h;(`F14EwKNX{VLloBp(%ERvKTv6Df}$@SM!FTEd4DO(Fo!f=nVH@Mo#F z9O>wumlt5^P^kO$H^G7>B_*EsOibMeb@hEPq_SYam4X(-!6B>BiTP|MrKrD<#y>A5 z<%7sL=FO~(OCYfYo3!7{PNGO*i15K%mFY#j5~oP-(@@5<2hDr@xU~Yn$3 zC+P%3XGq!|`Q}YS+sD7 zYyQTr7w=CgsH*8GmkqzW;_}o=XS_u&_N}-OFiY+&o+w6W<1#Y{MbefKiYz-y9YOyS-X7u+p>Fq z%48hCd41J;%oEROi$6Zt$weO}OnsZltOb(d8d0>VD(tp*x6HuBdjQ|W1Tb=*w@3 zrfv!nwBS2-{*Ys4v*kW+?hjASu&^x2Y+idwEb2b;=X?&*P9J%4bjR(|{oQr}GMj7! z3a$=MwD%mKKdSIbf6Jqr_P#Pw|5D&6U2~vA38jqH8ZqE*oNC`_;d0ftwTN9~X5+6D zRW1t>5>GjY1v+mgeoQNN5=k&vV!nY9wee_ZpLZ2trcp$ak{$yuzUj_;{|M`T%!A+TOb21{2B$^%^>q*-nd^@5@EQZ_oB zN0&T?D$_$Ujj}g0KK4x8aOK!Lqd>XC+Ak;F%2JK9rK}R{@L-XKw59DwUw3PnS6s#c z_vWjwK1suty>ekp#x*7J#F_{Zi!G&db#^SywhI0%&EH2LvXK8id|r2}rMTzOIL4=k zayOl@IWr-n5hp0M)1&Kik!Iro3pZVkvsCmc}!g$2@1#1LW1FvlI2TNw*Fvo8MF|!vdfbU z;P-h?rW!7#R8u!2Z}jWj67>8Npre4DRA7&Mt{iB7e-=-v5C+OFx9^O`nLkWroUE8X zBFlsfSXoO<;RZmug3FR+{*pOhly)9y9&Kiz8I!2pDA`=a`g|aP^-k3Cto%0=LrTiZ z%DyG>(}ViG!ff6g<<*UkLff?>S_?L1XBEB7+*NTspyhjm_p&f{!60y4{PZZcJ`g@! zsF#~~^FVLV!?=gGx15v<^PgrdvQk8()!o~eujC!xxolWHxsO3mEb&-@y%STjk!<-M zVQo$;1tS;sWE=Aj@;X!s`g32bAF*2%?jO7FAn3z*o7GRiI$y5Y;z!HEqX+J__ctk< zN$rWTlw6Xp^>V)|owDy+;R=`NXNSuhDTR9HUW;mQ{Lb1$4M_e;0v>9#-VPW`2KJwJJWRI{42Qm&Ftss0wJnlZJ@DU;{7TJdBjhkO;3JiWa2 zFQbOcQPTT`?_*lYYJ7W?{azjaHvbN>8`W37*?BLp;-MNNk;u9umtH&UHD)(iI_V@w zi7*riiH@8cgq_(1X5wW#Lv<~!k06wjc<<_(8e{A~LSgV;q8JiNA=rUogrnGNVOMuT z5p#jKl|{3JR?^3T)cD7&mtROIRTGq5(ql zF7{OPL>4tN+uYo};q``DOU`+*cfkpDe!n9Ow=7TJd~bBbqO&pHHU4SB>1Q10x!9-M zCXap0ip#j&);IlC+00Yor)x=7K!c`2`mn*7w!a|~dJ=ay#28E~Gny=7x+0oJSs#8} za?%FTmA(q<1lHoW$;qeN&K!?Q9O$@yC1AYr^X=5&rHz#PY@hquMk`7>oSrMJ8@^ts z!E}lB(x*rJp@`ac1GcfxC{j35*};S=ai}v~nb#!V9tTPn9q~oyDma$QK$F>}u}l&W z$cO=EV@D?6Z#9oJwcaO%d!K11vDF^8L&CSTmNTN z+NY_L-V26&4X3-!{qm1}7NLzW4C(rtBA+=o-IPZu$#DBlVJ3zSEu`huQnLwt zLB+Zvl@&SGER7;L>U`=G1)tVsH2=Nk75QNo+vrC9Dvk};wr?V;tUIi>mw;$}2$B95 zUo%47ZWqE6-zmxz@TFu-GhPg*UG@D&sIL&1QMz*=Cv%OsV>3Y7Wyqvof zn^XhW+rOyUBAT@+`i+&ZX;HlOqrAXp-2oNxi_2BOFLrq^I*@6S+i*-3=zWAq;>X;4 zbx|?o6d{3PHxLr&{78a}{Jp4en4ps>ItgAS0>mL~uPZ1i_Re;z!Lz_jYzeIS5{&8X?A#lrD zk%QbPFgGsfh86YU0x%Kxze&F;cTyVsUd|V5G2t6*USyDP zR9V-vR`~Gi7hI;>TO@~bBHN_n`Lz??T{)ekxS@xXiS^Ly5%`+vLo#tjV6Yxt!i6$mh`5$0}ERhWIu4sfirU5W%= z30mpDdHOUy`3i7*f(YZ@<}ND>ZYo9-(I2cG5rs=~yf?S5){j{kS|_I89LHhDewi&t zC%x_gpMd#7my0H)Ds}V!VhT&_BlKEK>INpSJxsTuD)N34n${?zRAV@Xz+!vd4Z#94Y`szyc7Mw(nUv=87DsL$7w})&2 zoPx_q7OffVm=Iwyw5p)fKjUucnm1gEfV2QtV%P$*)G0Ne-PS;Vb4`62g#Ng08tRj?Ukj{ib9Q4NrGNjUkh{PkW@K;|Itq2p0|;VrPzE)3(i;r!Ma)%>LjvOHtP+)x!gIYvJnun4cJz!dm z&@>m9lr)Yy*S*yUGlAF+VVgI?*aQ(qJz_rb6_CxIh=?+|giAj2BhFIrvvqKFP0Gj!@Y{ay0`!GY zGU9BI@tC0Ey}T4D)vEF5#QZOL8TXP{_=jV$!3W9a@vlWdb-5#pcuGP*o-m{PVov3` zFS|EVi_%Zl)rn7^9usE6s6~e=?P^%Iz*ctlI-)}}iGWxgb0%M4tvAu+}Hj z2ZWjURtj({1g!*v#7&YY@nY9**l;STsd;@H7(UoQawNJEGzC?CePzgf;r4L^Co5$_+m&a;=btVupS{@!Au!77PC7=-7%+9Wi`6Wh;aH+y{;HO4vD40k& z<$aoACb8~g`;h|wk*G%i%@BGI#HNCZix_(@WM3@t4ZKxze z=`6?`O4FzOzRgx}HXtTCx^Otw1LkUp03@kb(*=cxSAn9a)9r;k^T#+x9dXfFnUgA7ud{6EF^)~w`l++kA zJG*l*5`YBQZsxE3y0_bT#AW+$t?M|l@4lU3FO>vL1!&hZ6Vq3u&d0NRLo)|awyjXI z`u0yX*$)M3K$RkKiqH>d<>VM+KnrvivxmFBzN>L`HC^CDgu(rQfDhHxU@NQG&;PMV zKN6#&0HeR2o*uAMsAOej;R5h7Ir&%!*NGD+h`lAyQjD%Y8GJj8}k=59wyD;!yWqx7OC$tZD0ud{S% zod`1_;ogACu`1T=x^|59rKYr{dcL}wO-6>;b0 z@ho{C_!wlC#(TiCeDl_=z9l6x;Kjjsa*tw2U3S{^uh!40`SIH=k9{NY>jmQQF>a>I z)=l7m;bHznL}UeIUFFaS=?W|$;%~Q@SQzNb+OsEGHb5%mZT))5?h zkw=n+_!YOH=dEaOj{x5$p=lJyGKr(Pem#%sw~k|j%wLh&c9?dT;id@SQY7B7IEMWw zES=h_<4kp}nPUNNb3o6?hV%CJCbB!CZ8*z) zF~?c!qeIQ0R*AfgleDxn6cvY9`~`JtTweIT#8gEL#498W93Wnvn(Dnnzf%)^=I7^y z2$>anGt6FldSW3LoC3>Qr)>;mEb2qJ^l(uiRfNd-A{Uior1DgydxE+m*K{MOp75}l zr_*`Yq2oLq;w<+UM*7CnW6d!72*q&&2JdOG(r`y)Ylr16>)VxBD!D(S+enC=;8b*7 z?X*ef`<3~2KBa|ji1aQnktyzRz>9>*BpSUFekO)7_YVC%tP*>q8tnzk<1EbjV8Vi* zhXCg>kdV+CX~uyn!fL3c)pkh|`!$oN3KxL*sSan|Pz&{p zZF0}BZ$N(6-Ee0e&0Z?oJ!7>2QXys~VaL@!;-nB~q3UFLy@*@8{f+BE*e_%KkmME; zIKZU{cfgIv$ zH~85z|Md9#sDxDalDEfWlvGsmC3hr-k!*3;uI;*_Jp{TX!qgvPkui_H3K|%y&YIhO z&)o}j8wt$cU0AhHqzvL9$EMZ~{f!x_3ZOr78A7MgPxOt=De7cGvCO}{FNE6X`^@$yjMw&83DA4meb3Bv13gkKqiN7T~W9|4c3xXZzgKO z1O)~R2;bv}73E04?m4pbr^){lahV3&N=}sth|@m=cwDhjxx;vGL zjDw|>V`Eo}io@jYkgdh0Yu*lgK^79LnMcl|r~+og(2f#)QR)k_1Dm>e^Z^5fQbhN%gqnG^JtG z?I5v1Wm?hM85I`%La ziaYdW&oCBJbBmPQwQFrhmeDvl%>6d$>h30_-;xFy8JWy8vgszp`}H9R*mvmAtK%`k zasK)0%YbI`+CSk0Mo!Me^t4UzruCAxZ`q>Ol#|0gC1ot7DLASIFq#S)W0bvQYytD1 zRX5geKVTjqqbYQr2?Yoq8WA1y^ZP-*PNw)1fR_(he&r=JLcjU*3tOG$GzJ^c2;I1G zgL}L%uPfiKx5p@~Br#E5$tu@&y`1U@hR=S#NE!jk9$f97fK0Gwi5Ddi{9e(15T9FU zSKR*RT~kviwms>z{iw@YzT+kq6K^io@O_^0<6MN0+?#VS1D{Z0euueT)Lsbag*Hrawx~R@XO>O@4kE=L`5Jtf~sB5=3o`r8JuL4(kMUuWoDeWnDOhs&#dbN^TcA)PhnO%K-PpeU= z)rdw_XD8wy4Pd9Z3SrS3K~ajlzu)jXYU%uwQdl@!G?p^v^47lhQi}l>Tzcu*tlkt`cj{_HH;Kr!XYJT3qGh5y} zhrG`THGZ9HcWZF>nL-Z!;Xq&y3(-=>HNJg@Cfm)Oc;xhr?eh}MH@@gb1SeVwycM`l z8XwxRL(=j2)jAvmqsZANW_w#4Z z59hovN2pJtsO>LZ+U>nKz~Kh338Ga)P>QU9fkDSGR7%#58Gqdw(`To*yI(J=zT6zf z^S$u0q(*#knix9=TiJ) zoi`nMoic+PP%CHr+R1TM0CI3|BR&KTKD6t3_wS#3F|}eR^#jM6t|xl+BV!>Q}vnW1F>zCC0r`s*vvm$>URNMl70kl4ja1PYi`6%H2{j4B2UA?!S+BGRz z1qH)o)(O6kwKK=vJ6B*)ku&tE4NX3Y`M`hXK{*b)ct>mn)9U*j21D-6Y;M9kHgu$h zs!9F?y&Nw>NB+))Hn>yNc<884_sGhYR{BN^?f-n?j4`V_pU!51`{J=(Y69*nLl#-adXFV-UOrLK|Q1Sc;&jttm{)R?yemlv0$XxZkX0L9yk*e8KI!1 za4_*)k>4>{*P|=L98@1SugSRbA1*-6LE{dehK{RL(dZ1&W@8lowPi?b`&2H2ORL<} zrPg^p?Jz}UWzv;G(MOb72;j(7ro;6_rV1dfyeluiiSafH5pr9C^yfA;L`*Zx>DntQ ze4!%#%Bn5eyG_#sWj)DMZe%3O`U+F8WvD9%3s+QBlxW65KD>=_%wseF zO>i0sJD{IZVp=}`X8p2wf&{Ft5Hm__ztP2#ONM>=af`O4WlFxODMF_rx2A+yQ1m@e zz$Btx#YKuEbOaN35M2Q?h2mqPXryOgKye!Z1onPWQIUqj?yXz4T!Sx%wb#t&lMIt! zvpaqN$Vl8VU{%!fj-4aluv|T^6#WvQQX8Y?NIIt*Ee^syk=?;RA&Wocy3=cmGXc#rhH%sX zW&)18rEveoYDN4UGVQr7sfpih;64KwYYG8K7LJ~{hM>sj_Y7n1aG$;g5(_F9&D`Px zKbk!2>o;*3ExB#jwsDPQL7G(6OM0)_Wwkq$QNI4-9-1A0q{#AIEY^?sJJh-u?X_vP zQa+<&g46K2>#c(AN8T+ceGs-OH+!VnBBo=IwELjnitNJ7p*Sy(dkP%)F8}^D@38ot zcKLUK|AvvBAJTa4>{k5T*jpmkATYPEz>gEoKUPgwH}yrX$X$>WC*g2XP`E0pNJV*j zo`HC(E!T6Y{+1PrvlLK4d`?v2_NaO4CU$I~^LyIS-5t{)yAlmsZ9w`jXdB1qWT0y5 z_!u$g^wLVbR$5{DNb}C$I3AupEi+2soceW1C?fX}=alnyw5~Q6*XA8j9@#+m%uVC? zqNs>rM;l z9nPX!d133Z4^W|!;Z|NzvFBX2M&QQk`>$ohOBGJKo20Temo`zRr@zn2Ywc=bHql8R z4*Qgi2)mh^t``^0#W!r@UUW6Ioaj>Oj^6*e?zRfY;QFd*?y~x)1I>~N^b9jYRo|P6 z^M|CVzJ2&pS>6-S95;S4Y+Iu8j`t<5UGLhbwnyZN#E!8T`;%vTRA`oDUULIUD_+V!h^4Z!UFrp6bw8Lu%A?tz_$hOqr(N9EGD+!BAa6 zPG8~jQmN(IX2wI5P4f)iv#WsyU_B9w8w`d|$jRMiPJ@9E0oqsT>NYfg9x1W>hznET zr_B<3t@xhv{$T<&9Xe;5cWWE+Bpdc}hbrotJDZ(8()L_(o zU&~JI*<1cb4ZbgVSFjPSdy3ol${AMH)cC>B=6(EX;1{NTW8FGQ8ETq!P1$KK_3klR z#)DA>hED&+G17H)a}vefOIKl0euQU3A>REgTv&AM5_ab8Qa5{Zc+M(-y`b4($R%Y{ zOG@UM!>+$|-5I6}{&9WnJ@NKyU&71mi~@taeI>8F4ouIt%rEEVf2)rn2XrRw-w7;1;}VxoXuq6Pue5Nd{n8%WZu$5(%yrfhkH$5uuj0q z`{Pteui{v5c0OS2Vq2Wc>ZE5_HfhSSbLEgzy;R%Xctm7TV?5ebw!Ma@m+f1RwCx^= zGG8+u2Gi;{bu~hZvlQPWhYHusRfcQ-wq5mL)!o41y*29^-dFx!{;(tvBbr^=aQ!4r znN&>uP(Uu8u!mVp`ldGb5}lKrO~ktd%_Kn4Y^2fPuGhD#2pZav^+EnEt1x#<&WD!X zlB_A({J|HJ}BKwr;Ec}LY8>hQU-r!1u3O>to?l+y8Pk(qsFF^Q=%Kd2@X^+=w zD_K&!^NJIlOJ5K6-jjaOyVlV&;n%U=C!WYQvY+{(4aX^E019=~H-_>RoW`#i2bf({ z8GYQ9@NCA)R=ZSwp@6o;+@e!Y(D3^7HuSzWGjkak8N~C382oFyH0zbvojzc2eOeti zE^9Z(;F*rp*T1g{w>`_>+oZ`~6QWu!m=h9z)RxAU|K(pdhllI0zL1ZuZ(V0L&E5ZH zaHZturwK#W^SXaa%LB(Ei&ng5WF<@WRJ(ut&Z&QVXr?FjIa^J$SmOnzwzoVnFLD$n zXYO!hj=a|0NA(r~f`mId=`uu7O!I#o>17%)opD2x6pcXQb9U_6TK=NXl<3mHFK#UH zaK$Yy5BvdnOYu-%p(a4Rd0JW7=3+xvN72DT2e@9DYw#tD0!q;oFoa)6&J+JFYrQri z3s8nht{;|z*7n@9ExLBie-bcZBkW`Rr@Z+b{a@^Tv^E^2*TW?w8{_!AJ)#dh8Q*Oe z#QTGy(#A7)dhgB2#Qp)nHT0u>ioGM3K6J6y1^;ncH2dp7^<#X)`(F}1T;&4{)2nxj zat1cXEq(p*TbkA_)JrPv$*ywGoP{0PX}hTzHvB9wV8#-iOdM>aWuNQ+qwSdjHVv)`Iiu`mN?}LsmEZ4yp@H z51!MO@?hGo#NYl_Jm$&I<9`Cy4KW<_dT-Srd-~MJgZtYAwO6OPIyh*5{@Ss{<)+s~ zilXh6T5*Se*_i*KUv+%SMGikFlGI9cC9ZBdKqV2A`64-x^#S$6diNAhc3!p-`8G4! z)7+|t;;a~w85?rHHOP3#-Wd8bcv+7x^<8Jv?P`W;<8LE9Y)8Xtlwyz-a$Yq?BIL_YW!nS z##Ld?ATJ zh9hkCkt%f#PlQ@81FmG3468 z150jjZN~<6vx2?S689c#?%JGtW}P!iL)fjA4h`}>cnAH0y|Z(!#4b#1N=s#-c&ln? z$n0@}LwGzIRo(~jk73xm8wH8we zgOKru4R}6>S^Nc{*+*KhX~QzQQb+L04kH7M5P_k7_&k~sV}Tho0PjYWJlx|Ic5<1W z4<4ot0uKCwvr+2mk7V}J7MK=(8JZld2`3+(xB|8>dLqECE`*hVA&@(+9N5)pQ&J8X zA5t!3To2RxiY~D)rd%DHQXE7y;3?k^m61T zPsl;fQ9iSNDd-I`D4^ZB21$1&Uz1fqmB3UI+qW>$mt#nTXMFBV#>GKy0f97tVu)UD zH2)3&id$SslmQyYNxLHeG|CdKVp_t8e@^y72W_m))P@O$W-g0lDF^twBh7U%Uj#TDPXqd4l2k{KkHN^2Z2~o$d_noI4W}_Bhwj^XCUGz}RIAJG*~qDChyveK--A zr9wa`zzm!UbRa6sigdb1r`-ve8D|9iG`ve(VoJA_*zyYxxlGkylZjM0Du#!fO3nky?mavJdOyOA9V z6&CS-#)N&OJtygQHzo+*!gOt4CMf_eLjMXcH!8Au(6WP;LINyt_Tmwf^8+m-(%!*$ z!RJt3SZ--(Z&}P@tu(XP#BH|bz$X7^DOQ_Z3^JZJT`p7$7`X3LxDs@yKfcZH_yjBc zjdY?3#>*$uZA^a2kbsa^sNg`@oTe%_U0}(i_QzeODv)CsZ?g*mOp;9i8)klLhXcTnZQp;wFRvPGAa0yB#GbH~0ul$|u>g7l`46Hwl0^X@ z#4xyP;&0~*SIy?pcJ9UPwhdG^L2$#(`1tM#b%7|tfp^PhfpBGdPCO-{#i8*9)s{dZad|Hdv!)NGQfG~twDbf~7TPA&+-g#gI?FrHUHH~-=PdkkwCvxNBs>>A$n_Qt`Ng*eUnP1lyv zme?u@Wh9QX!*Ky03X2=Bx}$Gkx(^4=5CB}NKjWR@aM$Bcxj5xz(w=SdJTVdUpPh?K zOLNd_H*7t31y!f11eVyBmOl1!T$!lA5EFvEE4asG;3gcQP zzS`qj7}Vm>vA+7@TP6$Db|xk`U>-wOBjGK9;6|eH-g29CwzuOXpN0PQpOyOBi3fQF zAQKP|v#130?FaIb3;%CJW%yDUHmG)BSKymm0fdP$(N-oV!uKSTXM~?1Tkj^KhY7rg zkH5MM4+UuZT`|smg){i9p^qNDC(g}W_ZJsEA-V@GKj%DQx#GISG!#zQu^_H7k#G_G zSNiqq2M`;s6KRY_>NKoIVA?sfp%rf=cayA)Obj^<~!*Bk7KNiw+^=VdW^O%T-X9MNpP%C+Ii#{bP50{0f}M3}fiifGGmjc~&41J`}jf^066sQnTkJ3RD2 zZYyjgVz>uStGk#G+GAjVf~oDP^}Rpl<#|`Y%<0JX4Lh%<_Emtx3cR(*x`&vGadV~R zjN{7R2?rpUO(usO&o!-M!O+>J$87RjC60>zA3x3_qT{xW#<(eF{chkdQAQh4%3?&n znUI}Pkq|3L0KQF7jl=PjxKxsBqQAc%*0tGiL=`ljnwqkjkVM8*=Ofvcmg`|*eRFlx zUB7Dt0wk|&?+enu(fL=_sed&1wEWik{YG0xOy$^XBM?-C&wDbd$pJEANNiK9?UnG| zjv(pv$ej&EteXh-l$9WFu~ zciJCM8)pZHhH{1#uFcrFmHTYrH!FC}jdM2;lP$DL`8(DM75Jst{;#3^02VEp1*@x{ zqlsG+R(=z-xKP#66Cs{cgG^Gp^6b9Q5wh_A@PdLtiWoE-#Hj(SMIwnsNmB`aB669h zCaX9uBB2fU3*q*Ib4DUWy}eiH;)LPMS2t@c{-EKD9$P*0iPct><7W;Gtjx52myxEs zD?GR34F4^o-dh5OZ=;FjK4`0CG=Ng;33Ow)R|labT!bf}b<4wXNP(@g8lPh}3Rl=| z{2D>vrQl4)cxEpz@98N~CnqO2@H;w9sk*?nK=TCOWmz1^+`D(*01RF%XM#F{7&(A3 zCAtrORV88`F1Y;hx~jnHBgYcthH_zp?$W*Q4q6;-*+}|V%$09n&h1$&_vB=s{zZ`N z&|RV%zxMPPDD_(NPB7|u;G{wRi=N(DoINP+Y4Dn#OKB%n=oX~U7q|_#b=7CToJmhk zE(7?Ct6F(kPfss5x8JJnxnd~Gq5z6h^syI^qWaBISXkJ>$%#`!;t3w_o*E&3jWm+# ziyuorRagCI#k+U#Tr`H2kzVmNq8E6&!KV4Vpy2 z2JTcaEjmQ;KaoyXIT`+F%a%qmn=d!9wQpW)OT)rKliPA1Q(p{Oh+07)13#vDZWriT z|B(1I4Kqi9{D1lLu}dt~{fY<+PI#Pbq<#iPizMP8_ZI^c8E~seP!E?P@kK{q3Ss&n znD`y>?ECJNzt1}@eL?%v(X##W1= zq1U#PQ@Sto-&`dG^g}yd<>XW}HZtOmA257t-RO{;%Z^+Udq+ph2`QKS)B0UOzh>@69R@zaS&lCJ~g;9)(#Q)(-6Rs-zJWFnBwP( z%8mVe+`^vs-x<2qFLU+PDvv>?ecDPPEC?~NmUs8W3c78tme{Tr%4nsajmHz;0>*Cn zC9I$0N`9pzfz66C1o|2!ucrC4*3wIhzPjLzH=m{(r>j@5Zhz@M1+oV5?FJKxxOC!3 zlTT_QH-}|r&k@vV#5WEHS}{aDf*rZpu<#(Z%;f4r12O^P9Vq8yhVc#@`b>#|A4T<4 z-awo@@e8EFXyVV0ZfgP_lB;1<7;7q-zk>9l2wCr=#K;Wg{s#*m~DV;SE-g2ZVNfE|ppqR_tIrzOI`f)(YjrIjfNxpIn%_bacb*T4`1=P!x5!x@BP z=FhL*I2csmd{YE_cI5Lj^uz-{e$>K#zHh+$=0ji^x>wM-|P28b`Thapsm%C#e9CW~LK~I_h`(MEL&2LIUKLac7J;+)R zgkXSbb92~+;_;>w>3*fNl@L|Rqs4yFG51{n~^A;Xk zlQ_eIVO5M93@{I&z@n#b_pC?#E;c~Qc0Z|)ZF-;RT&lj0-MW5!zuZ>3fvNt#9cD9T z>yxLLe(iW0@dU~ZY+owR>1It3DzQ3Hu|;34hhnf2$?JB6{|JH)A{w?M4%;i|lOb~7 zVI)BS19%v0S2*V&0SN;E%`p}Xw*Z%Gnf1e z;xWFQ!EWdc@O!ID(-f%2N)o>69N$Kqk}RZ0nYV4TI5;78juFTny87}<$=lUHBC(mG zqBI_GF+G{tI?&&b9euM>>g03*P6GTbiz7pSL9qfKN{hd$m@{kogj0DQ<*eG8mjBFu zx5+1{>N;8Wc%^L6`gJuqKY~wl%=Y1sP5P%tk(Q~p<|fOL2dA}b4d+abdT`eWVTKK< zfiWVlt`z1G(H($~j!pHJG2~u{mC-4u&C4+N71JJ;Phj*dzX5tXxvpXkdDlhg^y2q0 zi^ev}Wwgz+!P>6`z?|G%P~`N+O~IzycIb`F3iF>L!RkW3VXRgl&E(GxoBQ94Mw<%m z^CM24{Q0Co2b5A`JA(pEY|ZMzwtBqqArZ&YtI;QGSO8wj7uc zb?%>G9IwK_EUCz)ho9BIw6t`__BZBZVMN$lE>ybkQ+oUthET*r#{t9*qztbgzlP0& z8lex_6#Y;^Q70FuYMjLRtXI0T53BAMBu!=Cp2Wq)G0(1=mfuW~qi9evQ7MQH<{SKd z%CcT}KU<2BZo}RPJG$L9Lf{54Kgjg5ed}L57kPYI%0(vIMJo6SwXJ?_X9Jc7<@(o6 zN($=^;*BG8aYLXyGnd@Y7RDc>b|gs1}YM%tXn16-Y-9rtA6G`81QxkLk+qm?3Vb_#&_H$PMs%XB9e{eq0Jc(vk zd)7pGPHV_FxP`pA?3v-T1#Qu`i+^t)Hq1O&<5)6mZ7!HTq0RDFTgPXr|Ke8~cU9K! zzExs1%I2x>R=+AezxUBEZX=NSZr#3p7>pd^2tc^4B`Gyv1NpOx>sY%-hlITQ^q4-2aDK+w6&+)`S^UoD#ESm#otLH`@6q&CNvddS%IR@H zN)LGTx0%+_2wp;ENBGJ?L1loT<X{igGe0p0X{yGGlyCm7ydht%#;B1jw03r z_bYFzMtVG|)MKnqsF4d2KG)g1oJd=)`P++Iw-6l?xo0?kw7glOr}0UI6yO{ICBW?C z0&GNX>e4e4sVogxB<2ATuQvJ&5!nah;yPP*)S`rhJL%$YbDGCGu`kkCOgAkxg_gfP z<;SiQF$L1~3b*Rswu8?|xJASqA7-&&&*g zunDIgwhV^L@ zJyG`0@@vtb6oeuRkGx`44`!dxFIdfWKc)UAlgf^Vy(>0LgV)P_qL?9c0w(_+AXWg1 zNT39Zy(>$GaNwymyP=NqYOb|(xw60FE{KSipql})xBOdlSS^(w)&Img={ZnEi(9O{ zkaTRZr#GOw`F;o0IlWM!>ZqgZ+RI~a6qJ6*=nF{}I37xp1%Nf?jS#p6Amb@2k{R}| zDV>fil~^_Ry^(uwP&yf4(7&kJZho zh9rmOx!mNn$D`zG|7VDaXDEL22{lRd{nz+W6IwA`KziAOWBXp|~a4}4jSG7AQx47dk7VgCCP6VYZT_0L_D1J_=J-{?G_cm1Bx)(t^O3q;)m^ej;QXz zPd8z;rVJGdFt2BgP8g$UgF{Ala*Cr8+Da%AL9JT@`w+sYh6Ih*#y-jgwooV*aS%U6 zbAT%dG=|RaIm^rt-eEg`1D_lFcl$wu=g4K(4%;boWi5D1<>n$SRu%t0V%jJ^BBp&M zcP2=n213Sx@o|6Lk958_VXgzPrpZzWD6=-C!c?f@a8Nn?{;r4?UIE}BhAN9FX^D?C zJfnX<eWw{S(DLHB2@<=Y*g$9YVaKSWQ+7ZMpx!DhLWd@4}gb+aK&_SgHHMQYVBa-_hb3(R=dD(10w<ffVg#rnKIrEi+`bA8NA>{U|f3*K1WHxk|q{5p& zu`*i*S2i)zCb4h7y#7iPM{W$J&*GeBY5wP_Qi17$43RTA(@1dj@9;#<)jaj9v5T~H zbYc|3Ga{-GV)~6SbSK_2)h0HHVB2(B^I1YL47sipwnS3kRf}K-&gU2Fk1$pxwlX07}`H)f2dsMcLQW(?0`E2cSZF zG32Nhf$~694*dcaIcW!hQno!+NuEy|(*=N|EbH-EU}b*<8LZMp6Fp0Us%(=7y& z@Iw-V{pit^MpyD60k#VkbX{oBT(@>@*`-54p`ojf0ntSQ1Sm-~Pzn-_4T8#1#nyTK zq>Os!ZS&ZK;oOZz^DCIc3x1;8y7m;+q9Mk4tV_jkU&qiUO-{Jf^7X$}dsI5>?#A>jb=5{9HA%z9xE2a;N1R;D2Mx~Z>9LW7^~_d?-pP~}Ga;~`MdyqEE6uE2 z_?kfnsaa|&(0yP6pj>^HLPkZdb~UyLL`o0P$6*%%Y^S{e=lIPW9D!(5K{N(m9}|6a z7eHBXi~_Yo3+W?Jb^;*LHwmdI|#D&1SA)X4$R=k zN`hwL8B5f~@ZCurHIbL6BSKk3TVknejp$yzI-?w8&>i+&E2)VQV;GP7IJbEnvMDb&i?9)U}sH_ND|&z+Jm%l%)LOWP$Q z{|A#Jf_M-RT-_QV;-koP`18bx4Epp5rKgoOW*WTsZ>H<{o7#=}*Y=2Jbey-x2&^$D zQTAaz+xsK8;lQzD>&J9D#^x_vfH2o&(d5V4Ed=iM4Pk6TDlSgm*LOOwc3J8@?J=k* z%GnnuTa-0zj^;cKC4K`mKVoqws@#5|7^Ha}rK+?+fqPosjVV2igJlb6->~7s<6pZT z-BAW(jG0&%qW)aPfIwuD-^dK%oTWq+S60sFXM<~&Q9!5&<9I`2CA)3Q)8iAY3B?=? z(l%mrzkWM$Z)Ru37I~by)^?(vTeCLZJq~%SxA$mnu+vcwzg5ZQ^0&cjvZK@_tmjB5`sq#o< z=Olz}pZyOX_3bydIlSTAZYG0mCbu=q5%I<>q--t208a|}Yx-o+Dy^m)5lzQ)z9#1% zH(NcT&{$1Ts>X0ERO*RngGci2f@S%lU{cW!<;8E4=by|RIhwlQvxbL zNI56C-4S7BM~+rkze|^g5J(!vAf#{vxv`jkXyMk>ssesM#uS5*iKu*-L?V_izgTp; z`53|0{riX9FZ!xQO6!ZRpPpOH5j=(I=K${z}0Qyca72jAhdu{V&>zzOb?mc9VRs3aa zhLA-R2)K?D!f6kLTk}Y(NRdbZW(hjsXAf#?YSbVIxIz6sW7k`{uxPCf&Od zGBoZ+%M@2T)xIgOJ}X_!y@+~GqTx^%tKrr(~a?z<#6*pV~#z=x`$zRmG^x(ANkmyr#* z85GdI^Vq_bvy;Q)%UdE{j10%wt9S#bjX7rx;K-VY&lBHIQ@oSirDx9{4|);zfY`bH z=fQ)U4L{-ZV)C(|!GKrw3>hk_i`e_bjhudNdm$GpQPUX$9j(Nt7gj?C4azoAF1ff; z9G#p!dy&XBVJRpt%hy%oUbnE}=b}qI+qK7v(1??hofUYHXFxp)lQr8FyHQw# z9qc=XoZz^)7uDNb%dL<9)*9cduB(Tdbi<^q=(P*Q8dM|8<}jKXwSfa=7#?lL&ue+o zeWt#x?I^(hruY0OJcY?jPWZQwId- zc+d+9I6wqQ?Mzp7eRyun?`tnE84!HB`M3Quwl&G$DiCN!F77Qe)~cEwG7rTpFRfXzdyjvy&RjM_|kF(k1*L>k!AbPWeie z^nO?$aW+q7m?Fu?og=My;f}^`z}W>6Nn^exJ#EZ=boPkiorv4=S&PVSa-Dy7bh-l` zw_60yc(Pl#18w!g2;rzkg`EcE#|fP7)ZaEctUGmj!w>f5?#byqvm&@yH(3BG0m|j9g~9&0UiOB~5S{?mj5k7&|~iq+R(kSkQ9ML=;YP;xVcgu*m z9qiNkSh4s*HM%w9?jV3Lf4Xtq}V*RfU*DP zthYzvT%I5MPIA)J(5zcl(fzcwdjj084t$^eU=nhUh*0{W&d91(JaY^%;O}>J z9xtjE1-m?SP$7t63`&D*8?rl6&%41+4~7Z zD!ymv{(-BQcF`p%(SBy+=aRn5uvapr^;_qJrIaH$uPy*Xss$f8GRFnZK5Qw}QI^Mi zueVCv8H7OG+Fu=+@TCvI*5Q$NYIT?*Mf49FuOt%c#4aWp229tFBa|P+UXQwAnEwZF zpAqbuZ9xwYHMOy0yMiQ67Er!sS%04?U02MTw>Mg0HfWIfMkVH0HovmWJUZ`%&E*Yujz6*jtl$!Bnw*|6^;+*GH(C!{_7d<4 zfoey)67SIVR9QdSHr733)?eu3qb7^e)%}sxbddWDT>~ZB=y5%+sgIK94*2RntMcVc zgIzq|*v$E1;aXvBf^*u(sIPaPwj^Vg?xwjBee=f}?pqeKAUr`O+~I=b{FRxJs)^_1 z3l54sp|pKl*j&C`6?H4mTB5~-ZM{-R!@hq%>)w@wc`-$C#-T*(SO)vgn7f~3ai}o` zeMJGSuK2KI$&oSj)$?uJf4?vwS8K8E(hAsg=B&#FmFkvr6z|j#4Wf*0+bWs0YVL%F z=o={Eq3?j&;zhjU2u58`5^-eNuQlD%Hg0K=L4oNZB9?~wwh3I|eed3{FKjeXxx{T5 zg%2lYyMtY{;r9C`39lnspQxXH^0oV^&4VUvpP*M?mi_h7VzZJ_MfpkRht)-$xTtI7 zxFDuAyL{mHYh~yRKB`!F#N`3!Y|QUfOqCER8=os~05deKz0%t1b#`Qi&63~3zl6!_ z(|=j_yw>qbQ%=(uYb<>J$uokUOjU{98O>kn1(jtd}3_ zQnS&C*e=m2Z@Q6Lz9D%|#Jrf#iwsuY&Q6Z8{N2EyWc4EJ(#26XcG&IM92;@sqN;Vq zyuzE0vZ|V8^jGwz2~EzZrm0>Ly|FlH`TiaeSI%9J3cGSP@x1LHLQP@Sloc6Q-#1MC z-7BMpX9-IZ7Zqs5rGJQssyS$9S7F=w-eph1ikRFEuLEWsP)_--9J6oz<(Q zj~vOhexW;I{3+#G^+hV_tB81Gsfg+9q?NF*Ay3;fzywh&0Uy~5{HRpOmcvHg$qiv7W8_$f`Iyb!~?{2w`*6*}D`F}i{xW}Ze zYU+5~P=Ss|>B}WjtfarScs*+(O+}F`-A*}1R~XTz|N_Wsen$IPc?UYnmU=qBSZB1Bz!-TnzF zJCt;8G3Nf?P>dPUOSDSf0%!N z^1kz7^VI>F?!7lF{QGzHUk*i4$dg)N87OD|&)<(cCX(B9wT`Jp4tdjN{*Rw0Ug%G$ zdH?!v#T`objCTI>1H%U+()QQyzj3(I%$=zvq%e0cXt^;*zL?pu4V3Oa1tU{ae;V;c zd%Dc%R&%G@LTJ(}MGOj4IU;ClcZv8YQEoGhsG}m9tb@Or>}##nBoiZ^CW1{k$Z5i8 ziDe}M4Uk9}-s+W;$dTe18l>M<#v$XDg9=>_zrfP)qUK#|XFp@c9mC!9;KkYsKou9e z+;P0SW^4%tg-yNMR*-Tdf%#27wSPPyWLIT<#XEMCw=HC{935Ns7#vAVApxtTrKOpu z<+}EFm@eC~BXa(M`dd<15 zpE+6O^;s0)_r8|nl~+aQ9ltbfxUa|L>YLp(PslS}ug;z9SiXx}2%t!7c+#-N=gqOZ zX+z_jd6rvIr=A-f9qmwZyKU5`Ai}5^GE+I}m+?PZfM0fu0O{*+;*r;- zOPAVZ%sKpa@crnolWoGr%X-As$$g|7P$SoiMc!g;wz7I>m(%y#vp17=T{@oTcmXEmVN%0%##y6Iox}gA>w5=q>gL@c8Dq&hfPfX<4^wS)UT6POHQ6>W zC-|c#lWI^xB;L-E8MGWz2}5E`Cm}1PRtF&7msAL!5Fc*p)D1Cg(CQ5dH5=$+ZZwmO zwsVyVcMw#BKN2GR^3q5qL}^8^Qhu)N)LMxUvkJsV=-PW3luyxD6hsRqgx4tTnQN>{ zww#)c>;dc2KHNWfgBJLg{(1E1d!t4X$V-!UXOfbCDQ`tazec$gdC)FIfOL@$W-b7V zWP+_dx;9(;`GXIjGDem%6Wa2q;;gw1y!67=YRww=vaN@A@RCH{o+=X$`8)L$1jW*D z(D$HNRDl^2zL7#O<`R2tS{x7lzrk~78rXk)F-Byu9O|7}D>C($_qq4*;T@Eaib_hG zSI&+xd}uWe^H8EouC=xGu})t=;f3^zDMCy~TL4|lvxh7!dXt@FXS?zP_w5XWJBT~? zA`0jc73Oon@u|^KucSTTl&GcpYiKAYe{URtX1&xo5TAhtWzic2BLcv{w2Bd&FhY!jX=#A_BrCyE4Dkl6s#r5>f) zJk27*@-{v1cq%Zqd%3nDRH-vxFuHFsGsqr`b-B6V{l;8k>EsxWD-pM zsKzRf^e-=GZH%*b_38gqht? z<1}8lITRHYB?d|rb!DPHz$kr35PI8OWBhMJK4*V#eD()LP)KEk5JVgf*b57qtr-Ty zhY(qaxGBer8?1e>X@Rnm(u_l%>#o}QH&j}lx&F(1O=%tC9mRfiJ{Q)OS;RIAD1`Ku z?pD#gAbWQgZcOKF>L@un**VgzDy4i%omOV8s01Vi3LKotQA(oM_XTdhFl}SMNF`}b4C-QXZ9rBh66A93Ke+mFwaf_L+b`v`Fb(0LL|m(koFwdsDK{cZ z)s06NEe-D;wC!^T5pXFoLel#D@{2er&8db=#LE!RaR_;c77dPtvrNbW*wae&5ay_v z1`v_E5#%-oe&=vl`7)K|QSJQFUXO9Jow-D*EzMgB+{e8)N`3oQPspTNsc-r{qs;0S z#aLIj58W9zP#h#Vh`vzUo|*`FjxdFoLqI4$CS38HcezD;iI0;^~ zemo-icw>8ERQac6FUt2sP85j!`!4%JzE1w4ba(ZYhUUS~_nGr_@@isP98}l2 zSFx3*YjL{l1Kh?)sK#Il{5qF<8)uo2sj@l|OuB|_i+k{S1L_CAb$j;d> zuqwerlU3zixUs!NFmJe|ArZHrxDcfhcgzigNq@zD)zZ^@bw-uVd&ay|u9@(Bepnr* z8cm=zHp8MQy`uhh8$OQ$3SN4Y8 zYO;)VP}U;MafZPRI3hS~AP3+gd|JHQ#H6U$F9=}w;IkO_i&<#a9$?6TPu7J-**C3= z&fp?btv$&cf%{5hVxi65s7dylV3Sm)xT)|M0!52#C;GG0&yh~oQRhPr09VbtRSyx(8>6Xfu-8l);(>5)diZ%D_WyU+oiOUFmKouPYadCbB*iY#)k>6HZc4{K1HKO~ZVj6mb5 z{I936c4ok6vSOCvj9!^P3yhR!joTpp>7>6xo#r35yha3j_^Cgd8yrx%LW6chqA%`q zYpv|B&x7=WajqjY__}5EuwnOSYQAc;_fWeh`FaAp?Z@s8o+k)XLF56vituHK03N8_ z426_li8-Jlu-S9NUMULR(ugIOk=CE#n0;AtnZl|s_=V)(+iVRF;&;XPHw#G4{czznd$@RtjNLmaM2Ux>s9K#PTlN$t-g6o zgKjT|zrg8m&xtH1+;@!h zB`8Ss8N@hQk7@0WniQV(K?BP!<^44M`K9gRm^)$kNvpLg^I}t%bu>X=jxRKHtCAjN ztaZ0y)LIWUH&;Y&Z|Y2`TH>n;DuHOYg2%P`x8R|`b0@VO+R#Y(?A<#9((kC$rQC{@ zn`J7;4EX+jMpC|+or`R`1CP;`H-F8367Oh@^YfQhs1vaoL^Hngg|M(`w6izgEetPx z@^G~N%Sq$&a+3%WBRE!0^EYcMc{w8^hA!n0KEFPe7Ee`M5eMu;7g0>0vDJwNA{f|9Di045hr906k>uvKFs4U!T{TJ2 z^W~z8@7=G*C>HgK-(+Oiv5JMSSSZ@yLbw0ky!Cp{0^P3nj9iHLj?(fBbqu0&6CMVl z6M0TK4ld*49*N`&z1|E^3z1BBJ-QAx=pN@+TiY`*1IdE4Tl99FFnGITz0Dzb+Me_( zd(s=SZ*B-Odb{Qash|_Eb!qID+y@`5rUlNd$O`QYbWMYT3ekZD6IMf4*e2oj%9~V# zwB~YS#N7|7QA2&%eB2Y@dChV!VaxGsPZ@rC_C&V{cCTJq9!@53sKr*J=Zd|PihV0q zOfM?Ser{*yIMbx;W=rL;y=tc9Op za83hD&z^uZB-d7dKj~_GbtHZX7VR`X485M{Qgx&3#YmsD)i*Xw1i<^_Ok}CioZo(1 zU1`8Q?s=kn*yJ?V@@}Ls0MIL(dFq1*3ik3fUSahLula+!vCva0I!~|x<}?~^6*J^x zl3@ydocZ`&eefH0p?R<=+Wqk1!&&uGV$yJPOEL=l0Fa?>TfqSPi5+9Vrw#Bq;m#!} zg}JcVqiSz?`|X|~r&3UHL=D@hK6vn~_3JX$0SzUZR@dj$h!LHBS2OC|jkl(bpc)gW55sezp`Z9y+J1j6N&N#2S$d@A9i}7B-f@n{S-EvTovp zQS}WmXTn2H#vqph}meh+9c z$XGI>Z;agY&qhi-R`GEWtU&cQ2t%Rf7%@z~7#QqEvnhe}=ubt7#-;pPEHX>fpp&ds zE{b_>S0Dd+{wvejRWEO^OSY{S&%1Wu0w4;}e3n-09SDnvE|;A6>iRq>*4Xa(@@+dl zN9l#$t^97%@=o_{R?Fn)RffT@tS_C+9y>tx^}Cq~Cq)~G!lcrxnI+zDxM%29q7Cey$9IfkujByWk ztl~pPrk{Ea9y|7`ey?A8^qAJH+cBf?N!IY<^5wth@7wcIeu}fjqJ+CK^a`{Y>YrRE z*%z9)RBin|b-n!1ddIT_nWZt+qHxUtgIXxsgQ zES&6Hng%bioD+D=?tQ`1jOV$|Z`}%mnyr&pE=)GOvE@OitM1}`b`e*%#B3VOb+u&g zj*WB6-L8<&On>J5Prar)pg-58&Nyi-o}g`L*R@`M+>Xut%_^ft>&{3RKVLrd{L>eD z!Tkasne<%%s++-+EG4NbsJ6TTcaUy*P9KK&OFwV&&ytMm6Qj z-8CvLbBj7H-|gkv#Vz*(T(_8g`=qtq?98$6H={zgZTYRBpy`!O-MzlYwz}BaeXd!$ zAnDDg*)MFSEADESeE;tA?slIyzPGF2m)6{8d~IEyhT)U#93~8IWu@GM&`_70Ckagh zIO{jA+!k{TWLJWE4$TjMeHR=OfWIbvgvW2Lk&oS~-$~LL&Z>oRasc~=z54GbxXp&I@ z(;ywO*tUcOC0|%iSNW)wlXH8@=%;{4_8vc+Ke+K=mrLJw=n9JAC%JH^y7#6|gPV8e zNSfM5NJR!jO-M2FOtyAkzbxP<;D4cguVjw2F8!pB{>=bDJp9Lh$GO})@%r6<`Cfm& zATK+A22JN8Bcs_K_GGpxpc%>?6p0ii+44VFiaU;8rP_4SIIm8Ft;@Wgg>ZyCAm*+fvv3 z$4@Yt&xR%3O}{E`1UWWPy5CSo3(aW+D!WMOt=GLcNDHt%a~962j%p-|LHJ^|cYN15 zr1OJInK3|U62UILuwp1MW)0e@m^=({ig9qD?CY@h9g$^hT;?)AzTFlC`KF=KrKP1p z77zM{%5d@hZa=Q^7C7=%^bP9@u8&IS(Y5RA&r>7>-CA&KgV78e4;3?7mL?%;{2B*% zP6H(nK;`b=7BAF&Tbq>i;STbYny4Kuo#5w16#Say8#PP;_(?8DE>qI1YNkkAhBEvwRkZ6)WHuMJYVE zx))J?C%7FC7+An@;%HG6d!ugub^n_yRY;g%9ngmeK?X|jbwK_I&Y>R!CI!?*Go%^6 zf}7LF#GCV2bY8;y0w)n5)O)Pnla?T9740Ta#ukLyPr?jG&|-;+->tr$SR2_69pFzd znz4LUSeqDftptXIkUELq|jpjanqSH>|I%grp<%`KGj;8Mv z!aAyI2ZS%m%D&*4%B;V9X7^ncz=T5=P&%$W@F6pgkm_o^+9J))_mBCAK%SubPTso> zeAqz+h7Cvt*!Nw1vHS7wNFAOM=!5vVEw};2ephA#WVav~+C>>E%ufR^W?cmM3%b`Q z$f}sbAP|0%3ZpZD=jlg%L(ugLJaPX(A^#DJEdbTIc)tz7aKGxL??GBVV--{W4|aVLsJU~W-n$*-!vyD^oDEf4~e6jLDg z;=Tt3Xe<<{DzHkwAW~VfOh*6Zm+{{gJ)+_G0j}hd(Y=>IIEIzIeW$2;sF{PK$tydd zf=CB87C|r2Av_A0pJXG9V`woUP?*j^3;HnY*C18B{B+)_GGQ(KHx%zRGUMTe`~L^Z z?AJ8WzxL=X<_0z2{*#=mtCj1D5o4gKhmV}&gK5X)yc@FXdp35zoj zi&2)b=4RZ@=Q}*qwruNM*C)ZT!V7S+ncNX|2bYZ49(DD6`MyG;*Xs|J_CgKek=wAN z@xu@@_Hz!Ta_YkFZF`^xU?ikilr31dCj-6yz(j&a>@s;Hhs#j%)aYb>zU`m_EJCA< zI6CE~Dv%g;(HqCVcpeCB#v}4}910HxWN_+_a$_evhR`TMqIOAc%c*qe_RI&gz1>** zB7|2o#4*27RCaOTuSg-s>I%13yP!Z?cQE^`;y*S_iDP|y^XH7wK$OhiLRHU?E`Bz; zug(@l?((`X-kP@g!SqX_sa5RKWhdVk%B_HSuh8$WOm60{MGMlwK=v{b;WuE5-_3z&X#84t}vRXVn zvYRL|6c2(_q>CR!uF}cmwm3-`78E~waC(kkr-&2U4~R#Iu|>t@89T60Z;xOC=&Dj7 zwtPT>O6li@(Cm|w;DI!}6xw}V)_Hl(x{mO0%%}p!5gKo1toAbvbj}MJ_nm*>@#DUb zHEi%x#vG`RlnV_$`;7ubuMBYo=q8IVK+G$mpK@N(yA)~LYq}}@)vNncLXKXMNvUwf z4!kyKdk#`g|MdcA`{wokAGxd&32;KYA59o#N{T996) zQRwywJeW{AJPv5tk!y`<>t3q;>wX!D&_8p4aqNjzg<>a;L<9GvfCT@A(W|5bw8BZy zts+qIOS>&+9x<}8;`-7^5DicO=)a^7Ru4r9J>e;|lW*%`5-(e%E66F2mjze0$Q?5O zxM)QivPXx>dPrs(9BsOK-3&RI(%^YV#n_OW<%(a_6ZG#iwL)AG9_^du%2!7=b&vX* z2k44>zu(}&?OJQ6w0e>arGhRB62Iq|)iO@iul6Cz#G7o+zM=+XqaVjqg87Pd9D=i2 z6=O{3gmW>K<65&15K_{2F)$LVrq2nI=qe62z>_m_M}MmCdO{(4sL=?EcdwF;p+o^F zM1b{}n$mN^-LU!yz#gu5%<4O`dsTInd-#dFJ(WFLHRSHA@nofRKXMve8g9x0YGB!A zb1C46w*IB!s_^hlSCk1@5C3WoRJMinL!S_tC0sg_cXR7F@#o-~1y;@ohg(9RS*(xa zxRac6uA3EW9MOP3vxdRR0+exHJN}eu5jVA*inb!OfY&1{&peyEycgha3WCl%GT^%d z_D2k+Uf^gUAU!eL6V^^U8S+o`QMG&%->}YF|018=8 zk_!KDoH5&~N{n3N+*{F4$>&FX9@X+WM|n&S+d9 z7OWCdtvf|ZQHc`dL2qt@L5*>1 z-U4VhZgdO{Lcn^_zJTs<4hazb#G-Y-ZTF;Icp*7F@ZzocJ(Vpa1(igtD6~nSf-7b+MbrlLEas|97EVr@+Wwxjlt?F`oo_u; zA2n(w-Y*QII_JeaNm0IH9cD60!Uk0tD%k#k;z^|{r9(=1^QgG23{7=V(cJjbN65>5b>gR=TT^IKF*NAbX7pBlz0#*KX^r%=(WPv|xWM9s=k)6SH=u02= zncF+S_-?-SshrN?z7GK7R&oY;b3;%+{ta~Z4m>@ZraF#N0)R zk)FznN~MgJj^mz1pgs*{n&6cP*4SB>A$bCa(ymT5V!^xlxeyrjBTOr!fxZC!Io|0j zMK6Z-S2SO+SC3nkD5Zs;$_km;NvyC$p|>n%Lw9tT;%7BCRzxkiA?qPmTrnFit?_GR zC(m1ps!efgSiex7%hy9Eg%m-CA1!rtWGRA7aqj-#x&rZ0WtRe&xwZr-XDMQ`)mI<$7szVj_|67+n3&rV=GhC*W6LS_f zSyg<6x|1!OoQ>7NvaP~8vZ+HY-B)Afs{{aH~n0mKk4P|6QkI z&gk%nh=@?XdsjbB&S$?k6cCn0OyQe0g{#TYMs;WNLw6NFOhD=Gs95J(s&x+Rn%LeUFIsxPdcO-X9 z*hg@}{}NSA8kaQc2%a-yQN(vG9Bno>m(0F>J$U`AivIG$Sh?O#aC2TV5mBbv?43L zdfN|eokS2MlFR5NI0-bQ89JLG8`7ZsD>v<*O6rc)!=ok6&H3jhtEAts@z3koa(Y-$ z_SXpH@Nl{UVP`FAhvEn3H)9*nx}ylg%fRW+a`9eY%CkEOzM+;mdaQd?FSEO&B?Pv} z3qj9aX?x3@7r7HtH%P}2HYgT5EW_N#d4|50nNlp-hDumPPqzh{Fz;R{eHT0X1RhJ` zup&@G8Yjt9hG7&fJ(&n3i>gN&IZvNeIPzkAe7=P;Xl*)|{R&AQ;xqE>V6hAT1usAY z^6noLXkmQznUYY)8~=^x>Lht@uun$TASNw_u+9mE_&IO3tF6?lAnOAOPt~&yZrE|e zA*gdV>YZWJ&Ef6&L)f7v{PuPJ&PgYVn23O_5N{EhCj1r;6_fLIKuoVXCedE%FJFFa zZhX}z-w+=HZ;-DsLXd35I#yWd?xyVrf-v})oIqxyM4!7RxxHM^;-|VUh{fH~FP8VN zlKzzMcB5b7?1K6xm!)-UYKNHCug$*M(Zd~43)<^n$QTvoJwo$%o3oi{9)v3#W!C(~ zbc+;FDm4iBUu5B4{JqPaQ5}Ej*6qxNaTi{}#8E&22i#`nKZ!3QF?cmSMZ=EP>edpj z9zKQ?_9jr&d_|b=x_iKfs4}AS7(gC;J{KSR;OaxoOT&i^TQ$ypgT)5T6M2ITJ=EgH zzXIkoP`W#%`*gKXKu63GP1njSZ^4#IBQdYne{!tkoW!DN6dAYe%01CDA|0T#iu`@R*YPf~rm?ueRj<2oL9v-vpT6Nfi#iLLaF**57k62jl@)cz5y!%hF zXWRj<5f}Y=b(v70kww+G?XF4RbJ^3MyDi^8Frd-%YfpXKp!Xk^M~o?0bh9dRL(`g= zzJ~{P0CoR~s*D_6^+~GL`6`3145JEdZQetzM-sEiOqBCt`}>>-B-XO|yvbwQfgV(W z;k5J2PVQuEpI_y-(n2O|cHRZ~qfP@t01tjCoo{{f!rH2^S!Z%I3{o%Lz1CzGF*!VR z{PTt-p0ifgb`&xeV!eXK*u2m{^H4D8WX^lT+K@-FP5Fx#R-ZnPeh&^~#omivpDRx# zHGNCTudnTqywuBhV#9-I*SNvGKRkUySnTz?zaHAt6mM4PVri?YyV7}wk(uSieI|8o zH8DE@=VbIn0BwsdZG;$esZ6VLnIQHcV!iT*M_*!!-c72Mx7&X3Yy8*aLt1Vv4tig? zd|{JyL(?VKNgK2cLu-cE!uXS$cckn>(I6j_1A~uAiM>E#+IG6L?=XI4_;Dd9fSMBi zz{$}%nc(j?UpbN^kmsm14#X+0sVYGP-twim=#2ILfy7Po8|o`$#aEC5hISq$1!W=ujv+ge79--euE9d5Id$m`wI337j zASiWRqALxzAcT6ySj*wwerUVQuPJhe)(GZQCOi9MeFp!KAJ^;#pMs!X5qYsw4Kol5Sf2g;NWM zPddoaD)=DA0U)1mwlYB39_Q8UG_Jkd^$+|Q;(%1`HQ5a2l+=&;F`am()m;aT-}P&V zs2o3kZR~+|1S+HpW>Gi45FhUAgT0bd4(T3-vhC8f>$LyWOE*~{JrOD$u9TV6qzA7a1quf*z$=iugjbiAkE0`D zrqIl9NGxfmk?uf+T5|jctSDZ8*Fwh2ePneDJD&QuTSgWQVdK9kn;R%SjWU}e{6%c` zl*+6{Q!SF9`G$9cE$ z4(m@1p9(x=jQ!n+uWd(%FD+qr{1XUpXc#0Jy^z7!ZNAAjstEIE)a=Hrz)Klu-#q#6#7`J>PrCeuiPN9isggTd0J zORL>LXAnbet&NZp(X)7{n?p=Ruiu66ljeMNirKMNA0JOs%88ylxfxB5oPLxYRd+fBki< zJivGXk^f-)Ad2Ruow;R&$AAlfpo5IR_UwFLqtdHa2c`?C>!n)R+5vqgdvP;gX~fHx z)cW1kYSCINtJTlW&JlizM^!Xy$-#gyLkz?AfKjc0zEq{N?|Y(iT~ss3b|<{C}!^uO2IaGc%`F2-KLnd&TE4 z2Nuv-+Ui?mCSNA%avR?&vJq>I z(K6;S#($kUS4G0YsU=yMH_hnT~?k0^^XlL105-Ex~-)53C zOS}5+h(pNZa+iFYxsLrzx$p$*x`VNXaIh>R*B9J$H$SP31e}oC151YLf%inc6w5^b zh{ihSg8XvqfD85~=a04vyhLQh4>$`V58C@aPRhPrMTyivfr>(%Se;3H#1yAMc^TpiukuN?||1ILU$i`!&cM()oOE zfJmc&fjjXwrl1nU*?x?Q;hFRj`{1A6`?U@id-uNxg_vD~3Xr91iRa4hFUyMTv$QZd z+a4i!?~yf!etF$7Z0I*m#}__-#({a=F=&_*G_$YcIL?cA%H@Jb0}!C*Pz8;>D;hFRv^c zDa7}gwRliwk>rEOSDtQyQcgF)*4>P#n~GE6ec<=_Stz2IX{pPsTzwn!y!Pvdva*@ zzbx6NnL7-#OojgQ*i{VEV?=Ccz=w;U)&+@NS2De1egX)qN^b8KZe~bpABub4sF zU!C(LLkHYPTRX`c~taQGE?*k1qEKEXX4Ib3h=;h;Dzc&%E@zVTe zzWknRUgvV2JXQ89x62NGs(dW$N@St?gBH{2>o;Wmp>_S`zOD84RUdAoe>gR|a%)U^ zZT^65I&XK!eQhj_Sn)C_>+pf=s#}KtV)sq$7pET={hnm7Ptj>9ISK8MO}j1Jf}%gC zvO|1{0iGedN666EurRX;YtD>A8A|$8V#WS}r%4z3?ZDq--H(@fELkd_tE%f#oYYh` z9jqF5Us$OS@tbod2~4{D>!m^C$14E@UC=u4E@|$#f2uoU+#S2sk_5IE34zM9AwOFc z5V{Vpy_8e5w%r;kw5RYoUiz)3sf5Ka{|LRE}SUROpdkP6}2Uv*_!`R*X5 z0zvH%Fllk{lH&ajeIF|Jw!Dr4$!+Pw>EGz9Gf{)xnaeR_vBClW65d}%N zZqg?nwewDOc%|cH;59WpEv*DK<`d7?EQ*~j6uCmBPo{#ZThp{oDFU^T(U&#;o(zUS z7Rc1;)1}ueSJ(i36&yC40I_{Xj~<$;oKPbmRcz&Hb*K??^e(n*ceG>y0TnOvP0wTZ|+7QU#;D`u$q9t7Kt!gIz zA5$(-hbWb2At+&LkdmeaiMH{^XnW% z8KB|S4K*d}Hg3F&SE0`Fr~XauNMN4XWiUgV>4 zJ4xt_c4n4M=e~z86oyUirNot7!jd|dr!QVyFzaR<*i>IVn@IU5^N-Oh2+{SZQKKa8 zldIySnZ8^mii_I6TsNUm;lv}SSDRYiP52emg7?ZOf%QAbGo4fQifw_Wwu*v?@rApR zmWWME!Z=4vmxozPxe>F)lZxY$oz>k~o7kT=MC?0)1-+D8A05;pClC|FNh0A0G_iBY z(004O`THxt_3Z7fMFvk7^akxb^+)F}Zpn8e8uB&!Bkuxz33g`Aez6rP@nl$-V0oc@ zTrMp(G!%<#ME4sR_qwA9-XSq5*SpZIKA|X0B(PH z8l=jJ7Kslz_`t=CeSHm-h`2yR^`-Z~M~@zngy#)h&k`_Fnv9K&wRfFj;`Djnru9|z zKEE94ZO9Scmz1!^Z5RZw%g7xNHo~2#+YadL3dod*!4iE6+DQf>kyO~W&lY3=A}R`k zC-v}!R`G&mL-R~PBv)g>80k+YeS06Kc3C36A z&STqKAUQ~7Kyf@-HFGUCwv@X6f?^{cm&ygAWsy8wT$Fi#~Gri!!%*fLz; zZHQ4ZGYf#f#;Cq@^dF>pGVT!NAhv@D+;;kOPd9auAjT`hM19D;V`#K;w+I_3{WMi6 zO?}hVkzN1M0#r^QP@zRRl8r4qyy7N(X`d=TbmYigs30itC7W*CJ|97PvyYGZ%wGmc zh-OcqI^ChaE2;fPL}{lZ8QG=I*G>oPc9D@1D{p1#ydjiDw689<=O5e*Y~< za{L}7>^^zzASvVc?@_r{(I2`E=%eeR1W>(y;H|ftN@QY-a zY#Xs(Q$#{cW2_TlPMGXplMt5W+C3pWIicm*P~T^k&(2nToj72?^uA-aBYXk}0Kdnr zFD7(`W2(*c#fuM^hK7YDhB5waU)9|$rWQcyhrofmLO|!@T%_Bk8X^`Jn{$z#NRhIF?pJkbGPU>B;qq> zv<#DAmh6oeZJea|{E3Zi+-twDs1;2G#r_ncqb1#Ms&o3yb>-Q+Xo>PQ%H9^wy8?-&8IPS5M2t<^2MPP~y zv`!|ijM>wxj`Y|Z;}WyhU{sH}0Zo^5%fh!$dA_LfalvAxwt7L;H|y?SeQ6t9kvVXV zM_Aap4I5~7q(LDGk*$-c^t74W`HZYwa-f~Um#zZij~rUp1VZ9I|kWGU$;oHn9iTGz1t`Fv1oV zXWS0xpLjC-a^a-d(r+Aq%OZ0AjGFeWJnK{oK`9$!dwZyfkPKT}TM8Z@3F%f&y`OkC zd>RcTNvJG^Sesgga@8Lx!uB3!5x+d&7;8Zqj^OCU-Y#BNgtB?4kxTMg*f=c$bk8S` zeqj|YvLHl6AVq&K&{i>rhVV`kTQ~7qOibIlj>`LHiOE~o$}B7f@cjt&jo6u4)6}Ay zQ?xbNzweYt@AE(0o>N+N1iNte?yQq+5l-LkhS!V$uznev7S%lSGMF5=KycB3?%KzX zABXn8O!p|v(c8mDtI%l}C<)gor%T)lb;d7LTnmzKIh;=42A0_}u}JKZyK!UUx`e>g znDo+HV5R=JP!xDhc)o?s8ItY(TKAu2!|D{p%z(v@t|Q;nxgdXW)t%Q%qDRcBUiCaX z7x$P&CG}0Ghx+P8M;2ALE)3J^2@J%|_>+#WJ2k=f{ne169GXOQud}gv?)u?c%@Nqn z^XCWa&T~@jF(P9u=PzBG=eu|Bf;;^A*eLnB8MnX|A?iygYEj^u2591G0&C70V*1Q9 z;`z$Joh85Z){D@M4%@!)uqE?9wK1i{{!3gyU`3};$)!Lo&s!2suGj*3e7dpTIkovW z`bfK4#%N~e8!5`%yNcqbZq*axh4D`F>ES(ZDL#)5U%8fBi3hjQZFALbkxU$akkJ+I zT?+2CG4D-~XP;a6x%Y2$^Np6bpL*DonRo5E`P!na7cY7$4R7O3J-=R_F{%AYK3dBk zWova~8VfgSz1$dUx*$9>v{AZ#uIpoM`=IT5W>3x#*u-?VQOnYL{ z){2XL5)!V*Pqqt;x?dG3Enc#Jd6`rLs@BGV3lh6DsOKyK_ZYL|d$YRK`C6O1Eql~t zY1-B8>CGEfp4 z5kfvc)H;vq(MjaERBx|#ZHQ`Z98GPa8R8ryx1#^x!S6iEbNwBm#q?V-cuhOJgRDXj zn`}!H(C5TcUAIkLQ4`_=Whe?K4Z!T*f8XyW&mJ<6l74UM#(>R%TeO^HYo<9!vcR36 zu9M5V8x|%Mi6~zhlNpFEg!$5tz-#tLYKiY$XUvb!CYQ2OI!)+xaSmhOpj{~y^$8et z`>i_7@#Ci+eyg{AG-%Qf-u{nw^CVLlHcoB-x?B*bKZg*j=x^d9)Wugsrv4qVxMJ(u zL$q|AJAMb8H#9`>Y23LW|N0WcG$<4Hx@9Uh+c8(CVyZhG7N)v}LUB55I3HilclD9$ zzZ-U^s-O|$Z_?;q9VuFdCx{mT$8 zRd2hST{xqW911c`d7lu?isK9CGu(A}~ zqJ^n)iU|EPG}Nu}4IzI(M3V~#3ZUr9{7@!Ym?kEoIJ(widu@A~p12i}f7+g@G(r!_ zb}TCLPLZl=IJ7rvZGKoy*_77hcHzvB%wUP~JT4rpB+CFrGxJDE=x=$R_{wGjYVt{l zk_d@iNLz8!bhL8s-gWf>>m93#lKavCG{y{?(^Yh3A9C+;zc`RQMJ)Rpk69Xs)4Oyr zs9y0!RpdP>i_ZyAxT|fa9>q^*_e~>?vWCqd-BFUgU%b*-o9iaclJ-gTYd8XkNN5qH9YrPB(s;AApz4{7{LMjY2 zO+Wfo)X6l_OqqO~Z0|YFdfx3kPiK7GoIimbQ#9bk^-bS;|EQGj`!~+A+9~>Yl0cHK zH*&1olQPc$Bq-gx=-=Bh?iw08orJ(O;YUb89!k{ zKV4njH3c^rJQ}}!V@mRe&3mu=sN@c813Lf~pPz>_j8;@c4tdU!5lS>}VXzdj7>DoX z>60fCto=hf{(B^13vWA#eYT;|Dnuv_;{Vh6u)W z$B!%AXd+2sVE52#|J7$cX_UYrSdXP7^hb`vicS~}?BL-JG*nDfqgW99iMOgsRjP4G z?8y=ol3oybGW!&7y7A=+&6}r?SBp9++zX<}z^*^@4kP`H&w)l+hdn}#UpdCWD@0sV z%Q2IH^fR4z>K19NiWs7OdG@mKxr#C$3t~INhh=*gw{v0ftPs$@uK@HB?nw@aijssI zHvAyV|dcK-zG$tPK_O@&nO zkxnYdRm+VVa7P%Jnf3jm8_~=r8Tr_PeW>j{lK1`WgH0r=Ut(ergw)@O0>7RAK z5oiAial-9Nr&2BpMcON~%rm|8>Dss1Ue}M$8{E+1ChOrYLSSfsMIjLA4`dQKOP6LqzEgthYVsy-{(8qovqI_t|H^Fd{5`3tx_a#R9D2Dm zW81dPeq3$Z>7?4+rW zMG`UQFc}HS0ivRcs8jp~!mkF@0bu4Lg;;nOAUX6`@p(_&iggnhbt$w$ z8YV1HThI+Wefd&OB4(OZV~<^CrdACo5x1E*qB!tH1F!?|Zu;SFGbt_xt(S&&6ywvO zLjuJW?irArX|O-{o@|IMAT-)LCub>#*X9Dv)6_3XSq9MsEghCfpd@<3ip<<0HK&SuPMH@1&hLyoSgIZHf$v5K%b%I z_Q}ueeWHu8E;rsn-8v;zw2X+0BxPPxr!e|7M&CC6^V=gkH%|u3z9JBZ2&Ya!OAt^z znhW~=-Y2eTC(jH*SAXiW5SYP~EI(3=EWwn0gu&IUK&=pNK@p)KBDF=_b9!lqjt)ED zwo(g=*^{!Hkp{pgV`D)(_wVIr?azh{=XeyKo|?PqhDclD@o8z7vRkzYA=sC)ZIE+e zMRHHeKd!Lj*2KEkCb=kppqldBw^$59r#LV8(P1UZUTY_fsf2UdrLO*_Na#OR?Y}R# zg2;2P)ROnL3c5`nqk9rM=-#T+`I7vN7GYJXFl&up_`&o{-37-}=ELn9Hqhfx-GiB! z3Zi;^X?9E2OWkB{KA!YV%U&#LKq&+9a^;Faby|f=7_|Vg6T5R!=JDpgcrM5`5=XpZy~?#T~!%BLu*OF=8c~A zaw+*Yw0g?n<+M*IY;;t7@fg(6&UIAEhKg&~pKXj=SEg}!Urg%r)LSuFKu` zHSlp%tayORNAuws)KXQ=8*{$3xNYBT?+lPO+O2a9lKIHizx(aF4I$x+uGuRN|LCZ& z2Vmpk#W}5}#kGfarus?;IcHDX-@^vT!L$71CgM0~*5T>74Z?GO(e7qnoV4NeZxyyV zE~e8T^^fRdU3RK8W$mxT*%K~%q$F==dPtw3>wWXBG(&OHchjrF{uljeEH7YEV&Wq*6+WVkc25Lq(%DNob4a646MbMj09? zL-r<05!s#OV{@?dEy-7PC z{Cr!rr%6+As*!2zdn}Y}?bUA>eIxIl8un8;!m}%Q$bXj36*j{*#=E+i5pUJFJ=;1_ z$uPS=`*Ntix=y6JwK_I4%UtBZr1pIC+p1g!ZEKUSy{#IqeRNA)wmyA{TsB=5nUT3i z4+YoOz{iNLCU28(`#PuIza?8%cT5dN0s?IAXKHI}X_Z@l2S?Y>IcujU9etJ|ZL7n= zNkiELVF(CRsGYKRXO2zbEHP8%IQ;+om-exVw&00d##+h@5|E)w%fp$^*Z-|8SsM%L z|LvfTb`ZZ0hfaMf4t1!`FgKvy#4R`G4-^6pk#Xk#2zR*t>fIbbw9gq!f*gqlygDXrne**8ph5>~h0u^3#=u zKE~h@hLiNv>n}J~`R#r1&(e)~v96gj(KeyltxS~+YGE=16~BZu{i96EDQ^udaoxv#o|49|A?5*xsQYC z?%g4nI8KrT2N(i+15gS_8oNq}twDYcJA$B!@r{o|-vOf+j@-zBiJ@Rj*Ko#D-J8)O?RMD>oVG8&>AP10!19i$} zOamSM9nXGlt|Yz^K`+NkS~p+{zzBj_X%-NRG_;{85y0n<5<2t?`l^%W+ z1jdU3*$o5XH(m{4%W)t(lDxdUgp&W3oJ~=4xXu3l`8ENP&6Buc(XS(%70oYLHC*To z!mAsXnd}Sv$wF@=v0I?p{@q1``dn=1glcv^k~|&DaRlZ`pzl9|t{d^dZ_SOdF7r&s z_3PJ{`-uZr0pbD=>m&&z1p{-qWN9N2UY88-^COMiCnc{^HBAJpG> zDg5X`3-+l;b-ATu*;4;K5u!|NEj;|+{Y!gd`QBBFr?Ha6l;VA+5z`fb1M;eBq0PFs z5y=~<=p-(<(&)BHS6DT#v6`J(P@Xe3|M&mJQ=og*M*4Ek4dj8cfElQ5S=Gmnq3GOF z^Z%(kBXT%Pptiq;!e4TTW;Jmq27#^AHzX$9Nlup9T2d-qPT%Og+~j!UB=50nqd~&B zwSkD(L2K-+5Na*M#DKo%;TV(V(k@SNbeUxI?2 ze=u)jE9@fYdAbhIAKH21m_a52qCib<>h~*r3}!wbd4Z5uBMi(TeRuznZ@t6r2yZPo zkRG(m%UofuFg83y-&BFu0=FGGBFHBWdI)6h(N{0i zB9W4X1B>7??4J&q5~G7tCNY1czP(wx5&CV2)lg@JpWe9EarE_A(kwwe*RiXNK;UTA~FA8QN)?t|GI*a0cgQ4Eo@3Iq*U z6xv3pQiHCyf>hXmC=k+l08NCpwBXC3Yfuzm%%>XyCtAT?u6`!Tm#J{k;b}=tyJ+CX}^Bq?#WX@V;-EHJ8*aI84|9 zK9nxYpnO<84-aMBtW%LA1ikc2R)JEmgMN&JYa~j+PAG9o^hBIWU;Ms=vZ~In~p zFvZ5eH_#wH9|IQ#&>{?#;F7*6wmBhiVCbz+E*r$KP{O0X2{LMIdDo z{{y6wbRHtWA(8!Q<#r2lM~aSJz=cdq&~XL8G{vTBbNjm;R#px6T)E$F#=bRIgwpIN zt~AA5g58AJ45S`ZoM^a0DjaFM7bsDl^Dl3NDL{e_;=&&92*wGV)j)yL6gmo>78xSX z{=NTKH1t3Ov|WFLj2a%_84TPV=(Ld@1P}%d)hsa2bsryV!TthCIffwg1>Q4XHhaed zzk>u3*IoYPR#Q_q>jys8PWu=jvFJoqC?zS;-MjDVAa12ZT-S`X&T{YOt?`scH&c#Z zE|jWjY1`4?*=byPGbU3h8;G4tmDdqW~{{zB>x*@o_ ziW(0~Ch7E7f0@aRo>&Y`2U2BUD+8@nvlt zY0Ely*>2$PtCHHUbA8#|Q<`x**K$12L@-qEa9?YhnL^I@FF(#CmwdxmQP+vMiAp)q zhr1tOp!O5Xs!s}QL|2W+u*@}SJnw4Y>Bz_*7j>?7baa%N??u`XB_QC6XDw4kQWeax z-=l{E=MtajKUH*Y`yjl`MOFJ&?2IdoEcf~q51d~l#uIwA%_se3@}u%SfU>WCJM{GE z_m819SSGYF`o^Hj0qIS`dV!X0E?)7UXE8P}K0mQ8^|3{?Eb>Y;o;i)G@P`iIOJSD1 zSUST*7+1IAO8`gi+Fjzm?k}sS!aE^?QO?=%& z<<|a3@@9t=9`N7&QL3**vgw&BU$%)-dEZUWCt4Gl+$S`cTv}uF))1$wp(&d>*KHjV ztYN3N5QZaWU&{7see9bH;T&_BW0K7Luw(B|aNTO#7{RPU9Q=AFePXT=e%G~(kFF}` zeH1IgBn5?Kv^~(P9mkvjH9DSY(Byeqs{ee6 z0Am5ls>j#YApnNpLnns=v05=I`?s0B=6=R}c`5{9&Q^_G);`A!N3SR$|9NwN17Aju zGx(;}-|F(_%$=JEypQ;##x4VBjOg>ioeN^%uj!F}M9$Qd!nJ^R8z+oyhO7q<90ssi zb&UIWm%=lmgpVFKD!l)nu=qHDPxS~mJi8WQ*q_;tu~ zpiFs3&1Um|t9S8&Uhkp#$4f=YOZ!P?g}FzeX64DO|kmk2hm+cmk_C9xHHK z+#C3@*OeP{5lmQCefG`ML(W5>j0KJ=7(ZK~T>B|_o3+MSRkeE2TQp^r##%ENV}K8j z=G$Z%fY1ZX#PbF^2S-^LXh(2d0mw#!f@Tz)BL3*;;sS7T z_Gnue){znoL4*UmlxP-4+8`=vF+ZbVU03DKo32nvx)9b;m zZf;?vU*2iCeR^^($~&TxbpZnhs&`qsx8@(q9_j1rvksN*v5AU`lFq{-X8iTndmmbb z)i{6DNu7J2^Ca9q(pp-RzkR@QeK+IM-MiI!!INrfT@tKDR3QRaI=uSxs+ARbCuFd< zxCM`jAMrT9?Hdmcl^s zG0Bp9*9Dfi4qhi07l&j0%52v}wv)>BID}t9Ahi}O-V#S97jnRACKz{p;dK@=HSKrG z?cKT$!vR z8i~CL=59G&FUK^w|3(@lvzEVKi#`Z%+@pM@sc8>%zl9zBEzr#Aqv%1WbQ;Ipy0PxU zAy6hKNKn9*7C@UhTHsd$$I)iO z5cjrt;XkN`7Ur3pvk%#!$s!jd#BM`i=*1o>N=t_Tt4Z9%!FivMT9ah5)uA^iz$~}| z5y#Nbl9C+*i!Va8QXwK&?BdAjd|XE!JyolijyIbNbeTus`($X3vtbdjyx<0^Wy~3SLnzcePSt-sd|XLmUS0D+kSWqz8tbl%P=T1O}vL z&jy5gN{n;j3_#H)w8+j}|Dx7O++_Wq!YgqzE;CPK1_O1Lgz@MnK}{b6!P|remNw-S zv;@9n!Z0%Pj_fei1NQ-k;I+F4%GYe*?}l6uv|^Z-I5Zd}0zq4fjhO2%dW(jmyu&CQ z3PTVp17mMD8bNzRvXBQ9`n^0&P3GxtvQ<7Y#3Kpl#qh}QU2~-;>Gh0VzfyF^Pm!ZH7Ff`P)Pa$hb8(^ zi~+W*Du;3W>PVhZC{+?22@cr9oWe2I!-W{ytaR&&J(|-gOA#$iqFaV$YK6I*%&ge{ zYha*_@GclN-e<^&SspT$|O$u0b{i&3h{^L7xa<9y1&h{{SiNT z0N7C+x3(Iy@RK#B55&moe?1V-Pi%g)fXi?B)446I$2^`u%d<6s&21m%AHP`iOgO%# z`J9R(Ap|{8Y!hX-;RW|^l{;xyJ+ODyQ3mi$%AKd=hJSPH@l5VEPL)iYsMlocUwwGj z1t^yX{`yX9$E*&2nFH}r3$}7ol5Os}z&2*zk;t;qMA*XP%_`vQg~ma@gvLJ0Y0cc7 zXIC_frfyqj*l)+cKY6?&!5ILJvkP zc_Fq(=TQZFSlOxT1AqLf`o7uSNtt0|<}Bg*TJ)&H=wM2|Vm^asfwQ%br)KTiv+3pH zOMisTYpFYYDgW8VBIfL2`&)s{vopO(y1RGq#Az)EIFKmA5Uhd+>vaKJb3!Bf4 z50&&R9BN28H&oiZQgwF>cYyw5Ee_jh0p$0B14>PI#_mavXAO4i`ipN_TPJ;Q>E$(_ zs<(MaOx|C8x<)6owdC;5mcM=ls=xbK5X#-#-Ql^Wf1h21q61C~>i+v{jeiw?Zx&(v zY7tBwy6e>Q(4=)jD4dbK-7=!SKmExPCwXxf2Eiig5^Q#=d%ibTGizo}^cTP@Pj?Q^l=n>rQyf6pr8 zj;%Sm=Aw}Q+xQTZKi%#3&gL-Czy7k7gW>BS_BXHBh)>JwKdN&iRV4-fc~d48?~ae% z*pVGP#x-$pjEm9qIIj7L>avBmE%tiyG(6DcVTfLgiCpONz zeBVnu;%4tDdCtn1SFflrn#RuPz7i+kK9o(Lc(FKxxO*|Nm!a+ZfPHbk@0orQ{9IZi zuG44MD5bjewwx&AyXBVbCvGC_3=a>3mRHAR?=NjE(YGI3l(~nA355GC+IN;$OEhT4 z9})^huOp?0f=i5_=N9|@xSw29eBQuT+1y>Hm_O2J^MyS@-ssB)2{$+UW4sHl z7_e=f#8Sry9A~80?DW2l)&~<0vO1>G1CGubt2c&W^X29bu+$+pn)p_>c3(Q1Q^Ni1s!><} Xhdk!q3()+1lcI?N@PTWn9KIf~`yhpU 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 _n22DI)|&)c_*WKV$J=B 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 +What's inside an IFC? +--------------------- TODO + +Core functionality crash course +------------------------------- + +This crash course guides you through basic code snippets that give you a general +idea of the low-level functionality that IfcOpenShell-python provides. You'll +need to have IfcOpenShell installed and a sample IFC model. To get the most out +of it, try out the code yourself and see what results you get! + +If you don't have an IFC model available, here's a small one for your +convenience provided by the Institute for Automation and Applied Informatics +(IAI) / Karlsruhe Institute of Technology. It's in German, so you may need to +use some creativity when reading the data :) + +.. container:: blockbutton + + `Download sample IFC `__ + +.. seealso:: + + You can find more sample models online in the `OSArch Open Data Directory + `__ + +Let's start with loading the model. Import the IfcOpenShell module, then use the +``open`` function to load the model into a variable called ``model``. + +.. code-block:: python + + import ifcopenshell + model = ifcopenshell.open('/path/to/your/model.ifc') + +Let's see what IFC schema we are using: + +.. code-block:: python + + print(model.schema) # May return IFC2X3 or IFC4 + +Let's get the first piece of data in our IFC file: + +.. code-block:: python + + print(model.by_id(1)) + +But getting data from beginning to end isn't too meaningful to humans. What if we knew a ``GlobalId`` value instead? + +.. code-block:: python + + print(model.by_guid('0EI0MSHbX9gg8Fxwar7lL8')) + +If we're not looking specifically for a single element, perhaps let's see how many walls are in our file, and count them: + +.. code-block:: python + + walls = model.by_type('IfcWall') + print(len(walls)) + +Once we have an element, we can see what IFC class it is: + +.. code-block:: python + + wall = model.by_type('IfcWall')[0] + print(wall.is_a()) # Returns 'IfcWall' + +You can also test if it is a certain class, as well as check for parent classes too: + +.. code-block:: python + + print(wall.is_a('IfcWall')) # Returns True + print(wall.is_a('IfcElement')) # Returns True + print(wall.is_a('IfcWindow')) # Returns False + +Let's quickly check the STEP ID of our element: + +.. code-block:: python + + print(wall.id()) + +Let's get some attributes of an element. IFC attributes have a particular order. We can access it just like a list, so let's get the first and third attribute: + +.. code-block:: python + + print(wall[0]) # The first attribute is the GlobalId + print(wall[2]) # The third attribute is the Name + +Knowing the order of attributes is boring and technical. We can access them by name too: + +.. code-block:: python + + print(wall.GlobalId) + print(wall.Name) + +Getting attributes one by one is tedious. Let's grab them all: + +.. code-block:: python + + # Gives us a dictionary of attributes, such as: + # {'id': 8, 'type': 'IfcWall', 'GlobalId': '2_qMTAIHrEYu0vYcqK8cBX', ... } + print(wall.get_info()) + +Let's see all the properties and quantities associated with this wall: + +.. code-block:: python + + import ifcopenshell.util + import ifcopenshell.util.element + print(ifcopenshell.util.element.get_psets(wall)) + +Some attributes are special, called "inverse attributes". They happen when another element is referencing our element. They can reference it for many reasons, like to define a relationship, such as if they create a void in our wall, join our wall, or define a quantity take-off value for our wall, among others. Just treat them like regular attributes: + +.. code-block:: python + + print(wall.IsDefinedBy) + +Perhaps we want to see all elements which are referencing our wall? + +.. code-block:: python + + print(model.get_inverse(wall)) + +Let's do the opposite, let's see all the elements which our wall references instead: + +.. code-block:: python + + print(model.traverse(wall)) + # Or, let's just go down one level deep + print(model.traverse(wall, max_levels=1)) + +If you want to modify data, just assign it to the relevant attribute: + +.. code-block:: python + + wall.Name = 'My new wall name' + +You can also generate a new ``GlobalId``: + +.. code-block:: python + + wall.GlobalId = ifcopenshell.guid.new() + +After modifying some IFC data, you can save it to a new IFC-SPF file: + +.. code-block:: python + + model.write('/path/to/a/new.ifc') + +You can generate a new IFC from scratch too, instead of reading an existing one: + +.. code-block:: python + + ifc = ifcopenshell.file() + # Or if you want a particular schema: + ifc = ifcopenshell.file(schema='IFC4') + +You can create new IFC elements, and add it either to an existing or newly created IFC file object: + +.. code-block:: python + + # Will return #1=IfcWall($,$,$,$,$,$,$,$,$) - notice all of the attributes are blank! + new_wall = model.createIfcWall() + # Will return a list with our wall in it: [#1=IfcWall($,$,$,$,$,$,$,$,$)] + print(model.by_type('IfcWall')) + +Alternatively, you can also use this way to create new elements: + +.. code-block:: python + + model.create_entity('IfcWall') + +Specifying more arguments lets you fill in attributes while creating the element instead of assigning them separately. You specify them in the order of the attributes. + +.. code-block:: python + + # Gives us #1=IfcWall('0EI0MSHbX9gg8Fxwar7lL8',$,$,$,$,$,$,$,$) + model.create_entity('IfcWall', ifcopenshell.guid.new()) + +Again, knowing the order of attributes is difficult, so you can use keyword arguments instead: + +.. code-block:: python + + # Gives us #1=IfcWall('0EI0MSHbX9gg8Fxwar7lL8',$,'Wall Name',$,$,$,$,$,$) + model.create_entity('IfcWall', GlobalId=ifcopenshell.guid.new(), Name='Wall Name') + +Sometimes, it's easier to expand a dictionary: + +.. code-block:: python + + data = { + 'GlobalId': ifcopenshell.guid.new(), + 'Name': 'Wall Name' + } + model.create_entity('IfcWall', **data) + +Some attributes of an element aren't just text, they may be a reference to another element. Easy: + +.. code-block:: python + + wall = model.createIfcWall() + wall.OwnerHistory = model.createIfcOwnerHistory() + +What if we already have an element from one IFC file and want to add it to another? + +.. code-block:: python + + wall = model.by_type('IfcWall')[0] + new_model = ifcopenshell.file() + new_model.add(wall) + +Fed up with an object? Let's delete it: + +.. code-block:: python + + model.remove(wall) diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst new file mode 100644 index 0000000000..1f7eb8b5ce --- /dev/null +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst @@ -0,0 +1,139 @@ +Installation +============ + +There are different methods of installation, depending on your situation. + +1. **Pre-built packages** is recommended for users wanting to use the latest IfcOpenShell builds. +2. **Pip** is recommended for managing a more stable IfcOpenShell version. +3. **Conda** is recommended for developers using Anaconda. +4. **Using the BlenderBIM Add-on** is recommended for non-developers wanting a graphical interface. +5. **Compiling from source** is recommended for developers actively working with the C++ core. + +Pre-built packages +------------------ + +1. Choose which version to download based on your operating system, Python + version, and computer architecture. + + +-------------+----------------+----------------+----------------+----------------+ + | | Linux 64bit | Windows 32bit | Windows 64bit | MacOS 64bit | + +=============+================+================+================+================+ + | Python 3.6 | py36-linux64_ | py36-win32_ | py36-win64_ | py36-macos64_ | + +-------------+----------------+----------------+----------------+----------------+ + | Python 3.7 | py37-linux64_ | py37-win32_ | py37-win64_ | py37-macos64_ | + +-------------+----------------+----------------+----------------+----------------+ + | Python 3.8 | py38-linux64_ | py38-win32_ | py38-win64_ | py38-macos64_ | + +-------------+----------------+----------------+----------------+----------------+ + | Python 3.9 | py39-linux64_ | py39-win32_ | py39-win64_ | py39-macos64_ | + +-------------+----------------+----------------+----------------+----------------+ + | Python 3.10 | py31-linux64_ | py31-win32_ | py31-win64_ | py31-macos64_ | + +-------------+----------------+----------------+----------------+----------------+ + +.. _py36-linux64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-36-v0.7.0-1b1fd1e-linux64.zip +.. _py37-linux64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-37-v0.7.0-1b1fd1e-linux64.zip +.. _py38-linux64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-38-v0.7.0-1b1fd1e-linux64.zip +.. _py39-linux64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-39-v0.7.0-1b1fd1e-linux64.zip +.. _py31-linux64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-31-v0.7.0-1b1fd1e-linux64.zip +.. _py36-win32: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-36-v0.7.0-1b1fd1e-win64.zip +.. _py37-win32: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-37-v0.7.0-1b1fd1e-win64.zip +.. _py38-win32: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-38-v0.7.0-1b1fd1e-win64.zip +.. _py39-win32: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-39-v0.7.0-1b1fd1e-win64.zip +.. _py31-win32: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-31-v0.7.0-1b1fd1e-win64.zip +.. _py36-win64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-36-v0.7.0-1b1fd1e-win64.zip +.. _py37-win64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-37-v0.7.0-1b1fd1e-win64.zip +.. _py38-win64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-38-v0.7.0-1b1fd1e-win64.zip +.. _py39-win64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-39-v0.7.0-1b1fd1e-win64.zip +.. _py31-win64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-31-v0.7.0-1b1fd1e-win64.zip +.. _py36-macos64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-36-v0.7.0-1b1fd1e-macos64.zip +.. _py37-macos64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-37-v0.7.0-1b1fd1e-macos64.zip +.. _py38-macos64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-38-v0.7.0-1b1fd1e-macos64.zip +.. _py39-macos64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-39-v0.7.0-1b1fd1e-macos64.zip +.. _py31-macos64: https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-31-v0.7.0-1b1fd1e-macos64.zip + +.. warning:: + + Versions for Mac ARM devices (M1 chip) are not yet available. You are free to + compile it yourself manually, but this requires a level of technical + expertise. + +2. Copy the ``ifcopenshell`` directory into your Python path. If you're not sure + where your Python path is, run the following code in Python: + + .. code-block:: python + + import sys + print(sys.path) + + This will give you a list of possible directories that you can install the + IfcOpenShell module into. Most commonly, you will want to copy the + ``ifcopenshell`` directory into one of these called ``site-packages``. + +3. Test importing the module in a Python session or script to make sure it works. + + .. code-block:: python + + import ifcopenshell + print(ifcopenshell.version) + model = ifcopenshell.file() + +Pip +--- + +TODO + +Conda +----- + +TODO + +Using the BlenderBIM Add-on +--------------------------- + +The BlenderBIM Add-on is a Blender based graphical interface to IfcOpenShell. +Other than providing a graphical IFC authoring platform, it also comes with +IfcOpenShell and a Python shell built-in. This means you don't need to install +Python first, and you also can compare your IfcOpenShell scripting to what you +see with a visual model viewer. + +1. Install the BlenderBIM Add-on by following the `BlenderBIM Add-on + installation documentation + `_. + +2. Launch Blender. On the top left of the Viewport panel, click the **Editor + Type** icon to change the viewport into a **Python Console**. + + .. image:: blenderbim-python-console-1.png + +3. Make sure you can import IfcOpenShell successfully with the following script. + + .. image:: blenderbim-python-console-2.png + +.. tip:: + + Before changing the **Editor Type** to a **Python Console**, you can click on + the ``View > Area > Vertical Split`` menu which will divide your viewport. + This allows you to write scripts next to the 3D view of a model. + +Blender also comes with a text editor so you can write longer scripts. Instead +of choosing the **Python Console**, choose the **Text Editor**. + +.. image:: blenderbim-text-editor-1.png + +You can now create a new text file for your script by clicking ``Text > New``, +and run your script using the **Text > Run Script** menu or by clicking on the +**Play Icon**. + +.. image:: blenderbim-text-editor-2.png + +.. seealso:: + + You may be interested in learning how to graphically explore an IFC model in + Blender. This can help when learning how to write scripts as you can double + check the results of your scripts with what you see in the graphical + interface. `Read more + `_. + +Compiling from source +--------------------- + +TODO From 42448cae4ea1c842fa82e8a99e4da40c370df32d Mon Sep 17 00:00:00 2001 From: Adrien SCHVALBERG Date: Tue, 3 May 2022 11:38:12 +0200 Subject: [PATCH 133/243] Add missing exports for ifcopenshell-python when we build shared libs. --- src/ifcparse/ArgumentType.h | 6 ++-- src/ifcwrap/IfcPython.i | 2 ++ src/serializers/ColladaSerializer.h | 3 +- src/serializers/GltfSerializer.h | 3 +- src/serializers/HdfSerializer.h | 3 +- src/serializers/OpenCascadeBasedSerializer.h | 3 +- src/serializers/SvgSerializer.h | 3 +- src/serializers/WavefrontObjSerializer.h | 3 +- src/serializers/XmlSerializer.h | 5 +-- src/serializers/serializers_api.h | 37 ++++++++++++++++++++ src/svgfill | 2 +- 11 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 src/serializers/serializers_api.h diff --git a/src/ifcparse/ArgumentType.h b/src/ifcparse/ArgumentType.h index 91c89f05c4..48d9063c9f 100644 --- a/src/ifcparse/ArgumentType.h +++ b/src/ifcparse/ArgumentType.h @@ -19,6 +19,8 @@ #include "../ifcparse/IfcSchema.h" +#include "ifc_parse_api.h" + #ifndef ARGUMENTTYPE_H #define ARGUMENTTYPE_H @@ -51,8 +53,8 @@ namespace IfcUtil { Argument_UNKNOWN }; - ArgumentType from_parameter_type(const IfcParse::parameter_type*); - ArgumentType make_aggregate(ArgumentType elem_type); + IFC_PARSE_API ArgumentType from_parameter_type(const IfcParse::parameter_type*); + IFC_PARSE_API ArgumentType make_aggregate(ArgumentType elem_type); } #endif diff --git a/src/ifcwrap/IfcPython.i b/src/ifcwrap/IfcPython.i index 1c16c4f487..d14f968b61 100644 --- a/src/ifcwrap/IfcPython.i +++ b/src/ifcwrap/IfcPython.i @@ -72,6 +72,8 @@ } } +%include "../serializers/serializers_api.h" + // Include headers for the typemaps to function. This set of includes, // can probably be reduced, but for now it's identical to the includes // of the module definition below. diff --git a/src/serializers/ColladaSerializer.h b/src/serializers/ColladaSerializer.h index 5d7651df5a..6adc32a80c 100644 --- a/src/serializers/ColladaSerializer.h +++ b/src/serializers/ColladaSerializer.h @@ -43,13 +43,14 @@ #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" +#include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" #include #include -class ColladaSerializer : public WriteOnlyGeometrySerializer +class SERIALIZERS_API ColladaSerializer : public WriteOnlyGeometrySerializer { // TODO The vast amount of implement details of ColladaSerializer could be hidden to the cpp file. private: diff --git a/src/serializers/GltfSerializer.h b/src/serializers/GltfSerializer.h index c9aae885d2..ca8c68303a 100644 --- a/src/serializers/GltfSerializer.h +++ b/src/serializers/GltfSerializer.h @@ -22,6 +22,7 @@ #ifdef WITH_GLTF +#include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" #include @@ -29,7 +30,7 @@ using json = nlohmann::json; #include -class GltfSerializer : public WriteOnlyGeometrySerializer { +class SERIALIZERS_API GltfSerializer : public WriteOnlyGeometrySerializer { private: std::string filename_, tmp_filename1_, tmp_filename2_; std::ofstream fstream_, tmp_fstream1_, tmp_fstream2_; diff --git a/src/serializers/HdfSerializer.h b/src/serializers/HdfSerializer.h index 568ab5be54..35d82b1aae 100644 --- a/src/serializers/HdfSerializer.h +++ b/src/serializers/HdfSerializer.h @@ -28,11 +28,12 @@ #include "H5Cpp.h" +#include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" #define USE_BINARY -class HdfSerializer : public GeometrySerializer { +class SERIALIZERS_API HdfSerializer : public GeometrySerializer { private: const std::string hdf_filename; unsigned int vcount_total; diff --git a/src/serializers/OpenCascadeBasedSerializer.h b/src/serializers/OpenCascadeBasedSerializer.h index e289e6ebfd..57d27d6855 100644 --- a/src/serializers/OpenCascadeBasedSerializer.h +++ b/src/serializers/OpenCascadeBasedSerializer.h @@ -20,11 +20,12 @@ #ifndef OPENCASCADEBASEDSERIALIZER_H #define OPENCASCADEBASEDSERIALIZER_H +#include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/IfcGeomIterator.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" -class OpenCascadeBasedSerializer : public WriteOnlyGeometrySerializer { +class SERIALIZERS_API OpenCascadeBasedSerializer : public WriteOnlyGeometrySerializer { OpenCascadeBasedSerializer(const OpenCascadeBasedSerializer&); //N/A OpenCascadeBasedSerializer& operator =(const OpenCascadeBasedSerializer&); //N/A protected: diff --git a/src/serializers/SvgSerializer.h b/src/serializers/SvgSerializer.h index 344e9fa568..b5cdc64d67 100644 --- a/src/serializers/SvgSerializer.h +++ b/src/serializers/SvgSerializer.h @@ -23,6 +23,7 @@ #define SVGSERIALIZER_H #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" +#include "../serializers/serializers_api.h" #include "../serializers/util.h" #include "../ifcparse/utils.h" @@ -135,7 +136,7 @@ typedef boost::variant< Handle(HLRBRep_PolyAlgo) > hlr_t; -class SvgSerializer : public WriteOnlyGeometrySerializer { +class SERIALIZERS_API SvgSerializer : public WriteOnlyGeometrySerializer { public: typedef std::pair > path_object; typedef std::vector< boost::shared_ptr > float_item_list; diff --git a/src/serializers/WavefrontObjSerializer.h b/src/serializers/WavefrontObjSerializer.h index f640fd0db4..fd493ca025 100644 --- a/src/serializers/WavefrontObjSerializer.h +++ b/src/serializers/WavefrontObjSerializer.h @@ -24,10 +24,11 @@ #include #include +#include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/GeometrySerializer.h" // http://people.sc.fsu.edu/~jburkardt/txt/obj_format.txt -class WaveFrontOBJSerializer : public WriteOnlyGeometrySerializer { +class SERIALIZERS_API WaveFrontOBJSerializer : public WriteOnlyGeometrySerializer { private: stream_or_filename obj_stream; stream_or_filename mtl_stream; diff --git a/src/serializers/XmlSerializer.h b/src/serializers/XmlSerializer.h index 0c18a24ddc..ac2c16f4fe 100644 --- a/src/serializers/XmlSerializer.h +++ b/src/serializers/XmlSerializer.h @@ -1,5 +1,6 @@ #define SCHEMA_METHOD +#include "../serializers/serializers_api.h" #include "../ifcgeom_schema_agnostic/Serializer.h" #include "../ifcparse/IfcFile.h" @@ -7,7 +8,7 @@ #include -class XmlSerializer : public Serializer { +class SERIALIZERS_API XmlSerializer : public Serializer { private: XmlSerializer* implementation_; @@ -26,7 +27,7 @@ public: void setFile(IfcParse::IfcFile*) { throw IfcParse::IfcException("Should be supplied on construction"); } }; -struct XmlSerializerFactory { +struct SERIALIZERS_API XmlSerializerFactory { typedef boost::function2 fn; class Factory : public std::map { diff --git a/src/serializers/serializers_api.h b/src/serializers/serializers_api.h new file mode 100644 index 0000000000..a46a27122b --- /dev/null +++ b/src/serializers/serializers_api.h @@ -0,0 +1,37 @@ +/******************************************************************************** +* * +* This file is part of IfcOpenShell. * +* * +* IfcOpenShell is free software: you can redistribute it and/or modify * +* it under the terms of the Lesser GNU General Public License as published by * +* the Free Software Foundation, either version 3.0 of the License, or * +* (at your option) any later version. * +* * +* IfcOpenShell is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* Lesser GNU General Public License for more details. * +* * +* You should have received a copy of the Lesser GNU General Public License * +* along with this program. If not, see . * +* * +********************************************************************************/ + +#ifndef IFC_SERIALIZERS_API_H +#define IFC_SERIALIZERS_API_H + +#ifdef IFC_SHARED_BUILD + #ifdef _WIN32 + #ifdef Serializers_EXPORTS + #define SERIALIZERS_API __declspec(dllexport) + #else + #define SERIALIZERS_API __declspec(dllimport) + #endif + #else // simply assume *nix + GCC-like compiler + #define SERIALIZERS_API __attribute__((visibility("default"))) + #endif +#else + #define SERIALIZERS_API +#endif + +#endif diff --git a/src/svgfill b/src/svgfill index 2b28e69b13..f9102b1e9f 160000 --- a/src/svgfill +++ b/src/svgfill @@ -1 +1 @@ -Subproject commit 2b28e69b136d939a46face3ac87e9c9c8aed3dfd +Subproject commit f9102b1e9f58e2c3bf9923c1eafa0373eeb872f5 From 3f15dd71b1ae17a02947172d5427c3e4f92cacd5 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 16:17:38 +1000 Subject: [PATCH 134/243] Run black on ids module --- src/ifcopenshell-python/ifcopenshell/ids.py | 8 +- src/ifcopenshell-python/test/test_ids.py | 85 +++++++++++++-------- 2 files changed, 57 insertions(+), 36 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 27c336ba9d..f4b68ef45c 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -556,7 +556,7 @@ class classification(facet): def create(location="any", value=None, system=None): """Create a classification facet that can be added to applicability or requirements of IDS specification. - :param location: Define where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" + :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" :type location: str, optional :param value: Value that is required. Could be alphanumeric or restriction object, defaults to None :type value: restriction|alphanumeric, optional @@ -741,7 +741,7 @@ class property(facet): def create(location="any", propertySet=None, name=None, value=None): """Create a property facet that can be added to applicability or requirements of IDS specification. - :param location: Define where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" + :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" :type location: str, optional :param propertySet: Propertyset that is required. Could be alphanumeric or restriction object, defaults to None :type propertySet: restriction|alphanumeric, optional @@ -857,7 +857,7 @@ class material(facet): def create(location="any", value=None): """Create a material facet that can be added to applicability or requirements of IDS specification. - :param location: Define where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" + :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" :type location: str, optional :param value: Value that is required. Could be alphanumeric or restriction object, defaults to None :type value: restriction|alphanumeric, optional @@ -1249,7 +1249,7 @@ class BcfHandler(logging.StreamHandler): bcf_handler = BcfHandler( project_name="Default IDS Project", author="your@email.com", - filepath=r".\example.bcf", + filepath="example.bcf", ) logger = logging.getLogger("IDS_Logger") logging.basicConfig(level=logging.INFO, format="%(message)s") diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 99d2cae3bf..5877cab15d 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -40,6 +40,7 @@ file.close() ifc_file = ifcopenshell.open(IFC_URL) os.remove(os.path.join(tempfile.gettempdir(), "test.ifc")) + class TestIdsParsing(unittest.TestCase): """Parsing basic IDS files""" @@ -55,9 +56,7 @@ class TestIdsParsing(unittest.TestCase): self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "IfcWall") def test_parse_predefinedType_facet(self): - IDS_URL = ( - os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_predefinedtype.xml") - ) + IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_predefinedtype.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual( ids_file.specifications[0].requirements.terms[0].node["predefinedType"]["simpleValue"], "CLADDING" @@ -78,9 +77,7 @@ class TestIdsParsing(unittest.TestCase): self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["value"]["simpleValue"], "Test_Material") def test_parse_classification_facet(self): - IDS_URL = ( - os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_classification.xml") - ) + IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_classification.xml") ids_file = ids.ids.open(IDS_URL) self.assertEqual( ids_file.specifications[0].requirements.terms[0].node["value"]["simpleValue"], "Test_Classification" @@ -96,7 +93,7 @@ class TestIdsParsing(unittest.TestCase): """ Saving parsed IDS to IDS.xml """ def test_parsed_ids_to_xml(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_all_fields.xml") + IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files", "IDS", "IDS_Wall_needs_all_fields.xml") ids_file = ids.ids.open(IDS_URL) fn = "TEST_FILE.xml" result = ids_file.to_xml(fn) @@ -106,7 +103,11 @@ class TestIdsParsing(unittest.TestCase): """ Parsing IDS files with restrictions """ def test_parse_restrictions_enumeration(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_enumeration.xml") + IDS_URL = os.path.join( + os.path.dirname(__file__), + "Sample-BIM-Files/IDS/", + "IDS_Wall_needs_property_with_restriction_enumeration.xml", + ) ids_file = ids.ids.open(IDS_URL) self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "Test_Parameter") self.assertEqual( @@ -118,7 +119,9 @@ class TestIdsParsing(unittest.TestCase): ) def test_parse_restrictions_bounds(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_bounds.xml") + IDS_URL = os.path.join( + os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_bounds.xml" + ) ids_file = ids.ids.open(IDS_URL) self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "Test_Parameter") self.assertEqual( @@ -127,7 +130,9 @@ class TestIdsParsing(unittest.TestCase): ) def test_parse_restrictions_pattern_simple(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_pattern.xml") + IDS_URL = os.path.join( + os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_pattern.xml" + ) ids_file = ids.ids.open(IDS_URL) self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "Test_Parameter") self.assertEqual( @@ -263,15 +268,15 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications[0].add_applicability(m) i.specifications[0].add_requirement(c) i.specifications[0].add_requirement(p1) - #TODO i.specifications[0].add_requirement(p2) + # TODO i.specifications[0].add_requirement(p2) i.specifications[0].add_requirement(p3) i.specifications[0].add_requirement(p4) - #TODO i.specifications[0].add_requirement(p5) + # TODO i.specifications[0].add_requirement(p5) fn = "TEST_FILE.xml" result = i.to_xml(fn) os.remove(fn) self.assertTrue(result) - + """ IDS information """ def test_create_full_information(self): @@ -289,9 +294,8 @@ class TestIdsAuthoring(unittest.TestCase): class TestIfcValidation(unittest.TestCase): - def test_validate_simple(self): - #Same test as in reporting... + # Same test as in reporting... ids_file = ids.ids.open(IDS_URL) report = ids.SimpleHandler() logger.addHandler(report) @@ -300,16 +304,16 @@ class TestIfcValidation(unittest.TestCase): logger.handlers.pop() def test_validate_all_facets(self): - #Those are true: + # Those are true: e = ids.entity.create(name="IfcWall") p1 = ids.property.create(location="any", propertySet="MySet", name="Param1", value="banan") p2 = ids.property.create(location="any", propertySet="MySet", name="Param2", value=120.0) p3 = ids.property.create(location="any", propertySet="Pset_WallCommon", name="LoadBearing", value=False) - #Those are false: + # Those are false: p4 = ids.property.create(location="any", propertySet="MySet", name="Param1", value="orange") p5 = ids.property.create(location="any", propertySet="MySet", name="Param2", value=123.4) p6 = ids.property.create(location="any", propertySet="Pset_WallCommon", name="LoadBearing", value=True) - + i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(e) @@ -327,42 +331,60 @@ class TestIfcValidation(unittest.TestCase): # TODO self.assertEqual(len(report.statements), 27) #there are 5 walls in the IFC, one passed 3 criteria, est should fail (27 failures) logger.handlers.pop() - """ Validating IDS files with restrictions """ def test_validate_restrictions_enumeration(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_enumeration.xml") + IDS_URL = os.path.join( + os.path.dirname(__file__), + "Sample-BIM-Files/IDS/", + "IDS_Wall_needs_property_with_restriction_enumeration.xml", + ) ids_file = ids.ids.open(IDS_URL) - self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]['simpleValue'], "Test_Parameter") - self.assertEqual( [x['@value'] for x in ids_file.specifications[0].requirements.terms[0].node["value"]['restriction'][0]['enumeration'] ], ['testA', 'testB']) + self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "Test_Parameter") + self.assertEqual( + [ + x["@value"] + for x in ids_file.specifications[0].requirements.terms[0].node["value"]["restriction"][0]["enumeration"] + ], + ["testA", "testB"], + ) # TODO actual test of validation result # self.assertTrue( ) def test_validate_restrictions_boundsInclusive(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_bounds.xml") + IDS_URL = os.path.join( + os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_bounds.xml" + ) ids_file = ids.ids.open(IDS_URL) - self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]['simpleValue'], "Test_Parameter") - self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["value"]['restriction'][0]['minInclusive']['@value'], '0') + self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "Test_Parameter") + self.assertEqual( + ids_file.specifications[0].requirements.terms[0].node["value"]["restriction"][0]["minInclusive"]["@value"], + "0", + ) # TODO actual test of validation result # self.assertTrue( ) def test_validate_restrictions_boundsExclusive(self): - #TODO + # TODO pass def test_validate_restrictions_pattern_simple(self): - IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_pattern.xml") + IDS_URL = os.path.join( + os.path.dirname(__file__), "Sample-BIM-Files/IDS/", "IDS_Wall_needs_property_with_restriction_pattern.xml" + ) ids_file = ids.ids.open(IDS_URL) - self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]['simpleValue'], "Test_Parameter") - self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["value"]['restriction'][0]['pattern']['@value'], '[A-Z]{2,4}') + self.assertEqual(ids_file.specifications[0].requirements.terms[0].node["name"]["simpleValue"], "Test_Parameter") + self.assertEqual( + ids_file.specifications[0].requirements.terms[0].node["value"]["restriction"][0]["pattern"]["@value"], + "[A-Z]{2,4}", + ) # TODO actual test of validation result # self.assertTrue( ) class TestIdsReporting(unittest.TestCase): - def test_simple_report(self): - #Same test as in validation... + # Same test as in validation... ids_file = ids.ids.open(IDS_URL) report = ids.SimpleHandler() logger.addHandler(report) @@ -370,7 +392,6 @@ class TestIdsReporting(unittest.TestCase): self.assertEqual(len(report.statements), 5) logger.handlers.pop() - def test_bcf_report(self): ids_file = ids.ids.open(IDS_URL) fn = os.path.join(tempfile.gettempdir(), "test.bcf") From 12e7ed356cdd62277e305012fe2be89a71c6e9f7 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 16:22:12 +1000 Subject: [PATCH 135/243] Fix IDS namespace bug that prevented XML encoding, simplify XML writing, and new to_string() method to decrease dependency on the filesystem --- src/ifcopenshell-python/ifcopenshell/ids.py | 53 +++++++-------------- src/ifcopenshell-python/test/test_ids.py | 9 +++- 2 files changed, 24 insertions(+), 38 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index f4b68ef45c..6134500e5b 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -33,6 +33,7 @@ from bcf.v2 import data as bcf from xmlschema import XMLSchema from xmlschema import etree_tostring from xmlschema.validators import identities +from xml.etree import ElementTree as ET cwd = os.path.dirname(os.path.realpath(__file__)) @@ -117,50 +118,28 @@ class ids: ids_dict["specifications"].append({"specification": spec.asdict()}) #TEST! return ids_dict - def to_xml(self, filepath="./", ids_schema=ids_schema): - """Save IDS object as .xml file. + def to_string(self, ids_schema=ids_schema): + """Convert IDS object to XML string - :param filepath: Path for the new file, defaults to "./" + :param ids_schema: XML Schema for an IDS file, defaults to ids_schema object from buildingSMART + :type ids_schema: XMLschema, optional + :return: The contents of the XML data in string form + :rtype: string + """ + ns = {"": "http://standards.buildingsmart.org/IDS"} + return etree_tostring(ids_schema.encode(self.asdict()), namespaces=ns) + + def to_xml(self, filepath="output.xml", ids_schema=ids_schema): + """Writes IDS object to an XML file. + + :param filepath: Path to the file, defaults to "output.xml" :type filepath: str, optional :param ids_schema: XML Schema for an IDS file, defaults to ids_schema object from buildingSMART :type ids_schema: XMLschema, optional :return: Result of the newly created file validation against the schema. :rtype: bool """ - - if filepath.endswith("/"): - filepath = filepath + "IDS" - if not filepath.endswith(".xml"): - filepath = filepath + ".xml" - - ids_dict = self.asdict() - - ids_xml = ids_schema.encode( - ids_dict, - namespaces={ - "": "http://standards.buildingsmart.org/IDS", - "xs": "http://www.w3.org/2001/XMLSchema", - "xsi": "http://www.w3.org/2001/XMLSchema-instance", - "xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", - }, - ) # validation='skip', - - ids_str = etree_tostring( - ids_xml, - namespaces={ - "": "http://standards.buildingsmart.org/IDS", - # 'xs': 'http://www.w3.org/2001/XMLSchema', - # 'xsi': 'http://www.w3.org/2001/XMLSchema-instance', - # 'xsi:schemaLocation': "http://standards.buildingsmart.org/IDS/ids_05.xsd" - }, - ) - - with open(filepath, "w", encoding="utf-8") as f: - f.write('\n') - f.write("\n") - f.write(ids_str) - f.close() - + ET.ElementTree(ids_schema.encode(self.asdict())).write(filepath, encoding="utf-8", xml_declaration=True) return ids_schema.is_valid(filepath) @staticmethod diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 5877cab15d..7dd46ca878 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -95,11 +95,18 @@ class TestIdsParsing(unittest.TestCase): def test_parsed_ids_to_xml(self): IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files", "IDS", "IDS_Wall_needs_all_fields.xml") ids_file = ids.ids.open(IDS_URL) - fn = "TEST_FILE.xml" + fn = "output.xml" result = ids_file.to_xml(fn) + assert os.path.isfile(fn) os.remove(fn) self.assertTrue(result) + def test_parsed_ids_to_string(self): + IDS_URL = os.path.join(os.path.dirname(__file__), "Sample-BIM-Files", "IDS", "IDS_Wall_needs_all_fields.xml") + ids_file = ids.ids.open(IDS_URL) + output = ids_file.to_string() + assert output and "http://standards.buildingsmart.org/IDS" in output + """ Parsing IDS files with restrictions """ def test_parse_restrictions_enumeration(self): From 083d9d3e3e160776536f64fe01bea89a6413e73f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 16:23:07 +1000 Subject: [PATCH 136/243] Implement attribute facet for IDS --- src/ifcopenshell-python/ifcopenshell/ids.py | 63 +++++++++++++++++++++ src/ifcopenshell-python/test/test_ids.py | 23 ++++++++ 2 files changed, 86 insertions(+) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 6134500e5b..dc8e400b27 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -523,6 +523,69 @@ class entity(facet): return facet_evaluation(inst.is_a(self.name), self.message % {"name": inst.is_a()}) +class attribute(facet): + """The IDS attribute facet""" + + parameters = ["name", "value", "location"] + + @staticmethod + def create(name=None, value=None, location="any"): + """Create an attribute facet that can be added to applicability or requirements of IDS specification. + + :param name: Attribute name, such as "Description" + :type name: str + :param value: Attribute value + :type value: str, optional + :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" + :type location: str, optional + :return: entity object + :rtype: entity + """ + + inst = attribute() + inst.name = name + inst.value = value + inst.location = location + return inst + + def asdict(self): + """Converts object to a dictionary, adding required attributes. + + :return: Xmlschema compliant dictionary. + :rtype: dict + """ + fac_dict = {"name": parameter_asdict(self.name)} + if self.value: + fac_dict["value"] = parameter_asdict(self.value) + if self.location: + fac_dict["@location"] = self.location + return fac_dict + + def __call__(self, inst, logger): + """Validate an ifc instance against that entity facet. + + :param inst: IFC entity element + :type inst: IFC entity + :param logger: Logging object + :type logger: logging + :return: result of the validation as bool and message + :rtype: facet_evaluation(bool, str) + """ + element_type = ifcopenshell.util.element.get_type(inst) + if self.location == "instance": + value = getattr(inst, self.name, None) + elif self.location == "type": + value = getattr(element_type, self.name, None) if element_type else None + elif self.location == "any": + value = getattr(element_type, self.name, None) if element_type else None + value = getattr(inst, self.name, value) + if self.value: + self.message = "foo" + return facet_evaluation(value == self.value, f"an entity with {self.name} set to '{value}'") + else: + return facet_evaluation(value, f"an entity with {self.name}") + + class classification(facet): """ The IDS classification facet by traversing the HasAssociations inverse attribute diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 7dd46ca878..340fe9c870 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -152,11 +152,34 @@ class TestIdsAuthoring(unittest.TestCase): """Creating basic IDS""" + def test_creating_a_minimal_ids_and_validating(self): + specs = ids.ids(title="Title") + spec = ids.specification(name="Name") + spec.add_applicability(ids.entity.create(name="IfcWall")) + spec.add_requirement(ids.attribute.create(name="Name", value="Waldo")) + specs.specifications.append(spec) + assert "http://standards.buildingsmart.org/IDS" in specs.to_string() + + model = ifcopenshell.file() + model.createIfcWall(Name="Waldo") + specs.validate(model) + # TODO test this without resorting to hooking into logger output + def test_entity_create(self): e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") self.assertEqual(e.name, "Test_Name") self.assertEqual(e.predefinedType, "Test_PredefinedType") + def test_attribute_create(self): + attribute = ids.attribute.create(name="Name", value="Value") + assert attribute.name == "Name" + assert attribute.value == "Value" + assert attribute.asdict() == { + "name": {"simpleValue": "Name"}, + "value": {"simpleValue": "Value"}, + "@location": "any", + } + def test_classification_create(self): c = ids.classification.create(location="any", value="Test_Value", system="Test_System") self.assertEqual(c.location, "any") From a24c4b269a75536401550381f9f9ab441ad91985 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 17:36:24 +1000 Subject: [PATCH 137/243] Fix mandatory title and optional date and check invalid dates in IDS --- src/ifcopenshell-python/ifcopenshell/ids.py | 37 +++++---------- src/ifcopenshell-python/test/test_ids.py | 50 +++++++++++++-------- 2 files changed, 42 insertions(+), 45 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index dc8e400b27..7b930fc882 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -20,7 +20,6 @@ import os import re import logging import operator -import os import numpy as np import datetime @@ -36,8 +35,9 @@ from xmlschema.validators import identities from xml.etree import ElementTree as ET +# http://standards.buildingsmart.org/IDS/ids_05.xsd cwd = os.path.dirname(os.path.realpath(__file__)) -ids_schema = XMLSchema(os.path.join(cwd, "ids.xsd")) # source: "http://standards.buildingsmart.org/IDS/ids_05.xsd" +ids_schema = XMLSchema(os.path.join(cwd, "ids.xsd")) def error(msg): @@ -49,7 +49,7 @@ class ids: def __init__( self, - title="Name", + title="Title", copyright=None, version=None, description=None, @@ -79,22 +79,20 @@ class ids: """ self.specifications = [] self.info = {} - if title: - self.info["title"] = title + self.info["title"] = title or "Unnamed" if copyright: self.info["copyright"] = copyright if version: self.info["version"] = version if description: self.info["description"] = description - if author: - if "@" in author: - self.info["author"] = author + if author and "@" in author: + self.info["author"] = author if date: - if re.match(r"\d\d\d\d-\d\d-\d\d", date): - self.info["date"] = date # date.fromisoformat(creation_date).isoformat() - if "date" not in self.info: - self.info["date"] = datetime.date.today().isoformat() + try: + self.info["date"] = datetime.date.fromisoformat(date).isoformat() + except ValueError: + pass if purpose: self.info["purpose"] = purpose if milestone: @@ -175,19 +173,6 @@ class ids: logging.basicConfig(level=logging.INFO, format="%(message)s") logger.setLevel(logging.INFO) - # if "ifcversion" in self.info.keys(): - # if self.info["ifcversion"] in ["2.3.0.1", "4.0.2.1", "4.3.0.0"]: - # if self.info["ifcversion"][0:3] == "2.3": - # if not ifc_file.schema.startswith("IFC2x3"): - # logger.error("IFC file is of %s not of %s schema." % (ifc_file.schema, self.info["ifcversion"])) - # elif self.info["ifcversion"][0:3] == "4.0": - # if not ifc_file.schema == "IFC4": - # logger.error("IFC file is of %s not of %s schema." % (ifc_file.schema, self.info["ifcversion"])) - # elif self.info["ifcversion"][0:3] == "4.3": - # if not ifc_file.schema.startswith("IFC4x3"): - # logger.error("IFC file is of %s not of %s schema." % (ifc_file.schema, self.info["ifcversion"])) - # else: - # logger.error("IFC version not recognized") # Consider other way around: for elem, for spec so we can see if an element pass all IDSes? for spec in self.specifications: @@ -1362,8 +1347,6 @@ class BcfHandler(logging.StreamHandler): viewpoint.components.visibility.default_visibility = True viewpoint.snapshot = None self.bcf.add_viewpoint(topic, viewpoint) - # except: - # pass def flush(self): """Saves the BCF report to file. Triggered at the end of the validation process.""" diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 340fe9c870..7c033c5e82 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -149,9 +149,6 @@ class TestIdsParsing(unittest.TestCase): class TestIdsAuthoring(unittest.TestCase): - - """Creating basic IDS""" - def test_creating_a_minimal_ids_and_validating(self): specs = ids.ids(title="Title") spec = ids.specification(name="Name") @@ -165,6 +162,38 @@ class TestIdsAuthoring(unittest.TestCase): specs.validate(model) # TODO test this without resorting to hooking into logger output + def test_create_an_ids_with_minimal_information(self): + specs = ids.ids(title="title") + assert specs.info == {"title": "title"} + + def test_create_an_ids_with_all_possible_information(self): + specs = ids.ids( + title="title", + copyright="copyright", + version="version", + description="description", + author="author@test.com", + date="2020-01-01", + purpose="purpose", + milestone="milestone", + ) + assert specs.info["title"] == "title" + assert specs.info["copyright"] == "copyright" + assert specs.info["version"] == "version" + assert specs.info["description"] == "description" + assert specs.info["author"] == "author@test.com" + assert specs.info["date"] == "2020-01-01" + assert specs.info["purpose"] == "purpose" + assert specs.info["milestone"] == "milestone" + + def test_check_invalid_ids_information(self): + specs = ids.ids(title=None) + assert specs.info["title"] == "Unnamed" + specs = ids.ids(author="author") + assert not specs.info.get("author") + specs = ids.ids(date="9999-99-99") + assert not specs.info.get("date") + def test_entity_create(self): e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") self.assertEqual(e.name, "Test_Name") @@ -307,21 +336,6 @@ class TestIdsAuthoring(unittest.TestCase): os.remove(fn) self.assertTrue(result) - """ IDS information """ - - def test_create_full_information(self): - i = ids.ids( - title="Test IDS", - description="test", - author="test@test.com", - copyright="test", - version=1.23, - date="2021-01-01", - purpose="test", - milestone="test", - ) - self.assertEqual(i.info["version"], 1.23) - class TestIfcValidation(unittest.TestCase): def test_validate_simple(self): From ae298de8dc1f5cccd0a0e3d4d6a2a1af82db4c06 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 19:26:12 +1000 Subject: [PATCH 138/243] Implement identifier, desc, and instructions for specification node in IDS --- src/ifcopenshell-python/ifcopenshell/ids.py | 106 +++++++++-------- src/ifcopenshell-python/test/test_ids.py | 121 ++++++++++++++------ 2 files changed, 145 insertions(+), 82 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 7b930fc882..40dddb6a82 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -49,7 +49,7 @@ class ids: def __init__( self, - title="Title", + title="Untitled", copyright=None, version=None, description=None, @@ -79,7 +79,7 @@ class ids: """ self.specifications = [] self.info = {} - self.info["title"] = title or "Unnamed" + self.info["title"] = title or "Untitled" if copyright: self.info["copyright"] = copyright if version: @@ -113,7 +113,7 @@ class ids: "specifications": [], } for spec in self.specifications: - ids_dict["specifications"].append({"specification": spec.asdict()}) #TEST! + ids_dict["specifications"].append({"specification": spec.asdict()}) # TEST! return ids_dict def to_string(self, ids_schema=ids_schema): @@ -211,7 +211,9 @@ class ids: class specification: """Represents the XML node and its two children and """ - def __init__(self, name="Specification", use="required", ifcVersion="IFC2X3"): + def __init__( + self, name="Unnamed", use="required", ifcVersion="IFC2X3", identifier=None, description=None, instructions=None + ): """Create a specification to be added in ids. :param name:, defaults to "Specification" @@ -219,11 +221,14 @@ class specification: :param use: 'required'|'optional', defaults to "required" :type use: str, optional """ - self.name = name + self.name = name or "Unnamed" self.applicability = None self.requirements = None - self.ifcVersion = ifcVersion self.use = use + self.ifcVersion = ifcVersion + self.identifier = identifier + self.description = description + self.instructions = instructions def asdict(self): """Converts object to a dictionary, adding required attributes. @@ -232,21 +237,28 @@ class specification: :rtype: dict """ # if older python collections.OrderedDict() - spec_dict = { + results = { "@name": self.name, "@use": self.use, "@ifcVersion": self.ifcVersion, "applicability": {}, "requirements": {}, } - for x in ["applicability", "requirements"]: - for fac in (getattr(self, x)).terms: + for attribute in ["identifier", "description", "instructions"]: + value = getattr(self, attribute) + if value: + results[f"@{attribute}"] = value + for clause_type in ["applicability", "requirements"]: + clause = getattr(self, clause_type) + if not clause: + continue + for fac in clause.terms: fclass = type(fac).__name__ - if fclass in spec_dict[x]: - spec_dict[x][fclass].append(fac.asdict()) + if fclass in results[clause_type]: + results[clause_type][fclass].append(fac.asdict()) else: - spec_dict[x][fclass] = [fac.asdict()] - return spec_dict + results[clause_type][fclass] = [fac.asdict()] + return results @staticmethod def parse(ids_dict): @@ -266,7 +278,7 @@ class specification: spec = specification() try: spec.name = ids_dict["@name"] - except KeyError: + except KeyError: spec.name = "" spec.use = ids_dict["@use"] spec.ifcVersion = ids_dict["@ifcVersion"] @@ -416,10 +428,10 @@ class facet(metaclass=meta_facet): self.location = "any" def __getattr__(self, attr): - - if attr in getattr(self, 'node', None): + + if attr in getattr(self, "node", None): v = self.node[attr] - + # BUG list of dictionaries should not happen if isinstance(v, list): v = v[0] @@ -671,11 +683,11 @@ class partOf(facet): parameters = ["entity"] message = "relation as part of %(entity)s" - #TODO temp default + # TODO temp default entity = "IfcElementAssembly" @staticmethod - #TODO should not assume IfcElementAssembly + # TODO should not assume IfcElementAssembly # def create(entity=None): def create(entity="IfcElementAssembly"): """Create a partOf facet that can be added to applicability or requirements of IDS specification. @@ -713,33 +725,33 @@ class partOf(facet): :rtype: facet_evaluation(bool, str) """ - #TODO handle partOf facet + # TODO handle partOf facet -# instance_classiciations = inst.HasAssociations -# if ifcopenshell.util.element.get_type(inst): -# type_classifications = ifcopenshell.util.element.get_type(inst).HasAssociations -# else: -# type_classifications = () + # instance_classiciations = inst.HasAssociations + # if ifcopenshell.util.element.get_type(inst): + # type_classifications = ifcopenshell.util.element.get_type(inst).HasAssociations + # else: + # type_classifications = () -# if self.location == "instance" and instance_classiciations: -# associations = instance_classiciations -# elif self.location == "type" and type_classifications: -# associations = type_classifications -# elif self.location == "any" and (instance_classiciations or type_classifications): -# associations = instance_classiciations + type_classifications -# else: -# associations = () + # if self.location == "instance" and instance_classiciations: + # associations = instance_classiciations + # elif self.location == "type" and type_classifications: + # associations = type_classifications + # elif self.location == "any" and (instance_classiciations or type_classifications): + # associations = instance_classiciations + type_classifications + # else: + # associations = () refs = [] -# for association in associations: -# if association.is_a("IfcRelAssociatesClassification"): -# cref = association.RelatingClassification -# if hasattr(cref, "ItemReference"): # IFC2x3 -# refs.append((cref.ReferencedSource.Name, cref.ItemReference)) -# elif hasattr(cref, "Identification"): # IFC4 -# refs.append((cref.ReferencedSource.Name, cref.Identification)) + # for association in associations: + # if association.is_a("IfcRelAssociatesClassification"): + # cref = association.RelatingClassification + # if hasattr(cref, "ItemReference"): # IFC2x3 + # refs.append((cref.ReferencedSource.Name, cref.ItemReference)) + # elif hasattr(cref, "Identification"): # IFC4 + # refs.append((cref.ReferencedSource.Name, cref.Identification)) -# self.location_msg = location[self.location] + # self.location_msg = location[self.location] if refs: pass @@ -753,7 +765,7 @@ class partOf(facet): # }, # what if not first item of refs? # ) else: - return facet_evaluation(False, "is not a part of %s" % self.node['@entity']) + return facet_evaluation(False, "is not a part of %s" % self.node["@entity"]) class property(facet): @@ -818,7 +830,7 @@ class property(facet): # self.location = self.node["@location"] - #TODO add documentation that attributes should have "attribute" as propertySets + # TODO add documentation that attributes should have "attribute" as propertySets if self.propertySet == "attribute": val = {k.lower(): v for k, v in inst.get_info().items()}.get(self.name, None) else: @@ -1035,17 +1047,17 @@ class restriction: @staticmethod def parse(ids_dict): """Parse xml restriction to python object. - + :param ids_dict: :type ids_dict: dict """ r = restriction() if ids_dict: # TODO 'base' missing in some IDS?! - + try: r.base = ids_dict["@base"][3:] - except KeyError: + except KeyError: r.base = "String" for n in ids_dict: @@ -1168,7 +1180,7 @@ class restriction: result = True elif self.type == "pattern": if isinstance(self.options, list): - #TODO handle case with multiple pattern options + # TODO handle case with multiple pattern options translated_pattern = identities.translate_pattern(self.options[0]) else: translated_pattern = identities.translate_pattern(self.options) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 7c033c5e82..0b784df1f9 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -17,10 +17,11 @@ # along with IfcOpenShell. If not, see . import os +import pytest import logging import unittest import tempfile -import requests +import xmlschema from bcf import bcfxml import ifcopenshell from ifcopenshell import ids @@ -163,8 +164,15 @@ class TestIdsAuthoring(unittest.TestCase): # TODO test this without resorting to hooking into logger output def test_create_an_ids_with_minimal_information(self): - specs = ids.ids(title="title") - assert specs.info == {"title": "title"} + specs = ids.ids() + assert specs.asdict() == { + "@xmlns": "http://standards.buildingsmart.org/IDS", + "@xmlns:xs": "http://www.w3.org/2001/XMLSchema", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", + "info": {"title": "Untitled"}, + "specifications": [], + } def test_create_an_ids_with_all_possible_information(self): specs = ids.ids( @@ -177,22 +185,83 @@ class TestIdsAuthoring(unittest.TestCase): purpose="purpose", milestone="milestone", ) - assert specs.info["title"] == "title" - assert specs.info["copyright"] == "copyright" - assert specs.info["version"] == "version" - assert specs.info["description"] == "description" - assert specs.info["author"] == "author@test.com" - assert specs.info["date"] == "2020-01-01" - assert specs.info["purpose"] == "purpose" - assert specs.info["milestone"] == "milestone" + assert specs.asdict() == { + "@xmlns": "http://standards.buildingsmart.org/IDS", + "@xmlns:xs": "http://www.w3.org/2001/XMLSchema", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", + "info": { + "title": "title", + "copyright": "copyright", + "version": "version", + "description": "description", + "author": "author@test.com", + "date": "2020-01-01", + "purpose": "purpose", + "milestone": "milestone", + }, + "specifications": [], + } def test_check_invalid_ids_information(self): - specs = ids.ids(title=None) - assert specs.info["title"] == "Unnamed" - specs = ids.ids(author="author") - assert not specs.info.get("author") - specs = ids.ids(date="9999-99-99") - assert not specs.info.get("date") + specs = ids.ids(title=None, author="author", date="9999-99-99") + assert specs.asdict() == { + "@xmlns": "http://standards.buildingsmart.org/IDS", + "@xmlns:xs": "http://www.w3.org/2001/XMLSchema", + "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", + "@xsi:schemaLocation": "http://standards.buildingsmart.org/IDS/ids_05.xsd", + "info": {"title": "Untitled"}, + "specifications": [], + } + + def test_authoring_an_ids_with_no_specifications_is_invalid(self): + specs = ids.ids() + with pytest.raises(xmlschema.validators.exceptions.XMLSchemaChildrenValidationError): + specs.to_string() + + def test_create_specification_with_minimal_information(self): + spec = ids.specification() + assert spec.asdict() == { + "@name": "Unnamed", + "@use": "required", + "@ifcVersion": "IFC2X3", # :( + "applicability": {}, + "requirements": {}, + } + + def test_create_specification_with_all_possible_information(self): + spec = ids.specification( + name="name", + use="use", + ifcVersion="version", + identifier="identifier", + description="description", + instructions="instructions", + ) + assert spec.asdict() == { + "@name": "name", + "@use": "use", + "@ifcVersion": "version", + "@identifier": "identifier", + "@description": "description", + "@instructions": "instructions", + "applicability": {}, + "requirements": {}, + } + + def test_ids_add_content(self): + i = ids.ids(title="My IDS") + i.specifications.append(ids.specification(name="Test_Specification")) + self.assertEqual(i.specifications[0].name, "Test_Specification") + m = ids.material.create(location="any", value="Test_Value") + i.specifications[0].add_applicability(m) + self.assertEqual(i.specifications[0].applicability.terms[0].value, "Test_Value") + i.specifications[0].add_applicability(m) + self.assertEqual(i.specifications[0].applicability.terms[1].value, "Test_Value") + i.specifications[0].add_requirement(m) + self.assertEqual(i.specifications[0].requirements.terms[0].value, "Test_Value") + i.specifications[0].add_requirement(m) + self.assertEqual(i.specifications[0].requirements.terms[1].value, "Test_Value") def test_entity_create(self): e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") @@ -229,24 +298,6 @@ class TestIdsAuthoring(unittest.TestCase): self.assertEqual(m.location, "any") self.assertEqual(m.value, "Test_Value") - def test_specification_create(self): - s = ids.specification(name="Test_Specification") - self.assertEqual(s.name, "Test_Specification") - - def test_ids_add_content(self): - i = ids.ids(title="My IDS") - i.specifications.append(ids.specification(name="Test_Specification")) - self.assertEqual(i.specifications[0].name, "Test_Specification") - m = ids.material.create(location="any", value="Test_Value") - i.specifications[0].add_applicability(m) - self.assertEqual(i.specifications[0].applicability.terms[0].value, "Test_Value") - i.specifications[0].add_applicability(m) - self.assertEqual(i.specifications[0].applicability.terms[1].value, "Test_Value") - i.specifications[0].add_requirement(m) - self.assertEqual(i.specifications[0].requirements.terms[0].value, "Test_Value") - i.specifications[0].add_requirement(m) - self.assertEqual(i.specifications[0].requirements.terms[1].value, "Test_Value") - """ Creating IDS with restrictions """ def test_create_restrictions_enumeration(self): From 08fc62d4d98bd08234b2d64708a730cf4145a553 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 21:20:10 +1000 Subject: [PATCH 139/243] Add support for userdefined predefined types in IDS entity facets --- src/ifcopenshell-python/ifcopenshell/ids.py | 57 +++++++++++---------- src/ifcopenshell-python/test/test_ids.py | 31 +++++++++-- 2 files changed, 56 insertions(+), 32 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 40dddb6a82..2f4174c09a 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -173,7 +173,6 @@ class ids: logging.basicConfig(level=logging.INFO, format="%(message)s") logger.setLevel(logging.INFO) - # Consider other way around: for elem, for spec so we can see if an element pass all IDSes? for spec in self.specifications: self.ifc_applicable = 0 @@ -216,8 +215,8 @@ class specification: ): """Create a specification to be added in ids. - :param name:, defaults to "Specification" - :type name: str, optional + :param name: Name describing the specification to a contract reader + :type name: str :param use: 'required'|'optional', defaults to "required" :type use: str, optional """ @@ -287,17 +286,19 @@ class specification: return spec def add_applicability(self, facet): - """Applicability specifies what conditions must be meet for an IFC object to be used for validation. Note, that at least one entity facet is required. + """Applicability specifies a filter for IFC entities are to be validated. - :param facet: any of entity|classification|property|material + At least one filter must be added. + + :param facet: any of entity|attribute|classification|property|material :type facet: facet Example:: - i = ids.ids() - i.specifications.append(ids.specification(name="Test_Specification")) - e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") - i.specifications[0].add_applicability(e) + specs = ids.ids() + spec = ids.specification(name="Test_Specification") + spec.add_applicability(ids.entity.create(name="IfcWall")) + specs.specifications.append(spec) """ if self.applicability: self.applicability = boolean_and(self.applicability.terms + [facet]) @@ -305,9 +306,11 @@ class specification: self.applicability = boolean_and([facet]) def add_requirement(self, facet): - """Requirement is validated on all applicable IFC elements. Note, that at least one facet of any type is required. + """A requirement specifies data to be checked for all applicable entities. - :param facet: any of entity|classification|property|material + At least one requirement must be added. + + :param facet: any of entity|attribute|classification|property|material|partOf :type facet: facet """ if self.requirements: @@ -487,18 +490,17 @@ class entity(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - fac_dict = {"name": parameter_asdict(self.name)} - if "predefinedType" in self: - if self.predefinedType: - fac_dict["predefinedType"] = parameter_asdict(self.predefinedType) - # try: - # fac_dict["predefinedType"] = parameter_asdict(self.predefinedType) - # except (RecursionError, UnboundLocalError) as e: - # print(e) - return fac_dict + results = {"name": parameter_asdict(self.name)} + if self.predefinedType: + results["predefinedType"] = parameter_asdict(self.predefinedType) + return results - def __call__(self, inst, logger): - """Validate an ifc instance against that entity facet. + def __call__(self, inst, logger=None): + """Validate an entity. + + When a simple value is provided for the name, subclasses are also + treated as valid. PredefinedType checks support userdefined types for + both element and type elements. :param inst: IFC entity element :type inst: IFC entity @@ -507,13 +509,12 @@ class entity(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - - # @nb with inheritance - if self.predefinedType and hasattr(inst, "PredefinedType"): + if self.predefinedType: + predefined_type = ifcopenshell.util.element.get_predefined_type(inst) self.message = "an entity name '%(name)s' of predefined type '%(predefinedType)s'" return facet_evaluation( - inst.is_a(self.name) and inst.PredefinedType == self.predefinedType, - self.message % {"name": inst.is_a(), "predefinedType": inst.PredefinedType}, + inst.is_a(self.name) and predefined_type == self.predefinedType, + self.message % {"name": inst.is_a(), "predefinedType": predefined_type}, ) else: self.message = "an entity name '%(name)s'" @@ -558,7 +559,7 @@ class attribute(facet): fac_dict["@location"] = self.location return fac_dict - def __call__(self, inst, logger): + def __call__(self, inst, logger=None): """Validate an ifc instance against that entity facet. :param inst: IFC entity element diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 0b784df1f9..3605e18e1f 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -263,10 +263,33 @@ class TestIdsAuthoring(unittest.TestCase): i.specifications[0].add_requirement(m) self.assertEqual(i.specifications[0].requirements.terms[1].value, "Test_Value") - def test_entity_create(self): - e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") - self.assertEqual(e.name, "Test_Name") - self.assertEqual(e.predefinedType, "Test_PredefinedType") + def test_create_an_entity_facet(self): + facet = ids.entity.create(name="IfcName") + assert facet.asdict() == {"name": {"simpleValue": "IfcName"}} + facet = ids.entity.create(name="IfcName", predefinedType="predefinedType") + assert facet.asdict() == { + "name": {"simpleValue": "IfcName"}, + "predefinedType": {"simpleValue": "predefinedType"}, + } + + def test_filtering_using_an_entity_facet(self): + ifc = ifcopenshell.file() + + facet = ids.entity.create(name="IfcWall") + assert bool(facet(ifc.createIfcWall())) is True + assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True + assert bool(facet(ifc.createIfcSlab())) is False + + facet = ids.entity.create(name="IfcWall", predefinedType="SOLIDWALL") + assert bool(facet(ifc.createIfcWall())) is False + assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True + assert bool(facet(ifc.createIfcWall(PredefinedType="PARTITIONING"))) is False + + facet = ids.entity.create(name="IfcWall", predefinedType="WALDO") + assert bool(facet(ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"))) is True + + facet = ids.entity.create(name="IfcWallType", predefinedType="WALDO") + assert bool(facet(ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"))) is True def test_attribute_create(self): attribute = ids.attribute.create(name="Name", value="Value") From 4326a74c64ec1d7be63525bba46357c2f43c442f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 21:40:35 +1000 Subject: [PATCH 140/243] Fix IDS to not allow subclasses and allow restrictions in the class name --- src/ifcopenshell-python/ifcopenshell/ids.py | 13 ++++++++----- src/ifcopenshell-python/test/test_ids.py | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 2f4174c09a..6ff2edf8b5 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -498,9 +498,8 @@ class entity(facet): def __call__(self, inst, logger=None): """Validate an entity. - When a simple value is provided for the name, subclasses are also - treated as valid. PredefinedType checks support userdefined types for - both element and type elements. + Subclasses are not considered to pass the requirements. PredefinedType + checks support userdefined types for both element and type elements. :param inst: IFC entity element :type inst: IFC entity @@ -509,16 +508,20 @@ class entity(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ + if isinstance(self.name, str): + is_class = inst.is_a().lower() == self.name.lower() + else: + is_class = inst.is_a() == self.name if self.predefinedType: predefined_type = ifcopenshell.util.element.get_predefined_type(inst) self.message = "an entity name '%(name)s' of predefined type '%(predefinedType)s'" return facet_evaluation( - inst.is_a(self.name) and predefined_type == self.predefinedType, + is_class and predefined_type == self.predefinedType, self.message % {"name": inst.is_a(), "predefinedType": predefined_type}, ) else: self.message = "an entity name '%(name)s'" - return facet_evaluation(inst.is_a(self.name), self.message % {"name": inst.is_a()}) + return facet_evaluation(is_class, self.message % {"name": inst.is_a()}) class attribute(facet): diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 3605e18e1f..92434bd0fd 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -280,6 +280,11 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True assert bool(facet(ifc.createIfcSlab())) is False + facet = ids.entity.create(name="IFCWALL") + assert bool(facet(ifc.createIfcWall())) is True + assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True + assert bool(facet(ifc.createIfcSlab())) is False + facet = ids.entity.create(name="IfcWall", predefinedType="SOLIDWALL") assert bool(facet(ifc.createIfcWall())) is False assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True @@ -291,6 +296,17 @@ class TestIdsAuthoring(unittest.TestCase): facet = ids.entity.create(name="IfcWallType", predefinedType="WALDO") assert bool(facet(ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"))) is True + restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration", base="string") + facet = ids.entity.create(name=restriction) + assert bool(facet(ifc.createIfcWall())) is True + assert bool(facet(ifc.createIfcSlab())) is True + assert bool(facet(ifc.createIfcBeam())) is False + + restriction = ids.restriction.create(options="Ifc.*Type", type="pattern", base="string") + facet = ids.entity.create(name=restriction) + assert bool(facet(ifc.createIfcWall())) is False + assert bool(facet(ifc.createIfcWallType())) is True + def test_attribute_create(self): attribute = ids.attribute.create(name="Name", value="Value") assert attribute.name == "Name" From a78d6f42e55a9c100882ac3eb77476dae974f83b Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 22:13:28 +1000 Subject: [PATCH 141/243] Allow IDS to audit any entity, not just IfcObjects --- src/ifcopenshell-python/ifcopenshell/ids.py | 4 ++-- src/ifcopenshell-python/test/test_ids.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 6ff2edf8b5..2e6e4fcfec 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -177,7 +177,7 @@ class ids: for spec in self.specifications: self.ifc_applicable = 0 self.ifc_passed = 0 - for elem in ifc_file.by_type("IfcObject"): + for elem in ifc_file: apply, comply = spec(elem, logger) if apply: self.ifc_applicable += 1 @@ -211,7 +211,7 @@ class specification: """Represents the XML node and its two children and """ def __init__( - self, name="Unnamed", use="required", ifcVersion="IFC2X3", identifier=None, description=None, instructions=None + self, name="Unnamed", use="required", ifcVersion=["IFC2X3", "IFC4"], identifier=None, description=None, instructions=None ): """Create a specification to be added in ids. diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 92434bd0fd..74ab5d47be 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -224,7 +224,7 @@ class TestIdsAuthoring(unittest.TestCase): assert spec.asdict() == { "@name": "Unnamed", "@use": "required", - "@ifcVersion": "IFC2X3", # :( + "@ifcVersion": ["IFC2X3", "IFC4"], "applicability": {}, "requirements": {}, } @@ -233,7 +233,7 @@ class TestIdsAuthoring(unittest.TestCase): spec = ids.specification( name="name", use="use", - ifcVersion="version", + ifcVersion="IFC4", identifier="identifier", description="description", instructions="instructions", @@ -241,7 +241,7 @@ class TestIdsAuthoring(unittest.TestCase): assert spec.asdict() == { "@name": "name", "@use": "use", - "@ifcVersion": "version", + "@ifcVersion": "IFC4", "@identifier": "identifier", "@description": "description", "@instructions": "instructions", From 650f9eb7f51837d356a06a88c1036669d290531d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 22:42:21 +1000 Subject: [PATCH 142/243] Attribute filtering in IDS now checks null-like values too. --- src/ifcopenshell-python/ifcopenshell/ids.py | 46 ++++++++++----------- src/ifcopenshell-python/test/test_ids.py | 30 +++++++++++++- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 2e6e4fcfec..13dfe3751f 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -584,7 +584,7 @@ class attribute(facet): self.message = "foo" return facet_evaluation(value == self.value, f"an entity with {self.name} set to '{value}'") else: - return facet_evaluation(value, f"an entity with {self.name}") + return facet_evaluation(value is not None and value != "", f"an entity with {self.name}") class classification(facet): @@ -834,36 +834,32 @@ class property(facet): # self.location = self.node["@location"] - # TODO add documentation that attributes should have "attribute" as propertySets - if self.propertySet == "attribute": - val = {k.lower(): v for k, v in inst.get_info().items()}.get(self.name, None) - else: + # TODO sometimes AttributeError: 'str' object has no attribute 'wrappedValue' + try: + instance_props = ifcopenshell.util.element.get_psets(inst) + except AttributeError: + instance_props = {} + + if ifcopenshell.util.element.get_type(inst): # TODO sometimes AttributeError: 'str' object has no attribute 'wrappedValue' try: - instance_props = ifcopenshell.util.element.get_psets(inst) + type_props = ifcopenshell.util.element.get_psets(ifcopenshell.util.element.get_type(inst)) except AttributeError: - instance_props = {} - - if ifcopenshell.util.element.get_type(inst): - # TODO sometimes AttributeError: 'str' object has no attribute 'wrappedValue' - try: - type_props = ifcopenshell.util.element.get_psets(ifcopenshell.util.element.get_type(inst)) - except AttributeError: - type_props = {} - else: type_props = {} + else: + type_props = {} - if self.location == "instance": - props = instance_props - elif self.location == "type" and type_props: - props = type_props - elif self.location == "any" and (instance_props or type_props): - props = {**instance_props, **type_props} - else: - props = {} + if self.location == "instance": + props = instance_props + elif self.location == "type" and type_props: + props = type_props + elif self.location == "any" and (instance_props or type_props): + props = {**instance_props, **type_props} + else: + props = {} - pset = props.get(self.propertySet) - val = pset.get(self.name) if pset else None + pset = props.get(self.propertySet) + val = pset.get(self.name) if pset else None self.location_msg = location[self.location] di = {"name": self.name, "propertySet": self.propertySet, "value": "'%s'" % val, "location": self.location_msg} diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 74ab5d47be..b615405012 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -307,7 +307,7 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(ifc.createIfcWall())) is False assert bool(facet(ifc.createIfcWallType())) is True - def test_attribute_create(self): + def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="Name", value="Value") assert attribute.name == "Name" assert attribute.value == "Value" @@ -317,6 +317,34 @@ class TestIdsAuthoring(unittest.TestCase): "@location": "any", } + def test_filtering_using_an_attribute_facet(self): + ifc = ifcopenshell.file() + + facet = ids.attribute.create(name="Foobar") + assert bool(facet(ifc.createIfcWall())) is False + + facet = ids.attribute.create(name="Name") + assert bool(facet(ifc.createIfcWall())) is False + assert bool(facet(ifc.createIfcWall(Name=""))) is False + assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True + + facet = ids.attribute.create(name="Name", value="Foobar") + assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True + assert bool(facet(ifc.createIfcWall(Name="Foobaz"))) is False + + facet = ids.attribute.create(name="Eastings") + assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is True + + facet = ids.attribute.create(name="Eastings", value=42) + assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is False + assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is True + + restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration", base="string") + facet = ids.attribute.create(name="Name", value=restriction) + assert bool(facet(ifc.createIfcWall(Name="Foo"))) is True + assert bool(facet(ifc.createIfcWall(Name="Bar"))) is True + assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is False + def test_classification_create(self): c = ids.classification.create(location="any", value="Test_Value", system="Test_System") self.assertEqual(c.location, "any") From f528ad97444319f12a2d75c8ff9d70853d7ea4e4 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 10 May 2022 23:49:14 +1000 Subject: [PATCH 143/243] Minor fix --- src/ifcopenshell-python/test/test_ids.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index b615405012..39ebeed201 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -279,6 +279,7 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(ifc.createIfcWall())) is True assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True assert bool(facet(ifc.createIfcSlab())) is False + assert bool(facet(ifc.createIfcWallStandardCase())) is False facet = ids.entity.create(name="IFCWALL") assert bool(facet(ifc.createIfcWall())) is True From eb3e137a6e40f4454782732d61aaad2816caf2cd Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 09:18:11 +1000 Subject: [PATCH 144/243] #2196 Get psets now handleds inheritance by default --- .../ifcopenshell/util/element.py | 7 +++++-- src/ifcopenshell-python/test/util/test_element.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index 8f141cfaa3..d4ef35aee5 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -19,7 +19,7 @@ import ifcopenshell -def get_psets(element, psets_only=False, qtos_only=False): +def get_psets(element, psets_only=False, qtos_only=False, should_inherit=True): psets = {} if element.is_a("IfcTypeObject"): for definition in element.HasPropertySets or []: @@ -34,6 +34,9 @@ def get_psets(element, psets_only=False, qtos_only=False): continue psets[definition.Name] = get_property_definition(definition) elif hasattr(element, "IsDefinedBy"): + element_type = ifcopenshell.util.element.get_type(element) + if element_type and should_inherit: + psets = get_psets(element_type) for relationship in element.IsDefinedBy: if relationship.is_a("IfcRelDefinesByProperties"): definition = relationship.RelatingPropertyDefinition @@ -41,7 +44,7 @@ def get_psets(element, psets_only=False, qtos_only=False): continue if qtos_only and not definition.is_a("IfcElementQuantity"): continue - psets[definition.Name] = get_property_definition(definition) + psets.setdefault(definition.Name, {}).update(get_property_definition(definition)) return psets diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index 5ec3a49ad6..1a840fd27f 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -37,6 +37,20 @@ class TestGetPsetsIFC4(test.bootstrap.IFC4): ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"x": "y"}) assert subject.get_psets(type_element) == {"name": {"x": "y", "id": pset.id()}} + def test_getting_inherited_psets(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + type_element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=type_element) + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=type_element, name="name") + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"a": 1, "x": 1}) + pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="name") + ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"a": 2, "b": 3}) + psets = subject.get_psets(element) + assert psets["name"]["id"] == pset.id() + assert psets["name"]["a"] == 2 + assert psets["name"]["x"] == 1 + assert psets["name"]["b"] == 3 + def test_getting_the_psets_of_a_material_as_a_dictionary(self): material = self.file.createIfcMaterial() assert subject.get_psets(material) == {} From 7e09ab0cedbc17941370be413edd85051a03ee67 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 10:12:36 +1000 Subject: [PATCH 145/243] Add support for IDS attribute use/instructions --- src/ifcopenshell-python/ifcopenshell/ids.py | 15 ++++++++++--- src/ifcopenshell-python/test/test_ids.py | 25 +++++++++++++++------ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 13dfe3751f..f8d46c11ba 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -530,15 +530,19 @@ class attribute(facet): parameters = ["name", "value", "location"] @staticmethod - def create(name=None, value=None, location="any"): + def create(name="Name", value=None, location="any", use=None, instructions=None): """Create an attribute facet that can be added to applicability or requirements of IDS specification. :param name: Attribute name, such as "Description" :type name: str - :param value: Attribute value + :param value: Attribute value, with type being strictly checked :type value: str, optional :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" :type location: str, optional + :param use: 'required'|'optional', defaults to "required" + :type use: str, optional + :param instructions: Instructions as a guide for model authors when reading the requirements + :type instructions: str, optional :return: entity object :rtype: entity """ @@ -547,6 +551,8 @@ class attribute(facet): inst.name = name inst.value = value inst.location = location + inst.use = use + inst.instructions = instructions return inst def asdict(self): @@ -560,6 +566,10 @@ class attribute(facet): fac_dict["value"] = parameter_asdict(self.value) if self.location: fac_dict["@location"] = self.location + if self.use: + fac_dict["@use"] = self.use + if self.instructions: + fac_dict["@instructions"] = self.instructions return fac_dict def __call__(self, inst, logger=None): @@ -608,7 +618,6 @@ class classification(facet): :return: classification object :rtype: classification """ - inst = classification() inst.location = location inst.value = value diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 39ebeed201..3a7ba95547 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -232,7 +232,7 @@ class TestIdsAuthoring(unittest.TestCase): def test_create_specification_with_all_possible_information(self): spec = ids.specification( name="name", - use="use", + use="required", ifcVersion="IFC4", identifier="identifier", description="description", @@ -240,7 +240,7 @@ class TestIdsAuthoring(unittest.TestCase): ) assert spec.asdict() == { "@name": "name", - "@use": "use", + "@use": "required", "@ifcVersion": "IFC4", "@identifier": "identifier", "@description": "description", @@ -297,6 +297,9 @@ class TestIdsAuthoring(unittest.TestCase): facet = ids.entity.create(name="IfcWallType", predefinedType="WALDO") assert bool(facet(ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"))) is True + facet = ids.entity.create(name="IfcWall", predefinedType="USERDEFINED") + assert bool(facet(ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"))) is False + restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration", base="string") facet = ids.entity.create(name=restriction) assert bool(facet(ifc.createIfcWall())) is True @@ -309,14 +312,22 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(ifc.createIfcWallType())) is True def test_creating_an_attribute_facet(self): - attribute = ids.attribute.create(name="Name", value="Value") - assert attribute.name == "Name" - assert attribute.value == "Value" + attribute = ids.attribute.create(name="name") + assert attribute.asdict() == {"name": {"simpleValue": "name"}, "@location": "any"} + attribute = ids.attribute.create(name="name", value="value") assert attribute.asdict() == { - "name": {"simpleValue": "Name"}, - "value": {"simpleValue": "Value"}, + "name": {"simpleValue": "name"}, + "value": {"simpleValue": "value"}, "@location": "any", } + attribute = ids.attribute.create(name="name", value="value", use="required", instructions="instructions") + assert attribute.asdict() == { + "name": {"simpleValue": "name"}, + "value": {"simpleValue": "value"}, + "@location": "any", + "@use": "required", + "@instructions": "instructions", + } def test_filtering_using_an_attribute_facet(self): ifc = ifcopenshell.file() From c5de1d8727ff45d6d9c78e2563bc22c15e6feee8 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 13:06:15 +1000 Subject: [PATCH 146/243] Add IDS support for restrictions in attribute facets and handle inheritance --- src/ifcopenshell-python/ifcopenshell/ids.py | 61 +++++++++---- src/ifcopenshell-python/test/test_ids.py | 98 ++++++++++++++++++++- 2 files changed, 141 insertions(+), 18 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index f8d46c11ba..548befca25 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -1,5 +1,5 @@ # IDS - Information Delivery Specification. -# Copyright (C) 2021 Artur Tomczak , Thomas Krijnen +# Copyright (C) 2021 Artur Tomczak , Thomas Krijnen , Dion Moult # # This file is part of IfcOpenShell. # @@ -211,7 +211,13 @@ class specification: """Represents the XML node and its two children and """ def __init__( - self, name="Unnamed", use="required", ifcVersion=["IFC2X3", "IFC4"], identifier=None, description=None, instructions=None + self, + name="Unnamed", + use="required", + ifcVersion=["IFC2X3", "IFC4"], + identifier=None, + description=None, + instructions=None, ): """Create a specification to be added in ids. @@ -509,19 +515,21 @@ class entity(facet): :rtype: facet_evaluation(bool, str) """ if isinstance(self.name, str): - is_class = inst.is_a().lower() == self.name.lower() + is_pass = inst.is_a().lower() == self.name.lower() else: - is_class = inst.is_a() == self.name - if self.predefinedType: + is_pass = inst.is_a() == self.name + if is_pass and self.predefinedType: predefined_type = ifcopenshell.util.element.get_predefined_type(inst) + is_pass = predefined_type == self.predefinedType + + if self.predefinedType: self.message = "an entity name '%(name)s' of predefined type '%(predefinedType)s'" return facet_evaluation( - is_class and predefined_type == self.predefinedType, - self.message % {"name": inst.is_a(), "predefinedType": predefined_type}, + is_pass, self.message % {"name": inst.is_a(), "predefinedType": predefined_type} ) else: self.message = "an entity name '%(name)s'" - return facet_evaluation(is_class, self.message % {"name": inst.is_a()}) + return facet_evaluation(is_pass, self.message % {"name": inst.is_a()}) class attribute(facet): @@ -573,7 +581,7 @@ class attribute(facet): return fac_dict def __call__(self, inst, logger=None): - """Validate an ifc instance against that entity facet. + """Validate an ifc instance. :param inst: IFC entity element :type inst: IFC entity @@ -582,19 +590,40 @@ class attribute(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - element_type = ifcopenshell.util.element.get_type(inst) + def get_values(element, name): + if isinstance(name, str): + return [getattr(element, name, None)] + return [v for k, v in element.get_info().items() if k == name] + if self.location == "instance": - value = getattr(inst, self.name, None) + values = get_values(inst, self.name) elif self.location == "type": - value = getattr(element_type, self.name, None) if element_type else None + element_type = ifcopenshell.util.element.get_type(inst) + values = get_values(element_type, self.name) if element_type else [] elif self.location == "any": - value = getattr(element_type, self.name, None) if element_type else None - value = getattr(inst, self.name, value) + element_type = ifcopenshell.util.element.get_type(inst) + + if isinstance(self.name, str): + type_value = getattr(element_type, self.name, None) if element_type else None + occurrence_value = getattr(inst, self.name, None) + values = [occurrence_value if occurrence_value is not None else type_value] + else: + if element_type: + info = element_type.get_info() + info.update({k: v for k, v in inst.get_info().items() if v is not None}) + else: + info = inst.get_info() + values = [v for k, v in info.items() if k == self.name] + + is_pass = bool(values) and all([v is not None and v != "" for v in values]) + if is_pass and self.value: + is_pass = all([v == self.value for v in values]) + if self.value: self.message = "foo" - return facet_evaluation(value == self.value, f"an entity with {self.name} set to '{value}'") + return facet_evaluation(is_pass, f"an entity with {self.name} set to something wrong") else: - return facet_evaluation(value is not None and value != "", f"an entity with {self.name}") + return facet_evaluation(is_pass, f"an entity with {self.name}") class classification(facet): diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 3a7ba95547..e283f39d9c 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -22,8 +22,9 @@ import logging import unittest import tempfile import xmlschema -from bcf import bcfxml import ifcopenshell +import ifcopenshell.api +from bcf import bcfxml from ifcopenshell import ids @@ -275,42 +276,77 @@ class TestIdsAuthoring(unittest.TestCase): def test_filtering_using_an_entity_facet(self): ifc = ifcopenshell.file() + # Wrong IFC classes are never matched. + facet = ids.entity.create(name="IfcRabbit") + assert bool(facet(ifc.createIfcWall())) is False + + # IFC class is checked for an exact match. Subclasses should not match. facet = ids.entity.create(name="IfcWall") assert bool(facet(ifc.createIfcWall())) is True assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True assert bool(facet(ifc.createIfcSlab())) is False assert bool(facet(ifc.createIfcWallStandardCase())) is False + # IFC class is case insensitive. facet = ids.entity.create(name="IFCWALL") assert bool(facet(ifc.createIfcWall())) is True assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True assert bool(facet(ifc.createIfcSlab())) is False + # Predefined types are checked from standard enumeration values facet = ids.entity.create(name="IfcWall", predefinedType="SOLIDWALL") assert bool(facet(ifc.createIfcWall())) is False assert bool(facet(ifc.createIfcWall(PredefinedType="SOLIDWALL"))) is True assert bool(facet(ifc.createIfcWall(PredefinedType="PARTITIONING"))) is False + # Predefined types are checked from the object type field if not standard facet = ids.entity.create(name="IfcWall", predefinedType="WALDO") assert bool(facet(ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"))) is True + # Predefined types are checked from the element type field if not standard for types facet = ids.entity.create(name="IfcWallType", predefinedType="WALDO") assert bool(facet(ifc.createIfcWallType(PredefinedType="USERDEFINED", ElementType="WALDO"))) is True + # Userdefined is not an allowed filter because userdefined implies a specified object or element type facet = ids.entity.create(name="IfcWall", predefinedType="USERDEFINED") assert bool(facet(ifc.createIfcWall(PredefinedType="USERDEFINED", ObjectType="WALDO"))) is False + # Predefined types should match inherited predefined types from the element type + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="X") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + facet = ids.entity.create(name="IfcWall", predefinedType="X") + assert bool(facet(wall)) is True + + # Predefined types should match overridden predefined types from the element type + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="X") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="NOTDEFINED") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + facet = ids.entity.create(name="IfcWall", predefinedType="X") + assert bool(facet(wall)) is True + + # Restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration", base="string") facet = ids.entity.create(name=restriction) assert bool(facet(ifc.createIfcWall())) is True assert bool(facet(ifc.createIfcSlab())) is True assert bool(facet(ifc.createIfcBeam())) is False + # Another example of how restrictions are allowed when matching the IFC class restriction = ids.restriction.create(options="Ifc.*Type", type="pattern", base="string") facet = ids.entity.create(name=restriction) assert bool(facet(ifc.createIfcWall())) is False assert bool(facet(ifc.createIfcWallType())) is True + # Restrictions are allowed when matching the predefined type + restriction = ids.restriction.create(options="FOO.*", type="pattern", base="string") + facet = ids.entity.create(name="IfcWall", predefinedType=restriction) + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") + wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") + assert bool(facet(wall)) is True + assert bool(facet(wall2)) is True + + def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") assert attribute.asdict() == {"name": {"simpleValue": "name"}, "@location": "any"} @@ -332,32 +368,90 @@ class TestIdsAuthoring(unittest.TestCase): def test_filtering_using_an_attribute_facet(self): ifc = ifcopenshell.file() + # Attribute names that don't exist are never matched facet = ids.attribute.create(name="Foobar") assert bool(facet(ifc.createIfcWall())) is False + # Attribute names that are either null or empty string are not matched. + # The logic is that unfortunately most BIM users cannot differentiate between the two. facet = ids.attribute.create(name="Name") assert bool(facet(ifc.createIfcWall())) is False assert bool(facet(ifc.createIfcWall(Name=""))) is False assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True + # When a value is specified, the value shall match case sensitively facet = ids.attribute.create(name="Name", value="Foobar") assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True assert bool(facet(ifc.createIfcWall(Name="Foobaz"))) is False + # A value that is 0 is still considered a value, not "null-like", so it is matched facet = ids.attribute.create(name="Eastings") assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is True + # Values are checked with strict typing. No type casting shall occur. facet = ids.attribute.create(name="Eastings", value=42) assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is False assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is True + facet = ids.attribute.create(name="Eastings", value="42") + assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is False + # Restrictions are allowed for the name + restriction = ids.restriction.create(options=".*Name.*", type="pattern", base="string") + facet = ids.attribute.create(name=restriction) + assert bool(facet(ifc.createIfcMaterialLayerSet(LayerSetName="Foo"))) is True + assert bool(facet(ifc.createIfcMaterialConstituentSet(Name="Foo"))) is True + + # Restrictions for the name imply that multiple names may be matched. All, not any, must pass the checks. + restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration", base="string") + facet = ids.attribute.create(name=restriction) + assert bool(facet(ifc.createIfcWall(Name="Foo"))) is False + assert bool(facet(ifc.createIfcWall(Name="Foo", Description="Bar"))) is True + + # Restrictions are allowed for the value restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration", base="string") facet = ids.attribute.create(name="Name", value=restriction) assert bool(facet(ifc.createIfcWall(Name="Foo"))) is True assert bool(facet(ifc.createIfcWall(Name="Bar"))) is True assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is False - def test_classification_create(self): + # Location instance only checks on the instance, this seems like intuitive behaviour + facet = ids.attribute.create(name="Name", value="Foobar", location="instance") + assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is True + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + wall_type.Name = "Foobar" + assert bool(facet(wall)) is False + + # Location type only checks on the type. This seems a bit weird honestly. + facet = ids.attribute.create(name="Name", value="Foobar", location="type") + assert bool(facet(ifc.createIfcWall(Name="Foobar"))) is False + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + wall_type.Name = "Foobar" + assert bool(facet(wall)) is True + + # Location any checks on attributes on the type, which may be inherited by the occurence + facet = ids.attribute.create(name="Description", value="Foobar", location="any") + assert bool(facet(ifc.createIfcWall(Description="Foobar"))) is True + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + wall_type.Description = "Foobar" + assert bool(facet(wall)) is True + + # Location any checks on attributes on the type, which may be overriden by attributes on the occurence + facet = ids.attribute.create(name="Description", value="Foobar", location="any") + assert bool(facet(ifc.createIfcWall(Description="Foobar"))) is True + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + wall_type.Description = "Foobaz" + wall.Description = "Foobar" + assert bool(facet(wall)) is True + + def test_creating_a_classification_facet(self): c = ids.classification.create(location="any", value="Test_Value", system="Test_System") self.assertEqual(c.location, "any") self.assertEqual(c.value, "Test_Value") From 95b48b02e43f2d8b962328695a27b256af8507d0 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 13:27:19 +1000 Subject: [PATCH 147/243] Add support for IDS classification uri, use, and instructions --- src/ifcopenshell-python/ifcopenshell/ids.py | 30 ++++++++------ src/ifcopenshell-python/test/test_ids.py | 43 ++++++++++++++++----- 2 files changed, 52 insertions(+), 21 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 548befca25..e500bcef8d 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -535,7 +535,7 @@ class entity(facet): class attribute(facet): """The IDS attribute facet""" - parameters = ["name", "value", "location"] + parameters = ["name", "value", "location", "use", "instructions"] @staticmethod def create(name="Name", value=None, location="any", use=None, instructions=None): @@ -631,11 +631,11 @@ class classification(facet): The IDS classification facet by traversing the HasAssociations inverse attribute """ - parameters = ["system", "value", "location"] + parameters = ["system", "value", "location", "uri", "use", "instructions"] message = "%(location)sclassification reference %(value)s from '%(system)s'" @staticmethod - def create(location="any", value=None, system=None): + def create(value=None, system=None, location="any", uri=None, use=None, instructions=None): """Create a classification facet that can be added to applicability or requirements of IDS specification. :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" @@ -648,9 +648,12 @@ class classification(facet): :rtype: classification """ inst = classification() - inst.location = location inst.value = value inst.system = system + inst.location = location + inst.uri = uri + inst.use = use + inst.instructions = instructions return inst def asdict(self): @@ -659,13 +662,18 @@ class classification(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - fac_dict = { - "value": parameter_asdict(self.value), - "system": parameter_asdict(self.system), - "@location": self.location, - # "instructions": "SAMPLE_INSTRUCTIONS", - } - return fac_dict + results = {"@location": self.location} + if self.value: + results["value"] = parameter_asdict(self.value) + if self.system: + results["system"] = parameter_asdict(self.system) + if self.uri: + results["@uri"] = self.uri + if self.use: + results["@use"] = self.use + if self.instructions: + results["@instructions"] = self.instructions + return results def __call__(self, inst, logger): """Validate an ifc instance against that classification facet. diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index e283f39d9c..d247efc9be 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -320,7 +320,9 @@ class TestIdsAuthoring(unittest.TestCase): # Predefined types should match overridden predefined types from the element type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="X") - wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="NOTDEFINED") + wall_type = ifcopenshell.api.run( + "root.create_entity", ifc, ifc_class="IfcWallType", predefined_type="NOTDEFINED" + ) ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) facet = ids.entity.create(name="IfcWall", predefinedType="X") assert bool(facet(wall)) is True @@ -346,21 +348,22 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(wall)) is True assert bool(facet(wall2)) is True - def test_creating_an_attribute_facet(self): attribute = ids.attribute.create(name="name") assert attribute.asdict() == {"name": {"simpleValue": "name"}, "@location": "any"} - attribute = ids.attribute.create(name="name", value="value") + attribute = ids.attribute.create(name="name", value="value", location="instance") assert attribute.asdict() == { "name": {"simpleValue": "name"}, "value": {"simpleValue": "value"}, - "@location": "any", + "@location": "instance", } - attribute = ids.attribute.create(name="name", value="value", use="required", instructions="instructions") + attribute = ids.attribute.create( + name="name", value="value", location="instance", use="required", instructions="instructions" + ) assert attribute.asdict() == { "name": {"simpleValue": "name"}, "value": {"simpleValue": "value"}, - "@location": "any", + "@location": "instance", "@use": "required", "@instructions": "instructions", } @@ -452,10 +455,30 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(wall)) is True def test_creating_a_classification_facet(self): - c = ids.classification.create(location="any", value="Test_Value", system="Test_System") - self.assertEqual(c.location, "any") - self.assertEqual(c.value, "Test_Value") - self.assertEqual(c.system, "Test_System") + facet = ids.classification.create() + assert facet.asdict() == {"@location": "any"} + facet = ids.classification.create(value="value", system="system", location="instance") + assert facet.asdict() == { + "value": {"simpleValue": "value"}, + "system": {"simpleValue": "system"}, + "@location": "instance", + } + facet = ids.classification.create( + value="value", + system="system", + location="instance", + uri="https://test.com", + use="required", + instructions="instructions", + ) + assert facet.asdict() == { + "value": {"simpleValue": "value"}, + "system": {"simpleValue": "system"}, + "@location": "instance", + "@uri": "https://test.com", + "@use": "required", + "@instructions": "instructions", + } def test_property_create(self): p = ids.property.create( From 07741006068f6e5f497c325459990848a5edd1c2 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 14:49:47 +1000 Subject: [PATCH 148/243] IDS classification facets not handle inheritance, full refs, and restrictions --- src/ifcopenshell-python/ifcopenshell/ids.py | 59 +++++----- src/ifcopenshell-python/test/test_ids.py | 122 ++++++++++++++++++++ 2 files changed, 150 insertions(+), 31 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index e500bcef8d..655f89f3db 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -25,6 +25,7 @@ import datetime import ifcopenshell.util.element import ifcopenshell.util.placement +import ifcopenshell.util.classification from bcf.v2.bcfxml import BcfXml from bcf.v2 import data as bcf @@ -524,9 +525,7 @@ class entity(facet): if self.predefinedType: self.message = "an entity name '%(name)s' of predefined type '%(predefinedType)s'" - return facet_evaluation( - is_pass, self.message % {"name": inst.is_a(), "predefinedType": predefined_type} - ) + return facet_evaluation(is_pass, self.message % {"name": inst.is_a(), "predefinedType": predefined_type}) else: self.message = "an entity name '%(name)s'" return facet_evaluation(is_pass, self.message % {"name": inst.is_a()}) @@ -590,6 +589,7 @@ class attribute(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ + def get_values(element, name): if isinstance(name, str): return [getattr(element, name, None)] @@ -675,7 +675,7 @@ class classification(facet): results["@instructions"] = self.instructions return results - def __call__(self, inst, logger): + def __call__(self, inst, logger=None): """Validate an ifc instance against that classification facet. :param inst: IFC entity element @@ -685,42 +685,39 @@ class classification(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ + if self.location == "instance": + leaf_references = ifcopenshell.util.classification.get_references(inst, should_inherit=False) + elif self.location == "type": + element_type = ifcopenshell.util.element.get_type(inst) + leaf_references = ifcopenshell.util.classification.get_references(element_type) if element_type else set() + elif self.location == "any": + leaf_references = ifcopenshell.util.classification.get_references(inst) - instance_classiciations = inst.HasAssociations - if ifcopenshell.util.element.get_type(inst): - type_classifications = ifcopenshell.util.element.get_type(inst).HasAssociations - else: - type_classifications = () + references = leaf_references.copy() + for leaf_reference in leaf_references: + references.update(ifcopenshell.util.classification.get_inherited_references(leaf_reference)) - if self.location == "instance" and instance_classiciations: - associations = instance_classiciations - elif self.location == "type" and type_classifications: - associations = type_classifications - elif self.location == "any" and (instance_classiciations or type_classifications): - associations = instance_classiciations + type_classifications - else: - associations = () - - refs = [] - for association in associations: - if association.is_a("IfcRelAssociatesClassification"): - cref = association.RelatingClassification - if hasattr(cref, "ItemReference"): # IFC2x3 - refs.append((cref.ReferencedSource.Name, cref.ItemReference)) - elif hasattr(cref, "Identification"): # IFC4 - refs.append((cref.ReferencedSource.Name, cref.Identification)) + is_pass = bool(references) + if is_pass and self.value: + is_pass = any( + [self.value == getattr(r, "Identification", getattr(r, "ItemReference", None)) for r in references] + ) + if is_pass and self.system: + is_pass = any( + [self.system == ifcopenshell.util.classification.get_classification(r).Name for r in references] + ) self.location_msg = location[self.location] - if refs: + if references: return facet_evaluation( - (self.system, self.value) in refs, + is_pass, self.message % { - "system": refs[0][0], - "value": "'" + refs[0][1] + "'", + "system": list(references)[0][0], + "value": list(references)[0][1], "location": self.location_msg, - }, # what if not first item of refs? + }, # TODO Fix this 0 index reference assumption when I refactor out the messages ) else: return facet_evaluation(False, "does not have %sclassification reference" % self.location_msg) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index d247efc9be..18056989fe 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -480,6 +480,128 @@ class TestIdsAuthoring(unittest.TestCase): "@instructions": "instructions", } + def test_filtering_using_a_classification_facet(self): + library = ifcopenshell.file() + system = library.createIfcClassification(Name="Foobar") + ref1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=system) + ref11 = library.createIfcClassificationReference(Identification="11", ReferencedSource=ref1) + ref2 = library.createIfcClassificationReference(Identification="2", ReferencedSource=system) + ref22 = library.createIfcClassificationReference(Identification="22", ReferencedSource=ref2) + + ifc = ifcopenshell.file() + project = ifc.createIfcProject() + ifcopenshell.api.run("classification.add_classification", ifc, classification=system) + element0 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + element1 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + ifcopenshell.api.run( + "classification.add_reference", ifc, product=element1, reference=ref1, classification=system + ) + element11 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + ifcopenshell.api.run( + "classification.add_reference", ifc, product=element11, reference=ref11, classification=system + ) + element22 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + ifcopenshell.api.run( + "classification.add_reference", + ifc, + product=element22, + reference=ref22, + classification=system, + is_lightweight=False, + ) + + # A classification facet with no data matches any present classification + facet = ids.classification.create() + assert bool(facet(element0)) is False + assert bool(facet(element1)) is True + + # Values should match exactly if lightweight classifications are used. + facet = ids.classification.create(value="1") + assert bool(facet(element1)) is True + + # Values should match subreferences if full classifications are used. + # E.g. a facet searching for Uniclass EF_25_10 Walls will match Uniclass EF_25_10_25, EF_25_10_30, etc + facet = ids.classification.create(value="2") + assert bool(facet(element22)) is True + + # Systems should match exactly regardless of lightweight or full classifications + facet = ids.classification.create(system="Foobar") + assert bool(facet(project)) is True + assert bool(facet(element0)) is False + assert bool(facet(element1)) is True + assert bool(facet(element11)) is True + assert bool(facet(element22)) is True + + # Restrictions can be used for values + restriction = ids.restriction.create(options="1.*", type="pattern", base="string") + facet = ids.classification.create(value=restriction) + assert bool(facet(element1)) is True + assert bool(facet(element11)) is True + assert bool(facet(element22)) is False + + # Restrictions can be used for systems + restriction = ids.restriction.create(options="Foo.*", type="pattern", base="string") + facet = ids.classification.create(system=restriction) + assert bool(facet(element0)) is False + assert bool(facet(element1)) is True + + # Specifying both a value and a system means that both (as opposed to either) requirements must be met + facet = ids.classification.create(system="Foobar", value="1") + assert bool(facet(element1)) is True + assert bool(facet(element11)) is False + + # Location instance only checks on the instance (even if it's a type), this seems strange though + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall_type, reference=ref1, classification=system + ) + facet = ids.classification.create(value="1", location="instance") + assert bool(facet(wall_type)) is True + assert bool(facet(wall)) is False + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall, reference=ref1, classification=system + ) + assert bool(facet(wall)) is True + + # Location type only checks on the type + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall, reference=ref1, classification=system + ) + facet = ids.classification.create(value="1", location="type") + assert bool(facet(wall)) is False + assert bool(facet(wall_type)) is False + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall_type, reference=ref1, classification=system + ) + assert bool(facet(wall)) is True + assert bool(facet(wall_type)) is True + + # Location any checks on either the type or instance. + # IFC doesn't specify how inheritance and overrides work here. Two options: + # Option 1) Occurrences replace inherited type references + # Option 2) Occurrences union with inherited type references + # Option 2 is followed here. + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall, reference=ref11, classification=system + ) + ifcopenshell.api.run( + "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system + ) + facet = ids.classification.create(value="11", location="any") + assert bool(facet(wall)) is True + assert bool(facet(wall_type)) is False + facet = ids.classification.create(value="22", location="any") + assert bool(facet(wall)) is True + assert bool(facet(wall_type)) is True + def test_property_create(self): p = ids.property.create( location="any", propertySet="Test_PropertySet", name="Test_Parameter", value="Test_Value" From 8aa38917eb29362173925c83f1818d4893628a13 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 15:19:17 +1000 Subject: [PATCH 149/243] New classification utility module --- .../ifcopenshell/util/classification.py | 52 +++++++ .../test/util/test_classification.py | 128 ++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 src/ifcopenshell-python/ifcopenshell/util/classification.py create mode 100644 src/ifcopenshell-python/test/util/test_classification.py diff --git a/src/ifcopenshell-python/ifcopenshell/util/classification.py b/src/ifcopenshell-python/ifcopenshell/util/classification.py new file mode 100644 index 0000000000..0ad86a3dea --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/util/classification.py @@ -0,0 +1,52 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import ifcopenshell.util.element + + +def get_references(element, should_inherit=True): + results = set() + if should_inherit: + element_type = ifcopenshell.util.element.get_type(element) + if element_type and element_type != element: + results.update(get_references(element_type)) + results.update( + { + r.RelatingClassification + for r in getattr(element, "HasAssociations", []) + if r.is_a("IfcRelAssociatesClassification") + } + ) + return results + + +def get_classification(reference): + if reference.is_a("IfcClassification"): + return reference + return get_classification(reference.ReferencedSource) + + +def get_inherited_references(reference): + results = [] + while True: + if not reference or reference.is_a("IfcClassification"): + break + results.append(reference) + reference = reference.ReferencedSource + return results + diff --git a/src/ifcopenshell-python/test/util/test_classification.py b/src/ifcopenshell-python/test/util/test_classification.py new file mode 100644 index 0000000000..06c13a95e3 --- /dev/null +++ b/src/ifcopenshell-python/test/util/test_classification.py @@ -0,0 +1,128 @@ +# IfcOpenShell - IFC toolkit and geometry engine +# Copyright (C) 2022 Dion Moult +# +# This file is part of IfcOpenShell. +# +# IfcOpenShell is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcOpenShell is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with IfcOpenShell. If not, see . + +import pytest +import test.bootstrap +import ifcopenshell.api +import ifcopenshell.util.classification as subject + + +class TestGetReferences(test.bootstrap.IFC4): + def test_get_references_of_an_element(self): + library = ifcopenshell.file() + classification = library.createIfcClassification(Name="Name") + reference1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=classification) + reference2 = library.createIfcClassificationReference(Identification="2", ReferencedSource=classification) + project = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcProject") + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + ifcopenshell.api.run("classification.add_classification", self.file, classification=classification) + ifcopenshell.api.run( + "classification.add_reference", + self.file, + product=element, + reference=reference1, + classification=classification, + ) + ifcopenshell.api.run( + "classification.add_reference", + self.file, + product=element, + reference=reference2, + classification=classification, + ) + assert subject.get_references(element) == set(self.file.by_type("IfcClassificationReference")) + + def test_get_inherited_classifications(self): + library = ifcopenshell.file() + classification = library.createIfcClassification(Name="Name") + reference1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=classification) + reference2 = library.createIfcClassificationReference(Identification="2", ReferencedSource=classification) + project = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcProject") + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=element_type) + ifcopenshell.api.run("classification.add_classification", self.file, classification=classification) + ifcopenshell.api.run( + "classification.add_reference", + self.file, + product=element, + reference=reference1, + classification=classification, + ) + ifcopenshell.api.run( + "classification.add_reference", + self.file, + product=element_type, + reference=reference2, + classification=classification, + ) + assert subject.get_references(element) == set(self.file.by_type("IfcClassificationReference")) + + def test_getting_direct_classifications(self): + library = ifcopenshell.file() + classification = library.createIfcClassification(Name="Name") + reference1 = library.createIfcClassificationReference(Identification="1", ReferencedSource=classification) + reference2 = library.createIfcClassificationReference(Identification="2", ReferencedSource=classification) + project = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcProject") + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=element_type) + ifcopenshell.api.run("classification.add_classification", self.file, classification=classification) + ifcopenshell.api.run( + "classification.add_reference", + self.file, + product=element, + reference=reference1, + classification=classification, + ) + ifcopenshell.api.run( + "classification.add_reference", + self.file, + product=element_type, + reference=reference2, + classification=classification, + ) + results = list(subject.get_references(element, should_inherit=False)) + assert len(results) == 1 + assert results[0].Identification == "1" + + +class TestGetClassification(test.bootstrap.IFC4): + def test_get_lightweight_classification(self): + classification = self.file.createIfcClassification(Name="Name") + reference = self.file.createIfcClassificationReference(ReferencedSource=classification) + assert subject.get_classification(reference) == classification + + def test_get_full_classification(self): + classification = self.file.createIfcClassification(Name="Name") + reference1 = self.file.createIfcClassificationReference(ReferencedSource=classification) + reference2 = self.file.createIfcClassificationReference(ReferencedSource=reference1) + assert subject.get_classification(reference2) == classification + + +class TestGetInheritedReferences(test.bootstrap.IFC4): + def test_single_reference(self): + classification = self.file.createIfcClassification(Name="Name") + reference = self.file.createIfcClassificationReference(ReferencedSource=classification) + assert subject.get_inherited_references(reference) == [reference] + + def test_multiple_references(self): + classification = self.file.createIfcClassification(Name="Name") + reference1 = self.file.createIfcClassificationReference(ReferencedSource=classification) + reference2 = self.file.createIfcClassificationReference(ReferencedSource=reference1) + assert subject.get_inherited_references(reference2) == [reference2, reference1] From 9671df8491692b23c0fc29ccfb999627e0542fc7 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 15:19:31 +1000 Subject: [PATCH 150/243] You can now choose between lightweight and full classifications --- .../ifcopenshell/api/classification/add_reference.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py b/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py index 37012f0c3b..29946c4316 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py +++ b/src/ifcopenshell-python/ifcopenshell/api/classification/add_reference.py @@ -27,6 +27,7 @@ class Usecase: "product": None, "reference": None, "classification": None, + "is_lightweight": True, } for key, value in settings.items(): self.settings[key] = value @@ -57,12 +58,13 @@ class Usecase: return migrator = ifcopenshell.util.schema.Migrator() - # This removal patch is to support a lightweight classification - old_referenced_source = self.settings["reference"].ReferencedSource - self.settings["reference"].ReferencedSource = None + if self.settings["is_lightweight"]: + old_referenced_source = self.settings["reference"].ReferencedSource + self.settings["reference"].ReferencedSource = None relating_classification = migrator.migrate(self.settings["reference"], self.file) - relating_classification.ReferencedSource = self.settings["classification"] - self.settings["reference"].ReferencedSource = old_referenced_source + if self.settings["is_lightweight"]: + relating_classification.ReferencedSource = self.settings["classification"] + self.settings["reference"].ReferencedSource = old_referenced_source self.file.create_entity( "IfcRelAssociatesClassification", **{ From 94e082fc7dcb9eab2d6ec72e8e7dd3843bf7067f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 15:30:39 +1000 Subject: [PATCH 151/243] Support IDS uri/use/instructions for property facets --- src/ifcopenshell-python/ifcopenshell/ids.py | 29 ++++++++++++++------- src/ifcopenshell-python/test/test_ids.py | 26 ++++++++++++------ 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 655f89f3db..32bdb65d08 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -824,7 +824,7 @@ class property(facet): message = "%(location)sproperty '%(name)s' in '%(propertySet)s' with a value %(value)s" @staticmethod - def create(location="any", propertySet=None, name=None, value=None): + def create(propertySet="Property_Set", name="PropertyName", value=None, location="any", measure=None, uri=None, use=None, instructions=None): """Create a property facet that can be added to applicability or requirements of IDS specification. :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" @@ -839,13 +839,14 @@ class property(facet): :rtype: property """ inst = property() - inst.location = location inst.propertySet = propertySet inst.name = name inst.value = value - # cls.attributes = {'@location': location} # 'type', 'instance', 'any' - # BUG '@href': 'http://identifier.buildingsmart.org/uri/buildingsmart/ifc-4.3/prop/FireRating', #https://identifier.buildingsmart.org/uri/something - # BUG 'instructions': 'Please add the desired rating.', + inst.location = location + inst.measure = measure + inst.uri = uri + inst.use = use + inst.instructions = instructions return inst def asdict(self): @@ -854,15 +855,23 @@ class property(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - fac_dict = { + results = { "@location": self.location, "propertySet": parameter_asdict(self.propertySet), "name": parameter_asdict(self.name), - "value": parameter_asdict(self.value), - # "instructions": "SAMPLE_INSTRUCTIONS", - # TODO '@href': 'http://identifier.buildingsmart.org/uri/buildingsmart/ifc-4.3/prop/FireRating', #https://identifier.buildingsmart.org/uri/something } - return fac_dict + if self.value: + results["value"] = parameter_asdict(self.value) + if self.measure: + results["@measure"] = self.measure + if self.uri: + results["@uri"] = self.uri + if self.use: + results["@use"] = self.use + if self.instructions: + results["@instructions"] = self.instructions + # TODO '@href': 'http://identifier.buildingsmart.org/uri/buildingsmart/ifc-4.3/prop/FireRating', #https://identifier.buildingsmart.org/uri/something + return results def __call__(self, inst, logger): """Validate an ifc instance against that property facet. diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 18056989fe..7e0cfe7671 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -602,14 +602,24 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(wall)) is True assert bool(facet(wall_type)) is True - def test_property_create(self): - p = ids.property.create( - location="any", propertySet="Test_PropertySet", name="Test_Parameter", value="Test_Value" - ) - self.assertEqual(p.location, "any") - self.assertEqual(p.propertySet, "Test_PropertySet") - self.assertEqual(p.name, "Test_Parameter") - self.assertEqual(p.value, "Test_Value") + def test_creating_a_property_facet(self): + facet = ids.property.create() + assert facet.asdict() == { + "propertySet": {"simpleValue": "Property_Set"}, + "name": {"simpleValue": "PropertyName"}, + "@location": "any", + } + facet = ids.property.create(propertySet="propertySet", name="name", value="value", location="instance", measure="String", uri="https://test.com", use="required", instructions="instructions") + assert facet.asdict() == { + "propertySet": {"simpleValue": "propertySet"}, + "name": {"simpleValue": "name"}, + "value": {"simpleValue": "value"}, + "@location": "instance", + "@measure": "String", + "@uri": "https://test.com", + "@use": "required", + "@instructions": "instructions", + } def test_material_create(self): m = ids.material.create(location="any", value="Test_Value") From dc10c7a3600b29ed4e1ae113f6152736f7bfc44e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 17:10:22 +1000 Subject: [PATCH 152/243] Implement null check for IDS properties, and support restrictions --- src/ifcopenshell-python/ifcopenshell/ids.py | 69 ++++++------ src/ifcopenshell-python/test/test_ids.py | 110 ++++++++++++++++++++ 2 files changed, 142 insertions(+), 37 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 32bdb65d08..3f7a9b281a 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -873,7 +873,7 @@ class property(facet): # TODO '@href': 'http://identifier.buildingsmart.org/uri/buildingsmart/ifc-4.3/prop/FireRating', #https://identifier.buildingsmart.org/uri/something return results - def __call__(self, inst, logger): + def __call__(self, inst, logger=None): """Validate an ifc instance against that property facet. :param inst: IFC entity element @@ -883,46 +883,41 @@ class property(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - - # self.location = self.node["@location"] - - # TODO sometimes AttributeError: 'str' object has no attribute 'wrappedValue' - try: - instance_props = ifcopenshell.util.element.get_psets(inst) - except AttributeError: - instance_props = {} - - if ifcopenshell.util.element.get_type(inst): - # TODO sometimes AttributeError: 'str' object has no attribute 'wrappedValue' - try: - type_props = ifcopenshell.util.element.get_psets(ifcopenshell.util.element.get_type(inst)) - except AttributeError: - type_props = {} - else: - type_props = {} - if self.location == "instance": - props = instance_props - elif self.location == "type" and type_props: - props = type_props - elif self.location == "any" and (instance_props or type_props): - props = {**instance_props, **type_props} + all_psets = ifcopenshell.util.element.get_psets(inst, should_inherit=False) + elif self.location == "type": + element_type = ifcopenshell.util.element.get_type(inst) + all_psets = ifcopenshell.util.element.get_psets(element_type, should_inherit=False) + elif self.location == "any": + all_psets = ifcopenshell.util.element.get_psets(inst) + + if isinstance(self.propertySet, str): + pset = all_psets.get(self.propertySet, None) + psets = {self.propertySet: pset} if pset else {} else: + psets = {k: v for k, v in all_psets.items() if k == self.propertySet} + + is_pass = bool(psets) + + if is_pass: props = {} + for pset_name, pset_props in psets.items(): + props[pset_name] = {} + if isinstance(self.name, str): + prop = pset_props.get(self.name) + if prop: + props[pset_name][self.name] = prop + else: + props[pset_name] = {k: v for k, v in pset_props.items() if k == self.name} - pset = props.get(self.propertySet) - val = pset.get(self.name) if pset else None + if not bool(props[pset_name]): + is_pass = False + break - self.location_msg = location[self.location] - di = {"name": self.name, "propertySet": self.propertySet, "value": "'%s'" % val, "location": self.location_msg} - - if val is not None: - msg = self.message % di - else: - if pset: - msg = "does not have %(location)sproperty '%(name)s' in a set '%(propertySet)s'" % di - else: - msg = "does not have %(location)sset '%(propertySet)s'" % di + if self.value: + if any([v != self.value for v in props[pset_name].values()]): + is_pass = False + break # TODO implement data type comparison # xs:string @@ -935,7 +930,7 @@ class property(facet): # xs:dateTime YYYY-MM-DDThh:mm:ss # xs:duration PnYnMnDTnHnMnS - return facet_evaluation(val == self.value, msg) + return facet_evaluation(is_pass, "todo") class material(facet): diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 7e0cfe7671..15fef5208d 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -621,6 +621,116 @@ class TestIdsAuthoring(unittest.TestCase): "@instructions": "instructions", } + def test_filtering_using_a_property_facet(self): + ifc = ifcopenshell.file() + + # A name check by itself only checks that a property is non-null and non empty string + # The logic is that unfortunately most BIM users cannot differentiate between the two. + facet = ids.property.create(propertySet="Foo_Bar", name="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + assert bool(facet(element)) is False + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": None}) + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + assert bool(facet(element)) is True + + # A simple value checks an exact case-sensitive match + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + assert bool(facet(element)) is True + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Baz"}) + assert bool(facet(element)) is False + + # Simple values only check string matches + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="1") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "1"}) + assert bool(facet(element)) is True + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcInteger(1)}) + assert bool(facet(element)) is False + + # Restrictions are supported for property sets. If multiple are matched, all must satisfy requirements. + restriction = ids.restriction.create(options="Foo_.*", type="pattern", base="string") + facet = ids.property.create(propertySet=restriction, name="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + assert bool(facet(element)) is True + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Baz") + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + assert bool(facet(element)) is True + + # Restrictions are supported for names. If multiple are matched, all must satisfy requirements. + restriction = ids.restriction.create(options="Foo.*", type="pattern", base="string") + facet = ids.property.create(propertySet="Foo_Bar", name=restriction, value="x") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x"}) + assert bool(facet(element)) is True + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "x"}) + assert bool(facet(element)) is True + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "y"}) + assert bool(facet(element)) is False + + # Restrictions are supported for values. If multiple are matched, all must satisfy requirements. + restriction1 = ids.restriction.create(options="Foo.*", type="pattern", base="string") + restriction2 = ids.restriction.create(options=["x", "y"], type="enumeration", base="string") + facet = ids.property.create(propertySet="Foo_Bar", name=restriction1, value=restriction2) + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "y"}) + assert bool(facet(element)) is True + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "z"}) + assert bool(facet(element)) is False + + # Location instance only checks on the instance, even if the instance is a type. Yes, weird, I know. + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="instance") + assert bool(facet(wall)) is False + assert bool(facet(wall_type)) is True + + # Location type only checks the type + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="type") + assert bool(facet(wall)) is True + assert bool(facet(wall_type)) is True + + # Location any checks inherited properties from the type + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", location="any") + assert bool(facet(wall)) is True + assert bool(facet(wall_type)) is True + + # Location any checks overriden properties from the occurrence + wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall_type, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Baz"}) + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=wall, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": "Bar"}) + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value="Bar", location="any") + assert bool(facet(wall)) is True + assert bool(facet(wall_type)) is False + def test_material_create(self): m = ids.material.create(location="any", value="Test_Value") self.assertEqual(m.location, "any") From 4bf25d5d9cc7c0935b96866b8fe2a9cbb855dd09 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 18:46:27 +1000 Subject: [PATCH 153/243] Minor fix --- src/ifcopenshell-python/test/test_ids.py | 96 ++++++++++++++++-------- 1 file changed, 63 insertions(+), 33 deletions(-) diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 15fef5208d..0968641b7a 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -328,20 +328,20 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(wall)) is True # Restrictions are allowed when matching the IFC class - restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration", base="string") + restriction = ids.restriction.create(options=["IfcWall", "IfcSlab"], type="enumeration") facet = ids.entity.create(name=restriction) assert bool(facet(ifc.createIfcWall())) is True assert bool(facet(ifc.createIfcSlab())) is True assert bool(facet(ifc.createIfcBeam())) is False # Another example of how restrictions are allowed when matching the IFC class - restriction = ids.restriction.create(options="Ifc.*Type", type="pattern", base="string") + restriction = ids.restriction.create(options="Ifc.*Type", type="pattern") facet = ids.entity.create(name=restriction) assert bool(facet(ifc.createIfcWall())) is False assert bool(facet(ifc.createIfcWallType())) is True # Restrictions are allowed when matching the predefined type - restriction = ids.restriction.create(options="FOO.*", type="pattern", base="string") + restriction = ids.restriction.create(options="FOO.*", type="pattern") facet = ids.entity.create(name="IfcWall", predefinedType=restriction) wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAR") wall2 = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall", predefined_type="FOOBAZ") @@ -391,27 +391,34 @@ class TestIdsAuthoring(unittest.TestCase): facet = ids.attribute.create(name="Eastings") assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is True - # Values are checked with strict typing. No type casting shall occur. - facet = ids.attribute.create(name="Eastings", value=42) - assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is False - assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is True + # Simple values which must be strings are checked with strict typing. No type casting shall occur. facet = ids.attribute.create(name="Eastings", value="42") + assert bool(facet(ifc.createIfcMapConversion(Eastings=0))) is False assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is False + # Strict type checking is done with restrictions. This is really ugly, but hopefully hidden to a user. + restriction = ids.restriction.create(options=[42], type="enumeration", base="decimal") + # Here is another uglier option: + # restriction = ids.restriction.create( + # options={"minInclusive": 42, "maxInclusive": 42}, type="bounds", base="decimal" + # ) + facet = ids.attribute.create(name="Eastings", value=restriction) + assert bool(facet(ifc.createIfcMapConversion(Eastings=42))) is True + # Restrictions are allowed for the name - restriction = ids.restriction.create(options=".*Name.*", type="pattern", base="string") + restriction = ids.restriction.create(options=".*Name.*", type="pattern") facet = ids.attribute.create(name=restriction) assert bool(facet(ifc.createIfcMaterialLayerSet(LayerSetName="Foo"))) is True assert bool(facet(ifc.createIfcMaterialConstituentSet(Name="Foo"))) is True # Restrictions for the name imply that multiple names may be matched. All, not any, must pass the checks. - restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration", base="string") + restriction = ids.restriction.create(options=["Name", "Description"], type="enumeration") facet = ids.attribute.create(name=restriction) assert bool(facet(ifc.createIfcWall(Name="Foo"))) is False assert bool(facet(ifc.createIfcWall(Name="Foo", Description="Bar"))) is True # Restrictions are allowed for the value - restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration", base="string") + restriction = ids.restriction.create(options=["Foo", "Bar"], type="enumeration") facet = ids.attribute.create(name="Name", value=restriction) assert bool(facet(ifc.createIfcWall(Name="Foo"))) is True assert bool(facet(ifc.createIfcWall(Name="Bar"))) is True @@ -533,14 +540,14 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(element22)) is True # Restrictions can be used for values - restriction = ids.restriction.create(options="1.*", type="pattern", base="string") + restriction = ids.restriction.create(options="1.*", type="pattern") facet = ids.classification.create(value=restriction) assert bool(facet(element1)) is True assert bool(facet(element11)) is True assert bool(facet(element22)) is False # Restrictions can be used for systems - restriction = ids.restriction.create(options="Foo.*", type="pattern", base="string") + restriction = ids.restriction.create(options="Foo.*", type="pattern") facet = ids.classification.create(system=restriction) assert bool(facet(element0)) is False assert bool(facet(element1)) is True @@ -560,18 +567,14 @@ class TestIdsAuthoring(unittest.TestCase): facet = ids.classification.create(value="1", location="instance") assert bool(facet(wall_type)) is True assert bool(facet(wall)) is False - ifcopenshell.api.run( - "classification.add_reference", ifc, product=wall, reference=ref1, classification=system - ) + ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref1, classification=system) assert bool(facet(wall)) is True # Location type only checks on the type wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - ifcopenshell.api.run( - "classification.add_reference", ifc, product=wall, reference=ref1, classification=system - ) + ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref1, classification=system) facet = ids.classification.create(value="1", location="type") assert bool(facet(wall)) is False assert bool(facet(wall_type)) is False @@ -589,9 +592,7 @@ class TestIdsAuthoring(unittest.TestCase): wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") ifcopenshell.api.run("type.assign_type", ifc, related_object=wall, relating_type=wall_type) - ifcopenshell.api.run( - "classification.add_reference", ifc, product=wall, reference=ref11, classification=system - ) + ifcopenshell.api.run("classification.add_reference", ifc, product=wall, reference=ref11, classification=system) ifcopenshell.api.run( "classification.add_reference", ifc, product=wall_type, reference=ref22, classification=system ) @@ -609,7 +610,16 @@ class TestIdsAuthoring(unittest.TestCase): "name": {"simpleValue": "PropertyName"}, "@location": "any", } - facet = ids.property.create(propertySet="propertySet", name="name", value="value", location="instance", measure="String", uri="https://test.com", use="required", instructions="instructions") + facet = ids.property.create( + propertySet="propertySet", + name="name", + value="value", + location="instance", + measure="String", + uri="https://test.com", + use="required", + instructions="instructions", + ) assert facet.asdict() == { "propertySet": {"simpleValue": "propertySet"}, "name": {"simpleValue": "name"}, @@ -655,7 +665,7 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(element)) is False # Restrictions are supported for property sets. If multiple are matched, all must satisfy requirements. - restriction = ids.restriction.create(options="Foo_.*", type="pattern", base="string") + restriction = ids.restriction.create(options="Foo_.*", type="pattern") facet = ids.property.create(propertySet=restriction, name="Foo") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") @@ -667,7 +677,7 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(element)) is True # Restrictions are supported for names. If multiple are matched, all must satisfy requirements. - restriction = ids.restriction.create(options="Foo.*", type="pattern", base="string") + restriction = ids.restriction.create(options="Foo.*", type="pattern") facet = ids.property.create(propertySet="Foo_Bar", name=restriction, value="x") element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") @@ -679,8 +689,8 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(element)) is False # Restrictions are supported for values. If multiple are matched, all must satisfy requirements. - restriction1 = ids.restriction.create(options="Foo.*", type="pattern", base="string") - restriction2 = ids.restriction.create(options=["x", "y"], type="enumeration", base="string") + restriction1 = ids.restriction.create(options="Foo.*", type="pattern") + restriction2 = ids.restriction.create(options=["x", "y"], type="enumeration") facet = ids.property.create(propertySet="Foo_Bar", name=restriction1, value=restriction2) element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") @@ -689,6 +699,26 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": "x", "Foobaz": "z"}) assert bool(facet(element)) is False + # Restrictions may be used to check basic data primitives + restriction = ids.restriction.create(options=[42.12], type="enumeration", base="decimal") + facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42.12}) + assert bool(facet(element)) is True + restriction = ids.restriction.create(options=[42], type="enumeration", base="integer") + facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42}) + assert bool(facet(element)) is True + restriction = ids.restriction.create(options=[True], type="enumeration", base="boolean") + facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": True}) + assert bool(facet(element)) is True + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": False}) + assert bool(facet(element)) is False + # Location instance only checks on the instance, even if the instance is a type. Yes, weird, I know. wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") @@ -742,7 +772,7 @@ class TestIdsAuthoring(unittest.TestCase): i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) - r = ids.restriction.create(options=["testA", "testB"], type="enumeration", base="string") + r = ids.restriction.create(options=["testA", "testB"], type="enumeration") m = ids.material.create(location="any", value=r) i.specifications[0].add_requirement(m) self.assertEqual(i.specifications[0].requirements.terms[0].value, "testA") @@ -765,7 +795,7 @@ class TestIdsAuthoring(unittest.TestCase): i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) - r = ids.restriction.create(options="[A-Z]{2,4}", type="pattern", base="string") + r = ids.restriction.create(options="[A-Z]{2,4}", type="pattern") p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "XYZ") @@ -777,7 +807,7 @@ class TestIdsAuthoring(unittest.TestCase): i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) - r = ids.restriction.create(options="(Wanddurchbruch|Deckendurchbruch).*", type="pattern", base="string") + r = ids.restriction.create(options="(Wanddurchbruch|Deckendurchbruch).*", type="pattern") p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "Wanddurchbruch") @@ -788,7 +818,7 @@ class TestIdsAuthoring(unittest.TestCase): i = ids.ids(title="My IDS") i.specifications.append(ids.specification(name="Test_Specification")) i.specifications[0].add_applicability(ids.entity.create(name="Test_Name")) - r = ids.restriction.create(options="èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž", type="pattern", base="string") + r = ids.restriction.create(options="èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž", type="pattern") p = ids.property.create(location="any", propertySet="Test", name="Test", value=r) i.specifications[0].add_requirement(p) self.assertEqual(i.specifications[0].requirements.terms[0].value, "èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž") @@ -801,10 +831,10 @@ class TestIdsAuthoring(unittest.TestCase): e = ids.entity.create(name="Test_Name", predefinedType="Test_PredefinedType") c = ids.classification.create(location="any", value="Test_Value", system="Test_System") m = ids.material.create(location="any", value="Test_Value") - re = ids.restriction.create(options=["testA", "testB"], type="enumeration", base="string") + re = ids.restriction.create(options=["testA", "testB"], type="enumeration") rb = ids.restriction.create(options={"minInclusive": 0, "maxExclusive": 10}, type="bounds", base="integer") - rp1 = ids.restriction.create(options="[A-Z]{2,4}", type="pattern", base="string") - rp2 = ids.restriction.create(options="èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž", type="pattern", base="string") + rp1 = ids.restriction.create(options="[A-Z]{2,4}", type="pattern") + rp2 = ids.restriction.create(options="èêóòâôæøåążźćęóʑʒʓʔʕʗʘʙʚʛʜÊÊž", type="pattern") p1 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=re) p2 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=rb) p3 = ids.property.create(location="any", propertySet="Test_PropertySet", name="Test_Parameter", value=rp1) From 3122cf21dbcb625463d4d9cd53b3083f13875d98 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 19:59:10 +1000 Subject: [PATCH 154/243] Implement IDS property facet measure conversions --- src/ifcopenshell-python/ifcopenshell/ids.py | 41 ++++++++++++++++++++- src/ifcopenshell-python/test/test_ids.py | 35 ++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 3f7a9b281a..a1171c2ba8 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -23,6 +23,7 @@ import operator import numpy as np import datetime +import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.classification @@ -824,7 +825,16 @@ class property(facet): message = "%(location)sproperty '%(name)s' in '%(propertySet)s' with a value %(value)s" @staticmethod - def create(propertySet="Property_Set", name="PropertyName", value=None, location="any", measure=None, uri=None, use=None, instructions=None): + def create( + propertySet="Property_Set", + name="PropertyName", + value=None, + location="any", + measure=None, + uri=None, + use=None, + instructions=None, + ): """Create a property facet that can be added to applicability or requirements of IDS specification. :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" @@ -914,6 +924,35 @@ class property(facet): is_pass = False break + if self.measure: + pset_entity = inst.wrapped_data.file.by_id(pset_props["id"]) + for prop_entity in pset_entity.HasProperties: + if ( + prop_entity.Name not in props[pset_name].keys() + or not prop_entity.is_a("IfcPropertySingleValue") + or prop_entity.NominalValue is None + ): + continue + + data_type = prop_entity.NominalValue.is_a().replace("Ifc", "").replace("Measure", "") + + if data_type != self.measure: + is_pass = False + break + + unit = ifcopenshell.util.unit.get_property_unit(prop_entity, inst.wrapped_data.file) + + props[pset_name][prop_entity.Name] = ifcopenshell.util.unit.convert( + prop_entity.NominalValue.wrappedValue, + getattr(unit, "Prefix", None), + unit.Name, + None, + ifcopenshell.util.unit.si_type_names[unit.UnitType], + ) + + if not is_pass: + break + if self.value: if any([v != self.value for v in props[pset_name].values()]): is_pass = False diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 0968641b7a..bc52c5c32a 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -633,6 +633,13 @@ class TestIdsAuthoring(unittest.TestCase): def test_filtering_using_a_property_facet(self): ifc = ifcopenshell.file() + ifc.createIfcProject() + # Milli prefix used to check measurement conversions + lengthunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="LENGTHUNIT", name="METRE", prefix="MILLI") + areaunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="AREAUNIT", name="SQUARE_METRE", prefix="MILLI") + volumeunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="VOLUMEUNIT", name="CUBIC_METRE", prefix="MILLI") + timeunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="TIMEUNIT", name="SECOND") + ifcopenshell.api.run("unit.assign_unit", ifc, units=[lengthunit, areaunit, volumeunit, timeunit]) # A name check by itself only checks that a property is non-null and non empty string # The logic is that unfortunately most BIM users cannot differentiate between the two. @@ -719,6 +726,34 @@ class TestIdsAuthoring(unittest.TestCase): ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": False}) assert bool(facet(element)) is False + # When measure is not specified, no unit conversion is done and only primitives are checked + restriction = ids.restriction.create(options=[42.12], type="enumeration", base="decimal") + facet = ids.property.create(propertySet="Foo_Bar", name="Foobar", value=restriction) + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foobar": 42.12}) + assert bool(facet(element)) is True + + # Measure may be used to specify an IFC data type + restriction = ids.restriction.create(options=[2], type="enumeration", base="decimal") + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value=restriction, measure="Time") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcMassMeasure(2)}) + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcTimeMeasure(2)}) + assert bool(facet(element)) is True + + # Measure also implies that a unit matters, and so a conversion shall take place to SI units + restriction = ids.restriction.create(options=[2], type="enumeration", base="decimal") + facet = ids.property.create(propertySet="Foo_Bar", name="Foo", value=restriction, measure="Length") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + pset = ifcopenshell.api.run("pset.add_pset", ifc, product=element, name="Foo_Bar") + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2)}) + assert bool(facet(element)) is False + ifcopenshell.api.run("pset.edit_pset", ifc, pset=pset, properties={"Foo": ifc.createIfcLengthMeasure(2000)}) + assert bool(facet(element)) is True + # Location instance only checks on the instance, even if the instance is a type. Yes, weird, I know. wall = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") wall_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") From 0cf2d7e05ef8287155d5d2cf11aec879d9aa575f Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Wed, 11 May 2022 23:30:10 +1000 Subject: [PATCH 155/243] Implement IDS uri/use/instructions for material facet --- src/ifcopenshell-python/ifcopenshell/ids.py | 28 +++++++++++---------- src/ifcopenshell-python/test/test_ids.py | 22 ++++++++++++---- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index a1171c2ba8..0c5f0ccfaf 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -979,7 +979,7 @@ class material(facet): message = "%(location)smaterial '%(value)s'" @staticmethod - def create(location="any", value=None): + def create(value=None, location="any", uri=None, use=None, instructions=None): """Create a material facet that can be added to applicability or requirements of IDS specification. :param location: Where to check for the parameter. One of "any"|"instance"|"type", defaults to "any" @@ -990,11 +990,11 @@ class material(facet): :rtype: material """ inst = material() - inst.location = location inst.value = value - # TODO '@use': 'optional' - # TODO '@href': 'https://identifier.buildingsmart.org/uri/something', - # TODO 'instructions': 'Please add the desired...', + inst.location = location + inst.uri = uri + inst.use = use + inst.instructions = instructions return inst def asdict(self): @@ -1003,14 +1003,16 @@ class material(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - fac_dict = { - "value": parameter_asdict(self.value), - "@location": self.location, - # TODO "instructions": "SAMPLE_INSTRUCTIONS", - # TODO '@href': 'http://identifier.buildingsmart.org/uri/buildingsmart/ifc-4.3/prop/FireRating', #https://identifier.buildingsmart.org/uri/something - # TODO '@use': 'optional' - } - return fac_dict + results = { "@location": self.location } + if self.value: + results["value"] = parameter_asdict(self.value) + if self.uri: + results["@uri"] = self.uri + if self.use: + results["@use"] = self.use + if self.instructions: + results["@instructions"] = self.instructions + return results def __call__(self, inst, logger): """Validate an ifc instance against that material facet. diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index bc52c5c32a..80f3b21f39 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -636,8 +636,12 @@ class TestIdsAuthoring(unittest.TestCase): ifc.createIfcProject() # Milli prefix used to check measurement conversions lengthunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="LENGTHUNIT", name="METRE", prefix="MILLI") - areaunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="AREAUNIT", name="SQUARE_METRE", prefix="MILLI") - volumeunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="VOLUMEUNIT", name="CUBIC_METRE", prefix="MILLI") + areaunit = ifcopenshell.api.run( + "unit.add_si_unit", ifc, unit_type="AREAUNIT", name="SQUARE_METRE", prefix="MILLI" + ) + volumeunit = ifcopenshell.api.run( + "unit.add_si_unit", ifc, unit_type="VOLUMEUNIT", name="CUBIC_METRE", prefix="MILLI" + ) timeunit = ifcopenshell.api.run("unit.add_si_unit", ifc, unit_type="TIMEUNIT", name="SECOND") ifcopenshell.api.run("unit.assign_unit", ifc, units=[lengthunit, areaunit, volumeunit, timeunit]) @@ -797,9 +801,17 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(wall_type)) is False def test_material_create(self): - m = ids.material.create(location="any", value="Test_Value") - self.assertEqual(m.location, "any") - self.assertEqual(m.value, "Test_Value") + facet = ids.material.create() + assert facet.asdict() == {"@location": "any"} + facet = ids.material.create(value="value", location="instance", uri="https://test.com", use="required", instructions="instructions") + assert facet.asdict() == { + "value": {"simpleValue": "value"}, + "@location": "instance", + "@uri": "https://test.com", + "@use": "required", + "@instructions": "instructions", + } + """ Creating IDS with restrictions """ From 4da5a38237c04eeff7ce2b99c487dc7e796c9333 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 12 May 2022 12:06:23 +1000 Subject: [PATCH 156/243] Implement IDS material null checks, inheritance checks, and set item checks --- src/ifcopenshell-python/ifcopenshell/ids.py | 88 +++++----- .../ifcopenshell/util/element.py | 9 +- src/ifcopenshell-python/test/test_ids.py | 150 +++++++++++++++++- .../test/util/test_element.py | 18 +++ 4 files changed, 212 insertions(+), 53 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 0c5f0ccfaf..22818a2f29 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -893,11 +893,13 @@ class property(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ + all_psets = {} if self.location == "instance": all_psets = ifcopenshell.util.element.get_psets(inst, should_inherit=False) elif self.location == "type": element_type = ifcopenshell.util.element.get_type(inst) - all_psets = ifcopenshell.util.element.get_psets(element_type, should_inherit=False) + if element_type: + all_psets = ifcopenshell.util.element.get_psets(element_type, should_inherit=False) elif self.location == "any": all_psets = ifcopenshell.util.element.get_psets(inst) @@ -1003,7 +1005,7 @@ class material(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - results = { "@location": self.location } + results = {"@location": self.location} if self.value: results["value"] = parameter_asdict(self.value) if self.uri: @@ -1014,7 +1016,7 @@ class material(facet): results["@instructions"] = self.instructions return results - def __call__(self, inst, logger): + def __call__(self, inst, logger=None): """Validate an ifc instance against that material facet. :param inst: IFC entity element @@ -1024,57 +1026,47 @@ class material(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - - # self.location = self.node["@location"] - - instance_material_rel = [rel for rel in inst.HasAssociations if rel.is_a("IfcRelAssociatesMaterial")] - if ifcopenshell.util.element.get_type(inst): - type_material_rel = [ - rel - for rel in ifcopenshell.util.element.get_type(inst).HasAssociations - if rel.is_a("IfcRelAssociatesMaterial") - ] - else: - type_material_rel = [] - + material = None if self.location == "instance": - material_relations = list(instance_material_rel) - elif self.location == "type" and type_material_rel: - material_relations = list(type_material_rel) - elif self.location == "any" and (instance_material_rel or type_material_rel): - material_relations = instance_material_rel + type_material_rel - else: - material_relations = [] + material = ifcopenshell.util.element.get_material(inst, should_skip_usage=True, should_inherit=False) + elif self.location == "type": + element_type = ifcopenshell.util.element.get_type(inst) + if element_type: + material = ifcopenshell.util.element.get_material(element_type, should_skip_usage=True) + elif self.location == "any": + material = ifcopenshell.util.element.get_material(inst, should_skip_usage=True) - materials = [] - for rel in material_relations: - if rel.RelatingMaterial.is_a() == "IfcMaterial": - materials.append(rel.RelatingMaterial.Name) - elif rel.RelatingMaterial.is_a() == "IfcMaterialList": # DEPRECATED in IFC4 - [materials.append(mat.Name) for mat in rel.RelatingMaterial.Materials] - elif rel.RelatingMaterial.is_a() == "IfcMaterialConstituentSet": - [materials.append(mat.Material.Name) for mat in rel.RelatingMaterial.MaterialConstituents] - elif rel.RelatingMaterial.is_a() == "IfcMaterialLayerSet": - [materials.append(mat.Name) for mat in rel.RelatingMaterial.MaterialLayers] - elif rel.RelatingMaterial.is_a() == "IfcMaterialLayerSetUsage": - layers = rel.RelatingMaterial.ForLayerSet.MaterialLayers - [materials.append(layer.Material.Name) for layer in layers] - elif rel.RelatingMaterial.is_a() == "IfcMaterialProfileSet": - [materials.append(mat.Material.Name) for mat in rel.RelatingMaterial.MaterialProfiles] - elif rel.RelatingMaterial.is_a() == "IfcMaterialProfileSetUsage": - profileSets = rel.RelatingMaterial.ForProfileSet.MaterialProfiles - [materials.append(pset.Material.Name) for pset in profileSets] - else: - raise Exception("IfcRelAssociatesMaterial not implemented") + is_pass = material is not None - if not materials: - materials.append("UNDEFINED") + if is_pass and self.value: + if material.is_a("IfcMaterial"): + values = {material.Name, getattr(material, "Category")} + elif material.is_a("IfcMaterialList"): + values = set() + for mat in material.Materials or []: + values.update([mat.Name, getattr(mat, "Category")]) + elif material.is_a("IfcMaterialLayerSet"): + values = {material.LayerSetName} + for item in material.MaterialLayers or []: + values.update([item.Name, item.Category, item.Material.Name, getattr(item.Material, "Category")]) + elif material.is_a("IfcMaterialProfileSet"): + values = {material.Name} + for item in material.MaterialProfiles or []: + values.update([item.Name, item.Category, item.Material.Name, getattr(item.Material, "Category")]) + elif material.is_a("IfcMaterialConstituentSet"): + values = {material.Name} + for item in material.MaterialConstituents or []: + values.update([item.Name, item.Category, item.Material.Name, getattr(item.Material, "Category")]) - self.location_msg = location[self.location] + is_pass = False + for value in values: + if value == self.value: + is_pass = True + break return facet_evaluation( - self.value in materials, - self.message % {"value": "'/'".join(materials), "location": self.location_msg}, + is_pass, + self.message % {"value": "todo", "location": "todo"}, ) diff --git a/src/ifcopenshell-python/ifcopenshell/util/element.py b/src/ifcopenshell-python/ifcopenshell/util/element.py index d4ef35aee5..9b73bd8ce9 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/element.py +++ b/src/ifcopenshell-python/ifcopenshell/util/element.py @@ -121,7 +121,7 @@ def get_types(type): return [] -def get_material(element, should_skip_usage=False): +def get_material(element, should_skip_usage=False, should_inherit=True): if hasattr(element, "HasAssociations") and element.HasAssociations: for relationship in element.HasAssociations: if relationship.is_a("IfcRelAssociatesMaterial"): @@ -131,9 +131,10 @@ def get_material(element, should_skip_usage=False): elif relationship.RelatingMaterial.is_a("IfcMaterialProfileSetUsage"): return relationship.RelatingMaterial.ForProfileSet return relationship.RelatingMaterial - relating_type = get_type(element) - if relating_type != element and hasattr(relating_type, "HasAssociations") and relating_type.HasAssociations: - return get_material(relating_type, should_skip_usage) + if should_inherit: + relating_type = get_type(element) + if relating_type != element and hasattr(relating_type, "HasAssociations") and relating_type.HasAssociations: + return get_material(relating_type, should_skip_usage) def get_elements_by_material(ifc_file, material): diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index 80f3b21f39..adb769a6a3 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -803,7 +803,9 @@ class TestIdsAuthoring(unittest.TestCase): def test_material_create(self): facet = ids.material.create() assert facet.asdict() == {"@location": "any"} - facet = ids.material.create(value="value", location="instance", uri="https://test.com", use="required", instructions="instructions") + facet = ids.material.create( + value="value", location="instance", uri="https://test.com", use="required", instructions="instructions" + ) assert facet.asdict() == { "value": {"simpleValue": "value"}, "@location": "instance", @@ -812,6 +814,152 @@ class TestIdsAuthoring(unittest.TestCase): "@instructions": "instructions", } + def test_filtering_using_a_material_facet(self): + ifc = ifcopenshell.file() + + # A material facet with no data matches any present material + facet = ids.material.create() + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + assert bool(facet(element)) is False + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) + assert bool(facet(element)) is True + + # A value will match a material name or category + facet = ids.material.create(value="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) + assert bool(facet(element)) is False + material.Name = "Foo" + assert bool(facet(element)) is True + material.Name = "Bar" + material.Category = "Foo" + assert bool(facet(element)) is True + + # A value will match any material name or category in a material list + facet = ids.material.create(value="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialList") + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) + assert bool(facet(element)) is False + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.add_list_item", ifc, material_list=material_set, material=material) + material.Name = "Foo" + assert bool(facet(element)) is True + material.Name = "Bar" + material.Category = "Foo" + assert bool(facet(element)) is True + + # A value will match any material name or category, or layer name or category in a layer set + facet = ids.material.create(value="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialLayerSet") + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) + assert bool(facet(element)) is False + material = ifcopenshell.api.run("material.add_material", ifc) + layer = ifcopenshell.api.run("material.add_layer", ifc, layer_set=material_set, material=material) + layer.Name = "Foo" + assert bool(facet(element)) is True + layer.Name = "Bar" + layer.Category = "Foo" + assert bool(facet(element)) is True + layer.Category = "Bar" + material.Name = "Foo" + assert bool(facet(element)) is True + material.Name = "Bar" + material.Category = "Foo" + assert bool(facet(element)) is True + + # A value will match any material name or category, or profile name or category in a profile set + facet = ids.material.create(value="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialProfileSet") + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) + assert bool(facet(element)) is False + material = ifcopenshell.api.run("material.add_material", ifc) + profile = ifcopenshell.api.run("material.add_profile", ifc, profile_set=material_set, material=material) + profile.Name = "Foo" + assert bool(facet(element)) is True + profile.Name = "Bar" + profile.Category = "Foo" + assert bool(facet(element)) is True + profile.Category = "Bar" + material.Name = "Foo" + assert bool(facet(element)) is True + material.Name = "Bar" + material.Category = "Foo" + assert bool(facet(element)) is True + + # A value will match any material name or category, or constituent name or category in a constituent set + facet = ids.material.create(value="Foo") + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + material_set = ifcopenshell.api.run("material.add_material_set", ifc, set_type="IfcMaterialConstituentSet") + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material_set) + assert bool(facet(element)) is False + material = ifcopenshell.api.run("material.add_material", ifc) + constituent = ifcopenshell.api.run( + "material.add_constituent", ifc, constituent_set=material_set, material=material + ) + constituent.Name = "Foo" + assert bool(facet(element)) is True + constituent.Name = "Bar" + constituent.Category = "Foo" + assert bool(facet(element)) is True + constituent.Category = "Bar" + material.Name = "Foo" + assert bool(facet(element)) is True + material.Name = "Bar" + material.Category = "Foo" + assert bool(facet(element)) is True + + # Location instance will only check instances + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) + facet = ids.material.create(location="instance") + assert bool(facet(element)) is False + assert bool(facet(element_type)) is True + + # Location type will only check types + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) + facet = ids.material.create(location="type") + assert bool(facet(element)) is False + assert bool(facet(element_type)) is False + ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) + assert bool(facet(element)) is True + assert bool(facet(element_type)) is True + + # Location any will check for inherited materials + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) + material.Name = "Foo" + facet = ids.material.create(value="Foo", location="any") + assert bool(facet(element)) is True + assert bool(facet(element_type)) is True + + # Location any will check for overriden materials + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", ifc, related_object=element, relating_type=element_type) + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element_type, material=material) + material.Name = "Bar" + material = ifcopenshell.api.run("material.add_material", ifc) + ifcopenshell.api.run("material.assign_material", ifc, product=element, material=material) + material.Name = "Foo" + facet = ids.material.create(value="Foo", location="any") + assert bool(facet(element)) is True + assert bool(facet(element_type)) is False """ Creating IDS with restrictions """ diff --git a/src/ifcopenshell-python/test/util/test_element.py b/src/ifcopenshell-python/test/util/test_element.py index 1a840fd27f..1c351b61a8 100644 --- a/src/ifcopenshell-python/test/util/test_element.py +++ b/src/ifcopenshell-python/test/util/test_element.py @@ -286,6 +286,24 @@ class TestGetMaterial(test.bootstrap.IFC4): ifcopenshell.api.run("material.assign_material", self.file, product=element_type, material=material) assert subject.get_material(element) == material + def test_getting_an_overridden_material_from_the_elements_occurrence(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=element_type) + material = ifcopenshell.api.run("material.add_material", self.file) + ifcopenshell.api.run("material.assign_material", self.file, product=element_type, material=material) + material = ifcopenshell.api.run("material.add_material", self.file) + ifcopenshell.api.run("material.assign_material", self.file, product=element, material=material) + assert subject.get_material(element) == material + + def test_getting_direct_materials_without_checking_inheritance(self): + element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWall") + element_type = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcWallType") + ifcopenshell.api.run("type.assign_type", self.file, related_object=element, relating_type=element_type) + material = ifcopenshell.api.run("material.add_material", self.file) + ifcopenshell.api.run("material.assign_material", self.file, product=element_type, material=material) + assert subject.get_material(element, should_inherit=False) is None + class TestGetElementsByMaterial(test.bootstrap.IFC4): def test_getting_elements_of_a_material(self): From fdaae048c2fdf60c2d8206291e7de96e9d4cf767 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Thu, 12 May 2022 14:33:44 +1000 Subject: [PATCH 157/243] Implement IDS partOf facet --- src/ifcopenshell-python/ifcopenshell/ids.py | 69 +++++---------------- src/ifcopenshell-python/test/test_ids.py | 64 +++++++++++++++++++ 2 files changed, 81 insertions(+), 52 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/ids.py b/src/ifcopenshell-python/ifcopenshell/ids.py index 22818a2f29..2e39c61fef 100644 --- a/src/ifcopenshell-python/ifcopenshell/ids.py +++ b/src/ifcopenshell-python/ifcopenshell/ids.py @@ -731,13 +731,9 @@ class partOf(facet): parameters = ["entity"] message = "relation as part of %(entity)s" - # TODO temp default - entity = "IfcElementAssembly" @staticmethod - # TODO should not assume IfcElementAssembly - # def create(entity=None): - def create(entity="IfcElementAssembly"): + def create(entity="IfcSystem"): """Create a partOf facet that can be added to applicability or requirements of IDS specification. :param entity: Entity that should contain this object. Could be alphanumeric or restriction object, defaults to None @@ -756,13 +752,9 @@ class partOf(facet): :return: Xmlschema compliant dictionary. :rtype: dict """ - fac_dict = { - "@entity": parameter_asdict(self.entity), - # "instructions": "SAMPLE_INSTRUCTIONS", - } - return fac_dict + return {"@entity": parameter_asdict(self.entity)} - def __call__(self, inst, logger): + def __call__(self, inst, logger=None): """Validate an ifc instance against that partOf facet. :param inst: IFC entity element @@ -772,48 +764,21 @@ class partOf(facet): :return: result of the validation as bool and message :rtype: facet_evaluation(bool, str) """ - - # TODO handle partOf facet - - # instance_classiciations = inst.HasAssociations - # if ifcopenshell.util.element.get_type(inst): - # type_classifications = ifcopenshell.util.element.get_type(inst).HasAssociations - # else: - # type_classifications = () - - # if self.location == "instance" and instance_classiciations: - # associations = instance_classiciations - # elif self.location == "type" and type_classifications: - # associations = type_classifications - # elif self.location == "any" and (instance_classiciations or type_classifications): - # associations = instance_classiciations + type_classifications - # else: - # associations = () - - refs = [] - # for association in associations: - # if association.is_a("IfcRelAssociatesClassification"): - # cref = association.RelatingClassification - # if hasattr(cref, "ItemReference"): # IFC2x3 - # refs.append((cref.ReferencedSource.Name, cref.ItemReference)) - # elif hasattr(cref, "Identification"): # IFC4 - # refs.append((cref.ReferencedSource.Name, cref.Identification)) - - # self.location_msg = location[self.location] - - if refs: - pass - # return facet_evaluation( - # (self.system, self.value) in refs, - # self.message - # % { - # "system": refs[0][0], - # "value": "'" + refs[0][1] + "'", - # "location": self.location_msg, - # }, # what if not first item of refs? - # ) + if self.entity == "IfcElementAssembly": + is_pass = False + aggregate = ifcopenshell.util.element.get_aggregate(inst) + while aggregate is not None: + if aggregate.is_a() == "IfcElementAssembly": + is_pass = True + break + aggregate = ifcopenshell.util.element.get_aggregate(aggregate) else: - return facet_evaluation(False, "is not a part of %s" % self.node["@entity"]) + is_pass = False + for rel in getattr(inst, "HasAssignments", []) or []: + if rel.is_a("IfcRelAssignsToGroup") and rel.RelatingGroup.is_a(self.entity): + is_pass = True + + return facet_evaluation(is_pass, "is not a part of") class property(facet): diff --git a/src/ifcopenshell-python/test/test_ids.py b/src/ifcopenshell-python/test/test_ids.py index adb769a6a3..684bb65a58 100644 --- a/src/ifcopenshell-python/test/test_ids.py +++ b/src/ifcopenshell-python/test/test_ids.py @@ -961,6 +961,70 @@ class TestIdsAuthoring(unittest.TestCase): assert bool(facet(element)) is True assert bool(facet(element_type)) is False + def test_creating_a_partof_facet(self): + facet = ids.partOf.create() + assert facet.asdict() == {"@entity": {"simpleValue": "IfcSystem"}} + facet = ids.partOf.create(entity="IfcGroup") + assert facet.asdict() == {"@entity": {"simpleValue": "IfcGroup"}} + + def test_filtering_using_a_partof_facet(self): + ifc = ifcopenshell.file() + + # An IfcElementAssembly entity only passes those who are part of an assembly + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") + subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcWall") + ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) + facet = ids.partOf.create(entity="IfcElementAssembly") + assert bool(facet(element)) is False + assert bool(facet(subelement)) is True + + # An IfcElementAssembly strictly checks that the whole is an IfcElementAssembly class + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcSlab") + subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcBeam") + ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) + facet = ids.partOf.create(entity="IfcElementAssembly") + assert bool(facet(subelement)) is False + + # A nested subelement still passes so long as one of its parents is an IfcElementAssembly + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") + subelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcSlab") + subsubelement = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcBeam") + ifcopenshell.api.run("aggregate.assign_object", ifc, product=subelement, relating_object=element) + ifcopenshell.api.run("aggregate.assign_object", ifc, product=subsubelement, relating_object=subelement) + facet = ids.partOf.create(entity="IfcElementAssembly") + assert bool(facet(subsubelement)) is True + + # An IfcGroup only checks that a group is assigned without any other logic + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") + group = ifcopenshell.api.run("group.add_group", ifc) + facet = ids.partOf.create(entity="IfcGroup") + assert bool(facet(element)) is False + ifcopenshell.api.run("group.assign_group", ifc, product=element, group=group) + assert bool(facet(element)) is True + + # An IfcGroup can be passed by subtypes + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") + group = ifc.createIfcInventory() + facet = ids.partOf.create(entity="IfcGroup") + ifcopenshell.api.run("group.assign_group", ifc, product=element, group=group) + assert bool(facet(element)) is True + + # An IfcSystem only checks that a system is assigned without any other logic + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") + system = ifcopenshell.api.run("system.add_system", ifc) + facet = ids.partOf.create(entity="IfcSystem") + assert bool(facet(element)) is False + ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) + assert bool(facet(element)) is True + + # An IfcSystem allows subtypes + element = ifcopenshell.api.run("root.create_entity", ifc, ifc_class="IfcElementAssembly") + system = ifcopenshell.api.run("system.add_system", ifc, ifc_class="IfcDistributionSystem") + ifcopenshell.api.run("system.assign_system", ifc, product=element, system=system) + facet = ids.partOf.create(entity="IfcSystem") + assert bool(facet(element)) is True + + """ Creating IDS with restrictions """ def test_create_restrictions_enumeration(self): From 970b24b63bdc343a484cea567f811d46eee8d93d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 15 May 2022 11:45:47 +1000 Subject: [PATCH 158/243] #1153 New annotation objects have their placement Z in the drawing direction to allow for 2D geometry. --- .../blenderbim/bim/data/styles/default.css | 2 +- .../bim/module/drawing/annotation.py | 18 ++++++++++++++---- .../blenderbim/bim/module/material/data.py | 2 +- src/blenderbim/blenderbim/core/drawing.py | 2 +- src/blenderbim/blenderbim/core/tool.py | 2 +- src/blenderbim/blenderbim/tool/drawing.py | 4 ++-- src/blenderbim/test/core/test_drawing.py | 2 +- 7 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/data/styles/default.css b/src/blenderbim/blenderbim/bim/data/styles/default.css index 2f7601f990..e87a177590 100644 --- a/src/blenderbim/blenderbim/bim/data/styles/default.css +++ b/src/blenderbim/blenderbim/bim/data/styles/default.css @@ -35,7 +35,7 @@ text { fill: black; stroke: none; } .PredefinedType-RADIUS { marker-end: url(#radius-marker-end); } .PredefinedType-DIAMETER { marker-start: url(#diameter-marker-start); marker-end: url(#diameter-marker-end); } .PredefinedType-HIDDENLINE { stroke-dasharray: 3, 2; } -.PredefinedType-STAIR { marker-start: url(#stair-marker-start); marker-end: url(#stair-marker-end); } +.PredefinedType-STAIRARROW { marker-start: url(#stair-marker-start); marker-end: url(#stair-marker-end); } .PredefinedType-BOUNDARY { fill: none; stroke: red; stroke-width: 1; stroke-dasharray: 12, 4, 3, 4, 3, 4; } .PredefinedType-BATTING { marker-start: url(#batting); stroke: none; } .PredefinedType-SEALANT { fill: url(#crosshatch1); stroke-width: 0.25; } diff --git a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py index 7401b4eccb..aeb5903b0c 100644 --- a/src/blenderbim/blenderbim/bim/module/drawing/annotation.py +++ b/src/blenderbim/blenderbim/bim/module/drawing/annotation.py @@ -151,10 +151,17 @@ class Annotator: return obj @staticmethod - def get_annotation_obj(object_type, data_type): - collection = bpy.context.scene.camera.users_collection[0] + def get_annotation_obj(drawing, object_type, data_type): + camera = tool.Ifc.get_object(drawing) + co1, _, _, _ = Annotator.get_placeholder_coords(camera) + matrix_world = camera.matrix_world.copy() + matrix_world[0][3] = co1.x + matrix_world[1][3] = co1.y + matrix_world[2][3] = co1.z + collection = camera.users_collection[0] if object_type == "TEXT": obj = bpy.data.objects.new(object_type, None) + obj.matrix_world = matrix_world collection.objects.link(obj) return obj elif object_type in ("TEXT_LEADER", "SECTION_LEVEL"): @@ -162,6 +169,7 @@ class Annotator: data.dimensions = "3D" data.resolution_u = 2 obj = bpy.data.objects.new(object_type, data) + obj.matrix_world = matrix_world collection.objects.link(obj) return obj if object_type != "ANGLE": @@ -176,12 +184,14 @@ class Annotator: data.dimensions = "3D" data.resolution_u = 2 obj = bpy.data.objects.new(object_type, data) + obj.matrix_world = matrix_world collection.objects.link(obj) return obj @staticmethod - def get_placeholder_coords(): - camera = bpy.context.scene.camera + def get_placeholder_coords(camera=None): + if not camera: + camera = bpy.context.scene.camera z_offset = camera.matrix_world.to_quaternion() @ Vector((0, 0, -1)) if bpy.context.scene.render.resolution_x > bpy.context.scene.render.resolution_y: y = ( diff --git a/src/blenderbim/blenderbim/bim/module/material/data.py b/src/blenderbim/blenderbim/bim/module/material/data.py index 3f5245fc13..4d90a29408 100644 --- a/src/blenderbim/blenderbim/bim/module/material/data.py +++ b/src/blenderbim/blenderbim/bim/module/material/data.py @@ -90,7 +90,7 @@ class ObjectMaterialData: def type_material(cls): element = tool.Ifc.get_entity(bpy.context.active_object) element_type = ifcopenshell.util.element.get_type(element) - if element_type != element: + if element_type and element_type != element: material = ifcopenshell.util.element.get_material(element_type) if not material: return diff --git a/src/blenderbim/blenderbim/core/drawing.py b/src/blenderbim/blenderbim/core/drawing.py index fe82d49ade..6bad766d63 100644 --- a/src/blenderbim/blenderbim/core/drawing.py +++ b/src/blenderbim/blenderbim/core/drawing.py @@ -192,7 +192,7 @@ def add_annotation(ifc, collector, drawing_tool, drawing=None, object_type=None) if not context: return drawing_tool.show_decorations() - obj = drawing_tool.create_annotation_object(object_type) + obj = drawing_tool.create_annotation_object(drawing, object_type) element = ifc.get_entity(obj) if not element: element = drawing_tool.run_root_assign_class( diff --git a/src/blenderbim/blenderbim/core/tool.py b/src/blenderbim/blenderbim/core/tool.py index bfc273fc10..6e478fb359 100644 --- a/src/blenderbim/blenderbim/core/tool.py +++ b/src/blenderbim/blenderbim/core/tool.py @@ -154,7 +154,7 @@ class Document: @interface class Drawing: - def create_annotation_object(cls, object_type): pass + def create_annotation_object(cls, drawing, object_type): pass def create_camera(cls, name, matrix): pass def create_svg_schedule(cls, schedule): pass def create_svg_sheet(cls, document, titleblock): pass diff --git a/src/blenderbim/blenderbim/tool/drawing.py b/src/blenderbim/blenderbim/tool/drawing.py index a0099e9ccb..34d9a153bf 100644 --- a/src/blenderbim/blenderbim/tool/drawing.py +++ b/src/blenderbim/blenderbim/tool/drawing.py @@ -36,7 +36,7 @@ import blenderbim.bim.module.drawing.helper as helper class Drawing(blenderbim.core.tool.Drawing): @classmethod - def create_annotation_object(cls, object_type): + def create_annotation_object(cls, drawing, object_type): data_type = { "ANGLE": "mesh", "BREAKLINE": "mesh", @@ -52,7 +52,7 @@ class Drawing(blenderbim.core.tool.Drawing): "TEXT": "empty", "TEXT_LEADER": "curve", }[object_type] - obj = annotation.Annotator.get_annotation_obj(object_type, data_type) + obj = annotation.Annotator.get_annotation_obj(drawing, object_type, data_type) if object_type == "FILL_AREA": obj = annotation.Annotator.add_plane_to_annotation(obj) elif object_type != "TEXT": diff --git a/src/blenderbim/test/core/test_drawing.py b/src/blenderbim/test/core/test_drawing.py index 290c4f8ca3..3746379740 100644 --- a/src/blenderbim/test/core/test_drawing.py +++ b/src/blenderbim/test/core/test_drawing.py @@ -281,7 +281,7 @@ class TestAddAnnotation: drawing.show_decorations().should_be_called() drawing.get_drawing_target_view("drawing").should_be_called().will_return("target_view") drawing.get_annotation_context("target_view").should_be_called().will_return("context") - drawing.create_annotation_object("object_type").should_be_called().will_return("obj") + drawing.create_annotation_object("drawing", "object_type").should_be_called().will_return("obj") ifc.get_entity("obj").should_be_called().will_return(None) drawing.get_ifc_representation_class("object_type").should_be_called().will_return("ifc_representation_class") drawing.run_root_assign_class( From 67d2ab25775475581fb8e03524a5993d79613139 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 16 May 2022 08:15:31 +1000 Subject: [PATCH 159/243] Write documentation on materials, locations, and measurements --- .../docs/users/exploring_an_ifc_model.rst | 85 +++++++++++++++++- src/blenderbim/docs/users/materials.png | Bin 0 -> 55847 bytes src/blenderbim/docs/users/measure-tool.png | Bin 0 -> 51752 bytes src/blenderbim/docs/users/snap-targets.png | Bin 0 -> 121425 bytes .../docs/users/spatial-container.png | Bin 0 -> 197881 bytes .../docs/users/viewport-dimensions.png | Bin 0 -> 124009 bytes .../docs/users/viewport-sidebar.png | Bin 0 -> 83248 bytes 7 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 src/blenderbim/docs/users/materials.png create mode 100644 src/blenderbim/docs/users/measure-tool.png create mode 100644 src/blenderbim/docs/users/snap-targets.png create mode 100644 src/blenderbim/docs/users/spatial-container.png create mode 100644 src/blenderbim/docs/users/viewport-dimensions.png create mode 100644 src/blenderbim/docs/users/viewport-sidebar.png diff --git a/src/blenderbim/docs/users/exploring_an_ifc_model.rst b/src/blenderbim/docs/users/exploring_an_ifc_model.rst index e52e10a329..7cb0346235 100644 --- a/src/blenderbim/docs/users/exploring_an_ifc_model.rst +++ b/src/blenderbim/docs/users/exploring_an_ifc_model.rst @@ -206,6 +206,12 @@ classification. In this case, it distinguishes our object as a roof slab, compared to other types of slabs. The **Predefined Type** is optional so you may not see it all the time. +.. seealso:: + + You can use the `Search IFC Class + `__ tool to learn the correct + classes and predefined types you should see. + Press the **Select Icon** to select all objects that are of the same **IfcSlab** **Class**. Then, you can isolate these elements by going to ``Object > Show/Hide > Hide Unselected`` (hotkey ``Shift-H``). To show all elements again, you can use @@ -298,7 +304,23 @@ You can find **Quantities** in the **IFC Quantity Sets** subpanel. Finding the location of objects ------------------------------- -TODO +Every object in the built environment has a location in the world. For example, +a chair will be located in a space, and a wall is typically located in a +building storey. You've already seen this hierarchy of spaces in the +**Outliner** panel, where an IFC project is broken down into site, building, +storeys, and spaces. + +Sometimes, objects may have multiple relevant locations, such +as a multi-storey column which can be related to multiple building storeys. +Even in these cases, IFC enforces one location to be its primary +location, known as its **Spatial Container**. + +If you click on any object, you can see its location in the **IFC Spatial +Container** subpanel in the **Object Properties** tab. + +Press the **Select Icon** to select all objects that are in the same location. + +.. image:: spatial-container.png Checking construction types --------------------------- @@ -359,14 +381,69 @@ grouped into categories like steel, concrete, brick, block, and so on. We can see a list of **Materials** used in the project in the **IFC Materials** subpanel in the **Scene Properties** tab. -TODO +Press the **Select Icon** to select all objects that are of the selected +material. + +.. image:: materials.png Taking simple measurements -------------------------- -TODO +The simplest form of measurement is the one that's already taken for you. The +**Viewing attributes and properties** section describes how to view +pre-calculated **Quantities**. + +Sometimes, you may wish to take manual measurements yourself. To view the +overall dimensions of an object, first select an object, then expand out the +viewport **Sidebar**. + +.. image:: viewport-sidebar.png + +In the **Item** tab, you can find the X, Y, and Z overall **Dimensions** of the +currently selected object. + +.. image:: viewport-dimensions.png + +Another way to manually measure from two points is to use the **Measure** tool. +First, press the **Snap Icon** to enable snapping. Then choose snap targets in +the **Snap Menu** in the top middle section of the **Viewport** panel. + +.. image:: snap-targets.png + +.. tip:: + + It is recommended to choose multiple snap targets, like **Vertex**, **Edge**, and + **Face**, and **Edge Center**. You can use the ``Shift`` key to select + multiple snap targets. For example, the **Face** snap target means that your + measurements will automatically snap to the nearest object's surface. + +Now that you have configured snapping, press the **Measure Tool Icon** on the +left of the **Viewport** panel. **Click** and **Drag** in the 3D viewport to +take a measurement. A circle will appear guiding the first point of your +measurement. While **Dragging**, press the ``X`` key to lock the measurement +line along the X axis. Alternatively, press the ``Y`` or ``Z`` key to lock the +measurement line along the Y or Z axis. Let go of the mouse to finish your +measurement. + +.. image:: measure-tool.png + +To delete a measurement, just click on one point of the measurement, and press +the ``Delete`` key. You can also click and drag the ends of your measurement +lines to measure to another location. What else is there? ------------------- -TODO +Congratulations, and welcome to the digital built environment! + +We've barely scratched the surface of the data and relationships available in an +IFC model. We've yet to cover documents and drawings, clearance zones, tasks, +cost items, structural loads and forces, analytical models, distribution system +connectivity, energy analysis, rendering textures, and so much more. Our built +environment and its relationships are vast and complex and it is exciting that +you can join us on its digital journey! + +Please do not hesitate to reach out with any questions. + +- `OSArch live chat `__ +- `OSArch community forum `__ diff --git a/src/blenderbim/docs/users/materials.png b/src/blenderbim/docs/users/materials.png new file mode 100644 index 0000000000000000000000000000000000000000..8abaf46a04969f78485abf2e257a74dd0bd662ec GIT binary patch literal 55847 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 z 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 L)#sJcCc*y?5)9Id literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/snap-targets.png b/src/blenderbim/docs/users/snap-targets.png new file mode 100644 index 0000000000000000000000000000000000000000..4a58a6193d5405142c0f07546b96d5f259f1e0fa GIT binary patch literal 121425 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

    x{s8#{%wXZn>h4>|Mb``P1a$|)^(0nwNKRM8|v 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
    3q<440aYgjd#qh#?_w93{i5q)gU$UZj-Fo-{ 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

    J7&Qls62iBc}(b9*~)tv&|K3y68q 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 diff --git a/src/blenderbim/docs/users/qtos.png b/src/blenderbim/docs/users/qtos.png index 7a7b250cf8c31867d2c6005f84ccb1fe696e141d..5746f10a836b381c5c8a268b12a8daf1dcea8e38 100644 GIT binary patch literal 60214 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

  • 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%0DbTCf#Kh@ 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

    kVbQ`8CB zbd`|y6;w+iHokY;Kj$?Ydz`w>`tP6;9H8ewM|OGl)%5n44?-P1;%Hya$LWu9xrsm3 zHy?S8%v#~(6410k{vJ}1E)oNSMRzhOL(a;om^tZ={U)f{Fts+4mb9;rQHhclP=Lz&`5T&zWQV#S(3SJu*tr?C-V-KJ!Zzd=xmC`Ihe&; zle4nbz3HY~B+c(fx-+G7kY`YS#ogVVHFcoYB*!+`&Vh~c9#n>Y{dzujavS}Cogw|! z=;MVaYXbwT4xJ`~>}?DAb`^}(R+93z@ZK&s?i-X{*diO0WqROMzCB^Rzx7K5-6f*YGV=c{{E&CJiY3c#?S0sgEN^mi%G?p*%S!T!<2!;( z9bB1`Vd718;c0wcBezUmFA3|Z^~%#5IeDe8QcSf>XpCho%61-q8QCs8u756p#{Xt! zqo5kXP-2yAz~A)%>)I*Wo48ypQHfjB;*QtyWR6euK9>BLm5nERvq7uwVJlzkpk4k7 zFSb<=%99XCO58@JKoFL29sHYbl{ctq@G4UF{qc;abA3fo72A`0C=snt=JqUJiAS(8 z!o^YXcZ3J?cwpPxhiKlwz??wp)?6ur^NCXd$*$SB$9p&}-p<~k<91H5X#)vL?WwUzGSGKFde%8^ECZU(woQk)zzUg^*kl$I^ItKhrnyb(Qjox@Ggv%O}h0v z<*+)kKNT1GZZ_?&Qhmt8GC_(tg(tQ2YU=kD^Lh>SbA-A7Jrw-uAx0ygXFq5N`gM&_ zZh8k~cv%j#R@LGSLQDiG@{6SxADc<%s)l^8L5&utj96FwwyO$vy)$FfB+%kE{Ur59 zYtZb?aQT(CrnMlz29=Se5K>$pL~=tS*1- zhRacbiv$>}CiYdya$v(yH^gH%J<`gD58{*A#939S=~6`%X*YKh8TIYd)!`rq#0#zC z(|n_1>j*JIu6>k)q(I{fZBYtcx*#wN?RpgCsd1VZj^BHIzPl{2n9P<*MK}G>9Ij+V!%aNtq%L&t1BNQ?qEeO zzyuK_YL+br13tK&G>%8C7BK=f1}oCf_SxctM_*`+UU09S{Xm_v=yA1N+uQT^lFxfz z4vr+Dme6dE>;>yxy-R0dLXAB-4<`X5P&|DlW0{&{m)TJa6v{uk6-ci?=;V<$3z+%! z5u3`KL6P7v(N4Rro~u&1epxPBP;!gTu(y$tK&)yeYMVmKh$w(UCNP_`#prCcA^keV zn~f|>-{`bX9sa)K0eE~u$z;<{DTEh){o*v!Hs?Q(Pc_L;<>WwjR1NMM$zm#0>rxLi zsxm7I#w&DEg3W|Tfd6B8)l3@($uZpypIvoQ#J^~5tyfD*4@k@nDExd&pl7SECP^8h z3bbnY!xHUhOl!l$NxR7Loq|wOLApQ6$x&uXspZTUmF*w3*_^<41O&eD{cJrxBJBhy z55?Lzauc?fim9t>*U70A_xaC{TmJj;JY7az9sU;BC@?WOW)yy)Kv`z4Zove_j4;eVa_tFgL^S;YH}9R zF<@{2>fpHuDF|kUma{k?5eD8!>?>c5fw@hJK-+WdrmuI;(oCFW>|aQmYbK|DMon13 zTN!%oiBR)4OVy$2$H!P#C{l(;MjnJx{DtLH=9vEGdQr9XuQ`u&18%vZyipum<&T~qPCYXmIq_en(KzPA2N&2hDJ@|9~huQ zJ;ig9Ez*CIfM%~rP|nw$Za~u8^^Hy$O@i}lcO9XJ^WL4#=p@&E=Eb_bsDuQm(rBl+ z?tt0ew>ZtQt3&dsnz-GyIHj7x0!fP?f zlBzekZ`LP%Z+v8VrCn;MrivmDs0tT`(_xJydNw>FLa>5fa`#oL<8#PdFZHhNAA1j^ zZ7tl(&3;ex+bkXM_wu5$@thUBrZzU=(EGJIue7zb73+Po_1r893Qg=4dUTy?BlNw48t0T+XTzkU>lYtV zJmP@nvJH$CVt*)tj?gGx}{HYgpGp z_*!19aP-mMO6_28FPI9mM1N@BR;^C7(9b(;#r1!TWi97{;lxmsE>D#5WDVE+U7h!` zi|QLEhy~eptY^9|e|o>pvaDMiik)tD+8z>Olp|&zGVB;O!H30H?`6z5t59o;rYWRB zEMa}Q6+`gjR?eFW%OAfSD9^uUYrR3oAJ~^+nsDsVh^vj%<3skiVho<2V#&V$er_Rg z@19jkr%=_ug;Sm_H>k=y?=!%p%@mM1MdnOXLk$REF{=qbu3McBj(fzL9 zQl^-bqQc#fPwMr@Oq81oeDyJYgE=S= z;YdaWiIeQV$T0rdJ^5ExqPr)$`#qp;Es}KdABr943aRv#X&y?I6M?Zy(E7mg*5xz; zgMp@4QVOL}n4E*N3t$sEp)0oM2p*%AA^DGCD}Qu>gLY7Xt@Td>oB=_`Mm9EN-aBi? zxs`UpAGZ&7YgO9A&~&wyCimDv+=G8K8k;xR$rxLE#&F@B8zy(2b&AD5g35elXqMH% znDRIk;fv=D&)$|LZ(dky279JJ&#fh6z=?Ta>tloqo*peb0?xp=C4kW5^l&aJ^JtL+0ndSpFVYEPkN#D?(Z%45 zBDAipvVTEOE_397sN4{INA#myhU0N)Ra$!rjfyzVz1#(W5eKnP!>CYml>z=?4ne<# z-*IohXF=WcbKwyiq%s=PkenDKoG7V?@j9M3g*^+M2s_6 zrLzU?EjP?1&6*E+@(QD?=p!zQ%Yfc8&r*me%t+8qs7Tq>aZVtVli;?Ff{8z5PGnNd zeAR)mS@3voT|@_PvCi@4B?vX1ef93q<<=H&SKp`2iZN`&0e<(hp2l8i7!fQZXoJTB zd`xnE>~%#-Doxw^ww)6F4+0Es`}fjB zF?kVhUwBIzcA?5AgTb)3;*u`g#?c<;!9a~gx=J9)e3Ap@R-58GhE~IO*^AN2CCta) zrytO1d+l^r*c`s>t%)M8{*|uENlnY^hgG+$ZaDg!XDLATN__KQUDcGKwG@G*gHSWv zQ3!8x&ELNPztoimk?|pK=r-7!{`r2g$sHC|~St2cb$lC;fGz^*Ey-R07=!=(< zhq%%E6C5c!`dQ0qDArZ#kBi~1u^kFc9DI?Op34&AVYy&+?%7W^r{9DW@z3yin}ixZ z`d@2VkzWTaHK@ijjK8Jy#7T%_UDJ&TFv)`a0&ndGJsS*qc~!@w6M3`OT&wyuBn5)q zh6>0efSmS}(?x124MU}vP0J;}8-*m6fjIHg(3inyK?uQ1W z*xS+=V)j^;G0Bg}>xQsi@#45se-dd81(U{W*UgeV_=*plnm(^T!R$Qy<6p4~hXz!T zd<=#qZ@?+Q9SU5uGedtW8pd~$@imvse2CsP-w<|tW8vIDR;Y$+MJX8cy4eHAvZ)QxQA@#8NHPC^ zu?z%^SrE(oiI|!p@@)dMwX%2@I?s`iPJEyB-gteDc!3+W3@04W+d*M!^1byn(u4j3 z%2$euGDiX#@VOB7)G0^_Lx6Ec51VLr#+{kT>(})okf*hm=+{j!m4MUl>B+`v7C&=QJOHpV)hmG zt*w?QBE|C*j;MUJvNaT?_KqEYA+C?7GHG@oS+P**y3-)I%h^hQSKNZ@0|<0e_NE-IODA>@pUQt z!eQIuDETgpf58gIa1{iSrkQq-G3~A8z7$Z&x}UuK7P^@~e>Ss+=B&T?wp%A8eN7@> zAZP~5j6H-#ANp>pxf#!S4fOL}3Ku}60<_w`@q<5q1QuxV{D3+g|6Skk<+gf1oDF)n zS|HuK2l0s62H(yb>aEJuZ4LPW1waN35*IZySyie2@l8wCoJF*BYBj=?QouwPXYRMb#?Rv z1O)%XuJa&goI#lTKgH^|aRm6*nC+dN|F+wC_UJ8dBvioyX&)YbyG!m+rNC#~JN@(M zq||vX3Kqn2WZIk+-Mq5JZk0s720nkOKMvZqKOY|zS-=qvt ziyQqr;qG-0Xm}blt8AmcZ(L6q-F}ojr?b|(uE*@gO$6fH)GMuVR3loq@THps8kL8{ zPFSgq?5>Bjoh3154OBNK{7K$?G&Q!#uAm0w?rhG5+0uW!a5aIq%)9VdS+=e-Q)se1 z>4{g%IBB`n0{w))Ej4Po&Yi#U^ms#4Enwv8_s1VR3m)-gT|SoKdOUneC7mQK?7FJ< z0>mjD-~jFkcRFN9XczYTCyQHzVf0l4I8{eE738S-0h~(nUA*tHLy{X(2w)ZTX(0AP zws4l?`nzU7S3O_=F!AcwQuAn*w1b#We|y&#Ht9U972`;b2-Z8yoO`G(6~07@2zjvC z;8~I%6+s~B2&7P(8A2M|IB56{^c*9s&=dETYF>g|RrCeG?Av!6ckkfc1t8cgF#hdiY7YCXZ82rpPdGAwqJq*CsJ38 zqx*isB|}s>A8YITT=?F_8#3G8sW*$Nt6wPuSjA^~H*kR!)Mc-RfNL-o&OUHIRY_7J z^F4a4DzbQPIq)V&#FX-L!`lqzTQMkh?Ui*X!}OV`OiD!&*|j^Z1xq^$D|0BSJeBV+ za@!-Ze#-`W5EL@`7Atg>k+B0d8nv9I4iT1TeBEm~weM;MPv6@CN^&a7+t<_XvQh8I zVX=I;^4J|nuH~&_QS3Yu-?${xQ0yw)@!VSJ(_;p>jSq#r6HOuhDa)kdm)NcmINL$O z_5l6`#08+dToAdAdr%lM^=-Vyp@~j^8lDgaTtgtYaHT74u1(47DTKmN5NGJ#aImzR zBL*&zFmD5+)WwEPjmFdULia9B_-r<8yySQL{Z0FfKW=r^r1xAl=MUJ+%!zj}*gPa9 z`UC?z4j^bUhG7MDna3>_q7)^!+MhVStTBNi7ZFc#1g-=nv$_s_^+g8#a} z%E}6?+UT)RN$P(Pz z&mmpm=v|!{3XF?+!|>%iU+3O)>t^7IcnM->>J@GrTMtDI?IS0ag21}b$r{XB`}@*q z&e&BBdJkye?UE5*_TVb8+Vw8i0=@z|=-94QGub5cZ!A@tBp0UnpF}iSEL#Zr1<4#w zpU`Mju6GxIck(+4H3gZM=7#5@|s2=Ei$nu;LJKc)gv z<+IL+a|w__#Tqv+{5MyFoFC{=!h0Var1y890n!DT8(2WbSll*dBfupAQNw|Zq3FZi zI5ZvNW`Kayf$ou@SPv;NqQKL09=Np!Cw@4H;GiBSb$Yag%&S0fkw#Kd0VOJ|zB?lT z2&upE+PVd7?bq86^5X>}Dh%ahAv6PfJ|qb++79D;z>s%!8*!jDCs>|5pp&TC(yu_k z*-&K@Z-%)(WZn#1GR_eZrMAAWCZIx@@qIi~^NO&tg76u$nmT&0l>Vhj{&6%L$^ROH zol?`{)%e0`J!V?wLq(1i3F!off4JHU*UxTg*dGtei=+-51aWPfNEfC*jtPWfe%Tp?ehjZvUA2BV8p==-=|OpxYX)1CmAGBOs}W$c!-5FUo=iow7`w!La-Qp(i7_F^RgJ|^XBp(Y)Y3CogMcfqRw zoykuVwovkT=m5Bmuo5*d1xtfRI-vC}3C#-NPzksukYJI5RV@gFGVr;v`B*uT9SsYq zvO&SW+pF5F_{$)ltfVBc8IV=|oVM^L<^s_;yj1reM;e$Fw_oo+;ybUh#V93nN)E=) zpy1m0cHhQAxHiG3oChnJZ^LFxlKPox;~!;Ya0QuEd8nohggoF{v0ROaWR3gF;yi(( zGs!{SiIAi)*-zGfpP0#}xR$Hr#4B}fR#Dt0>!}esbBwM3$V798Mfh=&jsf$h^!PJi zeNdnl8sCxl=mvbH%6HVKcVb4fc?FGsOugQ8?cFaM7=B8gdYdn<{rY`;PJ*I-{7}Yz z?UqUjDw_uhXoZ;e0Pl|@_Js12e8mL`m8g3>88@a5j@(UPuQj)aP%&=A@BE$#JJ0v& z+Qdk8clTy))%{31G&$FKOEg#Bkm_)Ym$DuW+h;jn)`wB0Pv5`eKYckRxk(u(2 zdYcP`r;JcbTWw!o34!<_?70BPWOK9(plrQ!4K)CRb=(* zGLxnK#Q?)$qvR$2Vkz-4!lhI(Be?s1{mGrs@zKuvqavK4s*X*c8hi@WOctJ?hkYs} zy_3Z&C8A#hRmIzU&*l{J!DrEnK_^#X#`m5r@i9dSb7UBTbfj0*+W>Pc*(=fiHhkee zlaARIPs; zu)XUiBYIFg)BF@OMA283KBRHzo^d0!Qx@xrgt743pfX$4&zU_sw?ppWSJ3V+r1_C9 z>%dzvM&c2*7t9APoJ8~{d$8mwkIPlXa#fg9_w-Pij8+S|J7m=yk5fliARo#*8m4XY@h=Z**_+`YivyBi7{ zO_&@cJ}evQUwxcdJdfV!hFeMsw6_0#d{DBz6f*Qrm9CVx&qmlTc;G9}6qb^ivfV%Z z<3Y7?$$UTZ=s*gZiGgho8-D#%wx=H1^!&n@b{6FY`!VK?f2D<6ZQGHE`TaVK@9C7}FcB2DGjFb0i`Zc&)uPoPB_D1S6pBzN69UCi0#iy_XF zCHgL$GxwMqj~D+@YP|VCBM) zYZ;fPamyZ;9I5cCquu_#Y{EvRZ^xt9uZNn99b(syJBBWP_a-ra$4NRJcS}-c@uOl) zdzxTr7go_XouP;QHLJ&y+aZl*Z!qY~JQoNAh}#gm2Ea?7b8~nKm7-+pldzD3p zl2Xm`3kxs2Vyspu<6M0b{gj*aos*D>())^Oo#Z$-W1En>uX{B;RoQE3)%XP!s)TH- zgc|ZJq54s-^x+DvPLsfk@y(yF+ZzU{4`vLNMzwYV>_nXk-@I2G718)>k&e|sPg!F) z)YX$q%F?&zESDi8gGVEHTl7GR|EAoH6t(O3lJ}s`N?h)NS$8YHQ>T9lgCyxN2c%FI zvuQ4v2sLhySVa&1s*M~OQE|KY8ADxAb+UhjE#A52JV-LXO`XgHMaEwz+~9hg)PW9g zz97&tU}DaNQ=~I2e9lD^<|_EN>Nan2vQcApGkSjq-L9=GVWEHrS{djD6Kxx;w zZ$3Tec(C7$@4NtEw6#0?zm7R+hWG0+a;0RU4hCA<4{uy{c6WiX`qq}azW1L<>gUQ> zI@oxS6xqa%DXuRIH)x>vM>_LIEjt~sg*)Ey;xN7~pj4Utt#hb93)=-HCyg(?xNTLM z3{g)z;Q=2DlY--R^QnRby>*2cWjrl9>nhitE$X+=kY^u11Hm9D%V( z)HLOoVv}5zyR#xGDW^KS^gW6p+1-EU)d73UCO#_82#lpE8&wLo1gd(rhP0z zxpaZ=F!^GlLoX#S1RiRF(tApsn1SbkE&oVkm0FlHYO?id4aJUUtbb{RNX@=tGY?!K zPQ6|%aygvt#?Vq~Z`#7i*P)>8O!y^efQdTs5|RThos{4Ti-5;b)OAw6jdHIr*W?P*?{Gs|bs&CGNN#x2xI|GEtZk=~?6wT_97zEBsQ^WMo6O z-x9NxW-^cxABeckrYKb!I4SNC*vA?+`Fi9E=mgp z>wzozi`BBe&#mbH(*ne;7`y_;0LeL^?_<9Qud8Sjxfik!gw2cBtx zYXG(W(PR$^~mtL;rMKy`Yg_N5>{4Gd)MD zuV3owFeCdH8lC75q_0~)?Uyqt#%d(|tVTPf4%~&RT=mMj*_!=L8+*|4a>q}V3iOY& z8e4|EFM2kSv2Mc2wWU0yF)ETQEGO%}*sXOBHgX!y0kjl;<>XQzMyh7^u!>l+Vc zg_m=FQfBxEP(9e=V5b#2*VlO)&hximVK1Uod70YoT%}Eo%ts$KMMO%(NgYsF$k-?7 zbWMww25ibq$PWDpmx95Hfe0o^Nzbte7%C;8K|9Cpz7j&vFX<`e&4vC#+%?*h$4Lr2 z@qAjjFIV#5=Dc!a$GlWU(V6&WLIJ;U?ATJou)duJ!_OUUxBEgQ^$ZOEiDh{FAbF_#YA$)M zdH(_|TXO0gi)78@c~ZvtSL71J&@hI|7UDc6WC{QMc&y+1G72iyXrlx**i> zUieY6L6eJ{|H~;~r~|AKuE`QrQ$<300{gQkb1y6Qv2_T8A>L)LvVm1VkjpDS&RJLbBOpVN$afVa9W-}*s ztk)ke&(mw3MN#HiRx}r1rk^Q1xt+{R%KJD*P36p&!TqvocccZH{8dA@QUYocWKltqRaQd zR8<65--o6*o>f0n(uRP9ymd_dC?9&6&Z_-Nl1gomk7$MJKwU6vCvSkmURL=g-s&v70{AF6y%# z4mr-c5YDC;E)`kGE|GN%GN(a%2rM*OuBNo}Ffl}2R-Dx8Jz5J&_8>F(iJ9o4s_UZ6 zZVX0}w9L}N9Tr}S7I7@CE(01XYk!-T#X1M!+3>$!B$Vf)3=tp-5EU&ftWdSEW*2x~pRcvQR13^~ePI0>fTpt#GrVYRH6P9G5oJZsqe0=->ud=G)%s4;BqwS$)0Ro?T@XliuKnns$HVS^)}l)pdw zHo@?%QW2&lCd!Nnn7r2ncP5eEDF}!5z#TCH87T$xzYC*Snd6lwjsP`V0BylN_So`< zGHY>WP-HSi&*WVuGn=$m4ipmx9|#(f%Qdlk0mPpQXR`vx-M;k3Xwi{wJW6 ztBU*&vMk`d2|r!@B4O^VWP`N$MmFaG_who$2syerBpu7MJT-7|KDZ5RKjnRWWom0{ z@$lfs!Tek-R=9ACJcBM}BY1RKr6{+fc;VjI9XQ~uV!SB53?BXYv{K3$3Oy4Tj2n4Q z4d+);*1}3ffRg-~mjQ2fiMddhWv6j1VJ9B93~Nh-Ct}zX;p5+$-pCC!$Z;g?H^gmh z{O8V&V36SL04Zs2%|a%uja;(7GUBr_?I-ZW)pqD8S*eZ8eVk}Ak}Zd@Ymi=&p3nZz z$VcCmM%%l)-&hxCPgfI}+xrZG@gLm6dq&H1t#sN11fZv}!+U;QJ=ns}6QB1aS9J*5 zRN?=#pB6pJLi7@;V)mUIKD&|(j_njs^DMw@93yRQu*y8z2?S$07}Pfb54$xl7`cPU zD+?46Ah4EO3^9R>q9>N)!KJfE_Xv9Ll5T5v%e7>EeSODpZ&lpZfG~J@ywott>2o+V zEGR&J(>5_d3!ST;sVWdsA)cIYQnY8>@h*c>x!dW<@rJL(Q2$d-wJrA*`)7G5|2)fy zPmZjxN;|94yVvop2cP@wFH0i=DSENYs&P8|U47xU4{_6yKOBvuwetp%p1fs7a&fzq3Qk#aUh58bv4T^Jb0uw55?f&_x*!edXNkX zo6ko_QzRs36FD{{zKc!#G*clgxva6AHT5|)u@-w=FfLO>t=e!BGx~VaU~2CVUAxs_ z+~|oU<3**>iGv;I`Xe2g#XqaHkseaBUzakv#zV5-z;F(2in_WSUt&>nxYv69h;vAG zfe(?)(QS@?K%|;DNkM`Kszd<4LFxS;_*X_N0O$$w4_c5`6ufg0Vt201j8QNGth|?P>5gxovzz{tQY|9jlAJqFX7FOO1B!J4mMOQUpZM1O$_@icNHEyK{y?~v0G8mHQog$8@A-`G z?n56G#EYgAT$4unkPa^V#BE&L;ybumBTy^kkc0v3O4m!pMdX8cu>`2?MK{4_L;!(@ zAm$KMiM7vf_~}=ip|`=o7!d_kymr``v_Sf3<}-7M+!GHmsIQiYdz7n{mxx{YDd_1V zUz^%7{5N{Z&2;daNg$WE4(=eZh4rY)m=?lvZAm4W3D2SKP2sl6faw9L>Q*kd6t1tX zjNtN~%~{(yOu6&6*T7Xj7_#MLPnqRl+D66ciIPa`{23W)wU7=I)WSs6_PwbFwL%o# z5cG!dLkG;b3ueIaEQak~!p}%Ldya=Oi&@325l`v_D*oxcFC;DW%L?ZgH(ns#=slMq zcwT^_mEpSo4FwjqqzQ9Ys&9N`?hV_i|3PcCwXadkS5+KWrRn>W;5%=;fbJ!-_#l?2 zJL1_0E8m_+ddqvzkVO3K^}N@s5CI+St3$+C9Ff5RLAd`ZRhiHfK&Wk{KlW1UMcXHwE0Ifwc95Rj|dPCgMEu68icU248133SkqzanK58!OzVd?222NB|j3g;qL z&-udR0|fpVaLouPb_kn{TFy942o$srAbmN6<`vLNHOA&{@TKV2L1h_680`NBW}hX= z3H{i7q?-s)Y~r)C#n?Ur6H`g;AoyH>#0nPPIi=BSij=_P<7q23heP8UQIhBCGaAxBNV(U`o^z+dgT#DfvbTPU!;LU>sM;u8*iI_az{iu5aKIDU-wMp|_ zO8x}ew=;O4{3c^HS7eX94cWV(h)5t{Yi8X-4OFOy1hoxJTUXJ4_sGiVclwl@iMJN6 zMs@MH7=`o~!W5lNsV4g4KsXWF$fSJYwxs}nuZeE5cDB#kSXKMuO=W(xH_5c_`B$^t zC`@4?*?Ak+R>^q0qNx|4ZVp;soQ#{9ErpI;2#e1kwOoPUMURF?&aKBcX6yu~FbtKZwA#%D45VHr5q%dhstUWStr zrs!eDLg4M7XOO;^sK%kbc7o&H_h3!EHqz4^ix&Qs) zhh8J*B~cp)a2=zg$vab1u{za)M}QQVH&>qcUTp$#l_SV;O(0iC_?-wt?FCME?mozs zd>~o~tL$rUWCTxk@%ve({1?T}{sG}|E1Y+iBIN0=W5KUE2yv6={b5`ao;B6iNVAkr zCHOHS?Pgt)P?KQm*ui5u8$2Yf7E1n>Z^+e0#`7q5aNu^BvfyhwfwqtS+5O4bg|WiF zmQzn-+tiiBbg1Qm+VWHvAdZ(cR0(lm+P|v44y8glb1-qWCBi7*QTxCFWYEyjmxHBl z`iPl^?a0$9A*!{!!4-=$&leiFA<|Mr5Ta?D7~+fUJV!*LnuZRqoLVl^Yqb&T%oN= zJ5R)a#*ucX^7g?=eIEhaTq*38CUJS^Zi797D3{dJq+c zBAY*VX~S;18j(dLNxJj#lyX=E*?T{A+jt@nWMlvl0Cv6lvNObdAPA^q=>|6L5iz!F zvuT!ZJ@h3EP}BTD4;W8w2fi38OG1!X{$L*!p=-oS*khVKQu0W&6O#4l?p;0lWSHveMX#Spyt{{jdg2_2 zN;0B5Orr0w;*6ngS*pgjFm#@%aw^XeoT_SkVg^OX>i~(dh-0pu zaT99xzqNrEmi@;2_h%xD%$K5#f8$F*fJ>dtc|QS-P`is;gJ+vk^1fG3+qEIFnOhfj zw0vdS0?)ozy%@ghY%a_r2Ob7KK zBW!r}Sg!ZiTIVvq@~NvkLhSs0-f#~eWS%1s-@!)st_t;%&2R(A0cvL4=x2QnZ4qcM zP~5IVM1V{cNya%cJOZj1@sOQp3eeJ)sefgQ`v4q7Tg#1#6l;~^gOv^h@#3n%4_?dQ zj7`T^wasR*Sx@>J+c~nF z5%A!NIOX*$p;q&&==zjLP!2?K=kcCz2&XUU-?d1q)%WX8O2vA1V#l&YGB2o7lW?knc*i)04i6UeISB7@v3jcoa zEPYVXFkkyo#f;Tlqg)8rPh@1D`!RA(j zNA?AHT70{mI&+3_+sV+$AGi_0NMMi=>B9OcBA!)HLod-~A_-)Xn$)qivGVB*O_|tt zlc?&4mH!-6OS-rsbiAhtnB;%g114u1=LhLUZFn)7iej*!~a@^DTdt_NQ(Eo zG>c_yJse*IJ5c-Zvcx$B^2rYD%D*v3-2L=gW$?-2EY**8P(K0G%3#0_4b84?3K-IW zz7=!nh;Rt7TV?uvI$1#a0+mpPf#;e1~TX z#zBvV^%4LeXr3D)U4VoVIG1(b>A?pL+Qkx>q-Y6EJgb*5v$2=fuO25A7jFx`zq1!h zV5e(!5FXQRFj)T(vq*&dGU;aJj(lEU|5E*d)%CvkC(L%7OSY!JR06Z^>fy97tdKPl z2y=<(ep4n%C*qEY;9U8Mc1-NP{%+FeNuTpQGK*-bwbX^a(>VC<#tmGzeOvg1cKs(- zSjs_bdI+GD4sCUk*01~7yI=OyNw_Dtx(+TJx3&rr#vYzkF+dGf`Io%>+VP?+Z6U~-K`UqcO}P%CZO z$RhP@WqnPt78@7`e}nY*Zp=AQ?SsJMra!~k!B1U+B33_9v{SQnP4=yDM_FjLatHw( zRBv z)0AP{LPK0tjjBvat3LtfWb#9F)!U^#%sc8qLH-R_3(rh=?zV4t|&;zYCb|r8eWh=p^=MIRSFKA=r3vNT?Nc~#YG_Q8hajVS&7*ks>7u+`3 zspNwSd0lLT^Z!)5ST7AIY^P&|C^MW(4y<|(@o@Y7OnN;1Em?2O8259hiJTxgDqaPZ;?@Z;54)PSjzpeYg z?ebYfKT5S35n*?hrPt);=?RM7qd?PzehN(?Z|)x#E&cB#J0%u%git6AtU8Bxb^ZEW z>F@B!MLH}3jI8Ca2_>xTsFFuqTwLlZjX@itc&_C`NY$QS)iq{-!y+apj2f~+{WJnk zY9Z0=OCmsp{nqbneHIEY2!F>ja^!XD+q@(WOv51Gj_FYhkL~WYZGR7`9*Ul&HxX;U zmCaCxuX#RA^;ts9g8P?%#6XbQSz z&l1{1`aCB51)<11B$`8Uy?^Zw#7C>Q;vw+;r@c$KC=Io9j*7P@2u=G}P;N7QS@TuA zXXTq0!X5@zM#Rp;esV0_PK+I_72!Ihe!2A(2*;k<^OI-E&O z+2^AlKZ_$O;;|9{Q6F@0Gv4A;peo5Px0x??Cj3w8-D8~rN#=K_qhvsPfyidsTe$AG zpU4GVF_<(#&&AV-_47jkuObz(ms|igU0E?tgN-n@SD9FvEOI&PP=vf>(7voipqq`4 z---eCoh}TU2@?ZDhab&)zmKN+#?|!?ZJ{4hmg)Y6Ii!$DG5DUDOWAK5F=r`1t1G~A zB9fpK12aC{@Utd54!+1aHhDTq9VCh7HyHjhl?AgCjCl3qK;ED&PbR*D47BJ-;SqZ;V(kmYV!v>`~P@W9_& zlK_4spd#Q1+>!UnfHRb58^+1>N*AY1>)?0j-LFcMC{M^|XKK3%mtA~R=8Dd;dG8ko z8E}wc#>0Jnt(#ESR>{w|ynk?igiwx=baVVK$Dc~F7j$w!tO=#k*?4E13sPGxmuEpR z!^I^d?56wnai4+-OKtZR@iytl4*CYBAd0#aT>Uy;S6hIhwyY;8|F1k3*>!y?@hK9{ zGhQEI6?Z4NqNL&;Jh(@|)!ZFn57KBRuy#wJI8o+o?RV5|eWY6o6>czjmvQl#Pe8bL zdQN`aL1q%*I>1e#1Fg!i{#)MVO$6|>WO#-j5E3euEVrfWHtCF>km1+qu)mz;X-?Ok zLacB3`HkPvJ_;ReL+u1Mt#uf2G9@bk-E`>K^F781JP9Bl%mdvCfRs;`Y*waf*UvVA z_=2Nu)2h))eBmrLC%1n_b#JW*y&V$kDDn@j)j}vuKq;%O#|(SGd5ddDY0TLNK1qyQ zI(!GLr$1k8dj{tg;v@lg82j%%GXDd0+M#YCqH%Q*4TZJaUY6;gKHWu?C%uxU=W8Ku z$44aR)qEF*7NA$5_h{Majby`epro3sfAB4RC=MdNs zaL^7~U|83n2uYqX*vhR=R$$ii%c{;*%V4mPSkBd5Iy~h@#|*~t_yHgZ5X3AdNEaBX ziq9^EN+sg@AoLc3W9`Y)$N&wB{4Ws#_uy~2$LyVbh)5)%YQP=!z#X(F-x{85+nW4(soT5FkF%~J2pmaP*f2NWZ$ zox#z@F$;A00QAJ(Ol)qb4kU^}{Y+c+a{>7?cbmFct=EB#zd8)Ku7s>x!R-(#0ML9u z*8fDG*a*Pr3W9?}!NLmS z)aDq2*#XKsvbr@y5|D`GST~_7Q!z~_ibM|`U>3){Tkc__SHS-Twl&bj$g69~?x71F zj?!LFch;dd*<=8&h?xFB%4IE-WNuOSrT0g?jQq(^RRd@q`ClFn1O&q!vl8A0oA+HD zfzPA=PpWkk{fzRtT9y^??u4vBb|i3!spbfARa`-MHu(5g=RVfB$QTV6g1ykK^O(Nl zZ0;j=uA%p7?&`{wb-@gV{|gZ+Bzw_onK0cqtOZLx$`3W?_GZn^cbJmk`bP^10r8MQ zfKl6gFn{R_zn-JH-^JYrl&3dca1@cu{{GNniIio>o5~YVd0Q*oAit!+l!#@6pw~Uf_k>4Qh)GOWeYZ4>n-M^ zP2LZrJTt6EocTQHXR2R6&$&AB_3Kh*cbA1qFo;yYN*UZ9C}(4%9p_>Fn%S|CwsGGgP<*bVUJd-}`rW*;7(dxCI2l z+T9Kz|Iy;ue0}u6($ewb$o!9hm{`oj#6-2~)Iby!h@Gl7YE95Xjnr3G?+!>FXeA62 zw6M_o+2Azavmh>WHQ z{ZTw7yyreOD=8i3EnpApgT^2pQ+-A|8;5Oq_~ar@vep&Hm-CvoJbFEbUY#+bHHm_Fabkdl6|8uL#RHRD5QKzdVrD0W+$-!D|sL&+L zpdMgC@no?S_-OSZ#;;RB*87S>mT70K$emMBQB806&amei<;x){*%-oCQ7I+lHIYdC;hSA8Z`aNVSP}}sQdrl754teO2Gw<KeTavR%~D%#BgJMIKRomujeD|vr5 zo#YhjSxG!oPzct;Ob0ZPcS~oO8y_xo`nAa|es4Dmx=q2Xc5#x#ElDr*W$bzOEOqO{MuEnz^*^aE>pN#6-B)-+==`H6XDl z+=j^SM8QU0s8qCBO)MciicMbNxp(hV!_FE z5QfS;Q79>}&M5dR=;9y5N0%`Hb9meUalU}h$NiNJySHPmd9gWm|LBL;M(53qj}yT% z=C3?^rr3v_0qEWraJeTkbvfIg8FDo@HOUyJr>B!zf`&m*1l9X$LPoe7qfw>n`0vD; zPQsUtiqohY^bk0lY-<7!L~`;&!Pp?Dt;rQo``+TXCWoY=#fJ-a7ZkEN$OUorRSNck zCLhre(~*Dw(XUZKr(Wga1sF7z9p^(jOxNQ?41nytIT?H$t}89!GMg1S%ZKbbv zBOiwQk3}D7#x$~Xe%4NG(oBMB(hONalsLJIWAU|T&cBsQL_2qKF1IglzP#W#=kdKj zn?J{^Ad6mJ{Nv}_44jp3wV fZ=L^txg(AkS~vKpAx38zIN(y0Rgw0 diff --git a/src/blenderbim/docs/users/outliner-filter.png b/src/blenderbim/docs/users/outliner-filter.png index aeb2ce55a18c293368216d3d2056904948cd3631..08cafb6632b9948661d7e0715035ebfeaef82ad4 100644 GIT binary patch literal 33628 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 literal 34428 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 F{{inM%eMdk diff --git a/src/blenderbim/docs/users/outliner-isolate.png b/src/blenderbim/docs/users/outliner-isolate.png index 320142c4ee1404fc42c43dbe6fcb94416c07500b..b63fd9cdc88a8b6abf173fdd571d30d71465cde9 100644 GIT binary patch delta 239030 zcmYgX18|*Pw2j@^wrw`HZQC|(8r!xT+jfHnjn&vmV>amf{x|bx-kF=3%$=L>oPGA* zYpuN|w_+b9^bblBCAdd26$wb+%Yd(5;vZiOF~km3>uAJg`Rm|#@|ood=T>hHPIh?SU+`ge(gzGCR-SS0SB)RuU-AERAO?b*E>gA1uAiU9 zKKzR@g$Lkv5aZ_B1OBXhc8B|ZH6FPBM;K~rA29WF(fse}di?CqaG+WoP59w!-hwx{ zET~jI)OqS{%g1!r{D$X_uYyE>U*z*FFX;2E_SCNGmBjcVRx>E*Ikzn+uj%c#9$%1g zN|3J$zf z>1+0e>QO9{6EQ% z2c&!-)4dBC81c;=L>Gyz?nc}aGT2&dHF&NUY;(kKp`1vZI(`a#N{py-(Ycc2d1_>V|W zc=hbo+ZOEXXY`y$QY;y?>auk^ewix=Tb;FaIQ2cVb)M`_g?ghHv5v=a%m~KjdbZoP z%r&_brfchZwprFRG#w}rysvq7IQCq-4iBX(eLY%QOvn!!2aPQ|x$*3{T{x~f4IF%5 z?zj5b{6V6_6i|muV4%;^@?mX~_=IqwGQ*c8@vOw3eTY)L9n zi9E;n<*mNS2(pYcsB6WZqD##!jIoZqYHs-99y{!>zsB@1F*M4pOh^d&A6TtR=0lw8k6CN#pvbZDKM@MPU|!3p*Zy80u5EtC50w>=B+DUf^6G zy0NGO!A;~uUdZ4>=F(FyJ9(%LKkJ(+>Pd!5Q`?kYPR`mEeX7rJ(Sed}9S z2#0*3ylpZ}>$cn*Ssd08J00$bb%adkw=5xxRxDm3foH2)C)jEeGkHw*GACBB@KX`E6&JY1t_xZe8 z2!Ec2!?3F@-@oyE9tuLl5X?#~h%#GgKPE?mI}P^F%dgtz+)C>cVpo4(Z?9~2as44c z__iL!kdP2%!oalcr=!pS&T@a2m+GKvW_eN2XdwIDtz~%FzNJZAL8@pAelgy@)rC3% zv<`YWxxs155U>^xOZnZCp?(p4<<%a#=|I$}D?Syv6$4krH!Ob%d{`)r*My%ye2eReZK6?~-*feGW{I-i=@&1_} zw<6T_XI-f29ul{|{PE`J-kSHWyF%$Cw>cociK3V)J09IG$F|f#MbQ=kzJuW)J-tpO zMi`x4i)Z@Oq-uFGw2A~4$;Ka$K7SK&Tx!faf9_fNcS9P9O_nrh!uFjfY$N#Re>`P- zIj^<|xQ=y#Im)+?AVV{c?pZKq^Cqbqm`0iqoA&e1|M}MNdm15}a4>p|?UiP5SsfRY zDfGk1hwAWRN_41IV7j1`cN*2TU;c*kCV)j)#8k&?=7s1N~qZDMAdk^CXegOO}`WlLML`& zee%rmyC+YjC%Qm2hib`-k)LnWf;l5dCa23IfZdYg@S8lQRPkw*m#4X0e4JwQrA?4E zdKsEt7j(W*>wQq4s=y$+#}sVHL@f09YnGNRC@eM&?)taaX8|f66}5LEpspO`CJV zPsug*xWBaj0-HssJAP&TErf;6C~B>gRvA4vRb$3X+SICLg9Vty6@k(gYEo-H@*=0Dr!Ij zT5vKq4r{{Y z)6RdL&C#zFynevp-Z~kZ`cODzeHTlmhg=)N(N$vC%StWHji^x> z)4D5enGaI-AKVWI5ezc#n-QNP$`i3xkNzSE2{lceulGS~d!ujjH?(O9@@-!ikV9W0 zgOV4KDQ(c;z=7w0(Gx2ZqL6NU6q=xk14j7HF?a~U3<2{Z z2zvQKzPZ~G_RYvA@fRmP+g?Jc{@HgbOLTb|)X%?EyUJOS*8;kQ7Zp`&9^Ym*&8I}{ z)6v17)<-g4USBCtLwm7d$R-xT1QfjLB@h)Hpuwd9^&+5J#!(|gR`N930qJOG6F~ZYI@NQNAzr>V=ljaxx-Rw zLGDWLm8mz0eR;~M^NU0onh{|QxfAg<6PiwfJ|x*jQV)JD@1?Q8rH=XA!p4gi(jgt{ z>+^)X#6{D+o}ABSjW;L1iy+@C1MWakJWw5_NIgwzGiVIjst4akGlkd-fzfDOS=X6| z%HrkAU8NdhREj7h??(%lKq@128muN8fI?tbW7L(R5V|R80XKkk$~NJrsTZ@@&+5fs zPQrYn6jY@Vrhp|xwGUd?XWW7x`tFCaoj*N^Oo!-eM8-`Ko5wvgh^HEP!%q9rM{AKs zD#d9*O5>7fdkaD%;+6nG59hobb^#7g^fK_ zl&n}nrt?+93>Y=I;OMTXHonSS2qw&5(`%C-KP8Sp&u!tOq>e9FFc^`5Y8{kkJ<}h%(!LOkz^KzYVt|0^Ddo+`Vq5-A{ z;16-Q25hkA!+Ql8oGH2e^aR{-=)IwnsEoXaWK5*0$5?P7g>+^XA+Y^C7%*8`2>zo+ zd*A3md8sA3ri?|LK^Hf(mEjgtlB{v%2e>ylYu&Q06ujtqnVdh!Wn&`UldedDjF>mI~iNHxpS? zoMJ2rb4`9o{}Z*^^hTK1BE0j4d=MK|9QlC2AmKn1)tdzKc3zI0jI#u%f6Jko?@=H`zQ>l7F3FsT) zjX^%`w>&RGH0IuA5?hIHElpyA=tP-Erd+8_8po>p4!MJNp*CqZQBqoThc0&q$>pN@u;x`n4b}6=yPiJa zSPN3iVjzSH%L|e1?nC4-MimJ8O&=ONT-4Eq`M~)ch+-xYkd)DARL~=|8rUw$DMWKd zJlT*05y#q>_OJ;|evm(U=JjBm5Btmel;v zXuE_;GtExY$PlSgG9yH2cw$`GcmY9B`X;H7NxlWErBjQf1V+p0rz4Jg8aJ#4SZ>yA zGHytG5(*lVeTwJ)uclz}`LuE|g2|>Tbb%&nDaM2HnVe|6wFnTq#@ZkPC>1efkvJVZ zf4WiKDYB+XB1&{{USjJ2{>3Z38Ah%G{lG>AAyI8~H(1h3Gq1eF3~p8aD>cs_@)pVj zL>Yy|2h z2WIHy257syg9POgD1)skP;j5T6h@K-B5(Y;I5z3nu3LIu?k*9HMjQ*0+skV1CKw5e9`CHD=@MO$ ztU3u<65{M$)23l|xogzNNxAGAs@QHPA}q+O9H7c#5tN=Q@p6)0fCNz$5)iDXB->?H zt7F3=FdIkJR1q=860?HK$+1HdB^b_fjEj#U~cKtC-7lrg73l zMB|FLheLe+RBc-jrV?s+^5S@gO6epx9CHN4c%XlmAo2eEfa~oopJlR@`s7R64VNNN>y5et277|2iF5T(%T(#SV^x6)&Tx>Qjwr}r>xACCSMcA zPRzps+vjhZ#z9sTH)|nJQ8f-_Oq}{6m7yzkt=2m@ofUzl#^9XxdchI8d6H^TP&Ks( zK12?SE|h|@cZrhf@b#T5rVsIup#~MdE|p-DEwX#C>)@js7RZBZHl#+e0S*=ye6z0F zNbA6@78+87dwgv|Hp%f*{T3R1lx_%avbEGzDtzQnVo?&dd1V3IuroQm!Z8`=YRz`2 zbONRXqBbP;2Fj{ulv@lw@r)TQ%BbypbXIm7*WtbeF9+{$vL#X_X%XFQ%<1^wPKwK~ zaQ0|a1tj`+ji6-YqO%Gqd{wS???xg;_R-7eywVUz->hpnGVMy@eQ=S1dS$-7Kk!6* zc5J3}Tc!+oB5DdQn$BVbBF5;G4m6G+FD$p{e7p-TRIikG6Pf#c)gPi@lS_wK56i*y z`;tU0CPCTqzF0XSDVbJUtL)VYp1Ok3eO#E`+6#hR-tyqzDJR=w{Or1t$;RSZhOvP=|L}Qz~P=D7?c)t>oIP zFvMCIle(cAET^^n`SPfqje}_*6F>B!#0^gc`N$Jsle9B2W5{**FjZ4M-2#n^HH$jL ztuFh3eFCEDWzmNIG3w0lE1 z5t#GnallU3@xGV@T6fsbI={xLS}Jnv^nM~=+7wV_4u46R<;ajM_Y}B!svU+XTulPk zAg_8jc8w?H2kenA7A`I4PcFW&Xg|9$X$>|cRnG+}BXZ_jWK-y5wetjWSYF0?#h2Yi zFNi!s+{4+JPc38Jn`IkTo$pVH@Ymp+xh`!VT#| zfN4%x8BEqCzVaA0?MvX&1a!?+^>_|@H-FC7CipmH=up{&7OQ~y|9s6 zkT3Ea?CuT)dWVO=woF!QT$;`hk!FG@p$`bpbhsH}_`O$2-k+TcjsKmqR4I6>09IkM z6&C(S1!d$n_+(T{rdbsfOA*X@=}U%-;3>I=0l0uvc7^y~of`BJp@=@*d&(}P@Oy1e zp<(nb^v|A}9t8M2{^t4TyVWY&YbdQgG7*(y(fxZd`d?Jg8+$SN58=KBEAR(FqN0NW zusREUSX>f&#f~5}@z|@Rn9t+lb0g-HUSa0Z)?zuNiINYvH?xigmn8PNJfKlbW`gys zxn%3aUj(ZOtiCLMGa^lQ^~!=Ffbvf8hC`Im@y&NT)6pe1?a+c$)jFgX?c-8iZ8T!b z+#(orxRJVyP{-!Nod1xd#LoPtB!UP+f+BsRmFF>*Ey@1!3JrtAD={jJDp+0<7lLb- z^z~3Rws9j4L8cYs0%2WroO6th7_=kDOFgSvRhRi zdYWM!$a^sDvca##N4Zp;6gQrOLCI@`#I!2)Q=g|rp%=J*ig`9we{xLPLi9aBV8}P_ z^+TVHcW44UC>TUHn`ZQ^sr1Er6Mn;}(|ck{xglqE-C|><$&|rAIP%Z&U&ag$DN?|l zf}oD&raHX8L>OQoBAPUMi_3*cBBPth(JvD*JE9GQ2oq|s{hg9ArxSF;16y@r`#Lac zcrMWa& zr&E?;8zr*DmR~NDnb+((u-aB$uSMmAPC;)}a1y;HC8_%HEJ%Z&4e^-dg#V5$f|I~U z=ZNhgGeINiOVU>{cB-ncwzR2$gu&=UZbc|k(T*tH@mcfxXhuvov_bmmt}+;PU%|PR zYW1Awhu>GT4Zn47w`*9@07}Y&wx#x`S`f0iwX=Jk+^%YcR;I9+M|C;7C>8IhGN1S$ zAB0GpEYL{NC=?T|N@Dq;jfQlzqa{x30%^fShZBfwUKqcXM93T{iMO1K>TlX79nb9P z>v9U-$lXxSTy=gVnY9Na9-BqAoikCLBjLIURfUdplT!KDJ#eOA64V!Qh461^Jh>OC zwVD$FYvik3m7T9PKBZoz+rObuCe z4p~ilma!a(r6Tq#MQA&PJ-+;=>rLVB74lr)dNkzorFivxhxH0P^tStDS2XtZgY*jn zCvHnJ6}Un6w?)5KEx(v0?)*+xT=9r4U2{ToaL>YD2}mNKdxeXBSL*(k$eTQw$|9@BD+g-;KND4Nj9OyrznjqEMg zXCRgx%gx|B6uJAk(g_aPdTZ*lKPeKcyOipitAwLMGcJJd4br6Q&2G?4-dBS|jbctN zc4`s&hwsXKfh)|80-rBz9lS;VI*-Ravk#A2uk=Z2u$u-lGK8M*$#tVxyOfnQGeQo7 zAXPPa%<9ghM|>MD40V3Iw?aVM?WnrpU2@k$({q$xuw8js@4| zrBbk~jN}DPXicR{w;=`>mfF51t6HG4+PmmY@V!*f!#iz%BK{dPI+wPOPWr8zSp)_;qgNkFWpPLHkmhRqMHkO-d` zN}JC)I1KTI%TYY@y>o?hEVF12;R?wxaOf-)lABNNvOL{Qt1PS%83cC_;5U^;Vh=Vi z8$cNJg$BBfs-9EGF#N*r&cudTq15MF_)!JBsv2I-Dbd~&E z^-0rwpGC?esTPXHcbgCTt?NX5tV%;j&de$mBo4V;fJNzkg{ugA4dYM#uj;L&9fY6K!3O! zQX;H=aT?~Bk`?+1w@WgdP8JT;>8;_1Nt%QEauvlbAuV>|%53bEQm(ZoH7gQTQHDq^ z6jb}#bRPAaHdG)$kW;Q;OC(bmDKOR)r*p~aaB}gZDD5SoNk93Q%J*SmxoXX0NJmxH zUQQ8cQZt>KtSuBFJTxeGjV~abgEYJT@-`984BMe+mX+_h2$ewFC*2&Mrh|!&t2Nc@ z)!QLElXY;BUYnM7->QhhkF0K$9BACTX)`2BRDW^u4&+SjlR5^TE_vKP@ujj3> zJ>Ff`nGD;4tQM;chwB0l595LdXG!PTc?Yvy^AxPLRgn-6yP-xG;V6GAwsQVsSV}%< zzocclp?eTM57CfP8P&-UTQOv3b+qr=p47Y7KG~=ozvJ9i z#Eo*`$Oc1*kx7*s!^+)MwHq|6Aumu5;S|6~?I3g$wM_`IeEBpI7eEUE&5JPQX}MAE z1F58gKmFhkg%pCe4kPMpx9?!CxFEAc%@!nmQK0PF(;bSihevSEC&GO#)b z2(>}VayF-T^qtj1X&NgLGW}xYwVaf(i$YBVPw@?H@#e5?|4fGs^Qq}FRK_~F$Sc~T z#wVAcAMH^4BDpdmos3BT`-c56awF3@Lw5<;wwr8_JbPnMHi@ znJJ!#;m71Tr#OfeY9u5FmMog0X0vjcE6Y<@ zYHf!H=EF*7)^SNjH&HKyQ<>Tpx+mW5uaI=KAn&S86d%yV5P?ZkKYLuCE<%x}`VW!t)%9?TmV*0#(Ib+9>=)b|pY&EzmOB8`LmBwtH zcsaRlHb>pb3zu#C#44!q2vu<6pJ5G9Gg487_Ka=fSIa6|z8D|13&w)gC?c&( zRvMmSbfme}Ybv#xE!}3htfZReaL{66qz8XKde0nPU>j7M&~F=;DAkI8Q-9u8A{+hw*DAKML-?^=*FxT|Buy)4J{&^Cy zTDGaGU}MQ)lW#x|O~4F4F=Mb1?2p%y#kdXy-A6vNw!|z}r&C6Q&u%y64|uqme^hqm-~Zuc{O=^BfMA!kFxY6}cX@Vw|NIs*7uakY!NJ zyk~-KIaw(Fsm`_h_zW`SYOO;1z4w6eWR^#o9KMC_*yir4w2!aaMvpArm{i)wPpdd! z%EBxDjs2XAT9K>^VFjJoxy+>ctMZcu=(brFGFy-Rx4n*L;0Thnax&>s@5#w+G}!BQ zPKGy~2*x#>IEqaFXv%y^1QacOAfaZ;gM~t@b3(I|P%&8qhzlVN^OF7tN^o6l57_)U ztoX6E$md{@=xfu12-B{czjpRe9!b|$-Ns3AxJ;k}6PY&@mGFSKEo|KWseonP(1zSYs=FSL%uA_ryR3zu7 zMpt*x@w2fjSa*(U035kAKI}c}c^+v}-_j&P@SZ;_GIA*le8B=|htbJ|*gV3oQ~pNw z4;8cD-v#pErRuPt+Va%2^ifnKLEd?BgV4vf(xU^!Y?t)eB*~{)$wda!~)iyb%(g{_2LzfsT!oHeAod-zCP~r<2IyHl0U5DC4#M3 zjpBD_z3p`8@ceENdnr1YCllj!#H3I^Z79nmR(KgjO)}+2%7{5G=;0JzLF~*$bTQS^ zl_CO<*59RP!;Bs#&Inu}>bnaV!zF^1&64tVsamFb=Z z_f**(8y`PY^lzX)=ul0U|HZgfPOD7QjOn&F8@j~!-VY-=Ukeq3_0B~4t$HI2ZY3Q0 zyO-eof z&eExM#IUN+a;H(e9w?Mezb*}LNQj}_>I^cyT={H#LrAmHEewM>;|_eyYmVE=7{OF|$=%O0p;h zR~5&2qcl&$G3`-l=MPy5C}w^_=82d~KXYG8zeliQpUJdR33c}zZ2mNUhInx&R+GvR zRzKBNoJrPLCdDt)Q)9FmLR0ef)E7F-l;PA35dlwNq+k$j;=G{2gB|HIF#0E-_7AMV z{8ss2+hc!AFwG_;B|D!57Z(R78tMTJWLZpBRjD%Eq;Rm{NI2elk_as>+@><19U@}Mw&#D@>lqGy zGGg@bRH%M9Xs8l&G5xgo3=2cr%y;LST}FMMn2m-ajitdx?oM1oP} z_|F2pTRe}SrL#=ES}eU<*3oBAeDCt|^0PU1)Q|J-g?6ks@4T`M)-fe-<7yZ_s0dfp zs?xL}kI%>1L^%~f6oP_;%gf8Xt+@okjMMF%<89vdgH>nK7VKe>k){3p#QgaQ+S6YZ2sQ?NEbl#+uU?QP%e-7`l&jq;Fn#}|OPw?Uv1ixLvJ58~4f`f@bg|+h zMa9L14Vj3Tn^P!IV_cW(zYz8G80PD0e|}tp4knT*xE;YW8FfQ0FC8+KOU4$)*0(o8 z6sSk~p0}qt1~?VX-(PNf^BWr#r>Cd?_zhyU)VsJtOgAS@TD5zW&_CKXMSN>)YA5md|7!142nC zm(Mg?Z?^P8u?q`4v3nD^%eiETN=P{VSkNJ-qJk#iaT?v~a(A>-MSbB`Q&W4lV*I<| zZQAgAJMh`?{q>}f*JT&1|NTy$P{CBR;JuG4Gf;<5K3yoKgyJf3SKj6liXbGKgi zf~0t)VudxwK)~f1b48gJ%}N*h@$oU>&HVxNi}OqBi3XMXK7p7@+GL?qSZi%*mbv@F`t8Yo<`q$t6IG_1XyIkM%&VV`>`zh?VC;`@2~fgB!^K|rFDD~HlKT! zdFKqg-dBX}j++rAK`-F{UgtnJK#!2~^5O!~{>Wl8zuB;FXp=MCG@O{6{H8%a76y;u z0~*I5G|<(ZjGTka84=hpe-Pqo7ykF| z-t6ujJQNCR{(5)hbDV7rcP}qu0_lD-J2smya0_&m|4c))GTUG~VXB0*wE6wY_2Ehd1E?asd;J+PkTj9b0 z^&;uz#a-aD5C4As?~{cS{|hq7*Es6}-w2e=`4tz+FDJd?EsU`f6EfS74|QPE?WVX9 z&xpku^uO=&!3W1d@dWzs8EI)2nWj$DO}fU$i2%s(2V4z@Bd#@DPBVQF0atMU-{yID z5y~P@u75syP)k}{F*n;CM>36r=%#)->d)-iwc#fUJ!Oqp*ZQ{M{6;o&2!@1!Fk!{r z@{6IzmMceh>)NXR63=tyR&G8Sd13Gm9W}{$0dyh=0_A%L`1T>9ph&y8H0p03O-N1c z{QarA$!iWth>kuS`F1ZQ^j|MJ?V)(Ql8cFn6)oH8w~12UD29cHi&km;ozZz{yB^j) zX-6jF@3ah5uUW3FuWuLl3Sbwh9FKI(GC368}XY=bCU~_x|0yJ#wh?^T1cJ21kE>eKF z_V)I|UL7Od_3ckwGAv({n#{%{Y2jJtFCDp9S?4RhkF*CHHAG64HrY!be(8o2TpfUd zg0h(H!CJv;-fnZ;bh!off&V}^Dbfw+=j6ov_U#*SjkUTu20lLi<;Iscdc%G==T=>2F6$k~xHmS2*)ub)(;q@?af{zlrpqM1ew&S=|} zLeJUr1g*F*SqyVFoPHiiQOQ#;!1MUE{i^HWCUhuw!k>@1t+zo39=Mb-B>`?j51QR@ zz?#UD-dMvqvrAO7@P5X_nVrVDIE(doJ?|_YlsP)?uY9eBI9rG z%_)D5qg`5M0Aoa4?8Pqq_7JPq9y5dgTZ1Gbn`Z1|hkeNiJn&C<+uMv$lW%79Tc7~G z)aM7XD1kdls?M$_%i|_`*^O(uE5g%$GI#SZ2{ey#bfH(cZqg{_J z)(v0VlMdTG3xWsrcMvCgGH5zI_ZTju_2v9NZvE-#==T2MTtLPCw|CJ;u_U31vfN6Z zkgk_@KNDq_V?ItQ0*`QiiZ`gEY*PEKzxGw+u0Q$N>U?e|lV#4@?8MwyS9n8h;bP`` zZ21-l99V-5Xxk}Zo0JpqvQ7YsMw4AgW+_nHwCOFN{;?G!P0@vbC=Aw-y{_v=#*dde z_27@(;Y$X?Km`_92&+v0smzorJ|-rV?mq2=StPi|MV_v`5{NNW00n$%dfGYqZpn@d z;6!zG^_nas=gN-Mv@*)_-V)}E>7Qi-Mcb! zjx0Agt&A+<8xO;=%?Agz)?!H?47V(^`S`!8U-T_**QU;*#9Kj07$LgdQb?B0C@l+{vF z(j0NlFZ+)h=NB(b3=N6a$F_8KIw5ua55oT|gy14*$jdLXxeUlcIoch$z?Tp1L5N^; z^)DlF$B^IUTy{00*PWmHTXU^LetVMFXwYv;`hqpuuQDH=oIrvx8+L~QN-W#(-^)Rw zFZEjb?ZKa3mhYeRRS)U&W)dl}UV9?S3I*nF0c_XslTCHpWWlSO5vI8FoWH3#7dhkm z1K-G*nUVeahygLw>GxQ@`XfXEL@oaB^8<~DD1Llg%Anf=K0Q4hxiFW*8oAx+H$u9c z<TkQq1L!?!G=q6mIv8m$8$T zQ%m`qI@2h;0T&ytRy7Jx3>pST=+u;)g@whu_Mrdt<}U!}TI_Y~ zH>ZiR_}nYx6DDyZTy;9a5pl$rGY>A;Tj0KY83Uf4uw0{E+TFcj??_BQ5PMPxA}%j4 z?+kclFDWTub=u;+Tx)`~o-1g3bGY8_Bg>rDf4@e^VA7BH_x$gZV&MRFHJ@O{h7_6}B-sfmxu*GxR%Vgu=|Cccrv<7x}5o*`PBx7Kg=b ztQ>g(L65LjR#%7ovU!N*`nB?M4+Zcbu=DYQ zdn`6nv%k>Suf&EuUSt39@bd`3+cQ_uv9aQEatI&~ej*^TP;GiM!nt{QaoyeghlhtZ ze-=umQGl$MdS7oR$xu$r&H{azx-L*BMDxylJd+y<=%<57lAvACPMbZ>@W{x_xS4?g zp`5&Ya$zA$wee-&W^(}=8XEAoGKz}fdUaAkL0@MJgb@3Tu9IM-9RWC*SHd%yP6eq; z(^U0)+)+CrSZ&F!l`r5z+N#SG2{?b&eNb z*fF1mPF7aVA*${OFT%Eid)N&0pGw*TQaQfSX8-y;m&FFz(EpeI_-8g`h9#TJt_Yy> z&2Dywz=Bh0luN3r;PVB%BQ)qGfdm(8)wo`5@%>j*7hfb*Pq+I7Qc_b@Ra6FZr(7(J zfLacPMfvZuR#w#4we*aPNTD!aLJXLtRaMb|tj=3S;%^IrNUyfKT6FuXs}XX!9Yd79 zLn|;8k49s# zIjphfeGSA1HXJwf{v8g~X{e>H;PaMyr`r)iz41T-pbmDo{jbOLo%^68OfSFwAfuy$ z2Q(k(<$2(rqf`wb+RGQt&dyHPTWFe_n_cFFo=ItFU;&lWvMKzu?O0a;45>x7_`q4_ z&pc>ZSbnt3eT@aQQb|R{IP;gM4FFwsu}y*lmycJgzubHom7v|5!e3=u=vH(vGb=e= z^kjpBhi4PO`rTr!j9Aev9*K-AP#~ z%3|0s{jwD{cl*iATwd*8tL{_y(&o-UUx0rHT6?6^@9zJC0H!`D#l>E^tCc!^HuG^L zkLzuslexkl3+3{zM^ji9*47l<+}P^hmBvD#5$C(ytz{_DAFh5A0C%fhZvYxfp^|3> z<~a>b&An{vf}z20kggA>stVcc(AKkgLqKI9r%r|ef$jqed}4Z9{6_-O?I?z_$>;kk z5YdozVPFIhjA*&q-qWV@kGJcA9cu2J{t6;bpzH|w+`{H?u(0+W-8j+*3`CKo26r;CQFs7K1b==MZatsLH~k!->!OiJx)>S z>FH~~nkOEgpWD?uLIu+l_(1qSUE1FE;NsV|iJF>{f%eeh;5IlQFXy-i8QSw)tM;dP z3ct}f1V3NzB&MX~Ds`Tp17_vb!?Bp7Y@yCO5Mzn*HoUsTe`K=;=RXURWr{mGHdfr+ zjLx5r%$^J=T-LwbLQ$LBrGy1U>F3xJ%Pq{KA(7Mjr#D_sxSdGw*i)`kK!Vy)ok8mhq#Ok z-2VQ)k5q=cA3RuFTN{vZQ45Q*krS{%6V|o1O+^I-30YbAxd}T?d`v7XGBUCuYDkB~ zV?borJhsBJaq8FugTViCR_aXI(PT$?q;-?aBcHYDndtiJE`1;wwk(nllQd| zSg-^+Fx?$FD#c4tEG#UzJf3S-F5AhJt8sF1?cE(s%P1+019$)qhQneMCP5CaxCr<} zB0ylxEiJ_wAo|;*Oym8AfzRRVfq%0*&WOp$$yosXg54^dj%f239nA5tjMKQB!T!8@; z)*qbKn%GW`1pcjT=RIgYA9k=4oX)oh?>iaD=d;Bh-(iDm9v=T}t{y3t&~PVj;}?Er z3@od&6OSJK&hGZ_w^7_C5pRi3w>dsOCI_aAe11>%8vlR*!T;zASr`ieni3rz1pHtk zKm+ZllX0{oy~s(j5^0JHh}VfDHx*3iDh&kS)n$O3uVgJnpiTY5$DR}aXEq0{dYgVM0i1phCjt4cZ;p^)PXbi5Vvx>Ej~a7YXczR0??-~qhU8Demo2?68U_-p1AG~ zf@^4K+#D%nv4RtDI|KvX;OVc@CaW2Iu>VX&a&qz_wW^=n`KhTR{*=tjAZCE45mHi8 zesYG^E_1Q7r)UfRZnedTK*9?FW}SVYfW0n8*@j30AJF2YN)?Y+w|(qU03Qu7IA8#s zucEIXdwOaEfaE@a+<Muc8ApdJ-7M2d(IRHOQheDuPvlU+6@8@3c@`}Ix$AV_TAL}rkMZIV<=q4w)>mkkK zT5JQi)bh=^?(_PSvm75a|JCYn zA{o$iZGLx3Sy%wnmi1e3T*CW|NUag`R{e>=VrX>P6Z`Lg02NC+I4~v<3juFxWmQQ< zMn)clqI?yxu%Kk;-~hTAJg1@w@RWKVSM*JEu~~X=AOL5VHbzWb9CF(qbS?BBSI{yr zhy(iVKaBqS*Khl+JxPkWFe4-4KaIQEU@Q%cOm_D6z{AMoj?&CSH0jfSXLa=3L0%#Q z$=;3U*%mP|Aq@!$Q86}lt{C^<8-{+rFZ?GVAp!N^Cqx2q29WW~>cD3>03Rxt;lLLC ziUs~xd@bIfTAikle>>amVz}{A4(rX(fZ`DM@!{2=Psd9QIA5a6<8y~GH8rhlXy8%j z`Fz{?=ky5Nf4k-!K)QQ?JE=9@A|2Yt4a~#Xphy*Ubx2TzDQUW#Z;x4# zZd;C}E@0}jB8}8YNJ~hF)GU|O*CV4xkN%X+tO0E9_6tS5(@QpX_U4(l6Toj5U#&Nk z+%eYGjefm9N&TkypQawKtg5;N!8cyG7};HF(-0Ung2=ZE{~L(fzl%c{M^jv$^V25F zh^S)z=kEW}q6Ve5HJ+8*;sXX2P^W3r6T+)Q3tS9^Pgbxin?8>icm z%eAR4wx*`0Rcohv-yIhG4MRh(m{<0Hv+!30y-tX`;1f?c6$nspN=ru$mmpzHtP z=_{bB_`bF;f=IVWBSUk&w_saEWYg9t+zyAbN6YIpQ&*^LN^i*xGTo!O2yKxY` zw(81a?0POEGpk##bEUe?G&VzQ{``SY;ddRTFU!AM{OfJ(JVdQGK-2n1y;|%F#UeqCG;TwyG88MP)N0cymb0Mu1)wB=R9--w#i@+u zkcs!RFh7;t0F~TTTmzd(Uho#+m-h|c&i&cRZ~H7=(pYVxnM(hVhS3Fa8+38g6gFJQ zU#NAaZy(UnrW4Fb zB>Ad%>ZtL#ZAY76=?>oi(6^>ZM*@Alk|ZY=$KOSQugI|qw1$JGv{n*UL$i~ou?TBY zE>1hoZTb%0YHRmz+$i6>-pct(%f!^Xwegneq3KY%JgP7f66Cw&_rro&y9V!U!Ik=M z4s4}^!#>tFbEie3D$vua7(@t%O0;%u6QWkSN~ecYnsX%e8=@!6F_e?|77k#lhDsPp zDOw$hxff1IzmBduO#jv-G(Plc_fPJr1@6VHJC}PH zzqZ>{FQ6v>i2d><5cF+i^z`&ED6Ij&A{kC>0OkwRrZX_!SWOjm)Vm#h)RRycNsftW z?(FE$5c+izPdD(cC%JfdZgJB!XZ6z@RB++wHJ86SO-=7VxEeZ8YBz&bopb7F=7oM^ zBW`D4kg4~^2XF>j317VcN!DHT)yD^cNHw(Vil*LwJJT1>(&mGN{I81|(%+q}WFw1A z>w?CyE-Fv9h9t#X$E8zTo#r&l4XC4Gq0UGLw-B zHMe=h$vP~yE>SbhhBZdZTCe!A)iUYPCx`vYglfsJ>h6Ujc9Dx(vEFLiMoD3XUt|LmJT1s|YKr{iK=N`yzPPFF z-LtCcTF|^=Q3;ZOIT~uGbe*TsTo$yNWY+CvzFvCxlnA3-JbW@j;=l)Su>Bin4D6nMq-0m02 zY~7N^diQ&`RLum&Z9sH-C{_itMm&f+TkzD1#C4^?Y+;48*Za!%FXKD;<96X0F41$Ws4i$n9V) zHr?H@4yN)Uhkax7IJE}L_BQ|p#KBbQvcDK9^NGP=BJUmi)5*!n5?}O`m3>*Xs(z0t zib#TyNf+FIX^n|w*DBPb!e zF^wR_!0^f6-AlJT;ajQVCh@G1-=GXSUj9?;v5`7&1K9~Zmak(sd_E+74kep=dqm+0e6dr zkB=0fb*;-C;gVmP4BAiy&wu;FNDDwHzz^MC?y#0HhXc-u)M~PzrT5Eo9V4GKAq(RC z)18P~CoNfF%{RpYTdr%yO9?wh&(Q6IjeivG?BJYOD$2A5?r!Z^)-TF=efJWi**Xh6 z*bd#Fm^if#hfdA&FE1>;1o?D@BtZcK^ZLLcDDu#^R!;d4V zgvj(f5ALhScYtXe=2%k&-QX%`582zpuOvSP!-VhiB{eii)7{od>u*ly;P&@T8$6zC zH@H6pvpJ9^v;$W0-(KB5!4^A`FE${aQP$ShYFu{7h+k-j0G!~Fq@*MoE^b%eyZqF{ zPhdE(V!%e#clppE;|^G~J1uc>|INdr!^3|7!akB??W%_MX38Jrzb|YBVCJR@dEyMB z`caC8;@D2VX}!?gIls}^PVQyZ7y11{+fO@ITZP7s^YJ|GyDg?Q+`B6>DVlxblqWPi zEmd1K(J*}VVR5=0F{c`%hhMHK}mN(m_`!{zo+^-{z8-q#1x)^klBWw z%fZs35OBdl{Of)a4f%X~dJTq`^VLs^C16PNJeg3-c!~k0)%yrz6O%t+Llf$FgHF>P z^z@7QTwT=)>4K!vQ53I0k( zM}SZ9_WgTJuO9%n0~m6muopjc4u;^c>1lPat-yiCPme?(4v)eRBrlH*h*7izaZ!Eg z6k|{>)ho>LL4yTm%@XSw4gi_)>%@UrUSMaqHVy5Rf>he|NyE989{YW5y* z?I8mD^@M80x*gY@h9iaFI<)pj!e)ktiM3Q#`%Z$&q#*rCT>Elg&nVQd;0BELG<^Fb|;k11uMVF3TmvB;F{0*=kEFVL=z|_z8PDJnd~n2<(-2* zZ)2gS(bif61QVRq`!J3D58%C&Krqn;lmq%)WY9q~GOj*Ynce;U?eItc)U!&o006dT za85@)(*1}8K;e&oXo8==;LY(E{1EM+zXZsCH|h8QC{@<39Mge={FGWi#)OolSJ972 zuzRlM+&{9cX_~pt^3#SQPs6Q#`A*L;AKiXEnWt86M|I%3FJmLFqSxK-03=nzvc2-` za=~P5{yk3%%A_(F=wWgJoRpo(+*ZTW(`Xqpe?9}){Qtuq(K}PcPXMD)T3QNVml6$A zU0o_L%>oiI@VQzM0s%T#FyI^>9RUKu7ofxkQ>zYq;4lN6h@Zdz$nda!=kWgk5>5t4 z!IaIq23<#$w0o6#yz@J;C(->3Vto#T@w}jfm|FcoI#L%W-T9idef<&`u>XPfOMiPj z7Yvg~pdC<1ed!Ah4id7+&Ncq*oE#(2e!&~@Uomup2@@{0&N~37*>^}%*~{*aH<*N-d=ita`gW0muwSjWfSM_^UuWmD}Tll zV0jn+O#~;?C;%LRZUKlKSX$9WAg)M&N#qzE0W84p+fQN@os1cccpzHPEF^vxpASCq zyk+7Ag+EQ3yb@}qAO#1RZ=4ue$9^wrjx1(d z^G=Zc?rqZcH$TqXZcgb_{n_#&LCT*~1JyUnd$q+k3!pqV11u{Q!_l};<_inJO8{q~ z(a^~jkz{6CTC(xCcji$0yRXmh_pjvc{hPKXyu`6gKf<~fY9~n=h-qd{F)g1}(0%<2 z(+rW3G!-s?uT#Nr7_vh6Cr+neRmh=ZHO&S5Mk8MGe)dW-6smss<$qJdjGzHF7FK}6 zCT-Kti1l`kO{d!TZ-PjIS^(Tx>UHI!-Q=An5}6L#{=>t=53Akyx4flsf*y?1j_due zfKGrU=#_~H{ps#pFo1o^4~1x+IXlIrfBqZ*cJWaZ#0amGwY~(tf}>iiUqF5)|^>SU$CX^BN4_SUa$G|AT;0MH%IGe%N#`{+;I4Kke5!tOKe(`TqSBo$a$M6EIiz;iw<-I zQh)>m!lZtIpX_9jEEM)=HhFwKPhG!4-vefhIcNX^2`CDn!2cZuWO=xrmn0 zk+gNx&6w#VwN1dBzdReIA zwD@3qSC|QMeR@^B$Q;oxFLgG`hjHaHT;niU$x&VS{ljG<3L%y0aMr#&LyeXlG46oz zzYeY2e4Jf2oD!0G>I7c~Rm5pLj*YMl8wxUFJ5u&RF^Te1G9_i7U^6T1YmL4Lx4e!Am#kg;W4X9F><=S zJ9Fsa@Y%JRcYkv9Nsusfg0stNA0&jYR>Lye_R#Lka3v12!K3<}F4LE)niu0wmj_a6 zMX+^-f+<)F2>7s&&0dksVE>(o?q7V+Y;^1}G$XqkNev33-)Y$K1#>NKP41yJ7s4z` zdHT>`N9ea6#P>j(PkJTv&WQcD3-Ktqa(^wZx%Yn6(DhhfW6~q@6rN^UrAeaDn>GId z@BESA<%B~(&a#ZR|C1}m+t~SJ-+23@-SzD;pA+tj&IGqJ(3aU2%ID&N2Za&nmw*LS z3f?!D|4scs#{vey;c7cQ7}EtzeOtyWf9S*MUk!K`hg*^YjdCDwV~1`%VXZBUNduN| zC;(%rOGb9Wk{cj{a3e+|9#rvEF=y;x?Mr<8H-OQA9+5k113acg5lHxlToS;c?}7e# z8RirLSECFDPaunKxL*jm+CWePK_3Vc=AgX=_}70lIyk67(`#X20jPoQ-riQ2+XllR zyh^~L>Ix-f1lNU6N*W477Jvs}SOiK<;{7DRlT~OICbdsfTf2u2yy&?qlP_hYw=XmZ z3S56;cr?hC62DZ};Hh;X_dAh8%T2GORPtJgEyTb(aL3>RNiB{CrmlF)SsLvoR(5L38kJy7-8fCRqT zV5*17;`95i(B^O^3AZKD`d}LTi4o0;A~ykWOY=XS5dhfF|Fz+^utm%;AQ0}Se?v9O zO*1{t_TW(vOfAtsXo(62-*uz4878~V2-3~DYF0(uVTzYj2v~;+4>n*a%vIZUfmQww zu;WJ+x{aQs%zeu_U%gvbd!SGDyR+Qjd#ISi%*{Z63$~ix+3~ScfleJvesPws&4N*s z%KO{^ei}(hNv{Rk!RNUC8;ru&9#rm|G=Mptv34ALZ!fd(Frm7TKKS}u{^n>VWRBu1kS3k>!?0BoLRLH2ZgV(iO6GP8bi?%?u~^JotB z+`$>muQlTJuId9s%>87x>pdxBipXO{^b(ey0Cn_#)DLfze;#1x5X2wX(UMkFsbeU{ zKzBE;5ZpC_&spQNMQ{ozchD6La{)f(qkofH?psg`GMy5 zO0ZYZaB!sFy?Y3Nn=vsCh@~GBR~krVJ{&AdUJu<}a^ar z5$l9&8peA=Z$rDE&wbY~`4E2ocEkwDCk0a|2;M14@g*}FNT8vACmCJ4H)((Rc`z(d zYcM!|DMX-3{&8aCau#u2##tf1bkR4cB+bv@#LU(ky*g?$5T4p4q&0`7in3k)wI@ABUt^m9on0|9*t z054#&=foPke)12R27ICj=o1>a{{R;OkB80c(&_l`3?UG2e%!5``T%N`rq|HP&J^XW z^{+hBEli&JC~Nfv`U}VRheoVR@8e`V;>6UB8tG1Ofo{jFH?x(Sm?2O-fTk@OuWbm=F0)UU4m|GxSFWrTxUxK0nt8>b8Cz zKgVQebGy7pXjz6n1`ogh#A!!O1dm1M+msS_grAbMMp9G32HQib^R?=*8lt{Myz#-Y?y#+3qL z2h0%HL9Y9#ZEPQ5ofiRtAE>^^`%BaSe>w;4`ahtC)CUMN+!g_PvDS4zs!*%i&qO0T zJKN`n1!v_eTl`11@quygKJ}pd(vAX0HB2x8y7>Vt9t<+Dj-LY6COy5u({Se zBM|U&165rVaE!o66AbOnRj&YnAkh6Wz;6H$%6}EIbOb=Tg94vx^u1VZkAZ%uqoV`V zhLGs!V8D{R&tJ0u+#Uc4J3z_$2TSw;EC$d*Al|z6sNs=OPym{gHPWp~TZLVAWJ7ws zqS?RvDQE9e-s*j>uQs7DSFE(N>IyHc{|?C)a62no@x)ZowKcAP=;L60YgAc*UqxK3 zBX`5HQlh0=ZS%YwtJJc|#&V33WYKW-z zq)&4R7#ey_osikx27_isybK%7`r4wwQ9Jv0xO0i!Z8;511(p9Mby2_hRObO&jwmEL zJcx(iLt9jye0Hg=N)?hu{)NizY%o&RX(wO8xXZM>uV&CvLLw-u>W59gJUC7gmD@(1 zvz+|!DXqUJ;JWMR=3Q-p%q*Dc8opvH>Ssp1>9;obBC95^=h;1aB4onn zx5tw@DPM3!uJMW+PRUOH&iMcM!GHqYzi$9q0ocj_mmpZ61T>OB@d+M!I}iW>j?^EN z+2s*w>iY;3U}*yDLh98kr2RzyPuW%fI^Fz{*6G>-KGg=m0yZH30_SPU7d3Tt^Y@Fu z*6|A zXg7=89^g{E{D6R&b6D^I6X~9H_ERJZf0&-s&(1Df>@Plb+;V)bBLz#@q zaaEoML+epy$`Ul*xzuWFtvHr9GFn!2?^;g@qj*dEgB$8UI6_-{pU24Xezcy|CRcx^ z3;)6_uq~pvmbOJL9j9z%uerOn8);{D6qRW6=lXH#(rzTU>OU{b;;TEgwaQ7IO}q~S z1|0KooY4lfq7a8Ts62QgQzwO1K!DXKHx=3zNPOhWMMKW){kY{1$;fDel>Z~ z$5XtKirG4xNbV>9EWE|Y>3sJJ5fFr8wE6q?wSp|l(~MPjQVzxRS2|w)o10?s{rf_$ zkz!}IX#?KTJ0$*$ql`v7r_=@VC2v2nGZoWlgmCfr>?f2$k>y+xd`jd|rkZ0Xq0}(m%_a4vXv% z;63FSR%~p6dJ3Ee4}fEJ>}kk!uk98W{z_Cj)YV=RB1cG$p`__j^Y&*FCZ(|Gxk%f&*Tsga=6 zCFO($OnhXjSFfvMdG=MQK2k;eXlJbd0z}%k{EQbjwkuL445*(2f&vU;_1wlBb7>6{ zmuy_VrgF5bnejqR(H}5@pbAT|Vc6$|7kRQ9@smjI;;zg*X#T)p$!ch*J#2{Ql^xr( z0lzQwBGtEAU9If6bvaqvy$N;C^wplAwldzoi|31oLUMhgfIJd|_R@j~W-s#V|4 zZOKM0eMZbdhwD#KoiFvrHz_?RFws97D!aRm#OXh?k??uDe=OrGppg8lqw?oZwEOq( z*Z00Sn*t>j)b#^$rA%WM0f7`dfxU+KIK501AVUO?RX3T*vk6FUU0hr+(L;tA9w8KQ zU2(gN9gl$^PPevyq>l{?Xm6XB7(cJeepgB5hn#!m_y-yijNE@M1?CRdaZ5k%D|-pu z3NAH@MbA#sDWB418Xiv8yVfzeSrldu#?y@{Z{x`12pkQ{26e1^RW>emhffgU<;&>H zFF#9Vq?GaAmEj3w>@u{8uo*FWBW7hI{9*FF`gwg}eGH$YnywrqAe(k0oc3+V80C3v z6{Idw`7l8VJlt13;`s9?ICWMmS`#h7#gwP@tTczbR4>gKowy z%?kzsZs*A1Eo?NU?vboF_dfd~)qMDccM@rtGW43BOC6zENHyUcsqn@%=yX4-{LxXy z7`gU0EvDG!_Qc1Yg>p=Y@;?G1wH-#kx%GhU)37F4IwjXVJTA8=W&_uqr_7-GN^nEeY2+Wo6X`R z(x0r%z}B4b#a3%HnU_!~vveyP<#(~5f_&0`VoRNH6zR!-Z}%-SifGPcs?+=zvhMdefRK2ZMfu;FH;(4sU^3ENDnVf?~+5_~FU;!GJPn{R#kEVwAmaOCGCM1We8CQ59* zJn{8SIFW8zCY5UpN@P zlWUJk^Y|;90j#y-FP$$bMyYG5olme|#@XL{mPWvSlk4PJZXwY7Ja3qtq4xrr>rKzM zwe=bnyl#6uLtEp3}F+fl!i-o|IO=Eel=M_~V4`}o0B5S_lf zNH$7qC32R~-bE*}ZU=|_ZgRXUeuYDAt9oOsS%m<2X}ei%q{k?WlM3nO*AkjZoDqE) zf19sNrwFJ&l2=^+aC|s3u|O3%#@xBCY0A|qsvJ}1^EqCBBMAHBzpY$^x*$ix3?|o_ z3F|O_0}@B>uXY_Me?ovhmWw2!#`W)qoTY{{(V$I_HgSJEeBy|>GNz|Q9O=p!=ok_b z>TGfhs9(5GhRKuVD~eVV4zVVMo;;vse?i9NOlZ0DE+iBqIMhH%S0lW;L_YxK`N+@F zj32trjz`+c$Wr=skH`w(*GR5#e>*vzB%{D$frh2z^W!NbAsHlA%=@jX5g#=R{eV5T zn>AOoYx6_&DC1ko$S^eIr|RE_2-FUXQ`mD6{pK-!*(4s)Q0lLk2bJsVz5yIczOmx& zSwAZX9u*Vu3B9;Sh+@8}U_vos?=m2&#!JjSmmO1fJ zuI<*n0V#4;yJqq#3@%6XrjGiG4WBXJwFk15NfirSQcm<~aQ9E124~fqSPr$sai&;X z_2;e8gqXa3E}f#PmGY_-CtTaU#HdHG?#T%kA@kcmu1-x^S2g?obwi)rta7t1`T9ID zlhUeQLxm$O46IdNHElwB!wP>r+Ox$RiKK%SPG@HhKlHv|bnq_WhF+%d^E*{IqlqgM zDW%-EIC*!({j2YTQ}UrOzfgT%$JdyPFF*4|AMQEy{8%8B_BdVVOd1J55Gy5tR&{K#8Qly%YK}X0P2~<>kDh5(urI`dY;FeZTgwB_F1I)r)X?6WX?mJa&Fn zFoFjWe?yT}4hch(lnZ9-HdYzt3dF&u`I%RA_SB2_J{y-Ubz)G!G>#H#x7M(k>dfb| z6M?`v)MHV%ca(==y|#IcsP~r#4ZJ=SmW^xrZK!(;iX(UzEb?LGv`@)G&0|E7 z%GD=THPz3>{Jto4o4^ZLA^??!O*CpR4I1=uM+#$@ljs;LFpM@-&HU%nxPM%m z8Z1qVB=QX9Z32jxVS*N<425F>OG_(YWefZkr^1Oe7?|4kT1G+Q-Mh#)6)7_aEu+cy z$1D|im6v!Ky>2r9`nGa;=v!n%iC?KuGC41w)KaF+*J;IVy#8kX>s(9Lw5DFbW*919 zA3LQRvdQh7NgkG(Lu(sRr%q9}M@X3CYVW+>4 zOiAH^(U3qTuXW7ar3e0OhUTa2N`2abRhGE~6OEC@*aaKHt-pWbS;(E(7i&9?6UupR zs;skjE59a=>$=%I3|6z&wskcx3YmZ?GC1{+IbB#tBty(^lOae*zVproe}m2Pf)}fwrYkH|F*zv}#q&8c zY6>uV(Ag0_s9!qek~f%&))O)^&KZo}E@iadtVq>r>w4Ss@pni+Y0AF0_64d`LS-7x zdh<=5dokpn{%ble+Ezb&QYya!Ot;O6Lc&9gKBc#sf%+zh%Lo#mhG2zOeYRzXTW2{6 zA(APKz6^qK5%@ViL!Wj%Cu-85f}bro(Z;gNWyJ4vbz&SV6Ym;~oKW(1$P8-PT|fFY z<|UglN`PwEc9s3dT@u1}DE@*#T%K^{43X`T%zsiVAAHU%?qZ7s71~7`gX<}Kq08xE zD!Tuo`#E#l7eAG{8$Qnuik$Kaxe|V<`5g$K2vxr8eaWfk?BL6*55LTbJVwV1k{t_h zOgIc3pL&qNJDNd1K#3o#FV;gpWK}CcmuTBbV~WgHqG$J68)99dZ&3+FF&oq|r;2Vv zMKV9d@H!t_`L={VK|`>%_65v!&A*QLu4hN9UC9m)G4UxETAWeUYqm-%lpTQ6^`&Da z4(iH4@y4LH^7QGFA&K0&-gsMRFgx=hEpe*uro=_T*rMYv`B(uPskzqm0iDGV%9#QT zde2je0KPIlXzef+MN=KOlt$2cCW5c*pz=80CaHQ|sp}m%mxulPg``K83@^#Idtwu; zJlwS6DEn$Est%(%vl0*6-9J@6d@%d)L{6(}@DzuI!os0~2d5~h{%7pNtcGF?>RoCDxB%cx^%E5Y+HTJ;XQahklKH)1OY>LG_BhAZ+q}9M$^J z`FaAUuxM0CkWAK1! z>|G@^AZMWd8gH9?LU7ESjYJu=U+S-8Nc~B{*%$VME!&RwmKW5lVSV~ljwBtjfRN}= z2@AJK>8%x#-?8Eze`LL%IULCrj1n)uPM?|xiuktsCtu}LEeZ}}cXx0-7t`IE8y+)@wew*IlMHcMujR?T0TIA(gx)5NsN zPTz<5x;x!JjCa{qZ}%9kj8>&3+j|Kuqhhb0}yQl!Ux)t8>2=CPQll`pl2 zPR`v|FVyqxdvY0frHR#nY~lB!pfF3wIaQh0@*Y|fF8g-jE33XA^OJ&x`yS=vZ}GC??V^RXl2M})x2it8WH7yTJ-PZY z!7#0CIn;&nHAnsFtvZ@f?-Mqs6qNTF+xjl_$&PA3I2hH~JG$V$Gf4;KU;1=_{r)(i9IrR_) z_33c2S~XAB%xcE2LlJRxiQd|&`}Gkqe@#U|(8#i=pMi#XveQe)7VS|Bw!~o?j<;{` zl!=Df`6)K;6TDR%HtYP%(3P1D)z9WRHRZ~5%}rnwV@@&9vVUu0U*Q+^lR zyX}reK8?&+=8&nvtHF|Dpsq_c_$Fi6x-WH-8~?#=zn_AgsJ;&cVHeh)9ZSAPZ)`v2 z@sP;B{AWhoD(*kb&U7!!cE`UhX+wD`gLeMsqv7et_bI36n=;W+5lB=yG!R!yv%qp* z@w?2YXBeG}eD{QEom-L|9|4Tz@_5_##j`XeCG`lQCMu^(QI4mtLo@xaR<6FD>WelB zlT0_^_C9AS_3p#TcHR$5oP6!GnMe`xkTB6}p=crn&ApnTV;kgD*2%y!4i zaQSaoXx&`$%f3O1M!vcIy%2KdY_+&*?9uC8{WW&BA3xfLEr{sy9J&>uA|DC0QS0?T z40b!Go1e&&>AUqcP(}$}+kJGMWXHlHx=+|A%KAm!`QJkjosg#RAjqJgsHxEh4E2CY zxHk3IQJq3F$!L|EP-BWsoH?5jw`ss=dF5N5&CMkd8j~S9K9R3k&nQYG9>d`SMgNr& zn8|9wY$Wpaj}})0qD-wmfB`b3 zM1Oo7DDap`T6z&Jj#2XBnq0gBT ztONIKmySOXa(@?H(UmD_4_32qX_>j&*EqgU(tVG2la3jaB2h)|EzrbbJ0q^%yMgBMn%Q2he%zPACVZih$o8^IF+LK z1e=AfK&+DMjkNN-<6cbmhhqnx=%RQtc@9>WBlAK^mO0ge?A~PYm!&*)Rf)V>1lm>v zFRWIk()~%a;`H9gWPdjv()7^Ot!4;ynTY+uEt4y>4~?HD8cOfl%-o&UvxI+H)sSUa zphtJ&i7FEq&$F@6o-X67PF*UPX?566oV5O|Q(5|Ou&av8EOlhHbfd2&eswQ!Sg5FTqUw977&+4`UScGDL>B5WQLDL`;M|x*nHqJUXSoe4GP=BYi%QH0 z0f`2xC6wnTG}4pJyZL2$7fAbkhDlJmq&akMKF$}RvNDZ|wm-SeYyNzTitufOPIbzah!KDmdy zN-~^}iF&+k=(5{B)8~@(`>q0CWpK)QiL zigPda4-Nd2<76z^D(J_kPkNawU;U%%#>hV%8xUw825r2Rc-k z&>j3L5)EQB3;}xri=jdD0h_(c2PhwzIe;JtG&FNzdyoM1(ta7m!NEaux?N*du27>K z_4)gPW18k)S?rKax<^$v&NHeVPMaGopm9^a7n2u@+15@@BsR-BvxD-X9@Krbx z#%LGK3TGtlHN&#Wqal%%>LqVZD-i>am*mn@#HwvOr(gOI9snp`jbq}&YI zYPV!KR2l zdO$@Z$!HcUH0PYL8Pcf0fYDQd<;#2@dw}*Udq#-i`3{mh^3&v?2m}1bu|C}FY{NuO z5$K;K?mfJ(Om@Gjk(I`4s%YV@-a9(1qdx5YPpS+rZ~E8w&wi~f_#!zZ%0;LWyw7xZ z@Dal)RIpnYv^cDpE8Pe}X2LWN={Q|25c)fKV6y|+Z|z|H+VFP&O2tdhjguc1Wt+HXIHSb z3D7V={rvFYBLyJUNwAiI^;0+G9OkDEfY$OtbRML>931`?#Dm( zr*~aoxtDhn_0r{J_3-ep56A{tj)tzE-0tn)!g`EN-e*~=JR{qgT;E=(NSnku*EUwq zJ75OkP=*1eOV;=A_jN#`ei_`+E}*Pkc3|UM^v)2!Rh^FyQV=tQ51Xx zw$B7gS%q+ZJ>bekgr(=%R(qX`(uw z?Qa}TjQw%r$=6RTeftFVpWSlXrmrGhWZjmIi2Xm}KmWGFE?%VyNsgA}HRRHosZ_E? zKd}yK5AP($eYRG~dUgHCUUTa#B#BHg7nhZrAXlUqQmu5&JFOh0K6d;k)tE(j`3W&o_y%r7*91JZAcDE z#4@i93ZX?Frt$q+21V~emsCbq{$97b{ltJY)Gaz0m&*LGe_w!i2kpC2ZThuG!k8~W z??${{$kkBG3j6STUT=BZrZ2FTc|S@?(h1MA+NxiYd?dpuGs_1rA@8G< zrQaZfrsM0~wHaI&z*)_fTBv3F>pn1iz!?KBf2Vy#9}lzAhxe_u0_CUj+qVHg6v8M! zT5Y!!rO$@;?j3BtF#=Kvq zcmW(YuwhG{cOl?4ou8VX*TX4oM{EX#)R5Ctm->tK6tqCGL?I6z+E_GTFff%{FKW7V z2SI;^OO0NzH4s!Of3Wsf7F?G)tcn{5wHo*#V2V=) zHZh=6t_PW)Qg_j0+!#Q`%szN9sb!Z5Br99xpoq<>&$F#irR4tmp(4(!nm`OZ-Xoz&+*_g5*->JrBmg7myv>d}HYUSIv&rhY=yR&UdQeksm8@+EUSW-}*l6 zOu2Nmc*f?i+D#{cw28SvkMnN`x^*-*ISG8-zGBa;RfPpw5(EO4lAb3(7mr|(Ay5{< zDHVTC+_6!vL9C`Y1j3lSFUP+AS6-N&KL@H+paivTyfCfNe({n52YG@Lq-4;^w1Nv` z2U#c}6YD=~ir3jfFd(+!@QbF)iQ)+KK9CmqulVk=m_)=|5Ts5WfcygrxPO9Gz97(N zMda>C)oYWmcJXXuf3ZfYLUy4=-(&q>zaHo|4&Q+wB7&RAmFH#5}4g} zc|wu=xE@#N7|;7=M~{5N9i(u=@ed&M<98@yy6F4&@goUvsE}>lE)V?09Fd!6upSav zsA$O|mx1xL>j}u#0ltg=G=WEV2h?{+8u9EPFGuhQ>gR-&$_|c>>>#iNi;|xRh+tlN zU$0P;dwGLXg*@a+(fg1vf>Hps{=?;2zj_Woy6YhN?mSw(*6A7WM8b~*wg!RYhD6An zE8Xi+e~d$3ze+F}h(&cHi1t*C9IQHQ}kJVD|fVnVjMT8@)2LuBbP<+dO3=3yR+k zm{kZFyK^+W?N6_{9whHQsFH(bL#J%(9R#U(tMc+_iNjB>QWXNl1!iiC$gf6j`X^bp zyuLFG=61;5yqsYs=s#U*2&4X`^sk7h)%2O)PuiADiw`mcg8UiX1bHWD!js}pKU*gn z9c608X9!UK7$P5qj*mij^~w(u8WO*j8i#ifnp@j$1TC6wCzM8f|AVlDl!sL|M70y} zrs$vYkp=19T}VB{Y7$1Jm*yOt0pDqh58o%X%1Yy-%IOa)v}z>ck?HuBN!?a>%fs_b_bKG8R}RUjqL3>DzbQx{dXp=~mZfM@Rj@8A|f}gqhlUJlie6kFCNyzL6m=U1rGAzBvDqWU z?#Hv}I3)Da?T`-EWdl1|rru4rGf09BK3~}P4wj&Wd?U$um$&nar9cxW6-^as2MXd# z;GBRxK&8 zh#aW7&w*(>@`-d*Mtwa61Qs*9%`6u%LLnhaEXEiFL82>2%WLHv67+}Q7X^wl@HVgu z6l8qC_J1Rg>XOJ~Lk2r@>EFa>09iIHVTPmCf`U+;oQ}~s;qwJ3Nqy|ohD7cJVLf=Z z;{Yf%@Veh?IMYpiX@3uhZ9D9sE3M7iC~*AggGzKhS=|^2GOi-Xc?WAwL4*hdmnU4| z^T!|!0to?2%WWG@-h+e3$;s(A*tpVMWPy2k@U_7Ap8ERtgXu~uHIa=ikSNw3&f18E zP;c@Uf*m7+g9>238-l16kO9&HYu~^J$pX1@z*w@mx!FvpDCoPms0-qddB(JB&Fj0v(^pN=jnp9UNXK+aIf&#WVh;U;dc0ELiqB35~C+H&njEf;cc% z>(6;vxP5`@Q;hNrnk-tBXz(D!g=aPp;mqMNPQ-ksbN)B!uG;0@NL0H%t~b`V8s(nl zxrb|D)V~TY#C6jx>w42MP?a1kAfw-(F1iJou&-im`7SJ+T}KB}Zob@-JSt-TX@Bt1 zG_Xy@J{diZMTTj4Lo6ed&|-~0r$>Qk8)Gp+Z1XK)$r}zj9sf6RG|0mykAGN%Aa4c* zMXHdL)8R5~Vw~o&t449l58V8>!-5M+wtxFILjhpojh3cX+ir8y^-tAmNgdZ9vC+R5Yd!C}3du4E-{zCp(eBnUE zC&0#(kB{Ckq=8AFI{lEji$0wg>x{>1()W)c*l-!sGe`-eU99Gzm!&LhlgIUrT}aea z+tG*|6=d!{E18$&IyyQxc$kK(=Pq?ngW`7%vcRqtcHx{fjoBWWT_KQdSW#JN0EQXu z!5#33LqM*Nes>JbM-W|f0BpLj7IKZ&lsQlG2`g|-h=VZ)WEN#wkio8dkV=LdOLJ$p z)VPo+=;Y!;D+7Zfh|piCbw>Dr%*iLj;Re718Dlc@`yH}R*GdZkIK|sSx0gelv!K=EZ8=U?6qo|Rtg@pwm8<{El&MFPf1fYY9 z;}J`iA;(`$*RIRUgHzgTYiq$g#-Nyvr4bKTQo-CP*iH^qw)S0=uKK{^3omlm%;>bK z1m7*tUP@7qe%b~Jaik;2X=!QQ0|Ri(0Q@drBYoqOwmX;#P{oV(B8Ug$10UQkz;6Lyo$XgSVP*#wL6N@(iKr3 z@L(pGHr#2UJvnxa_u4Dn?Fu)B9xFVaV_m)IufoiKCQ7b&U#mUz$530Jkq!MsLeUNh ze->e2mY)y96QU2_a(XbkeHeM8S_tRZJ{pn_?hSQq6)L<4PTFOxqKNLgGI;<-6-`(2O+mlK2HfVTg9^r@?L!^955B9gL7$Kjb?{Qwr{Pt2~wf> zzse+hC4d_CEu*@c7hQwl>)1W2OeM5nT+IDcy~9 zcjHHgv@}SEG)RARH%OO&bhn6fcc^rObeHu1d~?qE*K#>)W*8jcd7pRhd*Ao9PlZU) z1q1|ET?C@>gv$QNH=1r`W`+jE*I-+n-MI@b+fPkQPn%>$A{)*fx^??I3uNsa9`*uC z0JPd^ORn`|N*;jaxrmKab1b=DLR6w~Jbx^qfxj+B!%ZwKpoVtCO4y?#I~XQN)_6@( zQL%dA5O!#?eQ&MwpbwYexb?!+g;`r3zy#Ttv&i9gZwA^0Gc$8vK}vQ`bzi!?uEj#HZdz^TmMEf8KtV!$|EG`XRUXIg>ylbUpm0c@O4=a+% zW-zaE-^bU{aVLDy=EOQYt}lgA{!&O%Hq5HuczOg_XhK!BwC7?;pES=|Bja@A6H_B} zGws@RNmJ(K_81MQW9eJxn2z~=&ZaP+I|&fmW#=YqZ0qz`ZAB|%1`JZp)MI;yczlBB zX^?8AeqO9;YU<7)liD{H4RBp{J}O2a5tx4_cAanJ4a~od-H9oI^VhZCZ$?KOyB?Fc zdd7aown8~oFD+E`0wt3jWFjf0HFIqQus9~ltR`qs*mvS^2s~BW2WImxKUOBa_)$v1 z@RclJn6ka3a@e*#%8bc`;I2jI{0w8$_67fj@b&}>%3~?hfXItaHeMKIM10cA?5g6O zueAqAH$pcrD#s%a-Ds(9w5#D{umZFShNF651>$r_2*BLmP#tD@Z5p| z1d$x{9N*iwpni8;a-HeiI5h%1S%7=!2i^BAMJVXiLlzEUT@{QKd9d^Y&tI%#)*etk z_`I%|K&lFA3{!Q%ec8NQn1S&M5nT5~gI@TNjAz;H9)c@D$KRUbp=@>9yE;9abY}%;jky&%tZ-^2h6UEv+sI5GT=pXV zJlng(t8d@Ga$Tn%;bn{>7EJ?1XlyCrcu-U2O}@f4m4`+3hQF|=m*K1SO4Q|hHYH!x zpcnykF8$z28)(iaZX95)B6Z0(mKJdearroKL7ESh@j7pGflioB8G@*g<5`;!Zz1w_ z>IL50veK6{U%T+M*!6Z%{ZVBFDAPmiEO!tw63u#O#1c$*ZY^}3evUe=aDEK?sJwnv zdkC5TVmo)$s56=yN;@D`>>6x41cWla1L!RYK^h+_i4VnKS{m!m3#_(>Lwl38u3&I|!gwjZu;Lv4 zUljZ+IH0us8@2ZZ5tR?b)k_!zj{v}1k;=VIRcg_gDo+UNkFKYiG+Q6Feds?Yl;Gd z>`VY9`SIhlkH|i^tgOs1M-=3lrF>>(Pl1;5AH`Z)^cJ)2JnOjQ_<92X!}`Hg$q~q0 z*MidEr2$H(=<%*KHq8nhnvuZa$f(?`NcEKrD9XsUAtW$KrFGb8}=qqfMd^o3scMoG6UE8$c zJHhY~AkNv^>)SX@ihoHt#`ROCI~kJcUN?YP_vZaoCf^wgN}h+I$htn7%ml@7<2Z(q zJ~Wj2nxZp-I==}b?)8ZUG5T0+K|~ZQ{^B+k59RBy!1@G*d=4`?^_I_!%T79CYM-Xf;P=(CjLFQ7-D8An*P)sMf2`oecJZ??jJZ1 z_6tr}{cm=#Z*83sl8mDtwt{9Folm?BB}S^X5LhMLhV01T3ukmq==8!B>Csc!6e2Cx zkn+8}^=sz~-o7M$`PD=Nuf8!-uvUtY!!%3;G?TuJ`yrvWb)C+0CV0KQL7(r3+$T?e znRu)P)=%oy1GVtKIHm7dVh(ID(MKI#9)vC3YhJeocBa50#U~@2=|D#}=S3q{{Ax=-gJ6ZE#6x11@x2pzEm~SGb$+~l; zf?$Ws5S>#tjNBTGXV3uz%}8*XWDdYr8g-TJ%^zA-@V}g<(?p zvSYkNZqOnt!oFBCbkM*9mOB0?K)$U3%p4dEyYk181UNXL$Uaeix=;o@U-@?8@(agZ z=Sky%xw$!f5pO=Xqs2LU@nD6*z8I277%c{jad=_R$W=CIB5Zjw;#ahj%|Hyt2-M!- zS>*Hn=b&n+p{beo;|CFVJY}I2%LRv42(SFU`uhAkF}}FEB0Su`zGL^iu&i%tBHB&5 z_Z0>20U!cKjU#vU3Umr>hbkGSUDwc{=fyGKE?*!er!&L5!@)AL zShW#B1BN0|k_yB|`?+nTh4u^K9>J;|ew!=)s!XLNB+rM7I=^T*wteV~OLwiuL%&nf z?(t4o(Byf`8sn>t*}E534a2h@6_z6D(P|m3Z;$iU&6vG}JX!Aq2PRqE8}A4HEfXoj zB_PDIbkfL9xRCtZaZZ+}5&SzK(wY~P(A6;72)F7N)LV*VPfwBA*+Hw;3L$8L4m`ap z#()FrAZMK!+zL?ZSD}}Mv9EeRvI7FOz_cHzwY7eEN7lx3)1cP=c#>$Y+zZQ!rgWnX znN8!vvRJSFGP_1!)2*`ZXHt!wF!i)lerdfkHywENMc=TsjzJbyR`kU@DBzWT|4v~4 z^YV{h-WOe6-8&2;f#Bzn^m;C&5B$>7Ny-U--=uAM*?#)e3k4)Q=_oK_0%uJ@f)I?q z*51t9^8EL`x8M2Vqw=UWkD{r8b9a5LJd`gJ$I2mF_(H@*Um8?7US5Jiq{^b3{@Hrd zGb@vmU`o;P+TN`DRrrQHYBWp?3Yyu6fFlHQuP~z~v8eB&LnSO<41gGfhcZ+KJQ>hY zF(c&dMnLNww6YkN#sEUM3fMGI;Hj^w8UT|!U_%4gw2g}E2=+<<&rQ^ci%xEE|C%X( zD5zTiJ?yCIL)VY1+uPfMB;rss5{?+8bhSzDV%fsimXgWerU}BCR`nb zUbworP@|+g^J(2uhKfFLy=?`$q;asx)L_*hWkbDn1&&2pXnl=@xOsp+mtp#1zxhD+ zZ=q^)GaaIis2_vF_QN8f@5Y~%>6w?^L_i{mT3g32J`%AWGammW_cW|N94);llsNmK z#9_}KBIP!hq^Nnu7`dmof@eNZ9hNb+Plo$;+p%uf@rypO6!b(L*HoK5v)7sTJz0UL zoeg>EcHC{>i}0R)IL0g z2Q3De@g!F%Kz$I`?-M@j{Z|}Rx>g-X6!5$}{vyIB-8?r4mxRT;NMqORA;SUZCd}d4 ziubi*DeO3=(5=l!1c*(rJxB@EYk;u;2pC8Lf`Zcq)pW-bfCiTj8f9N_IUWnCS8U(aHm_i5s zEtt8{%BrME#Y0>_{x+CvGwYYv)=qOgl#V6s1^e)fa!U%@tv0iTNd=(>v(9Okj0k-;sXX?(or>0jwzi=#Nw|a(Q(0UHDw4KDnzqC@k6vN@4Y~8O*uuruUH4xN!J=2C^ zHie$I9l7H{BWITMlDknrq@40|YqhJJZGk6RMCGyfkY=S;(s=4p%INe+ndptr@6SXN z)l_6_wEY%ithdc|xeH&QyH$&|25+Jcd$ONMX=EY?DpHlz6LRU2xz(~t zM7%4BaKAD1IDESvcNV9LiABqB{woaXamXrHksQR8M&491X0Q2|0%~3|?w+ZfJEDPu!+_k1n1C5Q%GVbKBXK%i@e1EcZN7a(rBJy+e`{ex zSwxrD+rM(|&R*`PBlQ0H{K&W#AP=uek2!0a@&40%#5^BstzY#0K&m^YHF>+d83?e$ z%nVZb4gy&KDj5nIHBd1`L%AYagB!sl3r0iH&~R~eB@m#4>DHj`z>MsT`kwZ?mj_Ig z0UM;gu~8z~Y=ijJeUVR^A%FY{G7D&;4!0LpE}uVJAX@j0q2n*kM}jjX<4e#uEZlrF zWOFK8OsJatYVa+5ErO-MMKNN9bTDCBj4>&5r(~%|#33y!N-7`8-bJ<*b@x~m z1WE~gP~uYlnW_Q5O~GkP`hh2wLGZ1~g39Kv+5us773%Gxg?M7ap!%spNEzq(SzN90 zrLBQlyftUmO8TL_8*xM?wm~U*nVA7J+dz{q)HT~ZlElSFZA%`Z6o-ve5bex?Ajxic`UHb7-fCdCTa^Zu{#n(?nwQHt0bbKa|(Dx zBe)jA39oVxP2Zx)w1k+$p~!Yw6^B{tkolF-w37|^NF3#3TO)YAd7);CZrc*0jExD0 zrOr%%qRCCdNsTTg=XS5LFYYY#@jKZlF7HmSnWqpMHP_L{>S2~2Oehr3ZkxY@#9X{t zKOk`YhJT6Kmas)2VN%e1d@x@HMhKw3VxWZvj~#<`6hL{KSX_JsZhF|#E5O$U zZ|-=R9=>Cs%v3vW^d%))&J&D-T`a(pVV0sF0{SO0ayTH6L`1v2`r# zWS{9c0}RRm#1~jq{tRfsU6{GTR$Z2sTH4!(4sS`=*|ES##rf@FVN?@z?)jw*VA%zQ zEEbFm8QBZOu6P-0=<4}RTw-FN4E0CTmRyomFy4c?3jlpWLEs3$9io1Pz$wH^j_kTn zva+J{WV{9?=L5#4Np|o_Ccyy!B$$EPsN`f^lV{<%2EeBUTCImMt8WJ2(4`my9iYK~ zmK503;9wpguvDmb)&iJnK+!4%fxG~U7nB{4lL71K&(tZ*D1m}a3z~aWGVhaTpvDHT zRTuq!P|Q@j?rSc3?pN#zcGRb{+dH|ix4ltS{A;-#2x*ZO#E3^Cl*OdrG!;FYpiLBZ zb4^4)PyRnIL3h-~V1{k&+xM0T{uN~CRz~O5Q!*sOD1Q~rcfUB3LK8+%olWB*>j*WM zX5B>|##=&1#QTd=Gu;C1o4sASBgS9sA;=8OE|8f(wcw z!JOi(*Gb`+VkTP8Aejz4W^u?Km<^)n;YE15?!*dzZj97?PBTB=dV1uXt4>xM-yU3- z#Jx9Y=3*A3%|nf|fF^7AAPC!8ZbpwyyI1NPjj`q;#bj0|~lg2I&lHxU2vZ5W2gR9gzLOlLaFz;wD$F$0`Ua&TPF&Hw@z<7KeJAWaHv5D1WW zU7&?etmOws54@N`UquXNe6rT7Jz;7hPMb1oj+PlW7zC!;4J?r;_77h3=C+FuQhK7a;7JqB*f2oP`A^5YfkikWlyWQDC zm$z+ZS~FJq;`uX$EP>w+o`dH{VD9(d%?Ln2&wek6`GpH`{5bPuCp-)~jeA@7#gSB+ zUBf`mAWcJjD=UZBic?Z-G)|jTS}}+(jCR9ZCNoW-89I0DacFb(Q-fOMcXFsgI)#1f ziG$P91$6=>%-uu6BP?U!2FuY;&5;jMT6d7#RyAHEJZ_OOgksE}LfK$gMyyFXlfml? z!Nf1g#xp1O1mQkU;#0mNa}Qsn^v|;|6RdGd#09^$R%@&L`~GF%Mcu$F#=Q-5Ge+aO zlD;zfaVQ&WUf8ve`R~ZN)_(KMKSo)v*BE%^ikkAT0wpX_&QA<`ON?dAFgiK4!x|a8 zu8Fu_i$KJaU%I~$v=zWe@pt2nVL=J|%F0?*Xcc$)kH3mYb`E5;DFWSXv6hSOHlV9LQCt?=b2+T(!#x(A9?P zf%z3SYzAjKRmg(_(8Wy1JHev_2D5N};D8WZD+qk_0~8O~DB8-ZB>szZ0<}Ual zC!f<|^{`6{Xa^-0t4zxf>Dm)QzZ>82XR*D{KJN-yh~O(Ya6O6RFp#6n7U1_H$#ay| zjGw#u8m~@zmc}8QV z#oe||^V9HuzXV%d)Y$q z$Rz7mMjkRX3?CLuT&$ajDm!%tLExt$ASF2&M&oludGA+U_!TlW@vSt@U8WtElh_E; zM~a$yVE>p@UosY9C*6*aAKEFRJbeiD6utE||9)vm2bAURI0{K}*#!1AAwxz+M)`D6 zJ*Pn$y!tUP@Yy*!`g`_ye}CWc{-5K&2VdAU3Y-=|(p-!)x^+*WHU_Iq`z(}-u)$o) zUknZ`Jd^nw+0Buy#V|q!iJQ3-|d`dsx4CGZJ$339Xk0LO4bJ? z4B!dGL<^k+^tXqf4G!?t!&sggIG1Z|S5^#4O-+Vz8Y(KJ;>(+{p$ey6I*_;2@074c z<8d4l%N=scORIEH?l?A1PH9OfsX0hus$@Q;xZaj4p+TMtwaO-a@h;pYH!+_Xb|SPY z$buxi3uFF{?y=F&z+npw3CnQ&<*^ZHAS4%Dd{!9>X;!7M-0r?4-bp@W#gt%8&&=5B zRQ$p^^Rhp~fN70ln(Lz!t9gx58Ud0B&P+-WQqi7t;}fe(fj|A!yP(C|NDh}~9*>(s z)p%U~UE3eJYl}J_k8!8X+rKHJbTK+;I5RL0UGg>xkm7Sm;^35_zQo^CE;^2)^NYAq z8;;+IC5x6d8UFriLwHd8oE0vVnyS)jC)u@ldyJ@NZZ+xP-Z#lVwG#f;!s_V5E&Q>^ zI4ND$-JHV4syAQfX4_+nKnE~)z-EiB2CVa}9rxjU&frdaTHMQIXn8*agf|y3&FOYf z8YMOY9@K>eXa?6@A)XkJL>&P-m_FipX!kQP`FKx{pg-fdGeH3sE#wy$4_xro-*}5e z0Y5HS)`Rk~249Z_4`gBzYgsNXPb>YUS!+CDw@}$C0?eBYrm$V0YGMO>1`ZaQ(9;Wz z!QKs+%@O7t0|@29ib3GGRMF4~{tYeDG6826wsI3(bf>^QYz%W`N&5{B@s=%ni4YsL zkH*a1+%&hA6H^Tj!Ssea(2(@UkZ=-zf+W1(aWG09j3EmX({}9@Y>;FbgPfnsjPN;lPkk*f~Me((KTG3azjNlyC ztDG{6i7o}_EH55vGG%D)AvG;tSm6`~8AwG&$?r$~PODjwT`BsYhrMO|*Kt#OGpTJw zbqOl8oz~W`-C)MU5fthjiTg}DH0y6m)>?qA10qd^N(+9PTjIPd-8tF|fZ6^Lon zTG%YHz7#@IF!mfa{{0bhA#D<$xkLD#yMH1cf{oQ$`#J&*`tEDKwtOzOz%S=rcUQ1W zdkp#rMi)d_4CcJ|Z?vUJ{*BwalDkiZ|ADvb5$FV-EWXyfZ8kW17NdWc!u0qHC@EEV zST64*?GW~Sitjoi-9y#>Ex(Dz!<2Y%-F%vI16w$!W$LQZUj&LbFC7(N7=Q^a_?0qj zMqW_MLc5#>B|dq&&7CrW&;Q5vvrvMRL|MLB|P(@R>90oXPB*@-OVrxG3F$NefnG zfxF2OY*zrT4A`nx;LmvSF?b8@0Vby?m3%4V{XZ43i74nR9Dxi%DJbaG(O(~*5uR-t z(VVS$fYn6Q^ae+A#$T)H0S9RYY8mEAUGaQRAU#io3z9#JjYe^1_!JyU>WN&YRn-R; zz@-*UrTlrp9>XGdQ^2p7*BWciIN1Zsv{;pR)h0S|$l_3ZGB1TT<_U#rVo3gZi&2qT zG(JyeX;8+C;GBT= z51`(Rz&!%S;2yW*>VWw;@R!1P(?Gid##U2>YOrCV5u`W7p@E15 z-nww0Pap$hE{9R>8FFAc*eEP4L_BrZb0;SJ^cvwg_>{284)8f+8JS$-mxFl`Ecyfs zYj}Ek=31pwjBrnwm@}DBdfgp1ovsF=7cSb5rgOs!_<|`saDr3=Timl5b}%w$Wo6yv zjO{lm)yZLT2ly^1$2&4`gxgyiHovVo@ZE-Er1H0;Mj(AMjxb_NNAON=M6vxhh;EE(mvyOpdxw(+)5&4({6 zT4l+-NaL+J?gZVi27hF`%=7Bk<+;gUqsBT9KgIz5!Bz=Q-9vXI`D&JQ5PtY=^r7VP zW|jz#u+r@DyBWHnzebhHOPX9SQ}?oKo!ZmD8lv&hGqa4~^N8ke7dhIb zc4fL{5AiYDKFjICMZ3L{X9UrUb;wopQ$6L!YA9Bxd*eSuJvKTHZmh1B*STmH<5p8} zfE-H<#lo0&agi5z-V%|TWN_!Je75G~4(1duSF4bXFH_0Sq^08pnWD_b+Yi7XoVb90Lg9fLarj;qR6(){uY%_Q z^ztLH={)pwnrerDYMlvpLm>XZvHXwll1a6cWoX{YtIbpb5Zbua1#Lmn!NI}P{`pNa z;|eu%5RO^r)Rd~w&EdD%rq8U)LSDF-oq;yMvWYL`&c@sM*}{SjmcvP#E;50>`;7kR z`HyYgN};jUz7K@zyV0QwVA=j|s z0QT7$Ns7XwyYa$7LA=srmjT)S{S-0*$>R_JLGhJoBB&$Qe%qG~jhvp5yp0WFtQ)}B zht@iDy(~_JAfDWYE}h+mi-257HBk{!jA+EtSSFk{Y7c6nSl(sJk`#OmWlqH?LkH5-Ehzq zHyu?^5v{5yej4#;Q0xgNxZy zxfeg`3e{o#Na9vc()hJxJ~TvlF08-R&n|E&zk4m3oKZ9?U@{Azoii-p6vbVRni>o1 zBZ)W8rM5CpXX4DKC4%Y_C_YaG5uM0TV5zliI%zAju&=DwBo`tf$%*Gr!=Zw*`g$%| zo8t6LBNe7pDLTN|4hXG%VNgseHt4btf`EX677>kX z7l^n8-E9gIH`@=q{}tN(;rC(^?sEl+ckYZ&T+gYo!aiyZS&h-MqMI@lY)X)iQ^wHP zJB|9XN@VTIlB2)gXoy9A;E?2+buL_2uf4Q*vWQpYDPoSaJ>!FF-fc@<8J0epLd16* z3@~eDpX`&jXQ2mPjXtxd%n`J!-v&4~WX^_KPx~Z!JTg!GGmpzY6!vpQTi4Fmgvb;{ z@L^Cif%k;_IQsI#sF!bHi|=w>&?i(KgpkpGL5!dq?|3WBv*E_;8_K2D>qru;`?xr& zw+_30w9k55f_hufyVnqWKJUX3Zt^`ATo@%LtzJDL%t9S9{z`qf4n@pW)T}WGUxk00 zT=djw7@sh;(lfO?a`9L z?cOVU>xwdxrYD|qMmcoK9Aou=?1?MUa0}G30mEBZP8;O_QZx-)%98VNU{N?$rC}4> zTMcE#?{R^$L=Y?0_mrRO4wUjoCRLZ%SoY9rkV9i2*7^Fc8t^C0_R28#JoGO7! zI{7bKx}&MbUPIpPG;*ePnyZ`pn7nG6ocUycqP8SeB^Mn#j>V1ld2s|^lqTPg*86s$ zF@{L;GzvNMo3aWgJBWlt9-B92!oU?C5p=NQN^o?}tSa#*tD0lWDBr5#H)h6WsU}7u z<4!5ui5W%b$I)NzbB`3;oIju*#xqPa=^|}1USdfMG8aPT!BGR-)U6XQLzCM`Rpwr9 z^L$~br~fv0^YYhe^8k-_i0*Ve#{7N=+ymlC*X=FYP4UjHCgkTE@dVv#tt|BL_@gxk!!_&lKe`lv&Uc) zJ+_0l8U82}W07ANUx*Z+cg6px&SQXNGBe7w*Kb~V!@*o0U*sEWt+<-MNlu@!vkZM% zEy3HIm(opL@mc81wsi$6;>$Uvok6(JU*HP;&l>cKujn~Rv{djSXUg!GGjdoa1Gdcz z@VoV^BObVC{ol6P>Ln)ze%94xdWumfh7gPMu(I9N@?s~+YQ0Y5-K80_sgFZN7dO@r zx1u1zJY$mkoe<;cEMUe{<-l;n8rfQh%$}8#>b9p%o#>WFjE1D;GiwV?@TH(FYCRR( z_Al(#@DNhWlN*-Q)K(v13Ld>lf;=}U!Hs^W#E~H}tgsqA8aT3?QlDN2vZ>Ta08{cnswjv(eUr8xc4ou3H|a_-waPiOX@6gJyp`La1fAX6}h-%x#cN+ z7E5qqbN77nBA@C6eczw13F&c75m7)v!4dAr7DZ62KTe;V!oE1bcKQyRubCyr=J<1f zz8C8ck${%p+7Gq7)z(M0Jz7%Cyug1Ben5S$euKl3N!wgswm<-{c9^9btf%r3*V5L| z@AuEPQ@FSxhp+ZDbs~8OVw8qVQ*z2N?>uxX$SYjr@?9`=c~nzB!BPl`rZ{id+Kb&13LvS81!?!Lv41|e~&HWJMiihXIxxRKGn zyRoEf`y->IIKvTIu}Q~M)f_9Uih}ND-}3dxRJNIzMT&=Qk{hbPV%cVe{cYfjw_x#jnjXhqhDzL|7#sfm z&I$9wF_|R6k4U!c2o;+1$RyVsiaugPm+A+nP=LmBSFs+!l$sbghb|n1ZupNm=GPyc zTSW%ySXYrKjwPSk5)#GtqlBC{JV9@ zEm^xGOU*cv#KIvVsKw<3g;1?f##AA9evP*_Shj3=WKxyCW@L?R45RX*h~H6MFBvBupI-m_w#LKV!+3S~f>)U)LyE;J$e<_93{P!ocxu5X+Bq0? zNB*2WSuog4VW7|HgXR$N`8cjo;%FmKeNvhh-r0uy&jrL}B8$d`LWQ#>%MJ0?D)~{$EZD&$@s4Va>0^&PcaKu#pnP_#x`&?pA1fZo zm!lYO{t#I3S86s}ww@Rov>CMcQZ}d?;BN+l@?rB-*bq9#GHjfmMT+ZT+WjB{EqGaG z*6pfB5!c!q;9s9JYA#P0YkOC-lE^`TUN6T+q%_2Wb=udio&CY7b-c{h&Bv5D)rXZ~ zI-XJ}C+QAbEf32fC5vE<_GN0{ZhgqXU zlDOjA6}<6h_$SppM}3BQuR*7~{*)92v7wAu;hiyY6o0$u#F0Q48nazLHcrFZFn6x2 z)f;cBR26jUOgwuk^=e~#mK@dXH@9qYpMBk2)C*|D2PWEI)C2!}?T(y%z|`L`R6NV|hv`&>1b-{N1Ue})dJnJD#& zzoFpRrBvPxu|O{v5qSF!A^LG+>uq6G4t;RM-k=i=M5dnpn4YzYsX}f{viO5VI3&h$ zI|GkrB;;~Bj3wG{dL!8(0rFr;%hu=n6r(>C< z`fG)9^!Y6``Fu=jFYdHMk`StGk!4_uO#!78KpOr;>q_y~;$1vk-gXfIU5efKIHwck zQj)UJ7`r@lRhUdDE)JE1KjAqYbq@`BE)9lXNL;040?m%+b5(`I8B)n#kKUS)gp<)O z`IFcpbYmYaPP8Ba_OZlhn_AS)kJ;LB?7t4h#Uxaz;UDaB`_YwG&;s8QT2-N?xwH_X1af|XQ6~9QrB;sFCNdSm_Ez)xMBylpCQ=0Z?Q%Q zrpvu&z-dZzJNwWB%}xT7koKs3#ZXD>VEADHcrK@5)M=cOWh@HrKWU~^ugfXF!Ha8x zQB_O(&Vvqp=_DWOI}TpM7R6cb8`e3SKN^29%(x^-4OmNolIf?@1u<-XvA~X5W(HYgTEQ}r0=u0K=7{pev35?aRm1AeDNBPg~EY3 zVxz9G5K0RR1;NLh)J&G}4h)HiPnGB9{VaWnf<@gS=5J$Tqhdp0>H)?!g)7_J+W`4m zsm8<+aP&h}-2l39c~#HgLB`YbnzFIF=2^g^4t*Lekr7rKD_7)41};~ zu3Su0O_D6g@*JBECw27p=Jbr!*0rW;c>L*+10T7pD%KRl*;RY2FpO$Q;7iFBUa)kL z1ji_D?9Qop%HXjjxPX@R4cd$}xwCx@s%M5HTaEUqu!i!7@gm?KAQV4$3q(}8NFdOJ z=j|-rRE+PxewCh?tn8a)&cb#}qS?X4MM5^H6 zjeTn{P3xhJBxEuSdfjvL4R01!XhMD300Y4vEY;!v#?u8hBE^DaQIXF*m<<1aOC_+O zV1jE#%)+9GrafW%ek_d>2?POTbI<`-b*i{Na%=49_vdv>-uM=u! zl8_C}(RCCU-IG=}uh>j9ktO^;^T4R78h1^mmC7DfHUmQ>^(pOit1Mf_^AH>%0kVd9 zR$XE3)a}GTy;>y(WwUfChS9T=sR0&#^taOk{OIhP(H7axLm>@keMk=&Cj5K0o00;? zBQDS%lM*iV=lvmX(Yb5|^v7K3J=wbzmKF~9DX}&` z^52!jt)gP`*f%`oTAvKQbmAtLK2mdz8N>n)(DQ^4yXev!(=2Bqjx?^!@XPhfKWfcI z4tyd<*1Zu|)6MP0uQ)86rt{HX@hdm^%nd*j0`2ik_7XN0Z&RWg)~@J!&!cXYLkO+U zF4i-a?2fO6a;@NmjEDZWfwO}#P+*~SU(Dw6>6?7A2l`J)|B`j>#6h|gINeXc6DOge z0SxoTz{CdgNY;D|rs;7585b~WRW4Nq9Xnl)cK`@|12lutpK_=+FsXEc9o*=-tW)kc zXIs1c9S574ZUL&=l1w31=*-<3`dNIBLyT{)Ss55=%Lh_tu)Cz6u8xa^J-W_bXb%os zh8#qkc}@*5>qE1R@C9$^WWEiQ;P4+aNpw^4mT0c4eenoT&Li>%@BWcey1Go8^!5QK z9qpbo38%PGTIftk9QEY7RH;x7m+FA?nH61NJ>FV*9m5>LSJVF23rgmZg6086<{qY2 z2w}@pdwnIpTy`PonCkWwJ%Uf>h~aze;w2< zpKb9D+drmS24|OI2%T|#Eb=V1Zh*qe_cm5PZfi@WCtj9UX{ayh2`VqK>0CKB{a5l|Ebgldo)eR?6k7c|PTs&j9_-U-d;ZGV^Tegw*!H^K zB)uw^4A)ymb6oKFJI*I}6R z>SjR2-M_F(t}J5*dq1<07-yr7?>YXppw}{K=1D~ns8ZHKA4hcg)L^n zi0n;xwD<&uNH8)12;nGR%cG{%&c$V9pn`m0wg>RY*41Hy*UI8bLw!9ES;sA@&Z3wY z7$kIcGfoK>l6!#F2k3hfOG{Z$f`KR0qiNLdZ1lq%uzhym!H2E8wk&{~1Y2EUx$oxl zF+s<1;cFvsI%GFuEXuE@!Tw*^N>*?~tVb|bb^wd@>Fs`1etG$;8U4>Ba3Jzi^f^a1 z!4z5ll(xI197F`c{m}uWMp!aPpREA`NnoQG4!w22hw7wfdA8jsLNe(Me6?yhMoYPM zWi=AVl6}6vN~+7WV<5?nLsqVqPCDlOqL%cM{|&f!9BJ8*Af{^X?{@pp4N6wUYca z96xr==ovGK>=FWRyTsCde@6W)m@gVohnj@6ABPPeImjp38T)fUtOd5a$dW4p=x~&z zu^Yf&gB;pj*uJ~B2P_q=;6$aJn;wP3sx z!>3C_*y^Om`)yIfIK-@@@nBt*>OiV&GjmGnj5ajQ=r447l2mdf7+L~M4!HwB@u>U6 z;7^>5tw?3#ayN1Kj#0J_nI$%HL|#~2SpxdORqrZTb~}HIVz{Jhq=M4ee4rSoAhnWg z$-q>ULzW5~#Z9Q@uoIi*kpEqJ8cXe~ka?LG~8UJ;ctzH#fZHypBI0gay? zimYA}R(^2A;gNB$5^G%d(@(+p!d<`T6Nxg4Mr1mNmQg9W_O9)uk047xp4#PK_Hwjf zd~27mXcfZwxm<$C4`C?1-8k92{UVeym|T1h&&n8g_u~tK?MtE`sS1_Ou(m?(P2a;l#15CUV z5%f_}QGr)zVrmMcjHBPvoBsMdkt@yz!j#~H68G%hNxg631F$z(Ed%bt1l;GqgH+kP z{t}$Ibr3AJx(=P*<#KTc@sHO*`U%w2Zq6Wl6Ckdv3`^v5ya}rM4!9`YVz%g{LdbBb zTu>`4z=HXBPzMr0>RMVRi_MO(@H~LIM1s-0j=&?>`o-pZ?+$L`H895X1LdxzCHTGh zYTo8_ru`A8Y1z}}7LDz2@uZ8k0_21jKp0Nxzqn?|&cOX6tmCj_Kn4Z$^9#E$>@ren_+RBmgkX5G*oo@#-O(U~ffy5c+^7)pxFDdZ? zs(*P=25+j5NZfsUOJz5U?1_z7n{A+03Y@ltjG7~^z;o;8>4%FR>n$f9J+E`jGYuy{ zZskyu@LrUj?C%OXv+w--vIwvLo4KJ%d-jL6mri(`RYjx8QVhk(>o4#12&ArZ`KV>3 zi$}xjybgBwkNBFPXV4oE%R3eQS=>of)%rO4!CKJ!9~+qMeH4NR5k&CqoDxy8v$Ip> zCq{!=w56aRF?g{+M=}howM%x=V2kS;h&Twi0~?wOICtP!fGG7p?>6fGSf=-0KMjBZ z8w~Ja_m+M8Lu1W&foviy4i0mE0IN_25A+kvc{cSO491Y#S7QJC(FC;<&9~(OC?|mQ zAUuEeKjuV`AR-3fpMc7Jn4Qd9giJ?QS4CSJ1(-v?VlVJv!21Y7MpPv9_MMrJtzZo- z@LmJZkSP|W5Fn`hnwi-E8QZtwRLeDV03`$rB_LU5U=Y&+Z4t;6a2={&0%2J5kyL+R zZ3EYMeseQE;O(&!-$nTdN4H7uy!h;inVv0~7|dOUi;Mu8d=aQV7J6{}mlC#uC+f|8uU!cFcNO09ne^JWgPOdOBTLS^u|iybAI+1wP_= z4m{8+fr`zat?y;f(9?L-Qnn~s%m=Xf(bDdx!Wd$8hyL=Kb>CV3N-47bL_6_i=!RGF zqZ%_$SaZpyvw`5*e1;U^E}n2SMs1jI1?foP8>|xF^Ix%Q6lSfm8+c!1yhP00yr(DO zm5LIH9K~sC4*p@IjD*u}>^k9lWd3#GAG`2@_Bv&HWUAk`8K3h^4>*^$mX@Eh4A*{j zQjDDh*HTg>pMK1V7+;RzJN~6Zu_N^5YZgUmf73uRti{?W{EMfYpS-UV_e;luSA51w zz8CFjTQ|(7BgrS*dhj%|n{%xCy+)KE$Lqo%_Z|!;3fV?%Ub#&4M@Tr?G7msCMh>EY z;@d`b;tL`Y>7J2mHzLaa*-38E6;|fXKD|@rg^ir5;Z|95n|@(1jHT1D`e2&ss0kCg0@^m#awLZ#<% zm0qQ4dKKu=uS$}UL~QTP5xq^3)D)g>pa(Zjqna~b8W@V9wyaKmHmtoLG2!9i0T6^a zlr$t5Z$<~)K$`J{&Yqrxynu@sP&Ko%5)0CDz@v$6hTsZ946uEb+IDNeO{*D0K44zw ze!E+Q=dz;C5DZ%*=#NC|x8DM2rp+L%-Ox`4?72lsUnCyw0p5^{8_L~zE(Ff_#^c>_ z=r+udVTP9fE`^ScZrJ7@j+UOv<24LwWs&34=zRc?5XR}WAWAMcE+YyqMU9PXKy|8` z-PTPGmJCJvqQa|>a6vpy`Gjedih!r}MIn1^65)26qg&F5SbfT%X(0;xi1vs2C`td4<;r=*o z?x7Iv9Uu2wh+J#AJ6~fh&M!shM7^RKZr$11Tpt1<`BPXx7zFD(Ewbl(vkixzSE54K zF(h&LRe9es)D{dg7E8*hBXBV(TM92idC)q)^(F1O#%CZbG;Vtg*_0SI-2NICFAohI z`pwEDYW?AE4}%})Sy5^28}|GXgJwk*2w`dP7Bd2hkXpkZYY!EhPb)eYPK2~oV^wv7 zpMpY4^$Ynyi8m0sx)74Kym$x=kl zS#dwnroPh;lao?Y#m48qx!AfW%Zej-v&dQo$o0L7FOw!;b4Ub5M&<2Yt8;#=`K1Y) z9)VLMj?6w@tz)VE-O21mm^`Qh3P!AB)>*(H9zSSW-z6aU`KV`h7N2Rj3q%?mPJ8h- z0Gz4(P6RM!Qq$7j3O2k9mM9K1QVkDDA~qeaWfKqM~5OW7>5JA8+_Z%X_6C##V$8XJFi%z29Yy z|4!B-F7u0ukYL!ffB*OZ^KAL0fLMdm?zfb6fO=wqISexFT2KH7R}9p}$*hJk_CEW% z%}}5|;n~53exlub+kftHzxoSfd3G)s?0jDTI*4+RmL=W*=Dy+A_nl;`l4Q3S=H})n zm7jm2f`GE#1iYgMrx|`m1YZd&6o>u)(R7w!QMJ(;9!il$x*b62ZX{Gv38kbPi9tG~ zHz3^@44qO#OLr;FkVB_KBQ0HLf9G81ANvQ)HJdk9JkPzp<3e=`^EvFg#N#B1bg4B< z5m+UsIej$YD^n%B#?h&NUtw1xh52lx`?Qj;s^j<@~RK%nd*N^G8!) zA@AhhDPW?clF3)s#0yWIRYydBQijR9nV;_5WFuN1&*pbMp#SMx;GJs9>7DM84r6#s zU688U3pb};zhCp-d8QfXL@TN?Elc6OF*(raw|t6Fo6co4a=2X~IpbHuF=l9bqf(x>X zP;4O(4wf|klLG(8T)JqB$LDML50?7^0A&ALd`-WhRkC>nRtMS{ug0cnO84`uElM*Y{Y#Fn&`hT2BzLd zm-+U1LFKjt(nsRuCQISx{%b53>vF`a6CmY@MvW3oTe*(25enmKIf%?RiF5-3`Kyhb z!PH?Zh|SmgnN4=(;X<@ME+t`;={#2FA6>ES{Ox4SX%*ij;vB*vKDNT+*f8h-*rh6| zv4`91`E#Qu6`RLy(&%d1!kW1w?RT-RdB)Q`(Yh|m2qKL9UHsUPM?$XK7x?%io5y(5 z;{mQl#eMX~Z|x)X#%R(`pY)UB{_@N279J%CO6E6zDAN-XPP(k{62c4V7G4p$eNEbL zz^v6JUQ#Ph>75zQM@@56D;BE)#Io06Yt-P9rF3*Nu9`heZ#+4reQZwptXBTjmUw6F z4~q$jd-vU@gX{H4rSu*wHsKy9DmuUJ=cj|EcZfNaGF5eT5cZl4MqV+t21zMA_~xUnbA+1@-=lP)6z!*9^lKd4wK?{Cima#qTB zlXjtUf7TbqYYn+6KcmHyGc$Sd1M@YD6|gQ8cq`hUc2MYE>(%xsvEo6_*^!zUvJf-K z82M---e?tT2hdX{BXw~9=WN8+>#qjZ`Av~1Z9kZEM3~-RP5(zADsMeAz=b-4_+vki zyegab&kW41JHbiAhaeU6kB#g#&D`AFfE}FDU;sMGX;F|%g8$lHczfnz^^oJQ+S8*> zbnnqvd;oc|HiEwVyqnmMBxTi{8ne%rktl<Qfpei zU;OokB?ZA=!YGXr&s$Q?Aeo9Du6hnnmz~RW4a$!|(CeD_s*uG@1$Az=8r5Vvw z6(y|6V(4K4zQ~L#Nrjm0n-ymNB2t)_%y`!eIs#$3XEBhzM@+XtpIt60KSR1mM4;8E z8Upv-c;RCNbUR&x4OqsZdfR`~7FNVr3G|h*;FJ1IN_fCDb_=|7*Cq3&R9qLNN5KE& z`bm)@PQ8pKi%%k!ktqjdw9bip+qWpR_}bU#Ugm?P0`dP9>A+}{(&#)gGSd69{A<4zj%j9+4+D<{2oCB5MS`==(*3O( z>qsh1uv`hE$HKuHVGh`o4Bv01BK!K4nvB>3{VYF=S zCp}P4`r{JE0d1CKbW$c^+*Tv-?PRWv{BCOA^zqTR)%0&Y9ST0$XmKr8J+|!kYGtjAYrF(51?ohc z$-f@47x#(YmeNW{`pB25Q=eXoW6xm*z3-N1CczEqh&ixO#ZEq!zSu|^zNdPnlJg$v zJY%ZQlmaZLtv?fU3Ta<+y(sqVh`=-DH+wMA#8*9oM@h3JES(pv6Tt zi>HeBeKW&BKLLDNrm0F&cO5i*8&+CuH@0k~B!RG~GLNj2+XLXfbm4iTvUWBc6=jzS zI^ItvGfOads`N_B-MUB?=^Ps{KyWJrM417w|8h4Q1+Tv!zj;ZSc)mc*Ifj`(0q3B( zq$`|mQdPB_w?Az7%gNMFz8Qk?;0i}wiqH9vxbvUn7Y9+0Rw_uVKZZ}z!xhXIuKFvH zdk@;KexEGohzkf{fEXV#kX&VZ!mOA#CL|g-qO%R&otp;h;;Kz8CEwgsWVL=J-T_Jy z2B`hFiI2X&Rgl#}CojR}tSFBgr_K=PLgC*^*wg09zoCbUu}aiKede2|Mowi+c>tYn zZx}vlJLu@Z3;J|w@A9%xRjl`#tnf49SnYTBi1x9&9CdtkwK`f&`4Q7TKZK`DZ*gh< zow>KA-K`FGbXaqEvFS9|k6#LLA^6Z%`p5c%M<`?k4t$gcg9_j!_+kEpnLzwy;3F^U zGvhTv|NEV*tZPH3%mafSvBG{0d;bQ%ks9omki?zP*44ciKQIn|@>h40s58D4e#AFR znEWWBi=6qo4WnJ0aloZqDc|s13OvIL?7HgqqAIT{&+wWvNiabUhp}+rh=%t%m#Mxk zolUj=0*DE27Xfm&?&V zeH>=XjzJIiDXH;D|C#)xZ#de3P&pEg&Pv~(OE+V;T~h>Uu_2wXW;DgbB-j4<{TY4t z>m>z!u91ljwW0#+4?RqHR-MUOA?4Z&T7P;?WgSnBKfM6751b-8afLe8pL#o`vMz`~ zD}{NF`wgAe*wnVP*2?Hg({C8)w04U(pfraka~}*cu=R?p5A`3F;05UHe)2de+Sn`8 zDNANn-!zE5_{h?X>Y;<%7!n%7=}jb;N0b}0FlTF0iDMRO#|IdgxVYH3W-mM9>$>#sTxZ}nvJro;KVerZ z?Uoa-d+knrc#WUn##Va!Bl}(LQEMNDO#M2Tj{>G2LlRs;Z`Y3ryX1n%pr9aE>eJk# zW<4YruVDq8f5w<{da$rkL*@*_oT-&t@x3>g_XxWRa=QHrd2(1sj0rcQ$yPYBacF38 z&$_>$3R?ZT>Ex^Pq$9m>>Sw99;2z)aFRIVLM##oGlu*vuL)o$w@aS8>4`OvS(xKqU z0nF#qK4gTk9Uf}7PBh)1ESHC-?0 zANXM>2ZtwigyTPPqB$Y4juLe{-C$-FuRVwDru+Dd*tm&U)iC}LQ_XMk^J69SozLp% zBVu+v#=w1%!-@mB>}gy%Jv5Y&shsew)ER2PCp6 zQIf9w{;5Yf==AaO@E()5rQx{wvu|M5Ekyj^zpjdAYkcPk!$6Pk-`xKC;$3Xs-_iv_ zcBRh2NazGucWs2Hv+3ae2P@U))G-e!hSeerDu}ixT;PaekEsFak`E^c^uN$`ntaYF z!F96r1&xp-$9?wcBoz+%L>vgPt`-&bZB#18-47KduY(qK4VFJeuuiAde~aeVWB*BQ z&5c#4C9bjh45d{nNds#HS|dJ6!esg~Z|a%fCAO#M5|JAx|e-_9|WE?xb?O{s!MvYd>^$=mQBJx_pyLw|Q_N`nv# z6>9biMs*tAFlj2Bi9n_yR7DSNXr;F9Lerb9G(~0S8cZ5vVcQG!5G=R6luf%RR4&r?$gPQ}l#J z;jXbS_kUlv#ibe#$m+(e^ehP!vdL{Es`T{@bh^DwF})t0$iH8@)G*uC!F>PvE2Vus zrqi`@;K42034*DbNGw7DLc0C?2mUmd8;Uj{pkm~+dbr1ZP%LwL&BcS-Nj8Gn;`dAx zwb@dVL=pvC;V}8Wc1i3XNoS=vor%4JYDD2{Q(dcN;SxCfzZw9NXTx*BF?(^j)VQ$~7r0BuyHn2EUb*#_49H@{6_Wh}h1ujVo(N zw7B0)2Zu}rbBFtHWU_HnB>2dx-|9~Twa(n#J#@xsm|d2^wAj_`F;>kZvON;p7uyU8 zLGfc9-Jm%Dure;`G2akBH^0@{^F?j5?;_WwH_8jo#EgOM1M~Dxl!+o~W~Nsf@_`al zDgUn$P?v!SJ=Y7mNs2Mazok%}ani>s+L70Dm!KLiEGx> z7r0&_FVZE@x8mY3`ls$}ofXM*P(Qp@(Wv*Da?nBo7zm|vyU3Vld?_WNf45)UTi%l) zYveg~a9Uva_Rk+KMjn87ZT#X0F!}6%{dH3(EyL??mN!x5+GO8IqB3^*ZtgpFTR5ID z29(r^-t||FW^~OXaucwMGZ3z0v9v=>=AJaz)(@{la`;?P>5>f-W>j)HHjz5+K2c zOhbC4sq&a#Or5VNabL7y$O#2BxG2neNd8-4QSF-tB2U@jR z?)r}gmOq)khn-8Hbss!eL7)G#`9^B?Bv8VGT7CNap<(?KYHuStn*8X})hS(?D;I+k9K!rfmM60#~%)_}Q(6F#k$z$99i5YtT5@YgDt7CSjrV{P=hSpCQ5 z0;cyCw2tq5z$uWG>o@`d7%NC7Ub&y!7NrKJQN?wSCuTg=WY6|Yfu-6s1+i`OV3tJX zAL-#baK10se5%qZKF-@4Z--TAd!FV_k2w%^i)+ZRgyiD86)30kj&Q)UDuJYH)EBr0 zp;m!;HF?kvW#)S5N`j5Y32V312QONxXJujGBjpJ?hUU%%g0d}7|l7G=hQ!PSe z`rfFai5Hb5nYDe;r0r_d{+@aQlIou=r)Nu~Do+sPw}NJsit%QQN_wzXz^#=Q+^`FlMQe48|dZ?3mx22YdSc6LatC6FwMxOjws3bch=HCQIgF)8~- z|3$4-@Z;n887w!yJFmjM-(?3d-+sULItTcC@Hk6@OL_VHq&^a5QzFlAr*jWBmJd<@y&!sn(LC8^OTPNAg;M8Rurn&-}!SQsfYWLY$-u9$MY& z+xT+F?2q+^aUY?Frb-?dMYE-WZ?mTM3D4=IZsA#p&mGFIyh-h&2zK1H@n)p1*ylQj zYI-XVvI5%BbkgoeHmE^|$x||gbVTvZP7enIF$@65!T?djY3`CDLTcSP&99ut?>1Ck?3ukrC+J?wZjJ{2wv6HyypDhXQ|^lLfHxf{4u{ z1nc33z@`Kn7!BCfoBRP9$~=H4F5%fw zQv4))D%bFXkoE~>B=n22ZLAlpbl~zC%g|aAP4w@9E|-6|xq}BKhP@t0qyo|5rS4+^ zd@f%@ewpv#?GS8P+`w03p$@)!jioq3G<1z!fQ8B2@8dL`DMuQ_JHMstNf-fVf z5s`e=c`>TtX1$Pe$7PA8Ba9;ZLw;-r)u98EqecgZ7e4_8E)_q-DL1FZJG+NxJ;5b? zs&cr=v6{;?uD0c$&fAKnM}+g*<8a~Ap^`K$V?B%Hqb_KtBz8!Fq^8(5XIBYrq~@tE z5J1&aRYIAh7Rwez@0@-J8ySRtn6!PbVKLA+xt^~Rnq&)XC+J79ZzWJ6^)$tFU_hTX z!?E{d6Nm!xwq>5qB)|LIa}D|x zze#|jRbCf{2>Ued7Nfrv6s$}(Hj)FHu8eMdRg!fa^?ogZ|FC-B@ADZwX3Wi{^(=h<~hno`* zu_2hGK^Y9;VpKne6r78Y>X$NK|6!Idat~UtIBqqpGt;>%3&hswac{oWZ*`Jc{8w3F4#gj0r>K=SoS!f{K*yGVuMPv5O;$fe7!0}1=8x2!@ zfj}(czPEaZpCMJ)B(HrUMDSl=2Re1Q`CU{I{FPdvQWMu_3Vbw@!sH0<)gqx_39BDT zEx}FKE_}lp*)yZ5x#y0LP4_+N;-p-+vLR2pCB z!SaOPy4J##pJVU>MG7lLw65Crz{D`rCdSRXu%tL^Vz?eQ6#hs?r z4fe}fj+eck)-kzY$dRGi3Ip~}DflXdJ>>N%6=Ce*Wfe`8h73x{$OD+V(xO*IXf;z^ z!0(VCYrYq7^BfG!0+K!)nXu6Cmm@*;$l5Fox-QjuF4e(@FV9qFu1tC0H_tI>0gM@A zLx@mZ2NwyFZv^A)GbAEk1?^#R-*P(Sl8*4sUboqn|8^iQ84r%?E=rZmV1i*k^tcg7>SG}n}DR9%!EMbue)bI=JANURDunWDu0N6)wSEAUM>69_Xj z*u`$gixO6UAuN8*UHJ ziXF*@p$gM59Ozui@Q{kc|)fF9D|8r3VVQ8x1-{dRA^8RX-$3IN|SwE zPGd2~f%hgI24q5r=4Laay=ZYsTTCF#yyMfR6lgavK?1KFe}R)81V&J2sO>i8VEmlTiSsR0!W~r1cczhk7Nb6{-7<>0BRH)noDOS$Z z=vf#Xgc3*6Z>DJNZX~Q5h!2``)Vq&#L%Ry>nE&`FQ$Ldg3xX4`gh|+$JKn9BX+x?H z&GjBgjf7)pblT};MVIR~o#wxf<6{f#E&Bw}=ax$1H=e$dT-&~q>dk#*RE%R{rr93r?IYz)$5m$NxC-0>zP#Lj=d+Jh5FV$3K!&ht$(M=E|UlX zd>LhebH-xM()E7Sv~5K5s;8$aJhRbloo-%oh6Y@8xb{8L4+l9ql-zwdtTJk{VOva?vbCFM9k+Ik?RDJ3TmZ#a|9ED1AFW$_oD<8XxYroAU8&l1wKgCnqKQW{L!3O#iyOWrTl>XU^zf=dE2e-)lnK}-74Ww!s zHKS1+a)|{J__TE|LjL*T#5H42$EaOXXGOhisQ(CK&wt0y&5}b!_xZsMPSo$i%kil> z&7;d=8zQrFp@%LpsZ`PI`Bp>^p=4iL};N`m<^V)o0^*haAq!5vX>6w z*x0F3*%J}jkMezOFqzok?_Xia0C_KbDAGSvK*AV7RmqR8t!!1!u6M4ATw==&9xA;8({|k4Np7Z&z9^rMMyNQarPhZ^Z`Jv>Xn~`6 zS%YK@BRTE0G$*6*gPV`CM5ps!x3wh+Tn!D^y5Ry6TDa0SW>%D1)e6F_0E^c&o#^WB zr@c$O+;6_rcVoe{L)%Nd082S1VXfv%$8%ezmb!+P?Yi ze94vc$NrP_=g4i$yJg~50^k(Iklar`GMhY8(}cwZuQltA5+#VW=Fea7h1KbO#VGx6 zwe9NGbPAdp>?*U07!m;hBh5!?^sd_Q+EF3k&!*TTbn!7e{ zLCVlGX2~YNFN_Bb9ORu1iTLnmtT(G?ZIV0Ff1g^k)Ho>3)R$rZYMXCWyjFtj=d6_H zfkcGi(jlJe@Q}qd*+{n2?Bf=6-Snz#z@b)5oLX+4wDI|g!Erv2izc863-Xh>|6*$8 z)@Ve7Q~tDqcbKa$v{&Q%2a0||6=_ZTC4FO)1=!9HR02)8iMI6D=B#p=^edrO-d_Kb zp4gHwzjvKqVSVt0mJ-DbdG`-H&oXGMgrg*g1i^$ObEb0gY5G{X*5GLKB7c6{F{nZJi5khdU{=d;|h)#QOX+ir=F`mdaPJt zZ`VESSc#NA7bmF&#g^+z*x7?{}IGZr?7qRBTwnJwz<@by+-_=wE7aMy*O% zRh96Bt}n(`GBAZ-u?@Z%C*G3^lDo|>>Ju}n$J70265M_JRj*ab*c|tq$FA$piwI}_ zcNT0; zgDla?V!s8X66L_(ppfRd$hzNzdYNoXo=X|Iy7TPW212pl^Vq)>J;(-ZAAp~7{8Vkr zQN`R#D*7%bS-*hyf!TO7pu3-@rWOf#Ne) zaT)&5CqG8i4@y%@uwtNpW%UHZ#GH&i^Q28B#rv*R6&_7a zj97HfQ7G37udeeolec?0E2*7(xt<3YH3U#tTMISZ!=IC2cXX`a20!UIo&MMz$ClYS zEN0x!kCl8fIjA;xnItd6O`N^(t2hFj0b-dbLz9^=^PK9g(D4kh4ouPvn*+hGj2O-L zB~U&^xJ32(d3|5@eHJ#NX|c$Q*GbG^QX!#)yW*dBPC${2KO;&R!FC{2Xk9`}$f=vQ z@v?wk&90>w{bnjWw_kfvJf?aO>LzLVy{_7)MUt1}=P!q!5?1jhS#fXU3}5$#wzSWg z9DiCqPaN6YEPl2t-fxc1iU!D6(kaHb#-N{?{1z83zM#S3KpR)zWwOedPy+eU+N%ln zykD4AL-iSmzg4ToS{neDS?P2cI1ir%HjpUO3CNp0;qyx;_;>+P|DA^$EP>Y4FrRWU zm0;DQsvD9PGcMe^!9&Ztd53Ta4ngai&Pg|8R+xdw)0buNbTQ6eL%<`>S)E87m)G;3 z?_rp3m;RA~xJpIFy~!|9x74vT^(9#$DyRQMi?>3OF~7@An3jj7ec@WsLFrPL;iP7n zB{3oiU5Y&TO|nJRj*Ial?T^>4{S+FdThSpF(DJbNp$$w1u+vS=){(fm$+1}x=M90F z1fW8>Jo&khh=Ap>0Ju=Q{O99!s7=D` zva3ZR$NHsIwN~VunyHzt(;f~y7&bJmX1w=aeo4=i-ow5w1Xe}J+J-CF;4-(#BTd?{h(TZ zyT8&>VY__BadIPXSIQp}Lm`KEhV?7I4hg~(tHnip=WJ%F58nS1M$e!BEwNQfh#>Q+s1zNS zz8?FkH76=-gaG0P(C-Fw|BDazo=NZx9rtT``>=NS<@Aj z`8O54xhSSvBwI5_!N^|-krtpY*2VDHN82GxW+OAB+yH1<|prZ88*|ogoljI(~S@{K;;c0-KAic3MD>$YEMn2r<6Ck?zF-D zsOSW-B-M^ORx9c8o;*z;!k$xjJxue;Z0ge(pHa*OV~a$mf*bNM2h-)7P`RXpHtG|@ zW-@c>!p$Qs!g8fWiN8KZc#Zt!+|zuu|Hvo~^U^Kjgm~IN8B-~4;Fd1lL%R7_eY{{)*=++Ud1fq(~xN=o`uhVMax#1aiSTR_S$Y@Z4xcPwphDdTb1Se!=LJ z7=Oj-*~U%wOz*SHiJW9hp^L3+llqli={g${xbaME?>WKhtR>pkAqxFn*Cd;eIAA1A zwEGm3)q=98!1ZFk^&zGE@|im(RmDLUuxILntuWu6M=0QTMqDw)cz;+77RN}Gl8++>ewQdxU(PT z+x_REV(qRB0aa*mYe9vYLb8UP-28@HmG~#R&PRi6S4XqNCZA0YWFo8jAEyG>Tl*M) zeLSgoz?B!j+)e;oe&74><23J}iJ-)1!fRuc-O>9uZB5}<>Wm@t!6x-|agonQ#Zprh zw%t`hb`5StXTDC2xS5at+^#eI?KzPXqBw`WWjk!L*R67xL?w;O_^Mda^R>H67%B}4 z@{6YM(VasOXA;wAIP<7FeP2Mubx9ihV`=A$ucG%9%&7A>VSl+TTr1CR+OzHs?GGc{ z8}UaNX?lSB6Q(X=%pYlwF9z>jgutU<+ApIAX^|4n9js{NzG^^_Nz293Szu>2awi7~ z#hhEPk2MD4{(8(-7gIdt}IVJDrtTiyq;;0BMknW3+A#Fu0vfVjF)i8gLpq)K92 zbu99~X-Oey@rxlFnUi4d@_wtIHx@~XadPmMd>^QIiE85e_`l>k0Za zc2Esp8b=d$@{RSXjRb3$Fk-KNy<~mocfQm()WSI892KOC50qz7R*W~Es%L=~T zd?cAf5@-aXqsb{(l4QeB=s}&PNftMp>c9S(vFlS zwiLD3HA2JR{zI>3uvPlKCKE0H*z4=G7+kS<2@sqyF=Xk&JI4r)-E6Jewk*uNC{^a^ z1|A%O$2}x)XrU` zVCxVU{@->e8-C=FCVhUh*5XUgl$?3K*wOblxW_gpL0(uxvc8H7KiiYE2;axxNcSGh z)~^l@UWz*9<#Pnd-p|mDPN0l*8EBh-e!!wur%O6@H%CQ%5O@8{dd48`>LbIm-4TWF z!w+5=S@+YP4R{%42D5b@SZ(Kd*Oh?J2R@UNs1ldM!xO!!iO_XvEjxZ}z!XZ?aJK5z41K}bi5=`CyloU&!(pC~d{u(CnW;2i{cAf;q`!s}`@0^3P3 zS0*nUA6g$n73aD35fn!Chw8g2iYiEnhXkQZ!`AyzGyp1r!aI}JQ@wl74rqHHhfg22 zHuWccMSR4FlX%}x-`#u;r5&sjXUapb6ZLnrQi*q+T&+wF$J#yp{i#s6xJ&!su9l^q zq>wiB$+X9+xO&Rh;nOTXqLCADcn9{AKy(Axs2DjhpH~p&tKuDkqkrv$Y`GVwx+@EY zUxc|tHMUGk#&L=uBq(f*0U3|tI3qQdK(`H-2mz{sfm)k|(@|T4twWqt1rB2qb!_qd zd1_J&SKKEA8k%lTS67?*NUn5aFA{b->BrSF@LU(i^2s%09WrP=ldBVHdnMNdKeoB4 zE6v4AqWl`;if{7<3z5*yh3i1HUdf3>jIYYFji3%3lqA- zY_PmPsMj+||9QQ_|KBo0`#xCpvEd_cg;MmEnABb3l+>fIBJ>n(YjO@A_EFIP^|B@b zuJ#AtJ})H*G9yC87_45~PM>Z>a_K|Q%SOBL-mG>j%*#m`cr#tio?y|_CHH`5wy?;r zO7joT!F6BpZUFEU_Hg;;{C+mPd>0JeBA)L9>W_?gX#ydY{^yXpwG6n$bamlqrn=cd zq5v+0?tRT_W_TRCedNe-F4sZ6Q(mPFaf#*F*S5bC z&{}bG8GnBfUu84GNI*!KVT|4IG|=`F1owh>MdHB%=E@p@xCF)wCazJkiB)EA%7*`1 zSFwa6O}%~zXPp}b5fNL@_;o->U9D5>yi8&KOoq9^OO8-8306qDvLTOv~V z6iT&OBWOoZnhVZd%3r?nG`1jw+wSZn_-I zZ)3;!f4yZ3DMUKaa%3aj;;u`MFLl(L=Jt00^Ic(hZn$FC=w*5Nrto->q{ifB;SwAV zLlde5TR`mniuK*UrRu3ong+gRp^wB>C*(nSq_aWM<+Ki4@Rigz!_x8Z4d;(3$hGDz zt6IF)Q#KVx27S(n)$;NM!oU`^xQ_+QQ7WY}V**JoKm~Ofn^TWb+gNRqDX_uUTUrd+ zd{|gj+Wg32TYk$wlPUG(Cto~|csN@+L;jNzmU^u9=;Bx) za*7lom zVHw%eg-ZMCG0=U{AP1s&A1GN1hzlB0&LgHaPkJNUz|`TNr^xE0UfrMOICs~V4-Wr& zkv(>ha|_!dv52*QmtIC>gs|Ix|F3R!ME2^zo{Ra@sVyi<1p8AQmelj55b5~8zgXh; zdY&4JuIzBtb&+7QJq$k@KDfoMYdzF9p>i;Y7AZ-xyhe|#Y(4~-6b$W!9DOHB#wL>u z4n=sb1UDvMkJS9K5V)Dmy49a0BlxCC>HpV~shdsaD6$%68~?Z7Oo5Qvh3e=5hR_Cd z3YT?UG=zV}7sGElB<<5GrRt1C2Vd%;F;iE37{V)T9X{y-NFXbaLL(0Q?2kL49p4`}11rKk32_isbnis)OLAd;l!@jGlxWq+^LvsW=QL|WdL{E8EHf7kGUl#UmyQ|-x zw0!*ZbNMp6!%Iir?Pp)-hY)F2QR#>@breT-+;dK&r?Ga+=Yt&m4V6|p7X^CUxz#23 zYHGu_c6KkpPKK775E#=GJY!pJVhn*CH_{ut7qjdi&jJ=;MOSpyVl zg({vE^#ROOkx;D}msgs?wehfzZYLb7glUSL&fY5?yA1I5%r?Ll8xzI4GI?E0iBov` zB=((SR!5l@sCXITn^Jf$5!YSt<7>LPF<3*n?I<48@|m!Zh=1ekSWflC3>cs=y19OP zw#ra3AF(}aArU(|65vmc5sbILGphGs`Qpd~8-VP4Z{aT8Z}9vV-#@drbZ73B9A0m) z_I~(j;htXRxOtvmFfnxZ>H`kUCr*^SZtG9lr-SZ!lWN8!yOos_GHS+=PERR$<_AkI z6NPWXo>^XuGc*s5-1O~Zv>Z%DSE9GS?3{0)zORm8VEV1_ z7;=$xUVozR<@2PkXwcRBzwPwg@N2`K&Muf^C`nmEzkaF&Z_xs4{Eu0?VOpXGw)20x zP zdppfYaO>aylW&^$N?=r5@h{VIBUSvtLi5VDq=dw0_om`M&GO79$jia++bOEX z=Ooh7(l4EyDw2dO^(hsVMutAaLHNd4=cj?u(RVcc5)j@thSUtU9(Va<|w8!+cal97#L$?w2=G)qqDuloQ zitVqTr-fhybGWUpTtPQ5mv+`16f5kG?k1?V!Dw>dsEFbSiH??}9(~2m#oFRrJNGndGvgYf~$wvpJF&)c*7MwBL znqbS3TG{%$qAX$tN$tDx^C;qWcG1PUr=MpeYW~$9r=BJa+rRNuOo46i$=ua7RUFx5 z-7`X-F!D$M=kx|MCUyA&59W^sx1AB+ZGXuNI-0}k&K8=I?7)(1Mj=US!gxZ=pNWHZ zy!&gwl!+spwbznT^9a}ar-DPDi?__9pn@=VYe7%_Q|VIS{5Lg)DXLXnDbBN@D$Yk? zyf@2Ce-$AsWCx9yrnjp?)LABaFqFYugs-PDgWALkH#u@JKodPk*T~wPi)mJx@!y5T z|A<$Sy}%_Xv0B*dd0us0k~T6+zj(DIty~9ucNMsHB!7FiE8^_78NSpN*?UK`?uFCO zkhhRot#N!Q1zPGbAX(Q7n-ECW)nuUwbzx30{Wob;8_x16sW|3u4&nlumrtaU3j!m2 zB1CcJzc4bpJQ?4~&Cz;-OAqP*>sLDXXxXhX#GE?0hP;Oya)zVn3hEHg+h|{v$R&fV z>`rL=7c2#dKBLTcQ8z{AfryR>+KmD{gtivjhPFrX6>qOYo-#B19CQ(Fi?>PsdLK?d zjX(^B#=GJEB+?km_tEGj?yY?f6sFno=HpW}KDkaj`#RKJ5;pNh4({6cbXhkJUngV! zq($?>)lF!8Ti9TJjwHU9w2GOUi3yMs6^b_EjXtUpSQDffLLxcS<{-F`X_rJk@^{?i zB+93dAVfh@f8{cN7gMY6?j0Vv~OW@4z~ zFe-+`>yOAmHSyf)Lh^MmlKg)^l6P4hGG9G!@*8S85noF~ik*6QGdp%2U%I{uHNs;? zc^8$}!=!bfQoOZqMZiHz!OpY~QBy!1*$A{<(n^vxHfh&!UNm>iwlM%S4gI!Aq-e>V z);K4QLxW@%5Xufa8CL=J`QV$EA0=kNE(%xpHJb~#!e-(g%Hr~af_Ul0GLbA12exd^asLVzuW@6sT)58$Kw;!@+`v91`DGRc}a6PAH->Gk_9HyTu~`0b_A4|8jew zeMa;1vJz?62hXnHIUf`_)U;|m$W=^5<2p_2TUSopwg-Di9T<4<&D2i$o;$@XADd{j zQ8y0jmNB0B3|yV=nvOn1Bz5HuH4>_NsYApm7q}rq4tS-wG0K6;oG*meS-#+sIQ&ac zei-OXdVyKavjR{M%t&CcIdu$U7Ca?sDC#RgpvMP>9re6iUL2cGUBMl@bco2;-xr(v zgEwR;g7ex~$2{qN3R+<#V-crSL_6_MYT&g_tZ{}-7V~3mHQnBziQ;X|TCFQ7^WfK# zartx0=~wO|s1I@7s$vKK0*vrz7#UP8JQFE3bexf%P80f)(I|mOj^_>9!n!;dp0GPy zuoXTd1%@(uhso3{Uo*(UU{uEUS~?y?kF;WOCCev|vNPE-7&(|KZy+i$?Bo2TWDoFy z;xQVi{~23hlUzJCFA03DAm1xZ@h|r@x2L(3NrBJKf7_?4*jJ0lZpIH$P_8yjRhvnE zw4vSl;aXF@Ar&)bA~)gW3sPd>cDl^)*gsbi1JEw~?r5BMnxtIXl&OK%FMk^PDuU_f6Z@pT5Y~r8{aYU#pM!malMj z%m*K7yppE-szEO;p(FI=Q(IE_r;J}XDruy#$uo`jllmHSGGtF+?#$s8H-{;Bj=L$; z?VG@0b=I!n&vql@qd0T49<{~B!%0)>3Gu^!HU7P4PC-~f&Jpi%3PqXu-PUC zpHn9iJJ7!C6G(;2AtIfGdXT5!4$haNpJ)QBiTo7SygCoy_leB2O@2Qol?m(tPJ-_I zy2f4Tp;K{-I`|=^6S*{wz-I349pyWwwY3!TSZ)27{%MRpo4n#n114y+VBv1sJ>+!!5NA6sI#*5wF;Myd| z(?S)}0|?Dw=s@}u#Mrd!INj})M|$Fji!bVw^9konlT^31aVq+1=a_Qv5+PZr9n`|V zheM>11UywrEvazNR>;#J#|w@66hrWN3VI0(dF&BZbP7k#fabU(`pJuY;FU!*{mMx- zLHs6vMpac)J&wch>&egkU|~Lu2P{-{^ChpIYI4rDeD+uBF?sCaV#M_J@AFf`%fFjV zs(Vfy7d`l+lezz|!`U<&SPWEWt~TN@d- zTkJ~0@haDmbKAcw!9hJ+m1@5qI?t)ecaNZ#uVwhKm5uP>8KV(dW)J^W+!J$fy=C$f zo3J?SaeRFlVWfO6`IMCCgAo@28Of-sF%2twdGC2VZ{a4<)D40quN5dWHgg!*<0dfg z$Vw?%Sb$V2Jy^v84nr}XFTplLXH> zCZk`VdjYtAle1-Uuv+yyOpiNSK}+$IC(D$;10j?Dq3JBcs(PQcO^XOpA|WXV2>bx) z4oOL+yFF<=Do3)nwtZxWnIq}FJ%4iPO{71x|HMsXpu%3xtou$;NxO;{9JaZj9s*~ zLnl01Uad{RH!>H6^>6z}OwM8y0<;$5&uZLjm~$afuNfucYnT2=+T@gl$!rS*8Hi3Q zliGk#HGy=N0`T9vF5Rw0#=?Zz@;p9UjhX&7ke@mOBL~u_L?90c<7`yt>HA zKRC>iWpjJyo_rMgwJN}t(}beb7|EC)$s@wBMDIxUB9!!pn5uXij>nUL*3Y%0oJ)_; zjm)_}$yeF)kP^RGM7R*}mn=Ze?xtN=!^^pQ*P7v^ud69y%jVI$4^F=cW``dZH## zi@kM!&3}8v*AD&eBO0;kc8RR-dpe>s_0Zg0Kf#QhraHLSWCDKqU1Y~ww= zH@`;&vVtWfu!H3DcOY@mPI?2Le{yl95_FVbL3YzKq}vGfj{lnqtBF?Ue6Fy0l2b`` zb++q+Fd`-<&Obp>T#1xYf{{${xXe1#{+&MvJlE}S^a5y}m3w;N-I>$Br?a(AWurgv z|8^;`CtVGFCWf_0dr*6_II9JRQ4o69qe#-B`T09?TMGaIoqLUbil9y5B9aFyGT(uR zJm^695OP3Qk!%}&_KO>J?rYG&CH9R1ucpnMymXu+qXk)I!`~^Fka}ej-j4z!bZf<9 zW8e!X6`2qLUIU*1gvZ#}SX7ET#RtgrTY33I2Zs{*JT*7018l3jyrY}d zSG3qX%p5FV*=rnfn&ag@p+HdL3V5{ z<2?~00k%?SH{oLE%fFo&ibQ1bhwoH?4J^Ho_~fN>jCy_GCPtb@&d2D_-;v)=LW^F( zV#x>S*6W&!UcF3?ez|NgRyIKP^YTaip^Y8{d5CJpSf&2e8T4G6a?>^5#!Yr-9Kg$$ zW#_%pw5E!X7mf{;{=p!i?KwAe%RUk7a?7%4c@GX>IEwWe;#Ro6x^kZPK$rr$@;$t9 zqr@-#wW;Gm*M^{!MHnuBAb9k2*}xW732uPjQ`w~Olt)Q!8HB;7mNA?eN}uM0q3GrB z;S(rkc5Ln~HH6ALi7!x0_elh*IlPQ0TGwvVuPQV}kwt`LTKBY_IOt{tIJBF0pWoM` z10mY?;NX@!WLf1#>v{7*_b~q=E($PGMA>gTQ9+Rq%IpFDh_Q_aEzgXv##0Am4gX_) z6!18iTS4@cvNxe<)pd>s(sIx{63|{X$78FDjcbePNK2o!kg=B_Ce%fI6KvGcM@y@tdd zW8@)sO_s@G* z9QjVU=ZAw>92h1PPic)VWK3BcO=RX>;((uc{hGEdzgcK+;q7kZX z<+vbVUb$8FHB#r@5-lsyOV?>ge&&X)Kg#n71*7v6p$$zfZ~|khb3@Yp=LhtfG4*`} zDwV-FO39hbpJYQDV%5yQmJ-ih$!4MzrMKR&hQkDMzKlb(b;y)x=R`q2L6WUsNMY)@ z)XRETQFp`I8(ks%y1rC>$9l{I{|#Z*EW>#(os{tZ^lO%)jc=ZdAq!Q@RR(m}w8rj8 z?8eNf|NoBh8$o2K4Mv{CO2g`wXy?omUm^1^zCzJaG?PxnH7&V>|LLnmR_Qn=J1p+D zQ+|LT&H$s@RGAoA3P$}BC1qt(S6A1Cb8~ZZGDf^oSXyA9twQkPlX`(zEd_bILkIjCk@!(oCW~253T^>E%6r~q zi$gMcGSFd3xvV<-5Ctb3O-M+1Y;F#Cd28|T^3y$yrlVG+rH(drw^*%e&lpC-<`nLP z$eZ&qi@yr8mr46P`%BOAHuyN5nLL~W-toQfW%tFY)w(*@?wI67yA66h+vE$3kEpaM z|H(DwVuB|qSb||5ja#i>Dz@8<1gk>ATWrQhmJ79(DC%NM$nMi>$3Su=#8p#)gqSXRhP{viEN$4IJM=wRHYPWJp1dU*mY(Xw4nHln#SkZ=c`$z+sF6Hkb&lk~D#6#-gICx!{K>hiQD24xv>~g`u1C?*@ zjKqPqK@`viRqI&++b&C5NVs>xKgjlU&Y_t>xL z(ZHwti~ihVH-GWzDgNV~f=F8q!_!%ud#SvZVukmap_bzTR@Bd~|86_QZ_xL_yQ_g( zUgotXeX3)M27W{AEG#SEw@c8&#MVNM#1iS9))TC5I)c|dn32QfY7!;*Q>RU#A(9cj zD_w+PRs=;Xr0t91@M_x#n&VVh5^<1qhuh_(ppXiWjKSu5oRnuLRM)5x^kJ~^ji6_P zNV;jr+c`IvqH<6e`S2EwQS^{&@gq+IxAW9_N8mf}EEJksaox1}zjJ*`kkXh`E|UJa z<_73XXR(i~sy=t5XQZe927cQXMc?fYXTqOzRaU-WcjAklPD^|H8F4OB7aQuC4

    =V}9nVca;@mx| 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%0Awace5C* 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 literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/install-blenderbim-2.png b/src/blenderbim/docs/users/install-blenderbim-2.png new file mode 100644 index 0000000000000000000000000000000000000000..76f04b5eaed4ed269bafde24c972e125e63bc8b0 GIT binary patch literal 84667 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 CFWuJw literal 0 HcmV?d00001 diff --git a/src/blenderbim/docs/users/install-blenderbim-3.png b/src/blenderbim/docs/users/install-blenderbim-3.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6dda9dbf858d599d1f558261d23a3a4bc8bc58 GIT binary patch literal 60333 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